[all-commits] [llvm/llvm-project] 56ffcd: [mlir] Fix integration tests after #120580 (part 2...

Florian Mayer via All-commits all-commits at lists.llvm.org
Fri Jan 3 06:43:12 PST 2025


  Branch: refs/heads/users/fmayer/spr/main.vectorizer-fix-geps-incorrectly-marked-as-inbounds
  Home:   https://github.com/llvm/llvm-project
  Commit: 56ffcd4e01851d6a8c171e2a813828f720ed1538
      https://github.com/llvm/llvm-project/commit/56ffcd4e01851d6a8c171e2a813828f720ed1538
  Author: Matthias Springer <me at m-sp.org>
  Date:   2024-12-20 (Fri, 20 Dec 2024)

  Changed paths:
    M mlir/test/Integration/Dialect/Vector/CPU/ArmSVE/sve.mlir

  Log Message:
  -----------
  [mlir] Fix integration tests after #120580 (part 2) (#120751)

This commit should have been part of #120580.


  Commit: 8177bf5022c6dfc48d236082fa02076feedd60df
      https://github.com/llvm/llvm-project/commit/8177bf5022c6dfc48d236082fa02076feedd60df
  Author: Ikhlas Ajbar <iajbar at quicinc.com>
  Date:   2024-12-20 (Fri, 20 Dec 2024)

  Changed paths:
    M llvm/lib/Target/Hexagon/HexagonISelLowering.cpp
    A llvm/test/CodeGen/Hexagon/simple-types-mem.ll

  Log Message:
  -----------
  [Hexagon] Only handle simple types memory accesses (#120654)

The code was asserting because allowsMemoryAccess() was called with
Extended Value Type INVALID_SIMPLE_VALUE_TYPE in
HexagonISelLowering.cpp.
Fixes https://github.com/llvm/llvm-project/issues/118881


  Commit: 811f2a652b6232f203e51a17d553e268fae3a29c
      https://github.com/llvm/llvm-project/commit/811f2a652b6232f203e51a17d553e268fae3a29c
  Author: Sander de Smalen <sander.desmalen at arm.com>
  Date:   2024-12-20 (Fri, 20 Dec 2024)

  Changed paths:
    M compiler-rt/cmake/builtin-config-ix.cmake
    M compiler-rt/lib/builtins/aarch64/sme-abi-assert.c
    M compiler-rt/lib/builtins/aarch64/sme-abi.S

  Log Message:
  -----------
  [Compiler-rt] Add AArch64 routines for __arm_agnostic("sme_za_state") (#120059)

The specification of these routines can be found here:

https://github.com/ARM-software/abi-aa/blob/main/aapcs64/aapcs64.rst#sme-support-routines


  Commit: 8c0090030bf89df7e0dbe5827a83d52627b2c87f
      https://github.com/llvm/llvm-project/commit/8c0090030bf89df7e0dbe5827a83d52627b2c87f
  Author: Vy Nguyen <vyng at google.com>
  Date:   2024-12-20 (Fri, 20 Dec 2024)

  Changed paths:
    A llvm/docs/Telemetry.rst
    M llvm/docs/UserGuides.rst
    A llvm/docs/llvm_telemetry_design.png
    A llvm/include/llvm/Telemetry/Telemetry.h
    M llvm/lib/CMakeLists.txt
    A llvm/lib/Telemetry/CMakeLists.txt
    A llvm/lib/Telemetry/Telemetry.cpp
    M llvm/unittests/CMakeLists.txt
    A llvm/unittests/Telemetry/CMakeLists.txt
    A llvm/unittests/Telemetry/TelemetryTest.cpp

  Log Message:
  -----------
  [llvm]Add a simple Telemetry framework (#102323)

Objective:

- Provide a common framework in LLVM for collecting various usage
metrics
-  Characteristics: 
  -   Extensible and configurable by: 
    -  tools in LLVM that want to use it 
    -  vendors in their downstream codebase 
    -  tools users (as allowed by vendor)


Background:
The framework was originally proposed only for LLDB, but there were
quite a few requests  to move it to llvm/lib given telemetry
is a common use case in a lot of tools, not just LLDB.

See more details on the design and discussions here on the RFC:
https://discourse.llvm.org/t/rfc-lldb-telemetry-metrics/64588/20?u=oontvoo

---------

Co-authored-by: Alina Sbirlea <alina.g.simion at gmail.com>
Co-authored-by: James Henderson <James.Henderson at sony.com>
Co-authored-by: Pavel Labath <pavel at labath.sk>


  Commit: 2e1128d50e6174e857833cfde72f29f61a4a7b56
      https://github.com/llvm/llvm-project/commit/2e1128d50e6174e857833cfde72f29f61a4a7b56
  Author: Jay Foad <jay.foad at amd.com>
  Date:   2024-12-20 (Fri, 20 Dec 2024)

  Changed paths:
    M llvm/lib/Target/AMDGPU/MIMGInstructions.td

  Log Message:
  -----------
  [AMDGPU] Remove some unnecessary !casts


  Commit: 412e1af19a248fd5650e6828695c78454a9195fb
      https://github.com/llvm/llvm-project/commit/412e1af19a248fd5650e6828695c78454a9195fb
  Author: Sam Tebbs <samuel.tebbs at arm.com>
  Date:   2024-12-20 (Fri, 20 Dec 2024)

  Changed paths:
    M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
    R llvm/test/CodeGen/AArch64/whilewr.ll

  Log Message:
  -----------
  Revert "[AArch64] Lower alias mask to a whilewr" (#120261)

Reverts llvm/llvm-project#100769

A bug in the lowering (the subtraction should be reversed) was found
after merging and it will all be replaced by #117007 anyway.


  Commit: 09dfc5713d7e2342bea4c8447d1ed76c85eb8225
      https://github.com/llvm/llvm-project/commit/09dfc5713d7e2342bea4c8447d1ed76c85eb8225
  Author: Jacques Pienaar <jpienaar at google.com>
  Date:   2024-12-20 (Fri, 20 Dec 2024)

  Changed paths:
    M flang/lib/Optimizer/HLFIR/Transforms/InlineElementals.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/Transforms/AlgebraicSimplification.cpp
    M flang/lib/Optimizer/Transforms/AssumedRankOpConversion.cpp
    M flang/lib/Optimizer/Transforms/ConstantArgumentGlobalisation.cpp
    M flang/lib/Optimizer/Transforms/StackArrays.cpp
    M mlir/docs/PatternRewriter.md
    M mlir/examples/standalone/lib/Standalone/StandalonePasses.cpp
    M mlir/include/mlir/Transforms/GreedyPatternRewriteDriver.h
    M mlir/lib/CAPI/Transforms/Rewrite.cpp
    M mlir/lib/Conversion/ArithToAMDGPU/ArithToAMDGPU.cpp
    M mlir/lib/Conversion/ArithToArmSME/ArithToArmSME.cpp
    M mlir/lib/Conversion/ArmNeon2dToIntr/ArmNeon2dToIntr.cpp
    M mlir/lib/Conversion/GPUToNVVM/LowerGpuOpsToNVVMOps.cpp
    M mlir/lib/Conversion/GPUToROCDL/LowerGpuOpsToROCDLOps.cpp
    M mlir/lib/Conversion/MeshToMPI/MeshToMPI.cpp
    M mlir/lib/Conversion/ShapeToStandard/ConvertShapeConstraints.cpp
    M mlir/lib/Conversion/VectorToArmSME/VectorToArmSMEPass.cpp
    M mlir/lib/Conversion/VectorToGPU/VectorToGPU.cpp
    M mlir/lib/Conversion/VectorToLLVM/ConvertVectorToLLVMPass.cpp
    M mlir/lib/Conversion/VectorToSCF/VectorToSCF.cpp
    M mlir/lib/Conversion/VectorToXeGPU/VectorToXeGPU.cpp
    M mlir/lib/Dialect/Affine/TransformOps/AffineTransformOps.cpp
    M mlir/lib/Dialect/Affine/Transforms/AffineDataCopyGeneration.cpp
    M mlir/lib/Dialect/Affine/Transforms/AffineExpandIndexOps.cpp
    M mlir/lib/Dialect/Affine/Transforms/AffineExpandIndexOpsAsAffine.cpp
    M mlir/lib/Dialect/Affine/Transforms/SimplifyAffineStructures.cpp
    M mlir/lib/Dialect/Affine/Utils/LoopUtils.cpp
    M mlir/lib/Dialect/Affine/Utils/Utils.cpp
    M mlir/lib/Dialect/Arith/Transforms/IntRangeOptimizations.cpp
    M mlir/lib/Dialect/ArmSME/Transforms/OuterProductFusion.cpp
    M mlir/lib/Dialect/ArmSVE/Transforms/LegalizeVectorStorage.cpp
    M mlir/lib/Dialect/Async/Transforms/AsyncParallelFor.cpp
    M mlir/lib/Dialect/Bufferization/Transforms/BufferDeallocationSimplification.cpp
    M mlir/lib/Dialect/Bufferization/Transforms/EmptyTensorToAllocTensor.cpp
    M mlir/lib/Dialect/EmitC/Transforms/FormExpressions.cpp
    M mlir/lib/Dialect/GPU/Transforms/DecomposeMemRefs.cpp
    M mlir/lib/Dialect/GPU/Transforms/EliminateBarriers.cpp
    M mlir/lib/Dialect/LLVMIR/Transforms/OptimizeForNVVM.cpp
    M mlir/lib/Dialect/Linalg/TransformOps/LinalgTransformOps.cpp
    M mlir/lib/Dialect/Linalg/Transforms/BlockPackMatmul.cpp
    M mlir/lib/Dialect/Linalg/Transforms/Detensorize.cpp
    M mlir/lib/Dialect/Linalg/Transforms/DropUnitDims.cpp
    M mlir/lib/Dialect/Linalg/Transforms/ElementwiseOpFusion.cpp
    M mlir/lib/Dialect/Linalg/Transforms/Generalization.cpp
    M mlir/lib/Dialect/Linalg/Transforms/InlineScalarOperands.cpp
    M mlir/lib/Dialect/Linalg/Transforms/Loops.cpp
    M mlir/lib/Dialect/Linalg/Transforms/NamedOpConversions.cpp
    M mlir/lib/Dialect/Linalg/Transforms/Specialize.cpp
    M mlir/lib/Dialect/Math/Transforms/UpliftToFMA.cpp
    M mlir/lib/Dialect/MemRef/Transforms/ExpandStridedMetadata.cpp
    M mlir/lib/Dialect/MemRef/Transforms/FoldMemRefAliasOps.cpp
    M mlir/lib/Dialect/MemRef/Transforms/ResolveShapedTypeResultDims.cpp
    M mlir/lib/Dialect/SCF/Transforms/ForToWhile.cpp
    M mlir/lib/Dialect/SCF/Transforms/LoopCanonicalization.cpp
    M mlir/lib/Dialect/SCF/Transforms/LoopSpecialization.cpp
    M mlir/lib/Dialect/SCF/Transforms/TileUsingInterface.cpp
    M mlir/lib/Dialect/SPIRV/Transforms/CanonicalizeGLPass.cpp
    M mlir/lib/Dialect/SPIRV/Transforms/SPIRVConversion.cpp
    M mlir/lib/Dialect/SPIRV/Transforms/SPIRVWebGPUTransforms.cpp
    M mlir/lib/Dialect/Shape/Transforms/OutlineShapeComputation.cpp
    M mlir/lib/Dialect/Shape/Transforms/RemoveShapeConstraints.cpp
    M mlir/lib/Dialect/SparseTensor/Transforms/SparseTensorPasses.cpp
    M mlir/lib/Dialect/Tensor/Transforms/FoldTensorSubsetOps.cpp
    M mlir/lib/Dialect/Tosa/Transforms/TosaLayerwiseConstantFoldPass.cpp
    M mlir/lib/Dialect/Tosa/Transforms/TosaMakeBroadcastable.cpp
    M mlir/lib/Dialect/Tosa/Transforms/TosaOptionalDecompositions.cpp
    M mlir/lib/Dialect/Transform/IR/TransformOps.cpp
    M mlir/lib/Dialect/Vector/Transforms/LowerVectorMask.cpp
    M mlir/lib/Dialect/Vector/Transforms/LowerVectorMultiReduction.cpp
    M mlir/lib/Dialect/XeGPU/Transforms/XeGPUFoldAliasOps.cpp
    M mlir/lib/Reducer/ReductionTreePass.cpp
    M mlir/lib/Transforms/Canonicalizer.cpp
    M mlir/lib/Transforms/Utils/GreedyPatternRewriteDriver.cpp
    M mlir/lib/Transforms/Utils/OneToNTypeConversion.cpp
    M mlir/test/Transforms/test-operation-folder.mlir
    M mlir/test/lib/Conversion/MathToVCIX/TestMathToVCIXConversion.cpp
    M mlir/test/lib/Conversion/VectorToSPIRV/TestVectorReductionToSPIRVDotProd.cpp
    M mlir/test/lib/Dialect/Affine/TestAffineDataCopy.cpp
    M mlir/test/lib/Dialect/ArmNeon/TestLowerToArmNeon.cpp
    M mlir/test/lib/Dialect/GPU/TestGpuRewrite.cpp
    M mlir/test/lib/Dialect/Linalg/TestDataLayoutPropagation.cpp
    M mlir/test/lib/Dialect/Linalg/TestLinalgDecomposeOps.cpp
    M mlir/test/lib/Dialect/Linalg/TestLinalgElementwiseFusion.cpp
    M mlir/test/lib/Dialect/Linalg/TestLinalgFusionTransforms.cpp
    M mlir/test/lib/Dialect/Linalg/TestLinalgRankReduceContractionOps.cpp
    M mlir/test/lib/Dialect/Linalg/TestLinalgTransforms.cpp
    M mlir/test/lib/Dialect/Linalg/TestPadFusion.cpp
    M mlir/test/lib/Dialect/Math/TestAlgebraicSimplification.cpp
    M mlir/test/lib/Dialect/Math/TestExpandMath.cpp
    M mlir/test/lib/Dialect/Math/TestPolynomialApproximation.cpp
    M mlir/test/lib/Dialect/MemRef/TestComposeSubView.cpp
    M mlir/test/lib/Dialect/Mesh/TestOpLowering.cpp
    M mlir/test/lib/Dialect/Mesh/TestReshardingSpmdization.cpp
    M mlir/test/lib/Dialect/Mesh/TestSimplifications.cpp
    M mlir/test/lib/Dialect/NVGPU/TestNVGPUTransforms.cpp
    M mlir/test/lib/Dialect/SCF/TestSCFUtils.cpp
    M mlir/test/lib/Dialect/SCF/TestSCFWrapInZeroTripCheck.cpp
    M mlir/test/lib/Dialect/SCF/TestUpliftWhileToFor.cpp
    M mlir/test/lib/Dialect/Tensor/TestTensorTransforms.cpp
    M mlir/test/lib/Dialect/Test/TestPatterns.cpp
    M mlir/test/lib/Dialect/Test/TestTraits.cpp
    M mlir/test/lib/Dialect/Tosa/TosaTestPasses.cpp
    M mlir/test/lib/Dialect/Vector/TestVectorTransforms.cpp
    M mlir/test/lib/Rewrite/TestPDLByteCode.cpp
    M mlir/test/lib/Tools/PDLL/TestPDLL.cpp
    M mlir/test/lib/Transforms/TestCommutativityUtils.cpp
    M mlir/test/lib/Transforms/TestMakeIsolatedFromAbove.cpp

  Log Message:
  -----------
  [mlir] Enable decoupling two kinds of greedy behavior. (#104649)

The greedy rewriter is used in many different flows and it has a lot of
convenience (work list management, debugging actions, tracing, etc). But
it combines two kinds of greedy behavior 1) how ops are matched, 2)
folding wherever it can.

These are independent forms of greedy and leads to inefficiency. E.g.,
cases where one need to create different phases in lowering and is
required to applying patterns in specific order split across different
passes. Using the driver one ends up needlessly retrying folding/having
multiple rounds of folding attempts, where one final run would have
sufficed.

Of course folks can locally avoid this behavior by just building their
own, but this is also a common requested feature that folks keep on
working around locally in suboptimal ways.

For downstream users, there should be no behavioral change. Updating
from the deprecated should just be a find and replace (e.g., `find ./
-type f -exec sed -i
's|applyPatternsAndFoldGreedily|applyPatternsGreedily|g' {} \;` variety)
as the API arguments hasn't changed between the two.


  Commit: 2ec6174bef4bc9ef3d5cedbffd7169017c9669c3
      https://github.com/llvm/llvm-project/commit/2ec6174bef4bc9ef3d5cedbffd7169017c9669c3
  Author: Vy Nguyen <vyng at google.com>
  Date:   2024-12-20 (Fri, 20 Dec 2024)

  Changed paths:
    R llvm/docs/Telemetry.rst
    M llvm/docs/UserGuides.rst
    R llvm/docs/llvm_telemetry_design.png
    R llvm/include/llvm/Telemetry/Telemetry.h
    M llvm/lib/CMakeLists.txt
    R llvm/lib/Telemetry/CMakeLists.txt
    R llvm/lib/Telemetry/Telemetry.cpp
    M llvm/unittests/CMakeLists.txt
    R llvm/unittests/Telemetry/CMakeLists.txt
    R llvm/unittests/Telemetry/TelemetryTest.cpp

  Log Message:
  -----------
  Revert "[llvm]Add a simple Telemetry framework" (#120769)

Reverts llvm/llvm-project#102323
Reason: broke CI


  Commit: 7739380643718bc912bc05b969e4be525a85c0d2
      https://github.com/llvm/llvm-project/commit/7739380643718bc912bc05b969e4be525a85c0d2
  Author: Yifei Xu <yifei.xu at utexas.edu>
  Date:   2024-12-20 (Fri, 20 Dec 2024)

  Changed paths:
    M mlir/test/mlir-cpu-runner/X86Vector/math-polynomial-approx-avx2.mlir

  Log Message:
  -----------
  Fix integration tests after #120580 (math-polynomial-approx-avx2)


  Commit: 6780ab371ff8ce5e2b08b5fddd75a8296d3debdd
      https://github.com/llvm/llvm-project/commit/6780ab371ff8ce5e2b08b5fddd75a8296d3debdd
  Author: Santanu Das <quic_santdas at quicinc.com>
  Date:   2024-12-20 (Fri, 20 Dec 2024)

  Changed paths:
    M llvm/lib/Target/Hexagon/HexagonTargetMachine.h
    A llvm/test/CodeGen/Hexagon/addrspacecast-crash.ll

  Log Message:
  -----------
  [Hexagon] Add support for addrspacecast lowering (#119195)

This patch adds support for addrspacecast lowering. At the moment, there
are no separate address spaces for Hexagon target, hence this
instruction is treated as a noop.


  Commit: 952c8d305459d3f1218d1ce12c7f20b6a10ba046
      https://github.com/llvm/llvm-project/commit/952c8d305459d3f1218d1ce12c7f20b6a10ba046
  Author: Jonathan Thackray <jonathan.thackray at arm.com>
  Date:   2024-12-20 (Fri, 20 Dec 2024)

  Changed paths:
    M clang/test/Driver/print-enabled-extensions/aarch64-armv9.4-a.c
    M clang/test/Driver/print-enabled-extensions/aarch64-armv9.5-a.c
    M llvm/lib/Target/AArch64/AArch64Features.td

  Log Message:
  -----------
  [AArch64] Enable FEAT_SVE2p1 by default for Armv9.4-A and later (#120753)

The ArmARM says:
```
    "In an Armv9.4 implementation, if FEAT_SVE2 is implemented,
     FEAT_SVE2p1 is implemented."
```
Since FEAT_SVE2 is already enabled for Armv9.0-A and later, then
FEAT_SVE2p1 should also be enabled by default.


  Commit: adfef2a753d9a543ec818a445b2c6d05899cdf3d
      https://github.com/llvm/llvm-project/commit/adfef2a753d9a543ec818a445b2c6d05899cdf3d
  Author: David CARLIER <devnexen at gmail.com>
  Date:   2024-12-20 (Fri, 20 Dec 2024)

  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] ppoll interception. (#120366)


  Commit: f39ecb7b2846af1c113ec50bc4e1f204d18e7d90
      https://github.com/llvm/llvm-project/commit/f39ecb7b2846af1c113ec50bc4e1f204d18e7d90
  Author: David CARLIER <devnexen at gmail.com>
  Date:   2024-12-20 (Fri, 20 Dec 2024)

  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][rtsan] stream based on memory buffer interception. (#120672)


  Commit: 0550c3292b2277399c2ab700cfcbc43e8477826f
      https://github.com/llvm/llvm-project/commit/0550c3292b2277399c2ab700cfcbc43e8477826f
  Author: Alan <ahulambda at gmail.com>
  Date:   2024-12-20 (Fri, 20 Dec 2024)

  Changed paths:
    M llvm/bindings/ocaml/llvm/llvm.ml
    M llvm/bindings/ocaml/llvm/llvm.mli
    M llvm/bindings/ocaml/llvm/llvm_ocaml.c
    M llvm/test/Bindings/OCaml/core.ml

  Log Message:
  -----------
  [OCaml] Add bindings for x86_amx, token, and metadata types (#120638)


  Commit: 14180185026b8ed793cc7dfd037620e5150ccc35
      https://github.com/llvm/llvm-project/commit/14180185026b8ed793cc7dfd037620e5150ccc35
  Author: Qiongsi Wu <274595+qiongsiwu at users.noreply.github.com>
  Date:   2024-12-20 (Fri, 20 Dec 2024)

  Changed paths:
    M clang/docs/ReleaseNotes.rst
    M clang/lib/Parse/Parser.cpp
    A clang/test/Parser/objc-coloncolon.m
    A clang/test/Parser/objcxx-coloncolon.mm

  Log Message:
  -----------
  [clang][ObjectiveC] Fix Parsing the `::` Optional Scope Specifier (#119908)

The parser hangs when processing types/variables prefixed by `::` as an
optional scope specifier. For example,
```
- (instancetype)init:(::A *) foo;
```

The parser should not hang, and it should emit an error. This PR
implements the error check.

rdar://140885078


  Commit: e3157d3f0dc69102013d966345c441f565b2459a
      https://github.com/llvm/llvm-project/commit/e3157d3f0dc69102013d966345c441f565b2459a
  Author: Simon Pilgrim <llvm-dev at redking.me.uk>
  Date:   2024-12-20 (Fri, 20 Dec 2024)

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

  Log Message:
  -----------
  [VectorCombine] foldBitcastShuffle - add debug message for match + cost-comparison

Helps with debugging to show to that the fold found the match, and shows the old + new costs to indicate whether the fold was/wasn't profitable.


  Commit: 82b5bda42c00179fcf101e3ab2c591bda94ada9a
      https://github.com/llvm/llvm-project/commit/82b5bda42c00179fcf101e3ab2c591bda94ada9a
  Author: Simon Pilgrim <llvm-dev at redking.me.uk>
  Date:   2024-12-20 (Fri, 20 Dec 2024)

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

  Log Message:
  -----------
  [VectorCombine] Add "VC: Erasing" debug message to help the log show when dead WorkList instructions are erased.


  Commit: 5bb650345d83669434713146aaa431c1f7ad43d6
      https://github.com/llvm/llvm-project/commit/5bb650345d83669434713146aaa431c1f7ad43d6
  Author: Thurston Dang <thurston at google.com>
  Date:   2024-12-20 (Fri, 20 Dec 2024)

  Changed paths:
    M clang/docs/ReleaseNotes.rst
    M clang/docs/UndefinedBehaviorSanitizer.rst
    M clang/lib/CodeGen/BackendUtil.cpp
    M clang/test/CodeGen/bounds-checking.c
    M llvm/include/llvm/Transforms/Instrumentation/BoundsChecking.h
    M llvm/lib/Passes/PassBuilder.cpp
    M llvm/lib/Passes/PassRegistry.def
    M llvm/lib/Transforms/Instrumentation/BoundsChecking.cpp
    M llvm/test/Instrumentation/BoundsChecking/many-trap.ll
    M llvm/test/Instrumentation/BoundsChecking/runtimes.ll
    M llvm/test/Instrumentation/BoundsChecking/simple-32.ll
    M llvm/test/Instrumentation/BoundsChecking/simple.ll
    M llvm/test/Instrumentation/BoundsChecking/ubsan-unique-traps.ll

  Log Message:
  -----------
  Remove -bounds-checking-unique-traps (replace with -fno-sanitize-merge=local-bounds) (#120682)

#120613 removed -ubsan-unique-traps and replaced it with
-fno-sanitize-merge (introduced in #120511), which allows fine-grained
control of which UBSan checks to prevent merging. This analogous patch
removes -bound-checking-unique-traps, and allows it to be controlled via
-fno-sanitize-merge=local-bounds.

Most of this patch is simply plumbing through the compiler flags into
the bounds checking pass.

Note: this patch subtly changes -fsanitize-merge (the default) to also
include -fsanitize-merge=local-bounds. This is different from the
previous behavior, where -fsanitize-merge (or the old
-ubsan-unique-traps) did not affect local-bounds (requiring the separate
-bounds-checking-unique-traps). However, we argue that the new behavior
is more intuitive.

Removing -bounds-checking-unique-traps and merging its functionality
into -fsanitize-merge breaks backwards compatibility; we hope that this
is acceptable since '-mllvm -bounds-checking-unique-traps' was an
experimental flag.


  Commit: 5e22597aa01d719b7fed79c45cdf240ed196bd68
      https://github.com/llvm/llvm-project/commit/5e22597aa01d719b7fed79c45cdf240ed196bd68
  Author: Guy David <49722543+guy-david at users.noreply.github.com>
  Date:   2024-12-20 (Fri, 20 Dec 2024)

  Changed paths:
    M llvm/lib/Target/AArch64/AArch64InstrFormats.td
    M llvm/lib/Target/AArch64/AArch64RegisterInfo.td
    M llvm/lib/Target/AArch64/AsmParser/AArch64AsmParser.cpp
    M llvm/test/MC/AArch64/neon-diagnostics.s

  Log Message:
  -----------
  [AArch64] Verify consecutive vector registers in tbl, tbx (#120262)

Table lookup instructions expect the vectors that define the table
itself to be consecutive (wraparound allowed).
Relevant documentation:

https://developer.arm.com/documentation/100069/0606/SIMD-Vector-Instructions/TBL--vector-


  Commit: 3bf91ad2a9c75dd045961e45fdd830fd7b7a5455
      https://github.com/llvm/llvm-project/commit/3bf91ad2a9c75dd045961e45fdd830fd7b7a5455
  Author: Shubham Sandeep Rastogi <srastogi22 at apple.com>
  Date:   2024-12-20 (Fri, 20 Dec 2024)

  Changed paths:
    A llvm/include/llvm/CodeGen/DroppedVariableStatsMIR.h
    M llvm/include/llvm/CodeGen/MachineFunctionPass.h
    M llvm/lib/CodeGen/CMakeLists.txt
    A llvm/lib/CodeGen/DroppedVariableStatsMIR.cpp
    M llvm/lib/CodeGen/MachineFunctionPass.cpp
    M llvm/unittests/CodeGen/CMakeLists.txt
    A llvm/unittests/CodeGen/DroppedVariableStatsMIRTest.cpp

  Log Message:
  -----------
  Add a pass to collect dropped var stats for MIR (#120780)

This patch uses the DroppedVariableStats class to add dropped variable
statistics for MIR passes.

Reland 1c082c9cd12efaa67a32c5da89a328c458ed51c5


  Commit: 5162fde6ee6565d39511e451c04865e7b53bcdcc
      https://github.com/llvm/llvm-project/commit/5162fde6ee6565d39511e451c04865e7b53bcdcc
  Author: Ryosuke Niwa <rniwa at webkit.org>
  Date:   2024-12-20 (Fri, 20 Dec 2024)

  Changed paths:
    M clang/lib/StaticAnalyzer/Checkers/WebKit/UncountedLambdaCapturesChecker.cpp
    A clang/test/Analysis/Checkers/WebKit/uncounted-lambda-captures-find-lambda-crash.cpp

  Log Message:
  -----------
  [webkit.UncountedLambdaCapturesChecker] Fix a nullptr deference. (#120702)

Added a nullptr check.


  Commit: 9901906035c2be776674b25a3357b37a7dbbac68
      https://github.com/llvm/llvm-project/commit/9901906035c2be776674b25a3357b37a7dbbac68
  Author: Kazu Hirata <kazu at google.com>
  Date:   2024-12-20 (Fri, 20 Dec 2024)

  Changed paths:
    M mlir/lib/Conversion/GPUCommon/GPUToLLVMConversion.cpp

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

This patch fixes:

  mlir/lib/Conversion/GPUCommon/GPUToLLVMConversion.cpp:535:13: error:
  'applyPatternsAndFoldGreedily' is deprecated: Use
  applyPatternsGreedily() instead [-Werror,-Wdeprecated-declarations]


  Commit: 0575815b70b486240ace728a33f756cea8fe58fa
      https://github.com/llvm/llvm-project/commit/0575815b70b486240ace728a33f756cea8fe58fa
  Author: Kazu Hirata <kazu at google.com>
  Date:   2024-12-20 (Fri, 20 Dec 2024)

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

  Log Message:
  -----------
  [TableGen] Avoid repeated hash lookups (NFC) (#120681)


  Commit: 89cb528f076dc6246ca2883054be5f6237473c83
      https://github.com/llvm/llvm-project/commit/89cb528f076dc6246ca2883054be5f6237473c83
  Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
  Date:   2024-12-20 (Fri, 20 Dec 2024)

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

  Log Message:
  -----------
  [gn build] Port 3bf91ad2a9c7


  Commit: 3e13acfbf4c93067d5ee5dc1f6e0c6e0fef9297f
      https://github.com/llvm/llvm-project/commit/3e13acfbf4c93067d5ee5dc1f6e0c6e0fef9297f
  Author: Valentin Clement (バレンタイン クレメン) <clementval at gmail.com>
  Date:   2024-12-20 (Fri, 20 Dec 2024)

  Changed paths:
    M flang/lib/Lower/IO.cpp
    M flang/lib/Optimizer/CodeGen/CodeGen.cpp
    M flang/test/Fir/CUDA/cuda-compiler-generated-names.mlir
    M flang/test/Lower/io-derived-type.f90
    M flang/test/Lower/namelist.f90

  Log Message:
  -----------
  [flang][cuda] Make default.nonTbpDefinedIoTable compiler generated (#120686)

`default.nonTbpDefinedIoTable` is a special global defined for IO that
doesn't follow the mangling scheme and is then not handle correctly in
the `CompilerGeneratedNames` pass. Update how it is generated with
doGenerated so it can be handle without special handling.

Also do not generate comdat in gpu module as the current code is not
handling nested module correctly.


  Commit: fecf1397e32a89a928ebeeab07bfc7e38a318827
      https://github.com/llvm/llvm-project/commit/fecf1397e32a89a928ebeeab07bfc7e38a318827
  Author: Kazu Hirata <kazu at google.com>
  Date:   2024-12-20 (Fri, 20 Dec 2024)

  Changed paths:
    M mlir/lib/Dialect/Tensor/IR/TensorOps.cpp
    M mlir/lib/Dialect/Tensor/Transforms/BufferizableOpInterfaceImpl.cpp
    M mlir/lib/Dialect/Tensor/Transforms/IndependenceTransforms.cpp

  Log Message:
  -----------
  [Tensor] Migrate away from PointerUnion::{is,get} (NFC) (#120679)

Note that PointerUnion::{is,get} have 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>

I'm not touching PointerUnion::dyn_cast for now because it's a bit
complicated; we could blindly migrate it to dyn_cast_if_present, but
we should probably use dyn_cast when the operand is known to be
non-null.


  Commit: 21a6dbd400ffd68abe36161576d81d0646f1122d
      https://github.com/llvm/llvm-project/commit/21a6dbd400ffd68abe36161576d81d0646f1122d
  Author: Jacek Caban <jacek at codeweavers.com>
  Date:   2024-12-20 (Fri, 20 Dec 2024)

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

  Log Message:
  -----------
  [LLD][COFF] Report undefined EC symbols on ARM64X (#120311)


  Commit: 399c3a78a2577c6fc68bba7f301901a0e66e87ed
      https://github.com/llvm/llvm-project/commit/399c3a78a2577c6fc68bba7f301901a0e66e87ed
  Author: Ziqing Luo <ziqing at udel.edu>
  Date:   2024-12-20 (Fri, 20 Dec 2024)

  Changed paths:
    M clang/include/clang/AST/Stmt.h

  Log Message:
  -----------
  [clang][NFC] Fix the static assertion in 4797437 (#120643)

In the previous commit 4797437463e63ee289a1ff1904cfb7b2fe6cb4c2, I used
`llvm::isInt<NumStmtBits>(StmtClass::LAST##Class)` to test if
`StmtClass` is strictly bounded by the an unsigned integer of
'NumStmtBits'. That is incorrect as `llvm::isInt` tests for signed
integers. This commit fixes it.

(rdar://141555357)


  Commit: 1b12ad124ec9eb83ca7d1511b12e1dc3e1c5e06a
      https://github.com/llvm/llvm-project/commit/1b12ad124ec9eb83ca7d1511b12e1dc3e1c5e06a
  Author: Craig Topper <craig.topper at sifive.com>
  Date:   2024-12-20 (Fri, 20 Dec 2024)

  Changed paths:
    M llvm/include/llvm/IR/Value.h

  Log Message:
  -----------
  [IR] Correct Value::use_iterator::value_type. (#120609)

operator* for this iterator returns Use& so I think the value_type
should be Use not Use*.

Noticed while comparing with SDNode::use_iterator.


  Commit: d2b8acc10464e1f0f6e043f1a92cefc2f3b9d30f
      https://github.com/llvm/llvm-project/commit/d2b8acc10464e1f0f6e043f1a92cefc2f3b9d30f
  Author: Craig Topper <craig.topper at sifive.com>
  Date:   2024-12-20 (Fri, 20 Dec 2024)

  Changed paths:
    M llvm/lib/Target/RISCV/RISCVInsertVSETVLI.cpp
    A llvm/test/CodeGen/RISCV/rvv/vsetvli-insert-zve64f.mir

  Log Message:
  -----------
  [RISCV] Swap the order of SEWGreaterThanOrEqualAndLessThan64 and SEWGreaterThanOrEqual. (#120649)

SEWGreaterThanOrEqualAndLessThan64 is a stricter constraint so it should
have a higher value than SEWGreaterThanOrEqual.

Found by our random test generator.


  Commit: c7451ffcb94a1fe53b703e9fc3204bf6cda610a9
      https://github.com/llvm/llvm-project/commit/c7451ffcb94a1fe53b703e9fc3204bf6cda610a9
  Author: Teresa Johnson <tejohnson at google.com>
  Date:   2024-12-20 (Fri, 20 Dec 2024)

  Changed paths:
    M llvm/lib/Transforms/IPO/MemProfContextDisambiguation.cpp
    M llvm/lib/Transforms/Instrumentation/MemProfiler.cpp
    M llvm/test/ThinLTO/X86/memprof-missing-callsite.ll
    M llvm/test/Transforms/PGOProfile/memprof.ll

  Log Message:
  -----------
  [MemProf] Supporting hinting mostly-cold allocations after cloning (#120633)

Optionally unconditionally hint allocations as cold or not cold during
the cloning step if the percentage of bytes allocated is at least that
of the given threshold. This is similar to PR120301 which supports this
during matching, but enables the same behavior during cloning, to reduce
the false positives that can be addressed by cloning at the cost of
carrying the additional size metadata/summary.


  Commit: 6ab8401f53deddbd79f930ba2bec2f824c9567e3
      https://github.com/llvm/llvm-project/commit/6ab8401f53deddbd79f930ba2bec2f824c9567e3
  Author: Luke Quinn <quic_lquinn at quicinc.com>
  Date:   2024-12-20 (Fri, 20 Dec 2024)

  Changed paths:
    M llvm/lib/Target/RISCV/GISel/RISCVInstructionSelector.cpp
    M llvm/lib/Target/RISCV/RISCVInstrInfo.td
    A llvm/test/CodeGen/RISCV/GlobalISel/add-imm.ll

  Log Message:
  -----------
  [RISCV][GISel] Port AddiPair optimization (#120463)

Check if (add r, imm) can be optimized to (ADDI (ADDI r, imm0), imm1),
in which imm = imm0 + imml and both imm0 and imm1 are simm12. We make
imm0 as large as possible and imm1 as small as possible so that we might
be able to use c.addi for the small immediate.


  Commit: 0c629206b0b3e1ddd64104a56c7a573a55e8944a
      https://github.com/llvm/llvm-project/commit/0c629206b0b3e1ddd64104a56c7a573a55e8944a
  Author: Nuno Lopes <nuno.lopes at tecnico.ulisboa.pt>
  Date:   2024-12-20 (Fri, 20 Dec 2024)

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

  Log Message:
  -----------
  undef reviewer: tweak the regex so it doesn't warn about #undef


  Commit: 8b37c1c71bf66274251db35b742f8f4013be2f52
      https://github.com/llvm/llvm-project/commit/8b37c1c71bf66274251db35b742f8f4013be2f52
  Author: Ikhlas Ajbar <iajbar at quicinc.com>
  Date:   2024-12-20 (Fri, 20 Dec 2024)

  Changed paths:
    M clang/include/clang/Basic/BuiltinsHexagon.def
    M clang/include/clang/Driver/Options.td
    M clang/lib/Basic/Targets/Hexagon.cpp
    M clang/test/Driver/hexagon-toolchain-elf.c
    M clang/test/Misc/target-invalid-cpu-note/hexagon.c
    M clang/test/Preprocessor/hexagon-predefines.c
    M llvm/include/llvm/BinaryFormat/ELF.h
    M llvm/lib/Object/ELFObjectFile.cpp
    M llvm/lib/ObjectYAML/ELFYAML.cpp
    M llvm/lib/Target/Hexagon/Hexagon.td
    M llvm/lib/Target/Hexagon/HexagonDepArch.h
    M llvm/lib/Target/Hexagon/HexagonDepArch.td
    M llvm/lib/Target/Hexagon/HexagonDepIICHVX.td
    M llvm/lib/Target/Hexagon/HexagonDepIICScalar.td
    M llvm/lib/Target/Hexagon/HexagonSchedule.td
    A llvm/lib/Target/Hexagon/HexagonScheduleV75.td
    M llvm/lib/Target/Hexagon/HexagonSubtarget.h
    M llvm/lib/Target/Hexagon/MCTargetDesc/HexagonMCELFStreamer.cpp
    M llvm/lib/Target/Hexagon/MCTargetDesc/HexagonMCTargetDesc.cpp
    M llvm/test/MC/Hexagon/arch-support.s
    A llvm/test/MC/Hexagon/v75_arch.s

  Log Message:
  -----------
  [Hexagon] Add V75 support to compiler and assembler (#120773)

This patch introduces support for the Hexagon V75 architecture. It
includes instruction formats, definitions, encodings, scheduling
classes, and builtins/intrinsics.


  Commit: 8ae8a905855ca1b07a72059d8225ab1f9cae65dc
      https://github.com/llvm/llvm-project/commit/8ae8a905855ca1b07a72059d8225ab1f9cae65dc
  Author: David Olsen <dolsen at nvidia.com>
  Date:   2024-12-20 (Fri, 20 Dec 2024)

  Changed paths:
    M clang/include/clang/CIR/CMakeLists.txt
    M clang/include/clang/CIR/Dialect/Builder/CIRBaseBuilder.h
    M clang/include/clang/CIR/Dialect/IR/CIRTypes.h
    M clang/include/clang/CIR/Dialect/IR/CIRTypes.td
    A clang/include/clang/CIR/Interfaces/CIRFPTypeInterface.h
    A clang/include/clang/CIR/Interfaces/CIRFPTypeInterface.td
    A clang/include/clang/CIR/Interfaces/CMakeLists.txt
    M clang/lib/CIR/CMakeLists.txt
    M clang/lib/CIR/CodeGen/CIRGenBuilder.h
    M clang/lib/CIR/CodeGen/CIRGenModule.cpp
    M clang/lib/CIR/CodeGen/CIRGenTypeCache.h
    M clang/lib/CIR/CodeGen/CIRGenTypes.cpp
    M clang/lib/CIR/CodeGen/CIRGenTypes.h
    M clang/lib/CIR/CodeGen/CMakeLists.txt
    M clang/lib/CIR/Dialect/IR/CIRTypes.cpp
    M clang/lib/CIR/Dialect/IR/CMakeLists.txt
    A clang/lib/CIR/Interfaces/CIRFPTypeInterface.cpp
    A clang/lib/CIR/Interfaces/CMakeLists.txt
    M clang/test/CIR/global-var-simple.cpp

  Log Message:
  -----------
  [CIR] floating-point, pointer, and function types (#120484)

Upstream ClangIR support for `void` type, floating-point types, pointer
types, and function types.

Floating-point support is missing the IBM double-double format, because
that hasn't been implemented in the incubator project yet.

Pointer types do not yet support address spaces.

Function type support includes only the return type and the parameter
types. The many other properties and attributes of function types will
be upstreamed later.


  Commit: 3f89279609526270894f26317f7c3ccf04e0f16f
      https://github.com/llvm/llvm-project/commit/3f89279609526270894f26317f7c3ccf04e0f16f
  Author: Srinivasa R <srinivasar at nvidia.com>
  Date:   2024-12-20 (Fri, 20 Dec 2024)

  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/wgmma-sm90a-fence.ll

  Log Message:
  -----------
  [NVPTX] Add intrinsics for wgmma.fence PTX instructions (#120523)

This PR adds NVVM intrinsics and NVPTX codegen for:

-
[wgmma.fence.sync.aligned](https://docs.nvidia.com/cuda/parallel-thread-execution/#asynchronous-warpgroup-level-matrix-instructions-wgmma-fence)
-
[wgmma.commit_group.sync.aligned](https://docs.nvidia.com/cuda/parallel-thread-execution/#asynchronous-warpgroup-level-matrix-instructions-wgmma-commit-group)
-
[wgmma.wait_group.sync.aligned](https://docs.nvidia.com/cuda/parallel-thread-execution/#asynchronous-warpgroup-level-matrix-instructions-wgmma-wait-group)


  Commit: e934a39e01b9eedd8091cc1505be3a4ad5cad12b
      https://github.com/llvm/llvm-project/commit/e934a39e01b9eedd8091cc1505be3a4ad5cad12b
  Author: Petr Penzin <ppenzin at tenstorrent.com>
  Date:   2024-12-20 (Fri, 20 Dec 2024)

  Changed paths:
    M llvm/lib/Target/RISCV/RISCV.td
    M llvm/lib/Target/RISCV/RISCVProcessors.td
    A llvm/lib/Target/RISCV/RISCVSchedTTAscalonD8.td
    A llvm/test/tools/llvm-mca/RISCV/tt-ascalon-d8/fp.s
    A llvm/test/tools/llvm-mca/RISCV/tt-ascalon-d8/fx.s

  Log Message:
  -----------
  [RISC-V] Base scheduling model for tt-ascalon-d8 (#120160)

First part of tt-ascalon-d8 scheduling model, only containing scalar
ops. Scheduling for vector instructions will be added in a follow-up
patch.

---------

Co-authored-by: Anton Blanchard <antonb at tenstorrent.com>
Co-authored-by: Pengcheng Wang <wangpengcheng.pp at bytedance.com>


  Commit: bc8fa9c4439c7fd51d95845006f7d650c037c5ec
      https://github.com/llvm/llvm-project/commit/bc8fa9c4439c7fd51d95845006f7d650c037c5ec
  Author: Owen Anderson <resistor at mac.com>
  Date:   2024-12-21 (Sat, 21 Dec 2024)

  Changed paths:
    M llvm/include/llvm/Transforms/Utils/BuildLibCalls.h
    M llvm/lib/Transforms/Scalar/DeadStoreElimination.cpp
    M llvm/lib/Transforms/Utils/BuildLibCalls.cpp
    M llvm/lib/Transforms/Utils/SimplifyLibCalls.cpp
    R llvm/test/Transforms/InstCombine/printf-addrspace.ll

  Log Message:
  -----------
  Revert "SimplifyLibCalls: Use default globals address space when building new global strings. (#118729)" (#119616)

This reverts commit cfa582e8aaa791b52110791f5e6504121aaf62bf.


  Commit: ef42e9c59aae112031d6ccbbc560d559730507c8
      https://github.com/llvm/llvm-project/commit/ef42e9c59aae112031d6ccbbc560d559730507c8
  Author: Louis Dionne <ldionne.2 at gmail.com>
  Date:   2024-12-20 (Fri, 20 Dec 2024)

  Changed paths:
    R libcxx/test/benchmarks/allocation.bench.cpp

  Log Message:
  -----------
  [libc++] Remove allocation.bench.cpp (#120767)

That benchmark isn't really useful, since it doesn't benchmark anything
from libc++ (besides `operator new`). The implementation of the
benchmark also has serious problems like the fact that it allocates an
unknown amount of memory without deallocating it.


  Commit: 131acb07d814fabcc969dcaa63f4f352cd529267
      https://github.com/llvm/llvm-project/commit/131acb07d814fabcc969dcaa63f4f352cd529267
  Author: Ziqing Luo <ziqing_luo at apple.com>
  Date:   2024-12-20 (Fri, 20 Dec 2024)

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

  Log Message:
  -----------
  [clang][NFC] Move static assert on StmtClass bounds from header to source

A follow-up change to PR #120341 & #120643.  Address @nikic's concern:
https://github.com/llvm/llvm-project/pull/120341#discussion_r1893822845


  Commit: df8efbdbbfcde53b0f9f4f8ceb16b50eecd6e6d3
      https://github.com/llvm/llvm-project/commit/df8efbdbbfcde53b0f9f4f8ceb16b50eecd6e6d3
  Author: Florian Hahn <flo at fhahn.com>
  Date:   2024-12-20 (Fri, 20 Dec 2024)

  Changed paths:
    M llvm/lib/Analysis/ScalarEvolution.cpp
    M llvm/test/Analysis/LoopAccessAnalysis/nssw-predicate-implied.ll
    M llvm/test/Analysis/LoopAccessAnalysis/wrapping-pointer-versioning.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/X86/cost-model.ll
    M llvm/test/Transforms/LoopVectorize/X86/pr72969.ll
    M llvm/test/Transforms/LoopVectorize/no-fold-tail-by-masking-iv-external-uses.ll
    M llvm/test/Transforms/LoopVectorize/scev-exit-phi-invalidation.ll
    M llvm/test/Transforms/LoopVectorize/scev-predicate-reasoning.ll
    M llvm/test/Transforms/LoopVersioning/wrapping-pointer-versioning.ll

  Log Message:
  -----------
  [SCEV] Remove existing predicates implied by newly added ones. (#118185)

When adding a new predicate to a union predicate, some of the existing
predicates may be implied by the new predicate. Remove any existing
predicates that are already implied by the new predicate.

Depends on https://github.com/llvm/llvm-project/pull/118184 to show the
main benefit.

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


  Commit: 7a4b3b4927bd92e8494dca9dffaf5aeeca4658ba
      https://github.com/llvm/llvm-project/commit/7a4b3b4927bd92e8494dca9dffaf5aeeca4658ba
  Author: Helena Kotas <hekotas at microsoft.com>
  Date:   2024-12-20 (Fri, 20 Dec 2024)

  Changed paths:
    M clang/lib/Sema/HLSLExternalSemaSource.cpp
    M clang/test/AST/HLSL/StructuredBuffers-AST.hlsl
    M clang/test/CodeGenHLSL/builtins/StructuredBuffers-methods-lib.hlsl
    M clang/test/CodeGenHLSL/builtins/StructuredBuffers-methods-ps.hlsl

  Log Message:
  -----------
  [HLSL] Add Load(int) method on structured buffers (#120663)

Adds `T Load(int)` method on `StructuredBuffer`, `RWStructuredBuffer`
and `RasterizerOrderedStructuredBuffer`.

Uses the existing `addLoadMethods` in HLSLExternalSemalSource so most of
this change is just tests.

Fixes #112977


  Commit: d8e10d13d7e31cb1695eb65f02696e682ec97097
      https://github.com/llvm/llvm-project/commit/d8e10d13d7e31cb1695eb65f02696e682ec97097
  Author: Thurston Dang <thurston at google.com>
  Date:   2024-12-20 (Fri, 20 Dec 2024)

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

  Log Message:
  -----------
  [rtsan] Fix-forward TEST(TestRtsanInterceptors, PpollDiesWhenRealtime)

Buildbot breakage:
home/b/sanitizer-aarch64-linux/build/llvm-project/compiler-rt/lib/rtsan/tests/rtsan_test_interceptors_posix.cpp:1090:19: error: missing field 'tv_nsec' initializer [-Werror,-Wmissing-field-initializers]
 1090 |   timespec ts = {0};

introduced by https://github.com/llvm/llvm-project/pull/120366/files


  Commit: d9cc37fea7b02954079ca59e8f7f28cffacc7e9e
      https://github.com/llvm/llvm-project/commit/d9cc37fea7b02954079ca59e8f7f28cffacc7e9e
  Author: Adrian Prantl <aprantl at apple.com>
  Date:   2024-12-20 (Fri, 20 Dec 2024)

  Changed paths:
    M lldb/include/lldb/API/SBError.h
    M lldb/include/lldb/API/SBStructuredData.h
    M lldb/include/lldb/Utility/DiagnosticsRendering.h
    M lldb/include/lldb/Utility/Status.h
    M lldb/source/API/SBError.cpp
    M lldb/source/Interpreter/CommandReturnObject.cpp
    M lldb/source/Utility/DiagnosticsRendering.cpp
    M lldb/source/Utility/Status.cpp
    M lldb/test/API/commands/expression/diagnostics/TestExprDiagnostics.py
    M lldb/test/API/commands/frame/var/TestFrameVar.py

  Log Message:
  -----------
  [lldb] Expose structured errors in SBError (#120784)

Building on top of previous work that exposed expression diagnostics via
SBCommandReturnObject, this patch generalizes the support to expose any
SBError as machine-readable structured data. One use-case of this is to
allow IDEs to better visualize expression diagnostics.

rdar://139997604


  Commit: 8fce5d96a75d8c6b018e54fd4005bda01c377b56
      https://github.com/llvm/llvm-project/commit/8fce5d96a75d8c6b018e54fd4005bda01c377b56
  Author: Florian Hahn <flo at fhahn.com>
  Date:   2024-12-20 (Fri, 20 Dec 2024)

  Changed paths:
    M llvm/test/Analysis/LoopAccessAnalysis/wrapping-pointer-versioning.ll

  Log Message:
  -----------
  [SCEV] Update changed test after df8efbdbb.

Test needed updating due to changes on main since branch was tested.


  Commit: f82bb3d496d6b8b932ce34497ba7970b519915f6
      https://github.com/llvm/llvm-project/commit/f82bb3d496d6b8b932ce34497ba7970b519915f6
  Author: Florian Hahn <flo at fhahn.com>
  Date:   2024-12-20 (Fri, 20 Dec 2024)

  Changed paths:
    M llvm/test/Transforms/LoopVersioning/wrapping-pointer-versioning.ll

  Log Message:
  -----------
  [SCEV] Update changed test after df8efbdbb (take 2).

Test needed updating due to changes on main since branch was tested.


  Commit: 81831ef3e7804b9637aff119c1adde661d10fb78
      https://github.com/llvm/llvm-project/commit/81831ef3e7804b9637aff119c1adde661d10fb78
  Author: Valentin Clement (バレンタイン クレメン) <clementval at gmail.com>
  Date:   2024-12-20 (Fri, 20 Dec 2024)

  Changed paths:
    M flang/lib/Optimizer/CodeGen/CodeGen.cpp
    M flang/test/Fir/CUDA/cuda-code-gen.mlir

  Log Message:
  -----------
  [flang][cuda] Correctly allocate descriptor in managed memory when reboxing (#120795)

Reboxing might create a new in memory descriptor. If this one was
allocate with managed memory, allocate the new one in managed memory as
well.


  Commit: e650ac1654c011bd0bdabd72f2c7b8ceefa9f709
      https://github.com/llvm/llvm-project/commit/e650ac1654c011bd0bdabd72f2c7b8ceefa9f709
  Author: Valentin Clement (バレンタイン クレメン) <clementval at gmail.com>
  Date:   2024-12-20 (Fri, 20 Dec 2024)

  Changed paths:
    M flang/include/flang/Runtime/CUDA/descriptor.h
    M flang/lib/Optimizer/CodeGen/CodeGen.cpp
    M flang/lib/Optimizer/Transforms/CUFOpConversion.cpp
    M flang/runtime/CUDA/descriptor.cpp
    M flang/test/Fir/CUDA/cuda-allocate.fir
    M flang/test/Fir/CUDA/cuda-code-gen.mlir
    M flang/unittests/Runtime/CUDA/AllocatorCUF.cpp

  Log Message:
  -----------
  [flang][cuda][NFC] Fix typo in CUFAllocDescriptor (#120797)

Missing `r` in the function name.


  Commit: 994457f81ffd95531eff07e08a0fea42397b80d2
      https://github.com/llvm/llvm-project/commit/994457f81ffd95531eff07e08a0fea42397b80d2
  Author: Chris White <chriswhiteiodev at gmail.com>
  Date:   2024-12-20 (Fri, 20 Dec 2024)

  Changed paths:
    M clang/docs/ReleaseNotes.rst
    M clang/include/clang/Driver/Options.td
    M clang/test/Driver/cl-options.c
    A clang/test/Driver/dxc_options.hlsl
    M clang/test/Driver/unknown-arg-drivermodes.test

  Log Message:
  -----------
  [Clang-CL][DXC] Expose -fdiagnostic-color= to clang-cl and clang-dxc (#120644)

Exposing `-fdiagnostic-color=` to clang-cl and clang-dxc.
`-fcolor-diagnostics` and `-fno-color-diagnostics` are already allowed
in both of these and `-fdiagnostics-color=` allows one additional value,
`auto`.

I've added the tests for clang-cl to `cl-options.c` as per the comments
in the issue linked below. I couldn't finding a suitable existing file
to add the clang-dxc tests to so I've created a new one.

Resolves #119184


  Commit: 78ab77199118414aad8632d990bf73aca3d16ff8
      https://github.com/llvm/llvm-project/commit/78ab77199118414aad8632d990bf73aca3d16ff8
  Author: Alexey Bataev <a.bataev at outlook.com>
  Date:   2024-12-20 (Fri, 20 Dec 2024)

  Changed paths:
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-shuffle-exact-vlen.ll

  Log Message:
  -----------
  [RISCV][NFC]Add more test for shuffles with exact vlen, NFC


  Commit: 415cfaf339dc4383acd44248584bcc6376213c8d
      https://github.com/llvm/llvm-project/commit/415cfaf339dc4383acd44248584bcc6376213c8d
  Author: Valentin Clement (バレンタイン クレメン) <clementval at gmail.com>
  Date:   2024-12-20 (Fri, 20 Dec 2024)

  Changed paths:
    M flang/include/flang/Runtime/CUDA/descriptor.h
    M flang/lib/Optimizer/Transforms/CUFOpConversion.cpp
    M flang/runtime/CUDA/descriptor.cpp
    M flang/test/Fir/CUDA/cuda-allocate.fir
    M flang/unittests/Runtime/CUDA/AllocatorCUF.cpp

  Log Message:
  -----------
  [flang][cuda][NFC] Fix type in CUFFreeDescriptor (#120799)


  Commit: c1e7e4500c6e3b921f5e0cda8ba8d8d66e086db6
      https://github.com/llvm/llvm-project/commit/c1e7e4500c6e3b921f5e0cda8ba8d8d66e086db6
  Author: Malek Ben Slimane <malek.ben.slimane at sap.com>
  Date:   2024-12-20 (Fri, 20 Dec 2024)

  Changed paths:
    M clang/docs/ReleaseNotes.rst
    M clang/docs/ThreadSafetyAnalysis.rst
    M clang/include/clang/Analysis/Analyses/ThreadSafety.h
    M clang/include/clang/Basic/Attr.td
    M clang/include/clang/Basic/DiagnosticSemaKinds.td
    M clang/lib/Analysis/ThreadSafety.cpp
    M clang/lib/Sema/AnalysisBasedWarnings.cpp
    M clang/lib/Sema/SemaDeclAttr.cpp
    M clang/test/SemaCXX/warn-thread-safety-analysis.cpp
    M clang/test/SemaCXX/warn-thread-safety-parsing.cpp

  Log Message:
  -----------
  Thread Safety Analysis: Support passing scoped locks between functions with appropriate annotations (#110523)

This is helpful when multiple functions operate on the same
capabilities, but we still want to use scoped lockable types for
readability and exception safety.
- Introduce support for thread safety annotations on function parameters
  marked with the 'scoped_lockable' attribute.
- Add semantic checks for annotated function parameters, ensuring
  correct usage.
- Enhance the analysis to recognize and handle parameters annotated for
  thread safety, extending the scope of analysis to track these across
  function boundries.
- Verify that the underlying mutexes of function arguments match the
  expectations set by the annotations.

Limitation: This does not work when the attribute arguments are class
members, because attributes on function parameters are parsed
differently from attributes on functions.


  Commit: e5de2a2df4f983e1db83deaaa1d21457c922404f
      https://github.com/llvm/llvm-project/commit/e5de2a2df4f983e1db83deaaa1d21457c922404f
  Author: Congcong Cai <congcongcai0907 at 163.com>
  Date:   2024-12-21 (Sat, 21 Dec 2024)

  Changed paths:
    M clang-tools-extra/clang-tidy/ClangTidy.cpp
    M clang-tools-extra/clang-tidy/ClangTidy.h
    M clang-tools-extra/clang-tidy/tool/ClangTidyMain.cpp

  Log Message:
  -----------
  [clang-tidy][NFC] extract options verify to separately function (#120768)


  Commit: adf0c817f3eb0afc2c9ccc64c806acc7d6c14cd8
      https://github.com/llvm/llvm-project/commit/adf0c817f3eb0afc2c9ccc64c806acc7d6c14cd8
  Author: Kazu Hirata <kazu at google.com>
  Date:   2024-12-20 (Fri, 20 Dec 2024)

  Changed paths:
    M llvm/include/llvm/Transforms/Instrumentation/MemProfiler.h
    M llvm/lib/Transforms/Instrumentation/MemProfiler.cpp
    A llvm/test/Transforms/PGOProfile/memprof_undrift_missing_leaf.ll

  Log Message:
  -----------
  [memprof] Undrift MemProf profile even when some frames are missing (#120500)

This patch makes the MemProf undrifting process a little more lenient.
Consider an inlined call hierarchy:

  foo -> bar -> ::new

If bar tail-calls ::new, the profile appears to indicate that foo
directly calls ::new.  This is a problem because the perceived call
hierarchy in the profile looks different from what we can obtain from
the inline stack in the IR.

Recall that undrifting works by constructing and comparing a list of
direct calls from the profile and that from the IR.  This patch
modifies the construction of the latter.  Specifically, if foo calls
bar in the IR, but bar is missing the profile, we pretend that foo
directly calls some heap allocation function.  We apply this
transformation only in the inline stack leading to some heap
allocation function.


  Commit: 96839a47209c202b60c4164a2acc34bd755f6308
      https://github.com/llvm/llvm-project/commit/96839a47209c202b60c4164a2acc34bd755f6308
  Author: alx32 <103613512+alx32 at users.noreply.github.com>
  Date:   2024-12-20 (Fri, 20 Dec 2024)

  Changed paths:
    M llvm/lib/DebugInfo/GSYM/GsymCreator.cpp
    M llvm/test/tools/llvm-gsymutil/ARM_AArch64/macho-gsym-merged-callsites-dsym.yaml

  Log Message:
  -----------
  [llvm-gsymutil] Ensure stable ordering of merged functions (#120796)

Previously, the test
`llvm/test/tools/llvm-gsymutil/ARM_AArch64/macho-gsym-merged-callsites-dsym.yaml`
[was disabled](https://github.com/llvm/llvm-project/pull/119957/files)
due to failing on Linux.

The issue is that the merged functions appear in a different order in
the final produced `gSYM`.
To ensure deterministic ordering of merged functions, we change the
sorting of functions to use the `stable_sort` algorithm. Before merged
functions, this was not an issue as the address is used as a comparator
in the sorting algorithm so there was no chance of two functions testing
as identical according to the comparator.

Confirmed that test now passes locally with
`-DLLVM_ENABLE_EXPENSIVE_CHECKS=ON`.


  Commit: 6ecedb05b0d320543968843159b1b29233b03fc7
      https://github.com/llvm/llvm-project/commit/6ecedb05b0d320543968843159b1b29233b03fc7
  Author: Alexey Samsonov <vonosmas at gmail.com>
  Date:   2024-12-20 (Fri, 20 Dec 2024)

  Changed paths:
    M libc/test/src/math/smoke/CanonicalizeTest.h
    M libc/test/src/math/smoke/FModTest.h

  Log Message:
  -----------
  [libc] Make a couple of math smoke tests more robust. (#120808)

Make sure to clear out all FE_ALL_EXCEPT bits both before and after
invoking function under test -- otherwise the very first check for the
exception bits in the unit test may fail due to bits set prior to test
invocation.


  Commit: 44514316bd5ef656076b6baaf6bccb298d98f0ea
      https://github.com/llvm/llvm-project/commit/44514316bd5ef656076b6baaf6bccb298d98f0ea
  Author: Sergey Barannikov <barannikov88 at gmail.com>
  Date:   2024-12-21 (Sat, 21 Dec 2024)

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

  Log Message:
  -----------
  [TableGen][GISel] Delete unused `Src` arguments (NFC) (#120445)

The last uses were removed in #120332 and #120426.

When emitting renderers, we shouldn't look at the source DAG at all. The
required information is provided by the destination DAG and by the
instructions referenced in that DAG. Sometimes, we do want to know if a
result was referenced in the source DAG; this can be checked by calling
`RuleMatcher::hasOperand`. Any other use of the source DAG when emitting
renderers is likely an error.

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


  Commit: 3bbd53ce97059718994cd17f3fd404654e9198cb
      https://github.com/llvm/llvm-project/commit/3bbd53ce97059718994cd17f3fd404654e9198cb
  Author: Joseph Huber <huberjn at outlook.com>
  Date:   2024-12-20 (Fri, 20 Dec 2024)

  Changed paths:
    M libc/config/gpu/entrypoints.txt
    M libc/config/gpu/headers.txt
    R libc/hdrgen/yaml/gpu/rpc.yaml
    M libc/include/CMakeLists.txt
    R libc/include/gpu/rpc.h.def
    M libc/src/__support/RPC/CMakeLists.txt

  Log Message:
  -----------
  [libc] Remove old RPC host call extension for GPU (#120800)

Summary:
This was originally a hacked together function that served to just
implement some features for OpenMP. That has been moved into OpenMP
itself now that we have exported RPC properly. This can now be deleted.


  Commit: a7cd660bd7351f95e538286b23d38224bc8a9bb4
      https://github.com/llvm/llvm-project/commit/a7cd660bd7351f95e538286b23d38224bc8a9bb4
  Author: Sergei Barannikov <barannikov88 at gmail.com>
  Date:   2024-12-21 (Sat, 21 Dec 2024)

  Changed paths:
    A llvm/test/TableGen/GlobalISelEmitter-optional-def.td
    M llvm/utils/TableGen/Common/GlobalISel/GlobalISelMatchTable.cpp
    M llvm/utils/TableGen/Common/GlobalISel/GlobalISelMatchTable.h
    M llvm/utils/TableGen/GlobalISelEmitter.cpp

  Log Message:
  -----------
  [TableGen][GISel] Learn to import patterns with optional defs (#120470)

The number of skipped patterns reduces for ARM from 4278 to 4257.
This is the only in-tree target that makes use of OptionalDefOperand.

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


  Commit: 9ae92d70561bcc95a7f818920238e764253d9758
      https://github.com/llvm/llvm-project/commit/9ae92d70561bcc95a7f818920238e764253d9758
  Author: Sergei Barannikov <barannikov88 at gmail.com>
  Date:   2024-12-21 (Sat, 21 Dec 2024)

  Changed paths:
    M llvm/include/llvm/CodeGen/ISDOpcodes.h
    M llvm/include/llvm/CodeGen/SelectionDAG.h
    M llvm/include/llvm/CodeGen/SelectionDAGNodes.h
    M llvm/include/llvm/CodeGen/SelectionDAGTargetInfo.h
    M llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp
    M llvm/lib/CodeGen/SelectionDAG/SelectionDAGISel.cpp
    M llvm/lib/CodeGen/SelectionDAG/SelectionDAGTargetInfo.cpp
    M llvm/lib/Target/AArch64/AArch64ISelLowering.h
    M llvm/lib/Target/AArch64/AArch64SelectionDAGInfo.cpp
    M llvm/lib/Target/AArch64/AArch64SelectionDAGInfo.h
    M llvm/lib/Target/AMDGPU/AMDGPUISelLowering.cpp
    M llvm/lib/Target/AMDGPU/AMDGPUISelLowering.h
    M llvm/lib/Target/AMDGPU/AMDGPUSelectionDAGInfo.cpp
    M llvm/lib/Target/AMDGPU/AMDGPUSelectionDAGInfo.h
    M llvm/lib/Target/ARM/ARMISelLowering.h
    M llvm/lib/Target/ARM/ARMSelectionDAGInfo.cpp
    M llvm/lib/Target/ARM/ARMSelectionDAGInfo.h
    M llvm/lib/Target/Mips/MipsISelLowering.h
    M llvm/lib/Target/Mips/MipsSelectionDAGInfo.cpp
    M llvm/lib/Target/Mips/MipsSelectionDAGInfo.h
    M llvm/lib/Target/NVPTX/NVPTXISelLowering.h
    M llvm/lib/Target/NVPTX/NVPTXSelectionDAGInfo.cpp
    M llvm/lib/Target/NVPTX/NVPTXSelectionDAGInfo.h
    M llvm/lib/Target/PowerPC/PPCISelLowering.h
    M llvm/lib/Target/PowerPC/PPCSelectionDAGInfo.cpp
    M llvm/lib/Target/PowerPC/PPCSelectionDAGInfo.h
    M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
    M llvm/lib/Target/RISCV/RISCVISelLowering.h
    M llvm/lib/Target/RISCV/RISCVSelectionDAGInfo.cpp
    M llvm/lib/Target/RISCV/RISCVSelectionDAGInfo.h
    M llvm/lib/Target/SystemZ/SystemZISelLowering.h
    M llvm/lib/Target/SystemZ/SystemZSelectionDAGInfo.cpp
    M llvm/lib/Target/SystemZ/SystemZSelectionDAGInfo.h
    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/WebAssemblySelectionDAGInfo.cpp
    M llvm/lib/Target/WebAssembly/WebAssemblySelectionDAGInfo.h
    M llvm/lib/Target/X86/X86ISelLowering.cpp
    M llvm/lib/Target/X86/X86ISelLowering.h
    M llvm/lib/Target/X86/X86SelectionDAGInfo.cpp
    M llvm/lib/Target/X86/X86SelectionDAGInfo.h

  Log Message:
  -----------
  [SelectionDAG] Virtualize isTargetStrictFPOpcode / isTargetMemoryOpcode (#119969)

With this change, targets are no longer required to put memory / strict-fp opcodes after special
`ISD::FIRST_TARGET_MEMORY_OPCODE`/`ISD::FIRST_TARGET_STRICTFP_OPCODE` markers.
This will also allow autogenerating `isTargetMemoryOpcode`/`isTargetStrictFPOpcode (#119709).

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


  Commit: d328d410613963359c4044292cfca99388d01023
      https://github.com/llvm/llvm-project/commit/d328d410613963359c4044292cfca99388d01023
  Author: NAKAMURA Takumi <geek4civic at gmail.com>
  Date:   2024-12-21 (Sat, 21 Dec 2024)

  Changed paths:
    R llvm/include/llvm/CodeGen/DroppedVariableStatsMIR.h
    M llvm/include/llvm/CodeGen/MachineFunctionPass.h
    M llvm/lib/CodeGen/CMakeLists.txt
    R llvm/lib/CodeGen/DroppedVariableStatsMIR.cpp
    M llvm/lib/CodeGen/MachineFunctionPass.cpp
    M llvm/unittests/CodeGen/CMakeLists.txt
    R llvm/unittests/CodeGen/DroppedVariableStatsMIRTest.cpp

  Log Message:
  -----------
  Revert "Add a pass to collect dropped var stats for MIR (#120780)"

This reverts commit 3bf91ad2a9c75dd045961e45fdd830fd7b7a5455.
(llvmorg-20-init-16123-g3bf91ad2a9c7)

`llvm/CodeGen` should not depend on `llvm/Passes`.


  Commit: 559f0809cc69f0ee55fa56fac1758f43863f2650
      https://github.com/llvm/llvm-project/commit/559f0809cc69f0ee55fa56fac1758f43863f2650
  Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
  Date:   2024-12-21 (Sat, 21 Dec 2024)

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

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


  Commit: 5cd427477218d8bdb659c6c53a7758f741c3990a
      https://github.com/llvm/llvm-project/commit/5cd427477218d8bdb659c6c53a7758f741c3990a
  Author: Peter Hawkins <phawkins at google.com>
  Date:   2024-12-20 (Fri, 20 Dec 2024)

  Changed paths:
    M mlir/cmake/modules/AddMLIRPython.cmake
    M mlir/cmake/modules/MLIRDetectPythonEnv.cmake
    M mlir/examples/standalone/python/StandaloneExtensionNanobind.cpp
    A mlir/include/mlir/Bindings/Python/Nanobind.h
    M mlir/include/mlir/Bindings/Python/NanobindAdaptors.h
    M mlir/lib/Bindings/Python/AsyncPasses.cpp
    M mlir/lib/Bindings/Python/DialectGPU.cpp
    M mlir/lib/Bindings/Python/DialectLLVM.cpp
    M mlir/lib/Bindings/Python/DialectLinalg.cpp
    M mlir/lib/Bindings/Python/DialectNVGPU.cpp
    M mlir/lib/Bindings/Python/DialectPDL.cpp
    M mlir/lib/Bindings/Python/DialectQuant.cpp
    M mlir/lib/Bindings/Python/DialectSparseTensor.cpp
    M mlir/lib/Bindings/Python/DialectTransform.cpp
    M mlir/lib/Bindings/Python/ExecutionEngineModule.cpp
    M mlir/lib/Bindings/Python/GPUPasses.cpp
    M mlir/lib/Bindings/Python/IRAffine.cpp
    M mlir/lib/Bindings/Python/IRAttributes.cpp
    M mlir/lib/Bindings/Python/IRCore.cpp
    M mlir/lib/Bindings/Python/IRInterfaces.cpp
    M mlir/lib/Bindings/Python/IRModule.cpp
    M mlir/lib/Bindings/Python/IRModule.h
    M mlir/lib/Bindings/Python/IRTypes.cpp
    M mlir/lib/Bindings/Python/LinalgPasses.cpp
    M mlir/lib/Bindings/Python/MainModule.cpp
    M mlir/lib/Bindings/Python/NanobindUtils.h
    M mlir/lib/Bindings/Python/Pass.cpp
    M mlir/lib/Bindings/Python/RegisterEverything.cpp
    M mlir/lib/Bindings/Python/Rewrite.cpp
    M mlir/lib/Bindings/Python/SparseTensorPasses.cpp
    M mlir/lib/Bindings/Python/TransformInterpreter.cpp
    M mlir/python/CMakeLists.txt
    M mlir/test/python/dialects/sparse_tensor/dialect.py
    M mlir/test/python/lib/PythonTestModuleNanobind.cpp
    M utils/bazel/llvm-project-overlay/mlir/BUILD.bazel

  Log Message:
  -----------
  [mlir python] Port in-tree dialects to nanobind. (#119924)

This is a companion to #118583, although it can be landed independently
because since #117922 dialects do not have to use the same Python
binding framework as the Python core code.

This PR ports all of the in-tree dialect and pass extensions to
nanobind, with the exception of those that remain for testing pybind11
support.

This PR also:
* removes CollectDiagnosticsToStringScope from NanobindAdaptors.h. This
was overlooked in a previous PR and it is duplicated in Diagnostics.h.

---------

Co-authored-by: Jacques Pienaar <jpienaar at google.com>


  Commit: cbf931e16f6d1ebe4c8a2f32315f21615a934f32
      https://github.com/llvm/llvm-project/commit/cbf931e16f6d1ebe4c8a2f32315f21615a934f32
  Author: Sergei Barannikov <barannikov88 at gmail.com>
  Date:   2024-12-21 (Sat, 21 Dec 2024)

  Changed paths:
    M llvm/include/llvm/Target/GlobalISel/SelectionDAGCompat.td
    M llvm/include/llvm/Target/TargetSelectionDAG.td

  Log Message:
  -----------
  [TableGen][GlobalISel] Add GINodeEquiv for sdivrem/udivrem (#120819)

These nodes are not currently used in DAG patterns. Their GlobalISel
equivalents are primarily useful for testing TableGen backend, as they
produce two results. (There doesn't seem to be other such nodes.)


  Commit: 665d79f2e967a5eee6fff93685e45f50cf24cab2
      https://github.com/llvm/llvm-project/commit/665d79f2e967a5eee6fff93685e45f50cf24cab2
  Author: Amara Emerson <amara at apple.com>
  Date:   2024-12-20 (Fri, 20 Dec 2024)

  Changed paths:
    M llvm/lib/Target/AArch64/GISel/AArch64LegalizerInfo.cpp
    M llvm/test/CodeGen/AArch64/GlobalISel/legalize-cmp.mir

  Log Message:
  -----------
  [AArch64][GlobalISel] Implement G_ICMP support for oversize pointer vectors.


  Commit: 7a38445ee2ac89fe240479d052373df23561ab57
      https://github.com/llvm/llvm-project/commit/7a38445ee2ac89fe240479d052373df23561ab57
  Author: vporpo <vporpodas at google.com>
  Date:   2024-12-20 (Fri, 20 Dec 2024)

  Changed paths:
    M llvm/include/llvm/Transforms/Vectorize/SandboxVectorizer/DependencyGraph.h
    M llvm/lib/Transforms/Vectorize/SandboxVectorizer/DependencyGraph.cpp
    M llvm/unittests/Transforms/Vectorize/SandboxVectorizer/DependencyGraphTest.cpp

  Log Message:
  -----------
  [SandboxVec][DAG] Register move instr callback (#120146)

This patch implements the move instruction notifier for the DAG.
Whenever an instruction moves the notifier will maintain the DAG.


  Commit: f06756f50e1f70664adc25a41ccabf5b018a504a
      https://github.com/llvm/llvm-project/commit/f06756f50e1f70664adc25a41ccabf5b018a504a
  Author: Owen Anderson <resistor at mac.com>
  Date:   2024-12-21 (Sat, 21 Dec 2024)

  Changed paths:
    M llvm/lib/Target/AArch64/Utils/AArch64BaseInfo.h
    M llvm/lib/Target/ARM/Utils/ARMBaseInfo.h
    M llvm/lib/Target/RISCV/MCTargetDesc/RISCVBaseInfo.h

  Log Message:
  -----------
  Store sysreg names in-line with their descriptors. (#119157)

This wastes some disk space, because we have to size the arrays for
the maximum possible length. However, it eliminates dynamic relocations
from the SysRegsList arrays.


  Commit: e138f7831e62054d3971f716273fbe174176deca
      https://github.com/llvm/llvm-project/commit/e138f7831e62054d3971f716273fbe174176deca
  Author: Craig Topper <craig.topper at sifive.com>
  Date:   2024-12-20 (Fri, 20 Dec 2024)

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

  Log Message:
  -----------
  [RISCV] Remove unnecessary 'let BaseInstr' from Xsfvcp pseudoinstructions. NFC

These are identical to the RISCVVPseudo base class.


  Commit: 95c5386ddb8a530b43533c82b5dbfc18e81a7235
      https://github.com/llvm/llvm-project/commit/95c5386ddb8a530b43533c82b5dbfc18e81a7235
  Author: Sam Elliott <quic_aelliott at quicinc.com>
  Date:   2024-12-21 (Sat, 21 Dec 2024)

  Changed paths:
    M llvm/lib/Target/RISCV/MCTargetDesc/RISCVBaseInfo.h
    M llvm/lib/Target/RISCV/MCTargetDesc/RISCVMCCodeEmitter.cpp
    M llvm/lib/Target/RISCV/RISCVInstrInfo.cpp
    M llvm/lib/Target/RISCV/RISCVInstrInfo.td
    M llvm/lib/Target/RISCV/RISCVInstrInfoC.td
    M llvm/lib/Target/RISCV/RISCVInstrInfoV.td
    M llvm/lib/Target/RISCV/RISCVInstrInfoXwch.td

  Log Message:
  -----------
  [RISCV][NFCI] Rationalize Immediate Definitions (#120718)


  Commit: c361fd5a7a8d646e11ee51acf4ba6de5f5e1297c
      https://github.com/llvm/llvm-project/commit/c361fd5a7a8d646e11ee51acf4ba6de5f5e1297c
  Author: Sam Elliott <quic_aelliott at quicinc.com>
  Date:   2024-12-21 (Sat, 21 Dec 2024)

  Changed paths:
    M llvm/lib/Target/RISCV/AsmParser/RISCVAsmParser.cpp
    M llvm/test/MC/RISCV/rv32c-only-valid.s
    M llvm/test/MC/RISCV/rv32i-only-valid.s
    A llvm/test/MC/RISCV/rv32zcibop-valid-rv32.s

  Log Message:
  -----------
  [RISCV] Fix More RV32 Signed Immediates (#120658)


  Commit: b9a2658a3e8bd13b0f9e7a8a440832a95b377216
      https://github.com/llvm/llvm-project/commit/b9a2658a3e8bd13b0f9e7a8a440832a95b377216
  Author: Nikolas Klauser <nikolasklauser at berlin.de>
  Date:   2024-12-21 (Sat, 21 Dec 2024)

  Changed paths:
    M .github/workflows/libcxx-build-and-test.yaml
    A libcxx/cmake/caches/Generic-cxx03-frozen.cmake
    M libcxx/include/CMakeLists.txt
    R libcxx/include/__cxx03/CMakeLists.txt
    M libcxx/include/__cxx03/__config
    M libcxx/include/__cxx03/__configuration/abi.h
    M libcxx/include/__cxx03/__configuration/compiler.h
    A libcxx/include/__cxx03/__configuration/config_site_shim.h
    M libcxx/include/__cxx03/__configuration/language.h
    M libcxx/include/__cxx03/__configuration/platform.h
    M libcxx/include/__cxx03/__locale_dir/locale_base_api/bsd_locale_fallbacks.h
    M libcxx/include/__cxx03/__thread/support/pthread.h
    M libcxx/include/__cxx03/climits
    M libcxx/include/__cxx03/locale
    M libcxx/include/__cxx03/module.modulemap
    M libcxx/include/__cxx03/version
    M libcxx/include/algorithm
    M libcxx/include/any
    M libcxx/include/array
    M libcxx/include/atomic
    M libcxx/include/barrier
    M libcxx/include/bit
    M libcxx/include/bitset
    M libcxx/include/cassert
    M libcxx/include/ccomplex
    M libcxx/include/cctype
    M libcxx/include/cerrno
    M libcxx/include/cfenv
    M libcxx/include/cfloat
    M libcxx/include/charconv
    M libcxx/include/chrono
    M libcxx/include/cinttypes
    M libcxx/include/ciso646
    M libcxx/include/climits
    M libcxx/include/clocale
    M libcxx/include/cmath
    M libcxx/include/codecvt
    M libcxx/include/compare
    M libcxx/include/complex
    M libcxx/include/complex.h
    M libcxx/include/concepts
    M libcxx/include/condition_variable
    M libcxx/include/coroutine
    M libcxx/include/csetjmp
    M libcxx/include/csignal
    M libcxx/include/cstdalign
    M libcxx/include/cstdarg
    M libcxx/include/cstdbool
    M libcxx/include/cstddef
    M libcxx/include/cstdint
    M libcxx/include/cstdio
    M libcxx/include/cstdlib
    M libcxx/include/cstring
    M libcxx/include/ctgmath
    M libcxx/include/ctime
    M libcxx/include/ctype.h
    M libcxx/include/cuchar
    M libcxx/include/cwchar
    M libcxx/include/cwctype
    M libcxx/include/deque
    M libcxx/include/errno.h
    M libcxx/include/exception
    M libcxx/include/execution
    M libcxx/include/expected
    M libcxx/include/experimental/iterator
    M libcxx/include/experimental/memory
    M libcxx/include/experimental/propagate_const
    M libcxx/include/experimental/simd
    M libcxx/include/experimental/type_traits
    M libcxx/include/experimental/utility
    M libcxx/include/ext/hash_map
    M libcxx/include/ext/hash_set
    M libcxx/include/fenv.h
    M libcxx/include/filesystem
    M libcxx/include/flat_map
    M libcxx/include/float.h
    M libcxx/include/format
    M libcxx/include/forward_list
    M libcxx/include/fstream
    M libcxx/include/functional
    M libcxx/include/future
    M libcxx/include/initializer_list
    M libcxx/include/inttypes.h
    M libcxx/include/iomanip
    M libcxx/include/ios
    M libcxx/include/iosfwd
    M libcxx/include/iostream
    M libcxx/include/istream
    M libcxx/include/iterator
    M libcxx/include/latch
    M libcxx/include/limits
    M libcxx/include/list
    M libcxx/include/locale
    M libcxx/include/map
    M libcxx/include/math.h
    M libcxx/include/mdspan
    M libcxx/include/memory
    M libcxx/include/memory_resource
    M libcxx/include/mutex
    M libcxx/include/new
    M libcxx/include/numbers
    M libcxx/include/numeric
    M libcxx/include/optional
    M libcxx/include/ostream
    M libcxx/include/print
    M libcxx/include/queue
    M libcxx/include/random
    M libcxx/include/ranges
    M libcxx/include/ratio
    M libcxx/include/regex
    M libcxx/include/scoped_allocator
    M libcxx/include/semaphore
    M libcxx/include/set
    M libcxx/include/shared_mutex
    M libcxx/include/source_location
    M libcxx/include/span
    M libcxx/include/sstream
    M libcxx/include/stack
    M libcxx/include/stdatomic.h
    M libcxx/include/stdbool.h
    M libcxx/include/stddef.h
    M libcxx/include/stdexcept
    M libcxx/include/stdio.h
    M libcxx/include/stdlib.h
    M libcxx/include/stop_token
    M libcxx/include/streambuf
    M libcxx/include/string
    M libcxx/include/string.h
    M libcxx/include/string_view
    M libcxx/include/strstream
    M libcxx/include/syncstream
    M libcxx/include/system_error
    M libcxx/include/tgmath.h
    M libcxx/include/thread
    M libcxx/include/tuple
    M libcxx/include/type_traits
    M libcxx/include/typeindex
    M libcxx/include/typeinfo
    M libcxx/include/uchar.h
    M libcxx/include/unordered_map
    M libcxx/include/unordered_set
    M libcxx/include/utility
    M libcxx/include/valarray
    M libcxx/include/variant
    M libcxx/include/vector
    M libcxx/include/version
    M libcxx/include/wchar.h
    M libcxx/include/wctype.h
    M libcxx/test/libcxx/algorithms/half_positive.pass.cpp
    M libcxx/test/libcxx/assertions/customize_verbose_abort.link-time.pass.cpp
    M libcxx/test/libcxx/assertions/default_verbose_abort.pass.cpp
    M libcxx/test/libcxx/assertions/modes/none.pass.cpp
    M libcxx/test/libcxx/assertions/single_expression.pass.cpp
    M libcxx/test/libcxx/atomics/atomics.syn/compatible_with_stdatomic.compile.pass.cpp
    M libcxx/test/libcxx/clang_modules_include.gen.py
    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/associative/unord.map/abi.compile.pass.cpp
    M libcxx/test/libcxx/containers/associative/unord.set/abi.compile.pass.cpp
    M libcxx/test/libcxx/containers/container_traits.compile.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/depr/depr.c.headers/extern_c.pass.cpp
    M libcxx/test/libcxx/header_inclusions.gen.py
    M libcxx/test/libcxx/input.output/file.streams/fstreams/filebuf/traits_mismatch.verify.cpp
    M libcxx/test/libcxx/input.output/file.streams/fstreams/traits_mismatch.verify.cpp
    M libcxx/test/libcxx/input.output/iostream.format/input.streams/traits_mismatch.verify.cpp
    M libcxx/test/libcxx/input.output/iostream.format/output.streams/traits_mismatch.verify.cpp
    M libcxx/test/libcxx/input.output/string.streams/stringbuf/const_sso_buffer.pass.cpp
    M libcxx/test/libcxx/input.output/string.streams/traits_mismatch.verify.cpp
    M libcxx/test/libcxx/iterators/aliasing_iterator.pass.cpp
    M libcxx/test/libcxx/iterators/bounded_iter/arithmetic.pass.cpp
    M libcxx/test/libcxx/iterators/bounded_iter/comparison.pass.cpp
    M libcxx/test/libcxx/iterators/bounded_iter/pointer_traits.pass.cpp
    M libcxx/test/libcxx/iterators/bounded_iter/types.compile.pass.cpp
    M libcxx/test/libcxx/iterators/contiguous_iterators.conv.compile.pass.cpp
    M libcxx/test/libcxx/iterators/contiguous_iterators.verify.cpp
    M libcxx/test/libcxx/iterators/iterator.primitives/iterator.operations/prev.verify.cpp
    M libcxx/test/libcxx/language.support/support.dynamic/libcpp_deallocate.sh.cpp
    M libcxx/test/libcxx/lint/lint_cmakelists.sh.py
    M libcxx/test/libcxx/memory/allocation_guard.pass.cpp
    M libcxx/test/libcxx/memory/swap_allocator.pass.cpp
    M libcxx/test/libcxx/numerics/bit.ops.pass.cpp
    M libcxx/test/libcxx/numerics/clamp_to_integral.pass.cpp
    M libcxx/test/libcxx/numerics/complex.number/cmplx.over.pow.pass.cpp
    M libcxx/test/libcxx/selftest/test_macros.pass.cpp
    M libcxx/test/libcxx/strings/c.strings/constexpr_memmove.pass.cpp
    M libcxx/test/libcxx/transitive_includes.gen.py
    M libcxx/test/libcxx/type_traits/datasizeof.compile.pass.cpp
    M libcxx/test/libcxx/type_traits/is_constant_evaluated.pass.cpp
    M libcxx/test/libcxx/type_traits/is_trivially_comparable.compile.pass.cpp
    M libcxx/test/libcxx/type_traits/is_trivially_relocatable.compile.pass.cpp
    M libcxx/test/libcxx/utilities/exception_guard.odr.sh.cpp
    M libcxx/test/libcxx/utilities/is_pointer_in_range.pass.cpp
    M libcxx/test/libcxx/utilities/is_valid_range.pass.cpp
    M libcxx/test/libcxx/utilities/meta/meta_base.pass.cpp
    M libcxx/test/libcxx/utilities/no_destroy.pass.cpp
    M libcxx/test/libcxx/utilities/template.bitset/includes.pass.cpp
    M libcxx/test/libcxx/utilities/utility/private_constructor_tag.compile.pass.cpp
    M libcxx/test/std/containers/sequences/array/array.fill/fill.verify.cpp
    M libcxx/test/std/containers/sequences/array/array.swap/swap.verify.cpp
    M libcxx/test/std/containers/sequences/array/array.tuple/get.verify.cpp
    M libcxx/test/std/containers/sequences/array/array.tuple/tuple_element.verify.cpp
    M libcxx/test/std/containers/sequences/array/size_and_alignment.compile.pass.cpp
    M libcxx/test/std/containers/sequences/forwardlist/types.pass.cpp
    M libcxx/test/std/containers/sequences/list/types.pass.cpp
    M libcxx/test/std/containers/sequences/vector/vector.cons/exceptions.pass.cpp
    M libcxx/test/std/input.output/file.streams/fstreams/fstream.cons/default.pass.cpp
    M libcxx/test/std/input.output/file.streams/fstreams/fstream.cons/move.pass.cpp
    M libcxx/test/std/input.output/file.streams/fstreams/fstream.cons/pointer.pass.cpp
    M libcxx/test/std/input.output/file.streams/fstreams/fstream.cons/string.pass.cpp
    M libcxx/test/std/input.output/file.streams/fstreams/ifstream.cons/default.pass.cpp
    M libcxx/test/std/input.output/file.streams/fstreams/ifstream.cons/move.pass.cpp
    M libcxx/test/std/input.output/file.streams/fstreams/ifstream.cons/pointer.pass.cpp
    M libcxx/test/std/input.output/file.streams/fstreams/ifstream.cons/string.pass.cpp
    M libcxx/test/std/input.output/file.streams/fstreams/ofstream.cons/default.pass.cpp
    M libcxx/test/std/input.output/file.streams/fstreams/ofstream.cons/move.pass.cpp
    M libcxx/test/std/input.output/file.streams/fstreams/ofstream.cons/pointer.pass.cpp
    M libcxx/test/std/input.output/file.streams/fstreams/ofstream.cons/string.pass.cpp
    M libcxx/test/std/input.output/iostreams.base/ios/basic.ios.members/copyfmt.pass.cpp
    M libcxx/test/std/input.output/string.streams/istringstream/istringstream.cons/default.pass.cpp
    M libcxx/test/std/input.output/string.streams/istringstream/istringstream.cons/move.pass.cpp
    M libcxx/test/std/input.output/string.streams/istringstream/istringstream.cons/string.pass.cpp
    M libcxx/test/std/input.output/string.streams/ostringstream/ostringstream.cons/default.pass.cpp
    M libcxx/test/std/input.output/string.streams/ostringstream/ostringstream.cons/move.pass.cpp
    M libcxx/test/std/input.output/string.streams/ostringstream/ostringstream.cons/string.pass.cpp
    M libcxx/test/std/input.output/string.streams/stringbuf/stringbuf.cons/default.pass.cpp
    M libcxx/test/std/input.output/string.streams/stringstream/stringstream.cons/default.pass.cpp
    M libcxx/test/std/input.output/string.streams/stringstream/stringstream.cons/move.pass.cpp
    M libcxx/test/std/input.output/string.streams/stringstream/stringstream.cons/string.pass.cpp
    M libcxx/test/std/language.support/support.runtime/cstdalign.compile.pass.cpp
    M libcxx/test/std/numerics/c.math/isnormal.pass.cpp
    M libcxx/test/std/numerics/c.math/signbit.pass.cpp
    M libcxx/test/std/re/re.iter/re.tokiter/re.tokiter.cnstr/init.pass.cpp
    M libcxx/test/std/strings/basic.string/char.bad.verify.cpp
    M libcxx/test/std/strings/string.view/char.bad.verify.cpp
    M libcxx/test/std/utilities/template.bitset/bitset.members/nonstdmem.uglified.compile.pass.cpp
    M libcxx/test/support/test_macros.h
    M libcxx/test/tools/clang_tidy_checks/proper_version_checks.cpp
    M libcxx/utils/ci/run-buildbot
    M libcxx/utils/generate_feature_test_macro_components.py
    M libcxx/utils/libcxx/test/params.py
    M libcxx/vendor/llvm/default_assertion_handler.in

  Log Message:
  -----------
  [libc++][C++03] Use `__cxx03/` headers in C++03 mode (#109002)

This patch implements the forwarding to frozen C++03 headers as
discussed in
https://discourse.llvm.org/t/rfc-freezing-c-03-headers-in-libc. In the
RFC, we initially proposed selecting the right headers from the Clang
driver, however consensus seemed to steer towards handling this in the
library itself. This patch implements that direction.

At a high level, the changes basically amount to making each public
header look like this:

```
// inside <vector>
#ifdef _LIBCPP_CXX03_LANG
#  include <__cxx03/vector>
#else
  // normal <vector> content
#endif
```

In most cases, public headers are simple umbrella headers so there isn't
much code in the #else branch. In other cases, the #else branch contains
the actual implementation of the header.


  Commit: f77152d9a44b49ee38b15085034bbfe22b4b3992
      https://github.com/llvm/llvm-project/commit/f77152d9a44b49ee38b15085034bbfe22b4b3992
  Author: Julian Schmidt <git.julian.schmidt at gmail.com>
  Date:   2024-12-21 (Sat, 21 Dec 2024)

  Changed paths:
    M clang-tools-extra/clang-tidy/modernize/UseUsingCheck.cpp
    M clang-tools-extra/clang-tidy/modernize/UseUsingCheck.h
    M clang-tools-extra/docs/ReleaseNotes.rst
    M clang-tools-extra/test/clang-tidy/checkers/modernize/use-using.cpp

  Log Message:
  -----------
  [clang-tidy] use specified type verbatim in modernize-use-using fix (#113837)

Previously, the implementation used the printed type, which contains
expanded
macro arguments, deletes comments, and removes function argument names 
from the alias declaration. Instead, this check can be more surgical and
use the
actual written type verbatim.

Fixes #33760
Fixes #37846
Fixes #41685
Fixes #83568
Fixes #95716
Fixes #97009


  Commit: 93c2577020fe70087f99f48f7ce1fd62178455c3
      https://github.com/llvm/llvm-project/commit/93c2577020fe70087f99f48f7ce1fd62178455c3
  Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
  Date:   2024-12-21 (Sat, 21 Dec 2024)

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

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


  Commit: bb86c5dd4d32c42183ed27a1ff7b34b1201215c4
      https://github.com/llvm/llvm-project/commit/bb86c5dd4d32c42183ed27a1ff7b34b1201215c4
  Author: Florian Hahn <flo at fhahn.com>
  Date:   2024-12-21 (Sat, 21 Dec 2024)

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

  Log Message:
  -----------
  [VPlan] Use inferScalarType in VPInstruction::ResumePhi codegen (NFC).

Use VPlan-based type analysis to retrieve type of phi node. Also adds
missing type inference for ResumePhi and ComputeReductionResult opcodes.


  Commit: 1e146dfb4fc82229c17ba5a7da847d87de214351
      https://github.com/llvm/llvm-project/commit/1e146dfb4fc82229c17ba5a7da847d87de214351
  Author: Kazu Hirata <kazu at google.com>
  Date:   2024-12-21 (Sat, 21 Dec 2024)

  Changed paths:
    M clang/include/clang/Sema/SemaConcept.h
    M clang/lib/Sema/SemaConcept.cpp

  Log Message:
  -----------
  [Sema] Migrate away from PointerUnion::{is,get} (NFC) (#120829)

Note that PointerUnion::{is,get} have 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>

I'm moving the definitions of several functions to SemaConcept.cpp
because llvm::cast requires the full definitions of
NormalizedConstraintPair, which is used like so:

using CompoundConstraint = llvm::PointerIntPair<NormalizedConstraintPair
*, 1,
CompoundConstraintKind>;


  Commit: 129f1001c3b1b5200de43917d53c0efbdf08f11f
      https://github.com/llvm/llvm-project/commit/129f1001c3b1b5200de43917d53c0efbdf08f11f
  Author: Kazu Hirata <kazu at google.com>
  Date:   2024-12-21 (Sat, 21 Dec 2024)

  Changed paths:
    M mlir/lib/Dialect/Arith/Utils/Utils.cpp
    M mlir/lib/Dialect/Bufferization/IR/BufferizableOpInterface.cpp
    M mlir/lib/Dialect/DLTI/DLTI.cpp
    M mlir/lib/Dialect/GPU/TransformOps/Utils.cpp
    M mlir/lib/Dialect/Mesh/Transforms/Transforms.cpp
    M mlir/lib/Dialect/Ptr/IR/PtrTypes.cpp
    M mlir/lib/Dialect/SPIRV/IR/ControlFlowOps.cpp
    M mlir/lib/Dialect/SparseTensor/Transforms/Utils/LoopEmitter.cpp
    M mlir/lib/Dialect/Transform/Interfaces/TransformInterfaces.cpp
    M mlir/lib/Dialect/Utils/StaticValueUtils.cpp

  Log Message:
  -----------
  [Dialect] Migrate away from PointerUnion::{is,get} (NFC) (#120818)

Note that PointerUnion::{is,get} have 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>

I'm not touching PointerUnion::dyn_cast for now because it's a bit
complicated; we could blindly migrate it to dyn_cast_if_present, but
we should probably use dyn_cast when the operand is known to be
non-null.


  Commit: e072cffe3b639e8c433138b10ff68dc577497cf8
      https://github.com/llvm/llvm-project/commit/e072cffe3b639e8c433138b10ff68dc577497cf8
  Author: Craig Topper <craig.topper at sifive.com>
  Date:   2024-12-21 (Sat, 21 Dec 2024)

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

  Log Message:
  -----------
  [RISCV] Add immop_oneuse PatLeaf. Use it to replace some PatLeafs with ImmLeaf/IntImmLeaf. NFC (#120804)

If we needed a one use check of a constant, we used a PatLeaf instead of
an IntLeaf or IntImmLeaf so we could add the one use check.
Unfortunately, this required the custom code to be duplicated for GISel
too.

Instead we can use a PatLeaf that does the one use check and defers to
an IntLeaf or IntImmLeaf for the immediate check. This allows GISel to
automically import the IntLeaf/IntImmLeaf part and we only need the
custom GISel predicate in the immop_oneuse PatLeaf.


  Commit: f7ba2bdf863b589140cb97a3fafb2f4688532456
      https://github.com/llvm/llvm-project/commit/f7ba2bdf863b589140cb97a3fafb2f4688532456
  Author: GrumpyPigSkin <130710602+GrumpyPigSkin at users.noreply.github.com>
  Date:   2024-12-21 (Sat, 21 Dec 2024)

  Changed paths:
    M llvm/lib/Transforms/Scalar/StraightLineStrengthReduce.cpp
    A llvm/test/Other/debugcounter-slsr.ll

  Log Message:
  -----------
  [LLVM][SLSR] Add a debug counter  (#119981)

Added debug counter and test for SLSR.

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


  Commit: fd784726db70a5155594c32ee839b8807fafd87d
      https://github.com/llvm/llvm-project/commit/fd784726db70a5155594c32ee839b8807fafd87d
  Author: Nikolas Klauser <nikolasklauser at berlin.de>
  Date:   2024-12-21 (Sat, 21 Dec 2024)

  Changed paths:
    M libcxx/test/benchmarks/algorithms/min_max_element.bench.cpp

  Log Message:
  -----------
  [libc++] Rewrite minmax_element benchmark

The benchmark currently uses makeCartesianProductBenchmark, which
doesn't make a ton of sense, since minmax_element always goes through
every element one by one. The runtime doesn't depend on the values
of the elements.

Fixes #120758


  Commit: 9b496deb90381f352a2bceb8794a0c7881a63bd5
      https://github.com/llvm/llvm-project/commit/9b496deb90381f352a2bceb8794a0c7881a63bd5
  Author: Florian Hahn <flo at fhahn.com>
  Date:   2024-12-21 (Sat, 21 Dec 2024)

  Changed paths:
    M llvm/lib/Transforms/Vectorize/VPlan.h
    M llvm/lib/Transforms/Vectorize/VPlanRecipes.cpp
    M llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
    M llvm/test/Transforms/LoopVectorize/preserve-dbg-loc-and-loop-metadata.ll
    M llvm/unittests/Transforms/Vectorize/VPlanTest.cpp

  Log Message:
  -----------
  [VPlan] Set and use debug location for VPPredInstPHIRecipe.

Update the recipe it always set its debug location and use it during IR
generation.


  Commit: bc23ef3feba9f1c0ca55bc12754017712252b64d
      https://github.com/llvm/llvm-project/commit/bc23ef3feba9f1c0ca55bc12754017712252b64d
  Author: Florian Hahn <flo at fhahn.com>
  Date:   2024-12-21 (Sat, 21 Dec 2024)

  Changed paths:
    M llvm/test/Transforms/LoopVectorize/preserve-dbg-loc-and-loop-metadata.ll

  Log Message:
  -----------
  [LV] Add test showing incorrect debug location for scalar casts.


  Commit: 3b8faee6c6f44343c3f9de76c40ff305f72dfcd6
      https://github.com/llvm/llvm-project/commit/3b8faee6c6f44343c3f9de76c40ff305f72dfcd6
  Author: Nikolas Klauser <nikolasklauser at berlin.de>
  Date:   2024-12-22 (Sun, 22 Dec 2024)

  Changed paths:
    M libcxx/include/__config
    M libcxx/include/__functional/function.h
    M libcxx/include/__memory/allocator_arg_t.h
    M libcxx/include/__memory/allocator_destructor.h
    M libcxx/include/__memory/pointer_traits.h
    M libcxx/include/__memory/unique_ptr.h
    M libcxx/include/__ranges/join_view.h
    M libcxx/include/__tuple/make_tuple_types.h
    M libcxx/include/__tuple/sfinae_helpers.h
    M libcxx/include/__tuple/tuple_element.h
    M libcxx/include/__type_traits/add_cv_quals.h
    M libcxx/include/__type_traits/add_lvalue_reference.h
    M libcxx/include/__type_traits/add_pointer.h
    M libcxx/include/__type_traits/add_rvalue_reference.h
    M libcxx/include/__type_traits/common_type.h
    M libcxx/include/__type_traits/decay.h
    M libcxx/include/__type_traits/remove_pointer.h
    M libcxx/include/__type_traits/type_list.h
    M libcxx/include/__type_traits/unwrap_ref.h
    M libcxx/include/__utility/exception_guard.h
    M libcxx/include/__utility/move.h
    M libcxx/include/tuple

  Log Message:
  -----------
  [libc++] Switch _LIBCPP_NODEBUG to [[gnu::nodebug]] (#120720)

This makes the placement of the attribute more consistent. This also
avoids clang dropping the attribute silently (see #120722).


  Commit: 9b0c8ef37a344769e90d769dbeb0060afb260483
      https://github.com/llvm/llvm-project/commit/9b0c8ef37a344769e90d769dbeb0060afb260483
  Author: Nikolas Klauser <nikolasklauser at berlin.de>
  Date:   2024-12-22 (Sun, 22 Dec 2024)

  Changed paths:
    M libcxx/include/__fwd/memory_resource.h

  Log Message:
  -----------
  [libc++] Don't declare pmr::polymorphic_allocator before C++17 (#120850)

Fixes #120790


  Commit: 3fa5b52714b3dadbc5fddfc4ae1e7c423a652962
      https://github.com/llvm/llvm-project/commit/3fa5b52714b3dadbc5fddfc4ae1e7c423a652962
  Author: Fangrui Song <i at maskray.me>
  Date:   2024-12-21 (Sat, 21 Dec 2024)

  Changed paths:
    M llvm/include/llvm/MC/MCFragment.h
    M llvm/lib/MC/MCCodeView.cpp
    M llvm/lib/MC/MCMachOStreamer.cpp
    M llvm/lib/MC/MCObjectStreamer.cpp
    M llvm/lib/MC/MCSPIRVStreamer.cpp
    M llvm/lib/MC/MCWasmStreamer.cpp
    M llvm/lib/MC/MCWinCOFFStreamer.cpp
    M llvm/lib/MC/MCXCOFFStreamer.cpp
    M llvm/lib/Target/Hexagon/MCTargetDesc/HexagonAsmBackend.cpp
    M llvm/lib/Target/X86/MCTargetDesc/X86AsmBackend.cpp

  Log Message:
  -----------
  [MC] Decrease direct access to getContents()

to make it easier to store fragment contents out-of-line. Loosely based
on Alexis Engelke's prototype.


  Commit: 40acaa394fa235796c2d98de87380887c59d5448
      https://github.com/llvm/llvm-project/commit/40acaa394fa235796c2d98de87380887c59d5448
  Author: Owen Pan <owenpiano at gmail.com>
  Date:   2024-12-21 (Sat, 21 Dec 2024)

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

  Log Message:
  -----------
  [clang-format] Fix a crash in `QualifierAlignment: Right` (#120821)

Fixes #120793.


  Commit: c9df8da659acde9445e1de5259d34ccf96948b44
      https://github.com/llvm/llvm-project/commit/c9df8da659acde9445e1de5259d34ccf96948b44
  Author: Kazu Hirata <kazu at google.com>
  Date:   2024-12-21 (Sat, 21 Dec 2024)

  Changed paths:
    M clang/lib/Serialization/MultiOnDiskHashTable.h

  Log Message:
  -----------
  [Serialization] Migrate away from PointerUnion::get (NFC) (#120844)

Note that PointerUnion::get 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>

I'm not touching PointerUnion::dyn_cast for now because it's a bit
complicated; we could blindly migrate it to dyn_cast_if_present, but
we should probably use dyn_cast when the operand is known to be
non-null.


  Commit: 9192367ad1af30c59d5b7adc0a099bd7e524e5dd
      https://github.com/llvm/llvm-project/commit/9192367ad1af30c59d5b7adc0a099bd7e524e5dd
  Author: Kazu Hirata <kazu at google.com>
  Date:   2024-12-21 (Sat, 21 Dec 2024)

  Changed paths:
    M mlir/lib/Interfaces/CallInterfaces.cpp
    M mlir/lib/Interfaces/DataLayoutInterfaces.cpp
    M mlir/lib/Interfaces/InferTypeOpInterface.cpp

  Log Message:
  -----------
  [Interfaces] Migrate away from PointerUnion::{is,get} (NFC) (#120845)

Note that PointerUnion::{is,get} have 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>

I'm not touching PointerUnion::dyn_cast for now because it's a bit
complicated; we could blindly migrate it to dyn_cast_if_present, but
we should probably use dyn_cast when the operand is known to be
non-null.


  Commit: 530fe60bf8e94702541c581e7bc54a6031cd6f1e
      https://github.com/llvm/llvm-project/commit/530fe60bf8e94702541c581e7bc54a6031cd6f1e
  Author: Kazu Hirata <kazu at google.com>
  Date:   2024-12-21 (Sat, 21 Dec 2024)

  Changed paths:
    M llvm/include/llvm/IR/ModuleSummaryIndex.h

  Log Message:
  -----------
  [IR] Avoid repeated hash lookups (NFC) (#120848)


  Commit: dce2245ba49fad419e551b0143f41431ec8e7f03
      https://github.com/llvm/llvm-project/commit/dce2245ba49fad419e551b0143f41431ec8e7f03
  Author: Prabhuk <prabhukr at google.com>
  Date:   2024-12-21 (Sat, 21 Dec 2024)

  Changed paths:
    M clang/lib/Basic/Targets/X86.h
    M clang/lib/Driver/ToolChains/UEFI.cpp
    M clang/lib/Driver/ToolChains/UEFI.h
    M clang/lib/Lex/InitHeaderSearch.cpp

  Log Message:
  -----------
  [clang][driver] Cleanup UEFI toolchain driver (#111473)

Updating UEFI header includes to not include system include directories,
adding includes from compiler resource directory and minor cleanups.


  Commit: 037da010228436ef8f49399f1f0cf008c8428af8
      https://github.com/llvm/llvm-project/commit/037da010228436ef8f49399f1f0cf008c8428af8
  Author: Nikolas Klauser <nikolasklauser at berlin.de>
  Date:   2024-12-22 (Sun, 22 Dec 2024)

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

  Log Message:
  -----------
  [libc++] Mark P0175R1 as 'Nothing To Do'

The paper is purely editorial.

Fixes #99941


  Commit: b41d50aaa93125b640823cf147740368f5bcc8aa
      https://github.com/llvm/llvm-project/commit/b41d50aaa93125b640823cf147740368f5bcc8aa
  Author: Nikolas Klauser <nikolasklauser at berlin.de>
  Date:   2024-12-22 (Sun, 22 Dec 2024)

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

  Log Message:
  -----------
  [libc++][NFC] Name `unique_ptr` function arguments `__ptr` and `__deleter`

This makes the code a bit more readable and users will see `ptr` and
`deleter` instead of `p` and `d` when using an IDE that shows the
argument names.


  Commit: 86fa35ce7e9730e9a3840a77c4a14f175167d524
      https://github.com/llvm/llvm-project/commit/86fa35ce7e9730e9a3840a77c4a14f175167d524
  Author: LiqinWeng <liqin.weng at spacemit.com>
  Date:   2024-12-22 (Sun, 22 Dec 2024)

  Changed paths:
    M llvm/lib/Transforms/Vectorize/VPlan.h
    M llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
    M llvm/test/Transforms/LoopVectorize/RISCV/vectorize-force-tail-with-evl-reduction.ll
    M llvm/test/Transforms/LoopVectorize/RISCV/vplan-vp-call-intrinsics.ll

  Log Message:
  -----------
  [LV][VPlan] Use opcode to retrieve the VPID of the CallRecipe, rather than underlying instruction (#120816)

This patch may cause the flags in the CallRecipe to be lost after EVL
transformation, and it has been addressed in the patch: #119847


  Commit: 21e6f16517b9b9255729665806f5c0b395854146
      https://github.com/llvm/llvm-project/commit/21e6f16517b9b9255729665806f5c0b395854146
  Author: Nikolas Klauser <nikolasklauser at berlin.de>
  Date:   2024-12-22 (Sun, 22 Dec 2024)

  Changed paths:
    M libcxx/docs/Status/Cxx17Papers.csv
    M libcxx/test/std/utilities/smartptr/unique.ptr/unique.ptr.class/unique.ptr.asgn/move_convert.runtime.pass.cpp

  Log Message:
  -----------
  [libc++] Mark N4089 as complete

The paper has been implemented since at least LLVM 5, maybe earlier.


  Commit: 49ecd665fcc311f7cd61e81d3f7a112cd287e292
      https://github.com/llvm/llvm-project/commit/49ecd665fcc311f7cd61e81d3f7a112cd287e292
  Author: Amara Emerson <amara at apple.com>
  Date:   2024-12-21 (Sat, 21 Dec 2024)

  Changed paths:
    M llvm/lib/Target/AArch64/GISel/AArch64LegalizerInfo.cpp
    M llvm/test/CodeGen/AArch64/GlobalISel/legalize-bitreverse.mir
    M llvm/test/CodeGen/AArch64/GlobalISel/legalizer-info-validation.mir

  Log Message:
  -----------
  [AArch64][GlobalISel] Legalize unhandled G_BITREVERSE by lowering.

This fixes fallbacks on <4 x s16> types.


  Commit: 6c42d0d7df55f28084e41b482dd7c25d4e7bcd10
      https://github.com/llvm/llvm-project/commit/6c42d0d7df55f28084e41b482dd7c25d4e7bcd10
  Author: Fangrui Song <i at maskray.me>
  Date:   2024-12-21 (Sat, 21 Dec 2024)

  Changed paths:
    M llvm/include/llvm/MC/MCCodeView.h
    M llvm/lib/MC/MCCodeView.cpp
    M llvm/lib/MC/MCWinCOFFStreamer.cpp

  Log Message:
  -----------
  [MC,CodeView] Postpone MCDataFragment creation to finish time

`StrTabFragment` created due to `.cv_stringtable` is not placed directly
into a section. This requires a funky ~CodeViewContext and does not fit
well with the future that moves MCFragment storage out-of-line.


  Commit: 2cf3d059176d7d92a096c32b15946a101d037c59
      https://github.com/llvm/llvm-project/commit/2cf3d059176d7d92a096c32b15946a101d037c59
  Author: Fangrui Song <i at maskray.me>
  Date:   2024-12-21 (Sat, 21 Dec 2024)

  Changed paths:
    M llvm/lib/MC/WasmObjectWriter.cpp

  Log Message:
  -----------
  [MC] Simplify WasmObjectWriter

and make it fit well with the future when MCFragment content is
out-of-line.


  Commit: 90726652c930d9f286bad291ec11bccb2fb6b39a
      https://github.com/llvm/llvm-project/commit/90726652c930d9f286bad291ec11bccb2fb6b39a
  Author: NAKAMURA Takumi <geek4civic at gmail.com>
  Date:   2024-12-22 (Sun, 22 Dec 2024)

  Changed paths:
    M llvm/tools/llvm-cov/CoverageViewOptions.h

  Log Message:
  -----------
  Reformat


  Commit: cac6777ca14e162eb6e97e20da266802846ab953
      https://github.com/llvm/llvm-project/commit/cac6777ca14e162eb6e97e20da266802846ab953
  Author: 天音あめ <i at amane-a.me>
  Date:   2024-12-21 (Sat, 21 Dec 2024)

  Changed paths:
    M clang/lib/Format/MacroExpander.cpp
    M clang/unittests/Format/MacroCallReconstructorTest.cpp

  Log Message:
  -----------
  [clang-format] Fix crashes when the macro expansion is empty (#119428)

An empty expansion should be valid, like `echo 'A()' | clang-format
--style='{Macros: [A(x)=x]}'`.

Fixes #119258.


  Commit: 3bb0c73ab50121f518c8d66154283cfd50d6d31a
      https://github.com/llvm/llvm-project/commit/3bb0c73ab50121f518c8d66154283cfd50d6d31a
  Author: Amara Emerson <amara at apple.com>
  Date:   2024-12-21 (Sat, 21 Dec 2024)

  Changed paths:
    M llvm/test/CodeGen/AArch64/GlobalISel/legalize-bitreverse.mir
    M llvm/test/CodeGen/AArch64/bitreverse.ll

  Log Message:
  -----------
  [AArch64][GlobalISel] Add more test coverage for bitreverse.

The IR tests show there's some missing optimizations to form rbit.


  Commit: 7b86fbbab74a6301d99017364b5369b98bdd7985
      https://github.com/llvm/llvm-project/commit/7b86fbbab74a6301d99017364b5369b98bdd7985
  Author: Fangrui Song <i at maskray.me>
  Date:   2024-12-21 (Sat, 21 Dec 2024)

  Changed paths:
    M llvm/lib/MC/WinCOFFObjectWriter.cpp

  Log Message:
  -----------
  [MC] Remove redundant MCSection::empty check. NFC

The section cannot be empty due to allocInitialFragment.


  Commit: acb7dfaa017dc11106bf97de4e8bf72d47ff54a8
      https://github.com/llvm/llvm-project/commit/acb7dfaa017dc11106bf97de4e8bf72d47ff54a8
  Author: Timm Baeder <tbaeder at redhat.com>
  Date:   2024-12-22 (Sun, 22 Dec 2024)

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

  Log Message:
  -----------
  [clang][bytecode] Create local scopes for if then/else statements (#120852)

In case those aren't compound statements.


  Commit: 47bdbb31f7ca8ed5a81eca378f2de48cb8b28cf0
      https://github.com/llvm/llvm-project/commit/47bdbb31f7ca8ed5a81eca378f2de48cb8b28cf0
  Author: Fangrui Song <i at maskray.me>
  Date:   2024-12-21 (Sat, 21 Dec 2024)

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

  Log Message:
  -----------
  Remove unused MCSection::empty

CurFragList->Head should be non-null, so empty() is not useful.


  Commit: c1931241b088164bc96345f9dffae024affd3f56
      https://github.com/llvm/llvm-project/commit/c1931241b088164bc96345f9dffae024affd3f56
  Author: Fangrui Song <i at maskray.me>
  Date:   2024-12-22 (Sun, 22 Dec 2024)

  Changed paths:
    M llvm/include/llvm/MC/MCFragment.h
    M llvm/lib/MC/MCAssembler.cpp
    M llvm/lib/MC/MCFragment.cpp

  Log Message:
  -----------
  [MC] Remove fixup_begin/fixup_end


  Commit: 9423961f259f49007dc9cdea7344094a6fdf1afb
      https://github.com/llvm/llvm-project/commit/9423961f259f49007dc9cdea7344094a6fdf1afb
  Author: Fangrui Song <i at maskray.me>
  Date:   2024-12-22 (Sun, 22 Dec 2024)

  Changed paths:
    M llvm/test/MC/ELF/nobits-non-zero-value.s

  Log Message:
  -----------
  [MC] Test the "cannot have fixups" error


  Commit: b68a952ae1c06b78790eab758574d992159e33b8
      https://github.com/llvm/llvm-project/commit/b68a952ae1c06b78790eab758574d992159e33b8
  Author: Kazu Hirata <kazu at google.com>
  Date:   2024-12-22 (Sun, 22 Dec 2024)

  Changed paths:
    M clang-tools-extra/clang-doc/Serialize.cpp

  Log Message:
  -----------
  [clang-doc] Migrate away from PointerUnion::{is,get} (NFC) (#120872)

Note that PointerUnion::{is,get} have 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>


  Commit: b0e43f815ac69eaab503984a187d8099b5c4b707
      https://github.com/llvm/llvm-project/commit/b0e43f815ac69eaab503984a187d8099b5c4b707
  Author: Kazu Hirata <kazu at google.com>
  Date:   2024-12-22 (Sun, 22 Dec 2024)

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

  Log Message:
  -----------
  [TableGen] Avoid repeated hash lookups (NFC) (#120873)


  Commit: e1833e3a7e9de126d0a71d439bb862a8e20a5e4f
      https://github.com/llvm/llvm-project/commit/e1833e3a7e9de126d0a71d439bb862a8e20a5e4f
  Author: Florian Hahn <flo at fhahn.com>
  Date:   2024-12-22 (Sun, 22 Dec 2024)

  Changed paths:
    M llvm/lib/Transforms/Vectorize/VPlan.h
    M llvm/lib/Transforms/Vectorize/VPlanPatternMatch.h
    M llvm/lib/Transforms/Vectorize/VPlanRecipes.cpp
    M llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp

  Log Message:
  -----------
  [VPlan] Simplify redundant VPDerivedIVRecipe (NFC).

Split DerivedIV simplification off from
https://github.com/llvm/llvm-project/pull/112145 and use to remove the
need for extra checks in createScalarIVSteps. Required an extra
simplification run after IV transforms.


  Commit: 1b9805c14dbaa3af39cf3d9e5a88d3b150c69dc8
      https://github.com/llvm/llvm-project/commit/1b9805c14dbaa3af39cf3d9e5a88d3b150c69dc8
  Author: Brad Smith <brad at comstyle.com>
  Date:   2024-12-22 (Sun, 22 Dec 2024)

  Changed paths:
    M lld/ELF/Config.h
    M lld/ELF/Driver.cpp

  Log Message:
  -----------
  [ELF] Move PT_OPENBSD_NOBTCFI check to readConfigs() (#120678)


  Commit: e8f1902cca2aeaa23db6080fe33fbc67ed203350
      https://github.com/llvm/llvm-project/commit/e8f1902cca2aeaa23db6080fe33fbc67ed203350
  Author: Nikolas Klauser <nikolasklauser at berlin.de>
  Date:   2024-12-22 (Sun, 22 Dec 2024)

  Changed paths:
    A libcxx/test/std/utilities/meta/derived_from_integral_constant.compile.pass.cpp

  Log Message:
  -----------
  [libc++] Add a test to make sure the type traits derive from integral_constant (#120732)


  Commit: 6261599245e5c8ab4b72bf24d4f95e1a5d7a04db
      https://github.com/llvm/llvm-project/commit/6261599245e5c8ab4b72bf24d4f95e1a5d7a04db
  Author: Nikolas Klauser <nikolasklauser at berlin.de>
  Date:   2024-12-22 (Sun, 22 Dec 2024)

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

  Log Message:
  -----------
  [libc++] Mark P0270R3 as Nothing To Do

The paper is fixing a wording bug, so there's nothing to do for
implementations.


  Commit: d486b768238c84b3fea8cb35aaceab1ae5204f92
      https://github.com/llvm/llvm-project/commit/d486b768238c84b3fea8cb35aaceab1ae5204f92
  Author: Florian Hahn <flo at fhahn.com>
  Date:   2024-12-22 (Sun, 22 Dec 2024)

  Changed paths:
    M llvm/lib/Target/AArch64/AArch64TargetTransformInfo.cpp
    M llvm/test/Transforms/LoopUnroll/AArch64/apple-unrolling.ll

  Log Message:
  -----------
  [AArch64] Unroll some loops with early-continues on Apple Silicon. (#118499)

Try to runtime-unroll loops with early-continues depending on
loop-varying loads; this helps with branch-prediction for the
early-continues and can significantly improve performance
for such loops

Builds on top of https://github.com/llvm/llvm-project/pull/118317.

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


  Commit: a0f0a69b625748b97e40195c8d81b3746d30f985
      https://github.com/llvm/llvm-project/commit/a0f0a69b625748b97e40195c8d81b3746d30f985
  Author: Carlo Cabrera <github at carlo.cab>
  Date:   2024-12-22 (Sun, 22 Dec 2024)

  Changed paths:
    M lld/MachO/SymbolTable.cpp

  Log Message:
  -----------
  [lld][MachO] Fix symbol insertion in `transplantSymbolsAtOffset` (#120737)

The existing comparison does not insert symbols in the intended place.

Closes #120559.

---------

Co-authored-by: Bjorn Pettersson <bjorn.a.pettersson at ericsson.com>


  Commit: b2d7312d52f299a2f854c673796ad1a699e0d79f
      https://github.com/llvm/llvm-project/commit/b2d7312d52f299a2f854c673796ad1a699e0d79f
  Author: Sergei Barannikov <barannikov88 at gmail.com>
  Date:   2024-12-22 (Sun, 22 Dec 2024)

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

  Log Message:
  -----------
  [TableGen][GISel] Add const to some member functions & reformat (NFC) (#120899)

Add const to `import*Renderer` member functions and recursively to
functions called from them.
I didn't do that for `import*Matcher` functions because they mutate
class variables.


  Commit: a4f5e90e319e8bf36ed421a0445218ff17d4de03
      https://github.com/llvm/llvm-project/commit/a4f5e90e319e8bf36ed421a0445218ff17d4de03
  Author: Congcong Cai <congcongcai0907 at 163.com>
  Date:   2024-12-23 (Mon, 23 Dec 2024)

  Changed paths:
    M clang-tools-extra/docs/clang-tidy/checks/modernize/use-ranges.rst

  Log Message:
  -----------
  [clang-tidy][NFC][doc] mention some range algorithms do not work for `vector<bool>` in C++20 (#120774)


  Commit: f96337e04e0290426c72637325424a8be8e8de5d
      https://github.com/llvm/llvm-project/commit/f96337e04e0290426c72637325424a8be8e8de5d
  Author: Simon Pilgrim <llvm-dev at redking.me.uk>
  Date:   2024-12-22 (Sun, 22 Dec 2024)

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

  Log Message:
  -----------
  [VectorCombine] foldConcatOfBoolMasks - add debug message for match + cost-comparison

Helps with debugging to show to that the fold found the match, and shows the old + new costs to indicate whether the fold was/wasn't profitable.


  Commit: db2307d2d7f650aa8f0d9ba727abfe83a32bc3bf
      https://github.com/llvm/llvm-project/commit/db2307d2d7f650aa8f0d9ba727abfe83a32bc3bf
  Author: Florian Hahn <flo at fhahn.com>
  Date:   2024-12-22 (Sun, 22 Dec 2024)

  Changed paths:
    A llvm/test/Transforms/LoopVectorize/dereferenceable-info-from-assumption-constant-size.ll

  Log Message:
  -----------
  [LV] Add tests with dereferenceable assumptions.

Add a number of tests with dereferenceable assumptions and different
alignment info.


  Commit: bf873aa3ecef93c8dc8eb792da9e73ceff120492
      https://github.com/llvm/llvm-project/commit/bf873aa3ecef93c8dc8eb792da9e73ceff120492
  Author: Simon Pilgrim <llvm-dev at redking.me.uk>
  Date:   2024-12-22 (Sun, 22 Dec 2024)

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

  Log Message:
  -----------
  [VectorCombine] foldShuffleToIdentity - add debug message for match

Helps with debugging to show to that the fold found the match.


  Commit: eaf67e062c09c30afd05afd8417787cd6760d9a7
      https://github.com/llvm/llvm-project/commit/eaf67e062c09c30afd05afd8417787cd6760d9a7
  Author: Simon Pilgrim <llvm-dev at redking.me.uk>
  Date:   2024-12-22 (Sun, 22 Dec 2024)

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

  Log Message:
  -----------
  [X86] IsNOT - don't fold not(pcmpgt(C1, C2)) -> pcmpgt(C2, C1 - 1)

Interferes with constant folding of the pcmpgt node.

Yes another example where topological node sorting would have helped us.

Fixes #120906


  Commit: c5492e3c65e40cdcab9771b692f9ad437c65aa04
      https://github.com/llvm/llvm-project/commit/c5492e3c65e40cdcab9771b692f9ad437c65aa04
  Author: Nikolas Klauser <nikolasklauser at berlin.de>
  Date:   2024-12-22 (Sun, 22 Dec 2024)

  Changed paths:
    A libcxx/test/benchmarks/locale/num_get.bench.cpp

  Log Message:
  -----------
  [libc++] Add a benchmark for std::num_get


  Commit: 392651a7ec250b82cecabbe9c765c3e5d5677d75
      https://github.com/llvm/llvm-project/commit/392651a7ec250b82cecabbe9c765c3e5d5677d75
  Author: Kazu Hirata <kazu at google.com>
  Date:   2024-12-22 (Sun, 22 Dec 2024)

  Changed paths:
    M flang/lib/Optimizer/CodeGen/CodeGen.cpp
    M flang/lib/Optimizer/Transforms/AddAliasTags.cpp
    M flang/lib/Optimizer/Transforms/StackArrays.cpp

  Log Message:
  -----------
  [flang] Migrate away from PointerUnion::{is,get} (NFC) (#120880)

Note that PointerUnion::{is,get} have 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>

I'm not touching PointerUnion::dyn_cast for now because it's a bit
complicated; we could blindly migrate it to dyn_cast_if_present, but
we should probably use dyn_cast when the operand is known to be
non-null.


  Commit: d32509928ba6b4c78b02b8a8499dce056ae6fe52
      https://github.com/llvm/llvm-project/commit/d32509928ba6b4c78b02b8a8499dce056ae6fe52
  Author: Craig Topper <craig.topper at sifive.com>
  Date:   2024-12-22 (Sun, 22 Dec 2024)

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

  Log Message:
  -----------
  [RISCV] Rewrite an isel pattern to make it more amenable to GISel. NFC

The result pattern created an i1 constant and then used
ImmSubFromXLen SDNodeXForm on it. GISel cannot handle this construct
the same way as SelectionDAG. The GISel equivalent of the SDNodeXForm
expects a G_CONSTANT, but the emitter can't create that.

Work aound this by splitting the pattern into RV32 and RV64 versions
and hard coding the constant.

Additional changes are needed to import the pattern for GISel so
there's no test.


  Commit: b84218526d364cb9fda23bfca164d25a7b03a641
      https://github.com/llvm/llvm-project/commit/b84218526d364cb9fda23bfca164d25a7b03a641
  Author: Nikolas Klauser <nikolasklauser at berlin.de>
  Date:   2024-12-23 (Mon, 23 Dec 2024)

  Changed paths:
    M libcxx/test/benchmarks/locale/num_get.bench.cpp

  Log Message:
  -----------
  [libc++] Mark num_get.bench.cpp as unsupported in C++03


  Commit: 8a51471d839d9ba8ea015ddd4c761d5c8946f881
      https://github.com/llvm/llvm-project/commit/8a51471d839d9ba8ea015ddd4c761d5c8946f881
  Author: LiqinWeng <liqin.weng at spacemit.com>
  Date:   2024-12-23 (Mon, 23 Dec 2024)

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

  Log Message:
  -----------
  [LV][VPlan] Extract the implementation of transform Recipe to EVLRecipe into a small function. NFC (#119510)


  Commit: 34d55df73b4b4662847210cef6f3f4a1c368b1a1
      https://github.com/llvm/llvm-project/commit/34d55df73b4b4662847210cef6f3f4a1c368b1a1
  Author: Mingjie Xu <xumingjie.enna1 at bytedance.com>
  Date:   2024-12-23 (Mon, 23 Dec 2024)

  Changed paths:
    M compiler-rt/lib/tysan/tysan_interceptors.cpp

  Log Message:
  -----------
  [tysan] Replace HandleEarlyAlloc with DlsymAlloc (#120563)


  Commit: dd577c05ad0d382b444da01b6a1f56f8c2c15e07
      https://github.com/llvm/llvm-project/commit/dd577c05ad0d382b444da01b6a1f56f8c2c15e07
  Author: c8ef <c8ef at outlook.com>
  Date:   2024-12-23 (Mon, 23 Dec 2024)

  Changed paths:
    M clang/docs/LanguageExtensions.rst
    M clang/docs/ReleaseNotes.rst
    M clang/include/clang/Basic/Builtins.td
    M clang/lib/AST/ExprConstant.cpp
    M clang/test/Sema/constant_builtins_vector.cpp

  Log Message:
  -----------
  [clang] constexpr built-in reduce min/max function. (#120866)

Part of #51787.

This patch adds constexpr support for the built-in reduce min/max
function.


  Commit: b1fab4f8491ae2c46ae77bcc21281296edfd458a
      https://github.com/llvm/llvm-project/commit/b1fab4f8491ae2c46ae77bcc21281296edfd458a
  Author: LiqinWeng <liqin.weng at spacemit.com>
  Date:   2024-12-23 (Mon, 23 Dec 2024)

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

  Log Message:
  -----------
  [LV][VPlan] Initialize the variable 'VPID' of the createEVLRecipe (#120926)

Resolve the compilation error caused by the merge issue: #119510


  Commit: 642c75bfc81577158d27139f04f6617befa5286c
      https://github.com/llvm/llvm-project/commit/642c75bfc81577158d27139f04f6617befa5286c
  Author: Lang Hames <lhames at gmail.com>
  Date:   2024-12-23 (Mon, 23 Dec 2024)

  Changed paths:
    M llvm/include/llvm/ExecutionEngine/Orc/LazyReexports.h
    M llvm/lib/ExecutionEngine/Orc/LazyReexports.cpp

  Log Message:
  -----------
  [ORC] Make LazyReexportManager::KeyToReentryAddrs plural, use vector::insert.

Cleanup to recent LazyReexportManager changes: KeyToReentryAddr now maps to
multiple addrs, so make its name plural. Use vector insert rather than a for
loop.

NFC.


  Commit: 98be16f20f3f0e2ca6f3cf34fe9da25822c21c2d
      https://github.com/llvm/llvm-project/commit/98be16f20f3f0e2ca6f3cf34fe9da25822c21c2d
  Author: Lang Hames <lhames at gmail.com>
  Date:   2024-12-23 (Mon, 23 Dec 2024)

  Changed paths:
    M llvm/lib/ExecutionEngine/JITLink/COFFLinkGraphBuilder.cpp
    M llvm/lib/ExecutionEngine/JITLink/COFFLinkGraphBuilder.h
    M llvm/lib/ExecutionEngine/JITLink/COFF_x86_64.cpp

  Log Message:
  -----------
  [JITLink][COFF] Use regular external symbol resolution for __ImageBase.

This fixes a concurrency bug in the COFF_x86_64 backend: lookupAsync was used
to find __ImageBase without blocking to wait for the result.

Rather than adding promises / futures, this patch just adds an external
__ImageBase symbol if needed. This is the canonical JITLink solution for
resolving external symbols, and is simpler and more concurrency friendly than
using promises / futures with lookupAsync.


  Commit: 21a1dbb50320889ee0e116237c924ee1af3c3dd3
      https://github.com/llvm/llvm-project/commit/21a1dbb50320889ee0e116237c924ee1af3c3dd3
  Author: Longsheng Mou <longshengmou at gmail.com>
  Date:   2024-12-23 (Mon, 23 Dec 2024)

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

  Log Message:
  -----------
  [mlir][NFC] Fix format of comments for `foldHook` (#118453)


  Commit: 2b3aff8f92f8713c27791997df3ad5f2a8b51301
      https://github.com/llvm/llvm-project/commit/2b3aff8f92f8713c27791997df3ad5f2a8b51301
  Author: Lang Hames <lhames at gmail.com>
  Date:   2024-12-23 (Mon, 23 Dec 2024)

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

  Log Message:
  -----------
  [ORC] Don't notify condition variable when condition is not met.

Avoids waking threads when the condition to proceed won't be met. NFC.


  Commit: edca1d9bad2a6f7c208e21f312d35ede33632ac1
      https://github.com/llvm/llvm-project/commit/edca1d9bad2a6f7c208e21f312d35ede33632ac1
  Author: Lang Hames <lhames at gmail.com>
  Date:   2024-12-23 (Mon, 23 Dec 2024)

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

  Log Message:
  -----------
  [llvm-jitlink] Use concurrent linking by default.

Adds a -threads option to llvm-jitlink. By default llvm-jitlink will now use a
DynamicThreadPoolTaskDispatcher with the number of materialization threads set
to whatever is returned by std::hardware_concurrency(). This brings the default
in-place linking behavior in line with the concurrent linking that is used for
-oop-executor and -oop-executor-connect mode.

In-place linking on the main thread can be forced by passing -threads=0.


  Commit: 4f7ff6bb38c8952a24b5cbae07031d78e359e573
      https://github.com/llvm/llvm-project/commit/4f7ff6bb38c8952a24b5cbae07031d78e359e573
  Author: Fangrui Song <i at maskray.me>
  Date:   2024-12-22 (Sun, 22 Dec 2024)

  Changed paths:
    M llvm/test/MC/AArch64/armv8.3a-complex.s
    M llvm/test/MC/AArch64/armv8.3a-complex_nofp16.s
    M llvm/test/MC/AArch64/armv8.3a-pauth.s
    M llvm/test/MC/AArch64/armv8.3a-signed-pointer.s
    M llvm/test/MC/AArch64/armv8.4a-flagm.s
    M llvm/test/MC/AArch64/armv8.6a-amvs.s
    M llvm/test/MC/AArch64/armv9.6a-ras.s
    M llvm/test/MC/AArch64/armv9.6a-rme-gpc3.s
    M llvm/test/MC/ARM/directive-object_arch-3.s
    M llvm/test/MC/ARM/inst-directive-emit.s
    M llvm/test/MC/Mips/dsp/valid.s
    M llvm/test/MC/Mips/dspr2/valid.s
    M llvm/test/MC/Mips/expr1.s
    M llvm/test/MC/Mips/macro-ld-sd.s
    M llvm/test/MC/Mips/macro-seq.s
    M llvm/test/MC/Mips/mips_directives.s
    M llvm/test/MC/RISCV/compress-debug-info.s
    M llvm/test/MC/RISCV/custom_reloc.s
    M llvm/test/MC/SystemZ/asm-match.s
    M llvm/test/MC/SystemZ/gnu-attributes.s
    M llvm/test/MC/WebAssembly/assembler-binary.ll
    M llvm/test/MC/WebAssembly/basic-assembly.s
    M llvm/test/MC/WebAssembly/stack-ptr-mclower.ll

  Log Message:
  -----------
  [MC] Clean up tests that implicit .text MCAsmStreamer


  Commit: 85a7989770136c8bcecffff960862045fbdb2161
      https://github.com/llvm/llvm-project/commit/85a7989770136c8bcecffff960862045fbdb2161
  Author: Renat Idrisov <4032256+parsifal-47 at users.noreply.github.com>
  Date:   2024-12-23 (Mon, 23 Dec 2024)

  Changed paths:
    M llvm/lib/Target/Mips/AsmParser/MipsAsmParser.cpp

  Log Message:
  -----------
  MIPS: Adding a check for JAL argument in PIC mode to prevent crashing on getExpr (#120356)

Only an Expr is supported by JAL.
Let's check it before getExpr.
https://github.com/llvm/llvm-project/issues/80535

---------

Co-authored-by: Renat Idrisov <parsifal-47 at users.noreply.github.com>


  Commit: 34531cff638a23f411324d010b3dacc1e9599cfb
      https://github.com/llvm/llvm-project/commit/34531cff638a23f411324d010b3dacc1e9599cfb
  Author: Lang Hames <lhames at gmail.com>
  Date:   2024-12-23 (Mon, 23 Dec 2024)

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

  Log Message:
  -----------
  Revert "[llvm-jitlink] Use concurrent linking by default."

This reverts commit edca1d9bad2 while I investigate bot failures,
e.g. https://lab.llvm.org/buildbot/#/builders/137/builds/10791.


  Commit: 8daba2c13dc3f4856d064f57a2a56dcf4ea1d7b3
      https://github.com/llvm/llvm-project/commit/8daba2c13dc3f4856d064f57a2a56dcf4ea1d7b3
  Author: Haopeng Liu <153236845+haopliu at users.noreply.github.com>
  Date:   2024-12-22 (Sun, 22 Dec 2024)

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

  Log Message:
  -----------
  Skip negative length while inferring initializes attr (#120874)

Bail out negative length while inferring initializes attr. Otherwise it
causes an assertion error:
`Attribute 'initializes' does not support unordered ranges`


  Commit: 688acb13b1d1eb751c83466935ab12f2b8047930
      https://github.com/llvm/llvm-project/commit/688acb13b1d1eb751c83466935ab12f2b8047930
  Author: Fangrui Song <i at maskray.me>
  Date:   2024-12-22 (Sun, 22 Dec 2024)

  Changed paths:
    M llvm/test/MC/AMDGPU/hsa-exp.s
    M llvm/test/MC/AMDGPU/hsa-gfx12-v4.s
    M llvm/test/MC/AMDGPU/hsa-tg-split.s
    M llvm/test/MC/AMDGPU/hsa-v4.s
    M llvm/test/MC/AMDGPU/hsa-v5-uses-dynamic-stack.s
    M llvm/test/MC/AMDGPU/user-sgpr-count.s

  Log Message:
  -----------
  [MC] Clean up tests that depend on implicit .text in MCAsmStreamer

AMDGPUTargetAsmStreamer::EmitDirectiveAMDGCNTarget called by
onBeginOfFile emits .amdgcn_target, which will not be before
.text when we change the .text parser to actually print .text .
The current .text is from initSections.


  Commit: 8db73270e06a7925411870afa3953dafe997a35e
      https://github.com/llvm/llvm-project/commit/8db73270e06a7925411870afa3953dafe997a35e
  Author: Fangrui Song <i at maskray.me>
  Date:   2024-12-22 (Sun, 22 Dec 2024)

  Changed paths:
    M llvm/test/MC/AsmParser/exprs-invalid.s
    M llvm/test/MC/GOFF/ppa1.ll
    M llvm/test/MC/XCOFF/inlineasm.s

  Log Message:
  -----------
  [MC] Clean up tests that depend on implicit .text in MCAsmStreamer


  Commit: 2e3003211fea12aa492fa6ecc4a26f4fb1e7c8b9
      https://github.com/llvm/llvm-project/commit/2e3003211fea12aa492fa6ecc4a26f4fb1e7c8b9
  Author: Pengcheng Wang <wangpengcheng.pp at bytedance.com>
  Date:   2024-12-23 (Mon, 23 Dec 2024)

  Changed paths:
    M llvm/include/llvm/CodeGen/TargetRegisterInfo.h
    M llvm/lib/CodeGen/TargetRegisterInfo.cpp
    M llvm/lib/Target/RISCV/RISCVInstrInfo.cpp

  Log Message:
  -----------
  [TRI][RISCV] Add methods to get common register class of two registers (#118435)

Here we add two methods `getCommonMinimalPhysRegClass` and a LLT
version `getCommonMinimalPhysRegClassLLT`, which return the most
sub register class of the right type that contains these two input
registers.

We don't overload the `getMinimalPhysRegClass` as there will be
ambiguities.

We use it to simplify some code in RISC-V target.


  Commit: 5712e293fb317b50166766ba86b969eb13fcd069
      https://github.com/llvm/llvm-project/commit/5712e293fb317b50166766ba86b969eb13fcd069
  Author: Fangrui Song <i at maskray.me>
  Date:   2024-12-22 (Sun, 22 Dec 2024)

  Changed paths:
    M llvm/test/CodeGen/AArch64/commandline-metadata.ll
    M llvm/test/CodeGen/AVR/sections.ll
    M llvm/test/CodeGen/Hexagon/switch-lut-explicit-section.ll
    M llvm/test/CodeGen/Hexagon/switch-lut-function-section.ll
    M llvm/test/CodeGen/X86/GC/ocaml-gc.ll
    M llvm/test/CodeGen/X86/basic-block-sections-blockaddress-taken.ll
    M llvm/test/CodeGen/X86/elf-unique-sections-by-flags.ll
    M llvm/test/CodeGen/Xtensa/simple.ll

  Log Message:
  -----------
  [CodeGen] Clean up tests that depend on implicit .text in MCAsmStreamer


  Commit: 158a60051d2d41bc255224ccb57d076efb75822e
      https://github.com/llvm/llvm-project/commit/158a60051d2d41bc255224ccb57d076efb75822e
  Author: Lang Hames <lhames at gmail.com>
  Date:   2024-12-23 (Mon, 23 Dec 2024)

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

  Log Message:
  -----------
  [llvm-jitlink] Wait for reachable files to link before running checks.

ORC dependence tracking is fine-grained (i.e. per-symbol), however when running
-check mode we want to wait for all links triggered by the entry point lookup
to complete, regardless of whether the code / data in them is actually
reachable from the entry point. This simplifies test-cases, since authors don't
need to reason about per-symbol dependencies to know that additional files will
be linked (if referenced transitively in any way from the test-case).

The new Session::waitForFilesLinkedFromEntryPointFile utility does _not_ wait
for lazily linked (-lazy) files.

This will be used to fix buildbot errors caused by edca1d9bad2.


  Commit: 7b23f413d1f76532825e470b523e971818d453ca
      https://github.com/llvm/llvm-project/commit/7b23f413d1f76532825e470b523e971818d453ca
  Author: Fangrui Song <i at maskray.me>
  Date:   2024-12-22 (Sun, 22 Dec 2024)

  Changed paths:
    M llvm/include/llvm/MC/MCStreamer.h
    M llvm/lib/CodeGen/AsmPrinter/AsmPrinter.cpp
    M llvm/lib/MC/MCAsmStreamer.cpp
    M llvm/lib/MC/MCStreamer.cpp
    M llvm/test/CodeGen/PowerPC/check-cpu.ll
    M llvm/test/CodeGen/X86/coff-alias-type.ll
    M llvm/test/DebugInfo/ARM/header.ll
    M llvm/test/DebugInfo/X86/header.ll
    M llvm/test/MC/AArch64/armv8.3a-signed-pointer.s
    M llvm/test/MC/ELF/section.s
    M llvm/test/MC/Hexagon/hexagon_attributes.s

  Log Message:
  -----------
  MCAsmStreamer: Omit initial ".text"

llvm-mc --assemble prints an initial `.text` from `initSections`.
This is weird for quick assembly tasks that do not specify `.text`.

Omit the .text by moving section directive printing from `changeSection`
to `switchSection`. switchSectionNoPrint now correctly calls the
`changeSection` hook (needed by MachO).

The initial directives of clang -S are now reordered. On ELF targets, we
get `.file "a.c"; .text` instead of `.text; .file "a.c"`.
If there is no function, `.text` will be omitted.


  Commit: 6285c46e164bcb9cbc66bc91c03f41dbbeff69e5
      https://github.com/llvm/llvm-project/commit/6285c46e164bcb9cbc66bc91c03f41dbbeff69e5
  Author: Peng Xie <helianthus547 at gmail.com>
  Date:   2024-12-23 (Mon, 23 Dec 2024)

  Changed paths:
    M libcxx/include/__memory_resource/monotonic_buffer_resource.h
    M libcxx/lib/abi/CHANGELOG.TXT
    M libcxx/lib/abi/arm64-apple-darwin.libcxxabi.v1.stable.exceptions.nonew.abilist
    M libcxx/lib/abi/i686-linux-android21.libcxxabi.v1.stable.exceptions.nonew.abilist
    M libcxx/lib/abi/powerpc-ibm-aix.libcxxabi.v1.stable.exceptions.nonew.abilist
    M libcxx/lib/abi/powerpc64-ibm-aix.libcxxabi.v1.stable.exceptions.nonew.abilist
    M libcxx/lib/abi/x86_64-apple-darwin.libcxxabi.v1.stable.exceptions.nonew.abilist
    M libcxx/lib/abi/x86_64-linux-android21.libcxxabi.v1.stable.exceptions.nonew.abilist
    M libcxx/lib/abi/x86_64-unknown-freebsd.libcxxabi.v1.stable.exceptions.nonew.abilist
    M libcxx/lib/abi/x86_64-unknown-linux-gnu.libcxxabi.v1.stable.exceptions.nonew.abilist
    M libcxx/lib/abi/x86_64-unknown-linux-gnu.libcxxabi.v1.stable.noexceptions.nonew.abilist
    M libcxx/src/memory_resource.cpp

  Log Message:
  -----------
  [libc++] Refactor some code in monotonic_buffer_resource (#117271)

1. remove unused __default_buffer_alignment
2. two __try_allocate_from_chunk are same, put it together

This patch refactor some code in monotonic_buffer_resource.


  Commit: 21996bd69c15cb1e5127f76254dfcda019ee432a
      https://github.com/llvm/llvm-project/commit/21996bd69c15cb1e5127f76254dfcda019ee432a
  Author: Chaitanya <Krishna.Sankisa at amd.com>
  Date:   2024-12-23 (Mon, 23 Dec 2024)

  Changed paths:
    M llvm/lib/Target/AMDGPU/AMDGPUSwLowerLDS.cpp
    A llvm/test/CodeGen/AMDGPU/amdgpu-sw-lower-lds-static-indirect-access-no-kernel-lds-id.ll
    A llvm/test/CodeGen/AMDGPU/amdgpu-sw-lower-lds-static-lds-no-heap-ptr.ll

  Log Message:
  -----------
  [AMDGPU] Remove amdgpu-no-heap-ptr and amdgpu-no-lds-kernel-id attributes from lowered kernels in amdgpu-sw-lower-lds pass (#120887)

'amdgpu-sw-lower-lds' pass internally calls '__asan_malloc_impl' for
heap memory allocation.
Pass also uses 'amdgcn_lds_kernel_id' for non-kernel lds accesses
lowering.

This patch removes 'amdgpu-no-heap-ptr' and 'amdgpu-no-lds-kernel-id'
from all kernels lowered by the pass.


  Commit: 4b35dd57b88a59b169c3471cbc398113d3bf98e8
      https://github.com/llvm/llvm-project/commit/4b35dd57b88a59b169c3471cbc398113d3bf98e8
  Author: Chuanqi Xu <yedeng.yd at linux.alibaba.com>
  Date:   2024-12-23 (Mon, 23 Dec 2024)

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

  Log Message:
  -----------
  [Serialization] Try to clean up PendingUndeducedFunctionDecls when
PendingUndeducedFunctionDecls is not empty

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

This turns out to be a simple oversight initially. See the analysis in
https://github.com/llvm/llvm-project/commit/ba1e84fb8f45e102f40f409fcfe9b420fbf9fb70
for the wider background.


  Commit: aca7a70cdada8aa13c7f4e24c431bfe47218a3fa
      https://github.com/llvm/llvm-project/commit/aca7a70cdada8aa13c7f4e24c431bfe47218a3fa
  Author: Carlo Cabrera <github at carlo.cab>
  Date:   2024-12-23 (Mon, 23 Dec 2024)

  Changed paths:
    M lldb/test/API/commands/expression/diagnostics/TestExprDiagnostics.py

  Log Message:
  -----------
  [lldb] Fix bad method call in `TestExprDiagnostics.py` (#120901)

Fixes

    Traceback (most recent call last):
File
"/home/buildbot/worker/as-builder-9/lldb-remote-linux-ubuntu/llvm-project/lldb/packages/Python/lldbsuite/test/lldbtest.py",
line 1770, in test_method
        return attrvalue(self)
               ^^^^^^^^^^^^^^^
File
"/home/buildbot/worker/as-builder-9/lldb-remote-linux-ubuntu/llvm-project/lldb/test/API/commands/expression/diagnostics/TestExprDiagnostics.py",
line 255, in test_command_expr_sbdata
        self.assertEquals(error.GetType(), lldb.eErrorTypeExpression)
        ^^^^^^^^^^^^^^^^^
AttributeError: 'ExprDiagnosticsTestCase' object has no attribute
'assertEquals'. Did you mean: 'assertEqual'?

`assertEqual` is a method inherited from `unittest.TestCase`.

See #120784 and
https://github.com/llvm/llvm-project/pull/120784#issuecomment-2557871308


  Commit: bda7aadfcd0596675c8b4b381f178f3d8f854f20
      https://github.com/llvm/llvm-project/commit/bda7aadfcd0596675c8b4b381f178f3d8f854f20
  Author: Sergei Barannikov <barannikov88 at gmail.com>
  Date:   2024-12-23 (Mon, 23 Dec 2024)

  Changed paths:
    M llvm/include/llvm/Target/GenericOpcodes.td
    M llvm/test/TableGen/GlobalISelEmitter-frameindex.td
    M llvm/utils/TableGen/GlobalISelEmitter.cpp

  Log Message:
  -----------
  [TableGen][GISel] Fix importing frameindex node (#120921)

The existing test case is not representative. Even though TableGen
doesn't complain, the code generated from it is invalid and fails
verification with the message "Use not jointly dominated by defs.".

There is no way to magically transform `frameindex` to `tframeindex`
as it happens for some other leaf nodes. `frameindex` can only be
selected by custom C++ code or by using an `SDNodeXForm`.

This patch makes the test representative one and fixes the handling of
`G_FRAME_INDEX`, which shouldn't have set the operand's name.

It also fixes the type of the result of `G_FRAME_INDEX` in order to get
the correct type check (`GIM_CheckPointerToAny` instead of
`GIM_CheckType` with a scalar LLT argument).


  Commit: 24fc8f01a40310e91838ab742b4940369786ba90
      https://github.com/llvm/llvm-project/commit/24fc8f01a40310e91838ab742b4940369786ba90
  Author: NimishMishra <42909663+NimishMishra at users.noreply.github.com>
  Date:   2024-12-23 (Mon, 23 Dec 2024)

  Changed paths:
    M llvm/include/llvm/Frontend/Atomic/Atomic.h
    M llvm/include/llvm/Frontend/OpenMP/OMPIRBuilder.h
    M llvm/lib/Frontend/Atomic/Atomic.cpp
    M llvm/lib/Frontend/OpenMP/CMakeLists.txt

  Log Message:
  -----------
  [llvm][OpenMP][NFC] Cleanup AtomicInfo (#119199)

This PR refactors functionality from
llvm/include/llvm/Frontend/Atomic/Atomic.h into
llvm/lib/llvm/Frontend/Atomic/Atomic.cpp.


  Commit: 657c5bf807e17ccab3f5b283824c7e6bb7a74707
      https://github.com/llvm/llvm-project/commit/657c5bf807e17ccab3f5b283824c7e6bb7a74707
  Author: Tom Eccles <tom.eccles at arm.com>
  Date:   2024-12-23 (Mon, 23 Dec 2024)

  Changed paths:
    M flang/lib/Optimizer/Analysis/AliasAnalysis.cpp
    A flang/test/HLFIR/opt-variable-assign-omp.fir

  Log Message:
  -----------
  [flang][AliasAnalysis] don't crash on load from blockarg (#120760)

Values can have no defining operation when the value is a blockarg. I
wrote this as a test for hlfir bufferization rather than alias analysis
because I couldn't find a way to add the test.ptr attribute to a block
argument.


  Commit: 113177f98b9d7ac6edfa833d55ad6ad6fd4a0cbf
      https://github.com/llvm/llvm-project/commit/113177f98b9d7ac6edfa833d55ad6ad6fd4a0cbf
  Author: Phoebe Wang <phoebe.wang at intel.com>
  Date:   2024-12-23 (Mon, 23 Dec 2024)

  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

  Log Message:
  -----------
  [X86][AVX10.2] Fix wrong mask bits in cvtpbf8_ph intrinsics (#120927)

Found during review #120766


  Commit: f70ab7d909d6861c7eec5ab40679bde16ab826c6
      https://github.com/llvm/llvm-project/commit/f70ab7d909d6861c7eec5ab40679bde16ab826c6
  Author: Momchil Velikov <momchil.velikov at arm.com>
  Date:   2024-12-23 (Mon, 23 Dec 2024)

  Changed paths:
    M clang/lib/CodeGen/Targets/AArch64.cpp
    M clang/test/CodeGen/AArch64/pure-scalable-args.c
    M clang/test/CodeGenCXX/aarch64-mangle-sve-vectors.cpp

  Log Message:
  -----------
  [AArch64] Fix argument passing for SVE tuples (#118961)

The fix for passing Pure Scalable Types
(https://github.com/llvm/llvm-project/pull/112747) was incomplete,
it didn't handle correctly tuples of SVE vectors (e.g. `sveboolx2_t`,
`svfloat32x4_t`, etc).

These types are Pure Scalable Types and should be passed either entirely
in vector registers
or indirectly in memory, not split.


  Commit: 2d6d723a85c2d007b0359c206d66cd2e5a9f00e1
      https://github.com/llvm/llvm-project/commit/2d6d723a85c2d007b0359c206d66cd2e5a9f00e1
  Author: Jay Foad <jay.foad at amd.com>
  Date:   2024-12-23 (Mon, 23 Dec 2024)

  Changed paths:
    M llvm/test/CodeGen/AMDGPU/GlobalISel/atomicrmw_uinc_wrap.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/inst-select-scalar-float-sop1.mir
    M llvm/test/CodeGen/AMDGPU/GlobalISel/inst-select-scalar-float-sop2.mir
    M llvm/test/CodeGen/AMDGPU/GlobalISel/inst-select-scalar-float-sopc.mir
    M llvm/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.interp.inreg.ll
    M llvm/test/CodeGen/AMDGPU/global-saddr-atomics-min-max-system.ll
    M llvm/test/CodeGen/AMDGPU/global-saddr-atomics.ll
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.interp.inreg.ll
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.intersect_ray.ll
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.mov.dpp8.ll
    M llvm/test/CodeGen/AMDGPU/mesa3d.ll
    A llvm/test/CodeGen/AMDGPU/mixed-vmem-types.ll
    M llvm/test/CodeGen/AMDGPU/scalar-float-sop1.ll
    M llvm/test/CodeGen/AMDGPU/scalar-float-sop2.ll
    M llvm/test/CodeGen/AMDGPU/scalar-float-sopc.ll
    A llvm/test/CodeGen/AMDGPU/swizzle.bit.extract.ll
    M llvm/test/CodeGen/AMDGPU/waitcnt-overflow.mir
    M llvm/test/MC/AMDGPU/gfx12_asm_features.s

  Log Message:
  -----------
  [AMDGPU] Add some more GFX12 test coverage (#120581)


  Commit: 6bdd25404a99f3eb22c02041d88d63bd5e6bd45e
      https://github.com/llvm/llvm-project/commit/6bdd25404a99f3eb22c02041d88d63bd5e6bd45e
  Author: Jay Foad <jay.foad at amd.com>
  Date:   2024-12-23 (Mon, 23 Dec 2024)

  Changed paths:
    M llvm/lib/Target/AMDGPU/MIMGInstructions.td

  Log Message:
  -----------
  [AMDGPU] Simplify handling of renamed GFX12 image atomics. NFC. (#120776)


  Commit: 630b7f36731d9ddfdd1f1e17b7862dded902f02f
      https://github.com/llvm/llvm-project/commit/630b7f36731d9ddfdd1f1e17b7862dded902f02f
  Author: Cabbaken <cabbaken at outlook.com>
  Date:   2024-12-23 (Mon, 23 Dec 2024)

  Changed paths:
    M llvm/tools/llvm-objdump/ELFDump.cpp
    M llvm/tools/llvm-objdump/SourcePrinter.cpp
    M llvm/tools/llvm-objdump/XCOFFDump.cpp
    M llvm/tools/llvm-objdump/llvm-objdump.cpp
    M llvm/tools/llvm-objdump/llvm-objdump.h

  Log Message:
  -----------
  [llvm-objdump] Remove some unneeded headers. (#120541)

Co-authored-by: qiuruoyu <qiuruoyu at xiaomi.com>


  Commit: ce393beddfb810204ac0618c2fe365d4d21f5c32
      https://github.com/llvm/llvm-project/commit/ce393beddfb810204ac0618c2fe365d4d21f5c32
  Author: Sergei Barannikov <barannikov88 at gmail.com>
  Date:   2024-12-23 (Mon, 23 Dec 2024)

  Changed paths:
    M llvm/lib/Target/RISCV/GISel/RISCVInstructionSelector.cpp
    M llvm/lib/Target/RISCV/RISCVISelDAGToDAG.cpp
    M llvm/lib/Target/RISCV/RISCVISelDAGToDAG.h
    M llvm/lib/Target/RISCV/RISCVInstrInfo.td

  Log Message:
  -----------
  [RISCV] Pattern-match frameindex (#120917)


  Commit: ac5029499561a8f76e71325ffb5c59d92ff84709
      https://github.com/llvm/llvm-project/commit/ac5029499561a8f76e71325ffb5c59d92ff84709
  Author: Michael Buch <michaelbuch12 at gmail.com>
  Date:   2024-12-23 (Mon, 23 Dec 2024)

  Changed paths:
    R lldb/test/Shell/Expr/TestObjCHiddenIvars.test

  Log Message:
  -----------
  Revert "[lldb][test] Add test-coverage for DW_AT_APPLE_objc_complete_type parsing (#120279)"

This reverts commit 000febd0290698728abd9e23da6b27969c529177.

This is failing on the macOS public buildbots. It's unclear
to me why (I can't reproduce the failure on my local M1 machine).
I suspect the test might be relying on some non-deterministic
linker properties (such as order of entries in the debug-map
or something like that). The failure is as follows:
```
CHECK-NEXT: expected string not found in input
              ^
<stdin>:25:7: note: scanning from here
 y = 2
      ^
<stdin>:27:4: note: possible intended match here
(lldb) exit
   ^

Input file: <stdin>
Check file: /Users/ec2-user/jenkins/workspace/llvm.org/as-lldb-cmake/llvm-project/lldb/test/Shell/Expr/TestObjCHiddenIvars.test

-dump-input=help explains the following input dump.

Input was:
<<<<<<
           .
           .
           .
          20: (lldb) expression *f
          21: (Foo) $0 = {
          22:  NSObject = {
          23:  isa = Foo
          24:  }
          25:  y = 2
next:21'0           X error: no match found
          26: }
next:21'0     ~~
          27: (lldb) exit
next:21'0     ~~~~~~~~~~~~
next:21'1        ?         possible intended match
>>>>>>
```


  Commit: 944b6f8523677abb7f98556869d290f926d2dc62
      https://github.com/llvm/llvm-project/commit/944b6f8523677abb7f98556869d290f926d2dc62
  Author: Richard Dzenis <richard at dzenis.dev>
  Date:   2024-12-23 (Mon, 23 Dec 2024)

  Changed paths:
    M llvm/docs/ReleaseNotes.md

  Log Message:
  -----------
  [llvm][NFC] Fix typo in ReleaseNotes


  Commit: 28d14904c00b74154b8dfa71d5b062a7e590c44c
      https://github.com/llvm/llvm-project/commit/28d14904c00b74154b8dfa71d5b062a7e590c44c
  Author: Michael Buch <michaelbuch12 at gmail.com>
  Date:   2024-12-23 (Mon, 23 Dec 2024)

  Changed paths:
    M lldb/source/Plugins/SymbolFile/DWARF/DWARFASTParserClang.cpp
    M lldb/source/Plugins/SymbolFile/DWARF/SymbolFileDWARF.cpp
    M lldb/source/Plugins/SymbolFile/DWARF/SymbolFileDWARF.h
    M lldb/source/Plugins/SymbolFile/DWARF/SymbolFileDWARFDebugMap.h
    M lldb/source/Plugins/SymbolFile/DWARF/SymbolFileDWARFDwo.cpp
    M lldb/source/Plugins/SymbolFile/DWARF/SymbolFileDWARFDwo.h
    A lldb/test/API/lang/cpp/typedef-to-outer-fwd/Makefile
    A lldb/test/API/lang/cpp/typedef-to-outer-fwd/TestTypedefToOuterFwd.py
    A lldb/test/API/lang/cpp/typedef-to-outer-fwd/lib.cpp
    A lldb/test/API/lang/cpp/typedef-to-outer-fwd/lib.h
    A lldb/test/API/lang/cpp/typedef-to-outer-fwd/main.cpp

  Log Message:
  -----------
  [lldb][SymbolFileDWARF] Share GetDIEToType between SymbolFiles of a SymbolFileDWARFDebugMap (#120569)

The problem here manifests as follows:
1. We are stopped in main.o, so the first `ParseTypeFromDWARF` on
`FooImpl<char>` gets called on `main.o`'s SymbolFile. This adds a
mapping from *declaration die* -> `TypeSP` into `main.o`'s
`GetDIEToType` map.
2. We then `CompleteType(FooImpl<char>)`. Depending on the order of
entries in the debug-map, this might call `CompleteType` on `lib.o`'s
SymbolFile. In which case, `GetDIEToType().lookup(decl_die)` will return
a `nullptr`. This is already a bit iffy because some of the surrounding
code assumes we don't call `CompleteTypeFromDWARF` with a `nullptr`
`Type*`. E.g., `CompleteEnumType` blindly dereferences it (though enums
will never encounter this because their definition is fetched in
ParseEnum, unlike for structures).
3. While in `CompleteTypeFromDWARF`, we call `ParseTypeFromDWARF` again.
This will parse the member function `FooImpl::Create` and its return
type which is a typedef to `FooImpl*`. But now we're inside `lib.o`'s
SymbolFile, so we call it on the definition DIE. In step (2) we just
inserted a `nullptr` into `GetDIEToType` for the definition DIE, so we
trivially return a `nullptr` from `ParseTypeFromDWARF`. Instead of
reporting back this parse failure to the user LLDB trucks on and marks
`FooImpl::Ref` to be `void*`.

This test-case will trigger an assert in `TypeSystemClang::VerifyDecl`
even if we just `frame var` (but only in debug-builds). In release
builds where this function is a no-op, we'll create an incorrect Clang
AST node for the `Ref` typedef.

The proposed fix here is to share the `GetDIEToType` map between
SymbolFiles if a debug-map exists.

**Alternatives considered**
* Check the `GetDIEToType` map of the `SymbolFile` that the declaration
DIE belongs to. The assumption here being that if we called
`ParseTypeFromDWARF` on a declaration, the `GetDIEToType` map that the
result was inserted into was the one on that DIE's SymbolFile. This was
the first version of this patch, but that felt like a weaker version
sharing the map. It complicates the code in `CompleteType` and is less
consistent with the other bookkeeping structures we already share
between SymbolFiles
* Return from `SymbolFileDWARF::CompleteType` if there is no type in the
current `GetDIEToType`. Then `SymbolFileDWARFDebugMap::CompleteType`
could continue to the next `SymbolFile` which does own the type. But
that didn't quite work because we remove the
`GetForwardCompilerTypeToDie` entry in `SymbolFile::CompleteType`, which
`SymbolFileDWARFDebugMap::CompleteType` relies upon for iterating


  Commit: c660b281b60085cbe40d73d692badd43d7708d20
      https://github.com/llvm/llvm-project/commit/c660b281b60085cbe40d73d692badd43d7708d20
  Author: Michael Buch <michaelbuch12 at gmail.com>
  Date:   2024-12-23 (Mon, 23 Dec 2024)

  Changed paths:
    M lldb/source/Plugins/SymbolFile/DWARF/UniqueDWARFASTType.cpp
    M lldb/unittests/SymbolFile/DWARF/DWARFASTParserClangTests.cpp

  Log Message:
  -----------
  [lldb][SymbolFileDWARF] Ignore Declaration when searching through UniqueDWARFASTTypeList in C++ (#120809)

This addresses an issue encountered when investigating
https://github.com/llvm/llvm-project/pull/120569.

In `ParseTypeFromDWARF`, we insert the parsed type into
`UniqueDWARFASTTypeMap` using the typename and `Declaration` obtained
with `GetUniqueTypeNameAndDeclaration`. For C++
`GetUniqueTypeNameAndDeclaration` will zero the `Declaration` info
(presumably because forward declaration may not have it, and for C++,
ODR means we can rely on fully qualified typenames for uniqueing). When
we then called `CompleteType`, we would first `MapDeclDIEToDefDIE`,
updating the `UniqueDWARFASTType` we inserted previously with the
`Declaration` of the definition DIE (without zeroing it). We would then
call into `ParseTypeFromDWARF` for the same type again, and search the
`UniqueDWARFASTTypeMap`. But we do the search using a zeroed declaration
we get from `GetUniqueTypeNameAndDeclaration`.

This particular example was fixed by
https://github.com/llvm/llvm-project/pull/120569 but this still feels a
little inconsistent. I'm not entirely sure we can get into that
situation after that patch anymore. So the only test-case I could come
up with was the unit-test which calls `MapDeclDIEToDefDIE` directly.


  Commit: 3cc311ab8674eab6b9101cdf3823b55ea23d6535
      https://github.com/llvm/llvm-project/commit/3cc311ab8674eab6b9101cdf3823b55ea23d6535
  Author: Matthias Springer <me at m-sp.org>
  Date:   2024-12-23 (Mon, 23 Dec 2024)

  Changed paths:
    M mlir/lib/Conversion/LLVMCommon/TypeConverter.cpp
    M mlir/lib/Transforms/Utils/DialectConversion.cpp
    M mlir/test/Transforms/test-legalizer.mlir
    M mlir/test/lib/Dialect/Test/TestPatterns.cpp

  Log Message:
  -----------
  [mlir][Transforms] Dialect Conversion: No target mat. for 1:N replacement (#117513)

During a 1:N replacement (`applySignatureConversion` or
`replaceOpWithMultiple`), the dialect conversion driver used to insert
two materializations:

* Argument materialization: convert N replacement values to 1 SSA value
of the original type `S`.
* Target materialization: convert original type to legalized type `T`.

The target materialization is unnecessary. Subsequent patterns receive
the replacement values via their adaptors. These patterns have their own
type converter. When they see a replacement value of type `S`, they will
automatically insert a target materialization to type `T`. There is no
reason to do this already during the 1:N replacement. (The functionality
used to be duplicated in `remapValues` and `insertNTo1Materialization`.)

Special case: If a subsequent pattern does not have a type converter, it
does *not* insert any target materializations. That's because the
absence of a type converter indicates that the pattern does not care
about type legality. Therefore, it is correct to pass an SSA value of
type `S` (or any other type) to the pattern.

Note: Most patterns in `TestPatterns.cpp` run without a type converter.
To make sure that the tests still behave the same, some of these
patterns now have a type converter.

This commit is in preparation of adding 1:N support to the conversion
value mapping. Before making any further changes to the mapping
infrastructure, I'd like to make sure that the code base around it (that
uses the mapping) is robust.


  Commit: a35640f29e82dffbe87fb75af9b50c6e1312b455
      https://github.com/llvm/llvm-project/commit/a35640f29e82dffbe87fb75af9b50c6e1312b455
  Author: Igor Kirillov <igor.kirillov at arm.com>
  Date:   2024-12-23 (Mon, 23 Dec 2024)

  Changed paths:
    M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
    M llvm/test/CodeGen/AArch64/neon-dotreduce.ll

  Log Message:
  -----------
  [AArch64] Extend vecreduce to udot/sdot transformation to support usdot (#120094)


  Commit: 5f98dd5dd5517b711bbb77655865a35904653820
      https://github.com/llvm/llvm-project/commit/5f98dd5dd5517b711bbb77655865a35904653820
  Author: Srinivasa Ravi <srinivasar at nvidia.com>
  Date:   2024-12-23 (Mon, 23 Dec 2024)

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

  Log Message:
  -----------
  [MLIR][NVVM] Update Wgmma.fence Ops to use intrinsics (#120956)

This PR updates the WgmmaFenceAlignedOp, WgmmaGroupSyncAlignedOp, and
WgmmaWaitGroupSyncOp Ops in the NVVM Dialect to lower to the
corresponding intrinsics instead of inline-ptx.

The existing test under Conversion/NVVMToLLVM is updated to check for
the new patterns and separate tests are added under Target/LLVMIR to
verify the lowered intrinsics.


  Commit: 92f439c4b7f234583e52e529858365c1bf072879
      https://github.com/llvm/llvm-project/commit/92f439c4b7f234583e52e529858365c1bf072879
  Author: Ilia Kuklin <ikuklin at accesssoftek.com>
  Date:   2024-12-23 (Mon, 23 Dec 2024)

  Changed paths:
    M lldb/source/Plugins/TypeSystem/Clang/TypeSystemClang.cpp
    M lldb/unittests/Symbol/TestTypeSystemClang.cpp

  Log Message:
  -----------
  [lldb] Negate `is_signed` variable for argument `isUnsigned` in TypeSystemClang.cpp (#120794)


  Commit: 24eb1566e09080658d16649a0d3bb4f9565131c3
      https://github.com/llvm/llvm-project/commit/24eb1566e09080658d16649a0d3bb4f9565131c3
  Author: Nico Weber <thakis at chromium.org>
  Date:   2024-12-23 (Mon, 23 Dec 2024)

  Changed paths:
    A llvm/utils/gn/secondary/llvm/lib/Frontend/Atomic/BUILD.gn
    M llvm/utils/gn/secondary/llvm/lib/Frontend/OpenMP/BUILD.gn

  Log Message:
  -----------
  [gn] port 24fc8f01a403 (and aec87a2143c01)


  Commit: 11676da80874787a47856da87911234837c53f06
      https://github.com/llvm/llvm-project/commit/11676da80874787a47856da87911234837c53f06
  Author: Han-Kuan Chen <hankuan.chen at sifive.com>
  Date:   2024-12-23 (Mon, 23 Dec 2024)

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

  Log Message:
  -----------
  [SLP] Normalize debug messages for newTreeEntry. (#119514)

A debug message should follow after newTreeEntry.
Make ExtractValueInst and ExtractElementInst use setOperand directly.


  Commit: df31fd8a3648a487aaec31bef059187b0d316d1f
      https://github.com/llvm/llvm-project/commit/df31fd8a3648a487aaec31bef059187b0d316d1f
  Author: Matthias Springer <me at m-sp.org>
  Date:   2024-12-23 (Mon, 23 Dec 2024)

  Changed paths:
    M mlir/include/mlir/Conversion/LLVMCommon/TypeConverter.h
    M mlir/lib/Conversion/LLVMCommon/TypeConverter.cpp

  Log Message:
  -----------
  [mlir] Fix use-after-return in #117513 (#120968)

Fix a use-after-return in #117513. Free-standing lambdas should not be
defined inside of the `LLVMTypeConverter` constructor because they go
out of scope.


  Commit: c28a7c1efd89d3dbee5f7212313f836855dd08fd
      https://github.com/llvm/llvm-project/commit/c28a7c1efd89d3dbee5f7212313f836855dd08fd
  Author: vdonaldson <37090318+vdonaldson at users.noreply.github.com>
  Date:   2024-12-23 (Mon, 23 Dec 2024)

  Changed paths:
    M flang/docs/Extensions.md
    M flang/include/flang/Evaluate/target.h
    M flang/include/flang/Optimizer/Builder/IntrinsicCall.h
    M flang/include/flang/Optimizer/Builder/Runtime/Exceptions.h
    M flang/include/flang/Runtime/exceptions.h
    M flang/include/flang/Tools/TargetSetup.h
    M flang/lib/Evaluate/fold-logical.cpp
    M flang/lib/Optimizer/Builder/IntrinsicCall.cpp
    M flang/lib/Optimizer/Builder/Runtime/Exceptions.cpp
    M flang/runtime/exceptions.cpp
    M flang/test/Evaluate/fold-ieee.f90
    M flang/test/Lower/Intrinsics/ieee_flag.f90

  Log Message:
  -----------
  [flang] Modifications to ieee_support_halting (#120747)

The F23 standard requires that a call to intrinsic module procedure
ieee_support_halting be foldable to a constant at compile time in some
contexts. See for example F23 Clause 10.1.11 [Specification expression]
list item (13), Clause 1.1.12 [Constant expression] list item (11), and
references to specification and constant expressions elsewhere, such as
constraints C1012, C853, and C704.

Some Arm processors allow a user to control processor behavior when an
arithmetic exception is signaled, and some Arm processors do not have
this capability. An Arm executable will run on either type of processor,
so it is effectively unknown at compile time whether or not this support
will be available at runtime. This in conflict with the standard
requirement.

This patch addresses this conflict by implementing ieee_support_halting
calls on Arm processors to check if this capability is present at
runtime. A call to ieee_support_halting in a constant context, such as
in the specification part of a program unit, will generate a compile
time "cannot be computed as a constant value" error. The expectation is
that such calls are unlikely to appear in production code.

Code generation for other processors will continue to generate a compile
time constant result for ieee_support_halting calls.


  Commit: fb1dbe24f2ecd0c0915caba8a6321dc57018dc50
      https://github.com/llvm/llvm-project/commit/fb1dbe24f2ecd0c0915caba8a6321dc57018dc50
  Author: Jie Fu <jiefu at tencent.com>
  Date:   2024-12-23 (Mon, 23 Dec 2024)

  Changed paths:
    M mlir/lib/Conversion/LLVMCommon/TypeConverter.cpp

  Log Message:
  -----------
  [mlir] Remove extra ';' outside of a function (NFC)

/llvm-project/mlir/lib/Conversion/LLVMCommon/TypeConverter.cpp:51:2:
error: extra ';' outside of a function is incompatible with C++98 [-Werror,-Wc++98-compat-extra-semi]
};
 ^
/llvm-project/mlir/lib/Conversion/LLVMCommon/TypeConverter.cpp:97:2:
error: extra ';' outside of a function is incompatible with C++98 [-Werror,-Wc++98-compat-extra-semi]
};
 ^
2 errors generated.


  Commit: adb849e79f144e132b169268a2784202d24e80ca
      https://github.com/llvm/llvm-project/commit/adb849e79f144e132b169268a2784202d24e80ca
  Author: Sam Elliott <quic_aelliott at quicinc.com>
  Date:   2024-12-23 (Mon, 23 Dec 2024)

  Changed paths:
    R llvm/test/MC/RISCV/rv32c-valid.s
    R llvm/test/MC/RISCV/rv32d-valid.s
    R llvm/test/MC/RISCV/rv32e-invalid.s
    R llvm/test/MC/RISCV/rv32e-valid.s
    R llvm/test/MC/RISCV/rv32f-valid.s
    R llvm/test/MC/RISCV/rv32i-valid.s
    R llvm/test/MC/RISCV/rv32ih-aliases-valid.s
    R llvm/test/MC/RISCV/rv32ih-valid.s
    R llvm/test/MC/RISCV/rv32m-valid.s
    R llvm/test/MC/RISCV/rv32xtheadbs-valid.s
    R llvm/test/MC/RISCV/rv32zaamo-valid.s
    R llvm/test/MC/RISCV/rv32zacas-valid.s
    R llvm/test/MC/RISCV/rv32zalasr-valid.s
    R llvm/test/MC/RISCV/rv32zalrsc-valid.s
    R llvm/test/MC/RISCV/rv32zba-valid.s
    R llvm/test/MC/RISCV/rv32zbb-valid.s
    R llvm/test/MC/RISCV/rv32zbc-valid.s
    R llvm/test/MC/RISCV/rv32zbkb-valid.s
    R llvm/test/MC/RISCV/rv32zbkc-valid.s
    R llvm/test/MC/RISCV/rv32zbkx-valid.s
    R llvm/test/MC/RISCV/rv32zbs-valid.s
    R llvm/test/MC/RISCV/rv32zcb-invalid.s
    R llvm/test/MC/RISCV/rv32zcb-valid.s
    R llvm/test/MC/RISCV/rv32zcmt-invalid.s
    R llvm/test/MC/RISCV/rv32zcmt-valid.s
    R llvm/test/MC/RISCV/rv32zdinx-valid.s
    R llvm/test/MC/RISCV/rv32zfbfmin-invalid.s
    R llvm/test/MC/RISCV/rv32zfbfmin-valid.s
    R llvm/test/MC/RISCV/rv32zfh-valid.s
    R llvm/test/MC/RISCV/rv32zfhmin-invalid.s
    R llvm/test/MC/RISCV/rv32zfhmin-valid.s
    R llvm/test/MC/RISCV/rv32zfinx-valid.s
    R llvm/test/MC/RISCV/rv32zhinx-valid.s
    R llvm/test/MC/RISCV/rv32zhinxmin-valid.s
    R llvm/test/MC/RISCV/rv32zicbom-invalid.s
    R llvm/test/MC/RISCV/rv32zicbom-valid.s
    R llvm/test/MC/RISCV/rv32zicbop-invalid.s
    R llvm/test/MC/RISCV/rv32zicbop-valid.s
    R llvm/test/MC/RISCV/rv32zicboz-invalid.s
    R llvm/test/MC/RISCV/rv32zicboz-valid.s
    R llvm/test/MC/RISCV/rv32zicond-invalid.s
    R llvm/test/MC/RISCV/rv32zicond-valid.s
    R llvm/test/MC/RISCV/rv32zihintntl-invalid.s
    R llvm/test/MC/RISCV/rv32zihintntl-valid.s
    R llvm/test/MC/RISCV/rv32zihintntlc-invalid.s
    R llvm/test/MC/RISCV/rv32zihintntlc-valid.s
    R llvm/test/MC/RISCV/rv32zihintpause-valid.s
    R llvm/test/MC/RISCV/rv32zknh-valid.s
    R llvm/test/MC/RISCV/rv32zksed-valid.s
    R llvm/test/MC/RISCV/rv32zksh-valid.s
    A llvm/test/MC/RISCV/rvc-valid.s
    A llvm/test/MC/RISCV/rvd-valid.s
    A llvm/test/MC/RISCV/rve-invalid.s
    A llvm/test/MC/RISCV/rve-valid.s
    A llvm/test/MC/RISCV/rvf-valid.s
    A llvm/test/MC/RISCV/rvi-valid.s
    A llvm/test/MC/RISCV/rvih-aliases-valid.s
    A llvm/test/MC/RISCV/rvih-valid.s
    A llvm/test/MC/RISCV/rvm-valid.s
    A llvm/test/MC/RISCV/rvxtheadbs-valid.s
    A llvm/test/MC/RISCV/rvzaamo-valid.s
    A llvm/test/MC/RISCV/rvzacas-valid.s
    A llvm/test/MC/RISCV/rvzalasr-valid.s
    A llvm/test/MC/RISCV/rvzalrsc-valid.s
    A llvm/test/MC/RISCV/rvzba-valid.s
    A llvm/test/MC/RISCV/rvzbb-valid.s
    A llvm/test/MC/RISCV/rvzbc-valid.s
    A llvm/test/MC/RISCV/rvzbkb-valid.s
    A llvm/test/MC/RISCV/rvzbkc-valid.s
    A llvm/test/MC/RISCV/rvzbkx-valid.s
    A llvm/test/MC/RISCV/rvzbs-valid.s
    A llvm/test/MC/RISCV/rvzcb-invalid.s
    A llvm/test/MC/RISCV/rvzcb-valid.s
    A llvm/test/MC/RISCV/rvzcmt-invalid.s
    A llvm/test/MC/RISCV/rvzcmt-valid.s
    A llvm/test/MC/RISCV/rvzdinx-valid.s
    A llvm/test/MC/RISCV/rvzfbfmin-invalid.s
    A llvm/test/MC/RISCV/rvzfbfmin-valid.s
    A llvm/test/MC/RISCV/rvzfh-valid.s
    A llvm/test/MC/RISCV/rvzfhmin-invalid.s
    A llvm/test/MC/RISCV/rvzfhmin-valid.s
    A llvm/test/MC/RISCV/rvzfinx-valid.s
    A llvm/test/MC/RISCV/rvzhinx-valid.s
    A llvm/test/MC/RISCV/rvzhinxmin-valid.s
    A llvm/test/MC/RISCV/rvzicbom-invalid.s
    A llvm/test/MC/RISCV/rvzicbom-valid.s
    A llvm/test/MC/RISCV/rvzicbop-invalid.s
    A llvm/test/MC/RISCV/rvzicbop-valid.s
    A llvm/test/MC/RISCV/rvzicboz-invalid.s
    A llvm/test/MC/RISCV/rvzicboz-valid.s
    A llvm/test/MC/RISCV/rvzicond-invalid.s
    A llvm/test/MC/RISCV/rvzicond-valid.s
    A llvm/test/MC/RISCV/rvzihintntl-invalid.s
    A llvm/test/MC/RISCV/rvzihintntl-valid.s
    A llvm/test/MC/RISCV/rvzihintntlc-invalid.s
    A llvm/test/MC/RISCV/rvzihintntlc-valid.s
    A llvm/test/MC/RISCV/rvzihintpause-valid.s
    A llvm/test/MC/RISCV/rvzknh-valid.s
    A llvm/test/MC/RISCV/rvzksed-valid.s
    A llvm/test/MC/RISCV/rvzksh-valid.s

  Log Message:
  -----------
  [RISCV][NFCI] Rename rv32+rv64 testcases (#120717)

All these testcases were called `rv32<something>.s`, but had equivalent
RUN lines for both riscv32 and riscv64. This made it hard to add tests
which are only valid on one of riscv32 or riscv64.

This change makes the tests follow a naming convention:
- `rv32*.s` means a test for riscv32-specific behaviour
- `rv64*.s` means a test for riscv64-specific behaviour
- `rv*.s` (without 64 or 32) means a test for both base architectures -
the majority of tests/behaviour.

This should make it easier to add and name extension-specific tests
which do depend on the base architecture.


  Commit: 29c89d7265329c530a6a2cb0307218004cc2ba53
      https://github.com/llvm/llvm-project/commit/29c89d7265329c530a6a2cb0307218004cc2ba53
  Author: Simon Pilgrim <llvm-dev at redking.me.uk>
  Date:   2024-12-23 (Mon, 23 Dec 2024)

  Changed paths:
    M llvm/lib/Transforms/Vectorize/VectorCombine.cpp
    M llvm/test/Transforms/PhaseOrdering/X86/hadd.ll
    M llvm/test/Transforms/VectorCombine/AArch64/select-shuffle.ll

  Log Message:
  -----------
  [VectorCombine] foldShuffleOfShuffles - fold "shuffle (shuffle x, y, m1), (shuffle y, x, m2)" -> "shuffle x, y, m3" (#120959)

foldShuffleOfShuffles currently only folds unary shuffles to ensure we don't end up with a merged shuffle with more than 2 sources, but this prevented cases where both shuffles were sharing sources.

This patch generalizes the merge process to find up to 2 sources as it merges with the inner shuffles, it also moves the undef/poison handling stages into the merge loop as well.

Fixes #120764


  Commit: 723aeaf336c3e6b09b74fc704b49b8a85ed91605
      https://github.com/llvm/llvm-project/commit/723aeaf336c3e6b09b74fc704b49b8a85ed91605
  Author: NAKAMURA Takumi <geek4civic at gmail.com>
  Date:   2024-12-24 (Tue, 24 Dec 2024)

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

  Log Message:
  -----------
  [bazel] Fixup for #119199, FrontendAtomic


  Commit: d039ac3955f0809f880f2e22896c5814d724dd80
      https://github.com/llvm/llvm-project/commit/d039ac3955f0809f880f2e22896c5814d724dd80
  Author: Petr Hosek <phosek at google.com>
  Date:   2024-12-23 (Mon, 23 Dec 2024)

  Changed paths:
    M libcxx/include/stdio.h
    M libcxx/include/stdlib.h
    M libcxx/include/wchar.h

  Log Message:
  -----------
  [libcxx] Remove the second inclusion of the system header (#120946)

This was introduced in #119025 and not only seems unnecessary, it broke
the build with older versions of glibc.


  Commit: 902e62cf15229a4ef32d12cd4ee083e3a58c447b
      https://github.com/llvm/llvm-project/commit/902e62cf15229a4ef32d12cd4ee083e3a58c447b
  Author: Petr Hosek <phosek at google.com>
  Date:   2024-12-23 (Mon, 23 Dec 2024)

  Changed paths:
    M libcxx/include/stdio.h
    M libcxx/include/stdlib.h
    M libcxx/include/wchar.h

  Log Message:
  -----------
  [libcxx] Fix the #endif comments (#120949)

The order of comments is swapped.


  Commit: b85ddba421fa3bd078d6af7295d9f2bab6e4185c
      https://github.com/llvm/llvm-project/commit/b85ddba421fa3bd078d6af7295d9f2bab6e4185c
  Author: Sander de Smalen <sander.desmalen at arm.com>
  Date:   2024-12-23 (Mon, 23 Dec 2024)

  Changed paths:
    M llvm/test/Transforms/Inline/AArch64/sme-pstateza-attrs.ll

  Log Message:
  -----------
  [AArch64] NFC: Fix inlining tests for SME ZA state.

By adding inline-asm to test, we now actually test the code-path they're
meant to test.


  Commit: e3f8c229f5710b52d18300b561925e556407ebee
      https://github.com/llvm/llvm-project/commit/e3f8c229f5710b52d18300b561925e556407ebee
  Author: Simon Pilgrim <llvm-dev at redking.me.uk>
  Date:   2024-12-23 (Mon, 23 Dec 2024)

  Changed paths:
    M llvm/lib/Transforms/Vectorize/VectorCombine.cpp
    M llvm/test/Transforms/PhaseOrdering/X86/hadd.ll
    M llvm/test/Transforms/VectorCombine/X86/extract-binop-inseltpoison.ll

  Log Message:
  -----------
  [VectorCombine] foldInsExtVectorToShuffle - inserting into a poison base vector can be modelled as a single src shuffle

We already canonicalized an undef base vector to the RHS to improve further folding, this extends this to improve the shuffle cost estimate of the single src shuffle


  Commit: 711419e3025678511e3d26c4c30d757f9029d598
      https://github.com/llvm/llvm-project/commit/711419e3025678511e3d26c4c30d757f9029d598
  Author: Slava Zakharin <szakharin at nvidia.com>
  Date:   2024-12-23 (Mon, 23 Dec 2024)

  Changed paths:
    M flang/lib/Optimizer/Transforms/LoopVersioning.cpp
    M flang/test/Transforms/loop-versioning.fir

  Log Message:
  -----------
  [flang] Enable loop-versioning for slices. (#120344)

Loops resulting from array expressions like array(:,i)
may be versioned for the unit stride of the innermost dimension,
when the initial array is an assumed-shape array (which are contiguous
in many Fortran programs).
This speeds up facerec for about 12% due to further vectorization
of the innermost loop produced for the total SUM reduction.


  Commit: dcb7f44cd6419325b62ff5fbbd971bb0dd0b32b1
      https://github.com/llvm/llvm-project/commit/dcb7f44cd6419325b62ff5fbbd971bb0dd0b32b1
  Author: vdonaldson <37090318+vdonaldson at users.noreply.github.com>
  Date:   2024-12-23 (Mon, 23 Dec 2024)

  Changed paths:
    M flang/runtime/exceptions.cpp

  Log Message:
  -----------
  [flang] Modifications to ieee_support_halting (#120976)

The F23 standard requires that a call to intrinsic module procedure
ieee_support_halting be foldable to a constant at compile time in some
contexts. See for example F23 Clause 10.1.11 [Specification expression]
list item (13), Clause 1.1.12 [Constant expression] list item (11), and
references to specification and constant expressions elsewhere, such as
constraints C1012, C853, and C704.

Some Arm processors allow a user to control processor behavior when an
arithmetic exception is signaled, and some Arm processors do not have
this capability. An Arm executable will run on either type of processor,
so it is effectively unknown at compile time whether or not this support
will be available at runtime. This is in conflict with the standard
requirement.

This patch addresses this conflict by implementing ieee_support_halting
calls on Arm processors to check if this capability is present at
runtime. A call to ieee_support_halting in a constant context, such as
in the specification part of a program unit, will generate a compile
time "cannot be computed as a constant value" error. The expectation is
that such calls are unlikely to appear in production code.

Code generation for other processors will continue to generate a compile
time constant result for ieee_support_halting calls.


  Commit: b8952d4b1b0c73bf39d6440ad3166a088ced563f
      https://github.com/llvm/llvm-project/commit/b8952d4b1b0c73bf39d6440ad3166a088ced563f
  Author: Alexey Bataev <a.bataev at outlook.com>
  Date:   2024-12-23 (Mon, 23 Dec 2024)

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

  Log Message:
  -----------
  [RISCV][CG]Use processShuffleMasks for per-register shuffles

Patch adds usage of processShuffleMasks in in codegen
in lowerShuffleViaVRegSplitting. This function is already used for X86
shuffles estimations and in DAGTypeLegalizer::SplitVecRes_VECTOR_SHUFFLE
functions, unifies the code.

Reviewers: preames, topperc, lukel97, wangpc-pp

Reviewed By: wangpc-pp

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


  Commit: 99dddef340e566e9d303010f1219f7d7d6d37a11
      https://github.com/llvm/llvm-project/commit/99dddef340e566e9d303010f1219f7d7d6d37a11
  Author: Dmitry Chestnykh <dm.chestnykh at gmail.com>
  Date:   2024-12-23 (Mon, 23 Dec 2024)

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

  Log Message:
  -----------
  [Clang][Sema] Process warnings conditionally (#120591)

There are a few functions that emit warnings related to positional
arguments in format strings. These functions use `getLocationOfByte()`
which has O(n) complexity and may lead to silent hang of compilation in
some cases. But such warnings is not widely used and actually don't emit
if user didn't pass the appropriate `-W...` flag, so if the flag is not
passed dont make the call to `EmitFormatDiagnostic` for such diags.

Fix #120462


  Commit: d36836de0183b9b1939cc679d153e3b313e55c76
      https://github.com/llvm/llvm-project/commit/d36836de0183b9b1939cc679d153e3b313e55c76
  Author: Valentin Clement (バレンタイン クレメン) <clementval at gmail.com>
  Date:   2024-12-23 (Mon, 23 Dec 2024)

  Changed paths:
    M flang/lib/Optimizer/CodeGen/CodeGen.cpp
    M flang/test/Fir/CUDA/cuda-code-gen.mlir

  Log Message:
  -----------
  [flang][cuda] Create descriptor in managed memory when emboxing fir.box_addr value (#120980)


  Commit: d8e792931226b15d9d2424ecd24ccfe13adc2367
      https://github.com/llvm/llvm-project/commit/d8e792931226b15d9d2424ecd24ccfe13adc2367
  Author: Pranav Kant <prka at google.com>
  Date:   2024-12-23 (Mon, 23 Dec 2024)

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

  Log Message:
  -----------
  [mlir] Fix -Werror,-Wundefined-bool-conversion after #117513 (#120985)


  Commit: 2ce168baed02c7a6fdb039f4a2d9e48dee31e5c9
      https://github.com/llvm/llvm-project/commit/2ce168baed02c7a6fdb039f4a2d9e48dee31e5c9
  Author: Sander de Smalen <sander.desmalen at arm.com>
  Date:   2024-12-23 (Mon, 23 Dec 2024)

  Changed paths:
    M llvm/lib/IR/Verifier.cpp
    M llvm/lib/Target/AArch64/AArch64FastISel.cpp
    M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
    M llvm/lib/Target/AArch64/AArch64ISelLowering.h
    M llvm/lib/Target/AArch64/AArch64MachineFunctionInfo.h
    M llvm/lib/Target/AArch64/AArch64SMEInstrInfo.td
    M llvm/lib/Target/AArch64/AArch64TargetTransformInfo.cpp
    M llvm/lib/Target/AArch64/Utils/AArch64SMEAttributes.cpp
    M llvm/lib/Target/AArch64/Utils/AArch64SMEAttributes.h
    A llvm/test/CodeGen/AArch64/sme-agnostic-za.ll
    M llvm/test/CodeGen/AArch64/sme-disable-gisel-fisel.ll
    M llvm/test/Transforms/Inline/AArch64/sme-pstateza-attrs.ll
    M llvm/test/Verifier/sme-attributes.ll

  Log Message:
  -----------
  [AArch64] SME implementation for agnostic-ZA functions (#120150)

This implements the lowering of calls from agnostic-ZA functions to
non-agnostic-ZA functions, using the ABI routines
`__arm_sme_state_size`, `__arm_sme_save` and `__arm_sme_restore`.

This implements the proposal described in the following PRs:
* https://github.com/ARM-software/acle/pull/336
* https://github.com/ARM-software/abi-aa/pull/264


  Commit: c2b89fc9e45d325282b8eb6536f6145282dc3fdf
      https://github.com/llvm/llvm-project/commit/c2b89fc9e45d325282b8eb6536f6145282dc3fdf
  Author: Ikhlas Ajbar <iajbar at quicinc.com>
  Date:   2024-12-23 (Mon, 23 Dec 2024)

  Changed paths:
    M clang/include/clang/Basic/BuiltinsHexagon.def
    M clang/include/clang/Driver/Options.td
    M clang/lib/Basic/Targets/Hexagon.cpp
    M clang/lib/Headers/hvx_hexagon_protos.h
    M clang/test/Driver/hexagon-toolchain-elf.c
    M clang/test/Misc/target-invalid-cpu-note/hexagon.c
    M clang/test/Preprocessor/hexagon-predefines.c
    M llvm/include/llvm/BinaryFormat/ELF.h
    M llvm/include/llvm/IR/IntrinsicsHexagonDep.td
    M llvm/lib/Target/Hexagon/Hexagon.td
    M llvm/lib/Target/Hexagon/HexagonDepArch.h
    M llvm/lib/Target/Hexagon/HexagonDepArch.td
    M llvm/lib/Target/Hexagon/HexagonDepIICHVX.td
    M llvm/lib/Target/Hexagon/HexagonDepIICScalar.td
    M llvm/lib/Target/Hexagon/HexagonSchedule.td
    M llvm/lib/Target/Hexagon/HexagonScheduleV75.td
    A llvm/lib/Target/Hexagon/HexagonScheduleV79.td
    M llvm/lib/Target/Hexagon/HexagonSubtarget.h
    M llvm/lib/Target/Hexagon/MCTargetDesc/HexagonMCELFStreamer.cpp
    M llvm/lib/Target/Hexagon/MCTargetDesc/HexagonMCTargetDesc.cpp
    M llvm/test/MC/Hexagon/arch-support.s
    A llvm/test/MC/Hexagon/v79_arch.s

  Log Message:
  -----------
  [Hexagon] Add V79 support to compiler and assembler (#120983)

This patch introduces support for the Hexagon V79 architecture. It
includes instruction formats, definitions, encodings, scheduling
classes, and builtins/intrinsics. It also adds missing Hexagon v73
builtins to clang.


  Commit: c7a777322dd8cc171cea9bbc8dbad14277b3587a
      https://github.com/llvm/llvm-project/commit/c7a777322dd8cc171cea9bbc8dbad14277b3587a
  Author: Florian Hahn <flo at fhahn.com>
  Date:   2024-12-23 (Mon, 23 Dec 2024)

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

  Log Message:
  -----------
  [VPlan] Replace else-if dyn_cast with cast (NFC).

The recipes handled here are either VPWidenIntrinsic or VPWidenCast, so
replace the else-if dyn_cast with a single else + cast.


  Commit: 4ad3de3d4d2acb1fed551b6af67ca42f8dce59e6
      https://github.com/llvm/llvm-project/commit/4ad3de3d4d2acb1fed551b6af67ca42f8dce59e6
  Author: Vitaly Buka <vitalybuka at google.com>
  Date:   2024-12-23 (Mon, 23 Dec 2024)

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

  Log Message:
  -----------
  [NFC][Driver] Simplify linking of ubsan_standalone_cxx (#120938)

Refactoring before linking it only with CFI diag or VPTR.

Almost NFC as `requiresMinimalRuntime() && needsCfiDiagRt()` changed,
but it  was unsupported before anyway.


  Commit: 5b74fb75d90ef6620741af45f146cefacbd9ecef
      https://github.com/llvm/llvm-project/commit/5b74fb75d90ef6620741af45f146cefacbd9ecef
  Author: Valentin Clement (バレンタイン クレメン) <clementval at gmail.com>
  Date:   2024-12-23 (Mon, 23 Dec 2024)

  Changed paths:
    M flang/include/flang/Runtime/CUDA/allocator.h
    M flang/include/flang/Runtime/CUDA/common.h
    M flang/include/flang/Runtime/allocatable.h
    M flang/include/flang/Runtime/allocator-registry.h
    M flang/include/flang/Runtime/descriptor.h
    M flang/lib/Lower/Allocatable.cpp
    M flang/lib/Optimizer/Builder/Runtime/Allocatable.cpp
    M flang/runtime/CUDA/allocatable.cpp
    M flang/runtime/CUDA/allocator.cpp
    M flang/runtime/CUDA/descriptor.cpp
    M flang/runtime/allocatable.cpp
    M flang/runtime/array-constructor.cpp
    M flang/runtime/descriptor.cpp
    M flang/test/HLFIR/elemental-codegen.fir
    M flang/test/Lower/OpenACC/acc-declare.f90
    M flang/test/Lower/allocatable-polymorphic.f90
    M flang/test/Lower/allocatable-runtime.f90
    M flang/test/Lower/allocate-mold.f90
    M flang/test/Lower/polymorphic.f90
    M flang/unittests/Runtime/CUDA/Allocatable.cpp
    M flang/unittests/Runtime/CUDA/AllocatorCUF.cpp
    M flang/unittests/Runtime/CUDA/Memory.cpp

  Log Message:
  -----------
  Reland '[flang] Allow to pass an async id to allocate the descriptor (#118713)' and #118733 (#120997)

Device runtime build have been fixed. Attempt to re-land these patches
that have been approved before.

https://github.com/llvm/llvm-project/pull/118713
https://github.com/llvm/llvm-project/pull/118733


  Commit: a60050cf1966eb8d46253c8da13df52ac8b9ec33
      https://github.com/llvm/llvm-project/commit/a60050cf1966eb8d46253c8da13df52ac8b9ec33
  Author: Hongren Zheng <i at zenithal.me>
  Date:   2024-12-23 (Mon, 23 Dec 2024)

  Changed paths:
    M mlir/include/mlir/Analysis/DataFlowFramework.h

  Log Message:
  -----------
  [mlir][dataflow] Allow re-run all analyses in DataFlowSolver (#120881)

In downstream (check https://github.com/google/heir/pull/1228,
especially [this
commit](https://github.com/ZenithalHourlyRate/heir/commit/fbf0b2733f1f60e852c757602afac65a4364e30c);
also check https://github.com/google/heir/pull/1154) we often need to
re-run the analysis during the transformation pass as IR get changed
based on the analysis result and analysis continuously get invalidated.

There are solutions to it like `getOrCreateState` for newly created
`Value` (`AnchorT`), but warning is that the new state does not
propagate! This is quite unexpected as user of analysis would expect it
to propagate. We downstream used to use `solver->propagateIfChanged` but
that turned out to be not working, see detailed writeup in
https://github.com/google/heir/issues/1153.

Just call `initializeAndRun` repeatedly also does not solve the problem
as `analysisStates` is not cleared and the monotonicity of
`AnalysisState` will make the analysis invalid as `join` will not work
as expected (the first join is no longer `join(uninitialized, init
value)`, instead it becomes `join(higher value, init value)`.

To correctly re-run the analysis, either a new `DataFlowSolver` is
created, or we can just clear the `analysisState`.


  Commit: 927a70daf31b1610627f346b0dc140eda72144b9
      https://github.com/llvm/llvm-project/commit/927a70daf31b1610627f346b0dc140eda72144b9
  Author: Muhammad Omair Javaid <omair.javaid at linaro.org>
  Date:   2024-12-24 (Tue, 24 Dec 2024)

  Changed paths:
    M flang/lib/Lower/OpenMP/OpenMP.cpp
    A flang/test/Lower/OpenMP/Todo/task_untied.f90
    M flang/test/Lower/OpenMP/task.f90
    M mlir/lib/Target/LLVMIR/Dialect/OpenMP/OpenMPToLLVMIRTranslation.cpp
    M mlir/test/Target/LLVMIR/openmp-llvm.mlir
    M mlir/test/Target/LLVMIR/openmp-todo.mlir

  Log Message:
  -----------
  Revert "[Flang OpenMP] Add LLVM translation support for UNTIED in Task (#115283)"

This reverts commit 919aead1db64b2f1444842bc75a3af7836238671.
It breaks following LLVM bots:
https://lab.llvm.org/buildbot/#/builders/199
https://lab.llvm.org/buildbot/#/builders/143
https://lab.llvm.org/buildbot/#/builders/17


  Commit: fbdf652d970322a00f61333f1ca10facb72f0cbb
      https://github.com/llvm/llvm-project/commit/fbdf652d970322a00f61333f1ca10facb72f0cbb
  Author: Alexey Bataev <a.bataev at outlook.com>
  Date:   2024-12-23 (Mon, 23 Dec 2024)

  Changed paths:
    A llvm/test/Analysis/CostModel/RISCV/shuffle-exact-vlen.ll

  Log Message:
  -----------
  [RISCV][COST]Add several test with known vlen, NFC


  Commit: ba373096e8ac83a7136fc44bc4e71a7bc53417a6
      https://github.com/llvm/llvm-project/commit/ba373096e8ac83a7136fc44bc4e71a7bc53417a6
  Author: Igor Kudrin <ikudrin at accesssoftek.com>
  Date:   2024-12-23 (Mon, 23 Dec 2024)

  Changed paths:
    M llvm/lib/ObjectYAML/ELFEmitter.cpp
    M llvm/test/tools/yaml2obj/ELF/note-section.yaml

  Log Message:
  -----------
  [ObjectYAML][ELF] Report incorrect offset to generate notes (#118741)

All notes in the note section must be correctly aligned, including the
first. The tool should refuse to generate notes if the section offset is
incorrect in this respect.


  Commit: 1c25a3bfa57209e7a29eaae58ce5e0432aafe8c3
      https://github.com/llvm/llvm-project/commit/1c25a3bfa57209e7a29eaae58ce5e0432aafe8c3
  Author: NAKAMURA Takumi <geek4civic at gmail.com>
  Date:   2024-12-24 (Tue, 24 Dec 2024)

  Changed paths:
    M clang/test/CoverageMapping/single-byte-counters.cpp
    A llvm/test/tools/llvm-cov/Inputs/branch-c-general-single.proftext
    A llvm/test/tools/llvm-cov/Inputs/branch-c-general-single.yaml
    M llvm/test/tools/llvm-cov/Inputs/branch-c-general.c
    A llvm/test/tools/llvm-cov/Inputs/branch-logical-mixed-single.proftext
    A llvm/test/tools/llvm-cov/Inputs/branch-logical-mixed-single.yaml
    A llvm/test/tools/llvm-cov/Inputs/branch-logical-mixed.cpp
    A llvm/test/tools/llvm-cov/Inputs/branch-macros-single.proftext
    A llvm/test/tools/llvm-cov/Inputs/branch-macros-single.yaml
    A llvm/test/tools/llvm-cov/Inputs/branch-macros.cpp
    A llvm/test/tools/llvm-cov/Inputs/branch-showBranchPercentage.c
    A llvm/test/tools/llvm-cov/Inputs/branch-templates-single.proftext
    A llvm/test/tools/llvm-cov/Inputs/branch-templates-single.yaml
    A llvm/test/tools/llvm-cov/Inputs/branch-templates.cpp
    A llvm/test/tools/llvm-cov/Inputs/showLineExecutionCounts-single.proftext
    A llvm/test/tools/llvm-cov/Inputs/showLineExecutionCounts-single.yaml
    A llvm/test/tools/llvm-cov/Inputs/showLineExecutionCounts.cpp
    A llvm/test/tools/llvm-cov/Inputs/yaml.makefile
    M llvm/test/tools/llvm-cov/branch-c-general.test
    R llvm/test/tools/llvm-cov/branch-logical-mixed.cpp
    A llvm/test/tools/llvm-cov/branch-logical-mixed.test
    R llvm/test/tools/llvm-cov/branch-macros.cpp
    A llvm/test/tools/llvm-cov/branch-macros.test
    M llvm/test/tools/llvm-cov/branch-noShowBranch.test
    R llvm/test/tools/llvm-cov/branch-showBranchPercentage.c
    A llvm/test/tools/llvm-cov/branch-showBranchPercentage.test
    R llvm/test/tools/llvm-cov/branch-templates.cpp
    A llvm/test/tools/llvm-cov/branch-templates.test
    R llvm/test/tools/llvm-cov/showLineExecutionCounts.cpp
    A llvm/test/tools/llvm-cov/showLineExecutionCounts.test
    R llvm/test/tools/llvm-cov/threads.c
    A llvm/test/tools/llvm-cov/threads.test

  Log Message:
  -----------
  Introduce SingleByteCoverage tests (w/yaml2obj) (#113114)

Restructure some tests to split into `%.test` and Inputs/%.c*`.

Add test actions with `yaml2obj` for single byte coverage. `FileCheck`
lines are:
- Relax to accept both counter values and single values `1`. A few line
counting are greater than `1` due to `llvm-profdata merge`. They will be
fixed by #110972.
- Suppress matching with `--check-prefixes=CHECK,BRCOV`, since the
current implementation of single byte doesn't emit any branch coverages.
They will be integrated to `CHECK` finally.
- Some tests are not unified but use dedicated `CHECK` lines for single
byte, since old format is different (esp. "partial fold"). They will be
unified when `Inputs` will be regenerated.

Introduce llvm/test/tools/llvm-cov/Inputs/yaml.makefile for convenience.
`%-single.yaml` and `%-single.proftext` are generated by it. It could be
used to regenerate other files.


https://discourse.llvm.org/t/rfc-integrating-singlebytecoverage-with-branch-coverage/82492


  Commit: 378e1793379c9c63a4265ecf55c47308410ed25d
      https://github.com/llvm/llvm-project/commit/378e1793379c9c63a4265ecf55c47308410ed25d
  Author: Krzysztof Drewniak <Krzysztof.Drewniak at amd.com>
  Date:   2024-12-23 (Mon, 23 Dec 2024)

  Changed paths:
    M mlir/docs/DefiningDialects/Operations.md
    M mlir/include/mlir/Dialect/Affine/IR/AffineOps.td
    M mlir/include/mlir/Dialect/LLVMIR/LLVMOps.td
    M mlir/include/mlir/IR/Properties.td
    M mlir/test/lib/Dialect/Test/TestOps.td
    M mlir/test/lib/Dialect/Test/TestOpsSyntax.td
    M mlir/test/mlir-tblgen/op-format-invalid.td
    M mlir/test/mlir-tblgen/op-properties-predicates.td
    M mlir/test/mlir-tblgen/op-properties.td
    M mlir/tools/mlir-tblgen/OpFormatGen.cpp

  Log Message:
  -----------
  [mlir][Properties] Shorten "Property" to "Prop" in most places (#120368)

Since the property system isn't currently in heavy use, it's probably
the right time to fix a choice I made when expanding ODS property
support.

Specifically, most of the property subclasses, like OptionalProperty or
IntProperty, wrote out the word "Property" in full. The corresponding
classes in the Attribute hierarchy uses the short-form "Attr" in those
cases, as in OptionalAttr or DefaultValuedAttr.

This commit changes all those uses of "Property" to "Prop" in order to
prevent excessively verbose tablegen files that needlessly repeat the
full name of a core concept that can be abbreviated.

So, this commit renames all the FooProperty classes to FooProp, and
keeps the existing names as alias with a Deprecated<> on them to warn
people.

In addition, this commit updates the documentation around properties to
mention the constraint support.


  Commit: 5db5dd7689b39c1c50f229f22e9d23b5475d51e1
      https://github.com/llvm/llvm-project/commit/5db5dd7689b39c1c50f229f22e9d23b5475d51e1
  Author: Krzysztof Drewniak <Krzysztof.Drewniak at amd.com>
  Date:   2024-12-23 (Mon, 23 Dec 2024)

  Changed paths:
    M mlir/docs/DefiningDialects/Operations.md

  Log Message:
  -----------
  [mlir][NFC] Document predicate field on properties (#120975)


  Commit: ac586fd204e92b76b1ee255342ba26a45a29a1d9
      https://github.com/llvm/llvm-project/commit/ac586fd204e92b76b1ee255342ba26a45a29a1d9
  Author: Prabhuk <prabhukr at google.com>
  Date:   2024-12-23 (Mon, 23 Dec 2024)

  Changed paths:
    M clang/lib/Basic/Targets/OSTargets.h
    A clang/test/Driver/uefi-defines.c
    M clang/test/Preprocessor/init.c

  Log Message:
  -----------
  [clang] Introduce a new UEFI target predefine. (#111719)

Add a `__UEFI__` predefine for UEFI target.

Co-authored-by: RossComputerGuy


  Commit: dbae7176a6ecf558dc5e92016cdda387c9d74d66
      https://github.com/llvm/llvm-project/commit/dbae7176a6ecf558dc5e92016cdda387c9d74d66
  Author: Vy Nguyen <vyng at google.com>
  Date:   2024-12-23 (Mon, 23 Dec 2024)

  Changed paths:
    A llvm/docs/Telemetry.rst
    M llvm/docs/UserGuides.rst
    A llvm/docs/llvm_telemetry_design.png
    A llvm/include/llvm/Telemetry/Telemetry.h
    M llvm/lib/CMakeLists.txt
    A llvm/lib/Telemetry/CMakeLists.txt
    A llvm/lib/Telemetry/Telemetry.cpp
    M llvm/unittests/CMakeLists.txt
    A llvm/unittests/Telemetry/CMakeLists.txt
    A llvm/unittests/Telemetry/TelemetryTest.cpp

  Log Message:
  -----------
  Reapply "[llvm]Add a simple Telemetry framework" (#120769) (#121003)

This reverts commit 2ec6174bef4bc9ef3d5cedbffd7169017c9669c3.

New changes:
 - Use explicit overloads of write(<int types>)
 - Fix link error due to missing dependency (lib/Support)
 - Updated tests and docs


  Commit: 275a27703ec9100a4984d1d0a366d50d3dc887ea
      https://github.com/llvm/llvm-project/commit/275a27703ec9100a4984d1d0a366d50d3dc887ea
  Author: NAKAMURA Takumi <geek4civic at gmail.com>
  Date:   2024-12-24 (Tue, 24 Dec 2024)

  Changed paths:
    M llvm/lib/ProfileData/Coverage/CoverageMapping.cpp
    M llvm/test/tools/llvm-cov/Inputs/branch-logical-mixed.cpp
    M llvm/test/tools/llvm-cov/branch-macros.test
    M llvm/test/tools/llvm-cov/showLineExecutionCounts.test

  Log Message:
  -----------
  [Coverage][Single] Round Counters to boolean after evaluation (#110972)

Rounding in merging segments has been done after #75425.

Depends on: #113114


  Commit: 93d4b1f7a72f366c1ea91b2d65991266053be8d9
      https://github.com/llvm/llvm-project/commit/93d4b1f7a72f366c1ea91b2d65991266053be8d9
  Author: Lang Hames <lhames at gmail.com>
  Date:   2024-12-24 (Tue, 24 Dec 2024)

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

  Log Message:
  -----------
  Reapply "[llvm-jitlink] Use concurrent linking by default." with fixes. (#120958)

Reapplies commit edca1d9bad2 which was reverted in 34531cff638 while I
investigated bot failures, (e.g.
https://lab.llvm.org/buildbot/#/builders/137/builds/10791).

Commit 158a60051d2 should address the -check failures on the bots, which
were caused by checks running earlier under the concurrent linking
scheme before all files referenced by the checks had been fully linked.
This patch also fixes the -threads option failure by renaming the option
to -num-threads to avoid clashing with the ThreadCount cl::opt variable
defined in ThinLTOCodeGenerator.cpp.


  Commit: 9ab5474e560292d15cb53ed94d248d7e5f54787d
      https://github.com/llvm/llvm-project/commit/9ab5474e560292d15cb53ed94d248d7e5f54787d
  Author: Benjamin Maxwell <benjamin.maxwell at arm.com>
  Date:   2024-12-23 (Mon, 23 Dec 2024)

  Changed paths:
    M llvm/include/llvm/IR/VectorTypeUtils.h
    M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
    M llvm/lib/Transforms/Vectorize/VPlanRecipes.cpp

  Log Message:
  -----------
  [LV] Rename `ToVectorTy` to `toVectorTy` (NFC) (#120404)

This is for consistency with other helpers (and also follows the LLVM
naming conventions).


  Commit: 9d0a5d4620a2aa5dc01b150e5ebe7613238cae1c
      https://github.com/llvm/llvm-project/commit/9d0a5d4620a2aa5dc01b150e5ebe7613238cae1c
  Author: Vitaly Buka <vitalybuka at google.com>
  Date:   2024-12-23 (Mon, 23 Dec 2024)

  Changed paths:
    M llvm/include/llvm/Telemetry/Telemetry.h

  Log Message:
  -----------
  [Telemetry] Add missing virtual destructors (#121015)

Fixes warnings after #121003.


  Commit: 030829a7e53fad0eab9b87b5dd49427e9fb13303
      https://github.com/llvm/llvm-project/commit/030829a7e53fad0eab9b87b5dd49427e9fb13303
  Author: Alexey Bataev <a.bataev at outlook.com>
  Date:   2024-12-23 (Mon, 23 Dec 2024)

  Changed paths:
    M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
    M llvm/test/Transforms/SLPVectorizer/X86/buildvector-schedule-for-subvector.ll

  Log Message:
  -----------
  [SLP]Drop samesign flag if the vector node has reduced bitwidth

If the operands of the icmp instructions has reduced bitwidth after
MinBitwidth analysis, need to drop samesign flag to preserve correctness
of the transformation.

Fixes #120823


  Commit: 0d6a584f69f07cfb900cdf6c83a10e872a5861f9
      https://github.com/llvm/llvm-project/commit/0d6a584f69f07cfb900cdf6c83a10e872a5861f9
  Author: Ryotaro Kasuga <kasuga.ryotaro at fujitsu.com>
  Date:   2024-12-24 (Tue, 24 Dec 2024)

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

  Log Message:
  -----------
  [MachinePipeliner] Add an abstract layer to manipulate Data Dependenc… (#109918)

…e Graph

In MachinePipeliner, a DAG class is used to represent the Data
Dependence Graph. Data Dependence Graph generally contains cycles, so
it's not appropriate to use DAG classes. In fact, some "hacks" are used
to express back-edges in the current implementation. This patch adds a
new class to provide a better interface for manipulating dependencies.
Our approach is as follows:

- To build the graph, we use the ScheduleDAGInstrs class as it is,
because it has powerful functions and the current implementation depends
heavily on it.
- After the graph construction is finished (i.e., during scheduling), we
use the new class DataDependenceGraph to manipulate the dependencies.

Since we don't change the dependencies during scheduling, the new class
only provides functions to read them. Also, this patch is just a
refactoring, i.e., scheduling results should not change with or without
this patch.


  Commit: 7d166fa38470a23f3134a3793b9236b2a5c68fcf
      https://github.com/llvm/llvm-project/commit/7d166fa38470a23f3134a3793b9236b2a5c68fcf
  Author: khaki3 <47756807+khaki3 at users.noreply.github.com>
  Date:   2024-12-23 (Mon, 23 Dec 2024)

  Changed paths:
    M flang/runtime/CUDA/kernel.cpp

  Log Message:
  -----------
  [flang][cuda] Correct the number of blocks when setting the grid to `*` (#121000)

We set the `gridX` argument of `_FortranACUFLaunchKernel` to `-1` when
`*` is passed to the grid parameter. We store it in one of `dim3`
members. However, `dim3` members are unsigned, so positive-value checks
we use later, such as `gridDim.x > 0`, are invalid. This PR utilizes the
original gird-size arguments to compute the number of blocks.


  Commit: 2c95e60df53ba1a5765b3fad9e8ddaff70f21994
      https://github.com/llvm/llvm-project/commit/2c95e60df53ba1a5765b3fad9e8ddaff70f21994
  Author: NAKAMURA Takumi <geek4civic at gmail.com>
  Date:   2024-12-24 (Tue, 24 Dec 2024)

  Changed paths:
    M llvm/unittests/Telemetry/TelemetryTest.cpp

  Log Message:
  -----------
  TelemetryTest.cpp: Suppress a warning in #121003 [-Wunused-private-field]


  Commit: 7ec139ad4bc09857ab2b93926feef0d110071668
      https://github.com/llvm/llvm-project/commit/7ec139ad4bc09857ab2b93926feef0d110071668
  Author: NAKAMURA Takumi <geek4civic at gmail.com>
  Date:   2024-12-24 (Tue, 24 Dec 2024)

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

  Log Message:
  -----------
  Revert "Reapply "[llvm-jitlink] Use concurrent linking by default." with fixes. (#120958)"

Caused random failures.

This reverts commit 93d4b1f7a72f366c1ea91b2d65991266053be8d9.
(llvmorg-20-init-16299-g93d4b1f7a72f)


  Commit: 4cb2a519db10f54815c8a4ccd5accbedc1cdfd07
      https://github.com/llvm/llvm-project/commit/4cb2a519db10f54815c8a4ccd5accbedc1cdfd07
  Author: Valentin Clement (バレンタイン クレメン) <clementval at gmail.com>
  Date:   2024-12-23 (Mon, 23 Dec 2024)

  Changed paths:
    M flang/include/flang/Runtime/CUDA/allocator.h
    M flang/include/flang/Runtime/CUDA/common.h
    M flang/include/flang/Runtime/allocatable.h
    M flang/include/flang/Runtime/allocator-registry.h
    M flang/include/flang/Runtime/descriptor.h
    M flang/lib/Lower/Allocatable.cpp
    M flang/lib/Optimizer/Builder/Runtime/Allocatable.cpp
    M flang/runtime/CUDA/allocatable.cpp
    M flang/runtime/CUDA/allocator.cpp
    M flang/runtime/CUDA/descriptor.cpp
    M flang/runtime/allocatable.cpp
    M flang/runtime/array-constructor.cpp
    M flang/runtime/descriptor.cpp
    M flang/test/HLFIR/elemental-codegen.fir
    M flang/test/Lower/OpenACC/acc-declare.f90
    M flang/test/Lower/allocatable-polymorphic.f90
    M flang/test/Lower/allocatable-runtime.f90
    M flang/test/Lower/allocate-mold.f90
    M flang/test/Lower/polymorphic.f90
    M flang/unittests/Runtime/CUDA/Allocatable.cpp
    M flang/unittests/Runtime/CUDA/AllocatorCUF.cpp
    M flang/unittests/Runtime/CUDA/Memory.cpp

  Log Message:
  -----------
  Revert "Reland '[flang] Allow to pass an async id to allocate the descriptor (#118713)' and #118733" (#121029)

This still cause issue for device runtime build.


  Commit: df12983610dfb4f33ab4fa406a267f39d4c65248
      https://github.com/llvm/llvm-project/commit/df12983610dfb4f33ab4fa406a267f39d4c65248
  Author: vdonaldson <37090318+vdonaldson at users.noreply.github.com>
  Date:   2024-12-24 (Tue, 24 Dec 2024)

  Changed paths:
    M flang/runtime/exceptions.cpp

  Log Message:
  -----------
  [flang] build fix (#121032)

Place floating point environment calls under '#ifdef __USE_GNU'.


  Commit: ccbbacf0fa98bd386c0a7b3bdfb85c43e7db1a93
      https://github.com/llvm/llvm-project/commit/ccbbacf0fa98bd386c0a7b3bdfb85c43e7db1a93
  Author: David Green <david.green at arm.com>
  Date:   2024-12-24 (Tue, 24 Dec 2024)

  Changed paths:
    M llvm/lib/Target/ARM/MVEGatherScatterLowering.cpp
    M llvm/test/CodeGen/Thumb2/mve-gather-increment.ll

  Log Message:
  -----------
  [ARM] Fix MVE incrementing gather offset calculation

The code was checking the gep ptr type as opposed to the gep source element
type in calculating the offset scale.

Fixes #120993


  Commit: c84f5a9e00c02e6a4349846ed59ec85154b65e3f
      https://github.com/llvm/llvm-project/commit/c84f5a9e00c02e6a4349846ed59ec85154b65e3f
  Author: Aiden Grossman <aidengrossman at google.com>
  Date:   2024-12-24 (Tue, 24 Dec 2024)

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

  Log Message:
  -----------
  [Github] Skip MIR files for undef check (#120919)

This patch skips checking files with a .mir extension for the presence
of undef. This was creating false positives that got reported on
discourse.


  Commit: b2073fb9b9282c0f59861a137660f6a0782d7468
      https://github.com/llvm/llvm-project/commit/b2073fb9b9282c0f59861a137660f6a0782d7468
  Author: Momchil Velikov <momchil.velikov at arm.com>
  Date:   2024-12-24 (Tue, 24 Dec 2024)

  Changed paths:
    M llvm/lib/Target/AArch64/AArch64ISelDAGToDAG.cpp
    M llvm/lib/Target/AArch64/AArch64InstrInfo.td
    M llvm/lib/Target/AArch64/AArch64SVEInstrInfo.td
    M llvm/lib/Target/AArch64/SVEInstrFormats.td
    M llvm/test/CodeGen/AArch64/zeroing-forms-abs-neg.ll
    M llvm/test/CodeGen/AArch64/zeroing-forms-fcvt-bfcvt.ll
    M llvm/test/CodeGen/AArch64/zeroing-forms-fcvtlt-fcvtx.ll
    M llvm/test/CodeGen/AArch64/zeroing-forms-fcvtzsu.ll

  Log Message:
  -----------
  [AArch64] Prefer SVE2.2 zeroing forms of certain instructions with an all-true predicate (#120595)

When the predicate of a destructive operation is known to be all-true,
for example

    fabs z0.s, p0/m, z1.s

then the entire output register is written and we can use a zeroing
(instead of a merging) form of the instruction, for example

    fabs z0.s, p0/z, z1.s

thus eliminate the dependency on the input-output destination register
without the need to insert a `movprfx`.

This patch complements (and in the case of
https://github.com/llvm/llvm-project/commit/2b3266c1701f315d7e89c81977800001563afacb,
fixes a regression) the following:

https://github.com/llvm/llvm-project/commit/7f4414b2a1a4d9f802a03f56894c406f0fe3e9a9
[AArch64] Generate zeroing forms of certain SVE2.2 instructions (4/11)
(https://github.com/llvm/llvm-project/pull/116830)

https://github.com/llvm/llvm-project/commit/2474cf7ad123ea14308293a2237e3552cddb1136
[AArch64] Generate zeroing forms of certain SVE2.2 instructions (3/11)
(https://github.com/llvm/llvm-project/pull/116829)

https://github.com/llvm/llvm-project/commit/6f285d31159501050de5563b1a844a3e1ac79a03
[AArch64] Generate zeroing forms of certain SVE2.2 instructions (2/11)
(https://github.com/llvm/llvm-project/pull/116828)

https://github.com/llvm/llvm-project/commit/2b3266c1701f315d7e89c81977800001563afacb
[AArch64] Generate zeroing forms of certain SVE2.2 instructions (1/11)
(https://github.com/llvm/llvm-project/pull/116259)


  Commit: c858bf620c3ab2a4db53e84b9365b553c3ad1aa6
      https://github.com/llvm/llvm-project/commit/c858bf620c3ab2a4db53e84b9365b553c3ad1aa6
  Author: Sam Tebbs <samuel.tebbs at arm.com>
  Date:   2024-12-24 (Tue, 24 Dec 2024)

  Changed paths:
    M llvm/include/llvm/Analysis/TargetTransformInfo.h
    M llvm/include/llvm/Analysis/TargetTransformInfoImpl.h
    M llvm/lib/Analysis/TargetTransformInfo.cpp
    M llvm/lib/Target/AArch64/AArch64TargetTransformInfo.h
    M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
    M llvm/lib/Transforms/Vectorize/VPRecipeBuilder.h
    M llvm/lib/Transforms/Vectorize/VPlan.h
    M llvm/lib/Transforms/Vectorize/VPlanAnalysis.cpp
    M llvm/lib/Transforms/Vectorize/VPlanRecipes.cpp
    M llvm/lib/Transforms/Vectorize/VPlanValue.h
    M llvm/test/Transforms/LoopVectorize/AArch64/fully-unrolled-cost.ll
    A llvm/test/Transforms/LoopVectorize/AArch64/partial-reduce-dot-product-epilogue.ll
    A llvm/test/Transforms/LoopVectorize/AArch64/partial-reduce-dot-product-neon.ll
    A llvm/test/Transforms/LoopVectorize/AArch64/partial-reduce-dot-product.ll
    A llvm/test/Transforms/LoopVectorize/AArch64/partial-reduce-no-dotprod.ll
    A llvm/test/Transforms/LoopVectorize/AArch64/vplan-printing.ll

  Log Message:
  -----------
  Reland "[LoopVectorizer] Add support for partial reductions" (#120721)

This re-lands the reverted #92418 

When the VF is small enough so that dividing the VF by the scaling
factor results in 1, the reduction phi execution thinks the VF is scalar
and sets the reduction's output as a scalar value, tripping assertions
expecting a vector value. The latest commit in this PR fixes that by
using `State.VF` in the scalar check, rather than the divided VF.

---------

Co-authored-by: Nicholas Guy <nicholas.guy at arm.com>


  Commit: 10c18ab7e6c46d9daeb558d47be1f06c53c5ed0e
      https://github.com/llvm/llvm-project/commit/10c18ab7e6c46d9daeb558d47be1f06c53c5ed0e
  Author: Nico Weber <thakis at chromium.org>
  Date:   2024-12-24 (Tue, 24 Dec 2024)

  Changed paths:
    A llvm/utils/gn/secondary/llvm/lib/Telemetry/BUILD.gn
    M llvm/utils/gn/secondary/llvm/unittests/BUILD.gn
    A llvm/utils/gn/secondary/llvm/unittests/Telemetry/BUILD.gn

  Log Message:
  -----------
  [gn] port dbae7176a6ec (LLVMTelemetry)


  Commit: 8e1cb96db84a70b2c803c28a359c8bb71395f35e
      https://github.com/llvm/llvm-project/commit/8e1cb96db84a70b2c803c28a359c8bb71395f35e
  Author: vabridgers <58314289+vabridgers at users.noreply.github.com>
  Date:   2024-12-24 (Tue, 24 Dec 2024)

  Changed paths:
    R clang-tools-extra/test/clang-tidy/checkers/bugprone/alpha-core-identicalexpr.cpp
    A clang-tools-extra/test/clang-tidy/checkers/bugprone/branch-clone-2.cpp
    A clang-tools-extra/test/clang-tidy/checkers/misc/redundant-expression-2.cpp

  Log Message:
  -----------
  [analyzer] Split alpha core Identical Expression tests (#119543)

Split the remnant test from PR #114715, "Remove alpha.core.IdenticalExpr
Checker" into seperate tests for misc-redundant-expression and
bugprone-branch-clone per review comment requests.

---------

Co-authored-by: einvbri <vince.a.bridgers at ericsson.com>


  Commit: 334a5766d7591bfaadf6990b3d8568c9688e22a5
      https://github.com/llvm/llvm-project/commit/334a5766d7591bfaadf6990b3d8568c9688e22a5
  Author: Richard Dzenis <richard at dzenis.dev>
  Date:   2024-12-24 (Tue, 24 Dec 2024)

  Changed paths:
    M llvm/docs/CommandGuide/llvm-objcopy.rst
    M llvm/docs/ReleaseNotes.md
    M llvm/lib/ObjCopy/ConfigManager.cpp
    M llvm/lib/ObjCopy/MachO/MachOObjcopy.cpp
    M llvm/lib/ObjCopy/MachO/MachOObject.cpp
    M llvm/lib/ObjCopy/MachO/MachOObject.h
    A llvm/test/tools/llvm-objcopy/MachO/globalize-symbol.test
    A llvm/test/tools/llvm-objcopy/MachO/keep-global-symbol.test
    A llvm/test/tools/llvm-objcopy/MachO/localize-symbol.test
    A llvm/test/tools/llvm-objcopy/MachO/skip-symbol.test

  Log Message:
  -----------
  [llvm-objcopy] Add support of symbol modification flags for MachO (#120895)

This patch adds support of the following llvm-objcopy flags for MachO:

- `--globalize-symbol`, `--globalize-symbols`,
- `--keep-global-symbol`, `-G`, `--keep-global-symbols`,
- `--localize-symbol`, `-L`, `--localize-symbols`,
- `--skip-symbol`, `--skip-symbols`.

Code in `updateAndRemoveSymbols` for MachO
is kept similar to its version for ELF.

Fixes #120894


  Commit: ffc7380ff4808fcc21350a39caf7f34073b41697
      https://github.com/llvm/llvm-project/commit/ffc7380ff4808fcc21350a39caf7f34073b41697
  Author: Nikolas Klauser <nikolasklauser at berlin.de>
  Date:   2024-12-24 (Tue, 24 Dec 2024)

  Changed paths:
    M libcxx/include/__fwd/memory.h
    M libcxx/include/__ostream/basic_ostream.h

  Log Message:
  -----------
  [libc++] Avoid including shared_ptr.h in basic_ostream.h (#121049)


  Commit: 2ff614aaa6eb94bc5d02c8f0fb70a1132acb4423
      https://github.com/llvm/llvm-project/commit/2ff614aaa6eb94bc5d02c8f0fb70a1132acb4423
  Author: Congcong Cai <congcongcai0907 at 163.com>
  Date:   2024-12-24 (Tue, 24 Dec 2024)

  Changed paths:
    M clang-tools-extra/clang-tidy/tool/ClangTidyMain.cpp
    M clang-tools-extra/docs/ReleaseNotes.rst
    M clang-tools-extra/docs/clang-tidy/index.rst
    A clang-tools-extra/test/clang-tidy/infrastructure/Inputs/param/parameters.txt
    A clang-tools-extra/test/clang-tidy/infrastructure/read-parameters-from-file-error.cpp
    A clang-tools-extra/test/clang-tidy/infrastructure/read-parameters-from-file.cpp

  Log Message:
  -----------
  [clang-tidy] support parameters file in command line (#120547)

Fixes: #103499


  Commit: 6bafbc99b0df7d5554af63115d78d0d97065862a
      https://github.com/llvm/llvm-project/commit/6bafbc99b0df7d5554af63115d78d0d97065862a
  Author: Alexey Bataev <a.bataev at outlook.com>
  Date:   2024-12-24 (Tue, 24 Dec 2024)

  Changed paths:
    A llvm/test/Transforms/SLPVectorizer/logical-ops-poisonous-repeated.ll

  Log Message:
  -----------
  [SLP][NFC]Add a test with incorrect (more poisnous) reduction chain


  Commit: f0f8dab712967b8fca5fcca4d7338b1d25017634
      https://github.com/llvm/llvm-project/commit/f0f8dab712967b8fca5fcca4d7338b1d25017634
  Author: Alexey Bataev <a.bataev at outlook.com>
  Date:   2024-12-24 (Tue, 24 Dec 2024)

  Changed paths:
    M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
    M llvm/test/Transforms/SLPVectorizer/logical-ops-poisonous-repeated.ll

  Log Message:
  -----------
  [SLP]Check if the first reduced value requires freeze/swap, if it may be too poisonous

If several reduced values are combined and the first reduced value is
just the original reduced value of the bool logical op, need to freeze
it to prevent the propagation of the poison value.

Fixes #114905


  Commit: 8dbb33762cfb8d8606d28a71293f437ddffee4af
      https://github.com/llvm/llvm-project/commit/8dbb33762cfb8d8606d28a71293f437ddffee4af
  Author: Balazs Benics <benicsbalazs at gmail.com>
  Date:   2024-12-24 (Tue, 24 Dec 2024)

  Changed paths:
    M clang/lib/StaticAnalyzer/Core/CallEvent.cpp

  Log Message:
  -----------
  [analyzer] Simplify CallEvent castArgToParamTypeIfNeeded (#120981)

I noticed recently that this code (that I wrote xD) uses the
`getRuntimeDefinition()` which isn't quite necessary for the simple task
this function was designed for.

Why would it be better not using this API here?
I'm experimenting with improving how virtual functions are inlined,
where depending on our ability of deducing the dynamic type of the
object we may end up with inaccurate type information. Such inaccuracy
would mean that we may have multiple runtime definitions. After that,
this code would become ambiguous.

To resolve this, I decided to refactor this and use a simpler - but
equivalent approach.


  Commit: 0d6cb0ae9d4ff610f729d0fd1bbd27227e6628cf
      https://github.com/llvm/llvm-project/commit/0d6cb0ae9d4ff610f729d0fd1bbd27227e6628cf
  Author: Alexey Bataev <a.bataev at outlook.com>
  Date:   2024-12-24 (Tue, 24 Dec 2024)

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

  Log Message:
  -----------
  [SLP]Fix strict weak ordering criterion in comparators

Fixes #121019


  Commit: 852feea820f3f8b2fc44c851cc3ce5fe9576fa64
      https://github.com/llvm/llvm-project/commit/852feea820f3f8b2fc44c851cc3ce5fe9576fa64
  Author: Alexey Bataev <a.bataev at outlook.com>
  Date:   2024-12-24 (Tue, 24 Dec 2024)

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

  Log Message:
  -----------
  [SLP]Propagate AssumptionCache where possible


  Commit: 6e3631d0e3316394ff4eae2913013d323e685790
      https://github.com/llvm/llvm-project/commit/6e3631d0e3316394ff4eae2913013d323e685790
  Author: Kunwar Grover <groverkss at gmail.com>
  Date:   2024-12-24 (Tue, 24 Dec 2024)

  Changed paths:
    M mlir/lib/Dialect/SCF/Transforms/TileUsingInterface.cpp

  Log Message:
  -----------
  [mlir][scf] Track replacements using a listener in TileAndFuse (#120999)

This PR makes TileAndFuse explicitly track replacements using a listener
instead of assuming that the results always come from the outer most
tiling loop. scf::tileUsingInterface can introduce merge operations
whose results are the actual replacements to use, instead of the outer
most loop results.


  Commit: 2d038caeebc8c5e49915c0db7c7eb21116c71de2
      https://github.com/llvm/llvm-project/commit/2d038caeebc8c5e49915c0db7c7eb21116c71de2
  Author: Florian Hahn <flo at fhahn.com>
  Date:   2024-12-24 (Tue, 24 Dec 2024)

  Changed paths:
    M llvm/lib/Transforms/Vectorize/VPlanRecipes.cpp
    M llvm/test/Transforms/LoopVectorize/AArch64/sve-inductions-unusual-types.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/sve2-histcnt-vplan.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/type-shrinkage-zext-costs.ll
    M llvm/test/Transforms/LoopVectorize/ARM/mve-icmpcost.ll
    M llvm/test/Transforms/LoopVectorize/X86/reduction-small-size.ll
    M llvm/test/Transforms/LoopVectorize/X86/uint64_to_fp64-cost-model.ll
    M llvm/test/Transforms/LoopVectorize/first-order-recurrence-chains-vplan.ll

  Log Message:
  -----------
  [VPlan] Remove stray space when printing VPWidenCastRecipe.

printFlags() already takes care of printing a single space if there are
no flags. Remove the extra space when printing a recipe without flags.


  Commit: 07d284d4ebffd58d4b2934769b4e11fedd0b106e
      https://github.com/llvm/llvm-project/commit/07d284d4ebffd58d4b2934769b4e11fedd0b106e
  Author: Alexey Bataev <a.bataev at outlook.com>
  Date:   2024-12-24 (Tue, 24 Dec 2024)

  Changed paths:
    M llvm/include/llvm/CodeGen/BasicTTIImpl.h
    M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
    M llvm/test/Analysis/CostModel/AMDGPU/shufflevector.ll
    M llvm/test/Analysis/CostModel/RISCV/shuffle-exact-vlen.ll
    M llvm/test/Analysis/CostModel/X86/shuffle-single-src-latency.ll
    M llvm/test/Analysis/CostModel/X86/shuffle-splat-codesize.ll
    M llvm/test/Analysis/CostModel/X86/shuffle-splat-latency.ll
    M llvm/test/Analysis/CostModel/X86/shuffle-splat-sizelatency.ll
    M llvm/test/Analysis/CostModel/X86/shuffle-splat.ll
    M llvm/test/Transforms/SLPVectorizer/AArch64/reused-scalar-repeated-in-node.ll
    M llvm/test/Transforms/SLPVectorizer/AArch64/scalarization-overhead.ll
    M llvm/test/Transforms/SLPVectorizer/RISCV/complex-loads.ll
    M llvm/test/Transforms/SLPVectorizer/X86/scatter-vectorize-reorder.ll
    M llvm/test/Transforms/SLPVectorizer/alternate-cmp-swapped-pred-parent.ll
    M llvm/test/Transforms/SLPVectorizer/extract-many-users-buildvector.ll
    M llvm/test/Transforms/SLPVectorizer/full-overlap-non-schedulable.ll
    M llvm/test/Transforms/SLPVectorizer/gathered-consecutive-loads-different-types.ll
    M llvm/test/Transforms/SLPVectorizer/reorder-clustered-node.ll
    M llvm/test/Transforms/SLPVectorizer/resized-alt-shuffle-after-minbw.ll

  Log Message:
  -----------
  [SLP]Add cost estimation for gather node reshuffling

Adds cost estimation for the variants of the permutations of the scalar
values, used in gather nodes. Currently, SLP just unconditionally emits
shuffles for the reused buildvectors, but in some cases better to leave
them as buildvectors rather than shuffles, if the cost of such
buildvectors is better.

X86, AVX512, -O3+LTO
Metric: size..text

Program                                                                        size..text
                                                                               results     results0    diff
                 test-suite :: External/SPEC/CINT2006/445.gobmk/445.gobmk.test   912998.00   913238.00  0.0%
 test-suite :: MultiSource/Benchmarks/MiBench/consumer-lame/consumer-lame.test   203070.00   203102.00  0.0%
     test-suite :: External/SPEC/CFP2017speed/638.imagick_s/638.imagick_s.test  1396320.00  1396448.00  0.0%
      test-suite :: External/SPEC/CFP2017rate/538.imagick_r/538.imagick_r.test  1396320.00  1396448.00  0.0%
                       test-suite :: MultiSource/Benchmarks/Bullet/bullet.test   309790.00   309678.00 -0.0%
      test-suite :: External/SPEC/CFP2017rate/526.blender_r/526.blender_r.test 12477607.00 12470807.00 -0.1%

CINT2006/445.gobmk - extra code vectorized
MiBench/consumer-lame - small variations
CFP2017speed/638.imagick_s
CFP2017rate/538.imagick_r - extra vectorized code
Benchmarks/Bullet - extra code vectorized
CFP2017rate/526.blender_r - extra vector code

RISC-V, sifive-p670, -O3+LTO
CFP2006/433.milc - regressions, should be fixed by https://github.com/llvm/llvm-project/pull/115173
CFP2006/453.povray - extra vectorized code
CFP2017rate/508.namd_r - better vector code
CFP2017rate/510.parest_r - extra vectorized code
SPEC/CFP2017rate - extra/better vector code
CFP2017rate/526.blender_r - extra vectorized code
CFP2017rate/538.imagick_r - extra vectorized code
CINT2006/403.gcc - extra vectorized code
CINT2006/445.gobmk - extra vectorized code
CINT2006/464.h264ref - extra vectorized code
CINT2006/483.xalancbmk - small variations
CINT2017rate/525.x264_r - better vectorization

Reviewers: RKSimon

Reviewed By: RKSimon

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


  Commit: f2334c5919ec077e6a8deeaf43a5b5188baf0251
      https://github.com/llvm/llvm-project/commit/f2334c5919ec077e6a8deeaf43a5b5188baf0251
  Author: Aiden Grossman <agrossman154 at yahoo.com>
  Date:   2024-12-24 (Tue, 24 Dec 2024)

  Changed paths:
    M llvm/test/tools/llvm-exegesis/X86/latency/cpu-pinning.s
    M llvm/tools/llvm-exegesis/lib/BenchmarkRunner.cpp

  Log Message:
  -----------
  [llvm-exegesis] Make benchmark pinning actually work

When originally writing this feature up, I apparently completely forgot
to actually make the test exercise it and left an extra exit in the
function implementing the functionality without the appropriate
preprocessor macros around it, causing things to never work. This patch
should fix that.


  Commit: 4b3d439e7e7b4e794e523caea9863d67ff8cf85f
      https://github.com/llvm/llvm-project/commit/4b3d439e7e7b4e794e523caea9863d67ff8cf85f
  Author: Fangrui Song <i at maskray.me>
  Date:   2024-12-24 (Tue, 24 Dec 2024)

  Changed paths:
    M llvm/test/MC/RISCV/XVentanaCondOps-valid.s
    M llvm/test/MC/RISCV/Zawrs-valid.s
    M llvm/test/MC/RISCV/Ztso.s
    M llvm/test/MC/RISCV/compress-cjal.s
    M llvm/test/MC/RISCV/compress-debug-info.s
    M llvm/test/MC/RISCV/compress-rv32d.s
    M llvm/test/MC/RISCV/compress-rv32f.s
    M llvm/test/MC/RISCV/compress-rv32i.s
    M llvm/test/MC/RISCV/compress-rv64i.s
    M llvm/test/MC/RISCV/compressed-relocations.s
    M llvm/test/MC/RISCV/compressed-zicfiss.s
    M llvm/test/MC/RISCV/corev/XCValu-valid.s
    M llvm/test/MC/RISCV/corev/XCVmac-valid.s
    M llvm/test/MC/RISCV/debug-valid.s
    M llvm/test/MC/RISCV/deprecated-csr-names.s
    M llvm/test/MC/RISCV/fixups-binary-expression.s
    M llvm/test/MC/RISCV/fixups.s
    M llvm/test/MC/RISCV/fp-default-rounding-mode.s
    M llvm/test/MC/RISCV/fp-inx-default-rounding-mode.s
    M llvm/test/MC/RISCV/hypervisor-csr-names.s
    M llvm/test/MC/RISCV/insn.s
    M llvm/test/MC/RISCV/insn_c.s
    M llvm/test/MC/RISCV/machine-csr-names.s
    M llvm/test/MC/RISCV/option-nopic.s
    M llvm/test/MC/RISCV/option-pic.s
    M llvm/test/MC/RISCV/option-pushpop.s
    M llvm/test/MC/RISCV/option-rvc.s
    M llvm/test/MC/RISCV/print-imm-hex.s
    M llvm/test/MC/RISCV/priv-valid.s
    M llvm/test/MC/RISCV/relocations.s
    M llvm/test/MC/RISCV/rv32-hypervisor-csr-names.s
    M llvm/test/MC/RISCV/rv32-machine-csr-names.s
    M llvm/test/MC/RISCV/rv32-supervisor-csr-names.s
    M llvm/test/MC/RISCV/rv32-user-csr-names.s
    M llvm/test/MC/RISCV/rv32c-aliases-valid.s
    M llvm/test/MC/RISCV/rv32c-only-valid.s
    M llvm/test/MC/RISCV/rv32dc-valid.s
    M llvm/test/MC/RISCV/rv32fc-aliases-valid.s
    M llvm/test/MC/RISCV/rv32fc-valid.s
    M llvm/test/MC/RISCV/rv32i-aliases-invalid.s
    M llvm/test/MC/RISCV/rv32i-aliases-valid.s
    M llvm/test/MC/RISCV/rv32i-only-valid.s
    M llvm/test/MC/RISCV/rv32zbb-aliases-valid.s
    M llvm/test/MC/RISCV/rv32zbb-only-valid.s
    M llvm/test/MC/RISCV/rv32zbs-aliases-valid.s
    M llvm/test/MC/RISCV/rv32zcmp-invalid.s
    M llvm/test/MC/RISCV/rv32zcmp-valid.s
    M llvm/test/MC/RISCV/rv32zfa-only-valid.s
    M llvm/test/MC/RISCV/rv32zicfiss-invalid.s
    M llvm/test/MC/RISCV/rv32zmmul-invaild.s
    M llvm/test/MC/RISCV/rv32zmmul-valid.s
    M llvm/test/MC/RISCV/rv64-machine-csr-names.s
    M llvm/test/MC/RISCV/rv64-user-csr-names.s
    M llvm/test/MC/RISCV/rv64a-aliases-valid.s
    M llvm/test/MC/RISCV/rv64c-aliases-valid.s
    M llvm/test/MC/RISCV/rv64c-hints-valid.s
    M llvm/test/MC/RISCV/rv64c-valid.s
    M llvm/test/MC/RISCV/rv64d-aliases-valid.s
    M llvm/test/MC/RISCV/rv64d-valid.s
    M llvm/test/MC/RISCV/rv64dc-valid.s
    M llvm/test/MC/RISCV/rv64e-valid.s
    M llvm/test/MC/RISCV/rv64e-zcmp-valid.s
    M llvm/test/MC/RISCV/rv64f-aliases-valid.s
    M llvm/test/MC/RISCV/rv64f-valid.s
    M llvm/test/MC/RISCV/rv64i-aliases-invalid.s
    M llvm/test/MC/RISCV/rv64i-aliases-valid.s
    M llvm/test/MC/RISCV/rv64i-valid.s
    M llvm/test/MC/RISCV/rv64ih-valid.s
    M llvm/test/MC/RISCV/rv64m-valid.s
    M llvm/test/MC/RISCV/rv64zaamo-valid.s
    M llvm/test/MC/RISCV/rv64zacas-valid.s
    M llvm/test/MC/RISCV/rv64zalasr-valid.s
    M llvm/test/MC/RISCV/rv64zalrsc-valid.s
    M llvm/test/MC/RISCV/rv64zba-aliases-valid.s
    M llvm/test/MC/RISCV/rv64zbb-aliases-valid.s
    M llvm/test/MC/RISCV/rv64zbb-valid.s
    M llvm/test/MC/RISCV/rv64zbs-aliases-valid.s
    M llvm/test/MC/RISCV/rv64zcb-valid.s
    M llvm/test/MC/RISCV/rv64zcmp-invalid.s
    M llvm/test/MC/RISCV/rv64zcmp-valid.s
    M llvm/test/MC/RISCV/rv64zdinx-valid.s
    M llvm/test/MC/RISCV/rv64zfh-valid.s
    M llvm/test/MC/RISCV/rv64zfinx-valid.s
    M llvm/test/MC/RISCV/rv64zhinx-valid.s
    M llvm/test/MC/RISCV/rv64zhinxmin-valid.s
    M llvm/test/MC/RISCV/rv64zicfiss-invalid.s
    M llvm/test/MC/RISCV/rv64zmmul-invalid.s
    M llvm/test/MC/RISCV/rv64zmmul-valid.s
    M llvm/test/MC/RISCV/rva-aliases-valid.s
    M llvm/test/MC/RISCV/rvc-aliases-valid.s
    M llvm/test/MC/RISCV/rvc-hints-valid.s
    M llvm/test/MC/RISCV/rvc-valid.s
    M llvm/test/MC/RISCV/rvd-aliases-valid.s
    M llvm/test/MC/RISCV/rvd-valid.s
    M llvm/test/MC/RISCV/rvdc-aliases-valid.s
    M llvm/test/MC/RISCV/rve-valid.s
    M llvm/test/MC/RISCV/rvf-aliases-valid.s
    M llvm/test/MC/RISCV/rvf-user-csr-names.s
    M llvm/test/MC/RISCV/rvf-valid.s
    M llvm/test/MC/RISCV/rvi-valid.s
    M llvm/test/MC/RISCV/rvih-valid.s
    M llvm/test/MC/RISCV/rvk-user-csr-name.s
    M llvm/test/MC/RISCV/rvm-valid.s
    M llvm/test/MC/RISCV/rvv-user-csr-names.s
    M llvm/test/MC/RISCV/rvv/aliases.s
    M llvm/test/MC/RISCV/rvv/fothers.s
    M llvm/test/MC/RISCV/rvv/freduction.s
    M llvm/test/MC/RISCV/rvv/load.s
    M llvm/test/MC/RISCV/rvv/others.s
    M llvm/test/MC/RISCV/rvv/store.s
    M llvm/test/MC/RISCV/rvv/zvlsseg.s
    M llvm/test/MC/RISCV/rvzaamo-valid.s
    M llvm/test/MC/RISCV/rvzabha-valid.s
    M llvm/test/MC/RISCV/rvzabha-zacas-valid.s
    M llvm/test/MC/RISCV/rvzacas-valid.s
    M llvm/test/MC/RISCV/rvzalasr-valid.s
    M llvm/test/MC/RISCV/rvzalrsc-valid.s
    M llvm/test/MC/RISCV/rvzbb-valid.s
    M llvm/test/MC/RISCV/rvzcb-invalid.s
    M llvm/test/MC/RISCV/rvzcb-valid.s
    M llvm/test/MC/RISCV/rvzcmt-invalid.s
    M llvm/test/MC/RISCV/rvzcmt-user-csr-name.s
    M llvm/test/MC/RISCV/rvzcmt-valid.s
    M llvm/test/MC/RISCV/rvzdinx-aliases-valid.s
    M llvm/test/MC/RISCV/rvzdinx-valid.s
    M llvm/test/MC/RISCV/rvzfbfmin-valid.s
    M llvm/test/MC/RISCV/rvzfh-aliases-valid.s
    M llvm/test/MC/RISCV/rvzfh-valid.s
    M llvm/test/MC/RISCV/rvzfhmin-valid.s
    M llvm/test/MC/RISCV/rvzfinx-aliases-valid.s
    M llvm/test/MC/RISCV/rvzfinx-valid.s
    M llvm/test/MC/RISCV/rvzhinx-aliases-valid.s
    M llvm/test/MC/RISCV/rvzhinx-valid.s
    M llvm/test/MC/RISCV/rvzhinxmin-valid.s
    M llvm/test/MC/RISCV/rvzihintntl-valid.s
    M llvm/test/MC/RISCV/rvzihintpause-valid.s
    M llvm/test/MC/RISCV/smctr-ssctr-valid.s
    M llvm/test/MC/RISCV/smrnmi-valid.s
    M llvm/test/MC/RISCV/supervisor-csr-names.s
    M llvm/test/MC/RISCV/user-csr-names.s
    M llvm/test/MC/RISCV/xqcia-valid.s
    M llvm/test/MC/RISCV/xqcics-valid.s
    M llvm/test/MC/RISCV/xqcicsr-valid.s
    M llvm/test/MC/RISCV/xqcilsm-aliases-valid.s
    M llvm/test/MC/RISCV/xqcilsm-valid.s
    M llvm/test/MC/RISCV/xqcisls-valid.s
    M llvm/test/MC/RISCV/xsifive-valid.s
    M llvm/test/MC/RISCV/xwchc-compress.s
    M llvm/test/MC/RISCV/xwchc-valid.s
    M llvm/test/MC/RISCV/zfa-double-invalid.s
    M llvm/test/MC/RISCV/zfa-half-invalid.s
    M llvm/test/MC/RISCV/zfa-valid.s
    M llvm/test/MC/RISCV/zfa-zfhmin-zvfh-valid.s
    M llvm/test/MC/RISCV/zicfilp-invalid.s
    M llvm/test/MC/RISCV/zicfilp-valid.s
    M llvm/test/MC/RISCV/zicfiss-valid.s

  Log Message:
  -----------
  [test] Replace -riscv-no-alises with -M no-aliases

The new option from https://reviews.llvm.org/D103004 is preferred.


  Commit: 24ff23fb3af95bb3a2e5af1e95f94a3e308a5a6a
      https://github.com/llvm/llvm-project/commit/24ff23fb3af95bb3a2e5af1e95f94a3e308a5a6a
  Author: Aiden Grossman <agrossman154 at yahoo.com>
  Date:   2024-12-24 (Tue, 24 Dec 2024)

  Changed paths:
    M llvm/docs/CommandGuide/llvm-exegesis.rst

  Log Message:
  -----------
  [llvm-exegesis][Docs] Add documentation on benchmark-process-cpu option

This patch adds documentation on the benchmark-process-cpu option. I
apparently did not add any documentation when originally implementing
the feature.


  Commit: 48a6e51445d61101fa42ffbf9997e5d54a02fc18
      https://github.com/llvm/llvm-project/commit/48a6e51445d61101fa42ffbf9997e5d54a02fc18
  Author: Aiden Grossman <agrossman154 at yahoo.com>
  Date:   2024-12-24 (Tue, 24 Dec 2024)

  Changed paths:
    M llvm/tools/llvm-exegesis/lib/BenchmarkRunner.cpp

  Log Message:
  -----------
  [llvm-exegesis] Fix typo in f2334c5919ec077e6a8deeaf43a5b5188baf0251

This should have been in the original commit, but I somehow forgot to
run git add && git commit --amend --no-edit between making the change in
my editor, saving the file, and pushing the commit.


  Commit: cd66c9b6a04689659348c0a3ff4c1205b1133fe9
      https://github.com/llvm/llvm-project/commit/cd66c9b6a04689659348c0a3ff4c1205b1133fe9
  Author: Vitaly Buka <vitalybuka at google.com>
  Date:   2024-12-24 (Tue, 24 Dec 2024)

  Changed paths:
    M clang/include/clang/Driver/SanitizerArgs.h
    M clang/lib/Driver/SanitizerArgs.cpp
    M clang/lib/Driver/ToolChains/CommonArgs.cpp
    M clang/test/Driver/sanitizer-ld.c
    M compiler-rt/lib/asan/CMakeLists.txt
    M compiler-rt/lib/asan/tests/CMakeLists.txt
    M compiler-rt/lib/hwasan/CMakeLists.txt
    M compiler-rt/lib/msan/CMakeLists.txt
    M compiler-rt/lib/tsan/rtl/CMakeLists.txt
    M compiler-rt/test/asan/TestCases/Linux/interface_symbols_linux.cpp

  Log Message:
  -----------
  [Ubsan][Driver] Remove UBSAN C++ runtime from other sanitizers (#121006)

Linking this runtime requires C++ ABI, which breaks -nostdlib++ builds.
However, UBSAN C++ runtime is only needed for CFI and VPTR checks.

Unblocks #120370.


  Commit: 34f8573a514915222630cf21e8a0c901a25f4ca0
      https://github.com/llvm/llvm-project/commit/34f8573a514915222630cf21e8a0c901a25f4ca0
  Author: Joseph Huber <huberjn at outlook.com>
  Date:   2024-12-24 (Tue, 24 Dec 2024)

  Changed paths:
    M clang/docs/ReleaseNotes.rst
    M clang/lib/Driver/ToolChains/CommonArgs.cpp
    M clang/lib/Driver/ToolChains/Cuda.cpp
    R clang/test/Driver/Inputs/libomptarget/libomptarget-nvptx-sm_52.bc
    A clang/test/Driver/Inputs/libomptarget/libomptarget-nvptx.bc
    R clang/test/Driver/Inputs/libomptarget/subdir/libomptarget-nvptx-sm_52.bc
    A clang/test/Driver/Inputs/libomptarget/subdir/libomptarget-nvptx.bc
    M clang/test/Driver/openmp-offload-gpu.c
    M offload/DeviceRTL/CMakeLists.txt
    M offload/DeviceRTL/src/Misc.cpp
    M offload/DeviceRTL/src/Reduction.cpp
    M openmp/docs/ReleaseNotes.rst

  Log Message:
  -----------
  [OpenMP] Use generic IR for the OpenMP DeviceRTL (#119091)

Summary:
We previously built this for every single architecture to deal with
incompatibility. This patch updates it to use the 'generic' IR that
`libc` and other projects use. Who knows if this will have any
side-effects, probably worth testing more but it passes the tests I
expect to pass on my side.


  Commit: 970f65a98a681831e308860e7004e066f5152791
      https://github.com/llvm/llvm-project/commit/970f65a98a681831e308860e7004e066f5152791
  Author: Hervé Poussineau <hpoussin at reactos.org>
  Date:   2024-12-25 (Wed, 25 Dec 2024)

  Changed paths:
    M clang/lib/Basic/Targets.cpp
    M clang/lib/Basic/Targets/Mips.cpp
    M clang/lib/Basic/Targets/Mips.h
    M clang/test/Preprocessor/predefined-win-macros.c

  Log Message:
  -----------
  [Clang][MIPS] Create specific targets for MIPS PE/COFF (#121040)

Implement GNU and MSVC variants.
When using them, _WIN32 and _M_MRX000/_MIPS_ macros are correctly
defined.


  Commit: 88d04be815bd289c691ab81061ac8a573ad15677
      https://github.com/llvm/llvm-project/commit/88d04be815bd289c691ab81061ac8a573ad15677
  Author: Kinoshita Kotaro <k.kotaro at fujitsu.com>
  Date:   2024-12-25 (Wed, 25 Dec 2024)

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

  Log Message:
  -----------
  [AArch64][docs] Add release notes for FUJITSU-MONAKA support (#120684)

Adds release notes for the FUJITSU-MONAKA support introduced in PR #118432.
These notes were missing from the original PR.


  Commit: b5f0ec80d59d054617994f0de409c38fabc8c207
      https://github.com/llvm/llvm-project/commit/b5f0ec80d59d054617994f0de409c38fabc8c207
  Author: LiqinWeng <liqin.weng at spacemit.com>
  Date:   2024-12-25 (Wed, 25 Dec 2024)

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

  Log Message:
  -----------
  [VPlan] Remove redundant printing final in VPlan::execute (#121048)

Multiple prints will cause problems when testing ir-bb


  Commit: ac1d560709d2ecfe83a98285d4a13afae6db4316
      https://github.com/llvm/llvm-project/commit/ac1d560709d2ecfe83a98285d4a13afae6db4316
  Author: Konstantin Varlamov <varconsteq at gmail.com>
  Date:   2024-12-24 (Tue, 24 Dec 2024)

  Changed paths:
    M libcxx/docs/Hardening.rst
    M libcxx/include/bitset
    M libcxx/include/valarray
    A libcxx/test/libcxx/numerics/numarray/assert.pass.cpp
    A libcxx/test/libcxx/utilities/template.bitset/assert.pass.cpp
    M libcxx/test/std/utilities/template.bitset/bitset.members/op_and_eq.pass.cpp

  Log Message:
  -----------
  [libc++][hardening] Add a bounds check for `valarray` and `bitset`. (#120685)

Add a `valid-element-access` check to `valarray::operator[]` and
`bitset::operator[]`.


  Commit: 56600c11add12aababdd313c43650facf2a0338f
      https://github.com/llvm/llvm-project/commit/56600c11add12aababdd313c43650facf2a0338f
  Author: Fangrui Song <i at maskray.me>
  Date:   2024-12-24 (Tue, 24 Dec 2024)

  Changed paths:
    M llvm/include/llvm/MC/MCAsmInfo.h
    M llvm/lib/CodeGen/AsmPrinter/AsmPrinterInlineAsm.cpp
    M llvm/lib/MC/MCParser/AsmLexer.cpp
    M llvm/lib/MC/MCParser/AsmParser.cpp
    M llvm/lib/Target/SystemZ/MCTargetDesc/SystemZMCAsmInfo.cpp

  Log Message:
  -----------
  MCAsmInfo: replace HLASM-specific variables with IsHLASM

HLASM is very different from the gas syntax. We don't expect other
targets to customize the differences. Unify the numerous variables.


  Commit: 34f70007348d2d1a0e59fc0996e90a0b6fba1933
      https://github.com/llvm/llvm-project/commit/34f70007348d2d1a0e59fc0996e90a0b6fba1933
  Author: Congcong Cai <congcongcai0907 at 163.com>
  Date:   2024-12-25 (Wed, 25 Dec 2024)

  Changed paths:
    M clang-tools-extra/clang-tidy/tool/CMakeLists.txt

  Log Message:
  -----------
  [clang-tidy]link LLVMTargetParser (#121072)

Fix build issue introduced in #120547


  Commit: d3846eca2061e6e9a8d654551153f7362c27b59a
      https://github.com/llvm/llvm-project/commit/d3846eca2061e6e9a8d654551153f7362c27b59a
  Author: Kai Sasaki <lewuathe at gmail.com>
  Date:   2024-12-25 (Wed, 25 Dec 2024)

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

  Log Message:
  -----------
  [mlir] Guard sccp pass from crashing with different source type (#120656)

Vector::BroadCastOp expects the identical element type in folding. It
causes the crash if the different source type is given to the SCCP pass.
We need to guard the pass from crashing if the nonidentical element type
is given, but still compatible. (e.g. index vs integer type)

https://github.com/llvm/llvm-project/issues/120193


  Commit: 1de228fa9bf07c118294b53e3da37ab2b5ff1fd4
      https://github.com/llvm/llvm-project/commit/1de228fa9bf07c118294b53e3da37ab2b5ff1fd4
  Author: Vitaly Buka <vitalybuka at google.com>
  Date:   2024-12-24 (Tue, 24 Dec 2024)

  Changed paths:
    M compiler-rt/lib/ubsan/CMakeLists.txt
    M compiler-rt/lib/ubsan/ubsan_handlers.cpp
    M llvm/utils/gn/secondary/compiler-rt/lib/lsan/BUILD.gn
    M llvm/utils/gn/secondary/compiler-rt/lib/ubsan/BUILD.gn

  Log Message:
  -----------
  [ubsan] Remove UBSAN_CAN_USE_CXXABI (#121082)

It's should be enough to provide weak implementation.

Fixes solaris and android linking after #121006.


  Commit: a1328c077c9bae5c3b3cb952fe817c4881569cbc
      https://github.com/llvm/llvm-project/commit/a1328c077c9bae5c3b3cb952fe817c4881569cbc
  Author: Vitaly Buka <vitalybuka at google.com>
  Date:   2024-12-24 (Tue, 24 Dec 2024)

  Changed paths:
    M compiler-rt/lib/asan/tests/CMakeLists.txt

  Log Message:
  -----------
  [ubsan] Fix android build

Broken by #121006.


  Commit: 6a7687c455125f6597a9719227a0efcb7f71e572
      https://github.com/llvm/llvm-project/commit/6a7687c455125f6597a9719227a0efcb7f71e572
  Author: Maksim Levental <maksim.levental at gmail.com>
  Date:   2024-12-24 (Tue, 24 Dec 2024)

  Changed paths:
    M mlir/cmake/modules/AddMLIR.cmake
    M mlir/cmake/modules/AddMLIRPython.cmake

  Log Message:
  -----------
  [mlir][python] Support `CLANG_CL` (#121075)


  Commit: 141c544c03702ac7c50522373ad781ede3685e0a
      https://github.com/llvm/llvm-project/commit/141c544c03702ac7c50522373ad781ede3685e0a
  Author: Owen Pan <owenpiano at gmail.com>
  Date:   2024-12-24 (Tue, 24 Dec 2024)

  Changed paths:
    M clang/lib/Format/Format.cpp
    M clang/unittests/Format/SortIncludesTest.cpp

  Log Message:
  -----------
  [clang-format] Skip line splices when sorting C++ includes (#120680)

Fixes #109864.


  Commit: 5d81b1490022d04eb8862791fbcb25018a6860e3
      https://github.com/llvm/llvm-project/commit/5d81b1490022d04eb8862791fbcb25018a6860e3
  Author: Pranav Kant <prka at google.com>
  Date:   2024-12-25 (Wed, 25 Dec 2024)

  Changed paths:
    M utils/bazel/llvm-project-overlay/clang-tools-extra/clang-tidy/BUILD.bazel

  Log Message:
  -----------
  [clang-tidy][bazel] Fix #120547


  Commit: 25bb6592c974aed8702767cad4a64de9b5c60aed
      https://github.com/llvm/llvm-project/commit/25bb6592c974aed8702767cad4a64de9b5c60aed
  Author: Fangrui Song <i at maskray.me>
  Date:   2024-12-24 (Tue, 24 Dec 2024)

  Changed paths:
    M llvm/include/llvm/MC/MCAsmInfo.h
    M llvm/lib/CodeGen/AsmPrinter/AsmPrinter.cpp
    M llvm/lib/MC/MCAsmInfoXCOFF.cpp
    M llvm/lib/MC/MCAsmStreamer.cpp
    M llvm/lib/Target/PowerPC/PPCAsmPrinter.cpp

  Log Message:
  -----------
  MCAsmInfo: replace AIX-specific variables with IsAIX

AIX assembly is very different from the gas syntax. We don't expect
other targets to share these differences. Unify the numerous,
essentially AIX-specific variables.


  Commit: 32962f2b77c4298f9ef58182581edf56c76ac685
      https://github.com/llvm/llvm-project/commit/32962f2b77c4298f9ef58182581edf56c76ac685
  Author: Vitaly Buka <vitalybuka at google.com>
  Date:   2024-12-24 (Tue, 24 Dec 2024)

  Changed paths:
    M compiler-rt/lib/ubsan/ubsan_handlers.cpp

  Log Message:
  -----------
  [ubsan] Try to fix Windows


  Commit: e3846c0fecb5992110788be18cd04f70103bc778
      https://github.com/llvm/llvm-project/commit/e3846c0fecb5992110788be18cd04f70103bc778
  Author: Michał Górny <mgorny at gentoo.org>
  Date:   2024-12-25 (Wed, 25 Dec 2024)

  Changed paths:
    M mlir/CMakeLists.txt

  Log Message:
  -----------
  [mlir] [test] Fix missing SHLIB definition in standalone builds (#120907)

Define the `LLVM_SHLIB_OUTPUT_INTDIR` variable that is used by
`configure_lit_site_cfg` to fill `SHLIBDIR`. This fixes tool tests that
would otherwise be unable to find MLIR's runtime shared libraries (e.g.
`libmlir_runner_utils.so`). The logic is copied verbatim from Clang.


  Commit: 6b471b30d7dbce589af16b39f9eb960195a8cd02
      https://github.com/llvm/llvm-project/commit/6b471b30d7dbce589af16b39f9eb960195a8cd02
  Author: Michał Górny <mgorny at gentoo.org>
  Date:   2024-12-25 (Wed, 25 Dec 2024)

  Changed paths:
    M mlir/CMakeLists.txt

  Log Message:
  -----------
  [mlir] [test] Fix unittests in standalone builds (#120910)

Fix the logic used to run unit tests to account for `llvm_gtest` targets
being installed, since 91b3ca39667b6341a8c1983a1467fae14b58318b. This
involves removing a rule that would cause a duplicate `llvm_gtest`
target being created, and updates the method for determining whether
unittests can be run to checking whether the target is present, rather
than the source directory (that is no longer actually necessary).


  Commit: 9e38e87c8cd39403682f6d4f65fe7b1e6a04955b
      https://github.com/llvm/llvm-project/commit/9e38e87c8cd39403682f6d4f65fe7b1e6a04955b
  Author: Michał Górny <mgorny at gentoo.org>
  Date:   2024-12-25 (Wed, 25 Dec 2024)

  Changed paths:
    M mlir/test/CMakeLists.txt

  Log Message:
  -----------
  [mlir] [test] Do not add dependencies on llvm tools in standalone builds (#120911)

Since LLVM tools are installed system-wide, adding dependencies on them
is unnecessary. Furthermore, it is problematic for multilib builds,
where the tools are only built once, for the native ABI, and therefore
are not listed in CMake files for non-native ABIs.


  Commit: 319b89197348b7cad1215e235bdc7b5ec8f9b72c
      https://github.com/llvm/llvm-project/commit/319b89197348b7cad1215e235bdc7b5ec8f9b72c
  Author: Fangrui Song <i at maskray.me>
  Date:   2024-12-24 (Tue, 24 Dec 2024)

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

  Log Message:
  -----------
  MCAsmInfo: remove unused DwarfSectionSizeRequired


  Commit: 74496b03f7db43caae4c3bda79379623a4657a00
      https://github.com/llvm/llvm-project/commit/74496b03f7db43caae4c3bda79379623a4657a00
  Author: Vitaly Buka <vitalybuka at google.com>
  Date:   2024-12-24 (Tue, 24 Dec 2024)

  Changed paths:
    M compiler-rt/lib/asan/CMakeLists.txt
    M compiler-rt/lib/hwasan/CMakeLists.txt

  Log Message:
  -----------
  [asan][hwasan] Link RTUbsan_cxx into shared runtime

There is no shared version RTUbsan_cxx.
Fix android after #121006.


  Commit: 2d3d62d77e2d011c9dbdb12732aca3070efc83ca
      https://github.com/llvm/llvm-project/commit/2d3d62d77e2d011c9dbdb12732aca3070efc83ca
  Author: Ivan Aksamentov <ivan.aksamentov at gmail.com>
  Date:   2024-12-25 (Wed, 25 Dec 2024)

  Changed paths:
    M flang/include/flang/Common/idioms.h

  Log Message:
  -----------
  [flang] fix: split ifndef for CHECK and CHECK_MSG (#114707)

Resolves https://github.com/llvm/llvm-project/issues/114703

I think it's the best practice that each macro has it's own `ifndef`
check and this way the build issue is resolved for me.

I also find the names of these macro a bit too generic - an easy recipe
for conflicts. In my case, the error was likely caused by something else
defining `CHECK` but not `CHECK_MSG`, so likely these `CHECK` and
`CHECK_MSG` weren't actually working at all because the result of
`ifndef` is always false.

As a definitive fix, perhaps it makes sense to rename them to something
more specific, e.g. `FLANG_CHECK` and `FLANG_CHECK_MSG`.


  Commit: c29536b0336586b2ed7bafedf82c9f4e254cfaa6
      https://github.com/llvm/llvm-project/commit/c29536b0336586b2ed7bafedf82c9f4e254cfaa6
  Author: Sergei Barannikov <barannikov88 at gmail.com>
  Date:   2024-12-25 (Wed, 25 Dec 2024)

  Changed paths:
    R llvm/test/TableGen/ContextlessPredicates.td
    R llvm/test/TableGen/DefaultOpsGlobalISel.td
    R llvm/test/TableGen/GlobalISelEmitter-PR39045.td
    R llvm/test/TableGen/GlobalISelEmitter-SDNodeXForm-timm.td
    R llvm/test/TableGen/GlobalISelEmitter-atomic_store.td
    R llvm/test/TableGen/GlobalISelEmitter-frameindex.td
    R llvm/test/TableGen/GlobalISelEmitter-immAllZeroOne.td
    R llvm/test/TableGen/GlobalISelEmitter-immarg-literal-pattern.td
    R llvm/test/TableGen/GlobalISelEmitter-implicit-defs.td
    R llvm/test/TableGen/GlobalISelEmitter-input-discard.td
    R llvm/test/TableGen/GlobalISelEmitter-multiple-output-discard.td
    R llvm/test/TableGen/GlobalISelEmitter-multiple-output.td
    R llvm/test/TableGen/GlobalISelEmitter-nested-subregs.td
    R llvm/test/TableGen/GlobalISelEmitter-notype-output-pattern.td
    R llvm/test/TableGen/GlobalISelEmitter-optional-def.td
    R llvm/test/TableGen/GlobalISelEmitter-output-discard.td
    R llvm/test/TableGen/GlobalISelEmitter-setcc.td
    R llvm/test/TableGen/GlobalISelEmitter-zero-instr.td
    R llvm/test/TableGen/GlobalISelEmitter-zero-reg.td
    R llvm/test/TableGen/GlobalISelEmitter.td
    A llvm/test/TableGen/GlobalISelEmitter/ContextlessPredicates.td
    A llvm/test/TableGen/GlobalISelEmitter/CustomPredicate.td
    A llvm/test/TableGen/GlobalISelEmitter/DefaultOpsGlobalISel.td
    A llvm/test/TableGen/GlobalISelEmitter/Flags.td
    A llvm/test/TableGen/GlobalISelEmitter/GlobalISelEmitter.td
    A llvm/test/TableGen/GlobalISelEmitter/HwModes.td
    A llvm/test/TableGen/GlobalISelEmitter/MatchTableOptimizer.td
    A llvm/test/TableGen/GlobalISelEmitter/MatchTableOptimizerSameOperand-invalid.td
    A llvm/test/TableGen/GlobalISelEmitter/MatchTableOptimizerSameOperand.td
    A llvm/test/TableGen/GlobalISelEmitter/OverloadedPtr.td
    A llvm/test/TableGen/GlobalISelEmitter/PR39045.td
    A llvm/test/TableGen/GlobalISelEmitter/RegSequence.td
    A llvm/test/TableGen/GlobalISelEmitter/SDNodeXForm-timm.td
    A llvm/test/TableGen/GlobalISelEmitter/SkippedPatterns.td
    A llvm/test/TableGen/GlobalISelEmitter/Subreg.td
    A llvm/test/TableGen/GlobalISelEmitter/Variadic.td
    A llvm/test/TableGen/GlobalISelEmitter/atomic-store.td
    A llvm/test/TableGen/GlobalISelEmitter/frameindex.td
    A llvm/test/TableGen/GlobalISelEmitter/gisel-physreg-input.td
    A llvm/test/TableGen/GlobalISelEmitter/immAllZeroOne.td
    A llvm/test/TableGen/GlobalISelEmitter/immarg-literal-pattern.td
    A llvm/test/TableGen/GlobalISelEmitter/immarg-predicated.td
    A llvm/test/TableGen/GlobalISelEmitter/immarg.td
    A llvm/test/TableGen/GlobalISelEmitter/implicit-defs.td
    A llvm/test/TableGen/GlobalISelEmitter/input-discard.td
    A llvm/test/TableGen/GlobalISelEmitter/multiple-output-discard.td
    A llvm/test/TableGen/GlobalISelEmitter/multiple-output.td
    A llvm/test/TableGen/GlobalISelEmitter/nested-subregs.td
    A llvm/test/TableGen/GlobalISelEmitter/notype-output-pattern.td
    A llvm/test/TableGen/GlobalISelEmitter/optional-def.td
    A llvm/test/TableGen/GlobalISelEmitter/output-discard.td
    A llvm/test/TableGen/GlobalISelEmitter/setcc.td
    A llvm/test/TableGen/GlobalISelEmitter/zero-instr.td
    A llvm/test/TableGen/GlobalISelEmitter/zero-reg.td
    R llvm/test/TableGen/GlobalISelEmitterCustomPredicate.td
    R llvm/test/TableGen/GlobalISelEmitterFlags.td
    R llvm/test/TableGen/GlobalISelEmitterHwModes.td
    R llvm/test/TableGen/GlobalISelEmitterMatchTableOptimizer.td
    R llvm/test/TableGen/GlobalISelEmitterMatchTableOptimizerSameOperand-invalid.td
    R llvm/test/TableGen/GlobalISelEmitterMatchTableOptimizerSameOperand.td
    R llvm/test/TableGen/GlobalISelEmitterOverloadedPtr.td
    R llvm/test/TableGen/GlobalISelEmitterRegSequence.td
    R llvm/test/TableGen/GlobalISelEmitterSkippedPatterns.td
    R llvm/test/TableGen/GlobalISelEmitterSubreg.td
    R llvm/test/TableGen/GlobalISelEmitterVariadic.td
    R llvm/test/TableGen/gisel-physreg-input.td
    R llvm/test/TableGen/immarg-predicated.td
    R llvm/test/TableGen/immarg.td

  Log Message:
  -----------
  [test] Group GlobalISelEmitter tests under a subdirectory (#121093)

Remove extra command line arguments while here.


  Commit: c870632ef6162fbdccaad8cd09420728220ad344
      https://github.com/llvm/llvm-project/commit/c870632ef6162fbdccaad8cd09420728220ad344
  Author: Matthias Springer <me at m-sp.org>
  Date:   2024-12-25 (Wed, 25 Dec 2024)

  Changed paths:
    M flang/include/flang/Frontend/FrontendActions.h
    M flang/include/flang/Lower/AbstractConverter.h
    M flang/include/flang/Lower/Bridge.h
    M flang/include/flang/Lower/OpenACC.h
    M flang/include/flang/Tools/CrossToolHelpers.h
    M flang/lib/Frontend/FrontendActions.cpp
    M flang/lib/Lower/Bridge.cpp
    M flang/lib/Lower/OpenACC.cpp
    M flang/lib/Optimizer/CodeGen/CodeGen.cpp
    M flang/unittests/Frontend/CodeGenActionTest.cpp
    M flang/unittests/Optimizer/Builder/CharacterTest.cpp
    M flang/unittests/Optimizer/Builder/ComplexTest.cpp
    M flang/unittests/Optimizer/Builder/FIRBuilderTest.cpp
    M flang/unittests/Optimizer/Builder/HLFIRToolsTest.cpp
    M flang/unittests/Optimizer/Builder/Runtime/RuntimeCallTestBase.h
    M flang/unittests/Optimizer/FortranVariableTest.cpp
    M flang/unittests/Runtime/ArrayConstructor.cpp
    M flang/unittests/Runtime/CharacterTest.cpp

  Log Message:
  -----------
  [flang] Fix some memory leaks (#121050)

This commit fixes some but not all memory leaks in Flang. There are
still 91 tests that fail with ASAN.

- Use `mlir::OwningOpRef` instead of `std::unique_ptr`. The latter does
not free allocations of nested blocks.
- Pass `ModuleOp` as value instead of reference.
- Add few missing deallocations in test cases and other places.


  Commit: 2d6e7c2b359d4cafca8eaca4c9ed308a3a8fa6c1
      https://github.com/llvm/llvm-project/commit/2d6e7c2b359d4cafca8eaca4c9ed308a3a8fa6c1
  Author: Alexey Gerenkov <alexey at espressif.com>
  Date:   2024-12-25 (Wed, 25 Dec 2024)

  Changed paths:
    M clang/include/clang/Basic/TargetInfo.h
    M clang/lib/AST/ASTContext.cpp
    M clang/lib/Basic/CMakeLists.txt
    M clang/lib/Basic/Targets.cpp
    A clang/lib/Basic/Targets/Xtensa.cpp
    A clang/lib/Basic/Targets/Xtensa.h
    M clang/lib/Driver/ToolChains/CommonArgs.cpp
    M clang/test/Preprocessor/init.c
    M clang/test/Preprocessor/stdint.c

  Log Message:
  -----------
  [Clang][Xtensa] Add Xtensa target. (#118008)

This PR implements support for generic Xtensa target in CLang.

Co-authored-by: Andrei Safronov <safronov at espressif.com>


  Commit: ae435adabba2f137fe50749c0581157a89019b5e
      https://github.com/llvm/llvm-project/commit/ae435adabba2f137fe50749c0581157a89019b5e
  Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
  Date:   2024-12-25 (Wed, 25 Dec 2024)

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

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


  Commit: 5fb57131b744c52f74919f9487f4a9fa69f455fb
      https://github.com/llvm/llvm-project/commit/5fb57131b744c52f74919f9487f4a9fa69f455fb
  Author: Usman Nadeem <mnadeem at quicinc.com>
  Date:   2024-12-25 (Wed, 25 Dec 2024)

  Changed paths:
    M llvm/lib/Transforms/Scalar/DFAJumpThreading.cpp
    M llvm/test/Transforms/DFAJumpThreading/dfa-unfold-select.ll
    M llvm/test/Transforms/DFAJumpThreading/negative.ll

  Log Message:
  -----------
  [DFAJumpThreading] Don't bail early after encountering unpredictable values (#119774)

After #96127 landed, mshockwave reported that the pass was no longer
threading SPEC2006/perlbench.

After 96127 we started bailing out in `getStateDefMap` and rejecting the
transformation because one of the unpredictable values was coming from
inside the loop. There was no fundamental change in that function except
that we started calling `Loop->contains(IncomingBB)` instead of
`LoopBBs.count(IncomingBB)`. After some analysis I came to the
conclusion that even before 96127 we would reject the transformation if
we provided large enough limits on the path traversal (large enough so
that LoopBBs contained blocks corresponding to that unpredictable
value).

In this patch I changed `getStateDefMap` to not terminate early on
finding an unpredictable value, this is because
`getPathsFromStateDefMap`, later, actually has checks to ensure that the
final list of paths only have predictable values. As a result we can now
partially thread functions like `negative6` in the tests that have some
predictable paths.

This patch does not really have any compile-time impact on the test
suite without `-dfa-early-exit-heuristic=false` (early exit is enabled
by default).

Change-Id: Ie1633b370ed4a0eda8dea52650b40f6f66ef49a3


  Commit: 676b48d1ccd8223bb0bd889cce13e6faecd20c6d
      https://github.com/llvm/llvm-project/commit/676b48d1ccd8223bb0bd889cce13e6faecd20c6d
  Author: Chuanqi Xu <yedeng.yd at linux.alibaba.com>
  Date:   2024-12-25 (Wed, 25 Dec 2024)

  Changed paths:
    M clang/lib/Parse/Parser.cpp
    M clang/test/CXX/basic/basic.link/p3.cpp
    A clang/test/Modules/pr121066.cpp

  Log Message:
  -----------
  [C++20] [Modules] Diagnose if import statement lakcs a semicolon

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

Now we will diagnose that the import statement lacks a semicolon as
expected. Note that the original "not found" diagnose message remains.
I meant to remove that, but the test shows it might be more complex
process (other unexpected diagnose shows up). Given the importance of
the issue, I chose to not dig deeper.


  Commit: 7226b39926b5df6452d13e83f61e35a71dbe448d
      https://github.com/llvm/llvm-project/commit/7226b39926b5df6452d13e83f61e35a71dbe448d
  Author: xilinbai-intel <xilin.bai at intel.com>
  Date:   2024-12-25 (Wed, 25 Dec 2024)

  Changed paths:
    M llvm/lib/Target/X86/X86ISelLowering.cpp
    M llvm/test/CodeGen/X86/avx512fp16-fminimum-fmaximum.ll

  Log Message:
  -----------
  [X86] Support vectorized llvm.fmaximum/fminimum.vXf16 lowering (#120988)

Support the lowering of vectorized FMINIMUM and FMAXIMUM to vminph and
vmaxph on types v8f16, v16f16 when AVX512FP, AVX512VL features are
present, and on type v32f16 when AVX512FP is present.


  Commit: 4884b1b08a13af430620e7104aa58710a70f618c
      https://github.com/llvm/llvm-project/commit/4884b1b08a13af430620e7104aa58710a70f618c
  Author: Sergei Barannikov <barannikov88 at gmail.com>
  Date:   2024-12-25 (Wed, 25 Dec 2024)

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

  Log Message:
  -----------
  [TableGen][GISel] Simplify checks for BasicBlockSDNode (NFC) (#121098)


  Commit: 3469996d0d057d99a33ec34ee3c80e5d4fa3afcb
      https://github.com/llvm/llvm-project/commit/3469996d0d057d99a33ec34ee3c80e5d4fa3afcb
  Author: Igor Kirillov <igor.kirillov at arm.com>
  Date:   2024-12-25 (Wed, 25 Dec 2024)

  Changed paths:
    M llvm/lib/CodeGen/SelectOptimize.cpp
    M llvm/test/CodeGen/AArch64/selectopt.ll

  Log Message:
  -----------
  [SelectOpt] Optimise big select groups in the latch of a non-inner loop to branches (#119728)

Loop latches often have a loop-carried dependency, and if they have
several SelectLike instructions in one select group, it is usually
profitable to convert it to branches rather than keep selects.


  Commit: 6d7cf5206f1238139b7a967dea555514a62f7d83
      https://github.com/llvm/llvm-project/commit/6d7cf5206f1238139b7a967dea555514a62f7d83
  Author: adam-bzowski <adam.bzowski at intel.com>
  Date:   2024-12-25 (Wed, 25 Dec 2024)

  Changed paths:
    M llvm/lib/Analysis/ValueTracking.cpp
    A llvm/test/Analysis/ValueTracking/knownbits-trunc-with-min-max-clamp.ll

  Log Message:
  -----------
  [ValueTracking] Improve KnownBits for signed min-max clamping (#120576)

A signed min-max clamp is the sequence of smin and smax intrinsics,
which constrain a signed value into the range: smin <= value <= smax.
The patch improves the calculation of KnownBits for a value subjected to
the signed clamping.


  Commit: 8e7f1bee84ff9421f7a4b57abd1feff6b5680e1a
      https://github.com/llvm/llvm-project/commit/8e7f1bee84ff9421f7a4b57abd1feff6b5680e1a
  Author: Brandon Wu <brandon.wu at sifive.com>
  Date:   2024-12-25 (Wed, 25 Dec 2024)

  Changed paths:
    M clang/lib/CodeGen/CGCall.cpp
    M clang/lib/CodeGen/Targets/RISCV.cpp

  Log Message:
  -----------
  [clang][RISCV] Remove unneeded RISCV tuple code (#121024)

These code are no longer needed because we've modeled tuple type using
target extension type rather than structure of scalable vectors.


  Commit: dd9c5c118230fc9adde668f2c96323b73a677400
      https://github.com/llvm/llvm-project/commit/dd9c5c118230fc9adde668f2c96323b73a677400
  Author: Shourya Goel <shouryagoel10000 at gmail.com>
  Date:   2024-12-25 (Wed, 25 Dec 2024)

  Changed paths:
    M libc/config/linux/x86_64/entrypoints.txt

  Log Message:
  -----------
  [libc][complex] enable CFP128 entrypoints on X86_64 (#121111)


  Commit: ff97daadcd05ad3373f8398948d2962e88a0f61b
      https://github.com/llvm/llvm-project/commit/ff97daadcd05ad3373f8398948d2962e88a0f61b
  Author: Shourya Goel <shouryagoel10000 at gmail.com>
  Date:   2024-12-25 (Wed, 25 Dec 2024)

  Changed paths:
    M libc/config/linux/x86_64/entrypoints.txt

  Log Message:
  -----------
  Revert "[libc][complex] enable CFP128 entrypoints on X86_64 (#121111)" (#121113)

This reverts commit dd9c5c118230fc9adde668f2c96323b73a677400.


  Commit: 70965ef259a161a6e9ccfb8bd841dd2246c56c37
      https://github.com/llvm/llvm-project/commit/70965ef259a161a6e9ccfb8bd841dd2246c56c37
  Author: TilakChad <49703944+TilakChad at users.noreply.github.com>
  Date:   2024-12-25 (Wed, 25 Dec 2024)

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

  Log Message:
  -----------
  [Clang] Prevent assignment to captured structured bindings inside immutable lambda (#120849)

For structured bindings, a call to getCapturedDeclRefType(...) was
missing. This PR fixes that behavior and adds the related diagnostics
too.

This fixes https://github.com/llvm/llvm-project/issues/95081.


  Commit: d6e435362d5984052531a425a1e4c7e594a8503e
      https://github.com/llvm/llvm-project/commit/d6e435362d5984052531a425a1e4c7e594a8503e
  Author: Andrei Safronov <andrei.safronov at espressif.com>
  Date:   2024-12-26 (Thu, 26 Dec 2024)

  Changed paths:
    M llvm/test/MC/Disassembler/Xtensa/code_density.txt

  Log Message:
  -----------
  [Xtensa] Fix Code Density test. (#121073)

Fix dissambler test for Code Density feature.


  Commit: cea738bc9a9e4835f9a076145953ed1369dcad7d
      https://github.com/llvm/llvm-project/commit/cea738bc9a9e4835f9a076145953ed1369dcad7d
  Author: DaPorkchop_ <daporkchop at daporkchop.net>
  Date:   2024-12-26 (Thu, 26 Dec 2024)

  Changed paths:
    M llvm/lib/Transforms/Utils/SimplifyCFG.cpp
    M llvm/test/Transforms/SimplifyCFG/X86/switch_to_lookup_table.ll
    M llvm/test/Transforms/SimplifyCFG/X86/switch_to_lookup_table_big.ll

  Log Message:
  -----------
  [SimplifyCFG] Replace unreachable switch lookup table holes with poison (#94990)

As discussed in #94468, this causes switch lookup table entries which
are unreachable to be poison instead of filling them with a value from
one of the reachable cases.

---------

Co-authored-by: DianQK <dianqk at dianqk.net>


  Commit: 6f72d28dd94c84b28275dbe61f5b2021df752e55
      https://github.com/llvm/llvm-project/commit/6f72d28dd94c84b28275dbe61f5b2021df752e55
  Author: Sergei Barannikov <barannikov88 at gmail.com>
  Date:   2024-12-26 (Thu, 26 Dec 2024)

  Changed paths:
    A llvm/test/TableGen/GlobalISelEmitter/dead-def.td
    M llvm/utils/TableGen/GlobalISelEmitter.cpp

  Log Message:
  -----------
  [TableGen][GISel] Don't copy dead def from a sub-instruction to the root (#121094)

Sub-instruction can have a def with the same name as a def in a
top-level instruction.
Previously this could result in both defs copied to the instruction
being built.


  Commit: a0e1fcc093e0bb1265d8a6977f96dff51d9f5318
      https://github.com/llvm/llvm-project/commit/a0e1fcc093e0bb1265d8a6977f96dff51d9f5318
  Author: Sergei Barannikov <barannikov88 at gmail.com>
  Date:   2024-12-26 (Thu, 26 Dec 2024)

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

  Log Message:
  -----------
  [TableGen][GISel] Refactor node renderers emission (#121071)

Split importExplicitUseRenderer into several smaller functions and
add a bunch of TODOs and FIXMEs.

This is an NFCI change to simplify review of future functional changes.

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


  Commit: a72bfc5a1e5381012213df36389524f74ef7c8a3
      https://github.com/llvm/llvm-project/commit/a72bfc5a1e5381012213df36389524f74ef7c8a3
  Author: Hervé Poussineau <hpoussin at reactos.org>
  Date:   2024-12-26 (Thu, 26 Dec 2024)

  Changed paths:
    M llvm/lib/Object/COFFImportFile.cpp
    M llvm/lib/ToolDrivers/llvm-dlltool/DlltoolDriver.cpp
    M llvm/test/tools/llvm-dlltool/machine-opt.def

  Log Message:
  -----------
  [llvm-dlltool] Handle MIPS R4000 architecture (#114621)


  Commit: 03093b62d4c9ff43b0f9422db1ff97e5050d7664
      https://github.com/llvm/llvm-project/commit/03093b62d4c9ff43b0f9422db1ff97e5050d7664
  Author: Michał Górny <mgorny at gentoo.org>
  Date:   2024-12-26 (Thu, 26 Dec 2024)

  Changed paths:
    M polly/CMakeLists.txt

  Log Message:
  -----------
  [Polly] Fix gtest logic for standalone builds (#121114)

Fix the gtest logic to account for llvm_gtest being installed as part of
LLVM, as of 91b3ca39667b6341a8c1983a1467fae14b58318b.


  Commit: abd91023447d146f36357326fc97c458b49e40af
      https://github.com/llvm/llvm-project/commit/abd91023447d146f36357326fc97c458b49e40af
  Author: Shourya Goel <shouryagoel10000 at gmail.com>
  Date:   2024-12-26 (Thu, 26 Dec 2024)

  Changed paths:
    M libc/cmake/modules/CheckCompilerFeatures.cmake
    A libc/cmake/modules/compiler_features/check_cfloat128.cpp
    A libc/cmake/modules/compiler_features/check_cfloat16.cpp
    M libc/config/linux/aarch64/entrypoints.txt
    M libc/config/linux/riscv/entrypoints.txt
    M libc/config/linux/x86_64/entrypoints.txt
    M libc/src/complex/cimagf128.h
    M libc/src/complex/cimagf16.h
    M libc/src/complex/conjf128.h
    M libc/src/complex/conjf16.h
    M libc/src/complex/cprojf128.h
    M libc/src/complex/cprojf16.h
    M libc/src/complex/crealf128.h
    M libc/src/complex/crealf16.h
    M libc/src/complex/generic/cimagf128.cpp
    M libc/src/complex/generic/cimagf16.cpp
    M libc/src/complex/generic/conjf128.cpp
    M libc/src/complex/generic/conjf16.cpp
    M libc/src/complex/generic/cprojf128.cpp
    M libc/src/complex/generic/cprojf16.cpp
    M libc/src/complex/generic/crealf128.cpp
    M libc/src/complex/generic/crealf16.cpp
    M libc/test/src/complex/cimagf128_test.cpp
    M libc/test/src/complex/cimagf16_test.cpp
    M libc/test/src/complex/conjf128_test.cpp
    M libc/test/src/complex/conjf16_test.cpp
    M libc/test/src/complex/cprojf128_test.cpp
    M libc/test/src/complex/cprojf16_test.cpp
    M libc/test/src/complex/crealf128_test.cpp
    M libc/test/src/complex/crealf16_test.cpp

  Log Message:
  -----------
  [libc][complex] add cfloat16 and cfloat128 compiler flags (#121140)

Proper fix for the temporary fix in #114696


  Commit: 9f75b6664f1eaec1517f6cb620b34100b7b54857
      https://github.com/llvm/llvm-project/commit/9f75b6664f1eaec1517f6cb620b34100b7b54857
  Author: Shourya Goel <shouryagoel10000 at gmail.com>
  Date:   2024-12-26 (Thu, 26 Dec 2024)

  Changed paths:
    M libc/config/linux/aarch64/entrypoints.txt
    M libc/config/linux/riscv/entrypoints.txt

  Log Message:
  -----------
  [libc][complex] fix buildbot errors (#121141)

Fix buildbot errors due to #121140


  Commit: cbe583b0bd8d46b4e5edda463e19e6a24c0817bc
      https://github.com/llvm/llvm-project/commit/cbe583b0bd8d46b4e5edda463e19e6a24c0817bc
  Author: Thirumalai Shaktivel <74826228+Thirumalai-Shaktivel at users.noreply.github.com>
  Date:   2024-12-26 (Thu, 26 Dec 2024)

  Changed paths:
    M flang/lib/Lower/OpenMP/ClauseProcessor.cpp
    M flang/test/Lower/OpenMP/Todo/depend-clause-depobj.f90
    R flang/test/Lower/OpenMP/Todo/depend-clause-inoutset.f90
    R flang/test/Lower/OpenMP/Todo/depend-clause-mutexinoutset.f90
    M flang/test/Lower/OpenMP/task.f90
    M mlir/include/mlir/Dialect/OpenMP/OpenMPEnums.td
    M mlir/lib/Target/LLVMIR/Dialect/OpenMP/OpenMPToLLVMIRTranslation.cpp
    M mlir/test/Target/LLVMIR/openmp-llvm.mlir

  Log Message:
  -----------
  [Flang] Add translation support for MutexInOutSet and InOutSet (#120715)

Implementatoin details:
Both Mutexinoutset and Inoutset is recognized as flag=0x4 
and 0x8 respectively, the flags is set to `kmp_depend_info` and 
passed as argument to `__kmpc_omp_task_with_deps` runtime call


  Commit: 698bb5f239f50e8217cbec1d19bf8e0bba8c5d11
      https://github.com/llvm/llvm-project/commit/698bb5f239f50e8217cbec1d19bf8e0bba8c5d11
  Author: Hongren Zheng <i at zenithal.me>
  Date:   2024-12-26 (Thu, 26 Dec 2024)

  Changed paths:
    M mlir/docs/TargetLLVMIR.md

  Log Message:
  -----------
  [mlir][docs] Add C example for C-compatible wrapper for LLVM IR (#120955)

`TargetLLVMIR` documentation introduced the C-compatible wrapper
function for a MLIR function and ways to generate it, but did not
demonstrate the corresponding C function signature for them.

The C function signature is not obvious, in that
* `MemrefDescriptor` should be passed as _pointer_.
+ For example, MLIR function could return a new Descriptor, so pointer
is a must.
+ Surprisingly, directly pass the struct, by C convention, is also a
pointer so some function will work, but that is implicit and
error-prone.
* for `@foo() -> memref<>`, the return type becomes the first argument
in `_mlir_ciface_foo(%arg0: !llvm.ptr)`.
+ This is described in
https://github.com/llvm/llvm-project/blob/f70ab7d909d6861c7eec5ab40679bde16ab826c6/mlir/lib/Conversion/FuncToLLVM/FuncToLLVM.cpp#L110-L167
Especially by code `size_t argOffset = resultStructType ? 1 : 0;` saying
the actual argument starts at 1 when result is a struct (memref)

Users using the wrong signature will get incorrect results. LLVM
discourse has some example of it
*
https://discourse.llvm.org/t/how-to-compile-and-link-with-other-c-c-programs/4835/10
*
https://discourse.llvm.org/t/segmentation-fault-on-memref-store/80286/3
* https://discourse.llvm.org/t/memref-store-storing-a-memref-load/80307

Cc @ftynse for relevent commit history. Cc @charitha22 and @Wheest from
discourse post.


  Commit: 1b476ecdcf4b544af1436341fc923c0b73793cbe
      https://github.com/llvm/llvm-project/commit/1b476ecdcf4b544af1436341fc923c0b73793cbe
  Author: Brad Smith <brad at comstyle.com>
  Date:   2024-12-26 (Thu, 26 Dec 2024)

  Changed paths:
    M lldb/cmake/modules/LLDBConfig.cmake
    M lldb/source/Initialization/CMakeLists.txt
    M lldb/source/Plugins/ABI/X86/ABISysV_x86_64.cpp
    M lldb/source/Plugins/Process/CMakeLists.txt

  Log Message:
  -----------
  [lldb] A few more pieces towards OpenBSD support (#121051)


  Commit: 889215a30ed60474e573f9632d1fa362dfa1b04e
      https://github.com/llvm/llvm-project/commit/889215a30ed60474e573f9632d1fa362dfa1b04e
  Author: Alexey Bataev <a.bataev at outlook.com>
  Date:   2024-12-26 (Thu, 26 Dec 2024)

  Changed paths:
    M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
    M llvm/test/Transforms/SLPVectorizer/X86/reduction-logical.ll
    M llvm/test/Transforms/SLPVectorizer/logical-ops-poisonous-repeated.ll

  Log Message:
  -----------
  [SLP]Followup fix for the poisonous logical op in reductions

If the VectorizedTree still may generate poisonous value, but it is not
the original operand of the reduction op, need to check if Res still the
operand, to generate correct code.

Fixes #114905


  Commit: c21a3776c94eef46ea43192c6d0b8df6258b6489
      https://github.com/llvm/llvm-project/commit/c21a3776c94eef46ea43192c6d0b8df6258b6489
  Author: Vikash Gupta <Vikash.Gupta at amd.com>
  Date:   2024-12-26 (Thu, 26 Dec 2024)

  Changed paths:
    M llvm/include/llvm/CodeGen/GlobalISel/Utils.h
    M llvm/lib/CodeGen/GlobalISel/Utils.cpp
    M llvm/unittests/CodeGen/GlobalISel/GISelUtilsTest.cpp

  Log Message:
  -----------
  [GlobalIsel] [Utility] [NFC] Added isConstantOrConstantSplatVectorFP to handle float constants. (#120935)

Needed for #120104


  Commit: 4a92c27f9d29d065156647f9bcc44a8418c98efa
      https://github.com/llvm/llvm-project/commit/4a92c27f9d29d065156647f9bcc44a8418c98efa
  Author: Sergei Barannikov <barannikov88 at gmail.com>
  Date:   2024-12-26 (Thu, 26 Dec 2024)

  Changed paths:
    M llvm/test/TableGen/GlobalISelEmitter/OverloadedPtr.td
    M llvm/utils/TableGen/GlobalISelEmitter.cpp

  Log Message:
  -----------
  [TableGen][GISel] Remove check for LLT when emitting renderers (#121144)

Types used in the destination DAG of a pattern should not matter for
GlobalISel. All necessary checks are emitted in the form of matchers
when traversing the source DAG.

In particular, the check prevented importing patterns containing iPTR in
the middle of the destination DAG.

This reduces the number of skipped patterns on Mips and RISCV:
```
Mips   1270  -> 1212  (-58)
RISCV 42165 -> 42088  (-77)
```

Most of these patterns are for atomic operations.


  Commit: d21f300f06d56a46e96d1e594522ab0ac362f074
      https://github.com/llvm/llvm-project/commit/d21f300f06d56a46e96d1e594522ab0ac362f074
  Author: Min-Yih Hsu <min.hsu at sifive.com>
  Date:   2024-12-26 (Thu, 26 Dec 2024)

  Changed paths:
    M llvm/include/llvm/CodeGen/GlobalISel/MIPatternMatch.h
    M llvm/unittests/CodeGen/GlobalISel/PatternMatchTest.cpp

  Log Message:
  -----------
  [MIPatternMatch] Fix incorrect argument type of m_Type (#121074)

m_Type is supposed to extract the underlying value type (equality type
comparison is covered by m_SpecificType), therefore it should take a LLT
reference as its argument rather than passing by value.

This was originated from de256478e61d6488db751689af82d280ba114a6f, which
refactored out a good chunk of LLT reference usages. And it's just so
happen that (for some reasons) no one is using m_Type and no test was
covering it.


  Commit: 831e1ac12e766ae8c94d8d735d8f32c8d319e576
      https://github.com/llvm/llvm-project/commit/831e1ac12e766ae8c94d8d735d8f32c8d319e576
  Author: Min-Yih Hsu <min.hsu at sifive.com>
  Date:   2024-12-26 (Thu, 26 Dec 2024)

  Changed paths:
    M llvm/include/llvm/CodeGen/GlobalISel/MIPatternMatch.h
    M llvm/unittests/CodeGen/GlobalISel/PatternMatchTest.cpp

  Log Message:
  -----------
  [MIPatternMatch] Add m_GUMin and m_GUMax (#121068)

And make all unsigned and signed versions of min/max matchers
commutative, since we already made a precedent of m_GAdd that is
commutative by default.


  Commit: 8906b7be918be653d3c5f2ef3dbd923561603969
      https://github.com/llvm/llvm-project/commit/8906b7be918be653d3c5f2ef3dbd923561603969
  Author: srcarroll <50210727+srcarroll at users.noreply.github.com>
  Date:   2024-12-26 (Thu, 26 Dec 2024)

  Changed paths:
    M mlir/include/mlir/Dialect/Bufferization/Transforms/Passes.h
    M mlir/lib/Dialect/Bufferization/Transforms/BufferResultsToOutParams.cpp

  Log Message:
  -----------
  Enable custom alloc-like ops in `promoteBufferResultsToOutParams` (#120288)

In `buffer-results-to-out-params`, when `hoist-static-allocs` option is
enabled the pass was looking for `memref.alloc`s in order to attempt to
avoid copies when it can. Which makes it not extensible to external ops
that have allocation like properties. This patch simply changes
`memref::AllocOp` to `AllocationOpInterface` in the check to enable for
any allocation op.
Moreover, for function call updates, we enable setting an allocation
function callback in `BufferResultsToOutParamsOpts` to allow users to
emit their own alloc-like op.


  Commit: 6e8a1a45a783c13e4cd19bfd20b7a56cab6f7d81
      https://github.com/llvm/llvm-project/commit/6e8a1a45a783c13e4cd19bfd20b7a56cab6f7d81
  Author: Franklin <zhangfenglei at huawei.com>
  Date:   2024-12-26 (Thu, 26 Dec 2024)

  Changed paths:
    M bolt/include/bolt/Core/BinaryData.h
    M bolt/lib/Core/BinaryContext.cpp
    M bolt/lib/Rewrite/LinuxKernelRewriter.cpp
    M bolt/test/X86/linux-alt-instruction.s
    M bolt/test/X86/linux-bug-table.s
    M bolt/test/X86/linux-exceptions.s
    M bolt/test/X86/linux-orc.s
    M bolt/test/X86/linux-parainstructions.s
    M bolt/test/X86/linux-pci-fixup.s
    M bolt/test/X86/linux-smp-locks.s
    M bolt/test/X86/linux-static-calls.s
    M bolt/test/X86/linux-static-keys.s
    A bolt/test/X86/linux-version.S

  Log Message:
  -----------
  [BOLT] Detect Linux kernel version if the binary is a Linux kernel (#119088)

This makes it easier to handle differences (e.g. of exception table
entry size) between versions of Linux kernel


  Commit: 62c39d773422fd7193758c325085c864a67a55cc
      https://github.com/llvm/llvm-project/commit/62c39d773422fd7193758c325085c864a67a55cc
  Author: Davide Italiano <dcci at users.noreply.github.com>
  Date:   2024-12-26 (Thu, 26 Dec 2024)

  Changed paths:
    M bolt/docs/CommandLineArgumentReference.md

  Log Message:
  -----------
  [BOLT/docs] The support for macro-op fusion was removed. (#121158)

Update the documentation accordingly.


  Commit: 776ac21c7f95e092759ba39e5533aad90d63c86e
      https://github.com/llvm/llvm-project/commit/776ac21c7f95e092759ba39e5533aad90d63c86e
  Author: Oleksandr "Alex" Zinenko <git at ozinenko.com>
  Date:   2024-12-26 (Thu, 26 Dec 2024)

  Changed paths:
    M mlir/include/mlir/Dialect/GPU/TransformOps/GPUTransformOps.td

  Log Message:
  -----------
  [mlir] minor documentation fix in GPUTransformOps.td (#121157)

- do not refer to handles as `PDLOperation`, this is an outdated and
incorrect vision of what they are based on the type used in the early
days;
 - use backticks around inline code.


  Commit: b59a0a6f404a82b71802eceaf3addb94ce728ce9
      https://github.com/llvm/llvm-project/commit/b59a0a6f404a82b71802eceaf3addb94ce728ce9
  Author: Vitaly Buka <vitalybuka at google.com>
  Date:   2024-12-26 (Thu, 26 Dec 2024)

  Changed paths:
    M clang/test/Driver/sanitizer-ld.c

  Log Message:
  -----------
  [NFC][Driver] Define %{filecheck} as suggested on #121081 (#121159)

We will introduce `--implicit-check-not=libclang_rt` in #121081,
this let us to avoid repeating the flag.


  Commit: 377755c87e9d5494237f0e2e88f70886b5107342
      https://github.com/llvm/llvm-project/commit/377755c87e9d5494237f0e2e88f70886b5107342
  Author: Vitaly Buka <vitalybuka at google.com>
  Date:   2024-12-26 (Thu, 26 Dec 2024)

  Changed paths:
    M clang/test/Driver/sanitizer-ld.c

  Log Message:
  -----------
  [nfc][Driver] Remove {{(.exe)?}} from sanitizer test (#121160)

These are not Windows tests


  Commit: 2dfe1b404213c6676b9ac55cb89c0a709a712208
      https://github.com/llvm/llvm-project/commit/2dfe1b404213c6676b9ac55cb89c0a709a712208
  Author: Florian Hahn <flo at fhahn.com>
  Date:   2024-12-26 (Thu, 26 Dec 2024)

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

  Log Message:
  -----------
  [VPlan] Remove stray space when printing reverse vector pointer.

printFlags() takes care of printing the required space, remove the extra
printed space between flags and operands.


  Commit: 7ecbeace0192963482beb6520706ef98ae4d8c0d
      https://github.com/llvm/llvm-project/commit/7ecbeace0192963482beb6520706ef98ae4d8c0d
  Author: hill <hill at hilll.dev>
  Date:   2024-12-26 (Thu, 26 Dec 2024)

  Changed paths:
    M clang-tools-extra/clang-tidy/tool/ClangTidyMain.cpp
    M clang-tools-extra/docs/clang-tidy/index.rst

  Log Message:
  -----------
  [clang-tidy] fix incorrect argument names in documentation for ExtraArgs and ExtraArgsBefore (#120963)


  Commit: ca28fcc6fce516129d117f5f5a14ba7f54a045d8
      https://github.com/llvm/llvm-project/commit/ca28fcc6fce516129d117f5f5a14ba7f54a045d8
  Author: Vitaly Buka <vitalybuka at google.com>
  Date:   2024-12-26 (Thu, 26 Dec 2024)

  Changed paths:
    M clang/test/Driver/sanitizer-ld.c

  Log Message:
  -----------
  Revert "[nfc][Driver] Remove {{(.exe)?}} from sanitizer test (#121160)"

Revert #121160.
It fails Android targets on Windows.

This reverts commit 377755c87e9d5494237f0e2e88f70886b5107342.


  Commit: 8e9fda1c1140e067c5344c61df56c34167296f17
      https://github.com/llvm/llvm-project/commit/8e9fda1c1140e067c5344c61df56c34167296f17
  Author: Vitaly Buka <vitalybuka at google.com>
  Date:   2024-12-26 (Thu, 26 Dec 2024)

  Changed paths:
    M clang/test/Driver/sanitizer-ld.c

  Log Message:
  -----------
  Reapply "[nfc][Driver] Remove {{(.exe)?}} from sanitizer test (#121160)" (#121162)

This reverts commit ca28fcc6fce516129d117f5f5a14ba7f54a045d8.

Android targets pass on Windows buildbots, but fails on buildkite
https://buildkite.com/llvm-project/github-pull-requests/builds/132244

Re-apply  #121160


  Commit: 7deaed975eecf78797649b731506478f3d6ccd59
      https://github.com/llvm/llvm-project/commit/7deaed975eecf78797649b731506478f3d6ccd59
  Author: Prabhuk <prabhukr at google.com>
  Date:   2024-12-26 (Thu, 26 Dec 2024)

  Changed paths:
    M libc/config/baremetal/config.json

  Log Message:
  -----------
  [libc] Reduce binary size for baremetal targets (#121164)

For `math` functions we must choose size optimized implementations.
Removing framepointers will also help with binary size savings.


  Commit: 5d529c32cc2d5342a0d183881b6c3023435ed5d3
      https://github.com/llvm/llvm-project/commit/5d529c32cc2d5342a0d183881b6c3023435ed5d3
  Author: Hervé Poussineau <hpoussin at reactos.org>
  Date:   2024-12-27 (Fri, 27 Dec 2024)

  Changed paths:
    M llvm/lib/Object/WindowsMachineFlag.cpp
    M llvm/lib/ToolDrivers/llvm-lib/LibDriver.cpp
    A llvm/test/tools/llvm-lib/Inputs/mips.ll
    A llvm/test/tools/llvm-lib/infer-machine.test
    A llvm/test/tools/llvm-lib/machine-opt.test

  Log Message:
  -----------
  [llvm-lib] Handle MIPS architecture (#121007)

- add a test to check values for /machine argument
- add a test to check if machine is correctly inferred from inputs


  Commit: 6b53a9546c56c805eaf86ac564083bf846570312
      https://github.com/llvm/llvm-project/commit/6b53a9546c56c805eaf86ac564083bf846570312
  Author: Maksim Levental <maksim.levental at gmail.com>
  Date:   2024-12-26 (Thu, 26 Dec 2024)

  Changed paths:
    M mlir/include/mlir/Dialect/Arith/IR/ArithOps.td

  Log Message:
  -----------
  [mlir][arith] DCE `getPredicateByName` (#121165)


  Commit: 9d3f9f47e6e630b8308562297757e0911be03a18
      https://github.com/llvm/llvm-project/commit/9d3f9f47e6e630b8308562297757e0911be03a18
  Author: YunQiang Su <yunqiang at isrc.iscas.ac.cn>
  Date:   2024-12-27 (Fri, 27 Dec 2024)

  Changed paths:
    M llvm/lib/Object/WindowsMachineFlag.cpp
    M llvm/lib/ToolDrivers/llvm-lib/LibDriver.cpp
    R llvm/test/tools/llvm-lib/Inputs/mips.ll
    R llvm/test/tools/llvm-lib/infer-machine.test
    R llvm/test/tools/llvm-lib/machine-opt.test

  Log Message:
  -----------
  Revert "[llvm-lib] Handle MIPS architecture (#121007)"

This reverts commit 5d529c32cc2d5342a0d183881b6c3023435ed5d3.


  Commit: 47e1c87a613d7453b6d5addc2e23e26bea10c0ce
      https://github.com/llvm/llvm-project/commit/47e1c87a613d7453b6d5addc2e23e26bea10c0ce
  Author: Elvis Wang <elvis.wang at sifive.com>
  Date:   2024-12-27 (Fri, 27 Dec 2024)

  Changed paths:
    M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
    M llvm/lib/Transforms/Vectorize/VPlan.h
    M llvm/lib/Transforms/Vectorize/VPlanRecipes.cpp
    A llvm/test/Transforms/LoopVectorize/RISCV/preserve-dbg-loc.ll
    M llvm/test/Transforms/LoopVectorize/preserve-dbg-loc-and-loop-metadata.ll
    A llvm/test/Transforms/LoopVectorize/preserve-dbg-loc-reduction-inloop.ll

  Log Message:
  -----------
  [VPlan] Set debug location for VPReduction/VPWidenIntrinsicRecipe.  (#120054)

This patch add missing debug location for
VPReduction/VPWidenIntrinsicRecipe.


  Commit: 179344d9a85934ff83bed1f657c91d4c1ba12460
      https://github.com/llvm/llvm-project/commit/179344d9a85934ff83bed1f657c91d4c1ba12460
  Author: Fangrui Song <i at maskray.me>
  Date:   2024-12-26 (Thu, 26 Dec 2024)

  Changed paths:
    M llvm/include/llvm/MC/MCStreamer.h
    M llvm/lib/MC/MCAsmStreamer.cpp
    M llvm/lib/Target/PowerPC/PPCAsmPrinter.cpp

  Log Message:
  -----------
  [MC] Move AIX specific function to PPCAsmPrinter

https://reviews.llvm.org/D95518 used switchSectionNoPrint,
which seems buggy as .ll -> .s -> .o will be different from
.ll -> .o, but this change intends to be a NFC.


  Commit: c6ea7fb2f85346eb786f2690355db830c455bfc0
      https://github.com/llvm/llvm-project/commit/c6ea7fb2f85346eb786f2690355db830c455bfc0
  Author: Patryk Wychowaniec <pwychowaniec at pm.me>
  Date:   2024-12-27 (Fri, 27 Dec 2024)

  Changed paths:
    M llvm/lib/Target/AVR/AVRDevices.td
    M llvm/lib/Target/AVR/MCTargetDesc/AVRAsmBackend.cpp
    A llvm/test/CodeGen/AVR/branch-relaxation-long-backward.ll
    A llvm/test/CodeGen/AVR/branch-relaxation-long-forward.ll
    R llvm/test/CodeGen/AVR/branch-relaxation-long.ll

  Log Message:
  -----------
  [AVR] Wrap out-of-bounds relative jumps (#118015)

This commit improves the relative jumps, so that we are able to emit
`rjmp` that wraps around the memory boundary on devices with 8KB flash.


  Commit: f51db95e064c97860910d1ca17a8c29eb23d8623
      https://github.com/llvm/llvm-project/commit/f51db95e064c97860910d1ca17a8c29eb23d8623
  Author: Vitaly Buka <vitalybuka at google.com>
  Date:   2024-12-26 (Thu, 26 Dec 2024)

  Changed paths:
    M clang/test/Driver/sanitizer-ld.c

  Log Message:
  -----------
  [NFC][Driver] Use global --implicit-check-not=libclang_rt (#121081)

To simplify and improve precision of the test.


  Commit: 8230b8a60e8763a90b85a83cfd4ceeac1174ac84
      https://github.com/llvm/llvm-project/commit/8230b8a60e8763a90b85a83cfd4ceeac1174ac84
  Author: NAKAMURA Takumi <geek4civic at gmail.com>
  Date:   2024-12-27 (Fri, 27 Dec 2024)

  Changed paths:
    M llvm/test/tools/llvm-cov/branch-noShowBranch.test

  Log Message:
  -----------
  test/llvm-cov/branch-noShowBranch.test: Align `CHECK-NOT`s to branch-c-general.test's in #113114


  Commit: 3d9f9684a56ff049b5d5454bdb73f406c5af3959
      https://github.com/llvm/llvm-project/commit/3d9f9684a56ff049b5d5454bdb73f406c5af3959
  Author: NAKAMURA Takumi <geek4civic at gmail.com>
  Date:   2024-12-27 (Fri, 27 Dec 2024)

  Changed paths:
    M llvm/tools/llvm-cov/CoverageSummaryInfo.cpp

  Log Message:
  -----------
  llvm-cov: Split out `sumRegions()` from `FunctionCoverageSummary::get()`. NFC.


  Commit: cd3c1658ee3ff882ff9c51488662a4c3f21e6d9c
      https://github.com/llvm/llvm-project/commit/cd3c1658ee3ff882ff9c51488662a4c3f21e6d9c
  Author: Craig Topper <craig.topper at sifive.com>
  Date:   2024-12-26 (Thu, 26 Dec 2024)

  Changed paths:
    M llvm/test/CodeGen/RISCV/rv32xtheadba.ll
    M llvm/test/CodeGen/RISCV/rv64xtheadba.ll

  Log Message:
  -----------
  [RISCV] Add more tests to rv*xtheadba.ll. NFC

XTheadba has similarities with Zba and shares some of the same
codegen code and has similar isel patterns. This patch makes the
testing more similar.


  Commit: 814902a03a2bb4114fd61c05e0e599fc98d61dbb
      https://github.com/llvm/llvm-project/commit/814902a03a2bb4114fd61c05e0e599fc98d61dbb
  Author: Craig Topper <craig.topper at sifive.com>
  Date:   2024-12-26 (Thu, 26 Dec 2024)

  Changed paths:
    M llvm/lib/Target/RISCV/RISCVInstrInfoXTHead.td
    M llvm/test/CodeGen/RISCV/rv32xtheadba.ll
    M llvm/test/CodeGen/RISCV/rv64xtheadba.ll

  Log Message:
  -----------
  [RISCV] Fix XTheadba patterns broken since cfc574a6cd13d2d0b77110b579c5cfcec744129f.

Adding an OperandTransform to CSImm12MulBy4 and CSImm12MulBy8 for
Zba broke these patterns. They should have been changed in the same,
but we lacked sufficient testing.


  Commit: 5807d0efb963ab591a1ae569b538724299d6acdc
      https://github.com/llvm/llvm-project/commit/5807d0efb963ab591a1ae569b538724299d6acdc
  Author: Vitaly Buka <vitalybuka at google.com>
  Date:   2024-12-26 (Thu, 26 Dec 2024)

  Changed paths:
    M clang/test/Driver/sanitizer-ld.c

  Log Message:
  -----------
  [Drive] Don't match libclang_rt.builtins

Fixes fuchsia bots.


  Commit: bca055f2ac075d43f6f316927947b2a493f93bdb
      https://github.com/llvm/llvm-project/commit/bca055f2ac075d43f6f316927947b2a493f93bdb
  Author: Dhruv Srivastava <dhruv.srivastava at ibm.com>
  Date:   2024-12-27 (Fri, 27 Dec 2024)

  Changed paths:
    M lldb/source/Host/posix/MainLoopPosix.cpp

  Log Message:
  -----------
  [lldb] AIX Changes for MainLoop polling (#120378)

This PR is in reference to porting LLDB on AIX.

Link to discussions on llvm discourse and github:

1. https://discourse.llvm.org/t/port-lldb-to-ibm-aix/80640
2. https://github.com/llvm/llvm-project/issues/101657
The complete changes for porting are present in this draft PR:
https://github.com/llvm/llvm-project/pull/102601

Dropping changes for MainLoop polling in AIX, as `ppoll` is not
supported in AIX currently.
This change is part of the couple of minimal changes required to build a
minimal `lldb` binary on AIX


  Commit: 2b5b3cf60d9e9e0c597bad1be1207b167ef15c9f
      https://github.com/llvm/llvm-project/commit/2b5b3cf60d9e9e0c597bad1be1207b167ef15c9f
  Author: Matthias Springer <me at m-sp.org>
  Date:   2024-12-27 (Fri, 27 Dec 2024)

  Changed paths:
    M mlir/lib/Dialect/SparseTensor/Transforms/SparseIterationToScf.cpp
    M mlir/lib/Dialect/SparseTensor/Transforms/SparseTensorPasses.cpp

  Log Message:
  -----------
  [mlir][sparse_tensor] Migrate `SparseIterationToScf.cpp` to dialect conversion (#121054)

Use the regular dialect conversion driver instead of the 1:N dialect
conversion driver. The 1:N dialect conversion driver will be removed
soon.


  Commit: 1ead15512872b1f9eec0b69a7d8283e752a747e6
      https://github.com/llvm/llvm-project/commit/1ead15512872b1f9eec0b69a7d8283e752a747e6
  Author: Dhruv Srivastava <dhruv.srivastava at ibm.com>
  Date:   2024-12-27 (Fri, 27 Dec 2024)

  Changed paths:
    M lldb/source/Host/posix/ConnectionFileDescriptorPosix.cpp
    M lldb/source/Host/posix/DomainSocket.cpp
    M lldb/source/Plugins/Language/ObjC/Cocoa.cpp
    M lldb/source/Plugins/ObjectContainer/BSD-Archive/ObjectContainerBSDArchive.cpp

  Log Message:
  -----------
  [lldb] clang-format changes for some basic #if _AIX changes (#120978)

This PR is in reference to porting LLDB on AIX.

Link to discussions on llvm discourse and github:

1. https://discourse.llvm.org/t/port-lldb-to-ibm-aix/80640
2. https://github.com/llvm/llvm-project/issues/101657
The complete changes for porting are present in this draft PR:
https://github.com/llvm/llvm-project/pull/102601

Added clang-format changes for changes related to some base #if _AIX
changes:

- https://github.com/llvm/llvm-project/pull/120979


  Commit: ac8bb7353a7fe79cd99b3c041d5a153517c31abc
      https://github.com/llvm/llvm-project/commit/ac8bb7353a7fe79cd99b3c041d5a153517c31abc
  Author: Matt Arsenault <Matthew.Arsenault at amd.com>
  Date:   2024-12-27 (Fri, 27 Dec 2024)

  Changed paths:
    M llvm/include/llvm/Transforms/IPO/Attributor.h

  Log Message:
  -----------
  Attributor: Do not treat pointer vectors as valid for unsupported attributes (#121149)

The memory attributes, noalias, and dereferenceable do not support
vectors of pointers according to the IR verifier, so don't report
them as valid.


  Commit: 223521b13e7465bc177f43e22de526b777d6ff74
      https://github.com/llvm/llvm-project/commit/223521b13e7465bc177f43e22de526b777d6ff74
  Author: NAKAMURA Takumi <geek4civic at gmail.com>
  Date:   2024-12-27 (Fri, 27 Dec 2024)

  Changed paths:
    M llvm/test/tools/llvm-cov/branch-macros.test
    M llvm/test/tools/llvm-cov/showLineExecutionCounts.test
    M llvm/tools/llvm-cov/CodeCoverage.cpp
    M llvm/tools/llvm-cov/CoverageViewOptions.h
    M llvm/tools/llvm-cov/SourceCoverageView.h
    M llvm/tools/llvm-cov/SourceCoverageViewHTML.cpp
    M llvm/tools/llvm-cov/SourceCoverageViewText.cpp

  Log Message:
  -----------
  llvm-cov: Introduce `--binary-counters` (#120841)

In `llvm-cov show`, this option rounds counters (line, branch) to
`[1,0]` at rendering. This will be useful when the number of counts
doesn't interest but **Covered/uncoverd** does.


  Commit: aa2fdc69d35ff1c4a6de8a8d8edcc4c15236bb15
      https://github.com/llvm/llvm-project/commit/aa2fdc69d35ff1c4a6de8a8d8edcc4c15236bb15
  Author: NAKAMURA Takumi <geek4civic at gmail.com>
  Date:   2024-12-27 (Fri, 27 Dec 2024)

  Changed paths:
    M llvm/include/llvm/ProfileData/Coverage/CoverageMapping.h
    M llvm/lib/ProfileData/Coverage/CoverageMapping.cpp
    M llvm/tools/llvm-cov/SourceCoverageView.h

  Log Message:
  -----------
  [Coverage] Move SingleByteCoverage out of CountedRegion (#110966)

`SingleByteCoverage` is not per-region attribute at least.
Move it into `CoverageData` since it comes from `profdata`.

Depends on: #120841


  Commit: ccfe0de0e1e37ed369c9bf89dd0188ba0afb2e9a
      https://github.com/llvm/llvm-project/commit/ccfe0de0e1e37ed369c9bf89dd0188ba0afb2e9a
  Author: Hassnaa Hamdi <hassnaa.hamdi at arm.com>
  Date:   2024-12-27 (Fri, 27 Dec 2024)

  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:
  -----------
  [LV]: Teach LV to recursively (de)interleave.  (#89018)

Currently available intrinsics are only ld2/st2, which don't support interleaving factor > 2.
This patch teaches the LV to use ld2/st2 recursively to support high
interleaving factors.


  Commit: 5ad4213ef48253a6be1f9880f17555fc36efdd19
      https://github.com/llvm/llvm-project/commit/5ad4213ef48253a6be1f9880f17555fc36efdd19
  Author: Kunwar Grover <groverkss at gmail.com>
  Date:   2024-12-27 (Fri, 27 Dec 2024)

  Changed paths:
    M mlir/include/mlir/Dialect/Linalg/TransformOps/LinalgTransformOps.td
    M mlir/lib/Dialect/Linalg/TransformOps/LinalgTransformOps.cpp

  Log Message:
  -----------
  [mlir][Linalg] Allow PartialReductionOpInterface ops in tile_reduction_using_for (#120118)

The API used internally expects PartialReductionOpInterface. This patch
allows any operation implementing this interface to use this transform
op (instead of just LinalgOp).


  Commit: 9ab16d49c99966f33900d68ed5370f19927ca52c
      https://github.com/llvm/llvm-project/commit/9ab16d49c99966f33900d68ed5370f19927ca52c
  Author: Ivan Butygin <ivan.butygin at gmail.com>
  Date:   2024-12-27 (Fri, 27 Dec 2024)

  Changed paths:
    M mlir/lib/Interfaces/Utils/InferIntRangeCommon.cpp
    M mlir/test/Dialect/Arith/int-range-interface.mlir

  Log Message:
  -----------
  [mlir][IntRangeInference] Fix `arith.ceildivsi` range inference when it includes `INT_MIN` (#121062)

There is a special case in `arith.ceildivsi` range inference for
handling `lhs.smin()==INT_MIN`, but when `lhs` is not a single value, it
can cause it to skip entire negative range. Add `lhs.smin() + 1` check
to handle it.


  Commit: 07ba4575250b692b28d0fd5105e028b9f4c8e07f
      https://github.com/llvm/llvm-project/commit/07ba4575250b692b28d0fd5105e028b9f4c8e07f
  Author: Alexey Bataev <a.bataev at outlook.com>
  Date:   2024-12-27 (Fri, 27 Dec 2024)

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

  Log Message:
  -----------
  [SLP][NFC]Add dump of combined entries, where applicable


  Commit: 91bbebc7e118cceae1fc0e349de08094a3cd2fe7
      https://github.com/llvm/llvm-project/commit/91bbebc7e118cceae1fc0e349de08094a3cd2fe7
  Author: Kunwar Grover <groverkss at gmail.com>
  Date:   2024-12-27 (Fri, 27 Dec 2024)

  Changed paths:
    M mlir/include/mlir/Interfaces/TilingInterface.td
    M mlir/lib/Dialect/Linalg/Transforms/MeshShardingInterfaceImpl.cpp
    M mlir/lib/Dialect/Linalg/Transforms/TilingInterfaceImpl.cpp
    M mlir/lib/Dialect/SCF/Transforms/TileUsingInterface.cpp
    M mlir/test/Dialect/Linalg/transform-tile-reduction.mlir

  Log Message:
  -----------
  [mlir][scf] Add getPartialResultTilePosition to PartialReductionOpInterface (#120465)

This PR adds a new interface method to PartialReductionOpInterface which
allows it to query the result tile position for the partial result.
Previously, tiling the reduction dimension with
SplitReductionOuterReduction when the result has transposed parallel
dimensions would produce wrong results.

Other fixes that were needed to make this PR work:

- Instead of ad-hoc logic to decide where to place the new reduction
dimensions in the partial result based on the iteration space, the
reduction dimensions are always appended to the partial result tensor.
- Remove usage of PartialReductionOpInterface in Mesh dialect. The
implementation was trying to just get a neutral element, but ended up
trying to use PartialReductionOpInterface for it, which is not right. It
was also passing the wrong sizes to it.


  Commit: 8caeb2e0c2fb8a5f1689c11775b81ceee76de958
      https://github.com/llvm/llvm-project/commit/8caeb2e0c2fb8a5f1689c11775b81ceee76de958
  Author: Florian Hahn <flo at fhahn.com>
  Date:   2024-12-27 (Fri, 27 Dec 2024)

  Changed paths:
    M llvm/lib/Transforms/Vectorize/VPlan.h
    M llvm/lib/Transforms/Vectorize/VPlanHCFGBuilder.h
    M llvm/unittests/Transforms/Vectorize/VPDomTreeTest.cpp
    M llvm/unittests/Transforms/Vectorize/VPlanHCFGTest.cpp
    M llvm/unittests/Transforms/Vectorize/VPlanSlpTest.cpp
    M llvm/unittests/Transforms/Vectorize/VPlanTest.cpp
    M llvm/unittests/Transforms/Vectorize/VPlanTestBase.h
    M llvm/unittests/Transforms/Vectorize/VPlanVerifierTest.cpp

  Log Message:
  -----------
  [VPlan] Always create initial blocks in constructor (NFC).

Update C++ unit tests to use VPlanTestBase to construct initial VPlan,
using a constructor that creates the VP blocks directly in the
constructor.

Split off from and in preparation for
https://github.com/llvm/llvm-project/pull/120918.


  Commit: 1f90797f6a9d91d61e0f66b465b0467e4c66d0e0
      https://github.com/llvm/llvm-project/commit/1f90797f6a9d91d61e0f66b465b0467e4c66d0e0
  Author: kleines Filmröllchen <28656157+kleinesfilmroellchen at users.noreply.github.com>
  Date:   2024-12-27 (Fri, 27 Dec 2024)

  Changed paths:
    M clang-tools-extra/clangd/CodeComplete.cpp
    M clang-tools-extra/clangd/Config.h
    M clang-tools-extra/clangd/ConfigCompile.cpp
    M clang-tools-extra/clangd/ConfigFragment.h
    M clang-tools-extra/clangd/ConfigYAML.cpp
    M clang-tools-extra/clangd/Headers.cpp
    M clang-tools-extra/clangd/Headers.h
    M clang-tools-extra/clangd/IncludeCleaner.h
    M clang-tools-extra/clangd/ParsedAST.cpp
    M clang-tools-extra/clangd/unittests/CodeCompleteTests.cpp
    M clang-tools-extra/clangd/unittests/ConfigCompileTests.cpp
    M clang-tools-extra/clangd/unittests/ConfigYAMLTests.cpp
    M clang-tools-extra/clangd/unittests/HeadersTests.cpp

  Log Message:
  -----------
  [clangd] Allow specifying what headers are always included via "" or <> (#67749)

Projects can now add config fragments like this to their .clangd:

```yaml
Style:
  QuotedHeaders: "src/.*"
  AngledHeaders: ["path/sdk/.*", "third-party/.*"]
```

to force headers inserted via the --header-insertion=iwyu mode matching
at least one of the regexes to have <> (AngledHeaders) or ""
(QuotedHeaders) around them, respectively. For other headers (and in
conflicting cases where both styles have a matching regex), the current
system header detection remains.

Fixes https://github.com/clangd/clangd/issues/1247


  Commit: 4d8f9594b20ae7063863e948907f4f8ef8ce07bd
      https://github.com/llvm/llvm-project/commit/4d8f9594b20ae7063863e948907f4f8ef8ce07bd
  Author: Zequan Wu <zequanwu at google.com>
  Date:   2024-12-27 (Fri, 27 Dec 2024)

  Changed paths:
    M llvm/include/llvm/Analysis/TargetTransformInfo.h
    M llvm/include/llvm/Analysis/TargetTransformInfoImpl.h
    M llvm/lib/Analysis/TargetTransformInfo.cpp
    M llvm/lib/Target/AArch64/AArch64TargetTransformInfo.h
    M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
    M llvm/lib/Transforms/Vectorize/VPRecipeBuilder.h
    M llvm/lib/Transforms/Vectorize/VPlan.h
    M llvm/lib/Transforms/Vectorize/VPlanAnalysis.cpp
    M llvm/lib/Transforms/Vectorize/VPlanRecipes.cpp
    M llvm/lib/Transforms/Vectorize/VPlanValue.h
    M llvm/test/Transforms/LoopVectorize/AArch64/fully-unrolled-cost.ll
    R llvm/test/Transforms/LoopVectorize/AArch64/partial-reduce-dot-product-epilogue.ll
    R llvm/test/Transforms/LoopVectorize/AArch64/partial-reduce-dot-product-neon.ll
    R llvm/test/Transforms/LoopVectorize/AArch64/partial-reduce-dot-product.ll
    R llvm/test/Transforms/LoopVectorize/AArch64/partial-reduce-no-dotprod.ll
    R llvm/test/Transforms/LoopVectorize/AArch64/vplan-printing.ll

  Log Message:
  -----------
  Revert "Reland "[LoopVectorizer] Add support for partial reductions" (#120721)"

This reverts commit c858bf620c3ab2a4db53e84b9365b553c3ad1aa6 as it casuse optimization crash on -O2, see https://github.com/llvm/llvm-project/pull/120721#issuecomment-2563192057


  Commit: 815343e7dd32cc4c5c903ac52daf87aaa4e4cd6e
      https://github.com/llvm/llvm-project/commit/815343e7dd32cc4c5c903ac52daf87aaa4e4cd6e
  Author: Kyungwoo Lee <kyulee at meta.com>
  Date:   2024-12-27 (Fri, 27 Dec 2024)

  Changed paths:
    M llvm/lib/CodeGen/GlobalMergeFunctions.cpp
    A llvm/test/CodeGen/AArch64/cgdata-no-merge-attached-call-garget.ll

  Log Message:
  -----------
  [CGData][Merger] Avoid merging the attached call target (#121030)

For global function merging, the target of the arc-attached call must be
a constant and cannot be parameterized.
This change adds a check to bypass this case in `canParameterizeCallOperand()`.


  Commit: b2fd0a7a7065658ab4a3355399978523c1370615
      https://github.com/llvm/llvm-project/commit/b2fd0a7a7065658ab4a3355399978523c1370615
  Author: Vitaly Buka <vitalybuka at google.com>
  Date:   2024-12-27 (Fri, 27 Dec 2024)

  Changed paths:
    M clang/test/Driver/sanitizer-ld.c

  Log Message:
  -----------
  [Driver] Fix implicit-check-not regex (#121221)

We need to exclude more than builtins, but it's
 tricky with FileCheck regex. So switching to list
 of libs we want to check.


  Commit: 48bf0a9457fd60d0872d9b9b4804a95c833a72e1
      https://github.com/llvm/llvm-project/commit/48bf0a9457fd60d0872d9b9b4804a95c833a72e1
  Author: Amr Hesham <amr96 at programmer.net>
  Date:   2024-12-27 (Fri, 27 Dec 2024)

  Changed paths:
    M clang/docs/LibASTMatchersReference.html
    M clang/docs/ReleaseNotes.rst
    M clang/include/clang/ASTMatchers/ASTMatchers.h
    M clang/lib/ASTMatchers/ASTMatchersInternal.cpp
    M clang/lib/ASTMatchers/Dynamic/Registry.cpp
    M clang/unittests/AST/ASTImporterTest.cpp
    M clang/unittests/ASTMatchers/ASTMatchersNodeTest.cpp

  Log Message:
  -----------
  [Clang][ASTMatcher] Add `dependentScopeDeclRefExpr` matcher (#120996)

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


  Commit: 092966a44d1793e6bd53c191efeb5a5425fecde3
      https://github.com/llvm/llvm-project/commit/092966a44d1793e6bd53c191efeb5a5425fecde3
  Author: Vitaly Buka <vitalybuka at google.com>
  Date:   2024-12-27 (Fri, 27 Dec 2024)

  Changed paths:
    M clang/test/Driver/sanitizer-ld.c

  Log Message:
  -----------
  [Driver] Make regex stricter (#121243)

Follow up to #121221.


  Commit: edc42b2dc18c1bf413fc393eeb05abd6076d8bbe
      https://github.com/llvm/llvm-project/commit/edc42b2dc18c1bf413fc393eeb05abd6076d8bbe
  Author: Fangrui Song <i at maskray.me>
  Date:   2024-12-27 (Fri, 27 Dec 2024)

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

  Log Message:
  -----------
  [SLP] Migrate away from PointerUnion::get


  Commit: 39e8953f892a51816aa1fde70829a61d7e756a51
      https://github.com/llvm/llvm-project/commit/39e8953f892a51816aa1fde70829a61d7e756a51
  Author: Timm Baeder <tbaeder at redhat.com>
  Date:   2024-12-28 (Sat, 28 Dec 2024)

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

  Log Message:
  -----------
  [clang][bytecode] Move a local variable to a later point (#121250)

We don't need `E` before.


  Commit: 5bec2b71b44ddff44aa4d8534b58a5561389bb1d
      https://github.com/llvm/llvm-project/commit/5bec2b71b44ddff44aa4d8534b58a5561389bb1d
  Author: 4m4n-x-B4w4ne <125849251+4m4n-x-B4w4ne at users.noreply.github.com>
  Date:   2024-12-28 (Sat, 28 Dec 2024)

  Changed paths:
    M clang-tools-extra/clang-tidy/readability/ImplicitBoolConversionCheck.cpp
    M clang-tools-extra/clang-tidy/readability/ImplicitBoolConversionCheck.h
    M clang-tools-extra/docs/ReleaseNotes.rst
    M clang-tools-extra/docs/clang-tidy/checks/readability/implicit-bool-conversion.rst
    A clang-tools-extra/test/clang-tidy/checkers/readability/implicit-bool-conversion-check.cpp

  Log Message:
  -----------
  Added options to readability-implicit-bool-conversion  (#120087)

As given in the issue #36323 , I added two new options in the
clang-tools-extra/clan-tidy/readibility/ImplicitBoolConversionCheck.cpp
and header file.
I have also written new test cases to test these new options in
test/readibility directory.


  Commit: 537d4e9d21be1f5e40a780f570663b04572765af
      https://github.com/llvm/llvm-project/commit/537d4e9d21be1f5e40a780f570663b04572765af
  Author: NAKAMURA Takumi <geek4civic at gmail.com>
  Date:   2024-12-28 (Sat, 28 Dec 2024)

  Changed paths:
    M clang-tools-extra/clang-tidy/readability/ImplicitBoolConversionCheck.cpp
    M clang-tools-extra/clang-tidy/readability/ImplicitBoolConversionCheck.h
    M clang-tools-extra/docs/ReleaseNotes.rst
    M clang-tools-extra/docs/clang-tidy/checks/readability/implicit-bool-conversion.rst
    R clang-tools-extra/test/clang-tidy/checkers/readability/implicit-bool-conversion-check.cpp

  Log Message:
  -----------
  Revert "Added options to readability-implicit-bool-conversion  (#120087)"

This reverts commit 5bec2b71b44ddff44aa4d8534b58a5561389bb1d.
(llvmorg-20-init-16425-g5bec2b71b44d)

This broke tests.


  Commit: 811e1f4661bca4a2b5c93d30f54c3aa338f175e9
      https://github.com/llvm/llvm-project/commit/811e1f4661bca4a2b5c93d30f54c3aa338f175e9
  Author: NAKAMURA Takumi <geek4civic at gmail.com>
  Date:   2024-12-28 (Sat, 28 Dec 2024)

  Changed paths:
    M clang/test/CoverageMapping/single-byte-counters.cpp

  Log Message:
  -----------
  clang/test/CoverageMapping/single-byte-counters.cpp: Align to the final form to fill linefeeds.


  Commit: ee6f10d37232627137ce97388a5eb21b90907bfb
      https://github.com/llvm/llvm-project/commit/ee6f10d37232627137ce97388a5eb21b90907bfb
  Author: NAKAMURA Takumi <geek4civic at gmail.com>
  Date:   2024-12-28 (Sat, 28 Dec 2024)

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

  Log Message:
  -----------
  [Coverage] Make `MCDCRecord::Folded` as `[false/true]` with BitVector. NFC. (#121190)

For merging `MCDCRecord`s, `Folded` is expected to be promoted as
"Non-folded".


  Commit: a21f13bde2564a691a2da49adb773816f6c4e06b
      https://github.com/llvm/llvm-project/commit/a21f13bde2564a691a2da49adb773816f6c4e06b
  Author: NAKAMURA Takumi <geek4civic at gmail.com>
  Date:   2024-12-28 (Sat, 28 Dec 2024)

  Changed paths:
    M llvm/tools/llvm-cov/CoverageSummaryInfo.cpp
    M llvm/tools/llvm-cov/CoverageSummaryInfo.h

  Log Message:
  -----------
  llvm-cov: Refactor CoverageSummaryInfo. NFC. (#121189)

- Let subfunctions return `CoverageInfo` objects w/o accumulating
  reference values.
- Introduce `CoverageDataSummary` for handling `CoverageData`-oriented
  metrics.


  Commit: 52bbe20eb40f45bc64c614b6b3d7fe13bbacb0ff
      https://github.com/llvm/llvm-project/commit/52bbe20eb40f45bc64c614b6b3d7fe13bbacb0ff
  Author: Daniil Kovalev <dkovalev at accesssoftek.com>
  Date:   2024-12-28 (Sat, 28 Dec 2024)

  Changed paths:
    M llvm/lib/Target/AArch64/AArch64AsmPrinter.cpp
    M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
    M llvm/lib/Target/AArch64/AArch64ISelLowering.h
    M llvm/lib/Target/AArch64/AArch64InstrInfo.td
    A llvm/test/CodeGen/AArch64/ptrauth-arm64-tls-dynamics.ll

  Log Message:
  -----------
  [PAC][CodeGen][ELF][AArch64] Support signed TLSDESC (#113813)

Depends on #120010

`TLSDESC_AUTH_CALLSEQ` pseudo-instruction is introduced which is later expanded
to actual instruction sequence like the following.

```
adrp  x0, :tlsdesc_auth:var
ldr   x16, [x0, #:tlsdesc_auth_lo12:var]
add   x0, x0, #:tlsdesc_auth_lo12:var
blraa x16, x0
(TPIDR_EL0 offset now in x0)
```

Only SelectionDAG ISel is supported.

Tests starting with 'ptrauth-' have corresponding variants w/o this prefix.


  Commit: f68dbbbd57dd0947730300d1e827ad16c2dfffb5
      https://github.com/llvm/llvm-project/commit/f68dbbbd57dd0947730300d1e827ad16c2dfffb5
  Author: Simon Pilgrim <llvm-dev at redking.me.uk>
  Date:   2024-12-28 (Sat, 28 Dec 2024)

  Changed paths:
    M llvm/test/Transforms/VectorCombine/X86/shuffle-of-cmps.ll

  Log Message:
  -----------
  [VectorCombine] Add test coverage for #121110


  Commit: f2f02b21cd581057e3c9b4a7a27e0014eeb9ba15
      https://github.com/llvm/llvm-project/commit/f2f02b21cd581057e3c9b4a7a27e0014eeb9ba15
  Author: Simon Pilgrim <llvm-dev at redking.me.uk>
  Date:   2024-12-28 (Sat, 28 Dec 2024)

  Changed paths:
    M llvm/lib/Transforms/Vectorize/VectorCombine.cpp
    M llvm/test/Transforms/VectorCombine/X86/shuffle-of-cmps.ll

  Log Message:
  -----------
  [VectorCombine] foldShuffleOfBinops - only accept exact matching cmp predicates

m_SpecificCmp allowed equivalent predicate+flags which don't necessarily work after being folded from "shuffle (cmpop), (cmpop)" into "cmpop (shuffle), (shuffle)"

Fixes #121110


  Commit: 8e965d89c9624c184c48806dc39d50209265f0f8
      https://github.com/llvm/llvm-project/commit/8e965d89c9624c184c48806dc39d50209265f0f8
  Author: JOSTAR <52376093+shenjunjiekoda at users.noreply.github.com>
  Date:   2024-12-28 (Sat, 28 Dec 2024)

  Changed paths:
    M clang/lib/StaticAnalyzer/Core/LoopUnrolling.cpp
    A clang/test/Analysis/PR121201.cpp

  Log Message:
  -----------
  [analyzer] Fix zext assertion failure in loop unrolling (#121203)

The current implementation of APInt extension in the code can trigger an
assertion failure when the `zext` function is called with a target width
smaller than the current bit width. For example:
```cpp
if (InitNum.getBitWidth() != BoundNum.getBitWidth()) {
    InitNum = InitNum.zext(BoundNum.getBitWidth());
    BoundNum = BoundNum.zext(InitNum.getBitWidth());
}
```

This logic does not guarantee that the `zext` target width is always
greater than or equal to the current bit width, leading to potential
crashes.

Expected Behavior:
- Ensure InitNum and BoundNum are extended to the maximum of their respective widths.
- Prevent assertion failures by enforcing correct `zext` usage.

Fixes #121201


  Commit: 7e749d4fb7327ce2da307ed020c02a07e8279992
      https://github.com/llvm/llvm-project/commit/7e749d4fb7327ce2da307ed020c02a07e8279992
  Author: Amir Bishara <139038766+amirBish at users.noreply.github.com>
  Date:   2024-12-28 (Sat, 28 Dec 2024)

  Changed paths:
    M mlir/include/mlir/Dialect/Bufferization/Transforms/Transforms.h
    M mlir/lib/Dialect/Bufferization/Transforms/EmptyTensorElimination.cpp

  Log Message:
  -----------
  [mlir][bufferization]-Add ControlBuildSubsetExtractionFn to TensorEmptyElimination (#120851)

This PR Adds a `ControlBuildSubsetExtractionFn` to the tensor empty
elimination util, This will control the building of the subsets
extraction of the
`SubsetInsertionOpInterface`.

This control function returns the subsets extraction value that will
replace the `emptyTensorOp` use
which is being consumed by a specefic user (which the
 util expects to eliminate it).

The default control function will stay like today's behavior without any
additional changes.


  Commit: e86b68ff560aaf5fc723eaa8d8418892b2456e12
      https://github.com/llvm/llvm-project/commit/e86b68ff560aaf5fc723eaa8d8418892b2456e12
  Author: Timm Baeder <tbaeder at redhat.com>
  Date:   2024-12-28 (Sat, 28 Dec 2024)

  Changed paths:
    M clang/lib/AST/ByteCode/Compiler.cpp
    M clang/lib/AST/ByteCode/Compiler.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.cpp
    M clang/lib/AST/ByteCode/Pointer.h
    M clang/test/AST/ByteCode/cxx2a.cpp

  Log Message:
  -----------
  [clang][bytecode] Add support for typeid pointers (#121251)

Add it as another kind of pointer, saving both a `Type*` for the result
of the typeid() expression as well as one for the type of the typeid
expression.


  Commit: 3496e96f78c46f5b94c1892f97c470fd89293795
      https://github.com/llvm/llvm-project/commit/3496e96f78c46f5b94c1892f97c470fd89293795
  Author: Timm Bäder <tbaeder at redhat.com>
  Date:   2024-12-28 (Sat, 28 Dec 2024)

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

  Log Message:
  -----------
  [clang][bytecode] Add a missing break


  Commit: 088d636136a42d738e15f2f0a85e1b77a8f2de35
      https://github.com/llvm/llvm-project/commit/088d636136a42d738e15f2f0a85e1b77a8f2de35
  Author: adam-bzowski <adam.bzowski at intel.com>
  Date:   2024-12-28 (Sat, 28 Dec 2024)

  Changed paths:
    M llvm/lib/Analysis/ValueTracking.cpp
    M llvm/test/Analysis/ValueTracking/knownbits-trunc-with-min-max-clamp.ll

  Log Message:
  -----------
  [ValueTracking] Fix a bug for signed min-max clamping (#121206)

Correctly handle the case where the clamp is over the full range.
This fixes an issue introduced in #121206.


  Commit: 4a6fcc17c6d5ab9bf2b9629b49fce607a4eb4e25
      https://github.com/llvm/llvm-project/commit/4a6fcc17c6d5ab9bf2b9629b49fce607a4eb4e25
  Author: Maksim Levental <maksim.levental at gmail.com>
  Date:   2024-12-28 (Sat, 28 Dec 2024)

  Changed paths:
    M mlir/include/mlir/Dialect/EmitC/IR/EmitC.td

  Log Message:
  -----------
  [mlir][emitc] DCE unimplemented decls (#121253)


  Commit: f1bc3afb6cb07d6cc9bb3dce963130a879978aa1
      https://github.com/llvm/llvm-project/commit/f1bc3afb6cb07d6cc9bb3dce963130a879978aa1
  Author: Maksim Levental <maksim.levental at gmail.com>
  Date:   2024-12-28 (Sat, 28 Dec 2024)

  Changed paths:
    M mlir/include/mlir/Dialect/SCF/IR/SCF.h

  Log Message:
  -----------
  [mlir][scf] DCE unimplemented decls in TDs (#121237)

More dead code in headers...


  Commit: 8e329593313bb792592529ee825a52683108df99
      https://github.com/llvm/llvm-project/commit/8e329593313bb792592529ee825a52683108df99
  Author: David Olsen <dolsen at nvidia.com>
  Date:   2024-12-28 (Sat, 28 Dec 2024)

  Changed paths:
    M clang/include/clang/CIR/Dialect/Builder/CIRBaseBuilder.h
    A clang/include/clang/CIR/Dialect/IR/CIRAttrs.h
    A clang/include/clang/CIR/Dialect/IR/CIRAttrs.td
    M clang/include/clang/CIR/Dialect/IR/CIRDialect.h
    M clang/include/clang/CIR/Dialect/IR/CIROps.td
    M clang/include/clang/CIR/Dialect/IR/CIRTypes.td
    M clang/include/clang/CIR/Dialect/IR/CMakeLists.txt
    M clang/lib/CIR/CodeGen/CIRGenModule.cpp
    M clang/lib/CIR/Dialect/IR/CIRAttrs.cpp
    M clang/lib/CIR/Dialect/IR/CIRDialect.cpp
    M clang/lib/CIR/Dialect/IR/CMakeLists.txt
    M clang/lib/CIR/Interfaces/CMakeLists.txt
    M clang/test/CIR/global-var-simple.cpp

  Log Message:
  -----------
  [CIR] Upstream initial attribute support (#121069)

Upstream several ClangIR-specific MLIR attributes, in particular
attributes for integer, floating-point, and null pointer constants.
These are the first ClangIR attributes to be upstreamed, so
infrastructure changes are included, such as the table-gen file
`CIRAttrs.td`.

Attributes can be used as the initial values for global variables. The
existing automated test global-var-simple.cpp includes initial values
for some of the global variables in the test.


  Commit: cb1ad985b53c87b53974e37bba60129acb294f0d
      https://github.com/llvm/llvm-project/commit/cb1ad985b53c87b53974e37bba60129acb294f0d
  Author: Maksim Levental <maksim.levental at gmail.com>
  Date:   2024-12-28 (Sat, 28 Dec 2024)

  Changed paths:
    M mlir/lib/Dialect/LLVMIR/IR/LLVMAttrs.cpp

  Log Message:
  -----------
  [mlir][llvmir] implement missing attrs `getChecked` (#121248)


  Commit: de294c968bf292794ca9f0a6a481d3dff3bcc2eb
      https://github.com/llvm/llvm-project/commit/de294c968bf292794ca9f0a6a481d3dff3bcc2eb
  Author: NAKAMURA Takumi <geek4civic at gmail.com>
  Date:   2024-12-29 (Sun, 29 Dec 2024)

  Changed paths:
    M compiler-rt/test/profile/ContinuousSyncMode/basic.c
    M compiler-rt/test/profile/ContinuousSyncMode/get-filename.c
    M compiler-rt/test/profile/ContinuousSyncMode/image-with-mcdc.c
    M compiler-rt/test/profile/ContinuousSyncMode/multi-threaded.cpp
    M compiler-rt/test/profile/ContinuousSyncMode/online-merging.c
    M compiler-rt/test/profile/ContinuousSyncMode/pid-substitution.c
    M compiler-rt/test/profile/ContinuousSyncMode/set-filename.c
    M compiler-rt/test/profile/lit.cfg.py

  Log Message:
  -----------
  [profile] Enable testing Continuous mode on Linux (#121238)

Based on #115987, with the introduction of `REQUIRES: continuous-mode`.
Also Linux assumes `runtime_reloc`.

FIXME: image-with-no-counters.c is still excluded.


  Commit: 02e8972c378bf60cc16a85815d29faafdbad7180
      https://github.com/llvm/llvm-project/commit/02e8972c378bf60cc16a85815d29faafdbad7180
  Author: Justin Bogner <mail at justinbogner.com>
  Date:   2024-12-28 (Sat, 28 Dec 2024)

  Changed paths:
    M clang/test/Driver/sanitizer-ld.c

  Log Message:
  -----------
  Revert "[nfc][Driver] Remove {{(.exe)?}} from sanitizer test" again (#121280)

This reverts #121162, which was a reapply of the previous revert earlier
in #121160 - The change blatantly breaks tests on windows and it isn't
clear why it's being made.

Note that I needed to add the optional .exe suffix to a few more check
lines that were added as a follow up.

This reverts commit 8e9fda1c1140e067c5344c61df56c34167296f17.


  Commit: 1557eeda738d7dbe51d2f52fce28a1fd6f5844ce
      https://github.com/llvm/llvm-project/commit/1557eeda738d7dbe51d2f52fce28a1fd6f5844ce
  Author: quic_hchandel <165007698+hchandel at users.noreply.github.com>
  Date:   2024-12-29 (Sun, 29 Dec 2024)

  Changed paths:
    M clang/test/Driver/print-supported-extensions-riscv.c
    M llvm/docs/RISCVUsage.rst
    M llvm/docs/ReleaseNotes.md
    M llvm/lib/Target/RISCV/AsmParser/RISCVAsmParser.cpp
    M llvm/lib/Target/RISCV/Disassembler/RISCVDisassembler.cpp
    M llvm/lib/Target/RISCV/MCTargetDesc/RISCVBaseInfo.h
    M llvm/lib/Target/RISCV/RISCVFeatures.td
    M llvm/lib/Target/RISCV/RISCVInstrInfoXqci.td
    M llvm/lib/TargetParser/RISCVISAInfo.cpp
    M llvm/test/CodeGen/RISCV/attributes.ll
    A llvm/test/MC/RISCV/xqciac-invalid.s
    A llvm/test/MC/RISCV/xqciac-valid.s
    M llvm/unittests/TargetParser/RISCVISAInfoTest.cpp

  Log Message:
  -----------
  [RISCV] Add Qualcomm uC Xqciac (Load-Store Adress calculation) extension (#121037)

This extension adds 3 instructions that perform load-store address
calculation.

The current spec can be found at:
https://github.com/quic/riscv-unified-db/releases/latest

This patch adds assembler only support.

---------

Co-authored-by: Harsh Chandel <hchandel at qti.qualcomm.com>
Co-authored-by: Sudharsan Veeravalli <quic_svs at quicinc.com>


  Commit: 66dd7e63d8a1860c11f3b9acf011cad4e18f0195
      https://github.com/llvm/llvm-project/commit/66dd7e63d8a1860c11f3b9acf011cad4e18f0195
  Author: Fangrui Song <i at maskray.me>
  Date:   2024-12-28 (Sat, 28 Dec 2024)

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

  Log Message:
  -----------
  Simplify enablePostRAScheduler and test enablePostRAScheduler() early


  Commit: ff29f38c02eb425a6809dec26f221cea3d99b57c
      https://github.com/llvm/llvm-project/commit/ff29f38c02eb425a6809dec26f221cea3d99b57c
  Author: Jacek Caban <jacek at codeweavers.com>
  Date:   2024-12-29 (Sun, 29 Dec 2024)

  Changed paths:
    M lld/COFF/Driver.cpp
    M lld/COFF/SymbolTable.cpp
    M lld/COFF/SymbolTable.h
    M lld/COFF/Writer.cpp
    M lld/test/COFF/guard-warnings.s
    A lld/test/COFF/loadcfg-short.test
    A lld/test/COFF/loadcfg-size.test
    A lld/test/COFF/loadcfg-uninitialized.test

  Log Message:
  -----------
  [LLD][COFF] Store and validate load config in SymbolTable (#120324)

Improve diagnostics for invalid load configurations.


  Commit: e45e091b90896023584b303539bd8ae16d8932b3
      https://github.com/llvm/llvm-project/commit/e45e091b90896023584b303539bd8ae16d8932b3
  Author: Congcong Cai <congcongcai0907 at 163.com>
  Date:   2024-12-29 (Sun, 29 Dec 2024)

  Changed paths:
    M clang-tools-extra/clang-tidy/bugprone/BugproneTidyModule.cpp
    M clang-tools-extra/clang-tidy/bugprone/CMakeLists.txt
    A clang-tools-extra/clang-tidy/bugprone/NarrowingConversionsCheck.cpp
    A clang-tools-extra/clang-tidy/bugprone/NarrowingConversionsCheck.h
    M clang-tools-extra/clang-tidy/cppcoreguidelines/CMakeLists.txt
    M clang-tools-extra/clang-tidy/cppcoreguidelines/CppCoreGuidelinesTidyModule.cpp
    R clang-tools-extra/clang-tidy/cppcoreguidelines/NarrowingConversionsCheck.cpp
    R clang-tools-extra/clang-tidy/cppcoreguidelines/NarrowingConversionsCheck.h
    M clang-tools-extra/docs/ReleaseNotes.rst
    M clang-tools-extra/docs/clang-tidy/checks/bugprone/narrowing-conversions.rst
    M clang-tools-extra/docs/clang-tidy/checks/cppcoreguidelines/narrowing-conversions.rst
    M clang-tools-extra/docs/clang-tidy/checks/list.rst
    A clang-tools-extra/test/clang-tidy/checkers/bugprone/narrowing-conversions-bitfields.cpp
    A clang-tools-extra/test/clang-tidy/checkers/bugprone/narrowing-conversions-equivalentbitwidth-option.cpp
    A clang-tools-extra/test/clang-tidy/checkers/bugprone/narrowing-conversions-ignoreconversionfromtypes-option.cpp
    A clang-tools-extra/test/clang-tidy/checkers/bugprone/narrowing-conversions-intemplates-option.cpp
    A clang-tools-extra/test/clang-tidy/checkers/bugprone/narrowing-conversions-long-is-32bits.cpp
    A clang-tools-extra/test/clang-tidy/checkers/bugprone/narrowing-conversions-narrowingfloatingpoint-option.cpp
    A clang-tools-extra/test/clang-tidy/checkers/bugprone/narrowing-conversions-narrowinginteger-option.cpp
    A clang-tools-extra/test/clang-tidy/checkers/bugprone/narrowing-conversions-narrowingintegertofloatingpoint-option.cpp
    A clang-tools-extra/test/clang-tidy/checkers/bugprone/narrowing-conversions-pedanticmode-option.cpp
    A clang-tools-extra/test/clang-tidy/checkers/bugprone/narrowing-conversions-unsigned-char.cpp
    A clang-tools-extra/test/clang-tidy/checkers/bugprone/narrowing-conversions.cpp
    R clang-tools-extra/test/clang-tidy/checkers/cppcoreguidelines/narrowing-conversions-bitfields.cpp
    R clang-tools-extra/test/clang-tidy/checkers/cppcoreguidelines/narrowing-conversions-equivalentbitwidth-option.cpp
    R clang-tools-extra/test/clang-tidy/checkers/cppcoreguidelines/narrowing-conversions-ignoreconversionfromtypes-option.cpp
    R clang-tools-extra/test/clang-tidy/checkers/cppcoreguidelines/narrowing-conversions-intemplates-option.cpp
    R clang-tools-extra/test/clang-tidy/checkers/cppcoreguidelines/narrowing-conversions-long-is-32bits.cpp
    R clang-tools-extra/test/clang-tidy/checkers/cppcoreguidelines/narrowing-conversions-narrowingfloatingpoint-option.cpp
    R clang-tools-extra/test/clang-tidy/checkers/cppcoreguidelines/narrowing-conversions-narrowinginteger-option.cpp
    R clang-tools-extra/test/clang-tidy/checkers/cppcoreguidelines/narrowing-conversions-narrowingintegertofloatingpoint-option.cpp
    R clang-tools-extra/test/clang-tidy/checkers/cppcoreguidelines/narrowing-conversions-pedanticmode-option.cpp
    R clang-tools-extra/test/clang-tidy/checkers/cppcoreguidelines/narrowing-conversions-unsigned-char.cpp
    R clang-tools-extra/test/clang-tidy/checkers/cppcoreguidelines/narrowing-conversions.cpp

  Log Message:
  -----------
  [clang-tidy] swap cppcoreguidelines-narrowing-conversions and bugprone-narrowing-conversions (#120245)

According to #116591.
> Coding guidelines should "cherry-pick" (and posddsibly
configure/harden/make more strict) base checks.
We should move narrowing conversion to bugprone and keep alias in
cppcoreguidelines


  Commit: 412e30b2274a134c01c2140ac7c7579be70f0896
      https://github.com/llvm/llvm-project/commit/412e30b2274a134c01c2140ac7c7579be70f0896
  Author: Matthias Springer <me at m-sp.org>
  Date:   2024-12-29 (Sun, 29 Dec 2024)

  Changed paths:
    M mlir/test/Transforms/test-legalizer.mlir
    M mlir/test/lib/Dialect/Test/TestPatterns.cpp

  Log Message:
  -----------
  [mlir][Transforms] Dialect Conversion: Add 1:N op replacement test case (#121271)

This commit adds a test case that performs two back-to-back 1:N
replacements: `(i16) -> (i16, i16) -> ((i16, i16), (i16, i16))`. For the
moment, 3 argument materializations are inserted. In the future (when
the conversion value mapping supports 1:N), a single target
materialization will be inserted. Addresses a
[comment](https://github.com/llvm/llvm-project/pull/116524#discussion_r1894629711)
in #116524.


  Commit: b34ed25dd5c74abcb46872cbaab34b91e27a0bda
      https://github.com/llvm/llvm-project/commit/b34ed25dd5c74abcb46872cbaab34b91e27a0bda
  Author: Congcong Cai <congcongcai0907 at 163.com>
  Date:   2024-12-29 (Sun, 29 Dec 2024)

  Changed paths:
    M clang-tools-extra/clang-tidy/bugprone/CMakeLists.txt
    M clang-tools-extra/clang-tidy/cppcoreguidelines/CMakeLists.txt

  Log Message:
  -----------
  [clang-tidy][NFC] add link libs for bugprone module

Fixed bug issue introduced in #120245


  Commit: 7144325109353f9153780f93ec5a8fee8fdc0927
      https://github.com/llvm/llvm-project/commit/7144325109353f9153780f93ec5a8fee8fdc0927
  Author: Jacek Caban <jacek at codeweavers.com>
  Date:   2024-12-29 (Sun, 29 Dec 2024)

  Changed paths:
    M lld/COFF/Writer.cpp
    M lld/test/COFF/arm64x-loadconfig.s

  Log Message:
  -----------
  [LLD][COFF] Prepare both load configs on ARM64X (#120326)


  Commit: db7123fbbc530587941ea3c78666103233282120
      https://github.com/llvm/llvm-project/commit/db7123fbbc530587941ea3c78666103233282120
  Author: Jacek Caban <jacek at codeweavers.com>
  Date:   2024-12-29 (Sun, 29 Dec 2024)

  Changed paths:
    M lld/COFF/Driver.cpp
    M lld/COFF/Writer.cpp
    A lld/test/COFF/Inputs/loadconfig-arm64.s
    M lld/test/COFF/arm64ec-codemap.test
    M lld/test/COFF/arm64ec-entry-thunk.s
    M lld/test/COFF/arm64ec-lib.test
    M lld/test/COFF/arm64ec-range-thunks.s
    M lld/test/COFF/arm64x-loadconfig.s

  Log Message:
  -----------
  [LLD][COFF] Use EC symbol table for CHPE metadata (#120328)

Copy CHPE metadata pointer from EC load config to native configuration.


  Commit: 6cbc64ed922cc69bc292d394ba5c681fa309f404
      https://github.com/llvm/llvm-project/commit/6cbc64ed922cc69bc292d394ba5c681fa309f404
  Author: Sergei Barannikov <barannikov88 at gmail.com>
  Date:   2024-12-29 (Sun, 29 Dec 2024)

  Changed paths:
    A llvm/test/TableGen/GlobalISelEmitter/undef-tied-input.td
    M llvm/utils/TableGen/GlobalISelEmitter.cpp

  Log Message:
  -----------
  [TableGen][GISel] Fix IMPLICIT_DEF operand being added as a use (#121283)

`IMPLICIT_DEF` has one operand that is a def, not a use.


  Commit: 01c8cd664a9bea23a49c863a39351949ac11a4fd
      https://github.com/llvm/llvm-project/commit/01c8cd664a9bea23a49c863a39351949ac11a4fd
  Author: David Green <david.green at arm.com>
  Date:   2024-12-29 (Sun, 29 Dec 2024)

  Changed paths:
    M llvm/lib/Target/AArch64/AArch64Combine.td
    M llvm/lib/Target/AArch64/GISel/AArch64PostLegalizerLowering.cpp
    M llvm/test/CodeGen/AArch64/aarch64-dup-ext.ll
    M llvm/test/CodeGen/AArch64/neon-reverseshuffle.ll

  Log Message:
  -----------
  [AArch64][GlobalISel] Full reverse shuffles. (#119083)

A full shuffle reverse needs to use EXT+REV64. This adds handling for more types than SDAG so long as the mask is isReverseMask to make the patterns simpler.


  Commit: 08e2c15a287df132ca2186f2d56669219a7ed8a1
      https://github.com/llvm/llvm-project/commit/08e2c15a287df132ca2186f2d56669219a7ed8a1
  Author: Maksim Levental <maksim.levental at gmail.com>
  Date:   2024-12-29 (Sun, 29 Dec 2024)

  Changed paths:
    M mlir/lib/Bindings/Python/IRCore.cpp

  Log Message:
  -----------
  [mlir][python] disable nanobind leak warnings (#121099)


  Commit: 8487d2460e8cf80c7c3b240cf46969eeeb4ed18d
      https://github.com/llvm/llvm-project/commit/8487d2460e8cf80c7c3b240cf46969eeeb4ed18d
  Author: Maksim Levental <maksim.levental at gmail.com>
  Date:   2024-12-29 (Sun, 29 Dec 2024)

  Changed paths:
    M mlir/include/mlir/Dialect/Shape/IR/ShapeOps.td

  Log Message:
  -----------
  [mlir][shape] DCE unimplemented extra decl (#121275)


  Commit: c3ef6d469d89accd152c216ed8644783fb221c90
      https://github.com/llvm/llvm-project/commit/c3ef6d469d89accd152c216ed8644783fb221c90
  Author: Fangrui Song <i at maskray.me>
  Date:   2024-12-29 (Sun, 29 Dec 2024)

  Changed paths:
    M llvm/lib/CodeGen/StackMapLivenessAnalysis.cpp
    M llvm/lib/Target/X86/X86LoadValueInjectionRetHardening.cpp

  Log Message:
  -----------
  Move two LLVM_DEBUG banners after skippers

so that they don't show in -debug output when they are not run.


  Commit: 7f3428d3ed71d87a2088b77b6cab9f3d86544234
      https://github.com/llvm/llvm-project/commit/7f3428d3ed71d87a2088b77b6cab9f3d86544234
  Author: Florian Hahn <flo at fhahn.com>
  Date:   2024-12-29 (Sun, 29 Dec 2024)

  Changed paths:
    M llvm/lib/Transforms/Vectorize/LoopVectorizationPlanner.h
    M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
    M llvm/test/Transforms/LoopVectorize/AArch64/clamped-trip-count.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/conditional-branches-cost.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/epilog-vectorization-widen-inductions.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/fixed-order-recurrence.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/force-target-instruction-cost.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/induction-costs-sve.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/induction-costs.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/intrinsiccost.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/low_trip_count_predicates.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/mul-simplification.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/reduction-recurrence-costs-sve.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/scalable-avoid-scalarization.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/scalable-strict-fadd.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/sve-epilog-vect.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/sve-inductions-unusual-types.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/sve-interleaved-accesses.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/sve-live-out-pointer-induction.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/sve-tail-folding-forced.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/sve-tail-folding.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/sve-widen-gep.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/sve-widen-phi.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/sve2-histcnt-vplan.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/synthesize-mask-for-call.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/widen-call-with-intrinsic-or-libfunc.ll
    M llvm/test/Transforms/LoopVectorize/PowerPC/exit-branch-cost.ll
    M llvm/test/Transforms/LoopVectorize/RISCV/blend-any-of-reduction-cost.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/first-order-recurrence-scalable-vf1.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/riscv-vector-reverse.ll
    M llvm/test/Transforms/LoopVectorize/RISCV/strided-accesses.ll
    M llvm/test/Transforms/LoopVectorize/RISCV/vectorize-force-tail-with-evl-reverse-load-store.ll
    M llvm/test/Transforms/LoopVectorize/RISCV/vectorize-force-tail-with-evl-uniform-store.ll
    M llvm/test/Transforms/LoopVectorize/RISCV/vplan-vp-intrinsics-reduction.ll
    M llvm/test/Transforms/LoopVectorize/SystemZ/predicated-first-order-recurrence.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/epilog-vectorization-inductions.ll
    M llvm/test/Transforms/LoopVectorize/X86/fixed-order-recurrence.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/induction-costs.ll
    M llvm/test/Transforms/LoopVectorize/X86/intrinsiccost.ll
    M llvm/test/Transforms/LoopVectorize/X86/optsize.ll
    M llvm/test/Transforms/LoopVectorize/X86/pr109581-unused-blend.ll
    M llvm/test/Transforms/LoopVectorize/X86/pr72969.ll
    M llvm/test/Transforms/LoopVectorize/X86/scatter_crash.ll
    M llvm/test/Transforms/LoopVectorize/X86/small-size.ll
    M llvm/test/Transforms/LoopVectorize/branch-weights.ll
    M llvm/test/Transforms/LoopVectorize/epilog-vectorization-any-of-reductions.ll
    M llvm/test/Transforms/LoopVectorize/first-order-recurrence-chains-vplan.ll
    M llvm/test/Transforms/LoopVectorize/first-order-recurrence-chains.ll
    M llvm/test/Transforms/LoopVectorize/first-order-recurrence-complex.ll
    M llvm/test/Transforms/LoopVectorize/first-order-recurrence-sink-replicate-region.ll
    M llvm/test/Transforms/LoopVectorize/first-order-recurrence.ll
    M llvm/test/Transforms/LoopVectorize/induction.ll
    M llvm/test/Transforms/LoopVectorize/interleave-and-scalarize-only.ll
    M llvm/test/Transforms/LoopVectorize/interleaved-accesses.ll
    M llvm/test/Transforms/LoopVectorize/invariant-store-vectorization.ll
    M llvm/test/Transforms/LoopVectorize/iv-select-cmp-nested-loop.ll
    M llvm/test/Transforms/LoopVectorize/optimal-epilog-vectorization.ll
    M llvm/test/Transforms/LoopVectorize/pr59319-loop-access-info-invalidation.ll
    M llvm/test/Transforms/LoopVectorize/pr66616.ll
    M llvm/test/Transforms/LoopVectorize/reduction-align.ll
    M llvm/test/Transforms/LoopVectorize/reduction-inloop-cond.ll
    M llvm/test/Transforms/LoopVectorize/scalable-inductions.ll
    M llvm/test/Transforms/LoopVectorize/select-reduction.ll
    M llvm/test/Transforms/LoopVectorize/store-reduction-results-in-tail-folded-loop.ll
    M llvm/test/Transforms/LoopVectorize/uncountable-early-exit-vplan.ll
    M llvm/test/Transforms/LoopVectorize/vplan-iv-transforms.ll
    M llvm/test/Transforms/LoopVectorize/vplan-predicate-switch.ll
    M llvm/test/Transforms/LoopVectorize/vplan-printing-before-execute.ll
    M llvm/test/Transforms/LoopVectorize/vplan-printing.ll
    M llvm/test/Transforms/LoopVectorize/vplan-sink-scalars-and-merge-vf1.ll
    M llvm/test/Transforms/LoopVectorize/vplan-sink-scalars-and-merge.ll
    M llvm/test/Transforms/PhaseOrdering/ARM/arm_mult_q15.ll

  Log Message:
  -----------
  [VPlan] Compute induction end values in VPlan. (#112145)

Use createDerivedIV to compute IV end values directly in VPlan, instead
of creating them up-front.

This allows updating IV users outside the loop as follow-up.

Depends on https://github.com/llvm/llvm-project/pull/110004 and
https://github.com/llvm/llvm-project/pull/109975.

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


  Commit: d2e71c92b86895781172c3320e6ce828b1df5127
      https://github.com/llvm/llvm-project/commit/d2e71c92b86895781172c3320e6ce828b1df5127
  Author: Lukas Bergdoll <lukas.bergdoll at gmail.com>
  Date:   2024-12-29 (Sun, 29 Dec 2024)

  Changed paths:
    M libc/src/stdlib/heap_sort.h
    M libc/src/stdlib/qsort.cpp
    M libc/src/stdlib/qsort_data.h
    A libc/src/stdlib/qsort_pivot.h
    M libc/src/stdlib/qsort_r.cpp
    M libc/src/stdlib/qsort_util.h
    M libc/src/stdlib/quick_sort.h
    M libc/test/src/stdlib/CMakeLists.txt
    M libc/test/src/stdlib/SortingTest.h
    M libc/test/src/stdlib/heap_sort_test.cpp
    M libc/test/src/stdlib/qsort_r_test.cpp
    R libc/test/src/stdlib/qsort_test.cpp
    M libc/test/src/stdlib/quick_sort_test.cpp
    M utils/bazel/llvm-project-overlay/libc/test/src/stdlib/BUILD.bazel

  Log Message:
  -----------
  [libc] Improve qsort (#120450)


  Commit: 6a769638b840385fa691f514e3764cc899f64570
      https://github.com/llvm/llvm-project/commit/6a769638b840385fa691f514e3764cc899f64570
  Author: Craig Topper <craig.topper at sifive.com>
  Date:   2024-12-29 (Sun, 29 Dec 2024)

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

  Log Message:
  -----------
  [RISCV] Remove XTHeadba pattern that is covered by DAG combine.

Mul by 200 is converted to multiple RISCVISD::SHL_ADD in ExpandMul


  Commit: c557ce9f27feccdbda3588555fcb3303d1f81935
      https://github.com/llvm/llvm-project/commit/c557ce9f27feccdbda3588555fcb3303d1f81935
  Author: Craig Topper <craig.topper at sifive.com>
  Date:   2024-12-29 (Sun, 29 Dec 2024)

  Changed paths:
    M llvm/lib/Target/RISCV/RISCVInstrInfoXTHead.td
    M llvm/test/CodeGen/RISCV/rv64xtheadba.ll

  Log Message:
  -----------
  [RISCV] Use add_like_non_imm12 in XTheadba patterns to match Zba.


  Commit: 82ffdf317ee52e8679d58361dfe39930600839d1
      https://github.com/llvm/llvm-project/commit/82ffdf317ee52e8679d58361dfe39930600839d1
  Author: Craig Topper <craig.topper at sifive.com>
  Date:   2024-12-29 (Sun, 29 Dec 2024)

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

  Log Message:
  -----------
  [RISCV] Swap rs1 and rs2 names in TH_ADDSL patterns. NFC

The names should match the operand order of the final instruction.
I assume these patterns were somewhat copied from Zba where rs1 is
shifted, but for th.addsl, rs2 is shifted.


  Commit: 0b96f1cf6877c21fee42445fa33f26a52bf3dfe8
      https://github.com/llvm/llvm-project/commit/0b96f1cf6877c21fee42445fa33f26a52bf3dfe8
  Author: Schrodinger ZHU Yifan <yifanzhu at rochester.edu>
  Date:   2024-12-29 (Sun, 29 Dec 2024)

  Changed paths:
    M libc/src/stdlib/heap_sort.h
    M libc/src/stdlib/qsort.cpp
    M libc/src/stdlib/qsort_data.h
    R libc/src/stdlib/qsort_pivot.h
    M libc/src/stdlib/qsort_r.cpp
    M libc/src/stdlib/qsort_util.h
    M libc/src/stdlib/quick_sort.h
    M libc/test/src/stdlib/CMakeLists.txt
    M libc/test/src/stdlib/SortingTest.h
    M libc/test/src/stdlib/heap_sort_test.cpp
    M libc/test/src/stdlib/qsort_r_test.cpp
    A libc/test/src/stdlib/qsort_test.cpp
    M libc/test/src/stdlib/quick_sort_test.cpp
    M utils/bazel/llvm-project-overlay/libc/test/src/stdlib/BUILD.bazel

  Log Message:
  -----------
  Revert "[libc] Improve qsort" (#121303)

Reverts llvm/llvm-project#120450


  Commit: 6230f1ba945a1bc795a34cd438c6df3b987f359f
      https://github.com/llvm/llvm-project/commit/6230f1ba945a1bc795a34cd438c6df3b987f359f
  Author: Amr Hesham <amr96 at programmer.net>
  Date:   2024-12-29 (Sun, 29 Dec 2024)

  Changed paths:
    M clang/docs/LibASTMatchersReference.html
    M clang/docs/ReleaseNotes.rst
    M clang/include/clang/ASTMatchers/ASTMatchers.h
    M clang/lib/ASTMatchers/ASTMatchersInternal.cpp
    M clang/lib/ASTMatchers/Dynamic/Registry.cpp
    M clang/unittests/AST/ASTImporterTest.cpp
    M clang/unittests/ASTMatchers/ASTMatchersNodeTest.cpp

  Log Message:
  -----------
  [Clang][ASTMatcher] Add `dependentNameType` AST matcher (#121263)

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


  Commit: 9efa7d7af3decfc5223963b19e1b85cacac48084
      https://github.com/llvm/llvm-project/commit/9efa7d7af3decfc5223963b19e1b85cacac48084
  Author: Fangrui Song <i at maskray.me>
  Date:   2024-12-29 (Sun, 29 Dec 2024)

  Changed paths:
    M llvm/include/llvm/Passes/CodeGenPassBuilder.h
    M llvm/include/llvm/Target/CGPassBuilderOption.h
    M llvm/lib/CodeGen/TargetPassConfig.cpp
    M llvm/test/CodeGen/PowerPC/lsr-postinc-pos.ll
    M llvm/test/Transforms/LoopStrengthReduce/AArch64/lsr-reuse.ll

  Log Message:
  -----------
  Remove -print-lsr-output in favor of --stop-after=loop-reduce

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


  Commit: 49331ab0b9a41f925153fe03cd7e0d4a33b7c3d4
      https://github.com/llvm/llvm-project/commit/49331ab0b9a41f925153fe03cd7e0d4a33b7c3d4
  Author: Shilei Tian <i at tianshilei.me>
  Date:   2024-12-29 (Sun, 29 Dec 2024)

  Changed paths:
    M clang/test/CodeGenCXX/matrix-vector-bit-int.cpp

  Log Message:
  -----------
  [NFC][Clang] Auto generate check lines for `clang/test/CodeGenCXX/matrix-vector-bit-int.cpp`


  Commit: b53866fec80d8676705409140b8ed2147ec44fad
      https://github.com/llvm/llvm-project/commit/b53866fec80d8676705409140b8ed2147ec44fad
  Author: ZhaoQi <zhaoqi01 at loongson.cn>
  Date:   2024-12-30 (Mon, 30 Dec 2024)

  Changed paths:
    M llvm/lib/Target/LoongArch/LoongArchExpandPseudoInsts.cpp
    M llvm/lib/Target/LoongArch/LoongArchISelLowering.cpp
    M llvm/lib/Target/LoongArch/LoongArchInstrInfo.cpp
    M llvm/lib/Target/LoongArch/LoongArchMCInstLower.cpp
    M llvm/lib/Target/LoongArch/MCTargetDesc/LoongArchBaseInfo.h
    M llvm/test/CodeGen/LoongArch/machinelicm-address-pseudos.ll
    M llvm/test/CodeGen/LoongArch/mir-target-flags.ll
    M llvm/test/CodeGen/LoongArch/tls-models.ll

  Log Message:
  -----------
  [LoongArch] Modify expanding code sequence for PseudoLA_TLS_LE (#119696)

Before this commit, PseudoLA_TLS_LE for normal/medium code model expand
normally to:
```
  lu12i.w $rd, %le_hi20(sym)
  ori $rd, $rd, %le_lo12(sym)
```

This commit changes the result to:
```
  lu12i.w $rd, %le_hi20_r(sym)
  add.w/d $rd, $rd, $tp, %le_add_r(sym)
  addi.w/d $rd, $rd, %le_lo12_r(sym)
```

This aims to be optimized by linker relaxation in the future.

This commit makes no change to PseudoLA_TLS_LE in large code model.


  Commit: 91c5de7fb8f95132043ed08056e58238383cfcb9
      https://github.com/llvm/llvm-project/commit/91c5de7fb8f95132043ed08056e58238383cfcb9
  Author: Haojian Wu <hokein.wu at gmail.com>
  Date:   2024-12-30 (Mon, 30 Dec 2024)

  Changed paths:
    M utils/bazel/llvm-project-overlay/clang-tools-extra/clang-tidy/BUILD.bazel

  Log Message:
  -----------
  [bazel] Fix the broken bazel build for clang-tidy after e45e091b90896023584b303539bd8ae16d8932b3


  Commit: 486ec4bd7466cda444a7da6386a1bbb2db89a33f
      https://github.com/llvm/llvm-project/commit/486ec4bd7466cda444a7da6386a1bbb2db89a33f
  Author: Galen Elias <gelias at gmail.com>
  Date:   2024-12-30 (Mon, 30 Dec 2024)

  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/UnwrappedLineFormatter.cpp
    M clang/unittests/Format/ConfigParseTest.cpp
    M clang/unittests/Format/FormatTest.cpp

  Log Message:
  -----------
  [clang-format] Add `AllowShortNamespacesOnASingleLine` option (#105597)

This fixes #101363 which is a resurrection of a previously opened but
never completed review: https://reviews.llvm.org/D11851

The feature is to allow code like the following not to be broken across
multiple lines:

```
namespace foo { class bar; }
namespace foo { namespace bar { class baz; } }
```

Code like this is commonly used for forward declarations, which are
ideally kept compact. This is also apparently the format that
include-what-you-use will insert for forward declarations.

Also, fix an off-by-one error in `CompactNamespaces` code. For nested
namespaces with 3 or more namespaces, it was incorrectly compacting
lines which were 1 or two spaces over the `ColumnLimit`, leading to
incorrect formatting results.


  Commit: 998bdae7f5ce8c5aa31b376592c9693fc95f02e3
      https://github.com/llvm/llvm-project/commit/998bdae7f5ce8c5aa31b376592c9693fc95f02e3
  Author: Jonas Hahnfeld <jonas.hahnfeld at cern.ch>
  Date:   2024-12-30 (Mon, 30 Dec 2024)

  Changed paths:
    M llvm/utils/mlgo-utils/CMakeLists.txt

  Log Message:
  -----------
  [MLGO] Only configure tests with LLVM_INCLUDE_TESTS (#121293)

This allows downstream customers to remove all test directories and save
quite some space when only building with LLVM_INCLUDE_TESTS=OFF.


  Commit: 39e93eee76ab86c9892540e2d4ad881c41ad54d4
      https://github.com/llvm/llvm-project/commit/39e93eee76ab86c9892540e2d4ad881c41ad54d4
  Author: Luke Hutton <luke.hutton at arm.com>
  Date:   2024-12-30 (Mon, 30 Dec 2024)

  Changed paths:
    M mlir/lib/Dialect/Tosa/Transforms/TosaValidation.cpp

  Log Message:
  -----------
  [TOSA] Handle dialect check more efficiently (#120960)


  Commit: 60d20603e43a53b1d495d199ea020c3a56a6866f
      https://github.com/llvm/llvm-project/commit/60d20603e43a53b1d495d199ea020c3a56a6866f
  Author: Maksim Levental <maksim.levental at gmail.com>
  Date:   2024-12-30 (Mon, 30 Dec 2024)

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

  Log Message:
  -----------
  [mlir][xegpu] DCE decl in TD (#121249)


  Commit: 16d19aaedf347f452c22c7254934753b19803d5d
      https://github.com/llvm/llvm-project/commit/16d19aaedf347f452c22c7254934753b19803d5d
  Author: Florian Hahn <flo at fhahn.com>
  Date:   2024-12-30 (Mon, 30 Dec 2024)

  Changed paths:
    M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
    M llvm/lib/Transforms/Vectorize/VPlan.cpp
    M llvm/lib/Transforms/Vectorize/VPlan.h
    M llvm/lib/Transforms/Vectorize/VPlanHCFGBuilder.cpp
    M llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
    M llvm/unittests/Transforms/Vectorize/VPDomTreeTest.cpp
    M llvm/unittests/Transforms/Vectorize/VPlanTest.cpp
    M llvm/unittests/Transforms/Vectorize/VPlanVerifierTest.cpp

  Log Message:
  -----------
  [VPlan] Manage created blocks directly in VPlan. (NFC) (#120918)

This patch changes the way blocks are managed by VPlan. Previously all
blocks reachable from entry would be cleaned up when a VPlan is
destroyed. With this patch, each VPlan keeps track of blocks created for
it in a list and this list is then used to delete all blocks in the list
when the VPlan is destroyed. To do so, block creation is funneled
through helpers in directly in VPlan.

The main advantage of doing so is it simplifies CFG transformations, as
those do not have to take care of deleting any blocks, just adjusting
the CFG. This helps to simplify
https://github.com/llvm/llvm-project/pull/108378 and
https://github.com/llvm/llvm-project/pull/106748.

This also simplifies handling of 'immutable' blocks a VPlan holds
references to, which at the moment only include the scalar header block.

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


  Commit: 50a457d9e89142e89a9b66de5c23c515b50d1f96
      https://github.com/llvm/llvm-project/commit/50a457d9e89142e89a9b66de5c23c515b50d1f96
  Author: Michael Maitland <michaeltmaitland at gmail.com>
  Date:   2024-12-30 (Mon, 30 Dec 2024)

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

  Log Message:
  -----------
  [RISCV][VLOPT] Add getOperandInfo for saturating signed multiply (#120351)

These instructions are covered by the existing tests. We don't add them to
isSupported because of VXSAT. This decision was made in #120358.


  Commit: ff936ce62bda2f9148575caae527cc4c6ab282a5
      https://github.com/llvm/llvm-project/commit/ff936ce62bda2f9148575caae527cc4c6ab282a5
  Author: Juan Manuel Martinez Caamaño <jmartinezcaamao at gmail.com>
  Date:   2024-12-30 (Mon, 30 Dec 2024)

  Changed paths:
    M clang/include/clang/Basic/DiagnosticDriverKinds.td
    M clang/test/Driver/hip-device-libs.hip

  Log Message:
  -----------
  [Clang][Driver][AMDGPU] Add missing space in missing device-libs error message (#121335)

Before/After:
> cannot find ROCm device **libraryfor** ABI version 6
> cannot find ROCm device **library for** ABI version 6


  Commit: 42dfaa15a60cea6cd75a2efb419aa2c206d2a127
      https://github.com/llvm/llvm-project/commit/42dfaa15a60cea6cd75a2efb419aa2c206d2a127
  Author: Congcong Cai <congcongcai0907 at 163.com>
  Date:   2024-12-30 (Mon, 30 Dec 2024)

  Changed paths:
    M clang-tools-extra/clang-tidy/ClangTidyCheck.cpp
    M clang-tools-extra/docs/ReleaseNotes.rst
    M clang-tools-extra/test/clang-tidy/checkers/modernize/use-std-format-fmt.cpp
    A clang-tools-extra/test/clang-tidy/infrastructure/deprecation-global-option.cpp

  Log Message:
  -----------
  [clang-tidy] add depercation warning for non-whitelisted global options (#121057)

We plan to depercate `StrictMode` and `IgnoreMacros` global options
after 2 major versions and support local options only for them.
This patch introduces the depercation warning.


  Commit: 79af7bdd4e415aa8a94263a4507b51862fba882f
      https://github.com/llvm/llvm-project/commit/79af7bdd4e415aa8a94263a4507b51862fba882f
  Author: Longsheng Mou <longshengmou at gmail.com>
  Date:   2024-12-30 (Mon, 30 Dec 2024)

  Changed paths:
    M mlir/include/mlir/Dialect/Tosa/IR/TosaOps.td
    M mlir/lib/Dialect/Tosa/IR/TosaCanonicalizations.cpp
    M mlir/test/Dialect/Tosa/constant-op-fold.mlir
    M mlir/test/Dialect/Tosa/invalid.mlir

  Log Message:
  -----------
  [mlir][tosa] Add `AllElementTypesMatch` trait for `tosa.transpose` (#120964)

This PR adds `AllElementTypesMatch` trait for `tosa.transpose` to ensure
output tensor of same type as the input tensor. Fixes #119364.


  Commit: b3a7ab6f1f6954bfb1da0683aa5d03a2837c7065
      https://github.com/llvm/llvm-project/commit/b3a7ab6f1f6954bfb1da0683aa5d03a2837c7065
  Author: Simon Pilgrim <llvm-dev at redking.me.uk>
  Date:   2024-12-30 (Mon, 30 Dec 2024)

  Changed paths:
    M llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
    M llvm/test/CodeGen/PowerPC/scalar_vector_test_5.ll

  Log Message:
  -----------
  [DAG] Don't allow implicit truncation in extract_element(bitcast(scalar_to_vector(X))) -> trunc(srl(X,C)) fold

Limits #117900 to only fold when scalar_to_vector doesn't perform implicit truncation, as the scaled shift calculation doesn't currently account for this - this can be addressed in a future update.

Fixes #121306


  Commit: c7d237085bf9102ecf0c9105d8cc7fd94b752a3a
      https://github.com/llvm/llvm-project/commit/c7d237085bf9102ecf0c9105d8cc7fd94b752a3a
  Author: Oleksandr "Alex" Zinenko <git at ozinenko.com>
  Date:   2024-12-30 (Mon, 30 Dec 2024)

  Changed paths:
    A mlir/utils/pygments/README.md
    A mlir/utils/pygments/mlir_lexer.py

  Log Message:
  -----------
  [mlir] add a simple pygments lexer (#120942)

This enables syntax highlighting of MLIR using the Pygments package in
Python, which is in turn usable from LaTeX via the minted package.


  Commit: a74f825a7acec4962bb4c172da7ed0028f7b4d44
      https://github.com/llvm/llvm-project/commit/a74f825a7acec4962bb4c172da7ed0028f7b4d44
  Author: Min-Yih Hsu <min.hsu at sifive.com>
  Date:   2024-12-30 (Mon, 30 Dec 2024)

  Changed paths:
    M llvm/include/llvm/CodeGen/GlobalISel/MIPatternMatch.h
    M llvm/unittests/CodeGen/GlobalISel/PatternMatchTest.cpp

  Log Message:
  -----------
  [MIPatternMatch] Add m_DeferredReg/Type (#121218)

This pattern does the same thing as m_SpecificReg/Type except the value
it matches against origniated from an earlier pattern in the same
mi_match expression.

This patch also changes how commutative patterns are handled: in order
to support m_DefferedReg/Type, we always have to run the LHS-pattern
before the RHS one.


  Commit: c2be48a6ce87eeaa37e2a0ab531e6e5812dbfa55
      https://github.com/llvm/llvm-project/commit/c2be48a6ce87eeaa37e2a0ab531e6e5812dbfa55
  Author: Florian Hahn <flo at fhahn.com>
  Date:   2024-12-30 (Mon, 30 Dec 2024)

  Changed paths:
    M llvm/test/Transforms/LoopVectorize/iv_outside_user.ll

  Log Message:
  -----------
  [LV] Add additional tests with induction users.

Adds test coverage of post-inc IV users with different opcodes.


  Commit: a77d119f76c45561f86528b27cf391c61d1ad69f
      https://github.com/llvm/llvm-project/commit/a77d119f76c45561f86528b27cf391c61d1ad69f
  Author: Alex MacLean <amaclean at nvidia.com>
  Date:   2024-12-30 (Mon, 30 Dec 2024)

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

  Log Message:
  -----------
  [NVPTX] Remove redundant types from TableGen patterns (NFC) (#120986)

These types in the output dag of a Pat do not impact the generated
matcher code at all. Removing them makes for more concise and readable
code.


  Commit: af83093933ca73bc82c33130f8bda9f1ae54aae2
      https://github.com/llvm/llvm-project/commit/af83093933ca73bc82c33130f8bda9f1ae54aae2
  Author: Simon Pilgrim <llvm-dev at redking.me.uk>
  Date:   2024-12-30 (Mon, 30 Dec 2024)

  Changed paths:
    M llvm/lib/Transforms/Vectorize/VectorCombine.cpp
    M llvm/test/Transforms/VectorCombine/X86/concat-boolmasks.ll

  Log Message:
  -----------
  [VectorCombine] eraseInstruction - ensure we reattempt to fold other users of an erased instruction's operands

As we're reducing the use count of the operands its more likely that they will now fold, as they were previously being prevented by a m_OneUse check, or the cost of retaining the extra instruction had been too high.

This is necessary for some upcoming patches, although the only change so far is instruction ordering as it allows some SSE folds of 256/512-bit with 128-bit subvectors to occur earlier in foldShuffleToIdentity as the subvector concats are free.

Pulled out of #120984


  Commit: 65a2eb0b1589590ae78cc1e5f05cd004b3b3bec5
      https://github.com/llvm/llvm-project/commit/65a2eb0b1589590ae78cc1e5f05cd004b3b3bec5
  Author: Stefan Schulze Frielinghaus <stefansf at linux.ibm.com>
  Date:   2024-12-30 (Mon, 30 Dec 2024)

  Changed paths:
    M compiler-rt/lib/sanitizer_common/sanitizer_common_interceptors.inc

  Log Message:
  -----------
  [sanitizer] Fix type in some Min() calls (#119248)

This is a follow-up to 6dec33834d1fd89f16e271dde9607c1de9554144 and
#116957 and #119114.


  Commit: accd4a4ad5ec7a8682dc701fd7072610d40cc436
      https://github.com/llvm/llvm-project/commit/accd4a4ad5ec7a8682dc701fd7072610d40cc436
  Author: Jacob Lalonde <jalalonde at fb.com>
  Date:   2024-12-30 (Mon, 30 Dec 2024)

  Changed paths:
    M lldb/source/Plugins/ObjectFile/Minidump/MinidumpFileBuilder.cpp
    M lldb/source/Plugins/ObjectFile/Minidump/MinidumpFileBuilder.h
    M lldb/source/Plugins/Process/minidump/MinidumpParser.cpp
    M lldb/source/Plugins/Process/minidump/MinidumpParser.h
    M lldb/source/Plugins/Process/minidump/ProcessMinidump.cpp
    M lldb/source/Plugins/Process/minidump/ProcessMinidump.h
    M llvm/include/llvm/BinaryFormat/MinidumpConstants.def

  Log Message:
  -----------
  [LLDB][Minidump] Make workaround for the Dynamic loader issue (#120166)

In #119598 my recent TLS feature seems to break crashpad symbols. I have
a few ideas on how this is happening, but for now as a mitigation I'm
checking if the Minidump was LLDB generated, and if so leveraging the
dynamic loader.


  Commit: d9111f19d2ea53d8ce105b3d09425394ccf37969
      https://github.com/llvm/llvm-project/commit/d9111f19d2ea53d8ce105b3d09425394ccf37969
  Author: Amir Bishara <139038766+amirBish at users.noreply.github.com>
  Date:   2024-12-30 (Mon, 30 Dec 2024)

  Changed paths:
    M mlir/include/mlir/Dialect/Bufferization/IR/BufferizableOpInterface.h
    M mlir/include/mlir/Dialect/Bufferization/Transforms/OneShotAnalysis.h
    M mlir/lib/Dialect/Bufferization/IR/BufferizableOpInterface.cpp
    M mlir/lib/Dialect/Bufferization/Transforms/EmptyTensorElimination.cpp
    M mlir/lib/Dialect/Bufferization/Transforms/OneShotAnalysis.cpp
    M mlir/lib/Dialect/Linalg/Transforms/ConvertToDestinationStyle.cpp
    M mlir/lib/Dialect/Linalg/Transforms/EliminateEmptyTensors.cpp
    M mlir/test/Dialect/Bufferization/Transforms/one-shot-bufferize-empty-tensor-elimination.mlir

  Log Message:
  -----------
  [mlir][bufferization]-Refactor findValueInReverseUseDefChain to accept opOperand (#121304)

Edit the `findValueInReverseUseDefChain` method to accept `OpOperand`
instead of the `Value` type, This change will make sure that the
populated `visitedOpOperands` argument is fully accurate and contains
the opOperand we have started the reverse chain from.


  Commit: fb365ac86c8032e65586b0eb055a7f1646304f89
      https://github.com/llvm/llvm-project/commit/fb365ac86c8032e65586b0eb055a7f1646304f89
  Author: Maksim Levental <maksim.levental at gmail.com>
  Date:   2024-12-30 (Mon, 30 Dec 2024)

  Changed paths:
    M mlir/include/mlir/Dialect/Linalg/IR/LinalgStructuredOps.td

  Log Message:
  -----------
  [mlir][linalg] DCE unimplemented extra decl (#121272)


  Commit: 9a88edeb49b3edefbb9933fa5b71d7d421fc99bd
      https://github.com/llvm/llvm-project/commit/9a88edeb49b3edefbb9933fa5b71d7d421fc99bd
  Author: Petr Hosek <phosek at google.com>
  Date:   2024-12-30 (Mon, 30 Dec 2024)

  Changed paths:
    M compiler-rt/lib/tysan/CMakeLists.txt

  Log Message:
  -----------
  [TYSan][CMake] CMake build fixes (#121224)

TYSan CMake build follows patterns used by other sanitizers, but there's
also a number of issues, like referring to undefined variables, which
breaks the build in some cases (such as cross-compiling). This change
addresses the issues.


  Commit: 5373ed0e79c3eaf8a11a0fd747aa80556f203211
      https://github.com/llvm/llvm-project/commit/5373ed0e79c3eaf8a11a0fd747aa80556f203211
  Author: Muhammad Omair Javaid <omair.javaid at linaro.org>
  Date:   2024-12-31 (Tue, 31 Dec 2024)

  Changed paths:
    M compiler-rt/test/fuzzer/noasan-strcmp.test

  Log Message:
  -----------
  [fuzzer][test] Disable noasan-strcmp test for AArch64

This patch disables the `noasan-strcmp.test` for AArch64 Linux as it
consistently fails on the buildbot machine while passing on other
AArch64 Linux systems.

We have seen similar issues on noasan-strncmp.test in past which had
random failures on certain machines/environments.

Following buildbot is failing in both check stage1 and stage2:
https://lab.llvm.org/buildbot/#/builders/121/builds/711


  Commit: b20b6e9ea9e9e1f66feb2663b999f66a8af3a5dc
      https://github.com/llvm/llvm-project/commit/b20b6e9ea9e9e1f66feb2663b999f66a8af3a5dc
  Author: Florian Hahn <flo at fhahn.com>
  Date:   2024-12-30 (Mon, 30 Dec 2024)

  Changed paths:
    M llvm/test/Transforms/LoopVectorize/iv_outside_user.ll

  Log Message:
  -----------
  [LV] Check IR generated for both interleaving and vectorizing in test.

Currently the tests would in some cases would only check the vectorized
IR, but not the interleaved IR, if they are different.


  Commit: 08f77241c0d90737f1818b948978876a0822be32
      https://github.com/llvm/llvm-project/commit/08f77241c0d90737f1818b948978876a0822be32
  Author: Congcong Cai <congcongcai0907 at 163.com>
  Date:   2024-12-31 (Tue, 31 Dec 2024)

  Changed paths:
    M clang-tools-extra/docs/clang-tidy/checks/bugprone/unhandled-self-assignment.rst

  Log Message:
  -----------
  [clang-tidy][doc] mention smart ptr in bugprone-unhandled-self-assignment.WarnOnlyIfThisHasSuspiciousField option (#121316)


  Commit: d5a96eb125eaf661f7f9aad4cd184973fe750528
      https://github.com/llvm/llvm-project/commit/d5a96eb125eaf661f7f9aad4cd184973fe750528
  Author: Simon Pilgrim <llvm-dev at redking.me.uk>
  Date:   2024-12-30 (Mon, 30 Dec 2024)

  Changed paths:
    M llvm/lib/Transforms/Vectorize/VectorCombine.cpp
    M llvm/test/Transforms/VectorCombine/X86/concat-boolmasks.ll

  Log Message:
  -----------
  Revert af83093933ca73bc82c33130f8bda9f1ae54aae2 "[VectorCombine] eraseInstruction - ensure we reattempt to fold other users of an erased instruction's operands"

Reports of hung builds, but I don't have time to investigate at the moment.


  Commit: 332d2647ff128af166f5b0f235c723888c3cd793
      https://github.com/llvm/llvm-project/commit/332d2647ff128af166f5b0f235c723888c3cd793
  Author: Muhammad Omair Javaid <omair.javaid at linaro.org>
  Date:   2024-12-31 (Tue, 31 Dec 2024)

  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
    R llvm/test/Transforms/PhaseOrdering/AArch64/sve-interleave-vectorization.ll

  Log Message:
  -----------
  Revert "[LV]: Teach LV to recursively (de)interleave.  (#89018)"

This reverts commit ccfe0de0e1e37ed369c9bf89dd0188ba0afb2e9a.

This breaks LLVM build on AArch64 SVE Linux buildbots
https://lab.llvm.org/buildbot/#/builders/143/builds/4462
https://lab.llvm.org/buildbot/#/builders/17/builds/4902
https://lab.llvm.org/buildbot/#/builders/4/builds/4399
https://lab.llvm.org/buildbot/#/builders/41/builds/4299


  Commit: 28ae2ff2a44c0a5d09ce5e88d8d8f3309b6f127f
      https://github.com/llvm/llvm-project/commit/28ae2ff2a44c0a5d09ce5e88d8d8f3309b6f127f
  Author: B I Mohammed Abbas <bimohammadabbas at gmail.com>
  Date:   2024-12-30 (Mon, 30 Dec 2024)

  Changed paths:
    M compiler-rt/lib/builtins/CMakeLists.txt
    A compiler-rt/lib/builtins/truncxfhf2.c
    A compiler-rt/test/builtins/Unit/truncxfhf2_test.c

  Log Message:
  -----------
  Add truncxfhf2 with tests to compiler-rt (#120372)

Fixes #105181


  Commit: 70c9152f99818ffd0342260ae12d709268031235
      https://github.com/llvm/llvm-project/commit/70c9152f99818ffd0342260ae12d709268031235
  Author: Roland McGrath <mcgrathr at google.com>
  Date:   2024-12-30 (Mon, 30 Dec 2024)

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

  Log Message:
  -----------
  [libc] Fix non-calls to cpp::is_complex_type_same (#121257)

Some uses were not actually calls, just references to the name.


  Commit: 0897373f1a329a7a02f8ce3c501a05d2f9c89390
      https://github.com/llvm/llvm-project/commit/0897373f1a329a7a02f8ce3c501a05d2f9c89390
  Author: Zequan Wu <zequanwu at google.com>
  Date:   2024-12-30 (Mon, 30 Dec 2024)

  Changed paths:
    M clang/test/Driver/sanitizer-ld.c

  Log Message:
  -----------
  [Clang][test] Relax checking for libclang_rt.asan.so and libclang_rt.asan_static.a on arm android. (#121361)

This fixes test breakage on clang bots. See comment
https://github.com/llvm/llvm-project/pull/121081#issuecomment-2565933062


  Commit: 9abcca5e25296aea49288ad63901f9e0a332dad4
      https://github.com/llvm/llvm-project/commit/9abcca5e25296aea49288ad63901f9e0a332dad4
  Author: Roland McGrath <mcgrathr at google.com>
  Date:   2024-12-30 (Mon, 30 Dec 2024)

  Changed paths:
    M libc/CMakeLists.txt
    M libc/cmake/modules/LLVMLibCHeaderRules.cmake
    M libc/docs/dev/header_generation.rst
    M libc/docs/dev/source_tree_layout.rst
    M libc/docs/full_cross_build.rst
    R libc/hdrgen/CMakeLists.txt
    R libc/hdrgen/class_implementation/classes/enumeration.py
    R libc/hdrgen/class_implementation/classes/function.py
    R libc/hdrgen/class_implementation/classes/macro.py
    R libc/hdrgen/class_implementation/classes/object.py
    R libc/hdrgen/class_implementation/classes/type.py
    R libc/hdrgen/gpu_headers.py
    R libc/hdrgen/header.py
    R libc/hdrgen/tests/expected_output/test_header.h
    R libc/hdrgen/tests/input/test_small.h.def
    R libc/hdrgen/tests/input/test_small.yaml
    R libc/hdrgen/tests/test_integration.py
    R libc/hdrgen/yaml/arpa/inet.yaml
    R libc/hdrgen/yaml/assert.yaml
    R libc/hdrgen/yaml/complex.yaml
    R libc/hdrgen/yaml/ctype.yaml
    R libc/hdrgen/yaml/dirent.yaml
    R libc/hdrgen/yaml/dlfcn.yaml
    R libc/hdrgen/yaml/elf.yaml
    R libc/hdrgen/yaml/errno.yaml
    R libc/hdrgen/yaml/fcntl.yaml
    R libc/hdrgen/yaml/features.yaml
    R libc/hdrgen/yaml/fenv.yaml
    R libc/hdrgen/yaml/float.yaml
    R libc/hdrgen/yaml/inttypes.yaml
    R libc/hdrgen/yaml/limits.yaml
    R libc/hdrgen/yaml/link.yaml
    R libc/hdrgen/yaml/locale.yaml
    R libc/hdrgen/yaml/malloc.yaml
    R libc/hdrgen/yaml/math.yaml
    R libc/hdrgen/yaml/pthread.yaml
    R libc/hdrgen/yaml/sched.yaml
    R libc/hdrgen/yaml/search.yaml
    R libc/hdrgen/yaml/setjmp.yaml
    R libc/hdrgen/yaml/signal.yaml
    R libc/hdrgen/yaml/spawn.yaml
    R libc/hdrgen/yaml/stdbit.yaml
    R libc/hdrgen/yaml/stdckdint.yaml
    R libc/hdrgen/yaml/stdfix.yaml
    R libc/hdrgen/yaml/stdint.yaml
    R libc/hdrgen/yaml/stdio.yaml
    R libc/hdrgen/yaml/stdlib.yaml
    R libc/hdrgen/yaml/string.yaml
    R libc/hdrgen/yaml/strings.yaml
    R libc/hdrgen/yaml/sys/auxv.yaml
    R libc/hdrgen/yaml/sys/epoll.yaml
    R libc/hdrgen/yaml/sys/ioctl.yaml
    R libc/hdrgen/yaml/sys/mman.yaml
    R libc/hdrgen/yaml/sys/prctl.yaml
    R libc/hdrgen/yaml/sys/random.yaml
    R libc/hdrgen/yaml/sys/resource.yaml
    R libc/hdrgen/yaml/sys/select.yaml
    R libc/hdrgen/yaml/sys/sendfile.yaml
    R libc/hdrgen/yaml/sys/socket.yaml
    R libc/hdrgen/yaml/sys/stat.yaml
    R libc/hdrgen/yaml/sys/statvfs.yaml
    R libc/hdrgen/yaml/sys/syscall.yaml
    R libc/hdrgen/yaml/sys/time.yaml
    R libc/hdrgen/yaml/sys/types.yaml
    R libc/hdrgen/yaml/sys/utsname.yaml
    R libc/hdrgen/yaml/sys/wait.yaml
    R libc/hdrgen/yaml/termios.yaml
    R libc/hdrgen/yaml/threads.yaml
    R libc/hdrgen/yaml/time.yaml
    R libc/hdrgen/yaml/uchar.yaml
    R libc/hdrgen/yaml/unistd.yaml
    R libc/hdrgen/yaml/wchar.yaml
    R libc/hdrgen/yaml_functions_sorted.py
    R libc/hdrgen/yaml_to_classes.py
    M libc/include/CMakeLists.txt
    M libc/src/math/docs/add_math_function.md
    M libc/utils/CMakeLists.txt
    A libc/utils/hdrgen/CMakeLists.txt
    A libc/utils/hdrgen/README.rst
    A libc/utils/hdrgen/class_implementation/classes/enumeration.py
    A libc/utils/hdrgen/class_implementation/classes/function.py
    A libc/utils/hdrgen/class_implementation/classes/macro.py
    A libc/utils/hdrgen/class_implementation/classes/object.py
    A libc/utils/hdrgen/class_implementation/classes/type.py
    A libc/utils/hdrgen/gpu_headers.py
    A libc/utils/hdrgen/header.py
    A libc/utils/hdrgen/tests/expected_output/test_header.h
    A libc/utils/hdrgen/tests/input/test_small.h.def
    A libc/utils/hdrgen/tests/input/test_small.yaml
    A libc/utils/hdrgen/tests/test_integration.py
    A libc/utils/hdrgen/yaml/arpa/inet.yaml
    A libc/utils/hdrgen/yaml/assert.yaml
    A libc/utils/hdrgen/yaml/complex.yaml
    A libc/utils/hdrgen/yaml/ctype.yaml
    A libc/utils/hdrgen/yaml/dirent.yaml
    A libc/utils/hdrgen/yaml/dlfcn.yaml
    A libc/utils/hdrgen/yaml/elf.yaml
    A libc/utils/hdrgen/yaml/errno.yaml
    A libc/utils/hdrgen/yaml/fcntl.yaml
    A libc/utils/hdrgen/yaml/features.yaml
    A libc/utils/hdrgen/yaml/fenv.yaml
    A libc/utils/hdrgen/yaml/float.yaml
    A libc/utils/hdrgen/yaml/inttypes.yaml
    A libc/utils/hdrgen/yaml/limits.yaml
    A libc/utils/hdrgen/yaml/link.yaml
    A libc/utils/hdrgen/yaml/locale.yaml
    A libc/utils/hdrgen/yaml/malloc.yaml
    A libc/utils/hdrgen/yaml/math.yaml
    A libc/utils/hdrgen/yaml/pthread.yaml
    A libc/utils/hdrgen/yaml/sched.yaml
    A libc/utils/hdrgen/yaml/search.yaml
    A libc/utils/hdrgen/yaml/setjmp.yaml
    A libc/utils/hdrgen/yaml/signal.yaml
    A libc/utils/hdrgen/yaml/spawn.yaml
    A libc/utils/hdrgen/yaml/stdbit.yaml
    A libc/utils/hdrgen/yaml/stdckdint.yaml
    A libc/utils/hdrgen/yaml/stdfix.yaml
    A libc/utils/hdrgen/yaml/stdint.yaml
    A libc/utils/hdrgen/yaml/stdio.yaml
    A libc/utils/hdrgen/yaml/stdlib.yaml
    A libc/utils/hdrgen/yaml/string.yaml
    A libc/utils/hdrgen/yaml/strings.yaml
    A libc/utils/hdrgen/yaml/sys/auxv.yaml
    A libc/utils/hdrgen/yaml/sys/epoll.yaml
    A libc/utils/hdrgen/yaml/sys/ioctl.yaml
    A libc/utils/hdrgen/yaml/sys/mman.yaml
    A libc/utils/hdrgen/yaml/sys/prctl.yaml
    A libc/utils/hdrgen/yaml/sys/random.yaml
    A libc/utils/hdrgen/yaml/sys/resource.yaml
    A libc/utils/hdrgen/yaml/sys/select.yaml
    A libc/utils/hdrgen/yaml/sys/sendfile.yaml
    A libc/utils/hdrgen/yaml/sys/socket.yaml
    A libc/utils/hdrgen/yaml/sys/stat.yaml
    A libc/utils/hdrgen/yaml/sys/statvfs.yaml
    A libc/utils/hdrgen/yaml/sys/syscall.yaml
    A libc/utils/hdrgen/yaml/sys/time.yaml
    A libc/utils/hdrgen/yaml/sys/types.yaml
    A libc/utils/hdrgen/yaml/sys/utsname.yaml
    A libc/utils/hdrgen/yaml/sys/wait.yaml
    A libc/utils/hdrgen/yaml/termios.yaml
    A libc/utils/hdrgen/yaml/threads.yaml
    A libc/utils/hdrgen/yaml/time.yaml
    A libc/utils/hdrgen/yaml/uchar.yaml
    A libc/utils/hdrgen/yaml/unistd.yaml
    A libc/utils/hdrgen/yaml/wchar.yaml
    A libc/utils/hdrgen/yaml_functions_sorted.py
    A libc/utils/hdrgen/yaml_to_classes.py

  Log Message:
  -----------
  [libc] Move hdrgen into utils/ subdirectory (#121256)


  Commit: f385542f62fa1f57001c95c476165e1618cb54ba
      https://github.com/llvm/llvm-project/commit/f385542f62fa1f57001c95c476165e1618cb54ba
  Author: c8ef <c8ef at outlook.com>
  Date:   2024-12-31 (Tue, 31 Dec 2024)

  Changed paths:
    M clang/tools/include-mapping/cppreference_parser.py

  Log Message:
  -----------
  [Tooling/Inclusion] Modify the Python script to open the C++ reference with UTF-8 encoding. (#121341)

This will prevent the error on systems with a default encoding other
than utf-8.

```
UnicodeDecodeError: 'gbk' codec can't decode byte 0xb6 in position 12958: illegal multibyte sequence
```


  Commit: 07e13b764d6a5002f5bd9a41bf514106607f13f1
      https://github.com/llvm/llvm-project/commit/07e13b764d6a5002f5bd9a41bf514106607f13f1
  Author: Roland McGrath <mcgrathr at google.com>
  Date:   2024-12-30 (Mon, 30 Dec 2024)

  Changed paths:
    R libc/utils/hdrgen/class_implementation/classes/enumeration.py
    R libc/utils/hdrgen/class_implementation/classes/function.py
    R libc/utils/hdrgen/class_implementation/classes/macro.py
    R libc/utils/hdrgen/class_implementation/classes/object.py
    R libc/utils/hdrgen/class_implementation/classes/type.py
    A libc/utils/hdrgen/enumeration.py
    A libc/utils/hdrgen/function.py
    A libc/utils/hdrgen/macro.py
    A libc/utils/hdrgen/object.py
    A libc/utils/hdrgen/type.py
    M libc/utils/hdrgen/yaml_to_classes.py

  Log Message:
  -----------
  [libc] Remove unnecessary subdirectory layers in utils/hdrgen (#121363)

Two extra layers of subdirectory for a handful of single-symbol
Python source files did not improve anything, and it complicated
integration of the hdrgen Python outside the LLVM CMake build.


  Commit: fe1f64e7e935c9905a115842183ea29dd1312dfe
      https://github.com/llvm/llvm-project/commit/fe1f64e7e935c9905a115842183ea29dd1312dfe
  Author: Nathan Ridge <zeratul976 at hotmail.com>
  Date:   2024-12-30 (Mon, 30 Dec 2024)

  Changed paths:
    M clang-tools-extra/clangd/tool/ClangdMain.cpp

  Log Message:
  -----------
  [clangd] Make EnableFunctionArgSnippets option string-typed (#121178)

Fixes https://github.com/clangd/clangd/issues/2232


  Commit: e50ec3e46bea819a1d7aea1cee2d7e11197bbdd2
      https://github.com/llvm/llvm-project/commit/e50ec3e46bea819a1d7aea1cee2d7e11197bbdd2
  Author: Jan Kokemüller <jan.kokemueller at gmail.com>
  Date:   2024-12-31 (Tue, 31 Dec 2024)

  Changed paths:
    M clang/lib/Sema/SemaOverload.cpp
    A clang/test/Modules/expose-static-inline-from-gmf-1.cppm
    A clang/test/Modules/expose-static-inline-from-gmf-2.cppm
    A clang/test/Modules/expose-static-inline-from-gmf-3.cppm
    A clang/test/Modules/expose-static-inline-from-gmf-4.cppm
    A clang/test/Modules/expose-static-inline-from-gmf-5.cppm

  Log Message:
  -----------
  [Clang][Sema] Expose static inline functions from GMF (#104701)

In C, it is a common pattern to have `static inline` functions in
headers to avoid ODR issues. Currently, when those headers are included
in a GMF, the names are not found when two-phase name lookup and ADL is
involved. Those names are removed by `Sema::AddOverloadCandidate`.

Similarly, in C++, sometimes people use templates with internal linkage
in headers.

As the GMF was designed to be a transitional mechanism for headers,
special case those functions in `Sema::AddOverloadCandidate`.

This fixes <https://github.com/llvm/llvm-project/issues/98021>.


  Commit: f590963db836ccbf7c547a3dea9dc719f24444d1
      https://github.com/llvm/llvm-project/commit/f590963db836ccbf7c547a3dea9dc719f24444d1
  Author: Philipp van Kempen <philipp.van-kempen at tum.de>
  Date:   2024-12-31 (Tue, 31 Dec 2024)

  Changed paths:
    M llvm/lib/Target/RISCV/RISCVTargetTransformInfo.cpp
    M llvm/lib/Target/RISCV/RISCVTargetTransformInfo.h
    A llvm/test/CodeGen/RISCV/xcvmem-heuristic.ll

  Log Message:
  -----------
  [RISCV] Implement RISCVTTIImpl::getPreferredAddressingMode for HasVendorXCVmem (#120533)

For a simple matmult kernel this heuristic reduces the length of the
critical basic block from 15 to 20 instructions, resulting in a 20%
speedup.

**Without heuristic:**

```
       13688: 001b838b      cv.lb   t2, (s7), 0x1
       1368c: 09cdbcab      cv.lb   s9, t3(s11)
       13690: 089db62b      cv.lb   a2, s1(s11)
       13694: 092dbdab      cv.lb   s11, s2(s11)
       13698: 001d028b      cv.lb   t0, (s10), 0x1
       1369c: 00f282b3      add     t0, t0, a5
       136a0: 9072b52b      cv.mac  a0, t0, t2
       136a4: 9192bfab      cv.mac  t6, t0, s9
       136a8: 90c2beab      cv.mac  t4, t0, a2
       136ac: 91b2bf2b      cv.mac  t5, t0, s11
       136b0: fffc0c13      addi    s8, s8, -0x1
       136b4: 018e0633      add     a2, t3, s8
       136b8: 91b2b0ab      cv.mac  ra, t0, s11
       136bc: 000b8d93      mv      s11, s7
       136c0: fc0614e3      bnez    a2, 0x13688 <muriscv_nn_vec_mat_mult_t_s8+0x2f0>

       #instrs = 15
```

**With heuristic:**

```
        7bc0: 001c860b      cv.lb   a2, (s9), 0x1
        7bc4: 001e0d0b      cv.lb   s10, (t3), 0x1
        7bc8: 001e808b      cv.lb   ra, (t4), 0x1
        7bcc: 0015038b      cv.lb   t2, (a0), 0x1
        7bd0: 001c028b      cv.lb   t0, (s8), 0x1
        7bd4: 00f282b3      add     t0, t0, a5
        7bd8: 90c2bfab      cv.mac  t6, t0, a2
        7bdc: 91a2b92b      cv.mac  s2, t0, s10
        7be0: 9012b5ab      cv.mac  a1, t0, ra
        7be4: 9072b9ab      cv.mac  s3, t0, t2
        7be8: 9072b72b      cv.mac  a4, t0, t2
        7bec: fc851ae3      bne     a0, s0, 0x7bc0 <muriscv_nn_vec_mat_mult_t_s8+0x338>

        #instrs = 12

        improvement = 1 - 12/15 = 0.2 = 20%
```


  Commit: 2e3d3903e624edd5bb32cdd9a9654c907d4f1744
      https://github.com/llvm/llvm-project/commit/2e3d3903e624edd5bb32cdd9a9654c907d4f1744
  Author: Karthika Devi C <quic_kartc at quicinc.com>
  Date:   2024-12-31 (Tue, 31 Dec 2024)

  Changed paths:
    M polly/lib/Support/ScopHelper.cpp
    A polly/test/ScopDetect/dom-tree-crash.ll

  Log Message:
  -----------
  [polly] Skip instructions of different function in isHoistableLoad. (#118963)

After patch 5ce47a5, some assert crashes occur in Polly. This issue
arises because an instruction from one function queries the Dominator
Tree (DT) of another function. To fix this, the `isHoistableLoad`
function now skips instructions that belong to different function while
iterating.


  Commit: 6f3d1d3018448fcad1071e2dc308632c19486f65
      https://github.com/llvm/llvm-project/commit/6f3d1d3018448fcad1071e2dc308632c19486f65
  Author: Tristan Ross <tristan.ross at midstall.com>
  Date:   2024-12-31 (Tue, 31 Dec 2024)

  Changed paths:
    M libc/src/compiler/generic/__stack_chk_fail.cpp

  Log Message:
  -----------
  [libc] add __stack_chk_guard to generic (#121121)


  Commit: 5b5ef254a341768283035718262a9cad6cc743e8
      https://github.com/llvm/llvm-project/commit/5b5ef254a341768283035718262a9cad6cc743e8
  Author: Wang Pengcheng <wangpengcheng.pp at bytedance.com>
  Date:   2024-12-31 (Tue, 31 Dec 2024)

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

  Log Message:
  -----------
  [RISCV] Fix typo: vmv.x.i -> vmv.v.i


  Commit: e3fe41cdf5583d3a2f7454c76fa5cadccdccaf22
      https://github.com/llvm/llvm-project/commit/e3fe41cdf5583d3a2f7454c76fa5cadccdccaf22
  Author: Wang Pengcheng <wangpengcheng.pp at bytedance.com>
  Date:   2024-12-31 (Tue, 31 Dec 2024)

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

  Log Message:
  -----------
  [RISCV] Add missing ReadFMA16Addend in UnsupportedSchedZfh


  Commit: f035351af785b7349ab7bcd55149c781ceca24cb
      https://github.com/llvm/llvm-project/commit/f035351af785b7349ab7bcd55149c781ceca24cb
  Author: Julian Nagele <j.nagele at apple.com>
  Date:   2024-12-31 (Tue, 31 Dec 2024)

  Changed paths:
    M llvm/lib/Analysis/ScalarEvolution.cpp
    M llvm/test/Analysis/ScalarEvolution/backedge-taken-count-guard-info-with-multiple-predecessors.ll

  Log Message:
  -----------
  [SCEV] Make sure starting block is marked as visited when recursively collecting loop guards. (#120749)

When `collectFromBlock` is called without a predecessor (in particular
for loops that don't have a unique predecessor outside the loop) we
never start climbing the predecessor chain, and thus don't mark the
starting block as visited.

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


  Commit: b35d3453ddf14e9564a6b65bd325051f4492311c
      https://github.com/llvm/llvm-project/commit/b35d3453ddf14e9564a6b65bd325051f4492311c
  Author: David Green <david.green at arm.com>
  Date:   2024-12-31 (Tue, 31 Dec 2024)

  Changed paths:
    M llvm/lib/Target/AArch64/AArch64TargetTransformInfo.cpp
    M llvm/lib/Target/AArch64/AArch64TargetTransformInfo.h

  Log Message:
  -----------
  [AArch64] Add an option for sve-prefer-fixed-over-scalable-if-equal. NFC

Add a new option to control preferFixedOverScalableIfEqualCost, useful for
testing.


  Commit: f0d60170cc501447c999569db8fe91aacaad5fe2
      https://github.com/llvm/llvm-project/commit/f0d60170cc501447c999569db8fe91aacaad5fe2
  Author: Timm Baeder <tbaeder at redhat.com>
  Date:   2024-12-31 (Tue, 31 Dec 2024)

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

  Log Message:
  -----------
  [clang][bytecode] Check memove/memcpy for available elements (#121383)

Both destination and source pointer need to have at least as many
elements as requested.


  Commit: 31613de9cf22b2915cb39bfb043d957d513bd1cd
      https://github.com/llvm/llvm-project/commit/31613de9cf22b2915cb39bfb043d957d513bd1cd
  Author: Matthias Springer <me at m-sp.org>
  Date:   2024-12-31 (Tue, 31 Dec 2024)

  Changed paths:
    M mlir/lib/Dialect/ArmSME/Transforms/VectorLegalization.cpp

  Log Message:
  -----------
  [mlir][ArmSME] Migrate `arm-sme-vector-legalization` to dialect conversion (#121101)

Use the regular dialect conversion driver instead of the 1:N dialect
conversion driver. The 1:N dialect conversion driver will be removed
soon.


  Commit: 80ecbaa3c0ae02cf3f7005bfebef28003c6f8d0e
      https://github.com/llvm/llvm-project/commit/80ecbaa3c0ae02cf3f7005bfebef28003c6f8d0e
  Author: Matthias Springer <me at m-sp.org>
  Date:   2024-12-31 (Tue, 31 Dec 2024)

  Changed paths:
    M mlir/include/mlir/Dialect/SCF/Transforms/Patterns.h
    M mlir/include/mlir/Transforms/OneToNTypeConversion.h

  Log Message:
  -----------
  [mlir][Transforms] Mark 1:N conversion driver as deprecated (#121102)

The 1:N conversion driver will be removed soon.

Note for LLVM integration: Please migrate your code base to the regular dialect conversion driver.


  Commit: 1d5154663509b6200038a2f0b0ac958ea556fa9e
      https://github.com/llvm/llvm-project/commit/1d5154663509b6200038a2f0b0ac958ea556fa9e
  Author: Zibi Sarbinowski <zibi at ca.ibm.com>
  Date:   2024-12-31 (Tue, 31 Dec 2024)

  Changed paths:
    M llvm/lib/DebugInfo/GSYM/CallSiteInfo.cpp
    M llvm/lib/ProfileData/MemProfReader.cpp

  Log Message:
  -----------
  [SystemZ][z/OS] Open YAML files for read as text files (#121340)

This patch makes sure YAML files are opened for reading as text file to
trigger auto-conversion from EBCDIC encoding into expected ASCII
encoding on z/OS platform. This is required to fix the following lit
tests:

```
LLVM :: tools/llvm-gsymutil/ARM_AArch64/macho-gsym-callsite-info-exe.yaml
LLVM :: tools/llvm-gsymutil/ARM_AArch64/macho-gsym-callsite-info-obj.test
LLVM :: tools/llvm-gsymutil/ARM_AArch64/macho-gsym-callsite-info-dsym.yaml
LLVM :: Transforms/PGOProfile/memprof_undrift_missing_leaf.ll
```


  Commit: ddef380cd6c30668cc6f6d952b4c045f724f8d57
      https://github.com/llvm/llvm-project/commit/ddef380cd6c30668cc6f6d952b4c045f724f8d57
  Author: Florian Hahn <flo at fhahn.com>
  Date:   2024-12-31 (Tue, 31 Dec 2024)

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

  Log Message:
  -----------
  [VPlan] Move simplifyRecipe(s) definitions up to allow re-use (NFC)

Move definitions to allow easy reuse in
https://github.com/llvm/llvm-project/pull/108378.


  Commit: 6279d2e0f33ed1aa686aace48da6ccf912ab4b28
      https://github.com/llvm/llvm-project/commit/6279d2e0f33ed1aa686aace48da6ccf912ab4b28
  Author: Simon Pilgrim <llvm-dev at redking.me.uk>
  Date:   2024-12-31 (Tue, 31 Dec 2024)

  Changed paths:
    M clang/lib/CodeGen/Targets/AArch64.cpp

  Log Message:
  -----------
  AArch64ABIInfo::passAsAggregateType - don't directly dereference getAs<> result. NFC.

Reported by coverity static analyzer - we know the type is a BuiltinType so use castAs<>


  Commit: b195bb87e1a0120d8bc6f7fd7e6a7424bd664004
      https://github.com/llvm/llvm-project/commit/b195bb87e1a0120d8bc6f7fd7e6a7424bd664004
  Author: Simon Pilgrim <llvm-dev at redking.me.uk>
  Date:   2024-12-31 (Tue, 31 Dec 2024)

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

  Log Message:
  -----------
  [VectorCombine] scalarizeLoadExtract - consistently use LoadInst and ExtractElementInst specific operand getters. NFC

Noticed while investigating the hung builds reported after af83093933ca73bc82c33130f8bda9f1ae54aae2


  Commit: d1e5e6735a845f1281f11389da1e5a55a0d2e87a
      https://github.com/llvm/llvm-project/commit/d1e5e6735a845f1281f11389da1e5a55a0d2e87a
  Author: Simon Pilgrim <llvm-dev at redking.me.uk>
  Date:   2024-12-31 (Tue, 31 Dec 2024)

  Changed paths:
    M llvm/test/Transforms/PhaseOrdering/AArch64/extra-unroll-simplifications.ll
    M llvm/test/Transforms/PhaseOrdering/AArch64/hoist-runtime-checks.ll
    M llvm/test/Transforms/PhaseOrdering/AArch64/hoisting-sinking-required-for-vectorization.ll
    M llvm/test/Transforms/PhaseOrdering/AArch64/indvars-vectorization.ll
    M llvm/test/Transforms/PhaseOrdering/AArch64/loopflatten.ll
    M llvm/test/Transforms/PhaseOrdering/AArch64/matrix-extract-insert.ll
    M llvm/test/Transforms/PhaseOrdering/AArch64/memcpy-constant-size.ll
    M llvm/test/Transforms/PhaseOrdering/ARM/arm_add_q7.ll
    M llvm/test/Transforms/PhaseOrdering/ARM/arm_fill_q7.ll
    M llvm/test/Transforms/PhaseOrdering/ARM/arm_mean_q7.ll
    M llvm/test/Transforms/PhaseOrdering/ARM/arm_mult_q15.ll
    M llvm/test/Transforms/PhaseOrdering/ARM/mve-floatreduce.ll
    M llvm/test/Transforms/PhaseOrdering/X86/excessive-unrolling.ll
    M llvm/test/Transforms/PhaseOrdering/X86/preserve-access-group.ll
    M llvm/test/Transforms/PhaseOrdering/bitfield-bittests.ll
    M llvm/test/Transforms/PhaseOrdering/dae-dce.ll
    M llvm/test/Transforms/PhaseOrdering/deletion-of-loops-that-became-side-effect-free.ll
    M llvm/test/Transforms/PhaseOrdering/globalaa-retained.ll
    M llvm/test/Transforms/PhaseOrdering/instcombine-sroa-inttoptr.ll
    M llvm/test/Transforms/PhaseOrdering/lifetime-sanitizer.ll
    M llvm/test/Transforms/PhaseOrdering/loop-rotation-vs-common-code-hoisting.ll
    M llvm/test/Transforms/PhaseOrdering/pr32544.ll
    M llvm/test/Transforms/PhaseOrdering/pr45682.ll
    M llvm/test/Transforms/PhaseOrdering/pr62311.ll
    M llvm/test/Transforms/PhaseOrdering/pr95152.ll
    M llvm/test/Transforms/PhaseOrdering/rotate.ll
    M llvm/test/Transforms/PhaseOrdering/simplifycfg-switch-lowering-vs-correlatedpropagation.ll
    M llvm/test/Transforms/PhaseOrdering/switch-sext.ll
    M llvm/test/Transforms/PhaseOrdering/switch_with_geps.ll

  Log Message:
  -----------
  [PhaseOrdering] Update test RUN lines to use `-passes="default<O3>"` to allow evaluation by DOS batch scripts. NFC.

`-passes='default<O3>'` isn't correctly parsed on DOS, so when update_test_checks.py runs a system call on the opt RUN line, it fails to evaluate properly - use `-passes="default<O3>"` instead.


  Commit: 0b08e095cc05288d1209cf051988621f6935c940
      https://github.com/llvm/llvm-project/commit/0b08e095cc05288d1209cf051988621f6935c940
  Author: Ivan Butygin <ivan.butygin at gmail.com>
  Date:   2024-12-31 (Tue, 31 Dec 2024)

  Changed paths:
    M mlir/lib/Conversion/GPUToROCDL/LowerGpuOpsToROCDLOps.cpp

  Log Message:
  -----------
  [mlir][nfc] GpuToROCDL: Remove some dead code (#121395)


  Commit: 018b32ca1fd0214e4a359ed8388a2c859d0fc841
      https://github.com/llvm/llvm-project/commit/018b32ca1fd0214e4a359ed8388a2c859d0fc841
  Author: Ivan Butygin <ivan.butygin at gmail.com>
  Date:   2024-12-31 (Tue, 31 Dec 2024)

  Changed paths:
    M mlir/lib/Conversion/GPUToROCDL/LowerGpuOpsToROCDLOps.cpp

  Log Message:
  -----------
  Revert "[mlir][nfc] GpuToROCDL: Remove some dead code" (#121402)

Reverts llvm/llvm-project#121395


  Commit: ebdb6cf2acd6008e8741764a9078e2403cbc4fb5
      https://github.com/llvm/llvm-project/commit/ebdb6cf2acd6008e8741764a9078e2403cbc4fb5
  Author: Angus Lees <gus at inodes.org>
  Date:   2024-12-31 (Tue, 31 Dec 2024)

  Changed paths:
    M llvm/utils/lit/tests/shtest-format.py

  Log Message:
  -----------
  [lit] Cope with more cat variants (#121376)

BusyBox `cat` has yet another slight variation of error formatting:

```console
$ cat --help 2>&1 | head -1
BusyBox v1.37.0 (2024-09-30 10:39:57 UTC) multi-call binary.

$ cat does-not-exist
cat: can't open 'does-not-exist': No such file or directory
```

Rather than extend the test result regex with a third case,
recognise that we only really care about the filename and errno string.
Weaken the regex to ignore all "noise" around the filename.

Note this also corrects what looks like a bug with the previous regex.
Previously, the `cannot open does-not-exist` alternate did not assert
the following errno message.  This was introduced in
https://reviews.llvm.org/D60553 (apparently) due to differences in the
`cat` command on AIX.  That bug doesn't include the specific
AIX output, so it's unclear if this omission was intended.


  Commit: 40e734e041fa4d5369197e88ce6d354238695e0c
      https://github.com/llvm/llvm-project/commit/40e734e041fa4d5369197e88ce6d354238695e0c
  Author: Ellis Hoag <ellis.sparky.hoag at gmail.com>
  Date:   2024-12-31 (Tue, 31 Dec 2024)

  Changed paths:
    M lld/MachO/Driver.cpp
    M lld/MachO/Options.td
    M lld/test/MachO/bp-section-orderer-errs.s
    M lld/test/MachO/bp-section-orderer.s

  Log Message:
  -----------
  [lld][MachO] Allow separate --irpgo-profile flag (#121354)


  Commit: 8e8d0c149960c7d37e5c4487f434cdd41b1d3866
      https://github.com/llvm/llvm-project/commit/8e8d0c149960c7d37e5c4487f434cdd41b1d3866
  Author: B I Mohammed Abbas <bimohammadabbas at gmail.com>
  Date:   2024-12-31 (Tue, 31 Dec 2024)

  Changed paths:
    M compiler-rt/test/builtins/Unit/truncxfhf2_test.c

  Log Message:
  -----------
  Fix integer suffix in truncxfhf2_test (#121388)

Fixes error introduced by #120372.


  Commit: a5f3058caae37471f7d2b55a4f621b104c52658f
      https://github.com/llvm/llvm-project/commit/a5f3058caae37471f7d2b55a4f621b104c52658f
  Author: Spencer Abson <Spencer.Abson at arm.com>
  Date:   2024-12-31 (Tue, 31 Dec 2024)

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

  Log Message:
  -----------
  [AArch64][NFC] Remove redundant comments in SMEInstrInfo


  Commit: 0e23cb0cc5b087f7039e35595a16ae549a42aada
      https://github.com/llvm/llvm-project/commit/0e23cb0cc5b087f7039e35595a16ae549a42aada
  Author: Ivan Butygin <ivan.butygin at gmail.com>
  Date:   2024-12-31 (Tue, 31 Dec 2024)

  Changed paths:
    M mlir/lib/Conversion/GPUToROCDL/LowerGpuOpsToROCDLOps.cpp

  Log Message:
  -----------
  [mlir][nfc] GpuToROCDL: Remove some dead code (#121403)


  Commit: 2cee9034adb389a20937f0a77d51675ff5a105f8
      https://github.com/llvm/llvm-project/commit/2cee9034adb389a20937f0a77d51675ff5a105f8
  Author: David Green <david.green at arm.com>
  Date:   2024-12-31 (Tue, 31 Dec 2024)

  Changed paths:
    A llvm/test/CodeGen/AArch64/csel-subs-swapped.ll

  Log Message:
  -----------
  [AArch64] Add some tests for csel/subs with swapped conditions. NFC


  Commit: 5056a4b556077da79afe34f54b5447c19a77d97d
      https://github.com/llvm/llvm-project/commit/5056a4b556077da79afe34f54b5447c19a77d97d
  Author: Jason Molenda <jmolenda at apple.com>
  Date:   2024-12-31 (Tue, 31 Dec 2024)

  Changed paths:
    M lldb/packages/Python/lldbsuite/test/tools/lldb-server/gdbremote_testcase.py
    M lldb/test/API/commands/register/register/register_command/TestRegisters.py

  Log Message:
  -----------
  [lldb] Update two API tests to fix x86 Darwin failures (#121380)

The Intel Darwin CI bots had their Xcode updated, which brought in a
debugserver with Brendan Shanks' change from September
7281e0cb3bbcce396aab8b3ea0967d7a17cd287a
https://github.com/llvm/llvm-project/pull/108663 where four general
purpose registers are sent by debugserver when in certain process
states. But most processes (nearly all in the testsuite) do not have
these registers available, so we will get register read failures when
requesting those four. These two tests would flag those as errors. There
would have been an additional problem with the g/G packet (which lldb
doesn't use w/ debugserver, but the testsuite tests) if placeholder
values were not included in the full register context bytes; I fixed
that issue with the SME patch to debugserver recently already.


  Commit: 71d6b0b0c1e5e7f34ccb710470cb90a9a51005c8
      https://github.com/llvm/llvm-project/commit/71d6b0b0c1e5e7f34ccb710470cb90a9a51005c8
  Author: David Green <david.green at arm.com>
  Date:   2024-12-31 (Tue, 31 Dec 2024)

  Changed paths:
    M llvm/lib/Target/AArch64/GISel/AArch64LegalizerInfo.cpp
    A llvm/test/CodeGen/AArch64/GlobalISel/legalize-shuffle-1x.ll
    M llvm/test/CodeGen/AArch64/GlobalISel/legalize-shuffle-vector.mir

  Log Message:
  -----------
  [AArch64][GlobalISel] Lower shuffle vector with scalar destinations. (#121384)

I believe these are usually canonicalized to vector extracts in most
situations, but under -O0 we might trigger failures in the widening code
if we do not handle scalar destinations correctly. The simplest solution
should be to lower the shuffle to an extract.

Fixes #121365.


  Commit: b06a45c66fee13fa9bcab422534cba86541f3dab
      https://github.com/llvm/llvm-project/commit/b06a45c66fee13fa9bcab422534cba86541f3dab
  Author: Florian Hahn <flo at fhahn.com>
  Date:   2024-12-31 (Tue, 31 Dec 2024)

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

  Log Message:
  -----------
  [VPlan] Add all blocks to outer loop if present during ::execute (NFCI).

This ensures that all blocks created during VPlan execution are properly
added to an enclosing loop, if present.

Split off from https://github.com/llvm/llvm-project/pull/108378 and also
needed once more of the skeleton blocks are created directly via VPlan.

This also allows removing the custom logic for early-exit loop
vectorization added as part of
https://github.com/llvm/llvm-project/pull/117008.


  Commit: 7d6ec3b9680a53e58235743080bf223067050fbc
      https://github.com/llvm/llvm-project/commit/7d6ec3b9680a53e58235743080bf223067050fbc
  Author: Florian Hahn <flo at fhahn.com>
  Date:   2024-12-31 (Tue, 31 Dec 2024)

  Changed paths:
    M llvm/test/Transforms/LoopVectorize/vector-loop-backedge-elimination.ll

  Log Message:
  -----------
  [LV] Add more tests for vector loop removal.

Add missing test coverage of loops where the vector loop region can be
removed that include replicate recipes as well as nested loops.

Extra test coverage for https://github.com/llvm/llvm-project/pull/108378.


  Commit: 3026ecaff54b220409ecc254b4f6209801a251b9
      https://github.com/llvm/llvm-project/commit/3026ecaff54b220409ecc254b4f6209801a251b9
  Author: Florian Hahn <flo at fhahn.com>
  Date:   2024-12-31 (Tue, 31 Dec 2024)

  Changed paths:
    M llvm/test/Transforms/LoopVectorize/vector-loop-backedge-elimination.ll

  Log Message:
  -----------
  [LV] Also verify loops in vector loop removal tests.

Also verify loop info in tests added in 7d6ec3b9680.


  Commit: 1d0f40ba05b76ff028c69054899f88f1c7452b4b
      https://github.com/llvm/llvm-project/commit/1d0f40ba05b76ff028c69054899f88f1c7452b4b
  Author: Tristan Ross <tristan.ross at midstall.com>
  Date:   2024-12-31 (Tue, 31 Dec 2024)

  Changed paths:
    M libc/src/compiler/generic/__stack_chk_fail.cpp

  Log Message:
  -----------
  [libc] fix generic __stack_check_fail for fuchsia (#121401)


  Commit: 2feffecb8853b1cdd38a0653df63d70412e65c12
      https://github.com/llvm/llvm-project/commit/2feffecb8853b1cdd38a0653df63d70412e65c12
  Author: Stephen Senran Zhang <zsrkmyn at gmail.com>
  Date:   2024-12-31 (Tue, 31 Dec 2024)

  Changed paths:
    M clang/test/CodeGen/AArch64/fpm-helpers.c
    M llvm/lib/IR/ConstantRange.cpp
    A llvm/test/Transforms/SCCP/range-and-or-bit-masked.ll
    M llvm/unittests/IR/ConstantRangeTest.cpp

  Log Message:
  -----------
  [ConstantRange] Estimate tighter lower (upper) bounds for masked binary and (or) (#120352)

Fixes #118108.

Co-author: Yingwei Zheng (@dtcxzyw)


  Commit: f1fa292cd61a70f41aa8dd8c33c4ac8d036dcfd0
      https://github.com/llvm/llvm-project/commit/f1fa292cd61a70f41aa8dd8c33c4ac8d036dcfd0
  Author: Vikram Hegde <115221833+vikramRH at users.noreply.github.com>
  Date:   2025-01-01 (Wed, 01 Jan 2025)

  Changed paths:
    M llvm/test/CodeGen/AMDGPU/mad_64_32.ll

  Log Message:
  -----------
  [AMDGPU] Pre-commit tests for "lshr + mad" fold (#119509)


  Commit: 283806695a6deeacd5d3eaf88becec2b627ab56f
      https://github.com/llvm/llvm-project/commit/283806695a6deeacd5d3eaf88becec2b627ab56f
  Author: Vikash Gupta <Vikash.Gupta at amd.com>
  Date:   2025-01-01 (Wed, 01 Jan 2025)

  Changed paths:
    M llvm/lib/CodeGen/GlobalISel/CombinerHelper.cpp
    M llvm/test/CodeGen/AArch64/GlobalISel/combine-select.mir

  Log Message:
  -----------
  [GlobalIsel] Add combine for select with constants (#121088)

The SelectionDAG Isel supports the both version of combines mentioned
below :
```
select Cond, Pow2, 0 --> (zext Cond)  << log2(Pow2) 
select Cond, 0, Pow2 --> (zext !Cond) << log2(Pow2)
```
The GlobalIsel for now only supports the first one defined in it's
generic combinerHelper.cpp. This patch adds the missing second one.


  Commit: eafbab6facb0627e11757efb1eae98f806387b55
      https://github.com/llvm/llvm-project/commit/eafbab6facb0627e11757efb1eae98f806387b55
  Author: Yingwei Zheng <dtcxzyw2333 at gmail.com>
  Date:   2025-01-01 (Wed, 01 Jan 2025)

  Changed paths:
    M llvm/lib/Transforms/Utils/EntryExitInstrumenter.cpp
    A llvm/test/Transforms/EntryExitInstrumenter/mcount-with-frompc.ll

  Log Message:
  -----------
  [EntryExitInstrumenter][AArch64][RISCV][LoongArch] Pass `__builtin_return_address(0)` into `_mcount` (#121107)

On RISC-V, AArch64, and LoongArch, the `_mcount` function takes
`__builtin_return_address(0)` as an argument since
`__builtin_return_address(1)` is not available on these platforms. This
patch fixes the argument passing to match the behavior of glibc/gcc.

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


  Commit: a29bd8cbab7390e5a9e3182e6e87908f4e7daced
      https://github.com/llvm/llvm-project/commit/a29bd8cbab7390e5a9e3182e6e87908f4e7daced
  Author: Akshat Oke <Akshat.Oke at amd.com>
  Date:   2025-01-01 (Wed, 01 Jan 2025)

  Changed paths:
    M llvm/include/llvm/Passes/MachinePassRegistry.def
    M llvm/lib/Passes/PassBuilder.cpp

  Log Message:
  -----------
  [CodeGen][NewPM] Record parameterized machine pass names to PIC (#120554)

Required for `{start|stop}-{after-before}` cli


  Commit: 1623c435948ae305220e638066e968cb3296e567
      https://github.com/llvm/llvm-project/commit/1623c435948ae305220e638066e968cb3296e567
  Author: TilakChad <49703944+TilakChad at users.noreply.github.com>
  Date:   2025-01-01 (Wed, 01 Jan 2025)

  Changed paths:
    M clang/docs/ReleaseNotes.rst
    M clang/lib/AST/ExprCXX.cpp
    M clang/test/SemaCXX/cxx2c-pack-indexing.cpp

  Log Message:
  -----------
  [Clang] Resolved type of expression indexing into pack of values of a non-dependent type (#121405)


  Commit: ca2ab74838c41a4146835b5bcc91ce4732273f7d
      https://github.com/llvm/llvm-project/commit/ca2ab74838c41a4146835b5bcc91ce4732273f7d
  Author: xtex <xtex at envs.net>
  Date:   2025-01-01 (Wed, 01 Jan 2025)

  Changed paths:
    M clang/include/clang/Frontend/Utils.h
    M clang/lib/Frontend/DependencyFile.cpp
    M clang/test/Frontend/dependency-gen-symlink.c
    M clang/test/Frontend/dependency-gen-windows-duplicates.c
    M clang/test/VFS/external-names.c

  Log Message:
  -----------
  [clang] Canonicalize absolute paths in dependency file (#117458)

This fixes #117438.

If paths in dependency file are not absoulte, make (or ninja) will
canonicalize them.
While their canonicalization does not involves symbolic links expansion
(for IO performance concerns), leaving a non-absolute path in dependency
file may lead to unexpected canonicalization.
For example, '/a/../b', where '/a' is a symlink to '/c/d', it should be
'/c/b' but make (and ninja) canonicalizes it as '/b', and fails for file
not found.


  Commit: 50054ba2f446c29b46f0fe55e7b8c48b3818a23f
      https://github.com/llvm/llvm-project/commit/50054ba2f446c29b46f0fe55e7b8c48b3818a23f
  Author: Akshat Oke <Akshat.Oke at amd.com>
  Date:   2025-01-01 (Wed, 01 Jan 2025)

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

  Log Message:
  -----------
  [CodeGen] LiveRegMatrix: Use allocator through a unique_ptr (#120556)

`LIU::Matrix` holds on to a pointer to the allocator in LiveRegMatrix and is left hanging when the allocator moves with the LiveRegMatrix.

This extends the lifetime of the allocator so that it does not get destroyed when moving a LiveRegMatrix object.


  Commit: ed572f2003275da8e06a634b4d6658b7921e8334
      https://github.com/llvm/llvm-project/commit/ed572f2003275da8e06a634b4d6658b7921e8334
  Author: Vitaly Buka <vitalybuka at google.com>
  Date:   2025-01-01 (Wed, 01 Jan 2025)

  Changed paths:
    M libcxx/include/__algorithm/mismatch.h
    M libcxx/include/__algorithm/simd_utils.h

  Log Message:
  -----------
  Reapply "[libc++] Explicitly convert to masks in SIMD code (#107983)" (#121352)

This reverts commit 0ea40bf02138c02e7680ce6fa8169502f2a8bd42.

Passes with https://github.com/llvm/llvm-project/issues/121365 fix: 
https://lab.llvm.org/buildbot/#/builders/55/builds/4930


  Commit: fac6be61c6ccbae15647f4f2485415f630341e2a
      https://github.com/llvm/llvm-project/commit/fac6be61c6ccbae15647f4f2485415f630341e2a
  Author: Michał Górny <mgorny at gentoo.org>
  Date:   2025-01-01 (Wed, 01 Jan 2025)

  Changed paths:
    M mlir/CMakeLists.txt

  Log Message:
  -----------
  [mlir] Prepend include directories before LLVM includes (#121223)

Prepend mlir's include directories before system LLVM include
directories. This is particularly important for standalone builds, where
system include directory may contain the previous version of mlir, and
therefore various mlir targets (particularly tablegen) end up using the
headers from the previous version over the fresh ones. The new logic is
copied from clang.


  Commit: 6d3d952f11d350f6ad2cd6199681af158f4bd397
      https://github.com/llvm/llvm-project/commit/6d3d952f11d350f6ad2cd6199681af158f4bd397
  Author: Tomer Shafir <86107951+tomershafir at users.noreply.github.com>
  Date:   2025-01-01 (Wed, 01 Jan 2025)

  Changed paths:
    R llvm/test/tools/llvm-xray/X86/account-empty-stack-error.yaml
    A llvm/test/tools/llvm-xray/X86/account-exit-mismatch-empty-stack-error.yaml
    A llvm/test/tools/llvm-xray/X86/account-exit-mismatch-non-empty-stack-error.yaml
    M llvm/test/tools/llvm-xray/X86/account-keep-going.yaml

  Log Message:
  -----------
  [XRay][account] add account test for nonempty exit mismatch (#93564)

- Add `llvm-xray account` regression test for an exit mismatch with a
non empty stack (its a different code path than empty stack).
- Align empty stack test case name.


  Commit: 2a90efd854f5bcce65a7b0fe5a75860160dc103b
      https://github.com/llvm/llvm-project/commit/2a90efd854f5bcce65a7b0fe5a75860160dc103b
  Author: Stephen Senran Zhang <zsrkmyn at gmail.com>
  Date:   2025-01-01 (Wed, 01 Jan 2025)

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

  Log Message:
  -----------
  [NFC][ConstraintElimination] Optimize code styles (#121422)

This patch does following things,

- prefer early exits;
- add missing std::move;
- avoid duplicate map lookups;
- prefer emplace_back to avoid unnecessary copies.


  Commit: 1135d36f869541f14934471e255c6e2631d6eebe
      https://github.com/llvm/llvm-project/commit/1135d36f869541f14934471e255c6e2631d6eebe
  Author: Mark Danial <118996571+madanial0 at users.noreply.github.com>
  Date:   2025-01-01 (Wed, 01 Jan 2025)

  Changed paths:
    M llvm/utils/lit/tests/shtest-format.py

  Log Message:
  -----------
  [AIX] [lit] Fix shtest-format.py to account for behaviour on AIX (#121426)

The changes from https://github.com/llvm/llvm-project/pull/121376 has
broken the ppc64 aix bot:
https://lab.llvm.org/buildbot/#/builders/64/builds/1835. Adjusted the
testcase to account for `cat` behaviour on AIX prior to the changes


  Commit: 8435225374e1dc17fddf618eec3cf8c396ac669f
      https://github.com/llvm/llvm-project/commit/8435225374e1dc17fddf618eec3cf8c396ac669f
  Author: Jacek Caban <jacek at codeweavers.com>
  Date:   2025-01-01 (Wed, 01 Jan 2025)

  Changed paths:
    M lld/COFF/Driver.cpp
    M lld/COFF/Driver.h
    M lld/COFF/InputFiles.cpp
    M lld/COFF/SymbolTable.cpp
    M lld/COFF/SymbolTable.h

  Log Message:
  -----------
  [LLD][COFF] Move addFile implementation to LinkerDriver (NFC) (#121342)

The addFile implementation does not rely on the SymbolTable object. With
#119294, the symbol table for input files is determined during the
construction of the objects representing them. To clarify that
relationship, this change moves the implementation from the SymbolTable
class to the LinkerDriver class.


  Commit: 684052173971868aab0e6b62d7770a6299e84141
      https://github.com/llvm/llvm-project/commit/684052173971868aab0e6b62d7770a6299e84141
  Author: Philip Reames <preames at rivosinc.com>
  Date:   2025-01-01 (Wed, 01 Jan 2025)

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

  Log Message:
  -----------
  Revert "[RISCV][CG]Use processShuffleMasks for per-register shuffles"

This reverts commit b8952d4b1b0c73bf39d6440ad3166a088ced563f.

spec x264 fails to build in all VLS configurations, with the assertion
failure: clang: ../llvm-project/llvm/lib/Target/RISCV/RISCVISelLowering.cpp:5246: llvm::SDValue lowerShuffleViaVRegSplitting(llvm::ShuffleVectorSDNode*, llvm::SelectionDAG&, const llvm::RISCVSubtarget&): Assertion `RegCnt == NumOfDestRegs && "Whole vector must be processed"' failed.

I can reduce a failing piece of IR, but the failure appears pretty
broad, so I suspect any reasonable vls build will hit it.


  Commit: 0cbe28df7100bf4384f84542d602f90cb783a2d4
      https://github.com/llvm/llvm-project/commit/0cbe28df7100bf4384f84542d602f90cb783a2d4
  Author: Nico Weber <thakis at chromium.org>
  Date:   2025-01-01 (Wed, 01 Jan 2025)

  Changed paths:
    M llvm/utils/gn/secondary/compiler-rt/lib/builtins/BUILD.gn

  Log Message:
  -----------
  [gn] port 28ae2ff2a44c


  Commit: bd154e823eba4d62366dfa3d56ae0b99ab171b96
      https://github.com/llvm/llvm-project/commit/bd154e823eba4d62366dfa3d56ae0b99ab171b96
  Author: Peng Huang <shawn.p.huang at gmail.com>
  Date:   2025-01-01 (Wed, 01 Jan 2025)

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

  Log Message:
  -----------
  Reapply "[Driver][OHOS] Fix lld link issue for OHOS (#118192)" (#120159)

The problem in original change is because OHOS::getCompilerRT()
pickes a wrong builtin runtime
`./lib/clang/20/lib/linux/libclang_rt.builtins-x86_64.a`,
if `./lib/clang/20/lib/linux/libclang_rt.builtins-x86_64.a` exist on the
test filesystem. It shouldn't happen with a clean build.


  Commit: 418dedc2341e807fe7501ad95526b0d7c2f167c4
      https://github.com/llvm/llvm-project/commit/418dedc2341e807fe7501ad95526b0d7c2f167c4
  Author: Florian Hahn <flo at fhahn.com>
  Date:   2025-01-01 (Wed, 01 Jan 2025)

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

  Log Message:
  -----------
  [VPlan] Remove redundant setting of insert point in ::executePlan (NFC).

The entry block is a VPIRBasicBkock wrapping the original loop's
preheader, so the insert point doesn't need to be set.


  Commit: c7ebe4fd0afadcddd53ec89e6030f9a8f5370e1f
      https://github.com/llvm/llvm-project/commit/c7ebe4fd0afadcddd53ec89e6030f9a8f5370e1f
  Author: Florian Hahn <flo at fhahn.com>
  Date:   2025-01-01 (Wed, 01 Jan 2025)

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

  Log Message:
  -----------
  [VPlan] Replace VPBBs with VPIRBBs during skeleton creation (NFC).

Move replacement of VPBBs for vector preheader, middle block and scalar
preheader from VPlan::execute to skeleton creation, which actually
creates the IR basic blocks.

For now, the vector preheader can only be replaced after
prepareToExecute as it may create new instructions in the vector
preheader.


  Commit: cd239493c1023cbccfe6b1e9be32e68592a7f304
      https://github.com/llvm/llvm-project/commit/cd239493c1023cbccfe6b1e9be32e68592a7f304
  Author: Owen Pan <owenpiano at gmail.com>
  Date:   2025-01-01 (Wed, 01 Jan 2025)

  Changed paths:
    M clang/docs/ClangFormat.rst
    M clang/docs/ReleaseNotes.rst
    M clang/lib/Format/MatchFilePath.cpp
    M clang/unittests/Format/MatchFilePathTest.cpp

  Log Message:
  -----------
  [clang-format] Support globstar in .clang-format-ignore (#121404)

Closes #110160.
Closes #114969.


  Commit: 62cd050b635cbb201dd08188696448cf5ab23260
      https://github.com/llvm/llvm-project/commit/62cd050b635cbb201dd08188696448cf5ab23260
  Author: Roland McGrath <mcgrathr at google.com>
  Date:   2025-01-01 (Wed, 01 Jan 2025)

  Changed paths:
    M libc/docs/dev/header_generation.rst
    M libc/include/CMakeLists.txt
    A libc/include/arpa/inet.yaml
    A libc/include/assert.yaml
    A libc/include/complex.yaml
    A libc/include/ctype.yaml
    A libc/include/dirent.yaml
    A libc/include/dlfcn.yaml
    A libc/include/elf.yaml
    A libc/include/errno.yaml
    A libc/include/fcntl.yaml
    A libc/include/features.yaml
    A libc/include/fenv.yaml
    A libc/include/float.yaml
    A libc/include/inttypes.yaml
    A libc/include/limits.yaml
    A libc/include/link.yaml
    A libc/include/locale.yaml
    A libc/include/malloc.yaml
    A libc/include/math.yaml
    A libc/include/pthread.yaml
    A libc/include/sched.yaml
    A libc/include/search.yaml
    A libc/include/setjmp.yaml
    A libc/include/signal.yaml
    A libc/include/spawn.yaml
    A libc/include/stdbit.yaml
    A libc/include/stdckdint.yaml
    A libc/include/stdfix.yaml
    A libc/include/stdint.yaml
    A libc/include/stdio.yaml
    A libc/include/stdlib.yaml
    A libc/include/string.yaml
    A libc/include/strings.yaml
    A libc/include/sys/auxv.yaml
    A libc/include/sys/epoll.yaml
    A libc/include/sys/ioctl.yaml
    A libc/include/sys/mman.yaml
    A libc/include/sys/prctl.yaml
    A libc/include/sys/random.yaml
    A libc/include/sys/resource.yaml
    A libc/include/sys/select.yaml
    A libc/include/sys/sendfile.yaml
    A libc/include/sys/socket.yaml
    A libc/include/sys/stat.yaml
    A libc/include/sys/statvfs.yaml
    A libc/include/sys/syscall.yaml
    A libc/include/sys/time.yaml
    A libc/include/sys/types.yaml
    A libc/include/sys/utsname.yaml
    A libc/include/sys/wait.yaml
    A libc/include/termios.yaml
    A libc/include/threads.yaml
    A libc/include/time.yaml
    A libc/include/uchar.yaml
    A libc/include/unistd.yaml
    A libc/include/wchar.yaml
    M libc/src/math/docs/add_math_function.md
    R libc/utils/hdrgen/yaml/arpa/inet.yaml
    R libc/utils/hdrgen/yaml/assert.yaml
    R libc/utils/hdrgen/yaml/complex.yaml
    R libc/utils/hdrgen/yaml/ctype.yaml
    R libc/utils/hdrgen/yaml/dirent.yaml
    R libc/utils/hdrgen/yaml/dlfcn.yaml
    R libc/utils/hdrgen/yaml/elf.yaml
    R libc/utils/hdrgen/yaml/errno.yaml
    R libc/utils/hdrgen/yaml/fcntl.yaml
    R libc/utils/hdrgen/yaml/features.yaml
    R libc/utils/hdrgen/yaml/fenv.yaml
    R libc/utils/hdrgen/yaml/float.yaml
    R libc/utils/hdrgen/yaml/inttypes.yaml
    R libc/utils/hdrgen/yaml/limits.yaml
    R libc/utils/hdrgen/yaml/link.yaml
    R libc/utils/hdrgen/yaml/locale.yaml
    R libc/utils/hdrgen/yaml/malloc.yaml
    R libc/utils/hdrgen/yaml/math.yaml
    R libc/utils/hdrgen/yaml/pthread.yaml
    R libc/utils/hdrgen/yaml/sched.yaml
    R libc/utils/hdrgen/yaml/search.yaml
    R libc/utils/hdrgen/yaml/setjmp.yaml
    R libc/utils/hdrgen/yaml/signal.yaml
    R libc/utils/hdrgen/yaml/spawn.yaml
    R libc/utils/hdrgen/yaml/stdbit.yaml
    R libc/utils/hdrgen/yaml/stdckdint.yaml
    R libc/utils/hdrgen/yaml/stdfix.yaml
    R libc/utils/hdrgen/yaml/stdint.yaml
    R libc/utils/hdrgen/yaml/stdio.yaml
    R libc/utils/hdrgen/yaml/stdlib.yaml
    R libc/utils/hdrgen/yaml/string.yaml
    R libc/utils/hdrgen/yaml/strings.yaml
    R libc/utils/hdrgen/yaml/sys/auxv.yaml
    R libc/utils/hdrgen/yaml/sys/epoll.yaml
    R libc/utils/hdrgen/yaml/sys/ioctl.yaml
    R libc/utils/hdrgen/yaml/sys/mman.yaml
    R libc/utils/hdrgen/yaml/sys/prctl.yaml
    R libc/utils/hdrgen/yaml/sys/random.yaml
    R libc/utils/hdrgen/yaml/sys/resource.yaml
    R libc/utils/hdrgen/yaml/sys/select.yaml
    R libc/utils/hdrgen/yaml/sys/sendfile.yaml
    R libc/utils/hdrgen/yaml/sys/socket.yaml
    R libc/utils/hdrgen/yaml/sys/stat.yaml
    R libc/utils/hdrgen/yaml/sys/statvfs.yaml
    R libc/utils/hdrgen/yaml/sys/syscall.yaml
    R libc/utils/hdrgen/yaml/sys/time.yaml
    R libc/utils/hdrgen/yaml/sys/types.yaml
    R libc/utils/hdrgen/yaml/sys/utsname.yaml
    R libc/utils/hdrgen/yaml/sys/wait.yaml
    R libc/utils/hdrgen/yaml/termios.yaml
    R libc/utils/hdrgen/yaml/threads.yaml
    R libc/utils/hdrgen/yaml/time.yaml
    R libc/utils/hdrgen/yaml/uchar.yaml
    R libc/utils/hdrgen/yaml/unistd.yaml
    R libc/utils/hdrgen/yaml/wchar.yaml

  Log Message:
  -----------
  [libc] Move hdrgen yaml files into include/ (#121443)

The .yaml files should live next to the corresponding .h.def
files in libc/include/, rather than next to the implementation of
the tool in libc/utils/hdrgen/.  As with the .h.def files, there
is no need for a yaml/ subdirectory under include/.  This simpler
layout is more natural for maintenance and also simplifies build
integration outside the LLVM CMake build.


  Commit: 508929d42a8735b05815b5332a4733ed8d0bf1eb
      https://github.com/llvm/llvm-project/commit/508929d42a8735b05815b5332a4733ed8d0bf1eb
  Author: Roland McGrath <mcgrathr at google.com>
  Date:   2025-01-01 (Wed, 01 Jan 2025)

  Changed paths:
    M libc/utils/hdrgen/gpu_headers.py

  Log Message:
  -----------
  [libc] Make GpuHeaderFile a subclass (#121445)

Replace copy&paste from HeaderFile to GpuHeaderFile with
subclassing.  Only the __str__ method differs.


  Commit: 1a0d0ae234544dc4978f1e12730408cb83f6b923
      https://github.com/llvm/llvm-project/commit/1a0d0ae234544dc4978f1e12730408cb83f6b923
  Author: Owen Pan <owenpiano at gmail.com>
  Date:   2025-01-01 (Wed, 01 Jan 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.h
    M clang/lib/Format/FormatTokenLexer.cpp
    M clang/lib/Format/FormatTokenLexer.h
    M clang/lib/Format/TokenAnnotator.cpp
    M clang/unittests/Format/TokenAnnotatorTest.cpp

  Log Message:
  -----------
  [clang-format] Add `VariableTemplates` option (#121318)

Closes #120148.


  Commit: 23ec9ee17eacb18eeb01d3c5a0d424852c7c1909
      https://github.com/llvm/llvm-project/commit/23ec9ee17eacb18eeb01d3c5a0d424852c7c1909
  Author: Phoebe Wang <phoebe.wang at intel.com>
  Date:   2025-01-02 (Thu, 02 Jan 2025)

  Changed paths:
    M llvm/lib/Target/X86/X86ISelLowering.cpp
    M llvm/lib/Target/X86/X86InstrAVX10.td
    M llvm/test/CodeGen/X86/fminimum-fmaximum.ll
    M llvm/test/TableGen/x86-fold-tables.inc

  Log Message:
  -----------
  [X86][AVX10.2] Lower fmininum/fmaximum to VMINMAX* (#121373)


  Commit: 096551537b2a747a3387726ca618ceeb3950e9bc
      https://github.com/llvm/llvm-project/commit/096551537b2a747a3387726ca618ceeb3950e9bc
  Author: Lang Hames <lhames at gmail.com>
  Date:   2025-01-02 (Thu, 02 Jan 2025)

  Changed paths:
    M llvm/include/llvm/ExecutionEngine/Orc/ELFNixPlatform.h
    M llvm/test/ExecutionEngine/JITLink/x86-64/LocalDependencyPropagation.s
    M llvm/tools/llvm-jitlink/llvm-jitlink-coff.cpp
    M llvm/tools/llvm-jitlink/llvm-jitlink-elf.cpp
    M llvm/tools/llvm-jitlink/llvm-jitlink-macho.cpp
    M llvm/tools/llvm-jitlink/llvm-jitlink.cpp

  Log Message:
  -----------
  "Reapply "[llvm-jitlink] Use concurrent linking by default." with more fixes.

This reapplies edca1d9bad2 which was reverted in 7ec139ad4bc due to bot
failures.

LocalDependencyPropagation.s is updated to use -num-threads=0 in order to
avoid interleaving debugging output.

ELFNixPlatform.h is updated to protect the deferred runtime function calls
map during bootstrap.


  Commit: bc87a537d9b8117cfd63d5d9b798d6017a99097f
      https://github.com/llvm/llvm-project/commit/bc87a537d9b8117cfd63d5d9b798d6017a99097f
  Author: Nathan Ridge <zeratul976 at hotmail.com>
  Date:   2025-01-02 (Thu, 02 Jan 2025)

  Changed paths:
    M clang-tools-extra/clangd/unittests/Matchers.h
    M clang-tools-extra/clangd/unittests/TypeHierarchyTests.cpp

  Log Message:
  -----------
  [clangd] Remove clangd's HasValue GMock matcher (#121309)

An equivalent matcher under the name Optional has since been added
upstream to GMock.

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


  Commit: 0c68155002edb30d6b0df3f17fe1f44a01afacd9
      https://github.com/llvm/llvm-project/commit/0c68155002edb30d6b0df3f17fe1f44a01afacd9
  Author: Lang Hames <lhames at gmail.com>
  Date:   2025-01-02 (Thu, 02 Jan 2025)

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

  Log Message:
  -----------
  [llvm-jitlink] Fix llvm-jitlink for LLVM_ENABLE_THREADS=Off.

Commit edca1d9bad2 enabled threaded linking by default in llvm-jitlink, but we
need to handle the case where LLVM is built with -DLLVM_ENABLE_THREADS=Off.

This patch updates the llvm-jitlink tool to switch back to materialization on
the main thread (equivalent to llvm-jitlink -num-threads=0 ...) when LLVM is
built without thread support.


  Commit: 641a786bedc054e71764f69f6f448ad4e090c9a4
      https://github.com/llvm/llvm-project/commit/641a786bedc054e71764f69f6f448ad4e090c9a4
  Author: David Green <david.green at arm.com>
  Date:   2025-01-02 (Thu, 02 Jan 2025)

  Changed paths:
    M llvm/test/Analysis/CostModel/AArch64/shuffle-select.ll
    A llvm/test/CodeGen/AArch64/shuffle-select.ll

  Log Message:
  -----------
  [AArch64] Add codegen shuffle-select test. NFC

This splits the shuffle-select CostModel test into a seperate CodeGen test and
removes the codegen from the CostModel version. An extra fp16 test is added
too.


  Commit: 45e874e39030bc622ea43fbcfc4fcdd1dd404353
      https://github.com/llvm/llvm-project/commit/45e874e39030bc622ea43fbcfc4fcdd1dd404353
  Author: Timm Baeder <tbaeder at redhat.com>
  Date:   2025-01-02 (Thu, 02 Jan 2025)

  Changed paths:
    M clang/lib/AST/ByteCode/InterpBuiltin.cpp
    M clang/test/CodeGen/builtin-memfns.c

  Log Message:
  -----------
  [clang][bytecode] Check for memcpy/memmove dummy pointers earlier (#121453)


  Commit: a3744f065a3ce38deaf650a8f92941c19980b32a
      https://github.com/llvm/llvm-project/commit/a3744f065a3ce38deaf650a8f92941c19980b32a
  Author: Spencer Abson <Spencer.Abson at arm.com>
  Date:   2025-01-02 (Thu, 02 Jan 2025)

  Changed paths:
    M clang/include/clang/Basic/arm_immcheck_incl.td
    M clang/lib/Sema/SemaARM.cpp

  Log Message:
  -----------
  [clang][AArch64] Remove references to vector size in SVE immediate range checking. NFC


  Commit: d5c8af492f2d8620b04330024d46a5f48db546fe
      https://github.com/llvm/llvm-project/commit/d5c8af492f2d8620b04330024d46a5f48db546fe
  Author: Timm Baeder <tbaeder at redhat.com>
  Date:   2025-01-02 (Thu, 02 Jan 2025)

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

  Log Message:
  -----------
  [clang][bytecode] Consider start index when copying composite array (#121461)

... elements.


  Commit: 34097c07e151fef0e5c645e1dac7f4872774317b
      https://github.com/llvm/llvm-project/commit/34097c07e151fef0e5c645e1dac7f4872774317b
  Author: Timm Baeder <tbaeder at redhat.com>
  Date:   2025-01-02 (Thu, 02 Jan 2025)

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

  Log Message:
  -----------
  [clang][bytecode] Consider unknown-size arrays in memcpy/memcmp (#121462)

When emitting diagnostics for the number of elements.


  Commit: 4c5c5e2f41e62e4be9ca7bb6c42221cc11700321
      https://github.com/llvm/llvm-project/commit/4c5c5e2f41e62e4be9ca7bb6c42221cc11700321
  Author: ZhaoQi <zhaoqi01 at loongson.cn>
  Date:   2025-01-02 (Thu, 02 Jan 2025)

  Changed paths:
    M llvm/include/llvm/ExecutionEngine/JITLink/loongarch.h
    M llvm/lib/ExecutionEngine/JITLink/ELF_loongarch.cpp
    M llvm/lib/ExecutionEngine/JITLink/loongarch.cpp
    M llvm/test/ExecutionEngine/JITLink/LoongArch/ELF_loongarch32_relocations.s
    M llvm/test/ExecutionEngine/JITLink/LoongArch/ELF_loongarch64_relocations.s

  Log Message:
  -----------
  [JITLink][LoongArch] Add R_LARCH_{B16,B21} relocations support (#121096)


  Commit: 3ddc9f06ae61e916b333b096cef3560f0f5c6272
      https://github.com/llvm/llvm-project/commit/3ddc9f06ae61e916b333b096cef3560f0f5c6272
  Author: David Green <david.green at arm.com>
  Date:   2025-01-02 (Thu, 02 Jan 2025)

  Changed paths:
    A llvm/test/Analysis/CostModel/AArch64/shuffle-extract.ll
    M llvm/test/CodeGen/AArch64/shuffle-select.ll
    A llvm/test/Transforms/PhaseOrdering/AArch64/block_scaling_decompr_8bit.ll

  Log Message:
  -----------
  [AArch64] Additional shuffle subvector-extract cost tests. NFC

A Phase Ordering test for intrinsic shuffles is also added, showing a recent
regression from vector combining.


  Commit: 460e7d5f3054855af83e50f32a81ce71cac55a04
      https://github.com/llvm/llvm-project/commit/460e7d5f3054855af83e50f32a81ce71cac55a04
  Author: Abid Qadeer <haqadeer at amd.com>
  Date:   2025-01-02 (Thu, 02 Jan 2025)

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

  Log Message:
  -----------
  [flang][debug] Correct pointer size. (#120781)

We were passing size in bytes for the sizeInBits field in
DIDerivedTypeAttr with DW_TAG_pointer_type. Although this field is
un-used in this case but better to be accurate.


  Commit: 328ff042e33767d9abdc56bf62132e00b832ecc4
      https://github.com/llvm/llvm-project/commit/328ff042e33767d9abdc56bf62132e00b832ecc4
  Author: Abid Qadeer <haqadeer at amd.com>
  Date:   2025-01-02 (Thu, 02 Jan 2025)

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

  Log Message:
  -----------
  [flang][NFC] Replace dyn_cast_or_null with dyn_cast_if_present. (#120785)


  Commit: 450c6b02d224245656c41033cc0c849bde2045f3
      https://github.com/llvm/llvm-project/commit/450c6b02d224245656c41033cc0c849bde2045f3
  Author: josel-amd <jose.lopes at amd.com>
  Date:   2025-01-02 (Thu, 02 Jan 2025)

  Changed paths:
    M mlir/include/mlir/Conversion/SCFToEmitC/SCFToEmitC.h
    M mlir/lib/Conversion/SCFToEmitC/SCFToEmitC.cpp
    M mlir/test/Conversion/SCFToEmitC/for.mlir
    M mlir/test/Conversion/SCFToEmitC/switch.mlir

  Log Message:
  -----------
  [MLIR][SCFToEmitC] Convert types while converting from SCF to EmitC (#118940)

Switch from rewrite patterns to conversion patterns. This allows to
perform type conversions together with other parts of the IR. For
example, this allows to convert from index to emit.size_t types.


  Commit: df728cf1d7959e214af68dbf4d6e3750fc7b5b13
      https://github.com/llvm/llvm-project/commit/df728cf1d7959e214af68dbf4d6e3750fc7b5b13
  Author: Matthias Gehre <matthias.gehre at amd.com>
  Date:   2025-01-02 (Thu, 02 Jan 2025)

  Changed paths:
    M mlir/include/mlir/Conversion/SCFToEmitC/SCFToEmitC.h
    M mlir/lib/Conversion/SCFToEmitC/SCFToEmitC.cpp
    M mlir/test/Conversion/SCFToEmitC/for.mlir
    M mlir/test/Conversion/SCFToEmitC/switch.mlir

  Log Message:
  -----------
  Revert "[MLIR][SCFToEmitC] Convert types while converting from SCF to EmitC (#118940)"

This reverts commit 450c6b02d224245656c41033cc0c849bde2045f3.


  Commit: 76a4c4593ba9f8cad894d80ea75687cd86be3cdd
      https://github.com/llvm/llvm-project/commit/76a4c4593ba9f8cad894d80ea75687cd86be3cdd
  Author: Rajat Bajpai <rbajpai at nvidia.com>
  Date:   2025-01-02 (Thu, 02 Jan 2025)

  Changed paths:
    M llvm/lib/Transforms/InstCombine/InstCombineSelect.cpp
    M llvm/test/Transforms/InstCombine/fcmp-fadd-select.ll

  Log Message:
  -----------
  [InstCombine] Fix constant swap case of fcmp + fadd + sel xfrm (#119419)

The fcmp + fadd + sel => fcmp + sel + fadd xfrm performs incorrect
transformation when select branch values are swapped. This change fixes
this.


  Commit: 1fa0302ba2efc5374b5d1cdc8715dfc0f1048c6c
      https://github.com/llvm/llvm-project/commit/1fa0302ba2efc5374b5d1cdc8715dfc0f1048c6c
  Author: Jacek Caban <jacek at codeweavers.com>
  Date:   2025-01-02 (Thu, 02 Jan 2025)

  Changed paths:
    M lld/COFF/SymbolTable.cpp
    M lld/test/COFF/arm64x-loadconfig.s

  Log Message:
  -----------
  [LLD][COFF] Emit warnings for missing load config on EC targets (#121339)

ARM64EC and ARM64X images require a load configuration to be valid.


  Commit: 207e485f4b7e8113b8b329ddcde423aafc0a8832
      https://github.com/llvm/llvm-project/commit/207e485f4b7e8113b8b329ddcde423aafc0a8832
  Author: Florian Hahn <flo at fhahn.com>
  Date:   2025-01-02 (Thu, 02 Jan 2025)

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

  Log Message:
  -----------
  [VPlan] Track VectorPH during skeleton creation. (NFC)

Split off from https://github.com/llvm/llvm-project/pull/108378.

This ensures that the logic works even if now vector region exits.


  Commit: 67c974bfd6b3dbba83865e8319a3e9d3274a44e9
      https://github.com/llvm/llvm-project/commit/67c974bfd6b3dbba83865e8319a3e9d3274a44e9
  Author: Michael Buch <michaelbuch12 at gmail.com>
  Date:   2025-01-02 (Thu, 02 Jan 2025)

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

  Log Message:
  -----------
  [lldb][DWARFASTParserClang][NFC] Remove redundant parameter to ParseChildParameters (#121033)

This was never set to anything other than `true`.


  Commit: 02b30128e8e87795b9262035a48990648cbec586
      https://github.com/llvm/llvm-project/commit/02b30128e8e87795b9262035a48990648cbec586
  Author: Timm Baeder <tbaeder at redhat.com>
  Date:   2025-01-02 (Thu, 02 Jan 2025)

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

  Log Message:
  -----------
  [clang][bytecode] Always return false for invalid bcp results (#121467)


  Commit: 8178e7218833bcbcf4263016252681c81fb167db
      https://github.com/llvm/llvm-project/commit/8178e7218833bcbcf4263016252681c81fb167db
  Author: Marius Brehler <marius.brehler at amd.com>
  Date:   2025-01-02 (Thu, 02 Jan 2025)

  Changed paths:
    M mlir/include/mlir/Dialect/Func/IR/FuncOps.td

  Log Message:
  -----------
  [mlir][func] Fix return op example (#121470)

Similiar to #121112.


  Commit: 9cd774d1e49f792b7546e5309c7b27d653b37132
      https://github.com/llvm/llvm-project/commit/9cd774d1e49f792b7546e5309c7b27d653b37132
  Author: Phoebe Wang <phoebe.wang at intel.com>
  Date:   2025-01-02 (Thu, 02 Jan 2025)

  Changed paths:
    M llvm/lib/Target/X86/MCTargetDesc/X86ATTInstPrinter.cpp
    M llvm/lib/Target/X86/MCTargetDesc/X86InstComments.cpp
    M llvm/lib/Target/X86/MCTargetDesc/X86InstPrinterCommon.cpp
    M llvm/lib/Target/X86/MCTargetDesc/X86IntelInstPrinter.cpp
    M llvm/lib/Target/X86/X86InstrAVX10.td
    M llvm/lib/Target/X86/X86InstrAVX512.td
    M llvm/lib/Target/X86/X86InstrFMA3Info.cpp
    M llvm/lib/Target/X86/X86InstrInfo.cpp
    M llvm/lib/Target/X86/X86SchedSapphireRapids.td
    M llvm/lib/Target/X86/X86ScheduleZnver4.td
    M llvm/test/TableGen/x86-fold-tables.inc

  Log Message:
  -----------
  [X86][NFC] Move "_Int" after "k"/"kz" (#121450)

Address comment at
https://github.com/llvm/llvm-project/pull/121373#discussion_r1900402932


  Commit: 4b22ef7d6b9f739de63b6d07777424cf5dfb9f92
      https://github.com/llvm/llvm-project/commit/4b22ef7d6b9f739de63b6d07777424cf5dfb9f92
  Author: Nico Weber <thakis at chromium.org>
  Date:   2025-01-02 (Thu, 02 Jan 2025)

  Changed paths:
    M lld/COFF/Writer.cpp

  Log Message:
  -----------
  [lld/COFF] Fix comment typo to cycle bots


  Commit: d622b66a820a0e5e61c131e9ae5b4db35292aa14
      https://github.com/llvm/llvm-project/commit/d622b66a820a0e5e61c131e9ae5b4db35292aa14
  Author: josel-amd <jose.lopes at amd.com>
  Date:   2025-01-02 (Thu, 02 Jan 2025)

  Changed paths:
    M mlir/include/mlir/Conversion/SCFToEmitC/SCFToEmitC.h
    M mlir/lib/Conversion/SCFToEmitC/CMakeLists.txt
    M mlir/lib/Conversion/SCFToEmitC/SCFToEmitC.cpp
    M mlir/test/Conversion/SCFToEmitC/for.mlir
    M mlir/test/Conversion/SCFToEmitC/switch.mlir

  Log Message:
  -----------
  Re-introduce Type Conversion on EmitC (#121476)

This PR reintroduces https://github.com/llvm/llvm-project/pull/118940
with a fix for the build issues on
cd9caf3aeed55280537052227f08bb1b41154efd


  Commit: a4deb809be8f5ec3adec3626e9d700f6168d0e9f
      https://github.com/llvm/llvm-project/commit/a4deb809be8f5ec3adec3626e9d700f6168d0e9f
  Author: Nico Weber <thakis at chromium.org>
  Date:   2025-01-02 (Thu, 02 Jan 2025)

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

  Log Message:
  -----------
  Revert "Reapply "[Driver][OHOS] Fix lld link issue for OHOS (#118192)" (#120159)"

This reverts commit bd154e823eba4d62366dfa3d56ae0b99ab171b96.
Test fails with -DLLVM_ENABLE_PER_TARGET_RUNTIME_DIR=OFF, see
https://github.com/llvm/llvm-project/pull/120159#issuecomment-2567836727


  Commit: 6d604ba36326de849ccf00f30351ce21fde19471
      https://github.com/llvm/llvm-project/commit/6d604ba36326de849ccf00f30351ce21fde19471
  Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
  Date:   2025-01-02 (Thu, 02 Jan 2025)

  Changed paths:
    M llvm/utils/gn/secondary/clang-tools-extra/clang-tidy/bugprone/BUILD.gn
    M llvm/utils/gn/secondary/clang-tools-extra/clang-tidy/cppcoreguidelines/BUILD.gn

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


  Commit: 073e65a8e5f92ca9c63c3fcd1c0ce2a36913f9a6
      https://github.com/llvm/llvm-project/commit/073e65a8e5f92ca9c63c3fcd1c0ce2a36913f9a6
  Author: John Brawn <john.brawn at arm.com>
  Date:   2025-01-02 (Thu, 02 Jan 2025)

  Changed paths:
    M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
    M llvm/test/Transforms/LoopVectorize/AArch64/interleaved_cost.ll
    M llvm/test/Transforms/LoopVectorize/ARM/mve-interleaved-cost.ll

  Log Message:
  -----------
  [LoopVectorize] Make needsExtract notice scalarized instructions (#119720)

LoopVectorizationCostModel::needsExtract should recognise instructions
that have been widened by scalarizing as scalar instructions, and thus
not needing an extract when used by later scalarized instructions.

This fixes an incorrect cost calculation in computePredInstDiscount,
where we are adding a scalarization overhead cost when we shouldn't,
though I haven't come up with a test case where it makes a difference.
It will make a difference when the cost model switches to using the cost
kind TCK_CodeSize for optsize, as not doing this causes the test
LoopVectorize/X86/small-size.ll to get worse.


  Commit: a9a3fb5b1a23e336a1656046ba1a36832e020d4e
      https://github.com/llvm/llvm-project/commit/a9a3fb5b1a23e336a1656046ba1a36832e020d4e
  Author: Bart Chrzaszcz <bart.chr at gmail.com>
  Date:   2025-01-02 (Thu, 02 Jan 2025)

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

  Log Message:
  -----------
  Update BUILD.bazel due to PR #121476

Breaks bazel builds due to missing dependency


  Commit: bb27d5e5c6b194a1440b8ac4e5ace68d0ee2a849
      https://github.com/llvm/llvm-project/commit/bb27d5e5c6b194a1440b8ac4e5ace68d0ee2a849
  Author: Donát Nagy <donat.nagy at ericsson.com>
  Date:   2025-01-02 (Thu, 02 Jan 2025)

  Changed paths:
    M clang/docs/ReleaseNotes.rst
    M clang/include/clang/StaticAnalyzer/Core/PathSensitive/CoreEngine.h
    M clang/include/clang/StaticAnalyzer/Core/PathSensitive/ExprEngine.h
    M clang/lib/StaticAnalyzer/Core/CoreEngine.cpp
    M clang/lib/StaticAnalyzer/Core/ExprEngine.cpp
    A clang/test/Analysis/loop-assumptions.c
    M clang/test/Analysis/loop-unrolling.cpp
    M clang/test/Analysis/misc-ps-region-store.m

  Log Message:
  -----------
  [analyzer] Don't assume third iteration in loops (#119388)

This commit ensures that if the loop condition is opaque (the analyzer
cannot determine whether it's true or false) and there were at least two
iterations, then the analyzer doesn't make the unjustified assumption
that it can enter yet another iteration.

Note that the presence of a loop suggests that the developer thought
that two iterations can happen (otherwise an `if` would've been
sufficient), but it does not imply that the developer expected three or
four iterations -- and in fact there are many false positives where a
loop iterates over a two-element (or three-element) data structure, but
the analyzer cannot understand the loop condition and blindly assumes
that there may be three or more iterations. (In particular, analyzing
the FFMPEG project produces 100+ such false positives.)

Moreover, this provides some performance improvements in the sense that
the analyzer won't waste time on traversing the execution paths with 3
or 4 iterations in a loop (which are very similar to the paths with 2
iterations) and therefore will be able to traverse more branches
elsewhere on the `ExplodedGraph`.

This logic is disabled if the user enables the widen-loops analyzer
option (which is disabled by default), because the "simulate one final
iteration after the invalidation" execution path would be suppressed by
the "exit the loop if the loop condition is opaque and there were at
least two iterations" logic. If we want to support loop widening, we
would need to create a follow-up commit which ensures that it "plays
nicely" with this logic.


  Commit: 4a890c2c605640f48ecbaefebda8f3a42043ff3d
      https://github.com/llvm/llvm-project/commit/4a890c2c605640f48ecbaefebda8f3a42043ff3d
  Author: klensy <klensy at users.noreply.github.com>
  Date:   2025-01-02 (Thu, 02 Jan 2025)

  Changed paths:
    M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
    M llvm/test/CodeGen/AArch64/vecreduce-add.ll

  Log Message:
  -----------
  [llvm][aarch64] fix copypaste typo (#120725)

moved from #119881


  Commit: 62d0aff3eb934439acac47348e2385f0751a1444
      https://github.com/llvm/llvm-project/commit/62d0aff3eb934439acac47348e2385f0751a1444
  Author: Michał Górny <mgorny at gentoo.org>
  Date:   2025-01-02 (Thu, 02 Jan 2025)

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

  Log Message:
  -----------
  [cmake] Extend zstd.dll finding logic from MSVC to Clang (#121437)

Extend the special logic for finding `zstd.dll` in `Findzstd` to apply
to all MSVC-compatible configurations such as Clang targeting MSVC.

Fixes #121345


  Commit: 8ab88f11a12aaecb46f7b0eb5c13e7802258c1e1
      https://github.com/llvm/llvm-project/commit/8ab88f11a12aaecb46f7b0eb5c13e7802258c1e1
  Author: Jonas Paulsson <paulson1 at linux.ibm.com>
  Date:   2025-01-02 (Thu, 02 Jan 2025)

  Changed paths:
    M llvm/utils/emacs/llvm-mode.el

  Log Message:
  -----------
  [emacs] Add noext as an attribute in llvm-mode.el (#121444)

The NoExt attribute was introduced with #100757, to exist alongside with
signext and zeroext.

This patch adds "noext" as an attribute to llvm-mode.el to get the proper
highlighting of the keyword.


  Commit: 11e482c4a32be6a315e5bf2ae7599cf10eb84836
      https://github.com/llvm/llvm-project/commit/11e482c4a32be6a315e5bf2ae7599cf10eb84836
  Author: Matt Arsenault <Matthew.Arsenault at amd.com>
  Date:   2025-01-02 (Thu, 02 Jan 2025)

  Changed paths:
    M llvm/lib/CodeGen/RegAllocGreedy.cpp
    M llvm/lib/CodeGen/RegAllocPriorityAdvisor.cpp
    M llvm/lib/CodeGen/RegAllocPriorityAdvisor.h
    A llvm/test/CodeGen/AMDGPU/dummy-regalloc-priority-advisor.mir

  Log Message:
  -----------
  RegAllocGreedy: Add dummy priority advisor for writing MIR tests (#121207)

I regularly struggle reproducing failures in greedy due to changes
in priority when resuming the allocation from MIR vs. a complete
compilation starting at IR. That is, the fix in
e0919b189bf2df4f97f22ba40260ab5153988b14 did not really fix the
problem of the instruction distance mattering.

Add a way to bypass all of the priority heuristics for MIR tests,
by prioritizing only by virtual register number. Could also
give this a more specific name, like PrioritizeLowVirtRegNumber


  Commit: 40ac34c518985f4ff119d2e67a5a412cc951104a
      https://github.com/llvm/llvm-project/commit/40ac34c518985f4ff119d2e67a5a412cc951104a
  Author: Nikolas Klauser <nikolasklauser at berlin.de>
  Date:   2025-01-02 (Thu, 02 Jan 2025)

  Changed paths:
    M libcxx/include/__type_traits/aligned_storage.h
    M libcxx/include/__type_traits/make_signed.h
    M libcxx/include/__type_traits/make_unsigned.h
    M libcxx/include/__type_traits/type_list.h

  Log Message:
  -----------
  [libc++] Make __type_list variadic (#121117)

This makes these lists signficiantly more readable.


  Commit: 4075ddad7183e6f0b66e2c8cc7a03b461a8038e6
      https://github.com/llvm/llvm-project/commit/4075ddad7183e6f0b66e2c8cc7a03b461a8038e6
  Author: Nikolas Klauser <nikolasklauser at berlin.de>
  Date:   2025-01-02 (Thu, 02 Jan 2025)

  Changed paths:
    M libcxx/.clang-tidy
    M libcxx/test/libcxx/clang_tidy.gen.py

  Log Message:
  -----------
  [libc++] Run clang-tidy only once per header (#121436)

There doesn't seem to be much of a reason to run clang-tidy twice per
headers, and running it only once makes the test a few seconds faster.


  Commit: 7326e903d72ba390a6368ff3e9eb2ab2251a1b13
      https://github.com/llvm/llvm-project/commit/7326e903d72ba390a6368ff3e9eb2ab2251a1b13
  Author: Brooks Davis <brooks at one-eyed-alien.net>
  Date:   2025-01-02 (Thu, 02 Jan 2025)

  Changed paths:
    M flang/runtime/stop.cpp

  Log Message:
  -----------
  flang: fix backtrace build on FreeBSD (#120297)

FreeBSD's libexecinfo defines backtrace with a size_t for the size
argument and return type. This almost certainly doesn't make sense, but
what's done is done so cast the output to allow compilation. Otherwise
we get:

.../flang/runtime/stop.cpp:165:13: error: non-constant-expression cannot
be narrowed from type 'size_t' (aka 'unsigned long') to 'int' in
initializer list [-Wc++11-narrowing]
  165 |   int nptrs{backtrace(buffer, MAX_CALL_STACK)};
      |             ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~


  Commit: cbff02b101c20ad6557d64c998d03dab5ee4aad7
      https://github.com/llvm/llvm-project/commit/cbff02b101c20ad6557d64c998d03dab5ee4aad7
  Author: hatoo <hato2000 at gmail.com>
  Date:   2025-01-02 (Thu, 02 Jan 2025)

  Changed paths:
    M mlir/include/mlir/Dialect/EmitC/IR/EmitC.td

  Log Message:
  -----------
  [mlir][emitc] Fix invalid syntax in example of emitc.return (#121112)

A return type of `emitc.func` must be specified with `->` instead of
`:`. I've verified the syntax using `mlir-translate --mlir-to-cpp`.


  Commit: 5ed6229019de43df0ff4b3e73097781e0f1a6651
      https://github.com/llvm/llvm-project/commit/5ed6229019de43df0ff4b3e73097781e0f1a6651
  Author: Simon Pilgrim <llvm-dev at redking.me.uk>
  Date:   2025-01-02 (Thu, 02 Jan 2025)

  Changed paths:
    A llvm/test/Transforms/VectorCombine/X86/load-extractelement-scalarization.ll

  Log Message:
  -----------
  [VectorCombine] Add scalarizeLoadExtract infinite loop test from #120984 regression

scalarizeLoadExtract replaces instructions up the use list, which can result in the vectorcombine worklist adding users back to the worklist when they should really be erased first.


  Commit: f739aa4004165dc64d3a1f418d5ad3c84886f01a
      https://github.com/llvm/llvm-project/commit/f739aa4004165dc64d3a1f418d5ad3c84886f01a
  Author: Simon Pilgrim <llvm-dev at redking.me.uk>
  Date:   2025-01-02 (Thu, 02 Jan 2025)

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

  Log Message:
  -----------
  [VectorCombine] replaceValue - add "VC: Replacing" debug message to help the log show replacement for old/new.


  Commit: 1849244685bc42b07b1b14e3f62e15c535e74c39
      https://github.com/llvm/llvm-project/commit/1849244685bc42b07b1b14e3f62e15c535e74c39
  Author: Jay Foad <jay.foad at amd.com>
  Date:   2025-01-02 (Thu, 02 Jan 2025)

  Changed paths:
    M llvm/include/llvm/CodeGen/MachineRegisterInfo.h
    M llvm/lib/CodeGen/MachineRegisterInfo.cpp
    M llvm/lib/CodeGen/MachineTraceMetrics.cpp
    M llvm/lib/CodeGen/SwiftErrorValueTracking.cpp

  Log Message:
  -----------
  [CodeGen] Remove atEnd method from defusechain iterators (#120610)

This was not used much and there are better ways of writing it.


  Commit: 5de7af4b9f05c7a9fb3775f45627b50aba47869b
      https://github.com/llvm/llvm-project/commit/5de7af4b9f05c7a9fb3775f45627b50aba47869b
  Author: Jinsong Ji <jinsong.ji at intel.com>
  Date:   2025-01-02 (Thu, 02 Jan 2025)

  Changed paths:
    M llvm/lib/Support/Windows/Path.inc
    M llvm/unittests/Support/Path.cpp

  Log Message:
  -----------
  [llvm][Support][Windows] Fix slash in path for remove_directories (#121448)

Before 925471ed903dad871042d7ed0bab89ab6566a564 remove_directories
supports path with slash (instead of backslash).
The ILCreateFromPathW in new implementation requires backslash path,
so the call to remove_directories will fail if the path contains slash.

This is to normalize the path to make sure remove_directories still
support path with slash as well.


  Commit: bca92b12588d63556b749b4627af0112cd2d05c6
      https://github.com/llvm/llvm-project/commit/bca92b12588d63556b749b4627af0112cd2d05c6
  Author: Angus Lees <gus at inodes.org>
  Date:   2025-01-02 (Thu, 02 Jan 2025)

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

  Log Message:
  -----------
  [bazel] Allow SupportTests to be built remotely and cached (#121375)

`SupportTests` fails in the bazel macOS sandbox, because
`FileSystemTest.permissions` expects to be able to modify file
permissions on some otherwise protected files.

Previously this test was marked `local` in bazel, which has
additional undesirable effects such as skipping remote build and cache.

Tighten the bazel tags to just `no-sandbox`.  Note in particular, that
this allows the test to build, execute, and cache remotely (if
configured).

Testing:
- Verified this test fails (as expected) on macOS with no tags, and
  passes with `no-sandbox`.
- Verified this test passes when executed remotely (using an Engflow RBE
  setup) with `no-sandbox`.


  Commit: dd30aa83aa12e5b2b5e58cb72ec85070f725df34
      https://github.com/llvm/llvm-project/commit/dd30aa83aa12e5b2b5e58cb72ec85070f725df34
  Author: Philip Reames <preames at rivosinc.com>
  Date:   2025-01-02 (Thu, 02 Jan 2025)

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

  Log Message:
  -----------
  [RISCV][TTI] Simplify compound check for readability [nfc] (#121504)

I misread this check earlier today on a review, so restructure it to be
easier to quickly scan.


  Commit: 035e64c0ec02b237a266ebc672718037fdd53eb2
      https://github.com/llvm/llvm-project/commit/035e64c0ec02b237a266ebc672718037fdd53eb2
  Author: Simon Pilgrim <llvm-dev at redking.me.uk>
  Date:   2025-01-02 (Thu, 02 Jan 2025)

  Changed paths:
    M llvm/lib/Transforms/Vectorize/VectorCombine.cpp
    M llvm/test/Transforms/VectorCombine/X86/concat-boolmasks.ll

  Log Message:
  -----------
  [VectorCombine] eraseInstruction - ensure we reattempt to fold other users of an erased instruction's operands (REAPPLIED)

As we're reducing the use count of the operands its more likely that they will now fold, as they were previously being prevented by a m_OneUse check, or the cost of retaining the extra instruction had been too high.

This is necessary for some upcoming patches, although the only change so far is instruction ordering as it allows some SSE folds of 256/512-bit with 128-bit subvectors to occur earlier in foldShuffleToIdentity as the subvector concats are free.

Reapplied with a fix for foldSingleElementStore/scalarizeLoadExtract which were replacing/removing memory operations - we need to ensure that the worklist is populated in the correct order so all users of the old memory operations are erased first, so there are no remaining users of the loads when its time to remove them as well.

Pulled out of #120984


  Commit: 5236e3dac59e16630a3730c84c2d3d65970a6db3
      https://github.com/llvm/llvm-project/commit/5236e3dac59e16630a3730c84c2d3d65970a6db3
  Author: Dominik Adamski <dominik.adamski at amd.com>
  Date:   2025-01-02 (Thu, 02 Jan 2025)

  Changed paths:
    M flang/lib/Optimizer/Analysis/AliasAnalysis.cpp
    A flang/test/Analysis/AliasAnalysis/alias-analysis-omp-private-allocatable.mlir

  Log Message:
  -----------
  [Flang][Alias analysis] Fix alias analysis for omp private allocatable item (#120243)

Flang alias analysis crashes for omp private allocatable item. The issue
is described here : https://github.com/llvm/llvm-project/issues/116954 .

We know that private value can't alias with anything else unless it is POINTER
or TARGET. That's why we can simplify alias analysis logic.


  Commit: 5f5792aedb1f8088836ccd1c0a924c5e0bbf35db
      https://github.com/llvm/llvm-project/commit/5f5792aedb1f8088836ccd1c0a924c5e0bbf35db
  Author: Florian Hahn <flo at fhahn.com>
  Date:   2025-01-02 (Thu, 02 Jan 2025)

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

  Log Message:
  -----------
  [VPlan] Use removeDeadRecipes in optimizeForVFAndUF (NFCI)

Split off from https://github.com/llvm/llvm-project/pull/108378.


  Commit: 3a423a10ff83684332195b5191b16f12c81985ba
      https://github.com/llvm/llvm-project/commit/3a423a10ff83684332195b5191b16f12c81985ba
  Author: Teresa Johnson <tejohnson at google.com>
  Date:   2025-01-02 (Thu, 02 Jan 2025)

  Changed paths:
    M llvm/include/llvm/IR/Metadata.h
    M llvm/include/llvm/Transforms/Utils/Local.h
    M llvm/lib/Analysis/MemoryProfileInfo.cpp
    M llvm/lib/Transforms/InstCombine/InstCombinePHI.cpp
    M llvm/lib/Transforms/Scalar/MemCpyOptimizer.cpp
    M llvm/lib/Transforms/Utils/Local.cpp
    M llvm/test/Transforms/MemCpyOpt/memcpy.ll
    A llvm/test/Transforms/SimplifyCFG/merge-calls-memprof.ll

  Log Message:
  -----------
  [MemProf][PGO] Prevent dropping of profile metadata during optimization (#121359)

This patch fixes a couple of places where memprof-related metadata
(!memprof and !callsite) were being dropped, and one place where PGO
metadata (!prof) was being dropped.

All were due to instances of combineMetadata() being invoked. That
function drops all metadata not in the list provided by the client, and
also drops any not in its switch statement.

Memprof metadata needed a case in the combineMetadata switch statement.
For now we simply keep the metadata of the instruction being kept, which
doesn't retain all the profile information when two calls with
memprof metadata are being combined, but at least retains some.

For the memprof metadata being dropped during call CSE, add memprof and
callsite metadata to the list of known ids in combineMetadataForCSE.

Neither memprof nor regular prof metadata were in the list of known ids
for the callsite in MemCpyOptimizer, which was added to combine AA
metadata after optimization of byval arguments fed by memcpy
instructions, and similar types of optimizations of memcpy uses.

There is one other callsite of combineMetadata, but it is only invoked
on load instructions, which do not carry these types of metadata.


  Commit: cd19f3f787b01481fd687834457686e16fffdbe6
      https://github.com/llvm/llvm-project/commit/cd19f3f787b01481fd687834457686e16fffdbe6
  Author: Nick Sarnie <nick.sarnie at intel.com>
  Date:   2025-01-02 (Thu, 02 Jan 2025)

  Changed paths:
    M clang/include/clang/Driver/Options.td
    M clang/lib/Driver/CMakeLists.txt
    M clang/lib/Driver/Driver.cpp
    M clang/lib/Driver/ToolChains/CommonArgs.cpp
    M clang/lib/Driver/ToolChains/SPIRV.h
    A clang/lib/Driver/ToolChains/SPIRVOpenMP.cpp
    A clang/lib/Driver/ToolChains/SPIRVOpenMP.h
    M clang/lib/Frontend/CompilerInvocation.cpp
    A clang/test/Driver/Inputs/spirv-openmp/lib/libomptarget-spirv64.bc
    A clang/test/Driver/spirv-openmp-toolchain.c
    M clang/tools/clang-linker-wrapper/ClangLinkerWrapper.cpp

  Log Message:
  -----------
  [Driver][clang-linker-wrapper] Add initial support for OpenMP offloading to generic SPIR-V (#120145)

This is the first of a series of patches to add support for OpenMP
offloading to SPIR-V through liboffload with the first intended target
being Intel GPUs. This patch implements the basic driver and
`clang-linker-wrapper` work for JIT mode. There are still many missing
pieces, so this is not yet usable.

We introduce `spirv64-intel-unknown` as the only currently supported
triple. The user-facing argument to enable offloading will be `-fopenmp
-fopenmp-targets=spirv64-intel`

Add a new `SPIRVOpenMPToolChain` toolchain based on the existing general
SPIR-V toolchain which will call all the required SPIR-V tools (and
eventually the SPIR-V backend) as well as add the corresponding device
RTL as an argument to the linker.

We can't get through the front end consistently yet, so it's difficult
to add any LIT tests that execute any tools, but front end changes are
planned very shortly, and then we can add those tests.

---------

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


  Commit: 4922350407127607a9e78fc6d19f3f6278b1e46b
      https://github.com/llvm/llvm-project/commit/4922350407127607a9e78fc6d19f3f6278b1e46b
  Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
  Date:   2025-01-02 (Thu, 02 Jan 2025)

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

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


  Commit: f03b100e93196ca1ecec20fde3fc48690b3dad7e
      https://github.com/llvm/llvm-project/commit/f03b100e93196ca1ecec20fde3fc48690b3dad7e
  Author: 王宇逸 <Strawberry_Str at hotmail.com>
  Date:   2025-01-03 (Fri, 03 Jan 2025)

  Changed paths:
    M llvm/lib/Target/TargetMachine.cpp
    M llvm/test/CodeGen/X86/mingw-refptr.ll

  Log Message:
  -----------
  [Cygwin] Fix global variable dll import (#121439)

This PR is necessary for cygwin target of Rust.

References:
*
https://github.com/rust-lang/llvm-project/commit/86657cc39f8e42ae73be810fb0703ddac0eeef94
*
https://github.com/Berrysoft/llvm-project/commit/a807e9f077351d3c6a68f4abe74c94a039759a2e


  Commit: f6cb56902c6dcafede21eb6662910b6ff661fc0f
      https://github.com/llvm/llvm-project/commit/f6cb56902c6dcafede21eb6662910b6ff661fc0f
  Author: Michael Kruse <llvm-project at meinersbur.de>
  Date:   2025-01-02 (Thu, 02 Jan 2025)

  Changed paths:
    R llvm/utils/TableGen/ARMTargetDefEmitter.cpp
    R llvm/utils/TableGen/Attributes.cpp
    A llvm/utils/TableGen/Basic/ARMTargetDefEmitter.cpp
    A llvm/utils/TableGen/Basic/Attributes.cpp
    M llvm/utils/TableGen/Basic/CMakeLists.txt
    A llvm/utils/TableGen/Basic/DirectiveEmitter.cpp
    A llvm/utils/TableGen/Basic/IntrinsicEmitter.cpp
    A llvm/utils/TableGen/Basic/RISCVTargetDefEmitter.cpp
    A llvm/utils/TableGen/Basic/TableGen.cpp
    A llvm/utils/TableGen/Basic/TableGen.h
    A llvm/utils/TableGen/Basic/VTEmitter.cpp
    M llvm/utils/TableGen/CMakeLists.txt
    R llvm/utils/TableGen/DirectiveEmitter.cpp
    R llvm/utils/TableGen/IntrinsicEmitter.cpp
    R llvm/utils/TableGen/RISCVTargetDefEmitter.cpp
    R llvm/utils/TableGen/TableGen.cpp
    R llvm/utils/TableGen/VTEmitter.cpp
    A llvm/utils/TableGen/llvm-min-tblgen.cpp
    A llvm/utils/TableGen/llvm-tblgen.cpp

  Log Message:
  -----------
  [llvm-(min-)tblgen] Avoid redundant source compilation (#114494)

All the sources of `llvm-min-tblgen` are also used for `llvm-tblgen`,
with identical compilation flags. Reuse the object files of
`llvm-min-tblgen` for `llvm-tblgen` by applying the usual source
structure of an executable: One file per executable which named after
the executable name containing the (in this case trivial) main function,
which just calls the tblgen_main in TableGen.cpp. This should also clear
up any confusion (including mine) of where each executable's main
function is.

While this slightly reduces build time, the main motivation is ccache.
Using the hard_link
option, building the object files for `llvm-tblgen` will result in a
hard link to the same object file already used for `llvm-min-tblgen`. To
signal the build system that the file is new, ccache will update the
file's time stamp. Unfortunately, time stamps are shared between all
hard-linked files s.t. this will indirectly also update the time stamps
for the object files used for `llvm-tblgen`. At the next run, Ninja will
recognize this time stamp discrepancy to the expected stamp recorded in
`.ninja_log` and rebuild those object files for `llvm-min-tblgen`, which
again will also update the stamp for the `llvm-tblgen`... . This is
especially annoying for tablegen because it means Ninja will re-run all
tablegenning in every build.

I am using the hard_link option because it reduces the cost of having
multiple build-trees of the LLVM sources and reduces the wear to the SSD
they are stored on.


  Commit: 06b6161d3fa9d69a07e9046dbdd2e230b257d948
      https://github.com/llvm/llvm-project/commit/06b6161d3fa9d69a07e9046dbdd2e230b257d948
  Author: Michael Kruse <llvm-project at meinersbur.de>
  Date:   2025-01-02 (Thu, 02 Jan 2025)

  Changed paths:
    A llvm/utils/TableGen/ARMTargetDefEmitter.cpp
    A llvm/utils/TableGen/Attributes.cpp
    R llvm/utils/TableGen/Basic/ARMTargetDefEmitter.cpp
    R llvm/utils/TableGen/Basic/Attributes.cpp
    M llvm/utils/TableGen/Basic/CMakeLists.txt
    R llvm/utils/TableGen/Basic/DirectiveEmitter.cpp
    R llvm/utils/TableGen/Basic/IntrinsicEmitter.cpp
    R llvm/utils/TableGen/Basic/RISCVTargetDefEmitter.cpp
    R llvm/utils/TableGen/Basic/TableGen.cpp
    R llvm/utils/TableGen/Basic/TableGen.h
    R llvm/utils/TableGen/Basic/VTEmitter.cpp
    M llvm/utils/TableGen/CMakeLists.txt
    A llvm/utils/TableGen/DirectiveEmitter.cpp
    A llvm/utils/TableGen/IntrinsicEmitter.cpp
    A llvm/utils/TableGen/RISCVTargetDefEmitter.cpp
    A llvm/utils/TableGen/TableGen.cpp
    A llvm/utils/TableGen/VTEmitter.cpp
    R llvm/utils/TableGen/llvm-min-tblgen.cpp
    R llvm/utils/TableGen/llvm-tblgen.cpp

  Log Message:
  -----------
  Revert "[llvm-(min-)tblgen] Avoid redundant source compilation (#114494)"

This reverts commit f6cb56902c6dcafede21eb6662910b6ff661fc0f.

Buildbot failures such as https://lab.llvm.org/buildbot/#/builders/89/builds/13541:
```
/usr/bin/ld: utils/TableGen/Basic/CMakeFiles/obj.LLVMTableGenBasic.dir/ARMTargetDefEmitter.cpp.o: undefined reference to symbol '_ZN4llvm23EnableABIBreakingChecksE'
/usr/bin/ld: /home/tcwg-buildbot/worker/flang-aarch64-libcxx/build/./lib/libLLVMSupport.so.20.0git: error adding symbols: DSO missing from command line
```

Going to investigate.


  Commit: 4b577830033066cfd1b2acf4fcf39950678b27bd
      https://github.com/llvm/llvm-project/commit/4b577830033066cfd1b2acf4fcf39950678b27bd
  Author: David CARLIER <devnexen at gmail.com>
  Date:   2025-01-02 (Thu, 02 Jan 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] fopencookie support. (#120864)


  Commit: c703b4645c79e889fd6a0f3f64f01f957d981aa4
      https://github.com/llvm/llvm-project/commit/c703b4645c79e889fd6a0f3f64f01f957d981aa4
  Author: Jacques Pienaar <jpienaar at google.com>
  Date:   2025-01-02 (Thu, 02 Jan 2025)

  Changed paths:
    M mlir/python/mlir/_mlir_libs/__init__.py
    M mlir/python/mlir/ir.py
    M mlir/test/python/ir/dialects.py

  Log Message:
  -----------
  [mlir][py] Enable loading only specified dialects during creation. (#121421)

Gives option post as global list as well as arg to control which
dialects are loaded during context creation. This enables setting either
a good base set or skipping in individual cases.


  Commit: 976f3a078bbac1889aa9e68e297f73f111a896d6
      https://github.com/llvm/llvm-project/commit/976f3a078bbac1889aa9e68e297f73f111a896d6
  Author: Craig Topper <craig.topper at sifive.com>
  Date:   2025-01-02 (Thu, 02 Jan 2025)

  Changed paths:
    M llvm/Maintainers.md

  Log Message:
  -----------
  [LLVM] Update RISCV maintainers (#121301)

Add Philip Reames and myself as maintainers. I think between the two of
us we do a lot of the patch reviews.


  Commit: 2291d0aba927b885cf39150e59fde466a2524bb5
      https://github.com/llvm/llvm-project/commit/2291d0aba927b885cf39150e59fde466a2524bb5
  Author: Min-Yih Hsu <min.hsu at sifive.com>
  Date:   2025-01-02 (Thu, 02 Jan 2025)

  Changed paths:
    M llvm/include/llvm/CodeGen/ISDOpcodes.h
    M llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
    M llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp
    M llvm/test/CodeGen/RISCV/neg-abs.ll
    A llvm/test/CodeGen/RISCV/rvv/fixed-neg-abs.ll

  Log Message:
  -----------
  [DAGCombiner] Turn `(neg (max x, (neg x)))` into `(min x, (neg x))` (#120666)

This pattern was originally spotted in 429.mcf by @topperc.

We already have a DAGCombiner pattern to turn `(neg (abs x))` into `(min
x, (neg x))`. But in some cases `(neg (max x, (neg x)))` is formed by an
expanded `abs` followed by a `neg` that is generated only after the
`abs` expansion. This patch adds a separate pattern to match cases like
this, as well as its inverse pattern: `(neg (min X, (neg X))) --> (max
X, (neg X))`.

This pattern is applicable to both signed and unsigned min/max.


  Commit: 3cac26f5419b68d37e1919001e1c46a765df294f
      https://github.com/llvm/llvm-project/commit/3cac26f5419b68d37e1919001e1c46a765df294f
  Author: Min-Yih Hsu <min.hsu at sifive.com>
  Date:   2025-01-02 (Thu, 02 Jan 2025)

  Changed paths:
    M llvm/include/llvm/CodeGen/GlobalISel/CombinerHelper.h
    M llvm/include/llvm/CodeGen/GlobalISel/Utils.h
    M llvm/include/llvm/Target/GlobalISel/Combine.td
    M llvm/lib/CodeGen/GlobalISel/CombinerHelper.cpp
    M llvm/lib/CodeGen/GlobalISel/Utils.cpp
    M llvm/lib/Target/RISCV/RISCVCombine.td
    A llvm/test/CodeGen/RISCV/GlobalISel/combine-neg-abs.ll

  Log Message:
  -----------
  [GISel] Combine `(neg (min/max x, (neg x)))` into `(max/min x, (neg x))` (#120998)

This is the GISel version of #120666. Also supports both unsigned and
signed version of min & max.


  Commit: 4010e0c45b87e4d073c407cae787e96d4808ad36
      https://github.com/llvm/llvm-project/commit/4010e0c45b87e4d073c407cae787e96d4808ad36
  Author: Roland McGrath <mcgrathr at google.com>
  Date:   2025-01-02 (Thu, 02 Jan 2025)

  Changed paths:
    M libc/include/__llvm-libc-common.h

  Log Message:
  -----------
  [libc] Use __attribute__((__noreturn__)) for _Noreturn in C < 11 (#121252)

When in modes like C99, the _Noreturn keyword is not available in
C.  But GNU-compatible compilers have a `noreturn` attribute with
the same effect on function declarations.


  Commit: 4b17a8b10ebb69d3bd30ee7714b5ca24f7e944dc
      https://github.com/llvm/llvm-project/commit/4b17a8b10ebb69d3bd30ee7714b5ca24f7e944dc
  Author: Valentin Clement (バレンタイン クレメン) <clementval at gmail.com>
  Date:   2025-01-02 (Thu, 02 Jan 2025)

  Changed paths:
    A flang/include/flang/Optimizer/Builder/CUFCommon.h
    M flang/include/flang/Optimizer/Dialect/CUF/CUFOps.td
    R flang/include/flang/Optimizer/Transforms/CUFCommon.h
    M flang/lib/Lower/Allocatable.cpp
    M flang/lib/Optimizer/Builder/CMakeLists.txt
    A flang/lib/Optimizer/Builder/CUFCommon.cpp
    M flang/lib/Optimizer/Transforms/CMakeLists.txt
    M flang/lib/Optimizer/Transforms/CUFAddConstructor.cpp
    R flang/lib/Optimizer/Transforms/CUFCommon.cpp
    M flang/lib/Optimizer/Transforms/CUFDeviceGlobal.cpp
    M flang/lib/Optimizer/Transforms/CUFOpConversion.cpp
    M flang/lib/Optimizer/Transforms/SimplifyIntrinsics.cpp
    A flang/test/Lower/CUDA/cuda-pointer-sync.cuf

  Log Message:
  -----------
  [flang][cuda] Add operation to sync global descriptor (#121520)

Introduce cuf.sync_descriptor to be used to sync device global
descriptor after pointer association.

Also move CUFCommon so it can be used in FIRBuilder lib as well.


  Commit: 6dcd2b035da34fa53693b401139a419adb7342db
      https://github.com/llvm/llvm-project/commit/6dcd2b035da34fa53693b401139a419adb7342db
  Author: Valentin Clement (バレンタイン クレメン) <clementval at gmail.com>
  Date:   2025-01-02 (Thu, 02 Jan 2025)

  Changed paths:
    M flang/include/flang/Runtime/CUDA/descriptor.h
    M flang/lib/Optimizer/Transforms/CUFOpConversion.cpp
    M flang/runtime/CUDA/descriptor.cpp
    A flang/test/Fir/CUDA/cuda-sync-desc.mlir

  Log Message:
  -----------
  [flang][cuda] Convert cuf.sync_descriptor to runtime call (#121524)

Convert the op to a new entry point in the runtime
`CUFSyncGlobalDescriptor`


  Commit: 532a2691bc015fafdd356c10b17c466fe28c49b1
      https://github.com/llvm/llvm-project/commit/532a2691bc015fafdd356c10b17c466fe28c49b1
  Author: Sudharsan Veeravalli <quic_svs at quicinc.com>
  Date:   2025-01-03 (Fri, 03 Jan 2025)

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

  Log Message:
  -----------
  [RISCV] Add Qualcomm uC Xqcicli (Conditional Load Immediate) extension (#121292)

This extension adds 12 instructions that conditionally load an immediate
value.

The current spec can be found at:
https://github.com/quic/riscv-unified-db/releases/latest

This patch adds assembler only support.


  Commit: 8e404509cc130d95f09f255649a87446ca81b187
      https://github.com/llvm/llvm-project/commit/8e404509cc130d95f09f255649a87446ca81b187
  Author: ZhaoQi <zhaoqi01 at loongson.cn>
  Date:   2025-01-03 (Fri, 03 Jan 2025)

  Changed paths:
    A llvm/test/ExecutionEngine/JITLink/RISCV/ELF_reloc_add.s
    R llvm/test/ExecutionEngine/JITLink/RISCV/riscv_reloc_add.s

  Log Message:
  -----------
  [JITLink][RISCV] Add feature relax for addsub tests. NFC (#121204)

R_RISCV_{ADD*/SUB*} relocations are kept only when feature relax
enabled. So it is better to add relax to the test, so that relocs can be
reserved for processing by the jitlink. That's what this test really
wants to test.


  Commit: 3792b36234b6c87d728f0a905543e284bf961460
      https://github.com/llvm/llvm-project/commit/3792b36234b6c87d728f0a905543e284bf961460
  Author: Fangrui Song <i at maskray.me>
  Date:   2025-01-02 (Thu, 02 Jan 2025)

  Changed paths:
    M lld/wasm/Config.h
    M lld/wasm/Driver.cpp
    M lld/wasm/InputChunks.cpp
    M lld/wasm/InputChunks.h
    M lld/wasm/InputElement.h
    M lld/wasm/InputFiles.cpp
    M lld/wasm/InputFiles.h
    M lld/wasm/LTO.cpp
    M lld/wasm/MapFile.cpp
    M lld/wasm/MarkLive.cpp
    M lld/wasm/OutputSections.cpp
    M lld/wasm/Relocations.cpp
    M lld/wasm/SymbolTable.cpp
    M lld/wasm/Symbols.cpp
    M lld/wasm/Symbols.h
    M lld/wasm/SyntheticSections.cpp
    M lld/wasm/SyntheticSections.h
    M lld/wasm/Writer.cpp

  Log Message:
  -----------
  [lld][WebAssembly] Replace config-> with ctx.arg.

Change the global variable reference to a member access of another
variable `ctx`. In the future, we may pass through `ctx` to functions to
eliminate global variables.

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


  Commit: 7531672712b0fb517f1818d512fbdfa6feed4232
      https://github.com/llvm/llvm-project/commit/7531672712b0fb517f1818d512fbdfa6feed4232
  Author: Valentin Clement (バレンタイン クレメン) <clementval at gmail.com>
  Date:   2025-01-02 (Thu, 02 Jan 2025)

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

  Log Message:
  -----------
  [flang][cuda][NFC] Remove unused variable (#121533)

Failed buildbot after https://github.com/llvm/llvm-project/pull/121524


  Commit: c1ecc0d168ad122d858dd5fec475da391f97e959
      https://github.com/llvm/llvm-project/commit/c1ecc0d168ad122d858dd5fec475da391f97e959
  Author: Alejandro Álvarez Ayllón <alejandro.alvarez at sonarsource.com>
  Date:   2025-01-03 (Fri, 03 Jan 2025)

  Changed paths:
    M clang/include/clang/Serialization/ASTWriter.h
    M clang/lib/Frontend/FrontendActions.cpp
    M clang/lib/Serialization/GeneratePCH.cpp
    A clang/test/Modules/pcm-with-errors.cpp

  Log Message:
  -----------
  [clang] Allow generating module interfaces with parsing errors (#121485)

Fixes a regression introduced in commit
da00c60dae0040185dc45039c4397f6e746548e9

This functionality was originally added in commit
5834996fefc937d6211dc8c8a5b200068753391a

Co-authored-by: Tomasz Kaminski <tomasz.kaminski at sonarsource.com>


  Commit: e8cf41311fe6940e096d3c9e8a43338b47cb8b2a
      https://github.com/llvm/llvm-project/commit/e8cf41311fe6940e096d3c9e8a43338b47cb8b2a
  Author: gulfemsavrun <gulfem at google.com>
  Date:   2025-01-02 (Thu, 02 Jan 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:
  -----------
  Revert "[compiler-rt][rtsan] fopencookie support." (#121537)

Reverts llvm/llvm-project#120864 because it broke building compiler-rt
on Mac.

https://luci-milo.appspot.com/ui/p/fuchsia/builders/toolchain.ci/clang-mac-arm64/b8726812736235038609/overview


  Commit: 510a5c7fc25b2a3c33679480131cd60049747dd1
      https://github.com/llvm/llvm-project/commit/510a5c7fc25b2a3c33679480131cd60049747dd1
  Author: Fangrui Song <i at maskray.me>
  Date:   2025-01-02 (Thu, 02 Jan 2025)

  Changed paths:
    M lld/ELF/SyntheticSections.cpp
    M lld/test/ELF/linkerscript/discard-section-dynsym.s

  Log Message:
  -----------
  [ELF] Fix .gnu.version crash when .dynsym is discarded

Fix #88650

In addition, delete the unneeded comment.
https://sourceware.org/gnu-gabi/program-loading-and-dynamic-linking.txt


  Commit: 9df375e5eae726c5a90ada70f9535a5e22e90214
      https://github.com/llvm/llvm-project/commit/9df375e5eae726c5a90ada70f9535a5e22e90214
  Author: YAMAMOTO Takashi <yamamoto at midokura.com>
  Date:   2025-01-02 (Thu, 02 Jan 2025)

  Changed paths:
    A lld/test/wasm/dylink-non-pie.s
    M lld/wasm/Relocations.cpp

  Log Message:
  -----------
  [lld][WebAssembly] Fix non-pie dynamic-linking executable (#108146)

The commit 22b7b84860d39da71964c9b329937f2ee1d875ba
made the symbols provided by shared libraries "defined",
and thus effectively made it impossible to generate non-pie
dynamically linked executables using
--unresolved-symbols=import-dynamic.

This commit, based on https://github.com/llvm/llvm-project/pull/109249,
fixes it by checking sym->isShared() explictly.
(as a bonus, you don't need to rely on
--unresolved-symbols=import-dynamic
anymore.)

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


  Commit: e4372c4454c963c9f52dbf2a10229797f3f1e6fc
      https://github.com/llvm/llvm-project/commit/e4372c4454c963c9f52dbf2a10229797f3f1e6fc
  Author: ZhaoQi <zhaoqi01 at loongson.cn>
  Date:   2025-01-03 (Fri, 03 Jan 2025)

  Changed paths:
    M llvm/test/CodeGen/LoongArch/psabi-restricted-scheduling.ll

  Log Message:
  -----------
  [LoongArch] Pre-commit tests for tls-desc scheduling. NFC (#121538)

Code sequence for tls-desc in large code model is not expected to be
scheduled according to psABI 2.30.

A later commit will fix it.


  Commit: 56e944bede9654127cc210506a6cccdd43cd96e7
      https://github.com/llvm/llvm-project/commit/56e944bede9654127cc210506a6cccdd43cd96e7
  Author: Alex MacLean <amaclean at nvidia.com>
  Date:   2025-01-02 (Thu, 02 Jan 2025)

  Changed paths:
    M llvm/lib/IR/SafepointIRVerifier.cpp
    M llvm/lib/Transforms/AggressiveInstCombine/AggressiveInstCombine.cpp

  Log Message:
  -----------
  [NFC] add anonymous namespace to a couple classes (#121511)

This ensures these classes are visible only to the appropriate
translation unit and allows for more optimizations.


  Commit: b6c06d1a8d9b359e7319312a2a7654f0e7c6690c
      https://github.com/llvm/llvm-project/commit/b6c06d1a8d9b359e7319312a2a7654f0e7c6690c
  Author: Lang Hames <lhames at gmail.com>
  Date:   2025-01-03 (Fri, 03 Jan 2025)

  Changed paths:
    M llvm/lib/ExecutionEngine/Orc/Debugging/DebuggerSupportPlugin.cpp
    A llvm/test/ExecutionEngine/JITLink/x86-64/MachO-check-dwarf-filename.s

  Log Message:
  -----------
  [ORC] Fix bug in source file name finding in DebuggerSupportPlugin.

The debug section map was using MachO section names (with the "__" prefix), but
DWARFContext expects section names with the object format prefix stripped off.
This was preventing DWARFContext from accessing the debug_str section,
resulting in bogus source name strings.


  Commit: 1c997feff16860ab6b21c5c03dc7ca65f300967f
      https://github.com/llvm/llvm-project/commit/1c997feff16860ab6b21c5c03dc7ca65f300967f
  Author: dmasloff <74042473+dmasloff at users.noreply.github.com>
  Date:   2025-01-02 (Thu, 02 Jan 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/UnwrappedLineFormatter.cpp
    M clang/unittests/Format/ConfigParseTest.cpp
    M clang/unittests/Format/FormatTest.cpp

  Log Message:
  -----------
  [clang-format] Add option WrapNamespaceBodyWithNewlines (#106145)

It wraps the body of namespace with additional newlines, turning this code:
```
namespace N {
int function();
}
```
into the following:
```
namespace N {

int function();

}
```

---------

Co-authored-by: Owen Pan <owenpiano at gmail.com>


  Commit: 72db3f989e499c8c5d585d3624cd563600cd2396
      https://github.com/llvm/llvm-project/commit/72db3f989e499c8c5d585d3624cd563600cd2396
  Author: Pengcheng Wang <wangpengcheng.pp at bytedance.com>
  Date:   2025-01-03 (Fri, 03 Jan 2025)

  Changed paths:
    M llvm/lib/Target/RISCV/RISCVTargetTransformInfo.cpp
    M llvm/test/CodeGen/RISCV/memcmp-optsize.ll
    M llvm/test/CodeGen/RISCV/memcmp.ll

  Log Message:
  -----------
  [RISCV] Allow tail memcmp expansion (#121460)

This optimization was introduced by #70469.

Like AArch64, we allow tail expansions for 3 on RV32 and 3/5/6
on RV64.

This can simplify the comparison and reduce the number of blocks.


  Commit: 93a68a5188b6aa940f51d8ce0317299409f828ae
      https://github.com/llvm/llvm-project/commit/93a68a5188b6aa940f51d8ce0317299409f828ae
  Author: Lang Hames <lhames at gmail.com>
  Date:   2025-01-03 (Fri, 03 Jan 2025)

  Changed paths:
    M llvm/test/ExecutionEngine/JITLink/x86-64/MachO-check-dwarf-filename.s

  Log Message:
  -----------
  [ORC] Testcase requires asserts as it depends on debugging output.


  Commit: febe1a9d286df495ca342011b3134823eee37557
      https://github.com/llvm/llvm-project/commit/febe1a9d286df495ca342011b3134823eee37557
  Author: Lang Hames <lhames at gmail.com>
  Date:   2025-01-03 (Fri, 03 Jan 2025)

  Changed paths:
    M llvm/include/llvm/ExecutionEngine/Orc/MachOBuilder.h

  Log Message:
  -----------
  [ORC] Use structured binding to improve readability. NFC.


  Commit: 30b73ed7bd8934c32e4bd5430bccf52a226deabd
      https://github.com/llvm/llvm-project/commit/30b73ed7bd8934c32e4bd5430bccf52a226deabd
  Author: Lang Hames <lhames at gmail.com>
  Date:   2025-01-03 (Fri, 03 Jan 2025)

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

  Log Message:
  -----------
  [ORC][MachO] Avoid another race condition in MachOPlatform bootstrap.

Similar to a9e75b1d4d1: During MachOPlatform bootstrap we need to defer actions
until essential platform functionality has been loaded, but the platform itself
may be loaded under a concurrent dispatcher so we have to guard against the
deferred actions vector being accessed concurrently.

This fixes a probablistic failure in the ORC runtime regression tests on
Darwin/x86-64 that was spotted after edca1d9bad2 (which turned on concurrent
linking by default in llvm-jitlink).


  Commit: 82fecab85ae2d72ffac0e44749d99f12d6f71cc0
      https://github.com/llvm/llvm-project/commit/82fecab85ae2d72ffac0e44749d99f12d6f71cc0
  Author: Fangrui Song <i at maskray.me>
  Date:   2025-01-02 (Thu, 02 Jan 2025)

  Changed paths:
    M clang/include/clang/Basic/CodeGenOptions.h
    M clang/lib/Basic/CodeGenOptions.cpp
    M clang/lib/Frontend/CompilerInvocation.cpp
    M clang/test/CodeGen/code-coverage.c
    M compiler-rt/test/profile/Inputs/instrprof-gcov-exceptions.cpp.gcov
    M compiler-rt/test/profile/Inputs/instrprof-gcov-multiple-bbs-single-line.c.gcov
    M compiler-rt/test/profile/Inputs/instrprof-gcov-one-line-function.c.gcov
    M compiler-rt/test/profile/Inputs/instrprof-gcov-switch1.c.gcov
    M compiler-rt/test/profile/Inputs/instrprof-gcov-switch2.c.gcov
    M compiler-rt/test/profile/Inputs/instrprof-shared-lib_in-loop.c.gcov
    M compiler-rt/test/profile/Inputs/instrprof-shared-main.c.gcov
    M compiler-rt/test/profile/gcov-__gcov_flush-terminate.c
    M llvm/lib/Transforms/Instrumentation/GCOVProfiling.cpp
    M llvm/test/Transforms/GCOVProfiling/exit-block.ll
    M llvm/test/Transforms/GCOVProfiling/version.ll

  Log Message:
  -----------
  [gcov] Bump default version to 11.1

The gcov version is set to 11.1 (compatible with gcov 9) even if
`-Xclang -coverage-version=` specified version is less than 11.1.

Therefore, we can drop producer support for version < 11.1.


  Commit: 3ef78188d0d39cd00429f77f1b300be9bdf85770
      https://github.com/llvm/llvm-project/commit/3ef78188d0d39cd00429f77f1b300be9bdf85770
  Author: Pengcheng Wang <wangpengcheng.pp at bytedance.com>
  Date:   2025-01-03 (Fri, 03 Jan 2025)

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

  Log Message:
  -----------
  [PowerPC] Use `RegisterClassInfo::getRegPressureSetLimit` (#120383)

`RegisterClassInfo::getRegPressureSetLimit` is a wrapper of
`TargetRegisterInfo::getRegPressureSetLimit` with some logics to
adjust the limit by removing reserved registers.

It seems that we shouldn't use
`TargetRegisterInfo::getRegPressureSetLimit`
directly, just like the comment "This limit must be adjusted
dynamically for reserved registers" said.

Separate from https://github.com/llvm/llvm-project/pull/118787


  Commit: 27f30029741ecf023baece7b3dde1ff9011ffefc
      https://github.com/llvm/llvm-project/commit/27f30029741ecf023baece7b3dde1ff9011ffefc
  Author: Michael Kruse <llvm-project at meinersbur.de>
  Date:   2025-01-03 (Fri, 03 Jan 2025)

  Changed paths:
    R llvm/utils/TableGen/ARMTargetDefEmitter.cpp
    R llvm/utils/TableGen/Attributes.cpp
    A llvm/utils/TableGen/Basic/ARMTargetDefEmitter.cpp
    A llvm/utils/TableGen/Basic/Attributes.cpp
    M llvm/utils/TableGen/Basic/CMakeLists.txt
    A llvm/utils/TableGen/Basic/DirectiveEmitter.cpp
    A llvm/utils/TableGen/Basic/IntrinsicEmitter.cpp
    A llvm/utils/TableGen/Basic/RISCVTargetDefEmitter.cpp
    A llvm/utils/TableGen/Basic/TableGen.cpp
    A llvm/utils/TableGen/Basic/TableGen.h
    A llvm/utils/TableGen/Basic/VTEmitter.cpp
    M llvm/utils/TableGen/CMakeLists.txt
    R llvm/utils/TableGen/DirectiveEmitter.cpp
    R llvm/utils/TableGen/IntrinsicEmitter.cpp
    R llvm/utils/TableGen/RISCVTargetDefEmitter.cpp
    R llvm/utils/TableGen/TableGen.cpp
    R llvm/utils/TableGen/VTEmitter.cpp
    A llvm/utils/TableGen/llvm-min-tblgen.cpp
    A llvm/utils/TableGen/llvm-tblgen.cpp

  Log Message:
  -----------
  [llvm-(min-)tblgen] Avoid redundant source compilation (#114494)

All the sources of `llvm-min-tblgen` are also used for `llvm-tblgen`,
with identical compilation flags. Reuse the object files of
`llvm-min-tblgen` for `llvm-tblgen` by applying the usual source
structure of an executable: One file per executable which named after
the executable name containing the (in this case trivial) main function,
which just calls the tblgen_main in TableGen.cpp. This should also clear
up any confusion (including mine) of where each executable's main
function is.

While this slightly reduces build time, the main motivation is ccache.
Using the hard_link
option, building the object files for `llvm-tblgen` will result in a
hard link to the same object file already used for `llvm-min-tblgen`. To
signal the build system that the file is new, ccache will update the
file's time stamp. Unfortunately, time stamps are shared between all
hard-linked files s.t. this will indirectly also update the time stamps
for the object files used for `llvm-tblgen`. At the next run, Ninja will
recognize this time stamp discrepancy to the expected stamp recorded in
`.ninja_log` and rebuild those object files for `llvm-min-tblgen`, which
again will also update the stamp for the `llvm-tblgen`... . This is
especially annoying for tablegen because it means Ninja will re-run all
tablegenning in every build.

I am using the hard_link option because it reduces the cost of having
multiple build-trees of the LLVM sources and reduces the wear to the SSD
they are stored on.


  Commit: 67ff11ea5b2d2d51fa634361dd88c6dc9429706a
      https://github.com/llvm/llvm-project/commit/67ff11ea5b2d2d51fa634361dd88c6dc9429706a
  Author: ZhaoQi <zhaoqi01 at loongson.cn>
  Date:   2025-01-03 (Fri, 03 Jan 2025)

  Changed paths:
    M llvm/lib/Target/LoongArch/LoongArchInstrInfo.cpp
    M llvm/test/CodeGen/LoongArch/psabi-restricted-scheduling.ll

  Log Message:
  -----------
  [LoongArch] Avoid scheduling tls-desc code sequence in large code model (#121541)


  Commit: 8b23ebb498bc67f03571b1d429771b28868b8932
      https://github.com/llvm/llvm-project/commit/8b23ebb498bc67f03571b1d429771b28868b8932
  Author: Brox Chen <guochen2 at amd.com>
  Date:   2025-01-03 (Fri, 03 Jan 2025)

  Changed paths:
    M llvm/lib/Target/AMDGPU/VOP3Instructions.td
    M llvm/test/CodeGen/AMDGPU/fmax3.ll
    M llvm/test/CodeGen/AMDGPU/fmin3.ll
    M llvm/test/MC/AMDGPU/gfx12_asm_vop3.s
    M llvm/test/MC/AMDGPU/gfx12_asm_vop3_aliases.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/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] true16 for v_max3/min3_num_f16 (#121510)

V_MAX3/MIN3_NUM_F16 are alias GFX12 instructions with V_MAX3/MIN3_F16 in
GFX11 and they should be updated together.

This fix a bug introduced in
https://github.com/llvm/llvm-project/pull/113603 such that only
V_MAX3/MIN3_F16 are replaced in true16 format. Also added GFX12 runlines
for CodeGen test


  Commit: 9f6a1ddb43133328c90edfa29ccd4c714b289cb6
      https://github.com/llvm/llvm-project/commit/9f6a1ddb43133328c90edfa29ccd4c714b289cb6
  Author: Andrzej Warzyński <andrzej.warzynski at arm.com>
  Date:   2025-01-03 (Fri, 03 Jan 2025)

  Changed paths:
    M mlir/lib/Dialect/Tensor/IR/TensorOps.cpp
    M mlir/test/Dialect/Tensor/canonicalize.mlir
    M mlir/test/Dialect/Tensor/invalid.mlir

  Log Message:
  -----------
  [mlir][tensor] Introduce `FoldTensorCastUnPackOp` (#121393)

This patch specializes `FoldTensorCastProducerOp` for `tensor::UnPackOp` by
introducing a dedicated pattern: `FoldTensorCastUnPackOp`. This mirrors a
similar update made for `tensor::PackOp` in #114559. Below is the updated
rationale tailored to `tensor::UnPackOp`.

ISSUE DESCRIPTION

Currently, `FoldTensorCastProducerOp` incorrectly folds the following:

```mlir
%cast = tensor.cast %dest : tensor<1x1x8x1xi32> to tensor<1x1x?x1xi32>
// Note: `%c8` and `?`.
%unpack = tensor.unpack %cast
  inner_dims_pos = [0, 1]
  inner_tiles = [%c8, 1]
  into %res : tensor<1x1x?x1xi32> -> tensor<7x?xi32>
```
as:

```mlir
// Note: `%c8` and `8`.
%unpack = tensor.unpack %cast
  inner_dims_pos = [0, 1]
  inner_tiles = [%c8, 1]
  into %res : tensor<1x1x8x1xi32> -> tensor<7x?xi32>
```
This triggers an Op verification failure because the folder does not
update the inner tile sizes in the unpack Op. This patch addresses the
issue by ensuring proper handling of inner tile sizes.

ADDITIONAL CHANGES

* invalid.mlir: Fixed a typo.
* TensorOps.cpp:
  * Removed unnecessary `(void)tileSize`.
  * Added comments following the discussion in PR #115772.
  * Made minor updates to `FoldTensorCastPackOp` for consistency with the newly
    introduced `FoldTensorCastUnPackOp`.
* Tensor/canonicalize.mlir: Ensured consistent usage of `test_attr` (e.g.,
  replaced mixed use of `test_attr` and `some_attr`).


  Commit: 258256821753504836f797e38d83a8e88daa424d
      https://github.com/llvm/llvm-project/commit/258256821753504836f797e38d83a8e88daa424d
  Author: Andrzej Warzyński <andrzej.warzynski at arm.com>
  Date:   2025-01-03 (Fri, 03 Jan 2025)

  Changed paths:
    M mlir/lib/Dialect/Linalg/Transforms/Transforms.cpp
    M mlir/test/Dialect/Linalg/decompose-tensor-unpack-tile.mlir
    M mlir/test/Dialect/Linalg/decompose-tensor-unpack.mlir
    A mlir/test/Dialect/Linalg/td/decompose-unpack.mlir

  Log Message:
  -----------
  [mlir] Add missing patterns to `linalg.decompose_pack_unpack` TD Op (#121400)

This PR is a follow-up to #116373 and #116439, where a Transform Dialect
(TD) operation was introduced to collect patterns for decomposing
tensor.pack. The second patch renamed the patterns and the TD Op.
Originally, adding patterns for `tensor.unpack` was marked as a TODO,
which this PR addresses.

No new tests are introduced in this PR. Instead, existing tests from:

* "decompose-tensor-unpack.mlir"

are reused. To achieve this:

* The test is updated to use the TD operation
  `transform.apply_patterns.linalg.decompose_pack_unpack` instead of the
  flag `--test-linalg-transform-patterns="test-decompose-tensor-unpack"`,
  avoiding artificial tests created solely for the TD Op.
* The TD sequence is saved to a new file, "decompose_unpack.mlir", and
  preloaded using the option.


  Commit: 2fae5bdea7c2016d4086aa7ecf3c5d0592ce95c8
      https://github.com/llvm/llvm-project/commit/2fae5bdea7c2016d4086aa7ecf3c5d0592ce95c8
  Author: Shao-Ce SUN <sunshaoce at outlook.com>
  Date:   2025-01-03 (Fri, 03 Jan 2025)

  Changed paths:
    M clang/test/Driver/print-supported-extensions-riscv.c
    M clang/test/Preprocessor/riscv-target-features.c
    M llvm/docs/RISCVUsage.rst
    M llvm/docs/ReleaseNotes.md
    M llvm/lib/Target/RISCV/RISCVFeatures.td
    M llvm/lib/Target/RISCV/RISCVSystemOperands.td
    M llvm/test/CodeGen/RISCV/attributes.ll
    M llvm/test/CodeGen/RISCV/features-info.ll
    M llvm/test/MC/RISCV/attribute-arch.s
    M llvm/test/MC/RISCV/machine-csr-names.s
    M llvm/unittests/TargetParser/RISCVISAInfoTest.cpp

  Log Message:
  -----------
  [RISCV] Add support of Sdext,Sdtrig extentions (#120936)

`Sdext` and `Sdtrig` are RISC-V extensions related to debugging.

The full specification can be found at

https://github.com/riscv/riscv-debug-spec/releases/download/1.0.0-rc4/riscv-debug-specification.pdf


  Commit: e4e47cef55886036651ff7f0dfd8475d3a158a4c
      https://github.com/llvm/llvm-project/commit/e4e47cef55886036651ff7f0dfd8475d3a158a4c
  Author: Haojian Wu <hokein.wu at gmail.com>
  Date:   2025-01-03 (Fri, 03 Jan 2025)

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

  Log Message:
  -----------
  [bazel] Fix the broken llvm-tblgen build for 27f30029741ecf023baece7b3dde1ff9011ffefc


  Commit: 366e836051adf5eb352b00828541197729e061e6
      https://github.com/llvm/llvm-project/commit/366e836051adf5eb352b00828541197729e061e6
  Author: ShihPo Hung <shihpo.hung at sifive.com>
  Date:   2025-01-03 (Fri, 03 Jan 2025)

  Changed paths:
    M llvm/test/Analysis/CostModel/RISCV/rvv-cmp.ll
    A llvm/test/Analysis/CostModel/RISCV/rvv-fcmp-f16.ll

  Log Message:
  -----------
  [RISCV][NFC] precommit test for fcmp with f16


  Commit: ad192f9f20ad48188b80855c085a0ad7266e0056
      https://github.com/llvm/llvm-project/commit/ad192f9f20ad48188b80855c085a0ad7266e0056
  Author: Lang Hames <lhames at gmail.com>
  Date:   2025-01-03 (Fri, 03 Jan 2025)

  Changed paths:
    M llvm/test/ExecutionEngine/JITLink/x86-64/MachO-check-dwarf-filename.s

  Log Message:
  -----------
  [ORC] Restrict check-dwarf-filename test to Darwin for now.

This test is failing on Windows (see e.g.
https://lab.llvm.org/buildbot/#/builders/146/builds/1983), probably due to
incomplete debugger support there (the test registers debug info in-process, so
non-Darwin builds shouldn't be expected to have the right symbols).


  Commit: cdad18319425a7bf93cc25b276a7961fe5b1168b
      https://github.com/llvm/llvm-project/commit/cdad18319425a7bf93cc25b276a7961fe5b1168b
  Author: Mariya Podchishchaeva <mariya.podchishchaeva at intel.com>
  Date:   2025-01-03 (Fri, 03 Jan 2025)

  Changed paths:
    M clang/lib/Sema/SemaInit.cpp
    M clang/test/Analysis/embed.c

  Log Message:
  -----------
  [clang] Fix #embed "fast path" (#121479)

When a single #embed directive is used to initialize a char array, the
case is optimized via swap of EmbedExpr to underlying StringLiteral,
resulting in better performance in AST consumers.
While browsing through the code, I realized that
7122b70cfc8e23a069410215c363da76d842bda4
which changed type of EmbedExpr made the "fast path" unreachable. This
patch fixes this unfortunate situation.


  Commit: e3ec5a728674fd775bb85a7d159acdb4fa1d69c2
      https://github.com/llvm/llvm-project/commit/e3ec5a728674fd775bb85a7d159acdb4fa1d69c2
  Author: Simon Pilgrim <llvm-dev at redking.me.uk>
  Date:   2025-01-03 (Fri, 03 Jan 2025)

  Changed paths:
    M llvm/lib/Transforms/Vectorize/VectorCombine.cpp
    M llvm/test/Transforms/PhaseOrdering/X86/hadd.ll
    M llvm/test/Transforms/PhaseOrdering/X86/pr50392.ll
    M llvm/test/Transforms/VectorCombine/X86/extract-binop-inseltpoison.ll

  Log Message:
  -----------
  [VectorCombine] foldShuffleOfBinops - fold shuffle(binop(shuffle(x),shuffle(z)),binop(shuffle(y),shuffle(w)) -> binop(shuffle(x,z),shuffle(y,w)) (#120984)

Some patterns (in particular horizontal style patterns) can end up with shuffles straddling both sides of a binop/cmp.

Where individually the folds aren't worth it, by merging the (oneuse) shuffles we can notably reduce the net instruction count and cost.

One of the final steps towards finally addressing #34072


  Commit: d3eb65f15dfda454424125b2fa675378bd350889
      https://github.com/llvm/llvm-project/commit/d3eb65f15dfda454424125b2fa675378bd350889
  Author: Kaviya Rajendiran <67495422+kaviya2510 at users.noreply.github.com>
  Date:   2025-01-03 (Fri, 03 Jan 2025)

  Changed paths:
    M clang/test/OpenMP/irbuilder_simd_aligned.cpp
    M flang/lib/Lower/OpenMP/ClauseProcessor.cpp
    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/openmp-simd-aligned.mlir
    M mlir/test/Target/LLVMIR/openmp-todo.mlir

  Log Message:
  -----------
  [MLIR][OpenMP] Lowering aligned clause to LLVM IR for SIMD directive (#119536)

This patch,
- Added a translation support for aligned clause in SIMD directive by passing the alignment details to "llvm.assume" intrinsic.
- Updated the insertion point for llvm.assume intrinsic call in "OMPIRBuilder.cpp".
- Added a check in aligned clause MLIR lowering, to ensure that the alignment value must be a power of 2.


  Commit: 2e41489d7b1498ec8a18b99e6d7db9e946f2d786
      https://github.com/llvm/llvm-project/commit/2e41489d7b1498ec8a18b99e6d7db9e946f2d786
  Author: Younan Zhang <zyn7109 at gmail.com>
  Date:   2025-01-03 (Fri, 03 Jan 2025)

  Changed paths:
    M clang/docs/ReleaseNotes.rst
    M clang/lib/AST/ASTContext.cpp
    M clang/lib/Sema/SemaTemplate.cpp
    M clang/lib/Sema/SemaTemplateDeduction.cpp
    M clang/test/SemaCXX/cxx2c-fold-exprs.cpp

  Log Message:
  -----------
  [Clang] Fix unexpanded packs in NTTP type constraints (#121296)

In the case where a type-constraint on an NTTP contains a pack, we form
a PackExpansionType to model it. However, there are a few places
expecting it to be a non-pack expansion, and luckily only small changes
could make them work.

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


  Commit: 85849917f7ba19f6906f64726dc5e7101f8984ce
      https://github.com/llvm/llvm-project/commit/85849917f7ba19f6906f64726dc5e7101f8984ce
  Author: David CARLIER <devnexen at gmail.com>
  Date:   2025-01-03 (Fri, 03 Jan 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] Reland "fopencookie support." (#120864) (#121547)


  Commit: 579ced4f8266b273d15b2801067a828151a222ef
      https://github.com/llvm/llvm-project/commit/579ced4f8266b273d15b2801067a828151a222ef
  Author: Hugo Trachino <hugo.trachino at huawei.com>
  Date:   2025-01-03 (Fri, 03 Jan 2025)

  Changed paths:
    M mlir/python/mlir/dialects/transform/structured.py
    M mlir/test/python/dialects/transform_structured_ext.py

  Log Message:
  -----------
  [MLIR][Python] Add structured.fuseop to python interpreter (#120601)

Implements a python interface for structured.fuseOp allowing more freedom with inputs.


  Commit: f87a9db8322643ccbc324e317a75b55903129b55
      https://github.com/llvm/llvm-project/commit/f87a9db8322643ccbc324e317a75b55903129b55
  Author: David Green <david.green at arm.com>
  Date:   2025-01-03 (Fri, 03 Jan 2025)

  Changed paths:
    M llvm/lib/Target/ARM/ARMISelLowering.cpp
    M llvm/test/CodeGen/Thumb2/bf16-instructions.ll

  Log Message:
  -----------
  [ARM] Expand fp64 bf16 converts similarly to f32

This helps with +fp64 targets where the f64s are legal and not previously
lowered. It can treat fpextends as a shift + cvt and fptrunc can use a libcall.


  Commit: 5cf138cfbaa8040100fed1d0d5e0a189759b24ab
      https://github.com/llvm/llvm-project/commit/5cf138cfbaa8040100fed1d0d5e0a189759b24ab
  Author: David Spickett <david.spickett at linaro.org>
  Date:   2025-01-03 (Fri, 03 Jan 2025)

  Changed paths:
    M llvm/include/llvm/ExecutionEngine/JITLink/loongarch.h

  Log Message:
  -----------
  [llvm][JITLink][LoongArch] Fix bit extraction on 32 bit platforms

This shifted `1UL` to make the mask. On 32 bit Linux UL is 32 bit,
so if Hi+1 was >= 32 then you'd get the wrong result here.

The other version of this uses 1ULL, but using the uint64_t typename
here saves someone going to check what ULL means on different platforms.

This fixes test failures seen on Linaro's 32 bit bots:
https://lab.llvm.org/buildbot/#/builders/39/builds/3700
https://lab.llvm.org/buildbot/#/builders/122/builds/781

Though I cannot say exactly why this fixes them. Does not seem
like the new code was triggering this problem, but somehow it
must be.


  Commit: cba9c6ac15b462e68cf76d496ba0f832a531db8b
      https://github.com/llvm/llvm-project/commit/cba9c6ac15b462e68cf76d496ba0f832a531db8b
  Author: Adrian Kuegel <akuegel at google.com>
  Date:   2025-01-03 (Fri, 03 Jan 2025)

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

  Log Message:
  -----------
  [mlir] Fix typo in parameter name annotation comment.

Found by ClangTidyBugProne check.


  Commit: b1c195cbd16adbc4dac8f4bc01b8a34e315d3e61
      https://github.com/llvm/llvm-project/commit/b1c195cbd16adbc4dac8f4bc01b8a34e315d3e61
  Author: Nico Weber <thakis at chromium.org>
  Date:   2025-01-03 (Fri, 03 Jan 2025)

  Changed paths:
    M llvm/utils/gn/secondary/llvm/utils/TableGen/BUILD.gn
    M llvm/utils/gn/secondary/llvm/utils/TableGen/Basic/BUILD.gn
    M llvm/utils/gn/secondary/llvm/utils/TableGen/Common/BUILD.gn

  Log Message:
  -----------
  [gn] port 27f30029741e (yet another tblgen reorg)


  Commit: d598829375634da42910e2624f181f6b843bdc8b
      https://github.com/llvm/llvm-project/commit/d598829375634da42910e2624f181f6b843bdc8b
  Author: Nico Weber <thakis at chromium.org>
  Date:   2025-01-03 (Fri, 03 Jan 2025)

  Changed paths:
    M llvm/utils/gn/secondary/llvm/utils/TableGen/Common/BUILD.gn

  Log Message:
  -----------
  [gn] make LLVMTableGenCommon a static_library again

Else TableGenTests doesn't link.


  Commit: e53494c750246118c313b3cbf7479edb682f2208
      https://github.com/llvm/llvm-project/commit/e53494c750246118c313b3cbf7479edb682f2208
  Author: Adrian Kuegel <akuegel at google.com>
  Date:   2025-01-03 (Fri, 03 Jan 2025)

  Changed paths:
    M mlir/lib/Dialect/LLVMIR/IR/LLVMAttrs.cpp

  Log Message:
  -----------
  [mlir] Fix 0 values passed to the wrong parameters.

This was found by modernize-use-nullptr ClangTidy check, which suggested
to pass nullptr instead of 0 to DIFileAttr.
However it looks like the intention was to pass the two 0 values for
line and scopeLine, and we should pass {} to DIFileAttr. Do that change.


  Commit: 119fc720a19e047fee59d7f7446c911b158563e0
      https://github.com/llvm/llvm-project/commit/119fc720a19e047fee59d7f7446c911b158563e0
  Author: Haojian Wu <hokein.wu at gmail.com>
  Date:   2025-01-03 (Fri, 03 Jan 2025)

  Changed paths:
    M clang/test/Driver/spirv-openmp-toolchain.c

  Log Message:
  -----------
  NFC, explicitly specify the -fopenmp lib in spirv-openmp-toolchain.c test

Don't rely on the default `CLANG_DEFAULT_OPENMP_RUNTIME` env variable
which is `libomp` by default.


  Commit: 6cd171dc3330a055a8d8a1ddff63631d42150b8a
      https://github.com/llvm/llvm-project/commit/6cd171dc3330a055a8d8a1ddff63631d42150b8a
  Author: Nico Weber <thakis at chromium.org>
  Date:   2025-01-03 (Fri, 03 Jan 2025)

  Changed paths:
    M lld/COFF/InputFiles.cpp
    A lld/test/COFF/linkrepro-thin-archives.s

  Log Message:
  -----------
  [lld/COFF] Support thin archives in /reproduce: files (#121512)

This already worked without /wholearchive; now it works with it too.
(Only for thin archives containing relative file names, matching the ELF
and Mach-O ports.)


  Commit: e576c5bed79f8a9528391756c8475cc3a6276adf
      https://github.com/llvm/llvm-project/commit/e576c5bed79f8a9528391756c8475cc3a6276adf
  Author: Haojian Wu <hokein.wu at gmail.com>
  Date:   2025-01-03 (Fri, 03 Jan 2025)

  Changed paths:
    M llvm/test/ExecutionEngine/JITLink/x86-64/COFF_comdat_weak_plus_strong.s

  Log Message:
  -----------
  Fix an incorrect -show-graph command-line flag in COFF_comdat_weak_plus_strong.s test

The flag -show-graph has been renamed to -show-graphs in 01bdd8cffcaf97636b5fb6ee4933e62c872528d3


  Commit: df859f90aab261918eee26382021e8455b532f7d
      https://github.com/llvm/llvm-project/commit/df859f90aab261918eee26382021e8455b532f7d
  Author: Krzysztof Parzyszek <Krzysztof.Parzyszek at amd.com>
  Date:   2025-01-03 (Fri, 03 Jan 2025)

  Changed paths:
    M flang/examples/FlangOmpReport/FlangOmpReportVisitor.cpp
    M flang/include/flang/Parser/dump-parse-tree.h
    M flang/include/flang/Parser/parse-tree.h
    M flang/lib/Lower/OpenMP/OpenMP.cpp
    M flang/lib/Parser/openmp-parsers.cpp
    M flang/lib/Parser/unparse.cpp
    M flang/lib/Semantics/check-omp-structure.cpp
    M flang/lib/Semantics/check-omp-structure.h
    M flang/test/Lower/OpenMP/Todo/error.f90
    M flang/test/Parser/OpenMP/error-unparse.f90
    A flang/test/Parser/OpenMP/nothing.f90

  Log Message:
  -----------
  [flang][OpenMP] Frontend support for NOTHING directive (#120606)

Create OpenMPUtilityConstruct and put the two utility directives in it
(error and nothing). Rename OpenMPErrorConstruct to OmpErrorDirective.


  Commit: 62b5cf041059a90215788a0bfefb8fc180fd0b5a
      https://github.com/llvm/llvm-project/commit/62b5cf041059a90215788a0bfefb8fc180fd0b5a
  Author: Florian Mayer <fmayer at google.com>
  Date:   2025-01-03 (Fri, 03 Jan 2025)

  Changed paths:
    A llvm/test/Transforms/LoopVectorize/X86/drop-inbounds-flags-for-reverse-vector-pointer.ll

  Log Message:
  -----------
  [Vectorizer] precommit test for miscompilation (#120731)

we generate GEPs that are out of bounds but mark them as "inbound"


  Commit: 32eade61754bd0c22d42f31a68c81326bb138b55
      https://github.com/llvm/llvm-project/commit/32eade61754bd0c22d42f31a68c81326bb138b55
  Author: Florian Mayer <fmayer at google.com>
  Date:   2025-01-03 (Fri, 03 Jan 2025)

  Changed paths:
    M .github/workflows/libcxx-build-and-test.yaml
    M bolt/docs/CommandLineArgumentReference.md
    M bolt/include/bolt/Core/BinaryData.h
    M bolt/lib/Core/BinaryContext.cpp
    M bolt/lib/Rewrite/LinuxKernelRewriter.cpp
    M bolt/test/X86/linux-alt-instruction.s
    M bolt/test/X86/linux-bug-table.s
    M bolt/test/X86/linux-exceptions.s
    M bolt/test/X86/linux-orc.s
    M bolt/test/X86/linux-parainstructions.s
    M bolt/test/X86/linux-pci-fixup.s
    M bolt/test/X86/linux-smp-locks.s
    M bolt/test/X86/linux-static-calls.s
    M bolt/test/X86/linux-static-keys.s
    A bolt/test/X86/linux-version.S
    M clang-tools-extra/clang-doc/Serialize.cpp
    M clang-tools-extra/clang-tidy/ClangTidy.cpp
    M clang-tools-extra/clang-tidy/ClangTidy.h
    M clang-tools-extra/clang-tidy/ClangTidyCheck.cpp
    M clang-tools-extra/clang-tidy/bugprone/BugproneTidyModule.cpp
    M clang-tools-extra/clang-tidy/bugprone/CMakeLists.txt
    A clang-tools-extra/clang-tidy/bugprone/NarrowingConversionsCheck.cpp
    A clang-tools-extra/clang-tidy/bugprone/NarrowingConversionsCheck.h
    M clang-tools-extra/clang-tidy/cppcoreguidelines/CMakeLists.txt
    M clang-tools-extra/clang-tidy/cppcoreguidelines/CppCoreGuidelinesTidyModule.cpp
    R clang-tools-extra/clang-tidy/cppcoreguidelines/NarrowingConversionsCheck.cpp
    R clang-tools-extra/clang-tidy/cppcoreguidelines/NarrowingConversionsCheck.h
    M clang-tools-extra/clang-tidy/modernize/UseUsingCheck.cpp
    M clang-tools-extra/clang-tidy/modernize/UseUsingCheck.h
    M clang-tools-extra/clang-tidy/tool/CMakeLists.txt
    M clang-tools-extra/clang-tidy/tool/ClangTidyMain.cpp
    M clang-tools-extra/clangd/CodeComplete.cpp
    M clang-tools-extra/clangd/Config.h
    M clang-tools-extra/clangd/ConfigCompile.cpp
    M clang-tools-extra/clangd/ConfigFragment.h
    M clang-tools-extra/clangd/ConfigYAML.cpp
    M clang-tools-extra/clangd/Headers.cpp
    M clang-tools-extra/clangd/Headers.h
    M clang-tools-extra/clangd/IncludeCleaner.h
    M clang-tools-extra/clangd/ParsedAST.cpp
    M clang-tools-extra/clangd/tool/ClangdMain.cpp
    M clang-tools-extra/clangd/unittests/CodeCompleteTests.cpp
    M clang-tools-extra/clangd/unittests/ConfigCompileTests.cpp
    M clang-tools-extra/clangd/unittests/ConfigYAMLTests.cpp
    M clang-tools-extra/clangd/unittests/HeadersTests.cpp
    M clang-tools-extra/clangd/unittests/Matchers.h
    M clang-tools-extra/clangd/unittests/TypeHierarchyTests.cpp
    M clang-tools-extra/docs/ReleaseNotes.rst
    M clang-tools-extra/docs/clang-tidy/checks/bugprone/narrowing-conversions.rst
    M clang-tools-extra/docs/clang-tidy/checks/bugprone/unhandled-self-assignment.rst
    M clang-tools-extra/docs/clang-tidy/checks/cppcoreguidelines/narrowing-conversions.rst
    M clang-tools-extra/docs/clang-tidy/checks/list.rst
    M clang-tools-extra/docs/clang-tidy/checks/modernize/use-ranges.rst
    M clang-tools-extra/docs/clang-tidy/index.rst
    R clang-tools-extra/test/clang-tidy/checkers/bugprone/alpha-core-identicalexpr.cpp
    A clang-tools-extra/test/clang-tidy/checkers/bugprone/branch-clone-2.cpp
    A clang-tools-extra/test/clang-tidy/checkers/bugprone/narrowing-conversions-bitfields.cpp
    A clang-tools-extra/test/clang-tidy/checkers/bugprone/narrowing-conversions-equivalentbitwidth-option.cpp
    A clang-tools-extra/test/clang-tidy/checkers/bugprone/narrowing-conversions-ignoreconversionfromtypes-option.cpp
    A clang-tools-extra/test/clang-tidy/checkers/bugprone/narrowing-conversions-intemplates-option.cpp
    A clang-tools-extra/test/clang-tidy/checkers/bugprone/narrowing-conversions-long-is-32bits.cpp
    A clang-tools-extra/test/clang-tidy/checkers/bugprone/narrowing-conversions-narrowingfloatingpoint-option.cpp
    A clang-tools-extra/test/clang-tidy/checkers/bugprone/narrowing-conversions-narrowinginteger-option.cpp
    A clang-tools-extra/test/clang-tidy/checkers/bugprone/narrowing-conversions-narrowingintegertofloatingpoint-option.cpp
    A clang-tools-extra/test/clang-tidy/checkers/bugprone/narrowing-conversions-pedanticmode-option.cpp
    A clang-tools-extra/test/clang-tidy/checkers/bugprone/narrowing-conversions-unsigned-char.cpp
    A clang-tools-extra/test/clang-tidy/checkers/bugprone/narrowing-conversions.cpp
    R clang-tools-extra/test/clang-tidy/checkers/cppcoreguidelines/narrowing-conversions-bitfields.cpp
    R clang-tools-extra/test/clang-tidy/checkers/cppcoreguidelines/narrowing-conversions-equivalentbitwidth-option.cpp
    R clang-tools-extra/test/clang-tidy/checkers/cppcoreguidelines/narrowing-conversions-ignoreconversionfromtypes-option.cpp
    R clang-tools-extra/test/clang-tidy/checkers/cppcoreguidelines/narrowing-conversions-intemplates-option.cpp
    R clang-tools-extra/test/clang-tidy/checkers/cppcoreguidelines/narrowing-conversions-long-is-32bits.cpp
    R clang-tools-extra/test/clang-tidy/checkers/cppcoreguidelines/narrowing-conversions-narrowingfloatingpoint-option.cpp
    R clang-tools-extra/test/clang-tidy/checkers/cppcoreguidelines/narrowing-conversions-narrowinginteger-option.cpp
    R clang-tools-extra/test/clang-tidy/checkers/cppcoreguidelines/narrowing-conversions-narrowingintegertofloatingpoint-option.cpp
    R clang-tools-extra/test/clang-tidy/checkers/cppcoreguidelines/narrowing-conversions-pedanticmode-option.cpp
    R clang-tools-extra/test/clang-tidy/checkers/cppcoreguidelines/narrowing-conversions-unsigned-char.cpp
    R clang-tools-extra/test/clang-tidy/checkers/cppcoreguidelines/narrowing-conversions.cpp
    A clang-tools-extra/test/clang-tidy/checkers/misc/redundant-expression-2.cpp
    M clang-tools-extra/test/clang-tidy/checkers/modernize/use-std-format-fmt.cpp
    M clang-tools-extra/test/clang-tidy/checkers/modernize/use-using.cpp
    A clang-tools-extra/test/clang-tidy/infrastructure/Inputs/param/parameters.txt
    A clang-tools-extra/test/clang-tidy/infrastructure/deprecation-global-option.cpp
    A clang-tools-extra/test/clang-tidy/infrastructure/read-parameters-from-file-error.cpp
    A clang-tools-extra/test/clang-tidy/infrastructure/read-parameters-from-file.cpp
    M clang/docs/ClangFormat.rst
    M clang/docs/ClangFormatStyleOptions.rst
    M clang/docs/LanguageExtensions.rst
    M clang/docs/LibASTMatchersReference.html
    M clang/docs/ReleaseNotes.rst
    M clang/docs/ThreadSafetyAnalysis.rst
    M clang/docs/UndefinedBehaviorSanitizer.rst
    M clang/include/clang/AST/Stmt.h
    M clang/include/clang/ASTMatchers/ASTMatchers.h
    M clang/include/clang/Analysis/Analyses/ThreadSafety.h
    M clang/include/clang/Basic/Attr.td
    M clang/include/clang/Basic/Builtins.td
    M clang/include/clang/Basic/BuiltinsHexagon.def
    M clang/include/clang/Basic/CodeGenOptions.h
    M clang/include/clang/Basic/DiagnosticDriverKinds.td
    M clang/include/clang/Basic/DiagnosticSemaKinds.td
    M clang/include/clang/Basic/TargetInfo.h
    M clang/include/clang/Basic/arm_immcheck_incl.td
    M clang/include/clang/CIR/CMakeLists.txt
    M clang/include/clang/CIR/Dialect/Builder/CIRBaseBuilder.h
    A clang/include/clang/CIR/Dialect/IR/CIRAttrs.h
    A clang/include/clang/CIR/Dialect/IR/CIRAttrs.td
    M clang/include/clang/CIR/Dialect/IR/CIRDialect.h
    M clang/include/clang/CIR/Dialect/IR/CIROps.td
    M clang/include/clang/CIR/Dialect/IR/CIRTypes.h
    M clang/include/clang/CIR/Dialect/IR/CIRTypes.td
    M clang/include/clang/CIR/Dialect/IR/CMakeLists.txt
    A clang/include/clang/CIR/Interfaces/CIRFPTypeInterface.h
    A clang/include/clang/CIR/Interfaces/CIRFPTypeInterface.td
    A clang/include/clang/CIR/Interfaces/CMakeLists.txt
    M clang/include/clang/Driver/Options.td
    M clang/include/clang/Driver/SanitizerArgs.h
    M clang/include/clang/Format/Format.h
    M clang/include/clang/Frontend/Utils.h
    M clang/include/clang/Sema/SemaConcept.h
    M clang/include/clang/Serialization/ASTWriter.h
    M clang/include/clang/StaticAnalyzer/Core/PathSensitive/CoreEngine.h
    M clang/include/clang/StaticAnalyzer/Core/PathSensitive/ExprEngine.h
    M clang/lib/AST/ASTContext.cpp
    M clang/lib/AST/ByteCode/Compiler.cpp
    M clang/lib/AST/ByteCode/Compiler.h
    M clang/lib/AST/ByteCode/Interp.cpp
    M clang/lib/AST/ByteCode/Interp.h
    M clang/lib/AST/ByteCode/InterpBuiltin.cpp
    M clang/lib/AST/ByteCode/InterpBuiltinBitCast.cpp
    M clang/lib/AST/ByteCode/Opcodes.td
    M clang/lib/AST/ByteCode/Pointer.cpp
    M clang/lib/AST/ByteCode/Pointer.h
    M clang/lib/AST/ExprCXX.cpp
    M clang/lib/AST/ExprConstant.cpp
    M clang/lib/AST/Stmt.cpp
    M clang/lib/ASTMatchers/ASTMatchersInternal.cpp
    M clang/lib/ASTMatchers/Dynamic/Registry.cpp
    M clang/lib/Analysis/ThreadSafety.cpp
    M clang/lib/Basic/CMakeLists.txt
    M clang/lib/Basic/CodeGenOptions.cpp
    M clang/lib/Basic/Targets.cpp
    M clang/lib/Basic/Targets/Hexagon.cpp
    M clang/lib/Basic/Targets/Mips.cpp
    M clang/lib/Basic/Targets/Mips.h
    M clang/lib/Basic/Targets/OSTargets.h
    M clang/lib/Basic/Targets/X86.h
    A clang/lib/Basic/Targets/Xtensa.cpp
    A clang/lib/Basic/Targets/Xtensa.h
    M clang/lib/CIR/CMakeLists.txt
    M clang/lib/CIR/CodeGen/CIRGenBuilder.h
    M clang/lib/CIR/CodeGen/CIRGenModule.cpp
    M clang/lib/CIR/CodeGen/CIRGenTypeCache.h
    M clang/lib/CIR/CodeGen/CIRGenTypes.cpp
    M clang/lib/CIR/CodeGen/CIRGenTypes.h
    M clang/lib/CIR/CodeGen/CMakeLists.txt
    M clang/lib/CIR/Dialect/IR/CIRAttrs.cpp
    M clang/lib/CIR/Dialect/IR/CIRDialect.cpp
    M clang/lib/CIR/Dialect/IR/CIRTypes.cpp
    M clang/lib/CIR/Dialect/IR/CMakeLists.txt
    A clang/lib/CIR/Interfaces/CIRFPTypeInterface.cpp
    A clang/lib/CIR/Interfaces/CMakeLists.txt
    M clang/lib/CodeGen/BackendUtil.cpp
    M clang/lib/CodeGen/CGCall.cpp
    M clang/lib/CodeGen/Targets/AArch64.cpp
    M clang/lib/CodeGen/Targets/RISCV.cpp
    M clang/lib/Driver/CMakeLists.txt
    M clang/lib/Driver/Driver.cpp
    M clang/lib/Driver/SanitizerArgs.cpp
    M clang/lib/Driver/ToolChains/CommonArgs.cpp
    M clang/lib/Driver/ToolChains/Cuda.cpp
    M clang/lib/Driver/ToolChains/SPIRV.h
    A clang/lib/Driver/ToolChains/SPIRVOpenMP.cpp
    A clang/lib/Driver/ToolChains/SPIRVOpenMP.h
    M clang/lib/Driver/ToolChains/UEFI.cpp
    M clang/lib/Driver/ToolChains/UEFI.h
    M clang/lib/Format/Format.cpp
    M clang/lib/Format/FormatToken.h
    M clang/lib/Format/FormatTokenLexer.cpp
    M clang/lib/Format/FormatTokenLexer.h
    M clang/lib/Format/MacroExpander.cpp
    M clang/lib/Format/MatchFilePath.cpp
    M clang/lib/Format/QualifierAlignmentFixer.cpp
    M clang/lib/Format/TokenAnnotator.cpp
    M clang/lib/Format/UnwrappedLineFormatter.cpp
    M clang/lib/Frontend/CompilerInvocation.cpp
    M clang/lib/Frontend/DependencyFile.cpp
    M clang/lib/Frontend/FrontendActions.cpp
    M clang/lib/Headers/avx10_2_512convertintrin.h
    M clang/lib/Headers/avx10_2convertintrin.h
    M clang/lib/Headers/hvx_hexagon_protos.h
    M clang/lib/Lex/InitHeaderSearch.cpp
    M clang/lib/Parse/Parser.cpp
    M clang/lib/Sema/AnalysisBasedWarnings.cpp
    M clang/lib/Sema/HLSLExternalSemaSource.cpp
    M clang/lib/Sema/SemaARM.cpp
    M clang/lib/Sema/SemaChecking.cpp
    M clang/lib/Sema/SemaConcept.cpp
    M clang/lib/Sema/SemaDeclAttr.cpp
    M clang/lib/Sema/SemaExpr.cpp
    M clang/lib/Sema/SemaInit.cpp
    M clang/lib/Sema/SemaOverload.cpp
    M clang/lib/Sema/SemaTemplate.cpp
    M clang/lib/Sema/SemaTemplateDeduction.cpp
    M clang/lib/Serialization/ASTReader.cpp
    M clang/lib/Serialization/GeneratePCH.cpp
    M clang/lib/Serialization/MultiOnDiskHashTable.h
    M clang/lib/StaticAnalyzer/Checkers/WebKit/UncountedLambdaCapturesChecker.cpp
    M clang/lib/StaticAnalyzer/Core/CallEvent.cpp
    M clang/lib/StaticAnalyzer/Core/CoreEngine.cpp
    M clang/lib/StaticAnalyzer/Core/ExprEngine.cpp
    M clang/lib/StaticAnalyzer/Core/LoopUnrolling.cpp
    M clang/test/AST/ByteCode/builtin-constant-p.cpp
    M clang/test/AST/ByteCode/builtin-functions.cpp
    M clang/test/AST/ByteCode/cxx2a.cpp
    M clang/test/AST/ByteCode/if.cpp
    M clang/test/AST/HLSL/StructuredBuffers-AST.hlsl
    A clang/test/Analysis/Checkers/WebKit/uncounted-lambda-captures-find-lambda-crash.cpp
    A clang/test/Analysis/PR121201.cpp
    M clang/test/Analysis/embed.c
    A clang/test/Analysis/loop-assumptions.c
    M clang/test/Analysis/loop-unrolling.cpp
    M clang/test/Analysis/misc-ps-region-store.m
    M clang/test/CIR/global-var-simple.cpp
    M clang/test/CXX/basic/basic.link/p3.cpp
    M clang/test/CodeGen/AArch64/fpm-helpers.c
    M clang/test/CodeGen/AArch64/pure-scalable-args.c
    M clang/test/CodeGen/X86/avx10_2_512convert-builtins.c
    M clang/test/CodeGen/bounds-checking.c
    M clang/test/CodeGen/builtin-memfns.c
    M clang/test/CodeGen/code-coverage.c
    M clang/test/CodeGenCXX/aarch64-mangle-sve-vectors.cpp
    M clang/test/CodeGenCXX/matrix-vector-bit-int.cpp
    M clang/test/CodeGenHLSL/builtins/StructuredBuffers-methods-lib.hlsl
    M clang/test/CodeGenHLSL/builtins/StructuredBuffers-methods-ps.hlsl
    M clang/test/CoverageMapping/single-byte-counters.cpp
    R clang/test/Driver/Inputs/libomptarget/libomptarget-nvptx-sm_52.bc
    A clang/test/Driver/Inputs/libomptarget/libomptarget-nvptx.bc
    R clang/test/Driver/Inputs/libomptarget/subdir/libomptarget-nvptx-sm_52.bc
    A clang/test/Driver/Inputs/libomptarget/subdir/libomptarget-nvptx.bc
    A clang/test/Driver/Inputs/spirv-openmp/lib/libomptarget-spirv64.bc
    M clang/test/Driver/cl-options.c
    A clang/test/Driver/dxc_options.hlsl
    M clang/test/Driver/hexagon-toolchain-elf.c
    M clang/test/Driver/hip-device-libs.hip
    M clang/test/Driver/openmp-offload-gpu.c
    M clang/test/Driver/print-enabled-extensions/aarch64-armv9.4-a.c
    M clang/test/Driver/print-enabled-extensions/aarch64-armv9.5-a.c
    M clang/test/Driver/print-supported-extensions-riscv.c
    M clang/test/Driver/sanitizer-ld.c
    A clang/test/Driver/spirv-openmp-toolchain.c
    A clang/test/Driver/uefi-defines.c
    M clang/test/Driver/unknown-arg-drivermodes.test
    M clang/test/Frontend/dependency-gen-symlink.c
    M clang/test/Frontend/dependency-gen-windows-duplicates.c
    M clang/test/Misc/target-invalid-cpu-note/hexagon.c
    A clang/test/Modules/expose-static-inline-from-gmf-1.cppm
    A clang/test/Modules/expose-static-inline-from-gmf-2.cppm
    A clang/test/Modules/expose-static-inline-from-gmf-3.cppm
    A clang/test/Modules/expose-static-inline-from-gmf-4.cppm
    A clang/test/Modules/expose-static-inline-from-gmf-5.cppm
    A clang/test/Modules/pcm-with-errors.cpp
    A clang/test/Modules/pr120277.cppm
    A clang/test/Modules/pr121066.cpp
    M clang/test/OpenMP/irbuilder_simd_aligned.cpp
    A clang/test/Parser/objc-coloncolon.m
    A clang/test/Parser/objcxx-coloncolon.mm
    M clang/test/Preprocessor/hexagon-predefines.c
    M clang/test/Preprocessor/init.c
    M clang/test/Preprocessor/predefined-win-macros.c
    M clang/test/Preprocessor/riscv-target-features.c
    M clang/test/Preprocessor/stdint.c
    M clang/test/Sema/constant_builtins_vector.cpp
    M clang/test/SemaCXX/cxx20-decomposition.cpp
    M clang/test/SemaCXX/cxx2c-fold-exprs.cpp
    M clang/test/SemaCXX/cxx2c-pack-indexing.cpp
    M clang/test/SemaCXX/warn-thread-safety-analysis.cpp
    M clang/test/SemaCXX/warn-thread-safety-parsing.cpp
    M clang/test/VFS/external-names.c
    M clang/tools/clang-linker-wrapper/ClangLinkerWrapper.cpp
    M clang/tools/include-mapping/cppreference_parser.py
    M clang/unittests/AST/ASTImporterTest.cpp
    M clang/unittests/ASTMatchers/ASTMatchersNodeTest.cpp
    M clang/unittests/Format/ConfigParseTest.cpp
    M clang/unittests/Format/FormatTest.cpp
    M clang/unittests/Format/MacroCallReconstructorTest.cpp
    M clang/unittests/Format/MatchFilePathTest.cpp
    M clang/unittests/Format/QualifierFixerTest.cpp
    M clang/unittests/Format/SortIncludesTest.cpp
    M clang/unittests/Format/TokenAnnotatorTest.cpp
    M compiler-rt/cmake/builtin-config-ix.cmake
    M compiler-rt/lib/asan/CMakeLists.txt
    M compiler-rt/lib/asan/tests/CMakeLists.txt
    M compiler-rt/lib/builtins/CMakeLists.txt
    M compiler-rt/lib/builtins/aarch64/sme-abi-assert.c
    M compiler-rt/lib/builtins/aarch64/sme-abi.S
    A compiler-rt/lib/builtins/truncxfhf2.c
    M compiler-rt/lib/hwasan/CMakeLists.txt
    M compiler-rt/lib/msan/CMakeLists.txt
    M compiler-rt/lib/rtsan/rtsan_interceptors_posix.cpp
    M compiler-rt/lib/rtsan/tests/rtsan_test_interceptors_posix.cpp
    M compiler-rt/lib/sanitizer_common/sanitizer_common_interceptors.inc
    M compiler-rt/lib/tsan/rtl/CMakeLists.txt
    M compiler-rt/lib/tysan/CMakeLists.txt
    M compiler-rt/lib/tysan/tysan_interceptors.cpp
    M compiler-rt/lib/ubsan/CMakeLists.txt
    M compiler-rt/lib/ubsan/ubsan_handlers.cpp
    M compiler-rt/test/asan/TestCases/Linux/interface_symbols_linux.cpp
    A compiler-rt/test/builtins/Unit/truncxfhf2_test.c
    M compiler-rt/test/fuzzer/noasan-strcmp.test
    M compiler-rt/test/profile/ContinuousSyncMode/basic.c
    M compiler-rt/test/profile/ContinuousSyncMode/get-filename.c
    M compiler-rt/test/profile/ContinuousSyncMode/image-with-mcdc.c
    M compiler-rt/test/profile/ContinuousSyncMode/multi-threaded.cpp
    M compiler-rt/test/profile/ContinuousSyncMode/online-merging.c
    M compiler-rt/test/profile/ContinuousSyncMode/pid-substitution.c
    M compiler-rt/test/profile/ContinuousSyncMode/set-filename.c
    M compiler-rt/test/profile/Inputs/instrprof-gcov-exceptions.cpp.gcov
    M compiler-rt/test/profile/Inputs/instrprof-gcov-multiple-bbs-single-line.c.gcov
    M compiler-rt/test/profile/Inputs/instrprof-gcov-one-line-function.c.gcov
    M compiler-rt/test/profile/Inputs/instrprof-gcov-switch1.c.gcov
    M compiler-rt/test/profile/Inputs/instrprof-gcov-switch2.c.gcov
    M compiler-rt/test/profile/Inputs/instrprof-shared-lib_in-loop.c.gcov
    M compiler-rt/test/profile/Inputs/instrprof-shared-main.c.gcov
    M compiler-rt/test/profile/gcov-__gcov_flush-terminate.c
    M compiler-rt/test/profile/lit.cfg.py
    M flang/docs/Extensions.md
    M flang/examples/FlangOmpReport/FlangOmpReportVisitor.cpp
    M flang/include/flang/Common/idioms.h
    M flang/include/flang/Evaluate/target.h
    M flang/include/flang/Frontend/FrontendActions.h
    M flang/include/flang/Lower/AbstractConverter.h
    M flang/include/flang/Lower/Bridge.h
    M flang/include/flang/Lower/OpenACC.h
    A flang/include/flang/Optimizer/Builder/CUFCommon.h
    M flang/include/flang/Optimizer/Builder/IntrinsicCall.h
    M flang/include/flang/Optimizer/Builder/Runtime/Exceptions.h
    M flang/include/flang/Optimizer/Dialect/CUF/CUFOps.td
    R flang/include/flang/Optimizer/Transforms/CUFCommon.h
    M flang/include/flang/Parser/dump-parse-tree.h
    M flang/include/flang/Parser/parse-tree.h
    M flang/include/flang/Runtime/CUDA/descriptor.h
    M flang/include/flang/Runtime/exceptions.h
    M flang/include/flang/Tools/CrossToolHelpers.h
    M flang/include/flang/Tools/TargetSetup.h
    M flang/lib/Evaluate/fold-logical.cpp
    M flang/lib/Frontend/FrontendActions.cpp
    M flang/lib/Lower/Allocatable.cpp
    M flang/lib/Lower/Bridge.cpp
    M flang/lib/Lower/IO.cpp
    M flang/lib/Lower/OpenACC.cpp
    M flang/lib/Lower/OpenMP/ClauseProcessor.cpp
    M flang/lib/Lower/OpenMP/OpenMP.cpp
    M flang/lib/Optimizer/Analysis/AliasAnalysis.cpp
    M flang/lib/Optimizer/Builder/CMakeLists.txt
    A flang/lib/Optimizer/Builder/CUFCommon.cpp
    M flang/lib/Optimizer/Builder/IntrinsicCall.cpp
    M flang/lib/Optimizer/Builder/Runtime/Exceptions.cpp
    M flang/lib/Optimizer/CodeGen/CodeGen.cpp
    M flang/lib/Optimizer/HLFIR/Transforms/InlineElementals.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/Transforms/AddAliasTags.cpp
    M flang/lib/Optimizer/Transforms/AlgebraicSimplification.cpp
    M flang/lib/Optimizer/Transforms/AssumedRankOpConversion.cpp
    M flang/lib/Optimizer/Transforms/CMakeLists.txt
    M flang/lib/Optimizer/Transforms/CUFAddConstructor.cpp
    R flang/lib/Optimizer/Transforms/CUFCommon.cpp
    M flang/lib/Optimizer/Transforms/CUFDeviceGlobal.cpp
    M flang/lib/Optimizer/Transforms/CUFOpConversion.cpp
    M flang/lib/Optimizer/Transforms/ConstantArgumentGlobalisation.cpp
    M flang/lib/Optimizer/Transforms/DebugTypeGenerator.cpp
    M flang/lib/Optimizer/Transforms/LoopVersioning.cpp
    M flang/lib/Optimizer/Transforms/SimplifyIntrinsics.cpp
    M flang/lib/Optimizer/Transforms/StackArrays.cpp
    M flang/lib/Parser/openmp-parsers.cpp
    M flang/lib/Parser/unparse.cpp
    M flang/lib/Semantics/check-omp-structure.cpp
    M flang/lib/Semantics/check-omp-structure.h
    M flang/runtime/CUDA/descriptor.cpp
    M flang/runtime/CUDA/kernel.cpp
    M flang/runtime/exceptions.cpp
    M flang/runtime/stop.cpp
    A flang/test/Analysis/AliasAnalysis/alias-analysis-omp-private-allocatable.mlir
    M flang/test/Evaluate/fold-ieee.f90
    M flang/test/Fir/CUDA/cuda-allocate.fir
    M flang/test/Fir/CUDA/cuda-code-gen.mlir
    M flang/test/Fir/CUDA/cuda-compiler-generated-names.mlir
    A flang/test/Fir/CUDA/cuda-sync-desc.mlir
    A flang/test/HLFIR/opt-variable-assign-omp.fir
    A flang/test/Lower/CUDA/cuda-pointer-sync.cuf
    M flang/test/Lower/Intrinsics/ieee_flag.f90
    M flang/test/Lower/OpenMP/Todo/depend-clause-depobj.f90
    R flang/test/Lower/OpenMP/Todo/depend-clause-inoutset.f90
    R flang/test/Lower/OpenMP/Todo/depend-clause-mutexinoutset.f90
    M flang/test/Lower/OpenMP/Todo/error.f90
    A flang/test/Lower/OpenMP/Todo/task_untied.f90
    M flang/test/Lower/OpenMP/task.f90
    M flang/test/Lower/io-derived-type.f90
    M flang/test/Lower/namelist.f90
    M flang/test/Parser/OpenMP/error-unparse.f90
    A flang/test/Parser/OpenMP/nothing.f90
    M flang/test/Transforms/loop-versioning.fir
    M flang/unittests/Frontend/CodeGenActionTest.cpp
    M flang/unittests/Optimizer/Builder/CharacterTest.cpp
    M flang/unittests/Optimizer/Builder/ComplexTest.cpp
    M flang/unittests/Optimizer/Builder/FIRBuilderTest.cpp
    M flang/unittests/Optimizer/Builder/HLFIRToolsTest.cpp
    M flang/unittests/Optimizer/Builder/Runtime/RuntimeCallTestBase.h
    M flang/unittests/Optimizer/FortranVariableTest.cpp
    M flang/unittests/Runtime/ArrayConstructor.cpp
    M flang/unittests/Runtime/CUDA/AllocatorCUF.cpp
    M flang/unittests/Runtime/CharacterTest.cpp
    M libc/CMakeLists.txt
    M libc/cmake/modules/CheckCompilerFeatures.cmake
    M libc/cmake/modules/LLVMLibCHeaderRules.cmake
    A libc/cmake/modules/compiler_features/check_cfloat128.cpp
    A libc/cmake/modules/compiler_features/check_cfloat16.cpp
    M libc/config/baremetal/config.json
    M libc/config/gpu/entrypoints.txt
    M libc/config/gpu/headers.txt
    M libc/config/linux/aarch64/entrypoints.txt
    M libc/config/linux/riscv/entrypoints.txt
    M libc/config/linux/x86_64/entrypoints.txt
    M libc/docs/dev/header_generation.rst
    M libc/docs/dev/source_tree_layout.rst
    M libc/docs/full_cross_build.rst
    R libc/hdrgen/CMakeLists.txt
    R libc/hdrgen/class_implementation/classes/enumeration.py
    R libc/hdrgen/class_implementation/classes/function.py
    R libc/hdrgen/class_implementation/classes/macro.py
    R libc/hdrgen/class_implementation/classes/object.py
    R libc/hdrgen/class_implementation/classes/type.py
    R libc/hdrgen/gpu_headers.py
    R libc/hdrgen/header.py
    R libc/hdrgen/tests/expected_output/test_header.h
    R libc/hdrgen/tests/input/test_small.h.def
    R libc/hdrgen/tests/input/test_small.yaml
    R libc/hdrgen/tests/test_integration.py
    R libc/hdrgen/yaml/arpa/inet.yaml
    R libc/hdrgen/yaml/assert.yaml
    R libc/hdrgen/yaml/complex.yaml
    R libc/hdrgen/yaml/ctype.yaml
    R libc/hdrgen/yaml/dirent.yaml
    R libc/hdrgen/yaml/dlfcn.yaml
    R libc/hdrgen/yaml/elf.yaml
    R libc/hdrgen/yaml/errno.yaml
    R libc/hdrgen/yaml/fcntl.yaml
    R libc/hdrgen/yaml/features.yaml
    R libc/hdrgen/yaml/fenv.yaml
    R libc/hdrgen/yaml/float.yaml
    R libc/hdrgen/yaml/gpu/rpc.yaml
    R libc/hdrgen/yaml/inttypes.yaml
    R libc/hdrgen/yaml/limits.yaml
    R libc/hdrgen/yaml/link.yaml
    R libc/hdrgen/yaml/locale.yaml
    R libc/hdrgen/yaml/malloc.yaml
    R libc/hdrgen/yaml/math.yaml
    R libc/hdrgen/yaml/pthread.yaml
    R libc/hdrgen/yaml/sched.yaml
    R libc/hdrgen/yaml/search.yaml
    R libc/hdrgen/yaml/setjmp.yaml
    R libc/hdrgen/yaml/signal.yaml
    R libc/hdrgen/yaml/spawn.yaml
    R libc/hdrgen/yaml/stdbit.yaml
    R libc/hdrgen/yaml/stdckdint.yaml
    R libc/hdrgen/yaml/stdfix.yaml
    R libc/hdrgen/yaml/stdint.yaml
    R libc/hdrgen/yaml/stdio.yaml
    R libc/hdrgen/yaml/stdlib.yaml
    R libc/hdrgen/yaml/string.yaml
    R libc/hdrgen/yaml/strings.yaml
    R libc/hdrgen/yaml/sys/auxv.yaml
    R libc/hdrgen/yaml/sys/epoll.yaml
    R libc/hdrgen/yaml/sys/ioctl.yaml
    R libc/hdrgen/yaml/sys/mman.yaml
    R libc/hdrgen/yaml/sys/prctl.yaml
    R libc/hdrgen/yaml/sys/random.yaml
    R libc/hdrgen/yaml/sys/resource.yaml
    R libc/hdrgen/yaml/sys/select.yaml
    R libc/hdrgen/yaml/sys/sendfile.yaml
    R libc/hdrgen/yaml/sys/socket.yaml
    R libc/hdrgen/yaml/sys/stat.yaml
    R libc/hdrgen/yaml/sys/statvfs.yaml
    R libc/hdrgen/yaml/sys/syscall.yaml
    R libc/hdrgen/yaml/sys/time.yaml
    R libc/hdrgen/yaml/sys/types.yaml
    R libc/hdrgen/yaml/sys/utsname.yaml
    R libc/hdrgen/yaml/sys/wait.yaml
    R libc/hdrgen/yaml/termios.yaml
    R libc/hdrgen/yaml/threads.yaml
    R libc/hdrgen/yaml/time.yaml
    R libc/hdrgen/yaml/uchar.yaml
    R libc/hdrgen/yaml/unistd.yaml
    R libc/hdrgen/yaml/wchar.yaml
    R libc/hdrgen/yaml_functions_sorted.py
    R libc/hdrgen/yaml_to_classes.py
    M libc/include/CMakeLists.txt
    M libc/include/__llvm-libc-common.h
    A libc/include/arpa/inet.yaml
    A libc/include/assert.yaml
    A libc/include/complex.yaml
    A libc/include/ctype.yaml
    A libc/include/dirent.yaml
    A libc/include/dlfcn.yaml
    A libc/include/elf.yaml
    A libc/include/errno.yaml
    A libc/include/fcntl.yaml
    A libc/include/features.yaml
    A libc/include/fenv.yaml
    A libc/include/float.yaml
    R libc/include/gpu/rpc.h.def
    A libc/include/inttypes.yaml
    A libc/include/limits.yaml
    A libc/include/link.yaml
    A libc/include/locale.yaml
    A libc/include/malloc.yaml
    A libc/include/math.yaml
    A libc/include/pthread.yaml
    A libc/include/sched.yaml
    A libc/include/search.yaml
    A libc/include/setjmp.yaml
    A libc/include/signal.yaml
    A libc/include/spawn.yaml
    A libc/include/stdbit.yaml
    A libc/include/stdckdint.yaml
    A libc/include/stdfix.yaml
    A libc/include/stdint.yaml
    A libc/include/stdio.yaml
    A libc/include/stdlib.yaml
    A libc/include/string.yaml
    A libc/include/strings.yaml
    A libc/include/sys/auxv.yaml
    A libc/include/sys/epoll.yaml
    A libc/include/sys/ioctl.yaml
    A libc/include/sys/mman.yaml
    A libc/include/sys/prctl.yaml
    A libc/include/sys/random.yaml
    A libc/include/sys/resource.yaml
    A libc/include/sys/select.yaml
    A libc/include/sys/sendfile.yaml
    A libc/include/sys/socket.yaml
    A libc/include/sys/stat.yaml
    A libc/include/sys/statvfs.yaml
    A libc/include/sys/syscall.yaml
    A libc/include/sys/time.yaml
    A libc/include/sys/types.yaml
    A libc/include/sys/utsname.yaml
    A libc/include/sys/wait.yaml
    A libc/include/termios.yaml
    A libc/include/threads.yaml
    A libc/include/time.yaml
    A libc/include/uchar.yaml
    A libc/include/unistd.yaml
    A libc/include/wchar.yaml
    M libc/src/__support/RPC/CMakeLists.txt
    M libc/src/compiler/generic/__stack_chk_fail.cpp
    M libc/src/complex/cimagf128.h
    M libc/src/complex/cimagf16.h
    M libc/src/complex/conjf128.h
    M libc/src/complex/conjf16.h
    M libc/src/complex/cprojf128.h
    M libc/src/complex/cprojf16.h
    M libc/src/complex/crealf128.h
    M libc/src/complex/crealf16.h
    M libc/src/complex/generic/cimagf128.cpp
    M libc/src/complex/generic/cimagf16.cpp
    M libc/src/complex/generic/conjf128.cpp
    M libc/src/complex/generic/conjf16.cpp
    M libc/src/complex/generic/cprojf128.cpp
    M libc/src/complex/generic/cprojf16.cpp
    M libc/src/complex/generic/crealf128.cpp
    M libc/src/complex/generic/crealf16.cpp
    M libc/src/math/docs/add_math_function.md
    M libc/test/UnitTest/FPMatcher.h
    M libc/test/src/complex/cimagf128_test.cpp
    M libc/test/src/complex/cimagf16_test.cpp
    M libc/test/src/complex/conjf128_test.cpp
    M libc/test/src/complex/conjf16_test.cpp
    M libc/test/src/complex/cprojf128_test.cpp
    M libc/test/src/complex/cprojf16_test.cpp
    M libc/test/src/complex/crealf128_test.cpp
    M libc/test/src/complex/crealf16_test.cpp
    M libc/test/src/math/smoke/CanonicalizeTest.h
    M libc/test/src/math/smoke/FModTest.h
    M libc/utils/CMakeLists.txt
    A libc/utils/hdrgen/CMakeLists.txt
    A libc/utils/hdrgen/README.rst
    A libc/utils/hdrgen/enumeration.py
    A libc/utils/hdrgen/function.py
    A libc/utils/hdrgen/gpu_headers.py
    A libc/utils/hdrgen/header.py
    A libc/utils/hdrgen/macro.py
    A libc/utils/hdrgen/object.py
    A libc/utils/hdrgen/tests/expected_output/test_header.h
    A libc/utils/hdrgen/tests/input/test_small.h.def
    A libc/utils/hdrgen/tests/input/test_small.yaml
    A libc/utils/hdrgen/tests/test_integration.py
    A libc/utils/hdrgen/type.py
    A libc/utils/hdrgen/yaml_functions_sorted.py
    A libc/utils/hdrgen/yaml_to_classes.py
    M libcxx/.clang-tidy
    A libcxx/cmake/caches/Generic-cxx03-frozen.cmake
    M libcxx/docs/Hardening.rst
    M libcxx/docs/Status/Cxx17Papers.csv
    M libcxx/include/CMakeLists.txt
    M libcxx/include/__algorithm/mismatch.h
    M libcxx/include/__algorithm/simd_utils.h
    M libcxx/include/__config
    R libcxx/include/__cxx03/CMakeLists.txt
    M libcxx/include/__cxx03/__config
    M libcxx/include/__cxx03/__configuration/abi.h
    M libcxx/include/__cxx03/__configuration/compiler.h
    A libcxx/include/__cxx03/__configuration/config_site_shim.h
    M libcxx/include/__cxx03/__configuration/language.h
    M libcxx/include/__cxx03/__configuration/platform.h
    M libcxx/include/__cxx03/__locale_dir/locale_base_api/bsd_locale_fallbacks.h
    M libcxx/include/__cxx03/__thread/support/pthread.h
    M libcxx/include/__cxx03/climits
    M libcxx/include/__cxx03/locale
    M libcxx/include/__cxx03/module.modulemap
    M libcxx/include/__cxx03/version
    M libcxx/include/__functional/function.h
    M libcxx/include/__fwd/memory.h
    M libcxx/include/__fwd/memory_resource.h
    M libcxx/include/__memory/allocator_arg_t.h
    M libcxx/include/__memory/allocator_destructor.h
    M libcxx/include/__memory/pointer_traits.h
    M libcxx/include/__memory/unique_ptr.h
    M libcxx/include/__memory_resource/monotonic_buffer_resource.h
    M libcxx/include/__ostream/basic_ostream.h
    M libcxx/include/__ranges/join_view.h
    M libcxx/include/__tuple/make_tuple_types.h
    M libcxx/include/__tuple/sfinae_helpers.h
    M libcxx/include/__tuple/tuple_element.h
    M libcxx/include/__type_traits/add_cv_quals.h
    M libcxx/include/__type_traits/add_lvalue_reference.h
    M libcxx/include/__type_traits/add_pointer.h
    M libcxx/include/__type_traits/add_rvalue_reference.h
    M libcxx/include/__type_traits/aligned_storage.h
    M libcxx/include/__type_traits/common_type.h
    M libcxx/include/__type_traits/decay.h
    M libcxx/include/__type_traits/make_signed.h
    M libcxx/include/__type_traits/make_unsigned.h
    M libcxx/include/__type_traits/remove_pointer.h
    M libcxx/include/__type_traits/type_list.h
    M libcxx/include/__type_traits/unwrap_ref.h
    M libcxx/include/__utility/exception_guard.h
    M libcxx/include/__utility/move.h
    M libcxx/include/algorithm
    M libcxx/include/any
    M libcxx/include/array
    M libcxx/include/atomic
    M libcxx/include/barrier
    M libcxx/include/bit
    M libcxx/include/bitset
    M libcxx/include/cassert
    M libcxx/include/ccomplex
    M libcxx/include/cctype
    M libcxx/include/cerrno
    M libcxx/include/cfenv
    M libcxx/include/cfloat
    M libcxx/include/charconv
    M libcxx/include/chrono
    M libcxx/include/cinttypes
    M libcxx/include/ciso646
    M libcxx/include/climits
    M libcxx/include/clocale
    M libcxx/include/cmath
    M libcxx/include/codecvt
    M libcxx/include/compare
    M libcxx/include/complex
    M libcxx/include/complex.h
    M libcxx/include/concepts
    M libcxx/include/condition_variable
    M libcxx/include/coroutine
    M libcxx/include/csetjmp
    M libcxx/include/csignal
    M libcxx/include/cstdalign
    M libcxx/include/cstdarg
    M libcxx/include/cstdbool
    M libcxx/include/cstddef
    M libcxx/include/cstdint
    M libcxx/include/cstdio
    M libcxx/include/cstdlib
    M libcxx/include/cstring
    M libcxx/include/ctgmath
    M libcxx/include/ctime
    M libcxx/include/ctype.h
    M libcxx/include/cuchar
    M libcxx/include/cwchar
    M libcxx/include/cwctype
    M libcxx/include/deque
    M libcxx/include/errno.h
    M libcxx/include/exception
    M libcxx/include/execution
    M libcxx/include/expected
    M libcxx/include/experimental/iterator
    M libcxx/include/experimental/memory
    M libcxx/include/experimental/propagate_const
    M libcxx/include/experimental/simd
    M libcxx/include/experimental/type_traits
    M libcxx/include/experimental/utility
    M libcxx/include/ext/hash_map
    M libcxx/include/ext/hash_set
    M libcxx/include/fenv.h
    M libcxx/include/filesystem
    M libcxx/include/flat_map
    M libcxx/include/float.h
    M libcxx/include/format
    M libcxx/include/forward_list
    M libcxx/include/fstream
    M libcxx/include/functional
    M libcxx/include/future
    M libcxx/include/initializer_list
    M libcxx/include/inttypes.h
    M libcxx/include/iomanip
    M libcxx/include/ios
    M libcxx/include/iosfwd
    M libcxx/include/iostream
    M libcxx/include/istream
    M libcxx/include/iterator
    M libcxx/include/latch
    M libcxx/include/limits
    M libcxx/include/list
    M libcxx/include/locale
    M libcxx/include/map
    M libcxx/include/math.h
    M libcxx/include/mdspan
    M libcxx/include/memory
    M libcxx/include/memory_resource
    M libcxx/include/mutex
    M libcxx/include/new
    M libcxx/include/numbers
    M libcxx/include/numeric
    M libcxx/include/optional
    M libcxx/include/ostream
    M libcxx/include/print
    M libcxx/include/queue
    M libcxx/include/random
    M libcxx/include/ranges
    M libcxx/include/ratio
    M libcxx/include/regex
    M libcxx/include/scoped_allocator
    M libcxx/include/semaphore
    M libcxx/include/set
    M libcxx/include/shared_mutex
    M libcxx/include/source_location
    M libcxx/include/span
    M libcxx/include/sstream
    M libcxx/include/stack
    M libcxx/include/stdatomic.h
    M libcxx/include/stdbool.h
    M libcxx/include/stddef.h
    M libcxx/include/stdexcept
    M libcxx/include/stdio.h
    M libcxx/include/stdlib.h
    M libcxx/include/stop_token
    M libcxx/include/streambuf
    M libcxx/include/string
    M libcxx/include/string.h
    M libcxx/include/string_view
    M libcxx/include/strstream
    M libcxx/include/syncstream
    M libcxx/include/system_error
    M libcxx/include/tgmath.h
    M libcxx/include/thread
    M libcxx/include/tuple
    M libcxx/include/type_traits
    M libcxx/include/typeindex
    M libcxx/include/typeinfo
    M libcxx/include/uchar.h
    M libcxx/include/unordered_map
    M libcxx/include/unordered_set
    M libcxx/include/utility
    M libcxx/include/valarray
    M libcxx/include/variant
    M libcxx/include/vector
    M libcxx/include/version
    M libcxx/include/wchar.h
    M libcxx/include/wctype.h
    M libcxx/lib/abi/CHANGELOG.TXT
    M libcxx/lib/abi/arm64-apple-darwin.libcxxabi.v1.stable.exceptions.nonew.abilist
    M libcxx/lib/abi/i686-linux-android21.libcxxabi.v1.stable.exceptions.nonew.abilist
    M libcxx/lib/abi/powerpc-ibm-aix.libcxxabi.v1.stable.exceptions.nonew.abilist
    M libcxx/lib/abi/powerpc64-ibm-aix.libcxxabi.v1.stable.exceptions.nonew.abilist
    M libcxx/lib/abi/x86_64-apple-darwin.libcxxabi.v1.stable.exceptions.nonew.abilist
    M libcxx/lib/abi/x86_64-linux-android21.libcxxabi.v1.stable.exceptions.nonew.abilist
    M libcxx/lib/abi/x86_64-unknown-freebsd.libcxxabi.v1.stable.exceptions.nonew.abilist
    M libcxx/lib/abi/x86_64-unknown-linux-gnu.libcxxabi.v1.stable.exceptions.nonew.abilist
    M libcxx/lib/abi/x86_64-unknown-linux-gnu.libcxxabi.v1.stable.noexceptions.nonew.abilist
    M libcxx/src/memory_resource.cpp
    M libcxx/test/benchmarks/algorithms/min_max_element.bench.cpp
    R libcxx/test/benchmarks/allocation.bench.cpp
    A libcxx/test/benchmarks/locale/num_get.bench.cpp
    M libcxx/test/libcxx/algorithms/half_positive.pass.cpp
    M libcxx/test/libcxx/assertions/customize_verbose_abort.link-time.pass.cpp
    M libcxx/test/libcxx/assertions/default_verbose_abort.pass.cpp
    M libcxx/test/libcxx/assertions/modes/none.pass.cpp
    M libcxx/test/libcxx/assertions/single_expression.pass.cpp
    M libcxx/test/libcxx/atomics/atomics.syn/compatible_with_stdatomic.compile.pass.cpp
    M libcxx/test/libcxx/clang_modules_include.gen.py
    M libcxx/test/libcxx/clang_tidy.gen.py
    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/associative/unord.map/abi.compile.pass.cpp
    M libcxx/test/libcxx/containers/associative/unord.set/abi.compile.pass.cpp
    M libcxx/test/libcxx/containers/container_traits.compile.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/depr/depr.c.headers/extern_c.pass.cpp
    M libcxx/test/libcxx/header_inclusions.gen.py
    M libcxx/test/libcxx/input.output/file.streams/fstreams/filebuf/traits_mismatch.verify.cpp
    M libcxx/test/libcxx/input.output/file.streams/fstreams/traits_mismatch.verify.cpp
    M libcxx/test/libcxx/input.output/iostream.format/input.streams/traits_mismatch.verify.cpp
    M libcxx/test/libcxx/input.output/iostream.format/output.streams/traits_mismatch.verify.cpp
    M libcxx/test/libcxx/input.output/string.streams/stringbuf/const_sso_buffer.pass.cpp
    M libcxx/test/libcxx/input.output/string.streams/traits_mismatch.verify.cpp
    M libcxx/test/libcxx/iterators/aliasing_iterator.pass.cpp
    M libcxx/test/libcxx/iterators/bounded_iter/arithmetic.pass.cpp
    M libcxx/test/libcxx/iterators/bounded_iter/comparison.pass.cpp
    M libcxx/test/libcxx/iterators/bounded_iter/pointer_traits.pass.cpp
    M libcxx/test/libcxx/iterators/bounded_iter/types.compile.pass.cpp
    M libcxx/test/libcxx/iterators/contiguous_iterators.conv.compile.pass.cpp
    M libcxx/test/libcxx/iterators/contiguous_iterators.verify.cpp
    M libcxx/test/libcxx/iterators/iterator.primitives/iterator.operations/prev.verify.cpp
    M libcxx/test/libcxx/language.support/support.dynamic/libcpp_deallocate.sh.cpp
    M libcxx/test/libcxx/lint/lint_cmakelists.sh.py
    M libcxx/test/libcxx/memory/allocation_guard.pass.cpp
    M libcxx/test/libcxx/memory/swap_allocator.pass.cpp
    M libcxx/test/libcxx/numerics/bit.ops.pass.cpp
    M libcxx/test/libcxx/numerics/clamp_to_integral.pass.cpp
    M libcxx/test/libcxx/numerics/complex.number/cmplx.over.pow.pass.cpp
    A libcxx/test/libcxx/numerics/numarray/assert.pass.cpp
    M libcxx/test/libcxx/selftest/test_macros.pass.cpp
    M libcxx/test/libcxx/strings/c.strings/constexpr_memmove.pass.cpp
    M libcxx/test/libcxx/transitive_includes.gen.py
    M libcxx/test/libcxx/type_traits/datasizeof.compile.pass.cpp
    M libcxx/test/libcxx/type_traits/is_constant_evaluated.pass.cpp
    M libcxx/test/libcxx/type_traits/is_trivially_comparable.compile.pass.cpp
    M libcxx/test/libcxx/type_traits/is_trivially_relocatable.compile.pass.cpp
    M libcxx/test/libcxx/utilities/exception_guard.odr.sh.cpp
    M libcxx/test/libcxx/utilities/is_pointer_in_range.pass.cpp
    M libcxx/test/libcxx/utilities/is_valid_range.pass.cpp
    M libcxx/test/libcxx/utilities/meta/meta_base.pass.cpp
    M libcxx/test/libcxx/utilities/no_destroy.pass.cpp
    A libcxx/test/libcxx/utilities/template.bitset/assert.pass.cpp
    M libcxx/test/libcxx/utilities/template.bitset/includes.pass.cpp
    M libcxx/test/libcxx/utilities/utility/private_constructor_tag.compile.pass.cpp
    M libcxx/test/std/containers/sequences/array/array.fill/fill.verify.cpp
    M libcxx/test/std/containers/sequences/array/array.swap/swap.verify.cpp
    M libcxx/test/std/containers/sequences/array/array.tuple/get.verify.cpp
    M libcxx/test/std/containers/sequences/array/array.tuple/tuple_element.verify.cpp
    M libcxx/test/std/containers/sequences/array/size_and_alignment.compile.pass.cpp
    M libcxx/test/std/containers/sequences/forwardlist/types.pass.cpp
    M libcxx/test/std/containers/sequences/list/types.pass.cpp
    M libcxx/test/std/containers/sequences/vector/vector.cons/exceptions.pass.cpp
    M libcxx/test/std/input.output/file.streams/fstreams/fstream.cons/default.pass.cpp
    M libcxx/test/std/input.output/file.streams/fstreams/fstream.cons/move.pass.cpp
    M libcxx/test/std/input.output/file.streams/fstreams/fstream.cons/pointer.pass.cpp
    M libcxx/test/std/input.output/file.streams/fstreams/fstream.cons/string.pass.cpp
    M libcxx/test/std/input.output/file.streams/fstreams/ifstream.cons/default.pass.cpp
    M libcxx/test/std/input.output/file.streams/fstreams/ifstream.cons/move.pass.cpp
    M libcxx/test/std/input.output/file.streams/fstreams/ifstream.cons/pointer.pass.cpp
    M libcxx/test/std/input.output/file.streams/fstreams/ifstream.cons/string.pass.cpp
    M libcxx/test/std/input.output/file.streams/fstreams/ofstream.cons/default.pass.cpp
    M libcxx/test/std/input.output/file.streams/fstreams/ofstream.cons/move.pass.cpp
    M libcxx/test/std/input.output/file.streams/fstreams/ofstream.cons/pointer.pass.cpp
    M libcxx/test/std/input.output/file.streams/fstreams/ofstream.cons/string.pass.cpp
    M libcxx/test/std/input.output/iostreams.base/ios/basic.ios.members/copyfmt.pass.cpp
    M libcxx/test/std/input.output/string.streams/istringstream/istringstream.cons/default.pass.cpp
    M libcxx/test/std/input.output/string.streams/istringstream/istringstream.cons/move.pass.cpp
    M libcxx/test/std/input.output/string.streams/istringstream/istringstream.cons/string.pass.cpp
    M libcxx/test/std/input.output/string.streams/ostringstream/ostringstream.cons/default.pass.cpp
    M libcxx/test/std/input.output/string.streams/ostringstream/ostringstream.cons/move.pass.cpp
    M libcxx/test/std/input.output/string.streams/ostringstream/ostringstream.cons/string.pass.cpp
    M libcxx/test/std/input.output/string.streams/stringbuf/stringbuf.cons/default.pass.cpp
    M libcxx/test/std/input.output/string.streams/stringstream/stringstream.cons/default.pass.cpp
    M libcxx/test/std/input.output/string.streams/stringstream/stringstream.cons/move.pass.cpp
    M libcxx/test/std/input.output/string.streams/stringstream/stringstream.cons/string.pass.cpp
    M libcxx/test/std/language.support/support.runtime/cstdalign.compile.pass.cpp
    M libcxx/test/std/numerics/c.math/isnormal.pass.cpp
    M libcxx/test/std/numerics/c.math/signbit.pass.cpp
    M libcxx/test/std/re/re.iter/re.tokiter/re.tokiter.cnstr/init.pass.cpp
    M libcxx/test/std/strings/basic.string/char.bad.verify.cpp
    M libcxx/test/std/strings/string.view/char.bad.verify.cpp
    A libcxx/test/std/utilities/meta/derived_from_integral_constant.compile.pass.cpp
    M libcxx/test/std/utilities/smartptr/unique.ptr/unique.ptr.class/unique.ptr.asgn/move_convert.runtime.pass.cpp
    M libcxx/test/std/utilities/template.bitset/bitset.members/nonstdmem.uglified.compile.pass.cpp
    M libcxx/test/std/utilities/template.bitset/bitset.members/op_and_eq.pass.cpp
    M libcxx/test/support/test_macros.h
    M libcxx/test/tools/clang_tidy_checks/proper_version_checks.cpp
    M libcxx/utils/ci/run-buildbot
    M libcxx/utils/generate_feature_test_macro_components.py
    M libcxx/utils/libcxx/test/params.py
    M libcxx/vendor/llvm/default_assertion_handler.in
    M lld/COFF/Driver.cpp
    M lld/COFF/Driver.h
    M lld/COFF/InputFiles.cpp
    M lld/COFF/SymbolTable.cpp
    M lld/COFF/SymbolTable.h
    M lld/COFF/Writer.cpp
    M lld/ELF/Config.h
    M lld/ELF/Driver.cpp
    M lld/ELF/SyntheticSections.cpp
    M lld/MachO/Driver.cpp
    M lld/MachO/Options.td
    M lld/MachO/SymbolTable.cpp
    A lld/test/COFF/Inputs/loadconfig-arm64.s
    M lld/test/COFF/arm64ec-codemap.test
    M lld/test/COFF/arm64ec-entry-thunk.s
    M lld/test/COFF/arm64ec-lib.test
    M lld/test/COFF/arm64ec-range-thunks.s
    M lld/test/COFF/arm64x-loadconfig.s
    M lld/test/COFF/arm64x-symtab.s
    M lld/test/COFF/guard-warnings.s
    A lld/test/COFF/linkrepro-thin-archives.s
    A lld/test/COFF/loadcfg-short.test
    A lld/test/COFF/loadcfg-size.test
    A lld/test/COFF/loadcfg-uninitialized.test
    M lld/test/ELF/linkerscript/discard-section-dynsym.s
    M lld/test/MachO/bp-section-orderer-errs.s
    M lld/test/MachO/bp-section-orderer.s
    A lld/test/wasm/dylink-non-pie.s
    M lld/wasm/Config.h
    M lld/wasm/Driver.cpp
    M lld/wasm/InputChunks.cpp
    M lld/wasm/InputChunks.h
    M lld/wasm/InputElement.h
    M lld/wasm/InputFiles.cpp
    M lld/wasm/InputFiles.h
    M lld/wasm/LTO.cpp
    M lld/wasm/MapFile.cpp
    M lld/wasm/MarkLive.cpp
    M lld/wasm/OutputSections.cpp
    M lld/wasm/Relocations.cpp
    M lld/wasm/SymbolTable.cpp
    M lld/wasm/Symbols.cpp
    M lld/wasm/Symbols.h
    M lld/wasm/SyntheticSections.cpp
    M lld/wasm/SyntheticSections.h
    M lld/wasm/Writer.cpp
    M lldb/cmake/modules/LLDBConfig.cmake
    M lldb/include/lldb/API/SBError.h
    M lldb/include/lldb/API/SBStructuredData.h
    M lldb/include/lldb/Utility/DiagnosticsRendering.h
    M lldb/include/lldb/Utility/Status.h
    M lldb/packages/Python/lldbsuite/test/tools/lldb-server/gdbremote_testcase.py
    M lldb/source/API/SBError.cpp
    M lldb/source/Host/posix/ConnectionFileDescriptorPosix.cpp
    M lldb/source/Host/posix/DomainSocket.cpp
    M lldb/source/Host/posix/MainLoopPosix.cpp
    M lldb/source/Initialization/CMakeLists.txt
    M lldb/source/Interpreter/CommandReturnObject.cpp
    M lldb/source/Plugins/ABI/X86/ABISysV_x86_64.cpp
    M lldb/source/Plugins/Language/ObjC/Cocoa.cpp
    M lldb/source/Plugins/ObjectContainer/BSD-Archive/ObjectContainerBSDArchive.cpp
    M lldb/source/Plugins/ObjectFile/Minidump/MinidumpFileBuilder.cpp
    M lldb/source/Plugins/ObjectFile/Minidump/MinidumpFileBuilder.h
    M lldb/source/Plugins/Process/CMakeLists.txt
    M lldb/source/Plugins/Process/minidump/MinidumpParser.cpp
    M lldb/source/Plugins/Process/minidump/MinidumpParser.h
    M lldb/source/Plugins/Process/minidump/ProcessMinidump.cpp
    M lldb/source/Plugins/Process/minidump/ProcessMinidump.h
    M lldb/source/Plugins/SymbolFile/DWARF/DWARFASTParserClang.cpp
    M lldb/source/Plugins/SymbolFile/DWARF/DWARFASTParserClang.h
    M lldb/source/Plugins/SymbolFile/DWARF/SymbolFileDWARF.cpp
    M lldb/source/Plugins/SymbolFile/DWARF/SymbolFileDWARF.h
    M lldb/source/Plugins/SymbolFile/DWARF/SymbolFileDWARFDebugMap.h
    M lldb/source/Plugins/SymbolFile/DWARF/SymbolFileDWARFDwo.cpp
    M lldb/source/Plugins/SymbolFile/DWARF/SymbolFileDWARFDwo.h
    M lldb/source/Plugins/SymbolFile/DWARF/UniqueDWARFASTType.cpp
    M lldb/source/Plugins/TypeSystem/Clang/TypeSystemClang.cpp
    M lldb/source/Utility/DiagnosticsRendering.cpp
    M lldb/source/Utility/Status.cpp
    M lldb/test/API/commands/expression/diagnostics/TestExprDiagnostics.py
    M lldb/test/API/commands/frame/var/TestFrameVar.py
    M lldb/test/API/commands/register/register/register_command/TestRegisters.py
    A lldb/test/API/lang/cpp/typedef-to-outer-fwd/Makefile
    A lldb/test/API/lang/cpp/typedef-to-outer-fwd/TestTypedefToOuterFwd.py
    A lldb/test/API/lang/cpp/typedef-to-outer-fwd/lib.cpp
    A lldb/test/API/lang/cpp/typedef-to-outer-fwd/lib.h
    A lldb/test/API/lang/cpp/typedef-to-outer-fwd/main.cpp
    R lldb/test/Shell/Expr/TestObjCHiddenIvars.test
    M lldb/unittests/Symbol/TestTypeSystemClang.cpp
    M lldb/unittests/SymbolFile/DWARF/DWARFASTParserClangTests.cpp
    M llvm/Maintainers.md
    M llvm/bindings/ocaml/llvm/llvm.ml
    M llvm/bindings/ocaml/llvm/llvm.mli
    M llvm/bindings/ocaml/llvm/llvm_ocaml.c
    M llvm/cmake/modules/Findzstd.cmake
    M llvm/docs/CommandGuide/llvm-exegesis.rst
    M llvm/docs/CommandGuide/llvm-objcopy.rst
    M llvm/docs/NVPTXUsage.rst
    M llvm/docs/RISCVUsage.rst
    M llvm/docs/ReleaseNotes.md
    A llvm/docs/Telemetry.rst
    M llvm/docs/UserGuides.rst
    A llvm/docs/llvm_telemetry_design.png
    M llvm/include/llvm/BinaryFormat/ELF.h
    M llvm/include/llvm/BinaryFormat/MinidumpConstants.def
    M llvm/include/llvm/CodeGen/BasicTTIImpl.h
    M llvm/include/llvm/CodeGen/GlobalISel/CombinerHelper.h
    M llvm/include/llvm/CodeGen/GlobalISel/MIPatternMatch.h
    M llvm/include/llvm/CodeGen/GlobalISel/Utils.h
    M llvm/include/llvm/CodeGen/ISDOpcodes.h
    M llvm/include/llvm/CodeGen/LiveRegMatrix.h
    M llvm/include/llvm/CodeGen/MachinePipeliner.h
    M llvm/include/llvm/CodeGen/MachineRegisterInfo.h
    M llvm/include/llvm/CodeGen/SelectionDAG.h
    M llvm/include/llvm/CodeGen/SelectionDAGNodes.h
    M llvm/include/llvm/CodeGen/SelectionDAGTargetInfo.h
    M llvm/include/llvm/CodeGen/TargetRegisterInfo.h
    M llvm/include/llvm/ExecutionEngine/JITLink/loongarch.h
    M llvm/include/llvm/ExecutionEngine/Orc/ELFNixPlatform.h
    M llvm/include/llvm/ExecutionEngine/Orc/LazyReexports.h
    M llvm/include/llvm/ExecutionEngine/Orc/MachOBuilder.h
    M llvm/include/llvm/Frontend/Atomic/Atomic.h
    M llvm/include/llvm/Frontend/OpenMP/OMPIRBuilder.h
    M llvm/include/llvm/IR/IntrinsicsHexagonDep.td
    M llvm/include/llvm/IR/IntrinsicsNVVM.td
    M llvm/include/llvm/IR/Metadata.h
    M llvm/include/llvm/IR/ModuleSummaryIndex.h
    M llvm/include/llvm/IR/Value.h
    M llvm/include/llvm/IR/VectorTypeUtils.h
    M llvm/include/llvm/MC/MCAsmInfo.h
    M llvm/include/llvm/MC/MCCodeView.h
    M llvm/include/llvm/MC/MCFragment.h
    M llvm/include/llvm/MC/MCSection.h
    M llvm/include/llvm/MC/MCStreamer.h
    M llvm/include/llvm/Passes/CodeGenPassBuilder.h
    M llvm/include/llvm/Passes/MachinePassRegistry.def
    M llvm/include/llvm/ProfileData/Coverage/CoverageMapping.h
    M llvm/include/llvm/Target/CGPassBuilderOption.h
    M llvm/include/llvm/Target/GenericOpcodes.td
    M llvm/include/llvm/Target/GlobalISel/Combine.td
    M llvm/include/llvm/Target/GlobalISel/SelectionDAGCompat.td
    M llvm/include/llvm/Target/TargetSelectionDAG.td
    A llvm/include/llvm/Telemetry/Telemetry.h
    M llvm/include/llvm/Transforms/IPO/Attributor.h
    M llvm/include/llvm/Transforms/Instrumentation/BoundsChecking.h
    M llvm/include/llvm/Transforms/Instrumentation/MemProfiler.h
    M llvm/include/llvm/Transforms/Utils/BuildLibCalls.h
    M llvm/include/llvm/Transforms/Utils/Local.h
    M llvm/include/llvm/Transforms/Vectorize/SandboxVectorizer/DependencyGraph.h
    M llvm/lib/Analysis/MemoryProfileInfo.cpp
    M llvm/lib/Analysis/ScalarEvolution.cpp
    M llvm/lib/Analysis/ValueTracking.cpp
    M llvm/lib/CMakeLists.txt
    M llvm/lib/CodeGen/AsmPrinter/AsmPrinter.cpp
    M llvm/lib/CodeGen/AsmPrinter/AsmPrinterInlineAsm.cpp
    M llvm/lib/CodeGen/GlobalISel/CombinerHelper.cpp
    M llvm/lib/CodeGen/GlobalISel/Utils.cpp
    M llvm/lib/CodeGen/GlobalMergeFunctions.cpp
    M llvm/lib/CodeGen/LiveRegMatrix.cpp
    M llvm/lib/CodeGen/MachinePipeliner.cpp
    M llvm/lib/CodeGen/MachineRegisterInfo.cpp
    M llvm/lib/CodeGen/MachineTraceMetrics.cpp
    M llvm/lib/CodeGen/PostRASchedulerList.cpp
    M llvm/lib/CodeGen/RegAllocGreedy.cpp
    M llvm/lib/CodeGen/RegAllocPriorityAdvisor.cpp
    M llvm/lib/CodeGen/RegAllocPriorityAdvisor.h
    M llvm/lib/CodeGen/SelectOptimize.cpp
    M llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
    M llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp
    M llvm/lib/CodeGen/SelectionDAG/SelectionDAGISel.cpp
    M llvm/lib/CodeGen/SelectionDAG/SelectionDAGTargetInfo.cpp
    M llvm/lib/CodeGen/StackMapLivenessAnalysis.cpp
    M llvm/lib/CodeGen/SwiftErrorValueTracking.cpp
    M llvm/lib/CodeGen/TargetPassConfig.cpp
    M llvm/lib/CodeGen/TargetRegisterInfo.cpp
    M llvm/lib/DebugInfo/GSYM/CallSiteInfo.cpp
    M llvm/lib/DebugInfo/GSYM/GsymCreator.cpp
    M llvm/lib/ExecutionEngine/JITLink/COFFLinkGraphBuilder.cpp
    M llvm/lib/ExecutionEngine/JITLink/COFFLinkGraphBuilder.h
    M llvm/lib/ExecutionEngine/JITLink/COFF_x86_64.cpp
    M llvm/lib/ExecutionEngine/JITLink/ELF_loongarch.cpp
    M llvm/lib/ExecutionEngine/JITLink/loongarch.cpp
    M llvm/lib/ExecutionEngine/Orc/Debugging/DebuggerSupportPlugin.cpp
    M llvm/lib/ExecutionEngine/Orc/LazyReexports.cpp
    M llvm/lib/ExecutionEngine/Orc/MachOPlatform.cpp
    M llvm/lib/ExecutionEngine/Orc/TaskDispatch.cpp
    M llvm/lib/Frontend/Atomic/Atomic.cpp
    M llvm/lib/Frontend/OpenMP/CMakeLists.txt
    M llvm/lib/Frontend/OpenMP/OMPIRBuilder.cpp
    M llvm/lib/IR/ConstantRange.cpp
    M llvm/lib/IR/SafepointIRVerifier.cpp
    M llvm/lib/IR/Verifier.cpp
    M llvm/lib/MC/MCAsmInfoXCOFF.cpp
    M llvm/lib/MC/MCAsmStreamer.cpp
    M llvm/lib/MC/MCAssembler.cpp
    M llvm/lib/MC/MCCodeView.cpp
    M llvm/lib/MC/MCFragment.cpp
    M llvm/lib/MC/MCMachOStreamer.cpp
    M llvm/lib/MC/MCObjectStreamer.cpp
    M llvm/lib/MC/MCParser/AsmLexer.cpp
    M llvm/lib/MC/MCParser/AsmParser.cpp
    M llvm/lib/MC/MCSPIRVStreamer.cpp
    M llvm/lib/MC/MCStreamer.cpp
    M llvm/lib/MC/MCWasmStreamer.cpp
    M llvm/lib/MC/MCWinCOFFStreamer.cpp
    M llvm/lib/MC/MCXCOFFStreamer.cpp
    M llvm/lib/MC/WasmObjectWriter.cpp
    M llvm/lib/MC/WinCOFFObjectWriter.cpp
    M llvm/lib/ObjCopy/ConfigManager.cpp
    M llvm/lib/ObjCopy/MachO/MachOObjcopy.cpp
    M llvm/lib/ObjCopy/MachO/MachOObject.cpp
    M llvm/lib/ObjCopy/MachO/MachOObject.h
    M llvm/lib/Object/COFFImportFile.cpp
    M llvm/lib/Object/ELFObjectFile.cpp
    M llvm/lib/ObjectYAML/ELFEmitter.cpp
    M llvm/lib/ObjectYAML/ELFYAML.cpp
    M llvm/lib/Passes/PassBuilder.cpp
    M llvm/lib/Passes/PassRegistry.def
    M llvm/lib/ProfileData/Coverage/CoverageMapping.cpp
    M llvm/lib/ProfileData/MemProfReader.cpp
    M llvm/lib/Support/Windows/Path.inc
    M llvm/lib/Target/AArch64/AArch64AsmPrinter.cpp
    M llvm/lib/Target/AArch64/AArch64Combine.td
    M llvm/lib/Target/AArch64/AArch64FastISel.cpp
    M llvm/lib/Target/AArch64/AArch64Features.td
    M llvm/lib/Target/AArch64/AArch64ISelDAGToDAG.cpp
    M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
    M llvm/lib/Target/AArch64/AArch64ISelLowering.h
    M llvm/lib/Target/AArch64/AArch64InstrFormats.td
    M llvm/lib/Target/AArch64/AArch64InstrInfo.td
    M llvm/lib/Target/AArch64/AArch64MachineFunctionInfo.h
    M llvm/lib/Target/AArch64/AArch64RegisterInfo.td
    M llvm/lib/Target/AArch64/AArch64SMEInstrInfo.td
    M llvm/lib/Target/AArch64/AArch64SVEInstrInfo.td
    M llvm/lib/Target/AArch64/AArch64SelectionDAGInfo.cpp
    M llvm/lib/Target/AArch64/AArch64SelectionDAGInfo.h
    M llvm/lib/Target/AArch64/AArch64TargetTransformInfo.cpp
    M llvm/lib/Target/AArch64/AArch64TargetTransformInfo.h
    M llvm/lib/Target/AArch64/AsmParser/AArch64AsmParser.cpp
    M llvm/lib/Target/AArch64/GISel/AArch64LegalizerInfo.cpp
    M llvm/lib/Target/AArch64/GISel/AArch64PostLegalizerLowering.cpp
    M llvm/lib/Target/AArch64/SVEInstrFormats.td
    M llvm/lib/Target/AArch64/Utils/AArch64BaseInfo.h
    M llvm/lib/Target/AArch64/Utils/AArch64SMEAttributes.cpp
    M llvm/lib/Target/AArch64/Utils/AArch64SMEAttributes.h
    M llvm/lib/Target/AMDGPU/AMDGPUISelLowering.cpp
    M llvm/lib/Target/AMDGPU/AMDGPUISelLowering.h
    M llvm/lib/Target/AMDGPU/AMDGPUSelectionDAGInfo.cpp
    M llvm/lib/Target/AMDGPU/AMDGPUSelectionDAGInfo.h
    M llvm/lib/Target/AMDGPU/AMDGPUSwLowerLDS.cpp
    M llvm/lib/Target/AMDGPU/MIMGInstructions.td
    M llvm/lib/Target/AMDGPU/VOP3Instructions.td
    M llvm/lib/Target/ARM/ARMISelLowering.cpp
    M llvm/lib/Target/ARM/ARMISelLowering.h
    M llvm/lib/Target/ARM/ARMSelectionDAGInfo.cpp
    M llvm/lib/Target/ARM/ARMSelectionDAGInfo.h
    M llvm/lib/Target/ARM/MVEGatherScatterLowering.cpp
    M llvm/lib/Target/ARM/Utils/ARMBaseInfo.h
    M llvm/lib/Target/AVR/AVRDevices.td
    M llvm/lib/Target/AVR/MCTargetDesc/AVRAsmBackend.cpp
    M llvm/lib/Target/Hexagon/Hexagon.td
    M llvm/lib/Target/Hexagon/HexagonDepArch.h
    M llvm/lib/Target/Hexagon/HexagonDepArch.td
    M llvm/lib/Target/Hexagon/HexagonDepIICHVX.td
    M llvm/lib/Target/Hexagon/HexagonDepIICScalar.td
    M llvm/lib/Target/Hexagon/HexagonISelLowering.cpp
    M llvm/lib/Target/Hexagon/HexagonSchedule.td
    A llvm/lib/Target/Hexagon/HexagonScheduleV75.td
    A llvm/lib/Target/Hexagon/HexagonScheduleV79.td
    M llvm/lib/Target/Hexagon/HexagonSubtarget.h
    M llvm/lib/Target/Hexagon/HexagonTargetMachine.h
    M llvm/lib/Target/Hexagon/MCTargetDesc/HexagonAsmBackend.cpp
    M llvm/lib/Target/Hexagon/MCTargetDesc/HexagonMCELFStreamer.cpp
    M llvm/lib/Target/Hexagon/MCTargetDesc/HexagonMCTargetDesc.cpp
    M llvm/lib/Target/LoongArch/LoongArchExpandPseudoInsts.cpp
    M llvm/lib/Target/LoongArch/LoongArchISelLowering.cpp
    M llvm/lib/Target/LoongArch/LoongArchInstrInfo.cpp
    M llvm/lib/Target/LoongArch/LoongArchMCInstLower.cpp
    M llvm/lib/Target/LoongArch/MCTargetDesc/LoongArchBaseInfo.h
    M llvm/lib/Target/Mips/AsmParser/MipsAsmParser.cpp
    M llvm/lib/Target/Mips/MipsISelLowering.h
    M llvm/lib/Target/Mips/MipsSelectionDAGInfo.cpp
    M llvm/lib/Target/Mips/MipsSelectionDAGInfo.h
    M llvm/lib/Target/NVPTX/NVPTXISelLowering.h
    M llvm/lib/Target/NVPTX/NVPTXInstrInfo.td
    M llvm/lib/Target/NVPTX/NVPTXIntrinsics.td
    M llvm/lib/Target/NVPTX/NVPTXSelectionDAGInfo.cpp
    M llvm/lib/Target/NVPTX/NVPTXSelectionDAGInfo.h
    M llvm/lib/Target/PowerPC/PPCAsmPrinter.cpp
    M llvm/lib/Target/PowerPC/PPCISelLowering.h
    M llvm/lib/Target/PowerPC/PPCInstrInfo.cpp
    M llvm/lib/Target/PowerPC/PPCSelectionDAGInfo.cpp
    M llvm/lib/Target/PowerPC/PPCSelectionDAGInfo.h
    M llvm/lib/Target/RISCV/AsmParser/RISCVAsmParser.cpp
    M llvm/lib/Target/RISCV/Disassembler/RISCVDisassembler.cpp
    M llvm/lib/Target/RISCV/GISel/RISCVInstructionSelector.cpp
    M llvm/lib/Target/RISCV/MCTargetDesc/RISCVBaseInfo.h
    M llvm/lib/Target/RISCV/MCTargetDesc/RISCVMCCodeEmitter.cpp
    M llvm/lib/Target/RISCV/RISCV.td
    M llvm/lib/Target/RISCV/RISCVCombine.td
    M llvm/lib/Target/RISCV/RISCVFeatures.td
    M llvm/lib/Target/RISCV/RISCVISelDAGToDAG.cpp
    M llvm/lib/Target/RISCV/RISCVISelDAGToDAG.h
    M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
    M llvm/lib/Target/RISCV/RISCVISelLowering.h
    M llvm/lib/Target/RISCV/RISCVInsertVSETVLI.cpp
    M llvm/lib/Target/RISCV/RISCVInstrInfo.cpp
    M llvm/lib/Target/RISCV/RISCVInstrInfo.td
    M llvm/lib/Target/RISCV/RISCVInstrInfoC.td
    M llvm/lib/Target/RISCV/RISCVInstrInfoV.td
    M llvm/lib/Target/RISCV/RISCVInstrInfoXSf.td
    M llvm/lib/Target/RISCV/RISCVInstrInfoXTHead.td
    M llvm/lib/Target/RISCV/RISCVInstrInfoXqci.td
    M llvm/lib/Target/RISCV/RISCVInstrInfoXwch.td
    M llvm/lib/Target/RISCV/RISCVProcessors.td
    A llvm/lib/Target/RISCV/RISCVSchedTTAscalonD8.td
    M llvm/lib/Target/RISCV/RISCVSchedule.td
    M llvm/lib/Target/RISCV/RISCVSelectionDAGInfo.cpp
    M llvm/lib/Target/RISCV/RISCVSelectionDAGInfo.h
    M llvm/lib/Target/RISCV/RISCVSystemOperands.td
    M llvm/lib/Target/RISCV/RISCVTargetTransformInfo.cpp
    M llvm/lib/Target/RISCV/RISCVTargetTransformInfo.h
    M llvm/lib/Target/RISCV/RISCVVLOptimizer.cpp
    M llvm/lib/Target/SystemZ/MCTargetDesc/SystemZMCAsmInfo.cpp
    M llvm/lib/Target/SystemZ/SystemZISelLowering.h
    M llvm/lib/Target/SystemZ/SystemZSelectionDAGInfo.cpp
    M llvm/lib/Target/SystemZ/SystemZSelectionDAGInfo.h
    M llvm/lib/Target/TargetMachine.cpp
    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/WebAssemblySelectionDAGInfo.cpp
    M llvm/lib/Target/WebAssembly/WebAssemblySelectionDAGInfo.h
    M llvm/lib/Target/X86/MCTargetDesc/X86ATTInstPrinter.cpp
    M llvm/lib/Target/X86/MCTargetDesc/X86AsmBackend.cpp
    M llvm/lib/Target/X86/MCTargetDesc/X86InstComments.cpp
    M llvm/lib/Target/X86/MCTargetDesc/X86InstPrinterCommon.cpp
    M llvm/lib/Target/X86/MCTargetDesc/X86IntelInstPrinter.cpp
    M llvm/lib/Target/X86/X86ISelLowering.cpp
    M llvm/lib/Target/X86/X86ISelLowering.h
    M llvm/lib/Target/X86/X86InstrAVX10.td
    M llvm/lib/Target/X86/X86InstrAVX512.td
    M llvm/lib/Target/X86/X86InstrFMA3Info.cpp
    M llvm/lib/Target/X86/X86InstrInfo.cpp
    M llvm/lib/Target/X86/X86LoadValueInjectionRetHardening.cpp
    M llvm/lib/Target/X86/X86SchedSapphireRapids.td
    M llvm/lib/Target/X86/X86ScheduleZnver4.td
    M llvm/lib/Target/X86/X86SelectionDAGInfo.cpp
    M llvm/lib/Target/X86/X86SelectionDAGInfo.h
    M llvm/lib/TargetParser/RISCVISAInfo.cpp
    A llvm/lib/Telemetry/CMakeLists.txt
    A llvm/lib/Telemetry/Telemetry.cpp
    M llvm/lib/ToolDrivers/llvm-dlltool/DlltoolDriver.cpp
    M llvm/lib/Transforms/AggressiveInstCombine/AggressiveInstCombine.cpp
    M llvm/lib/Transforms/IPO/FunctionAttrs.cpp
    M llvm/lib/Transforms/IPO/MemProfContextDisambiguation.cpp
    M llvm/lib/Transforms/InstCombine/InstCombinePHI.cpp
    M llvm/lib/Transforms/InstCombine/InstCombineSelect.cpp
    M llvm/lib/Transforms/Instrumentation/BoundsChecking.cpp
    M llvm/lib/Transforms/Instrumentation/GCOVProfiling.cpp
    M llvm/lib/Transforms/Instrumentation/MemProfiler.cpp
    M llvm/lib/Transforms/Scalar/ConstraintElimination.cpp
    M llvm/lib/Transforms/Scalar/DFAJumpThreading.cpp
    M llvm/lib/Transforms/Scalar/DeadStoreElimination.cpp
    M llvm/lib/Transforms/Scalar/MemCpyOptimizer.cpp
    M llvm/lib/Transforms/Scalar/StraightLineStrengthReduce.cpp
    M llvm/lib/Transforms/Utils/BuildLibCalls.cpp
    M llvm/lib/Transforms/Utils/EntryExitInstrumenter.cpp
    M llvm/lib/Transforms/Utils/Local.cpp
    M llvm/lib/Transforms/Utils/SimplifyCFG.cpp
    M llvm/lib/Transforms/Utils/SimplifyLibCalls.cpp
    M llvm/lib/Transforms/Vectorize/LoopVectorizationPlanner.h
    M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
    M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
    M llvm/lib/Transforms/Vectorize/SandboxVectorizer/DependencyGraph.cpp
    M llvm/lib/Transforms/Vectorize/VPlan.cpp
    M llvm/lib/Transforms/Vectorize/VPlan.h
    M llvm/lib/Transforms/Vectorize/VPlanAnalysis.cpp
    M llvm/lib/Transforms/Vectorize/VPlanHCFGBuilder.cpp
    M llvm/lib/Transforms/Vectorize/VPlanHCFGBuilder.h
    M llvm/lib/Transforms/Vectorize/VPlanPatternMatch.h
    M llvm/lib/Transforms/Vectorize/VPlanRecipes.cpp
    M llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
    M llvm/lib/Transforms/Vectorize/VectorCombine.cpp
    A llvm/test/Analysis/CostModel/AArch64/shuffle-extract.ll
    M llvm/test/Analysis/CostModel/AArch64/shuffle-select.ll
    M llvm/test/Analysis/CostModel/AMDGPU/shufflevector.ll
    M llvm/test/Analysis/CostModel/RISCV/rvv-cmp.ll
    A llvm/test/Analysis/CostModel/RISCV/rvv-fcmp-f16.ll
    A llvm/test/Analysis/CostModel/RISCV/shuffle-exact-vlen.ll
    M llvm/test/Analysis/CostModel/X86/shuffle-single-src-latency.ll
    M llvm/test/Analysis/CostModel/X86/shuffle-splat-codesize.ll
    M llvm/test/Analysis/CostModel/X86/shuffle-splat-latency.ll
    M llvm/test/Analysis/CostModel/X86/shuffle-splat-sizelatency.ll
    M llvm/test/Analysis/CostModel/X86/shuffle-splat.ll
    M llvm/test/Analysis/LoopAccessAnalysis/nssw-predicate-implied.ll
    M llvm/test/Analysis/LoopAccessAnalysis/wrapping-pointer-versioning.ll
    M llvm/test/Analysis/ScalarEvolution/backedge-taken-count-guard-info-with-multiple-predecessors.ll
    A llvm/test/Analysis/ValueTracking/knownbits-trunc-with-min-max-clamp.ll
    M llvm/test/Bindings/OCaml/core.ml
    M llvm/test/CodeGen/AArch64/GlobalISel/combine-select.mir
    M llvm/test/CodeGen/AArch64/GlobalISel/legalize-bitreverse.mir
    M llvm/test/CodeGen/AArch64/GlobalISel/legalize-cmp.mir
    A llvm/test/CodeGen/AArch64/GlobalISel/legalize-shuffle-1x.ll
    M llvm/test/CodeGen/AArch64/GlobalISel/legalize-shuffle-vector.mir
    M llvm/test/CodeGen/AArch64/GlobalISel/legalizer-info-validation.mir
    M llvm/test/CodeGen/AArch64/aarch64-dup-ext.ll
    M llvm/test/CodeGen/AArch64/bitreverse.ll
    A llvm/test/CodeGen/AArch64/cgdata-no-merge-attached-call-garget.ll
    M llvm/test/CodeGen/AArch64/commandline-metadata.ll
    A llvm/test/CodeGen/AArch64/csel-subs-swapped.ll
    M llvm/test/CodeGen/AArch64/neon-dotreduce.ll
    M llvm/test/CodeGen/AArch64/neon-reverseshuffle.ll
    A llvm/test/CodeGen/AArch64/ptrauth-arm64-tls-dynamics.ll
    M llvm/test/CodeGen/AArch64/selectopt.ll
    A llvm/test/CodeGen/AArch64/shuffle-select.ll
    A llvm/test/CodeGen/AArch64/sme-agnostic-za.ll
    M llvm/test/CodeGen/AArch64/sme-disable-gisel-fisel.ll
    M llvm/test/CodeGen/AArch64/vecreduce-add.ll
    R llvm/test/CodeGen/AArch64/whilewr.ll
    M llvm/test/CodeGen/AArch64/zeroing-forms-abs-neg.ll
    M llvm/test/CodeGen/AArch64/zeroing-forms-fcvt-bfcvt.ll
    M llvm/test/CodeGen/AArch64/zeroing-forms-fcvtlt-fcvtx.ll
    M llvm/test/CodeGen/AArch64/zeroing-forms-fcvtzsu.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/atomicrmw_uinc_wrap.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/inst-select-scalar-float-sop1.mir
    M llvm/test/CodeGen/AMDGPU/GlobalISel/inst-select-scalar-float-sop2.mir
    M llvm/test/CodeGen/AMDGPU/GlobalISel/inst-select-scalar-float-sopc.mir
    M llvm/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.interp.inreg.ll
    A llvm/test/CodeGen/AMDGPU/amdgpu-sw-lower-lds-static-indirect-access-no-kernel-lds-id.ll
    A llvm/test/CodeGen/AMDGPU/amdgpu-sw-lower-lds-static-lds-no-heap-ptr.ll
    A llvm/test/CodeGen/AMDGPU/dummy-regalloc-priority-advisor.mir
    M llvm/test/CodeGen/AMDGPU/fmax3.ll
    M llvm/test/CodeGen/AMDGPU/fmin3.ll
    M llvm/test/CodeGen/AMDGPU/global-saddr-atomics-min-max-system.ll
    M llvm/test/CodeGen/AMDGPU/global-saddr-atomics.ll
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.interp.inreg.ll
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.intersect_ray.ll
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.mov.dpp8.ll
    M llvm/test/CodeGen/AMDGPU/mad_64_32.ll
    M llvm/test/CodeGen/AMDGPU/mesa3d.ll
    A llvm/test/CodeGen/AMDGPU/mixed-vmem-types.ll
    M llvm/test/CodeGen/AMDGPU/scalar-float-sop1.ll
    M llvm/test/CodeGen/AMDGPU/scalar-float-sop2.ll
    M llvm/test/CodeGen/AMDGPU/scalar-float-sopc.ll
    A llvm/test/CodeGen/AMDGPU/swizzle.bit.extract.ll
    M llvm/test/CodeGen/AMDGPU/waitcnt-overflow.mir
    A llvm/test/CodeGen/AVR/branch-relaxation-long-backward.ll
    A llvm/test/CodeGen/AVR/branch-relaxation-long-forward.ll
    R llvm/test/CodeGen/AVR/branch-relaxation-long.ll
    M llvm/test/CodeGen/AVR/sections.ll
    A llvm/test/CodeGen/Hexagon/addrspacecast-crash.ll
    A llvm/test/CodeGen/Hexagon/simple-types-mem.ll
    M llvm/test/CodeGen/Hexagon/switch-lut-explicit-section.ll
    M llvm/test/CodeGen/Hexagon/switch-lut-function-section.ll
    M llvm/test/CodeGen/LoongArch/machinelicm-address-pseudos.ll
    M llvm/test/CodeGen/LoongArch/mir-target-flags.ll
    M llvm/test/CodeGen/LoongArch/psabi-restricted-scheduling.ll
    M llvm/test/CodeGen/LoongArch/tls-models.ll
    A llvm/test/CodeGen/NVPTX/wgmma-sm90a-fence.ll
    M llvm/test/CodeGen/PowerPC/check-cpu.ll
    M llvm/test/CodeGen/PowerPC/lsr-postinc-pos.ll
    M llvm/test/CodeGen/PowerPC/scalar_vector_test_5.ll
    A llvm/test/CodeGen/RISCV/GlobalISel/add-imm.ll
    A llvm/test/CodeGen/RISCV/GlobalISel/combine-neg-abs.ll
    M llvm/test/CodeGen/RISCV/attributes.ll
    M llvm/test/CodeGen/RISCV/features-info.ll
    M llvm/test/CodeGen/RISCV/memcmp-optsize.ll
    M llvm/test/CodeGen/RISCV/memcmp.ll
    M llvm/test/CodeGen/RISCV/neg-abs.ll
    M llvm/test/CodeGen/RISCV/rv32xtheadba.ll
    M llvm/test/CodeGen/RISCV/rv64xtheadba.ll
    A llvm/test/CodeGen/RISCV/rvv/fixed-neg-abs.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-shuffle-exact-vlen.ll
    A llvm/test/CodeGen/RISCV/rvv/vsetvli-insert-zve64f.mir
    A llvm/test/CodeGen/RISCV/xcvmem-heuristic.ll
    M llvm/test/CodeGen/Thumb2/bf16-instructions.ll
    M llvm/test/CodeGen/Thumb2/mve-gather-increment.ll
    M llvm/test/CodeGen/X86/GC/ocaml-gc.ll
    M llvm/test/CodeGen/X86/avx512fp16-fminimum-fmaximum.ll
    M llvm/test/CodeGen/X86/basic-block-sections-blockaddress-taken.ll
    M llvm/test/CodeGen/X86/coff-alias-type.ll
    M llvm/test/CodeGen/X86/elf-unique-sections-by-flags.ll
    M llvm/test/CodeGen/X86/fminimum-fmaximum.ll
    M llvm/test/CodeGen/X86/mingw-refptr.ll
    A llvm/test/CodeGen/X86/pr120906.ll
    M llvm/test/CodeGen/Xtensa/simple.ll
    M llvm/test/DebugInfo/ARM/header.ll
    M llvm/test/DebugInfo/X86/header.ll
    M llvm/test/ExecutionEngine/JITLink/LoongArch/ELF_loongarch32_relocations.s
    M llvm/test/ExecutionEngine/JITLink/LoongArch/ELF_loongarch64_relocations.s
    A llvm/test/ExecutionEngine/JITLink/RISCV/ELF_reloc_add.s
    R llvm/test/ExecutionEngine/JITLink/RISCV/riscv_reloc_add.s
    M llvm/test/ExecutionEngine/JITLink/x86-64/COFF_comdat_weak_plus_strong.s
    M llvm/test/ExecutionEngine/JITLink/x86-64/LocalDependencyPropagation.s
    A llvm/test/ExecutionEngine/JITLink/x86-64/MachO-check-dwarf-filename.s
    M llvm/test/Instrumentation/BoundsChecking/many-trap.ll
    M llvm/test/Instrumentation/BoundsChecking/runtimes.ll
    M llvm/test/Instrumentation/BoundsChecking/simple-32.ll
    M llvm/test/Instrumentation/BoundsChecking/simple.ll
    M llvm/test/Instrumentation/BoundsChecking/ubsan-unique-traps.ll
    M llvm/test/MC/AArch64/armv8.3a-complex.s
    M llvm/test/MC/AArch64/armv8.3a-complex_nofp16.s
    M llvm/test/MC/AArch64/armv8.3a-pauth.s
    M llvm/test/MC/AArch64/armv8.3a-signed-pointer.s
    M llvm/test/MC/AArch64/armv8.4a-flagm.s
    M llvm/test/MC/AArch64/armv8.6a-amvs.s
    M llvm/test/MC/AArch64/armv9.6a-ras.s
    M llvm/test/MC/AArch64/armv9.6a-rme-gpc3.s
    M llvm/test/MC/AArch64/neon-diagnostics.s
    M llvm/test/MC/AMDGPU/gfx12_asm_features.s
    M llvm/test/MC/AMDGPU/gfx12_asm_vop3.s
    M llvm/test/MC/AMDGPU/gfx12_asm_vop3_aliases.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/AMDGPU/hsa-exp.s
    M llvm/test/MC/AMDGPU/hsa-gfx12-v4.s
    M llvm/test/MC/AMDGPU/hsa-tg-split.s
    M llvm/test/MC/AMDGPU/hsa-v4.s
    M llvm/test/MC/AMDGPU/hsa-v5-uses-dynamic-stack.s
    M llvm/test/MC/AMDGPU/user-sgpr-count.s
    M llvm/test/MC/ARM/directive-object_arch-3.s
    M llvm/test/MC/ARM/inst-directive-emit.s
    M llvm/test/MC/AsmParser/exprs-invalid.s
    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
    M llvm/test/MC/Disassembler/Xtensa/code_density.txt
    M llvm/test/MC/ELF/nobits-non-zero-value.s
    M llvm/test/MC/ELF/section.s
    M llvm/test/MC/GOFF/ppa1.ll
    M llvm/test/MC/Hexagon/arch-support.s
    M llvm/test/MC/Hexagon/hexagon_attributes.s
    A llvm/test/MC/Hexagon/v75_arch.s
    A llvm/test/MC/Hexagon/v79_arch.s
    M llvm/test/MC/Mips/dsp/valid.s
    M llvm/test/MC/Mips/dspr2/valid.s
    M llvm/test/MC/Mips/expr1.s
    M llvm/test/MC/Mips/macro-ld-sd.s
    M llvm/test/MC/Mips/macro-seq.s
    M llvm/test/MC/Mips/mips_directives.s
    M llvm/test/MC/RISCV/XVentanaCondOps-valid.s
    M llvm/test/MC/RISCV/Zawrs-valid.s
    M llvm/test/MC/RISCV/Ztso.s
    M llvm/test/MC/RISCV/attribute-arch.s
    M llvm/test/MC/RISCV/compress-cjal.s
    M llvm/test/MC/RISCV/compress-debug-info.s
    M llvm/test/MC/RISCV/compress-rv32d.s
    M llvm/test/MC/RISCV/compress-rv32f.s
    M llvm/test/MC/RISCV/compress-rv32i.s
    M llvm/test/MC/RISCV/compress-rv64i.s
    M llvm/test/MC/RISCV/compressed-relocations.s
    M llvm/test/MC/RISCV/compressed-zicfiss.s
    M llvm/test/MC/RISCV/corev/XCValu-valid.s
    M llvm/test/MC/RISCV/corev/XCVmac-valid.s
    M llvm/test/MC/RISCV/custom_reloc.s
    M llvm/test/MC/RISCV/debug-valid.s
    M llvm/test/MC/RISCV/deprecated-csr-names.s
    M llvm/test/MC/RISCV/fixups-binary-expression.s
    M llvm/test/MC/RISCV/fixups.s
    M llvm/test/MC/RISCV/fp-default-rounding-mode.s
    M llvm/test/MC/RISCV/fp-inx-default-rounding-mode.s
    M llvm/test/MC/RISCV/hypervisor-csr-names.s
    M llvm/test/MC/RISCV/insn.s
    M llvm/test/MC/RISCV/insn_c.s
    M llvm/test/MC/RISCV/machine-csr-names.s
    M llvm/test/MC/RISCV/option-nopic.s
    M llvm/test/MC/RISCV/option-pic.s
    M llvm/test/MC/RISCV/option-pushpop.s
    M llvm/test/MC/RISCV/option-rvc.s
    M llvm/test/MC/RISCV/print-imm-hex.s
    M llvm/test/MC/RISCV/priv-valid.s
    M llvm/test/MC/RISCV/relocations.s
    M llvm/test/MC/RISCV/rv32-hypervisor-csr-names.s
    M llvm/test/MC/RISCV/rv32-machine-csr-names.s
    M llvm/test/MC/RISCV/rv32-supervisor-csr-names.s
    M llvm/test/MC/RISCV/rv32-user-csr-names.s
    M llvm/test/MC/RISCV/rv32c-aliases-valid.s
    M llvm/test/MC/RISCV/rv32c-only-valid.s
    R llvm/test/MC/RISCV/rv32c-valid.s
    R llvm/test/MC/RISCV/rv32d-valid.s
    M llvm/test/MC/RISCV/rv32dc-valid.s
    R llvm/test/MC/RISCV/rv32e-invalid.s
    R llvm/test/MC/RISCV/rv32e-valid.s
    R llvm/test/MC/RISCV/rv32f-valid.s
    M llvm/test/MC/RISCV/rv32fc-aliases-valid.s
    M llvm/test/MC/RISCV/rv32fc-valid.s
    M llvm/test/MC/RISCV/rv32i-aliases-invalid.s
    M llvm/test/MC/RISCV/rv32i-aliases-valid.s
    M llvm/test/MC/RISCV/rv32i-only-valid.s
    R llvm/test/MC/RISCV/rv32i-valid.s
    R llvm/test/MC/RISCV/rv32ih-aliases-valid.s
    R llvm/test/MC/RISCV/rv32ih-valid.s
    R llvm/test/MC/RISCV/rv32m-valid.s
    R llvm/test/MC/RISCV/rv32xtheadbs-valid.s
    R llvm/test/MC/RISCV/rv32zaamo-valid.s
    R llvm/test/MC/RISCV/rv32zacas-valid.s
    R llvm/test/MC/RISCV/rv32zalasr-valid.s
    R llvm/test/MC/RISCV/rv32zalrsc-valid.s
    R llvm/test/MC/RISCV/rv32zba-valid.s
    M llvm/test/MC/RISCV/rv32zbb-aliases-valid.s
    M llvm/test/MC/RISCV/rv32zbb-only-valid.s
    R llvm/test/MC/RISCV/rv32zbb-valid.s
    R llvm/test/MC/RISCV/rv32zbc-valid.s
    R llvm/test/MC/RISCV/rv32zbkb-valid.s
    R llvm/test/MC/RISCV/rv32zbkc-valid.s
    R llvm/test/MC/RISCV/rv32zbkx-valid.s
    M llvm/test/MC/RISCV/rv32zbs-aliases-valid.s
    R llvm/test/MC/RISCV/rv32zbs-valid.s
    R llvm/test/MC/RISCV/rv32zcb-invalid.s
    R llvm/test/MC/RISCV/rv32zcb-valid.s
    A llvm/test/MC/RISCV/rv32zcibop-valid-rv32.s
    M llvm/test/MC/RISCV/rv32zcmp-invalid.s
    M llvm/test/MC/RISCV/rv32zcmp-valid.s
    R llvm/test/MC/RISCV/rv32zcmt-invalid.s
    R llvm/test/MC/RISCV/rv32zcmt-valid.s
    R llvm/test/MC/RISCV/rv32zdinx-valid.s
    M llvm/test/MC/RISCV/rv32zfa-only-valid.s
    R llvm/test/MC/RISCV/rv32zfbfmin-invalid.s
    R llvm/test/MC/RISCV/rv32zfbfmin-valid.s
    R llvm/test/MC/RISCV/rv32zfh-valid.s
    R llvm/test/MC/RISCV/rv32zfhmin-invalid.s
    R llvm/test/MC/RISCV/rv32zfhmin-valid.s
    R llvm/test/MC/RISCV/rv32zfinx-valid.s
    R llvm/test/MC/RISCV/rv32zhinx-valid.s
    R llvm/test/MC/RISCV/rv32zhinxmin-valid.s
    R llvm/test/MC/RISCV/rv32zicbom-invalid.s
    R llvm/test/MC/RISCV/rv32zicbom-valid.s
    R llvm/test/MC/RISCV/rv32zicbop-invalid.s
    R llvm/test/MC/RISCV/rv32zicbop-valid.s
    R llvm/test/MC/RISCV/rv32zicboz-invalid.s
    R llvm/test/MC/RISCV/rv32zicboz-valid.s
    M llvm/test/MC/RISCV/rv32zicfiss-invalid.s
    R llvm/test/MC/RISCV/rv32zicond-invalid.s
    R llvm/test/MC/RISCV/rv32zicond-valid.s
    R llvm/test/MC/RISCV/rv32zihintntl-invalid.s
    R llvm/test/MC/RISCV/rv32zihintntl-valid.s
    R llvm/test/MC/RISCV/rv32zihintntlc-invalid.s
    R llvm/test/MC/RISCV/rv32zihintntlc-valid.s
    R llvm/test/MC/RISCV/rv32zihintpause-valid.s
    R llvm/test/MC/RISCV/rv32zknh-valid.s
    R llvm/test/MC/RISCV/rv32zksed-valid.s
    R llvm/test/MC/RISCV/rv32zksh-valid.s
    M llvm/test/MC/RISCV/rv32zmmul-invaild.s
    M llvm/test/MC/RISCV/rv32zmmul-valid.s
    M llvm/test/MC/RISCV/rv64-machine-csr-names.s
    M llvm/test/MC/RISCV/rv64-user-csr-names.s
    M llvm/test/MC/RISCV/rv64a-aliases-valid.s
    M llvm/test/MC/RISCV/rv64c-aliases-valid.s
    M llvm/test/MC/RISCV/rv64c-hints-valid.s
    M llvm/test/MC/RISCV/rv64c-valid.s
    M llvm/test/MC/RISCV/rv64d-aliases-valid.s
    M llvm/test/MC/RISCV/rv64d-valid.s
    M llvm/test/MC/RISCV/rv64dc-valid.s
    M llvm/test/MC/RISCV/rv64e-valid.s
    M llvm/test/MC/RISCV/rv64e-zcmp-valid.s
    M llvm/test/MC/RISCV/rv64f-aliases-valid.s
    M llvm/test/MC/RISCV/rv64f-valid.s
    M llvm/test/MC/RISCV/rv64i-aliases-invalid.s
    M llvm/test/MC/RISCV/rv64i-aliases-valid.s
    M llvm/test/MC/RISCV/rv64i-valid.s
    M llvm/test/MC/RISCV/rv64ih-valid.s
    M llvm/test/MC/RISCV/rv64m-valid.s
    M llvm/test/MC/RISCV/rv64zaamo-valid.s
    M llvm/test/MC/RISCV/rv64zacas-valid.s
    M llvm/test/MC/RISCV/rv64zalasr-valid.s
    M llvm/test/MC/RISCV/rv64zalrsc-valid.s
    M llvm/test/MC/RISCV/rv64zba-aliases-valid.s
    M llvm/test/MC/RISCV/rv64zbb-aliases-valid.s
    M llvm/test/MC/RISCV/rv64zbb-valid.s
    M llvm/test/MC/RISCV/rv64zbs-aliases-valid.s
    M llvm/test/MC/RISCV/rv64zcb-valid.s
    M llvm/test/MC/RISCV/rv64zcmp-invalid.s
    M llvm/test/MC/RISCV/rv64zcmp-valid.s
    M llvm/test/MC/RISCV/rv64zdinx-valid.s
    M llvm/test/MC/RISCV/rv64zfh-valid.s
    M llvm/test/MC/RISCV/rv64zfinx-valid.s
    M llvm/test/MC/RISCV/rv64zhinx-valid.s
    M llvm/test/MC/RISCV/rv64zhinxmin-valid.s
    M llvm/test/MC/RISCV/rv64zicfiss-invalid.s
    M llvm/test/MC/RISCV/rv64zmmul-invalid.s
    M llvm/test/MC/RISCV/rv64zmmul-valid.s
    M llvm/test/MC/RISCV/rva-aliases-valid.s
    M llvm/test/MC/RISCV/rvc-aliases-valid.s
    M llvm/test/MC/RISCV/rvc-hints-valid.s
    A llvm/test/MC/RISCV/rvc-valid.s
    M llvm/test/MC/RISCV/rvd-aliases-valid.s
    A llvm/test/MC/RISCV/rvd-valid.s
    M llvm/test/MC/RISCV/rvdc-aliases-valid.s
    A llvm/test/MC/RISCV/rve-invalid.s
    A llvm/test/MC/RISCV/rve-valid.s
    M llvm/test/MC/RISCV/rvf-aliases-valid.s
    M llvm/test/MC/RISCV/rvf-user-csr-names.s
    A llvm/test/MC/RISCV/rvf-valid.s
    A llvm/test/MC/RISCV/rvi-valid.s
    A llvm/test/MC/RISCV/rvih-aliases-valid.s
    A llvm/test/MC/RISCV/rvih-valid.s
    M llvm/test/MC/RISCV/rvk-user-csr-name.s
    A llvm/test/MC/RISCV/rvm-valid.s
    M llvm/test/MC/RISCV/rvv-user-csr-names.s
    M llvm/test/MC/RISCV/rvv/aliases.s
    M llvm/test/MC/RISCV/rvv/fothers.s
    M llvm/test/MC/RISCV/rvv/freduction.s
    M llvm/test/MC/RISCV/rvv/load.s
    M llvm/test/MC/RISCV/rvv/others.s
    M llvm/test/MC/RISCV/rvv/store.s
    M llvm/test/MC/RISCV/rvv/zvlsseg.s
    A llvm/test/MC/RISCV/rvxtheadbs-valid.s
    A llvm/test/MC/RISCV/rvzaamo-valid.s
    M llvm/test/MC/RISCV/rvzabha-valid.s
    M llvm/test/MC/RISCV/rvzabha-zacas-valid.s
    A llvm/test/MC/RISCV/rvzacas-valid.s
    A llvm/test/MC/RISCV/rvzalasr-valid.s
    A llvm/test/MC/RISCV/rvzalrsc-valid.s
    A llvm/test/MC/RISCV/rvzba-valid.s
    A llvm/test/MC/RISCV/rvzbb-valid.s
    A llvm/test/MC/RISCV/rvzbc-valid.s
    A llvm/test/MC/RISCV/rvzbkb-valid.s
    A llvm/test/MC/RISCV/rvzbkc-valid.s
    A llvm/test/MC/RISCV/rvzbkx-valid.s
    A llvm/test/MC/RISCV/rvzbs-valid.s
    A llvm/test/MC/RISCV/rvzcb-invalid.s
    A llvm/test/MC/RISCV/rvzcb-valid.s
    A llvm/test/MC/RISCV/rvzcmt-invalid.s
    M llvm/test/MC/RISCV/rvzcmt-user-csr-name.s
    A llvm/test/MC/RISCV/rvzcmt-valid.s
    M llvm/test/MC/RISCV/rvzdinx-aliases-valid.s
    A llvm/test/MC/RISCV/rvzdinx-valid.s
    A llvm/test/MC/RISCV/rvzfbfmin-invalid.s
    A llvm/test/MC/RISCV/rvzfbfmin-valid.s
    M llvm/test/MC/RISCV/rvzfh-aliases-valid.s
    A llvm/test/MC/RISCV/rvzfh-valid.s
    A llvm/test/MC/RISCV/rvzfhmin-invalid.s
    A llvm/test/MC/RISCV/rvzfhmin-valid.s
    M llvm/test/MC/RISCV/rvzfinx-aliases-valid.s
    A llvm/test/MC/RISCV/rvzfinx-valid.s
    M llvm/test/MC/RISCV/rvzhinx-aliases-valid.s
    A llvm/test/MC/RISCV/rvzhinx-valid.s
    A llvm/test/MC/RISCV/rvzhinxmin-valid.s
    A llvm/test/MC/RISCV/rvzicbom-invalid.s
    A llvm/test/MC/RISCV/rvzicbom-valid.s
    A llvm/test/MC/RISCV/rvzicbop-invalid.s
    A llvm/test/MC/RISCV/rvzicbop-valid.s
    A llvm/test/MC/RISCV/rvzicboz-invalid.s
    A llvm/test/MC/RISCV/rvzicboz-valid.s
    A llvm/test/MC/RISCV/rvzicond-invalid.s
    A llvm/test/MC/RISCV/rvzicond-valid.s
    A llvm/test/MC/RISCV/rvzihintntl-invalid.s
    A llvm/test/MC/RISCV/rvzihintntl-valid.s
    A llvm/test/MC/RISCV/rvzihintntlc-invalid.s
    A llvm/test/MC/RISCV/rvzihintntlc-valid.s
    A llvm/test/MC/RISCV/rvzihintpause-valid.s
    A llvm/test/MC/RISCV/rvzknh-valid.s
    A llvm/test/MC/RISCV/rvzksed-valid.s
    A llvm/test/MC/RISCV/rvzksh-valid.s
    M llvm/test/MC/RISCV/smctr-ssctr-valid.s
    M llvm/test/MC/RISCV/smrnmi-valid.s
    M llvm/test/MC/RISCV/supervisor-csr-names.s
    M llvm/test/MC/RISCV/user-csr-names.s
    M llvm/test/MC/RISCV/xqcia-valid.s
    A llvm/test/MC/RISCV/xqciac-invalid.s
    A llvm/test/MC/RISCV/xqciac-valid.s
    A llvm/test/MC/RISCV/xqcicli-invalid.s
    A llvm/test/MC/RISCV/xqcicli-valid.s
    M llvm/test/MC/RISCV/xqcics-valid.s
    M llvm/test/MC/RISCV/xqcicsr-valid.s
    M llvm/test/MC/RISCV/xqcilsm-aliases-valid.s
    M llvm/test/MC/RISCV/xqcilsm-valid.s
    M llvm/test/MC/RISCV/xqcisls-valid.s
    M llvm/test/MC/RISCV/xsifive-valid.s
    M llvm/test/MC/RISCV/xwchc-compress.s
    M llvm/test/MC/RISCV/xwchc-valid.s
    M llvm/test/MC/RISCV/zfa-double-invalid.s
    M llvm/test/MC/RISCV/zfa-half-invalid.s
    M llvm/test/MC/RISCV/zfa-valid.s
    M llvm/test/MC/RISCV/zfa-zfhmin-zvfh-valid.s
    M llvm/test/MC/RISCV/zicfilp-invalid.s
    M llvm/test/MC/RISCV/zicfilp-valid.s
    M llvm/test/MC/RISCV/zicfiss-valid.s
    M llvm/test/MC/SystemZ/asm-match.s
    M llvm/test/MC/SystemZ/gnu-attributes.s
    M llvm/test/MC/WebAssembly/assembler-binary.ll
    M llvm/test/MC/WebAssembly/basic-assembly.s
    M llvm/test/MC/WebAssembly/stack-ptr-mclower.ll
    M llvm/test/MC/XCOFF/inlineasm.s
    A llvm/test/Other/debugcounter-slsr.ll
    R llvm/test/TableGen/ContextlessPredicates.td
    R llvm/test/TableGen/DefaultOpsGlobalISel.td
    R llvm/test/TableGen/GlobalISelEmitter-PR39045.td
    R llvm/test/TableGen/GlobalISelEmitter-SDNodeXForm-timm.td
    R llvm/test/TableGen/GlobalISelEmitter-atomic_store.td
    R llvm/test/TableGen/GlobalISelEmitter-frameindex.td
    R llvm/test/TableGen/GlobalISelEmitter-immAllZeroOne.td
    R llvm/test/TableGen/GlobalISelEmitter-immarg-literal-pattern.td
    R llvm/test/TableGen/GlobalISelEmitter-implicit-defs.td
    R llvm/test/TableGen/GlobalISelEmitter-input-discard.td
    R llvm/test/TableGen/GlobalISelEmitter-multiple-output-discard.td
    R llvm/test/TableGen/GlobalISelEmitter-multiple-output.td
    R llvm/test/TableGen/GlobalISelEmitter-nested-subregs.td
    R llvm/test/TableGen/GlobalISelEmitter-notype-output-pattern.td
    R llvm/test/TableGen/GlobalISelEmitter-output-discard.td
    R llvm/test/TableGen/GlobalISelEmitter-setcc.td
    R llvm/test/TableGen/GlobalISelEmitter-zero-instr.td
    R llvm/test/TableGen/GlobalISelEmitter-zero-reg.td
    R llvm/test/TableGen/GlobalISelEmitter.td
    A llvm/test/TableGen/GlobalISelEmitter/ContextlessPredicates.td
    A llvm/test/TableGen/GlobalISelEmitter/CustomPredicate.td
    A llvm/test/TableGen/GlobalISelEmitter/DefaultOpsGlobalISel.td
    A llvm/test/TableGen/GlobalISelEmitter/Flags.td
    A llvm/test/TableGen/GlobalISelEmitter/GlobalISelEmitter.td
    A llvm/test/TableGen/GlobalISelEmitter/HwModes.td
    A llvm/test/TableGen/GlobalISelEmitter/MatchTableOptimizer.td
    A llvm/test/TableGen/GlobalISelEmitter/MatchTableOptimizerSameOperand-invalid.td
    A llvm/test/TableGen/GlobalISelEmitter/MatchTableOptimizerSameOperand.td
    A llvm/test/TableGen/GlobalISelEmitter/OverloadedPtr.td
    A llvm/test/TableGen/GlobalISelEmitter/PR39045.td
    A llvm/test/TableGen/GlobalISelEmitter/RegSequence.td
    A llvm/test/TableGen/GlobalISelEmitter/SDNodeXForm-timm.td
    A llvm/test/TableGen/GlobalISelEmitter/SkippedPatterns.td
    A llvm/test/TableGen/GlobalISelEmitter/Subreg.td
    A llvm/test/TableGen/GlobalISelEmitter/Variadic.td
    A llvm/test/TableGen/GlobalISelEmitter/atomic-store.td
    A llvm/test/TableGen/GlobalISelEmitter/dead-def.td
    A llvm/test/TableGen/GlobalISelEmitter/frameindex.td
    A llvm/test/TableGen/GlobalISelEmitter/gisel-physreg-input.td
    A llvm/test/TableGen/GlobalISelEmitter/immAllZeroOne.td
    A llvm/test/TableGen/GlobalISelEmitter/immarg-literal-pattern.td
    A llvm/test/TableGen/GlobalISelEmitter/immarg-predicated.td
    A llvm/test/TableGen/GlobalISelEmitter/immarg.td
    A llvm/test/TableGen/GlobalISelEmitter/implicit-defs.td
    A llvm/test/TableGen/GlobalISelEmitter/input-discard.td
    A llvm/test/TableGen/GlobalISelEmitter/multiple-output-discard.td
    A llvm/test/TableGen/GlobalISelEmitter/multiple-output.td
    A llvm/test/TableGen/GlobalISelEmitter/nested-subregs.td
    A llvm/test/TableGen/GlobalISelEmitter/notype-output-pattern.td
    A llvm/test/TableGen/GlobalISelEmitter/optional-def.td
    A llvm/test/TableGen/GlobalISelEmitter/output-discard.td
    A llvm/test/TableGen/GlobalISelEmitter/setcc.td
    A llvm/test/TableGen/GlobalISelEmitter/undef-tied-input.td
    A llvm/test/TableGen/GlobalISelEmitter/zero-instr.td
    A llvm/test/TableGen/GlobalISelEmitter/zero-reg.td
    R llvm/test/TableGen/GlobalISelEmitterCustomPredicate.td
    R llvm/test/TableGen/GlobalISelEmitterFlags.td
    R llvm/test/TableGen/GlobalISelEmitterHwModes.td
    R llvm/test/TableGen/GlobalISelEmitterMatchTableOptimizer.td
    R llvm/test/TableGen/GlobalISelEmitterMatchTableOptimizerSameOperand-invalid.td
    R llvm/test/TableGen/GlobalISelEmitterMatchTableOptimizerSameOperand.td
    R llvm/test/TableGen/GlobalISelEmitterOverloadedPtr.td
    R llvm/test/TableGen/GlobalISelEmitterRegSequence.td
    R llvm/test/TableGen/GlobalISelEmitterSkippedPatterns.td
    R llvm/test/TableGen/GlobalISelEmitterSubreg.td
    R llvm/test/TableGen/GlobalISelEmitterVariadic.td
    R llvm/test/TableGen/gisel-physreg-input.td
    R llvm/test/TableGen/immarg-predicated.td
    R llvm/test/TableGen/immarg.td
    M llvm/test/TableGen/x86-fold-tables.inc
    M llvm/test/ThinLTO/X86/memprof-missing-callsite.ll
    M llvm/test/Transforms/DFAJumpThreading/dfa-unfold-select.ll
    M llvm/test/Transforms/DFAJumpThreading/negative.ll
    A llvm/test/Transforms/EntryExitInstrumenter/mcount-with-frompc.ll
    M llvm/test/Transforms/FunctionAttrs/initializes.ll
    M llvm/test/Transforms/GCOVProfiling/exit-block.ll
    M llvm/test/Transforms/GCOVProfiling/version.ll
    M llvm/test/Transforms/Inline/AArch64/sme-pstateza-attrs.ll
    M llvm/test/Transforms/InstCombine/fcmp-fadd-select.ll
    R llvm/test/Transforms/InstCombine/printf-addrspace.ll
    M llvm/test/Transforms/LoopStrengthReduce/AArch64/lsr-reuse.ll
    M llvm/test/Transforms/LoopUnroll/AArch64/apple-unrolling.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/clamped-trip-count.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/conditional-branches-cost.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/epilog-vectorization-widen-inductions.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/fixed-order-recurrence.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/force-target-instruction-cost.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/induction-costs-sve.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/induction-costs.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/interleaved_cost.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/intrinsiccost.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/low_trip_count_predicates.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/mul-simplification.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/reduction-recurrence-costs-sve.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/scalable-avoid-scalarization.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/scalable-strict-fadd.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/sve-epilog-vect.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/sve-inductions-unusual-types.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/sve-interleaved-accesses.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/sve-live-out-pointer-induction.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/sve-tail-folding-forced.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/sve-tail-folding.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/sve-widen-gep.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/sve-widen-phi.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/sve2-histcnt-vplan.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/synthesize-mask-for-call.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/type-shrinkage-zext-costs.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/widen-call-with-intrinsic-or-libfunc.ll
    M llvm/test/Transforms/LoopVectorize/ARM/mve-icmpcost.ll
    M llvm/test/Transforms/LoopVectorize/ARM/mve-interleaved-cost.ll
    M llvm/test/Transforms/LoopVectorize/PowerPC/exit-branch-cost.ll
    M llvm/test/Transforms/LoopVectorize/RISCV/blend-any-of-reduction-cost.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/first-order-recurrence-scalable-vf1.ll
    M llvm/test/Transforms/LoopVectorize/RISCV/induction-costs.ll
    M llvm/test/Transforms/LoopVectorize/RISCV/masked_gather_scatter.ll
    A llvm/test/Transforms/LoopVectorize/RISCV/preserve-dbg-loc.ll
    M llvm/test/Transforms/LoopVectorize/RISCV/riscv-vector-reverse.ll
    M llvm/test/Transforms/LoopVectorize/RISCV/strided-accesses.ll
    M llvm/test/Transforms/LoopVectorize/RISCV/vectorize-force-tail-with-evl-reduction.ll
    M llvm/test/Transforms/LoopVectorize/RISCV/vectorize-force-tail-with-evl-reverse-load-store.ll
    M llvm/test/Transforms/LoopVectorize/RISCV/vectorize-force-tail-with-evl-uniform-store.ll
    M llvm/test/Transforms/LoopVectorize/RISCV/vplan-vp-call-intrinsics.ll
    M llvm/test/Transforms/LoopVectorize/RISCV/vplan-vp-intrinsics-reduction.ll
    M llvm/test/Transforms/LoopVectorize/SystemZ/predicated-first-order-recurrence.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/epilog-vectorization-inductions.ll
    M llvm/test/Transforms/LoopVectorize/X86/fixed-order-recurrence.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/induction-costs.ll
    M llvm/test/Transforms/LoopVectorize/X86/intrinsiccost.ll
    M llvm/test/Transforms/LoopVectorize/X86/optsize.ll
    M llvm/test/Transforms/LoopVectorize/X86/pr109581-unused-blend.ll
    M llvm/test/Transforms/LoopVectorize/X86/pr72969.ll
    M llvm/test/Transforms/LoopVectorize/X86/reduction-small-size.ll
    M llvm/test/Transforms/LoopVectorize/X86/scatter_crash.ll
    M llvm/test/Transforms/LoopVectorize/X86/small-size.ll
    M llvm/test/Transforms/LoopVectorize/X86/uint64_to_fp64-cost-model.ll
    M llvm/test/Transforms/LoopVectorize/branch-weights.ll
    A llvm/test/Transforms/LoopVectorize/dereferenceable-info-from-assumption-constant-size.ll
    M llvm/test/Transforms/LoopVectorize/epilog-vectorization-any-of-reductions.ll
    M llvm/test/Transforms/LoopVectorize/first-order-recurrence-chains-vplan.ll
    M llvm/test/Transforms/LoopVectorize/first-order-recurrence-chains.ll
    M llvm/test/Transforms/LoopVectorize/first-order-recurrence-complex.ll
    M llvm/test/Transforms/LoopVectorize/first-order-recurrence-sink-replicate-region.ll
    M llvm/test/Transforms/LoopVectorize/first-order-recurrence.ll
    M llvm/test/Transforms/LoopVectorize/induction.ll
    M llvm/test/Transforms/LoopVectorize/interleave-and-scalarize-only.ll
    M llvm/test/Transforms/LoopVectorize/interleaved-accesses.ll
    M llvm/test/Transforms/LoopVectorize/invariant-store-vectorization.ll
    M llvm/test/Transforms/LoopVectorize/iv-select-cmp-nested-loop.ll
    M llvm/test/Transforms/LoopVectorize/iv_outside_user.ll
    M llvm/test/Transforms/LoopVectorize/no-fold-tail-by-masking-iv-external-uses.ll
    M llvm/test/Transforms/LoopVectorize/optimal-epilog-vectorization.ll
    M llvm/test/Transforms/LoopVectorize/pr59319-loop-access-info-invalidation.ll
    M llvm/test/Transforms/LoopVectorize/pr66616.ll
    M llvm/test/Transforms/LoopVectorize/preserve-dbg-loc-and-loop-metadata.ll
    A llvm/test/Transforms/LoopVectorize/preserve-dbg-loc-reduction-inloop.ll
    M llvm/test/Transforms/LoopVectorize/reduction-align.ll
    M llvm/test/Transforms/LoopVectorize/reduction-inloop-cond.ll
    M llvm/test/Transforms/LoopVectorize/scalable-inductions.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-reduction.ll
    M llvm/test/Transforms/LoopVectorize/store-reduction-results-in-tail-folded-loop.ll
    M llvm/test/Transforms/LoopVectorize/uncountable-early-exit-vplan.ll
    M llvm/test/Transforms/LoopVectorize/vector-loop-backedge-elimination.ll
    M llvm/test/Transforms/LoopVectorize/vplan-iv-transforms.ll
    M llvm/test/Transforms/LoopVectorize/vplan-predicate-switch.ll
    M llvm/test/Transforms/LoopVectorize/vplan-printing-before-execute.ll
    M llvm/test/Transforms/LoopVectorize/vplan-printing.ll
    M llvm/test/Transforms/LoopVectorize/vplan-sink-scalars-and-merge-vf1.ll
    M llvm/test/Transforms/LoopVectorize/vplan-sink-scalars-and-merge.ll
    M llvm/test/Transforms/LoopVersioning/wrapping-pointer-versioning.ll
    M llvm/test/Transforms/MemCpyOpt/memcpy.ll
    M llvm/test/Transforms/PGOProfile/memprof.ll
    A llvm/test/Transforms/PGOProfile/memprof_undrift_missing_leaf.ll
    A llvm/test/Transforms/PhaseOrdering/AArch64/block_scaling_decompr_8bit.ll
    M llvm/test/Transforms/PhaseOrdering/AArch64/extra-unroll-simplifications.ll
    M llvm/test/Transforms/PhaseOrdering/AArch64/hoist-runtime-checks.ll
    M llvm/test/Transforms/PhaseOrdering/AArch64/hoisting-sinking-required-for-vectorization.ll
    M llvm/test/Transforms/PhaseOrdering/AArch64/indvars-vectorization.ll
    M llvm/test/Transforms/PhaseOrdering/AArch64/loopflatten.ll
    M llvm/test/Transforms/PhaseOrdering/AArch64/matrix-extract-insert.ll
    M llvm/test/Transforms/PhaseOrdering/AArch64/memcpy-constant-size.ll
    M llvm/test/Transforms/PhaseOrdering/ARM/arm_add_q7.ll
    M llvm/test/Transforms/PhaseOrdering/ARM/arm_fill_q7.ll
    M llvm/test/Transforms/PhaseOrdering/ARM/arm_mean_q7.ll
    M llvm/test/Transforms/PhaseOrdering/ARM/arm_mult_q15.ll
    M llvm/test/Transforms/PhaseOrdering/ARM/mve-floatreduce.ll
    M llvm/test/Transforms/PhaseOrdering/X86/excessive-unrolling.ll
    M llvm/test/Transforms/PhaseOrdering/X86/hadd.ll
    M llvm/test/Transforms/PhaseOrdering/X86/pr50392.ll
    M llvm/test/Transforms/PhaseOrdering/X86/preserve-access-group.ll
    M llvm/test/Transforms/PhaseOrdering/bitfield-bittests.ll
    M llvm/test/Transforms/PhaseOrdering/dae-dce.ll
    M llvm/test/Transforms/PhaseOrdering/deletion-of-loops-that-became-side-effect-free.ll
    M llvm/test/Transforms/PhaseOrdering/globalaa-retained.ll
    M llvm/test/Transforms/PhaseOrdering/instcombine-sroa-inttoptr.ll
    M llvm/test/Transforms/PhaseOrdering/lifetime-sanitizer.ll
    M llvm/test/Transforms/PhaseOrdering/loop-rotation-vs-common-code-hoisting.ll
    M llvm/test/Transforms/PhaseOrdering/pr32544.ll
    M llvm/test/Transforms/PhaseOrdering/pr45682.ll
    M llvm/test/Transforms/PhaseOrdering/pr62311.ll
    M llvm/test/Transforms/PhaseOrdering/pr95152.ll
    M llvm/test/Transforms/PhaseOrdering/rotate.ll
    M llvm/test/Transforms/PhaseOrdering/simplifycfg-switch-lowering-vs-correlatedpropagation.ll
    M llvm/test/Transforms/PhaseOrdering/switch-sext.ll
    M llvm/test/Transforms/PhaseOrdering/switch_with_geps.ll
    A llvm/test/Transforms/SCCP/range-and-or-bit-masked.ll
    M llvm/test/Transforms/SLPVectorizer/AArch64/reused-scalar-repeated-in-node.ll
    M llvm/test/Transforms/SLPVectorizer/AArch64/scalarization-overhead.ll
    M llvm/test/Transforms/SLPVectorizer/RISCV/complex-loads.ll
    M llvm/test/Transforms/SLPVectorizer/X86/buildvector-schedule-for-subvector.ll
    M llvm/test/Transforms/SLPVectorizer/X86/reduction-logical.ll
    M llvm/test/Transforms/SLPVectorizer/X86/scatter-vectorize-reorder.ll
    M llvm/test/Transforms/SLPVectorizer/alternate-cmp-swapped-pred-parent.ll
    M llvm/test/Transforms/SLPVectorizer/extract-many-users-buildvector.ll
    M llvm/test/Transforms/SLPVectorizer/full-overlap-non-schedulable.ll
    M llvm/test/Transforms/SLPVectorizer/gathered-consecutive-loads-different-types.ll
    A llvm/test/Transforms/SLPVectorizer/logical-ops-poisonous-repeated.ll
    M llvm/test/Transforms/SLPVectorizer/reorder-clustered-node.ll
    M llvm/test/Transforms/SLPVectorizer/resized-alt-shuffle-after-minbw.ll
    M llvm/test/Transforms/SimplifyCFG/X86/switch_to_lookup_table.ll
    M llvm/test/Transforms/SimplifyCFG/X86/switch_to_lookup_table_big.ll
    A llvm/test/Transforms/SimplifyCFG/merge-calls-memprof.ll
    M llvm/test/Transforms/VectorCombine/AArch64/select-shuffle.ll
    M llvm/test/Transforms/VectorCombine/X86/concat-boolmasks.ll
    M llvm/test/Transforms/VectorCombine/X86/extract-binop-inseltpoison.ll
    A llvm/test/Transforms/VectorCombine/X86/load-extractelement-scalarization.ll
    M llvm/test/Transforms/VectorCombine/X86/shuffle-of-cmps.ll
    M llvm/test/Verifier/sme-attributes.ll
    A llvm/test/tools/llvm-cov/Inputs/branch-c-general-single.proftext
    A llvm/test/tools/llvm-cov/Inputs/branch-c-general-single.yaml
    M llvm/test/tools/llvm-cov/Inputs/branch-c-general.c
    A llvm/test/tools/llvm-cov/Inputs/branch-logical-mixed-single.proftext
    A llvm/test/tools/llvm-cov/Inputs/branch-logical-mixed-single.yaml
    A llvm/test/tools/llvm-cov/Inputs/branch-logical-mixed.cpp
    A llvm/test/tools/llvm-cov/Inputs/branch-macros-single.proftext
    A llvm/test/tools/llvm-cov/Inputs/branch-macros-single.yaml
    A llvm/test/tools/llvm-cov/Inputs/branch-macros.cpp
    A llvm/test/tools/llvm-cov/Inputs/branch-showBranchPercentage.c
    A llvm/test/tools/llvm-cov/Inputs/branch-templates-single.proftext
    A llvm/test/tools/llvm-cov/Inputs/branch-templates-single.yaml
    A llvm/test/tools/llvm-cov/Inputs/branch-templates.cpp
    A llvm/test/tools/llvm-cov/Inputs/showLineExecutionCounts-single.proftext
    A llvm/test/tools/llvm-cov/Inputs/showLineExecutionCounts-single.yaml
    A llvm/test/tools/llvm-cov/Inputs/showLineExecutionCounts.cpp
    A llvm/test/tools/llvm-cov/Inputs/yaml.makefile
    M llvm/test/tools/llvm-cov/branch-c-general.test
    R llvm/test/tools/llvm-cov/branch-logical-mixed.cpp
    A llvm/test/tools/llvm-cov/branch-logical-mixed.test
    R llvm/test/tools/llvm-cov/branch-macros.cpp
    A llvm/test/tools/llvm-cov/branch-macros.test
    M llvm/test/tools/llvm-cov/branch-noShowBranch.test
    R llvm/test/tools/llvm-cov/branch-showBranchPercentage.c
    A llvm/test/tools/llvm-cov/branch-showBranchPercentage.test
    R llvm/test/tools/llvm-cov/branch-templates.cpp
    A llvm/test/tools/llvm-cov/branch-templates.test
    R llvm/test/tools/llvm-cov/showLineExecutionCounts.cpp
    A llvm/test/tools/llvm-cov/showLineExecutionCounts.test
    R llvm/test/tools/llvm-cov/threads.c
    A llvm/test/tools/llvm-cov/threads.test
    M llvm/test/tools/llvm-dlltool/machine-opt.def
    M llvm/test/tools/llvm-exegesis/X86/latency/cpu-pinning.s
    M llvm/test/tools/llvm-gsymutil/ARM_AArch64/macho-gsym-merged-callsites-dsym.yaml
    A llvm/test/tools/llvm-mca/RISCV/tt-ascalon-d8/fp.s
    A llvm/test/tools/llvm-mca/RISCV/tt-ascalon-d8/fx.s
    A llvm/test/tools/llvm-objcopy/MachO/globalize-symbol.test
    A llvm/test/tools/llvm-objcopy/MachO/keep-global-symbol.test
    A llvm/test/tools/llvm-objcopy/MachO/localize-symbol.test
    A llvm/test/tools/llvm-objcopy/MachO/skip-symbol.test
    R llvm/test/tools/llvm-xray/X86/account-empty-stack-error.yaml
    A llvm/test/tools/llvm-xray/X86/account-exit-mismatch-empty-stack-error.yaml
    A llvm/test/tools/llvm-xray/X86/account-exit-mismatch-non-empty-stack-error.yaml
    M llvm/test/tools/llvm-xray/X86/account-keep-going.yaml
    M llvm/test/tools/yaml2obj/ELF/note-section.yaml
    M llvm/tools/llvm-cov/CodeCoverage.cpp
    M llvm/tools/llvm-cov/CoverageSummaryInfo.cpp
    M llvm/tools/llvm-cov/CoverageSummaryInfo.h
    M llvm/tools/llvm-cov/CoverageViewOptions.h
    M llvm/tools/llvm-cov/SourceCoverageView.h
    M llvm/tools/llvm-cov/SourceCoverageViewHTML.cpp
    M llvm/tools/llvm-cov/SourceCoverageViewText.cpp
    M llvm/tools/llvm-exegesis/lib/BenchmarkRunner.cpp
    M llvm/tools/llvm-jitlink/llvm-jitlink-coff.cpp
    M llvm/tools/llvm-jitlink/llvm-jitlink-elf.cpp
    M llvm/tools/llvm-jitlink/llvm-jitlink-macho.cpp
    M llvm/tools/llvm-jitlink/llvm-jitlink.cpp
    M llvm/tools/llvm-jitlink/llvm-jitlink.h
    M llvm/tools/llvm-objdump/ELFDump.cpp
    M llvm/tools/llvm-objdump/SourcePrinter.cpp
    M llvm/tools/llvm-objdump/XCOFFDump.cpp
    M llvm/tools/llvm-objdump/llvm-objdump.cpp
    M llvm/tools/llvm-objdump/llvm-objdump.h
    M llvm/unittests/CMakeLists.txt
    M llvm/unittests/CodeGen/GlobalISel/GISelUtilsTest.cpp
    M llvm/unittests/CodeGen/GlobalISel/PatternMatchTest.cpp
    M llvm/unittests/Frontend/OpenMPIRBuilderTest.cpp
    M llvm/unittests/IR/ConstantRangeTest.cpp
    M llvm/unittests/Support/Path.cpp
    M llvm/unittests/TargetParser/RISCVISAInfoTest.cpp
    A llvm/unittests/Telemetry/CMakeLists.txt
    A llvm/unittests/Telemetry/TelemetryTest.cpp
    M llvm/unittests/Transforms/Vectorize/SandboxVectorizer/DependencyGraphTest.cpp
    M llvm/unittests/Transforms/Vectorize/VPDomTreeTest.cpp
    M llvm/unittests/Transforms/Vectorize/VPlanHCFGTest.cpp
    M llvm/unittests/Transforms/Vectorize/VPlanSlpTest.cpp
    M llvm/unittests/Transforms/Vectorize/VPlanTest.cpp
    M llvm/unittests/Transforms/Vectorize/VPlanTestBase.h
    M llvm/unittests/Transforms/Vectorize/VPlanVerifierTest.cpp
    R llvm/utils/TableGen/ARMTargetDefEmitter.cpp
    R llvm/utils/TableGen/Attributes.cpp
    A llvm/utils/TableGen/Basic/ARMTargetDefEmitter.cpp
    A llvm/utils/TableGen/Basic/Attributes.cpp
    M llvm/utils/TableGen/Basic/CMakeLists.txt
    A llvm/utils/TableGen/Basic/DirectiveEmitter.cpp
    A llvm/utils/TableGen/Basic/IntrinsicEmitter.cpp
    A llvm/utils/TableGen/Basic/RISCVTargetDefEmitter.cpp
    A llvm/utils/TableGen/Basic/TableGen.cpp
    A llvm/utils/TableGen/Basic/TableGen.h
    A llvm/utils/TableGen/Basic/VTEmitter.cpp
    M llvm/utils/TableGen/CMakeLists.txt
    M llvm/utils/TableGen/CallingConvEmitter.cpp
    M llvm/utils/TableGen/Common/CodeGenDAGPatterns.cpp
    M llvm/utils/TableGen/Common/GlobalISel/GlobalISelMatchTable.cpp
    M llvm/utils/TableGen/Common/GlobalISel/GlobalISelMatchTable.h
    R llvm/utils/TableGen/DirectiveEmitter.cpp
    M llvm/utils/TableGen/GlobalISelEmitter.cpp
    R llvm/utils/TableGen/IntrinsicEmitter.cpp
    R llvm/utils/TableGen/RISCVTargetDefEmitter.cpp
    R llvm/utils/TableGen/TableGen.cpp
    R llvm/utils/TableGen/VTEmitter.cpp
    A llvm/utils/TableGen/llvm-min-tblgen.cpp
    A llvm/utils/TableGen/llvm-tblgen.cpp
    M llvm/utils/emacs/llvm-mode.el
    M llvm/utils/git/code-format-helper.py
    M llvm/utils/gn/secondary/clang-tools-extra/clang-tidy/bugprone/BUILD.gn
    M llvm/utils/gn/secondary/clang-tools-extra/clang-tidy/cppcoreguidelines/BUILD.gn
    M llvm/utils/gn/secondary/clang/lib/Basic/BUILD.gn
    M llvm/utils/gn/secondary/clang/lib/Driver/BUILD.gn
    M llvm/utils/gn/secondary/compiler-rt/lib/builtins/BUILD.gn
    M llvm/utils/gn/secondary/compiler-rt/lib/lsan/BUILD.gn
    M llvm/utils/gn/secondary/compiler-rt/lib/ubsan/BUILD.gn
    M llvm/utils/gn/secondary/libcxx/include/BUILD.gn
    A llvm/utils/gn/secondary/llvm/lib/Frontend/Atomic/BUILD.gn
    M llvm/utils/gn/secondary/llvm/lib/Frontend/OpenMP/BUILD.gn
    A llvm/utils/gn/secondary/llvm/lib/Telemetry/BUILD.gn
    M llvm/utils/gn/secondary/llvm/unittests/BUILD.gn
    A llvm/utils/gn/secondary/llvm/unittests/Telemetry/BUILD.gn
    M llvm/utils/gn/secondary/llvm/utils/TableGen/BUILD.gn
    M llvm/utils/gn/secondary/llvm/utils/TableGen/Basic/BUILD.gn
    M llvm/utils/gn/secondary/llvm/utils/TableGen/Common/BUILD.gn
    M llvm/utils/lit/tests/shtest-format.py
    M llvm/utils/mlgo-utils/CMakeLists.txt
    M mlir/CMakeLists.txt
    M mlir/cmake/modules/AddMLIR.cmake
    M mlir/cmake/modules/AddMLIRPython.cmake
    M mlir/cmake/modules/MLIRDetectPythonEnv.cmake
    M mlir/docs/DefiningDialects/Operations.md
    M mlir/docs/PatternRewriter.md
    M mlir/docs/TargetLLVMIR.md
    M mlir/examples/standalone/lib/Standalone/StandalonePasses.cpp
    M mlir/examples/standalone/python/StandaloneExtensionNanobind.cpp
    M mlir/include/mlir/Analysis/DataFlowFramework.h
    A mlir/include/mlir/Bindings/Python/Nanobind.h
    M mlir/include/mlir/Bindings/Python/NanobindAdaptors.h
    M mlir/include/mlir/Conversion/LLVMCommon/TypeConverter.h
    M mlir/include/mlir/Conversion/SCFToEmitC/SCFToEmitC.h
    M mlir/include/mlir/Dialect/Affine/IR/AffineOps.td
    M mlir/include/mlir/Dialect/Arith/IR/ArithOps.td
    M mlir/include/mlir/Dialect/Bufferization/IR/BufferizableOpInterface.h
    M mlir/include/mlir/Dialect/Bufferization/Transforms/OneShotAnalysis.h
    M mlir/include/mlir/Dialect/Bufferization/Transforms/Passes.h
    M mlir/include/mlir/Dialect/Bufferization/Transforms/Transforms.h
    M mlir/include/mlir/Dialect/EmitC/IR/EmitC.td
    M mlir/include/mlir/Dialect/Func/IR/FuncOps.td
    M mlir/include/mlir/Dialect/GPU/TransformOps/GPUTransformOps.td
    M mlir/include/mlir/Dialect/LLVMIR/LLVMOps.td
    M mlir/include/mlir/Dialect/LLVMIR/NVVMOps.td
    M mlir/include/mlir/Dialect/Linalg/IR/LinalgStructuredOps.td
    M mlir/include/mlir/Dialect/Linalg/TransformOps/LinalgTransformOps.td
    M mlir/include/mlir/Dialect/NVGPU/IR/NVGPU.td
    M mlir/include/mlir/Dialect/OpenMP/OpenMPEnums.td
    M mlir/include/mlir/Dialect/SCF/IR/SCF.h
    M mlir/include/mlir/Dialect/SCF/Transforms/Patterns.h
    M mlir/include/mlir/Dialect/Shape/IR/ShapeOps.td
    M mlir/include/mlir/Dialect/Tosa/IR/TosaOps.td
    M mlir/include/mlir/Dialect/XeGPU/IR/XeGPUAttrs.td
    M mlir/include/mlir/IR/OperationSupport.h
    M mlir/include/mlir/IR/Properties.td
    M mlir/include/mlir/Interfaces/TilingInterface.td
    M mlir/include/mlir/Transforms/GreedyPatternRewriteDriver.h
    M mlir/include/mlir/Transforms/OneToNTypeConversion.h
    M mlir/lib/Bindings/Python/AsyncPasses.cpp
    M mlir/lib/Bindings/Python/DialectGPU.cpp
    M mlir/lib/Bindings/Python/DialectLLVM.cpp
    M mlir/lib/Bindings/Python/DialectLinalg.cpp
    M mlir/lib/Bindings/Python/DialectNVGPU.cpp
    M mlir/lib/Bindings/Python/DialectPDL.cpp
    M mlir/lib/Bindings/Python/DialectQuant.cpp
    M mlir/lib/Bindings/Python/DialectSparseTensor.cpp
    M mlir/lib/Bindings/Python/DialectTransform.cpp
    M mlir/lib/Bindings/Python/ExecutionEngineModule.cpp
    M mlir/lib/Bindings/Python/GPUPasses.cpp
    M mlir/lib/Bindings/Python/IRAffine.cpp
    M mlir/lib/Bindings/Python/IRAttributes.cpp
    M mlir/lib/Bindings/Python/IRCore.cpp
    M mlir/lib/Bindings/Python/IRInterfaces.cpp
    M mlir/lib/Bindings/Python/IRModule.cpp
    M mlir/lib/Bindings/Python/IRModule.h
    M mlir/lib/Bindings/Python/IRTypes.cpp
    M mlir/lib/Bindings/Python/LinalgPasses.cpp
    M mlir/lib/Bindings/Python/MainModule.cpp
    M mlir/lib/Bindings/Python/NanobindUtils.h
    M mlir/lib/Bindings/Python/Pass.cpp
    M mlir/lib/Bindings/Python/RegisterEverything.cpp
    M mlir/lib/Bindings/Python/Rewrite.cpp
    M mlir/lib/Bindings/Python/SparseTensorPasses.cpp
    M mlir/lib/Bindings/Python/TransformInterpreter.cpp
    M mlir/lib/CAPI/Transforms/Rewrite.cpp
    M mlir/lib/Conversion/ArithToAMDGPU/ArithToAMDGPU.cpp
    M mlir/lib/Conversion/ArithToArmSME/ArithToArmSME.cpp
    M mlir/lib/Conversion/ArmNeon2dToIntr/ArmNeon2dToIntr.cpp
    M mlir/lib/Conversion/GPUCommon/GPUToLLVMConversion.cpp
    M mlir/lib/Conversion/GPUToNVVM/LowerGpuOpsToNVVMOps.cpp
    M mlir/lib/Conversion/GPUToROCDL/LowerGpuOpsToROCDLOps.cpp
    M mlir/lib/Conversion/LLVMCommon/TypeConverter.cpp
    M mlir/lib/Conversion/MeshToMPI/MeshToMPI.cpp
    M mlir/lib/Conversion/SCFToEmitC/CMakeLists.txt
    M mlir/lib/Conversion/SCFToEmitC/SCFToEmitC.cpp
    M mlir/lib/Conversion/ShapeToStandard/ConvertShapeConstraints.cpp
    M mlir/lib/Conversion/VectorToArmSME/VectorToArmSMEPass.cpp
    M mlir/lib/Conversion/VectorToGPU/VectorToGPU.cpp
    M mlir/lib/Conversion/VectorToLLVM/ConvertVectorToLLVMPass.cpp
    M mlir/lib/Conversion/VectorToSCF/VectorToSCF.cpp
    M mlir/lib/Conversion/VectorToXeGPU/VectorToXeGPU.cpp
    M mlir/lib/Dialect/Affine/TransformOps/AffineTransformOps.cpp
    M mlir/lib/Dialect/Affine/Transforms/AffineDataCopyGeneration.cpp
    M mlir/lib/Dialect/Affine/Transforms/AffineExpandIndexOps.cpp
    M mlir/lib/Dialect/Affine/Transforms/AffineExpandIndexOpsAsAffine.cpp
    M mlir/lib/Dialect/Affine/Transforms/SimplifyAffineStructures.cpp
    M mlir/lib/Dialect/Affine/Utils/LoopUtils.cpp
    M mlir/lib/Dialect/Affine/Utils/Utils.cpp
    M mlir/lib/Dialect/Arith/Transforms/IntRangeOptimizations.cpp
    M mlir/lib/Dialect/Arith/Utils/Utils.cpp
    M mlir/lib/Dialect/ArmSME/Transforms/OuterProductFusion.cpp
    M mlir/lib/Dialect/ArmSME/Transforms/VectorLegalization.cpp
    M mlir/lib/Dialect/ArmSVE/Transforms/LegalizeVectorStorage.cpp
    M mlir/lib/Dialect/Async/Transforms/AsyncParallelFor.cpp
    M mlir/lib/Dialect/Bufferization/IR/BufferizableOpInterface.cpp
    M mlir/lib/Dialect/Bufferization/Transforms/BufferDeallocationSimplification.cpp
    M mlir/lib/Dialect/Bufferization/Transforms/BufferResultsToOutParams.cpp
    M mlir/lib/Dialect/Bufferization/Transforms/EmptyTensorElimination.cpp
    M mlir/lib/Dialect/Bufferization/Transforms/EmptyTensorToAllocTensor.cpp
    M mlir/lib/Dialect/Bufferization/Transforms/OneShotAnalysis.cpp
    M mlir/lib/Dialect/DLTI/DLTI.cpp
    M mlir/lib/Dialect/EmitC/Transforms/FormExpressions.cpp
    M mlir/lib/Dialect/GPU/TransformOps/Utils.cpp
    M mlir/lib/Dialect/GPU/Transforms/DecomposeMemRefs.cpp
    M mlir/lib/Dialect/GPU/Transforms/EliminateBarriers.cpp
    M mlir/lib/Dialect/LLVMIR/IR/LLVMAttrs.cpp
    M mlir/lib/Dialect/LLVMIR/Transforms/OptimizeForNVVM.cpp
    M mlir/lib/Dialect/Linalg/TransformOps/LinalgTransformOps.cpp
    M mlir/lib/Dialect/Linalg/Transforms/BlockPackMatmul.cpp
    M mlir/lib/Dialect/Linalg/Transforms/ConvertToDestinationStyle.cpp
    M mlir/lib/Dialect/Linalg/Transforms/Detensorize.cpp
    M mlir/lib/Dialect/Linalg/Transforms/DropUnitDims.cpp
    M mlir/lib/Dialect/Linalg/Transforms/ElementwiseOpFusion.cpp
    M mlir/lib/Dialect/Linalg/Transforms/EliminateEmptyTensors.cpp
    M mlir/lib/Dialect/Linalg/Transforms/Generalization.cpp
    M mlir/lib/Dialect/Linalg/Transforms/InlineScalarOperands.cpp
    M mlir/lib/Dialect/Linalg/Transforms/Loops.cpp
    M mlir/lib/Dialect/Linalg/Transforms/MeshShardingInterfaceImpl.cpp
    M mlir/lib/Dialect/Linalg/Transforms/NamedOpConversions.cpp
    M mlir/lib/Dialect/Linalg/Transforms/Specialize.cpp
    M mlir/lib/Dialect/Linalg/Transforms/TilingInterfaceImpl.cpp
    M mlir/lib/Dialect/Linalg/Transforms/Transforms.cpp
    M mlir/lib/Dialect/Math/Transforms/UpliftToFMA.cpp
    M mlir/lib/Dialect/MemRef/Transforms/ExpandStridedMetadata.cpp
    M mlir/lib/Dialect/MemRef/Transforms/FoldMemRefAliasOps.cpp
    M mlir/lib/Dialect/MemRef/Transforms/ResolveShapedTypeResultDims.cpp
    M mlir/lib/Dialect/Mesh/Transforms/Transforms.cpp
    M mlir/lib/Dialect/Ptr/IR/PtrTypes.cpp
    M mlir/lib/Dialect/SCF/Transforms/ForToWhile.cpp
    M mlir/lib/Dialect/SCF/Transforms/LoopCanonicalization.cpp
    M mlir/lib/Dialect/SCF/Transforms/LoopSpecialization.cpp
    M mlir/lib/Dialect/SCF/Transforms/TileUsingInterface.cpp
    M mlir/lib/Dialect/SPIRV/IR/ControlFlowOps.cpp
    M mlir/lib/Dialect/SPIRV/Transforms/CanonicalizeGLPass.cpp
    M mlir/lib/Dialect/SPIRV/Transforms/SPIRVConversion.cpp
    M mlir/lib/Dialect/SPIRV/Transforms/SPIRVWebGPUTransforms.cpp
    M mlir/lib/Dialect/Shape/Transforms/OutlineShapeComputation.cpp
    M mlir/lib/Dialect/Shape/Transforms/RemoveShapeConstraints.cpp
    M mlir/lib/Dialect/SparseTensor/Transforms/SparseIterationToScf.cpp
    M mlir/lib/Dialect/SparseTensor/Transforms/SparseTensorPasses.cpp
    M mlir/lib/Dialect/SparseTensor/Transforms/Utils/LoopEmitter.cpp
    M mlir/lib/Dialect/Tensor/IR/TensorOps.cpp
    M mlir/lib/Dialect/Tensor/Transforms/BufferizableOpInterfaceImpl.cpp
    M mlir/lib/Dialect/Tensor/Transforms/FoldTensorSubsetOps.cpp
    M mlir/lib/Dialect/Tensor/Transforms/IndependenceTransforms.cpp
    M mlir/lib/Dialect/Tosa/IR/TosaCanonicalizations.cpp
    M mlir/lib/Dialect/Tosa/Transforms/TosaLayerwiseConstantFoldPass.cpp
    M mlir/lib/Dialect/Tosa/Transforms/TosaMakeBroadcastable.cpp
    M mlir/lib/Dialect/Tosa/Transforms/TosaOptionalDecompositions.cpp
    M mlir/lib/Dialect/Tosa/Transforms/TosaValidation.cpp
    M mlir/lib/Dialect/Transform/IR/TransformOps.cpp
    M mlir/lib/Dialect/Transform/Interfaces/TransformInterfaces.cpp
    M mlir/lib/Dialect/Utils/StaticValueUtils.cpp
    M mlir/lib/Dialect/Vector/IR/VectorOps.cpp
    M mlir/lib/Dialect/Vector/Transforms/LowerVectorMask.cpp
    M mlir/lib/Dialect/Vector/Transforms/LowerVectorMultiReduction.cpp
    M mlir/lib/Dialect/XeGPU/Transforms/XeGPUFoldAliasOps.cpp
    M mlir/lib/Interfaces/CallInterfaces.cpp
    M mlir/lib/Interfaces/DataLayoutInterfaces.cpp
    M mlir/lib/Interfaces/InferTypeOpInterface.cpp
    M mlir/lib/Interfaces/Utils/InferIntRangeCommon.cpp
    M mlir/lib/Reducer/ReductionTreePass.cpp
    M mlir/lib/Target/LLVMIR/Dialect/OpenMP/OpenMPToLLVMIRTranslation.cpp
    M mlir/lib/Transforms/Canonicalizer.cpp
    M mlir/lib/Transforms/Utils/DialectConversion.cpp
    M mlir/lib/Transforms/Utils/GreedyPatternRewriteDriver.cpp
    M mlir/lib/Transforms/Utils/OneToNTypeConversion.cpp
    M mlir/python/CMakeLists.txt
    M mlir/python/mlir/_mlir_libs/__init__.py
    M mlir/python/mlir/dialects/transform/structured.py
    M mlir/python/mlir/ir.py
    M mlir/test/CMakeLists.txt
    M mlir/test/Conversion/NVVMToLLVM/nvvm-to-llvm.mlir
    M mlir/test/Conversion/SCFToEmitC/for.mlir
    M mlir/test/Conversion/SCFToEmitC/switch.mlir
    M mlir/test/Dialect/Arith/int-range-interface.mlir
    M mlir/test/Dialect/Bufferization/Transforms/one-shot-bufferize-empty-tensor-elimination.mlir
    M mlir/test/Dialect/Linalg/decompose-tensor-unpack-tile.mlir
    M mlir/test/Dialect/Linalg/decompose-tensor-unpack.mlir
    A mlir/test/Dialect/Linalg/td/decompose-unpack.mlir
    M mlir/test/Dialect/Linalg/transform-tile-reduction.mlir
    M mlir/test/Dialect/Tensor/canonicalize.mlir
    M mlir/test/Dialect/Tensor/invalid.mlir
    M mlir/test/Dialect/Tosa/constant-op-fold.mlir
    M mlir/test/Dialect/Tosa/invalid.mlir
    M mlir/test/Integration/Dialect/Vector/CPU/ArmSVE/sve.mlir
    M mlir/test/Target/LLVMIR/nvvmir.mlir
    M mlir/test/Target/LLVMIR/openmp-llvm.mlir
    A mlir/test/Target/LLVMIR/openmp-simd-aligned.mlir
    M mlir/test/Target/LLVMIR/openmp-todo.mlir
    M mlir/test/Transforms/sccp.mlir
    M mlir/test/Transforms/test-legalizer.mlir
    M mlir/test/Transforms/test-operation-folder.mlir
    M mlir/test/lib/Conversion/MathToVCIX/TestMathToVCIXConversion.cpp
    M mlir/test/lib/Conversion/VectorToSPIRV/TestVectorReductionToSPIRVDotProd.cpp
    M mlir/test/lib/Dialect/Affine/TestAffineDataCopy.cpp
    M mlir/test/lib/Dialect/ArmNeon/TestLowerToArmNeon.cpp
    M mlir/test/lib/Dialect/GPU/TestGpuRewrite.cpp
    M mlir/test/lib/Dialect/Linalg/TestDataLayoutPropagation.cpp
    M mlir/test/lib/Dialect/Linalg/TestLinalgDecomposeOps.cpp
    M mlir/test/lib/Dialect/Linalg/TestLinalgElementwiseFusion.cpp
    M mlir/test/lib/Dialect/Linalg/TestLinalgFusionTransforms.cpp
    M mlir/test/lib/Dialect/Linalg/TestLinalgRankReduceContractionOps.cpp
    M mlir/test/lib/Dialect/Linalg/TestLinalgTransforms.cpp
    M mlir/test/lib/Dialect/Linalg/TestPadFusion.cpp
    M mlir/test/lib/Dialect/Math/TestAlgebraicSimplification.cpp
    M mlir/test/lib/Dialect/Math/TestExpandMath.cpp
    M mlir/test/lib/Dialect/Math/TestPolynomialApproximation.cpp
    M mlir/test/lib/Dialect/MemRef/TestComposeSubView.cpp
    M mlir/test/lib/Dialect/Mesh/TestOpLowering.cpp
    M mlir/test/lib/Dialect/Mesh/TestReshardingSpmdization.cpp
    M mlir/test/lib/Dialect/Mesh/TestSimplifications.cpp
    M mlir/test/lib/Dialect/NVGPU/TestNVGPUTransforms.cpp
    M mlir/test/lib/Dialect/SCF/TestSCFUtils.cpp
    M mlir/test/lib/Dialect/SCF/TestSCFWrapInZeroTripCheck.cpp
    M mlir/test/lib/Dialect/SCF/TestUpliftWhileToFor.cpp
    M mlir/test/lib/Dialect/Tensor/TestTensorTransforms.cpp
    M mlir/test/lib/Dialect/Test/TestOps.td
    M mlir/test/lib/Dialect/Test/TestOpsSyntax.td
    M mlir/test/lib/Dialect/Test/TestPatterns.cpp
    M mlir/test/lib/Dialect/Test/TestTraits.cpp
    M mlir/test/lib/Dialect/Tosa/TosaTestPasses.cpp
    M mlir/test/lib/Dialect/Vector/TestVectorTransforms.cpp
    M mlir/test/lib/Rewrite/TestPDLByteCode.cpp
    M mlir/test/lib/Tools/PDLL/TestPDLL.cpp
    M mlir/test/lib/Transforms/TestCommutativityUtils.cpp
    M mlir/test/lib/Transforms/TestMakeIsolatedFromAbove.cpp
    M mlir/test/mlir-cpu-runner/X86Vector/math-polynomial-approx-avx2.mlir
    M mlir/test/mlir-tblgen/op-format-invalid.td
    M mlir/test/mlir-tblgen/op-properties-predicates.td
    M mlir/test/mlir-tblgen/op-properties.td
    M mlir/test/python/dialects/sparse_tensor/dialect.py
    M mlir/test/python/dialects/transform_structured_ext.py
    M mlir/test/python/ir/dialects.py
    M mlir/test/python/lib/PythonTestModuleNanobind.cpp
    M mlir/tools/mlir-tblgen/OpFormatGen.cpp
    A mlir/utils/pygments/README.md
    A mlir/utils/pygments/mlir_lexer.py
    M offload/DeviceRTL/CMakeLists.txt
    M offload/DeviceRTL/src/Misc.cpp
    M offload/DeviceRTL/src/Reduction.cpp
    M openmp/docs/ReleaseNotes.rst
    M polly/CMakeLists.txt
    M polly/lib/Support/ScopHelper.cpp
    A polly/test/ScopDetect/dom-tree-crash.ll
    M utils/bazel/llvm-project-overlay/clang-tools-extra/clang-tidy/BUILD.bazel
    M utils/bazel/llvm-project-overlay/llvm/BUILD.bazel
    M utils/bazel/llvm-project-overlay/llvm/unittests/BUILD.bazel
    M utils/bazel/llvm-project-overlay/mlir/BUILD.bazel

  Log Message:
  -----------
  [𝘀𝗽𝗿] changes introduced through rebase

Created using spr 1.3.4

[skip ci]


Compare: https://github.com/llvm/llvm-project/compare/1d6843dce4cb...32eade61754b

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