[all-commits] [llvm/llvm-project] f17b9d: [LVI] Handle nonnull attributes at callsite (#125377)

Prabhuk via All-commits all-commits at lists.llvm.org
Tue Feb 11 13:50:33 PST 2025


  Branch: refs/heads/users/Prabhuk/sprmain.callsiteinfocallgraphsection-extend-callsiteinfo-with-typeid
  Home:   https://github.com/llvm/llvm-project
  Commit: f17b9dde7a1a752ea31766aad169ea2f51558edb
      https://github.com/llvm/llvm-project/commit/f17b9dde7a1a752ea31766aad169ea2f51558edb
  Author: Yingwei Zheng <dtcxzyw2333 at gmail.com>
  Date:   2025-02-03 (Mon, 03 Feb 2025)

  Changed paths:
    M llvm/lib/Analysis/LazyValueInfo.cpp
    M llvm/test/Transforms/CorrelatedValuePropagation/non-null.ll

  Log Message:
  -----------
  [LVI] Handle nonnull attributes at callsite (#125377)

This patch is the followup of
https://github.com/llvm/llvm-project/pull/124908.


  Commit: 31db7afacf4dae051fcd0da22e440813663b61f3
      https://github.com/llvm/llvm-project/commit/31db7afacf4dae051fcd0da22e440813663b61f3
  Author: Craig Topper <craig.topper at sifive.com>
  Date:   2025-02-02 (Sun, 02 Feb 2025)

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

  Log Message:
  -----------
  [TableGen] Split DAGISelMatcherOpt FactorNodes into 2 functions. NFC (#125330)

The loop at the top of FactorNodes creates additional variables to deal
with needing to use a pointer to a unique_ptr instead of a reference.
Encapsulate this to its own function for better scoping.

This also allows us to directly skip this loop when we already know we
have a ScopeMatcher.


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

  Changed paths:
    M lld/include/lld/Common/BPSectionOrdererBase.inc

  Log Message:
  -----------
  [lld] BPSectionOrderer: stabilize iteration order with MapVector


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

  Changed paths:
    M lld/ELF/BPSectionOrderer.cpp
    M lld/MachO/BPSectionOrderer.cpp
    M lld/include/lld/Common/BPSectionOrdererBase.inc

  Log Message:
  -----------
  [lld] BPSectionOrderer: stabilize iteration order


  Commit: 711fcae67ac4902283c513c5c91fe171595b3916
      https://github.com/llvm/llvm-project/commit/711fcae67ac4902283c513c5c91fe171595b3916
  Author: Yingwei Zheng <dtcxzyw2333 at gmail.com>
  Date:   2025-02-03 (Mon, 03 Feb 2025)

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

  Log Message:
  -----------
  [ValueTracking] Handle `trunc nuw` in `computeKnownBitsFromICmpCond` (#125414)

This patch extends https://github.com/llvm/llvm-project/pull/82803 to
further infer high bits when `nuw` is set. It will save some and
instructions on induction variables. No real-world benefit is observed
for `trunc nsw`.
Alive2: https://alive2.llvm.org/ce/z/j-YFvt


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

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

  Log Message:
  -----------
  [ReachingDefAnalysis] Fix LLVM_ENABLE_REVERSE_ITERATION bot after #118097


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

  Changed paths:
    A llvm/include/llvm/CodeGen/RegisterCoalescerPass.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/RegAllocBasic.cpp
    M llvm/lib/CodeGen/RegAllocGreedy.cpp
    M llvm/lib/CodeGen/RegisterCoalescer.cpp
    M llvm/lib/CodeGen/RegisterCoalescer.h
    M llvm/lib/Passes/PassBuilder.cpp
    M llvm/test/CodeGen/AArch64/coalescer-drop-subreg-to-reg-imm-ops.mir
    M llvm/test/CodeGen/AMDGPU/blender-coalescer-verifier-error-empty-subrange.mir
    M llvm/test/CodeGen/X86/coalesce-dead-lanes.mir
    M llvm/test/CodeGen/X86/late-remat-update.mir

  Log Message:
  -----------
  [CodeGen][NewPM] Port RegisterCoalescer to NPM (#124698)


  Commit: b693e1cf837a5dca6538c26debd7b25ef8f52db6
      https://github.com/llvm/llvm-project/commit/b693e1cf837a5dca6538c26debd7b25ef8f52db6
  Author: JaydeepChauhan14 <chauhan.jaydeep.ashwinbhai at intel.com>
  Date:   2025-02-03 (Mon, 03 Feb 2025)

  Changed paths:
    M llvm/lib/CodeGen/GlobalISel/LegalizerHelper.cpp
    M llvm/lib/Target/X86/GISel/X86LegalizerInfo.cpp
    M llvm/test/CodeGen/X86/llround-conv.ll
    M llvm/test/CodeGen/X86/lround-conv-i32.ll
    M llvm/test/CodeGen/X86/lround-conv-i64.ll

  Log Message:
  -----------
  [X86][GlobalISel] Enable G_LROUND/G_LLROUND with libcall mapping (#125096)


  Commit: 7fb233f549dee0346332562de050ef2ab3654329
      https://github.com/llvm/llvm-project/commit/7fb233f549dee0346332562de050ef2ab3654329
  Author: Lang Hames <lhames at gmail.com>
  Date:   2025-02-03 (Mon, 03 Feb 2025)

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

  Log Message:
  -----------
  [ORC] Fix file comment formatting. NFC.


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

  Changed paths:
    M llvm/include/llvm/ExecutionEngine/Orc/Shared/MachOObjectFormat.h
    M llvm/lib/ExecutionEngine/Orc/MachOPlatform.cpp
    M llvm/lib/ExecutionEngine/Orc/Shared/MachOObjectFormat.cpp

  Log Message:
  -----------
  [ORC] Drop 'Info' from MachOCompactUnwindInfoSectionName.

Rename MachOCompactUnwindInfoSectionName to MachOCompactUnwindSectionName.

Background:

There are two related sections used for compact-unwind info processing:
__LD,__compact_unwind -- the input table stored in relocatable object formats,
and __TEXT,__unwind_info -- the compressed table produced by the linker and
consumed by libunwind. To keep the distinction clear we'll use *CompactUnwind*
for names that refer to the __LD,__compact_unwind input tables and *UnwindInfo*
for names that refer to the __TEXT,__unwind_info output tables. Dropping 'Info'
from the variable above clarifies which section it refers to.


  Commit: fc897450019bc0585f3592ee3a3d68bad2fdcbbc
      https://github.com/llvm/llvm-project/commit/fc897450019bc0585f3592ee3a3d68bad2fdcbbc
  Author: Shih-Po Hung <shihpo.hung at sifive.com>
  Date:   2025-02-03 (Mon, 03 Feb 2025)

  Changed paths:
    M llvm/lib/Target/RISCV/RISCVTargetTransformInfo.h

  Log Message:
  -----------
  [RISCV][NFC] Clarify getRISCVInstructionCost usage (#121556)

This patch adds a comment to explicitly state that
getRISCVInstructionCost uses vtype associated with widening and
narrowing instructions.
For example, vtype = (SEW):
For vfwcvt.f.f.v, the source is (SEW), the destination is (2 * SEW)
For vfncvt.f.f.w, the source is (2 * SEW), the destination is (SEW).
In these cases, the type passed to `getRISCVInstructionCost` differs
- The source type is used for `vfwcvt.f.f.v`.
- The destination type is used for `vfncvt.f.f.w`.


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

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

  Log Message:
  -----------
  [clang][bytecode][NFC] Only call getSource() when necessary (#125419)


  Commit: 951ba3e9fa713b7e906614eeefa1b4cdd9b1e29c
      https://github.com/llvm/llvm-project/commit/951ba3e9fa713b7e906614eeefa1b4cdd9b1e29c
  Author: Yeaseen <yeaseen.arafat96 at gmail.com>
  Date:   2025-02-03 (Mon, 03 Feb 2025)

  Changed paths:
    M llvm/test/CodeGen/AArch64/aarch64-address-type-promotion-assertion.ll
    M llvm/test/CodeGen/AArch64/arm64-2011-03-09-CPSRSpill.ll
    M llvm/test/CodeGen/AArch64/arm64-2011-03-17-AsmPrinterCrash.ll
    M llvm/test/CodeGen/AArch64/arm64-2011-04-21-CPSRBug.ll
    M llvm/test/CodeGen/AArch64/arm64-2012-01-11-ComparisonDAGCrash.ll
    M llvm/test/CodeGen/AArch64/arm64-2012-07-11-InstrEmitterBug.ll
    M llvm/test/CodeGen/AArch64/arm64-2013-01-23-frem-crash.ll
    M llvm/test/CodeGen/AArch64/arm64-2013-01-23-sext-crash.ll
    M llvm/test/CodeGen/AArch64/arm64-bitfield-extract.ll
    M llvm/test/CodeGen/AArch64/arm64-call-tailcalls.ll
    M llvm/test/CodeGen/AArch64/arm64-collect-loh.ll
    M llvm/test/CodeGen/AArch64/arm64-dead-register-def-bug.ll
    M llvm/test/CodeGen/AArch64/arm64-fast-isel.ll
    M llvm/test/Transforms/AlignmentFromAssumptions/start-unk.ll
    M llvm/test/Transforms/ArgumentPromotion/fp80.ll
    M llvm/test/Transforms/ArgumentPromotion/musttail.ll
    M llvm/test/Transforms/ArgumentPromotion/variadic.ll
    M llvm/test/Transforms/Attributor/nonnull.ll

  Log Message:
  -----------
  [llvm] Remove undef from some `llvm/test/Transforms` tests (#125460)

This PR replaces some instances of `undef` with function argument value
or poison or concrete values in several tests under
`llvm/test/Transforms/` directory.


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

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

  Log Message:
  -----------
  [clang][bytecode] Refactor Program::createGlobalString (#125467)

Remove unnecesary narrow() calls, rename a variable and initialize the
array as a whole instead of each element individually.


  Commit: df2de1369571dafb65affc1063ce9f0d261206c7
      https://github.com/llvm/llvm-project/commit/df2de1369571dafb65affc1063ce9f0d261206c7
  Author: Sam Parker <sam.parker at arm.com>
  Date:   2025-02-03 (Mon, 03 Feb 2025)

  Changed paths:
    M llvm/lib/Target/WebAssembly/WebAssemblyISD.def
    M llvm/lib/Target/WebAssembly/WebAssemblyISelLowering.cpp
    M llvm/lib/Target/WebAssembly/WebAssemblyISelLowering.h
    M llvm/lib/Target/WebAssembly/WebAssemblyInstrSIMD.td
    M llvm/lib/Target/WebAssembly/WebAssemblyTargetTransformInfo.cpp
    M llvm/lib/Target/WebAssembly/WebAssemblyTargetTransformInfo.h
    M llvm/test/CodeGen/WebAssembly/int-mac-reduction-loops.ll

  Log Message:
  -----------
  [WebAssembly] Autovec support for dot (#123207)

Enable the use of partial.reduce.add that we can lower to dot or a tree
of (add (extmul_low_u, extmul_high_u)) for the unsigned case. We support
both v8i16 and v16i8 inputs.


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

  Changed paths:
    M lld/ELF/Config.h
    M lld/ELF/Driver.cpp
    M lld/ELF/Symbols.cpp
    M lld/ELF/SyntheticSections.cpp
    M lld/ELF/Writer.cpp
    M lld/test/ELF/executable-undefined-ignoreall.s
    M lld/test/ELF/ppc32-weak-undef-call.s
    M lld/test/ELF/ppc64-undefined-weak.s
    M lld/test/ELF/riscv-gp.s
    M lld/test/ELF/weak-undef-lib.s
    M lld/test/ELF/weak-undef-no-dynamic-linker.s
    M lld/test/ELF/weak-undef-rw.s

  Log Message:
  -----------
  Revert "[ELF] Refine isExported/isPreemptible condition"

This reverts commit 994cea3f0a2d0caf4d66321ad5a06ab330144d89.

Try to fix the bolt test failures in pre-merge checks.


  Commit: f99e6df1415fa825b8329b381a23cd9c58d6edd4
      https://github.com/llvm/llvm-project/commit/f99e6df1415fa825b8329b381a23cd9c58d6edd4
  Author: Michael Buch <michaelbuch12 at gmail.com>
  Date:   2025-02-03 (Mon, 03 Feb 2025)

  Changed paths:
    M lldb/source/Plugins/SymbolFile/DWARF/DWARFASTParserClang.cpp
    M lldb/source/Plugins/SymbolFile/PDB/PDBASTParser.cpp
    M lldb/source/Plugins/TypeSystem/Clang/TypeSystemClang.cpp
    M lldb/source/Plugins/TypeSystem/Clang/TypeSystemClang.h

  Log Message:
  -----------
  [lldb][TypeSystemClang] Pass around enum value as uint64_t (#125244)

The `DWARFASTParserClang` reads enum values as `int64_t`s regardless of
the enumerators signedness. Then we pass it to
`AddEnumerationValueToEnumerationType` and only then do we create an
`APSInt` from it. However, there are other places where we read/pass
around the enum value as unsigned. This patch makes sure we consistently
use the same integer type for the enum value and let `APSInt` take care
of signedness. This shouldn't have any observable effect.


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

  Changed paths:
    M lldb/docs/resources/test.rst

  Log Message:
  -----------
  [lldb][Docs] Expand remote testing instructions (#122694)

There's a lot of fiddly bits to get right here, so I've added a more
complete example and explained why you might choose one method over
another.

I thought about adding this to the qemu testing page, as that's what we
(Linaro) use this for mostly, but it applies to any remote system
whether hardware or simulator.


  Commit: 9ad4ebd82b604c8baa77af61eee77aad7f018de7
      https://github.com/llvm/llvm-project/commit/9ad4ebd82b604c8baa77af61eee77aad7f018de7
  Author: Tom Eccles <tom.eccles at arm.com>
  Date:   2025-02-03 (Mon, 03 Feb 2025)

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

  Log Message:
  -----------
  [mlir][OpenMP][NFC] break out priv var init into helper (#125303)


  Commit: cc72042a94b80b7b2f8f7c383ad6e157260b817f
      https://github.com/llvm/llvm-project/commit/cc72042a94b80b7b2f8f7c383ad6e157260b817f
  Author: Jack Frankland <jack.frankland at arm.com>
  Date:   2025-02-03 (Mon, 03 Feb 2025)

  Changed paths:
    M mlir/include/mlir/Dialect/Tosa/IR/TosaOpBase.td
    M mlir/include/mlir/Dialect/Tosa/IR/TosaOps.h
    M mlir/include/mlir/Dialect/Tosa/IR/TosaOps.td
    M mlir/include/mlir/Dialect/Tosa/IR/TosaTypesBase.td
    M mlir/include/mlir/Dialect/Tosa/Utils/QuantUtils.h
    M mlir/lib/Conversion/TosaToLinalg/TosaToLinalgNamed.cpp
    M mlir/lib/Dialect/Tosa/IR/TosaOps.cpp
    M mlir/lib/Dialect/Tosa/Transforms/TosaDecomposeConv2D.cpp
    M mlir/lib/Dialect/Tosa/Transforms/TosaDecomposeDepthwise.cpp
    M mlir/lib/Dialect/Tosa/Transforms/TosaDecomposeTransposeConv.cpp
    M mlir/lib/Dialect/Tosa/Transforms/TosaValidation.cpp
    M mlir/lib/Dialect/Tosa/Utils/QuantUtils.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
    M mlir/test/Dialect/Tosa/quant-test.mlir
    M mlir/test/Dialect/Tosa/tosa-decompose-conv2d.mlir
    M mlir/test/Dialect/Tosa/tosa-decompose-depthwise.mlir
    M mlir/test/Dialect/Tosa/tosa-decompose-transpose-conv.mlir

  Log Message:
  -----------
  [mlir][tosa] Make Convolution Zero Points Inputs (#122939)

The TOSA-v1.0 specification moves the "zero point" parameters of the
convolution operators CONV2D, CONV3D, DEPTHWISE_CONV2D, and
TRANSPOSE_CONV2D from attributes to inputs.

Make the zero points of the convolutions in the MLIR TOSA dialect inputs
and update any transformations, materializations and lit tests
appropriately.

Rename the "filter" argument of `tosa.transpose_conv2d` to weight to
align with the TOSA specification.

Remove the quantization_info attribute on the convolution operations.

Co-authored-by: TatWai Chong <tatwai.chong at arm.com>


  Commit: 692c9b210728323ac499a402ee6eb901f35856f2
      https://github.com/llvm/llvm-project/commit/692c9b210728323ac499a402ee6eb901f35856f2
  Author: Benjamin Maxwell <benjamin.maxwell at arm.com>
  Date:   2025-02-03 (Mon, 03 Feb 2025)

  Changed paths:
    M clang/include/clang/AST/DeclBase.h
    M clang/include/clang/Basic/Attr.td
    M clang/lib/AST/DeclBase.cpp
    M clang/test/AST/attr-print-emit.cpp
    A clang/test/CodeGen/AArch64/sme-attributes-member-function-pointer.cpp
    A clang/test/CodeGen/xfail-alloc-align-fn-pointers.cpp

  Log Message:
  -----------
  [clang] Support member function poiners in Decl::getFunctionType() (#125077)

This seems consistent with the documentation, which claims it:

```
/// Looks through the Decl's underlying type to extract a FunctionType
/// when possible. Will return null if the type underlying the Decl does not
/// have a FunctionType.
const FunctionType *getFunctionType(bool BlocksToo = true) const;
```
Note: This patch rewords this doc comment to clarify it includes various
function pointer types.

Without this, attaching attributes (which use `HasFunctionProto`) to
member function pointers errors with:

```
error: '<attr>' only applies to non-K&R-style functions
```

...which does not really make sense, since member functions are not K&C
functions.

With this change the Arm SME TypeAttrs work correctly on member function
pointers.

Note, however, that not all attributes work correctly when applied to
function pointers or member function pointers. For example,
`alloc_align` crashes when applied to a function pointer (on truck):
https://godbolt.org/z/YvMhnhKfx (as it only expects a `FunctionDecl` not
a `ParmVarDecl`). The same crash applies to member function pointers
(for the same reason).


  Commit: b6e50ed20931a8887ca6f7df8842a83a6e9751d2
      https://github.com/llvm/llvm-project/commit/b6e50ed20931a8887ca6f7df8842a83a6e9751d2
  Author: Momchil Velikov <momchil.velikov at arm.com>
  Date:   2025-02-03 (Mon, 03 Feb 2025)

  Changed paths:
    M clang/include/clang/Basic/arm_sme.td
    M clang/include/clang/Basic/arm_sve.td
    M clang/utils/TableGen/SveEmitter.cpp

  Log Message:
  -----------
  [AArch64] Simplify definitions of SVE/SME intrinsics which set FPMR (#123796)

If an intrinsic has an `fpm_t` parameter, automatically set the flag
`SetsFPMR` and append "_fpm" to the name.


  Commit: 6303563b40f9d7896f0d44380f397560143da26b
      https://github.com/llvm/llvm-project/commit/6303563b40f9d7896f0d44380f397560143da26b
  Author: Momchil Velikov <momchil.velikov at arm.com>
  Date:   2025-02-03 (Mon, 03 Feb 2025)

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

  Log Message:
  -----------
  Simplify MS mangling of bultin types (NFC) (#125051)

Saves including 4 files, reduces the number of switch cases, less error
prone when adding new types,
at the "cost" of adding a` default:`.


  Commit: 50d5d06d383616b88a71512d58b0f5bf365d921b
      https://github.com/llvm/llvm-project/commit/50d5d06d383616b88a71512d58b0f5bf365d921b
  Author: David Sherwood <david.sherwood at arm.com>
  Date:   2025-02-03 (Mon, 03 Feb 2025)

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

  Log Message:
  -----------
  [LoopVectorize][NFC] Cache the result of getVScaleForTuning (#124732)

We currently call getVScaleForTuning in many places, doing a
lot of work asking the same question with the same answer.
I've refactored the code to cache the value if the max
scalable VF != 0 and pull out the cached value from
LoopVectorizationCostModel.


  Commit: 3ab1880f8e954a4dcb39bb262587d55537b9d500
      https://github.com/llvm/llvm-project/commit/3ab1880f8e954a4dcb39bb262587d55537b9d500
  Author: Tomer Solomon <tomsol2009 at gmail.com>
  Date:   2025-02-03 (Mon, 03 Feb 2025)

  Changed paths:
    M mlir/include/mlir/Conversion/MathToEmitC/MathToEmitC.h

  Log Message:
  -----------
  [MLIR] Remove unnecessary include from MathToEmitC.h to fix build issue (#125466)

This removes the unnecessary inclusion of mlir/Dialect/EmitC/IR/EmitC.h
from MathToEmitC.h, which caused a build failure due to a missing
EmitCEnums.h.inc. The include was not needed, and removing it resolves
the issue without requiring additional dependencies.


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

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

  Log Message:
  -----------
  [SLP] getSpillCost - fully populate IntrinsicCostAttributes to improve cost analysis. (#124129) (REAPPLIED)

We were only constructing the IntrinsicCostAttributes with the arg type info, and not the args themselves, preventing more detailed cost analysis (constant / uniform args etc.)

Just pass the whole IntrinsicInst to the constructor and let it resolve everything it can.

Noticed while having yet another attempt at #63980

Reapplied cleanup now that #125223 and #124984 have landed.


  Commit: 978310f1de712fc9092142f0985a541a537f21ec
      https://github.com/llvm/llvm-project/commit/978310f1de712fc9092142f0985a541a537f21ec
  Author: Andrzej Warzyński <andrzej.warzynski at arm.com>
  Date:   2025-02-03 (Mon, 03 Feb 2025)

  Changed paths:
    M mlir/lib/Dialect/Vector/Transforms/VectorEmulateNarrowType.cpp

  Log Message:
  -----------
  [mlir][vector][nfc] Fix typos in "VectorEmulateNarrowType.cpp" (#125415)

Updates `emulatedVectorLoad` that was introduced in #115922.
Specifically, ATM `emulatedVectorLoad` mixes "emulated type" and
"container type". This only became clear after #123526 in which the
concepts of "emulated" and "container" types were introduced.

This is an NFC change and simply updates the variable naming.


  Commit: 5c065f01cee5dfca28d703983d0ebefa65128e09
      https://github.com/llvm/llvm-project/commit/5c065f01cee5dfca28d703983d0ebefa65128e09
  Author: Muhammad Omair Javaid <omair.javaid at linaro.org>
  Date:   2025-02-03 (Mon, 03 Feb 2025)

  Changed paths:
    M lldb/source/Plugins/Process/Windows/Common/NativeRegisterContextWindows.h

  Log Message:
  -----------
  [lldb][Windows] Fix build with MSVC compiler broken by (#108072)

This patch fixes LLDB Windows build with MSVC compiler. MSVC deletes
the default constructor due to virtual inheritance rules. Explicitly
define the default constructor in NativeRegisterContextWindows to
ensure constructibility.


  Commit: 8f025f2a93ee7249336115cff31ae12367f1d0d5
      https://github.com/llvm/llvm-project/commit/8f025f2a93ee7249336115cff31ae12367f1d0d5
  Author: Owen Anderson <resistor at mac.com>
  Date:   2025-02-03 (Mon, 03 Feb 2025)

  Changed paths:
    M clang/lib/CodeGen/CodeGenModule.cpp
    M clang/test/CodeGenCXX/template-param-objects.cpp

  Log Message:
  -----------
  [clang] Do not emit template parameter objects as COMDATs when they have internal linkage. (#125448)

Per the ELF spec, section groups may only contain local symbols if those
symbols are only
referenced from within the section group. [1] In the case of template
parameter objects,
they can be referenced from outside the group when the type of the
object was declared
in an anonymous namespace. In that case, we can't place the object in a
COMDAT. This matches
GCC's linkage behavior on the test input.

[1]:
https://www.sco.com/developers/gabi/latest/ch4.sheader.html#section_groups


  Commit: 327d627066e6452b081365b595657d17f2690a3b
      https://github.com/llvm/llvm-project/commit/327d627066e6452b081365b595657d17f2690a3b
  Author: jeanPerier <jperier at nvidia.com>
  Date:   2025-02-03 (Mon, 03 Feb 2025)

  Changed paths:
    M flang/include/flang/Optimizer/Dialect/CUF/CUFOps.td
    M flang/include/flang/Optimizer/Dialect/FIROps.td
    M flang/lib/Lower/ConvertCall.cpp
    M flang/lib/Optimizer/CodeGen/TargetRewrite.cpp
    M flang/lib/Optimizer/Transforms/AbstractResult.cpp
    M flang/lib/Optimizer/Transforms/PolymorphicOpConversion.cpp
    M mlir/docs/Interfaces.md
    M mlir/examples/toy/Ch4/include/toy/Ops.td
    M mlir/examples/toy/Ch5/include/toy/Ops.td
    M mlir/examples/toy/Ch6/include/toy/Ops.td
    M mlir/examples/toy/Ch7/include/toy/Ops.td
    M mlir/examples/toy/Ch7/mlir/Dialect.cpp
    M mlir/examples/toy/Ch7/mlir/MLIRGen.cpp
    M mlir/include/mlir/Dialect/Async/IR/AsyncOps.td
    M mlir/include/mlir/Dialect/EmitC/IR/EmitC.td
    M mlir/include/mlir/Dialect/Func/IR/FuncOps.td
    M mlir/include/mlir/Dialect/LLVMIR/LLVMOps.td
    M mlir/include/mlir/Dialect/SPIRV/IR/SPIRVControlFlowOps.td
    M mlir/include/mlir/Dialect/Transform/IR/TransformOps.td
    M mlir/include/mlir/Interfaces/CallInterfaces.h
    M mlir/include/mlir/Interfaces/CallInterfaces.td
    M mlir/include/mlir/Interfaces/FunctionImplementation.h
    M mlir/lib/Dialect/Async/IR/Async.cpp
    M mlir/lib/Dialect/EmitC/IR/EmitC.cpp
    M mlir/lib/Dialect/Func/IR/FuncOps.cpp
    M mlir/lib/Dialect/GPU/IR/GPUDialect.cpp
    M mlir/lib/Dialect/LLVMIR/IR/LLVMDialect.cpp
    M mlir/lib/Dialect/SPIRV/IR/SPIRVOps.cpp
    M mlir/lib/Dialect/Shape/IR/Shape.cpp
    M mlir/lib/Interfaces/CallInterfaces.cpp
    M mlir/lib/Interfaces/FunctionImplementation.cpp
    M mlir/test/lib/Dialect/Test/TestOps.td

  Log Message:
  -----------
  [mlir] share argument attributes interface between calls and callables (#123176)

This patch shares core interface methods dealing with argument and
result attributes from CallableOpInterface with the CallOpInterface and
makes them mandatory to gives more consistent guarantees about concrete
operations using these interfaces.

This allows adding argument attributes on call like operations, which is
sometimes required to get proper ABI, like with  llvm.call (and llvm.invoke).


The patch adds optional `arg_attrs` and `res_attrs` attributes to operations using
these interfaces that did not have that already.
They can then re-use the common "rich function signature"
printing/parsing helpers if they want (for the LLVM dialect, this is
done in the next patch).

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


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

  Changed paths:
    M llvm/test/Transforms/InstCombine/free-inversion.ll

  Log Message:
  -----------
  [InstCombine] free-inversion.ll - add test coverage for #71390


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

  Changed paths:
    R lld/ELF/BPSectionOrderer.cpp
    R lld/ELF/BPSectionOrderer.h
    M lld/ELF/CMakeLists.txt
    M lld/ELF/Config.h
    M lld/ELF/Driver.cpp
    M lld/ELF/Options.td
    M lld/ELF/Writer.cpp
    M lld/MachO/BPSectionOrderer.cpp
    M lld/include/lld/Common/BPSectionOrdererBase.inc
    R lld/test/ELF/bp-section-orderer-stress.s
    R lld/test/ELF/bp-section-orderer.s

  Log Message:
  -----------
  Revert "[ELF] Add BPSectionOrderer options (#120514)"

The ELF/bp-section-orderer.s test is failing on some buildbots due to
what seems like non-determinism issues, see comments on the original PR
and #125450

Reverting to green the build.

This reverts commit 0154dce8d39d2688b09f4e073fe601099a399365 and
follow-up commits 046dd4b28b9c1a75a96cf63465021ffa9fe1a979 and
c92f20416e6dbbde9790067b80e75ef1ef5d0fa4.


  Commit: 2dc17fd173b4b2266bc76782196c82b7a6046a2a
      https://github.com/llvm/llvm-project/commit/2dc17fd173b4b2266bc76782196c82b7a6046a2a
  Author: jeanPerier <jperier at nvidia.com>
  Date:   2025-02-03 (Mon, 03 Feb 2025)

  Changed paths:
    M flang/include/flang/Optimizer/Builder/HLFIRTools.h
    M flang/lib/Optimizer/Builder/HLFIRTools.cpp
    M flang/lib/Optimizer/HLFIR/Transforms/LowerHLFIRIntrinsics.cpp
    M flang/test/HLFIR/assign-codegen.fir
    M flang/test/HLFIR/maxval-lowering.fir

  Log Message:
  -----------
  [flang] fix isSimplyContiguous and isOptional hlfir::Entity methods (#125215)

Fix isSimplyContiguous:

- It ignored scalars, causing scalar fir.box to not be opened when
possible in `translateToExtendedValue`

Fix isOptional:

It is not reliable when the memory SSA value cannot be linked to a
declare. This is exposed by the `isSimplyContiguous` fix,
This is wrong because declare operation should not always assumed to be
visible (e.g., value may travel through a select, or the optional be
generated by the compiler like genOptionalBox in
lib/Lower/ConvertCall.cpp).

- Turn `isOptional` into a safer `mayBeOptional`
- Update translateToExtendedValue to open scalar fir.box for such values
in a fir.if.
- It turned out some `translateToExtendedValue` usage relied on fir.box
of optional scalars to be left untouched (mainly because they want to
forward those fir.box to the runtime), add an option to allow that.


  Commit: cae0d67cbadaecc3ac0123ae68eededb2f9cd0b1
      https://github.com/llvm/llvm-project/commit/cae0d67cbadaecc3ac0123ae68eededb2f9cd0b1
  Author: David Green <david.green at arm.com>
  Date:   2025-02-03 (Mon, 03 Feb 2025)

  Changed paths:
    M llvm/include/llvm/CodeGen/SelectionDAGNodes.h
    M llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp
    M llvm/lib/CodeGen/SelectionDAG/TargetLowering.cpp
    M llvm/test/CodeGen/AArch64/fsh.ll
    M llvm/test/CodeGen/AArch64/smul_fix.ll
    M llvm/test/CodeGen/AArch64/umul_fix.ll

  Log Message:
  -----------
  [AArch64][SDAG] Detect non-zeroes in truncating buildvectors in fshl lowering (#123597)

A BUILD_VECTOR can implicity shrink the bits of the operands if the
operand types are not legal. For example a v8i16 constant BUILD_VECTOR
might be represented as v8i16 BUILDVECTOR(i32 1, i32 2, ...).
Unfortunately this means that the constants are not accepted by
matchUnaryPredicateImpl, preventing in this case funnel shifts detecting
that all the operands are non-zero. Add a flag to help it match.


  Commit: 5fdf16148766e2909d051fd16d730c6e3733c931
      https://github.com/llvm/llvm-project/commit/5fdf16148766e2909d051fd16d730c6e3733c931
  Author: jeanPerier <jperier at nvidia.com>
  Date:   2025-02-03 (Mon, 03 Feb 2025)

  Changed paths:
    M mlir/lib/Interfaces/CMakeLists.txt

  Log Message:
  -----------
  [mlir] add missing dependency to libMLIRFunctionInterfaces after #123176 (#125475)


  Commit: 76e73ae6af1cecffaf977391e52bb9c410c14ff1
      https://github.com/llvm/llvm-project/commit/76e73ae6af1cecffaf977391e52bb9c410c14ff1
  Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
  Date:   2025-02-03 (Mon, 03 Feb 2025)

  Changed paths:
    M llvm/utils/gn/secondary/lld/ELF/BUILD.gn

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


  Commit: 21a8c920fe1f6e9d2ac7e1b3f56b04fcd8bcc94c
      https://github.com/llvm/llvm-project/commit/21a8c920fe1f6e9d2ac7e1b3f56b04fcd8bcc94c
  Author: Timm Baeder <tbaeder at redhat.com>
  Date:   2025-02-03 (Mon, 03 Feb 2025)

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

  Log Message:
  -----------
  [clang][bytecode] Add special handling for union copy assign operators (#125476)


  Commit: e82f93890daefeb38fe2a22ee3db87a89948ec57
      https://github.com/llvm/llvm-project/commit/e82f93890daefeb38fe2a22ee3db87a89948ec57
  Author: Ryotaro Kasuga <kasuga.ryotaro at fujitsu.com>
  Date:   2025-02-03 (Mon, 03 Feb 2025)

  Changed paths:
    A llvm/test/Transforms/LoopInterchange/legality-for-scalar-deps.ll

  Log Message:
  -----------
  [LoopInterchange] Add tests of 'S' deps (NFC) (#125214)

The incorrect handling of scalar dependencies in LoopInterchange was
fixed by #119345. This patch adds tests that are relative to the issues
fixed by #119345.


  Commit: 82c6b8f7bbebc32751170267bbb7712f028cf587
      https://github.com/llvm/llvm-project/commit/82c6b8f7bbebc32751170267bbb7712f028cf587
  Author: Benjamin Maxwell <benjamin.maxwell at arm.com>
  Date:   2025-02-03 (Mon, 03 Feb 2025)

  Changed paths:
    M llvm/lib/Target/AArch64/AArch64FrameLowering.cpp
    M llvm/lib/Target/AArch64/AArch64InstrInfo.cpp
    M llvm/lib/Target/AArch64/AArch64RegisterInfo.cpp
    M llvm/lib/Target/AArch64/AArch64RegisterInfo.h
    M llvm/lib/Target/AArch64/AArch64RegisterInfo.td
    M llvm/lib/Target/AArch64/AArch64Subtarget.cpp
    M llvm/lib/Target/AArch64/AArch64Subtarget.h
    M llvm/lib/Target/AArch64/SMEInstrFormats.td
    A llvm/test/CodeGen/AArch64/spill-fill-zpr-predicates.mir
    M llvm/test/CodeGen/AArch64/ssve-stack-hazard-remarks.ll
    M llvm/utils/TableGen/SubtargetEmitter.cpp

  Log Message:
  -----------
  [AArch64][SME] Spill p-regs as z-regs when streaming hazards are possible (#123752)

This patch adds a new option `-aarch64-enable-zpr-predicate-spills`
(which is disabled by default), this option replaces predicate spills
with vector spills in streaming[-compatible] functions.

For example:

```
str	p8, [sp, #7, mul vl]            // 2-byte Folded Spill
// ...
ldr	p8, [sp, #7, mul vl]            // 2-byte Folded Reload
```

Becomes:

```
mov	z0.b, p8/z, #1
str	z0, [sp]                        // 16-byte Folded Spill
// ...
ldr	z0, [sp]                        // 16-byte Folded Reload
ptrue	p4.b
cmpne	p8.b, p4/z, z0.b, #0
```

This is done to avoid streaming memory hazards between FPR/vector and
predicate spills, which currently occupy the same stack area even when
the `-aarch64-stack-hazard-size` flag is set.

This is implemented with two new pseudos SPILL_PPR_TO_ZPR_SLOT_PSEUDO
and FILL_PPR_FROM_ZPR_SLOT_PSEUDO. The expansion of these pseudos
handles scavenging the required registers (z0 in the above example) and,
in the worst case spilling a register to an emergency stack slot in the
expansion. The condition flags are also preserved around the `cmpne` in
case they are live at the expansion point.


  Commit: d5684b8402d2175e80a2792db58e9a8e960a8544
      https://github.com/llvm/llvm-project/commit/d5684b8402d2175e80a2792db58e9a8e960a8544
  Author: Devon Loehr <DKLoehr at users.noreply.github.com>
  Date:   2025-02-03 (Mon, 03 Feb 2025)

  Changed paths:
    M clang/docs/ReleaseNotes.rst
    M clang/include/clang/Basic/DiagnosticGroups.td
    M clang/include/clang/Basic/DiagnosticSemaKinds.td
    M clang/include/clang/Sema/Sema.h
    M clang/lib/Sema/SemaDecl.cpp
    A clang/test/SemaCXX/unique_object_duplication.cpp
    A clang/test/SemaCXX/unique_object_duplication.h

  Log Message:
  -----------
  Warn when unique objects might be duplicated in shared libraries (#117622)

When a hidden object is built into multiple shared libraries, each
instance of the library will get its own copy. If
the object was supposed to be globally unique (e.g. a global variable or
static data member), this can cause very subtle bugs.

An object might be incorrectly duplicated if it:
- Is defined in a header (so it might appear in multiple TUs), and
- Has external linkage (otherwise it's supposed to be duplicated), and
- Has hidden visibility (or else the dynamic linker will handle it)

The duplication is only a problem semantically if one of the following
is true:
1. The object is mutable (the copies won't be in sync), or
2. Its initialization has side effects (it may now run more than once),
or
3. The value of its address is used (different copies have different
addresses).

To detect this, we add a new -Wunique-object-duplication warning. It
warns on cases (1) and (2) above. To be conservative, we only warn in
case (2) if we are certain the initializer has side effects, and we
don't warn on `new` because the only side effect is some extra memory
usage.

We don't currently warn on case (3) because doing so is prone to false
positives: there are many reasons for taking the address which aren't
inherently problematic (e.g. passing to a function that expects a
pointer). We only run into problems if the code inspects the value of
the address.

The check is currently disabled for windows, which uses its own analogue
of visibility (declimport/declexport). The check is also disabled inside
templates, since it can give false positives if a template is never
instantiated.

### Resolving the warning
The warning can be fixed in several ways:
- If the object in question doesn't need to be mutable, it should be
made const. Note that the variable must be completely immutable, e.g.
we'll warn on `const int* p` because the pointer itself is mutable. To
silence the warning, it should instead be `const int* const p`.
- If the object must be mutable, it (or the enclosing function, in the
case of static local variables) should be made visible using
`__attribute((visibility("default")))`
- If the object is supposed to be duplicated, it should be be given
internal linkage.

### Testing
I've tested the warning by running it on clang itself, as well as on
chromium. Compiling clang resulted in [10 warnings across 6
files](https://github.com/user-attachments/files/17908069/clang-warnings.txt),
while Chromium resulted in [160 warnings across 85
files](https://github.com/user-attachments/files/17908072/chromium-warnings.txt),
mostly in third-party code. Almost all warnings were due to mutable
variables.

I evaluated the warnings by manual inspection. I believe all the
resulting warnings are true positives, i.e. they represent
potentially-problematic code where duplication might cause a problem.
For the clang warnings, I also validated them by either adding `const`
or visibility annotations as appropriate.

### Limitations
I am aware of four main limitations with the current warning:
1. We do not warn when the address of a duplicated object is taken,
since doing so is prone to false positives. I'm hopeful that we can
create a refined version in the future, however.
2. We only warn for side-effectful initialization if we are certain side
effects exist. Warning on potential side effects produced a huge number
of false positives; I don't expect there's much that can be done about
this in modern C++ code bases, since proving a lack of side effects is
difficult.
3. Windows uses a different system (declexport/import) instead of
visibility. From manual testing, it seems to behave analogously to the
visibility system for the purposes of this warning, but to keep things
simple the warning is disabled on windows for now.
4. We don't warn on code inside templates. This is unfortuate, since it
masks many real issues, e.g. a templated variable which is implicitly
instantiated the same way in multiple TUs should be globally unique, but
may accidentally be duplicated. Unfortunately, we found some potential
false positives during testing that caused us to disable the warning for
now.


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

  Changed paths:
    M flang/lib/Optimizer/HLFIR/Transforms/SimplifyHLFIRIntrinsics.cpp

  Log Message:
  -----------
  [flang] Fixed Windows build.

`llvm::enumerate(llvm::reverse(ValueRange))` added in #124683 does not work
on Windows: https://lab.llvm.org/buildbot/#/builders/124/builds/322


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

  Changed paths:
    M clang/docs/ReleaseNotes.rst
    M clang/include/clang/Basic/DiagnosticGroups.td
    M clang/include/clang/Basic/DiagnosticSemaKinds.td
    M clang/include/clang/Sema/Sema.h
    M clang/lib/Sema/SemaDecl.cpp
    R clang/test/SemaCXX/unique_object_duplication.cpp
    R clang/test/SemaCXX/unique_object_duplication.h

  Log Message:
  -----------
  Revert "Warn when unique objects might be duplicated in shared libraries (#117622)"

There are some buildbot breakages, see the PR. Reverting for now.

This reverts commit d5684b8402d2175e80a2792db58e9a8e960a8544.


  Commit: 0c70a26f46e4efd5a29eb281ff99d2cf7f04c6f6
      https://github.com/llvm/llvm-project/commit/0c70a26f46e4efd5a29eb281ff99d2cf7f04c6f6
  Author: Alexey Bataev <a.bataev at outlook.com>
  Date:   2025-02-03 (Mon, 03 Feb 2025)

  Changed paths:
    M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
    A llvm/test/Transforms/SLPVectorizer/X86/root-node-reordered-reused.ll

  Log Message:
  -----------
  [SLP]Clear root node reordering only if the root node is not re-used in graph

The reordering of the root node can be safely cleared only if the root
node is not reused, otherwise the graph might be broken

Fixes #125357


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

  Changed paths:
    A llvm/test/CodeGen/X86/cmp-xor.ll

  Log Message:
  -----------
  [X86] Add basic xor+cmp test coverage for #6146


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

  Changed paths:
    M mlir/test/lib/Pass/CMakeLists.txt

  Log Message:
  -----------
  [mlir] Fix build race condition in Pass Manager tests

That Linaro has been seeing on our dylib bot:
https://lab.llvm.org/staging/#/builders/171/builds/79

In file included from /home/tcwg-buildbot/worker/flang-aarch64-dylib/llvm-project/mlir/test/lib/Pass/TestPassManager.cpp:10:
/home/tcwg-buildbot/worker/flang-aarch64-dylib/llvm-project/mlir/test/lib/Pass/../Dialect/Test/TestOps.h:148:10: fatal error: 'TestOps.h.inc' file not found
  148 | #include "TestOps.h.inc"
      |          ^~~~~~~~~~~~~~~

Reported in https://github.com/llvm/llvm-project/issues/124335 and
https://github.com/llvm/llvm-project/issues/124485.

I think this was caused by https://github.com/llvm/llvm-project/pull/123910,
and so I've followed what https://github.com/llvm/llvm-project/pull/125004 did,
which seems to be a follow up to that. Same kind of error.

I was not able to reproduce the failure locally, but dylib and
normal builds are ok with this change so I will push it and monitor
the bot's results for a few days.


  Commit: 90e0dd15ff070b5b4b1bb068cdade7f5b5e6ccec
      https://github.com/llvm/llvm-project/commit/90e0dd15ff070b5b4b1bb068cdade7f5b5e6ccec
  Author: Hans Wennborg <hans at chromium.org>
  Date:   2025-02-03 (Mon, 03 Feb 2025)

  Changed paths:
    M clang/docs/ReleaseNotes.rst
    M clang/lib/AST/ParentMap.cpp
    M clang/lib/Analysis/CFG.cpp
    M clang/lib/Analysis/ReachableCode.cpp
    M clang/lib/Sema/SemaExpr.cpp
    M clang/lib/StaticAnalyzer/Core/ExprEngine.cpp
    M clang/test/AST/ast-dump-recovery.cpp
    M clang/test/Analysis/lifetime-extended-regions.cpp
    M clang/test/SemaCXX/cxx2c-placeholder-vars.cpp
    M clang/test/SemaCXX/warn-unreachable.cpp

  Log Message:
  -----------
  Revert "[Analyzer][CFG] Correctly handle rebuilt default arg and default init expression (#117437)"

This caused assertion failures:

  clang/lib/Analysis/CFG.cpp:822:
  void (anonymous namespace)::CFGBuilder::appendStmt(CFGBlock *, const Stmt *):
  Assertion `!isa<Expr>(S) || cast<Expr>(S)->IgnoreParens() == S' failed.

See comment on the PR.

This reverts commit 44aa618ef67d302f5ab77cc591fb3434fe967a2e.


  Commit: cb2598dda1aae5096a77bc8a9f6679ca1b350e5e
      https://github.com/llvm/llvm-project/commit/cb2598dda1aae5096a77bc8a9f6679ca1b350e5e
  Author: Brad Smith <brad at comstyle.com>
  Date:   2025-02-03 (Mon, 03 Feb 2025)

  Changed paths:
    M flang/runtime/CMakeLists.txt

  Log Message:
  -----------
  [flang][runtime] Make sure to link libexecinfo if it exists (#125344)

Fixes building the backtrace support on FreeBSD/NetBSD/OpenBSD/DragonFly and musl
libc with libexecinfo.


  Commit: 99a9133a68b77cb978dd4b0cdbcd67e4edf7bd92
      https://github.com/llvm/llvm-project/commit/99a9133a68b77cb978dd4b0cdbcd67e4edf7bd92
  Author: erichkeane <ekeane at nvidia.com>
  Date:   2025-02-03 (Mon, 03 Feb 2025)

  Changed paths:
    M clang/include/clang-c/Index.h
    M clang/include/clang/AST/RecursiveASTVisitor.h
    M clang/include/clang/AST/StmtOpenACC.h
    M clang/include/clang/AST/TextNodeDumper.h
    M clang/include/clang/Basic/DiagnosticSemaKinds.td
    M clang/include/clang/Basic/OpenACCKinds.h
    M clang/include/clang/Basic/StmtNodes.td
    M clang/include/clang/Parse/Parser.h
    M clang/include/clang/Sema/SemaOpenACC.h
    M clang/include/clang/Serialization/ASTBitCodes.h
    M clang/lib/AST/StmtOpenACC.cpp
    M clang/lib/AST/StmtPrinter.cpp
    M clang/lib/AST/StmtProfile.cpp
    M clang/lib/AST/TextNodeDumper.cpp
    M clang/lib/CodeGen/CGStmt.cpp
    M clang/lib/CodeGen/CodeGenFunction.h
    M clang/lib/Parse/ParseOpenACC.cpp
    M clang/lib/Sema/CMakeLists.txt
    M clang/lib/Sema/SemaExceptionSpec.cpp
    M clang/lib/Sema/SemaOpenACC.cpp
    A clang/lib/Sema/SemaOpenACCAtomic.cpp
    M clang/lib/Sema/SemaOpenACCClause.cpp
    M clang/lib/Sema/TreeTransform.h
    M clang/lib/Serialization/ASTReaderStmt.cpp
    M clang/lib/Serialization/ASTWriterStmt.cpp
    M clang/lib/StaticAnalyzer/Core/ExprEngine.cpp
    A clang/test/AST/ast-print-openacc-atomic-construct.cpp
    M clang/test/ParserOpenACC/parse-constructs.c
    A clang/test/SemaOpenACC/atomic-construct-ast.cpp
    A clang/test/SemaOpenACC/atomic-construct.cpp
    M clang/tools/libclang/CIndex.cpp
    M clang/tools/libclang/CXCursor.cpp

  Log Message:
  -----------
  [OpenACC] Implement Sema/AST for 'atomic' construct

The atomic construct is a particularly complicated one.  The directive
itself is pretty simple, it has 5 options for the 'atomic-clause'.
However, the associated statement is fairly complicated.

'read' accepts:
  v = x;
'write' accepts:
  x = expr;
'update' (or no clause) accepts:
  x++;
  x--;
  ++x;
  --x;
  x binop= expr;
  x = x binop expr;
  x = expr binop x;

'capture' accepts either a compound statement, or:
  v = x++;
  v = x--;
  v = ++x;
  v = --x;
  v = x binop= expr;
  v = x = x binop expr;
  v = x = expr binop x;

IF 'capture' has a compound statement, it accepts:
  {v = x; x binop= expr; }
  {x binop= expr; v = x; }
  {v = x; x = x binop expr; }
  {v = x; x = expr binop x; }
  {x = x binop expr ;v = x; }
  {x = expr binop x; v = x; }
  {v = x; x = expr; }
  {v = x; x++; }
  {v = x; ++x; }
  {x++; v = x; }
  {++x; v = x; }
  {v = x; x--; }
  {v = x; --x; }
  {x--; v = x; }
  {--x; v = x; }

While these are all quite complicated, there is a significant amount
of similarity between the 'capture' and 'update' lists, so this patch
reuses a lot of the same functions.

This patch implements the entirety of 'atomic', creating a new Sema file
for the sema for it, as it is fairly sizable.


  Commit: 557c8bf4ac9bd42c63654203158c32bd56f46dd4
      https://github.com/llvm/llvm-project/commit/557c8bf4ac9bd42c63654203158c32bd56f46dd4
  Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
  Date:   2025-02-03 (Mon, 03 Feb 2025)

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

  Log Message:
  -----------
  [gn build] Port 99a9133a68b7


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

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

  Log Message:
  -----------
  PeepholeOpt: Make copy ID methods static


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

  Changed paths:
    M flang/include/flang/Parser/parse-tree.h
    M flang/include/flang/Semantics/openmp-modifiers.h
    M flang/lib/Parser/parse-tree.cpp
    M flang/lib/Semantics/check-omp-structure.cpp
    M flang/lib/Semantics/check-omp-structure.h
    M flang/lib/Semantics/openmp-modifiers.cpp
    M flang/test/Parser/OpenMP/metadirective.f90
    A flang/test/Semantics/OpenMP/metadirective-common.f90
    A flang/test/Semantics/OpenMP/metadirective-construct.f90
    A flang/test/Semantics/OpenMP/metadirective-device.f90
    A flang/test/Semantics/OpenMP/metadirective-implementation.f90
    A flang/test/Semantics/OpenMP/metadirective-user.f90

  Log Message:
  -----------
  [flang][OpenMP] Semantic checks for context selectors (#123243)

This implements checks of the validity of context set selectors and
trait selectors, plus the types of trait properties. Clause properties
are also validated, but not name or extension properties.

---------

Co-authored-by: Tom Eccles <tom.eccles at arm.com>


  Commit: db43dd7f4fb60641911ffd6364c33e1f83c44b7f
      https://github.com/llvm/llvm-project/commit/db43dd7f4fb60641911ffd6364c33e1f83c44b7f
  Author: Ramkumar Ramachandra <ramkumar.ramachandra at codasip.com>
  Date:   2025-02-03 (Mon, 03 Feb 2025)

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

  Log Message:
  -----------
  LAA: simplify LoopAccessInfoManager::clear (NFC) (#125488)

DenseMap::erase() doesn't invalidate the iterator.


  Commit: 498f108cc859e2dda7720f5bc121952594c97cc3
      https://github.com/llvm/llvm-project/commit/498f108cc859e2dda7720f5bc121952594c97cc3
  Author: Koakuma <koachan at protonmail.com>
  Date:   2025-02-03 (Mon, 03 Feb 2025)

  Changed paths:
    M llvm/lib/Target/Sparc/SparcInstrAliases.td
    M llvm/test/MC/Sparc/sparcv9-synthetic-instructions.s

  Log Message:
  -----------
  [SPARC][IAS] Add `setuw` alias for `set`



Reviewers: s-barannikov, brad0, rorth

Reviewed By: s-barannikov

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


  Commit: 119e9d5a93d1c49e7895771ae5da8999ee0b4a7a
      https://github.com/llvm/llvm-project/commit/119e9d5a93d1c49e7895771ae5da8999ee0b4a7a
  Author: Krzysztof Parzyszek <Krzysztof.Parzyszek at amd.com>
  Date:   2025-02-03 (Mon, 03 Feb 2025)

  Changed paths:
    M flang/lib/Semantics/check-omp-structure.cpp

  Log Message:
  -----------
  [flang][OpenMP] Fix build break after fe8b323f59

Replace structured bindings with references where they are captured in
a lambda.


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

  Changed paths:
    M llvm/test/CodeGen/X86/vector-mul.ll

  Log Message:
  -----------
  [X86] Add test coverage for #47422


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

  Changed paths:
    M llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp
    M llvm/test/CodeGen/AMDGPU/add_i1.ll
    M llvm/test/CodeGen/AMDGPU/mul.ll
    M llvm/test/CodeGen/AMDGPU/sub_i1.ll
    M llvm/test/CodeGen/LoongArch/ir-instruction/add.ll
    M llvm/test/CodeGen/LoongArch/ir-instruction/mul.ll
    M llvm/test/CodeGen/LoongArch/ir-instruction/sub.ll
    M llvm/test/CodeGen/Mips/llvm-ir/add.ll
    M llvm/test/CodeGen/Mips/llvm-ir/mul.ll
    M llvm/test/CodeGen/Mips/llvm-ir/sub.ll
    M llvm/test/CodeGen/NVPTX/boolean-patterns.ll
    M llvm/test/CodeGen/X86/avx512-regcall-NoMask.ll
    M llvm/test/CodeGen/X86/bitcast-vector-bool.ll
    M llvm/test/CodeGen/X86/combine-add.ll
    M llvm/test/CodeGen/X86/fast-isel-select.ll
    M llvm/test/CodeGen/X86/gpr-to-mask.ll
    M llvm/test/CodeGen/X86/setcc-combine.ll
    M llvm/test/CodeGen/X86/sse-regcall.ll
    M llvm/test/CodeGen/X86/sse-regcall4.ll
    M llvm/test/CodeGen/X86/subcarry.ll

  Log Message:
  -----------
  [DAG] getNode - convert scalar i1 arithmetic calls to bitwise instructions (#125486)

We already do this for vector vXi1 types - this patch removes the vector constraint to handle it for all bool types.


  Commit: 84ba55d18b4e0761d089534139024a7753a55012
      https://github.com/llvm/llvm-project/commit/84ba55d18b4e0761d089534139024a7753a55012
  Author: Yingwei Zheng <dtcxzyw2333 at gmail.com>
  Date:   2025-02-04 (Tue, 04 Feb 2025)

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

  Log Message:
  -----------
  [NFC][SimplifyCFG] Refactor `passingValueIsAlwaysUndefined` to work on `Use` (#125519)

Address comment
https://github.com/llvm/llvm-project/pull/125383#discussion_r1938436526


  Commit: 707e2b83a5d7f5d1a363f992197e3afad6369d6e
      https://github.com/llvm/llvm-project/commit/707e2b83a5d7f5d1a363f992197e3afad6369d6e
  Author: Timm Baeder <tbaeder at redhat.com>
  Date:   2025-02-03 (Mon, 03 Feb 2025)

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

  Log Message:
  -----------
  [clang][bytecode] Handle union move assignment operators as well (#125516)


  Commit: 3dc1ef1650c8389a6f195a474781cf2281208bed
      https://github.com/llvm/llvm-project/commit/3dc1ef1650c8389a6f195a474781cf2281208bed
  Author: Nikita Popov <npopov at redhat.com>
  Date:   2025-02-03 (Mon, 03 Feb 2025)

  Changed paths:
    M llvm/unittests/Analysis/ValueTrackingTest.cpp

  Log Message:
  -----------
  [ValueTracking] Add additional tests for computeKnownBits on GEPs (NFC)

These demonstrate miscompiles in the existing code.


  Commit: 3a2b552e4445c93e1db6728c4c4f0ae86301fb08
      https://github.com/llvm/llvm-project/commit/3a2b552e4445c93e1db6728c4c4f0ae86301fb08
  Author: Matt Arsenault <Matthew.Arsenault at amd.com>
  Date:   2025-02-03 (Mon, 03 Feb 2025)

  Changed paths:
    M llvm/lib/CodeGen/TwoAddressInstructionPass.cpp
    A llvm/test/CodeGen/ARM/twoaddress-asserts-liveints-undef-use.mir

  Log Message:
  -----------
  TwoAddressInstruction: Fix assert on undef operand with -early-live-intervals (#125518)


  Commit: e4980c68c1eea7bf6a673d277461a5695fcb6ea9
      https://github.com/llvm/llvm-project/commit/e4980c68c1eea7bf6a673d277461a5695fcb6ea9
  Author: Yingwei Zheng <dtcxzyw2333 at gmail.com>
  Date:   2025-02-04 (Tue, 04 Feb 2025)

  Changed paths:
    M llvm/lib/Transforms/InstCombine/InstCombineCompares.cpp
    M llvm/test/Transforms/InstCombine/fpclass-check-idioms.ll

  Log Message:
  -----------
  [InstCombine] Handle isSubnormalOrZero idiom (#125501)

Alive2: https://alive2.llvm.org/ce/z/9nYE3J


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

  Changed paths:
    M flang/include/flang/Lower/Support/Utils.h
    M flang/lib/Lower/CMakeLists.txt
    M flang/lib/Lower/IterationSpace.cpp
    A flang/lib/Lower/Support/Utils.cpp

  Log Message:
  -----------
  [flang][Lower] Move getHashValue and isEqual implementations to Utils… (#125513)

….cpp

This is intended to reduce the memory usage while compiling flang
sources.

There were over 7500 instantiations of function templates defined in the
Utils.h file. Most of them were not referenced anywhere outside, except
for specialized implementations of getHashValue and isEqual in
IterationSpace.cpp. These function were also moved to Utils.cpp.


  Commit: 30f3752e54fa7cd595a434a985efbe9a7abe9b65
      https://github.com/llvm/llvm-project/commit/30f3752e54fa7cd595a434a985efbe9a7abe9b65
  Author: Florian Hahn <flo at fhahn.com>
  Date:   2025-02-03 (Mon, 03 Feb 2025)

  Changed paths:
    M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
    M llvm/test/Transforms/LoopVectorize/AArch64/mul-simplification.ll

  Log Message:
  -----------
  [VPlan] Only use SCEV for live-ins in tryToWiden. (#125436)

Replacing a recipe with a live-in may not be correct in all cases,
e.g. when replacing recipes involving header-phi recipes, like
reductions.

For now, only use SCEV to simplify live-ins.

More powerful input simplification can be built in top of
https://github.com/llvm/llvm-project/pull/124432 in the future.


Fixes https://github.com/llvm/llvm-project/issues/119173.
Fixes https://github.com/llvm/llvm-project/issues/125374.

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


  Commit: 22d9726593ef3e1f137a4f88d284747d20ec6cd9
      https://github.com/llvm/llvm-project/commit/22d9726593ef3e1f137a4f88d284747d20ec6cd9
  Author: jeanPerier <jperier at nvidia.com>
  Date:   2025-02-03 (Mon, 03 Feb 2025)

  Changed paths:
    M flang/lib/Lower/ConvertVariable.cpp
    A flang/test/Lower/entry-statement-init.f90

  Log Message:
  -----------
  [flang] do not finalize or initialize unused entry dummy (#125482)

Dummy arguments from other entry statement that are not live in the current entry have no backing storage, user code referring to them is not allowed to be reached. The compiler was generating initialization/destruction code for them when INTENT(OUT), causing undefined behaviors.


  Commit: 67696a1adcd538050674420cab4385730e002524
      https://github.com/llvm/llvm-project/commit/67696a1adcd538050674420cab4385730e002524
  Author: Jakub Kuderski <jakub at nod-labs.com>
  Date:   2025-02-03 (Mon, 03 Feb 2025)

  Changed paths:
    M llvm/include/llvm/ADT/StringSwitch.h
    M llvm/unittests/ADT/StringSwitchTest.cpp

  Log Message:
  -----------
  [ADT] Reduce copies and recursion in StringSwitch (#125362)

Optimize the `.Cases` and `.CasesLower` functions to avoid needlessly
recursing on each case and copying the associated values. We can instead
take `Value` by reference and short-circuit by using the `||` operator.

Note that while the implementation uses variadic templates, we cannot
simplify the public functions in the same way. This is because the
current API forces the arguments to be converted to `StringLiterals` and
places the `Value` parameter at the very end. Even if we did some tricks
like split the parameter pack to separate out the `Value`, I do not see
how we could force conversion to `StringLiteral`.


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

  Changed paths:
    A libcxx/test/benchmarks/algorithms/reverse.bench.cpp

  Log Message:
  -----------
  [libc++] Add a benchmark for std::reverse (#125262)


  Commit: 6dfe20dbbd65e2945350ed9a93eb383131c49511
      https://github.com/llvm/llvm-project/commit/6dfe20dbbd65e2945350ed9a93eb383131c49511
  Author: Krzysztof Parzyszek <Krzysztof.Parzyszek at amd.com>
  Date:   2025-02-03 (Mon, 03 Feb 2025)

  Changed paths:
    M flang/examples/FlangOmpReport/FlangOmpReportVisitor.cpp
    M flang/include/flang/Parser/parse-tree.h
    M flang/lib/Lower/OpenMP/OpenMP.cpp
    M flang/lib/Parser/openmp-parsers.cpp
    A flang/test/Lower/OpenMP/Todo/metadirective-exec.f90
    A flang/test/Lower/OpenMP/Todo/metadirective-spec.f90
    M flang/test/Parser/OpenMP/metadirective-v50.f90
    M flang/test/Parser/OpenMP/metadirective.f90

  Log Message:
  -----------
  [flang][OpenMP] Parse METADIRECTIVE in specification part (#123397)

Add METADIRECTIVE to the OpenMP declarative constructs as well. Emit a
TODO error for both declarative and executable cases.


  Commit: fe694b18dc518b86eae9aab85ff03abc54e1662f
      https://github.com/llvm/llvm-project/commit/fe694b18dc518b86eae9aab85ff03abc54e1662f
  Author: Fraser Cormack <fraser at codeplay.com>
  Date:   2025-02-03 (Mon, 03 Feb 2025)

  Changed paths:
    A libclc/clc/include/clc/integer/clc_mad_sat.h
    M libclc/clc/include/clc/integer/definitions.h
    M libclc/clc/lib/clspv/SOURCES
    M libclc/clc/lib/generic/SOURCES
    A libclc/clc/lib/generic/integer/clc_mad_sat.cl
    M libclc/clc/lib/spirv/SOURCES
    M libclc/generic/lib/integer/mad_sat.cl

  Log Message:
  -----------
  [libclc] Move mad_sat to CLC; optimize for vector types (#125517)

This commit moves the mad_sat builtin to the CLC library.

It also optimizes it for vector types by avoiding scalarization. To help
do this it transforms the previous control-flow code into vector select
code. This has also been done for the scalar versions for simplicity.


  Commit: 9fbd5fbcc60aca3f9b093727e91da73798591c4a
      https://github.com/llvm/llvm-project/commit/9fbd5fbcc60aca3f9b093727e91da73798591c4a
  Author: Yingwei Zheng <dtcxzyw2333 at gmail.com>
  Date:   2025-02-04 (Tue, 04 Feb 2025)

  Changed paths:
    M llvm/include/llvm/Transforms/Utils/MemoryTaggingSupport.h
    M llvm/lib/Target/AArch64/AArch64StackTagging.cpp
    M llvm/lib/Transforms/Coroutines/SpillUtils.cpp
    M llvm/lib/Transforms/Instrumentation/HWAddressSanitizer.cpp
    M llvm/lib/Transforms/Instrumentation/TypeSanitizer.cpp
    M llvm/lib/Transforms/Scalar/MemCpyOptimizer.cpp
    M llvm/lib/Transforms/Utils/CodeExtractor.cpp
    M llvm/lib/Transforms/Utils/InlineFunction.cpp
    M llvm/lib/Transforms/Utils/Local.cpp
    M llvm/lib/Transforms/Utils/MemoryTaggingSupport.cpp
    M llvm/lib/Transforms/Utils/SimplifyCFG.cpp

  Log Message:
  -----------
  [IR][NFC] Switch to use `LifetimeIntrinsic` (#125528)


  Commit: db60244519023a2b083caa3ed3a27a6b59eb03d8
      https://github.com/llvm/llvm-project/commit/db60244519023a2b083caa3ed3a27a6b59eb03d8
  Author: Artem Belevich <tra at google.com>
  Date:   2025-02-03 (Mon, 03 Feb 2025)

  Changed paths:
    M clang/lib/AST/ASTContext.cpp
    M clang/test/PCH/cuda-kernel-call.cu

  Log Message:
  -----------
  [PCH, CUDA] Take CUDA attributes into account (#125127)

During deserialization of CUDA AST we must consider CUDA target
attributes to distinguish overloads from redeclarations.

Fixes #106394


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

  Changed paths:
    M llvm/CMakeLists.txt
    M llvm/lib/CMakeLists.txt
    M llvm/unittests/CMakeLists.txt

  Log Message:
  -----------
  [llvm] Add CMake flag to compile out the telemetry framework (#124850)

Add a CMake flag (LLVM_BUILD_TELEMETRY) to disable building the
telemetry framework. The flag being enabled does *not* mean that
telemetry is being collected, it merely means we're building the generic
telemetry framework. Hence the flag is enabled by default.

Motivated by this Discourse thread:
https://discourse.llvm.org/t/how-to-disable-building-llvm-clang-telemetry/84305


  Commit: 2f6e3df08a8b7cd29273980e47310cf09c6fdbd8
      https://github.com/llvm/llvm-project/commit/2f6e3df08a8b7cd29273980e47310cf09c6fdbd8
  Author: Fangrui Song <i at maskray.me>
  Date:   2025-02-03 (Mon, 03 Feb 2025)

  Changed paths:
    M lld/MachO/BPSectionOrderer.cpp
    M lld/include/lld/Common/BPSectionOrdererBase.inc
    M llvm/lib/Support/BalancedPartitioning.cpp

  Log Message:
  -----------
  BPSectionOrderer: stabilize iteration order and node order

Exposed by the test added in the reverted #120514

* Fix libstdc++/libc++ differences due to nth_element. https://github.com/llvm/llvm-project/pull/125450#issuecomment-2631404178
* Fix LLVM_ENABLE_REVERSE_ITERATION=1 differences
* Fix potential issue in `currentSize += D::getSize(*sections[*sectionIdxs.begin()])` where DenseSet was used, though not covered by a test


  Commit: 2b4b4c03899ab10df82528a05520dba3971f39e5
      https://github.com/llvm/llvm-project/commit/2b4b4c03899ab10df82528a05520dba3971f39e5
  Author: Charitha Saumya <136391709+charithaintc at users.noreply.github.com>
  Date:   2025-02-03 (Mon, 03 Feb 2025)

  Changed paths:
    M mlir/include/mlir/Dialect/XeGPU/IR/XeGPUOps.td

  Log Message:
  -----------
  [mlir][XeGPU] Add MemoryEffectsOpInterface for XeGPU memory related ops.  (#125314)

`MemoryEffectsOpInterface` is needed for cleaning up the remaining
(dead) operations after XeGPU distribution into SIMT.


  Commit: 39879e4f4022d2845de14810532f633e553fa650
      https://github.com/llvm/llvm-project/commit/39879e4f4022d2845de14810532f633e553fa650
  Author: Brian Foley <bpfoley at gmail.com>
  Date:   2025-02-03 (Mon, 03 Feb 2025)

  Changed paths:
    M clang/docs/ReleaseNotes.rst
    M clang/include/clang/Basic/DiagnosticSemaKinds.td
    M clang/lib/Sema/SemaInit.cpp
    A clang/test/CXX/class/class.init/p1.cpp
    M clang/test/CXX/dcl.decl/dcl.init/p14-0x.cpp
    M clang/test/SemaCUDA/inherited-ctor.cu

  Log Message:
  -----------
  [Sema] Note member decl when initializer list default constructs member (#121854)

Recently I had a scenario where I had:
1. A class C with many members m_1...m_n of the same type T
2. T's default constructor was deleted
3. I accidentally omitted an explicitly constructed member in the
initializer list C() : m_1(foo), m_2(bar), ... { }

Clang told me that T's default constructor was deleted, and told me that
the call to T() was in C() (which it implicitly was), but didn't tell me
which member was being default constructed.

It was difficult to fix this problem because I had no easy way to list
all the members of type T in C and C's superclasses which would have let
me find which member was missing,

clang/test/CXX/class/class.init/p1.cpp is a simplified version of this
problem (a2 is missing from the initializer list of B)


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

  Changed paths:
    M flang/examples/FeatureList/FeatureList.cpp
    M flang/include/flang/Parser/dump-parse-tree.h
    M flang/include/flang/Parser/parse-tree.h
    M flang/lib/Parser/openmp-parsers.cpp
    M flang/lib/Parser/unparse.cpp
    M flang/lib/Semantics/check-omp-structure.cpp
    M flang/lib/Semantics/resolve-names.cpp
    M flang/test/Parser/OpenMP/declare-mapper-unparse.f90
    A flang/test/Parser/OpenMP/metadirective-dirspec.f90

  Log Message:
  -----------
  [flang][OpenMP] Handle directive arguments in OmpDirectiveSpecifier (#124278)

Implement parsing and symbol resolution for directives that take
arguments. There are a few, and most of them take objects. Special
handling is needed for two that take more specialized arguments: DECLARE
MAPPER and DECLARE REDUCTION.

This only affects directives in METADIRECTIVE's WHEN and OTHERWISE
clauses. Parsing and semantic checks of other cases is unaffected.


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

  Changed paths:
    M llvm/lib/Target/RISCV/GISel/RISCVInstructionSelector.cpp

  Log Message:
  -----------
  [RISCV][GISel] Remove unused function leftover from a removed SDNodeXForm. NFC

Fixes #125551


  Commit: a9e249f64e800fbb20a3b26c0cfb68c1a1aee5e1
      https://github.com/llvm/llvm-project/commit/a9e249f64e800fbb20a3b26c0cfb68c1a1aee5e1
  Author: Michael Park <mcypark at gmail.com>
  Date:   2025-02-03 (Mon, 03 Feb 2025)

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

  Log Message:
  -----------
  [C++20][Modules][Serialization] Delay marking pending incomplete decl chains until the end of `finishPendingActions`. (#121245)

The call to `hasBody` inside `finishPendingActions` that bumps the `PendingIncompleteDeclChains`
size from `0` to `1`, and also sets the `LazyVal->LastGeneration` to `6` which matches
the `LazyVal->ExternalSource->getGeneration()` value of `6`. Later, the iterations over `redecls()`
(which calls `getNextRedeclaration`) is expected to trigger the reload, but it **does not** since
the generation numbers match.

The proposed solution is to perform the marking of incomplete decl chains at the end of `finishPendingActions`.
This way, **all** of the incomplete decls are marked incomplete as a post-condition of `finishPendingActions`.
It's also safe to delay this operation since any operation being done within `finishPendingActions` has
`NumCurrentElementsDeserializing == 1`, which means that any calls to `CompleteDeclChain` would simply
add to the `PendingIncompleteDeclChains` without doing anything anyway.


  Commit: a3321ea5d60f10ee1abe03fa95b08095ced61c76
      https://github.com/llvm/llvm-project/commit/a3321ea5d60f10ee1abe03fa95b08095ced61c76
  Author: Jacob Lalonde <jalalonde at fb.com>
  Date:   2025-02-03 (Mon, 03 Feb 2025)

  Changed paths:
    M lldb/bindings/interface/SBProcessDocstrings.i

  Log Message:
  -----------
  [LLDB][Documentation] Add a doc string to sbprocess to show MemoryRegions is iterable (#125557)

My colleague, @lukejriddle made the SBMemoryRegionList object iterable
in #117358. This isn't documented anywhere and so I added a blurb about
it to SBProcess.


  Commit: 16c6c48506d1901b80d8cbcb0df8149f9a4a0ee7
      https://github.com/llvm/llvm-project/commit/16c6c48506d1901b80d8cbcb0df8149f9a4a0ee7
  Author: Ramkumar Ramachandra <ramkumar.ramachandra at codasip.com>
  Date:   2025-02-03 (Mon, 03 Feb 2025)

  Changed paths:
    A llvm/test/Analysis/ScalarEvolution/exit-count-samesign.ll
    A llvm/test/Transforms/IndVarSimplify/iv-zext-samesign-datalayout.ll

  Log Message:
  -----------
  IndVarSimplify: add samesign test from a regression (#125539)

While attempting to teach ScalarEvolution about samesign in another
effort, a complicated testcase with nested loops, and zero-extends of
the induction-variable regresses, but only when the target datalayout is
present. The regression was originally reported on IndVarSimplify, but
an improvement of symbolic BTC was also observed on SCEV. Check in the
test into both IndVarSimplify and SCEV, to ease investigation and
further development.


  Commit: a29ed04fe61b9d0d040865c0a762f461f95fbed7
      https://github.com/llvm/llvm-project/commit/a29ed04fe61b9d0d040865c0a762f461f95fbed7
  Author: Ramkumar Ramachandra <ramkumar.ramachandra at codasip.com>
  Date:   2025-02-03 (Mon, 03 Feb 2025)

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

  Log Message:
  -----------
  IndVarSimplify: strip redundant getDataLayout (NFC) (#125546)

DataLayout is already available as a member variable.


  Commit: e269c2b5fa592498984cc381914bc65da377b08d
      https://github.com/llvm/llvm-project/commit/e269c2b5fa592498984cc381914bc65da377b08d
  Author: Zequan Wu <zequanwu at google.com>
  Date:   2025-02-03 (Mon, 03 Feb 2025)

  Changed paths:
    M lldb/source/Plugins/Language/CPlusPlus/CPlusPlusLanguage.cpp
    M lldb/source/Plugins/Language/CPlusPlus/LibCxx.cpp
    M lldb/test/API/functionalities/data-formatter/data-formatter-stl/libcxx/deque/TestDataFormatterLibcxxDeque.py
    M lldb/test/API/functionalities/data-formatter/data-formatter-stl/libcxx/span/TestDataFormatterLibcxxSpan.py
    M lldb/test/API/functionalities/data-formatter/data-formatter-stl/libcxx/variant/TestDataFormatterLibcxxVariant.py
    M lldb/test/API/functionalities/data-formatter/data-formatter-stl/libcxx/vector/TestDataFormatterLibcxxVector.py
    M lldb/test/API/functionalities/data-formatter/data-formatter-stl/libstdcpp/variant/TestDataFormatterLibStdcxxVariant.py

  Log Message:
  -----------
  [lldb] Show value for libcxx and libstdcxx summary and remove pointer value in libcxx container summary (#125294)

This has two changes:
1. Set show value for libcxx and libstdcxx summary provider. This will
print the pointer value for both pointer type and reference type.
2. Remove pointer value printing in libcxx container summary.

Discussion:

https://discourse.llvm.org/t/lldb-hides-raw-pointer-value-for-libcxx-and-libstdcxx-pointer-types-in-summary-string/84226


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

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

  Log Message:
  -----------
  [X86] Add test case for #124871. NFC

This shows missed opportunity to fold (fshl ld1, ld0, c) -> (ld0[ofs])
if the load chain results are used.


  Commit: 788bbd2ef6a291cc1e38c6d35c3924bf2382e75a
      https://github.com/llvm/llvm-project/commit/788bbd2ef6a291cc1e38c6d35c3924bf2382e75a
  Author: Craig Topper <craig.topper at sifive.com>
  Date:   2025-02-03 (Mon, 03 Feb 2025)

  Changed paths:
    M llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
    M llvm/test/CodeGen/X86/fshl.ll

  Log Message:
  -----------
  [DAGCombiner] Improve chain handling in fold (fshl ld1, ld0, c) -> (ld0[ofs]) combine. (#124871)

Happened to notice some odd things related to chains in this code.

The code calls hasOneUse on LoadSDNode* which will check users
of the data and the chain. I think this was trying to check that
the data had one use so one of the loads would definitely be
removed by the transform. Load chains don't always have users so
our testing may not have noticed that the chains being used would
block the transform.

The code makes all users of ld1's chain use the new load's chain, but
we don't know that ld1 becomes dead. This can cause incorrect dependencies if
ld1's chain is used and it isn't deleted. I think the better thing to do
is use makeEquivalentMemoryOrdering to make all users of ld0 and ld1
depend on the new load and the original loads. If the olds loads become
dead, their chain will be cleaned up later.

I'm having trouble getting a test for any ordering issue with the current code.
areNonVolatileConsecutiveLoads requires the two loads to have the same
input chain. Given that, I don't know how to use one of the load chain
results without also using the other. If they are both used we don't
do the transform because SDNode::hasOneUse will return false for both.


  Commit: 070c3386618f1edffefe6519dc2741bba7938ae9
      https://github.com/llvm/llvm-project/commit/070c3386618f1edffefe6519dc2741bba7938ae9
  Author: Aaron Ballman <aaron at aaronballman.com>
  Date:   2025-02-03 (Mon, 03 Feb 2025)

  Changed paths:
    M clang/include/clang/Basic/OpenACCKinds.h

  Log Message:
  -----------
  Fix "not all control paths return a value" warning; NFC


  Commit: dfc28736d445196ae97c323c086936e07a7c5b49
      https://github.com/llvm/llvm-project/commit/dfc28736d445196ae97c323c086936e07a7c5b49
  Author: Devon Loehr <DKLoehr at users.noreply.github.com>
  Date:   2025-02-03 (Mon, 03 Feb 2025)

  Changed paths:
    M clang/docs/ReleaseNotes.rst
    M clang/include/clang/Basic/DiagnosticGroups.td
    M clang/include/clang/Basic/DiagnosticSemaKinds.td
    M clang/include/clang/Sema/Sema.h
    M clang/lib/Sema/SemaDecl.cpp
    A clang/test/SemaCXX/unique_object_duplication.cpp
    A clang/test/SemaCXX/unique_object_duplication.h

  Log Message:
  -----------
  Warn when unique objects might be duplicated in shared libraries (#125526)

This is attempt 2 to merge this, the first one is #117622. This properly
disables the tests when building for playstation, since the warning is
disabled there.

When a hidden object is built into multiple shared libraries, each
instance of the library will get its own copy. If
the object was supposed to be globally unique (e.g. a global variable or
static data member), this can cause very subtle bugs.

An object might be incorrectly duplicated if it:

Is defined in a header (so it might appear in multiple TUs), and
Has external linkage (otherwise it's supposed to be duplicated), and
Has hidden visibility (or else the dynamic linker will handle it)
The duplication is only a problem semantically if one of the following
is true:

The object is mutable (the copies won't be in sync), or
Its initialization has side effects (it may now run more than once), or
The value of its address is used (different copies have different
addresses).
To detect this, we add a new -Wunique-object-duplication warning. It
warns on cases (1) and (2) above. To be conservative, we only warn in
case (2) if we are certain the initializer has side effects, and we
don't warn on new because the only side effect is some extra memory
usage.

We don't currently warn on case (3) because doing so is prone to false
positives: there are many reasons for taking the address which aren't
inherently problematic (e.g. passing to a function that expects a
pointer). We only run into problems if the code inspects the value of
the address.

The check is currently disabled for windows, which uses its own analogue
of visibility (declimport/declexport). The check is also disabled inside
templates, since it can give false positives if a template is never
instantiated.

Resolving the warning
The warning can be fixed in several ways:

If the object in question doesn't need to be mutable, it should be made
const. Note that the variable must be completely immutable, e.g. we'll
warn on const int* p because the pointer itself is mutable. To silence
the warning, it should instead be const int* const p.
If the object must be mutable, it (or the enclosing function, in the
case of static local variables) should be made visible using
__attribute((visibility("default")))
If the object is supposed to be duplicated, it should be be given
internal linkage.
Testing
I've tested the warning by running it on clang itself, as well as on
chromium. Compiling clang resulted in [10 warnings across 6
files](https://github.com/user-attachments/files/17908069/clang-warnings.txt),
while Chromium resulted in [160 warnings across 85
files](https://github.com/user-attachments/files/17908072/chromium-warnings.txt),
mostly in third-party code. Almost all warnings were due to mutable
variables.

I evaluated the warnings by manual inspection. I believe all the
resulting warnings are true positives, i.e. they represent
potentially-problematic code where duplication might cause a problem.
For the clang warnings, I also validated them by either adding const or
visibility annotations as appropriate.

Limitations
I am aware of four main limitations with the current warning:

We do not warn when the address of a duplicated object is taken, since
doing so is prone to false positives. I'm hopeful that we can create a
refined version in the future, however.
We only warn for side-effectful initialization if we are certain side
effects exist. Warning on potential side effects produced a huge number
of false positives; I don't expect there's much that can be done about
this in modern C++ code bases, since proving a lack of side effects is
difficult.
Windows uses a different system (declexport/import) instead of
visibility. From manual testing, it seems to behave analogously to the
visibility system for the purposes of this warning, but to keep things
simple the warning is disabled on windows for now.
We don't warn on code inside templates. This is unfortuate, since it
masks many real issues, e.g. a templated variable which is implicitly
instantiated the same way in multiple TUs should be globally unique, but
may accidentally be duplicated. Unfortunately, we found some potential
false positives during testing that caused us to disable the warning for
now.


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

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

  Log Message:
  -----------
  [CodeGen] Migrate away from PointerUnion::dyn_cast (NFC) (#125456)

Note that PointerUnion::dyn_cast has been soft deprecated in
PointerUnion.h:

  // FIXME: Replace the uses of is(), get() and dyn_cast() with
  //        isa<T>, cast<T> and the llvm::dyn_cast<T>

Literal migration would result in dyn_cast_if_present (see the
definition of PointerUnion::dyn_cast), but this patch uses dyn_cast
because we expect E to be nonnull.


  Commit: 90dd964328ea9d1e22a5fa1bc9cf737efdfa7feb
      https://github.com/llvm/llvm-project/commit/90dd964328ea9d1e22a5fa1bc9cf737efdfa7feb
  Author: Kazu Hirata <kazu at google.com>
  Date:   2025-02-03 (Mon, 03 Feb 2025)

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

  Log Message:
  -----------
  [Sema] Migrate away from PointerUnion::dyn_cast (NFC) (#125457)

Note that PointerUnion::dyn_cast has been soft deprecated in
PointerUnion.h:

  // FIXME: Replace the uses of is(), get() and dyn_cast() with
  //        isa<T>, cast<T> and the llvm::dyn_cast<T>

Literal migration would result in dyn_cast_if_present (see the
definition of PointerUnion::dyn_cast), but this patch uses dyn_cast
because we expect typeDecl to be nonnull.  Note that
getObjCInterfaceType starts out dereferencing Decl.


  Commit: 8686e677fffabab4c104e16559aaa9c7b0a6b679
      https://github.com/llvm/llvm-project/commit/8686e677fffabab4c104e16559aaa9c7b0a6b679
  Author: Kazu Hirata <kazu at google.com>
  Date:   2025-02-03 (Mon, 03 Feb 2025)

  Changed paths:
    M lld/MachO/Relocations.cpp

  Log Message:
  -----------
  [lld] Migrate away from PointerUnion::dyn_cast (NFC) (#125458)

Note that PointerUnion::dyn_cast has been soft deprecated in
PointerUnion.h:

  // FIXME: Replace the uses of is(), get() and dyn_cast() with
  //        isa<T>, cast<T> and the llvm::dyn_cast<T>

Literal migration would result in dyn_cast_if_present (see the
definition of PointerUnion::dyn_cast), but this patch uses dyn_cast
because we expect referent to be nonnull.


  Commit: 546d03cf8bde18e7713ec3f0c5bf307129ecf692
      https://github.com/llvm/llvm-project/commit/546d03cf8bde18e7713ec3f0c5bf307129ecf692
  Author: Kazu Hirata <kazu at google.com>
  Date:   2025-02-03 (Mon, 03 Feb 2025)

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

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


  Commit: 36fb886f5a0c0af40095696ea7589309d3dd30d5
      https://github.com/llvm/llvm-project/commit/36fb886f5a0c0af40095696ea7589309d3dd30d5
  Author: Kazu Hirata <kazu at google.com>
  Date:   2025-02-03 (Mon, 03 Feb 2025)

  Changed paths:
    M llvm/include/llvm/Analysis/ScalarEvolutionExpressions.h

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


  Commit: 22bc029e2be51951e2be749bf89a1087beb265b1
      https://github.com/llvm/llvm-project/commit/22bc029e2be51951e2be749bf89a1087beb265b1
  Author: Kazu Hirata <kazu at google.com>
  Date:   2025-02-03 (Mon, 03 Feb 2025)

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

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


  Commit: 09d945d6e4e5e845fa84d30572fac9e816faccc1
      https://github.com/llvm/llvm-project/commit/09d945d6e4e5e845fa84d30572fac9e816faccc1
  Author: Kazu Hirata <kazu at google.com>
  Date:   2025-02-03 (Mon, 03 Feb 2025)

  Changed paths:
    M llvm/include/llvm/ProfileData/Coverage/CoverageMapping.h

  Log Message:
  -----------
  [ProfileData] Avoid repeated hash lookups (NFC) (#125464)


  Commit: d194c6b9a7fdda7a61abcd6bfe39ab465bf0cc87
      https://github.com/llvm/llvm-project/commit/d194c6b9a7fdda7a61abcd6bfe39ab465bf0cc87
  Author: Tom Stellard <tstellar at redhat.com>
  Date:   2025-02-03 (Mon, 03 Feb 2025)

  Changed paths:
    M .github/workflows/release-tasks.yml

  Log Message:
  -----------
  workflows/release-tasks: Re-use release-binaries-all workflow (#125378)

This way we don't need to duplicate the list of supported targets in the
release-tasks workflow.


  Commit: d156b8583cb674983c2244cdb79447770383ef8d
      https://github.com/llvm/llvm-project/commit/d156b8583cb674983c2244cdb79447770383ef8d
  Author: Mikhail R. Gadelha <mikhail at igalia.com>
  Date:   2025-02-03 (Mon, 03 Feb 2025)

  Changed paths:
    A llvm/test/CodeGen/RISCV/ipra.ll

  Log Message:
  -----------
  [RISCV] Precommit test for #124932

Signed-off-by: Mikhail R. Gadelha <mikhail at igalia.com>


  Commit: 2deba08e09b9412c9f4e5888237e28173dee085b
      https://github.com/llvm/llvm-project/commit/2deba08e09b9412c9f4e5888237e28173dee085b
  Author: Tom Stellard <tstellar at redhat.com>
  Date:   2025-02-03 (Mon, 03 Feb 2025)

  Changed paths:
    M .github/workflows/premerge.yaml

  Log Message:
  -----------
  workflows/premerge: Cancel in progress jobs when a PR is merged (#125329)


  Commit: a9b3e1182d5786cdc61a0dc2ae1607a97df3e668
      https://github.com/llvm/llvm-project/commit/a9b3e1182d5786cdc61a0dc2ae1607a97df3e668
  Author: David Green <david.green at arm.com>
  Date:   2025-02-03 (Mon, 03 Feb 2025)

  Changed paths:
    R llvm/test/Analysis/CostModel/AArch64/arith-fp-sve.ll
    R llvm/test/Analysis/CostModel/AArch64/getIntrinsicInstrCost-vector-reverse.ll
    A llvm/test/Analysis/CostModel/AArch64/sve-arith-fp.ll
    A llvm/test/Analysis/CostModel/AArch64/vector-reverse.ll

  Log Message:
  -----------
  [AArch64] Move arith-fp-sve.ll to sve-arith-fp.ll. NFC


  Commit: 89001d1de8ecf03c8820594ea03345b99560272a
      https://github.com/llvm/llvm-project/commit/89001d1de8ecf03c8820594ea03345b99560272a
  Author: Tom Stellard <tstellar at redhat.com>
  Date:   2025-02-03 (Mon, 03 Feb 2025)

  Changed paths:
    M .github/workflows/build-ci-container.yml

  Log Message:
  -----------
  workflows/build-ci-container: Add an arm64 container (#120828)

This also changes the container version numbers in the tag from unix
timestamps to the abbreviated commit hash for the workflow. This ensures
that the amd64 and arm64 containers have the same tag.

For amd64 we now generate 4 tags:

* ghcr.io/llvm/ci-ubuntu-22.04:latest
* ghcr.io/llvm/ci-ubuntu-22.04:$GITHUB_SHA
* ghcr.io/llvm/amd64/ci-ubuntu-22.04:latest
* ghcr.io/llvm/amd64/ci-ubuntu-22.04:$GITHUB_SHA

For arm64 we generate 2 tags:

* ghcr.io/tstellar/arm64v8/ci-ubuntu-22.04:latest
* ghcr.io/tstellar/arm64v8/ci-ubuntu-22.04:$GITHUB_SHA


  Commit: 622ee03e262469aecbad9d7f2b4b968576e005f0
      https://github.com/llvm/llvm-project/commit/622ee03e262469aecbad9d7f2b4b968576e005f0
  Author: Andy Kaylor <akaylor at nvidia.com>
  Date:   2025-02-03 (Mon, 03 Feb 2025)

  Changed paths:
    M clang/include/clang/CIR/LowerToLLVM.h
    A clang/include/clang/CIR/MissingFeatures.h
    M clang/lib/CIR/Lowering/DirectToLLVM/CMakeLists.txt
    M clang/lib/CIR/Lowering/DirectToLLVM/LowerToLLVM.cpp
    A clang/lib/CIR/Lowering/DirectToLLVM/LowerToLLVM.h
    A clang/test/CIR/Lowering/global-var-simple.cpp
    M clang/test/CIR/Lowering/hello.c

  Log Message:
  -----------
  [CIR] Initial implementation of CIR-to-LLVM IR lowering pass (#125260)

This change introduces lowering from CIR to LLVM IR of global integer
and floating-point variables, using defaults for attributes that aren't yet
implemented.


  Commit: 90a51a443a2fc900e514279fa6ea8882c48b10fa
      https://github.com/llvm/llvm-project/commit/90a51a443a2fc900e514279fa6ea8882c48b10fa
  Author: Felipe de Azevedo Piovezan <fpiovezan at apple.com>
  Date:   2025-02-03 (Mon, 03 Feb 2025)

  Changed paths:
    M lldb/include/lldb/Target/Thread.h
    M lldb/include/lldb/Target/ThreadList.h
    M lldb/source/Plugins/Process/Utility/ThreadMemory.h
    M lldb/source/Plugins/Process/gdb-remote/ProcessGDBRemote.cpp
    M lldb/source/Target/ThreadList.cpp

  Log Message:
  -----------
  [lldb] Implement bidirectional access for backing<->backed thread relationship (#125300)

This enables finding the backed thread from the backing thread without
going through the thread list, and it will be useful for subsequent
commits.


  Commit: 7c5100d36d8027dd205d6ec410a63c3930a1d9c1
      https://github.com/llvm/llvm-project/commit/7c5100d36d8027dd205d6ec410a63c3930a1d9c1
  Author: Craig Topper <craig.topper at sifive.com>
  Date:   2025-02-03 (Mon, 03 Feb 2025)

  Changed paths:
    M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
    A llvm/test/CodeGen/RISCV/rvv/pr125306.ll

  Log Message:
  -----------
  [RISCV] Check isFixedLengthVector before calling getVectorNumElements in getSingleShuffleSrc. (#125455)

I have been unsuccessful at further reducing the test. The
failure requires a shuffle with 2 scalable->fixed extracts with
the same source. 0 is the only valid index for a scalable->fixed
extract so the 2 sources must be the same extract. Shuffles with
the same source are aggressively canonicalized to a unary shuffle.
So it requires the extracts to become identical through other
optimizations without the shuffle being canonicalized before it is
lowered.

Fixes #125306.


  Commit: ee92122b53c7af26bb766e89e1d30ceb2fd5bb93
      https://github.com/llvm/llvm-project/commit/ee92122b53c7af26bb766e89e1d30ceb2fd5bb93
  Author: Reid Kleckner <rnk at google.com>
  Date:   2025-02-03 (Mon, 03 Feb 2025)

  Changed paths:
    M clang/include/clang/Basic/BuiltinsX86.td
    M clang/lib/CodeGen/CGBuiltin.cpp
    M clang/lib/Headers/prfchwintrin.h
    M clang/lib/Headers/xmmintrin.h

  Log Message:
  -----------
  [Win/X86] Make _m_prefetch[w] builtins to avoid winnt.h conflicts (#115099)

This is similar in spirit to previous changes to make _mm_mfence
builtins to avoid conflicts with winnt.h and other MSVC ecosystem
headers that pre-declare compiler intrinsics as extern "C" symbols.

Also update the feature flag for _mm_prefetch to sse, which is more accurate than mmx.

This should fix issue #87515.


  Commit: 5dccfd9283cd784758aa3d16fcb6e31f135c080f
      https://github.com/llvm/llvm-project/commit/5dccfd9283cd784758aa3d16fcb6e31f135c080f
  Author: Arthur Eubanks <aeubanks at google.com>
  Date:   2025-02-03 (Mon, 03 Feb 2025)

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

  Log Message:
  -----------
  [clang] Unbreak build

>From #115099


  Commit: 36d6b63f85a0d2cb149fa060cf308be3b5ea9f14
      https://github.com/llvm/llvm-project/commit/36d6b63f85a0d2cb149fa060cf308be3b5ea9f14
  Author: Joseph Huber <huberjn at outlook.com>
  Date:   2025-02-03 (Mon, 03 Feb 2025)

  Changed paths:
    M libc/utils/gpu/server/CMakeLists.txt

  Log Message:
  -----------
  [libc][NFC] Silence C99 extension warnings on clang for RPC

Summary:
This only shows up during the build of the server, silence it.


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

  Changed paths:
    M offload/plugins-nextgen/common/src/PluginInterface.cpp
    M offload/src/PluginManager.cpp

  Log Message:
  -----------
  [OpenMP] Guard OpenMP specific entry handling


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

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

  Log Message:
  -----------
  [LV] Add VPBuilder::insert, use to insert created vector pointer (NFC).

Split off from https://github.com/llvm/llvm-project/pull/124432 as
suggested. Adds VPBuilder::insert, inspired by IRBuilderBase.


  Commit: c26bb4f095120ff4741b6530b6b3c0ac5a7dacad
      https://github.com/llvm/llvm-project/commit/c26bb4f095120ff4741b6530b6b3c0ac5a7dacad
  Author: Ben Jackson <puremourning at users.noreply.github.com>
  Date:   2025-02-03 (Mon, 03 Feb 2025)

  Changed paths:
    M lldb/source/Breakpoint/WatchpointList.cpp
    M lldb/test/API/commands/watchpoints/watchpoint_events/TestWatchpointEvents.py

  Log Message:
  -----------
  [lldb] correct event when removing all watchpoints (#125312)

LLDB: correct event when removing all watchpoints
    
    Previously we incorrectly checked for a "breakpoint changed" event
    listener removing all watchpoints (e.g. via
SBTarget::DeleteAllWatchpoints()), although we would emit a "watchpoint
    changed" event if there were a listener for 'breakpoint changed'.
    
This meant that we might not emit a "watchpoint changed" event if there
    was a listener for this event.
    
    Correct it to check for the "watchpoint changed" event.


---


Updated regression tests which were also incorrectly peeking for the
wrong event type. The 'remove' action actually triggers 2 events which
the test didn't allow, so I updated it to allow specifically what was
requested.

The test fails (expectedly) at the line following "DeleteAllWatchpoints"
prior to this patch, and passes after.


  Commit: 1abe7e8debc44d9a7e460c2be0b85b7cf137585b
      https://github.com/llvm/llvm-project/commit/1abe7e8debc44d9a7e460c2be0b85b7cf137585b
  Author: Ikhlas Ajbar <iajbar at quicinc.com>
  Date:   2025-02-03 (Mon, 03 Feb 2025)

  Changed paths:
    M clang/docs/ReleaseNotes.rst

  Log Message:
  -----------
  [Hexagon][Docs] document the change in the default target (#125584)


  Commit: 79e804b478aafdb9f543c66c1cc9cca6908d6b8f
      https://github.com/llvm/llvm-project/commit/79e804b478aafdb9f543c66c1cc9cca6908d6b8f
  Author: Felipe de Azevedo Piovezan <fpiovezan at apple.com>
  Date:   2025-02-03 (Mon, 03 Feb 2025)

  Changed paths:
    M lldb/source/Breakpoint/BreakpointSite.cpp
    M lldb/source/Plugins/Process/gdb-remote/ProcessGDBRemote.cpp
    A lldb/unittests/OperatingSystem/CMakeLists.txt
    A lldb/unittests/OperatingSystem/OperatingSystemPlugin.h
    A lldb/unittests/OperatingSystem/TestThreadSpecificBreakpoints.cpp

  Log Message:
  -----------
  [lldb] Improve isolation between Process plugins and OS plugins (#125302)

Generally speaking, process plugins (e.g. ProcessGDBRemote) should not
be aware of OS plugin threads. However, ProcessGDBRemote attempts to
check for the existence of OS threads when calculating stop info. When
OS threads are present, it sets the stop info directly on the OS plugin
thread and leaves the ThreadGDBRemote without a StopInfo.

This is problematic for a few reasons:

1. No other process plugins do this, as they shouldn't. They should set
the stop info for their own process threads, and let the abstractions
built on top propagate StopInfos.

2. This conflicts with the expectations of ThreadMemory, which checks
for the backing threads's info, and then attempts to propagate it (in
the future, it should probably ask the plugin itself too...). We see
this happening in the code below. The `if` condition will not trigger,
because `backing_stop_info_sp` will be null (remember, ProcessGDB remote
is ignoring its own threads), and then this method returns false.

```
bool ThreadMemory::CalculateStopInfo() {
...
  lldb::StopInfoSP backing_stop_info_sp(
      m_backing_thread_sp->GetPrivateStopInfo());
  if (backing_stop_info_sp &&
      backing_stop_info_sp->IsValidForOperatingSystemThread(*this)) {
    backing_stop_info_sp->SetThread(shared_from_this());
```

```
Thread::GetPrivateStopInfo
...
        if (!CalculateStopInfo())
          SetStopInfo(StopInfoSP());
```

To solve this, we change ProcessGDB remote so that it does the
principled thing: it now only sets the stop info of its own threads.
This change by itself breaks the tests TestPythonOSPlugin.py and
TestOSPluginStepping.py and probably explains why ProcessGDB had
originally "violated" this isolation of layers.

To make this work, BreakpointSites must be aware of BackingThreads when
answering the question: "Is this breakpoint valid for this thread?".
Why? Breakpoints are created on top of the OS threads (that's what the
user sees), but breakpoints are hit by process threads. In the presence
of OS threads, a TID-specific breakpoint is valid for a process thread
if it is backing an OS thread with that TID.


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

  Changed paths:
    M flang/lib/Semantics/assignment.cpp
    A flang/test/Semantics/cuf18.cuf

  Log Message:
  -----------
  [flang][cuda] Detect illegal data transfer in semantic (#125591)

When the LHS is a device variable and the RHS has implicit transfer,
this is considered as an illegal transfer according to
https://docs.nvidia.com/hpc-sdk/compilers/cuda-fortran-prog-guide/index.html#implicit-data-transfer-in-expressions.

Detect this is semantic .


  Commit: 13ded6829bf7ca793795c50d47dd2b95482e5cfa
      https://github.com/llvm/llvm-project/commit/13ded6829bf7ca793795c50d47dd2b95482e5cfa
  Author: Jonas Devlieghere <jonas at devlieghere.com>
  Date:   2025-02-03 (Mon, 03 Feb 2025)

  Changed paths:
    M llvm/CMakeLists.txt

  Log Message:
  -----------
  [CMake] Fix typo in docstring: telemtry -> telemetry (NFC)

Thanks Nikita for spotting it.


  Commit: ea9e174b9593ade60537cc4b3f463da6684d3974
      https://github.com/llvm/llvm-project/commit/ea9e174b9593ade60537cc4b3f463da6684d3974
  Author: Thurston Dang <thurston at google.com>
  Date:   2025-02-03 (Mon, 03 Feb 2025)

  Changed paths:
    A llvm/test/Instrumentation/MemorySanitizer/bitreverse.ll

  Log Message:
  -----------
  [msan][NFCI] Add test for llvm.bitreverse (#125592)

The heuristic handler for llvm.reverse is incorrect because it doesn't
reverse the shadow.

Forked from llvm/test/CodeGen/X86/bitreverse.ll


  Commit: 8e6fa15bc3e8a41553ffdc7fbd3d00285a250962
      https://github.com/llvm/llvm-project/commit/8e6fa15bc3e8a41553ffdc7fbd3d00285a250962
  Author: Adrian Vogelsgesang <avogelsgesang at salesforce.com>
  Date:   2025-02-04 (Tue, 04 Feb 2025)

  Changed paths:
    M lldb/packages/Python/lldbsuite/test/tools/lldb-dap/dap_server.py
    M lldb/packages/Python/lldbsuite/test/tools/lldb-dap/lldbdap_testcase.py
    M lldb/test/API/tools/lldb-dap/breakpoint/Makefile
    A lldb/test/API/tools/lldb-dap/breakpoint/TestDAP_breakpointLocations.py
    M lldb/test/API/tools/lldb-dap/breakpoint/TestDAP_setBreakpoints.py
    M lldb/tools/lldb-dap/DAP.h
    M lldb/tools/lldb-dap/lldb-dap.cpp
    M llvm/docs/ReleaseNotes.md

  Log Message:
  -----------
  [lldb-dap] Support column breakpoints (#125347)

This commit adds support for column breakpoints to lldb-dap

To do so, support for the `breakpointLocations` request was
added. To find all available breakpoint positions, we iterate over
the line table.

The `setBreakpoints` request already forwarded the column correctly to
`SBTarget::BreakpointCreateByLocation`. However, `SourceBreakpointMap`
did not keep track of multiple breakpoints in the same line. To do so,
the `SourceBreakpointMap` is now indexed by line+column instead of by
line only.

This was previously submitted as #113787, but got reverted due to
failures on ARM and macOS. This second attempt has less strict test
case expectations. Also, I added a release note.


  Commit: f8287f6c373fcf993643dd6f0e30dde304c1be73
      https://github.com/llvm/llvm-project/commit/f8287f6c373fcf993643dd6f0e30dde304c1be73
  Author: Zentrik <llvm.zentrik at gmail.com>
  Date:   2025-02-04 (Tue, 04 Feb 2025)

  Changed paths:
    M llvm/lib/ExecutionEngine/IntelJITEvents/CMakeLists.txt
    M llvm/lib/ExecutionEngine/Orc/TargetProcess/CMakeLists.txt

  Log Message:
  -----------
  Fix build if ITTAPI_SOURCE_DIR is specified (#106924)

de92615d68f allows specifying the source directory of ittapi. This
change allows configuring the source directory of ittapi here as well.


  Commit: 2a84e1e65ad7f84c2dbcf37241a7d1805a523e0d
      https://github.com/llvm/llvm-project/commit/2a84e1e65ad7f84c2dbcf37241a7d1805a523e0d
  Author: Thurston Dang <thurston at google.com>
  Date:   2025-02-03 (Mon, 03 Feb 2025)

  Changed paths:
    A llvm/test/Instrumentation/MemorySanitizer/vector-reduce-fadd.ll
    A llvm/test/Instrumentation/MemorySanitizer/vector-reduce-fmul.ll

  Log Message:
  -----------
  [msan][NFCI] Add tests for vector reduce fadd/fmul (#125597)

Currently handled incorrectly by visitInstruction:
- llvm.vector.reduce.fadd
- llvm.vector.reduce.fmul

Forked from llvm/test/CodeGen/X86/vector-reduce-f{add,mul}.ll


  Commit: 93fcef3048b453161d462ed7defd480fb448c228
      https://github.com/llvm/llvm-project/commit/93fcef3048b453161d462ed7defd480fb448c228
  Author: Diego Caballero <dieg0ca6aller0 at gmail.com>
  Date:   2025-02-03 (Mon, 03 Feb 2025)

  Changed paths:
    M mlir/include/mlir/Dialect/SparseTensor/Transforms/Passes.h
    M mlir/lib/Dialect/SparseTensor/Pipelines/SparseTensorPipelines.cpp
    M mlir/test/Integration/Dialect/Vector/CPU/shuffle16x16.mlir
    M mlir/test/Integration/Dialect/Vector/CPU/transfer-read-1d.mlir
    M mlir/test/Integration/Dialect/Vector/CPU/transfer-read-2d.mlir
    M mlir/test/Integration/Dialect/Vector/CPU/transfer-read-3d.mlir
    M mlir/test/Integration/Dialect/Vector/CPU/transfer-to-loops.mlir
    M mlir/test/lib/Conversion/ConvertToSPIRV/TestSPIRVVectorUnrolling.cpp
    M mlir/test/lib/Dialect/LLVM/TestLowerToLLVM.cpp

  Log Message:
  -----------
  [mlir][Vector] Add UB conversions to different tests and pipelines (#125145)

This PR adds the UB to LLVM/SPIR-V conversion pass to some pipelines and
tests. This is in preparation to introducing the generation of
`ub.poison` in Vector dialect transformations (first one in https://github.com/llvm/llvm-project/pull/125613).
It should effectively be NFC at this point.


  Commit: f10979f607fca84c4048bffc57022384baf985c2
      https://github.com/llvm/llvm-project/commit/f10979f607fca84c4048bffc57022384baf985c2
  Author: Thurston Dang <thurston at google.com>
  Date:   2025-02-03 (Mon, 03 Feb 2025)

  Changed paths:
    M llvm/lib/Transforms/Instrumentation/MemorySanitizer.cpp
    M llvm/test/Instrumentation/MemorySanitizer/bitreverse.ll

  Log Message:
  -----------
  [msan] Handle llvm.bitreverse by applying intrinsic to shadow (#125606)

llvm.bitreverse was incorrectly handled by the heuristic handler,
because it did not reverse the bits of the shadow.

This updates the instrumentation to use the handler from
https://github.com/llvm/llvm-project/pull/114490 and updates the test
from https://github.com/llvm/llvm-project/pull/125592


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

  Changed paths:
    M llvm/lib/Transforms/Vectorize/SandboxVectorizer/Legality.cpp
    A llvm/test/Transforms/SandboxVectorizer/special_opcodes.ll
    M llvm/unittests/Transforms/Vectorize/SandboxVectorizer/LegalityTest.cpp

  Log Message:
  -----------
  [SandboxVec][Legality] Fix legality of SelectInst (#125005)

SelectInsts need special treatment because they are not always
straightforward to vectorize. This patch disables vectorization unless
they are trivially vectorizable.


  Commit: 9fddaf6b14102963f12dbb9730f101fc52e662c1
      https://github.com/llvm/llvm-project/commit/9fddaf6b14102963f12dbb9730f101fc52e662c1
  Author: Diego Caballero <dieg0ca6aller0 at gmail.com>
  Date:   2025-02-03 (Mon, 03 Feb 2025)

  Changed paths:
    M mlir/lib/Dialect/SparseTensor/Pipelines/CMakeLists.txt

  Log Message:
  -----------
  [mlir] Fix build after 93fcef3048b453161d462ed7defd480fb448c228


  Commit: d810c741ad7a5f5bee8fe833b9ee4023446dd39c
      https://github.com/llvm/llvm-project/commit/d810c741ad7a5f5bee8fe833b9ee4023446dd39c
  Author: Diego Caballero <dieg0ca6aller0 at gmail.com>
  Date:   2025-02-03 (Mon, 03 Feb 2025)

  Changed paths:
    M mlir/test/lib/Dialect/LLVM/CMakeLists.txt

  Log Message:
  -----------
  [mlir] More fixes for 9fddaf6b14102963f12dbb9730f101fc52e662c1


  Commit: 635ab515d5ef2469a525952999dce3236d25b2b5
      https://github.com/llvm/llvm-project/commit/635ab515d5ef2469a525952999dce3236d25b2b5
  Author: Min-Yih Hsu <min.hsu at sifive.com>
  Date:   2025-02-03 (Mon, 03 Feb 2025)

  Changed paths:
    M llvm/lib/Transforms/Vectorize/VectorCombine.cpp
    A llvm/test/Transforms/VectorCombine/RISCV/vector-interleave2-splat-e64.ll
    A llvm/test/Transforms/VectorCombine/RISCV/vector-interleave2-splat.ll

  Log Message:
  -----------
  [VectorCombine] Fold vector.interleave2 with two constant splats (#125144)

If we're interleaving 2 constant splats, for instance `<vscale x 8 x
i32> <splat of 666>` and `<vscale x 8 x i32> <splat of 777>`, we can
create a larger splat `<vscale x 8 x i64> <splat of ((777 << 32) |
666)>` first before casting it back into `<vscale x 16 x i32>`.


  Commit: ce7bca76917e6b72615f0f7f90a6e35e681b0d16
      https://github.com/llvm/llvm-project/commit/ce7bca76917e6b72615f0f7f90a6e35e681b0d16
  Author: Jacob Lalonde <jalalonde at fb.com>
  Date:   2025-02-03 (Mon, 03 Feb 2025)

  Changed paths:
    M lldb/source/Target/Process.cpp
    M lldb/test/API/functionalities/process_save_core_minidump/TestProcessSaveCoreMinidump.py

  Log Message:
  -----------
  [LLDB][Save Core Options] Custom ranges should follow the same safety checks as everyone else (#125323)

I encountered a `qMemoryRegionInfo not supported` error when capturing a
Minidump. This was surprising, and I started looking around I found
@jasonmolenda's fix in #115963 and then realized I was not validated
anything from the custom ranges.


  Commit: fbe470c1b215e3f953a41db6b91d20ce0bcf5c4e
      https://github.com/llvm/llvm-project/commit/fbe470c1b215e3f953a41db6b91d20ce0bcf5c4e
  Author: Brad Smith <brad at comstyle.com>
  Date:   2025-02-03 (Mon, 03 Feb 2025)

  Changed paths:
    M third-party/benchmark/src/sysinfo.cc

  Log Message:
  -----------
  [benchmark] Get number of CPUs with sysconf() on Linux (#125603)

(cherry picked from commit c24774dc4f4402c3ad150363321cc972ed2669e7)


  Commit: 749372ba242354d783b20937d22868f4e6e83955
      https://github.com/llvm/llvm-project/commit/749372ba242354d783b20937d22868f4e6e83955
  Author: Rahul Joshi <rjoshi at nvidia.com>
  Date:   2025-02-03 (Mon, 03 Feb 2025)

  Changed paths:
    M llvm/utils/TableGen/Common/CodeGenTarget.cpp

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

- Use StringRef::str() instead of std::string(StringRef).
- Use const pointers for `Candidates` in getSuperRegForSubReg().
- Make `AsmParserCat` and `AsmWriterCat` static.
- Use enumerate() in `ComputeInstrsByEnum` to assign inst enums.
- Use range-based for loops.


  Commit: 077e0c134a31cc16c432ce685458b1de80bfbf84
      https://github.com/llvm/llvm-project/commit/077e0c134a31cc16c432ce685458b1de80bfbf84
  Author: Matt Arsenault <Matthew.Arsenault at amd.com>
  Date:   2025-02-04 (Tue, 04 Feb 2025)

  Changed paths:
    M llvm/lib/Target/AMDGPU/AMDGPUISelLowering.cpp
    A llvm/test/CodeGen/AMDGPU/truncate-lshr-cast-build-vector-combine.ll

  Log Message:
  -----------
  AMDGPU: Generalize truncate of shift of cast build_vector combine (#125617)

Previously we only handled cases that looked like the high element
extract of a 64-bit shift. Generalize this to handle any multiple
indexing. I was hoping this would help avoid some regressions,
but it did not. It does however reduce the number of steps the DAG
takes to process these cases.

NFC-ish, I have yet to find an example where this changes the
final output.


  Commit: e649b382229973b212a96d8a24bd49eb002f2c0c
      https://github.com/llvm/llvm-project/commit/e649b382229973b212a96d8a24bd49eb002f2c0c
  Author: Luke Lau <luke at igalia.com>
  Date:   2025-02-04 (Tue, 04 Feb 2025)

  Changed paths:
    M llvm/test/CodeGen/RISCV/rvv/vreductions-fp-vp.ll

  Log Message:
  -----------
  [RISCV] Add tests for widening FP VP reductions. NFC

We're missing patterns for matching vfwred{u,o}sum.vs, both with VP
and non-VP fpexts.


  Commit: b46211bbf683b30b88e41a684633fc63436e5edf
      https://github.com/llvm/llvm-project/commit/b46211bbf683b30b88e41a684633fc63436e5edf
  Author: Lang Hames <lhames at gmail.com>
  Date:   2025-02-04 (Tue, 04 Feb 2025)

  Changed paths:
    A llvm/test/ExecutionEngine/Orc/minimal-throw-catch.ll
    M llvm/test/ExecutionEngine/OrcLazy/minimal-throw-catch.ll

  Log Message:
  -----------
  [ORC] Add minimal-throw-catch.ll regression test for lli -jit-mode=orc.

We already had a -jit-mode=orc-lazy regression test for this, but it should
work equally well in non-lazy mode.


  Commit: 1ec794dec7306578ac80e678fa6d0b0d14866b9e
      https://github.com/llvm/llvm-project/commit/1ec794dec7306578ac80e678fa6d0b0d14866b9e
  Author: Kazu Hirata <kazu at google.com>
  Date:   2025-02-03 (Mon, 03 Feb 2025)

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

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


  Commit: c0f7ebe715dbe706224389a3022e6a3880fef0a1
      https://github.com/llvm/llvm-project/commit/c0f7ebe715dbe706224389a3022e6a3880fef0a1
  Author: Lang Hames <lhames at gmail.com>
  Date:   2025-02-04 (Tue, 04 Feb 2025)

  Changed paths:
    M llvm/test/ExecutionEngine/Orc/minimal-throw-catch.ll

  Log Message:
  -----------
  [ORC] Actually use -jit-kind=orc for the new minimal-throw-catch.ll test.

b46211bbf68, which introduced a new copy of the minimal-throw-catch.ll test,
failed to update the run line.


  Commit: 6f32d5e3af41e2753cc22373c4d6030770a8f994
      https://github.com/llvm/llvm-project/commit/6f32d5e3af41e2753cc22373c4d6030770a8f994
  Author: Kazu Hirata <kazu at google.com>
  Date:   2025-02-03 (Mon, 03 Feb 2025)

  Changed paths:
    M llvm/lib/DebugInfo/DWARF/DWARFVerifier.cpp

  Log Message:
  -----------
  [DWARF] Avoid repeated hash lookups (NFC) (#125633)


  Commit: b9fa35fc076131c3fff73d146782a6f07650fddf
      https://github.com/llvm/llvm-project/commit/b9fa35fc076131c3fff73d146782a6f07650fddf
  Author: Mel Chen <mel.chen at sifive.com>
  Date:   2025-02-04 (Tue, 04 Feb 2025)

  Changed paths:
    M llvm/test/Transforms/LoopVectorize/RISCV/vplan-vp-call-intrinsics.ll
    M llvm/test/Transforms/LoopVectorize/RISCV/vplan-vp-cast-intrinsics.ll
    M llvm/test/Transforms/LoopVectorize/RISCV/vplan-vp-intrinsics-reduction.ll
    M llvm/test/Transforms/LoopVectorize/RISCV/vplan-vp-intrinsics.ll
    M llvm/test/Transforms/LoopVectorize/RISCV/vplan-vp-select-intrinsics.ll

  Log Message:
  -----------
  [LV][EVL] Pre-commit test cases for preventing to transform plans with scalar VF. NFC (#125499)

Pre-commit for #125497.


  Commit: b95a6c750c9e45237071328a9d7fec64a33cb56b
      https://github.com/llvm/llvm-project/commit/b95a6c750c9e45237071328a9d7fec64a33cb56b
  Author: Fabian Ritter <fabian.ritter at amd.com>
  Date:   2025-02-04 (Tue, 04 Feb 2025)

  Changed paths:
    M llvm/lib/Target/AMDGPU/AMDGPUTargetTransformInfo.cpp
    M llvm/test/CodeGen/AMDGPU/lower-mem-intrinsics.ll
    M llvm/test/CodeGen/AMDGPU/memmove-var-size.ll

  Log Message:
  -----------
  [AMDGPU] Remove special cases in TTI::getMemcpyLoop(Residual)LoweringType (#125507)

These special cases limit the width of memory operations we use for
lowering memcpy/memmove when the pointer arguments are 2-aligned or in
the LDS/GDS.

I found that performance in microbenchmarks on gfx90a, gfx1030, and
gfx1100 is better without this limitation.


  Commit: e78074ef52e5dfd9cb7c402839113136ded23152
      https://github.com/llvm/llvm-project/commit/e78074ef52e5dfd9cb7c402839113136ded23152
  Author: Haojian Wu <hokein.wu at gmail.com>
  Date:   2025-02-04 (Tue, 04 Feb 2025)

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

  Log Message:
  -----------
  [bazel] Port for 93fcef3


  Commit: 87c2b7c3e8362e9b250ed5ae972630a85ee6e0ab
      https://github.com/llvm/llvm-project/commit/87c2b7c3e8362e9b250ed5ae972630a85ee6e0ab
  Author: lonely eagle <2020382038 at qq.com>
  Date:   2025-02-04 (Tue, 04 Feb 2025)

  Changed paths:
    M mlir/include/mlir/Dialect/GPU/IR/GPUOps.td
    M mlir/test/Dialect/Affine/ops.mlir
    M mlir/test/Dialect/GPU/transform-gpu.mlir

  Log Message:
  -----------
  [mlir][gpu]add AffineScope Trait to gpu.launch. (#121058)

add AffineScope Trait to gpu.launch.


  Commit: 5ed5ada39887bac758a65ffc50b86899d5da4829
      https://github.com/llvm/llvm-project/commit/5ed5ada39887bac758a65ffc50b86899d5da4829
  Author: Haojian Wu <hokein.wu at gmail.com>
  Date:   2025-02-04 (Tue, 04 Feb 2025)

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

  Log Message:
  -----------
  [bazel] Port for 93fcef3, part 2


  Commit: 841c9b7594171e0575305557efe2130b54a245f0
      https://github.com/llvm/llvm-project/commit/841c9b7594171e0575305557efe2130b54a245f0
  Author: Simon Pilgrim <llvm-dev at redking.me.uk>
  Date:   2025-02-04 (Tue, 04 Feb 2025)

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

  Log Message:
  -----------
  [X86] Use explicit X86::CondCode argument in EmitTest/EmitCmp/isX86CCSigned calls. NFC. (#125493)

Helps identify the enum code during debugging.


  Commit: eaf34eed0b48fab6614a7aa93291bb16feb5c6a3
      https://github.com/llvm/llvm-project/commit/eaf34eed0b48fab6614a7aa93291bb16feb5c6a3
  Author: Alexander Belyaev <pifon at google.com>
  Date:   2025-02-04 (Tue, 04 Feb 2025)

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

  Log Message:
  -----------
  Fix BAZEL build after 93fcef3048b453161d462ed7defd480fb448c228


  Commit: cde3c68ba8acc46891e06a764347182c6c8f163d
      https://github.com/llvm/llvm-project/commit/cde3c68ba8acc46891e06a764347182c6c8f163d
  Author: Ben Shi <2283975856 at qq.com>
  Date:   2025-02-04 (Tue, 04 Feb 2025)

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

  Log Message:
  -----------
  [clang][analyzer][NFC] Fix a typo in comments (#125622)


  Commit: 6c560ef33e6fc6e9617edc81e04157437d94067a
      https://github.com/llvm/llvm-project/commit/6c560ef33e6fc6e9617edc81e04157437d94067a
  Author: David Stuttard <david.stuttard at amd.com>
  Date:   2025-02-04 (Tue, 04 Feb 2025)

  Changed paths:
    M llvm/lib/Target/AMDGPU/Utils/AMDGPUPALMetadata.cpp
    M llvm/test/CodeGen/AMDGPU/amdpal-cs.ll
    M llvm/test/CodeGen/AMDGPU/amdpal-es.ll
    M llvm/test/CodeGen/AMDGPU/amdpal-gs.ll
    M llvm/test/CodeGen/AMDGPU/amdpal-hs.ll
    M llvm/test/CodeGen/AMDGPU/amdpal-ls.ll
    M llvm/test/CodeGen/AMDGPU/amdpal-psenable.ll
    M llvm/test/CodeGen/AMDGPU/amdpal-vs.ll
    M llvm/test/CodeGen/AMDGPU/amdpal.ll
    M llvm/test/CodeGen/AMDGPU/elf-notes.ll
    M llvm/test/CodeGen/AMDGPU/pal-metadata-3.0.ll
    M llvm/test/CodeGen/AMDGPU/wave_dispatch_regs.ll

  Log Message:
  -----------
  [AMDGPU] Add .entry_point back into PAL metadata (#125505)


  Commit: 88814969ddbbd7f8ebae7fbd94ab0643a68db2d5
      https://github.com/llvm/llvm-project/commit/88814969ddbbd7f8ebae7fbd94ab0643a68db2d5
  Author: Petar Avramovic <Petar.Avramovic at amd.com>
  Date:   2025-02-04 (Tue, 04 Feb 2025)

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

  Log Message:
  -----------
  MachineUniformityAnalysis: Pass is incorrectly initialized as CFGOnly (#125511)

Set CFGOnly in MachineUniformityAnalysisPass to false.
If there were new registers created, uniformity analysis needs to be
updated. Previously, with CFGOnly set to true, pass would be skipped
if CFG was preserved.


  Commit: dcb7a695004c49aaef02c3171343864870009961
      https://github.com/llvm/llvm-project/commit/dcb7a695004c49aaef02c3171343864870009961
  Author: Haojian Wu <hokein.wu at gmail.com>
  Date:   2025-02-04 (Tue, 04 Feb 2025)

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

  Log Message:
  -----------
  [bazel] Remove a duplicated dep


  Commit: c06d0ff806b72b1cfbca6306a2bc4f5f2922b01b
      https://github.com/llvm/llvm-project/commit/c06d0ff806b72b1cfbca6306a2bc4f5f2922b01b
  Author: Simon Tatham <simon.tatham at arm.com>
  Date:   2025-02-04 (Tue, 04 Feb 2025)

  Changed paths:
    M libc/src/__support/integer_to_string.h
    M libc/test/src/__support/integer_to_string_test.cpp

  Log Message:
  -----------
  [libc] Optimize BigInt→decimal in IntegerToString (#123580)

When IntegerToString converts a BigInt into decimal, it determines each
digit by computing `n % 10` and then resets n to `n / 10`, until the
number becomes zero. The div and mod operations are done using
`BigInt::divide_unsigned`, which uses the simplest possible bit-by-bit
iteration, which is a slow algorithm in general, but especially so if
the divisor 10 must first be promoted to a BigInt the same size as the
dividend. The effect is to make each division take quadratic time, so
that the overall decimal conversion is cubic – and the division is
quadratic in the number of _bits_, so the constant of proportionality is
also large.

In this patch I've provided custom code to extract decimal digits much
faster, based on knowing that the divisor is always 10, and processing a
word at a time. So each digit extraction is linear-time with a much
smaller constant of proportionality.

Full comments are in the code. The general strategy is to do the
reduction mod 10 first to determine the output digit; then subtract it
off, so that what's left is guaranteed to be an exact multiple of 10;
and finally divide by 10 using modular-arithmetic techniques rather than
reciprocal-approximation-based ordinary integer division.

I didn't find any existing tests of IntegerToString on a BigInt, so I've
added one.


  Commit: b53da77c505a2d35452e161c844712afbc11f6a7
      https://github.com/llvm/llvm-project/commit/b53da77c505a2d35452e161c844712afbc11f6a7
  Author: Simon Tatham <simon.tatham at arm.com>
  Date:   2025-02-04 (Tue, 04 Feb 2025)

  Changed paths:
    M libc/config/config.json
    M libc/docs/configure.rst
    M libc/src/__support/CPP/algorithm.h
    M libc/src/__support/FPUtil/dyadic_float.h
    M libc/src/__support/big_int.h
    M libc/src/__support/sign.h
    M libc/src/stdio/printf_core/CMakeLists.txt
    M libc/src/stdio/printf_core/converter_atlas.h
    A libc/src/stdio/printf_core/float_dec_converter_limited.h
    M libc/test/src/stdio/CMakeLists.txt
    M libc/test/src/stdio/sprintf_test.cpp
    M libc/test/src/stdlib/CMakeLists.txt

  Log Message:
  -----------
  [libc] Alternative algorithm for decimal FP printf (#123643)

The existing options for bin→dec float conversion are all based on the
Ryū algorithm, which generates 9 output digits at a time using a table
lookup. For users who can't afford the space cost of the table, the
table-lookup subroutine is replaced with one that computes the needed
table entry on demand, but the algorithm is otherwise unmodified.

The performance problem with computing table entries on demand is that
now you need to calculate a power of 10 for each 9 digits you output.
But if you're calculating a custom power of 10 anyway, it's easier to
just compute one, and multiply the _whole_ mantissa by it.

This patch adds a header file alongside `float_dec_converter.h`, which
replaces the whole Ryū system instead of just the table-lookup routine,
implementing this alternative simpler algorithm. The result is accurate
enough to satisfy (minimally) the accuracy demands of IEEE 754-2019 even
in 128-bit long double. The new float128 test cases demonstrate this by
testing the cases closest to the 39-digit rounding boundary.

In my tests of generating 39 output digits (the maximum number supported
by this algorithm) this code is also both faster and smaller than the
USE_DYADIC_FLOAT version of the existing Ryū code.


  Commit: 91cb8f5d3202870602c6bef807bc4c7ae8a32790
      https://github.com/llvm/llvm-project/commit/91cb8f5d3202870602c6bef807bc4c7ae8a32790
  Author: Durgadoss R <durgadossr at nvidia.com>
  Date:   2025-02-04 (Tue, 04 Feb 2025)

  Changed paths:
    M clang/lib/Basic/Targets/NVPTX.cpp
    M clang/test/CodeGen/target-data.c
    M llvm/docs/NVPTXUsage.rst
    M llvm/include/llvm/IR/IntrinsicsNVVM.td
    M llvm/include/llvm/Support/NVPTXAddrSpace.h
    M llvm/lib/Target/NVPTX/NVPTXInstrInfo.td
    M llvm/lib/Target/NVPTX/NVPTXIntrinsics.td
    M llvm/lib/Target/NVPTX/NVPTXSubtarget.h
    M llvm/lib/Target/NVPTX/NVPTXTargetMachine.cpp
    A llvm/test/CodeGen/NVPTX/tcgen05-alloc.ll

  Log Message:
  -----------
  [NVPTX] Add tcgen05 alloc/dealloc intrinsics (#124961)

This patch adds intrinsics for the tcgen05 alloc/dealloc
family of PTX instructions. This patch also adds an
addrspace 6 for tensor memory which is used by
these intrinsics.

lit tests are added and verified with a ptxas-12.8 executable.

Documentation for these additions is also added in NVPTXUsage.rst.

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


  Commit: 4be35fd9085b9bb0330c8adb95b47842baa3aaa9
      https://github.com/llvm/llvm-project/commit/4be35fd9085b9bb0330c8adb95b47842baa3aaa9
  Author: Simon Pilgrim <llvm-dev at redking.me.uk>
  Date:   2025-02-04 (Tue, 04 Feb 2025)

  Changed paths:
    M llvm/lib/Target/X86/X86ISelLowering.cpp
    M llvm/test/CodeGen/X86/cmp-xor.ll
    M llvm/test/CodeGen/X86/pr32284.ll

  Log Message:
  -----------
  [X86] EmitCmp - use existing XOR node to check for equality (#125506)

Normally, we use the result of the SUB flag for scalar comparison as its more compatible with CMP, but if we're testing for equality and already have a XOR we can reuse that instead.

Fixes #6146


  Commit: 5afb31dbd6f7aa745dd826128f6f224dc49031c0
      https://github.com/llvm/llvm-project/commit/5afb31dbd6f7aa745dd826128f6f224dc49031c0
  Author: Simon Tatham <simon.tatham at arm.com>
  Date:   2025-02-04 (Tue, 04 Feb 2025)

  Changed paths:
    M libc/src/stdio/printf_core/float_dec_converter_limited.h

  Log Message:
  -----------
  [libc][float_dec_converter_limited] Add missing LIBC_INLINE (#125655)

This caused a build failure in check-libc introduced by commit
b53da77c505a2d3.


  Commit: cdca04913ad2403f41fa5649c587e6bf96d54e33
      https://github.com/llvm/llvm-project/commit/cdca04913ad2403f41fa5649c587e6bf96d54e33
  Author: Matt Arsenault <Matthew.Arsenault at amd.com>
  Date:   2025-02-04 (Tue, 04 Feb 2025)

  Changed paths:
    M llvm/lib/CodeGen/SelectionDAG/LegalizeIntegerTypes.cpp
    A llvm/test/CodeGen/AMDGPU/bitcast_vector_bigint.ll
    M llvm/test/CodeGen/AMDGPU/buffer-fat-pointers-contents-legalization.ll
    M llvm/test/CodeGen/AMDGPU/lower-buffer-fat-pointers-lastuse-metadata.ll
    M llvm/test/CodeGen/AMDGPU/lower-buffer-fat-pointers-nontemporal-metadata.ll

  Log Message:
  -----------
  DAG: Avoid introducing stack usage in vector->int bitcast int op promotion
 (#125636)

Avoids stack usage in the v5i32 to i160 case for AMDGPU, which appears
in fat pointer lowering.


  Commit: eb6ca1242c1035fac6a8f1edfe7925b4994d4ecf
      https://github.com/llvm/llvm-project/commit/eb6ca1242c1035fac6a8f1edfe7925b4994d4ecf
  Author: Owen Pan <owenpiano at gmail.com>
  Date:   2025-02-04 (Tue, 04 Feb 2025)

  Changed paths:
    M clang/lib/Format/QualifierAlignmentFixer.cpp
    M clang/unittests/Format/QualifierFixerTest.cpp

  Log Message:
  -----------
  [clang-format] Hanlde qualified type name for `QualifierAlignment` (#125327)

Fixes #125178.


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

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

  Log Message:
  -----------
  [AArch64] Tweak the costs of experimental_cttz_elts intrinsic (#125093)

The experimental_cttz_elts intrinsic currently returns a cost
of 1 for all types, however we know that it currently requires
2 SVE instructions when lowering this - brkb and cntp. Both of
these instructions have a throughput that is half of a basic
vector instruction such as a vector add. This patch bumps the
cost of this intrinsic up to 4 to reflect two instructions of
lower throughput.


  Commit: 2f2ac3de69dde902c9fe84bdd7faeee320498130
      https://github.com/llvm/llvm-project/commit/2f2ac3de69dde902c9fe84bdd7faeee320498130
  Author: Matt Arsenault <Matthew.Arsenault at amd.com>
  Date:   2025-02-04 (Tue, 04 Feb 2025)

  Changed paths:
    M llvm/lib/CodeGen/SelectionDAG/LegalizeIntegerTypes.cpp
    M llvm/test/CodeGen/AMDGPU/bitcast_vector_bigint.ll
    M llvm/test/CodeGen/AMDGPU/buffer-fat-pointers-contents-legalization.ll
    M llvm/test/CodeGen/AMDGPU/ctpop16.ll
    M llvm/test/CodeGen/AMDGPU/kernel-args.ll
    M llvm/test/CodeGen/AMDGPU/load-constant-i16.ll
    M llvm/test/CodeGen/AMDGPU/load-constant-i8.ll
    M llvm/test/CodeGen/AMDGPU/load-global-i16.ll
    M llvm/test/CodeGen/AMDGPU/load-global-i8.ll
    M llvm/test/CodeGen/AMDGPU/min.ll
    M llvm/test/CodeGen/AMDGPU/shl.ll
    M llvm/test/CodeGen/AMDGPU/sra.ll

  Log Message:
  -----------
  DAG: Avoid stack usage in bitcast operand promotion to legal vector (#125637)

Fix introducing stack usage if a bitcast source operand is an illegal
integer type cast to a legal vector type. This should cover more
situations, but this is the first one I noticed.


  Commit: 4313345f2eeeb1e2ea7127a056ec4e1aaaa7fefb
      https://github.com/llvm/llvm-project/commit/4313345f2eeeb1e2ea7127a056ec4e1aaaa7fefb
  Author: Akshat Oke <Akshat.Oke at amd.com>
  Date:   2025-02-04 (Tue, 04 Feb 2025)

  Changed paths:
    A llvm/include/llvm/CodeGen/MachineCopyPropagation.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/MachineCopyPropagation.cpp
    M llvm/lib/Passes/PassBuilder.cpp
    M llvm/test/CodeGen/AArch64/avoid-zero-copy.mir
    M llvm/test/CodeGen/AMDGPU/dead_copy.mir
    M llvm/test/CodeGen/AMDGPU/remove-incompatible-s-time.ll
    M llvm/test/CodeGen/AMDGPU/remove-incompatible-wave32-feature.ll
    M llvm/test/CodeGen/ARM/machine-copyprop.mir

  Log Message:
  -----------
  [CodeGen][NewPM] Port MachineCopyPropagation to NPM (#125202)


  Commit: 83ff9d4a34b1e579dd809759d13b70b8837f0cde
      https://github.com/llvm/llvm-project/commit/83ff9d4a34b1e579dd809759d13b70b8837f0cde
  Author: Hans Wennborg <hans at chromium.org>
  Date:   2025-02-04 (Tue, 04 Feb 2025)

  Changed paths:
    M clang/include/clang/Basic/BuiltinsX86.td
    M clang/lib/CodeGen/CGBuiltin.cpp
    M clang/lib/Headers/prfchwintrin.h
    M clang/lib/Headers/xmmintrin.h

  Log Message:
  -----------
  Revert "[Win/X86] Make _m_prefetch[w] builtins to avoid winnt.h conflicts (#115099)"

This broke the build, see buildbot comments on the PR.

This reverts commit ee92122b53c7af26bb766e89e1d30ceb2fd5bb93 and
follow-up 5dccfd9283cd784758aa3d16fcb6e31f135c080f.


  Commit: e63d543e661ed3b9743d9411b074669cd25aec01
      https://github.com/llvm/llvm-project/commit/e63d543e661ed3b9743d9411b074669cd25aec01
  Author: Matthias Springer <me at m-sp.org>
  Date:   2025-02-04 (Tue, 04 Feb 2025)

  Changed paths:
    M mlir/lib/Transforms/Utils/DialectConversion.cpp

  Log Message:
  -----------
  [mlir][Transforms] Dialect conversion: Fix `-debug` crash (#125660)

Fix a crash in `ConversionPatternRewriter::replaceUsesOfBlockArgument`
when running with `-debug`. The block that owns the block argument can
be a detached block. In that case, do not attempt to print the name of
the owner op.


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

  Changed paths:
    M llvm/docs/HowToReleaseLLVM.rst

  Log Message:
  -----------
  [llvm][Docs] Clarify release ABI/API compatibility rules (#123049)

If the current release branch is version X, the phrase "the previous
major release." sounds to me as if it is referring to releases of X-1.
Not to the last release from the current release branch, which is what I
think it intends.

(if it meant X-1, then we could never change the ABI)


  Commit: 8fdd982668833a38dcbd693a9450891ff35264a3
      https://github.com/llvm/llvm-project/commit/8fdd982668833a38dcbd693a9450891ff35264a3
  Author: Akshat Oke <Akshat.Oke at amd.com>
  Date:   2025-02-04 (Tue, 04 Feb 2025)

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

  Log Message:
  -----------
  [NewPM] MachineCopyPropagation: Remove dead ID (#125665)

Fix for #125202 (4313345f2eeeb1e2ea7127a056ec4e1aaaa7fefb)


  Commit: c55a7659b38946350315ac4a18d9805deb1f0a54
      https://github.com/llvm/llvm-project/commit/c55a7659b38946350315ac4a18d9805deb1f0a54
  Author: Matt Arsenault <Matthew.Arsenault at amd.com>
  Date:   2025-02-04 (Tue, 04 Feb 2025)

  Changed paths:
    M llvm/include/llvm/CodeGen/TargetLowering.h
    M llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
    M llvm/lib/CodeGen/SelectionDAG/TargetLowering.cpp

  Log Message:
  -----------
  DAG: Move scalarizeExtractedVectorLoad to TargetLowering (#122670)

SimplifyDemandedVectorElts should be able to use this on loads


  Commit: d9af03ba80475df5edcab7e4d63004f6115aab3a
      https://github.com/llvm/llvm-project/commit/d9af03ba80475df5edcab7e4d63004f6115aab3a
  Author: Jack Styles <jack.styles at arm.com>
  Date:   2025-02-04 (Tue, 04 Feb 2025)

  Changed paths:
    M clang/test/Preprocessor/arm-target-features.c
    M llvm/lib/TargetParser/ARMTargetParser.cpp
    A llvm/test/MC/ARM/cortex-r52-nofp.s
    M llvm/unittests/TargetParser/TargetParserTest.cpp

  Log Message:
  -----------
  [ARM] Ensure FPU Selection can select mode correctly (#124935)

Previously, when selecting a Single Precision FPU, LLVM would ensure all
elements of the Candidate FPU matched the InputFPU that was given.
However, for cases such as Cortex-R52, there are FPU options where not
all fields match exactly, for example NEON Support or Restrictions on
the Registers available.

This change ensures that LLVM can select the FPU correctly, removing the
requirement for Neon Support and Restrictions for the Candidate FPU to
be the same as the InputFPU.


  Commit: 9a9b70aa87632408298ea02c28a605c02a383c3a
      https://github.com/llvm/llvm-project/commit/9a9b70aa87632408298ea02c28a605c02a383c3a
  Author: Simon Pilgrim <llvm-dev at redking.me.uk>
  Date:   2025-02-04 (Tue, 04 Feb 2025)

  Changed paths:
    M llvm/test/Transforms/PhaseOrdering/X86/addsub-inseltpoison.ll
    M llvm/test/Transforms/PhaseOrdering/X86/addsub.ll

  Log Message:
  -----------
  [PhaseOrdering][X86] Add test coverage for #58139


  Commit: 64927af52a3bedf2b20d6cdd98bb47d9bba630f9
      https://github.com/llvm/llvm-project/commit/64927af52a3bedf2b20d6cdd98bb47d9bba630f9
  Author: Simon Pilgrim <llvm-dev at redking.me.uk>
  Date:   2025-02-04 (Tue, 04 Feb 2025)

  Changed paths:
    M llvm/test/Transforms/PhaseOrdering/X86/addsub-inseltpoison.ll
    M llvm/test/Transforms/PhaseOrdering/X86/addsub.ll

  Log Message:
  -----------
  [PhaseOrdering][X86] Add better SSE/AVX test coverage for add-sub tests


  Commit: 227b32f6a1329c449f1222a42471190eededa433
      https://github.com/llvm/llvm-project/commit/227b32f6a1329c449f1222a42471190eededa433
  Author: Timm Baeder <tbaeder at redhat.com>
  Date:   2025-02-04 (Tue, 04 Feb 2025)

  Changed paths:
    M clang/docs/ReleaseNotes.rst
    M clang/lib/Sema/SemaAttr.cpp
    M clang/test/CodeGenCXX/attr-annotate2.cpp
    M clang/test/SemaCXX/attr-annotate.cpp

  Log Message:
  -----------
  [clang] Remove an incorrect assertion in ConstantFoldAttrs (#105789)

Evaluating the attribute expression can be successful without resulting
in a value. Namely, when the expression is of type void.

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


  Commit: 8201cf311aea3888387f92f1b2ad48fcbce765eb
      https://github.com/llvm/llvm-project/commit/8201cf311aea3888387f92f1b2ad48fcbce765eb
  Author: Sergey Kachkov <109674256+skachkov-sc at users.noreply.github.com>
  Date:   2025-02-04 (Tue, 04 Feb 2025)

  Changed paths:
    M llvm/include/llvm/Analysis/TargetTransformInfo.h
    M llvm/include/llvm/Analysis/TargetTransformInfoImpl.h
    M llvm/include/llvm/CodeGen/BasicTTIImpl.h
    M llvm/lib/Analysis/TargetTransformInfo.cpp
    M llvm/lib/Target/RISCV/RISCVTargetTransformInfo.cpp
    M llvm/lib/Target/RISCV/RISCVTargetTransformInfo.h
    M llvm/test/Analysis/CostModel/RISCV/gep.ll
    A llvm/test/Analysis/CostModel/RISCV/rvv-expandload-compressstore.ll
    M llvm/test/Analysis/CostModel/X86/masked-intrinsic-codesize.ll
    M llvm/test/Analysis/CostModel/X86/masked-intrinsic-cost-inseltpoison.ll
    M llvm/test/Analysis/CostModel/X86/masked-intrinsic-cost.ll
    M llvm/test/Analysis/CostModel/X86/masked-intrinsic-latency.ll
    M llvm/test/Analysis/CostModel/X86/masked-intrinsic-sizelatency.ll

  Log Message:
  -----------
  [TTI][CostModel] Add cost modeling for expandload and compressstore intrinsics (#122882)

This patch adds methods for cost estimation for
llvm.masked.expandload/llvm.masked.compressstore intrinsics in TTI. If
backend doesn't support custom lowering of these intrinsics it will be
processed by ScalarizeMaskedMemIntrin so we estimate its cost via
getCommonMaskedMemoryOpCost as gather/scatter operation; for RISC-V
backend, this patch implements custom hook to calculate the cost based
on current lowering scheme.


  Commit: d7aa6e379e612be4f5de3fc7bae53a5d19498049
      https://github.com/llvm/llvm-project/commit/d7aa6e379e612be4f5de3fc7bae53a5d19498049
  Author: Jay Foad <jay.foad at amd.com>
  Date:   2025-02-04 (Tue, 04 Feb 2025)

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

  Log Message:
  -----------
  [AMDGPU] Simplify Waitcnt constructor. NFC. (#125672)

These fields are already initialized in their declarations.


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

  Changed paths:
    M openmp/runtime/src/include/omp.h.var

  Log Message:
  -----------
  [OpenMP] Make `omp.h` work when compiled with `-ffreestanding` (#125618)

Summary:
Freestanding builds have `stddef.h` and `stdint.h` but not `stdlib.h`.
We don't actually use any `stdlib.h` definitions in the OpenMP headers,
and some definitions from this header are usable without the OpenMP
runtime (allocators) so we should be able to do this. This ignores the
include if possible, removing the implicit include would possibly break
some applications so it stays here.


  Commit: 8149cbfecdaf0ac8e5a9f38a87f30c89ddc001a4
      https://github.com/llvm/llvm-project/commit/8149cbfecdaf0ac8e5a9f38a87f30c89ddc001a4
  Author: Mikhail R. Gadelha <mikhail at igalia.com>
  Date:   2025-02-04 (Tue, 04 Feb 2025)

  Changed paths:
    M llvm/lib/Target/RISCV/RISCVCallingConv.td
    M llvm/lib/Target/RISCV/RISCVRegisterInfo.cpp
    M llvm/lib/Target/RISCV/RISCVRegisterInfo.h
    M llvm/test/CodeGen/RISCV/ipra.ll

  Log Message:
  -----------
  [RISCV] Implement getIPRACSRegs hook (#125586)

Fixes #124932.

This patch implements the getIPRACSRegs hook for RISC-V, similar to its introduction for x86 in commit 14b567d. This hook is necessary for correct code generation when Interprocedural Register Allocation (IPRA) is enabled, ensuring that the return address register (ra / x1) is correctly saved and restored when needed.

Unlike the x86 implementation, this patch only saves ra and does not yet include the frame pointer (fp). Further investigation is required to determine whether fp should also be preserved in all cases.

The test case is representative of a miscompile observed in the GCC torture suite (20090113-3.c), though similar failures occur in SPEC’s xz benchmark.


  Commit: 69f202bf366a9c4c667d8c117d02ccff15705216
      https://github.com/llvm/llvm-project/commit/69f202bf366a9c4c667d8c117d02ccff15705216
  Author: macurtis-amd <macurtis at amd.com>
  Date:   2025-02-04 (Tue, 04 Feb 2025)

  Changed paths:
    M llvm/lib/Target/X86/X86ExpandPseudo.cpp
    M llvm/lib/Target/X86/X86FrameLowering.cpp
    M llvm/lib/Target/X86/X86FrameLowering.h
    A llvm/test/CodeGen/X86/merge-huge-sp-updates.ll

  Log Message:
  -----------
  [llvm][X86] Fix merging of large sp updates (#125007)

In cases where `emitSPUpdate` produced multiple adds:
```
call foo
add 0x7FFFFFFF   <--chunk size
add ...
```
`mergeSPUpdates` would incorrectly adjust the offset of the first add
producing an invalid immediate value.

This change teaches `mergeSPUpdates` to look for a subsequent add if
updating the current one would exceed the chunk size.

@phoebewang @mconst


  Commit: 7ece824b6fa943bf20162d8d653d6e5cd0722a6e
      https://github.com/llvm/llvm-project/commit/7ece824b6fa943bf20162d8d653d6e5cd0722a6e
  Author: Abid Qadeer <haqadeer at amd.com>
  Date:   2025-02-04 (Tue, 04 Feb 2025)

  Changed paths:
    M flang/lib/Optimizer/Transforms/AddDebugInfo.cpp

  Log Message:
  -----------
  [flang][debug] Improve check for global variable detection. (#118326)

When a global variable is used in the OpenMP target region, it is passed
as an argument to the function that implements target region. But the
`DeclareOp` for this incarnation still have the original name of the
variable. As some of our checks to decide if a variable is global or nor
are based on the name, this can result in a local variable being treated
as global. This PR hardens the check a bit. We now also check that
memory ref is actually an `AddrOfOp` before looking at the name.


  Commit: 6fc66d322b00bdabc27fe8e14b27ab9bd53ba770
      https://github.com/llvm/llvm-project/commit/6fc66d322b00bdabc27fe8e14b27ab9bd53ba770
  Author: Leandro Lupori <leandro.lupori at linaro.org>
  Date:   2025-02-04 (Tue, 04 Feb 2025)

  Changed paths:
    M flang/lib/Lower/OpenMP/OpenMP.cpp
    M flang/test/Lower/OpenMP/sections.f90

  Log Message:
  -----------
  [flang][OpenMP] Fix sections lastprivate for common blocks (#125504)

Common block handling was missing in sections' lastprivate lowering.

Fixes #121719


  Commit: 3bd11b502c1846afa5e1257c94b7a70566e34686
      https://github.com/llvm/llvm-project/commit/3bd11b502c1846afa5e1257c94b7a70566e34686
  Author: Nikita Popov <npopov at redhat.com>
  Date:   2025-02-04 (Tue, 04 Feb 2025)

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

  Log Message:
  -----------
  [ValueTracking] Fix bit width handling in computeKnownBits() for GEPs (#125532)

For GEPs, we have three bit widths involved: The pointer bit width, the
index bit width, and the bit width of the GEP operands.

The correct behavior here is:
* We need to sextOrTrunc the GEP operand to the index width *before*
multiplying by the scale.
* If the index width and pointer width differ, GEP only ever modifies
the low bits. Adds should not overflow into the high bits.

I'm testing this via unit tests because it's a bit tricky to test in IR
with InstCombine canonicalization getting in the way.


  Commit: 2b3ddec7df199df6ba54053b1c8eaa8876252cf3
      https://github.com/llvm/llvm-project/commit/2b3ddec7df199df6ba54053b1c8eaa8876252cf3
  Author: Abhina Sree <Abhina.Sreeskantharajan at ibm.com>
  Date:   2025-02-04 (Tue, 04 Feb 2025)

  Changed paths:
    M clang-tools-extra/clang-doc/HTMLGenerator.cpp
    M clang-tools-extra/clang-doc/MDGenerator.cpp
    M clang-tools-extra/clang-doc/YAMLGenerator.cpp
    M clang-tools-extra/clang-include-fixer/FuzzySymbolIndex.cpp
    M clang-tools-extra/clang-include-fixer/YamlSymbolIndex.cpp
    M clang-tools-extra/clang-include-fixer/find-all-symbols/tool/FindAllSymbolsMain.cpp
    M clang-tools-extra/clang-include-fixer/tool/ClangIncludeFixer.cpp

  Log Message:
  -----------
  [SystemZ][z/OS] Open text files in text mode (#125570)

This patch continues the work that was started here
https://reviews.llvm.org/D99426 to correctly open text files in text
mode.


  Commit: 358a48b29332bc8015cb28fa14f8df2882bc68cd
      https://github.com/llvm/llvm-project/commit/358a48b29332bc8015cb28fa14f8df2882bc68cd
  Author: Alexander Peskov <apeskov at nvidia.com>
  Date:   2025-02-04 (Tue, 04 Feb 2025)

  Changed paths:
    M llvm/include/llvm/Support/NVPTXAddrSpace.h
    M llvm/lib/CodeGen/AsmPrinter/DwarfCompileUnit.cpp
    A llvm/test/DebugInfo/NVPTX/debug-addr-space.ll

  Log Message:
  -----------
  [NVPTX] Fix DWARF address space for globals (#122715)

Fix an issue with defining actual DWARF address space for module scope
globals. Previously it was always `ADDR_global_space`.

Also, this patch introduces CUDA-specific DWARF codes for address space
specification in correspondence with:

https://docs.nvidia.com/cuda/ptx-writers-guide-to-interoperability/index.html#cuda-specific-dwarf-definitions
Previously hardcoded constant values are replaced with enum values.


  Commit: 882f4794829c221ee562c8a12c5254750195b1fe
      https://github.com/llvm/llvm-project/commit/882f4794829c221ee562c8a12c5254750195b1fe
  Author: Simon Pilgrim <llvm-dev at redking.me.uk>
  Date:   2025-02-04 (Tue, 04 Feb 2025)

  Changed paths:
    M llvm/test/CodeGen/X86/avx512-broadcast-arith.ll

  Log Message:
  -----------
  [X86] avx512-broadcast-arith.ll - regenerate VPTERNLOG comments


  Commit: 7b22ca5d8860c871031c436cd39f87683a470326
      https://github.com/llvm/llvm-project/commit/7b22ca5d8860c871031c436cd39f87683a470326
  Author: Simon Pilgrim <llvm-dev at redking.me.uk>
  Date:   2025-02-04 (Tue, 04 Feb 2025)

  Changed paths:
    M llvm/test/CodeGen/X86/avx512-calling-conv.ll

  Log Message:
  -----------
  [X86] avx512-calling-conv.ll - regenerate VPTERNLOG comments


  Commit: f7b431283449856ae814f29025297493fd819f9f
      https://github.com/llvm/llvm-project/commit/f7b431283449856ae814f29025297493fd819f9f
  Author: Simon Pilgrim <llvm-dev at redking.me.uk>
  Date:   2025-02-04 (Tue, 04 Feb 2025)

  Changed paths:
    M llvm/test/CodeGen/X86/avx512-cmp.ll

  Log Message:
  -----------
  [X86] avx512-cmp.ll - regenerate VPTERNLOG comments


  Commit: deb1ed534d3873f8e3537518a691750b1714edea
      https://github.com/llvm/llvm-project/commit/deb1ed534d3873f8e3537518a691750b1714edea
  Author: Simon Pilgrim <llvm-dev at redking.me.uk>
  Date:   2025-02-04 (Tue, 04 Feb 2025)

  Changed paths:
    M llvm/test/CodeGen/X86/avx512-extract-subvector-load-store.ll

  Log Message:
  -----------
  [X86] avx512-extract-subvector-load-store.ll - regenerate VPTERNLOG comments


  Commit: 186d44181975ff621b33cc91fa8f812caa936c89
      https://github.com/llvm/llvm-project/commit/186d44181975ff621b33cc91fa8f812caa936c89
  Author: Simon Pilgrim <llvm-dev at redking.me.uk>
  Date:   2025-02-04 (Tue, 04 Feb 2025)

  Changed paths:
    M llvm/test/CodeGen/X86/avx512-ext.ll

  Log Message:
  -----------
  [X86] avx512-ext.ll - regenerate VPTERNLOG comments


  Commit: ca02f63edf71c517b7661a444481a3e820145fdb
      https://github.com/llvm/llvm-project/commit/ca02f63edf71c517b7661a444481a3e820145fdb
  Author: Simon Pilgrim <llvm-dev at redking.me.uk>
  Date:   2025-02-04 (Tue, 04 Feb 2025)

  Changed paths:
    M llvm/test/CodeGen/X86/avx512-select.ll

  Log Message:
  -----------
  [X86] avx512-select.ll - regenerate VPTERNLOG comments


  Commit: ffeea84e5e2f1c5ff113e0312da023a227ede571
      https://github.com/llvm/llvm-project/commit/ffeea84e5e2f1c5ff113e0312da023a227ede571
  Author: Simon Pilgrim <llvm-dev at redking.me.uk>
  Date:   2025-02-04 (Tue, 04 Feb 2025)

  Changed paths:
    M llvm/test/CodeGen/X86/avx512-logic.ll

  Log Message:
  -----------
  [X86] avx512-logic.ll - regenerate VPTERNLOG comments


  Commit: 46b1543dc04970719caab0d4f9f65699fea6adbc
      https://github.com/llvm/llvm-project/commit/46b1543dc04970719caab0d4f9f65699fea6adbc
  Author: Simon Pilgrim <llvm-dev at redking.me.uk>
  Date:   2025-02-04 (Tue, 04 Feb 2025)

  Changed paths:
    M llvm/test/CodeGen/X86/avx512-load-store.ll

  Log Message:
  -----------
  [X86] avx512-load-store.ll - regenerate VMOVSD/VMOVSS comments


  Commit: 25f29ee377b1b83b276308c1947de774ee01a4fe
      https://github.com/llvm/llvm-project/commit/25f29ee377b1b83b276308c1947de774ee01a4fe
  Author: Kareem Ergawy <kareem.ergawy at amd.com>
  Date:   2025-02-04 (Tue, 04 Feb 2025)

  Changed paths:
    M flang/lib/Lower/OpenMP/DataSharingProcessor.cpp
    A flang/test/Lower/OpenMP/lastprivate-simd.f90

  Log Message:
  -----------
  [flang][OpenMP] Update all `lastprivate` symbols, not just in clauses (#125628)

Fixes a bug in updating `lastprivate` variables. Previously, we only
iterated over the symbols collected from `lastprivate` clauses. This
meants that for pre-determined symbols, we did not implement the update
correctly (e.g. for loop iteration variables of `simd` constructs).


  Commit: e73a64bbd1733347a2c30e8fb93079b4aa41187a
      https://github.com/llvm/llvm-project/commit/e73a64bbd1733347a2c30e8fb93079b4aa41187a
  Author: vdonaldson <37090318+vdonaldson at users.noreply.github.com>
  Date:   2025-02-04 (Tue, 04 Feb 2025)

  Changed paths:
    M flang/docs/Extensions.md

  Log Message:
  -----------
  [flang][NFC] Document Arm exception raising behavior (#125579)


  Commit: 93b90a532d0ca5a95c226e3d0b37444ef692d3da
      https://github.com/llvm/llvm-project/commit/93b90a532d0ca5a95c226e3d0b37444ef692d3da
  Author: Michael Maitland <michaeltmaitland at gmail.com>
  Date:   2025-02-04 (Tue, 04 Feb 2025)

  Changed paths:
    M llvm/include/llvm/CodeGen/ReachingDefAnalysis.h
    M llvm/lib/CodeGen/ReachingDefAnalysis.cpp
    M llvm/test/CodeGen/RISCV/rda-stack.mir

  Log Message:
  -----------
  [ReachingDefAnalysis] Fix management of MBBFrameObjsReachingDefs (#124943)

MBBFrameObjsReachingDefs was not being built correctly since we were not
inserting into a reference of Frame2InstrIdx. If there was multiple
stack slot defs in the same basic block, then the bug would occur. This
PR fixes this problem while simplifying the insertion logic.

Additionally, when lookup into MBBFrameObjsReachingDefs was occurring,
there was a chance that there was no entry in the map, in the case that
there was no reaching def. This was causing us to return a default
value, which may or may not have been correct. This patch returns the
correct value now.


  Commit: f4c2e5df6f330fc5f31853aaa8287842cc377be0
      https://github.com/llvm/llvm-project/commit/f4c2e5df6f330fc5f31853aaa8287842cc377be0
  Author: Simon Pilgrim <llvm-dev at redking.me.uk>
  Date:   2025-02-04 (Tue, 04 Feb 2025)

  Changed paths:
    M llvm/test/Transforms/SLPVectorizer/X86/revectorized_rdx_crash.ll

  Log Message:
  -----------
  [SLP][X86] revectorized_rdx_crash.ll - regenerate to reduce diff in #118293


  Commit: f4958723b2c1aac32739bfff447a73c2cd3e2c06
      https://github.com/llvm/llvm-project/commit/f4958723b2c1aac32739bfff447a73c2cd3e2c06
  Author: Matheus Izvekov <mizvekov at gmail.com>
  Date:   2025-02-04 (Tue, 04 Feb 2025)

  Changed paths:
    M clang/include/clang/AST/DeclTemplate.h
    M clang/include/clang/Sema/Sema.h
    M clang/lib/AST/ASTImporter.cpp
    M clang/lib/AST/DeclTemplate.cpp
    M clang/lib/AST/JSONNodeDumper.cpp
    M clang/lib/AST/TextNodeDumper.cpp
    M clang/lib/Sema/SemaTemplate.cpp
    M clang/lib/Sema/SemaTemplateDeduction.cpp
    M clang/lib/Sema/SemaTemplateInstantiateDecl.cpp
    M clang/lib/Sema/SemaType.cpp
    M clang/lib/Serialization/ASTReaderDecl.cpp
    M clang/lib/Serialization/ASTWriterDecl.cpp
    M clang/test/AST/ast-dump-templates.cpp
    M clang/test/AST/gen_ast_dump_json_test.py
    M clang/test/SemaTemplate/cwg2398.cpp

  Log Message:
  -----------
  [clang] fix P3310 overload resolution flag propagation (#125372)


  Commit: fe7e280820c8f4a46f49357097d7f6897bd31d41
      https://github.com/llvm/llvm-project/commit/fe7e280820c8f4a46f49357097d7f6897bd31d41
  Author: Alexey Bataev <a.bataev at outlook.com>
  Date:   2025-02-04 (Tue, 04 Feb 2025)

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

  Log Message:
  -----------
  [SLP][NFC]Move functions definitions, NFC

Move functions to use them later in the following patches


  Commit: d5488f157c74332646d2b6e9d16c88e61d5a789e
      https://github.com/llvm/llvm-project/commit/d5488f157c74332646d2b6e9d16c88e61d5a789e
  Author: Craig Topper <craig.topper at sifive.com>
  Date:   2025-02-04 (Tue, 04 Feb 2025)

  Changed paths:
    M llvm/lib/Target/AArch64/AArch64InstrInfo.td

  Log Message:
  -----------
  [AArch64] Combine separate vector and scalar tablegen SDNode record for AArch64ISD::REV16. NFC (#125614)

Relax the SDTypeProfile for AArch64ISD::REV32/REV64 to remove the
requirement that the type be vector.

It's not a good idea to have two different SDNode records with different
SDTypeProfiles. SDTypeProfiles are used to remove some unneeded checks
from the GenDAGISel.inc. Having different SDTypeProfiles can cause
checks to be removed that can create ambiguous matches, but that did not
happen in this case.

With this change the AArchGenDAGISel.inc is identical. The only change
is AArch64GenGlobalISel.inc which now includes scalar patterns for
G_REV16 due to them now being picks up by an SDNodeEquiv. GISel does not
yet use G_REV16 for scalars so this is not a functional change.


  Commit: f7aad60cd1a538fb1eb5ab861f8c29ddba5283a4
      https://github.com/llvm/llvm-project/commit/f7aad60cd1a538fb1eb5ab861f8c29ddba5283a4
  Author: Piotr Fusik <p.fusik at samsung.com>
  Date:   2025-02-04 (Tue, 04 Feb 2025)

  Changed paths:
    M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-masked-gather.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-masked-scatter.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vpgather.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vpscatter.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vwsll.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/vpgather-sdnode.ll
    M llvm/test/CodeGen/RISCV/rvv/vpscatter-sdnode.ll
    M llvm/test/CodeGen/RISCV/rvv/vwsll-sdnode.ll
    M llvm/test/CodeGen/RISCV/rvv/vwsll-vp.ll

  Log Message:
  -----------
  [RISCV] Fold vector shift of sext/zext to widening multiply (#121563)

    (shl (sext X), C) -> (vwmulsu X, 1u << C)
    (shl (zext X), C) -> (vwmulu  X, 1u << C)


  Commit: 389d1359f330c55098d75f00efe03749943d98e7
      https://github.com/llvm/llvm-project/commit/389d1359f330c55098d75f00efe03749943d98e7
  Author: Jerry-Ge <jerry.ge at arm.com>
  Date:   2025-02-04 (Tue, 04 Feb 2025)

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

  Log Message:
  -----------
  [TOSA] fix TileOp description (#125707)

Simple textual fix to match TOSA v1.0 specification:
https://www.mlplatform.org/tosa/tosa_spec.html#_tile

Signed-off-by: Arteen Abrishami <arteen.abrishami at arm.com>
Co-authored-by: Arteen Abrishami <arteen.abrishami at arm.com>


  Commit: bd30838422bc31c90ae6e7119c433159d351ff05
      https://github.com/llvm/llvm-project/commit/bd30838422bc31c90ae6e7119c433159d351ff05
  Author: Razvan Lupusoru <razvan.lupusoru at gmail.com>
  Date:   2025-02-04 (Tue, 04 Feb 2025)

  Changed paths:
    M flang/include/flang/Lower/DirectivesCommon.h
    M flang/include/flang/Optimizer/Builder/DirectivesCommon.h
    M flang/lib/Lower/OpenACC.cpp
    M flang/test/Lower/OpenACC/acc-bounds.f90
    A flang/test/Lower/OpenACC/acc-data-operands-unwrap-defaultbounds.f90
    M flang/test/Lower/OpenACC/acc-data-operands.f90
    A flang/test/Lower/OpenACC/acc-data-unwrap-defaultbounds.f90
    M flang/test/Lower/OpenACC/acc-data.f90
    A flang/test/Lower/OpenACC/acc-declare-unwrap-defaultbounds.f90
    M flang/test/Lower/OpenACC/acc-declare.f90
    A flang/test/Lower/OpenACC/acc-enter-data-unwrap-defaultbounds.f90
    M flang/test/Lower/OpenACC/acc-enter-data.f90
    A flang/test/Lower/OpenACC/acc-exit-data-unwrap-defaultbounds.f90
    M flang/test/Lower/OpenACC/acc-exit-data.f90
    A flang/test/Lower/OpenACC/acc-host-data-unwrap-defaultbounds.f90
    M flang/test/Lower/OpenACC/acc-host-data.f90
    M flang/test/Lower/OpenACC/acc-kernels-loop.f90
    M flang/test/Lower/OpenACC/acc-kernels.f90
    M flang/test/Lower/OpenACC/acc-loop.f90
    M flang/test/Lower/OpenACC/acc-parallel-loop.f90
    M flang/test/Lower/OpenACC/acc-parallel.f90
    A flang/test/Lower/OpenACC/acc-private-unwrap-defaultbounds.f90
    M flang/test/Lower/OpenACC/acc-private.f90
    A flang/test/Lower/OpenACC/acc-reduction-unwrap-defaultbounds.f90
    M flang/test/Lower/OpenACC/acc-reduction.f90
    M flang/test/Lower/OpenACC/acc-serial-loop.f90
    M flang/test/Lower/OpenACC/acc-serial.f90
    M flang/test/Lower/OpenACC/acc-update.f90
    M mlir/include/mlir/Dialect/OpenACC/OpenACCOps.td
    M mlir/lib/Dialect/OpenACC/IR/OpenACC.cpp

  Log Message:
  -----------
  [flang][acc] Improve acc lowering around fir.box and arrays (#125600)

The current implementation of OpenACC lowering includes explicit
expansion of following cases:
- Creation of `acc.bounds` operations for all arrays, including those
whose dimensions are captured in the type (eg `!fir.array<100xf32>`)
- Expansion of box types by only putting the box's address in the data
clause. The address was extracted with a `fir.box_addr` operation and
the bounds were filled with `fir.box_dims` operation.

However, with the creation of the new type interface `MappableType`, the
idea is that specific type-based semantics can now be used. This also
really simplifies representation in the IR. Consider the following
example:
```
subroutine sub(arr)
  real :: arr(:)
  !$acc enter data copyin(arr)
end subroutine
```

Before the current PR, the relevant acc dialect IR looked like:
```
func.func @_QPsub(%arg0: !fir.box<!fir.array<?xf32>> {fir.bindc_name =
"arr"}) {
  ...
  %1:2 = hlfir.declare %arg0 dummy_scope %0 {uniq_name = "_QFsubEarr"} :
(!fir.box<!fir.array<?xf32>>, !fir.dscope) ->
(!fir.box<!fir.array<?xf32>>, !fir.box<!fir.array<?xf32>>)
  %c1 = arith.constant 1 : index
  %c0 = arith.constant 0 : index
  %2:3 = fir.box_dims %1#0, %c0 : (!fir.box<!fir.array<?xf32>>, index)
-> (index, index, index)
  %c0_0 = arith.constant 0 : index
  %3 = arith.subi %2#1, %c1 : index
  %4 = acc.bounds lowerbound(%c0_0 : index) upperbound(%3 : index)
extent(%2#1 : index) stride(%2#2 : index) startIdx(%c1 : index)
{strideInBytes = true}
  %5 = fir.box_addr %1#0 : (!fir.box<!fir.array<?xf32>>) ->
!fir.ref<!fir.array<?xf32>>
  %6 = acc.copyin varPtr(%5 : !fir.ref<!fir.array<?xf32>>) bounds(%4) ->
!fir.ref<!fir.array<?xf32>> {name = "arr", structured = false}
  acc.enter_data dataOperands(%6 : !fir.ref<!fir.array<?xf32>>)
```

After the current change, it looks like:
```
func.func @_QPsub(%arg0: !fir.box<!fir.array<?xf32>> {fir.bindc_name =
"arr"}) {
  ...
  %1:2 = hlfir.declare %arg0 dummy_scope %0 {uniq_name = "_QFsubEarr"} :
(!fir.box<!fir.array<?xf32>>, !fir.dscope) ->
(!fir.box<!fir.array<?xf32>>, !fir.box<!fir.array<?xf32>>)
  %2 = acc.copyin var(%1#0 : !fir.box<!fir.array<?xf32>>) ->
!fir.box<!fir.array<?xf32>> {name = "arr", structured = false}
  acc.enter_data dataOperands(%2 : !fir.box<!fir.array<?xf32>>)
```

Restoring the old behavior can be done with following command line
options:
`--openacc-unwrap-fir-box=true --openacc-generate-default-bounds=true`


  Commit: d8148244e9be9d4c7b12abbdbf275d80d5ba57a5
      https://github.com/llvm/llvm-project/commit/d8148244e9be9d4c7b12abbdbf275d80d5ba57a5
  Author: Nikolas Klauser <nikolasklauser at berlin.de>
  Date:   2025-02-04 (Tue, 04 Feb 2025)

  Changed paths:
    M libcxx/include/__string/constexpr_c_functions.h

  Log Message:
  -----------
  [libc++] Decrease instantiation cost of __constexpr_memmove (#125109)

Using `if constexpr` in `__constexpr_memmove` makes the instantiation
three times faster for the same type, since it avoids a bunch of class
instantiations and SFINAE for constexpr support that's never actually
used. Given that `__constexpr_memmove` is used quite a bit through
`std::copy` and is instantiated multiple times when just including
`<__string/char_traits.h>` this can provide a nice compile time speedup
for a very simple change.


  Commit: 6515fdf73de724d21b6c807ad75f2139c1d7af32
      https://github.com/llvm/llvm-project/commit/6515fdf73de724d21b6c807ad75f2139c1d7af32
  Author: Brox Chen <guochen2 at amd.com>
  Date:   2025-02-04 (Tue, 04 Feb 2025)

  Changed paths:
    M llvm/lib/Target/AMDGPU/SIInstructions.td
    M llvm/test/CodeGen/AMDGPU/minimummaximum.ll
    M llvm/test/CodeGen/AMDGPU/minmax.ll

  Log Message:
  -----------
  [AMDGPU][True16][CodeGen] true16 codegen for FPMinMax pat (#125107)

true16 codegen for FPMinMax Pattern


  Commit: 5eff19f48b6493d52eeab74d9a81867d49f61bbb
      https://github.com/llvm/llvm-project/commit/5eff19f48b6493d52eeab74d9a81867d49f61bbb
  Author: Brox Chen <guochen2 at amd.com>
  Date:   2025-02-04 (Tue, 04 Feb 2025)

  Changed paths:
    M llvm/lib/Target/AMDGPU/SIInstructions.td
    A llvm/test/CodeGen/AMDGPU/GlobalISel/inst-select-fcmp.s16.gfx11plus-fake16.mir
    A llvm/test/CodeGen/AMDGPU/GlobalISel/inst-select-fcmp.s16.gfx11plus.mir
    M llvm/test/CodeGen/AMDGPU/GlobalISel/inst-select-fcmp.s16.mir

  Log Message:
  -----------
  [AMDGPU][True16][Codegen] true16 codegen for FPtoI1 (#125120)

True16 codegen for FPtoi1.

It seems tablegen figured out the pattern even without this pat in
place, and the fptoui/fptosi.ll already got the right transformation.
Aditionally updated the mir file and split it to pre-gfx11 and
post-gfx11.


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

  Changed paths:
    M clang/include/clang/AST/DeclTemplate.h
    M clang/include/clang/Sema/Sema.h
    M clang/lib/AST/ASTImporter.cpp
    M clang/lib/AST/DeclTemplate.cpp
    M clang/lib/AST/JSONNodeDumper.cpp
    M clang/lib/AST/TextNodeDumper.cpp
    M clang/lib/Sema/SemaTemplate.cpp
    M clang/lib/Sema/SemaTemplateDeduction.cpp
    M clang/lib/Sema/SemaTemplateInstantiateDecl.cpp
    M clang/lib/Sema/SemaType.cpp
    M clang/lib/Serialization/ASTReaderDecl.cpp
    M clang/lib/Serialization/ASTWriterDecl.cpp
    M clang/test/AST/ast-dump-templates.cpp
    M clang/test/AST/gen_ast_dump_json_test.py
    M clang/test/SemaTemplate/cwg2398.cpp

  Log Message:
  -----------
  Revert "[clang] fix P3310 overload resolution flag propagation" (#125710)

Reverts llvm/llvm-project#125372 due to lldb builds failing:
https://lab.llvm.org/buildbot/#/builders/59/builds/12223

We need to decide how to update LLDB's code.


  Commit: 5ca136d0e723029e6bef894961701b6ca1b6cd29
      https://github.com/llvm/llvm-project/commit/5ca136d0e723029e6bef894961701b6ca1b6cd29
  Author: Alexey Bataev <a.bataev at outlook.com>
  Date:   2025-02-04 (Tue, 04 Feb 2025)

  Changed paths:
    M llvm/test/Transforms/SLPVectorizer/RISCV/math-function.ll

  Log Message:
  -----------
  [SLP][NFC]Replace undefs with just poison in the test


  Commit: 25daf7bb3934e80b395b3ced53e812d314cb1c86
      https://github.com/llvm/llvm-project/commit/25daf7bb3934e80b395b3ced53e812d314cb1c86
  Author: Kerry McLaughlin <kerry.mclaughlin at arm.com>
  Date:   2025-02-04 (Tue, 04 Feb 2025)

  Changed paths:
    M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
    M llvm/lib/Target/AArch64/SMEInstrFormats.td
    M llvm/lib/Target/AArch64/SMEPeepholeOpt.cpp
    A llvm/test/CodeGen/AArch64/fp8-sme2-cvtn.ll
    A llvm/test/CodeGen/AArch64/luti-with-sme2.ll
    A llvm/test/CodeGen/AArch64/perm-tb-with-sme2.ll
    M llvm/test/CodeGen/AArch64/sme2-fp8-intrinsics-cvt.ll
    M llvm/test/CodeGen/AArch64/sme2-intrinsics-add.ll
    M llvm/test/CodeGen/AArch64/sme2-intrinsics-fp-dots.ll
    M llvm/test/CodeGen/AArch64/sme2-intrinsics-insert-mova.ll
    M llvm/test/CodeGen/AArch64/sme2-intrinsics-int-dots.ll
    M llvm/test/CodeGen/AArch64/sme2-intrinsics-qcvt.ll
    M llvm/test/CodeGen/AArch64/sme2-intrinsics-qrshr.ll

  Log Message:
  -----------
  [AArch64][SME] Extend FORM_TRANSPOSED pseudos to all multi-vector intrinsics (#124258)

All patterns for multi-vector intrinsics should try to use the FORM_TRANSPOSED
pseudos so that they can benefit from register allocation hints when SME is available.

This patch removes the post-isel hook for the pseudo and instead extends the
SMEPeepholeOpt pass to replace a REG_SEQENCE with the pseudo if the
expected pattern of StridedOrContiguous copies is found. With this change,
the tablegen patterns for the intrinsics can remain unchanged.

One test has been added for each multiclass this affects.


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

  Changed paths:
    M libcxx/src/experimental/time_zone.cpp
    M libcxx/test/libcxx/time/time.zone/time.zone.timezone/time.zone.members/get_info.sys_time.pass.cpp

  Log Message:
  -----------
  [libc++][TZDB] Fixes %z escaping. (#125399)

The previous tested TZDB did not contain %z for the rule letters. The
usage of %z in TZDB 2024b revealed a bug in the implementation. The
patch fixes it and has been locally tested with TZDB 2024b.

Fixes #108957


  Commit: b7f0edbc0bd35c8ab4442802ebefba4f7739f72b
      https://github.com/llvm/llvm-project/commit/b7f0edbc0bd35c8ab4442802ebefba4f7739f72b
  Author: Prabhuk <prabhukr at google.com>
  Date:   2025-02-04 (Tue, 04 Feb 2025)

  Changed paths:
    M clang/lib/Driver/ToolChains/UEFI.h
    M clang/unittests/Driver/ToolChainTest.cpp

  Log Message:
  -----------
  [clang] UEFI targets must use CodeView. (#124660)


  Commit: 84fbed86ffcb97c24f9294a204c60da5444b8646
      https://github.com/llvm/llvm-project/commit/84fbed86ffcb97c24f9294a204c60da5444b8646
  Author: Christopher Ferris <cferris1000 at users.noreply.github.com>
  Date:   2025-02-04 (Tue, 04 Feb 2025)

  Changed paths:
    M compiler-rt/lib/scudo/standalone/tests/scudo_unit_test.h
    M compiler-rt/lib/scudo/standalone/tests/secondary_test.cpp

  Log Message:
  -----------
  [scudo] Refactor the secondary test (#125595)

Remove all redundant code and create a couple of structs to handle
automatic init and destruction. This replaces the test fixtures in
prepartion for passing in multiple configs for some of these tests. This
is necessary because not all of the gtest features are supported here,
and there is no easy way to create a test fixture with a template.


  Commit: 906eeeda833b30fb7fdc3b7586de34b65d575b45
      https://github.com/llvm/llvm-project/commit/906eeeda833b30fb7fdc3b7586de34b65d575b45
  Author: Jonas Devlieghere <jonas at devlieghere.com>
  Date:   2025-02-04 (Tue, 04 Feb 2025)

  Changed paths:
    M lldb/include/lldb/API/SBCommandReturnObject.h
    M lldb/include/lldb/Interpreter/CommandReturnObject.h
    M lldb/source/API/SBCommandReturnObject.cpp
    M lldb/source/Interpreter/CommandInterpreter.cpp
    A lldb/test/API/python_api/commandreturnobject/TestSBCommandReturnObject.py

  Log Message:
  -----------
  [lldb] Store the command in the CommandReturnObject (#125132)

As suggested in #125006. Depending on which PR lands first, I'll update
`TestCommandInterepterPrintCallback.py` to check that the
`CommandReturnObject` passed to the callback has the correct command.


  Commit: 21560fe6b9c73133fd86723071877c55106df010
      https://github.com/llvm/llvm-project/commit/21560fe6b9c73133fd86723071877c55106df010
  Author: Robert Imschweiler <50044286+ro-i at users.noreply.github.com>
  Date:   2025-02-04 (Tue, 04 Feb 2025)

  Changed paths:
    M llvm/lib/CodeGen/GlobalISel/IRTranslator.cpp
    M llvm/test/CodeGen/AArch64/GlobalISel/arm64-irtranslator.ll
    A llvm/test/CodeGen/AMDGPU/GlobalISel/promote-dependency-on-invariant-result.ll

  Log Message:
  -----------
  GlobalISel: Fix defined register of invariant.start (#125664)

In contrast to SelectionDAG, GlobalISel created a new virtual register
for the return value of invariant.start, leaving subsequent users of the
invariant.start value with an undefined reference.
A minimal example:
```
  %tmp = alloca i32, align 4, addrspace(5)
  %tmpI = call ptr @llvm.invariant.start.p5(i64 4, ptr addrspace(5) %tmp) #3
  call void @llvm.invariant.end.p5(ptr %tmpI, i64 4, ptr addrspace(5) %tmp) #3
  store i32 %i, ptr %tmpI, align 4
```
Although the return value of invariant.start might not be intended for
any use beyond invariant.end (the fuzzer might not have created a
sensible situation here), an implicit definition of the corresponding
virtual register avoids a segfault in the target instruction selector
later.

This LLVM defect was identified via the AMD Fuzzing project.


  Commit: 97f6e533865c66ea08840be78154099180293094
      https://github.com/llvm/llvm-project/commit/97f6e533865c66ea08840be78154099180293094
  Author: Jonas Devlieghere <jonas at devlieghere.com>
  Date:   2025-02-04 (Tue, 04 Feb 2025)

  Changed paths:
    M lldb/bindings/python/python-swigsafecast.swig
    M lldb/bindings/python/python-typemaps.swig
    M lldb/bindings/python/python-wrapper.swig
    M lldb/include/lldb/API/SBCommandInterpreter.h
    M lldb/include/lldb/API/SBDefines.h
    M lldb/include/lldb/Interpreter/CommandInterpreter.h
    M lldb/include/lldb/lldb-enumerations.h
    M lldb/source/API/SBCommandInterpreter.cpp
    M lldb/source/Interpreter/CommandInterpreter.cpp
    M lldb/source/Plugins/ScriptInterpreter/Python/SWIGPythonBridge.h
    A lldb/test/API/python_api/interpreter_callback/Makefile
    A lldb/test/API/python_api/interpreter_callback/TestCommandInterepterPrintCallback.py
    A lldb/test/API/python_api/interpreter_callback/main.c

  Log Message:
  -----------
  [lldb] Support CommandInterpreter print callbacks (#125006)

Xcode uses a pseudoterminal for the debugger console.

- The upside of this apporach is that it means that it can rely on
LLDB's IOHandlers for multiline and script input.
- The downside of this approach is that the command output is printed to
the PTY and you don't get a SBCommandReturnObject. Adrian added support
for inline diagnostics (#110901) and we'd like to access those from the
IDE.

This patch adds support for registering a callback in the command
interpreter that gives access to the `(SB)CommandReturnObject` right
before it will be printed. The callback implementation can choose
whether it likes to handle printing the result or defer to lldb. If the
callback indicated it handled the result, the command interpreter will
skip printing the result.

We considered a few other alternatives to solve this problem:

- The most obvious one is using `HandleCommand`, which returns a
`SBCommandReturnObject`. The problem with this approach is the multiline
input mentioned above. We would need a way to tell the IDE that it
should expect multiline input, which isn't known until LLDB starts
handling the command.
- To address the multiline issue,we considered exposing (some of the)
IOHandler machinery through the SB API. To solve this particular issue,
that would require reimplementing a ton of logic that already exists
today in the CommandInterpeter. Furthermore that seems like overkill
compared to the proposed solution.

rdar://141254310


  Commit: 63c59dda436fef7ceb4e3a21a95d306435e42720
      https://github.com/llvm/llvm-project/commit/63c59dda436fef7ceb4e3a21a95d306435e42720
  Author: Kazu Hirata <kazu at google.com>
  Date:   2025-02-04 (Tue, 04 Feb 2025)

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

  Log Message:
  -----------
  [Sema] Migrate away from PointerUnion::dyn_cast (NFC) (#125630)

Note that PointerUnion::dyn_cast has been soft deprecated in
PointerUnion.h:

  // FIXME: Replace the uses of is(), get() and dyn_cast() with
  //        isa<T>, cast<T> and the llvm::dyn_cast<T>

Literal migration would result in dyn_cast_if_present (see the
definition of PointerUnion::dyn_cast), but this patch uses dyn_cast
because we expect *Found to be nonnull.  Note that if *Found were
null, cast<VarDecl>(TransformedDecl) would trigger an assertion error.


  Commit: 1fba1860984f4757d04922df63d5cc3d3dcf07be
      https://github.com/llvm/llvm-project/commit/1fba1860984f4757d04922df63d5cc3d3dcf07be
  Author: Kazu Hirata <kazu at google.com>
  Date:   2025-02-04 (Tue, 04 Feb 2025)

  Changed paths:
    M clang/tools/libclang/CIndex.cpp

  Log Message:
  -----------
  [libclang] Migrate away from PointerUnion::dyn_cast (NFC) (#125631)

Note that PointerUnion::dyn_cast has been soft deprecated in
PointerUnion.h:

  // FIXME: Replace the uses of is(), get() and dyn_cast() with
  //        isa<T>, cast<T> and the llvm::dyn_cast<T>

Literal migration would result in dyn_cast_if_present (see the
definition of PointerUnion::dyn_cast), but this patch uses dyn_cast
because we expect Storage to be nonnull.  Note that if Storage were
null, dereferencing Ovl would trigger a segfault.


  Commit: 7fb8285976a2928021b384f79c3598f84e28de7a
      https://github.com/llvm/llvm-project/commit/7fb8285976a2928021b384f79c3598f84e28de7a
  Author: Kazu Hirata <kazu at google.com>
  Date:   2025-02-04 (Tue, 04 Feb 2025)

  Changed paths:
    M llvm/lib/Target/PowerPC/PPCRegisterInfo.h

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


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

  Changed paths:
    M llvm/utils/TableGen/Common/CodeGenTarget.cpp

  Log Message:
  -----------
  [TableGen] Avoid repeated hash lookups (NFC) (#125635)


  Commit: 0c7bd879d28a37e215c0cf02b383e224bc9f2ebf
      https://github.com/llvm/llvm-project/commit/0c7bd879d28a37e215c0cf02b383e224bc9f2ebf
  Author: Kazu Hirata <kazu at google.com>
  Date:   2025-02-04 (Tue, 04 Feb 2025)

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

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

The two "if" conditions are mutually exclusive, so we can put them in
any order.  Reversing the order allows us to remove
Blocks.contains(IncomingBlock) in one of the "if" conditions.


  Commit: 6ab034b828d3a66acca61e28ac41f2e8b300e355
      https://github.com/llvm/llvm-project/commit/6ab034b828d3a66acca61e28ac41f2e8b300e355
  Author: Fangrui Song <i at maskray.me>
  Date:   2025-02-04 (Tue, 04 Feb 2025)

  Changed paths:
    A lld/ELF/BPSectionOrderer.cpp
    A lld/ELF/BPSectionOrderer.h
    M lld/ELF/CMakeLists.txt
    M lld/ELF/Config.h
    M lld/ELF/Driver.cpp
    M lld/ELF/Options.td
    M lld/ELF/Writer.cpp
    M lld/include/lld/Common/BPSectionOrdererBase.inc
    A lld/test/ELF/bp-section-orderer-stress.s
    A lld/test/ELF/bp-section-orderer.s

  Log Message:
  -----------
  [ELF] Add BPSectionOrderer options (#125559)

Reland #120514 after 2f6e3df08a8b7cd29273980e47310cf09c6fdbd8 fixed
iteration order issue and libstdc++/libc++ differences.

---

Both options instruct the linker to optimize section layout with the
following goals:

* `--bp-compression-sort=[data|function|both]`: Improve Lempel-Ziv
compression by grouping similar sections together, resulting in a
smaller compressed app size.
* `--bp-startup-sort=function --irpgo-profile=<file>`: Utilize a
temporal profile file to reduce page faults during program startup.

The linker determines the section order by considering three groups:

* Function sections ordered according to the temporal profile
(`--irpgo-profile=`), prioritizing early-accessed and frequently
accessed functions.
* Function sections. Sections containing similar functions are placed
together, maximizing compression opportunities.
* Data sections. Similar data sections are placed together.

Within each group, the sections are ordered using the Balanced
Partitioning algorithm.

The linker constructs a bipartite graph with two sets of vertices:
sections and utility vertices.

* For profile-guided function sections:
  + The number of utility vertices is determined by the symbol order
within the profile file.
  + If `--bp-compression-sort-startup-functions` is specified, extra
utility vertices are allocated to prioritize nearby function similarity.
* For sections ordered for compression: Utility vertices are determined
by analyzing k-mers of the section content and relocations.

The call graph profile is disabled during this optimization.

When `--symbol-ordering-file=` is specified, sections described in that
file are placed earlier.

Co-authored-by: Pengying Xu <xpy66swsry at gmail.com>


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

  Changed paths:
    M llvm/utils/gn/secondary/lld/ELF/BUILD.gn

  Log Message:
  -----------
  [gn build] Port 6ab034b828d3


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

  Changed paths:
    M llvm/test/DebugInfo/NVPTX/debug-addr-space.ll

  Log Message:
  -----------
  [test] Fix NVPTX/debug-addr-space.ll


  Commit: e8a486ea97895a18e1bba75431d37d9758886084
      https://github.com/llvm/llvm-project/commit/e8a486ea97895a18e1bba75431d37d9758886084
  Author: Pranav Kant <prka at google.com>
  Date:   2025-02-04 (Tue, 04 Feb 2025)

  Changed paths:
    M clang/docs/ReleaseNotes.rst
    M clang/include/clang/Basic/LangOptions.h
    M clang/lib/CodeGen/Targets/X86.cpp
    A clang/test/CodeGen/X86/avx-cxx-record.cpp

  Log Message:
  -----------
  [clang] Return larger CXX records in memory (#120670)

We incorrectly return CXX records in AVX registers when they should be
returned in memory. This is violation of x86-64 psABI.

Detailed discussion is here:
https://groups.google.com/g/x86-64-abi/c/BjOOyihHuqg/m/KurXdUcWAgAJ


  Commit: 03ad7edbb652f17382d71e345492534202c437c9
      https://github.com/llvm/llvm-project/commit/03ad7edbb652f17382d71e345492534202c437c9
  Author: AidinT <at.aidin at gmail.com>
  Date:   2025-02-04 (Tue, 04 Feb 2025)

  Changed paths:
    M mlir/docs/Tutorials/Toy/Ch-4.md

  Log Message:
  -----------
  [mlir][doc][tutorials] Remove docs and code discrepancies (#125422)

Toy tutorial [chapter 4](https://mlir.llvm.org/docs/Tutorials/Toy/Ch-4/)
contains many discrepancies between snippets and code in `example`
directory.
This is a fix for the documentation.


  Commit: f308af757d72412d0d1429f43d93dedcc87c49f0
      https://github.com/llvm/llvm-project/commit/f308af757d72412d0d1429f43d93dedcc87c49f0
  Author: Paweł Bylica <pawel at ethereum.org>
  Date:   2025-02-04 (Tue, 04 Feb 2025)

  Changed paths:
    M llvm/docs/LibFuzzer.rst

  Log Message:
  -----------
  [libfuzzer][docs] Update and clarify Output section (#125075)

In the documentation page for the libfuzzer update the example snippets
of outputs. They are now slightly different than what is documented.

Improve the documentation of the output section `L:`. It now shows two
numbers.

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


  Commit: cd269fee05a0f78fb53b65f701b4e06e9ddab424
      https://github.com/llvm/llvm-project/commit/cd269fee05a0f78fb53b65f701b4e06e9ddab424
  Author: Chandler Carruth <chandlerc at gmail.com>
  Date:   2025-02-04 (Tue, 04 Feb 2025)

  Changed paths:
    M clang/include/clang/Basic/Builtins.h
    R clang/include/clang/Basic/BuiltinsLoongArch.def
    M clang/include/clang/Basic/BuiltinsPPC.def
    M clang/include/clang/Basic/TargetBuiltins.h
    M clang/include/clang/Basic/TargetInfo.h
    M clang/include/module.modulemap
    M clang/lib/Basic/Builtins.cpp
    M clang/lib/Basic/Targets/AArch64.cpp
    M clang/lib/Basic/Targets/AArch64.h
    M clang/lib/Basic/Targets/AMDGPU.cpp
    M clang/lib/Basic/Targets/AMDGPU.h
    M clang/lib/Basic/Targets/ARC.h
    M clang/lib/Basic/Targets/ARM.cpp
    M clang/lib/Basic/Targets/ARM.h
    M clang/lib/Basic/Targets/AVR.h
    M clang/lib/Basic/Targets/BPF.cpp
    M clang/lib/Basic/Targets/BPF.h
    M clang/lib/Basic/Targets/CSKY.cpp
    M clang/lib/Basic/Targets/CSKY.h
    M clang/lib/Basic/Targets/DirectX.h
    M clang/lib/Basic/Targets/Hexagon.cpp
    M clang/lib/Basic/Targets/Hexagon.h
    M clang/lib/Basic/Targets/Lanai.h
    M clang/lib/Basic/Targets/LoongArch.cpp
    M clang/lib/Basic/Targets/LoongArch.h
    M clang/lib/Basic/Targets/M68k.cpp
    M clang/lib/Basic/Targets/M68k.h
    M clang/lib/Basic/Targets/MSP430.h
    M clang/lib/Basic/Targets/Mips.cpp
    M clang/lib/Basic/Targets/Mips.h
    M clang/lib/Basic/Targets/NVPTX.cpp
    M clang/lib/Basic/Targets/NVPTX.h
    M clang/lib/Basic/Targets/PNaCl.h
    M clang/lib/Basic/Targets/PPC.cpp
    M clang/lib/Basic/Targets/PPC.h
    M clang/lib/Basic/Targets/RISCV.cpp
    M clang/lib/Basic/Targets/RISCV.h
    M clang/lib/Basic/Targets/SPIR.cpp
    M clang/lib/Basic/Targets/SPIR.h
    M clang/lib/Basic/Targets/Sparc.h
    M clang/lib/Basic/Targets/SystemZ.cpp
    M clang/lib/Basic/Targets/SystemZ.h
    M clang/lib/Basic/Targets/TCE.h
    M clang/lib/Basic/Targets/VE.cpp
    M clang/lib/Basic/Targets/VE.h
    M clang/lib/Basic/Targets/WebAssembly.cpp
    M clang/lib/Basic/Targets/WebAssembly.h
    M clang/lib/Basic/Targets/X86.cpp
    M clang/lib/Basic/Targets/X86.h
    M clang/lib/Basic/Targets/XCore.cpp
    M clang/lib/Basic/Targets/XCore.h
    M clang/lib/Basic/Targets/Xtensa.h
    M clang/lib/CodeGen/CGBuiltin.cpp
    M clang/lib/CodeGen/CodeGenModule.cpp
    M clang/lib/Sema/SemaChecking.cpp
    M clang/lib/Sema/SemaExpr.cpp
    M clang/lib/StaticAnalyzer/Core/CheckerContext.cpp

  Log Message:
  -----------
  [StrTable] Switch Clang builtins to use string tables

This both reapplies #118734, the initial attempt at this, and updates it
significantly.

First, it uses the newly added `StringTable` abstraction for string
tables, and simplifies the construction to build the string table and
info arrays separately. This should reduce any `constexpr` compile time
memory or CPU cost of the original PR while significantly improving the
APIs throughout.

It also restructures the builtins to support sharding across several
independent tables. This accomplishes two improvements from the
original PR:

1) It improves the APIs used significantly.

2) When builtins are defined from different sources (like SVE vs MVE in
   AArch64), this allows each of them to build their own string table
   independently rather than having to merge the string tables and info
   structures.

3) It allows each shard to factor out a common prefix, often cutting the
   size of the strings needed for the builtins by a factor two.

The second point is important both to allow different mechanisms of
construction (for example a `.def` file and a tablegen'ed `.inc` file,
or different tablegen'ed `.inc files), it also simply reduces the sizes
of these tables which is valuable given how large they are in some
cases. The third builds on that size reduction.

Initially, we use this new sharding rather than merging tables in
AArch64, LoongArch, RISCV, and X86. Mostly this helps ensure the system
works, as without further changes these still push scaling limits.
Subsequent commits will more deeply leverage the new structure,
including using the prefix capabilities which cannot be easily factored
out here and requires deep changes to the targets.


  Commit: 1cb979f001b24c661b7d7adf50d7c9cf8adc593a
      https://github.com/llvm/llvm-project/commit/1cb979f001b24c661b7d7adf50d7c9cf8adc593a
  Author: Chandler Carruth <chandlerc at gmail.com>
  Date:   2025-02-04 (Tue, 04 Feb 2025)

  Changed paths:
    R clang/include/clang/Basic/BuiltinsRISCVVector.def
    M clang/include/clang/Basic/TargetBuiltins.h
    M clang/lib/Basic/Targets/RISCV.cpp
    M clang/utils/TableGen/RISCVVEmitter.cpp

  Log Message:
  -----------
  [StrTable] Switch RISCV to leverage sharded, prefixed builtins w/ TableGen

This lets the TableGen-ed code be much cleaner, directly building an
efficient string table without duplicates and without the repeated
prefix.


  Commit: 64ea3f5a4720105d166b034d5a34d92475579e64
      https://github.com/llvm/llvm-project/commit/64ea3f5a4720105d166b034d5a34d92475579e64
  Author: Chandler Carruth <chandlerc at gmail.com>
  Date:   2025-02-04 (Tue, 04 Feb 2025)

  Changed paths:
    M clang/include/clang/Basic/BuiltinsARM.def
    R clang/include/clang/Basic/BuiltinsNEON.def
    M clang/include/clang/Basic/TargetBuiltins.h
    M clang/lib/Basic/Targets/AArch64.cpp
    M clang/lib/Basic/Targets/ARM.cpp
    M clang/lib/Sema/SemaARM.cpp
    M clang/utils/TableGen/MveEmitter.cpp
    M clang/utils/TableGen/NeonEmitter.cpp
    M clang/utils/TableGen/SveEmitter.cpp

  Log Message:
  -----------
  [StrTable] Switch AArch64 and ARM to use directly TableGen-ed builtin tables

This leverages the sharded structure of the builtins to make it easy to
directly tablegen most of the AArch64 and ARM builtins while still using
X-macros for a few edge cases. It also extracts common prefixes as part
of that.

This makes the string tables for these targets dramatically smaller.
This is especially important as the SVE builtins represent (by far) the
largest string table and largest builtin table across all the targets in
Clang.


  Commit: 212ecb9d5caaa7cc721edd981f36384ddfccfa5d
      https://github.com/llvm/llvm-project/commit/212ecb9d5caaa7cc721edd981f36384ddfccfa5d
  Author: Chandler Carruth <chandlerc at gmail.com>
  Date:   2025-02-04 (Tue, 04 Feb 2025)

  Changed paths:
    M clang/include/clang/AST/Expr.h
    M clang/include/clang/Basic/Builtins.h
    M clang/include/clang/Basic/IdentifierTable.h
    M clang/include/clang/Basic/TargetBuiltins.h
    M clang/lib/AST/StmtPrinter.cpp
    M clang/lib/Basic/Builtins.cpp
    M clang/lib/Basic/Targets/BPF.cpp
    M clang/lib/Basic/Targets/Hexagon.cpp
    M clang/lib/Basic/Targets/NVPTX.cpp
    M clang/lib/Basic/Targets/RISCV.cpp
    M clang/lib/Basic/Targets/SPIR.cpp
    M clang/lib/Basic/Targets/X86.cpp
    M clang/lib/Sema/SemaChecking.cpp
    M clang/test/TableGen/target-builtins-prototype-parser.td
    M clang/utils/TableGen/ClangBuiltinsEmitter.cpp

  Log Message:
  -----------
  [StrTable] Teach main builtin TableGen to use direct enums, strings, and info

This moves the main builtins and several targets to use nice generated
string tables and info structures rather than X-macros. Even without
obvious prefixes factored out, the resulting tables are significantly
smaller and much cheaper to compile with out all the X-macro overhead.

This leaves the X-macros in place for atomic builtins which have a wide
range of uses that don't seem reasonable to fold into TableGen.

As future work, these should move to their own file (whether as X-macros
or just generated patterns) so the AST headers don't have to include all
the data for other builtins.


  Commit: 2ff42bdac3b9a131ce1c652d08edded4eac9d3f7
      https://github.com/llvm/llvm-project/commit/2ff42bdac3b9a131ce1c652d08edded4eac9d3f7
  Author: Chandler Carruth <chandlerc at gmail.com>
  Date:   2025-02-04 (Tue, 04 Feb 2025)

  Changed paths:
    M clang/include/clang/Basic/BuiltinsBase.td
    M clang/include/clang/Basic/BuiltinsX86Base.td
    M clang/lib/Basic/Targets/X86.cpp
    M clang/utils/TableGen/ClangBuiltinsEmitter.cpp

  Log Message:
  -----------
  [StrTable] Add prefixes for x86 builtins.

This requires adding support to the general builtins emission for
producing prefixed builtin infos separately from un-prefixed which is
a bit crufty. But we don't currently have any good way of having a more
refined model than a single hard-coded prefix string per TableGen
emission. Something more powerful and/or elegant is possible, but this
is a fairly minimal first step that at least allows factoring out the
builtin prefix for something like X86.


  Commit: 51d0ad7de0ad4636ae39783469cf555a1392b4ea
      https://github.com/llvm/llvm-project/commit/51d0ad7de0ad4636ae39783469cf555a1392b4ea
  Author: Chandler Carruth <chandlerc at gmail.com>
  Date:   2025-02-04 (Tue, 04 Feb 2025)

  Changed paths:
    M clang/include/clang/Basic/BuiltinsHexagon.td
    M clang/lib/Basic/Targets/Hexagon.cpp

  Log Message:
  -----------
  [StrTable] Add factored prefix for Hexagon

This target's builtins have an especially long prefix and so we get over
2x reduction in string table size required with this change.


  Commit: 6f35a9e7c54d5a3b2ea107b07ece7b376463a0f0
      https://github.com/llvm/llvm-project/commit/6f35a9e7c54d5a3b2ea107b07ece7b376463a0f0
  Author: Corbin Robeck <corbin.robeck at amd.com>
  Date:   2025-02-04 (Tue, 04 Feb 2025)

  Changed paths:
    M mlir/include/mlir/Dialect/LLVMIR/ROCDLOps.td
    M mlir/test/Dialect/LLVMIR/rocdl.mlir
    M mlir/test/Target/LLVMIR/rocdl.mlir

  Log Message:
  -----------
  [MLIR][ROCDL] Add Scale Convert Packed FP8 <-> F32 Support for GFX950 (#125564)

Add Rocdl support for the following GFX950 instructions:

CVT_SCALE_PK_FP8_F32
CVT_SCALE_PK_BF8_F32
CVT_SCALE_SR_FP8_F32
CVT_SCALE_SR_BF8_F32
CVT_SCALE_PK_F32_FP8
CVT_SCALE_PK_F32_BF8
CVT_SCALE_F32_FP8
CVT_SCALE_F32_BF8


  Commit: 3513886c96d685fb3d40b50c3dffceac63fd9c3a
      https://github.com/llvm/llvm-project/commit/3513886c96d685fb3d40b50c3dffceac63fd9c3a
  Author: Thurston Dang <thurston at google.com>
  Date:   2025-02-04 (Tue, 04 Feb 2025)

  Changed paths:
    M llvm/lib/Transforms/Instrumentation/MemorySanitizer.cpp
    M llvm/test/Instrumentation/MemorySanitizer/AArch64/arm64-vaddv.ll

  Log Message:
  -----------
  [msan] Generalize handleVectorReduceIntrinsic to support Arm NEON add reduction to scalar (#125288)

This generalizes handleVectorReduceIntrinsic to allow intrinsics where
the return type is not the same as the fields. This patch then applies
the generalized handleVectorReduceIntrinsic to support the following Arm
NEON add reduction to scalar intrinsics: llvm.aarch64.neon.{faddv,
saddv, uaddv}.

Updates the tests from https://github.com/llvm/llvm-project/pull/125271


  Commit: 3e436a8d18844c4e5bbac9c765573d61b2d29449
      https://github.com/llvm/llvm-project/commit/3e436a8d18844c4e5bbac9c765573d61b2d29449
  Author: Thurston Dang <thurston at google.com>
  Date:   2025-02-04 (Tue, 04 Feb 2025)

  Changed paths:
    M llvm/lib/Transforms/Instrumentation/MemorySanitizer.cpp
    M llvm/test/Instrumentation/MemorySanitizer/vector-reduce-fadd.ll
    M llvm/test/Instrumentation/MemorySanitizer/vector-reduce-fmul.ll

  Log Message:
  -----------
  [msan] Handle Intrinsic::vector_reduce_f{add,mul} (#125615)

This adds handleVectorReduceWithStarterIntrinsic() (similar to
handleVectorReduceIntrinsic but for intrinsics with an additional
starting parameter) and uses it to handle
Intrinsic::vector_reduce_f{add,mul}.

Updates the tests from https://github.com/llvm/llvm-project/pull/125597


  Commit: 560e372555545542353a4b3a3d6bae82af2382f2
      https://github.com/llvm/llvm-project/commit/560e372555545542353a4b3a3d6bae82af2382f2
  Author: Kazu Hirata <kazu at google.com>
  Date:   2025-02-04 (Tue, 04 Feb 2025)

  Changed paths:
    M clang/lib/Frontend/CompilerInvocation.cpp

  Log Message:
  -----------
  [Frontend] Fix the build

This patch fixes:

  clang/lib/Frontend/CompilerInvocation.cpp:3854:16: error:
  enumeration value 'Ver20' not handled in switch [-Werror,-Wswitch]


  Commit: 53d6e59b594639417cdbfcfa2d18cea64acb4009
      https://github.com/llvm/llvm-project/commit/53d6e59b594639417cdbfcfa2d18cea64acb4009
  Author: Jonas Devlieghere <jonas at devlieghere.com>
  Date:   2025-02-04 (Tue, 04 Feb 2025)

  Changed paths:
    M lldb/test/API/python_api/interpreter_callback/TestCommandInterepterPrintCallback.py

  Log Message:
  -----------
  [lldb] Check the command string in TestCommandInterepterPrintCallback

Now that we store the command in the CommandReturnObject (#125132) we
can check the command in the print callback.


  Commit: 2eb44aa0a94a8d4230c1c9a0c306af16bfc92925
      https://github.com/llvm/llvm-project/commit/2eb44aa0a94a8d4230c1c9a0c306af16bfc92925
  Author: Bill Wendling <morbo at google.com>
  Date:   2025-02-04 (Tue, 04 Feb 2025)

  Changed paths:
    M clang/lib/CodeGen/CGBuiltin.cpp
    M clang/test/CodeGen/attr-counted-by.c

  Log Message:
  -----------
  [Clang][counted-by] Bail out of visitor for LValueToRValue cast (#125571)

An LValueToRValue cast shouldn't be ignored, so bail out of the visitor
if we encounter one.


  Commit: 005b23bb3bf0b943db3a6d12b01b2c01789341b8
      https://github.com/llvm/llvm-project/commit/005b23bb3bf0b943db3a6d12b01b2c01789341b8
  Author: Min-Yih Hsu <min.hsu at sifive.com>
  Date:   2025-02-04 (Tue, 04 Feb 2025)

  Changed paths:
    M llvm/include/llvm/CodeGen/TargetLowering.h
    M llvm/lib/CodeGen/InterleavedAccessPass.cpp
    M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
    M llvm/lib/Target/RISCV/RISCVISelLowering.h
    A llvm/test/CodeGen/RISCV/rvv/vp-vector-interleaved-access.ll

  Log Message:
  -----------
  [IA][RISCV] Support VP loads/stores in InterleavedAccessPass (#120490)

Teach InterleavedAccessPass to recognize the following patterns:
  - vp.store an interleaved scalable vector
  - Deinterleaving a scalable vector loaded from vp.load

Upon recognizing these patterns, IA will collect the interleaved /
deinterleaved operands and delegate them over to their respective
newly-added TLI hooks.

For RISC-V, these patterns are lowered into segmented loads/stores

Right now we only recognized power-of-two (de)interleave cases, in which
(de)interleave4/8 are synthesized from a tree of (de)interleave2.

---------

Co-authored-by: Nikolay Panchenko <nicholas.panchenko at gmail.com>


  Commit: d13940ee263ff50b7a71e21424913cc0266bf9d4
      https://github.com/llvm/llvm-project/commit/d13940ee263ff50b7a71e21424913cc0266bf9d4
  Author: Diego Caballero <dieg0ca6aller0 at gmail.com>
  Date:   2025-02-04 (Tue, 04 Feb 2025)

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

  Log Message:
  -----------
  [mlir][Vector] Teach how to materialize UB constant to Vector (#125596)

This PR adds support for UB constant materialization (i.e., generating
`ub::PoisonOp` to `VectorDialect::materializeConstant`. This was the
reason why the vector folders generating poison didn't work.


  Commit: c8ca486573adc1affcedee02c6eedc49db3e9245
      https://github.com/llvm/llvm-project/commit/c8ca486573adc1affcedee02c6eedc49db3e9245
  Author: Soren Lassen <sorenlassen at gmail.com>
  Date:   2025-02-04 (Tue, 04 Feb 2025)

  Changed paths:
    M mlir/include/mlir/IR/OpImplementation.h
    M mlir/lib/AsmParser/AsmParserImpl.h
    M mlir/lib/AsmParser/Parser.cpp
    M mlir/lib/AsmParser/Parser.h
    M mlir/lib/IR/AsmPrinter.cpp
    M mlir/test/Bytecode/resources.mlir
    M mlir/test/IR/dense-resource-elements-attr.mlir
    M mlir/test/IR/pretty-resources-print.mlir

  Log Message:
  -----------
  [MLIR] print/parse resource handle key quoted and escaped (#119746)

resource keys have the problem that you can’t parse them from mlir
assembly if they have special or non-printable characters, but nothing
prevents you from specifying such a key when you create e.g. a
DenseResourceElementsAttr, and it works fine in other ways, including
bytecode emission and parsing

this PR solves the parsing by quoting and escaping keys with special or
non-printable characters in mlir assembly, in the same way as symbols,
e.g.:
```
module attributes {
  fst = dense_resource<resource_fst> : tensor<2xf16>,
  snd = dense_resource<"resource\09snd"> : tensor<2xf16>
} {}

{-#
  dialect_resources: {
    builtin: {
      resource_fst: "0x0200000001000200",
      "resource\09snd": "0x0200000008000900"
    }
  }
#-}
```

by not quoting keys without special or non-printable characters, the
change is effectively backwards compatible

the change is tested by:
1. adding a test with a dense resource handle key with special
characters to `dense-resource-elements-attr.mlir`
2. adding special and unprintable characters to some resource keys in
the existing lit tests `pretty-resources-print.mlir` and
`mlir/test/Bytecode/resources.mlir`


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

  Changed paths:
    M flang/lib/Semantics/assignment.cpp
    M flang/lib/Semantics/assignment.h
    M flang/test/Semantics/cuf18.cuf

  Log Message:
  -----------
  [flang][cuda] Relax semanctic check in cuf kernel and openacc compute constructs (#125750)

Previous patch was too restrictive and didn't take into account cuf
kernels and openacc compute constructs as being device context.


  Commit: 837bf325528440ab0a73b31f810a39d6f8bec53e
      https://github.com/llvm/llvm-project/commit/837bf325528440ab0a73b31f810a39d6f8bec53e
  Author: Yingwei Zheng <dtcxzyw2333 at gmail.com>
  Date:   2025-02-05 (Wed, 05 Feb 2025)

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

  Log Message:
  -----------
  [ValueTracking] Remove unused `V ^ Mask == C` from `computeKnownBitsFromCmp`. NFCI. (#125666)

I believe it is unused since we always convert it into `V == Mask ^ C`.
Code coverage:
https://dtcxzyw.github.io/llvm-opt-benchmark/coverage/data/zyw/opt-ci/actions-runner/_work/llvm-opt-benchmark/llvm-opt-benchmark/llvm/llvm-project/llvm/lib/Analysis/ValueTracking.cpp.html#L706


  Commit: 3c2807624d2006fa8aacf9c6441c9a3034a52b44
      https://github.com/llvm/llvm-project/commit/3c2807624d2006fa8aacf9c6441c9a3034a52b44
  Author: Tom Tromey <tom at tromey.com>
  Date:   2025-02-04 (Tue, 04 Feb 2025)

  Changed paths:
    M llvm/lib/CodeGen/AsmPrinter/DwarfUnit.cpp
    M llvm/lib/CodeGen/AsmPrinter/DwarfUnit.h
    M llvm/test/DebugInfo/Generic/discriminated-union.ll

  Log Message:
  -----------
  Allow 128-bit discriminants in DWARF variants (#125578)

If a variant part has a 128-bit discriminator, then
DwarfUnit::constructTypeDIE will assert.  This patch fixes the problem
by allowing any size of integer to be used here.  This is largely
accomplished by moving part of DwarfUnit::addConstantValue to a new
method.

Fixes #119655


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

  Changed paths:
    M llvm/lib/Transforms/InstCombine/InstCombineAndOrXor.cpp
    M llvm/test/Transforms/InstCombine/xor-icmps.ll

  Log Message:
  -----------
  [InstCombine] Fold xor of bittests into bittest of xor'd value (#125676)

Motivating case:
https://github.com/llvm/llvm-project/blob/64927af52a3bedf2b20d6cdd98bb47d9bba630f9/llvm/lib/Analysis/ValueTracking.cpp#L8600-L8602

It is translated into `xor (X & 2) != 0, (Y & 2) != 0`.
Alive2: https://alive2.llvm.org/ce/z/dJehZ8


  Commit: 704389591117e8e7e044cf2319be901e138266bb
      https://github.com/llvm/llvm-project/commit/704389591117e8e7e044cf2319be901e138266bb
  Author: Florian Hahn <flo at fhahn.com>
  Date:   2025-02-04 (Tue, 04 Feb 2025)

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

  Log Message:
  -----------
  [VPlan] Remove dead VPBB argument from tryTo[Create]Widen[Recipe] (NFC)

The functions now use VPBuilder to insert recipes and the VPBB argument
is unused. Clean it up.


  Commit: 1e7624ca4f3c9df14242b532eeb9497c67bc4074
      https://github.com/llvm/llvm-project/commit/1e7624ca4f3c9df14242b532eeb9497c67bc4074
  Author: Roland McGrath <mcgrathr at google.com>
  Date:   2025-02-04 (Tue, 04 Feb 2025)

  Changed paths:
    M libc/test/src/compiler/stack_chk_guard_test.cpp

  Log Message:
  -----------
  [libc] Make LlvmLibcStackChkFail.Smash test compatible with asan, hwasan (#125763)

Previously this test was entirely disabled under asan, but not
hwasan.  Instead of disabling the test, make the test compatible
with both asan and hwasan by disabling sanitizers only on the
subroutine that does the stack-smashing.


  Commit: 692db7403b4ad10311b7e8c85a0fc7de5bc32017
      https://github.com/llvm/llvm-project/commit/692db7403b4ad10311b7e8c85a0fc7de5bc32017
  Author: Andreas Jonson <andjo403 at hotmail.com>
  Date:   2025-02-04 (Tue, 04 Feb 2025)

  Changed paths:
    M llvm/test/Transforms/InstSimplify/assume-non-zero.ll
    M llvm/test/Transforms/InstSimplify/compare.ll
    M llvm/test/Transforms/InstSimplify/shr-nop.ll

  Log Message:
  -----------
  [ValueTracking] Precommit test for #118406


  Commit: c798a5c4d5c3c8cb21e6001f505d8f44217c2244
      https://github.com/llvm/llvm-project/commit/c798a5c4d5c3c8cb21e6001f505d8f44217c2244
  Author: Sam Clegg <sbc at chromium.org>
  Date:   2025-02-04 (Tue, 04 Feb 2025)

  Changed paths:
    M llvm/include/llvm/BinaryFormat/Wasm.h
    M llvm/lib/Object/WasmObjectFile.cpp
    A llvm/test/Object/Wasm/data-offsets.yaml
    M llvm/test/ObjectYAML/wasm/global_section.yaml
    A llvm/test/ObjectYAML/wasm/invalidate_data_offset.yaml

  Log Message:
  -----------
  [Object][WebAssembly] Fix data segment offsets higher than 2^31 (#125739)

Fixes: #58555


  Commit: 9ccf03861550d3bfceb828f1d1ae2210cf1eda5a
      https://github.com/llvm/llvm-project/commit/9ccf03861550d3bfceb828f1d1ae2210cf1eda5a
  Author: Akshay Deodhar <adeodhar at nvidia.com>
  Date:   2025-02-04 (Tue, 04 Feb 2025)

  Changed paths:
    M llvm/lib/Target/NVPTX/NVPTXISelDAGToDAG.cpp
    M llvm/lib/Target/NVPTX/NVPTXInstrInfo.td
    M llvm/lib/Target/NVPTX/NVPTXSubtarget.h
    A llvm/test/CodeGen/NVPTX/fence-cluster.ll
    A llvm/test/CodeGen/NVPTX/fence-nocluster.ll
    R llvm/test/CodeGen/NVPTX/fence-sm-90.ll
    R llvm/test/CodeGen/NVPTX/fence.ll
    A llvm/test/CodeGen/NVPTX/fence.py
    M llvm/test/CodeGen/NVPTX/lit.local.cfg

  Log Message:
  -----------
  [NVPTX] Support for fence.acquire and fence.release (#124865)

Adds codegen support for fence.acquire and fence.release, a script and
generated tests for all possible legal fences, and cleans up some
tablegen rules.


  Commit: 806e35175bc66f002cc600ab23abe221c905ef98
      https://github.com/llvm/llvm-project/commit/806e35175bc66f002cc600ab23abe221c905ef98
  Author: Tom Stellard <tstellar at redhat.com>
  Date:   2025-02-04 (Tue, 04 Feb 2025)

  Changed paths:
    M .github/workflows/build-ci-container.yml

  Log Message:
  -----------
  workflows/build-ci-container: Fix container push (#125610)

After the changes in 89001d1de8ecf03c8820594ea03345b99560272a, the
container pushes failed, because it was attempting to push the same
container twice. This fixes the sed expression used to push the :latest
alias for each container.


  Commit: c9fccbd90cadfad53d68a199cd11c7afc2d01378
      https://github.com/llvm/llvm-project/commit/c9fccbd90cadfad53d68a199cd11c7afc2d01378
  Author: Thurston Dang <thurston at google.com>
  Date:   2025-02-04 (Tue, 04 Feb 2025)

  Changed paths:
    A llvm/test/Instrumentation/MemorySanitizer/AArch64/arm64-fminv.ll

  Log Message:
  -----------
  [msan][NFCI] Add tests for Arm NEON floating-point min/max (vector) (#125729)

Currently handled (suboptimally) by handleUnknownInstruction:
- llvm.aarch64.neon.fmaxv (Floating-point Maximum (vector))
- llvm.aarch64.neon.fminv
- llvm.aarch64.neon.fmaxnmv (Floating-point Maximum Number across
Vector)
- llvm.aarch64.neon.fminnmv
(not to be mistaken with llvm.aarch64.neon.f{max,min}, which are
correctly handled by `maybeHandleSimpleNomemIntrinsic`)

Forked from llvm/test/CodeGen/AArch64/arm64-fminv.ll


  Commit: 0572580dd040a81dc69b798e202550d51d17204a
      https://github.com/llvm/llvm-project/commit/0572580dd040a81dc69b798e202550d51d17204a
  Author: Tom Stellard <tstellar at redhat.com>
  Date:   2025-02-04 (Tue, 04 Feb 2025)

  Changed paths:
    M .github/workflows/release-binaries.yml

  Log Message:
  -----------
  workflows/release-binaries: Enable PGO (#124442)

Co-authored-by: Carlo Cabrera <github at carlo.cab>


  Commit: 32be90db269a6dbb876b99f6ef3df6563f66315a
      https://github.com/llvm/llvm-project/commit/32be90db269a6dbb876b99f6ef3df6563f66315a
  Author: goldsteinn <35538541+goldsteinn at users.noreply.github.com>
  Date:   2025-02-04 (Tue, 04 Feb 2025)

  Changed paths:
    M clang/tools/clang-format/clang-format.el

  Log Message:
  -----------
  [emacs][clang-format] Add elisp API for clang-format on git diffs (#112792)

New proposed function `clang-format-vc-diff`.

It is the same as calling `clang-format-region` on all diffs between
the content of a buffer-file and the content of the file at git
revision HEAD. This is essentially the same thing as:
    `git-clang-format -f {filename}`
If the current buffer is saved.

The motivation is many project (LLVM included) both have code that is
non-compliant with there clang-format style and disallow unrelated
format diffs in PRs. This means users can't just run
`clang-format-buffer` on the buffer they are working on, and need to
manually go through all the regions by hand to get them
formatted. This is both an error prone and annoying workflow.


  Commit: 724fde34a5e9ae36c687a6bfbd3a50af805a62d6
      https://github.com/llvm/llvm-project/commit/724fde34a5e9ae36c687a6bfbd3a50af805a62d6
  Author: Thurston Dang <thurston at google.com>
  Date:   2025-02-04 (Tue, 04 Feb 2025)

  Changed paths:
    A llvm/test/Instrumentation/MemorySanitizer/AArch64/arm64-vaddlv.ll

  Log Message:
  -----------
  [msan][NFCI] Add tests for sum long across vector (#125761)

Currently handled (suboptimally) by handleUnknownInstruction:
- llvm.aarch64.neon.saddlv
- llvm.aarch64.neon.uaddlv

Forked from llvm/test/CodeGen/AArch64/arm64-vaddlv.ll


  Commit: 8cc7f747cc61eddaec4cfdb9e981c15616a1e6bf
      https://github.com/llvm/llvm-project/commit/8cc7f747cc61eddaec4cfdb9e981c15616a1e6bf
  Author: Renaud Kauffmann <rkauffmann at nvidia.com>
  Date:   2025-02-04 (Tue, 04 Feb 2025)

  Changed paths:
    M flang/test/Lower/CUDA/cuda-intrinsic.cuf

  Log Message:
  -----------
  [flang][cuda][NFC] Adding missing tests (#125755)

I thought I had added tests together with
https://github.com/llvm/llvm-project/pull/125276
But there are still in my sandbox. These are the tests that were meant
for this PR.


  Commit: 13432e07f65a0e0c2eaf8a0c2fc81aa7bd3ddd23
      https://github.com/llvm/llvm-project/commit/13432e07f65a0e0c2eaf8a0c2fc81aa7bd3ddd23
  Author: Elvis Wang <elvis.wang at sifive.com>
  Date:   2025-02-05 (Wed, 05 Feb 2025)

  Changed paths:
    M llvm/lib/Target/RISCV/RISCVTargetTransformInfo.cpp
    M llvm/test/Analysis/CostModel/RISCV/vp-intrinsics.ll

  Log Message:
  -----------
  [RISCV][TTI] Implement instruction cost for vp.splice.  (#124221)

This patch implement the instruction cost for vp.splice intrinsic.

To support type-based query for LV, adding a constant index when quering
`getShuffleCost()`. We get the same cost no matter what 
`index` is because it only change the cost from `vslide.vx` to
`vslide.vi` and
the cost of `vslide.vx` is same as `vslide.vi` in current
RISCV implementation.


  Commit: 88e7b8b81c061113399637f936937ffaf5a9bc08
      https://github.com/llvm/llvm-project/commit/88e7b8b81c061113399637f936937ffaf5a9bc08
  Author: Alexey Bataev <a.bataev at outlook.com>
  Date:   2025-02-04 (Tue, 04 Feb 2025)

  Changed paths:
    M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
    M llvm/test/Transforms/SLPVectorizer/AArch64/div.ll
    M llvm/test/Transforms/SLPVectorizer/X86/buildvector-with-reuses.ll
    M llvm/test/Transforms/SLPVectorizer/X86/crash_clear_undefs.ll
    M llvm/test/Transforms/SLPVectorizer/X86/reduction-transpose.ll
    M llvm/test/Transforms/SLPVectorizer/reduction-gather-non-scheduled-extracts.ll
    M llvm/test/Transforms/SLPVectorizer/scalarazied-result.ll

  Log Message:
  -----------
  [SLP]Use TTI::getScalarizationOverhead where possible

Better to use TTI::getScalarizationOverhead instead of
TTI::getVectorInstrCost to correctly calculate the costs of
buildvectors/extracts.

Reviewers: RKSimon

Reviewed By: RKSimon

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


  Commit: b84ac58dce65ea94994c24f40a14208c47f8119f
      https://github.com/llvm/llvm-project/commit/b84ac58dce65ea94994c24f40a14208c47f8119f
  Author: Lang Hames <lhames at gmail.com>
  Date:   2025-02-05 (Wed, 05 Feb 2025)

  Changed paths:
    M llvm/include/llvm/ExecutionEngine/Orc/Shared/MachOObjectFormat.h
    M llvm/lib/ExecutionEngine/Orc/MachOPlatform.cpp
    M llvm/lib/ExecutionEngine/Orc/Shared/MachOObjectFormat.cpp

  Log Message:
  -----------
  [ORC] Rename MachOCompactUnwindSectionName to MachOUnwindInfoSectionName.

a1ff2d18466 should have disambiguated MachOCompactUnwindInfoSectionName to
MachOUnwindInfoSectionName, given how it's used in MachOPlatform and its
value.

A MachOCompactUnwindSectionName variable with an appropriate value will be
added in an upcoming patch to re-enable compact-unwind support in JITLink.


  Commit: 52b5e3638a39e977bebb491312a6f7c53314efec
      https://github.com/llvm/llvm-project/commit/52b5e3638a39e977bebb491312a6f7c53314efec
  Author: Lang Hames <lhames at gmail.com>
  Date:   2025-02-05 (Wed, 05 Feb 2025)

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

  Log Message:
  -----------
  [ORC] Fix eh-frame record target finding in MachOPlatform.

Unwind-info records only have one keep-alive edge to their target function, but
eh-frame records may have multiple edges (to the CIE, function, personality, and
lsda). We need to identify the target-function edge differently for each section
type.


  Commit: e8d437f827144061d051ecf199d4075bef317285
      https://github.com/llvm/llvm-project/commit/e8d437f827144061d051ecf199d4075bef317285
  Author: Ben Jackson <puremourning at users.noreply.github.com>
  Date:   2025-02-04 (Tue, 04 Feb 2025)

  Changed paths:
    M lldb/source/API/SBTarget.cpp
    A lldb/test/API/python_api/watchpoint/TestWatchpointRead.py
    M lldb/test/API/python_api/watchpoint/watchlocation/TestTargetWatchAddress.py

  Log Message:
  -----------
  [lldb] WatchAddress ignores modify option (#124847)

The WatchAddress API includes a flag to indicate if watchpoint should be
for read, modify or both. This API uses 2 booleans, but the 'modify'
flag was ignored and WatchAddress unconditionally watched write
(actually modify).

We now only watch for modify when the modify flag is true.

---

The included test fails prior to this patch and succeeds after. That is
previously specifying `False` for `modify` would still stop on _write_,
but after the patch correctly only stops on _read_


  Commit: 66ce716676c49d93d8a6c2ed557f182befaa4ded
      https://github.com/llvm/llvm-project/commit/66ce716676c49d93d8a6c2ed557f182befaa4ded
  Author: Roland McGrath <mcgrathr at google.com>
  Date:   2025-02-04 (Tue, 04 Feb 2025)

  Changed paths:
    M libc/test/src/compiler/stack_chk_guard_test.cpp

  Log Message:
  -----------
  Revert "[libc] Make LlvmLibcStackChkFail.Smash test compatible with asan, hwasan" (#125785)

Reverts llvm/llvm-project#125763

This causes failures in asan. More thought is needed.


  Commit: 7dca2c628c12c8e32c36ded864f93628d40ad13d
      https://github.com/llvm/llvm-project/commit/7dca2c628c12c8e32c36ded864f93628d40ad13d
  Author: Alexey Bataev <a.bataev at outlook.com>
  Date:   2025-02-04 (Tue, 04 Feb 2025)

  Changed paths:
    M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
    M llvm/test/Transforms/SLPVectorizer/AArch64/accelerate-vector-functions-inseltpoison.ll
    M llvm/test/Transforms/SLPVectorizer/AArch64/accelerate-vector-functions.ll
    M llvm/test/Transforms/SLPVectorizer/NVPTX/vectorizable-intrinsic.ll
    M llvm/test/Transforms/SLPVectorizer/RISCV/math-function.ll
    M llvm/test/Transforms/SLPVectorizer/X86/alternate-calls-inseltpoison.ll
    M llvm/test/Transforms/SLPVectorizer/X86/alternate-calls.ll
    M llvm/test/Transforms/SLPVectorizer/X86/call.ll
    M llvm/test/Transforms/SLPVectorizer/X86/extract_in_tree_user.ll
    M llvm/test/Transforms/SLPVectorizer/X86/intrinsic.ll
    M llvm/test/Transforms/SLPVectorizer/X86/intrinsic_with_scalar_param.ll
    M llvm/test/Transforms/SLPVectorizer/X86/powi-regression.ll
    M llvm/test/Transforms/SLPVectorizer/X86/powi.ll
    M llvm/test/Transforms/SLPVectorizer/X86/sin-sqrt.ll

  Log Message:
  -----------
  [SLP]Gather scalarized calls

If the calls won't be vectorized, but will be scalarized after
vectorization, they should be build as buildvector nodes, not vector
nodes. Vectorization of such calls leads to incorrect cost estimation,
does not allow to calculate correctly spills costs.

Reviewers: lukel97, preames

Reviewed By: preames

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


  Commit: 4055be55b8814b31256ca3c8840bc73bbe5e3d0f
      https://github.com/llvm/llvm-project/commit/4055be55b8814b31256ca3c8840bc73bbe5e3d0f
  Author: Pranav Kant <prka at google.com>
  Date:   2025-02-04 (Tue, 04 Feb 2025)

  Changed paths:
    M clang/test/CodeGen/X86/avx-cxx-record.cpp

  Log Message:
  -----------
  Fix broken clang codegen test (avx-cxx-record.cpp) (#125787)

Fixes e8a486ea97895a18e1bba75431d37d9758886084


  Commit: 48415777ea6a0367800b3b37493263ff613f57f6
      https://github.com/llvm/llvm-project/commit/48415777ea6a0367800b3b37493263ff613f57f6
  Author: Sam Clegg <sbc at chromium.org>
  Date:   2025-02-04 (Tue, 04 Feb 2025)

  Changed paths:
    M llvm/include/llvm/BinaryFormat/Wasm.h
    M llvm/lib/Object/WasmObjectFile.cpp
    R llvm/test/Object/Wasm/data-offsets.yaml
    M llvm/test/ObjectYAML/wasm/global_section.yaml
    R llvm/test/ObjectYAML/wasm/invalidate_data_offset.yaml

  Log Message:
  -----------
  Revert "[Object][WebAssembly] Fix data segment offsets higher than 2^31 (#125739)" (#125786)

This reverts commit c798a5c4d5c3c8cb21e6001f505d8f44217c2244.

This broke bunch of test the emscripten side. Reverting while we
investigate.


  Commit: c67148d8460c7c106c9137b3d4dfdf989de82a4a
      https://github.com/llvm/llvm-project/commit/c67148d8460c7c106c9137b3d4dfdf989de82a4a
  Author: Lang Hames <lhames at gmail.com>
  Date:   2025-02-05 (Wed, 05 Feb 2025)

  Changed paths:
    M llvm/lib/ExecutionEngine/Orc/LinkGraphLinkingLayer.cpp
    M llvm/lib/ExecutionEngine/Orc/RTDyldObjectLinkingLayer.cpp

  Log Message:
  -----------
  [ORC] Add note to call endSession to assertion messages.

The most likely cause of these assertions is a failure to call endSession. The
new message should clients spot the issue more easily.


  Commit: 7a52b93837123488cd86151f82655979e1397453
      https://github.com/llvm/llvm-project/commit/7a52b93837123488cd86151f82655979e1397453
  Author: Steven Wu <stevenwu at apple.com>
  Date:   2025-02-04 (Tue, 04 Feb 2025)

  Changed paths:
    M clang/include/clang/Tooling/DependencyScanning/DependencyScanningTool.h
    M clang/include/clang/Tooling/DependencyScanning/DependencyScanningWorker.h
    M clang/lib/Tooling/DependencyScanning/DependencyScanningTool.cpp
    M clang/lib/Tooling/DependencyScanning/DependencyScanningWorker.cpp
    A clang/test/ClangScanDeps/tu-buffer.c
    M clang/tools/clang-scan-deps/ClangScanDeps.cpp
    M clang/tools/clang-scan-deps/Opts.td

  Log Message:
  -----------
  [DependencyScanning] Add ability to scan TU with a buffer input (#125111)

Update Dependency scanner so it can scan the dependency of a TU with
a provided buffer rather than relying on the on disk file system to
provide the input file.


  Commit: 65683b081fd049750e57d95a311575a3ba324344
      https://github.com/llvm/llvm-project/commit/65683b081fd049750e57d95a311575a3ba324344
  Author: Elvis Wang <elvis.wang at sifive.com>
  Date:   2025-02-05 (Wed, 05 Feb 2025)

  Changed paths:
    M llvm/test/Analysis/CostModel/RISCV/vp-intrinsics.ll

  Log Message:
  -----------
  [RISCV][TTI] Fix test fails for #124221 NFC. (#125792)


  Commit: 4c3169d24c9ed5851799af509b295f8723ffd627
      https://github.com/llvm/llvm-project/commit/4c3169d24c9ed5851799af509b295f8723ffd627
  Author: Longsheng Mou <longshengmou at gmail.com>
  Date:   2025-02-05 (Wed, 05 Feb 2025)

  Changed paths:
    M mlir/lib/Dialect/Arith/Transforms/EmulateWideInt.cpp
    M mlir/test/Dialect/Arith/emulate-wide-int-unsupported.mlir

  Log Message:
  -----------
  [mlir][arith] EmulateWideInt only support `vector.print` (#124510)

This PR fixes a bug where dynamically legal operations were added for
all vector operations, but only `vector.print` was supported, leading to
a crash. Fixes #73381.


  Commit: 5f247e76dfa69d487b82d58c05ef7a68bcc602c9
      https://github.com/llvm/llvm-project/commit/5f247e76dfa69d487b82d58c05ef7a68bcc602c9
  Author: Mingming Liu <mingmingl at google.com>
  Date:   2025-02-04 (Tue, 04 Feb 2025)

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

  Log Message:
  -----------
  [NFC]Refactor static data splitter (#125758)

This is a split of https://github.com/llvm/llvm-project/pull/125756


  Commit: 642288247d0eb59069797f15cdd0f51b41d558c6
      https://github.com/llvm/llvm-project/commit/642288247d0eb59069797f15cdd0f51b41d558c6
  Author: Eugene Epshteyn <59377284+eugeneepshteyn at users.noreply.github.com>
  Date:   2025-02-04 (Tue, 04 Feb 2025)

  Changed paths:
    M clang/include/clang/Driver/Options.td
    M clang/lib/Driver/ToolChains/Flang.cpp
    M flang/include/flang/Common/Fortran-features.h
    M flang/lib/Common/Fortran-features.cpp
    M flang/lib/Frontend/CompilerInvocation.cpp
    M flang/lib/Semantics/resolve-names.cpp
    A flang/test/Semantics/implicit17.f90

  Log Message:
  -----------
  [flang] Add support for -fimplicit-none-ext option (#125248)

When -fimplicit-none-ext is passed, flang behaves as if "implicit
none(external)" was specified for all relevant constructs in Fortran
source file.

Note: implicit17.f90 was based on implicit07.f90 with `implicit
none(external)` removed and `-fimplicit-none-ext` added.


  Commit: c6eef00a096e6f3176b8fce84ce4cef6c6e2af5f
      https://github.com/llvm/llvm-project/commit/c6eef00a096e6f3176b8fce84ce4cef6c6e2af5f
  Author: Diego Caballero <dieg0ca6aller0 at gmail.com>
  Date:   2025-02-04 (Tue, 04 Feb 2025)

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

  Log Message:
  -----------
  [mlir][Vector] Add `vector.shuffle` fold for poison inputs (#125608)

https://github.com/llvm/llvm-project/pull/124863 added folding support
for poison indices to `vector.shuffle`. This PR adds support for folding
`vector.shuffle` ops with one or two poison input vectors.


  Commit: 375df714db8bfd3755e69af36d5ab7ae51988f0a
      https://github.com/llvm/llvm-project/commit/375df714db8bfd3755e69af36d5ab7ae51988f0a
  Author: Jianjian Guan <jacquesguan at me.com>
  Date:   2025-02-05 (Wed, 05 Feb 2025)

  Changed paths:
    M mlir/lib/Target/Cpp/TranslateToCpp.cpp
    M mlir/test/Target/Cpp/expressions.mlir

  Log Message:
  -----------
  [emitc] Fix precedence when emit emit.expression (#124087)

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


  Commit: 19a41358ff859f8d4d71659ea2715f84b682502c
      https://github.com/llvm/llvm-project/commit/19a41358ff859f8d4d71659ea2715f84b682502c
  Author: Luke Lau <luke at igalia.com>
  Date:   2025-02-05 (Wed, 05 Feb 2025)

  Changed paths:
    M llvm/lib/Target/RISCV/RISCVVLOptimizer.cpp
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-fp.ll
    M llvm/test/CodeGen/RISCV/rvv/vl-opt-instrs.ll

  Log Message:
  -----------
  [RISCV][VLOPT] Add support for Single-Width Floating-Point Fused Multiply-Add Instructions (#125652)

These instructions have EEW=SEW for all operands.


  Commit: 9de581b206eceac331aa26e13b62a9a35bfd406f
      https://github.com/llvm/llvm-project/commit/9de581b206eceac331aa26e13b62a9a35bfd406f
  Author: Lang Hames <lhames at gmail.com>
  Date:   2025-02-05 (Wed, 05 Feb 2025)

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

  Log Message:
  -----------
  [ORC] Moch MachOPlatform unwind-info fixes.

Some eh-frame records are CIEs, which don't point to functions. We need to skip
these records. This patch reuses EHFrameCFIBlockInspector to identify function
targets, rather than a custom loop. Any performance impact will be minimal, and
essentially irrelevant once compact-unwind support re-lands (since at that
point we'll discard most eh-frame records).

For unwind-info sections: don't assume one block per record: the unwind-info
section packs all records into a single block.


  Commit: e433fc3ce3155860e5f07c8bbc790b117a45e33f
      https://github.com/llvm/llvm-project/commit/e433fc3ce3155860e5f07c8bbc790b117a45e33f
  Author: Shubham Sandeep Rastogi <srastogi22 at apple.com>
  Date:   2025-02-04 (Tue, 04 Feb 2025)

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

  Log Message:
  -----------
  [NFC] Add error checking for InlinedAts.

The DroppedVariableStats::calculateDroppedStatsAndPrint should check if
it's InlinedAts stack contains the the function name that is being
accessed to make sure that a pass did not create a new function
declaration which may then lead to a crash. For example, in hot-cold
splitting, the Module before the pass will not contain the newly created
cold function and can cause a crash when trying to access the InlinedAts
stack with the function name of the newly created cold function.


  Commit: fc4210fb6c5a42b3838091a97a00ed1fba042ef0
      https://github.com/llvm/llvm-project/commit/fc4210fb6c5a42b3838091a97a00ed1fba042ef0
  Author: Konstantin Zhuravlyov <kzhuravl_dev at outlook.com>
  Date:   2025-02-04 (Tue, 04 Feb 2025)

  Changed paths:
    M llvm/docs/AMDGPUUsage.rst

  Log Message:
  -----------
  AMDGPU/Docs: Fix target properties for gfx9-4-generic (#125593)

gfx9-4-generic has architected flat scratch, not absolute


  Commit: 6b3cbf2a0f9bbec20b55b966c876b2f461593713
      https://github.com/llvm/llvm-project/commit/6b3cbf2a0f9bbec20b55b966c876b2f461593713
  Author: Philip Reames <preames at rivosinc.com>
  Date:   2025-02-04 (Tue, 04 Feb 2025)

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

  Log Message:
  -----------
  [RISCV] Decompose locally repeating shuffles (without exact VLEN) (#125735)

High LMUL shuffles are expensive on typical SIMD implementations.
Without exact vector length knowledge, we struggle to map elements
within the vector to the register within the vector register group.
However, there are some patterns where we can perform a vector length
agnostic (VLA) shuffle by leveraging knowledge of the pattern performed
even without the ability to map individual elements to registers. An
existing in tree example is vector reverse.

This patch introduces another such case. Specifically, if we have a
shuffle where the a local rearrangement of elements is happening within
a 128b (really zvlNb) chunk, and we're applying the same pattern to each
chunk, we can decompose a high LMUL shuffle into a linear number of m1
shuffles. We take advantage of the fact the tail of the operation is
undefined, and repeat the pattern for all elements in the source
register group - not just the ones the fixed vector type covers.

This is an optimization for typical SIMD vrgather designs, but could be
a pessimation on hardware for which vrgather's execution cost is not
independent of the runtime VL.


  Commit: 54acda2e0ebdf240deeef4d51fc3240c5548dbb7
      https://github.com/llvm/llvm-project/commit/54acda2e0ebdf240deeef4d51fc3240c5548dbb7
  Author: Qiongsi Wu <qiongsiwu at gmail.com>
  Date:   2025-02-04 (Tue, 04 Feb 2025)

  Changed paths:
    M clang/include/clang/Tooling/DependencyScanning/DependencyScanningService.h
    M clang/lib/Tooling/DependencyScanning/ModuleDepCollector.cpp
    A clang/test/ClangScanDeps/modules-context-hash-cwd.c
    M clang/test/ClangScanDeps/working-dir.m
    M clang/tools/clang-scan-deps/ClangScanDeps.cpp

  Log Message:
  -----------
  [clang module] Current Working Directory Pruning (#124786)

When computing the context hash, `clang` always includes the compiler's
working directory. This can lead to situations when the only difference
between two compilations is the working directory, different module
variants are generated. These variants are redundant. This PR implements
an optimization that ignores the working directory when computing the
context hash when safe.

Specifically, `clang` checks if it is safe to ignore the working
directory in `isSafeToIgnoreCWD`. The check involves going through
compile command options to see if any paths specified are relative. The
definition of relative path used here is that the input path is not
empty, and `llvm::sys::path::is_absolute` is false. If all the paths
examined are not relative, `clang` considers it safe to ignore the
current working directory and does not consider the working directory
when computing the context hash.


  Commit: 048f533244d537a1451ab2d2979faa762252d37d
      https://github.com/llvm/llvm-project/commit/048f533244d537a1451ab2d2979faa762252d37d
  Author: Brian Cain <brian.cain at oss.qualcomm.com>
  Date:   2025-02-04 (Tue, 04 Feb 2025)

  Changed paths:
    M llvm/lib/Target/Hexagon/BitTracker.h

  Log Message:
  -----------
  [Hexagon] Fix -Wuninitialized warning (#125565)

`gcc (GCC) 14.2.1 20240910` reports the warning below on the baseline,
this change fixes the warning.

In file included from
/home/user/CLionProjects/llvm-project/llvm/lib/Target/Hexagon/BitTracker.cpp:55:

/home/user/CLionProjects/llvm-project/llvm/lib/Target/Hexagon/BitTracker.h:
In constructor ‘llvm::BitTracker::UseQueueType::UseQueueType()’:

/home/user/CLionProjects/llvm-project/llvm/lib/Target/Hexagon/BitTracker.h:75:27:
warning: member ‘llvm::BitTracker::UseQueueType::Dist’ is used
uninitialized [-Wuninitialized]
       75 |     UseQueueType() : Uses(Dist) {}
          |                           ^~~~

Fixes #125545


  Commit: 05a09e6e559e8253d49cc61052711f0c200129bf
      https://github.com/llvm/llvm-project/commit/05a09e6e559e8253d49cc61052711f0c200129bf
  Author: Uday Bondhugula <uday at polymagelabs.com>
  Date:   2025-02-05 (Wed, 05 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
    M mlir/test/Dialect/Affine/loop-fusion-3.mlir
    M mlir/test/Dialect/Affine/loop-fusion-inner.mlir
    M mlir/test/Dialect/Affine/loop-fusion.mlir

  Log Message:
  -----------
  [MLIR][Affine] Extend/generalize MDG to properly add edges between non-affine ops (#125451)

Drop arbitrary checks and hacks from affine fusion MDG construction and
handle all ops using memory read/write effects. This has been a long
pending change and it now makes affine fusion more powerful in the
presence of non-affine ops and does not limit fusion in parts of the
block where it is feasible simply because of non-affine ops elsewhere or
intervening non-affine users.

Populate memref read and write ops in non-affine region holding ops and
non-affine ops at the top level of the Block properly; add the
appropriate edges to MDG. Use memory read-write effects and drop
assumptions and special handling of ops due to historic reasons.

Update MDG to drop unnecessary "unhandled region" hack. This hack is no
longer needed with the update to fully and properly construct the MDG.

MDG edges now capture dependences between nodes completely. Drop
non-affine users check. With the MDG generalization to properly include
edges
between non-affine nodes/operations, the non-affine users on path check
in fusion is no longer needed. Add more test cases to exercise MDG
generalization.

Drop unnecessary failure when encountering side-effect-free affine.if
ops.

Improve documentation on MDG.


  Commit: 0815b0e7ce4da6486a94e4634823667c54d9168c
      https://github.com/llvm/llvm-project/commit/0815b0e7ce4da6486a94e4634823667c54d9168c
  Author: Luke Lau <luke at igalia.com>
  Date:   2025-02-05 (Wed, 05 Feb 2025)

  Changed paths:
    M llvm/lib/Target/RISCV/RISCVISelDAGToDAG.cpp
    M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
    M llvm/lib/Target/RISCV/RISCVInstrInfoVVLPatterns.td
    M llvm/test/CodeGen/RISCV/rvv/fmaximum-sdnode.ll
    M llvm/test/CodeGen/RISCV/rvv/fminimum-sdnode.ll
    M llvm/test/CodeGen/RISCV/rvv/setcc-fp-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/setcc-fp.ll
    M llvm/test/CodeGen/RISCV/rvv/vfadd-sdnode.ll
    M llvm/test/CodeGen/RISCV/rvv/vfdiv-sdnode.ll
    M llvm/test/CodeGen/RISCV/rvv/vfmadd-sdnode.ll
    M llvm/test/CodeGen/RISCV/rvv/vfmax-sdnode.ll
    M llvm/test/CodeGen/RISCV/rvv/vfmin-sdnode.ll
    M llvm/test/CodeGen/RISCV/rvv/vfmul-sdnode.ll
    M llvm/test/CodeGen/RISCV/rvv/vfsub-sdnode.ll

  Log Message:
  -----------
  [RISCV] Don't custom lower direct fp_extends where possible (#125644)

This avoids lowering scalable fp_extends that don't need multiple
extends (i.e. f16->f32, f32->f64) to _vl nodes, but converts them back
during DAG preprocessing so we don't need to add any more patterns.

Keeping the nodes in their generic SDNode form matches more splat
patterns


  Commit: 12fff8db4bec295951257c83b7135d9046c84c09
      https://github.com/llvm/llvm-project/commit/12fff8db4bec295951257c83b7135d9046c84c09
  Author: Paul Carabas <paul-ioan.carabas at intel.com>
  Date:   2025-02-04 (Tue, 04 Feb 2025)

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

  Log Message:
  -----------
  [mlir][LLVMIR] Add support for tan intrinsic op (#125748)

This patch adds support for Tan trig. function intrinsic in LLVM dialect
& adds missing import/export tests for Sin


  Commit: 3ac1cb6d3028b9f95a61c2612a13306532ddca14
      https://github.com/llvm/llvm-project/commit/3ac1cb6d3028b9f95a61c2612a13306532ddca14
  Author: Thurston Dang <thurston at google.com>
  Date:   2025-02-04 (Tue, 04 Feb 2025)

  Changed paths:
    A llvm/test/Instrumentation/MemorySanitizer/scmp.ll
    A llvm/test/Instrumentation/MemorySanitizer/ucmp.ll

  Log Message:
  -----------
  [msan][NFCI] Add llvm.[us]cmp (starship operator) tests (#125790)

llvm.[us]cmp is correctly handled heuristically when each parameter 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)

Forked from llvm/test/CodeGen/X86/[us]cmp.ll


  Commit: 51b0517a5e44ab3864551035f0df52ab33e2f74c
      https://github.com/llvm/llvm-project/commit/51b0517a5e44ab3864551035f0df52ab33e2f74c
  Author: Luke Lau <luke at igalia.com>
  Date:   2025-02-05 (Wed, 05 Feb 2025)

  Changed paths:
    M llvm/lib/Target/RISCV/RISCVInstrInfoVVLPatterns.td
    M llvm/test/CodeGen/RISCV/rvv/vreductions-fp-vp.ll

  Log Message:
  -----------
  [RISCV] Don't check extop VL in vfwred{u,o}sum patterns (#125799)

Because riscv_fpextend_vl doesn't have a passthru operand the tail
elements are undef, so we can treat them as if they were active.

Relaxing this allows us to match widening reductions where the fpextend
isn't a VP intrinsic.

This same reasoning is already used for riscv_fpextend_vl in
RISCVInstrInfoVSDPatterns.td


  Commit: 20637e7fa7649b181333e2b07b0afd1aab37128e
      https://github.com/llvm/llvm-project/commit/20637e7fa7649b181333e2b07b0afd1aab37128e
  Author: Luke Lau <luke at igalia.com>
  Date:   2025-02-05 (Wed, 05 Feb 2025)

  Changed paths:
    M llvm/lib/Target/RISCV/RISCVTargetTransformInfo.cpp
    M llvm/test/CodeGen/RISCV/rvv/sink-splat-operands.ll

  Log Message:
  -----------
  [RISCV] Sink splatted fpext operands (#125800)

We sink splatted operands in codegenprepare to help match .vx/.vf
patterns. This extends it to also splat any fpext so that we can match
widening vfwadd.vf/vfwadd.wf patterns too.

Some instructions don't have .wf forms so there's no benefit to sinking
the fpext. For simplicity this sinks them anyway and lets
earlymachine-licm hoist them back out.


  Commit: 79762a10e454f7d966e131ab9109c4444fe976e6
      https://github.com/llvm/llvm-project/commit/79762a10e454f7d966e131ab9109c4444fe976e6
  Author: Alex Bradbury <asb at igalia.com>
  Date:   2025-02-05 (Wed, 05 Feb 2025)

  Changed paths:
    M llvm/test/Transforms/LoopIdiom/memset-pattern-tbaa.ll
    M llvm/test/Transforms/LoopIdiom/struct_pattern.ll
    M llvm/test/Transforms/LoopIdiom/unroll-custom-dl.ll
    M llvm/test/Transforms/LoopIdiom/unroll.ll

  Log Message:
  -----------
  [test][LoopIidiom][NFC] Add --check-globals to several tests

This reduces the diff for upcoming changes. In some cases there were
already CHECK lines for the globals, but re-running update_test_check.py
deletes them without --check-globals being added. For
memset-pattern-tbaa.ll, the globals weren't checked but should have
been.


  Commit: 31bd82cdcc37df0ce19c6cf771d89a2afb80fa89
      https://github.com/llvm/llvm-project/commit/31bd82cdcc37df0ce19c6cf771d89a2afb80fa89
  Author: Craig Topper <craig.topper at sifive.com>
  Date:   2025-02-04 (Tue, 04 Feb 2025)

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

  Log Message:
  -----------
  [TableGen] Don't try to move CheckOpcode before CheckType/CheckChildType in ContractNodes. NFC

It appears that CheckOpcode is already emitted before CheckType so
this hasn't been doing anything on any in tree targets.


  Commit: d5a2638ae98746d9382231a0f04b11a5415b5e8e
      https://github.com/llvm/llvm-project/commit/d5a2638ae98746d9382231a0f04b11a5415b5e8e
  Author: Ryosuke Niwa <rniwa at webkit.org>
  Date:   2025-02-04 (Tue, 04 Feb 2025)

  Changed paths:
    M clang/lib/StaticAnalyzer/Checkers/WebKit/UncountedLambdaCapturesChecker.cpp
    M clang/test/Analysis/Checkers/WebKit/uncounted-lambda-captures.cpp

  Log Message:
  -----------
  [webkit.UncountedLambdaCapturesChecker] Fix a bug that the checker didn't take the object pointer into account. (#125662)

When a callee is a method call (e.g. calling a lambda), we need to skip
the object pointer to match the parameter list with the call arguments.
This manifests as a bug that the checker erroneously generate a warning
for a lambda capture (L1) which is passed to a no-escape argument of
another lambda (L2).


  Commit: b85e71b9f2a961fd54777b5aef43b75d8a836214
      https://github.com/llvm/llvm-project/commit/b85e71b9f2a961fd54777b5aef43b75d8a836214
  Author: Sameer Sahasrabuddhe <sameer.sahasrabuddhe at amd.com>
  Date:   2025-02-05 (Wed, 05 Feb 2025)

  Changed paths:
    M clang/lib/CodeGen/CGStmt.cpp
    M llvm/include/llvm/IR/IntrinsicInst.h
    M llvm/lib/IR/IntrinsicInst.cpp

  Log Message:
  -----------
  [llvm] Create() functions for ConvergenceControlInst (#125627)


  Commit: a47c35a699ae29e63cfdffd3679639125219d175
      https://github.com/llvm/llvm-project/commit/a47c35a699ae29e63cfdffd3679639125219d175
  Author: Christudasan Devadasan <christudasan.devadasan at amd.com>
  Date:   2025-02-05 (Wed, 05 Feb 2025)

  Changed paths:
    M llvm/include/llvm/CodeGen/MachineScheduler.h
    M llvm/include/llvm/CodeGen/TargetInstrInfo.h
    M llvm/include/llvm/CodeGen/TargetPassConfig.h
    M llvm/include/llvm/Target/TargetMachine.h
    M llvm/lib/CodeGen/MachinePipeliner.cpp
    M llvm/lib/CodeGen/MachineScheduler.cpp
    M llvm/lib/CodeGen/WindowScheduler.cpp
    M llvm/lib/Target/AArch64/AArch64MacroFusion.h
    M llvm/lib/Target/AArch64/AArch64TargetMachine.cpp
    M llvm/lib/Target/AArch64/AArch64TargetMachine.h
    M llvm/lib/Target/AMDGPU/AMDGPUMacroFusion.h
    M llvm/lib/Target/AMDGPU/AMDGPUTargetMachine.cpp
    M llvm/lib/Target/AMDGPU/AMDGPUTargetMachine.h
    M llvm/lib/Target/AMDGPU/R600TargetMachine.cpp
    M llvm/lib/Target/AMDGPU/R600TargetMachine.h
    M llvm/lib/Target/ARM/ARMLatencyMutations.h
    M llvm/lib/Target/ARM/ARMMacroFusion.h
    M llvm/lib/Target/ARM/ARMTargetMachine.cpp
    M llvm/lib/Target/ARM/ARMTargetMachine.h
    M llvm/lib/Target/Hexagon/HexagonTargetMachine.cpp
    M llvm/lib/Target/Hexagon/HexagonTargetMachine.h
    M llvm/lib/Target/PowerPC/PPCMacroFusion.h
    M llvm/lib/Target/PowerPC/PPCTargetMachine.cpp
    M llvm/lib/Target/PowerPC/PPCTargetMachine.h
    M llvm/lib/Target/RISCV/RISCVTargetMachine.cpp
    M llvm/lib/Target/RISCV/RISCVTargetMachine.h
    M llvm/lib/Target/SystemZ/SystemZTargetMachine.cpp
    M llvm/lib/Target/SystemZ/SystemZTargetMachine.h
    M llvm/lib/Target/X86/X86MacroFusion.h
    M llvm/lib/Target/X86/X86TargetMachine.cpp
    M llvm/lib/Target/X86/X86TargetMachine.h

  Log Message:
  -----------
  [CodeGen] Move MISched target hooks into TargetMachine (#125700)

The createSIMachineScheduler & createPostMachineScheduler
target hooks are currently placed in the PassConfig interface.
Moving it out to TargetMachine so that both legacy and
the new pass manager can effectively use them.


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

  Changed paths:
    M clang/lib/AST/ASTContext.cpp
    M clang/lib/Serialization/ASTReaderDecl.cpp
    A clang/test/Modules/pr125521.cppm

  Log Message:
  -----------
  [C++20] [Modules] Don't diagnose duplicated friend declarations between modules incorrectly

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

We shouldn't use the ownership information for friend declarations to do
anything.


  Commit: 1d22318b81b24817d2887adc6c3e586fdcf3a100
      https://github.com/llvm/llvm-project/commit/1d22318b81b24817d2887adc6c3e586fdcf3a100
  Author: Christudasan Devadasan <christudasan.devadasan at amd.com>
  Date:   2025-02-05 (Wed, 05 Feb 2025)

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

  Log Message:
  -----------
  [MachineVerifier][NewPM] Add method to run MF through verifier. (#125701)


  Commit: 68e7df395ee076f0c56c27aaf67152361dc00c75
      https://github.com/llvm/llvm-project/commit/68e7df395ee076f0c56c27aaf67152361dc00c75
  Author: Christudasan Devadasan <christudasan.devadasan at amd.com>
  Date:   2025-02-05 (Wed, 05 Feb 2025)

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

  Log Message:
  -----------
  [CodeGen][MachineScheduler] Remove the unimplemented print method. (#125702)


  Commit: 1d8c8d5dd0b73ee4285ab03e5ffa9bcc62a4a4d1
      https://github.com/llvm/llvm-project/commit/1d8c8d5dd0b73ee4285ab03e5ffa9bcc62a4a4d1
  Author: Pengcheng Wang <wangpengcheng.pp at bytedance.com>
  Date:   2025-02-05 (Wed, 05 Feb 2025)

  Changed paths:
    A llvm/test/CodeGen/RISCV/memmove.ll

  Log Message:
  -----------
  [RISCV] Add test coverage for memmove (#120232)


  Commit: 5aa4979c47255770cac7b557f3e4a980d0131d69
      https://github.com/llvm/llvm-project/commit/5aa4979c47255770cac7b557f3e4a980d0131d69
  Author: Christudasan Devadasan <christudasan.devadasan at amd.com>
  Date:   2025-02-05 (Wed, 05 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:
  -----------
  CodeGen][NewPM] Port MachineScheduler to NPM. (#125703)


  Commit: 53672671bdba1b8ee09b2819b71872b7319b5190
      https://github.com/llvm/llvm-project/commit/53672671bdba1b8ee09b2819b71872b7319b5190
  Author: Pengcheng Wang <wangpengcheng.pp at bytedance.com>
  Date:   2025-02-05 (Wed, 05 Feb 2025)

  Changed paths:
    M llvm/test/CodeGen/RISCV/rvv/abd.ll

  Log Message:
  -----------
  [RISCV] Enable RVV ABD tests with i64 elements (#124246)

The comment says it will crash but the crash has been fixed.


  Commit: 8d037b9256298ceaccbfcc1a2ed42a81ba4ee073
      https://github.com/llvm/llvm-project/commit/8d037b9256298ceaccbfcc1a2ed42a81ba4ee073
  Author: Mel Chen <mel.chen at sifive.com>
  Date:   2025-02-05 (Wed, 05 Feb 2025)

  Changed paths:
    M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
    M llvm/test/Transforms/LoopVectorize/RISCV/vplan-vp-call-intrinsics.ll
    M llvm/test/Transforms/LoopVectorize/RISCV/vplan-vp-cast-intrinsics.ll
    M llvm/test/Transforms/LoopVectorize/RISCV/vplan-vp-intrinsics-reduction.ll
    M llvm/test/Transforms/LoopVectorize/RISCV/vplan-vp-intrinsics.ll
    M llvm/test/Transforms/LoopVectorize/RISCV/vplan-vp-select-intrinsics.ll

  Log Message:
  -----------
  [LV][EVL] Skip tryAddExplicitVectorLength for plans with scalar VF. (#125497)

The plans with scalar VF should not be transformed the plans folded by
EVL.

TODO: Move the scalar VF checking into `LoopVectorizationCostModel
::foldTailWithEVL()`.


  Commit: e90f9b4027c8781785e8ee1a0342b16963f56b11
      https://github.com/llvm/llvm-project/commit/e90f9b4027c8781785e8ee1a0342b16963f56b11
  Author: Timm Baeder <tbaeder at redhat.com>
  Date:   2025-02-05 (Wed, 05 Feb 2025)

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

  Log Message:
  -----------
  [clang][bytecode] Print desriptor PrimType in dump() (#125726)


  Commit: 16c721f2d1bf5ebbde1b3df103761b45f266a5ec
      https://github.com/llvm/llvm-project/commit/16c721f2d1bf5ebbde1b3df103761b45f266a5ec
  Author: Timm Baeder <tbaeder at redhat.com>
  Date:   2025-02-05 (Wed, 05 Feb 2025)

  Changed paths:
    M clang/lib/AST/ByteCode/Function.h
    M clang/lib/AST/ByteCode/InterpFrame.cpp
    M clang/test/AST/ByteCode/cxx20.cpp

  Log Message:
  -----------
  [clang][bytecode] Destroy local variables in reverse order (#125727)

See the attached test case.


  Commit: 44f638f88e1dc867bcd973b87bac1eda800b3b7c
      https://github.com/llvm/llvm-project/commit/44f638f88e1dc867bcd973b87bac1eda800b3b7c
  Author: Christudasan Devadasan <christudasan.devadasan at amd.com>
  Date:   2025-02-05 (Wed, 05 Feb 2025)

  Changed paths:
    A llvm/include/llvm/CodeGen/PostRASchedulerList.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/PostRASchedulerList.cpp
    M llvm/lib/Passes/PassBuilder.cpp
    M llvm/test/CodeGen/AMDGPU/bundle-latency.mir
    M llvm/test/CodeGen/AMDGPU/cluster-flat-loads-postra.mir
    M llvm/test/CodeGen/AMDGPU/hazard-kill.mir
    M llvm/test/CodeGen/AMDGPU/misched-killflags.mir
    M llvm/test/CodeGen/AMDGPU/movrels-bug.mir
    M llvm/test/CodeGen/AMDGPU/post-ra-sched-kill-bundle-use-inst.mir
    M llvm/test/CodeGen/ARM/vldmia-sched.mir
    M llvm/test/CodeGen/Hexagon/bank-conflict-load.mir
    M llvm/test/CodeGen/Hexagon/bank-conflict.mir
    M llvm/test/CodeGen/X86/post-ra-sched-with-debug.mir
    M llvm/test/CodeGen/X86/pr27681.mir

  Log Message:
  -----------
  CodeGen][NewPM] Port PostRAScheduler to NPM. (#125798)


  Commit: 409fa785d99b3e9f8210b72641d58947e6687fb1
      https://github.com/llvm/llvm-project/commit/409fa785d99b3e9f8210b72641d58947e6687fb1
  Author: Albert Huang <Albert.huang at armchina.com>
  Date:   2025-02-05 (Wed, 05 Feb 2025)

  Changed paths:
    M llvm/lib/Target/ARM/ARMProcessors.td
    M llvm/test/CodeGen/Thumb2/avoidmuls.mir

  Log Message:
  -----------
  [ARM] Add "avoidmuls" to STAR-MC1 also (#123706)

PR #112540 as the reference.


  Commit: 646d352ab0d0a9cfafa3f2c9c415b5773834ad5b
      https://github.com/llvm/llvm-project/commit/646d352ab0d0a9cfafa3f2c9c415b5773834ad5b
  Author: Amit Kumar Pandey <137622562+ampandey-1995 at users.noreply.github.com>
  Date:   2025-02-05 (Wed, 05 Feb 2025)

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

  Log Message:
  -----------
  [OpenMP][ASan] Enable ASan Instrumentation for AMDGPUOpenMPToolChain. (#124754)

Enable device code ASan instrumentation for openmp offload applications
using option '-fsanitize=address'.


  Commit: 0074a462f1e62ed1df4ac13107043305ba7b8781
      https://github.com/llvm/llvm-project/commit/0074a462f1e62ed1df4ac13107043305ba7b8781
  Author: Madhur Amilkanthwar <madhura at nvidia.com>
  Date:   2025-02-05 (Wed, 05 Feb 2025)

  Changed paths:
    M llvm/lib/Transforms/Scalar/LoopInterchange.cpp
    M llvm/test/Transforms/LoopInterchange/loop-interchange-optimization-remarks.ll
    A llvm/test/Transforms/LoopInterchange/no-dependence-info.ll
    M llvm/test/Transforms/LoopInterchange/pr43326-ideal-access-pattern.ll
    M llvm/test/Transforms/LoopInterchange/pr43326.ll
    M llvm/test/Transforms/LoopInterchange/pr48212.ll
    M llvm/test/Transforms/LoopInterchange/reductions-across-inner-and-outer-loop.ll

  Log Message:
  -----------
  [LoopInterchange] Hoist isComputableLoopNest() in the control flow (#124247)

The profiling of the LLVM Test-suite reveals that a significant portion,
specifically 14,090 out of 139,323, loop nests were identified as
non-viable candidates for transformation, leading to the transform
exiting from isComputableLoopNest() without any action.

More importantly, dependence information was computed for these loop
nests before reaching the function isComputableLoopNest(), which does
not require DI and relies solely on scalar evolution (SE).

To enhance compile-time efficiency, this patch moves the call to
isComputableLoopNest() earlier in the control-flow, thereby avoiding
unnecessary dependence calculations.

The impact of this change is evident on the compile-time-tracker, with
the overall geometric mean improvement recorded at 0.11%, while the
lencode benchmark gets a more substantial benefit of 0.44%.
This improvement can be tracked in the isc-ln-exp-2 branch under my
repo.


  Commit: ad38c4c625765c0319433b8c87852fbe40a1f7fd
      https://github.com/llvm/llvm-project/commit/ad38c4c625765c0319433b8c87852fbe40a1f7fd
  Author: Pavel Labath <pavel at labath.sk>
  Date:   2025-02-05 (Wed, 05 Feb 2025)

  Changed paths:
    M lldb/docs/resources/lldbgdbremote.md

  Log Message:
  -----------
  [lldb] Document lldb `x` packet deprecation. (#125682)


  Commit: 84b0c128a751acfbf5b439edc724ba27d1da653e
      https://github.com/llvm/llvm-project/commit/84b0c128a751acfbf5b439edc724ba27d1da653e
  Author: Daniil Kovalev <dkovalev at accesssoftek.com>
  Date:   2025-02-05 (Wed, 05 Feb 2025)

  Changed paths:
    M clang/include/clang/Basic/TargetInfo.h
    M clang/lib/Basic/Targets/AArch64.cpp
    M clang/lib/Basic/Targets/AArch64.h
    M clang/lib/Basic/Targets/ARM.cpp
    M clang/lib/Basic/Targets/ARM.h
    M clang/lib/CodeGen/Targets/AArch64.cpp
    M clang/lib/CodeGen/Targets/ARM.cpp
    M clang/lib/Driver/ToolChains/Clang.cpp
    M clang/lib/Sema/SemaDeclAttr.cpp
    M clang/test/Driver/aarch64-ptrauth.c
    A clang/test/Frontend/aarch64-ignore-branch-protection-attribute.c

  Log Message:
  -----------
  [PAC] Do not support some values of branch-protection with ptrauth-returns (#125280)

This patch does two things.

1. Previously, when checking driver arguments, we emitted an error for
unsupported values of `-mbranch-protection` when using pauthtest ABI.
The reason for that was ptrauth-returns being enabled as part of
pauthtest. This patch changes the check against pauthtest to a check
against ptrauth-returns.

2. Similarly, check against values of the following function attribute
which are unsupported with ptrauth-returns:
`__attribute__((target("branch-protection=XXX`. Note that existing
`validateBranchProtection` function is used, and current behavior is to
ignore the unsupported attribute value, so no error is emitted.


  Commit: eae6d6d18bd4d9e7dfe5fc1206d23d8ef663c8c7
      https://github.com/llvm/llvm-project/commit/eae6d6d18bd4d9e7dfe5fc1206d23d8ef663c8c7
  Author: Lang Hames <lhames at gmail.com>
  Date:   2025-02-05 (Wed, 05 Feb 2025)

  Changed paths:
    M clang/test/Interpreter/simple-exception.cpp
    M compiler-rt/lib/orc/macho_platform.cpp
    A compiler-rt/test/orc/TestCases/Darwin/Generic/exceptions.cpp
    M llvm/include/llvm/ExecutionEngine/Orc/Core.h
    M llvm/include/llvm/ExecutionEngine/Orc/ExecutorProcessControl.h
    M llvm/include/llvm/ExecutionEngine/Orc/Shared/MachOObjectFormat.h
    M llvm/include/llvm/ExecutionEngine/Orc/Shared/OrcRTBridge.h
    A llvm/include/llvm/ExecutionEngine/Orc/TargetProcess/UnwindInfoManager.h
    A llvm/include/llvm/ExecutionEngine/Orc/UnwindInfoRegistrationPlugin.h
    M llvm/lib/ExecutionEngine/JITLink/CMakeLists.txt
    A llvm/lib/ExecutionEngine/JITLink/CompactUnwindSupport.cpp
    A llvm/lib/ExecutionEngine/JITLink/CompactUnwindSupport.h
    M llvm/lib/ExecutionEngine/JITLink/MachOLinkGraphBuilder.cpp
    M llvm/lib/ExecutionEngine/JITLink/MachOLinkGraphBuilder.h
    M llvm/lib/ExecutionEngine/JITLink/MachO_arm64.cpp
    M llvm/lib/ExecutionEngine/JITLink/MachO_x86_64.cpp
    M llvm/lib/ExecutionEngine/Orc/CMakeLists.txt
    M llvm/lib/ExecutionEngine/Orc/CompileUtils.cpp
    M llvm/lib/ExecutionEngine/Orc/Core.cpp
    M llvm/lib/ExecutionEngine/Orc/EHFrameRegistrationPlugin.cpp
    M llvm/lib/ExecutionEngine/Orc/ExecutorProcessControl.cpp
    M llvm/lib/ExecutionEngine/Orc/LLJIT.cpp
    M llvm/lib/ExecutionEngine/Orc/Shared/MachOObjectFormat.cpp
    M llvm/lib/ExecutionEngine/Orc/Shared/OrcRTBridge.cpp
    M llvm/lib/ExecutionEngine/Orc/TargetProcess/CMakeLists.txt
    A llvm/lib/ExecutionEngine/Orc/TargetProcess/UnwindInfoManager.cpp
    A llvm/lib/ExecutionEngine/Orc/UnwindInfoRegistrationPlugin.cpp
    M llvm/test/ExecutionEngine/Orc/minimal-throw-catch.ll
    M llvm/test/ExecutionEngine/OrcLazy/minimal-throw-catch.ll
    M llvm/test/lit.cfg.py

  Log Message:
  -----------
  Re-reapply "[ORC] Enable JIT support for the compact-unwind..." with fixes.

Re-enables compact-unwind support in JITLink, which was reverted in b04847b427d
due to buildbot failures.

The underlying cause for the failures on the buildbots was the lack of
compact-unwind registration support on older Darwin OSes. Since the
CompactUnwindManager pass now removes eh-frames by default we were left with
unwind-info that could not be registered. On x86-64, where eh-frame info is
produced by default the solution is to fall back to using eh-frames. On arm64
we simply can't support exceptions on older OSes.

This patch updates the EHFrameRegistrationPlugin to remove the compact-unwind
section (__LD,__compact_unwind) when installed, forcing use of eh-frames when
the EHFrameRegistrationPlugin is used. In LLJIT, the EHFrameRegistrationPlugin
continues to be used for all non-Darwin platform, and will be added on Darwin
platforms when the a CompactUnwindRegistrationPlugin instance can't be created
(e.g. due to missing support for compact-unwind info registration).

The lit.cfg.py script is updated to check whether the host OSes default unwind
info supports JIT registration, allowing tests to be disabled for older Darwin
OSes on arm64.


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

  Changed paths:
    M flang/lib/Optimizer/Analysis/CMakeLists.txt

  Log Message:
  -----------
  [flang] Move FIRSupport dependency to correct place (#125697)

This library is provided by flang, not MLIR, so it should not be part of
MLIR_LIBS.

Fixes an issue introduced in https://github.com/llvm/llvm-project/pull/120966.


  Commit: 922ab6650d7a01d2d44a10161529a3d576324037
      https://github.com/llvm/llvm-project/commit/922ab6650d7a01d2d44a10161529a3d576324037
  Author: Yingwei Zheng <dtcxzyw2333 at gmail.com>
  Date:   2025-02-05 (Wed, 05 Feb 2025)

  Changed paths:
    M llvm/lib/Transforms/InstCombine/InstCombineSelect.cpp
    M llvm/test/Transforms/InstCombine/bit_ceil.ll

  Log Message:
  -----------
  [InstCombine] Drop nowrap flags in `foldBitCeil` (#125817)

For convenience this patch drops nsw for `sub`. It also allows this fold
with `ctlz_zero_undef`.
Alive2: https://alive2.llvm.org/ce/z/VmvqSt


  Commit: 4fdd28b7912880e5723c7c728df7a18ad82f31b6
      https://github.com/llvm/llvm-project/commit/4fdd28b7912880e5723c7c728df7a18ad82f31b6
  Author: Simon Pilgrim <llvm-dev at redking.me.uk>
  Date:   2025-02-05 (Wed, 05 Feb 2025)

  Changed paths:
    A llvm/test/Transforms/SLPVectorizer/X86/scalarize-ctlz.ll

  Log Message:
  -----------
  [SLP][X86] Add test coverage for #124993


  Commit: 8bba8a50f8227b02f3efccd9cf2b2689cf191448
      https://github.com/llvm/llvm-project/commit/8bba8a50f8227b02f3efccd9cf2b2689cf191448
  Author: Yingwei Zheng <dtcxzyw2333 at gmail.com>
  Date:   2025-02-05 (Wed, 05 Feb 2025)

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

  Log Message:
  -----------
  [NFC][ValueTracking] Hoist the matching of RHS constant (#125818)


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

  Changed paths:
    M mlir/test/lib/IR/CMakeLists.txt

  Log Message:
  -----------
  [mlir] Fix MLIRTestDialect dependency in MLIRTestIR (#125705)

This is a test library which is not part of libMLIR, so it should use
normal LINK_LIBS instead of mlir_target_link_libraries.

This fixes an issue introduced in #123910 and follows up on the fix in
#125004, which added the library to DEPENDS, which is not sufficient.


  Commit: 1cf909208e509aedbd63edb5af0b96f85d5ae28b
      https://github.com/llvm/llvm-project/commit/1cf909208e509aedbd63edb5af0b96f85d5ae28b
  Author: Cullen Rhodes <cullen.rhodes at arm.com>
  Date:   2025-02-05 (Wed, 05 Feb 2025)

  Changed paths:
    M llvm/lib/CodeGen/MachineScheduler.cpp
    M llvm/lib/CodeGen/RegisterPressure.cpp

  Log Message:
  -----------
  [MISched] Small debug improvements (#125072)

Changes:
1. Fix inconsistencies in register pressure set printing. "Max Pressure"
   printing is inconsistent with "Bottom Pressure" and "Top Pressure".
   For the former, register class begins on the same line vs newline for
   latter. Also for the former, the first register class is on the same
   line, but subsequent register classes are newline separated. That's
   removed so all are on the same line.

   Before:
     Max Pressure: FPR8=1
     GPR32=14
     Top Pressure:
     GPR32=2
     Bottom Pressure:
     FPR8=7
     GPR32=17

   After:
     Max Pressure: FPR8=1 GPR32=14
     Top Pressure: GPR32=2
     Bottom Pressure: FPR8=7 GPR32=17

2. After scheduling an instruction, don't print pressure diff if there
   isn't one. Also s/UpdateRegP/UpdateRegPressure. E.g.,

   Before:
     UpdateRegP: SU(3) %0:gpr64common = ADDXrr %58:gpr64common, gpr64
                 to
     UpdateRegP: SU(4) %393:gpr64sp = ADDXri %58:gpr64common, 390, 12
                 to GPR32 -1

   After:
     UpdateRegPressure: SU(4) %393:gpr64sp = ADDXri %58:gpr64common, 12
                        to GPR32 -1
3. Don't print excess pressure sets if there are none.


  Commit: 439de724fe40d1052bc9d2b0ee1d19768cfea285
      https://github.com/llvm/llvm-project/commit/439de724fe40d1052bc9d2b0ee1d19768cfea285
  Author: Jay Foad <jay.foad at amd.com>
  Date:   2025-02-05 (Wed, 05 Feb 2025)

  Changed paths:
    M llvm/docs/TableGen/ProgRef.rst

  Log Message:
  -----------
  [TableGen][Docs] Fix productionlists for SimpleValue (#123751)

Previously the grammar tokens SimpleValue2 through SimpleValue9 were
unreferenced. This ties them together so that the grammar makes more
sense.


  Commit: 8cb3d7b41869ab517624d8966aac200c84145daf
      https://github.com/llvm/llvm-project/commit/8cb3d7b41869ab517624d8966aac200c84145daf
  Author: Jacek Caban <jacek at codeweavers.com>
  Date:   2025-02-05 (Wed, 05 Feb 2025)

  Changed paths:
    M lld/COFF/Writer.cpp
    A lld/test/COFF/locally-imported-arm64x.s

  Log Message:
  -----------
  [LLD][COFF] Emit locally imported EC symbols for ARM64X (#125527)


  Commit: 6c84d64ffc91a820d71c328102552e5791677a82
      https://github.com/llvm/llvm-project/commit/6c84d64ffc91a820d71c328102552e5791677a82
  Author: Yingwei Zheng <dtcxzyw2333 at gmail.com>
  Date:   2025-02-05 (Wed, 05 Feb 2025)

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

  Log Message:
  -----------
  [IR][NFC] Remove obsolete comments in `BinaryOperator::swapOperands` (#125819)

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


  Commit: 76d1cb22c1b9460c0abfba943d7cc202dc30fca3
      https://github.com/llvm/llvm-project/commit/76d1cb22c1b9460c0abfba943d7cc202dc30fca3
  Author: Fraser Cormack <fraser at codeplay.com>
  Date:   2025-02-05 (Wed, 05 Feb 2025)

  Changed paths:
    A libclc/clc/include/clc/integer/clc_rotate.h
    M libclc/clc/lib/clspv/SOURCES
    M libclc/clc/lib/generic/SOURCES
    A libclc/clc/lib/generic/integer/clc_rotate.cl
    A libclc/clc/lib/generic/integer/clc_rotate.inc
    M libclc/clc/lib/spirv/SOURCES
    M libclc/generic/lib/integer/rotate.cl
    R libclc/generic/lib/integer/rotate.inc

  Log Message:
  -----------
  [libclc] Move rotate to CLC library; optimize (#125713)

This commit moves the rotate builtin to the CLC library.

It also optimizes rotate(x, n) to generate the @llvm.fshl(x, x, n)
intrinsic, for both scalar and vector types. The previous implementation
was too cautious in its handling of the shift amount; the OpenCL rules
state that the shift amount is always treated as an unsigned value
modulo the bitwidth.


  Commit: 4287c72404fbd291c01ddff88bfc045ab5c622b8
      https://github.com/llvm/llvm-project/commit/4287c72404fbd291c01ddff88bfc045ab5c622b8
  Author: Durgadoss R <durgadossr at nvidia.com>
  Date:   2025-02-05 (Wed, 05 Feb 2025)

  Changed paths:
    M mlir/include/mlir/Dialect/LLVMIR/NVVMDialect.h
    M mlir/include/mlir/Dialect/LLVMIR/NVVMOps.td
    M mlir/lib/Dialect/LLVMIR/IR/NVVMDialect.cpp
    A mlir/test/Target/LLVMIR/nvvm/tcgen05-alloc.mlir

  Log Message:
  -----------
  [MLIR][NVVM] Add tcgen05 alloc/dealloc Ops (#125674)

PR #124961 adds intrinsics for the tcgen05
alloc/dealloc PTX instructions. This patch
adds NVVM Ops for the same.

Tests are added to verify the lowering to
the corresponding intrinsics in tcgen05-alloc.mlir file.

PTX ISA link:
https://docs.nvidia.com/cuda/parallel-thread-execution/#tcgen05-memory-alloc-manage-instructions

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


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

  Changed paths:
    M flang/tools/bbc/CMakeLists.txt

  Log Message:
  -----------
  [flang][cmake] Fix bcc dependencies (#125822)

The Fortran libraries are not part of MLIR, so they should use
target_link_libraries() rather than mlir_target_link_libraries().

This fixes an issue introduced in
https://github.com/llvm/llvm-project/pull/120966.


  Commit: b275309a4c0cc42def7c59a6d6876c16703a6efe
      https://github.com/llvm/llvm-project/commit/b275309a4c0cc42def7c59a6d6876c16703a6efe
  Author: Jay Foad <jay.foad at amd.com>
  Date:   2025-02-05 (Wed, 05 Feb 2025)

  Changed paths:
    M llvm/docs/TableGen/ProgRef.rst

  Log Message:
  -----------
  [TableGen][Docs] Fix productionlists for assert and dump (#123739)

These were referring to nonexistent grammar tokens instead of `Value`.


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

  Changed paths:
    M lld/COFF/Driver.cpp
    M lld/test/COFF/arm64x-export.test

  Log Message:
  -----------
  [LLD][COFF] Use EC symbol table for output DEF file on ARM64X (#125531)

For consistency with input def handling.


  Commit: f0b8ff12519270adcfef93410abff76ab073476a
      https://github.com/llvm/llvm-project/commit/f0b8ff12519270adcfef93410abff76ab073476a
  Author: Jack Frankland <jack.frankland at arm.com>
  Date:   2025-02-05 (Wed, 05 Feb 2025)

  Changed paths:
    M mlir/include/mlir/Dialect/Tosa/IR/TosaOps.td
    M mlir/lib/Conversion/TosaToLinalg/TosaToLinalg.cpp
    M mlir/lib/Conversion/TosaToLinalg/TosaToLinalgNamed.cpp
    M mlir/lib/Conversion/TosaToTensor/TosaToTensor.cpp
    M mlir/lib/Dialect/Tosa/IR/TosaCanonicalizations.cpp
    M mlir/lib/Dialect/Tosa/IR/TosaOps.cpp
    M mlir/lib/Dialect/Tosa/Transforms/TosaDecomposeConv2D.cpp
    M mlir/lib/Dialect/Tosa/Transforms/TosaDecomposeTransposeConv.cpp
    M mlir/test/Conversion/TosaToLinalg/tosa-to-linalg-named.mlir
    M mlir/test/Conversion/TosaToLinalg/tosa-to-linalg.mlir
    M mlir/test/Conversion/TosaToTensor/tosa-to-tensor.mlir
    M mlir/test/Dialect/Tosa/canonicalize.mlir
    M mlir/test/Dialect/Tosa/tosa-decompose-conv2d.mlir
    M mlir/test/Dialect/Tosa/tosa-decompose-transpose-conv.mlir

  Log Message:
  -----------
  [mlir][tosa] Remove Quantization Attribute (#125479)

Removed the TOSA quantization attribute used in various MLIR TOSA
dialect operations in favour of using builtin attributes.

Update any lit tests, conversions and transformations appropriately.

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


  Commit: baf27862ddb23c3854cb6782a3f1675da4722a50
      https://github.com/llvm/llvm-project/commit/baf27862ddb23c3854cb6782a3f1675da4722a50
  Author: Guray Ozen <guray.ozen at gmail.com>
  Date:   2025-02-05 (Wed, 05 Feb 2025)

  Changed paths:
    M mlir/include/mlir/Dialect/NVGPU/IR/NVGPUDialect.h
    M mlir/lib/Dialect/GPU/TransformOps/Utils.cpp

  Log Message:
  -----------
  [MLIR][NVGPU] Move max threads/blocks size to dialect (NFC) (#124454)

This PR moves maximum number of threads in a block and block in a grid
to nvgpu dialect to avoid replicated code.

The limits are defined here:

https://docs.nvidia.com/cuda/cuda-c-programming-guide/#features-and-technical-specifications-technical-specifications-per-compute-capability


  Commit: ee25a85ccc34cabb5b7cd667b6f0c3a21eae1d72
      https://github.com/llvm/llvm-project/commit/ee25a85ccc34cabb5b7cd667b6f0c3a21eae1d72
  Author: Timm Baeder <tbaeder at redhat.com>
  Date:   2025-02-05 (Wed, 05 Feb 2025)

  Changed paths:
    M clang/lib/AST/ByteCode/Compiler.cpp
    M clang/lib/AST/ByteCode/Descriptor.h
    M clang/lib/AST/ByteCode/Interp.cpp
    M clang/lib/AST/ByteCode/Interp.h
    M clang/lib/AST/ByteCode/Opcodes.td
    M clang/lib/AST/ByteCode/Pointer.h
    M clang/test/AST/ByteCode/cxx20.cpp

  Log Message:
  -----------
  [clang][bytecode] Handle CXXPseudoDestructorExprs (#125835)

Make lifetime management more explicit. We're only using this for
CXXPseudoDestructorExprs for now but we need this to handle
std::construct_at/placement-new after destructor calls later anyway.


  Commit: a61ca99de219ff358e613822706a7a40941a8229
      https://github.com/llvm/llvm-project/commit/a61ca99de219ff358e613822706a7a40941a8229
  Author: Zichen Lu <mikaovo2000 at gmail.com>
  Date:   2025-02-05 (Wed, 05 Feb 2025)

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

  Log Message:
  -----------
  [mlir] fix overflow warning when generating embedded libdevice (#125801)

When building mlir with `-DMLIR_NVVM_EMBED_LIBDEVICE=ON`, there will be
a warning
```
build/tools/mlir/lib/Target/LLVM/libdevice_embedded.c:1: warning: overflow in conversion from ‘int’ to ‘char’ changes value from ‘143’ to ‘-113’ [-Woverflow]
```
which is followed by a large number of characters in stdout.

Fix this to avoid stdout outputting a large number of characters (3e5).


  Commit: e3abe940d8fc356bf46a6b71da44df0f4652df1c
      https://github.com/llvm/llvm-project/commit/e3abe940d8fc356bf46a6b71da44df0f4652df1c
  Author: Yuta Mukai <mukai.yuta at fujitsu.com>
  Date:   2025-02-05 (Wed, 05 Feb 2025)

  Changed paths:
    M llvm/include/llvm/CodeGen/MachinePipeliner.h
    M llvm/lib/CodeGen/MachinePipeliner.cpp
    M llvm/test/CodeGen/Hexagon/swp-carried-dep1.mir
    M llvm/test/CodeGen/Hexagon/swp-carried-dep2.mir
    M llvm/test/CodeGen/Hexagon/swp-carried-dep3.mir
    A llvm/test/CodeGen/Hexagon/swp-carried-dep4.mir
    A llvm/test/CodeGen/Hexagon/swp-carried-dep5.mir
    M llvm/test/CodeGen/Hexagon/swp-epilog-phi8.ll

  Log Message:
  -----------
  [MachinePipeliner] Improve loop carried dependence analysis (#94185)

The previous implementation had false positive/negative cases in the
analysis of the loop carried dependency.

A missed dependency case is caused by incorrect analysis of address
increments. This is fixed by strict analysis of recursive definitions.
See added test swp-carried-dep4.mir.

Excessive dependency detection is fixed by improving the formula
for determining the overlap of address ranges to be accessed. See added test
swp-carried-dep5.mir.


  Commit: 23b6a05ec9c2220844748487612761d1e09166b7
      https://github.com/llvm/llvm-project/commit/23b6a05ec9c2220844748487612761d1e09166b7
  Author: Alexey Bataev <a.bataev at outlook.com>
  Date:   2025-02-05 (Wed, 05 Feb 2025)

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

  Log Message:
  -----------
  [CG][RISCV]Fix shuffling of odd number of input vectors

If the input contains odd number of shuffled vectors, the 2 last
shuffles are shuffled with the same first vector. Need to correctly
process such situation: when the first vector is requested for the first
time - extract it from the source vector, when it is requested the
second time - reuse previous result. The second vector should be
extracted in both cases.

Fixes #125269

Reviewers: topperc, preames

Reviewed By: preames

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


  Commit: 7945a33a103bbb756ae284237bb7dc577cfa1be4
      https://github.com/llvm/llvm-project/commit/7945a33a103bbb756ae284237bb7dc577cfa1be4
  Author: Haojian Wu <hokein.wu at gmail.com>
  Date:   2025-02-05 (Wed, 05 Feb 2025)

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

  Log Message:
  -----------
  [bazel] Port for baf27862ddb23c3854cb6782a3f1675da4722a50


  Commit: f77f777f35c4d60573c75701eda8ddbaee070c21
      https://github.com/llvm/llvm-project/commit/f77f777f35c4d60573c75701eda8ddbaee070c21
  Author: Akshat Oke <Akshat.Oke at amd.com>
  Date:   2025-02-05 (Wed, 05 Feb 2025)

  Changed paths:
    A llvm/include/llvm/CodeGen/RenameIndependentSubregs.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/RenameIndependentSubregs.cpp
    M llvm/lib/Passes/PassBuilder.cpp
    M llvm/test/CodeGen/AMDGPU/coalescing-with-subregs-in-loop-bug.mir
    M llvm/test/CodeGen/AMDGPU/rename-independent-subregs-mac-operands.mir

  Log Message:
  -----------
  [CodeGen][NewPM] Port RenameIndependentSubregs to NPM (#125192)


  Commit: e78be316394509a665796a325603fe773346fbba
      https://github.com/llvm/llvm-project/commit/e78be316394509a665796a325603fe773346fbba
  Author: Mikhail R. Gadelha <mikhail at igalia.com>
  Date:   2025-02-05 (Wed, 05 Feb 2025)

  Changed paths:
    M llvm/lib/Target/RISCV/RISCVTargetTransformInfo.cpp
    M llvm/test/Analysis/CostModel/RISCV/arith-fp.ll
    M llvm/test/Transforms/LoopVectorize/RISCV/bf16.ll
    M llvm/test/Transforms/SLPVectorizer/RISCV/revec-getGatherCost.ll

  Log Message:
  -----------
  [RISCV] Added cost model for fmuladd (#125683)

This patch updates the cost model for fmuladd on vector types to scale with LMUL. This was found when analyzing a hot loop in 519.lbm_r that was unprofitably vectorized, but doesn't directly impact that case and is split off so it doesn't get forgotten.

Unlike other FP arithmetic ops, it's not scaled by 2 because the scalar cost isn't scaled by 2.


  Commit: b83c960badecc2806df6c08341fa97d7887cd5c1
      https://github.com/llvm/llvm-project/commit/b83c960badecc2806df6c08341fa97d7887cd5c1
  Author: Christudasan Devadasan <christudasan.devadasan at amd.com>
  Date:   2025-02-05 (Wed, 05 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/SIWholeQuadMode.cpp
    A llvm/lib/Target/AMDGPU/SIWholeQuadMode.h
    M llvm/test/CodeGen/AMDGPU/licm-wwm.mir
    M llvm/test/CodeGen/AMDGPU/si-init-whole-wave.mir
    M llvm/test/CodeGen/AMDGPU/wqm-terminators.mir
    M llvm/test/CodeGen/AMDGPU/wqm.mir

  Log Message:
  -----------
  [CodeGen][NewPM] Port SIWholeQuadMode to NPM. (#125833)


  Commit: 814db6c53faeb1dc66361b67cf30a5e42036c1bb
      https://github.com/llvm/llvm-project/commit/814db6c53faeb1dc66361b67cf30a5e42036c1bb
  Author: Christudasan Devadasan <christudasan.devadasan at amd.com>
  Date:   2025-02-05 (Wed, 05 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/GCNPreRALongBranchReg.cpp
    A llvm/lib/Target/AMDGPU/GCNPreRALongBranchReg.h

  Log Message:
  -----------
  [CodeGen][NewPM] Port GCNPreRALongBranchReg to NPM. (#125844)


  Commit: 5df62bdc9be9c258c5ac45c8093b71e23777fa0e
      https://github.com/llvm/llvm-project/commit/5df62bdc9be9c258c5ac45c8093b71e23777fa0e
  Author: Andrea Faulds <andrea.faulds at amd.com>
  Date:   2025-02-05 (Wed, 05 Feb 2025)

  Changed paths:
    M mlir/lib/Conversion/VectorToSPIRV/VectorToSPIRV.cpp
    M mlir/test/Conversion/VectorToSPIRV/vector-to-spirv.mlir

  Log Message:
  -----------
  [mlir][spirv] Support poison index when converting vector.insert/extract (#125560)

This modifies the conversion patterns so that, in the case where the
index is known statically to be poison, the insertion/extraction is
replaced by an arbitrary junk constant value, and in the dynamic case,
the index is sanitized at runtime. This avoids triggering a UB in both
cases. The dynamic case is definitely a pessimisation of the generated
code, but the use of dynamic indexes is expected to be very rare and
already slow on real-world GPU compilers ingesting SPIR-V, so the impact
should be negligible.

Resolves #124162.


  Commit: c7995a6905f2320f280013454676f992a8c6f89f
      https://github.com/llvm/llvm-project/commit/c7995a6905f2320f280013454676f992a8c6f89f
  Author: Sam Tebbs <samuel.tebbs at arm.com>
  Date:   2025-02-05 (Wed, 05 Feb 2025)

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

  Log Message:
  -----------
  [AArch64] Disallow vscale x 1  partial reductions (#125252)

We don't want to allow partial reductions resulting in a vscale x 1 type
as we can't lower it in the backend.


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

  Changed paths:
    M libcxx/include/__locale_dir/support/windows.h

  Log Message:
  -----------
  [libc++] Fix stray usage of _LIBCPP_HAS_NO_WIDE_CHARACTERS on Windows


  Commit: 7d669b7c25e15034a85cc4888465084e7f05f251
      https://github.com/llvm/llvm-project/commit/7d669b7c25e15034a85cc4888465084e7f05f251
  Author: nerix <nero.9 at hotmail.de>
  Date:   2025-02-05 (Wed, 05 Feb 2025)

  Changed paths:
    M clang/docs/ReleaseNotes.rst
    M clang/lib/AST/CommentLexer.cpp
    M clang/test/AST/ast-dump-comment.cpp
    M clang/unittests/AST/CommentLexer.cpp
    M clang/unittests/AST/CommentParser.cpp

  Log Message:
  -----------
  [Clang][Comments] Allow HTML tags across multiple lines (#120843)

HTML starting tags that span multiple lines were previously not allowed
(or rather, only the starting line was lexed as HTML). Doxygen allows
those tags.

This PR allows the starting tags to span multiple lines. They can't span
multiple (C-)Comments, though (it's likely a user-error). Multiple BCPL
comments are fine as those are single lines (shown below).

Example:

```c
/// <a
///     href="foo"
/// >Aaa</a>b
int Test;
```

Fixes #28321.


  Commit: 8c3666526794e011046fd3a837b623265afa471b
      https://github.com/llvm/llvm-project/commit/8c3666526794e011046fd3a837b623265afa471b
  Author: Ritanya-B-Bharadwaj <ritanya.b.bharadwaj at gmail.com>
  Date:   2025-02-05 (Wed, 05 Feb 2025)

  Changed paths:
    M clang/include/clang/AST/OpenMPClause.h
    M clang/include/clang/Sema/SemaOpenMP.h
    M clang/lib/AST/OpenMPClause.cpp
    M clang/lib/Parse/ParseOpenMP.cpp
    M clang/lib/Sema/SemaOpenMP.cpp
    M clang/test/OpenMP/begin_declare_variant_messages.c
    M clang/test/OpenMP/declare_variant_ast_print.c
    M clang/test/OpenMP/declare_variant_bind_to_decl.cpp
    M clang/test/OpenMP/declare_variant_messages.c
    M clang/test/OpenMP/declare_variant_messages.cpp
    M clang/test/OpenMP/metadirective_messages.cpp
    M clang/test/OpenMP/nvptx_declare_variant_name_mangling.cpp
    M llvm/include/llvm/Frontend/OpenMP/OMPContext.h
    M llvm/include/llvm/Frontend/OpenMP/OMPKinds.def
    M llvm/lib/Frontend/OpenMP/OMPContext.cpp
    M llvm/unittests/Frontend/OpenMPContextTest.cpp

  Log Message:
  -----------
  [OpenMP]Initial parsing/sema support for target_device selector set (#118471)

This patch adds initial support for target_device selector set - Section
9.2 (Spec 6.0)


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

  Changed paths:
    M libcxx/include/__vector/vector.h

  Log Message:
  -----------
  [libc++] Also provide an alignment assumption for vector in C++03 mode (#124839)

There's no reason not to, and it's easy enough to do using enable_if. As
a drive-by change, also add a missing _LIBCPP_NO_CFI attribute on
__add_alignment_assumption.


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

  Changed paths:
    M clang/docs/ReleaseNotes.rst
    M clang/include/clang/Basic/Attr.td
    M clang/test/SemaCXX/attr-no-sanitize.cpp
    M clang/utils/TableGen/ClangAttrEmitter.cpp

  Log Message:
  -----------
  [Clang] Permit both `gnu` and `clang` prefixes on some attributes (#125796)

Summary:
Some attributes have gnu extensions that share names with clang
attributes. If these imply the same thing, we can specially declare this
to be an alternate but equivalent spelling. This patch enables this for
`no_sanitize` and provides the infrastructure for more to be added if
needed.

Discussions welcome on whether or not we want to bind ourselves to GNU
behavior, since theoretically it's possible for GNU to silently change
the semantics away from our implementation, but I'm not an expert.

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


  Commit: 455cedc805e7a42c6cfbe26a4ddd9e623cca6066
      https://github.com/llvm/llvm-project/commit/455cedc805e7a42c6cfbe26a4ddd9e623cca6066
  Author: Joseph Huber <huberjn at outlook.com>
  Date:   2025-02-05 (Wed, 05 Feb 2025)

  Changed paths:
    M clang/include/clang/Driver/Options.td
    M clang/lib/Driver/Driver.cpp
    M clang/lib/Driver/ToolChain.cpp
    M clang/lib/Driver/ToolChains/Darwin.cpp
    M clang/test/Driver/Xarch.c
    A clang/test/Driver/offload-Xarch.c

  Log Message:
  -----------
  [Clang] Make `-Xarch_` handling generic for all toolchains (#125421)

Summary:
Currently, `-Xarch_` is handled specially between different toolchains,
(i.e. Mach-O).
This patch unifies the handling so that it can be used generically.

The main benefit here is that we now have a more generic version of
`-Xopenmp-target=`, which should probably just be deprecated.
Additionally, it allows us to specially pass arguments to different
architectures for offloading.

This patch is done in preparation for making selecting offloading
toolchains more generic, this will be helpful while people are moving
toward compile jobs that include multiple toolchains (SPIR-V, AMDGCN,
NVPTX).


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

  Changed paths:
    M offload/DeviceRTL/CMakeLists.txt
    M offload/DeviceRTL/include/Allocator.h
    M offload/DeviceRTL/include/DeviceTypes.h
    M offload/DeviceRTL/include/DeviceUtils.h
    M offload/DeviceRTL/include/Mapping.h
    M offload/DeviceRTL/include/State.h
    M offload/DeviceRTL/include/Synchronization.h
    M offload/DeviceRTL/include/Workshare.h
    M offload/DeviceRTL/src/Allocator.cpp
    M offload/DeviceRTL/src/Configuration.cpp
    M offload/DeviceRTL/src/Debug.cpp
    M offload/DeviceRTL/src/DeviceUtils.cpp
    M offload/DeviceRTL/src/Kernel.cpp
    M offload/DeviceRTL/src/LibC.cpp
    M offload/DeviceRTL/src/Mapping.cpp
    M offload/DeviceRTL/src/Misc.cpp
    M offload/DeviceRTL/src/Parallelism.cpp
    M offload/DeviceRTL/src/Profiling.cpp
    M offload/DeviceRTL/src/Reduction.cpp
    M offload/DeviceRTL/src/State.cpp
    M offload/DeviceRTL/src/Synchronization.cpp
    M offload/DeviceRTL/src/Tasking.cpp
    M offload/DeviceRTL/src/Workshare.cpp

  Log Message:
  -----------
  [OpenMP] Port the OpenMP device runtime to direct C++ compilation (#123673)

Summary:
This removes the use of OpenMP offloading to build the device runtime.
The main benefit here is that we no longer need to rely on offloading
semantics to build a device only runtime. Things like variants are now
no longer needed and can just be simple if-defs. In the future, I will
remove most of the special handling here and fold it into calls to the
`<gpuintrin.h>` functions instead. Additionally I will rework the
compilation to make this a separate runtime.

The current plan is to have this, but make including OpenMP and
offloading either automatically add it, or print a warning if it's
missing. This will allow us to use a normal CMake workflow and delete
all the weird 'lets pull the clang binary out of the build' business.
```
-DRUNTIMES_amdgcn-amd-amdhsa_LLVM_ENABLE_RUNTIMES=offload
-DLLVM_RUNTIME_TARGETS=amdgcn-amd-amdhsa
```

After that, linking the OpenMP device runtime will be `-Xoffload-linker
-lomp`. I.e. no more fat binary business.

Only look at the most recent commit since this includes the two
dependencies
(fix to AMDGPUEmitPrintfBinding and the PointerToMember bug).


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

  Changed paths:
    M llvm/lib/Frontend/OpenMP/OMPContext.cpp

  Log Message:
  -----------
  [OpenMP] Fix multiply defined macro warning


  Commit: 56a49884ad158fde292d007a2139a77353b4faf7
      https://github.com/llvm/llvm-project/commit/56a49884ad158fde292d007a2139a77353b4faf7
  Author: Amit Kumar Pandey <137622562+ampandey-1995 at users.noreply.github.com>
  Date:   2025-02-05 (Wed, 05 Feb 2025)

  Changed paths:
    M clang/test/Driver/amdgpu-openmp-sanitize-options.c

  Log Message:
  -----------
  [NFC] Fix Lit test 'amdgpu-openmp-sanitize-options.c'. (#125857)

Using 'compiler-rt' in 'LLVM_ENABLE_PROJECTS' causes the clang runtime
libraries to be build and installed with arch suffix names i.e
```'*-<arch>.a'``` and ```'*-<arch>.so'```.


  Commit: 290a0d8752dada6cd8f36258ce1e558ce27f0e7f
      https://github.com/llvm/llvm-project/commit/290a0d8752dada6cd8f36258ce1e558ce27f0e7f
  Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
  Date:   2025-02-05 (Wed, 05 Feb 2025)

  Changed paths:
    M llvm/utils/gn/secondary/llvm/lib/ExecutionEngine/JITLink/BUILD.gn
    M llvm/utils/gn/secondary/llvm/lib/ExecutionEngine/Orc/BUILD.gn
    M llvm/utils/gn/secondary/llvm/lib/ExecutionEngine/Orc/TargetProcess/BUILD.gn

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


  Commit: ccd92ec4c6ceb09e75ed40c96c1da7d03b9c45d5
      https://github.com/llvm/llvm-project/commit/ccd92ec4c6ceb09e75ed40c96c1da7d03b9c45d5
  Author: Anchu Rajendran S <asudhaku at amd.com>
  Date:   2025-02-05 (Wed, 05 Feb 2025)

  Changed paths:
    M flang/lib/Lower/OpenMP/ClauseProcessor.cpp
    M flang/lib/Lower/OpenMP/ClauseProcessor.h
    M flang/lib/Lower/OpenMP/Clauses.cpp
    M flang/lib/Lower/OpenMP/OpenMP.cpp
    M flang/lib/Lower/OpenMP/ReductionProcessor.cpp
    M flang/lib/Lower/OpenMP/ReductionProcessor.h
    R flang/test/Lower/OpenMP/Todo/reduction-inscan.f90
    R flang/test/Lower/OpenMP/Todo/reduction-modifiers.f90
    M flang/test/Lower/OpenMP/Todo/reduction-task.f90
    A flang/test/Lower/OpenMP/scan.f90
    M mlir/lib/Conversion/OpenMPToLLVM/OpenMPToLLVM.cpp

  Log Message:
  -----------
  [flang][openmp] Changes for invoking scan Op (#123254)


  Commit: e151b1d1f678d82cf743a5e268bcc692e0f2b1ee
      https://github.com/llvm/llvm-project/commit/e151b1d1f678d82cf743a5e268bcc692e0f2b1ee
  Author: Abid Qadeer <haqadeer at amd.com>
  Date:   2025-02-05 (Wed, 05 Feb 2025)

  Changed paths:
    M llvm/unittests/Frontend/OpenMPIRBuilderTest.cpp
    M mlir/lib/Target/LLVMIR/Dialect/OpenMP/OpenMPToLLVMIRTranslation.cpp

  Log Message:
  -----------
  [MLIR][OpenMP] Use correct DebugLoc in target construct callbacks. (#125856)

This is same as PR #125106 which somehow is stuck in a "Processing
Update" loop for many hours now. I am going to close that one and push
this one instead.

While working on https://github.com/llvm/llvm-project/issues/125088, I
noticed a problem with the TargetBodyGenCallbackTy and
TargetGenArgAccessorsCallbackTy. The OMPIRBuilder and MLIR side Both
maintain their own IRBuilder and when control goes from one to other, we
have to take care to not use a stale debug location. The code currently
rely on restoreIP to set the insertion point and the debug location. But
if the passes InsertPointTy has an empty block, then the debug location
will not be updated (see SetInsertPoint). This can cause invalid debug
location to be attached to instruction and the verifier will complain.

Similarly when we exit the callback, the debug location of the Builder
is not set to what it was before the callback. This again can cause
verification failures.

This PR resets the debug location at the start and also uses an
InsertPointGuard to restore the debug location at exit.

Both of these problems would have been caught by the unit tests but they
were not setting the debug location of the builder before calling the
createTarget so the problem was hidden. I have updated the tests
accordingly.


  Commit: 08bda1cc6b0d2f1d31a89a76b5c154a11086c420
      https://github.com/llvm/llvm-project/commit/08bda1cc6b0d2f1d31a89a76b5c154a11086c420
  Author: Matheus Izvekov <mizvekov at gmail.com>
  Date:   2025-02-05 (Wed, 05 Feb 2025)

  Changed paths:
    M clang/include/clang/AST/DeclTemplate.h
    M clang/include/clang/Sema/Sema.h
    M clang/lib/AST/ASTImporter.cpp
    M clang/lib/AST/DeclTemplate.cpp
    M clang/lib/AST/JSONNodeDumper.cpp
    M clang/lib/AST/TextNodeDumper.cpp
    M clang/lib/Sema/SemaTemplate.cpp
    M clang/lib/Sema/SemaTemplateDeduction.cpp
    M clang/lib/Sema/SemaTemplateInstantiateDecl.cpp
    M clang/lib/Sema/SemaType.cpp
    M clang/lib/Serialization/ASTReaderDecl.cpp
    M clang/lib/Serialization/ASTWriterDecl.cpp
    M clang/test/AST/ast-dump-templates.cpp
    M clang/test/AST/gen_ast_dump_json_test.py
    M clang/test/SemaTemplate/cwg2398.cpp
    M lldb/source/Plugins/ExpressionParser/Clang/CxxModuleHandler.cpp

  Log Message:
  -----------
  Reland: [clang] fix P3310 overload resolution flag propagation (#125791)

Class templates might be only instantiated when they are required to be
complete, but checking the template args against the primary template is
immediate.

This result is cached so that later when the class is instantiated,
checking against the primary template is not repeated.

The 'MatchedPackOnParmToNonPackOnArg' flag is also produced upon
checking against the primary template, so it needs to be cached in the
specialziation as well.

This fixes a bug which has not been in any release, so there are no
release notes.

Fixes #125290


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

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

  Log Message:
  -----------
  [Sema] Migrate away from PointerUnion::dyn_cast (NFC) (#125811)

Note that PointerUnion::dyn_cast has been soft deprecated in
PointerUnion.h:

  // FIXME: Replace the uses of is(), get() and dyn_cast() with
  //        isa<T>, cast<T> and the llvm::dyn_cast<T>

Literal migration would result in dyn_cast_if_present (see the
definition of PointerUnion::dyn_cast), but this patch uses dyn_cast
because we expect Specialized to be nonnull. Note that if Specialized
were
null, dereferencing Tmpl would trigger a segfault.


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

  Changed paths:
    M llvm/include/llvm/ADT/GenericCycleImpl.h

  Log Message:
  -----------
  [ADT] Avoid repeated hash lookups (NFC) (#125812)


  Commit: 34c7d8994d9b482059a03c4ea7d7e747953cf466
      https://github.com/llvm/llvm-project/commit/34c7d8994d9b482059a03c4ea7d7e747953cf466
  Author: Kazu Hirata <kazu at google.com>
  Date:   2025-02-05 (Wed, 05 Feb 2025)

  Changed paths:
    M llvm/include/llvm/Analysis/VectorUtils.h

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


  Commit: dd099e9cc24ad60e988ccec1eaee3299a0c7c277
      https://github.com/llvm/llvm-project/commit/dd099e9cc24ad60e988ccec1eaee3299a0c7c277
  Author: Guray Ozen <guray.ozen at gmail.com>
  Date:   2025-02-05 (Wed, 05 Feb 2025)

  Changed paths:
    M mlir/include/mlir/Dialect/LLVMIR/NVVMOps.td

  Log Message:
  -----------
  [MLIR][NVVM] Fix links in OP definition (#125865)


  Commit: 7c2c7a4381d0926a8de150590a72cd373f220537
      https://github.com/llvm/llvm-project/commit/7c2c7a4381d0926a8de150590a72cd373f220537
  Author: Kazu Hirata <kazu at google.com>
  Date:   2025-02-05 (Wed, 05 Feb 2025)

  Changed paths:
    M llvm/lib/CodeGen/AsmPrinter/DwarfCompileUnit.cpp

  Log Message:
  -----------
  [AsmPrinter] Avoid repeated hash lookups (NFC) (#125814)


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

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

  Log Message:
  -----------
  [Hexagon] Avoid repeated map lookups (NFC) (#125815)


  Commit: acebaa01623b9ca77e1f41a4e23b8656b612a21e
      https://github.com/llvm/llvm-project/commit/acebaa01623b9ca77e1f41a4e23b8656b612a21e
  Author: Simon Pilgrim <llvm-dev at redking.me.uk>
  Date:   2025-02-05 (Wed, 05 Feb 2025)

  Changed paths:
    M llvm/test/CodeGen/X86/fp-round.ll

  Log Message:
  -----------
  [X86] fp-round.ll - regenerate VPTERNLOG comments


  Commit: 7b5e90b8ec17380537f5213859b287dae494d20c
      https://github.com/llvm/llvm-project/commit/7b5e90b8ec17380537f5213859b287dae494d20c
  Author: Brox Chen <guochen2 at amd.com>
  Date:   2025-02-05 (Wed, 05 Feb 2025)

  Changed paths:
    M llvm/lib/Target/AMDGPU/VOPCInstructions.td
    M llvm/test/MC/AMDGPU/gfx11_asm_vop3_from_vopc.s
    M llvm/test/MC/AMDGPU/gfx11_asm_vop3_from_vopcx.s
    M llvm/test/MC/AMDGPU/gfx11_asm_vopc_t16_promote.s
    M llvm/test/MC/AMDGPU/gfx11_asm_vopcx_t16_promote.s
    M llvm/test/MC/AMDGPU/gfx12_asm_vop3c.s
    M llvm/test/MC/AMDGPU/gfx12_asm_vop3cx.s
    M llvm/test/MC/AMDGPU/gfx12_asm_vopc_t16_promote.s
    M llvm/test/MC/AMDGPU/gfx12_asm_vopcx_t16_promote.s

  Log Message:
  -----------
  [AMDGPU][True16][MC] Generate op_sel operands for VOPC instructions (#125561)

Generate op_sel operands for VOPC instructions

---------

Co-authored-by: Ivan Kosarev <ivan.kosarev at amd.com>


  Commit: a0d3d690a23a3aa54cd576dc8f4ea1b22c20d189
      https://github.com/llvm/llvm-project/commit/a0d3d690a23a3aa54cd576dc8f4ea1b22c20d189
  Author: Koakuma <koachan at protonmail.com>
  Date:   2025-02-05 (Wed, 05 Feb 2025)

  Changed paths:
    M llvm/lib/Target/Sparc/AsmParser/SparcAsmParser.cpp
    M llvm/lib/Target/Sparc/SparcInstrAliases.td
    M llvm/test/MC/Sparc/sparcv9-synthetic-instructions.s

  Log Message:
  -----------
  [SPARC][IAS] Add support for `setsw` pseudoinstruction

Implement `setsw` pseudoinstruction for setting a 32-bit signed imm.

Reviewers: brad0, s-barannikov, rorth

Reviewed By: s-barannikov

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


  Commit: c94d930a212248d7102822ca7d0e37e72fd38cb3
      https://github.com/llvm/llvm-project/commit/c94d930a212248d7102822ca7d0e37e72fd38cb3
  Author: Matheus Izvekov <mizvekov at gmail.com>
  Date:   2025-02-05 (Wed, 05 Feb 2025)

  Changed paths:
    M clang/include/clang/AST/DeclTemplate.h
    M clang/include/clang/Sema/Overload.h
    M clang/include/clang/Sema/Sema.h
    M clang/include/clang/Sema/TemplateDeduction.h
    M clang/lib/AST/ASTImporter.cpp
    M clang/lib/AST/DeclTemplate.cpp
    M clang/lib/AST/JSONNodeDumper.cpp
    M clang/lib/AST/TextNodeDumper.cpp
    M clang/lib/Sema/SemaOverload.cpp
    M clang/lib/Sema/SemaTemplate.cpp
    M clang/lib/Sema/SemaTemplateDeduction.cpp
    M clang/lib/Sema/SemaTemplateInstantiate.cpp
    M clang/lib/Sema/SemaTemplateInstantiateDecl.cpp
    M clang/lib/Sema/SemaType.cpp
    M clang/lib/Serialization/ASTReaderDecl.cpp
    M clang/lib/Serialization/ASTWriterDecl.cpp
    M lldb/source/Plugins/ExpressionParser/Clang/CxxModuleHandler.cpp

  Log Message:
  -----------
  [clang] NFC: rename MatchedPackOnParmToNonPackOnArg to StrictPackMatch (#125418)

This rename follows the proposed wording in P3310R5, which introduces
the term 'strict pack match' to refer to the same thing.


  Commit: 925d347c5a43fd4864c7cb142e4069a1d494cd11
      https://github.com/llvm/llvm-project/commit/925d347c5a43fd4864c7cb142e4069a1d494cd11
  Author: jeanPerier <jperier at nvidia.com>
  Date:   2025-02-05 (Wed, 05 Feb 2025)

  Changed paths:
    M flang/include/flang/Evaluate/check-expression.h
    M flang/include/flang/Evaluate/tools.h
    M flang/lib/Evaluate/check-expression.cpp
    M flang/lib/Lower/ConvertCall.cpp
    M flang/lib/Lower/ConvertExprToHLFIR.cpp
    M flang/test/Evaluate/folding09.f90
    A flang/test/Lower/HLFIR/call-issue-124043.f90
    M flang/test/Lower/HLFIR/calls-constant-expr-arg.f90

  Log Message:
  -----------
  [flang] fix IsSimplyContiguous with expressions (#125708)

IsSymplyContiguous was visiting expressions and returning false on
expressions like `x(::2) + y`, which triggered an assert in lowering
when preparing arguments for copy-in/out.

Update it to return false for everything that is not a variable, except
when provided a flag to treat PARAMETER bases as variables. This flags
is required for internal usages in lowering where lowering needs to now
if the read-only memory is being addressed contiguously or not.

Update call lowering to always copy parameter array section into
contiguous writable memory when passing them. The rational here is that
copy-out generated in nested calls using the dummy arguments will cause
a segfault.


  Commit: c1d5be8f7fa24b95e652593f9a780005e6604920
      https://github.com/llvm/llvm-project/commit/c1d5be8f7fa24b95e652593f9a780005e6604920
  Author: Arseniy Zaostrovnykh <necto.ne at gmail.com>
  Date:   2025-02-05 (Wed, 05 Feb 2025)

  Changed paths:
    M clang/docs/analyzer/developer-docs.rst
    A clang/docs/analyzer/developer-docs/PerformanceInvestigation.rst
    A clang/docs/analyzer/images/speedscope.png
    M clang/include/clang/Analysis/ProgramPoint.h
    M clang/lib/Analysis/ProgramPoint.cpp
    M clang/lib/StaticAnalyzer/Core/BugReporter.cpp
    M clang/lib/StaticAnalyzer/Core/BugSuppression.cpp
    M clang/lib/StaticAnalyzer/Core/CheckerManager.cpp
    M clang/lib/StaticAnalyzer/Core/CoreEngine.cpp
    M clang/lib/StaticAnalyzer/Frontend/AnalysisConsumer.cpp
    A clang/test/Analysis/ftime-trace.cpp

  Log Message:
  -----------
  [analyzer] Add time-trace scopes for high-level analyzer steps (#125508)

Specifically, add a scope for 
- each work-list step,
- each entry point,
- each checker run within a step, and
- bug-suppression phase at the end of the analysis of an entry-point.

These scopes add no perceptible run-time overhead when time-tracing is
disabled. You can enable it and generate a time trace using the
`-ftime-trace=file.json` option.

See also the RFC:
https://discourse.llvm.org/t/analyzer-rfc-ftime-trace-time-scopes-for-steps-and-entry-points/84343

--
CPP-6065


  Commit: 92e3cd70698c2e06787500694c6a962d9228676d
      https://github.com/llvm/llvm-project/commit/92e3cd70698c2e06787500694c6a962d9228676d
  Author: Matt Arsenault <Matthew.Arsenault at amd.com>
  Date:   2025-02-05 (Wed, 05 Feb 2025)

  Changed paths:
    M llvm/lib/CodeGen/TargetRegisterInfo.cpp
    M llvm/lib/Target/X86/X86RegisterInfo.cpp
    M llvm/lib/Target/X86/X86RegisterInfo.h
    A llvm/test/CodeGen/X86/pr41619_reduced.mir

  Log Message:
  -----------
  X86: Remove hack in shouldRewriteCopySrc for subregister handling (#125224)

In the problematic situation fixed in 61e556d2bdf3fa0a10dbaadd2dd03d01c341bd27,
shouldRewriteCopySrc is called with identical register class arguments,
but one has a subregister index. This was very surprising to me,
and it probably shouldn't be valid for it to occur. It happens in cases
with uncoalescable copies where the register class changes, and further
up the chain there is a subregister operand. We could possibly just
skip over uncoalsecable instructions in the chain rather than letting
this query deal with it (or pre-filter the obvious subreg with same
class case).

The generic implementation is supposed to account for checking for
valid subregisters by checking getMatchingSuperRegClass already,
but that was bypassed by the early exit for exact class match.

Also adds a reduced mir test demonstrating the exact problematic
case.


  Commit: 58a88001f3f2e41f9d17d8eb953d58921d92dedf
      https://github.com/llvm/llvm-project/commit/58a88001f3f2e41f9d17d8eb953d58921d92dedf
  Author: Matt Arsenault <Matthew.Arsenault at amd.com>
  Date:   2025-02-05 (Wed, 05 Feb 2025)

  Changed paths:
    M llvm/lib/CodeGen/PeepholeOptimizer.cpp
    M llvm/test/CodeGen/AArch64/Atomics/aarch64-atomicrmw-lse2.ll
    M llvm/test/CodeGen/AArch64/Atomics/aarch64-atomicrmw-rcpc.ll
    M llvm/test/CodeGen/AArch64/Atomics/aarch64-atomicrmw-rcpc3.ll
    M llvm/test/CodeGen/AArch64/Atomics/aarch64-atomicrmw-v8a.ll
    M llvm/test/CodeGen/AArch64/Atomics/aarch64_be-atomicrmw-lse2.ll
    M llvm/test/CodeGen/AArch64/Atomics/aarch64_be-atomicrmw-rcpc.ll
    M llvm/test/CodeGen/AArch64/Atomics/aarch64_be-atomicrmw-rcpc3.ll
    M llvm/test/CodeGen/AArch64/Atomics/aarch64_be-atomicrmw-v8a.ll
    M llvm/test/CodeGen/AArch64/GlobalISel/arm64-atomic.ll
    M llvm/test/CodeGen/AArch64/GlobalISel/arm64-pcsections.ll
    M llvm/test/CodeGen/AArch64/addsub_ext.ll
    M llvm/test/CodeGen/AArch64/and-mask-removal.ll
    M llvm/test/CodeGen/AArch64/arm64-ldxr-stxr.ll
    M llvm/test/CodeGen/AArch64/arm64-vaddv.ll
    M llvm/test/CodeGen/AArch64/arm64_32-addrs.ll
    M llvm/test/CodeGen/AArch64/atomic-ops-msvc.ll
    M llvm/test/CodeGen/AArch64/atomic-ops.ll
    M llvm/test/CodeGen/AArch64/atomicrmw-fadd.ll
    M llvm/test/CodeGen/AArch64/atomicrmw-fmax.ll
    M llvm/test/CodeGen/AArch64/atomicrmw-fmin.ll
    M llvm/test/CodeGen/AArch64/atomicrmw-fsub.ll
    M llvm/test/CodeGen/AArch64/atomicrmw-xchg-fp.ll
    M llvm/test/CodeGen/AArch64/cmp-to-cmn.ll
    M llvm/test/CodeGen/AArch64/cmpxchg-idioms.ll
    M llvm/test/CodeGen/AArch64/extract-bits.ll
    M llvm/test/CodeGen/AArch64/fold-int-pow2-with-fmul-or-fdiv.ll
    M llvm/test/CodeGen/AArch64/fsh.ll
    M llvm/test/CodeGen/AArch64/funnel-shift.ll
    M llvm/test/CodeGen/AArch64/hoist-and-by-const-from-lshr-in-eqcmp-zero.ll
    M llvm/test/CodeGen/AArch64/hoist-and-by-const-from-shl-in-eqcmp-zero.ll
    M llvm/test/CodeGen/AArch64/logic-shift.ll
    M llvm/test/CodeGen/AArch64/neon-insextbitcast.ll
    M llvm/test/CodeGen/AArch64/shift-by-signext.ll
    M llvm/test/CodeGen/AArch64/shift.ll
    M llvm/test/CodeGen/AArch64/sink-and-fold.ll
    M llvm/test/CodeGen/AArch64/sve-fixed-length-subvector.ll
    M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-fp-to-int.ll
    M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-permute-zip-uzp-trn.ll
    M llvm/test/CodeGen/AArch64/vec-combine-compare-to-bitmask.ll
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.init.whole.wave-w32.ll
    M llvm/test/CodeGen/AMDGPU/mul_int24.ll
    A llvm/test/CodeGen/AMDGPU/peephole-opt-fold-reg-sequence-subreg.mir
    M llvm/test/CodeGen/ARM/aes-erratum-fix.ll
    M llvm/test/CodeGen/ARM/arm-bf16-dotprod-intrinsics.ll
    M llvm/test/CodeGen/ARM/armv8.2a-fp16-vector-intrinsics.ll
    M llvm/test/CodeGen/ARM/bf16-create-get-set-dup.ll
    M llvm/test/CodeGen/ARM/bf16-shuffle.ll
    M llvm/test/CodeGen/ARM/minnum-maxnum-intrinsics.ll
    M llvm/test/CodeGen/ARM/neon-copy.ll
    M llvm/test/CodeGen/ARM/neon-v8.1a.ll
    M llvm/test/CodeGen/ARM/vdup.ll
    M llvm/test/CodeGen/ARM/vext.ll
    M llvm/test/CodeGen/ARM/vmul.ll
    M llvm/test/CodeGen/ARM/vpadd.ll
    M llvm/test/CodeGen/ARM/vuzp.ll
    M llvm/test/CodeGen/ARM/vzip.ll
    M llvm/test/CodeGen/AVR/return.ll
    M llvm/test/CodeGen/BPF/is_trunc_free.ll
    M llvm/test/CodeGen/PowerPC/aggressive-anti-dep-breaker-subreg.ll
    M llvm/test/CodeGen/PowerPC/mma-acc-copy-hints.ll
    M llvm/test/CodeGen/PowerPC/mma-acc-memops.ll
    M llvm/test/CodeGen/PowerPC/paired-vector-intrinsics.ll
    M llvm/test/CodeGen/PowerPC/peephole-subreg-def.mir
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-cttz-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-interleaved-access.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-masked-scatter.ll
    M llvm/test/CodeGen/RISCV/rvv/vector-interleave.ll
    M llvm/test/CodeGen/SPARC/fmuladd-soft-float.ll
    M llvm/test/CodeGen/SPARC/fp128.ll
    M llvm/test/CodeGen/SPARC/fp16-promote.ll
    M llvm/test/CodeGen/SystemZ/int-uadd-01.ll
    M llvm/test/CodeGen/SystemZ/int-uadd-02.ll
    M llvm/test/CodeGen/SystemZ/pr60413.ll
    M llvm/test/CodeGen/Thumb2/mve-complex-deinterleaving-uniform-cases.ll
    M llvm/test/CodeGen/Thumb2/mve-float32regloops.ll
    M llvm/test/CodeGen/Thumb2/mve-masked-ldst.ll
    M llvm/test/CodeGen/Thumb2/mve-shuffle.ll
    M llvm/test/CodeGen/Thumb2/mve-vcvt16.ll
    M llvm/test/CodeGen/Thumb2/mve-vld2.ll
    M llvm/test/CodeGen/Thumb2/mve-vld3.ll
    M llvm/test/CodeGen/Thumb2/mve-vld4.ll
    M llvm/test/CodeGen/Thumb2/mve-vldst4.ll
    M llvm/test/CodeGen/Thumb2/mve-vst2.ll
    M llvm/test/CodeGen/Thumb2/mve-vst3.ll
    M llvm/test/CodeGen/Thumb2/mve-vst4.ll
    M llvm/test/CodeGen/VE/Scalar/select.ll
    M llvm/test/CodeGen/VE/Scalar/va_caller.ll
    M llvm/test/CodeGen/X86/AMX/amx-ldtilecfg-insert.ll
    M llvm/test/CodeGen/X86/avx512-ext.ll
    M llvm/test/CodeGen/X86/div-rem-pair-recomposition-signed.ll
    M llvm/test/CodeGen/X86/fminimum-fmaximum.ll
    M llvm/test/CodeGen/X86/fminimumnum-fmaximumnum.ll
    M llvm/test/CodeGen/X86/half.ll
    M llvm/test/CodeGen/X86/smax.ll
    M llvm/test/CodeGen/X86/smin.ll
    M llvm/test/CodeGen/X86/test-shrink.ll
    M llvm/test/CodeGen/X86/umax.ll
    M llvm/test/CodeGen/X86/umin.ll
    M llvm/test/CodeGen/X86/vector-compress.ll
    M llvm/test/CodeGen/X86/vector-fshl-256.ll
    M llvm/test/CodeGen/X86/wide-scalar-shift-legalization.ll
    M llvm/test/CodeGen/X86/widen-load-of-small-alloca-with-zero-upper-half.ll
    M llvm/test/CodeGen/X86/widen-load-of-small-alloca.ll

  Log Message:
  -----------
  PeepholeOpt: Fix looking for def of current copy to coalesce (#125533)

This fixes the handling of subregister extract copies. This
will allow AMDGPU to remove its implementation of
shouldRewriteCopySrc, which exists as a 10 year old workaround
to this bug. peephole-opt-fold-reg-sequence-subreg.mir will
show the expected improvement once the custom implementation
is removed.

The copy coalescing processing here is overly abstracted
from what's actually happening. Previously when visiting
coalescable copy-like instructions, we would parse the
sources one at a time and then pass the def of the root
instruction into findNextSource. This means that the
first thing the new ValueTracker constructed would do
is getVRegDef to find the instruction we are currently
processing. This adds an unnecessary step, placing
a useless entry in the RewriteMap, and required skipping
the no-op case where getNewSource would return the original
source operand. This was a problem since in the case
of a subregister extract, shouldRewriteCopySource would always
say that it is useful to rewrite and the use-def chain walk
would abort, returning the original operand. Move the process
to start looking at the source operand to begin with.

This does not fix the confused handling in the uncoalescable
copy case which is proving to be more difficult. Some currently
handled cases have multiple defs from a single source, and other
handled cases have 0 input operands. It would be simpler if
this was implemented with isCopyLikeInstr, rather than guessing
at the operand structure as it does now.

There are some improvements and some regressions. The
regressions appear to be downstream issues for the most part. One
of the uglier regressions is in PPC, where a sequence of insert_subrgs
is used to build registers. I opened #125502 to use reg_sequence instead,
which may help.

The worst regression is an absurd SPARC testcase using a <251 x fp128>,
which uses a very long chain of insert_subregs.

We need improved subregister handling locally in PeepholeOptimizer,
and other pasess like MachineCSE to fix some of the other regressions.
We should handle subregister composes and folding more indexes
into insert_subreg and reg_sequence.


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

  Changed paths:
    M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
    M llvm/lib/Transforms/Vectorize/VPlan.h
    M llvm/lib/Transforms/Vectorize/VPlanRecipes.cpp
    M llvm/test/Transforms/LoopVectorize/AArch64/simple_early_exit.ll

  Log Message:
  -----------
  [LoopVectorize] Add the cost of VPInstruction::AnyOf to vplan (#125058)

This patch adds an initial implementation of
VPInstruction::computeCost with support for only one
instruction so far - VPInstruction::AnyOf. This is only
used when vectorising loops with uncountable early exits.


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

  Changed paths:
    M libcxx/include/__algorithm/fill_n.h
    M libcxx/include/__bit_reference
    M libcxx/include/__fwd/bit_reference.h
    M libcxx/test/std/algorithms/alg.modifying.operations/alg.fill/fill.pass.cpp
    M libcxx/test/std/algorithms/alg.modifying.operations/alg.fill/fill_n.pass.cpp
    M libcxx/test/std/algorithms/alg.modifying.operations/alg.fill/ranges.fill.pass.cpp
    M libcxx/test/std/algorithms/alg.modifying.operations/alg.fill/ranges.fill_n.pass.cpp
    A libcxx/test/support/sized_allocator.h
    M libcxx/utils/libcxx/test/params.py

  Log Message:
  -----------
  [libc++] Fix UB in bitwise logic of {std, ranges}::{fill, fill_n} algorithms (#122410)

This PR addresses an undefined behavior that arises when using the
`std::fill` and `std::fill_n` algorithms, as well as their ranges
counterparts `ranges::fill` and `ranges::fill_n`, with `vector<bool, Alloc>`
that utilizes a custom-sized allocator with small integral types.


  Commit: 7ef636e1c4c49b175833dc91c44ed338b899c29b
      https://github.com/llvm/llvm-project/commit/7ef636e1c4c49b175833dc91c44ed338b899c29b
  Author: Timm Baeder <tbaeder at redhat.com>
  Date:   2025-02-05 (Wed, 05 Feb 2025)

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

  Log Message:
  -----------
  [clang][bytecode] Mark IndirectFieldDecl chain links as initialized (#125869)

We only initialize the final field above, so make sure we're marking the
links in the chain on the way there as initialized as well.


  Commit: f9dbf1a18b6087b4a5c5dd09e6b1b1d83469e861
      https://github.com/llvm/llvm-project/commit/f9dbf1a18b6087b4a5c5dd09e6b1b1d83469e861
  Author: Ellis Hoag <ellis.sparky.hoag at gmail.com>
  Date:   2025-02-05 (Wed, 05 Feb 2025)

  Changed paths:
    M compiler-rt/lib/memprof/memprof_allocator.cpp

  Log Message:
  -----------
  [MemProf] Use correct print_text value (#125793)


  Commit: 346077aaa6bef5652a72a2f3d9fc134ea8fc6a5b
      https://github.com/llvm/llvm-project/commit/346077aaa6bef5652a72a2f3d9fc134ea8fc6a5b
  Author: Matheus Izvekov <mizvekov at gmail.com>
  Date:   2025-02-05 (Wed, 05 Feb 2025)

  Changed paths:
    M clang/docs/ReleaseNotes.rst
    M clang/include/clang/AST/Decl.h
    M clang/include/clang/AST/DeclBase.h
    M clang/include/clang/AST/DeclTemplate.h
    M clang/lib/AST/Decl.cpp
    M clang/lib/Sema/SemaTemplateDeduction.cpp
    M clang/lib/Sema/SemaTemplateInstantiate.cpp
    M clang/lib/Sema/SemaTemplateInstantiateDecl.cpp
    M clang/lib/Serialization/ASTReaderDecl.cpp
    M clang/lib/Serialization/ASTWriterDecl.cpp
    A clang/test/SemaTemplate/GH55509.cpp

  Log Message:
  -----------
  Reland: [clang] Track function template instantiation from definition (#125266)


  Commit: 9deafad7ab00c81c9869d50bfde2aa47bdaa6dd7
      https://github.com/llvm/llvm-project/commit/9deafad7ab00c81c9869d50bfde2aa47bdaa6dd7
  Author: David Spickett <david.spickett at linaro.org>
  Date:   2025-02-05 (Wed, 05 Feb 2025)

  Changed paths:
    M clang/test/Driver/offload-Xarch.c

  Log Message:
  -----------
  [Clang] Use x86 triple for offload-Xarch.c test

This fixes an issue where your host triple is not compatible with
the 64 bit ptx being the offload architecture. At least, that's my
guess.

This failed on our Arm 32 bit bot:
https://lab.llvm.org/buildbot/#/builders/154/builds/11413/steps/5/logs/FAIL__Clang__offload-Xarch_c

Crucially it outputted:
clang: warning: argument unused during compilation: '-Xarch_nvptx64 -O3' [-Wunused-command-line-argument]

Making the triple always something 64 bit means this will work everywhere.

Fixes 455cedc805e7a42c6cfbe26a4ddd9e623cca6066 / https://github.com/llvm/llvm-project/pull/125421.


  Commit: 34929853bc39d28943373b8a96371a7e81e98917
      https://github.com/llvm/llvm-project/commit/34929853bc39d28943373b8a96371a7e81e98917
  Author: beetrees <b at beetr.ee>
  Date:   2025-02-05 (Wed, 05 Feb 2025)

  Changed paths:
    M llvm/test/DebugInfo/Generic/discriminated-union.ll

  Log Message:
  -----------
  Fix `llvm/test/DebugInfo/Generic/discriminated-union.ll` on big-endian targets (#125849)

Fixes the failure of the [Solaris/sparcv9
buildbot](https://lab.llvm.org/buildbot/#/builders/13/builds/5103)
caused by #125578.

cc @rorth @tromey @dwblaikie


  Commit: 19c3e2f7de28e10caef40baf94293bb67712401e
      https://github.com/llvm/llvm-project/commit/19c3e2f7de28e10caef40baf94293bb67712401e
  Author: Krishna Pandey <47917477+krishna2803 at users.noreply.github.com>
  Date:   2025-02-05 (Wed, 05 Feb 2025)

  Changed paths:
    M libc/src/__support/CMakeLists.txt
    M libc/src/__support/FPUtil/CMakeLists.txt
    M libc/src/dirent/readdir.h
    M libc/src/string/allocating_string_utils.h
    M libc/src/string/memory_utils/aarch64/inline_bcmp.h
    M libc/src/string/memory_utils/aarch64/inline_memset.h
    M libc/src/string/memory_utils/generic/builtin.h
    M libc/src/string/memory_utils/inline_bcmp.h
    M libc/src/string/memory_utils/inline_bzero.h
    M libc/src/string/memory_utils/inline_memmem.h
    M libc/src/string/memory_utils/inline_memmove.h
    M libc/src/string/memory_utils/inline_strcmp.h
    M libc/src/string/memory_utils/inline_strstr.h
    M libc/src/string/memory_utils/op_aarch64.h
    M libc/src/string/memory_utils/op_builtin.h
    M libc/src/string/memory_utils/op_generic.h
    M libc/src/string/memory_utils/op_riscv.h
    M libc/src/string/memory_utils/op_x86.h
    M libc/src/string/memory_utils/riscv/inline_bcmp.h
    M libc/src/string/memory_utils/riscv/inline_memcmp.h
    M libc/src/string/memory_utils/riscv/inline_memcpy.h
    M libc/src/string/memory_utils/riscv/inline_memmove.h
    M libc/src/string/memory_utils/riscv/inline_memset.h
    M libc/src/string/memory_utils/utils.h
    M libc/src/string/memory_utils/x86_64/inline_bcmp.h
    M libc/src/string/memory_utils/x86_64/inline_memset.h

  Log Message:
  -----------
  [libc] Fix all imports of src/string/memory_utils (#114939)

Fixed imports for all files *within* `libc/src/string/memory_utils`.
Note: This doesn't include **all** files that need to be fixed.

Fixes #86579


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

  Changed paths:
    M bolt/test/AArch64/exceptions-plt.cpp
    M bolt/test/AArch64/plt-call.test
    M bolt/test/X86/callcont-fallthru.s
    M bolt/test/X86/cfi-instrs-reordered.s
    M bolt/test/X86/plt-call.test
    M bolt/test/runtime/exceptions-plt.cpp
    M bolt/test/runtime/plt-lld.test

  Log Message:
  -----------
  [BOLT,test] Link against a shared object to test PLT (#125625)

A few tests generate a statically-linked position-independent executable
with `-nostdlib -Wl,--unresolved-symbols=ignore-all -pie` (`%clang`) and
test PLT handling. (--unresolved-symbols=ignore-all suppresses undefined
symbol errors and serves as a convenience hack.)

This relies on an unguaranteed linker behavior: a statically-linked PIE
does not necessarily generate PLT entries.
While current lld generates a PLT entry, it will change to suppress the
PLT entry to simplify internal handling and improve consistency.

(The behavior has no consistency in GNU ld, some ports generated a
.dynsym entry while some don't. While most seem to generate a PLT entry
but some ports use a weird `R_*_NONE` relocation.)


  Commit: 50a27ce88cb070b68da739c6ec6e7eb255601495
      https://github.com/llvm/llvm-project/commit/50a27ce88cb070b68da739c6ec6e7eb255601495
  Author: Viktoria Maximova <viktoria.maksimova at intel.com>
  Date:   2025-02-05 (Wed, 05 Feb 2025)

  Changed paths:
    M llvm/lib/Target/SPIRV/SPIRVBuiltins.cpp
    M llvm/lib/Target/SPIRV/SPIRVBuiltins.td
    M llvm/lib/Target/SPIRV/SPIRVInstrInfo.td
    M llvm/lib/Target/SPIRV/SPIRVModuleAnalysis.cpp
    A llvm/test/CodeGen/SPIRV/extensions/SPV_KHR_integer_dot_product/SPV_KHR_integer_dot_product_OCLtoSPIRV_char4.ll
    A llvm/test/CodeGen/SPIRV/extensions/SPV_KHR_integer_dot_product/SPV_KHR_integer_dot_product_OCLtoSPIRV_int.ll
    A llvm/test/CodeGen/SPIRV/extensions/SPV_KHR_integer_dot_product/SPV_KHR_integer_dot_product_OCLtoSPIRV_short2.ll

  Log Message:
  -----------
  [SPIR-V] Support all the instructions of SPV_KHR_integer_dot_product (#123792)

This continues the work on dot product instructions already started in
3cdac06.

This change adds support for all OpenCL integer dot product builtins
under `cl_khr_integer_dot_product` extension, namely:
```
* dot
* dot_acc_sat
* dot_4x8packed_(uu/ss/su/us)_(u)int
* dot_acc_sat_4x8packed_(uu/ss/su/us)_(u)int
```


  Commit: 1c7625b350755a1e2873282c125ca91691a1a7d6
      https://github.com/llvm/llvm-project/commit/1c7625b350755a1e2873282c125ca91691a1a7d6
  Author: Simon Pilgrim <llvm-dev at redking.me.uk>
  Date:   2025-02-05 (Wed, 05 Feb 2025)

  Changed paths:
    M llvm/test/CodeGen/X86/fp-strict-scalar-fptoint-fp16.ll

  Log Message:
  -----------
  [X86] fp-strict-scalar-fptoint-fp16.ll - regenerate VMOVSH comments


  Commit: d86e379fd2ed8292bb2df44fe6f40692869f40c3
      https://github.com/llvm/llvm-project/commit/d86e379fd2ed8292bb2df44fe6f40692869f40c3
  Author: Christudasan Devadasan <christudasan.devadasan at amd.com>
  Date:   2025-02-05 (Wed, 05 Feb 2025)

  Changed paths:
    A llvm/include/llvm/CodeGen/StackSlotColoring.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/StackSlotColoring.cpp
    M llvm/lib/Passes/PassBuilder.cpp

  Log Message:
  -----------
  [CodeGen][NewPM] Port StackSlotColoring to NPM. (#125876)


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

  Changed paths:
    M mlir/test/lib/Transforms/CMakeLists.txt

  Log Message:
  -----------
  [mlir][CMake] Fix dependency on MLIRTestDialect in Transforms tests (#125894)

Another follow up fix to
https://github.com/llvm/llvm-project/pull/123910 to fix a build failure
that sometimes happens in shared library builds:
https://lab.llvm.org/buildbot/#/builders/50/builds/9724

In file included from
/home/tcwg-buildbot/worker/flang-aarch64-dylib/llvm-project/mlir/test/lib/Transforms/TestInlining.cpp:16:
/home/tcwg-buildbot/worker/flang-aarch64-dylib/llvm-project/mlir/test/lib/Transforms/../Dialect/Test/TestOps.h:148:10:
fatal error: 'TestOps.h.inc' file not found
  148 | #include "TestOps.h.inc"
      |          ^~~~~~~~~~~~~~~
1 error generated.


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

  Changed paths:
    M flang/test/Lower/CUDA/cuda-device-proc.cuf
    M flang/test/Semantics/cuf09.cuf

  Log Message:
  -----------
  [flang][cuda][NFC] Add tests for device functions in cuf kernels (#125882)


  Commit: 5b98be4e0b9adce6f127c3659a4e7808173535b2
      https://github.com/llvm/llvm-project/commit/5b98be4e0b9adce6f127c3659a4e7808173535b2
  Author: Mark de Wever <koraq at xs4all.nl>
  Date:   2025-02-05 (Wed, 05 Feb 2025)

  Changed paths:
    M libcxx/docs/ReleaseNotes/21.rst
    M libcxx/include/__format/escaped_output_table.h
    M libcxx/include/__format/extended_grapheme_cluster_table.h
    M libcxx/include/__format/indic_conjunct_break_table.h
    M libcxx/include/__format/width_estimation_table.h
    M libcxx/test/libcxx/utilities/format/format.string/format.string.std/escaped_output.pass.cpp
    M libcxx/test/libcxx/utilities/format/format.string/format.string.std/extended_grapheme_cluster.h
    M libcxx/test/libcxx/utilities/format/format.string/format.string.std/extended_grapheme_cluster.pass.cpp
    M libcxx/utils/data/unicode/DerivedCoreProperties.txt
    M libcxx/utils/data/unicode/DerivedGeneralCategory.txt
    M libcxx/utils/data/unicode/EastAsianWidth.txt
    M libcxx/utils/data/unicode/GraphemeBreakProperty.txt
    M libcxx/utils/data/unicode/GraphemeBreakTest.txt
    M libcxx/utils/data/unicode/emoji-data.txt

  Log Message:
  -----------
  [lib++][Format] Updates Unicode database. (#125712)

Updates the databease to the Unicode release 16.0.0. The algorithms of
the Grapheme clustering rules have not changed.


  Commit: 57614a340ce795c6a6443362e1d24b2725853294
      https://github.com/llvm/llvm-project/commit/57614a340ce795c6a6443362e1d24b2725853294
  Author: Nick Desaulniers <ndesaulniers at google.com>
  Date:   2025-02-05 (Wed, 05 Feb 2025)

  Changed paths:
    M libc/include/llvm-libc-macros/linux/sys-wait-macros.h

  Log Message:
  -----------
  [libc][sys/wait][linux] add missing and clean up existing macros (#125572)

This patch does a few things:
- replace macro definitions with an inclusion of the linux/wait.h kernel
  header.
  - WNOHANG
  - WUNTRACED
  - WEXITED
  - WCONTINUED
  - WSTOPPED
  - P_ALL
  - P_PID
  - P_PGID
  - P_PIDFD
- Add missing macro definitions mandated by POSIX. Some are needed to
  build LLVM.
  - WCOREDUMP
  - WIFCONTINUED
  - WIFSIGNALELD
  - WIFSTOPPED
  - WSTOPSIG
- Remove glibc style __W* macros. Users should stick with the POSIX
  macros. We can re-add them if necessary.
  - __WEXITSTATUS
  - __WTERMSIG
  - __WIFEXITED
  - __WIFSIGNALED
  - __WIFSTOPPED
  - __WIFCONTINUED
  - __WCOREDUMP
  - __W_EXITCODE
  - __W_STOPCODE
  - __W_CONTINUED
  - __WCOREFLAG

Fixes: #124944


  Commit: 41d5d2b5a216d82cd4e20f2dcf32708978d11114
      https://github.com/llvm/llvm-project/commit/41d5d2b5a216d82cd4e20f2dcf32708978d11114
  Author: Med Ismail Bennani <ismail at bennani.ma>
  Date:   2025-02-05 (Wed, 05 Feb 2025)

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

  Log Message:
  -----------
  [lldb/Host] Add ability to open URLs on macOS (#125893)

This patch adds the ability to open URLs from lldb on macOS. This can be
a website URL or a deep link to a particular application.

rdar://143327616

Signed-off-by: Med Ismail Bennani <ismail at bennani.ma>


  Commit: 6f750cfb96c74426e002a8353ebd53fdf8a9714a
      https://github.com/llvm/llvm-project/commit/6f750cfb96c74426e002a8353ebd53fdf8a9714a
  Author: Krishna Pandey <47917477+krishna2803 at users.noreply.github.com>
  Date:   2025-02-05 (Wed, 05 Feb 2025)

  Changed paths:
    M libc/config/linux/aarch64/entrypoints.txt
    M libc/config/linux/riscv/entrypoints.txt
    M libc/config/linux/x86_64/entrypoints.txt
    M libc/include/unistd.yaml
    M libc/src/unistd/CMakeLists.txt
    M libc/src/unistd/linux/CMakeLists.txt
    A libc/src/unistd/linux/setsid.cpp
    A libc/src/unistd/setsid.h
    M libc/test/src/unistd/CMakeLists.txt
    A libc/test/src/unistd/setsid_test.cpp

  Log Message:
  -----------
  [libc][unistd] Implement setsid (#125704)

https://man7.org/linux/man-pages/man2/setsid.2.html

closes #124632


  Commit: 659d1feeaf5ab0a71fd9d89b05f15347a9180547
      https://github.com/llvm/llvm-project/commit/659d1feeaf5ab0a71fd9d89b05f15347a9180547
  Author: David Pagan <dave.pagan at amd.com>
  Date:   2025-02-05 (Wed, 05 Feb 2025)

  Changed paths:
    M clang/include/clang/Basic/OpenMPKinds.h
    M clang/lib/Basic/OpenMPKinds.cpp
    M clang/lib/Sema/SemaOpenMP.cpp
    M clang/test/OpenMP/for_order_messages.cpp

  Log Message:
  -----------
  [clang][OpenMP] OpenMP 6.0 updates to restrictions with order/concurrent (#125621)

>From OpenMP 6.0 features list
- OpenMP directives in concurrent loop regions
- atomics constructs on concurrent loop regions
- Lift nesting restriction on concurrent loop

Testing
- Updated test/OpenMP/for_order_messages.cpp
- check-all


  Commit: c491cbfe75880907fd53b951b6e6bbb254b7d350
      https://github.com/llvm/llvm-project/commit/c491cbfe75880907fd53b951b6e6bbb254b7d350
  Author: klensy <klensy at users.noreply.github.com>
  Date:   2025-02-05 (Wed, 05 Feb 2025)

  Changed paths:
    M flang/test/Driver/dump-pft.f90
    M flang/test/Driver/func-attr-fast-math.f90
    R flang/test/Driver/omp-cse-region-boundary.f90
    M flang/test/Driver/omp-driver-offload.f90
    M flang/test/Evaluate/errors01.f90
    M flang/test/Fir/arrexp.fir
    M flang/test/Fir/pdt.fir
    M flang/test/Fir/simplify-region-lite-after-inliner.fir
    M flang/test/Fir/target.fir
    M flang/test/Lower/CUDA/cuda-allocatable.cuf
    M flang/test/Lower/HLFIR/calls-f77.f90
    M flang/test/Lower/HLFIR/maxloc.f90
    M flang/test/Lower/HLFIR/maxval.f90
    M flang/test/Lower/HLFIR/minloc.f90
    M flang/test/Lower/HLFIR/minval.f90
    M flang/test/Lower/HLFIR/sum.f90
    M flang/test/Lower/Intrinsics/adjustl.f90
    M flang/test/Lower/Intrinsics/adjustr.f90
    M flang/test/Lower/Intrinsics/any.f90
    M flang/test/Lower/Intrinsics/parity.f90
    M flang/test/Lower/Intrinsics/storage_size-2.f90
    M flang/test/Lower/OpenACC/acc-set.f90
    M flang/test/Lower/OpenMP/unstructured.f90
    M flang/test/Lower/OpenMP/wsloop-reduction-array.f90
    M flang/test/Lower/array.f90
    M flang/test/Lower/components.f90
    M flang/test/Lower/control-flow.f90
    M flang/test/Lower/derived-assignments.f90
    M flang/test/Lower/equivalence-static-init.f90
    M flang/test/Lower/forall/array-subscripts.f90
    M flang/test/Lower/module_use.f90
    M flang/test/Lower/pause-statement.f90
    M flang/test/Lower/polymorphic.f90
    M flang/test/Parser/OpenMP/in-reduction-clause.f90
    M flang/test/Transforms/loop-versioning.fir
    M flang/test/Transforms/simplifyintrinsics.fir

  Log Message:
  -----------
  [flang][test] Fix filecheck annotation typos (#92387)


  Commit: 1eeca67c57fe1fbf7a9a05ff02e5376e0a29e52f
      https://github.com/llvm/llvm-project/commit/1eeca67c57fe1fbf7a9a05ff02e5376e0a29e52f
  Author: Brox Chen <guochen2 at amd.com>
  Date:   2025-02-05 (Wed, 05 Feb 2025)

  Changed paths:
    M llvm/lib/Target/AMDGPU/AsmParser/AMDGPUAsmParser.cpp
    A llvm/test/MC/AMDGPU/gfx11_asm_opsel_err.s

  Log Message:
  -----------
  [AMDGPU][True16][MC] validate op_sel and .l/.h syntax (#125872)

check if op_sel is consistent with .l/.h syntax if both are presented

reopen this https://github.com/llvm/llvm-project/pull/123250 since
problem is resolved in https://github.com/llvm/llvm-project/pull/125561


  Commit: 96d46c694da6b040ea89d2004289ebfb6092892b
      https://github.com/llvm/llvm-project/commit/96d46c694da6b040ea89d2004289ebfb6092892b
  Author: Alex Bradbury <asb at igalia.com>
  Date:   2025-02-05 (Wed, 05 Feb 2025)

  Changed paths:
    M llvm/docs/HowToAddABuilder.rst

  Log Message:
  -----------
  [docs] Improvements to HowToAddABuilder local test guide (#125802)

This patch makes the following improvements:
* Corrects the suggestion that `bbenv` needs to be made within an
llvm-zorg checkout.
* Gives workarounds for following the instructions on a system with
Python 3.13 (it removed some long-deprecated libraries, which causes
problems).
* Adds a note about how some builder workflows involve checking out
llvm-zorg to retrieve additional scripts and gives guidance on how you
can still make and test local changes to those scripts when that's the
case.


  Commit: 2d8106cb5a505326d1da0f4461708ed44a0ac761
      https://github.com/llvm/llvm-project/commit/2d8106cb5a505326d1da0f4461708ed44a0ac761
  Author: Joseph Huber <huberjn at outlook.com>
  Date:   2025-02-05 (Wed, 05 Feb 2025)

  Changed paths:
    M clang/lib/Headers/amdgpuintrin.h
    M clang/lib/Headers/gpuintrin.h
    M clang/lib/Headers/nvptxintrin.h
    M libc/src/__support/GPU/utils.h
    M libc/test/integration/src/__support/GPU/CMakeLists.txt
    A libc/test/integration/src/__support/GPU/shuffle.cpp

  Log Message:
  -----------
  [Clang] Add width handling for <gpuintrin.h> shuffle helper (#125896)

Summary:
The CUDA impelementation has long supported the `width` argument on its
shuffle instrucitons, which makes it more difficult to replace those
uses with this helper. This patch just correctly implements that for
AMDGPU and NVPTX so it's equivalent to `__shfl_sync` in CUDA. This will
ease porting.

Fortunately these get optimized out correctly when passing in known
widths.


  Commit: d9a7498aa24a35bdd95fd20a5c63e9495b6669f6
      https://github.com/llvm/llvm-project/commit/d9a7498aa24a35bdd95fd20a5c63e9495b6669f6
  Author: cmtice <cmtice at google.com>
  Date:   2025-02-05 (Wed, 05 Feb 2025)

  Changed paths:
    A lldb/include/lldb/ValueObject/DILLexer.h
    M lldb/source/ValueObject/CMakeLists.txt
    A lldb/source/ValueObject/DILLexer.cpp
    M lldb/unittests/ValueObject/CMakeLists.txt
    A lldb/unittests/ValueObject/DILLexerTests.cpp

  Log Message:
  -----------
  [LLDB] Add Lexer (with tests) for DIL (Data Inspection Language). (#123521)

This adds the basic lexer, with unittests, for the Data Inspection
Language (DIL) -- see
https://discourse.llvm.org/t/rfc-data-inspection-language/69893

This version of the lexer only handles local variables and namespaces,
and is designed to work with
https://github.com/llvm/llvm-project/pull/120971.


  Commit: 718cdeb9c701725412a040b2b7148523a286a256
      https://github.com/llvm/llvm-project/commit/718cdeb9c701725412a040b2b7148523a286a256
  Author: Joseph Huber <huberjn at outlook.com>
  Date:   2025-02-05 (Wed, 05 Feb 2025)

  Changed paths:
    M clang/test/Headers/gpuintrin.c

  Log Message:
  -----------
  [Clang] Fix test after new argument was added


  Commit: 46c484524454b20ab1c08bf289f140025739dc5f
      https://github.com/llvm/llvm-project/commit/46c484524454b20ab1c08bf289f140025739dc5f
  Author: lntue <lntue at google.com>
  Date:   2025-02-05 (Wed, 05 Feb 2025)

  Changed paths:
    M libc/cmake/modules/LLVMLibCFlagRules.cmake

  Log Message:
  -----------
  [libc][cmake] Do not overwrite SKIP_FLAG_EXPANSION_*. (#125762)

So that users can set these manually if needed.


  Commit: ba476d0b83dc8a4bbf066dc02a0f73ded27114f0
      https://github.com/llvm/llvm-project/commit/ba476d0b83dc8a4bbf066dc02a0f73ded27114f0
  Author: Peter Smith <peter.smith at arm.com>
  Date:   2025-02-05 (Wed, 05 Feb 2025)

  Changed paths:
    M lld/ELF/InputFiles.cpp
    A lld/test/ELF/aarch64-build-attributes.s

  Log Message:
  -----------
  [LLD][ELF][AArch64] Discard .ARM.attributes sections (#125838)

LLVM has started to emit AArch64 build attributes sections called
.ARM.attributes. LLD does not yet have support for these so they are
accumulating in the ELF output. As the first part of that support
discard all the .ARM.attributes sections. This can be built upon by the
full implementation in LLD.

The build attributes specification only defines build attributes for
relocatable objects. The intention for LLD is that files of type ET_EXEC
and ET_SHARED will not have a build attributes in the output. A
relocatable link with -r will need a merged build attributes, but until
the merge is implemented it is better to discard.


  Commit: 251ece199e768b633778b0f7785b0f6dbcc74de0
      https://github.com/llvm/llvm-project/commit/251ece199e768b633778b0f7785b0f6dbcc74de0
  Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
  Date:   2025-02-05 (Wed, 05 Feb 2025)

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

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


  Commit: 25dd93aab669bafab41eda7537fdc9696bbc5f31
      https://github.com/llvm/llvm-project/commit/25dd93aab669bafab41eda7537fdc9696bbc5f31
  Author: Craig Topper <craig.topper at sifive.com>
  Date:   2025-02-05 (Wed, 05 Feb 2025)

  Changed paths:
    M llvm/utils/TableGen/Common/CodeGenDAGPatterns.h

  Log Message:
  -----------
  [TableGen] Add declarations to silence gcc warning. NFC (#125892)

Add declarations of SDTypeConstraint's operator== and operator< to the
llvm namespace. These are declared as friends inside the class which
makes them part of the enclosing namespace, but gcc wants it to be more
explicit.

Fixes #125537.


  Commit: a57bbff736ff4658940266a218491ea9d576b13b
      https://github.com/llvm/llvm-project/commit/a57bbff736ff4658940266a218491ea9d576b13b
  Author: Jordan Rupprecht <rupprecht at google.com>
  Date:   2025-02-05 (Wed, 05 Feb 2025)

  Changed paths:
    M clang/test/Driver/amdgpu-openmp-sanitize-options.c
    M clang/test/Driver/offload-Xarch.c

  Log Message:
  -----------
  [clang][test][OpenMP] Fix test assumptions of libomp and clang paths (#125891)

These tests assume `-fopenmp=libomp` is the default, which it may not
be. We also need to invoke clang with `-no-canonical-prefixes` to ensure
we get the argv we expect, i.e. clang may be a symlink to a binary
elsewhere that has a different name.

Fixes tests added by 455cedc805e7a42c6cfbe26a4ddd9e623cca6066 and
646d352ab0d0a9cfafa3f2c9c415b5773834ad5b


  Commit: fa100470ab1e09edf38ace8132d7377372c53f5b
      https://github.com/llvm/llvm-project/commit/fa100470ab1e09edf38ace8132d7377372c53f5b
  Author: David CARLIER <devnexen at gmail.com>
  Date:   2025-02-05 (Wed, 05 Feb 2025)

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

  Log Message:
  -----------
  [compiler-rt][rtsan] chdir/fchdir interception. (#125895)


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

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

  Log Message:
  -----------
  [NFC][TableGen] Make `AsmMatcherEmitterCat` static (#125881)


  Commit: 0ad1f8369c8637287367112dd777c525d3a8e383
      https://github.com/llvm/llvm-project/commit/0ad1f8369c8637287367112dd777c525d3a8e383
  Author: Nikhil Kalra <nkalra at apple.com>
  Date:   2025-02-05 (Wed, 05 Feb 2025)

  Changed paths:
    M mlir/lib/Bindings/Python/IRCore.cpp
    M mlir/test/python/ir/operation.py

  Log Message:
  -----------
  [mlir] Python: Extend print large elements limit to resources (#125738)

If the large element limit is specified, large elements are hidden from
the asm but large resources are not. This change extends the large
elements limit to apply to printed resources as well.


  Commit: 4e14b8afb44af58ab7073bb8c0b52875599b0ae1
      https://github.com/llvm/llvm-project/commit/4e14b8afb44af58ab7073bb8c0b52875599b0ae1
  Author: Nikhil Kalra <nkalra at apple.com>
  Date:   2025-02-05 (Wed, 05 Feb 2025)

  Changed paths:
    M mlir/include/mlir-c/IR.h
    M mlir/include/mlir/Bindings/Python/Nanobind.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 (#125736)

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.


  Commit: 113534d12e9b2faa46607e27a115ec3ba22cd0fc
      https://github.com/llvm/llvm-project/commit/113534d12e9b2faa46607e27a115ec3ba22cd0fc
  Author: Nikhil Kalra <nkalra at apple.com>
  Date:   2025-02-05 (Wed, 05 Feb 2025)

  Changed paths:
    M mlir/cmake/modules/AddMLIRPython.cmake

  Log Message:
  -----------
  [MLIR] Fix nanobind linker args on macOS (#125733)

Set the "-U,_PyClassMethod_New" linker flag on the Python library itself
isntead of on the CMAKE_MODULE_LINKER_FLAGS property.


  Commit: 585b75ec9aa5be3594bcd28077f6b2e0a198dec4
      https://github.com/llvm/llvm-project/commit/585b75ec9aa5be3594bcd28077f6b2e0a198dec4
  Author: Florian Hahn <flo at fhahn.com>
  Date:   2025-02-05 (Wed, 05 Feb 2025)

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

  Log Message:
  -----------
  [VPlan] Simplify matching recipe ty and opcode in pattern match (NFC).

Use parameter pack fold to simplify matching of recipe types and opcodes
for RecipeTys parameter pack.


  Commit: 6e52a12811a17e5871f403f04fd4082d43160bf3
      https://github.com/llvm/llvm-project/commit/6e52a12811a17e5871f403f04fd4082d43160bf3
  Author: Ivan Butygin <ivan.butygin at gmail.com>
  Date:   2025-02-05 (Wed, 05 Feb 2025)

  Changed paths:
    M mlir/include/mlir/Conversion/VectorToLLVM/ConvertVectorToLLVM.h
    M mlir/include/mlir/InitAllExtensions.h
    M mlir/lib/Conversion/VectorToLLVM/ConvertVectorToLLVM.cpp
    M mlir/lib/Dialect/Vector/IR/VectorOps.cpp
    A mlir/test/Conversion/VectorToLLVM/vector-to-llvm-interface.mlir

  Log Message:
  -----------
  [mlir][vector] Create `VectorToLLVMDialectInterface` (#121440)

Create `VectorToLLVMDialectInterface` which allows automatic conversion
discovery by generic `--convert-to-llvm` pass. This only covers final
dialect conversion step and not any previous preparation steps. Also,
currently there is no way to pass any additional parameters through this
conversion interface, but most users using default parameters anyway.


  Commit: 4eab2194872d54e2d4496135a277b1610ff33ead
      https://github.com/llvm/llvm-project/commit/4eab2194872d54e2d4496135a277b1610ff33ead
  Author: Roland McGrath <mcgrathr at google.com>
  Date:   2025-02-05 (Wed, 05 Feb 2025)

  Changed paths:
    M libc/test/src/compiler/stack_chk_guard_test.cpp

  Log Message:
  -----------
  [libc] Remove LlvmLibcStackChkFail.Smash test (#125919)

This test was problematic, and also unnecessary.  It's not really
a test of the libc functionality or ABI.  That's already covered
by the LlvmLibcStackChkFail.Death test.  The Smash test was in
fact just testing that the compiler produces the call in the
expected situation.  That's a compiler test, not a libc test.

It's not really feasible to make a test like this both reliable
and safe.  Since it's not something libc needs to test, it's not
worth trying.


  Commit: b4d547ac82020b67feef75bb84a1bfc69f38a837
      https://github.com/llvm/llvm-project/commit/b4d547ac82020b67feef75bb84a1bfc69f38a837
  Author: Nick Desaulniers <ndesaulniers at google.com>
  Date:   2025-02-05 (Wed, 05 Feb 2025)

  Changed paths:
    M libc/src/sys/wait/wait4Impl.h

  Log Message:
  -----------
  [libc][wait] hard code __W_CONTINUED for SYS_waitid fallback (#125929)

riscv32 currently doesn't have SYS_wait4, so wait4 is implemented via fallback
to SYS_waitid. In #125572, I missed that we had one use of the removed
__W_CONTINUED value. Hard code it here.

Fixes: #125572


  Commit: 8e35b3d29b35d854055503b213604138a4a17cb0
      https://github.com/llvm/llvm-project/commit/8e35b3d29b35d854055503b213604138a4a17cb0
  Author: Nick Desaulniers <ndesaulniers at google.com>
  Date:   2025-02-05 (Wed, 05 Feb 2025)

  Changed paths:
    M libc/config/linux/aarch64/entrypoints.txt
    M libc/config/linux/aarch64/headers.txt
    M libc/config/linux/arm/entrypoints.txt
    M libc/config/linux/riscv/entrypoints.txt
    M libc/config/linux/x86_64/entrypoints.txt
    M libc/config/linux/x86_64/headers.txt
    M libc/hdr/types/CMakeLists.txt
    A libc/hdr/types/nfds_t.h
    A libc/hdr/types/struct_pollfd.h
    M libc/include/CMakeLists.txt
    M libc/include/llvm-libc-macros/CMakeLists.txt
    M libc/include/llvm-libc-macros/linux/CMakeLists.txt
    A libc/include/llvm-libc-macros/linux/poll-macros.h
    A libc/include/llvm-libc-macros/poll-macros.h
    M libc/include/llvm-libc-types/CMakeLists.txt
    A libc/include/llvm-libc-types/nfds_t.h
    A libc/include/llvm-libc-types/struct_pollfd.h
    A libc/include/poll.h.def
    A libc/include/poll.yaml
    M libc/src/CMakeLists.txt
    A libc/src/poll/CMakeLists.txt
    A libc/src/poll/linux/CMakeLists.txt
    A libc/src/poll/linux/poll.cpp
    A libc/src/poll/poll.h
    M libc/test/src/CMakeLists.txt
    A libc/test/src/poll/CMakeLists.txt
    A libc/test/src/poll/poll_test.cpp

  Log Message:
  -----------
  [libc][POSIX][poll.h] implement poll (#125118)

Simple syscall.

Fixes: #124647


  Commit: db9caf69ee9eb2f927d42ad3ae99194b75276582
      https://github.com/llvm/llvm-project/commit/db9caf69ee9eb2f927d42ad3ae99194b75276582
  Author: Jordan Rupprecht <rupprecht at google.com>
  Date:   2025-02-05 (Wed, 05 Feb 2025)

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

  Log Message:
  -----------
  [bazel][mlir][vector] Port 6e52a12811a17e5871f403f04fd4082d43160bf3 (#125936)

https://github.com/llvm/llvm-project/pull/121440


  Commit: 718b16a0fcd385cce84f1cc37a813f7c3e441bb7
      https://github.com/llvm/llvm-project/commit/718b16a0fcd385cce84f1cc37a813f7c3e441bb7
  Author: Nick Desaulniers <ndesaulniers at google.com>
  Date:   2025-02-05 (Wed, 05 Feb 2025)

  Changed paths:
    M libc/src/sys/wait/wait4Impl.h

  Log Message:
  -----------
  [libc][wait] add comment about __W_CONTINUED value (#125934)


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

  Changed paths:
    M flang/module/cudadevice.f90
    M flang/test/Lower/CUDA/cuda-device-proc.cuf

  Log Message:
  -----------
  [flang][cuda] Make argument passed by value for sync functions (#125909)

`syncthreads_and`, `syncthreads_count`, `syncthreads_or`, `synwrap` must
take their argument by value. This patch updates the interfaces and
makes sure these functions can be called inside a cuff kernel as well.


  Commit: 94d51fdadb9122fa85d80f7a8631bb757d0b8685
      https://github.com/llvm/llvm-project/commit/94d51fdadb9122fa85d80f7a8631bb757d0b8685
  Author: Zack Johnson <zacklj89 at gmail.com>
  Date:   2025-02-05 (Wed, 05 Feb 2025)

  Changed paths:
    M compiler-rt/test/asan/TestCases/suppressions-alloc-dealloc-mismatch.cpp
    M compiler-rt/test/asan/TestCases/suppressions-function.cpp

  Log Message:
  -----------
  [asan][test][MSVC] Disabling test on MSVC x86 because of optimized builds (#125871)

Including #124987, we have failures on Windows on x86 with `/O2` builds,
similar to Darwin. This disables the test for MSVC-x86.


  Commit: 72aa3889fb725ce27817f06c9d7754e78cff9fc2
      https://github.com/llvm/llvm-project/commit/72aa3889fb725ce27817f06c9d7754e78cff9fc2
  Author: Nick Desaulniers <ndesaulniers at google.com>
  Date:   2025-02-05 (Wed, 05 Feb 2025)

  Changed paths:
    M libc/config/linux/riscv/entrypoints.txt
    M libc/src/poll/linux/poll.cpp

  Log Message:
  -----------
  [libc][poll] remove entrypoint for riscv (#125941)

riscv32 specifically doesn't provide EITHER SYS_poll or SYS_ppoll. We may be
able to reimplement poll in terms of syscalls to SYS_ppoll_time64, but will
leave that as a TODO for the future. (Such as when we want to be able to cross
compile for riscv32).

Link: #125940
Fixes: #125118


  Commit: e51435c2eb11262fbd22b6322be883c76a55cce1
      https://github.com/llvm/llvm-project/commit/e51435c2eb11262fbd22b6322be883c76a55cce1
  Author: Jordan Rupprecht <rupprecht at google.com>
  Date:   2025-02-05 (Wed, 05 Feb 2025)

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

  Log Message:
  -----------
  [bazel][mlir][vector] Extra dep for 6e52a12811a17e5871f403f04fd4082d43160bf3 (#125945)

Missed this one in https://github.com/llvm/llvm-project/pull/125936


  Commit: 8b448842c4766306b74f9dba2ee9ad3af12fea6c
      https://github.com/llvm/llvm-project/commit/8b448842c4766306b74f9dba2ee9ad3af12fea6c
  Author: Paul Kirth <paulkirth at google.com>
  Date:   2025-02-05 (Wed, 05 Feb 2025)

  Changed paths:
    M clang/test/CodeGen/fat-lto-objects-cfi.cpp

  Log Message:
  -----------
  [clang][NFC] Precommit test file refactoring (#125944)

An upcoming change will need to use add additional tests to this file,
so this patch updates the RUN line to use a test prefix.


  Commit: 5f7acf7259ec693cf03d6dcc75d9b0ef1a4b4e81
      https://github.com/llvm/llvm-project/commit/5f7acf7259ec693cf03d6dcc75d9b0ef1a4b4e81
  Author: Abid Qadeer <haqadeer at amd.com>
  Date:   2025-02-05 (Wed, 05 Feb 2025)

  Changed paths:
    M llvm/include/llvm/Frontend/OpenMP/OMPIRBuilder.h
    M llvm/lib/Frontend/OpenMP/OMPIRBuilder.cpp
    M llvm/unittests/Frontend/OpenMPIRBuilderTest.cpp
    M mlir/lib/Target/LLVMIR/Dialect/OpenMP/OpenMPToLLVMIRTranslation.cpp
    A mlir/test/Target/LLVMIR/omptarget-debug-nowait.mlir

  Log Message:
  -----------
  [flang][OMPIRbuilder] Set debug loc on terminator created by splitBB. (#125897)

Fixes #125088.

When splitBB is called with createBranch=true, it creates a branch
instruction in the old block. But no debug loc is set on that branch
instruction. If that is used as InsertPoint in the restoreIP, it has the
potential to set the current debug location to null and subsequent
instruction will come out without a debug location. This caused the
verification check to fail as shown in the bug report.

This PR changes splitBB and spliceBB function to also take a debugLoc
parameter which can be used to set the debug location of the branch
instruction.


  Commit: fd4c4ed712c14ab80979bcdca121387d83a465ff
      https://github.com/llvm/llvm-project/commit/fd4c4ed712c14ab80979bcdca121387d83a465ff
  Author: Alan Zhao <ayzhao at google.com>
  Date:   2025-02-05 (Wed, 05 Feb 2025)

  Changed paths:
    M libc/include/__llvm-libc-common.h
    M libc/include/setjmp.yaml
    M libc/src/setjmp/setjmp_impl.h

  Log Message:
  -----------
  [libc] Add `returns_twice` attribute to `setjmp(3)` (#124370)

This is to ensure that calls to `setjmp(3)` result in correct code
generation that respects `setjmp(3)`'s `returns_twice` behavior.
Otherwise, we might run into bugs (for example, Clang may perform
tail-call optimization on this function if `-fno-builtins` is set
(#122840)).

---------

Co-authored-by: Nick Desaulniers <nick.desaulniers at gmail.com>


  Commit: de7be32734dc789ba35602a58f37a14f764ebd58
      https://github.com/llvm/llvm-project/commit/de7be32734dc789ba35602a58f37a14f764ebd58
  Author: Peter Collingbourne <peter at pcc.me.uk>
  Date:   2025-02-05 (Wed, 05 Feb 2025)

  Changed paths:
    M llvm/utils/gn/secondary/BUILD.gn
    A llvm/utils/gn/secondary/libc/BUILD.gn
    M llvm/utils/gn/secondary/libcxx/src/BUILD.gn

  Log Message:
  -----------
  gn build: libcxx: Add libc include path and re-enable.



Reviewers: aeubanks, nico

Reviewed By: aeubanks

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


  Commit: 0d7ee520d3a9b8997adf8eaaa22b33db9659d94e
      https://github.com/llvm/llvm-project/commit/0d7ee520d3a9b8997adf8eaaa22b33db9659d94e
  Author: Craig Topper <craig.topper at sifive.com>
  Date:   2025-02-05 (Wed, 05 Feb 2025)

  Changed paths:
    M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
    M llvm/test/CodeGen/RISCV/rvv/vp-combine-reverse-load.ll
    M llvm/test/CodeGen/RISCV/rvv/vp-combine-store-reverse.ll

  Log Message:
  -----------
  [RISCV] Use getSignedConstant for negative values. (#125903)

The APInt constructor asserts if bits are set past the size of the APInt
unless it is signed. This currently fails on RV32 because more than XLen
bits are set.


  Commit: 1901f4ac8eb1ddd8df822841a48b818c496aa2ad
      https://github.com/llvm/llvm-project/commit/1901f4ac8eb1ddd8df822841a48b818c496aa2ad
  Author: Saleem Abdulrasool <compnerd at compnerd.org>
  Date:   2025-02-05 (Wed, 05 Feb 2025)

  Changed paths:
    M clang/docs/ReleaseNotes.rst
    M clang/include/clang/Basic/CodeGenOptions.def
    M clang/include/clang/Driver/Options.td
    M clang/lib/CodeGen/CGBlocks.cpp
    M clang/lib/Driver/ToolChains/Clang.cpp
    M clang/lib/Frontend/CompilerInvocation.cpp
    M clang/test/CodeGen/blocks-windows.c

  Log Message:
  -----------
  CodeGen: support static linking for libclosure (#125384)

When building on Windows, dealing with the BlocksRuntime is slightly
more complicated. As we are not guaranteed a formward declaration for
the blocks runtime ABI symbols, we may generate the declarations for
them. In order to properly link against the well-known types, we always
annotated them as `__declspec(dllimport)`. This would require the
dynamic linking of the blocks runtime under all conditions. However,
this is the only the only possible way to us the library. We may be
building a fully sealed (static) executable. In such a case, the well
known symbols should not be marked as `dllimport` as they are assumed to
be statically available with the static linking to the BlocksRuntime.

Introduce a new driver/cc1 option `-static-libclosure` which mirrors the
myriad of similar options (`-static-libgcc`, `-static-libstdc++`,
-static-libsan`, etc).


  Commit: 5a1e16f6de26c21cdfae1de05bd075d57029a3e1
      https://github.com/llvm/llvm-project/commit/5a1e16f6de26c21cdfae1de05bd075d57029a3e1
  Author: Min-Yih Hsu <min.hsu at sifive.com>
  Date:   2025-02-05 (Wed, 05 Feb 2025)

  Changed paths:
    M llvm/include/llvm/IR/DerivedTypes.h
    M llvm/include/llvm/IR/Intrinsics.h
    M llvm/include/llvm/IR/Intrinsics.td
    M llvm/lib/CodeGen/SelectionDAG/LegalizeIntegerTypes.cpp
    M llvm/lib/CodeGen/SelectionDAG/LegalizeVectorTypes.cpp
    M llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp
    M llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.h
    M llvm/lib/IR/Intrinsics.cpp
    M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
    M llvm/test/CodeGen/RISCV/rvv/vector-deinterleave-fixed.ll
    M llvm/test/CodeGen/RISCV/rvv/vector-deinterleave.ll
    M llvm/test/CodeGen/RISCV/rvv/vector-interleave-fixed.ll
    M llvm/test/CodeGen/RISCV/rvv/vector-interleave.ll

  Log Message:
  -----------
  [IR][RISCV] Add llvm.vector.(de)interleave3/5/7 (#124825)

These three intrinsics are similar to llvm.vector.(de)interleave2 but
work with 3/5/7 vector operands or results.
For RISC-V, it's important to have them in order to support segmented
load/store with factor of 2 to 8: factor of 2/4/8 can be synthesized
from (de)interleave2; factor of 6 can be synthesized from factor of 2
and 3; factor 5 and 7 have their own intrinsics added by this patch.

This patch only adds codegen support for these intrinsics, we still need
to teach vectorizer to generate them as well as teaching
InterleavedAccessPass to use them.

---------

Co-authored-by: Craig Topper <craig.topper at sifive.com>


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

  Changed paths:
    M clang/include/clang/Sema/SemaHLSL.h
    M clang/lib/Sema/SemaHLSL.cpp

  Log Message:
  -----------
  [HLSL][NFC] Rename functions that collect resource bindings (#125904)

There functions are analyzing and collecting resource bindings and the
name should reflect that. The rename will make it clearer when we start
adding more functions to process resources.


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

  Changed paths:
    M llvm/test/CodeGen/RISCV/select-const.ll

  Log Message:
  -----------
  [RISCV] Add Zicond run lines to select-const.ll. NFC


  Commit: 2b5cc89b3f77c3d4bd3fb92ec43074cba4e09adb
      https://github.com/llvm/llvm-project/commit/2b5cc89b3f77c3d4bd3fb92ec43074cba4e09adb
  Author: Andy Kaylor <akaylor at nvidia.com>
  Date:   2025-02-05 (Wed, 05 Feb 2025)

  Changed paths:
    A clang/include/clang/CIR/Dialect/IR/CIRAttrVisitor.h
    M clang/include/clang/CIR/MissingFeatures.h
    M clang/lib/CIR/Lowering/DirectToLLVM/LowerToLLVM.cpp
    M clang/lib/CIR/Lowering/DirectToLLVM/LowerToLLVM.h
    M clang/test/CIR/Lowering/global-var-simple.cpp

  Log Message:
  -----------
  [CIR] Lowering to LLVM for global pointers (#125619)

Add support for lowering global variables of any pointer type to LLVM
IR.


  Commit: 1c4ee0613508a6c0379f9f63a110b0633f78910d
      https://github.com/llvm/llvm-project/commit/1c4ee0613508a6c0379f9f63a110b0633f78910d
  Author: Artem Belevich <tra at google.com>
  Date:   2025-02-05 (Wed, 05 Feb 2025)

  Changed paths:
    M llvm/test/CodeGen/NVPTX/fence-cluster.ll
    M llvm/test/CodeGen/NVPTX/fence-nocluster.ll

  Log Message:
  -----------
  [NVPTX] fix ptxas tests introduced by #124865 (#125927)


  Commit: c552c6c914290f45bf015c4023c42e40a91e253e
      https://github.com/llvm/llvm-project/commit/c552c6c914290f45bf015c4023c42e40a91e253e
  Author: David Green <david.green at arm.com>
  Date:   2025-02-05 (Wed, 05 Feb 2025)

  Changed paths:
    M llvm/lib/Target/AArch64/GISel/AArch64PreLegalizerCombiner.cpp
    A llvm/test/CodeGen/AArch64/GlobalISel/combine-addv.mir

  Log Message:
  -----------
  [AArch64][GlobalISel] Protect against non-reg operands in matchExtAddvToUdotAddv.

In some situations the first operand to an instruction might not be a register
(for example with intrinsics). We are only interested in extend operations, so
make sure the instruction is one we expect before we attempt to access the
first reg.


  Commit: cd9795c10b70d145ac51d7c22801be9b8c800466
      https://github.com/llvm/llvm-project/commit/cd9795c10b70d145ac51d7c22801be9b8c800466
  Author: Artem Belevich <tra at google.com>
  Date:   2025-02-05 (Wed, 05 Feb 2025)

  Changed paths:
    M llvm/test/CodeGen/NVPTX/inline-asm-b128-test1.ll
    M llvm/test/CodeGen/NVPTX/inline-asm-b128-test2.ll
    M llvm/test/CodeGen/NVPTX/inline-asm-b128-test3.ll

  Log Message:
  -----------
  [NVPTX] Fixed few other failing ptxas tests (#125963)


  Commit: aefa30e2301f155d4f4737d6f6c55c66eac58b2d
      https://github.com/llvm/llvm-project/commit/aefa30e2301f155d4f4737d6f6c55c66eac58b2d
  Author: Lang Hames <lhames at gmail.com>
  Date:   2025-02-06 (Thu, 06 Feb 2025)

  Changed paths:
    M compiler-rt/test/orc/TestCases/Darwin/Generic/exceptions.cpp

  Log Message:
  -----------
  [ORC-RT] Add a comment explaining the purpose of this testcase. NFC.


  Commit: 88f55d16c4c247a9eef326961a1445dee3f2e30c
      https://github.com/llvm/llvm-project/commit/88f55d16c4c247a9eef326961a1445dee3f2e30c
  Author: Lang Hames <lhames at gmail.com>
  Date:   2025-02-06 (Thu, 06 Feb 2025)

  Changed paths:
    A compiler-rt/test/orc/TestCases/Darwin/Generic/exceptions-stress-test-tower.cpp
    M llvm/lib/ExecutionEngine/JITLink/CompactUnwindSupport.h

  Log Message:
  -----------
  [ORC] Fix buggy calculation of second-level-page offset in unwind-info.

SecondLevelPageOffset should be incremented by SecondLevelPageSize bytes, not
one byte.

Failure to calculate the offset correctly leads to corrupted unwind-info (and
consequently broken exceptions / unwinding) when more than one second level
page is needed. Since JITLink's unwind support only produces
UNWIND_SECOND_LEVEL_REGULAR-style pages this would trigger for any file
containing more than 511 functions with unwind info. The included test-case
contains 1022 functions (sufficient for both the current format and any
future implementation that supports UNWIND_SECOND_LEVEL_COMPRESSED pages).

Thanks to @edoardo on discord for spotting this bug!


  Commit: df1bee03de1cdc1505a4e9dde3ed064eb7db785f
      https://github.com/llvm/llvm-project/commit/df1bee03de1cdc1505a4e9dde3ed064eb7db785f
  Author: Paul Carabas <paulcaraa at gmail.com>
  Date:   2025-02-05 (Wed, 05 Feb 2025)

  Changed paths:
    M flang/test/Intrinsics/math-codegen.fir
    M mlir/lib/Conversion/MathToLLVM/MathToLLVM.cpp
    M mlir/test/Conversion/MathToLLVM/math-to-llvm.mlir

  Log Message:
  -----------
  [mlir] Add math to LLVM lowering support for missing trigonometric & hyperbolic ops (#125753)

The patch adds support for math -> LLVM dialect lowering for TanOp,
Sinh, Cosh, Tanh


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

  Changed paths:
    M llvm/test/CodeGen/RISCV/rvv/vector-deinterleave-fixed.ll

  Log Message:
  -----------
  [RISCV] Update tests after #124825


  Commit: c09e51ae97795bac9284e345d02532cd2d0bc1e3
      https://github.com/llvm/llvm-project/commit/c09e51ae97795bac9284e345d02532cd2d0bc1e3
  Author: Thurston Dang <thurston at google.com>
  Date:   2025-02-05 (Wed, 05 Feb 2025)

  Changed paths:
    M llvm/lib/Transforms/Instrumentation/MemorySanitizer.cpp

  Log Message:
  -----------
  [msan][NFCI] Add arg_size() assertions (#125907)

This prevents the handlers from being called with blatantly inappropriate intrinsics.

Currently, if the handlers are called with an intrinsic that doesn't have enough arguments, it may abort; that is bad, but visible. The more insidious risk is that a handler is called with an intrinsic that has more arguments than expected; that will not visibly fail.


  Commit: 6e14d75f548e52ff87160173608822115e0b82e5
      https://github.com/llvm/llvm-project/commit/6e14d75f548e52ff87160173608822115e0b82e5
  Author: Craig Topper <craig.topper at sifive.com>
  Date:   2025-02-05 (Wed, 05 Feb 2025)

  Changed paths:
    M llvm/lib/Target/RISCV/RISCVFrameLowering.cpp
    M llvm/lib/Target/RISCV/RISCVSubtarget.h

  Log Message:
  -----------
  [RISCV] Fix some implicit conversions from Register to unsigned. NFC


  Commit: e1c63bbde5e5c892c683c7243c9b6e465b0e13d5
      https://github.com/llvm/llvm-project/commit/e1c63bbde5e5c892c683c7243c9b6e465b0e13d5
  Author: c8ef <c8ef at outlook.com>
  Date:   2025-02-06 (Thu, 06 Feb 2025)

  Changed paths:
    M libc/config/linux/aarch64/entrypoints.txt
    M libc/config/linux/x86_64/entrypoints.txt
    M libc/include/llvm-libc-macros/limits-macros.h
    M libc/include/sys/uio.yaml
    M libc/src/sys/uio/CMakeLists.txt
    M libc/src/sys/uio/linux/CMakeLists.txt
    A libc/src/sys/uio/linux/readv.cpp
    M libc/src/sys/uio/linux/writev.cpp
    A libc/src/sys/uio/readv.h
    M libc/test/src/sys/uio/CMakeLists.txt
    A libc/test/src/sys/uio/readv_test.cpp
    M libc/test/src/sys/uio/writev_test.cpp

  Log Message:
  -----------
  [libc] implement `sys/uio/readv` (#124718)

Closes #124694.

This patch adds the `sys/uio/readv` function.
ref:
https://pubs.opengroup.org/onlinepubs/009696699/functions/readv.html


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

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

  Log Message:
  -----------
  [RISCV] Make single source reverse legal in isShuffleMaskLegal (#125949)

This enables DAG combines to form this mask. Reverse is generally linear
in LMUL so this is reasonable, and results in better codegen for the 2
source variants.

For <= m1, the change is only slightly profitable if at all. We trade
some mask creation and an extract vrsub for a vslideup.vi. This is
likely roughly neutral. At >= m2, this is distinctly profitable as
generic DAG pushes the reverse into the two operands. We effectively
already did this for one operand, but the other was hitting a full
O(LMUL^2) shuffle. Moving that to be O(LMUL/2) operation is a big win.


  Commit: 4fb96f203e8badc8065d6773bf8780c2e65cc142
      https://github.com/llvm/llvm-project/commit/4fb96f203e8badc8065d6773bf8780c2e65cc142
  Author: Bruno Cardoso Lopes <bcardosolopes at users.noreply.github.com>
  Date:   2025-02-05 (Wed, 05 Feb 2025)

  Changed paths:
    M mlir/include/mlir/Dialect/LLVMIR/LLVMOps.td
    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
    A mlir/test/Dialect/LLVMIR/alias.mlir
    M mlir/test/Dialect/LLVMIR/invalid.mlir
    A mlir/test/Target/LLVMIR/Import/alias.ll
    A mlir/test/Target/LLVMIR/alias.mlir

  Log Message:
  -----------
  [MLIR][LLVM] Implement LLVM dialect support for global aliases (#125295)

This includes support for module translation, module import and add tests for both.

Fix https://github.com/llvm/llvm-project/issues/115390
ClangIR cannot currently lower global aliases to LLVM because of missing support for this.


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

  Changed paths:
    M clang/lib/Analysis/FlowSensitive/SmartPointerAccessorCaching.cpp

  Log Message:
  -----------
  [clang] [dataflow] use unqualified type for smart pointer matching (#125958)

one would assume that `getCanonicalTypeUnqualified` returns an
unqualified type, but sadly one would be wrong. the current logic fails
for std::optional as implemented in libcxx, because Star and Arrow types
mismatch in their const qualification.

there are other places in clang that use
getCanonicalTypeUnqualified().getUnqualifiedType().


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

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

  Log Message:
  -----------
  [RISCV] Add VLA shuffle coverage

Add coverage for a few cases which have come up in discussion of
recent VLA shuffle lowering changes.


  Commit: 7a8779422dad058f11cd473d409f42e32859788d
      https://github.com/llvm/llvm-project/commit/7a8779422dad058f11cd473d409f42e32859788d
  Author: Joseph Huber <huberjn at outlook.com>
  Date:   2025-02-05 (Wed, 05 Feb 2025)

  Changed paths:
    M offload/plugins-nextgen/common/src/PluginInterface.cpp

  Log Message:
  -----------
  [Offload] Stop the RPC server faiilng with more than one GPU (#125982)

Summary:
Pretty dumb mistake of me, forgot that this is run per-device and
per-plugin, which fell through the cracks with my testing because I have
two GPUs that use different plugins.


  Commit: e223485c9b38a5579991b8cebb6a200153eee245
      https://github.com/llvm/llvm-project/commit/e223485c9b38a5579991b8cebb6a200153eee245
  Author: Scott Constable <scott.d.constable at intel.com>
  Date:   2025-02-06 (Thu, 06 Feb 2025)

  Changed paths:
    M clang/docs/ControlFlowIntegrity.rst
    M clang/docs/UsersManual.rst
    M clang/include/clang/Basic/CodeGenOptions.def
    M clang/include/clang/Basic/DiagnosticDriverKinds.td
    M clang/include/clang/Basic/Features.def
    M clang/include/clang/Driver/Options.td
    M clang/include/clang/Driver/SanitizerArgs.h
    M clang/lib/CodeGen/CodeGenModule.cpp
    M clang/lib/Driver/SanitizerArgs.cpp
    A clang/test/CodeGen/kcfi-arity.c
    M llvm/lib/Target/X86/X86AsmPrinter.cpp
    A llvm/test/CodeGen/X86/kcfi-arity.ll

  Log Message:
  -----------
  [X86] Extend kCFI with a 3-bit arity indicator (#121070)

Kernel Control Flow Integrity (kCFI) is a feature that hardens indirect
calls by comparing a 32-bit hash of the function pointer's type against
a hash of the target function's type. If the hashes do not match, the
kernel may panic (or log the hash check failure, depending on the
kernel's configuration). These hashes are computed at compile time by
applying the xxHash64 algorithm to each mangled canonical function (or
function pointer) type, then truncating the result to 32 bits. This hash
is written into each indirect-callable function header by encoding it as
the 32-bit immediate operand to a `MOVri` instruction, e.g.:
```
__cfi_foo:
	nop
	nop
	nop
	nop
	nop
	nop
	nop
	nop
	nop
	nop
	nop
	movl	$199571451, %eax                # hash of foo's type = 0xBE537FB
foo:
        ...
```

This PR extends x86-based kCFI with a 3-bit arity indicator encoded in
the `MOVri` instruction's register (reg) field as follows:

| Arity Indicator | Description | Encoding in reg field |
| --------------- | --------------- | --------------- |
| 0 | 0 parameters | EAX |
| 1 | 1 parameter in RDI | ECX |
| 2 | 2 parameters in RDI and RSI | EDX |
| 3 | 3 parameters in RDI, RSI, and RDX | EBX |
| 4 | 4 parameters in RDI, RSI, RDX, and RCX | ESP |
| 5 | 5 parameters in RDI, RSI, RDX, RCX, and R8 | EBP |
| 6 | 6 parameters in RDI, RSI, RDX, RCX, R8, and R9 | ESI |
| 7 | At least one parameter may be passed on the stack | EDI |

For example, if `foo` takes 3 register arguments and no stack arguments
then the `MOVri` instruction in its kCFI header would instead be written
as:
```
	movl	$199571451, %ebx                # hash of foo's type = 0xBE537FB
```

This PR will benefit other CFI approaches that build on kCFI, such as
FineIBT. For example, this proposed enhancement to FineIBT must be able
to infer (at kernel init time) which registers are live at an indirect
call target: https://lkml.org/lkml/2024/9/27/982. If the arity bits are
available in the kCFI function header, then this information is trivial
to infer.

Note that there is another existing PR proposal that includes the 3-bit
arity within the existing 32-bit immediate field, which introduces
different security properties:
https://github.com/llvm/llvm-project/pull/117121.


  Commit: 6410bddc2720d703a20ccc046eaaf46f9b99b903
      https://github.com/llvm/llvm-project/commit/6410bddc2720d703a20ccc046eaaf46f9b99b903
  Author: Yingwei Zheng <dtcxzyw2333 at gmail.com>
  Date:   2025-02-06 (Thu, 06 Feb 2025)

  Changed paths:
    M llvm/lib/Transforms/InstCombine/InstCombineAndOrXor.cpp
    M llvm/test/Transforms/InstCombine/xor-icmps.ll

  Log Message:
  -----------
  [InstCombine] Extend #125676 to handle variable power of 2 (#125855)

Alive2: https://alive2.llvm.org/ce/z/dJehZ8


  Commit: 8c222c122f1a8edb1be96e482511ad547f7db7b3
      https://github.com/llvm/llvm-project/commit/8c222c122f1a8edb1be96e482511ad547f7db7b3
  Author: Phoebe Wang <phoebe.wang at intel.com>
  Date:   2025-02-06 (Thu, 06 Feb 2025)

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

  Log Message:
  -----------
  [X86] Do not combine LRINT and TRUNC (#125848)

Per to discussions in #125324, most participants are opposed to this
optimization. So remove the combination to address the concerns.

Fixes #125324


  Commit: 3d0061cd2a9e886152a817c4348414a987775153
      https://github.com/llvm/llvm-project/commit/3d0061cd2a9e886152a817c4348414a987775153
  Author: Thurston Dang <thurston at google.com>
  Date:   2025-02-05 (Wed, 05 Feb 2025)

  Changed paths:
    A llvm/test/Instrumentation/MemorySanitizer/AArch64/arm64-vadd.ll

  Log Message:
  -----------
  [msan][NFCI] Add more Arm NEON vector add tests (#125820)

Handled heuristically but incorrectly:
- llvm.aarch64.neon.{addp, faddp}

Unknown instructions handled by visitInstruction:
- llvm.aarch64.neon.{addhn, raddhn}
- llvm.aarch64.neon.{saddlp, uaddlp}

Forked from llvm/test/CodeGen/AArch64/arm64-vadd.ll


  Commit: 1db60556c89a2b61e2624718579bb3b96c9fedda
      https://github.com/llvm/llvm-project/commit/1db60556c89a2b61e2624718579bb3b96c9fedda
  Author: Jie Fu <jiefu at tencent.com>
  Date:   2025-02-06 (Thu, 06 Feb 2025)

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

  Log Message:
  -----------
  [X86] Silence an unused-variable warning (NFC)

/llvm-project/llvm/lib/Target/X86/X86AsmPrinter.cpp:188:17:
 error: unused variable 'Triple' [-Werror,-Wunused-variable]
    const auto &Triple = MF.getTarget().getTargetTriple();
                ^
1 error generated.


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

  Changed paths:
    M libcxx/include/__type_traits/is_trivially_relocatable.h
    M libcxx/test/libcxx/type_traits/is_trivially_relocatable.compile.pass.cpp
    A libcxx/test/std/containers/sequences/vector/trivial_relocation.pass.cpp

  Log Message:
  -----------
  [libc++] Replace __is_trivially_relocatable by is_trivially_copyable (#124970)

The __is_trivially_relocatable builtin has semantics that do not
correspond to any current or future notion of trivial relocation.
Furthermore, it currently leads to incorrect optimizations for some
types on supported compilers:
- Clang on Windows where types with non-trivial destructors get
  incorrectly optimized
- AppleClang where types with non-trivial move constructors get
  incorrectly optimized

Until there is an agreed upon and bugfree implementation of what it
means to be trivially relocatable, it is safer to simply use trivially
copyable instead. This doesn't leave a lot of types behind and is
definitely correct.


  Commit: 4a2a8ed70da7ec44f0aa9092595e5b0f81a7e841
      https://github.com/llvm/llvm-project/commit/4a2a8ed70da7ec44f0aa9092595e5b0f81a7e841
  Author: Lang Hames <lhames at gmail.com>
  Date:   2025-02-06 (Thu, 06 Feb 2025)

  Changed paths:
    M llvm/include/llvm/ExecutionEngine/JITLink/JITLink.h
    M llvm/lib/ExecutionEngine/JITLink/COFF_x86_64.cpp
    M llvm/lib/ExecutionEngine/JITLink/CompactUnwindSupport.h
    M llvm/lib/ExecutionEngine/JITLink/JITLink.cpp
    M llvm/lib/ExecutionEngine/JITLink/JITLinkGeneric.h
    M llvm/lib/ExecutionEngine/JITLink/aarch32.cpp
    M llvm/lib/ExecutionEngine/Orc/Debugging/PerfSupportPlugin.cpp
    M llvm/lib/ExecutionEngine/Orc/Debugging/VTuneSupportPlugin.cpp
    M llvm/lib/ExecutionEngine/Orc/MachOPlatform.cpp
    M llvm/unittests/ExecutionEngine/JITLink/LinkGraphTests.cpp

  Log Message:
  -----------
  [JITLink] Add a jitlink::Symbol::getSection() convenience method.

`Sym.getSection()` is equivalent to `Sym.getBlock().getSection()`.


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

  Changed paths:
    M libcxx/include/__vector/vector_bool.h
    A libcxx/test/std/containers/sequences/vector.bool/max_size.pass.cpp
    M libcxx/test/std/containers/sequences/vector/vector.capacity/max_size.pass.cpp

  Log Message:
  -----------
  [libc++] Slightly simplify max_size and add new tests for vector (#119990)

This PR slightly simplifies the implementation of `vector<bool>::max_size`
and adds extensive tests for the `max_size()` function for both `vector<bool>`
and `vector<T>`. The main purposes of the new tests include:

- Verify correctness of `max_size()` under various `size_type` and
  `difference_type` definitions: check that `max_size()` works properly
  with allocators that have custom `size_type` and `difference_type`. This
  is particularly useful for `vector<bool>`, as different `size_type` lead
  to different `__storage_type` of different word lengths, resulting in
  varying `max_size()` values for `vector<bool>`. Additionally, different
  `difference_type` also sets different upper limit of `max_size()` for
  both `vector<bool>` and `std::vector`. These tests were previously
  missing.

- Eliminate incorrect implementations: Special tests are added to identify and
  reject incorrect implementations of `vector<bool>::max_size` that unconditionally
  return `std::min<size_type>(size-max, __internal_cap_to_external(allocator-max-size))`.
  This can cause overflow in the `__internal_cap_to_external()` call and lead
  to incorrect results. The new tests ensure that such incorrect
  implementations are identified.


  Commit: de5f6432efa2cf4dde6b85cbdea1db50c79758c2
      https://github.com/llvm/llvm-project/commit/de5f6432efa2cf4dde6b85cbdea1db50c79758c2
  Author: Justin Fargnoli <jfargnoli at nvidia.com>
  Date:   2025-02-05 (Wed, 05 Feb 2025)

  Changed paths:
    M llvm/lib/Target/NVPTX/NVPTXAsmPrinter.cpp
    M llvm/lib/Target/NVPTX/NVPTXISelLowering.cpp
    A llvm/test/CodeGen/NVPTX/unrecognized-sm1x.ll

  Log Message:
  -----------
  [NVPTX] Remove `sm_1x` / non-ABI compilation support (#125977)

@Artem-B, I believe you said we don't intend to support `sm_1x`.
Assuming that's correct, this PR will remove all remaining support I
could find for `sm_1x`.


  Commit: c9446ff8a3d9535854404aef771da362856a5f02
      https://github.com/llvm/llvm-project/commit/c9446ff8a3d9535854404aef771da362856a5f02
  Author: Thurston Dang <thurston at google.com>
  Date:   2025-02-05 (Wed, 05 Feb 2025)

  Changed paths:
    M llvm/lib/Transforms/Instrumentation/MemorySanitizer.cpp
    M llvm/test/Instrumentation/MemorySanitizer/AArch64/arm64-fminv.ll

  Log Message:
  -----------
  [msan] Handle Arm NEON floating-point min/max (vector) (#125778)

Apply handleVectorReduceIntrinsic() to Intrinsic::aarch64_neon_f{min,max}(mn)?v. Previously, these intrinsics were handled correctly (by maybeHandleSimpleNomemIntrinsic) if each parameter's type was the same as the return type; otherwise, they were handled suboptimally by visitInstruction().

Updates the tests from https://github.com/llvm/llvm-project/pull/125729.


  Commit: 9d88ffe7f7b4a46d3bcb7bbdf0d7eb037ab5ba04
      https://github.com/llvm/llvm-project/commit/9d88ffe7f7b4a46d3bcb7bbdf0d7eb037ab5ba04
  Author: Lang Hames <lhames at gmail.com>
  Date:   2025-02-06 (Thu, 06 Feb 2025)

  Changed paths:
    M llvm/lib/ExecutionEngine/JITLink/CompactUnwindSupport.h
    M llvm/lib/ExecutionEngine/JITLink/MachO_arm64.cpp
    M llvm/lib/ExecutionEngine/JITLink/MachO_x86_64.cpp
    R llvm/test/ExecutionEngine/Orc/minimal-throw-catch.ll
    A llvm/test/ExecutionEngine/Orc/throw-catch-minimal.ll

  Log Message:
  -----------
  [JITLink] Handle compact-unwind records that depend on DWARF FDEs.

Compact-unwind encodings are more limited than DWARF frame descriptions. For
functions whose frame layout cannot be described by a compact unwind encoding,
the encoding for the function will specify "use DWARF", and the corresponding
unwind-info record will use the low bits of the encoding to point to the FDE
for the function.

We test this with a frame-pointer=none function, since these frame layouts
always triger a fall-back to DWARF on arm64.


  Commit: 52fc6ffcda0895c0c7b976ad1f5cb5a282b571d2
      https://github.com/llvm/llvm-project/commit/52fc6ffcda0895c0c7b976ad1f5cb5a282b571d2
  Author: Fangrui Song <i at maskray.me>
  Date:   2025-02-05 (Wed, 05 Feb 2025)

  Changed paths:
    M lld/ELF/Config.h
    M lld/ELF/Driver.cpp
    M lld/ELF/Symbols.cpp
    M lld/ELF/SyntheticSections.cpp
    M lld/ELF/Writer.cpp
    M lld/test/ELF/executable-undefined-ignoreall.s
    M lld/test/ELF/ppc32-weak-undef-call.s
    M lld/test/ELF/ppc64-undefined-weak.s
    M lld/test/ELF/riscv-gp.s
    M lld/test/ELF/weak-undef-lib.s
    M lld/test/ELF/weak-undef-no-dynamic-linker.s
    M lld/test/ELF/weak-undef-rw.s

  Log Message:
  -----------
  [ELF] Refine isExported/isPreemptible condition

Reland 994cea3f0a2d0caf4d66321ad5a06ab330144d89 after bolt tests no
longer rely on -pie --unresolved-symbols=ignore-all with no input DSO
generating PLT entries.

---

Commit f10441ad003236ef3b9e5415a571d2be0c0ce5ce , while dropping a
special case for isUndefWeak and --no-dynamic-linking, made
--export-dynamic ineffective when -pie is used without any input DSO.

This change restores --export-dynamic and unifies -pie and -pie
--no-dynamic-linker when there is no input DSO.

* -pie with no input DSO suppresses undefined symbols in .dynsym.
  Previously this only appied to -pie --no-dynamic-linker.
* As a side effect, -pie with no input DSO suppresses PLT.


  Commit: 7a213e70eb24e621042f2fda043622048cb1f1df
      https://github.com/llvm/llvm-project/commit/7a213e70eb24e621042f2fda043622048cb1f1df
  Author: Lang Hames <lhames at gmail.com>
  Date:   2025-02-06 (Thu, 06 Feb 2025)

  Changed paths:
    A llvm/test/ExecutionEngine/Orc/throw-catch-no-frame-pointer.ll

  Log Message:
  -----------
  [JITLink] Add missing testcase for compact-unwind-needs-dwarf.

This testcase was accidentally left out of 9d88ffe7f7b.


  Commit: 7e0bef35c23321c57b556ee24c66e3c18194d4f3
      https://github.com/llvm/llvm-project/commit/7e0bef35c23321c57b556ee24c66e3c18194d4f3
  Author: Alex Sepkowski <5620315+alsepkow at users.noreply.github.com>
  Date:   2025-02-05 (Wed, 05 Feb 2025)

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

  Log Message:
  -----------
  [HLSL][NFC] Fix typo in comment in SemaHLSL.cpp  (#125992)

Fix a comment typo.


  Commit: e00f824e9a5ea73830bd346115968fa9ace84cbf
      https://github.com/llvm/llvm-project/commit/e00f824e9a5ea73830bd346115968fa9ace84cbf
  Author: Lang Hames <lhames at gmail.com>
  Date:   2025-02-06 (Thu, 06 Feb 2025)

  Changed paths:
    M compiler-rt/test/orc/TestCases/Darwin/Generic/exceptions-stress-test-tower.cpp

  Log Message:
  -----------
  [ORC-RT] Use templates to express deeply nested function calls in testcase.

Makes this test smaller and more readable.


  Commit: 137c3781e69061fcb9ae97bff00ed0abbab4f9a3
      https://github.com/llvm/llvm-project/commit/137c3781e69061fcb9ae97bff00ed0abbab4f9a3
  Author: Maksim Panchenko <maks at fb.com>
  Date:   2025-02-05 (Wed, 05 Feb 2025)

  Changed paths:
    M bolt/include/bolt/Core/BinaryContext.h
    M bolt/include/bolt/Core/BinaryFunction.h
    M bolt/lib/Core/BinaryContext.cpp
    M bolt/lib/Core/BinaryFunction.cpp
    A bolt/test/AArch64/data-in-code.s

  Log Message:
  -----------
  [BOLT][AArch64] Include constant islands in disassembly (#125961)

When printing disassembly of a function with constant islands, include
the island info in the dump.

At the moment, only print islands in pre-CFG state. Include islands that
are interleaved with instructions.


  Commit: 6d81a148737712bd525fe7acb6e2f9434fda380c
      https://github.com/llvm/llvm-project/commit/6d81a148737712bd525fe7acb6e2f9434fda380c
  Author: William Moses <gh at wsmoses.com>
  Date:   2025-02-06 (Thu, 06 Feb 2025)

  Changed paths:
    M mlir/lib/Dialect/LLVMIR/IR/LLVMDialect.cpp
    M mlir/test/Dialect/LLVMIR/canonicalize.mlir

  Log Message:
  -----------
  [MLIR][LLVM] Fold extract of extract (#125980)

Co-authored-by: Ivan R. Ivanov <ivanov.i.aa at m.titech.ac.jp>


  Commit: 6567122a057ab2992b9a68b674e14f073a3c9e59
      https://github.com/llvm/llvm-project/commit/6567122a057ab2992b9a68b674e14f073a3c9e59
  Author: Brad Smith <brad at comstyle.com>
  Date:   2025-02-06 (Thu, 06 Feb 2025)

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

  Log Message:
  -----------
  [PAC][Driver] Enable BTI and PAC by default on OpenBSD/aarch64 (#125392)


  Commit: 15fbe08f7c01763332f40f2018fcd70ecbf80e91
      https://github.com/llvm/llvm-project/commit/15fbe08f7c01763332f40f2018fcd70ecbf80e91
  Author: Nicolai Hähnle <nicolai.haehnle at amd.com>
  Date:   2025-02-06 (Thu, 06 Feb 2025)

  Changed paths:
    M llvm/include/llvm/Analysis/CFGPrinter.h
    M llvm/lib/Analysis/CFGPrinter.cpp

  Log Message:
  -----------
  CFGPrinter: fix accidentally quadratic behavior (#125396)

Initialize a ModuleStateTracker at most once per BasicBlock instead of
once per Instruction. When the CFG info is provided, it is initialized
once per function.


  Commit: c4f54632105b4dfb7d176c0292064eff3b918d42
      https://github.com/llvm/llvm-project/commit/c4f54632105b4dfb7d176c0292064eff3b918d42
  Author: Brad Smith <brad at comstyle.com>
  Date:   2025-02-06 (Thu, 06 Feb 2025)

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

  Log Message:
  -----------
  [Driver] Enable IBT by default on OpenBSD/amd64 (#125395)


  Commit: 6e402f5121e87e82fa686046c867ef67d4b4b851
      https://github.com/llvm/llvm-project/commit/6e402f5121e87e82fa686046c867ef67d4b4b851
  Author: Дмитрий Изволов <dmitriy at izvolov.ru>
  Date:   2025-02-06 (Thu, 06 Feb 2025)

  Changed paths:
    M libcxx/include/__algorithm/radix_sort.h
    M libcxx/include/__algorithm/stable_sort.h
    M libcxx/test/std/algorithms/alg.sorting/alg.sort/stable.sort/stable_sort.pass.cpp

  Log Message:
  -----------
  [libc++] Support `constexpr` for `std::stable_sort` in radix sort branch (#125284)

`std::stable_sort` is `constexpr` since PR
https://github.com/llvm/llvm-project/pull/110320
But `radix_sort` branch is still non-`constexpr`.
This PR fixes it.

#119394
#105360


  Commit: feb5a77d700f46d6638f073d411cbe0d8a924fdf
      https://github.com/llvm/llvm-project/commit/feb5a77d700f46d6638f073d411cbe0d8a924fdf
  Author: Pavel Labath <pavel at labath.sk>
  Date:   2025-02-06 (Thu, 06 Feb 2025)

  Changed paths:
    M lldb/include/lldb/Symbol/SymbolContext.h
    M lldb/source/Commands/CommandObjectTarget.cpp
    M lldb/source/Plugins/DynamicLoader/Hexagon-DYLD/DynamicLoaderHexagonDYLD.cpp
    M lldb/source/Plugins/DynamicLoader/MacOSX-DYLD/DynamicLoaderDarwin.cpp
    M lldb/source/Plugins/DynamicLoader/POSIX-DYLD/DynamicLoaderPOSIXDYLD.cpp
    M lldb/source/Plugins/LanguageRuntime/CPlusPlus/CPPLanguageRuntime.cpp
    M lldb/source/Plugins/Process/Utility/InferiorCallPOSIX.cpp
    M lldb/source/Plugins/SystemRuntime/MacOSX/SystemRuntimeMacOSX.cpp
    M lldb/source/Symbol/SymbolContext.cpp

  Log Message:
  -----------
  [lldb] Add SymbolContext::GetFunctionOrSymbolAddress (#123340)

Many uses of SC::GetAddressRange were not interested in the range, but
in the address of the function/symbol contained inside the symbol
context. They were getting that by calling the GetBaseAddress on the
returned range, which worked well enough so far, but isn't compatible
with discontinuous functions, whose address (entry point) may not be the
lowest address in the range.

To resolve this problem, this PR creates a new function whose purpose is
return the address of the function or symbol inside the symbol context.
It also changes all of the callers of GetAddressRange which do not
actually care about the range to call this function instead.


  Commit: 0cfb98f871b6bc82691b5aa85b20703de1621875
      https://github.com/llvm/llvm-project/commit/0cfb98f871b6bc82691b5aa85b20703de1621875
  Author: Pavel Labath <pavel at labath.sk>
  Date:   2025-02-06 (Thu, 06 Feb 2025)

  Changed paths:
    M lldb/source/API/SBFunction.cpp
    M lldb/source/Core/FormatEntity.cpp
    M lldb/source/Core/SourceManager.cpp

  Log Message:
  -----------
  [lldb] s/GetAddressRange().GetBaseAddress()/GetAddress() (#125847)

Three more cases where it's obvious that the code is looking for the
address of the function entry point.


  Commit: 3115278c4e079c7ba85dc4233100de68ca5f711b
      https://github.com/llvm/llvm-project/commit/3115278c4e079c7ba85dc4233100de68ca5f711b
  Author: Maksim Panchenko <maks at fb.com>
  Date:   2025-02-06 (Thu, 06 Feb 2025)

  Changed paths:
    M bolt/lib/Core/BinaryFunction.cpp

  Log Message:
  -----------
  [BOLT] Fixup for commit 137c378/#125961


  Commit: f82902fef4a004a7f26d49448e66b2dbeed4d692
      https://github.com/llvm/llvm-project/commit/f82902fef4a004a7f26d49448e66b2dbeed4d692
  Author: Simon Pilgrim <llvm-dev at redking.me.uk>
  Date:   2025-02-06 (Thu, 06 Feb 2025)

  Changed paths:
    M llvm/lib/Target/X86/X86ISelLowering.cpp
    M llvm/test/CodeGen/X86/bfloat.ll
    M llvm/test/CodeGen/X86/canonicalize-vars-f16-type.ll
    M llvm/test/CodeGen/X86/fminimumnum-fmaximumnum.ll
    M llvm/test/CodeGen/X86/fold-int-pow2-with-fmul-or-fdiv.ll
    M llvm/test/CodeGen/X86/fp-round.ll
    M llvm/test/CodeGen/X86/fp-roundeven.ll
    M llvm/test/CodeGen/X86/fp-strict-scalar-fp16.ll
    M llvm/test/CodeGen/X86/fp-strict-scalar-inttofp-fp16.ll
    M llvm/test/CodeGen/X86/fp-strict-scalar-round-fp16.ll
    M llvm/test/CodeGen/X86/half.ll
    M llvm/test/CodeGen/X86/pr31088.ll
    M llvm/test/CodeGen/X86/select-narrow-int-to-fp.ll
    M llvm/test/CodeGen/X86/vector-half-conversions.ll

  Log Message:
  -----------
  [X86] Fold (f16 bitcast extract_vectorelt(v,0)) to (extract_vectorelt (v8f16 bitcast(v,0))) (#125877)

Also handles possible truncations from i32 to i16.

Cleans up some of the poor codegen identified in #98630


  Commit: 4562efc674a5b5e052abdfc40047e82a359d0df0
      https://github.com/llvm/llvm-project/commit/4562efc674a5b5e052abdfc40047e82a359d0df0
  Author: Nikolas Klauser <nikolasklauser at berlin.de>
  Date:   2025-02-06 (Thu, 06 Feb 2025)

  Changed paths:
    M libcxx/include/string
    M libcxx/test/std/strings/basic.string/string.capacity/reserve_size.pass.cpp

  Log Message:
  -----------
  Reapply "[libc++] Simplify the implementation of reserve() and shrink_to_fit() (#113453)" (#125888)

The capacity is now passed correctly and a test for this path is added.

Since we changed the implementation of `reserve(size_type)` to only ever
extend,
it doesn't make a ton of sense anymore to have `__shrink_or_extend`,
since the code
paths of `reserve` and `shrink_to_fit` are now almost completely
separate.

This patch splits up `__shrink_or_extend` so that the individual parts
are in `reserve`
and `shrink_to_fit` depending on where they are needed.

This reverts commit 59f57be94f38758616b1339b293b43af845571af.


  Commit: c7dc836bbe3658a9210a944b850450f5ae7b50a4
      https://github.com/llvm/llvm-project/commit/c7dc836bbe3658a9210a944b850450f5ae7b50a4
  Author: Oleksandr T. <oleksandr.tarasiuk at outlook.com>
  Date:   2025-02-06 (Thu, 06 Feb 2025)

  Changed paths:
    M clang/include/clang/Basic/DiagnosticSemaKinds.td
    M clang/test/SemaCXX/warn-base-type-qualifiers.cpp

  Log Message:
  -----------
  [Clang] fix diagnostic to correctly handle singular and plural cases for redundant qualifiers on base class type (#125943)

Fixes #125942


  Commit: 5eed019080a53af5a5be915a5cf411466b77bf4b
      https://github.com/llvm/llvm-project/commit/5eed019080a53af5a5be915a5cf411466b77bf4b
  Author: Craig Topper <craig.topper at sifive.com>
  Date:   2025-02-06 (Thu, 06 Feb 2025)

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

  Log Message:
  -----------
  [TableGen] Use std::copy instead of a manual copy loop. NFC


  Commit: eb8901bda11fd55deeecd067fc4c9dcc0fb89984
      https://github.com/llvm/llvm-project/commit/eb8901bda11fd55deeecd067fc4c9dcc0fb89984
  Author: Michael Buch <michaelbuch12 at gmail.com>
  Date:   2025-02-06 (Thu, 06 Feb 2025)

  Changed paths:
    M llvm/include/llvm/AsmParser/LLToken.h
    M llvm/include/llvm/BinaryFormat/Dwarf.def
    M llvm/include/llvm/BinaryFormat/Dwarf.h
    M llvm/include/llvm/IR/DIBuilder.h
    M llvm/include/llvm/IR/DebugInfoMetadata.h
    M llvm/lib/AsmParser/LLLexer.cpp
    M llvm/lib/AsmParser/LLParser.cpp
    M llvm/lib/BinaryFormat/Dwarf.cpp
    M llvm/lib/Bitcode/Reader/MetadataLoader.cpp
    M llvm/lib/Bitcode/Writer/BitcodeWriter.cpp
    M llvm/lib/CodeGen/AsmPrinter/DwarfUnit.cpp
    M llvm/lib/IR/AsmWriter.cpp
    M llvm/lib/IR/DIBuilder.cpp
    M llvm/lib/IR/DebugInfoMetadata.cpp
    A llvm/test/DebugInfo/AArch64/DW_AT_APPLE_enum_kind.ll
    A llvm/test/tools/llvm-dwarfdump/AArch64/DW_AT_APPLE_enum_kind.s
    M llvm/unittests/IR/DebugTypeODRUniquingTest.cpp
    M llvm/unittests/IR/MetadataTest.cpp
    M llvm/unittests/Transforms/Utils/CloningTest.cpp
    M mlir/lib/Target/LLVMIR/DebugTranslation.cpp

  Log Message:
  -----------
  [llvm][DebugInfo] Add new DW_AT_APPLE_enum_kind to encode enum_extensibility (#124752)

When creating `EnumDecl`s from DWARF for Objective-C `NS_ENUM`s, the
Swift compiler tries to figure out if it should perform "swiftification"
of that enum (which involves renaming the enumerator cases, etc.). The
heuristics by which it determines whether we want to swiftify an enum is
by checking the `enum_extensibility` attribute (because that's what
`NS_ENUM` pretty much are). Currently LLDB fails to attach the
`EnumExtensibilityAttr` to `EnumDecl`s it creates (because there's not
enough info in DWARF to derive it), which means we have to fall back to
re-building Swift modules on-the-fly, slowing down expression evaluation
substantially. This happens around
https://github.com/swiftlang/swift/blob/4b3931c8ce437b3f13f245e6423f95c94a5876ac/lib/ClangImporter/ImportEnumInfo.cpp#L37-L59

To speed up Swift exression evaluation, this patch proposes encoding the
C/C++/Objective-C `enum_extensibility` attribute in DWARF via a new
`DW_AT_APPLE_ENUM_KIND`. This would currently be only used from the LLDB
Swift plugin. But may be of interest to other language plugins as well
(though I haven't come up with a concrete use-case for it outside of
Swift).

I'm open to naming suggestions of the various new attributes/attribute
constants proposed here. I tried to be as generic as possible if we
wanted to extend it to other kinds of enum properties (e.g., flag
enums).

The new attribute would look as follows:
```
DW_TAG_enumeration_type
  DW_AT_type      (0x0000003a "unsigned int")
  DW_AT_APPLE_enum_kind   (DW_APPLE_ENUM_KIND_Closed)
  DW_AT_name      ("ClosedEnum")
  DW_AT_byte_size (0x04)
  DW_AT_decl_file ("enum.c")
  DW_AT_decl_line (23)

DW_TAG_enumeration_type
  DW_AT_type      (0x0000003a "unsigned int")
  DW_AT_APPLE_enum_kind   (DW_APPLE_ENUM_KIND_Open)
  DW_AT_name      ("OpenEnum")
  DW_AT_byte_size (0x04)
  DW_AT_decl_file ("enum.c")
  DW_AT_decl_line (27)
```
Absence of the attribute means the extensibility of the enum is unknown
and abides by whatever the language rules of that CU dictate.

This does feel like a big hammer for quite a specific use-case, so I'm
happy to discuss alternatives.

Alternatives considered:
* Re-using an existing DWARF attribute to express extensibility. E.g., a
`DW_TAG_enumeration_type` could have a `DW_AT_count` or
`DW_AT_upper_bound` indicating the number of enumerators, which could
imply closed-ness. I felt like a dedicated attribute (which could be
generalized further) seemed more applicable. But I'm open to re-using
existing attributes.
* Encoding the entire attribute string (i.e., `DW_TAG_LLVM_annotation
("enum_extensibility((open))")`) on the `DW_TAG_enumeration_type`. Then
in LLDB somehow parse that out into a `EnumExtensibilityAttr`. I haven't
found a great API in Clang to parse arbitrary strings into AST nodes
(the ones I've found required fully formed C++ constructs). Though if
someone knows of a good way to do this, happy to consider that too.


  Commit: a6abd0a13d2748977dd1409a34948cd392a1cb21
      https://github.com/llvm/llvm-project/commit/a6abd0a13d2748977dd1409a34948cd392a1cb21
  Author: Sameer Sahasrabuddhe <sameer.sahasrabuddhe at amd.com>
  Date:   2025-02-06 (Thu, 06 Feb 2025)

  Changed paths:
    M llvm/docs/ConvergenceAndUniformity.rst

  Log Message:
  -----------
  [Docs] Remove outdated reference to "future work" in convergence.


  Commit: df22bbe2beb57687c76402bc0cfdf7901a31cf29
      https://github.com/llvm/llvm-project/commit/df22bbe2beb57687c76402bc0cfdf7901a31cf29
  Author: kadir çetinkaya <kadircet at google.com>
  Date:   2025-02-06 (Thu, 06 Feb 2025)

  Changed paths:
    A clang/test/Driver/warning-suppression-mappings-not-parsed.cpp
    M clang/tools/driver/driver.cpp

  Log Message:
  -----------
  [clang] Stop parsing warning suppression mappings in driver (#125722)

This gets rid of some extra IO from driver startup, and possiblity of
emitting warnings twice.


  Commit: d4144ca27da174da3f8e7e3472e788b4246fd04e
      https://github.com/llvm/llvm-project/commit/d4144ca27da174da3f8e7e3472e788b4246fd04e
  Author: Fraser Cormack <fraser at codeplay.com>
  Date:   2025-02-06 (Thu, 06 Feb 2025)

  Changed paths:
    M libclc/generic/lib/math/clc_fmod.cl
    M libclc/generic/lib/math/clc_remainder.cl

  Log Message:
  -----------
  [libclc][NFC] Clang-format two files

Pre-commit changes to avoid noise in an upcoming PR.


  Commit: 7ef33e609c45515de9db1b5222fe6e05edd76c94
      https://github.com/llvm/llvm-project/commit/7ef33e609c45515de9db1b5222fe6e05edd76c94
  Author: Simon Tatham <simon.tatham at arm.com>
  Date:   2025-02-06 (Thu, 06 Feb 2025)

  Changed paths:
    M libc/src/__support/FPUtil/dyadic_float.h
    M libc/src/__support/integer_to_string.h
    M libc/src/stdio/printf_core/float_dec_converter_limited.h

  Log Message:
  -----------
  [libc] Fix recently introduced integer-type warnings (#125864)

These warnings all come up in code modified by one of my two recent
commits c06d0ff806b72b1 and b53da77c505a2d3, and all relate to implicit
integer type conversion. In a build of ours with strict compile options
two of them became errors. Even without that problem, it's worth fixing
them to reduce noise that might hide a more serious warning.


  Commit: d2b45ce100d641a8f1690e30843bb9c5ea71ab86
      https://github.com/llvm/llvm-project/commit/d2b45ce100d641a8f1690e30843bb9c5ea71ab86
  Author: leijurv <leijurv at gmail.com>
  Date:   2025-02-06 (Thu, 06 Feb 2025)

  Changed paths:
    M clang/docs/ClangFormatStyleOptions.rst
    M clang/docs/ReleaseNotes.rst
    M clang/include/clang/Format/Format.h
    M clang/lib/Format/ContinuationIndenter.cpp
    M clang/lib/Format/ContinuationIndenter.h
    M clang/lib/Format/Format.cpp
    M clang/lib/Format/TokenAnnotator.cpp
    M clang/unittests/Format/ConfigParseTest.cpp
    M clang/unittests/Format/FormatTest.cpp

  Log Message:
  -----------
  [clang-format] Add BreakBeforeTemplateCloser option (#118046)

In clang-format, multiline templates have the `>` on the same line as
the last parameter:

```c++
template <
    typename Foo,
    typename Bar>
void foo() {
```

I would like to add an option to put the `>` on the next line, like
this:

```c++
template <
    typename Foo,
    typename Bar
>
void foo() {
```

An example of a large project that uses this style is NVIDIA's CUTLASS,
here is an example:


https://github.com/NVIDIA/cutlass/blob/main/include/cutlass/epilogue/dispatch_policy.hpp#L149-L156

My reasoning is that it reminds me of this style of braces:

```c++
if (foo()) {
    bar();
    baz();}
```

Most people agree this is better:

```c++
if (foo()) {
    bar();
    baz();
}
```

---------

Co-authored-by: Owen Pan <owenpiano at gmail.com>


  Commit: 80fd902573f860001af08d75f15d8f92005bae90
      https://github.com/llvm/llvm-project/commit/80fd902573f860001af08d75f15d8f92005bae90
  Author: Andrzej Warzyński <andrzej.warzynski at arm.com>
  Date:   2025-02-06 (Thu, 06 Feb 2025)

  Changed paths:
    M mlir/include/mlir/Dialect/Tensor/IR/CMakeLists.txt
    M mlir/include/mlir/Dialect/Tensor/IR/Tensor.h
    A mlir/include/mlir/Dialect/Tensor/IR/TensorInterfaces.td
    M mlir/include/mlir/Dialect/Tensor/IR/TensorOps.td
    M mlir/lib/Dialect/Tensor/IR/CMakeLists.txt
    M mlir/lib/Dialect/Tensor/IR/TensorOps.cpp

  Log Message:
  -----------
  [mlir][tensor] Introduce `TensorRelayoutOpInterface` (#125823)

The newly introduced `TensorRelayoutOpInterface` is created specifically
for `tensor.pack` + `tensor.unpack`. Although the interface is
currently empty, it enables us to refactor the logic in
`FoldTensorCastProducerOp` within the Tensor dialect as follows:

```cpp
// OLD
// Reject tensor::PackOp - there's dedicated pattern for that instead.
if (!foldTensorCastPrecondition(op) ||
    isa<tensor::PackOp, tensor::UnPackOp>(*op))
  return failure();
```

is replaced with:

```cpp
// NEW
// Reject tensor::PackOp - there's dedicated pattern for that instead.
if (!foldTensorCastPrecondition(op) ||
    isa<tensor::RelayoutOpInterface>(*op))
  return failure();
```

This will be crucial once `tensor.pack` + `tensor.pack` are replaced
with `linalg.pack` + `linalg.unpack` (i.e. moved to Linalg):
  * https://github.com/llvm/llvm-project/pull/123902,
  * https://discourse.llvm.org/t/rfc-move-tensor-pack-and-tensor-unpack-into-linalg/.

Note that the interface itself will later be moved to the Linalg
dialect. This decoupling ensures that the Tensor dialect does not
require an understanding of Linalg ops, thus keeping the dependency
lightweight.

This PR is effectively a preparatory step for moving PackOp and UnpackOp
to Linalg. Once that's completed, most CMake changes from this PR will
be effectively reverted.


  Commit: ecb016a87d89aed36b8f5d8102e15d8eb0e57108
      https://github.com/llvm/llvm-project/commit/ecb016a87d89aed36b8f5d8102e15d8eb0e57108
  Author: kadir çetinkaya <kadircet at google.com>
  Date:   2025-02-06 (Thu, 06 Feb 2025)

  Changed paths:
    M clang/lib/Basic/Warnings.cpp
    M clang/unittests/Basic/DiagnosticTest.cpp

  Log Message:
  -----------
  [clang] Parse warning-suppression-mapping after setting up diagengine (#125714)

We can emit diagnostics while parsing warning-suppression-mapping, make
sure command line flags take affect when emitting those.


  Commit: 78f690bba7846d3e9795bc27a5e27627a4a1ea28
      https://github.com/llvm/llvm-project/commit/78f690bba7846d3e9795bc27a5e27627a4a1ea28
  Author: Andrzej Warzyński <andrzej.warzynski at arm.com>
  Date:   2025-02-06 (Thu, 06 Feb 2025)

  Changed paths:
    M mlir/lib/Dialect/Vector/Transforms/VectorEmulateNarrowType.cpp

  Log Message:
  -----------
  [mlir][Vector] Update VectorEmulateNarrowType.cpp (2/N) (#123527)

This is PR 2 in a series of N patches aimed at improving
"VectorEmulateNarrowType.cpp". This is mainly minor refactoring, no
major functional changes are made/added.

**CHANGE 1** 

Renames the variable "scale". Note, "scale" could mean either:

  * "container-elements-per-emulated-type", or
  * "emulated-elements-per-container-type".

While from the context it is clear that it's always the former (original
type is always a sub-byte type and the emulated type is usually `i8`),
this PR reduces the cognitive load by making this clear.

**CHANGE 2** 

Replaces `isUnalignedEmulation` with `isFullyAligned`

Note, `isUnalignedEmulation` is always computed following a
"per-element-alignment" condition:
```cpp
// Check per-element alignment.
if (containerBits % emulatedBits != 0) {
  return rewriter.notifyMatchFailure(
    op, "impossible to pack emulated elements into container elements "
    "(bit-wise misalignment)");
}

// (...)

bool isUnalignedEmulation = origElements % emulatedPerContainerElem != 0;
```

Given that `isUnalignedEmulation` captures only one of two conditions
required for "full alignment", it should be re-named as
`isPartiallyUnalignedEmulation`. Instead, I've flipped the condition and
renamed it as `isFullyAligned`:

```cpp
bool isFullyAligned = origElements % emulatedPerContainerElem == 0;
```

**CHANGE 3**
  * Unifies various comments throughout the file (for consistency).
* Adds new comments throughout the file and adds TODOs where high-level
    comments are missing.
    
    
**GitHub issue to track this work**:
https://github.com/llvm/llvm-project/issues/123630


  Commit: d1de75acea0da55316cd7827563e064105868f0f
      https://github.com/llvm/llvm-project/commit/d1de75acea0da55316cd7827563e064105868f0f
  Author: Brad Smith <brad at comstyle.com>
  Date:   2025-02-06 (Thu, 06 Feb 2025)

  Changed paths:
    M clang/lib/Driver/ToolChains/CommonArgs.cpp
    M flang/test/Driver/linker-flags.f90

  Log Message:
  -----------
  [flang][Driver] When linking with the Fortran runtime also link with libexecinfo (#125998)

Also link with libexecinfo on FreeBSD, NetBSD, OpenBSD and DragonFly
for the backtrace functions.


  Commit: 8c2b4aa5a0f495592f906b1b9d1a859d3c1062da
      https://github.com/llvm/llvm-project/commit/8c2b4aa5a0f495592f906b1b9d1a859d3c1062da
  Author: Matthias Springer <me at m-sp.org>
  Date:   2025-02-06 (Thu, 06 Feb 2025)

  Changed paths:
    M mlir/include/mlir/Dialect/LLVMIR/LLVMTypes.td

  Log Message:
  -----------
  [mlir][LLVM][NFC] Fix description of `LLVMFixedVectorType` (#126031)


  Commit: 112490ce04edeb0b34ab2079b649e907c62fd47e
      https://github.com/llvm/llvm-project/commit/112490ce04edeb0b34ab2079b649e907c62fd47e
  Author: Utkarsh Saxena <usx at google.com>
  Date:   2025-02-06 (Thu, 06 Feb 2025)

  Changed paths:
    M clang/lib/StaticAnalyzer/Core/BugReporter.cpp

  Log Message:
  -----------
  [analyzer] Use getFileName and do not use realpath names (#126039)

The real paths resolves symlinks and makes the tests fail when the
filesystem is a symlink tree over a content-addressable storage (our
internal environment).


  Commit: 4daf30709982fac07c7519032a9586323e276f4b
      https://github.com/llvm/llvm-project/commit/4daf30709982fac07c7519032a9586323e276f4b
  Author: Tom Eccles <tom.eccles at arm.com>
  Date:   2025-02-06 (Thu, 06 Feb 2025)

  Changed paths:
    M flang/lib/Lower/OpenMP/PrivateReductionUtils.cpp

  Log Message:
  -----------
  [flang][Lower][OpenMP][NFC] tidy up PrivateReductionUtils (#125867)

First part of a series of patches to improve private/reduction init and
cleanup region generation.

This commit is NFC. I factored out processing for each datatype into its
own method so that it is easier to keep track of what is being handled
where (I found the old gigantic init region generation function
difficult to navigate). The methods all share context in a helper class
to avoid having to pass a very large number of arguments.

I also removed the conflation between the mold argument and the mold
argument after loading. This should make it easier to avoid generating
dead uses of the mold argument in a later non-nfc patch.


  Commit: 8c1dbac304d2f3d9e9685c1f4fd8b3e133360893
      https://github.com/llvm/llvm-project/commit/8c1dbac304d2f3d9e9685c1f4fd8b3e133360893
  Author: hanbeom <kese111 at gmail.com>
  Date:   2025-02-06 (Thu, 06 Feb 2025)

  Changed paths:
    M llvm/lib/Transforms/Vectorize/VectorCombine.cpp
    A llvm/test/Transforms/VectorCombine/X86/extract-insert-poison.ll
    A llvm/test/Transforms/VectorCombine/X86/extract-insert.ll
    M llvm/test/Transforms/VectorCombine/X86/load-inseltpoison.ll

  Log Message:
  -----------
  [VectorCombine] Allow shuffling between vectors the same type but different element sizes (#121216)

`foldInsExtVectorToShuffle` function combines the extract/insert of a vector into a vector through a shuffle. However, we only supported coupling between vectors of the same size.

This commit allows combining extract/insert for vectors of the same type but with different sizes by converting the length of the vectors.

Proof: https://alive2.llvm.org/ce/z/ELNLr7
Fixed https://github.com/llvm/llvm-project/issues/120772


  Commit: ceaec56fbc94d41a49f56d8e966528e00a46641e
      https://github.com/llvm/llvm-project/commit/ceaec56fbc94d41a49f56d8e966528e00a46641e
  Author: Haojian Wu <hokein.wu at gmail.com>
  Date:   2025-02-06 (Thu, 06 Feb 2025)

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

  Log Message:
  -----------
  [bazel] Port for eb8901bda11fd55deeecd067fc4c9dcc0fb89984


  Commit: 39be2d0266f1aa229a79c47d81b004c8c2079362
      https://github.com/llvm/llvm-project/commit/39be2d0266f1aa229a79c47d81b004c8c2079362
  Author: Tom Eccles <tom.eccles at arm.com>
  Date:   2025-02-06 (Thu, 06 Feb 2025)

  Changed paths:
    M flang/lib/Semantics/check-omp-structure.cpp
    A flang/test/Semantics/OpenMP/reduction-derived-component.f90

  Log Message:
  -----------
  [flang][OpenMP][Semantics] Don't allow reduction of derived type components (#125480)

Before this patch, reduction of derived type components crashed the
compiler when trying to create the omp.declare_reduction.

In OpenMP 3.1 the standard says "a list item that appears in a reduction
clause must be a named variable of intrinsic type" (page 106). As I
understand it, a derived type component is not a variable.

OpenMP 4.0 added declare reduction, partly so that users could define
their own reductions on derived types. The above wording was removed
from the standard but derived type components were never explicitly
allowed.

OpenMP 5.0 added "A variable that is part of another variable, with the
exception of array elements, cannot appear in17 a reduction clause".

All standard versions also require the reduction argument to be
"definable", which roughly means that it is a variable. A
derived type component is more like an expression.

Fixes #125445


  Commit: 84c3b05e5e2776af51a2791bccfaa954bc8e2bcd
      https://github.com/llvm/llvm-project/commit/84c3b05e5e2776af51a2791bccfaa954bc8e2bcd
  Author: Kareem Ergawy <kareem.ergawy at amd.com>
  Date:   2025-02-06 (Thu, 06 Feb 2025)

  Changed paths:
    M flang/test/Integration/OpenMP/parallel-private-reduction-worstcase.f90
    M mlir/lib/Target/LLVMIR/Dialect/OpenMP/OpenMPToLLVMIRTranslation.cpp
    M mlir/test/Target/LLVMIR/openmp-firstprivate.mlir
    M mlir/test/Target/LLVMIR/openmp-llvm.mlir
    M mlir/test/Target/LLVMIR/openmp-private.mlir
    M mlir/test/Target/LLVMIR/openmp-wsloop-private-cond_br.mlir

  Log Message:
  -----------
  [OpenMP][flang][MLIR] Decouple alloc, init, and copy regions for `omp.private|declare_reduction` ops (#125699)

This PR changes the emitted block structure of alloc, init, and copy
regions for `omp.private` and `omp.declare_reduction` ops a little bit.
In particular, this decouples init and copy regions from the alloca
insertion-point. The main motivation is fix "Instruction does not
dominate all uses!" errors that happen specially when an init region
uses a value from the OpenMP region it is being inlined into. The issue
happens because, previous to this PR, we inline the init region right
after the latest alloc block (since we used the alloca IP); which in
some cases (see exmaple below), is too early and causes the use
dominance issue.

Example that would break without this PR (when delayed privatization is
enabled for `omp.wsloop`s):
```fortran
subroutine test2 (xyz)
  integer :: i
  integer :: xyz(:)

  !$omp target map(from:xyz)
    !$omp do private(xyz)
      do i = 1, 10
        xyz(i) = i
      end do
  !$omp end target
end subroutine
```


  Commit: 7ebacf3a999fc9766c3f0ec4979e3ed08344c348
      https://github.com/llvm/llvm-project/commit/7ebacf3a999fc9766c3f0ec4979e3ed08344c348
  Author: Alexander Belyaev <pifon at google.com>
  Date:   2025-02-06 (Thu, 06 Feb 2025)

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

  Log Message:
  -----------
  [mlir][tensor] Fix bazel build after 80fd902573f860001af08d75f15d8f92005bae90.


  Commit: d0f472c246911e35656bf24fd282f80d7482211a
      https://github.com/llvm/llvm-project/commit/d0f472c246911e35656bf24fd282f80d7482211a
  Author: Ramkumar Ramachandra <ramkumar.ramachandra at codasip.com>
  Date:   2025-02-06 (Thu, 06 Feb 2025)

  Changed paths:
    M llvm/lib/Transforms/Utils/SimplifyIndVar.cpp
    A llvm/test/Transforms/IndVarSimplify/iv-ext-samesign.ll
    R llvm/test/Transforms/IndVarSimplify/iv-zext-samesign-datalayout.ll

  Log Message:
  -----------
  SimplifyIndVar: teach widenLoopCompare about samesign (#125851)

Proof: https://alive2.llvm.org/ce/z/NVXaeo


  Commit: 2464f4ba6e0e50bb30c31b6526fa0bdd5a531217
      https://github.com/llvm/llvm-project/commit/2464f4ba6e0e50bb30c31b6526fa0bdd5a531217
  Author: Amr Hesham <amr96 at programmer.net>
  Date:   2025-02-06 (Thu, 06 Feb 2025)

  Changed paths:
    M llvm/include/llvm/Support/Error.h
    M llvm/unittests/Support/ErrorTest.cpp

  Log Message:
  -----------
  [LLVM][Support] Add new CreateFileError functions (#125906)

Add new CreateFileError functions to create a StringError with the
specified error code and prepend the file path to it

Needed for: #125345


  Commit: 03478d6f2d0032615b4633927c6e8f5c9c5e4909
      https://github.com/llvm/llvm-project/commit/03478d6f2d0032615b4633927c6e8f5c9c5e4909
  Author: Pierre van Houtryve <pierre.vanhoutryve at amd.com>
  Date:   2025-02-06 (Thu, 06 Feb 2025)

  Changed paths:
    M llvm/utils/TableGen/Common/GlobalISel/GlobalISelMatchTable.cpp

  Log Message:
  -----------
  [GlobalISel] Prefix MatchTable Lines with their Index (#125845)

I tried to keep it readable by making the width of the column with the
index always enough to contain the largest number.
That way things don't shift to the right every time a new digit appears,
it remains consistent.

Tests don't break because this only affects the beginning of the line
and FileCheck doesn't care about what comes before for the most part.

Example of the new output:
```
     /* 758359 */   // Label 9988: @758359
     /* 758359 */   GIM_Try, /*On fail goto*//*Label 9989*/ GIMT_Encode4(758435), // Rule ID 6715 //
     /* 758364 */     GIM_CheckConstantInt8, /*MI*/0, /*Op*/2, 0,
     /* 758368 */     // MIs[0] offset
```

Fixes #119177


  Commit: ee3bccab34f57387bdf33853cdd5f214fef349a2
      https://github.com/llvm/llvm-project/commit/ee3bccab34f57387bdf33853cdd5f214fef349a2
  Author: Nikolas Klauser <nikolasklauser at berlin.de>
  Date:   2025-02-06 (Thu, 06 Feb 2025)

  Changed paths:
    M libcxx/include/string
    R libcxx/test/libcxx/strings/basic.string/string.modifiers/clear_and_shrink.pass.cpp

  Log Message:
  -----------
  [libc++] Remove basic_string::__clear_and_shrink (#126050)

`__clear_and_shrink` is only used in a single place and does more work
than actually required.


  Commit: 7c695e4906300a11208d7979c470d63b0d037bb2
      https://github.com/llvm/llvm-project/commit/7c695e4906300a11208d7979c470d63b0d037bb2
  Author: Nikita Popov <npopov at redhat.com>
  Date:   2025-02-06 (Thu, 06 Feb 2025)

  Changed paths:
    M flang/unittests/Frontend/CMakeLists.txt

  Log Message:
  -----------
  [flang] Use clang_target_link_libraries() for clang dependency (#126037)

This dependency is part of libclang-cpp, so it should use
clang_target_link_libraries.


  Commit: c9d0a464c9f3a0a66f35d0ca28f36a96efc6961b
      https://github.com/llvm/llvm-project/commit/c9d0a464c9f3a0a66f35d0ca28f36a96efc6961b
  Author: Han-Chung Wang <hanhan0912 at gmail.com>
  Date:   2025-02-06 (Thu, 06 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:
  -----------
  Revert "[mlir][math]Update `convertPowfOp` `ExpandPatterns.cpp`" (#126063)

Reverts llvm/llvm-project#124402

It breaks an integration test in downstream project (i.e., IREE), which
produces NANs. Talked to the author @ita9naiwa, and we agree to reland
the PR after we find the issue.


  Commit: b74176a3a26ae26b8671bcf3cc261353c23c88d0
      https://github.com/llvm/llvm-project/commit/b74176a3a26ae26b8671bcf3cc261353c23c88d0
  Author: Graham Hunter <graham.hunter at arm.com>
  Date:   2025-02-06 (Thu, 06 Feb 2025)

  Changed paths:
    M llvm/include/llvm/Target/TargetSelectionDAG.td
    M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
    M llvm/lib/Target/AArch64/AArch64SVEInstrInfo.td
    M llvm/test/CodeGen/AArch64/vector-extract-last-active.ll

  Log Message:
  -----------
  [AArch64][SelectionDAG] Generate clastb for extract.last.active (#112738)

This patch improves SVE codegen for the vector extract last active
intrinsic, using either the lastb instruction (if the passthru value was
poison or undef), or the clastb instruction.


  Commit: 9598f74133a358588ab7e38ec6b5e39a4143bdd0
      https://github.com/llvm/llvm-project/commit/9598f74133a358588ab7e38ec6b5e39a4143bdd0
  Author: Nikolas Klauser <nikolasklauser at berlin.de>
  Date:   2025-02-06 (Thu, 06 Feb 2025)

  Changed paths:
    M clang/docs/LanguageExtensions.rst
    M clang/docs/ReleaseNotes.rst
    M clang/include/clang/Basic/TokenKinds.def
    M clang/lib/Parse/ParseDeclCXX.cpp
    M clang/lib/Parse/ParseExpr.cpp
    M clang/lib/Sema/SemaExprCXX.cpp
    M clang/test/SemaCXX/type-traits.cpp

  Log Message:
  -----------
  [Clang] Remove __is_referenceable builtin (#123078)

`__is_referenceable` is almost unused in the wild, and the few cases I
was able to find had checks around them. Since the places in the
standard library where `__is_referenceable` is used have bespoke
builtins, it doesn't make a ton of sense to keep this builtin around.

`__is_referenceable` has been documented as deprecated in Clang 20.


  Commit: e833e5276cab9a678b830dd46e87bfba3c700ca9
      https://github.com/llvm/llvm-project/commit/e833e5276cab9a678b830dd46e87bfba3c700ca9
  Author: Lukacma <Marian.Lukac at arm.com>
  Date:   2025-02-06 (Thu, 06 Feb 2025)

  Changed paths:
    M clang/include/clang/Basic/arm_sme.td
    M clang/include/clang/Basic/arm_sve.td
    M clang/test/CodeGen/AArch64/sme-intrinsics/acle_sme_read.c
    M clang/test/CodeGen/AArch64/sme-intrinsics/acle_sme_write.c
    M clang/test/CodeGen/AArch64/sme2-intrinsics/acle_sme2_luti2_lane_zt.c
    M clang/test/CodeGen/AArch64/sme2-intrinsics/acle_sme2_luti2_lane_zt_x2.c
    M clang/test/CodeGen/AArch64/sme2-intrinsics/acle_sme2_luti2_lane_zt_x4.c
    M clang/test/CodeGen/AArch64/sme2-intrinsics/acle_sme2_luti4_lane_zt.c
    M clang/test/CodeGen/AArch64/sme2-intrinsics/acle_sme2_luti4_lane_zt_x2.c
    M clang/test/CodeGen/AArch64/sme2-intrinsics/acle_sme2_read.c
    M clang/test/CodeGen/AArch64/sme2-intrinsics/acle_sme2_vector_selx2.c
    M clang/test/CodeGen/AArch64/sme2-intrinsics/acle_sme2_vector_selx4.c
    M clang/test/CodeGen/AArch64/sme2-intrinsics/acle_sme2_vector_uzpx2.c
    M clang/test/CodeGen/AArch64/sme2-intrinsics/acle_sme2_vector_uzpx4.c
    M clang/test/CodeGen/AArch64/sme2-intrinsics/acle_sme2_vector_zipx2.c
    M clang/test/CodeGen/AArch64/sme2-intrinsics/acle_sme2_vector_zipx4.c
    M clang/test/CodeGen/AArch64/sme2-intrinsics/acle_sme2_write.c
    M clang/test/CodeGen/AArch64/sme2p1-intrinsics/acle_sme2p1_movaz.c
    M clang/test/CodeGen/AArch64/sve2-intrinsics/acle_sve2_revd.c

  Log Message:
  -----------
  [AArch64][Clang] Update untyped sme intrinsics with fp8 variants (#124543)

This patch adds fp8 variants to the following untyped SME intrinsics
based on
[ACLE](https://github.com/ARM-software/acle/blob/main/main/acle.md):

```
SVREVD
SVSEL_X2
SVSEL_X4
SVZIP_X2
SVZIPQ_X2
SVZIP_X4
SVZIPQ_X4
SVUZP_X2
SVUZPQ_X2
SVUZP_X4
SVUZPQ_X4
SVREAD_ZA8_H
SVREAD_ZA8_V
SVREAD_ZA128
SVWRITE_ZA8_H
SVWRITE_ZA8_V
SVWRITE_ZA128
SVREAD_ZA8_VG2_H
SVREAD_ZA8_VG2_V
SVREAD_ZA8_VG4_H
SVREAD_ZA8_VG4_V
SVREAD_ZA8_VG1x2
SVREAD_ZA8_VG1x4
SVWRITE_ZA8_VG2_H
SVWRITE_ZA8_VG2_V
SVWRITE_ZA8_VG4_H
SVWRITE_ZA8_VG4_V
SVWRITE_ZA8_VG1x2
SVWRITE_ZA8_VG1x4
SVLUTI2_LANE_ZT_X4
SVLUTI2_LANE_ZT
SVLUTI4_LANE_ZT
SVLUTI2_LANE_ZT_X2
SVLUTI4_LANE_ZT_X2
SVREADZ_ZA8_X2_H
SVREADZ_ZA8_X2_V
SVREADZ_ZA8_X4_H
SVREADZ_ZA8_X4_V
SVREADZ_ZA8_H
SVREADZ_ZA8_V
SVREADZ_VG2_B
SVREADZ_VG4_B
```


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

  Changed paths:
    M clang/lib/CodeGen/CGCUDANV.cpp
    M clang/test/CodeGenCUDA/offloading-entries.cu
    M clang/test/Driver/linker-wrapper-image.c
    M clang/test/OpenMP/declare_target_link_codegen.cpp
    M clang/test/OpenMP/nvptx_target_requires_unified_shared_memory.cpp
    M clang/tools/clang-linker-wrapper/ClangLinkerWrapper.cpp
    M llvm/include/llvm/Frontend/Offloading/Utility.h
    M llvm/lib/Frontend/Offloading/Utility.cpp
    M llvm/lib/Frontend/OpenMP/OMPIRBuilder.cpp
    M mlir/test/Target/LLVMIR/omptarget-declare-target-llvm-host.mlir
    M offload/src/PluginManager.cpp

  Log Message:
  -----------
  [Offload] Unify offloading entries into a single section (#125731)

Summary:
This patch unifies the existing offloading entires into a single section
called `llvm_offload_entires`. This lets us use a more unified
offloading infrastructure so that all targets share the same handling.
The effect is that people in the runtimes now need to check if the kind
is what they expect, but the expectation is that you can combine
multiple potential providers into a compile job. Doesn't fully work
yet because of other runtime issues, but some day. Mostly this helps the
future of liboffload where we want to handle different languages than
OpenMP.


  Commit: 8609e27a58b94cc5e9daf87cb2609c9b3760bd03
      https://github.com/llvm/llvm-project/commit/8609e27a58b94cc5e9daf87cb2609c9b3760bd03
  Author: Igor Wodiany <igor.wodiany at imgtec.com>
  Date:   2025-02-06 (Thu, 06 Feb 2025)

  Changed paths:
    M mlir/include/mlir/Dialect/SPIRV/IR/SPIRVBase.td
    M mlir/include/mlir/Dialect/SPIRV/IR/SPIRVImageOps.td
    M mlir/lib/Dialect/SPIRV/IR/SPIRVOps.cpp
    M mlir/test/Dialect/SPIRV/IR/image-ops.mlir
    M mlir/test/Target/SPIRV/image-ops.mlir

  Log Message:
  -----------
  [mlir][spirv] Add definition for ImageWriteOp (#124124)

This Pull Request adds OpImageWrite as defined in section 3.52.10.
(Image Instructions). The tests in
`mlir/test/Target/SPIRV/image-ops.mlir` are also updated (and extended
with the new op), so they now pass validation with `spirv-val` after
serialization into SPIR-V. The test was missing `ImageQuery` capability
and entry points. For entry points dummy `main` functions were added.


  Commit: d5c60724bebc2adb91372279711b7ea9511d1428
      https://github.com/llvm/llvm-project/commit/d5c60724bebc2adb91372279711b7ea9511d1428
  Author: Tom Eccles <tom.eccles at arm.com>
  Date:   2025-02-06 (Thu, 06 Feb 2025)

  Changed paths:
    M flang/lib/Lower/OpenMP/PrivateReductionUtils.cpp
    M flang/test/Lower/OpenMP/delayed-privatization-pointer.f90

  Log Message:
  -----------
  [flang][Lower][OpenMP] try to avoid using init mold argument (#125900)

Unfortunately we still have a lot of cases like
!fir.box<!fir.array<10xi32>> where we read dimensions from the mold in
case there are non-default lower bounds stored inside the box. I will
address this in the next patch.


  Commit: f48d9e95d4ccd6ad2a7f53eb9db3e439c40c9dbf
      https://github.com/llvm/llvm-project/commit/f48d9e95d4ccd6ad2a7f53eb9db3e439c40c9dbf
  Author: natanelh-mobileye <natanelh at mobileye.com>
  Date:   2025-02-06 (Thu, 06 Feb 2025)

  Changed paths:
    M llvm/include/llvm/ADT/StableHashing.h

  Log Message:
  -----------
  [nfc] Ignoring unused values (#125695)

trying to avoid `unused variable` warning under gcc7


  Commit: b815a3942a0b0a9e7aab6b269ffdb0e93abc4368
      https://github.com/llvm/llvm-project/commit/b815a3942a0b0a9e7aab6b269ffdb0e93abc4368
  Author: Michael Kruse <llvm-project at meinersbur.de>
  Date:   2025-02-06 (Thu, 06 Feb 2025)

  Changed paths:
    R flang/include/flang/Common/Fortran-features.h
    R flang/include/flang/Common/Fortran.h
    A flang/include/flang/Common/ISO_Fortran_binding_wrapper.h
    R flang/include/flang/Common/LangOptions.def
    R flang/include/flang/Common/LangOptions.h
    R flang/include/flang/Common/MathOptionsBase.def
    R flang/include/flang/Common/MathOptionsBase.h
    R flang/include/flang/Common/OpenMP-features.h
    R flang/include/flang/Common/OpenMP-utils.h
    R flang/include/flang/Common/Version.h
    R flang/include/flang/Common/default-kinds.h
    M flang/include/flang/Common/erfc-scaled.h
    M flang/include/flang/Common/fast-int-set.h
    M flang/include/flang/Common/format.h
    M flang/include/flang/Common/optional.h
    M flang/include/flang/Common/real.h
    M flang/include/flang/Common/reference-wrapper.h
    M flang/include/flang/Common/restorer.h
    M flang/include/flang/Common/target-rounding.h
    M flang/include/flang/Common/template.h
    M flang/include/flang/Common/uint128.h
    M flang/include/flang/Common/visit.h
    M flang/include/flang/Evaluate/call.h
    M flang/include/flang/Evaluate/characteristics.h
    M flang/include/flang/Evaluate/common.h
    M flang/include/flang/Evaluate/constant.h
    M flang/include/flang/Evaluate/expression.h
    M flang/include/flang/Evaluate/intrinsics.h
    M flang/include/flang/Evaluate/target.h
    M flang/include/flang/Evaluate/type.h
    M flang/include/flang/Frontend/CompilerInvocation.h
    M flang/include/flang/Frontend/FrontendOptions.h
    M flang/include/flang/ISO_Fortran_binding.h
    R flang/include/flang/ISO_Fortran_binding_wrapper.h
    M flang/include/flang/Lower/AbstractConverter.h
    M flang/include/flang/Lower/Bridge.h
    M flang/include/flang/Lower/ConvertType.h
    M flang/include/flang/Lower/LoweringOptions.h
    M flang/include/flang/Optimizer/Builder/FIRBuilder.h
    M flang/include/flang/Optimizer/Builder/Runtime/RTBuilder.h
    M flang/include/flang/Optimizer/CodeGen/DescriptorModel.h
    M flang/include/flang/Optimizer/Dialect/CUF/Attributes/CUFAttr.h
    M flang/include/flang/Optimizer/Support/TypeCode.h
    M flang/include/flang/Optimizer/Support/Utils.h
    M flang/include/flang/Parser/dump-parse-tree.h
    M flang/include/flang/Parser/message.h
    M flang/include/flang/Parser/parse-state.h
    M flang/include/flang/Parser/parse-tree.h
    M flang/include/flang/Parser/parsing.h
    M flang/include/flang/Parser/user-state.h
    M flang/include/flang/Runtime/descriptor-consts.h
    M flang/include/flang/Runtime/descriptor.h
    M flang/include/flang/Runtime/random.h
    M flang/include/flang/Runtime/support.h
    M flang/include/flang/Runtime/type-code.h
    M flang/include/flang/Semantics/expression.h
    M flang/include/flang/Semantics/scope.h
    M flang/include/flang/Semantics/semantics.h
    M flang/include/flang/Semantics/symbol.h
    M flang/include/flang/Semantics/tools.h
    M flang/include/flang/Semantics/type.h
    A flang/include/flang/Support/Fortran-features.h
    A flang/include/flang/Support/Fortran.h
    A flang/include/flang/Support/LangOptions.def
    A flang/include/flang/Support/LangOptions.h
    A flang/include/flang/Support/MathOptionsBase.def
    A flang/include/flang/Support/MathOptionsBase.h
    A flang/include/flang/Support/OpenMP-features.h
    A flang/include/flang/Support/OpenMP-utils.h
    A flang/include/flang/Support/Version.h
    A flang/include/flang/Support/default-kinds.h
    M flang/include/flang/Tools/CrossToolHelpers.h
    M flang/lib/CMakeLists.txt
    R flang/lib/Common/CMakeLists.txt
    R flang/lib/Common/Fortran-features.cpp
    R flang/lib/Common/Fortran.cpp
    R flang/lib/Common/LangOptions.cpp
    R flang/lib/Common/OpenMP-utils.cpp
    R flang/lib/Common/Version.cpp
    R flang/lib/Common/default-kinds.cpp
    R flang/lib/Common/idioms.cpp
    M flang/lib/Decimal/CMakeLists.txt
    M flang/lib/Evaluate/CMakeLists.txt
    M flang/lib/Evaluate/call.cpp
    M flang/lib/Evaluate/formatting.cpp
    M flang/lib/Evaluate/intrinsics.cpp
    M flang/lib/Frontend/CMakeLists.txt
    M flang/lib/Frontend/CompilerInstance.cpp
    M flang/lib/Frontend/CompilerInvocation.cpp
    M flang/lib/Frontend/FrontendActions.cpp
    M flang/lib/Lower/Bridge.cpp
    M flang/lib/Lower/CMakeLists.txt
    M flang/lib/Lower/CallInterface.cpp
    M flang/lib/Lower/ConvertExpr.cpp
    M flang/lib/Lower/OpenMP/OpenMP.cpp
    M flang/lib/Optimizer/CodeGen/TypeConverter.cpp
    M flang/lib/Optimizer/Dialect/FIRType.cpp
    M flang/lib/Optimizer/OpenMP/CMakeLists.txt
    M flang/lib/Optimizer/OpenMP/GenericLoopConversion.cpp
    M flang/lib/Optimizer/Passes/CMakeLists.txt
    M flang/lib/Optimizer/Transforms/AddDebugInfo.cpp
    M flang/lib/Optimizer/Transforms/AssumedRankOpConversion.cpp
    M flang/lib/Optimizer/Transforms/CMakeLists.txt
    M flang/lib/Optimizer/Transforms/CUFDeviceGlobal.cpp
    M flang/lib/Optimizer/Transforms/CUFGPUToLLVMConversion.cpp
    M flang/lib/Optimizer/Transforms/CUFOpConversion.cpp
    M flang/lib/Optimizer/Transforms/ExternalNameConversion.cpp
    M flang/lib/Optimizer/Transforms/LoopVersioning.cpp
    M flang/lib/Optimizer/Transforms/SimplifyIntrinsics.cpp
    M flang/lib/Optimizer/Transforms/StackReclaim.cpp
    M flang/lib/Optimizer/Transforms/VScaleAttr.cpp
    M flang/lib/Parser/CMakeLists.txt
    M flang/lib/Parser/basic-parsers.h
    M flang/lib/Parser/prescan.h
    M flang/lib/Parser/unparse.cpp
    M flang/lib/Semantics/CMakeLists.txt
    M flang/lib/Semantics/check-return.cpp
    M flang/lib/Semantics/check-select-rank.cpp
    M flang/lib/Semantics/check-stop.cpp
    M flang/lib/Semantics/data-to-inits.h
    M flang/lib/Semantics/expression.cpp
    M flang/lib/Semantics/resolve-names-utils.cpp
    M flang/lib/Semantics/resolve-names.cpp
    M flang/lib/Semantics/semantics.cpp
    M flang/lib/Semantics/tools.cpp
    M flang/lib/Support/CMakeLists.txt
    A flang/lib/Support/Fortran-features.cpp
    A flang/lib/Support/Fortran.cpp
    A flang/lib/Support/LangOptions.cpp
    A flang/lib/Support/OpenMP-utils.cpp
    A flang/lib/Support/Version.cpp
    A flang/lib/Support/default-kinds.cpp
    A flang/lib/Support/idioms.cpp
    M flang/runtime/CUDA/allocator.cpp
    M flang/runtime/ISO_Fortran_binding.cpp
    M flang/runtime/ISO_Fortran_util.h
    M flang/runtime/allocatable.cpp
    M flang/runtime/stat.h
    M flang/runtime/temporary-stack.cpp
    M flang/tools/bbc/CMakeLists.txt
    M flang/tools/bbc/bbc.cpp
    M flang/tools/f18-parse-demo/CMakeLists.txt
    M flang/tools/f18-parse-demo/f18-parse-demo.cpp
    M flang/tools/tco/CMakeLists.txt
    M flang/unittests/Evaluate/CMakeLists.txt
    M flang/unittests/Evaluate/ISO-Fortran-binding.cpp
    M flang/unittests/Frontend/CMakeLists.txt
    M flang/unittests/Runtime/CUDA/Allocatable.cpp
    M flang/unittests/Runtime/CUDA/AllocatorCUF.cpp
    M flang/unittests/Runtime/CUDA/Memory.cpp
    M flang/unittests/Runtime/TemporaryStack.cpp

  Log Message:
  -----------
  [Flang] Move non-common headers to FortranSupport (#124416)

Move non-common files from FortranCommon to FortranSupport (analogous to
LLVMSupport) such that

* declarations and definitions that are only used by the Flang compiler,
but not by the runtime, are moved to FortranSupport

* declarations and definitions that are used by both ("common"), the
compiler and the runtime, remain in FortranCommon

* generic STL-like/ADT/utility classes and algorithms remain in
FortranCommon

This allows a for cleaner separation between compiler and runtime
components, which are compiled differently. For instance, runtime
sources must not use STL's `<optional>` which causes problems with CUDA
support. Instead, the surrogate header `flang/Common/optional.h` must be
used. This PR fixes this for `fast-int-sel.h`.

Declarations in include/Runtime are also used by both, but are
header-only. `ISO_Fortran_binding_wrapper.h`, a header used by compiler
and runtime, is also moved into FortranCommon.


  Commit: e470dcae8d2c4138a89974ceeb413b1568d3a112
      https://github.com/llvm/llvm-project/commit/e470dcae8d2c4138a89974ceeb413b1568d3a112
  Author: Benjamin Maxwell <benjamin.maxwell at arm.com>
  Date:   2025-02-06 (Thu, 06 Feb 2025)

  Changed paths:
    M llvm/lib/Target/AArch64/AArch64FrameLowering.cpp
    M llvm/test/CodeGen/AArch64/spill-fill-zpr-predicates.mir

  Log Message:
  -----------
  [AArch64][SME] Reduce ptrue count when filling p-regs from z-regs (#125523)

Currently, each expansion of `FILL_PPR_FROM_ZPR_SLOT_PSEUDO` creates a
new ptrue instruction. This patch adds a simple method to reuse a
previous ptrue instruction when expanding back-to-back fill pseudos.


  Commit: 0bfcb76be1018f7a5aec5cf968bdb5a8a46ba62c
      https://github.com/llvm/llvm-project/commit/0bfcb76be1018f7a5aec5cf968bdb5a8a46ba62c
  Author: Nikita Popov <npopov at redhat.com>
  Date:   2025-02-06 (Thu, 06 Feb 2025)

  Changed paths:
    M llvm/test/Transforms/FunctionAttrs/nocapture.ll

  Log Message:
  -----------
  [FunctionAttrs] Add additional tests for captures inference (NFC)


  Commit: 60d8e6f5286002dc8fe836aa6229a83cd84ff51c
      https://github.com/llvm/llvm-project/commit/60d8e6f5286002dc8fe836aa6229a83cd84ff51c
  Author: Matt <MattPD at users.noreply.github.com>
  Date:   2025-02-06 (Thu, 06 Feb 2025)

  Changed paths:
    M clang/lib/CodeGen/CGStmtOpenMP.cpp
    M clang/test/OpenMP/ordered_codegen.cpp
    A clang/test/OpenMP/simd_conservative_ordered.c

  Log Message:
  -----------
  [OpenMP][SIMD][FIX] Use conservative "omp simd ordered" lowering (#123867)

A proposed fix for #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: 3041dd5c2065d6fa98546babf7525fc5ed4532be
      https://github.com/llvm/llvm-project/commit/3041dd5c2065d6fa98546babf7525fc5ed4532be
  Author: Alexey Bataev <a.bataev at outlook.com>
  Date:   2025-02-06 (Thu, 06 Feb 2025)

  Changed paths:
    M clang/lib/CodeGen/CGStmtOpenMP.cpp
    M clang/test/OpenMP/ordered_codegen.cpp
    R clang/test/OpenMP/simd_conservative_ordered.c

  Log Message:
  -----------
  Revert "[OpenMP][SIMD][FIX] Use conservative "omp simd ordered" lowering" (#126079)

Reverts llvm/llvm-project#123867 to fix the test failures
https://lab.llvm.org/buildbot/#/builders/144/builds/17521


  Commit: f5c4f271abe757ae49ca97475b7b77de56d24f69
      https://github.com/llvm/llvm-project/commit/f5c4f271abe757ae49ca97475b7b77de56d24f69
  Author: Arseniy Zaostrovnykh <necto.ne at gmail.com>
  Date:   2025-02-06 (Thu, 06 Feb 2025)

  Changed paths:
    M clang/lib/StaticAnalyzer/Core/ExprEngine.cpp
    M clang/lib/StaticAnalyzer/Core/RegionStore.cpp
    A clang/test/Analysis/ftime-trace-bind.cpp
    A clang/test/Analysis/ftime-trace-removeDead.cpp

  Log Message:
  -----------
  [analyzer] Add -ftime-trace scopes for region-store bindings and removeDead (#125884)

>From investigation of a few slow analysis cases, I discovered that
`RegionStoreManager::bind*` and `ExprEngine::removeDead` are often the
slowest actions. This change adds explicit scope to the time trace
generated by `-ftime-trace` to enable easy diagnostics of the cases when
these functions are the slowdown culprits.

--
CPP-6109


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

  Changed paths:
    M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-int-shuffles.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-shufflevector-vnsrl.ll

  Log Message:
  -----------
  [RISCV] Reduce the LMUL for a vrgather operation if legal (#125768)

If we're lowering a shuffle to a vrgather (or vcompress), and we know
that a prefix of the operation can be done while producing the same
(defined) lanes, do the operation with a narrower LMUL.


  Commit: e225677b1f6fe9f8e928836276f1d43b0591e9de
      https://github.com/llvm/llvm-project/commit/e225677b1f6fe9f8e928836276f1d43b0591e9de
  Author: Valery Chernov <vchernov at nvidia.com>
  Date:   2025-02-06 (Thu, 06 Feb 2025)

  Changed paths:
    M llvm/lib/Target/NVPTX/NVPTXInstrInfo.td
    M llvm/lib/Target/NVPTX/NVPTXIntrinsics.td
    A llvm/test/CodeGen/NVPTX/setmaxnreg-sm100a.ll

  Log Message:
  -----------
  [NVPTX] Update setmaxnreg intrinsic lowering (#125846)

The setmaxnreg PTX instruction is supported on all arch-conditionals,
known up-to cuda-12.8, from sm90 onwards. This patch
updates the predicate checks to handle this. The feature is additionally
tested in setmaxnreg-sm100a.ll


  Commit: 88b1d16c4a040cc3d919be13f0baf44f30a5aa13
      https://github.com/llvm/llvm-project/commit/88b1d16c4a040cc3d919be13f0baf44f30a5aa13
  Author: Nikita Popov <npopov at redhat.com>
  Date:   2025-02-06 (Thu, 06 Feb 2025)

  Changed paths:
    M llvm/lib/Target/Mips/MipsISelLowering.cpp
    M llvm/test/CodeGen/Mips/dins.ll

  Log Message:
  -----------
  [Mips] Use getSignedConstant() in or combine

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


  Commit: 553f8e71dd87ad7675e9edaeffdb9619b63a7cf9
      https://github.com/llvm/llvm-project/commit/553f8e71dd87ad7675e9edaeffdb9619b63a7cf9
  Author: hanbeom <kese111 at gmail.com>
  Date:   2025-02-06 (Thu, 06 Feb 2025)

  Changed paths:
    M llvm/lib/Transforms/InstCombine/InstCombineCompares.cpp
    M llvm/test/Transforms/InstCombine/icmp-of-xor-x.ll

  Log Message:
  -----------
  [InstCombine] simplify `icmp pred x, ~x` (#73990)

simplify compare between specific variable `X` and  `NOT(X)`

Proof: https://alive2.llvm.org/ce/z/KTCpjP

Fixed https://github.com/llvm/llvm-project/issues/57532.


  Commit: f7b3559ce07c83625bbe81a30a4da8ccef9ab53f
      https://github.com/llvm/llvm-project/commit/f7b3559ce07c83625bbe81a30a4da8ccef9ab53f
  Author: Nick Sarnie <nick.sarnie at intel.com>
  Date:   2025-02-06 (Thu, 06 Feb 2025)

  Changed paths:
    A clang/test/Tooling/clang-linker-wrapper-spirv-elf.cpp
    M clang/test/Tooling/lit.local.cfg
    M clang/test/lit.site.cfg.py.in
    M clang/tools/clang-linker-wrapper/ClangLinkerWrapper.cpp
    M llvm/include/llvm/Frontend/Offloading/Utility.h
    M llvm/lib/Frontend/Offloading/CMakeLists.txt
    M llvm/lib/Frontend/Offloading/Utility.cpp

  Log Message:
  -----------
  [clang-linker-wrapper] Add ELF packaging for spirv64-intel OpenMP images (#125737)

Add manual ELF packaging for `spirv64-intel` images as there is no
SPIR-V linker available. This format will be expected by the runtime
plugin we will submit in the future and is compatible with the format we
already use downstream.

---------

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


  Commit: c268a3f0934c625238a1391f6da55c10fecda9de
      https://github.com/llvm/llvm-project/commit/c268a3f0934c625238a1391f6da55c10fecda9de
  Author: Matt Arsenault <Matthew.Arsenault at amd.com>
  Date:   2025-02-06 (Thu, 06 Feb 2025)

  Changed paths:
    M llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
    A llvm/test/CodeGen/ARM/pr122670-regression.ll

  Log Message:
  -----------
  DAG: Fix extract of load combine with mismatched vector element type

Fix the case where the vector element type of the loaded extractelement
input does not match the result type of the extract.

This fixes a regression reported after
c55a7659b38946350315ac4a18d9805deb1f0a54


  Commit: b9e4bde804bee256879d5018dd7ece874e2388c1
      https://github.com/llvm/llvm-project/commit/b9e4bde804bee256879d5018dd7ece874e2388c1
  Author: Teresa Johnson <tejohnson at google.com>
  Date:   2025-02-06 (Thu, 06 Feb 2025)

  Changed paths:
    M llvm/lib/Transforms/IPO/MemProfContextDisambiguation.cpp
    A llvm/test/ThinLTO/X86/memprof-icp-recursive.ll
    M llvm/test/ThinLTO/X86/memprof-recursive.ll
    M llvm/test/Transforms/MemProfContextDisambiguation/recursive.ll

  Log Message:
  -----------
  [MemProf] Re-enable cloning of callsites in recursive cycles with fixes (#125947)

This change addresses a number of issues with the support added by
PR121985 which were exposed through more exhaustive testing,
specifically places that needed updates to perform correct graph updates
in the presence of cycles.

A new test case is added that reproduces these issues, and the default
is flipped back to enabling this handling.


  Commit: 2f7d3ec02349d4503e1fa8c54665025eb4f8e173
      https://github.com/llvm/llvm-project/commit/2f7d3ec02349d4503e1fa8c54665025eb4f8e173
  Author: Nikita Popov <npopov at redhat.com>
  Date:   2025-02-06 (Thu, 06 Feb 2025)

  Changed paths:
    M llvm/test/Transforms/InstCombine/icmp-of-xor-x.ll

  Log Message:
  -----------
  [InstCombine] Regenerate test checks

The output changes in the meantime.


  Commit: 17952b3d161dd00d2cab9390672ff0556d63e6da
      https://github.com/llvm/llvm-project/commit/17952b3d161dd00d2cab9390672ff0556d63e6da
  Author: Haojian Wu <hokein.wu at gmail.com>
  Date:   2025-02-06 (Thu, 06 Feb 2025)

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

  Log Message:
  -----------
  [bazel] Port for f7b3559ce07c83625bbe81a30a4da8ccef9ab53f


  Commit: 2e18c94ad17e53d4c594baaf6bfd40460ceebc1e
      https://github.com/llvm/llvm-project/commit/2e18c94ad17e53d4c594baaf6bfd40460ceebc1e
  Author: Joseph Huber <huberjn at outlook.com>
  Date:   2025-02-06 (Thu, 06 Feb 2025)

  Changed paths:
    M clang/lib/Driver/ToolChains/Clang.cpp
    M clang/test/Driver/amdgpu-openmp-sanitize-options.c
    M clang/test/Driver/amdgpu-openmp-toolchain.c
    M clang/test/Driver/openmp-offload.c

  Log Message:
  -----------
  [Clang] Forward arguments to the device compiler better (#125957)

Summary:
Currently we have a subset of arguments that are handled specially to
keep them consistent between host and device compiles, however, this is
extremely hacky as it only works on a few predetermined options. This is
a holdover from the days before the linker wrapper shuttled all of its
arguments through `clang`. Now that we just use clang, all we need to do
is just use the `--device-compiler=` option to forward it there and let
the normal toolchain handle it.

For example,
```console
clang -fopenmp --offload-arch=gfx1030,sm_89 -Xarch_nvptx64 -O3 -foffload-lto
```
will forward the `-O3` to the LTO compilation only for the NVPTX
compilation.


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

  Changed paths:
    M clang/docs/ReleaseNotes.rst
    M clang/docs/analyzer/checkers.rst
    M clang/include/clang/StaticAnalyzer/Checkers/Checkers.td
    R clang/lib/StaticAnalyzer/Checkers/ArrayBoundChecker.cpp
    M clang/lib/StaticAnalyzer/Checkers/ArrayBoundCheckerV2.cpp
    M clang/lib/StaticAnalyzer/Checkers/CMakeLists.txt
    M clang/lib/StaticAnalyzer/Checkers/CStringChecker.cpp
    M clang/lib/StaticAnalyzer/Core/MemRegion.cpp
    R clang/test/Analysis/array-bound-v2-constraint-check.c
    M clang/test/Analysis/index-type.c
    M clang/test/Analysis/misc-ps-region-store.m
    M clang/test/Analysis/no-outofbounds.c
    A clang/test/Analysis/out-of-bounds-constraint-check.c
    M clang/test/Analysis/out-of-bounds-diagnostics.c
    M clang/test/Analysis/out-of-bounds-new.cpp
    M clang/test/Analysis/out-of-bounds-notes.c
    M clang/test/Analysis/out-of-bounds.c
    M clang/test/Analysis/outofbound-notwork.c
    M clang/test/Analysis/outofbound.c
    R clang/test/Analysis/rdar-6541136-region.c
    M clang/test/Analysis/runtime-regression.c
    M clang/test/Analysis/taint-diagnostic-visitor.c
    M clang/test/Analysis/taint-generic.c
    M clang/test/Analysis/taint-generic.cpp
    M clang/www/analyzer/open_projects.html
    M clang/www/analyzer/potential_checkers.html
    M llvm/utils/gn/secondary/clang/lib/StaticAnalyzer/Checkers/BUILD.gn

  Log Message:
  -----------
  [analyzer] Consolidate array bound checkers (#125534)

Before this commit, there were two alpha checkers that used different
algorithms/logic for detecting out of bounds memory access: the old
`alpha.security.ArrayBound` and the experimental, more complex
`alpha.security.ArrayBoundV2`.

After lots of quality improvement commits ArrayBoundV2 is now stable
enough to be moved out of the alpha stage. As indexing (and dereference)
are common operations, it still produces a significant amount of false
positives, but not much more than e.g. `core.NullDereference` or
`core.UndefinedBinaryOperatorResult`, so it should be acceptable as a
non-`core` checker.

At this point `alpha.security.ArrayBound` became obsolete (there is a
better tool for the same task), so I'm removing it from the codebase.
With this I can eliminate the ugly "V2" version mark almost everywhere
and rename `alpha.security.ArrayBoundV2` to `security.ArrayBound`.

(The version mark is preserved in the filename "ArrayBoundCheckerV2", to
ensure a clear git history. I'll rename it to "ArrayBoundChecker.cpp" in
a separate commit.)

This commit adapts the unit tests of `alpha.security.ArrayBound` to
testing the new `security.ArrayBound` (= old ArrayBoundV2). Currently
the names of the test files are very haphazard, I'll probably create a
separate followup commit that consolidates this.


  Commit: ead88c787c4eba28b2148a5aaf190186bdb40820
      https://github.com/llvm/llvm-project/commit/ead88c787c4eba28b2148a5aaf190186bdb40820
  Author: Craig Topper <craig.topper at sifive.com>
  Date:   2025-02-06 (Thu, 06 Feb 2025)

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

  Log Message:
  -----------
  [RISCV] Prefer (select (x < 0), y, z)  -> x >> (XLEN - 1) & (y - z) + z even with Zicond. (#125772)

The Zicond version of this requires an li instruction and an
additional register.

Without Zicond we match this in a DAGCombine on RISCVISD::SELECT_CC.

This PR has 2 commits. I'll pre-commit the test change if this looks
good.


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

  Changed paths:
    M libcxx/docs/Status/FormatPaper.csv
    M libcxx/include/CMakeLists.txt
    M libcxx/include/__chrono/convert_to_tm.h
    M libcxx/include/__chrono/formatter.h
    M libcxx/include/__chrono/ostream.h
    A libcxx/include/__chrono/tai_clock.h
    M libcxx/include/chrono
    M libcxx/include/module.modulemap
    M libcxx/modules/std/chrono.inc
    M libcxx/test/libcxx/diagnostics/chrono.nodiscard.verify.cpp
    A libcxx/test/libcxx/time/time.clock/time.clock.tai/time.clock.tai.members/assert.from_utc.pass.cpp
    A libcxx/test/libcxx/time/time.clock/time.clock.tai/time.clock.tai.members/assert.to_utc.pass.cpp
    A libcxx/test/std/time/time.clock/time.clock.tai/tai_time.ostream.pass.cpp
    A libcxx/test/std/time/time.clock/time.clock.tai/time.clock.tai.members/from_utc.pass.cpp
    A libcxx/test/std/time/time.clock/time.clock.tai/time.clock.tai.members/now.pass.cpp
    A libcxx/test/std/time/time.clock/time.clock.tai/time.clock.tai.members/to_utc.pass.cpp
    A libcxx/test/std/time/time.clock/time.clock.tai/types.compile.pass.cpp
    A libcxx/test/std/time/time.syn/formatter.tai_time.pass.cpp
    M libcxx/test/support/concat_macros.h

  Log Message:
  -----------
  [libc++][chrono] implements TAI clock. (#125550)

Implements parts of:
- P0355 Extending <chrono> to Calendars and Time Zones
- P1361 Integration of chrono with text formatting
- LWG3359 <chrono> leap second support should allow for negative leap
seconds


  Commit: 73a1c7b8d6183c9776c42094c2724f810b72c3d8
      https://github.com/llvm/llvm-project/commit/73a1c7b8d6183c9776c42094c2724f810b72c3d8
  Author: Thurston Dang <thurston at google.com>
  Date:   2025-02-06 (Thu, 06 Feb 2025)

  Changed paths:
    M llvm/lib/Transforms/Instrumentation/MemorySanitizer.cpp
    M llvm/test/Instrumentation/MemorySanitizer/AArch64/arm64-vaddlv.ll

  Log Message:
  -----------
  [msan] Handle Arm NEON sum long across vector (#125784)

Apply handleVectorReduceIntrinsic() to llvm.aarch64.neon.[su]addlv.
Previously, these were unknown intrinsics handled suboptimally by
visitInstruction.

Updates the tests from https://github.com/llvm/llvm-project/pull/125761


  Commit: d5666294e965db2e14c0baafd4e84b57dab2060e
      https://github.com/llvm/llvm-project/commit/d5666294e965db2e14c0baafd4e84b57dab2060e
  Author: Luke Quinn <quic_lquinn at quicinc.com>
  Date:   2025-02-06 (Thu, 06 Feb 2025)

  Changed paths:
    M llvm/lib/Target/RISCV/GISel/RISCVInstructionSelector.cpp
    M llvm/lib/Target/RISCV/RISCVInstrInfo.td
    M llvm/test/CodeGen/RISCV/GlobalISel/combine.ll
    A llvm/test/CodeGen/RISCV/GlobalISel/div-by-constant.ll
    A llvm/test/CodeGen/RISCV/GlobalISel/rotl-rotr.ll
    M llvm/test/CodeGen/RISCV/GlobalISel/rv64zbb-zbkb.ll
    M llvm/test/CodeGen/RISCV/GlobalISel/rv64zbb.ll
    M llvm/test/CodeGen/RISCV/GlobalISel/rv64zbkb.ll
    A llvm/test/CodeGen/RISCV/GlobalISel/shifts.ll
    A llvm/test/CodeGen/RISCV/GlobalISel/wide-scalar-shift-by-byte-multiple-legalization.ll

  Log Message:
  -----------
  [RISCV] Porting hasAllNBitUsers to RISCV GISel for instruction select  (#125795)

Ported hasAllNBitUsers to RISCV GISel side. Add GISelPredicate code to
each of the 16,32, and 64 bit words. It allows for generation of
optimized packw sequences along with other transparent narrowing
operations. Included a few new .ll files to expand testing and limited
the OptW pass Optimization to fewer options until GISel is ready for
more code generation paths

---------

Signed-off-by: Luke Quinn <quic_lquinn at quicinc.com>


  Commit: 7ac4e46b5ca97a15d63ec86ec7eac6cdca1010e7
      https://github.com/llvm/llvm-project/commit/7ac4e46b5ca97a15d63ec86ec7eac6cdca1010e7
  Author: Joseph Huber <huberjn at outlook.com>
  Date:   2025-02-06 (Thu, 06 Feb 2025)

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

  Log Message:
  -----------
  [Clang] Fix multiple spellings of 'save-temps'

Summary:
Apparently the driver will expand `save-temps` to the EQ form sometimes,
which made this not work all the time.


  Commit: 875e014471badfd0535f33551256b2fe24b4654e
      https://github.com/llvm/llvm-project/commit/875e014471badfd0535f33551256b2fe24b4654e
  Author: Virginia Cangelosi <virginia.cangelosi at arm.com>
  Date:   2025-02-06 (Thu, 06 Feb 2025)

  Changed paths:
    M llvm/lib/Target/AArch64/AArch64InstrFormats.td
    M llvm/lib/Target/AArch64/AArch64InstrInfo.td
    A llvm/test/CodeGen/AArch64/fprcvt-cvtf.ll

  Log Message:
  -----------
  [AArch64] Codegen for new SCVTF/UCVTF variants (FEAT_FPRCVT) (#123767)

Adds patterns of new SCVTF/UCVTF instructions to tablegen, with
associated test .ll file.


  Commit: cc0d4a5188f9e41dd8e00048d17b87529e28b694
      https://github.com/llvm/llvm-project/commit/cc0d4a5188f9e41dd8e00048d17b87529e28b694
  Author: CarolineConcatto <caroline.concatto at arm.com>
  Date:   2025-02-06 (Thu, 06 Feb 2025)

  Changed paths:
    M llvm/lib/Target/AArch64/AArch64Features.td
    M llvm/lib/Target/AArch64/AArch64Processors.td
    M llvm/unittests/TargetParser/TargetParserTest.cpp

  Log Message:
  -----------
  [AArch64] Update feature dep. for Armv9.6 extensions (#125874)

These features FEAT_FAMINMAX, FEAT_LUT and FEAT_FP8 depends on
FEAT_NEON.

Update dependency from FEAT_FP8DOT4 and FEAT_FP8DOT2. Now depends
indirectly on FEAT_NEON through FEAT_FP8


  Commit: 18bd11889386a653edb1ef5eb501c6af0094478f
      https://github.com/llvm/llvm-project/commit/18bd11889386a653edb1ef5eb501c6af0094478f
  Author: Jason Molenda <jmolenda at apple.com>
  Date:   2025-02-06 (Thu, 06 Feb 2025)

  Changed paths:
    M lldb/bindings/interface/SBFrameDocstrings.i
    M lldb/bindings/interface/SBFrameExtensions.i

  Log Message:
  -----------
  [lldb][NFC] Add documentation for SBFrame::GetRegisters (#125969)

SBFrame::GetRegisters() (and the .registers / .regs extensions in
Python) returns an array of register-set's, not registers like you might
expect from the API name. Document this.

---------

Co-authored-by: Will Hawkins <whh8b at obs.cr>


  Commit: bddc815c616aff64d70d494982f348ea365d4b3e
      https://github.com/llvm/llvm-project/commit/bddc815c616aff64d70d494982f348ea365d4b3e
  Author: Craig Topper <craig.topper at sifive.com>
  Date:   2025-02-06 (Thu, 06 Feb 2025)

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

  Log Message:
  -----------
  Revert "[RISCV] Prefer (select (x < 0), y, z)  -> x >> (XLEN - 1) & (y - z) + z even with Zicond. (#125772)"

This reverts commit ead88c787c4eba28b2148a5aaf190186bdb40820.

I seem to have lost the test updates when rebasing.


  Commit: 11c3f52bbbb5efa724fd1a4d518566d7180e3c31
      https://github.com/llvm/llvm-project/commit/11c3f52bbbb5efa724fd1a4d518566d7180e3c31
  Author: David Green <david.green at arm.com>
  Date:   2025-02-06 (Thu, 06 Feb 2025)

  Changed paths:
    M llvm/test/CodeGen/AArch64/arm64-vadd.ll

  Log Message:
  -----------
  [AArch64] Add test for subhn xor pattern. NFC


  Commit: 5812d0bf8e920ec9a2f14b60237a07f74a9e7d6b
      https://github.com/llvm/llvm-project/commit/5812d0bf8e920ec9a2f14b60237a07f74a9e7d6b
  Author: Joseph Huber <huberjn at outlook.com>
  Date:   2025-02-06 (Thu, 06 Feb 2025)

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

  Log Message:
  -----------
  [Offload] Make only a single thread handle the RPC server thread (#126067)

Summary:
This patch just changes the interface to make starting the thread
multiple times permissable since it will only be done the first time.
Note that this does not refcount it or anything, so it's onto the user
to make sure that they don't shut down the thread before everyone is
done using it. That is the case today because the shutDown portion is
run by a single thread in the destructor phase.

Another question is if we should make this thread truly global state,
because currently it will be private to each plugin instance, so if you
have an AMD and NVIDIA image there will be two, similarly if you have
those inside of a shared library.


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

  Changed paths:
    M mlir/include/mlir/Dialect/LLVMIR/ROCDLOps.td
    M mlir/lib/Conversion/AMDGPUToROCDL/AMDGPUToROCDL.cpp
    M mlir/test/Conversion/AMDGPUToROCDL/amdgpu-to-rocdl.mlir
    M mlir/test/Dialect/LLVMIR/rocdl.mlir
    M mlir/test/Target/LLVMIR/rocdl.mlir

  Log Message:
  -----------
  [mlir][ROCDL][~NFC] Migrate to LLVM dialect default builders (#125609)

There were a bunch of spots in ROCDL.td where we were defining our own
llvmBuilder call which could have been generated using the default
built-in one on LLVM_IntrOpBase.

This commit cleans up such usages in the interests of potentinally
enabling ROCDL import in the future and of making best practices more
obvious.

The one breaking change is renaming WaitcntOp to SWaitcntOp, which
should have minimal impact.


  Commit: 6575154b6eca80097d77db69ce1ee60c72854ee6
      https://github.com/llvm/llvm-project/commit/6575154b6eca80097d77db69ce1ee60c72854ee6
  Author: funsafe-ptr <funsafe-ptr at proton.me>
  Date:   2025-02-06 (Thu, 06 Feb 2025)

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

  Log Message:
  -----------
   [compiler-rt] Fixed Android 8.1 `getauxval(AT_PAGESZ)` crashes if called from `.preinit_array`. (#113427) (#116121)

Signed-off-by: funsafe-ptr <funsafe-ptr at proton.me>


  Commit: eb2b453eb73dfe0b8cf516dfb4d568c0b858d1fa
      https://github.com/llvm/llvm-project/commit/eb2b453eb73dfe0b8cf516dfb4d568c0b858d1fa
  Author: Simon Pilgrim <llvm-dev at redking.me.uk>
  Date:   2025-02-06 (Thu, 06 Feb 2025)

  Changed paths:
    M llvm/lib/Transforms/Vectorize/VectorCombine.cpp
    M llvm/test/Transforms/VectorCombine/X86/extract-insert-poison.ll
    M llvm/test/Transforms/VectorCombine/X86/extract-insert.ll
    M llvm/test/Transforms/VectorCombine/X86/load.ll
    A llvm/test/Transforms/VectorCombine/X86/pr126085.ll

  Log Message:
  -----------
  [VectorCombine] foldInsExtVectorToShuffle - ensure we call getShuffleCost with the input operand type, not the result

Typo in #121216

Fixes #126085


  Commit: 4717babaf91d151d66229c025f21e3aec685e6e0
      https://github.com/llvm/llvm-project/commit/4717babaf91d151d66229c025f21e3aec685e6e0
  Author: Nick Sarnie <nick.sarnie at intel.com>
  Date:   2025-02-06 (Thu, 06 Feb 2025)

  Changed paths:
    M clang/test/CMakeLists.txt

  Log Message:
  -----------
  [clang-linker-wrapper][lit] Fix SPIR-V OpenMP ELF test (#126098)

Fix for lit fail from https://github.com/llvm/llvm-project/pull/125737

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


  Commit: 8d5f280559c7d17e1e54afe3df738f65f6051386
      https://github.com/llvm/llvm-project/commit/8d5f280559c7d17e1e54afe3df738f65f6051386
  Author: Renaud Kauffmann <rkauffmann at nvidia.com>
  Date:   2025-02-06 (Thu, 06 Feb 2025)

  Changed paths:
    M flang/test/Analysis/AliasAnalysis/alias-analysis-2.fir

  Log Message:
  -----------
  [flang] Adding a couple of tests to the alias analysis (#125917)

To establish a baseline for new tests mentioned in
https://github.com/llvm/llvm-project/pull/117785, adding them here
independently.


  Commit: 2feee52457086d164b0dfe7e7ede8dd20a9a4545
      https://github.com/llvm/llvm-project/commit/2feee52457086d164b0dfe7e7ede8dd20a9a4545
  Author: SunilKuravinakop <98882378+SunilKuravinakop at users.noreply.github.com>
  Date:   2025-02-06 (Thu, 06 Feb 2025)

  Changed paths:
    M clang/docs/OpenMPSupport.rst

  Log Message:
  -----------
  Claiming "threadset clause" for implementation. (#126023)

threadset clause is part of free-agent threads. But, free-agent threads
also involves runtime implementation. So, added an separate entry for
threadset clause and claimed it for clang.

---------

Co-authored-by: Sunil Kuravinakop <kuravina at pe31.hpc.amslabs.hpecorp.net>


  Commit: b884be86406ef1430af1609fc1b6033936afaf18
      https://github.com/llvm/llvm-project/commit/b884be86406ef1430af1609fc1b6033936afaf18
  Author: Amir Ayupov <aaupov at fb.com>
  Date:   2025-02-06 (Thu, 06 Feb 2025)

  Changed paths:
    M bolt/lib/Core/BinaryContext.cpp

  Log Message:
  -----------
  [BOLT] Exit with error code on missing DWO CU (#125976)

If BOLT fails to locate DWO CU when using split DWARF, this signifies an
issue with the input (missing .dwo) rather than an internal assertion.


  Commit: f497fe464bad8743b8a87ba04a5c53579a03711a
      https://github.com/llvm/llvm-project/commit/f497fe464bad8743b8a87ba04a5c53579a03711a
  Author: Andrea Faulds <andrea.faulds at amd.com>
  Date:   2025-02-06 (Thu, 06 Feb 2025)

  Changed paths:
    M mlir/lib/Conversion/UBToSPIRV/UBToSPIRV.cpp
    M mlir/lib/Conversion/VectorToSPIRV/CMakeLists.txt
    M mlir/lib/Conversion/VectorToSPIRV/VectorToSPIRV.cpp
    M mlir/lib/Conversion/VectorToSPIRV/VectorToSPIRVPass.cpp
    M mlir/test/Conversion/UBToSPIRV/ub-to-spirv.mlir
    M mlir/test/Conversion/VectorToSPIRV/vector-to-spirv.mlir

  Log Message:
  -----------
  [mlir][spirv] Fix some issues related to converting ub.poison to SPIR-V (#125905)

This is a follow-up to 5df62bdc9be9c258c5ac45c8093b71e23777fa0e. That
commit should not have needed to make the vector.insert and
vector.extract conversions to SPIR-V directly handle the static poison
index case, as there is a fold from those to ub.poison, and a conversion
pattern from ub.poison to spirv.Undef, however:

- The ub.poison fold result could not be materialized by the vector
dialect (fixed as of d13940ee263ff50b7a71e21424913cc0266bf9d4).
- The conversion pattern wasn't being populated in VectorToSPIRVPass,
which is used by the tests. This commit changes this.
- The ub.poison to spirv.Undef pattern rejected non-scalar types, which
prevented its use for vector results. It is unclear why this restriction
existed; a remark in D156163 said this was to avoid converting "user
types", but it is not obvious why these shouldn't be permitted (the
SPIR-V specification allows OpUndef for all types except OpTypeVoid).
This commit removes this restriction.

With these fixed, this commit removes the redundant static poison index
handling, and updates the tests.


  Commit: 34624d89c0424b4edcfb4b3e0ae67678b5ce3344
      https://github.com/llvm/llvm-project/commit/34624d89c0424b4edcfb4b3e0ae67678b5ce3344
  Author: Ramkumar Ramachandra <ramkumar.ramachandra at codasip.com>
  Date:   2025-02-06 (Thu, 06 Feb 2025)

  Changed paths:
    M llvm/test/Transforms/IndVarSimplify/rewrite-loop-exit-values-phi.ll

  Log Message:
  -----------
  IndVarSimplify: improve a test, stripping undef (#126069)


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

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

  Log Message:
  -----------
  [AMDGPU] Do not enable GPU sanitizers by default (#126090)

Summary:
This probably wasn't the intended result, but the code here causes
OpenMP to always link in `ockl.bc` which was intentionally not linked.
This results in the OCKL definitions conflicting with the OpenMP ones
and also prevents them from being optimized out (Might be fixed with
newer ROCm that actually builds the visibility correctly).

I'm pretty sure the only reason this didn't break the tests is because
we're smart and pass `-nogpulib` there to keep the environment from
being poisoned with stuff like this.


  Commit: dcb124e820b2bf9dda60f66151591155a385580e
      https://github.com/llvm/llvm-project/commit/dcb124e820b2bf9dda60f66151591155a385580e
  Author: Kareem Ergawy <kareem.ergawy at amd.com>
  Date:   2025-02-06 (Thu, 06 Feb 2025)

  Changed paths:
    M flang/lib/Lower/OpenMP/OpenMP.cpp
    M flang/test/Lower/OpenMP/DelayedPrivatization/wsloop.f90
    M flang/test/Lower/OpenMP/Todo/omp-default-clause-inner-loop.f90
    M flang/test/Lower/OpenMP/associate.f90
    M flang/test/Lower/OpenMP/copyin.f90
    M flang/test/Lower/OpenMP/critical.f90
    M flang/test/Lower/OpenMP/default-clause-byref.f90
    M flang/test/Lower/OpenMP/default-clause.f90
    M flang/test/Lower/OpenMP/delayed-privatization-lastprivate-of-private.f90
    M flang/test/Lower/OpenMP/hlfir-wsloop.f90
    M flang/test/Lower/OpenMP/lastprivate-allocatable.f90
    M flang/test/Lower/OpenMP/lastprivate-commonblock.f90
    M flang/test/Lower/OpenMP/lastprivate-iv.f90
    M flang/test/Lower/OpenMP/location.f90
    M flang/test/Lower/OpenMP/order-clause.f90
    M flang/test/Lower/OpenMP/parallel-lastprivate-clause-scalar.f90
    M flang/test/Lower/OpenMP/parallel-private-clause-fixes.f90
    M flang/test/Lower/OpenMP/parallel-private-clause.f90
    M flang/test/Lower/OpenMP/parallel-reduction-allocatable-array.f90
    M flang/test/Lower/OpenMP/parallel-reduction-pointer-array.f90
    M flang/test/Lower/OpenMP/parallel-reduction3.f90
    M flang/test/Lower/OpenMP/parallel-wsloop-firstpriv.f90
    M flang/test/Lower/OpenMP/parallel-wsloop-lastpriv.f90
    M flang/test/Lower/OpenMP/parallel-wsloop-reduction-byref.f90
    M flang/test/Lower/OpenMP/parallel-wsloop-reduction.f90
    M flang/test/Lower/OpenMP/parallel-wsloop.f90
    M flang/test/Lower/OpenMP/scan.f90
    M flang/test/Lower/OpenMP/stop-stmt-in-region.f90
    M flang/test/Lower/OpenMP/target.f90
    M flang/test/Lower/OpenMP/unstructured.f90
    M flang/test/Lower/OpenMP/wsloop-chunks.f90
    M flang/test/Lower/OpenMP/wsloop-collapse.f90
    M flang/test/Lower/OpenMP/wsloop-monotonic.f90
    M flang/test/Lower/OpenMP/wsloop-nonmonotonic.f90
    M flang/test/Lower/OpenMP/wsloop-ordered.f90
    M flang/test/Lower/OpenMP/wsloop-reduction-add-byref.f90
    M flang/test/Lower/OpenMP/wsloop-reduction-add.f90
    M flang/test/Lower/OpenMP/wsloop-reduction-allocatable-array-minmax.f90
    M flang/test/Lower/OpenMP/wsloop-reduction-allocatable.f90
    M flang/test/Lower/OpenMP/wsloop-reduction-array-assumed-shape.f90
    M flang/test/Lower/OpenMP/wsloop-reduction-array.f90
    M flang/test/Lower/OpenMP/wsloop-reduction-array2.f90
    M flang/test/Lower/OpenMP/wsloop-reduction-iand-byref.f90
    M flang/test/Lower/OpenMP/wsloop-reduction-iand.f90
    M flang/test/Lower/OpenMP/wsloop-reduction-ieor-byref.f90
    M flang/test/Lower/OpenMP/wsloop-reduction-ieor.f90
    M flang/test/Lower/OpenMP/wsloop-reduction-ior-byref.f90
    M flang/test/Lower/OpenMP/wsloop-reduction-ior.f90
    M flang/test/Lower/OpenMP/wsloop-reduction-logical-and-byref.f90
    M flang/test/Lower/OpenMP/wsloop-reduction-logical-and.f90
    M flang/test/Lower/OpenMP/wsloop-reduction-logical-eqv-byref.f90
    M flang/test/Lower/OpenMP/wsloop-reduction-logical-eqv.f90
    M flang/test/Lower/OpenMP/wsloop-reduction-logical-neqv-byref.f90
    M flang/test/Lower/OpenMP/wsloop-reduction-logical-neqv.f90
    M flang/test/Lower/OpenMP/wsloop-reduction-logical-or-byref.f90
    M flang/test/Lower/OpenMP/wsloop-reduction-logical-or.f90
    M flang/test/Lower/OpenMP/wsloop-reduction-max-2-byref.f90
    M flang/test/Lower/OpenMP/wsloop-reduction-max-2.f90
    M flang/test/Lower/OpenMP/wsloop-reduction-max-byref.f90
    M flang/test/Lower/OpenMP/wsloop-reduction-max.f90
    M flang/test/Lower/OpenMP/wsloop-reduction-min-byref.f90
    M flang/test/Lower/OpenMP/wsloop-reduction-min.f90
    M flang/test/Lower/OpenMP/wsloop-reduction-min2.f90
    M flang/test/Lower/OpenMP/wsloop-reduction-mul-byref.f90
    M flang/test/Lower/OpenMP/wsloop-reduction-mul.f90
    M flang/test/Lower/OpenMP/wsloop-reduction-multi.f90
    M flang/test/Lower/OpenMP/wsloop-reduction-multiple-clauses.f90
    M flang/test/Lower/OpenMP/wsloop-reduction-pointer.f90
    M flang/test/Lower/OpenMP/wsloop-schedule.f90
    M flang/test/Lower/OpenMP/wsloop-unstructured.f90
    M flang/test/Lower/OpenMP/wsloop-variable.f90
    M flang/test/Lower/OpenMP/wsloop.f90
    A mlir/test/Target/LLVMIR/openmp-target-wsloop-private.mlir

  Log Message:
  -----------
  [flang][OpenMP] Enable delayed privatization by default `omp.wsloop` (#125732)

Reapplies #122471

This is based on https://github.com/llvm/llvm-project/pull/125699, only
the latest commit is relevant.

With changes in this PR and the parent one, the previously reported
failures in the Fujitsu(*) test suite should hopefully be resolved (I
verified all the 14 reported failures and they pass now).

(*) https://linaro.atlassian.net/browse/LLVM-1521


  Commit: f5d24e6cbe07902bad620df291f6172b50a7271e
      https://github.com/llvm/llvm-project/commit/f5d24e6cbe07902bad620df291f6172b50a7271e
  Author: Ramkumar Ramachandra <ramkumar.ramachandra at codasip.com>
  Date:   2025-02-06 (Thu, 06 Feb 2025)

  Changed paths:
    M llvm/lib/Analysis/ScalarEvolution.cpp
    M llvm/test/Analysis/ScalarEvolution/exit-count-samesign.ll
    M llvm/test/Analysis/ScalarEvolution/implied-via-division.ll
    M llvm/test/Transforms/IndVarSimplify/iv-ext-samesign.ll

  Log Message:
  -----------
  SCEV: teach isImpliedViaOperations about samesign (#124270)

Use CmpPredicate::getMatching in isImpliedCondBalancedTypes to pass
samesign information to isImpliedViaOperations, and teach it to call
CmpPredicate::getPreferredSignedPredicate, effectively making it
optimize with samesign information.


  Commit: 16f7e961c600986de7814822fd118f431e0bb433
      https://github.com/llvm/llvm-project/commit/16f7e961c600986de7814822fd118f431e0bb433
  Author: Jeffrey Byrnes <jeffrey.byrnes at amd.com>
  Date:   2025-02-06 (Thu, 06 Feb 2025)

  Changed paths:
    M llvm/lib/Target/AMDGPU/GCNSchedStrategy.cpp
    M llvm/lib/Target/AMDGPU/GCNSchedStrategy.h
    M llvm/test/CodeGen/AMDGPU/machine-scheduler-sink-trivial-remats.mir
    M llvm/test/CodeGen/AMDGPU/sched-assert-dead-def-subreg-use-other-subreg.mir

  Log Message:
  -----------
  [AMDGPU] Allow rematerialization of instructions with virtual register uses (#124327)

Remove the restriction that scheduling rematerialization candidates
cannot have virtual reg uses.

Currently, this only allows for virtual reg uses which are already live
at the rematerialization point, so bring in allUsesAvailableAt to check
for this condition. Because of this condition, the uses of the remats
will already be live in to the region, so the remat won't increase
live-in pressure.

Add an expensive check to check this condition.


  Commit: 1117568dadd5519e6f376fe33a074aa1f7382b1b
      https://github.com/llvm/llvm-project/commit/1117568dadd5519e6f376fe33a074aa1f7382b1b
  Author: Nikolas Klauser <nikolasklauser at berlin.de>
  Date:   2025-02-06 (Thu, 06 Feb 2025)

  Changed paths:
    M libcxx/include/__vector/vector.h
    M libcxx/include/string

  Log Message:
  -----------
  [libc++][NFC] Remove __default_allocator_type aliases (#126066)

These aliases are never used, so we can ditch them.


  Commit: 2ef2587ae9d97d9325e9ecd11bcf4e3dff02e119
      https://github.com/llvm/llvm-project/commit/2ef2587ae9d97d9325e9ecd11bcf4e3dff02e119
  Author: Nikolas Klauser <nikolasklauser at berlin.de>
  Date:   2025-02-06 (Thu, 06 Feb 2025)

  Changed paths:
    M libcxx/include/string

  Log Message:
  -----------
  [libc++][NFC] Inline the simple observer functions into the basic_string definition (#126061)

Having them defined ouf-of-line results in a significant amount of
boilerplate without improving readability, since they're just one or two
lines long anyways.

As a drive-by, add comments between the declarations to make them easier
to distinguish.


  Commit: 932d0ce32540467260bb04f6ee1ecd98a4efa245
      https://github.com/llvm/llvm-project/commit/932d0ce32540467260bb04f6ee1ecd98a4efa245
  Author: Craig Topper <craig.topper at sifive.com>
  Date:   2025-02-06 (Thu, 06 Feb 2025)

  Changed paths:
    M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
    M llvm/test/CodeGen/RISCV/select-const.ll

  Log Message:
  -----------
  Recommit "[RISCV] Prefer (select (x < 0), y, z)  -> x >> (XLEN - 1) & (y - z) + z even with Zicond. (#125772)"

With the test changes.

Original message:

The Zicond version of this requires an li instruction and an
additional register.

Without Zicond we match this in a DAGCombine on RISCVISD::SELECT_CC.

This PR has 2 commits. I'll pre-commit the test change if this looks
good.


  Commit: 5c3d1463ed5c37fcf3a0bd2128e357e7332267f4
      https://github.com/llvm/llvm-project/commit/5c3d1463ed5c37fcf3a0bd2128e357e7332267f4
  Author: Simon Pilgrim <llvm-dev at redking.me.uk>
  Date:   2025-02-06 (Thu, 06 Feb 2025)

  Changed paths:
    M llvm/test/CodeGen/X86/avx512-arith.ll

  Log Message:
  -----------
  [X86] avx512-arith.ll - regenerate VPTERNLOG comments


  Commit: 975bba6f4b977efa468a5a07814786cf5da660fc
      https://github.com/llvm/llvm-project/commit/975bba6f4b977efa468a5a07814786cf5da660fc
  Author: Kazu Hirata <kazu at google.com>
  Date:   2025-02-06 (Thu, 06 Feb 2025)

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

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


  Commit: 91c188b8e901ca1a6fe4463fc3c30cd5fce788cc
      https://github.com/llvm/llvm-project/commit/91c188b8e901ca1a6fe4463fc3c30cd5fce788cc
  Author: Kazu Hirata <kazu at google.com>
  Date:   2025-02-06 (Thu, 06 Feb 2025)

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

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


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

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

  Log Message:
  -----------
  [X86] Avoid repeated hash lookups (NFC) (#126006)


  Commit: 337604ee7e838fee937e2b310604b57e3c583ba7
      https://github.com/llvm/llvm-project/commit/337604ee7e838fee937e2b310604b57e3c583ba7
  Author: Rahul Joshi <rjoshi at nvidia.com>
  Date:   2025-02-06 (Thu, 06 Feb 2025)

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

  Log Message:
  -----------
  [NFC][TableGen] Adopt `Emitter::OptClass` in InstrInfoEmitter (#125971)

- Use `Emitter::OptClass` to invoke `InstrInfoEmitter::run` and
eliminate the `EmitInstrInfo` function.


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

  Changed paths:
    M llvm/lib/DebugInfo/DWARF/DWARFContext.cpp
    M llvm/lib/DebugInfo/DWARF/DWARFDebugLine.cpp
    M llvm/test/tools/llvm-symbolizer/skip-line-zero.s
    M llvm/test/tools/llvm-symbolizer/sym-verbose.test

  Log Message:
  -----------
  Symbolize line zero as if no source info is available (#124846)

Since line zero means "no line information", when symbolizing a location
(an address or an inline frame associated with the address) that has a
line zero location, we shouldn't include other irrelevant data (like
filename) in the result.


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

  Changed paths:
    M llvm/lib/Transforms/Scalar/NaryReassociate.cpp
    M llvm/test/Transforms/NaryReassociate/nary-gep.ll

  Log Message:
  -----------
  [NaryReassociate] Fix crash from pointer width / index width confusion (#125923)

NaryReassociate would crash on expressions like the one in the added
test that involved pointers where the size of the type was greater than
the index width of the pointer, causing calls to SCEV's zext expression
on types that didn't need to be zero-extended.

This commit fixes the issue.


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

  Changed paths:
    M mlir/include/mlir/Conversion/ComplexToLLVM/ComplexToLLVM.h
    M mlir/include/mlir/Conversion/LLVMCommon/MemRefBuilder.h
    M mlir/include/mlir/Conversion/LLVMCommon/StructBuilder.h
    M mlir/lib/Conversion/ArmSMEToLLVM/ArmSMEToLLVM.cpp
    M mlir/lib/Conversion/ComplexToLLVM/ComplexToLLVM.cpp
    M mlir/lib/Conversion/FuncToLLVM/FuncToLLVM.cpp
    M mlir/lib/Conversion/GPUCommon/GPUOpsLowering.cpp
    M mlir/lib/Conversion/GPUToNVVM/WmmaOpsToNvvm.cpp
    M mlir/lib/Conversion/LLVMCommon/MemRefBuilder.cpp
    M mlir/lib/Conversion/LLVMCommon/Pattern.cpp
    M mlir/lib/Conversion/LLVMCommon/VectorPattern.cpp
    M mlir/lib/Conversion/MemRefToLLVM/MemRefToLLVM.cpp
    M mlir/lib/Conversion/NVGPUToNVVM/NVGPUToNVVM.cpp
    M mlir/lib/Conversion/SPIRVToLLVM/SPIRVToLLVM.cpp
    M mlir/lib/Conversion/VectorToLLVM/ConvertVectorToLLVM.cpp
    M mlir/lib/Dialect/SparseTensor/Transforms/SparseStorageSpecifierToLLVM.cpp
    M mlir/test/Conversion/ArithToLLVM/convert-nd-vector-to-llvmir.mlir
    M mlir/test/Conversion/ComplexToLLVM/convert-to-llvm.mlir
    M mlir/test/Conversion/ComplexToLLVM/full-conversion.mlir
    M mlir/test/Conversion/FuncToLLVM/calling-convention.mlir
    M mlir/test/Conversion/FuncToLLVM/func-memref-return.mlir
    M mlir/test/Conversion/FuncToLLVM/func-to-llvm.mlir
    M mlir/test/Conversion/GPUCommon/memory-attrbution.mlir
    M mlir/test/Conversion/GPUToLLVMSPV/gpu-to-llvm-spv.mlir
    M mlir/test/Conversion/GPUToNVVM/gpu-to-nvvm.mlir
    M mlir/test/Conversion/GPUToNVVM/wmma-ops-to-nvvm.mlir
    M mlir/test/Conversion/GPUToROCDL/gpu-to-rocdl.mlir
    M mlir/test/Conversion/MemRefToLLVM/convert-dynamic-memref-ops.mlir
    M mlir/test/Conversion/MemRefToLLVM/convert-static-memref-ops.mlir
    M mlir/test/Conversion/MemRefToLLVM/expand-then-convert-to-llvm.mlir
    M mlir/test/Conversion/MemRefToLLVM/memref-to-llvm.mlir
    M mlir/test/Conversion/NVGPUToNVVM/nvgpu-to-nvvm.mlir
    M mlir/test/Conversion/SPIRVToLLVM/bitwise-ops-to-llvm.mlir
    M mlir/test/Conversion/SPIRVToLLVM/misc-ops-to-llvm.mlir
    M mlir/test/Conversion/VectorToLLVM/vector-to-llvm.mlir
    M mlir/test/Dialect/GPU/dynamic-shared-memory.mlir
    M mlir/test/Dialect/LLVM/lower-to-llvm-e2e-with-target-tag.mlir
    M mlir/test/Dialect/LLVM/lower-to-llvm-e2e-with-top-level-named-sequence.mlir
    M mlir/test/Dialect/SparseTensor/specifier_to_llvm.mlir
    M mlir/test/Examples/transform/ChH/full.mlir

  Log Message:
  -----------
  [mlir][LLVM] Switch `undef` for `poison` for uninitialized values (#125629)

LLVM itself is generally moving away from using `undef` and towards
using `poison`, to the point of having a lint that caches new uses of
`undef` in tests.

In order to not trip the lint on new patterns and to conform to the
evolution of LLVM
- Rename valious ::undef() methods on StructBuilder subclasses to
::poison()
- Audit the uses of UndefOp in the MLIR libraries and replace almost all
of them with PoisonOp

The remaining uses of `undef` are initializing `uninitialized` memrefs,
explicit conversions to undef from SPIR-V, and a few cases in
AMDGPUToROCDL where usage like

    %v = insertelement <M x iN> undef, iN %v, i32 0
    %arg = bitcast <M x iN> %v to i(M * N)

is used to handle "i32" arguments that are are really packed vectors of
smaller types that won't always be fully initialized.


  Commit: 5492199a9aa4b5d31c38e36928ac153570091d6d
      https://github.com/llvm/llvm-project/commit/5492199a9aa4b5d31c38e36928ac153570091d6d
  Author: Michael Buch <michaelbuch12 at gmail.com>
  Date:   2025-02-06 (Thu, 06 Feb 2025)

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

  Log Message:
  -----------
  [llvm][AsmWriter] Don't skip zero-valued DwarfEnum MDField when ShouldSkipZero is not set (#126044)

I ran into this while working on a different patch where I'm emitting a
zero-valued DWARF enum field which shouldn't be skipped.

This patch checks the (currently unused) `ShouldSkipZero` before
deciding to skip printing this field. Based on git history this seems
like an oversight from the initial refactor that introduced this. We
have a similar check in `printInt`.

Wasn't sure how to best test this, but tests in an upcoming patch rely
on this functionality (see
https://github.com/llvm/llvm-project/pull/126045).

Currently the only place `ShouldSkipZero` is set to `false` is when
emitting the `DW_LANG_` enum. But the language codes start at `0x1`. So
it never exercised this codepath (and we should probably just make it
not pass this parameter).


  Commit: a183184e08aab6e4921c7817d117b0f850794d38
      https://github.com/llvm/llvm-project/commit/a183184e08aab6e4921c7817d117b0f850794d38
  Author: Nick Sarnie <nick.sarnie at intel.com>
  Date:   2025-02-06 (Thu, 06 Feb 2025)

  Changed paths:
    M clang/test/Tooling/clang-linker-wrapper-spirv-elf.cpp

  Log Message:
  -----------
  [clang-linker-wrapper][lit] Temporarily disable OpenMP SPIR-V ELF test (#126104)

The fix requires more investigation, and it's a test issue so reverting
the product changes should not be necessary.

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


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

  Changed paths:
    M clang-tools-extra/test/clang-doc/basic-project.test

  Log Message:
  -----------
  [clang-doc] Precommit end-to-end test for `--repository` option (#122565)

We test the `--repository` output in the unit tests, but that option fails to
change the HTML output in the end-to-end tests. Upcoming patches will address
the incorrect behavior.


  Commit: f2bca9e3856bd070320473a016f706bf84a5dd5e
      https://github.com/llvm/llvm-project/commit/f2bca9e3856bd070320473a016f706bf84a5dd5e
  Author: Md Asghar Ahmad Shahid <md.asghar.ahmad.shahid at intel.com>
  Date:   2025-02-06 (Thu, 06 Feb 2025)

  Changed paths:
    M mlir/include/mlir/Dialect/Linalg/IR/LinalgInterfaces.td
    M mlir/include/mlir/Dialect/Linalg/IR/LinalgNamedStructuredOps.yaml
    M mlir/include/mlir/Dialect/Linalg/IR/LinalgStructuredOps.td
    M mlir/lib/Dialect/Linalg/IR/LinalgOps.cpp
    M mlir/lib/Dialect/Linalg/Transforms/BlockPackMatmul.cpp
    M mlir/lib/Dialect/Linalg/Transforms/DropUnitDims.cpp
    M mlir/lib/Dialect/Linalg/Transforms/TransposeMatmul.cpp
    M mlir/python/mlir/dialects/linalg/opdsl/ops/core_named_ops.py
    M mlir/test/Dialect/Linalg/generalize-named-ops.mlir
    M mlir/test/Dialect/Linalg/invalid.mlir
    M mlir/test/Dialect/Linalg/named-ops.mlir
    M mlir/test/Dialect/Linalg/rank-reduce-contraction-ops.mlir

  Log Message:
  -----------
  [MLIR][Linalg] Introduce broadcast/transpose semantic to batch_matmul (#122275)

Goals:
1. To add syntax and semantic to 'batch_matmul' without changing any of
the existing syntax expectations for current usage. batch_matmul is
still just batch_matmul.

2. Move the definition of batch_matmul from linalg OpDsl to tablegen ODS
infra.

Scope of this patch:
To expose broadcast and transpose semantics on the 'batch_matmul'.

The broadcast and transpose semantic are as follows:

By default, 'linalg.batch_matmul' behavior will remain as is. Broadcast
and Transpose semantics can be applied by specifying the explicit
attribute 'indexing_maps' as shown below. This is a list attribute, so
the list must include all the maps if specified.

    Example Transpose:
    ```
    linalg.batch_matmul indexing_maps = [
affine_map< (d0, d1, d2, d3) -> (d0, d3, d1)>, //transpose
                   affine_map< (d0, d1, d2, d3) -> (d0, d3, d2)>,
                   affine_map< (d0, d1, d2, d3) -> (d0, d1, d2)>
                   ]
ins (%arg0, %arg1: memref<2x5x3xf32>,memref<2x5x7xf32>)
                   outs (%arg2: memref<2x3x7xf32>)
    ```

    Example Broadcast:
    ```
    linalg.batch_matmul indexing_maps = [
affine_map< (d0, d1, d2, d3) -> (d3)>, //broadcast
                       affine_map< (d0, d1, d2, d3) -> (d0, d3, d2)>,
                       affine_map< (d0, d1, d2, d3) -> (d0, d1, d2)>
                     ]
                     ins (%arg0, %arg1: memref<5xf32>,memref<2x5x7xf32>)
                     outs (%arg2: memref<2x3x7xf32>)
    ```

    Example Broadcast and transpose:
    ```
    linalg.batch_matmul indexing_maps = [
affine_map< (d0, d1, d2, d3) -> (d1, d3)>, //broadcast
affine_map< (d0, d1, d2, d3) -> (d0, d2, d3)>, //transpose
                       affine_map< (d0, d1, d2, d3) -> (d0, d1, d2)>
                     ]
ins (%arg0, %arg1: memref<3x5xf32>, memref<2x7x5xf32>)
                     outs (%arg2: memref<2x3x7xf32>)
    ```

RFCs and related PR:

https://discourse.llvm.org/t/rfc-linalg-opdsl-constant-list-attribute-definition/80149
https://discourse.llvm.org/t/rfc-op-explosion-in-linalg/82863
https://discourse.llvm.org/t/rfc-mlir-linalg-operation-tree/83586
https://github.com/llvm/llvm-project/pull/115319


  Commit: c4d75b1e9b9c22577032ba68b7560481027b4b8a
      https://github.com/llvm/llvm-project/commit/c4d75b1e9b9c22577032ba68b7560481027b4b8a
  Author: Michael Buch <michaelbuch12 at gmail.com>
  Date:   2025-02-06 (Thu, 06 Feb 2025)

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

  Log Message:
  -----------
  [lldb][DWARFASTParser][NFC] Fix doxygen comment


  Commit: e40610d7626a4c8eb760979176f0dce79cba6165
      https://github.com/llvm/llvm-project/commit/e40610d7626a4c8eb760979176f0dce79cba6165
  Author: Haojian Wu <hokein.wu at gmail.com>
  Date:   2025-02-06 (Thu, 06 Feb 2025)

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

  Log Message:
  -----------
  [bazel] Port for f497fe464bad8743b8a87ba04a5c53579a03711a


  Commit: b2bd3a45ec3f35eaeddf1321c9f8a0295bb125df
      https://github.com/llvm/llvm-project/commit/b2bd3a45ec3f35eaeddf1321c9f8a0295bb125df
  Author: Justin Fargnoli <jfargnoli at nvidia.com>
  Date:   2025-02-06 (Thu, 06 Feb 2025)

  Changed paths:
    M llvm/test/CodeGen/NVPTX/unrecognized-sm1x.ll

  Log Message:
  -----------
  [NVPTX] Require asserts in `unrecognized-sm1x.ll` (#126105)

Fix clang-with-thin-lto-ubuntu - failed build


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

  Changed paths:
    M offload/test/sanitizer/kernel_trap.c

  Log Message:
  -----------
  Update test for symbolizer fix


  Commit: 1a7e79b85dfbce32ccab6b4fb7fc3b1906f1d997
      https://github.com/llvm/llvm-project/commit/1a7e79b85dfbce32ccab6b4fb7fc3b1906f1d997
  Author: Paul Kirth <paulkirth at google.com>
  Date:   2025-02-06 (Thu, 06 Feb 2025)

  Changed paths:
    M clang-tools-extra/clang-doc/HTMLGenerator.cpp
    M clang-tools-extra/test/clang-doc/Inputs/basic-project/src/Circle.cpp
    M clang-tools-extra/test/clang-doc/basic-project.test
    M clang-tools-extra/unittests/clang-doc/HTMLGeneratorTest.cpp

  Log Message:
  -----------
  [clang-doc] Make `--repository` change the HTML output (#122566)

The current check in writeFileDefinition() is incorrect, and prevents us
from ever emitting the URL from the clang-doc tool. The unit tests do
test this, but call the API directly circumventing the check.

This is the first step towards addressing #59814.


  Commit: ec7167bac7c89b43449dbce81e65fb09e5d27cb5
      https://github.com/llvm/llvm-project/commit/ec7167bac7c89b43449dbce81e65fb09e5d27cb5
  Author: PiJoules <6019989+PiJoules at users.noreply.github.com>
  Date:   2025-02-06 (Thu, 06 Feb 2025)

  Changed paths:
    M libc/config/baremetal/config.json

  Log Message:
  -----------
  [libc] Disable fixed point printing for baremetal (#126115)

This follows suite with disabling float printing.


  Commit: 068d0c0f4b8d3c47f2a9c3680d96f91a2a1e1c9c
      https://github.com/llvm/llvm-project/commit/068d0c0f4b8d3c47f2a9c3680d96f91a2a1e1c9c
  Author: Lei Wang <wlei at fb.com>
  Date:   2025-02-06 (Thu, 06 Feb 2025)

  Changed paths:
    M llvm/lib/Transforms/IPO/SampleProfile.cpp
    M llvm/lib/Transforms/IPO/SampleProfileMatcher.cpp
    M llvm/test/Transforms/SampleProfile/pseudo-probe-callee-profile-mismatch.ll
    M llvm/test/Transforms/SampleProfile/pseudo-probe-profile-mismatch-thinlto.ll
    M llvm/test/Transforms/SampleProfile/pseudo-probe-profile-mismatch.ll

  Log Message:
  -----------
  [CSSPGO] Turn on call-graph matching by default for CSSPGO (#125938)

Tested call-graph matching on some of Meta's large services, it works to
reuse some renamed function profiles, no negative perf or significant
build speed regression observed. Turned it on by default for CSSPGO
mode.


  Commit: 48da1e22e2d789673066ce51fa648f5f1e6a0887
      https://github.com/llvm/llvm-project/commit/48da1e22e2d789673066ce51fa648f5f1e6a0887
  Author: Thurston Dang <thurston at google.com>
  Date:   2025-02-06 (Thu, 06 Feb 2025)

  Changed paths:
    A llvm/test/Instrumentation/MemorySanitizer/AArch64/arm64-cvt.ll
    A llvm/test/Instrumentation/MemorySanitizer/AArch64/arm64-vcvt.ll

  Log Message:
  -----------
  [msan][NFCI] Add tests for Arm NEON vector convert (#126095)

Suboptimally handled by visitInstruction: llvm.aarch64.neon.
- fcvtas, fcvtau
- fcvtms, fcvtmu
- fcvtns, fcvtnu
- fcvtps, fcvtpu
- fcvtzs, fcvtzu
- fcvtxn
- vcvtfp2fxs, vcvtfp2fxu
- vcvtfxs2fp, vcvtfxu2fp

Forked from llvm/test/CodeGen/AArch64/arm64-{cvt,vcvt}.ll


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

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

  Log Message:
  -----------
  [OpenMP] Fix misspelled symbol name (#126120)

Summary:
This is supposed to be `__llvm_rpc_client` but I screwed it up and
didn't notice at the time. Will need to be backported.


  Commit: 6dc41a639334b913e762f65410fcd14a722b137f
      https://github.com/llvm/llvm-project/commit/6dc41a639334b913e762f65410fcd14a722b137f
  Author: Renaud Kauffmann <rkauffmann at nvidia.com>
  Date:   2025-02-06 (Thu, 06 Feb 2025)

  Changed paths:
    M flang/lib/Optimizer/Analysis/AliasAnalysis.cpp

  Log Message:
  -----------
  [flang][NFC] Moving alias analysis utilities utilities together. Adding new utility. (#125925)

1. Our static functions are a bit spread out in this file. I am
gathering them in an anonymous namespace
2. Moving the code to get the `target` attribute on a `fir.global` into
its own utility.


  Commit: 788c88e2f6bb028ebb53af52624b93a733d34a2b
      https://github.com/llvm/llvm-project/commit/788c88e2f6bb028ebb53af52624b93a733d34a2b
  Author: vporpo <vporpodas at google.com>
  Date:   2025-02-06 (Thu, 06 Feb 2025)

  Changed paths:
    M llvm/include/llvm/Transforms/Vectorize/SandboxVectorizer/DependencyGraph.h
    M llvm/lib/Transforms/Vectorize/SandboxVectorizer/DependencyGraph.cpp
    M llvm/lib/Transforms/Vectorize/SandboxVectorizer/Scheduler.cpp
    M llvm/unittests/Transforms/Vectorize/SandboxVectorizer/DependencyGraphTest.cpp

  Log Message:
  -----------
  [SandboxVec][DependencyGraph] Fix dependency node iterators (#125616)

This patch fixes a bug in the dependency node iterators that would
incorrectly not skip nodes that are not in the current DAG. This
resulted in iterators returning nullptr when dereferenced.

The fix is to update the existing "skip" function to not only skip
non-instruction values but also to skip instructions not in the DAG.


  Commit: f6162108c06b7c1d38bd53d125a13677d4fa5a19
      https://github.com/llvm/llvm-project/commit/f6162108c06b7c1d38bd53d125a13677d4fa5a19
  Author: Adrian Vogelsgesang <avogelsgesang at salesforce.com>
  Date:   2025-02-06 (Thu, 06 Feb 2025)

  Changed paths:
    M lldb/tools/lldb-dap/package-lock.json
    M lldb/tools/lldb-dap/package.json

  Log Message:
  -----------
  [lldb-dap] Update npm dependencies (#125832)

This commit upgrades our npm dependencies to the latest available
version.

I was prompted to this change because `npm run package` failed for me
with an error. The error disappeared after upgrading `@vscode/vsce`. I
also upgraded the other dependencies because I think it's generally
preferable to stay up-to-date.

I did not bump the `@types/vscode` and `@types/node` versions, since
this would effectively make older VS-Code versions unsupported. I also
changed `@types/vscode` to be a precise version match, since we are
claiming compatibility with that version via the `enginges.vscode`
property.


  Commit: b93f8b8a97193e38f393dc07bd7945d331558e23
      https://github.com/llvm/llvm-project/commit/b93f8b8a97193e38f393dc07bd7945d331558e23
  Author: Qiongsi Wu <qiongsiwu at gmail.com>
  Date:   2025-02-06 (Thu, 06 Feb 2025)

  Changed paths:
    M clang/include/module.modulemap

  Log Message:
  -----------
  [Modules] Fix missing module dependency introduced by 7347870 (#126007)

73478708839fad8b02b3cfc84959d64a15ba93ca introduced a textual header but
did not update clang's module map. This PR adds the header to the module
map.


  Commit: a5fc7c3ac153bddab7c9d3464f17037dd5945de6
      https://github.com/llvm/llvm-project/commit/a5fc7c3ac153bddab7c9d3464f17037dd5945de6
  Author: David Pagan <dave.pagan at amd.com>
  Date:   2025-02-06 (Thu, 06 Feb 2025)

  Changed paths:
    M clang/docs/OpenMPSupport.rst
    M clang/docs/ReleaseNotes.rst
    M clang/include/clang/AST/OpenMPClause.h
    M clang/include/clang/AST/RecursiveASTVisitor.h
    M clang/include/clang/Basic/AttrDocs.td
    M clang/lib/AST/OpenMPClause.cpp
    M clang/lib/AST/StmtProfile.cpp
    M clang/lib/Parse/ParseOpenMP.cpp
    M clang/lib/Sema/SemaOpenMP.cpp
    M clang/lib/Sema/TreeTransform.h
    M clang/lib/Serialization/ASTReader.cpp
    M clang/lib/Serialization/ASTWriter.cpp
    M clang/test/OpenMP/assume_lambda.cpp
    M clang/test/OpenMP/assume_nesting_tmpl.cpp
    M clang/test/OpenMP/assume_template.cpp
    M clang/test/OpenMP/assumes_codegen.cpp
    M clang/test/OpenMP/assumes_messages.c
    M clang/test/OpenMP/assumes_messages_attr.c
    M clang/test/OpenMP/assumes_print.cpp
    M clang/test/OpenMP/attr-assume.cpp
    M clang/tools/libclang/CIndex.cpp
    M llvm/include/llvm/Frontend/OpenMP/OMP.td
    M llvm/include/llvm/Frontend/OpenMP/OMPKinds.def
    M llvm/lib/IR/Assumptions.cpp
    M llvm/lib/Transforms/IPO/OpenMPOpt.cpp
    M llvm/test/Transforms/OpenMP/icv_tracking.ll

  Log Message:
  -----------
  [clang][OpenMP] New OpenMP 6.0 assumption clause, 'no_openmp_constructs' (#125933)

Add initial parsing/sema support for new assumption clause so clause can
be specified. For now, it's ignored, just like the others.

Added support for 'no_openmp_construct' to release notes.

Testing
- Updated appropriate LIT tests.
- Testing: check-all


  Commit: 624dc00e766a1554febea289ec0f3a90f0c8047c
      https://github.com/llvm/llvm-project/commit/624dc00e766a1554febea289ec0f3a90f0c8047c
  Author: Sam Elliott <quic_aelliott at quicinc.com>
  Date:   2025-02-06 (Thu, 06 Feb 2025)

  Changed paths:
    M llvm/test/CodeGen/RISCV/callee-saved-gprs.ll
    M llvm/test/CodeGen/RISCV/push-pop-popret.ll
    M llvm/test/CodeGen/RISCV/rvv/rv32-spill-vector-csr.ll

  Log Message:
  -----------
  [RISCV][NFC] Remove nounwind from push/pop tests (#125939)

These tests are for frame handling code with push/pop. To increase
coverage of CFI/Unwind info, this removes the `nounwind` annotations and
regenerates the checks for this test.


  Commit: 02fa340711d9b990b50a0daf65eb850404884137
      https://github.com/llvm/llvm-project/commit/02fa340711d9b990b50a0daf65eb850404884137
  Author: Michael Kruse <llvm-project at meinersbur.de>
  Date:   2025-02-06 (Thu, 06 Feb 2025)

  Changed paths:
    A flang/include/flang/Testing/fp-testing.h
    A flang/include/flang/Testing/testing.h
    M flang/lib/CMakeLists.txt
    A flang/lib/Testing/CMakeLists.txt
    A flang/lib/Testing/fp-testing.cpp
    A flang/lib/Testing/testing.cpp
    M flang/unittests/Evaluate/CMakeLists.txt
    M flang/unittests/Evaluate/ISO-Fortran-binding.cpp
    M flang/unittests/Evaluate/bit-population-count.cpp
    M flang/unittests/Evaluate/expression.cpp
    M flang/unittests/Evaluate/folding.cpp
    R flang/unittests/Evaluate/fp-testing.cpp
    R flang/unittests/Evaluate/fp-testing.h
    M flang/unittests/Evaluate/integer.cpp
    M flang/unittests/Evaluate/intrinsics.cpp
    M flang/unittests/Evaluate/leading-zero-bit-count.cpp
    M flang/unittests/Evaluate/logical.cpp
    M flang/unittests/Evaluate/real.cpp
    M flang/unittests/Evaluate/reshape.cpp
    R flang/unittests/Evaluate/testing.cpp
    R flang/unittests/Evaluate/testing.h
    M flang/unittests/Evaluate/uint128.cpp

  Log Message:
  -----------
  [Flang] Promote FortranEvaluateTesting library (#124417)

The non-GTest library will be shared by unittests of Flang and Flang-RT.
Promote it as a regular library for use by both projects.

In the long term, we may want to convert these to regular GTest checks
to avoid having multiple testing frameworks.


  Commit: 4c8acbded152326ad138e1af340c0dbd5e31bbb7
      https://github.com/llvm/llvm-project/commit/4c8acbded152326ad138e1af340c0dbd5e31bbb7
  Author: Alan Zhao <ayzhao at google.com>
  Date:   2025-02-06 (Thu, 06 Feb 2025)

  Changed paths:
    M libc/test/src/stdio/fileop_test.cpp

  Log Message:
  -----------
  [libc][minor] Fix assertion in LlvmLibcFILETest.SimpleFileOperations (#126109)

The file descriptor of the first opened file is not necessarily 3, so we
change the assertion so that it's >= 0 (i.e. not an error.)

Fixes #126106


  Commit: 049aa179dc37341c3f17d3e078231c9a886bcf51
      https://github.com/llvm/llvm-project/commit/049aa179dc37341c3f17d3e078231c9a886bcf51
  Author: Florian Hahn <flo at fhahn.com>
  Date:   2025-02-06 (Thu, 06 Feb 2025)

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

  Log Message:
  -----------
  [VPlan] Simplify operand tuple matching in VPlanPatternMatch (NFC).

Remove some indirection when matching recipe and matcher operands by
directly using fold over parameter pack.


  Commit: da053415d214d6a66ff5f8c69eb35b2c9ada9caf
      https://github.com/llvm/llvm-project/commit/da053415d214d6a66ff5f8c69eb35b2c9ada9caf
  Author: Sinkevich Artem <artsin666 at gmail.com>
  Date:   2025-02-06 (Thu, 06 Feb 2025)

  Changed paths:
    M clang/docs/SourceBasedCodeCoverage.rst
    M clang/docs/UsersManual.rst
    M compiler-rt/lib/profile/InstrProfilingFile.c
    A compiler-rt/test/profile/Linux/binary-id-path.c

  Log Message:
  -----------
  [profile] Add `%b` `LLVM_PROFILE_FILE` option for binary ID (#123963)

Add support for expanding `%b` in `LLVM_PROFILE_FILE` to the binary ID
(build ID). It can be used with `%m` to avoid its signature collisions.

This is supported on all platforms where writing binary IDs into
profiles is implemented, as the `__llvm_write_binary_ids` function is
used.

Fixes #51560.


  Commit: d905c7e316b941afcef32e28073b3e77c536407c
      https://github.com/llvm/llvm-project/commit/d905c7e316b941afcef32e28073b3e77c536407c
  Author: Kai Nacke <kai.peter.nacke at ibm.com>
  Date:   2025-02-06 (Thu, 06 Feb 2025)

  Changed paths:
    M compiler-rt/lib/xray/xray_tsc.h

  Log Message:
  -----------
  [XRay][SystemZ] Use stckf for non-clang compilers (#125289)

Turns out there are users who use gcc to compile compiler-rt. Using the
clang-specific builtin function `__builtin_readcyclecounter()` does not
work in this case.
Solution is to use inline assembly using the stckf instruction in case
the compiler is not clang.


  Commit: 1d319dfe7d1ea39354ff61c5568bfecad3ce3d15
      https://github.com/llvm/llvm-project/commit/1d319dfe7d1ea39354ff61c5568bfecad3ce3d15
  Author: Louis Dionne <ldionne.2 at gmail.com>
  Date:   2025-02-06 (Thu, 06 Feb 2025)

  Changed paths:
    M libcxx/test/benchmarks/GenerateInput.h
    A libcxx/test/benchmarks/containers/associative/associative_container_benchmarks.h
    A libcxx/test/benchmarks/containers/associative/flat_map.bench.cpp
    A libcxx/test/benchmarks/containers/associative/flat_multimap.bench.cpp
    A libcxx/test/benchmarks/containers/associative/map.bench.cpp
    A libcxx/test/benchmarks/containers/associative/multimap.bench.cpp
    A libcxx/test/benchmarks/containers/associative/multiset.bench.cpp
    A libcxx/test/benchmarks/containers/associative/set.bench.cpp
    A libcxx/test/benchmarks/containers/associative/unordered_map.bench.cpp
    A libcxx/test/benchmarks/containers/associative/unordered_multimap.bench.cpp
    A libcxx/test/benchmarks/containers/associative/unordered_multiset.bench.cpp
    A libcxx/test/benchmarks/containers/associative/unordered_set.bench.cpp
    R libcxx/test/benchmarks/containers/map.bench.cpp
    R libcxx/test/benchmarks/containers/ordered_set.bench.cpp
    R libcxx/test/benchmarks/containers/unordered_set.bench.cpp

  Log Message:
  -----------
  [libc++] Implement generic associative container benchmarks (#123663)

This patch implements generic associative container benchmarks for
containers with unique keys. In doing so, it replaces the existing
std::map benchmarks which were based on the cartesian product
infrastructure and were too slow to execute.

These new benchmarks aim to strike a balance between exhaustive coverage
of all operations in the most interesting case, while executing fairly
rapidly (~40s on my machine).

This bumps the requirement for the map benchmarks from C++17 to C++20
because the common header that provides associative container benchmarks
requires support for C++20 concepts.


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

  Changed paths:
    M flang/module/cudadevice.f90

  Log Message:
  -----------
  [flang][cuda] Add interface for sinpi, cospi and sincospi (#126123)

Add interface for `sinpi`, `cospi` and `sincospi` and also expose
`sincosf`


  Commit: 74c2e9a82aa51c574c92f4c53bbe065cf8fc7a12
      https://github.com/llvm/llvm-project/commit/74c2e9a82aa51c574c92f4c53bbe065cf8fc7a12
  Author: Alex Prabhat Bara <alexpbara at gmail.com>
  Date:   2025-02-06 (Thu, 06 Feb 2025)

  Changed paths:
    M libc/config/linux/aarch64/headers.txt

  Log Message:
  -----------
  [libc] generate sys/wait.h for aarch64 (#125171)

Fixes: #125102


  Commit: 1dbfbb5ce60794a5e986df706ea8e7a058115e26
      https://github.com/llvm/llvm-project/commit/1dbfbb5ce60794a5e986df706ea8e7a058115e26
  Author: Teresa Johnson <tejohnson at google.com>
  Date:   2025-02-06 (Thu, 06 Feb 2025)

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

  Log Message:
  -----------
  [MemProf] Stop cloning traversal on single allocation type (#126131)

We were previously checking this after recursing on all callers, but if
we already have a single allocation type there is no need to even look
at any callers. Didn't show a significant improvement overall, but it
does reduce the count of times we enter the identifyClones and do other
checks.


  Commit: da083e282cc1704c85b1724ae9b9f9d1b4cf5668
      https://github.com/llvm/llvm-project/commit/da083e282cc1704c85b1724ae9b9f9d1b4cf5668
  Author: Chandler Carruth <chandlerc at gmail.com>
  Date:   2025-02-06 (Thu, 06 Feb 2025)

  Changed paths:
    R clang/include/clang/Basic/BuiltinsSME.def
    R clang/include/clang/Basic/BuiltinsSVE.def
    M clang/include/module.modulemap

  Log Message:
  -----------
  [StrTable] Fix modules build and clean up stale files (#125979)

I missed a few places to tidy up from before using the tablengen files
directly for the builtins. I didn't remove all of the modulemap entries
and there were two small `.def` files left lingering. This should clean
all of that up. I went through to cross check the list of files and it
looks correct now.


  Commit: f0e1857c84186263ab3bd8b9420b54c8c5810136
      https://github.com/llvm/llvm-project/commit/f0e1857c84186263ab3bd8b9420b54c8c5810136
  Author: Alan Li <me at alanli.org>
  Date:   2025-02-06 (Thu, 06 Feb 2025)

  Changed paths:
    M mlir/include/mlir/Dialect/Vector/Transforms/VectorRewritePatterns.h
    M mlir/lib/Dialect/Vector/Transforms/VectorEmulateNarrowType.cpp
    A mlir/test/Dialect/Vector/vector-emulate-narrow-type-unaligned-non-atomic.mlir
    M mlir/test/Dialect/Vector/vector-emulate-narrow-type-unaligned.mlir
    M mlir/test/lib/Dialect/MemRef/TestEmulateNarrowType.cpp

  Log Message:
  -----------
  [MLIR] Support non-atomic RMW option for emulated vector stores (#124887)

This patch is a followup of the previous one: #115922, It adds an option
to turn on emitting non-atomic rmw code sequence instead of atomic rmw.


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

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

  Log Message:
  -----------
  [LLD][COFF] Add support for MinGW auto-export on ARM64X (#125862)

Export all symbols from both EC and native symbol tables. If an explicit
export is present in either symbol table, auto-export is disabled for
both.


  Commit: b40ef2ce46480a501e530cf7ee0d434b2b8f910f
      https://github.com/llvm/llvm-project/commit/b40ef2ce46480a501e530cf7ee0d434b2b8f910f
  Author: Francesco Petrogalli <francesco.petrogalli at apple.com>
  Date:   2025-02-06 (Thu, 06 Feb 2025)

  Changed paths:
    M llvm/lib/MC/MCDisassembler/MCDisassembler.cpp
    M llvm/lib/Target/RISCV/Disassembler/RISCVDisassembler.cpp

  Log Message:
  -----------
  [RISCV][Disassemble] Ensure the comment stream of the disassembler is set. (#125962)


  Commit: 166b2e88378bae4d74f9bdc56f1521150162fbf1
      https://github.com/llvm/llvm-project/commit/166b2e88378bae4d74f9bdc56f1521150162fbf1
  Author: vporpo <vporpodas at google.com>
  Date:   2025-02-06 (Thu, 06 Feb 2025)

  Changed paths:
    M llvm/include/llvm/Transforms/Vectorize/SandboxVectorizer/DependencyGraph.h
    M llvm/include/llvm/Transforms/Vectorize/SandboxVectorizer/Interval.h
    M llvm/lib/Transforms/Vectorize/SandboxVectorizer/DependencyGraph.cpp
    M llvm/unittests/Transforms/Vectorize/SandboxVectorizer/DependencyGraphTest.cpp
    M llvm/unittests/Transforms/Vectorize/SandboxVectorizer/IntervalTest.cpp

  Log Message:
  -----------
  [SandboxVec][DAG] Update DAG when a new instruction is created (#126124)

The DAG will now receive a callback whenever a new instruction is
created and will update itself accordingly.


  Commit: 8d925a1c72600807199894b5852bd8a032eca795
      https://github.com/llvm/llvm-project/commit/8d925a1c72600807199894b5852bd8a032eca795
  Author: Zequan Wu <zequanwu at google.com>
  Date:   2025-02-06 (Thu, 06 Feb 2025)

  Changed paths:
    M compiler-rt/test/profile/Linux/binary-id-path.c

  Log Message:
  -----------
  [compiler-rt] Fix binary-id-path.c after da053415d214d6a66ff5f8c69eb35b2c9ada9caf


  Commit: 6e2f08b2f86aa6a2d1cb3cb3e88f0813877a3ced
      https://github.com/llvm/llvm-project/commit/6e2f08b2f86aa6a2d1cb3cb3e88f0813877a3ced
  Author: Joseph Huber <huberjn at outlook.com>
  Date:   2025-02-06 (Thu, 06 Feb 2025)

  Changed paths:
    M clang/include/clang/Driver/Driver.h
    M clang/lib/Driver/Driver.cpp
    M clang/lib/Driver/ToolChains/Cuda.cpp
    M clang/lib/Driver/ToolChains/Cuda.h

  Log Message:
  -----------
  [Clang][NFC] Clean up fetching the offloading toolchain (#125095)

Summary:
This patch cleans up how we query the offloading toolchain. We create a
single that is more similar to the existing `getToolChain` driver
function and make all the offloading handlers use it.


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

  Changed paths:
    M clang/lib/Driver/ToolChain.cpp
    M clang/test/Driver/Xarch.c

  Log Message:
  -----------
  [Clang] Only allow `clang` arguments to `-Xarch` (#126101)

Summary:
Currently the `-Xarch` argument needs to re-parse the option, which goes
through every single registered argument. This causes errors when trying
to pass `-O1` through it because it thinks it's a DXC option. This patch
changes the behavior to only allow `clang` options. Concievably we could
detect the driver mode to make this more robust, but I don't know if
there are other users for this.

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


  Commit: 01072e546fd6243b889c6cfc109e9ad761e1b17c
      https://github.com/llvm/llvm-project/commit/01072e546fd6243b889c6cfc109e9ad761e1b17c
  Author: Sarah Spall <sarahspall at microsoft.com>
  Date:   2025-02-06 (Thu, 06 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/CodeGen/CodeGenFunction.h
    M clang/lib/Edit/RewriteObjCFoundationAPI.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/ArrayElementwiseCast.hlsl
    A clang/test/CodeGenHLSL/BasicFeatures/StructElementwiseCast.hlsl
    A clang/test/CodeGenHLSL/BasicFeatures/VectorElementwiseCast.hlsl
    M clang/test/SemaHLSL/BuiltIns/vector-constructors-erros.hlsl
    A clang/test/SemaHLSL/Language/ElementwiseCast-errors.hlsl
    A clang/test/SemaHLSL/Language/ElementwiseCasts.hlsl

  Log Message:
  -----------
  [HLSL] Implement HLSL Flat casting (excluding splat cases) (#118842)

Implement HLSLElementwiseCast excluding support for splat cases
Do not support casting types that contain bitfields.
Partly closes #100609 and partly closes #100619


  Commit: 97b08b8ee06b8a822a3b0013d19aac64f4f0c3d2
      https://github.com/llvm/llvm-project/commit/97b08b8ee06b8a822a3b0013d19aac64f4f0c3d2
  Author: Prashant Kumar <pk5561 at gmail.com>
  Date:   2025-02-07 (Fri, 07 Feb 2025)

  Changed paths:
    M mlir/lib/Conversion/ArithToAMDGPU/ArithToAMDGPU.cpp
    M mlir/test/Conversion/ArithToAMDGPU/8-bit-floats.mlir

  Log Message:
  -----------
  [mlir][amdgpu] Support for 8bit extf for 0d vector type (#126102)

For 0d vector type the rewrite crashes.


  Commit: 8b65411b006cbe302dea7d00ff79abddd1403061
      https://github.com/llvm/llvm-project/commit/8b65411b006cbe302dea7d00ff79abddd1403061
  Author: Jason Molenda <jmolenda at apple.com>
  Date:   2025-02-06 (Thu, 06 Feb 2025)

  Changed paths:
    M lldb/test/API/commands/register/register/register_command/TestRegisters.py
    M lldb/test/API/commands/watchpoints/unaligned-watchpoint/TestUnalignedWatchpoint.py
    M lldb/test/API/functionalities/breakpoint/hardware_breakpoints/hardware_breakpoint_on_multiple_threads/TestHWBreakMultiThread.py
    M lldb/test/API/functionalities/scripted_process/TestStackCoreScriptedProcess.py
    M lldb/test/API/functionalities/thread/concurrent_events/TestConcurrentManyBreakpoints.py
    M lldb/test/API/functionalities/thread/concurrent_events/TestConcurrentManyCrash.py
    M lldb/test/API/functionalities/thread/concurrent_events/TestConcurrentManySignals.py
    M lldb/test/API/functionalities/thread/concurrent_events/TestConcurrentManyWatchpoints.py
    M lldb/test/API/functionalities/watchpoint/large-watchpoint/TestLargeWatchpoint.py
    M lldb/test/API/functionalities/watchpoint/unaligned-spanning-two-dwords/TestUnalignedSpanningDwords.py
    M lldb/test/API/macosx/corefile-exception-reason/TestCorefileExceptionReason.py
    M lldb/test/API/macosx/debugserver-exit-code/TestDebugServerExitCode.py
    M lldb/test/API/macosx/early-process-launch/TestEarlyProcessLaunch.py
    M lldb/test/API/macosx/ignore_exceptions/TestIgnoredExceptions.py
    M lldb/test/API/macosx/profile_vrs_detach/TestDetachVrsProfile.py
    M lldb/test/API/macosx/simulator/TestSimulatorPlatform.py
    M lldb/test/API/macosx/skinny-corefile/TestSkinnyCorefile.py
    M lldb/test/API/macosx/stack-corefile/TestStackCorefile.py
    M lldb/test/API/macosx/unregistered-macho/TestUnregisteredMacho.py
    M lldb/test/API/tools/lldb-server/register-reading/TestGdbRemoteGPacket.py

  Log Message:
  -----------
  [lldb][NFC] Remove old skipIfOutOfTreeDebugserver's (#126144)

When a test depends on a new debugserver feature/fix, the API test must
be marked @skipIfOutOfTreeDebugserver because the macOS CI bots test
using the latest Xcode release debugserver. But over time all of these
fixes & new features are picked up in the Xcode debugserver and these
skips can be removed.

We may see unexpected test failures from removing all of these 1+ year
old skips, but that's likely a separate reason the test is failing that
is being papered over by this skip.


  Commit: 5399782508e9573b0d2f184b151997375a1dfdeb
      https://github.com/llvm/llvm-project/commit/5399782508e9573b0d2f184b151997375a1dfdeb
  Author: Mingming Liu <mingmingl at google.com>
  Date:   2025-02-06 (Thu, 06 Feb 2025)

  Changed paths:
    M llvm/include/llvm/IR/Function.h
    M llvm/include/llvm/IR/GlobalObject.h
    M llvm/include/llvm/IR/MDBuilder.h
    M llvm/lib/CodeGen/TargetLoweringObjectFileImpl.cpp
    M llvm/lib/IR/Function.cpp
    M llvm/lib/IR/Globals.cpp
    M llvm/lib/IR/MDBuilder.cpp
    A llvm/test/CodeGen/X86/data-section-prefix.ll
    M llvm/test/Transforms/CodeGenPrepare/X86/section-samplepgo.ll
    M llvm/test/Transforms/CodeGenPrepare/X86/section.ll
    M llvm/test/Transforms/HotColdSplit/coldentrycount.ll
    M llvm/test/Transforms/SampleProfile/section-accurate-samplepgo.ll

  Log Message:
  -----------
  [IR] Generalize Function's {set,get}SectionPrefix to GlobalObjects, the base class of {Function, GlobalVariable, IFunc} (#125757)

This is a split of https://github.com/llvm/llvm-project/pull/125756


  Commit: 8fb1b3f4b23ecc2fc39f1a1c07244304565cfb21
      https://github.com/llvm/llvm-project/commit/8fb1b3f4b23ecc2fc39f1a1c07244304565cfb21
  Author: David Pagan <dave.pagan at amd.com>
  Date:   2025-02-06 (Thu, 06 Feb 2025)

  Changed paths:
    M flang/lib/Lower/OpenMP/Clauses.cpp
    M flang/lib/Lower/OpenMP/Clauses.h
    M flang/lib/Semantics/check-omp-structure.cpp
    M llvm/include/llvm/Frontend/OpenMP/ClauseT.h

  Log Message:
  -----------
  [flang][OpenMP] 'no_openmp_constructs' added to clang broke flang build (#126145)

Adding 'no_openmp_constructs' assumption clause to clang broke the flang
build. Adding to flang so it builds.

Testing
- Build
- Testing: check-all


  Commit: 163ccfac33201948eb430db6fac38d265958cfaa
      https://github.com/llvm/llvm-project/commit/163ccfac33201948eb430db6fac38d265958cfaa
  Author: Jason Molenda <jmolenda at apple.com>
  Date:   2025-02-06 (Thu, 06 Feb 2025)

  Changed paths:
    M lldb/bindings/interface/SBFrameDocstrings.i

  Log Message:
  -----------
  [lldb][NFC] whitespace reflow


  Commit: 14716f2e4b2d771af0fe9163540a8f08ffe1e5ec
      https://github.com/llvm/llvm-project/commit/14716f2e4b2d771af0fe9163540a8f08ffe1e5ec
  Author: Sarah Spall <sarahspall at microsoft.com>
  Date:   2025-02-06 (Thu, 06 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/CodeGen/CodeGenFunction.h
    M clang/lib/Edit/RewriteObjCFoundationAPI.cpp
    M clang/lib/Sema/SemaCast.cpp
    M clang/lib/Sema/SemaHLSL.cpp
    M clang/lib/StaticAnalyzer/Core/ExprEngineC.cpp
    R clang/test/CodeGenHLSL/BasicFeatures/ArrayElementwiseCast.hlsl
    R clang/test/CodeGenHLSL/BasicFeatures/StructElementwiseCast.hlsl
    R clang/test/CodeGenHLSL/BasicFeatures/VectorElementwiseCast.hlsl
    M clang/test/SemaHLSL/BuiltIns/vector-constructors-erros.hlsl
    R clang/test/SemaHLSL/Language/ElementwiseCast-errors.hlsl
    R clang/test/SemaHLSL/Language/ElementwiseCasts.hlsl

  Log Message:
  -----------
  Revert "[HLSL] Implement HLSL Flat casting (excluding splat cases)" (#126149)

Reverts llvm/llvm-project#118842


  Commit: a15618f18cb000cce59df810c9e75153aa5e0aca
      https://github.com/llvm/llvm-project/commit/a15618f18cb000cce59df810c9e75153aa5e0aca
  Author: Avik Pal <avik.pal.2017 at gmail.com>
  Date:   2025-02-06 (Thu, 06 Feb 2025)

  Changed paths:
    M mlir/include/mlir-c/Dialect/Func.h
    M mlir/lib/CAPI/Dialect/Func.cpp

  Log Message:
  -----------
  [mlir] feat: add `mlirFuncSetResultAttr` (#125972)

cc @ftynse @wsmoses


  Commit: 464f65adacd812aead775308ab7f1952fee774db
      https://github.com/llvm/llvm-project/commit/464f65adacd812aead775308ab7f1952fee774db
  Author: alx32 <103613512+alx32 at users.noreply.github.com>
  Date:   2025-02-06 (Thu, 06 Feb 2025)

  Changed paths:
    M llvm/include/llvm/DebugInfo/DWARF/DWARFDebugLine.h
    M llvm/lib/DebugInfo/DWARF/DWARFDebugLine.cpp
    M llvm/unittests/DebugInfo/DWARF/DWARFDebugLineTest.cpp

  Log Message:
  -----------
  [DebugInfo][DWARF] Utilize DW_AT_LLVM_stmt_sequence attr in line table lookups (#123391)

**Summary**
Add support for filtering line table entries based on
`DW_AT_LLVM_stmt_sequence` attribute when looking up address ranges.
This ensures that line entries are correctly attributed to their
corresponding functions, even when multiple functions share the same
address range due to optimizations.

**Background**
In https://github.com/llvm/llvm-project/pull/110192 we added support to
clang to generate the `DW_AT_LLVM_stmt_sequence` attribute for
`DW_TAG_subprogram`'s. Corresponding RFC: [New DWARF Attribute for
Symbolication of Merged
Functions](https://discourse.llvm.org/t/rfc-new-dwarf-attribute-for-symbolication-of-merged-functions/79434)

The `DW_AT_LLVM_stmt_sequence` attribute allows accurate attribution of
line number information to their corresponding functions, even in
scenarios where functions are merged or share the same address space due
to optimizations like Identical Code Folding (ICF) in the linker.

**Implementation Details**
The patch modifies `DWARFDebugLine::lookupAddressRange` to accept an
optional DWARFDie parameter. When provided, the function checks if the
`DIE` has a `DW_AT_LLVM_stmt_sequence` attribute. This attribute
contains an offset into the line table that marks where the line entries
for this DIE's function begin.

If the attribute is present, the function filters the results to only
include line entries from the sequence that starts at the specified
offset. This ensures that even when multiple functions share the same
address range, we return only the line entries that actually belong to
the function represented by the DIE.

The implementation:
- Adds an optional DWARFDie parameter to lookupAddressRange
- Extracts the `DW_AT_LLVM_stmt_sequence` offset if present
- Modifies the address range lookup logic to filter sequences based on
their offset
- Returns only line entries from the matching sequence


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

  Changed paths:
    M llvm/include/llvm/Transforms/Vectorize/SandboxVectorizer/DependencyGraph.h
    M llvm/include/llvm/Transforms/Vectorize/SandboxVectorizer/Scheduler.h
    M llvm/lib/Transforms/Vectorize/SandboxVectorizer/Scheduler.cpp
    A llvm/test/Transforms/SandboxVectorizer/scheduler.ll
    M llvm/unittests/Transforms/Vectorize/SandboxVectorizer/SchedulerTest.cpp

  Log Message:
  -----------
  [SandboxVec][Scheduler] Notify scheduler about instruction creation (#126141)

This patch implements the vectorizer's callback for getting notified
about new instructions being created. This updates the scheduler state,
which may involve removing dependent instructions from the ready list
and update the "scheduled" flag.
Since we need to remove elements from the ready list, this patch also
implements the `remove()` operation.


  Commit: b8002933e92f89600521be420376ec111ad367f1
      https://github.com/llvm/llvm-project/commit/b8002933e92f89600521be420376ec111ad367f1
  Author: Felipe de Azevedo Piovezan <fpiovezan at apple.com>
  Date:   2025-02-06 (Thu, 06 Feb 2025)

  Changed paths:
    M lldb/source/Plugins/Process/Utility/ThreadMemory.h
    M lldb/test/API/functionalities/plugins/python_os_plugin/TestPythonOSPlugin.py

  Log Message:
  -----------
  [lldb] Add missing return statements in ThreadMemory (#126128)

These prevented ThreadMemory from correctly returning the
Name/Queue/Info of the backing thread.

Note about testing: this test only finds regressions if the system sets
a name or queue for the backing thread. While this may not be true
everywhere, it still provides coverage in some systems, e.g. in Apple
platforms.


  Commit: b7279ed5b3ae3e7b0fd61e0f08c86fb1958f0b6f
      https://github.com/llvm/llvm-project/commit/b7279ed5b3ae3e7b0fd61e0f08c86fb1958f0b6f
  Author: Kai Nacke <kai.peter.nacke at ibm.com>
  Date:   2025-02-06 (Thu, 06 Feb 2025)

  Changed paths:
    M compiler-rt/lib/xray/CMakeLists.txt
    M compiler-rt/lib/xray/xray_tsc.h

  Log Message:
  -----------
  [SystemZ][XRay] Make xray work with gcc (#126154)

It seems that depending on the platform, gcc acceptts or does not accept
`-mvx` without specifying an architecture actually having vector
instructions. The solution which seems to work across different versions
of gcc and clang is to specify the least architecture which has vector
instructions.

In addition, initialization of the unused variable CPU prevents a
compiler warning from gcc.


  Commit: 778861742d6dd1c5c11fa4d361fdc9cd69131e0a
      https://github.com/llvm/llvm-project/commit/778861742d6dd1c5c11fa4d361fdc9cd69131e0a
  Author: Nikolas Klauser <nikolasklauser at berlin.de>
  Date:   2025-02-07 (Fri, 07 Feb 2025)

  Changed paths:
    M libcxx/include/string

  Log Message:
  -----------
  [libc++][NFC] Replace typedefs with using aliases in <string> (#126070)


  Commit: 5a056f91be33df87485a6d1608128305f834e0eb
      https://github.com/llvm/llvm-project/commit/5a056f91be33df87485a6d1608128305f834e0eb
  Author: Kazu Hirata <kazu at google.com>
  Date:   2025-02-06 (Thu, 06 Feb 2025)

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

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

Co-authored-by: Nikita Popov <github at npopov.com>


  Commit: 4590f755cf585284df68e9e5a4276540a5fbae1e
      https://github.com/llvm/llvm-project/commit/4590f755cf585284df68e9e5a4276540a5fbae1e
  Author: Kazu Hirata <kazu at google.com>
  Date:   2025-02-06 (Thu, 06 Feb 2025)

  Changed paths:
    M llvm/include/llvm/Analysis/BlockFrequencyInfoImpl.h

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


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

  Changed paths:
    M llvm/lib/Transforms/Vectorize/VPlan.h
    M llvm/lib/Transforms/Vectorize/VPlanUtils.h
    M llvm/unittests/Transforms/Vectorize/VPlanTest.cpp

  Log Message:
  -----------
  [LV] Update incoming blocks in VPWidenPHIRecipe in reassociateBlocks (#125481)

This is extracted from #118638

After c7ebe4f we will crash in fixNonInductionPHIs if we use a
VPWidenPHIRecipe with the vector preheader as an incoming block, because
the phi will reference the old non-IRBB vector preheader.

This fixes this by updating VPBlockUtils::reassociateBlocks to update
any VPWidenPHIRecipes's incoming blocks.

This assumes that if the VPWidenPHIRecipe is in a VPRegionBlock, it's in
the entry block, and that we are replacing a VPBasicBlock with another
VPBasicBlock.


  Commit: 7f7605d3856432023a4acbd62fd3474c29da54fe
      https://github.com/llvm/llvm-project/commit/7f7605d3856432023a4acbd62fd3474c29da54fe
  Author: Arthur Eubanks <aeubanks at google.com>
  Date:   2025-02-07 (Fri, 07 Feb 2025)

  Changed paths:
    M llvm/utils/gn/secondary/clang/test/BUILD.gn
    M llvm/utils/gn/secondary/llvm/lib/Frontend/Offloading/BUILD.gn

  Log Message:
  -----------
  [gn build] Manually port f7b3559c


  Commit: 3d35246c50ee67a71552ead70a6b0b15d7358ec5
      https://github.com/llvm/llvm-project/commit/3d35246c50ee67a71552ead70a6b0b15d7358ec5
  Author: Christopher Ferris <cferris1000 at users.noreply.github.com>
  Date:   2025-02-06 (Thu, 06 Feb 2025)

  Changed paths:
    M compiler-rt/lib/scudo/standalone/allocator_config.def
    M compiler-rt/lib/scudo/standalone/allocator_config_wrapper.h
    M compiler-rt/lib/scudo/standalone/secondary.h
    M compiler-rt/lib/scudo/standalone/tests/combined_test.cpp
    M compiler-rt/lib/scudo/standalone/tests/secondary_test.cpp

  Log Message:
  -----------
  [scudo] Make guard pages optional in the secondary (#125960)

Add an optional flag for the secondary allocator called
`EnableGuardPages` to enable/disable the use of guard pages. By default,
this option is enabled.


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

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

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


  Commit: 6807164500e9920638e2ab0cdb4bf8321d24f8eb
      https://github.com/llvm/llvm-project/commit/6807164500e9920638e2ab0cdb4bf8321d24f8eb
  Author: c8ef <c8ef at outlook.com>
  Date:   2025-02-07 (Fri, 07 Feb 2025)

  Changed paths:
    M libc/config/linux/aarch64/headers.txt
    M libc/config/linux/x86_64/headers.txt
    M libc/docs/CMakeLists.txt
    M libc/docs/headers/index.rst
    M libc/include/CMakeLists.txt
    A libc/include/endian.h.def
    A libc/include/endian.yaml
    M libc/include/llvm-libc-macros/CMakeLists.txt
    A libc/include/llvm-libc-macros/endian-macros.h
    A libc/utils/docgen/endian.yaml

  Log Message:
  -----------
  [libc] Add the `<endian.h>` header. (#125168)

Closes [#124631](https://github.com/llvm/llvm-project/issues/124631).
ref:
https://pubs.opengroup.org/onlinepubs/9799919799/basedefs/endian.h.html

This patch adds the implementation of `endian.h`, which includes the
header itself and three related macros. These macros in the header rely
on the compiler preprocessor, similar to how
https://github.com/llvm/llvm-project/blob/main/libc/src/__support/endian_internal.h
does. Hopefully this will meet the requirements for compiling llvm with
llvm-libc.


  Commit: d8e0b130bd7b2dd168642a82056b8eca21c49f9f
      https://github.com/llvm/llvm-project/commit/d8e0b130bd7b2dd168642a82056b8eca21c49f9f
  Author: Jason Molenda <jmolenda at apple.com>
  Date:   2025-02-06 (Thu, 06 Feb 2025)

  Changed paths:
    M lldb/include/lldb/Target/Process.h

  Log Message:
  -----------
  [lldb][NFC] Small comment fix in Process.h


  Commit: 6f508492d13944edd0e7e70a3cc34eb29caeb8e9
      https://github.com/llvm/llvm-project/commit/6f508492d13944edd0e7e70a3cc34eb29caeb8e9
  Author: Ryosuke Niwa <rniwa at webkit.org>
  Date:   2025-02-06 (Thu, 06 Feb 2025)

  Changed paths:
    M clang/lib/StaticAnalyzer/Checkers/WebKit/UncountedLambdaCapturesChecker.cpp
    M clang/test/Analysis/Checkers/WebKit/uncounted-lambda-captures.cpp

  Log Message:
  -----------
  [webkit.UncountedLambdaCapturesChecker] Fix a regression that [[noescape]] on a member function no longer works. (#126016)


  Commit: 0cbc4983adcdbbd85ccb38b2dfbfe5985367b1b2
      https://github.com/llvm/llvm-project/commit/0cbc4983adcdbbd85ccb38b2dfbfe5985367b1b2
  Author: Augusto Noronha <anoronha at apple.com>
  Date:   2025-02-06 (Thu, 06 Feb 2025)

  Changed paths:
    M lldb/include/lldb/Target/LanguageRuntime.h
    M lldb/include/lldb/ValueObject/ValueObject.h
    M lldb/source/Plugins/LanguageRuntime/CPlusPlus/ItaniumABI/ItaniumABILanguageRuntime.cpp
    M lldb/source/Plugins/LanguageRuntime/CPlusPlus/ItaniumABI/ItaniumABILanguageRuntime.h
    M lldb/source/Plugins/LanguageRuntime/ObjC/AppleObjCRuntime/AppleObjCRuntime.cpp
    M lldb/source/Plugins/LanguageRuntime/ObjC/AppleObjCRuntime/AppleObjCRuntime.h
    M lldb/source/Plugins/LanguageRuntime/ObjC/AppleObjCRuntime/AppleObjCRuntimeV1.cpp
    M lldb/source/Plugins/LanguageRuntime/ObjC/AppleObjCRuntime/AppleObjCRuntimeV1.h
    M lldb/source/Plugins/LanguageRuntime/ObjC/AppleObjCRuntime/AppleObjCRuntimeV2.cpp
    M lldb/source/Plugins/LanguageRuntime/ObjC/AppleObjCRuntime/AppleObjCRuntimeV2.h
    M lldb/source/Plugins/LanguageRuntime/ObjC/GNUstepObjCRuntime/GNUstepObjCRuntime.cpp
    M lldb/source/Plugins/LanguageRuntime/ObjC/GNUstepObjCRuntime/GNUstepObjCRuntime.h
    M lldb/source/ValueObject/ValueObject.cpp
    M lldb/source/ValueObject/ValueObjectDynamicValue.cpp
    M lldb/unittests/TestingSupport/Symbol/ClangTestUtils.h
    M lldb/unittests/ValueObject/CMakeLists.txt
    A lldb/unittests/ValueObject/DynamicValueObjectLocalBuffer.cpp

  Log Message:
  -----------
  [lldb] Make ValueObjectDynamicValue::UpdateValue() point to  a host b… (#125143)

…uffer

ValueObjectDynamicValue::UpdateValue() assumes that the dynamic type
found by GetDynamicTypeAndAddress() would return an address in the
inferior. This commit makes it so it can deal with being passed a host
address instead.

This is needed downstream by the Swift fork.

rdar://143357274


  Commit: 003a2bf95415afef74d2c3d4a44c3f2ad1fe582d
      https://github.com/llvm/llvm-project/commit/003a2bf95415afef74d2c3d4a44c3f2ad1fe582d
  Author: Jason Molenda <jmolenda at apple.com>
  Date:   2025-02-06 (Thu, 06 Feb 2025)

  Changed paths:
    M lldb/source/Plugins/DynamicLoader/MacOSX-DYLD/DynamicLoaderDarwin.cpp

  Log Message:
  -----------
  [lldb][Darwin] Change DynamicLoaderDarwin to default to new SPI (#126171)

In Sep 2016 and newer Darwin releases, debugserver uses libdyld SPI to
gather information about the binaries loaded in a process. Before Sep
2016, lldb would inspect the dyld internal data structures directly
itself to find this information.

DynamicLoaderDarwin::UseDYLDSPI currently defaults to the old
inspect-dyld-internal-structures method for binaries
(DynamicLoaderMacOSXDYLD). If it detects that the Process' host OS
version is new enough, it enables the newer libdyld SPI methods in
debugserver (DynamicLoaderMacOS).

This patch changes the default to use the new libdyld SPI interfaces. If
the Process has a HostOS and it is one of the four specific OSes that
existed in 2015 (Mac OS X, iOS, tvOS, watchOS) with an old version
number, then we will enable the old DynamicLoader plugin.

If this debug session is a corefile, we will always use the old
DynamicLoader plugin -- the libdyld SPI cannot run against a corefile,
lldb must read metadata or the dyld internal data structures in the
corefile to find the loaded binaries.


  Commit: 01ac6fc9099f814517cf8ab405f3f6b646ca09d1
      https://github.com/llvm/llvm-project/commit/01ac6fc9099f814517cf8ab405f3f6b646ca09d1
  Author: Craig Topper <craig.topper at sifive.com>
  Date:   2025-02-06 (Thu, 06 Feb 2025)

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

  Log Message:
  -----------
  [TableGen] Use range-based for loops. NFC


  Commit: 50ae1c7bf40ba50aaf3132fa869eda8f06648155
      https://github.com/llvm/llvm-project/commit/50ae1c7bf40ba50aaf3132fa869eda8f06648155
  Author: Tiezhu Yang <yangtiezhu at loongson.cn>
  Date:   2025-02-07 (Fri, 07 Feb 2025)

  Changed paths:
    M lldb/source/Plugins/Process/Linux/NativeRegisterContextLinux_loongarch64.cpp

  Log Message:
  -----------
  [LLDB][LoongArch] Fix build errors about NT_LOONGARCH_HW_{BREAK,WATCH} (#126020)

On some OS distros such as LoongArch Fedora 38 mate-5 [1], there are
no macro definitions NT_LOONGARCH_HW_BREAK and NT_LOONGARCH_HW_WATCH
in the system header, then there exist some errors when building LLDB
on LoongArch.

(1) Description of Problem:

```
llvm-project/lldb/source/Plugins/Process/Linux/NativeRegisterContextLinux_loongarch64.cpp:529:16:
error: 'NT_LOONGARCH_HW_WATCH' was not declared in this scope; did you mean 'NT_LOONGARCH_LBT'?
  529 |   int regset = NT_LOONGARCH_HW_WATCH;
      |                ^~~~~~~~~~~~~~~~~~~~~
      |                NT_LOONGARCH_LBT
llvm-project/lldb/source/Plugins/Process/Linux/NativeRegisterContextLinux_loongarch64.cpp:543:12:
error: 'NT_LOONGARCH_HW_BREAK' was not declared in this scope; did you mean 'NT_LOONGARCH_CSR'?
  543 |   regset = NT_LOONGARCH_HW_BREAK;
      |            ^~~~~~~~~~~~~~~~~~~~~
      |            NT_LOONGARCH_CSR
```

(2) Steps to Reproduce:

```
git clone https://github.com/llvm/llvm-project.git
mkdir -p llvm-project/llvm/build && cd llvm-project/llvm/build
cmake .. -G "Ninja" \
         -DCMAKE_BUILD_TYPE=Release \
         -DLLVM_BUILD_RUNTIME=OFF \
         -DLLVM_ENABLE_PROJECTS="clang;lldb" \
         -DCMAKE_INSTALL_PREFIX=/usr/local/llvm \
         -DLLVM_TARGETS_TO_BUILD="LoongArch" \
         -DLLVM_HOST_TRIPLE=loongarch64-redhat-linux
ninja
```

(3) Additional Info:

Maybe there are no problems on the OS distros with newer glibc devel
library, so this issue is related with OS distros.

(4) Root Cause Analysis:

This is because the related Linux kernel commit [2] was merged in
2023-02-25 and the glibc devel library has some delay with kernel,
the glibc version of specified OS distros is not updated in time.

(5) Final Solution:

One way is to ask the maintainer of OS distros to update glibc devel
library, but it is better to not depend on the glibc version.

In order to avoid the build errors, just define NT_LOONGARCH_HW_BREAK
and NT_LOONGARCH_HW_WATCH in LLDB if there are no these definitions in
the system header.

By the way, in order to fit within 80 columns, use C++-style comments
for the new added NT_LOONGARCH_HW_BREAK and NT_LOONGARCH_HW_WATCH.

While at it, for consistency, just modify the current NT_LOONGARCH_LSX
and NT_LOONGARCH_LASX to C++-style comments too.

[1]
https://mirrors.wsyu.edu.cn/fedora/linux/development/rawhide/Everything/loongarch64/iso/livecd-fedora-mate-5.loongarch64.iso
[2]
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=1a69f7a161a7

Signed-off-by: Tiezhu Yang <yangtiezhu at loongson.cn>


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

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

  Log Message:
  -----------
  [ORC] Add a FIXME. NFC.


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

  Changed paths:
    M llvm/lib/Passes/PassBuilderPipelines.cpp
    M llvm/lib/Transforms/IPO/OpenMPOpt.cpp
    M llvm/test/Transforms/OpenMP/spmdization.ll

  Log Message:
  -----------
  [OpenMP] Fix the OpenMPOpt pass incorrectly optimizing if definition was missing

Summary:
This code is intended to block transformations if the call isn't
present, however the way it's coded it silently lets it pass if the
definition doesn't exist at all. This previously was always valid since
we included the runtime as one giant blob so everything was always
there, but now that we want to move towards separate ones, it's not
quite correct.


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

  Changed paths:
    M flang/lib/Semantics/check-declarations.cpp
    M flang/test/Semantics/cuf03.cuf

  Log Message:
  -----------
  [flang][cuda] Allow POINTER component to have device attribute (#126116)


  Commit: 070c88829251defc268fbfe1c1fe18d2066bdce2
      https://github.com/llvm/llvm-project/commit/070c88829251defc268fbfe1c1fe18d2066bdce2
  Author: Valentin Clement (バレンタイン クレメン) <clementval at gmail.com>
  Date:   2025-02-06 (Thu, 06 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 syncwarp to NVVM intrinsic (#126164)


  Commit: 50cdf6cbc5035345507bb4d23fcb0292272754eb
      https://github.com/llvm/llvm-project/commit/50cdf6cbc5035345507bb4d23fcb0292272754eb
  Author: Sam Elliott <quic_aelliott at quicinc.com>
  Date:   2025-02-06 (Thu, 06 Feb 2025)

  Changed paths:
    M llvm/lib/Target/RISCV/RISCVFrameLowering.cpp
    M llvm/test/CodeGen/RISCV/callee-saved-gprs.ll
    M llvm/test/CodeGen/RISCV/push-pop-popret.ll
    M llvm/test/CodeGen/RISCV/rvv/rv32-spill-vector-csr.ll
    M llvm/test/CodeGen/RISCV/zcmp-additional-stack.ll
    M llvm/test/CodeGen/RISCV/zcmp-with-float.ll

  Log Message:
  -----------
  [RISCV] Allow spilling to unused Zcmp Stack (#125959)

This is a tiny change that can save up to 16 bytes of stack allocation,
which is more beneficial on RV32 than RV64.

cm.push allocates multiples of 16 bytes, but only uses a subset of those
bytes for pushing callee-saved registers. Up to 12 (rv32) or 8 (rv64)
bytes are left unused, depending on how many registers are pushed.
Before this change, we told LLVM that the entire allocation was used, by
creating a fixed stack object which covered the whole allocation.

This change instead gives an accurate extent to the fixed stack object,
to only cover the registers that have been pushed. This allows the
PrologEpilogInserter to use any unused bytes for spills. Potentially
this saves an extra move of the stack pointer after the push, because
the push can allocate up to 48 more bytes than it needs for registers.

We cannot do the same change for save/restore, because the restore
routines restore in batches of `stackalign/(xlen/8)` registers, and we
don't want to clobber the saved values of registers that we didn't tell
the compiler we were saving/restoring - for instance `__riscv_restore_0`
is used by the compiler when it only wants to save `ra`, but will end up
restoring `ra` and `s0`.


  Commit: 9cd83d6ea238d7aaba0c040f1bfbf6ba64fcc208
      https://github.com/llvm/llvm-project/commit/9cd83d6ea238d7aaba0c040f1bfbf6ba64fcc208
  Author: Yingwei Zheng <dtcxzyw2333 at gmail.com>
  Date:   2025-02-07 (Fri, 07 Feb 2025)

  Changed paths:
    M llvm/lib/Transforms/InstCombine/InstCombineAndOrXor.cpp
    M llvm/test/Transforms/InstCombine/sign-test-and-or.ll

  Log Message:
  -----------
  [InstCombine] Drop samesign in `foldLogOpOfMaskedICmps` (#125829)

Alive2: https://alive2.llvm.org/ce/z/6zLAYp

Note: We can also apply this fix to the logic below (`if (Mask &
AMask_NotAllOnes)`), but it seems unreachable.


  Commit: 99099cd63516bd87665a5199547f6daa9f8d6ce3
      https://github.com/llvm/llvm-project/commit/99099cd63516bd87665a5199547f6daa9f8d6ce3
  Author: Jonas Devlieghere <jonas at devlieghere.com>
  Date:   2025-02-06 (Thu, 06 Feb 2025)

  Changed paths:
    M lldb/source/Plugins/DynamicLoader/MacOSX-DYLD/DynamicLoaderDarwin.cpp

  Log Message:
  -----------
  [lldb] Use Lambda to simplify repeptitive code in DynamicLoaderDarwin (NFC) (#126175)

I suggested using a lambda in #126171 but @jasonmolenda missed it.


  Commit: 4d3148d92681c154de51379a0cf393f9af8e1d75
      https://github.com/llvm/llvm-project/commit/4d3148d92681c154de51379a0cf393f9af8e1d75
  Author: Mel Chen <mel.chen at sifive.com>
  Date:   2025-02-07 (Fri, 07 Feb 2025)

  Changed paths:
    M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
    M llvm/test/Transforms/LoopVectorize/RISCV/vectorize-force-tail-with-evl-inloop-reduction.ll
    M llvm/test/Transforms/LoopVectorize/RISCV/vectorize-force-tail-with-evl-reduction.ll

  Log Message:
  -----------
  [LV][EVL] Fix the check for legality of folding with EVL. (#125678)

The current legality check for folding with EVL has incomplete
verification for VF.
This patch fixes the VF check, ensuring that tail folding with EVL is
enabled only when a scalable VF is available. This allows loops that
prefer tail folding with EVL but cannot use scalable VF vectorization to
still be vectorized using a fixed VF, rather than abandoning
vectorization entirely.


  Commit: 7fa57cd430f5811beed8cfc862768238fc5d06bb
      https://github.com/llvm/llvm-project/commit/7fa57cd430f5811beed8cfc862768238fc5d06bb
  Author: Karim Nosseir <44206880+karimnosseir at users.noreply.github.com>
  Date:   2025-02-06 (Thu, 06 Feb 2025)

  Changed paths:
    M mlir/include/mlir/Bytecode/BytecodeWriter.h
    M mlir/lib/Bytecode/Writer/BytecodeWriter.cpp

  Log Message:
  -----------
  [MLIR] Add move constructor to BytecodeWriterConfig (#126130)

The config is currently not movable and because there are constructors
the default move won't be generated, which prevents it from being moved.
Also, it is not copyable because of the unique_ptr. This PR adds move
constructor to allow moving it.


  Commit: d21fc58aeeaa7f0369a24dbe70a0360e0edbf76f
      https://github.com/llvm/llvm-project/commit/d21fc58aeeaa7f0369a24dbe70a0360e0edbf76f
  Author: Matt Arsenault <Matthew.Arsenault at amd.com>
  Date:   2025-02-07 (Fri, 07 Feb 2025)

  Changed paths:
    M llvm/lib/Target/AMDGPU/SIRegisterInfo.cpp
    M llvm/lib/Target/AMDGPU/SIRegisterInfo.h
    M llvm/test/CodeGen/AMDGPU/copy-illegal-type.ll
    M llvm/test/CodeGen/AMDGPU/ctpop64.ll
    M llvm/test/CodeGen/AMDGPU/idot2.ll
    M llvm/test/CodeGen/AMDGPU/load-global-i32.ll
    M llvm/test/CodeGen/AMDGPU/peephole-opt-fold-reg-sequence-subreg.mir
    M llvm/test/CodeGen/AMDGPU/peephole-opt-regseq-removal.mir
    M llvm/test/CodeGen/AMDGPU/spill-scavenge-offset.ll

  Log Message:
  -----------
  AMDGPU: Use default shouldRewriteCopySrc (#125535)

This was ultimately working around bugs in subregister handling
in peephole-opt. In the common case, it would give up on folding
anything into a subregister extract copy.


  Commit: a1984ec5eab09f9b49c232eb00827c3718f5940f
      https://github.com/llvm/llvm-project/commit/a1984ec5eab09f9b49c232eb00827c3718f5940f
  Author: Ming-Yi Lai <ming-yi.lai at mediatek.com>
  Date:   2025-02-07 (Fri, 07 Feb 2025)

  Changed paths:
    M llvm/include/llvm/BinaryFormat/ELF.h
    A llvm/test/tools/llvm-readobj/ELF/RISCV/note-gnu-property.yaml
    M llvm/tools/llvm-readobj/ELFDumper.cpp

  Log Message:
  -----------
  [llvm-readobj][ELF][RISCV] Dump .note.gnu.property section contents (#125642)

RISCV Zicfilp/Zicfiss extensions uses the `.note.gnu.property` section
to store flags indicating the adoption of features based on these
extensions. This patch enables the llvm-readobj/llvm-readelf tools to
dump these flags with the `--note` flag.


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

  Changed paths:
    M llvm/include/llvm/ExecutionEngine/Orc/Core.h

  Log Message:
  -----------
  [ORC] Add ExecutionSession convenience methods to access bootstrap values.

The getBootstrapMap, getBootstrapMapValue, getBootstrapSymbolsMap, and
getBootstrapSymbols methods forward to their respective counterparts in
ExecutorProcessControl, similar to the callWrapper functions.

These methods will be used to simplify an upcoming patch that accesses
the bootstrap values.


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

  Changed paths:
    M llvm/include/llvm/ExecutionEngine/Orc/MachOPlatform.h
    A llvm/include/llvm/ExecutionEngine/Orc/TargetProcess/DefaultHostBootstrapValues.h
    M llvm/lib/ExecutionEngine/Orc/ExecutorProcessControl.cpp
    M llvm/lib/ExecutionEngine/Orc/LLJIT.cpp
    M llvm/lib/ExecutionEngine/Orc/MachOPlatform.cpp
    M llvm/lib/ExecutionEngine/Orc/TargetProcess/CMakeLists.txt
    A llvm/lib/ExecutionEngine/Orc/TargetProcess/DefaultHostBootstrapValues.cpp
    M llvm/lib/ExecutionEngine/Orc/TargetProcess/OrcRTBootstrap.cpp
    M llvm/tools/llvm-jitlink/llvm-jitlink-executor/llvm-jitlink-executor.cpp

  Log Message:
  -----------
  [ORC] Force eh-frame use for older Darwins on x86-64 in MachOPlatform, LLJIT.

The system libunwind on older Darwins does not support JIT registration of
compact-unwind. Since the CompactUnwindManager utility discards redundant
eh-frame FDEs by default we need to remove the compact-unwind section first
when targeting older libunwinds in order to preserve eh-frames.

While LLJIT was already doing this as of eae6d6d18bd, MachOPlatform was not.
This was causing buildbot failures in the ORC runtime (e.g. in
https://green.lab.llvm.org/job/llvm.org/job/clang-stage1-RA/3479/).

This patch updates both LLJIT and MachOPlatform to check a bootstrap value,
"darwin-use-ehframes-only", to determine whether to forcibly preserve
eh-frame sections. If this value is present and set to true then compact-unwind
sections will be discarded, causing eh-frames to be preserved. If the value is
absent or set to false then compact-unwind will be used and redundant FDEs in
eh-frames discarded (FDEs that are needed by the compact-unwind section are
always preserved).

rdar://143895614


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

  Changed paths:
    M llvm/utils/gn/secondary/llvm/lib/ExecutionEngine/Orc/TargetProcess/BUILD.gn

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


  Commit: 9b8297bc7ea8f217a3f701afedd2c953a4ad7867
      https://github.com/llvm/llvm-project/commit/9b8297bc7ea8f217a3f701afedd2c953a4ad7867
  Author: Jameson Nash <vtjnash at gmail.com>
  Date:   2025-02-07 (Fri, 07 Feb 2025)

  Changed paths:
    M clang/docs/ReleaseNotes.rst
    M clang/lib/Analysis/CFG.cpp
    M clang/test/Analysis/NewDelete-checker-test.cpp
    A clang/test/Analysis/dtor-union.cpp

  Log Message:
  -----------
  [analyzer] Do not destruct fields of unions (#122330)

The C++ standard prohibits this implicit destructor call, leading to
incorrect reports from clang-analyzer. This causes projects that use
std::option (including llvm) to fail the cplusplus.NewDelete test
incorrectly when run through the analyzer.

Fixes #119415


  Commit: 35afd022ee5735c746c39b5b2cd24872333012fd
      https://github.com/llvm/llvm-project/commit/35afd022ee5735c746c39b5b2cd24872333012fd
  Author: Mahesh-Attarde <mahesh.attarde at intel.com>
  Date:   2025-02-07 (Fri, 07 Feb 2025)

  Changed paths:
    M llvm/lib/Target/X86/GISel/X86InstructionSelector.cpp
    M llvm/lib/Target/X86/GISel/X86LegalizerInfo.cpp
    M llvm/lib/Target/X86/GISel/X86RegisterBankInfo.cpp
    A llvm/test/CodeGen/X86/GlobalISel/isel-fcmp-i686.mir
    A llvm/test/CodeGen/X86/isel-fcmp-x87.ll
    A llvm/test/CodeGen/X86/isel-fcmp.ll

  Log Message:
  -----------
  [X86][GlobalISel] Support G_FCMP for scalar cases (#123598)

With this patch, we are enabling comparisons for Long double (80) types
on X87 stack. It lowers G_FCMP.

---------

Co-authored-by: mattarde <mattarde at intel.com>


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

  Changed paths:
    M llvm/lib/Transforms/Instrumentation/MemProfiler.cpp
    A llvm/test/Transforms/PGOProfile/memprof-dump-matched-call-sites.ll
    M llvm/test/Transforms/PGOProfile/memprof.ll

  Log Message:
  -----------
  [memprof] Dump call site matching information (#125130)

MemProfiler.cpp annotates the IR with the memory profile so that we
can later duplicate context. This patch dumps the entire inline call
stack
for each call site match.


  Commit: 74192e57f7208926ab15502cc6ac31e4d8b98ba3
      https://github.com/llvm/llvm-project/commit/74192e57f7208926ab15502cc6ac31e4d8b98ba3
  Author: Jie Fu <jiefu at tencent.com>
  Date:   2025-02-07 (Fri, 07 Feb 2025)

  Changed paths:
    M llvm/lib/Target/X86/GISel/X86InstructionSelector.cpp

  Log Message:
  -----------
  [X86] Silence an unused-variable warning (NFC)

/llvm-project/llvm/lib/Target/X86/GISel/X86InstructionSelector.cpp:1054:9:
 error: unused variable 'RhsBank' [-Werror,-Wunused-variable]
  auto *RhsBank = RBI.getRegBank(RhsReg, MRI, TRI);
        ^
1 error generated.


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

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

  Log Message:
  -----------
  [mlir][linalg] Add support for masked vectorization of `tensor.insert_slice` (2/N) (#123031)

For context, recall that `tensor.insert_slice` is vectorised using the
`vector.transfer_read` + `vector.transfer_write` pair. An unmasked
example is shown below:

```mlir
// BEFORE VECTORIZATION
%res = tensor.insert_slice
  %slice into %dest[0, %c2]
  [5, 1] [1, 1] : tensor<5x1xi32> into tensor<5x3xi32>

// AFTER VECTORIZATION
%read = vector.transfer_read %source[%c0, %c0], %pad
  : tensor<5x1xi32>, vector<8x1xi32>
%res = vector.transfer_write %read, %dest[%c0, %c2]
  : vector<8x1xi32>, tensor<5x3xi32>
```

This PR extends `vectorizeAsInsertSliceOp` to add masking support for
the `vector.transfer_write` operation. This complements the changes
in #122927, which introduced masking for the `vector.transfer_read`.


  Commit: ac640a2d626e65cd4c35a4442f40a23da4d8cbfd
      https://github.com/llvm/llvm-project/commit/ac640a2d626e65cd4c35a4442f40a23da4d8cbfd
  Author: Malavika Samak <malavika.samak at gmail.com>
  Date:   2025-02-07 (Fri, 07 Feb 2025)

  Changed paths:
    M clang/test/SemaCXX/warn-unsafe-buffer-usage-array.cpp

  Log Message:
  -----------
  [Wunsafe-buffer-usage] Add additional tests to esnure safe accesses to const sized array are not warned (#125483)

Add more tests, where the index of the const array access evaluates to a
constant and depends on a template argument.

rdar://143759014

Co-authored-by: MalavikaSamak <malavika2 at apple.com>


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

  Changed paths:
    M mlir/test/Conversion/VectorToLLVM/vector-to-llvm-interface.mlir
    M mlir/test/Conversion/VectorToLLVM/vector-to-llvm.mlir

  Log Message:
  -----------
  [mlir][vector] Categorize Vector-to-LLVM conversion tests (nfc) (#125918)

Following https://github.com/llvm/llvm-project/issues/124308, this patch
reorganizes the `vector-to-llvm.mlir` tests by splitting them into two
categories:

- **Basic conversion tests**: Tests that only require
  `populateVectorToLLVMConversionPatterns`, focusing on the minimal
  conversion from Vector to LLVM. These have been moved to
  `vector-to-llvm-interface.mlir`.
- **Full pass tests**: Tests that require the complete
  `ConvertVectorToLLVMPass`, which includes
  `populateVectorToLLVMConversionPatterns` along with additional
  patterns. These remain in `vector-to-llvm.mlir`.

This reorganization clarifies test coverage and helps avoid unnecessary
duplication.

NOTE: This is merely moving tests around between two files and adds
some comments.


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

  Changed paths:
    M llvm/lib/Target/RISCV/AsmParser/RISCVAsmParser.cpp
    M llvm/lib/Target/RISCV/GISel/RISCVInstructionSelector.cpp
    M llvm/lib/Target/RISCV/MCTargetDesc/RISCVMatInt.cpp
    M llvm/lib/Target/RISCV/MCTargetDesc/RISCVTargetStreamer.cpp
    M llvm/lib/Target/RISCV/RISCVAsmPrinter.cpp
    M llvm/lib/Target/RISCV/RISCVFeatures.td
    M llvm/lib/Target/RISCV/RISCVFrameLowering.cpp
    M llvm/lib/Target/RISCV/RISCVGatherScatterLowering.cpp
    M llvm/lib/Target/RISCV/RISCVISelDAGToDAG.cpp
    M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
    M llvm/lib/Target/RISCV/RISCVIndirectBranchTracking.cpp
    M llvm/lib/Target/RISCV/RISCVInsertVSETVLI.cpp
    M llvm/lib/Target/RISCV/RISCVInsertWriteVXRM.cpp
    M llvm/lib/Target/RISCV/RISCVInstrFormats.td
    M llvm/lib/Target/RISCV/RISCVInstrInfo.cpp
    M llvm/lib/Target/RISCV/RISCVMakeCompressible.cpp
    M llvm/lib/Target/RISCV/RISCVMergeBaseOffset.cpp
    M llvm/lib/Target/RISCV/RISCVRegisterInfo.cpp
    M llvm/lib/Target/RISCV/RISCVSchedSiFive7.td
    M llvm/lib/Target/RISCV/RISCVScheduleV.td
    M llvm/lib/Target/RISCV/RISCVTargetMachine.cpp
    M llvm/lib/Target/RISCV/RISCVTargetTransformInfo.cpp
    M llvm/lib/Target/RISCV/RISCVVectorMaskDAGMutation.cpp

  Log Message:
  -----------
  [RISCV] Fix typos discovered by codespell (NFC) (#126191)

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

```
codespell RISCV --write-changes \
       --ignore-words-list=FPR,fpr,VAs,ORE,WorstCase,hart,sie,MIs,FLE,fle,CarryIn,vor,OLT,VILL,vill,bu,pass-thru 
```


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

  Changed paths:
    M libclc/CMakeLists.txt

  Log Message:
  -----------
  [libclc] Allow default path when looking for llvm-spirv (#126071)

This is an external tool, so I don't think there is an expectation that
it has to be in the LLVM tools bindir. It may also be in the default
system bindir (which is not necessarily the same).


  Commit: 15e50b1736002b730cbbe1bba74f05dfda4c8aaf
      https://github.com/llvm/llvm-project/commit/15e50b1736002b730cbbe1bba74f05dfda4c8aaf
  Author: Matthias Springer <me at m-sp.org>
  Date:   2025-02-07 (Fri, 07 Feb 2025)

  Changed paths:
    M mlir/include/mlir/Dialect/Arith/IR/ArithOps.td
    M mlir/include/mlir/Dialect/Polynomial/IR/PolynomialTypes.td
    M mlir/include/mlir/IR/CommonTypeConstraints.td

  Log Message:
  -----------
  [mlir][IR] Clean up type constraints around `ValueSemanticsContainerOf` (#126075)

* Remove duplicate `TypeOrContainer`. There is an identical class with
the same name: `TypeOrValueSemanticsContainer`.
* Remove `TypeOrContainerOfAnyRank` and use
`TypeOrValueSemanticsContainer` instead. `TypeOrContainerOfAnyRank` is
inconsistent with the other classes because it explicitly checks for
`VectorType` and `TensorType` instead of utilizing the value semantics
type trait.
* Remove `SignlessIntegerOrIndexLikeOfAnyRank` etc. and use
`SignlessIntegerOrIndexLike` instead. `SignlessIntegerOrIndexLike` etc.
already allow 0-d vectors, so there is no difference with
`SignlessIntegerOrIndexLikeOfAnyRank`.


  Commit: ac158aa13b5a81552e45e63f534420c38e514484
      https://github.com/llvm/llvm-project/commit/ac158aa13b5a81552e45e63f534420c38e514484
  Author: James Chesterman <James.Chesterman at arm.com>
  Date:   2025-02-07 (Fri, 07 Feb 2025)

  Changed paths:
    M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
    M llvm/lib/Transforms/Vectorize/VPlanRecipes.cpp
    M llvm/test/Transforms/LoopVectorize/AArch64/partial-reduce-dot-product-epilogue.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/partial-reduce-dot-product-neon.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/partial-reduce-dot-product.ll

  Log Message:
  -----------
  [LoopVectorizer] Allow partial reductions to be made in predicated loops (#124268)

Does a select on the input rather than the output. This way the mask has
the same number of lanes as the other operand in the select instruction.


  Commit: 4bf97aa818965d86055c762a42f6d518e8e3a21e
      https://github.com/llvm/llvm-project/commit/4bf97aa818965d86055c762a42f6d518e8e3a21e
  Author: Benjamin Maxwell <benjamin.maxwell at arm.com>
  Date:   2025-02-07 (Fri, 07 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.modf.ll
    A llvm/test/CodeGen/AArch64/veclib-llvm.modf.ll

  Log Message:
  -----------
  [IR] Add `llvm.modf` intrinsic (#121948)

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

The `llvm.modf` intrinsic takes a floating-point value and returns both
the integral and fractional parts (as a struct).

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

This corresponds to the libm `modf` function but returns multiple values
in a struct (rather than take output pointers), which makes it easier to
vectorize.


  Commit: 1608fe8d56015719d5bf7abca608adad8a866f43
      https://github.com/llvm/llvm-project/commit/1608fe8d56015719d5bf7abca608adad8a866f43
  Author: Michael Buch <michaelbuch12 at gmail.com>
  Date:   2025-02-07 (Fri, 07 Feb 2025)

  Changed paths:
    M lldb/source/Interpreter/OptionArgParser.cpp
    A lldb/test/Shell/Commands/command-breakpoint-by-addr.test

  Log Message:
  -----------
  [lldb][Breakpoint] Allow whitespace in breakpoint address expression (#126053)

Setting a breakpoint on `<symbol> + <offset>` used to work until
`2c76e88e9eb284d17cf409851fb01f1d583bb22a`, where this regex was
reworked. Now we only accept `<symbol>+ <offset>` or
`<symbol>+<offset>`.

This patch fixes the regression by adding yet another `[[:space:]]*`
component to the regex.

One could probably simplify the regex (or even replace the regex by just
calling the relevent `consumeXXX` APIs on `llvm::StringRef`). Though I
left that for the future.

rdar://130780342


  Commit: e00fc80c194b3742cd387b7cc74a5fd7ab775bf0
      https://github.com/llvm/llvm-project/commit/e00fc80c194b3742cd387b7cc74a5fd7ab775bf0
  Author: Michael Buch <michaelbuch12 at gmail.com>
  Date:   2025-02-07 (Fri, 07 Feb 2025)

  Changed paths:
    M clang/lib/CodeGen/CGDebugInfo.cpp
    A clang/test/CodeGen/debug-info-enum-extensibility.c

  Log Message:
  -----------
  [clang][DebugInfo] Set EnumKind based on enum_extensibility attribute (#126045)

This is the 2nd part to
https://github.com/llvm/llvm-project/pull/124752. Here we make sure to
set the `DICompositeType` `EnumKind` if the enum was declared with
`__attribute__((enum_extensibility(...)))`. In DWARF this will be
rendered as `DW_AT_APPLE_enum_kind` and will be used by LLDB when
creating `clang::EnumDecl`s from debug-info.
 
Depends on https://github.com/llvm/llvm-project/pull/126044


  Commit: 7aeae7379d430404499f2929ffeea9416575a091
      https://github.com/llvm/llvm-project/commit/7aeae7379d430404499f2929ffeea9416575a091
  Author: Michael Buch <michaelbuch12 at gmail.com>
  Date:   2025-02-07 (Fri, 07 Feb 2025)

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

  Log Message:
  -----------
  [lldb][TypeSystemClang] Fix typo in assertion

This was meant to assert that we have the same number of names as we do
formal parameter types (since callers of this API rely on this being true).


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

  Changed paths:
    M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
    M llvm/test/Transforms/LoopVectorize/AArch64/masked-call.ll

  Log Message:
  -----------
  [LoopVectorize] Fix cost model assert when vectorising calls (#125716)

The legacy and vplan cost models did not agree because
VPWidenCallRecipe::computeCost only calculates the cost of the
call instruction, whereas
LoopVectorizationCostModel::setVectorizedCallDecision in some
cases adds on the cost of a synthesised mask argument. However,
this mask is always 'splat(i1 true)' which should be hoisted out
of the loop during codegen. In order to synchronise the two cost
models I have two options:

1) Also add the cost of the splat to the vplan model, or
2) Remove the cost of the splat from the legacy model.

I chose 2) because I feel this more closely represents what the
final code will look like. There is an argument that we should
take account of such broadcast costs in the preheader when
deciding if it's profitable to vectorise a loop, however there
isn't currently a mechanism to do this. We currently only take
account of the runtime checks when assessing profitability and
what the minimum trip count should be. However, I don't believe
this work needs doing as part of this PR.


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

  Changed paths:
    M lldb/unittests/ValueObject/DynamicValueObjectLocalBuffer.cpp

  Log Message:
  -----------
  [lldb] Fix build error in ValueObject test

Fixes 0cbc4983adcdbbd85ccb38b2dfbfe5985367b1b2.

llvm-project/lldb/unittests/ValueObject/DynamicValueObjectLocalBuffer.cpp(221): error C2065: 'u_int8_t': undeclared identifier


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

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

  Log Message:
  -----------
  [LoopVectorize] Fix build error (#126218)

Fixes issue caused by 1930524bbde3cd26ff527bbdb5e1f937f484edd6

Unused variable UsesMask in LoopVectorize.cpp


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

  Changed paths:
    M llvm/lib/Target/AArch64/AArch64Subtarget.cpp
    M llvm/lib/Target/AArch64/AArch64Subtarget.h
    M llvm/lib/Target/AArch64/AArch64TargetTransformInfo.cpp
    M llvm/test/CodeGen/AArch64/Atomics/aarch64-atomic-load-rcpc_immo.ll

  Log Message:
  -----------
  [AArch64] Enable AvoidLDAPUR for cpu=generic between armv8.4 and armv9.3. (#125261)

As added in #124274, CPUs in this range can suffer from performance
issues with ldapur. As the gain from ldar->ldapr is expected to be
greater than the minor gain from ldapr->ldapur, this opts to avoid the
instruction under the default -mcpu=generic when the -march is less that
armv8.8 / armv9.3.

I renamed AArch64Subtarget::Others to AArch64Subtarget::Generic to be
clearer what it means.


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

  Changed paths:
    M lldb/unittests/ValueObject/DynamicValueObjectLocalBuffer.cpp

  Log Message:
  -----------
  [lldb] Fix compiler error in ValueObject tests

Fixes 0cbc4983adcdbbd85ccb38b2dfbfe5985367b1b2.

error: non-constant-expression cannot be narrowed from type 'uint64_t' (aka 'unsigned long long') to 'size_t' (aka 'unsigned int') in initializer list [-Wc++11-narrowing]
   71 |                     in_value.GetLocalBufferSize()};
      |                     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~

Given this is test code, I think a static cast is fine here.

Tiny risk that it's actually a symptom of a bug that would
happen if you did 32-bit to 64-bit debugging. I expect you'd
find a lot more bugs than that though.


  Commit: 612df14c0058572c876f59d41ec56c89710cee15
      https://github.com/llvm/llvm-project/commit/612df14c0058572c876f59d41ec56c89710cee15
  Author: Sjoerd Meijer <smeijer at nvidia.com>
  Date:   2025-02-07 (Fri, 07 Feb 2025)

  Changed paths:
    M clang/include/clang/Basic/CodeGenOptions.def
    M clang/include/clang/Driver/Options.td
    M clang/lib/CodeGen/BackendUtil.cpp
    M clang/lib/Driver/ToolChains/Clang.cpp
    M clang/lib/Frontend/CompilerInvocation.cpp
    M clang/test/Driver/clang_f_opts.c
    M llvm/include/llvm/Passes/PassBuilder.h
    M llvm/lib/Passes/PassBuilderPipelines.cpp

  Log Message:
  -----------
  [Clang][Driver] Add an option to control loop-interchange (#125830)

This introduces options `-floop-interchange` and `-fno-loop-interchange`
to enable/disable the loop-interchange pass. This is part of the work
that tries to get that pass enabled by default (#124911), where it was
remarked that a user facing option to control this would be convenient
to have. The option name is the same as GCC's.


  Commit: 98e118ca435d280ff1c3540eb5e9b4140b44a1b4
      https://github.com/llvm/llvm-project/commit/98e118ca435d280ff1c3540eb5e9b4140b44a1b4
  Author: Michael Kruse <llvm-project at meinersbur.de>
  Date:   2025-02-07 (Fri, 07 Feb 2025)

  Changed paths:
    M clang/lib/Driver/ToolChains/CommonArgs.cpp
    M clang/lib/Driver/ToolChains/Flang.cpp
    M flang/docs/FlangDriver.md
    M flang/lib/Decimal/CMakeLists.txt
    M flang/runtime/CMakeLists.txt
    M flang/test/Driver/linker-flags.f90
    M flang/test/Driver/msvc-dependent-lib-flags.f90
    M flang/test/Driver/nostdlib.f90
    M flang/test/Runtime/no-cpp-dep.c
    M flang/test/lit.cfg.py
    M lld/COFF/MinGW.cpp

  Log Message:
  -----------
  [Flang] Don't use FortranDecimal for runtime (#121997)

Avoid using the same library for runtime and compiler. `FortranDecimal`
was used in two ways:

1. As an auxiliary library needed for `libFortranRuntime.a`. This patch
adds the two source files of FortranDecimal directly into
FortranRuntime, so `FortranRuntime` is not used anymore.
 
2. As a library used by the Flang compiler. As the only remaining use of
the library, extra CMake code to make it compatible with the runtime can
be removed.

Before this PR, `enable_cuda_compilation` is applied to `FortranDecimal`
which causes everything that links to it, including flang (the
compiler), to depend on libcudart when CUDA support is enabled.

Having two runtime library just makes everything more complicated while
the user ideally should not be concerned with how the runtime is
structured internally. Some logic was copied for FortranDecimal because
of this, such as the ability to be compiled out-of tree
(b75a3c9f31c1ffdc9856aee32991d8129b372ee7) which is undocumented, the
logic to link against the various versions of Microsofts runtime library
(#70833), and avoiding dependency on the C++ runtime
(7783bba22c7add678d796741d30669c73159b3d8).


  Commit: c269182b13abddc459820e57a4d2065f364b23dc
      https://github.com/llvm/llvm-project/commit/c269182b13abddc459820e57a4d2065f364b23dc
  Author: Michael Buch <michaelbuch12 at gmail.com>
  Date:   2025-02-07 (Fri, 07 Feb 2025)

  Changed paths:
    M clang/include/clang/AST/DeclTemplate.h
    M lldb/source/Plugins/TypeSystem/Clang/TypeSystemClang.cpp

  Log Message:
  -----------
  [lldb][TypeSystemClang] Initialize ClassTemplateSpecializationDecl's StrictPackMatch field (#126215)

This addresses the MSAN failure reported
in
https://github.com/llvm/llvm-project/pull/125791#issuecomment-2639183154:
```
==5633==WARNING: MemorySanitizer: use-of-uninitialized-value
    #0 in clang::ASTNodeImporter::CallOverloadedCreateFun<clang::ClassTemplateSpecializationDecl>::operator()
    #1 in bool clang::ASTNodeImporter::GetImportedOrCreateSpecialDecl<...>
...
```

The ASTImporter reads `D->hasStrictPackMatch()` and forwards it to the
constructor of the destination `ClassTemplateSpecializationDecl`. But if
`D` is a decl that LLDB created from debug-info, it would've been
created using `ClassTemplateSpecializationDecl::CreateDeserialized`,
which doesn't initialize the `StrictPackMatch` field.

This patch just initializes the field to a fixed value of `false`, to
preserve previous behaviour and avoid the use-of-uninitialized-value.

An alternative would be to always initialize it in the
`ClassTemplateSpecializationDecl` constructor, but there were
reservations about providing a default value for it because it might
lead to hard-to-diagnose problems down the line.


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

  Changed paths:
    A llvm/test/Transforms/IndVarSimplify/pr126012.ll

  Log Message:
  -----------
  [IndVars] Add test for #126012 (NFC)


  Commit: 83ba3740bf51347307494d013099e392c310e32b
      https://github.com/llvm/llvm-project/commit/83ba3740bf51347307494d013099e392c310e32b
  Author: Pavel Labath <pavel at labath.sk>
  Date:   2025-02-07 (Fri, 07 Feb 2025)

  Changed paths:
    M lldb/include/lldb/Symbol/UnwindTable.h
    M lldb/source/Commands/CommandObjectTarget.cpp
    M lldb/source/Commands/Options.td
    M lldb/source/Symbol/UnwindTable.cpp
    R lldb/test/Shell/SymbolFile/Inputs/target-symbols-add-unwind.c
    M lldb/test/Shell/SymbolFile/target-symbols-add-unwind.test

  Log Message:
  -----------
  [lldb] Clear cached unwind plans when adding symbols (#125839)

PR #86603 broke unwinding in for unwind info added via "target symbols
add". #86770 attempted to fix this, but the fix was only partial -- it
accepted new sources of unwind information, but didn't take into account
that the symbol file can alter what lldb percieves as function
boundaries.

A stripped file will not contain information about private
(non-exported) symbols, which will make the public symbols appear very
large. If lldb tries to unwind from such a function before symbols are
added, then the cached unwind plan will prevent new (correct) unwind
plans from being created.

target-symbols-add-unwind.test might have caught this, were it not for
the fact that the "image show-unwind" command does *not* use cached
unwind information (it recomputes it from scratch).

The changes in this patch come in three pieces:
- Clear cached unwind plans when adding symbols. Since the symbol
boundaries can change, we cannot trust anything we've computed
previously.
- Add a flag to "image show-unwind" to display the cached unwind
information (mainly for the use in the test, but I think it's also
generally useful).
- Rewrite the test to better and more reliably simulate the real-world
scenario: I've swapped the running process for a core (minidump) file so
it can run anywhere; used the caching version of the show-unwind
command; and swapped C for assembly to better control the placement of
symbols


  Commit: 191d7d64e5bc9c66fcb17a4c752a55129d33fd44
      https://github.com/llvm/llvm-project/commit/191d7d64e5bc9c66fcb17a4c752a55129d33fd44
  Author: Jan Patrick Lehr <JanPatrick.Lehr at amd.com>
  Date:   2025-02-07 (Fri, 07 Feb 2025)

  Changed paths:
    M offload/test/sanitizer/kernel_crash_many.c
    M offload/test/sanitizer/kernel_trap.c
    M offload/test/sanitizer/kernel_trap.cpp
    M offload/test/sanitizer/kernel_trap_many.c

  Log Message:
  -----------
  [Offload] Fix assumptions on symbols after #124846 (#126238)

In #124846 the symbolizer was changed to ignore 0-column entries, which
lead to a slightly different representation in the stack traces. This
patch addresses these differences.

Not sure if the difference in kernel_trap.c is also a result of this
change or not.
Can be tracked separate from this, after the bots are back to green.


  Commit: 60cc48d900d16d895096cfd598938cf00b05ec0f
      https://github.com/llvm/llvm-project/commit/60cc48d900d16d895096cfd598938cf00b05ec0f
  Author: Nikolas Klauser <nikolasklauser at berlin.de>
  Date:   2025-02-07 (Fri, 07 Feb 2025)

  Changed paths:
    M libcxx/test/std/strings/basic.string/string.nonmembers/string_op+/char_string.pass.cpp
    M libcxx/test/std/strings/basic.string/string.nonmembers/string_op+/pointer_string.pass.cpp
    M libcxx/test/std/strings/basic.string/string.nonmembers/string_op+/string_char.pass.cpp
    M libcxx/test/std/strings/basic.string/string.nonmembers/string_op+/string_pointer.pass.cpp
    M libcxx/test/std/strings/basic.string/string.nonmembers/string_op+/string_string.pass.cpp

  Log Message:
  -----------
  [libc++] Refactor strings operator+ tests

This avoids duplicating the test data for all the different tests.


  Commit: 52b59476cdd251fec2404cc843b7b95c1cb4afeb
      https://github.com/llvm/llvm-project/commit/52b59476cdd251fec2404cc843b7b95c1cb4afeb
  Author: Ramkumar Ramachandra <ramkumar.ramachandra at codasip.com>
  Date:   2025-02-07 (Fri, 07 Feb 2025)

  Changed paths:
    M llvm/test/Analysis/ScalarEvolution/infer-via-ranges.ll
    A llvm/test/Transforms/IndVarSimplify/infer-via-ranges.ll

  Log Message:
  -----------
  SCEV: re-org a test, regen via UTC (#126237)


  Commit: 1454fc9dbfd13d75b9a06e604683a7440df3b757
      https://github.com/llvm/llvm-project/commit/1454fc9dbfd13d75b9a06e604683a7440df3b757
  Author: Igor Wodiany <igor.wodiany at imgtec.com>
  Date:   2025-02-07 (Fri, 07 Feb 2025)

  Changed paths:
    M mlir/include/mlir/Dialect/SPIRV/IR/SPIRVBase.td
    M mlir/include/mlir/Dialect/SPIRV/IR/SPIRVNonUniformOps.td
    M mlir/test/Dialect/SPIRV/IR/group-ops.mlir
    M mlir/test/Target/SPIRV/group-ops.mlir

  Log Message:
  -----------
  [mlir][spirv] Add definition for OpGroupNonUniformBallotBitCount (#126055)

A new constraint is also added to restrict attributes values for SPIR-V
attributes. Ideally this should use `ConfinedAttr` with a custom
constraint directly on the operand, however it seems TableGen does not
allow using that with SPIR-V attributes. I suspect it is because SPIR-V
attributes do not derive from the generic MLIR attribute class -
TableGen complains about missing enum field.


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

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

  Log Message:
  -----------
  [clang][bytecode] Remove unnecessary if statement (#126223)

This doesn't seem to do any good and breaks a few libc++ tests. Remove
the special case.


  Commit: 7f21c77024e562f55f7de0d36a9c9e747a5e9ff5
      https://github.com/llvm/llvm-project/commit/7f21c77024e562f55f7de0d36a9c9e747a5e9ff5
  Author: Ramkumar Ramachandra <ramkumar.ramachandra at codasip.com>
  Date:   2025-02-07 (Fri, 07 Feb 2025)

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

  Log Message:
  -----------
  ValueTracking: modernize isKnownInversion (NFC) (#126234)


  Commit: 2a6cfbd98516d902267a39e26ecbbff8c8121b01
      https://github.com/llvm/llvm-project/commit/2a6cfbd98516d902267a39e26ecbbff8c8121b01
  Author: Martin Storsjö <martin at martin.st>
  Date:   2025-02-07 (Fri, 07 Feb 2025)

  Changed paths:
    M clang/test/SemaCXX/unique_object_duplication.cpp

  Log Message:
  -----------
  [clang] [test] Adjust XFAILs for windows in unique_object_duplication.cpp (#126139)

This test does succeed in MinGW configurations.


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

  Changed paths:
    M llvm/docs/LangRef.rst

  Log Message:
  -----------
  [LangRef] Fix some formatting issues (NFC) (#126224)

Fixes codeblock and inline code formatting for the `llvm.modf.*`
intrinsic.


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

  Changed paths:
    A llvm/test/CodeGen/X86/swifttailcc-store-ret-address-aliasing-stack-slot.ll

  Log Message:
  -----------
  [X86] Add test where storing return addr clobbers argument stack slot.

Currently for the test the return address is written to the stack before
loading the argument from an aliasing stack slot.


  Commit: b51fc2ac60418316c3e308cff43a9fb9711d7b25
      https://github.com/llvm/llvm-project/commit/b51fc2ac60418316c3e308cff43a9fb9711d7b25
  Author: vdonaldson <37090318+vdonaldson at users.noreply.github.com>
  Date:   2025-02-07 (Fri, 07 Feb 2025)

  Changed paths:
    M flang/include/flang/Evaluate/target.h
    M flang/include/flang/Tools/TargetSetup.h

  Log Message:
  -----------
  [flang] Modifications to ieee_support_standard (#125967)

The result of a call to ieee_support_halting is one of the components
that affect the result of a call to ieee_support_standard.


  Commit: cfd8980fe79872feb9ed81959aa018681c7b3354
      https://github.com/llvm/llvm-project/commit/cfd8980fe79872feb9ed81959aa018681c7b3354
  Author: Steven Perron <stevenperron at google.com>
  Date:   2025-02-07 (Fri, 07 Feb 2025)

  Changed paths:
    M llvm/lib/Target/SPIRV/SPIRVEmitIntrinsics.cpp
    M llvm/test/CodeGen/SPIRV/hlsl-resources/BufferLoadStore.ll

  Log Message:
  -----------
  [SPIRV] Handle vector load/store for RWBuffer (#125581)

The type inference for `spv_resource_getpointer` must look at the uses
of the intrinsic. The type of the handle will be a scalar type, but it
can still be read or written as a vector of that type.

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


  Commit: a361de6d13183111e942d9f5c6345ed3e8964b2b
      https://github.com/llvm/llvm-project/commit/a361de6d13183111e942d9f5c6345ed3e8964b2b
  Author: Yashas Andaluri <quic_yandalur at quicinc.com>
  Date:   2025-02-07 (Fri, 07 Feb 2025)

  Changed paths:
    M llvm/include/llvm/CodeGen/RDFGraph.h
    M llvm/lib/CodeGen/RDFGraph.cpp
    A llvm/test/CodeGen/Hexagon/rdf-copy-clobber.mir
    A llvm/test/CodeGen/Hexagon/rdf-phi-clobber.mir

  Log Message:
  -----------
  [RDF] Create phi nodes for clobbering defs (#123694)

When a def in a block A reaches another block B that is in A's iterated
dominance frontier, a phi node is added to B for the def register.

A clobbering def can be created at a call instruction, for a register
clobbered by a call.
However, phi nodes are not created for a register, when one of the
reaching defs of the register is a clobbering def.

This patch adds phi nodes for registers that have a clobbering reaching
def. These additional phis help in checking reaching defs for an
instruction in RDF based copy propagation and addressing mode
optimizations.


  Commit: 1f2c36a879a604683da646a44f73bd6d90b61040
      https://github.com/llvm/llvm-project/commit/1f2c36a879a604683da646a44f73bd6d90b61040
  Author: Oliver Stannard <oliver.stannard at arm.com>
  Date:   2025-02-07 (Fri, 07 Feb 2025)

  Changed paths:
    M llvm/lib/Target/ARM/AsmParser/ARMAsmParser.cpp
    A llvm/test/MC/ARM/vcvt-fixed-point-errors.s
    M llvm/test/tools/llvm-mca/ARM/m55-fp.s
    M llvm/test/tools/llvm-mca/ARM/m7-fp.s
    M llvm/test/tools/llvm-mca/ARM/m85-fp.s

  Log Message:
  -----------
  [ARM] Reject fixed-point VCVT with different registers (#126232)

These instructions only have one register field in their encoding, so
both registers in the assembly must be the same.

Previously, we were accepting these instructions, but ignoring the
second register operand.

Fixes #126227


  Commit: b284a849d51b320004bc3e656c428aefab156dac
      https://github.com/llvm/llvm-project/commit/b284a849d51b320004bc3e656c428aefab156dac
  Author: Guray Ozen <guray.ozen at gmail.com>
  Date:   2025-02-07 (Fri, 07 Feb 2025)

  Changed paths:
    M mlir/include/mlir/Dialect/LLVMIR/NVVMOps.td

  Log Message:
  -----------
  [MLIR][NVVM] Add default constructor for `nvvm.barrier` [NFC] (#126225)

This PR adds a default constructor to `nvvm.barrier`, making it more
convenient to build the OP.


  Commit: 0227396417d4625bc93affdd8957ff8d90c76299
      https://github.com/llvm/llvm-project/commit/0227396417d4625bc93affdd8957ff8d90c76299
  Author: Nikolas Klauser <nikolasklauser at berlin.de>
  Date:   2025-02-07 (Fri, 07 Feb 2025)

  Changed paths:
    M libcxx/include/__type_traits/conjunction.h

  Log Message:
  -----------
  Revert "[libc++] Reduce std::conjunction overhead (#124259)"

It turns out that the new implementation takes significantly more stack
memory for some reason.

This reverts commit 2696e4fb9567d23ce065a067e7f4909b310daf50.


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

  Changed paths:
    M lld/test/COFF/arm64ec-patchable-thunks.test

  Log Message:
  -----------
  [LLD][COFF] Add test for hybrid patchable thunks on ARM64X (NFC) (#126135)


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

  Changed paths:
    M lld/COFF/MinGW.cpp
    M lld/test/COFF/arm64x-export-all.s

  Log Message:
  -----------
  [LLD][MinGW] Exclude load config symbols from auto-export (#126134)


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

  Changed paths:
    M llvm/lib/Target/AMDGPU/VOP3Instructions.td
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.alignbyte.ll
    M llvm/test/MC/AMDGPU/gfx11_asm_vop3.s
    M llvm/test/MC/AMDGPU/gfx11_asm_vop3_dpp16.s
    M llvm/test/MC/AMDGPU/gfx11_asm_vop3_dpp8.s
    M llvm/test/MC/AMDGPU/gfx12_asm_vop3.s
    M llvm/test/MC/AMDGPU/gfx12_asm_vop3_dpp16.s
    M llvm/test/MC/AMDGPU/gfx12_asm_vop3_dpp8.s
    M llvm/test/MC/Disassembler/AMDGPU/gfx11_dasm_vop3.txt
    M llvm/test/MC/Disassembler/AMDGPU/gfx11_dasm_vop3_dpp16.txt
    M llvm/test/MC/Disassembler/AMDGPU/gfx11_dasm_vop3_dpp8.txt
    M llvm/test/MC/Disassembler/AMDGPU/gfx12_dasm_vop3.txt
    M llvm/test/MC/Disassembler/AMDGPU/gfx12_dasm_vop3_dpp16.txt
    M llvm/test/MC/Disassembler/AMDGPU/gfx12_dasm_vop3_dpp8.txt

  Log Message:
  -----------
  [AMDGPU][True16][MC][CodeGen] true16 for v_alignbyte_b32 (#125706)

Support true16 format for v_alignbyte_b32 in MC and CodeGen


  Commit: 79e9887a0f408a50f5781aa5079ae71731e18c23
      https://github.com/llvm/llvm-project/commit/79e9887a0f408a50f5781aa5079ae71731e18c23
  Author: vdonaldson <37090318+vdonaldson at users.noreply.github.com>
  Date:   2025-02-07 (Fri, 07 Feb 2025)

  Changed paths:
    M flang/test/Evaluate/fold-ieee.f90
    M flang/test/Evaluate/folding18.f90

  Log Message:
  -----------
  [flang] test fix (#126251)


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

  Changed paths:
    R libcxx/test/benchmarks/containers/container_benchmarks.h
    R libcxx/test/benchmarks/containers/deque.bench.cpp
    R libcxx/test/benchmarks/containers/list.bench.cpp
    A libcxx/test/benchmarks/containers/sequence/deque.bench.cpp
    A libcxx/test/benchmarks/containers/sequence/list.bench.cpp
    A libcxx/test/benchmarks/containers/sequence/sequence_container_benchmarks.h
    A libcxx/test/benchmarks/containers/sequence/vector.bench.cpp
    R libcxx/test/benchmarks/containers/vector.bench.cpp

  Log Message:
  -----------
  [libc++] Further refactor sequence container benchmarks (#126129)

This patch does not significantly change how the sequence container
benchmarks are done, but it adopts the same style as the associative
container benchmarks.

This commit does adjust how we were benchmarking push_back, where we
never really measured the overhead of the slow path of push_back (when
we need to reallocate).


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

  Changed paths:
    M llvm/lib/Transforms/Vectorize/VPlanRecipes.cpp
    A llvm/test/Transforms/LoopVectorize/X86/CostModel/vpinstruction-cost.ll

  Log Message:
  -----------
  [VPlan] Compute cost for binary op VPInstruction with underlying values. (#125434)

As exposed by https://github.com/llvm/llvm-project/pull/125094, we are
missing cost computation for some binary VPInstructions we created based
on original IR instructions. Their cost should be considered.

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


  Commit: 1f67070a3f6ca8d0bf5fdca90ceb6b607422c899
      https://github.com/llvm/llvm-project/commit/1f67070a3f6ca8d0bf5fdca90ceb6b607422c899
  Author: Eric Hein <ehein6 at gatech.edu>
  Date:   2025-02-07 (Fri, 07 Feb 2025)

  Changed paths:
    M mlir/lib/Transforms/ViewOpGraph.cpp
    M mlir/test/Transforms/print-op-graph-back-edges.mlir
    M mlir/test/Transforms/print-op-graph-cycles.mlir
    M mlir/test/Transforms/print-op-graph.mlir

  Log Message:
  -----------
  [ViewOpGraph] Improve GraphViz output (#125509)

This patch improves the GraphViz output of ViewOpGraph
(--view-op-graph).

- Switch to rectangular record-based nodes, inspired by a similar
visualization in [Glow](https://github.com/pytorch/glow). Rectangles
make more efficient use of space when printing text.
- Add input and output ports for each operand and result, and remove
edge labels.
- Switch to a muted color palette to reduce eye strain.


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

  Changed paths:
    M llvm/lib/Target/SPIRV/SPIRVEmitIntrinsics.cpp

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

This patch fixes:

  llvm/lib/Target/SPIRV/SPIRVEmitIntrinsics.cpp:749:13: error: unused
  variable 'ImageType' [-Werror,-Wunused-variable]


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

  Changed paths:
    M llvm/lib/Target/Hexagon/HexagonMachineFunctionInfo.h

  Log Message:
  -----------
  [Hexagon] Avoid repeated map lookups (NFC) (#126185)


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

  Changed paths:
    M llvm/lib/ObjectYAML/DWARFEmitter.cpp

  Log Message:
  -----------
  [ObjectYAML] Avoid repeated hash lookups (NFC) (#126187)


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

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

  Log Message:
  -----------
  [GVNHoist] Avoid repeated hash lookups (NFC) (#126189)


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

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

  Log Message:
  -----------
  [TableGen] Avoid repeated hash lookups (NFC) (#126190)


  Commit: d0170424b7250bf5cda0e6253ec62112a6e1c92a
      https://github.com/llvm/llvm-project/commit/d0170424b7250bf5cda0e6253ec62112a6e1c92a
  Author: Ron Gut <65685404+gutron at users.noreply.github.com>
  Date:   2025-02-07 (Fri, 07 Feb 2025)

  Changed paths:
    M clang/tools/clang-format/clang-format.el

  Log Message:
  -----------
  [emacs][clang-format] Suppress reference to free variable errors (#126254)

vc-git-program is referenced but not defined -- vc-git provides the
definition.


  Commit: 247430e9c41c61b66e2ee95c29a05de3e24c19b9
      https://github.com/llvm/llvm-project/commit/247430e9c41c61b66e2ee95c29a05de3e24c19b9
  Author: Haojian Wu <hokein.wu at gmail.com>
  Date:   2025-02-07 (Fri, 07 Feb 2025)

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

  Log Message:
  -----------
  [bazel] Temporarily disable a broken LookupAddressRangeWithStmtSequenceOffset debug info test


  Commit: 4c7cbb947814ed373f49b4a666206ccec8c9b63f
      https://github.com/llvm/llvm-project/commit/4c7cbb947814ed373f49b4a666206ccec8c9b63f
  Author: Kelvin Li <kkwli at users.noreply.github.com>
  Date:   2025-02-07 (Fri, 07 Feb 2025)

  Changed paths:
    M flang/test/Lower/PowerPC/ppc-vec-load-elem-order.f90
    M flang/test/Lower/PowerPC/ppc-vec-load.f90
    M flang/test/Lower/PowerPC/ppc-vec-splat-elem-order.f90
    M flang/test/Lower/PowerPC/ppc-vec-splat.f90

  Log Message:
  -----------
  [flang] update PPC vector tests (NFC) (#126256)

Replace 'undef' with 'poison' based on commit f4e3b87


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

  Changed paths:
    M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
    M llvm/test/CodeGen/AArch64/zext-shuffle.ll

  Log Message:
  -----------
  [AArch64] Fix op mask detection in performZExtDeinterleaveShuffleCombine (#126054)

Given a zext from an extract vector, with a shuffle mask like <4, 0, 0, 4> we
would previously recognize the top half as a deinterleave. In order to convert
into a uzp we should have been checking that the bottom half is also poison.

Fixes #125989


  Commit: f3040498f0bdcd6c61cf9df4ba41d2913118915e
      https://github.com/llvm/llvm-project/commit/f3040498f0bdcd6c61cf9df4ba41d2913118915e
  Author: Durgadoss R <durgadossr at nvidia.com>
  Date:   2025-02-07 (Fri, 07 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/tcgen05-commit.ll
    A llvm/test/CodeGen/NVPTX/tcgen05-fence.ll

  Log Message:
  -----------
  [NVPTX] Add tcgen05 wait/fence/commit intrinsics (#126091)

This patch adds intrinsics for tcgen05 wait,
fence and commit PTX instructions.

lit tests are added and verified with a
ptxas-12.8 executable.

Docs are updated in the NVPTXUsage.rst file.

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


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

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

  Log Message:
  -----------
  [Fuchsia] Support PGO (#120323)

Enable 2-stage builds with PGO.


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

  Changed paths:
    M clang/include/clang/ASTMatchers/ASTMatchers.h

  Log Message:
  -----------
  [clang][doc] Provide documentation for FixedPointLiteral matcher (#125122)

Provide a documentation for FixedPointLiteral explaining which literals
will be matched and which are not. This documentation is compatible with
https://github.com/llvm/llvm-project/commit/53e92e48d0c03a2475e8517dd4c28968d84fc217
change.

Co-authored-by: Vladislav Aranov <vladislav.aranov at ericsson.com>


  Commit: 3f8e2802069aabe4384ecd4575d50fd4457dae51
      https://github.com/llvm/llvm-project/commit/3f8e2802069aabe4384ecd4575d50fd4457dae51
  Author: Sarah Spall <sarahspall at microsoft.com>
  Date:   2025-02-07 (Fri, 07 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/CodeGen/CodeGenFunction.h
    M clang/lib/Edit/RewriteObjCFoundationAPI.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/ArrayElementwiseCast.hlsl
    A clang/test/CodeGenHLSL/BasicFeatures/StructElementwiseCast.hlsl
    A clang/test/CodeGenHLSL/BasicFeatures/VectorElementwiseCast.hlsl
    M clang/test/SemaHLSL/BuiltIns/vector-constructors-erros.hlsl
    A clang/test/SemaHLSL/Language/ElementwiseCast-errors.hlsl
    A clang/test/SemaHLSL/Language/ElementwiseCasts.hlsl

  Log Message:
  -----------
  [HLSL] Implement HLSL Elementwise casting (excluding splat cases); Re-land #118842 (#126258)

Implement HLSLElementwiseCast excluding support for splat cases
Do not support casting types that contain bitfields.
Partly closes https://github.com/llvm/llvm-project/issues/100609 and
partly closes https://github.com/llvm/llvm-project/issues/100619
Re-land #118842 after fixing warning as an error, found by a buildbot.


  Commit: c4c22a5377f41f3bcbca10a70a663b804659d2a2
      https://github.com/llvm/llvm-project/commit/c4c22a5377f41f3bcbca10a70a663b804659d2a2
  Author: Mats Jun Larsen <mats at jun.codes>
  Date:   2025-02-07 (Fri, 07 Feb 2025)

  Changed paths:
    M clang/utils/TableGen/MveEmitter.cpp

  Log Message:
  -----------
  [Clang][TableGen] Use PointerType::get(Context) in MVE TableGen emitter (NFC) (#124782)

Follow-up to #123569

Co-authored-by: Nikita Popov <github at npopov.com>


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

  Changed paths:
    M clang/lib/Driver/ToolChains/Clang.cpp
    M clang/test/Driver/offload-Xarch.c

  Log Message:
  -----------
  [Clang] Forward `-Xarch_<arch> -Wl,foo` for GPU toolchains (#126248)

Summary:
This patch handles the use of `-Xarch_<arch> -Wl,foo` to send an
argument to the linker for the embedded offloading jobs in the linker
wrapper. This makes it equivalent to `-Xoffload-linker foo`.


  Commit: 51759ffc4408e9eb5c2d40c9489ce3b98de233d5
      https://github.com/llvm/llvm-project/commit/51759ffc4408e9eb5c2d40c9489ce3b98de233d5
  Author: s.vgys <83276820+samvangysegem at users.noreply.github.com>
  Date:   2025-02-07 (Fri, 07 Feb 2025)

  Changed paths:
    M libc/CMakeLists.txt

  Log Message:
  -----------
  fix: removes invalid token from LLVM_VERSION_SUFFIX in LIBC namespace (#126193)

Resolves #125831


  Commit: 7eaaa4e9415fc7533e688a9ed877aff75b7dfce4
      https://github.com/llvm/llvm-project/commit/7eaaa4e9415fc7533e688a9ed877aff75b7dfce4
  Author: Piotr Fusik <p.fusik at samsung.com>
  Date:   2025-02-07 (Fri, 07 Feb 2025)

  Changed paths:
    M clang/docs/BoundsSafety.rst

  Log Message:
  -----------
  [BoundsSafety][doc] Fix formatting (#126245)


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

  Changed paths:
    M clang/test/Tooling/clang-linker-wrapper-spirv-elf.cpp
    M clang/test/lit.site.cfg.py.in
    M llvm/utils/gn/secondary/clang/test/BUILD.gn

  Log Message:
  -----------
  [clang-linker-wrapper][lit] Fix OpenMP SPIR-V ELF test again (#126142)

I was able to reproduce the issue with the sanitizer buildbot scripts
and confirmed this fixes it.

The issue was the quotes, `"0"` is true in Python so we incorrectly
added the `spirv-tools` feature even when the CMake variable was false.
I don't know why it didn't always fail.

Also add the var to clang's `BUILD.gn` which matches what we do for
other similar variables, however I don't think it has any effect on CI
here.

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


  Commit: 68325148d32edc70d85018364c5cb04432e5bd52
      https://github.com/llvm/llvm-project/commit/68325148d32edc70d85018364c5cb04432e5bd52
  Author: Diego Caballero <dieg0ca6aller0 at gmail.com>
  Date:   2025-02-07 (Fri, 07 Feb 2025)

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

  Log Message:
  -----------
  [mlir][Vector] Fold `vector.extract` from poison vector (#126122)

This PR adds a folder for `vector.extract(ub.poison) -> ub.poison`. It
also replaces `create` with `createOrFold` insert/extract ops in vector
unroll and transpose lowering patterns to trigger the poison foldings
introduced recently.


  Commit: 571a98722f5cabfc702aa1d307ffee9ebbef6e48
      https://github.com/llvm/llvm-project/commit/571a98722f5cabfc702aa1d307ffee9ebbef6e48
  Author: TatWai Chong <78814694+tatwaichong at users.noreply.github.com>
  Date:   2025-02-07 (Fri, 07 Feb 2025)

  Changed paths:
    M mlir/include/mlir/Dialect/Tosa/IR/TosaOps.td
    M mlir/include/mlir/Dialect/Tosa/Utils/ConversionUtils.h
    M mlir/lib/Conversion/TosaToLinalg/TosaToLinalg.cpp
    M mlir/lib/Conversion/TosaToTensor/TosaToTensor.cpp
    M mlir/lib/Dialect/Tosa/IR/TosaCanonicalizations.cpp
    M mlir/lib/Dialect/Tosa/IR/TosaOps.cpp
    M mlir/lib/Dialect/Tosa/Transforms/TosaDecomposeConv2D.cpp
    M mlir/lib/Dialect/Tosa/Transforms/TosaDecomposeDepthwise.cpp
    M mlir/lib/Dialect/Tosa/Transforms/TosaDecomposeTransposeConv.cpp
    M mlir/lib/Dialect/Tosa/Transforms/TosaReduceTransposes.cpp
    M mlir/lib/Dialect/Tosa/Utils/ConversionUtils.cpp
    M mlir/test/Conversion/TosaToLinalg/tosa-to-linalg-invalid.mlir
    M mlir/test/Conversion/TosaToLinalg/tosa-to-linalg.mlir
    M mlir/test/Conversion/TosaToTensor/tosa-to-tensor.mlir
    M mlir/test/Dialect/Tosa/canonicalize.mlir
    M mlir/test/Dialect/Tosa/constant-op-fold.mlir
    M mlir/test/Dialect/Tosa/inlining.mlir
    M mlir/test/Dialect/Tosa/invalid.mlir
    M mlir/test/Dialect/Tosa/level_check.mlir
    M mlir/test/Dialect/Tosa/ops.mlir
    M mlir/test/Dialect/Tosa/tosa-decompose-conv2d.mlir
    M mlir/test/Dialect/Tosa/tosa-decompose-depthwise.mlir
    M mlir/test/Dialect/Tosa/tosa-decompose-transpose-conv.mlir
    M mlir/test/Dialect/Tosa/tosa-infer-shapes.mlir
    M mlir/test/Dialect/Tosa/tosa-reduce-transposes.mlir

  Log Message:
  -----------
  [mlir][tosa] Change 'shape' of RESHAPE from attribute to input shape … (#125789)

The shape operand is changed to input shape type since V1.0

Change-Id: I508cc1d67e9b017048b3f29fecf202cb7d707110

Co-authored-by: Won Jeon <won.jeon at arm.com>


  Commit: 7aabbf22f0a55370638cf1bcd1004376b0d7dad8
      https://github.com/llvm/llvm-project/commit/7aabbf22f0a55370638cf1bcd1004376b0d7dad8
  Author: Arthur Eubanks <aeubanks at google.com>
  Date:   2025-02-07 (Fri, 07 Feb 2025)

  Changed paths:
    M llvm/lib/MC/ELFObjectWriter.cpp
    A llvm/test/CodeGen/X86/dwo-stats.ll

  Log Message:
  -----------
  [llvm][ELF] Separate out .dwo bytes written in stats (#126165)

So we can distinguish between debug info sections written to .dwo files
and those written to the object file.


  Commit: 5a0075adbb623c8661862b9af1272b8f430d9e5c
      https://github.com/llvm/llvm-project/commit/5a0075adbb623c8661862b9af1272b8f430d9e5c
  Author: Diego Caballero <dieg0ca6aller0 at gmail.com>
  Date:   2025-02-07 (Fri, 07 Feb 2025)

  Changed paths:
    M mlir/lib/Dialect/Vector/Transforms/LowerVectorShapeCast.cpp
    M mlir/test/Conversion/ConvertToSPIRV/vector-unroll.mlir
    M mlir/test/Dialect/Vector/vector-contract-to-matrix-intrinsics-transforms.mlir
    M mlir/test/Dialect/Vector/vector-shape-cast-lowering-scalable-vectors.mlir
    M mlir/test/Dialect/Vector/vector-shape-cast-lowering-transforms.mlir

  Log Message:
  -----------
  [mlir][Vector] Generate poison vectors in vector.shape_cast lowering (#125613)

This is the first PR that introduces `ub.poison` vectors as part of a
rewrite/conversion pattern in the Vector dialect. It replaces the
`arith.constant dense<0>` vector initialization for
`vector.insert_slice` ops with a poison vector.

This PR depends on all the previous PRs that introduced support for
poison in Vector operations such as `vector.shuffle`, `vector.extract`,
`vector.insert`, including ODS, canonicalization and lowering support.

This PR may improve end-to-end compilation time through LLVM, depending
on the workloads.


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

  Changed paths:
    M libc/hdr/types/CMakeLists.txt
    R libc/hdr/types/sighandler_t.h
    M libc/include/CMakeLists.txt
    M libc/include/llvm-libc-macros/gpu/signal-macros.h
    M libc/include/llvm-libc-macros/linux/signal-macros.h
    M libc/include/llvm-libc-types/CMakeLists.txt
    R libc/include/llvm-libc-types/__sighandler_t.h
    A libc/include/llvm-libc-types/sighandler_t.h
    M libc/include/llvm-libc-types/struct_sigaction.h
    M libc/include/signal.yaml
    M libc/src/signal/linux/CMakeLists.txt
    M libc/src/signal/linux/signal.cpp
    M libc/src/signal/signal.h
    M libc/test/UnitTest/FPExceptMatcher.cpp
    M libc/test/src/signal/CMakeLists.txt
    M libc/test/src/signal/signal_test.cpp

  Log Message:
  -----------
  [libc][signal] clean up usage of sighandler_t (#125745)


`man 3 signal`'s declaration has a face _only a mother could love_.

sighandler_t and __sighandler_t are not defined in the C standard, or POSIX.

They are helpful typedefs provided by glibc and the Linux kernel UAPI headers
respectively since working with function pointers' syntax can be painful. But
we should not rely on them; in C++ we have `auto*` and `using` statements.

Remove the proxy header, and only include a typedef for sighandler_t when
targeting Linux, for compatibility with glibc.

Fixes: #125598


  Commit: 2c4dd89902c3e679607567569651acf8b828360e
      https://github.com/llvm/llvm-project/commit/2c4dd89902c3e679607567569651acf8b828360e
  Author: Diego Caballero <dieg0ca6aller0 at gmail.com>
  Date:   2025-02-07 (Fri, 07 Feb 2025)

  Changed paths:
    M mlir/lib/Dialect/Vector/Transforms/LowerVectorBitCast.cpp
    M mlir/lib/Dialect/Vector/Transforms/LowerVectorBroadcast.cpp
    M mlir/lib/Dialect/Vector/Transforms/LowerVectorTranspose.cpp
    M mlir/test/Conversion/VectorToLLVM/vector-to-llvm.mlir
    M mlir/test/Dialect/Vector/vector-bitcast-lowering-transforms.mlir
    M mlir/test/Dialect/Vector/vector-broadcast-lowering-transforms.mlir
    M mlir/test/Dialect/Vector/vector-transpose-lowering.mlir

  Log Message:
  -----------
  [mlir][Vector] Introduce poison in LowerVectorBitCast/Broadcast/Transpose (#126180)

This PR continues with the introduction of poison as initialization
vector, in this particular case, in LowerVectorBitCast,
LowerVectorBroadcast and LowerVectorTranspose.


  Commit: f2a1103b323492160d7d27a1575fbda709b49036
      https://github.com/llvm/llvm-project/commit/f2a1103b323492160d7d27a1575fbda709b49036
  Author: Krishna Pandey <47917477+krishna2803 at users.noreply.github.com>
  Date:   2025-02-07 (Fri, 07 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/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 fixed point `countlsfx` functions in llvm-libc (#125356)

fixes #113357


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

  Changed paths:
    M llvm/lib/Target/RISCV/AsmParser/RISCVAsmParser.cpp

  Log Message:
  -----------
  [RISCV] Improve RISCVOperand Printing (#126179)

We've gradually added more information to the RISCVOperand structure,
but the debug output has never caught up, which is quite confusing. This
adds printing for many of additional the fields in the structure, where
they are relevant.

In addition to this, we now have quite a lot of internal registers which
share names with each other - e.g. X0_H, X0_W, X0, X0_Pair all have the
same name - so also print the enum value to differentiate these.


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

  Changed paths:
    M clang/test/CodeGenHLSL/resource-bindings.hlsl

  Log Message:
  -----------
  [HLSL][NFC] Add test check to make sure the resource handle gets stored in the resource global (#124866)


  Commit: 73f11ac17d50f0585d03a880e756ff13c321bfd0
      https://github.com/llvm/llvm-project/commit/73f11ac17d50f0585d03a880e756ff13c321bfd0
  Author: Scott Todd <scott.todd0 at gmail.com>
  Date:   2025-02-07 (Fri, 07 Feb 2025)

  Changed paths:
    M mlir/include/mlir/Dialect/Tosa/Utils/ConversionUtils.h

  Log Message:
  -----------
  [mlir][tosa] Use explicit namespace for OpTrait. (#126286)

I'm seeing build errors in a downstream project using torch-mlir that
are fixed by this change. See
https://github.com/iree-org/iree/pull/19903#discussion_r1946899561 for
more context. The build error on MSVC is:
```
C:\home\runner\_work\iree\iree\third_party\llvm-project\mlir\include\mlir/Dialect/Tosa/Utils/ConversionUtils.h(148): error C2872: 'OpTrait': ambiguous symbol
C:\home\runner\_work\iree\iree\third_party\llvm-project\mlir\include\mlir/Dialect/Tosa/IR/TosaOps.h(49): note: could be 'mlir::OpTrait'
C:\home\runner\_work\iree\iree\third_party\torch-mlir\include\torch-mlir/Dialect/Torch/IR/TorchTraits.h(23): note: or       'mlir::torch::Torch::OpTrait'
C:\home\runner\_work\iree\iree\third_party\llvm-project\mlir\include\mlir/Dialect/Tosa/Utils/ConversionUtils.h(148): note: the template instantiation context (the oldest one first) is
C:\home\runner\_work\iree\iree\third_party\torch-mlir\lib\Conversion\TorchToTosa\TosaLegalizeCommon.cpp(126): note: see reference to function template instantiation 'TosaOp mlir::tosa::CreateOpAndInfer<mlir::tosa::MulOp,mlir::Value&,mlir::Value&,mlir::Value&>(mlir::PatternRewriter &,mlir::Location,mlir::Type,mlir::Value &,mlir::Value &,mlir::Value &)' being compiled
        with
        [
            TosaOp=mlir::tosa::MulOp
        ]
C:\home\runner\_work\iree\iree\third_party\torch-mlir\include\torch-mlir/Conversion/TorchToTosa/TosaLegalizeUtils.h(83): note: see reference to function template instantiation 'TosaOp mlir::tosa::CreateOpAndInfer<TosaOp,mlir::Value&,mlir::Value&,mlir::Value&>(mlir::ImplicitLocOpBuilder &,mlir::Type,mlir::Value &,mlir::Value &,mlir::Value &)' being compiled
        with
        [
            TosaOp=mlir::tosa::MulOp
        ]
C:\home\runner\_work\iree\iree\third_party\torch-mlir\include\torch-mlir/Conversion/TorchToTosa/TosaLegalizeUtils.h(76): note: see reference to function template instantiation 'TosaOp mlir::tosa::CreateOpAndInferShape<TosaOp,mlir::Value&,mlir::Value&,mlir::Value&>(mlir::ImplicitLocOpBuilder &,mlir::Type,mlir::Value &,mlir::Value &,mlir::Value &)' being compiled
        with
        [
            TosaOp=mlir::tosa::MulOp
        ]
```

I think the torch-mlir code here is causing the issue, but I'm not sure
why builds only started failing now:
https://github.com/llvm/torch-mlir/blob/main/include/torch-mlir/Dialect/Torch/IR/TorchTraits.h.
Given that `mlir::OpTrait` already exists, torch-mlir should not be
creating an ambiguous symbol `mlir::torch::Torch::OpTrait`. So while a
better fix would be to the downstream project, being explicit here
doesn't seem that unreasonable to me.


  Commit: 4df287a171b63514a5028b85272fcc1b89555ee4
      https://github.com/llvm/llvm-project/commit/4df287a171b63514a5028b85272fcc1b89555ee4
  Author: Benjamin Kramer <benny.kra at googlemail.com>
  Date:   2025-02-07 (Fri, 07 Feb 2025)

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

  Log Message:
  -----------
  [bazel] Add missing dependency for 5a0075adbb623c8661862b9af1272b8f430d9e5c


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

  Changed paths:
    M clang/test/Driver/offload-Xarch.c

  Log Message:
  -----------
  [OpenMP] Fix Xarch OpenMP test on Windows

Summary:
We don't support OpenMP offloading on Windows so this produces weird
results.


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

  Changed paths:
    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] Tensor descriptor type verifier (#124548)

Adds XeGPU tensor descriptor type verifier.

The type verifier covers general tensor descriptor invariants w.r.t. Xe
ISA semantics.
Related operation verifiers are updated to account for the new
descriptor checks and avoid duplication.


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

  Changed paths:
    M clang/lib/Sema/SemaOpenMP.cpp
    M clang/test/OpenMP/declare_target_messages.cpp

  Log Message:
  -----------
  [OpenMP] Fix infinite loop on recursive initializers (#126269)

Summary:
If the user tried to initialize a gobal declare target variable with
itself the compiler will hang forever. Add a visited set to make sure
this stops.

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


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

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

  Log Message:
  -----------
  [NFC][TableGen] Code cleanup in CodeGenMapTable `EmitMapTable` (#126157)

- Emit C++17 nested namespaces.
- Shorten the binary search table name to just `Table` since its
declared in the scope of each search function.
- Use `using namespace XXX` in the search function to avoid emitting the
Target Inst Namespace prefix in the table entries.
- Add short-cut handling of `TableSize` == 0 case (verified in Hexagon
target).
- Use `SetVector` in `ColFieldValueMap` to get automatic deduplication
and eliminate manual deduplication code.
- Use range for loops.


  Commit: 7abca756d1434f0e51cd0af8da647d51f38f634e
      https://github.com/llvm/llvm-project/commit/7abca756d1434f0e51cd0af8da647d51f38f634e
  Author: Ben Barham <ben_barham at apple.com>
  Date:   2025-02-07 (Fri, 07 Feb 2025)

  Changed paths:
    M clang/lib/Index/IndexBody.cpp
    A clang/test/Index/index-deduction-guide.cpp

  Log Message:
  -----------
  [Index] Skip adding call relations to deduction guides (#126151)

Deduction guides have no name and we already skip adding occurrences to
them for that reason. Also skip adding any relations to them.


  Commit: bada9220b87e73c0f4a498b82f883e17eda928d1
      https://github.com/llvm/llvm-project/commit/bada9220b87e73c0f4a498b82f883e17eda928d1
  Author: Krishna Pandey <47917477+krishna2803 at users.noreply.github.com>
  Date:   2025-02-07 (Fri, 07 Feb 2025)

  Changed paths:
    M libc/src/__support/fixed_point/fx_bits.h

  Log Message:
  -----------
  [libc][stdfix] Fix buildbot failure because of a typo. (#126291)

Fix build-bot failure caused by #125356


  Commit: 6ef978b8c41a83378af3de1dceeea434715f80f4
      https://github.com/llvm/llvm-project/commit/6ef978b8c41a83378af3de1dceeea434715f80f4
  Author: QuietMisdreavus <QuietMisdreavus at users.noreply.github.com>
  Date:   2025-02-07 (Fri, 07 Feb 2025)

  Changed paths:
    M clang/include/clang/ExtractAPI/ExtractAPIVisitor.h
    A clang/test/ExtractAPI/typedef_underscore.c

  Log Message:
  -----------
  [clang][ExtractAPI] combine typedef records if the underlying type's name is underscored (#125964)

fixes rdar://137214218

When 'typedef struct' decls are encountered, the records are combined if
the underlying type is either anonymous or has the same name as the
typedef. Extend this behavior to also combine records when the
underlying type has an underscored name that is equivalent to the
typedef name when the leading underscores are removed.


  Commit: 7623d917849daf6d796e497d125e48026b0247cf
      https://github.com/llvm/llvm-project/commit/7623d917849daf6d796e497d125e48026b0247cf
  Author: Joseph Huber <huberjn at outlook.com>
  Date:   2025-02-07 (Fri, 07 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/stdfix/CMakeLists.txt
    R libc/src/stdfix/countlshk.cpp
    R libc/src/stdfix/countlshk.h
    R libc/src/stdfix/countlshr.cpp
    R libc/src/stdfix/countlshr.h
    R libc/src/stdfix/countlsk.cpp
    R libc/src/stdfix/countlsk.h
    R libc/src/stdfix/countlslk.cpp
    R libc/src/stdfix/countlslk.h
    R libc/src/stdfix/countlslr.cpp
    R libc/src/stdfix/countlslr.h
    R libc/src/stdfix/countlsr.cpp
    R libc/src/stdfix/countlsr.h
    R libc/src/stdfix/countlsuhk.cpp
    R libc/src/stdfix/countlsuhk.h
    R libc/src/stdfix/countlsuhr.cpp
    R libc/src/stdfix/countlsuhr.h
    R libc/src/stdfix/countlsuk.cpp
    R libc/src/stdfix/countlsuk.h
    R libc/src/stdfix/countlsulk.cpp
    R libc/src/stdfix/countlsulk.h
    R libc/src/stdfix/countlsulr.cpp
    R libc/src/stdfix/countlsulr.h
    R libc/src/stdfix/countlsur.cpp
    R libc/src/stdfix/countlsur.h
    M libc/test/src/stdfix/CMakeLists.txt
    R libc/test/src/stdfix/CountlsTest.h
    R libc/test/src/stdfix/countlshk_test.cpp
    R libc/test/src/stdfix/countlshr_test.cpp
    R libc/test/src/stdfix/countlsk_test.cpp
    R libc/test/src/stdfix/countlslk_test.cpp
    R libc/test/src/stdfix/countlslr_test.cpp
    R libc/test/src/stdfix/countlsr_test.cpp
    R libc/test/src/stdfix/countlsuhk_test.cpp
    R libc/test/src/stdfix/countlsuhr_test.cpp
    R libc/test/src/stdfix/countlsuk_test.cpp
    R libc/test/src/stdfix/countlsulk_test.cpp
    R libc/test/src/stdfix/countlsulr_test.cpp
    R libc/test/src/stdfix/countlsur_test.cpp

  Log Message:
  -----------
  Revert "[libc][stdfix] Fix buildbot failure because of a typo. (#126291)"

This reverts commit bada9220b87e73c0f4a498b82f883e17eda928d1.

Revert "[libc][stdfix] Implement fixed point `countlsfx` functions in llvm-libc (#125356)"

This reverts commit f2a1103b323492160d7d27a1575fbda709b49036.


  Commit: dee20925e76e9aed50c0fd4ac36a9ee1039a5265
      https://github.com/llvm/llvm-project/commit/dee20925e76e9aed50c0fd4ac36a9ee1039a5265
  Author: Vinay Deshmukh <32487576+vinay-deshmukh at users.noreply.github.com>
  Date:   2025-02-07 (Fri, 07 Feb 2025)

  Changed paths:
    M libc/cmake/modules/LLVMLibCTestRules.cmake

  Log Message:
  -----------
  [libc][test] `-Wimplicit-fallthrough`, `-Wwrite-strings` and non-GCC warnings (#124036)


* Enabled `-Wimplicit-fallthrough`
* Enabled `-Wwrite-strings`
* Enabled non-GCC warnings
* Fix non-GCC to mean `clang`
* Move `-Wstrict-prototypes` to common section

See:
https://github.com/llvm/llvm-project/pull/122835#discussion_r1924109264

Relates to #119281


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

  Changed paths:
    M llvm/test/Transforms/LoopVectorize/strict-fadd-interleave-only.ll

  Log Message:
  -----------
  [LV] Add ordered reduction test with live-in.

Extra test for https://github.com/llvm/llvm-project/pull/124644.


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

  Changed paths:
    M llvm/include/llvm/CodeGen/GlobalISel/LegalizerInfo.h

  Log Message:
  -----------
  [NFC][GlobalISel] Minor cleanup in LegalityQuery constructors (#126285)

- Remove a redundant LegalityQuery constructor by using a default value
for `MMODescrs` and remove const for ArrayRef arguments.
- Use a delegating constructor for `MemDesc` constructor that takes
`MachineMemOperand`.


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

  Changed paths:
    M .github/workflows/premerge.yaml

  Log Message:
  -----------
  workflows/premerge: Move concurrency definition to workflow level (#126308)

Prior workflow runs were not being cancelled when the pull request was
closed, and I think this was why. Also, there is no advantage to having
the definitions at the job level.


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

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

  Log Message:
  -----------
  [gn] fix bug in bfba6215cec2


  Commit: 8b12acd2a4a030ad0be76295b98815f93b2631d8
      https://github.com/llvm/llvm-project/commit/8b12acd2a4a030ad0be76295b98815f93b2631d8
  Author: Md Abdullah Shahneous Bari <98356296+mshahneo at users.noreply.github.com>
  Date:   2025-02-07 (Fri, 07 Feb 2025)

  Changed paths:
    M mlir/lib/Conversion/VectorToSPIRV/VectorToSPIRV.cpp
    M mlir/test/Conversion/VectorToSPIRV/vector-to-spirv.mlir

  Log Message:
  -----------
  [mlir][vector][spirv] Handle 1-element vector.{load|store} lowering. (#126294)

Add support for single element vector{load|store} lowering to SPIR-V.
Since, SPIR-V converts single element vector to scalars, it needs
special attention for vector{load|store} lowering to spirv{load|store}.


  Commit: 427b24a40879d512802ca4c04d18b0f124e2a684
      https://github.com/llvm/llvm-project/commit/427b24a40879d512802ca4c04d18b0f124e2a684
  Author: David CARLIER <devnexen at gmail.com>
  Date:   2025-02-07 (Fri, 07 Feb 2025)

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

  Log Message:
  -----------
  [compiler-rt][rtsan] adding readlink(at) interception (#126262)


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

  Changed paths:
    M libc/cmake/modules/LLVMLibCTestRules.cmake
    M libc/src/math/generic/CMakeLists.txt
    M libc/test/src/__support/CMakeLists.txt
    M libc/test/src/math/CMakeLists.txt
    M libc/test/src/math/exhaustive/CMakeLists.txt
    M libc/test/src/math/smoke/CMakeLists.txt
    M libc/test/src/stdfix/CMakeLists.txt
    M libc/utils/MPFRWrapper/CMakeLists.txt

  Log Message:
  -----------
  [libc] Use `${libc_opt_high_flag}` instead of `-O3` (#123233)

This is preferable since `${libc_opt_high_flag}` will be set correctly
for the compiler used.


  Commit: addbb4448487717283d334e48c63868d6f8553be
      https://github.com/llvm/llvm-project/commit/addbb4448487717283d334e48c63868d6f8553be
  Author: Joseph Huber <huberjn at outlook.com>
  Date:   2025-02-07 (Fri, 07 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

  Log Message:
  -----------
  [LinkerWrapper] Clean up options after proper forwarding (#126297)

Summary:
Recent changes made a lot of this stuff redundant or unused, clean it up
a bit.

Also snuck in a change to pass the CUDA path since we still use it for
`fatbinary` internally.


  Commit: 76985fd7cafddec5254c15caeeeabc80e5a8c2f9
      https://github.com/llvm/llvm-project/commit/76985fd7cafddec5254c15caeeeabc80e5a8c2f9
  Author: joaosaffran <126493771+joaosaffran at users.noreply.github.com>
  Date:   2025-02-07 (Fri, 07 Feb 2025)

  Changed paths:
    M llvm/include/llvm/BinaryFormat/DXContainer.h
    M llvm/include/llvm/BinaryFormat/DXContainerConstants.def
    A llvm/include/llvm/MC/DXContainerRootSignature.h
    M llvm/include/llvm/Object/DXContainer.h
    M llvm/include/llvm/ObjectYAML/DXContainerYAML.h
    M llvm/lib/MC/CMakeLists.txt
    A llvm/lib/MC/DXContainerRootSignature.cpp
    M llvm/lib/Object/DXContainer.cpp
    M llvm/lib/ObjectYAML/DXContainerEmitter.cpp
    M llvm/lib/ObjectYAML/DXContainerYAML.cpp
    A llvm/test/ObjectYAML/DXContainer/RootSignature-Flags.yaml
    M llvm/tools/obj2yaml/dxcontainer2yaml.cpp
    M llvm/unittests/Object/DXContainerTest.cpp
    M llvm/unittests/ObjectYAML/DXContainerYAMLTest.cpp

  Log Message:
  -----------
  [DXIL] Adding support to RootSignatureFlags in obj2yaml (#122396)

This PR adds:
- `RootSignatureFlags` extraction from DXContainer using `obj2yaml`


This PR is part of: #121493

---------

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


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

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

  Log Message:
  -----------
  [gn build] Port 76985fd7cafd


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

  Changed paths:
    M .github/workflows/libc-fullbuild-tests.yml
    M .github/workflows/libc-overlay-tests.yml

  Log Message:
  -----------
  [libc] Exercise all CMake build types in GitHub Action workflows (#126315)

We want to test libc in all build configurations: Debug, Release and
MinSizeRel which correspond to -O0, -O3 and -Os optimization flags.


  Commit: 898112e529eae3f4c2210d9b03b14b71869ebc9e
      https://github.com/llvm/llvm-project/commit/898112e529eae3f4c2210d9b03b14b71869ebc9e
  Author: David Pagan <dave.pagan at amd.com>
  Date:   2025-02-07 (Fri, 07 Feb 2025)

  Changed paths:
    M clang/docs/OpenMPSupport.rst

  Log Message:
  -----------
  [OpenMP][Docs] Update OpenMP supported features table (#126292)

Updated status to 'done' for OpenMP 6.0 features:
  - OpenMP directives in concurrent loop regions
  - atomics constructs on concurrent loop regions
  - Lift nesting restriction on concurrent loop

Removed duplicate OpenMP 6.0 feature per Michael Klemm:
  - atomic constructs in loop region


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

  Changed paths:
    M llvm/unittests/Object/DXContainerTest.cpp

  Log Message:
  -----------
  Use explicit unsigned literals to fix mixed sign comparisons


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

  Changed paths:
    M llvm/lib/DebugInfo/DWARF/DWARFDebugLine.cpp

  Log Message:
  -----------
  Use a stable sort to handle overlapping/duplicate line sequences

This can occur due to linker ICF and stable sort will ensure the results
are stable.

No explicit/new test coverage, because nondeterminism is non-testable.

It should already be covered by the DWARFDebugLineTest that was failing
some internal testing on an ARM machine which might've been what changed
the sort order. But `llvm::sort` also deliberately randomizes the
contents (under EXPENSIVE_CHECKS) so I'd have expected failures to show
up in any EXPENSIVE_CHECKS Build...


  Commit: e6e8ac59ba45e03da92aebec1f4561c1fa970df1
      https://github.com/llvm/llvm-project/commit/e6e8ac59ba45e03da92aebec1f4561c1fa970df1
  Author: Michael Kruse <llvm-project at meinersbur.de>
  Date:   2025-02-08 (Sat, 08 Feb 2025)

  Changed paths:
    M flang/CMakeLists.txt
    M flang/examples/CMakeLists.txt
    M flang/test/CMakeLists.txt
    M flang/test/Driver/ctofortran.f90
    M flang/test/Driver/exec.f90
    M flang/test/Runtime/no-cpp-dep.c
    M flang/test/lit.cfg.py
    M flang/test/lit.site.cfg.py.in
    M flang/tools/f18/CMakeLists.txt
    M flang/unittests/CMakeLists.txt
    M flang/unittests/Evaluate/CMakeLists.txt

  Log Message:
  -----------
  [Flang] Optionally do not compile the runtime in-tree (#122336)

Introduce the CMake switch FLANG_INCLUDE_RUNTIME. When set to off, do
not add build instructions for the runtime.

This is required for Flang-RT (#110217) and the current runtime CMake
code to co-exist. When using `LLVM_ENABLE_RUNTIME=flang-rt`, the in-tree
build instructions are in conflict and must be disabled.


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

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

  Log Message:
  -----------
  Revert "[Fuchsia] Support PGO" (#126293)

Reverts llvm/llvm-project#120323

This breaks some internal Fuchsia builders. We can reland again later,
once that is addresed.


  Commit: 7464dc8c7618aeb5a01998576bbcc4c88f0dde1d
      https://github.com/llvm/llvm-project/commit/7464dc8c7618aeb5a01998576bbcc4c88f0dde1d
  Author: Min-Yih Hsu <min.hsu at sifive.com>
  Date:   2025-02-07 (Fri, 07 Feb 2025)

  Changed paths:
    M llvm/lib/Target/RISCV/RISCVISelDAGToDAG.h

  Log Message:
  -----------
  [RISCV] Include RISCVGenSearchTable.inc in RISCVISelDAGToDAG.h (#126326)

This line was previously removed when
12d47247e5046b959af180e12f648c54e2c5e863 moved it to RISCVInstrInfo.h.
But we probably don't want to have dangling `#define *_DECL`
(RISCVGenSearchableTables.inc will `#undef` these macros) and I think
there is no harm putting declarations of those search table functions in
RISCVISelDAGToDAG.h.


  Commit: 51ba9819b40e04ef0ddbe141d3d30c32a295a0bc
      https://github.com/llvm/llvm-project/commit/51ba9819b40e04ef0ddbe141d3d30c32a295a0bc
  Author: A. Jiang <de34 at live.cn>
  Date:   2025-02-08 (Sat, 08 Feb 2025)

  Changed paths:
    M libcxx/test/support/MinSequenceContainer.h
    M libcxx/test/support/min_allocator.h

  Log Message:
  -----------
  [libc++][test] Fix `size_type` issues with `MinSequenceContainer` and `min_allocator` (#126267)

`MinSequenceContainer::size` can be narrowing on 64-bit platforms, and
MSVC complains about such implicit conversion. This PR changes the
implicit conversion to explicit `static_cast`.

`min_allocator::allocate` and `min_allocator::deallocate` have
`ptrdiff_t` as the parameter type, which seems weird, because the
underlying `std::allocator`'s member functions take `size_t`. It seems
better to use `size_t` consistently.


  Commit: 12a154a94a9c2f6f0690adc7302da9c9e47ec806
      https://github.com/llvm/llvm-project/commit/12a154a94a9c2f6f0690adc7302da9c9e47ec806
  Author: Ami-zhang <zhanglimin at loongson.cn>
  Date:   2025-02-08 (Sat, 08 Feb 2025)

  Changed paths:
    M libunwind/src/UnwindCursor.hpp
    M libunwind/test/signal_unwind.pass.cpp
    M libunwind/test/unwind_leaffunction.pass.cpp

  Log Message:
  -----------
  [libunwind] Unwind through loongarch64/Linux sigreturn frame (#123682)

Similar to D90898 (Linux AArch64), D124765 (SystemZ), and D148499
(RISCV).

In this commit, I enabled two test cases, while zhuqizheng supported
with the source code development.

Co-Authored-By: zhuqizheng <zhuqizheng at loongson.cn>

Co-authored-by: zhuqizheng <zhuqizheng at loongson.cn>


  Commit: ff79d83caeeea8457f69406f38801fe8893bbfd8
      https://github.com/llvm/llvm-project/commit/ff79d83caeeea8457f69406f38801fe8893bbfd8
  Author: Tiezhu Yang <yangtiezhu at loongson.cn>
  Date:   2025-02-08 (Sat, 08 Feb 2025)

  Changed paths:
    M lldb/source/Plugins/Process/Linux/NativeRegisterContextLinux_loongarch64.cpp

  Log Message:
  -----------
  [LLDB][LoongArch] Extend the maximum number of watchpoints (#126204)

The maximum number of load/store watchpoints and fetch instruction
watchpoints is 14 each according to LoongArch Reference Manual [1],
so extend the maximum number of watchpoints from 8 to 14 for ptrace.

A new struct user_watch_state_v2 was added into uapi in the related
kernel commit 531936dee53e ("LoongArch: Extend the maximum number of
watchpoints") [2], but there may be no struct user_watch_state_v2 in
the system header in time.

In order to avoid undefined or redefined error, just add a new struct
loongarch_user_watch_state in LLDB which is same with the uapi struct
user_watch_state_v2, then replace the current user_watch_state with
loongarch_user_watch_state.

As far as I can tell, the only users for this struct in the userspace
are GDB and LLDB, there are no any problems of software compatibility
between the application and kernel according to the analysis.

The compatibility problem has been considered while developing and
testing. When the applications in the userspace get watchpoint state,
the length will be specified which is no bigger than the sizeof struct
user_watch_state or user_watch_state_v2, the actual length is assigned
as the minimal value of the application and kernel in the generic code
of ptrace:

```
kernel/ptrace.c: ptrace_regset():

	kiov->iov_len = min(kiov->iov_len,
                            (__kernel_size_t) (regset->n * regset->size));

	if (req == PTRACE_GETREGSET)
                return copy_regset_to_user(task, view, regset_no, 0,
                                           kiov->iov_len, kiov->iov_base);
	else
                return copy_regset_from_user(task, view, regset_no, 0,
                                             kiov->iov_len, kiov->iov_base);
```

For example, there are four kind of combinations, all of them work well.

(1) "older kernel + older app", the actual length is 8+(8+8+4+4)*8=200;
(2) "newer kernel + newer app", the actual length is 8+(8+8+4+4)*14=344;
(3) "older kernel + newer app", the actual length is 8+(8+8+4+4)*8=200;
(4) "newer kernel + older app", the actual length is 8+(8+8+4+4)*8=200.

[1]
https://loongson.github.io/LoongArch-Documentation/LoongArch-Vol1-EN.html#control-and-status-registers-related-to-watchpoints
[2]
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=531936dee53e

Signed-off-by: Tiezhu Yang <yangtiezhu at loongson.cn>


  Commit: b850ce41db1e90cb2573ab5880da1d05de7828fd
      https://github.com/llvm/llvm-project/commit/b850ce41db1e90cb2573ab5880da1d05de7828fd
  Author: Uday Bondhugula <uday at polymagelabs.com>
  Date:   2025-02-08 (Sat, 08 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
    M mlir/test/Dialect/Affine/loop-fusion-4.mlir

  Log Message:
  -----------
  [MLIR][Affine] Fix private memref creation bug in affine fusion (#126028)

Fix private memref creation bug in affine fusion exposed in the case of
the same memref being loaded from/stored to in producer nest. Make the
private memref replacement sound.

Change affine fusion debug string to affine-fusion - more compact.

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


  Commit: 9d5edc9a0dd35049017aad2a9d3f4a4a2746fec9
      https://github.com/llvm/llvm-project/commit/9d5edc9a0dd35049017aad2a9d3f4a4a2746fec9
  Author: Augusto Noronha <anoronha at apple.com>
  Date:   2025-02-07 (Fri, 07 Feb 2025)

  Changed paths:
    M lldb/include/lldb/ValueObject/ValueObject.h
    M lldb/source/ValueObject/ValueObject.cpp
    M lldb/source/ValueObject/ValueObjectDynamicValue.cpp
    M lldb/unittests/ValueObject/DynamicValueObjectLocalBuffer.cpp

  Log Message:
  -----------
  [lldb][NFC] Replace GetLocalBufferSize() with GetLocalBuffer() (#126333)


  Commit: de12bf508970ef9c0612c3950410530c4b822e6e
      https://github.com/llvm/llvm-project/commit/de12bf508970ef9c0612c3950410530c4b822e6e
  Author: Craig Topper <craig.topper at sifive.com>
  Date:   2025-02-07 (Fri, 07 Feb 2025)

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

  Log Message:
  -----------
  [RISCV] Refactor tablegen classes to push common values down to VPseudoBinaryM. NFC (#126339)

Move VPseudoBinaryM ajacent to its only users.


  Commit: e0a21e23a7aa6acf3e07b866c3c599db5eb4b67f
      https://github.com/llvm/llvm-project/commit/e0a21e23a7aa6acf3e07b866c3c599db5eb4b67f
  Author: Gedare Bloom <gedare at rtems.org>
  Date:   2025-02-07 (Fri, 07 Feb 2025)

  Changed paths:
    M clang/docs/ClangFormatStyleOptions.rst
    M clang/docs/ReleaseNotes.rst
    M clang/include/clang/Format/Format.h
    M clang/lib/Format/Format.cpp
    M clang/lib/Format/FormatToken.cpp
    M clang/unittests/Format/ConfigParseTest.cpp
    M clang/unittests/Format/FormatTest.cpp

  Log Message:
  -----------
  [clang-format] Add BinPackLongBracedList style option (#112482)

The use of Cpp11BracedListStyle with BinPackArguments=False avoids bin
packing until reaching a hard-coded limit of 20 items. This is an
arbitrary choice. Introduce a new style option to allow disabling this
limit.


  Commit: 6f241e36831927e3aea113cfc017c34fdeda340a
      https://github.com/llvm/llvm-project/commit/6f241e36831927e3aea113cfc017c34fdeda340a
  Author: Yanzuo Liu <zwuis at outlook.com>
  Date:   2025-02-08 (Sat, 08 Feb 2025)

  Changed paths:
    M clang/docs/ReleaseNotes.rst
    M clang/lib/Sema/SemaInit.cpp
    M clang/test/SemaCXX/cxx1z-decomposition.cpp

  Log Message:
  -----------
  [Clang][Sema] Fix wrong initialization kind when handling initializing structured bindings from an array with direct-list-initialization (#124793)

In 377257f063c, elements of structured bindings are copy-initialized.
They should be direct-initialized because the form of the initializer of
the whole structured bindings is a direct-list-initialization.

> [dcl.struct.bind]/1:
> ... and each element is copy-initialized or direct-initialized from
the corresponding element of the assignment-expression as specified by
the form of the initializer. ...

For example,

```cpp
  int arr[2]{};
  // elements of `[a, b]` should be direct-initialized
  auto [a, b]{arr};
```


  Commit: 1c497c4837e82e23589b29e3ce0aedd3f461018b
      https://github.com/llvm/llvm-project/commit/1c497c4837e82e23589b29e3ce0aedd3f461018b
  Author: Kazu Hirata <kazu at google.com>
  Date:   2025-02-08 (Sat, 08 Feb 2025)

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

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


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

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

  Log Message:
  -----------
  [TableGen] Avoid repeated hash lookups (NFC) (#126344)


  Commit: 5901bda5a0ed31e024abc8a7af52b272400daa08
      https://github.com/llvm/llvm-project/commit/5901bda5a0ed31e024abc8a7af52b272400daa08
  Author: Kazu Hirata <kazu at google.com>
  Date:   2025-02-08 (Sat, 08 Feb 2025)

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

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


  Commit: 95922d83341f3476bdc2eccd524a02d9a4ab80da
      https://github.com/llvm/llvm-project/commit/95922d83341f3476bdc2eccd524a02d9a4ab80da
  Author: Kazu Hirata <kazu at google.com>
  Date:   2025-02-08 (Sat, 08 Feb 2025)

  Changed paths:
    M llvm/tools/dsymutil/BinaryHolder.cpp

  Log Message:
  -----------
  [dsymutil] Avoid repeated hash lookups (NFC) (#126190) (#126346)


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

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

  Log Message:
  -----------
  [TOSA] Fix negate maxValue computation (#126295)

getInput1Zp() returns an unsigned value which means in case of negative
zero point value the max intermediate value computation currently goes
wrong. Use getInput1ZpAttr() instead which returns an APInt and allows
easy sign extension to int64_t.


  Commit: 564b9b7f4db05b5ce3558041b164f21dfe051a91
      https://github.com/llvm/llvm-project/commit/564b9b7f4db05b5ce3558041b164f21dfe051a91
  Author: Akshat Oke <Akshat.Oke at amd.com>
  Date:   2025-02-08 (Sat, 08 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:
  -----------
  Revert "CodeGen][NewPM] Port MachineScheduler to NPM. (#125703)" (#126268)

This reverts commit 5aa4979c47255770cac7b557f3e4a980d0131d69 while I
investigate what's causing the compile-time regression.


  Commit: 16df836a527e4a04d2cbdb52365c81ff80e3e757
      https://github.com/llvm/llvm-project/commit/16df836a527e4a04d2cbdb52365c81ff80e3e757
  Author: Florian Hahn <flo at fhahn.com>
  Date:   2025-02-08 (Sat, 08 Feb 2025)

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

  Log Message:
  -----------
  [VPlan] Mark hasVF & hasScalableVF as const (NFC).


  Commit: 0cdb467c7da731bb83abc75480cbf66ad64aa014
      https://github.com/llvm/llvm-project/commit/0cdb467c7da731bb83abc75480cbf66ad64aa014
  Author: Michael Buch <michaelbuch12 at gmail.com>
  Date:   2025-02-08 (Sat, 08 Feb 2025)

  Changed paths:
    M lldb/source/Plugins/SymbolFile/DWARF/DWARFASTParserClang.cpp
    M lldb/source/Plugins/SymbolFile/DWARF/DWARFASTParserClang.h
    M lldb/source/Plugins/TypeSystem/Clang/TypeSystemClang.cpp
    M lldb/source/Plugins/TypeSystem/Clang/TypeSystemClang.h
    A lldb/test/Shell/Expr/TestEnumExtensibility.m

  Log Message:
  -----------
  [lldb][TypeSystemClang] Create EnumExtensibilityAttr from DW_AT_APPLE_enum_kind (#126221)

This patch consumes the `DW_AT_APPLE_enum_kind` attribute added in
https://github.com/llvm/llvm-project/pull/124752 and turns it into a
Clang attribute in the AST. This will currently be used by the Swift
language plugin when it creates `EnumDecl`s from debug-info and passes
it to Swift compiler, which expects these attributes


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

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

  Log Message:
  -----------
  [VPlan] Consistently use hasScalarVFOnly (NFC).

Consistently use hasScalarVFOnly instead of using
hasVF(ElementCount::getFixed(1)). Also add an assert to ensure all cases
are covered by hasScalarVFOnly.


  Commit: 66bea0df75ccdd5ffed41d06c7301a116d11abcb
      https://github.com/llvm/llvm-project/commit/66bea0df75ccdd5ffed41d06c7301a116d11abcb
  Author: Amr Hesham <amr96 at programmer.net>
  Date:   2025-02-08 (Sat, 08 Feb 2025)

  Changed paths:
    M llvm/lib/ObjCopy/ELF/ELFObjcopy.cpp
    M llvm/lib/ObjCopy/MachO/MachOObjcopy.cpp
    M llvm/lib/ObjCopy/wasm/WasmObjcopy.cpp
    M llvm/test/tools/llvm-objcopy/ELF/dump-section.test
    M llvm/test/tools/llvm-objcopy/MachO/dump-section.test
    M llvm/test/tools/llvm-objcopy/wasm/dump-section.test

  Log Message:
  -----------
  [llvm-objcopy] Fix prints wrong path when dump-section output path doesn't exist (#125345)

Fix printing the correct file path in the error message when the output
file specified by `--dump-section` cannot be opened

Fixes: #125113 on ELF, MachO, Wasm


  Commit: ef23ba7da34ca1285f10603cc4aa6441ab4530e6
      https://github.com/llvm/llvm-project/commit/ef23ba7da34ca1285f10603cc4aa6441ab4530e6
  Author: Guy David <49722543+guy-david at users.noreply.github.com>
  Date:   2025-02-08 (Sat, 08 Feb 2025)

  Changed paths:
    M llvm/lib/Support/Unix/Signals.inc

  Log Message:
  -----------
  [Support] Re-raise external signals (#125854)

Otherwise, the handler "swallows" the signal and the process continues
to execute. While this use case is peculiar, ignoring these signals
entirely seems more odd.


  Commit: 4e29148cca3fac0f1ffb1fbfbe3bbbd489859897
      https://github.com/llvm/llvm-project/commit/4e29148cca3fac0f1ffb1fbfbe3bbbd489859897
  Author: Mats Jun Larsen <mats at jun.codes>
  Date:   2025-02-08 (Sat, 08 Feb 2025)

  Changed paths:
    M clang/lib/CodeGen/Targets/XCore.cpp

  Log Message:
  -----------
  [CodeGen][XCore] Replace PointerType::getUnqual(Type) with opaque version (NFC) (#126279)

Follow-up to #123569


  Commit: 54e0c2bbe2b36b08772ca6e5e3f176d7caf116bd
      https://github.com/llvm/llvm-project/commit/54e0c2bbe2b36b08772ca6e5e3f176d7caf116bd
  Author: Mats Jun Larsen <mats at jun.codes>
  Date:   2025-02-08 (Sat, 08 Feb 2025)

  Changed paths:
    M clang/lib/CodeGen/Targets/SystemZ.cpp

  Log Message:
  -----------
  [CodeGen][SystemZ] Replace PointerType::getUnqual(Type) with opaque version (NFC) (#126280)

Follow-up to #126278


  Commit: df2e8ee7ae349364967a1a2d09f17b249a38c04d
      https://github.com/llvm/llvm-project/commit/df2e8ee7ae349364967a1a2d09f17b249a38c04d
  Author: Mats Jun Larsen <mats at jun.codes>
  Date:   2025-02-08 (Sat, 08 Feb 2025)

  Changed paths:
    M clang/lib/CodeGen/Targets/AArch64.cpp

  Log Message:
  -----------
  [CodeGen][AArch64] Replace PointerType::getUnqual(Type) with opaque version (NFC) (#126278)

Follow-up to #123569


  Commit: 6ff8a06de9ce125023e117014ce4dca8fcc391d7
      https://github.com/llvm/llvm-project/commit/6ff8a06de9ce125023e117014ce4dca8fcc391d7
  Author: Florian Hahn <flo at fhahn.com>
  Date:   2025-02-08 (Sat, 08 Feb 2025)

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

  Log Message:
  -----------
  [VPlan] Run recipe removal and simplification after optimizeForVFAndUF. (#125926)

Run recipe simplification and dead recipe removal after VPlan-based
unrolling and optimizeForVFAndUF, to clean up any redundant or dead
recipes introduced by them. Currently this is NFC, as it removes the
corresponding removeDeadRecipes run in optimizeForVFAndUF and no
additional simplifications kick in after unrolling yet. That is changing
with https://github.com/llvm/llvm-project/pull/123655.

Note that with this change, pattern-matching is now applied after
EVL-based recipes have been introduced.

Trying to match VPWidenEVLRecipe when not explicitly requested might
apply a pattern with 2 operands to one with 3 due to the extra EVL
operand and VPWidenEVLRecipe being a subclass of VPWidenRecipe.

To prevent this, update Recipe_match::match to only match
VPWidenEVLRecipe if it is in the requested recipe types (RecipeTy).

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


  Commit: e0fee55a5549e04bb14d45fba6267bd69285ce77
      https://github.com/llvm/llvm-project/commit/e0fee55a5549e04bb14d45fba6267bd69285ce77
  Author: Mats Jun Larsen <mats at jun.codes>
  Date:   2025-02-08 (Sat, 08 Feb 2025)

  Changed paths:
    M clang/lib/CodeGen/Address.h
    M clang/lib/CodeGen/CGBlocks.cpp
    M clang/lib/CodeGen/CGDecl.cpp
    M clang/lib/CodeGen/CGDeclCXX.cpp
    M clang/lib/CodeGen/CGExpr.cpp
    M clang/lib/CodeGen/CGObjCMac.cpp
    M clang/lib/CodeGen/CodeGenModule.cpp

  Log Message:
  -----------
  [CodeGen] Replace of PointerType::get(Type) with opaque version (NFC) (#124771)

Follow-up to https://github.com/llvm/llvm-project/issues/123569


  Commit: a07928c3ce9da62b82a796ef26f5f7aaa0311d37
      https://github.com/llvm/llvm-project/commit/a07928c3ce9da62b82a796ef26f5f7aaa0311d37
  Author: Mats Jun Larsen <mats at jun.codes>
  Date:   2025-02-08 (Sat, 08 Feb 2025)

  Changed paths:
    M clang/lib/CodeGen/Targets/Hexagon.cpp

  Log Message:
  -----------
  [CodeGen][Hexagon] Replace PointerType::getUnqual(Type) with opaque version (NFC) (#126274)

Follow-up to https://github.com/llvm/llvm-project/issues/123569

The obsolete bitcasts on the LoadInsts are also removed.


  Commit: 101b3ff7af8fabe4ec5c06219a70094c1d901c49
      https://github.com/llvm/llvm-project/commit/101b3ff7af8fabe4ec5c06219a70094c1d901c49
  Author: Sam Elliott <quic_aelliott at quicinc.com>
  Date:   2025-02-08 (Sat, 08 Feb 2025)

  Changed paths:
    M llvm/lib/Target/RISCV/AsmParser/RISCVAsmParser.cpp
    M llvm/lib/Target/RISCV/RISCVInstrInfo.td
    M llvm/lib/Target/RISCV/RISCVInstrInfoV.td
    M llvm/lib/Target/RISCV/RISCVInstrInfoXCV.td
    M llvm/lib/Target/RISCV/RISCVInstrInfoZc.td
    M llvm/lib/Target/RISCV/RISCVInstrInfoZfa.td

  Log Message:
  -----------
  [RISCV][NFC] Adopt DiagnosticString interface (#126290)


  Commit: 2feced1df0aa01f78501720b98faa985bcec846a
      https://github.com/llvm/llvm-project/commit/2feced1df0aa01f78501720b98faa985bcec846a
  Author: Durgadoss R <durgadossr at nvidia.com>
  Date:   2025-02-08 (Sat, 08 Feb 2025)

  Changed paths:
    M mlir/include/mlir/Dialect/LLVMIR/NVVMOps.td
    M mlir/lib/Dialect/LLVMIR/IR/NVVMDialect.cpp
    A mlir/test/Target/LLVMIR/nvvm/tcgen05-barriers.mlir

  Log Message:
  -----------
  [MLIR][NVVM] Add tcgen05 wait/fence Ops (#126265)

PR #126091 adds intrinsics for tcgen05
wait/fence/commit operations. This patch
adds NVVM Dialect Ops for them.

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


  Commit: 69b8cf4f0621b359b487ad41887c20984be53a34
      https://github.com/llvm/llvm-project/commit/69b8cf4f0621b359b487ad41887c20984be53a34
  Author: vporpo <vporpodas at google.com>
  Date:   2025-02-08 (Sat, 08 Feb 2025)

  Changed paths:
    M llvm/include/llvm/SandboxIR/Tracker.h
    A llvm/include/llvm/Transforms/Vectorize/SandboxVectorizer/Passes/TransactionAcceptOrRevert.h
    A llvm/include/llvm/Transforms/Vectorize/SandboxVectorizer/Passes/TransactionAlwaysAccept.h
    M llvm/lib/SandboxIR/Tracker.cpp
    M llvm/lib/Transforms/Vectorize/CMakeLists.txt
    M llvm/lib/Transforms/Vectorize/SandboxVectorizer/DependencyGraph.cpp
    M llvm/lib/Transforms/Vectorize/SandboxVectorizer/Passes/BottomUpVec.cpp
    M llvm/lib/Transforms/Vectorize/SandboxVectorizer/Passes/PassRegistry.def
    A llvm/lib/Transforms/Vectorize/SandboxVectorizer/Passes/TransactionAcceptOrRevert.cpp
    M llvm/lib/Transforms/Vectorize/SandboxVectorizer/SandboxVectorizer.cpp
    M llvm/lib/Transforms/Vectorize/SandboxVectorizer/SandboxVectorizerPassBuilder.cpp
    A llvm/test/Transforms/SandboxVectorizer/X86/simple_cost_test.ll
    M llvm/test/Transforms/SandboxVectorizer/bottomup_basic.ll
    M llvm/test/Transforms/SandboxVectorizer/bottomup_seed_slice.ll
    M llvm/test/Transforms/SandboxVectorizer/bottomup_seed_slice_pow2.ll
    M llvm/test/Transforms/SandboxVectorizer/cross_bbs.ll
    M llvm/test/Transforms/SandboxVectorizer/default_pass_pipeline.ll
    M llvm/test/Transforms/SandboxVectorizer/pack.ll
    M llvm/test/Transforms/SandboxVectorizer/repeated_instrs.ll
    M llvm/test/Transforms/SandboxVectorizer/scheduler.ll
    M llvm/test/Transforms/SandboxVectorizer/special_opcodes.ll
    M llvm/unittests/SandboxIR/TrackerTest.cpp

  Log Message:
  -----------
  [SandboxVec][BottomUpVec] Add cost estimation and tr-accept-or-revert pass (#126325)

The TransactionAcceptOrRevert pass is the final pass in the Sandbox
Vectorizer's default pass pipeline. It's job is to check the cost
before/after vectorization and accept or revert the IR to its original
state.

Since we are now starting the transaction in BottomUpVec, tests that run
a custom pipeline need to accept the transaction. This is done with the
help of the TransactionAlwaysAccept pass (tr-accept).


  Commit: 40ce8fd8436d7b52b31cb8174fe442c9c1cae7a0
      https://github.com/llvm/llvm-project/commit/40ce8fd8436d7b52b31cb8174fe442c9c1cae7a0
  Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
  Date:   2025-02-08 (Sat, 08 Feb 2025)

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

  Log Message:
  -----------
  [gn build] Port 69b8cf4f0621


  Commit: 5c8c2b3db54395073e3183f89167156df29dff61
      https://github.com/llvm/llvm-project/commit/5c8c2b3db54395073e3183f89167156df29dff61
  Author: Michael Kruse <llvm-project at meinersbur.de>
  Date:   2025-02-08 (Sat, 08 Feb 2025)

  Changed paths:
    M clang/lib/Driver/ToolChains/CommonArgs.cpp
    M clang/lib/Driver/ToolChains/Flang.cpp
    M flang/CMakeLists.txt
    M flang/cmake/modules/AddFlang.cmake
    M flang/docs/FlangDriver.md
    M flang/docs/GettingStarted.md
    M flang/docs/OpenACC-descriptor-management.md
    M flang/docs/Real16MathSupport.md
    M flang/docs/ReleaseNotes.md
    M flang/examples/ExternalHelloWorld/CMakeLists.txt
    M flang/lib/Optimizer/Builder/IntrinsicCall.cpp
    M flang/runtime/CMakeLists.txt
    M flang/runtime/CUDA/CMakeLists.txt
    M flang/runtime/Float128Math/CMakeLists.txt
    M flang/runtime/time-intrinsic.cpp
    M flang/runtime/tools.h
    M flang/test/CMakeLists.txt
    M flang/test/Driver/gcc-toolchain-install-dir.f90
    M flang/test/Driver/linker-flags.f90
    M flang/test/Driver/msvc-dependent-lib-flags.f90
    M flang/test/Driver/nostdlib.f90
    M flang/test/Runtime/no-cpp-dep.c
    M flang/test/lit.cfg.py
    M flang/tools/f18/CMakeLists.txt
    M flang/unittests/CMakeLists.txt
    M flang/unittests/Evaluate/CMakeLists.txt
    M flang/unittests/Runtime/CMakeLists.txt
    M flang/unittests/Runtime/CUDA/CMakeLists.txt
    M lld/COFF/MinGW.cpp

  Log Message:
  -----------
  [Flang] Rename libFortranRuntime.a to libflang_rt.runtime.a (#122341)

Following the conclusion of the
[RFC](https://discourse.llvm.org/t/rfc-names-for-flang-rt-libraries/84321),
rename Flang's runtime libraries as follows:

 * libFortranRuntime.(a|so) to libflang_rt.runtime.(a|so)
 * libFortranFloat128Math.a to libflang_rt.quadmath.a
* libCufRuntime_cuda_${CUDAToolkit_VERSION_MAJOR}.(a|so) to
libflang_rt.cuda_${CUDAToolkit_VERSION_MAJOR}.(a|so)

This follows the same naming scheme as Compiler-RT libraries
(`libclang_rt.${component}.(a|so)`). It provides some consistency
between Flang's runtime libraries for current and potential future
library components.


  Commit: 7f2f905361558b9137855b00debfdcc5eb057729
      https://github.com/llvm/llvm-project/commit/7f2f905361558b9137855b00debfdcc5eb057729
  Author: Vasileios Porpodas <vporpodas at google.com>
  Date:   2025-02-08 (Sat, 08 Feb 2025)

  Changed paths:
    A llvm/test/Transforms/SandboxVectorizer/X86/lit.local.cfg

  Log Message:
  -----------
  [SandboxVec] Fix: Add missing lit.local.cfg for target test


  Commit: 9266b48c5b28d4633cf7671c10c2aa52e22d4d65
      https://github.com/llvm/llvm-project/commit/9266b48c5b28d4633cf7671c10c2aa52e22d4d65
  Author: Florian Hahn <flo at fhahn.com>
  Date:   2025-02-08 (Sat, 08 Feb 2025)

  Changed paths:
    A llvm/test/Transforms/LoopVectorize/outer-loop-wide-phis.ll

  Log Message:
  -----------
  [VPlan] Add outer loop tests with wide phis in inner loop.

Add test coverage with phis outside a header block with multiple
incoming values.


  Commit: ca9c0486cccba08dc6a3489176cbd7f38bad8e63
      https://github.com/llvm/llvm-project/commit/ca9c0486cccba08dc6a3489176cbd7f38bad8e63
  Author: David Green <david.green at arm.com>
  Date:   2025-02-08 (Sat, 08 Feb 2025)

  Changed paths:
    M llvm/lib/Target/ARM/MCTargetDesc/ARMAsmBackend.cpp

  Log Message:
  -----------
  [ARM] Silence "enumerated and non-enumerated type in conditional expression" warning. NFC

Fixes #125543


  Commit: 451007173abaeff7de70d6d7fb0135b7858d093d
      https://github.com/llvm/llvm-project/commit/451007173abaeff7de70d6d7fb0135b7858d093d
  Author: Kazu Hirata <kazu at google.com>
  Date:   2025-02-08 (Sat, 08 Feb 2025)

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

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


  Commit: 2fee5ef2356b514dda30e89f39125a390c0d928e
      https://github.com/llvm/llvm-project/commit/2fee5ef2356b514dda30e89f39125a390c0d928e
  Author: Kazu Hirata <kazu at google.com>
  Date:   2025-02-08 (Sat, 08 Feb 2025)

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

  Log Message:
  -----------
  [ByteCode] Avoid repeated hash lookups (NFC) (#126379)


  Commit: 7628fcf3d43eb20c292ab0dd25ba3f52dba248a6
      https://github.com/llvm/llvm-project/commit/7628fcf3d43eb20c292ab0dd25ba3f52dba248a6
  Author: Kazu Hirata <kazu at google.com>
  Date:   2025-02-08 (Sat, 08 Feb 2025)

  Changed paths:
    M clang/lib/CrossTU/CrossTranslationUnit.cpp

  Log Message:
  -----------
  [CrossTU] Avoid repeated hash lookups (NFC) (#126380)


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

  Changed paths:
    M clang/utils/TableGen/ClangOptionDocEmitter.cpp

  Log Message:
  -----------
  [TableGen] Avoid repeated map lookups (NFC) (#126381)


  Commit: 1e0a48967102780a3caad09e874539869d04110d
      https://github.com/llvm/llvm-project/commit/1e0a48967102780a3caad09e874539869d04110d
  Author: YongKang Zhu <yongzhu at fb.com>
  Date:   2025-02-08 (Sat, 08 Feb 2025)

  Changed paths:
    M bolt/lib/RuntimeLibs/RuntimeLibrary.cpp

  Log Message:
  -----------
  [BOLT] Resolve symlink for library lookup (#126386)


  Commit: 8e61aae4a8ce938f42604b10123c3b21d4adc0b8
      https://github.com/llvm/llvm-project/commit/8e61aae4a8ce938f42604b10123c3b21d4adc0b8
  Author: Wael Yehia <wmyehia2001 at yahoo.com>
  Date:   2025-02-08 (Sat, 08 Feb 2025)

  Changed paths:
    M clang/docs/UsersManual.rst
    M clang/include/clang/Basic/CodeGenOptions.def
    M clang/include/clang/Driver/Options.td
    M clang/lib/CodeGen/BackendUtil.cpp
    M clang/lib/Driver/ToolChains/Clang.cpp
    A clang/test/CodeGen/profile-continuous.c
    A clang/test/Driver/fprofile-continuous.c

  Log Message:
  -----------
  [profile] Add a clang option -fprofile-continuous that enables continuous instrumentation profiling mode (#124353)

In Continuous instrumentation profiling mode, profile or coverage data
collected via compiler instrumentation is continuously synced to the
profile file. This feature has existed for a while, and is documented
here:

https://clang.llvm.org/docs/SourceBasedCodeCoverage.html#running-the-instrumented-program
This PR creates a user facing option to enable the feature.

---------

Co-authored-by: Wael Yehia <wyehia at ca.ibm.com>


  Commit: fec6d168bbdf5116d2f7aaa52f0f429916af4f2d
      https://github.com/llvm/llvm-project/commit/fec6d168bbdf5116d2f7aaa52f0f429916af4f2d
  Author: Jason Molenda <jmolenda at apple.com>
  Date:   2025-02-08 (Sat, 08 Feb 2025)

  Changed paths:
    M lldb/source/Plugins/ABI/X86/ABISysV_x86_64.cpp
    M lldb/source/Plugins/DynamicLoader/MacOSX-DYLD/DynamicLoaderDarwin.cpp
    M lldb/source/Plugins/ObjectFile/Mach-O/ObjectFileMachO.cpp
    M lldb/source/Plugins/Platform/MacOSX/PlatformDarwinKernel.cpp
    M lldb/source/Plugins/Process/gdb-remote/GDBRemoteCommunicationServerCommon.cpp
    M lldb/tools/debugserver/source/RNBRemote.cpp

  Log Message:
  -----------
  [lldb] Upstream a few remaining Triple::XROS patches (#126335)

Recognize the visionOS Triple::OSType::XROS os type. Some of these have
already been landed on main, but I reviewed the downstream sources and
there were a few that still needed to be landed upstream.


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

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

  Log Message:
  -----------
  [TableGen] Move formation of MoveSiblingMatcher earlier in ContractNodes. NFC

ContractNodes recursively walks forward through a linked list. During
this recursion, Matchers are combined into other Matchers.

Previously the formation of MoveSiblingMatcher was after the
recursive call so it occurred as we were unwinding. If a
MoveSiblingMatcher was formed, we would recursively walk forward
to the end of the linked list again which isn't efficient.

To make this more efficient, move the formation of MoveSiblingMatcher
to the forward pass. Add additional rules to unfold MoveSiblingMatcher
if it would be more efficient to use CheckChildType, CheckChildInteger,
CheckChildSame, etc.

As an added benefit, this makes the function tail recursive which
the compiler can better optimize.


  Commit: 4aa71f0d4cccf1b06949c5a3c5ceb2e19250c7df
      https://github.com/llvm/llvm-project/commit/4aa71f0d4cccf1b06949c5a3c5ceb2e19250c7df
  Author: Craig Topper <craig.topper at sifive.com>
  Date:   2025-02-08 (Sat, 08 Feb 2025)

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

  Log Message:
  -----------
  [TableGen] Fix an unused variable warning. NFC


  Commit: c40877d095eaa03d64e614723a69f1d68717f32a
      https://github.com/llvm/llvm-project/commit/c40877d095eaa03d64e614723a69f1d68717f32a
  Author: Min-Yih Hsu <min.hsu at sifive.com>
  Date:   2025-02-08 (Sat, 08 Feb 2025)

  Changed paths:
    M llvm/lib/Target/RISCV/RISCVInstrInfo.cpp
    A llvm/test/CodeGen/RISCV/postra-copy-expand.mir

  Log Message:
  -----------
  [RISCV] Attach an implicit source operand on vector copies (#126155)

Somtimes when we're breaking up a large vector copy into several smaller
ones, not every single smaller source registers are initialized at the
time when the original COPY happens, and the verifier will not be
pleased when seeing the smaller copies reading from an undef register.
This patch is a workaround for the said issue by attaching an implicit
read of the source operand on the newly generated copies.

This is tested by llvm/test/CodeGen/RISCV/rvv/vector-interleave.ll which
would have crashed the compiler without this fix when
LLVM_EXPENSIVE_CHECK is enabled. Original context:
https://github.com/llvm/llvm-project/pull/124825#issuecomment-2639097531

---------

Co-authored-by: Craig Topper <craig.topper at sifive.com>


  Commit: 10ed0e406589604bf8ea5edd571a6f72dd8a6721
      https://github.com/llvm/llvm-project/commit/10ed0e406589604bf8ea5edd571a6f72dd8a6721
  Author: Fangrui Song <i at maskray.me>
  Date:   2025-02-08 (Sat, 08 Feb 2025)

  Changed paths:
    M lld/ELF/Driver.cpp
    M lld/test/ELF/target-specific-options.s

  Log Message:
  -----------
  [ELF] Reorder target-specific error messaes


  Commit: c89735d289f341985ca2ea74486b96bc611b3c64
      https://github.com/llvm/llvm-project/commit/c89735d289f341985ca2ea74486b96bc611b3c64
  Author: Michael Kenzel <michael.kenzel at gmail.com>
  Date:   2025-02-08 (Sat, 08 Feb 2025)

  Changed paths:
    M llvm/include/llvm/Support/Threading.h

  Log Message:
  -----------
  Remove dependence on <ciso646> (#73273)

C++23 removed `<ciso646>` from the standard library. The header is used
in two places: Once in order to pull in standard library macros. Since
this file also includes `<optional>`, that use of `<ciso646>` is
technically redundant, but should probably be left in in case a future
change ever removes the include of `<optional>`. A second use of
`<ciso646>` appears to have been introduced in
da650094b187ee3c8017d74f63c885663faca1d8, but seems unnecessary (the
file doesn't seem to use anything from that header, and it seems to
build just fine on MSVC here without it). The new `<version>` header
should be supported by all supported implementations. This change
replaces uses of `<ciso646>` with the `<version>` header, or removes
them entirely where unnecessary.


  Commit: 7c60725fcf1038f6c84df396496cf52d67ab5b43
      https://github.com/llvm/llvm-project/commit/7c60725fcf1038f6c84df396496cf52d67ab5b43
  Author: Jonas Devlieghere <jonas at devlieghere.com>
  Date:   2025-02-08 (Sat, 08 Feb 2025)

  Changed paths:
    M llvm/include/llvm/Support/Threading.h

  Log Message:
  -----------
  Revert "Remove dependence on <ciso646>" (#126399)

Reverts llvm/llvm-project#73273


  Commit: 59cbe2ff591d91e8375cfb4f4ba59dff49a82f4f
      https://github.com/llvm/llvm-project/commit/59cbe2ff591d91e8375cfb4f4ba59dff49a82f4f
  Author: Michael Park <mcypark at gmail.com>
  Date:   2025-02-08 (Sat, 08 Feb 2025)

  Changed paths:
    A clang/test/Modules/pr120277-2.cpp

  Log Message:
  -----------
  [C++20][Modules][Serialization] Add an additional test case for #120277. (#126349)

https://github.com/llvm/llvm-project/commit/4b35dd57b88a59b169c3471cbc398113d3bf98e8
was shipped to address https://github.com/llvm/llvm-project/issues/120277 .

It was thought to be a regression in 19.x according to this comment:
https://github.com/llvm/llvm-project/issues/120277#issuecomment-2558991129

This is a test case that fails even in 17.x but nevertheless is also
fixed by: https://github.com/llvm/llvm-project/commit/4b35dd57b88a59b169c3471cbc398113d3bf98e8


  Commit: 66c31f5d024f3ec9f9afa74c340ba0a4e0776823
      https://github.com/llvm/llvm-project/commit/66c31f5d024f3ec9f9afa74c340ba0a4e0776823
  Author: Kazu Hirata <kazu at google.com>
  Date:   2025-02-08 (Sat, 08 Feb 2025)

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

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

This patch just cleans up the "if" condition.  Further cleanups are
left to subsequent patches.


  Commit: 8d373ceaec1f1b27c9e682cfaf71aae19ea48d98
      https://github.com/llvm/llvm-project/commit/8d373ceaec1f1b27c9e682cfaf71aae19ea48d98
  Author: Owen Pan <owenpiano at gmail.com>
  Date:   2025-02-08 (Sat, 08 Feb 2025)

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

  Log Message:
  -----------
  [clang-format] Handle C-style cast of member function pointer type (#126340)

Fixes #125012.


  Commit: 7b348f9bfdb319fe9497c881311eaa0aa40fed88
      https://github.com/llvm/llvm-project/commit/7b348f9bfdb319fe9497c881311eaa0aa40fed88
  Author: Abhishek Kaushik <abhishek.kaushik at intel.com>
  Date:   2025-02-09 (Sun, 09 Feb 2025)

  Changed paths:
    M llvm/lib/CodeGen/MIRPrinter.cpp
    M llvm/lib/CodeGen/MachineFunction.cpp

  Log Message:
  -----------
  [MIR][NFC] Use `std::move` to avoid copying (#125930)


  Commit: 5ecc86bbcaebea5e7e480a3b2a5c4327f204bf3b
      https://github.com/llvm/llvm-project/commit/5ecc86bbcaebea5e7e480a3b2a5c4327f204bf3b
  Author: Andreas Jonson <andjo403 at hotmail.com>
  Date:   2025-02-09 (Sun, 09 Feb 2025)

  Changed paths:
    M llvm/test/Transforms/InstCombine/known-bits.ll

  Log Message:
  -----------
  [ValueTracking] test trunc to i1 as condition in dominating condition. (NFC)


  Commit: 32c4493d5f8164ebe9d3d3e01ca744e6c3afcf17
      https://github.com/llvm/llvm-project/commit/32c4493d5f8164ebe9d3d3e01ca744e6c3afcf17
  Author: Florian Hahn <flo at fhahn.com>
  Date:   2025-02-09 (Sun, 09 Feb 2025)

  Changed paths:
    M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
    M llvm/lib/Transforms/Vectorize/VPlanRecipes.cpp
    M llvm/test/Transforms/LoopVectorize/AArch64/conditional-branches-cost.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/deterministic-type-shrinkage.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/divs-with-scalable-vfs.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/epilog-vectorization-factors.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/epilog-vectorization-widen-inductions.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/force-target-instruction-cost.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/induction-costs-sve.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/induction-costs.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/interleave-allocsize-not-equal-typesize.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/interleaving-load-store.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/interleaving-reduction.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/intrinsiccost.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/loop-vectorization-factors.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/low_trip_count_predicates.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/partial-reduce-dot-product-epilogue.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/pr60831-sve-inv-store-crash.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/simple_early_exit.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/store-costs-sve.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/sve-epilog-vect-inloop-reductions.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/sve-epilog-vect-reductions.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/sve-epilog-vect-strict-reductions.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/sve-epilog-vect.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/sve-fneg.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/sve-interleaved-accesses.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/sve-multiexit.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/sve-runtime-check-size-based-threshold.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/sve-vector-reverse.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/sve2-histcnt-epilogue.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/sve2-histcnt-too-many-deps.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/sve2-histcnt.ll
    M llvm/test/Transforms/LoopVectorize/ARM/mve-gather-scatter-tailpred.ll
    M llvm/test/Transforms/LoopVectorize/ARM/mve-hoist-runtime-checks.ll
    M llvm/test/Transforms/LoopVectorize/ARM/mve-multiexit.ll
    M llvm/test/Transforms/LoopVectorize/PowerPC/exit-branch-cost.ll
    M llvm/test/Transforms/LoopVectorize/PowerPC/optimal-epilog-vectorization.ll
    M llvm/test/Transforms/LoopVectorize/RISCV/blocks-with-dead-instructions.ll
    M llvm/test/Transforms/LoopVectorize/RISCV/dead-ops-cost.ll
    M llvm/test/Transforms/LoopVectorize/RISCV/induction-costs.ll
    M llvm/test/Transforms/LoopVectorize/RISCV/masked_gather_scatter.ll
    M llvm/test/Transforms/LoopVectorize/RISCV/strided-accesses.ll
    M llvm/test/Transforms/LoopVectorize/RISCV/type-info-cache-evl-crash.ll
    M llvm/test/Transforms/LoopVectorize/RISCV/vectorize-force-tail-with-evl-bin-unary-ops-args.ll
    M llvm/test/Transforms/LoopVectorize/RISCV/vectorize-force-tail-with-evl-call-intrinsics.ll
    M llvm/test/Transforms/LoopVectorize/RISCV/vectorize-force-tail-with-evl-cast-intrinsics.ll
    M llvm/test/Transforms/LoopVectorize/RISCV/vectorize-force-tail-with-evl-intermediate-store.ll
    M llvm/test/Transforms/LoopVectorize/RISCV/vf-will-not-generate-any-vector-insts.ll
    M llvm/test/Transforms/LoopVectorize/X86/conversion-cost.ll
    M llvm/test/Transforms/LoopVectorize/X86/cost-model.ll
    M llvm/test/Transforms/LoopVectorize/X86/divs-with-tail-folding.ll
    M llvm/test/Transforms/LoopVectorize/X86/epilog-vectorization-inductions.ll
    M llvm/test/Transforms/LoopVectorize/X86/float-induction-x86.ll
    M llvm/test/Transforms/LoopVectorize/X86/gather_scatter.ll
    M llvm/test/Transforms/LoopVectorize/X86/illegal-parallel-loop-uniform-write.ll
    M llvm/test/Transforms/LoopVectorize/X86/induction-costs.ll
    M llvm/test/Transforms/LoopVectorize/X86/interleave-cost.ll
    M llvm/test/Transforms/LoopVectorize/X86/intrinsiccost.ll
    M llvm/test/Transforms/LoopVectorize/X86/invariant-load-gather.ll
    M llvm/test/Transforms/LoopVectorize/X86/invariant-store-vectorization.ll
    M llvm/test/Transforms/LoopVectorize/X86/limit-vf-by-tripcount.ll
    M llvm/test/Transforms/LoopVectorize/X86/masked-store-cost.ll
    M llvm/test/Transforms/LoopVectorize/X86/masked_load_store.ll
    M llvm/test/Transforms/LoopVectorize/X86/multi-exit-cost.ll
    M llvm/test/Transforms/LoopVectorize/X86/pr23997.ll
    M llvm/test/Transforms/LoopVectorize/X86/pr35432.ll
    M llvm/test/Transforms/LoopVectorize/X86/pr36524.ll
    M llvm/test/Transforms/LoopVectorize/X86/pr47437.ll
    M llvm/test/Transforms/LoopVectorize/X86/pr54634.ll
    M llvm/test/Transforms/LoopVectorize/X86/pr56319-vector-exit-cond-optimization-epilogue-vectorization.ll
    M llvm/test/Transforms/LoopVectorize/X86/pr72969.ll
    M llvm/test/Transforms/LoopVectorize/X86/scatter_crash.ll
    M llvm/test/Transforms/LoopVectorize/X86/strided_load_cost.ll
    M llvm/test/Transforms/LoopVectorize/X86/uniform_mem_op.ll
    M llvm/test/Transforms/LoopVectorize/X86/vect.omp.force.small-tc.ll
    M llvm/test/Transforms/LoopVectorize/X86/vectorize-force-tail-with-evl.ll
    M llvm/test/Transforms/LoopVectorize/dead_instructions.ll
    M llvm/test/Transforms/LoopVectorize/epilog-iv-select-cmp.ll
    M llvm/test/Transforms/LoopVectorize/epilog-vectorization-any-of-reductions.ll
    M llvm/test/Transforms/LoopVectorize/epilog-vectorization-reductions.ll
    M llvm/test/Transforms/LoopVectorize/epilog-vectorization-trunc-induction-steps.ll
    M llvm/test/Transforms/LoopVectorize/first-order-recurrence-complex.ll
    M llvm/test/Transforms/LoopVectorize/fpsat.ll
    M llvm/test/Transforms/LoopVectorize/if-conversion-nest.ll
    M llvm/test/Transforms/LoopVectorize/if-pred-non-void.ll
    M llvm/test/Transforms/LoopVectorize/induction.ll
    M llvm/test/Transforms/LoopVectorize/interleaved-accesses-3.ll
    M llvm/test/Transforms/LoopVectorize/interleaved-accesses.ll
    M llvm/test/Transforms/LoopVectorize/invariant-store-vectorization-2.ll
    M llvm/test/Transforms/LoopVectorize/invariant-store-vectorization.ll
    M llvm/test/Transforms/LoopVectorize/load-deref-pred-align.ll
    M llvm/test/Transforms/LoopVectorize/multiple-strides-vectorization.ll
    M llvm/test/Transforms/LoopVectorize/no-fold-tail-by-masking-iv-external-uses.ll
    M llvm/test/Transforms/LoopVectorize/no_outside_user.ll
    M llvm/test/Transforms/LoopVectorize/opaque-ptr.ll
    M llvm/test/Transforms/LoopVectorize/optimal-epilog-vectorization-liveout.ll
    M llvm/test/Transforms/LoopVectorize/optimal-epilog-vectorization.ll
    M llvm/test/Transforms/LoopVectorize/optsize.ll
    M llvm/test/Transforms/LoopVectorize/pointer-select-runtime-checks.ll
    M llvm/test/Transforms/LoopVectorize/pr30654-phiscev-sext-trunc.ll
    M llvm/test/Transforms/LoopVectorize/pr37248.ll
    M llvm/test/Transforms/LoopVectorize/pr45259.ll
    M llvm/test/Transforms/LoopVectorize/pr47343-expander-lcssa-after-cfg-update.ll
    M llvm/test/Transforms/LoopVectorize/pr50686.ll
    M llvm/test/Transforms/LoopVectorize/pr59319-loop-access-info-invalidation.ll
    M llvm/test/Transforms/LoopVectorize/reduction-align.ll
    M llvm/test/Transforms/LoopVectorize/reverse_induction.ll
    M llvm/test/Transforms/LoopVectorize/runtime-check-needed-but-empty.ll
    M llvm/test/Transforms/LoopVectorize/runtime-check-small-clamped-bounds.ll
    M llvm/test/Transforms/LoopVectorize/runtime-check.ll
    M llvm/test/Transforms/LoopVectorize/runtime-checks-difference-simplifications.ll
    M llvm/test/Transforms/LoopVectorize/runtime-checks-hoist.ll
    M llvm/test/Transforms/LoopVectorize/scev-exit-phi-invalidation.ll
    M llvm/test/Transforms/LoopVectorize/scev-predicate-reasoning.ll
    M llvm/test/Transforms/LoopVectorize/select-cmp-multiuse.ll
    M llvm/test/Transforms/LoopVectorize/single_early_exit.ll
    M llvm/test/Transforms/LoopVectorize/skeleton-lcssa-crash.ll
    M llvm/test/Transforms/LoopVectorize/version-stride-with-integer-casts.ll
    M llvm/test/Transforms/PhaseOrdering/AArch64/indvars-vectorization.ll
    M llvm/test/Transforms/PhaseOrdering/AArch64/matrix-extract-insert.ll
    M llvm/test/Transforms/PhaseOrdering/X86/pr48844-br-to-switch-vectorization.ll
    M llvm/test/Transforms/PhaseOrdering/X86/vdiv.ll

  Log Message:
  -----------
  [VPlan] Add incoming values for all predecessor to ResumePHI (NFCI).

Follow-up as discussed when using VPInstruction::ResumePhi for all resume
values (#112147). This patch explicitly adds incoming values for each
predecessor in VPlan. This simplifies codegen and allows transformations
adjusting the predecessors of blocks with

NFC modulo incoming block order in phis.


  Commit: 09a500b3db5e99db4b5c7d5ac95c3aa99c191adf
      https://github.com/llvm/llvm-project/commit/09a500b3db5e99db4b5c7d5ac95c3aa99c191adf
  Author: Andreas Jonson <andjo403 at hotmail.com>
  Date:   2025-02-09 (Sun, 09 Feb 2025)

  Changed paths:
    M llvm/test/Transforms/InstCombine/known-bits.ll

  Log Message:
  -----------
  [ValueTracking] more test of trunc to i1 as condition in dominating condition. (NFC)


  Commit: 4c470d0c933cee57843052e0783f6f11a20bd820
      https://github.com/llvm/llvm-project/commit/4c470d0c933cee57843052e0783f6f11a20bd820
  Author: Ritanya-B-Bharadwaj <ritanya.b.bharadwaj at gmail.com>
  Date:   2025-02-09 (Sun, 09 Feb 2025)

  Changed paths:
    M llvm/lib/Frontend/OpenMP/OMPContext.cpp

  Log Message:
  -----------
  This commit fixes the build failure due to OMP_TRAIT_PROPERTY macro r… (#126222)

…edefinition - https://github.com/llvm/llvm-project/issues/126043


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

  Changed paths:
    M clang/test/Driver/offload-Xarch.c

  Log Message:
  -----------
  [Clang] Disable failing offload test on darwin

Summary:
We don't support offloading on Darwin. This fails because there's some
handling missing somewhere else that likely won't ever be added.


  Commit: b1a267e1b9e9b50ba5b99de014ed056bf201b762
      https://github.com/llvm/llvm-project/commit/b1a267e1b9e9b50ba5b99de014ed056bf201b762
  Author: Andrzej Warzynski <andrzej.warzynski at arm.com>
  Date:   2025-02-09 (Sun, 09 Feb 2025)

  Changed paths:
    M mlir/include/mlir/Dialect/Vector/Transforms/LoweringPatterns.h

  Log Message:
  -----------
  [mlir][vector] Remove references to non-existing patterns (nfc)

Delete references to:
  * `VectorLoadToMemrefLoadLowering`,
  * `VectorStoreToMemrefStoreLowering`.

These patters were removed in #121454.


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

  Changed paths:
    M libcxx/include/chrono

  Log Message:
  -----------
  [NFC][libc++] Fixes minor issues in the synopsis.


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

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

  Log Message:
  -----------
  [libc++][doc] Updates format status.


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

  Changed paths:
    M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-load-f32-stride-2.ll
    M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-load-f32-stride-3.ll
    M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-load-f32-stride-4.ll
    M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-load-f32-stride-6.ll
    M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-load-i16-stride-2.ll
    M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-load-i16-stride-3.ll
    M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-load-i16-stride-4.ll
    M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-load-i16-stride-6.ll
    M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-load-i32-stride-2-indices-0u.ll
    M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-load-i32-stride-2.ll
    M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-load-i32-stride-3-indices-01u.ll
    M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-load-i32-stride-3-indices-0uu.ll
    M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-load-i32-stride-3.ll
    M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-load-i32-stride-4-indices-012u.ll
    M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-load-i32-stride-4-indices-0uuu.ll
    M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-load-i32-stride-4.ll
    M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-load-i32-stride-6.ll
    M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-load-i8-stride-2.ll
    M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-load-i8-stride-3.ll
    M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-load-i8-stride-4.ll
    M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-store-f32-stride-2.ll
    M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-store-f32-stride-3.ll
    M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-store-f32-stride-4.ll
    M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-store-f32-stride-5.ll
    M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-store-f32-stride-6.ll
    M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-store-f32-stride-7.ll
    M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-store-f64-stride-2.ll
    M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-store-f64-stride-3.ll
    M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-store-f64-stride-4.ll
    M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-store-f64-stride-5.ll
    M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-store-f64-stride-6.ll
    M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-store-f64-stride-7.ll
    M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-store-i16-stride-2.ll
    M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-store-i16-stride-3.ll
    M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-store-i16-stride-4.ll
    M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-store-i16-stride-5.ll
    M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-store-i16-stride-6.ll
    M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-store-i16-stride-7.ll
    M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-store-i16-stride-8.ll
    M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-store-i32-stride-2.ll
    M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-store-i32-stride-3.ll
    M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-store-i32-stride-4.ll
    M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-store-i32-stride-5.ll
    M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-store-i32-stride-6.ll
    M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-store-i32-stride-7.ll
    M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-store-i32-stride-8.ll
    M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-store-i64-stride-2.ll
    M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-store-i64-stride-3.ll
    M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-store-i64-stride-4.ll
    M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-store-i64-stride-5.ll
    M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-store-i64-stride-6.ll
    M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-store-i64-stride-7.ll
    M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-store-i8-stride-2.ll
    M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-store-i8-stride-3.ll
    M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-store-i8-stride-4.ll
    M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-store-i8-stride-5.ll
    M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-store-i8-stride-6.ll
    M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-store-i8-stride-7.ll
    M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-store-i8-stride-8.ll

  Log Message:
  -----------
  [LV][X86] Regenerate interleaved load/store costs. NFC.

update_analyze_test_checks has improved the checks since these were last updated.

Reduce noise diffs in future patches.


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

  Changed paths:
    M offload/DeviceRTL/include/DeviceTypes.h
    M offload/DeviceRTL/include/State.h
    M offload/DeviceRTL/src/Configuration.cpp
    M offload/DeviceRTL/src/Mapping.cpp
    M offload/DeviceRTL/src/Reduction.cpp
    M offload/DeviceRTL/src/State.cpp
    M offload/DeviceRTL/src/Synchronization.cpp
    M offload/DeviceRTL/src/Workshare.cpp

  Log Message:
  -----------
  [OpenMP] Replace use of target address space with <gpuintrin.h> local (#126119)

Summary:
This definition is more portable since it defines the correct value for
the target. I got rid of the helper mostly because I think it's easy
enough to use now that it's a type and being explicit about what's
`undef` or `poison` is good.


  Commit: 6444ed53658354efb8fc126f93281bc13f1d6300
      https://github.com/llvm/llvm-project/commit/6444ed53658354efb8fc126f93281bc13f1d6300
  Author: Kazu Hirata <kazu at google.com>
  Date:   2025-02-09 (Sun, 09 Feb 2025)

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

  Log Message:
  -----------
  [AST] Avoid repeated hash lookups (NFC) (#126400)


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

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

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


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

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

  Log Message:
  -----------
  [Passes] Avoid repeated hash lookups (NFC) (#126404)


  Commit: 87ae9547ea0f590f8adbbdfaeca28ef999ddffa8
      https://github.com/llvm/llvm-project/commit/87ae9547ea0f590f8adbbdfaeca28ef999ddffa8
  Author: Kazu Hirata <kazu at google.com>
  Date:   2025-02-09 (Sun, 09 Feb 2025)

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

  Log Message:
  -----------
  [TableGen] Avoid repeated hash lookups (NFC) (#126405)


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

  Changed paths:
    M llvm/lib/Target/X86/X86ISelLowering.cpp
    M llvm/test/CodeGen/X86/copy-low-subvec-elt-to-high-subvec-elt.ll
    M llvm/test/CodeGen/X86/horizontal-sum.ll
    M llvm/test/CodeGen/X86/matrix-multiply.ll
    M llvm/test/CodeGen/X86/vector-shuffle-combining-avx.ll

  Log Message:
  -----------
  [X86] lowerV4F64Shuffle - prefer lowerShuffleAsDecomposedShuffleMerge if we're blending inplace/splatable shuffle inputs on AVX2 targets (#126420)

More aggressively use broadcast instructions where possible

Fixes #50315


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

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

  Log Message:
  -----------
  [ValueTracking] Test for not in dominating condition. (NFC)


  Commit: 472220077383b2dbd9cfcaffcc6030558ba7a744
      https://github.com/llvm/llvm-project/commit/472220077383b2dbd9cfcaffcc6030558ba7a744
  Author: Jonas Devlieghere <jonas at devlieghere.com>
  Date:   2025-02-09 (Sun, 09 Feb 2025)

  Changed paths:
    M lldb/test/API/api/command-return-object/TestSBCommandReturnObject.py
    R lldb/test/API/python_api/commandreturnobject/TestSBCommandReturnObject.py

  Log Message:
  -----------
  [lldb] Merge TestSBCommandReturnObject tests

In #125132, Michael pointed out that there are now two tests with the
same name:

./lldb/test/API/api/command-return-object/TestSBCommandReturnObject.py
./lldb/test/API/python_api/commandreturnobject/TestSBCommandReturnObject.py


  Commit: e9a20f77ee2117b4a6eb40826b7280e29ad29e1e
      https://github.com/llvm/llvm-project/commit/e9a20f77ee2117b4a6eb40826b7280e29ad29e1e
  Author: Hassnaa Hamdi <hassnaa.hamdi at arm.com>
  Date:   2025-02-09 (Sun, 09 Feb 2025)

  Changed paths:
    M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
    M llvm/lib/Transforms/Vectorize/VPlanRecipes.cpp
    M llvm/test/Transforms/LoopVectorize/AArch64/sve-interleaved-accesses.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/sve-interleaved-masked-accesses.ll
    M llvm/test/Transforms/LoopVectorize/RISCV/interleaved-accesses.ll
    A llvm/test/Transforms/PhaseOrdering/AArch64/sve-interleave-vectorization.ll

  Log Message:
  -----------
  Reland "[LV]: Teach LV to recursively (de)interleave." (#125094)

This patch relands the changes from "[LV]: Teach LV to recursively
(de)interleave.#122989"
    Reason for revert:
- The patch exposed an assert in the vectorizer related to VF difference
between
legacy cost model and VPlan-based cost model because of uncalculated
cost for
VPInstruction which is created by VPlanTransforms as a replacement to
'or disjoint'
       instruction.
VPlanTransforms do that instructions change when there are memory
interleaving and
predicated blocks, but that change didn't cause problems because at most
cases the cost
      difference between legacy/new models is not noticeable.
    - Issue is fixed by #125434

Original patch: https://github.com/llvm/llvm-project/pull/89018
Reviewed-by: paulwalker-arm, Mel-Chen


  Commit: d2047242e6d0f0deb7634ff22ab164354c520c79
      https://github.com/llvm/llvm-project/commit/d2047242e6d0f0deb7634ff22ab164354c520c79
  Author: Alexander Richardson <alexrichardson at google.com>
  Date:   2025-02-09 (Sun, 09 Feb 2025)

  Changed paths:
    M clang/lib/Driver/ToolChains/Clang.cpp
    M clang/test/Driver/csky-toolchain.c

  Log Message:
  -----------
  [CSKY] Default to unsigned char

This matches the ABI document found at
https://github.com/c-sky/csky-doc/blob/master/C-SKY_V2_CPU_Applications_Binary_Interface_Standards_Manual.pdf

Partially addresses https://github.com/llvm/llvm-project/issues/115957

Reviewed By: zixuan-wu

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


  Commit: 3ce96b9ee961e0dc1f27fbb96339c6253f0196bc
      https://github.com/llvm/llvm-project/commit/3ce96b9ee961e0dc1f27fbb96339c6253f0196bc
  Author: Kazu Hirata <kazu at google.com>
  Date:   2025-02-09 (Sun, 09 Feb 2025)

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

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


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

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

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


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

  Changed paths:
    M clang/lib/Serialization/ASTReader.cpp

  Log Message:
  -----------
  [Serialization] Avoid repeated hash lookups (NFC) (#126429)


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

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

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


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

  Changed paths:
    M llvm/lib/CodeGen/AsmPrinter/DbgEntityHistoryCalculator.cpp

  Log Message:
  -----------
  [AsmPrinter] Avoid repeated map lookups (NFC) (#126431)


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

  Changed paths:
    M llvm/lib/Transforms/Coroutines/CoroFrame.cpp

  Log Message:
  -----------
  [Coroutines] Avoid repeated hash lookups (NFC) (#126432)


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

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

  Log Message:
  -----------
  [TableGen] Avoid repeated hash lookups (NFC) (#126433)


  Commit: 04e5ea5237da5c49d05cd9499a5f0eb325638cf9
      https://github.com/llvm/llvm-project/commit/04e5ea5237da5c49d05cd9499a5f0eb325638cf9
  Author: Craig Topper <craig.topper at sifive.com>
  Date:   2025-02-09 (Sun, 09 Feb 2025)

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

  Log Message:
  -----------
  [TableGen] Remove recursive walk of linked list from ContractNodes. NFC

After f9250401ef120a4605ad67bb43d3b25500900498, this function is
tail recursive so it was straightforward to convert this to iteratively
walk the linkd list.


  Commit: 560cea61abc68a9278d0ada26b3e7071e7b97bfe
      https://github.com/llvm/llvm-project/commit/560cea61abc68a9278d0ada26b3e7071e7b97bfe
  Author: Jonathan Thackray <jonathan.thackray at arm.com>
  Date:   2025-02-10 (Mon, 10 Feb 2025)

  Changed paths:
    M llvm/test/CodeGen/AArch64/Atomics/aarch64-atomic-load-lse2.ll
    A llvm/test/CodeGen/AArch64/v8.4-atomic.ll

  Log Message:
  -----------
  [NFC][AArch64] move AArch64 non auto-generated tests to static file (#126312)

Move AArch64 non auto-generated test code into a static file, since the
script `./llvm/test/CodeGen/AArch64/Atomics/generate-tests.py` will overwrite
these tests when re-run. (Test code was originally added in change
465bc5e729fd755880b9a288de42a37ad1206301)


  Commit: 2e3729bf40040ac960153e893d670c58f94eac62
      https://github.com/llvm/llvm-project/commit/2e3729bf40040ac960153e893d670c58f94eac62
  Author: Elvis Wang <elvis.wang at sifive.com>
  Date:   2025-02-10 (Mon, 10 Feb 2025)

  Changed paths:
    M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
    A llvm/test/Transforms/LoopVectorize/RISCV/remark-reductions.ll

  Log Message:
  -----------
  [LV] Prevent query the computeCost() when VF=1 in emitInvalidCostRemarks(). (#117288)

We should only query the computeCost() when the VF is vector.


  Commit: 967973512b9eba99dd8b04db42dbafcc50d94728
      https://github.com/llvm/llvm-project/commit/967973512b9eba99dd8b04db42dbafcc50d94728
  Author: Shilei Tian <i at tianshilei.me>
  Date:   2025-02-09 (Sun, 09 Feb 2025)

  Changed paths:
    M llvm/lib/Target/AMDGPU/AMDGPUUnifyDivergentExitNodes.cpp
    A llvm/test/CodeGen/AMDGPU/do-not-unify-divergent-exit-nodes-with-musttail.ll

  Log Message:
  -----------
  [AMDGPU] Don't unify divergent exit nodes with `musttail` calls (#126395)

Fixes SWDEV-512254.


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

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

  Log Message:
  -----------
  [AVX10.2] Fix wrong intrinsic names after rename  (#126390)

In my previous PR (#123656) to update the names of AVX10.2 intrinsics
and mnemonics, I have erroneously deleted `_ph` from few intrinsics.
This PR corrects this.


  Commit: 55632404bd0b6f2b6c09426ed492e9351c9706ed
      https://github.com/llvm/llvm-project/commit/55632404bd0b6f2b6c09426ed492e9351c9706ed
  Author: Brad Smith <brad at comstyle.com>
  Date:   2025-02-10 (Mon, 10 Feb 2025)

  Changed paths:
    M third-party/benchmark/src/sysinfo.cc

  Log Message:
  -----------
  [benchmark] Sync a few commits from upstream to help with CPU count (#126410)

Try to use the _SC_NPROCESSORS_ONLN sysconf elsewhere
(cherry picked from commit edb1e76d8cb080a396c7c992e5d4023e1a777bd1)

Replace usage of deprecated sysctl on macOS
(cherry picked from commit faaa266d33ff203e28b31dd31be9f90c29f28d04)

Retrieve the number of online CPUs on OpenBSD and NetBSD
(cherry picked from commit 41e81b1ca4bbb41d234f2d0f2c56591db78ebb83)

Update error message now that /proc/cpuinfo is no longer in use
(cherry picked from commit c35af58b61daa111c93924e0e7b65022871fadac)

Fix runtime crash when parsing /proc/cpuinfo fails
(cherry picked from commit 39be87d3004ff9ff4cdf736651af80c3d15e2497)

another reversal of something that breaks on wasm
(cherry picked from commit 44507bc91ff9a23ad8ad4120cfc6b0d9bd27e2ca)


  Commit: 70fdd9f0a24154b63169c66aff1ddc4507db6034
      https://github.com/llvm/llvm-project/commit/70fdd9f0a24154b63169c66aff1ddc4507db6034
  Author: Shilei Tian <i at tianshilei.me>
  Date:   2025-02-10 (Mon, 10 Feb 2025)

  Changed paths:
    M llvm/lib/CodeGen/GlobalISel/CombinerHelper.cpp
    A llvm/test/CodeGen/AMDGPU/GlobalISel/no-ctlz-from-umul-to-lshr-in-postlegalizer.ll
    A llvm/test/CodeGen/AMDGPU/GlobalISel/no-ctlz-from-umul-to-lshr-in-postlegalizer.mir

  Log Message:
  -----------
  [GlobalISel] Check whether `G_CTLZ` is legal in `matchUMulHToLShr` (#126457)

We need to check `G_CTLZ` because the combine uses `G_CTLZ` to get log
base 2,
and it is not always legal for on a target.

Fixes SWDEV-512440.


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

  Changed paths:
    M llvm/lib/Target/RISCV/RISCVRegisterInfo.td
    R llvm/test/MC/RISCV/rv32zicfiss-invalid.s
    R llvm/test/MC/RISCV/rv64zicfiss-invalid.s
    A llvm/test/MC/RISCV/zicfiss-invalid.s

  Log Message:
  -----------
  [RISCV] Improve Errors for X1/X5/X1X5 Reg Classes (#126184)

LLVM has functionality for producing a register-class-specific error
message in the assembly parser, rather than just emitting the generic
"invalid operand for instruction" error.

This starts the gradual adoption of this functionality for RISC-V, with
some lesser-used shadow-stack register classes:
- GPRX1 (only contains `ra`)
- GPRX5 (only contains `t0`)
- GPRX1X5 (only contains `ra` and `t0`)

LLVM is reasonably conservative about when these errors are used, in
particular you have to have all the features for the relevant mnemonic
enabled before it will do, hence the test updates.

This also merges a pair of almost identical rv32/rv64 test files into a
single file with one run line.


  Commit: 3a66ebae06d72d500c52413b9b189e95762e01b3
      https://github.com/llvm/llvm-project/commit/3a66ebae06d72d500c52413b9b189e95762e01b3
  Author: Piotr Fusik <p.fusik at samsung.com>
  Date:   2025-02-10 (Mon, 10 Feb 2025)

  Changed paths:
    M clang/docs/BoundsSafety.rst
    M clang/docs/BoundsSafetyImplPlans.rst

  Log Message:
  -----------
  [BoundsSafety][doc] Fix a typo (#126247)


  Commit: 30e7c101465d5fa4e9266b9ae3b238eb8cf4533b
      https://github.com/llvm/llvm-project/commit/30e7c101465d5fa4e9266b9ae3b238eb8cf4533b
  Author: David Stuttard <david.stuttard at amd.com>
  Date:   2025-02-10 (Mon, 10 Feb 2025)

  Changed paths:
    M llvm/lib/Target/AMDGPU/GCNSchedStrategy.h

  Log Message:
  -----------
  [AMDGPU] - Fix non-deterministic compile issue (#126271)

4ce1f9079d4d3 [AMDGPU] Allow rematerialization of instructions with
virtual register uses (#124327)
made changes that require an ordered traversal of a DenseMap. Changing
it to MapVector which
respects insertion order.


  Commit: 67b7a2590f39ad9ff5413adb9af162220972833e
      https://github.com/llvm/llvm-project/commit/67b7a2590f39ad9ff5413adb9af162220972833e
  Author: Mehdi Amini <joker.eph at gmail.com>
  Date:   2025-02-10 (Mon, 10 Feb 2025)

  Changed paths:
    M mlir/include/mlir-c/IR.h
    M mlir/include/mlir/Bindings/Python/Nanobind.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:
  -----------
  Revert "[mlir] Python: Parse ModuleOp from file path" (#126482)

Reverts llvm/llvm-project#125736

The gcc7 Bot is broken at the moment.


  Commit: 5f84b6edd97153f1e5ec00ce110108ba8f6048bd
      https://github.com/llvm/llvm-project/commit/5f84b6edd97153f1e5ec00ce110108ba8f6048bd
  Author: Ricardo Jesus <rjj at nvidia.com>
  Date:   2025-02-10 (Mon, 10 Feb 2025)

  Changed paths:
    M llvm/lib/Transforms/Vectorize/LoopIdiomVectorize.cpp
    A llvm/test/Transforms/LoopIdiom/AArch64/find-first-byte.ll

  Log Message:
  -----------
  [AArch64] Add MATCH loops to LoopIdiomVectorizePass (#101976)

This patch adds a new loop to LoopIdiomVectorizePass, enabling it to
recognise and vectorise loops such as:
```cpp
template<class InputIt, class ForwardIt>
InputIt find_first_of(InputIt first, InputIt last,
                      ForwardIt s_first, ForwardIt s_last)
{
  for (; first != last; ++first)
    for (ForwardIt it = s_first; it != s_last; ++it)
      if (*first == *it)
        return first;
  return last;
}
```

These loops match the C++ standard library function `std::find_first_of`.


  Commit: d9cdf27834de94a7c6f5b66b28c0e6667fec5418
      https://github.com/llvm/llvm-project/commit/d9cdf27834de94a7c6f5b66b28c0e6667fec5418
  Author: Aniket Lal <lalaniket8 at gmail.com>
  Date:   2025-02-10 (Mon, 10 Feb 2025)

  Changed paths:
    M clang/lib/Driver/ToolChains/Clang.cpp
    A clang/test/Driver/dep-file-flag-with-multiple-offload-archs.hip

  Log Message:
  -----------
  [Driver][HIP] Do not pass -dependency-file flag for HIP Device offloading (#125646)

When we launch hipcc with multiple offload architectures along with -MF
dep_file flag, the clang compilation invocations for host and device
offloads write to the same dep_file, and can lead to collision during
file IO operations. This can typically happen during large workloads.
This commit provides a fix to generate dep_file only in host
compilation.

---------

Co-authored-by: anikelal <anikelal at amd.com>


  Commit: 91682da4388037489ecc62a5e5c06a290866e018
      https://github.com/llvm/llvm-project/commit/91682da4388037489ecc62a5e5c06a290866e018
  Author: ZhaoQi <zhaoqi01 at loongson.cn>
  Date:   2025-02-10 (Mon, 10 Feb 2025)

  Changed paths:
    A llvm/test/CodeGen/LoongArch/merge-base-offset-tlsle.ll
    M llvm/test/CodeGen/LoongArch/merge-base-offset.ll

  Log Message:
  -----------
  [LoongArch] Pre-commit tests for tls-le merge base offset. NFC (#122998)

Similar to tests in `merge-base-offset.ll`, except for tests of
blockaddress.

A later commit will optimize this.


  Commit: 52a02b6d1e0c6b492495ff79a3a06ce93e6180b8
      https://github.com/llvm/llvm-project/commit/52a02b6d1e0c6b492495ff79a3a06ce93e6180b8
  Author: Brad Smith <brad at comstyle.com>
  Date:   2025-02-10 (Mon, 10 Feb 2025)

  Changed paths:
    M openmp/runtime/src/kmp_platform.h
    M openmp/runtime/src/z_Linux_asm.S

  Log Message:
  -----------
  [openmp] Fix for 32-bit PowerPC (#126412)


  Commit: 7aed53eb1982113e825534f0f66d0a0e46e7a5ed
      https://github.com/llvm/llvm-project/commit/7aed53eb1982113e825534f0f66d0a0e46e7a5ed
  Author: Nikita Popov <npopov at redhat.com>
  Date:   2025-02-10 (Mon, 10 Feb 2025)

  Changed paths:
    M llvm/lib/Analysis/ScalarEvolution.cpp
    M llvm/test/Transforms/IndVarSimplify/pr126012.ll

  Log Message:
  -----------
  [ScalarEvolution] Handle addrec incoming value in isImpliedViaMerge() (#126236)

The code already guards against values coming from a previous iteration
using properlyDominates(). However, addrecs are considered to properly
dominate the loop they are defined in.

Handle this special case separately, by checking for expressions that
have computable loop evolution (this should cover cases like a zext of
an addrec as well).

I considered changing the definition of properlyDominates() instead, but
decided against it. The current definition is useful in other context,
e.g. when deciding whether an expression is safe to expand in a given
block.

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


  Commit: b3e74e307ff813abbc32399af31e69114a058212
      https://github.com/llvm/llvm-project/commit/b3e74e307ff813abbc32399af31e69114a058212
  Author: David Green <david.green at arm.com>
  Date:   2025-02-10 (Mon, 10 Feb 2025)

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

  Log Message:
  -----------
  [AArch64] Add SUBHN patterns for xor variant (#126100)

`xor x, -1` can be treated as `sub -1, x`, add patterns for generating
subhn as opposed to a not.

Fixes #123999


  Commit: 317a644ae6d501f1a1ec54d17ea8559bcdea35c0
      https://github.com/llvm/llvm-project/commit/317a644ae6d501f1a1ec54d17ea8559bcdea35c0
  Author: Cullen Rhodes <cullen.rhodes at arm.com>
  Date:   2025-02-10 (Mon, 10 Feb 2025)

  Changed paths:
    M llvm/test/CodeGen/AArch64/memcpy-f128.ll
    M llvm/test/CodeGen/ARM/memcpy-inline.ll

  Log Message:
  -----------
  [SDAG] Precommit tests for #126207 (NFC) (#126208)

Add missing test coverage for codepaths touched by #126207.


  Commit: 2d31a12dbe2339d20844ede70cbb54dbaf4ceea9
      https://github.com/llvm/llvm-project/commit/2d31a12dbe2339d20844ede70cbb54dbaf4ceea9
  Author: Nikita Popov <npopov at redhat.com>
  Date:   2025-02-10 (Mon, 10 Feb 2025)

  Changed paths:
    M llvm/docs/LangRef.rst
    M llvm/lib/Transforms/Scalar/DeadStoreElimination.cpp
    M llvm/test/Transforms/DeadStoreElimination/inter-procedural.ll

  Log Message:
  -----------
  [DSE] Don't use initializes on byval argument (#126259)

There are two ways we can fix this problem, depending on how the
semantics of byval and initializes should interact:

* Don't infer initializes on byval arguments. initializes on byval
refers to the original caller memory (or having both attributes is made
a verifier error).
* Infer initializes on byval, but don't use it in DSE. initializes on
byval refers to the callee copy. This matches the semantics of readonly
on byval. This is slightly more powerful, for example, we could do a
backend optimization where byval + initializes will allocate the full
size of byval on the stack but not copy over the parts covered by
initializes.

I went with the second variant here, skipping byval + initializes in DSE
(FunctionAttrs already doesn't propagate initializes past byval). I'm
open to going in the other direction though.

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


  Commit: 7090dff6fe1e788517be0c49ee8c87d7cfa54b63
      https://github.com/llvm/llvm-project/commit/7090dff6fe1e788517be0c49ee8c87d7cfa54b63
  Author: Amir Bishara <139038766+amirBish at users.noreply.github.com>
  Date:   2025-02-10 (Mon, 10 Feb 2025)

  Changed paths:
    M mlir/lib/Dialect/SCF/IR/ValueBoundsOpInterfaceImpl.cpp
    M mlir/test/Dialect/SCF/value-bounds-op-interface-impl.mlir

  Log Message:
  -----------
  [mlir][scf]: Add value bound for the computed upper bound of for loop (#126426)

Add additional bound for the induction variable of the `scf.for` such
that:
`%iv <= %lower_bound + (%trip_count - 1) * step`


  Commit: 6fd99de31864a5ef84ae8613b3a9034e05293461
      https://github.com/llvm/llvm-project/commit/6fd99de31864a5ef84ae8613b3a9034e05293461
  Author: Jan Patrick Lehr <JanPatrick.Lehr at amd.com>
  Date:   2025-02-10 (Mon, 10 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

  Log Message:
  -----------
  Revert "[LinkerWrapper] Clean up options after proper forwarding" (#126495)

Reverts llvm/llvm-project#126297

Broken buildbots
https://lab.llvm.org/staging/#/builders/105/builds/15554
https://lab.llvm.org/buildbot/#/builders/30/builds/15490

Error is
```
# .---command stderr------------
# | FileCheck error: '/work/janplehr/git/llvm-project/bot-tester-builds/cmakecachebuild/runtimes/runtimes-bins/offload/test/amdgcn-amd-amdhsa/offloading/Output/bug51781.c.tmp.custom' is empty.
# | FileCheck command line:  /home/janplehr/git/llvm-project/bot-tester-builds/cmakecachebuild/./bin/FileCheck /work/janplehr/git/llvm-project/offload/test/offloading/bug51781.c -check-prefix=CUSTOM -input-file=/work/janplehr/git/llvm-project/bot-tester-builds/cmakecachebuild/runtimes/runtimes-bins/offload/test/amdgcn-amd-amdhsa/offloading/Output/bug51781.c.tmp.custom
```
The file is empty, while the `CUSTOM` check-target expects to find
```
// CUSTOM: Rewriting generic-mode kernel with a customized state machine.
```


  Commit: 4dec3909e93c23ef1545c934f9715f9be2d7c49b
      https://github.com/llvm/llvm-project/commit/4dec3909e93c23ef1545c934f9715f9be2d7c49b
  Author: Fraser Cormack <fraser at codeplay.com>
  Date:   2025-02-10 (Mon, 10 Feb 2025)

  Changed paths:
    M libclc/CMakeLists.txt
    M libclc/clc/include/clc/integer/clc_abs.h
    M libclc/clc/include/clc/integer/clc_abs_diff.h
    M libclc/clc/include/clc/relational/clc_all.h
    M libclc/clc/include/clc/relational/clc_any.h
    M libclc/clc/include/clc/relational/clc_isequal.h
    M libclc/clc/include/clc/relational/clc_isfinite.h
    M libclc/clc/include/clc/relational/clc_isgreater.h
    M libclc/clc/include/clc/relational/clc_isgreaterequal.h
    M libclc/clc/include/clc/relational/clc_isinf.h
    M libclc/clc/include/clc/relational/clc_isless.h
    M libclc/clc/include/clc/relational/clc_islessequal.h
    M libclc/clc/include/clc/relational/clc_islessgreater.h
    M libclc/clc/include/clc/relational/clc_isnormal.h
    M libclc/clc/include/clc/relational/clc_isnotequal.h
    M libclc/clc/include/clc/relational/clc_isordered.h
    M libclc/clc/include/clc/relational/clc_isunordered.h
    M libclc/clc/include/clc/relational/clc_signbit.h
    M libclc/clc/include/clc/shared/clc_max.h
    M libclc/clc/include/clc/shared/clc_min.h
    R libclc/clc/lib/clspv/SOURCES
    R libclc/clc/lib/spirv/SOURCES

  Log Message:
  -----------
  [libclc] Have all targets build all CLC functions (#124779)

This removes all remaining SPIR-V workarounds for CLC functions, in an
effort to streamline the CLC implementation and prevent further issues
that #124614 had to fix. This commit fixes the same issue for the SPIR-V
targets.

Target-specific CLC implementations can and will exist, but for now
they're all identical and so the target-specific SOURCES files have been
removed. Target implementations now always include the 'generic' CLC
directory, meaning we can avoid unnecessary duplication of SOURCES
listings.


  Commit: cab893ab8ebdcf63cfc63666009122d9c0e31bdf
      https://github.com/llvm/llvm-project/commit/cab893ab8ebdcf63cfc63666009122d9c0e31bdf
  Author: Aniket Lal <lalaniket8 at gmail.com>
  Date:   2025-02-10 (Mon, 10 Feb 2025)

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

  Log Message:
  -----------
  [Clang][Driver][HIP] Do not specify explicit target cpu in host compilation run line (#126488)

This PR fixes the post merge check fails from PR
https://github.com/llvm/llvm-project/pull/125646

Co-authored-by: anikelal <anikelal at amd.com>


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

  Changed paths:
    M llvm/docs/Contributing.rst

  Log Message:
  -----------
  [llvm][Docs] Explain how to handle excessive formatting changes (#126239)

Based on some feedback in Discord about a PR where a reviewer asked the
author to move the formatting changes to a new PR, which appears to
contradict the current form of this document.

I've added an explanation here, before the point where the author would
be committing any of the formatting changes.

There are other ways this can go, for example some projects don't want
the churn of formatting, or you can pre-emptively send a formatting PR,
but I don't think enumerating them all here will help the audience for
this text.

So I've recomended one path that will start them off well, and can
branch off if the reviewers make requests.


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

  Changed paths:
    M llvm/lib/Target/X86/X86ISelLowering.cpp
    M llvm/test/CodeGen/X86/fmaxnum.ll
    M llvm/test/CodeGen/X86/fminnum.ll
    M llvm/test/CodeGen/X86/fp-select-cmp-and.ll
    M llvm/test/CodeGen/X86/setcc-combine.ll
    M llvm/test/CodeGen/X86/sse-minmax.ll
    M llvm/test/CodeGen/X86/vec_floor.ll
    M llvm/test/CodeGen/X86/vector-reduce-fmax.ll
    M llvm/test/CodeGen/X86/vector-reduce-fmaximum.ll
    M llvm/test/CodeGen/X86/vector-reduce-fmin.ll
    M llvm/test/CodeGen/X86/vselect-zero.ll

  Log Message:
  -----------
  [X86] LowerSelect - use BLENDV for scalar selection on all SSE41+ targets (#125853)

When we first began (2015) to lower f32/f64 selects to
X86ISD::BLENDV(scalar_to_vector(),scalar_to_vector(),scalar_to_vector()),
we limited it to AVX targets to avoid issues with SSE41's xmm0
constraint for the condition mask.

Since then we've seen general improvements in TwoAddressInstruction and
better handling of condition commutation for X86ISD::BLENDV nodes, which
should address many of the original concerns of using SSE41 BLENDVPD/S.
In most cases we will replace 3 logic instruction with the BLENDV node
and (up to 3) additional moves. Although the BLENDV is often more
expensive on original SSE41 targets, this should still be an improvement
in a majority of cases.

We also have no equivalent restrictions for SSE41 for v2f64/v4f32 vector
selection.

Fixes #105807


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

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

  Log Message:
  -----------
  [X86] canonicalizeShuffleWithOp - pull out repeated flag settings to IsMergeableWithShuffle lambda. NFC.

Prep work before tweaking the flags in a future patch.


  Commit: 7ee56b9afcad456bb662aad941052af334fe3a11
      https://github.com/llvm/llvm-project/commit/7ee56b9afcad456bb662aad941052af334fe3a11
  Author: wldfngrs <wldfngrs at gmail.com>
  Date:   2025-02-10 (Mon, 10 Feb 2025)

  Changed paths:
    M libc/config/linux/x86_64/entrypoints.txt
    M libc/docs/headers/math/index.rst
    M libc/include/math.yaml
    M libc/src/math/CMakeLists.txt
    A libc/src/math/asinf16.h
    M libc/src/math/generic/CMakeLists.txt
    A libc/src/math/generic/asinf16.cpp
    M libc/test/src/math/CMakeLists.txt
    A libc/test/src/math/asinf16_test.cpp
    M libc/test/src/math/smoke/CMakeLists.txt
    A libc/test/src/math/smoke/asinf16_test.cpp

  Log Message:
  -----------
  [libc][math][c23] Add asinf16() function (#124212)

Co-authored-by: OverMighty <its.overmighty at gmail.com>


  Commit: 738cf5acc68c697dad5611b2424aa6b124b368f2
      https://github.com/llvm/llvm-project/commit/738cf5acc68c697dad5611b2424aa6b124b368f2
  Author: Ramkumar Ramachandra <ramkumar.ramachandra at codasip.com>
  Date:   2025-02-10 (Mon, 10 Feb 2025)

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

  Log Message:
  -----------
  InstSimplify: improve computePointerICmp (NFC) (#126255)

The comment about inbounds protecting only against unsigned wrapping is
incorrect: it also protects against signed wrapping, but the issue is
that it could cross the sign boundary.


  Commit: 0b5c318127b1ed8125bffd5df1c96067c2186878
      https://github.com/llvm/llvm-project/commit/0b5c318127b1ed8125bffd5df1c96067c2186878
  Author: ZhaoQi <zhaoqi01 at loongson.cn>
  Date:   2025-02-10 (Mon, 10 Feb 2025)

  Changed paths:
    M llvm/lib/Target/LoongArch/LoongArchMergeBaseOffset.cpp
    M llvm/test/CodeGen/LoongArch/machinelicm-address-pseudos.ll
    M llvm/test/CodeGen/LoongArch/merge-base-offset-tlsle.ll

  Log Message:
  -----------
  [LoongArch] Merge base and offset for tls-le code sequence (#122999)

Adapt the merge base offset pass to optimize the tls-le code sequence.


  Commit: 71ee257a1d3a3e09423132e36f526e032c0f3b93
      https://github.com/llvm/llvm-project/commit/71ee257a1d3a3e09423132e36f526e032c0f3b93
  Author: Luke Lau <luke at igalia.com>
  Date:   2025-02-10 (Mon, 10 Feb 2025)

  Changed paths:
    M llvm/test/CodeGen/RISCV/rvv/vl-opt-op-info.mir

  Log Message:
  -----------
  [RISCV][VLOPT] Precommit tests for opt info on passthrus. NFC

Currently we are returning the wrong operand info for passthru
operands.


  Commit: 771f6b9f43039a4701a3ab76ac2456857ddf74ac
      https://github.com/llvm/llvm-project/commit/771f6b9f43039a4701a3ab76ac2456857ddf74ac
  Author: Luke Lau <luke at igalia.com>
  Date:   2025-02-10 (Mon, 10 Feb 2025)

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

  Log Message:
  -----------
  [RISCV][VLOPT] Add support for Widening Floating-Point Fused Multiply-Add Instructions (#126485)

We already had getOperandInfo support, so this marks the instructions as
supported in isCandidate. It also adds support for vfwmaccbf16.v{v,f}
from zvfbfwma


  Commit: f796bc622a7725708b8ffbe0c7a684a8557e77a3
      https://github.com/llvm/llvm-project/commit/f796bc622a7725708b8ffbe0c7a684a8557e77a3
  Author: Rolf Morel <rolf.morel at intel.com>
  Date:   2025-02-10 (Mon, 10 Feb 2025)

  Changed paths:
    M mlir/include/mlir/Dialect/Linalg/IR/LinalgStructuredOps.td
    M mlir/include/mlir/IR/CommonAttrConstraints.td
    M mlir/lib/Dialect/Linalg/IR/LinalgOps.cpp
    M mlir/python/mlir/dialects/linalg/__init__.py
    M mlir/test/Dialect/Linalg/named-ops.mlir
    M mlir/test/python/dialects/linalg/ops.py
    M mlir/tools/mlir-tblgen/OpDefinitionsGen.cpp
    M mlir/tools/mlir-tblgen/OpFormatGen.cpp
    M mlir/tools/mlir-tblgen/RewriterGen.cpp

  Log Message:
  -----------
  [MLIR][Linalg] Expose linalg.matmul and linalg.contract via Python API (#126377)

Now that linalg.matmul is in tablegen, "hand write" the Python wrapper
that OpDSL used to derive. Similarly, add a Python wrapper for the new
linalg.contract op.

Required following misc. fixes:
1) make linalg.matmul's parsing and printing consistent w.r.t. whether
indexing_maps occurs before or after operands, i.e. per the tests cases
it comes _before_.
2) tablegen for linalg.contract did not state it accepted an optional
cast attr.
3) In ODS's C++-generating code, expand partial support for `$_builder`
access in `Attr::defaultValue` to full support. This enables access to
the current `MlirContext` when constructing the default value (as is
required when the default value consists of affine maps).


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

  Changed paths:
    A clang/lib/StaticAnalyzer/Checkers/ArrayBoundChecker.cpp
    R clang/lib/StaticAnalyzer/Checkers/ArrayBoundCheckerV2.cpp
    M clang/lib/StaticAnalyzer/Checkers/CMakeLists.txt
    M llvm/utils/gn/secondary/clang/lib/StaticAnalyzer/Checkers/BUILD.gn

  Log Message:
  -----------
  [analyzer][NFC] Remove "V2" from ArrayBoundCheckerV2.cpp (#126094)

Previously commit 6e17ed9b04e5523cc910bf171c3122dcc64b86db deleted the
obsolete checker `alpha.security.ArrayBound` which was implemented in
`ArrayBoundChecker.cpp` and renamed the checker
`alpha.security.ArrayBoundV2` to `security.ArrayBound`.

This commit concludes that consolidation by renaming the source file
`ArrayBoundCheckerV2.cpp` to `ArrayBoundChecker.cpp` (which was "freed
up" by the previous commit).


  Commit: 83fa117f76f9c4c82ce0ca914c4eba268c6c2fa2
      https://github.com/llvm/llvm-project/commit/83fa117f76f9c4c82ce0ca914c4eba268c6c2fa2
  Author: Mikhail R. Gadelha <mikhail at igalia.com>
  Date:   2025-02-10 (Mon, 10 Feb 2025)

  Changed paths:
    M llvm/lib/Target/RISCV/RISCVTargetTransformInfo.cpp
    M llvm/test/Analysis/CostModel/RISCV/arith-fp.ll

  Log Message:
  -----------
  [RISCV] Add cost model for fma (#126076)

This change builds on PR #125683, which added a cost model for fmuladd.

To ensure completeness, this patch extends the cost model to also cover fma, using the same costing approach as fmuladd.

I plan to send a follow-up patch that includes the cost model vp_fma and vp_fmuladd, and their tests.


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

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

  Log Message:
  -----------
  [X86] IsElementEquivalent - pull out repeated getValueType calls. NFC.


  Commit: bde8ce6a5c47a3e5719618797cc4143db6f871f5
      https://github.com/llvm/llvm-project/commit/bde8ce6a5c47a3e5719618797cc4143db6f871f5
  Author: Shilei Tian <i at tianshilei.me>
  Date:   2025-02-10 (Mon, 10 Feb 2025)

  Changed paths:
    M llvm/lib/Target/AMDGPU/AMDGPUTargetMachine.cpp
    M llvm/test/CodeGen/AMDGPU/print-pipeline-passes.ll

  Log Message:
  -----------
  [AMDGPU] Only run `AMDGPUPrintfRuntimeBindingPass` at non-prelink phase (#125162)


  Commit: 199c791a1dbf417fdb08fbbb054d51ed398f285a
      https://github.com/llvm/llvm-project/commit/199c791a1dbf417fdb08fbbb054d51ed398f285a
  Author: Timm Baeder <tbaeder at redhat.com>
  Date:   2025-02-10 (Mon, 10 Feb 2025)

  Changed paths:
    M clang/lib/AST/ByteCode/Compiler.cpp
    M clang/lib/AST/ByteCode/Interp.h
    M clang/test/AST/ByteCode/new-delete.cpp

  Log Message:
  -----------
  [clang][bytecode] Support partial initializers for CXXNewExprs (#126494)

For `new A[N]{1,2,3}`, we need to allocate N elements of type A, and
initialize the first three with the given InitListExpr elements.
However, if N is larger than 3, we need to initialize the remaining
elements with the InitListExpr array filler.

Similarly, for `new A[N];`, we need to initilize all fields with the
constructor of A. The initializer type is a CXXConstructExpr of
IncompleteArrayType in this case, which we can't generally handle.


  Commit: af2a228e0b5c9fbfa02f37f1be10800b17509617
      https://github.com/llvm/llvm-project/commit/af2a228e0b5c9fbfa02f37f1be10800b17509617
  Author: Luke Lau <luke at igalia.com>
  Date:   2025-02-10 (Mon, 10 Feb 2025)

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

  Log Message:
  -----------
  [RISCV][VLOPT] Fix passthru operand info for mixed-width instructions (#126504)

After #124066 we started allowing users that are passthrus. However for
widening/narrowing instructions we were returning the wrong operand info
for passthru operands since it originally assumed the operand would
never be a passthru. This fixes it by handling it in IsMODef.


  Commit: c6b13a28717455028bf48bcb20f723ad3bbff783
      https://github.com/llvm/llvm-project/commit/c6b13a28717455028bf48bcb20f723ad3bbff783
  Author: Ramkumar Ramachandra <ramkumar.ramachandra at codasip.com>
  Date:   2025-02-10 (Mon, 10 Feb 2025)

  Changed paths:
    M llvm/lib/Analysis/ScalarEvolution.cpp
    M llvm/test/Analysis/ScalarEvolution/exit-count-samesign.ll
    M llvm/test/Analysis/ScalarEvolution/implied-via-division.ll
    M llvm/test/Transforms/IndVarSimplify/iv-ext-samesign.ll

  Log Message:
  -----------
  Revert "SCEV: teach isImpliedViaOperations about samesign" (#126506)

The commit f5d24e6c is buggy, and following miscompiles have been
reported: #126409 and
https://github.com/llvm/llvm-project/pull/124270#issuecomment-2647222903

Revert it while we investigate.


  Commit: 71adb054024a1e9bd5ed4566beda74dea65362cd
      https://github.com/llvm/llvm-project/commit/71adb054024a1e9bd5ed4566beda74dea65362cd
  Author: Nico Weber <thakis at chromium.org>
  Date:   2025-02-10 (Mon, 10 Feb 2025)

  Changed paths:
    M clang/include/clang/Driver/Options.td
    M clang/test/Driver/cl-options.c

  Log Message:
  -----------
  [clang] Expose -f(no-)strict-overflow as a clang-cl option (#126512)

Also move the -fno-strict-overflow option definition next to the
-fstrict-overflow one while here.

Also add test coverage for f(no-)wrapv-pointer being a clang-cl option.


  Commit: 4d2a1bf563556d12cccc4cace1c2e225a3c002e4
      https://github.com/llvm/llvm-project/commit/4d2a1bf563556d12cccc4cace1c2e225a3c002e4
  Author: Haojian Wu <hokein.wu at gmail.com>
  Date:   2025-02-10 (Mon, 10 Feb 2025)

  Changed paths:
    M clang/lib/Sema/SemaTemplateDeductionGuide.cpp
    M clang/test/SemaCXX/cxx20-ctad-type-alias.cpp

  Log Message:
  -----------
  [clang] CTAD alias: Respect explicit deduction guides defined after the first use of the alias template. (#125478)

Fixes #103016

This is the last missing piece for the C++20 CTAD alias feature. No
release note being added in this PR yet, I will send out a follow-up
patch to mark this feature done.

(Since the release 20 branch is cut, I think we should target on
clang21).


  Commit: 1aa48af1f86009365524d43966bb40ea246fea47
      https://github.com/llvm/llvm-project/commit/1aa48af1f86009365524d43966bb40ea246fea47
  Author: Timm Baeder <tbaeder at redhat.com>
  Date:   2025-02-10 (Mon, 10 Feb 2025)

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

  Log Message:
  -----------
  [clang][bytecode][NFC] Discard all CastExprs uniformly (#126511)


  Commit: ec60e1d8e2c265f86f08590b6061eb6f51dc3349
      https://github.com/llvm/llvm-project/commit/ec60e1d8e2c265f86f08590b6061eb6f51dc3349
  Author: zhijian lin <zhijian at ca.ibm.com>
  Date:   2025-02-10 (Mon, 10 Feb 2025)

  Changed paths:
    M llvm/test/tools/llvm-readobj/XCOFF/symbols.test
    M llvm/test/tools/llvm-readobj/XCOFF/symbols64.test
    M llvm/tools/llvm-readobj/XCOFFDumper.cpp

  Log Message:
  -----------
  [XCOFF][llvm-readobj] Print symbol value kind when dumping symbols (#125861)

llvm-readobj print out symbol value name for xcoff symbol table.

reference doc:
https://www.ibm.com/docs/en/aix/7.2?topic=formats-xcoff-object-file-format#XCOFF__yaa3i18fjbau


  Commit: 3019e49ebfc5d710191712b6d437c56c01e65b87
      https://github.com/llvm/llvm-project/commit/3019e49ebfc5d710191712b6d437c56c01e65b87
  Author: Ramkumar Ramachandra <ramkumar.ramachandra at codasip.com>
  Date:   2025-02-10 (Mon, 10 Feb 2025)

  Changed paths:
    M llvm/include/llvm/IR/Instructions.h
    M llvm/lib/Analysis/ScalarEvolution.cpp

  Log Message:
  -----------
  SCEV: thread samesign in isBasicBlockEntryGuardedByCond (NFC) (#125840)

isBasicBlockEntryGuardedByCond inadvertedenly drops samesign information
when calling ICmpInst::getNonStrictPredicate. Fix this.


  Commit: 36530414e3fc49ce9c5a74acf3a68731965ea4d6
      https://github.com/llvm/llvm-project/commit/36530414e3fc49ce9c5a74acf3a68731965ea4d6
  Author: Luke Lau <luke at igalia.com>
  Date:   2025-02-10 (Mon, 10 Feb 2025)

  Changed paths:
    M llvm/lib/Target/RISCV/RISCVVLOptimizer.cpp
    M llvm/test/CodeGen/RISCV/rvv/rvv-peephole-vmerge-vops.ll
    M llvm/test/CodeGen/RISCV/rvv/vl-opt-instrs.ll
    M llvm/test/CodeGen/RISCV/rvv/vl-opt.mir

  Log Message:
  -----------
  [RISCV][VLOPT] Add support for Vector Fixed-Point Arithmetic Instructions (#126483)

This patch adds the remaining support for fixed-point arithmetic
instructions (we previously had support for averaging adds and
subtracts).

For saturating adds/subs/multiplies/clips, we can't change `vl` if
`vxsat` is used, since changing `vl` may change its value. So this patch
checks to see if it's dead before considering it a candidate.


  Commit: 280d2a3035ad362cb9dab9f59aa9bdbb88723e9e
      https://github.com/llvm/llvm-project/commit/280d2a3035ad362cb9dab9f59aa9bdbb88723e9e
  Author: Kazu Hirata <kazu at google.com>
  Date:   2025-02-10 (Mon, 10 Feb 2025)

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

  Log Message:
  -----------
  [AST] Avoid repeated hash lookups (NFC) (#126461)


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

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

  Log Message:
  -----------
  [Lex] Avoid repeated hash lookups (NFC) (#126462)


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

  Changed paths:
    M clang/utils/TableGen/MveEmitter.cpp

  Log Message:
  -----------
  [TableGen] Avoid repeated hash lookups (NFC) (#126464)


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

  Changed paths:
    M llvm/include/llvm/Analysis/RegionInfoImpl.h

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


  Commit: 2f88672414b4e9c74c47718c9979c79ba4c40e04
      https://github.com/llvm/llvm-project/commit/2f88672414b4e9c74c47718c9979c79ba4c40e04
  Author: Kazu Hirata <kazu at google.com>
  Date:   2025-02-10 (Mon, 10 Feb 2025)

  Changed paths:
    M llvm/lib/Transforms/Coroutines/MaterializationUtils.cpp

  Log Message:
  -----------
  [Coroutines] Avoid repeated hash lookups (NFC) (#126466)


  Commit: 6228379a6c98d90d81db1a7b15f9682b7b01fb90
      https://github.com/llvm/llvm-project/commit/6228379a6c98d90d81db1a7b15f9682b7b01fb90
  Author: Kazu Hirata <kazu at google.com>
  Date:   2025-02-10 (Mon, 10 Feb 2025)

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

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


  Commit: 783275eb7b3ecde63bdb6ac1316c090bfc568bdd
      https://github.com/llvm/llvm-project/commit/783275eb7b3ecde63bdb6ac1316c090bfc568bdd
  Author: Nico Weber <thakis at chromium.org>
  Date:   2025-02-10 (Mon, 10 Feb 2025)

  Changed paths:
    M clang/lib/Driver/ToolChains/CommonArgs.cpp
    M clang/test/Driver/clang_wrapv_opts.c

  Log Message:
  -----------
  [clang] Handle f(no-)strict-overflow, f(no-)wrapv, f(no-)wrapv-pointer like gcc (#126524)

We now process all 6 options left-to-right and pick whatever is active
at the end.

Fixes #124868.


  Commit: 308d28667c14e7c14d8688cd19201308e07c8721
      https://github.com/llvm/llvm-project/commit/308d28667c14e7c14d8688cd19201308e07c8721
  Author: Nico Weber <thakis at chromium.org>
  Date:   2025-02-10 (Mon, 10 Feb 2025)

  Changed paths:
    M llvm/docs/GitHub.rst

  Log Message:
  -----------
  [llvm][docs] Tweak backporting instructions a bit (#126519)

* Drop ".Z" in milestone name since we've been doing X.Y releases
instead of X.Y.Z releases since LLVM 18

* Add "LLVM" prefix since that's what release milestones are named

* Use a numbered list to make it clearer that there are two steps
needed, and add some more details to the first step


  Commit: 1c583c19bb7914a2686e245b7e1d14f82fe454eb
      https://github.com/llvm/llvm-project/commit/1c583c19bb7914a2686e245b7e1d14f82fe454eb
  Author: Razvan Lupusoru <razvan.lupusoru at gmail.com>
  Date:   2025-02-10 (Mon, 10 Feb 2025)

  Changed paths:
    M mlir/include/mlir/Dialect/OpenACC/OpenACCOps.td
    M mlir/include/mlir/Dialect/OpenACC/OpenACCTypeInterfaces.td
    M mlir/lib/Dialect/OpenACC/IR/OpenACC.cpp

  Log Message:
  -----------
  [acc][mlir] Add functionality for categorizing OpenACC variable types (#126167)

OpenACC specification describes the following type categories: scalar,
array, composite, and aggregate (which includes arrays, composites, and
others such as Fortran pointer/allocatable).

Decision for how to do implicit mapping is dependent on a variable's
category. Since acc dialect's only means of distinguishing between types
is through the interfaces attached, add API to be able to get the type
category.

In addition to defining the new API, attempt to provide a base
implementation for memref which matches what OpenACC spec describes.


  Commit: 0010a3c97ef4df11aa50b381ea801c9ba8dd516f
      https://github.com/llvm/llvm-project/commit/0010a3c97ef4df11aa50b381ea801c9ba8dd516f
  Author: David Sherwood <david.sherwood at arm.com>
  Date:   2025-02-10 (Mon, 10 Feb 2025)

  Changed paths:
    M llvm/test/Transforms/LoopVectorize/AArch64/partial-reduce-dot-product.ll

  Log Message:
  -----------
  [NFC][LoopVectorize] Add more partial reduction tests (#126525)

* Adds variants of dotp (dotp_i8_to_i64_has_neon_dotprod,
dotp_i16_to_i64_has_neon_dotprod) that show how the loop
vectoriser has generated fixed-width partial reductions
without any matching NEON udot instruction.
* Adds loops that could also benefit from partial
reductions once the work is done to recognise patterns
such as
  %zext = zext i8 %load to i32
  %acc.next = add i32 %acc, %zext
See zext_add_reduc_i8_i32, etc. I intend to follow up with
a patch to add support for vectorising such patterns.


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

  Changed paths:
    M llvm/utils/lit/tests/xunit-output.py

  Log Message:
  -----------
  [llvm][lit] Update regexes in Xunit test (#126527)

I got a report that downstream this test failed and the cause was that
it took longer than the 1 second we expected to run one of the test
cases.

This test doesn't need to be that specific, so I am updating all the
time regexes to be the same one that allows 0-9 any number of digits,
requires a decimal point, then 0-9 any number of digits for the final
part.


  Commit: c69be3fe4bec916c111eec4eec1def04b16fba8d
      https://github.com/llvm/llvm-project/commit/c69be3fe4bec916c111eec4eec1def04b16fba8d
  Author: Amit Kumar Pandey <137622562+ampandey-1995 at users.noreply.github.com>
  Date:   2025-02-10 (Mon, 10 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:
  -----------
  [Driver][ROCm][OpenMP] Fix default ockl linking for OpenMP. (#126186)

ASan gpu runtime (asanrtl.bc) linking is dependent on 'ockl.bc'. Link
'ockl.bc' only when ASan is enabled for openmp amdgpu offloading
application.


  Commit: 71fcc825b4e271b7608b54de27ae69fe70f00fad
      https://github.com/llvm/llvm-project/commit/71fcc825b4e271b7608b54de27ae69fe70f00fad
  Author: Shilei Tian <i at tianshilei.me>
  Date:   2025-02-10 (Mon, 10 Feb 2025)

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

  Log Message:
  -----------
  [NFC][StructurizeCFG] Add a test that can crash StructurizeCFG pass (#126087)

I tried to fix it in #124051 but failed to do so. This PR adds the test
and
marks it as xfail.


  Commit: 8380b5c7494e5511dfdc944108ff316453a36061
      https://github.com/llvm/llvm-project/commit/8380b5c7494e5511dfdc944108ff316453a36061
  Author: Rahul Joshi <rjoshi at nvidia.com>
  Date:   2025-02-10 (Mon, 10 Feb 2025)

  Changed paths:
    M llvm/test/TableGen/get-operand-type-no-expand.td
    M llvm/test/TableGen/get-operand-type.td
    M llvm/utils/TableGen/InstrInfoEmitter.cpp

  Log Message:
  -----------
  [TableGen][InstrInfo] Cull mapping that have not been enabled/not needed (#126137)

- Detect whether logical operand mapping/named operand mappings have 
  been enabled in a previous pass over instructions and execute the
  relevant emission code only if those mappings are enabled.
- For these mappings, skip the fixed set of predefined instructions as
  they won't have these mappings enabled.
- Emit operand type mappings only for X86 target, as they are only used
  by X86 and look for X86 specific `X86MemOperand`.
- Cleanup `emitOperandTypeMappings` code: remove code to handle empty
  instruction list and use range for loops.


  Commit: f3cd2238383f695c719e7eab6aebec828781ec91
      https://github.com/llvm/llvm-project/commit/f3cd2238383f695c719e7eab6aebec828781ec91
  Author: Nick Sarnie <nick.sarnie at intel.com>
  Date:   2025-02-10 (Mon, 10 Feb 2025)

  Changed paths:
    M clang/include/clang/Basic/TargetInfo.h
    M clang/lib/CodeGen/CodeGenModule.cpp
    A clang/test/OpenMP/spirv_target_codegen_basic.cpp
    M llvm/include/llvm/Frontend/OpenMP/OMPGridValues.h
    M llvm/lib/Frontend/OpenMP/OMPIRBuilder.cpp

  Log Message:
  -----------
  [OpenMP][OpenMPIRBuilder] Add initial changes for SPIR-V target frontend support (#125920)

As Intel is working to add support for SPIR-V OpenMP device offloading
in upstream clang/liboffload, we need to modify the OpenMP frontend to
allow SPIR-V as well as generate valid IR for SPIR-V. For example, we
need the frontend to generate code to define and interact with device
globals used in the DeviceRTL.

This is the beginning of what I expect will be (many) other changes, but
let's get started with something simple.

---------

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


  Commit: 6b52fb25b90e575b507343bde0162d3d652ff666
      https://github.com/llvm/llvm-project/commit/6b52fb25b90e575b507343bde0162d3d652ff666
  Author: Asher Mancinelli <ashermancinelli at gmail.com>
  Date:   2025-02-10 (Mon, 10 Feb 2025)

  Changed paths:
    M flang/docs/Directives.md
    M flang/lib/Lower/Bridge.cpp
    M flang/test/Integration/unroll.f90

  Log Message:
  -----------
  [flang] Correctly handle `!dir$ unroll` with unrolling factors of 0 and 1 (#126170)

https://github.com/llvm/llvm-project/pull/123331 added support for the
unrolling directive. In the presence of an explicit unrolling factor,
that unrolling factor would be unconditionally passed into the metadata
even when it was 1 or 0. These special cases should instead disable
unrolling. Adding an explicit unrolling factor of 0 triggered this
assertion which is fixed by this patch:

```
unsigned int unrollCountPragmaValue(const llvm::Loop*):
Assertion `Count >= 1 && "Unroll count must be positive."' failed.
```

Updated tests and documentation.


  Commit: 7ae78a6cdb6ce9ad1534ed10519649fb3d47aca9
      https://github.com/llvm/llvm-project/commit/7ae78a6cdb6ce9ad1534ed10519649fb3d47aca9
  Author: lonely eagle <2020382038 at qq.com>
  Date:   2025-02-11 (Tue, 11 Feb 2025)

  Changed paths:
    M mlir/lib/Dialect/Vector/IR/VectorOps.cpp
    M mlir/test/Conversion/VectorToLLVM/vector-to-llvm-interface.mlir
    M mlir/test/Dialect/Vector/canonicalize.mlir
    M mlir/test/Dialect/Vector/vector-warp-distribute.mlir

  Log Message:
  -----------
  [mlir][vector]add extractInsertFoldConstantOp fold function and apply it to extractOp and insertOp. (#124399)

add extractInsertFoldConstantOp fold function and apply it to extractOp and insertOp.


  Commit: 3706dfef660097f24fb5efbac0d7f14b424492ed
      https://github.com/llvm/llvm-project/commit/3706dfef660097f24fb5efbac0d7f14b424492ed
  Author: Florian Hahn <flo at fhahn.com>
  Date:   2025-02-10 (Mon, 10 Feb 2025)

  Changed paths:
    M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
    A llvm/test/Transforms/LoopVectorize/invalidate-scev-at-scope-after-vectorization.ll

  Log Message:
  -----------
  [LV] Forget LCSSA phi with new pred before other SCEV invalidation. (#119897)

`forgetLcssaPhiWithNewPredecessor` performs additional invalidation if
there is an existing SCEV for the phi, but earlier
`forgetBlockAndLoopDispositions` or `forgetLoop` may already invalidate
the SCEV for the phi.

Change the order to first call `forgetLcssaPhiWithNewPredecessor` to
ensure it runs before its SCEV gets invalidated too eagerly.

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

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


  Commit: 62ae876b1ba2f03bb125174aa24e30b4ebd351a5
      https://github.com/llvm/llvm-project/commit/62ae876b1ba2f03bb125174aa24e30b4ebd351a5
  Author: Tai Ly <tai.ly at arm.com>
  Date:   2025-02-10 (Mon, 10 Feb 2025)

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

  Log Message:
  -----------
  [mlir][tosa] Fix conv op build functions (#126321)

This patch fixes several issues:
  - buildConvOpWithQuantInfo: 
       call buildConvOpResultTypeInfo to get final output type
  - buildTransConvOpWithQuantInfo:
       add input_zp and weight_zp operands
       remove input_zp/weight_zp attributes
  - createZeroPointTensor:
       add getElementTypeOrSelf to get element type just in case
       remove bad auto-merge lines


Change-Id: Idbf88f500ce57a865da4b7be7b7b8bf2ba194b24

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


  Commit: 6a8439b5933e71d6dc93d5bdc921340efaa9522f
      https://github.com/llvm/llvm-project/commit/6a8439b5933e71d6dc93d5bdc921340efaa9522f
  Author: Prashanth <TheStarOne01 at proton.me>
  Date:   2025-02-10 (Mon, 10 Feb 2025)

  Changed paths:
    M libc/docs/CMakeLists.txt
    M libc/docs/headers/index.rst
    A libc/utils/docgen/sys/statvfs.yaml

  Log Message:
  -----------
  [libc][docs] Add sys/statvfs to documentation and YAML definitions (#126413)

These changes ensure that the sys/statvfs header is documented properly
with respect to the issue (
https://github.com/llvm/llvm-project/issues/122006 ) .


  Commit: 5b9e6c7993359c16b4d645c851bb7fe2fd7b78c7
      https://github.com/llvm/llvm-project/commit/5b9e6c7993359c16b4d645c851bb7fe2fd7b78c7
  Author: Mark de Wever <koraq at xs4all.nl>
  Date:   2025-02-10 (Mon, 10 Feb 2025)

  Changed paths:
    M libcxx/test/libcxx/feature_test_macro/ftm_metadata.sh.py
    M libcxx/test/libcxx/feature_test_macro/version_header_implementation.sh.py
    M libcxx/utils/generate_feature_test_macro_components.py

  Log Message:
  -----------
  [libc++] Improves type-safety in generator script. (#101880)

This changes the code to use dataclasses instead of dict entries. It
also adds type aliases to use in the typing information and updates the
typing information.


  Commit: 62245aaa6b1983ceae768eaee30aa41c4dd6db51
      https://github.com/llvm/llvm-project/commit/62245aaa6b1983ceae768eaee30aa41c4dd6db51
  Author: Sam Elliott <quic_aelliott at quicinc.com>
  Date:   2025-02-10 (Mon, 10 Feb 2025)

  Changed paths:
    M llvm/lib/Target/RISCV/RISCVRegisterInfo.td
    M llvm/test/MC/RISCV/rv32c-invalid.s
    M llvm/test/MC/RISCV/xwchc-invalid.s

  Log Message:
  -----------
  [RISCV] Improve Errors for GPRNoX0X2/SP Reg Classes (#126394)

More adoption of better diagnostics for RISC-V register classes:
- GPRNoX0X2 (GPRs excluding `zero` and `x2`, used for `c.lui`)
- SP (only contains `sp`)


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

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

  Log Message:
  -----------
  [libc++][CI] Updates Clang HEAD version in Docker. (#126419)

This is a preparation to test Clang 21 in the CI,

Drive-by: Updated some outdated documentation.


  Commit: 55015e150b35f69431ce1f906e22a598d5b2f000
      https://github.com/llvm/llvm-project/commit/55015e150b35f69431ce1f906e22a598d5b2f000
  Author: Rahul Joshi <rjoshi at nvidia.com>
  Date:   2025-02-10 (Mon, 10 Feb 2025)

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

  Log Message:
  -----------
  [NFC][TableGen] Delete `getLogicalOperandType` from InstrInfoEmitter (#125951)

Delete `getLogicalOperandType` function from InstrInfoEmitter as no
backend seems to use it.


  Commit: e42fdcb41fdcfe7bf302b40f20afb4e9cda5602d
      https://github.com/llvm/llvm-project/commit/e42fdcb41fdcfe7bf302b40f20afb4e9cda5602d
  Author: Luke Lau <luke at igalia.com>
  Date:   2025-02-11 (Tue, 11 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: 9e0077c921ebf505afa117cf520c628ace1a29cf
      https://github.com/llvm/llvm-project/commit/9e0077c921ebf505afa117cf520c628ace1a29cf
  Author: Andreas Jonson <andjo403 at hotmail.com>
  Date:   2025-02-10 (Mon, 10 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: 0a470a926481d370251731cb2dd897531756335f
      https://github.com/llvm/llvm-project/commit/0a470a926481d370251731cb2dd897531756335f
  Author: Fangrui Song <i at maskray.me>
  Date:   2025-02-10 (Mon, 10 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: 5d2e2847e09ae70e24b6c749c08028e705786113
      https://github.com/llvm/llvm-project/commit/5d2e2847e09ae70e24b6c749c08028e705786113
  Author: Jinsong Ji <jinsong.ji at intel.com>
  Date:   2025-02-10 (Mon, 10 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: ad61e533338771e7aab22e023f656098e61a76f0
      https://github.com/llvm/llvm-project/commit/ad61e533338771e7aab22e023f656098e61a76f0
  Author: Fangrui Song <i at maskray.me>
  Date:   2025-02-10 (Mon, 10 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: ced23aa5403240f26cba4d99b59bf5d31d6035ac
      https://github.com/llvm/llvm-project/commit/ced23aa5403240f26cba4d99b59bf5d31d6035ac
  Author: Benoit Jacob <jacob.benoit.1 at gmail.com>
  Date:   2025-02-10 (Mon, 10 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: 1e14edb8981326e18509409be5c95e0c8c740891
      https://github.com/llvm/llvm-project/commit/1e14edb8981326e18509409be5c95e0c8c740891
  Author: earnol <earnol at users.noreply.github.com>
  Date:   2025-02-10 (Mon, 10 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: 7438a024b66695fd9a22571da901533e6771a617
      https://github.com/llvm/llvm-project/commit/7438a024b66695fd9a22571da901533e6771a617
  Author: Thomas Sepez <tsepez at users.noreply.github.com>
  Date:   2025-02-10 (Mon, 10 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: 839002dd2dfc51398248d14052220058ff242143
      https://github.com/llvm/llvm-project/commit/839002dd2dfc51398248d14052220058ff242143
  Author: Peter Rong <peterrong96 at gmail.com>
  Date:   2025-02-10 (Mon, 10 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: 73114e43eea0a6f0d70272dc203bc520da1c4f6b
      https://github.com/llvm/llvm-project/commit/73114e43eea0a6f0d70272dc203bc520da1c4f6b
  Author: Charlie Barto <chbarto at microsoft.com>
  Date:   2025-02-10 (Mon, 10 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: 5c42ccd7260da565d947edf60bd8ad4dea0ddf58
      https://github.com/llvm/llvm-project/commit/5c42ccd7260da565d947edf60bd8ad4dea0ddf58
  Author: Nick Sarnie <nick.sarnie at intel.com>
  Date:   2025-02-10 (Mon, 10 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: f101899ae8582be276758fe44e12cbf723d23b03
      https://github.com/llvm/llvm-project/commit/f101899ae8582be276758fe44e12cbf723d23b03
  Author: Aiden Grossman <aidengrossman at google.com>
  Date:   2025-02-10 (Mon, 10 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: 196a1acc7d277d05d4b94ad7745c18bf13ea991f
      https://github.com/llvm/llvm-project/commit/196a1acc7d277d05d4b94ad7745c18bf13ea991f
  Author: Abid Qadeer <haqadeer at amd.com>
  Date:   2025-02-10 (Mon, 10 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: 808b1c11a26ba986a4148e10f30a5ba995766f83
      https://github.com/llvm/llvm-project/commit/808b1c11a26ba986a4148e10f30a5ba995766f83
  Author: Aiden Grossman <aidengrossman at google.com>
  Date:   2025-02-10 (Mon, 10 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: 56b760cc472fd2e919e5046575b6c537cb7f3d0b
      https://github.com/llvm/llvm-project/commit/56b760cc472fd2e919e5046575b6c537cb7f3d0b
  Author: Aiden Grossman <aidengrossman at google.com>
  Date:   2025-02-10 (Mon, 10 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: 50317ca13f6ad9b2196f92f8c719f5c31e5d6812
      https://github.com/llvm/llvm-project/commit/50317ca13f6ad9b2196f92f8c719f5c31e5d6812
  Author: Vy Nguyen <vyng at google.com>
  Date:   2025-02-10 (Mon, 10 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: 13f63010784d8d55620fa7846ac2192f20f95113
      https://github.com/llvm/llvm-project/commit/13f63010784d8d55620fa7846ac2192f20f95113
  Author: youngd007 <davidayoung at meta.com>
  Date:   2025-02-10 (Mon, 10 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: feb30f25c0d40e928496d2bd17dd74c23e993583
      https://github.com/llvm/llvm-project/commit/feb30f25c0d40e928496d2bd17dd74c23e993583
  Author: Joseph Huber <huberjn at outlook.com>
  Date:   2025-02-10 (Mon, 10 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: a854c266b98468ad4479a7d3c56a3fa76437e30d
      https://github.com/llvm/llvm-project/commit/a854c266b98468ad4479a7d3c56a3fa76437e30d
  Author: Joseph Huber <huberjn at outlook.com>
  Date:   2025-02-10 (Mon, 10 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: f290fc3df0eb7934d3edeea4f8c5a6c289d7c16b
      https://github.com/llvm/llvm-project/commit/f290fc3df0eb7934d3edeea4f8c5a6c289d7c16b
  Author: Paul Kirth <paulkirth at google.com>
  Date:   2025-02-10 (Mon, 10 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: d7fd2a2a3befe451d3cc70612a40e8c90a780caf
      https://github.com/llvm/llvm-project/commit/d7fd2a2a3befe451d3cc70612a40e8c90a780caf
  Author: Thomas Preud'homme <thomas.preudhomme at arm.com>
  Date:   2025-02-10 (Mon, 10 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: f147d67524d734212eb36f01db453606f70bece5
      https://github.com/llvm/llvm-project/commit/f147d67524d734212eb36f01db453606f70bece5
  Author: Florian Hahn <flo at fhahn.com>
  Date:   2025-02-10 (Mon, 10 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: 872aaddba92efe8a792673d6e0420966fe773093
      https://github.com/llvm/llvm-project/commit/872aaddba92efe8a792673d6e0420966fe773093
  Author: Nico Weber <thakis at chromium.org>
  Date:   2025-02-10 (Mon, 10 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: f332455dd9a2b2b3ecb20f28349673313c5b440b
      https://github.com/llvm/llvm-project/commit/f332455dd9a2b2b3ecb20f28349673313c5b440b
  Author: Louis Dionne <ldionne.2 at gmail.com>
  Date:   2025-02-10 (Mon, 10 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: 3d9409f5bc413b12acf95b4a6c2a5c8860d95d7c
      https://github.com/llvm/llvm-project/commit/3d9409f5bc413b12acf95b4a6c2a5c8860d95d7c
  Author: Joseph Huber <huberjn at outlook.com>
  Date:   2025-02-10 (Mon, 10 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: d11b9b7275b01067ff15486caf1e270375e1a97c
      https://github.com/llvm/llvm-project/commit/d11b9b7275b01067ff15486caf1e270375e1a97c
  Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
  Date:   2025-02-10 (Mon, 10 Feb 2025)

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

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


  Commit: 6536579d805c07ab43dc1ff23999ae85677ed9e2
      https://github.com/llvm/llvm-project/commit/6536579d805c07ab43dc1ff23999ae85677ed9e2
  Author: Jacek Caban <jacek at codeweavers.com>
  Date:   2025-02-10 (Mon, 10 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: 83edbd4958feb00db48d35d94d349b4e4d4482c6
      https://github.com/llvm/llvm-project/commit/83edbd4958feb00db48d35d94d349b4e4d4482c6
  Author: Razvan Lupusoru <razvan.lupusoru at gmail.com>
  Date:   2025-02-10 (Mon, 10 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: db1dd876424680c4e57cfb35635c85003d04ee56
      https://github.com/llvm/llvm-project/commit/db1dd876424680c4e57cfb35635c85003d04ee56
  Author: Sarah Spall <sarahspall at microsoft.com>
  Date:   2025-02-10 (Mon, 10 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: cd26c112b224180bfc9ff23fbe04deb3322a18d8
      https://github.com/llvm/llvm-project/commit/cd26c112b224180bfc9ff23fbe04deb3322a18d8
  Author: Tom Stellard <tstellar at redhat.com>
  Date:   2025-02-10 (Mon, 10 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: fdded8537d88c71dc3e198dd40bb32acb91132ac
      https://github.com/llvm/llvm-project/commit/fdded8537d88c71dc3e198dd40bb32acb91132ac
  Author: Jacek Caban <jacek at codeweavers.com>
  Date:   2025-02-10 (Mon, 10 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: a80bccc6847be104948f46d313f03ac6b9ccb292
      https://github.com/llvm/llvm-project/commit/a80bccc6847be104948f46d313f03ac6b9ccb292
  Author: youngd007 <davidayoung at meta.com>
  Date:   2025-02-10 (Mon, 10 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: 94d956367ec047526b2ecd7774d6e068ea82fd87
      https://github.com/llvm/llvm-project/commit/94d956367ec047526b2ecd7774d6e068ea82fd87
  Author: Jacek Caban <jacek at codeweavers.com>
  Date:   2025-02-10 (Mon, 10 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: b969726901b6e7e5e383f2f47e698efd2cfda364
      https://github.com/llvm/llvm-project/commit/b969726901b6e7e5e383f2f47e698efd2cfda364
  Author: David Blaikie <dblaikie at gmail.com>
  Date:   2025-02-10 (Mon, 10 Feb 2025)

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

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


  Commit: 7ba3c55d91dcd7da5a5eb1c58225f648fb38b740
      https://github.com/llvm/llvm-project/commit/7ba3c55d91dcd7da5a5eb1c58225f648fb38b740
  Author: Michael Flanders <flanders.michaelk at gmail.com>
  Date:   2025-02-10 (Mon, 10 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: 7c269cf0f6daad4a2a91ac87df89c3d134843ecd
      https://github.com/llvm/llvm-project/commit/7c269cf0f6daad4a2a91ac87df89c3d134843ecd
  Author: Chelsea Cassanova <chelsea_cassanova at apple.com>
  Date:   2025-02-10 (Mon, 10 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: 07f21541424c95b4451292b288e5d69272c8020c
      https://github.com/llvm/llvm-project/commit/07f21541424c95b4451292b288e5d69272c8020c
  Author: Joseph Huber <huberjn at outlook.com>
  Date:   2025-02-10 (Mon, 10 Feb 2025)

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

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


  Commit: 3c6d1dd362009e0aebd91c5197d40f8ce59fcff4
      https://github.com/llvm/llvm-project/commit/3c6d1dd362009e0aebd91c5197d40f8ce59fcff4
  Author: Gábor Horváth <xazax.hun at gmail.com>
  Date:   2025-02-10 (Mon, 10 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: d81b604656c189a9d4e9f0d14b0f4d52f454deac
      https://github.com/llvm/llvm-project/commit/d81b604656c189a9d4e9f0d14b0f4d52f454deac
  Author: Jonas Devlieghere <jonas at devlieghere.com>
  Date:   2025-02-10 (Mon, 10 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: d90399603c1db201be830a895f3b1324c4b30d07
      https://github.com/llvm/llvm-project/commit/d90399603c1db201be830a895f3b1324c4b30d07
  Author: Jason Molenda <jmolenda at apple.com>
  Date:   2025-02-10 (Mon, 10 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: 0f674cce82da851961b3e59b1bd663919e17fb65
      https://github.com/llvm/llvm-project/commit/0f674cce82da851961b3e59b1bd663919e17fb65
  Author: Rahul Joshi <rjoshi at nvidia.com>
  Date:   2025-02-10 (Mon, 10 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: 44fcc5cdacc5ed33e096f50d05e1ab1260a944c0
      https://github.com/llvm/llvm-project/commit/44fcc5cdacc5ed33e096f50d05e1ab1260a944c0
  Author: Nico Weber <thakis at chromium.org>
  Date:   2025-02-10 (Mon, 10 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: fb623a35248ed84cc7c82c696bf92419324720de
      https://github.com/llvm/llvm-project/commit/fb623a35248ed84cc7c82c696bf92419324720de
  Author: Jason Molenda <jmolenda at apple.com>
  Date:   2025-02-10 (Mon, 10 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: f451d27b387cdff14f0f45f1b3314090a5008e0c
      https://github.com/llvm/llvm-project/commit/f451d27b387cdff14f0f45f1b3314090a5008e0c
  Author: Jonas Devlieghere <jonas at devlieghere.com>
  Date:   2025-02-10 (Mon, 10 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: 1932ed040cc95ddfdeda3074bb57144cd2897d56
      https://github.com/llvm/llvm-project/commit/1932ed040cc95ddfdeda3074bb57144cd2897d56
  Author: Keith Smiley <keithbsmiley at gmail.com>
  Date:   2025-02-10 (Mon, 10 Feb 2025)

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

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


  Commit: 754d896ca74ff07b2e0983a717963601016eae0b
      https://github.com/llvm/llvm-project/commit/754d896ca74ff07b2e0983a717963601016eae0b
  Author: Slava Zakharin <szakharin at nvidia.com>
  Date:   2025-02-10 (Mon, 10 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: 622b8edfc2485b21802778d1f4ae7aed3bbbb40e
      https://github.com/llvm/llvm-project/commit/622b8edfc2485b21802778d1f4ae7aed3bbbb40e
  Author: Kazu Hirata <kazu at google.com>
  Date:   2025-02-10 (Mon, 10 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: 998f2422a563bb85065bfd1633d10644d9af3f92
      https://github.com/llvm/llvm-project/commit/998f2422a563bb85065bfd1633d10644d9af3f92
  Author: A. Jiang <de34 at live.cn>
  Date:   2025-02-11 (Tue, 11 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: 001ba42fe057de10942ac886c3bd82ee54373ddf
      https://github.com/llvm/llvm-project/commit/001ba42fe057de10942ac886c3bd82ee54373ddf
  Author: Uday Bondhugula <uday at polymagelabs.com>
  Date:   2025-02-11 (Tue, 11 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: 0c6c4a99936d4d39015c8d2332483f8db78f69cf
      https://github.com/llvm/llvm-project/commit/0c6c4a99936d4d39015c8d2332483f8db78f69cf
  Author: Florian Mayer <fmayer at google.com>
  Date:   2025-02-10 (Mon, 10 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: aeeeeabe5832d683d317a5ed5a87b520aea54368
      https://github.com/llvm/llvm-project/commit/aeeeeabe5832d683d317a5ed5a87b520aea54368
  Author: Oleksandr T. <oleksandr.tarasiuk at outlook.com>
  Date:   2025-02-11 (Tue, 11 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: 15412d9d83e23ce7de23dc7252391ee6403384af
      https://github.com/llvm/llvm-project/commit/15412d9d83e23ce7de23dc7252391ee6403384af
  Author: Shilei Tian <i at tianshilei.me>
  Date:   2025-02-10 (Mon, 10 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: 9cc7ee16e3bb849fb3c0155a843bfe349a2d2175
      https://github.com/llvm/llvm-project/commit/9cc7ee16e3bb849fb3c0155a843bfe349a2d2175
  Author: yingopq <115543042+yingopq at users.noreply.github.com>
  Date:   2025-02-11 (Tue, 11 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: 0b922d66e510de718cba671331bec3ebe42d0b70
      https://github.com/llvm/llvm-project/commit/0b922d66e510de718cba671331bec3ebe42d0b70
  Author: Baranov Victor <70346889+vbvictor at users.noreply.github.com>
  Date:   2025-02-11 (Tue, 11 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: ea6827cacfde062c7d9f03266af5298499313176
      https://github.com/llvm/llvm-project/commit/ea6827cacfde062c7d9f03266af5298499313176
  Author: Sam Elliott <quic_aelliott at quicinc.com>
  Date:   2025-02-10 (Mon, 10 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: c9f1d2cbf18990311ea1287cc154e3784a10a3b0
      https://github.com/llvm/llvm-project/commit/c9f1d2cbf18990311ea1287cc154e3784a10a3b0
  Author: Jens Reidel <adrian at travitia.xyz>
  Date:   2025-02-10 (Mon, 10 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: 595195e86e221cae547986bd8aada613455721e1
      https://github.com/llvm/llvm-project/commit/595195e86e221cae547986bd8aada613455721e1
  Author: Ryosuke Niwa <rniwa at webkit.org>
  Date:   2025-02-10 (Mon, 10 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: af522c5dd3a38cc5e11e8e62009d7dbe2cde2d86
      https://github.com/llvm/llvm-project/commit/af522c5dd3a38cc5e11e8e62009d7dbe2cde2d86
  Author: Mikołaj Piróg <mikolaj.maciej.pirog at intel.com>
  Date:   2025-02-11 (Tue, 11 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: 0c955167c241fd64f3a6737c06fa54de46165cac
      https://github.com/llvm/llvm-project/commit/0c955167c241fd64f3a6737c06fa54de46165cac
  Author: Phoebe Wang <phoebe.wang at intel.com>
  Date:   2025-02-11 (Tue, 11 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: 2d66ab5e8ede4f893b272f5ad1231e87504d7235
      https://github.com/llvm/llvm-project/commit/2d66ab5e8ede4f893b272f5ad1231e87504d7235
  Author: Louis Dionne <ldionne.2 at gmail.com>
  Date:   2025-02-11 (Tue, 11 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: 1a0de96c95feaffb3c05159305edce8c7c47057f
      https://github.com/llvm/llvm-project/commit/1a0de96c95feaffb3c05159305edce8c7c47057f
  Author: Helena Kotas <hekotas at microsoft.com>
  Date:   2025-02-10 (Mon, 10 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: 3293bff5d2672f21655a9840b39b7c8512fc17ee
      https://github.com/llvm/llvm-project/commit/3293bff5d2672f21655a9840b39b7c8512fc17ee
  Author: Vikram Hegde <115221833+vikramRH at users.noreply.github.com>
  Date:   2025-02-11 (Tue, 11 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: 9d134f26ea83cd53e7b38220c2b95d6f20ba3221
      https://github.com/llvm/llvm-project/commit/9d134f26ea83cd53e7b38220c2b95d6f20ba3221
  Author: Miguel A. Arroyo <miguel.arroyo at rockstargames.com>
  Date:   2025-02-10 (Mon, 10 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: 27c034a9c69a659a2c1fa645f5cf1b50ecf61834
      https://github.com/llvm/llvm-project/commit/27c034a9c69a659a2c1fa645f5cf1b50ecf61834
  Author: Sudharsan Veeravalli <quic_svs at quicinc.com>
  Date:   2025-02-11 (Tue, 11 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: 170b9caf335eb99cdecba0fb6cdf45728bcac11d
      https://github.com/llvm/llvm-project/commit/170b9caf335eb99cdecba0fb6cdf45728bcac11d
  Author: Ben Shi <2283975856 at qq.com>
  Date:   2025-02-11 (Tue, 11 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: 569e94f8f1c3e6998860e2b2ff577870433bdac9
      https://github.com/llvm/llvm-project/commit/569e94f8f1c3e6998860e2b2ff577870433bdac9
  Author: Chuanqi Xu <yedeng.yd at linux.alibaba.com>
  Date:   2025-02-11 (Tue, 11 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: 1d6b31f7705541a9fb7d79bebe2cdbc3de7d9fb6
      https://github.com/llvm/llvm-project/commit/1d6b31f7705541a9fb7d79bebe2cdbc3de7d9fb6
  Author: Amir Bishara <139038766+amirBish at users.noreply.github.com>
  Date:   2025-02-11 (Tue, 11 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: 0d8d354b0c2e9b11605290af3323ac63652e1abd
      https://github.com/llvm/llvm-project/commit/0d8d354b0c2e9b11605290af3323ac63652e1abd
  Author: YunQiang Su <syq at debian.org>
  Date:   2025-02-11 (Tue, 11 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: be354cf3818222a114a098ed3637a67f8004b21f
      https://github.com/llvm/llvm-project/commit/be354cf3818222a114a098ed3637a67f8004b21f
  Author: Longsheng Mou <longshengmou at gmail.com>
  Date:   2025-02-11 (Tue, 11 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: 90192e8872cc90b4d292b180a49babf72d17e579
      https://github.com/llvm/llvm-project/commit/90192e8872cc90b4d292b180a49babf72d17e579
  Author: higher-performance <higher.performance.github at gmail.com>
  Date:   2025-02-11 (Tue, 11 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: 2cd8207b26ea4269630feba661f68554d7ae3c15
      https://github.com/llvm/llvm-project/commit/2cd8207b26ea4269630feba661f68554d7ae3c15
  Author: Piyou Chen <piyou.chen at sifive.com>
  Date:   2025-02-11 (Tue, 11 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: dfbd764a551bf1a0c72bd3e76ac86297221448c0
      https://github.com/llvm/llvm-project/commit/dfbd764a551bf1a0c72bd3e76ac86297221448c0
  Author: Timm Baeder <tbaeder at redhat.com>
  Date:   2025-02-11 (Tue, 11 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: 7af4ab4f072ee6de9d347f9955683d4a49645f1c
      https://github.com/llvm/llvm-project/commit/7af4ab4f072ee6de9d347f9955683d4a49645f1c
  Author: Petr Hosek <phosek at google.com>
  Date:   2025-02-10 (Mon, 10 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: a0587414cbb1520cfd7e886de1d18c408539ac9f
      https://github.com/llvm/llvm-project/commit/a0587414cbb1520cfd7e886de1d18c408539ac9f
  Author: Rainer Orth <ro at gcc.gnu.org>
  Date:   2025-02-11 (Tue, 11 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: d78b5ceb1661c5953563bf860f93b65f85fc4be0
      https://github.com/llvm/llvm-project/commit/d78b5ceb1661c5953563bf860f93b65f85fc4be0
  Author: Nathan Ridge <zeratul976 at hotmail.com>
  Date:   2025-02-11 (Tue, 11 Feb 2025)

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

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


  Commit: 99e1308c41b24e2422324d68be28e5370196e5d6
      https://github.com/llvm/llvm-project/commit/99e1308c41b24e2422324d68be28e5370196e5d6
  Author: jeanPerier <jperier at nvidia.com>
  Date:   2025-02-11 (Tue, 11 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: 6a961dc03d802fb1f34b2b0cd8d09f427382dbdb
      https://github.com/llvm/llvm-project/commit/6a961dc03d802fb1f34b2b0cd8d09f427382dbdb
  Author: Abhilash Majumder <30946547+abhilash1910 at users.noreply.github.com>
  Date:   2025-02-11 (Tue, 11 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: 701223ac20a45d23b9b01c8a514294eb16219d79
      https://github.com/llvm/llvm-project/commit/701223ac20a45d23b9b01c8a514294eb16219d79
  Author: Benjamin Maxwell <benjamin.maxwell at arm.com>
  Date:   2025-02-11 (Tue, 11 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: 67f59a642f96cdb0b73b991b96b5ca05b988e50d
      https://github.com/llvm/llvm-project/commit/67f59a642f96cdb0b73b991b96b5ca05b988e50d
  Author: Adam Siemieniuk <adam.siemieniuk at intel.com>
  Date:   2025-02-11 (Tue, 11 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: dd369c771e215ebf7bf2d09e874643788e49d334
      https://github.com/llvm/llvm-project/commit/dd369c771e215ebf7bf2d09e874643788e49d334
  Author: Victor Campos <victor.campos at arm.com>
  Date:   2025-02-11 (Tue, 11 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: 19fc8e384680eca405b0f1cda9da5f5b2d1f91ab
      https://github.com/llvm/llvm-project/commit/19fc8e384680eca405b0f1cda9da5f5b2d1f91ab
  Author: David Spickett <david.spickett at linaro.org>
  Date:   2025-02-11 (Tue, 11 Feb 2025)

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

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


  Commit: 9fdb0633051121af24dfa00e8a762df10138ecc3
      https://github.com/llvm/llvm-project/commit/9fdb0633051121af24dfa00e8a762df10138ecc3
  Author: Ben Shi <2283975856 at qq.com>
  Date:   2025-02-11 (Tue, 11 Feb 2025)

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

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


  Commit: 06f4fe331727d66187db9672629545755caa24db
      https://github.com/llvm/llvm-project/commit/06f4fe331727d66187db9672629545755caa24db
  Author: jeanPerier <jperier at nvidia.com>
  Date:   2025-02-11 (Tue, 11 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: 1a8d2a40167ea752366fa718a98cafdccce002a5
      https://github.com/llvm/llvm-project/commit/1a8d2a40167ea752366fa718a98cafdccce002a5
  Author: Tai Ly <tai.ly at arm.com>
  Date:   2025-02-11 (Tue, 11 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: 64735ad63975c1126f84dbf7921ce4341dfa2419
      https://github.com/llvm/llvm-project/commit/64735ad63975c1126f84dbf7921ce4341dfa2419
  Author: Fraser Cormack <fraser at codeplay.com>
  Date:   2025-02-11 (Tue, 11 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: a09beae271f209b2038bd503a1347bbf2e802568
      https://github.com/llvm/llvm-project/commit/a09beae271f209b2038bd503a1347bbf2e802568
  Author: Marcos Maronas <marcos.maronas at intel.com>
  Date:   2025-02-11 (Tue, 11 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: 19556eccf650e2e273ebe7770cc32bd3a1786fa4
      https://github.com/llvm/llvm-project/commit/19556eccf650e2e273ebe7770cc32bd3a1786fa4
  Author: Benjamin Maxwell <benjamin.maxwell at arm.com>
  Date:   2025-02-11 (Tue, 11 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: 8cf4c5576d4b9252301c834239791f70f42d94b8
      https://github.com/llvm/llvm-project/commit/8cf4c5576d4b9252301c834239791f70f42d94b8
  Author: Maya Amrami <62667278+amrami at users.noreply.github.com>
  Date:   2025-02-11 (Tue, 11 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: 2a5050aa5ef56b01cf4a8f73e0d0eddd6d9ce2a9
      https://github.com/llvm/llvm-project/commit/2a5050aa5ef56b01cf4a8f73e0d0eddd6d9ce2a9
  Author: Zichen Lu <mikaovo2000 at gmail.com>
  Date:   2025-02-11 (Tue, 11 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: e258bca9505f35e0a22cb213a305eea9b76d11ea
      https://github.com/llvm/llvm-project/commit/e258bca9505f35e0a22cb213a305eea9b76d11ea
  Author: Florian Hahn <flo at fhahn.com>
  Date:   2025-02-11 (Tue, 11 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: 560149b5e3c891c64899e9912e29467a69dc3a4c
      https://github.com/llvm/llvm-project/commit/560149b5e3c891c64899e9912e29467a69dc3a4c
  Author: Michael Flanders <flanders.michaelk at gmail.com>
  Date:   2025-02-11 (Tue, 11 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: 73913275c414741b6c9789931fbab4470a181b00
      https://github.com/llvm/llvm-project/commit/73913275c414741b6c9789931fbab4470a181b00
  Author: Donát Nagy <donat.nagy at ericsson.com>
  Date:   2025-02-11 (Tue, 11 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: 82bd148a3f25439d7f52a32422dc1bcd2da03803
      https://github.com/llvm/llvm-project/commit/82bd148a3f25439d7f52a32422dc1bcd2da03803
  Author: Nikita Popov <npopov at redhat.com>
  Date:   2025-02-11 (Tue, 11 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: 8d902f2cb0bc8825bcde911897e99aadbd5d28e9
      https://github.com/llvm/llvm-project/commit/8d902f2cb0bc8825bcde911897e99aadbd5d28e9
  Author: Yutong Zhu <115899167+YutongZhuu at users.noreply.github.com>
  Date:   2025-02-11 (Tue, 11 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: dd59198647b7be2e7a404d7bf9ecb247fb36ebad
      https://github.com/llvm/llvm-project/commit/dd59198647b7be2e7a404d7bf9ecb247fb36ebad
  Author: Juan Manuel Martinez Caamaño <jmartinezcaamao at gmail.com>
  Date:   2025-02-11 (Tue, 11 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: bf2d4eb7030b809004dd1e6d0cc15a94a9e18c88
      https://github.com/llvm/llvm-project/commit/bf2d4eb7030b809004dd1e6d0cc15a94a9e18c88
  Author: Michał Górny <mgorny at gentoo.org>
  Date:   2025-02-11 (Tue, 11 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: d89c23b487dfb96718f9f72f2841a83906cc3d0b
      https://github.com/llvm/llvm-project/commit/d89c23b487dfb96718f9f72f2841a83906cc3d0b
  Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
  Date:   2025-02-11 (Tue, 11 Feb 2025)

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

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


  Commit: dbe1dafdbde247d9c133626cc38a8c587a49344f
      https://github.com/llvm/llvm-project/commit/dbe1dafdbde247d9c133626cc38a8c587a49344f
  Author: Rahul Joshi <rjoshi at nvidia.com>
  Date:   2025-02-11 (Tue, 11 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: efc72347fd26e30a3f751348bee6a404cf18237a
      https://github.com/llvm/llvm-project/commit/efc72347fd26e30a3f751348bee6a404cf18237a
  Author: David Sherwood <david.sherwood at arm.com>
  Date:   2025-02-11 (Tue, 11 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: 04589d1795ed4698766f5a26b6d7f32207968792
      https://github.com/llvm/llvm-project/commit/04589d1795ed4698766f5a26b6d7f32207968792
  Author: Nick Sarnie <nick.sarnie at intel.com>
  Date:   2025-02-11 (Tue, 11 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: 94f9d5d1a8257710f0483ce025e19a6326ca6e4b
      https://github.com/llvm/llvm-project/commit/94f9d5d1a8257710f0483ce025e19a6326ca6e4b
  Author: Joseph Huber <huberjn at outlook.com>
  Date:   2025-02-11 (Tue, 11 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: c837f572865eb2980b82a8415da45dc1157627bf
      https://github.com/llvm/llvm-project/commit/c837f572865eb2980b82a8415da45dc1157627bf
  Author: Vigneshwar Jayakumar <vigneshwar.jayakumar at amd.com>
  Date:   2025-02-11 (Tue, 11 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: 9387fd96314c59fc9aff1a82e478f9b89a97c20a
      https://github.com/llvm/llvm-project/commit/9387fd96314c59fc9aff1a82e478f9b89a97c20a
  Author: Timm Baeder <tbaeder at redhat.com>
  Date:   2025-02-11 (Tue, 11 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: ab93bd6959d6d2df1b44c1654938452dc30898b0
      https://github.com/llvm/llvm-project/commit/ab93bd6959d6d2df1b44c1654938452dc30898b0
  Author: Hsiangkai Wang <hsiangkai.wang at arm.com>
  Date:   2025-02-11 (Tue, 11 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: 5bf42d3e2e83344db14fc0e33623840c53cebfc4
      https://github.com/llvm/llvm-project/commit/5bf42d3e2e83344db14fc0e33623840c53cebfc4
  Author: Keith Smiley <keithbsmiley at gmail.com>
  Date:   2025-02-11 (Tue, 11 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: b7188f6313fef2d5a248e71ba6028460b2ac0558
      https://github.com/llvm/llvm-project/commit/b7188f6313fef2d5a248e71ba6028460b2ac0558
  Author: Ivan Kosarev <ivan.kosarev at amd.com>
  Date:   2025-02-11 (Tue, 11 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: 2ad9d5f5f01cd4f29788a0cf7b21790df13fca71
      https://github.com/llvm/llvm-project/commit/2ad9d5f5f01cd4f29788a0cf7b21790df13fca71
  Author: Michał Górny <mgorny at gentoo.org>
  Date:   2025-02-11 (Tue, 11 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: 76392421553f3b25552970812868f70721971451
      https://github.com/llvm/llvm-project/commit/76392421553f3b25552970812868f70721971451
  Author: Stanislav Mekhanoshin <rampitec at users.noreply.github.com>
  Date:   2025-02-11 (Tue, 11 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: 2f54223247e8f9f0fc006b944de8351f376814af
      https://github.com/llvm/llvm-project/commit/2f54223247e8f9f0fc006b944de8351f376814af
  Author: sitrin <michael.s.adams at gmail.com>
  Date:   2025-02-11 (Tue, 11 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: b3510a88b3c19645fbde09cb58af6dead68ebd36
      https://github.com/llvm/llvm-project/commit/b3510a88b3c19645fbde09cb58af6dead68ebd36
  Author: Florian Mayer <fmayer at google.com>
  Date:   2025-02-11 (Tue, 11 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: 8e4e1449318de0e73192edf0b3c6a0d5b6ec7a31
      https://github.com/llvm/llvm-project/commit/8e4e1449318de0e73192edf0b3c6a0d5b6ec7a31
  Author: Kazu Hirata <kazu at google.com>
  Date:   2025-02-11 (Tue, 11 Feb 2025)

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

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


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

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

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


  Commit: 43c82a8e07819ad0553ef0dffedff3c8b8cecf5e
      https://github.com/llvm/llvm-project/commit/43c82a8e07819ad0553ef0dffedff3c8b8cecf5e
  Author: Kazu Hirata <kazu at google.com>
  Date:   2025-02-11 (Tue, 11 Feb 2025)

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

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


  Commit: 497506f6f454272e7c4921b3143768c6927738e4
      https://github.com/llvm/llvm-project/commit/497506f6f454272e7c4921b3143768c6927738e4
  Author: Kazu Hirata <kazu at google.com>
  Date:   2025-02-11 (Tue, 11 Feb 2025)

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

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


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

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

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


  Commit: 042e860a8a3a2e1be384a5de04b90607ce32e294
      https://github.com/llvm/llvm-project/commit/042e860a8a3a2e1be384a5de04b90607ce32e294
  Author: Kazu Hirata <kazu at google.com>
  Date:   2025-02-11 (Tue, 11 Feb 2025)

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

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


  Commit: cf87eb9d9b006ff28296e399dcc73d68bb187e91
      https://github.com/llvm/llvm-project/commit/cf87eb9d9b006ff28296e399dcc73d68bb187e91
  Author: Andreas Jonson <andjo403 at hotmail.com>
  Date:   2025-02-11 (Tue, 11 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: f574d8235371c4f28cad8e800d99bcb7ad579b7d
      https://github.com/llvm/llvm-project/commit/f574d8235371c4f28cad8e800d99bcb7ad579b7d
  Author: Sharjeel Khan <sharjeelkhan at google.com>
  Date:   2025-02-11 (Tue, 11 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: c3d8c625af8ebbf8a9af035c18ec4e1cb1d8d2f3
      https://github.com/llvm/llvm-project/commit/c3d8c625af8ebbf8a9af035c18ec4e1cb1d8d2f3
  Author: Razvan Lupusoru <razvan.lupusoru at gmail.com>
  Date:   2025-02-11 (Tue, 11 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: 75cb5633844deb4e0c6a5c7bdf84013b563818d3
      https://github.com/llvm/llvm-project/commit/75cb5633844deb4e0c6a5c7bdf84013b563818d3
  Author: Ilia Kuklin <ikuklin at accesssoftek.com>
  Date:   2025-02-11 (Tue, 11 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: 42538ca3a0db6513a1a01fca88dccd34bd0d9641
      https://github.com/llvm/llvm-project/commit/42538ca3a0db6513a1a01fca88dccd34bd0d9641
  Author: Aaron Siddhartha Mondal <aaron at tracemachina.com>
  Date:   2025-02-11 (Tue, 11 Feb 2025)

  Changed paths:
    M .github/CODEOWNERS

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


  Commit: b92bab3c010a8b8d7c2273ebdacfa34aaaaa757d
      https://github.com/llvm/llvm-project/commit/b92bab3c010a8b8d7c2273ebdacfa34aaaaa757d
  Author: S. Bharadwaj Yadavalli <Bharadwaj.Yadavalli at microsoft.com>
  Date:   2025-02-11 (Tue, 11 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: b8ba266820ca51216c98216369a4947a942ec21c
      https://github.com/llvm/llvm-project/commit/b8ba266820ca51216c98216369a4947a942ec21c
  Author: Nick Desaulniers <ndesaulniers at google.com>
  Date:   2025-02-11 (Tue, 11 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: 6d58dd4dd9fa24d66bdab64f0f905926081a9944
      https://github.com/llvm/llvm-project/commit/6d58dd4dd9fa24d66bdab64f0f905926081a9944
  Author: Wael Yehia <wyehia at ca.ibm.com>
  Date:   2025-02-11 (Tue, 11 Feb 2025)

  Changed paths:
    M clang/docs/ReleaseNotes.rst

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


  Commit: 1337b0fe3c153ee8b7c8e19d694b9840a64ccf3a
      https://github.com/llvm/llvm-project/commit/1337b0fe3c153ee8b7c8e19d694b9840a64ccf3a
  Author: Balazs Benics <benicsbalazs at gmail.com>
  Date:   2025-02-11 (Tue, 11 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: 55ae118db7c36fb88994e072e424cb66d1f34e74
      https://github.com/llvm/llvm-project/commit/55ae118db7c36fb88994e072e424cb66d1f34e74
  Author: Aaron Siddhartha Mondal <aaron at tracemachina.com>
  Date:   2025-02-11 (Tue, 11 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: 918848d03bb9d0e06dea2ef588bda17ff961923c
      https://github.com/llvm/llvm-project/commit/918848d03bb9d0e06dea2ef588bda17ff961923c
  Author: Jonas Devlieghere <jonas at devlieghere.com>
  Date:   2025-02-11 (Tue, 11 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: 71478ecdb48075051e6e746c4c51b9caeb4c21b6
      https://github.com/llvm/llvm-project/commit/71478ecdb48075051e6e746c4c51b9caeb4c21b6
  Author: Ryosuke Niwa <rniwa at webkit.org>
  Date:   2025-02-11 (Tue, 11 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: a2263eba4d3be0daa96bd154de3b8f2a67aa67fb
      https://github.com/llvm/llvm-project/commit/a2263eba4d3be0daa96bd154de3b8f2a67aa67fb
  Author: Vigneshwar Jayakumar <vigneshwar.jayakumar at amd.com>
  Date:   2025-02-12 (Wed, 12 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: 1188b1ff7b956cb65d8ddda5f1e56c432f1a57c7
      https://github.com/llvm/llvm-project/commit/1188b1ff7b956cb65d8ddda5f1e56c432f1a57c7
  Author: Vigneshwar Jayakumar <vigneshwar.jayakumar at amd.com>
  Date:   2025-02-12 (Wed, 12 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: 71e623d878ecbf66324e15b3a3b2e983e2d7942a
      https://github.com/llvm/llvm-project/commit/71e623d878ecbf66324e15b3a3b2e983e2d7942a
  Author: Elvin Wang <elvin.wang at intel.com>
  Date:   2025-02-11 (Tue, 11 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: 9d7177a2d7e63f90effea848e897cbf96690d154
      https://github.com/llvm/llvm-project/commit/9d7177a2d7e63f90effea848e897cbf96690d154
  Author: Renaud Kauffmann <rkauffmann at nvidia.com>
  Date:   2025-02-11 (Tue, 11 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: 070f84ebc89b11df616a83a56df9ac56efbab783
      https://github.com/llvm/llvm-project/commit/070f84ebc89b11df616a83a56df9ac56efbab783
  Author: Zahira Ammarguellat <zahira.ammarguellat at intel.com>
  Date:   2025-02-11 (Tue, 11 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: 20ae283d087224f6b82b7308054bd34a6764d926
      https://github.com/llvm/llvm-project/commit/20ae283d087224f6b82b7308054bd34a6764d926
  Author: Tai Ly <tai.ly at arm.com>
  Date:   2025-02-11 (Tue, 11 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: 8c67f14f628420a5e06fe631ec6b323f096f2a43
      https://github.com/llvm/llvm-project/commit/8c67f14f628420a5e06fe631ec6b323f096f2a43
  Author: Ryosuke Niwa <rniwa at webkit.org>
  Date:   2025-02-11 (Tue, 11 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: c4fe4561c7893596a5e519d7275df5ea5f0886be
      https://github.com/llvm/llvm-project/commit/c4fe4561c7893596a5e519d7275df5ea5f0886be
  Author: Mark de Wever <koraq at xs4all.nl>
  Date:   2025-02-11 (Tue, 11 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: 1bf1f13be94fa5f4994d10310ec349cc3450d70f
      https://github.com/llvm/llvm-project/commit/1bf1f13be94fa5f4994d10310ec349cc3450d70f
  Author: quic-areg <aregmi at quicinc.com>
  Date:   2025-02-11 (Tue, 11 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: 401f4b828c374a01de6acd7fd8f4a3a4245f7595
      https://github.com/llvm/llvm-project/commit/401f4b828c374a01de6acd7fd8f4a3a4245f7595
  Author: Valentin Clement (バレンタイン クレメン) <clementval at gmail.com>
  Date:   2025-02-11 (Tue, 11 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: c2fea0d837c481c2c1f00077778f84de54c0196f
      https://github.com/llvm/llvm-project/commit/c2fea0d837c481c2c1f00077778f84de54c0196f
  Author: Nick Sarnie <nick.sarnie at intel.com>
  Date:   2025-02-11 (Tue, 11 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: 2cf6663d3c86b065edeb693815e6a4b325045cc2
      https://github.com/llvm/llvm-project/commit/2cf6663d3c86b065edeb693815e6a4b325045cc2
  Author: Kevin Gleason <gleasonk at google.com>
  Date:   2025-02-11 (Tue, 11 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: 67e1e98811ccb438e951ae59dd3041a2baf84437
      https://github.com/llvm/llvm-project/commit/67e1e98811ccb438e951ae59dd3041a2baf84437
  Author: Kazu Hirata <kazu at google.com>
  Date:   2025-02-11 (Tue, 11 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: e4016bf5c32558e773264d1ce875d71cf67bd192
      https://github.com/llvm/llvm-project/commit/e4016bf5c32558e773264d1ce875d71cf67bd192
  Author: Philip Reames <preames at rivosinc.com>
  Date:   2025-02-11 (Tue, 11 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: baf7a3c1e561ff7e3f7da2261ce1012c4f2ba1c0
      https://github.com/llvm/llvm-project/commit/baf7a3c1e561ff7e3f7da2261ce1012c4f2ba1c0
  Author: Joseph Huber <huberjn at outlook.com>
  Date:   2025-02-11 (Tue, 11 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: 3ef5348a0486def3e53ce37b9ed8b8ca020a3a12
      https://github.com/llvm/llvm-project/commit/3ef5348a0486def3e53ce37b9ed8b8ca020a3a12
  Author: David Green <david.green at arm.com>
  Date:   2025-02-11 (Tue, 11 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: 5c7071e996b8b26080219038c2eb262567c18769
      https://github.com/llvm/llvm-project/commit/5c7071e996b8b26080219038c2eb262567c18769
  Author: Florian Mayer <fmayer at google.com>
  Date:   2025-02-11 (Tue, 11 Feb 2025)

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

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


  Commit: 3c74430320619495d4d547b05427654c9a7c8586
      https://github.com/llvm/llvm-project/commit/3c74430320619495d4d547b05427654c9a7c8586
  Author: Alireza Torabian <torabian.alireza at gmail.com>
  Date:   2025-02-11 (Tue, 11 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: 188915535a2c42f347076e49ad95271c11e9a05d
      https://github.com/llvm/llvm-project/commit/188915535a2c42f347076e49ad95271c11e9a05d
  Author: Philip Reames <preames at rivosinc.com>
  Date:   2025-02-11 (Tue, 11 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: b88b6a2b633a942d454205f336703cdc62074686
      https://github.com/llvm/llvm-project/commit/b88b6a2b633a942d454205f336703cdc62074686
  Author: Florian Mayer <fmayer at google.com>
  Date:   2025-02-11 (Tue, 11 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: fcbf04e40e66014f455a38b59993be865bc6cdfd
      https://github.com/llvm/llvm-project/commit/fcbf04e40e66014f455a38b59993be865bc6cdfd
  Author: Andrzej Warzyński <andrzej.warzynski at arm.com>
  Date:   2025-02-11 (Tue, 11 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: cacf7fd24b0ce89411c15cda164c47a3f5fb6856
      https://github.com/llvm/llvm-project/commit/cacf7fd24b0ce89411c15cda164c47a3f5fb6856
  Author: prabhukr <prabhukr at google.com>
  Date:   2025-02-11 (Tue, 11 Feb 2025)

  Changed paths:
    M .github/CODEOWNERS
    M .github/workflows/build-ci-container.yml
    M .github/workflows/libc-fullbuild-tests.yml
    M .github/workflows/libc-overlay-tests.yml
    M .github/workflows/libcxx-build-containers.yml
    M .github/workflows/premerge.yaml
    M .github/workflows/release-binaries.yml
    M .github/workflows/release-tasks.yml
    M bolt/include/bolt/Core/BinaryContext.h
    M bolt/include/bolt/Core/BinaryFunction.h
    M bolt/lib/Core/BinaryContext.cpp
    M bolt/lib/Core/BinaryFunction.cpp
    M bolt/lib/RuntimeLibs/RuntimeLibrary.cpp
    A bolt/test/AArch64/data-in-code.s
    M bolt/test/AArch64/exceptions-plt.cpp
    M bolt/test/AArch64/plt-call.test
    M bolt/test/X86/callcont-fallthru.s
    M bolt/test/X86/cfi-instrs-reordered.s
    M bolt/test/X86/plt-call.test
    M bolt/test/runtime/exceptions-plt.cpp
    M bolt/test/runtime/plt-lld.test
    M clang-tools-extra/clang-doc/HTMLGenerator.cpp
    M clang-tools-extra/clang-doc/MDGenerator.cpp
    M clang-tools-extra/clang-doc/YAMLGenerator.cpp
    M clang-tools-extra/clang-include-fixer/FuzzySymbolIndex.cpp
    M clang-tools-extra/clang-include-fixer/YamlSymbolIndex.cpp
    M clang-tools-extra/clang-include-fixer/find-all-symbols/tool/FindAllSymbolsMain.cpp
    M clang-tools-extra/clang-include-fixer/tool/ClangIncludeFixer.cpp
    M clang-tools-extra/clang-tidy/bugprone/StringConstructorCheck.cpp
    M clang-tools-extra/clang-tidy/misc/RedundantExpressionCheck.cpp
    M clang-tools-extra/docs/ReleaseNotes.rst
    M clang-tools-extra/docs/clang-tidy/checks/bugprone/string-constructor.rst
    M clang-tools-extra/docs/clang-tidy/checks/misc/redundant-expression.rst
    M clang-tools-extra/test/clang-doc/Inputs/basic-project/src/Circle.cpp
    M clang-tools-extra/test/clang-doc/basic-project.test
    M clang-tools-extra/test/clang-tidy/checkers/bugprone/string-constructor.cpp
    M clang-tools-extra/test/clang-tidy/checkers/misc/redundant-expression.cpp
    M clang-tools-extra/unittests/clang-doc/HTMLGeneratorTest.cpp
    M clang/cmake/caches/Fuchsia-stage2.cmake
    M clang/docs/BoundsSafety.rst
    M clang/docs/BoundsSafetyImplPlans.rst
    M clang/docs/ClangFormatStyleOptions.rst
    M clang/docs/ControlFlowIntegrity.rst
    M clang/docs/LanguageExtensions.rst
    M clang/docs/OpenMPSupport.rst
    M clang/docs/ReleaseNotes.rst
    M clang/docs/SourceBasedCodeCoverage.rst
    M clang/docs/TypeSanitizer.rst
    M clang/docs/UsersManual.rst
    M clang/docs/analyzer/checkers.rst
    M clang/docs/analyzer/developer-docs.rst
    A clang/docs/analyzer/developer-docs/PerformanceInvestigation.rst
    A clang/docs/analyzer/images/flamegraph.png
    A clang/docs/analyzer/images/speedscope.png
    A clang/docs/analyzer/images/uftrace_detailed.png
    M clang/include/clang-c/Index.h
    M clang/include/clang/AST/ASTContext.h
    M clang/include/clang/AST/Decl.h
    M clang/include/clang/AST/DeclBase.h
    M clang/include/clang/AST/DeclTemplate.h
    M clang/include/clang/AST/Expr.h
    M clang/include/clang/AST/ExprCXX.h
    M clang/include/clang/AST/OpenMPClause.h
    M clang/include/clang/AST/OperationKinds.def
    M clang/include/clang/AST/RecursiveASTVisitor.h
    M clang/include/clang/AST/StmtOpenACC.h
    M clang/include/clang/AST/TextNodeDumper.h
    M clang/include/clang/ASTMatchers/ASTMatchers.h
    M clang/include/clang/Analysis/ProgramPoint.h
    M clang/include/clang/Basic/Attr.td
    M clang/include/clang/Basic/AttrDocs.td
    M clang/include/clang/Basic/Builtins.h
    M clang/include/clang/Basic/BuiltinsARM.def
    M clang/include/clang/Basic/BuiltinsBase.td
    M clang/include/clang/Basic/BuiltinsHexagon.td
    R clang/include/clang/Basic/BuiltinsLoongArch.def
    R clang/include/clang/Basic/BuiltinsNEON.def
    M clang/include/clang/Basic/BuiltinsPPC.def
    R clang/include/clang/Basic/BuiltinsRISCVVector.def
    R clang/include/clang/Basic/BuiltinsSME.def
    R clang/include/clang/Basic/BuiltinsSVE.def
    M clang/include/clang/Basic/BuiltinsX86Base.td
    M clang/include/clang/Basic/CodeGenOptions.def
    M clang/include/clang/Basic/DiagnosticDriverKinds.td
    M clang/include/clang/Basic/DiagnosticGroups.td
    M clang/include/clang/Basic/DiagnosticSemaKinds.td
    M clang/include/clang/Basic/FPOptions.def
    M clang/include/clang/Basic/Features.def
    M clang/include/clang/Basic/IdentifierTable.h
    M clang/include/clang/Basic/LangOptions.def
    M clang/include/clang/Basic/LangOptions.h
    M clang/include/clang/Basic/OpenACCKinds.h
    M clang/include/clang/Basic/OpenMPKinds.h
    M clang/include/clang/Basic/StmtNodes.td
    M clang/include/clang/Basic/TargetBuiltins.h
    M clang/include/clang/Basic/TargetInfo.h
    M clang/include/clang/Basic/TokenKinds.def
    M clang/include/clang/Basic/arm_sme.td
    M clang/include/clang/Basic/arm_sve.td
    A clang/include/clang/CIR/Dialect/IR/CIRAttrVisitor.h
    M clang/include/clang/CIR/LowerToLLVM.h
    A clang/include/clang/CIR/MissingFeatures.h
    M clang/include/clang/Driver/Driver.h
    M clang/include/clang/Driver/Options.td
    M clang/include/clang/Driver/SanitizerArgs.h
    M clang/include/clang/ExtractAPI/ExtractAPIVisitor.h
    M clang/include/clang/Format/Format.h
    M clang/include/clang/Lex/Preprocessor.h
    M clang/include/clang/Parse/Parser.h
    M clang/include/clang/Sema/Overload.h
    M clang/include/clang/Sema/Sema.h
    M clang/include/clang/Sema/SemaHLSL.h
    M clang/include/clang/Sema/SemaOpenACC.h
    M clang/include/clang/Sema/SemaOpenMP.h
    M clang/include/clang/Sema/TemplateDeduction.h
    M clang/include/clang/Serialization/ASTBitCodes.h
    M clang/include/clang/StaticAnalyzer/Checkers/Checkers.td
    M clang/include/clang/StaticAnalyzer/Core/PathSensitive/CallDescription.h
    M clang/include/clang/StaticAnalyzer/Core/PathSensitive/MemRegion.h
    M clang/include/clang/Tooling/DependencyScanning/DependencyScanningService.h
    M clang/include/clang/Tooling/DependencyScanning/DependencyScanningTool.h
    M clang/include/clang/Tooling/DependencyScanning/DependencyScanningWorker.h
    M clang/include/module.modulemap
    M clang/lib/AST/ASTContext.cpp
    M clang/lib/AST/ASTImporter.cpp
    M clang/lib/AST/ByteCode/ByteCodeEmitter.cpp
    M clang/lib/AST/ByteCode/Compiler.cpp
    M clang/lib/AST/ByteCode/Compiler.h
    M clang/lib/AST/ByteCode/Descriptor.h
    M clang/lib/AST/ByteCode/Disasm.cpp
    M clang/lib/AST/ByteCode/Function.cpp
    M clang/lib/AST/ByteCode/Function.h
    M clang/lib/AST/ByteCode/Interp.cpp
    M clang/lib/AST/ByteCode/Interp.h
    M clang/lib/AST/ByteCode/InterpFrame.cpp
    M clang/lib/AST/ByteCode/Opcodes.td
    M clang/lib/AST/ByteCode/Pointer.h
    M clang/lib/AST/ByteCode/Program.cpp
    M clang/lib/AST/CommentLexer.cpp
    M clang/lib/AST/Decl.cpp
    M clang/lib/AST/DeclBase.cpp
    M clang/lib/AST/DeclTemplate.cpp
    M clang/lib/AST/Expr.cpp
    M clang/lib/AST/ExprConstant.cpp
    M clang/lib/AST/JSONNodeDumper.cpp
    M clang/lib/AST/MicrosoftMangle.cpp
    M clang/lib/AST/OpenMPClause.cpp
    M clang/lib/AST/ParentMap.cpp
    M clang/lib/AST/RawCommentList.cpp
    M clang/lib/AST/StmtOpenACC.cpp
    M clang/lib/AST/StmtPrinter.cpp
    M clang/lib/AST/StmtProfile.cpp
    M clang/lib/AST/TextNodeDumper.cpp
    M clang/lib/AST/VTableBuilder.cpp
    M clang/lib/Analysis/CFG.cpp
    M clang/lib/Analysis/FlowSensitive/SmartPointerAccessorCaching.cpp
    M clang/lib/Analysis/ProgramPoint.cpp
    M clang/lib/Analysis/ReachableCode.cpp
    M clang/lib/Analysis/UninitializedValues.cpp
    M clang/lib/Analysis/UnsafeBufferUsage.cpp
    M clang/lib/Basic/Builtins.cpp
    M clang/lib/Basic/OpenMPKinds.cpp
    M clang/lib/Basic/Targets/AArch64.cpp
    M clang/lib/Basic/Targets/AArch64.h
    M clang/lib/Basic/Targets/AMDGPU.cpp
    M clang/lib/Basic/Targets/AMDGPU.h
    M clang/lib/Basic/Targets/ARC.h
    M clang/lib/Basic/Targets/ARM.cpp
    M clang/lib/Basic/Targets/ARM.h
    M clang/lib/Basic/Targets/AVR.h
    M clang/lib/Basic/Targets/BPF.cpp
    M clang/lib/Basic/Targets/BPF.h
    M clang/lib/Basic/Targets/CSKY.cpp
    M clang/lib/Basic/Targets/CSKY.h
    M clang/lib/Basic/Targets/DirectX.h
    M clang/lib/Basic/Targets/Hexagon.cpp
    M clang/lib/Basic/Targets/Hexagon.h
    M clang/lib/Basic/Targets/Lanai.h
    M clang/lib/Basic/Targets/LoongArch.cpp
    M clang/lib/Basic/Targets/LoongArch.h
    M clang/lib/Basic/Targets/M68k.cpp
    M clang/lib/Basic/Targets/M68k.h
    M clang/lib/Basic/Targets/MSP430.h
    M clang/lib/Basic/Targets/Mips.cpp
    M clang/lib/Basic/Targets/Mips.h
    M clang/lib/Basic/Targets/NVPTX.cpp
    M clang/lib/Basic/Targets/NVPTX.h
    M clang/lib/Basic/Targets/PNaCl.h
    M clang/lib/Basic/Targets/PPC.cpp
    M clang/lib/Basic/Targets/PPC.h
    M clang/lib/Basic/Targets/RISCV.cpp
    M clang/lib/Basic/Targets/RISCV.h
    M clang/lib/Basic/Targets/SPIR.cpp
    M clang/lib/Basic/Targets/SPIR.h
    M clang/lib/Basic/Targets/Sparc.h
    M clang/lib/Basic/Targets/SystemZ.cpp
    M clang/lib/Basic/Targets/SystemZ.h
    M clang/lib/Basic/Targets/TCE.h
    M clang/lib/Basic/Targets/VE.cpp
    M clang/lib/Basic/Targets/VE.h
    M clang/lib/Basic/Targets/WebAssembly.cpp
    M clang/lib/Basic/Targets/WebAssembly.h
    M clang/lib/Basic/Targets/X86.cpp
    M clang/lib/Basic/Targets/X86.h
    M clang/lib/Basic/Targets/XCore.cpp
    M clang/lib/Basic/Targets/XCore.h
    M clang/lib/Basic/Targets/Xtensa.h
    M clang/lib/Basic/Warnings.cpp
    M clang/lib/CIR/Lowering/DirectToLLVM/CMakeLists.txt
    M clang/lib/CIR/Lowering/DirectToLLVM/LowerToLLVM.cpp
    A clang/lib/CIR/Lowering/DirectToLLVM/LowerToLLVM.h
    M clang/lib/CodeGen/Address.h
    M clang/lib/CodeGen/BackendUtil.cpp
    M clang/lib/CodeGen/CGBlocks.cpp
    M clang/lib/CodeGen/CGBuiltin.cpp
    M clang/lib/CodeGen/CGCUDANV.cpp
    M clang/lib/CodeGen/CGDebugInfo.cpp
    M clang/lib/CodeGen/CGDecl.cpp
    M clang/lib/CodeGen/CGDeclCXX.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/CodeGen/CGHLSLRuntime.cpp
    M clang/lib/CodeGen/CGObjCMac.cpp
    M clang/lib/CodeGen/CGOpenMPRuntime.cpp
    M clang/lib/CodeGen/CGStmt.cpp
    M clang/lib/CodeGen/CodeGenFunction.h
    M clang/lib/CodeGen/CodeGenModule.cpp
    M clang/lib/CodeGen/ItaniumCXXABI.cpp
    M clang/lib/CodeGen/Targets/AArch64.cpp
    M clang/lib/CodeGen/Targets/ARM.cpp
    M clang/lib/CodeGen/Targets/Hexagon.cpp
    M clang/lib/CodeGen/Targets/SystemZ.cpp
    M clang/lib/CodeGen/Targets/X86.cpp
    M clang/lib/CodeGen/Targets/XCore.cpp
    M clang/lib/CrossTU/CrossTranslationUnit.cpp
    M clang/lib/Driver/Driver.cpp
    M clang/lib/Driver/SanitizerArgs.cpp
    M clang/lib/Driver/ToolChain.cpp
    M clang/lib/Driver/ToolChains/AMDGPU.cpp
    M clang/lib/Driver/ToolChains/AMDGPU.h
    M clang/lib/Driver/ToolChains/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/Cuda.h
    M clang/lib/Driver/ToolChains/Darwin.cpp
    M clang/lib/Driver/ToolChains/Flang.cpp
    M clang/lib/Driver/ToolChains/HIPAMD.cpp
    M clang/lib/Driver/ToolChains/UEFI.h
    M clang/lib/Edit/RewriteObjCFoundationAPI.cpp
    M clang/lib/Format/ContinuationIndenter.cpp
    M clang/lib/Format/ContinuationIndenter.h
    M clang/lib/Format/Format.cpp
    M clang/lib/Format/FormatToken.cpp
    M clang/lib/Format/QualifierAlignmentFixer.cpp
    M clang/lib/Format/TokenAnnotator.cpp
    M clang/lib/Format/UnwrappedLineParser.cpp
    M clang/lib/Frontend/CompilerInvocation.cpp
    M clang/lib/Headers/amdgpuintrin.h
    M clang/lib/Headers/avx10_2_512convertintrin.h
    M clang/lib/Headers/avx10_2convertintrin.h
    M clang/lib/Headers/gpuintrin.h
    M clang/lib/Headers/nvptxintrin.h
    M clang/lib/Index/IndexBody.cpp
    M clang/lib/Lex/ModuleMap.cpp
    M clang/lib/Lex/PPMacroExpansion.cpp
    M clang/lib/Parse/ParseDeclCXX.cpp
    M clang/lib/Parse/ParseExpr.cpp
    M clang/lib/Parse/ParseOpenACC.cpp
    M clang/lib/Parse/ParseOpenMP.cpp
    M clang/lib/Sema/CMakeLists.txt
    M clang/lib/Sema/HeuristicResolver.cpp
    M clang/lib/Sema/JumpDiagnostics.cpp
    M clang/lib/Sema/SemaARM.cpp
    M clang/lib/Sema/SemaAVR.cpp
    M clang/lib/Sema/SemaAttr.cpp
    M clang/lib/Sema/SemaCast.cpp
    M clang/lib/Sema/SemaChecking.cpp
    M clang/lib/Sema/SemaDecl.cpp
    M clang/lib/Sema/SemaDeclAttr.cpp
    M clang/lib/Sema/SemaDeclObjC.cpp
    M clang/lib/Sema/SemaExceptionSpec.cpp
    M clang/lib/Sema/SemaExpr.cpp
    M clang/lib/Sema/SemaExprCXX.cpp
    M clang/lib/Sema/SemaHLSL.cpp
    M clang/lib/Sema/SemaInit.cpp
    M clang/lib/Sema/SemaMIPS.cpp
    M clang/lib/Sema/SemaMSP430.cpp
    M clang/lib/Sema/SemaOpenACC.cpp
    A clang/lib/Sema/SemaOpenACCAtomic.cpp
    M clang/lib/Sema/SemaOpenACCClause.cpp
    M clang/lib/Sema/SemaOpenMP.cpp
    M clang/lib/Sema/SemaOverload.cpp
    M clang/lib/Sema/SemaRISCV.cpp
    M clang/lib/Sema/SemaTemplate.cpp
    M clang/lib/Sema/SemaTemplateDeduction.cpp
    M clang/lib/Sema/SemaTemplateDeductionGuide.cpp
    M clang/lib/Sema/SemaTemplateInstantiate.cpp
    M clang/lib/Sema/SemaTemplateInstantiateDecl.cpp
    M clang/lib/Sema/SemaType.cpp
    M clang/lib/Sema/TreeTransform.h
    M clang/lib/Serialization/ASTReader.cpp
    M clang/lib/Serialization/ASTReaderDecl.cpp
    M clang/lib/Serialization/ASTReaderStmt.cpp
    M clang/lib/Serialization/ASTWriter.cpp
    M clang/lib/Serialization/ASTWriterDecl.cpp
    M clang/lib/Serialization/ASTWriterStmt.cpp
    M clang/lib/StaticAnalyzer/Checkers/ArrayBoundChecker.cpp
    R clang/lib/StaticAnalyzer/Checkers/ArrayBoundCheckerV2.cpp
    M clang/lib/StaticAnalyzer/Checkers/CMakeLists.txt
    M clang/lib/StaticAnalyzer/Checkers/CStringChecker.cpp
    M clang/lib/StaticAnalyzer/Checkers/StackAddrEscapeChecker.cpp
    M clang/lib/StaticAnalyzer/Checkers/WebKit/ASTUtils.cpp
    M clang/lib/StaticAnalyzer/Checkers/WebKit/PtrTypesSemantics.cpp
    M clang/lib/StaticAnalyzer/Checkers/WebKit/UncountedLambdaCapturesChecker.cpp
    M clang/lib/StaticAnalyzer/Core/BugReporter.cpp
    M clang/lib/StaticAnalyzer/Core/BugSuppression.cpp
    M clang/lib/StaticAnalyzer/Core/CheckerContext.cpp
    M clang/lib/StaticAnalyzer/Core/CheckerManager.cpp
    M clang/lib/StaticAnalyzer/Core/CoreEngine.cpp
    M clang/lib/StaticAnalyzer/Core/ExprEngine.cpp
    M clang/lib/StaticAnalyzer/Core/ExprEngineC.cpp
    M clang/lib/StaticAnalyzer/Core/MemRegion.cpp
    M clang/lib/StaticAnalyzer/Core/RegionStore.cpp
    M clang/lib/StaticAnalyzer/Frontend/AnalysisConsumer.cpp
    M clang/lib/Tooling/DependencyScanning/DependencyScanningTool.cpp
    M clang/lib/Tooling/DependencyScanning/DependencyScanningWorker.cpp
    M clang/lib/Tooling/DependencyScanning/ModuleDepCollector.cpp
    M clang/test/AST/ByteCode/builtin-functions.cpp
    M clang/test/AST/ByteCode/cxx20.cpp
    M clang/test/AST/ByteCode/cxx26.cpp
    M clang/test/AST/ByteCode/literals.cpp
    M clang/test/AST/ByteCode/new-delete.cpp
    M clang/test/AST/ByteCode/unions.cpp
    A clang/test/AST/HLSL/TypdefArrayParam.hlsl
    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
    M clang/test/AST/ast-dump-comment.cpp
    M clang/test/AST/ast-dump-recovery.cpp
    M clang/test/AST/ast-dump-templates.cpp
    A clang/test/AST/ast-print-openacc-atomic-construct.cpp
    M clang/test/AST/attr-print-emit.cpp
    M clang/test/AST/gen_ast_dump_json_test.py
    M clang/test/Analysis/Checkers/WebKit/call-args-counted-const-member.cpp
    M clang/test/Analysis/Checkers/WebKit/mock-types.h
    M clang/test/Analysis/Checkers/WebKit/uncounted-lambda-captures.cpp
    M clang/test/Analysis/Checkers/WebKit/uncounted-obj-arg.cpp
    M clang/test/Analysis/Checkers/WebKit/uncounted-obj-arg.mm
    M clang/test/Analysis/NewDelete-checker-test.cpp
    R clang/test/Analysis/array-bound-v2-constraint-check.c
    M clang/test/Analysis/copy-elision.cpp
    A clang/test/Analysis/dtor-union.cpp
    A clang/test/Analysis/ftime-trace-bind.cpp
    A clang/test/Analysis/ftime-trace-removeDead.cpp
    A clang/test/Analysis/ftime-trace.cpp
    M clang/test/Analysis/index-type.c
    M clang/test/Analysis/lifetime-extended-regions.cpp
    M clang/test/Analysis/live-stmts.cpp
    M clang/test/Analysis/misc-ps-region-store.m
    R clang/test/Analysis/no-outofbounds.c
    A clang/test/Analysis/out-of-bounds-constraint-check.c
    M clang/test/Analysis/out-of-bounds-diagnostics.c
    M clang/test/Analysis/out-of-bounds-new.cpp
    M clang/test/Analysis/out-of-bounds-notes.c
    M clang/test/Analysis/out-of-bounds.c
    M clang/test/Analysis/outofbound-notwork.c
    M clang/test/Analysis/outofbound.c
    R clang/test/Analysis/rdar-6541136-region.c
    M clang/test/Analysis/runtime-regression.c
    M clang/test/Analysis/stack-addr-ps.cpp
    M clang/test/Analysis/stackaddrleak.c
    M clang/test/Analysis/stackaddrleak.cpp
    M clang/test/Analysis/taint-diagnostic-visitor.c
    M clang/test/Analysis/taint-generic.c
    M clang/test/Analysis/taint-generic.cpp
    A clang/test/CIR/Lowering/global-var-simple.cpp
    M clang/test/CIR/Lowering/hello.c
    M clang/test/CMakeLists.txt
    A clang/test/CXX/class/class.init/p1.cpp
    M clang/test/CXX/dcl.decl/dcl.init/p14-0x.cpp
    A clang/test/CXX/stmt.stmt/stmt.select/stmt.switch/p4.cpp
    A clang/test/ClangScanDeps/modules-context-hash-cwd.c
    A clang/test/ClangScanDeps/tu-buffer.c
    M clang/test/ClangScanDeps/working-dir.m
    A clang/test/CodeGen/AArch64/sme-attributes-member-function-pointer.cpp
    M clang/test/CodeGen/AArch64/sme-intrinsics/acle_sme_read.c
    M clang/test/CodeGen/AArch64/sme-intrinsics/acle_sme_write.c
    M clang/test/CodeGen/AArch64/sme2-intrinsics/acle_sme2_luti2_lane_zt.c
    M clang/test/CodeGen/AArch64/sme2-intrinsics/acle_sme2_luti2_lane_zt_x2.c
    M clang/test/CodeGen/AArch64/sme2-intrinsics/acle_sme2_luti2_lane_zt_x4.c
    M clang/test/CodeGen/AArch64/sme2-intrinsics/acle_sme2_luti4_lane_zt.c
    M clang/test/CodeGen/AArch64/sme2-intrinsics/acle_sme2_luti4_lane_zt_x2.c
    M clang/test/CodeGen/AArch64/sme2-intrinsics/acle_sme2_read.c
    M clang/test/CodeGen/AArch64/sme2-intrinsics/acle_sme2_vector_selx2.c
    M clang/test/CodeGen/AArch64/sme2-intrinsics/acle_sme2_vector_selx4.c
    M clang/test/CodeGen/AArch64/sme2-intrinsics/acle_sme2_vector_uzpx2.c
    M clang/test/CodeGen/AArch64/sme2-intrinsics/acle_sme2_vector_uzpx4.c
    M clang/test/CodeGen/AArch64/sme2-intrinsics/acle_sme2_vector_zipx2.c
    M clang/test/CodeGen/AArch64/sme2-intrinsics/acle_sme2_vector_zipx4.c
    M clang/test/CodeGen/AArch64/sme2-intrinsics/acle_sme2_write.c
    M clang/test/CodeGen/AArch64/sme2p1-intrinsics/acle_sme2p1_movaz.c
    M clang/test/CodeGen/AArch64/sve2-intrinsics/acle_sve2_revd.c
    A clang/test/CodeGen/X86/avx-cxx-record.cpp
    M clang/test/CodeGen/X86/avx10_2_512convert-builtins.c
    M clang/test/CodeGen/X86/avx10_2convert-builtins.c
    M clang/test/CodeGen/attr-counted-by.c
    M clang/test/CodeGen/blocks-windows.c
    A clang/test/CodeGen/debug-info-enum-extensibility.c
    M clang/test/CodeGen/fat-lto-objects-cfi.cpp
    A clang/test/CodeGen/kcfi-arity.c
    A clang/test/CodeGen/profile-continuous.c
    M clang/test/CodeGen/target-data.c
    A clang/test/CodeGen/xfail-alloc-align-fn-pointers.cpp
    M clang/test/CodeGenCUDA/offloading-entries.cu
    M clang/test/CodeGenCXX/attr-annotate2.cpp
    M clang/test/CodeGenCXX/template-param-objects.cpp
    A clang/test/CodeGenHLSL/BasicFeatures/ArrayElementwiseCast.hlsl
    A clang/test/CodeGenHLSL/BasicFeatures/StructElementwiseCast.hlsl
    A clang/test/CodeGenHLSL/BasicFeatures/VectorElementwiseCast.hlsl
    M clang/test/CodeGenHLSL/inline-functions.hlsl
    M clang/test/CodeGenHLSL/resource-bindings.hlsl
    M clang/test/Driver/Xarch.c
    M clang/test/Driver/aarch64-ptrauth.c
    A clang/test/Driver/amdgpu-openmp-sanitize-options.c
    M clang/test/Driver/amdgpu-openmp-toolchain.c
    M clang/test/Driver/cl-options.c
    M clang/test/Driver/clang_f_opts.c
    M clang/test/Driver/clang_wrapv_opts.c
    M clang/test/Driver/csky-toolchain.c
    M clang/test/Driver/cuda-cross-compiling.c
    A clang/test/Driver/dep-file-flag-with-multiple-offload-archs.hip
    A clang/test/Driver/fprofile-continuous.c
    M clang/test/Driver/hip-sanitize-options.hip
    M clang/test/Driver/linker-wrapper-image.c
    M clang/test/Driver/linker-wrapper.c
    A clang/test/Driver/offload-Xarch.c
    M clang/test/Driver/openbsd.c
    M clang/test/Driver/openmp-offload.c
    M clang/test/Driver/sycl-offload-jit.cpp
    A clang/test/Driver/warning-suppression-mappings-not-parsed.cpp
    A clang/test/ExtractAPI/typedef_underscore.c
    A clang/test/Frontend/aarch64-ignore-branch-protection-attribute.c
    M clang/test/Headers/gpuintrin.c
    A clang/test/Index/index-deduction-guide.cpp
    M clang/test/Interpreter/simple-exception.cpp
    A clang/test/Modules/pr120277-2.cpp
    A clang/test/Modules/pr121245.cpp
    A clang/test/Modules/pr125521.cppm
    A clang/test/Modules/pr126373.cppm
    M clang/test/OpenMP/assume_lambda.cpp
    M clang/test/OpenMP/assume_nesting_tmpl.cpp
    M clang/test/OpenMP/assume_template.cpp
    M clang/test/OpenMP/assumes_codegen.cpp
    M clang/test/OpenMP/assumes_messages.c
    M clang/test/OpenMP/assumes_messages_attr.c
    M clang/test/OpenMP/assumes_print.cpp
    M clang/test/OpenMP/attr-assume.cpp
    M clang/test/OpenMP/begin_declare_variant_messages.c
    M clang/test/OpenMP/declare_target_link_codegen.cpp
    M clang/test/OpenMP/declare_target_messages.cpp
    M clang/test/OpenMP/declare_variant_ast_print.c
    M clang/test/OpenMP/declare_variant_bind_to_decl.cpp
    M clang/test/OpenMP/declare_variant_messages.c
    M clang/test/OpenMP/declare_variant_messages.cpp
    M clang/test/OpenMP/for_order_messages.cpp
    M clang/test/OpenMP/metadirective_messages.cpp
    M clang/test/OpenMP/nvptx_declare_variant_name_mangling.cpp
    M clang/test/OpenMP/nvptx_target_requires_unified_shared_memory.cpp
    A clang/test/OpenMP/spirv_target_codegen_basic.cpp
    M clang/test/PCH/cuda-kernel-call.cu
    M clang/test/ParserOpenACC/parse-constructs.c
    M clang/test/Preprocessor/arm-target-features.c
    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
    M clang/test/SemaCUDA/device-var-init.cu
    M clang/test/SemaCUDA/inherited-ctor.cu
    M clang/test/SemaCXX/attr-annotate.cpp
    M clang/test/SemaCXX/attr-cxx0x.cpp
    M clang/test/SemaCXX/attr-no-sanitize.cpp
    M clang/test/SemaCXX/cxx1z-decomposition.cpp
    M clang/test/SemaCXX/cxx20-ctad-type-alias.cpp
    M clang/test/SemaCXX/cxx2c-placeholder-vars.cpp
    M clang/test/SemaCXX/type-traits.cpp
    M clang/test/SemaCXX/uninitialized.cpp
    A clang/test/SemaCXX/unique_object_duplication.cpp
    A clang/test/SemaCXX/unique_object_duplication.h
    M clang/test/SemaCXX/warn-base-type-qualifiers.cpp
    M clang/test/SemaCXX/warn-unreachable.cpp
    M clang/test/SemaCXX/warn-unsafe-buffer-usage-array.cpp
    M clang/test/SemaHLSL/BuiltIns/vector-constructors-erros.hlsl
    A clang/test/SemaHLSL/Language/ElementwiseCast-errors.hlsl
    A clang/test/SemaHLSL/Language/ElementwiseCasts.hlsl
    A clang/test/SemaOpenACC/atomic-construct-ast.cpp
    A clang/test/SemaOpenACC/atomic-construct.cpp
    A clang/test/SemaTemplate/GH55509.cpp
    M clang/test/SemaTemplate/cwg2398.cpp
    M clang/test/TableGen/target-builtins-prototype-parser.td
    A clang/test/Tooling/clang-linker-wrapper-spirv-elf.cpp
    M clang/test/Tooling/lit.local.cfg
    M clang/test/lit.site.cfg.py.in
    M clang/tools/clang-format/clang-format.el
    M clang/tools/clang-installapi/Options.cpp
    M clang/tools/clang-linker-wrapper/ClangLinkerWrapper.cpp
    M clang/tools/clang-scan-deps/ClangScanDeps.cpp
    M clang/tools/clang-scan-deps/Opts.td
    M clang/tools/driver/driver.cpp
    M clang/tools/libclang/CIndex.cpp
    M clang/tools/libclang/CXCursor.cpp
    M clang/unittests/AST/ASTImporterTest.cpp
    M clang/unittests/AST/CommentLexer.cpp
    M clang/unittests/AST/CommentParser.cpp
    M clang/unittests/Basic/DiagnosticTest.cpp
    M clang/unittests/Driver/ToolChainTest.cpp
    M clang/unittests/Format/ConfigParseTest.cpp
    M clang/unittests/Format/FormatTest.cpp
    M clang/unittests/Format/QualifierFixerTest.cpp
    M clang/unittests/Format/TokenAnnotatorTest.cpp
    M clang/utils/TableGen/ClangAttrEmitter.cpp
    M clang/utils/TableGen/ClangBuiltinsEmitter.cpp
    M clang/utils/TableGen/ClangOptionDocEmitter.cpp
    M clang/utils/TableGen/MveEmitter.cpp
    M clang/utils/TableGen/NeonEmitter.cpp
    M clang/utils/TableGen/RISCVVEmitter.cpp
    M clang/utils/TableGen/SveEmitter.cpp
    M clang/www/analyzer/open_projects.html
    M clang/www/analyzer/potential_checkers.html
    M compiler-rt/lib/builtins/cpu_model/riscv.c
    M compiler-rt/lib/memprof/memprof_allocator.cpp
    M compiler-rt/lib/orc/macho_platform.cpp
    M compiler-rt/lib/profile/InstrProfilingFile.c
    M compiler-rt/lib/rtsan/rtsan_interceptors_posix.cpp
    M compiler-rt/lib/rtsan/tests/rtsan_test_interceptors_posix.cpp
    M compiler-rt/lib/sanitizer_common/sanitizer_linux.cpp
    M compiler-rt/lib/sanitizer_common/sanitizer_stoptheworld_linux_libcdep.cpp
    M compiler-rt/lib/sanitizer_common/tests/sanitizer_libc_test.cpp
    M compiler-rt/lib/scudo/standalone/allocator_config.def
    M compiler-rt/lib/scudo/standalone/allocator_config_wrapper.h
    M compiler-rt/lib/scudo/standalone/secondary.h
    M compiler-rt/lib/scudo/standalone/tests/combined_test.cpp
    M compiler-rt/lib/scudo/standalone/tests/scudo_unit_test.h
    M compiler-rt/lib/scudo/standalone/tests/secondary_test.cpp
    M compiler-rt/lib/xray/CMakeLists.txt
    M compiler-rt/lib/xray/xray_tsc.h
    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/suppressions-alloc-dealloc-mismatch.cpp
    M compiler-rt/test/asan/TestCases/suppressions-function.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
    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
    A compiler-rt/test/orc/TestCases/Darwin/Generic/exceptions-stress-test-tower.cpp
    A compiler-rt/test/orc/TestCases/Darwin/Generic/exceptions.cpp
    A compiler-rt/test/profile/Linux/binary-id-path.c
    M flang/CMakeLists.txt
    M flang/cmake/modules/AddFlang.cmake
    M flang/docs/Directives.md
    M flang/docs/Extensions.md
    M flang/docs/FlangDriver.md
    M flang/docs/GettingStarted.md
    M flang/docs/OpenACC-descriptor-management.md
    M flang/docs/Real16MathSupport.md
    M flang/docs/ReleaseNotes.md
    M flang/examples/CMakeLists.txt
    M flang/examples/ExternalHelloWorld/CMakeLists.txt
    M flang/examples/FeatureList/FeatureList.cpp
    M flang/examples/FlangOmpReport/FlangOmpReportVisitor.cpp
    R flang/include/flang/Common/Fortran-features.h
    R flang/include/flang/Common/Fortran.h
    A flang/include/flang/Common/ISO_Fortran_binding_wrapper.h
    R flang/include/flang/Common/LangOptions.def
    R flang/include/flang/Common/LangOptions.h
    R flang/include/flang/Common/MathOptionsBase.def
    R flang/include/flang/Common/MathOptionsBase.h
    R flang/include/flang/Common/OpenMP-features.h
    R flang/include/flang/Common/OpenMP-utils.h
    R flang/include/flang/Common/Version.h
    R flang/include/flang/Common/default-kinds.h
    M flang/include/flang/Common/erfc-scaled.h
    M flang/include/flang/Common/fast-int-set.h
    M flang/include/flang/Common/format.h
    M flang/include/flang/Common/optional.h
    M flang/include/flang/Common/real.h
    M flang/include/flang/Common/reference-wrapper.h
    M flang/include/flang/Common/restorer.h
    M flang/include/flang/Common/target-rounding.h
    M flang/include/flang/Common/template.h
    M flang/include/flang/Common/uint128.h
    M flang/include/flang/Common/visit.h
    M flang/include/flang/Evaluate/call.h
    M flang/include/flang/Evaluate/characteristics.h
    M flang/include/flang/Evaluate/check-expression.h
    M flang/include/flang/Evaluate/common.h
    M flang/include/flang/Evaluate/constant.h
    M flang/include/flang/Evaluate/expression.h
    M flang/include/flang/Evaluate/intrinsics.h
    M flang/include/flang/Evaluate/target.h
    M flang/include/flang/Evaluate/tools.h
    M flang/include/flang/Evaluate/type.h
    M flang/include/flang/Frontend/CompilerInvocation.h
    M flang/include/flang/Frontend/FrontendOptions.h
    M flang/include/flang/ISO_Fortran_binding.h
    R flang/include/flang/ISO_Fortran_binding_wrapper.h
    M flang/include/flang/Lower/AbstractConverter.h
    M flang/include/flang/Lower/Bridge.h
    M flang/include/flang/Lower/ConvertType.h
    M flang/include/flang/Lower/DirectivesCommon.h
    M flang/include/flang/Lower/LoweringOptions.h
    M flang/include/flang/Lower/Support/Utils.h
    M flang/include/flang/Optimizer/Builder/DirectivesCommon.h
    M flang/include/flang/Optimizer/Builder/FIRBuilder.h
    M flang/include/flang/Optimizer/Builder/HLFIRTools.h
    M flang/include/flang/Optimizer/Builder/IntrinsicCall.h
    M flang/include/flang/Optimizer/Builder/Runtime/RTBuilder.h
    M flang/include/flang/Optimizer/CodeGen/DescriptorModel.h
    M flang/include/flang/Optimizer/Dialect/CMakeLists.txt
    M flang/include/flang/Optimizer/Dialect/CUF/Attributes/CUFAttr.h
    M flang/include/flang/Optimizer/Dialect/CUF/CUFOps.td
    M flang/include/flang/Optimizer/Dialect/FIROps.td
    M flang/include/flang/Optimizer/Support/TypeCode.h
    M flang/include/flang/Optimizer/Support/Utils.h
    M flang/include/flang/Parser/dump-parse-tree.h
    M flang/include/flang/Parser/message.h
    M flang/include/flang/Parser/parse-state.h
    M flang/include/flang/Parser/parse-tree.h
    M flang/include/flang/Parser/parsing.h
    M flang/include/flang/Parser/user-state.h
    M flang/include/flang/Runtime/CUDA/allocatable.h
    M flang/include/flang/Runtime/CUDA/pointer.h
    M flang/include/flang/Runtime/descriptor-consts.h
    M flang/include/flang/Runtime/descriptor.h
    M flang/include/flang/Runtime/random.h
    M flang/include/flang/Runtime/support.h
    M flang/include/flang/Runtime/type-code.h
    M flang/include/flang/Semantics/expression.h
    M flang/include/flang/Semantics/openmp-modifiers.h
    M flang/include/flang/Semantics/scope.h
    M flang/include/flang/Semantics/semantics.h
    M flang/include/flang/Semantics/symbol.h
    M flang/include/flang/Semantics/tools.h
    M flang/include/flang/Semantics/type.h
    A flang/include/flang/Support/Fortran-features.h
    A flang/include/flang/Support/Fortran.h
    A flang/include/flang/Support/LangOptions.def
    A flang/include/flang/Support/LangOptions.h
    A flang/include/flang/Support/MathOptionsBase.def
    A flang/include/flang/Support/MathOptionsBase.h
    A flang/include/flang/Support/OpenMP-features.h
    A flang/include/flang/Support/OpenMP-utils.h
    A flang/include/flang/Support/Version.h
    A flang/include/flang/Support/default-kinds.h
    A flang/include/flang/Testing/fp-testing.h
    A flang/include/flang/Testing/testing.h
    M flang/include/flang/Tools/CrossToolHelpers.h
    M flang/include/flang/Tools/TargetSetup.h
    M flang/lib/CMakeLists.txt
    R flang/lib/Common/CMakeLists.txt
    R flang/lib/Common/Fortran-features.cpp
    R flang/lib/Common/Fortran.cpp
    R flang/lib/Common/LangOptions.cpp
    R flang/lib/Common/OpenMP-utils.cpp
    R flang/lib/Common/Version.cpp
    R flang/lib/Common/default-kinds.cpp
    R flang/lib/Common/idioms.cpp
    M flang/lib/Decimal/CMakeLists.txt
    M flang/lib/Evaluate/CMakeLists.txt
    M flang/lib/Evaluate/call.cpp
    M flang/lib/Evaluate/check-expression.cpp
    M flang/lib/Evaluate/formatting.cpp
    M flang/lib/Evaluate/intrinsics.cpp
    M flang/lib/Frontend/CMakeLists.txt
    M flang/lib/Frontend/CompilerInstance.cpp
    M flang/lib/Frontend/CompilerInvocation.cpp
    M flang/lib/Frontend/FrontendActions.cpp
    M flang/lib/Lower/Bridge.cpp
    M flang/lib/Lower/CMakeLists.txt
    M flang/lib/Lower/CallInterface.cpp
    M flang/lib/Lower/ConvertCall.cpp
    M flang/lib/Lower/ConvertExpr.cpp
    M flang/lib/Lower/ConvertExprToHLFIR.cpp
    M flang/lib/Lower/ConvertVariable.cpp
    M flang/lib/Lower/IterationSpace.cpp
    M flang/lib/Lower/OpenACC.cpp
    M flang/lib/Lower/OpenMP/ClauseProcessor.cpp
    M flang/lib/Lower/OpenMP/ClauseProcessor.h
    M flang/lib/Lower/OpenMP/Clauses.cpp
    M flang/lib/Lower/OpenMP/Clauses.h
    M flang/lib/Lower/OpenMP/DataSharingProcessor.cpp
    M flang/lib/Lower/OpenMP/OpenMP.cpp
    M flang/lib/Lower/OpenMP/PrivateReductionUtils.cpp
    M flang/lib/Lower/OpenMP/ReductionProcessor.cpp
    M flang/lib/Lower/OpenMP/ReductionProcessor.h
    A flang/lib/Lower/Support/Utils.cpp
    M flang/lib/Optimizer/Analysis/AliasAnalysis.cpp
    M flang/lib/Optimizer/Analysis/CMakeLists.txt
    M flang/lib/Optimizer/Builder/HLFIRTools.cpp
    M flang/lib/Optimizer/Builder/IntrinsicCall.cpp
    M flang/lib/Optimizer/CodeGen/TargetRewrite.cpp
    M flang/lib/Optimizer/CodeGen/TypeConverter.cpp
    M flang/lib/Optimizer/Dialect/FIRType.cpp
    M flang/lib/Optimizer/HLFIR/Transforms/LowerHLFIRIntrinsics.cpp
    M flang/lib/Optimizer/HLFIR/Transforms/OptimizedBufferization.cpp
    M flang/lib/Optimizer/HLFIR/Transforms/SimplifyHLFIRIntrinsics.cpp
    M flang/lib/Optimizer/OpenMP/CMakeLists.txt
    M flang/lib/Optimizer/OpenMP/GenericLoopConversion.cpp
    M flang/lib/Optimizer/Passes/CMakeLists.txt
    M flang/lib/Optimizer/Transforms/AbstractResult.cpp
    M flang/lib/Optimizer/Transforms/AddDebugInfo.cpp
    M flang/lib/Optimizer/Transforms/AssumedRankOpConversion.cpp
    M flang/lib/Optimizer/Transforms/CMakeLists.txt
    M flang/lib/Optimizer/Transforms/CUFDeviceGlobal.cpp
    M flang/lib/Optimizer/Transforms/CUFGPUToLLVMConversion.cpp
    M flang/lib/Optimizer/Transforms/CUFOpConversion.cpp
    M flang/lib/Optimizer/Transforms/ExternalNameConversion.cpp
    M flang/lib/Optimizer/Transforms/LoopVersioning.cpp
    M flang/lib/Optimizer/Transforms/PolymorphicOpConversion.cpp
    M flang/lib/Optimizer/Transforms/SimplifyIntrinsics.cpp
    M flang/lib/Optimizer/Transforms/StackReclaim.cpp
    M flang/lib/Optimizer/Transforms/VScaleAttr.cpp
    M flang/lib/Parser/CMakeLists.txt
    M flang/lib/Parser/basic-parsers.h
    M flang/lib/Parser/openmp-parsers.cpp
    M flang/lib/Parser/parse-tree.cpp
    M flang/lib/Parser/prescan.h
    M flang/lib/Parser/unparse.cpp
    M flang/lib/Semantics/CMakeLists.txt
    M flang/lib/Semantics/assignment.cpp
    M flang/lib/Semantics/assignment.h
    M flang/lib/Semantics/check-declarations.cpp
    M flang/lib/Semantics/check-omp-structure.cpp
    M flang/lib/Semantics/check-omp-structure.h
    M flang/lib/Semantics/check-return.cpp
    M flang/lib/Semantics/check-select-rank.cpp
    M flang/lib/Semantics/check-stop.cpp
    M flang/lib/Semantics/data-to-inits.h
    M flang/lib/Semantics/expression.cpp
    M flang/lib/Semantics/openmp-modifiers.cpp
    M flang/lib/Semantics/resolve-names-utils.cpp
    M flang/lib/Semantics/resolve-names.cpp
    M flang/lib/Semantics/semantics.cpp
    M flang/lib/Semantics/tools.cpp
    M flang/lib/Support/CMakeLists.txt
    A flang/lib/Support/Fortran-features.cpp
    A flang/lib/Support/Fortran.cpp
    A flang/lib/Support/LangOptions.cpp
    A flang/lib/Support/OpenMP-utils.cpp
    A flang/lib/Support/Version.cpp
    A flang/lib/Support/default-kinds.cpp
    A flang/lib/Support/idioms.cpp
    A flang/lib/Testing/CMakeLists.txt
    A flang/lib/Testing/fp-testing.cpp
    A flang/lib/Testing/testing.cpp
    M flang/module/cudadevice.f90
    M flang/runtime/CMakeLists.txt
    M flang/runtime/CUDA/CMakeLists.txt
    M flang/runtime/CUDA/allocatable.cpp
    M flang/runtime/CUDA/allocator.cpp
    M flang/runtime/CUDA/pointer.cpp
    M flang/runtime/Float128Math/CMakeLists.txt
    M flang/runtime/ISO_Fortran_binding.cpp
    M flang/runtime/ISO_Fortran_util.h
    M flang/runtime/allocatable.cpp
    M flang/runtime/stat.h
    M flang/runtime/temporary-stack.cpp
    M flang/runtime/time-intrinsic.cpp
    M flang/runtime/tools.h
    M flang/test/Analysis/AliasAnalysis/alias-analysis-2.fir
    A flang/test/Analysis/AliasAnalysis/alias-analysis-target.fir
    M flang/test/CMakeLists.txt
    M flang/test/Driver/ctofortran.f90
    M flang/test/Driver/dump-pft.f90
    M flang/test/Driver/exec.f90
    M flang/test/Driver/func-attr-fast-math.f90
    M flang/test/Driver/gcc-toolchain-install-dir.f90
    M flang/test/Driver/linker-flags.f90
    M flang/test/Driver/msvc-dependent-lib-flags.f90
    M flang/test/Driver/nostdlib.f90
    R flang/test/Driver/omp-cse-region-boundary.f90
    M flang/test/Driver/omp-driver-offload.f90
    M flang/test/Evaluate/errors01.f90
    M flang/test/Evaluate/fold-ieee.f90
    M flang/test/Evaluate/folding09.f90
    M flang/test/Evaluate/folding18.f90
    M flang/test/Evaluate/rewrite-out_of_range.F90
    M flang/test/Fir/CUDA/cuda-allocate.fir
    M flang/test/Fir/arrexp.fir
    M flang/test/Fir/pdt.fir
    M flang/test/Fir/simplify-region-lite-after-inliner.fir
    M flang/test/Fir/target.fir
    M flang/test/HLFIR/assign-codegen.fir
    M flang/test/HLFIR/maxval-elemental.fir
    M flang/test/HLFIR/maxval-lowering.fir
    M flang/test/HLFIR/minval-elemental.fir
    M flang/test/Integration/OpenMP/parallel-private-reduction-worstcase.f90
    M flang/test/Integration/unroll.f90
    M flang/test/Intrinsics/math-codegen.fir
    M flang/test/Lower/CUDA/cuda-allocatable.cuf
    M flang/test/Lower/CUDA/cuda-device-proc.cuf
    M flang/test/Lower/CUDA/cuda-intrinsic.cuf
    A flang/test/Lower/HLFIR/call-issue-124043.f90
    M flang/test/Lower/HLFIR/calls-constant-expr-arg.f90
    M flang/test/Lower/HLFIR/calls-f77.f90
    M flang/test/Lower/HLFIR/maxloc.f90
    M flang/test/Lower/HLFIR/maxval.f90
    M flang/test/Lower/HLFIR/minloc.f90
    M flang/test/Lower/HLFIR/minval.f90
    M flang/test/Lower/HLFIR/sum.f90
    M flang/test/Lower/Intrinsics/adjustl.f90
    M flang/test/Lower/Intrinsics/adjustr.f90
    M flang/test/Lower/Intrinsics/any.f90
    M flang/test/Lower/Intrinsics/parity.f90
    M flang/test/Lower/Intrinsics/storage_size-2.f90
    M flang/test/Lower/OpenACC/acc-bounds.f90
    A flang/test/Lower/OpenACC/acc-data-operands-unwrap-defaultbounds.f90
    M flang/test/Lower/OpenACC/acc-data-operands.f90
    A flang/test/Lower/OpenACC/acc-data-unwrap-defaultbounds.f90
    M flang/test/Lower/OpenACC/acc-data.f90
    A flang/test/Lower/OpenACC/acc-declare-unwrap-defaultbounds.f90
    M flang/test/Lower/OpenACC/acc-declare.f90
    A flang/test/Lower/OpenACC/acc-enter-data-unwrap-defaultbounds.f90
    M flang/test/Lower/OpenACC/acc-enter-data.f90
    A flang/test/Lower/OpenACC/acc-exit-data-unwrap-defaultbounds.f90
    M flang/test/Lower/OpenACC/acc-exit-data.f90
    A flang/test/Lower/OpenACC/acc-host-data-unwrap-defaultbounds.f90
    M flang/test/Lower/OpenACC/acc-host-data.f90
    M flang/test/Lower/OpenACC/acc-kernels-loop.f90
    M flang/test/Lower/OpenACC/acc-kernels.f90
    M flang/test/Lower/OpenACC/acc-loop.f90
    M flang/test/Lower/OpenACC/acc-parallel-loop.f90
    M flang/test/Lower/OpenACC/acc-parallel.f90
    A flang/test/Lower/OpenACC/acc-private-unwrap-defaultbounds.f90
    M flang/test/Lower/OpenACC/acc-private.f90
    A flang/test/Lower/OpenACC/acc-reduction-unwrap-defaultbounds.f90
    M flang/test/Lower/OpenACC/acc-reduction.f90
    M flang/test/Lower/OpenACC/acc-serial-loop.f90
    M flang/test/Lower/OpenACC/acc-serial.f90
    M flang/test/Lower/OpenACC/acc-set.f90
    M flang/test/Lower/OpenACC/acc-update.f90
    M flang/test/Lower/OpenMP/DelayedPrivatization/wsloop.f90
    A flang/test/Lower/OpenMP/Todo/metadirective-exec.f90
    A flang/test/Lower/OpenMP/Todo/metadirective-spec.f90
    M flang/test/Lower/OpenMP/Todo/omp-default-clause-inner-loop.f90
    R flang/test/Lower/OpenMP/Todo/reduction-inscan.f90
    R flang/test/Lower/OpenMP/Todo/reduction-modifiers.f90
    M flang/test/Lower/OpenMP/Todo/reduction-task.f90
    M flang/test/Lower/OpenMP/associate.f90
    M flang/test/Lower/OpenMP/copyin.f90
    M flang/test/Lower/OpenMP/critical.f90
    M flang/test/Lower/OpenMP/default-clause-byref.f90
    M flang/test/Lower/OpenMP/default-clause.f90
    M flang/test/Lower/OpenMP/delayed-privatization-lastprivate-of-private.f90
    M flang/test/Lower/OpenMP/delayed-privatization-pointer.f90
    M flang/test/Lower/OpenMP/hlfir-wsloop.f90
    M flang/test/Lower/OpenMP/lastprivate-allocatable.f90
    M flang/test/Lower/OpenMP/lastprivate-commonblock.f90
    M flang/test/Lower/OpenMP/lastprivate-iv.f90
    A flang/test/Lower/OpenMP/lastprivate-simd.f90
    M flang/test/Lower/OpenMP/location.f90
    M flang/test/Lower/OpenMP/order-clause.f90
    M flang/test/Lower/OpenMP/parallel-lastprivate-clause-scalar.f90
    M flang/test/Lower/OpenMP/parallel-private-clause-fixes.f90
    M flang/test/Lower/OpenMP/parallel-private-clause.f90
    M flang/test/Lower/OpenMP/parallel-reduction-allocatable-array.f90
    M flang/test/Lower/OpenMP/parallel-reduction-pointer-array.f90
    M flang/test/Lower/OpenMP/parallel-reduction3.f90
    M flang/test/Lower/OpenMP/parallel-wsloop-firstpriv.f90
    M flang/test/Lower/OpenMP/parallel-wsloop-lastpriv.f90
    M flang/test/Lower/OpenMP/parallel-wsloop-reduction-byref.f90
    M flang/test/Lower/OpenMP/parallel-wsloop-reduction.f90
    M flang/test/Lower/OpenMP/parallel-wsloop.f90
    A flang/test/Lower/OpenMP/scan.f90
    M flang/test/Lower/OpenMP/sections.f90
    M flang/test/Lower/OpenMP/stop-stmt-in-region.f90
    M flang/test/Lower/OpenMP/target.f90
    M flang/test/Lower/OpenMP/unstructured.f90
    M flang/test/Lower/OpenMP/wsloop-chunks.f90
    M flang/test/Lower/OpenMP/wsloop-collapse.f90
    M flang/test/Lower/OpenMP/wsloop-monotonic.f90
    M flang/test/Lower/OpenMP/wsloop-nonmonotonic.f90
    M flang/test/Lower/OpenMP/wsloop-ordered.f90
    M flang/test/Lower/OpenMP/wsloop-reduction-add-byref.f90
    M flang/test/Lower/OpenMP/wsloop-reduction-add.f90
    M flang/test/Lower/OpenMP/wsloop-reduction-allocatable-array-minmax.f90
    M flang/test/Lower/OpenMP/wsloop-reduction-allocatable.f90
    M flang/test/Lower/OpenMP/wsloop-reduction-array-assumed-shape.f90
    M flang/test/Lower/OpenMP/wsloop-reduction-array.f90
    M flang/test/Lower/OpenMP/wsloop-reduction-array2.f90
    M flang/test/Lower/OpenMP/wsloop-reduction-iand-byref.f90
    M flang/test/Lower/OpenMP/wsloop-reduction-iand.f90
    M flang/test/Lower/OpenMP/wsloop-reduction-ieor-byref.f90
    M flang/test/Lower/OpenMP/wsloop-reduction-ieor.f90
    M flang/test/Lower/OpenMP/wsloop-reduction-ior-byref.f90
    M flang/test/Lower/OpenMP/wsloop-reduction-ior.f90
    M flang/test/Lower/OpenMP/wsloop-reduction-logical-and-byref.f90
    M flang/test/Lower/OpenMP/wsloop-reduction-logical-and.f90
    M flang/test/Lower/OpenMP/wsloop-reduction-logical-eqv-byref.f90
    M flang/test/Lower/OpenMP/wsloop-reduction-logical-eqv.f90
    M flang/test/Lower/OpenMP/wsloop-reduction-logical-neqv-byref.f90
    M flang/test/Lower/OpenMP/wsloop-reduction-logical-neqv.f90
    M flang/test/Lower/OpenMP/wsloop-reduction-logical-or-byref.f90
    M flang/test/Lower/OpenMP/wsloop-reduction-logical-or.f90
    M flang/test/Lower/OpenMP/wsloop-reduction-max-2-byref.f90
    M flang/test/Lower/OpenMP/wsloop-reduction-max-2.f90
    M flang/test/Lower/OpenMP/wsloop-reduction-max-byref.f90
    M flang/test/Lower/OpenMP/wsloop-reduction-max.f90
    M flang/test/Lower/OpenMP/wsloop-reduction-min-byref.f90
    M flang/test/Lower/OpenMP/wsloop-reduction-min.f90
    M flang/test/Lower/OpenMP/wsloop-reduction-min2.f90
    M flang/test/Lower/OpenMP/wsloop-reduction-mul-byref.f90
    M flang/test/Lower/OpenMP/wsloop-reduction-mul.f90
    M flang/test/Lower/OpenMP/wsloop-reduction-multi.f90
    M flang/test/Lower/OpenMP/wsloop-reduction-multiple-clauses.f90
    M flang/test/Lower/OpenMP/wsloop-reduction-pointer.f90
    M flang/test/Lower/OpenMP/wsloop-schedule.f90
    M flang/test/Lower/OpenMP/wsloop-unstructured.f90
    M flang/test/Lower/OpenMP/wsloop-variable.f90
    M flang/test/Lower/OpenMP/wsloop.f90
    M flang/test/Lower/PowerPC/ppc-vec-load-elem-order.f90
    M flang/test/Lower/PowerPC/ppc-vec-load.f90
    M flang/test/Lower/PowerPC/ppc-vec-splat-elem-order.f90
    M flang/test/Lower/PowerPC/ppc-vec-splat.f90
    M flang/test/Lower/array.f90
    M flang/test/Lower/components.f90
    M flang/test/Lower/control-flow.f90
    M flang/test/Lower/derived-assignments.f90
    A flang/test/Lower/entry-statement-init.f90
    M flang/test/Lower/equivalence-static-init.f90
    M flang/test/Lower/forall/array-subscripts.f90
    M flang/test/Lower/module_use.f90
    M flang/test/Lower/pause-statement.f90
    M flang/test/Lower/polymorphic.f90
    M flang/test/Parser/OpenMP/declare-mapper-unparse.f90
    M flang/test/Parser/OpenMP/in-reduction-clause.f90
    A flang/test/Parser/OpenMP/metadirective-dirspec.f90
    M flang/test/Parser/OpenMP/metadirective-v50.f90
    M flang/test/Parser/OpenMP/metadirective.f90
    M flang/test/Runtime/no-cpp-dep.c
    A flang/test/Semantics/OpenMP/metadirective-common.f90
    A flang/test/Semantics/OpenMP/metadirective-construct.f90
    A flang/test/Semantics/OpenMP/metadirective-device.f90
    A flang/test/Semantics/OpenMP/metadirective-implementation.f90
    A flang/test/Semantics/OpenMP/metadirective-user.f90
    A flang/test/Semantics/OpenMP/reduction-derived-component.f90
    M flang/test/Semantics/cuf03.cuf
    M flang/test/Semantics/cuf09.cuf
    A flang/test/Semantics/cuf18.cuf
    A flang/test/Semantics/implicit17.f90
    M flang/test/Transforms/loop-versioning.fir
    M flang/test/Transforms/simplifyintrinsics.fir
    M flang/test/lit.cfg.py
    M flang/test/lit.site.cfg.py.in
    M flang/tools/bbc/CMakeLists.txt
    M flang/tools/bbc/bbc.cpp
    M flang/tools/f18-parse-demo/CMakeLists.txt
    M flang/tools/f18-parse-demo/f18-parse-demo.cpp
    M flang/tools/f18/CMakeLists.txt
    M flang/tools/tco/CMakeLists.txt
    M flang/unittests/CMakeLists.txt
    M flang/unittests/Evaluate/CMakeLists.txt
    M flang/unittests/Evaluate/ISO-Fortran-binding.cpp
    M flang/unittests/Evaluate/bit-population-count.cpp
    M flang/unittests/Evaluate/expression.cpp
    M flang/unittests/Evaluate/folding.cpp
    R flang/unittests/Evaluate/fp-testing.cpp
    R flang/unittests/Evaluate/fp-testing.h
    M flang/unittests/Evaluate/integer.cpp
    M flang/unittests/Evaluate/intrinsics.cpp
    M flang/unittests/Evaluate/leading-zero-bit-count.cpp
    M flang/unittests/Evaluate/logical.cpp
    M flang/unittests/Evaluate/real.cpp
    M flang/unittests/Evaluate/reshape.cpp
    R flang/unittests/Evaluate/testing.cpp
    R flang/unittests/Evaluate/testing.h
    M flang/unittests/Evaluate/uint128.cpp
    M flang/unittests/Frontend/CMakeLists.txt
    M flang/unittests/Runtime/CMakeLists.txt
    M flang/unittests/Runtime/CUDA/Allocatable.cpp
    M flang/unittests/Runtime/CUDA/AllocatorCUF.cpp
    M flang/unittests/Runtime/CUDA/CMakeLists.txt
    M flang/unittests/Runtime/CUDA/Memory.cpp
    M flang/unittests/Runtime/TemporaryStack.cpp
    M libc/CMakeLists.txt
    M libc/cmake/modules/LLVMLibCFlagRules.cmake
    M libc/cmake/modules/LLVMLibCTestRules.cmake
    M libc/config/baremetal/config.json
    M libc/config/config.json
    M libc/config/linux/aarch64/entrypoints.txt
    M libc/config/linux/aarch64/headers.txt
    M libc/config/linux/arm/entrypoints.txt
    M libc/config/linux/riscv/entrypoints.txt
    M libc/config/linux/x86_64/entrypoints.txt
    M libc/config/linux/x86_64/headers.txt
    M libc/docs/CMakeLists.txt
    M libc/docs/configure.rst
    M libc/docs/headers/index.rst
    M libc/docs/headers/math/index.rst
    M libc/hdr/types/CMakeLists.txt
    A libc/hdr/types/nfds_t.h
    R libc/hdr/types/sighandler_t.h
    A libc/hdr/types/struct_pollfd.h
    M libc/include/CMakeLists.txt
    M libc/include/__llvm-libc-common.h
    A libc/include/endian.h.def
    A libc/include/endian.yaml
    M libc/include/llvm-libc-macros/CMakeLists.txt
    A libc/include/llvm-libc-macros/endian-macros.h
    M libc/include/llvm-libc-macros/gpu/signal-macros.h
    M libc/include/llvm-libc-macros/limits-macros.h
    M libc/include/llvm-libc-macros/linux/CMakeLists.txt
    A libc/include/llvm-libc-macros/linux/poll-macros.h
    M libc/include/llvm-libc-macros/linux/signal-macros.h
    M libc/include/llvm-libc-macros/linux/sys-wait-macros.h
    A libc/include/llvm-libc-macros/poll-macros.h
    M libc/include/llvm-libc-types/CMakeLists.txt
    R libc/include/llvm-libc-types/__sighandler_t.h
    A libc/include/llvm-libc-types/nfds_t.h
    A libc/include/llvm-libc-types/sighandler_t.h
    A libc/include/llvm-libc-types/struct_pollfd.h
    M libc/include/llvm-libc-types/struct_sigaction.h
    M libc/include/math.yaml
    A libc/include/poll.h.def
    A libc/include/poll.yaml
    M libc/include/setjmp.yaml
    M libc/include/signal.yaml
    M libc/include/sys/uio.yaml
    M libc/include/unistd.yaml
    M libc/src/CMakeLists.txt
    M libc/src/__support/CMakeLists.txt
    M libc/src/__support/CPP/algorithm.h
    M libc/src/__support/FPUtil/CMakeLists.txt
    M libc/src/__support/FPUtil/dyadic_float.h
    M libc/src/__support/GPU/utils.h
    M libc/src/__support/big_int.h
    M libc/src/__support/integer_to_string.h
    M libc/src/__support/sign.h
    M libc/src/complex/generic/CMakeLists.txt
    M libc/src/dirent/readdir.h
    M libc/src/math/CMakeLists.txt
    A libc/src/math/asinf16.h
    M libc/src/math/generic/CMakeLists.txt
    A libc/src/math/generic/asinf16.cpp
    A libc/src/poll/CMakeLists.txt
    A libc/src/poll/linux/CMakeLists.txt
    A libc/src/poll/linux/poll.cpp
    A libc/src/poll/poll.h
    M libc/src/setjmp/setjmp_impl.h
    M libc/src/signal/linux/CMakeLists.txt
    M libc/src/signal/linux/signal.cpp
    M libc/src/signal/signal.h
    M libc/src/stdfix/CMakeLists.txt
    M libc/src/stdio/printf_core/CMakeLists.txt
    M libc/src/stdio/printf_core/converter_atlas.h
    A libc/src/stdio/printf_core/float_dec_converter_limited.h
    M libc/src/string/allocating_string_utils.h
    M libc/src/string/memory_utils/aarch64/inline_bcmp.h
    M libc/src/string/memory_utils/aarch64/inline_memset.h
    M libc/src/string/memory_utils/generic/builtin.h
    M libc/src/string/memory_utils/inline_bcmp.h
    M libc/src/string/memory_utils/inline_bzero.h
    M libc/src/string/memory_utils/inline_memmem.h
    M libc/src/string/memory_utils/inline_memmove.h
    M libc/src/string/memory_utils/inline_strcmp.h
    M libc/src/string/memory_utils/inline_strstr.h
    M libc/src/string/memory_utils/op_aarch64.h
    M libc/src/string/memory_utils/op_builtin.h
    M libc/src/string/memory_utils/op_generic.h
    M libc/src/string/memory_utils/op_riscv.h
    M libc/src/string/memory_utils/op_x86.h
    M libc/src/string/memory_utils/riscv/inline_bcmp.h
    M libc/src/string/memory_utils/riscv/inline_memcmp.h
    M libc/src/string/memory_utils/riscv/inline_memcpy.h
    M libc/src/string/memory_utils/riscv/inline_memmove.h
    M libc/src/string/memory_utils/riscv/inline_memset.h
    M libc/src/string/memory_utils/utils.h
    M libc/src/string/memory_utils/x86_64/inline_bcmp.h
    M libc/src/string/memory_utils/x86_64/inline_memset.h
    M libc/src/sys/uio/CMakeLists.txt
    M libc/src/sys/uio/linux/CMakeLists.txt
    A libc/src/sys/uio/linux/readv.cpp
    M libc/src/sys/uio/linux/writev.cpp
    A libc/src/sys/uio/readv.h
    M libc/src/sys/wait/wait4Impl.h
    M libc/src/unistd/CMakeLists.txt
    M libc/src/unistd/linux/CMakeLists.txt
    A libc/src/unistd/linux/setsid.cpp
    A libc/src/unistd/setsid.h
    M libc/test/UnitTest/FPExceptMatcher.cpp
    M libc/test/integration/src/__support/GPU/CMakeLists.txt
    A libc/test/integration/src/__support/GPU/shuffle.cpp
    M libc/test/src/CMakeLists.txt
    M libc/test/src/__support/CMakeLists.txt
    M libc/test/src/__support/integer_to_string_test.cpp
    M libc/test/src/compiler/stack_chk_guard_test.cpp
    M libc/test/src/math/CMakeLists.txt
    A libc/test/src/math/asinf16_test.cpp
    M libc/test/src/math/exhaustive/CMakeLists.txt
    M libc/test/src/math/smoke/CMakeLists.txt
    A libc/test/src/math/smoke/asinf16_test.cpp
    A libc/test/src/poll/CMakeLists.txt
    A libc/test/src/poll/poll_test.cpp
    M libc/test/src/signal/CMakeLists.txt
    M libc/test/src/signal/signal_test.cpp
    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
    M libc/test/src/stdfix/CMakeLists.txt
    M libc/test/src/stdio/CMakeLists.txt
    M libc/test/src/stdio/fileop_test.cpp
    M libc/test/src/stdio/sprintf_test.cpp
    M libc/test/src/stdlib/CMakeLists.txt
    M libc/test/src/sys/uio/CMakeLists.txt
    A libc/test/src/sys/uio/readv_test.cpp
    M libc/test/src/sys/uio/writev_test.cpp
    M libc/test/src/unistd/CMakeLists.txt
    A libc/test/src/unistd/setsid_test.cpp
    M libc/utils/MPFRWrapper/CMakeLists.txt
    A libc/utils/docgen/endian.yaml
    A libc/utils/docgen/sys/statvfs.yaml
    M libc/utils/gpu/server/CMakeLists.txt
    M libclc/CMakeLists.txt
    A libclc/clc/include/clc/common/clc_sign.h
    M libclc/clc/include/clc/integer/clc_abs.h
    M libclc/clc/include/clc/integer/clc_abs_diff.h
    A libclc/clc/include/clc/integer/clc_mad_sat.h
    A libclc/clc/include/clc/integer/clc_rotate.h
    M libclc/clc/include/clc/integer/definitions.h
    M libclc/clc/include/clc/math/gentype.inc
    M libclc/clc/include/clc/relational/clc_all.h
    M libclc/clc/include/clc/relational/clc_any.h
    M libclc/clc/include/clc/relational/clc_isequal.h
    M libclc/clc/include/clc/relational/clc_isfinite.h
    M libclc/clc/include/clc/relational/clc_isgreater.h
    M libclc/clc/include/clc/relational/clc_isgreaterequal.h
    M libclc/clc/include/clc/relational/clc_isinf.h
    M libclc/clc/include/clc/relational/clc_isless.h
    M libclc/clc/include/clc/relational/clc_islessequal.h
    M libclc/clc/include/clc/relational/clc_islessgreater.h
    M libclc/clc/include/clc/relational/clc_isnormal.h
    M libclc/clc/include/clc/relational/clc_isnotequal.h
    M libclc/clc/include/clc/relational/clc_isordered.h
    M libclc/clc/include/clc/relational/clc_isunordered.h
    M libclc/clc/include/clc/relational/clc_signbit.h
    M libclc/clc/include/clc/shared/clc_max.h
    M libclc/clc/include/clc/shared/clc_min.h
    R libclc/clc/lib/clspv/SOURCES
    M libclc/clc/lib/generic/SOURCES
    A libclc/clc/lib/generic/common/clc_sign.cl
    A libclc/clc/lib/generic/common/clc_sign.inc
    A libclc/clc/lib/generic/integer/clc_mad_sat.cl
    A libclc/clc/lib/generic/integer/clc_rotate.cl
    A libclc/clc/lib/generic/integer/clc_rotate.inc
    R libclc/clc/lib/spirv/SOURCES
    M libclc/generic/include/clc/float/definitions.h
    M libclc/generic/lib/common/sign.cl
    M libclc/generic/lib/integer/mad_sat.cl
    M libclc/generic/lib/integer/rotate.cl
    R libclc/generic/lib/integer/rotate.inc
    M libclc/generic/lib/math/clc_fmod.cl
    M libclc/generic/lib/math/clc_remainder.cl
    M libcxx/docs/ReleaseNotes/21.rst
    M libcxx/docs/Status/FormatPaper.csv
    M libcxx/include/CMakeLists.txt
    M libcxx/include/__algorithm/fill_n.h
    M libcxx/include/__algorithm/radix_sort.h
    M libcxx/include/__algorithm/stable_sort.h
    M libcxx/include/__bit_reference
    M libcxx/include/__chrono/convert_to_tm.h
    M libcxx/include/__chrono/formatter.h
    M libcxx/include/__chrono/ostream.h
    A libcxx/include/__chrono/tai_clock.h
    M libcxx/include/__format/buffer.h
    M libcxx/include/__format/escaped_output_table.h
    M libcxx/include/__format/extended_grapheme_cluster_table.h
    M libcxx/include/__format/indic_conjunct_break_table.h
    M libcxx/include/__format/width_estimation_table.h
    M libcxx/include/__fwd/bit_reference.h
    M libcxx/include/__locale_dir/support/windows.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/__string/constexpr_c_functions.h
    M libcxx/include/__type_traits/conjunction.h
    M libcxx/include/__type_traits/is_trivially_relocatable.h
    M libcxx/include/__vector/vector.h
    M libcxx/include/__vector/vector_bool.h
    M libcxx/include/chrono
    M libcxx/include/memory
    M libcxx/include/module.modulemap
    M libcxx/include/string
    M libcxx/modules/std/chrono.inc
    M libcxx/src/experimental/time_zone.cpp
    M libcxx/test/benchmarks/GenerateInput.h
    A libcxx/test/benchmarks/algorithms/reverse.bench.cpp
    A libcxx/test/benchmarks/containers/associative/associative_container_benchmarks.h
    A libcxx/test/benchmarks/containers/associative/flat_map.bench.cpp
    A libcxx/test/benchmarks/containers/associative/flat_multimap.bench.cpp
    A libcxx/test/benchmarks/containers/associative/map.bench.cpp
    A libcxx/test/benchmarks/containers/associative/multimap.bench.cpp
    A libcxx/test/benchmarks/containers/associative/multiset.bench.cpp
    A libcxx/test/benchmarks/containers/associative/set.bench.cpp
    A libcxx/test/benchmarks/containers/associative/unordered_map.bench.cpp
    A libcxx/test/benchmarks/containers/associative/unordered_multimap.bench.cpp
    A libcxx/test/benchmarks/containers/associative/unordered_multiset.bench.cpp
    A libcxx/test/benchmarks/containers/associative/unordered_set.bench.cpp
    R libcxx/test/benchmarks/containers/container_benchmarks.h
    R libcxx/test/benchmarks/containers/deque.bench.cpp
    R libcxx/test/benchmarks/containers/list.bench.cpp
    R libcxx/test/benchmarks/containers/map.bench.cpp
    R libcxx/test/benchmarks/containers/ordered_set.bench.cpp
    A libcxx/test/benchmarks/containers/sequence/deque.bench.cpp
    A libcxx/test/benchmarks/containers/sequence/list.bench.cpp
    A libcxx/test/benchmarks/containers/sequence/sequence_container_benchmarks.h
    A libcxx/test/benchmarks/containers/sequence/vector.bench.cpp
    R libcxx/test/benchmarks/containers/unordered_set.bench.cpp
    R libcxx/test/benchmarks/containers/vector.bench.cpp
    M libcxx/test/configs/nvptx-libc++-shared.cfg.in
    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/libcxx/diagnostics/chrono.nodiscard.verify.cpp
    M libcxx/test/libcxx/feature_test_macro/ftm_metadata.sh.py
    M libcxx/test/libcxx/feature_test_macro/version_header_implementation.sh.py
    R libcxx/test/libcxx/strings/basic.string/string.modifiers/clear_and_shrink.pass.cpp
    A libcxx/test/libcxx/time/time.clock/time.clock.tai/time.clock.tai.members/assert.from_utc.pass.cpp
    A libcxx/test/libcxx/time/time.clock/time.clock.tai/time.clock.tai.members/assert.to_utc.pass.cpp
    M libcxx/test/libcxx/time/time.zone/time.zone.timezone/time.zone.members/get_info.sys_time.pass.cpp
    M libcxx/test/libcxx/type_traits/is_trivially_relocatable.compile.pass.cpp
    M libcxx/test/libcxx/utilities/format/format.string/format.string.std/escaped_output.pass.cpp
    M libcxx/test/libcxx/utilities/format/format.string/format.string.std/extended_grapheme_cluster.h
    M libcxx/test/libcxx/utilities/format/format.string/format.string.std/extended_grapheme_cluster.pass.cpp
    M libcxx/test/std/algorithms/alg.modifying.operations/alg.fill/fill.pass.cpp
    M libcxx/test/std/algorithms/alg.modifying.operations/alg.fill/fill_n.pass.cpp
    M libcxx/test/std/algorithms/alg.modifying.operations/alg.fill/ranges.fill.pass.cpp
    M libcxx/test/std/algorithms/alg.modifying.operations/alg.fill/ranges.fill_n.pass.cpp
    M libcxx/test/std/algorithms/alg.sorting/alg.sort/stable.sort/stable_sort.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/flat.map/flat.map.access/at_transparent.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
    A libcxx/test/std/containers/sequences/vector.bool/max_size.pass.cpp
    M libcxx/test/std/containers/sequences/vector.bool/move.pass.cpp
    M libcxx/test/std/containers/sequences/vector.bool/move_alloc.pass.cpp
    M libcxx/test/std/containers/sequences/vector.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
    A libcxx/test/std/containers/sequences/vector/trivial_relocation.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/max_size.pass.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
    M libcxx/test/std/strings/basic.string/string.capacity/reserve_size.pass.cpp
    M libcxx/test/std/strings/basic.string/string.nonmembers/string_op+/char_string.pass.cpp
    M libcxx/test/std/strings/basic.string/string.nonmembers/string_op+/pointer_string.pass.cpp
    M libcxx/test/std/strings/basic.string/string.nonmembers/string_op+/string_char.pass.cpp
    M libcxx/test/std/strings/basic.string/string.nonmembers/string_op+/string_pointer.pass.cpp
    M libcxx/test/std/strings/basic.string/string.nonmembers/string_op+/string_string.pass.cpp
    A libcxx/test/std/time/time.clock/time.clock.tai/tai_time.ostream.pass.cpp
    A libcxx/test/std/time/time.clock/time.clock.tai/time.clock.tai.members/from_utc.pass.cpp
    A libcxx/test/std/time/time.clock/time.clock.tai/time.clock.tai.members/now.pass.cpp
    A libcxx/test/std/time/time.clock/time.clock.tai/time.clock.tai.members/to_utc.pass.cpp
    A libcxx/test/std/time/time.clock/time.clock.tai/types.compile.pass.cpp
    A libcxx/test/std/time/time.syn/formatter.tai_time.pass.cpp
    M libcxx/test/support/MinSequenceContainer.h
    M libcxx/test/support/concat_macros.h
    M libcxx/test/support/min_allocator.h
    A libcxx/test/support/sized_allocator.h
    M libcxx/utils/ci/Dockerfile
    M libcxx/utils/ci/docker-compose.yml
    M libcxx/utils/data/unicode/DerivedCoreProperties.txt
    M libcxx/utils/data/unicode/DerivedGeneralCategory.txt
    M libcxx/utils/data/unicode/EastAsianWidth.txt
    M libcxx/utils/data/unicode/GraphemeBreakProperty.txt
    M libcxx/utils/data/unicode/GraphemeBreakTest.txt
    M libcxx/utils/data/unicode/emoji-data.txt
    M libcxx/utils/generate_feature_test_macro_components.py
    M libcxx/utils/libcxx/test/params.py
    M libunwind/src/UnwindCursor.hpp
    M libunwind/test/signal_unwind.pass.cpp
    M libunwind/test/unwind_leaffunction.pass.cpp
    M lld/COFF/Driver.cpp
    M lld/COFF/MinGW.cpp
    M lld/COFF/MinGW.h
    M lld/COFF/SymbolTable.h
    M lld/COFF/Writer.cpp
    A lld/ELF/BPSectionOrderer.cpp
    A lld/ELF/BPSectionOrderer.h
    M lld/ELF/CMakeLists.txt
    M lld/ELF/Config.h
    M lld/ELF/Driver.cpp
    M lld/ELF/InputFiles.cpp
    M lld/ELF/Options.td
    M lld/ELF/Writer.cpp
    M lld/MachO/BPSectionOrderer.cpp
    M lld/MachO/Relocations.cpp
    M lld/docs/ld.lld.1
    M lld/include/lld/Common/BPSectionOrdererBase.inc
    M lld/test/COFF/arm64ec-patchable-thunks.test
    A lld/test/COFF/arm64x-export-all.s
    M lld/test/COFF/arm64x-export.test
    A lld/test/COFF/arm64x-includeoptional.s
    A lld/test/COFF/arm64x-wrap.s
    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
    A lld/test/COFF/locally-imported-arm64x.s
    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
    A lld/test/ELF/aarch64-build-attributes.s
    A lld/test/ELF/bp-section-orderer-stress.s
    A lld/test/ELF/bp-section-orderer.s
    M lld/test/ELF/package-metadata.s
    M lld/test/ELF/target-specific-options.s
    M lld/test/MachO/objc-category-merging-erase-objc-name-test.s
    M lld/test/wasm/shared-weak-undefined.s
    M lldb/bindings/interface/SBFrameDocstrings.i
    M lldb/bindings/interface/SBFrameExtensions.i
    M lldb/bindings/interface/SBProcessDocstrings.i
    M lldb/bindings/python/python-swigsafecast.swig
    M lldb/bindings/python/python-typemaps.swig
    M lldb/bindings/python/python-wrapper.swig
    M lldb/docs/resources/lldbgdbremote.md
    M lldb/docs/resources/test.rst
    M lldb/include/lldb/API/SBCommandInterpreter.h
    M lldb/include/lldb/API/SBCommandReturnObject.h
    M lldb/include/lldb/API/SBDefines.h
    A lldb/include/lldb/Core/Telemetry.h
    M lldb/include/lldb/Core/UserSettingsController.h
    M lldb/include/lldb/Host/Host.h
    M lldb/include/lldb/Interpreter/CommandInterpreter.h
    M lldb/include/lldb/Interpreter/CommandReturnObject.h
    M lldb/include/lldb/Interpreter/OptionValueSInt64.h
    M lldb/include/lldb/Interpreter/OptionValueUInt64.h
    M lldb/include/lldb/Symbol/SymbolContext.h
    M lldb/include/lldb/Symbol/UnwindTable.h
    M lldb/include/lldb/Target/LanguageRuntime.h
    M lldb/include/lldb/Target/Process.h
    M lldb/include/lldb/Target/Thread.h
    M lldb/include/lldb/Target/ThreadList.h
    A lldb/include/lldb/ValueObject/DILLexer.h
    M lldb/include/lldb/ValueObject/ValueObject.h
    M lldb/include/lldb/lldb-enumerations.h
    M lldb/packages/Python/lldbsuite/test/tools/lldb-dap/dap_server.py
    M lldb/packages/Python/lldbsuite/test/tools/lldb-dap/lldbdap_testcase.py
    M lldb/source/API/SBCommandInterpreter.cpp
    M lldb/source/API/SBCommandReturnObject.cpp
    M lldb/source/API/SBDebugger.cpp
    M lldb/source/API/SBFunction.cpp
    M lldb/source/API/SBTarget.cpp
    M lldb/source/Breakpoint/BreakpointSite.cpp
    M lldb/source/Breakpoint/WatchpointList.cpp
    M lldb/source/Commands/CommandObjectTarget.cpp
    M lldb/source/Commands/Options.td
    M lldb/source/Core/CMakeLists.txt
    M lldb/source/Core/FormatEntity.cpp
    M lldb/source/Core/SourceManager.cpp
    A lldb/source/Core/Telemetry.cpp
    M lldb/source/Core/UserSettingsController.cpp
    M lldb/source/Host/macosx/objcxx/Host.mm
    M lldb/source/Interpreter/CommandInterpreter.cpp
    M lldb/source/Interpreter/OptionArgParser.cpp
    M lldb/source/Plugins/ABI/X86/ABISysV_x86_64.cpp
    M lldb/source/Plugins/DynamicLoader/Darwin-Kernel/DynamicLoaderDarwinKernel.cpp
    M lldb/source/Plugins/DynamicLoader/Hexagon-DYLD/DynamicLoaderHexagonDYLD.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/DynamicLoader/POSIX-DYLD/DynamicLoaderPOSIXDYLD.cpp
    M lldb/source/Plugins/ExpressionParser/Clang/CxxModuleHandler.cpp
    M lldb/source/Plugins/Language/CPlusPlus/CPlusPlusLanguage.cpp
    M lldb/source/Plugins/Language/CPlusPlus/LibCxx.cpp
    M lldb/source/Plugins/LanguageRuntime/CPlusPlus/CPPLanguageRuntime.cpp
    M lldb/source/Plugins/LanguageRuntime/CPlusPlus/ItaniumABI/ItaniumABILanguageRuntime.cpp
    M lldb/source/Plugins/LanguageRuntime/CPlusPlus/ItaniumABI/ItaniumABILanguageRuntime.h
    M lldb/source/Plugins/LanguageRuntime/ObjC/AppleObjCRuntime/AppleObjCRuntime.cpp
    M lldb/source/Plugins/LanguageRuntime/ObjC/AppleObjCRuntime/AppleObjCRuntime.h
    M lldb/source/Plugins/LanguageRuntime/ObjC/AppleObjCRuntime/AppleObjCRuntimeV1.cpp
    M lldb/source/Plugins/LanguageRuntime/ObjC/AppleObjCRuntime/AppleObjCRuntimeV1.h
    M lldb/source/Plugins/LanguageRuntime/ObjC/AppleObjCRuntime/AppleObjCRuntimeV2.cpp
    M lldb/source/Plugins/LanguageRuntime/ObjC/AppleObjCRuntime/AppleObjCRuntimeV2.h
    M lldb/source/Plugins/LanguageRuntime/ObjC/GNUstepObjCRuntime/GNUstepObjCRuntime.cpp
    M lldb/source/Plugins/LanguageRuntime/ObjC/GNUstepObjCRuntime/GNUstepObjCRuntime.h
    M lldb/source/Plugins/ObjectFile/Mach-O/ObjectFileMachO.cpp
    M lldb/source/Plugins/Platform/MacOSX/PlatformDarwinKernel.cpp
    M lldb/source/Plugins/Process/Linux/NativeRegisterContextLinux_loongarch64.cpp
    M lldb/source/Plugins/Process/Utility/InferiorCallPOSIX.cpp
    M lldb/source/Plugins/Process/Utility/ThreadMemory.h
    M lldb/source/Plugins/Process/Windows/Common/NativeRegisterContextWindows.h
    M lldb/source/Plugins/Process/gdb-remote/GDBRemoteCommunicationServerCommon.cpp
    M lldb/source/Plugins/Process/gdb-remote/ProcessGDBRemote.cpp
    M lldb/source/Plugins/ScriptInterpreter/Python/SWIGPythonBridge.h
    M lldb/source/Plugins/SymbolFile/DWARF/DWARFASTParserClang.cpp
    M lldb/source/Plugins/SymbolFile/DWARF/DWARFASTParserClang.h
    M lldb/source/Plugins/SymbolFile/PDB/PDBASTParser.cpp
    M lldb/source/Plugins/SystemRuntime/MacOSX/SystemRuntimeMacOSX.cpp
    M lldb/source/Plugins/TypeSystem/Clang/TypeSystemClang.cpp
    M lldb/source/Plugins/TypeSystem/Clang/TypeSystemClang.h
    M lldb/source/Symbol/SymbolContext.cpp
    M lldb/source/Symbol/UnwindTable.cpp
    M lldb/source/Target/Process.cpp
    M lldb/source/Target/ThreadList.cpp
    M lldb/source/Utility/ArchSpec.cpp
    M lldb/source/ValueObject/CMakeLists.txt
    A lldb/source/ValueObject/DILLexer.cpp
    M lldb/source/ValueObject/ValueObject.cpp
    M lldb/source/ValueObject/ValueObjectDynamicValue.cpp
    M lldb/test/API/api/command-return-object/TestSBCommandReturnObject.py
    M lldb/test/API/commands/register/register/register_command/TestRegisters.py
    M lldb/test/API/commands/watchpoints/unaligned-watchpoint/TestUnalignedWatchpoint.py
    M lldb/test/API/commands/watchpoints/watchpoint_events/TestWatchpointEvents.py
    A lldb/test/API/driver/terminal/TestTerminalDimensions.py
    M lldb/test/API/functionalities/breakpoint/hardware_breakpoints/hardware_breakpoint_on_multiple_threads/TestHWBreakMultiThread.py
    M lldb/test/API/functionalities/data-formatter/data-formatter-stl/libcxx/deque/TestDataFormatterLibcxxDeque.py
    M lldb/test/API/functionalities/data-formatter/data-formatter-stl/libcxx/span/TestDataFormatterLibcxxSpan.py
    M lldb/test/API/functionalities/data-formatter/data-formatter-stl/libcxx/variant/TestDataFormatterLibcxxVariant.py
    M lldb/test/API/functionalities/data-formatter/data-formatter-stl/libcxx/vector/TestDataFormatterLibcxxVector.py
    M lldb/test/API/functionalities/data-formatter/data-formatter-stl/libstdcpp/variant/TestDataFormatterLibStdcxxVariant.py
    M lldb/test/API/functionalities/plugins/python_os_plugin/TestPythonOSPlugin.py
    M lldb/test/API/functionalities/process_save_core_minidump/TestProcessSaveCoreMinidump.py
    M lldb/test/API/functionalities/scripted_process/TestStackCoreScriptedProcess.py
    M lldb/test/API/functionalities/thread/concurrent_events/TestConcurrentManyBreakpoints.py
    M lldb/test/API/functionalities/thread/concurrent_events/TestConcurrentManyCrash.py
    M lldb/test/API/functionalities/thread/concurrent_events/TestConcurrentManySignals.py
    M lldb/test/API/functionalities/thread/concurrent_events/TestConcurrentManyWatchpoints.py
    M lldb/test/API/functionalities/watchpoint/large-watchpoint/TestLargeWatchpoint.py
    M lldb/test/API/functionalities/watchpoint/unaligned-spanning-two-dwords/TestUnalignedSpanningDwords.py
    M lldb/test/API/macosx/corefile-exception-reason/TestCorefileExceptionReason.py
    M lldb/test/API/macosx/debugserver-exit-code/TestDebugServerExitCode.py
    M lldb/test/API/macosx/early-process-launch/TestEarlyProcessLaunch.py
    M lldb/test/API/macosx/ignore_exceptions/TestIgnoredExceptions.py
    M lldb/test/API/macosx/profile_vrs_detach/TestDetachVrsProfile.py
    M lldb/test/API/macosx/simulator/TestSimulatorPlatform.py
    M lldb/test/API/macosx/skinny-corefile/TestSkinnyCorefile.py
    M lldb/test/API/macosx/stack-corefile/TestStackCorefile.py
    M lldb/test/API/macosx/unregistered-macho/TestUnregisteredMacho.py
    A lldb/test/API/python_api/interpreter_callback/Makefile
    A lldb/test/API/python_api/interpreter_callback/TestCommandInterepterPrintCallback.py
    A lldb/test/API/python_api/interpreter_callback/main.c
    A lldb/test/API/python_api/watchpoint/TestWatchpointRead.py
    M lldb/test/API/python_api/watchpoint/watchlocation/TestTargetWatchAddress.py
    M lldb/test/API/tools/lldb-dap/breakpoint/Makefile
    A lldb/test/API/tools/lldb-dap/breakpoint/TestDAP_breakpointLocations.py
    M lldb/test/API/tools/lldb-dap/breakpoint/TestDAP_setBreakpoints.py
    M lldb/test/API/tools/lldb-server/register-reading/TestGdbRemoteGPacket.py
    A lldb/test/Shell/Commands/command-breakpoint-by-addr.test
    A lldb/test/Shell/Expr/TestEnumExtensibility.m
    R lldb/test/Shell/SymbolFile/Inputs/target-symbols-add-unwind.c
    M lldb/test/Shell/SymbolFile/target-symbols-add-unwind.test
    M lldb/tools/debugserver/source/RNBRemote.cpp
    M lldb/tools/lldb-dap/DAP.h
    M lldb/tools/lldb-dap/OutputRedirector.cpp
    M lldb/tools/lldb-dap/lldb-dap.cpp
    M lldb/tools/lldb-dap/package-lock.json
    M lldb/tools/lldb-dap/package.json
    A lldb/unittests/OperatingSystem/CMakeLists.txt
    A lldb/unittests/OperatingSystem/OperatingSystemPlugin.h
    A lldb/unittests/OperatingSystem/TestThreadSpecificBreakpoints.cpp
    M lldb/unittests/TestingSupport/Symbol/ClangTestUtils.h
    M lldb/unittests/Utility/ArchSpecTest.cpp
    M lldb/unittests/ValueObject/CMakeLists.txt
    A lldb/unittests/ValueObject/DILLexerTests.cpp
    A lldb/unittests/ValueObject/DynamicValueObjectLocalBuffer.cpp
    M llvm/CMakeLists.txt
    M llvm/cmake/modules/AddLLVM.cmake
    M llvm/cmake/modules/LLVMConfig.cmake.in
    M llvm/docs/AMDGPUUsage.rst
    M llvm/docs/Contributing.rst
    M llvm/docs/ConvergenceAndUniformity.rst
    M llvm/docs/GitHub.rst
    M llvm/docs/HowToAddABuilder.rst
    M llvm/docs/HowToReleaseLLVM.rst
    M llvm/docs/LangRef.rst
    M llvm/docs/LibFuzzer.rst
    M llvm/docs/NVPTXUsage.rst
    M llvm/docs/ReleaseNotes.md
    M llvm/docs/TableGen/ProgRef.rst
    M llvm/include/llvm-c/Core.h
    M llvm/include/llvm/ADT/GenericCycleImpl.h
    M llvm/include/llvm/ADT/StableHashing.h
    M llvm/include/llvm/ADT/StringSwitch.h
    M llvm/include/llvm/Analysis/BlockFrequencyInfoImpl.h
    M llvm/include/llvm/Analysis/CFGPrinter.h
    M llvm/include/llvm/Analysis/DDG.h
    M llvm/include/llvm/Analysis/DependenceAnalysis.h
    M llvm/include/llvm/Analysis/RegionInfoImpl.h
    M llvm/include/llvm/Analysis/ScalarEvolutionExpressions.h
    M llvm/include/llvm/Analysis/TargetTransformInfo.h
    M llvm/include/llvm/Analysis/TargetTransformInfoImpl.h
    M llvm/include/llvm/Analysis/VectorUtils.h
    M llvm/include/llvm/AsmParser/LLToken.h
    M llvm/include/llvm/BinaryFormat/DXContainer.h
    M llvm/include/llvm/BinaryFormat/DXContainerConstants.def
    M llvm/include/llvm/BinaryFormat/Dwarf.def
    M llvm/include/llvm/BinaryFormat/Dwarf.h
    M llvm/include/llvm/BinaryFormat/ELF.h
    M llvm/include/llvm/CodeGen/BasicTTIImpl.h
    M llvm/include/llvm/CodeGen/GlobalISel/LegalizerInfo.h
    M llvm/include/llvm/CodeGen/ISDOpcodes.h
    M llvm/include/llvm/CodeGen/LiveIntervals.h
    A llvm/include/llvm/CodeGen/MachineCopyPropagation.h
    M llvm/include/llvm/CodeGen/MachineFunction.h
    M llvm/include/llvm/CodeGen/MachineOperand.h
    M llvm/include/llvm/CodeGen/MachinePipeliner.h
    M llvm/include/llvm/CodeGen/MachineRegisterInfo.h
    M llvm/include/llvm/CodeGen/MachineScheduler.h
    A llvm/include/llvm/CodeGen/PostRASchedulerList.h
    M llvm/include/llvm/CodeGen/RDFGraph.h
    M llvm/include/llvm/CodeGen/ReachingDefAnalysis.h
    A llvm/include/llvm/CodeGen/RegisterCoalescerPass.h
    A llvm/include/llvm/CodeGen/RenameIndependentSubregs.h
    M llvm/include/llvm/CodeGen/RuntimeLibcallUtil.h
    M llvm/include/llvm/CodeGen/SelectionDAGNodes.h
    A llvm/include/llvm/CodeGen/StackSlotColoring.h
    M llvm/include/llvm/CodeGen/TargetInstrInfo.h
    M llvm/include/llvm/CodeGen/TargetLowering.h
    M llvm/include/llvm/CodeGen/TargetPassConfig.h
    M llvm/include/llvm/DebugInfo/DWARF/DWARFDebugLine.h
    M llvm/include/llvm/ExecutionEngine/JITLink/JITLink.h
    M llvm/include/llvm/ExecutionEngine/Orc/Core.h
    M llvm/include/llvm/ExecutionEngine/Orc/ExecutorProcessControl.h
    M llvm/include/llvm/ExecutionEngine/Orc/MachOPlatform.h
    M llvm/include/llvm/ExecutionEngine/Orc/Shared/MachOObjectFormat.h
    M llvm/include/llvm/ExecutionEngine/Orc/Shared/OrcRTBridge.h
    A llvm/include/llvm/ExecutionEngine/Orc/TargetProcess/DefaultHostBootstrapValues.h
    A llvm/include/llvm/ExecutionEngine/Orc/TargetProcess/UnwindInfoManager.h
    A llvm/include/llvm/ExecutionEngine/Orc/UnwindInfoRegistrationPlugin.h
    M llvm/include/llvm/Frontend/Offloading/Utility.h
    M llvm/include/llvm/Frontend/OpenMP/ClauseT.h
    M llvm/include/llvm/Frontend/OpenMP/OMP.td
    M llvm/include/llvm/Frontend/OpenMP/OMPContext.h
    M llvm/include/llvm/Frontend/OpenMP/OMPGridValues.h
    M llvm/include/llvm/Frontend/OpenMP/OMPIRBuilder.h
    M llvm/include/llvm/Frontend/OpenMP/OMPKinds.def
    M llvm/include/llvm/IR/DIBuilder.h
    M llvm/include/llvm/IR/DebugInfoMetadata.h
    M llvm/include/llvm/IR/DerivedTypes.h
    M llvm/include/llvm/IR/Function.h
    M llvm/include/llvm/IR/GlobalObject.h
    M llvm/include/llvm/IR/InstrTypes.h
    M llvm/include/llvm/IR/Instructions.h
    M llvm/include/llvm/IR/IntrinsicInst.h
    M llvm/include/llvm/IR/Intrinsics.h
    M llvm/include/llvm/IR/Intrinsics.td
    M llvm/include/llvm/IR/IntrinsicsNVVM.td
    M llvm/include/llvm/IR/MDBuilder.h
    M llvm/include/llvm/IR/RuntimeLibcalls.def
    M llvm/include/llvm/InitializePasses.h
    A llvm/include/llvm/MC/DXContainerRootSignature.h
    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/include/llvm/Object/DXContainer.h
    M llvm/include/llvm/ObjectYAML/DXContainerYAML.h
    M llvm/include/llvm/Passes/CodeGenPassBuilder.h
    M llvm/include/llvm/Passes/DroppedVariableStats.h
    M llvm/include/llvm/Passes/MachinePassRegistry.def

  Log Message:
  -----------
  [𝘀𝗽𝗿] changes introduced through rebase

Created using spr 1.3.6-beta.1

[skip ci]


Compare: https://github.com/llvm/llvm-project/compare/f6ea85324f82...cacf7fd24b0c

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