[all-commits] [llvm/llvm-project] 7ecbea: [clang-tidy] fix incorrect argument names in docum...

Amara Emerson via All-commits all-commits at lists.llvm.org
Sun Jan 5 21:32:48 PST 2025


  Branch: refs/heads/users/aemerson/spr/aarch64globalisel-legalize-vector-boolean-bitcasts-to-scalars-by-lowering-via-stack
  Home:   https://github.com/llvm/llvm-project
  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: 9d6527bc12547e28b86d180b76fe934a96aa518e
      https://github.com/llvm/llvm-project/commit/9d6527bc12547e28b86d180b76fe934a96aa518e
  Author: Acim Maravic <Acim.Maravic at amd.com>
  Date:   2025-01-03 (Fri, 03 Jan 2025)

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

  Log Message:
  -----------
  [CodeGen] Add MOTargetFlag4 to MachineMemOperand Flags (#120136)


  Commit: 3ace685105d3b50bca68328bf0c945af22d70f23
      https://github.com/llvm/llvm-project/commit/3ace685105d3b50bca68328bf0c945af22d70f23
  Author: Matthias Springer <me at m-sp.org>
  Date:   2025-01-03 (Fri, 03 Jan 2025)

  Changed paths:
    M flang/lib/Optimizer/CodeGen/BoxedProcedure.cpp
    M mlir/docs/DialectConversion.md
    M mlir/include/mlir/Transforms/DialectConversion.h
    M mlir/lib/Conversion/LLVMCommon/TypeConverter.cpp
    M mlir/lib/Dialect/EmitC/Transforms/TypeConversions.cpp
    M mlir/lib/Dialect/Linalg/Transforms/Detensorize.cpp
    M mlir/lib/Dialect/Quant/Transforms/StripFuncQuantTypes.cpp
    M mlir/lib/Dialect/SparseTensor/Transforms/Utils/SparseTensorDescriptor.cpp
    M mlir/lib/Dialect/Vector/Transforms/VectorLinearize.cpp
    M mlir/lib/Transforms/Utils/DialectConversion.cpp
    M mlir/test/Transforms/test-legalizer.mlir
    M mlir/test/lib/Dialect/Func/TestDecomposeCallGraphTypes.cpp
    M mlir/test/lib/Dialect/Test/TestPatterns.cpp
    M mlir/test/lib/Transforms/TestDialectConversion.cpp

  Log Message:
  -----------
  [mlir][Transforms] Support 1:N mappings in `ConversionValueMapping` (#116524)

This commit updates the internal `ConversionValueMapping` data structure
in the dialect conversion driver to support 1:N replacements. This is
the last major commit for adding 1:N support to the dialect conversion
driver.

Since #116470, the infrastructure already supports 1:N replacements. But
the `ConversionValueMapping` still stored 1:1 value mappings. To that
end, the driver inserted temporary argument materializations (converting
N SSA values into 1 value). This is no longer the case. Argument
materializations are now entirely gone. (They will be deleted from the
type converter after some time, when we delete the old 1:N dialect
conversion driver.)

Note for LLVM integration: Replace all occurrences of
`addArgumentMaterialization` (except for 1:N dialect conversion passes)
with `addSourceMaterialization`.

---------

Co-authored-by: Markus Böck <markus.boeck02 at gmail.com>


  Commit: 68d265666e708bad1c63b419b6275aaba1a7dcd2
      https://github.com/llvm/llvm-project/commit/68d265666e708bad1c63b419b6275aaba1a7dcd2
  Author: Fabian Ritter <fabian.ritter at amd.com>
  Date:   2025-01-03 (Fri, 03 Jan 2025)

  Changed paths:
    M clang/docs/LanguageExtensions.rst

  Log Message:
  -----------
  [clang][NFC][docs] Fix typo in LanguageExtensions (#121576)


  Commit: a4d92400a6db9566d84cb4b900149e36e117f452
      https://github.com/llvm/llvm-project/commit/a4d92400a6db9566d84cb4b900149e36e117f452
  Author: Yingwei Zheng <dtcxzyw2333 at gmail.com>
  Date:   2025-01-03 (Fri, 03 Jan 2025)

  Changed paths:
    M llvm/lib/Transforms/InstCombine/InstructionCombining.cpp
    M llvm/test/Transforms/InstCombine/opaque-ptr.ll

  Log Message:
  -----------
  [InstCombine] Fix GEPNoWrapFlags propagation in `foldGEPOfPhi` (#121572)

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


  Commit: adeff9f63a24f60b0bf240bf13e40bbf7c1dd0e8
      https://github.com/llvm/llvm-project/commit/adeff9f63a24f60b0bf240bf13e40bbf7c1dd0e8
  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/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/canonicalize-omp.cpp
    M flang/lib/Semantics/check-omp-structure.cpp
    M flang/lib/Semantics/check-omp-structure.h
    M flang/test/Parser/OpenMP/error-unparse.f90
    M flang/test/Parser/OpenMP/nothing.f90
    A flang/test/Semantics/OpenMP/error.f90

  Log Message:
  -----------
  [flang][OpenMP] Allow utility constructs in specification part (#121509)

Allow utility constructs (error and nothing) to appear in the
specification part as well as the execution part. The exception is
"ERROR AT(EXECUTION)" which should only be in the execution part.
In case of ambiguity (the boundary between the specification and the
execution part), utility constructs will be parsed as belonging to the
specification part. In such cases move them to the execution part in the
OpenMP canonicalization code.


  Commit: faa30be101e9ae2bdb58d2acb250341f1b13031c
      https://github.com/llvm/llvm-project/commit/faa30be101e9ae2bdb58d2acb250341f1b13031c
  Author: Matthias Springer <me at m-sp.org>
  Date:   2025-01-03 (Fri, 03 Jan 2025)

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

  Log Message:
  -----------
  [mlir][Transforms] Fix build after #116524 (#121578)

Fix build errors after #116524.

```
error: call of overloaded ‘TypeRange(ValueVector&)’ is ambiguous
```


  Commit: 5137c209f0c19668d06e48cc4293e4c01a77c964
      https://github.com/llvm/llvm-project/commit/5137c209f0c19668d06e48cc4293e4c01a77c964
  Author: agozillon <Andrew.Gozillon at amd.com>
  Date:   2025-01-03 (Fri, 03 Jan 2025)

  Changed paths:
    M flang/lib/Lower/OpenMP/OpenMP.cpp
    M flang/lib/Optimizer/OpenMP/MapInfoFinalization.cpp
    M flang/test/Lower/OpenMP/allocatable-array-bounds.f90
    M flang/test/Lower/OpenMP/array-bounds.f90
    M flang/test/Lower/OpenMP/derived-type-allocatable-map.f90
    A flang/test/Lower/OpenMP/local-intrinsic-sized-array-map.f90
    M flang/test/Transforms/omp-map-info-finalization.fir
    A offload/test/offloading/fortran/target-map-local-intrinisc-sized-param.f90

  Log Message:
  -----------
  [Flang][OpenMP] Fix allocating arrays with size intrinisic (#119226)

Attempt to address the following example from causing an assert or ICE:

```
   subroutine test(a)
        implicit none
        integer :: i
        real(kind=real64), dimension(:) :: a
        real(kind=real64), dimension(size(a, 1)) :: b

!$omp target map(tofrom: b)
        do i = 1, 10
            b(i) = i
        end do
!$omp end target
end subroutine
```

Where we utilise a Fortran intrinsic (size) to calculate the size of
allocatable arrays and then map it to device.


  Commit: b9482ceb97f7cf7cde707dd81a0149dc9958ae53
      https://github.com/llvm/llvm-project/commit/b9482ceb97f7cf7cde707dd81a0149dc9958ae53
  Author: Slava Zakharin <szakharin at nvidia.com>
  Date:   2025-01-03 (Fri, 03 Jan 2025)

  Changed paths:
    M flang/lib/Optimizer/HLFIR/Transforms/OptimizedBufferization.cpp
    A flang/test/HLFIR/opt-bufferization-same-ptr-elemental.fir

  Log Message:
  -----------
  [flang] Improve designate/elemental indices match in opt-bufferization. (#121371)

This pattern appears in `tonto`: `rys1%w = rys1%w * ...`, where
component `w` is a pointer. Due to the computations transforming
the elemental's one-based indices to the array indices,
the indices match check did not pass in opt-bufferization.
This patch recognizes this indices adjusting pattern,
and returns the one-based indices for the designator.


  Commit: 3c700d131a35ce4b0063a4688dce4a0cb739ca83
      https://github.com/llvm/llvm-project/commit/3c700d131a35ce4b0063a4688dce4a0cb739ca83
  Author: Slava Zakharin <szakharin at nvidia.com>
  Date:   2025-01-03 (Fri, 03 Jan 2025)

  Changed paths:
    M flang/include/flang/Optimizer/HLFIR/Passes.td
    M flang/lib/Optimizer/HLFIR/Transforms/CMakeLists.txt
    A flang/lib/Optimizer/HLFIR/Transforms/InlineHLFIRAssign.cpp
    M flang/lib/Optimizer/HLFIR/Transforms/OptimizedBufferization.cpp
    M flang/lib/Optimizer/Passes/Pipelines.cpp
    M flang/test/Driver/mlir-pass-pipeline.f90
    M flang/test/Fir/basic-program.fir
    A flang/test/HLFIR/inline-hlfir-assign.fir
    M flang/test/HLFIR/maxloc-elemental.fir
    M flang/test/HLFIR/minloc-elemental.fir
    M flang/test/HLFIR/opt-bufferization-eval_in_mem.fir
    M flang/test/HLFIR/opt-bufferization.fir
    R flang/test/HLFIR/opt-variable-assign.fir

  Log Message:
  -----------
  [flang] Extract hlfir.assign inlining from opt-bufferization. (#121544)

Optimized bufferization can transform hlfir.assign into a loop
nest doing element per element assignment, but it avoids
doing so for RHS that is hlfir.expr. This is done to let
ElementalAssignBufferization pattern to try to do a better job.

This patch moves the hlfir.assign inlining after opt-bufferization,
and enables it for hlfir.expr RHS.

The hlfir.expr RHS cases are present in tonto, and this patch
results in some nice improvements. Note that those cases
are handled by other compilers also using array temporaries,
so this patch seems to just get rid of the Assign runtime
overhead/inefficiency.


  Commit: 322f16e6246ada7cd53e71e927ee68273e819f78
      https://github.com/llvm/llvm-project/commit/322f16e6246ada7cd53e71e927ee68273e819f78
  Author: Brox Chen <guochen2 at amd.com>
  Date:   2025-01-03 (Fri, 03 Jan 2025)

  Changed paths:
    M llvm/lib/Target/AMDGPU/VOP1Instructions.td
    M llvm/test/MC/AMDGPU/gfx11_asm_vop1.s
    M llvm/test/MC/AMDGPU/gfx11_asm_vop1_dpp16.s
    M llvm/test/MC/AMDGPU/gfx11_asm_vop1_dpp8.s
    M llvm/test/MC/AMDGPU/gfx11_asm_vop1_t16_err.s
    M llvm/test/MC/AMDGPU/gfx11_asm_vop1_t16_promote.s
    M llvm/test/MC/AMDGPU/gfx11_asm_vop3_dpp16_from_vop1.s
    M llvm/test/MC/AMDGPU/gfx11_asm_vop3_dpp8_from_vop1.s
    M llvm/test/MC/AMDGPU/gfx11_asm_vop3_from_vop1.s
    M llvm/test/MC/AMDGPU/gfx12_asm_vop1.s
    M llvm/test/MC/AMDGPU/gfx12_asm_vop1_dpp16.s
    M llvm/test/MC/AMDGPU/gfx12_asm_vop1_dpp8.s
    M llvm/test/MC/AMDGPU/gfx12_asm_vop1_t16_err.s
    M llvm/test/MC/AMDGPU/gfx12_asm_vop1_t16_promote.s
    M llvm/test/MC/AMDGPU/gfx12_asm_vop3_from_vop1.s
    M llvm/test/MC/AMDGPU/gfx12_asm_vop3_from_vop1_dpp16.s
    M llvm/test/MC/AMDGPU/gfx12_asm_vop3_from_vop1_dpp8.s
    M llvm/test/MC/Disassembler/AMDGPU/gfx11_dasm_vop1.txt
    M llvm/test/MC/Disassembler/AMDGPU/gfx11_dasm_vop1_dpp16.txt
    M llvm/test/MC/Disassembler/AMDGPU/gfx11_dasm_vop1_dpp8.txt
    M llvm/test/MC/Disassembler/AMDGPU/gfx11_dasm_vop3_dpp16_from_vop1.txt
    M llvm/test/MC/Disassembler/AMDGPU/gfx11_dasm_vop3_dpp8_from_vop1.txt
    M llvm/test/MC/Disassembler/AMDGPU/gfx11_dasm_vop3_from_vop1.txt
    M llvm/test/MC/Disassembler/AMDGPU/gfx12_dasm_vop1_dpp16.txt
    M llvm/test/MC/Disassembler/AMDGPU/gfx12_dasm_vop1_dpp8.txt
    M llvm/test/MC/Disassembler/AMDGPU/gfx12_dasm_vop3_from_vop1.txt
    M llvm/test/MC/Disassembler/AMDGPU/gfx12_dasm_vop3_from_vop1_dpp16.txt
    M llvm/test/MC/Disassembler/AMDGPU/gfx12_dasm_vop3_from_vop1_dpp8.txt

  Log Message:
  -----------
  [AMDGPU][True16][MC] true16 for v_sat_pk_u8_i16 (#120634)

Support true16 format for v_sat_pk_u8_i16 in MC


  Commit: e5acb167b72a6d2a6e29bcd29d6be57e15224c24
      https://github.com/llvm/llvm-project/commit/e5acb167b72a6d2a6e29bcd29d6be57e15224c24
  Author: Brox Chen <guochen2 at amd.com>
  Date:   2025-01-03 (Fri, 03 Jan 2025)

  Changed paths:
    M llvm/lib/Target/AMDGPU/VOP1Instructions.td
    M llvm/test/CodeGen/AMDGPU/llvm.trunc.f16.ll
    M llvm/test/MC/AMDGPU/gfx11_asm_vop1.s
    M llvm/test/MC/AMDGPU/gfx11_asm_vop1_dpp16.s
    M llvm/test/MC/AMDGPU/gfx11_asm_vop1_dpp8.s
    M llvm/test/MC/AMDGPU/gfx11_asm_vop1_t16_err.s
    M llvm/test/MC/AMDGPU/gfx11_asm_vop1_t16_promote.s
    M llvm/test/MC/AMDGPU/gfx11_asm_vop3_dpp16_from_vop1.s
    M llvm/test/MC/AMDGPU/gfx11_asm_vop3_dpp8_from_vop1.s
    M llvm/test/MC/AMDGPU/gfx11_asm_vop3_from_vop1.s
    M llvm/test/MC/AMDGPU/gfx12_asm_vop1.s
    M llvm/test/MC/AMDGPU/gfx12_asm_vop1_dpp16.s
    M llvm/test/MC/AMDGPU/gfx12_asm_vop1_dpp8.s
    M llvm/test/MC/AMDGPU/gfx12_asm_vop1_t16_err.s
    M llvm/test/MC/AMDGPU/gfx12_asm_vop1_t16_promote.s
    M llvm/test/MC/AMDGPU/gfx12_asm_vop3_from_vop1.s
    M llvm/test/MC/AMDGPU/gfx12_asm_vop3_from_vop1_dpp16.s
    M llvm/test/MC/AMDGPU/gfx12_asm_vop3_from_vop1_dpp8.s
    M llvm/test/MC/Disassembler/AMDGPU/gfx11_dasm_vop1.txt
    M llvm/test/MC/Disassembler/AMDGPU/gfx11_dasm_vop1_dpp16.txt
    M llvm/test/MC/Disassembler/AMDGPU/gfx11_dasm_vop1_dpp8.txt
    M llvm/test/MC/Disassembler/AMDGPU/gfx11_dasm_vop3_dpp16_from_vop1.txt
    M llvm/test/MC/Disassembler/AMDGPU/gfx11_dasm_vop3_dpp8_from_vop1.txt
    M llvm/test/MC/Disassembler/AMDGPU/gfx11_dasm_vop3_from_vop1.txt
    M llvm/test/MC/Disassembler/AMDGPU/gfx12_dasm_vop1_dpp16.txt
    M llvm/test/MC/Disassembler/AMDGPU/gfx12_dasm_vop1_dpp8.txt
    M llvm/test/MC/Disassembler/AMDGPU/gfx12_dasm_vop3_from_vop1.txt
    M llvm/test/MC/Disassembler/AMDGPU/gfx12_dasm_vop3_from_vop1_dpp16.txt
    M llvm/test/MC/Disassembler/AMDGPU/gfx12_dasm_vop3_from_vop1_dpp8.txt

  Log Message:
  -----------
  [AMDGPU][True16][MC] true16 for v_trunc_f16 (#120693)

Support true16 format for v_trunc_f16 in MC


  Commit: c50370c67afddf557ba30d58143b30ffb7203935
      https://github.com/llvm/llvm-project/commit/c50370c67afddf557ba30d58143b30ffb7203935
  Author: Han-Kuan Chen <hankuan.chen at sifive.com>
  Date:   2025-01-04 (Sat, 04 Jan 2025)

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

  Log Message:
  -----------
  [SLP] NFC. Use InstructionsState::valid if users just want to know whether VL has same opcode. (#120217)

Add assert for InstructionsState::getOpcode.
Use InstructionsState::getOpcode only when necessary.


  Commit: c744ed53a84f90598751cdcda4c68900113587ab
      https://github.com/llvm/llvm-project/commit/c744ed53a84f90598751cdcda4c68900113587ab
  Author: Brox Chen <guochen2 at amd.com>
  Date:   2025-01-03 (Fri, 03 Jan 2025)

  Changed paths:
    M llvm/lib/Target/AMDGPU/AMDGPUInstructionSelector.cpp
    M llvm/lib/Target/AMDGPU/SIInstructions.td
    M llvm/lib/Target/AMDGPU/VOPCInstructions.td
    M llvm/test/CodeGen/AMDGPU/GlobalISel/inst-select-amdgcn.fcmp.constants.w32.mir
    M llvm/test/CodeGen/AMDGPU/GlobalISel/inst-select-amdgcn.fcmp.constants.w64.mir

  Log Message:
  -----------
  [AMDGPU][True16][MC] disable incorrect VOPC t16 instruction (#120271)

The current VOPC t16 instructions are not implemented with the correct
t16 pseudo. Thus the current t16/fake16 instructions are all in fake16
format.

The plan is to remove the incorrect t16 instructions and refactor them.
The first step is to remove them in this patch. The next step will be
updating the t16/fake16 pseudo to the correct format and add back true16
instruction one by one in the upcoming patches.


  Commit: fa56e8bb6451bdf24be6c2a8737dab5fe6a2039c
      https://github.com/llvm/llvm-project/commit/fa56e8bb6451bdf24be6c2a8737dab5fe6a2039c
  Author: agozillon <Andrew.Gozillon at amd.com>
  Date:   2025-01-03 (Fri, 03 Jan 2025)

  Changed paths:
    M mlir/lib/Target/LLVMIR/Dialect/OpenMP/OpenMPToLLVMIRTranslation.cpp
    A mlir/test/Target/LLVMIR/omptarget-threadprivate-device-lowering.mlir
    A offload/test/offloading/fortran/target-with-threadprivate.f90

  Log Message:
  -----------
  [OpenMP][MLIR] Fix threadprivate lowering when compiling for target when target operations are in use (#119310)

Currently the compiler will ICE in programs like the following on the
device lowering pass:

```
program main
    implicit none

    type i1_t
       integer :: val(1000)
    end type i1_t
    integer :: i
    type(i1_t), pointer :: newi1
    type(i1_t), pointer :: tab=>null()

    integer, dimension(:), pointer :: tabval

!$omp THREADPRIVATE(tab)

allocate(newi1)

tab=>newi1
tab%val(:)=1
tabval=>tab%val

!$omp target teams distribute parallel do
  do i = 1, 1000
   tabval(i) = i
 end do
!$omp end target teams distribute parallel do

end program main
```

This is due to the fact that THREADPRIVATE returns a result operation,
and this operation can actually be used by other LLVM dialect (or other
dialect) operations. However, we currently skip the lowering of
threadprivate, so we effectively never generate and bind an LLVM-IR
result to the threadprivate operation result. So when we later go on to
lower dependent LLVM dialect operations, we are missing the required
LLVM-IR result, try to access and use it and then ICE. The fix in this
particular PR is to allow compilation of threadprivate for device as
well as host, and simply treat the device compilation as a no-op,
binding the LLVM-IR result of threadprivate with no alterations and
binding it, which will allow the rest of the compilation to proceed,
where we'll eventually discard the host segment in any case.

The other possible solution to this I can think of, is doing something
similar to Flang's passes that occur prior to CodeGen to the LLVM
dialect, where they erase/no-op certain unrequired operations or
transform them to lower level series of operations. And we would
erase/no-op threadprivate on device as we'd never have these in target
regions.

The main issues I can see with this are that we currently do not
specialise this stage based on wether we're compiling for device or
host, so it's setting a precedent and adding another point of having to
understand the separation between target and host compilation. I am also
not sure we'd necessarily want to enforce this at a dialect level incase
someone else wishes to add a different lowering flow or translation
flow. Another possible issue is that a target operation we have/utilise
would depend on the result of threadprivate, meaning we'd not be allowed
to entirely erase/no-op it, I am not sure of any situations where this
may be an issue currently though.


  Commit: 1cade8699719c934a8debb7bef9fdc3ff11e9602
      https://github.com/llvm/llvm-project/commit/1cade8699719c934a8debb7bef9fdc3ff11e9602
  Author: Ivan Butygin <ivan.butygin at gmail.com>
  Date:   2025-01-03 (Fri, 03 Jan 2025)

  Changed paths:
    M mlir/lib/Dialect/Arith/IR/ArithOps.cpp
    M mlir/test/Dialect/Arith/canonicalize.mlir

  Log Message:
  -----------
  [mlir][arith] Fold `(a * b) / b -> a` (#121534)

If overflow flags allow it.

Alive2 check: https://alive2.llvm.org/ce/z/5XWjWE


  Commit: 4dfea22e771a0944b3b313f2790a616fa79257e1
      https://github.com/llvm/llvm-project/commit/4dfea22e771a0944b3b313f2790a616fa79257e1
  Author: Craig Topper <craig.topper at sifive.com>
  Date:   2025-01-03 (Fri, 03 Jan 2025)

  Changed paths:
    M llvm/lib/CodeGen/ExpandMemCmp.cpp
    M llvm/test/CodeGen/AArch64/machine-licm-hoist-load.ll
    M llvm/test/CodeGen/AArch64/memcmp.ll
    M llvm/test/CodeGen/PowerPC/memcmp.ll
    M llvm/test/CodeGen/PowerPC/memcmpIR.ll
    M llvm/test/CodeGen/RISCV/memcmp-optsize.ll
    M llvm/test/CodeGen/RISCV/memcmp.ll
    M llvm/test/CodeGen/X86/memcmp-more-load-pairs-x32.ll
    M llvm/test/CodeGen/X86/memcmp-more-load-pairs.ll
    M llvm/test/CodeGen/X86/memcmp-optsize-x32.ll
    M llvm/test/CodeGen/X86/memcmp-optsize.ll
    M llvm/test/CodeGen/X86/memcmp-pgso-x32.ll
    M llvm/test/CodeGen/X86/memcmp-pgso.ll
    M llvm/test/CodeGen/X86/memcmp-x32.ll
    M llvm/test/CodeGen/X86/memcmp.ll
    M llvm/test/Transforms/ExpandMemCmp/AArch64/memcmp.ll
    M llvm/test/Transforms/ExpandMemCmp/X86/memcmp-x32.ll
    M llvm/test/Transforms/ExpandMemCmp/X86/memcmp.ll

  Log Message:
  -----------
  [ExpandMemCmp][AArch64][PowerPC][RISCV][X86] Use llvm.ucmp instead of (sub (zext (icmp ugt)), (zext (icmp ult))). (#121530)

AArch64 and PowerPC look like a improvements.
RISC-V is neutral.
X86 trades a dependency breaking xor before a seta for a movsx after a
sbbb. Depending on how the result is used, this movsx might go away.


  Commit: 715dcb2310a4378fdf324cd3d3b47d6f160842aa
      https://github.com/llvm/llvm-project/commit/715dcb2310a4378fdf324cd3d3b47d6f160842aa
  Author: Craig Topper <craig.topper at sifive.com>
  Date:   2025-01-03 (Fri, 03 Jan 2025)

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

  Log Message:
  -----------
  [ExpandMemCmp] Use m_SpecificInt to simplify code. NFC (#121532)


  Commit: c19f0f005a1ccf21bd2f0656f90455a55413a32f
      https://github.com/llvm/llvm-project/commit/c19f0f005a1ccf21bd2f0656f90455a55413a32f
  Author: Craig Topper <craig.topper at sifive.com>
  Date:   2025-01-03 (Fri, 03 Jan 2025)

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

  Log Message:
  -----------
  [PatternMatch] Make m_SpecificMask pass expected mask by Value. NFC (#121527)

Unlike m_Mask, we don't need to modify a variable owned by the caller so
we should pass the ArrayRef by value or const reference.


  Commit: e6f76378c20bebec85f66c1574bb6bb928a79025
      https://github.com/llvm/llvm-project/commit/e6f76378c20bebec85f66c1574bb6bb928a79025
  Author: Fangrui Song <i at maskray.me>
  Date:   2025-01-03 (Fri, 03 Jan 2025)

  Changed paths:
    M llvm/lib/Transforms/Utils/EntryExitInstrumenter.cpp
    M llvm/test/Transforms/EntryExitInstrumenter/mcount.ll

  Log Message:
  -----------
  EntryExitInstrumenter: skip available_externally linkage

gnu::always_inline functions, which lower to available_externally, may
not have definitions external to the module. -finstrument-function
family options instrumentating the function (which takes the function
address) may lead to a linker error if the function is not optimized
out, e.g.

```
// -std=c++17 or above with libstdc++
 #include <string>
std::string str;
int main() {}
```

Simplified reproduce:
```
template <typename T>
struct A {
  [[gnu::always_inline]] T bar(T a) { return a * 2; }
};
extern template class A<int>;
int main(int argc, char **argv) {
  return A<int>().bar(argc);
}
```

GCC's -finstrument-function instrumentation skips such functions
(https://gcc.gnu.org/PR78333). Let's skip such functions
(available_externally) as well.

Fix #50742

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


  Commit: ee9be864bcc5e3cc89f5f23485db2285ad7119f7
      https://github.com/llvm/llvm-project/commit/ee9be864bcc5e3cc89f5f23485db2285ad7119f7
  Author: Mingming Liu <mingmingl at google.com>
  Date:   2025-01-03 (Fri, 03 Jan 2025)

  Changed paths:
    M lld/ELF/InputSection.h

  Log Message:
  -----------
  [NFC] Fix a typo (#121545)

`InputSectionBase::relsOrRelas` make at most one array-ref non-empty. One-off counter (as debugging log) shows the number of empty member containers is 2 or 3 in a real build.

Fix the typo.


  Commit: 82fdd103f9484ce85ec64e3d013cfd8000e22fea
      https://github.com/llvm/llvm-project/commit/82fdd103f9484ce85ec64e3d013cfd8000e22fea
  Author: Simon Pilgrim <llvm-dev at redking.me.uk>
  Date:   2025-01-03 (Fri, 03 Jan 2025)

  Changed paths:
    A llvm/test/CodeGen/X86/pr107423.ll

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


  Commit: 13cf5c9c227a502f86f8c0e3c7d5fe147bc91b8b
      https://github.com/llvm/llvm-project/commit/13cf5c9c227a502f86f8c0e3c7d5fe147bc91b8b
  Author: Craig Topper <craig.topper at sifive.com>
  Date:   2025-01-03 (Fri, 03 Jan 2025)

  Changed paths:
    M llvm/test/CodeGen/RISCV/memcmp-optsize.ll
    M llvm/test/CodeGen/RISCV/memcmp.ll

  Log Message:
  -----------
  [RISCV] Re-generate memcmp test checks missed in #121530. NFC

A patch landed to these tests while #121530 was in review and I
forgot to rebase.


  Commit: bad0f98bda1ca0b8a106b14b9cce98bf1dbc15cc
      https://github.com/llvm/llvm-project/commit/bad0f98bda1ca0b8a106b14b9cce98bf1dbc15cc
  Author: Craig Topper <craig.topper at sifive.com>
  Date:   2025-01-03 (Fri, 03 Jan 2025)

  Changed paths:
    M llvm/test/CodeGen/AArch64/memcmp.ll
    M llvm/test/CodeGen/RISCV/memcmp.ll
    M llvm/test/CodeGen/X86/memcmp.ll

  Log Message:
  -----------
  [ExpandMemCmp][AArch][RISCV][X86] Pre-commit tests for recognizing canonical form of (icmp sle/sge X, 0). NFC

Pre-commit for #121540.


  Commit: 6d321530af6e83e51c2ed08463593af07ead9448
      https://github.com/llvm/llvm-project/commit/6d321530af6e83e51c2ed08463593af07ead9448
  Author: Alexey Bataev <a.bataev at outlook.com>
  Date:   2025-01-03 (Fri, 03 Jan 2025)

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

  Log Message:
  -----------
  [CG][RISCV]Add more RVV tests with exact vlen and linear/quadratic number of shuffles


  Commit: d37aa5135c732b37ae3daab9d9bdcc4c45f7a17d
      https://github.com/llvm/llvm-project/commit/d37aa5135c732b37ae3daab9d9bdcc4c45f7a17d
  Author: Brox Chen <guochen2 at amd.com>
  Date:   2025-01-03 (Fri, 03 Jan 2025)

  Changed paths:
    M llvm/lib/Target/AMDGPU/VOP1Instructions.td
    M llvm/test/MC/AMDGPU/gfx11_asm_vop1.s
    M llvm/test/MC/AMDGPU/gfx11_asm_vop1_dpp16.s
    M llvm/test/MC/AMDGPU/gfx11_asm_vop1_dpp8.s
    M llvm/test/MC/AMDGPU/gfx11_asm_vop1_t16_err.s
    M llvm/test/MC/AMDGPU/gfx11_asm_vop1_t16_promote.s
    M llvm/test/MC/AMDGPU/gfx11_asm_vop3_dpp16_from_vop1.s
    M llvm/test/MC/AMDGPU/gfx11_asm_vop3_dpp8_from_vop1.s
    M llvm/test/MC/AMDGPU/gfx11_asm_vop3_from_vop1.s
    M llvm/test/MC/AMDGPU/gfx12_asm_vop1.s
    M llvm/test/MC/AMDGPU/gfx12_asm_vop1_dpp16.s
    M llvm/test/MC/AMDGPU/gfx12_asm_vop1_dpp8.s
    M llvm/test/MC/AMDGPU/gfx12_asm_vop1_t16_err.s
    M llvm/test/MC/AMDGPU/gfx12_asm_vop1_t16_promote.s
    M llvm/test/MC/AMDGPU/gfx12_asm_vop3_from_vop1.s
    M llvm/test/MC/AMDGPU/gfx12_asm_vop3_from_vop1_dpp16.s
    M llvm/test/MC/AMDGPU/gfx12_asm_vop3_from_vop1_dpp8.s
    M llvm/test/MC/Disassembler/AMDGPU/gfx11_dasm_vop1.txt
    M llvm/test/MC/Disassembler/AMDGPU/gfx11_dasm_vop1_dpp16.txt
    M llvm/test/MC/Disassembler/AMDGPU/gfx11_dasm_vop1_dpp8.txt
    M llvm/test/MC/Disassembler/AMDGPU/gfx11_dasm_vop3_dpp16_from_vop1.txt
    M llvm/test/MC/Disassembler/AMDGPU/gfx11_dasm_vop3_dpp8_from_vop1.txt
    M llvm/test/MC/Disassembler/AMDGPU/gfx11_dasm_vop3_from_vop1.txt
    M llvm/test/MC/Disassembler/AMDGPU/gfx12_dasm_vop1_dpp16.txt
    M llvm/test/MC/Disassembler/AMDGPU/gfx12_dasm_vop1_dpp8.txt
    M llvm/test/MC/Disassembler/AMDGPU/gfx12_dasm_vop3_from_vop1.txt
    M llvm/test/MC/Disassembler/AMDGPU/gfx12_dasm_vop3_from_vop1_dpp16.txt
    M llvm/test/MC/Disassembler/AMDGPU/gfx12_dasm_vop3_from_vop1_dpp8.txt

  Log Message:
  -----------
  [AMDGPU][True16][MC] true16 for v_not_b16 (#120659)

Support true16 format for v_not_b16 in MC


  Commit: a4e47586b9c0566761b7fb704011da6ded823398
      https://github.com/llvm/llvm-project/commit/a4e47586b9c0566761b7fb704011da6ded823398
  Author: Craig Topper <craig.topper at sifive.com>
  Date:   2025-01-03 (Fri, 03 Jan 2025)

  Changed paths:
    M llvm/lib/CodeGen/ExpandMemCmp.cpp
    M llvm/test/CodeGen/AArch64/memcmp.ll
    M llvm/test/CodeGen/RISCV/memcmp.ll
    M llvm/test/CodeGen/X86/memcmp.ll

  Log Message:
  -----------
  [ExpandMemCmp] Recognize canonical form of (icmp sle/sge X, 0) in getMemCmpOneBlock. (#121540)

This code recognizes special cases where the result of memcmp is
compared with 0. If the compare is sle/sge, then InstCombine
canonicalizes to (icmp slt X, 1) or (icmp sgt X, -1). We should
recognize those patterns too.


  Commit: 39a9073f9eb71ac610cbafe7eed05ca668871b5c
      https://github.com/llvm/llvm-project/commit/39a9073f9eb71ac610cbafe7eed05ca668871b5c
  Author: Valentin Clement (バレンタイン クレメン) <clementval at gmail.com>
  Date:   2025-01-03 (Fri, 03 Jan 2025)

  Changed paths:
    M flang/lib/Semantics/check-allocate.cpp
    M flang/test/Semantics/cuf07.cuf

  Log Message:
  -----------
  [flang][cuda] Downgrade allocate pinned error to a warning (#121589)

To be in accordance with the reference compiler.


  Commit: 0844f83fea66332943deed7cdf97b686b2c7c37b
      https://github.com/llvm/llvm-project/commit/0844f83fea66332943deed7cdf97b686b2c7c37b
  Author: Arseniy Zaostrovnykh <necto.ne at gmail.com>
  Date:   2025-01-03 (Fri, 03 Jan 2025)

  Changed paths:
    M clang/include/clang/StaticAnalyzer/Core/PathSensitive/SymExpr.h
    M clang/include/clang/StaticAnalyzer/Core/PathSensitive/SymbolManager.h
    M clang/lib/StaticAnalyzer/Core/SymbolManager.cpp
    M clang/test/Analysis/dump_egraph.cpp
    M clang/test/Analysis/expr-inspection-printState-diseq-info.c
    M clang/test/Analysis/expr-inspection-printState-eq-classes.c
    M clang/test/Analysis/ptr-arith.cpp
    M clang/test/Analysis/symbol-simplification-disequality-info.cpp
    M clang/test/Analysis/symbol-simplification-fixpoint-one-iteration.cpp
    M clang/test/Analysis/symbol-simplification-fixpoint-two-iterations.cpp
    M clang/test/Analysis/unary-sym-expr.c

  Log Message:
  -----------
  [clang][analyzer] Stable order for SymbolRef-keyed containers (#121551)

Generalize the `SymbolID`s used for `SymbolData` to all `SymExpr`s and
use these IDs for comparison `SymbolRef` keys in various containers,
such as `ConstraintMap`. These IDs are superior to raw pointer values
because they are more controllable and are not randomized across
executions (unlike
[pointers](https://en.wikipedia.org/wiki/Address_space_layout_randomization)).

These IDs order is stable across runs because SymExprs are allocated in
the same order.

Stability of the constraint order is important for the stability of the
analyzer results. I evaluated this change on a set of 200+ open-source C
and C++ projects with the total number of ~78 000 symbolic-execution
issues passing Z3 refutation.

This patch reduced the run-to-run churn (flakiness) in SE issues from
80-90 to 30-40 (out of 78K) in our CSA deployment (in our setting flaky
issues are mostly due to Z3 refutation instability).

Note, most of the issue churn (flakiness) is caused by the mentioned Z3
refutation. With Z3 refutation disabled, issue churn goes down to ~10
issues out of 83K and this patch has no effect on appearing/disappearing
issues between runs. It however, seems to reduce the volatility of the
execution flow: before we had 40-80 issues with changed execution flow,
after - 10-30.

Importantly, this change is necessary for the next step in stabilizing
analysis results by caching Z3 query outcomes between analysis runs
(work in progress).

Across our admittedly noisy CI runs, I detected no significant effect on
memory footprint or analysis time.

CPP-5919


  Commit: a106ad0f1d0f74fde3591149c63f3e94ec780fef
      https://github.com/llvm/llvm-project/commit/a106ad0f1d0f74fde3591149c63f3e94ec780fef
  Author: Balazs Benics <benicsbalazs at gmail.com>
  Date:   2025-01-03 (Fri, 03 Jan 2025)

  Changed paths:
    M clang/include/clang/StaticAnalyzer/Core/PathSensitive/SymExpr.h
    M clang/include/clang/StaticAnalyzer/Core/PathSensitive/SymbolManager.h
    M clang/lib/StaticAnalyzer/Core/SymbolManager.cpp
    M clang/test/Analysis/dump_egraph.cpp
    M clang/test/Analysis/expr-inspection-printState-diseq-info.c
    M clang/test/Analysis/expr-inspection-printState-eq-classes.c
    M clang/test/Analysis/ptr-arith.cpp
    M clang/test/Analysis/symbol-simplification-disequality-info.cpp
    M clang/test/Analysis/symbol-simplification-fixpoint-one-iteration.cpp
    M clang/test/Analysis/symbol-simplification-fixpoint-two-iterations.cpp
    M clang/test/Analysis/unary-sym-expr.c

  Log Message:
  -----------
  Revert "[clang][analyzer] Stable order for SymbolRef-keyed containers" (#121592)

Reverts llvm/llvm-project#121551

We had a bunch of build errors caused by this PR.
https://lab.llvm.org/buildbot/#/builders/144/builds/14875


  Commit: e32afded9227635108fad003e5c6d3bd88e5e3c1
      https://github.com/llvm/llvm-project/commit/e32afded9227635108fad003e5c6d3bd88e5e3c1
  Author: Craig Topper <craig.topper at sifive.com>
  Date:   2025-01-03 (Fri, 03 Jan 2025)

  Changed paths:
    M llvm/lib/CodeGen/SelectionDAG/LegalizeVectorOps.cpp

  Log Message:
  -----------
  [LegalizeVectorOps] Use getBoolConstant instead of getAllOnesConstant in VectorLegalizer::UnrollVSETCC. (#121526)

This code should follow the target preference for boolean contents of a
vector type. We shouldn't assume that true is negative one.


  Commit: 34d2c3b9349b151bd69defa4880ecf56fb017287
      https://github.com/llvm/llvm-project/commit/34d2c3b9349b151bd69defa4880ecf56fb017287
  Author: Brox Chen <guochen2 at amd.com>
  Date:   2025-01-03 (Fri, 03 Jan 2025)

  Changed paths:
    M llvm/lib/Target/AMDGPU/VOP1Instructions.td
    M llvm/test/CodeGen/AMDGPU/llvm.sin.f16.ll
    M llvm/test/MC/AMDGPU/gfx11_asm_vop1.s
    M llvm/test/MC/AMDGPU/gfx11_asm_vop1_dpp16.s
    M llvm/test/MC/AMDGPU/gfx11_asm_vop1_dpp8.s
    M llvm/test/MC/AMDGPU/gfx11_asm_vop1_t16_err.s
    M llvm/test/MC/AMDGPU/gfx11_asm_vop1_t16_promote.s
    M llvm/test/MC/AMDGPU/gfx11_asm_vop3_dpp16_from_vop1.s
    M llvm/test/MC/AMDGPU/gfx11_asm_vop3_dpp8_from_vop1.s
    M llvm/test/MC/AMDGPU/gfx11_asm_vop3_from_vop1.s
    M llvm/test/MC/AMDGPU/gfx12_asm_vop1.s
    M llvm/test/MC/AMDGPU/gfx12_asm_vop1_dpp16.s
    M llvm/test/MC/AMDGPU/gfx12_asm_vop1_dpp8.s
    M llvm/test/MC/AMDGPU/gfx12_asm_vop1_t16_err.s
    M llvm/test/MC/AMDGPU/gfx12_asm_vop1_t16_promote.s
    M llvm/test/MC/AMDGPU/gfx12_asm_vop3_from_vop1.s
    M llvm/test/MC/AMDGPU/gfx12_asm_vop3_from_vop1_dpp16.s
    M llvm/test/MC/AMDGPU/gfx12_asm_vop3_from_vop1_dpp8.s
    M llvm/test/MC/Disassembler/AMDGPU/gfx11_dasm_vop1.txt
    M llvm/test/MC/Disassembler/AMDGPU/gfx11_dasm_vop1_dpp16.txt
    M llvm/test/MC/Disassembler/AMDGPU/gfx11_dasm_vop1_dpp8.txt
    M llvm/test/MC/Disassembler/AMDGPU/gfx11_dasm_vop3_dpp16_from_vop1.txt
    M llvm/test/MC/Disassembler/AMDGPU/gfx11_dasm_vop3_dpp8_from_vop1.txt
    M llvm/test/MC/Disassembler/AMDGPU/gfx11_dasm_vop3_from_vop1.txt
    M llvm/test/MC/Disassembler/AMDGPU/gfx12_dasm_vop1_dpp16.txt
    M llvm/test/MC/Disassembler/AMDGPU/gfx12_dasm_vop1_dpp8.txt
    M llvm/test/MC/Disassembler/AMDGPU/gfx12_dasm_vop3_from_vop1.txt
    M llvm/test/MC/Disassembler/AMDGPU/gfx12_dasm_vop3_from_vop1_dpp16.txt
    M llvm/test/MC/Disassembler/AMDGPU/gfx12_dasm_vop3_from_vop1_dpp8.txt

  Log Message:
  -----------
  [AMDGPU][True16][MC] true16 for v_sin_f16 (#120692)

Support true16 format for v_sin_f16 in MC


  Commit: 5ee8418057646f4640cd1bb60e73f9e5129ea12e
      https://github.com/llvm/llvm-project/commit/5ee8418057646f4640cd1bb60e73f9e5129ea12e
  Author: Craig Topper <craig.topper at sifive.com>
  Date:   2025-01-03 (Fri, 03 Jan 2025)

  Changed paths:
    M llvm/docs/TableGen/BackEnds.rst

  Log Message:
  -----------
  [Docs][TableGen] Remove ReturnRange from the SearchIndex documentation. NFC

SearchIndex doesn't support ReturnRange. It is only supported for
the primary key.


  Commit: 432a871ba8f6a62272a7ef1162305328b0de7802
      https://github.com/llvm/llvm-project/commit/432a871ba8f6a62272a7ef1162305328b0de7802
  Author: Ellis Hoag <ellis.sparky.hoag at gmail.com>
  Date:   2025-01-03 (Fri, 03 Jan 2025)

  Changed paths:
    M clang/include/clang/Driver/Options.td
    M clang/lib/Driver/ToolChains/Clang.cpp
    M clang/test/Driver/clang_f_opts.c

  Log Message:
  -----------
  Deprecate order file instrumentation (#121514)


  Commit: 11c6af666b75d03ac67dfdf9ba190587b7efbcd8
      https://github.com/llvm/llvm-project/commit/11c6af666b75d03ac67dfdf9ba190587b7efbcd8
  Author: Florian Hahn <flo at fhahn.com>
  Date:   2025-01-03 (Fri, 03 Jan 2025)

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

  Log Message:
  -----------
  [VPlan] Fix name ExitVPBB -> MiddleVPBB (NFC).

ExitVPBB actually refers to the middle block, clarify name.


  Commit: cb2eafe6ac72064529da5219434e351851a2b68f
      https://github.com/llvm/llvm-project/commit/cb2eafe6ac72064529da5219434e351851a2b68f
  Author: Jay Foad <jay.foad at amd.com>
  Date:   2025-01-03 (Fri, 03 Jan 2025)

  Changed paths:
    M llvm/lib/TableGen/TGLexer.cpp
    M llvm/lib/TableGen/TGLexer.h

  Log Message:
  -----------
  [TableGen] Use SmallVectors for preprocessor include stack. NFC. (#121571)

This is just a minor cleanup and a small step in the direction of using
LLVM containers in preference to STL containers in lib/TableGen.


  Commit: f7420a9dff6d09715042b60c9e26a40a1b2a3147
      https://github.com/llvm/llvm-project/commit/f7420a9dff6d09715042b60c9e26a40a1b2a3147
  Author: Abid Qadeer <haqadeer at amd.com>
  Date:   2025-01-03 (Fri, 03 Jan 2025)

  Changed paths:
    M flang/lib/Optimizer/Transforms/AddDebugInfo.cpp
    A flang/test/Integration/debug-116525.f90

  Log Message:
  -----------
  [flang][debug] Fix issue with argument numbering. (#120726)

Currently fir::isDummyArgument is being used to check if a DeclareOp
represents a dummy argument. The argument passed to the function is
declOp.getMemref(). This bypasses the code in isDummyArgument that
checks for dummy_scope because the `Value` returned by the getMemref()
may not have DeclareOp as its defining op.

This bypassing mean that sometime a variable will be marked as argument
when it should not. This happened in this case where same arg was being
used for 2 different result variables with use of `entry` in the
function.

The solution is to check directly if the declOp has a dummy_scope. If
yes, we know this is dummy argument. We can now check if the memref
points to the BlockArgument and use its number. This will still miss
arguments where memref does not directly point to a BlockArgument but
that is missed currently too. Note that we can still evaluate those
variable in debugger. It is just that they are not marked as arguments.

Fixes #116525.


  Commit: 3b72c62e7faa918d9a7e7439a4aa86d00921b0b8
      https://github.com/llvm/llvm-project/commit/3b72c62e7faa918d9a7e7439a4aa86d00921b0b8
  Author: Brox Chen <guochen2 at amd.com>
  Date:   2025-01-03 (Fri, 03 Jan 2025)

  Changed paths:
    M llvm/lib/Target/AMDGPU/VOP1Instructions.td
    M llvm/test/CodeGen/AMDGPU/llvm.frexp.ll
    M llvm/test/MC/AMDGPU/gfx11_asm_vop1.s
    M llvm/test/MC/AMDGPU/gfx11_asm_vop1_dpp16.s
    M llvm/test/MC/AMDGPU/gfx11_asm_vop1_dpp8.s
    M llvm/test/MC/AMDGPU/gfx11_asm_vop1_t16_err.s
    M llvm/test/MC/AMDGPU/gfx11_asm_vop1_t16_promote.s
    M llvm/test/MC/AMDGPU/gfx11_asm_vop3_dpp16_from_vop1.s
    M llvm/test/MC/AMDGPU/gfx11_asm_vop3_dpp8_from_vop1.s
    M llvm/test/MC/AMDGPU/gfx11_asm_vop3_from_vop1.s
    M llvm/test/MC/AMDGPU/gfx12_asm_vop1.s
    M llvm/test/MC/AMDGPU/gfx12_asm_vop1_dpp16.s
    M llvm/test/MC/AMDGPU/gfx12_asm_vop1_dpp8.s
    M llvm/test/MC/AMDGPU/gfx12_asm_vop1_t16_err.s
    M llvm/test/MC/AMDGPU/gfx12_asm_vop1_t16_promote.s
    M llvm/test/MC/AMDGPU/gfx12_asm_vop3_from_vop1.s
    M llvm/test/MC/AMDGPU/gfx12_asm_vop3_from_vop1_dpp16.s
    M llvm/test/MC/AMDGPU/gfx12_asm_vop3_from_vop1_dpp8.s
    M llvm/test/MC/Disassembler/AMDGPU/gfx11_dasm_vop1.txt
    M llvm/test/MC/Disassembler/AMDGPU/gfx11_dasm_vop1_dpp16.txt
    M llvm/test/MC/Disassembler/AMDGPU/gfx11_dasm_vop1_dpp8.txt
    M llvm/test/MC/Disassembler/AMDGPU/gfx11_dasm_vop3_dpp16_from_vop1.txt
    M llvm/test/MC/Disassembler/AMDGPU/gfx11_dasm_vop3_dpp8_from_vop1.txt
    M llvm/test/MC/Disassembler/AMDGPU/gfx11_dasm_vop3_from_vop1.txt
    M llvm/test/MC/Disassembler/AMDGPU/gfx12_dasm_vop1_dpp16.txt
    M llvm/test/MC/Disassembler/AMDGPU/gfx12_dasm_vop1_dpp8.txt
    M llvm/test/MC/Disassembler/AMDGPU/gfx12_dasm_vop3_from_vop1.txt
    M llvm/test/MC/Disassembler/AMDGPU/gfx12_dasm_vop3_from_vop1_dpp16.txt
    M llvm/test/MC/Disassembler/AMDGPU/gfx12_dasm_vop3_from_vop1_dpp8.txt

  Log Message:
  -----------
  [AMDGPU][True16][MC] true16 for v_frexp_mant_f16 (#120653)

Support true16 format for v_frexp_mant_f16 in MC


  Commit: 9d8e634e85ca46fbec07733d3e69d34c0d7814ac
      https://github.com/llvm/llvm-project/commit/9d8e634e85ca46fbec07733d3e69d34c0d7814ac
  Author: Jeff Niu <jeffniu22 at gmail.com>
  Date:   2025-01-03 (Fri, 03 Jan 2025)

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

  Log Message:
  -----------
  [mlir][scf] Always remove for iter args that are loop invariant (#121555)

This alters the condition in ForOpIterArgsFolder to always remove iter
args when their initial value equals the yielded value, not just when
the arg has no use.


  Commit: b2adeae8650fb720873ad7fa39153beaa8194afc
      https://github.com/llvm/llvm-project/commit/b2adeae8650fb720873ad7fa39153beaa8194afc
  Author: Jun Wang <jwang86 at yahoo.com>
  Date:   2025-01-03 (Fri, 03 Jan 2025)

  Changed paths:
    M llvm/lib/Target/AMDGPU/AsmParser/AMDGPUAsmParser.cpp
    M llvm/lib/Target/AMDGPU/BUFInstructions.td
    M llvm/lib/Target/AMDGPU/Disassembler/AMDGPUDisassembler.cpp
    M llvm/lib/Target/AMDGPU/Disassembler/AMDGPUDisassembler.h
    M llvm/lib/Target/AMDGPU/MIMGInstructions.td
    M llvm/lib/Target/AMDGPU/SIRegisterInfo.td
    M llvm/lib/Target/AMDGPU/SMInstructions.td
    M llvm/test/CodeGen/AMDGPU/inline-asm.i128.ll
    M llvm/test/MC/AMDGPU/gfx10_asm_mimg_err.s
    A llvm/test/MC/AMDGPU/gfx10_asm_mtbuf_err.s
    A llvm/test/MC/AMDGPU/gfx10_asm_mubuf_err.s
    M llvm/test/MC/AMDGPU/gfx10_asm_smem.s
    A llvm/test/MC/AMDGPU/gfx10_asm_smem_err.s
    M llvm/test/MC/AMDGPU/gfx11_asm_mimg_err.s
    A llvm/test/MC/AMDGPU/gfx11_asm_mtbuf_err.s
    A llvm/test/MC/AMDGPU/gfx11_asm_mubuf_err.s
    M llvm/test/MC/AMDGPU/gfx11_asm_smem.s
    A llvm/test/MC/AMDGPU/gfx11_asm_smem_err.s
    M llvm/test/MC/AMDGPU/gfx12_asm_mimg_err.s
    M llvm/test/MC/AMDGPU/gfx12_asm_smem.s
    A llvm/test/MC/AMDGPU/gfx12_asm_smem_err.s
    A llvm/test/MC/AMDGPU/gfx12_asm_vbuffer_mtbuf_err.s
    A llvm/test/MC/AMDGPU/gfx12_asm_vbuffer_mubuf_err.s
    M llvm/test/MC/Disassembler/AMDGPU/gfx10_smem.txt
    M llvm/test/MC/Disassembler/AMDGPU/gfx11_dasm_smem.txt
    M llvm/test/MC/Disassembler/AMDGPU/gfx12_dasm_smem.txt

  Log Message:
  -----------
  [AMDGPU][MC] Allow null where 128b or larger dst reg is expected (#115200)

For GFX10+, currently null cannot be used as dst reg in instructions
that expect the dst reg to be 128b or larger (e.g., s_load_dwordx4).
This patch fixes this problem while ensuring null cannot be used as S#,
T#, or V#.


  Commit: 20d491bb993218eae6a13e4901da943ebd804f7a
      https://github.com/llvm/llvm-project/commit/20d491bb993218eae6a13e4901da943ebd804f7a
  Author: Florian Hahn <flo at fhahn.com>
  Date:   2025-01-03 (Fri, 03 Jan 2025)

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

  Log Message:
  -----------
  [VPlan] Remove re-using vector PH in VPBasicBlock::execute (NFC).

Remove logic to re-use the previous basic block for the vector pre
header from VPBasicBlock::execute. The preheader is now modeled as
VPIRBasicBlock, so the code is no longer needed.

Split off from https://github.com/llvm/llvm-project/pull/108378.


  Commit: dc307be1b573c1bd6c2f8a3af9edd3455508dc7c
      https://github.com/llvm/llvm-project/commit/dc307be1b573c1bd6c2f8a3af9edd3455508dc7c
  Author: Brox Chen <guochen2 at amd.com>
  Date:   2025-01-03 (Fri, 03 Jan 2025)

  Changed paths:
    M llvm/lib/Target/AMDGPU/VOP1Instructions.td
    M llvm/test/CodeGen/AMDGPU/fract-match.ll
    M llvm/test/MC/AMDGPU/gfx11_asm_vop1.s
    M llvm/test/MC/AMDGPU/gfx11_asm_vop1_dpp16.s
    M llvm/test/MC/AMDGPU/gfx11_asm_vop1_dpp8.s
    M llvm/test/MC/AMDGPU/gfx11_asm_vop1_t16_err.s
    M llvm/test/MC/AMDGPU/gfx11_asm_vop1_t16_promote.s
    M llvm/test/MC/AMDGPU/gfx11_asm_vop3_dpp16_from_vop1.s
    M llvm/test/MC/AMDGPU/gfx11_asm_vop3_dpp8_from_vop1.s
    M llvm/test/MC/AMDGPU/gfx11_asm_vop3_from_vop1.s
    M llvm/test/MC/AMDGPU/gfx12_asm_vop1.s
    M llvm/test/MC/AMDGPU/gfx12_asm_vop1_dpp16.s
    M llvm/test/MC/AMDGPU/gfx12_asm_vop1_dpp8.s
    M llvm/test/MC/AMDGPU/gfx12_asm_vop1_t16_err.s
    M llvm/test/MC/AMDGPU/gfx12_asm_vop1_t16_promote.s
    M llvm/test/MC/AMDGPU/gfx12_asm_vop3_from_vop1.s
    M llvm/test/MC/AMDGPU/gfx12_asm_vop3_from_vop1_dpp16.s
    M llvm/test/MC/AMDGPU/gfx12_asm_vop3_from_vop1_dpp8.s
    M llvm/test/MC/Disassembler/AMDGPU/gfx11_dasm_vop1.txt
    M llvm/test/MC/Disassembler/AMDGPU/gfx11_dasm_vop1_dpp16.txt
    M llvm/test/MC/Disassembler/AMDGPU/gfx11_dasm_vop1_dpp8.txt
    M llvm/test/MC/Disassembler/AMDGPU/gfx11_dasm_vop3_dpp16_from_vop1.txt
    M llvm/test/MC/Disassembler/AMDGPU/gfx11_dasm_vop3_dpp8_from_vop1.txt
    M llvm/test/MC/Disassembler/AMDGPU/gfx11_dasm_vop3_from_vop1.txt
    M llvm/test/MC/Disassembler/AMDGPU/gfx12_dasm_vop1_dpp16.txt
    M llvm/test/MC/Disassembler/AMDGPU/gfx12_dasm_vop1_dpp8.txt
    M llvm/test/MC/Disassembler/AMDGPU/gfx12_dasm_vop3_from_vop1.txt
    M llvm/test/MC/Disassembler/AMDGPU/gfx12_dasm_vop3_from_vop1_dpp16.txt
    M llvm/test/MC/Disassembler/AMDGPU/gfx12_dasm_vop3_from_vop1_dpp8.txt

  Log Message:
  -----------
  [AMDGPU][True16][MC] true16 for v_fract_f16 (#120647)

Support true16 format for v_fract_f16 in MC


  Commit: b71a6fd042173098977e97a47ee0bedb4040069a
      https://github.com/llvm/llvm-project/commit/b71a6fd042173098977e97a47ee0bedb4040069a
  Author: Brox Chen <guochen2 at amd.com>
  Date:   2025-01-03 (Fri, 03 Jan 2025)

  Changed paths:
    M llvm/lib/Target/AMDGPU/VOP1Instructions.td
    M llvm/test/MC/AMDGPU/gfx11_asm_vop1.s
    M llvm/test/MC/AMDGPU/gfx11_asm_vop1_dpp16.s
    M llvm/test/MC/AMDGPU/gfx11_asm_vop1_dpp8.s
    M llvm/test/MC/AMDGPU/gfx11_asm_vop1_t16_err.s
    M llvm/test/MC/AMDGPU/gfx11_asm_vop1_t16_promote.s
    M llvm/test/MC/AMDGPU/gfx11_asm_vop3_dpp16_from_vop1.s
    M llvm/test/MC/AMDGPU/gfx11_asm_vop3_dpp8_from_vop1.s
    M llvm/test/MC/AMDGPU/gfx11_asm_vop3_from_vop1.s
    M llvm/test/MC/AMDGPU/gfx12_asm_vop1.s
    M llvm/test/MC/AMDGPU/gfx12_asm_vop1_dpp16.s
    M llvm/test/MC/AMDGPU/gfx12_asm_vop1_dpp8.s
    M llvm/test/MC/AMDGPU/gfx12_asm_vop1_t16_err.s
    M llvm/test/MC/AMDGPU/gfx12_asm_vop1_t16_promote.s
    M llvm/test/MC/AMDGPU/gfx12_asm_vop3_from_vop1.s
    M llvm/test/MC/AMDGPU/gfx12_asm_vop3_from_vop1_dpp16.s
    M llvm/test/MC/AMDGPU/gfx12_asm_vop3_from_vop1_dpp8.s
    M llvm/test/MC/Disassembler/AMDGPU/gfx11_dasm_vop1.txt
    M llvm/test/MC/Disassembler/AMDGPU/gfx11_dasm_vop1_dpp16.txt
    M llvm/test/MC/Disassembler/AMDGPU/gfx11_dasm_vop1_dpp8.txt
    M llvm/test/MC/Disassembler/AMDGPU/gfx11_dasm_vop3_dpp16_from_vop1.txt
    M llvm/test/MC/Disassembler/AMDGPU/gfx11_dasm_vop3_dpp8_from_vop1.txt
    M llvm/test/MC/Disassembler/AMDGPU/gfx11_dasm_vop3_from_vop1.txt
    M llvm/test/MC/Disassembler/AMDGPU/gfx12_dasm_vop1_dpp16.txt
    M llvm/test/MC/Disassembler/AMDGPU/gfx12_dasm_vop1_dpp8.txt
    M llvm/test/MC/Disassembler/AMDGPU/gfx12_dasm_vop3_from_vop1.txt
    M llvm/test/MC/Disassembler/AMDGPU/gfx12_dasm_vop3_from_vop1_dpp16.txt
    M llvm/test/MC/Disassembler/AMDGPU/gfx12_dasm_vop3_from_vop1_dpp8.txt

  Log Message:
  -----------
  [AMDGPU][True16][MC] true16 for v_cvt_i32_i16 (#120645)

Support true16 format for v_cvt_i32_i16 in MC


  Commit: bf274b3d8044cab8478bef50ccf96313e4dbf21e
      https://github.com/llvm/llvm-project/commit/bf274b3d8044cab8478bef50ccf96313e4dbf21e
  Author: Brox Chen <guochen2 at amd.com>
  Date:   2025-01-03 (Fri, 03 Jan 2025)

  Changed paths:
    M llvm/lib/Target/AMDGPU/VOP1Instructions.td
    M llvm/test/CodeGen/AMDGPU/llvm.cos.f16.ll
    M llvm/test/MC/AMDGPU/gfx11_asm_vop1.s
    M llvm/test/MC/AMDGPU/gfx11_asm_vop1_dpp16.s
    M llvm/test/MC/AMDGPU/gfx11_asm_vop1_dpp8.s
    M llvm/test/MC/AMDGPU/gfx11_asm_vop1_t16_err.s
    M llvm/test/MC/AMDGPU/gfx11_asm_vop1_t16_promote.s
    M llvm/test/MC/AMDGPU/gfx11_asm_vop3_dpp16_from_vop1.s
    M llvm/test/MC/AMDGPU/gfx11_asm_vop3_dpp8_from_vop1.s
    M llvm/test/MC/AMDGPU/gfx11_asm_vop3_from_vop1.s
    M llvm/test/MC/AMDGPU/gfx12_asm_vop1.s
    M llvm/test/MC/AMDGPU/gfx12_asm_vop1_dpp16.s
    M llvm/test/MC/AMDGPU/gfx12_asm_vop1_dpp8.s
    M llvm/test/MC/AMDGPU/gfx12_asm_vop1_t16_err.s
    M llvm/test/MC/AMDGPU/gfx12_asm_vop1_t16_promote.s
    M llvm/test/MC/AMDGPU/gfx12_asm_vop3_from_vop1.s
    M llvm/test/MC/AMDGPU/gfx12_asm_vop3_from_vop1_dpp16.s
    M llvm/test/MC/AMDGPU/gfx12_asm_vop3_from_vop1_dpp8.s
    M llvm/test/MC/Disassembler/AMDGPU/gfx11_dasm_vop1.txt
    M llvm/test/MC/Disassembler/AMDGPU/gfx11_dasm_vop1_dpp16.txt
    M llvm/test/MC/Disassembler/AMDGPU/gfx11_dasm_vop1_dpp8.txt
    M llvm/test/MC/Disassembler/AMDGPU/gfx11_dasm_vop3_dpp16_from_vop1.txt
    M llvm/test/MC/Disassembler/AMDGPU/gfx11_dasm_vop3_dpp8_from_vop1.txt
    M llvm/test/MC/Disassembler/AMDGPU/gfx11_dasm_vop3_from_vop1.txt
    M llvm/test/MC/Disassembler/AMDGPU/gfx12_dasm_vop1_dpp16.txt
    M llvm/test/MC/Disassembler/AMDGPU/gfx12_dasm_vop1_dpp8.txt
    M llvm/test/MC/Disassembler/AMDGPU/gfx12_dasm_vop3_from_vop1.txt
    M llvm/test/MC/Disassembler/AMDGPU/gfx12_dasm_vop3_from_vop1_dpp16.txt
    M llvm/test/MC/Disassembler/AMDGPU/gfx12_dasm_vop3_from_vop1_dpp8.txt

  Log Message:
  -----------
   [AMDGPU][True16][MC] true16 for v_cos_f16 (#120639)

Support true16 format for v_cos_f16 in MC


  Commit: 9f5cefebb482331796ceaebbfcebcd5aee1eb339
      https://github.com/llvm/llvm-project/commit/9f5cefebb482331796ceaebbfcebcd5aee1eb339
  Author: Krzysztof Drewniak <Krzysztof.Drewniak at amd.com>
  Date:   2025-01-03 (Fri, 03 Jan 2025)

  Changed paths:
    M mlir/include/mlir/Dialect/Affine/IR/AffineOps.td
    M mlir/lib/Dialect/Affine/IR/AffineOps.cpp
    M mlir/test/Dialect/Affine/canonicalize.mlir

  Log Message:
  -----------
  [mlir][Affine] Generalize the linearize(delinearize()) simplifications (#117637)

The existing canonicalization patterns would only cancel out cases where
the entire result list of an affine.delineraize_index was passed to an
affine.lineraize_index and the basis elements matched exactly (except
possibly for the outer bounds).

This was correct, but limited, and left open many cases where a
delinearize_index would take a series of divisions and modulos only for
a subsequent linearize_index to use additions and multiplications to
undo all that work.

This sort of simplification is reasably easy to observe at the level of
splititng and merging indexes, but difficult to perform once the
underlying arithmetic operations have been created.

Therefore, this commit generalizes the existing simplification logic.

Now, any run of two or more delinearize_index results that appears
within the argument list of a linearize_index operation with the same
basis (or where they're both at the outermost position and so can be
unbonded, or when `linearize_index disjoint` implies a bound not present
on the `delinearize_index`) will be reduced to one signle
delinearize_index output, whose basis element (that is, size or length)
is equal to the product of the sizes that were simplified away.

That is, we can now simplify

    %0:2 = affine.delinearize_index %n into (8, 8) : inde, index
%1 = affine.linearize_index [%x, %0#0, %0#1, %y] by (3, 8, 8, 5) : index

to the simpler

    %1 = affine.linearize_index [%x, %n, %y] by (3, 64, 5) : index

This new pattern also works with dynamically-sized basis values.

While I'm here, I fixed a bunch of typos in existing tests, and added a
new getPaddedBasis() method to make processing
potentially-underspecified basis elements simpler in some cases.


  Commit: 18b47373cb47f1f63ab1f6e126ccfb22cc52963c
      https://github.com/llvm/llvm-project/commit/18b47373cb47f1f63ab1f6e126ccfb22cc52963c
  Author: jmriesen <20286401+jmriesen at users.noreply.github.com>
  Date:   2025-01-03 (Fri, 03 Jan 2025)

  Changed paths:
    M llvm/docs/ProgrammersManual.rst
    M llvm/include/llvm/IR/PassManager.h

  Log Message:
  -----------
  Updating broken/outdated links in the ProgrammerManual (#119472)

Fixes llvm/llvm-project#117897


  Commit: d85b22ed5dbb794835fd4b5166d5bb79ad9e09f2
      https://github.com/llvm/llvm-project/commit/d85b22ed5dbb794835fd4b5166d5bb79ad9e09f2
  Author: kefan cao <45958009+caokefan at users.noreply.github.com>
  Date:   2025-01-03 (Fri, 03 Jan 2025)

  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 `dependentTemplateSpecializationType` matcher (#121435)

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


  Commit: d7acf03cecef0bc62240c97a890077755323424f
      https://github.com/llvm/llvm-project/commit/d7acf03cecef0bc62240c97a890077755323424f
  Author: Brox Chen <guochen2 at amd.com>
  Date:   2025-01-03 (Fri, 03 Jan 2025)

  Changed paths:
    M llvm/lib/Target/AMDGPU/VOP1Instructions.td
    M llvm/test/CodeGen/AMDGPU/llvm.rint.f16.ll
    M llvm/test/MC/AMDGPU/gfx11_asm_vop1.s
    M llvm/test/MC/AMDGPU/gfx11_asm_vop1_dpp16.s
    M llvm/test/MC/AMDGPU/gfx11_asm_vop1_dpp8.s
    M llvm/test/MC/AMDGPU/gfx11_asm_vop1_t16_err.s
    M llvm/test/MC/AMDGPU/gfx11_asm_vop1_t16_promote.s
    M llvm/test/MC/AMDGPU/gfx11_asm_vop3_dpp16_from_vop1.s
    M llvm/test/MC/AMDGPU/gfx11_asm_vop3_dpp8_from_vop1.s
    M llvm/test/MC/AMDGPU/gfx11_asm_vop3_from_vop1.s
    M llvm/test/MC/AMDGPU/gfx12_asm_vop1.s
    M llvm/test/MC/AMDGPU/gfx12_asm_vop1_dpp16.s
    M llvm/test/MC/AMDGPU/gfx12_asm_vop1_dpp8.s
    M llvm/test/MC/AMDGPU/gfx12_asm_vop1_t16_err.s
    M llvm/test/MC/AMDGPU/gfx12_asm_vop1_t16_promote.s
    M llvm/test/MC/AMDGPU/gfx12_asm_vop3_from_vop1.s
    M llvm/test/MC/AMDGPU/gfx12_asm_vop3_from_vop1_dpp16.s
    M llvm/test/MC/AMDGPU/gfx12_asm_vop3_from_vop1_dpp8.s
    M llvm/test/MC/Disassembler/AMDGPU/gfx11_dasm_vop1.txt
    M llvm/test/MC/Disassembler/AMDGPU/gfx11_dasm_vop1_dpp16.txt
    M llvm/test/MC/Disassembler/AMDGPU/gfx11_dasm_vop1_dpp8.txt
    M llvm/test/MC/Disassembler/AMDGPU/gfx11_dasm_vop3_dpp16_from_vop1.txt
    M llvm/test/MC/Disassembler/AMDGPU/gfx11_dasm_vop3_dpp8_from_vop1.txt
    M llvm/test/MC/Disassembler/AMDGPU/gfx11_dasm_vop3_from_vop1.txt
    M llvm/test/MC/Disassembler/AMDGPU/gfx12_dasm_vop1_dpp16.txt
    M llvm/test/MC/Disassembler/AMDGPU/gfx12_dasm_vop1_dpp8.txt
    M llvm/test/MC/Disassembler/AMDGPU/gfx12_dasm_vop3_from_vop1.txt
    M llvm/test/MC/Disassembler/AMDGPU/gfx12_dasm_vop3_from_vop1_dpp16.txt
    M llvm/test/MC/Disassembler/AMDGPU/gfx12_dasm_vop3_from_vop1_dpp8.txt

  Log Message:
  -----------
  [AMDGPU][True16][MC] true16 for v_rndne_f16 (#120691)

Support true16 format for v_rndne_b16 in MC


  Commit: 78f04477d658ae3de3cd416947c5bac65262a9ec
      https://github.com/llvm/llvm-project/commit/78f04477d658ae3de3cd416947c5bac65262a9ec
  Author: Maksim Levental <maksim.levental at gmail.com>
  Date:   2025-01-03 (Fri, 03 Jan 2025)

  Changed paths:
    M mlir/cmake/modules/AddMLIRPython.cmake

  Log Message:
  -----------
  [mlir][python] declare `_PyClassMethod_New` undefined at link time (#121597)

`NanobindAdaptors.h` uses `PyClassMethod_New` to build `pure_subclass`es
but nanobind doesn't declare this API as undefined in its linker flags.
So we need to declare it as such for downstream users that do not do
something like `-undefined dynamic_lookup`


  Commit: 9165848c8285884938583f5c3a35c97ec03ee486
      https://github.com/llvm/llvm-project/commit/9165848c8285884938583f5c3a35c97ec03ee486
  Author: Valentin Clement (バレンタイン クレメン) <clementval at gmail.com>
  Date:   2025-01-03 (Fri, 03 Jan 2025)

  Changed paths:
    M flang/include/flang/Optimizer/Builder/CUFCommon.h
    M flang/lib/Lower/Allocatable.cpp
    M flang/lib/Lower/Bridge.cpp
    M flang/lib/Optimizer/Builder/CUFCommon.cpp
    M flang/test/Lower/CUDA/cuda-pointer-sync.cuf

  Log Message:
  -----------
  [flang][cuda] Sync global descriptor when nullifying pointer (#121595)


  Commit: 1b5deaeb2ad0a7ea643f24899e4aad9461d3d426
      https://github.com/llvm/llvm-project/commit/1b5deaeb2ad0a7ea643f24899e4aad9461d3d426
  Author: Tom Stellard <tstellar at redhat.com>
  Date:   2025-01-03 (Fri, 03 Jan 2025)

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

  Log Message:
  -----------
  workflows/build-ci-container: Make sure to only test local containers (#120827)

The container test is run before we create the :latest tag, so we should
not try testing this, otherwise it will pull the :latest tag from the
github registry, and won't test the container we just built.


  Commit: 06cf4f970446ce3c4be0a7104115b82c2fae6448
      https://github.com/llvm/llvm-project/commit/06cf4f970446ce3c4be0a7104115b82c2fae6448
  Author: Tom Stellard <tstellar at redhat.com>
  Date:   2025-01-03 (Fri, 03 Jan 2025)

  Changed paths:
    M .github/workflows/new-issues.yml

  Log Message:
  -----------
  workflows/new-issues: Use an llvmbot token to add labels (#120840)

There is a separate job that mentions teams based on the label added,
and this job won't run if we use the default github token.


  Commit: dfa4312c9b092c23b9b2ec366a8851be729953c4
      https://github.com/llvm/llvm-project/commit/dfa4312c9b092c23b9b2ec366a8851be729953c4
  Author: Tom Stellard <tstellar at redhat.com>
  Date:   2025-01-03 (Fri, 03 Jan 2025)

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

  Log Message:
  -----------
  workflows/release-binaries: Replace some workflow interpolations with env vars (#120860)

This is recommended by the GitHub Actions security hardening guide:
https://docs.github.com/en/actions/security-for-github-actions/security-guides/security-hardening-for-github-actions#using-an-intermediate-environment-variable


  Commit: ee1adc5aab4fb517314358ce03cfda426da9c4ce
      https://github.com/llvm/llvm-project/commit/ee1adc5aab4fb517314358ce03cfda426da9c4ce
  Author: Adrian Prantl <aprantl at apple.com>
  Date:   2025-01-03 (Fri, 03 Jan 2025)

  Changed paths:
    M lldb/docs/resources/formatterbytecode.rst
    M lldb/examples/python/formatter_bytecode.py
    M lldb/source/DataFormatters/FormatterBytecode.cpp
    M lldb/source/DataFormatters/FormatterBytecode.def
    M lldb/unittests/DataFormatter/FormatterBytecodeTest.cpp

  Log Message:
  -----------
  [lldb] Add a return opcode to the formatter bytecode (#121602)

In LLVM we love our early exists and this opcode allows for simpler code
generation.


  Commit: b7637a855722b608ce2fb5aa860149db9b881197
      https://github.com/llvm/llvm-project/commit/b7637a855722b608ce2fb5aa860149db9b881197
  Author: Valentin Clement (バレンタイン クレメン) <clementval at gmail.com>
  Date:   2025-01-03 (Fri, 03 Jan 2025)

  Changed paths:
    M flang/lib/Lower/Allocatable.cpp
    M flang/test/Lower/CUDA/cuda-allocatable.cuf

  Log Message:
  -----------
  [flang][cuda] Set PINNED variable to false in ALLOCATE (#121593)

When `PINNED=` is used with variables that don't have the `PINNED`
attribute, the logical value must be set to false when host allocation
is performed.


  Commit: 54246a39e4cb06cec7d4bafb014e3cad73b1e4df
      https://github.com/llvm/llvm-project/commit/54246a39e4cb06cec7d4bafb014e3cad73b1e4df
  Author: Craig Topper <craig.topper at sifive.com>
  Date:   2025-01-03 (Fri, 03 Jan 2025)

  Changed paths:
    M llvm/lib/Target/RISCV/RISCVInsertVSETVLI.cpp

  Log Message:
  -----------
  [RISCV] Pass VSETVLIInfo by const reference. NFC


  Commit: 82c0f68c041229eb48a7d018f7aa81d576d456a9
      https://github.com/llvm/llvm-project/commit/82c0f68c041229eb48a7d018f7aa81d576d456a9
  Author: Mikhail R. Gadelha <mikhail at igalia.com>
  Date:   2025-01-03 (Fri, 03 Jan 2025)

  Changed paths:
    M libc/src/unistd/linux/dup2.cpp

  Log Message:
  -----------
  [libc] Remove assert to fix rv32 buildbot


  Commit: e3dafa88a8f651825ac65aad9b273983598279dd
      https://github.com/llvm/llvm-project/commit/e3dafa88a8f651825ac65aad9b273983598279dd
  Author: Valentin Clement (バレンタイン クレメン) <clementval at gmail.com>
  Date:   2025-01-03 (Fri, 03 Jan 2025)

  Changed paths:
    M flang/lib/Semantics/check-cuda.cpp
    M flang/test/Semantics/cuf09.cuf

  Log Message:
  -----------
  [flang][cuda] Allow GOTO, EXIT, CYCLE and SELECT CASE in device procedures (#121612)


  Commit: 7c86ab8a18897c434fdb1ee3cd5ff2a71e6aae5a
      https://github.com/llvm/llvm-project/commit/7c86ab8a18897c434fdb1ee3cd5ff2a71e6aae5a
  Author: Slava Zakharin <szakharin at nvidia.com>
  Date:   2025-01-03 (Fri, 03 Jan 2025)

  Changed paths:
    M flang/lib/Optimizer/OpenMP/CMakeLists.txt

  Log Message:
  -----------
  [flang] Fixed the missing dependency. (#121370)

My local build with the shared libraries is broken.
I suppose this was introduced by #120374.

`flang/include/flang/Evaluate/constant.h` ends up being included
by `MapInfoFinalization.cpp` via `flang/Lower/DirectivesCommon.h`.
The undefined references are related to `ConstantBase` classes.


  Commit: a2b9058c392995660956e56c2ac8695a44dc2e4e
      https://github.com/llvm/llvm-project/commit/a2b9058c392995660956e56c2ac8695a44dc2e4e
  Author: Craig Topper <craig.topper at sifive.com>
  Date:   2025-01-03 (Fri, 03 Jan 2025)

  Changed paths:
    M llvm/lib/Target/RISCV/AsmParser/RISCVAsmParser.cpp
    M llvm/lib/Target/RISCV/MCTargetDesc/RISCVBaseInfo.h
    M llvm/lib/Target/RISCV/MCTargetDesc/RISCVInstPrinter.cpp
    M llvm/lib/Target/RISCV/RISCVSystemOperands.td

  Log Message:
  -----------
  [RISCV] Reduce size of CSR lookup tables. NFC (#121606)

Instead of storing 3 different names in each row of the table, use a
separate row for each name and use a flag to indicate what type of name
it is. The AltName and DeprecatedName weren't used often enough to
justify storing them as a possibility for every register.

This reduces the .rodata size by 27k and reduces the number of dynamic
relocations since we now only need 1 lookup by name function. The lookup
by name function each contained a ~400 entry table of const char*
pointing to constant strings. Each of those requires a dynamic
relocation.

I also capitalized IsRV32Only in the C++ code to match coding
standards.


  Commit: dc3cd2e95ee56cdb75f4d0d0742626f912b5c6f3
      https://github.com/llvm/llvm-project/commit/dc3cd2e95ee56cdb75f4d0d0742626f912b5c6f3
  Author: Chandler Carruth <chandlerc at gmail.com>
  Date:   2025-01-03 (Fri, 03 Jan 2025)

  Changed paths:
    M clang/include/clang/Basic/Builtins.h
    M clang/lib/AST/ByteCode/InterpBuiltin.cpp
    M clang/lib/AST/ExprConstant.cpp
    M clang/lib/Basic/Builtins.cpp

  Log Message:
  -----------
  Factor common code for quoting a builtin name (#120835)

This shows up in several places in order to match the quoting of other
uses of the same diagnostic. Handling it centrally simplifies the code
and reduces changes if the storage for builtin names changes.

This refactoring is extracted out of #120534 as requested in code
review.


  Commit: 34f0611bc36db40789823030a3748a8595198719
      https://github.com/llvm/llvm-project/commit/34f0611bc36db40789823030a3748a8595198719
  Author: Owen Pan <owenpiano at gmail.com>
  Date:   2025-01-03 (Fri, 03 Jan 2025)

  Changed paths:
    M clang/docs/ClangFormatStyleOptions.rst
    M clang/include/clang/Format/Format.h

  Log Message:
  -----------
  [clang-format][doc] Minor cleanup


  Commit: aa0f3343a60c6132d9f6adfb8f62234a95519918
      https://github.com/llvm/llvm-project/commit/aa0f3343a60c6132d9f6adfb8f62234a95519918
  Author: Craig Topper <craig.topper at sifive.com>
  Date:   2025-01-03 (Fri, 03 Jan 2025)

  Changed paths:
    M llvm/include/llvm/TableGen/Record.h

  Log Message:
  -----------
  [TableGen] Add 'final' to all of the *Init classes.

Classes that used TrailingObjects were already 'final'. Add to the
rest for consistency.


  Commit: 2d424765f496410d6ab95a80c90d2eda933d66d4
      https://github.com/llvm/llvm-project/commit/2d424765f496410d6ab95a80c90d2eda933d66d4
  Author: Matthias Springer <me at m-sp.org>
  Date:   2025-01-04 (Sat, 04 Jan 2025)

  Changed paths:
    M mlir/include/mlir/IR/Dominance.h
    M mlir/lib/IR/Dominance.cpp

  Log Message:
  -----------
  [mlir][IR][NFC] `DominanceInfo`: Share same impl for block/op dominance (#115587)

The `properlyDominates` implementations for blocks and ops are very
similar. This commit replaces them with a single implementation that
operates on block iterators. That implementation can be used to
implement both `properlyDominates` variants.

Before:
```c++
template <bool IsPostDom>
bool DominanceInfoBase<IsPostDom>::properlyDominatesImpl(Block *a,
                                                         Block *b) const;
template <bool IsPostDom>
bool DominanceInfoBase<IsPostDom>::properlyDominatesImpl(
    Operation *a, Operation *b, bool enclosingOpOk) const;
```

After:
```c++
template <bool IsPostDom>
bool DominanceInfoBase<IsPostDom>::properlyDominatesImpl(
    Block *aBlock, Block::iterator aIt, Block *bBlock, Block::iterator bIt,
    bool enclosingOk) const;
```

Note: A subsequent commit will add a new public `properlyDominates`
overload that accepts block iterators. That functionality can then be
used to find a valid insertion point at which a range of values is
defined (by utilizing post dominance).


  Commit: 95c5c5d4badf7c2128d098be325356e15c2197be
      https://github.com/llvm/llvm-project/commit/95c5c5d4badf7c2128d098be325356e15c2197be
  Author: Matthias Springer <me at m-sp.org>
  Date:   2025-01-04 (Sat, 04 Jan 2025)

  Changed paths:
    M mlir/include/mlir/IR/Dominance.h
    M mlir/lib/Transforms/Utils/DialectConversion.cpp

  Log Message:
  -----------
  [mlir][Transforms][NFC] Use `DominanceInfo` to compute materialization insertion point (#120746)

In the dialect conversion driver, use `DominanceInfo` to compute a
suitable insertion point for N:1 source materializations.


  Commit: fac46469977da9c4e9c6eeaac21103c971190577
      https://github.com/llvm/llvm-project/commit/fac46469977da9c4e9c6eeaac21103c971190577
  Author: Yingwei Zheng <dtcxzyw2333 at gmail.com>
  Date:   2025-01-04 (Sat, 04 Jan 2025)

  Changed paths:
    M llvm/lib/Transforms/InstCombine/InstCombineCompares.cpp
    M llvm/test/Transforms/InstCombine/icmp-gep.ll

  Log Message:
  -----------
  [InstCombine] Check no wrap flags before folding icmp of GEPs with same indices (#121628)

Alive2: https://alive2.llvm.org/ce/z/Dr3Sbe
Closes https://github.com/llvm/llvm-project/issues/121581.


  Commit: 2529a8df53af9bc6cecfd6c83404ffa5e89e3370
      https://github.com/llvm/llvm-project/commit/2529a8df53af9bc6cecfd6c83404ffa5e89e3370
  Author: Chandler Carruth <chandlerc at gmail.com>
  Date:   2025-01-04 (Sat, 04 Jan 2025)

  Changed paths:
    M clang/include/clang/Basic/BuiltinsBase.td
    R clang/include/clang/Basic/BuiltinsX86.def
    M clang/include/clang/Basic/BuiltinsX86.td
    M clang/include/clang/Basic/TargetBuiltins.h
    M clang/lib/Basic/Targets/X86.cpp
    M clang/utils/TableGen/ClangBuiltinsEmitter.cpp

  Log Message:
  -----------
  Mechanically port bulk of x86 builtins to TableGen (#120831)

The goal is to make incremental (if small) progress towards fully
TableGen'ed builtins, and to unblock #120534 by gaining access to more
powerful TableGen-based representations.

The bulk `.td` file addition was generated with the help of a very rough
Python script. That script made no attempt to be robust or reusable, it
specifically handled only the cases in the X86 `.def` file.

Four entries from the `.def` file were not handled automatically as they
used `BUILTIN` rather than `TARGET_BUILTIN`. These were ported by hand
to an empty-feature `TargetBuiltin` entry, which seems like a better
match.

For all the automatically ported entries, the results were compared by
sorting and diffing the `.def` file and the generated `.inc` file. The
only differences were:

- Different horizontal whitespace

- Additional entries that had already been ported to the `.td` file.

- More systematically using `Oi` instead of `LLi` for the type `long
  long int` in the fully general `__builtin_ia32_...` builtins for OpenCL
  support. The `.def` file was only partially moved to this it seems, and
  the systematic migration has updated a few missed builtins.


  Commit: 95db1116c5718004e0bd7c3b79d39987fdbbff32
      https://github.com/llvm/llvm-project/commit/95db1116c5718004e0bd7c3b79d39987fdbbff32
  Author: David CARLIER <devnexen at gmail.com>
  Date:   2025-01-04 (Sat, 04 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] intercept setbuf, setvbuf, setlinebuf and setbuffer (#121616)


  Commit: c7fa3cf620f62d87dc7753f5d341ae3f63da87f4
      https://github.com/llvm/llvm-project/commit/c7fa3cf620f62d87dc7753f5d341ae3f63da87f4
  Author: David CARLIER <devnexen at gmail.com>
  Date:   2025-01-04 (Sat, 04 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] intercept setbuf, setvbuf, setlinebuf an… (#121639)

…d setbuffer (#121616)"

This reverts commit 95db1116c5718004e0bd7c3b79d39987fdbbff32.


  Commit: 914fd916d5456e15cf9baaf617edaac6b7334d09
      https://github.com/llvm/llvm-project/commit/914fd916d5456e15cf9baaf617edaac6b7334d09
  Author: Nikolas Klauser <nikolasklauser at berlin.de>
  Date:   2025-01-04 (Sat, 04 Jan 2025)

  Changed paths:
    M libcxx/include/__ostream/basic_ostream.h

  Log Message:
  -----------
  [libc++][NFC] Simplify basic_ostream by combining operator<<(Arithmetic) (#121011)

The bodies of all the `operator<<` for arithmetic types have very
similar or even identical bodies. This introduces two new functions to
avoid all the duplication.


  Commit: c9d61cde2ba3521c7604c8ee0c3e1ba4dfc4d406
      https://github.com/llvm/llvm-project/commit/c9d61cde2ba3521c7604c8ee0c3e1ba4dfc4d406
  Author: Matthias Springer <me at m-sp.org>
  Date:   2025-01-04 (Sat, 04 Jan 2025)

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

  Log Message:
  -----------
  [mlir][Transforms][NFC] Delete unused `nTo1TempMaterializations` (#121647)

`nTo1TempMaterializations` is no longer used since the conversion value
mapping supports 1:N mappings.


  Commit: 47ac7fa8619c1f1e29ee4aafded2ae990ffa319e
      https://github.com/llvm/llvm-project/commit/47ac7fa8619c1f1e29ee4aafded2ae990ffa319e
  Author: Florian Hahn <flo at fhahn.com>
  Date:   2025-01-04 (Sat, 04 Jan 2025)

  Changed paths:
    M llvm/test/Transforms/LoopVectorize/induction-step.ll

  Log Message:
  -----------
  [LV] Add tests with wide inductions and live-in step.

Also regenerate check lines and simplify existing tests and names.


  Commit: da2a9ede81a88bea0bba28a543441197772e4727
      https://github.com/llvm/llvm-project/commit/da2a9ede81a88bea0bba28a543441197772e4727
  Author: Vlad Serebrennikov <serebrennikov.vladislav at gmail.com>
  Date:   2025-01-04 (Sat, 04 Jan 2025)

  Changed paths:
    M clang/test/CXX/drs/cwg12xx.cpp
    M clang/test/CXX/drs/cwg28xx.cpp
    M clang/test/CXX/drs/cwg29xx.cpp
    M clang/www/cxx_dr_status.html
    M clang/www/make_cxx_dr_status

  Log Message:
  -----------
  [clang] Update C++ DR status page (#121642)

This patch brings our C++ DR status page up to date with WG21 updates.

[CWG1223](https://cplusplus.github.io/CWG/issues/1223.html) "Syntactic
disambiguation and _trailing-return-types_" is resolved by
[P2915R0](https://wg21.link/p2915r0) "Proposed resolution for CWG1223".
Both the test and the paper were written by @cor3ntin, so I presume no
updates are needed.

[CWG2819](https://cplusplus.github.io/CWG/issues/2819.html) "Cast from
null pointer value in a constant expression" was revisited and marked as
not a DR, so I updated the test to ensure that the example is not
accepted in C++23 and earlier modes. CC @offsetof.

Tentantive resolutions to the following issues were simply promoted to
actual resolutions, so tests don't require any meaningful changes:
- [CWG2913](https://cplusplus.github.io/CWG/issues/2913.html) "Grammar
for deduction-guide has requires-clause in the wrong position"
(@zyn0217)
- [CWG2915](https://cplusplus.github.io/CWG/issues/2915.html) "Explicit
object parameters of type void" (@MitalAshok)
- [CWG2922](https://cplusplus.github.io/CWG/issues/2922.html) "constexpr
placement-new is too permissive" (@cor3ntin)

As a drive-by fix, I updated the `make_cxx_dr_status` script to
accommodate for `C++23 onwards` and `C++26 onwards` statuses, which are
useful for Core issues that are not DRs.


  Commit: 4a7c0b8afe6bf616cd6bb4f13b5b706a43c10e74
      https://github.com/llvm/llvm-project/commit/4a7c0b8afe6bf616cd6bb4f13b5b706a43c10e74
  Author: Florian Hahn <flo at fhahn.com>
  Date:   2025-01-04 (Sat, 04 Jan 2025)

  Changed paths:
    A llvm/test/Transforms/LoopVectorize/X86/induction-step.ll

  Log Message:
  -----------
  [LV] Add X86-specific induction step tests.

Adds additional test coverage for induction codegen.


  Commit: 24c2ba07ce65a5bf7d1113e05c517169d950b663
      https://github.com/llvm/llvm-project/commit/24c2ba07ce65a5bf7d1113e05c517169d950b663
  Author: Yingwei Zheng <dtcxzyw2333 at gmail.com>
  Date:   2025-01-05 (Sun, 05 Jan 2025)

  Changed paths:
    M llvm/lib/Transforms/InstCombine/InstCombineMulDivRem.cpp
    M llvm/test/Transforms/InstCombine/rem-mul-shl.ll

  Log Message:
  -----------
  [InstCombine] Drop NSW when converting `shl X, BW - 1` back into mul (#121633)

`X <<s BW - 1` and `X *s INT_MIN` are not equivalent.
Alive2: https://alive2.llvm.org/ce/z/MKKFrj
Closes https://github.com/llvm/llvm-project/issues/121584


  Commit: ce6251540d7af30585d4ca753ca2a0ab34d32be2
      https://github.com/llvm/llvm-project/commit/ce6251540d7af30585d4ca753ca2a0ab34d32be2
  Author: Simon Pilgrim <llvm-dev at redking.me.uk>
  Date:   2025-01-04 (Sat, 04 Jan 2025)

  Changed paths:
    M llvm/test/CodeGen/X86/vec_saddo.ll
    M llvm/test/CodeGen/X86/vec_ssubo.ll
    M llvm/test/CodeGen/X86/vec_uaddo.ll
    M llvm/test/CodeGen/X86/vec_usubo.ll

  Log Message:
  -----------
  [X86] vector overflow tests - regenerate VPTERNLOG comments


  Commit: 9a95c097d0466c594f40a4ba9ced8a155574fdff
      https://github.com/llvm/llvm-project/commit/9a95c097d0466c594f40a4ba9ced8a155574fdff
  Author: Alexey Samsonov <vonosmas at gmail.com>
  Date:   2025-01-04 (Sat, 04 Jan 2025)

  Changed paths:
    M libc/src/math/generic/CMakeLists.txt
    M libc/src/math/generic/exp10f_impl.h
    M libc/src/math/generic/range_reduction_double_common.h
    M libc/src/math/generic/sincosf16_utils.h
    M utils/bazel/llvm-project-overlay/libc/BUILD.bazel

  Log Message:
  -----------
  [libc] Remove some unused includes from headers under src/math/generic. (#121632)

These were indicated by Clang include-cleaner.


  Commit: c19e0d63b45f9c97157060c662396820ce2a1621
      https://github.com/llvm/llvm-project/commit/c19e0d63b45f9c97157060c662396820ce2a1621
  Author: Fangrui Song <i at maskray.me>
  Date:   2025-01-04 (Sat, 04 Jan 2025)

  Changed paths:
    M llvm/test/Transforms/GCOVProfiling/exit-block.ll

  Log Message:
  -----------
  [gcov,test] Update exit-block.ll now that exit block is always the second

Follow-up to 82fecab85ae2d72ffac0e44749d99f12d6f71cc0


  Commit: b95cce99049d6b79c418c9981dc39ede2850994e
      https://github.com/llvm/llvm-project/commit/b95cce99049d6b79c418c9981dc39ede2850994e
  Author: Florian Hahn <flo at fhahn.com>
  Date:   2025-01-04 (Sat, 04 Jan 2025)

  Changed paths:
    M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
    M llvm/test/Transforms/LoopVectorize/X86/induction-step.ll

  Log Message:
  -----------
  [VPlan] Update wide induction inc recipes to use same step as Wide IV.

Update wide induction increments to use the same step as the corresponding
wide induction. This enables detecting induction increments directly in
VPlan and removes redundant splats.


  Commit: 1fa0036226d0ffad624bfb43595d00885db546b9
      https://github.com/llvm/llvm-project/commit/1fa0036226d0ffad624bfb43595d00885db546b9
  Author: Craig Topper <craig.topper at sifive.com>
  Date:   2025-01-04 (Sat, 04 Jan 2025)

  Changed paths:
    M llvm/lib/Target/AArch64/Utils/AArch64BaseInfo.cpp
    M llvm/lib/Target/AArch64/Utils/AArch64BaseInfo.h

  Log Message:
  -----------
  [AArch64] Remove one unnecesssary include of AArch64GenSystemOperands.inc. NFC

GET_PRCTX_DECL and GET_PRCTX_IMPl don't exist in AArch64GenSystemOperands.inc
so this include does nothing. It looks like it was removed in
2050e7ebe18cc4cf906d9b54d17ee885cd868327.


  Commit: 59354a865fe408749634456e10bd76a50d785c2b
      https://github.com/llvm/llvm-project/commit/59354a865fe408749634456e10bd76a50d785c2b
  Author: David CARLIER <devnexen at gmail.com>
  Date:   2025-01-04 (Sat, 04 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] intercept fflush. (#121643)


  Commit: afef716e839bf7dd96ebce5264779b1d316db58e
      https://github.com/llvm/llvm-project/commit/afef716e839bf7dd96ebce5264779b1d316db58e
  Author: Matthias Springer <me at m-sp.org>
  Date:   2025-01-04 (Sat, 04 Jan 2025)

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

  Log Message:
  -----------
  [mlir][Transforms] Fix build after #116524 (part 2) (#121662)

Since #116524, an integration test started to become flaky (failure rate
~15%).

```
bin/mlir-opt mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_block_matmul.mlir --sparsifier="enable-arm-sve=true enable-runtime-library=false vl=2 reassociate-fp-reductions=true enable-index-optimizations=true" | mlir-cpu-runner --march=aarch64 --mattr="+sve" -e main -entry-point-result=void -shared-libs=./lib/libmlir_runner_utils.so,./lib/libmlir_c_runner_utils.so | bin/FileCheck mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_block_matmul.mlir
# executed command: bin/mlir-opt mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_block_matmul.mlir '--sparsifier=enable-arm-sve=true enable-runtime-library=false vl=2 reassociate-fp-reductions=true enable-index-optimizations=true'
# .---command stderr------------
# | mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_block_matmul.mlir:71:10: error: null operand found
# |     %0 = linalg.generic #trait_mul
# |          ^
# | mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_block_matmul.mlir:71:10: note: see current operation: %70 = "arith.mulf"(<<NULL VALUE>>, %69) <{fastmath = #arith.fastmath<none>}> : (<<NULL TYPE>>, vector<[2]xf64>) -> vector<[2]xf64>
# `-----------------------------
# error: command failed with exit status: 1
```

I traced the issue back to the `DenseMap<ValueVector, ValueVector,
ValueVectorMapInfo> mapping;` data structure: previously, some
`mapping.erase(foo)` calls were unsuccessful (returning `false`), even
though the `mapping` contains `foo` as a key.


  Commit: fd38a95586477f8f60330ef723406d69b33b91f6
      https://github.com/llvm/llvm-project/commit/fd38a95586477f8f60330ef723406d69b33b91f6
  Author: Craig Topper <craig.topper at sifive.com>
  Date:   2025-01-04 (Sat, 04 Jan 2025)

  Changed paths:
    M llvm/lib/TargetParser/Host.cpp

  Log Message:
  -----------
  [TargetParser] Use StringRef::split that takes a char separator instead of StringRef separator. NFC


  Commit: c56b74315f57acb1b285ddc77b07031b773549b7
      https://github.com/llvm/llvm-project/commit/c56b74315f57acb1b285ddc77b07031b773549b7
  Author: Sergei Barannikov <barannikov88 at gmail.com>
  Date:   2025-01-05 (Sun, 05 Jan 2025)

  Changed paths:
    M llvm/test/TableGen/GlobalISelEmitter/undef-tied-input.td
    M llvm/utils/TableGen/GlobalISelEmitter.cpp

  Log Message:
  -----------
  [TableGen][GISel] Reuse `importNodeRenderer` for `OperandWithDefaultOps` (#121285)

This avoids some code duplication (handling `Register`, `zero_reg` and
immediate operands).


  Commit: f855ceeefc97220a052cc76a52a45c6907eac1f8
      https://github.com/llvm/llvm-project/commit/f855ceeefc97220a052cc76a52a45c6907eac1f8
  Author: Joseph Huber <huberjn at outlook.com>
  Date:   2025-01-04 (Sat, 04 Jan 2025)

  Changed paths:
    M libc/shared/rpc_util.h

  Log Message:
  -----------
  [libc][NFC] use `__has_builtin` instead of checking macros.


  Commit: d1d400372adc9ae78d8ee9c2387b2c6b062b0dc0
      https://github.com/llvm/llvm-project/commit/d1d400372adc9ae78d8ee9c2387b2c6b062b0dc0
  Author: David CARLIER <devnexen at gmail.com>
  Date:   2025-01-04 (Sat, 04 Jan 2025)

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

  Log Message:
  -----------
  [compiler-rt][rtsan] fix unit tests by sanitizer-aarch64-linux report. (#121666)


  Commit: 7db0a606a294bc788563b8363261efa0c13e3062
      https://github.com/llvm/llvm-project/commit/7db0a606a294bc788563b8363261efa0c13e3062
  Author: Billy Laws <blaws05 at gmail.com>
  Date:   2025-01-04 (Sat, 04 Jan 2025)

  Changed paths:
    M llvm/lib/ObjCopy/COFF/COFFObjcopy.cpp
    A llvm/test/tools/llvm-objcopy/COFF/Inputs/i386-debug-rdata.yaml
    A llvm/test/tools/llvm-objcopy/COFF/only-keep-debug-rdata.test

  Log Message:
  -----------
  [objcopy][COFF] Do not strip .rdata section with --only-keep-debug (#121653)

When not in MinGW mode, the PE debug directory is placed in .rdata by
the linker instead of .buildid. In addition to .buildid always
explicitly preserve the section containing the debug directory to avoid
causing errors later in patchDebugDirectory.


  Commit: 7a761100960c0c9e2b2fa8a9ee233b137270bd73
      https://github.com/llvm/llvm-project/commit/7a761100960c0c9e2b2fa8a9ee233b137270bd73
  Author: Zhengxing li <zhengxingli at microsoft.com>
  Date:   2025-01-04 (Sat, 04 Jan 2025)

  Changed paths:
    M clang/lib/CodeGen/CGHLSLRuntime.cpp
    M clang/lib/CodeGen/CGHLSLRuntime.h
    M clang/test/CodeGenHLSL/semantics/SV_GroupID.hlsl
    M llvm/include/llvm/IR/IntrinsicsSPIRV.td
    M llvm/lib/Target/SPIRV/SPIRVInstructionSelector.cpp
    A llvm/test/CodeGen/SPIRV/hlsl-intrinsics/SV_GroupID.ll

  Log Message:
  -----------
  [HLSL][SPIR-V] implement SV_GroupID semantic lowering (#121521)

The HLSL SV_GroupID semantic attribute is lowered into
@llvm.spv.group.id intrinsic in LLVM IR for SPIR-V target.

In the SPIR-V backend, this is now translated to a `WorkgroupId` builtin
variable.

Fixes #118700 which's a follow-up work to #70120


  Commit: a738d81cd2822698539b0482af48d49d91ea5a2e
      https://github.com/llvm/llvm-project/commit/a738d81cd2822698539b0482af48d49d91ea5a2e
  Author: Lukas Bergdoll <lukas.bergdoll at gmail.com>
  Date:   2025-01-05 (Sun, 05 Jan 2025)

  Changed paths:
    M libc/fuzzing/stdlib/CMakeLists.txt
    M libc/fuzzing/stdlib/heap_sort_fuzz.cpp
    R libc/fuzzing/stdlib/qsort_fuzz.cpp
    A libc/fuzzing/stdlib/quick_sort_fuzz.cpp
    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 (with build fix) (#121482)


  Commit: 2bbdce9a42f58af4ca917eaba1bf1019ba658fd5
      https://github.com/llvm/llvm-project/commit/2bbdce9a42f58af4ca917eaba1bf1019ba658fd5
  Author: Evgenii Kudriashov <evgenii.kudriashov at intel.com>
  Date:   2025-01-05 (Sun, 05 Jan 2025)

  Changed paths:
    M llvm/test/TableGen/GlobalISelEmitter/gisel-physreg-input.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:
  -----------
  [GlobalISel] Support physical register inputs in nested patterns (#121239)

When importing nested patterns, we create InsnMatcher for each pattern
and miss them if consider only the top level InsnMatcher. Iterate
PhysRegOperands instead.

Change the type of PhysRegOperands from DenseMap to SmallMapVector to
have stable generation. Also drop PhysRegInputs member from InsnMatcher
as there are no users of it.


  Commit: 66f16e682f84551552099a45e608fa260b14e3ab
      https://github.com/llvm/llvm-project/commit/66f16e682f84551552099a45e608fa260b14e3ab
  Author: Owen Pan <owenpiano at gmail.com>
  Date:   2025-01-04 (Sat, 04 Jan 2025)

  Changed paths:
    M clang/unittests/Format/ConfigParseTest.cpp

  Log Message:
  -----------
  [clang-format][NFC] Add missing config tests for List of Strings (#121451)

Also, simplify the existing test for NamespaceMacros. Like the options
tested by the added tests, it's also a list of arbitrary strings and
initialized to an empty list. (The other existing tests for list of
strings either are initialized to a list of one or more strings or
require specific strings.)


  Commit: 04610b901f41c4abec169b9a38f1b0a2fde976c1
      https://github.com/llvm/llvm-project/commit/04610b901f41c4abec169b9a38f1b0a2fde976c1
  Author: Owen Pan <owenpiano at gmail.com>
  Date:   2025-01-04 (Sat, 04 Jan 2025)

  Changed paths:
    M clang/lib/Format/AffectedRangeManager.cpp
    M clang/lib/Format/AffectedRangeManager.h
    M clang/lib/Format/Format.cpp
    M clang/lib/Format/FormatTokenLexer.cpp
    M clang/lib/Format/UnwrappedLineFormatter.cpp
    M clang/lib/Format/UnwrappedLineParser.cpp
    M clang/lib/Format/UnwrappedLineParser.h

  Log Message:
  -----------
  [clang-format][NFC] Replace SmallVectorImpl with ArrayRef (#121621)


  Commit: 44b83e81b5a48d543bf718907f00a21179ec03a4
      https://github.com/llvm/llvm-project/commit/44b83e81b5a48d543bf718907f00a21179ec03a4
  Author: Owen Pan <owenpiano at gmail.com>
  Date:   2025-01-04 (Sat, 04 Jan 2025)

  Changed paths:
    M clang/lib/Format/FormatToken.h
    M clang/lib/Format/TokenAnnotator.cpp
    M clang/lib/Format/UnwrappedLineParser.cpp
    M clang/unittests/Format/TokenAnnotatorTest.cpp

  Log Message:
  -----------
  [clang-format] Add TT_AfterPPDirective for better annotation (#121622)

For now, we only need to annotate the token after #error or #warning.

Fixes #117706.


  Commit: c1ea05eaf0fbe4b539952689dbf9f0df716c72e7
      https://github.com/llvm/llvm-project/commit/c1ea05eaf0fbe4b539952689dbf9f0df716c72e7
  Author: Owen Pan <owenpiano at gmail.com>
  Date:   2025-01-04 (Sat, 04 Jan 2025)

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

  Log Message:
  -----------
  [clang-format] Don't break short macro call followed by l_paren (#121626)

Fixes #105658.


  Commit: a774adb017256ceae85ec92ce5148ed47e517540
      https://github.com/llvm/llvm-project/commit/a774adb017256ceae85ec92ce5148ed47e517540
  Author: Chandler Carruth <chandlerc at gmail.com>
  Date:   2025-01-04 (Sat, 04 Jan 2025)

  Changed paths:
    M clang/include/clang/Basic/BuiltinsX86.td
    A clang/include/clang/Basic/BuiltinsX86Base.td
    R clang/include/clang/Basic/BuiltinsX86_64.def
    A clang/include/clang/Basic/BuiltinsX86_64.td
    M clang/include/clang/Basic/CMakeLists.txt
    M clang/include/clang/Basic/TargetBuiltins.h
    M clang/lib/Basic/Targets/X86.cpp

  Log Message:
  -----------
  Bulk port 64-bit x86 builtins to TableGen (#121043)

This PR follows https://github.com/llvm/llvm-project/pull/120831 for
x86-64.

Similar to that PR, this does a very mechanical port of X86 builtins to
TableGen. There is a *lot* of improvement available here to use TableGen
more effectively and collapse repeated structures. But those can now be
follow-up PRs that restructure *within* the `.td` file.

The current structure produces a file that exactly matches the original
X-macros except for the differences outlined in
https://github.com/llvm/llvm-project/pull/120831:

- Horizontal whitespace
- `long long` types now use `long long` outside of OpenCL, but switch to
  `long` in OpenCL where relevant.

Otherwise, only the order of builtins change, and no tests regress.


  Commit: ddba0365b33da70543f9add3037d7402371014c9
      https://github.com/llvm/llvm-project/commit/ddba0365b33da70543f9add3037d7402371014c9
  Author: Haohai Wen <haohai.wen at intel.com>
  Date:   2025-01-05 (Sun, 05 Jan 2025)

  Changed paths:
    M lld/test/COFF/cgprofile-obj.s
    M lld/test/ELF/cgprofile-obj.s

  Log Message:
  -----------
  [LLD] Track cg_profile from combination of obj and ordering file (#121324)

Add tests to track section reordering when both cg_profile section
and call-graph-ordering-file were given.


  Commit: 36dd421355791c9c9f6552f8730b36b8953ce5db
      https://github.com/llvm/llvm-project/commit/36dd421355791c9c9f6552f8730b36b8953ce5db
  Author: JaydeepChauhan14 <chauhan.jaydeep.ashwinbhai at intel.com>
  Date:   2025-01-05 (Sun, 05 Jan 2025)

  Changed paths:
    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/X86InstrFragmentsSIMD.td
    A llvm/test/CodeGen/X86/avx10_2_512fptosi_satcvtds.ll
    M llvm/test/CodeGen/X86/avx10_2fptosi_satcvtds.ll

  Log Message:
  -----------
  [X86][AVX10.2] Map vector saturated converts to public intrinsics (#121483)

We already have support for saturated convert ISA in llvm. With this
patch we mapped public llvm intrinsic onto saturated convert ISA. It
includes support for float, double into sign and unsigned int.


  Commit: 2d9d291da0fb94c05b31de0b08ccb881dbead798
      https://github.com/llvm/llvm-project/commit/2d9d291da0fb94c05b31de0b08ccb881dbead798
  Author: Haohai Wen <haohai.wen at intel.com>
  Date:   2025-01-05 (Sun, 05 Jan 2025)

  Changed paths:
    M lld/COFF/Driver.cpp
    M lld/ELF/Driver.cpp
    M lld/test/COFF/cgprofile-obj.s
    M lld/test/ELF/cgprofile-obj.s

  Log Message:
  -----------
  [LLD] Do not combine cg_profile from obj and ordering file (#121325)

cg_profile in object is from CGProfilePass and it is often inaccurate.
While call-graph-ordering-file is provided by user. It is weird to
aggregate them together especially when call-graph-ordering-file is
accurate enough.


  Commit: 96eced624e0f120155256033fdcb8342e7e58d6e
      https://github.com/llvm/llvm-project/commit/96eced624e0f120155256033fdcb8342e7e58d6e
  Author: Younan Zhang <zyn7109 at gmail.com>
  Date:   2025-01-05 (Sun, 05 Jan 2025)

  Changed paths:
    M clang/include/clang/Sema/Sema.h
    M clang/include/clang/Sema/Template.h
    M clang/lib/Sema/SemaConcept.cpp
    M clang/lib/Sema/SemaTemplateDeduction.cpp
    M clang/lib/Sema/SemaTemplateDeductionGuide.cpp
    M clang/lib/Sema/SemaTemplateInstantiate.cpp
    M clang/lib/Sema/TreeTransform.h
    M clang/test/CXX/drs/cwg23xx.cpp
    M clang/test/CXX/drs/cwg26xx.cpp
    M clang/test/CXX/drs/cwg27xx.cpp
    M clang/test/CXX/expr/expr.prim/expr.prim.req/nested-requirement.cpp
    M clang/test/CXX/temp/temp.constr/temp.constr.atomic/constrant-satisfaction-conversions.cpp
    M clang/test/SemaCXX/concept-crash-on-diagnostic.cpp
    M clang/test/SemaCXX/cxx20-ctad-type-alias.cpp
    M clang/test/SemaCXX/cxx23-assume.cpp
    M clang/test/SemaCXX/cxx2c-fold-exprs.cpp
    M clang/test/SemaCXX/lambda-unevaluated.cpp
    M clang/test/SemaTemplate/concepts-recursive-inst.cpp
    M clang/test/SemaTemplate/cxx2a-constraint-exprs.cpp
    M clang/test/SemaTemplate/deduction-guide.cpp
    M clang/test/SemaTemplate/nested-implicit-deduction-guides.cpp
    M clang/www/cxx_dr_status.html

  Log Message:
  -----------
  [Clang] Implement CWG2369 "Ordering between constraints and substitution" (#102857)

This patch partially implements CWG2369 for non-lambda-constrained
functions.

Lambdas are left intact at this point because we need extra work to
correctly instantiate captures before the function instantiation.

As a premise of CWG2369, this patch also implements CWG2770 to ensure
the function parameters are instantiated on demand.

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


  Commit: 3092ebcd1e2746ee8db22bf3746b2ad2fb7534dd
      https://github.com/llvm/llvm-project/commit/3092ebcd1e2746ee8db22bf3746b2ad2fb7534dd
  Author: Haohai Wen <haohai.wen at intel.com>
  Date:   2025-01-05 (Sun, 05 Jan 2025)

  Changed paths:
    M lld/test/COFF/cgprofile-obj.s
    M lld/test/ELF/cgprofile-obj.s

  Log Message:
  -----------
  [LLD] Add CHECK-NEXT for cgprofile-obj.s tests (#121677)


  Commit: 7700695739d078eff01aad6f4d40c933419d08bc
      https://github.com/llvm/llvm-project/commit/7700695739d078eff01aad6f4d40c933419d08bc
  Author: Luke Lau <luke at igalia.com>
  Date:   2025-01-05 (Sun, 05 Jan 2025)

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

  Log Message:
  -----------
  [VPlan] Fix crash with EVL tail folding intrinsic with no corresponding VP (#121542)

This fixes a crash when building SPEC CPU 2017 with EVL tail folding
when widening @llvm.log10 intrinsics.

@llvm.log10 and some other intrinsics don't have a corresponding VP
intrinsic, so this fixes the crash by removing the assert and bailing
instead.


  Commit: 743aee4951d452c7795e4e829a6cbf704340cd1c
      https://github.com/llvm/llvm-project/commit/743aee4951d452c7795e4e829a6cbf704340cd1c
  Author: NAKAMURA Takumi <geek4civic at gmail.com>
  Date:   2025-01-05 (Sun, 05 Jan 2025)

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

  Log Message:
  -----------
  [bazel] Fixup for #121043


  Commit: 00934505d44e28f3c1d5739d6369648e87f10cf5
      https://github.com/llvm/llvm-project/commit/00934505d44e28f3c1d5739d6369648e87f10cf5
  Author: Owen Pan <owenpiano at gmail.com>
  Date:   2025-01-04 (Sat, 04 Jan 2025)

  Changed paths:
    M clang/lib/Format/FormatToken.h
    M clang/lib/Format/TokenAnnotator.cpp
    M clang/lib/Format/TokenAnnotator.h
    M clang/lib/Format/UnwrappedLineFormatter.cpp
    M clang/lib/Format/UnwrappedLineParser.cpp
    M clang/unittests/Format/TokenAnnotatorTest.cpp

  Log Message:
  -----------
  [clang-format] Add `TT_CompoundRequirementLBrace` for better annotation (#121539)

Also, add `ST_CompoundRequirement` to help annotating */&/&& in compound
requirement expressions as `TT_BinaryOperator`.

Fixes #121471.


  Commit: 267ab1cf574bd51d67f3f88c1c4f28a44fca2c8a
      https://github.com/llvm/llvm-project/commit/267ab1cf574bd51d67f3f88c1c4f28a44fca2c8a
  Author: Vlad Serebrennikov <serebrennikov.vladislav at gmail.com>
  Date:   2025-01-05 (Sun, 05 Jan 2025)

  Changed paths:
    M clang/test/CXX/drs/cwg1xx.cpp
    M clang/www/cxx_dr_status.html

  Log Message:
  -----------
  [clang] Add test for CWG190 "Layout-compatible POD-struct types" (#121668)

This patch adds test for
[CWG190](https://cplusplus.github.io/CWG/issues/190.html), leveraging
`__is_layout_compatible` intrinsic added for C++20
`std::is_layout_compatible`. I conservatively set the status to Clang
19, as it's the first release that implemented said intrinsic.


  Commit: 6f69f8c9fe57a44939fd111f52b6d8e267a46602
      https://github.com/llvm/llvm-project/commit/6f69f8c9fe57a44939fd111f52b6d8e267a46602
  Author: Craig Topper <craig.topper at sifive.com>
  Date:   2025-01-04 (Sat, 04 Jan 2025)

  Changed paths:
    M llvm/lib/IR/ConstantsContext.h

  Log Message:
  -----------
  [IR] Use Instruction::isBinaryOp to simplify code. NFC


  Commit: c983ae8f26334279cfe7846bdc9b395abe415e65
      https://github.com/llvm/llvm-project/commit/c983ae8f26334279cfe7846bdc9b395abe415e65
  Author: Hervé Poussineau <hpoussin at reactos.org>
  Date:   2025-01-05 (Sun, 05 Jan 2025)

  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 (#121254)

- add a test to check values for /machine argument
- add a test to check if machine is correctly inferred from inputs


  Commit: 8267bea9a35c3c3f866b942a50c2b98ac462ce35
      https://github.com/llvm/llvm-project/commit/8267bea9a35c3c3f866b942a50c2b98ac462ce35
  Author: Hervé Poussineau <hpoussin at reactos.org>
  Date:   2025-01-05 (Sun, 05 Jan 2025)

  Changed paths:
    M clang/lib/Driver/ToolChains/MinGW.cpp
    M clang/test/Driver/mingw.cpp

  Log Message:
  -----------
  [Clang][MIPS] Send correct architecture for MinGW toolchains (#121042)

'mipspe' name was chosen by binutils, when the project was able to
create executables for Windows CE/MIPS.


  Commit: fbc198c548cf21bb2be29509a46913a57f95e610
      https://github.com/llvm/llvm-project/commit/fbc198c548cf21bb2be29509a46913a57f95e610
  Author: Vlad Serebrennikov <serebrennikov.vladislav at gmail.com>
  Date:   2025-01-05 (Sun, 05 Jan 2025)

  Changed paths:
    M clang/test/CXX/drs/cwg1xx.cpp
    M clang/www/cxx_dr_status.html

  Log Message:
  -----------
  [clang] Add test for CWG192 "Name lookup in parameters" (#121679)

This patch adds a rather simple test for
[CWG192](https://cplusplus.github.io/CWG/issues/192.html). Parameter
declarations of member functions are not complete-class contexts (unlike
default arguments), so the example in the issue is ill-formed. Changes
in [CWG1352](https://cplusplus.github.io/CWG/issues/1352.html) which
resolved the issue, are superseded by the notion of complete-class
context (https://eel.is/c++draft/class.mem#def:complete-class_context).


  Commit: 3321c2d72ab7757dbdd38bdd99a76d89293dac8a
      https://github.com/llvm/llvm-project/commit/3321c2d72ab7757dbdd38bdd99a76d89293dac8a
  Author: Vlad Serebrennikov <serebrennikov.vladislav at gmail.com>
  Date:   2025-01-05 (Sun, 05 Jan 2025)

  Changed paths:
    M clang/test/CXX/drs/cwg7xx.cpp
    M clang/www/cxx_dr_status.html

  Log Message:
  -----------
  [clang] Add test for CWG794 "Base-derived conversion in member type of pointer-to-member conversion" (#121660)

This patch adds a test for
[CWG794](https://cplusplus.github.io/CWG/issues/794.html), which is an
NB comment closed as NAD. Author was asked to bring a paper to
Evolution, which never happened. So we test for the absence of
base-derived conversion in pointer-to-member conversion.


  Commit: ba93eccded30862969a3c5f547d837d6d102c863
      https://github.com/llvm/llvm-project/commit/ba93eccded30862969a3c5f547d837d6d102c863
  Author: Anutosh Bhat <andersonbhat491 at gmail.com>
  Date:   2025-01-05 (Sun, 05 Jan 2025)

  Changed paths:
    M lld/MachO/SyntheticSections.cpp

  Log Message:
  -----------
  [lld][MachO] Fix warning while building for wasm (#120889)

While building clang & lld against emscripten for wasm, I see the
following
```
 │ │ /home/runner/work/recipes/recipes/output/bld/rattler-build_llvm_1734801187/work/lld/MachO/SyntheticSections.cpp:2075:25: warning: comparison of integers of
 │ │  different signs: 'long' and 'const uint32_t' (aka 'const unsigned int') [-Wsign-compare]
 │ │  2075 |   assert(buf - bufStart == sectionSize &&
 │ │       |          ~~~~~~~~~~~~~~ ^  ~~~~~~~~~~~
 │ │ $BUILD_PREFIX/opt/emsdk/upstream/emscripten/cache/sysroot/include/assert.h:8:28: note: expanded from macro 'assert'
 │ │     8 | #define assert(x) ((void)((x) || (__assert_fail(#x, __FILE__, __LINE__, __func__),0)))
 │ │       |                            ^
 ```
 
 Casting `sectionSize` should be enough I think


  Commit: df4a615c988f3ae56f7e68a7df86acb60f16493a
      https://github.com/llvm/llvm-project/commit/df4a615c988f3ae56f7e68a7df86acb60f16493a
  Author: Florian Hahn <flo at fhahn.com>
  Date:   2025-01-05 (Sun, 05 Jan 2025)

  Changed paths:
    M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
    M llvm/lib/Transforms/Vectorize/VPlan.h
    M llvm/lib/Transforms/Vectorize/VPlanPatternMatch.h
    M llvm/test/Transforms/LoopVectorize/X86/induction-step.ll

  Log Message:
  -----------
  [VPlan] Convert induction increment check to be VPlan-based.

Check the VPlan directly to determine if a VPValue is an optimiziable IV
or IV use instead of checking the underlying IR instructions.

Split off from https://github.com/llvm/llvm-project/pull/112147. This
refactoring enables moving IV end value creation from the legacy
fixupIVUsers to a VPlan-based transform.

There is one case we now won't optimize, that is IVs with subtracts and
non-constant steps. But as this is a minor optimization and doesn't
impact correctness, the benefits of performing the check in VPlan should
outweigh the missed case.


  Commit: 64e8d5b1baaa478c40931d290bf30687a6c93dac
      https://github.com/llvm/llvm-project/commit/64e8d5b1baaa478c40931d290bf30687a6c93dac
  Author: Vlad Serebrennikov <serebrennikov.vladislav at gmail.com>
  Date:   2025-01-05 (Sun, 05 Jan 2025)

  Changed paths:
    M clang/test/CXX/drs/cwg11xx.cpp
    M clang/test/CXX/drs/cwg1xx.cpp
    M clang/www/cxx_dr_status.html

  Log Message:
  -----------
  [clang] Add tests from CWG156 to CWG1111 (dual-scope lookup for conversion-function-ids) (#121654)

This patch adds test from
[CWG156](https://cplusplus.github.io/CWG/issues/156.html) to
[CWG1111](https://cplusplus.github.io/CWG/issues/1111.html) test, and
downgrades the latter to partial availability. The most relevant piece
of current wording is
[[basic.lookup.unqual]/5](https://eel.is/c++draft/basic.lookup#unqual-5):
> An unqualified name that is a component name
([[expr.prim.id.unqual]](https://eel.is/c++draft/expr.prim.id.unqual))
of a
[type-specifier](https://eel.is/c++draft/dcl.type.general#nt:type-specifier)
or
[ptr-operator](https://eel.is/c++draft/dcl.decl.general#nt:ptr-operator)
of a
[conversion-type-id](https://eel.is/c++draft/class.conv.fct#nt:conversion-type-id)
is looked up in the same fashion as the
[conversion-function-id](https://eel.is/c++draft/class.conv.fct#nt:conversion-function-id)
in which it
appears[.](https://eel.is/c++draft/basic.lookup#unqual-5.sentence-1)
If that lookup finds nothing, it undergoes unqualified name lookup; in
each case, only names that denote types or templates whose
specializations are types are
considered[.](https://eel.is/c++draft/basic.lookup#unqual-5.sentence-2)

Per resolution of
[CWG1111](https://cplusplus.github.io/CWG/issues/1111.html), additional
lookup in the context of the entire postfix-expression, which originally
was intended to cross-check lookup in the context of object-expression,
was effectively turned into a fallback for it.

Check out "Calling a conversion function" example in
[P1787R6](https://wg21.link/p1787r6) for step-by-step explanation of the
current lookup mechanics for conversion functions.

Clang rejects one of the well-formed examples, hence partial status.
Clang is the only implementation which rejects it:
https://godbolt.org/z/ohhbx8Mfs


  Commit: 327e2b7c7659e2fff2e644850b767ca77234bef4
      https://github.com/llvm/llvm-project/commit/327e2b7c7659e2fff2e644850b767ca77234bef4
  Author: Vlad Serebrennikov <serebrennikov.vladislav at gmail.com>
  Date:   2025-01-05 (Sun, 05 Jan 2025)

  Changed paths:
    M clang/test/CXX/drs/cwg0xx.cpp
    M clang/test/CXX/drs/cwg10xx.cpp
    M clang/test/CXX/drs/cwg118.cpp
    M clang/test/CXX/drs/cwg11xx.cpp
    M clang/test/CXX/drs/cwg12xx.cpp
    M clang/test/CXX/drs/cwg158.cpp
    M clang/test/CXX/drs/cwg1748.cpp
    M clang/test/CXX/drs/cwg177x.cpp
    M clang/test/CXX/drs/cwg1xx.cpp
    M clang/test/CXX/drs/cwg2771.cpp
    M clang/test/CXX/drs/cwg2xx.cpp
    M clang/test/CXX/drs/cwg3xx.cpp
    A clang/test/CXX/drs/cwg593.cpp
    M clang/test/CXX/drs/cwg6xx.cpp
    M clang/test/CXX/drs/cwg7xx.cpp
    M clang/test/CXX/drs/cwg9xx.cpp
    R clang/test/CXX/drs/cwgr593.cpp

  Log Message:
  -----------
  [clang][NFC] Make all C++ DR tests run in full range of language modes (#121688)

This patch plugs holes in RUN lines in C++ DR tests, making sure they
are run in C++98 through C++26, with the exception of C++03, which in
Clang is synonymous to C++98.


  Commit: 054e7c59713c67ad7b65a92e4b8887076d3881b9
      https://github.com/llvm/llvm-project/commit/054e7c59713c67ad7b65a92e4b8887076d3881b9
  Author: Simon Pilgrim <llvm-dev at redking.me.uk>
  Date:   2025-01-05 (Sun, 05 Jan 2025)

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

  Log Message:
  -----------
  [VectorCombine] foldInsExtVectorToShuffle - ignore shuffle costs for 'identity' insertion masks

<u,1,u,u> 'inplace' single src shuffles can be treated as free identity shuffles - ignore any shuffle cost (similar to what we already do in other folds like foldShuffleOfShuffles) - eventually getShuffleCost should just return TCC_Free in these cases but in a lot of the targets' shuffle cost logic this currently ends up treated as a generic SK_PermuteSingleSrc.

We still want to generate the shuffle as it will help further shuffle folds with the additional PoisonMaskElem 'undemanded' elements.


  Commit: 1d155412547b0073ecbbdccb02acc31273f3be49
      https://github.com/llvm/llvm-project/commit/1d155412547b0073ecbbdccb02acc31273f3be49
  Author: Peng Liu <winner245 at hotmail.com>
  Date:   2025-01-05 (Sun, 05 Jan 2025)

  Changed paths:
    M libcxx/include/__vector/vector_bool.h

  Log Message:
  -----------
  [libc++] Remove abandoned __append declaration in vector<bool> (#121673)

The `vector<bool>` implementation in libcxx contains a declaration of a
private `__append` function, which is neither defined nor used anywhere
in the codebase. This PR aims to remove this abandoned declaration, as
its presence is misleading and could lead to confusion during future
maintenance.

I have no idea why we have a declaration without a definition. My guess
is that the declaration might be inherited from the implementation of
`vector<T>`, where `__append` is both necessary and properly defined.
The declaration may have been inadvertently copied from `vector<T>` to
`vector<bool>` and subsequently abandoned, as `vector<bool>` never needs
it.


  Commit: 2adcec7780f3d3027f76c80dbd73085fdee144d7
      https://github.com/llvm/llvm-project/commit/2adcec7780f3d3027f76c80dbd73085fdee144d7
  Author: Yingwei Zheng <dtcxzyw2333 at gmail.com>
  Date:   2025-01-05 (Sun, 05 Jan 2025)

  Changed paths:
    M llvm/lib/Transforms/InstCombine/InstCombineCalls.cpp
    M llvm/test/Transforms/InstCombine/overflow.ll

  Log Message:
  -----------
  [InstCombine] Simplify with.overflow intrinsics with assumption information (#84016)

This patch recognizes never-overflow assumptions generated by rustc to
improve the codegen.
Please refer to https://github.com/rust-lang/hashbrown/issues/509 for
more details.

Closes https://github.com/rust-lang/hashbrown/issues/509
Closes https://github.com/llvm/llvm-project/issues/80637


  Commit: f48884ded884d982a7fd13394b0e93e6588f4143
      https://github.com/llvm/llvm-project/commit/f48884ded884d982a7fd13394b0e93e6588f4143
  Author: Florian Hahn <flo at fhahn.com>
  Date:   2025-01-05 (Sun, 05 Jan 2025)

  Changed paths:
    M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
    M llvm/lib/Transforms/Vectorize/VPlan.cpp
    M llvm/lib/Transforms/Vectorize/VPlan.h
    M llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
    M llvm/test/Transforms/LoopVectorize/AArch64/call-costs.ll
    M llvm/test/Transforms/LoopVectorize/RISCV/low-trip-count.ll
    M llvm/test/Transforms/LoopVectorize/RISCV/short-trip-count.ll
    M llvm/test/Transforms/LoopVectorize/RISCV/truncate-to-minimal-bitwidth-cost.ll
    M llvm/test/Transforms/LoopVectorize/SystemZ/pr47665.ll
    M llvm/test/Transforms/LoopVectorize/SystemZ/scalar-steps-with-users-demanding-all-lanes-and-first-lane-only.ll
    M llvm/test/Transforms/LoopVectorize/X86/constant-fold.ll
    M llvm/test/Transforms/LoopVectorize/X86/pr34438.ll
    M llvm/test/Transforms/LoopVectorize/debugloc-optimize-vfuf-term.ll
    M llvm/test/Transforms/LoopVectorize/first-order-recurrence.ll
    M llvm/test/Transforms/LoopVectorize/vector-loop-backedge-elimination.ll
    M llvm/test/Transforms/LoopVectorize/version-stride-with-integer-casts.ll
    M llvm/test/Transforms/LoopVectorize/vplan-printing-before-execute.ll

  Log Message:
  -----------
  [VPlan] Remove loop region in optimizeForVFAndUF. (#108378)

Update optimizeForVFAndUF to completely remove the vector loop region
when possible. At the moment, we cannot remove the region if it contains

* widened IVs: the recipe is needed to generate the step vector
* reductions: ComputeReductionResults requires the reduction phi recipe
for codegen.

Both cases can be addressed by more explicit modeling.

The patch also includes a number of updates to allow executing VPlans
without a vector loop region.

Depends on https://github.com/llvm/llvm-project/pull/110004


  Commit: b5f21671ef04984bc00770263234dfb94833a274
      https://github.com/llvm/llvm-project/commit/b5f21671ef04984bc00770263234dfb94833a274
  Author: William Moses <gh at wsmoses.com>
  Date:   2025-01-05 (Sun, 05 Jan 2025)

  Changed paths:
    M mlir/include/mlir/Target/LLVMIR/ModuleImport.h
    M mlir/lib/Target/LLVMIR/ModuleImport.cpp
    M mlir/test/Target/LLVMIR/Import/import-failure.ll
    M mlir/test/Target/LLVMIR/Import/instructions.ll

  Log Message:
  -----------
  MLIR: Enable importing inlineasm calls (#121624)


  Commit: a37dbc1f51c70d92fd209c2e52a9d794eb15e4e7
      https://github.com/llvm/llvm-project/commit/a37dbc1f51c70d92fd209c2e52a9d794eb15e4e7
  Author: Yingwei Zheng <dtcxzyw2333 at gmail.com>
  Date:   2025-01-06 (Mon, 06 Jan 2025)

  Changed paths:
    M llvm/lib/Transforms/InstCombine/InstCombineSelect.cpp
    M llvm/test/Transforms/InstCombine/select-cmp-cttz-ctlz.ll

  Log Message:
  -----------
  [InstCombine] Drop noundef in `foldSelectCttzCtlz` (#121692)

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


  Commit: b48e5f0ff3f25e8bdd3ae473dca00511336cbd6f
      https://github.com/llvm/llvm-project/commit/b48e5f0ff3f25e8bdd3ae473dca00511336cbd6f
  Author: Michael Maitland <michaeltmaitland at gmail.com>
  Date:   2025-01-05 (Sun, 05 Jan 2025)

  Changed paths:
    M llvm/lib/Target/RISCV/RISCVVLOptimizer.cpp
    M llvm/test/CodeGen/RISCV/rvv/vfwmacc-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/vfwmsac-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/vfwnmacc-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/vfwnmsac-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/vl-opt-op-info.mir
    M llvm/test/CodeGen/RISCV/rvv/vsitofp-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/vuitofp-vp.ll

  Log Message:
  -----------
  [RISCV][VLOPT] Add Vector FP instructions to getOperandInfo (#121609)

Although we cannot reduce the VL of these instructions (i.e. add to
isSupported) we can add them to getOperandInfo to enable optimization
where the FP vector instruction are users. Most of the instructions are
covered by existing tests, and I added tests for the narrowing
conversions because I was a little unsure whether the dest or the source
was 2*SEW and 2*LMUL.


  Commit: 8b577043b1f770d72e59738382ac32d212497a6d
      https://github.com/llvm/llvm-project/commit/8b577043b1f770d72e59738382ac32d212497a6d
  Author: Michael Maitland <michaeltmaitland at gmail.com>
  Date:   2025-01-05 (Sun, 05 Jan 2025)

  Changed paths:
    M llvm/lib/Target/RISCV/RISCVVLOptimizer.cpp

  Log Message:
  -----------
  [RISCV][VLOPT] Add vmv.x.s and vfmv.f.s to isVectorOpUsedAsScalarOp (#121588)


  Commit: 486f83faa31ae5356523da868a557619601a0e3e
      https://github.com/llvm/llvm-project/commit/486f83faa31ae5356523da868a557619601a0e3e
  Author: Matthias Springer <me at m-sp.org>
  Date:   2025-01-05 (Sun, 05 Jan 2025)

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

  Log Message:
  -----------
  [mlir][Transforms][NFC] Simplify `buildUnresolvedMaterialization` implementation (#121651)

The `buildUnresolvedMaterialization` implementation used to check if a
materialization is necessary. A materialization is not necessary if the
desired types already match the input. However, this situation can never
happen: we look for mapped values with the desired type at the call
sites before requesting a new unresolved materialization.

The previous implementation seemed incorrect because
`buildUnresolvedMaterialization` created a mapping that is never rolled
back. (When in reality that code was never executed, so it is
technically not incorrect.)

Also fix a comment that in `findOrBuildReplacementValue` that was
incorrect.


  Commit: 2dcb3b9f377de428f7d9d103c80226b9007c72a9
      https://github.com/llvm/llvm-project/commit/2dcb3b9f377de428f7d9d103c80226b9007c72a9
  Author: Matthias Springer <me at m-sp.org>
  Date:   2025-01-05 (Sun, 05 Jan 2025)

  Changed paths:
    M mlir/lib/Dialect/ArmSVE/Transforms/LegalizeForLLVMExport.cpp

  Log Message:
  -----------
  [mlir][ArmSME] Remove func patterns from vector lowering (#121640)

Remove `func.call` and `func.return` patterns from
`populateArmSVELegalizeForLLVMExportPatterns`. This function is called
from `ConvertVectorToLLVMPass::runOnOperation`. That pass should lower
only `vector` dialect ops, not `func` dialect ops. These patterns also
seem to be unnecessary, as no test cases are failing without them. Also
note that there is no `func.func` pattern, so any application of the
above-mentioned patterns produces invalid IR.


  Commit: 463e61a0013253bec1b5e7f07e7b1803b68e2b3d
      https://github.com/llvm/llvm-project/commit/463e61a0013253bec1b5e7f07e7b1803b68e2b3d
  Author: Vlad Serebrennikov <serebrennikov.vladislav at gmail.com>
  Date:   2025-01-05 (Sun, 05 Jan 2025)

  Changed paths:
    M clang/test/CXX/drs/cwg0xx.cpp
    M clang/test/CXX/drs/cwg10xx.cpp
    M clang/test/CXX/drs/cwg11xx.cpp
    M clang/test/CXX/drs/cwg12xx.cpp
    M clang/test/CXX/drs/cwg13xx.cpp
    M clang/test/CXX/drs/cwg14xx.cpp
    M clang/test/CXX/drs/cwg15xx.cpp
    M clang/test/CXX/drs/cwg16xx.cpp
    M clang/test/CXX/drs/cwg177x.cpp
    M clang/test/CXX/drs/cwg17xx.cpp
    M clang/test/CXX/drs/cwg1807.cpp
    M clang/test/CXX/drs/cwg18xx.cpp
    M clang/test/CXX/drs/cwg19xx.cpp
    M clang/test/CXX/drs/cwg1xx.cpp
    M clang/test/CXX/drs/cwg20xx.cpp
    M clang/test/CXX/drs/cwg21xx.cpp
    M clang/test/CXX/drs/cwg22xx.cpp
    M clang/test/CXX/drs/cwg23xx.cpp
    M clang/test/CXX/drs/cwg24xx.cpp
    M clang/test/CXX/drs/cwg2504.cpp
    M clang/test/CXX/drs/cwg25xx.cpp
    M clang/test/CXX/drs/cwg26xx.cpp
    M clang/test/CXX/drs/cwg27xx.cpp
    M clang/test/CXX/drs/cwg28xx.cpp
    M clang/test/CXX/drs/cwg29xx.cpp
    M clang/test/CXX/drs/cwg2xx.cpp
    M clang/test/CXX/drs/cwg3xx.cpp
    M clang/test/CXX/drs/cwg492.cpp
    M clang/test/CXX/drs/cwg4xx.cpp
    M clang/test/CXX/drs/cwg571.cpp
    M clang/test/CXX/drs/cwg5xx.cpp
    M clang/test/CXX/drs/cwg6xx.cpp
    M clang/test/CXX/drs/cwg722.cpp
    M clang/test/CXX/drs/cwg7xx.cpp
    M clang/test/CXX/drs/cwg8xx.cpp
    M clang/test/CXX/drs/cwg9xx.cpp

  Log Message:
  -----------
  [clang][NFC] Add end namespace comments to C++ DR tests


  Commit: de7f5311061d50ef54ec56a783aa6147c5d09526
      https://github.com/llvm/llvm-project/commit/de7f5311061d50ef54ec56a783aa6147c5d09526
  Author: Schrodinger ZHU Yifan <yifanzhu at rochester.edu>
  Date:   2025-01-05 (Sun, 05 Jan 2025)

  Changed paths:
    M libc/test/src/stdlib/SortingTest.h

  Log Message:
  -----------
  [libc][fuzz] workaround gcc's constexpr capture issue in sort fuzzer (#121684)

Fix the build problem at
https://lab.llvm.org/buildbot/#/builders/131/builds/13255


  Commit: 743c84bb9b79ed70d9bed926c2a173db3b30f587
      https://github.com/llvm/llvm-project/commit/743c84bb9b79ed70d9bed926c2a173db3b30f587
  Author: Vlad Serebrennikov <serebrennikov.vladislav at gmail.com>
  Date:   2025-01-05 (Sun, 05 Jan 2025)

  Changed paths:
    A clang/test/CXX/drs/cwg2353.cpp
    M clang/test/CXX/drs/cwg23xx.cpp

  Log Message:
  -----------
  [clang][NFC] Move CWG2353 test to its own file


  Commit: f53abc2db07abfa38af9365bc15572112adbe040
      https://github.com/llvm/llvm-project/commit/f53abc2db07abfa38af9365bc15572112adbe040
  Author: Vlad Serebrennikov <serebrennikov.vladislav at gmail.com>
  Date:   2025-01-05 (Sun, 05 Jan 2025)

  Changed paths:
    M clang/test/CXX/drs/cwg28xx.cpp

  Log Message:
  -----------
  [clang][NFC] Refactor expected directives in CWG2881 test


  Commit: 747f7f38bddaa4ae60c8d1380c9b28d81fc13e8a
      https://github.com/llvm/llvm-project/commit/747f7f38bddaa4ae60c8d1380c9b28d81fc13e8a
  Author: Florian Hahn <flo at fhahn.com>
  Date:   2025-01-05 (Sun, 05 Jan 2025)

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

  Log Message:
  -----------
  [LV] Add test with conditional load from invariant addr and assumption.

This adds missing test coverage for isDereferenceableAndAlignedInLoop,
related to https://github.com/llvm/llvm-project/pull/96752.


  Commit: 0fc8fc75a9d505dde92c0d6d8826b6384dfb5e2a
      https://github.com/llvm/llvm-project/commit/0fc8fc75a9d505dde92c0d6d8826b6384dfb5e2a
  Author: Fangrui Song <i at maskray.me>
  Date:   2025-01-05 (Sun, 05 Jan 2025)

  Changed paths:
    M llvm/test/MC/AsmParser/macro-def-in-instantiation.s
    A llvm/test/MC/AsmParser/macro-nesting.s

  Log Message:
  -----------
  [MC,test] Improve nesting macro test

9d94a4eee9d30487c5d6b1478a7195523f6db1ca added support for nested .macro .
Mov the test to macro-nesting.s and add another test to test \+ and \@.


  Commit: f4230b4332262dffb0bd3b7a2f8d6deb2e96488e
      https://github.com/llvm/llvm-project/commit/f4230b4332262dffb0bd3b7a2f8d6deb2e96488e
  Author: Florian Hahn <flo at fhahn.com>
  Date:   2025-01-05 (Sun, 05 Jan 2025)

  Changed paths:
    M llvm/lib/Transforms/Vectorize/LoopVectorizationPlanner.h
    M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
    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

  Log Message:
  -----------
  [VPlan] Add and use debug location for VPScalarCastRecipe.

Update the recipe it always take a debug location and set it.


  Commit: c2f7745b4ef7a79ca0789efee997e973ed896380
      https://github.com/llvm/llvm-project/commit/c2f7745b4ef7a79ca0789efee997e973ed896380
  Author: Fangrui Song <i at maskray.me>
  Date:   2025-01-05 (Sun, 05 Jan 2025)

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

  Log Message:
  -----------
  [lld-macho] Remove redundant hasValidData. NFC

lld::macho::runBalancedPartitioning ensures that all sections satisfy
`hasValidData`.


  Commit: 8d2b070f07969f8358c93b9cf56834806fdc3efa
      https://github.com/llvm/llvm-project/commit/8d2b070f07969f8358c93b9cf56834806fdc3efa
  Author: Fangrui Song <i at maskray.me>
  Date:   2025-01-05 (Sun, 05 Jan 2025)

  Changed paths:
    M lld/ELF/CallGraphSort.cpp
    M lld/ELF/CallGraphSort.h
    M lld/ELF/Writer.cpp

  Log Message:
  -----------
  [ELF] Internalize computeCacheDirectedSortOrder. NFC

and delete an incorremtn comment about ctx.arg.callGraphProfile


  Commit: bcc1e584483c8246b651290b0c2d696bd57006a9
      https://github.com/llvm/llvm-project/commit/bcc1e584483c8246b651290b0c2d696bd57006a9
  Author: Fangrui Song <i at maskray.me>
  Date:   2025-01-05 (Sun, 05 Jan 2025)

  Changed paths:
    M lld/ELF/CallGraphSort.cpp
    M lld/ELF/Driver.cpp
    M lld/ELF/Writer.cpp
    A lld/test/ELF/cgprofile-orderfile.s

  Log Message:
  -----------
  [ELF] Allow --symbol-ordering-file and call graph profile to be used together

Port https://reviews.llvm.org/D117354 from the MachO port.

If both --symbol-ordering-file and call graph profile are present, the
--symbol-ordering-file takes precedence, but the call graph profile is
still used for symbols that don't appear in the order file.

In addition, call graph profile described sections are now ordered
before other sections.


  Commit: 9d0fa42fbbffe3ff584b26f3a48f8f786f68da72
      https://github.com/llvm/llvm-project/commit/9d0fa42fbbffe3ff584b26f3a48f8f786f68da72
  Author: Vishakh Prakash <vishakhpro2002 at gmail.com>
  Date:   2025-01-06 (Mon, 06 Jan 2025)

  Changed paths:
    M mlir/docs/Tutorials/Toy/Ch-2.md

  Log Message:
  -----------
  [mlir] Update Ch-2.md (#121379)

line 265 in the file llvm-project/mlir/docs/Tutorials/Toy/Ch-2.md 

changed mlir::OpTraits to mlir::OpTrait


  Commit: 510263a969291749ba2b627839249b2bb101ca35
      https://github.com/llvm/llvm-project/commit/510263a969291749ba2b627839249b2bb101ca35
  Author: Nico Weber <thakis at chromium.org>
  Date:   2025-01-05 (Sun, 05 Jan 2025)

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

  Log Message:
  -----------
  [gn] port a774adb01725 (BuiltinsX86_64.td)


  Commit: f3590c16da9e6bb5c3b22f4593ef794a43dc8b5d
      https://github.com/llvm/llvm-project/commit/f3590c16da9e6bb5c3b22f4593ef794a43dc8b5d
  Author: Amr Hesham <amr96 at programmer.net>
  Date:   2025-01-05 (Sun, 05 Jan 2025)

  Changed paths:
    M clang/docs/LibASTMatchersReference.html
    M clang/docs/ReleaseNotes.rst
    M clang/include/clang/ASTMatchers/ASTMatchers.h
    M clang/lib/ASTMatchers/Dynamic/Registry.cpp
    M clang/unittests/ASTMatchers/ASTMatchersNarrowingTest.cpp

  Log Message:
  -----------
  [Clang][ASTMatcher] Add a matcher for the name of a DependentScopeDeclRefExpr (#121656)

Add the `hasDependentName` matcher to match the name of
`DependentScopeDeclRefExpr`

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


  Commit: d34f7ead886aaaca50f672c47e4f97e078d574db
      https://github.com/llvm/llvm-project/commit/d34f7ead886aaaca50f672c47e4f97e078d574db
  Author: Matt Arsenault <Matthew.Arsenault at amd.com>
  Date:   2025-01-06 (Mon, 06 Jan 2025)

  Changed paths:
    M llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
    A llvm/test/CodeGen/AMDGPU/issue121601-combine-concat-vectors-assumes-f16.ll

  Log Message:
  -----------
  DAG: Fix assuming f16 is the only 16-bit fp type in concat vector combine (#121637)

This would see if there are mixed integer and FP types and pick an
equivalently sized FP type to use as the vector element type, and only
cast if there were mixed integers. We need to insert a cast if the types
are mixed, which may include different FP types.

Fixes #121601


  Commit: 0bd1c879966cfdf145b1f96292a2632628fab3fb
      https://github.com/llvm/llvm-project/commit/0bd1c879966cfdf145b1f96292a2632628fab3fb
  Author: Aaditya <115080342+easyonaadit at users.noreply.github.com>
  Date:   2025-01-06 (Mon, 06 Jan 2025)

  Changed paths:
    M llvm/lib/Target/AMDGPU/AMDGPURegisterBankInfo.cpp
    M llvm/lib/Target/AMDGPU/SIISelLowering.cpp
    M llvm/lib/Target/AMDGPU/SIISelLowering.h
    R llvm/test/CodeGen/AMDGPU/GlobalISel/dynamic-alloca-divergent.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/regbankselect-dyn-stackalloc.mir
    M llvm/test/CodeGen/AMDGPU/dynamic_stackalloc.ll

  Log Message:
  -----------
  [AMDGPU] Support divergent sized dynamic alloca (#121148)

Currently, AMDGPU backend can handle uniform-sized dynamic allocas. 
This patch extends support for divergent-sized dynamic allocas.
When the size argument of a dynamic alloca is divergent, 
a wave-wide reduction is performed to get the required stack space. 
`@llvm.amdgcn.wave.reduce.umax` is used to perform the 
wave reduction.

Dynamic allocas are not completely supported yet, 
as the stack is not properly restored on function exit.
This patch doesn't attempt to address the aforementioned issue.

Note: Compiler already Zero-Extends or Truncates all other 
types(of alloca size arg) to i32.


  Commit: 7e3180a2c2ca2383688d4b8a74c99ce486dd8486
      https://github.com/llvm/llvm-project/commit/7e3180a2c2ca2383688d4b8a74c99ce486dd8486
  Author: Amara Emerson <amara at apple.com>
  Date:   2025-01-05 (Sun, 05 Jan 2025)

  Changed paths:
    M llvm/lib/CodeGen/GlobalISel/LegalizerHelper.cpp
    M llvm/lib/Target/AArch64/GISel/AArch64LegalizerInfo.cpp
    A llvm/test/CodeGen/AArch64/GlobalISel/legalize-store-vector-bools.mir

  Log Message:
  -----------
  [AArch64][GlobalISel] Add support for widening vector store elements to s8.



Reviewers: topperc, arsenm, davemgreen

Reviewed By: arsenm

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


  Commit: 46ff1d0776cbeb941a2e1e011c848c898b9eb4cd
      https://github.com/llvm/llvm-project/commit/46ff1d0776cbeb941a2e1e011c848c898b9eb4cd
  Author: Amara Emerson <amara at apple.com>
  Date:   2025-01-05 (Sun, 05 Jan 2025)

  Changed paths:
    M .github/workflows/build-ci-container.yml
    M .github/workflows/new-issues.yml
    M .github/workflows/release-binaries.yml
    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/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/index.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
    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
    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/include/clang/ASTMatchers/ASTMatchers.h
    M clang/include/clang/Basic/Builtins.h
    M clang/include/clang/Basic/BuiltinsBase.td
    R clang/include/clang/Basic/BuiltinsX86.def
    M clang/include/clang/Basic/BuiltinsX86.td
    A clang/include/clang/Basic/BuiltinsX86Base.td
    R clang/include/clang/Basic/BuiltinsX86_64.def
    A clang/include/clang/Basic/BuiltinsX86_64.td
    M clang/include/clang/Basic/CMakeLists.txt
    M clang/include/clang/Basic/CodeGenOptions.h
    M clang/include/clang/Basic/DiagnosticDriverKinds.td
    M clang/include/clang/Basic/TargetBuiltins.h
    M clang/include/clang/Basic/arm_immcheck_incl.td
    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/include/clang/Driver/Options.td
    M clang/include/clang/Format/Format.h
    M clang/include/clang/Frontend/Utils.h
    M clang/include/clang/Sema/Sema.h
    M clang/include/clang/Sema/Template.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/ASTMatchers/ASTMatchersInternal.cpp
    M clang/lib/ASTMatchers/Dynamic/Registry.cpp
    M clang/lib/Basic/Builtins.cpp
    M clang/lib/Basic/CodeGenOptions.cpp
    M clang/lib/Basic/Targets/X86.cpp
    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/lib/CodeGen/CGHLSLRuntime.cpp
    M clang/lib/CodeGen/CGHLSLRuntime.h
    M clang/lib/CodeGen/Targets/AArch64.cpp
    M clang/lib/Driver/CMakeLists.txt
    M clang/lib/Driver/Driver.cpp
    M clang/lib/Driver/ToolChains/Clang.cpp
    M clang/lib/Driver/ToolChains/CommonArgs.cpp
    M clang/lib/Driver/ToolChains/MinGW.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/Format/AffectedRangeManager.cpp
    M clang/lib/Format/AffectedRangeManager.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/MatchFilePath.cpp
    M clang/lib/Format/TokenAnnotator.cpp
    M clang/lib/Format/TokenAnnotator.h
    M clang/lib/Format/UnwrappedLineFormatter.cpp
    M clang/lib/Format/UnwrappedLineParser.cpp
    M clang/lib/Format/UnwrappedLineParser.h
    M clang/lib/Frontend/CompilerInvocation.cpp
    M clang/lib/Frontend/DependencyFile.cpp
    M clang/lib/Frontend/FrontendActions.cpp
    M clang/lib/Sema/SemaARM.cpp
    M clang/lib/Sema/SemaConcept.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/Sema/SemaTemplateDeductionGuide.cpp
    M clang/lib/Sema/SemaTemplateInstantiate.cpp
    M clang/lib/Sema/TreeTransform.h
    M clang/lib/Serialization/GeneratePCH.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
    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/drs/cwg0xx.cpp
    M clang/test/CXX/drs/cwg10xx.cpp
    M clang/test/CXX/drs/cwg118.cpp
    M clang/test/CXX/drs/cwg11xx.cpp
    M clang/test/CXX/drs/cwg12xx.cpp
    M clang/test/CXX/drs/cwg13xx.cpp
    M clang/test/CXX/drs/cwg14xx.cpp
    M clang/test/CXX/drs/cwg158.cpp
    M clang/test/CXX/drs/cwg15xx.cpp
    M clang/test/CXX/drs/cwg16xx.cpp
    M clang/test/CXX/drs/cwg1748.cpp
    M clang/test/CXX/drs/cwg177x.cpp
    M clang/test/CXX/drs/cwg17xx.cpp
    M clang/test/CXX/drs/cwg1807.cpp
    M clang/test/CXX/drs/cwg18xx.cpp
    M clang/test/CXX/drs/cwg19xx.cpp
    M clang/test/CXX/drs/cwg1xx.cpp
    M clang/test/CXX/drs/cwg20xx.cpp
    M clang/test/CXX/drs/cwg21xx.cpp
    M clang/test/CXX/drs/cwg22xx.cpp
    A clang/test/CXX/drs/cwg2353.cpp
    M clang/test/CXX/drs/cwg23xx.cpp
    M clang/test/CXX/drs/cwg24xx.cpp
    M clang/test/CXX/drs/cwg2504.cpp
    M clang/test/CXX/drs/cwg25xx.cpp
    M clang/test/CXX/drs/cwg26xx.cpp
    M clang/test/CXX/drs/cwg2771.cpp
    M clang/test/CXX/drs/cwg27xx.cpp
    M clang/test/CXX/drs/cwg28xx.cpp
    M clang/test/CXX/drs/cwg29xx.cpp
    M clang/test/CXX/drs/cwg2xx.cpp
    M clang/test/CXX/drs/cwg3xx.cpp
    M clang/test/CXX/drs/cwg492.cpp
    M clang/test/CXX/drs/cwg4xx.cpp
    M clang/test/CXX/drs/cwg571.cpp
    A clang/test/CXX/drs/cwg593.cpp
    M clang/test/CXX/drs/cwg5xx.cpp
    M clang/test/CXX/drs/cwg6xx.cpp
    M clang/test/CXX/drs/cwg722.cpp
    M clang/test/CXX/drs/cwg7xx.cpp
    M clang/test/CXX/drs/cwg8xx.cpp
    M clang/test/CXX/drs/cwg9xx.cpp
    R clang/test/CXX/drs/cwgr593.cpp
    M clang/test/CXX/expr/expr.prim/expr.prim.req/nested-requirement.cpp
    M clang/test/CXX/temp/temp.constr/temp.constr.atomic/constrant-satisfaction-conversions.cpp
    M clang/test/CodeGen/AArch64/fpm-helpers.c
    M clang/test/CodeGen/builtin-memfns.c
    M clang/test/CodeGen/code-coverage.c
    M clang/test/CodeGenCXX/matrix-vector-bit-int.cpp
    M clang/test/CodeGenHLSL/semantics/SV_GroupID.hlsl
    M clang/test/CoverageMapping/single-byte-counters.cpp
    A clang/test/Driver/Inputs/spirv-openmp/lib/libomptarget-spirv64.bc
    M clang/test/Driver/clang_f_opts.c
    M clang/test/Driver/hip-device-libs.hip
    M clang/test/Driver/mingw.cpp
    M clang/test/Driver/print-supported-extensions-riscv.c
    M clang/test/Driver/sanitizer-ld.c
    A clang/test/Driver/spirv-openmp-toolchain.c
    M clang/test/Frontend/dependency-gen-symlink.c
    M clang/test/Frontend/dependency-gen-windows-duplicates.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
    M clang/test/OpenMP/irbuilder_simd_aligned.cpp
    M clang/test/Preprocessor/riscv-target-features.c
    M clang/test/SemaCXX/concept-crash-on-diagnostic.cpp
    M clang/test/SemaCXX/cxx20-ctad-type-alias.cpp
    M clang/test/SemaCXX/cxx23-assume.cpp
    M clang/test/SemaCXX/cxx2c-fold-exprs.cpp
    M clang/test/SemaCXX/cxx2c-pack-indexing.cpp
    M clang/test/SemaCXX/lambda-unevaluated.cpp
    M clang/test/SemaTemplate/concepts-recursive-inst.cpp
    M clang/test/SemaTemplate/cxx2a-constraint-exprs.cpp
    M clang/test/SemaTemplate/deduction-guide.cpp
    M clang/test/SemaTemplate/nested-implicit-deduction-guides.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/ASTMatchersNarrowingTest.cpp
    M clang/unittests/ASTMatchers/ASTMatchersNodeTest.cpp
    M clang/unittests/Format/ConfigParseTest.cpp
    M clang/unittests/Format/FormatTest.cpp
    M clang/unittests/Format/MatchFilePathTest.cpp
    M clang/unittests/Format/TokenAnnotatorTest.cpp
    M clang/utils/TableGen/ClangBuiltinsEmitter.cpp
    M clang/www/cxx_dr_status.html
    M clang/www/make_cxx_dr_status
    M compiler-rt/lib/builtins/CMakeLists.txt
    A compiler-rt/lib/builtins/truncxfhf2.c
    M compiler-rt/lib/rtsan/rtsan_interceptors_posix.cpp
    M compiler-rt/lib/rtsan/tests/rtsan_test_interceptors_posix.cpp
    M compiler-rt/lib/sanitizer_common/sanitizer_common_interceptors.inc
    M compiler-rt/lib/tysan/CMakeLists.txt
    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/examples/FlangOmpReport/FlangOmpReportVisitor.cpp
    A flang/include/flang/Optimizer/Builder/CUFCommon.h
    M flang/include/flang/Optimizer/Dialect/CUF/CUFOps.td
    M flang/include/flang/Optimizer/HLFIR/Passes.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/lib/Lower/Allocatable.cpp
    M flang/lib/Lower/Bridge.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/CodeGen/BoxedProcedure.cpp
    M flang/lib/Optimizer/HLFIR/Transforms/CMakeLists.txt
    A flang/lib/Optimizer/HLFIR/Transforms/InlineHLFIRAssign.cpp
    M flang/lib/Optimizer/HLFIR/Transforms/OptimizedBufferization.cpp
    M flang/lib/Optimizer/OpenMP/CMakeLists.txt
    M flang/lib/Optimizer/OpenMP/MapInfoFinalization.cpp
    M flang/lib/Optimizer/Passes/Pipelines.cpp
    M flang/lib/Optimizer/Transforms/AddDebugInfo.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/DebugTypeGenerator.cpp
    M flang/lib/Optimizer/Transforms/SimplifyIntrinsics.cpp
    M flang/lib/Parser/openmp-parsers.cpp
    M flang/lib/Parser/unparse.cpp
    M flang/lib/Semantics/canonicalize-omp.cpp
    M flang/lib/Semantics/check-allocate.cpp
    M flang/lib/Semantics/check-cuda.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/stop.cpp
    A flang/test/Analysis/AliasAnalysis/alias-analysis-omp-private-allocatable.mlir
    M flang/test/Driver/mlir-pass-pipeline.f90
    A flang/test/Fir/CUDA/cuda-sync-desc.mlir
    M flang/test/Fir/basic-program.fir
    A flang/test/HLFIR/inline-hlfir-assign.fir
    M flang/test/HLFIR/maxloc-elemental.fir
    M flang/test/HLFIR/minloc-elemental.fir
    M flang/test/HLFIR/opt-bufferization-eval_in_mem.fir
    A flang/test/HLFIR/opt-bufferization-same-ptr-elemental.fir
    M flang/test/HLFIR/opt-bufferization.fir
    R flang/test/HLFIR/opt-variable-assign.fir
    A flang/test/Integration/debug-116525.f90
    M flang/test/Lower/CUDA/cuda-allocatable.cuf
    A flang/test/Lower/CUDA/cuda-pointer-sync.cuf
    M flang/test/Lower/OpenMP/Todo/error.f90
    M flang/test/Lower/OpenMP/allocatable-array-bounds.f90
    M flang/test/Lower/OpenMP/array-bounds.f90
    M flang/test/Lower/OpenMP/derived-type-allocatable-map.f90
    A flang/test/Lower/OpenMP/local-intrinsic-sized-array-map.f90
    M flang/test/Parser/OpenMP/error-unparse.f90
    A flang/test/Parser/OpenMP/nothing.f90
    A flang/test/Semantics/OpenMP/error.f90
    M flang/test/Semantics/cuf07.cuf
    M flang/test/Semantics/cuf09.cuf
    M flang/test/Transforms/omp-map-info-finalization.fir
    M libc/CMakeLists.txt
    M libc/cmake/modules/LLVMLibCHeaderRules.cmake
    M libc/config/baremetal/config.json
    M libc/docs/dev/header_generation.rst
    M libc/docs/dev/source_tree_layout.rst
    M libc/docs/full_cross_build.rst
    M libc/fuzzing/stdlib/CMakeLists.txt
    M libc/fuzzing/stdlib/heap_sort_fuzz.cpp
    R libc/fuzzing/stdlib/qsort_fuzz.cpp
    A libc/fuzzing/stdlib/quick_sort_fuzz.cpp
    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/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
    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/shared/rpc_util.h
    M libc/src/compiler/generic/__stack_chk_fail.cpp
    M libc/src/math/docs/add_math_function.md
    M libc/src/math/generic/CMakeLists.txt
    M libc/src/math/generic/exp10f_impl.h
    M libc/src/math/generic/range_reduction_double_common.h
    M libc/src/math/generic/sincosf16_utils.h
    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/src/unistd/linux/dup2.cpp
    M libc/test/UnitTest/FPMatcher.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 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
    M libcxx/include/__algorithm/mismatch.h
    M libcxx/include/__algorithm/simd_utils.h
    M libcxx/include/__ostream/basic_ostream.h
    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
    M libcxx/include/__vector/vector_bool.h
    M libcxx/test/libcxx/clang_tidy.gen.py
    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/Common/BPSectionOrdererBase.cpp
    M lld/ELF/CallGraphSort.cpp
    M lld/ELF/CallGraphSort.h
    M lld/ELF/Driver.cpp
    M lld/ELF/InputSection.h
    M lld/ELF/SyntheticSections.cpp
    M lld/ELF/Writer.cpp
    M lld/MachO/BPSectionOrderer.h
    M lld/MachO/Driver.cpp
    M lld/MachO/Options.td
    M lld/MachO/SyntheticSections.cpp
    M lld/include/lld/Common/BPSectionOrdererBase.h
    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/cgprofile-obj.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/cgprofile-obj.s
    A lld/test/ELF/cgprofile-orderfile.s
    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/docs/resources/formatterbytecode.rst
    M lldb/examples/python/formatter_bytecode.py
    M lldb/packages/Python/lldbsuite/test/tools/lldb-server/gdbremote_testcase.py
    M lldb/source/DataFormatters/FormatterBytecode.cpp
    M lldb/source/DataFormatters/FormatterBytecode.def
    M lldb/source/Host/posix/ConnectionFileDescriptorPosix.cpp
    M lldb/source/Host/posix/DomainSocket.cpp
    M lldb/source/Host/posix/MainLoopPosix.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/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/test/API/commands/register/register/register_command/TestRegisters.py
    M lldb/unittests/DataFormatter/FormatterBytecodeTest.cpp
    M llvm/Maintainers.md
    M llvm/cmake/modules/Findzstd.cmake
    M llvm/docs/ProgrammersManual.rst
    M llvm/docs/RISCVUsage.rst
    M llvm/docs/ReleaseNotes.md
    M llvm/docs/TableGen/BackEnds.rst
    M llvm/include/llvm/Analysis/TargetTransformInfo.h
    M llvm/include/llvm/Analysis/TargetTransformInfoImpl.h
    M llvm/include/llvm/BinaryFormat/MinidumpConstants.def
    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/MachineMemOperand.h
    M llvm/include/llvm/CodeGen/MachineRegisterInfo.h
    M llvm/include/llvm/ExecutionEngine/JITLink/loongarch.h
    M llvm/include/llvm/ExecutionEngine/Orc/ELFNixPlatform.h
    M llvm/include/llvm/ExecutionEngine/Orc/MachOBuilder.h
    M llvm/include/llvm/IR/IntrinsicsSPIRV.td
    M llvm/include/llvm/IR/Metadata.h
    M llvm/include/llvm/IR/PassManager.h
    M llvm/include/llvm/IR/PatternMatch.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/TableGen/Record.h
    M llvm/include/llvm/Target/CGPassBuilderOption.h
    M llvm/include/llvm/Target/GlobalISel/Combine.td
    M llvm/include/llvm/Transforms/IPO/Attributor.h
    M llvm/include/llvm/Transforms/Utils/Local.h
    M llvm/lib/Analysis/MemoryProfileInfo.cpp
    M llvm/lib/Analysis/ScalarEvolution.cpp
    M llvm/lib/Analysis/TargetTransformInfo.cpp
    M llvm/lib/Analysis/ValueTracking.cpp
    M llvm/lib/CodeGen/ExpandMemCmp.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/MachineOperand.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/SelectionDAG/DAGCombiner.cpp
    M llvm/lib/CodeGen/SelectionDAG/LegalizeVectorOps.cpp
    M llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp
    M llvm/lib/CodeGen/StackMapLivenessAnalysis.cpp
    M llvm/lib/CodeGen/SwiftErrorValueTracking.cpp
    M llvm/lib/CodeGen/TargetPassConfig.cpp
    M llvm/lib/DebugInfo/GSYM/CallSiteInfo.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/MachOPlatform.cpp
    M llvm/lib/Frontend/OpenMP/OMPIRBuilder.cpp
    M llvm/lib/IR/ConstantRange.cpp
    M llvm/lib/IR/ConstantsContext.h
    M llvm/lib/IR/SafepointIRVerifier.cpp
    M llvm/lib/MC/MCAsmStreamer.cpp
    M llvm/lib/ObjCopy/COFF/COFFObjcopy.cpp
    M llvm/lib/Object/WindowsMachineFlag.cpp
    M llvm/lib/Passes/PassBuilder.cpp
    M llvm/lib/ProfileData/Coverage/CoverageMapping.cpp
    M llvm/lib/ProfileData/MemProfReader.cpp
    M llvm/lib/Support/Windows/Path.inc
    M llvm/lib/TableGen/TGLexer.cpp
    M llvm/lib/TableGen/TGLexer.h
    M llvm/lib/Target/AArch64/AArch64AsmPrinter.cpp
    M llvm/lib/Target/AArch64/AArch64Combine.td
    M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
    M llvm/lib/Target/AArch64/AArch64ISelLowering.h
    M llvm/lib/Target/AArch64/AArch64InstrInfo.td
    M llvm/lib/Target/AArch64/AArch64SMEInstrInfo.td
    M llvm/lib/Target/AArch64/AArch64TargetTransformInfo.cpp
    M llvm/lib/Target/AArch64/AArch64TargetTransformInfo.h
    M llvm/lib/Target/AArch64/GISel/AArch64LegalizerInfo.cpp
    M llvm/lib/Target/AArch64/GISel/AArch64PostLegalizerLowering.cpp
    M llvm/lib/Target/AArch64/Utils/AArch64BaseInfo.cpp
    M llvm/lib/Target/AArch64/Utils/AArch64BaseInfo.h
    M llvm/lib/Target/AMDGPU/AMDGPUInstructionSelector.cpp
    M llvm/lib/Target/AMDGPU/AMDGPURegisterBankInfo.cpp
    M llvm/lib/Target/AMDGPU/AsmParser/AMDGPUAsmParser.cpp
    M llvm/lib/Target/AMDGPU/BUFInstructions.td
    M llvm/lib/Target/AMDGPU/Disassembler/AMDGPUDisassembler.cpp
    M llvm/lib/Target/AMDGPU/Disassembler/AMDGPUDisassembler.h
    M llvm/lib/Target/AMDGPU/MIMGInstructions.td
    M llvm/lib/Target/AMDGPU/SIISelLowering.cpp
    M llvm/lib/Target/AMDGPU/SIISelLowering.h
    M llvm/lib/Target/AMDGPU/SIInstructions.td
    M llvm/lib/Target/AMDGPU/SIRegisterInfo.td
    M llvm/lib/Target/AMDGPU/SMInstructions.td
    M llvm/lib/Target/AMDGPU/VOP1Instructions.td
    M llvm/lib/Target/AMDGPU/VOP3Instructions.td
    M llvm/lib/Target/AMDGPU/VOPCInstructions.td
    M llvm/lib/Target/ARM/ARMISelLowering.cpp
    M llvm/lib/Target/AVR/AVRDevices.td
    M llvm/lib/Target/AVR/MCTargetDesc/AVRAsmBackend.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/NVPTX/NVPTXInstrInfo.td
    M llvm/lib/Target/NVPTX/NVPTXIntrinsics.td
    M llvm/lib/Target/PowerPC/PPCAsmPrinter.cpp
    M llvm/lib/Target/PowerPC/PPCInstrInfo.cpp
    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/MCTargetDesc/RISCVInstPrinter.cpp
    M llvm/lib/Target/RISCV/RISCVCombine.td
    M llvm/lib/Target/RISCV/RISCVFeatures.td
    M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
    M llvm/lib/Target/RISCV/RISCVInsertVSETVLI.cpp
    M llvm/lib/Target/RISCV/RISCVInstrInfoXTHead.td
    M llvm/lib/Target/RISCV/RISCVInstrInfoXqci.td
    M llvm/lib/Target/RISCV/RISCVSchedule.td
    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/SPIRV/SPIRVInstructionSelector.cpp
    M llvm/lib/Target/TargetMachine.cpp
    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/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/X86InstrFragmentsSIMD.td
    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/TargetParser/Host.cpp
    M llvm/lib/TargetParser/RISCVISAInfo.cpp
    M llvm/lib/ToolDrivers/llvm-lib/LibDriver.cpp
    M llvm/lib/Transforms/AggressiveInstCombine/AggressiveInstCombine.cpp
    M llvm/lib/Transforms/InstCombine/InstCombineCalls.cpp
    M llvm/lib/Transforms/InstCombine/InstCombineCompares.cpp
    M llvm/lib/Transforms/InstCombine/InstCombineMulDivRem.cpp
    M llvm/lib/Transforms/InstCombine/InstCombinePHI.cpp
    M llvm/lib/Transforms/InstCombine/InstCombineSelect.cpp
    M llvm/lib/Transforms/InstCombine/InstructionCombining.cpp
    M llvm/lib/Transforms/Instrumentation/GCOVProfiling.cpp
    M llvm/lib/Transforms/Scalar/ConstraintElimination.cpp
    M llvm/lib/Transforms/Scalar/MemCpyOptimizer.cpp
    M llvm/lib/Transforms/Utils/EntryExitInstrumenter.cpp
    M llvm/lib/Transforms/Utils/Local.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/VPRecipeBuilder.h
    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/VPlanValue.h
    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/RISCV/rvv-cmp.ll
    A llvm/test/Analysis/CostModel/RISCV/rvv-fcmp-f16.ll
    M llvm/test/Analysis/ScalarEvolution/backedge-taken-count-guard-info-with-multiple-predecessors.ll
    M llvm/test/Analysis/ValueTracking/knownbits-trunc-with-min-max-clamp.ll
    M llvm/test/CodeGen/AArch64/GlobalISel/combine-select.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/aarch64-dup-ext.ll
    A llvm/test/CodeGen/AArch64/cgdata-no-merge-attached-call-garget.ll
    A llvm/test/CodeGen/AArch64/csel-subs-swapped.ll
    M llvm/test/CodeGen/AArch64/machine-licm-hoist-load.ll
    M llvm/test/CodeGen/AArch64/memcmp.ll
    M llvm/test/CodeGen/AArch64/neon-reverseshuffle.ll
    A llvm/test/CodeGen/AArch64/ptrauth-arm64-tls-dynamics.ll
    A llvm/test/CodeGen/AArch64/shuffle-select.ll
    M llvm/test/CodeGen/AArch64/vecreduce-add.ll
    R llvm/test/CodeGen/AMDGPU/GlobalISel/dynamic-alloca-divergent.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/inst-select-amdgcn.fcmp.constants.w32.mir
    M llvm/test/CodeGen/AMDGPU/GlobalISel/inst-select-amdgcn.fcmp.constants.w64.mir
    M llvm/test/CodeGen/AMDGPU/GlobalISel/regbankselect-dyn-stackalloc.mir
    A llvm/test/CodeGen/AMDGPU/dummy-regalloc-priority-advisor.mir
    M llvm/test/CodeGen/AMDGPU/dynamic_stackalloc.ll
    M llvm/test/CodeGen/AMDGPU/fmax3.ll
    M llvm/test/CodeGen/AMDGPU/fmin3.ll
    M llvm/test/CodeGen/AMDGPU/fract-match.ll
    M llvm/test/CodeGen/AMDGPU/inline-asm.i128.ll
    A llvm/test/CodeGen/AMDGPU/issue121601-combine-concat-vectors-assumes-f16.ll
    M llvm/test/CodeGen/AMDGPU/llvm.cos.f16.ll
    M llvm/test/CodeGen/AMDGPU/llvm.frexp.ll
    M llvm/test/CodeGen/AMDGPU/llvm.rint.f16.ll
    M llvm/test/CodeGen/AMDGPU/llvm.sin.f16.ll
    M llvm/test/CodeGen/AMDGPU/llvm.trunc.f16.ll
    M llvm/test/CodeGen/AMDGPU/mad_64_32.ll
    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/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
    M llvm/test/CodeGen/PowerPC/lsr-postinc-pos.ll
    M llvm/test/CodeGen/PowerPC/memcmp.ll
    M llvm/test/CodeGen/PowerPC/memcmpIR.ll
    M llvm/test/CodeGen/PowerPC/scalar_vector_test_5.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
    M llvm/test/CodeGen/RISCV/rvv/vfwmacc-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/vfwmsac-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/vfwnmacc-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/vfwnmsac-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/vl-opt-op-info.mir
    M llvm/test/CodeGen/RISCV/rvv/vsitofp-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/vuitofp-vp.ll
    A llvm/test/CodeGen/RISCV/xcvmem-heuristic.ll
    A llvm/test/CodeGen/SPIRV/hlsl-intrinsics/SV_GroupID.ll
    M llvm/test/CodeGen/Thumb2/bf16-instructions.ll
    A llvm/test/CodeGen/X86/avx10_2_512fptosi_satcvtds.ll
    M llvm/test/CodeGen/X86/avx10_2fptosi_satcvtds.ll
    M llvm/test/CodeGen/X86/fminimum-fmaximum.ll
    M llvm/test/CodeGen/X86/memcmp-more-load-pairs-x32.ll
    M llvm/test/CodeGen/X86/memcmp-more-load-pairs.ll
    M llvm/test/CodeGen/X86/memcmp-optsize-x32.ll
    M llvm/test/CodeGen/X86/memcmp-optsize.ll
    M llvm/test/CodeGen/X86/memcmp-pgso-x32.ll
    M llvm/test/CodeGen/X86/memcmp-pgso.ll
    M llvm/test/CodeGen/X86/memcmp-x32.ll
    M llvm/test/CodeGen/X86/memcmp.ll
    M llvm/test/CodeGen/X86/mingw-refptr.ll
    A llvm/test/CodeGen/X86/pr107423.ll
    M llvm/test/CodeGen/X86/vec_saddo.ll
    M llvm/test/CodeGen/X86/vec_ssubo.ll
    M llvm/test/CodeGen/X86/vec_uaddo.ll
    M llvm/test/CodeGen/X86/vec_usubo.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/MC/AMDGPU/gfx10_asm_mimg_err.s
    A llvm/test/MC/AMDGPU/gfx10_asm_mtbuf_err.s
    A llvm/test/MC/AMDGPU/gfx10_asm_mubuf_err.s
    M llvm/test/MC/AMDGPU/gfx10_asm_smem.s
    A llvm/test/MC/AMDGPU/gfx10_asm_smem_err.s
    M llvm/test/MC/AMDGPU/gfx11_asm_mimg_err.s
    A llvm/test/MC/AMDGPU/gfx11_asm_mtbuf_err.s
    A llvm/test/MC/AMDGPU/gfx11_asm_mubuf_err.s
    M llvm/test/MC/AMDGPU/gfx11_asm_smem.s
    A llvm/test/MC/AMDGPU/gfx11_asm_smem_err.s
    M llvm/test/MC/AMDGPU/gfx11_asm_vop1.s
    M llvm/test/MC/AMDGPU/gfx11_asm_vop1_dpp16.s
    M llvm/test/MC/AMDGPU/gfx11_asm_vop1_dpp8.s
    M llvm/test/MC/AMDGPU/gfx11_asm_vop1_t16_err.s
    M llvm/test/MC/AMDGPU/gfx11_asm_vop1_t16_promote.s
    M llvm/test/MC/AMDGPU/gfx11_asm_vop3_dpp16_from_vop1.s
    M llvm/test/MC/AMDGPU/gfx11_asm_vop3_dpp8_from_vop1.s
    M llvm/test/MC/AMDGPU/gfx11_asm_vop3_from_vop1.s
    M llvm/test/MC/AMDGPU/gfx12_asm_mimg_err.s
    M llvm/test/MC/AMDGPU/gfx12_asm_smem.s
    A llvm/test/MC/AMDGPU/gfx12_asm_smem_err.s
    A llvm/test/MC/AMDGPU/gfx12_asm_vbuffer_mtbuf_err.s
    A llvm/test/MC/AMDGPU/gfx12_asm_vbuffer_mubuf_err.s
    M llvm/test/MC/AMDGPU/gfx12_asm_vop1.s
    M llvm/test/MC/AMDGPU/gfx12_asm_vop1_dpp16.s
    M llvm/test/MC/AMDGPU/gfx12_asm_vop1_dpp8.s
    M llvm/test/MC/AMDGPU/gfx12_asm_vop1_t16_err.s
    M llvm/test/MC/AMDGPU/gfx12_asm_vop1_t16_promote.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/gfx12_asm_vop3_from_vop1.s
    M llvm/test/MC/AMDGPU/gfx12_asm_vop3_from_vop1_dpp16.s
    M llvm/test/MC/AMDGPU/gfx12_asm_vop3_from_vop1_dpp8.s
    M llvm/test/MC/AsmParser/macro-def-in-instantiation.s
    A llvm/test/MC/AsmParser/macro-nesting.s
    M llvm/test/MC/Disassembler/AMDGPU/gfx10_smem.txt
    M llvm/test/MC/Disassembler/AMDGPU/gfx11_dasm_smem.txt
    M llvm/test/MC/Disassembler/AMDGPU/gfx11_dasm_vop1.txt
    M llvm/test/MC/Disassembler/AMDGPU/gfx11_dasm_vop1_dpp16.txt
    M llvm/test/MC/Disassembler/AMDGPU/gfx11_dasm_vop1_dpp8.txt
    M llvm/test/MC/Disassembler/AMDGPU/gfx11_dasm_vop3_dpp16_from_vop1.txt
    M llvm/test/MC/Disassembler/AMDGPU/gfx11_dasm_vop3_dpp8_from_vop1.txt
    M llvm/test/MC/Disassembler/AMDGPU/gfx11_dasm_vop3_from_vop1.txt
    M llvm/test/MC/Disassembler/AMDGPU/gfx12_dasm_smem.txt
    M llvm/test/MC/Disassembler/AMDGPU/gfx12_dasm_vop1_dpp16.txt
    M llvm/test/MC/Disassembler/AMDGPU/gfx12_dasm_vop1_dpp8.txt
    M llvm/test/MC/Disassembler/AMDGPU/gfx12_dasm_vop3.txt
    M llvm/test/MC/Disassembler/AMDGPU/gfx12_dasm_vop3_dpp16.txt
    M llvm/test/MC/Disassembler/AMDGPU/gfx12_dasm_vop3_dpp8.txt
    M llvm/test/MC/Disassembler/AMDGPU/gfx12_dasm_vop3_from_vop1.txt
    M llvm/test/MC/Disassembler/AMDGPU/gfx12_dasm_vop3_from_vop1_dpp16.txt
    M llvm/test/MC/Disassembler/AMDGPU/gfx12_dasm_vop3_from_vop1_dpp8.txt
    M llvm/test/MC/RISCV/attribute-arch.s
    M llvm/test/MC/RISCV/machine-csr-names.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/TableGen/GlobalISelEmitter/gisel-physreg-input.td
    A llvm/test/TableGen/GlobalISelEmitter/undef-tied-input.td
    M llvm/test/TableGen/x86-fold-tables.inc
    A llvm/test/Transforms/EntryExitInstrumenter/mcount-with-frompc.ll
    M llvm/test/Transforms/EntryExitInstrumenter/mcount.ll
    M llvm/test/Transforms/ExpandMemCmp/AArch64/memcmp.ll
    M llvm/test/Transforms/ExpandMemCmp/X86/memcmp-x32.ll
    M llvm/test/Transforms/ExpandMemCmp/X86/memcmp.ll
    M llvm/test/Transforms/GCOVProfiling/exit-block.ll
    M llvm/test/Transforms/GCOVProfiling/version.ll
    M llvm/test/Transforms/InstCombine/fcmp-fadd-select.ll
    M llvm/test/Transforms/InstCombine/icmp-gep.ll
    M llvm/test/Transforms/InstCombine/opaque-ptr.ll
    M llvm/test/Transforms/InstCombine/overflow.ll
    M llvm/test/Transforms/InstCombine/rem-mul-shl.ll
    M llvm/test/Transforms/InstCombine/select-cmp-cttz-ctlz.ll
    M llvm/test/Transforms/LoopStrengthReduce/AArch64/lsr-reuse.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/call-costs.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/clamped-trip-count.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/conditional-branches-cost.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/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/fully-unrolled-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
    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
    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
    R llvm/test/Transforms/LoopVectorize/AArch64/vplan-printing.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/widen-call-with-intrinsic-or-libfunc.ll
    M llvm/test/Transforms/LoopVectorize/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/low-trip-count.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/short-trip-count.ll
    M llvm/test/Transforms/LoopVectorize/RISCV/strided-accesses.ll
    M llvm/test/Transforms/LoopVectorize/RISCV/truncate-to-minimal-bitwidth-cost.ll
    M llvm/test/Transforms/LoopVectorize/RISCV/vectorize-force-tail-with-evl-call-intrinsics.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/pr47665.ll
    M llvm/test/Transforms/LoopVectorize/SystemZ/predicated-first-order-recurrence.ll
    M llvm/test/Transforms/LoopVectorize/SystemZ/scalar-steps-with-users-demanding-all-lanes-and-first-lane-only.ll
    M llvm/test/Transforms/LoopVectorize/X86/constant-fold.ll
    M llvm/test/Transforms/LoopVectorize/X86/conversion-cost.ll
    M llvm/test/Transforms/LoopVectorize/X86/cost-model.ll
    A llvm/test/Transforms/LoopVectorize/X86/drop-inbounds-flags-for-reverse-vector-pointer.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
    A llvm/test/Transforms/LoopVectorize/X86/induction-step.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/pr34438.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/debugloc-optimize-vfuf-term.ll
    M 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-step.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/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/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/version-stride-with-integer-casts.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/MemCpyOpt/memcpy.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
    A llvm/test/Transforms/SimplifyCFG/merge-calls-memprof.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/load-inseltpoison.ll
    M llvm/test/Transforms/VectorCombine/X86/shuffle-of-cmps.ll
    M llvm/test/tools/llvm-cov/branch-macros.test
    M llvm/test/tools/llvm-cov/branch-noShowBranch.test
    M llvm/test/tools/llvm-cov/showLineExecutionCounts.test
    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
    A llvm/test/tools/llvm-objcopy/COFF/Inputs/i386-debug-rdata.yaml
    A llvm/test/tools/llvm-objcopy/COFF/only-keep-debug-rdata.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/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-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/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
    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/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/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/include/clang/Basic/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/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/AddMLIRPython.cmake
    M mlir/docs/DialectConversion.md
    M mlir/docs/Tutorials/Toy/Ch-2.md
    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/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/Linalg/IR/LinalgStructuredOps.td
    M mlir/include/mlir/Dialect/Linalg/TransformOps/LinalgTransformOps.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/Dominance.h
    M mlir/include/mlir/Interfaces/TilingInterface.td
    M mlir/include/mlir/Target/LLVMIR/ModuleImport.h
    M mlir/include/mlir/Transforms/DialectConversion.h
    M mlir/include/mlir/Transforms/OneToNTypeConversion.h
    M mlir/lib/Bindings/Python/IRCore.cpp
    M mlir/lib/Conversion/GPUToROCDL/LowerGpuOpsToROCDLOps.cpp
    M mlir/lib/Conversion/LLVMCommon/TypeConverter.cpp
    M mlir/lib/Conversion/SCFToEmitC/CMakeLists.txt
    M mlir/lib/Conversion/SCFToEmitC/SCFToEmitC.cpp
    M mlir/lib/Dialect/Affine/IR/AffineOps.cpp
    M mlir/lib/Dialect/Arith/IR/ArithOps.cpp
    M mlir/lib/Dialect/ArmSME/Transforms/VectorLegalization.cpp
    M mlir/lib/Dialect/ArmSVE/Transforms/LegalizeForLLVMExport.cpp
    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/EmitC/Transforms/TypeConversions.cpp
    M mlir/lib/Dialect/LLVMIR/IR/LLVMAttrs.cpp
    M mlir/lib/Dialect/Linalg/TransformOps/LinalgTransformOps.cpp
    M mlir/lib/Dialect/Linalg/Transforms/ConvertToDestinationStyle.cpp
    M mlir/lib/Dialect/Linalg/Transforms/Detensorize.cpp
    M mlir/lib/Dialect/Linalg/Transforms/EliminateEmptyTensors.cpp
    M mlir/lib/Dialect/Linalg/Transforms/MeshShardingInterfaceImpl.cpp
    M mlir/lib/Dialect/Linalg/Transforms/TilingInterfaceImpl.cpp
    M mlir/lib/Dialect/Linalg/Transforms/Transforms.cpp
    M mlir/lib/Dialect/Quant/Transforms/StripFuncQuantTypes.cpp
    M mlir/lib/Dialect/SCF/IR/SCF.cpp
    M mlir/lib/Dialect/SCF/Transforms/TileUsingInterface.cpp
    M mlir/lib/Dialect/SparseTensor/Transforms/SparseIterationToScf.cpp
    M mlir/lib/Dialect/SparseTensor/Transforms/SparseTensorPasses.cpp
    M mlir/lib/Dialect/SparseTensor/Transforms/Utils/SparseTensorDescriptor.cpp
    M mlir/lib/Dialect/Tensor/IR/TensorOps.cpp
    M mlir/lib/Dialect/Tosa/IR/TosaCanonicalizations.cpp
    M mlir/lib/Dialect/Tosa/Transforms/TosaValidation.cpp
    M mlir/lib/Dialect/Vector/Transforms/VectorLinearize.cpp
    M mlir/lib/IR/Dominance.cpp
    M mlir/lib/Interfaces/Utils/InferIntRangeCommon.cpp
    M mlir/lib/Target/LLVMIR/Dialect/OpenMP/OpenMPToLLVMIRTranslation.cpp
    M mlir/lib/Target/LLVMIR/ModuleImport.cpp
    M mlir/lib/Transforms/Utils/DialectConversion.cpp
    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/Conversion/SCFToEmitC/for.mlir
    M mlir/test/Conversion/SCFToEmitC/switch.mlir
    M mlir/test/Dialect/Affine/canonicalize.mlir
    M mlir/test/Dialect/Arith/canonicalize.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/SCF/canonicalize.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/Target/LLVMIR/Import/import-failure.ll
    M mlir/test/Target/LLVMIR/Import/instructions.ll
    A mlir/test/Target/LLVMIR/omptarget-threadprivate-device-lowering.mlir
    A mlir/test/Target/LLVMIR/openmp-simd-aligned.mlir
    M mlir/test/Target/LLVMIR/openmp-todo.mlir
    M mlir/test/Transforms/test-legalizer.mlir
    M mlir/test/lib/Dialect/Func/TestDecomposeCallGraphTypes.cpp
    M mlir/test/lib/Dialect/Test/TestPatterns.cpp
    M mlir/test/lib/Transforms/TestDialectConversion.cpp
    M mlir/test/python/dialects/transform_structured_ext.py
    M mlir/test/python/ir/dialects.py
    A mlir/utils/pygments/README.md
    A mlir/utils/pygments/mlir_lexer.py
    A offload/test/offloading/fortran/target-map-local-intrinisc-sized-param.f90
    A offload/test/offloading/fortran/target-with-threadprivate.f90
    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/clang/BUILD.bazel
    M utils/bazel/llvm-project-overlay/libc/BUILD.bazel
    M utils/bazel/llvm-project-overlay/libc/test/src/stdlib/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:
  -----------
  [𝘀𝗽𝗿] landed version

Created using spr 1.3.5


Compare: https://github.com/llvm/llvm-project/compare/366d57a3b438...46ff1d0776cb

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