[all-commits] [llvm/llvm-project] 39e60c: try fix format

vporpo via All-commits all-commits at lists.llvm.org
Fri Feb 14 12:27:40 PST 2025


  Branch: refs/heads/users/joaosaffran/123147
  Home:   https://github.com/llvm/llvm-project
  Commit: 39e60c06ce6a9b1a533c696a4e5db75ba83e5d47
      https://github.com/llvm/llvm-project/commit/39e60c06ce6a9b1a533c696a4e5db75ba83e5d47
  Author: joaosaffran <joao.saffran at microsoft.com>
  Date:   2025-02-12 (Wed, 12 Feb 2025)

  Changed paths:
    M llvm/lib/Target/DirectX/DXILRootSignature.cpp
    M llvm/lib/Target/DirectX/DXILRootSignature.h
    A llvm/test/CodeGen/DirectX/ContainerData/RootSignature-Flags-Error.ll

  Log Message:
  -----------
  try fix format


  Commit: 3b135c6d5937e806d8f28ada6068d0d8e5f52647
      https://github.com/llvm/llvm-project/commit/3b135c6d5937e806d8f28ada6068d0d8e5f52647
  Author: joaosaffran <joao.saffran at microsoft.com>
  Date:   2025-02-12 (Wed, 12 Feb 2025)

  Changed paths:
    R llvm/test/CodeGen/DirectX/ContainerData/RootSignature-MultipleEntryFunctions-Error.ll

  Log Message:
  -----------
  removing test


  Commit: ae3d03f347b86d934623952af42310a5365c2097
      https://github.com/llvm/llvm-project/commit/ae3d03f347b86d934623952af42310a5365c2097
  Author: joaosaffran <joao.saffran at microsoft.com>
  Date:   2025-02-12 (Wed, 12 Feb 2025)

  Changed paths:
    M llvm/lib/Target/DirectX/DXILRootSignature.cpp
    A llvm/test/CodeGen/DirectX/ContainerData/RootSignature-MultipleEntryFunctions-Error.ll

  Log Message:
  -----------
  adding llvm unreachable and testing test


  Commit: 3d19f8b22e114618ba3b37e8fd95748341b7e7ab
      https://github.com/llvm/llvm-project/commit/3d19f8b22e114618ba3b37e8fd95748341b7e7ab
  Author: joaosaffran <joao.saffran at microsoft.com>
  Date:   2025-02-12 (Wed, 12 Feb 2025)

  Changed paths:
    M llvm/lib/Target/DirectX/DXILRootSignature.cpp

  Log Message:
  -----------
  stopping compilation if root signature error were emitted


  Commit: 5a3be7ccf2346c06277367518cd041f4cb1925f4
      https://github.com/llvm/llvm-project/commit/5a3be7ccf2346c06277367518cd041f4cb1925f4
  Author: joaosaffran <joao.saffran at microsoft.com>
  Date:   2025-02-12 (Wed, 12 Feb 2025)

  Changed paths:
    M llvm/test/CodeGen/DirectX/ContainerData/RootSignature-Flags-Error.ll
    M llvm/test/CodeGen/DirectX/ContainerData/RootSignature-Flags-Validation-Error.ll
    M llvm/test/CodeGen/DirectX/ContainerData/RootSignature-MultipleEntryFunctions-Error.ll

  Log Message:
  -----------
  making sure Error tests fail


  Commit: f64c608cd6f14f5f3d0c624e7ed979dd66a9582e
      https://github.com/llvm/llvm-project/commit/f64c608cd6f14f5f3d0c624e7ed979dd66a9582e
  Author: joaosaffran <joao.saffran at microsoft.com>
  Date:   2025-02-12 (Wed, 12 Feb 2025)

  Changed paths:
    M llvm/lib/Target/DirectX/DXContainerGlobals.cpp
    M llvm/lib/Target/DirectX/DXILRootSignature.cpp
    M llvm/lib/Target/DirectX/DXILRootSignature.h
    M llvm/lib/Target/DirectX/DirectXPassRegistry.def
    M llvm/lib/Target/DirectX/DirectXTargetMachine.cpp
    M llvm/test/CodeGen/DirectX/ContainerData/RootSignature-Error.ll
    M llvm/test/CodeGen/DirectX/ContainerData/RootSignature-Flags-Error.ll
    M llvm/test/CodeGen/DirectX/ContainerData/RootSignature-Flags-Validation-Error.ll
    R llvm/test/CodeGen/DirectX/ContainerData/RootSignature-MultipleEntryFunctions-Error.ll
    M llvm/test/CodeGen/DirectX/ContainerData/RootSignature-MultipleEntryFunctions.ll
    M llvm/test/CodeGen/DirectX/ContainerData/RootSignature-RootElement-Error.ll

  Log Message:
  -----------
  refactoring root signature analysis to return a map instead


  Commit: a5a2093a6e386bb831a053e6d56fb7034a745eba
      https://github.com/llvm/llvm-project/commit/a5a2093a6e386bb831a053e6d56fb7034a745eba
  Author: joaosaffran <joao.saffran at microsoft.com>
  Date:   2025-02-12 (Wed, 12 Feb 2025)

  Changed paths:
    M llvm/lib/Object/DXContainer.cpp
    M llvm/lib/Target/DirectX/DXILRootSignature.cpp
    M llvm/lib/Target/DirectX/DXILRootSignature.h
    M llvm/test/CodeGen/DirectX/ContainerData/RootSignature-Flags-Error.ll
    M llvm/unittests/Object/DXContainerTest.cpp

  Log Message:
  -----------
  addressing pr comments


  Commit: 5b3fedc01fa9ee163859d4602b80d3f4a090490d
      https://github.com/llvm/llvm-project/commit/5b3fedc01fa9ee163859d4602b80d3f4a090490d
  Author: joaosaffran <joao.saffran at microsoft.com>
  Date:   2025-02-12 (Wed, 12 Feb 2025)

  Changed paths:
    M llvm/lib/Object/DXContainer.cpp
    M llvm/lib/Target/DirectX/DXContainerGlobals.cpp

  Log Message:
  -----------
  clean up


  Commit: 605f225446ddfff82606791b76dd6b11f36638c8
      https://github.com/llvm/llvm-project/commit/605f225446ddfff82606791b76dd6b11f36638c8
  Author: joaosaffran <joao.saffran at microsoft.com>
  Date:   2025-02-13 (Thu, 13 Feb 2025)

  Changed paths:
    M llvm/include/llvm/MC/DXContainerRootSignature.h
    M llvm/include/llvm/ObjectYAML/DXContainerYAML.h
    M llvm/lib/MC/DXContainerRootSignature.cpp
    M llvm/lib/ObjectYAML/DXContainerEmitter.cpp
    M llvm/lib/ObjectYAML/DXContainerYAML.cpp
    M llvm/lib/Target/DirectX/CMakeLists.txt
    M llvm/lib/Target/DirectX/DXContainerGlobals.cpp
    M llvm/lib/Target/DirectX/DXILRootSignature.cpp
    M llvm/lib/Target/DirectX/DXILRootSignature.h
    M llvm/test/CodeGen/DirectX/ContainerData/RootSignature-Error.ll
    M llvm/test/CodeGen/DirectX/ContainerData/RootSignature-Flags-Error.ll
    M llvm/test/CodeGen/DirectX/ContainerData/RootSignature-Flags-Validation-Error.ll
    M llvm/test/CodeGen/DirectX/ContainerData/RootSignature-MultipleEntryFunctions.ll
    M llvm/test/CodeGen/DirectX/ContainerData/RootSignature-RootElement-Error.ll
    M llvm/tools/obj2yaml/dxcontainer2yaml.cpp

  Log Message:
  -----------
  addressing pr comments


  Commit: e4bca2b9e3b4f3be4ffdf75ed25f8e1de7872b04
      https://github.com/llvm/llvm-project/commit/e4bca2b9e3b4f3be4ffdf75ed25f8e1de7872b04
  Author: joaosaffran <joao.saffran at microsoft.com>
  Date:   2025-02-13 (Thu, 13 Feb 2025)

  Changed paths:
    M llvm/lib/Target/DirectX/DXContainerGlobals.cpp
    M llvm/lib/Target/DirectX/DXILRootSignature.h

  Log Message:
  -----------
  implementing find interface for RootSignatureAnalysisWrapper


  Commit: 825673f5e48895c9dd1aec1c6d1671ac26283ef2
      https://github.com/llvm/llvm-project/commit/825673f5e48895c9dd1aec1c6d1671ac26283ef2
  Author: joaosaffran <joao.saffran at microsoft.com>
  Date:   2025-02-13 (Thu, 13 Feb 2025)

  Changed paths:
    M llvm/lib/Target/DirectX/DXContainerGlobals.cpp
    M llvm/lib/Target/DirectX/DXILRootSignature.cpp
    A llvm/test/CodeGen/DirectX/ContainerData/RootSignature-NullFunction-Error.ll

  Log Message:
  -----------
  adding test for null function


  Commit: 3c71c0d20672e235750336535e9c77c3781afa76
      https://github.com/llvm/llvm-project/commit/3c71c0d20672e235750336535e9c77c3781afa76
  Author: joaosaffran <joao.saffran at microsoft.com>
  Date:   2025-02-14 (Fri, 14 Feb 2025)

  Changed paths:
    M llvm/test/CodeGen/DirectX/ContainerData/RootSignature-MultipleEntryFunctions.ll

  Log Message:
  -----------
  update test


  Commit: 88aa486e0fa10c0818d12d32eda56edec550576b
      https://github.com/llvm/llvm-project/commit/88aa486e0fa10c0818d12d32eda56edec550576b
  Author: Luke Lau <luke at igalia.com>
  Date:   2025-02-14 (Fri, 14 Feb 2025)

  Changed paths:
    M llvm/lib/Target/RISCV/RISCVInstrInfoVSDPatterns.td
    M llvm/lib/Target/RISCV/RISCVInstrInfoVVLPatterns.td
    M llvm/test/CodeGen/RISCV/rvv/vfwadd-sdnode.ll
    M llvm/test/CodeGen/RISCV/rvv/vfwmacc-sdnode.ll
    M llvm/test/CodeGen/RISCV/rvv/vfwmul-sdnode.ll
    M llvm/test/CodeGen/RISCV/rvv/vfwsub-sdnode.ll

  Log Message:
  -----------
  [RISCV] Match widening fp instructions with same fpext used in multiple operands (#125803)

Because the fpext has a single use constraint on it we can't match cases
where it's used for both operands.

Introduce a new PatFrag that allows multiple uses on a single user and
use it for the binary patterns, and some ternary patterns.

(For some of the ternary patterns there is a fneg that counts as a
separate user, we still need to handle these)


  Commit: 6be2b3a99aa99be52f0fa21d14bbf454f8790cfb
      https://github.com/llvm/llvm-project/commit/6be2b3a99aa99be52f0fa21d14bbf454f8790cfb
  Author: Andreas Jonson <andjo403 at hotmail.com>
  Date:   2025-02-14 (Fri, 14 Feb 2025)

  Changed paths:
    M llvm/lib/Analysis/ValueTracking.cpp
    M llvm/test/Transforms/InstCombine/fpclass-from-dom-cond.ll
    M llvm/test/Transforms/InstCombine/known-bits.ll

  Log Message:
  -----------
  [ValueTracking] Handle not in dominating condition. (#126423)

General handling of not in dominating condition.

proof: https://alive2.llvm.org/ce/z/FjJN8q


  Commit: f2bb875e1a8d950cefbd30d383618a81709d8c8c
      https://github.com/llvm/llvm-project/commit/f2bb875e1a8d950cefbd30d383618a81709d8c8c
  Author: Fangrui Song <i at maskray.me>
  Date:   2025-02-14 (Fri, 14 Feb 2025)

  Changed paths:
    M lld/ELF/Config.h
    M lld/ELF/Driver.cpp
    M lld/ELF/Options.td
    M lld/docs/ld.lld.1
    M lld/test/ELF/package-metadata.s

  Log Message:
  -----------
  [ELF] --package-metadata: support %[0-9a-fA-F][0-9a-fA-F]

(This application-specific option is probably not appropriate as a
linker option (.o file offers more flexibility and decouples JSON
verification from linkers). However, the option has gained some traction
in Linux distributions, with support in GNU ld, gold, and mold.)

GNU ld has supported percent-encoded bytes and extensions like
`%[comma]` since November 2024.  mold supports just percent-encoded
bytes.  To prepare for potential adoption by Ubuntu, let's support
percent-encoded bytes.

Link: https://sourceware.org/bugzilla/show_bug.cgi?id=32003
Link: https://bugs.launchpad.net/ubuntu/+source/dpkg/+bug/2071468

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


  Commit: 5153f993fc19959458afa8df5bb619323c068b43
      https://github.com/llvm/llvm-project/commit/5153f993fc19959458afa8df5bb619323c068b43
  Author: Jinsong Ji <jinsong.ji at intel.com>
  Date:   2025-02-14 (Fri, 14 Feb 2025)

  Changed paths:
    M llvm/lib/CodeGen/MachineCopyPropagation.cpp
    A llvm/test/CodeGen/MIR/X86/pr126107.mir

  Log Message:
  -----------
  MachineCopyPropagation: Do not remove copies preserved by regmask (#125868)

llvm/llvm-project at 9e436c2daa44 tries to handle register masks and
sub-registers, it avoids clobbering RegUnit presreved by regmask. But it
then introduces invalid pointer issues.

We delete the copies without invalidate all the use in the CopyInfo, so
we dereferenced invalid pointers in next interation, causing asserts.

Fixes: #126107

---------

Co-authored-by: Matt Arsenault <arsenm2 at gmail.com>


  Commit: 1cf4b6a02903b212aa778c14819c7b26865e3d59
      https://github.com/llvm/llvm-project/commit/1cf4b6a02903b212aa778c14819c7b26865e3d59
  Author: Fangrui Song <i at maskray.me>
  Date:   2025-02-14 (Fri, 14 Feb 2025)

  Changed paths:
    M llvm/include/llvm/MC/MCELFStreamer.h
    M llvm/include/llvm/MC/MCObjectStreamer.h
    M llvm/include/llvm/MC/MCStreamer.h
    M llvm/include/llvm/MC/MCWasmStreamer.h
    M llvm/include/llvm/MC/MCWinCOFFStreamer.h
    M llvm/lib/MC/MCAsmStreamer.cpp
    M llvm/lib/MC/MCELFStreamer.cpp
    M llvm/lib/MC/MCMachOStreamer.cpp
    M llvm/lib/MC/MCStreamer.cpp
    M llvm/lib/MC/MCWasmStreamer.cpp
    M llvm/lib/MC/MCWinCOFFStreamer.cpp
    M llvm/lib/Target/ARM/ARMAsmPrinter.cpp
    M llvm/lib/Target/ARM/AsmParser/ARMAsmParser.cpp
    M llvm/lib/Target/ARM/MCTargetDesc/ARMELFStreamer.cpp
    M llvm/lib/Target/ARM/MCTargetDesc/ARMMCTargetDesc.h
    M llvm/lib/Target/ARM/MCTargetDesc/ARMMachObjectWriter.cpp
    M llvm/lib/Target/ARM/MCTargetDesc/ARMTargetStreamer.cpp
    M llvm/lib/Target/ARM/MCTargetDesc/ARMWinCOFFStreamer.cpp

  Log Message:
  -----------
  [ARM] Move MCStreamer::emitThumbFunc to ARMTargetStreamer

MCStreamer should not declare arch-specific functions. Such functions
should go to MCTargetStreamer.

Move MCMachOStreamer::emitThumbFunc to ARMTargetMachOStreamer, which is
a new subclass of ARMTargetStreamer. (The new class is just placed in
ARMMachObjectWriter.cpp. The conventional split like
ARMELFObjectWriter.cpp/ARMELFObjectWriter.cpp is overkill.)

`emitCFILabel`, called by ARMWinCOFFStreamer.cpp, has to be made public.

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


  Commit: c0131a37638eefde24fa290499288b7d4af2f130
      https://github.com/llvm/llvm-project/commit/c0131a37638eefde24fa290499288b7d4af2f130
  Author: Benoit Jacob <jacob.benoit.1 at gmail.com>
  Date:   2025-02-14 (Fri, 14 Feb 2025)

  Changed paths:
    M mlir/include/mlir/Dialect/Math/Transforms/Passes.h
    M mlir/lib/Dialect/Math/Transforms/PolynomialApproximation.cpp

  Log Message:
  -----------
  [MLIR][Math] Add fine-grained populate-patterns functions for math function rewrites. (#126103)

The existing `mlir::populateMathPolynomialApproximationPatterns` is
coarse-grained and inflexible:
- It populates 2 distinct classes of patterns: (1) polynomial
approximations, (2) expansions of operands to f32.
- It does not offer knobs to select which math functions to apply the
rewrites to.

This PR adds finer-grained populate-patterns functions, which take a
predicate lambda allowing the caller to control which math functions to
apply rewrites to.

Signed-off-by: Benoit Jacob <jacob.benoit.1 at gmail.com>


  Commit: bab4e15acdd4f3bc4a34ba4d6a128f95b983e03f
      https://github.com/llvm/llvm-project/commit/bab4e15acdd4f3bc4a34ba4d6a128f95b983e03f
  Author: earnol <earnol at users.noreply.github.com>
  Date:   2025-02-14 (Fri, 14 Feb 2025)

  Changed paths:
    M clang-tools-extra/clang-tidy/misc/RedundantExpressionCheck.cpp
    M clang-tools-extra/docs/ReleaseNotes.rst
    M clang-tools-extra/docs/clang-tidy/checks/misc/redundant-expression.rst
    M clang-tools-extra/test/clang-tidy/checkers/misc/redundant-expression.cpp

  Log Message:
  -----------
  [clang-tidy] Address false positives in misc-redundant-expression checker (#122841)

This patch addresses situations when misc-redundant-expression checker
provides excessive diagnostics for situations with different macros
having the same value. In particular it addresses situations described
in the initial report of
https://github.com/llvm/llvm-project/issues/118885 are addressed. The
situations which are popped inside discussion like if (A + B == B + A)
for macros are not properly addressed by this patch.
Those changes are also mentioned in Release Notes.
---------

Co-authored-by: Vladislav Aranov <vladislav.aranov at ericsson.com>
Co-authored-by: EugeneZelenko <eugene.zelenko at gmail.com>


  Commit: 30f8902834878ea6f4da3e01edefad1b2841b1c2
      https://github.com/llvm/llvm-project/commit/30f8902834878ea6f4da3e01edefad1b2841b1c2
  Author: Thomas Sepez <tsepez at users.noreply.github.com>
  Date:   2025-02-14 (Fri, 14 Feb 2025)

  Changed paths:
    M clang/lib/Analysis/UnsafeBufferUsage.cpp

  Log Message:
  -----------
  [-Wunsafe-buffer-usage] Fix assert when constexpr size passed to snprintf() (#119786) (#124022)

EvaluateAsConstExpr() can return an lvalue which is not compatible
with a subsequent getInt() call. Instead, use EvaluateAsInt() which
will use all techniques availble to get an int result compatible
with the subsequent getInt() call.


  Commit: e1315afd849f61b6739075ffe5bbcd5a037b9de9
      https://github.com/llvm/llvm-project/commit/e1315afd849f61b6739075ffe5bbcd5a037b9de9
  Author: Peter Rong <peterrong96 at gmail.com>
  Date:   2025-02-14 (Fri, 14 Feb 2025)

  Changed paths:
    M lld/test/COFF/delayimporttables.yaml
    M lld/test/COFF/export-all.s
    M lld/test/COFF/filename-casing.s
    M lld/test/COFF/guardcf-align.s
    M lld/test/COFF/implib-name.test
    M lld/test/COFF/locally-imported-warn-multiple.s
    M lld/test/COFF/lto-chkstk.ll
    M lld/test/COFF/lto-comdat.ll
    M lld/test/COFF/lto-lazy-reference.ll
    M lld/test/COFF/lto-linker-opts.ll
    M lld/test/COFF/lto.ll
    M lld/test/COFF/map.test
    M lld/test/COFF/out.test
    M lld/test/COFF/precomp-link.test
    M lld/test/COFF/savetemps-colon.ll
    M lld/test/COFF/savetemps.ll
    M lld/test/COFF/thinlto-archives.ll
    M lld/test/COFF/thinlto-mangled.ll
    M lld/test/COFF/thinlto-whole-archives.ll
    M lld/test/COFF/thinlto.ll
    M lld/test/MachO/objc-category-merging-erase-objc-name-test.s
    M lld/test/wasm/shared-weak-undefined.s

  Log Message:
  -----------
  [lld] Remove usage of `%T` in `lld/test` (#126133)

`%T` is not unique and deprecated
[[1](https://llvm.org/docs/CommandGuide/lit.html#substitutions)].

This patch replaces all `%T` in `lld/test` with `%t.dir` (`mkdir` if
necessary)

---------

Signed-off-by: Peter Rong <PeterRong at meta.com>


  Commit: 42fe5a1b9702c1ff52ea0241f488e0d71b807972
      https://github.com/llvm/llvm-project/commit/42fe5a1b9702c1ff52ea0241f488e0d71b807972
  Author: Charlie Barto <chbarto at microsoft.com>
  Date:   2025-02-14 (Fri, 14 Feb 2025)

  Changed paths:
    M compiler-rt/test/asan/TestCases/Windows/coverage-basic.cpp
    M compiler-rt/test/asan/TestCases/Windows/crash_read_write.cpp
    M compiler-rt/test/asan/TestCases/Windows/dll_host.cpp
    M compiler-rt/test/asan/TestCases/Windows/dll_intercept_memcpy.cpp
    M compiler-rt/test/asan/TestCases/Windows/dll_intercept_memset.cpp
    M compiler-rt/test/asan/TestCases/Windows/dll_null_deref.cpp
    M compiler-rt/test/asan/TestCases/Windows/dll_operator_array_new_with_dtor_left_oob.cpp
    M compiler-rt/test/asan/TestCases/Windows/dll_stack_use_after_return.cpp
    M compiler-rt/test/asan/TestCases/Windows/global_const_string_oob.cpp
    M compiler-rt/test/asan/TestCases/Windows/illegal_instruction.cpp
    M compiler-rt/test/asan/TestCases/Windows/issue64990.cpp
    M compiler-rt/test/asan/TestCases/Windows/msvc/seh.cpp
    R compiler-rt/test/asan/TestCases/Windows/null_deref.cpp
    M compiler-rt/test/asan/TestCases/Windows/null_deref_multiple_dlls.cpp
    M compiler-rt/test/asan/TestCases/Windows/operator_array_new_with_dtor_left_oob.cpp
    M compiler-rt/test/asan/TestCases/Windows/sse_misalignment.cpp
    M compiler-rt/test/asan/TestCases/Windows/stack_use_after_return.cpp
    M compiler-rt/test/asan/TestCases/Windows/unsymbolized.cpp
    M compiler-rt/test/asan/TestCases/alloca_big_alignment.cpp
    M compiler-rt/test/asan/TestCases/alloca_constant_size.cpp
    M compiler-rt/test/asan/TestCases/alloca_detect_custom_size_.cpp
    M compiler-rt/test/asan/TestCases/alloca_instruments_all_paddings.cpp
    M compiler-rt/test/asan/TestCases/alloca_loop_unpoisoning.cpp
    M compiler-rt/test/asan/TestCases/alloca_overflow_partial.cpp
    M compiler-rt/test/asan/TestCases/alloca_overflow_right.cpp
    M compiler-rt/test/asan/TestCases/alloca_safe_access.cpp
    M compiler-rt/test/asan/TestCases/alloca_underflow_left.cpp
    M compiler-rt/test/asan/TestCases/alloca_vla_interact.cpp
    M compiler-rt/test/asan/TestCases/contiguous_container.cpp
    M compiler-rt/test/asan/TestCases/coverage-trace-pc.cpp
    M compiler-rt/test/asan/TestCases/debug_locate.cpp
    M compiler-rt/test/asan/TestCases/debug_stacks.cpp
    M compiler-rt/test/asan/TestCases/deep_tail_call.cpp
    M compiler-rt/test/asan/TestCases/default_ignorelist.cpp
    M compiler-rt/test/asan/TestCases/default_options.cpp
    A compiler-rt/test/asan/TestCases/defines.h
    M compiler-rt/test/asan/TestCases/error_report_callback.cpp
    M compiler-rt/test/asan/TestCases/exitcode.cpp
    M compiler-rt/test/asan/TestCases/force_inline_opt0.cpp
    M compiler-rt/test/asan/TestCases/global-location-nodebug.cpp
    M compiler-rt/test/asan/TestCases/global-underflow.cpp
    M compiler-rt/test/asan/TestCases/halt_on_error-1.c
    M compiler-rt/test/asan/TestCases/heavy_uar_test.cpp
    M compiler-rt/test/asan/TestCases/ignorelist.cpp
    M compiler-rt/test/asan/TestCases/ill.cpp
    M compiler-rt/test/asan/TestCases/initialization-bug.cpp
    M compiler-rt/test/asan/TestCases/inline.cpp
    M compiler-rt/test/asan/TestCases/intercept-rethrow-exception.cpp
    M compiler-rt/test/asan/TestCases/interception_failure_test.cpp
    M compiler-rt/test/asan/TestCases/interface_test.cpp
    M compiler-rt/test/asan/TestCases/invalid-pointer-pairs-compare-errors.cpp
    M compiler-rt/test/asan/TestCases/invalid-pointer-pairs-subtract-errors.cpp
    M compiler-rt/test/asan/TestCases/invalid-pointer-pairs.cpp
    M compiler-rt/test/asan/TestCases/large_func_test.cpp
    M compiler-rt/test/asan/TestCases/null_deref.cpp
    M compiler-rt/test/asan/TestCases/pass-struct-byval.cpp
    M compiler-rt/test/asan/TestCases/report_error_summary.cpp
    M compiler-rt/test/asan/TestCases/speculative_load.cpp
    M compiler-rt/test/asan/TestCases/stack-buffer-overflow-with-position.cpp
    M compiler-rt/test/asan/TestCases/stack-oob-frames.cpp
    M compiler-rt/test/asan/TestCases/strcat-overlap.cpp
    M compiler-rt/test/asan/TestCases/strcpy-overlap.cpp
    M compiler-rt/test/asan/TestCases/strncat-overlap.cpp
    M compiler-rt/test/asan/TestCases/strncpy-overflow.cpp
    M compiler-rt/test/asan/TestCases/strncpy-overlap.cpp
    M compiler-rt/test/asan/TestCases/throw_call_test.cpp
    M compiler-rt/test/asan/TestCases/throw_catch.cpp
    M compiler-rt/test/asan/TestCases/throw_invoke_test.cpp
    M compiler-rt/test/asan/TestCases/use-after-scope-capture.cpp
    M compiler-rt/test/asan/TestCases/use-after-scope-dtor-order.cpp
    M compiler-rt/test/asan/TestCases/use-after-scope-inlined.cpp
    M compiler-rt/test/asan/TestCases/use-after-scope-loop-bug.cpp
    M compiler-rt/test/asan/TestCases/use-after-scope-loop-removed.cpp
    M compiler-rt/test/asan/TestCases/use-after-scope-loop.cpp
    M compiler-rt/test/asan/TestCases/use-after-scope-temp.cpp
    M compiler-rt/test/asan/TestCases/use-after-scope-temp2.cpp
    M compiler-rt/test/asan/TestCases/use-after-scope-types.cpp
    M compiler-rt/test/asan/TestCases/vla_chrome_testcase.cpp
    M compiler-rt/test/asan/TestCases/vla_condition_overflow.cpp
    M compiler-rt/test/asan/TestCases/vla_loop_overfow.cpp
    M compiler-rt/test/asan/TestCases/zero_page_pc.cpp
    M compiler-rt/test/asan/lit.cfg.py

  Log Message:
  -----------
  [compiler-rt][windows] Test fixups for MSVC. (#109887)

- add XFAIL/UNSUPPORTED annotations for tests run wtih real MSVC 
- macroify usages of clang-specific attributes in asan tests

- Add substitution for /Oy-/-fno-omit-frame-pointer
  This makes the dll_intercept_memset test work with mingw

These are most of the changes that are required to get things running
with MSVC, however there are some remaining build-flag tweaks.

Nothing in here should be a functional change.


  Commit: 3f5cd44c1865ca2ca06ba1accf45b538db8084a6
      https://github.com/llvm/llvm-project/commit/3f5cd44c1865ca2ca06ba1accf45b538db8084a6
  Author: Nick Sarnie <nick.sarnie at intel.com>
  Date:   2025-02-14 (Fri, 14 Feb 2025)

  Changed paths:
    M clang/lib/Lex/PPMacroExpansion.cpp

  Log Message:
  -----------
  [Clang][NFC] clang-format __has_builtin implementation (#126571)

Feedback from https://github.com/llvm/llvm-project/pull/126324

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


  Commit: 154092b7a8db191886b9f0bd626a7646d428e221
      https://github.com/llvm/llvm-project/commit/154092b7a8db191886b9f0bd626a7646d428e221
  Author: Aiden Grossman <aidengrossman at google.com>
  Date:   2025-02-14 (Fri, 14 Feb 2025)

  Changed paths:
    M .github/workflows/libcxx-build-containers.yml

  Log Message:
  -----------
  [libc++][Github] Remove workflow-scoped write permissions (#126447)

This patch removes the workflow-scoped package write permissions in the
libcxx-build-containers workflow. The relevant permissions are already
present in the job, so this raises the potential for new jobs being
added to the workflow that do not need the permissions but having them
anyways. Not having workflow-scoped write permissions is security best
practice.

Fixes #126230.


  Commit: 06085bf3d80599adf80bf2310b99e74676498500
      https://github.com/llvm/llvm-project/commit/06085bf3d80599adf80bf2310b99e74676498500
  Author: Abid Qadeer <haqadeer at amd.com>
  Date:   2025-02-14 (Fri, 14 Feb 2025)

  Changed paths:
    M llvm/lib/Frontend/OpenMP/OMPIRBuilder.cpp
    A mlir/test/Target/LLVMIR/omptarget-debug-var-1.mlir
    A mlir/test/Target/LLVMIR/omptarget-debug-var-2.mlir

  Log Message:
  -----------
  [OMPIRBuilder][debug] Fix debug info for variables in target region. (#118314)

When a new function is created to handle OpenMP target region, the
variables used in it are passed as arguments. The scope and the location
of these variable contains still point to te parent function of the
target region. Such variables will fail in Verifier as the scope of the
variables will be different from the containing functions.

Currently, flang is the only user of createOutlinedFunction and it does
not generate any debug data for the the variables in the target region
to avoid this error. When this PR is in, we should be able to remove
this limit in the flang (and anyother client) and have the better debug
experience for the target region.

This PR changes the location and scope of the variables in the target
region to point to correct entities. It is similar to what
fixupDebugInfoPostExtraction does for CodeExtractor. I initially tried
to re-use that function but found quickly that it would require quite a
bit of re-factoring and additions before it could be used. It was much
simpler to make the changes locally.


  Commit: f46bbe374136d910a7d4e52d849ea1c79a5e3a80
      https://github.com/llvm/llvm-project/commit/f46bbe374136d910a7d4e52d849ea1c79a5e3a80
  Author: Aiden Grossman <aidengrossman at google.com>
  Date:   2025-02-14 (Fri, 14 Feb 2025)

  Changed paths:
    M llvm/lib/Object/ELF.cpp
    M llvm/tools/llvm-readobj/ELFDumper.cpp
    M llvm/unittests/Object/ELFObjectFileTest.cpp

  Log Message:
  -----------
  [ELF] Add support for CREL to getSectionAndRelocations

This patch updates the getSectionAndRelocations function to also support
CREL relocation sections. Unit tests have been added. This patch also
updates consumers to say they explicitly do not support CREL format
relocations. Subsequent patches will make the consumers work with CREL
format relocations and also add in testing support.

Reviewers: red1bluelost, MaskRay, rlavaee

Reviewed By: MaskRay

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


  Commit: 5825650cc886da352bade19ec4e6b7f85ff22a10
      https://github.com/llvm/llvm-project/commit/5825650cc886da352bade19ec4e6b7f85ff22a10
  Author: Aiden Grossman <aidengrossman at google.com>
  Date:   2025-02-14 (Fri, 14 Feb 2025)

  Changed paths:
    M llvm/lib/Object/ELF.cpp
    M llvm/test/tools/llvm-readobj/ELF/bb-addr-map-relocatable.test

  Log Message:
  -----------
  [ELF] Add support for CREL locations for SHT_LLVM_BB_ADDR_MAP

This patch adds support for properly decoding SHT_LLVM_BB_ADDR_MAP
sections in relocatable object files when the relocation format is CREL.

Reviewers: rlavaee, jh7370, red1bluelost, MaskRay

Reviewed By: MaskRay

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


  Commit: 51d3c25bc72bb205b533b00d930c5c1d9493ebc0
      https://github.com/llvm/llvm-project/commit/51d3c25bc72bb205b533b00d930c5c1d9493ebc0
  Author: Vy Nguyen <vyng at google.com>
  Date:   2025-02-14 (Fri, 14 Feb 2025)

  Changed paths:
    A lldb/include/lldb/Core/Telemetry.h
    M lldb/source/Core/CMakeLists.txt
    A lldb/source/Core/Telemetry.cpp

  Log Message:
  -----------
  [lldb][telemetry] Implement LLDB Telemetry (part 1) (#119716)

Details:
- This is a subset of PR/98528.( Pavel's suggestion was to split up the
patch to make reviewing easier)
- This contains only the concrete implementation of the framework to be
used but no usages yet.
- I plan to send a few follow-up patches:
+ part2 : includes changes in the plugin-manager to set up the plugin
stuff (ie., how to create a default vs vendor impl)
  + part3 (all of the following can be done in parallel):
* part 3_a: define DebuggerTelemetryInfo and related methods to collect
data about debugger startup/exit
* part 3_b: define TargetTelemetryInfo and related methods to collect
data about debug target(s)
* part 3_c: define CommandTelemetryInfo and related methods to collect
data about debug-commands
* part 3_d: define ClientTelemtryInfo and related methods to collect
data about lldb-dap/any other client

---------

Co-authored-by: Pavel Labath <pavel at labath.sk>
Co-authored-by: Jonas Devlieghere <jonas at devlieghere.com>


  Commit: b40d36ae17610a8567f7241c43e126ab5bcecf38
      https://github.com/llvm/llvm-project/commit/b40d36ae17610a8567f7241c43e126ab5bcecf38
  Author: youngd007 <davidayoung at meta.com>
  Date:   2025-02-14 (Fri, 14 Feb 2025)

  Changed paths:
    M llvm/include/llvm/DebugInfo/DWARF/DWARFVerifier.h
    M llvm/lib/DebugInfo/DWARF/DWARFVerifier.cpp
    A llvm/test/tools/llvm-dwarfdump/X86/debug-names-verify-completeness-json-output.s

  Log Message:
  -----------
  Modify dwarfdump verification  to allow sub-category counts (#125062)

It was discovered that BOLT had several distinct issues of missing debug
information by various tags for debug names (119493 & 119023 as
examples), but the verification of a DWARF with llvm-dwarfdump prior to
those fixes only gave one 'missing name' category.
```
{"error-categories":{"Name Index DIE entry missing name":{"count":36355210}},"error-count":36355210}
```
To more easily leverage dwarf verification for debug health, the JSON
output will be improved to allow having detailed counts by a
sub-category when it makes sense.
For now, this is only implemented on the missing tags, but can be
extended to more.
```
{"error-categories":{"Name Index DIE entry missing name":{"count":10,"details":{"DW_TAG_inlined_subroutine":1,"DW_TAG_label":1,"DW_TAG_namespace":2,"DW_TAG_subprogram":2,"DW_TAG_variable":4}}},"error-count":10}
```

This diff also modifies the tests created in pull request 124936 (not
yet landed) to ensure the JSON switches. Ideally this lands after that
but it did not correctly create a stack of pull requests.


  Commit: a3bc239d8f63bcff36c0c8a712a4e1d923ae8211
      https://github.com/llvm/llvm-project/commit/a3bc239d8f63bcff36c0c8a712a4e1d923ae8211
  Author: Joseph Huber <huberjn at outlook.com>
  Date:   2025-02-14 (Fri, 14 Feb 2025)

  Changed paths:
    M offload/cmake/caches/Offload.cmake

  Log Message:
  -----------
  [Offload] Fix the offload cache file triggering libc++ / libstdc++ mixing (#126313)

Summary:
We originally wanted `-stdlib=libc++` by default so that it could use
offloading support in libc++, however this causes issues with out the
Offloading proejct itself is built. Is the user builds the LLVM libs
with libstdc++ then uses this cache it will enable this option by
default for the ensuing build of the offloading libraries with the newly
build clang. This will cause a lot of linker failured because the C++
library doesn't match.

Long term I think the proper solution to this is to make better use of
clang configuration files, but I don't know a good way to do that by
default. For now just make it build right.


  Commit: bcc65616d0d7c3f2b6b10f9aa90bdbad347832c1
      https://github.com/llvm/llvm-project/commit/bcc65616d0d7c3f2b6b10f9aa90bdbad347832c1
  Author: Joseph Huber <huberjn at outlook.com>
  Date:   2025-02-14 (Fri, 14 Feb 2025)

  Changed paths:
    M offload/CMakeLists.txt
    A offload/libomptarget/CMakeLists.txt
    A offload/libomptarget/DeviceImage.cpp
    A offload/libomptarget/KernelLanguage/API.cpp
    A offload/libomptarget/LegacyAPI.cpp
    A offload/libomptarget/OffloadRTL.cpp
    A offload/libomptarget/OpenMP/API.cpp
    A offload/libomptarget/OpenMP/InteropAPI.cpp
    A offload/libomptarget/OpenMP/Mapping.cpp
    A offload/libomptarget/OpenMP/OMPT/Callback.cpp
    A offload/libomptarget/PluginManager.cpp
    A offload/libomptarget/device.cpp
    A offload/libomptarget/exports
    A offload/libomptarget/interface.cpp
    A offload/libomptarget/omptarget.cpp
    A offload/libomptarget/private.h
    R offload/src/CMakeLists.txt
    R offload/src/DeviceImage.cpp
    R offload/src/KernelLanguage/API.cpp
    R offload/src/LegacyAPI.cpp
    R offload/src/OffloadRTL.cpp
    R offload/src/OpenMP/API.cpp
    R offload/src/OpenMP/InteropAPI.cpp
    R offload/src/OpenMP/Mapping.cpp
    R offload/src/OpenMP/OMPT/Callback.cpp
    R offload/src/PluginManager.cpp
    R offload/src/device.cpp
    R offload/src/exports
    R offload/src/interface.cpp
    R offload/src/omptarget.cpp
    R offload/src/private.h

  Log Message:
  -----------
  [Offload][NFC] Rename `src/` -> `libomptarget/` (#126573)

Summary:
The name `src` is confusing when combined with the plugins and the newly
added `liboffload`.


  Commit: b492789c8d924d823bcf0d91fea1a8fd10e4adb7
      https://github.com/llvm/llvm-project/commit/b492789c8d924d823bcf0d91fea1a8fd10e4adb7
  Author: Paul Kirth <paulkirth at google.com>
  Date:   2025-02-14 (Fri, 14 Feb 2025)

  Changed paths:
    M clang/cmake/caches/Fuchsia-stage2.cmake

  Log Message:
  -----------
  [Fuchsia] Disable building runtimes with LTO (#126306)

Temporarily disable LTO'd runtimes, while we investigate an issue
building Fuchsia with LTO.


  Commit: bb8c5ef87adc01a12ba5d2e0b826b633e3fd42ad
      https://github.com/llvm/llvm-project/commit/bb8c5ef87adc01a12ba5d2e0b826b633e3fd42ad
  Author: Thomas Preud'homme <thomas.preudhomme at arm.com>
  Date:   2025-02-14 (Fri, 14 Feb 2025)

  Changed paths:
    M mlir/include/mlir/Target/LLVMIR/ModuleTranslation.h

  Log Message:
  -----------
  [MLIR] Fix LLVMIRTransforms build failure (#125485)

lib/libMLIRLLVMIRTransforms.a fails to build from scratch with the
following error:
In file included from llvm/include/llvm/Frontend/OpenMP/OMPConstants.h:19,
                 from llvm/include/llvm/Frontend/OpenMP/OMPIRBuilder.h:19,
                 from mlir/include/mlir/Target/LLVMIR/ModuleTranslation.h:26,
                 from mlir/include/mlir/Dialect/LLVMIR/NVVMDialect.h:24,
                 from mlir/lib/Dialect/LLVMIR/Transforms/InlinerInterfaceImpl.cpp:17:
llvm/include/llvm/Frontend/OpenMP/OMP.h:16:10:
fatal error: llvm/Frontend/OpenMP/OMP.h.inc: No such file or directory

Use a forward declaration for OpenMPIRBuilder in ModuleTranslation.h to
avoid pulling OpenMP frontend header that require generated headers.


  Commit: ec14ec100639ed6dab1b65e921c25fb47238f766
      https://github.com/llvm/llvm-project/commit/ec14ec100639ed6dab1b65e921c25fb47238f766
  Author: Florian Hahn <flo at fhahn.com>
  Date:   2025-02-14 (Fri, 14 Feb 2025)

  Changed paths:
    M llvm/lib/Target/X86/X86ISelLoweringCall.cpp
    M llvm/test/CodeGen/X86/swifttailcc-store-ret-address-aliasing-stack-slot.ll

  Log Message:
  -----------
  [X86] Use StackArgTokenFactor for all stores when setting up tail calls. (#126244)

Before this patch, the stack argument token factor was used if any
outgoing stack slots needed to be written, but not when writing the
return address to a stack slot. Writing the return address stack slot
can also alias a stack slot for an input argument.

Always use StackArgumentTokenFactor, to ensure the store of the return
address will always use it, i.e. happen after all input arguments are
loaded.

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


  Commit: 25bc5f100dd8ba4f2f7e47200cfeac54da4b1e62
      https://github.com/llvm/llvm-project/commit/25bc5f100dd8ba4f2f7e47200cfeac54da4b1e62
  Author: Nico Weber <thakis at chromium.org>
  Date:   2025-02-14 (Fri, 14 Feb 2025)

  Changed paths:
    M llvm/include/llvm/DebugInfo/DWARF/DWARFVerifier.h
    M llvm/lib/DebugInfo/DWARF/DWARFVerifier.cpp
    R llvm/test/tools/llvm-dwarfdump/X86/debug-names-verify-completeness-json-output.s

  Log Message:
  -----------
  Revert "Modify dwarfdump verification  to allow sub-category counts (#125062)"

This reverts commit 13f63010784d8d55620fa7846ac2192f20f95113.
Breaks check-llvm.


  Commit: 92e3dd07f09eec86b394255d751d9ce7bae67d5d
      https://github.com/llvm/llvm-project/commit/92e3dd07f09eec86b394255d751d9ce7bae67d5d
  Author: Louis Dionne <ldionne.2 at gmail.com>
  Date:   2025-02-14 (Fri, 14 Feb 2025)

  Changed paths:
    M libcxx/include/CMakeLists.txt
    M libcxx/include/__format/buffer.h
    M libcxx/include/__memory/construct_at.h
    A libcxx/include/__memory/destroy.h
    M libcxx/include/__memory/ranges_construct_at.h
    A libcxx/include/__memory/ranges_destroy.h
    M libcxx/include/__memory/shared_ptr.h
    M libcxx/include/__memory/uninitialized_algorithms.h
    M libcxx/include/__pstl/backends/libdispatch.h
    M libcxx/include/memory
    M libcxx/include/module.modulemap

  Log Message:
  -----------
  [libc++] Extract destroy algorithms into separate headers (#126449)

This patch separates the destroy algorithms from the primitive
construct_at and destroy_at operations, which are conceptually not
algorithms. This makes it easier to start using these destroy algorithms
from upcoming relocation facilities.

As part of this, it also implements `std::destroy_at` for arrays without
relying on the `std::destroy` algorithm, which is conceptually a
higher-level facility.


  Commit: d2cb01e858ad3ca2ccae22cb4d16e4c943ba16fb
      https://github.com/llvm/llvm-project/commit/d2cb01e858ad3ca2ccae22cb4d16e4c943ba16fb
  Author: Joseph Huber <huberjn at outlook.com>
  Date:   2025-02-14 (Fri, 14 Feb 2025)

  Changed paths:
    M clang/include/clang/Basic/DiagnosticSemaKinds.td
    M clang/lib/Driver/ToolChains/Cuda.cpp
    M clang/lib/Driver/ToolChains/Cuda.h
    M clang/lib/Sema/SemaDeclAttr.cpp
    M clang/test/Driver/cuda-cross-compiling.c
    M clang/test/SemaCUDA/device-var-init.cu
    M libc/cmake/modules/LLVMLibCTestRules.cmake
    M libcxx/test/configs/nvptx-libc++-shared.cfg.in
    M llvm/lib/Target/NVPTX/NVPTXAsmPrinter.cpp
    R llvm/test/CodeGen/NVPTX/global-ctor.ll
    R llvm/test/CodeGen/NVPTX/global-dtor.ll
    M llvm/test/CodeGen/NVPTX/lower-ctor-dtor.ll

  Log Message:
  -----------
  [NVPTX] Make ctor/dtor lowering always enabled in NVPTX (#126544)

Summary:
Currently we conditionally enable NVPTX lowering depending on the
language (C/C++/OpenMP). Unfortunately this causes problems because this
option is only present if the backend was enabled, which causes this to
error if you try to make LLVM-IR.

This patch instead makes it the only accepted lowering. The reason we
had it as opt-in before is because it is not handled by CUDA. So, this
pach also introduces diagnostics to prevent *all* creation of
device-side global constructors and destructors. We already did this for
variables, now we do it for attributes as well.

This inverts the responsibility of blocking this from the backend to the
langauage like it should be given that support for this is language
dependent.


  Commit: 502d44741b2d29047617faf0643aa2c22e79c559
      https://github.com/llvm/llvm-project/commit/502d44741b2d29047617faf0643aa2c22e79c559
  Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
  Date:   2025-02-14 (Fri, 14 Feb 2025)

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

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


  Commit: 1e89dcee04090bf21eebe75540c757db426a08a3
      https://github.com/llvm/llvm-project/commit/1e89dcee04090bf21eebe75540c757db426a08a3
  Author: Jacek Caban <jacek at codeweavers.com>
  Date:   2025-02-14 (Fri, 14 Feb 2025)

  Changed paths:
    M lld/COFF/Driver.cpp
    A lld/test/COFF/arm64x-includeoptional.s

  Log Message:
  -----------
  [LLD][COFF] Add support for -includeoptional on ARM64X (#126300)

Include symbols from both symbol tables.


  Commit: 578d07f4cb9b0ef4af93e80dff08f382092006f9
      https://github.com/llvm/llvm-project/commit/578d07f4cb9b0ef4af93e80dff08f382092006f9
  Author: Razvan Lupusoru <razvan.lupusoru at gmail.com>
  Date:   2025-02-14 (Fri, 14 Feb 2025)

  Changed paths:
    M flang/lib/Lower/OpenACC.cpp
    M flang/test/Lower/OpenACC/acc-declare-unwrap-defaultbounds.f90
    M flang/test/Lower/OpenACC/acc-declare.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-serial-loop.f90
    M flang/test/Lower/OpenACC/acc-serial.f90
    M mlir/lib/Dialect/OpenACC/IR/OpenACC.cpp

  Log Message:
  -----------
  [flang][acc] Ensure data exit action is generated for present & nocreate (#126560)

The acc.delete operation has semantics of decrementing present counter
and deleting the data when the counter reaches zero. Since both
acc.present and acc.nocreate are both intended to increment present
counter, this matching exit action must be inserted.

This is also what was specified in OpenACC dialect documentation:
https://mlir.llvm.org/docs/Dialects/OpenACCDialect/#operation-categories


  Commit: 99389c2c416195c14c0dff65de3d9c18424f43bc
      https://github.com/llvm/llvm-project/commit/99389c2c416195c14c0dff65de3d9c18424f43bc
  Author: Sarah Spall <sarahspall at microsoft.com>
  Date:   2025-02-14 (Fri, 14 Feb 2025)

  Changed paths:
    M clang/lib/AST/ASTContext.cpp
    A clang/test/AST/HLSL/TypdefArrayParam.hlsl

  Log Message:
  -----------
  [HLSL] Desugar type when converting from a ConstantArrayType to an ArrayParameterType (#126561)

Desugar type when converting from a ConstantArrayType to an
ArrayParameterType in getArrayParameterType
Closes #125743


  Commit: 6d5a64044724b78d579e7aebfe45561857789365
      https://github.com/llvm/llvm-project/commit/6d5a64044724b78d579e7aebfe45561857789365
  Author: Tom Stellard <tstellar at redhat.com>
  Date:   2025-02-14 (Fri, 14 Feb 2025)

  Changed paths:
    M llvm/utils/git/github-automation.py

  Log Message:
  -----------
  [llvm][GitHub] Move PR project status to Done once backport PR is made (#126374)

It's common to use the /cherry-pick command on a PR to create a backport
request. However, this creates a lot of clutter in the LLVM Release
Status project, because we end up with two items in the project, one for
the original PR and one for the new PR.

This change will set the status of the original PR to Done once the new
PR (for the release branch) is created. This will save release managers
a lot of work of having to manually updated the status for PRs that
contain backport requests.


  Commit: 27cc35361057ca873288c6213bed5f2bc76f7248
      https://github.com/llvm/llvm-project/commit/27cc35361057ca873288c6213bed5f2bc76f7248
  Author: Jacek Caban <jacek at codeweavers.com>
  Date:   2025-02-14 (Fri, 14 Feb 2025)

  Changed paths:
    M lld/test/COFF/arm64x-includeoptional.s

  Log Message:
  -----------
  [LLD][COFF] Fix a typo in REQUIRES directive (NFC)

Fixes #126300.


  Commit: 370075a8b05f86bf5b912625c69910c6377c00fd
      https://github.com/llvm/llvm-project/commit/370075a8b05f86bf5b912625c69910c6377c00fd
  Author: youngd007 <davidayoung at meta.com>
  Date:   2025-02-14 (Fri, 14 Feb 2025)

  Changed paths:
    R llvm/test/tools/llvm-dwarfdump/X86/debug-names-verify--completeness-json-output.s

  Log Message:
  -----------
  Delete erroneously test not updated with dwarf verification JSON change (#126587)

Between a PR (124936) adding a base test for dwarf verification JSON
output and a modification of the same in changing the JSON (125062),
there ended up being two versions of the test. The base one and the
fixed one, when there should be only one copy. The base fails as the
JSON format has changed, so deleting that version.

test:
   ninja check-llvm-tools-llvm-dwarfdump


  Commit: c941faedd30c664c140640ca68c330488219cff7
      https://github.com/llvm/llvm-project/commit/c941faedd30c664c140640ca68c330488219cff7
  Author: Jacek Caban <jacek at codeweavers.com>
  Date:   2025-02-14 (Fri, 14 Feb 2025)

  Changed paths:
    M lld/COFF/Driver.cpp
    M lld/COFF/MinGW.cpp
    M lld/COFF/MinGW.h
    M lld/COFF/SymbolTable.h
    A lld/test/COFF/arm64x-wrap.s

  Log Message:
  -----------
  [LLD][MinGW] Add support for wrapped symbols on ARM64X (#126296)

Apply `-wrap` arguments to both symbol tables.


  Commit: f4c1dd47038065886b2d82818088ded0ed2725f6
      https://github.com/llvm/llvm-project/commit/f4c1dd47038065886b2d82818088ded0ed2725f6
  Author: David Blaikie <dblaikie at gmail.com>
  Date:   2025-02-14 (Fri, 14 Feb 2025)

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

  Log Message:
  -----------
  Rough attempt to fix lldb bazel BUILD file


  Commit: 56a8d748023bc646aab3dba2b2341fcc54bd14fb
      https://github.com/llvm/llvm-project/commit/56a8d748023bc646aab3dba2b2341fcc54bd14fb
  Author: Michael Flanders <flanders.michaelk at gmail.com>
  Date:   2025-02-14 (Fri, 14 Feb 2025)

  Changed paths:
    M clang/lib/StaticAnalyzer/Checkers/StackAddrEscapeChecker.cpp
    M clang/test/Analysis/copy-elision.cpp
    M clang/test/Analysis/stack-addr-ps.cpp
    M clang/test/Analysis/stackaddrleak.c
    M clang/test/Analysis/stackaddrleak.cpp

  Log Message:
  -----------
  [analyzer] Remove some false negatives in StackAddrEscapeChecker (#125638)

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

Previously, when the StackAddrEscapeChecker checked return values, it
did not scan into the structure of the return SVal. Now it does, and we
can catch some more false negatives that were already mocked out in the
tests in addition to those mentioned in
https://github.com/llvm/llvm-project/issues/123459.

The warning message at the moment for these newly caught leaks is not
great. I think they would be better if they had a better trace of why
and how the region leaks. If y'all are happy with these changes, I would
try to improve these warnings and work on normalizing this SVal checking
on the `checkEndFunction` side of the checker also.

Two of the stack address leak test cases now have two warnings, one
warning from return expression checking and another from`
checkEndFunction` `iterBindings` checking. For these two cases, I prefer
the warnings from the return expression checking, but I couldn't figure
out a way to drop the `checkEndFunction` without breaking other
`checkEndFunction` warnings that we do want. Thoughts here?


  Commit: 4ca31ee2f71c1f01264d7cdf578355a453347010
      https://github.com/llvm/llvm-project/commit/4ca31ee2f71c1f01264d7cdf578355a453347010
  Author: Chelsea Cassanova <chelsea_cassanova at apple.com>
  Date:   2025-02-14 (Fri, 14 Feb 2025)

  Changed paths:
    M lldb/include/lldb/API/SBDefines.h

  Log Message:
  -----------
  [lldb][sbapi] Namespace CommandReturnObjectCallbackResult in SBDefines (#126606)

A new callback was added with the type
CommandReturnObjectCallbackResult, this commit namespaces that type to
match the format of other callback functions that have a non-primitive
return type in the lldb namespace.

rdar://144553496


  Commit: 756c25dec7456187ab744a4b5a2ae2ad388fb02d
      https://github.com/llvm/llvm-project/commit/756c25dec7456187ab744a4b5a2ae2ad388fb02d
  Author: Joseph Huber <huberjn at outlook.com>
  Date:   2025-02-14 (Fri, 14 Feb 2025)

  Changed paths:
    M llvm/lib/Target/NVPTX/NVPTXAsmPrinter.cpp

  Log Message:
  -----------
  [NVPTX] Remove unused static functions following #126544


  Commit: 76791badb588cb003f8d5a1a23d41e4a47acede7
      https://github.com/llvm/llvm-project/commit/76791badb588cb003f8d5a1a23d41e4a47acede7
  Author: Gábor Horváth <xazax.hun at gmail.com>
  Date:   2025-02-14 (Fri, 14 Feb 2025)

  Changed paths:
    M clang/lib/StaticAnalyzer/Checkers/StackAddrEscapeChecker.cpp
    M clang/test/Analysis/copy-elision.cpp
    M clang/test/Analysis/stack-addr-ps.cpp
    M clang/test/Analysis/stackaddrleak.c
    M clang/test/Analysis/stackaddrleak.cpp

  Log Message:
  -----------
  Revert "[analyzer] Remove some false negatives in StackAddrEscapeChec… (#126614)

…ker (#125638)"

This reverts commit 7ba3c55d91dcd7da5a5eb1c58225f648fb38b740.

Co-authored-by: Gabor Horvath <gaborh at apple.com>


  Commit: f2aad40f9cf278e6fd3339ee1e65b06e5a06913c
      https://github.com/llvm/llvm-project/commit/f2aad40f9cf278e6fd3339ee1e65b06e5a06913c
  Author: Jonas Devlieghere <jonas at devlieghere.com>
  Date:   2025-02-14 (Fri, 14 Feb 2025)

  Changed paths:
    A lldb/test/API/driver/terminal/TestTerminalDimensions.py

  Log Message:
  -----------
  [lldb] Add a test for terminal dimensions (#126598)

Add a test for the `term-width` and `term-height` settings. I thought I
was hitting bug because in my statusline test I was getting the default
values when running under PExpect. It turned out hat the issue is that
we clear the settings at the start of the test. The Editline tests
aren't affected by this because Editline provides its own functions to
get the terminal dimensions and explicitly does not rely on LLDB's
settings (presumably exactly because of this behavior).


  Commit: 9b3a6b5c225eef1080b7b8fe60c2bf2d0463b9f8
      https://github.com/llvm/llvm-project/commit/9b3a6b5c225eef1080b7b8fe60c2bf2d0463b9f8
  Author: Jason Molenda <jmolenda at apple.com>
  Date:   2025-02-14 (Fri, 14 Feb 2025)

  Changed paths:
    M lldb/source/Plugins/DynamicLoader/Darwin-Kernel/DynamicLoaderDarwinKernel.cpp
    M lldb/source/Plugins/DynamicLoader/MacOSX-DYLD/DynamicLoaderDarwin.cpp
    M lldb/source/Plugins/DynamicLoader/MacOSX-DYLD/DynamicLoaderMacOS.cpp
    M lldb/source/Plugins/DynamicLoader/MacOSX-DYLD/DynamicLoaderMacOSXDYLD.cpp
    M lldb/source/Plugins/Platform/MacOSX/PlatformDarwinKernel.cpp
    M lldb/source/Plugins/SystemRuntime/MacOSX/SystemRuntimeMacOSX.cpp
    M lldb/source/Utility/ArchSpec.cpp
    M lldb/unittests/Utility/ArchSpecTest.cpp

  Log Message:
  -----------
  [lldb] [darwin] Upstream a few DriverKit cases (#126604)

A DriverKit process is a kernel extension that runs in userland, instead
of running in the kernel address space/priv levels, they've been around
a couple of years. From lldb's perspective a DriverKit process is no
different from any other userland level process, but it has a different
Triple so we need to handle those cases in the lldb codebase. Some of
the DriverKit triple handling had been upstreamed to llvm-project, but I
noticed a few cases that had not yet. Cleaning that up.


  Commit: 472425ed42c855913da2b927c9db320b012aed44
      https://github.com/llvm/llvm-project/commit/472425ed42c855913da2b927c9db320b012aed44
  Author: Rahul Joshi <rjoshi at nvidia.com>
  Date:   2025-02-14 (Fri, 14 Feb 2025)

  Changed paths:
    M llvm/docs/ReleaseNotes.md
    M llvm/include/llvm/CodeGen/MachineOperand.h
    R llvm/include/llvm/Target/TargetIntrinsicInfo.h
    M llvm/include/llvm/Target/TargetMachine.h
    M llvm/lib/CodeGen/GlobalISel/IRTranslator.cpp
    M llvm/lib/CodeGen/MIRParser/MIParser.cpp
    M llvm/lib/CodeGen/MIRPrinter.cpp
    M llvm/lib/CodeGen/MachineInstr.cpp
    M llvm/lib/CodeGen/MachineOperand.cpp
    M llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp
    M llvm/lib/CodeGen/SelectionDAG/SelectionDAGDumper.cpp
    M llvm/lib/CodeGen/SelectionDAG/SelectionDAGISel.cpp
    M llvm/lib/Target/CMakeLists.txt
    M llvm/lib/Target/NVPTX/NVPTXISelDAGToDAG.cpp
    M llvm/lib/Target/SPIRV/SPIRVPostLegalizer.cpp
    M llvm/lib/Target/SPIRV/SPIRVPreLegalizer.cpp
    R llvm/lib/Target/TargetIntrinsicInfo.cpp
    M llvm/unittests/CodeGen/MachineOperandTest.cpp
    M llvm/unittests/MIR/MachineMetadata.cpp
    M llvm/utils/gn/secondary/llvm/lib/Target/BUILD.gn

  Log Message:
  -----------
  [NFC][LLVM] Remove unused `TargetIntrinsicInfo` class (#126003)

Remove `TargetIntrinsicInfo` class as its practically unused (its pure
virtual with no subclasses) and its references in the code.


  Commit: 84f6fa8c95560c1d373c1e7f85b0420be1fa1abc
      https://github.com/llvm/llvm-project/commit/84f6fa8c95560c1d373c1e7f85b0420be1fa1abc
  Author: Nico Weber <thakis at chromium.org>
  Date:   2025-02-14 (Fri, 14 Feb 2025)

  Changed paths:
    M clang/test/Analysis/live-stmts.cpp

  Log Message:
  -----------
  [clang] Disaqble test/Analysis/live-stmts.cpp on aarch64

See https://github.com/llvm/llvm-project/issues/126619 and discussion
on https://github.com/llvm/llvm-project/pull/125840


  Commit: 6d558742ab32197f350989a48f117e24006f80c4
      https://github.com/llvm/llvm-project/commit/6d558742ab32197f350989a48f117e24006f80c4
  Author: Jason Molenda <jmolenda at apple.com>
  Date:   2025-02-14 (Fri, 14 Feb 2025)

  Changed paths:
    M lldb/source/Plugins/ObjectFile/Mach-O/ObjectFileMachO.cpp

  Log Message:
  -----------
  [lldb] Fix two old UUID method calls in ObjectFileMachO

A section of ObjectFileMachO is ifdef compiled only when
building to run on iOS etc natively, so this old method
call rename wasn't detected by normal on-mac building.


  Commit: 55e89ffbde115a73ae0a71356444718edb7d197e
      https://github.com/llvm/llvm-project/commit/55e89ffbde115a73ae0a71356444718edb7d197e
  Author: Jonas Devlieghere <jonas at devlieghere.com>
  Date:   2025-02-14 (Fri, 14 Feb 2025)

  Changed paths:
    M lldb/include/lldb/Interpreter/OptionValueSInt64.h
    M lldb/include/lldb/Interpreter/OptionValueUInt64.h

  Log Message:
  -----------
  [lldb] Assert on invalid default {S,U}Int64 (NFC) (#126590)

Both the default value and the min/max value are within LLDB's control,
so an assert is more appropriate than a runtime check.


  Commit: 30a8754da9800f22365de7afaae2d6934b3c69b6
      https://github.com/llvm/llvm-project/commit/30a8754da9800f22365de7afaae2d6934b3c69b6
  Author: Keith Smiley <keithbsmiley at gmail.com>
  Date:   2025-02-14 (Fri, 14 Feb 2025)

  Changed paths:
    M lldb/tools/lldb-dap/OutputRedirector.cpp

  Log Message:
  -----------
  [lldb-dap] Silence Wunused-result warning (#126580)


  Commit: 975a4db925f72dc9ad2ac89b8cfca0944eebff63
      https://github.com/llvm/llvm-project/commit/975a4db925f72dc9ad2ac89b8cfca0944eebff63
  Author: Slava Zakharin <szakharin at nvidia.com>
  Date:   2025-02-14 (Fri, 14 Feb 2025)

  Changed paths:
    M flang/include/flang/Optimizer/Builder/FIRBuilder.h
    M flang/lib/Optimizer/HLFIR/Transforms/OptimizedBufferization.cpp
    M flang/test/HLFIR/maxval-elemental.fir
    M flang/test/HLFIR/minval-elemental.fir

  Log Message:
  -----------
  [flang] Propagate fast-math flags to FIROpBuilder. (#126316)

One constructor was missing to propagate fast-math flags
from an operation to the builder. It is fixed now.
And the builder creation in one opt-bufferization case should take
the rewriter, I think.


  Commit: 77850663f9aa47e95624caadd48782fe91d42462
      https://github.com/llvm/llvm-project/commit/77850663f9aa47e95624caadd48782fe91d42462
  Author: Kazu Hirata <kazu at google.com>
  Date:   2025-02-14 (Fri, 14 Feb 2025)

  Changed paths:
    M lldb/source/Core/Telemetry.cpp

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

This patch fixes:

  lldb/source/Core/Telemetry.cpp:44:20: error: unused function
  'MakeUUID' [-Werror,-Wunused-function]


  Commit: 6e407e9983acc2a5fffda2a29fc42d69aa494da8
      https://github.com/llvm/llvm-project/commit/6e407e9983acc2a5fffda2a29fc42d69aa494da8
  Author: A. Jiang <de34 at live.cn>
  Date:   2025-02-14 (Fri, 14 Feb 2025)

  Changed paths:
    M libcxx/test/std/containers/Emplaceable.h
    M libcxx/test/std/containers/container.adaptors/flat.map/flat.map.access/at_transparent.pass.cpp

  Log Message:
  -----------
  [libc++][test] Fixes for `hash<Emplaceable>` and value discarding (#126566)

Currently `std::hash<Emplaceable>::operator()` relies implicit
conversion from `int` to `size_t`, which makes MSVC compelling. This PR
switches to use `static_cast`.

In `flat.map/flat.map.access/at_transparent.pass.cpp`, there's one
value-discarding use of `at` that wasn't marked `TEST_IGNORE_NODISCARD`.
This PR adds the missing `TEST_IGNORE_NODISCARD`.


  Commit: 522219c877563a866a0b638d3d0e464a662b566f
      https://github.com/llvm/llvm-project/commit/522219c877563a866a0b638d3d0e464a662b566f
  Author: Uday Bondhugula <uday at polymagelabs.com>
  Date:   2025-02-14 (Fri, 14 Feb 2025)

  Changed paths:
    M mlir/include/mlir/Dialect/Affine/Analysis/Utils.h
    M mlir/lib/Dialect/Affine/Analysis/Utils.cpp
    M mlir/lib/Dialect/Affine/Transforms/LoopFusion.cpp

  Log Message:
  -----------
  [MLIR][Affine] Make affine fusion MDG API const correct (#125994)

Make affine fusion MDG API const correct. NFC changes otherwise.


  Commit: f92817403047da94f5e9426e2d09d754126bcf31
      https://github.com/llvm/llvm-project/commit/f92817403047da94f5e9426e2d09d754126bcf31
  Author: Florian Mayer <fmayer at google.com>
  Date:   2025-02-14 (Fri, 14 Feb 2025)

  Changed paths:
    M clang/lib/Driver/ToolChains/AMDGPU.cpp
    M clang/lib/Driver/ToolChains/AMDGPUOpenMP.cpp
    M clang/test/Driver/amdgpu-openmp-sanitize-options.c
    M clang/test/Driver/hip-sanitize-options.hip

  Log Message:
  -----------
  Revert "[Driver][ROCm][OpenMP] Fix default ockl linking for OpenMP." (#126628)

Reverts llvm/llvm-project#126186

This broke the sanitizer buildbot:
https://lab.llvm.org/buildbot/#/builders/55/builds/6846


  Commit: 225642ef4947f7464ba3ca016b3ebb6826e60561
      https://github.com/llvm/llvm-project/commit/225642ef4947f7464ba3ca016b3ebb6826e60561
  Author: Oleksandr T. <oleksandr.tarasiuk at outlook.com>
  Date:   2025-02-14 (Fri, 14 Feb 2025)

  Changed paths:
    M clang/docs/ReleaseNotes.rst
    M clang/include/clang/Basic/DiagnosticSemaKinds.td
    M clang/lib/Sema/SemaAttr.cpp
    M clang/lib/Sema/SemaType.cpp
    M clang/test/SemaCXX/attr-cxx0x.cpp

  Log Message:
  -----------
  [Clang] disallow attributes on void parameters (#124920)

Fixes #108819 

--- 

This PR introduces diagnostics to disallow the use of attributes on void
parameters

```cpp
void f([[deprecated]] void) {}
```


  Commit: 0a2da3c6ca4b2bd367af2aadaaf8e3151dcbb1c1
      https://github.com/llvm/llvm-project/commit/0a2da3c6ca4b2bd367af2aadaaf8e3151dcbb1c1
  Author: Shilei Tian <i at tianshilei.me>
  Date:   2025-02-14 (Fri, 14 Feb 2025)

  Changed paths:
    M llvm/test/Transforms/StructurizeCFG/simple-structurizecfg-crash.ll

  Log Message:
  -----------
  [FIX] Add `REQUIRES: asserts` to `llvm/test/Transforms/StructurizeCFG/simple-structurizecfg-crash.ll`


  Commit: 2c1142a73b919b37e660e39d4c60c0085ca20080
      https://github.com/llvm/llvm-project/commit/2c1142a73b919b37e660e39d4c60c0085ca20080
  Author: yingopq <115543042+yingopq at users.noreply.github.com>
  Date:   2025-02-14 (Fri, 14 Feb 2025)

  Changed paths:
    M llvm/lib/Target/Mips/MipsISelLowering.cpp
    M llvm/lib/Target/Mips/MipsISelLowering.h
    A llvm/test/CodeGen/Mips/readcyclecounter.ll

  Log Message:
  -----------
  [Mips] Support llvm.readcyclecounter intrinsic (#114953)

The llvm.readcyclecounter intrinsic can be implemented via the `rdhwr
$3, $hwr_cc` instruction.
$hwr_cc: High-resolution cycle counter. This register provides read
access to the coprocessor 0 Count Register.

Fix #106318.


  Commit: 735400985d2e85e650fbe2516252e3343330f803
      https://github.com/llvm/llvm-project/commit/735400985d2e85e650fbe2516252e3343330f803
  Author: Baranov Victor <70346889+vbvictor at users.noreply.github.com>
  Date:   2025-02-14 (Fri, 14 Feb 2025)

  Changed paths:
    M clang-tools-extra/clang-tidy/bugprone/StringConstructorCheck.cpp
    M clang-tools-extra/docs/ReleaseNotes.rst
    M clang-tools-extra/docs/clang-tidy/checks/bugprone/string-constructor.rst
    M clang-tools-extra/test/clang-tidy/checkers/bugprone/string-constructor.cpp

  Log Message:
  -----------
  [clang-tidy] Added support for 3-argument std::string ctor in bugprone-string-constructor check (#123413)

This PR add diagnostics for 3-parameter `std::basic_string(const char*
t, size_type pos, size_type count)` constructor in
bugprone-string-constructor check:

```cpp
  std::string r1("test", 1, 0); // constructor creating an empty string
  std::string r2("test", 0, -4); // negative value used as length parameter
  // more examples in test file
  ```

Fixes false-positives reported in https://github.com/llvm/llvm-project/issues/123198.


  Commit: bcc2cde061b520f08fc196dba4e5e22f1d6294ac
      https://github.com/llvm/llvm-project/commit/bcc2cde061b520f08fc196dba4e5e22f1d6294ac
  Author: Sam Elliott <quic_aelliott at quicinc.com>
  Date:   2025-02-14 (Fri, 14 Feb 2025)

  Changed paths:
    M llvm/lib/Target/RISCV/RISCVRegisterInfo.td
    M llvm/test/MC/RISCV/rv32c-invalid.s
    M llvm/test/MC/RISCV/rv64c-invalid.s
    M llvm/test/MC/RISCV/rvc-hints-invalid.s
    M llvm/test/MC/RISCV/xqcia-invalid.s
    M llvm/test/MC/RISCV/xqciac-invalid.s
    M llvm/test/MC/RISCV/xqcicli-invalid.s
    M llvm/test/MC/RISCV/xqcicm-invalid.s
    M llvm/test/MC/RISCV/xqcics-invalid.s
    M llvm/test/MC/RISCV/xqcicsr-invalid.s
    M llvm/test/MC/RISCV/xqciint-invalid.s
    M llvm/test/MC/RISCV/xqcilsm-invalid.s
    M llvm/test/MC/RISCV/xqcisls-invalid.s
    M llvm/test/MC/RISCV/zicfiss-invalid.s

  Log Message:
  -----------
  [RISCV] Improve Errors for GPRNoX0 Reg Class (#126397)

More adoption of better diagnostics for RISC-V register classes:
- GPRNoX0 (GPRs excluding `zero`)


  Commit: a73648fc97563033de484bc9e20ca4cc1ddc3e51
      https://github.com/llvm/llvm-project/commit/a73648fc97563033de484bc9e20ca4cc1ddc3e51
  Author: Jens Reidel <adrian at travitia.xyz>
  Date:   2025-02-14 (Fri, 14 Feb 2025)

  Changed paths:
    M compiler-rt/lib/sanitizer_common/sanitizer_stoptheworld_linux_libcdep.cpp

  Log Message:
  -----------
  [compiler-rt][Mips] Fix mips SP register definition (#124493)

The mainline Linux kernel defines EF_R29, not EF_REG29 [1]. Further, the
asm/reg.h header requires `_MIPS_SIM_*` to be defined, which reside in
asm/sgidefs.h [2].

[1]:
https://github.com/torvalds/linux/blob/v6.13/arch/mips/include/uapi/asm/reg.h#L151
[2]:
https://github.com/torvalds/linux/blob/v6.13/arch/mips/include/uapi/asm/sgidefs.h#L33-L35

---------

Signed-off-by: Jens Reidel <adrian at travitia.xyz>


  Commit: 71c0a7b47662adcbcba87264d261b10d26df6abe
      https://github.com/llvm/llvm-project/commit/71c0a7b47662adcbcba87264d261b10d26df6abe
  Author: Ryosuke Niwa <rniwa at webkit.org>
  Date:   2025-02-14 (Fri, 14 Feb 2025)

  Changed paths:
    M clang/lib/StaticAnalyzer/Checkers/WebKit/PtrTypesSemantics.cpp
    M clang/test/Analysis/Checkers/WebKit/uncounted-obj-arg.cpp

  Log Message:
  -----------
  [WebKit checkers] Treat an implicit value initialization as trivial (#126203)

Implicit value initialization is trivial for our purposes.


  Commit: 515803f5d7c39ddf14d7af304a3c537015dbd3cc
      https://github.com/llvm/llvm-project/commit/515803f5d7c39ddf14d7af304a3c537015dbd3cc
  Author: Mikołaj Piróg <mikolaj.maciej.pirog at intel.com>
  Date:   2025-02-14 (Fri, 14 Feb 2025)

  Changed paths:
    M clang/lib/Headers/avx10_2convertintrin.h
    M clang/test/CodeGen/X86/avx10_2convert-builtins.c

  Log Message:
  -----------
  [AVX10.2] Fix wrong mask casting in some convert intrinsics (#126627)

Found during work on #120927. This caused the compiler to silently drop
ignore half of the mask in the specific intrinsics.


  Commit: f8ee1e0e35198934500ec6abc2ab9e1ea8a017d6
      https://github.com/llvm/llvm-project/commit/f8ee1e0e35198934500ec6abc2ab9e1ea8a017d6
  Author: Phoebe Wang <phoebe.wang at intel.com>
  Date:   2025-02-14 (Fri, 14 Feb 2025)

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

  Log Message:
  -----------
  [X86] Generate cvtpd2dq for (v2i32 lrint(v2f64)) (#126508)

Found when addressing comment on #126477


  Commit: a0a8fc7c8ea3c50f0762881ada6424c81a24082e
      https://github.com/llvm/llvm-project/commit/a0a8fc7c8ea3c50f0762881ada6424c81a24082e
  Author: Louis Dionne <ldionne.2 at gmail.com>
  Date:   2025-02-14 (Fri, 14 Feb 2025)

  Changed paths:
    M libcxx/test/libcxx/containers/associative/map/at.abort.pass.cpp
    M libcxx/test/libcxx/containers/associative/map/at.const.abort.pass.cpp
    M libcxx/test/libcxx/containers/associative/map/find.modules.compile.pass.mm
    M libcxx/test/libcxx/containers/associative/non_const_comparator.incomplete.verify.cpp
    M libcxx/test/libcxx/containers/associative/tree_balance_after_insert.pass.cpp
    M libcxx/test/libcxx/containers/associative/tree_key_value_traits.pass.cpp
    M libcxx/test/libcxx/containers/associative/tree_left_rotate.pass.cpp
    M libcxx/test/libcxx/containers/associative/tree_remove.pass.cpp
    M libcxx/test/libcxx/containers/associative/tree_right_rotate.pass.cpp
    M libcxx/test/libcxx/containers/gnu_cxx/hash_map_name_lookup.pass.cpp
    M libcxx/test/libcxx/containers/sequences/array/triviality.pass.cpp
    M libcxx/test/libcxx/containers/sequences/deque/asan.pass.cpp
    M libcxx/test/libcxx/containers/sequences/deque/assert.pop_back.empty.pass.cpp
    M libcxx/test/libcxx/containers/sequences/deque/incomplete.pass.cpp
    M libcxx/test/libcxx/containers/sequences/deque/segmented_iterator.compile.pass.cpp
    M libcxx/test/libcxx/containers/sequences/deque/spare_block_handling.pass.cpp
    M libcxx/test/libcxx/containers/sequences/list/list.cons/debug.copy.pass.cpp
    M libcxx/test/libcxx/containers/sequences/list/list.modifiers/assert.erase_iter.end.pass.cpp
    M libcxx/test/libcxx/containers/sequences/list/list.modifiers/assert.pop_back.empty.pass.cpp
    M libcxx/test/libcxx/containers/sequences/list/list.modifiers/debug.emplace.pass.cpp
    M libcxx/test/libcxx/containers/sequences/list/list.modifiers/debug.erase.iter.pass.cpp
    M libcxx/test/libcxx/containers/sequences/list/list.modifiers/debug.erase.iter_iter.pass.cpp
    M libcxx/test/libcxx/containers/sequences/list/list.modifiers/debug.insert.iter_iter_iter.pass.cpp
    M libcxx/test/libcxx/containers/sequences/list/list.modifiers/debug.insert.iter_rvalue.pass.cpp
    M libcxx/test/libcxx/containers/sequences/list/list.modifiers/debug.insert.iter_size_value.pass.cpp
    M libcxx/test/libcxx/containers/sequences/list/list.modifiers/debug.insert.iter_value.pass.cpp
    M libcxx/test/libcxx/containers/sequences/list/list.ops/debug.splice.pos_list.pass.cpp
    M libcxx/test/libcxx/containers/sequences/list/list.ops/debug.splice.pos_list_iter.pass.cpp
    M libcxx/test/libcxx/containers/sequences/vector.bool/trivial_for_purposes_of_call.pass.cpp
    M libcxx/test/libcxx/containers/sequences/vector/asan.pass.cpp
    M libcxx/test/libcxx/containers/sequences/vector/asan_throw.pass.cpp
    M libcxx/test/libcxx/containers/sequences/vector/asan_turning_off.pass.cpp
    M libcxx/test/libcxx/containers/sequences/vector/assert.pop_back.empty.pass.cpp
    M libcxx/test/libcxx/containers/sequences/vector/erase.modules.compile.pass.mm
    M libcxx/test/libcxx/containers/sequences/vector/exception_safety_exceptions_disabled.pass.cpp
    M libcxx/test/libcxx/containers/sequences/vector/invalid_allocator.verify.cpp
    M libcxx/test/libcxx/containers/sequences/vector/robust_against_adl.pass.cpp
    M libcxx/test/libcxx/containers/unord/key_value_traits.pass.cpp
    M libcxx/test/libcxx/containers/unord/next_pow2.pass.cpp
    M libcxx/test/libcxx/containers/unord/next_prime.pass.cpp
    M libcxx/test/libcxx/containers/unord/non_const_comparator.incomplete.verify.cpp
    M libcxx/test/libcxx/containers/unord/unord.map/assert.bucket.pass.cpp
    M libcxx/test/libcxx/containers/unord/unord.map/assert.bucket_size.pass.cpp
    M libcxx/test/libcxx/containers/unord/unord.map/assert.max_load_factor.pass.cpp
    M libcxx/test/libcxx/containers/unord/unord.map/at.abort.pass.cpp
    M libcxx/test/libcxx/containers/unord/unord.map/at.const.abort.pass.cpp
    M libcxx/test/libcxx/containers/unord/unord.map/debug.insert.hint_const_lvalue.pass.cpp
    M libcxx/test/libcxx/containers/unord/unord.map/debug.insert.hint_rvalue.pass.cpp
    M libcxx/test/libcxx/containers/unord/unord.map/debug.swap.pass.cpp
    M libcxx/test/libcxx/containers/unord/unord.map/unord.map.modifiers/debug.erase.iter.pass.cpp
    M libcxx/test/libcxx/containers/unord/unord.map/unord.map.modifiers/debug.erase.iter_iter.pass.cpp
    M libcxx/test/libcxx/containers/unord/unord.multimap/assert.bucket.pass.cpp
    M libcxx/test/libcxx/containers/unord/unord.multimap/assert.bucket_size.pass.cpp
    M libcxx/test/libcxx/containers/unord/unord.multimap/assert.max_load_factor.pass.cpp
    M libcxx/test/libcxx/containers/unord/unord.multimap/debug.insert.hint_const_lvalue.pass.cpp
    M libcxx/test/libcxx/containers/unord/unord.multimap/debug.insert.hint_rvalue.pass.cpp
    M libcxx/test/libcxx/containers/unord/unord.multimap/debug.swap.pass.cpp
    M libcxx/test/libcxx/containers/unord/unord.multimap/unord.multimap.modifiers/debug.erase.iter.pass.cpp
    M libcxx/test/libcxx/containers/unord/unord.multimap/unord.multimap.modifiers/debug.erase.iter_iter.pass.cpp
    M libcxx/test/libcxx/containers/unord/unord.multiset/assert.bucket.pass.cpp
    M libcxx/test/libcxx/containers/unord/unord.multiset/assert.bucket_size.pass.cpp
    M libcxx/test/libcxx/containers/unord/unord.multiset/assert.max_load_factor.pass.cpp
    M libcxx/test/libcxx/containers/unord/unord.multiset/debug.erase.iter.pass.cpp
    M libcxx/test/libcxx/containers/unord/unord.multiset/debug.erase.iter_iter.pass.cpp
    M libcxx/test/libcxx/containers/unord/unord.multiset/debug.insert.hint_const_lvalue.pass.cpp
    M libcxx/test/libcxx/containers/unord/unord.multiset/debug.swap.pass.cpp
    M libcxx/test/libcxx/containers/unord/unord.set/assert.bucket.pass.cpp
    M libcxx/test/libcxx/containers/unord/unord.set/assert.bucket_size.pass.cpp
    M libcxx/test/libcxx/containers/unord/unord.set/assert.max_load_factor.pass.cpp
    M libcxx/test/libcxx/containers/unord/unord.set/debug.erase.iter.pass.cpp
    M libcxx/test/libcxx/containers/unord/unord.set/debug.erase.iter_iter.pass.cpp
    M libcxx/test/libcxx/containers/unord/unord.set/debug.insert.hint_const_lvalue.pass.cpp
    M libcxx/test/libcxx/containers/unord/unord.set/debug.swap.pass.cpp
    M libcxx/test/libcxx/containers/unord/unord.set/missing_hash_specialization.verify.cpp
    M libcxx/test/libcxx/containers/views/mdspan/extents/assert.ctor_from_array.pass.cpp
    M libcxx/test/libcxx/containers/views/views.span/span.cons/assert.iter_sent.pass.cpp
    M libcxx/test/libcxx/containers/views/views.span/span.cons/assert.other_span.pass.cpp
    M libcxx/test/libcxx/containers/views/views.span/span.cons/assert.range.pass.cpp
    M libcxx/test/libcxx/containers/views/views.span/span.elem/assert.back.pass.cpp
    M libcxx/test/libcxx/containers/views/views.span/span.elem/assert.front.pass.cpp
    M libcxx/test/libcxx/containers/views/views.span/span.elem/assert.op_idx.pass.cpp
    M libcxx/test/libcxx/containers/views/views.span/span.sub/assert.first.pass.cpp
    M libcxx/test/libcxx/containers/views/views.span/span.sub/assert.last.pass.cpp
    M libcxx/test/libcxx/containers/views/views.span/span.sub/assert.subspan.pass.cpp
    M libcxx/test/std/containers/Copyable.h
    M libcxx/test/std/containers/Emplaceable.h
    M libcxx/test/std/containers/NotConstructible.h
    M libcxx/test/std/containers/associative/from_range_associative_containers.h
    M libcxx/test/std/containers/associative/iterator_types.pass.cpp
    M libcxx/test/std/containers/associative/map/PR28469_undefined_behavior_segfault.sh.cpp
    M libcxx/test/std/containers/associative/map/allocator_mismatch.verify.cpp
    M libcxx/test/std/containers/associative/map/compare.pass.cpp
    M libcxx/test/std/containers/associative/map/get_allocator.pass.cpp
    M libcxx/test/std/containers/associative/map/incomplete_type.pass.cpp
    M libcxx/test/std/containers/associative/map/iterator_concept_conformance.compile.pass.cpp
    M libcxx/test/std/containers/associative/map/map.access/at.pass.cpp
    M libcxx/test/std/containers/associative/map/map.access/empty.pass.cpp
    M libcxx/test/std/containers/associative/map/map.access/empty.verify.cpp
    M libcxx/test/std/containers/associative/map/map.access/index_key.pass.cpp
    M libcxx/test/std/containers/associative/map/map.access/index_rv_key.pass.cpp
    M libcxx/test/std/containers/associative/map/map.access/index_tuple.pass.cpp
    M libcxx/test/std/containers/associative/map/map.access/iterator.pass.cpp
    M libcxx/test/std/containers/associative/map/map.access/max_size.pass.cpp
    M libcxx/test/std/containers/associative/map/map.access/size.pass.cpp
    M libcxx/test/std/containers/associative/map/map.cons/alloc.pass.cpp
    M libcxx/test/std/containers/associative/map/map.cons/assign_initializer_list.pass.cpp
    M libcxx/test/std/containers/associative/map/map.cons/compare.pass.cpp
    M libcxx/test/std/containers/associative/map/map.cons/compare_alloc.pass.cpp
    M libcxx/test/std/containers/associative/map/map.cons/compare_copy_constructible.compile.fail.cpp
    M libcxx/test/std/containers/associative/map/map.cons/copy.pass.cpp
    M libcxx/test/std/containers/associative/map/map.cons/copy_alloc.pass.cpp
    M libcxx/test/std/containers/associative/map/map.cons/copy_assign.pass.cpp
    M libcxx/test/std/containers/associative/map/map.cons/deduct.pass.cpp
    M libcxx/test/std/containers/associative/map/map.cons/deduct.verify.cpp
    M libcxx/test/std/containers/associative/map/map.cons/deduct_const.pass.cpp
    M libcxx/test/std/containers/associative/map/map.cons/default.pass.cpp
    M libcxx/test/std/containers/associative/map/map.cons/default_noexcept.pass.cpp
    M libcxx/test/std/containers/associative/map/map.cons/dtor_noexcept.pass.cpp
    M libcxx/test/std/containers/associative/map/map.cons/from_range.pass.cpp
    M libcxx/test/std/containers/associative/map/map.cons/initializer_list.pass.cpp
    M libcxx/test/std/containers/associative/map/map.cons/initializer_list_compare.pass.cpp
    M libcxx/test/std/containers/associative/map/map.cons/initializer_list_compare_alloc.pass.cpp
    M libcxx/test/std/containers/associative/map/map.cons/iter_iter.pass.cpp
    M libcxx/test/std/containers/associative/map/map.cons/iter_iter_comp.pass.cpp
    M libcxx/test/std/containers/associative/map/map.cons/iter_iter_comp_alloc.pass.cpp
    M libcxx/test/std/containers/associative/map/map.cons/move.pass.cpp
    M libcxx/test/std/containers/associative/map/map.cons/move_alloc.pass.cpp
    M libcxx/test/std/containers/associative/map/map.cons/move_assign.pass.cpp
    M libcxx/test/std/containers/associative/map/map.cons/move_noexcept.pass.cpp
    M libcxx/test/std/containers/associative/map/map.erasure/erase_if.pass.cpp
    M libcxx/test/std/containers/associative/map/map.modifiers/clear.pass.cpp
    M libcxx/test/std/containers/associative/map/map.modifiers/emplace.pass.cpp
    M libcxx/test/std/containers/associative/map/map.modifiers/emplace_hint.pass.cpp
    M libcxx/test/std/containers/associative/map/map.modifiers/erase_iter.pass.cpp
    M libcxx/test/std/containers/associative/map/map.modifiers/erase_iter_iter.pass.cpp
    M libcxx/test/std/containers/associative/map/map.modifiers/erase_key.pass.cpp
    M libcxx/test/std/containers/associative/map/map.modifiers/extract_iterator.pass.cpp
    M libcxx/test/std/containers/associative/map/map.modifiers/extract_key.pass.cpp
    M libcxx/test/std/containers/associative/map/map.modifiers/insert_and_emplace_allocator_requirements.pass.cpp
    M libcxx/test/std/containers/associative/map/map.modifiers/insert_cv.pass.cpp
    M libcxx/test/std/containers/associative/map/map.modifiers/insert_initializer_list.pass.cpp
    M libcxx/test/std/containers/associative/map/map.modifiers/insert_iter_cv.pass.cpp
    M libcxx/test/std/containers/associative/map/map.modifiers/insert_iter_iter.pass.cpp
    M libcxx/test/std/containers/associative/map/map.modifiers/insert_iter_rv.pass.cpp
    M libcxx/test/std/containers/associative/map/map.modifiers/insert_node_type.pass.cpp
    M libcxx/test/std/containers/associative/map/map.modifiers/insert_node_type_hint.pass.cpp
    M libcxx/test/std/containers/associative/map/map.modifiers/insert_or_assign.pass.cpp
    M libcxx/test/std/containers/associative/map/map.modifiers/insert_range.pass.cpp
    M libcxx/test/std/containers/associative/map/map.modifiers/insert_rv.pass.cpp
    M libcxx/test/std/containers/associative/map/map.modifiers/merge.pass.cpp
    M libcxx/test/std/containers/associative/map/map.modifiers/try.emplace.pass.cpp
    M libcxx/test/std/containers/associative/map/map.nonmember/op_compare.pass.cpp
    M libcxx/test/std/containers/associative/map/map.observers/key_comp.pass.cpp
    M libcxx/test/std/containers/associative/map/map.observers/value_comp.pass.cpp
    M libcxx/test/std/containers/associative/map/map.ops/contains.pass.cpp
    M libcxx/test/std/containers/associative/map/map.ops/contains_transparent.pass.cpp
    M libcxx/test/std/containers/associative/map/map.ops/count0.pass.cpp
    M libcxx/test/std/containers/associative/map/map.ops/count1.compile.fail.cpp
    M libcxx/test/std/containers/associative/map/map.ops/count2.compile.fail.cpp
    M libcxx/test/std/containers/associative/map/map.ops/count3.compile.fail.cpp
    M libcxx/test/std/containers/associative/map/map.ops/count_transparent.pass.cpp
    M libcxx/test/std/containers/associative/map/map.ops/equal_range.pass.cpp
    M libcxx/test/std/containers/associative/map/map.ops/equal_range0.pass.cpp
    M libcxx/test/std/containers/associative/map/map.ops/equal_range1.compile.fail.cpp
    M libcxx/test/std/containers/associative/map/map.ops/equal_range2.compile.fail.cpp
    M libcxx/test/std/containers/associative/map/map.ops/equal_range3.compile.fail.cpp
    M libcxx/test/std/containers/associative/map/map.ops/equal_range_transparent.pass.cpp
    M libcxx/test/std/containers/associative/map/map.ops/find.pass.cpp
    M libcxx/test/std/containers/associative/map/map.ops/find0.pass.cpp
    M libcxx/test/std/containers/associative/map/map.ops/find1.compile.fail.cpp
    M libcxx/test/std/containers/associative/map/map.ops/find2.compile.fail.cpp
    M libcxx/test/std/containers/associative/map/map.ops/find3.compile.fail.cpp
    M libcxx/test/std/containers/associative/map/map.ops/lower_bound.pass.cpp
    M libcxx/test/std/containers/associative/map/map.ops/lower_bound0.pass.cpp
    M libcxx/test/std/containers/associative/map/map.ops/lower_bound1.compile.fail.cpp
    M libcxx/test/std/containers/associative/map/map.ops/lower_bound2.compile.fail.cpp
    M libcxx/test/std/containers/associative/map/map.ops/lower_bound3.compile.fail.cpp
    M libcxx/test/std/containers/associative/map/map.ops/upper_bound.pass.cpp
    M libcxx/test/std/containers/associative/map/map.ops/upper_bound0.pass.cpp
    M libcxx/test/std/containers/associative/map/map.ops/upper_bound1.compile.fail.cpp
    M libcxx/test/std/containers/associative/map/map.ops/upper_bound2.compile.fail.cpp
    M libcxx/test/std/containers/associative/map/map.ops/upper_bound3.compile.fail.cpp
    M libcxx/test/std/containers/associative/map/map.special/member_swap.pass.cpp
    M libcxx/test/std/containers/associative/map/map.special/non_member_swap.pass.cpp
    M libcxx/test/std/containers/associative/map/map.special/swap_noexcept.pass.cpp
    M libcxx/test/std/containers/associative/map/map.value_compare/invoke.pass.cpp
    M libcxx/test/std/containers/associative/map/map.value_compare/types.pass.cpp
    M libcxx/test/std/containers/associative/map/range_concept_conformance.compile.pass.cpp
    M libcxx/test/std/containers/associative/map/types.pass.cpp
    M libcxx/test/std/containers/associative/multimap/allocator_mismatch.verify.cpp
    M libcxx/test/std/containers/associative/multimap/empty.pass.cpp
    M libcxx/test/std/containers/associative/multimap/empty.verify.cpp
    M libcxx/test/std/containers/associative/multimap/get_allocator.pass.cpp
    M libcxx/test/std/containers/associative/multimap/incomplete_type.pass.cpp
    M libcxx/test/std/containers/associative/multimap/iterator.pass.cpp
    M libcxx/test/std/containers/associative/multimap/iterator_concept_conformance.compile.pass.cpp
    M libcxx/test/std/containers/associative/multimap/max_size.pass.cpp
    M libcxx/test/std/containers/associative/multimap/multimap.cons/alloc.pass.cpp
    M libcxx/test/std/containers/associative/multimap/multimap.cons/assign_initializer_list.pass.cpp
    M libcxx/test/std/containers/associative/multimap/multimap.cons/compare.pass.cpp
    M libcxx/test/std/containers/associative/multimap/multimap.cons/compare_alloc.pass.cpp
    M libcxx/test/std/containers/associative/multimap/multimap.cons/compare_copy_constructible.compile.fail.cpp
    M libcxx/test/std/containers/associative/multimap/multimap.cons/copy.pass.cpp
    M libcxx/test/std/containers/associative/multimap/multimap.cons/copy_alloc.pass.cpp
    M libcxx/test/std/containers/associative/multimap/multimap.cons/copy_assign.pass.cpp
    M libcxx/test/std/containers/associative/multimap/multimap.cons/deduct.pass.cpp
    M libcxx/test/std/containers/associative/multimap/multimap.cons/deduct.verify.cpp
    M libcxx/test/std/containers/associative/multimap/multimap.cons/deduct_const.pass.cpp
    M libcxx/test/std/containers/associative/multimap/multimap.cons/default.pass.cpp
    M libcxx/test/std/containers/associative/multimap/multimap.cons/default_noexcept.pass.cpp
    M libcxx/test/std/containers/associative/multimap/multimap.cons/dtor_noexcept.pass.cpp
    M libcxx/test/std/containers/associative/multimap/multimap.cons/from_range.pass.cpp
    M libcxx/test/std/containers/associative/multimap/multimap.cons/initializer_list.pass.cpp
    M libcxx/test/std/containers/associative/multimap/multimap.cons/initializer_list_compare.pass.cpp
    M libcxx/test/std/containers/associative/multimap/multimap.cons/initializer_list_compare_alloc.pass.cpp
    M libcxx/test/std/containers/associative/multimap/multimap.cons/iter_iter.pass.cpp
    M libcxx/test/std/containers/associative/multimap/multimap.cons/iter_iter_comp.pass.cpp
    M libcxx/test/std/containers/associative/multimap/multimap.cons/iter_iter_comp_alloc.pass.cpp
    M libcxx/test/std/containers/associative/multimap/multimap.cons/move.pass.cpp
    M libcxx/test/std/containers/associative/multimap/multimap.cons/move_alloc.pass.cpp
    M libcxx/test/std/containers/associative/multimap/multimap.cons/move_assign.pass.cpp
    M libcxx/test/std/containers/associative/multimap/multimap.cons/move_noexcept.pass.cpp
    M libcxx/test/std/containers/associative/multimap/multimap.erasure/erase_if.pass.cpp
    M libcxx/test/std/containers/associative/multimap/multimap.modifiers/clear.pass.cpp
    M libcxx/test/std/containers/associative/multimap/multimap.modifiers/emplace.pass.cpp
    M libcxx/test/std/containers/associative/multimap/multimap.modifiers/emplace_hint.pass.cpp
    M libcxx/test/std/containers/associative/multimap/multimap.modifiers/erase_iter.pass.cpp
    M libcxx/test/std/containers/associative/multimap/multimap.modifiers/erase_iter_iter.pass.cpp
    M libcxx/test/std/containers/associative/multimap/multimap.modifiers/erase_key.pass.cpp
    M libcxx/test/std/containers/associative/multimap/multimap.modifiers/extract_iterator.pass.cpp
    M libcxx/test/std/containers/associative/multimap/multimap.modifiers/extract_key.pass.cpp
    M libcxx/test/std/containers/associative/multimap/multimap.modifiers/insert_allocator_requirements.pass.cpp
    M libcxx/test/std/containers/associative/multimap/multimap.modifiers/insert_cv.pass.cpp
    M libcxx/test/std/containers/associative/multimap/multimap.modifiers/insert_initializer_list.pass.cpp
    M libcxx/test/std/containers/associative/multimap/multimap.modifiers/insert_iter_cv.pass.cpp
    M libcxx/test/std/containers/associative/multimap/multimap.modifiers/insert_iter_iter.pass.cpp
    M libcxx/test/std/containers/associative/multimap/multimap.modifiers/insert_iter_rv.pass.cpp
    M libcxx/test/std/containers/associative/multimap/multimap.modifiers/insert_node_type.pass.cpp
    M libcxx/test/std/containers/associative/multimap/multimap.modifiers/insert_node_type_hint.pass.cpp
    M libcxx/test/std/containers/associative/multimap/multimap.modifiers/insert_range.pass.cpp
    M libcxx/test/std/containers/associative/multimap/multimap.modifiers/insert_rv.pass.cpp
    M libcxx/test/std/containers/associative/multimap/multimap.modifiers/merge.pass.cpp
    M libcxx/test/std/containers/associative/multimap/multimap.nonmember/op_compare.pass.cpp
    M libcxx/test/std/containers/associative/multimap/multimap.observers/key_comp.pass.cpp
    M libcxx/test/std/containers/associative/multimap/multimap.observers/value_comp.pass.cpp
    M libcxx/test/std/containers/associative/multimap/multimap.ops/count.pass.cpp
    M libcxx/test/std/containers/associative/multimap/multimap.ops/count0.pass.cpp
    M libcxx/test/std/containers/associative/multimap/multimap.ops/count1.compile.fail.cpp
    M libcxx/test/std/containers/associative/multimap/multimap.ops/count2.compile.fail.cpp
    M libcxx/test/std/containers/associative/multimap/multimap.ops/count3.compile.fail.cpp
    M libcxx/test/std/containers/associative/multimap/multimap.ops/count_transparent.pass.cpp
    M libcxx/test/std/containers/associative/multimap/multimap.ops/equal_range.pass.cpp
    M libcxx/test/std/containers/associative/multimap/multimap.ops/equal_range0.pass.cpp
    M libcxx/test/std/containers/associative/multimap/multimap.ops/equal_range1.compile.fail.cpp
    M libcxx/test/std/containers/associative/multimap/multimap.ops/equal_range2.compile.fail.cpp
    M libcxx/test/std/containers/associative/multimap/multimap.ops/equal_range3.compile.fail.cpp
    M libcxx/test/std/containers/associative/multimap/multimap.ops/equal_range_transparent.pass.cpp
    M libcxx/test/std/containers/associative/multimap/multimap.ops/find.pass.cpp
    M libcxx/test/std/containers/associative/multimap/multimap.ops/find0.pass.cpp
    M libcxx/test/std/containers/associative/multimap/multimap.ops/find1.compile.fail.cpp
    M libcxx/test/std/containers/associative/multimap/multimap.ops/find2.compile.fail.cpp
    M libcxx/test/std/containers/associative/multimap/multimap.ops/find3.compile.fail.cpp
    M libcxx/test/std/containers/associative/multimap/multimap.ops/lower_bound.pass.cpp
    M libcxx/test/std/containers/associative/multimap/multimap.ops/lower_bound0.pass.cpp
    M libcxx/test/std/containers/associative/multimap/multimap.ops/lower_bound1.compile.fail.cpp
    M libcxx/test/std/containers/associative/multimap/multimap.ops/lower_bound2.compile.fail.cpp
    M libcxx/test/std/containers/associative/multimap/multimap.ops/lower_bound3.compile.fail.cpp
    M libcxx/test/std/containers/associative/multimap/multimap.ops/upper_bound.pass.cpp
    M libcxx/test/std/containers/associative/multimap/multimap.ops/upper_bound0.pass.cpp
    M libcxx/test/std/containers/associative/multimap/multimap.ops/upper_bound1.compile.fail.cpp
    M libcxx/test/std/containers/associative/multimap/multimap.ops/upper_bound2.compile.fail.cpp
    M libcxx/test/std/containers/associative/multimap/multimap.ops/upper_bound3.compile.fail.cpp
    M libcxx/test/std/containers/associative/multimap/multimap.special/member_swap.pass.cpp
    M libcxx/test/std/containers/associative/multimap/multimap.special/non_member_swap.pass.cpp
    M libcxx/test/std/containers/associative/multimap/multimap.special/swap_noexcept.pass.cpp
    M libcxx/test/std/containers/associative/multimap/multimap.value_compare/invoke.pass.cpp
    M libcxx/test/std/containers/associative/multimap/multimap.value_compare/types.pass.cpp
    M libcxx/test/std/containers/associative/multimap/range_concept_conformance.compile.pass.cpp
    M libcxx/test/std/containers/associative/multimap/scary.pass.cpp
    M libcxx/test/std/containers/associative/multimap/size.pass.cpp
    M libcxx/test/std/containers/associative/multimap/types.pass.cpp
    M libcxx/test/std/containers/associative/multiset/allocator_mismatch.verify.cpp
    M libcxx/test/std/containers/associative/multiset/clear.pass.cpp
    M libcxx/test/std/containers/associative/multiset/count.pass.cpp
    M libcxx/test/std/containers/associative/multiset/count_transparent.pass.cpp
    M libcxx/test/std/containers/associative/multiset/emplace.pass.cpp
    M libcxx/test/std/containers/associative/multiset/emplace_hint.pass.cpp
    M libcxx/test/std/containers/associative/multiset/empty.pass.cpp
    M libcxx/test/std/containers/associative/multiset/empty.verify.cpp
    M libcxx/test/std/containers/associative/multiset/equal_range.pass.cpp
    M libcxx/test/std/containers/associative/multiset/equal_range_transparent.pass.cpp
    M libcxx/test/std/containers/associative/multiset/erase_iter.pass.cpp
    M libcxx/test/std/containers/associative/multiset/erase_iter_iter.pass.cpp
    M libcxx/test/std/containers/associative/multiset/erase_key.pass.cpp
    M libcxx/test/std/containers/associative/multiset/extract_iterator.pass.cpp
    M libcxx/test/std/containers/associative/multiset/extract_key.pass.cpp
    M libcxx/test/std/containers/associative/multiset/find.pass.cpp
    M libcxx/test/std/containers/associative/multiset/get_allocator.pass.cpp
    M libcxx/test/std/containers/associative/multiset/incomplete_type.pass.cpp
    M libcxx/test/std/containers/associative/multiset/insert_cv.pass.cpp
    M libcxx/test/std/containers/associative/multiset/insert_emplace_allocator_requirements.pass.cpp
    M libcxx/test/std/containers/associative/multiset/insert_initializer_list.pass.cpp
    M libcxx/test/std/containers/associative/multiset/insert_iter_cv.pass.cpp
    M libcxx/test/std/containers/associative/multiset/insert_iter_iter.pass.cpp
    M libcxx/test/std/containers/associative/multiset/insert_iter_rv.pass.cpp
    M libcxx/test/std/containers/associative/multiset/insert_node_type.pass.cpp
    M libcxx/test/std/containers/associative/multiset/insert_node_type_hint.pass.cpp
    M libcxx/test/std/containers/associative/multiset/insert_rv.pass.cpp
    M libcxx/test/std/containers/associative/multiset/iterator.pass.cpp
    M libcxx/test/std/containers/associative/multiset/iterator_concept_conformance.compile.pass.cpp
    M libcxx/test/std/containers/associative/multiset/lower_bound.pass.cpp
    M libcxx/test/std/containers/associative/multiset/max_size.pass.cpp
    M libcxx/test/std/containers/associative/multiset/merge.pass.cpp
    M libcxx/test/std/containers/associative/multiset/multiset.cons/alloc.pass.cpp
    M libcxx/test/std/containers/associative/multiset/multiset.cons/assign_initializer_list.pass.cpp
    M libcxx/test/std/containers/associative/multiset/multiset.cons/compare.pass.cpp
    M libcxx/test/std/containers/associative/multiset/multiset.cons/compare_alloc.pass.cpp
    M libcxx/test/std/containers/associative/multiset/multiset.cons/compare_copy_constructible.compile.fail.cpp
    M libcxx/test/std/containers/associative/multiset/multiset.cons/copy.pass.cpp
    M libcxx/test/std/containers/associative/multiset/multiset.cons/copy_alloc.pass.cpp
    M libcxx/test/std/containers/associative/multiset/multiset.cons/copy_assign.pass.cpp
    M libcxx/test/std/containers/associative/multiset/multiset.cons/deduct.pass.cpp
    M libcxx/test/std/containers/associative/multiset/multiset.cons/deduct.verify.cpp
    M libcxx/test/std/containers/associative/multiset/multiset.cons/default.pass.cpp
    M libcxx/test/std/containers/associative/multiset/multiset.cons/default_noexcept.pass.cpp
    M libcxx/test/std/containers/associative/multiset/multiset.cons/dtor_noexcept.pass.cpp
    M libcxx/test/std/containers/associative/multiset/multiset.cons/from_range.pass.cpp
    M libcxx/test/std/containers/associative/multiset/multiset.cons/initializer_list.pass.cpp
    M libcxx/test/std/containers/associative/multiset/multiset.cons/initializer_list_compare.pass.cpp
    M libcxx/test/std/containers/associative/multiset/multiset.cons/initializer_list_compare_alloc.pass.cpp
    M libcxx/test/std/containers/associative/multiset/multiset.cons/iter_iter.pass.cpp
    M libcxx/test/std/containers/associative/multiset/multiset.cons/iter_iter_alloc.pass.cpp
    M libcxx/test/std/containers/associative/multiset/multiset.cons/iter_iter_comp.pass.cpp
    M libcxx/test/std/containers/associative/multiset/multiset.cons/move.pass.cpp
    M libcxx/test/std/containers/associative/multiset/multiset.cons/move_alloc.pass.cpp
    M libcxx/test/std/containers/associative/multiset/multiset.cons/move_assign.pass.cpp
    M libcxx/test/std/containers/associative/multiset/multiset.cons/move_noexcept.pass.cpp
    M libcxx/test/std/containers/associative/multiset/multiset.erasure/erase_if.pass.cpp
    M libcxx/test/std/containers/associative/multiset/multiset.nonmember/op_compare.pass.cpp
    M libcxx/test/std/containers/associative/multiset/multiset.observers/comp.pass.cpp
    M libcxx/test/std/containers/associative/multiset/multiset.special/member_swap.pass.cpp
    M libcxx/test/std/containers/associative/multiset/multiset.special/non_member_swap.pass.cpp
    M libcxx/test/std/containers/associative/multiset/multiset.special/swap_noexcept.pass.cpp
    M libcxx/test/std/containers/associative/multiset/scary.pass.cpp
    M libcxx/test/std/containers/associative/multiset/size.pass.cpp
    M libcxx/test/std/containers/associative/multiset/types.pass.cpp
    M libcxx/test/std/containers/associative/multiset/upper_bound.pass.cpp
    M libcxx/test/std/containers/associative/set/allocator_mismatch.verify.cpp
    M libcxx/test/std/containers/associative/set/clear.pass.cpp
    M libcxx/test/std/containers/associative/set/contains.pass.cpp
    M libcxx/test/std/containers/associative/set/contains_transparent.pass.cpp
    M libcxx/test/std/containers/associative/set/count.pass.cpp
    M libcxx/test/std/containers/associative/set/count_transparent.pass.cpp
    M libcxx/test/std/containers/associative/set/emplace.pass.cpp
    M libcxx/test/std/containers/associative/set/emplace_hint.pass.cpp
    M libcxx/test/std/containers/associative/set/empty.pass.cpp
    M libcxx/test/std/containers/associative/set/empty.verify.cpp
    M libcxx/test/std/containers/associative/set/equal_range.pass.cpp
    M libcxx/test/std/containers/associative/set/equal_range_transparent.pass.cpp
    M libcxx/test/std/containers/associative/set/erase_iter.pass.cpp
    M libcxx/test/std/containers/associative/set/erase_iter_iter.pass.cpp
    M libcxx/test/std/containers/associative/set/erase_key.pass.cpp
    M libcxx/test/std/containers/associative/set/extract_iterator.pass.cpp
    M libcxx/test/std/containers/associative/set/extract_key.pass.cpp
    M libcxx/test/std/containers/associative/set/find.pass.cpp
    M libcxx/test/std/containers/associative/set/get_allocator.pass.cpp
    M libcxx/test/std/containers/associative/set/incomplete_type.pass.cpp
    M libcxx/test/std/containers/associative/set/insert_and_emplace_allocator_requirements.pass.cpp
    M libcxx/test/std/containers/associative/set/insert_cv.pass.cpp
    M libcxx/test/std/containers/associative/set/insert_initializer_list.pass.cpp
    M libcxx/test/std/containers/associative/set/insert_iter_cv.pass.cpp
    M libcxx/test/std/containers/associative/set/insert_iter_iter.pass.cpp
    M libcxx/test/std/containers/associative/set/insert_iter_rv.pass.cpp
    M libcxx/test/std/containers/associative/set/insert_node_type.pass.cpp
    M libcxx/test/std/containers/associative/set/insert_node_type_hint.pass.cpp
    M libcxx/test/std/containers/associative/set/insert_rv.pass.cpp
    M libcxx/test/std/containers/associative/set/iterator.pass.cpp
    M libcxx/test/std/containers/associative/set/iterator_concept_conformance.compile.pass.cpp
    M libcxx/test/std/containers/associative/set/lower_bound.pass.cpp
    M libcxx/test/std/containers/associative/set/max_size.pass.cpp
    M libcxx/test/std/containers/associative/set/merge.pass.cpp
    M libcxx/test/std/containers/associative/set/range_concept_conformance.compile.pass.cpp
    M libcxx/test/std/containers/associative/set/set.cons/alloc.pass.cpp
    M libcxx/test/std/containers/associative/set/set.cons/assign_initializer_list.pass.cpp
    M libcxx/test/std/containers/associative/set/set.cons/compare.pass.cpp
    M libcxx/test/std/containers/associative/set/set.cons/compare_alloc.pass.cpp
    M libcxx/test/std/containers/associative/set/set.cons/compare_copy_constructible.compile.fail.cpp
    M libcxx/test/std/containers/associative/set/set.cons/copy.pass.cpp
    M libcxx/test/std/containers/associative/set/set.cons/copy_alloc.pass.cpp
    M libcxx/test/std/containers/associative/set/set.cons/copy_assign.pass.cpp
    M libcxx/test/std/containers/associative/set/set.cons/deduct.pass.cpp
    M libcxx/test/std/containers/associative/set/set.cons/deduct.verify.cpp
    M libcxx/test/std/containers/associative/set/set.cons/default.pass.cpp
    M libcxx/test/std/containers/associative/set/set.cons/default_noexcept.pass.cpp
    M libcxx/test/std/containers/associative/set/set.cons/dtor_noexcept.pass.cpp
    M libcxx/test/std/containers/associative/set/set.cons/from_range.pass.cpp
    M libcxx/test/std/containers/associative/set/set.cons/initializer_list.pass.cpp
    M libcxx/test/std/containers/associative/set/set.cons/initializer_list_compare.pass.cpp
    M libcxx/test/std/containers/associative/set/set.cons/initializer_list_compare_alloc.pass.cpp
    M libcxx/test/std/containers/associative/set/set.cons/iter_iter.pass.cpp
    M libcxx/test/std/containers/associative/set/set.cons/iter_iter_alloc.pass.cpp
    M libcxx/test/std/containers/associative/set/set.cons/iter_iter_comp.pass.cpp
    M libcxx/test/std/containers/associative/set/set.cons/move.pass.cpp
    M libcxx/test/std/containers/associative/set/set.cons/move_alloc.pass.cpp
    M libcxx/test/std/containers/associative/set/set.cons/move_assign.pass.cpp
    M libcxx/test/std/containers/associative/set/set.cons/move_noexcept.pass.cpp
    M libcxx/test/std/containers/associative/set/set.erasure/erase_if.pass.cpp
    M libcxx/test/std/containers/associative/set/set.nonmember/op_compare.pass.cpp
    M libcxx/test/std/containers/associative/set/set.observers/comp.pass.cpp
    M libcxx/test/std/containers/associative/set/set.special/member_swap.pass.cpp
    M libcxx/test/std/containers/associative/set/set.special/non_member_swap.pass.cpp
    M libcxx/test/std/containers/associative/set/set.special/swap_noexcept.pass.cpp
    M libcxx/test/std/containers/associative/set/size.pass.cpp
    M libcxx/test/std/containers/associative/set/types.pass.cpp
    M libcxx/test/std/containers/associative/set/upper_bound.pass.cpp
    M libcxx/test/std/containers/check_consecutive.h
    M libcxx/test/std/containers/container.adaptors/flat.map.syn/sorted_unique.pass.cpp
    M libcxx/test/std/containers/container.adaptors/from_range_container_adaptors.h
    M libcxx/test/std/containers/container.adaptors/priority.queue/priqueue.cons.alloc/ctor_alloc.pass.cpp
    M libcxx/test/std/containers/container.adaptors/priority.queue/priqueue.cons.alloc/ctor_comp_alloc.pass.cpp
    M libcxx/test/std/containers/container.adaptors/priority.queue/priqueue.cons.alloc/ctor_comp_cont_alloc.pass.cpp
    M libcxx/test/std/containers/container.adaptors/priority.queue/priqueue.cons.alloc/ctor_comp_rcont_alloc.pass.cpp
    M libcxx/test/std/containers/container.adaptors/priority.queue/priqueue.cons.alloc/ctor_copy_alloc.pass.cpp
    M libcxx/test/std/containers/container.adaptors/priority.queue/priqueue.cons.alloc/ctor_iter_iter_alloc.pass.cpp
    M libcxx/test/std/containers/container.adaptors/priority.queue/priqueue.cons.alloc/ctor_iter_iter_comp_alloc.pass.cpp
    M libcxx/test/std/containers/container.adaptors/priority.queue/priqueue.cons.alloc/ctor_iter_iter_comp_cont_alloc.pass.cpp
    M libcxx/test/std/containers/container.adaptors/priority.queue/priqueue.cons.alloc/ctor_iter_iter_comp_rcont_alloc.pass.cpp
    M libcxx/test/std/containers/container.adaptors/priority.queue/priqueue.cons.alloc/ctor_move_alloc.pass.cpp
    M libcxx/test/std/containers/container.adaptors/priority.queue/priqueue.cons/assign_copy.pass.cpp
    M libcxx/test/std/containers/container.adaptors/priority.queue/priqueue.cons/assign_move.pass.cpp
    M libcxx/test/std/containers/container.adaptors/priority.queue/priqueue.cons/ctor_comp.pass.cpp
    M libcxx/test/std/containers/container.adaptors/priority.queue/priqueue.cons/ctor_comp_container.pass.cpp
    M libcxx/test/std/containers/container.adaptors/priority.queue/priqueue.cons/ctor_comp_rcontainer.pass.cpp
    M libcxx/test/std/containers/container.adaptors/priority.queue/priqueue.cons/ctor_copy.pass.cpp
    M libcxx/test/std/containers/container.adaptors/priority.queue/priqueue.cons/ctor_default.pass.cpp
    M libcxx/test/std/containers/container.adaptors/priority.queue/priqueue.cons/ctor_iter_constraint.compile.pass.cpp
    M libcxx/test/std/containers/container.adaptors/priority.queue/priqueue.cons/ctor_iter_iter.pass.cpp
    M libcxx/test/std/containers/container.adaptors/priority.queue/priqueue.cons/ctor_iter_iter_comp.pass.cpp
    M libcxx/test/std/containers/container.adaptors/priority.queue/priqueue.cons/ctor_iter_iter_comp_cont.pass.cpp
    M libcxx/test/std/containers/container.adaptors/priority.queue/priqueue.cons/ctor_iter_iter_comp_rcont.pass.cpp
    M libcxx/test/std/containers/container.adaptors/priority.queue/priqueue.cons/ctor_move.pass.cpp
    M libcxx/test/std/containers/container.adaptors/priority.queue/priqueue.cons/deduct.pass.cpp
    M libcxx/test/std/containers/container.adaptors/priority.queue/priqueue.cons/deduct.verify.cpp
    M libcxx/test/std/containers/container.adaptors/priority.queue/priqueue.cons/default_noexcept.pass.cpp
    M libcxx/test/std/containers/container.adaptors/priority.queue/priqueue.cons/dtor_noexcept.pass.cpp
    M libcxx/test/std/containers/container.adaptors/priority.queue/priqueue.cons/from_range.pass.cpp
    M libcxx/test/std/containers/container.adaptors/priority.queue/priqueue.cons/move_assign_noexcept.pass.cpp
    M libcxx/test/std/containers/container.adaptors/priority.queue/priqueue.cons/move_noexcept.pass.cpp
    M libcxx/test/std/containers/container.adaptors/priority.queue/priqueue.members/emplace.pass.cpp
    M libcxx/test/std/containers/container.adaptors/priority.queue/priqueue.members/empty.pass.cpp
    M libcxx/test/std/containers/container.adaptors/priority.queue/priqueue.members/empty.verify.cpp
    M libcxx/test/std/containers/container.adaptors/priority.queue/priqueue.members/pop.pass.cpp
    M libcxx/test/std/containers/container.adaptors/priority.queue/priqueue.members/push.pass.cpp
    M libcxx/test/std/containers/container.adaptors/priority.queue/priqueue.members/push_range.pass.cpp
    M libcxx/test/std/containers/container.adaptors/priority.queue/priqueue.members/push_rvalue.pass.cpp
    M libcxx/test/std/containers/container.adaptors/priority.queue/priqueue.members/size.pass.cpp
    M libcxx/test/std/containers/container.adaptors/priority.queue/priqueue.members/swap.pass.cpp
    M libcxx/test/std/containers/container.adaptors/priority.queue/priqueue.members/top.pass.cpp
    M libcxx/test/std/containers/container.adaptors/priority.queue/priqueue.special/swap.pass.cpp
    M libcxx/test/std/containers/container.adaptors/priority.queue/priqueue.special/swap_noexcept.pass.cpp
    M libcxx/test/std/containers/container.adaptors/priority.queue/types.compile.fail.cpp
    M libcxx/test/std/containers/container.adaptors/priority.queue/types.pass.cpp
    M libcxx/test/std/containers/container.adaptors/push_range_container_adaptors.h
    M libcxx/test/std/containers/container.adaptors/queue/queue.cons.alloc/ctor_alloc.pass.cpp
    M libcxx/test/std/containers/container.adaptors/queue/queue.cons.alloc/ctor_container_alloc.pass.cpp
    M libcxx/test/std/containers/container.adaptors/queue/queue.cons.alloc/ctor_queue_alloc.pass.cpp
    M libcxx/test/std/containers/container.adaptors/queue/queue.cons.alloc/ctor_rcontainer_alloc.pass.cpp
    M libcxx/test/std/containers/container.adaptors/queue/queue.cons.alloc/ctor_rqueue_alloc.pass.cpp
    M libcxx/test/std/containers/container.adaptors/queue/queue.cons/ctor_container.pass.cpp
    M libcxx/test/std/containers/container.adaptors/queue/queue.cons/ctor_copy.pass.cpp
    M libcxx/test/std/containers/container.adaptors/queue/queue.cons/ctor_default.pass.cpp
    M libcxx/test/std/containers/container.adaptors/queue/queue.cons/ctor_iterators.pass.cpp
    M libcxx/test/std/containers/container.adaptors/queue/queue.cons/ctor_move.pass.cpp
    M libcxx/test/std/containers/container.adaptors/queue/queue.cons/ctor_rcontainer.pass.cpp
    M libcxx/test/std/containers/container.adaptors/queue/queue.cons/deduct.pass.cpp
    M libcxx/test/std/containers/container.adaptors/queue/queue.cons/deduct.verify.cpp
    M libcxx/test/std/containers/container.adaptors/queue/queue.cons/default_noexcept.pass.cpp
    M libcxx/test/std/containers/container.adaptors/queue/queue.cons/dtor_noexcept.pass.cpp
    M libcxx/test/std/containers/container.adaptors/queue/queue.cons/move_assign_noexcept.pass.cpp
    M libcxx/test/std/containers/container.adaptors/queue/queue.cons/move_noexcept.pass.cpp
    M libcxx/test/std/containers/container.adaptors/queue/queue.defn/assign_copy.pass.cpp
    M libcxx/test/std/containers/container.adaptors/queue/queue.defn/assign_move.pass.cpp
    M libcxx/test/std/containers/container.adaptors/queue/queue.defn/back.pass.cpp
    M libcxx/test/std/containers/container.adaptors/queue/queue.defn/back_const.pass.cpp
    M libcxx/test/std/containers/container.adaptors/queue/queue.defn/emplace.pass.cpp
    M libcxx/test/std/containers/container.adaptors/queue/queue.defn/empty.pass.cpp
    M libcxx/test/std/containers/container.adaptors/queue/queue.defn/empty.verify.cpp
    M libcxx/test/std/containers/container.adaptors/queue/queue.defn/front.pass.cpp
    M libcxx/test/std/containers/container.adaptors/queue/queue.defn/front_const.pass.cpp
    M libcxx/test/std/containers/container.adaptors/queue/queue.defn/pop.pass.cpp
    M libcxx/test/std/containers/container.adaptors/queue/queue.defn/push.pass.cpp
    M libcxx/test/std/containers/container.adaptors/queue/queue.defn/push_rv.pass.cpp
    M libcxx/test/std/containers/container.adaptors/queue/queue.defn/size.pass.cpp
    M libcxx/test/std/containers/container.adaptors/queue/queue.defn/swap.pass.cpp
    M libcxx/test/std/containers/container.adaptors/queue/queue.defn/types.compile.fail.cpp
    M libcxx/test/std/containers/container.adaptors/queue/queue.defn/types.pass.cpp
    M libcxx/test/std/containers/container.adaptors/queue/queue.ops/eq.pass.cpp
    M libcxx/test/std/containers/container.adaptors/queue/queue.ops/lt.pass.cpp
    M libcxx/test/std/containers/container.adaptors/queue/queue.special/swap.pass.cpp
    M libcxx/test/std/containers/container.adaptors/queue/queue.special/swap_noexcept.pass.cpp
    M libcxx/test/std/containers/container.adaptors/stack/stack.cons.alloc/ctor_alloc.pass.cpp
    M libcxx/test/std/containers/container.adaptors/stack/stack.cons.alloc/ctor_container_alloc.pass.cpp
    M libcxx/test/std/containers/container.adaptors/stack/stack.cons.alloc/ctor_copy_alloc.pass.cpp
    M libcxx/test/std/containers/container.adaptors/stack/stack.cons.alloc/ctor_rcontainer_alloc.pass.cpp
    M libcxx/test/std/containers/container.adaptors/stack/stack.cons.alloc/ctor_rqueue_alloc.pass.cpp
    M libcxx/test/std/containers/container.adaptors/stack/stack.cons/ctor_container.pass.cpp
    M libcxx/test/std/containers/container.adaptors/stack/stack.cons/ctor_copy.pass.cpp
    M libcxx/test/std/containers/container.adaptors/stack/stack.cons/ctor_default.pass.cpp
    M libcxx/test/std/containers/container.adaptors/stack/stack.cons/ctor_iterators.pass.cpp
    M libcxx/test/std/containers/container.adaptors/stack/stack.cons/ctor_move.pass.cpp
    M libcxx/test/std/containers/container.adaptors/stack/stack.cons/ctor_rcontainer.pass.cpp
    M libcxx/test/std/containers/container.adaptors/stack/stack.cons/deduct.pass.cpp
    M libcxx/test/std/containers/container.adaptors/stack/stack.cons/deduct.verify.cpp
    M libcxx/test/std/containers/container.adaptors/stack/stack.cons/default_noexcept.pass.cpp
    M libcxx/test/std/containers/container.adaptors/stack/stack.cons/dtor_noexcept.pass.cpp
    M libcxx/test/std/containers/container.adaptors/stack/stack.cons/move_assign_noexcept.pass.cpp
    M libcxx/test/std/containers/container.adaptors/stack/stack.cons/move_noexcept.pass.cpp
    M libcxx/test/std/containers/container.adaptors/stack/stack.defn/assign_copy.pass.cpp
    M libcxx/test/std/containers/container.adaptors/stack/stack.defn/assign_move.pass.cpp
    M libcxx/test/std/containers/container.adaptors/stack/stack.defn/emplace.pass.cpp
    M libcxx/test/std/containers/container.adaptors/stack/stack.defn/empty.pass.cpp
    M libcxx/test/std/containers/container.adaptors/stack/stack.defn/empty.verify.cpp
    M libcxx/test/std/containers/container.adaptors/stack/stack.defn/pop.pass.cpp
    M libcxx/test/std/containers/container.adaptors/stack/stack.defn/push.pass.cpp
    M libcxx/test/std/containers/container.adaptors/stack/stack.defn/push_rv.pass.cpp
    M libcxx/test/std/containers/container.adaptors/stack/stack.defn/size.pass.cpp
    M libcxx/test/std/containers/container.adaptors/stack/stack.defn/swap.pass.cpp
    M libcxx/test/std/containers/container.adaptors/stack/stack.defn/top.pass.cpp
    M libcxx/test/std/containers/container.adaptors/stack/stack.defn/top_const.pass.cpp
    M libcxx/test/std/containers/container.adaptors/stack/stack.defn/types.compile.fail.cpp
    M libcxx/test/std/containers/container.adaptors/stack/stack.defn/types.pass.cpp
    M libcxx/test/std/containers/container.adaptors/stack/stack.ops/eq.pass.cpp
    M libcxx/test/std/containers/container.adaptors/stack/stack.ops/lt.pass.cpp
    M libcxx/test/std/containers/container.adaptors/stack/stack.special/swap.pass.cpp
    M libcxx/test/std/containers/container.adaptors/stack/stack.special/swap_noexcept.pass.cpp
    M libcxx/test/std/containers/container.node/node_handle.nodiscard.verify.cpp
    M libcxx/test/std/containers/container.node/node_handle.pass.cpp
    M libcxx/test/std/containers/container.requirements/associative.reqmts/associative.reqmts.except/nothing_to_do.pass.cpp
    M libcxx/test/std/containers/container.requirements/container.requirements.dataraces/nothing_to_do.pass.cpp
    M libcxx/test/std/containers/container.requirements/container.requirements.general/allocator_move.pass.cpp
    M libcxx/test/std/containers/container.requirements/sequence.reqmts/nothing_to_do.pass.cpp
    M libcxx/test/std/containers/container.requirements/unord.req/unord.req.except/nothing_to_do.pass.cpp
    M libcxx/test/std/containers/containers.general/nothing_to_do.pass.cpp
    M libcxx/test/std/containers/exception_safety_helpers.h
    M libcxx/test/std/containers/from_range_helpers.h
    M libcxx/test/std/containers/insert_range_helpers.h
    M libcxx/test/std/containers/insert_range_maps_sets.h
    M libcxx/test/std/containers/iterator.rel_ops.compile.pass.cpp
    M libcxx/test/std/containers/map_allocator_requirement_test_templates.h
    M libcxx/test/std/containers/sequences/array/aggregate.pass.cpp
    M libcxx/test/std/containers/sequences/array/array.cons/deduct.pass.cpp
    M libcxx/test/std/containers/sequences/array/array.cons/deduct.verify.cpp
    M libcxx/test/std/containers/sequences/array/array.cons/implicit_copy.pass.cpp
    M libcxx/test/std/containers/sequences/array/array.cons/initialization.pass.cpp
    M libcxx/test/std/containers/sequences/array/array.creation/to_array.pass.cpp
    M libcxx/test/std/containers/sequences/array/array.data/data.pass.cpp
    M libcxx/test/std/containers/sequences/array/array.data/data_const.pass.cpp
    M libcxx/test/std/containers/sequences/array/array.fill/fill.pass.cpp
    M libcxx/test/std/containers/sequences/array/array.size/size.pass.cpp
    M libcxx/test/std/containers/sequences/array/array.special/swap.pass.cpp
    M libcxx/test/std/containers/sequences/array/array.swap/swap.pass.cpp
    M libcxx/test/std/containers/sequences/array/array.swap/swap.verify.cpp
    M libcxx/test/std/containers/sequences/array/array.tuple/get.pass.cpp
    M libcxx/test/std/containers/sequences/array/array.tuple/get.verify.cpp
    M libcxx/test/std/containers/sequences/array/array.tuple/get_const.pass.cpp
    M libcxx/test/std/containers/sequences/array/array.tuple/get_const_rv.pass.cpp
    M libcxx/test/std/containers/sequences/array/array.tuple/get_rv.pass.cpp
    M libcxx/test/std/containers/sequences/array/array.tuple/tuple_element.pass.cpp
    M libcxx/test/std/containers/sequences/array/array.tuple/tuple_size.pass.cpp
    M libcxx/test/std/containers/sequences/array/array.zero/tested_elsewhere.pass.cpp
    M libcxx/test/std/containers/sequences/array/at.pass.cpp
    M libcxx/test/std/containers/sequences/array/at_const.pass.cpp
    M libcxx/test/std/containers/sequences/array/contiguous.pass.cpp
    M libcxx/test/std/containers/sequences/array/empty.pass.cpp
    M libcxx/test/std/containers/sequences/array/empty.verify.cpp
    M libcxx/test/std/containers/sequences/array/front_back.pass.cpp
    M libcxx/test/std/containers/sequences/array/front_back_const.pass.cpp
    M libcxx/test/std/containers/sequences/array/indexing.pass.cpp
    M libcxx/test/std/containers/sequences/array/indexing_const.pass.cpp
    M libcxx/test/std/containers/sequences/array/iterator_concept_conformance.compile.pass.cpp
    M libcxx/test/std/containers/sequences/array/iterators.pass.cpp
    M libcxx/test/std/containers/sequences/array/max_size.pass.cpp
    M libcxx/test/std/containers/sequences/array/range_concept_conformance.compile.pass.cpp
    M libcxx/test/std/containers/sequences/array/types.pass.cpp
    M libcxx/test/std/containers/sequences/deque/allocator_mismatch.verify.cpp
    M libcxx/test/std/containers/sequences/deque/compare.pass.cpp
    M libcxx/test/std/containers/sequences/deque/deque.capacity/access.pass.cpp
    M libcxx/test/std/containers/sequences/deque/deque.capacity/empty.pass.cpp
    M libcxx/test/std/containers/sequences/deque/deque.capacity/empty.verify.cpp
    M libcxx/test/std/containers/sequences/deque/deque.capacity/max_size.pass.cpp
    M libcxx/test/std/containers/sequences/deque/deque.capacity/resize_size.pass.cpp
    M libcxx/test/std/containers/sequences/deque/deque.capacity/resize_size_value.pass.cpp
    M libcxx/test/std/containers/sequences/deque/deque.capacity/shrink_to_fit.pass.cpp
    M libcxx/test/std/containers/sequences/deque/deque.capacity/size.pass.cpp
    M libcxx/test/std/containers/sequences/deque/deque.cons/alloc.pass.cpp
    M libcxx/test/std/containers/sequences/deque/deque.cons/assign_initializer_list.pass.cpp
    M libcxx/test/std/containers/sequences/deque/deque.cons/assign_iter_iter.pass.cpp
    M libcxx/test/std/containers/sequences/deque/deque.cons/assign_size_value.pass.cpp
    M libcxx/test/std/containers/sequences/deque/deque.cons/copy.pass.cpp
    M libcxx/test/std/containers/sequences/deque/deque.cons/copy_alloc.pass.cpp
    M libcxx/test/std/containers/sequences/deque/deque.cons/deduct.pass.cpp
    M libcxx/test/std/containers/sequences/deque/deque.cons/deduct.verify.cpp
    M libcxx/test/std/containers/sequences/deque/deque.cons/default.pass.cpp
    M libcxx/test/std/containers/sequences/deque/deque.cons/default_noexcept.pass.cpp
    M libcxx/test/std/containers/sequences/deque/deque.cons/dtor_noexcept.pass.cpp
    M libcxx/test/std/containers/sequences/deque/deque.cons/initializer_list.pass.cpp
    M libcxx/test/std/containers/sequences/deque/deque.cons/initializer_list_alloc.pass.cpp
    M libcxx/test/std/containers/sequences/deque/deque.cons/iter_iter.pass.cpp
    M libcxx/test/std/containers/sequences/deque/deque.cons/iter_iter_alloc.pass.cpp
    M libcxx/test/std/containers/sequences/deque/deque.cons/move.pass.cpp
    M libcxx/test/std/containers/sequences/deque/deque.cons/move_alloc.pass.cpp
    M libcxx/test/std/containers/sequences/deque/deque.cons/move_assign.pass.cpp
    M libcxx/test/std/containers/sequences/deque/deque.cons/move_noexcept.pass.cpp
    M libcxx/test/std/containers/sequences/deque/deque.cons/op_equal.pass.cpp
    M libcxx/test/std/containers/sequences/deque/deque.cons/op_equal_initializer_list.pass.cpp
    M libcxx/test/std/containers/sequences/deque/deque.cons/size.pass.cpp
    M libcxx/test/std/containers/sequences/deque/deque.cons/size_value.pass.cpp
    M libcxx/test/std/containers/sequences/deque/deque.cons/size_value_alloc.pass.cpp
    M libcxx/test/std/containers/sequences/deque/deque.erasure/erase.pass.cpp
    M libcxx/test/std/containers/sequences/deque/deque.erasure/erase_if.pass.cpp
    M libcxx/test/std/containers/sequences/deque/deque.modifiers/clear.pass.cpp
    M libcxx/test/std/containers/sequences/deque/deque.modifiers/emplace.pass.cpp
    M libcxx/test/std/containers/sequences/deque/deque.modifiers/emplace_back.pass.cpp
    M libcxx/test/std/containers/sequences/deque/deque.modifiers/emplace_front.pass.cpp
    M libcxx/test/std/containers/sequences/deque/deque.modifiers/erase_iter.invalidation.pass.cpp
    M libcxx/test/std/containers/sequences/deque/deque.modifiers/erase_iter.pass.cpp
    M libcxx/test/std/containers/sequences/deque/deque.modifiers/erase_iter_iter.invalidation.pass.cpp
    M libcxx/test/std/containers/sequences/deque/deque.modifiers/erase_iter_iter.pass.cpp
    M libcxx/test/std/containers/sequences/deque/deque.modifiers/insert_iter_initializer_list.pass.cpp
    M libcxx/test/std/containers/sequences/deque/deque.modifiers/insert_iter_iter.pass.cpp
    M libcxx/test/std/containers/sequences/deque/deque.modifiers/insert_rvalue.pass.cpp
    M libcxx/test/std/containers/sequences/deque/deque.modifiers/insert_size_value.pass.cpp
    M libcxx/test/std/containers/sequences/deque/deque.modifiers/insert_value.pass.cpp
    M libcxx/test/std/containers/sequences/deque/deque.modifiers/pop_back.invalidation.pass.cpp
    M libcxx/test/std/containers/sequences/deque/deque.modifiers/pop_back.pass.cpp
    M libcxx/test/std/containers/sequences/deque/deque.modifiers/pop_front.invalidation.pass.cpp
    M libcxx/test/std/containers/sequences/deque/deque.modifiers/pop_front.pass.cpp
    M libcxx/test/std/containers/sequences/deque/deque.modifiers/push_back.pass.cpp
    M libcxx/test/std/containers/sequences/deque/deque.modifiers/push_back_exception_safety.pass.cpp
    M libcxx/test/std/containers/sequences/deque/deque.modifiers/push_back_rvalue.pass.cpp
    M libcxx/test/std/containers/sequences/deque/deque.modifiers/push_front.pass.cpp
    M libcxx/test/std/containers/sequences/deque/deque.modifiers/push_front_exception_safety.pass.cpp
    M libcxx/test/std/containers/sequences/deque/deque.modifiers/push_front_rvalue.pass.cpp
    M libcxx/test/std/containers/sequences/deque/deque.special/copy.pass.cpp
    M libcxx/test/std/containers/sequences/deque/deque.special/copy_backward.pass.cpp
    M libcxx/test/std/containers/sequences/deque/deque.special/move.pass.cpp
    M libcxx/test/std/containers/sequences/deque/deque.special/move_backward.pass.cpp
    M libcxx/test/std/containers/sequences/deque/deque.special/swap.pass.cpp
    M libcxx/test/std/containers/sequences/deque/deque.special/swap_noexcept.pass.cpp
    M libcxx/test/std/containers/sequences/deque/get_allocator.pass.cpp
    M libcxx/test/std/containers/sequences/deque/iterator_concept_conformance.compile.pass.cpp
    M libcxx/test/std/containers/sequences/deque/iterators.pass.cpp
    M libcxx/test/std/containers/sequences/deque/range_concept_conformance.compile.pass.cpp
    M libcxx/test/std/containers/sequences/deque/types.pass.cpp
    M libcxx/test/std/containers/sequences/forwardlist/allocator_mismatch.verify.cpp
    M libcxx/test/std/containers/sequences/forwardlist/empty.pass.cpp
    M libcxx/test/std/containers/sequences/forwardlist/empty.verify.cpp
    M libcxx/test/std/containers/sequences/forwardlist/exception_safety.pass.cpp
    M libcxx/test/std/containers/sequences/forwardlist/forwardlist.access/front.pass.cpp
    M libcxx/test/std/containers/sequences/forwardlist/forwardlist.cons/alloc.compile.fail.cpp
    M libcxx/test/std/containers/sequences/forwardlist/forwardlist.cons/alloc.pass.cpp
    M libcxx/test/std/containers/sequences/forwardlist/forwardlist.cons/assign_copy.pass.cpp
    M libcxx/test/std/containers/sequences/forwardlist/forwardlist.cons/assign_init.pass.cpp
    M libcxx/test/std/containers/sequences/forwardlist/forwardlist.cons/assign_move.pass.cpp
    M libcxx/test/std/containers/sequences/forwardlist/forwardlist.cons/assign_op_init.pass.cpp
    M libcxx/test/std/containers/sequences/forwardlist/forwardlist.cons/assign_range.pass.cpp
    M libcxx/test/std/containers/sequences/forwardlist/forwardlist.cons/assign_size_value.pass.cpp
    M libcxx/test/std/containers/sequences/forwardlist/forwardlist.cons/copy.pass.cpp
    M libcxx/test/std/containers/sequences/forwardlist/forwardlist.cons/copy_alloc.pass.cpp
    M libcxx/test/std/containers/sequences/forwardlist/forwardlist.cons/deduct.pass.cpp
    M libcxx/test/std/containers/sequences/forwardlist/forwardlist.cons/deduct.verify.cpp
    M libcxx/test/std/containers/sequences/forwardlist/forwardlist.cons/default.pass.cpp
    M libcxx/test/std/containers/sequences/forwardlist/forwardlist.cons/default_noexcept.pass.cpp
    M libcxx/test/std/containers/sequences/forwardlist/forwardlist.cons/default_recursive.pass.cpp
    M libcxx/test/std/containers/sequences/forwardlist/forwardlist.cons/dtor_noexcept.pass.cpp
    M libcxx/test/std/containers/sequences/forwardlist/forwardlist.cons/init.pass.cpp
    M libcxx/test/std/containers/sequences/forwardlist/forwardlist.cons/init_alloc.pass.cpp
    M libcxx/test/std/containers/sequences/forwardlist/forwardlist.cons/move.pass.cpp
    M libcxx/test/std/containers/sequences/forwardlist/forwardlist.cons/move_alloc.pass.cpp
    M libcxx/test/std/containers/sequences/forwardlist/forwardlist.cons/move_noexcept.pass.cpp
    M libcxx/test/std/containers/sequences/forwardlist/forwardlist.cons/range.pass.cpp
    M libcxx/test/std/containers/sequences/forwardlist/forwardlist.cons/range_alloc.pass.cpp
    M libcxx/test/std/containers/sequences/forwardlist/forwardlist.cons/size.pass.cpp
    M libcxx/test/std/containers/sequences/forwardlist/forwardlist.cons/size_value.pass.cpp
    M libcxx/test/std/containers/sequences/forwardlist/forwardlist.cons/size_value_alloc.pass.cpp
    M libcxx/test/std/containers/sequences/forwardlist/forwardlist.erasure/erase.pass.cpp
    M libcxx/test/std/containers/sequences/forwardlist/forwardlist.erasure/erase_if.pass.cpp
    M libcxx/test/std/containers/sequences/forwardlist/forwardlist.iter/before_begin.pass.cpp
    M libcxx/test/std/containers/sequences/forwardlist/forwardlist.iter/iterator_concept_conformance.compile.pass.cpp
    M libcxx/test/std/containers/sequences/forwardlist/forwardlist.iter/iterators.pass.cpp
    M libcxx/test/std/containers/sequences/forwardlist/forwardlist.modifiers/clear.pass.cpp
    M libcxx/test/std/containers/sequences/forwardlist/forwardlist.modifiers/emplace_after.pass.cpp
    M libcxx/test/std/containers/sequences/forwardlist/forwardlist.modifiers/emplace_front.pass.cpp
    M libcxx/test/std/containers/sequences/forwardlist/forwardlist.modifiers/erase_after_many.pass.cpp
    M libcxx/test/std/containers/sequences/forwardlist/forwardlist.modifiers/erase_after_one.pass.cpp
    M libcxx/test/std/containers/sequences/forwardlist/forwardlist.modifiers/insert_after_const.pass.cpp
    M libcxx/test/std/containers/sequences/forwardlist/forwardlist.modifiers/insert_after_init.pass.cpp
    M libcxx/test/std/containers/sequences/forwardlist/forwardlist.modifiers/insert_after_range.pass.cpp
    M libcxx/test/std/containers/sequences/forwardlist/forwardlist.modifiers/insert_after_rv.pass.cpp
    M libcxx/test/std/containers/sequences/forwardlist/forwardlist.modifiers/insert_after_size_value.pass.cpp
    M libcxx/test/std/containers/sequences/forwardlist/forwardlist.modifiers/insert_range_after.pass.cpp
    M libcxx/test/std/containers/sequences/forwardlist/forwardlist.modifiers/pop_front.pass.cpp
    M libcxx/test/std/containers/sequences/forwardlist/forwardlist.modifiers/push_front_const.pass.cpp
    M libcxx/test/std/containers/sequences/forwardlist/forwardlist.modifiers/push_front_exception_safety.pass.cpp
    M libcxx/test/std/containers/sequences/forwardlist/forwardlist.modifiers/push_front_rv.pass.cpp
    M libcxx/test/std/containers/sequences/forwardlist/forwardlist.modifiers/resize_size.pass.cpp
    M libcxx/test/std/containers/sequences/forwardlist/forwardlist.modifiers/resize_size_value.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/forwardlist/forwardlist.ops/remove.pass.cpp
    M libcxx/test/std/containers/sequences/forwardlist/forwardlist.ops/remove_if.pass.cpp
    M libcxx/test/std/containers/sequences/forwardlist/forwardlist.ops/reverse.pass.cpp
    M libcxx/test/std/containers/sequences/forwardlist/forwardlist.ops/sort.pass.cpp
    M libcxx/test/std/containers/sequences/forwardlist/forwardlist.ops/sort_pred.pass.cpp
    M libcxx/test/std/containers/sequences/forwardlist/forwardlist.ops/splice_after_flist.pass.cpp
    M libcxx/test/std/containers/sequences/forwardlist/forwardlist.ops/splice_after_one.pass.cpp
    M libcxx/test/std/containers/sequences/forwardlist/forwardlist.ops/splice_after_range.pass.cpp
    M libcxx/test/std/containers/sequences/forwardlist/forwardlist.ops/unique.pass.cpp
    M libcxx/test/std/containers/sequences/forwardlist/forwardlist.ops/unique_pred.pass.cpp
    M libcxx/test/std/containers/sequences/forwardlist/forwardlist.spec/equal.pass.cpp
    M libcxx/test/std/containers/sequences/forwardlist/forwardlist.spec/member_swap.pass.cpp
    M libcxx/test/std/containers/sequences/forwardlist/forwardlist.spec/non_member_swap.pass.cpp
    M libcxx/test/std/containers/sequences/forwardlist/forwardlist.spec/relational.pass.cpp
    M libcxx/test/std/containers/sequences/forwardlist/forwardlist.spec/swap_noexcept.pass.cpp
    M libcxx/test/std/containers/sequences/forwardlist/get_allocator.pass.cpp
    M libcxx/test/std/containers/sequences/forwardlist/incomplete.pass.cpp
    M libcxx/test/std/containers/sequences/forwardlist/max_size.pass.cpp
    M libcxx/test/std/containers/sequences/forwardlist/range_concept_conformance.compile.pass.cpp
    M libcxx/test/std/containers/sequences/forwardlist/types.pass.cpp
    M libcxx/test/std/containers/sequences/from_range_sequence_containers.h
    M libcxx/test/std/containers/sequences/insert_range_sequence_containers.h
    M libcxx/test/std/containers/sequences/list/allocator_mismatch.verify.cpp
    M libcxx/test/std/containers/sequences/list/compare.pass.cpp
    M libcxx/test/std/containers/sequences/list/exception_safety.pass.cpp
    M libcxx/test/std/containers/sequences/list/get_allocator.pass.cpp
    M libcxx/test/std/containers/sequences/list/incomplete_type.pass.cpp
    M libcxx/test/std/containers/sequences/list/iterator_concept_conformance.compile.pass.cpp
    M libcxx/test/std/containers/sequences/list/iterators.pass.cpp
    M libcxx/test/std/containers/sequences/list/list.capacity/empty.pass.cpp
    M libcxx/test/std/containers/sequences/list/list.capacity/empty.verify.cpp
    M libcxx/test/std/containers/sequences/list/list.capacity/max_size.pass.cpp
    M libcxx/test/std/containers/sequences/list/list.capacity/resize_size.pass.cpp
    M libcxx/test/std/containers/sequences/list/list.capacity/resize_size_value.pass.cpp
    M libcxx/test/std/containers/sequences/list/list.capacity/size.pass.cpp
    M libcxx/test/std/containers/sequences/list/list.cons/assign_copy.pass.cpp
    M libcxx/test/std/containers/sequences/list/list.cons/assign_initializer_list.pass.cpp
    M libcxx/test/std/containers/sequences/list/list.cons/assign_move.pass.cpp
    M libcxx/test/std/containers/sequences/list/list.cons/copy.pass.cpp
    M libcxx/test/std/containers/sequences/list/list.cons/copy_alloc.pass.cpp
    M libcxx/test/std/containers/sequences/list/list.cons/deduct.pass.cpp
    M libcxx/test/std/containers/sequences/list/list.cons/deduct.verify.cpp
    M libcxx/test/std/containers/sequences/list/list.cons/default.pass.cpp
    M libcxx/test/std/containers/sequences/list/list.cons/default_noexcept.pass.cpp
    M libcxx/test/std/containers/sequences/list/list.cons/default_stack_alloc.pass.cpp
    M libcxx/test/std/containers/sequences/list/list.cons/dtor.pass.cpp
    M libcxx/test/std/containers/sequences/list/list.cons/dtor_noexcept.pass.cpp
    M libcxx/test/std/containers/sequences/list/list.cons/from_range.pass.cpp
    M libcxx/test/std/containers/sequences/list/list.cons/initializer_list.pass.cpp
    M libcxx/test/std/containers/sequences/list/list.cons/initializer_list_alloc.pass.cpp
    M libcxx/test/std/containers/sequences/list/list.cons/input_iterator.pass.cpp
    M libcxx/test/std/containers/sequences/list/list.cons/move.pass.cpp
    M libcxx/test/std/containers/sequences/list/list.cons/move_alloc.pass.cpp
    M libcxx/test/std/containers/sequences/list/list.cons/move_noexcept.pass.cpp
    M libcxx/test/std/containers/sequences/list/list.cons/op_equal_initializer_list.pass.cpp
    M libcxx/test/std/containers/sequences/list/list.cons/size_type.pass.cpp
    M libcxx/test/std/containers/sequences/list/list.cons/size_value_alloc.pass.cpp
    M libcxx/test/std/containers/sequences/list/list.erasure/erase.pass.cpp
    M libcxx/test/std/containers/sequences/list/list.erasure/erase_if.pass.cpp
    M libcxx/test/std/containers/sequences/list/list.modifiers/clear.pass.cpp
    M libcxx/test/std/containers/sequences/list/list.modifiers/emplace.pass.cpp
    M libcxx/test/std/containers/sequences/list/list.modifiers/emplace_back.pass.cpp
    M libcxx/test/std/containers/sequences/list/list.modifiers/emplace_front.pass.cpp
    M libcxx/test/std/containers/sequences/list/list.modifiers/erase_iter.pass.cpp
    M libcxx/test/std/containers/sequences/list/list.modifiers/erase_iter_iter.pass.cpp
    M libcxx/test/std/containers/sequences/list/list.modifiers/insert_iter_initializer_list.pass.cpp
    M libcxx/test/std/containers/sequences/list/list.modifiers/insert_iter_iter_iter.pass.cpp
    M libcxx/test/std/containers/sequences/list/list.modifiers/insert_iter_rvalue.pass.cpp
    M libcxx/test/std/containers/sequences/list/list.modifiers/insert_iter_size_value.pass.cpp
    M libcxx/test/std/containers/sequences/list/list.modifiers/insert_iter_value.pass.cpp
    M libcxx/test/std/containers/sequences/list/list.modifiers/pop_back.pass.cpp
    M libcxx/test/std/containers/sequences/list/list.modifiers/pop_front.pass.cpp
    M libcxx/test/std/containers/sequences/list/list.modifiers/push_back.pass.cpp
    M libcxx/test/std/containers/sequences/list/list.modifiers/push_back_exception_safety.pass.cpp
    M libcxx/test/std/containers/sequences/list/list.modifiers/push_back_rvalue.pass.cpp
    M libcxx/test/std/containers/sequences/list/list.modifiers/push_front.pass.cpp
    M libcxx/test/std/containers/sequences/list/list.modifiers/push_front_exception_safety.pass.cpp
    M libcxx/test/std/containers/sequences/list/list.modifiers/push_front_rvalue.pass.cpp
    M libcxx/test/std/containers/sequences/list/list.ops/merge.pass.cpp
    M libcxx/test/std/containers/sequences/list/list.ops/merge_comp.pass.cpp
    M libcxx/test/std/containers/sequences/list/list.ops/remove.pass.cpp
    M libcxx/test/std/containers/sequences/list/list.ops/remove_if.pass.cpp
    M libcxx/test/std/containers/sequences/list/list.ops/reverse.pass.cpp
    M libcxx/test/std/containers/sequences/list/list.ops/sort.pass.cpp
    M libcxx/test/std/containers/sequences/list/list.ops/sort_comp.pass.cpp
    M libcxx/test/std/containers/sequences/list/list.ops/splice_pos_list.pass.cpp
    M libcxx/test/std/containers/sequences/list/list.ops/splice_pos_list_iter.pass.cpp
    M libcxx/test/std/containers/sequences/list/list.ops/splice_pos_list_iter_iter.pass.cpp
    M libcxx/test/std/containers/sequences/list/list.ops/unique.pass.cpp
    M libcxx/test/std/containers/sequences/list/list.ops/unique_pred.pass.cpp
    M libcxx/test/std/containers/sequences/list/list.special/swap.pass.cpp
    M libcxx/test/std/containers/sequences/list/list.special/swap_noexcept.pass.cpp
    M libcxx/test/std/containers/sequences/list/range_concept_conformance.compile.pass.cpp
    M libcxx/test/std/containers/sequences/list/types.pass.cpp
    M libcxx/test/std/containers/sequences/vector.bool/append_range.pass.cpp
    M libcxx/test/std/containers/sequences/vector.bool/assign_copy.pass.cpp
    M libcxx/test/std/containers/sequences/vector.bool/assign_initializer_list.pass.cpp
    M libcxx/test/std/containers/sequences/vector.bool/assign_move.pass.cpp
    M libcxx/test/std/containers/sequences/vector.bool/assign_range.pass.cpp
    M libcxx/test/std/containers/sequences/vector.bool/capacity.pass.cpp
    M libcxx/test/std/containers/sequences/vector.bool/compare.pass.cpp
    M libcxx/test/std/containers/sequences/vector.bool/const_reference.pass.cpp
    M libcxx/test/std/containers/sequences/vector.bool/construct_default.pass.cpp
    M libcxx/test/std/containers/sequences/vector.bool/construct_iter_iter.pass.cpp
    M libcxx/test/std/containers/sequences/vector.bool/construct_iter_iter_alloc.pass.cpp
    M libcxx/test/std/containers/sequences/vector.bool/construct_size.pass.cpp
    M libcxx/test/std/containers/sequences/vector.bool/construct_size_value.pass.cpp
    M libcxx/test/std/containers/sequences/vector.bool/construct_size_value_alloc.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/default_noexcept.pass.cpp
    M libcxx/test/std/containers/sequences/vector.bool/dtor_noexcept.pass.cpp
    M libcxx/test/std/containers/sequences/vector.bool/emplace.pass.cpp
    M libcxx/test/std/containers/sequences/vector.bool/emplace_back.pass.cpp
    M libcxx/test/std/containers/sequences/vector.bool/empty.pass.cpp
    M libcxx/test/std/containers/sequences/vector.bool/empty.verify.cpp
    M libcxx/test/std/containers/sequences/vector.bool/enabled_hash.pass.cpp
    M libcxx/test/std/containers/sequences/vector.bool/erase_iter.pass.cpp
    M libcxx/test/std/containers/sequences/vector.bool/erase_iter_iter.pass.cpp
    M libcxx/test/std/containers/sequences/vector.bool/find.pass.cpp
    M libcxx/test/std/containers/sequences/vector.bool/get_allocator.pass.cpp
    M libcxx/test/std/containers/sequences/vector.bool/initializer_list.pass.cpp
    M libcxx/test/std/containers/sequences/vector.bool/initializer_list_alloc.pass.cpp
    M libcxx/test/std/containers/sequences/vector.bool/insert_iter_initializer_list.pass.cpp
    M libcxx/test/std/containers/sequences/vector.bool/insert_iter_iter_iter.pass.cpp
    M libcxx/test/std/containers/sequences/vector.bool/insert_iter_size_value.pass.cpp
    M libcxx/test/std/containers/sequences/vector.bool/insert_iter_value.pass.cpp
    M libcxx/test/std/containers/sequences/vector.bool/insert_range.pass.cpp
    M libcxx/test/std/containers/sequences/vector.bool/iterator_concept_conformance.compile.pass.cpp
    M libcxx/test/std/containers/sequences/vector.bool/iterators.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.bool/move_assign_noexcept.pass.cpp
    M libcxx/test/std/containers/sequences/vector.bool/move_noexcept.pass.cpp
    M libcxx/test/std/containers/sequences/vector.bool/op_equal_initializer_list.pass.cpp
    M libcxx/test/std/containers/sequences/vector.bool/push_back.pass.cpp
    M libcxx/test/std/containers/sequences/vector.bool/range_concept_conformance.compile.pass.cpp
    M libcxx/test/std/containers/sequences/vector.bool/reference.swap.pass.cpp
    M libcxx/test/std/containers/sequences/vector.bool/reference/assign_bool.pass.cpp
    M libcxx/test/std/containers/sequences/vector.bool/reference/assign_copy.pass.cpp
    M libcxx/test/std/containers/sequences/vector.bool/reference/ctor_copy.pass.cpp
    M libcxx/test/std/containers/sequences/vector.bool/reference/flip.pass.cpp
    M libcxx/test/std/containers/sequences/vector.bool/reference/operator_bool.pass.cpp
    M libcxx/test/std/containers/sequences/vector.bool/reserve.pass.cpp
    M libcxx/test/std/containers/sequences/vector.bool/resize_size.pass.cpp
    M libcxx/test/std/containers/sequences/vector.bool/resize_size_value.pass.cpp
    M libcxx/test/std/containers/sequences/vector.bool/size.pass.cpp
    M libcxx/test/std/containers/sequences/vector.bool/swap.pass.cpp
    M libcxx/test/std/containers/sequences/vector.bool/swap_noexcept.pass.cpp
    M libcxx/test/std/containers/sequences/vector.bool/types.pass.cpp
    M libcxx/test/std/containers/sequences/vector.bool/vector_bool.pass.cpp
    M libcxx/test/std/containers/sequences/vector/access.pass.cpp
    M libcxx/test/std/containers/sequences/vector/addressof.compile.pass.cpp
    M libcxx/test/std/containers/sequences/vector/allocator_mismatch.verify.cpp
    M libcxx/test/std/containers/sequences/vector/compare.pass.cpp
    M libcxx/test/std/containers/sequences/vector/contiguous.pass.cpp
    M libcxx/test/std/containers/sequences/vector/get_allocator.pass.cpp
    M libcxx/test/std/containers/sequences/vector/iterator_concept_conformance.compile.pass.cpp
    M libcxx/test/std/containers/sequences/vector/iterators.pass.cpp
    M libcxx/test/std/containers/sequences/vector/range_concept_conformance.compile.pass.cpp
    M libcxx/test/std/containers/sequences/vector/reverse_iterators.pass.cpp
    M libcxx/test/std/containers/sequences/vector/types.pass.cpp
    M libcxx/test/std/containers/sequences/vector/vector.capacity/capacity.pass.cpp
    M libcxx/test/std/containers/sequences/vector/vector.capacity/empty.pass.cpp
    M libcxx/test/std/containers/sequences/vector/vector.capacity/empty.verify.cpp
    M libcxx/test/std/containers/sequences/vector/vector.capacity/resize_size.pass.cpp
    M libcxx/test/std/containers/sequences/vector/vector.capacity/resize_size_value.pass.cpp
    M libcxx/test/std/containers/sequences/vector/vector.capacity/size.pass.cpp
    M libcxx/test/std/containers/sequences/vector/vector.capacity/swap.pass.cpp
    M libcxx/test/std/containers/sequences/vector/vector.cons/assign_copy.pass.cpp
    M libcxx/test/std/containers/sequences/vector/vector.cons/assign_initializer_list.pass.cpp
    M libcxx/test/std/containers/sequences/vector/vector.cons/assign_move.pass.cpp
    M libcxx/test/std/containers/sequences/vector/vector.cons/assign_size_value.pass.cpp
    M libcxx/test/std/containers/sequences/vector/vector.cons/construct_default.pass.cpp
    M libcxx/test/std/containers/sequences/vector/vector.cons/construct_iter_iter.pass.cpp
    M libcxx/test/std/containers/sequences/vector/vector.cons/construct_iter_iter_alloc.pass.cpp
    M libcxx/test/std/containers/sequences/vector/vector.cons/construct_size.pass.cpp
    M libcxx/test/std/containers/sequences/vector/vector.cons/construct_size_value.pass.cpp
    M libcxx/test/std/containers/sequences/vector/vector.cons/construct_size_value_alloc.pass.cpp
    M libcxx/test/std/containers/sequences/vector/vector.cons/copy.move_only.verify.cpp
    M libcxx/test/std/containers/sequences/vector/vector.cons/copy.pass.cpp
    M libcxx/test/std/containers/sequences/vector/vector.cons/copy_alloc.pass.cpp
    M libcxx/test/std/containers/sequences/vector/vector.cons/deduct.pass.cpp
    M libcxx/test/std/containers/sequences/vector/vector.cons/default.recursive.pass.cpp
    M libcxx/test/std/containers/sequences/vector/vector.cons/default_noexcept.pass.cpp
    M libcxx/test/std/containers/sequences/vector/vector.cons/dtor_noexcept.pass.cpp
    M libcxx/test/std/containers/sequences/vector/vector.cons/initializer_list.pass.cpp
    M libcxx/test/std/containers/sequences/vector/vector.cons/initializer_list_alloc.pass.cpp
    M libcxx/test/std/containers/sequences/vector/vector.cons/move.pass.cpp
    M libcxx/test/std/containers/sequences/vector/vector.cons/move_alloc.pass.cpp
    M libcxx/test/std/containers/sequences/vector/vector.cons/move_assign_noexcept.pass.cpp
    M libcxx/test/std/containers/sequences/vector/vector.cons/move_noexcept.pass.cpp
    M libcxx/test/std/containers/sequences/vector/vector.cons/op_equal_initializer_list.pass.cpp
    M libcxx/test/std/containers/sequences/vector/vector.data/data.pass.cpp
    M libcxx/test/std/containers/sequences/vector/vector.data/data_const.pass.cpp
    M libcxx/test/std/containers/sequences/vector/vector.erasure/erase.pass.cpp
    M libcxx/test/std/containers/sequences/vector/vector.erasure/erase_if.pass.cpp
    M libcxx/test/std/containers/sequences/vector/vector.modifiers/append_range.pass.cpp
    M libcxx/test/std/containers/sequences/vector/vector.modifiers/assign_range.pass.cpp
    M libcxx/test/std/containers/sequences/vector/vector.modifiers/clear.pass.cpp
    M libcxx/test/std/containers/sequences/vector/vector.modifiers/emplace.pass.cpp
    M libcxx/test/std/containers/sequences/vector/vector.modifiers/emplace_back.pass.cpp
    M libcxx/test/std/containers/sequences/vector/vector.modifiers/emplace_extra.pass.cpp
    M libcxx/test/std/containers/sequences/vector/vector.modifiers/erase_iter.pass.cpp
    M libcxx/test/std/containers/sequences/vector/vector.modifiers/insert_iter_initializer_list.pass.cpp
    M libcxx/test/std/containers/sequences/vector/vector.modifiers/insert_iter_lvalue.pass.cpp
    M libcxx/test/std/containers/sequences/vector/vector.modifiers/insert_iter_rvalue.pass.cpp
    M libcxx/test/std/containers/sequences/vector/vector.modifiers/insert_iter_size_value.pass.cpp
    M libcxx/test/std/containers/sequences/vector/vector.modifiers/insert_range.pass.cpp
    M libcxx/test/std/containers/sequences/vector/vector.modifiers/pop_back.pass.cpp
    M libcxx/test/std/containers/sequences/vector/vector.modifiers/push_back.pass.cpp
    M libcxx/test/std/containers/sequences/vector/vector.modifiers/push_back_exception_safety.pass.cpp
    M libcxx/test/std/containers/sequences/vector/vector.modifiers/push_back_rvalue.pass.cpp
    M libcxx/test/std/containers/sequences/vector/vector.modifiers/resize_not_move_insertable.verify.cpp
    M libcxx/test/std/containers/sequences/vector/vector.special/swap.pass.cpp
    M libcxx/test/std/containers/sequences/vector/vector.special/swap_noexcept.compile.pass.cpp
    M libcxx/test/std/containers/set_allocator_requirement_test_templates.h
    M libcxx/test/std/containers/test_compare.h
    M libcxx/test/std/containers/test_hash.h
    M libcxx/test/std/containers/unord/from_range_unordered_containers.h
    M libcxx/test/std/containers/unord/iterator_difference_type.pass.cpp
    M libcxx/test/std/containers/unord/unord.map/allocator_mismatch.verify.cpp
    M libcxx/test/std/containers/unord/unord.map/bucket.pass.cpp
    M libcxx/test/std/containers/unord/unord.map/bucket_count.pass.cpp
    M libcxx/test/std/containers/unord/unord.map/bucket_size.pass.cpp
    M libcxx/test/std/containers/unord/unord.map/compare.pass.cpp
    M libcxx/test/std/containers/unord/unord.map/contains.pass.cpp
    M libcxx/test/std/containers/unord/unord.map/contains.transparent.pass.cpp
    M libcxx/test/std/containers/unord/unord.map/count.pass.cpp
    M libcxx/test/std/containers/unord/unord.map/count.transparent.pass.cpp
    M libcxx/test/std/containers/unord/unord.map/empty.pass.cpp
    M libcxx/test/std/containers/unord/unord.map/empty.verify.cpp
    M libcxx/test/std/containers/unord/unord.map/eq.pass.cpp
    M libcxx/test/std/containers/unord/unord.map/equal_range.transparent.pass.cpp
    M libcxx/test/std/containers/unord/unord.map/equal_range_const.pass.cpp
    M libcxx/test/std/containers/unord/unord.map/equal_range_non_const.pass.cpp
    M libcxx/test/std/containers/unord/unord.map/erase_if.pass.cpp
    M libcxx/test/std/containers/unord/unord.map/find.transparent.pass.cpp
    M libcxx/test/std/containers/unord/unord.map/find_const.pass.cpp
    M libcxx/test/std/containers/unord/unord.map/find_non_const.pass.cpp
    M libcxx/test/std/containers/unord/unord.map/get_allocator.pass.cpp
    M libcxx/test/std/containers/unord/unord.map/incomplete_type.pass.cpp
    M libcxx/test/std/containers/unord/unord.map/iterator.operators.addressof.compile.pass.cpp
    M libcxx/test/std/containers/unord/unord.map/iterator_concept_conformance.compile.pass.cpp
    M libcxx/test/std/containers/unord/unord.map/iterators.pass.cpp
    M libcxx/test/std/containers/unord/unord.map/load_factor.pass.cpp
    M libcxx/test/std/containers/unord/unord.map/local_iterators.pass.cpp
    M libcxx/test/std/containers/unord/unord.map/max_bucket_count.pass.cpp
    M libcxx/test/std/containers/unord/unord.map/max_load_factor.pass.cpp
    M libcxx/test/std/containers/unord/unord.map/max_size.pass.cpp
    M libcxx/test/std/containers/unord/unord.map/range_concept_conformance.compile.pass.cpp
    M libcxx/test/std/containers/unord/unord.map/rehash.pass.cpp
    M libcxx/test/std/containers/unord/unord.map/reserve.pass.cpp
    M libcxx/test/std/containers/unord/unord.map/size.pass.cpp
    M libcxx/test/std/containers/unord/unord.map/swap_member.pass.cpp
    M libcxx/test/std/containers/unord/unord.map/types.pass.cpp
    M libcxx/test/std/containers/unord/unord.map/unord.map.cnstr/allocator.pass.cpp
    M libcxx/test/std/containers/unord/unord.map/unord.map.cnstr/assign_copy.pass.cpp
    M libcxx/test/std/containers/unord/unord.map/unord.map.cnstr/assign_init.pass.cpp
    M libcxx/test/std/containers/unord/unord.map/unord.map.cnstr/assign_move.pass.cpp
    M libcxx/test/std/containers/unord/unord.map/unord.map.cnstr/compare_copy_constructible.compile.fail.cpp
    M libcxx/test/std/containers/unord/unord.map/unord.map.cnstr/copy.pass.cpp
    M libcxx/test/std/containers/unord/unord.map/unord.map.cnstr/copy_alloc.pass.cpp
    M libcxx/test/std/containers/unord/unord.map/unord.map.cnstr/deduct.pass.cpp
    M libcxx/test/std/containers/unord/unord.map/unord.map.cnstr/deduct.verify.cpp
    M libcxx/test/std/containers/unord/unord.map/unord.map.cnstr/deduct_const.pass.cpp
    M libcxx/test/std/containers/unord/unord.map/unord.map.cnstr/default.pass.cpp
    M libcxx/test/std/containers/unord/unord.map/unord.map.cnstr/default_noexcept.pass.cpp
    M libcxx/test/std/containers/unord/unord.map/unord.map.cnstr/dtor_noexcept.pass.cpp
    M libcxx/test/std/containers/unord/unord.map/unord.map.cnstr/from_range.pass.cpp
    M libcxx/test/std/containers/unord/unord.map/unord.map.cnstr/hash_copy_constructible.compile.fail.cpp
    M libcxx/test/std/containers/unord/unord.map/unord.map.cnstr/init.pass.cpp
    M libcxx/test/std/containers/unord/unord.map/unord.map.cnstr/init_size.pass.cpp
    M libcxx/test/std/containers/unord/unord.map/unord.map.cnstr/init_size_allocator.pass.cpp
    M libcxx/test/std/containers/unord/unord.map/unord.map.cnstr/init_size_hash.pass.cpp
    M libcxx/test/std/containers/unord/unord.map/unord.map.cnstr/init_size_hash_allocator.pass.cpp
    M libcxx/test/std/containers/unord/unord.map/unord.map.cnstr/init_size_hash_equal.pass.cpp
    M libcxx/test/std/containers/unord/unord.map/unord.map.cnstr/init_size_hash_equal_allocator.pass.cpp
    M libcxx/test/std/containers/unord/unord.map/unord.map.cnstr/iter_iter.pass.cpp
    M libcxx/test/std/containers/unord/unord.map/unord.map.cnstr/iter_iter_size.pass.cpp
    M libcxx/test/std/containers/unord/unord.map/unord.map.cnstr/iter_iter_size_allocator.pass.cpp
    M libcxx/test/std/containers/unord/unord.map/unord.map.cnstr/iter_iter_size_hash.pass.cpp
    M libcxx/test/std/containers/unord/unord.map/unord.map.cnstr/iter_iter_size_hash_allocator.pass.cpp
    M libcxx/test/std/containers/unord/unord.map/unord.map.cnstr/iter_iter_size_hash_equal.pass.cpp
    M libcxx/test/std/containers/unord/unord.map/unord.map.cnstr/iter_iter_size_hash_equal_allocator.pass.cpp
    M libcxx/test/std/containers/unord/unord.map/unord.map.cnstr/move.pass.cpp
    M libcxx/test/std/containers/unord/unord.map/unord.map.cnstr/move_alloc.addressof.compile.pass.cpp
    M libcxx/test/std/containers/unord/unord.map/unord.map.cnstr/move_alloc.pass.cpp
    M libcxx/test/std/containers/unord/unord.map/unord.map.cnstr/move_noexcept.pass.cpp
    M libcxx/test/std/containers/unord/unord.map/unord.map.cnstr/size.compile.fail.cpp
    M libcxx/test/std/containers/unord/unord.map/unord.map.cnstr/size.pass.cpp
    M libcxx/test/std/containers/unord/unord.map/unord.map.cnstr/size_allocator.pass.cpp
    M libcxx/test/std/containers/unord/unord.map/unord.map.cnstr/size_hash.pass.cpp
    M libcxx/test/std/containers/unord/unord.map/unord.map.cnstr/size_hash_allocator.pass.cpp
    M libcxx/test/std/containers/unord/unord.map/unord.map.cnstr/size_hash_equal.pass.cpp
    M libcxx/test/std/containers/unord/unord.map/unord.map.cnstr/size_hash_equal_allocator.pass.cpp
    M libcxx/test/std/containers/unord/unord.map/unord.map.elem/at.pass.cpp
    M libcxx/test/std/containers/unord/unord.map/unord.map.elem/index.pass.cpp
    M libcxx/test/std/containers/unord/unord.map/unord.map.elem/index_tuple.pass.cpp
    M libcxx/test/std/containers/unord/unord.map/unord.map.modifiers/clear.pass.cpp
    M libcxx/test/std/containers/unord/unord.map/unord.map.modifiers/emplace.pass.cpp
    M libcxx/test/std/containers/unord/unord.map/unord.map.modifiers/emplace_hint.pass.cpp
    M libcxx/test/std/containers/unord/unord.map/unord.map.modifiers/erase_const_iter.pass.cpp
    M libcxx/test/std/containers/unord/unord.map/unord.map.modifiers/erase_key.pass.cpp
    M libcxx/test/std/containers/unord/unord.map/unord.map.modifiers/erase_range.pass.cpp
    M libcxx/test/std/containers/unord/unord.map/unord.map.modifiers/extract_iterator.pass.cpp
    M libcxx/test/std/containers/unord/unord.map/unord.map.modifiers/extract_key.pass.cpp
    M libcxx/test/std/containers/unord/unord.map/unord.map.modifiers/insert_and_emplace_allocator_requirements.pass.cpp
    M libcxx/test/std/containers/unord/unord.map/unord.map.modifiers/insert_const_lvalue.pass.cpp
    M libcxx/test/std/containers/unord/unord.map/unord.map.modifiers/insert_hint_const_lvalue.pass.cpp
    M libcxx/test/std/containers/unord/unord.map/unord.map.modifiers/insert_hint_rvalue.pass.cpp
    M libcxx/test/std/containers/unord/unord.map/unord.map.modifiers/insert_init.pass.cpp
    M libcxx/test/std/containers/unord/unord.map/unord.map.modifiers/insert_iter_iter.pass.cpp
    M libcxx/test/std/containers/unord/unord.map/unord.map.modifiers/insert_node_type.pass.cpp
    M libcxx/test/std/containers/unord/unord.map/unord.map.modifiers/insert_node_type_hint.pass.cpp
    M libcxx/test/std/containers/unord/unord.map/unord.map.modifiers/insert_or_assign.pass.cpp
    M libcxx/test/std/containers/unord/unord.map/unord.map.modifiers/insert_range.pass.cpp
    M libcxx/test/std/containers/unord/unord.map/unord.map.modifiers/insert_rvalue.pass.cpp
    M libcxx/test/std/containers/unord/unord.map/unord.map.modifiers/merge.pass.cpp
    M libcxx/test/std/containers/unord/unord.map/unord.map.modifiers/try.emplace.pass.cpp
    M libcxx/test/std/containers/unord/unord.map/unord.map.swap/swap_noexcept.pass.cpp
    M libcxx/test/std/containers/unord/unord.map/unord.map.swap/swap_non_member.pass.cpp
    M libcxx/test/std/containers/unord/unord.multimap/allocator_mismatch.verify.cpp
    M libcxx/test/std/containers/unord/unord.multimap/bucket.pass.cpp
    M libcxx/test/std/containers/unord/unord.multimap/bucket_count.pass.cpp
    M libcxx/test/std/containers/unord/unord.multimap/bucket_size.pass.cpp
    M libcxx/test/std/containers/unord/unord.multimap/contains.transparent.pass.cpp
    M libcxx/test/std/containers/unord/unord.multimap/count.pass.cpp
    M libcxx/test/std/containers/unord/unord.multimap/count.transparent.pass.cpp
    M libcxx/test/std/containers/unord/unord.multimap/empty.pass.cpp
    M libcxx/test/std/containers/unord/unord.multimap/empty.verify.cpp
    M libcxx/test/std/containers/unord/unord.multimap/eq.pass.cpp
    M libcxx/test/std/containers/unord/unord.multimap/equal_range.transparent.pass.cpp
    M libcxx/test/std/containers/unord/unord.multimap/equal_range_const.pass.cpp
    M libcxx/test/std/containers/unord/unord.multimap/equal_range_non_const.pass.cpp
    M libcxx/test/std/containers/unord/unord.multimap/erase_if.pass.cpp
    M libcxx/test/std/containers/unord/unord.multimap/find.transparent.pass.cpp
    M libcxx/test/std/containers/unord/unord.multimap/find_const.pass.cpp
    M libcxx/test/std/containers/unord/unord.multimap/find_non_const.pass.cpp
    M libcxx/test/std/containers/unord/unord.multimap/get_allocator.pass.cpp
    M libcxx/test/std/containers/unord/unord.multimap/incomplete.pass.cpp
    M libcxx/test/std/containers/unord/unord.multimap/iterator_concept_conformance.compile.pass.cpp
    M libcxx/test/std/containers/unord/unord.multimap/iterators.compile.fail.cpp
    M libcxx/test/std/containers/unord/unord.multimap/iterators.pass.cpp
    M libcxx/test/std/containers/unord/unord.multimap/load_factor.pass.cpp
    M libcxx/test/std/containers/unord/unord.multimap/local_iterators.compile.fail.cpp
    M libcxx/test/std/containers/unord/unord.multimap/local_iterators.pass.cpp
    M libcxx/test/std/containers/unord/unord.multimap/max_bucket_count.pass.cpp
    M libcxx/test/std/containers/unord/unord.multimap/max_load_factor.pass.cpp
    M libcxx/test/std/containers/unord/unord.multimap/max_size.pass.cpp
    M libcxx/test/std/containers/unord/unord.multimap/range_concept_conformance.compile.pass.cpp
    M libcxx/test/std/containers/unord/unord.multimap/rehash.pass.cpp
    M libcxx/test/std/containers/unord/unord.multimap/reserve.pass.cpp
    M libcxx/test/std/containers/unord/unord.multimap/scary.pass.cpp
    M libcxx/test/std/containers/unord/unord.multimap/size.pass.cpp
    M libcxx/test/std/containers/unord/unord.multimap/swap_member.pass.cpp
    M libcxx/test/std/containers/unord/unord.multimap/types.pass.cpp
    M libcxx/test/std/containers/unord/unord.multimap/unord.multimap.cnstr/allocator.pass.cpp
    M libcxx/test/std/containers/unord/unord.multimap/unord.multimap.cnstr/assign_copy.pass.cpp
    M libcxx/test/std/containers/unord/unord.multimap/unord.multimap.cnstr/assign_init.pass.cpp
    M libcxx/test/std/containers/unord/unord.multimap/unord.multimap.cnstr/assign_move.pass.cpp
    M libcxx/test/std/containers/unord/unord.multimap/unord.multimap.cnstr/compare_copy_constructible.compile.fail.cpp
    M libcxx/test/std/containers/unord/unord.multimap/unord.multimap.cnstr/copy.pass.cpp
    M libcxx/test/std/containers/unord/unord.multimap/unord.multimap.cnstr/copy_alloc.pass.cpp
    M libcxx/test/std/containers/unord/unord.multimap/unord.multimap.cnstr/deduct.pass.cpp
    M libcxx/test/std/containers/unord/unord.multimap/unord.multimap.cnstr/deduct.verify.cpp
    M libcxx/test/std/containers/unord/unord.multimap/unord.multimap.cnstr/deduct_const.pass.cpp
    M libcxx/test/std/containers/unord/unord.multimap/unord.multimap.cnstr/default.pass.cpp
    M libcxx/test/std/containers/unord/unord.multimap/unord.multimap.cnstr/default_noexcept.pass.cpp
    M libcxx/test/std/containers/unord/unord.multimap/unord.multimap.cnstr/dtor_noexcept.pass.cpp
    M libcxx/test/std/containers/unord/unord.multimap/unord.multimap.cnstr/from_range.pass.cpp
    M libcxx/test/std/containers/unord/unord.multimap/unord.multimap.cnstr/hash_copy_constructible.compile.fail.cpp
    M libcxx/test/std/containers/unord/unord.multimap/unord.multimap.cnstr/init.pass.cpp
    M libcxx/test/std/containers/unord/unord.multimap/unord.multimap.cnstr/init_size.pass.cpp
    M libcxx/test/std/containers/unord/unord.multimap/unord.multimap.cnstr/init_size_allocator.pass.cpp
    M libcxx/test/std/containers/unord/unord.multimap/unord.multimap.cnstr/init_size_hash.pass.cpp
    M libcxx/test/std/containers/unord/unord.multimap/unord.multimap.cnstr/init_size_hash_allocator.pass.cpp
    M libcxx/test/std/containers/unord/unord.multimap/unord.multimap.cnstr/init_size_hash_equal.pass.cpp
    M libcxx/test/std/containers/unord/unord.multimap/unord.multimap.cnstr/init_size_hash_equal_allocator.pass.cpp
    M libcxx/test/std/containers/unord/unord.multimap/unord.multimap.cnstr/iter_iter.pass.cpp
    M libcxx/test/std/containers/unord/unord.multimap/unord.multimap.cnstr/iter_iter_size.pass.cpp
    M libcxx/test/std/containers/unord/unord.multimap/unord.multimap.cnstr/iter_iter_size_allocator.pass.cpp
    M libcxx/test/std/containers/unord/unord.multimap/unord.multimap.cnstr/iter_iter_size_hash.pass.cpp
    M libcxx/test/std/containers/unord/unord.multimap/unord.multimap.cnstr/iter_iter_size_hash_allocator.pass.cpp
    M libcxx/test/std/containers/unord/unord.multimap/unord.multimap.cnstr/iter_iter_size_hash_equal.pass.cpp
    M libcxx/test/std/containers/unord/unord.multimap/unord.multimap.cnstr/iter_iter_size_hash_equal_allocator.pass.cpp
    M libcxx/test/std/containers/unord/unord.multimap/unord.multimap.cnstr/move.pass.cpp
    M libcxx/test/std/containers/unord/unord.multimap/unord.multimap.cnstr/move_alloc.addressof.compile.pass.cpp
    M libcxx/test/std/containers/unord/unord.multimap/unord.multimap.cnstr/move_alloc.pass.cpp
    M libcxx/test/std/containers/unord/unord.multimap/unord.multimap.cnstr/move_noexcept.pass.cpp
    M libcxx/test/std/containers/unord/unord.multimap/unord.multimap.cnstr/size.compile.fail.cpp
    M libcxx/test/std/containers/unord/unord.multimap/unord.multimap.cnstr/size.pass.cpp
    M libcxx/test/std/containers/unord/unord.multimap/unord.multimap.cnstr/size_allocator.pass.cpp
    M libcxx/test/std/containers/unord/unord.multimap/unord.multimap.cnstr/size_hash.pass.cpp
    M libcxx/test/std/containers/unord/unord.multimap/unord.multimap.cnstr/size_hash_allocator.pass.cpp
    M libcxx/test/std/containers/unord/unord.multimap/unord.multimap.cnstr/size_hash_equal.pass.cpp
    M libcxx/test/std/containers/unord/unord.multimap/unord.multimap.cnstr/size_hash_equal_allocator.pass.cpp
    M libcxx/test/std/containers/unord/unord.multimap/unord.multimap.modifiers/clear.pass.cpp
    M libcxx/test/std/containers/unord/unord.multimap/unord.multimap.modifiers/emplace.pass.cpp
    M libcxx/test/std/containers/unord/unord.multimap/unord.multimap.modifiers/emplace_hint.pass.cpp
    M libcxx/test/std/containers/unord/unord.multimap/unord.multimap.modifiers/erase_const_iter.pass.cpp
    M libcxx/test/std/containers/unord/unord.multimap/unord.multimap.modifiers/erase_key.pass.cpp
    M libcxx/test/std/containers/unord/unord.multimap/unord.multimap.modifiers/erase_range.pass.cpp
    M libcxx/test/std/containers/unord/unord.multimap/unord.multimap.modifiers/extract_iterator.pass.cpp
    M libcxx/test/std/containers/unord/unord.multimap/unord.multimap.modifiers/extract_key.pass.cpp
    M libcxx/test/std/containers/unord/unord.multimap/unord.multimap.modifiers/insert_allocator_requirements.pass.cpp
    M libcxx/test/std/containers/unord/unord.multimap/unord.multimap.modifiers/insert_const_lvalue.pass.cpp
    M libcxx/test/std/containers/unord/unord.multimap/unord.multimap.modifiers/insert_hint_const_lvalue.pass.cpp
    M libcxx/test/std/containers/unord/unord.multimap/unord.multimap.modifiers/insert_hint_rvalue.pass.cpp
    M libcxx/test/std/containers/unord/unord.multimap/unord.multimap.modifiers/insert_init.pass.cpp
    M libcxx/test/std/containers/unord/unord.multimap/unord.multimap.modifiers/insert_iter_iter.pass.cpp
    M libcxx/test/std/containers/unord/unord.multimap/unord.multimap.modifiers/insert_node_type.pass.cpp
    M libcxx/test/std/containers/unord/unord.multimap/unord.multimap.modifiers/insert_node_type_hint.pass.cpp
    M libcxx/test/std/containers/unord/unord.multimap/unord.multimap.modifiers/insert_range.pass.cpp
    M libcxx/test/std/containers/unord/unord.multimap/unord.multimap.modifiers/insert_rvalue.pass.cpp
    M libcxx/test/std/containers/unord/unord.multimap/unord.multimap.modifiers/merge.pass.cpp
    M libcxx/test/std/containers/unord/unord.multimap/unord.multimap.swap/swap_noexcept.pass.cpp
    M libcxx/test/std/containers/unord/unord.multimap/unord.multimap.swap/swap_non_member.pass.cpp
    M libcxx/test/std/containers/unord/unord.multiset/allocator_mismatch.verify.cpp
    M libcxx/test/std/containers/unord/unord.multiset/bucket.pass.cpp
    M libcxx/test/std/containers/unord/unord.multiset/bucket_count.pass.cpp
    M libcxx/test/std/containers/unord/unord.multiset/bucket_size.pass.cpp
    M libcxx/test/std/containers/unord/unord.multiset/clear.pass.cpp
    M libcxx/test/std/containers/unord/unord.multiset/contains.transparent.pass.cpp
    M libcxx/test/std/containers/unord/unord.multiset/count.pass.cpp
    M libcxx/test/std/containers/unord/unord.multiset/count.transparent.pass.cpp
    M libcxx/test/std/containers/unord/unord.multiset/emplace.pass.cpp
    M libcxx/test/std/containers/unord/unord.multiset/emplace_hint.pass.cpp
    M libcxx/test/std/containers/unord/unord.multiset/empty.pass.cpp
    M libcxx/test/std/containers/unord/unord.multiset/empty.verify.cpp
    M libcxx/test/std/containers/unord/unord.multiset/eq.pass.cpp
    M libcxx/test/std/containers/unord/unord.multiset/equal_range.transparent.pass.cpp
    M libcxx/test/std/containers/unord/unord.multiset/equal_range_const.pass.cpp
    M libcxx/test/std/containers/unord/unord.multiset/equal_range_non_const.pass.cpp
    M libcxx/test/std/containers/unord/unord.multiset/erase_const_iter.pass.cpp
    M libcxx/test/std/containers/unord/unord.multiset/erase_if.pass.cpp
    M libcxx/test/std/containers/unord/unord.multiset/erase_key.pass.cpp
    M libcxx/test/std/containers/unord/unord.multiset/erase_range.pass.cpp
    M libcxx/test/std/containers/unord/unord.multiset/extract_iterator.pass.cpp
    M libcxx/test/std/containers/unord/unord.multiset/extract_key.pass.cpp
    M libcxx/test/std/containers/unord/unord.multiset/find.transparent.pass.cpp
    M libcxx/test/std/containers/unord/unord.multiset/find_const.pass.cpp
    M libcxx/test/std/containers/unord/unord.multiset/find_non_const.pass.cpp
    M libcxx/test/std/containers/unord/unord.multiset/get_allocator.pass.cpp
    M libcxx/test/std/containers/unord/unord.multiset/incomplete.pass.cpp
    M libcxx/test/std/containers/unord/unord.multiset/insert_const_lvalue.pass.cpp
    M libcxx/test/std/containers/unord/unord.multiset/insert_emplace_allocator_requirements.pass.cpp
    M libcxx/test/std/containers/unord/unord.multiset/insert_hint_const_lvalue.pass.cpp
    M libcxx/test/std/containers/unord/unord.multiset/insert_hint_rvalue.pass.cpp
    M libcxx/test/std/containers/unord/unord.multiset/insert_init.pass.cpp
    M libcxx/test/std/containers/unord/unord.multiset/insert_iter_iter.pass.cpp
    M libcxx/test/std/containers/unord/unord.multiset/insert_node_type.pass.cpp
    M libcxx/test/std/containers/unord/unord.multiset/insert_node_type_hint.pass.cpp
    M libcxx/test/std/containers/unord/unord.multiset/insert_range.pass.cpp
    M libcxx/test/std/containers/unord/unord.multiset/insert_rvalue.pass.cpp
    M libcxx/test/std/containers/unord/unord.multiset/iterator_concept_conformance.compile.pass.cpp
    M libcxx/test/std/containers/unord/unord.multiset/iterators.compile.fail.cpp
    M libcxx/test/std/containers/unord/unord.multiset/iterators.pass.cpp
    M libcxx/test/std/containers/unord/unord.multiset/load_factor.pass.cpp
    M libcxx/test/std/containers/unord/unord.multiset/local_iterators.compile.fail.cpp
    M libcxx/test/std/containers/unord/unord.multiset/local_iterators.pass.cpp
    M libcxx/test/std/containers/unord/unord.multiset/max_bucket_count.pass.cpp
    M libcxx/test/std/containers/unord/unord.multiset/max_load_factor.pass.cpp
    M libcxx/test/std/containers/unord/unord.multiset/max_size.pass.cpp
    M libcxx/test/std/containers/unord/unord.multiset/merge.pass.cpp
    M libcxx/test/std/containers/unord/unord.multiset/range_concept_conformance.compile.pass.cpp
    M libcxx/test/std/containers/unord/unord.multiset/rehash.pass.cpp
    M libcxx/test/std/containers/unord/unord.multiset/reserve.pass.cpp
    M libcxx/test/std/containers/unord/unord.multiset/scary.pass.cpp
    M libcxx/test/std/containers/unord/unord.multiset/size.pass.cpp
    M libcxx/test/std/containers/unord/unord.multiset/swap_member.pass.cpp
    M libcxx/test/std/containers/unord/unord.multiset/types.pass.cpp
    M libcxx/test/std/containers/unord/unord.multiset/unord.multiset.cnstr/allocator.pass.cpp
    M libcxx/test/std/containers/unord/unord.multiset/unord.multiset.cnstr/assign_copy.pass.cpp
    M libcxx/test/std/containers/unord/unord.multiset/unord.multiset.cnstr/assign_init.pass.cpp
    M libcxx/test/std/containers/unord/unord.multiset/unord.multiset.cnstr/assign_move.pass.cpp
    M libcxx/test/std/containers/unord/unord.multiset/unord.multiset.cnstr/compare_copy_constructible.compile.fail.cpp
    M libcxx/test/std/containers/unord/unord.multiset/unord.multiset.cnstr/copy.pass.cpp
    M libcxx/test/std/containers/unord/unord.multiset/unord.multiset.cnstr/copy_alloc.pass.cpp
    M libcxx/test/std/containers/unord/unord.multiset/unord.multiset.cnstr/deduct.pass.cpp
    M libcxx/test/std/containers/unord/unord.multiset/unord.multiset.cnstr/deduct.verify.cpp
    M libcxx/test/std/containers/unord/unord.multiset/unord.multiset.cnstr/default.pass.cpp
    M libcxx/test/std/containers/unord/unord.multiset/unord.multiset.cnstr/default_noexcept.pass.cpp
    M libcxx/test/std/containers/unord/unord.multiset/unord.multiset.cnstr/dtor_noexcept.pass.cpp
    M libcxx/test/std/containers/unord/unord.multiset/unord.multiset.cnstr/from_range.pass.cpp
    M libcxx/test/std/containers/unord/unord.multiset/unord.multiset.cnstr/hash_copy_constructible.compile.fail.cpp
    M libcxx/test/std/containers/unord/unord.multiset/unord.multiset.cnstr/init.pass.cpp
    M libcxx/test/std/containers/unord/unord.multiset/unord.multiset.cnstr/init_size.pass.cpp
    M libcxx/test/std/containers/unord/unord.multiset/unord.multiset.cnstr/init_size_allocator.pass.cpp
    M libcxx/test/std/containers/unord/unord.multiset/unord.multiset.cnstr/init_size_hash.pass.cpp
    M libcxx/test/std/containers/unord/unord.multiset/unord.multiset.cnstr/init_size_hash_allocator.pass.cpp
    M libcxx/test/std/containers/unord/unord.multiset/unord.multiset.cnstr/init_size_hash_equal.pass.cpp
    M libcxx/test/std/containers/unord/unord.multiset/unord.multiset.cnstr/init_size_hash_equal_allocator.pass.cpp
    M libcxx/test/std/containers/unord/unord.multiset/unord.multiset.cnstr/iter_iter.pass.cpp
    M libcxx/test/std/containers/unord/unord.multiset/unord.multiset.cnstr/iter_iter_size.pass.cpp
    M libcxx/test/std/containers/unord/unord.multiset/unord.multiset.cnstr/iter_iter_size_allocator.pass.cpp
    M libcxx/test/std/containers/unord/unord.multiset/unord.multiset.cnstr/iter_iter_size_hash.pass.cpp
    M libcxx/test/std/containers/unord/unord.multiset/unord.multiset.cnstr/iter_iter_size_hash_allocator.pass.cpp
    M libcxx/test/std/containers/unord/unord.multiset/unord.multiset.cnstr/iter_iter_size_hash_equal.pass.cpp
    M libcxx/test/std/containers/unord/unord.multiset/unord.multiset.cnstr/iter_iter_size_hash_equal_allocator.pass.cpp
    M libcxx/test/std/containers/unord/unord.multiset/unord.multiset.cnstr/move.pass.cpp
    M libcxx/test/std/containers/unord/unord.multiset/unord.multiset.cnstr/move_alloc.pass.cpp
    M libcxx/test/std/containers/unord/unord.multiset/unord.multiset.cnstr/move_noexcept.pass.cpp
    M libcxx/test/std/containers/unord/unord.multiset/unord.multiset.cnstr/size.compile.fail.cpp
    M libcxx/test/std/containers/unord/unord.multiset/unord.multiset.cnstr/size.pass.cpp
    M libcxx/test/std/containers/unord/unord.multiset/unord.multiset.cnstr/size_allocator.pass.cpp
    M libcxx/test/std/containers/unord/unord.multiset/unord.multiset.cnstr/size_hash.pass.cpp
    M libcxx/test/std/containers/unord/unord.multiset/unord.multiset.cnstr/size_hash_allocator.pass.cpp
    M libcxx/test/std/containers/unord/unord.multiset/unord.multiset.cnstr/size_hash_equal.pass.cpp
    M libcxx/test/std/containers/unord/unord.multiset/unord.multiset.cnstr/size_hash_equal_allocator.pass.cpp
    M libcxx/test/std/containers/unord/unord.multiset/unord.multiset.swap/swap_noexcept.pass.cpp
    M libcxx/test/std/containers/unord/unord.multiset/unord.multiset.swap/swap_non_member.pass.cpp
    M libcxx/test/std/containers/unord/unord.set/allocator_mismatch.verify.cpp
    M libcxx/test/std/containers/unord/unord.set/bucket.pass.cpp
    M libcxx/test/std/containers/unord/unord.set/bucket_count.pass.cpp
    M libcxx/test/std/containers/unord/unord.set/bucket_size.pass.cpp
    M libcxx/test/std/containers/unord/unord.set/clear.pass.cpp
    M libcxx/test/std/containers/unord/unord.set/contains.pass.cpp
    M libcxx/test/std/containers/unord/unord.set/contains.transparent.pass.cpp
    M libcxx/test/std/containers/unord/unord.set/count.pass.cpp
    M libcxx/test/std/containers/unord/unord.set/count.transparent.pass.cpp
    M libcxx/test/std/containers/unord/unord.set/emplace.pass.cpp
    M libcxx/test/std/containers/unord/unord.set/emplace_hint.pass.cpp
    M libcxx/test/std/containers/unord/unord.set/empty.pass.cpp
    M libcxx/test/std/containers/unord/unord.set/empty.verify.cpp
    M libcxx/test/std/containers/unord/unord.set/eq.pass.cpp
    M libcxx/test/std/containers/unord/unord.set/equal_range.transparent.pass.cpp
    M libcxx/test/std/containers/unord/unord.set/equal_range_const.pass.cpp
    M libcxx/test/std/containers/unord/unord.set/equal_range_non_const.pass.cpp
    M libcxx/test/std/containers/unord/unord.set/erase_const_iter.pass.cpp
    M libcxx/test/std/containers/unord/unord.set/erase_if.pass.cpp
    M libcxx/test/std/containers/unord/unord.set/erase_key.pass.cpp
    M libcxx/test/std/containers/unord/unord.set/erase_range.pass.cpp
    M libcxx/test/std/containers/unord/unord.set/extract_iterator.pass.cpp
    M libcxx/test/std/containers/unord/unord.set/extract_key.pass.cpp
    M libcxx/test/std/containers/unord/unord.set/find.transparent.pass.cpp
    M libcxx/test/std/containers/unord/unord.set/find_const.pass.cpp
    M libcxx/test/std/containers/unord/unord.set/find_non_const.pass.cpp
    M libcxx/test/std/containers/unord/unord.set/get_allocator.pass.cpp
    M libcxx/test/std/containers/unord/unord.set/incomplete.pass.cpp
    M libcxx/test/std/containers/unord/unord.set/insert_and_emplace_allocator_requirements.pass.cpp
    M libcxx/test/std/containers/unord/unord.set/insert_const_lvalue.pass.cpp
    M libcxx/test/std/containers/unord/unord.set/insert_hint_const_lvalue.pass.cpp
    M libcxx/test/std/containers/unord/unord.set/insert_hint_rvalue.pass.cpp
    M libcxx/test/std/containers/unord/unord.set/insert_init.pass.cpp
    M libcxx/test/std/containers/unord/unord.set/insert_iter_iter.pass.cpp
    M libcxx/test/std/containers/unord/unord.set/insert_node_type.pass.cpp
    M libcxx/test/std/containers/unord/unord.set/insert_node_type_hint.pass.cpp
    M libcxx/test/std/containers/unord/unord.set/insert_rvalue.pass.cpp
    M libcxx/test/std/containers/unord/unord.set/iterator.operators.addressof.compile.pass.cpp
    M libcxx/test/std/containers/unord/unord.set/iterator_concept_conformance.compile.pass.cpp
    M libcxx/test/std/containers/unord/unord.set/iterators.compile.fail.cpp
    M libcxx/test/std/containers/unord/unord.set/iterators.pass.cpp
    M libcxx/test/std/containers/unord/unord.set/load_factor.pass.cpp
    M libcxx/test/std/containers/unord/unord.set/local_iterators.compile.fail.cpp
    M libcxx/test/std/containers/unord/unord.set/local_iterators.pass.cpp
    M libcxx/test/std/containers/unord/unord.set/max_bucket_count.pass.cpp
    M libcxx/test/std/containers/unord/unord.set/max_load_factor.pass.cpp
    M libcxx/test/std/containers/unord/unord.set/max_size.pass.cpp
    M libcxx/test/std/containers/unord/unord.set/merge.pass.cpp
    M libcxx/test/std/containers/unord/unord.set/range_concept_conformance.compile.pass.cpp
    M libcxx/test/std/containers/unord/unord.set/rehash.pass.cpp
    M libcxx/test/std/containers/unord/unord.set/reserve.pass.cpp
    M libcxx/test/std/containers/unord/unord.set/size.pass.cpp
    M libcxx/test/std/containers/unord/unord.set/swap_member.pass.cpp
    M libcxx/test/std/containers/unord/unord.set/types.pass.cpp
    M libcxx/test/std/containers/unord/unord.set/unord.set.cnstr/allocator.pass.cpp
    M libcxx/test/std/containers/unord/unord.set/unord.set.cnstr/assign_copy.pass.cpp
    M libcxx/test/std/containers/unord/unord.set/unord.set.cnstr/assign_init.pass.cpp
    M libcxx/test/std/containers/unord/unord.set/unord.set.cnstr/assign_move.pass.cpp
    M libcxx/test/std/containers/unord/unord.set/unord.set.cnstr/compare_copy_constructible.compile.fail.cpp
    M libcxx/test/std/containers/unord/unord.set/unord.set.cnstr/copy.pass.cpp
    M libcxx/test/std/containers/unord/unord.set/unord.set.cnstr/copy_alloc.pass.cpp
    M libcxx/test/std/containers/unord/unord.set/unord.set.cnstr/deduct.pass.cpp
    M libcxx/test/std/containers/unord/unord.set/unord.set.cnstr/deduct.verify.cpp
    M libcxx/test/std/containers/unord/unord.set/unord.set.cnstr/default.pass.cpp
    M libcxx/test/std/containers/unord/unord.set/unord.set.cnstr/default_noexcept.pass.cpp
    M libcxx/test/std/containers/unord/unord.set/unord.set.cnstr/dtor_noexcept.pass.cpp
    M libcxx/test/std/containers/unord/unord.set/unord.set.cnstr/from_range.pass.cpp
    M libcxx/test/std/containers/unord/unord.set/unord.set.cnstr/hash_copy_constructible.compile.fail.cpp
    M libcxx/test/std/containers/unord/unord.set/unord.set.cnstr/init.pass.cpp
    M libcxx/test/std/containers/unord/unord.set/unord.set.cnstr/init_size.pass.cpp
    M libcxx/test/std/containers/unord/unord.set/unord.set.cnstr/init_size_allocator.pass.cpp
    M libcxx/test/std/containers/unord/unord.set/unord.set.cnstr/init_size_hash.pass.cpp
    M libcxx/test/std/containers/unord/unord.set/unord.set.cnstr/init_size_hash_allocator.pass.cpp
    M libcxx/test/std/containers/unord/unord.set/unord.set.cnstr/init_size_hash_equal.pass.cpp
    M libcxx/test/std/containers/unord/unord.set/unord.set.cnstr/init_size_hash_equal_allocator.pass.cpp
    M libcxx/test/std/containers/unord/unord.set/unord.set.cnstr/iter_iter.pass.cpp
    M libcxx/test/std/containers/unord/unord.set/unord.set.cnstr/iter_iter_size.pass.cpp
    M libcxx/test/std/containers/unord/unord.set/unord.set.cnstr/iter_iter_size_allocator.pass.cpp
    M libcxx/test/std/containers/unord/unord.set/unord.set.cnstr/iter_iter_size_hash.pass.cpp
    M libcxx/test/std/containers/unord/unord.set/unord.set.cnstr/iter_iter_size_hash_allocator.pass.cpp
    M libcxx/test/std/containers/unord/unord.set/unord.set.cnstr/iter_iter_size_hash_equal.pass.cpp
    M libcxx/test/std/containers/unord/unord.set/unord.set.cnstr/iter_iter_size_hash_equal_allocator.pass.cpp
    M libcxx/test/std/containers/unord/unord.set/unord.set.cnstr/move.pass.cpp
    M libcxx/test/std/containers/unord/unord.set/unord.set.cnstr/move_alloc.pass.cpp
    M libcxx/test/std/containers/unord/unord.set/unord.set.cnstr/move_noexcept.pass.cpp
    M libcxx/test/std/containers/unord/unord.set/unord.set.cnstr/size.compile.fail.cpp
    M libcxx/test/std/containers/unord/unord.set/unord.set.cnstr/size.pass.cpp
    M libcxx/test/std/containers/unord/unord.set/unord.set.cnstr/size_allocator.pass.cpp
    M libcxx/test/std/containers/unord/unord.set/unord.set.cnstr/size_hash.pass.cpp
    M libcxx/test/std/containers/unord/unord.set/unord.set.cnstr/size_hash_allocator.pass.cpp
    M libcxx/test/std/containers/unord/unord.set/unord.set.cnstr/size_hash_equal.pass.cpp
    M libcxx/test/std/containers/unord/unord.set/unord.set.cnstr/size_hash_equal_allocator.pass.cpp
    M libcxx/test/std/containers/unord/unord.set/unord.set.swap/swap_noexcept.pass.cpp
    M libcxx/test/std/containers/unord/unord.set/unord.set.swap/swap_non_member.pass.cpp
    M libcxx/test/std/containers/views/mdspan/ConvertibleToIntegral.h
    M libcxx/test/std/containers/views/mdspan/MinimalElementType.h
    M libcxx/test/std/containers/views/mdspan/default_accessor/access.pass.cpp
    M libcxx/test/std/containers/views/mdspan/default_accessor/ctor.conversion.pass.cpp
    M libcxx/test/std/containers/views/mdspan/default_accessor/element_type.verify.cpp
    M libcxx/test/std/containers/views/mdspan/default_accessor/offset.pass.cpp
    M libcxx/test/std/containers/views/mdspan/default_accessor/types.pass.cpp
    M libcxx/test/std/containers/views/mdspan/layout_left/index_operator.pass.cpp
    M libcxx/test/std/containers/views/mdspan/layout_right/index_operator.pass.cpp
    M libcxx/test/std/containers/views/mdspan/mdspan/assign.pass.cpp
    M libcxx/test/std/containers/views/mdspan/mdspan/conversion.pass.cpp
    M libcxx/test/std/containers/views/mdspan/mdspan/conversion.verify.cpp
    M libcxx/test/std/containers/views/mdspan/mdspan/ctor.copy.pass.cpp
    M libcxx/test/std/containers/views/mdspan/mdspan/ctor.default.pass.cpp
    M libcxx/test/std/containers/views/mdspan/mdspan/ctor.dh_array.pass.cpp
    M libcxx/test/std/containers/views/mdspan/mdspan/ctor.dh_span.pass.cpp
    M libcxx/test/std/containers/views/mdspan/mdspan/types.pass.cpp
    M libcxx/test/std/containers/views/views.span/range_concept_conformance.compile.pass.cpp
    M libcxx/test/std/containers/views/views.span/span.cons/array.pass.cpp
    M libcxx/test/std/containers/views/views.span/span.cons/assign.pass.cpp
    M libcxx/test/std/containers/views/views.span/span.cons/deduct.pass.cpp
    M libcxx/test/std/containers/views/views.span/span.cons/default.pass.cpp
    M libcxx/test/std/containers/views/views.span/span.cons/iterator_len.pass.cpp
    M libcxx/test/std/containers/views/views.span/span.cons/iterator_sentinel.verify.cpp
    M libcxx/test/std/containers/views/views.span/span.cons/range.pass.cpp
    M libcxx/test/std/containers/views/views.span/span.cons/span.verify.cpp
    M libcxx/test/std/containers/views/views.span/span.cons/stdarray.pass.cpp
    M libcxx/test/std/containers/views/views.span/span.elem/back.pass.cpp
    M libcxx/test/std/containers/views/views.span/span.elem/data.pass.cpp
    M libcxx/test/std/containers/views/views.span/span.elem/front.pass.cpp
    M libcxx/test/std/containers/views/views.span/span.elem/op_idx.pass.cpp
    M libcxx/test/std/containers/views/views.span/span.iterators/begin.pass.cpp
    M libcxx/test/std/containers/views/views.span/span.iterators/end.pass.cpp
    M libcxx/test/std/containers/views/views.span/span.iterators/iterator_concept_conformance.compile.pass.cpp
    M libcxx/test/std/containers/views/views.span/span.iterators/rbegin.pass.cpp
    M libcxx/test/std/containers/views/views.span/span.iterators/rend.pass.cpp
    M libcxx/test/std/containers/views/views.span/span.objectrep/as_bytes.pass.cpp
    M libcxx/test/std/containers/views/views.span/span.objectrep/as_writable_bytes.pass.cpp
    M libcxx/test/std/containers/views/views.span/span.objectrep/as_writable_bytes.verify.cpp
    M libcxx/test/std/containers/views/views.span/span.obs/empty.pass.cpp
    M libcxx/test/std/containers/views/views.span/span.obs/size.pass.cpp
    M libcxx/test/std/containers/views/views.span/span.obs/size_bytes.pass.cpp
    M libcxx/test/std/containers/views/views.span/span.sub/first.pass.cpp
    M libcxx/test/std/containers/views/views.span/span.sub/first.verify.cpp
    M libcxx/test/std/containers/views/views.span/span.sub/last.pass.cpp
    M libcxx/test/std/containers/views/views.span/span.sub/last.verify.cpp
    M libcxx/test/std/containers/views/views.span/span.sub/subspan.pass.cpp
    M libcxx/test/std/containers/views/views.span/span.sub/subspan.verify.cpp
    M libcxx/test/std/containers/views/views.span/types.pass.cpp

  Log Message:
  -----------
  [libc++][NFC] Run the container tests through clang-format (#126499)

We've been improving these the tests for vector quite a bit and we are
probably not done improving our container tests. Formatting everything
at once will make subsequent reviews easier.


  Commit: 36a26d1af7a8a8c04e0ce09248db2d7edcc6954e
      https://github.com/llvm/llvm-project/commit/36a26d1af7a8a8c04e0ce09248db2d7edcc6954e
  Author: Helena Kotas <hekotas at microsoft.com>
  Date:   2025-02-14 (Fri, 14 Feb 2025)

  Changed paths:
    M clang/lib/Sema/SemaHLSL.cpp
    M clang/test/AST/HLSL/ast-dump-comment-cbuffer.hlsl
    M clang/test/AST/HLSL/cbuffer.hlsl
    M clang/test/AST/HLSL/cbuffer_and_namespaces.hlsl
    M clang/test/AST/HLSL/pch_hlsl_buffer.hlsl

  Log Message:
  -----------
  [HLSL] Constant buffer layout struct update (#124840)

Updates layout struct to be `struct` with public fields instead of
`class` with private fields and chang the name prefix to `__cblayout_`.
Also adds Packed attribute to prevent struct padding and filters
additional types from the layout that were missed previously (arrays of
resources and groupshared declarations).


  Commit: 2794037569733b526d60a81d906c60601dfee1f0
      https://github.com/llvm/llvm-project/commit/2794037569733b526d60a81d906c60601dfee1f0
  Author: Vikram Hegde <115221833+vikramRH at users.noreply.github.com>
  Date:   2025-02-14 (Fri, 14 Feb 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/GCNPreRAOptimizations.cpp
    A llvm/lib/Target/AMDGPU/GCNPreRAOptimizations.h
    M llvm/test/CodeGen/AMDGPU/agpr-to-agpr-copy.mir
    M llvm/test/CodeGen/AMDGPU/combine-sreg64-inits.mir

  Log Message:
  -----------
  [AMDGPU][NewPM] Port "GCNPreRAOptimizations" pass to NPM (#126040)


  Commit: 390ec8a2b4b316bfe0bfe08c2218cb7151754858
      https://github.com/llvm/llvm-project/commit/390ec8a2b4b316bfe0bfe08c2218cb7151754858
  Author: Miguel A. Arroyo <miguel.arroyo at rockstargames.com>
  Date:   2025-02-14 (Fri, 14 Feb 2025)

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

  Log Message:
  -----------
  [LLVM][CMake][MSVC] Install PDBs alongside executables (#120683)

* When building on Windows hosts, PDBs aren't installed to the
`CMAKE_INSTALL_PREFIX`.

* This PR addresses it solely for `llvm-*` executables. 
* Similar changes are required in `AddClang.cmake`, `AddLLD.cmake`, etc.
I'd be happy to queue those PRs after this one.


  Commit: 1215b9b1c3bc7fd8e58131bd6f3702f1896a4b7c
      https://github.com/llvm/llvm-project/commit/1215b9b1c3bc7fd8e58131bd6f3702f1896a4b7c
  Author: Sudharsan Veeravalli <quic_svs at quicinc.com>
  Date:   2025-02-14 (Fri, 14 Feb 2025)

  Changed paths:
    M llvm/lib/Target/Hexagon/AsmParser/HexagonAsmParser.cpp
    M llvm/lib/Target/Hexagon/HexagonBitSimplify.cpp
    M llvm/lib/Target/Hexagon/HexagonConstExtenders.cpp
    M llvm/lib/Target/Hexagon/HexagonConstPropagation.cpp
    M llvm/lib/Target/Hexagon/HexagonCopyToCombine.cpp
    M llvm/lib/Target/Hexagon/HexagonExpandCondsets.cpp
    M llvm/lib/Target/Hexagon/HexagonHardwareLoops.cpp
    M llvm/lib/Target/Hexagon/HexagonISelDAGToDAGHVX.cpp
    M llvm/lib/Target/Hexagon/HexagonISelLowering.cpp
    M llvm/lib/Target/Hexagon/HexagonISelLoweringHVX.cpp
    M llvm/lib/Target/Hexagon/HexagonInstrInfo.cpp
    M llvm/lib/Target/Hexagon/HexagonInstrInfo.h
    M llvm/lib/Target/Hexagon/HexagonLoopAlign.cpp
    M llvm/lib/Target/Hexagon/HexagonNewValueJump.cpp
    M llvm/lib/Target/Hexagon/HexagonOptAddrMode.cpp
    M llvm/lib/Target/Hexagon/HexagonPeephole.cpp
    M llvm/lib/Target/Hexagon/HexagonPseudo.td
    M llvm/lib/Target/Hexagon/HexagonSubtarget.cpp
    M llvm/lib/Target/Hexagon/HexagonTfrCleanup.cpp
    M llvm/lib/Target/Hexagon/HexagonVLIWPacketizer.cpp
    M llvm/lib/Target/Hexagon/HexagonVLIWPacketizer.h
    M llvm/lib/Target/Hexagon/HexagonVectorCombine.cpp
    M llvm/lib/Target/Hexagon/HexagonVectorLoopCarriedReuse.cpp
    M llvm/lib/Target/Hexagon/HexagonVectorLoopCarriedReuse.h
    M llvm/lib/Target/Hexagon/MCTargetDesc/HexagonMCCompound.cpp
    M llvm/lib/Target/Hexagon/MCTargetDesc/HexagonMCInstrInfo.cpp
    M llvm/lib/Target/Hexagon/MCTargetDesc/HexagonMCTargetDesc.cpp

  Log Message:
  -----------
  [Hexagon] Fix typos discovered by codespell (NFC) (#126233)

Found using https://github.com/codespell-project/codespell

```
codespell Hexagon --write-changes \
     --ignore-words-list=CarryIn,CreateOr,ORE,COPYs,ArchVer,predicable,UE,MIs,isNT,Vor,CountR,DUM,GEs,AddD,ToI, \
     CopyIn,TheI,TotalIn,vor,MOne,contigious,Contigious 
```


  Commit: 77d1c50f820eb81179d99a12a3d4864610ac17e1
      https://github.com/llvm/llvm-project/commit/77d1c50f820eb81179d99a12a3d4864610ac17e1
  Author: Ben Shi <2283975856 at qq.com>
  Date:   2025-02-14 (Fri, 14 Feb 2025)

  Changed paths:
    M clang/include/clang/Basic/DiagnosticSemaKinds.td
    M clang/lib/Sema/SemaAVR.cpp
    M clang/lib/Sema/SemaMIPS.cpp
    M clang/lib/Sema/SemaMSP430.cpp
    M clang/lib/Sema/SemaRISCV.cpp
    A clang/test/Sema/avr-interript-signal-attr.c
    R clang/test/Sema/avr-interrupt-attr.c
    R clang/test/Sema/avr-signal-attr.c

  Log Message:
  -----------
  [clang][Sema] Emit warnings about incorrect AVR interrupt/signal handlers (#125997)

1. interrupt/signal handlers can not have parameters
2. interrupt/signal handlers must be 'void' type


  Commit: 1f6ec175afb670178473f107c8c9f115f0bd95d5
      https://github.com/llvm/llvm-project/commit/1f6ec175afb670178473f107c8c9f115f0bd95d5
  Author: Chuanqi Xu <yedeng.yd at linux.alibaba.com>
  Date:   2025-02-14 (Fri, 14 Feb 2025)

  Changed paths:
    M clang/lib/Serialization/ASTReaderDecl.cpp
    A clang/test/Modules/pr126373.cppm

  Log Message:
  -----------
  [C++20] [Modules] Don't diagnose duplicated declarations in different modules which is not in file scope

Close https://github.com/llvm/llvm-project/issues/126373

Although the root problems should be we shouldn't place the friend
declaration to the incorrect module, let's avoid bleeding the edge by
stoping diagnosing declarations not in file scope.


  Commit: 68370f9f99e9365f53f4483e2130df07904185db
      https://github.com/llvm/llvm-project/commit/68370f9f99e9365f53f4483e2130df07904185db
  Author: Amir Bishara <139038766+amirBish at users.noreply.github.com>
  Date:   2025-02-14 (Fri, 14 Feb 2025)

  Changed paths:
    M mlir/test/Interfaces/TilingInterface/tile-and-fuse-consumer.mlir

  Log Message:
  -----------
  [mlir]linalg][NFC]-Add lit test for tile and fuse transformation (#126216)

Add coverage for the fuse consumer transform for
`linalg.generic` operation with projected permutation indexing maps.


  Commit: 9cd0e46c4203bbe380596cabb3cb77294853c1e9
      https://github.com/llvm/llvm-project/commit/9cd0e46c4203bbe380596cabb3cb77294853c1e9
  Author: YunQiang Su <syq at debian.org>
  Date:   2025-02-14 (Fri, 14 Feb 2025)

  Changed paths:
    M llvm/lib/Target/Mips/MipsISelLowering.cpp
    M llvm/lib/Target/Mips/MipsISelLowering.h
    R llvm/test/CodeGen/Mips/readcyclecounter.ll

  Log Message:
  -----------
  Revert "[Mips] Support llvm.readcyclecounter intrinsic (#114953)"

This reverts commit 9cc7ee16e3bb849fb3c0155a843bfe349a2d2175.


  Commit: 09c0c6ef5314b8507e0224eff6bed0c867ea319b
      https://github.com/llvm/llvm-project/commit/09c0c6ef5314b8507e0224eff6bed0c867ea319b
  Author: Longsheng Mou <longshengmou at gmail.com>
  Date:   2025-02-14 (Fri, 14 Feb 2025)

  Changed paths:
    M mlir/lib/Transforms/RemoveDeadValues.cpp
    M mlir/test/Transforms/remove-dead-values.mlir

  Log Message:
  -----------
  [mlir][transforms] Process RegionBranchOp with empty region  (#123895)

This PR adds process for RegionBranchOp with empty region, such as
'else' region of `scf.if`. Fixes #123246.


  Commit: 6d5ad0ec023a91cba8cad95f2818bd656caa6eed
      https://github.com/llvm/llvm-project/commit/6d5ad0ec023a91cba8cad95f2818bd656caa6eed
  Author: higher-performance <higher.performance.github at gmail.com>
  Date:   2025-02-14 (Fri, 14 Feb 2025)

  Changed paths:
    M clang/lib/Sema/SemaInit.cpp
    M clang/test/SemaCXX/uninitialized.cpp

  Log Message:
  -----------
  Fix false positive of [[clang::require_explicit_initialization]] on copy/move constructors (#126553)

Fixes #126490


  Commit: bd033e77f92c23071ffe48bb0d9200388f3ab9d7
      https://github.com/llvm/llvm-project/commit/bd033e77f92c23071ffe48bb0d9200388f3ab9d7
  Author: Piyou Chen <piyou.chen at sifive.com>
  Date:   2025-02-14 (Fri, 14 Feb 2025)

  Changed paths:
    M compiler-rt/lib/builtins/cpu_model/riscv.c

  Log Message:
  -----------
  [RISCV][compiler-rt] drop __riscv_vendor_feature_bits (#126460)

Address https://github.com/riscv-non-isa/riscv-c-api-doc/pull/101


  Commit: 70cbb4b0dd1494dede8a94e3bd4184bb3d34a636
      https://github.com/llvm/llvm-project/commit/70cbb4b0dd1494dede8a94e3bd4184bb3d34a636
  Author: Timm Baeder <tbaeder at redhat.com>
  Date:   2025-02-14 (Fri, 14 Feb 2025)

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

  Log Message:
  -----------
  [clang][bytecode][NFC] Add failing memmove testcase (#126682)

Reduced from
libcxx/test/std/strings/char.traits/char.traits.specializations/char.traits.specializations.char32_t/move.pass.cpp


  Commit: 44555b18fce41a88e7dc9e9263fac306700c0b2a
      https://github.com/llvm/llvm-project/commit/44555b18fce41a88e7dc9e9263fac306700c0b2a
  Author: Petr Hosek <phosek at google.com>
  Date:   2025-02-14 (Fri, 14 Feb 2025)

  Changed paths:
    M libc/src/complex/generic/CMakeLists.txt
    M libc/src/math/generic/CMakeLists.txt
    M libc/src/stdfix/CMakeLists.txt

  Log Message:
  -----------
  [libc] Don't manually override the optimization level for math (#126322)

This was originally done for testing purposes, but after #126315 we now
do testing through GitHub Actions and should be instead using the
optimization setting chosen by the user.


  Commit: 2ffb4aa843a65e5326d04f274ccfd820b4ad5e9a
      https://github.com/llvm/llvm-project/commit/2ffb4aa843a65e5326d04f274ccfd820b4ad5e9a
  Author: Rainer Orth <ro at gcc.gnu.org>
  Date:   2025-02-14 (Fri, 14 Feb 2025)

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

  Log Message:
  -----------
  [sanitizer_common][test] Remove second SanitizerCommon.ReportFile tem… (#126509)

…p file

The `SanitizerCommon.ReportFile` test leaves a temp file behind on every
run. While this is not a problem for manual builds, on buildbots those
files accumulate over time, interfering with other bots on the same
system.

The files in question are named like
`sanitizer_common.reportfile.tmp.XXXXXX.<pid>`. The issue can be seen in
Solaris `truss` output:
```
22633:	fstatat64(AT_FDCWD, "/tmp/sanitizer_common.reportfile.tmp.rzVEja", 0xFEFFBAD0, AT_SYMLINK_NOFOLLOW) Err#2 ENOENT
22633:	openat64(AT_FDCWD, "/tmp/sanitizer_common.reportfile.tmp.rzVEja", O_RDWR|O_CREAT|O_EXCL, 0600) = 3
22633:	openat64(AT_FDCWD, "/tmp/sanitizer_common.reportfile.tmp.rzVEja.22633", O_WRONLY|O_CREAT|O_TRUNC, 0660) = 4
22633:	unlinkat(AT_FDCWD, "/tmp/sanitizer_common.reportfile.tmp.rzVEja", 0) = 0
```
The first temp file, created by `temp_file_name`, is removed at the end
of the test, the second one, created in `ReportFile::GetReportPath`
using `OpenFile`, is not.

This patch fixes this, simply removing the file.

Tested on `amd64-pc-solaris2.11` and `x86_64-pc-linux-gnu`.


  Commit: cf005ee53a272d7f0a0247c6751746fab33e1bf6
      https://github.com/llvm/llvm-project/commit/cf005ee53a272d7f0a0247c6751746fab33e1bf6
  Author: Nathan Ridge <zeratul976 at hotmail.com>
  Date:   2025-02-14 (Fri, 14 Feb 2025)

  Changed paths:
    M clang/lib/Sema/HeuristicResolver.cpp

  Log Message:
  -----------
  [clang][HeuristicResolver] Additional hardening against an infinite loop in simplifyType() (#126690)


  Commit: 4eb1b47de80565bbca3d9906211d3d4ff4be2317
      https://github.com/llvm/llvm-project/commit/4eb1b47de80565bbca3d9906211d3d4ff4be2317
  Author: jeanPerier <jperier at nvidia.com>
  Date:   2025-02-14 (Fri, 14 Feb 2025)

  Changed paths:
    M llvm/include/llvm/IR/InstrTypes.h
    M mlir/include/mlir/Target/LLVMIR/ModuleImport.h
    M mlir/include/mlir/Target/LLVMIR/ModuleTranslation.h
    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/lib/Target/LLVMIR/ModuleTranslation.cpp
    M mlir/test/Dialect/LLVMIR/invalid.mlir
    M mlir/test/Dialect/LLVMIR/roundtrip.mlir
    A mlir/test/Target/LLVMIR/Import/call-argument-attributes.ll
    A mlir/test/Target/LLVMIR/Import/invoke-argument-attributes.ll
    A mlir/test/Target/LLVMIR/call-argument-attributes.mlir
    A mlir/test/Target/LLVMIR/invoke-argument-attributes.mlir

  Log Message:
  -----------
  [mlir][LLVM] handle argument and result attributes in llvm.call and llvm.invoke (#123177)

Update llvm.call/llvm.invoke pretty printer/parser and the llvm ir import/export
to deal with the argument and result attributes.

This patch is made on top of PR 123176 that modified the
CallOpInterface and added the argument and result attributes to
llvm.call and llvm.invoke without doing anything with them.

RFC: https://discourse.llvm.org/t/mlir-rfc-adding-argument-and-result-attributes-to-llvm-call/84107


  Commit: 035d0b8e04e2350cd3a4b0eb05e48af44a51f28d
      https://github.com/llvm/llvm-project/commit/035d0b8e04e2350cd3a4b0eb05e48af44a51f28d
  Author: Abhilash Majumder <30946547+abhilash1910 at users.noreply.github.com>
  Date:   2025-02-14 (Fri, 14 Feb 2025)

  Changed paths:
    M llvm/docs/NVPTXUsage.rst
    M llvm/include/llvm/IR/IntrinsicsNVVM.td
    M llvm/lib/Target/NVPTX/NVPTXIntrinsics.td
    A llvm/test/CodeGen/NVPTX/prefetch.ll

  Log Message:
  -----------
  [NVPTX] Add intrinsics for prefetch.* (#125887)

\[NVPTX\] Add Prefetch intrinsics

This PR adds prefetch intrinsics with the relevant eviction priorities.
* Lit tests are added as part of prefetch.ll
* The generated PTX is verified with a 12.3 ptxas executable.
* Added docs for these intrinsics in NVPTXUsage.rst.

For more information, refer PTX ISA
`<https://docs.nvidia.com/cuda/parallel-thread-execution/#data-movement-and-conversion-instructions-prefetch-prefetchu>`_.

---------

Co-authored-by: abmajumder <abmajumder at nvidia.com>


  Commit: 454ded25165ed2ee9ecfed934965cf2e1a6b246a
      https://github.com/llvm/llvm-project/commit/454ded25165ed2ee9ecfed934965cf2e1a6b246a
  Author: Benjamin Maxwell <benjamin.maxwell at arm.com>
  Date:   2025-02-14 (Fri, 14 Feb 2025)

  Changed paths:
    M llvm/docs/LangRef.rst
    M llvm/include/llvm/CodeGen/BasicTTIImpl.h
    M llvm/include/llvm/CodeGen/ISDOpcodes.h
    M llvm/include/llvm/CodeGen/RuntimeLibcallUtil.h
    M llvm/include/llvm/IR/Intrinsics.td
    M llvm/include/llvm/IR/RuntimeLibcalls.def
    M llvm/lib/CodeGen/SelectionDAG/LegalizeDAG.cpp
    M llvm/lib/CodeGen/SelectionDAG/LegalizeFloatTypes.cpp
    M llvm/lib/CodeGen/SelectionDAG/LegalizeVectorOps.cpp
    M llvm/lib/CodeGen/SelectionDAG/LegalizeVectorTypes.cpp
    M llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp
    M llvm/lib/CodeGen/SelectionDAG/SelectionDAGDumper.cpp
    M llvm/lib/CodeGen/TargetLoweringBase.cpp
    M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
    A llvm/test/CodeGen/AArch64/llvm.sincospi.ll
    A llvm/test/CodeGen/AArch64/veclib-llvm.sincospi.ll

  Log Message:
  -----------
  [IR] Add llvm.sincospi intrinsic (#125873)

This adds the `llvm.sincospi` intrinsic, legalization, and lowering
(mostly reusing the lowering for sincos and frexp).

The `llvm.sincospi` intrinsic takes a floating-point value and returns
both the sine and cosine of the value multiplied by pi. It computes the
result more accurately than the naive approach of doing the
multiplication ahead of time, especially for large input values.

```
declare { float, float }          @llvm.sincospi.f32(float  %Val)
declare { double, double }        @llvm.sincospi.f64(double %Val)
declare { x86_fp80, x86_fp80 }    @llvm.sincospi.f80(x86_fp80  %Val)
declare { fp128, fp128 }          @llvm.sincospi.f128(fp128 %Val)
declare { ppc_fp128, ppc_fp128 }  @llvm.sincospi.ppcf128(ppc_fp128  %Val)
declare { <4 x float>, <4 x float> } @llvm.sincospi.v4f32(<4 x float>  %Val)
```

Currently, the default lowering of this intrinsic relies on the
`sincospi[f|l]` functions being available in the target's runtime (e.g.
libc).


  Commit: d2fb625191e5a1876d80cced149d7dd5cc7a87a7
      https://github.com/llvm/llvm-project/commit/d2fb625191e5a1876d80cced149d7dd5cc7a87a7
  Author: Adam Siemieniuk <adam.siemieniuk at intel.com>
  Date:   2025-02-14 (Fri, 14 Feb 2025)

  Changed paths:
    M mlir/include/mlir/Dialect/XeGPU/IR/XeGPUAttrs.td
    M mlir/include/mlir/Dialect/XeGPU/IR/XeGPUTypes.td
    M mlir/lib/Dialect/XeGPU/IR/XeGPUDialect.cpp
    M mlir/lib/Dialect/XeGPU/IR/XeGPUOps.cpp
    M mlir/test/Dialect/XeGPU/XeGPUOps.mlir
    M mlir/test/Dialect/XeGPU/invalid.mlir

  Log Message:
  -----------
  [mlir][xegpu] Improve scatter attribute definition (#126540)

Refactors XeGPU scatter attribute introducing following:
  - improved docs formatting
  - default initialized parameters
  - invariant checks in attribute verifier
  - removal of additional parsing error
 
The attribute's getters now provide default values simplifying their
usage and scattered tensor descriptor handling.
Related descriptor verifier is updated to avoid check duplication.


  Commit: 58c32e9ef829b989b5a8bb930d630e2a075a3964
      https://github.com/llvm/llvm-project/commit/58c32e9ef829b989b5a8bb930d630e2a075a3964
  Author: Victor Campos <victor.campos at arm.com>
  Date:   2025-02-14 (Fri, 14 Feb 2025)

  Changed paths:
    M compiler-rt/test/builtins/Unit/arm/aeabi_idivmod_test.c
    M compiler-rt/test/builtins/Unit/arm/aeabi_uidivmod_test.c
    M compiler-rt/test/builtins/Unit/arm/aeabi_uldivmod_test.c

  Log Message:
  -----------
  [compiler-rt] Fix tests of __aeabi_(idivmod|uidivmod|uldivmod) to support big endian (#126277)

This patch makes these functions' tests work in big endian mode:
 - `__aeabi_idivmod`.
 - `__aeabi_uidivmod`.
 -  `__aeabi_uldivmod`.

The three functions return a struct containing two fields, quotient and
remainder, via *value in regs* calling convention. They differ in the
integer type of each field.

In the tests of the first two, a 64-bit integer is used as the return
type of the call. And as consequence of the ABI rules for structs
(Composite Types), the quotient resides in `r0` and the remainder in
`r1` regardless of endianness. So, in order to access each component
from the 64-bit integer in the caller code, care must be taken to access
the correct bits as they do depend on endianness in this case.

In the test of the third one, the caller code has inline assembly to
access the components. This assembly code assumed little endian, so it
had to be made flexible for big endian as well.

`_YUGA_BIG_ENDIAN` is defined in `int_endianness.h`. It's a macro
internal to compiler-rt that's in theory compatible with more toolchains
than gcc and clang.


  Commit: 4f10fe541fb54f7464a6aa7673c58834e40e925c
      https://github.com/llvm/llvm-project/commit/4f10fe541fb54f7464a6aa7673c58834e40e925c
  Author: David Spickett <david.spickett at linaro.org>
  Date:   2025-02-14 (Fri, 14 Feb 2025)

  Changed paths:
    M llvm/utils/git/github-automation.py

  Log Message:
  -----------
  [GitHub] Correct word in commit access request greeting


  Commit: 737157a2802b850efb7ad875701d2bbb2be340ac
      https://github.com/llvm/llvm-project/commit/737157a2802b850efb7ad875701d2bbb2be340ac
  Author: Ben Shi <2283975856 at qq.com>
  Date:   2025-02-14 (Fri, 14 Feb 2025)

  Changed paths:
    M clang/include/clang/StaticAnalyzer/Core/PathSensitive/CallDescription.h

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


  Commit: 871b5bc285d976d01c9c5d47a2d82ca269774a2c
      https://github.com/llvm/llvm-project/commit/871b5bc285d976d01c9c5d47a2d82ca269774a2c
  Author: jeanPerier <jperier at nvidia.com>
  Date:   2025-02-14 (Fri, 14 Feb 2025)

  Changed paths:
    M flang/test/Evaluate/rewrite-out_of_range.F90

  Log Message:
  -----------
  [flang][NFC] fix rewrite-out_of_range.F90 tests (#126699)

There was a typo in the target, and REAL(16) parts needed to be
protected too.


  Commit: 76a8bfa89a316b4182cccfe5c6078bbc9bb01d5d
      https://github.com/llvm/llvm-project/commit/76a8bfa89a316b4182cccfe5c6078bbc9bb01d5d
  Author: Tai Ly <tai.ly at arm.com>
  Date:   2025-02-14 (Fri, 14 Feb 2025)

  Changed paths:
    M mlir/lib/Dialect/Tosa/IR/TosaOps.cpp
    M mlir/test/Dialect/Tosa/invalid.mlir
    M mlir/test/Dialect/Tosa/ops.mlir

  Log Message:
  -----------
  [mlir][tosa] Use generic QuantizedType in Conv verifiers  (#126275)

Replace UniformQuantizedType by the more generic QuantizedType in Conv verifiers.

Change-Id: Ie1961af931864f801914a62976bc988881ee075e

Signed-off-by: Tai Ly <tai.ly at arm.com>
Co-authored-by: Thibaut Goetghebuer-Planchon <thibaut.goetghebuer-planchon at arm.com>


  Commit: 24d254d050df808e47d86185ca692477c769c271
      https://github.com/llvm/llvm-project/commit/24d254d050df808e47d86185ca692477c769c271
  Author: Fraser Cormack <fraser at codeplay.com>
  Date:   2025-02-14 (Fri, 14 Feb 2025)

  Changed paths:
    M libclc/CMakeLists.txt
    A libclc/clc/include/clc/common/clc_sign.h
    M libclc/clc/include/clc/math/gentype.inc
    M libclc/clc/lib/generic/SOURCES
    A libclc/clc/lib/generic/common/clc_sign.cl
    A libclc/clc/lib/generic/common/clc_sign.inc
    M libclc/generic/include/clc/float/definitions.h
    M libclc/generic/lib/common/sign.cl

  Log Message:
  -----------
  [libclc] Move sign to the CLC builtins library (#115699)

This commit moves the sign builtin's implementation to the CLC library.
It simultaneously optimizes it (for vector types) by removing
control-flow from the implementation.

The __CLC_INTERNAL preprocessor definition has been repurposed (without
the leading underscores) to be passed when building the internal CLC
library. It was only used in one other place to guard an extra maths
preprocessor definition, which we can do unconditionally.


  Commit: f0b7e92d36a88a63bb84b36da801d61925803065
      https://github.com/llvm/llvm-project/commit/f0b7e92d36a88a63bb84b36da801d61925803065
  Author: Marcos Maronas <marcos.maronas at intel.com>
  Date:   2025-02-14 (Fri, 14 Feb 2025)

  Changed paths:
    M llvm/lib/Target/SPIRV/SPIRVBuiltins.cpp
    M llvm/lib/Target/SPIRV/SPIRVBuiltins.td
    A llvm/test/CodeGen/SPIRV/extensions/SPV_KHR_bit_instructions/cl_khr_extended_bit_ops.ll
    A llvm/test/CodeGen/SPIRV/extensions/SPV_KHR_bit_instructions/cl_khr_extended_bit_ops_ocl_only.ll
    A llvm/test/CodeGen/SPIRV/extensions/SPV_KHR_bit_instructions/cl_khr_extended_bit_ops_spv-friendly_only.ll
    A llvm/test/CodeGen/SPIRV/extensions/SPV_KHR_bit_instructions/spirv-friendly_extended_bit_ops.ll

  Log Message:
  -----------
  [SPIRV] Add support for `cl_khr_extended_bit_ops` (#120571)

This PR adds support for `cl_khr_extended_bit_ops` in SPIRV Backend.
Note that `cl_khr_extended_bit_ops` only supports types in
```
char, charn, uchar, ucharn, short, shortn, ushort, ushortn, int, intn, uint, uintn, long, longn, ulong, and ulongn
```
where `n is 2, 3, 4, 8, or 16`.

Subsequent PRs will introduce support for non-standard bit width
required by `SPV_KHR_bit_instructions`.


  Commit: 625f80501ff595bc1f6f081c9ba3e89e9279bcd9
      https://github.com/llvm/llvm-project/commit/625f80501ff595bc1f6f081c9ba3e89e9279bcd9
  Author: Benjamin Maxwell <benjamin.maxwell at arm.com>
  Date:   2025-02-14 (Fri, 14 Feb 2025)

  Changed paths:
    M llvm/include/llvm/CodeGen/RuntimeLibcallUtil.h
    M llvm/lib/CodeGen/SelectionDAG/LegalizeDAG.cpp
    M llvm/lib/CodeGen/SelectionDAG/LegalizeFloatTypes.cpp
    M llvm/lib/CodeGen/SelectionDAG/LegalizeVectorOps.cpp
    M llvm/lib/CodeGen/TargetLoweringBase.cpp

  Log Message:
  -----------
  [RTLIB] Rename getFSINCOS() to getSINCOS (NFC) (#126705)

This makes the name more consistent with the other helpers.


  Commit: 0b10adcb54db2547aa89b4a6031c699568bfa973
      https://github.com/llvm/llvm-project/commit/0b10adcb54db2547aa89b4a6031c699568bfa973
  Author: Maya Amrami <62667278+amrami at users.noreply.github.com>
  Date:   2025-02-14 (Fri, 14 Feb 2025)

  Changed paths:
    M mlir/lib/Dialect/Bufferization/IR/BufferizationOps.cpp
    M mlir/test/Dialect/Bufferization/canonicalize.mlir

  Log Message:
  -----------
  [mlir][bufferization] Canonicalize to_memref(to_tensor(x)) to a CopyO… (#126692)

…p if memory spaces differ


  Commit: 6bd1b8e5bf05b4e1e4ccfb1da2143d92f8e10469
      https://github.com/llvm/llvm-project/commit/6bd1b8e5bf05b4e1e4ccfb1da2143d92f8e10469
  Author: Zichen Lu <mikaovo2000 at gmail.com>
  Date:   2025-02-14 (Fri, 14 Feb 2025)

  Changed paths:
    M mlir/lib/Target/LLVM/NVVM/Target.cpp
    M mlir/test/Dialect/GPU/module-to-binary-nvvm.mlir
    M mlir/test/python/dialects/gpu/module-to-binary-nvvm.py

  Log Message:
  -----------
  [mlir][target][nvvm] Perf by stage and store into properties (#126178)

Implement the feature about perf by stage(llvm-ir -> isa, isa->binary).

The results will be stored into the properties, then users can use them
after using GpuModuleToBinary Pass.


  Commit: 2af4246016b69823245f5e382d2f80045fed7512
      https://github.com/llvm/llvm-project/commit/2af4246016b69823245f5e382d2f80045fed7512
  Author: Florian Hahn <flo at fhahn.com>
  Date:   2025-02-14 (Fri, 14 Feb 2025)

  Changed paths:
    M llvm/lib/Transforms/Utils/ScalarEvolutionExpander.cpp
    M llvm/lib/Transforms/Vectorize/VPlanRecipes.cpp
    M llvm/lib/Transforms/Vectorize/VPlanUtils.cpp
    A llvm/test/Transforms/LoopVectorize/X86/scev-checks-unprofitable.ll
    M llvm/test/Transforms/LoopVectorize/float-induction.ll

  Log Message:
  -----------
  [VPlan] Only skip expansion for SCEVUnknown if it isn't an instruction. (#125235)

Update getOrCreateVPValueForSCEVExpr to only skip expansion of
SCEVUnknown if the underlying value isn't an instruction. Instructions
may be defined in a loop and using them without expansion may break
LCSSA form. SCEVExpander will take care of preserving LCSSA if needed.

We could also try to pass LoopInfo, but there are some users of the
function where it won't be available and main benefit from skipping
expansion is slightly more concise VPlans.

Note that SCEVExpander is now used to expand SCEVUnknown with floats.
Adjust the check in expandCodeFor to only check the types and casts if
the type of the value is different to the requested type. Otherwise we
crash when trying to expand a float and requesting a float type.

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

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


  Commit: 73c5158e1b2a2b0e8127cd7d037aa4725b9def57
      https://github.com/llvm/llvm-project/commit/73c5158e1b2a2b0e8127cd7d037aa4725b9def57
  Author: Michael Flanders <flanders.michaelk at gmail.com>
  Date:   2025-02-14 (Fri, 14 Feb 2025)

  Changed paths:
    M clang/lib/StaticAnalyzer/Checkers/StackAddrEscapeChecker.cpp
    M clang/test/Analysis/copy-elision.cpp
    M clang/test/Analysis/stack-addr-ps.cpp
    M clang/test/Analysis/stackaddrleak.c
    M clang/test/Analysis/stackaddrleak.cpp

  Log Message:
  -----------
  [analyzer] Reapply recent stack addr escape checker changes + buildbot fix (#126620)

Reapplying changes from https://github.com/llvm/llvm-project/pull/125638
after buildbot failures.

Buildbot failures fixed in 029e7e98dc9956086adc6c1dfb0c655a273fbee6,
latest commit on this PR. It was a problem with a declared class member
with same name as its type. Sorry!


  Commit: bd6f89879243ff65bc580d97b2417601afac9300
      https://github.com/llvm/llvm-project/commit/bd6f89879243ff65bc580d97b2417601afac9300
  Author: Donát Nagy <donat.nagy at ericsson.com>
  Date:   2025-02-14 (Fri, 14 Feb 2025)

  Changed paths:
    R clang/test/Analysis/no-outofbounds.c
    M clang/test/Analysis/out-of-bounds-diagnostics.c
    M clang/test/Analysis/out-of-bounds.c

  Log Message:
  -----------
  [NFC][analyzer] OOB test consolidation I: no-outofbounds.c (#126539)

Before commit 6e17ed9b04e5523cc910bf171c3122dcc64b86db the test file
`no-outofbounds.c` tested the behavior of the old alpha checker
`alpha.security.ArrayBound` (V1); then that commit converted it into a
test for the checker `security.ArrayBound` which was previously called
`alpha.security.ArrayBoundV2`.

This commit removes this small separate test file and adds some tests to
the "native" test files of `security.ArrayBound` to ensure that the same
functionality is still tested.

This is intended as the first commit in a series that reorganizes the
tests of `security.ArrayBound` to system that's easier to understand and
maintain.


  Commit: d567c94a47009e083999970b954d943aab854ccf
      https://github.com/llvm/llvm-project/commit/d567c94a47009e083999970b954d943aab854ccf
  Author: Nikita Popov <npopov at redhat.com>
  Date:   2025-02-14 (Fri, 14 Feb 2025)

  Changed paths:
    M flang/CMakeLists.txt
    M flang/include/flang/Optimizer/Dialect/CMakeLists.txt
    M mlir/cmake/modules/MLIRConfig.cmake.in

  Log Message:
  -----------
  [mlir][cmake] Do not export MLIR_MAIN_SRC_DIR and MLIR_INCLUDE_DIR (#125842)

MLIR_MAIN_SRC_DIR and MLIR_INCLUDE_DIR point to the source directory,
which is not installed. As such, the installed MLIRConfig.cmake also
should not reference it.

The comment indicates that these are needed for mlir_tablegen(), but I
don't see any related uses.

The motivation for this is the use in flang, where we end up inheriting
a meaningless MLIR_MAIN_SRC_DIR from a previous MLIR build, whose source
directory doesn't exist anymore, and that cannot be overridden with the
correct path, because it's not a cached variable.

Instead do what all the other projects do for LLVM_MAIN_SRC_DIR and
initialize MLIR_MAIN_SRC_DIR to CMAKE_CURRENT_SOURCE_DIR/../mlir.

For MLIR_INCLUDE_DIR there already is an exported MLIR_INCLUDE_DIRS,
which can be used instead.


  Commit: 70fa703b6b0423b69765d5126939f2e065a4386f
      https://github.com/llvm/llvm-project/commit/70fa703b6b0423b69765d5126939f2e065a4386f
  Author: Yutong Zhu <115899167+YutongZhuu at users.noreply.github.com>
  Date:   2025-02-14 (Fri, 14 Feb 2025)

  Changed paths:
    M clang/docs/ReleaseNotes.rst
    M clang/lib/Sema/JumpDiagnostics.cpp
    A clang/test/CXX/stmt.stmt/stmt.select/stmt.switch/p4.cpp

  Log Message:
  -----------
  [clang] Force AttributedStmtClass to not be scope parents  (#125370)

Example from the issue:
```c++
void Func(int x) {
    switch (x) {
        [[likely]] case 0:
        case 1:
            int i = 3;
        case 2:
            break;
    }
}
```

Clang checks if ``case 2`` can be reachable by checking its scope. The
variable declaration should create a scope containing ``case 2``, but
due to the structure of the AST, ``case 2`` gets the scope of the
``likely`` statement, but not ``int i = 3;``. Therefore, I changed this
code to force attribute statement not to be scope parents.

Fixes #84072


  Commit: 3ff3d045cf2a36cb323718ba64bde3eeeb85c86a
      https://github.com/llvm/llvm-project/commit/3ff3d045cf2a36cb323718ba64bde3eeeb85c86a
  Author: Juan Manuel Martinez Caamaño <jmartinezcaamao at gmail.com>
  Date:   2025-02-14 (Fri, 14 Feb 2025)

  Changed paths:
    A llvm/test/CodeGen/AMDGPU/amdgpu-branch-weight-metadata.ll
    R llvm/test/CodeGen/AMDGPU/amdgpu-demote-scc-branches.ll

  Log Message:
  -----------
  [NFC][AMDGPU] Rename test (#126725)

The demonte-scc transformation is no longer needed and the old test name
doesn't make sense anymore.

The test checks the generated assembly for different branch cases
* without metadata,
* with the same branch_weights on each edge and
* with a branch_weights that corresponds to the [[likely]] attribute


  Commit: 286ac5d7602794a373edbf4878ea168a73a53ef4
      https://github.com/llvm/llvm-project/commit/286ac5d7602794a373edbf4878ea168a73a53ef4
  Author: Michał Górny <mgorny at gentoo.org>
  Date:   2025-02-14 (Fri, 14 Feb 2025)

  Changed paths:
    M lldb/source/Core/CMakeLists.txt
    M lldb/source/Core/Telemetry.cpp

  Log Message:
  -----------
  [lldb] Use preprocessor guard for `LLVM_BUILD_TELEMETRY` (#126715)

Use a preprocessor `#ifdef LLVM_BUILD_TELEMETRY` guard rather than
`PARTIAL_SOURCES_INTENDED` for the `Telemetry.cpp` file, to fix building
with telemetry disabled. `PARTIAL_SOURCES_INTENDED` does not currently
work in `lldb_add_library()`, and while it could be fixed, it seems to
be used contrary to its purpose — in other parts of LLVM project, the
option is used to indicate that the sources found in the directory are
split between different targets (e.g. a library and a tool), not to
include sources conditionally.


  Commit: d0863c5b3939e254d2f4bf4212d439890315240a
      https://github.com/llvm/llvm-project/commit/d0863c5b3939e254d2f4bf4212d439890315240a
  Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
  Date:   2025-02-14 (Fri, 14 Feb 2025)

  Changed paths:
    M llvm/utils/gn/secondary/lldb/source/Core/BUILD.gn

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


  Commit: dbad87492f15624ad21e3feebe68ba282d75ad36
      https://github.com/llvm/llvm-project/commit/dbad87492f15624ad21e3feebe68ba282d75ad36
  Author: Rahul Joshi <rjoshi at nvidia.com>
  Date:   2025-02-14 (Fri, 14 Feb 2025)

  Changed paths:
    M llvm/utils/TableGen/Common/CodeGenSchedule.h
    M llvm/utils/TableGen/InstrInfoEmitter.cpp

  Log Message:
  -----------
  [NFC][TableGen] Code cleanup in InstrInfoEmitter.cpp (#126578)

- Use range for loops and `enumerate` in a few places.
- Use `StringRef` for `TargetName` in `InstrInfoEmitter::run`.
- Use `\n` character for new line instead of string.
- Use StringRef in `InstrNames` (instead of std::string) and 
  avoid string copies.


  Commit: dea5b4329c4c0e525f10fe9ee800935272ea5724
      https://github.com/llvm/llvm-project/commit/dea5b4329c4c0e525f10fe9ee800935272ea5724
  Author: David Sherwood <david.sherwood at arm.com>
  Date:   2025-02-14 (Fri, 14 Feb 2025)

  Changed paths:
    M llvm/lib/Target/AArch64/AArch64TargetTransformInfo.cpp
    M llvm/test/Transforms/LoopVectorize/AArch64/fully-unrolled-cost.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/partial-reduce-dot-product-epilogue.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/partial-reduce-dot-product.ll

  Log Message:
  -----------
  [AArch64] Improve getPartialReductionCost for fixed-width VFs (#126538)

NEON does not have a version of udot/sdot that accumulates into
64-bit integer values, so we should return Invalid from
getPartialReductionCost for 64-bit types and fixed-width VFs.
In theory, if the 64-bit versions of SVE udot/sdot are available 
we could use those, but we don't currently have lowering support
for that.


  Commit: 916c80ca4d687f4fe9231bbbc5a822d918b2c3f2
      https://github.com/llvm/llvm-project/commit/916c80ca4d687f4fe9231bbbc5a822d918b2c3f2
  Author: Nick Sarnie <nick.sarnie at intel.com>
  Date:   2025-02-14 (Fri, 14 Feb 2025)

  Changed paths:
    M llvm/test/CMakeLists.txt
    M llvm/test/CodeGen/SPIRV/lit.local.cfg
    M llvm/tools/spirv-tools/CMakeLists.txt

  Log Message:
  -----------
  [SPIR-V] Add SPIR-V Linker (#126319)

I want to use `spirv-link` from `SPIR-V-Tools` in a test, so let's build
it if `LLVM_INCLUDE_SPIRV_TOOLS_TESTS` is set, as we do with the other
tools.

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


  Commit: d11cf6231771d810623dc702b324409c4f805463
      https://github.com/llvm/llvm-project/commit/d11cf6231771d810623dc702b324409c4f805463
  Author: Joseph Huber <huberjn at outlook.com>
  Date:   2025-02-14 (Fri, 14 Feb 2025)

  Changed paths:
    M clang/lib/Driver/ToolChains/Clang.cpp
    M clang/test/Driver/linker-wrapper.c
    M clang/test/Driver/sycl-offload-jit.cpp
    M clang/tools/clang-linker-wrapper/ClangLinkerWrapper.cpp

  Log Message:
  -----------
  [Offload] Treat an empty packager architecture as 'generic' (#126655)

Summary:
The `clang-offload-packager` records the architecture of the job.
Currently there are cases where this will be empty. SYCL, CPU, and when
the user manually overrides it to be empty. In these cases we should
alwas consider it 'generic'. Adding this string both makes it clear how
it behaves and triggers the special handling for this architecture,
allowing it to bind to different architectures.


  Commit: 224b1c98c05a6640d193788fce7697cb2c38d102
      https://github.com/llvm/llvm-project/commit/224b1c98c05a6640d193788fce7697cb2c38d102
  Author: Vigneshwar Jayakumar <vigneshwar.jayakumar at amd.com>
  Date:   2025-02-14 (Fri, 14 Feb 2025)

  Changed paths:
    M llvm/lib/Target/AMDGPU/GCNHazardRecognizer.cpp
    M llvm/test/CodeGen/AMDGPU/mai-hazards-gfx940.mir
    M llvm/test/CodeGen/AMDGPU/mai-hazards-mfma-scale.gfx950.mir

  Log Message:
  -----------
  AMDGPU: Handle gfx950 XDL-write-VGPR-Overlap-Src-AB wait state (#126732)

gfx950 needs more additional waitstates from gfx940


  Commit: 93560c549ec8d482cbebd74fae1aaa538b1c5627
      https://github.com/llvm/llvm-project/commit/93560c549ec8d482cbebd74fae1aaa538b1c5627
  Author: Timm Baeder <tbaeder at redhat.com>
  Date:   2025-02-14 (Fri, 14 Feb 2025)

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

  Log Message:
  -----------
  [clang][bytecode] Fix diagnosing replaceable global allocator functions (#126717)

Don't return true here in InvalidNewDeleteExpr just because we are in
C++26 mode. This invalid there as well.

Testcase reduced from
libcxx/test/std/utilities/smartptr/unique.ptr/unique.ptr.create/make_unique_for_overwrite.pass.cpp


  Commit: 2aae48515d7bcebf88e1a8faa8dc7d2946a42688
      https://github.com/llvm/llvm-project/commit/2aae48515d7bcebf88e1a8faa8dc7d2946a42688
  Author: Hsiangkai Wang <hsiangkai.wang at arm.com>
  Date:   2025-02-14 (Fri, 14 Feb 2025)

  Changed paths:
    M mlir/include/mlir/Dialect/Tosa/IR/TosaOps.td
    M mlir/include/mlir/Dialect/Tosa/IR/TosaTypesBase.td
    M mlir/lib/Conversion/TosaToLinalg/TosaToLinalg.cpp
    M mlir/lib/Dialect/Tosa/IR/TosaCanonicalizations.cpp
    M mlir/lib/Dialect/Tosa/IR/TosaOps.cpp
    M mlir/test/Conversion/TosaToLinalg/tosa-to-linalg.mlir
    M mlir/test/Dialect/Tosa/canonicalize.mlir
    M mlir/test/Dialect/Tosa/invalid.mlir
    M mlir/test/Dialect/Tosa/ops.mlir
    M mlir/test/Dialect/Tosa/tosa-infer-shapes.mlir
    M mlir/test/Dialect/Tosa/tosa-reduce-transposes.mlir

  Log Message:
  -----------
  [mlir][tosa] Change ClampOp's min/max attributes (#125197)

This changes Tosa ClampOp attributes to min_val and max_val which are
either integer attributes or float attributes, and adds verify checks
that these attribute element types must match element types of input and
output

Co-authored-by: Tai Ly <tai.ly at arm.com>


  Commit: 90b78fbd3c783b51faa8d283596c069f159968b0
      https://github.com/llvm/llvm-project/commit/90b78fbd3c783b51faa8d283596c069f159968b0
  Author: Keith Smiley <keithbsmiley at gmail.com>
  Date:   2025-02-14 (Fri, 14 Feb 2025)

  Changed paths:
    M lldb/source/API/SBDebugger.cpp

  Log Message:
  -----------
  [lldb] Fix ubsan violation with plugin loading (#126652)

This typedef doesn't match the signature below, specifically the
signature takes a `lldb:SBDebugger` vs this was defined as
`lldb:SBDebugger&`.

```
lldb/source/API/SBDebugger.cpp:199:13: runtime error: call to function lldb::PluginInitialize(lldb::SBDebugger) through pointer to incorrect function type 'bool (*)(lldb::SBDebugger &)'
.../CustomPlugin.cpp:134: note: lldb::PluginInitialize(lldb::SBDebugger) defined here
```


  Commit: b9573dde90ce14e6dd12c2795023b8431ad01b5d
      https://github.com/llvm/llvm-project/commit/b9573dde90ce14e6dd12c2795023b8431ad01b5d
  Author: Ivan Kosarev <ivan.kosarev at amd.com>
  Date:   2025-02-14 (Fri, 14 Feb 2025)

  Changed paths:
    M llvm/lib/Target/AMDGPU/AMDGPUCallLowering.cpp
    M llvm/lib/Target/AMDGPU/AMDGPULegalizerInfo.cpp
    M llvm/lib/Target/AMDGPU/AMDGPULegalizerInfo.h

  Log Message:
  -----------
  [AMDGPU][NFC] Remove an unneeded return value. (#126739)

And rename the function to disassociate it from the one where generating
loading of the input value may actually fail.


  Commit: 519250288a9d64dfd9d705b7cc491942b67ff8b3
      https://github.com/llvm/llvm-project/commit/519250288a9d64dfd9d705b7cc491942b67ff8b3
  Author: Michał Górny <mgorny at gentoo.org>
  Date:   2025-02-14 (Fri, 14 Feb 2025)

  Changed paths:
    M llvm/cmake/modules/LLVMConfig.cmake.in

  Log Message:
  -----------
  [llvm] [cmake] Expose `LLVM_BUILD_TELEMETRY` in `LLVMConfig.cmake` (#126710)

Add `LLVM_BUILD_TELEMETRY` to the list of flags exposed in
`LLVMConfig.cmake`. This fixes telemetry library being misdetected as
`OFF` when building LLDB standalone.

Fixes bac62ee5b473e70981a6bd9759ec316315fca07d.

------

I guess this also needs a backport to 20.x.


  Commit: be14eac237672a236f7b82630f164163bf30d481
      https://github.com/llvm/llvm-project/commit/be14eac237672a236f7b82630f164163bf30d481
  Author: Stanislav Mekhanoshin <rampitec at users.noreply.github.com>
  Date:   2025-02-14 (Fri, 14 Feb 2025)

  Changed paths:
    M llvm/docs/AMDGPUUsage.rst
    M llvm/lib/Target/AMDGPU/AsmParser/AMDGPUAsmParser.cpp
    M llvm/lib/Target/AMDGPU/Disassembler/AMDGPUDisassembler.cpp
    M llvm/lib/Target/AMDGPU/MCTargetDesc/AMDGPUTargetStreamer.cpp
    M llvm/test/MC/AMDGPU/hsa-diag-v4.s
    M llvm/test/MC/AMDGPU/hsa-gfx12-v4.s
    M llvm/test/MC/AMDGPU/hsa-sym-exprs-gfx11.s
    M llvm/test/MC/AMDGPU/hsa-sym-exprs-gfx12.s
    M llvm/test/tools/llvm-objdump/ELF/AMDGPU/kd-gfx11.s
    M llvm/test/tools/llvm-objdump/ELF/AMDGPU/kd-gfx12.s

  Log Message:
  -----------
  [AMDGPU] Create new directive .amdhsa_inst_pref_size (#126622)

The field INST_PREF_SIZE is available since gfx11.


  Commit: 0dc2ff97c47f218790653ecb3eb41a84b89214a6
      https://github.com/llvm/llvm-project/commit/0dc2ff97c47f218790653ecb3eb41a84b89214a6
  Author: sitrin <michael.s.adams at gmail.com>
  Date:   2025-02-14 (Fri, 14 Feb 2025)

  Changed paths:
    M clang/docs/TypeSanitizer.rst

  Log Message:
  -----------
  [Docs] Fix typo in TypeSanitizer.rst "tale" -> "table" (NFC) (#126721)

The word `table` is now in place of the word `tale`.

Fixes #126719.

Co-authored-by: sitrin <sitrin at users.noreply.github.com>


  Commit: 5361e45ad72e6f9b89c0e095817d19d43229c278
      https://github.com/llvm/llvm-project/commit/5361e45ad72e6f9b89c0e095817d19d43229c278
  Author: Florian Mayer <fmayer at google.com>
  Date:   2025-02-14 (Fri, 14 Feb 2025)

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

  Log Message:
  -----------
  [NFC] [clang] simplify isDesignatorAtObjectEnd (#126658)

IsLastOrInvalidFieldDecl would always return true if `Invalid=true`, so
we know that !IsLastOrInvalidFieldDecl(...) means !Invalid.


  Commit: 730e429db90292fa947193d6f7799d6bcfc75719
      https://github.com/llvm/llvm-project/commit/730e429db90292fa947193d6f7799d6bcfc75719
  Author: Kazu Hirata <kazu at google.com>
  Date:   2025-02-14 (Fri, 14 Feb 2025)

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

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


  Commit: d3f67999f70eb53b508230e0f96ccc5594ee3220
      https://github.com/llvm/llvm-project/commit/d3f67999f70eb53b508230e0f96ccc5594ee3220
  Author: Kazu Hirata <kazu at google.com>
  Date:   2025-02-14 (Fri, 14 Feb 2025)

  Changed paths:
    M clang/lib/Sema/SemaOpenMP.cpp

  Log Message:
  -----------
  [Sema] Avoid repeated hash lookups (NFC) (#126674)


  Commit: c28f613e13bb60651f4cd1e4d7ea76903c2242a2
      https://github.com/llvm/llvm-project/commit/c28f613e13bb60651f4cd1e4d7ea76903c2242a2
  Author: Kazu Hirata <kazu at google.com>
  Date:   2025-02-14 (Fri, 14 Feb 2025)

  Changed paths:
    M clang/tools/clang-installapi/Options.cpp

  Log Message:
  -----------
  [clang-installapi] Avoid repeated hash lookups (NFC) (#126677)


  Commit: 4152ef9ec31ba99f59cffc1c7bad01777ac20478
      https://github.com/llvm/llvm-project/commit/4152ef9ec31ba99f59cffc1c7bad01777ac20478
  Author: Kazu Hirata <kazu at google.com>
  Date:   2025-02-14 (Fri, 14 Feb 2025)

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

  Log Message:
  -----------
  [Analysis] Avoid repeated hash lookups (NFC) (#126678)


  Commit: 4b55f82f47ce6f9bb909e272dccc151fffc0e93a
      https://github.com/llvm/llvm-project/commit/4b55f82f47ce6f9bb909e272dccc151fffc0e93a
  Author: Kazu Hirata <kazu at google.com>
  Date:   2025-02-14 (Fri, 14 Feb 2025)

  Changed paths:
    M llvm/lib/Target/SystemZ/SystemZAsmPrinter.cpp

  Log Message:
  -----------
  [SystemZ] Avoid repeated hash lookups (NFC) (#126679)


  Commit: 9cca1ef72e91254bf49c3cd17bf5e2a91e55b264
      https://github.com/llvm/llvm-project/commit/9cca1ef72e91254bf49c3cd17bf5e2a91e55b264
  Author: Kazu Hirata <kazu at google.com>
  Date:   2025-02-14 (Fri, 14 Feb 2025)

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

  Log Message:
  -----------
  [Vectorize] Avoid repeated hash lookups (NFC) (#126681)


  Commit: 3f8e4fd768bc268ea210cf89a1299d7b4b461f8f
      https://github.com/llvm/llvm-project/commit/3f8e4fd768bc268ea210cf89a1299d7b4b461f8f
  Author: Andreas Jonson <andjo403 at hotmail.com>
  Date:   2025-02-14 (Fri, 14 Feb 2025)

  Changed paths:
    M llvm/lib/Analysis/ValueTracking.cpp
    M llvm/test/Transforms/InstCombine/known-bits.ll

  Log Message:
  -----------
  [ValueTracking] Handle trunc to i1 as condition in dominating condition. (#126414)

proof: https://alive2.llvm.org/ce/z/gALGmv


  Commit: 70c1f6d85132f530cf9c96347233cd617eb37c28
      https://github.com/llvm/llvm-project/commit/70c1f6d85132f530cf9c96347233cd617eb37c28
  Author: Sharjeel Khan <sharjeelkhan at google.com>
  Date:   2025-02-14 (Fri, 14 Feb 2025)

  Changed paths:
    M clang/test/Driver/dep-file-flag-with-multiple-offload-archs.hip

  Log Message:
  -----------
  [Clang][Driver][HIP] Fix test for HIP as it was failing (#126585)

This PR #125646 added this test and it was failing in Android's compiler
and on my machine locally. I removed the "Build config" check and it
passes now.


  Commit: 425a874a572586b733f51f1c837f95cb6f6f69ff
      https://github.com/llvm/llvm-project/commit/425a874a572586b733f51f1c837f95cb6f6f69ff
  Author: Razvan Lupusoru <razvan.lupusoru at gmail.com>
  Date:   2025-02-14 (Fri, 14 Feb 2025)

  Changed paths:
    M flang/lib/Lower/OpenACC.cpp
    M flang/test/Lower/OpenACC/acc-loop.f90
    M flang/test/Lower/OpenACC/acc-private-unwrap-defaultbounds.f90
    M flang/test/Lower/OpenACC/acc-private.f90

  Log Message:
  -----------
  [flang][acc] Fill-in name for privatized loop iv (#126601)

When the loop induction variable implicit private clause was being
generated, the name was left empty. The intent is that the data clause
operation holds the source language variable name. Thus, add the missing
name now.


  Commit: 52c7a3b8c3525bfe6adc85d3293912724f12a83c
      https://github.com/llvm/llvm-project/commit/52c7a3b8c3525bfe6adc85d3293912724f12a83c
  Author: Ilia Kuklin <ikuklin at accesssoftek.com>
  Date:   2025-02-14 (Fri, 14 Feb 2025)

  Changed paths:
    M clang/include/clang/AST/ASTContext.h
    M clang/lib/AST/ASTContext.cpp
    M clang/lib/Sema/SemaDecl.cpp

  Log Message:
  -----------
  [clang][Sema] Move computing enum bits into a separate function (#126096)

Move the code that computes `NumNegativeBits` and `NumPositiveBits` for
an enum to a separate function in `ASTContext.h`.
This function needs to be called from LLDB as well (#115005)


  Commit: c82831c692e64637128668ab886c5aaffa88a7ce
      https://github.com/llvm/llvm-project/commit/c82831c692e64637128668ab886c5aaffa88a7ce
  Author: Aaron Siddhartha Mondal <aaron at tracemachina.com>
  Date:   2025-02-14 (Fri, 14 Feb 2025)

  Changed paths:
    M .github/CODEOWNERS

  Log Message:
  -----------
  [GitHub] Add aaronmondal to Bazel codeowners (#126760)


  Commit: 38d2ea536a5385a303f454d3c4c91ae8fffd779e
      https://github.com/llvm/llvm-project/commit/38d2ea536a5385a303f454d3c4c91ae8fffd779e
  Author: S. Bharadwaj Yadavalli <Bharadwaj.Yadavalli at microsoft.com>
  Date:   2025-02-14 (Fri, 14 Feb 2025)

  Changed paths:
    M clang/lib/CodeGen/CGHLSLRuntime.cpp
    M clang/test/CodeGenHLSL/inline-functions.hlsl

  Log Message:
  -----------
  [HLSL] Appropriately set function attribute optnone (#125937)

When optimization is disabled, set `optnone` attribute all module entry
functions.

Updated test in accordance with the change.

Closes #124796


  Commit: 29d48942c90b6f9997a0732157e0a58792109c7d
      https://github.com/llvm/llvm-project/commit/29d48942c90b6f9997a0732157e0a58792109c7d
  Author: Nick Desaulniers <ndesaulniers at google.com>
  Date:   2025-02-14 (Fri, 14 Feb 2025)

  Changed paths:
    M libc/test/src/stdbit/stdc_bit_ceil_uc_test.cpp
    M libc/test/src/stdbit/stdc_bit_ceil_us_test.cpp
    M libc/test/src/stdbit/stdc_first_leading_one_uc_test.cpp
    M libc/test/src/stdbit/stdc_first_leading_one_us_test.cpp
    M libc/test/src/stdbit/stdc_first_leading_zero_uc_test.cpp
    M libc/test/src/stdbit/stdc_first_leading_zero_us_test.cpp
    M libc/test/src/stdbit/stdc_first_trailing_one_uc_test.cpp
    M libc/test/src/stdbit/stdc_first_trailing_one_us_test.cpp
    M libc/test/src/stdbit/stdc_first_trailing_zero_uc_test.cpp
    M libc/test/src/stdbit/stdc_first_trailing_zero_us_test.cpp
    M libc/test/src/stdbit/stdc_has_single_bit_uc_test.cpp
    M libc/test/src/stdbit/stdc_has_single_bit_us_test.cpp
    M libc/test/src/stdbit/stdc_leading_ones_uc_test.cpp
    M libc/test/src/stdbit/stdc_leading_ones_us_test.cpp
    M libc/test/src/stdbit/stdc_leading_zeros_uc_test.cpp
    M libc/test/src/stdbit/stdc_leading_zeros_us_test.cpp
    M libc/test/src/stdbit/stdc_trailing_ones_uc_test.cpp
    M libc/test/src/stdbit/stdc_trailing_ones_us_test.cpp
    M libc/test/src/stdbit/stdc_trailing_zeros_uc_test.cpp
    M libc/test/src/stdbit/stdc_trailing_zeros_us_test.cpp

  Log Message:
  -----------
  [libc][test][stdbit] fix -Wimplicit-int-conversion (#126616)

When cross compiling the libc-stdbit-tests, the existing tests trigger numerous
instances of -Wimplicit-int-conversion. The truncation of these implicit
promotions is intentional.


  Commit: 0b224ad44582d88975110f035abb854b6fb36742
      https://github.com/llvm/llvm-project/commit/0b224ad44582d88975110f035abb854b6fb36742
  Author: Wael Yehia <wyehia at ca.ibm.com>
  Date:   2025-02-14 (Fri, 14 Feb 2025)

  Changed paths:
    M clang/docs/ReleaseNotes.rst

  Log Message:
  -----------
  [Release Notes] Mention -fprofile-continuous in release notes


  Commit: 69160cab6d18dcf4225485dd021de8a23dde1237
      https://github.com/llvm/llvm-project/commit/69160cab6d18dcf4225485dd021de8a23dde1237
  Author: Balazs Benics <benicsbalazs at gmail.com>
  Date:   2025-02-14 (Fri, 14 Feb 2025)

  Changed paths:
    M clang/docs/analyzer/developer-docs/PerformanceInvestigation.rst
    A clang/docs/analyzer/images/flamegraph.png
    A clang/docs/analyzer/images/uftrace_detailed.png

  Log Message:
  -----------
  [analyzer][docs] Document how to use perf and uftrace to debug performance issues (#126724)


  Commit: ee23f068b41c6548f0a8d5a12c78818398570fb8
      https://github.com/llvm/llvm-project/commit/ee23f068b41c6548f0a8d5a12c78818398570fb8
  Author: Aaron Siddhartha Mondal <aaron at tracemachina.com>
  Date:   2025-02-14 (Fri, 14 Feb 2025)

  Changed paths:
    M llvm/utils/git/code-format-helper.py

  Log Message:
  -----------
  [GitHub] Skip undefcheck if no relevant files changed (#126749)

If the list of filtered files was empty the check would process every
file in the diff.


  Commit: 76dcaec70ee5933e503abbd68d5f583296a05f74
      https://github.com/llvm/llvm-project/commit/76dcaec70ee5933e503abbd68d5f583296a05f74
  Author: Jonas Devlieghere <jonas at devlieghere.com>
  Date:   2025-02-14 (Fri, 14 Feb 2025)

  Changed paths:
    M lldb/include/lldb/Core/UserSettingsController.h
    M lldb/source/Core/UserSettingsController.cpp

  Log Message:
  -----------
  [lldb] Devirtualize GetValueProperties (NFC) (#126583)

Nobody is overriding GetValueProperties, so in practice we're always
using `m_collection_sp`, which means we don't need to check the pointer.
The temlated helpers were already operating on `m_collection_sp`
directly so this makes the rest of the class consistent.


  Commit: 945df396eb0aecbae5371865fba3134a124093e2
      https://github.com/llvm/llvm-project/commit/945df396eb0aecbae5371865fba3134a124093e2
  Author: Ryosuke Niwa <rniwa at webkit.org>
  Date:   2025-02-14 (Fri, 14 Feb 2025)

  Changed paths:
    M clang/lib/StaticAnalyzer/Checkers/WebKit/ASTUtils.cpp
    M clang/test/Analysis/Checkers/WebKit/uncounted-obj-arg.mm

  Log Message:
  -----------
  [WebKit Checkers] Treat const Objective-C ivar as a safe origin (#126353)

Like const C++ member variables, treat const Ref, RefPtr, CheckedRef,
CheckedPtr Objective-C ivars as a safe pointer origin in WebKit
checkers.


  Commit: fd824687fe084eca451348f4a7bd710f5f8a8415
      https://github.com/llvm/llvm-project/commit/fd824687fe084eca451348f4a7bd710f5f8a8415
  Author: Vigneshwar Jayakumar <vigneshwar.jayakumar at amd.com>
  Date:   2025-02-14 (Fri, 14 Feb 2025)

  Changed paths:
    M llvm/lib/Target/AMDGPU/GCNHazardRecognizer.cpp
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.mfma.gfx950.bf16.ll
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.mfma.gfx950.ll
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.mfma.scale.f32.16x16x128.f8f6f4.ll
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.mfma.scale.f32.32x32x64.f8f6f4.ll
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.smfmac.gfx950.ll
    M llvm/test/CodeGen/AMDGPU/mai-hazards-gfx940.mir

  Log Message:
  -----------
  AMDGPU: Handle gfx950 XDL-write-VGPR-VALU-Mem-Exp wait state change (#126727)


  Commit: 100426c6f9bb010c1ecd87191f20244b04d5d793
      https://github.com/llvm/llvm-project/commit/100426c6f9bb010c1ecd87191f20244b04d5d793
  Author: Vigneshwar Jayakumar <vigneshwar.jayakumar at amd.com>
  Date:   2025-02-14 (Fri, 14 Feb 2025)

  Changed paths:
    M llvm/lib/Target/AMDGPU/GCNHazardRecognizer.cpp
    M llvm/test/CodeGen/AMDGPU/mai-hazards-gfx940.mir

  Log Message:
  -----------
  AMDGPU: Handle gfx950 XDL Write-VGPR-VALU-WAW wait state change (#126132)

There are additional wait states for XDL write VALU WAW hazard in gfx950
compared to gfx940.


  Commit: e49c7e192f39f728bff0aec7d472f814cc13d778
      https://github.com/llvm/llvm-project/commit/e49c7e192f39f728bff0aec7d472f814cc13d778
  Author: Elvin Wang <elvin.wang at intel.com>
  Date:   2025-02-14 (Fri, 14 Feb 2025)

  Changed paths:
    M llvm/lib/IR/DebugInfo.cpp
    A llvm/test/Transforms/Util/strip-nonlinetable-debuginfo-pr125116.ll

  Log Message:
  -----------
  [llvm] Avoid out-of-order evaluation in DebugInfo (#125116)

This is an upstream proposal from
https://github.com/intel/intel-graphics-compiler/commit/e60884cb98c4332a0eecff8396eb353c5b86cd35
We observed malfunctioning StripNonLineTableDebugInfo during debugging
and it's caused by out-of-order evaluation, this is a C++ level semantic
ambiguity issue, refer
https://en.cppreference.com/w/cpp/language/eval_order
Solution is simply separating one line into two.


  Commit: 65f3be6f34ba85c053c11203c6440d4b70e36444
      https://github.com/llvm/llvm-project/commit/65f3be6f34ba85c053c11203c6440d4b70e36444
  Author: Renaud Kauffmann <rkauffmann at nvidia.com>
  Date:   2025-02-14 (Fri, 14 Feb 2025)

  Changed paths:
    M flang/lib/Optimizer/Analysis/AliasAnalysis.cpp
    M flang/test/Analysis/AliasAnalysis/alias-analysis-2.fir
    A flang/test/Analysis/AliasAnalysis/alias-analysis-target.fir

  Log Message:
  -----------
  [flang][NFCI] Stop tracking memory source after a load in a more explicit manner. (#126156)

Typically, we do not track memory sources after a load because of the
dynamic nature of the load and the fact that the alias analysis is a
simple static analysis.

However, the code is written in a way that makes it seem like we are
continuing to track memory but in reality we are only doing so when we
know that the tracked memory is a leaf and therefore when there will
only be one more iteration through the switch statement. In other words,
we are iterating one more time, to gather data about a box, anticipating
that this will be the last time. This is a hack that helped avoid
cut-and-paste from other case statements but gives the wrong impression
about the intention of the code and makes it confusing.

To make it clear that there is no more tracking, we gather all the
necessary data from the memref of the load, in the case statement for
the load, and exit the loop. I am also limiting this data gathering for
the case when we load a box reference while we were actually following
data, as tests have shows, is the only case when we need it for. Other
cases will be handled conservatively, but this can change in the future,
on a case-by-case basis.

---------

Co-authored-by: Joel E. Denny <jdenny.ornl at gmail.com>


  Commit: 202db18cac2f445ec4c36d76e7f56bba96f3369b
      https://github.com/llvm/llvm-project/commit/202db18cac2f445ec4c36d76e7f56bba96f3369b
  Author: Zahira Ammarguellat <zahira.ammarguellat at intel.com>
  Date:   2025-02-14 (Fri, 14 Feb 2025)

  Changed paths:
    M clang/bindings/python/clang/cindex.py
    M clang/docs/OpenMPSupport.rst
    M clang/docs/ReleaseNotes.rst
    M clang/include/clang-c/Index.h
    M clang/include/clang/AST/RecursiveASTVisitor.h
    M clang/include/clang/AST/StmtOpenMP.h
    M clang/include/clang/Basic/StmtNodes.td
    M clang/include/clang/Sema/SemaOpenMP.h
    M clang/include/clang/Serialization/ASTBitCodes.h
    M clang/lib/AST/StmtOpenMP.cpp
    M clang/lib/AST/StmtPrinter.cpp
    M clang/lib/AST/StmtProfile.cpp
    M clang/lib/Basic/OpenMPKinds.cpp
    M clang/lib/CodeGen/CGStmtOpenMP.cpp
    M clang/lib/CodeGen/CodeGenFunction.h
    M clang/lib/Parse/ParseOpenMP.cpp
    M clang/lib/Sema/SemaExceptionSpec.cpp
    M clang/lib/Sema/SemaOpenMP.cpp
    M clang/lib/Sema/TreeTransform.h
    M clang/lib/Serialization/ASTReaderStmt.cpp
    M clang/lib/Serialization/ASTWriterStmt.cpp
    M clang/lib/StaticAnalyzer/Core/ExprEngine.cpp
    A clang/test/Index/openmp-stripe.c
    A clang/test/OpenMP/stripe_ast_print.cpp
    A clang/test/OpenMP/stripe_codegen.cpp
    A clang/test/OpenMP/stripe_messages.cpp
    M clang/tools/libclang/CIndex.cpp
    M clang/tools/libclang/CXCursor.cpp
    M llvm/include/llvm/Frontend/OpenMP/OMP.td

  Log Message:
  -----------
  [Clang] [OpenMP] Add support for '#pragma omp stripe'. (#119891)

Implement basic parsing and semantic support for `#pragma omp stripe`
constuct introduced in
https://www.openmp.org/wp-content/uploads/[OpenMP-API-Specification-6-0.pdf](https://www.openmp.org/wp-content/uploads/OpenMP-API-Specification-6-0.pdf),
section 11.7.


  Commit: 6568b48a37425f0780ace71fb3b8fc05c14389e0
      https://github.com/llvm/llvm-project/commit/6568b48a37425f0780ace71fb3b8fc05c14389e0
  Author: Tai Ly <tai.ly at arm.com>
  Date:   2025-02-14 (Fri, 14 Feb 2025)

  Changed paths:
    M mlir/include/mlir/Dialect/Tosa/IR/TosaOps.td
    M mlir/include/mlir/Dialect/Tosa/IR/TosaTypesBase.td
    M mlir/lib/Conversion/TosaToLinalg/TosaToLinalg.cpp
    M mlir/lib/Dialect/Tosa/IR/TosaOps.cpp
    M mlir/lib/Dialect/Tosa/Transforms/TosaReduceTransposes.cpp
    M mlir/test/Conversion/TosaToLinalg/tosa-to-linalg.mlir
    M mlir/test/Dialect/Tosa/canonicalize.mlir
    M mlir/test/Dialect/Tosa/constant-op-fold.mlir
    M mlir/test/Dialect/Tosa/invalid.mlir
    M mlir/test/Dialect/Tosa/ops.mlir
    M mlir/test/Dialect/Tosa/tosa-infer-shapes.mlir
    M mlir/test/Dialect/Tosa/tosa-reduce-transposes.mlir

  Log Message:
  -----------
  [mlir][tosa] Change the shift of mul to be required (#125297)

Change the shift operand for the mul operator to be a required operand.

Also defined shift to be Tosa_ScalarInt8Tensor which requires that it is
a rank-1 tensor
whose shape is [1] (ie, tensor containing a single element)

Signed-off-by: Tai Ly <tai.ly at arm.com>


  Commit: 32212ae7d23fa3fd913990ec8a3916d20b1682c1
      https://github.com/llvm/llvm-project/commit/32212ae7d23fa3fd913990ec8a3916d20b1682c1
  Author: Ryosuke Niwa <rniwa at webkit.org>
  Date:   2025-02-14 (Fri, 14 Feb 2025)

  Changed paths:
    M clang/lib/StaticAnalyzer/Checkers/WebKit/ASTUtils.cpp
    M clang/test/Analysis/Checkers/WebKit/call-args-counted-const-member.cpp
    M clang/test/Analysis/Checkers/WebKit/mock-types.h

  Log Message:
  -----------
  [WebKit Checkers] Allow operator T&() in a const member function (#126470)

Allow operator T&() in a member function which returns a const member
variable.

In particular, this will allow UniqueRef::operator T&() and
Ref::operator T&() to be treated as a safe pointer origin when they're
called on a const member.


  Commit: 06b05cf59d3452f40c473633b136a39b94c1770d
      https://github.com/llvm/llvm-project/commit/06b05cf59d3452f40c473633b136a39b94c1770d
  Author: Mark de Wever <koraq at xs4all.nl>
  Date:   2025-02-14 (Fri, 14 Feb 2025)

  Changed paths:
    M libcxx/utils/generate_feature_test_macro_components.py

  Log Message:
  -----------
  [libc++] Fixes building with Python 3.8.

This addresses the post-commit issues reported in #101880.


  Commit: 469c511c6b827b9d77aec8aa5a6b342889812399
      https://github.com/llvm/llvm-project/commit/469c511c6b827b9d77aec8aa5a6b342889812399
  Author: quic-areg <aregmi at quicinc.com>
  Date:   2025-02-14 (Fri, 14 Feb 2025)

  Changed paths:
    M llvm/lib/Target/Hexagon/Disassembler/HexagonDisassembler.cpp

  Log Message:
  -----------
  [Hexagon][Disassembler] Set CommentStream of Disassembler (#126766)

Sets CommentStream after assert added in #125962.


  Commit: 193d28f14f23ee65628ffa989768d21b23cbf363
      https://github.com/llvm/llvm-project/commit/193d28f14f23ee65628ffa989768d21b23cbf363
  Author: Valentin Clement (バレンタイン クレメン) <clementval at gmail.com>
  Date:   2025-02-14 (Fri, 14 Feb 2025)

  Changed paths:
    M flang/runtime/CMakeLists.txt

  Log Message:
  -----------
  [flang][rt] Add decimal files to device runtime (#126778)

The library FortranDecimal is not used anymore with the runtime but its
files are now integrated. Add the files for the device build as well.


  Commit: 05d15a8538157233bafdf2a84937f5cac4b15b6d
      https://github.com/llvm/llvm-project/commit/05d15a8538157233bafdf2a84937f5cac4b15b6d
  Author: Nick Sarnie <nick.sarnie at intel.com>
  Date:   2025-02-14 (Fri, 14 Feb 2025)

  Changed paths:
    M clang/test/CMakeLists.txt
    M clang/test/Tooling/clang-linker-wrapper-spirv-elf.cpp
    M clang/test/Tooling/lit.local.cfg

  Log Message:
  -----------
  [clang-linker-wrapper][lit] Fix SPIR-V ELF test when spirv-tools feature is available (#126756)

My last change made the test not run when the `spirv-tools` feature is
not available, which is always the case in CI for clang tests, but it
fails if `spirv-tools` is available for the following reasons:
1) We didn't build `spirv-link` as part of the internal `SPIRV-Tools`
build, which is required by the `clang` call in `clang-linker-wrapper`,
I already fixed that
[here](https://github.com/llvm/llvm-project/pull/126319).
2) We didn't depend on the `SPIRV-Tools` CMake targets in clang tests,
so depending on what CMake targets were built before running
`check-clang`, `SPIRV-Tools` might not have been built.
3) We didn't check for `llvm-spirv` being available, which is not part
of `SPIRV-Tools` but is currently required for SPIR-V compilation.

Manually confirmed this works. This test is the bane of my existence.

---------

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


  Commit: 4f369c269e7b570ffad792fc6fa6f37c0dd09907
      https://github.com/llvm/llvm-project/commit/4f369c269e7b570ffad792fc6fa6f37c0dd09907
  Author: Kevin Gleason <gleasonk at google.com>
  Date:   2025-02-14 (Fri, 14 Feb 2025)

  Changed paths:
    M mlir/test/mlir-tblgen/gen-dialect-doc.td
    A mlir/test/mlir-tblgen/gen-pass-doc.td
    M mlir/tools/mlir-tblgen/OpDocGen.cpp
    M mlir/tools/mlir-tblgen/OpInterfacesGen.cpp
    M mlir/tools/mlir-tblgen/PassDocGen.cpp
    M utils/bazel/llvm-project-overlay/mlir/test/mlir-tblgen/BUILD.bazel

  Log Message:
  -----------
  [MLIR] Make generated markdown doc more consistent (#119926)

A few changes to doc generation:

- All summaries are in italics.
- In general each optional block starts and ends with a newline.
- All table elements are enclosed in `|`'s
- Overall reduce the number of >2newlines in a row

Rationale for this change is that our markdown to docs generator
requires a newline before all headers, otherwise it gets inlined into
the line before it, see `### sdy-op-priority-propagate` in the image
below.

<img width="883" alt="image"
src="https://github.com/user-attachments/assets/b795c424-cecb-48df-abbe-aee2030f4491"
/>

That said overall I feel this formatting is more consistent now, here's
a before and after:

- Dialect documentation diff: https://www.diffchecker.com/OVMHoXeL/
- Pass documentation diff: https://www.diffchecker.com/XEJRmW3k/


  Commit: ea629f78e04ae7398eff218104410ffa6806fb54
      https://github.com/llvm/llvm-project/commit/ea629f78e04ae7398eff218104410ffa6806fb54
  Author: Kazu Hirata <kazu at google.com>
  Date:   2025-02-14 (Fri, 14 Feb 2025)

  Changed paths:
    M clang/bindings/python/clang/cindex.py
    M clang/docs/OpenMPSupport.rst
    M clang/docs/ReleaseNotes.rst
    M clang/include/clang-c/Index.h
    M clang/include/clang/AST/RecursiveASTVisitor.h
    M clang/include/clang/AST/StmtOpenMP.h
    M clang/include/clang/Basic/StmtNodes.td
    M clang/include/clang/Sema/SemaOpenMP.h
    M clang/include/clang/Serialization/ASTBitCodes.h
    M clang/lib/AST/StmtOpenMP.cpp
    M clang/lib/AST/StmtPrinter.cpp
    M clang/lib/AST/StmtProfile.cpp
    M clang/lib/Basic/OpenMPKinds.cpp
    M clang/lib/CodeGen/CGStmtOpenMP.cpp
    M clang/lib/CodeGen/CodeGenFunction.h
    M clang/lib/Parse/ParseOpenMP.cpp
    M clang/lib/Sema/SemaExceptionSpec.cpp
    M clang/lib/Sema/SemaOpenMP.cpp
    M clang/lib/Sema/TreeTransform.h
    M clang/lib/Serialization/ASTReaderStmt.cpp
    M clang/lib/Serialization/ASTWriterStmt.cpp
    M clang/lib/StaticAnalyzer/Core/ExprEngine.cpp
    R clang/test/Index/openmp-stripe.c
    R clang/test/OpenMP/stripe_ast_print.cpp
    R clang/test/OpenMP/stripe_codegen.cpp
    R clang/test/OpenMP/stripe_messages.cpp
    M clang/tools/libclang/CIndex.cpp
    M clang/tools/libclang/CXCursor.cpp
    M llvm/include/llvm/Frontend/OpenMP/OMP.td

  Log Message:
  -----------
  Revert "[Clang] [OpenMP] Add support for '#pragma omp stripe'. (#119891)"

This reverts commit 070f84ebc89b11df616a83a56df9ac56efbab783.

Buildbot failure:
https://lab.llvm.org/buildbot/#/builders/51/builds/10694


  Commit: 31acebc03db277e9f1913d01c2a3803aaf93ee2b
      https://github.com/llvm/llvm-project/commit/31acebc03db277e9f1913d01c2a3803aaf93ee2b
  Author: Philip Reames <preames at rivosinc.com>
  Date:   2025-02-14 (Fri, 14 Feb 2025)

  Changed paths:
    M llvm/include/llvm/CodeGen/SelectionDAGNodes.h
    M llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp
    M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
    M llvm/lib/Target/ARM/ARMISelLowering.cpp
    M llvm/lib/Target/RISCV/RISCVISelLowering.cpp

  Log Message:
  -----------
  [DAG] Use ArrayRef to simplify ShuffleVectorSDNode::isSplatMask


  Commit: 9b5dde1958655cf1c612d738d0872b8fb3b20c21
      https://github.com/llvm/llvm-project/commit/9b5dde1958655cf1c612d738d0872b8fb3b20c21
  Author: Joseph Huber <huberjn at outlook.com>
  Date:   2025-02-14 (Fri, 14 Feb 2025)

  Changed paths:
    M offload/plugins-nextgen/common/include/RPC.h
    M offload/plugins-nextgen/common/src/RPC.cpp

  Log Message:
  -----------
  [Offload] Properly guard modifications to the RPC device array (#126790)

Summary:
If the user deallocates an RPC device this can sometimes fail if the RPC
server is still running. This will happen if the modification happens
while the server is still checking it. This patch adds a mutex to guard
modifications to it.


  Commit: 4328ee20d06a54d4292258d5eeac1c588ac09652
      https://github.com/llvm/llvm-project/commit/4328ee20d06a54d4292258d5eeac1c588ac09652
  Author: David Green <david.green at arm.com>
  Date:   2025-02-14 (Fri, 14 Feb 2025)

  Changed paths:
    A llvm/test/Transforms/PhaseOrdering/AArch64/udotabd.ll

  Log Message:
  -----------
  [AArch64] Add a phase-order test for dot patterns. NFC


  Commit: aeefdf67d38fcb7d9e9e4eaf5162ccec5d0daa52
      https://github.com/llvm/llvm-project/commit/aeefdf67d38fcb7d9e9e4eaf5162ccec5d0daa52
  Author: Florian Mayer <fmayer at google.com>
  Date:   2025-02-14 (Fri, 14 Feb 2025)

  Changed paths:
    M clang/lib/StaticAnalyzer/Checkers/WebKit/ASTUtils.cpp

  Log Message:
  -----------
  [NFC] [clang] fix unused variable warning (#126796)


  Commit: aa9e1ea8a800e56f7032fd3ad1ececaa30ff8014
      https://github.com/llvm/llvm-project/commit/aa9e1ea8a800e56f7032fd3ad1ececaa30ff8014
  Author: Alireza Torabian <torabian.alireza at gmail.com>
  Date:   2025-02-14 (Fri, 14 Feb 2025)

  Changed paths:
    M llvm/include/llvm/Analysis/DDG.h
    M llvm/include/llvm/Analysis/DependenceAnalysis.h
    M llvm/lib/Analysis/DependenceAnalysis.cpp
    M llvm/lib/Analysis/DependenceGraphBuilder.cpp
    M llvm/lib/Analysis/LoopCacheAnalysis.cpp
    M llvm/lib/Transforms/Scalar/LoopFuse.cpp
    M llvm/lib/Transforms/Scalar/LoopInterchange.cpp
    M llvm/lib/Transforms/Utils/CodeMoverUtils.cpp
    M llvm/lib/Transforms/Utils/LoopUnrollAndJam.cpp

  Log Message:
  -----------
  [DependenceAnalysis][NFC] Removing PossiblyLoopIndependent parameter (#124615)

Parameter PossiblyLoopIndependent has lost its intended purpose. This
flag is always set to true in all cases when depends() is called, hence
we want to reconsider the utility of this variable and remove it from
the function signature entirely. This is an NFC patch.


  Commit: 5884be7df9282db5859969ee00c4f1cf75fa5002
      https://github.com/llvm/llvm-project/commit/5884be7df9282db5859969ee00c4f1cf75fa5002
  Author: Philip Reames <preames at rivosinc.com>
  Date:   2025-02-14 (Fri, 14 Feb 2025)

  Changed paths:
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-int-shuffles.ll

  Log Message:
  -----------
  [RISCV] Add coverage for vmerge.vim shuffle lowering


  Commit: e8ee1acacdd473dcfb800517064f0d6ee00e7357
      https://github.com/llvm/llvm-project/commit/e8ee1acacdd473dcfb800517064f0d6ee00e7357
  Author: Florian Mayer <fmayer at google.com>
  Date:   2025-02-14 (Fri, 14 Feb 2025)

  Changed paths:
    M clang/include/clang/Basic/FPOptions.def
    M clang/include/clang/Basic/LangOptions.def
    M clang/include/clang/Basic/LangOptions.h

  Log Message:
  -----------
  [clang] Assert the enum FPOpts and LangOpts fit into the storage (#126166)

Fix existing failure


  Commit: 0e3d6182623ba7440a9694eedd87a07022cda5ac
      https://github.com/llvm/llvm-project/commit/0e3d6182623ba7440a9694eedd87a07022cda5ac
  Author: Andrzej Warzyński <andrzej.warzynski at arm.com>
  Date:   2025-02-14 (Fri, 14 Feb 2025)

  Changed paths:
    M mlir/include/mlir/Dialect/Vector/IR/VectorOps.td
    M mlir/lib/Dialect/Vector/IR/VectorOps.cpp

  Log Message:
  -----------
  [mlir][vector][nfc] Add clarification on "dim-1" bcast (#125425)

Adds a small note to VectorOps.td on what "dim-1" broadcast is. Also
updates comments to consistently use quotes, i.e.

* "dim-1" broadcasting instead of dim-1 broadcasting.

This way it is clear that we are referring to "stretching" one of the
trailing dims rather than e.g. broadcasting a dim at idx 1.


  Commit: 8498b02fbc3eb8f12b41777bed2ac39185ad1c4e
      https://github.com/llvm/llvm-project/commit/8498b02fbc3eb8f12b41777bed2ac39185ad1c4e
  Author: Alexey Bataev <a.bataev at outlook.com>
  Date:   2025-02-14 (Fri, 14 Feb 2025)

  Changed paths:
    M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
    A llvm/test/Transforms/SLPVectorizer/SystemZ/reuse-non-power-of-2-reorder.ll

  Log Message:
  -----------
  [SLP]Fix attempt to build the reorder mask for non-adjusted reuse mask

When building the reorder for non-single use reuse mask, need to check
if the size of the mask is multiple of the number of unique scalars.
  Otherwise, the compiler may crash when trying to reorder nodes.

Fixes #126304


  Commit: 1556c73d7755bcbc0535e50e3939c2ae515cdb12
      https://github.com/llvm/llvm-project/commit/1556c73d7755bcbc0535e50e3939c2ae515cdb12
  Author: Florian Mayer <fmayer at google.com>
  Date:   2025-02-14 (Fri, 14 Feb 2025)

  Changed paths:
    M clang/lib/StaticAnalyzer/Checkers/WebKit/ASTUtils.cpp

  Log Message:
  -----------
  [NFC] [clang] Use isa instead of dyn_cast


  Commit: e842911b59dc15676f5f6c2cd5f5041cf14431d3
      https://github.com/llvm/llvm-project/commit/e842911b59dc15676f5f6c2cd5f5041cf14431d3
  Author: vporpo <vporpodas at google.com>
  Date:   2025-02-14 (Fri, 14 Feb 2025)

  Changed paths:
    M llvm/include/llvm/Transforms/Vectorize/SandboxVectorizer/Scheduler.h
    M llvm/unittests/Transforms/Vectorize/SandboxVectorizer/SchedulerTest.cpp

  Log Message:
  -----------
  [SandboxVec][Scheduler] Update ready list comparator (#126160)

This patch implements a hierarchical comparator for the ready list. PHIs
have higher priority than non-phis and terminators are always last.


  Commit: 4986c15098146c5332e512c2f3cb2a01b7241d84
      https://github.com/llvm/llvm-project/commit/4986c15098146c5332e512c2f3cb2a01b7241d84
  Author: Shoaib Meenai <smeenai at fb.com>
  Date:   2025-02-14 (Fri, 14 Feb 2025)

  Changed paths:
    M mlir/include/mlir/IR/OperationSupport.h

  Log Message:
  -----------
  [mlir] Silence -Wdangling-assignment-gsl in OperationSupport.h (#126140)

This warning is causing lots of build spam when I use a recent Clang as
my host compiler. It's a potential false positive, so silence it until
https://github.com/llvm/llvm-project/issues/126600 is resolved.
Fix variable casing while I'm here.


  Commit: 965b16cd248b59e5e4b148d4d87ba1ff4eeca6a4
      https://github.com/llvm/llvm-project/commit/965b16cd248b59e5e4b148d4d87ba1ff4eeca6a4
  Author: Nick Desaulniers <ndesaulniers at google.com>
  Date:   2025-02-14 (Fri, 14 Feb 2025)

  Changed paths:
    M libc/utils/docgen/docgen.py
    M libc/utils/docgen/sys/time.yaml

  Log Message:
  -----------
  [libc][docgen] make note of sys/time.h interfaces removed in POSIX.1-2024 (#126612)

One of these days, we'll be able to specify time to a computer...

Also, POSIX can remove stuff all they want. Folks probably will continue to
depend on broken interfaces forever.

Link: #124654
Link: https://austingroupbugs.net/view.php?id=1330


  Commit: 4b4c0aca868b450d1d391e33f030440921254f6b
      https://github.com/llvm/llvm-project/commit/4b4c0aca868b450d1d391e33f030440921254f6b
  Author: Nathan Ridge <zeratul976 at hotmail.com>
  Date:   2025-02-14 (Fri, 14 Feb 2025)

  Changed paths:
    M clang/lib/Sema/HeuristicResolver.cpp
    M clang/unittests/Sema/HeuristicResolverTest.cpp

  Log Message:
  -----------
  [clang][HeuristicResolver] Track the expression whose type is being simplified after each step in simplifyType() (#126689)

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


  Commit: f395947983dfd1ac46e1f31d7f84557c7f0b22a0
      https://github.com/llvm/llvm-project/commit/f395947983dfd1ac46e1f31d7f84557c7f0b22a0
  Author: lntue <lntue at google.com>
  Date:   2025-02-14 (Fri, 14 Feb 2025)

  Changed paths:
    M libc/src/__support/FPUtil/double_double.h
    M libc/src/__support/macros/optimization.h
    M libc/src/math/generic/CMakeLists.txt
    M libc/src/math/generic/atan2f.cpp
    A libc/src/math/generic/atan2f_float.h
    M libc/src/math/generic/pow.cpp
    M libc/src/math/generic/range_reduction_double_fma.h
    M libc/src/math/generic/range_reduction_double_nofma.h

  Log Message:
  -----------
  [libc][math] Add float-only option for atan2f. (#122979)

For targets that have single precision FPU but not double precision FPU
such as Cortex M4, only using float-float in the intermediate
computations might reduce the code size compared to using double. In
this case, when the exact pass is skipped, the float-only option for
atan2f implemented in this PR reduces the code size of this function by
~1 KB compared to the double precision version.


  Commit: 401f2d1aa3dfdd1ad001729edc93e2b3ffb9381a
      https://github.com/llvm/llvm-project/commit/401f2d1aa3dfdd1ad001729edc93e2b3ffb9381a
  Author: Brox Chen <guochen2 at amd.com>
  Date:   2025-02-14 (Fri, 14 Feb 2025)

  Changed paths:
    M llvm/lib/Target/AMDGPU/VOP3PInstructions.td
    M llvm/test/CodeGen/AMDGPU/mad-mix-hi.ll
    M llvm/test/CodeGen/AMDGPU/mad-mix-lo.ll
    M llvm/test/CodeGen/AMDGPU/mad-mix.ll

  Log Message:
  -----------
  [AMDGPU][True16][CodeGen] true16 codegen for MadFmaMixPat (#124892)

true16 codegen for MadFmaMixPat. GISEL test not enabled and will be
added later when GISEL is supported


  Commit: 8d967b11d4da318562072ea7d0ce42bcd92ba7d5
      https://github.com/llvm/llvm-project/commit/8d967b11d4da318562072ea7d0ce42bcd92ba7d5
  Author: Michael Jones <michaelrj at google.com>
  Date:   2025-02-14 (Fri, 14 Feb 2025)

  Changed paths:
    M libc/include/llvm-libc-types/struct_tm.h
    M libc/src/time/CMakeLists.txt
    M libc/src/time/mktime.cpp
    M libc/src/time/time_constants.h
    M libc/src/time/time_utils.cpp
    M libc/src/time/time_utils.h

  Log Message:
  -----------
  [libc] create TimeReader to look at a struct tm (#126138)

In the process of adding strftime (#122556) I wrote this utility class
to simplify reading from a struct tm. It provides helper functions that
return basically everything needed by strftime. It's not tested
directly, but it is thoroughly exercised by the strftime tests.


  Commit: 09582ac98bea7ab15ada901a05ce23f76f7f2b0c
      https://github.com/llvm/llvm-project/commit/09582ac98bea7ab15ada901a05ce23f76f7f2b0c
  Author: Philip Reames <preames at rivosinc.com>
  Date:   2025-02-14 (Fri, 14 Feb 2025)

  Changed paths:
    M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-fp-interleave.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-int-interleave.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-int-shuffles.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-shuffle-changes-length.ll

  Log Message:
  -----------
  [RISCV] Decompose single source shuffles (without exact VLEN) (#126108)

This is a continuation of the work started in #125735 to lower selected
VLA shuffles in linear m1 components instead of generating O(LMUL^2) or
O(LMUL*Log2(LMUL) high LMUL shuffles.

This pattern focuses on shuffles where all the elements being used
across the entire destination register group come from a single register
in the source register group. Such cases come up fairly frequently via
e.g. spread(N), and repeat(N) idioms.

One subtlety to this patch is the handling of the index vector for
vrgatherei16.vv. Because the index and source registers can have
different EEW, the index vector for the Nth chunk of the destination is
not guaranteed to be register aligned. In fact, it is common for e.g. an
EEW=64 shuffle to have EEW=16 indices which are four chunks per source
register. Given this, we have to pay a cost for extracting these chunks
into the low position before performing each shuffle.

I'd initially expressed this as a naive extract sub-vector for each data
parallel piece. However, at high LMUL, this quickly caused register
pressure problems since we could at worst need 4x the temporary
registers for the index. Instead, this patch uses a repeating slidedown
chained from previous iterations. This increases critical path by at
worst 3 slides (SEW=64 is the worst case), but reduces register pressure
to at worst 2x - and only if the original index vector is reused
elsewhere. I view this as arguably a bit of a workaround (since our
scheduling should have done better with the plain extract variant), but
a probably neccessary one.


  Commit: 36eb73418c483cdec037ebfe54443057a21dddeb
      https://github.com/llvm/llvm-project/commit/36eb73418c483cdec037ebfe54443057a21dddeb
  Author: Lang Hames <lhames at gmail.com>
  Date:   2025-02-14 (Fri, 14 Feb 2025)

  Changed paths:
    M llvm/include/llvm/ExecutionEngine/Orc/Shared/OrcRTBridge.h
    M llvm/include/llvm/ExecutionEngine/Orc/TargetProcess/UnwindInfoManager.h
    M llvm/include/llvm/ExecutionEngine/Orc/UnwindInfoRegistrationPlugin.h
    M llvm/lib/ExecutionEngine/Orc/ExecutorProcessControl.cpp
    M llvm/lib/ExecutionEngine/Orc/LLJIT.cpp
    M llvm/lib/ExecutionEngine/Orc/Shared/OrcRTBridge.cpp
    M llvm/lib/ExecutionEngine/Orc/TargetProcess/UnwindInfoManager.cpp
    M llvm/lib/ExecutionEngine/Orc/UnwindInfoRegistrationPlugin.cpp
    M llvm/tools/llvm-jitlink/llvm-jitlink-executor/llvm-jitlink-executor.cpp
    M llvm/tools/llvm-jitlink/llvm-jitlink.cpp

  Log Message:
  -----------
  [ORC] Switch to singleton pattern for UnwindInfoManager. (#126691)

The find-dynamic-unwind-info callback registration APIs in libunwind
limit the number of callbacks that can be registered. If we use multiple
UnwindInfoManager instances, each with their own own callback function
(as was the case prior to this patch) we can quickly exceed this limit
(see https://github.com/llvm/llvm-project/issues/126611).

This patch updates the UnwindInfoManager class to use a singleton
pattern, with the single instance shared between all LLVM JITs in the
process.

This change does _not_ apply to compact unwind info registered through
the ORC runtime (which currently installs its own callbacks).

As a bonus this change eliminates the need to load an IR "bouncer"
module to supply the unique callback for each instance, so support for
compact-unwind can be extended to the llvm-jitlink tools (which does not
support adding IR).


  Commit: 4789a3b0a3ea3477876442a1705b54366044a44d
      https://github.com/llvm/llvm-project/commit/4789a3b0a3ea3477876442a1705b54366044a44d
  Author: Shoaib Meenai <smeenai at fb.com>
  Date:   2025-02-14 (Fri, 14 Feb 2025)

  Changed paths:
    M mlir/include/mlir/IR/OperationSupport.h

  Log Message:
  -----------
  Revert "[mlir] Silence -Wdangling-assignment-gsl in OperationSupport.h (#126140)"

This reverts commit f6556afce0aa5a72ef42103875101d975e810474.

Buildbots are broken.


  Commit: 6818bede4428d40f1fdf4e9dfc9da669f9aa6b4d
      https://github.com/llvm/llvm-project/commit/6818bede4428d40f1fdf4e9dfc9da669f9aa6b4d
  Author: Daniel Hoekwater <hoekwater at google.com>
  Date:   2025-02-14 (Fri, 14 Feb 2025)

  Changed paths:
    M llvm/include/llvm/CodeGen/TargetFrameLowering.h
    M llvm/lib/CodeGen/CFIFixup.cpp
    M llvm/lib/CodeGen/TargetFrameLoweringImpl.cpp
    M llvm/lib/Target/AArch64/AArch64FrameLowering.cpp
    M llvm/lib/Target/AArch64/AArch64FrameLowering.h
    M llvm/test/CodeGen/AArch64/cfi-fixup-multi-section.mir

  Log Message:
  -----------
  [CFIFixup] Fixup CFI for split functions with synchronous uwtables (#125299)

- **Precommit tests for synchronous uwtable CFI fixup**
- **[CFIFixup] Fixup CFI for split functions with synchronous uwtables**

Commit
https://github.com/llvm/llvm-project/commit/6e54fccede402c9ed0e8038aa258a99c5a2773e5
disables CFI fixup for
functions with synchronous tables, breaking CFI for split functions.
Instead, we can disable *block-level* CFI fixup for functions with
synchronous tables.

Unwind tables can be:
- N/A (not present)
- Asynchronous
- Synchronous

Functions without unwind tables don't need CFI fixup (since they don't
care about CFI).

Functions with asynchronous unwind tables must be accurate for each
basic block, so full CFI fixup is necessary.

Functions with synchronous unwind tables only need to be accurate for
each function (specifically, the portion of a function in a given
section). Disabling CFI fixup entirely for functions with synchronous
uwtables may break CFI for a function split between two sections. The
portion in the first section may have valid CFI, while the portion in
the second section is missing a call frame.

Ex:
```
(.text.hot)
Foo (BB1):
  <Call frame information>
  ...
BB2:
  ...

(.text.split)
BB3:
  ...
BB4:
  <epilogue>
```

Even if `Foo` has a synchronous unwind table, we still need to insert
call frame information into `BB3` so that unwinding the call stack from
`BB3` or `BB4` works properly.


  Commit: 703bb7ab7f06501cf50b357da6f55858d89de66b
      https://github.com/llvm/llvm-project/commit/703bb7ab7f06501cf50b357da6f55858d89de66b
  Author: lntue <lntue at google.com>
  Date:   2025-02-14 (Fri, 14 Feb 2025)

  Changed paths:
    M libc/src/__support/FPUtil/double_double.h
    M libc/src/math/generic/range_reduction_double_common.h

  Log Message:
  -----------
  [libc][NFC] Remove DEFAULT_DOUBLE_SPLIT macro. (#126822)


  Commit: 0e1bf4a6a916882d604a9b14793cca1acd16110f
      https://github.com/llvm/llvm-project/commit/0e1bf4a6a916882d604a9b14793cca1acd16110f
  Author: Florian Mayer <fmayer at google.com>
  Date:   2025-02-14 (Fri, 14 Feb 2025)

  Changed paths:
    M llvm/lib/ExecutionEngine/Orc/TargetProcess/UnwindInfoManager.cpp

  Log Message:
  -----------
  [NFC] [clang] fixed unused variable warning


  Commit: c1f3d042870e4f924033442fdfe32683e5ba9bb9
      https://github.com/llvm/llvm-project/commit/c1f3d042870e4f924033442fdfe32683e5ba9bb9
  Author: Philip Reames <preames at rivosinc.com>
  Date:   2025-02-14 (Fri, 14 Feb 2025)

  Changed paths:
    M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-shuffle-rotate.ll

  Log Message:
  -----------
  [RISCV] Allow undef prefix for local repeating VLA shuffle lowering (#126097)

Implement the first TODO from #125735, and minorly cleanup code using
same style as the recently landed strict prefix case.


  Commit: 7b6293090ba93c32da673f3e81b9a8fef981ece8
      https://github.com/llvm/llvm-project/commit/7b6293090ba93c32da673f3e81b9a8fef981ece8
  Author: Justin Fargnoli <jfargnoli at nvidia.com>
  Date:   2025-02-14 (Fri, 14 Feb 2025)

  Changed paths:
    M llvm/lib/Target/NVPTX/NVPTXISelLowering.cpp
    M llvm/lib/Target/NVPTX/NVPTXISelLowering.h
    M llvm/test/CodeGen/NVPTX/addrspacecast.ll

  Log Message:
  -----------
  [NVPTX] Lower invalid `ISD::ADDRSPACECAST` (#125607)

Avoid [crashing](https://godbolt.org/z/8T58vcM68) when lowering
`addrspacecast ptr addrspace(<non-zero>) %ptr to ptr
addrspace(<non-zero>)`.


  Commit: 0cb33a64869e7b463f4a073fe72a81ded6d67c78
      https://github.com/llvm/llvm-project/commit/0cb33a64869e7b463f4a073fe72a81ded6d67c78
  Author: Philip Reames <preames at rivosinc.com>
  Date:   2025-02-14 (Fri, 14 Feb 2025)

  Changed paths:
    M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-shuffle-rotate.ll

  Log Message:
  -----------
  Revert "[RISCV] Allow undef prefix for local repeating VLA shuffle lowering (#126097)"

This reverts commit ab0006ddba3e977c44e1e761909e09603816b32c.  It appears to have rebased badly during web merge.


  Commit: 5fc303fb711f64ab2c49df3d67979f595ddf4741
      https://github.com/llvm/llvm-project/commit/5fc303fb711f64ab2c49df3d67979f595ddf4741
  Author: Arda Unal <3157490+ardaunal at users.noreply.github.com>
  Date:   2025-02-14 (Fri, 14 Feb 2025)

  Changed paths:
    M mlir/include/mlir/Dialect/SCF/IR/SCFOps.td
    M mlir/include/mlir/Interfaces/LoopLikeInterface.td
    M mlir/include/mlir/Interfaces/SideEffectInterfaces.h
    M mlir/include/mlir/Transforms/LoopInvariantCodeMotionUtils.h
    M mlir/lib/Dialect/SCF/IR/SCF.cpp
    M mlir/lib/Interfaces/SideEffectInterfaces.cpp
    M mlir/lib/Transforms/Utils/LoopInvariantCodeMotionUtils.cpp
    M mlir/test/Transforms/loop-invariant-code-motion.mlir
    M mlir/test/lib/Dialect/Test/TestOps.td

  Log Message:
  -----------
  [mlir] Enable LICM for ops with only read side effects in scf.for (#120302)

Enable ops with only read side effects in scf.for to be hoisted with a
scf.if guard that checks against the trip count

This patch takes a step towards a less conservative LICM in MLIR as
discussed in the following discourse thread:

[Speculative LICM?](https://discourse.llvm.org/t/speculative-licm/80977)

This patch in particular does the following:

1. Relaxes the original constraint for hoisting that only hoists ops
without any side effects. This patch also allows the ops with only read
side effects to be hoisted into an scf.if guard only if every op in the
loop or its nested regions is side-effect free or has only read side
effects. This scf.if guard wraps the original scf.for and checks for
**trip_count > 0**.
2. To support this, two new interface methods are added to
**LoopLikeInterface**: _wrapInTripCountCheck_ and
_unwrapTripCountCheck_. Implementation starts with wrapping the scf.for
loop into scf.if guard using _wrapInTripCountCheck_ and if there is no
op hoisted into the this guard after we are done processing the
worklist, it unwraps the guard by calling _unwrapTripCountCheck_.


  Commit: b50a536da0c5bf08176cddfbee0796fd1d8d1fac
      https://github.com/llvm/llvm-project/commit/b50a536da0c5bf08176cddfbee0796fd1d8d1fac
  Author: Kazu Hirata <kazu at google.com>
  Date:   2025-02-14 (Fri, 14 Feb 2025)

  Changed paths:
    M llvm/lib/ExecutionEngine/Orc/TargetProcess/UnwindInfoManager.cpp

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

This patch fixes:

  llvm/lib/ExecutionEngine/Orc/TargetProcess/UnwindInfoManager.cpp:53:20:
  error: unused variable 'AddFnName' [-Werror,-Wunused-variable]


  Commit: 62651e013a5c9ad616d3267caa6f86dfe314910e
      https://github.com/llvm/llvm-project/commit/62651e013a5c9ad616d3267caa6f86dfe314910e
  Author: Kazu Hirata <kazu at google.com>
  Date:   2025-02-14 (Fri, 14 Feb 2025)

  Changed paths:
    M llvm/lib/ExecutionEngine/Orc/TargetProcess/UnwindInfoManager.cpp

  Log Message:
  -----------
  [ExecutionEngine] Fix formatting (NFC)


  Commit: 88c33be6c060b5d38f481681403027a48c194d59
      https://github.com/llvm/llvm-project/commit/88c33be6c060b5d38f481681403027a48c194d59
  Author: Michael Jones <michaelrj at google.com>
  Date:   2025-02-14 (Fri, 14 Feb 2025)

  Changed paths:
    M libc/src/time/time_utils.h

  Log Message:
  -----------
  [libc] fix get_epoch constexpr error (#126818)

get_epoch calls mktime_internal which isn't constexpr. For now, just
remove the constexpr from get_epoch.


  Commit: e79019fa25fbf0bbebcaa305863937e9e6f2950b
      https://github.com/llvm/llvm-project/commit/e79019fa25fbf0bbebcaa305863937e9e6f2950b
  Author: Krzysztof Drewniak <Krzysztof.Drewniak at amd.com>
  Date:   2025-02-14 (Fri, 14 Feb 2025)

  Changed paths:
    M llvm/lib/Target/AMDGPU/AMDGPULowerBufferFatPointers.cpp
    M llvm/test/CodeGen/AMDGPU/lower-buffer-fat-pointers-pointer-ops.ll

  Log Message:
  -----------
  [LowerBufferFatPointers] Fix support for GEP T, p7, <N x T> idxs (#126126)

The lowering for GEP didn't properly support the case where the pointer
argument was being implicitly broadcast by a vector of indices. Fix
that.

---------

Co-authored-by: Matt Arsenault <arsenm2 at gmail.com>


  Commit: 32b671d2b8d8b6fcecf74bbcec19ff9965fb4835
      https://github.com/llvm/llvm-project/commit/32b671d2b8d8b6fcecf74bbcec19ff9965fb4835
  Author: Christopher Ferris <cferris1000 at users.noreply.github.com>
  Date:   2025-02-14 (Fri, 14 Feb 2025)

  Changed paths:
    M compiler-rt/lib/scudo/standalone/chunk.h
    M compiler-rt/lib/scudo/standalone/report.cpp
    M compiler-rt/lib/scudo/standalone/report.h
    M compiler-rt/lib/scudo/standalone/tests/report_test.cpp

  Log Message:
  -----------
  [scudo] Modify header corrupption error message (#126812)

Update the error message to be explicit that this is likely due to
memory corruption.

In addition, check if the chunk header is all zero, which could mean
corruption or an attempt to free a pointer after the memory has been
released to the kernel. This case results in a slightly different error
message to also indicate this could still be a double free.


  Commit: 17c7800ab7854fe855791591f304e51618c52653
      https://github.com/llvm/llvm-project/commit/17c7800ab7854fe855791591f304e51618c52653
  Author: donald chen <chenxunyu1993 at gmail.com>
  Date:   2025-02-14 (Fri, 14 Feb 2025)

  Changed paths:
    M mlir/lib/Analysis/DataFlow/IntegerRangeAnalysis.cpp
    M mlir/test/Interfaces/InferIntRangeInterface/infer-int-range-test-ops.mlir

  Log Message:
  -----------
  [mlir] [DataFlow] Fix bug in int-range-analysis (#126708)

When querying the lower bound and upper bound of loop to update the
value range of a loop iteration variable, the program point to depend on
should be the block corresponding to the iteration variable rather than
the loop operation.


  Commit: 3b9e65e3d599a9ab94732df71db042d8c9d49dd2
      https://github.com/llvm/llvm-project/commit/3b9e65e3d599a9ab94732df71db042d8c9d49dd2
  Author: lonely eagle <2020382038 at qq.com>
  Date:   2025-02-14 (Fri, 14 Feb 2025)

  Changed paths:
    M mlir/test/Conversion/VectorToLLVM/vector-to-llvm-interface.mlir

  Log Message:
  -----------
  [mlir][vector][NFC] Fix typos in tests (#126662)

[mlir][vector] Fix typos in tests (nfc)

Fix typos in `{insert|extract}_scalar_from_vec_2d_f32_dynamic_idxs_compile_time_constant` - the intention was to use `f32` rather than `i32`.


  Commit: 43282c1334f42c97d8ea86256c0e01977e6ee344
      https://github.com/llvm/llvm-project/commit/43282c1334f42c97d8ea86256c0e01977e6ee344
  Author: c8ef <c8ef at outlook.com>
  Date:   2025-02-14 (Fri, 14 Feb 2025)

  Changed paths:
    M libc/include/llvm-libc-macros/CMakeLists.txt
    M libc/include/llvm-libc-macros/endian-macros.h

  Log Message:
  -----------
  [libc] implement endian related macros (#126368)

Follow up of #125168.

This patch adds endian-related macros to `endian.h`. We utilize compiler
built-ins for byte swap functions, which are already included in our
minimal supported compiler version.


  Commit: 187bd1fcf92bddf7ccd70b2963c592afc245b794
      https://github.com/llvm/llvm-project/commit/187bd1fcf92bddf7ccd70b2963c592afc245b794
  Author: Thurston Dang <thurston at google.com>
  Date:   2025-02-14 (Fri, 14 Feb 2025)

  Changed paths:
    M llvm/lib/Transforms/Instrumentation/MemorySanitizer.cpp
    M llvm/test/Instrumentation/MemorySanitizer/AArch64/arm64-vadd.ll
    M llvm/test/Instrumentation/MemorySanitizer/AArch64/arm64-vshift.ll

  Log Message:
  -----------
  [msan] Add handlePairwiseShadowOrIntrinsic and use it to handle Arm NEON pairwise add (#126008)

This patch adds a function, handlePairwiseShadowOrIntrinsic that ORs
pairs of adjacent shadow values; this is suitable for propagating shadow
for 1- or 2-vector intrinsics that combine adjacent fields. It then
applies handlePairwiseShadowOrIntrinsic to Arm NEON pairwise add:
llvm.aarch64.neon.{addhn, raddhn} (currently incorrectly handled) and
llvm.aarch64.neon.{saddlp, uaddlp} (currently suboptimally handled).

Updates the tests from https://github.com/llvm/llvm-project/pull/125820.


  Commit: 6f13ff5ee500e735507ab2dd349dda8a28a554df
      https://github.com/llvm/llvm-project/commit/6f13ff5ee500e735507ab2dd349dda8a28a554df
  Author: Jie Fu <jiefu at tencent.com>
  Date:   2025-02-14 (Fri, 14 Feb 2025)

  Changed paths:
    M llvm/lib/Transforms/Instrumentation/MemorySanitizer.cpp

  Log Message:
  -----------
  [MemorySanitizer] Silence an unused-variable warning (NFC)

/llvm-project/llvm/lib/Transforms/Instrumentation/MemorySanitizer.cpp:2622:22:
 error: unused variable 'ReturnType' [-Werror,-Wunused-variable]
    FixedVectorType *ReturnType = cast<FixedVectorType>(I.getType());
                     ^
1 error generated.


  Commit: 7dc9f13f7ee95d958be56277ba4fb172febeb9c4
      https://github.com/llvm/llvm-project/commit/7dc9f13f7ee95d958be56277ba4fb172febeb9c4
  Author: Miguel A. Arroyo <miguel.arroyo at rockstargames.com>
  Date:   2025-02-14 (Fri, 14 Feb 2025)

  Changed paths:
    M clang/cmake/modules/AddClang.cmake

  Log Message:
  -----------
  [Clang][CMake][MSVC] Install PDBs alongside executables (#126675)

* Follows up on https://github.com/llvm/llvm-project/pull/120683
enabling PDBs for `clang`.


  Commit: 71a8894d01ac2465967222c1d8bd23ee9c6b2b26
      https://github.com/llvm/llvm-project/commit/71a8894d01ac2465967222c1d8bd23ee9c6b2b26
  Author: Luke Lau <luke at igalia.com>
  Date:   2025-02-14 (Fri, 14 Feb 2025)

  Changed paths:
    M llvm/lib/Target/RISCV/CMakeLists.txt
    M llvm/lib/Target/RISCV/RISCV.h
    M llvm/lib/Target/RISCV/RISCVISelDAGToDAG.cpp
    M llvm/lib/Target/RISCV/RISCVInstrInfoVPseudos.td
    M llvm/lib/Target/RISCV/RISCVInstrInfoVSDPatterns.td
    M llvm/lib/Target/RISCV/RISCVInstrInfoVVLPatterns.td
    M llvm/lib/Target/RISCV/RISCVInstrInfoZvk.td
    M llvm/lib/Target/RISCV/RISCVTargetMachine.cpp
    A llvm/lib/Target/RISCV/RISCVVMV0Elimination.cpp
    M llvm/lib/Target/RISCV/RISCVVectorPeephole.cpp
    M llvm/test/CodeGen/RISCV/GlobalISel/instruction-select/rvv/select.mir
    M llvm/test/CodeGen/RISCV/O0-pipeline.ll
    M llvm/test/CodeGen/RISCV/O3-pipeline.ll
    M llvm/test/CodeGen/RISCV/rvv/copyprop.mir
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-nearbyint-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/fnearbyint-sdnode.ll
    M llvm/test/CodeGen/RISCV/rvv/implicit-def-copy.ll
    M llvm/test/CodeGen/RISCV/rvv/mask-reg-alloc.mir
    M llvm/test/CodeGen/RISCV/rvv/nearbyint-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/pass-fast-math-flags-sdnode.ll
    M llvm/test/CodeGen/RISCV/rvv/rvv-peephole-vmerge-to-vmv.mir
    M llvm/test/CodeGen/RISCV/rvv/rvv-peephole-vmerge-vops-mir.ll
    M llvm/test/CodeGen/RISCV/rvv/strided-vpload-vpstore-output.ll
    M llvm/test/CodeGen/RISCV/rvv/vleff-vlseg2ff-output.ll
    A llvm/test/CodeGen/RISCV/rvv/vmv0-elimination.ll

  Log Message:
  -----------
  [RISCV] Select mask operands as virtual registers and eliminate uses of vmv0 (#125026)

This is another attempt at #88496 to keep mask operands in SSA after
instruction selection.

Previously we selected the mask operands into vmv0, a singleton register
class with exactly one register, V0.

But the register allocator doesn't really support singleton register
classes and we ran into errors like "ran out of registers during
register allocation in function".

This avoids this by introducing a pass just before register allocation
that converts any use of vmv0 to a copy to $v0, i.e. what isel currently
does today.

That way the register allocator doesn't need to deal with the singleton
register class, but we get the benefits of having the mask registers in
SSA throughout the backend:

- This allows RISCVVLOptimizer to reduce the VLs of instructions that
define mask registers
- It enables CSE and code sinking in more places
- It removes the need to peek through mask copies in RISCVISelDAGToDAG
and keep track of V0 defs in RISCVVectorPeephole

This patch initially eliminates uses of vmv0s after RISCVVectorPeephole
to keep the diff to a minimum, and a follow up patch will move it past
the other MachineInstr SSA passes.

Note that it doesn't try to remove any defs of vmv0 as we shouldn't have
any instructions that have any vmv0 outputs.

As a further follow up, we can move the elimination pass to after phi
elimination and outside of SSA, which would unblock the pre-RA scheduler
around masked pseudos. This might also help the issue that
RISCVVectorMaskDAGMutation tries to solve.


  Commit: 4e9496028943c118a03046eaed445112e976722d
      https://github.com/llvm/llvm-project/commit/4e9496028943c118a03046eaed445112e976722d
  Author: Hongtao Yu <hoy at meta.com>
  Date:   2025-02-14 (Fri, 14 Feb 2025)

  Changed paths:
    M mlir/include/mlir/Dialect/SCF/IR/SCFOps.td
    M mlir/include/mlir/Interfaces/LoopLikeInterface.td
    M mlir/include/mlir/Interfaces/SideEffectInterfaces.h
    M mlir/include/mlir/Transforms/LoopInvariantCodeMotionUtils.h
    M mlir/lib/Dialect/SCF/IR/SCF.cpp
    M mlir/lib/Interfaces/SideEffectInterfaces.cpp
    M mlir/lib/Transforms/Utils/LoopInvariantCodeMotionUtils.cpp
    M mlir/test/Transforms/loop-invariant-code-motion.mlir
    M mlir/test/lib/Dialect/Test/TestOps.td

  Log Message:
  -----------
  Revert "[mlir] Enable LICM for ops with only read side effects in scf.for" (#126840)

Reverts llvm/llvm-project#120302


  Commit: 1d0445e47f069e5bd63dc82f7b9fc50bb14cf895
      https://github.com/llvm/llvm-project/commit/1d0445e47f069e5bd63dc82f7b9fc50bb14cf895
  Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
  Date:   2025-02-14 (Fri, 14 Feb 2025)

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

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


  Commit: f8baa8e09d668d2c8600042a376ea154d48aa5f7
      https://github.com/llvm/llvm-project/commit/f8baa8e09d668d2c8600042a376ea154d48aa5f7
  Author: Jim Lin <jim at andestech.com>
  Date:   2025-02-14 (Fri, 14 Feb 2025)

  Changed paths:
    M llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
    M llvm/test/CodeGen/AArch64/align-down.ll
    M llvm/test/CodeGen/X86/align-down.ll
    M llvm/test/CodeGen/X86/not-of-dec.ll

  Log Message:
  -----------
  [DAGCombiner] Add hasOneUse checks for folding (not (add X, -1)) to (neg X) (#126667)

To get more better codegen for AArch with bic, x86 with andn and riscv
with andn.


  Commit: c2f7c871238eafa7b409485977d1aebd9b15f2e5
      https://github.com/llvm/llvm-project/commit/c2f7c871238eafa7b409485977d1aebd9b15f2e5
  Author: Abhishek Kaushik <abhishek.kaushik at intel.com>
  Date:   2025-02-14 (Fri, 14 Feb 2025)

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

  Log Message:
  -----------
  [MC] Use `std::move` to avoid copy (#126700)


  Commit: af2ab60faaf894d5e3b92eeaaec8f3e70945db76
      https://github.com/llvm/llvm-project/commit/af2ab60faaf894d5e3b92eeaaec8f3e70945db76
  Author: Kazu Hirata <kazu at google.com>
  Date:   2025-02-14 (Fri, 14 Feb 2025)

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

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

THis patch fixes:

  llvm/lib/Target/RISCV/RISCVVMV0Elimination.cpp:91:29: error: unused
  variable 'TRI' [-Werror,-Wunused-variable]


  Commit: ace01cd2a209c1cbe508522f1a9092595cc16db3
      https://github.com/llvm/llvm-project/commit/ace01cd2a209c1cbe508522f1a9092595cc16db3
  Author: Ethan Luis McDonough <ethanluismcdonough at gmail.com>
  Date:   2025-02-14 (Fri, 14 Feb 2025)

  Changed paths:
    M compiler-rt/lib/profile/InstrProfiling.h
    M compiler-rt/lib/profile/InstrProfilingFile.c
    M offload/include/Shared/Environment.h
    M offload/plugins-nextgen/common/include/GlobalHandler.h
    M offload/plugins-nextgen/common/src/GlobalHandler.cpp
    M offload/plugins-nextgen/common/src/PluginInterface.cpp
    M offload/test/lit.cfg
    M offload/test/lit.site.cfg.in
    M offload/test/offloading/pgo1.c
    M openmp/docs/design/Runtimes.rst

  Log Message:
  -----------
   [PGO][Offload] Profile profraw generation for GPU instrumentation #76587  (#93365)

This pull request is the second part of an ongoing effort to extends PGO
instrumentation to GPU device code and depends on #76587. This PR makes
the following changes:

- Introduces `__llvm_write_custom_profile` to PGO compiler-rt library.
This is an external function that can be used to write profiles with
custom data to target-specific files.
- Adds `__llvm_write_custom_profile` as weak symbol to libomptarget so
that it can write the collected data to a profraw file.
- Adds `PGODump` debug flag and only displays dump when the
aforementioned flag is set


  Commit: c845994e8d502f6e78fc4d52ae2a2589fda60018
      https://github.com/llvm/llvm-project/commit/c845994e8d502f6e78fc4d52ae2a2589fda60018
  Author: Vikram Hegde <115221833+vikramRH at users.noreply.github.com>
  Date:   2025-02-14 (Fri, 14 Feb 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/GCNRewritePartialRegUses.cpp
    A llvm/lib/Target/AMDGPU/GCNRewritePartialRegUses.h
    M llvm/test/CodeGen/AMDGPU/rewrite-partial-reg-uses-dbg.mir
    M llvm/test/CodeGen/AMDGPU/rewrite-partial-reg-uses-gen.mir
    M llvm/test/CodeGen/AMDGPU/rewrite-partial-reg-uses.mir

  Log Message:
  -----------
  [AMDGPU][NewPM] Port "GCNRewritePartialRegUses" pass to NPM (#126024)


  Commit: acce8e30da39ffcd67f8c8f7db2f249b302572e0
      https://github.com/llvm/llvm-project/commit/acce8e30da39ffcd67f8c8f7db2f249b302572e0
  Author: Sam Elliott <quic_aelliott at quicinc.com>
  Date:   2025-02-14 (Fri, 14 Feb 2025)

  Changed paths:
    M llvm/include/llvm/MC/MCParser/MCTargetAsmParser.h

  Log Message:
  -----------
  [AsmParser] Remove OperandMatchResultTy (#126650)

This has been deprecated since a479be0f39a3301e9ca634d37cf6454b6d3865c6
from September 2023, before LLVM 18. Surely now enough release cycles
have happened that it can be removed upstream.


  Commit: c94993b97cff48f94a6d96946516ef87093ecbf5
      https://github.com/llvm/llvm-project/commit/c94993b97cff48f94a6d96946516ef87093ecbf5
  Author: Haohai Wen <haohai.wen at intel.com>
  Date:   2025-02-14 (Fri, 14 Feb 2025)

  Changed paths:
    M llvm/include/llvm/MC/MCContext.h
    M llvm/lib/CodeGen/TargetLoweringObjectFileImpl.cpp
    M llvm/lib/MC/MCContext.cpp
    M llvm/lib/MC/MCObjectFileInfo.cpp
    M llvm/lib/MC/MCParser/WasmAsmParser.cpp
    M llvm/lib/Target/WebAssembly/AsmParser/WebAssemblyAsmParser.cpp

  Log Message:
  -----------
  [MC] Replace MCContext::GenericSectionID with MCSection::NonUniqueID (#126202)

They have same semantics. NonUniqueID is more friendly for isUnique
implementation in MCSectionELF.

History: 97837b7 added support for unique IDs in sections and added
GenericSectionID. Later, 1dc16c7 added NonUniqueID.


  Commit: 32896e6bbf0dc9409b3f263941f480fd2e98ba8f
      https://github.com/llvm/llvm-project/commit/32896e6bbf0dc9409b3f263941f480fd2e98ba8f
  Author: Ethan Luis McDonough <ethanluismcdonough at gmail.com>
  Date:   2025-02-14 (Fri, 14 Feb 2025)

  Changed paths:
    M offload/test/offloading/pgo1.c

  Log Message:
  -----------
  [PGO][Offload] Fix pgo1.c (#126864)

pgo1.c had outdated test checks


  Commit: 2002c6759e579bce6304547b28d7a38dc26995a1
      https://github.com/llvm/llvm-project/commit/2002c6759e579bce6304547b28d7a38dc26995a1
  Author: Matt Arsenault <Matthew.Arsenault at amd.com>
  Date:   2025-02-14 (Fri, 14 Feb 2025)

  Changed paths:
    M llvm/lib/Target/AMDGPU/SIRegisterInfo.td

  Log Message:
  -----------
  AMDGPU: Use range to implement getSubRegs (#126861)

Fixes #126781


  Commit: 61ffa9df995aa52b440230ca6c3c3590dc10df64
      https://github.com/llvm/llvm-project/commit/61ffa9df995aa52b440230ca6c3c3590dc10df64
  Author: Vitaly Buka <vitalybuka at google.com>
  Date:   2025-02-14 (Fri, 14 Feb 2025)

  Changed paths:
    M llvm/lib/Passes/PassBuilderPipelines.cpp

  Log Message:
  -----------
  [NFC][Pipelines] Extract buildCoroConditionalWrapper (#126860)

Helper for #126168.

`Phase` will be used in followup patches.


  Commit: fa357244343a437eeb88039678c6268357150616
      https://github.com/llvm/llvm-project/commit/fa357244343a437eeb88039678c6268357150616
  Author: Owen Pan <owenpiano at gmail.com>
  Date:   2025-02-14 (Fri, 14 Feb 2025)

  Changed paths:
    M clang/unittests/Format/TokenAnnotatorTest.cpp

  Log Message:
  -----------
  [clang-format][NFC] Fix test case format


  Commit: fdd2075981cd461caf88367ff56dcab6e6bbd329
      https://github.com/llvm/llvm-project/commit/fdd2075981cd461caf88367ff56dcab6e6bbd329
  Author: Craig Topper <craig.topper at sifive.com>
  Date:   2025-02-14 (Fri, 14 Feb 2025)

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

  Log Message:
  -----------
  [SelectionDAGBuilder] Remove NodeMap updates from getValueImpl. NFC (#126849)

Both callers already put the result in NodeMap immediately after the
call.


  Commit: 34fbce4a5902752d8f00a2a49e96c9060e2a7540
      https://github.com/llvm/llvm-project/commit/34fbce4a5902752d8f00a2a49e96c9060e2a7540
  Author: Amit Kumar Pandey <137622562+ampandey-1995 at users.noreply.github.com>
  Date:   2025-02-14 (Fri, 14 Feb 2025)

  Changed paths:
    M clang/lib/Driver/ToolChains/AMDGPU.cpp
    M clang/lib/Driver/ToolChains/AMDGPUOpenMP.cpp
    M clang/lib/Driver/ToolChains/ROCm.h
    M clang/test/Driver/amdgpu-openmp-sanitize-options.c
    M clang/test/Driver/hip-sanitize-options.hip

  Log Message:
  -----------
  Reapply "[Driver][ROCm][OpenMP] Fix default ockl linking for OpenMP."… (#126671)

- This reverts commit
https://github.com/llvm/llvm-project/commit/0c6c4a99936d4d39015c8d2332483f8db78f69cf.
  - Add '-mcode-object-version=5' as to explicitly use code object
    version 5 to match with 'FAIL' diagnostic.
  - Add Requires directive to support lit test run on platforms
    registered with x86_64 and amdgpu.


  Commit: caddbe1b870da871d31ac7e4798fbd5e558734f3
      https://github.com/llvm/llvm-project/commit/caddbe1b870da871d31ac7e4798fbd5e558734f3
  Author: Adam Siemieniuk <adam.siemieniuk at intel.com>
  Date:   2025-02-14 (Fri, 14 Feb 2025)

  Changed paths:
    M mlir/include/mlir/Dialect/DLTI/DLTI.h
    M mlir/lib/Dialect/DLTI/DLTI.cpp

  Log Message:
  -----------
  [mlir][dlti] Query by strings (#126716)

Adds DLTI utility to query using strings directly as keys.


  Commit: 99357ccdd21366c1ef284b541b4c48bbbd20676d
      https://github.com/llvm/llvm-project/commit/99357ccdd21366c1ef284b541b4c48bbbd20676d
  Author: Alex MacLean <amaclean at nvidia.com>
  Date:   2025-02-14 (Fri, 14 Feb 2025)

  Changed paths:
    M llvm/lib/Target/NVPTX/NVPTXAsmPrinter.cpp
    M llvm/lib/Target/NVPTX/NVPTXAsmPrinter.h
    M llvm/lib/Target/NVPTX/NVPTXRegisterInfo.cpp
    M llvm/lib/Target/NVPTX/NVPTXRegisterInfo.h

  Log Message:
  -----------
  [NVPTX] Cleanup/Refactoring in NVPTX AsmPrinter and RegisterInfo (NFC) (#126800)


  Commit: 7d39486cebaf549cc3f58c6b6a6b3184bea9c7ef
      https://github.com/llvm/llvm-project/commit/7d39486cebaf549cc3f58c6b6a6b3184bea9c7ef
  Author: Nikita Popov <npopov at redhat.com>
  Date:   2025-02-14 (Fri, 14 Feb 2025)

  Changed paths:
    M bolt/tools/driver/llvm-bolt.cpp

  Log Message:
  -----------
  [BOLT] Use getMainExecutable() (#126698)

Use LLVM's getMainExecutable() helper instead of rolling our own. This
will result in standard behavior across platforms, such as making sure
that symlinks are always resolved.


  Commit: 416c477032981bd8bfc91523a10c1c71e881cfe2
      https://github.com/llvm/llvm-project/commit/416c477032981bd8bfc91523a10c1c71e881cfe2
  Author: Louis Dionne <ldionne.2 at gmail.com>
  Date:   2025-02-14 (Fri, 14 Feb 2025)

  Changed paths:
    M libcxx/test/std/algorithms/alg.nonmodifying/alg.find/find.pass.cpp
    M libcxx/test/std/algorithms/alg.nonmodifying/alg.find/ranges.find.pass.cpp
    M libcxx/test/std/algorithms/alg.nonmodifying/alg.foreach/for_each.pass.cpp

  Log Message:
  -----------
  [libc++] Remove obsolete guards for join_view being experimental (#126697)

These TODOs were forgotten when join_view was made non-experimental. By
removing these checks, we slightly increase the coverage of the test
suite.


  Commit: 9d7470f1453e22a1845bca77de0eeac80f4ab98d
      https://github.com/llvm/llvm-project/commit/9d7470f1453e22a1845bca77de0eeac80f4ab98d
  Author: jeanPerier <jperier at nvidia.com>
  Date:   2025-02-14 (Fri, 14 Feb 2025)

  Changed paths:
    M flang/lib/Optimizer/CodeGen/CodeGen.cpp
    M flang/lib/Optimizer/Dialect/FIROps.cpp
    M flang/test/Fir/convert-to-llvm.fir
    M flang/test/Fir/fir-ops.fir

  Log Message:
  -----------
  [flang][FIR] handle argument attributes in fir.call (#126711)

Add pretty printer/parser for fir.call argument/result attributes and
propagate them to llvm.call.

This will allow implementing the TODO about ABI relevant argument
attribute in indirect calls.


  Commit: e38b1a3308f095ffd892be1f6861b865456ae9c8
      https://github.com/llvm/llvm-project/commit/e38b1a3308f095ffd892be1f6861b865456ae9c8
  Author: Fraser Cormack <fraser at codeplay.com>
  Date:   2025-02-14 (Fri, 14 Feb 2025)

  Changed paths:
    M libclc/CMakeLists.txt
    A libclc/clc/include/clc/clc_convert.h
    A libclc/clc/include/clc/float/definitions.h
    M libclc/generic/include/clc/convert.h
    R libclc/generic/include/clc/float/definitions.h
    M libclc/generic/lib/gen_convert.py

  Log Message:
  -----------
  [libclc] Move conversion builtins to the CLC library (#124727)

This commit moves the implementations of conversion builtins to the CLC
library. It keeps the dichotomy of regular vs. clspv implementations of
the conversions. However, for the sake of a consistent interface all CLC
conversion routines are built, even the ones that clspv opts out of in
the user-facing OpenCL layer.

It simultaneously updates the python script to use f-strings for
formatting.


  Commit: df6dc6fd5892a42e74e3717023d89288c89ac777
      https://github.com/llvm/llvm-project/commit/df6dc6fd5892a42e74e3717023d89288c89ac777
  Author: Timm Baeder <tbaeder at redhat.com>
  Date:   2025-02-14 (Fri, 14 Feb 2025)

  Changed paths:
    M clang/lib/AST/ByteCode/InterpBuiltin.cpp
    M clang/test/AST/ByteCode/new-delete.cpp

  Log Message:
  -----------
  [clang][bytecode] Fix operator new source expression (#126870)

... for composite element types. Looks like I forgot this in
e6030d389571b3f1b0f0c5a35b7fa45937ed0f6c


  Commit: 03ce7ed332bc2617b75bb270c3b1625b3c124460
      https://github.com/llvm/llvm-project/commit/03ce7ed332bc2617b75bb270c3b1625b3c124460
  Author: Simon Pilgrim <llvm-dev at redking.me.uk>
  Date:   2025-02-14 (Fri, 14 Feb 2025)

  Changed paths:
    M llvm/lib/Target/X86/X86ISelLowering.cpp
    M llvm/test/CodeGen/X86/any_extend_vector_inreg_of_broadcast_from_memory.ll
    M llvm/test/CodeGen/X86/zero_extend_vector_inreg_of_broadcast_from_memory.ll

  Log Message:
  -----------
  [X86] combineEXTRACT_SUBVECTOR - fold extract_subvector(subv_broadcast_load(ptr),0) -> load(ptr) (#126523)

This is typically handled by SimplifyDemandedVectorElts, but this will
fail when there are multiple uses of the subv_broadcast_load node, but
if there's just one use of the load result (and the rest are uses of the
memory chain), we can still replace with a load and update the chain
accordingly.

Noticed on #126517


  Commit: c2ac219772f650d65a91e552acaf29e94fd7b8a0
      https://github.com/llvm/llvm-project/commit/c2ac219772f650d65a91e552acaf29e94fd7b8a0
  Author: Nikita Popov <npopov at redhat.com>
  Date:   2025-02-14 (Fri, 14 Feb 2025)

  Changed paths:
    M flang/test/Fir/box.fir
    M flang/test/Fir/rebox-global.fir
    M flang/test/Fir/type-descriptor.fir
    M mlir/lib/Target/LLVMIR/ModuleTranslation.cpp
    M mlir/test/Target/LLVMIR/llvmir.mlir
    M mlir/test/Target/LLVMIR/omptarget-declare-target-llvm-host.mlir

  Log Message:
  -----------
  [MLIR][LLVMIR] Use TargetFolder when creating globals (#126745)

The LLVM dialect lowers globals using IRBuilder, relying on it creating
constant expressions where possible. As we remove support for more
constant expressions (per
https://discourse.llvm.org/t/rfc-remove-most-constant-expressions/63179),
this can cause issues for cases where the constant expression is no
longer supported, and the operation cannot be constant folded without
DataLayout being available. In particular, I ran into this issue with
flang and the removal of mul constant expressions.

Address this by using TargetFolder when creating globals, which will
perform DL-aware constant folding. I think it would make sense to also
do this in general, but I'm starting with globals where not doing this
can result in translation failures.

Ideally, globals with these problematic expressions would never be
generated in the first place, but there has been little movement on
fixing this (https://github.com/llvm/llvm-project/issues/96047).


  Commit: 1a1a4e53a227ff1047dc444654a1fce832192cc0
      https://github.com/llvm/llvm-project/commit/1a1a4e53a227ff1047dc444654a1fce832192cc0
  Author: Yeaseen <yeaseen.arafat96 at gmail.com>
  Date:   2025-02-14 (Fri, 14 Feb 2025)

  Changed paths:
    M llvm/test/CodeGen/X86/coalescer-subreg.ll
    M llvm/test/CodeGen/X86/code_placement_eh.ll
    M llvm/test/CodeGen/X86/codegen-prepare-cast.ll
    M llvm/test/CodeGen/X86/discontiguous-loops.ll
    M llvm/test/CodeGen/X86/early-ifcvt-crash.ll
    M llvm/test/CodeGen/X86/fast-isel-stackcheck.ll
    M llvm/test/CodeGen/X86/fp-stack-O0-crash.ll
    M llvm/test/CodeGen/X86/fp-stack.ll
    M llvm/test/CodeGen/X86/implicit-null-chk-reg-rewrite.mir
    M llvm/test/CodeGen/X86/insert-positions.ll
    M llvm/test/CodeGen/X86/legalize-sub-zero-2.ll
    M llvm/test/CodeGen/X86/licm-symbol.ll
    M llvm/test/CodeGen/X86/liveness-local-regalloc.ll
    M llvm/test/CodeGen/X86/lsr-overflow.ll
    M llvm/test/CodeGen/XCore/2010-02-25-LSR-Crash.ll

  Log Message:
  -----------
  [llvm] Remove `br i1 undef` in some `llvm/test/CodeGen` tests (#126811)

This PR replaces some instances of `br i1 undef` with function argument
value in several tests under `llvm/test/CodeGen/` directory.


  Commit: 77f47bf7a0ac4ae965e689f652be677666524485
      https://github.com/llvm/llvm-project/commit/77f47bf7a0ac4ae965e689f652be677666524485
  Author: Nikita Popov <npopov at redhat.com>
  Date:   2025-02-14 (Fri, 14 Feb 2025)

  Changed paths:
    M mlir/lib/Target/LLVMIR/CMakeLists.txt

  Log Message:
  -----------
  [mlir] Add missing dependency

After #126745, we should also depend on the Analysis component.


  Commit: 88ba89b1ca064ae5a159e266325dbe005b5b6504
      https://github.com/llvm/llvm-project/commit/88ba89b1ca064ae5a159e266325dbe005b5b6504
  Author: Pavel Labath <pavel at labath.sk>
  Date:   2025-02-14 (Fri, 14 Feb 2025)

  Changed paths:
    M lldb/source/Commands/CommandObjectDisassemble.cpp
    M lldb/source/Commands/CommandObjectDisassemble.h
    M lldb/source/Symbol/SymbolContext.cpp
    M lldb/test/Shell/Commands/command-disassemble.s

  Log Message:
  -----------
  [lldb] Support disassembling discontinuous functions (#126505)

The command already supported disassembling multiple ranges, among other
reasons because inline functions can be discontinuous. The main thing
that was missing was being able to retrieve the function ranges from the
top level function object.

The output of the command for the case where the function entry point is
not its lowest address is somewhat confusing (we're showing negative
offsets), but it is correct.


  Commit: 30c151f68bdb19f8bdf3fb08a32e98ba77161fa3
      https://github.com/llvm/llvm-project/commit/30c151f68bdb19f8bdf3fb08a32e98ba77161fa3
  Author: Kareem Ergawy <kareem.ergawy at amd.com>
  Date:   2025-02-14 (Fri, 14 Feb 2025)

  Changed paths:
    M flang/include/flang/Optimizer/Dialect/FIRType.h
    M flang/lib/Lower/OpenMP/PrivateReductionUtils.cpp
    M flang/lib/Optimizer/Dialect/FIRType.cpp
    M flang/test/Lower/OpenMP/parallel-private-clause-str.f90

  Log Message:
  -----------
  [flang][OpenMP] Handle fixed length `charater`s in delayed privatization (#126704)

We currently handle sequences of fixed-length arrays properly by **not**
emitting length parameters for `embox` ops inside the `omp.private` op.
However, we do not handle the scalar case. This PR extends
`getLengthParameters` defined in `PrivateReductionUtils.cpp` to handle
such cases.

Fixes issue reported in #125732.


  Commit: de9bd0f339c98ad48c82fb894d4fccaea6d36272
      https://github.com/llvm/llvm-project/commit/de9bd0f339c98ad48c82fb894d4fccaea6d36272
  Author: Simon Pilgrim <llvm-dev at redking.me.uk>
  Date:   2025-02-14 (Fri, 14 Feb 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/avx512fp16-mov.ll
    M llvm/test/CodeGen/X86/copy-low-subvec-elt-to-high-subvec-elt.ll
    M llvm/test/CodeGen/X86/expand-vp-cast-intrinsics.ll
    M llvm/test/CodeGen/X86/matrix-multiply.ll
    M llvm/test/CodeGen/X86/pr51615.ll
    M llvm/test/CodeGen/X86/vector-half-conversions.ll
    M llvm/test/CodeGen/X86/vector-shuffle-128-v4.ll
    M llvm/test/CodeGen/X86/vector-shuffle-256-v16.ll
    M llvm/test/CodeGen/X86/zero_extend_vector_inreg_of_broadcast.ll
    M llvm/test/CodeGen/X86/zero_extend_vector_inreg_of_broadcast_from_memory.ll

  Log Message:
  -----------
  [X86] lowerShuffleAsBroadcast - use isShuffleEquivalent to search for a hidden broadcast pattern (#126517)

lowerShuffleAsBroadcast only matches a known-splat shuffle mask, but we
can use the isShuffleEquivalent/IsElementEquivalent helpers to attempt
to find a hidden broadcast-able shuffle pattern.

This requires an extension to IsElementEquivalent to peek through
bitcasts to match against wider shuffles - these typically appear during
shuffle lowering where we've widened a preceding shuffle, often to a
vector concatenation etc.

Amazingly I hit this while yak shaving #126033 .......


  Commit: d2693bf445b381447c1479ba9252378a31607eea
      https://github.com/llvm/llvm-project/commit/d2693bf445b381447c1479ba9252378a31607eea
  Author: Mikhail Goncharov <goncharov.mikhail at gmail.com>
  Date:   2025-02-14 (Fri, 14 Feb 2025)

  Changed paths:
    M llvm/lib/Target/NVPTX/NVPTXAsmPrinter.cpp
    M llvm/lib/Target/NVPTX/NVPTXAsmPrinter.h
    M llvm/lib/Target/NVPTX/NVPTXRegisterInfo.cpp
    M llvm/lib/Target/NVPTX/NVPTXRegisterInfo.h

  Log Message:
  -----------
  Revert "[NVPTX] Cleanup/Refactoring in NVPTX AsmPrinter and RegisterInfo (NFC) (#126800)"

This reverts commit 215fa9e175c6ef9e2fa92f77fbd4015cd4c99a67.

getNameOrAsOperand is only defined under DEBUG


  Commit: 8333430a0e0706db8b871d0c64f363177ab8914b
      https://github.com/llvm/llvm-project/commit/8333430a0e0706db8b871d0c64f363177ab8914b
  Author: Mikhail Goncharov <goncharov.mikhail at gmail.com>
  Date:   2025-02-14 (Fri, 14 Feb 2025)

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

  Log Message:
  -----------
  [bazel] port c03325cead2244ef0a89bb1cf365bddf16021daf


  Commit: 19ef48f69b43b805f0f2a89b3cfc3156ba337ad9
      https://github.com/llvm/llvm-project/commit/19ef48f69b43b805f0f2a89b3cfc3156ba337ad9
  Author: Donát Nagy <donat.nagy at ericsson.com>
  Date:   2025-02-14 (Fri, 14 Feb 2025)

  Changed paths:
    M clang/include/clang/StaticAnalyzer/Core/AnalyzerOptions.def
    M clang/lib/StaticAnalyzer/Core/ExprEngine.cpp
    M clang/test/Analysis/analyzer-config.c
    M clang/test/Analysis/loop-assumptions.c

  Log Message:
  -----------
  [analyzer] Add option assume-at-least-one-iteration (#125494)

This commit adds the new analyzer option
`assume-at-least-one-iteration`, which is `false` by default, but can be
set to `true` to ensure that the analyzer always assumes at least one
iteration in loops.

In some situations this "loop is skipped" execution path is an important
corner case that may evade the notice of the developer and hide
significant bugs -- however, there are also many situations where it's
guaranteed that at least one iteration will happen (e.g. some data
structure is always nonempty), but the analyzer cannot realize this and
will produce false positives when it assumes that the loop is skipped.

This commit refactors some logic around the implementation of the new
feature, but the only functional change is introducing the new analyzer
option. If the new option is left in its default state (false), then the
analysis is functionally equivalent to an analysis done with a version
before this commit.


  Commit: 51728f6f0e9e306be8b938c4d2c566cbeef05995
      https://github.com/llvm/llvm-project/commit/51728f6f0e9e306be8b938c4d2c566cbeef05995
  Author: David Green <david.green at arm.com>
  Date:   2025-02-14 (Fri, 14 Feb 2025)

  Changed paths:
    M llvm/lib/CodeGen/SelectionDAG/LegalizeTypes.h
    M llvm/lib/CodeGen/SelectionDAG/LegalizeVectorTypes.cpp
    M llvm/test/CodeGen/AArch64/fptosi-sat-vector.ll
    M llvm/test/CodeGen/AArch64/fptoui-sat-vector.ll

  Log Message:
  -----------
  [AArch64][DAG] Allow fptos/ui.sat to scalarized. (#126799)

We we previously running into problems with fp128 types and certain
integer sizes.

Fixes an issue reported on #124984


  Commit: 96bf8ebb867a124b84790227ad6edd6e455808f5
      https://github.com/llvm/llvm-project/commit/96bf8ebb867a124b84790227ad6edd6e455808f5
  Author: Ivan Butygin <ivan.butygin at gmail.com>
  Date:   2025-02-14 (Fri, 14 Feb 2025)

  Changed paths:
    M mlir/lib/Conversion/ArithToLLVM/ArithToLLVM.cpp
    M mlir/lib/Conversion/LLVMCommon/VectorPattern.cpp
    M mlir/test/Conversion/ArithToLLVM/arith-to-llvm.mlir

  Log Message:
  -----------
  [mlir] ArithToLLVM: fix memref bitcast lowering (#125148)

`arith.bitcast` is allowed on memrefs and such code can actually be
generated by IREE `ConvertBf16ArithToF32Pass`.
`LLVM::detail::vectorOneToOneRewrite` doesn't properly check its types
and will generate bitcast between structs which is illegal.

With the opaque pointers this is a no-op operation for memref so we can
just add type check in `LLVM::detail::vectorOneToOneRewrite` and add a
separate pattern which removes op if converted types are the same.


  Commit: 04a4dfb61170d44155e6dffc3fc19fa4ebcb85e4
      https://github.com/llvm/llvm-project/commit/04a4dfb61170d44155e6dffc3fc19fa4ebcb85e4
  Author: Paul Walker <paul.walker at arm.com>
  Date:   2025-02-14 (Fri, 14 Feb 2025)

  Changed paths:
    M llvm/docs/LangRef.rst

  Log Message:
  -----------
  [NFC][LLVM][LangRef] Improve documentation for partial.reduce.add. (#126728)


  Commit: d5a4429b568860160ee68b38ec4628bb0a344734
      https://github.com/llvm/llvm-project/commit/d5a4429b568860160ee68b38ec4628bb0a344734
  Author: Ivan Butygin <ivan.butygin at gmail.com>
  Date:   2025-02-14 (Fri, 14 Feb 2025)

  Changed paths:
    M mlir/lib/Conversion/ArithToLLVM/ArithToLLVM.cpp
    M mlir/lib/Conversion/LLVMCommon/VectorPattern.cpp
    M mlir/test/Conversion/ArithToLLVM/arith-to-llvm.mlir

  Log Message:
  -----------
  Revert "[mlir] ArithToLLVM: fix memref bitcast lowering" (#126895)

Reverts llvm/llvm-project#125148

bot failures


  Commit: a74c73c9ab60fcfe3afe938e67630015ad71e007
      https://github.com/llvm/llvm-project/commit/a74c73c9ab60fcfe3afe938e67630015ad71e007
  Author: Frank Schlimbach <frank.schlimbach at intel.com>
  Date:   2025-02-14 (Fri, 14 Feb 2025)

  Changed paths:
    A mlir/include/mlir/Dialect/Arith/Transforms/ShardingInterfaceImpl.h
    M mlir/include/mlir/Dialect/Mesh/IR/MeshOps.h
    M mlir/include/mlir/Dialect/Mesh/IR/MeshOps.td
    M mlir/include/mlir/Dialect/Mesh/Interfaces/ShardingInterface.h
    M mlir/include/mlir/InitAllDialects.h
    M mlir/lib/Dialect/Arith/Transforms/CMakeLists.txt
    A mlir/lib/Dialect/Arith/Transforms/ShardingInterfaceImpl.cpp
    M mlir/lib/Dialect/Mesh/IR/MeshOps.cpp
    M mlir/lib/Dialect/Mesh/Interfaces/ShardingInterface.cpp
    M mlir/lib/Dialect/Mesh/Transforms/ShardingPropagation.cpp
    M mlir/lib/Dialect/Mesh/Transforms/Spmdization.cpp
    M mlir/lib/Dialect/Tensor/Extensions/MeshShardingExtensions.cpp
    A mlir/test/Dialect/Arith/mesh-spmdize.mlir
    A mlir/test/Dialect/Arith/sharding-propagation.mlir
    M mlir/test/Dialect/Mesh/canonicalization.mlir
    M mlir/test/Dialect/Mesh/ops.mlir
    M mlir/test/Dialect/Mesh/spmdization.mlir

  Log Message:
  -----------
  [MLIR][mesh] Mesh fixes (#124724)

A collection of fixes to the mesh dialect
- allow constants in sharding propagation/spmdization
- fixes to tensor replication (e.g. 0d tensors)
- improved canonicalization
- sharding propagation incorrectly generated too many ShardOps
New operation `mesh.GetShardOp` enables exchanging sharding information
(like on function boundaries)


  Commit: 3e3e7a0d76e6b286a3e6f77f71b7ae263c4bf870
      https://github.com/llvm/llvm-project/commit/3e3e7a0d76e6b286a3e6f77f71b7ae263c4bf870
  Author: Jonathan Thackray <jonathan.thackray at arm.com>
  Date:   2025-02-14 (Fri, 14 Feb 2025)

  Changed paths:
    A llvm/test/CodeGen/AArch64/Atomics/aarch64-atomicrmw-lsfe.ll
    A llvm/test/CodeGen/AArch64/Atomics/aarch64-atomicrmw-v8a_fp.ll
    A llvm/test/CodeGen/AArch64/Atomics/aarch64_be-atomicrmw-lsfe.ll
    A llvm/test/CodeGen/AArch64/Atomics/aarch64_be-atomicrmw-v8a_fp.ll
    M llvm/test/CodeGen/AArch64/Atomics/generate-tests.py

  Log Message:
  -----------
  [AArch64] Pre-commit tests for #125686 (NFC) (#126643)

Update the `generate-tests.py` script to create new tests for `atomicrmw
{fadd,fmin,fmax}` and test these with `half`, `float`, `bfloat` and
`double`.

Generate fp auto-tests to check both with and without `+lsfe`, so that when
#125686 is merged, `+lsfe` will use a single atomic floating-point
instruction.


  Commit: 05c3ab955aefca3be8c05dfba6fb12a66d2bf0c9
      https://github.com/llvm/llvm-project/commit/05c3ab955aefca3be8c05dfba6fb12a66d2bf0c9
  Author: Paul Walker <paul.walker at arm.com>
  Date:   2025-02-14 (Fri, 14 Feb 2025)

  Changed paths:
    M llvm/docs/LangRef.rst

  Log Message:
  -----------
  [NFC][LLVM][LangRef] Fix typos within partial.reduce.add documentation.


  Commit: 29ba7587a74589c86cad23c5913ef12fa46eaac6
      https://github.com/llvm/llvm-project/commit/29ba7587a74589c86cad23c5913ef12fa46eaac6
  Author: Simon Pilgrim <llvm-dev at redking.me.uk>
  Date:   2025-02-14 (Fri, 14 Feb 2025)

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

  Log Message:
  -----------
  [X86] canonicalizeShuffleWithOp - don't bother trying to move shuffles across binops to fold the load. (#126894)

Its not currently used, but is likely to just introduce additional shuffles, resulting in higher Port5 pressure etc. in future patches.


  Commit: 0a1f947f39bd888b5521f1b0df2cf4ba9c1bc60f
      https://github.com/llvm/llvm-project/commit/0a1f947f39bd888b5521f1b0df2cf4ba9c1bc60f
  Author: Yingwei Zheng <dtcxzyw2333 at gmail.com>
  Date:   2025-02-14 (Fri, 14 Feb 2025)

  Changed paths:
    M llvm/lib/Analysis/ValueTracking.cpp
    M llvm/test/Analysis/BasicAA/fallback-mayalias.ll
    M llvm/test/Transforms/InstCombine/icmp-dom.ll

  Log Message:
  -----------
  [ValueTracking] Infer NonEqual from dominating conditions/assumptions (#117442)

This patch adds context-sensitive analysis support for
`isKnownNonEqual`. It is required for
https://github.com/llvm/llvm-project/issues/117436.


  Commit: 5a77f151de7d998f80dfa85375e3e97361897a31
      https://github.com/llvm/llvm-project/commit/5a77f151de7d998f80dfa85375e3e97361897a31
  Author: Nikolas Klauser <nikolasklauser at berlin.de>
  Date:   2025-02-14 (Fri, 14 Feb 2025)

  Changed paths:
    M libcxx/include/__config

  Log Message:
  -----------
  [libc++] Remove conditional for attributes that are always available (#126879)

These attributes are available in all supported compilers, so the
`#else` case of the conditional is dead code.


  Commit: 30cb95eabc92a247156ea5a33b97a805c8108644
      https://github.com/llvm/llvm-project/commit/30cb95eabc92a247156ea5a33b97a805c8108644
  Author: Simon Pilgrim <llvm-dev at redking.me.uk>
  Date:   2025-02-14 (Fri, 14 Feb 2025)

  Changed paths:
    M llvm/lib/Target/X86/X86ISelLowering.cpp
    M llvm/test/CodeGen/X86/any_extend_vector_inreg_of_broadcast_from_memory.ll
    M llvm/test/CodeGen/X86/vector-interleaved-load-i32-stride-6.ll
    M llvm/test/CodeGen/X86/vector-shuffle-combining-avx.ll
    M llvm/test/CodeGen/X86/vselect-avx.ll
    M llvm/test/CodeGen/X86/zero_extend_vector_inreg_of_broadcast_from_memory.ll

  Log Message:
  -----------
  [X86] isShuffleFoldableLoad - only check that the SDValue has one use (#126900)

We don't need the entire load node to have oneuse, just the loaded value - prevents load chains from interfering with shuffle commutation


  Commit: 1fa2e1e73152ad7021d8121e22242ab0f1b570ab
      https://github.com/llvm/llvm-project/commit/1fa2e1e73152ad7021d8121e22242ab0f1b570ab
  Author: Takuto Ikuta <tikuta at google.com>
  Date:   2025-02-14 (Fri, 14 Feb 2025)

  Changed paths:
    M libcxxabi/src/cxa_default_handlers.cpp

  Log Message:
  -----------
  [libc++abi] Add a missing include for abort() (#126865)

This is to fix a build error when we use Clang modules in Chromium.


  Commit: 286645db31f4625114870de1e086ebc0b8247faf
      https://github.com/llvm/llvm-project/commit/286645db31f4625114870de1e086ebc0b8247faf
  Author: Akshat Oke <Akshat.Oke at amd.com>
  Date:   2025-02-14 (Fri, 14 Feb 2025)

  Changed paths:
    M llvm/include/llvm/CodeGen/MachineScheduler.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/MachineScheduler.cpp
    M llvm/lib/CodeGen/RegAllocBasic.cpp
    M llvm/lib/CodeGen/RegAllocGreedy.cpp
    M llvm/lib/Passes/PassBuilder.cpp
    M llvm/lib/Target/AMDGPU/AMDGPUTargetMachine.cpp
    M llvm/test/CodeGen/AArch64/a55-fuse-address.mir
    M llvm/test/CodeGen/AArch64/ampere1-sched-add.mir
    M llvm/test/CodeGen/AArch64/cluster-frame-index.mir
    M llvm/test/CodeGen/AArch64/dump-reserved-cycles.mir
    M llvm/test/CodeGen/AArch64/dump-schedule-trace.mir
    M llvm/test/CodeGen/AArch64/force-enable-intervals.mir
    M llvm/test/CodeGen/AArch64/machine-scheduler.mir
    M llvm/test/CodeGen/AArch64/macro-fusion-addsub-2reg-const1.mir
    M llvm/test/CodeGen/AArch64/macro-fusion-last.mir
    M llvm/test/CodeGen/AArch64/misched-branch-targets.mir
    M llvm/test/CodeGen/AArch64/misched-bundle.mir
    M llvm/test/CodeGen/AArch64/misched-detail-resource-booking-01.mir
    M llvm/test/CodeGen/AArch64/misched-detail-resource-booking-02.mir
    M llvm/test/CodeGen/AArch64/misched-fusion-arith-logic.mir
    M llvm/test/CodeGen/AArch64/misched-fusion-cmp.mir
    M llvm/test/CodeGen/AArch64/misched-fusion-crypto-eor.mir
    M llvm/test/CodeGen/AArch64/misched-move-imm.mir
    M llvm/test/CodeGen/AArch64/misched-predicate-virtreg.mir
    M llvm/test/CodeGen/AArch64/misched-sort-resource-in-trace.mir
    M llvm/test/CodeGen/AArch64/sched-postidxalias.mir
    M llvm/test/CodeGen/AArch64/sched-print-cycle.mir
    M llvm/test/CodeGen/AArch64/scheduledag-constreg.mir
    M llvm/test/CodeGen/AArch64/sve-aliasing.mir
    M llvm/test/CodeGen/AMDGPU/at-least-one-def-value-assert.mir
    M llvm/test/CodeGen/AMDGPU/cluster-flat-loads.mir
    M llvm/test/CodeGen/AMDGPU/dbg-value-ends-sched-region.mir
    M llvm/test/CodeGen/AMDGPU/debug-value-scheduler-crash.mir
    M llvm/test/CodeGen/AMDGPU/debug-value-scheduler-liveins.mir
    M llvm/test/CodeGen/AMDGPU/debug-value-scheduler.mir
    M llvm/test/CodeGen/AMDGPU/flat-load-clustering.mir
    M llvm/test/CodeGen/AMDGPU/high-RP-reschedule.mir
    M llvm/test/CodeGen/AMDGPU/machine-scheduler-sink-trivial-remats-debug.mir
    M llvm/test/CodeGen/AMDGPU/machine-scheduler-sink-trivial-remats.mir
    M llvm/test/CodeGen/AMDGPU/macro-fusion-cluster-vcc-uses.mir
    M llvm/test/CodeGen/AMDGPU/sched-assert-dead-def-subreg-use-other-subreg.mir
    M llvm/test/CodeGen/AMDGPU/sched-assert-onlydbg-value-empty-region.mir
    M llvm/test/CodeGen/AMDGPU/sched-barrier-hang-weak-dep.mir
    M llvm/test/CodeGen/AMDGPU/sched-crash-dbg-value.mir
    M llvm/test/CodeGen/AMDGPU/sched-handleMoveUp-subreg-def-across-subreg-def.mir
    M llvm/test/CodeGen/AMDGPU/schedule-barrier-fpmode.mir
    M llvm/test/CodeGen/AMDGPU/schedule-barrier.mir
    M llvm/test/CodeGen/AMDGPU/sreg-xnull-regclass-bitwidth.mir
    M llvm/test/CodeGen/ARM/cortex-m7-wideops.mir
    M llvm/test/CodeGen/ARM/misched-branch-targets.mir
    M llvm/test/CodeGen/PowerPC/topdepthreduce-postra.mir
    M llvm/test/CodeGen/RISCV/misched-postra-direction.mir

  Log Message:
  -----------
  Reland "CodeGen][NewPM] Port MachineScheduler to NPM. (#125703)" (#126684)

`RegisterClassInfo` was supposed to be kept alive between pass runs,
which wasn't being done leading to recomputations increasing the compile
time.

Now the Impl class is a member of the legacy and new passes so that it
is not reconstructed on every pass run.

---------

Co-authored-by: Christudasan Devadasan <christudasan.devadasan at amd.com>


  Commit: c0c62bcaa127b6df0c9e1cd0108f147cad9302d1
      https://github.com/llvm/llvm-project/commit/c0c62bcaa127b6df0c9e1cd0108f147cad9302d1
  Author: Christian Sigg <csigg at google.com>
  Date:   2025-02-14 (Fri, 14 Feb 2025)

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

  Log Message:
  -----------
  [mlir][bazel] Fix after https://github.com/llvm/llvm-project/commit/0fd50ec9a3d6669b8fb835d125a0494ebeb558f0


  Commit: 09caa4a60714e19f332e6e71c04cd154ce8a53d2
      https://github.com/llvm/llvm-project/commit/09caa4a60714e19f332e6e71c04cd154ce8a53d2
  Author: Christian Sigg <csigg at google.com>
  Date:   2025-02-14 (Fri, 14 Feb 2025)

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

  Log Message:
  -----------
  [mlir][bazel] Fix after https://github.com/llvm/llvm-project/commit/0fd50ec9a3d6669b8fb835d125a0494ebeb558f0

Second attempt.


  Commit: 4f3d06a2408e0c8936876880163e92e8d2d1b7f1
      https://github.com/llvm/llvm-project/commit/4f3d06a2408e0c8936876880163e92e8d2d1b7f1
  Author: Matt <MattPD at users.noreply.github.com>
  Date:   2025-02-14 (Fri, 14 Feb 2025)

  Changed paths:
    M clang/lib/CodeGen/CGStmtOpenMP.cpp
    M clang/test/OpenMP/ordered_codegen.cpp
    A openmp/runtime/test/misc_bugs/simd_conservative_ordered.c

  Log Message:
  -----------
  [OpenMP][SIMD][FIX] Use conservative "omp simd ordered" lowering (#126172)

A proposed fix for the issue #95611, [OpenMP][SIMD] ordered has no
effect in a loop SIMD region as of LLVM 18.1.0

Changes:

- Implement new lowering behavior: Conservatively serialize "omp simd"
loops that have `omp simd ordered` directive to prevent incorrect
vectorization (which results in incorrect execution behavior of the
miscompiled program).

Implementation outline:

- We start with the optimistic default initial value of
`LoopStack.setParallel(/Enable=/true);` in
`CodeGenFunction::EmitOMPSimdInit(const OMPLoopDirective &D)`.
- We only disable the loop parallel memory access assumption with `if
(HasOrderedDirective) LoopStack.setParallel(/Enable=/false);` using the
`HasOrderedDirective` (which tests for the presence of an
`OMPOrderedDirective`).
- This results in no longer incorrectly vectorizing the loop when the
`omp simd ordered` directive is present.

Motivation: We'd like to prevent incorrect vectorization of the loops
marked with the `#pragma omp ordered simd` directive which has
previously resulted in miscompiled code.

At the same time, we'd like the usage outside of the `#pragma omp
ordered simd` context to remain unaffected: Note that in the test
"clang/test/OpenMP/ordered_codegen.cpp" we only "lose" the
`!llvm.access.group` metadata in `foo_simd` alone.

This is conservative, in that it's possible some of the loops would be
possible to vectorize, but we prefer to avoid miscompilation of the
loops that are currently illegal to vectorize.

A concrete example follows:

```cpp
// "test.c"
#include <float.h>
#include <math.h>
#include <omp.h>
#include <stdio.h>
#include <stdlib.h>
#include <time.h>

int compare_float(float x1, float x2, float scalar) {
    const float diff = fabsf(x1 - x2);
    x1 = fabsf(x1);
    x2 = fabsf(x2);
    const float l = (x2 > x1) ? x2 : x1;
    if (diff <= l * scalar * FLT_EPSILON)
        return 1;
    else
        return 0;
}

#define ARRAY_SIZE 256

__attribute__((noinline)) void initialization_loop(
    float X[ARRAY_SIZE][ARRAY_SIZE], float Y[ARRAY_SIZE][ARRAY_SIZE]) {
    const float max = 1000.0;
    srand(time(NULL));
    for (int r = 0; r < ARRAY_SIZE; r++) {
        for (int c = 0; c < ARRAY_SIZE; c++) {
            X[r][c] = ((float)rand() / (float)(RAND_MAX)) * max;
            Y[r][c] = X[r][c];
        }
    }
}

__attribute__((noinline)) void omp_simd_loop(float X[ARRAY_SIZE][ARRAY_SIZE]) {
    for (int r = 1; r < ARRAY_SIZE; ++r) {
        for (int c = 1; c < ARRAY_SIZE; ++c) {
#pragma omp simd
            for (int k = 2; k < ARRAY_SIZE; ++k) {
#pragma omp ordered simd
                X[r][k] = X[r][k - 2] + sinf((float)(r / c));
            }
        }
    }
}

__attribute__((noinline)) int comparison_loop(float X[ARRAY_SIZE][ARRAY_SIZE],
                                              float Y[ARRAY_SIZE][ARRAY_SIZE]) {
    int totalErrors_simd = 0;
    const float scalar = 1.0;
    for (int r = 1; r < ARRAY_SIZE; ++r) {
        for (int c = 1; c < ARRAY_SIZE; ++c) {
            for (int k = 2; k < ARRAY_SIZE; ++k) {
                Y[r][k] = Y[r][k - 2] + sinf((float)(r / c));
            }
        }
        // check row for simd update
        for (int k = 0; k < ARRAY_SIZE; ++k) {
            if (!compare_float(X[r][k], Y[r][k], scalar)) {
                ++totalErrors_simd;
            }
        }
    }
    return totalErrors_simd;
}

int main(void) {
    float X[ARRAY_SIZE][ARRAY_SIZE];
    float Y[ARRAY_SIZE][ARRAY_SIZE];

    initialization_loop(X, Y);
    omp_simd_loop(X);
    const int totalErrors_simd = comparison_loop(X, Y);

    if (totalErrors_simd) {
        fprintf(stdout, "totalErrors_simd: %d \n", totalErrors_simd);
        fprintf(stdout, "%s : %d - FAIL: error in ordered simd computation.\n",
                __FILE__, __LINE__);
    } else {
        fprintf(stdout, "Success!\n");
    }

    return totalErrors_simd;
}
```

Before:

```
$ clang -fopenmp-simd -O3 -ffast-math -lm test.c -o test && ./test
totalErrors_simd: 15408
test.c : 76 - FAIL: error in ordered simd computation.
```

clang 19.1.0: https://godbolt.org/z/6EvhxqEhe

After:

```
$ clang -fopenmp-simd -O3 -ffast-math test.c -o test && ./test
Success!
```

Co-authored-by: Matt P. Dziubinski <matt-p.dziubinski at hpe.com>


  Commit: d344d5ed7e6faf47d17f53d410891e59cbd927c2
      https://github.com/llvm/llvm-project/commit/d344d5ed7e6faf47d17f53d410891e59cbd927c2
  Author: Christian Sigg <csigg at google.com>
  Date:   2025-02-14 (Fri, 14 Feb 2025)

  Changed paths:
    M mlir/lib/Dialect/Mesh/IR/MeshOps.cpp

  Log Message:
  -----------
  [mlir] Mark variable as maybe_unused.


  Commit: fe463600b8924f9cb2e35756a69a156215daaf77
      https://github.com/llvm/llvm-project/commit/fe463600b8924f9cb2e35756a69a156215daaf77
  Author: David Sherwood <david.sherwood at arm.com>
  Date:   2025-02-14 (Fri, 14 Feb 2025)

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

  Log Message:
  -----------
  [LoopVectorize] Make collectInLoopReductions more efficient (#126769)

We call collectInLoopReductions in multiple places asking
the same question with exactly the same answer. For
example, this was being called from a loop in
calculateRegisterUsage and this patch hoists the call out
to above the loop. In addition I've changed
collectInLoopReductions so that it bails out if we've
already built up a list.


  Commit: 91ac836703dab8e490bffb57d1ec5f2d9f76189c
      https://github.com/llvm/llvm-project/commit/91ac836703dab8e490bffb57d1ec5f2d9f76189c
  Author: Scott Manley <rscottmanley at gmail.com>
  Date:   2025-02-14 (Fri, 14 Feb 2025)

  Changed paths:
    M flang/include/flang/Optimizer/Transforms/Passes.td

  Log Message:
  -----------
  [Flang] Fix options for FunctionAttr pass (#126819)

For non-basic types GenericOptionParser::findArgStrForValue will return
null, ultimately an llvm_unreachable, when the specific values are not
found. Add the enum, much like the debug-level option in AddDebugInfo to
resolve this problem. Also change tuneCPU to be std::string or it will
also fail.


  Commit: a532af07cd31f2c9ad09236cce5408472bc64b9b
      https://github.com/llvm/llvm-project/commit/a532af07cd31f2c9ad09236cce5408472bc64b9b
  Author: Farzon Lotfi <farzonlotfi at microsoft.com>
  Date:   2025-02-14 (Fri, 14 Feb 2025)

  Changed paths:
    M clang/include/clang/Driver/Options.td
    A clang/test/SemaHLSL/use-cxx-alt-operator-names.hlsl

  Log Message:
  -----------
  [HLSL] Change clang Driver Options to not set CXXOperatorNames (#126758)

- Disable `CXXOperatorNames` for HLSL
- Add tests to confirm we can use the alt names as functions


  Commit: 0b0a0f3654fe72a6fbda5be810e552e91b9cb005
      https://github.com/llvm/llvm-project/commit/0b0a0f3654fe72a6fbda5be810e552e91b9cb005
  Author: Alexey Bataev <a.bataev at outlook.com>
  Date:   2025-02-14 (Fri, 14 Feb 2025)

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

  Log Message:
  -----------
  [SLP][NFC]Improve dump of the ScheduleData, NFC


  Commit: 06b3282c8d27773c6e8c496e1d7e41400a7a8e36
      https://github.com/llvm/llvm-project/commit/06b3282c8d27773c6e8c496e1d7e41400a7a8e36
  Author: Nikita Popov <npopov at redhat.com>
  Date:   2025-02-14 (Fri, 14 Feb 2025)

  Changed paths:
    M llvm/include/llvm/IR/IRBuilder.h

  Log Message:
  -----------
  [IRBuilder] Add additional overload with in-place Inserter construction (NFC)

Currently, for IRBuilders that require an explicitly constructed
Folder, we also force Inserter to be constructed and then copied.
Provide a variant where the Inserter uses in-place default
construction, to support cases where it is self-referential.


  Commit: b94cb69504bfeb231fd1869ba740e813af4b911d
      https://github.com/llvm/llvm-project/commit/b94cb69504bfeb231fd1869ba740e813af4b911d
  Author: Jason Eckhardt <jeckhardt at nvidia.com>
  Date:   2025-02-14 (Fri, 14 Feb 2025)

  Changed paths:
    M llvm/lib/Target/Hexagon/HexagonLoopAlign.cpp
    M llvm/lib/Target/Lanai/Disassembler/LanaiDisassembler.cpp
    M llvm/lib/Target/Lanai/Disassembler/LanaiDisassembler.h

  Log Message:
  -----------
  [NFC][Lanai][Hexagon] Define DEBUG_TYPE after including Debug.h. (#125440)

This patch fixes some warnings/errors that occur with certain
compilers-- due to existing code not following the idiom mentioned in
`Debug.h`:

```
// LLVM_DEBUG() requires the DEBUG_TYPE macro to be defined. Set it to "foo"
// specify that your debug code belongs to class "foo". **Be careful that you only
// do this after including Debug.h and not around any #include of headers.**
```


  Commit: 2e30b20e7d491303ff46fca3d15803bd94b4b56f
      https://github.com/llvm/llvm-project/commit/2e30b20e7d491303ff46fca3d15803bd94b4b56f
  Author: Vy Nguyen <vyng at google.com>
  Date:   2025-02-14 (Fri, 14 Feb 2025)

  Changed paths:
    M lldb/source/Core/CMakeLists.txt
    M lldb/source/Core/Telemetry.cpp
    M llvm/include/llvm/Config/llvm-config.h.cmake

  Log Message:
  -----------
  Define -DLLVM_BUILD_TELEMETRY to be used in ifdef  (#126746)

Background: 

Telemetry code isn't always built (controlled by this
LLVM_BUILD_TELEMETRY cmake flag)
This means users of the library may not have the library. So we're
definding the `-DLLVM_BUILD_TELEMETRY` to be used in ifdef.


  Commit: 4e755eecb16e7fa277294a5db3535adff3d2caee
      https://github.com/llvm/llvm-project/commit/4e755eecb16e7fa277294a5db3535adff3d2caee
  Author: Alexey Bataev <a.bataev at outlook.com>
  Date:   2025-02-14 (Fri, 14 Feb 2025)

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

  Log Message:
  -----------
  Revert "[SLP][NFC]Improve dump of the ScheduleData, NFC"

This reverts commit 108e6bca693e5f44d2d17da5a6e06203a0290de7 to fix
error revealed by buildbots https://lab.llvm.org/buildbot/#/builders/159/builds/15888.


  Commit: 55314537415a6ffb06059bcced6020257379dde9
      https://github.com/llvm/llvm-project/commit/55314537415a6ffb06059bcced6020257379dde9
  Author: Nico Weber <thakis at chromium.org>
  Date:   2025-02-14 (Fri, 14 Feb 2025)

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

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


  Commit: 5bc3cb4d18271eb1a21a8b6bb11792766a65afd6
      https://github.com/llvm/llvm-project/commit/5bc3cb4d18271eb1a21a8b6bb11792766a65afd6
  Author: Alexey Bataev <a.bataev at outlook.com>
  Date:   2025-02-14 (Fri, 14 Feb 2025)

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

  Log Message:
  -----------
  [SLP][NFC]Improve dump of the ScheduleData, NFC


  Commit: 9bd097d7a3856e0edbbae444546d4cf53d7bca21
      https://github.com/llvm/llvm-project/commit/9bd097d7a3856e0edbbae444546d4cf53d7bca21
  Author: Scott Manley <rscottmanley at gmail.com>
  Date:   2025-02-14 (Fri, 14 Feb 2025)

  Changed paths:
    M flang/lib/Optimizer/Passes/Pipelines.cpp

  Log Message:
  -----------
  [Flang] fix initializer with empty string to fix aarch64 build (#126918)

After tuneCPU was changed to std::string in
c8376a93bb9853cbcedeb22d80a9b200060eaf85 the flang builds broke, due to
a missing initializer.

If we want to add tuneCPU to the MLIRToLLVMPassPipelineConfig, we might
want to tackle that separately after the build is restored. This should
be no different than the previous behaviour.


  Commit: d8b413257bd5e641513a35726c113aa1d1441200
      https://github.com/llvm/llvm-project/commit/d8b413257bd5e641513a35726c113aa1d1441200
  Author: Balazs Benics <benicsbalazs at gmail.com>
  Date:   2025-02-14 (Fri, 14 Feb 2025)

  Changed paths:
    M clang/lib/Analysis/LiveVariables.cpp
    M clang/test/Analysis/live-stmts.cpp

  Log Message:
  -----------
  [clang][analysis] Fix flaky clang/test/Analysis/live-stmts.cpp test (#126913)

Multiple people reported flaky bot failures tied to
`clang/test/Analysis/live-stmts.cpp` I tried reproducing the flaky
behavior on my Linux x86_64 system, but the tests appears to be stable
in my context.

Only by looking at the failures reported, I could formulate a potential
diagnosis.
The output always looked almost the same, except that the Exprs dumped
per Basic block were shuffled compared to my expectation. This suggests
to me some ordering issue.

If you look at the backing storage of
`blocksEndToLiveness[B].liveExprs`,
it uses `llvm::ImmutableSet<const Expr *>`.
That container likely uses the pointer values as keys, thus the runtime
values of the addresses influence the iteration order.

To fix this, before dumping, I sort the expressions by their
"beginLocs". It should be efficient enough for a debug checker, where
there is no performance constraint.

This should hopefully fix the flaky behavior on systems where ASLR works
differently than (my) Linux system.

Hopefully fixes #126619
Hopefully fixes #126804


  Commit: 331398d48ccce02ab8aba87e4a23b3b84faf7d03
      https://github.com/llvm/llvm-project/commit/331398d48ccce02ab8aba87e4a23b3b84faf7d03
  Author: Yingwei Zheng <dtcxzyw2333 at gmail.com>
  Date:   2025-02-14 (Fri, 14 Feb 2025)

  Changed paths:
    M llvm/docs/LangRef.rst

  Log Message:
  -----------
  [Docs][LangRef] Fix broken ref to pointer capture. NFC (#126910)


  Commit: 1870840be276a865a35dfe5c2e695d25bcd622b9
      https://github.com/llvm/llvm-project/commit/1870840be276a865a35dfe5c2e695d25bcd622b9
  Author: Donát Nagy <donat.nagy at ericsson.com>
  Date:   2025-02-14 (Fri, 14 Feb 2025)

  Changed paths:
    M clang/test/Analysis/out-of-bounds-constraint-check.c
    M clang/test/Analysis/out-of-bounds.c

  Log Message:
  -----------
  [NFC][analyzer] OOB test consolidation II: constraint checking (#126748)

This commit heavily refactors `out-of-bounds-constraint-check.c`:
1. The complex combinations of several `clang_analyzer_eval` calls were
replaced by `clang_analyzer_value`, which can directly query the range
of a symbol.
2. Testcases were renamed to a (hopefully) more consistent scheme.
3. The use of `size_t` as an argument type was replaced by `unsigned
long long`, which is usually a no-op, but seems to be a better choice if
I look for `64u` in the output of `clang_analyzer_value`.
4. The single "dynamic extent" case was generalized into a full set of
tests that use `malloc`.
5. Half of the testcases (the ones that don't use `malloc`) were changed
to use an `int[5]` array instead of a string literal. After this change
the tests in this file cover every functionality that was tested by the
testcases `test_assume_after_access{,2}` in the file `out-of-bounds.c`
so I was able to delete those two testcases (and therefore consolidate
the validation of these constraints within a single test file).

This is the second commit in a series that reorganizes the tests of
`security.ArrayBound` to system that's easier to understand and
maintain. (Note that this file wasn't significantly modified by the
recent commit 6e17ed9b04e5523cc910bf171c3122dcc64b86db which renamed
`alpha.security.ArrayBoundV2` to `security.ArrayBound`; but I still felt
that this cleanup may be useful.)


  Commit: 0956b10f93cb333d115e157dbd145478b5a20510
      https://github.com/llvm/llvm-project/commit/0956b10f93cb333d115e157dbd145478b5a20510
  Author: Paschalis Mpeis <paschalis.mpeis at arm.com>
  Date:   2025-02-14 (Fri, 14 Feb 2025)

  Changed paths:
    M bolt/include/bolt/Core/BinarySection.h
    M bolt/unittests/Core/BinaryContext.cpp

  Log Message:
  -----------
  [BOLT] Prevent addRelocation from adding pending relocs (#123635)

`addPendingRelocation` is the only way to add a pending
relocation. Can no longer use `addRelocation` for this.

Update the only user (`BinaryContextTester`).


  Commit: 1769def1d814e65dd127f24355b0acd29fffd668
      https://github.com/llvm/llvm-project/commit/1769def1d814e65dd127f24355b0acd29fffd668
  Author: Sergio Afonso <safonsof at amd.com>
  Date:   2025-02-14 (Fri, 14 Feb 2025)

  Changed paths:
    M flang/include/flang/Semantics/openmp-directive-sets.h
    M flang/lib/Semantics/check-omp-structure.cpp
    M flang/test/Semantics/OpenMP/nested-target.f90
    M flang/test/Semantics/OpenMP/nested-teams.f90

  Log Message:
  -----------
  [Flang][OpenMP] Update semantics checks for 'teams' nesting (#126922)

This patch introduces a directive set for combined constructs where
`teams` is the last leaf. This is used in a couple places to simplify
checks, which is NFC, but it also replaces two incorrect uses of
`topTeamsSet`.

Before, these checks would incorrectly skip combined constructs where
`teams` was the last leaf construct when checking for allowed nested
constructs inside of a `teams` region. Similarly, it would also
incorrectly perform these checks whenever a compound `teams` construct
where `teams` was the first leaf construct was found.


  Commit: aa4f7f1eb7eef32b489fb7ab8c55552fa911773b
      https://github.com/llvm/llvm-project/commit/aa4f7f1eb7eef32b489fb7ab8c55552fa911773b
  Author: Simon Pilgrim <llvm-dev at redking.me.uk>
  Date:   2025-02-14 (Fri, 14 Feb 2025)

  Changed paths:
    M llvm/test/CodeGen/X86/fp-fold.ll

  Log Message:
  -----------
  [X86] fp-fold.ll - regenerate checks


  Commit: afa3109386373c1b9f84da95ed7da8709df3adf5
      https://github.com/llvm/llvm-project/commit/afa3109386373c1b9f84da95ed7da8709df3adf5
  Author: Alex MacLean <amaclean at nvidia.com>
  Date:   2025-02-14 (Fri, 14 Feb 2025)

  Changed paths:
    M clang/lib/CodeGen/Targets/NVPTX.cpp
    M clang/test/CodeGenCUDA/launch-bounds.cu
    M llvm/docs/NVPTXUsage.rst
    M llvm/lib/Frontend/OpenMP/OMPIRBuilder.cpp
    M llvm/lib/IR/AutoUpgrade.cpp
    M llvm/lib/Target/NVPTX/NVPTXCtorDtorLowering.cpp
    M llvm/lib/Target/NVPTX/NVPTXUtilities.cpp
    M llvm/test/Analysis/KernelInfo/launch-bounds/nvptx.ll
    M llvm/test/CodeGen/NVPTX/annotations.ll
    M llvm/test/CodeGen/NVPTX/lower-ctor-dtor.ll
    M llvm/test/CodeGen/NVPTX/maxclusterrank.ll
    M llvm/test/CodeGen/NVPTX/upgrade-nvvm-annotations.ll
    M mlir/lib/Target/LLVMIR/Dialect/NVVM/NVVMToLLVMIRTranslation.cpp
    M mlir/test/Target/LLVMIR/external-func-dialect-attr.mlir
    M mlir/test/Target/LLVMIR/nvvmir.mlir

  Log Message:
  -----------
  [NVPTX] Convert scalar function nvvm.annotations to attributes (#125908)

Replace some more nvvm.annotations with function attributes,
auto-upgrading the annotations as needed. These new attributes will be
more idiomatic and compile-time efficient than the annotations.

- !"maxclusterrank" / !"cluster_max_blocks" -> "nvvm.maxclusterrank"
- !"minctasm" -> "nvvm.minctasm"
- !"maxnreg" -> "nvvm.maxnreg"


  Commit: 92c1dd6987f05c20a6467ad9a96aa05393e80bef
      https://github.com/llvm/llvm-project/commit/92c1dd6987f05c20a6467ad9a96aa05393e80bef
  Author: Kazu Hirata <kazu at google.com>
  Date:   2025-02-14 (Fri, 14 Feb 2025)

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

  Log Message:
  -----------
  [X86] Avoid repeated hash lookups (NFC) (#126857)


  Commit: eb15e61c36664e1d9e3488b33c74a7f6f67ba53b
      https://github.com/llvm/llvm-project/commit/eb15e61c36664e1d9e3488b33c74a7f6f67ba53b
  Author: Mikhail Goncharov <goncharov.mikhail at gmail.com>
  Date:   2025-02-14 (Fri, 14 Feb 2025)

  Changed paths:
    M utils/bazel/llvm_configs/llvm-config.h.cmake

  Log Message:
  -----------
  [bazel] port fc4d87100a01f08dbdf78b68e1a6a5c2584d840d


  Commit: 07166649e1f5c39e991f9091954c8ca6c0530913
      https://github.com/llvm/llvm-project/commit/07166649e1f5c39e991f9091954c8ca6c0530913
  Author: Philip Reames <preames at rivosinc.com>
  Date:   2025-02-14 (Fri, 14 Feb 2025)

  Changed paths:
    M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-shuffle-rotate.ll

  Log Message:
  -----------
  Reapply "[RISCV] Allow undef prefix for local repeating VLA shuffle lowering (#126097)"

(With a fix to recently added code.)

Implement the first TODO from #125735, and minorly cleanup code using
same style as the recently landed strict prefix case.


  Commit: 152e72348e902ce3c9ce85f312cc965c6226873c
      https://github.com/llvm/llvm-project/commit/152e72348e902ce3c9ce85f312cc965c6226873c
  Author: Miguel A. Arroyo <miguel.arroyo at rockstargames.com>
  Date:   2025-02-14 (Fri, 14 Feb 2025)

  Changed paths:
    M clang/cmake/modules/AddClang.cmake

  Log Message:
  -----------
  Revert "[Clang][CMake][MSVC] Install PDBs alongside executables" (#126934)

Reverts llvm/llvm-project#126675

Broke the following:
https://lab.llvm.org/buildbot/#/builders/107/builds/7929


  Commit: 8f5dd3b58fe2e7a0b652570928f1d3fcabd8eb4a
      https://github.com/llvm/llvm-project/commit/8f5dd3b58fe2e7a0b652570928f1d3fcabd8eb4a
  Author: Rahul Joshi <rjoshi at nvidia.com>
  Date:   2025-02-14 (Fri, 14 Feb 2025)

  Changed paths:
    M llvm/docs/WritingAnLLVMBackend.rst
    M llvm/lib/Target/AMDGPU/AsmParser/AMDGPUAsmParser.cpp
    M llvm/lib/Target/AMDGPU/Disassembler/AMDGPUDisassembler.cpp
    M llvm/lib/Target/AMDGPU/GCNDPPCombine.cpp
    M llvm/lib/Target/AMDGPU/GCNHazardRecognizer.cpp
    M llvm/lib/Target/AMDGPU/MCA/AMDGPUCustomBehaviour.cpp
    M llvm/lib/Target/AMDGPU/MCA/AMDGPUCustomBehaviour.h
    M llvm/lib/Target/AMDGPU/MCTargetDesc/AMDGPUInstPrinter.cpp
    M llvm/lib/Target/AMDGPU/MCTargetDesc/AMDGPUMCCodeEmitter.cpp
    M llvm/lib/Target/AMDGPU/MCTargetDesc/AMDGPUMCTargetDesc.h
    M llvm/lib/Target/AMDGPU/MCTargetDesc/R600MCTargetDesc.h
    M llvm/lib/Target/AMDGPU/R600ExpandSpecialInstrs.cpp
    M llvm/lib/Target/AMDGPU/R600InstrInfo.cpp
    M llvm/lib/Target/AMDGPU/R600InstrInfo.h
    M llvm/lib/Target/AMDGPU/R600Packetizer.cpp
    M llvm/lib/Target/AMDGPU/SIFoldOperands.cpp
    M llvm/lib/Target/AMDGPU/SIInsertWaitcnts.cpp
    M llvm/lib/Target/AMDGPU/SIInstrInfo.cpp
    M llvm/lib/Target/AMDGPU/SIInstrInfo.h
    M llvm/lib/Target/AMDGPU/SILoadStoreOptimizer.cpp
    M llvm/lib/Target/AMDGPU/SIOptimizeExecMasking.cpp
    M llvm/lib/Target/AMDGPU/Utils/AMDGPUBaseInfo.h
    M llvm/lib/Target/RISCV/RISCVInstrInfo.h
    M llvm/lib/Target/WebAssembly/WebAssemblyInstrInfo.h
    A llvm/test/TableGen/get-named-operand-idx.td
    M llvm/utils/TableGen/InstrInfoEmitter.cpp

  Log Message:
  -----------
  [TableGen] Emit OpName as an enum class instead of a namespace (#125313)

- Change InstrInfoEmitter to emit OpName as an enum class
  instead of an anonymous enum in the OpName namespace.
- This will help clearly distinguish between values that are 
  OpNames vs just operand indices and should help avoid
  bugs due to confusion between the two.
- Rename OpName::OPERAND_LAST to NUM_OPERAND_NAMES.
- Emit declaration of getOperandIdx() along with the OpName
  enum so it doesn't have to be repeated in various headers.
- Also updated AMDGPU, RISCV, and WebAssembly backends
  to conform to the new definition of OpName (mostly
  mechanical changes).


  Commit: 18d381c548c90ab2c6cccef505fb4cf3c1e5ed5c
      https://github.com/llvm/llvm-project/commit/18d381c548c90ab2c6cccef505fb4cf3c1e5ed5c
  Author: Jonas Devlieghere <jonas at devlieghere.com>
  Date:   2025-02-14 (Fri, 14 Feb 2025)

  Changed paths:
    M lldb/include/lldb/Core/Debugger.h
    M lldb/source/API/SBDebugger.cpp
    M lldb/source/Core/Debugger.cpp
    M lldb/source/Core/DynamicLoader.cpp
    M lldb/source/Interpreter/ScriptInterpreter.cpp
    M lldb/source/Plugins/DynamicLoader/Darwin-Kernel/DynamicLoaderDarwinKernel.cpp
    M lldb/source/Plugins/DynamicLoader/FreeBSD-Kernel/DynamicLoaderFreeBSDKernel.cpp
    M lldb/source/Plugins/InstrumentationRuntime/TSan/InstrumentationRuntimeTSan.cpp
    M lldb/source/Plugins/LanguageRuntime/ObjC/AppleObjCRuntime/AppleObjCTrampolineHandler.cpp
    M lldb/source/Plugins/ScriptInterpreter/Lua/ScriptInterpreterLua.cpp
    M lldb/source/Plugins/ScriptInterpreter/None/ScriptInterpreterNone.cpp
    M lldb/source/Plugins/ScriptInterpreter/Python/ScriptInterpreterPython.cpp
    M lldb/source/Target/Process.cpp
    M lldb/source/Target/Target.cpp
    M lldb/source/Target/ThreadPlanTracer.cpp

  Log Message:
  -----------
  [lldb] Remove Debugger::Get{Output,Error}Stream (NFC) (#126821)

Remove Debugger::GetOutputStream and Debugger::GetErrorStream in
preparation for replacing both with a new variant that needs to be
locked and hence can't be handed out like we do right now.

The patch replaces most uses with GetAsyncOutputStream and
GetAsyncErrorStream respectively. There methods return new StreamSP
objects that automatically get flushed on destruction.

See #126630 for more details.


  Commit: 94b9e1cb77e021c107494701b5a328312ebe9e57
      https://github.com/llvm/llvm-project/commit/94b9e1cb77e021c107494701b5a328312ebe9e57
  Author: jeanPerier <jperier at nvidia.com>
  Date:   2025-02-14 (Fri, 14 Feb 2025)

  Changed paths:
    M flang/lib/Optimizer/CodeGen/CodeGen.cpp
    M flang/lib/Optimizer/CodeGen/TargetRewrite.cpp
    M flang/test/Fir/convert-to-llvm.fir
    A flang/test/Fir/target-rewrite-indirect-calls.fir
    A flang/test/Integration/abi-indirect-call.f90

  Log Message:
  -----------
  [flang] add ABI argument attributes in indirect calls (#126896)

Last piece that implements the TODO for sret and byval setting on
indirect calls.

This includes a fix to the codegen last patch. I thought types in in
type attributes were automatically converted in dialect conversion
passes, but that is not the case. The sret and byval type needs to be
converted to llvm types in codegen (mlir FuncOp conversion is doing a
similar conversion).


  Commit: 27adfe6ed56356eacf82620ef02150d80a19ad84
      https://github.com/llvm/llvm-project/commit/27adfe6ed56356eacf82620ef02150d80a19ad84
  Author: Philip Reames <preames at rivosinc.com>
  Date:   2025-02-14 (Fri, 14 Feb 2025)

  Changed paths:
    M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-fp-interleave.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-int-interleave.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-int-shuffles.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-shuffle-changes-length.ll

  Log Message:
  -----------
  Revert "[RISCV] Decompose single source shuffles (without exact VLEN) (#126108)"

This reverts commit 8374d421861cd3d47e21ae7889ba0b4c498e8d85.  A miscompile
was reported against the review thread, reverting while we investigate.


  Commit: a9b861ef87d5b7818e0f18744892c8768d48c2b8
      https://github.com/llvm/llvm-project/commit/a9b861ef87d5b7818e0f18744892c8768d48c2b8
  Author: Nick Sarnie <nick.sarnie at intel.com>
  Date:   2025-02-14 (Fri, 14 Feb 2025)

  Changed paths:
    M clang/lib/CodeGen/CodeGenModule.h
    A clang/test/OpenMP/spirv_variant_match.cpp
    M llvm/include/llvm/Frontend/OpenMP/OMPKinds.def
    M llvm/lib/Frontend/OpenMP/OMPContext.cpp

  Log Message:
  -----------
  [OpenMP][OpenMPIRBuilder] Support SPIR-V device variant matches (#126801)

We should be able to use `spirv64` as a device variant match and it
should be considered a GPU.

Also add the triple to an RTTI check.

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


  Commit: 41f40b989e9a8156ac05dfcba889b0238d865375
      https://github.com/llvm/llvm-project/commit/41f40b989e9a8156ac05dfcba889b0238d865375
  Author: Kazu Hirata <kazu at google.com>
  Date:   2025-02-14 (Fri, 14 Feb 2025)

  Changed paths:
    M llvm/include/llvm/Analysis/SparsePropagation.h

  Log Message:
  -----------
  [Analysis] Avoid repeated hash lookups (NFC) (#126851)


  Commit: 72ef6b386eeaf2a14c7086057b2750c7863b1a12
      https://github.com/llvm/llvm-project/commit/72ef6b386eeaf2a14c7086057b2750c7863b1a12
  Author: Kazu Hirata <kazu at google.com>
  Date:   2025-02-14 (Fri, 14 Feb 2025)

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

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


  Commit: dacc763bf89ba0aa1a4aecb81214e6817cff0974
      https://github.com/llvm/llvm-project/commit/dacc763bf89ba0aa1a4aecb81214e6817cff0974
  Author: Kazu Hirata <kazu at google.com>
  Date:   2025-02-14 (Fri, 14 Feb 2025)

  Changed paths:
    M llvm/lib/Object/GOFFObjectFile.cpp

  Log Message:
  -----------
  [Object] Avoid repeated map lookups (NFC) (#126853)


  Commit: 3a434fad327d974b99ce83396c7862d8afd84f96
      https://github.com/llvm/llvm-project/commit/3a434fad327d974b99ce83396c7862d8afd84f96
  Author: Kazu Hirata <kazu at google.com>
  Date:   2025-02-14 (Fri, 14 Feb 2025)

  Changed paths:
    M llvm/lib/Target/SPIRV/SPIRVEmitIntrinsics.cpp

  Log Message:
  -----------
  [SPIRV] Avoid repeated hash lookups (NFC) (#126854)


  Commit: 5d8fee63e6199880c90cfc3f991d8224327ba0ba
      https://github.com/llvm/llvm-project/commit/5d8fee63e6199880c90cfc3f991d8224327ba0ba
  Author: Evgenii Kudriashov <evgenii.kudriashov at intel.com>
  Date:   2025-02-14 (Fri, 14 Feb 2025)

  Changed paths:
    M llvm/lib/Target/Xtensa/Disassembler/CMakeLists.txt

  Log Message:
  -----------
  [Xtensa] Add XtensaDesc dependency to LLVMXtensaDisassembler (#126904)

There is an undefined reference to checkRegister in shared lib builds

Suspecting #124656


  Commit: 31e372a79d448e4eb04f3023e091d8bd1a11a65d
      https://github.com/llvm/llvm-project/commit/31e372a79d448e4eb04f3023e091d8bd1a11a65d
  Author: Kazu Hirata <kazu at google.com>
  Date:   2025-02-14 (Fri, 14 Feb 2025)

  Changed paths:
    M llvm/include/llvm/Transforms/Utils/SampleProfileLoaderBaseImpl.h

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


  Commit: addeea2b1f6bb7a3b2404d5e2a50ea6372342d44
      https://github.com/llvm/llvm-project/commit/addeea2b1f6bb7a3b2404d5e2a50ea6372342d44
  Author: Nick Desaulniers <nick.desaulniers at gmail.com>
  Date:   2025-02-14 (Fri, 14 Feb 2025)

  Changed paths:
    M libc/src/__support/CPP/bit.h
    M libc/test/src/__support/CPP/bit_test.cpp

  Log Message:
  -----------
  [libc][bit_test] fix -Wimplicit-int-conversion (#126317)

Fixes:

    llvm-project/libc/src/__support/CPP/bit.h:235:28: error: implicit
    conversion loses integer precision: 'int' to
'cpp::enable_if_t<cpp::is_unsigned_v<unsigned short>, unsigned short>'
(aka
    'unsigned short') [-Werror,-Wimplicit-int-conversion]
      235 |   return (value << rotate) | (value >> (N - rotate));
          |   ~~~~~~ ~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~
    llvm-project/libc/src/__support/CPP/bit.h:247:28: error: implicit
    conversion loses integer precision: 'int' to
'cpp::enable_if_t<cpp::is_unsigned_v<unsigned short>, unsigned short>'
(aka
    'unsigned short') [-Werror,-Wimplicit-int-conversion]
      247 |   return (value >> rotate) | (value << (N - rotate));
          |   ~~~~~~ ~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~
    llvm-project/libc/test/src/__support/CPP/bit_test.cpp:45:36: error:
implicit conversion loses integer precision: 'int' to 'unsigned char'
    [-Werror,-Wimplicit-int-conversion]
       45 |     EXPECT_FALSE(has_single_bit<T>(two_bits_value));
          |                  ~~~~~~~~~~~~~~    ^~~~~~~~~~~~~~

Via the libc-cpp-utils-tests ninja target.


  Commit: 7c555717b7d82253628301cd0686f659c34ac607
      https://github.com/llvm/llvm-project/commit/7c555717b7d82253628301cd0686f659c34ac607
  Author: Simon Pilgrim <llvm-dev at redking.me.uk>
  Date:   2025-02-14 (Fri, 14 Feb 2025)

  Changed paths:
    M llvm/test/CodeGen/X86/2011-10-27-tstore.ll

  Log Message:
  -----------
  [X86] 2011-10-27-tstore.ll - regenerate checks


  Commit: a76ade731f63017ec3a5f28a0ffcd5277cbf372d
      https://github.com/llvm/llvm-project/commit/a76ade731f63017ec3a5f28a0ffcd5277cbf372d
  Author: Ivan Butygin <ivan.butygin at gmail.com>
  Date:   2025-02-14 (Fri, 14 Feb 2025)

  Changed paths:
    M mlir/lib/Conversion/ArithToLLVM/ArithToLLVM.cpp
    M mlir/test/Conversion/ArithToLLVM/arith-to-llvm.mlir

  Log Message:
  -----------
  Reland [mlir] ArithToLLVM: fix memref bitcast lowering (#125148) (#126939)

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

Limiting vector pattern caused issues with `select` of complex lowering,
which wasn't caught as it was missing lit tests. Keep the pattern as is
for now and instead set a higher benefit to `IdentityBitcastLowering` so
it will always run before the vector pattern.


  Commit: f9f84c605e3b109e2d748fe65f6c0f34fbbeb97b
      https://github.com/llvm/llvm-project/commit/f9f84c605e3b109e2d748fe65f6c0f34fbbeb97b
  Author: schittir <sindhu.chittireddy at intel.com>
  Date:   2025-02-14 (Fri, 14 Feb 2025)

  Changed paths:
    M clang/lib/Format/UnwrappedLineFormatter.cpp

  Log Message:
  -----------
  [NFC] Avoid potential null dereference. (#126872)

Add a null check.


  Commit: 678f5f673a5a76f150a8509f726f606df67d9d38
      https://github.com/llvm/llvm-project/commit/678f5f673a5a76f150a8509f726f606df67d9d38
  Author: Harald van Dijk <harald.vandijk at codeplay.com>
  Date:   2025-02-14 (Fri, 14 Feb 2025)

  Changed paths:
    M clang/lib/CodeGen/CGDebugInfo.cpp
    M llvm/include/llvm/IR/DIBuilder.h
    M llvm/lib/IR/DIBuilder.cpp
    M llvm/lib/IR/DebugInfo.cpp
    M llvm/lib/Transforms/Coroutines/CoroFrame.cpp
    M llvm/lib/Transforms/Scalar/SROA.cpp
    M llvm/lib/Transforms/Utils/Debugify.cpp
    M llvm/lib/Transforms/Utils/Local.cpp
    M llvm/lib/Transforms/Utils/PromoteMemoryToRegister.cpp
    M llvm/unittests/IR/IRBuilderTest.cpp
    M llvm/unittests/Transforms/Utils/CloningTest.cpp

  Log Message:
  -----------
  [DebugInfo] Update DIBuilder insertion to take InsertPosition (#126059)

After #124287 updated several functions to return iterators rather than
Instruction *, it was no longer straightforward to pass their result to
DIBuilder. This commit updates DIBuilder methods to accept an
InsertPosition instead, so that they can be called with an iterator
(preferred), or with a deprecation warning an Instruction *, or a
BasicBlock *. This commit also updates the existing calls to the
DIBuilder methods to pass in iterators.


  Commit: 5dfc47c141e12a065bb532db6807c247d346c5db
      https://github.com/llvm/llvm-project/commit/5dfc47c141e12a065bb532db6807c247d346c5db
  Author: Harald van Dijk <harald.vandijk at codeplay.com>
  Date:   2025-02-14 (Fri, 14 Feb 2025)

  Changed paths:
    M clang/lib/CodeGen/CGDebugInfo.cpp
    M llvm/include/llvm/IR/DIBuilder.h
    M llvm/lib/IR/DIBuilder.cpp
    M llvm/lib/IR/DebugInfo.cpp
    M llvm/lib/Transforms/Coroutines/CoroFrame.cpp
    M llvm/lib/Transforms/Scalar/SROA.cpp
    M llvm/lib/Transforms/Utils/Debugify.cpp
    M llvm/lib/Transforms/Utils/Local.cpp
    M llvm/lib/Transforms/Utils/PromoteMemoryToRegister.cpp
    M llvm/unittests/IR/IRBuilderTest.cpp
    M llvm/unittests/Transforms/Utils/CloningTest.cpp

  Log Message:
  -----------
  Revert "[DebugInfo] Update DIBuilder insertion to take InsertPosition (#126059)"

This reverts commit 3ec9f7494b31f2fe51d5ed0e07adcf4b7199def6.


  Commit: 75f0481057871e9b821b802b952942e9e3b7cbce
      https://github.com/llvm/llvm-project/commit/75f0481057871e9b821b802b952942e9e3b7cbce
  Author: Tom Stellard <tstellar at redhat.com>
  Date:   2025-02-14 (Fri, 14 Feb 2025)

  Changed paths:
    M .github/workflows/release-binaries-all.yml

  Log Message:
  -----------
  workflows/release-binaries-all: Add missing secret input (#126921)

Since d194c6b9a7fdda7a61abcd6bfe39ab465bf0cc87 this workflow was missing
the secret input which was causing it to fail.


  Commit: afe8f053e9f013300dd60b132d5cd15db2fc206f
      https://github.com/llvm/llvm-project/commit/afe8f053e9f013300dd60b132d5cd15db2fc206f
  Author: Michał Górny <mgorny at gentoo.org>
  Date:   2025-02-14 (Fri, 14 Feb 2025)

  Changed paths:
    M flang/runtime/CMakeLists.txt

  Log Message:
  -----------
  [flang] [runtime] Explicitly disable EH & RTTI (#126920)

Explicitly disable EH & RTTI when building Flang runtime library. This
fixes the runtime built when Flang is built standalone against system
LLVM that was compiled with EH & RTTI enabled.

I think this change may be sufficient to lift the top-level
`LLVM_ENABLE_EH` restriction from Flang. However, I'd prefer if somebody
more knowledgeable decided on that.


  Commit: f299b908d8e673f45dce37feb7ea67ab3f5fc3d0
      https://github.com/llvm/llvm-project/commit/f299b908d8e673f45dce37feb7ea67ab3f5fc3d0
  Author: Michael Jones <michaelrj at google.com>
  Date:   2025-02-14 (Fri, 14 Feb 2025)

  Changed paths:
    M libc/src/time/time_utils.h

  Log Message:
  -----------
  [libc] Fix implict cast to time_t warning (#126947)

On some systems time_t is 32 bit, causing build errors (with -Werror)
in get_epoch which attempts to implicitly convert an int64_t to a
time_t.

Fixes:

error: implicit conversion loses integer precision: 'int64_t' (aka 'long
long') to 'time_t' (aka 'int') [-Werror,-Wshorten-64-to-32]
      332 |     return mktime_internal(timeptr);
          |     ~~~~~~ ^~~~~~~~~~~~~~~~~~~~~~~~


  Commit: 9477d065eb552506a32720760c04d84a16644087
      https://github.com/llvm/llvm-project/commit/9477d065eb552506a32720760c04d84a16644087
  Author: Pavel Labath <pavel at labath.sk>
  Date:   2025-02-14 (Fri, 14 Feb 2025)

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

  Log Message:
  -----------
  Revert "[bazel] Temporarily disable a broken LookupAddressRangeWithSt… (#126944)

…mtSequenceOffset debug info test"

This reverts commit 247430e9c41c61b66e2ee95c29a05de3e24c19b9.

The breakage has been fixed by 343bbda140d5a15cd7d7fbfc6041a7506da5cdae.


  Commit: 53e31139b6a711bf387941cfa4185bbfab69d0d7
      https://github.com/llvm/llvm-project/commit/53e31139b6a711bf387941cfa4185bbfab69d0d7
  Author: Max191 <44243577+Max191 at users.noreply.github.com>
  Date:   2025-02-14 (Fri, 14 Feb 2025)

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

  Log Message:
  -----------
  [mlir] Match before rewrite in BubbleUpPackOpThroughGenericOp (#126946)

The BubbleUpPackOpThroughGenericOp pattern had some unsafe rewrites
happening before matching was fully complete, which causes the pattern
rewriter to fail to converge. This PR fixes the bug by moving all
matching logic to before the rewrite logic.

Signed-off-by: Max Dawkins <max.dawkins at gmail.com>


  Commit: 15112b8d6ea741644f1797070926d5a26ff8ef59
      https://github.com/llvm/llvm-project/commit/15112b8d6ea741644f1797070926d5a26ff8ef59
  Author: Simon Pilgrim <llvm-dev at redking.me.uk>
  Date:   2025-02-14 (Fri, 14 Feb 2025)

  Changed paths:
    M llvm/test/CodeGen/X86/vec-strict-fptoint-128.ll
    M llvm/test/CodeGen/X86/vec-strict-fptoint-256.ll
    M llvm/test/CodeGen/X86/vec-strict-fptoint-512.ll

  Log Message:
  -----------
  [X86] vec-strict-fptoint - regenerate VPTERNLOG comments


  Commit: 1f9b17521c6c9bf2769f685fe910bcd38f179fec
      https://github.com/llvm/llvm-project/commit/1f9b17521c6c9bf2769f685fe910bcd38f179fec
  Author: Simon Pilgrim <llvm-dev at redking.me.uk>
  Date:   2025-02-14 (Fri, 14 Feb 2025)

  Changed paths:
    M llvm/test/CodeGen/X86/vec-strict-cmp-512-skx.ll

  Log Message:
  -----------
  [X86] vec-strict-cmp-512-skx.ll - regenerate checks

Appears to have been manually edited at some point


  Commit: c3d6359d352695d9d39269e656680e21fc60732e
      https://github.com/llvm/llvm-project/commit/c3d6359d352695d9d39269e656680e21fc60732e
  Author: Simon Pilgrim <llvm-dev at redking.me.uk>
  Date:   2025-02-14 (Fri, 14 Feb 2025)

  Changed paths:
    M llvm/test/CodeGen/X86/vec-strict-cmp-128-fp16.ll

  Log Message:
  -----------
  [X86] vec-strict-cmp-128-fp16.ll - regenerate VMOVSH comments


  Commit: f897c75317625a84ef31db413fbc2c875075a965
      https://github.com/llvm/llvm-project/commit/f897c75317625a84ef31db413fbc2c875075a965
  Author: Krishna Pandey <47917477+krishna2803 at users.noreply.github.com>
  Date:   2025-02-14 (Fri, 14 Feb 2025)

  Changed paths:
    M libc/config/baremetal/arm/entrypoints.txt
    M libc/config/baremetal/riscv/entrypoints.txt
    M libc/config/linux/riscv/entrypoints.txt
    M libc/config/linux/x86_64/entrypoints.txt
    M libc/docs/headers/math/stdfix.rst
    M libc/include/stdfix.yaml
    M libc/src/__support/fixed_point/CMakeLists.txt
    M libc/src/__support/fixed_point/fx_bits.h
    M libc/src/__support/fixed_point/fx_rep.h
    M libc/src/stdfix/CMakeLists.txt
    A libc/src/stdfix/countlshk.cpp
    A libc/src/stdfix/countlshk.h
    A libc/src/stdfix/countlshr.cpp
    A libc/src/stdfix/countlshr.h
    A libc/src/stdfix/countlsk.cpp
    A libc/src/stdfix/countlsk.h
    A libc/src/stdfix/countlslk.cpp
    A libc/src/stdfix/countlslk.h
    A libc/src/stdfix/countlslr.cpp
    A libc/src/stdfix/countlslr.h
    A libc/src/stdfix/countlsr.cpp
    A libc/src/stdfix/countlsr.h
    A libc/src/stdfix/countlsuhk.cpp
    A libc/src/stdfix/countlsuhk.h
    A libc/src/stdfix/countlsuhr.cpp
    A libc/src/stdfix/countlsuhr.h
    A libc/src/stdfix/countlsuk.cpp
    A libc/src/stdfix/countlsuk.h
    A libc/src/stdfix/countlsulk.cpp
    A libc/src/stdfix/countlsulk.h
    A libc/src/stdfix/countlsulr.cpp
    A libc/src/stdfix/countlsulr.h
    A libc/src/stdfix/countlsur.cpp
    A libc/src/stdfix/countlsur.h
    M libc/test/src/stdfix/CMakeLists.txt
    A libc/test/src/stdfix/CountlsTest.h
    A libc/test/src/stdfix/countlshk_test.cpp
    A libc/test/src/stdfix/countlshr_test.cpp
    A libc/test/src/stdfix/countlsk_test.cpp
    A libc/test/src/stdfix/countlslk_test.cpp
    A libc/test/src/stdfix/countlslr_test.cpp
    A libc/test/src/stdfix/countlsr_test.cpp
    A libc/test/src/stdfix/countlsuhk_test.cpp
    A libc/test/src/stdfix/countlsuhr_test.cpp
    A libc/test/src/stdfix/countlsuk_test.cpp
    A libc/test/src/stdfix/countlsulk_test.cpp
    A libc/test/src/stdfix/countlsulr_test.cpp
    A libc/test/src/stdfix/countlsur_test.cpp

  Log Message:
  -----------
  [libc][stdfix] Implement `countlsfx` functions in libc. (#126597)

fixes #113357

---------

Signed-off-by: krishna2803 <kpandey81930 at gmail.com>


  Commit: 0a160613e832253c0745f6e2b16ab66bcf8058eb
      https://github.com/llvm/llvm-project/commit/0a160613e832253c0745f6e2b16ab66bcf8058eb
  Author: Chris B <chris.bieneman at me.com>
  Date:   2025-02-14 (Fri, 14 Feb 2025)

  Changed paths:
    M clang/docs/HLSL/FunctionCalls.rst

  Log Message:
  -----------
  [HLSL][Docs] Update function calls docs (#106860)

Update the function calls documentation to match the newly landed
implementation.


  Commit: b596055aa0ffd1ac48e78fd9195a6b7fff89a5bc
      https://github.com/llvm/llvm-project/commit/b596055aa0ffd1ac48e78fd9195a6b7fff89a5bc
  Author: Petr Hosek <phosek at google.com>
  Date:   2025-02-14 (Fri, 14 Feb 2025)

  Changed paths:
    M libc/include/__llvm-libc-common.h
    M libc/include/llvm-libc-macros/features-macros.h

  Log Message:
  -----------
  [libc] Move __LLVM_LIBC__ define to __llvm-libc-common.h (#126877)

Relying on features.h is problematic since codebases are free to have
such a header on their search path, which breaks compilation. libc
should instead provide a more standard way of getting __LLVM_LIBC__.
Since __llvm-libc-common.h is included from all libc headers, defining
__LLVM_LIBC__ there ensures that this define is available whenever any
of the standard header is included.


  Commit: d2fd296c6e9fac27d45d516fc82ba9575dce3791
      https://github.com/llvm/llvm-project/commit/d2fd296c6e9fac27d45d516fc82ba9575dce3791
  Author: vporpo <vporpodas at google.com>
  Date:   2025-02-14 (Fri, 14 Feb 2025)

  Changed paths:
    M llvm/lib/Transforms/Vectorize/SandboxVectorizer/Scheduler.cpp
    M llvm/test/Transforms/SandboxVectorizer/bottomup_basic.ll
    M llvm/test/Transforms/SandboxVectorizer/bottomup_seed_slice_pow2.ll
    M llvm/test/Transforms/SandboxVectorizer/repeated_instrs.ll
    M llvm/test/Transforms/SandboxVectorizer/scheduler.ll

  Log Message:
  -----------
  [SandboxVec][Scheduler] Fix top of schedule (#126820)

This patch fixes the way the top-of-schedule variable gets set and
updated. Before this patch it used to get updated whenever we scheduled
a bundle, which is wrong, as the top-of-schedule needs to be maintained
across scheduling attempts.

It should get reset only when we clear the schedule or when we destroy
the current schedule and re-schedule.


  Commit: 68876c3a14e94c3fcb97192144b4deede072ad45
      https://github.com/llvm/llvm-project/commit/68876c3a14e94c3fcb97192144b4deede072ad45
  Author: Peter Rong <peterrong96 at gmail.com>
  Date:   2025-02-14 (Fri, 14 Feb 2025)

  Changed paths:
    M clang/include/clang/AST/Mangle.h
    M clang/lib/CodeGen/CGObjCMac.cpp
    M clang/lib/CodeGen/CGObjCRuntime.h
    M clang/lib/CodeGen/CodeGenFunction.h

  Log Message:
  -----------
  [clang] run clang-format on some CGObjC files (#126644)

These files are relatively old and don't confront our formatting rules.
It's hard to change them without massive clang-format changes.

---------

Signed-off-by: Peter Rong <PeterRong at meta.com>


  Commit: 52e840de2d6392411a74511bf9bf04b5d7cbf340
      https://github.com/llvm/llvm-project/commit/52e840de2d6392411a74511bf9bf04b5d7cbf340
  Author: Philip Reames <preames at rivosinc.com>
  Date:   2025-02-14 (Fri, 14 Feb 2025)

  Changed paths:
    M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-fp-interleave.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-int-interleave.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-int-shuffles.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-shuffle-changes-length.ll

  Log Message:
  -----------
  [RISCV] Decompose single source shuffles (without exact VLEN) (#126951)

(This is a re-apply for what was 8374d42. The bug there was fairly 
major - despite the comments and review description, the code was 
using each register in the source register group, not only the first 
register. This was completely wrong.)

This is a continuation of the work started in
https://github.com/llvm/llvm-project/pull/125735 to lower selected VLA
shuffles in linear m1 components instead of generating O(LMUL^2) or
O(LMUL*Log2(LMUL) high LMUL shuffles.

This pattern focuses on shuffles where all the elements being used
across the entire destination register group come from a single register
in the source register group. Such cases come up fairly frequently via
e.g. spread(N), and repeat(N) idioms.

One subtlety to this patch is the handling of the index vector for
vrgatherei16.vv. Because the index and source registers can have
different EEW, the index vector for the Nth chunk of the destination is
not guaranteed to be register aligned. In fact, it is common for e.g. an
EEW=64 shuffle to have EEW=16 indices which are four chunks per source
register. Given this, we have to pay a cost for extracting these chunks
into the low position before performing each shuffle.

I'd initially expressed this as a naive extract sub-vector for each data
parallel piece. However, at high LMUL, this quickly caused register
pressure problems since we could at worst need 4x the temporary
registers for the index. Instead, this patch uses a repeating slidedown
chained from previous iterations. This increases critical path by at
worst 3 slides (SEW=64 is the worst case), but reduces register pressure
to at worst 2x - and only if the original index vector is reused
elsewhere. I view this as arguably a bit of a workaround (since our
scheduling should have done better with the plain extract variant), but
a probably necessary one.


  Commit: 0cec84b25d79ba703c2e0e7716d0d34aff198f01
      https://github.com/llvm/llvm-project/commit/0cec84b25d79ba703c2e0e7716d0d34aff198f01
  Author: vporpo <vporpodas at google.com>
  Date:   2025-02-14 (Fri, 14 Feb 2025)

  Changed paths:
    M llvm/include/llvm/Transforms/Vectorize/SandboxVectorizer/InstrMaps.h
    M llvm/lib/Transforms/Vectorize/SandboxVectorizer/Legality.cpp
    M llvm/lib/Transforms/Vectorize/SandboxVectorizer/Passes/BottomUpVec.cpp
    M llvm/test/Transforms/SandboxVectorizer/bottomup_basic.ll
    M llvm/unittests/Transforms/Vectorize/SandboxVectorizer/InstrMapsTest.cpp

  Log Message:
  -----------
  [SandboxVec][Legality] Fix mask on diamond reuse with shuffle (#126963)

This patch fixes a bug in the creation of shuffle masks when vectorizing
vectors in case of a diamond reuse with shuffle. The mask needs to
enumerate all elements of a vector, not treat the original vector value
as a single element. That is: if vectorizing two <2 x float> vectors
into a <4 x float> the mask needs to have 4 indices, not just 2.


  Commit: 819135718827df75339cdb0be13d193e7b23f174
      https://github.com/llvm/llvm-project/commit/819135718827df75339cdb0be13d193e7b23f174
  Author: Philip Reames <preames at rivosinc.com>
  Date:   2025-02-14 (Fri, 14 Feb 2025)

  Changed paths:
    M llvm/lib/Target/RISCV/RISCVProcessors.td
    M llvm/test/CodeGen/RISCV/GlobalISel/add-imm.ll
    M llvm/test/CodeGen/RISCV/GlobalISel/combine-neg-abs.ll
    M llvm/test/CodeGen/RISCV/GlobalISel/double-arith.ll
    M llvm/test/CodeGen/RISCV/GlobalISel/float-arith.ll
    M llvm/test/CodeGen/RISCV/GlobalISel/freeze.ll
    M llvm/test/CodeGen/RISCV/GlobalISel/rotl-rotr.ll
    M llvm/test/CodeGen/RISCV/GlobalISel/rv64zbb.ll
    M llvm/test/CodeGen/RISCV/GlobalISel/rv64zbkb.ll
    M llvm/test/CodeGen/RISCV/GlobalISel/shifts.ll
    M llvm/test/CodeGen/RISCV/GlobalISel/stacksave-stackrestore.ll
    M llvm/test/CodeGen/RISCV/GlobalISel/vararg.ll
    M llvm/test/CodeGen/RISCV/GlobalISel/wide-scalar-shift-by-byte-multiple-legalization.ll
    M llvm/test/CodeGen/RISCV/abds-neg.ll
    M llvm/test/CodeGen/RISCV/abds.ll
    M llvm/test/CodeGen/RISCV/abdu-neg.ll
    M llvm/test/CodeGen/RISCV/abdu.ll
    M llvm/test/CodeGen/RISCV/add-before-shl.ll
    M llvm/test/CodeGen/RISCV/add-imm.ll
    M llvm/test/CodeGen/RISCV/alloca.ll
    M llvm/test/CodeGen/RISCV/alu64.ll
    M llvm/test/CodeGen/RISCV/atomic-rmw-discard.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/bf16-promote.ll
    M llvm/test/CodeGen/RISCV/bfloat-convert.ll
    M llvm/test/CodeGen/RISCV/bfloat-mem.ll
    M llvm/test/CodeGen/RISCV/bfloat.ll
    M llvm/test/CodeGen/RISCV/bittest.ll
    M llvm/test/CodeGen/RISCV/branch-on-zero.ll
    M llvm/test/CodeGen/RISCV/callee-saved-fpr32s.ll
    M llvm/test/CodeGen/RISCV/callee-saved-fpr64s.ll
    M llvm/test/CodeGen/RISCV/callee-saved-gprs.ll
    M llvm/test/CodeGen/RISCV/calling-conv-half.ll
    M llvm/test/CodeGen/RISCV/calling-conv-ilp32-ilp32f-common.ll
    M llvm/test/CodeGen/RISCV/calling-conv-ilp32-ilp32f-ilp32d-common.ll
    M llvm/test/CodeGen/RISCV/calling-conv-ilp32.ll
    M llvm/test/CodeGen/RISCV/calling-conv-ilp32d.ll
    M llvm/test/CodeGen/RISCV/calling-conv-ilp32e.ll
    M llvm/test/CodeGen/RISCV/calling-conv-ilp32f-ilp32d-common.ll
    M llvm/test/CodeGen/RISCV/calling-conv-lp64-lp64f-lp64d-common.ll
    M llvm/test/CodeGen/RISCV/calling-conv-lp64.ll
    M llvm/test/CodeGen/RISCV/calling-conv-lp64e.ll
    M llvm/test/CodeGen/RISCV/calling-conv-rv32f-ilp32.ll
    M llvm/test/CodeGen/RISCV/calling-conv-rv32f-ilp32e.ll
    M llvm/test/CodeGen/RISCV/calls.ll
    M llvm/test/CodeGen/RISCV/codemodel-lowering.ll
    M llvm/test/CodeGen/RISCV/condbinops.ll
    M llvm/test/CodeGen/RISCV/condops.ll
    M llvm/test/CodeGen/RISCV/copysign-casts.ll
    M llvm/test/CodeGen/RISCV/ctlz-cttz-ctpop.ll
    M llvm/test/CodeGen/RISCV/double-calling-conv.ll
    M llvm/test/CodeGen/RISCV/double-convert.ll
    M llvm/test/CodeGen/RISCV/double-fcmp-strict.ll
    M llvm/test/CodeGen/RISCV/double-imm.ll
    M llvm/test/CodeGen/RISCV/double-mem.ll
    M llvm/test/CodeGen/RISCV/double-round-conv-sat.ll
    M llvm/test/CodeGen/RISCV/double-select-fcmp.ll
    M llvm/test/CodeGen/RISCV/double-stack-spill-restore.ll
    M llvm/test/CodeGen/RISCV/fastcc-bf16.ll
    M llvm/test/CodeGen/RISCV/fastcc-float.ll
    M llvm/test/CodeGen/RISCV/fastcc-half.ll
    M llvm/test/CodeGen/RISCV/fastcc-without-f-reg.ll
    M llvm/test/CodeGen/RISCV/float-convert.ll
    M llvm/test/CodeGen/RISCV/float-fcmp-strict.ll
    M llvm/test/CodeGen/RISCV/float-select-fcmp.ll
    M llvm/test/CodeGen/RISCV/fold-addi-loadstore.ll
    M llvm/test/CodeGen/RISCV/forced-atomics.ll
    M llvm/test/CodeGen/RISCV/fp-fcanonicalize.ll
    M llvm/test/CodeGen/RISCV/fp128.ll
    M llvm/test/CodeGen/RISCV/fpclamptosat.ll
    M llvm/test/CodeGen/RISCV/get-setcc-result-type.ll
    M llvm/test/CodeGen/RISCV/half-arith.ll
    M llvm/test/CodeGen/RISCV/half-convert-strict.ll
    M llvm/test/CodeGen/RISCV/half-convert.ll
    M llvm/test/CodeGen/RISCV/half-fcmp-strict.ll
    M llvm/test/CodeGen/RISCV/half-intrinsics.ll
    M llvm/test/CodeGen/RISCV/half-mem.ll
    M llvm/test/CodeGen/RISCV/half-select-fcmp.ll
    M llvm/test/CodeGen/RISCV/iabs.ll
    M llvm/test/CodeGen/RISCV/inline-asm-d-constraint-f.ll
    M llvm/test/CodeGen/RISCV/inline-asm-d-modifier-N.ll
    M llvm/test/CodeGen/RISCV/inline-asm-f-constraint-f.ll
    M llvm/test/CodeGen/RISCV/inline-asm-f-modifier-N.ll
    M llvm/test/CodeGen/RISCV/inline-asm-zfinx-constraint-r.ll
    M llvm/test/CodeGen/RISCV/inline-asm-zhinx-constraint-r.ll
    M llvm/test/CodeGen/RISCV/inline-asm.ll
    M llvm/test/CodeGen/RISCV/intrinsic-cttz-elts-vscale.ll
    M llvm/test/CodeGen/RISCV/legalize-fneg.ll
    M llvm/test/CodeGen/RISCV/llvm.exp10.ll
    M llvm/test/CodeGen/RISCV/llvm.frexp.ll
    M llvm/test/CodeGen/RISCV/loop-strength-reduce-add-cheaper-than-mul.ll
    M llvm/test/CodeGen/RISCV/machine-sink-load-immediate.ll
    M llvm/test/CodeGen/RISCV/machinelicm-address-pseudos.ll
    M llvm/test/CodeGen/RISCV/macro-fusion-lui-addi.ll
    M llvm/test/CodeGen/RISCV/mem.ll
    M llvm/test/CodeGen/RISCV/mem64.ll
    M llvm/test/CodeGen/RISCV/memcmp-optsize.ll
    M llvm/test/CodeGen/RISCV/memcmp.ll
    M llvm/test/CodeGen/RISCV/memmove.ll
    M llvm/test/CodeGen/RISCV/memset-pattern.ll
    M llvm/test/CodeGen/RISCV/mul.ll
    M llvm/test/CodeGen/RISCV/neg-abs.ll
    M llvm/test/CodeGen/RISCV/orc-b-patterns.ll
    M llvm/test/CodeGen/RISCV/overflow-intrinsics.ll
    M llvm/test/CodeGen/RISCV/pr51206.ll
    M llvm/test/CodeGen/RISCV/pr58511.ll
    M llvm/test/CodeGen/RISCV/pr63816.ll
    M llvm/test/CodeGen/RISCV/pr69586.ll
    M llvm/test/CodeGen/RISCV/push-pop-popret.ll
    M llvm/test/CodeGen/RISCV/riscv-codegenprepare-asm.ll
    M llvm/test/CodeGen/RISCV/rotl-rotr.ll
    M llvm/test/CodeGen/RISCV/rv32-inline-asm-pairs.ll
    M llvm/test/CodeGen/RISCV/rv32zbb.ll
    M llvm/test/CodeGen/RISCV/rv32zbs.ll
    M llvm/test/CodeGen/RISCV/rv64-double-convert.ll
    M llvm/test/CodeGen/RISCV/rv64-half-convert.ll
    M llvm/test/CodeGen/RISCV/rv64-inline-asm-pairs.ll
    M llvm/test/CodeGen/RISCV/rv64-trampoline.ll
    M llvm/test/CodeGen/RISCV/rv64i-demanded-bits.ll
    M llvm/test/CodeGen/RISCV/rv64zbkb.ll
    M llvm/test/CodeGen/RISCV/rvv/active_lane_mask.ll
    M llvm/test/CodeGen/RISCV/rvv/alloca-load-store-scalable-array.ll
    M llvm/test/CodeGen/RISCV/rvv/alloca-load-store-scalable-struct.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/calling-conv-fastcc.ll
    M llvm/test/CodeGen/RISCV/rvv/calling-conv.ll
    M llvm/test/CodeGen/RISCV/rvv/ceil-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/combine-store-extract-crash.ll
    M llvm/test/CodeGen/RISCV/rvv/concat-vector-insert-elt.ll
    M llvm/test/CodeGen/RISCV/rvv/constant-folding-crash.ll
    M llvm/test/CodeGen/RISCV/rvv/copyprop.mir
    M llvm/test/CodeGen/RISCV/rvv/ctlz-sdnode.ll
    M llvm/test/CodeGen/RISCV/rvv/ctlz-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/cttz-sdnode.ll
    M llvm/test/CodeGen/RISCV/rvv/cttz-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/dont-sink-splat-operands.ll
    M llvm/test/CodeGen/RISCV/rvv/double-round-conv.ll
    M llvm/test/CodeGen/RISCV/rvv/expandload.ll
    M llvm/test/CodeGen/RISCV/rvv/extractelt-fp.ll
    M llvm/test/CodeGen/RISCV/rvv/extractelt-i1.ll
    M llvm/test/CodeGen/RISCV/rvv/extractelt-int-rv64.ll
    M llvm/test/CodeGen/RISCV/rvv/fceil-constrained-sdnode.ll
    M llvm/test/CodeGen/RISCV/rvv/fceil-sdnode.ll
    M llvm/test/CodeGen/RISCV/rvv/ffloor-constrained-sdnode.ll
    M llvm/test/CodeGen/RISCV/rvv/ffloor-sdnode.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vector-i8-index-cornercase.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-abs-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-bitcast-large-vector.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-buildvec-of-binop.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-calling-conv-fastcc.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-calling-conv.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-ceil-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-ctpop.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-cttz-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-cttz.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-deinterleave-load.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-elen.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-extload-truncstore.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-extract-i1.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-extract-subvector.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-extract.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-fceil-constrained-sdnode.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-ffloor-constrained-sdnode.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-floor-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-fmaximum-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-fmaximum.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-fminimum-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-fminimum.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-fnearbyint-constrained-sdnode.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-fp-buildvec.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-fp-interleave.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-fp-setcc.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-fp-shuffles.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-fp-vrgather.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-fp.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-fpext-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-fpowi.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-fptosi-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-fptoui-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-fptrunc-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-fround-constrained-sdnode.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-fround.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-froundeven-constrained-sdnode.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-froundeven.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-insert-subvector.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-insert.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-int-buildvec.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-int-interleave.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-int-shuffles.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-int-vrgather.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-int.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-interleaved-access-zve32x.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-lrint.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-mask-buildvec.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-mask-splat.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-masked-gather.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-masked-load-fp.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-masked-load-int.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-masked-scatter.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-masked-store-fp.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-masked-store-int.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-nearbyint-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-reduction-formation.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-reduction-fp-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-reduction-fp.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-reduction-int-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-reduction-int.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-rint-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-round-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-roundeven-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-roundtozero-vp.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-sext-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-shuffle-changes-length.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-shuffle-concat.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-shuffle-deinterleave.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-shuffle-exact-vlen.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-shuffle-reverse.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-shufflevector-vnsrl.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-sitofp-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-store-merge-crash.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-strided-load-store-asm.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-strided-vpload.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-strided-vpstore.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-trunc-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-uitofp-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-unaligned.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vadd-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vcopysign-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vfabs-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-vfneg-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vfsqrt-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vmax-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vmaxu-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vmin-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vminu-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vpgather.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vpload.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-vpstore.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vsadd-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vsaddu-vp.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-vselect.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vssub-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vssubu-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vwadd-mask.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-mask.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/fixed-vectors-zext-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/float-round-conv.ll
    M llvm/test/CodeGen/RISCV/rvv/floor-vp.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/fnearbyint-constrained-sdnode.ll
    M llvm/test/CodeGen/RISCV/rvv/fnearbyint-sdnode.ll
    M llvm/test/CodeGen/RISCV/rvv/fold-scalar-load-crash.ll
    M llvm/test/CodeGen/RISCV/rvv/fold-vector-cmp.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/fround-constrained-sdnode.ll
    M llvm/test/CodeGen/RISCV/rvv/fround-sdnode.ll
    M llvm/test/CodeGen/RISCV/rvv/froundeven-constrained-sdnode.ll
    M llvm/test/CodeGen/RISCV/rvv/froundeven-sdnode.ll
    M llvm/test/CodeGen/RISCV/rvv/fshr-fshl-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/half-round-conv.ll
    M llvm/test/CodeGen/RISCV/rvv/localvar.ll
    M llvm/test/CodeGen/RISCV/rvv/memcpy-inline.ll
    M llvm/test/CodeGen/RISCV/rvv/memory-args.ll
    M llvm/test/CodeGen/RISCV/rvv/mgather-sdnode.ll
    M llvm/test/CodeGen/RISCV/rvv/mscatter-sdnode.ll
    M llvm/test/CodeGen/RISCV/rvv/mutate-prior-vsetvli-avl.ll
    M llvm/test/CodeGen/RISCV/rvv/named-vector-shuffle-reverse.ll
    M llvm/test/CodeGen/RISCV/rvv/nearbyint-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/no-reserved-frame.ll
    M llvm/test/CodeGen/RISCV/rvv/pr125306.ll
    M llvm/test/CodeGen/RISCV/rvv/pr63596.ll
    M llvm/test/CodeGen/RISCV/rvv/pr95865.ll
    M llvm/test/CodeGen/RISCV/rvv/reg-alloc-reserve-bp.ll
    M llvm/test/CodeGen/RISCV/rvv/round-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/roundeven-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/roundtozero-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/rvv-args-by-mem.ll
    M llvm/test/CodeGen/RISCV/rvv/rvv-peephole-vmerge-vops.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/shrinkwrap.ll
    M llvm/test/CodeGen/RISCV/rvv/sink-splat-operands.ll
    M llvm/test/CodeGen/RISCV/rvv/stepvector.ll
    M llvm/test/CodeGen/RISCV/rvv/strided-vpload.ll
    M llvm/test/CodeGen/RISCV/rvv/strided-vpstore.ll
    M llvm/test/CodeGen/RISCV/rvv/umulo-sdnode.ll
    M llvm/test/CodeGen/RISCV/rvv/urem-seteq-vec.ll
    M llvm/test/CodeGen/RISCV/rvv/vadd-vp.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/vector-extract-last-active.ll
    M llvm/test/CodeGen/RISCV/rvv/vector-interleave-fixed.ll
    M llvm/test/CodeGen/RISCV/rvv/vector-interleave.ll
    M llvm/test/CodeGen/RISCV/rvv/vfma-vp-combine.ll
    M llvm/test/CodeGen/RISCV/rvv/vfma-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/vfmuladd-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/vfptrunc-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/vfsqrt-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/vl-opt-instrs.ll
    M llvm/test/CodeGen/RISCV/rvv/vmax-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/vmaxu-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/vmin-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/vminu-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/vmseq.ll
    M llvm/test/CodeGen/RISCV/rvv/vmsge.ll
    M llvm/test/CodeGen/RISCV/rvv/vmsgeu.ll
    M llvm/test/CodeGen/RISCV/rvv/vmsgt.ll
    M llvm/test/CodeGen/RISCV/rvv/vmsgtu.ll
    M llvm/test/CodeGen/RISCV/rvv/vmsle.ll
    M llvm/test/CodeGen/RISCV/rvv/vmsleu.ll
    M llvm/test/CodeGen/RISCV/rvv/vmslt.ll
    M llvm/test/CodeGen/RISCV/rvv/vmsltu.ll
    M llvm/test/CodeGen/RISCV/rvv/vmsne.ll
    M llvm/test/CodeGen/RISCV/rvv/vmv.s.x.ll
    M llvm/test/CodeGen/RISCV/rvv/vmv0-elimination.ll
    M llvm/test/CodeGen/RISCV/rvv/vp-combine-store-reverse.ll
    M llvm/test/CodeGen/RISCV/rvv/vp-cttz-elts.ll
    M llvm/test/CodeGen/RISCV/rvv/vp-vector-interleaved-access.ll
    M llvm/test/CodeGen/RISCV/rvv/vpgather-sdnode.ll
    M llvm/test/CodeGen/RISCV/rvv/vpload.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/vpstore.ll
    M llvm/test/CodeGen/RISCV/rvv/vreductions-fp-sdnode.ll
    M llvm/test/CodeGen/RISCV/rvv/vrgatherei16-subreg-liveness.ll
    M llvm/test/CodeGen/RISCV/rvv/vscale-vw-web-simplification.ll
    M llvm/test/CodeGen/RISCV/rvv/vselect-fp.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/vsetvli-insert.ll
    M llvm/test/CodeGen/RISCV/rvv/vsetvli-regression.ll
    M llvm/test/CodeGen/RISCV/rvv/vtrunc-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/vwadd-mask-sdnode.ll
    M llvm/test/CodeGen/RISCV/rvv/vwadd-sdnode.ll
    M llvm/test/CodeGen/RISCV/rvv/vwsub-mask-sdnode.ll
    M llvm/test/CodeGen/RISCV/rvv/vxrm-insert-out-of-loop.ll
    M llvm/test/CodeGen/RISCV/rvv/vxrm-insert.ll
    M llvm/test/CodeGen/RISCV/rvv/wrong-chain-fixed-load.ll
    M llvm/test/CodeGen/RISCV/scmp.ll
    M llvm/test/CodeGen/RISCV/select-and.ll
    M llvm/test/CodeGen/RISCV/select-bare.ll
    M llvm/test/CodeGen/RISCV/select-cc.ll
    M llvm/test/CodeGen/RISCV/select-constant-xor.ll
    M llvm/test/CodeGen/RISCV/select-optimize-multiple.ll
    M llvm/test/CodeGen/RISCV/select-or.ll
    M llvm/test/CodeGen/RISCV/sextw-removal.ll
    M llvm/test/CodeGen/RISCV/shift-amount-mod.ll
    M llvm/test/CodeGen/RISCV/shifts.ll
    M llvm/test/CodeGen/RISCV/shl-cttz.ll
    M llvm/test/CodeGen/RISCV/split-offsets.ll
    M llvm/test/CodeGen/RISCV/srem-seteq-illegal-types.ll
    M llvm/test/CodeGen/RISCV/srem-vector-lkk.ll
    M llvm/test/CodeGen/RISCV/stack-slot-size.ll
    M llvm/test/CodeGen/RISCV/stack-store-check.ll
    M llvm/test/CodeGen/RISCV/tail-calls.ll
    M llvm/test/CodeGen/RISCV/ucmp.ll
    M llvm/test/CodeGen/RISCV/unaligned-load-store.ll
    M llvm/test/CodeGen/RISCV/urem-seteq-illegal-types.ll
    M llvm/test/CodeGen/RISCV/urem-vector-lkk.ll
    M llvm/test/CodeGen/RISCV/vararg.ll
    M llvm/test/CodeGen/RISCV/wide-scalar-shift-by-byte-multiple-legalization.ll
    M llvm/test/CodeGen/RISCV/wide-scalar-shift-legalization.ll
    M llvm/test/CodeGen/RISCV/xaluo.ll
    M llvm/test/CodeGen/RISCV/xtheadmemidx.ll
    M llvm/test/CodeGen/RISCV/xtheadmempair.ll
    M llvm/test/CodeGen/RISCV/zbb-logic-neg-imm.ll
    M llvm/test/CodeGen/RISCV/zdinx-asm-constraint.ll
    M llvm/test/CodeGen/RISCV/zdinx-boundary-check.ll

  Log Message:
  -----------
  [RISCV] Default to MicroOpBufferSize = 1 for scheduling purposes (#126608)

This change introduces a default schedule model for the RISCV target
which leaves everything unchanged except the MicroOpBufferSize. The
default value of this flag in NoSched is 0. Both configurations
represent in order cores (i.e. no reorder window), the difference
between them comes down to whether heuristics other than latency are
allowed to apply. (Implementation details below)

I left the processor models which explicitly set MicroOpBufferSize=0
unchanged in this patch, but strongly suspect we should change those
too. Honestly, I think the LLVM wide default for this flag should be
changed, but don't have the energy to manage the updates for all
targets.

Implementation wise, the effect of this change is that schedule units
which are ready to run *except that* one of their predecessors may not
have completed yet are added to the Available list, not the Pending one.
The result of this is that it becomes possible to chose to schedule a
node before it's ready cycle if the heuristics prefer. This is
essentially chosing to insert a resource stall instead of e.g.
increasing register pressure.

Note that I was initially concerned there might be a correctness aspect
(as in some kind of exposed pipeline design), but the generic scheduler
doesn't seem to know how to insert noop instructions. Without that, a
program wouldn't be guaranteed to schedule on an exposed pipeline
depending on the program and schedule model in question.

The effect of this is that we sometimes prefer register pressure in
codegen results. This is mostly churn (or small wins) on scalar because
we have many more registers, but is of major importance on vector -
particularly high LMUL - because we effectively have many fewer
registers and the relative cost of spilling is much higher. This is a
significant improvement on high LMUL code quality for default rva23u
configurations - or any non -mcpu vector configuration for that matter.

Fixes #107532


  Commit: 0965d87b4e3f05f1c8dfd9d4c7b95b9cd0e4d6d7
      https://github.com/llvm/llvm-project/commit/0965d87b4e3f05f1c8dfd9d4c7b95b9cd0e4d6d7
  Author: Vasileios Porpodas <vporpodas at google.com>
  Date:   2025-02-14 (Fri, 14 Feb 2025)

  Changed paths:
    M llvm/lib/Transforms/Vectorize/SandboxVectorizer/Legality.cpp

  Log Message:
  -----------
  [SandboxVec] Fix warnings introduced by 7a7f9190d03e


  Commit: 97367289e045cb37c706c71946f99cafa9f20065
      https://github.com/llvm/llvm-project/commit/97367289e045cb37c706c71946f99cafa9f20065
  Author: Florian Hahn <flo at fhahn.com>
  Date:   2025-02-14 (Fri, 14 Feb 2025)

  Changed paths:
    M llvm/include/llvm/Analysis/LoopAccessAnalysis.h
    A llvm/test/Analysis/LoopAccessAnalysis/retry-runtime-checks-after-dependence-analysis.ll

  Log Message:
  -----------
  [LAA] Also clear CheckingGroups in RuntimePointerChecking::reset.

This fixes a crash when trying to print access-info in the newly added
test cases.


  Commit: e58e6aa9cc0970586b131f8e03e0d99ca8edd9c1
      https://github.com/llvm/llvm-project/commit/e58e6aa9cc0970586b131f8e03e0d99ca8edd9c1
  Author: Thurston Dang <thurston at google.com>
  Date:   2025-02-14 (Fri, 14 Feb 2025)

  Changed paths:
    M llvm/lib/Transforms/Instrumentation/MemorySanitizer.cpp
    M llvm/test/Instrumentation/MemorySanitizer/AArch64/arm64-cvt.ll
    M llvm/test/Instrumentation/MemorySanitizer/AArch64/arm64-vcvt.ll

  Log Message:
  -----------
  [msan] Handle single-parameter Arm NEON vector convert intrinsics (#126136)

This handles the following llvm.aarch64.neon intrinsics, which were suboptimally handled by visitInstruction:
- fcvtas, fcvtau
- fcvtms, fcvtmu
- fcvtns, fcvtnu
- fcvtps, fcvtpu
- fcvtzs, fcvtzu

The old instrumentation checked that the shadow of every element of the input vector was fully initialized, and aborted otherwise. The new instrumentation propagates the shadow: for each element of the output, the shadow is initialized iff the corresponding element of the input is *fully* initialized (since these are floating-point to integer conversions).

Updates the tests from https://github.com/llvm/llvm-project/pull/126095


  Commit: 2b0449b1b8be42969c0afc71fd66ddd83d4ea039
      https://github.com/llvm/llvm-project/commit/2b0449b1b8be42969c0afc71fd66ddd83d4ea039
  Author: Thurston Dang <thurston at google.com>
  Date:   2025-02-14 (Fri, 14 Feb 2025)

  Changed paths:
    M llvm/lib/Transforms/Instrumentation/MemorySanitizer.cpp
    M llvm/test/Instrumentation/MemorySanitizer/scmp.ll
    M llvm/test/Instrumentation/MemorySanitizer/ucmp.ll

  Log Message:
  -----------
  [msan] Handle llvm.[us]cmp (starship operator) (#125804)

Apply handleShadowOr to llvm.[us]cmp. Previously, llvm.[su]cmp was correctly handled heuristically when each parameter type is the same as the return type (e.g., `call i8 @llvm.ucmp.i8.i8(i8 %x, i8 %y)`) but handled incorrectly by visitInstruction when the return type is different e.g., (`call i8 @llvm.ucmp.i8.i62(i62 %x, i62 %y)`, `call <4 x i8> @llvm.ucmp.v4i8.v4i32(<4 x i32> %x, <4 x i32> %y)`).

Updates the tests from https://github.com/llvm/llvm-project/pull/125790


  Commit: eb460568b98846e89637c3944e995896cf202f0b
      https://github.com/llvm/llvm-project/commit/eb460568b98846e89637c3944e995896cf202f0b
  Author: S. Bharadwaj Yadavalli <Bharadwaj.Yadavalli at microsoft.com>
  Date:   2025-02-14 (Fri, 14 Feb 2025)

  Changed paths:
    M clang/lib/CodeGen/CGHLSLRuntime.cpp
    R clang/test/CodeGenHLSL/disable_opt.hlsl
    M llvm/lib/Target/DirectX/DXILShaderFlags.cpp
    M llvm/lib/Target/DirectX/DXILShaderFlags.h
    A llvm/test/CodeGen/DirectX/ShaderFlags/disable-opt-cs.ll
    A llvm/test/CodeGen/DirectX/ShaderFlags/disable-opt-lib.ll
    A llvm/test/CodeGen/DirectX/ShaderFlags/lib-entry-attr-error.ll
    M llvm/test/CodeGen/DirectX/llc-pipeline.ll

  Log Message:
  -----------
  [DirectX] Set Shader Flag DisableOptimizations (#126813)

- Set the shader flag `DisableOptimizations` based on `optnone`
attribute of shader entry functions.

- Add DXIL Metadata Analysis pass as pre-requisite for Shader Flags pass
to obtain entry function information collected therein.

- Named module metadata `dx.disable_optimizations` is intended to
indicate disabling optimizations (`-O0`) via commandline flag. However,
its intent is fulfilled by `optnone` attribute of shader entry functions as 
implemented in a recent change, and thus not needed. Delete
generation of named metadata and corresponding test file
`disable_opt.ll`.

- Add tests to verify correctness of setting shader flag.

Closes #112263


  Commit: a2f24175f8e848680328af284937e82af1b04492
      https://github.com/llvm/llvm-project/commit/a2f24175f8e848680328af284937e82af1b04492
  Author: Jason Molenda <jmolenda at apple.com>
  Date:   2025-02-14 (Fri, 14 Feb 2025)

  Changed paths:
    M lldb/source/Target/ThreadPlanStepOut.cpp
    A lldb/test/API/functionalities/thread/finish-from-empty-func/Makefile
    A lldb/test/API/functionalities/thread/finish-from-empty-func/TestEmptyFuncThreadStepOut.py
    A lldb/test/API/functionalities/thread/finish-from-empty-func/main.c

  Log Message:
  -----------
  [lldb] Update ThreadPlanStepOut to handle new breakpoint behavior (#126838)

I will be changing breakpoint hitting behavior soon, where currently
lldb reports a breakpoint as being hit when a thread is *at* a
BreakpointSite, but possibly has not executed the breakpoint instruction
and trapped yet, to having lldb only report a breakpoint hit when the
breakpoint instruction has actually been executed.

One corner case bug with this change is that when you are stopped at a
breakpoint (that has been hit) on the last instruction of a function,
and you do `finish`, a ThreadPlanStepOut is pushed to the thread's plan
stack to put a breakpoint on the return address and resume execution.
And when the thread is asked to resume, it sees that it is at a
BreakpointSite that has been hit, and pushes a
ThreadPlanStepOverBreakpoint on the thread.   The StepOverBreakpoint
plan sees that the thread's state is eStateRunning (not eStateStepping),
so it marks itself as "auto continue" -- so once the breakpoint has
been stepped over, we will execution on the thread.

With current lldb stepping behavior ("a thread *at* a BreakpointSite is
said to have stopped with a breakpoint-hit stop reason, even if the
breakpoint hasn't been executed yet"),
`ThreadPlanStepOverBreakpoint::DoPlanExplainsStop` has a special bit of
code which detects when the thread stops with a eStopReasonBreakpoint.
It first checks if the pc is the same as when we started -- did our
"step instruction" not actually step? -- says the stop reason is
explained. Otherwise it sets auto-continue to false (because we've hit
an *unexpected* breakpoint, and we have advanced past our original pc,
and returns false - the stop reason is not explained.

So we do the "finish", lldb instruction steps, we stop *at* the
return-address breakpoint and lldb sets the thread's stop reason to
breakpoint-hit. ThreadPlanStepOverBreakpoint sees an
eStopReasonBreakpoint, sets its auto-continue to false, and says we
stopped for osme reason other than this plan. (and it will also report
`IsPlanStale()==true` so it will remove itself) Meanwhile the
ThreadPlanStepOut sees that it has stopped in the StackID it wanted to
run to, and return success.

This all changes when stopping at a breakpoint site doesn't report
breakpoint-hit until we actually execute the instruction. Now the
ThraedPlanStepOverBreakpoint looks at the thread's stop reason, it's
eStopReasonTrace (we've instruction stepped), and so it leaves its
auto-continue to `true`. ThreadPlanStepOut sees that it has reached its
goal StackID, removes its breakpoint, and says it is done.
Thread::ShouldStop thinks the auto-continue == yes vote from
ThreadPlanStepOverBreakpoint wins, and we lose control of the process.

This patch changes ThreadPlanStepOut to require that *both* (1) we are
at the StackID of the caller function, where we wanted to end up, and
(2) we have actually hit the breakpoint that we inserted.

This in effect means that now lldb instruction-steps over the breakpoint
in the callee function, stops at the return address of the caller
function. StepOverBreakpoint has completed. StepOut is still running,
and we continue the thread again. We immediatley hit the breakpoint
(that we're sitting at), and now ThreadPlanStepOut marks itself as
completed, and we return control to the user.

Jim suggests that ThreadPlanStepOverBreakpoint is a bit unusual because
it's not something pushed on the stack by a higher-order thread plan
that "owns" it, it is inserted by the Thread as it is about to resume,
if we're at a BreakpointSite. It has no connection to the thread plans
above it, but tries to set the auto-continue mode based on the state of
the thread when it is inserted (and tries to detect an unexpected
breakpoint and unset that auto-continue it previously decided on,
because it now realizes it should not influence execution control any
more). Instead maybe the
ThreadPlanStepOverBreakpoint should be inserted as a child plan of
whatever the lowest plan is on the stack at the point it is added.

I added an API test that will catch this bug in the new thread
breakpoint algorithm.


  Commit: 9f9ed9809d362fc01eb87a75d920c1c65bad144f
      https://github.com/llvm/llvm-project/commit/9f9ed9809d362fc01eb87a75d920c1c65bad144f
  Author: Jason Molenda <jmolenda at apple.com>
  Date:   2025-02-14 (Fri, 14 Feb 2025)

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

  Log Message:
  -----------
  [lldb] inserted a typeo when checking in a suggested fix


  Commit: 94564b28f4256c5c4c859532f46acc0a8280d95e
      https://github.com/llvm/llvm-project/commit/94564b28f4256c5c4c859532f46acc0a8280d95e
  Author: Nikhil Kalra <nkalra at apple.com>
  Date:   2025-02-14 (Fri, 14 Feb 2025)

  Changed paths:
    M mlir/include/mlir-c/IR.h
    M mlir/lib/Bindings/Python/IRCore.cpp
    M mlir/lib/CAPI/IR/IR.cpp
    M mlir/python/mlir/_mlir_libs/_mlir/ir.pyi
    M mlir/test/python/ir/module.py

  Log Message:
  -----------
  [mlir] Python: Parse ModuleOp from file path (#126572)

For extremely large models, it may be inefficient to load the model into
memory in Python prior to passing it to the MLIR C APIs for
deserialization. This change adds an API to parse a ModuleOp directly
from a file path.

Re-lands
[4e14b8a](https://github.com/llvm/llvm-project/commit/4e14b8afb44af58ab7073bb8c0b52875599b0ae1).


  Commit: b842f38c2b541eb49ca9d5a97418e7d7118c8f0b
      https://github.com/llvm/llvm-project/commit/b842f38c2b541eb49ca9d5a97418e7d7118c8f0b
  Author: Shubham Sandeep Rastogi <srastogi22 at apple.com>
  Date:   2025-02-14 (Fri, 14 Feb 2025)

  Changed paths:
    A llvm/include/llvm/CodeGen/DroppedVariableStatsMIR.h
    A llvm/include/llvm/IR/DroppedVariableStats.h
    A llvm/include/llvm/IR/DroppedVariableStatsIR.h
    R llvm/include/llvm/Passes/DroppedVariableStats.h
    R llvm/include/llvm/Passes/DroppedVariableStatsIR.h
    M llvm/include/llvm/Passes/StandardInstrumentations.h
    M llvm/lib/CodeGen/CMakeLists.txt
    A llvm/lib/CodeGen/DroppedVariableStatsMIR.cpp
    M llvm/lib/CodeGen/MachineFunctionPass.cpp
    M llvm/lib/IR/CMakeLists.txt
    A llvm/lib/IR/DroppedVariableStats.cpp
    A llvm/lib/IR/DroppedVariableStatsIR.cpp
    M llvm/lib/Passes/CMakeLists.txt
    R llvm/lib/Passes/DroppedVariableStatsIR.cpp
    M llvm/unittests/CodeGen/CMakeLists.txt
    A llvm/unittests/CodeGen/DroppedVariableStatsMIRTest.cpp

  Log Message:
  -----------
  Add a pass to collect dropped var statistics for MIR (#126686)

This patch attempts to reland
https://github.com/llvm/llvm-project/pull/120780 while addressing the
issues that caused the patch to be reverted.

Namely:

1. The patch had included code from the llvm/Passes directory in the
llvm/CodeGen directory.

2. The patch increased the backend compile time by 2% due to adding a
very expensive include in MachineFunctionPass.h

The patch has been re-structured so that there is no dependency between
the llvm/Passes and llvm/CodeGen directory, by moving the base class,
`class DroppedVariableStats` to the llvm/IR directory.

The expensive include in MachineFunctionPass.h has been changed to
contain forward declarations instead of other header includes which was
pulling a ton of code into MachineFunctionPass.h and should resolve any
issues when it comes to compile time increase.


  Commit: 4158095eab81ca9b2b687451625197ada9e83037
      https://github.com/llvm/llvm-project/commit/4158095eab81ca9b2b687451625197ada9e83037
  Author: Jeffrey Byrnes <jeffrey.byrnes at amd.com>
  Date:   2025-02-14 (Fri, 14 Feb 2025)

  Changed paths:
    M llvm/lib/Target/AMDGPU/AMDGPUMemoryUtils.cpp
    A llvm/test/CodeGen/AMDGPU/iglp-no-clobber.ll

  Log Message:
  -----------
  [AMDGPU] iglp.opt does not clobber memory operands (#126976)

I think it was an accident that this wasn't included.


  Commit: 478f9dc6dcf0c2d06fe3e13622216890cc093eb7
      https://github.com/llvm/llvm-project/commit/478f9dc6dcf0c2d06fe3e13622216890cc093eb7
  Author: Razvan Lupusoru <razvan.lupusoru at gmail.com>
  Date:   2025-02-14 (Fri, 14 Feb 2025)

  Changed paths:
    M mlir/include/mlir/Dialect/OpenACC/OpenACCOps.td

  Log Message:
  -----------
  [mlir][acc] Clean up TypedValue builders (#126968)

When MappableType was introduced alongside PointerLikeType, the data
clause operation builders were duplicated to accept a `TypedValue` of
one of the two type options. However, the underlying builder takes a
`Value` and this difference is not relevant for it. The only difference
is that `varType` is set differently depending on the type.

Having two duplicated builders can lead to clunky building since a
`Value` must always be cast to one of the two options. Thus, simply
clean this up - the verifier already checks that it is a type that
implements one of the two interfaces.


  Commit: 16ccf36e8b056ed954214d2e6353358f7c2006ff
      https://github.com/llvm/llvm-project/commit/16ccf36e8b056ed954214d2e6353358f7c2006ff
  Author: Nikhil Kalra <nkalra at apple.com>
  Date:   2025-02-14 (Fri, 14 Feb 2025)

  Changed paths:
    M mlir/lib/Bytecode/Writer/BytecodeWriter.cpp
    M mlir/unittests/Bytecode/BytecodeTest.cpp

  Log Message:
  -----------
  [mlir] BytecodeWriter: invoke `reserveExtraSpace` (#126953)

Update `BytecodeWriter` to invoke `reserveExtraSpace` on the stream
before writing to it. This will give clients implementing custom output
streams the opportunity to allocate an appropriately sized buffer for
the write.


  Commit: caa9f32bc27418f06852607b35e89567fdfb84b2
      https://github.com/llvm/llvm-project/commit/caa9f32bc27418f06852607b35e89567fdfb84b2
  Author: Thurston Dang <thurston at google.com>
  Date:   2025-02-14 (Fri, 14 Feb 2025)

  Changed paths:
    M llvm/test/Instrumentation/HWAddressSanitizer/pgo-opt-out.ll

  Log Message:
  -----------
  [hwasan][NFCI] Add more test cases to llvm/test/Instrumentation/HWAddressSanitizer/pgo-opt-out.ll (#126980)

Add more combinations of parameters to test that the skip conditions are
OR'ed together


  Commit: c31b85120e883226c5caf949b0b5a8decad4fc31
      https://github.com/llvm/llvm-project/commit/c31b85120e883226c5caf949b0b5a8decad4fc31
  Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
  Date:   2025-02-14 (Fri, 14 Feb 2025)

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

  Log Message:
  -----------
  [gn build] Port 92f916faba13


  Commit: ff132728f4800fbefbcafc89455215fa6bbaf786
      https://github.com/llvm/llvm-project/commit/ff132728f4800fbefbcafc89455215fa6bbaf786
  Author: Nick Desaulniers <nick.desaulniers at gmail.com>
  Date:   2025-02-14 (Fri, 14 Feb 2025)

  Changed paths:
    M libc/include/llvm-libc-macros/CMakeLists.txt
    M libc/include/llvm-libc-macros/pthread-macros.h
    M libc/test/integration/src/pthread/pthread_mutex_test.cpp

  Log Message:
  -----------
  [libc][pthread] fix -Wmissing-field-initializers (#126314)

Fixes:


llvm-project/libc/test/integration/src/pthread/pthread_rwlock_test.cpp:59:29:
    warning: missing field '__preference' initializer
    [-Wmissing-field-initializers]
       59 |   pthread_rwlock_t rwlock = PTHREAD_RWLOCK_INITIALIZER;
          |                             ^

Also, add a test that demonstrates the same issue for
PTHREAD_MUTEX_INITIALIZER, and fix that, too.

PTHREAD_ONCE_INIT does not have this issue and does have test coverage.


  Commit: 5d74a337638881523804d55f22e3675df3ba635d
      https://github.com/llvm/llvm-project/commit/5d74a337638881523804d55f22e3675df3ba635d
  Author: vporpo <vporpodas at google.com>
  Date:   2025-02-14 (Fri, 14 Feb 2025)

  Changed paths:
    M llvm/lib/Transforms/Vectorize/SandboxVectorizer/Legality.cpp
    M llvm/lib/Transforms/Vectorize/SandboxVectorizer/Passes/BottomUpVec.cpp
    M llvm/test/Transforms/SandboxVectorizer/bottomup_basic.ll

  Log Message:
  -----------
  [SanbdoxVec][BottomUpVec] Fix diamond shuffle with multiple vector inputs (#126965)

When the operand comes from multiple inputs then we need additional
packing code. When the operands are scalar then we can use a single
InsertElementInst. But when the operands are vectors then we need a
chain of ExtractElementInst and InsertElementInst instructions to insert
the vector value into the destination vector. This is what this patch
implements.


  Commit: 39f733d1aa5f7b8f60b77387a8607c737f81d1e6
      https://github.com/llvm/llvm-project/commit/39f733d1aa5f7b8f60b77387a8607c737f81d1e6
  Author: Louis Dionne <ldionne.2 at gmail.com>
  Date:   2025-02-14 (Fri, 14 Feb 2025)

  Changed paths:
    M libcxx/docs/Hardening.rst

  Log Message:
  -----------
  [libc++] Add a link to __builtin_verbose_trap from the hardening docs (#126930)


  Commit: 927f3e7dacb46c5e6aff09f41cb920cfebcbddb4
      https://github.com/llvm/llvm-project/commit/927f3e7dacb46c5e6aff09f41cb920cfebcbddb4
  Author: Louis Dionne <ldionne.2 at gmail.com>
  Date:   2025-02-14 (Fri, 14 Feb 2025)

  Changed paths:
    M libcxx/utils/ci/run-buildbot

  Log Message:
  -----------
  [libc++] Simplify the apple-system-hardened CI configuration (#126911)

It was basically a copy-paste of the non-hardened version of the same
job, and it's easy to remove the duplication.


  Commit: 48fd88bb125ca33289134ca73f50524167cd84ee
      https://github.com/llvm/llvm-project/commit/48fd88bb125ca33289134ca73f50524167cd84ee
  Author: Amir Bishara <139038766+amirBish at users.noreply.github.com>
  Date:   2025-02-14 (Fri, 14 Feb 2025)

  Changed paths:
    M mlir/lib/Dialect/Tosa/IR/TosaOps.cpp
    M mlir/test/Dialect/Tosa/invalid.mlir

  Log Message:
  -----------
  [mlir][tosa]-Edit the verifier of tosa constShapeOp (#126962)

Add verification for rank 1 for the elements' attribute of the tosa
const_shape operation.


  Commit: 0a0c40db523ad7e21d353d6e9ebc4bd5f3a2e99e
      https://github.com/llvm/llvm-project/commit/0a0c40db523ad7e21d353d6e9ebc4bd5f3a2e99e
  Author: vporpo <vporpodas at google.com>
  Date:   2025-02-14 (Fri, 14 Feb 2025)

  Changed paths:
    M llvm/lib/Transforms/Vectorize/SandboxVectorizer/DependencyGraph.cpp
    M llvm/unittests/Transforms/Vectorize/SandboxVectorizer/DependencyGraphTest.cpp

  Log Message:
  -----------
  [SandboxVec][DAG] Fix DAG when old interval is mem free (#126983)

This patch fixes a bug in `DependencyGraph::extend()` when the old
interval contains no memory instructions. When this is the case we
should do a full dependency scan of the new interval.


  Commit: ff29772a296d575c2a17e378ccd94c77f39c084e
      https://github.com/llvm/llvm-project/commit/ff29772a296d575c2a17e378ccd94c77f39c084e
  Author: Andrzej Warzyński <andrzej.warzynski at arm.com>
  Date:   2025-02-14 (Fri, 14 Feb 2025)

  Changed paths:
    M mlir/include/mlir/Dialect/Tensor/IR/Tensor.h
    M mlir/lib/Dialect/Tensor/IR/TensorOps.cpp

  Log Message:
  -----------
  [mlir][tensor] Make useful Tensor utilities public (#126802)

1. Extract the main logic from `foldTensorCastPrecondition` into a
   dedicated helper hook: `hasFoldableTensorCastOperand`. This allows
   for reusing the corresponding checks.

2. Rename `getNewOperands` to `getUpdatedOperandsAfterCastOpFolding` for
   better clarity and documentation of its functionality.

3. These updated hooks will be reused in:
   * https://github.com/llvm/llvm-project/pull/123902. This PR makes
     them public.

**Note:** Moving these hooks to `Tensor/Utils` is not feasible because
`MLIRTensorUtils` depends on `MLIRTensorDialect` (CMake targets). If
these hooks were moved to `Utils`, it would create a dependency of
`MLIRTensorDialect` on `MLIRTensorUtils`, leading to a circular
dependency.


  Commit: a8bc94bd6bf6519597c825b80887b8cf86fedb7c
      https://github.com/llvm/llvm-project/commit/a8bc94bd6bf6519597c825b80887b8cf86fedb7c
  Author: Robert Imschweiler <50044286+ro-i at users.noreply.github.com>
  Date:   2025-02-14 (Fri, 14 Feb 2025)

  Changed paths:
    M llvm/lib/Target/AMDGPU/SIISelLowering.cpp
    A llvm/test/CodeGen/AMDGPU/llvm.amdgcn.workitem.id-unsupported-calling-convention.ll

  Log Message:
  -----------
  [AMDGPU] SelDAG: fix lowering of undefined workitem intrinsics (#126058)

GlobalISel already handles undefined workitem.id.{x,y,z} intrinsics,
SelDAG failed in AMDGPUISelLowering.cpp due to a failed assertion in
`AMDGPUTargetLowering::loadInputValue`: `Arg && "Attempting to load
missing argument"`. This commit changes the behavior of SelDAG to
instead use a zero constant.

This LLVM defect was identified via the AMD Fuzzing project.


  Commit: 1ee99f12649807585efaf1e6c9ddc5b59d28d1f5
      https://github.com/llvm/llvm-project/commit/1ee99f12649807585efaf1e6c9ddc5b59d28d1f5
  Author: Matthew Bastien <matthew_bastien at apple.com>
  Date:   2025-02-14 (Fri, 14 Feb 2025)

  Changed paths:
    M lldb/tools/lldb-dap/package.json
    M lldb/tools/lldb-dap/src-ts/debug-adapter-factory.ts

  Log Message:
  -----------
  [lldb-dap] add `debugAdapterExecutable` property to launch configuration (#126803)

The Swift extension for VS Code requires that the `lldb-dap` executable
come from the Swift toolchain which may or may not be configured in
`PATH`. At the moment, this can be configured via LLDB DAP's extension
settings, but experience has shown that modifying other extensions'
settings on behalf of the user (especially those subject to change
whenever a new toolchain is selected) causes issues. Instead, it would
be easier to have this configurable in the launch configuration and let
the Swift extension (or any other extension that wanted to, really)
configure the path to `lldb-dap` that way. This allows the Swift
extension to have its own launch configuration type that delegates to
the LLDB DAP extension in order to provide a more seamless debugging
experience for Swift executables.

This PR adds a new property to the launch configuration object called
`debugAdapterExecutable` which allows overriding the `lldb-dap`
executable path for a specific debug session.


  Commit: 9be2c46a02131d8b44c21f7e4e669fc3b9c08914
      https://github.com/llvm/llvm-project/commit/9be2c46a02131d8b44c21f7e4e669fc3b9c08914
  Author: Florian Mayer <fmayer at google.com>
  Date:   2025-02-14 (Fri, 14 Feb 2025)

  Changed paths:
    M compiler-rt/lib/sanitizer_common/sanitizer_allocator_local_cache.h

  Log Message:
  -----------
  [compiler-rt] [sanitizer] avoid UB in allocator (#126977)


  Commit: 1747fbc3ba3d622f0d50dc1733d0106fbc0be059
      https://github.com/llvm/llvm-project/commit/1747fbc3ba3d622f0d50dc1733d0106fbc0be059
  Author: Uday Bondhugula <uday at polymagelabs.com>
  Date:   2025-02-14 (Fri, 14 Feb 2025)

  Changed paths:
    M mlir/lib/Dialect/Affine/Transforms/LoopFusion.cpp
    M mlir/test/Dialect/Affine/loop-fusion-4.mlir

  Log Message:
  -----------
  [MLIR][Affine] Fix fusion crash for non-int/fp memref elt types (#126829)

Fix assumption on memref elt types being int or float during private
memref creation in affine fusion.

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


  Commit: e8e9320207ad7d18d6123aaad44828d6ec0afa77
      https://github.com/llvm/llvm-project/commit/e8e9320207ad7d18d6123aaad44828d6ec0afa77
  Author: Da-Viper <57949090+Da-Viper at users.noreply.github.com>
  Date:   2025-02-14 (Fri, 14 Feb 2025)

  Changed paths:
    M lldb/tools/lldb-dap/src-ts/debug-adapter-factory.ts

  Log Message:
  -----------
  [lldb-dap] Fix: Could not find DAP in path (#126903)

Fixes #120839


  Commit: bf6a02ffef0fea547a2b972b08948ab953738fb7
      https://github.com/llvm/llvm-project/commit/bf6a02ffef0fea547a2b972b08948ab953738fb7
  Author: Jonas Devlieghere <jonas at devlieghere.com>
  Date:   2025-02-14 (Fri, 14 Feb 2025)

  Changed paths:
    M lldb/tools/lldb-dap/package.json

  Log Message:
  -----------
  [lldb-dap] Bump the version number for publishing in the Marketplace


  Commit: 02026c10f2b2c2d776569b1654929090d6d84f97
      https://github.com/llvm/llvm-project/commit/02026c10f2b2c2d776569b1654929090d6d84f97
  Author: Thurston Dang <thurston at google.com>
  Date:   2025-02-14 (Fri, 14 Feb 2025)

  Changed paths:
    M llvm/lib/Transforms/Instrumentation/MemorySanitizer.cpp
    M llvm/test/Instrumentation/MemorySanitizer/AArch64/arm64-vmovn.ll
    M llvm/test/Instrumentation/MemorySanitizer/AArch64/qshrn.ll

  Log Message:
  -----------
  [msan] Handle Arm NEON saturating extract and narrow (#125742)

This handles NEON saturating extract and narrow (Intrinsic::aarch64_neon_{sqxtn, sqxtun, uqxtn}) by (ab)using handleShadowOr() to perform the shadow cast. Previously, these were unknown intrinsics handled suboptimally by visitInstruction.

Updates the tests from https://github.com/llvm/llvm-project/pull/125288 and https://github.com/llvm/llvm-project/pull/125140


  Commit: a2477c5c49aca3d5a2d9ff6d50c495a66cc515d4
      https://github.com/llvm/llvm-project/commit/a2477c5c49aca3d5a2d9ff6d50c495a66cc515d4
  Author: Tristan Ross <tristan.ross at midstall.com>
  Date:   2025-02-14 (Fri, 14 Feb 2025)

  Changed paths:
    M llvm/cmake/config-ix.cmake
    M llvm/include/llvm/Config/config.h.cmake
    M llvm/lib/Support/Unix/Process.inc

  Log Message:
  -----------
  [Support] Prefer AUX vector for page size (#126863)

Prefers the page size to come from the AUX vector, `getpagesize` is
removed from POSIX.1-2001. Also throws in a couple asserts to ensure the
page size is a valid value.


  Commit: b2e11b5f0afe4318fa141f5d930c1438aca5de33
      https://github.com/llvm/llvm-project/commit/b2e11b5f0afe4318fa141f5d930c1438aca5de33
  Author: Uday Bondhugula <uday at polymagelabs.com>
  Date:   2025-02-14 (Fri, 14 Feb 2025)

  Changed paths:
    M mlir/lib/Dialect/Affine/Transforms/LoopFusion.cpp
    M mlir/test/Dialect/Affine/loop-fusion-2.mlir
    M mlir/test/Dialect/Affine/loop-fusion-4.mlir
    M mlir/test/Dialect/Affine/loop-fusion.mlir

  Log Message:
  -----------
  [MLIR][Affine] Fix sibling fusion - missing check (#126626)

Fix sibling fusion for slice maximality check. Producer-consumer fusion
had this check but not sibling fusion. Sibling fusion shouldn't be
performed if the slice isn't "maximal" (i.e., if it isn't the whole of
the source).


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


  Commit: d8097b5d72955f2b92346e680300cc710f24b888
      https://github.com/llvm/llvm-project/commit/d8097b5d72955f2b92346e680300cc710f24b888
  Author: Longsheng Mou <longshengmou at gmail.com>
  Date:   2025-02-14 (Fri, 14 Feb 2025)

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

  Log Message:
  -----------
  [mlir][vector] Fix out-of-bounds access (#126734)

This PR fixes an out-of-bounds bug that occurs when there are no overlap
dimensions between the `sizes` and source of
`vector.extract_strided_slice`, causing access to `sizes` to go out of
bounds. Fixes #126196.


  Commit: ffb09a438e20112e64d4d2cf669fb32593f6db6c
      https://github.com/llvm/llvm-project/commit/ffb09a438e20112e64d4d2cf669fb32593f6db6c
  Author: Florian Mayer <fmayer at google.com>
  Date:   2025-02-14 (Fri, 14 Feb 2025)

  Changed paths:
    M compiler-rt/lib/sanitizer_common/symbolizer/scripts/global_symbols.txt

  Log Message:
  -----------
  [NFC] [sanitizer] allow getauxval in symbolizer


  Commit: 66fbb077a62ae1fa9d14d898feb9d43f2ec0e31e
      https://github.com/llvm/llvm-project/commit/66fbb077a62ae1fa9d14d898feb9d43f2ec0e31e
  Author: Thurston Dang <thurston at google.com>
  Date:   2025-02-14 (Fri, 14 Feb 2025)

  Changed paths:
    M llvm/lib/Transforms/Instrumentation/HWAddressSanitizer.cpp

  Log Message:
  -----------
  [hwasan][NFCI] Rename ClRandomSkipRate to ClRandomKeepRate (#126990)

The meaning of ClRandomSkipRate was inverted in
https://github.com/llvm/llvm-project/pull/88070 but the variable name
was not changed. This patch fixes it to avoid confusion.

Additionally, it elaborates the flag description to mention the
interaction between the random keep rate and hotness cutoff.


  Commit: 6d91052b718759b6aa0941031873296a7ad3fca6
      https://github.com/llvm/llvm-project/commit/6d91052b718759b6aa0941031873296a7ad3fca6
  Author: Jonas Devlieghere <jonas at devlieghere.com>
  Date:   2025-02-14 (Fri, 14 Feb 2025)

  Changed paths:
    M lldb/tools/lldb-dap/package-lock.json
    M lldb/tools/lldb-dap/package.json

  Log Message:
  -----------
  [lldb-dap] Upgrade @types/node to fix TS2386 in node/module.d.ts (#126994)

Upgrade @types/node to work around an issue in TypeScript [1] that
caused our "publish to VSCode Marketplace" github action [2] to fail:

```
node_modules/@types/node/module.d.ts:290:13 - error TS2386: Overload signatures must all be optional or required.

290             resolve?(specified: string, parent?: string | URL): Promise<string>;
```

[1] https://github.com/microsoft/TypeScript/pull/59259#issuecomment-2228833941
[2] https://github.com/llvm/vscode-lldb/actions/runs/13298213337/job/37134713009


  Commit: 293d923b051f2f492285be97e331283364a0a116
      https://github.com/llvm/llvm-project/commit/293d923b051f2f492285be97e331283364a0a116
  Author: Koakuma <koachan at protonmail.com>
  Date:   2025-02-14 (Fri, 14 Feb 2025)

  Changed paths:
    M clang/lib/Driver/ToolChains/Clang.cpp
    A clang/test/Driver/sparc-ias-Wa.s

  Log Message:
  -----------
  [SPARC][IAS] Add IAS flag handling for ISA levels

Add IAS flag handling for ISA levels we support in LLVM.

Reviewers: MaskRay, rorth, brad0, s-barannikov

Reviewed By: MaskRay

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


  Commit: 397336ca9ce106cf01ae6b9769f8bcf870cec63e
      https://github.com/llvm/llvm-project/commit/397336ca9ce106cf01ae6b9769f8bcf870cec63e
  Author: Brad Smith <brad at comstyle.com>
  Date:   2025-02-14 (Fri, 14 Feb 2025)

  Changed paths:
    M llvm/cmake/config-ix.cmake
    M llvm/include/llvm/Config/config.h.cmake
    M llvm/lib/Support/Unix/Process.inc

  Log Message:
  -----------
  [Support] Fix building on FreeBSD and OpenBSD (#127005)

Fix building after a6f7cb54d3c268ea4748a0ff783b4b030c3195d9.

Check for the function getauxval() instead of just the sys/auxv.h
header.


  Commit: 32f5e0869aaf674604e0a7a990886aef1bf5d6c0
      https://github.com/llvm/llvm-project/commit/32f5e0869aaf674604e0a7a990886aef1bf5d6c0
  Author: NAKAMURA Takumi <geek4civic at gmail.com>
  Date:   2025-02-14 (Fri, 14 Feb 2025)

  Changed paths:
    M llvm/lib/ExecutionEngine/Orc/TargetProcess/UnwindInfoManager.cpp

  Log Message:
  -----------
  Orc: Suppress a warning in #126691


  Commit: 64ed44c93e811d312fa1411ebe7e7127cdef6331
      https://github.com/llvm/llvm-project/commit/64ed44c93e811d312fa1411ebe7e7127cdef6331
  Author: NAKAMURA Takumi <geek4civic at gmail.com>
  Date:   2025-02-14 (Fri, 14 Feb 2025)

  Changed paths:
    M utils/bazel/llvm-project-overlay/llvm/include/llvm/Config/config.h
    M utils/bazel/llvm_configs/config.h.cmake

  Log Message:
  -----------
  [bazel] Introduce HAVE_SYS_AUXV_H for #126863


  Commit: f5c30ba5b73f3560ef24bd8900a3171a04bc5669
      https://github.com/llvm/llvm-project/commit/f5c30ba5b73f3560ef24bd8900a3171a04bc5669
  Author: Lang Hames <lhames at gmail.com>
  Date:   2025-02-14 (Fri, 14 Feb 2025)

  Changed paths:
    M llvm/lib/ExecutionEngine/Orc/TargetProcess/UnwindInfoManager.cpp

  Log Message:
  -----------
  [ORC] Silence unused variable warnings.


  Commit: c82fa65f2f38a9697ddf27aba52afd12276b76fb
      https://github.com/llvm/llvm-project/commit/c82fa65f2f38a9697ddf27aba52afd12276b76fb
  Author: Razvan Lupusoru <razvan.lupusoru at gmail.com>
  Date:   2025-02-14 (Fri, 14 Feb 2025)

  Changed paths:
    M flang/include/flang/Optimizer/OpenACC/FIROpenACCTypeInterfaces.h
    M flang/include/flang/Tools/PointerModels.h
    M flang/lib/Frontend/FrontendActions.cpp
    M flang/lib/Optimizer/Dialect/FIRType.cpp
    M flang/lib/Optimizer/OpenACC/CMakeLists.txt
    M flang/lib/Optimizer/OpenACC/FIROpenACCTypeInterfaces.cpp
    M flang/lib/Optimizer/OpenACC/RegisterOpenACCExtensions.cpp
    M flang/test/Fir/OpenACC/openacc-mappable.fir
    A flang/test/Fir/OpenACC/openacc-type-categories.f90
    M flang/test/lib/OpenACC/TestOpenACCInterfaces.cpp

  Log Message:
  -----------
  [flang][acc] Implement type categorization for FIR types (#126964)

The OpenACC type interfaces have been updated to require that a type
self-identify which type category it belongs to. Ensure that FIR types
are able to provide this self identification.

In addition to implementing the new API, the PointerLikeType interface
attachment was moved to FIROpenACCSupport library like MappableType to
ensure all type interfaces and their implementation are now in the same
spot.


  Commit: 6943fe6c8f409dd3a93fecf230229d6817f2a5ba
      https://github.com/llvm/llvm-project/commit/6943fe6c8f409dd3a93fecf230229d6817f2a5ba
  Author: Vitaly Buka <vitalybuka at google.com>
  Date:   2025-02-14 (Fri, 14 Feb 2025)

  Changed paths:
    M llvm/lib/Passes/PassBuilderPipelines.cpp
    A llvm/test/LTO/X86/coro.ll
    M llvm/test/Other/new-pm-O0-defaults.ll
    M llvm/test/Other/new-pm-lto-defaults.ll

  Log Message:
  -----------
  [LTO][Pipelines][Coro] Handle coroutines in LTO pipeline (#126168)

ThinLTO delays handling of coroutines to ThinLTO backend.
However it's usually possible to use ThinLTO prelink objects for FullLTO.

In this case we have left-over coroutines which crash in codegen.

Issue #104525.


  Commit: a144ce9b686c00e66a111f4c4db8eefcf6af24c9
      https://github.com/llvm/llvm-project/commit/a144ce9b686c00e66a111f4c4db8eefcf6af24c9
  Author: Vitaly Buka <vitalybuka at google.com>
  Date:   2025-02-14 (Fri, 14 Feb 2025)

  Changed paths:
    M clang/docs/ReleaseNotes.rst
    M clang/tools/libclang/CXString.cpp

  Log Message:
  -----------
  [libclang] Always Dup in createRef(StringRef) (#125020)

We can't guaranty that underlying string is
0-terminated and [String.size()] is even in the
same allocation.


https://lab.llvm.org/buildbot/#/builders/94/builds/4152/steps/17/logs/stdio
```
==c-index-test==1846256==WARNING: MemorySanitizer: use-of-uninitialized-value
    #0  in clang::cxstring::createRef(llvm::StringRef) llvm-project/clang/tools/libclang/CXString.cpp:96:36
    #1  in DumpCXCommentInternal llvm-project/clang/tools/c-index-test/c-index-test.c:521:39
    #2  in DumpCXCommentInternal llvm-project/clang/tools/c-index-test/c-index-test.c:674:7
    #3  in DumpCXCommentInternal llvm-project/clang/tools/c-index-test/c-index-test.c:674:7
    #4  in DumpCXComment llvm-project/clang/tools/c-index-test/c-index-test.c:685:3
    #5  in PrintCursorComments llvm-project/clang/tools/c-index-test/c-index-test.c:768:7

  Memory was marked as uninitialized
    #0  in __msan_allocated_memory llvm-project/compiler-rt/lib/msan/msan_interceptors.cpp:1023:5
    #1  in Allocate llvm-project/llvm/include/llvm/Support/Allocator.h:172:7
    #2  in Allocate llvm-project/llvm/include/llvm/Support/Allocator.h:216:12
    #3  in Allocate llvm-project/llvm/include/llvm/Support/AllocatorBase.h:53:43
    #4  in Allocate<char> llvm-project/llvm/include/llvm/Support/AllocatorBase.h:76:29
    #5  in convertCodePointToUTF8 llvm-project/clang/lib/AST/CommentLexer.cpp:42:30
    #6  in clang::comments::Lexer::resolveHTMLDecimalCharacterReference(llvm::StringRef) const llvm-project/clang/lib/AST/CommentLexer.cpp:76:10
    #7  in clang::comments::Lexer::lexHTMLCharacterReference(clang::comments::Token&) llvm-project/clang/lib/AST/CommentLexer.cpp:615:16
    #8  in consumeToken llvm-project/clang/include/clang/AST/CommentParser.h:62:9
    #9  in clang::comments::Parser::parseParagraphOrBlockCommand() llvm-project/clang/lib/AST/CommentParser.cpp
    #10 in clang::comments::Parser::parseFullComment() llvm-project/clang/lib/AST/CommentParser.cpp:925:22
    #11 in clang::RawComment::parse(clang::ASTContext const&, clang::Preprocessor const*, clang::Decl const*) const llvm-project/clang/lib/AST/RawCommentList.cpp:221:12
    #12 in clang::ASTContext::getCommentForDecl(clang::Decl const*, clang::Preprocessor const*) const llvm-project/clang/lib/AST/ASTContext.cpp:714:35
    #13 in clang_Cursor_getParsedComment llvm-project/clang/tools/libclang/CXComment.cpp:36:35
    #14 in PrintCursorComments llvm-project/clang/tools/c-index-test/c-index-test.c:756:25
 ```


  Commit: fc19d23595418d99d93b5960ec9b0c3baf821eed
      https://github.com/llvm/llvm-project/commit/fc19d23595418d99d93b5960ec9b0c3baf821eed
  Author: sakria9 <102365810+sakria9 at users.noreply.github.com>
  Date:   2025-02-14 (Fri, 14 Feb 2025)

  Changed paths:
    M clang/docs/ReleaseNotes.rst
    M clang/include/clang/AST/JSONNodeDumper.h
    M clang/include/clang/AST/TextNodeDumper.h
    M clang/lib/AST/JSONNodeDumper.cpp
    M clang/lib/AST/TextNodeDumper.cpp
    M clang/test/AST/ast-dump-templates.cpp

  Log Message:
  -----------
  [clang] [ASTDump] Add support for structural value template arguments in TextNodeDumper (#126341)

It was missed in 5518a9d which introduced this new template argument kind.


  Commit: 0486a34ee732f43d405625508c89c5b6249ef14e
      https://github.com/llvm/llvm-project/commit/0486a34ee732f43d405625508c89c5b6249ef14e
  Author: AZero13 <gfunni234 at gmail.com>
  Date:   2025-02-14 (Fri, 14 Feb 2025)

  Changed paths:
    M llvm/lib/Transforms/InstCombine/InstCombineMulDivRem.cpp
    M llvm/test/Transforms/InstCombine/ashr-lshr.ll

  Log Message:
  -----------
  [InstCombine] Fold mul (shr exact (X, N)), 2^N + 1 -> add (X , shr exact (X, N)) (#112407)

Alive2 Proofs:
https://alive2.llvm.org/ce/z/aJnxyp
https://alive2.llvm.org/ce/z/dyeGEv


  Commit: da0695abf30e5005851efb7c2f30fdc9c3b6a0af
      https://github.com/llvm/llvm-project/commit/da0695abf30e5005851efb7c2f30fdc9c3b6a0af
  Author: Christian Sigg <csigg at google.com>
  Date:   2025-02-14 (Fri, 14 Feb 2025)

  Changed paths:
    M utils/bazel/llvm-project-overlay/llvm/include/llvm/Config/config.h
    M utils/bazel/llvm_configs/config.h.cmake

  Log Message:
  -----------
  [llvm][bazel] Adjust to HAVE_SYS_AUXV_H > HAVE_GETAUXVAL in https://github.com/llvm/llvm-project/commit/89d636ba91924c945d39f02f261863b709249744


  Commit: 273ccfc012333b8d22ee534b29b7f86f84cc4425
      https://github.com/llvm/llvm-project/commit/273ccfc012333b8d22ee534b29b7f86f84cc4425
  Author: Pengcheng Wang <wangpengcheng.pp at bytedance.com>
  Date:   2025-02-14 (Fri, 14 Feb 2025)

  Changed paths:
    M llvm/lib/Target/RISCV/RISCV.td
    M llvm/lib/Target/RISCV/RISCVProcessors.td
    A llvm/lib/Target/RISCV/RISCVSchedGeneric.td

  Log Message:
  -----------
  [RISCV][NFC] Move GenericModel to standalone file (#127003)

And fix some typos in comments.

In the future, we may add more scheduling info to GenericModel.


  Commit: f2d9130bd3013c1a543abc38bf2aebed1f1fcdf4
      https://github.com/llvm/llvm-project/commit/f2d9130bd3013c1a543abc38bf2aebed1f1fcdf4
  Author: lonely eagle <2020382038 at qq.com>
  Date:   2025-02-14 (Fri, 14 Feb 2025)

  Changed paths:
    M mlir/include/mlir/Dialect/Affine/Passes.h
    M mlir/include/mlir/Dialect/Affine/Passes.td
    M mlir/lib/Dialect/Affine/Transforms/LoopUnroll.cpp
    M mlir/test/Dialect/Affine/unroll.mlir
    M mlir/test/Dialect/SCF/loop-unroll.mlir

  Log Message:
  -----------
  [mlir][affine]make affine-loop-unroll a FunctionOpInterface pass. (#126475)

[mlir][affine]make affine-loop-unroll a FunctionOpInterface pass

Make `affine-loop-unroll` a `FunctionOpInterface` pass.Now unroll can be
done on gpu.func.


  Commit: 34748b3950203c7d846ce173c47a1d64539c7502
      https://github.com/llvm/llvm-project/commit/34748b3950203c7d846ce173c47a1d64539c7502
  Author: Nikita Popov <npopov at redhat.com>
  Date:   2025-02-14 (Fri, 14 Feb 2025)

  Changed paths:
    M flang/test/Fir/alloc.fir
    M flang/test/Fir/arrexp.fir
    M flang/test/Fir/box.fir
    M flang/test/Fir/embox.fir
    M flang/test/Fir/ignore-missing-type-descriptor.fir
    M flang/test/Fir/polymorphic.fir
    M flang/test/Fir/rebox.fir
    M flang/test/Integration/OpenMP/map-types-and-sizes.f90
    M flang/test/Integration/OpenMP/private-global.f90
    M flang/test/Lower/OpenMP/parallel-reduction-mixed.f90
    M flang/test/Lower/allocatable-polymorphic.f90
    M flang/test/Lower/forall/character-1.f90
    M flang/test/Lower/real-descriptors.f90
    M mlir/lib/Target/LLVMIR/ModuleTranslation.cpp
    M mlir/test/Target/LLVMIR/omptarget-array-sectioning-host.mlir
    M mlir/test/Target/LLVMIR/omptarget-constant-indexing-device-region.mlir
    M mlir/test/Target/LLVMIR/omptarget-fortran-common-block-host.mlir
    M mlir/test/Target/LLVMIR/omptarget-record-type-with-ptr-member-host.mlir
    M mlir/test/Target/LLVMIR/openmp-private.mlir

  Log Message:
  -----------
  [MLIR][LLVMIR] Always use TargetFolder in IRBuilder (#126929)

This is a followup to https://github.com/llvm/llvm-project/pull/126745,
generalizing it to always use TargetFolder, including inside function
bodies.

This avoids generating non-canonical constant expressions that can be
folded away.


  Commit: d7f02f3902e42974bd49e8df25bf6454666f964a
      https://github.com/llvm/llvm-project/commit/d7f02f3902e42974bd49e8df25bf6454666f964a
  Author: Takuto Ikuta <tikuta at google.com>
  Date:   2025-02-14 (Fri, 14 Feb 2025)

  Changed paths:
    M libcxx/include/__vector/vector_bool.h

  Log Message:
  -----------
  [libcxx] Add a missing include for __bit_iterator (#127015)

This is to fix compile error with explicit Clang modules like
```
../../third_party/libc++/src/include/__vector/vector_bool.h:85:11: error: default argument of '__bit_iterator' must be imported from module 'std.bit_reference_fwd' before it is required
   85 |   typedef __bit_iterator<vector, false> pointer;
      |           ^
../../third_party/libc++/src/include/__fwd/bit_reference.h:23:68: note: default argument declared here is not reachable
   23 | template <class _Cp, bool _IsConst, typename _Cp::__storage_type = 0>
      |                                                                    ^
```


  Commit: 299b04e54e607a79f01d2db193f0fa559b0cdef7
      https://github.com/llvm/llvm-project/commit/299b04e54e607a79f01d2db193f0fa559b0cdef7
  Author: Takuto Ikuta <tikuta at google.com>
  Date:   2025-02-14 (Fri, 14 Feb 2025)

  Changed paths:
    M libcxx/include/__filesystem/path.h

  Log Message:
  -----------
  [libcxx] Add a missing include for __enable_if_t (#127016)

This is to fix compile error with explicit Clang modules like
```
../../third_party/libc++/src/include/__filesystem/path.h:80:26: error: declaration of '__enable_if_t' must be imported from module 'std_core.type_traits.enable_if' before it is required
   80 | template <class _ECharT, __enable_if_t<__can_convert_char<_ECharT>::value, int> = 0>
      |                          ^
../../third_party/libc++/src/include/__type_traits/enable_if.h:34:1: note: declaration here is not visible
   34 | using __enable_if_t _LIBCPP_NODEBUG = typename enable_if<_Bp, _Tp>::type;
      | ^
```


  Commit: 4c6e80bc62ba3aa481912be889683f49d27658ef
      https://github.com/llvm/llvm-project/commit/4c6e80bc62ba3aa481912be889683f49d27658ef
  Author: Pavel Labath <pavel at labath.sk>
  Date:   2025-02-14 (Fri, 14 Feb 2025)

  Changed paths:
    M lldb/source/Plugins/SymbolFile/DWARF/DWARFDIE.cpp
    M lldb/test/Shell/SymbolFile/DWARF/x86/simplified-template-names.cpp

  Log Message:
  -----------
  [lldb/DWARF] Resolve type unit references in llvm DWARFDIE compatibility wrappers (#126902)

The llvm versions of these functions do that, so we must to so as well.
Practically this meant that were were unable to correctly un-simplify
the names of some types when using type units, which resulted in type
lookup errors.


  Commit: ec7d34927f08ad7a2f556c408e27509f24f1752c
      https://github.com/llvm/llvm-project/commit/ec7d34927f08ad7a2f556c408e27509f24f1752c
  Author: Nikita Popov <npopov at redhat.com>
  Date:   2025-02-14 (Fri, 14 Feb 2025)

  Changed paths:
    M flang/test/Lower/common-block.f90
    M flang/test/Lower/real-descriptors.f90

  Log Message:
  -----------
  [flang] Update f128 tests

Update test that require flang-supports-f128-math after #126929.


  Commit: 883940fb4256f0fc97f8903b24657b7ce332cd9a
      https://github.com/llvm/llvm-project/commit/883940fb4256f0fc97f8903b24657b7ce332cd9a
  Author: Nikita Popov <npopov at redhat.com>
  Date:   2025-02-14 (Fri, 14 Feb 2025)

  Changed paths:
    M clang/test/CodeGen/allow-ubsan-check.c
    M clang/test/CodeGenCXX/RelativeVTablesABI/dynamic-cast.cpp
    M clang/test/CodeGenCXX/RelativeVTablesABI/type-info.cpp
    M clang/test/CodeGenOpenCL/amdgcn-buffer-rsrc-type.cl
    M clang/test/CodeGenOpenCL/as_type.cl
    M llvm/include/llvm/Analysis/CaptureTracking.h
    M llvm/include/llvm/Support/ModRef.h
    M llvm/lib/Analysis/CaptureTracking.cpp
    M llvm/lib/Analysis/InstructionSimplify.cpp
    M llvm/lib/Transforms/IPO/AttributorAttributes.cpp
    M llvm/lib/Transforms/IPO/FunctionAttrs.cpp
    M llvm/lib/Transforms/InstCombine/InstCombineCompares.cpp
    M llvm/lib/Transforms/Scalar/MemCpyOptimizer.cpp
    M llvm/test/Transforms/FunctionAttrs/2009-01-02-LocalStores.ll
    M llvm/test/Transforms/FunctionAttrs/arg_returned.ll
    M llvm/test/Transforms/FunctionAttrs/nocapture.ll
    M llvm/test/Transforms/FunctionAttrs/nonnull.ll
    M llvm/test/Transforms/FunctionAttrs/noundef.ll
    M llvm/test/Transforms/FunctionAttrs/readattrs.ll
    M llvm/test/Transforms/FunctionAttrs/stats.ll
    M llvm/test/Transforms/PhaseOrdering/AArch64/block_scaling_decompr_8bit.ll
    M llvm/test/Transforms/PhaseOrdering/bitcast-store-branch.ll
    M llvm/test/Transforms/PhaseOrdering/dce-after-argument-promotion-loads.ll
    M llvm/test/Transforms/PhaseOrdering/enable-loop-header-duplication-oz.ll
    M llvm/unittests/Analysis/CaptureTrackingTest.cpp

  Log Message:
  -----------
  [CaptureTracking][FunctionAttrs] Add support for CaptureInfo (#125880)

This extends CaptureTracking to support inferring non-trivial
CaptureInfos. The focus of this patch is to only support FunctionAttrs,
other users of CaptureTracking will be updated in followups.

The key API changes here are:

* DetermineUseCaptureKind() now returns a UseCaptureInfo where the UseCC
component specifies what is captured at that Use and the ResultCC
component specifies what may be captured via the return value of the
User. Usually only one or the other will be used (corresponding to
previous MAY_CAPTURE or PASSTHROUGH results), but both may be set for
call captures.
* The CaptureTracking::captures() extension point is passed this
UseCaptureInfo as well and then can decide what to do with it by
returning an Action, which is one of: Stop: stop traversal.
ContinueIgnoringReturn: continue traversal but don't follow the
instruction return value. Continue: continue traversal and follow the
instruction return value if it has additional CaptureComponents.

For now, this patch retains the (unsound) special logic for comparison
of null with a dereferenceable pointer. I'd like to switch key code to
take advantage of address/address_is_null before dropping it.

This PR mainly intends to introduce necessary API changes and basic
inference support, there are various possible improvements marked with
TODOs.


  Commit: aff185bad8e8a2df4e5e499d4b6b9a9878785394
      https://github.com/llvm/llvm-project/commit/aff185bad8e8a2df4e5e499d4b6b9a9878785394
  Author: Cullen Rhodes <cullen.rhodes at arm.com>
  Date:   2025-02-14 (Fri, 14 Feb 2025)

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

  Log Message:
  -----------
  [MISched][NFC] Remove unused heuristic NextDefUse from enum (#125879)

Heuristic was removed in 46533e614b78 due to being ineffective.


  Commit: 4ace703d84e7e146dfdd7857e7df53cc77e3f26d
      https://github.com/llvm/llvm-project/commit/4ace703d84e7e146dfdd7857e7df53cc77e3f26d
  Author: Cullen Rhodes <cullen.rhodes at arm.com>
  Date:   2025-02-14 (Fri, 14 Feb 2025)

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

  Log Message:
  -----------
  [SDAG] Harden assumption in getMemsetStringVal (#126207)

In 5235973ee03aca4148ecabe5eff64da2af1e034e, an ICE was fixed in
getMemsetStringVal where f128 wasn't handled. It was noted at the time
[1] that the code below this also looks suspect, since it assumes the
element type of VT is either an f32 or f64.

This part of getMemsetStringVal relates to memcpy operations where the
source is a copy from a zero constant. The VT in question is determined
by TargetLowering::findOptimalMemOpLowering, which in turn calls a
further TLI hook getOptimalMemOpType.

For AArch64, getOptimalMemOpType returns either a v16i8, f128, i64, i32
or Other. For Other, TargetLowering::findOptimalMemOpLowering will then
pick an integer VT. So on AArch64 at least, I don't believe the suspect
code can be reached.

For other targets, ARM and x86 are the only ones that return a FP vector
type from getOptimalMemOpType. For both targets, the only such type is
v2f64, but given f64 is already handled it should also be fine.

To defend this, I considered adding an assert as mentioned in [1], but
given getConstantFP handles vector types, I figured using this to fully
handle the FP types makes the code simpler and more robust.

For test coverage I added unreachables to both of the branches handling
FP types in this code, but found neither fired with check-llvm across
all targets.

Test coverage was added to llvm/test/CodeGen/AArch64/memcpy-f128.ll in
5235973ee03aca4148ecabe5eff64da2af1e034e to defend ICE on f128, but at
some point it stopped hitting this code.

AArch64TargetLowering::getOptimalMemOpType was updated in
29200611055f49a0d37243caa5f8bba1df9d57a6, so I suspect this is when it
happened, although I haven't verified this. Although I did find by
updating the test to disable NEON, getOptimalMemOpType returns an f128
and the branch is once again hit.

For the final branch noted as suspect in [1], as far as I can tell this
has never had any test coverage, so I've added a test to the ARM backend
for this.

Fixes: https://github.com/llvm/llvm-project/issues/20521 [1]


  Commit: 03bb1844b6094582451ce68d49e0c5ce55c95a8e
      https://github.com/llvm/llvm-project/commit/03bb1844b6094582451ce68d49e0c5ce55c95a8e
  Author: Matthias Springer <me at m-sp.org>
  Date:   2025-02-14 (Fri, 14 Feb 2025)

  Changed paths:
    R mlir/docs/BufferDeallocationInternals.md
    M mlir/docs/OwnershipBasedBufferDeallocation.md
    R mlir/docs/includes/img/branch_example_post_move.svg
    R mlir/docs/includes/img/branch_example_pre_move.svg
    R mlir/docs/includes/img/nested_branch_example_post_move.svg
    R mlir/docs/includes/img/nested_branch_example_pre_move.svg
    R mlir/docs/includes/img/region_branch_example_pre_move.svg
    M mlir/include/mlir/Dialect/Bufferization/Transforms/Passes.h
    M mlir/include/mlir/Dialect/Bufferization/Transforms/Passes.td
    R mlir/lib/Dialect/Bufferization/Transforms/BufferDeallocation.cpp
    M mlir/lib/Dialect/Bufferization/Transforms/CMakeLists.txt
    R mlir/test/Dialect/Bufferization/Transforms/buffer-deallocation.mlir
    M mlir/test/Pass/pipeline-invalid.mlir

  Log Message:
  -----------
  [mlir][bufferization] Remove `buffer-deallocation` pass (#126366)

The `-buffer-deallocation` pass is not compatible with One-Shot
Bufferize and has been replaced with the Ownership-based Buffer
Deallocation pass about 1.5 years ago. To clean up the code base, this
commit removes the deprecated `buffer-deallocation` pass. All uses of
this deprecated pass within MLIR have already been migrated.

Note for LLVM integration: If you depend on this pass, migrate to the
Ownership-based Buffer Deallocation pass or copy the pass to your
codebase. For details, see
https://discourse.llvm.org/t/psa-bufferization-new-buffer-deallocation-pipeline/73375.


  Commit: d87fa5f454c2352727a73ec029cd7835aee78df6
      https://github.com/llvm/llvm-project/commit/d87fa5f454c2352727a73ec029cd7835aee78df6
  Author: Christian Sigg <csigg at google.com>
  Date:   2025-02-14 (Fri, 14 Feb 2025)

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

  Log Message:
  -----------
  [mlir][bazel] Port a472147af4ad


  Commit: fe1854b785f86d52e956d8c19785a52024e3a607
      https://github.com/llvm/llvm-project/commit/fe1854b785f86d52e956d8c19785a52024e3a607
  Author: Pavel Labath <pavel at labath.sk>
  Date:   2025-02-14 (Fri, 14 Feb 2025)

  Changed paths:
    M lldb/source/Symbol/Block.cpp
    M lldb/test/Shell/ScriptInterpreter/Python/sb_function_ranges.s

  Log Message:
  -----------
  [lldb] Fix Block::GetRangeIndexContainingAddress for discontinuous functions (#124931)

This is a followup to #122440, which changed function-relative
calculations to use the function entry point rather than the lowest
address of the function (but missed this usage). Like in #116777, the
logic is changed to use file addresses instead of section offsets (as
not all parts of the function have to be in the same section).


  Commit: 8cf8f741eb0085ff0fc5b6f465f6e275a91b8048
      https://github.com/llvm/llvm-project/commit/8cf8f741eb0085ff0fc5b6f465f6e275a91b8048
  Author: Oliver Stannard <oliver.stannard at arm.com>
  Date:   2025-02-14 (Fri, 14 Feb 2025)

  Changed paths:
    M llvm/lib/Target/ARM/ARMCallingConv.cpp
    M llvm/lib/Target/ARM/ARMCallingConv.td
    M llvm/lib/Target/ARM/ARMISelLowering.cpp
    A llvm/test/CodeGen/Thumb2/bf16-pcs.ll
    A llvm/test/CodeGen/Thumb2/fp16-pcs.ll

  Log Message:
  -----------
  [ARM] Fix calling convention for __fp16 with big-endian (#126741)

AAPCS32 defines the fp16 and bf16 types as being passed as if they were
extended to 32 bits, with the high 16 bits being unspecified. The
extension is specified as happening as-if it was done in a register,
which means that for big endian targets, the actual value gets passed in
the higher addressed half of the stack slot, instead of the lower
addressed half as for little endian. Previously, for targets with the
fp16 extension, we were passing these types as a 16 bit stack slot,
which worked for little endian because every later stack slot would be
4-byte aligned leaving the 2 byte gap, but was incorrect for big endian.


  Commit: d90041b12df39dd07d0d19420cc2af559cb22674
      https://github.com/llvm/llvm-project/commit/d90041b12df39dd07d0d19420cc2af559cb22674
  Author: Nikita Popov <npopov at redhat.com>
  Date:   2025-02-14 (Fri, 14 Feb 2025)

  Changed paths:
    M llvm/lib/IR/Constants.cpp
    M llvm/test/Transforms/InstCombine/add2.ll
    M llvm/test/Transforms/NewGVN/2009-11-12-MemDepMallocBitCast.ll

  Log Message:
  -----------
  [IR] Mark mul constant expression as undesirable

This is a (very belated) reland of 0a362f12ec60a49a054befec8620a8e69523af54,
which I originally reverted due to flang test failures.

This marks mul constant expressions as undesirable, which means that
we will no longer create them by default, but they can still be
created explicitly.

Part of:
https://discourse.llvm.org/t/rfc-remove-most-constant-expressions/63179


  Commit: e495fd907cf96dfdd5230aecf4102eb5e639055b
      https://github.com/llvm/llvm-project/commit/e495fd907cf96dfdd5230aecf4102eb5e639055b
  Author: Kerry McLaughlin <kerry.mclaughlin at arm.com>
  Date:   2025-02-14 (Fri, 14 Feb 2025)

  Changed paths:
    M llvm/lib/Target/AArch64/AArch64InstrFormats.td
    M llvm/lib/Target/AArch64/AArch64InstrInfo.td
    M llvm/test/MC/AArch64/armv8.1a-lse.s
    M llvm/test/MC/AArch64/armv9.6a-lsui.s

  Log Message:
  -----------
  [LLVM][AArch64] Remove aliases of LSUI instructions (#126072)

Removes MnemonicAliases added for instructions available with
the LSUI feature (e.g. CAS -> CAST) which are not equivalent.
The aliases stt[add|clr|set]a & stt[add|clr|set]al are also removed.


  Commit: b661ca59476d85b3eb1b7e46651a939678938778
      https://github.com/llvm/llvm-project/commit/b661ca59476d85b3eb1b7e46651a939678938778
  Author: Victor Guerra <vguerra at gmail.com>
  Date:   2025-02-14 (Fri, 14 Feb 2025)

  Changed paths:
    M mlir/lib/IR/AsmPrinter.cpp

  Log Message:
  -----------
  [mlir][NFC] Add missing `)` in doc for `--mlir-print-local-scope` (#125721)

Signed-off-by: Victor Guerra <vguerra at gmail.com>


  Commit: d20e4cb1c266ff20ae7a82d1d63493b829edb93f
      https://github.com/llvm/llvm-project/commit/d20e4cb1c266ff20ae7a82d1d63493b829edb93f
  Author: Nikita Popov <npopov at redhat.com>
  Date:   2025-02-14 (Fri, 14 Feb 2025)

  Changed paths:
    M mlir/lib/Target/LLVMIR/ModuleTranslation.cpp

  Log Message:
  -----------
  [MLIR][LLVMIR] Fix use-after-move

Fix an issue introduced in #126929: The LLVM module is moved into
the ModuleTranslator, so query the DataLayout from there.


  Commit: 902d415490f1a7e75bc7f081d969fd89eb0e3af7
      https://github.com/llvm/llvm-project/commit/902d415490f1a7e75bc7f081d969fd89eb0e3af7
  Author: Matt Arsenault <Matthew.Arsenault at amd.com>
  Date:   2025-02-14 (Fri, 14 Feb 2025)

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

  Log Message:
  -----------
  TableGen: Add missing consts to CodeGenSubRegIndex


  Commit: 5644c7038514e08ffa3a67212100a02ac44fc104
      https://github.com/llvm/llvm-project/commit/5644c7038514e08ffa3a67212100a02ac44fc104
  Author: Michael Buch <michaelbuch12 at gmail.com>
  Date:   2025-02-14 (Fri, 14 Feb 2025)

  Changed paths:
    M lldb/include/lldb/API/SBTarget.h
    M lldb/include/lldb/API/SBType.h
    M lldb/include/lldb/API/SBValue.h
    M lldb/source/API/SBType.cpp
    M lldb/test/API/lang/cpp/class-template-parameter-pack/TestTemplatePackArgs.py
    M lldb/test/API/lang/cpp/template-arguments/Makefile
    M lldb/test/API/lang/cpp/template-arguments/TestCppTemplateArguments.py
    M lldb/test/API/lang/cpp/template-arguments/main.cpp

  Log Message:
  -----------
  [lldb][SBAPI] Add new SBType::GetTemplateParameterValue API (#126901)

This patch adds a new API to `SBType` to retrieve the value of a
template parameter given an index. We re-use the
`TypeSystemClang::GetIntegralTemplateArgument` for this and thus
currently only supports integral non-type template parameters. Types
like float/double are not supported yet.

rdar://144395216


  Commit: 38fd79bd37f1bfb60e868bcadcf58637aa950d68
      https://github.com/llvm/llvm-project/commit/38fd79bd37f1bfb60e868bcadcf58637aa950d68
  Author: Balazs Benics <benicsbalazs at gmail.com>
  Date:   2025-02-14 (Fri, 14 Feb 2025)

  Changed paths:
    M clang/test/Analysis/live-stmts.cpp

  Log Message:
  -----------
  [analyzer] Disable a flaky test while triaging why its flaky (#127034)

I had previous attempts for fixing this flaky test. Let's admit I failed
so far, and disable this until we have a permanent fix.

See the discussion at:
https://github.com/llvm/llvm-project/pull/126913#issuecomment-2655850766


  Commit: 35acb32d59734d13a7c725b62f40a1d2bedcc77c
      https://github.com/llvm/llvm-project/commit/35acb32d59734d13a7c725b62f40a1d2bedcc77c
  Author: Mariya Podchishchaeva <mariya.podchishchaeva at intel.com>
  Date:   2025-02-14 (Fri, 14 Feb 2025)

  Changed paths:
    M clang/docs/ReleaseNotes.rst
    M clang/lib/Frontend/PrintPreprocessedOutput.cpp
    M clang/test/Preprocessor/embed_preprocess_to_file.c

  Log Message:
  -----------
  [clang] Fix preprocessor output from #embed (#126742)

When bytes with negative signed char values appear in the data, make
sure to use raw bytes from the data string when preprocessing, not char
values.

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


  Commit: 1c6c4e8a736f4f3606f25a48b65d25e187e52697
      https://github.com/llvm/llvm-project/commit/1c6c4e8a736f4f3606f25a48b65d25e187e52697
  Author: Matt Arsenault <Matthew.Arsenault at amd.com>
  Date:   2025-02-14 (Fri, 14 Feb 2025)

  Changed paths:
    M llvm/test/CodeGen/AMDGPU/peephole-opt-fold-reg-sequence-subreg.mir

  Log Message:
  -----------
  AMDGPU: Add more tests for peephole opt subregister composing


  Commit: ae49db94f8ceeb8923c4ba11026fe8f0bc47ae7e
      https://github.com/llvm/llvm-project/commit/ae49db94f8ceeb8923c4ba11026fe8f0bc47ae7e
  Author: Pavel Labath <pavel at labath.sk>
  Date:   2025-02-14 (Fri, 14 Feb 2025)

  Changed paths:
    M lldb/source/Plugins/Disassembler/LLVMC/DisassemblerLLVMC.cpp
    M lldb/source/Symbol/SymbolContext.cpp
    M lldb/test/Shell/Commands/command-disassemble.s

  Log Message:
  -----------
  [lldb] Correctly resolve (discontinuous) function offsets when disassembling (#126925)

We need to iterate through the all symbol context ranges returned by
(since #126505) SymbolContext::GetAddressRange. This also includes a fix
to print the function offsets as signed values.

I've also wanted to check that the addresses which are in the middle of
the function do *not* resolve to the function, but that's not entirely
the case right now. This appears to be a separate issue though, so I've
just left a TODO for now.


  Commit: 28b18ef1811190df719b2e7cfbeeed381e6395e6
      https://github.com/llvm/llvm-project/commit/28b18ef1811190df719b2e7cfbeeed381e6395e6
  Author: Nicholas Guy <nicholas.guy at arm.com>
  Date:   2025-02-14 (Fri, 14 Feb 2025)

  Changed paths:
    M llvm/lib/Target/AArch64/AArch64TargetTransformInfo.cpp
    M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
    M llvm/lib/Transforms/Vectorize/VPlanRecipes.cpp
    M llvm/test/Transforms/LoopVectorize/AArch64/partial-reduce-chained.ll
    A llvm/test/Transforms/LoopVectorize/AArch64/partial-reduce-sub.ll

  Log Message:
  -----------
  [LoopVectorizer][AArch64] Add support for partial reduce subtraction (#123636)


  Commit: 4dc56d5b5b4434214542bb4772a535eaf92f0d13
      https://github.com/llvm/llvm-project/commit/4dc56d5b5b4434214542bb4772a535eaf92f0d13
  Author: Harald van Dijk <harald.vandijk at codeplay.com>
  Date:   2025-02-14 (Fri, 14 Feb 2025)

  Changed paths:
    M clang/lib/CodeGen/CGDebugInfo.cpp
    M llvm/include/llvm/IR/DIBuilder.h
    M llvm/lib/IR/DIBuilder.cpp
    M llvm/lib/IR/DebugInfo.cpp
    M llvm/lib/Transforms/Coroutines/CoroFrame.cpp
    M llvm/lib/Transforms/Scalar/SROA.cpp
    M llvm/lib/Transforms/Utils/Debugify.cpp
    M llvm/lib/Transforms/Utils/Local.cpp
    M llvm/lib/Transforms/Utils/PromoteMemoryToRegister.cpp
    M llvm/unittests/IR/IRBuilderTest.cpp
    M llvm/unittests/Transforms/Utils/CloningTest.cpp

  Log Message:
  -----------
  [reland][DebugInfo] Update DIBuilder insertion to take InsertPosition (#126967)

After #124287 updated several functions to return iterators rather than
Instruction *, it was no longer straightforward to pass their result to
DIBuilder. This commit updates DIBuilder methods to accept an
InsertPosition instead, so that they can be called with an iterator
(preferred), or with a deprecation warning an Instruction *, or a
BasicBlock *. This commit also updates the existing calls to the
DIBuilder methods to pass in iterators.

As a special exception, DIBuilder::insertDeclare() keeps a separate
overload accepting a BasicBlock *InsertAtEnd. This is because despite
the name, this method does not insert at the end of the block, therefore
this cannot be handled implicitly by using InsertPosition.


  Commit: c00b7f60111b4e881ef3cfb2345c968f40f0965e
      https://github.com/llvm/llvm-project/commit/c00b7f60111b4e881ef3cfb2345c968f40f0965e
  Author: Jay Foad <jay.foad at amd.com>
  Date:   2025-02-14 (Fri, 14 Feb 2025)

  Changed paths:
    A llvm/test/CodeGen/AMDGPU/dumpcode.ll

  Log Message:
  -----------
  [AMDGPU] Add a regression test for -mattr=dumpcode (#116982)


  Commit: c71df06fea1b1de66da111a6afbf4aa6f73911bc
      https://github.com/llvm/llvm-project/commit/c71df06fea1b1de66da111a6afbf4aa6f73911bc
  Author: Matt Arsenault <Matthew.Arsenault at amd.com>
  Date:   2025-02-14 (Fri, 14 Feb 2025)

  Changed paths:
    A llvm/test/CodeGen/AMDGPU/reg-sequence-like-v-pk-mov-b32.mir

  Log Message:
  -----------
  AMDGPU: Add baseline test for treating v_pk_mov_b32 like reg_sequence (#125656)


  Commit: 19e376f724df2d01bf50b39b5f566b2ac59a5cca
      https://github.com/llvm/llvm-project/commit/19e376f724df2d01bf50b39b5f566b2ac59a5cca
  Author: Antonio Frighetto <me at antoniofrighetto.com>
  Date:   2025-02-14 (Fri, 14 Feb 2025)

  Changed paths:
    M llvm/docs/LangRef.rst
    M llvm/include/llvm/AsmParser/LLToken.h
    M llvm/include/llvm/Support/ModRef.h
    M llvm/lib/AsmParser/LLLexer.cpp
    M llvm/lib/AsmParser/LLParser.cpp
    M llvm/lib/Bitcode/Reader/BitcodeReader.cpp
    M llvm/lib/Bitcode/Writer/BitcodeWriter.cpp
    M llvm/lib/IR/Attributes.cpp
    M llvm/lib/Support/ModRef.cpp
    M llvm/lib/Transforms/IPO/FunctionAttrs.cpp
    M llvm/lib/Transforms/IPO/SCCP.cpp
    M llvm/test/Assembler/memory-attribute-errors.ll
    M llvm/test/Assembler/memory-attribute.ll
    A llvm/test/Bitcode/Inputs/memory-attribute-upgrade.bc
    A llvm/test/Bitcode/memory-attribute-upgrade.ll
    M llvm/unittests/Support/ModRefTest.cpp
    M mlir/test/Target/LLVMIR/llvmir.mlir

  Log Message:
  -----------
  [IR][ModRef] Introduce `errno` memory location

Model C/C++ `errno` macro by adding a corresponding `errno`
memory location kind to the IR. Preliminary work to separate
`errno` writes from other memory accesses, to the benefit of
alias analyses and optimization correctness.

Previous discussion: https://discourse.llvm.org/t/rfc-modelling-errno-memory-effects/82972.


  Commit: 6243c0b12af66bd8fa6f70012452b93bee1a753d
      https://github.com/llvm/llvm-project/commit/6243c0b12af66bd8fa6f70012452b93bee1a753d
  Author: Haojian Wu <hokein.wu at gmail.com>
  Date:   2025-02-14 (Fri, 14 Feb 2025)

  Changed paths:
    M clang/lib/Sema/SemaTemplateDeductionGuide.cpp
    M clang/test/SemaCXX/cxx20-ctad-type-alias.cpp

  Log Message:
  -----------
  [clang] CTAD: Remove an incorrect assertion in BuildDeductionGuideForTypeAlias (#126532)

Fixes #125821

The assertion was too strict, as Clang can reach this code path when
recursively generating deduction guides for alias templates. See the
detailed explanation
[here](https://github.com/llvm/llvm-project/issues/125821#issuecomment-2639130893).

No release notes needed, as there is no behavior change in release
builds.


  Commit: 8ee2cb07b97f71513d30ffd6f0447ff8e096a240
      https://github.com/llvm/llvm-project/commit/8ee2cb07b97f71513d30ffd6f0447ff8e096a240
  Author: Abid Qadeer <haqadeer at amd.com>
  Date:   2025-02-14 (Fri, 14 Feb 2025)

  Changed paths:
    M flang/lib/Optimizer/Transforms/AddDebugInfo.cpp

  Log Message:
  -----------
  [flang][debug] Allow variable from non-entry blocks. (#125692)

We currently drop the `DeclareOp` which are not in the entry block of
the function. This was done to side step a problem with the variables in
OpenMP target region. Now that issue has been addressed in #118314 so we
can lift this restriction as well.


  Commit: e8e8e156da74c3120e860cff7d76a57bd383e048
      https://github.com/llvm/llvm-project/commit/e8e8e156da74c3120e860cff7d76a57bd383e048
  Author: Matt Arsenault <Matthew.Arsenault at amd.com>
  Date:   2025-02-14 (Fri, 14 Feb 2025)

  Changed paths:
    M llvm/include/llvm/IR/IntrinsicsAMDGPU.td
    A llvm/test/Transforms/FunctionAttrs/sendmsg-nocallback.ll

  Log Message:
  -----------
  AMDGPU: Mark sendmsg intrinsics as nocallback (#126782)

These can be nocallback, but no nosync. These return in the current
thread immediately, but may send a signal to the host, which could
trigger
the async execution of code in the module.

Fixes #124802


  Commit: e29fa135fdddadc1ef0b6194ac5bfbe0110ebc10
      https://github.com/llvm/llvm-project/commit/e29fa135fdddadc1ef0b6194ac5bfbe0110ebc10
  Author: Ramkumar Ramachandra <ramkumar.ramachandra at codasip.com>
  Date:   2025-02-14 (Fri, 14 Feb 2025)

  Changed paths:
    M llvm/lib/Analysis/LoopAccessAnalysis.cpp
    M llvm/test/Analysis/LoopAccessAnalysis/multiple-strides-rt-memory-checks.ll
    M llvm/test/Analysis/LoopAccessAnalysis/non-constant-distance-backward.ll

  Log Message:
  -----------
  LAA: fix logic for MaxTargetVectorWidth (#125487)

Uses the fixed register width if scalable vectorization is not enabled
(via TargetTransformInfo::enableScalableVectorization) and improves
results if there are scalable vector registers, but they shouldn't be
used.


  Commit: d81a3b423b295da1131d64b92a7d66f97ca91cbc
      https://github.com/llvm/llvm-project/commit/d81a3b423b295da1131d64b92a7d66f97ca91cbc
  Author: Simon Pilgrim <llvm-dev at redking.me.uk>
  Date:   2025-02-14 (Fri, 14 Feb 2025)

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

  Log Message:
  -----------
  [X86] Fix shadow variable warning. NFC.

Repeated Ops variable.


  Commit: c39dbc19bf6481a9495a5a8c12aae0f2b5396e3a
      https://github.com/llvm/llvm-project/commit/c39dbc19bf6481a9495a5a8c12aae0f2b5396e3a
  Author: Longsheng Mou <longshengmou at gmail.com>
  Date:   2025-02-14 (Fri, 14 Feb 2025)

  Changed paths:
    M mlir/include/mlir/Dialect/SPIRV/IR/SPIRVStructureOps.td

  Log Message:
  -----------
  [mlir][spirv] Update example of `spirv.Constant`(NFC) (#127030)

Actually the `spirv.Constant dense<[2, 3]> : vector<2xf32>` will cause a
error:
```
error: unexpected decimal integer literal for a floating point value
    %cst = spirv.Constant dense<[2, 3]> : vector<2xf32>
                                 ^
```
The value should be an explicit float.


  Commit: 483bc7fbbca8f77f7ba55dbf1e3e3edab559795d
      https://github.com/llvm/llvm-project/commit/483bc7fbbca8f77f7ba55dbf1e3e3edab559795d
  Author: s-watanabe314 <watanabe.shu-06 at fujitsu.com>
  Date:   2025-02-14 (Fri, 14 Feb 2025)

  Changed paths:
    A mlir/include/mlir/Conversion/ComplexCommon/DivisionConverter.h
    M mlir/include/mlir/Conversion/ComplexToLLVM/ComplexToLLVM.h
    M mlir/include/mlir/Conversion/ComplexToStandard/ComplexToStandard.h
    M mlir/include/mlir/Conversion/Passes.td
    M mlir/include/mlir/Dialect/Complex/IR/CMakeLists.txt
    M mlir/include/mlir/Dialect/Complex/IR/Complex.h
    M mlir/include/mlir/Dialect/Complex/IR/ComplexBase.td
    M mlir/lib/Conversion/CMakeLists.txt
    A mlir/lib/Conversion/ComplexCommon/CMakeLists.txt
    A mlir/lib/Conversion/ComplexCommon/DivisionConverter.cpp
    M mlir/lib/Conversion/ComplexToLLVM/CMakeLists.txt
    M mlir/lib/Conversion/ComplexToLLVM/ComplexToLLVM.cpp
    M mlir/lib/Conversion/ComplexToStandard/CMakeLists.txt
    M mlir/lib/Conversion/ComplexToStandard/ComplexToStandard.cpp
    A mlir/test/Conversion/ComplexToLLVM/complex-range-option.mlir
    M mlir/test/Conversion/ComplexToLLVM/convert-to-llvm.mlir
    M mlir/test/Conversion/ComplexToLLVM/full-conversion.mlir
    A mlir/test/Conversion/ComplexToStandard/complex-range-option.mlir

  Log Message:
  -----------
  [mlir][complex] Add complex-range option and select complex division … (#127010)

…algorithm

This patch adds the `complex-range` option and two calculation methods
for complex number division (algebraic method and Smith's algorithm) to
both the `ComplexToLLVM` and `ComplexToStandard` passes, allowing the
calculation method to be controlled by the option.

See also the discussion in the following discourse post.


https://discourse.llvm.org/t/question-and-proposal-regarding-complex-number-division-algorithm-in-the-complex-dialect/83772


  Commit: 0875d0f9711ba8e0270b39875e5a3b1f1a0d539a
      https://github.com/llvm/llvm-project/commit/0875d0f9711ba8e0270b39875e5a3b1f1a0d539a
  Author: Zahira Ammarguellat <zahira.ammarguellat at intel.com>
  Date:   2025-02-14 (Fri, 14 Feb 2025)

  Changed paths:
    M clang/bindings/python/clang/cindex.py
    M clang/docs/OpenMPSupport.rst
    M clang/docs/ReleaseNotes.rst
    M clang/include/clang-c/Index.h
    M clang/include/clang/AST/RecursiveASTVisitor.h
    M clang/include/clang/AST/StmtOpenMP.h
    M clang/include/clang/Basic/StmtNodes.td
    M clang/include/clang/Sema/SemaOpenMP.h
    M clang/include/clang/Serialization/ASTBitCodes.h
    M clang/lib/AST/StmtOpenMP.cpp
    M clang/lib/AST/StmtPrinter.cpp
    M clang/lib/AST/StmtProfile.cpp
    M clang/lib/Basic/OpenMPKinds.cpp
    M clang/lib/CodeGen/CGStmt.cpp
    M clang/lib/CodeGen/CGStmtOpenMP.cpp
    M clang/lib/CodeGen/CodeGenFunction.h
    M clang/lib/Parse/ParseOpenMP.cpp
    M clang/lib/Sema/SemaExceptionSpec.cpp
    M clang/lib/Sema/SemaOpenMP.cpp
    M clang/lib/Sema/TreeTransform.h
    M clang/lib/Serialization/ASTReaderStmt.cpp
    M clang/lib/Serialization/ASTWriterStmt.cpp
    M clang/lib/StaticAnalyzer/Core/ExprEngine.cpp
    A clang/test/Index/openmp-stripe.c
    A clang/test/OpenMP/stripe_ast_print.cpp
    A clang/test/OpenMP/stripe_codegen.cpp
    A clang/test/OpenMP/stripe_messages.cpp
    M clang/tools/libclang/CIndex.cpp
    M clang/tools/libclang/CXCursor.cpp
    M llvm/include/llvm/Frontend/OpenMP/OMP.td

  Log Message:
  -----------
  [Clang] [OpenMP] Add support for '#pragma omp stripe'. (#126927)

This patch was reviewed and approved here:
https://github.com/llvm/llvm-project/pull/119891
However it has been reverted here:
https://github.com/alejandro-alvarez-sonarsource/llvm-project/commit/083df25dc256154cccbc0e127d79fbac4d0583c5
due to a build issue here:
https://lab.llvm.org/buildbot/#/builders/51/builds/10694

This patch is reintroducing the support.


  Commit: ed51a8c7a14ed25240578a8dea344ccaf462670b
      https://github.com/llvm/llvm-project/commit/ed51a8c7a14ed25240578a8dea344ccaf462670b
  Author: Simon Pilgrim <llvm-dev at redking.me.uk>
  Date:   2025-02-14 (Fri, 14 Feb 2025)

  Changed paths:
    M llvm/lib/Target/X86/X86ISelLowering.cpp
    M llvm/test/CodeGen/X86/vector-interleaved-load-i32-stride-7.ll
    M llvm/test/CodeGen/X86/vector-interleaved-load-i32-stride-8.ll

  Log Message:
  -----------
  [X86] Fold EXTRACT_SUBVECTOR(VPERMV(V,M),C) -> EXTRACT_SUBVECTOR(VPERMV(V,M'),0)

Similar to what we already do for VPERMV3, we can fold the non-zero-idx EXTRACT_SUBVECTOR into the shuffle mask and use a free EXTRACT_SUBVECTOR(V,0) instead


  Commit: 5ad523a24a23d12474de35a56614faf9cd08318b
      https://github.com/llvm/llvm-project/commit/5ad523a24a23d12474de35a56614faf9cd08318b
  Author: Leandro Lupori <leandro.lupori at linaro.org>
  Date:   2025-02-14 (Fri, 14 Feb 2025)

  Changed paths:
    M flang/lib/Parser/prescan.cpp
    M flang/test/Parser/OpenMP/sentinels.f

  Log Message:
  -----------
  [flang][OpenMP] Skip invalid conditional compilation sentinels (#126282)

In fixed form, an initial line can have an OpenMP conditional
compilation sentinel only if columns 3 through 5 have only
white space or numbers.

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


  Commit: c025fd08afcf6494cced78382d47eff40a9d01b2
      https://github.com/llvm/llvm-project/commit/c025fd08afcf6494cced78382d47eff40a9d01b2
  Author: Mikhail Goncharov <goncharov.mikhail at gmail.com>
  Date:   2025-02-14 (Fri, 14 Feb 2025)

  Changed paths:
    M clang/tools/c-index-test/c-index-test.c

  Log Message:
  -----------
  [NFC] format c-index-test.c

to separate formatting changes from a functional fix later
also inlcude CXDiagnostic and CXFile


  Commit: 138495886a840afc0aaac552b265ba4d9b790493
      https://github.com/llvm/llvm-project/commit/138495886a840afc0aaac552b265ba4d9b790493
  Author: David Spickett <david.spickett at linaro.org>
  Date:   2025-02-14 (Fri, 14 Feb 2025)

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

  Log Message:
  -----------
  [GitHub] Make release audit more strict for LLVM 19 and beyond (#125841)

Before 19, we had releases from release managers, the bot, and community
members. 19 started to restrict this, with only select community members
uploading releases. The lists of users are written out each time to make
modifying this easier.

If we cannot parse the release number, I've made it raise an issue
saying so. Since this may also be a sign of a malicious action.


  Commit: 7149194ab10604e8d574596c153b2c1e73424da0
      https://github.com/llvm/llvm-project/commit/7149194ab10604e8d574596c153b2c1e73424da0
  Author: Qi Zhao <zhaoqi01 at loongson.cn>
  Date:   2025-02-14 (Fri, 14 Feb 2025)

  Changed paths:
    M llvm/test/CodeGen/LoongArch/statepoint-call-lowering.ll

  Log Message:
  -----------
  [LoongArch] Add test for stackmaps. NFC


  Commit: 7a25dd2db69a8dfd7064f762e913da54d04c3780
      https://github.com/llvm/llvm-project/commit/7a25dd2db69a8dfd7064f762e913da54d04c3780
  Author: Uday Bondhugula <uday at polymagelabs.com>
  Date:   2025-02-14 (Fri, 14 Feb 2025)

  Changed paths:
    M mlir/lib/Dialect/Affine/Transforms/LoopFusion.cpp
    M mlir/test/Dialect/Affine/loop-fusion-4.mlir

  Log Message:
  -----------
  [MLIR][Affine] Fix fusion crash from memory space int assumption (#127032)

Fix fusion crash from memory space int assumption from assumption on int
attr-based memory spaces.

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


  Commit: 9570b0ac615b5d877021de5e86c0d6ef22a34c4b
      https://github.com/llvm/llvm-project/commit/9570b0ac615b5d877021de5e86c0d6ef22a34c4b
  Author: Matt Arsenault <Matthew.Arsenault at amd.com>
  Date:   2025-02-14 (Fri, 14 Feb 2025)

  Changed paths:
    M llvm/lib/CodeGen/RegAllocGreedy.cpp
    M llvm/lib/CodeGen/RegAllocGreedy.h

  Log Message:
  -----------
  RegAllocGreedy: Use Register type


  Commit: 9433a4a19497ca32564528092343447d68820723
      https://github.com/llvm/llvm-project/commit/9433a4a19497ca32564528092343447d68820723
  Author: Nikita Popov <npopov at redhat.com>
  Date:   2025-02-14 (Fri, 14 Feb 2025)

  Changed paths:
    M clang/test/CodeGen/allow-ubsan-check.c
    M clang/test/CodeGenCXX/RelativeVTablesABI/dynamic-cast.cpp
    M clang/test/CodeGenCXX/RelativeVTablesABI/type-info.cpp
    M clang/test/CodeGenOpenCL/amdgcn-buffer-rsrc-type.cl
    M clang/test/CodeGenOpenCL/as_type.cl
    M llvm/include/llvm/Analysis/CaptureTracking.h
    M llvm/include/llvm/Support/ModRef.h
    M llvm/lib/Analysis/CaptureTracking.cpp
    M llvm/lib/Analysis/InstructionSimplify.cpp
    M llvm/lib/Transforms/IPO/AttributorAttributes.cpp
    M llvm/lib/Transforms/IPO/FunctionAttrs.cpp
    M llvm/lib/Transforms/InstCombine/InstCombineCompares.cpp
    M llvm/lib/Transforms/Scalar/MemCpyOptimizer.cpp
    M llvm/test/Transforms/FunctionAttrs/2009-01-02-LocalStores.ll
    M llvm/test/Transforms/FunctionAttrs/arg_returned.ll
    M llvm/test/Transforms/FunctionAttrs/nocapture.ll
    M llvm/test/Transforms/FunctionAttrs/nonnull.ll
    M llvm/test/Transforms/FunctionAttrs/noundef.ll
    M llvm/test/Transforms/FunctionAttrs/readattrs.ll
    M llvm/test/Transforms/FunctionAttrs/stats.ll
    M llvm/test/Transforms/PhaseOrdering/AArch64/block_scaling_decompr_8bit.ll
    M llvm/test/Transforms/PhaseOrdering/bitcast-store-branch.ll
    M llvm/test/Transforms/PhaseOrdering/dce-after-argument-promotion-loads.ll
    M llvm/test/Transforms/PhaseOrdering/enable-loop-header-duplication-oz.ll
    M llvm/unittests/Analysis/CaptureTrackingTest.cpp

  Log Message:
  -----------
  Revert "[CaptureTracking][FunctionAttrs] Add support for CaptureInfo (#125880)"

This reverts commit ee655ca27aad466bcc54f6eba03f7e564940ad5a.

A miscompilation has been reported at:
https://github.com/llvm/llvm-project/pull/125880#issuecomment-2656632577


  Commit: 6eb9781be836049c42fd13754b6e1cb201a46f74
      https://github.com/llvm/llvm-project/commit/6eb9781be836049c42fd13754b6e1cb201a46f74
  Author: Jan Voung <jvoung at google.com>
  Date:   2025-02-14 (Fri, 14 Feb 2025)

  Changed paths:
    M clang/include/clang/Analysis/FlowSensitive/CachedConstAccessorsLattice.h
    M clang/unittests/Analysis/FlowSensitive/CachedConstAccessorsLatticeTest.cpp

  Log Message:
  -----------
  [clang][dataflow] Remove a deprecated CachedConstAccessorsLattice API (#127001)

We've already migrated known users from the old to the new version of
getOrCreateConstMethodReturnStorageLocation. The conversion is pretty
straightforward as well, if there are out-of-tree users:

Previously: use CallExpr as argument
New: get the direct Callee from CallExpr, null check, and use that as
the argument instead.


  Commit: f541eed22302a422961d82b6a5c852c2b9f1fd32
      https://github.com/llvm/llvm-project/commit/f541eed22302a422961d82b6a5c852c2b9f1fd32
  Author: Joseph Huber <huberjn at outlook.com>
  Date:   2025-02-14 (Fri, 14 Feb 2025)

  Changed paths:
    M clang/include/clang/Driver/Options.td
    M clang/lib/Driver/ToolChains/AMDGPU.cpp
    M clang/lib/Driver/ToolChains/AMDGPUOpenMP.cpp
    M clang/lib/Driver/ToolChains/Clang.cpp
    M clang/lib/Driver/ToolChains/CommonArgs.cpp
    M clang/lib/Driver/ToolChains/Cuda.cpp
    M clang/lib/Driver/ToolChains/Flang.cpp
    M clang/lib/Driver/ToolChains/HIPAMD.cpp
    M clang/lib/Driver/ToolChains/HIPSPV.cpp
    M clang/lib/Driver/ToolChains/SPIRVOpenMP.cpp
    M clang/test/Driver/amdgpu-openmp-toolchain.c

  Log Message:
  -----------
  [Clang][NFC] Introduce `--offloadlib` positive flag for `nogpulib` and alias to `--no-offloadlib` (#126567)

Summary:
We support `nogpulib` to disable implicit libraries. In the future we
will want to change the default linking of these libraries based on the
user language. This patch just introduces a positive variant so now we
can do `-nogpulib -gpulib` to disable it.

Later patch will make the default a variable in the ROCmToolChain
depending on the target languages.


  Commit: 50e244f10fc6965dfc074aec5ddcb33ee7b7308f
      https://github.com/llvm/llvm-project/commit/50e244f10fc6965dfc074aec5ddcb33ee7b7308f
  Author: zhijian lin <zhijian at ca.ibm.com>
  Date:   2025-02-14 (Fri, 14 Feb 2025)

  Changed paths:
    M llvm/lib/Target/PowerPC/PPCISelLowering.cpp
    M llvm/lib/Target/PowerPC/PPCISelLowering.h
    M llvm/lib/Target/PowerPC/PPCInstr64Bit.td
    M llvm/lib/Target/PowerPC/PPCInstrInfo.cpp
    M llvm/lib/Target/PowerPC/PPCInstrInfo.td
    M llvm/lib/Target/PowerPC/PPCRegisterInfo.cpp
    M llvm/lib/Target/PowerPC/PPCRegisterInfo.h
    M llvm/lib/Target/PowerPC/PPCRegisterInfo.td
    M llvm/test/CodeGen/PowerPC/adde_return_type.ll
    M llvm/test/CodeGen/PowerPC/addegluecrash.ll
    M llvm/test/CodeGen/PowerPC/aix-cc-abi-mir.ll
    M llvm/test/CodeGen/PowerPC/aix-cc-abi.ll
    M llvm/test/CodeGen/PowerPC/aix-cc-byval-split.ll
    M llvm/test/CodeGen/PowerPC/aix-tls-gd-longlong.ll
    M llvm/test/CodeGen/PowerPC/aix-tls-le-ldst-longlong.ll
    M llvm/test/CodeGen/PowerPC/aix-tls-le-xcoff-reloc-large32.ll
    M llvm/test/CodeGen/PowerPC/atomicrmw-cond-sub-clamp.ll
    M llvm/test/CodeGen/PowerPC/cvt_i64_to_fp.ll
    M llvm/test/CodeGen/PowerPC/inc-of-add.ll
    M llvm/test/CodeGen/PowerPC/pr35688.ll
    M llvm/test/CodeGen/PowerPC/pr36292.ll
    M llvm/test/CodeGen/PowerPC/pr40922.ll
    M llvm/test/CodeGen/PowerPC/pr45448.ll
    M llvm/test/CodeGen/PowerPC/sat-add.ll
    M llvm/test/CodeGen/PowerPC/select.ll
    M llvm/test/CodeGen/PowerPC/uaddo-32.ll
    M llvm/test/CodeGen/PowerPC/uaddo-64.ll
    M llvm/test/CodeGen/PowerPC/umulo-128-legalisation-lowering.ll
    M llvm/test/CodeGen/PowerPC/urem-seteq-illegal-types.ll

  Log Message:
  -----------
  [PowerPC] Deprecate uses of ISD::ADDC/ISD::ADDE/ISD::SUBC/ISD::SUBE (#116984)

ISD::ADDC, ISD::ADDE, ISD::SUBC and ISD::SUBE are being deprecated,
using ISD::UADDO_CARRY,ISD::USUBO_CARRY instead. Lowering the UADDO,
UADDO_CARRY, USUBO, USUBO_CARRY in the patch.


  Commit: 4f937d4a41cadcdbb391f0523a67034d2931b9e3
      https://github.com/llvm/llvm-project/commit/4f937d4a41cadcdbb391f0523a67034d2931b9e3
  Author: Jan Leyonberg <jan_sjodin at yahoo.com>
  Date:   2025-02-14 (Fri, 14 Feb 2025)

  Changed paths:
    M flang/lib/Optimizer/Builder/IntrinsicCall.cpp
    M flang/test/Lower/Intrinsics/acosh.f90
    M flang/test/Lower/Intrinsics/asin.f90
    M flang/test/Lower/Intrinsics/asinh.f90
    M flang/test/Lower/Intrinsics/atanh.f90

  Log Message:
  -----------
  [Flang] Generate math ops for non-precise calls to acosh, asin, asinh and atanh intrinsic calls (#126932)

This patch changes the codegen for non-precise acosh, asin, asinh and
atanh calls to generate math ops instead. This wasn't done before
because the math dialect did not have the corresponding operations at
the time.


  Commit: f2b6adc16f2dfd5c33f153a9263f1523930383ee
      https://github.com/llvm/llvm-project/commit/f2b6adc16f2dfd5c33f153a9263f1523930383ee
  Author: Joseph Huber <huberjn at outlook.com>
  Date:   2025-02-14 (Fri, 14 Feb 2025)

  Changed paths:
    M flang/lib/Frontend/CompilerInvocation.cpp

  Log Message:
  -----------
  [Flang] Fix leftover use of 'OPT_nogpulib'

Summary:
This didn't show up as a failure in precommit and I don't build flang so
this slipped by.


  Commit: c56df978de4ee6df1e977b5db321ac8151091b21
      https://github.com/llvm/llvm-project/commit/c56df978de4ee6df1e977b5db321ac8151091b21
  Author: Fabian Ritter <fabian.ritter at amd.com>
  Date:   2025-02-14 (Fri, 14 Feb 2025)

  Changed paths:
    M llvm/test/CodeGen/AMDGPU/GlobalISel/atomicrmw_fmax.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/atomicrmw_fmin.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/buffer-atomic-fadd.f32-no-rtn.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/buffer-atomic-fadd.f32-rtn.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/buffer-atomic-fadd.f64.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/buffer-atomic-fadd.v2f16-no-rtn.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/buffer-atomic-fadd.v2f16-rtn.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/flat-atomic-fadd.f32.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/flat-atomic-fadd.f64.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/flat-atomic-fadd.v2f16.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/flat-scratch-init.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/flat-scratch.ll
    R llvm/test/CodeGen/AMDGPU/GlobalISel/fp-atomics-gfx940.ll
    A llvm/test/CodeGen/AMDGPU/GlobalISel/fp-atomics-gfx942.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/fp64-atomics-gfx90a.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/global-atomic-fadd.f32-no-rtn.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/global-atomic-fadd.f32-rtn.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/global-atomic-fadd.f64.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/global-atomic-fadd.v2f16-no-rtn.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/global-atomic-fadd.v2f16-rtn.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/irtranslator-atomicrmw.ll
    R llvm/test/CodeGen/AMDGPU/GlobalISel/regbankselect-amdgcn.mfma.gfx940.mir
    A llvm/test/CodeGen/AMDGPU/GlobalISel/regbankselect-amdgcn.mfma.gfx942.mir
    M llvm/test/CodeGen/AMDGPU/accvgpr-copy.mir
    M llvm/test/CodeGen/AMDGPU/amdhsa-kernarg-preload-num-sgprs.ll
    M llvm/test/CodeGen/AMDGPU/atomicrmw-expand.ll
    M llvm/test/CodeGen/AMDGPU/back-off-barrier-subtarget-feature.ll
    M llvm/test/CodeGen/AMDGPU/bf16-conversions.ll
    M llvm/test/CodeGen/AMDGPU/buffer-atomic-fadd.f32-no-rtn.ll
    M llvm/test/CodeGen/AMDGPU/buffer-atomic-fadd.f32-rtn.ll
    M llvm/test/CodeGen/AMDGPU/buffer-atomic-fadd.f64.ll
    M llvm/test/CodeGen/AMDGPU/buffer-atomic-fadd.v2f16-no-rtn.ll
    M llvm/test/CodeGen/AMDGPU/buffer-atomic-fadd.v2f16-rtn.ll
    M llvm/test/CodeGen/AMDGPU/buffer-fat-pointer-atomicrmw-fadd.ll
    M llvm/test/CodeGen/AMDGPU/buffer-fat-pointer-atomicrmw-fmax.ll
    M llvm/test/CodeGen/AMDGPU/buffer-fat-pointer-atomicrmw-fmin.ll
    M llvm/test/CodeGen/AMDGPU/build_vector.ll
    M llvm/test/CodeGen/AMDGPU/copy_phys_vgpr64.mir
    M llvm/test/CodeGen/AMDGPU/directive-amdgcn-target.ll
    M llvm/test/CodeGen/AMDGPU/dpp64_combine.ll
    M llvm/test/CodeGen/AMDGPU/dpp64_combine.mir
    M llvm/test/CodeGen/AMDGPU/elf-header-flags-mach.ll
    M llvm/test/CodeGen/AMDGPU/elf-header-flags-sramecc.ll
    M llvm/test/CodeGen/AMDGPU/eliminate-frame-index-s-add-i32.mir
    M llvm/test/CodeGen/AMDGPU/eliminate-frame-index-scalar-bit-ops.mir
    M llvm/test/CodeGen/AMDGPU/eliminate-frame-index-v-add-co-u32.mir
    M llvm/test/CodeGen/AMDGPU/eliminate-frame-index-v-add-u32.mir
    M llvm/test/CodeGen/AMDGPU/flat-atomic-fadd.f32.ll
    M llvm/test/CodeGen/AMDGPU/flat-atomic-fadd.f64.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-scratch-svs.ll
    M llvm/test/CodeGen/AMDGPU/flat-scratch.ll
    M llvm/test/CodeGen/AMDGPU/fmaximum3.ll
    M llvm/test/CodeGen/AMDGPU/fminimum3.ll
    M llvm/test/CodeGen/AMDGPU/fold-agpr-phis.mir
    M llvm/test/CodeGen/AMDGPU/fold-zero-high-bits-clear-kill-flags.mir
    R llvm/test/CodeGen/AMDGPU/fp-atomics-gfx940.ll
    A llvm/test/CodeGen/AMDGPU/fp-atomics-gfx942.ll
    M llvm/test/CodeGen/AMDGPU/fp64-atomics-gfx90a.ll
    R llvm/test/CodeGen/AMDGPU/gfx940-hazards.mir
    A llvm/test/CodeGen/AMDGPU/gfx942-hazards.mir
    M llvm/test/CodeGen/AMDGPU/global-atomic-fadd.f32-no-rtn.ll
    M llvm/test/CodeGen/AMDGPU/global-atomic-fadd.f32-rtn.ll
    M llvm/test/CodeGen/AMDGPU/global-atomic-fadd.f64.ll
    M llvm/test/CodeGen/AMDGPU/global-atomic-fadd.v2f16-no-rtn.ll
    M llvm/test/CodeGen/AMDGPU/global-atomic-fadd.v2f16-rtn.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/idemponent-atomics.ll
    M llvm/test/CodeGen/AMDGPU/insert_vector_elt.v2bf16.ll
    M llvm/test/CodeGen/AMDGPU/lds-dma-hazards.mir
    M llvm/test/CodeGen/AMDGPU/lds-dma-waitcnt.mir
    M llvm/test/CodeGen/AMDGPU/lds-limit-diagnostics.ll
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.cvt.fp8.ll
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.fdot2.ll
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.global.load.lds.gfx950.ll
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.global.load.lds.ll
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.mfma.gfx90a.ll
    R llvm/test/CodeGen/AMDGPU/llvm.amdgcn.mfma.gfx940.ll
    A llvm/test/CodeGen/AMDGPU/llvm.amdgcn.mfma.gfx942.ll
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.mfma.ll
    R llvm/test/CodeGen/AMDGPU/llvm.amdgcn.mfma.xf32.gfx940.ll
    A llvm/test/CodeGen/AMDGPU/llvm.amdgcn.mfma.xf32.gfx942.ll
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.permlane16.swap.ll
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.permlane32.swap.ll
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.ptr.buffer.atomic.fadd_rtn_errors.ll
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.raw.ptr.buffer.atomic.fadd_nortn.ll
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.raw.ptr.buffer.atomic.fadd_rtn.ll
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.raw.ptr.buffer.load.lds.gfx950.ll
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.struct.ptr.buffer.atomic.fadd_nortn.ll
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.struct.ptr.buffer.atomic.fadd_rtn.ll
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.struct.ptr.buffer.atomic.fmax.f64.ll
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.struct.ptr.buffer.atomic.fmin.f64.ll
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.struct.ptr.buffer.load.lds.gfx950.ll
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.udot2.ll
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.udot4.ll
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.udot8.ll
    M llvm/test/CodeGen/AMDGPU/local-atomicrmw-fadd.ll
    M llvm/test/CodeGen/AMDGPU/local-atomicrmw-fmax.ll
    M llvm/test/CodeGen/AMDGPU/local-atomicrmw-fmin.ll
    M llvm/test/CodeGen/AMDGPU/local-atomicrmw-fsub.ll
    M llvm/test/CodeGen/AMDGPU/local-stack-alloc-add-references.gfx8.mir
    M llvm/test/CodeGen/AMDGPU/local-stack-alloc-add-references.gfx9.mir
    M llvm/test/CodeGen/AMDGPU/lower-buffer-fat-pointers-nontemporal-metadata.ll
    M llvm/test/CodeGen/AMDGPU/lshl-add-u64.ll
    M llvm/test/CodeGen/AMDGPU/madak.ll
    R llvm/test/CodeGen/AMDGPU/mai-hazards-gfx940.mir
    A llvm/test/CodeGen/AMDGPU/mai-hazards-gfx942.mir
    M llvm/test/CodeGen/AMDGPU/materialize-frame-index-sgpr.gfx10.ll
    M llvm/test/CodeGen/AMDGPU/materialize-frame-index-sgpr.ll
    M llvm/test/CodeGen/AMDGPU/memory-legalizer-fence-mmra-global.ll
    M llvm/test/CodeGen/AMDGPU/memory-legalizer-fence-mmra-local.ll
    M llvm/test/CodeGen/AMDGPU/memory-legalizer-fence.ll
    M llvm/test/CodeGen/AMDGPU/memory-legalizer-flat-agent.ll
    M llvm/test/CodeGen/AMDGPU/memory-legalizer-flat-nontemporal.ll
    M llvm/test/CodeGen/AMDGPU/memory-legalizer-flat-singlethread.ll
    M llvm/test/CodeGen/AMDGPU/memory-legalizer-flat-system.ll
    M llvm/test/CodeGen/AMDGPU/memory-legalizer-flat-wavefront.ll
    M llvm/test/CodeGen/AMDGPU/memory-legalizer-flat-workgroup.ll
    M llvm/test/CodeGen/AMDGPU/memory-legalizer-global-agent.ll
    M llvm/test/CodeGen/AMDGPU/memory-legalizer-global-nontemporal.ll
    M llvm/test/CodeGen/AMDGPU/memory-legalizer-global-singlethread.ll
    M llvm/test/CodeGen/AMDGPU/memory-legalizer-global-system.ll
    M llvm/test/CodeGen/AMDGPU/memory-legalizer-global-wavefront.ll
    M llvm/test/CodeGen/AMDGPU/memory-legalizer-global-workgroup.ll
    M llvm/test/CodeGen/AMDGPU/memory-legalizer-local-agent.ll
    M llvm/test/CodeGen/AMDGPU/memory-legalizer-local-nontemporal.ll
    M llvm/test/CodeGen/AMDGPU/memory-legalizer-local-singlethread.ll
    M llvm/test/CodeGen/AMDGPU/memory-legalizer-local-system.ll
    M llvm/test/CodeGen/AMDGPU/memory-legalizer-local-wavefront.ll
    M llvm/test/CodeGen/AMDGPU/memory-legalizer-local-workgroup.ll
    M llvm/test/CodeGen/AMDGPU/memory-legalizer-private-nontemporal.ll
    M llvm/test/CodeGen/AMDGPU/mfma-cd-select.ll
    M llvm/test/CodeGen/AMDGPU/mfma-loop.ll
    M llvm/test/CodeGen/AMDGPU/mfma-no-register-aliasing.ll
    R llvm/test/CodeGen/AMDGPU/mfma-vgpr-cd-select-gfx940.ll
    A llvm/test/CodeGen/AMDGPU/mfma-vgpr-cd-select-gfx942.ll
    M llvm/test/CodeGen/AMDGPU/mfma-vgpr-cd-select.ll
    M llvm/test/CodeGen/AMDGPU/neighboring-mfma-padding.mir
    M llvm/test/CodeGen/AMDGPU/packed-fp32.ll
    M llvm/test/CodeGen/AMDGPU/peephole-fold-imm.mir
    M llvm/test/CodeGen/AMDGPU/peephole-opt-fold-reg-sequence-subreg.mir
    M llvm/test/CodeGen/AMDGPU/preload-implicit-kernargs-IR-lowering.ll
    M llvm/test/CodeGen/AMDGPU/preload-implicit-kernargs.ll
    M llvm/test/CodeGen/AMDGPU/preload-kernargs-IR-lowering.ll
    M llvm/test/CodeGen/AMDGPU/preload-kernargs.ll
    M llvm/test/CodeGen/AMDGPU/shufflevector.v2bf16.v2bf16.ll
    M llvm/test/CodeGen/AMDGPU/shufflevector.v2bf16.v3bf16.ll
    M llvm/test/CodeGen/AMDGPU/shufflevector.v2bf16.v4bf16.ll
    M llvm/test/CodeGen/AMDGPU/shufflevector.v2bf16.v8bf16.ll
    M llvm/test/CodeGen/AMDGPU/shufflevector.v2f16.v2f16.ll
    M llvm/test/CodeGen/AMDGPU/shufflevector.v2f16.v3f16.ll
    M llvm/test/CodeGen/AMDGPU/shufflevector.v2f16.v4f16.ll
    M llvm/test/CodeGen/AMDGPU/shufflevector.v2f16.v8f16.ll
    M llvm/test/CodeGen/AMDGPU/shufflevector.v2f32.v2f32.ll
    M llvm/test/CodeGen/AMDGPU/shufflevector.v2f32.v3f32.ll
    M llvm/test/CodeGen/AMDGPU/shufflevector.v2f32.v4f32.ll
    M llvm/test/CodeGen/AMDGPU/shufflevector.v2f32.v8f32.ll
    M llvm/test/CodeGen/AMDGPU/shufflevector.v2i16.v2i16.ll
    M llvm/test/CodeGen/AMDGPU/shufflevector.v2i16.v3i16.ll
    M llvm/test/CodeGen/AMDGPU/shufflevector.v2i16.v4i16.ll
    M llvm/test/CodeGen/AMDGPU/shufflevector.v2i16.v8i16.ll
    M llvm/test/CodeGen/AMDGPU/shufflevector.v2i32.v2i32.ll
    M llvm/test/CodeGen/AMDGPU/shufflevector.v2i32.v3i32.ll
    M llvm/test/CodeGen/AMDGPU/shufflevector.v2i32.v4i32.ll
    M llvm/test/CodeGen/AMDGPU/shufflevector.v2i32.v8i32.ll
    M llvm/test/CodeGen/AMDGPU/shufflevector.v2i64.v2i64.ll
    M llvm/test/CodeGen/AMDGPU/shufflevector.v2i64.v3i64.ll
    M llvm/test/CodeGen/AMDGPU/shufflevector.v2i64.v4i64.ll
    M llvm/test/CodeGen/AMDGPU/shufflevector.v2i64.v8i64.ll
    M llvm/test/CodeGen/AMDGPU/shufflevector.v2p0.v2p0.ll
    M llvm/test/CodeGen/AMDGPU/shufflevector.v2p0.v3p0.ll
    M llvm/test/CodeGen/AMDGPU/shufflevector.v2p0.v4p0.ll
    M llvm/test/CodeGen/AMDGPU/shufflevector.v2p3.v2p3.ll
    M llvm/test/CodeGen/AMDGPU/shufflevector.v2p3.v3p3.ll
    M llvm/test/CodeGen/AMDGPU/shufflevector.v2p3.v4p3.ll
    M llvm/test/CodeGen/AMDGPU/shufflevector.v2p3.v8p3.ll
    M llvm/test/CodeGen/AMDGPU/shufflevector.v3bf16.v2bf16.ll
    M llvm/test/CodeGen/AMDGPU/shufflevector.v3bf16.v3bf16.ll
    M llvm/test/CodeGen/AMDGPU/shufflevector.v3bf16.v4bf16.ll
    M llvm/test/CodeGen/AMDGPU/shufflevector.v3f16.v2f16.ll
    M llvm/test/CodeGen/AMDGPU/shufflevector.v3f16.v3f16.ll
    M llvm/test/CodeGen/AMDGPU/shufflevector.v3f16.v4f16.ll
    M llvm/test/CodeGen/AMDGPU/shufflevector.v3f32.v2f32.ll
    M llvm/test/CodeGen/AMDGPU/shufflevector.v3f32.v3f32.ll
    M llvm/test/CodeGen/AMDGPU/shufflevector.v3f32.v4f32.ll
    M llvm/test/CodeGen/AMDGPU/shufflevector.v3i16.v2i16.ll
    M llvm/test/CodeGen/AMDGPU/shufflevector.v3i16.v3i16.ll
    M llvm/test/CodeGen/AMDGPU/shufflevector.v3i16.v4i16.ll
    M llvm/test/CodeGen/AMDGPU/shufflevector.v3i32.v2i32.ll
    M llvm/test/CodeGen/AMDGPU/shufflevector.v3i32.v3i32.ll
    M llvm/test/CodeGen/AMDGPU/shufflevector.v3i32.v4i32.ll
    M llvm/test/CodeGen/AMDGPU/shufflevector.v3i64.v2i64.ll
    M llvm/test/CodeGen/AMDGPU/shufflevector.v3i64.v3i64.ll
    M llvm/test/CodeGen/AMDGPU/shufflevector.v3i64.v4i64.ll
    M llvm/test/CodeGen/AMDGPU/shufflevector.v3p0.v2p0.ll
    M llvm/test/CodeGen/AMDGPU/shufflevector.v3p0.v3p0.ll
    M llvm/test/CodeGen/AMDGPU/shufflevector.v3p0.v4p0.ll
    M llvm/test/CodeGen/AMDGPU/shufflevector.v3p3.v2p3.ll
    M llvm/test/CodeGen/AMDGPU/shufflevector.v3p3.v3p3.ll
    M llvm/test/CodeGen/AMDGPU/shufflevector.v3p3.v4p3.ll
    M llvm/test/CodeGen/AMDGPU/shufflevector.v4bf16.v2bf16.ll
    M llvm/test/CodeGen/AMDGPU/shufflevector.v4bf16.v3bf16.ll
    M llvm/test/CodeGen/AMDGPU/shufflevector.v4bf16.v4bf16.ll
    M llvm/test/CodeGen/AMDGPU/shufflevector.v4f16.v2f16.ll
    M llvm/test/CodeGen/AMDGPU/shufflevector.v4f16.v3f16.ll
    M llvm/test/CodeGen/AMDGPU/shufflevector.v4f16.v4f16.ll
    M llvm/test/CodeGen/AMDGPU/shufflevector.v4f32.v2f32.ll
    M llvm/test/CodeGen/AMDGPU/shufflevector.v4f32.v3f32.ll
    M llvm/test/CodeGen/AMDGPU/shufflevector.v4f32.v4f32.ll
    M llvm/test/CodeGen/AMDGPU/shufflevector.v4i16.v2i16.ll
    M llvm/test/CodeGen/AMDGPU/shufflevector.v4i16.v3i16.ll
    M llvm/test/CodeGen/AMDGPU/shufflevector.v4i16.v4i16.ll
    M llvm/test/CodeGen/AMDGPU/shufflevector.v4i32.v2i32.ll
    M llvm/test/CodeGen/AMDGPU/shufflevector.v4i32.v3i32.ll
    M llvm/test/CodeGen/AMDGPU/shufflevector.v4i32.v4i32.ll
    M llvm/test/CodeGen/AMDGPU/shufflevector.v4i64.v2i64.ll
    M llvm/test/CodeGen/AMDGPU/shufflevector.v4i64.v3i64.ll
    M llvm/test/CodeGen/AMDGPU/shufflevector.v4i64.v4i64.ll
    M llvm/test/CodeGen/AMDGPU/shufflevector.v4p0.v2p0.ll
    M llvm/test/CodeGen/AMDGPU/shufflevector.v4p0.v3p0.ll
    M llvm/test/CodeGen/AMDGPU/shufflevector.v4p0.v4p0.ll
    M llvm/test/CodeGen/AMDGPU/shufflevector.v4p3.v2p3.ll
    M llvm/test/CodeGen/AMDGPU/shufflevector.v4p3.v3p3.ll
    M llvm/test/CodeGen/AMDGPU/shufflevector.v4p3.v4p3.ll
    M llvm/test/CodeGen/AMDGPU/smfmac_no_agprs.ll
    M llvm/test/CodeGen/AMDGPU/uniform-select.ll
    M llvm/test/CodeGen/AMDGPU/unsupported-image-sample.ll
    M llvm/test/CodeGen/AMDGPU/v_mov_b64_expansion.mir
    M llvm/test/CodeGen/AMDGPU/vector_shuffle.packed.ll
    M llvm/test/CodeGen/AMDGPU/verifier-sdwa-cvt.mir
    M llvm/test/MC/AMDGPU/amdhsa-kd-kernarg-preload.s
    M llvm/test/MC/AMDGPU/extrasgprs_mcexpr.s
    R llvm/test/MC/AMDGPU/flat-scratch-gfx940.s
    A llvm/test/MC/AMDGPU/flat-scratch-gfx942.s
    R llvm/test/MC/AMDGPU/gfx940_asm_features.s
    R llvm/test/MC/AMDGPU/gfx940_err.s
    R llvm/test/MC/AMDGPU/gfx940_err_pos.s
    R llvm/test/MC/AMDGPU/gfx940_unsupported.s
    A llvm/test/MC/AMDGPU/gfx942_asm_features.s
    A llvm/test/MC/AMDGPU/gfx942_err.s
    A llvm/test/MC/AMDGPU/gfx942_err_pos.s
    A llvm/test/MC/AMDGPU/gfx942_unsupported.s
    M llvm/test/MC/AMDGPU/gfx950_asm_features.s
    M llvm/test/MC/AMDGPU/gfx950_asm_read_tr.s
    M llvm/test/MC/AMDGPU/gfx950_asm_vop1.s
    M llvm/test/MC/AMDGPU/gfx950_asm_vop3.s
    R llvm/test/MC/AMDGPU/mai-err-gfx940.s
    A llvm/test/MC/AMDGPU/mai-err-gfx942.s
    R llvm/test/MC/AMDGPU/mai-gfx940.s
    A llvm/test/MC/AMDGPU/mai-gfx942.s
    M llvm/test/MC/AMDGPU/mai-gfx950.s
    R llvm/test/MC/AMDGPU/mimg-err-gfx940.s
    A llvm/test/MC/AMDGPU/mimg-err-gfx942.s
    M llvm/test/MC/AMDGPU/mubuf-gfx950.s
    M llvm/test/MC/AMDGPU/writelane_m0.s
    M llvm/test/MC/AMDGPU/xdl-insts-gfx908.s
    M llvm/test/MC/Disassembler/AMDGPU/gfx908-xdl-insts.txt
    R llvm/test/MC/Disassembler/AMDGPU/gfx940_features.txt
    R llvm/test/MC/Disassembler/AMDGPU/gfx940_flat.txt
    R llvm/test/MC/Disassembler/AMDGPU/gfx940_mai.txt
    A llvm/test/MC/Disassembler/AMDGPU/gfx942_features.txt
    A llvm/test/MC/Disassembler/AMDGPU/gfx942_flat.txt
    A llvm/test/MC/Disassembler/AMDGPU/gfx942_mai.txt
    M llvm/test/MachineVerifier/AMDGPU/writelane_m0.mir
    M llvm/test/Object/AMDGPU/elf-header-flags-mach.yaml
    M llvm/test/Transforms/AtomicExpand/AMDGPU/expand-atomic-f32-agent.ll
    M llvm/test/Transforms/AtomicExpand/AMDGPU/expand-atomic-f32-system.ll
    M llvm/test/Transforms/AtomicExpand/AMDGPU/expand-atomic-f64-agent.ll
    M llvm/test/Transforms/AtomicExpand/AMDGPU/expand-atomic-f64-system.ll
    M llvm/test/Transforms/AtomicExpand/AMDGPU/expand-atomic-i16.ll
    M llvm/test/Transforms/AtomicExpand/AMDGPU/expand-atomic-i32-agent.ll
    M llvm/test/Transforms/AtomicExpand/AMDGPU/expand-atomic-i32-system.ll
    M llvm/test/Transforms/AtomicExpand/AMDGPU/expand-atomic-i64-agent.ll
    M llvm/test/Transforms/AtomicExpand/AMDGPU/expand-atomic-i64-system.ll
    M llvm/test/Transforms/AtomicExpand/AMDGPU/expand-atomic-rmw-fadd-flat-specialization.ll
    M llvm/test/Transforms/AtomicExpand/AMDGPU/expand-atomic-rmw-fadd.ll
    M llvm/test/Transforms/AtomicExpand/AMDGPU/expand-atomic-v2bf16-agent.ll
    M llvm/test/Transforms/AtomicExpand/AMDGPU/expand-atomic-v2bf16-system.ll
    M llvm/test/Transforms/AtomicExpand/AMDGPU/expand-atomic-v2f16-agent.ll
    M llvm/test/Transforms/AtomicExpand/AMDGPU/expand-atomic-v2f16-system.ll
    M llvm/test/Transforms/AtomicExpand/AMDGPU/expand-atomicrmw-flat-noalias-addrspace.ll
    M llvm/test/Transforms/AtomicExpand/AMDGPU/expand-atomicrmw-fp-vector.ll
    M llvm/test/Transforms/AtomicExpand/AMDGPU/expand-atomicrmw-integer-ops-0-to-add-0.ll
    M llvm/test/Transforms/LoadStoreVectorizer/AMDGPU/load-i1-misaligned.ll
    M llvm/test/tools/llvm-mca/AMDGPU/carried-over.s
    R llvm/test/tools/llvm-mca/AMDGPU/gfx940-mfma.s
    A llvm/test/tools/llvm-mca/AMDGPU/gfx942-mfma.s
    M llvm/test/tools/llvm-objdump/ELF/AMDGPU/subtarget.ll
    M llvm/test/tools/llvm-readobj/ELF/AMDGPU/elf-headers.test

  Log Message:
  -----------
  [AMDGPU][NFC] Replace gfx940 and gfx941 with gfx942 in llvm/test (#125711)

[AMDGPU][NFC] Replace gfx940 and gfx941 with gfx942 in llvm/test

gfx940 and gfx941 are no longer supported. This is one of a series of PRs to remove them from the code base.

This PR uses gfx942 instead of gfx940 and gfx941 in the test RUN-lines (unless there is already a RUN-line for gfx942).

The only notable difference in the test output is that gfx942 does not force the use of sc0 and sc1 on stores while gfx940 and gfx941 do (cf. https://reviews.llvm.org/D149986).

For SWDEV-512631


  Commit: 3d69eab5467eba9b0368774495a1b87951db5f79
      https://github.com/llvm/llvm-project/commit/3d69eab5467eba9b0368774495a1b87951db5f79
  Author: Nikita Popov <npopov at redhat.com>
  Date:   2025-02-14 (Fri, 14 Feb 2025)

  Changed paths:
    A llvm/test/Transforms/DeadStoreElimination/captures-ret-only.ll

  Log Message:
  -----------
  [DSE] Add test for interaction with return-only captures (NFC)

Regression test for the miscompile reported at:
https://github.com/llvm/llvm-project/pull/125880#issuecomment-2656632577


  Commit: 1161cbe32b73087fad096091fe98905dd5efef8e
      https://github.com/llvm/llvm-project/commit/1161cbe32b73087fad096091fe98905dd5efef8e
  Author: Oleg Shyshkov <shyshkov at google.com>
  Date:   2025-02-14 (Fri, 14 Feb 2025)

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

  Log Message:
  -----------
  [mlir][bazel] Port 1935f84856a9297e725770e6f4b9c50fbcec365c


  Commit: 4a76f880ea2b0d345cfedbffd2c8f168829464ce
      https://github.com/llvm/llvm-project/commit/4a76f880ea2b0d345cfedbffd2c8f168829464ce
  Author: Alexey Bataev <a.bataev at outlook.com>
  Date:   2025-02-14 (Fri, 14 Feb 2025)

  Changed paths:
    M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
    A llvm/test/Transforms/SLPVectorizer/X86/same-values-sub-node-with-poisons.ll

  Log Message:
  -----------
  [SLP]Check the first instruction instead the first scalar for subvectors

Need to check the first instruction instead of first scalar for
subvectors, when trying to find full matched vectorized node in the
graph.

Fixes #126909.


  Commit: 8d9e2f4ce0e7d86d42f148db8958d63a758635b6
      https://github.com/llvm/llvm-project/commit/8d9e2f4ce0e7d86d42f148db8958d63a758635b6
  Author: Jay Foad <jay.foad at amd.com>
  Date:   2025-02-14 (Fri, 14 Feb 2025)

  Changed paths:
    M llvm/lib/Target/AMDGPU/VOP3PInstructions.td

  Log Message:
  -----------
  [AMDGPU] Simplify OtherPredicates handling in MadFmaMixPats. NFC. (#127044)

This removes some of the complexity added by ad6cd7e8b259 by setting
OtherPredicates outside MadFmaMixPats rather than inside it.


  Commit: 22cb9e6a5b4deaa4882d41840287de576ffc88b6
      https://github.com/llvm/llvm-project/commit/22cb9e6a5b4deaa4882d41840287de576ffc88b6
  Author: Ivan Butygin <ivan.butygin at gmail.com>
  Date:   2025-02-14 (Fri, 14 Feb 2025)

  Changed paths:
    M mlir/include/mlir/Conversion/Passes.td
    M mlir/lib/Conversion/GPUToNVVM/LowerGpuOpsToNVVMOps.cpp
    M mlir/lib/Conversion/GPUToROCDL/LowerGpuOpsToROCDLOps.cpp
    A mlir/test/Conversion/GPUToNVVM/gpu-to-nvvm-invalid-dialect.mlir
    M mlir/test/Conversion/GPUToNVVM/gpu-to-nvvm.mlir
    A mlir/test/Conversion/GPUToROCDL/gpu-to-rocdl-invalid-dialect.mlir
    M mlir/test/Conversion/GPUToROCDL/gpu-to-rocdl.mlir

  Log Message:
  -----------
  [mlir][gpu] GPUToROCDL/NVVM: use generic llvm conversion interface instead of hardcoded conversions. (#124439)

Using `ConvertToLLVMPatternInterface` allows to unhardcode specific
dialect conversions from passes and, more importantly, allows downstream
projects to inject their ops/types translation here by registering
corresponding interface.

Add `allowed-dialects` option so user can control which dialects can be
used to populate conversions.


  Commit: 40dc12a886c7786fea13dce4e28e6b3e59c7d230
      https://github.com/llvm/llvm-project/commit/40dc12a886c7786fea13dce4e28e6b3e59c7d230
  Author: Alex Bradbury <asb at igalia.com>
  Date:   2025-02-14 (Fri, 14 Feb 2025)

  Changed paths:
    M clang/www/OpenProjects.html
    M libc/docs/index.rst
    M libcxx/docs/index.rst
    M lldb/docs/index.rst
    M llvm/docs/GettingInvolved.rst

  Log Message:
  -----------
  [doc] Add Discord invite link alongside channel links (#126352)

By far the most important part of this patch is updating
GettingInvolved.rst to include the invite link, but I've grepped for any
other discord.com links.

I'm no Discord expert, but from my experience (confirmed via @preames
kindly testing as well) the direct channel links provide a confusing
experience if you haven't already found and used an invite link to the
LLVM Discord server. If you're logged into Discord but not a member of
LLVM's sever, the web app opens and then...nothing. No channel opens, no
prompt to join the server or even a hint that you need to find an invite
link (and if you're not used to Discord, you likely don't even know
that's necessary).

This patch addresses the issue by providing the invite link where
Discord is mentioned.


  Commit: 5ab019ff7f7770c14a5974a11b4d21ee2fc6bf07
      https://github.com/llvm/llvm-project/commit/5ab019ff7f7770c14a5974a11b4d21ee2fc6bf07
  Author: Dave Lee <davelee.com at gmail.com>
  Date:   2025-02-14 (Fri, 14 Feb 2025)

  Changed paths:
    M lldb/source/Plugins/ObjectFile/PECOFF/ObjectFilePECOFF.cpp

  Log Message:
  -----------
  [lldb] Use LLDB_LOG_ERROR in ObjectFilePECOFF.cpp (NFC) (#126972)


  Commit: c2202929e89b1e803c5dbd56f04d1cd44f97ac18
      https://github.com/llvm/llvm-project/commit/c2202929e89b1e803c5dbd56f04d1cd44f97ac18
  Author: Alex Bradbury <asb at igalia.com>
  Date:   2025-02-14 (Fri, 14 Feb 2025)

  Changed paths:
    M llvm/docs/HowToAddABuilder.rst

  Log Message:
  -----------
  [docs] Fix typo in HowToAddABuilder


  Commit: f01c6ab3a88ad82e2b2ec2634d8327e348c7affe
      https://github.com/llvm/llvm-project/commit/f01c6ab3a88ad82e2b2ec2634d8327e348c7affe
  Author: Donát Nagy <donat.nagy at ericsson.com>
  Date:   2025-02-14 (Fri, 14 Feb 2025)

  Changed paths:
    M clang/test/Analysis/out-of-bounds.c

  Log Message:
  -----------
  [NFC] [analyzer] Add ArrayBound tests to document casting bug (#127062)

Add a few security.ArrayBound testcases that document the false
positives caused the fact that the analyzer doesn't model a cast from
`signed char` to `unsigned char`.


  Commit: c74d1d218d199c6526bc278c90511cfeb14ad00c
      https://github.com/llvm/llvm-project/commit/c74d1d218d199c6526bc278c90511cfeb14ad00c
  Author: Robert Imschweiler <50044286+ro-i at users.noreply.github.com>
  Date:   2025-02-14 (Fri, 14 Feb 2025)

  Changed paths:
    M llvm/lib/Target/AMDGPU/SIISelLowering.cpp
    M llvm/test/CodeGen/AMDGPU/no-hsa-graphics-shaders.ll

  Log Message:
  -----------
  [AMDGPU] Change handling of unsupported non-compute shaders with HSA (#126798)

Previous handling in `SITargetLowering::LowerFormalArguments` only
reported a diagnostic message and continued execution by returning a
non-usable `SDValue`. This results in llvm crashing later with an
unrelated error. This commit changes the detection of an unsupported
non-compute shader to be a fatal error right away.

As an example situation, take the usage of an `amdgpu_ps` function and
the `amdgcn-unknown-amdhsa` target triple.
```
define amdgpu_ps void @foo(ptr %p, i32 %i) {
        store i32 %i, ptr %p
        ret void
}
```
Compiling this code (with `llc -mtriple=amdgcn-unknown-amdhsa
-mcpu=gfx942`, for example) fails with:
```
error: <unknown>:0:0: in function foo void (ptr, i32): unsupported non-compute shaders with HSA

llc:
[...]/git/trunk21.0/llvm-project/llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp:11790:
void llvm::SelectionDAGISel::LowerArguments(const llvm::Function&):
Assertion `InVals.size() == Ins.size() && "LowerFormalArguments didn't emit the correct number of values!"' failed.
[...]
```


  Commit: fb17edb8a189d93a65eb070a2f3a0a94331f39ad
      https://github.com/llvm/llvm-project/commit/fb17edb8a189d93a65eb070a2f3a0a94331f39ad
  Author: Robert Imschweiler <50044286+ro-i at users.noreply.github.com>
  Date:   2025-02-14 (Fri, 14 Feb 2025)

  Changed paths:
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.workitem.id-unsupported-calling-convention.ll

  Log Message:
  -----------
  [AMDGPU] Fix llvm.amdgcn.workitem.id-unsupported-calling-convention.ll (#127041)

Follow-up fix for #126058. (@arsenm)


  Commit: f1c481787be1e40d7031627588926212938ab6ee
      https://github.com/llvm/llvm-project/commit/f1c481787be1e40d7031627588926212938ab6ee
  Author: Alexey Bataev <a.bataev at outlook.com>
  Date:   2025-02-14 (Fri, 14 Feb 2025)

  Changed paths:
    M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
    M llvm/test/Transforms/SLPVectorizer/AArch64/InstructionsState-is-invalid-0.ll
    M llvm/test/Transforms/SLPVectorizer/AArch64/reduce-fadd.ll
    M llvm/test/Transforms/SLPVectorizer/AMDGPU/reduction.ll
    M llvm/test/Transforms/SLPVectorizer/RISCV/horizontal-list.ll
    M llvm/test/Transforms/SLPVectorizer/RISCV/reductions.ll
    M llvm/test/Transforms/SLPVectorizer/X86/bool-mask.ll
    M llvm/test/Transforms/SLPVectorizer/X86/external-used-across-reductions.ll
    M llvm/test/Transforms/SLPVectorizer/X86/extract-scalar-from-undef.ll
    M llvm/test/Transforms/SLPVectorizer/X86/extractelemets-extended-by-poison.ll
    M llvm/test/Transforms/SLPVectorizer/X86/horizontal-list.ll
    M llvm/test/Transforms/SLPVectorizer/X86/horizontal-minmax.ll
    M llvm/test/Transforms/SLPVectorizer/X86/malformed_phis.ll
    M llvm/test/Transforms/SLPVectorizer/X86/multi-tracked-reduced-value.ll
    M llvm/test/Transforms/SLPVectorizer/X86/phi-node-reshuffled-part.ll
    M llvm/test/Transforms/SLPVectorizer/X86/reduced-val-extracted-and-externally-used.ll
    M llvm/test/Transforms/SLPVectorizer/X86/reduced-value-vectorized-later.ll
    M llvm/test/Transforms/SLPVectorizer/X86/reduction-extracted-value.ll
    M llvm/test/Transforms/SLPVectorizer/X86/revectorized_rdx_crash.ll
    M llvm/test/Transforms/SLPVectorizer/X86/undef_vect.ll
    M llvm/test/Transforms/SLPVectorizer/partial-register-extract.ll
    M llvm/test/Transforms/SLPVectorizer/reduction-modified-values.ll
    M llvm/test/Transforms/SLPVectorizer/scalarization-overhead.ll

  Log Message:
  -----------
  [SLP]Improved reduction cost/codegen

SLP vectorizer is able to combine several reductions from the list of
(potentially) reduced values with the different opcodes/values kind.
Currently, these reductions are handled independently of each other. But
instead the compiler can combine them into wide vector operations and
then perform only single reduction.
E.g, if the SLP vectorizer emits currently something like:
```
%r1 = reduce.add(<4 x i32> %v1)
%r2 = reduce.add(<4 x i32> %v2)
%r = add i32 %r1, %r2
```

it can be emitted as:
```
%v = add <4 x i32> %v1, %v2
%r = reduce.add(<4 x i32> %v)
```

It allows to improve the performance in some cases.

AVX512, -O3+LTO
Metric: size..text

Program                                                                                           size..text
                                                                                                  results     results0    diff
                      test-suite :: SingleSource/Benchmarks/Shootout-C++/Shootout-C++-matrix.test     4553.00     4615.00  1.4%
                                 test-suite :: SingleSource/Benchmarks/Adobe-C++/loop_unroll.test   412708.00   416820.00  1.0%
        test-suite :: SingleSource/UnitTests/Vector/AVX512BWVL/Vector-AVX512BWVL-mask_set_bw.test    12901.00    12981.00  0.6%
                        test-suite :: MultiSource/Benchmarks/FreeBench/fourinarow/fourinarow.test    22717.00    22813.00  0.4%
                             test-suite :: MultiSource/Benchmarks/mediabench/gsm/toast/toast.test    39722.00    39850.00  0.3%
                      test-suite :: MultiSource/Benchmarks/MiBench/telecomm-gsm/telecomm-gsm.test    39725.00    39853.00  0.3%
test-suite :: SingleSource/Regression/C/gcc-c-torture/execute/GCC-C-execute-builtin-bitops-1.test    15918.00    15967.00  0.3%
                                       test-suite :: External/SPEC/CFP2006/433.milc/433.milc.test   155491.00   155587.00  0.1%
                                     test-suite :: MicroBenchmarks/ImageProcessing/Blur/blur.test   227894.00   227942.00  0.0%
                                    test-suite :: MultiSource/Benchmarks/7zip/7zip-benchmark.test  1062188.00  1062364.00  0.0%
                                test-suite :: External/SPEC/CINT2006/464.h264ref/464.h264ref.test   793672.00   793720.00  0.0%
                              test-suite :: External/SPEC/CINT2017rate/525.x264_r/525.x264_r.test   657371.00   657403.00  0.0%
                             test-suite :: External/SPEC/CINT2017speed/625.x264_s/625.x264_s.test   657371.00   657403.00  0.0%
                   test-suite :: External/SPEC/CINT2017speed/600.perlbench_s/600.perlbench_s.test  2074917.00  2074933.00  0.0%
                    test-suite :: External/SPEC/CINT2017rate/500.perlbench_r/500.perlbench_r.test  2074917.00  2074933.00  0.0%
                                     test-suite :: MultiSource/Applications/JM/lencod/lencod.test   855219.00   855203.00 -0.0%

Benchmarks/Shootout-C++ - same transformed reduction
Adobe-C++/loop_unroll - same transformed reductions, new vector code
AVX512BWVL/Vector-AVX512BWVL-mask_set_bw - same transformed reductions
FreeBench/fourinarow - same transformed reductions
MiBench/telecomm-gsm - same transformed reductions
execute/GCC-C-execute-builtin-bitops-1 - same transformed reductions
CFP2006/433.milc - better vector code, several x i64 reductions + trunc
to i32 gets trunced to x i32 reductions
ImageProcessing/Blur - same transformed reductions
Benchmarks/7zip - same transformed reductions, extra 4 x vectorization
CINT2006/464.h264ref - same transformed reductions
CINT2017rate/525.x264_r
CINT2017speed/625.x264_s - same transformed reductions
CINT2017speed/600.perlbench_s
CINT2017rate/500.perlbench_r - transformed same reduction
JM/lencod - extra 4 x vectorization

RISC-V, SiFive-p670, -O3+LTO

Metric: size..text

Program                                                                                           size..text
                                                                                                  results    results0   diff
test-suite :: SingleSource/Regression/C/gcc-c-torture/execute/GCC-C-execute-builtin-bitops-1.test    8990.00    9514.00   5.8%
                                test-suite :: External/SPEC/CINT2006/464.h264ref/464.h264ref.test  588504.00  588488.00  -0.0%
                    test-suite :: MultiSource/Benchmarks/MiBench/consumer-lame/consumer-lame.test  147464.00  147440.00  -0.0%
              test-suite :: MultiSource/Benchmarks/MiBench/automotive-susan/automotive-susan.test   21496.00   21492.00  -0.0%
                                     test-suite :: MicroBenchmarks/ImageProcessing/Blur/blur.test  165420.00  165372.00  -0.0%
                                    test-suite :: MultiSource/Benchmarks/7zip/7zip-benchmark.test  843928.00  843648.00  -0.0%
                                    test-suite :: External/SPEC/CINT2006/458.sjeng/458.sjeng.test  100712.00  100672.00  -0.0%
                      test-suite :: MultiSource/Benchmarks/MiBench/telecomm-gsm/telecomm-gsm.test   24384.00   24336.00  -0.2%
                             test-suite :: MultiSource/Benchmarks/mediabench/gsm/toast/toast.test   24380.00   24332.00  -0.2%
             test-suite :: SingleSource/UnitTests/Vectorizer/VPlanNativePath/outer-loop-vect.test   10348.00   10316.00  -0.3%
                                 test-suite :: SingleSource/Benchmarks/Adobe-C++/loop_unroll.test  221304.00  220480.00  -0.4%
                      test-suite :: SingleSource/Benchmarks/Shootout-C++/Shootout-C++-matrix.test    3750.00    3736.00  -0.4%
                            test-suite :: SingleSource/Regression/C/Regression-C-DuffsDevice.test     678.00     370.00 -45.4%

execute/GCC-C-execute-builtin-bitops-1 - extra 4 x reductions, same
transformed reductions
CINT2006/464.h264ref - extra 4 x reductions, same transformed reductions
MiBench/consumer-lame - 2 4 x i1 merged to 8 x i1 reductions (bitcast + ctpop)
MiBench/automotive-susan - same transformed reductions
ImageProcessing/Blur - same transformed reductions
Benchmarks/7zip - same transformed reductions
CINT2006/458.sjeng - 2 4 x i1 merged to 8 x i1 reductions (bitcast + ctpop)
MiBench/telecomm-gsm - same transformed reductions
Benchmarks/mediabench - same transformed reductions
Vectorizer/VPlanNativePath - same transformed reductions
Adobe-C++/loop_unroll - extra 4 x reductions, same transformed reductions
Benchmarks/Shootout-C++ - extra 4 x reductions, same transformed reductions
Regression/C/Regression-C-DuffsDevice - same transformed reductions

Reviewers: hiraditya, topperc, preames

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


  Commit: 751a00864f48766319b8a5b0c5815ffa0ede3d32
      https://github.com/llvm/llvm-project/commit/751a00864f48766319b8a5b0c5815ffa0ede3d32
  Author: Vitaly Buka <vitalybuka at google.com>
  Date:   2025-02-14 (Fri, 14 Feb 2025)

  Changed paths:
    M clang/docs/ReleaseNotes.rst
    M clang/tools/libclang/CXString.cpp

  Log Message:
  -----------
  Revert "[libclang] Always Dup in createRef(StringRef)" (#127076)

Reverts llvm/llvm-project#125020


https://lab.llvm.org/buildbot/#/builders/24/builds/5252/steps/12/logs/stdio

```
==c-index-test==2512295==ERROR: AddressSanitizer: heap-use-after-free on address 0xe19338c27992 at pc 0xc66be4784830 bp 0xe0e33660df00 sp 0xe0e33660d6e8
READ of size 23 at 0xe19338c27992 thread T1
    #0 0xc66be478482c in printf_common(void*, char const*, std::__va_list) /home/b/sanitizer-aarch64-linux-bootstrap-asan/build/llvm-project/compiler-rt/lib/asan/../sanitizer_common/sanitizer_common_interceptors_format.inc:563:9
    #1 0xc66be478643c in vprintf /home/b/sanitizer-aarch64-linux-bootstrap-asan/build/llvm-project/compiler-rt/lib/asan/../sanitizer_common/sanitizer_common_interceptors.inc:1699:1
    #2 0xc66be478643c in printf /home/b/sanitizer-aarch64-linux-bootstrap-asan/build/llvm-project/compiler-rt/lib/asan/../sanitizer_common/sanitizer_common_interceptors.inc:1757:1
    #3 0xc66be4839384 in FilteredPrintingVisitor /home/b/sanitizer-aarch64-linux-bootstrap-asan/build/llvm-project/clang/tools/c-index-test/c-index-test.c:1359:5
    #4 0xe4e3454f12e8 in clang::cxcursor::CursorVisitor::Visit(CXCursor, bool) /home/b/sanitizer-aarch64-linux-bootstrap-asan/build/llvm-project/clang/tools/libclang/CIndex.cpp:227:11
    #5 0xe4e3454f48a8 in bool clang::cxcursor::CursorVisitor::visitPreprocessedEntities<clang::PreprocessingRecord::iterator>(clang::PreprocessingRecord::iterator, clang::PreprocessingRecord::iterator, clang::PreprocessingRecord&, clang::FileID) CIndex.cpp
    
0xe19338c27992 is located 82 bytes inside of 105-byte region [0xe19338c27940,0xe19338c279a9)
freed by thread T1 here:
    #0 0xc66be480040c in free /home/b/sanitizer-aarch64-linux-bootstrap-asan/build/llvm-project/compiler-rt/lib/asan/asan_malloc_linux.cpp:51:3
    #1 0xc66be4839728 in GetCursorSource c-index-test.c
    #2 0xc66be4839368 in FilteredPrintingVisitor /home/b/sanitizer-aarch64-linux-bootstrap-asan/build/llvm-project/clang/tools/c-index-test/c-index-test.c:1360:12
    #3 0xe4e3454f12e8 in clang::cxcursor::CursorVisitor::Visit(CXCursor, bool) /home/b/sanitizer-aarch64-linux-bootstrap-asan/build/llvm-project/clang/tools/libclang/CIndex.cpp:227:11
    #4 0xe4e3454f48a8 in bool clang::cxcursor::CursorVisitor::visitPreprocessedEntities<clang::PreprocessingRecord::iterator>(clang::PreprocessingRecord::iterator, clang::PreprocessingRecord::iterator, clang::PreprocessingRecord&, clang::FileID) CIndex.cpp


previously allocated by thread T1 here:
    #0 0xc66be4800680 in malloc /home/b/sanitizer-aarch64-linux-bootstrap-asan/build/llvm-project/compiler-rt/lib/asan/asan_malloc_linux.cpp:67:3
    #1 0xe4e3456379b0 in safe_malloc /home/b/sanitizer-aarch64-linux-bootstrap-asan/build/llvm-project/llvm/include/llvm/Support/MemAlloc.h:26:18
    #2 0xe4e3456379b0 in createDup /home/b/sanitizer-aarch64-linux-bootstrap-asan/build/llvm-project/clang/tools/libclang/CXString.cpp:95:40
    #3 0xe4e3456379b0 in clang::cxstring::createRef(llvm::StringRef) /home/b/sanitizer-aarch64-linux-bootstrap-asan/build/llvm-project/clang/tools/libclang/CXString.cpp:90:10
```


  Commit: 8d72718154f92c22ce82eb31dcf7f0f776c8e980
      https://github.com/llvm/llvm-project/commit/8d72718154f92c22ce82eb31dcf7f0f776c8e980
  Author: Hyunsung Lee <ita9naiwa at gmail.com>
  Date:   2025-02-14 (Fri, 14 Feb 2025)

  Changed paths:
    M mlir/lib/Dialect/Math/Transforms/ExpandPatterns.cpp
    M mlir/test/Dialect/Math/expand-math.mlir
    M mlir/test/mlir-runner/test-expand-math-approx.mlir

  Log Message:
  -----------
  [mlir][math] `powf(a, b)` drop support when a < 0  (#126338)

Related: #124402

- change inefficient implementation of `powf(a, b)` to handle `a < 0`
case
  - thus drop `a < 0` case support

However, some special cases are being used such as:
  - `a < 0` and `b = 0, b = 0.5, b = 1 or b = 2`
  - convert those special cases into simpler ops.


  Commit: 9e02f8efd647c0290f6d92b1c45d85dd53f05ba4
      https://github.com/llvm/llvm-project/commit/9e02f8efd647c0290f6d92b1c45d85dd53f05ba4
  Author: David Green <david.green at arm.com>
  Date:   2025-02-14 (Fri, 14 Feb 2025)

  Changed paths:
    M llvm/include/llvm/CodeGen/BasicTTIImpl.h
    M llvm/test/Analysis/CostModel/AArch64/fshl.ll
    M llvm/test/Analysis/CostModel/AArch64/fshr.ll
    M llvm/test/Analysis/CostModel/AArch64/sve-intrinsics.ll
    M llvm/test/Analysis/CostModel/ARM/intrinsic-cost-kinds.ll

  Log Message:
  -----------
  [CostModel] Account for power-2 urem in funnel shift costs (#127037)

As can be seen in https://godbolt.org/z/qvMqY79cK, a urem by a power-2
constant will be code-generated as an And of a mask. The cost model for
funnel shifts tries to account for that by passing OP_PowerOf2 as the
operand info for the second operand. As far as I can tell returning a
lower cost for urem with a OP_PowerOf2 is only implemented on X86
though.

This patch short-cuts that by calling getArithmeticInstrCost(And, ..)
directly when we know the typesize will be a power-of-2. This is an
alternative to the patch in #126912 which is a more general solution for
power-2 udiv/urem costs, this more narrowly just fixes funnel shifts.


  Commit: 1dd47a3514cdcfc64c47e51098bfd20b076bfbcd
      https://github.com/llvm/llvm-project/commit/1dd47a3514cdcfc64c47e51098bfd20b076bfbcd
  Author: Mikhail Goncharov <goncharov.mikhail at gmail.com>
  Date:   2025-02-14 (Fri, 14 Feb 2025)

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

  Log Message:
  -----------
  [bazel] port aecb764cc2e026ecb5c418dd56f2722c6f263e8b


  Commit: 4d355be9ea0c191b4d623fe77c933ce2b9d5ebdc
      https://github.com/llvm/llvm-project/commit/4d355be9ea0c191b4d623fe77c933ce2b9d5ebdc
  Author: Craig Topper <craig.topper at sifive.com>
  Date:   2025-02-14 (Fri, 14 Feb 2025)

  Changed paths:
    M clang/lib/Driver/ToolChains/Flang.cpp
    M flang/include/flang/Frontend/TargetOptions.h
    M flang/lib/Frontend/CompilerInvocation.cpp
    M flang/lib/Frontend/FrontendActions.cpp
    A flang/test/Driver/mabi-riscv.f90
    A flang/test/Lower/RISCV/riscv-target-abi.f90

  Log Message:
  -----------
  [flang][RISCV] Add target-abi ModuleFlag. (#126188)

This is needed to generate proper ABI flags in the ELF header for LTO
builds. If these flags aren't set correctly, we can't link with objects
that were built with the correct flags.

For non-LTO builds the mcpu/mattr in the TargetMachine will cause the
backend to infer an ABI. For LTO builds the mcpu/mattr aren't set.

I've only added lp64, lp64f, and lp64d ABIs. ilp32* requires riscv32
which is not yet supported in flang. lp64e requires a different
DataLayout string and would need additional plumbing.

Fixes #115679


  Commit: 1fc90bc0abec134b580d19911f70718a0386b608
      https://github.com/llvm/llvm-project/commit/1fc90bc0abec134b580d19911f70718a0386b608
  Author: Kazu Hirata <kazu at google.com>
  Date:   2025-02-14 (Fri, 14 Feb 2025)

  Changed paths:
    M mlir/lib/Conversion/ComplexCommon/DivisionConverter.cpp

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

This patch fixes:

  mlir/lib/Conversion/ComplexCommon/DivisionConverter.cpp:61:2: error:
  extra ';' outside of a function is incompatible with C++98
  [-Werror,-Wc++98-compat-extra-semi]


  Commit: 118bfe9aca515d9c4908b6bb3484ea590ee94c51
      https://github.com/llvm/llvm-project/commit/118bfe9aca515d9c4908b6bb3484ea590ee94c51
  Author: Jay Foad <jay.foad at amd.com>
  Date:   2025-02-14 (Fri, 14 Feb 2025)

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

  Log Message:
  -----------
  [AMDGPU] Try to fix -mattr=dumpcode on big-endian hosts (#127073)

Blind fix for #116982 failing on big-endian buildbots.


  Commit: 0f3bdf364074cf89d10dd3ce71a6a1fb9091ebac
      https://github.com/llvm/llvm-project/commit/0f3bdf364074cf89d10dd3ce71a6a1fb9091ebac
  Author: Vyacheslav Levytskyy <vyacheslav.levytskyy at intel.com>
  Date:   2025-02-14 (Fri, 14 Feb 2025)

  Changed paths:
    M llvm/lib/Target/SPIRV/SPIRVEmitIntrinsics.cpp
    M llvm/lib/Target/SPIRV/SPIRVUtils.h
    A llvm/test/CodeGen/SPIRV/validate/triton-tut-softmax-kernel.ll

  Log Message:
  -----------
  [SPIR-V] Type inference must realize that a <1 x Type> vector type is not a legal vector type in LLT (#124560)

In this PR we account for possible <1 x LLVM Type> input to ensure that
we produce legal vector types during type inference.

We modify an LLVM type to conform with future transformations in
IRTranslator, if it's a <1 x Type> vector type, replacing it by the
element type, because <1 x Type> vector type is not a legal vector type
in LLT and IRTranslator will represent it as the scalar eventually.


  Commit: 20d03cc28e032d228571f20b964354623dfde6a5
      https://github.com/llvm/llvm-project/commit/20d03cc28e032d228571f20b964354623dfde6a5
  Author: Georgiy Samoylov <g.samoylov at syntacore.com>
  Date:   2025-02-14 (Fri, 14 Feb 2025)

  Changed paths:
    M lldb/test/API/tools/lldb-server/main.cpp

  Log Message:
  -----------
  [lldb] Fix build problem in llgs tests for RISC-V (#127091)

During testing of LLDB on RISC-V target, tests from the llgs category
were built with an error: `Error when building test subject.`

```
llvm-project/lldb/test/API/tools/lldb-server/main.cpp:151:40: error: missing ')' after '__builtin_debugtrap'
  151 | #elif __has_builtin(__builtin_debugtrap())
      |                     ~~~~~~~~~~~~~~~~~~~^
llvm-project/lldb/test/API/tools/lldb-server/main.cpp:151:20: note: to match this '('
  151 | #elif __has_builtin(__builtin_debugtrap())
      |                    ^
```

This patch fixes this error.


  Commit: b55f17bba68f5f63420eecba6e8f28894b1f0e6e
      https://github.com/llvm/llvm-project/commit/b55f17bba68f5f63420eecba6e8f28894b1f0e6e
  Author: Piotr Zegar <me at piotrzegar.pl>
  Date:   2025-02-14 (Fri, 14 Feb 2025)

  Changed paths:
    M clang-tools-extra/clang-tidy/utils/ExceptionSpecAnalyzer.cpp
    M clang-tools-extra/test/clang-tidy/checkers/performance/noexcept-move-constructor.cpp

  Log Message:
  -----------
  [clang-tidy] Add recursion protection in ExceptionSpecAnalyzer (#66810)

Normally endless recursion should not happen in ExceptionSpecAnalyzer,
but if AST would be malformed (missing include), this could cause crash.

I run into this issue when due to missing include constructor argument
were parsed as FieldDecl.
As checking for recursion cost nothing, why not to do this in check just
in case.

Fixes #111436


  Commit: 764b6bed36583442523e6c101e6ec4826c5bf570
      https://github.com/llvm/llvm-project/commit/764b6bed36583442523e6c101e6ec4826c5bf570
  Author: Abhilash Majumder <30946547+abhilash1910 at users.noreply.github.com>
  Date:   2025-02-14 (Fri, 14 Feb 2025)

  Changed paths:
    M llvm/docs/NVPTXUsage.rst
    M llvm/include/llvm/IR/IntrinsicsNVVM.td
    M llvm/lib/Target/NVPTX/NVPTXIntrinsics.td
    M llvm/test/CodeGen/NVPTX/prefetch.ll

  Log Message:
  -----------
  [NVPTX] Fix and refine prefetch.* intrinsics (#126899)

This is follow-up PR from #125887  which fixes the intrinsic failures .

---------

Co-authored-by: abmajumder <abmajumder at nvidia.com>


  Commit: 52b8fd79a435e31dd7a9622af28c5009f1499ce4
      https://github.com/llvm/llvm-project/commit/52b8fd79a435e31dd7a9622af28c5009f1499ce4
  Author: Ellis Hoag <ellis.sparky.hoag at gmail.com>
  Date:   2025-02-14 (Fri, 14 Feb 2025)

  Changed paths:
    M lld/ELF/BPSectionOrderer.cpp
    M lld/MachO/BPSectionOrderer.cpp
    M lld/test/ELF/bp-section-orderer.s
    M lld/test/MachO/bp-section-orderer.s

  Log Message:
  -----------
  [lld][BP] Avoid ordering ICF'ed sections (#126327)

ICF runs before BPSectionOrderer. When a section is ICF'ed, it seems
that the original sections are marked as not live, but are still kept
around. Prior to this patch, those ICF'ed sections would be passed to BP
and ordered before being skipped when writing the output. Now, these
sections are no longer passed to BP, saving runtime and possibly
improving BP's output.

In a large binary, I found that the number of sections ordered using BP
decreased, while the number of duplicate sections drastically decreased
as expected.
```
Functions for startup: 50755 -> 50520
Functions for compression: 165734 -> 105328
Duplicate functions: 1827231 -> 55230
```


  Commit: 58e03392f828aef7f34659e869f1d94d53ec0df9
      https://github.com/llvm/llvm-project/commit/58e03392f828aef7f34659e869f1d94d53ec0df9
  Author: Craig Topper <craig.topper at sifive.com>
  Date:   2025-02-14 (Fri, 14 Feb 2025)

  Changed paths:
    M llvm/lib/Target/RISCV/MCTargetDesc/RISCVMCTargetDesc.cpp

  Log Message:
  -----------
  [RISCV] Set Feature32Bit/Feature64Bit based on triple for -mcpu=help. (#127031)

llvm-mc keeps going after printing help text and creates an assembler.
If we don't set one of the XLen sized feature bits we trip a fatal error
in RISCVFeatures::validate.

llvm-mc should probably be fixed, but I don't know if its the only tool
with this issue.


  Commit: bc4fb615fd1672796e6ecab03c4f4e02245c4c4b
      https://github.com/llvm/llvm-project/commit/bc4fb615fd1672796e6ecab03c4f4e02245c4c4b
  Author: Ilia Kuklin <ikuklin at accesssoftek.com>
  Date:   2025-02-14 (Fri, 14 Feb 2025)

  Changed paths:
    M lldb/source/Plugins/TypeSystem/Clang/TypeSystemClang.cpp
    A lldb/test/API/lang/cpp/enum_promotion/Makefile
    A lldb/test/API/lang/cpp/enum_promotion/TestCPPEnumPromotion.py
    A lldb/test/API/lang/cpp/enum_promotion/main.cpp

  Log Message:
  -----------
  [lldb] Analyze enum promotion type during parsing (#115005)

The information about an enum's best promotion type is discarded after
compilation and is not present in debug info. This patch repeats the
same analysis of each enum value as in the front-end to determine the
best promotion type during DWARF info parsing.

Fixes #86989


  Commit: 6709c91c79c99eaab93815f86e4b4b489177093c
      https://github.com/llvm/llvm-project/commit/6709c91c79c99eaab93815f86e4b4b489177093c
  Author: Kazu Hirata <kazu at google.com>
  Date:   2025-02-14 (Fri, 14 Feb 2025)

  Changed paths:
    M clang/tools/clang-scan-deps/ClangScanDeps.cpp

  Log Message:
  -----------
  [clang-scan-deps] Avoid repeated map lookups (NFC) (#127023)


  Commit: 9d37326e25cea272ae54e89fb189e6d3199849d2
      https://github.com/llvm/llvm-project/commit/9d37326e25cea272ae54e89fb189e6d3199849d2
  Author: Kazu Hirata <kazu at google.com>
  Date:   2025-02-14 (Fri, 14 Feb 2025)

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

  Log Message:
  -----------
  [Analysis] Avoid repeated hash lookups (NFC) (#127024)


  Commit: 3dc553696bd43fe471b8e33bed86d89e9e4c54ba
      https://github.com/llvm/llvm-project/commit/3dc553696bd43fe471b8e33bed86d89e9e4c54ba
  Author: Kazu Hirata <kazu at google.com>
  Date:   2025-02-14 (Fri, 14 Feb 2025)

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

  Log Message:
  -----------
  [CodeGen] Avoid repeated map lookups (NFC) (#127025)


  Commit: da49d7572c359383f10e086b0b24f5aee62ee78e
      https://github.com/llvm/llvm-project/commit/da49d7572c359383f10e086b0b24f5aee62ee78e
  Author: Kazu Hirata <kazu at google.com>
  Date:   2025-02-14 (Fri, 14 Feb 2025)

  Changed paths:
    M llvm/lib/FileCheck/FileCheck.cpp

  Log Message:
  -----------
  [FileCheck] Avoid repeated hash lookups (NFC) (#127026)


  Commit: 99cf191310fdf7d05070ca9153a6a9759dc4de0a
      https://github.com/llvm/llvm-project/commit/99cf191310fdf7d05070ca9153a6a9759dc4de0a
  Author: Kazu Hirata <kazu at google.com>
  Date:   2025-02-14 (Fri, 14 Feb 2025)

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

  Log Message:
  -----------
  [memprof] Avoid repeated map lookups (NFC) (#127027)


  Commit: d1a91590c430885fbd68214acda4fef8460ffaef
      https://github.com/llvm/llvm-project/commit/d1a91590c430885fbd68214acda4fef8460ffaef
  Author: Kazu Hirata <kazu at google.com>
  Date:   2025-02-14 (Fri, 14 Feb 2025)

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

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


  Commit: 6983248c7ad5a939df3db09f82c3231f1cb3e95c
      https://github.com/llvm/llvm-project/commit/6983248c7ad5a939df3db09f82c3231f1cb3e95c
  Author: Simon Pilgrim <llvm-dev at redking.me.uk>
  Date:   2025-02-14 (Fri, 14 Feb 2025)

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

  Log Message:
  -----------
  [X86] X86FixupVectorConstantsPass - pull out getPrimitiveSizeInBits call. NFC.


  Commit: ed9f9b3172b62bd424a14ebd963e787e7fb8ac3b
      https://github.com/llvm/llvm-project/commit/ed9f9b3172b62bd424a14ebd963e787e7fb8ac3b
  Author: Stanislav Mekhanoshin <rampitec at users.noreply.github.com>
  Date:   2025-02-14 (Fri, 14 Feb 2025)

  Changed paths:
    M llvm/lib/Target/AMDGPU/SIProgramInfo.h

  Log Message:
  -----------
  [AMDGPU] clang-format SIProgramInfo.h. NFC. (#127033)


  Commit: 311458fbcdce8d317511954fb10a56eb95e59834
      https://github.com/llvm/llvm-project/commit/311458fbcdce8d317511954fb10a56eb95e59834
  Author: Martin Erhart <martin.erhart at sifive.com>
  Date:   2025-02-14 (Fri, 14 Feb 2025)

  Changed paths:
    A mlir/include/mlir-c/Dialect/Index.h
    M mlir/lib/CAPI/Dialect/CMakeLists.txt
    A mlir/lib/CAPI/Dialect/Index.cpp

  Log Message:
  -----------
  [mlir][index] Add CAPI (#127039)


  Commit: ffd0ab894093603b98baa403c2d3da49df18488b
      https://github.com/llvm/llvm-project/commit/ffd0ab894093603b98baa403c2d3da49df18488b
  Author: Slava Zakharin <szakharin at nvidia.com>
  Date:   2025-02-14 (Fri, 14 Feb 2025)

  Changed paths:
    M flang/runtime/pointer.cpp
    M flang/unittests/Runtime/Pointer.cpp

  Log Message:
  -----------
  [flang] Fixed write past allocated descriptor in PointerAssociateRemapping. (#127000)

The pointer descriptor might be smaller than the target descriptor,
so `operator=` would write beyound the pointer descriptor.


  Commit: 44d189556a2fa101be975311204394145f03d563
      https://github.com/llvm/llvm-project/commit/44d189556a2fa101be975311204394145f03d563
  Author: Joel E. Denny <jdenny.ornl at gmail.com>
  Date:   2025-02-14 (Fri, 14 Feb 2025)

  Changed paths:
    M flang/lib/Optimizer/Analysis/AliasAnalysis.cpp
    M flang/test/Analysis/AliasAnalysis/alias-analysis-2.fir
    A flang/test/Analysis/AliasAnalysis/load-ptr-alloca.fir

  Log Message:
  -----------
  [flang] AliasAnalysis: Handle fir.load on fir.alloca (#117785)

For example, determine that the address in p below cannot alias the
address of v:

```
subroutine test()
  real, pointer :: p
  real, target :: t
  real :: v
  p => t
  v = p
end subroutine test
```


  Commit: 7a3f6fb37d8ac6c6d15245d0b5f4563325221fd3
      https://github.com/llvm/llvm-project/commit/7a3f6fb37d8ac6c6d15245d0b5f4563325221fd3
  Author: Sylvestre Ledru <sylvestre at debian.org>
  Date:   2025-02-14 (Fri, 14 Feb 2025)

  Changed paths:
    M libc/CMakeLists.txt

  Log Message:
  -----------
  libc/cmake: don't fail if LLVM_VERSION_SUFFIX isn't defined (#126359)

Closes: #126358

cc @samvangysegem

---------

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


  Commit: bfa7c6dc6510b62fe6fb10b022bb6f07b4e8def5
      https://github.com/llvm/llvm-project/commit/bfa7c6dc6510b62fe6fb10b022bb6f07b4e8def5
  Author: Alexey Bataev <a.bataev at outlook.com>
  Date:   2025-02-14 (Fri, 14 Feb 2025)

  Changed paths:
    M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
    A llvm/test/Transforms/SLPVectorizer/RISCV/check-node-without-vector-user.ll

  Log Message:
  -----------
  [SLP]Check if vector user exist before accessing it

Need to check if vector user exist before accessing it to avoid compiler
crash.
Fixes #126581


  Commit: bcde85e4930aba2dab8d067213eef6419ab2e4b8
      https://github.com/llvm/llvm-project/commit/bcde85e4930aba2dab8d067213eef6419ab2e4b8
  Author: klensy <klensy at users.noreply.github.com>
  Date:   2025-02-14 (Fri, 14 Feb 2025)

  Changed paths:
    M .mailmap

  Log Message:
  -----------
  add me to mailmap (#126226)

Should add ability for buildbot to find proper mail.


https://github.com/buildbot/buildbot/blob/f1a84bbe5555a40b3fb4f04707fe6398aed4c092/master/buildbot/changes/gitpoller.py#L418

At least buildbot parses user names and mails with respect to mailmap.

Co-authored-by: klensy <nightouser at gmail.com>


  Commit: c1cc65581752b46f8488cb502cdb0a251f5c3605
      https://github.com/llvm/llvm-project/commit/c1cc65581752b46f8488cb502cdb0a251f5c3605
  Author: Philip Reames <preames at rivosinc.com>
  Date:   2025-02-14 (Fri, 14 Feb 2025)

  Changed paths:
    M llvm/lib/Target/RISCV/RISCV.td
    M llvm/lib/Target/RISCV/RISCVProcessors.td
    R llvm/lib/Target/RISCV/RISCVSchedGeneric.td
    M llvm/test/CodeGen/RISCV/GlobalISel/add-imm.ll
    M llvm/test/CodeGen/RISCV/GlobalISel/combine-neg-abs.ll
    M llvm/test/CodeGen/RISCV/GlobalISel/double-arith.ll
    M llvm/test/CodeGen/RISCV/GlobalISel/float-arith.ll
    M llvm/test/CodeGen/RISCV/GlobalISel/freeze.ll
    M llvm/test/CodeGen/RISCV/GlobalISel/rotl-rotr.ll
    M llvm/test/CodeGen/RISCV/GlobalISel/rv64zbb.ll
    M llvm/test/CodeGen/RISCV/GlobalISel/rv64zbkb.ll
    M llvm/test/CodeGen/RISCV/GlobalISel/shifts.ll
    M llvm/test/CodeGen/RISCV/GlobalISel/stacksave-stackrestore.ll
    M llvm/test/CodeGen/RISCV/GlobalISel/vararg.ll
    M llvm/test/CodeGen/RISCV/GlobalISel/wide-scalar-shift-by-byte-multiple-legalization.ll
    M llvm/test/CodeGen/RISCV/abds-neg.ll
    M llvm/test/CodeGen/RISCV/abds.ll
    M llvm/test/CodeGen/RISCV/abdu-neg.ll
    M llvm/test/CodeGen/RISCV/abdu.ll
    M llvm/test/CodeGen/RISCV/add-before-shl.ll
    M llvm/test/CodeGen/RISCV/add-imm.ll
    M llvm/test/CodeGen/RISCV/alloca.ll
    M llvm/test/CodeGen/RISCV/alu64.ll
    M llvm/test/CodeGen/RISCV/atomic-rmw-discard.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/bf16-promote.ll
    M llvm/test/CodeGen/RISCV/bfloat-convert.ll
    M llvm/test/CodeGen/RISCV/bfloat-mem.ll
    M llvm/test/CodeGen/RISCV/bfloat.ll
    M llvm/test/CodeGen/RISCV/bittest.ll
    M llvm/test/CodeGen/RISCV/branch-on-zero.ll
    M llvm/test/CodeGen/RISCV/callee-saved-fpr32s.ll
    M llvm/test/CodeGen/RISCV/callee-saved-fpr64s.ll
    M llvm/test/CodeGen/RISCV/callee-saved-gprs.ll
    M llvm/test/CodeGen/RISCV/calling-conv-half.ll
    M llvm/test/CodeGen/RISCV/calling-conv-ilp32-ilp32f-common.ll
    M llvm/test/CodeGen/RISCV/calling-conv-ilp32-ilp32f-ilp32d-common.ll
    M llvm/test/CodeGen/RISCV/calling-conv-ilp32.ll
    M llvm/test/CodeGen/RISCV/calling-conv-ilp32d.ll
    M llvm/test/CodeGen/RISCV/calling-conv-ilp32e.ll
    M llvm/test/CodeGen/RISCV/calling-conv-ilp32f-ilp32d-common.ll
    M llvm/test/CodeGen/RISCV/calling-conv-lp64-lp64f-lp64d-common.ll
    M llvm/test/CodeGen/RISCV/calling-conv-lp64.ll
    M llvm/test/CodeGen/RISCV/calling-conv-lp64e.ll
    M llvm/test/CodeGen/RISCV/calling-conv-rv32f-ilp32.ll
    M llvm/test/CodeGen/RISCV/calling-conv-rv32f-ilp32e.ll
    M llvm/test/CodeGen/RISCV/calls.ll
    M llvm/test/CodeGen/RISCV/codemodel-lowering.ll
    M llvm/test/CodeGen/RISCV/condbinops.ll
    M llvm/test/CodeGen/RISCV/condops.ll
    M llvm/test/CodeGen/RISCV/copysign-casts.ll
    M llvm/test/CodeGen/RISCV/ctlz-cttz-ctpop.ll
    M llvm/test/CodeGen/RISCV/double-calling-conv.ll
    M llvm/test/CodeGen/RISCV/double-convert.ll
    M llvm/test/CodeGen/RISCV/double-fcmp-strict.ll
    M llvm/test/CodeGen/RISCV/double-imm.ll
    M llvm/test/CodeGen/RISCV/double-mem.ll
    M llvm/test/CodeGen/RISCV/double-round-conv-sat.ll
    M llvm/test/CodeGen/RISCV/double-select-fcmp.ll
    M llvm/test/CodeGen/RISCV/double-stack-spill-restore.ll
    M llvm/test/CodeGen/RISCV/fastcc-bf16.ll
    M llvm/test/CodeGen/RISCV/fastcc-float.ll
    M llvm/test/CodeGen/RISCV/fastcc-half.ll
    M llvm/test/CodeGen/RISCV/fastcc-without-f-reg.ll
    M llvm/test/CodeGen/RISCV/float-convert.ll
    M llvm/test/CodeGen/RISCV/float-fcmp-strict.ll
    M llvm/test/CodeGen/RISCV/float-select-fcmp.ll
    M llvm/test/CodeGen/RISCV/fold-addi-loadstore.ll
    M llvm/test/CodeGen/RISCV/forced-atomics.ll
    M llvm/test/CodeGen/RISCV/fp-fcanonicalize.ll
    M llvm/test/CodeGen/RISCV/fp128.ll
    M llvm/test/CodeGen/RISCV/fpclamptosat.ll
    M llvm/test/CodeGen/RISCV/get-setcc-result-type.ll
    M llvm/test/CodeGen/RISCV/half-arith.ll
    M llvm/test/CodeGen/RISCV/half-convert-strict.ll
    M llvm/test/CodeGen/RISCV/half-convert.ll
    M llvm/test/CodeGen/RISCV/half-fcmp-strict.ll
    M llvm/test/CodeGen/RISCV/half-intrinsics.ll
    M llvm/test/CodeGen/RISCV/half-mem.ll
    M llvm/test/CodeGen/RISCV/half-select-fcmp.ll
    M llvm/test/CodeGen/RISCV/iabs.ll
    M llvm/test/CodeGen/RISCV/inline-asm-d-constraint-f.ll
    M llvm/test/CodeGen/RISCV/inline-asm-d-modifier-N.ll
    M llvm/test/CodeGen/RISCV/inline-asm-f-constraint-f.ll
    M llvm/test/CodeGen/RISCV/inline-asm-f-modifier-N.ll
    M llvm/test/CodeGen/RISCV/inline-asm-zfinx-constraint-r.ll
    M llvm/test/CodeGen/RISCV/inline-asm-zhinx-constraint-r.ll
    M llvm/test/CodeGen/RISCV/inline-asm.ll
    M llvm/test/CodeGen/RISCV/intrinsic-cttz-elts-vscale.ll
    M llvm/test/CodeGen/RISCV/legalize-fneg.ll
    M llvm/test/CodeGen/RISCV/llvm.exp10.ll
    M llvm/test/CodeGen/RISCV/llvm.frexp.ll
    M llvm/test/CodeGen/RISCV/loop-strength-reduce-add-cheaper-than-mul.ll
    M llvm/test/CodeGen/RISCV/machine-sink-load-immediate.ll
    M llvm/test/CodeGen/RISCV/machinelicm-address-pseudos.ll
    M llvm/test/CodeGen/RISCV/macro-fusion-lui-addi.ll
    M llvm/test/CodeGen/RISCV/mem.ll
    M llvm/test/CodeGen/RISCV/mem64.ll
    M llvm/test/CodeGen/RISCV/memcmp-optsize.ll
    M llvm/test/CodeGen/RISCV/memcmp.ll
    M llvm/test/CodeGen/RISCV/memmove.ll
    M llvm/test/CodeGen/RISCV/memset-pattern.ll
    M llvm/test/CodeGen/RISCV/mul.ll
    M llvm/test/CodeGen/RISCV/neg-abs.ll
    M llvm/test/CodeGen/RISCV/orc-b-patterns.ll
    M llvm/test/CodeGen/RISCV/overflow-intrinsics.ll
    M llvm/test/CodeGen/RISCV/pr51206.ll
    M llvm/test/CodeGen/RISCV/pr58511.ll
    M llvm/test/CodeGen/RISCV/pr63816.ll
    M llvm/test/CodeGen/RISCV/pr69586.ll
    M llvm/test/CodeGen/RISCV/push-pop-popret.ll
    M llvm/test/CodeGen/RISCV/riscv-codegenprepare-asm.ll
    M llvm/test/CodeGen/RISCV/rotl-rotr.ll
    M llvm/test/CodeGen/RISCV/rv32-inline-asm-pairs.ll
    M llvm/test/CodeGen/RISCV/rv32zbb.ll
    M llvm/test/CodeGen/RISCV/rv32zbs.ll
    M llvm/test/CodeGen/RISCV/rv64-double-convert.ll
    M llvm/test/CodeGen/RISCV/rv64-half-convert.ll
    M llvm/test/CodeGen/RISCV/rv64-inline-asm-pairs.ll
    M llvm/test/CodeGen/RISCV/rv64-trampoline.ll
    M llvm/test/CodeGen/RISCV/rv64i-demanded-bits.ll
    M llvm/test/CodeGen/RISCV/rv64zbkb.ll
    M llvm/test/CodeGen/RISCV/rvv/active_lane_mask.ll
    M llvm/test/CodeGen/RISCV/rvv/alloca-load-store-scalable-array.ll
    M llvm/test/CodeGen/RISCV/rvv/alloca-load-store-scalable-struct.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/calling-conv-fastcc.ll
    M llvm/test/CodeGen/RISCV/rvv/calling-conv.ll
    M llvm/test/CodeGen/RISCV/rvv/ceil-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/combine-store-extract-crash.ll
    M llvm/test/CodeGen/RISCV/rvv/concat-vector-insert-elt.ll
    M llvm/test/CodeGen/RISCV/rvv/constant-folding-crash.ll
    M llvm/test/CodeGen/RISCV/rvv/copyprop.mir
    M llvm/test/CodeGen/RISCV/rvv/ctlz-sdnode.ll
    M llvm/test/CodeGen/RISCV/rvv/ctlz-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/cttz-sdnode.ll
    M llvm/test/CodeGen/RISCV/rvv/cttz-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/dont-sink-splat-operands.ll
    M llvm/test/CodeGen/RISCV/rvv/double-round-conv.ll
    M llvm/test/CodeGen/RISCV/rvv/expandload.ll
    M llvm/test/CodeGen/RISCV/rvv/extractelt-fp.ll
    M llvm/test/CodeGen/RISCV/rvv/extractelt-i1.ll
    M llvm/test/CodeGen/RISCV/rvv/extractelt-int-rv64.ll
    M llvm/test/CodeGen/RISCV/rvv/fceil-constrained-sdnode.ll
    M llvm/test/CodeGen/RISCV/rvv/fceil-sdnode.ll
    M llvm/test/CodeGen/RISCV/rvv/ffloor-constrained-sdnode.ll
    M llvm/test/CodeGen/RISCV/rvv/ffloor-sdnode.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vector-i8-index-cornercase.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-abs-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-bitcast-large-vector.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-buildvec-of-binop.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-calling-conv-fastcc.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-calling-conv.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-ceil-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-ctpop.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-cttz-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-cttz.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-deinterleave-load.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-elen.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-extload-truncstore.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-extract-i1.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-extract-subvector.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-extract.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-fceil-constrained-sdnode.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-ffloor-constrained-sdnode.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-floor-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-fmaximum-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-fmaximum.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-fminimum-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-fminimum.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-fnearbyint-constrained-sdnode.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-fp-buildvec.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-fp-interleave.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-fp-setcc.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-fp-shuffles.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-fp-vrgather.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-fp.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-fpext-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-fpowi.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-fptosi-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-fptoui-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-fptrunc-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-fround-constrained-sdnode.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-fround.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-froundeven-constrained-sdnode.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-froundeven.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-insert-subvector.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-insert.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-int-buildvec.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-int-interleave.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-int-shuffles.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-int-vrgather.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-int.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-interleaved-access-zve32x.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-lrint.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-mask-buildvec.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-mask-splat.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-masked-gather.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-masked-load-fp.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-masked-load-int.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-masked-scatter.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-masked-store-fp.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-masked-store-int.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-nearbyint-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-reduction-formation.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-reduction-fp-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-reduction-fp.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-reduction-int-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-reduction-int.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-rint-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-round-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-roundeven-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-roundtozero-vp.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-sext-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-shuffle-changes-length.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-shuffle-concat.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-shuffle-deinterleave.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-shuffle-exact-vlen.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-shuffle-reverse.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-shufflevector-vnsrl.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-sitofp-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-store-merge-crash.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-strided-load-store-asm.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-strided-vpload.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-strided-vpstore.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-trunc-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-uitofp-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-unaligned.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vadd-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vcopysign-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vfabs-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-vfneg-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vfsqrt-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vmax-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vmaxu-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vmin-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vminu-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vpgather.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vpload.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-vpstore.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vsadd-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vsaddu-vp.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-vselect.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vssub-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vssubu-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vwadd-mask.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-mask.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/fixed-vectors-zext-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/float-round-conv.ll
    M llvm/test/CodeGen/RISCV/rvv/floor-vp.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/fnearbyint-constrained-sdnode.ll
    M llvm/test/CodeGen/RISCV/rvv/fnearbyint-sdnode.ll
    M llvm/test/CodeGen/RISCV/rvv/fold-scalar-load-crash.ll
    M llvm/test/CodeGen/RISCV/rvv/fold-vector-cmp.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/fround-constrained-sdnode.ll
    M llvm/test/CodeGen/RISCV/rvv/fround-sdnode.ll
    M llvm/test/CodeGen/RISCV/rvv/froundeven-constrained-sdnode.ll
    M llvm/test/CodeGen/RISCV/rvv/froundeven-sdnode.ll
    M llvm/test/CodeGen/RISCV/rvv/fshr-fshl-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/half-round-conv.ll
    M llvm/test/CodeGen/RISCV/rvv/localvar.ll
    M llvm/test/CodeGen/RISCV/rvv/memcpy-inline.ll
    M llvm/test/CodeGen/RISCV/rvv/memory-args.ll
    M llvm/test/CodeGen/RISCV/rvv/mgather-sdnode.ll
    M llvm/test/CodeGen/RISCV/rvv/mscatter-sdnode.ll
    M llvm/test/CodeGen/RISCV/rvv/mutate-prior-vsetvli-avl.ll
    M llvm/test/CodeGen/RISCV/rvv/named-vector-shuffle-reverse.ll
    M llvm/test/CodeGen/RISCV/rvv/nearbyint-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/no-reserved-frame.ll
    M llvm/test/CodeGen/RISCV/rvv/pr125306.ll
    M llvm/test/CodeGen/RISCV/rvv/pr63596.ll
    M llvm/test/CodeGen/RISCV/rvv/pr95865.ll
    M llvm/test/CodeGen/RISCV/rvv/reg-alloc-reserve-bp.ll
    M llvm/test/CodeGen/RISCV/rvv/round-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/roundeven-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/roundtozero-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/rvv-args-by-mem.ll
    M llvm/test/CodeGen/RISCV/rvv/rvv-peephole-vmerge-vops.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/shrinkwrap.ll
    M llvm/test/CodeGen/RISCV/rvv/sink-splat-operands.ll
    M llvm/test/CodeGen/RISCV/rvv/stepvector.ll
    M llvm/test/CodeGen/RISCV/rvv/strided-vpload.ll
    M llvm/test/CodeGen/RISCV/rvv/strided-vpstore.ll
    M llvm/test/CodeGen/RISCV/rvv/umulo-sdnode.ll
    M llvm/test/CodeGen/RISCV/rvv/urem-seteq-vec.ll
    M llvm/test/CodeGen/RISCV/rvv/vadd-vp.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/vector-extract-last-active.ll
    M llvm/test/CodeGen/RISCV/rvv/vector-interleave-fixed.ll
    M llvm/test/CodeGen/RISCV/rvv/vector-interleave.ll
    M llvm/test/CodeGen/RISCV/rvv/vfma-vp-combine.ll
    M llvm/test/CodeGen/RISCV/rvv/vfma-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/vfmuladd-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/vfptrunc-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/vfsqrt-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/vl-opt-instrs.ll
    M llvm/test/CodeGen/RISCV/rvv/vmax-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/vmaxu-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/vmin-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/vminu-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/vmseq.ll
    M llvm/test/CodeGen/RISCV/rvv/vmsge.ll
    M llvm/test/CodeGen/RISCV/rvv/vmsgeu.ll
    M llvm/test/CodeGen/RISCV/rvv/vmsgt.ll
    M llvm/test/CodeGen/RISCV/rvv/vmsgtu.ll
    M llvm/test/CodeGen/RISCV/rvv/vmsle.ll
    M llvm/test/CodeGen/RISCV/rvv/vmsleu.ll
    M llvm/test/CodeGen/RISCV/rvv/vmslt.ll
    M llvm/test/CodeGen/RISCV/rvv/vmsltu.ll
    M llvm/test/CodeGen/RISCV/rvv/vmsne.ll
    M llvm/test/CodeGen/RISCV/rvv/vmv.s.x.ll
    M llvm/test/CodeGen/RISCV/rvv/vmv0-elimination.ll
    M llvm/test/CodeGen/RISCV/rvv/vp-combine-store-reverse.ll
    M llvm/test/CodeGen/RISCV/rvv/vp-cttz-elts.ll
    M llvm/test/CodeGen/RISCV/rvv/vp-vector-interleaved-access.ll
    M llvm/test/CodeGen/RISCV/rvv/vpgather-sdnode.ll
    M llvm/test/CodeGen/RISCV/rvv/vpload.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/vpstore.ll
    M llvm/test/CodeGen/RISCV/rvv/vreductions-fp-sdnode.ll
    M llvm/test/CodeGen/RISCV/rvv/vrgatherei16-subreg-liveness.ll
    M llvm/test/CodeGen/RISCV/rvv/vscale-vw-web-simplification.ll
    M llvm/test/CodeGen/RISCV/rvv/vselect-fp.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/vsetvli-insert.ll
    M llvm/test/CodeGen/RISCV/rvv/vsetvli-regression.ll
    M llvm/test/CodeGen/RISCV/rvv/vtrunc-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/vwadd-mask-sdnode.ll
    M llvm/test/CodeGen/RISCV/rvv/vwadd-sdnode.ll
    M llvm/test/CodeGen/RISCV/rvv/vwsub-mask-sdnode.ll
    M llvm/test/CodeGen/RISCV/rvv/vxrm-insert-out-of-loop.ll
    M llvm/test/CodeGen/RISCV/rvv/vxrm-insert.ll
    M llvm/test/CodeGen/RISCV/rvv/wrong-chain-fixed-load.ll
    M llvm/test/CodeGen/RISCV/scmp.ll
    M llvm/test/CodeGen/RISCV/select-and.ll
    M llvm/test/CodeGen/RISCV/select-bare.ll
    M llvm/test/CodeGen/RISCV/select-cc.ll
    M llvm/test/CodeGen/RISCV/select-constant-xor.ll
    M llvm/test/CodeGen/RISCV/select-optimize-multiple.ll
    M llvm/test/CodeGen/RISCV/select-or.ll
    M llvm/test/CodeGen/RISCV/sextw-removal.ll
    M llvm/test/CodeGen/RISCV/shift-amount-mod.ll
    M llvm/test/CodeGen/RISCV/shifts.ll
    M llvm/test/CodeGen/RISCV/shl-cttz.ll
    M llvm/test/CodeGen/RISCV/split-offsets.ll
    M llvm/test/CodeGen/RISCV/srem-seteq-illegal-types.ll
    M llvm/test/CodeGen/RISCV/srem-vector-lkk.ll
    M llvm/test/CodeGen/RISCV/stack-slot-size.ll
    M llvm/test/CodeGen/RISCV/stack-store-check.ll
    M llvm/test/CodeGen/RISCV/tail-calls.ll
    M llvm/test/CodeGen/RISCV/ucmp.ll
    M llvm/test/CodeGen/RISCV/unaligned-load-store.ll
    M llvm/test/CodeGen/RISCV/urem-seteq-illegal-types.ll
    M llvm/test/CodeGen/RISCV/urem-vector-lkk.ll
    M llvm/test/CodeGen/RISCV/vararg.ll
    M llvm/test/CodeGen/RISCV/wide-scalar-shift-by-byte-multiple-legalization.ll
    M llvm/test/CodeGen/RISCV/wide-scalar-shift-legalization.ll
    M llvm/test/CodeGen/RISCV/xaluo.ll
    M llvm/test/CodeGen/RISCV/xtheadmemidx.ll
    M llvm/test/CodeGen/RISCV/xtheadmempair.ll
    M llvm/test/CodeGen/RISCV/zbb-logic-neg-imm.ll
    M llvm/test/CodeGen/RISCV/zdinx-asm-constraint.ll
    M llvm/test/CodeGen/RISCV/zdinx-boundary-check.ll

  Log Message:
  -----------
  Revert "[RISCV] Default to MicroOpBufferSize = 1 for scheduling purposes (#126608)" and follow up commit.

This reverts commit 9cc8442a2b438962883bbbfd8ff62ad4b1a2b95d.
This reverts commit 859c871184bdfdebb47b5c7ec5e59348e0534e0b.

A performance regression was reported on the original review.  There appears
to have been an unexpected interaction here.  Reverting during investigation.


  Commit: ed9bbe0b7a5de328afec9c80fc15409c2e478cb4
      https://github.com/llvm/llvm-project/commit/ed9bbe0b7a5de328afec9c80fc15409c2e478cb4
  Author: Jacek Caban <jacek at codeweavers.com>
  Date:   2025-02-14 (Fri, 14 Feb 2025)

  Changed paths:
    M lld/COFF/Writer.cpp
    A lld/test/COFF/arm64x-buildid.s

  Log Message:
  -----------
  [LLD][COFF] Set __buildid symbol in both symbol tables on ARM64X (#126777)


  Commit: dcd21ddd86b1a40bfd61899945bfb04becf2d50b
      https://github.com/llvm/llvm-project/commit/dcd21ddd86b1a40bfd61899945bfb04becf2d50b
  Author: Michael Buch <michaelbuch12 at gmail.com>
  Date:   2025-02-14 (Fri, 14 Feb 2025)

  Changed paths:
    M lldb/test/API/lang/cpp/enum_promotion/main.cpp

  Log Message:
  -----------
  [lldb][test] TestCPPEnumPromotion: make sure enums are preserved in dSYM

On macOS CI this was failing with:
```
FAIL: test_dsym (TestCPPEnumPromotion.TestCPPEnumPromotion)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/Users/ec2-user/jenkins/workspace/llvm.org/as-lldb-cmake/llvm-project/lldb/packages/Python/lldbsuite/test/lldbtest.py", line 1784, in test_method
    return attrvalue(self)
  File "/Users/ec2-user/jenkins/workspace/llvm.org/as-lldb-cmake/llvm-project/lldb/test/API/lang/cpp/enum_promotion/TestCPPEnumPromotion.py", line 28, in test
    self.expect_expr("+EnumUChar::UChar", result_type=UChar_promoted.type.name)
  File "/Users/ec2-user/jenkins/workspace/llvm.org/as-lldb-cmake/llvm-project/lldb/packages/Python/lldbsuite/test/lldbtest.py", line 2540, in expect_expr
    value_check.check_value(self, eval_result, str(eval_result))
  File "/Users/ec2-user/jenkins/workspace/llvm.org/as-lldb-cmake/llvm-project/lldb/packages/Python/lldbsuite/test/lldbtest.py", line 299, in check_value
    test_base.assertSuccess(val.GetError())
  File "/Users/ec2-user/jenkins/workspace/llvm.org/as-lldb-cmake/llvm-project/lldb/packages/Python/lldbsuite/test/lldbtest.py", line 2575, in assertSuccess
    self.fail(self._formatMessage(msg, "'{}' is not success".format(error)))
AssertionError: 'error: <user expression 0>:1:2: use of undeclared identifier 'EnumUChar'
    1 | +EnumUChar::UChar
      |  ^
' is not success
```
But only for the `dSYM` variant of the test.

Looking at the dSYM, none of the enums are actually preserved in the debug-info. We have to actually use the enum types in source to get dsymutil to preserve them. This patch does just that.


  Commit: ce58d76e14f17048a3259846442e7587f08b1a17
      https://github.com/llvm/llvm-project/commit/ce58d76e14f17048a3259846442e7587f08b1a17
  Author: Arthur Eubanks <aeubanks at google.com>
  Date:   2025-02-14 (Fri, 14 Feb 2025)

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

  Log Message:
  -----------
  [gn build] Manually port 89d636ba


  Commit: 10d8446c1461b6bc211015f1806747182a7da19a
      https://github.com/llvm/llvm-project/commit/10d8446c1461b6bc211015f1806747182a7da19a
  Author: Jacek Caban <jacek at codeweavers.com>
  Date:   2025-02-14 (Fri, 14 Feb 2025)

  Changed paths:
    M lld/COFF/Writer.cpp
    M lld/test/COFF/pdata-arm64ec.test

  Log Message:
  -----------
  [LLD][COFF] Emit ARM64X relocations for CHPE ExtraRFETable entries (#126713)

In the native view, ExtraEFRTable references the x86 exception table.
The EC view references the ARM exception table, as it did before this
change.


  Commit: 63d2a674a4e9a8ea2c2ba4a7d7e6b3c734e32fdf
      https://github.com/llvm/llvm-project/commit/63d2a674a4e9a8ea2c2ba4a7d7e6b3c734e32fdf
  Author: Petr Hosek <phosek at google.com>
  Date:   2025-02-14 (Fri, 14 Feb 2025)

  Changed paths:
    M libc/config/baremetal/aarch64/entrypoints.txt
    M libc/config/baremetal/aarch64/headers.txt
    M libc/config/baremetal/arm/entrypoints.txt
    M libc/config/baremetal/arm/headers.txt
    M libc/config/baremetal/riscv/entrypoints.txt
    M libc/config/baremetal/riscv/headers.txt

  Log Message:
  -----------
  [libc] Include locale support in baremetal configuration (#127103)

Having locale is a requirement for C++ streams.


  Commit: e4e6504774c224a9f14dabafa171b2a3816c4124
      https://github.com/llvm/llvm-project/commit/e4e6504774c224a9f14dabafa171b2a3816c4124
  Author: John Harrison <harjohn at google.com>
  Date:   2025-02-14 (Fri, 14 Feb 2025)

  Changed paths:
    M lldb/test/API/tools/lldb-dap/output/TestDAP_output.py
    M lldb/test/API/tools/lldb-dap/output/main.c
    M lldb/tools/lldb-dap/OutputRedirector.cpp
    M lldb/tools/lldb-dap/OutputRedirector.h

  Log Message:
  -----------
  [lldb-dap] Ensure we do not print the close sentinel when closing stdout. (#126833)

If you have an lldb-dap log file you'll almost always see a final
message like:

```
<-- 
Content-Length: 94

{
  "body": {
    "category": "stdout",
    "output": "\u0000\u0000"
  },
  "event": "output",
  "seq": 0,
  "type": "event"
}
<-- 
Content-Length: 94

{
  "body": {
    "category": "stderr",
    "output": "\u0000\u0000"
  },
  "event": "output",
  "seq": 0,
  "type": "event"
}
```

The OutputRedirect is always writing the `"\0"` byte as a final stdout
message during shutdown. Instead, I adjusted this to detect the sentinel
value and break out of the read loop as if we detected EOF.

---------

Co-authored-by: Pavel Labath <pavel at labath.sk>


  Commit: d43bcc659602267a3336c6748d8c805a25882f8a
      https://github.com/llvm/llvm-project/commit/d43bcc659602267a3336c6748d8c805a25882f8a
  Author: alx32 <103613512+alx32 at users.noreply.github.com>
  Date:   2025-02-14 (Fri, 14 Feb 2025)

  Changed paths:
    M lld/MachO/Arch/ARM64.cpp
    M lld/MachO/ICF.cpp
    M lld/MachO/Target.h
    M lld/test/MachO/arm64-thunks.s

  Log Message:
  -----------
  [lld-macho] Use Symbols as branch target for safe_thunks ICF (#126835)

## Problem

The `safe_thunks` ICF optimization in `lld-macho` was creating thunks
that pointed to `InputSection`s instead of `Symbol`s. While, generally,
branch relocations can point to symbols or input sections, in this case
we need them to point to symbols as subsequently the branch extension
algorithm expects branches to always point to `Symbol`'s.

## Solution
This patch changes the ICF implementation so that safe thunks point to
`Symbol`'s rather than `InputSection`s.

## Testing
The existing `arm64-thunks.s` test is modified to include
`--icf=safe_thunks` to explicitly verify the interaction between ICF and
branch range extension thunks. Two functions were added that will be
merged together via a thunk. Before this patch, this test would generate
an assert - now this scenario is correctly handled.


  Commit: e706d17a21930b0c608781a81fca47b9d3b683b2
      https://github.com/llvm/llvm-project/commit/e706d17a21930b0c608781a81fca47b9d3b683b2
  Author: Philip Reames <preames at rivosinc.com>
  Date:   2025-02-14 (Fri, 14 Feb 2025)

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

  Log Message:
  -----------
  [RISCV] Revise interface of isLegalBitRotate [nfc]

Remove a dead parameter (DAG), and replace the ShuffleVectorSDNode param
with the two things we need from the shuffle (mask and VT).  There's
further room to improve this code, but this gets me what I need for an
upcoming patch.


  Commit: 1dfa35bb6950f8299895eb4f5af408995b3e998b
      https://github.com/llvm/llvm-project/commit/1dfa35bb6950f8299895eb4f5af408995b3e998b
  Author: Jason Molenda <jmolenda at apple.com>
  Date:   2025-02-14 (Fri, 14 Feb 2025)

  Changed paths:
    M lldb/include/lldb/Target/Thread.h
    M lldb/source/Plugins/Process/Utility/StopInfoMachException.cpp
    M lldb/source/Plugins/Process/Windows/Common/ProcessWindows.cpp
    M lldb/source/Plugins/Process/gdb-remote/ProcessGDBRemote.cpp
    M lldb/source/Plugins/Process/scripted/ScriptedThread.cpp
    M lldb/source/Target/StopInfo.cpp
    M lldb/source/Target/Thread.cpp
    M lldb/test/API/functionalities/breakpoint/consecutive_breakpoints/TestConsecutiveBreakpoints.py
    M lldb/test/API/functionalities/breakpoint/step_over_breakpoint/TestStepOverBreakpoint.py

  Log Message:
  -----------
  [lldb] Change lldb's breakpoint handling behavior, reland (#126988)

lldb today has two rules: When a thread stops at a BreakpointSite, we
set the thread's StopReason to be "breakpoint hit" (regardless if we've
actually hit the breakpoint, or if we've merely stopped *at* the
breakpoint instruction/point and haven't tripped it yet). And second,
when resuming a process, any thread sitting at a BreakpointSite is
silently stepped over the BreakpointSite -- because we've already
flagged the breakpoint hit when we stopped there originally.

In this patch, I change lldb to only set a thread's stop reason to
breakpoint-hit when we've actually executed the instruction/triggered
the breakpoint. When we resume, we only silently step past a
BreakpointSite that we've registered as hit. We preserve this state
across inferior function calls that the user may do while stopped, etc.

Also, when a user adds a new breakpoint at $pc while stopped, or changes
$pc to be the address of a BreakpointSite, we will silently step past
that breakpoint when the process resumes. This is purely a UX call, I
don't think there's any person who wants to set a breakpoint at $pc and
then hit it immediately on resuming.

One non-intuitive UX from this change, butt is necessary: If you're
stopped at a BreakpointSite that has not yet executed, you `stepi`, you
will hit the breakpoint and the pc will not yet advance. This thread has
not completed its stepi, and the ThreadPlanStepInstruction is still on
the stack. If you then `continue` the thread, lldb will now stop and
say, "instruction step completed", one instruction past the
BreakpointSite. You can continue a second time to resume execution.

The bugs driving this change are all from lldb dropping the real stop
reason for a thread and setting it to breakpoint-hit when that was not
the case. Jim hit one where we have an aarch64 watchpoint that triggers
one instruction before a BreakpointSite. On this arch we are notified of
the watchpoint hit after the instruction has been unrolled -- we disable
the watchpoint, instruction step, re-enable the watchpoint and collect
the new value. But now we're on a BreakpointSite so the watchpoint-hit
stop reason is lost.

Another was reported by ZequanWu in
https://discourse.llvm.org/t/lldb-unable-to-break-at-start/78282 we
attach to/launch a process with the pc at a BreakpointSite and
misbehave. Caroline Tice mentioned it is also a problem they've had with
putting a breakpoint on _dl_debug_state.

The change to each Process plugin that does execution control is that

1. If we've stopped at a BreakpointSite that has not been executed yet,
we will call Thread::SetThreadStoppedAtUnexecutedBP(pc) to record that.
When the thread resumes, if the pc is still at the same site, we will
continue, hit the breakpoint, and stop again.

2. When we've actually hit a breakpoint (enabled for this thread or
not), the Process plugin should call
Thread::SetThreadHitBreakpointSite(). When we go to resume the thread,
we will push a step-over-breakpoint ThreadPlan before resuming.

The biggest set of changes is to StopInfoMachException where we
translate a Mach Exception into a stop reason. The Mach exception codes
differ in a few places depending on the target (unambiguously), and I
didn't want to duplicate the new code for each target so I've tested
what mach exceptions we get for each action on each target, and
reorganized StopInfoMachException::CreateStopReasonWithMachException to
document these possible values, and handle them without specializing
based on the target arch.

I first landed this patch in July 2024 via
https://github.com/llvm/llvm-project/pull/96260

but the CI bots and wider testing found a number of test case failures
that needed to be updated, I reverted it. I've fixed all of those issues
in separate PRs and this change should run cleanly on all the CI bots
now.

rdar://123942164


  Commit: 738d81c61feb768153cd1822d9e5c418db91f55c
      https://github.com/llvm/llvm-project/commit/738d81c61feb768153cd1822d9e5c418db91f55c
  Author: Alex MacLean <amaclean at nvidia.com>
  Date:   2025-02-14 (Fri, 14 Feb 2025)

  Changed paths:
    M llvm/lib/Target/NVPTX/NVPTXAsmPrinter.cpp
    M llvm/lib/Target/NVPTX/NVPTXAsmPrinter.h
    M llvm/lib/Target/NVPTX/NVPTXRegisterInfo.cpp
    M llvm/lib/Target/NVPTX/NVPTXRegisterInfo.h

  Log Message:
  -----------
  Reland "[NVPTX] Cleanup/Refactoring in NVPTX AsmPrinter and RegisterInfo (NFC)" (#127089)


  Commit: 3b45884240d34a59c6244dc3f67840ba2cfdc9fd
      https://github.com/llvm/llvm-project/commit/3b45884240d34a59c6244dc3f67840ba2cfdc9fd
  Author: Paul Kirth <paulkirth at google.com>
  Date:   2025-02-14 (Fri, 14 Feb 2025)

  Changed paths:
    M clang/test/CodeGen/fat-lto-objects-cfi.cpp
    A llvm/include/llvm/Transforms/IPO/FatLTOCleanup.h
    M llvm/lib/Passes/PassBuilder.cpp
    M llvm/lib/Passes/PassBuilderPipelines.cpp
    M llvm/lib/Passes/PassRegistry.def
    M llvm/lib/Transforms/IPO/CMakeLists.txt
    A llvm/lib/Transforms/IPO/FatLTOCleanup.cpp
    A llvm/test/Transforms/FatLTOCleanup/remove-type-checked-load.ll

  Log Message:
  -----------
  [llvm][fatlto] Add FatLTOCleanup pass (#125911)

When using FatLTO, it is common to want to enable certain types of whole
program optimizations (WPD) or security transforms (CFI), so that they
can be made available when performing LTO. However, these transforms
should not be used when compiling the non-LTO object code. Since the
frontend must emit different IR, we cannot simply clone the module and
optimize the LTO section and non-LTO section differently to work around
this. Instead, we need to remove any problematic instruction sequences.

This patch adds a new pass whose responsibility is to clean up the IR
in the FatLTO pipeline after creating the bitcode section, which is
after running the pre-link pipeline but before running module
optimization. This allows us to safely drop any conflicting instructions
or IR constructs that are inappropriate for non-LTO compilation.


  Commit: ed7775f8eb9ffb2f568c561c54475a45c3bb318b
      https://github.com/llvm/llvm-project/commit/ed7775f8eb9ffb2f568c561c54475a45c3bb318b
  Author: Petr Hosek <phosek at google.com>
  Date:   2025-02-14 (Fri, 14 Feb 2025)

  Changed paths:
    M libc/src/__support/FPUtil/FMA.h
    M libc/src/__support/FPUtil/multiply_add.h

  Log Message:
  -----------
  [libc] Use __builtin_elementwise_fma instead of __builtin_fma (#126288)

__builtin_elementwise_fma doesn't consider errno and is thus more
suitable for libc fma implementation.


  Commit: 2eab36e7d0e8ba7fec4c50f10a0236b76ef0c485
      https://github.com/llvm/llvm-project/commit/2eab36e7d0e8ba7fec4c50f10a0236b76ef0c485
  Author: LU-JOHN <John.Lu at amd.com>
  Date:   2025-02-14 (Fri, 14 Feb 2025)

  Changed paths:
    M llvm/lib/Target/AMDGPU/AMDGPUISelLowering.cpp
    A llvm/test/CodeGen/AMDGPU/shl64_reduce.ll
    A llvm/test/CodeGen/AMDGPU/shl64_reduce_flags.ll

  Log Message:
  -----------
  AMDGPU: Reduce shl64 to shl32 if shift range is [63-32] (#125574)

Reduce:

   DST = shl i64 X, Y

where Y is in the range [63-32] to:

   DST = [0, shl i32 X, (Y & 32)]


Alive2 analysis:

https://alive2.llvm.org/ce/z/w_u5je

---------

Signed-off-by: John Lu <John.Lu at amd.com>


  Commit: 89d480ff228395ad0b67cb2373c56a81ea44e78e
      https://github.com/llvm/llvm-project/commit/89d480ff228395ad0b67cb2373c56a81ea44e78e
  Author: Florian Hahn <flo at fhahn.com>
  Date:   2025-02-14 (Fri, 14 Feb 2025)

  Changed paths:
    M llvm/docs/LangRef.rst
    M llvm/lib/Analysis/Loads.cpp
    M llvm/test/Analysis/ValueTracking/assume-queries-counter.ll
    M llvm/test/Analysis/ValueTracking/assume.ll
    M llvm/test/Transforms/LICM/hoist-speculatable-load.ll
    M llvm/test/Transforms/LoopVectorize/dereferenceable-info-from-assumption-constant-size.ll
    M llvm/test/Transforms/SimplifyCFG/speculate-derefable-load.ll

  Log Message:
  -----------
  [AssumeBundles] Dereferenceable used in bundle only applies at assume. (#126117)

Update LangRef and code using `Dereferenceable` in assume bundles to
only use the information if it is safe at the point of use.

`Dereferenceable` in an assume bundle is only guaranteed at the point of
the assumption, but may not be guaranteed at later points, because the
pointer may have been freed.

Update code using `Dereferenceable` to only use it if the pointer cannot
be freed. This can further be refined to check if the pointer could be
freed between assume and use.

This follows up on https://github.com/llvm/llvm-project/pull/123196.

With that change, it should be safe to expose dereferenceable
assumptions more widely as in
https://github.com/llvm/llvm-project/pull/121789

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


  Commit: 1ebb76f5a65721b4c948b8faeb3f6ab8fc78d63b
      https://github.com/llvm/llvm-project/commit/1ebb76f5a65721b4c948b8faeb3f6ab8fc78d63b
  Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
  Date:   2025-02-14 (Fri, 14 Feb 2025)

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

  Log Message:
  -----------
  [gn build] Port 63c1be724924


  Commit: 597590a6918977aa5e79634f13514bc4ddd14d96
      https://github.com/llvm/llvm-project/commit/597590a6918977aa5e79634f13514bc4ddd14d96
  Author: Ellis Hoag <ellis.sparky.hoag at gmail.com>
  Date:   2025-02-14 (Fri, 14 Feb 2025)

  Changed paths:
    M lld/include/lld/Common/BPSectionOrdererBase.inc
    M lld/test/MachO/bp-section-orderer.s

  Log Message:
  -----------
  [lld][BP] Order .Tgm symbols for startup (#126328)

The Global Function Merger
(https://discourse.llvm.org/t/rfc-global-function-merging/82608) pass
optimistically creates merged instances of functions and suffixes their
names with `.Tgm`. Then in the linker, ICF will (hopefully) fold these
`.Tgm` functions. For example, a function `foo` might become a thunk
`foo` that calls a merged function `foo.Tgm`.

Since IRPGO runs before the global merger, we will only have a profile
for `foo`. We want to correlate this profile to both `foo` and `foo.Tgm`
so they can both be ordered to improve startup time.

I built a large binary and found that it increased the number of
functions ordered for startup, as expected.
```
Functions for startup: 12049 -> 12697
Functions for compression: 34733 -> 34707
```

The reason why we don't see a larger improvement is because there are
some cases where the code was accidentally working:
`getRootSymbol("foo.llvm.5555.Tgm")` already returns `foo`.


  Commit: 583a97881c9988b62b51799b06543c6de8883a76
      https://github.com/llvm/llvm-project/commit/583a97881c9988b62b51799b06543c6de8883a76
  Author: Aiden Grossman <aidengrossman at google.com>
  Date:   2025-02-14 (Fri, 14 Feb 2025)

  Changed paths:
    M .github/workflows/build-ci-container-windows.yml
    M .github/workflows/build-ci-container.yml
    M .github/workflows/premerge.yaml

  Log Message:
  -----------
  [Github][CI] Hashpin actions dependencies (#127011)

This patch has pins several actions dependencies in the premerge
workflow and the Windows/Linux container build workflows to help improve
security in the unlikely event that someone tries to pull off a supply
chain security attack by modifying release asserts for these actions.


  Commit: 460779935d8979ce269e6370c05bba579fc66d0d
      https://github.com/llvm/llvm-project/commit/460779935d8979ce269e6370c05bba579fc66d0d
  Author: Piotr Fusik <p.fusik at samsung.com>
  Date:   2025-02-14 (Fri, 14 Feb 2025)

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

  Log Message:
  -----------
  [RISCV][NFC] Fix a warning (#127090)


  Commit: 4e26d478322b956b67d8e8ac880e7d7349fee6a1
      https://github.com/llvm/llvm-project/commit/4e26d478322b956b67d8e8ac880e7d7349fee6a1
  Author: Scott Linder <scott.linder at amd.com>
  Date:   2025-02-14 (Fri, 14 Feb 2025)

  Changed paths:
    A llvm/test/CodeGen/AMDGPU/preload-implicit-kernargs-debug-info.ll

  Log Message:
  -----------
  [AMDGPU] Add test for failure with function !dbg info in amdgpu-lower-kernel-arguments (#126146)


  Commit: 558e7a85cefe4709c6c01e21e968b90b4d303c9f
      https://github.com/llvm/llvm-project/commit/558e7a85cefe4709c6c01e21e968b90b4d303c9f
  Author: Florian Hahn <flo at fhahn.com>
  Date:   2025-02-14 (Fri, 14 Feb 2025)

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

  Log Message:
  -----------
  [LAA] Split off code to compute stride from AddRec for reuse (NFC).

Refactors to code to expose the core logic from getPtrStride to compute
the stride for a given AddRec.

Split off from https://github.com/llvm/llvm-project/pull/126971 as
suggested.


  Commit: 2bb5da0d344ce4eaad7a8a4d78616c9acafc0238
      https://github.com/llvm/llvm-project/commit/2bb5da0d344ce4eaad7a8a4d78616c9acafc0238
  Author: Deric Cheung <cheung.deric at gmail.com>
  Date:   2025-02-14 (Fri, 14 Feb 2025)

  Changed paths:
    M llvm/lib/Analysis/VectorUtils.cpp
    A llvm/test/Transforms/Scalarizer/sadd_with_overflow.ll
    A llvm/test/Transforms/Scalarizer/sincos.ll
    A llvm/test/Transforms/Scalarizer/smul_with_overflow.ll
    A llvm/test/Transforms/Scalarizer/ssub_with_overflow.ll
    R llvm/test/Transforms/Scalarizer/uadd_overflow.ll
    A llvm/test/Transforms/Scalarizer/uadd_with_overflow.ll
    A llvm/test/Transforms/Scalarizer/umul_with_overflow.ll
    A llvm/test/Transforms/Scalarizer/usub_with_overflow.ll

  Log Message:
  -----------
  [Scalarizer] Make `*_with_overflow` intrinsics scalarizable (#126815)

Addresses issue #126809

- Made `uadd_with_overflow`, `sadd_with_overflow`, `usub_with_overflow`,
`ssub_with_overflow`, `umul_with_overflow`, and `smul_with_overflow`
trivially scalarizable in `isTriviallyScalarizable()` from
`VectorUtils.cpp`
- Renamed and updated the test `Scalarizer/uadd_overflow.ll` to
`Scalarizer/uadd_with_overflow.ll` to check that `uadd_with_overflow`
gets scalarized
- Added a test `Scalarizer/sincos.ll` to ensure the bug fix #113625
still works


  Commit: 766ff995559bccd4ffa5a22d9ab6193815c0cfca
      https://github.com/llvm/llvm-project/commit/766ff995559bccd4ffa5a22d9ab6193815c0cfca
  Author: vporpo <vporpodas at google.com>
  Date:   2025-02-14 (Fri, 14 Feb 2025)

  Changed paths:
    M llvm/include/llvm/SandboxIR/Region.h
    M llvm/lib/SandboxIR/Region.cpp
    M llvm/unittests/SandboxIR/RegionTest.cpp

  Log Message:
  -----------
  [SandboxIR][Region] Implement an auxiliary vector in Region (#126376)

This patch adds additional functionality to the sandboxir Region. The
Region is used as a way of passing a set of Instructions across region
passes in a way that can be represented in the IR with metadata. This is
a design choice that allows us to test region passes in isolation with
lit tests.

Up until now the region was only used to tag the instructions generated
by the passes. There is a need to represent an ordered set of
instructions, which can be used as a way to represent the initial seeds
to the first vectorization pass. This patch implements this auxiliary
vector that can be used to convey such information.


  Commit: 63af454a91042b18570ea12ca4c2100d0e72ad95
      https://github.com/llvm/llvm-project/commit/63af454a91042b18570ea12ca4c2100d0e72ad95
  Author: Ben Langmuir <blangmuir at apple.com>
  Date:   2025-02-14 (Fri, 14 Feb 2025)

  Changed paths:
    M clang/lib/Tooling/DependencyScanning/DependencyScanningWorker.cpp
    M clang/unittests/Tooling/DependencyScanning/DependencyScannerTest.cpp

  Log Message:
  -----------
  [clang][deps] Ensure DiagnosticConsumer::finish is always called (#127110)

When using the clang dependency scanner with an arbitrary
DiagnosticConsumer, it is important that we always call finish().
Previously, if there was an error preventing us from reaching the
scanning action, or if the command line contained no scannable actions
we would fail to finish(), which would break some consumers (e.g.
serialized diag consumer).


  Commit: ae6453344a9ce8be63d3653fdefac6fac204d933
      https://github.com/llvm/llvm-project/commit/ae6453344a9ce8be63d3653fdefac6fac204d933
  Author: joaosaffran <126493771+joaosaffran at users.noreply.github.com>
  Date:   2025-02-14 (Fri, 14 Feb 2025)

  Changed paths:
    M llvm/test/CodeGen/DirectX/ContainerData/RootSignature-MultipleEntryFunctions.ll

  Log Message:
  -----------
  [DXIL] Add support for root signature flag element in DXContainer (#123147)

Adding support for Root Signature Flags Element extraction and writing
to DXContainer.
- Adding an analysis to deal with RootSignature metadata definition
- Adding validation for Flag
- writing RootSignature blob into DXIL

Closes: [126632](https://github.com/llvm/llvm-project/issues/126632)

---------

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


  Commit: 4a94aa23e4d19ba12af4c53940880196995be819
      https://github.com/llvm/llvm-project/commit/4a94aa23e4d19ba12af4c53940880196995be819
  Author: Alexey Bataev <a.bataev at outlook.com>
  Date:   2025-02-14 (Fri, 14 Feb 2025)

  Changed paths:
    M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
    M llvm/test/Transforms/SLPVectorizer/X86/delayed-gather-emission.ll
    M llvm/test/Transforms/SLPVectorizer/X86/matching-gather-nodes-phi-users.ll
    A llvm/test/Transforms/SLPVectorizer/X86/phi-node-with-cycle.ll

  Log Message:
  -----------
  [SLP] Check for PHI nodes (potentially cycles!) when checking dependencies

When checking for dependecies for gather nodes with users with the same
last instruction, cannot rely on the index order, if there is (even
potential!) cycle in the graph, which may cause order not work correctly
and cause compiler crash.

Fixes #127128


  Commit: 79fdb8c73206ec790dc588d5e1dd85080d6b3d34
      https://github.com/llvm/llvm-project/commit/79fdb8c73206ec790dc588d5e1dd85080d6b3d34
  Author: Jerry-Ge <jerry.ge at arm.com>
  Date:   2025-02-14 (Fri, 14 Feb 2025)

  Changed paths:
    M mlir/include/mlir/Dialect/Tosa/IR/TosaOpBase.td
    M mlir/include/mlir/Dialect/Tosa/IR/TosaOps.td
    M mlir/include/mlir/Dialect/Tosa/IR/TosaTypesBase.td
    M mlir/include/mlir/Dialect/Tosa/Transforms/Passes.h
    M mlir/lib/Conversion/TosaToLinalg/TosaToLinalgNamed.cpp
    M mlir/lib/Conversion/TosaToLinalg/TosaToLinalgNamedPass.cpp
    M mlir/lib/Dialect/Tosa/IR/TosaOps.cpp
    M mlir/lib/Dialect/Tosa/Transforms/CMakeLists.txt
    R mlir/lib/Dialect/Tosa/Transforms/TosaDecomposeConv2D.cpp
    M mlir/lib/Dialect/Tosa/Transforms/TosaOptionalDecompositions.cpp
    M mlir/lib/Dialect/Tosa/Transforms/TosaValidation.cpp
    M mlir/test/Conversion/TosaToLinalg/tosa-to-linalg-named.mlir
    M mlir/test/Dialect/Tosa/invalid.mlir
    M mlir/test/Dialect/Tosa/ops.mlir
    R mlir/test/Dialect/Tosa/tosa-decompose-conv2d.mlir
    M mlir/test/Dialect/Tosa/tosa-infer-shapes.mlir
    R mlir/test/Integration/Dialect/Tosa/CPU/test-fully-connected.mlir

  Log Message:
  -----------
  [mlir][tosa] Remove FullyConnectedOp from TOSA Dialect (#126152)

This patch removes FullyConncected Operator from the TOSA Dialect and
all associated tests and transforms.

This is part of the TOSA v1.0 alignment effort:
https://discourse.llvm.org/t/rfc-tosa-dialect-increment-to-v1-0/83708

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


  Commit: cd68219b4b3f7b217a7f6e7c6f2e01b72f91b54e
      https://github.com/llvm/llvm-project/commit/cd68219b4b3f7b217a7f6e7c6f2e01b72f91b54e
  Author: lntue <lntue at google.com>
  Date:   2025-02-14 (Fri, 14 Feb 2025)

  Changed paths:
    M libc/src/__support/big_int.h
    M libc/src/math/generic/CMakeLists.txt
    M libc/src/math/generic/sqrtf128.cpp
    M libc/test/UnitTest/FPMatcher.h
    M libc/test/src/math/SqrtTest.h
    M libc/test/src/math/performance_testing/CMakeLists.txt
    A libc/test/src/math/performance_testing/sqrtf128_perf.cpp
    M libc/test/src/math/smoke/SqrtTest.h
    M libc/test/src/math/smoke/generic_sqrt_test.cpp
    M libc/test/src/math/smoke/generic_sqrtf128_test.cpp
    M libc/test/src/math/smoke/generic_sqrtf_test.cpp
    M libc/test/src/math/smoke/generic_sqrtl_test.cpp
    M libc/test/src/math/smoke/sqrt_test.cpp
    M libc/test/src/math/smoke/sqrtf128_test.cpp
    M libc/test/src/math/smoke/sqrtf16_test.cpp
    M libc/test/src/math/smoke/sqrtf_test.cpp
    M libc/test/src/math/smoke/sqrtl_test.cpp

  Log Message:
  -----------
  [libc][math] Improve the performance of sqrtf128. (#122578)

Use a combination of polynomial approximation and Newton-Raphson
iterations in 64-bit and 128-bit integers to improve the performance of
sqrtf128. The correct rounding is provided by squaring the result and
comparing it with the argument.

Performance improvement using the newly added perf test:
- My function = the improved implementation from this PR
- Other function = current implementation using
`libc/src/__support/FPUtil/generic/sqrt.h`
```
 Performance tests with inputs in denormal range:
-- My function --
     Total time      : 1260765265 ns 
     Average runtime : 125.951 ns/op 
     Ops per second  : 7939623 op/s 
-- Other function --
     Total time      : 7160726518 ns 
     Average runtime : 715.357 ns/op 
     Ops per second  : 1397902 op/s 
-- Average runtime ratio --
     Mine / Other's  : 0.176067 

 Performance tests with inputs in normal range:
-- My function --
     Total time      : 373003808 ns 
     Average runtime : 37.2631 ns/op 
     Ops per second  : 26836189 op/s 
-- Other function --
     Total time      : 7353398916 ns 
     Average runtime : 734.605 ns/op 
     Ops per second  : 1361275 op/s 
-- Average runtime ratio --
     Mine / Other's  : 0.0507254 
```

---------

Co-authored-by: Alexei Sibidanov <sibid at uvic.ca>


  Commit: 2b4c50effab2057d60bfcea2fd761daf3b63c972
      https://github.com/llvm/llvm-project/commit/2b4c50effab2057d60bfcea2fd761daf3b63c972
  Author: Tristan Ross <tristan.ross at midstall.com>
  Date:   2025-02-14 (Fri, 14 Feb 2025)

  Changed paths:
    M llvm/unittests/ExecutionEngine/Orc/JITLinkRedirectionManagerTest.cpp
    M llvm/unittests/ExecutionEngine/Orc/ReOptimizeLayerTest.cpp

  Log Message:
  -----------
  [ORC][unittests] Remove hard coded 16k page size (#127115)

Fixes a couple hard coded 16k values which is being used as the page
size. Replaces the hard coded value with the system's page size. This
fixes #116753 on an Ampere Altra Q64-22

CC @lhames


  Commit: 424951783979b4522c2cd55adf17630cddbb62a9
      https://github.com/llvm/llvm-project/commit/424951783979b4522c2cd55adf17630cddbb62a9
  Author: Michael Buch <michaelbuch12 at gmail.com>
  Date:   2025-02-14 (Fri, 14 Feb 2025)

  Changed paths:
    M clang/test/CodeGenCXX/debug-info-template-parameter.cpp

  Log Message:
  -----------
  [clang][DebugInfo][test] Add tests for C++20 non-type template parameters (#127056)

This exercises the codepath where we create `DITemplateValueParameter`s
whose `TemplateArgument::ArgKind` is `StructuralValue`, which was added
in (https://github.com/llvm/llvm-project/pull/78041). Previously, not
emitting a `value`/`defaulted` for such template argument nodes didn't
fail any tests.


  Commit: 34f0fa900efdbafaaaf1eaf868226a6ef57fe204
      https://github.com/llvm/llvm-project/commit/34f0fa900efdbafaaaf1eaf868226a6ef57fe204
  Author: Michael Buch <michaelbuch12 at gmail.com>
  Date:   2025-02-14 (Fri, 14 Feb 2025)

  Changed paths:
    M llvm/lib/CodeGen/AsmPrinter/DwarfUnit.cpp
    M llvm/test/DebugInfo/X86/debug-info-template-parameter.ll

  Log Message:
  -----------
  [llvm][DebugInfo] Emit DW_AT_const_value for float non-type template parameters (#127045)

In C++20, non-type template parameters can be float/double. Clang didn't
emit those constants in DWARF. This patch emits floating point constants
the same way we do other integral template value parameters.


  Commit: d284bc6b77f1ee2eae717ec6fdb69fdee40dbdeb
      https://github.com/llvm/llvm-project/commit/d284bc6b77f1ee2eae717ec6fdb69fdee40dbdeb
  Author: Christopher Bate <cbate at nvidia.com>
  Date:   2025-02-14 (Fri, 14 Feb 2025)

  Changed paths:
    M mlir/include/mlir/Dialect/Bufferization/IR/BufferizableOpInterface.h
    M mlir/lib/Dialect/Bufferization/IR/BufferizableOpInterface.cpp
    M mlir/lib/Dialect/Bufferization/Transforms/OneShotAnalysis.cpp

  Log Message:
  -----------
  [mlir][bufferization] Use a cache when checking whether ops are in mutually exclusive regions (#123516)

When profiling one-shot-bufferization over large programs, I found that
the analysis would spend a large amount of time checking whether
two operations are "inside mutually exclusive regions". This change
adds a cache for that information, which can result in a noticeable
speedup depending on program structure.


  Commit: f5cef92e96c08568f1dfe212e6ad28942d328761
      https://github.com/llvm/llvm-project/commit/f5cef92e96c08568f1dfe212e6ad28942d328761
  Author: Ulrich Weigand <ulrich.weigand at de.ibm.com>
  Date:   2025-02-14 (Fri, 14 Feb 2025)

  Changed paths:
    M clang/lib/CodeGen/CGBuiltin.cpp
    M clang/test/CodeGen/SystemZ/builtins-systemz-vector-constrained.c
    M clang/test/CodeGen/SystemZ/builtins-systemz-vector.c
    M clang/test/CodeGen/SystemZ/builtins-systemz-vector2-constrained.c
    M clang/test/CodeGen/SystemZ/builtins-systemz-vector2.c
    M clang/test/CodeGen/SystemZ/builtins-systemz-zvector-constrained.c
    M clang/test/CodeGen/SystemZ/builtins-systemz-zvector.c
    M clang/test/CodeGen/SystemZ/builtins-systemz-zvector2-constrained.c
    M clang/test/CodeGen/SystemZ/builtins-systemz-zvector2.c
    M llvm/lib/Target/SystemZ/SystemZISelLowering.cpp
    M llvm/lib/Target/SystemZ/SystemZInstrFP.td
    M llvm/lib/Target/SystemZ/SystemZInstrVector.td
    M llvm/test/CodeGen/SystemZ/fp-round-01.ll
    M llvm/test/CodeGen/SystemZ/fp-round-02.ll
    M llvm/test/CodeGen/SystemZ/fp-round-03.ll
    M llvm/test/CodeGen/SystemZ/fp-strict-round-01.ll
    M llvm/test/CodeGen/SystemZ/fp-strict-round-02.ll
    M llvm/test/CodeGen/SystemZ/fp-strict-round-03.ll
    M llvm/test/CodeGen/SystemZ/vec-round-01.ll
    M llvm/test/CodeGen/SystemZ/vec-round-02.ll
    M llvm/test/CodeGen/SystemZ/vec-strict-round-01.ll
    M llvm/test/CodeGen/SystemZ/vec-strict-round-02.ll
    M llvm/test/CodeGen/SystemZ/vector-constrained-fp-intrinsics.ll

  Log Message:
  -----------
  [SystemZ] Add codegen support for llvm.roundeven

This is straightforward as we already had all the necessary
instructions, they simply were not wired up.

Also allows implementing the vec_round intrinsic via the
standard llvm.roundeven IR instead of a platform intrinsic now.


  Commit: 582678e6f3f1fc274429a393b62fb4e2124c75d1
      https://github.com/llvm/llvm-project/commit/582678e6f3f1fc274429a393b62fb4e2124c75d1
  Author: Michael Buch <michaelbuch12 at gmail.com>
  Date:   2025-02-14 (Fri, 14 Feb 2025)

  Changed paths:
    M lldb/test/API/lang/cpp/template-arguments/TestCppTemplateArguments.py

  Log Message:
  -----------
  [lldb][test] TestCppTemplateArguments.py: adjust expected type

LLVM started emitting the `DW_AT_const_value` for floating point template parameters since https://github.com/llvm/llvm-project/pull/127045. Adjust the expected type in this test. It's still not quite correct but that requires a separate fix in LLDB.


  Commit: 6dc1180507311e78581c28ad10fbcd7ea1dce000
      https://github.com/llvm/llvm-project/commit/6dc1180507311e78581c28ad10fbcd7ea1dce000
  Author: Amir Ayupov <aaupov at fb.com>
  Date:   2025-02-14 (Fri, 14 Feb 2025)

  Changed paths:
    M bolt/include/bolt/Profile/DataAggregator.h
    M bolt/lib/Profile/DataAggregator.cpp
    M bolt/test/X86/callcont-fallthru.s
    M bolt/test/link_fdata.py

  Log Message:
  -----------
  [BOLT] Add pre-aggregated trace support (#127125)

Traces are triplets of branch source, target, and fall-through end (next
branch).

Traces simplify differentiation of fall-throughs into local- and
external-origin, which improves performance over profile with
undifferentiated fall-throughs by eliminating profile discontinuity in
call to continuation fall-throughs. This makes it possible to avoid
converting return profile into call to continuation profile which may
introduce statistical biases.

The existing format makes provisions for local- (F) and external- (f)
origin fall-throughs, but the profile producer needs to know function
boundaries. BOLT has that information readily available, so providing
the origin branch of a fall-through is a functional replacement of the
fall-through kind (f or F). This also has an effect of combining
branches and fall-throughs into a single record.

As traces subsume other pre-aggregated profile kinds, BOLT may drop
support for them soon. Users of pre-aggregated profile format are
advised to migrate to the trace format.

Test Plan: Updated callcont-fallthru.s


  Commit: e5dffc9bb29377b4ccc3a7deb1489e6d955559a2
      https://github.com/llvm/llvm-project/commit/e5dffc9bb29377b4ccc3a7deb1489e6d955559a2
  Author: Nathan Ridge <zeratul976 at hotmail.com>
  Date:   2025-02-14 (Fri, 14 Feb 2025)

  Changed paths:
    M clang/lib/AST/Expr.cpp
    M clang/test/AST/ast-dump-cxx2b-deducing-this.cpp

  Log Message:
  -----------
  [clang][AST] Handle dependent representation of call to function with explicit object parameter in CallExpr::getBeginLoc() (#126868)

This fixes a crash where CallExpr::getBeginLoc() tries to access the
first argument of a CallExpr representing a call to a function with
an explicit object parameter, assuming that a first argument exists
because it's the object argument.

This is the case for non-dependent calls, but for dependent calls
the object argument is part of the callee (the semantic analysis
that separates it out has not been performed yet) and so there may
not be a first argument.

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


  Commit: e999ac541bfb138e5e6aba9791463910b127c38f
      https://github.com/llvm/llvm-project/commit/e999ac541bfb138e5e6aba9791463910b127c38f
  Author: Lei Wang <wlei at fb.com>
  Date:   2025-02-14 (Fri, 14 Feb 2025)

  Changed paths:
    M llvm/lib/Transforms/IPO/SampleProfileMatcher.cpp
    M llvm/test/Transforms/SampleProfile/pseudo-probe-stale-profile-renaming.ll

  Log Message:
  -----------
  [StaleProfileMatching] Use only profile anchor size for similarity calculation (#126783)

We observed that the number of IR anchors is usually greater than the
number of profile anchors, because IR anchors can be optimized away
later and llvm-profgen might not generate profiles for cold callsites.
This can cause missing function matches. I’m changing the similarity
calculation to use only the profile anchor size. In another point of
view, It also makes sense to reuse as many profile anchors as possible
regardless of the new functions in the IR.


  Commit: 1a4d0d7a04e40ba73cd4593c5299b8db0cdc72b9
      https://github.com/llvm/llvm-project/commit/1a4d0d7a04e40ba73cd4593c5299b8db0cdc72b9
  Author: Jason Molenda <jmolenda at apple.com>
  Date:   2025-02-14 (Fri, 14 Feb 2025)

  Changed paths:
    M lldb/source/Plugins/LanguageRuntime/ObjC/AppleObjCRuntime/AppleObjCRuntimeV2.cpp

  Log Message:
  -----------
  [lldb] Don't warn that libobjc was read from memory in corefile (#127138)

AppleObjCRuntimeV2 prints a warning when we read libobjc.A.dylib from
memory, as a canary to detect that we are reading system binaries out of
memory (which is slow, and we try hard to avoid). But with a corefile,
reading out of "memory" is fine, and may be the only way we can find the
correct binary.

rdar://144322688


  Commit: 7ba421e2aa0ddf63fec67744399bf0a1b2570c1d
      https://github.com/llvm/llvm-project/commit/7ba421e2aa0ddf63fec67744399bf0a1b2570c1d
  Author: Roland McGrath <mcgrathr at google.com>
  Date:   2025-02-14 (Fri, 14 Feb 2025)

  Changed paths:
    M libc/include/dlfcn.yaml
    M libc/utils/hdrgen/gpu_headers.py
    M libc/utils/hdrgen/header.py
    M libc/utils/hdrgen/macro.py
    M libc/utils/hdrgen/tests/expected_output/test_header.h
    M libc/utils/hdrgen/tests/input/test_small.h.def
    M libc/utils/hdrgen/tests/input/test_small.yaml
    M libc/utils/hdrgen/tests/test_integration.py
    M libc/utils/hdrgen/yaml_to_classes.py

  Log Message:
  -----------
  [libc] Make hdrgen support macro_header YAML field. (#123265)

A macro can specify macro_header instead of macro_value to
indicate that an llvm-libc-macros/ header file is supposed to
define this macro.  This is used for dlfcn.h, which previously
bogusly redefined the RTLD_* macros to empty.


  Commit: 41c07491f77b38728fab4ebeb27289004d110c27
      https://github.com/llvm/llvm-project/commit/41c07491f77b38728fab4ebeb27289004d110c27
  Author: Zixu Wang <9819235+zixu-w at users.noreply.github.com>
  Date:   2025-02-14 (Fri, 14 Feb 2025)

  Changed paths:
    M clang/lib/Serialization/ASTReader.cpp
    R clang/test/Modules/pr121245.cpp

  Log Message:
  -----------
  Revert "[C++20][Modules][Serialization] Delay marking pending incompl… (#127136)

…ete decl chains until the end of `finishPendingActions`. (#121245)"

This reverts commit a9e249f64e800fbb20a3b26c0cfb68c1a1aee5e1.

Reverting this change because of issue #126973.


  Commit: 62a914a45800cc8a6f4f5b6c906ae9d762842687
      https://github.com/llvm/llvm-project/commit/62a914a45800cc8a6f4f5b6c906ae9d762842687
  Author: Jeff Niu <jeffniu22 at gmail.com>
  Date:   2025-02-14 (Fri, 14 Feb 2025)

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

  Log Message:
  -----------
  [mlir][scf] Remove identical `scf.for` iter args (#127145)

This augments the iter arg canonicalizer to remove iter args that always
have the same value, i.e. their correpsonding init and yielded values
are the same.


  Commit: 8d2b5e8c6347772c7151df395ceb13fe2483420e
      https://github.com/llvm/llvm-project/commit/8d2b5e8c6347772c7151df395ceb13fe2483420e
  Author: Ahmed Bougacha <ahmed at bougacha.org>
  Date:   2025-02-14 (Fri, 14 Feb 2025)

  Changed paths:
    M llvm/unittests/TargetParser/TargetParserTest.cpp

  Log Message:
  -----------
  [AArch64][TargetParser] Add ProcessorAlias unit test machinery. NFC. (#127131)

The patch itself is mainly the expected unittest boilerplate.
This adds tests for the aliases we have today.

We could alternatively test these via the driver with additional
run-lines in print-enable-extensions tests, and eventually should
consider that instead.


  Commit: cf23954af21abdff6578e789d3ab5ce46e9629a0
      https://github.com/llvm/llvm-project/commit/cf23954af21abdff6578e789d3ab5ce46e9629a0
  Author: Igor Wodiany <igor.wodiany at imgtec.com>
  Date:   2025-02-14 (Fri, 14 Feb 2025)

  Changed paths:
    M mlir/include/mlir/Dialect/SPIRV/IR/SPIRVBase.td
    A mlir/include/mlir/Dialect/SPIRV/IR/SPIRVMeshOps.td
    M mlir/include/mlir/Dialect/SPIRV/IR/SPIRVOps.td
    M mlir/lib/Dialect/SPIRV/IR/CMakeLists.txt
    A mlir/lib/Dialect/SPIRV/IR/MeshOps.cpp
    M mlir/test/Dialect/SPIRV/IR/availability.mlir
    A mlir/test/Dialect/SPIRV/IR/mesh-ops.mlir
    A mlir/test/Target/SPIRV/mesh-ops.mlir

  Log Message:
  -----------
  [mlir][spirv] Add support for SPV_EXT_mesh_shader extension (#126555)

This patch adds support for all enums and operations defined in the
SPV_EXT_mesh_shader extension. Where in conflict with SPV_NV_mesh_shader
definition, the EXT specification takes precedence, as duplicated enum
values are not allowed. Enum values has been added manually, as
define_enum.sh script, modifies files too aggressively - it adds all
missing values from various extensions.


  Commit: a65c35571fcf81440430445f744d1997b7838fac
      https://github.com/llvm/llvm-project/commit/a65c35571fcf81440430445f744d1997b7838fac
  Author: Valentin Clement (バレンタイン クレメン) <clementval at gmail.com>
  Date:   2025-02-14 (Fri, 14 Feb 2025)

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

  Log Message:
  -----------
  [flang][cuda] Lower clock64 to nvvm intrinsic (#127155)


  Commit: 903460e0f1a56935964de467233cddfdb8b70415
      https://github.com/llvm/llvm-project/commit/903460e0f1a56935964de467233cddfdb8b70415
  Author: Roland McGrath <mcgrathr at google.com>
  Date:   2025-02-14 (Fri, 14 Feb 2025)

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

  Log Message:
  -----------
  [libc] Make test macros suppress the -Wdangling-else warnings (#127149)

Use the trick from gtest to allow `ASSERT_...` and `EXPECT_...`
macros to be used in braceless `if` without producing warnings
about the nested `if`-`else` that results.


  Commit: f875c43843561dacab349560fcc091a8ea898c3f
      https://github.com/llvm/llvm-project/commit/f875c43843561dacab349560fcc091a8ea898c3f
  Author: NAKAMURA Takumi <geek4civic at gmail.com>
  Date:   2025-02-14 (Fri, 14 Feb 2025)

  Changed paths:
    M llvm/unittests/SandboxIR/RegionTest.cpp

  Log Message:
  -----------
  SandboxIRTests: Use `EXPECT_DEBUG_DEATH` (for #126376)


  Commit: f0010dd914173280f67c7aa864225aeaf404afa1
      https://github.com/llvm/llvm-project/commit/f0010dd914173280f67c7aa864225aeaf404afa1
  Author: Galen Elias <gelias at gmail.com>
  Date:   2025-02-14 (Fri, 14 Feb 2025)

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

  Log Message:
  -----------
  [clang-format] Support BraceWrapping.AfterNamespace with AllowShortNamespacesOnASingleLine (#123010)

AllowShortNamespacesOnASingleLine assumes that there is no newline
before the namespace brace, however, there is no actual reason this
shouldn't be compatible with BraceWrapping.AfterNamespace = true.

This is a little tricky in the implementation because
UnwrappedLineFormatter works on lines, so being flexible about the
offsets is awkward.

Not sure if there is a better pattern for combining the 'AllowShort'
options with the various configurations of BraceWrapping, but this
seemed mostly reasonable. Really, it would almost be preferable to just
pattern match on the direct token stream, rather than the
AnnotatedLines, but I'm not seeing a straightforward way to do that.

---------

Co-authored-by: Owen Pan <owenpiano at gmail.com>


  Commit: fb1d4b23288002d83cae3dd3f6f0bf8079ff678a
      https://github.com/llvm/llvm-project/commit/fb1d4b23288002d83cae3dd3f6f0bf8079ff678a
  Author: schittir <sindhu.chittireddy at intel.com>
  Date:   2025-02-14 (Fri, 14 Feb 2025)

  Changed paths:
    M clang/lib/CodeGen/CGOpenMPRuntime.cpp
    M clang/lib/StaticAnalyzer/Checkers/MacOSKeychainAPIChecker.cpp

  Log Message:
  -----------
  [clang][NFC] Avoid potential null dereferences (#127017)

Add null checking.


  Commit: cf6a69515a1358d22e4a666f97982846cbf5da7a
      https://github.com/llvm/llvm-project/commit/cf6a69515a1358d22e4a666f97982846cbf5da7a
  Author: Srinivasa Ravi <srinivasar at nvidia.com>
  Date:   2025-02-14 (Fri, 14 Feb 2025)

  Changed paths:
    M clang/include/clang/Basic/BuiltinsNVPTX.td
    A clang/test/CodeGenCUDA/redux-f32-builtins.cu
    M llvm/include/llvm/IR/IntrinsicsNVVM.td
    M llvm/lib/Target/NVPTX/NVPTXIntrinsics.td
    A llvm/test/CodeGen/NVPTX/redux-sync-f32.ll

  Log Message:
  -----------
  [NVPTX] Add intrinsics for redux.sync f32 instructions (#126664)

Adds NVVM intrinsics, NVPTX codegen and Clang builtins for `redux.sync`
f32 instructions introduced in ptx8.6 for sm_100a.
Tests added in `CodeGen/NVPTX/redux-sync.ll` and
`CodeGenCUDA/redux-builtins.cu` and verified through ptxas 12.8.0.

PTX Spec Reference:

https://docs.nvidia.com/cuda/parallel-thread-execution/#parallel-synchronization-and-communication-instructions-redux-sync


  Commit: c0afa797ff8a6c9ef733841e548b61d871c32c2b
      https://github.com/llvm/llvm-project/commit/c0afa797ff8a6c9ef733841e548b61d871c32c2b
  Author: Uday Bondhugula <uday at polymagelabs.com>
  Date:   2025-02-14 (Fri, 14 Feb 2025)

  Changed paths:
    M mlir/include/mlir/Dialect/Affine/IR/AffineValueMap.h
    M mlir/lib/Dialect/Affine/Analysis/Utils.cpp
    M mlir/lib/Dialect/Affine/IR/AffineValueMap.cpp

  Log Message:
  -----------
  [MLIR][Affine] Add affine value map difference operator (#127163)

Add affine value map difference operator. NFC otherwise.


  Commit: bfd7bbbde3b954ee88a17b267a7f551587a40366
      https://github.com/llvm/llvm-project/commit/bfd7bbbde3b954ee88a17b267a7f551587a40366
  Author: serge-sans-paille <sguelton at mozilla.com>
  Date:   2025-02-14 (Fri, 14 Feb 2025)

  Changed paths:
    M clang/tools/driver/CMakeLists.txt

  Log Message:
  -----------
  [clang][cmake] Sanitize CLANG_BOLT values (#126768)

This avoids failing later in the build process.


  Commit: 744cf834ae796de4e3d06d6d6eec24e8065d35e0
      https://github.com/llvm/llvm-project/commit/744cf834ae796de4e3d06d6d6eec24e8065d35e0
  Author: Brox Chen <guochen2 at amd.com>
  Date:   2025-02-14 (Fri, 14 Feb 2025)

  Changed paths:
    M llvm/lib/Target/AMDGPU/SIFoldOperands.cpp
    M llvm/lib/Target/AMDGPU/SIInstrInfo.cpp
    M llvm/lib/Target/AMDGPU/SIInstructions.td
    M llvm/lib/Target/AMDGPU/SIShrinkInstructions.cpp
    M llvm/test/CodeGen/AMDGPU/GlobalISel/fma.ll
    M llvm/test/CodeGen/AMDGPU/fix-sgpr-copies-f16.mir
    M llvm/test/CodeGen/AMDGPU/fma.f16.ll
    A llvm/test/CodeGen/AMDGPU/shrink-mad-fma-fake16.mir
    A llvm/test/CodeGen/AMDGPU/shrink-mad-fma-gfx10.mir
    M llvm/test/CodeGen/AMDGPU/shrink-mad-fma.mir

  Log Message:
  -----------
  [AMDGPU][True16][CodeGen] true16 codegen pattern for fma (#122950)

true16 codegen pattern for f16 fma.

created a duplicated shrink-mad-fma-gfx10.mir from shrink-mad-fma to
seperate pre-GFX11 and GFX11 mir test.


  Commit: 2078652a590bff3c42ad621de97d3a04236b7382
      https://github.com/llvm/llvm-project/commit/2078652a590bff3c42ad621de97d3a04236b7382
  Author: Younan Zhang <zyn7109 at gmail.com>
  Date:   2025-02-14 (Fri, 14 Feb 2025)

  Changed paths:
    M clang/lib/Sema/SemaTemplate.cpp
    M clang/lib/Sema/SemaTemplateInstantiate.cpp
    M clang/test/AST/ast-dump-ctad-alias.cpp

  Log Message:
  -----------
  [Clang] Remove the PackExpansion restrictions for rewrite substitution (#126206)

When substituting for rewrite purposes, as in rebuilding constraints for
a synthesized deduction guide, it assumed that packs were in
PackExpansion* form, such that the instantiator could extract a pattern.
    
For type aliases CTAD, while rebuilding their associated constraints,
this might not be the case because we'll call
`TransformTemplateArgument()` for the alias template arguments, where
there might be cases e.g. a non-pack expansion type into a pack
expansion, so the assumption wouldn't hold.
    
This patch fixes that by making it treat the non-pack expansions as
direct patterns when rewriting.

Fixes #124715


  Commit: 6ac21c7807d4faf7be0f0137a8f10cd3ed70255f
      https://github.com/llvm/llvm-project/commit/6ac21c7807d4faf7be0f0137a8f10cd3ed70255f
  Author: Brox Chen <guochen2 at amd.com>
  Date:   2025-02-14 (Fri, 14 Feb 2025)

  Changed paths:
    M llvm/lib/Target/AMDGPU/SIFoldOperands.cpp
    M llvm/lib/Target/AMDGPU/SIInstrInfo.cpp
    M llvm/lib/Target/AMDGPU/SIInstructions.td
    M llvm/lib/Target/AMDGPU/SIShrinkInstructions.cpp
    M llvm/test/CodeGen/AMDGPU/GlobalISel/fma.ll
    M llvm/test/CodeGen/AMDGPU/fix-sgpr-copies-f16.mir
    M llvm/test/CodeGen/AMDGPU/fma.f16.ll
    R llvm/test/CodeGen/AMDGPU/shrink-mad-fma-fake16.mir
    R llvm/test/CodeGen/AMDGPU/shrink-mad-fma-gfx10.mir
    M llvm/test/CodeGen/AMDGPU/shrink-mad-fma.mir

  Log Message:
  -----------
  Revert "[AMDGPU][True16][CodeGen] true16 codegen pattern for fma (#12… (#127175)

Reverting this patch since it raise buildbot failure

This reverts commit 2a7487cc2e0fb8bd91784e2d9636a65baa6d90ed.


  Commit: 36a631d118653664935a7dfb771eacd09d50963c
      https://github.com/llvm/llvm-project/commit/36a631d118653664935a7dfb771eacd09d50963c
  Author: Vipul Cariappa <vipulcariappa at gmail.com>
  Date:   2025-02-14 (Fri, 14 Feb 2025)

  Changed paths:
    M clang/lib/Parse/ParseDecl.cpp
    M clang/unittests/Interpreter/InterpreterTest.cpp

  Log Message:
  -----------
  [clang-repl] fix error recovery while parsing completely fails (#127087)

Fixes the following crash in clang-repl

```c++
clang-repl> try { throw 1; } catch { 0; }
In file included from <<< inputs >>>:1:
input_line_1:1:23: error: expected '('
    1 | try { throw 1; } catch { 0; }
      |                       ^
      |                       (
clang-repl: /home/vipul-cariappa/Documents/Workspace/cpp-py/llvms/llvm-project-a/clang/lib/AST/DeclBase.cpp:1757: void clang::DeclContext::addHiddenDecl(clang::Decl*): Assertion `D->getLexicalDeclContext() == this && "Decl inserted into wrong lexical context"' failed.
 #0 0x000059b28459e6da llvm::sys::PrintStackTrace(llvm::raw_ostream&, int) /home/vipul-cariappa/Documents/Workspace/cpp-py/llvms/llvm-project-a/llvm/lib/Support/Unix/Signals.inc:804:22
 #1 0x000059b28459eaed PrintStackTraceSignalHandler(void*) /home/vipul-cariappa/Documents/Workspace/cpp-py/llvms/llvm-project-a/llvm/lib/Support/Unix/Signals.inc:880:1
 #2 0x000059b28459bf7f llvm::sys::RunSignalHandlers() /home/vipul-cariappa/Documents/Workspace/cpp-py/llvms/llvm-project-a/llvm/lib/Support/Signals.cpp:105:20
 #3 0x000059b28459df8e SignalHandler(int, siginfo_t*, void*) /home/vipul-cariappa/Documents/Workspace/cpp-py/llvms/llvm-project-a/llvm/lib/Support/Unix/Signals.inc:418:13
 #4 0x000077cdf444ea50 (/usr/lib/libc.so.6+0x42a50)
 #5 0x000077cdf44aee3b pthread_kill (/usr/lib/libc.so.6+0xa2e3b)
 #6 0x000077cdf444e928 raise (/usr/lib/libc.so.6+0x42928)
 #7 0x000077cdf443156c abort (/usr/lib/libc.so.6+0x2556c)
 #8 0x000077cdf44314d2 __assert_perror_fail (/usr/lib/libc.so.6+0x254d2)
 #9 0x000077cdf4444c56 (/usr/lib/libc.so.6+0x38c56)
#10 0x000059b28495bfc4 clang::DeclContext::addHiddenDecl(clang::Decl*) /home/vipul-cariappa/Documents/Workspace/cpp-py/llvms/llvm-project-a/clang/lib/AST/DeclBase.cpp:1759:3
#11 0x000059b28495c0f5 clang::DeclContext::addDecl(clang::Decl*) /home/vipul-cariappa/Documents/Workspace/cpp-py/llvms/llvm-project-a/clang/lib/AST/DeclBase.cpp:1785:37
#12 0x000059b28773cc2a clang::Sema::ActOnStartTopLevelStmtDecl(clang::Scope*) /home/vipul-cariappa/Documents/Workspace/cpp-py/llvms/llvm-project-a/clang/lib/Sema/SemaDecl.cpp:20302:18
#13 0x000059b286f1efdf clang::Parser::ParseTopLevelStmtDecl() /home/vipul-cariappa/Documents/Workspace/cpp-py/llvms/llvm-project-a/clang/lib/Parse/ParseDecl.cpp:6024:62
#14 0x000059b286ef18ee clang::Parser::ParseExternalDeclaration(clang::ParsedAttributes&, clang::ParsedAttributes&, clang::ParsingDeclSpec*) /home/vipul-cariappa/Documents/Workspace/cpp-py/llvms/llvm-project-a/clang/lib/Parse/Parser.cpp:1065:35
#15 0x000059b286ef0702 clang::Parser::ParseTopLevelDecl(clang::OpaquePtr<clang::DeclGroupRef>&, clang::Sema::ModuleImportState&) /home/vipul-cariappa/Documents/Workspace/cpp-py/llvms/llvm-project-a/clang/lib/Parse/Parser.cpp:758:36
#16 0x000059b28562dff2 clang::IncrementalParser::ParseOrWrapTopLevelDecl() /home/vipul-cariappa/Documents/Workspace/cpp-py/llvms/llvm-project-a/clang/lib/Interpreter/IncrementalParser.cpp:66:36
#17 0x000059b28562e5b7 clang::IncrementalParser::Parse(llvm::StringRef) /home/vipul-cariappa/Documents/Workspace/cpp-py/llvms/llvm-project-a/clang/lib/Interpreter/IncrementalParser.cpp:132:8
#18 0x000059b28561832b clang::Interpreter::Parse(llvm::StringRef) /home/vipul-cariappa/Documents/Workspace/cpp-py/llvms/llvm-project-a/clang/lib/Interpreter/Interpreter.cpp:570:8
#19 0x000059b285618cbd clang::Interpreter::ParseAndExecute(llvm::StringRef, clang::Value*) /home/vipul-cariappa/Documents/Workspace/cpp-py/llvms/llvm-project-a/clang/lib/Interpreter/Interpreter.cpp:649:8
#20 0x000059b2836f9343 main /home/vipul-cariappa/Documents/Workspace/cpp-py/llvms/llvm-project-a/clang/tools/clang-repl/ClangRepl.cpp:255:59
#21 0x000077cdf443388e (/usr/lib/libc.so.6+0x2788e)
#22 0x000077cdf443394a __libc_start_main (/usr/lib/libc.so.6+0x2794a)
#23 0x000059b2836f7965 _start (./bin/clang-repl+0x73b8965)
fish: Job 1, './bin/clang-repl' terminated by signal SIGABRT (Abort)
```

With this change:
```c++
clang-repl> try { throw 1; } catch { 0; }
In file included from <<< inputs >>>:1:
input_line_1:1:23: error: expected '('
    1 | try { throw 1; } catch { 0; }
      |                       ^
      |                       (
error: Parsing failed.
clang-repl> 1;
clang-repl> %quit
```


  Commit: 42ed69a56c066bdd85afae9c97704d82532b730a
      https://github.com/llvm/llvm-project/commit/42ed69a56c066bdd85afae9c97704d82532b730a
  Author: Pavel Labath <pavel at labath.sk>
  Date:   2025-02-14 (Fri, 14 Feb 2025)

  Changed paths:
    M lldb/unittests/Utility/CMakeLists.txt
    M lldb/unittests/Utility/ProcessInstanceInfoTest.cpp

  Log Message:
  -----------
  [lldb] Remove UtilityTests->Target dep (#127060)

It's completely unnecessary right now, but having it present means that
some real unwanted dependencies could sneak in. (This also makes
building the test binary much faster.)


  Commit: 3762f9f41f0d0a3f435d7ad9c5fcb186880f55bc
      https://github.com/llvm/llvm-project/commit/3762f9f41f0d0a3f435d7ad9c5fcb186880f55bc
  Author: Pavel Labath <pavel at labath.sk>
  Date:   2025-02-14 (Fri, 14 Feb 2025)

  Changed paths:
    M lldb/examples/synthetic/libcxx.py

  Log Message:
  -----------
  [lldb] Avoid expression evaluation in the std::deque formatter (#127071)

It's slower and it can fail in contexts where expression evaluation
doesn't work.


  Commit: 17fec8a6c0c2cbe3316601c657d3f4f4808c4e0d
      https://github.com/llvm/llvm-project/commit/17fec8a6c0c2cbe3316601c657d3f4f4808c4e0d
  Author: Nikita Popov <npopov at redhat.com>
  Date:   2025-02-14 (Fri, 14 Feb 2025)

  Changed paths:
    M llvm/bindings/ocaml/llvm/llvm.ml
    M llvm/bindings/ocaml/llvm/llvm.mli
    M llvm/bindings/ocaml/llvm/llvm_ocaml.c
    M llvm/docs/LangRef.rst
    M llvm/docs/ReleaseNotes.md
    M llvm/include/llvm-c/Core.h
    M llvm/include/llvm/IR/Constants.h
    M llvm/lib/AsmParser/LLParser.cpp
    M llvm/lib/IR/Constants.cpp
    M llvm/lib/IR/Core.cpp
    M llvm/test/Analysis/ValueTracking/known-non-equal.ll
    M llvm/test/Assembler/ConstantExprFold.ll
    M llvm/test/Assembler/flags.ll
    M llvm/test/Bindings/OCaml/core.ml
    M llvm/test/CodeGen/ARM/2008-04-04-ScavengerAssert.ll
    M llvm/test/CodeGen/X86/ptrtoint-constexpr.ll
    M llvm/test/Other/constant-fold-gep-address-spaces.ll
    M llvm/test/Other/constant-fold-gep.ll
    M llvm/test/Transforms/GVN/2009-11-12-MemDepMallocBitCast.ll
    M llvm/test/Transforms/GlobalOpt/2008-12-16-HeapSRACrash-2.ll
    M llvm/test/Transforms/GlobalOpt/2008-12-16-HeapSRACrash.ll
    M llvm/test/Transforms/GlobalOpt/malloc-promote-2-no-null-opt.ll
    M llvm/test/Transforms/GlobalOpt/malloc-promote-2.ll
    M llvm/test/Transforms/GlobalOpt/malloc-promote-3.ll
    M llvm/test/Transforms/Inline/last-callsite.ll
    M llvm/test/Transforms/InstCombine/force-opaque-ptr.ll
    M llvm/test/Transforms/InstCombine/malloc-free.ll
    M llvm/test/Transforms/MemCpyOpt/memmove.ll
    M llvm/test/Transforms/NewGVN/2009-11-12-MemDepMallocBitCast.ll
    M llvm/test/Transforms/SimplifyCFG/ARM/switch-to-lookup-table-constant-expr.ll
    M llvm/unittests/IR/ConstantsTest.cpp

  Log Message:
  -----------
  [IR] Remove mul constant expression (#127046)

Remove support for the mul constant expression, which has previously
already been marked as undesirable. This removes the APIs to create mul
expressions and updates tests to stop using mul expressions.

Part of:
https://discourse.llvm.org/t/rfc-remove-most-constant-expressions/63179


  Commit: 41bf6cb9fcd4a4c79124ca00376dfa1e5770fc41
      https://github.com/llvm/llvm-project/commit/41bf6cb9fcd4a4c79124ca00376dfa1e5770fc41
  Author: Mel Chen <mel.chen at sifive.com>
  Date:   2025-02-14 (Fri, 14 Feb 2025)

  Changed paths:
    M llvm/test/Transforms/LoopVectorize/RISCV/vectorize-force-tail-with-evl-fixed-order-recurrence.ll

  Log Message:
  -----------
  [LV][EVL] Enhance fixed-order recurrence tests for tail folding with EVL. NFC (#126507)

Test that we do not vectorize the loop using folding by EVL, when a
fixed-order recurrence has external users.

TODO: Support external users by extractelement the EVL-th lane.


  Commit: a58a9858448ebfdad650ecbdaea0b79048dac0fe
      https://github.com/llvm/llvm-project/commit/a58a9858448ebfdad650ecbdaea0b79048dac0fe
  Author: Csanád Hajdú <csanad.hajdu at arm.com>
  Date:   2025-02-14 (Fri, 14 Feb 2025)

  Changed paths:
    M llvm/include/llvm/BinaryFormat/ELF.h
    M llvm/lib/CodeGen/TargetLoweringObjectFileImpl.cpp
    M llvm/lib/MC/MCParser/ELFAsmParser.cpp
    M llvm/lib/MC/MCSectionELF.cpp
    M llvm/lib/ObjectYAML/ELFYAML.cpp
    M llvm/lib/Target/AArch64/AArch64Features.td
    M llvm/lib/Target/AArch64/AArch64TargetObjectFile.cpp
    M llvm/lib/Target/AArch64/AArch64TargetObjectFile.h
    M llvm/lib/Target/AArch64/AArch64TargetTransformInfo.cpp
    M llvm/lib/Target/AArch64/AArch64TargetTransformInfo.h
    M llvm/lib/Target/AArch64/MCTargetDesc/AArch64ELFStreamer.cpp
    A llvm/test/CodeGen/AArch64/execute-only-section.ll
    A llvm/test/MC/ELF/AArch64/execute-only-populated-text-section.s
    A llvm/test/MC/ELF/AArch64/execute-only-section.s
    A llvm/test/MC/ELF/AArch64/execute-only-text-section-data.s
    M llvm/test/MC/ELF/section-flags-unknown.s
    M llvm/test/Transforms/Inline/AArch64/inline-target-attr.ll
    M llvm/test/tools/llvm-objcopy/ELF/rename-section-flag-osproc-mask.test
    M llvm/test/tools/llvm-readobj/ELF/gnu-sections.test
    M llvm/test/tools/llvm-readobj/ELF/section-arch-flags.test
    M llvm/tools/llvm-readobj/ELFDumper.cpp

  Log Message:
  -----------
  [AArch64] Add support for SHF_AARCH64_PURECODE ELF section flag (1/3) (#125687)

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

The general implementation follows the existing one for ARM targets.
Generating object files with the `SHF_AARCH64_PURECODE` flag set is
enabled by the `+execute-only` target feature.

Related PRs:
* Clang: https://github.com/llvm/llvm-project/pull/125688
* LLD: https://github.com/llvm/llvm-project/pull/125689


  Commit: 1247c0c48e08fbf2507317294a7e6fa27aaf9041
      https://github.com/llvm/llvm-project/commit/1247c0c48e08fbf2507317294a7e6fa27aaf9041
  Author: Nikolas Klauser <nikolasklauser at berlin.de>
  Date:   2025-02-14 (Fri, 14 Feb 2025)

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

  Log Message:
  -----------
  [libc++][NFC] Simplify unique_ptr a bit (#121230)


  Commit: 266d9bc1c1863f0843ab8603d9af079135f7ebf8
      https://github.com/llvm/llvm-project/commit/266d9bc1c1863f0843ab8603d9af079135f7ebf8
  Author: Kazu Hirata <kazu at google.com>
  Date:   2025-02-14 (Fri, 14 Feb 2025)

  Changed paths:
    M clang-tools-extra/clang-reorder-fields/ReorderFieldsAction.cpp

  Log Message:
  -----------
  [clang-reorder-fields] Avoid repeated hash lookups (NFC) (#127165)


  Commit: 469ba6a7ae3886577be2f20d000197bf8b1dcfa1
      https://github.com/llvm/llvm-project/commit/469ba6a7ae3886577be2f20d000197bf8b1dcfa1
  Author: Kazu Hirata <kazu at google.com>
  Date:   2025-02-14 (Fri, 14 Feb 2025)

  Changed paths:
    M clang-tools-extra/clang-tidy/readability/NonConstParameterCheck.cpp

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


  Commit: 6ef9ac9908c671b0bcff89e5c3b313414b37a58b
      https://github.com/llvm/llvm-project/commit/6ef9ac9908c671b0bcff89e5c3b313414b37a58b
  Author: Kazu Hirata <kazu at google.com>
  Date:   2025-02-14 (Fri, 14 Feb 2025)

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

  Log Message:
  -----------
  [ARM] Avoid repeated map lookups (NFC) (#127168)


  Commit: 28a0fa094b95d39a5bef59a0714363ca7a295c96
      https://github.com/llvm/llvm-project/commit/28a0fa094b95d39a5bef59a0714363ca7a295c96
  Author: Kazu Hirata <kazu at google.com>
  Date:   2025-02-14 (Fri, 14 Feb 2025)

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

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


  Commit: e182908043ebdfdb61d83d68bb3b4ec2a0f34cad
      https://github.com/llvm/llvm-project/commit/e182908043ebdfdb61d83d68bb3b4ec2a0f34cad
  Author: Pengcheng Wang <wangpengcheng.pp at bytedance.com>
  Date:   2025-02-14 (Fri, 14 Feb 2025)

  Changed paths:
    M clang/docs/ReleaseNotes.rst
    M clang/test/Misc/target-invalid-cpu-note/riscv.c
    M llvm/lib/Target/RISCV/RISCV.td
    M llvm/lib/Target/RISCV/RISCVProcessors.td
    A llvm/lib/Target/RISCV/RISCVSchedGenericOOO.td
    A llvm/test/tools/llvm-mca/RISCV/GenericOOO/atomic.s
    A llvm/test/tools/llvm-mca/RISCV/GenericOOO/floating-point.s
    A llvm/test/tools/llvm-mca/RISCV/GenericOOO/integer.s

  Log Message:
  -----------
  [RISCV] Add a generic OOO CPU (#120712)

We add a generic out-of-order CPU model here just like what GCC
has done.
    
People may use this model to evaluate some optimizations, and more
importantly, people can use this model as a template to customize
their own CPU models.
    
The design (units, cycles, ...) of this model is random so don't
take it seriously.


  Commit: 7c85b1660e4772d62dc2d381a3e92fb9b72a68e0
      https://github.com/llvm/llvm-project/commit/7c85b1660e4772d62dc2d381a3e92fb9b72a68e0
  Author: deadalnix <deadalnix at gmail.com>
  Date:   2025-02-14 (Fri, 14 Feb 2025)

  Changed paths:
    M llvm/lib/Target/X86/X86ISelLowering.cpp
    M llvm/test/CodeGen/X86/memcmp-more-load-pairs-x32.ll
    M llvm/test/CodeGen/X86/memcmp-more-load-pairs.ll
    M llvm/test/CodeGen/X86/memcmp-optsize-x32.ll
    M llvm/test/CodeGen/X86/memcmp-optsize.ll
    M llvm/test/CodeGen/X86/memcmp-pgso-x32.ll
    M llvm/test/CodeGen/X86/memcmp-pgso.ll
    M llvm/test/CodeGen/X86/memcmp-x32.ll
    M llvm/test/CodeGen/X86/memcmp.ll
    M llvm/test/CodeGen/X86/midpoint-int.ll
    M llvm/test/CodeGen/X86/select.ll

  Log Message:
  -----------
  [X86] Match SETCC_CARRY in addition of SUB when trying to reconstruct LEA (#126551)

As per title.

This is not a huge deal at the moment, but becomes one when matching
node in topological order in the DAGCombiner, and is generally more
stable than the existing.


  Commit: 0c2ac9181bccf56946b84857c66115bea1fd81fd
      https://github.com/llvm/llvm-project/commit/0c2ac9181bccf56946b84857c66115bea1fd81fd
  Author: Julian Brown <julian.brown at amd.com>
  Date:   2025-02-14 (Fri, 14 Feb 2025)

  Changed paths:
    M openmp/runtime/src/kmp_taskdeps.cpp
    M openmp/runtime/src/kmp_taskdeps.h

  Log Message:
  -----------
  [OpenMP] Fix crash with task stealing and task dependencies (#126049)

This patch series demonstrates and fixes a bug that causes crashes with
OpenMP 'taskwait' directives in heavily multi-threaded scenarios.

TLDR: The early return from __kmpc_omp_taskwait_deps_51 missed the
synchronization mechanism in place for the late return.

Additional debug assertions check for the implied invariants of the code.

@jpeyton52 found the timing hole as this sequence of events:
>
> 1. THREAD 1: A regular task with dependences is created, call it T1
> 2. THREAD 1: Call into `__kmpc_omp_taskwait_deps_51()` and create a stack
based depnode (`NULL` task), call it T2 (stack)
> 3. THREAD 2: Steals task T1 and executes it getting to
`__kmp_release_deps()` region.
> 4. THREAD 1: During processing of dependences for T2 (stack) (within
`__kmp_check_deps()` region),  a link is created T1 -> T2. This increases
T2's (stack) `nrefs` count.
> 5. THREAD 2: Iterates through the successors list: decrement the T2's
(stack) npredecessor count. BUT HASN'T YET `__kmp_node_deref()`-ed it.
> 6. THREAD 1: Now when finished with `__kmp_check_deps()`, it returns false
because npredecessor count is 0, but T2's (stack) `nrefs`  count is 2 because
THREAD 2 still references it!
> 7. THREAD 1: Because `__kmp_check_deps()` returns false, early exit.
>    _Now the stack based depnode is invalid, but THREAD 2 still references it._
>
> We've reached improper stack referencing behavior. Varied results/crashes/
asserts can occur if THREAD 1 comes back and recreates the exact same depnode
in the exact same stack address during the same time THREAD 2 calls
`__kmp_node_deref()`.


  Commit: 8dc5a0598dc478babde601c4974cfd1ce1b9f0cf
      https://github.com/llvm/llvm-project/commit/8dc5a0598dc478babde601c4974cfd1ce1b9f0cf
  Author: Guillaume Chatelet <gchatelet at google.com>
  Date:   2025-02-14 (Fri, 14 Feb 2025)

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

  Log Message:
  -----------
  Revert "[reland][libc][bazel] Enable software prefetching for memcpy" (#127189)

Reverts llvm/llvm-project#113886

We suspect this has caused internal performance regressions, reverting
while root causing it more thoroughly.


  Commit: 14dc39258ad64e25d25f7ef82dc6771995162912
      https://github.com/llvm/llvm-project/commit/14dc39258ad64e25d25f7ef82dc6771995162912
  Author: Simon Pilgrim <llvm-dev at redking.me.uk>
  Date:   2025-02-14 (Fri, 14 Feb 2025)

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

  Log Message:
  -----------
  [Debugify] applyDebugify - remove unnecessary defaults arg values and assert dereferencable values (#127186)

The applyDebugify helpers were providing default arguments despite all callers providing them, so strip them for clarity.

The Function variant was asserting that DebugInfoBeforePass was non-null before dereferencing so I've added an equivalent assert to the Method variant as well.

Fixes #97626


  Commit: c959d2741c36928cc30b33e97e9dc067a92ec38e
      https://github.com/llvm/llvm-project/commit/c959d2741c36928cc30b33e97e9dc067a92ec38e
  Author: Michael Buch <michaelbuch12 at gmail.com>
  Date:   2025-02-14 (Fri, 14 Feb 2025)

  Changed paths:
    M lldb/test/API/lang/cpp/template-arguments/TestCppTemplateArguments.py

  Log Message:
  -----------
  [lldb][test] TestCppTemplateArguments.py: skip on older compilers

This test needs to be compiled with compilers that support floating point NTTP.


  Commit: 0a4f28bcd8f52031a943bc6579cea417ca55fa58
      https://github.com/llvm/llvm-project/commit/0a4f28bcd8f52031a943bc6579cea417ca55fa58
  Author: Kazu Hirata <kazu at google.com>
  Date:   2025-02-14 (Fri, 14 Feb 2025)

  Changed paths:
    M llvm/lib/Target/NVPTX/NVPTXUtilities.cpp

  Log Message:
  -----------
  [NVPTX] Avoid repeated map lookups (NFC) (#127169)

Note that cacheAnnotationFromMD modifies AC.Cache.


  Commit: 390517787c8aa5596ae7e51b1b401052b72f8a6a
      https://github.com/llvm/llvm-project/commit/390517787c8aa5596ae7e51b1b401052b72f8a6a
  Author: Kazu Hirata <kazu at google.com>
  Date:   2025-02-14 (Fri, 14 Feb 2025)

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

  Log Message:
  -----------
  [PartialInlining] Use DenseSet instead of DenseMap (NFC) (#127170)

This patch changes the type of VisitedMap to DenseSet from DenseMap
because the value side of the map is always "true".

Technically:

  if (VisitedMap[*SI])

inserts "false" as a value, but the value is immediately overridden
with:

  VisitedMap[*SI] = true;

While we are at it, this patch removes the repeated hash lookups
around the "if" statement.


  Commit: aecd4424bea2ff2d9dabfb6f74f95c183891ffa7
      https://github.com/llvm/llvm-project/commit/aecd4424bea2ff2d9dabfb6f74f95c183891ffa7
  Author: Javed Absar <106147771+javedabsar1 at users.noreply.github.com>
  Date:   2025-02-14 (Fri, 14 Feb 2025)

  Changed paths:
    M mlir/include/mlir/Dialect/Linalg/Transforms/Transforms.h

  Log Message:
  -----------
  [nfc][mlir][linalg][tiling] Fix example code. (#127194)


  Commit: cfa8ebb6b46491b6e8e2e8bfffa52b90aa1a1af1
      https://github.com/llvm/llvm-project/commit/cfa8ebb6b46491b6e8e2e8bfffa52b90aa1a1af1
  Author: Alex Voicu <alexandru.voicu at amd.com>
  Date:   2025-02-14 (Fri, 14 Feb 2025)

  Changed paths:
    M clang/include/clang/CodeGen/CGFunctionInfo.h
    M clang/lib/CodeGen/ABIInfo.cpp
    M clang/lib/CodeGen/ABIInfo.h
    M clang/lib/CodeGen/ABIInfoImpl.cpp
    M clang/lib/CodeGen/CGCall.cpp
    M clang/lib/CodeGen/CGExprAgg.cpp
    M clang/lib/CodeGen/ItaniumCXXABI.cpp
    M clang/lib/CodeGen/MicrosoftCXXABI.cpp
    M clang/lib/CodeGen/SwiftCallingConv.cpp
    M clang/lib/CodeGen/Targets/AArch64.cpp
    M clang/lib/CodeGen/Targets/AMDGPU.cpp
    M clang/lib/CodeGen/Targets/ARC.cpp
    M clang/lib/CodeGen/Targets/ARM.cpp
    M clang/lib/CodeGen/Targets/AVR.cpp
    M clang/lib/CodeGen/Targets/BPF.cpp
    M clang/lib/CodeGen/Targets/CSKY.cpp
    M clang/lib/CodeGen/Targets/Hexagon.cpp
    M clang/lib/CodeGen/Targets/Lanai.cpp
    M clang/lib/CodeGen/Targets/LoongArch.cpp
    M clang/lib/CodeGen/Targets/Mips.cpp
    M clang/lib/CodeGen/Targets/NVPTX.cpp
    M clang/lib/CodeGen/Targets/PNaCl.cpp
    M clang/lib/CodeGen/Targets/PPC.cpp
    M clang/lib/CodeGen/Targets/RISCV.cpp
    M clang/lib/CodeGen/Targets/SPIR.cpp
    M clang/lib/CodeGen/Targets/Sparc.cpp
    M clang/lib/CodeGen/Targets/SystemZ.cpp
    M clang/lib/CodeGen/Targets/WebAssembly.cpp
    M clang/lib/CodeGen/Targets/X86.cpp
    M clang/test/CodeGen/partial-reinitialization2.c
    M clang/test/CodeGen/sret.c
    M clang/test/CodeGenCXX/no-elide-constructors.cpp
    M clang/test/CodeGenOpenCL/addr-space-struct-arg.cl
    M clang/test/CodeGenOpenCL/amdgpu-abi-struct-arg-byref.cl
    A clang/test/CodeGenOpenCL/implicit-addrspacecast-function-parameter.cl

  Log Message:
  -----------
  [clang][CodeGen] `sret` args should always point to the `alloca` AS, so use that (#114062)

`sret` arguments are always going to reside in the stack/`alloca`
address space, which makes the current formulation where their AS is
derived from the pointee somewhat quaint. This patch ensures that `sret`
ends up pointing to the `alloca` AS in IR function signatures, and also
guards agains trying to pass a casted `alloca`d pointer to a `sret` arg,
which can happen for most languages, when compiled for targets that have
a non-zero `alloca` AS (e.g. AMDGCN) / map `LangAS::default` to a
non-zero value (SPIR-V). A target could still choose to do something
different here, by e.g. overriding `classifyReturnType` behaviour.

In a broader sense, this patch extends non-aliased indirect args to also
carry an AS, which leads to changing the `getIndirect()` interface. At
the moment we're only using this for (indirect) returns, but it allows
for future handling of indirect args themselves. We default to using the
AllocaAS as that matches what Clang is currently doing, however if, in
the future, a target would opt for e.g. placing indirect returns in some
other storage, with another AS, this will require revisiting.

---------

Co-authored-by: Matt Arsenault <arsenm2 at gmail.com>
Co-authored-by: Matt Arsenault <Matthew.Arsenault at amd.com>


  Commit: 0fab404ee874bc5b0c442d1841c7d2005c3f8729
      https://github.com/llvm/llvm-project/commit/0fab404ee874bc5b0c442d1841c7d2005c3f8729
  Author: Nikita Popov <npopov at redhat.com>
  Date:   2025-02-14 (Fri, 14 Feb 2025)

  Changed paths:
    M clang/test/CodeGen/allow-ubsan-check.c
    M clang/test/CodeGenCXX/RelativeVTablesABI/dynamic-cast.cpp
    M clang/test/CodeGenCXX/RelativeVTablesABI/type-info.cpp
    M clang/test/CodeGenOpenCL/amdgcn-buffer-rsrc-type.cl
    M clang/test/CodeGenOpenCL/as_type.cl
    M llvm/include/llvm/Analysis/CaptureTracking.h
    M llvm/include/llvm/IR/InstrTypes.h
    M llvm/include/llvm/Support/ModRef.h
    M llvm/lib/Analysis/AliasAnalysis.cpp
    M llvm/lib/Analysis/CaptureTracking.cpp
    M llvm/lib/Analysis/InstructionSimplify.cpp
    M llvm/lib/IR/Instructions.cpp
    M llvm/lib/Transforms/IPO/AttributorAttributes.cpp
    M llvm/lib/Transforms/IPO/FunctionAttrs.cpp
    M llvm/lib/Transforms/InstCombine/InstCombineCompares.cpp
    M llvm/lib/Transforms/Scalar/MemCpyOptimizer.cpp
    M llvm/test/Transforms/FunctionAttrs/2009-01-02-LocalStores.ll
    M llvm/test/Transforms/FunctionAttrs/arg_returned.ll
    M llvm/test/Transforms/FunctionAttrs/nocapture.ll
    M llvm/test/Transforms/FunctionAttrs/nonnull.ll
    M llvm/test/Transforms/FunctionAttrs/noundef.ll
    M llvm/test/Transforms/FunctionAttrs/readattrs.ll
    M llvm/test/Transforms/FunctionAttrs/stats.ll
    M llvm/test/Transforms/PhaseOrdering/AArch64/block_scaling_decompr_8bit.ll
    M llvm/test/Transforms/PhaseOrdering/bitcast-store-branch.ll
    M llvm/test/Transforms/PhaseOrdering/dce-after-argument-promotion-loads.ll
    M llvm/test/Transforms/PhaseOrdering/enable-loop-header-duplication-oz.ll
    M llvm/unittests/Analysis/CaptureTrackingTest.cpp

  Log Message:
  -----------
  Reapply [CaptureTracking][FunctionAttrs] Add support for CaptureInfo (#125880)

Relative to the previous attempt, this adjusts isEscapeSource()
to not treat calls with captures(ret: address, provenance) or similar
arguments as escape sources. This addresses the miscompile reported at:
https://github.com/llvm/llvm-project/pull/125880#issuecomment-2656632577

The implementation uses a helper function on CallBase to make this
check a bit more efficient (e.g. by skipping the byval checks) as
checking attributes on all arguments if fairly expensive.

------

This extends CaptureTracking to support inferring non-trivial
CaptureInfos. The focus of this patch is to only support FunctionAttrs,
other users of CaptureTracking will be updated in followups.

The key API changes here are:

* DetermineUseCaptureKind() now returns a UseCaptureInfo where the UseCC
component specifies what is captured at that Use and the ResultCC
component specifies what may be captured via the return value of the
User. Usually only one or the other will be used (corresponding to
previous MAY_CAPTURE or PASSTHROUGH results), but both may be set for
call captures.
* The CaptureTracking::captures() extension point is passed this
UseCaptureInfo as well and then can decide what to do with it by
returning an Action, which is one of: Stop: stop traversal.
ContinueIgnoringReturn: continue traversal but don't follow the
instruction return value. Continue: continue traversal and follow the
instruction return value if it has additional CaptureComponents.

For now, this patch retains the (unsound) special logic for comparison
of null with a dereferenceable pointer. I'd like to switch key code to
take advantage of address/address_is_null before dropping it.

This PR mainly intends to introduce necessary API changes and basic
inference support, there are various possible improvements marked with
TODOs.


  Commit: 57ee2a99b0f059495cf4442de03ab16939bd6b69
      https://github.com/llvm/llvm-project/commit/57ee2a99b0f059495cf4442de03ab16939bd6b69
  Author: Simon Pilgrim <llvm-dev at redking.me.uk>
  Date:   2025-02-14 (Fri, 14 Feb 2025)

  Changed paths:
    A llvm/test/CodeGen/X86/pr8925.ll

  Log Message:
  -----------
  [X86] Add test coverage for #9297

(using bugzilla id for PR)


  Commit: a18a96a391ac264ce0f658ab3d619d62e5cfe558
      https://github.com/llvm/llvm-project/commit/a18a96a391ac264ce0f658ab3d619d62e5cfe558
  Author: Florian Hahn <flo at fhahn.com>
  Date:   2025-02-14 (Fri, 14 Feb 2025)

  Changed paths:
    M clang/docs/LanguageExtensions.rst
    M clang/include/clang/Basic/Builtins.td
    M clang/lib/CodeGen/CGBuiltin.cpp
    A clang/test/CodeGen/builtin-assume-dereferenceable.c
    A clang/test/SemaCXX/builtin-assume-dereferenceable.cpp
    M llvm/include/llvm/IR/IRBuilder.h
    M llvm/lib/IR/IRBuilder.cpp

  Log Message:
  -----------
  [Clang] Add __builtin_assume_dereferenceable to encode deref assumption. (#121789)

This patch adds a new __builtin_assume_dereferenceable to encode
dereferenceability of a pointer using llvm.assume with an operand
bundle.

For now the builtin only accepts constant sizes, I am planning to drop
this restriction in a follow-up change.

This can be used to better optimize cases where a pointer is known to be
dereferenceable, e.g. unconditionally loading from p2 when vectorizing
the loop.

    int *get_ptr();

    void foo(int* src, int x) {
      int *p2 = get_ptr();
      __builtin_assume_aligned(p2, 4);
      __builtin_assume_dereferenceable(p2, 4000);
      for (unsigned I = 0; I != 1000; ++I) {
        int x = src[I];
        if (x == 0)
          x = p2[I];
	 src[I] = x;
      }
    }


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


  Commit: dd76e2943221e729a047c86d157a72353d80e726
      https://github.com/llvm/llvm-project/commit/dd76e2943221e729a047c86d157a72353d80e726
  Author: Igor Wodiany <igor.wodiany at imgtec.com>
  Date:   2025-02-14 (Fri, 14 Feb 2025)

  Changed paths:
    M mlir/include/mlir/Dialect/SPIRV/IR/SPIRVBase.td

  Log Message:
  -----------
  [mlir][spirv] Drop support for the SPV_NV_mesh_shader extension (#127200)

The support is dropped in favour of newer `SPV_EXT_mesh_shader`
extension. The EXT patch already replaced conflicting enum values, and
the NV extensions is now fully removed to reduce a maintenance burden.


  Commit: f3c23de2619832233099f51c1169ae99c2ab4b74
      https://github.com/llvm/llvm-project/commit/f3c23de2619832233099f51c1169ae99c2ab4b74
  Author: Alexey Bataev <a.bataev at outlook.com>
  Date:   2025-02-14 (Fri, 14 Feb 2025)

  Changed paths:
    M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
    M llvm/test/Transforms/SLPVectorizer/AArch64/InstructionsState-is-invalid-0.ll
    M llvm/test/Transforms/SLPVectorizer/AArch64/reduce-fadd.ll
    M llvm/test/Transforms/SLPVectorizer/AMDGPU/reduction.ll
    M llvm/test/Transforms/SLPVectorizer/RISCV/horizontal-list.ll
    M llvm/test/Transforms/SLPVectorizer/RISCV/reductions.ll
    M llvm/test/Transforms/SLPVectorizer/X86/bool-mask.ll
    M llvm/test/Transforms/SLPVectorizer/X86/external-used-across-reductions.ll
    M llvm/test/Transforms/SLPVectorizer/X86/extract-scalar-from-undef.ll
    M llvm/test/Transforms/SLPVectorizer/X86/extractelemets-extended-by-poison.ll
    M llvm/test/Transforms/SLPVectorizer/X86/horizontal-list.ll
    M llvm/test/Transforms/SLPVectorizer/X86/horizontal-minmax.ll
    M llvm/test/Transforms/SLPVectorizer/X86/malformed_phis.ll
    M llvm/test/Transforms/SLPVectorizer/X86/multi-tracked-reduced-value.ll
    M llvm/test/Transforms/SLPVectorizer/X86/phi-node-reshuffled-part.ll
    M llvm/test/Transforms/SLPVectorizer/X86/reduced-val-extracted-and-externally-used.ll
    M llvm/test/Transforms/SLPVectorizer/X86/reduced-value-vectorized-later.ll
    M llvm/test/Transforms/SLPVectorizer/X86/reduction-extracted-value.ll
    M llvm/test/Transforms/SLPVectorizer/X86/revectorized_rdx_crash.ll
    M llvm/test/Transforms/SLPVectorizer/X86/undef_vect.ll
    M llvm/test/Transforms/SLPVectorizer/partial-register-extract.ll
    M llvm/test/Transforms/SLPVectorizer/reduction-modified-values.ll
    M llvm/test/Transforms/SLPVectorizer/scalarization-overhead.ll

  Log Message:
  -----------
  Revert "[SLP]Improved reduction cost/codegen"

This reverts commit 2ad816648f2719e6c0da507a1a371f2cad4a3f1c to fix
bug/miscompiles, reported in
https://github.com/llvm/llvm-project/pull/118293#issuecomment-2658906033
and https://github.com/llvm/llvm-project/pull/118293#issuecomment-2659024785.


  Commit: b0792df3e7d353324c4a0b9d8a33bdb7a0157137
      https://github.com/llvm/llvm-project/commit/b0792df3e7d353324c4a0b9d8a33bdb7a0157137
  Author: Devon Loehr <DKLoehr at users.noreply.github.com>
  Date:   2025-02-14 (Fri, 14 Feb 2025)

  Changed paths:
    M clang/include/clang/Sema/Sema.h
    M clang/lib/Sema/SemaDecl.cpp
    M clang/test/SemaCXX/unique_object_duplication.h

  Log Message:
  -----------
  Enable -Wunique-object-duplication inside templated code (#125902)

Followup to #125526. This allows the unique object duplication warning
to fire on code inside of templates. Previously, it was disabled there
to prevent false positives if the template was never instantiated.

The patch has two parts: first, we move the check from
`FinalizeDeclaration` (which is only called during parsing) to
`CheckCompleteVariableDeclaration` (which is also called during template
instantiation). Since the code we're moving is fairly bulky, we abstract
it into a separate function for convenience.

Second, we disable the warning during template parsing, and add a check
later to see if the variable we're acting on on originated from a
template. If so, it has the potential to be duplicated just like an
inline variable.

## Testing
Unit tests for template have been added to the existing test suite. To
evaluate the patch on real code, I ran it on chromium and on clang
itself. As expected, in both cases we got strictly more warnings than
before. I manually looked through each new warning, and they all seemed
legitimate.

In chromium, we found [79 new warnings across 55
files](https://github.com/user-attachments/files/18676635/new_warnings_chromium.txt),
mostly in third-party code (for a total of 234 warnings across 137
files). In clang, we found [8 new warnings across 6
files](https://github.com/user-attachments/files/18676658/new_warnings_clang.txt),
for a total of 17 warnings across 11 files.


  Commit: c8c0261b14d27879eac454aa74e90ec80a1a90d4
      https://github.com/llvm/llvm-project/commit/c8c0261b14d27879eac454aa74e90ec80a1a90d4
  Author: Sergio Afonso <safonsof at amd.com>
  Date:   2025-02-14 (Fri, 14 Feb 2025)

  Changed paths:
    M flang/lib/Lower/OpenMP/DataSharingProcessor.cpp
    M flang/lib/Lower/OpenMP/DataSharingProcessor.h
    A flang/test/Lower/OpenMP/different_vars_lastprivate_barrier.f90

  Log Message:
  -----------
  [Flang][OpenMP] Per-sym checks to introduce barriers (#127074)

Whenever there is a `lastprivate` variable and another unrelated
variable sets the `mightHaveReadHostSym` flag during Flang lowering
privatization, this will result in the insertion of a barrier.

This patch modifies this behavior such that this barrier will not be
inserted unless the same symbol both sets the flag and has
`lastprivate`.


  Commit: 46ad1c7a5a2715121878b205f84467dfc21d8dfb
      https://github.com/llvm/llvm-project/commit/46ad1c7a5a2715121878b205f84467dfc21d8dfb
  Author: Stefan Gränitz <stefan.graenitz at gmail.com>
  Date:   2025-02-14 (Fri, 14 Feb 2025)

  Changed paths:
    M llvm/tools/llvm-jitlink/CMakeLists.txt

  Log Message:
  -----------
  [llvm-jitlink] Explicit exports for builtin runtime functions in MinGW executables (#107375)

Use explicit exports to fix the symbol resolution part of
https://github.com/llvm/llvm-project/issues/98714 in MinGW


  Commit: 296cd82a8d425206ea3f8d55aa7d57c2e953f5b9
      https://github.com/llvm/llvm-project/commit/296cd82a8d425206ea3f8d55aa7d57c2e953f5b9
  Author: Shynur <one.last.kiss at outlook.com>
  Date:   2025-02-14 (Fri, 14 Feb 2025)

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

  Log Message:
  -----------
  [clang][docs] Fix typo in AttrDocs.td (NFC) (#127183)


  Commit: 74e2e6f9c2cec658c007cf440ebb98ff414c08b5
      https://github.com/llvm/llvm-project/commit/74e2e6f9c2cec658c007cf440ebb98ff414c08b5
  Author: Tomás Longeri <tlongeri at google.com>
  Date:   2025-02-14 (Fri, 14 Feb 2025)

  Changed paths:
    M mlir/include/mlir/Dialect/MemRef/IR/MemRefOps.td
    M mlir/lib/Dialect/MemRef/IR/MemRefOps.cpp
    M mlir/lib/Dialect/MemRef/Transforms/IndependenceTransforms.cpp
    M mlir/lib/Dialect/MemRef/Transforms/MultiBuffer.cpp
    M mlir/lib/Dialect/Tensor/Transforms/BufferizableOpInterfaceImpl.cpp
    M mlir/lib/Dialect/Vector/Transforms/VectorTransferOpTransforms.cpp
    M mlir/lib/Dialect/Vector/Transforms/VectorTransforms.cpp

  Log Message:
  -----------
  [MLIR][NFC] Return MemRefType in memref.subview return type inference functions (#120024)

Avoids the need for cast, and matches the extra build functions, which
take a `MemRefType`


  Commit: ce14901887e200ed13da4d3d33c35b3aeef9c723
      https://github.com/llvm/llvm-project/commit/ce14901887e200ed13da4d3d33c35b3aeef9c723
  Author: Alexey Bataev <a.bataev at outlook.com>
  Date:   2025-02-14 (Fri, 14 Feb 2025)

  Changed paths:
    A llvm/test/Transforms/SLPVectorizer/X86/ctpop-non-power-of-2-reduction.ll

  Log Message:
  -----------
  [SLP]Add a test with non-power-of-2 reduction for ctpop, NFC

>From #127177


  Commit: 80aed02a508200316ff2162027798b87913bd512
      https://github.com/llvm/llvm-project/commit/80aed02a508200316ff2162027798b87913bd512
  Author: Alexey Bataev <a.bataev at outlook.com>
  Date:   2025-02-14 (Fri, 14 Feb 2025)

  Changed paths:
    M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
    M llvm/test/Transforms/SLPVectorizer/AArch64/InstructionsState-is-invalid-0.ll
    M llvm/test/Transforms/SLPVectorizer/AArch64/reduce-fadd.ll
    M llvm/test/Transforms/SLPVectorizer/AMDGPU/reduction.ll
    M llvm/test/Transforms/SLPVectorizer/RISCV/horizontal-list.ll
    M llvm/test/Transforms/SLPVectorizer/RISCV/reductions.ll
    M llvm/test/Transforms/SLPVectorizer/X86/bool-mask.ll
    M llvm/test/Transforms/SLPVectorizer/X86/ctpop-non-power-of-2-reduction.ll
    M llvm/test/Transforms/SLPVectorizer/X86/external-used-across-reductions.ll
    M llvm/test/Transforms/SLPVectorizer/X86/extract-scalar-from-undef.ll
    M llvm/test/Transforms/SLPVectorizer/X86/extractelemets-extended-by-poison.ll
    M llvm/test/Transforms/SLPVectorizer/X86/horizontal-list.ll
    M llvm/test/Transforms/SLPVectorizer/X86/horizontal-minmax.ll
    M llvm/test/Transforms/SLPVectorizer/X86/malformed_phis.ll
    M llvm/test/Transforms/SLPVectorizer/X86/multi-tracked-reduced-value.ll
    M llvm/test/Transforms/SLPVectorizer/X86/phi-node-reshuffled-part.ll
    M llvm/test/Transforms/SLPVectorizer/X86/reduced-val-extracted-and-externally-used.ll
    M llvm/test/Transforms/SLPVectorizer/X86/reduced-value-vectorized-later.ll
    M llvm/test/Transforms/SLPVectorizer/X86/reduction-extracted-value.ll
    M llvm/test/Transforms/SLPVectorizer/X86/revectorized_rdx_crash.ll
    M llvm/test/Transforms/SLPVectorizer/X86/undef_vect.ll
    M llvm/test/Transforms/SLPVectorizer/partial-register-extract.ll
    M llvm/test/Transforms/SLPVectorizer/reduction-modified-values.ll
    M llvm/test/Transforms/SLPVectorizer/scalarization-overhead.ll

  Log Message:
  -----------
  [SLP]Improved reduction cost/codegen

SLP vectorizer is able to combine several reductions from the list of
(potentially) reduced values with the different opcodes/values kind.
Currently, these reductions are handled independently of each other. But
instead the compiler can combine them into wide vector operations and
then perform only single reduction.
E.g, if the SLP vectorizer emits currently something like:
```
%r1 = reduce.add(<4 x i32> %v1)
%r2 = reduce.add(<4 x i32> %v2)
%r = add i32 %r1, %r2
```

it can be emitted as:
```
%v = add <4 x i32> %v1, %v2
%r = reduce.add(<4 x i32> %v)
```

It allows to improve the performance in some cases.

AVX512, -O3+LTO
Metric: size..text

Program                                                                                           size..text
                                                                                                  results     results0    diff
                      test-suite :: SingleSource/Benchmarks/Shootout-C++/Shootout-C++-matrix.test     4553.00     4615.00  1.4%
                                 test-suite :: SingleSource/Benchmarks/Adobe-C++/loop_unroll.test   412708.00   416820.00  1.0%
        test-suite :: SingleSource/UnitTests/Vector/AVX512BWVL/Vector-AVX512BWVL-mask_set_bw.test    12901.00    12981.00  0.6%
                        test-suite :: MultiSource/Benchmarks/FreeBench/fourinarow/fourinarow.test    22717.00    22813.00  0.4%
                             test-suite :: MultiSource/Benchmarks/mediabench/gsm/toast/toast.test    39722.00    39850.00  0.3%
                      test-suite :: MultiSource/Benchmarks/MiBench/telecomm-gsm/telecomm-gsm.test    39725.00    39853.00  0.3%
test-suite :: SingleSource/Regression/C/gcc-c-torture/execute/GCC-C-execute-builtin-bitops-1.test    15918.00    15967.00  0.3%
                                       test-suite :: External/SPEC/CFP2006/433.milc/433.milc.test   155491.00   155587.00  0.1%
                                     test-suite :: MicroBenchmarks/ImageProcessing/Blur/blur.test   227894.00   227942.00  0.0%
                                    test-suite :: MultiSource/Benchmarks/7zip/7zip-benchmark.test  1062188.00  1062364.00  0.0%
                                test-suite :: External/SPEC/CINT2006/464.h264ref/464.h264ref.test   793672.00   793720.00  0.0%
                              test-suite :: External/SPEC/CINT2017rate/525.x264_r/525.x264_r.test   657371.00   657403.00  0.0%
                             test-suite :: External/SPEC/CINT2017speed/625.x264_s/625.x264_s.test   657371.00   657403.00  0.0%
                   test-suite :: External/SPEC/CINT2017speed/600.perlbench_s/600.perlbench_s.test  2074917.00  2074933.00  0.0%
                    test-suite :: External/SPEC/CINT2017rate/500.perlbench_r/500.perlbench_r.test  2074917.00  2074933.00  0.0%
                                     test-suite :: MultiSource/Applications/JM/lencod/lencod.test   855219.00   855203.00 -0.0%

Benchmarks/Shootout-C++ - same transformed reduction
Adobe-C++/loop_unroll - same transformed reductions, new vector code
AVX512BWVL/Vector-AVX512BWVL-mask_set_bw - same transformed reductions
FreeBench/fourinarow - same transformed reductions
MiBench/telecomm-gsm - same transformed reductions
execute/GCC-C-execute-builtin-bitops-1 - same transformed reductions
CFP2006/433.milc - better vector code, several x i64 reductions + trunc
to i32 gets trunced to x i32 reductions
ImageProcessing/Blur - same transformed reductions
Benchmarks/7zip - same transformed reductions, extra 4 x vectorization
CINT2006/464.h264ref - same transformed reductions
CINT2017rate/525.x264_r
CINT2017speed/625.x264_s - same transformed reductions
CINT2017speed/600.perlbench_s
CINT2017rate/500.perlbench_r - transformed same reduction
JM/lencod - extra 4 x vectorization

RISC-V, SiFive-p670, -O3+LTO

Metric: size..text

Program                                                                                           size..text
                                                                                                  results    results0   diff
test-suite :: SingleSource/Regression/C/gcc-c-torture/execute/GCC-C-execute-builtin-bitops-1.test    8990.00    9514.00   5.8%
                                test-suite :: External/SPEC/CINT2006/464.h264ref/464.h264ref.test  588504.00  588488.00  -0.0%
                    test-suite :: MultiSource/Benchmarks/MiBench/consumer-lame/consumer-lame.test  147464.00  147440.00  -0.0%
              test-suite :: MultiSource/Benchmarks/MiBench/automotive-susan/automotive-susan.test   21496.00   21492.00  -0.0%
                                     test-suite :: MicroBenchmarks/ImageProcessing/Blur/blur.test  165420.00  165372.00  -0.0%
                                    test-suite :: MultiSource/Benchmarks/7zip/7zip-benchmark.test  843928.00  843648.00  -0.0%
                                    test-suite :: External/SPEC/CINT2006/458.sjeng/458.sjeng.test  100712.00  100672.00  -0.0%
                      test-suite :: MultiSource/Benchmarks/MiBench/telecomm-gsm/telecomm-gsm.test   24384.00   24336.00  -0.2%
                             test-suite :: MultiSource/Benchmarks/mediabench/gsm/toast/toast.test   24380.00   24332.00  -0.2%
             test-suite :: SingleSource/UnitTests/Vectorizer/VPlanNativePath/outer-loop-vect.test   10348.00   10316.00  -0.3%
                                 test-suite :: SingleSource/Benchmarks/Adobe-C++/loop_unroll.test  221304.00  220480.00  -0.4%
                      test-suite :: SingleSource/Benchmarks/Shootout-C++/Shootout-C++-matrix.test    3750.00    3736.00  -0.4%
                            test-suite :: SingleSource/Regression/C/Regression-C-DuffsDevice.test     678.00     370.00 -45.4%

execute/GCC-C-execute-builtin-bitops-1 - extra 4 x reductions, same
transformed reductions
CINT2006/464.h264ref - extra 4 x reductions, same transformed reductions
MiBench/consumer-lame - 2 4 x i1 merged to 8 x i1 reductions (bitcast + ctpop)
MiBench/automotive-susan - same transformed reductions
ImageProcessing/Blur - same transformed reductions
Benchmarks/7zip - same transformed reductions
CINT2006/458.sjeng - 2 4 x i1 merged to 8 x i1 reductions (bitcast + ctpop)
MiBench/telecomm-gsm - same transformed reductions
Benchmarks/mediabench - same transformed reductions
Vectorizer/VPlanNativePath - same transformed reductions
Adobe-C++/loop_unroll - extra 4 x reductions, same transformed reductions
Benchmarks/Shootout-C++ - extra 4 x reductions, same transformed reductions
Regression/C/Regression-C-DuffsDevice - same transformed reductions

Reviewers: hiraditya, topperc, preames

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


  Commit: 10b0138c76fba54bae6f0df2e678ea48af95ea32
      https://github.com/llvm/llvm-project/commit/10b0138c76fba54bae6f0df2e678ea48af95ea32
  Author: Mikhail R. Gadelha <mikhail at igalia.com>
  Date:   2025-02-14 (Fri, 14 Feb 2025)

  Changed paths:
    M llvm/include/llvm/CodeGen/BasicTTIImpl.h
    M llvm/lib/Target/RISCV/RISCVTargetTransformInfo.cpp

  Log Message:
  -----------
  [RISCV] Generalize cost model for vp_fneg. NFC. (#126915)

Move the cost model for vp_fneg from the riscv-specific implementation to the generic TTI layer.
This ensures consistent handling of vp_fneg across targets


  Commit: 2d678689729ec0f650d49de20272bb7d0387ce13
      https://github.com/llvm/llvm-project/commit/2d678689729ec0f650d49de20272bb7d0387ce13
  Author: Hristo Hristov <hghristov.rmm at gmail.com>
  Date:   2025-02-14 (Fri, 14 Feb 2025)

  Changed paths:
    M libcxx/include/__config

  Log Message:
  -----------
  [libc++][NFC] Add reminder to remove _LIBCPP_HAS_EXPLICIT_THIS_PARAMETER macro (#127070)

`__cpp_explicit_this_parameter` has been set in LLVM20
https://github.com/llvm/llvm-project/pull/107451 /
https://github.com/llvm/llvm-project/commit/72e58e00c27c7f4dd9502c719ddd13dcfef33e85

---------

Co-authored-by: Hristo Hristov <zingam at outlook.com>


  Commit: f1433f260f25ac1d0484d489f875dd19878f88ae
      https://github.com/llvm/llvm-project/commit/f1433f260f25ac1d0484d489f875dd19878f88ae
  Author: Mikhail Goncharov <goncharov.mikhail at gmail.com>
  Date:   2025-02-14 (Fri, 14 Feb 2025)

  Changed paths:
    M llvm/lib/Target/NVPTX/NVPTXAsmPrinter.cpp
    M llvm/lib/Target/NVPTX/NVPTXAsmPrinter.h
    M llvm/lib/Target/NVPTX/NVPTXRegisterInfo.cpp
    M llvm/lib/Target/NVPTX/NVPTXRegisterInfo.h

  Log Message:
  -----------
  Revert "Reland "[NVPTX] Cleanup/Refactoring in NVPTX AsmPrinter and RegisterInfo (NFC)" (#127089)"

This reverts commit ecdfa36ecaea7615b244f4cac26a4a023d30a9c1.

That introduced a breaking change in printer.

E.g. llvm/test/CodeGen/NVPTX/surf-read.ll started to output `.param .samplerref foo_param_0,` instead of `.param .surfref foo_param_0,`.

Looks like we don't have ptxas llvm build bot to catch this sort of NFC.


  Commit: f51dafc6201ebb39ebf277f5339d9cc6f6d94d58
      https://github.com/llvm/llvm-project/commit/f51dafc6201ebb39ebf277f5339d9cc6f6d94d58
  Author: Simon Pilgrim <llvm-dev at redking.me.uk>
  Date:   2025-02-14 (Fri, 14 Feb 2025)

  Changed paths:
    M llvm/test/Transforms/InstCombine/X86/x86-vector-shifts.ll

  Log Message:
  -----------
  [InstCombine][X86] Add SSE shift test coverage for #125228

Pulled out of #125935 to show diff


  Commit: 27f843eea99d58e62714893e288fd4794ba438df
      https://github.com/llvm/llvm-project/commit/27f843eea99d58e62714893e288fd4794ba438df
  Author: Haojian Wu <hokein.wu at gmail.com>
  Date:   2025-02-14 (Fri, 14 Feb 2025)

  Changed paths:
    M clang/lib/Parse/ParseExpr.cpp
    M clang/test/Parser/recovery.cpp

  Log Message:
  -----------
  Diagnose the code with trailing comma in the function call. (#125232)

This patch fixes a regression caused by
https://github.com/llvm/llvm-project/pull/114684 where clang accepts
trailing commas for function calls.

Fixes #125225


  Commit: c6e8f5e2c70656e42abaf793b27406ddb3ce8d03
      https://github.com/llvm/llvm-project/commit/c6e8f5e2c70656e42abaf793b27406ddb3ce8d03
  Author: Tom Stellard <tstellar at redhat.com>
  Date:   2025-02-14 (Fri, 14 Feb 2025)

  Changed paths:
    M .github/workflows/release-binaries.yml

  Log Message:
  -----------
  workflows/release-binaries: Fix macos-14 build (#127157)

This was broken when pgo was enabled by
0572580dd040a81dc69b798e202550d51d17204a.


  Commit: a16b6ff05c17176f961055e3891753a5f110f040
      https://github.com/llvm/llvm-project/commit/a16b6ff05c17176f961055e3891753a5f110f040
  Author: Javed Absar <106147771+javedabsar1 at users.noreply.github.com>
  Date:   2025-02-14 (Fri, 14 Feb 2025)

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

  Log Message:
  -----------
  [nfc][mlir][linalg] Make example easier to read. (#127213)


  Commit: 4d594710fd5bfc0e751130fadd1255c8826edd9e
      https://github.com/llvm/llvm-project/commit/4d594710fd5bfc0e751130fadd1255c8826edd9e
  Author: Joseph Huber <huberjn at outlook.com>
  Date:   2025-02-14 (Fri, 14 Feb 2025)

  Changed paths:
    M clang/lib/Driver/ToolChains/Clang.cpp
    M clang/test/Driver/linker-wrapper.c
    M clang/test/Driver/openmp-offload.c
    M clang/tools/clang-linker-wrapper/ClangLinkerWrapper.cpp
    M clang/tools/clang-linker-wrapper/LinkerWrapperOpts.td
    M offload/test/offloading/bug51781.c

  Log Message:
  -----------
  Reapply "[LinkerWrapper] Clean up options after proper forwarding" (#126495)

Summary:
The test failed because it no longer passed Rpass by default without
LTO. I think that's desirable as it matches the standard behavior.
This reverts commit 6fd99de31864a5ef84ae8613b3a9034e05293461.


  Commit: 2ee2097563b94969ad72e5a38072375bd10790f8
      https://github.com/llvm/llvm-project/commit/2ee2097563b94969ad72e5a38072375bd10790f8
  Author: Oleksandr T. <oleksandr.tarasiuk at outlook.com>
  Date:   2025-02-14 (Fri, 14 Feb 2025)

  Changed paths:
    M clang/docs/ReleaseNotes.rst
    M clang/include/clang/Basic/DiagnosticSemaKinds.td
    M clang/lib/Sema/SemaType.cpp
    A clang/test/Sema/pre-c2x-restrict-qualifier.c
    A clang/test/Sema/restrict-qualifier.c
    M clang/test/Sema/types.c

  Log Message:
  -----------
  [Clang] allow restrict qualifier for array types with pointer types as element types (#120896)

Fixes #92847

---

> Types other than pointer types whose referenced type is an object type
and (possibly multi-dimensional) array types with such pointer types as
element type shall not be restrict-qualified.


  Commit: b940b5e54aa385084bb94d78208e28c37cc39b5b
      https://github.com/llvm/llvm-project/commit/b940b5e54aa385084bb94d78208e28c37cc39b5b
  Author: Alexander Peskov <apeskov at nvidia.com>
  Date:   2025-02-14 (Fri, 14 Feb 2025)

  Changed paths:
    M llvm/lib/Target/NVPTX/NVPTXISelLowering.cpp
    M llvm/test/CodeGen/NVPTX/vaargs.ll

  Log Message:
  -----------
  [NVPTX] Fix vaarg store alignment (#127067)

There is an issue with different alignment applied to store and load of
vaargs in NVPTX backend.
Current `CodeGen/NVPTX/vaargs.ll` demonstrates this discrepancy. Store
occurs with offsets `0,4,12,20`, but load with `0,8,16,24`.

This patch attempts to unify the alignment approach for callee and
caller.


  Commit: 6e9d06aaa22813c938b17a436c39029246c84b55
      https://github.com/llvm/llvm-project/commit/6e9d06aaa22813c938b17a436c39029246c84b55
  Author: Finn Plummer <50529406+inbelic at users.noreply.github.com>
  Date:   2025-02-14 (Fri, 14 Feb 2025)

  Changed paths:
    A clang/include/clang/Lex/HLSLRootSignatureTokenKinds.def
    A clang/include/clang/Lex/LexHLSLRootSignature.h
    M clang/lib/Lex/CMakeLists.txt
    A clang/lib/Lex/LexHLSLRootSignature.cpp
    M clang/unittests/Lex/CMakeLists.txt
    A clang/unittests/Lex/LexHLSLRootSignatureTest.cpp

  Log Message:
  -----------
  [HLSL][RootSignature] Implement Lexing of DescriptorTables (#122981)

For the sake of scope, we will let the lexing of floating literals be
deferred until needed for Static Samplers. Other than that this pr
should allow us to simply define new enumerations/keywords in
`RootSignatureTokenKinds.def` for when they are used in the parser. We
could have defined all of these keywords here, but for the sake of
correctness in review we will let them be split up.

- Define `RootSignatureLexer` and provide a public `LexToken` method for
external use
- Define the file `RootSignatureTokenKinds` to define required tokens
and allow for future custom keywords/enums
- Implement the internal methods required to parse the different types
of tokens (integers, flag enums, puncuators...)
- Add test harness for unit testing and the respective unit tests for
lexing the tokens

Resolves #126563

---------

Co-authored-by: Chris B <beanz at abolishcrlf.org>


  Commit: 923611071b6d1020b2a6bae1606e941a8230250d
      https://github.com/llvm/llvm-project/commit/923611071b6d1020b2a6bae1606e941a8230250d
  Author: Sarah Spall <sarahspall at microsoft.com>
  Date:   2025-02-14 (Fri, 14 Feb 2025)

  Changed paths:
    M clang/include/clang/AST/OperationKinds.def
    M clang/include/clang/Sema/SemaHLSL.h
    M clang/lib/AST/Expr.cpp
    M clang/lib/AST/ExprConstant.cpp
    M clang/lib/CodeGen/CGExpr.cpp
    M clang/lib/CodeGen/CGExprAgg.cpp
    M clang/lib/CodeGen/CGExprComplex.cpp
    M clang/lib/CodeGen/CGExprConstant.cpp
    M clang/lib/CodeGen/CGExprScalar.cpp
    M clang/lib/Edit/RewriteObjCFoundationAPI.cpp
    M clang/lib/Sema/Sema.cpp
    M clang/lib/Sema/SemaCast.cpp
    M clang/lib/Sema/SemaHLSL.cpp
    M clang/lib/StaticAnalyzer/Core/ExprEngineC.cpp
    A clang/test/CodeGenHLSL/BasicFeatures/AggregateSplatCast.hlsl
    A clang/test/SemaHLSL/Language/AggregateSplatCast-errors.hlsl
    A clang/test/SemaHLSL/Language/AggregateSplatCasts.hlsl
    M clang/test/SemaHLSL/Language/ElementwiseCast-errors.hlsl

  Log Message:
  -----------
  [HLSL] Implement HLSL Aggregate splatting (#118992)

Implement HLSL Aggregate Splat casting that handles splatting for arrays
and structs, and vectors if splatting from a vec1.
Closes #100609 and Closes #100619 
Depends on #118842


  Commit: 0cb362962a614ebe784b2f3382500ee2c9f0f955
      https://github.com/llvm/llvm-project/commit/0cb362962a614ebe784b2f3382500ee2c9f0f955
  Author: Mark de Wever <koraq at xs4all.nl>
  Date:   2025-02-14 (Fri, 14 Feb 2025)

  Changed paths:
    M libcxx/include/version
    M libcxx/test/std/language.support/support.limits/support.limits.general/format.version.compile.pass.cpp
    M libcxx/test/std/language.support/support.limits/support.limits.general/ostream.version.compile.pass.cpp
    M libcxx/test/std/language.support/support.limits/support.limits.general/print.version.compile.pass.cpp
    M libcxx/test/std/language.support/support.limits/support.limits.general/version.version.compile.pass.cpp
    M libcxx/utils/generate_feature_test_macro_components.py

  Log Message:
  -----------
  [libc++][format] Disables the FTM on older MacOS versions. (#126547)

On older MacOS versions where `std::to_chars` for floating-point types
is not available the format library can't be used. Due to some issue
with the availability macro used to disable format on MacOS the issue
triggers regardless of the type being formatted.

The print library has the same issue.

Fixes: #125353


  Commit: 83c2edef99289b17cdc75b48d52cc9c7269734d4
      https://github.com/llvm/llvm-project/commit/83c2edef99289b17cdc75b48d52cc9c7269734d4
  Author: Sam Elliott <quic_aelliott at quicinc.com>
  Date:   2025-02-14 (Fri, 14 Feb 2025)

  Changed paths:
    M llvm/include/llvm/MC/MCParser/MCTargetAsmParser.h
    M llvm/lib/Target/AArch64/AsmParser/AArch64AsmParser.cpp

  Log Message:
  -----------
  [AsmParser][NFCI] Restructure DiagnosticPredicate (#126653)

This restructures the DiagnosticPredicate type to more closely match how
neatly ParseStatus is defined. The DiagnosticPredicateTy enum is moved
inside the class, and the boolean conversions are made explicit.

The main user of this code is AArch64, which I have also updated to use
the new structure of the code.


  Commit: aba5557d73c6d3d1183c6b890b1466d0c278b862
      https://github.com/llvm/llvm-project/commit/aba5557d73c6d3d1183c6b890b1466d0c278b862
  Author: schittir <sindhu.chittireddy at intel.com>
  Date:   2025-02-14 (Fri, 14 Feb 2025)

  Changed paths:
    M clang/lib/Format/UnwrappedLineFormatter.cpp

  Log Message:
  -----------
  Revert "[NFC] Avoid potential null dereference." (#127228)

Reverts llvm/llvm-project#126872
The commit, though harmless, is unnecessary.


  Commit: 99446a9ddf54fcca68dbce00248d280841ff4a9d
      https://github.com/llvm/llvm-project/commit/99446a9ddf54fcca68dbce00248d280841ff4a9d
  Author: Mark de Wever <koraq at xs4all.nl>
  Date:   2025-02-14 (Fri, 14 Feb 2025)

  Changed paths:
    M libcxx/include/__format/formatter.h

  Log Message:
  -----------
  [NFC][libc++][format] Fixes comment typos.


  Commit: 064b8b07e4fcc3fb42ac9af83f6a35c99fadbe8d
      https://github.com/llvm/llvm-project/commit/064b8b07e4fcc3fb42ac9af83f6a35c99fadbe8d
  Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
  Date:   2025-02-14 (Fri, 14 Feb 2025)

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

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


  Commit: 5b911669670a8f75a5fa25a57df1eff6b1907da9
      https://github.com/llvm/llvm-project/commit/5b911669670a8f75a5fa25a57df1eff6b1907da9
  Author: Valentin Clement (バレンタイン クレメン) <clementval at gmail.com>
  Date:   2025-02-14 (Fri, 14 Feb 2025)

  Changed paths:
    M flang/module/__cuda_device.f90
    M flang/module/cudadevice.f90

  Log Message:
  -----------
  [flang][cuda] Set cudadevice interfaces as public by default (#127229)

Remove the PRIVATE statement from cudadevice as it hides any interfaces
from the used __cuda_device module.


  Commit: 5745701807a4cf5096e7fe45f438fe6b68ecd064
      https://github.com/llvm/llvm-project/commit/5745701807a4cf5096e7fe45f438fe6b68ecd064
  Author: Alexey Bataev <a.bataev at outlook.com>
  Date:   2025-02-14 (Fri, 14 Feb 2025)

  Changed paths:
    M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
    M llvm/test/Transforms/SLPVectorizer/AArch64/InstructionsState-is-invalid-0.ll
    M llvm/test/Transforms/SLPVectorizer/AArch64/reduce-fadd.ll
    M llvm/test/Transforms/SLPVectorizer/AMDGPU/reduction.ll
    M llvm/test/Transforms/SLPVectorizer/RISCV/horizontal-list.ll
    M llvm/test/Transforms/SLPVectorizer/RISCV/reductions.ll
    M llvm/test/Transforms/SLPVectorizer/X86/bool-mask.ll
    M llvm/test/Transforms/SLPVectorizer/X86/ctpop-non-power-of-2-reduction.ll
    M llvm/test/Transforms/SLPVectorizer/X86/external-used-across-reductions.ll
    M llvm/test/Transforms/SLPVectorizer/X86/extract-scalar-from-undef.ll
    M llvm/test/Transforms/SLPVectorizer/X86/extractelemets-extended-by-poison.ll
    M llvm/test/Transforms/SLPVectorizer/X86/horizontal-list.ll
    M llvm/test/Transforms/SLPVectorizer/X86/horizontal-minmax.ll
    M llvm/test/Transforms/SLPVectorizer/X86/malformed_phis.ll
    M llvm/test/Transforms/SLPVectorizer/X86/multi-tracked-reduced-value.ll
    M llvm/test/Transforms/SLPVectorizer/X86/phi-node-reshuffled-part.ll
    M llvm/test/Transforms/SLPVectorizer/X86/reduced-val-extracted-and-externally-used.ll
    M llvm/test/Transforms/SLPVectorizer/X86/reduced-value-vectorized-later.ll
    M llvm/test/Transforms/SLPVectorizer/X86/reduction-extracted-value.ll
    M llvm/test/Transforms/SLPVectorizer/X86/revectorized_rdx_crash.ll
    M llvm/test/Transforms/SLPVectorizer/X86/undef_vect.ll
    M llvm/test/Transforms/SLPVectorizer/partial-register-extract.ll
    M llvm/test/Transforms/SLPVectorizer/reduction-modified-values.ll
    M llvm/test/Transforms/SLPVectorizer/scalarization-overhead.ll

  Log Message:
  -----------
  Revert "[SLP]Improved reduction cost/codegen"

This reverts commit 7ec60bf0166519317b5ae2505dd6ed4660e3ea39 to fix
a bug reported in https://github.com/llvm/llvm-project/issues/127220.


  Commit: 71cc52f4618a76a641be0028f756fedca0d40553
      https://github.com/llvm/llvm-project/commit/71cc52f4618a76a641be0028f756fedca0d40553
  Author: Mikhail Goncharov <goncharov.mikhail at gmail.com>
  Date:   2025-02-14 (Fri, 14 Feb 2025)

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

  Log Message:
  -----------
  [bazel] port b41b86a907f653f79bab10d4c80b3a41d146c71b


  Commit: d27b2b0ee2c733c77e44b636d92ede8cf2a1d1cf
      https://github.com/llvm/llvm-project/commit/d27b2b0ee2c733c77e44b636d92ede8cf2a1d1cf
  Author: Georgiy Samoylov <g.samoylov at syntacore.com>
  Date:   2025-02-14 (Fri, 14 Feb 2025)

  Changed paths:
    M lldb/packages/Python/lldbsuite/test/tools/lldb-server/gdbremote_testcase.py

  Log Message:
  -----------
  [lldb] Fix broken pipe error (#127100)

During LLDB testing on slow machines with the remote-linux platform all
tests from llgs category fail with python exception `BrokenPipeError`.
The main reason of these failures is slow start of lldb-server in
gdbserver mode. Due to this desired gdbserver socket does not have time
to open by the time the Python script tries to establish a connection.

List of failed tests:

```
TestAppleSimulatorOSType.py
TestGdbRemoteAttach.py
TestGdbRemoteAuxvSupport.py
TestGdbRemoteCompletion.py
TestGdbRemoteExitCode.py
TestGdbRemoteExpeditedRegisters.py
TestGdbRemoteHostInfo.py
TestGdbRemoteKill.py
TestGdbRemoteLaunch.py
TestGdbRemoteModuleInfo.py
TestGdbRemotePlatformFile.py
TestGdbRemoteProcessInfo.py
TestGdbRemoteRegisterState.py
TestGdbRemoteSaveCore.py
TestGdbRemoteSingleStep.py
TestGdbRemoteThreadsInStopReply.py
TestGdbRemote_qThreadStopInfo.py
TestGdbRemote_vCont.py
TestLldbGdbServer.py
TestNonStop.py
TestPtyServer.py
TestGdbRemoteAttachWait.py
TestGdbRemoteConnection.py
TestStubSetSID.py
TestGdbRemoteAbort.py
TestGdbRemoteSegFault.py
TestGdbRemoteLibrariesSvr4Support.py
TestGdbRemoteMemoryAllocation.py
TestGdbRemoteMemoryTagging.py
TestGdbRemoteGPacket.py
TestGdbRemoteTargetXmlPacket.py
TestGdbRemote_QPassSignals.py
TestGdbRemoteThreadName.py
TestPartialResume.py
TestSignal.py
```

This patch implements an additional check for the opened socket on
lldb-server side and fixes this error.


  Commit: 970aac7f5fcc863a09dd8f283a44339eec13fefa
      https://github.com/llvm/llvm-project/commit/970aac7f5fcc863a09dd8f283a44339eec13fefa
  Author: Jens Reidel <adrian at travitia.xyz>
  Date:   2025-02-14 (Fri, 14 Feb 2025)

  Changed paths:
    M compiler-rt/lib/sanitizer_common/sanitizer_platform_limits_posix.h

  Log Message:
  -----------
  [compiler-rt][Mips] Align definition of __sanitizer_sigaction with musl (#124494)

The definition of __sanitizer_sigaction for MIPS matches the one in
glibc [1]. musl however uses a single definition of sigaction for all
architectures [2] that is more similar to the other architectures
supported by glibc. Fix the conditional logic so that
__sanitizer_sigaction matches the musl definition on MIPS.

[1]:
https://sourceware.org/git/?p=glibc.git;a=blob;f=sysdeps/unix/sysv/linux/mips/bits/sigaction.h;h=f7e3ad88abbf3c497aaed44247bc1085efebe462;hb=dc650eb715df0a272ce43dfb55a209d5b018cc04
[2]: https://git.musl-libc.org/cgit/musl/tree/include/signal.h#n169

---------

Signed-off-by: Jens Reidel <adrian at travitia.xyz>


  Commit: 97b7ec63e95f87f9efd2bb0c275b00ea7f0f137d
      https://github.com/llvm/llvm-project/commit/97b7ec63e95f87f9efd2bb0c275b00ea7f0f137d
  Author: Finn Plummer <50529406+inbelic at users.noreply.github.com>
  Date:   2025-02-14 (Fri, 14 Feb 2025)

  Changed paths:
    M llvm/lib/Target/DirectX/DXILShaderFlags.cpp
    A llvm/test/CodeGen/DirectX/ShaderFlags/wave-ops.ll

  Log Message:
  -----------
  [DirectX][ShaderFlags] Add analysis for `WaveOps` flag (#118140)

- Check each call instruction for a `WaveOp` intrinsic and set the
`WaveOps` flag if this is true for any intrinsic, Done in
DXILShaderFlags.cpp

Resolves #114565


  Commit: 8cc86e6719ba242b7312f245030b2f115acb7f0a
      https://github.com/llvm/llvm-project/commit/8cc86e6719ba242b7312f245030b2f115acb7f0a
  Author: Florian Hahn <flo at fhahn.com>
  Date:   2025-02-14 (Fri, 14 Feb 2025)

  Changed paths:
    A llvm/test/Analysis/LoopAccessAnalysis/retry-runtime-checks-after-dependence-analysis-forked-pointers.ll

  Log Message:
  -----------
  [LAA] Add forked pointers tests with dep checks and runtime checks (NFC)

Add missing test coverage where generating runtime checks is tried again
after dependence analysis.


  Commit: 70d74bf171ce548de9c9314c1b6237b7ad43fb09
      https://github.com/llvm/llvm-project/commit/70d74bf171ce548de9c9314c1b6237b7ad43fb09
  Author: Roland McGrath <mcgrathr at google.com>
  Date:   2025-02-14 (Fri, 14 Feb 2025)

  Changed paths:
    M libc/utils/hdrgen/header.py
    A libc/utils/hdrgen/tests/expected_output/subdir/test.h
    M libc/utils/hdrgen/tests/expected_output/test_header.h
    A libc/utils/hdrgen/tests/input/subdir/test.h.def
    A libc/utils/hdrgen/tests/input/subdir/test.yaml
    M libc/utils/hdrgen/tests/test_integration.py
    M libc/utils/hdrgen/type.py

  Log Message:
  -----------
  [libc] Make hdrgen emit correct relative paths for llvm-libc-types (#127150)

This makes hdrgen emit `#include "..."` lines using the correct
relative path (number of `../` steps, if any) for the containing
header, and includes this in the sorted block of `#include` lines
also used for the macro headers.


  Commit: 3cb6751539e69ecfcdd36ef017a1b8459e87a455
      https://github.com/llvm/llvm-project/commit/3cb6751539e69ecfcdd36ef017a1b8459e87a455
  Author: Alexey Bataev <a.bataev at outlook.com>
  Date:   2025-02-14 (Fri, 14 Feb 2025)

  Changed paths:
    M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
    M llvm/test/Transforms/SLPVectorizer/AArch64/InstructionsState-is-invalid-0.ll
    M llvm/test/Transforms/SLPVectorizer/AArch64/reduce-fadd.ll
    M llvm/test/Transforms/SLPVectorizer/AMDGPU/reduction.ll
    M llvm/test/Transforms/SLPVectorizer/RISCV/horizontal-list.ll
    M llvm/test/Transforms/SLPVectorizer/RISCV/reductions.ll
    M llvm/test/Transforms/SLPVectorizer/X86/bool-mask.ll
    M llvm/test/Transforms/SLPVectorizer/X86/ctpop-non-power-of-2-reduction.ll
    M llvm/test/Transforms/SLPVectorizer/X86/external-used-across-reductions.ll
    M llvm/test/Transforms/SLPVectorizer/X86/extract-scalar-from-undef.ll
    M llvm/test/Transforms/SLPVectorizer/X86/extractelemets-extended-by-poison.ll
    M llvm/test/Transforms/SLPVectorizer/X86/horizontal-list.ll
    M llvm/test/Transforms/SLPVectorizer/X86/horizontal-minmax.ll
    M llvm/test/Transforms/SLPVectorizer/X86/malformed_phis.ll
    M llvm/test/Transforms/SLPVectorizer/X86/multi-tracked-reduced-value.ll
    M llvm/test/Transforms/SLPVectorizer/X86/phi-node-reshuffled-part.ll
    M llvm/test/Transforms/SLPVectorizer/X86/reduced-val-extracted-and-externally-used.ll
    M llvm/test/Transforms/SLPVectorizer/X86/reduced-value-vectorized-later.ll
    M llvm/test/Transforms/SLPVectorizer/X86/reduction-extracted-value.ll
    M llvm/test/Transforms/SLPVectorizer/X86/revectorized_rdx_crash.ll
    M llvm/test/Transforms/SLPVectorizer/X86/undef_vect.ll
    M llvm/test/Transforms/SLPVectorizer/partial-register-extract.ll
    M llvm/test/Transforms/SLPVectorizer/reduction-modified-values.ll
    M llvm/test/Transforms/SLPVectorizer/scalarization-overhead.ll

  Log Message:
  -----------
  [SLP]Improved reduction cost/codegen

SLP vectorizer is able to combine several reductions from the list of
(potentially) reduced values with the different opcodes/values kind.
Currently, these reductions are handled independently of each other. But
instead the compiler can combine them into wide vector operations and
then perform only single reduction.
E.g, if the SLP vectorizer emits currently something like:
```
%r1 = reduce.add(<4 x i32> %v1)
%r2 = reduce.add(<4 x i32> %v2)
%r = add i32 %r1, %r2
```

it can be emitted as:
```
%v = add <4 x i32> %v1, %v2
%r = reduce.add(<4 x i32> %v)
```

It allows to improve the performance in some cases.

AVX512, -O3+LTO
Metric: size..text

Program                                                                                           size..text
                                                                                                  results     results0    diff
                      test-suite :: SingleSource/Benchmarks/Shootout-C++/Shootout-C++-matrix.test     4553.00     4615.00  1.4%
                                 test-suite :: SingleSource/Benchmarks/Adobe-C++/loop_unroll.test   412708.00   416820.00  1.0%
        test-suite :: SingleSource/UnitTests/Vector/AVX512BWVL/Vector-AVX512BWVL-mask_set_bw.test    12901.00    12981.00  0.6%
                        test-suite :: MultiSource/Benchmarks/FreeBench/fourinarow/fourinarow.test    22717.00    22813.00  0.4%
                             test-suite :: MultiSource/Benchmarks/mediabench/gsm/toast/toast.test    39722.00    39850.00  0.3%
                      test-suite :: MultiSource/Benchmarks/MiBench/telecomm-gsm/telecomm-gsm.test    39725.00    39853.00  0.3%
test-suite :: SingleSource/Regression/C/gcc-c-torture/execute/GCC-C-execute-builtin-bitops-1.test    15918.00    15967.00  0.3%
                                       test-suite :: External/SPEC/CFP2006/433.milc/433.milc.test   155491.00   155587.00  0.1%
                                     test-suite :: MicroBenchmarks/ImageProcessing/Blur/blur.test   227894.00   227942.00  0.0%
                                    test-suite :: MultiSource/Benchmarks/7zip/7zip-benchmark.test  1062188.00  1062364.00  0.0%
                                test-suite :: External/SPEC/CINT2006/464.h264ref/464.h264ref.test   793672.00   793720.00  0.0%
                              test-suite :: External/SPEC/CINT2017rate/525.x264_r/525.x264_r.test   657371.00   657403.00  0.0%
                             test-suite :: External/SPEC/CINT2017speed/625.x264_s/625.x264_s.test   657371.00   657403.00  0.0%
                   test-suite :: External/SPEC/CINT2017speed/600.perlbench_s/600.perlbench_s.test  2074917.00  2074933.00  0.0%
                    test-suite :: External/SPEC/CINT2017rate/500.perlbench_r/500.perlbench_r.test  2074917.00  2074933.00  0.0%
                                     test-suite :: MultiSource/Applications/JM/lencod/lencod.test   855219.00   855203.00 -0.0%

Benchmarks/Shootout-C++ - same transformed reduction
Adobe-C++/loop_unroll - same transformed reductions, new vector code
AVX512BWVL/Vector-AVX512BWVL-mask_set_bw - same transformed reductions
FreeBench/fourinarow - same transformed reductions
MiBench/telecomm-gsm - same transformed reductions
execute/GCC-C-execute-builtin-bitops-1 - same transformed reductions
CFP2006/433.milc - better vector code, several x i64 reductions + trunc
to i32 gets trunced to x i32 reductions
ImageProcessing/Blur - same transformed reductions
Benchmarks/7zip - same transformed reductions, extra 4 x vectorization
CINT2006/464.h264ref - same transformed reductions
CINT2017rate/525.x264_r
CINT2017speed/625.x264_s - same transformed reductions
CINT2017speed/600.perlbench_s
CINT2017rate/500.perlbench_r - transformed same reduction
JM/lencod - extra 4 x vectorization

RISC-V, SiFive-p670, -O3+LTO

Metric: size..text

Program                                                                                           size..text
                                                                                                  results    results0   diff
test-suite :: SingleSource/Regression/C/gcc-c-torture/execute/GCC-C-execute-builtin-bitops-1.test    8990.00    9514.00   5.8%
                                test-suite :: External/SPEC/CINT2006/464.h264ref/464.h264ref.test  588504.00  588488.00  -0.0%
                    test-suite :: MultiSource/Benchmarks/MiBench/consumer-lame/consumer-lame.test  147464.00  147440.00  -0.0%
              test-suite :: MultiSource/Benchmarks/MiBench/automotive-susan/automotive-susan.test   21496.00   21492.00  -0.0%
                                     test-suite :: MicroBenchmarks/ImageProcessing/Blur/blur.test  165420.00  165372.00  -0.0%
                                    test-suite :: MultiSource/Benchmarks/7zip/7zip-benchmark.test  843928.00  843648.00  -0.0%
                                    test-suite :: External/SPEC/CINT2006/458.sjeng/458.sjeng.test  100712.00  100672.00  -0.0%
                      test-suite :: MultiSource/Benchmarks/MiBench/telecomm-gsm/telecomm-gsm.test   24384.00   24336.00  -0.2%
                             test-suite :: MultiSource/Benchmarks/mediabench/gsm/toast/toast.test   24380.00   24332.00  -0.2%
             test-suite :: SingleSource/UnitTests/Vectorizer/VPlanNativePath/outer-loop-vect.test   10348.00   10316.00  -0.3%
                                 test-suite :: SingleSource/Benchmarks/Adobe-C++/loop_unroll.test  221304.00  220480.00  -0.4%
                      test-suite :: SingleSource/Benchmarks/Shootout-C++/Shootout-C++-matrix.test    3750.00    3736.00  -0.4%
                            test-suite :: SingleSource/Regression/C/Regression-C-DuffsDevice.test     678.00     370.00 -45.4%

execute/GCC-C-execute-builtin-bitops-1 - extra 4 x reductions, same
transformed reductions
CINT2006/464.h264ref - extra 4 x reductions, same transformed reductions
MiBench/consumer-lame - 2 4 x i1 merged to 8 x i1 reductions (bitcast + ctpop)
MiBench/automotive-susan - same transformed reductions
ImageProcessing/Blur - same transformed reductions
Benchmarks/7zip - same transformed reductions
CINT2006/458.sjeng - 2 4 x i1 merged to 8 x i1 reductions (bitcast + ctpop)
MiBench/telecomm-gsm - same transformed reductions
Benchmarks/mediabench - same transformed reductions
Vectorizer/VPlanNativePath - same transformed reductions
Adobe-C++/loop_unroll - extra 4 x reductions, same transformed reductions
Benchmarks/Shootout-C++ - extra 4 x reductions, same transformed reductions
Regression/C/Regression-C-DuffsDevice - same transformed reductions

Reviewers: hiraditya, topperc, preames

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


  Commit: 6ce1450072d3352dc136a591a4e7f2cbfe3dc535
      https://github.com/llvm/llvm-project/commit/6ce1450072d3352dc136a591a4e7f2cbfe3dc535
  Author: Florian Hahn <flo at fhahn.com>
  Date:   2025-02-14 (Fri, 14 Feb 2025)

  Changed paths:
    M llvm/lib/Analysis/LoopAccessAnalysis.cpp
    M llvm/test/Analysis/LoopAccessAnalysis/retry-runtime-checks-after-dependence-analysis.ll

  Log Message:
  -----------
  [LAA] Perform checks for no-wrap separately from getPtrStride. (#126971)

Reorganize the code in isNoWrap to perform the no-wrap checks without
relying on getPtrStride directly. getPtrStride now uses isNoWrap.

The new structure allows deriving no-wrap in more cases in LAA, because
there are some cases where getPtrStride bails out early because it
cannot return a constant stride, but we can still prove no-wrap for the
pointer.

An example are AddRecs with non-ConstantInt strides with inbound GEPs,
in the improved test cases.

This enables vectorization with runtime checks in a few more cases.

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


  Commit: 2c50fc34dea7495bcc0b125a721151cdb7a7b9d6
      https://github.com/llvm/llvm-project/commit/2c50fc34dea7495bcc0b125a721151cdb7a7b9d6
  Author: Manupa Karunaratne <manupa.karunaratne at amd.com>
  Date:   2025-02-14 (Fri, 14 Feb 2025)

  Changed paths:
    M mlir/lib/Dialect/Vector/Transforms/LowerVectorMultiReduction.cpp
    M mlir/test/Dialect/Vector/vector-multi-reduction-pass-lowering.mlir

  Log Message:
  -----------
  [MLIR][Vector] Add support for inner-parallel masked multi-reductions (#126722)

This commit adds support to lower inner-parallel flavor of masked vector
multi-reductions.


  Commit: d6b82e8bf4de66278da7660cc194de5823ff05bb
      https://github.com/llvm/llvm-project/commit/d6b82e8bf4de66278da7660cc194de5823ff05bb
  Author: vporpo <vporpodas at google.com>
  Date:   2025-02-14 (Fri, 14 Feb 2025)

  Changed paths:
    M llvm/include/llvm/SandboxIR/Context.h
    M llvm/lib/SandboxIR/Context.cpp
    M llvm/lib/SandboxIR/User.cpp
    M llvm/lib/SandboxIR/Value.cpp
    M llvm/unittests/SandboxIR/SandboxIRTest.cpp

  Log Message:
  -----------
  [SandboxIR] SetUse callback (#126985)

This patch implements a callback mechanism similar to the existing ones,
but for getting notified whenever a Use edge gets updated. This is going
to be used in a follow up patch by the Dependency Graph.


Compare: https://github.com/llvm/llvm-project/compare/aedb446d48e1...d6b82e8bf4de

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