[all-commits] [llvm/llvm-project] a1ee1a: [CodeGen] @llvm.experimental.stackmap make operand...

Aiden Grossman via All-commits all-commits at lists.llvm.org
Thu Dec 12 22:49:00 PST 2024


  Branch: refs/heads/users/boomanaiden154/refactor-buildkite-shell-scripts
  Home:   https://github.com/llvm/llvm-project
  Commit: a1ee1a9126678aabd3b02ef1367df8879d2536fa
      https://github.com/llvm/llvm-project/commit/a1ee1a9126678aabd3b02ef1367df8879d2536fa
  Author: Guillaume DI FATTA <124087040+Atafid at users.noreply.github.com>
  Date:   2024-12-11 (Wed, 11 Dec 2024)

  Changed paths:
    M llvm/docs/StackMaps.rst
    M llvm/include/llvm/IR/Intrinsics.td
    A llvm/test/CodeGen/AArch64/stackmap-args.ll
    A llvm/test/CodeGen/PowerPC/ppc64-stackmap-args.ll
    A llvm/test/CodeGen/RISCV/rv64-stackmap-args.ll
    A llvm/test/CodeGen/SystemZ/stackmap-args.ll
    A llvm/test/CodeGen/X86/stackmap-args.ll

  Log Message:
  -----------
  [CodeGen] @llvm.experimental.stackmap make operands immediate (#117932)

This pull request modifies the behavior of the
`@llvm.experimental.stackmap` intrinsic to require that its two first
operands (`id` and `numShadowBytes`) be **immediate values**. This
change ensures that variables cannot be passed as two first arguments to
this intrinsic.


Related Issue: https://github.com/llvm/llvm-project/issues/115733

### Testing
- Added new test cases to ensure errors are emitted for non-immediate
operands.
- Ran the full LLVM test suite to verify no regressions were introduced.


  Commit: 71fd5288d28169cc4a6ae0bcf6c19a8130368936
      https://github.com/llvm/llvm-project/commit/71fd5288d28169cc4a6ae0bcf6c19a8130368936
  Author: David Spickett <david.spickett at linaro.org>
  Date:   2024-12-11 (Wed, 11 Dec 2024)

  Changed paths:
    M .ci/generate_test_report.py

  Log Message:
  -----------
  [ci] Include a log download link when test report is truncated (#117985)

Now "Download" will be a link to the file so people don't have to know
to open the build tab and find the download button.

This is a URL from a real build:

https://buildkite.com/organizations/llvm-project/pipelines/github-pull-requests/builds/123979/jobs/01937132-0fc3-4c95-a884-2fc0048cb9a7/download.txt
And this is how we can build it: 

https://buildkite.com/organizations/{BUILDKITE_ORGANIZATION_SLUG}/pipelines/{BUILDKITE_PIPELINE_SLUG}/builds/{BUILDKITE_BUILD_NUMBER}/jobs/{BUILDKITE_JOB_ID}/download.txt

Given these env vars that were set in that job:
BUILDKITE_ORGANIZATION_SLUG="llvm-project"
BUILDKITE_PIPELINE_SLUG="github-pull-requests"
BUILDKITE_BUILD_NUMBER="123979"
BUILDKITE_JOB_ID="01937132-0fc3-4c95-a884-2fc0048cb9a7"

In theory these will always be available but:
1. Rather safe than sorry with this script, I don't want to make a
passing
   build a failure because this script failed.
2. It would get very annoying if you had to set all these to test
   the script locally.


  Commit: 8d714db7f9617252401f85537d672c5b92c20557
      https://github.com/llvm/llvm-project/commit/8d714db7f9617252401f85537d672c5b92c20557
  Author: Christian Kandeler <christian.kandeler at qt.io>
  Date:   2024-12-11 (Wed, 11 Dec 2024)

  Changed paths:
    M clang-tools-extra/clangd/refactor/tweaks/ExtractVariable.cpp
    M clang-tools-extra/clangd/unittests/tweaks/ExtractVariableTests.cpp

  Log Message:
  -----------
  [clangd] Consider expression statements in ExtractVariable tweak (#112525)

For instance:
  int func();
  int main()
  {
    func(); // => auto placeholder = func();
  }


  Commit: 14dcf8214f9c66172d17c1cfaec6aec0030748e0
      https://github.com/llvm/llvm-project/commit/14dcf8214f9c66172d17c1cfaec6aec0030748e0
  Author: Peter Waller <peter.waller at arm.com>
  Date:   2024-12-11 (Wed, 11 Dec 2024)

  Changed paths:
    M bolt/lib/Core/BinaryEmitter.cpp
    M bolt/lib/Passes/ReorderFunctions.cpp
    A bolt/test/AArch64/pad-before-funcs.s

  Log Message:
  -----------
  [BOLT] Add --pad-funcs-before=func:n (#117924)

This complements --pad-funcs, and by using both simultaneously, enables
moving a specific function through the address space without modifying
any code
other than the targeted function (and references to it) by doing
(before+after=constant).

See also: proposed functionality to enable inserting random padding in

https://discourse.llvm.org/t/rfc-lld-feature-for-controlling-for-code-size-dependent-measurement-bias
and https://github.com/llvm/llvm-project/pull/117653


  Commit: 4dde52d76b5342fd7e0b51094580818f3934ae2f
      https://github.com/llvm/llvm-project/commit/4dde52d76b5342fd7e0b51094580818f3934ae2f
  Author: Timm Baeder <tbaeder at redhat.com>
  Date:   2024-12-11 (Wed, 11 Dec 2024)

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

  Log Message:
  -----------
  [clang][bytecode] Check for overlapping memcpy regions (#119535)


  Commit: 088e74cf73549b556cb718f5322ae40a2c84a1f8
      https://github.com/llvm/llvm-project/commit/088e74cf73549b556cb718f5322ae40a2c84a1f8
  Author: David Spickett <david.spickett at linaro.org>
  Date:   2024-12-11 (Wed, 11 Dec 2024)

  Changed paths:
    M llvm/include/llvm/BinaryFormat/ELF.h
    M llvm/lib/ObjectYAML/ELFYAML.cpp
    M llvm/test/tools/llvm-readobj/ELF/note-core.test
    M llvm/tools/llvm-readobj/ELFDumper.cpp

  Log Message:
  -----------
  [llvm][llvm-readobj] Add NT_ARM_GCS Linux core note type (#117545)

The ARM Guarded Control Stack extension (GCS) is similar to existing
shadow stack extensions for other architectures.

The core note will include which features of GCS are enabled, which have
been locked in their current state, and the stack pointer of the shadow
stack.

Note that 0x40f is NT_ARM_POE, FPMR is supported by LLDB and GCS will be
soon, POE is not at this time. So NT_ARM_POE will be added when that
work starts.

See
https://github.com/torvalds/linux/blob/master/include/uapi/linux/elf.h.


  Commit: 6c7e5827eda26990e872eb7c3f0d7866ee3c3171
      https://github.com/llvm/llvm-project/commit/6c7e5827eda26990e872eb7c3f0d7866ee3c3171
  Author: Sergei Barannikov <barannikov88 at gmail.com>
  Date:   2024-12-11 (Wed, 11 Dec 2024)

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

  Log Message:
  -----------
  [SelectionDAG] Don't call ComputeValueVTs for "demote register" (NFC) (#119268)

`ComputeValueVTs` only breaks down aggregate types. For pointer types it
is equivalent to calling `TargetLoweringBase::getPointerTy`.


  Commit: 8eb12f6775d288eece9a2bf090d2675c025bf457
      https://github.com/llvm/llvm-project/commit/8eb12f6775d288eece9a2bf090d2675c025bf457
  Author: Jay Foad <jay.foad at amd.com>
  Date:   2024-12-11 (Wed, 11 Dec 2024)

  Changed paths:
    M llvm/lib/Target/AMDGPU/AMDGPU.td
    M llvm/lib/Target/AMDGPU/SOPInstructions.td
    M llvm/test/MC/AMDGPU/gfx11_asm_sopp.s
    M llvm/test/MC/AMDGPU/gfx12_err.s
    M llvm/test/MC/AMDGPU/sopk.s
    M llvm/test/MC/Disassembler/AMDGPU/gfx11_dasm_sopp.txt

  Log Message:
  -----------
  [AMDGPU] Support s_endpgm_ordered_ps_done on GFX11 (#119230)

Support assembly/disassembly of this instruction for compatibility with
SP3, even though it has no use in GFX11. It is fully removed in GFX12.


  Commit: 3057ac1c9a76b9957a6bcdd0595788ac342dba6b
      https://github.com/llvm/llvm-project/commit/3057ac1c9a76b9957a6bcdd0595788ac342dba6b
  Author: Sergei Barannikov <barannikov88 at gmail.com>
  Date:   2024-12-11 (Wed, 11 Dec 2024)

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

  Log Message:
  -----------
  [SelectionDAG] Fix "unused variable" warnings after #119268 (NFC) (#119550)


  Commit: c69f8296f313d4b0766b322fea121c576bd4ec01
      https://github.com/llvm/llvm-project/commit/c69f8296f313d4b0766b322fea121c576bd4ec01
  Author: Phoebe Wang <phoebe.wang at intel.com>
  Date:   2024-12-11 (Wed, 11 Dec 2024)

  Changed paths:
    M llvm/lib/Target/X86/X86ISelLowering.cpp
    M llvm/test/CodeGen/X86/vec-strict-cmp-128.ll

  Log Message:
  -----------
  [X86][StrictFP] Add widening support for STRICT_FMIN/STRICT_FMAX (#119391)

Fixes: #119422


  Commit: 0100c631f85480ecdf1b35f2aedbfc0200a81174
      https://github.com/llvm/llvm-project/commit/0100c631f85480ecdf1b35f2aedbfc0200a81174
  Author: Nuno Lopes <nuno.lopes at tecnico.ulisboa.pt>
  Date:   2024-12-11 (Wed, 11 Dec 2024)

  Changed paths:
    M llvm/docs/Reference.rst
    A llvm/docs/UndefinedBehavior.rst

  Log Message:
  -----------
  [docs] Add guide about Undefined Behavior (#119220)


Thanks Antonio Frighetto, John Regehr, and Nikita Popov for reviewing this!


  Commit: 04379c98638ac3901257b5fa319f9ece828af767
      https://github.com/llvm/llvm-project/commit/04379c98638ac3901257b5fa319f9ece828af767
  Author: Abhina Sree <Abhina.Sreeskantharajan at ibm.com>
  Date:   2024-12-11 (Wed, 11 Dec 2024)

  Changed paths:
    M clang/include/clang/Basic/FileEntry.h
    M clang/lib/Basic/SourceManager.cpp
    M llvm/include/llvm/Support/AutoConvert.h
    M llvm/lib/Support/AutoConvert.cpp
    M llvm/lib/Support/MemoryBuffer.cpp

  Log Message:
  -----------
  [SystemZ][z/OS] Update autoconversion functions to improve support for UTF-8 (#98652)

This fixes the following error when reading source and header files on
z/OS: error: source file is not valid UTF-8


  Commit: 5e007afa9d4f175decc328ee89533a5fe89be99b
      https://github.com/llvm/llvm-project/commit/5e007afa9d4f175decc328ee89533a5fe89be99b
  Author: Pravin Jagtap <Pravin.Jagtap at amd.com>
  Date:   2024-12-11 (Wed, 11 Dec 2024)

  Changed paths:
    M llvm/lib/Target/AMDGPU/GCNHazardRecognizer.cpp
    M llvm/lib/Target/AMDGPU/SIInstrInfo.td
    M llvm/lib/Target/AMDGPU/Utils/AMDGPUBaseInfo.cpp
    M llvm/lib/Target/AMDGPU/Utils/AMDGPUBaseInfo.h
    M llvm/lib/Target/AMDGPU/VOP3Instructions.td
    M llvm/lib/Target/AMDGPU/VOPInstructions.td
    M llvm/test/CodeGen/AMDGPU/hazards-gfx950.mir

  Log Message:
  -----------
  [AMDGPU] Handle hazard in v_scalef32_sr_fp4_* conversions (#118589)

Presently, compiler selectivelly adds nop when opsel != 0 i.e. only when
partially writing to high bytes.
Experiments in SWDEV-499733 and SWDEV-501347 suggest that we need nop
for above cases irrespective of opsel values.

Note: We might need to add few others into the same table.


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

  Changed paths:
    M clang/include/clang/Basic/arm_sve.td
    A clang/test/CodeGen/AArch64/fp8-intrinsics/acle_sve2_fp8_cvtn.c
    M clang/test/Sema/aarch64-sve2-intrinsics/acle_sve2_fp8.c
    M llvm/include/llvm/IR/IntrinsicsAArch64.td
    M llvm/lib/Target/AArch64/AArch64SVEInstrInfo.td
    M llvm/lib/Target/AArch64/SVEInstrFormats.td
    A llvm/test/CodeGen/AArch64/fp8-sve-cvtn.ll

  Log Message:
  -----------
  [AArch64] Implement FP8 SVE Intrinsics for narrowing conversions (#118124)

This patch adds the following instrinsics:

* Half-precision and BFloat16 convert, narrow, and interleave to 8-bit
floating-point.

  // Variant is also available for: _bf16_x2
  svmfloat8_t svcvtn_mf8[_f16_x2]_fpm(svfloat16x2_t zn, fpm_t fpm);

* Single-precision convert, narrow, and interleave to 8-bit
floating-point (top and bottom).

svmfloat8_t svcvtnt_mf8[_f32_x2]_fpm(svmfloat8_t zd, svfloat32x2_t zn,
fpm_t fpm);
  svmfloat8_t svcvtnb_mf8[_f32_x2]_fpm(svfloat32x2_t zn, fpm_t fpm);


  Commit: 854ea0cf18e71608b2354a50872251c99628a6c2
      https://github.com/llvm/llvm-project/commit/854ea0cf18e71608b2354a50872251c99628a6c2
  Author: bernhardu <bernhardu at mailbox.org>
  Date:   2024-12-11 (Wed, 11 Dec 2024)

  Changed paths:
    M compiler-rt/lib/interception/interception_win.cpp
    M compiler-rt/lib/interception/tests/interception_win_test.cpp

  Log Message:
  -----------
  [win/asan] GetInstructionSize: Make `83 EC XX` a generic entry. (#119537)

This consolidates the two different lines for x86 and x86_64 into a
single line for both architectures.
And adds a test line.

CC: @zmodem


  Commit: 03019c687f00cdd9d05fc1ace329a438c3ff6364
      https://github.com/llvm/llvm-project/commit/03019c687f00cdd9d05fc1ace329a438c3ff6364
  Author: Paul Osmialowski <pawel.osmialowski at arm.com>
  Date:   2024-12-11 (Wed, 11 Dec 2024)

  Changed paths:
    M clang/lib/Driver/ToolChains/CommonArgs.cpp
    M clang/lib/Driver/ToolChains/MSVC.cpp
    M clang/test/Driver/fveclib.c
    M flang/test/Driver/fveclib.f90

  Log Message:
  -----------
  [clang][driver] When -fveclib=ArmPL flag is in use, always link against libamath (#116432)

Using `-fveclib=ArmPL` without `-lamath` likely effects in the link-time
errors.


  Commit: bc1f3eb59333d32797db234c0edf4dc270469b0e
      https://github.com/llvm/llvm-project/commit/bc1f3eb59333d32797db234c0edf4dc270469b0e
  Author: Bjorn Pettersson <bjorn.a.pettersson at ericsson.com>
  Date:   2024-12-11 (Wed, 11 Dec 2024)

  Changed paths:
    M llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
    A llvm/test/CodeGen/ARM/dagcombine-ld-op-st.ll

  Log Message:
  -----------
  [DAGCombiner] Pre-commit test case for ReduceLoadOpStoreWidth. NFC

Adding test cases related to narrowing of load-op-store sequences.
ReduceLoadOpStoreWidth isn't careful enough, so it may end up
creating load/store operations that access memory outside the region
touched by the original load/store. Using ARM as a target for the
test cases to show what happens for both little-endian and big-endian.

This patch also adds a way to override the TLI.isNarrowingProfitable
check in DAGCombiner::ReduceLoadOpStoreWidth by using the option
-combiner-reduce-load-op-store-width-force-narrowing-profitable.
Idea is that it should be simpler to for example add lit tests
verifying that the code is correct for big-endian (which otherwise
is difficult since there are no in-tree big-endian targets that
is overriding TLI.isNarrowingProfitable).

This is a pre-commit for
  https://github.com/llvm/llvm-project/pull/119203


  Commit: 22780f808a6dba83bad9390f762095f263324df9
      https://github.com/llvm/llvm-project/commit/22780f808a6dba83bad9390f762095f263324df9
  Author: Bjorn Pettersson <bjorn.a.pettersson at ericsson.com>
  Date:   2024-12-11 (Wed, 11 Dec 2024)

  Changed paths:
    M llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
    M llvm/test/CodeGen/ARM/dagcombine-ld-op-st.ll
    M llvm/test/CodeGen/X86/store_op_load_fold.ll

  Log Message:
  -----------
  [DAGCombiner] Fix to avoid writing outside original store in ReduceLoadOpStoreWidth (#119203)

DAGCombiner::ReduceLoadOpStoreWidth could replace memory accesses
with more narrow loads/store, although sometimes the new load/store
would touch memory outside the original object. That seemed wrong
and this patch is simply avoiding doing the DAG combine in such
situations.

Also simplifying the expression used to align ShAmt down to a multiple
of NewBW. Subtracting (ShAmt % NewBW) should do the same thing as the
old more complicated expression.

Intention is to follow up with a patch that make more attempts, trying
to align the memory accesses at other offsets, allowing to trigger
the transform in more situations. The current strategy for deciding
size (NewBW) and offset (ShAmt) for the narrowed operations are a bit
ad-hoc, and not really considering big endian memory order in same
way as little endian.


  Commit: b4b819ce98f1d77d29ec492f0230018fd633a117
      https://github.com/llvm/llvm-project/commit/b4b819ce98f1d77d29ec492f0230018fd633a117
  Author: Durgadoss R <durgadossr at nvidia.com>
  Date:   2024-12-11 (Wed, 11 Dec 2024)

  Changed paths:
    M mlir/include/mlir/Dialect/LLVMIR/NVVMOps.td
    M mlir/lib/Dialect/LLVMIR/IR/NVVMDialect.cpp
    A mlir/test/Target/LLVMIR/nvvm/tma_store_reduce.mlir
    M mlir/test/Target/LLVMIR/nvvmir-invalid.mlir

  Log Message:
  -----------
  [MLIR][NVVM] Add Op for TMA Store with reduction (#118853)

PR #116854 adds intrinsics for TMA Store with reduction.
This patch adds an NVVM Dialect Op for the same.

* Lit tests are added to verify the lowering to LLVM intrinsics and
invalid cases.
* The common verifier method is updated to handle im2col modes without
offsets.
   This helps Ops like TMA Store, TMA StoreReduce etc.
* The nvvmir.mlir test file is already large. So, this patch adds the
tests for this Op
   in a new file under a separate "nvvm/" directory.
   [mlir/test/Target/LLVMIR/"nvvm"/tma_store_reduce.mlir]

PTX Spec reference:

https://docs.nvidia.com/cuda/parallel-thread-execution/index.html#data-movement-and-conversion-instructions-cp-reduce-async-bulk-tensor

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


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

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

  Log Message:
  -----------
  [clang][bytecode][NFC] Use Pointer::pointToSameBlock (#119552)

block() requires the pointer to be a block pointer.


  Commit: e0c6088bcb5746795f04ab0bf53cec1cfea2480e
      https://github.com/llvm/llvm-project/commit/e0c6088bcb5746795f04ab0bf53cec1cfea2480e
  Author: Andrzej Warzyński <andrzej.warzynski at arm.com>
  Date:   2024-12-11 (Wed, 11 Dec 2024)

  Changed paths:
    M mlir/test/Dialect/Linalg/vectorize-tensor-extract.mlir

  Log Message:
  -----------
  [mlir][nfc] Update vectorize-tensor-extract.mlir (3/N) (#119121)

Tests in "vectorize-tensor-extract.mlir" are inconsistent and would
benefit from refactoring to:

* Clearly categorize tests into "contiguous load," "gather load," and
  "scalar load + broadcast" cases, reflecting the structure of
  tensor.extract vectorization.
* Unify variable naming (both MLIR and FileCheck).
* Ensure all tests exercise unmasked vectorization (masked vectorization
  is covered in "vectorize-tensor-extract-masked.mlir").
* Improve and standardize formatting.

These changes will make it easier to identify the test cases being
exercised and simplify future maintenance or refactoring.

This is patch 3/N in the series. Below is a summary of the changes in
this patch.

----------------------------------------------------------------------
Summary of patch 3/N
----------------------------------------------------------------------

* Cluster all tests for "scalar load + broadcast" together
* Unify MLIR and FileCheck variable names, e.g. `%input`, `%output` ->
  `%src`, `%init`.

Note, I haven't changed test function names to make it easier to track
changes (this PR is mostly about moving code). I will send a seperate PR
to rename the tests.

----------------------------------------------------------------------
Previous patches
----------------------------------------------------------------------

* https://github.com/llvm/llvm-project/pull/118977
* https://github.com/llvm/llvm-project/pull/119080


  Commit: ad0fbb033d26edafab51e67232c189a52afc4c52
      https://github.com/llvm/llvm-project/commit/ad0fbb033d26edafab51e67232c189a52afc4c52
  Author: Michael Maitland <michaeltmaitland at gmail.com>
  Date:   2024-12-11 (Wed, 11 Dec 2024)

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

  Log Message:
  -----------
  [RISCV][VLOPT] Add vl-opt-op-info tests for unit strided and strided stores (#119465)

I don't include getOperandInfo for the loads, since they don't take a
vector use operand, and we don't include the loads in isSupportedInstr
so we will never call getOperandInfo on the vector destination of these
instructions.

Don't add support for VSM since we don't have any mask producing
instructions in isSupportedInstr at the moment.


  Commit: 323bedd0d60a9f4c04015687326eba1e96f34b04
      https://github.com/llvm/llvm-project/commit/323bedd0d60a9f4c04015687326eba1e96f34b04
  Author: Nikolas Klauser <nikolasklauser at berlin.de>
  Date:   2024-12-11 (Wed, 11 Dec 2024)

  Changed paths:
    M libcxx/include/experimental/iterator
    M libcxx/include/experimental/memory
    M libcxx/include/experimental/propagate_const
    M libcxx/include/experimental/simd
    M libcxx/include/experimental/type_traits
    M libcxx/include/experimental/utility
    M libcxx/include/ext/hash_map
    M libcxx/include/ext/hash_set

  Log Message:
  -----------
  [libc++][C++03] Add #if 0 to the experimental/ and ext/ headers as well (#119541)

This has already been done for the most headers in
https://github.com/llvm/llvm-project/pull/119234, but I
forgot to also do it for the experimental/ and ext/ headers.

This is part of https://discourse.llvm.org/t/rfc-freezing-c-03-headers-in-libc.


  Commit: 40986feda8b1437ed475b144d5b9a208b008782a
      https://github.com/llvm/llvm-project/commit/40986feda8b1437ed475b144d5b9a208b008782a
  Author: Vitaly Buka <vitalybuka at google.com>
  Date:   2024-12-11 (Wed, 11 Dec 2024)

  Changed paths:
    M llvm/include/llvm/CodeGen/MachineInstr.h
    M llvm/include/llvm/IR/DiagnosticInfo.h
    M llvm/include/llvm/IR/LLVMContext.h
    M llvm/lib/CodeGen/AsmPrinter/AsmPrinterInlineAsm.cpp
    M llvm/lib/CodeGen/MachineInstr.cpp
    M llvm/lib/CodeGen/RegAllocBase.cpp
    M llvm/lib/CodeGen/RegAllocFast.cpp
    M llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp
    M llvm/lib/CodeGen/XRayInstrumentation.cpp
    M llvm/lib/IR/DiagnosticInfo.cpp
    M llvm/lib/IR/LLVMContext.cpp
    M llvm/lib/Target/AMDGPU/SIRegisterInfo.cpp
    M llvm/lib/Target/ARM/ARMMCInstLower.cpp
    M llvm/lib/Target/X86/X86FloatingPoint.cpp
    M llvm/test/CodeGen/AMDGPU/sgpr-spill-to-vmem-scc-clobber-unhandled.mir

  Log Message:
  -----------
  Revert "DiagnosticInfo: Clean up usage of DiagnosticInfoInlineAsm" (#119575)

Reverts llvm/llvm-project#119485

Breaks builders, details in llvm/llvm-project#119485


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

  Changed paths:
    M compiler-rt/lib/builtins/CMakeLists.txt
    A compiler-rt/lib/builtins/aarch64/sme-abi-assert.c
    R compiler-rt/lib/builtins/aarch64/sme-abi-init.c
    M compiler-rt/lib/builtins/aarch64/sme-abi.S
    M compiler-rt/lib/builtins/cpu_model/aarch64.c
    A compiler-rt/lib/builtins/cpu_model/aarch64/fmv/baremetal.inc

  Log Message:
  -----------
  [compiler-rt][AArch64] Rewrite SME routines to all use __aarch64_cpu_features. (#119414)

When #92921 added the `__arm_get_current_vg` functionality, it used the
FMV feature bits mechanism rather than the mechanism that was previously
added for SME which called `getauxval` on Linux platforms or
`__aarch64_sme_accessible` required for baremetal libraries. It is
better to always use `__aarch64_cpu_features`.

For baremetal we still need to rely on `__arm_sme_accessible` to
initialise the struct.


  Commit: 10ad2135ab33302a55fc2e8a42e6001a44aae0bc
      https://github.com/llvm/llvm-project/commit/10ad2135ab33302a55fc2e8a42e6001a44aae0bc
  Author: Nikita Popov <npopov at redhat.com>
  Date:   2024-12-11 (Wed, 11 Dec 2024)

  Changed paths:
    M llvm/Maintainers.md

  Log Message:
  -----------
  [LLVM] Move Chad Rosier to inactive maintainers

Chad has not been involved with LLVM for more than five years, so
move him to the inactive maintainers.

Unfortunately, there doesn't seem to be a clear person to take up
FastISel maintainership.


  Commit: 3787fbf0402b4e03e316c13231f8873769701250
      https://github.com/llvm/llvm-project/commit/3787fbf0402b4e03e316c13231f8873769701250
  Author: Alex Bradbury <asb at igalia.com>
  Date:   2024-12-11 (Wed, 11 Dec 2024)

  Changed paths:
    M llvm/lib/Target/RISCV/RISCVTargetMachine.cpp
    M llvm/test/CodeGen/RISCV/global-merge-minsize-smalldata-nonzero.ll
    M llvm/test/CodeGen/RISCV/global-merge-minsize-smalldata-zero.ll
    M llvm/test/CodeGen/RISCV/global-merge-minsize.ll
    M llvm/test/CodeGen/RISCV/global-merge-offset.ll
    M llvm/test/CodeGen/RISCV/global-merge.ll

  Log Message:
  -----------
  [RISCV] Enable merging of external globals by default (#117880)

This follows up #115495 by enabling merging of external globals by
default, which had been left as a next step in order to make the
previous change more incremental and so we can more easily narrow down
on any identified regressions.

Enabling merging of external globals matches what Arm does (for non
mach-o targets), though AArch64 doesn't as there were [some
concerns](https://reviews.llvm.org/D61947) it might cause regressions in
some cases.

See https://github.com/llvm/llvm-project/pull/117880 for benchmark figures and discussion.


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

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

  Log Message:
  -----------
  [VectorCombine] foldInsExtVectorToShuffle - canonicalize new shuffle(undef,x) -> shuffle(x,undef).

foldInsExtVectorToShuffle is likely to be inserting into an undef value, so make sure we've canonicalized this to the RHS in the folded shuffle to help further VectorCombine folds.

Minor tweak to help #34072


  Commit: 00e1cc4c9d002c78cf890b630343b052ebca0399
      https://github.com/llvm/llvm-project/commit/00e1cc4c9d002c78cf890b630343b052ebca0399
  Author: Mats Petersson <mats.petersson at arm.com>
  Date:   2024-12-11 (Wed, 11 Dec 2024)

  Changed paths:
    M flang/include/flang/Parser/dump-parse-tree.h
    M flang/include/flang/Parser/parse-tree.h
    M flang/lib/Parser/openmp-parsers.cpp
    M flang/lib/Parser/unparse.cpp
    M flang/lib/Semantics/check-omp-structure.cpp
    M flang/lib/Semantics/check-omp-structure.h
    A flang/test/Lower/OpenMP/Todo/atomic-compare-fail.f90
    M flang/test/Parser/OpenMP/atomic-unparse.f90
    M flang/test/Semantics/OpenMP/atomic-compare.f90
    M flang/test/Semantics/OpenMP/atomic01.f90
    M flang/test/Semantics/OpenMP/atomic05.f90
    M llvm/include/llvm/Frontend/OpenMP/OMP.td

  Log Message:
  -----------
  [flang][OpenMP]Add support for fail clause (#118683)

Support the atomic compare option of a fail(memory-order) clauses.

Additional tests introduced to check that parsing and semantics checks
for the new clause is handled.

Lowering for atomic compare is still unsupported and wil end in a TOOD
(aka "Not yet implemented"). A test for this case with the fail clause
is also present.


  Commit: 624cc7048f604ed1087f63fdbe4cbf40f1d35b69
      https://github.com/llvm/llvm-project/commit/624cc7048f604ed1087f63fdbe4cbf40f1d35b69
  Author: Kazu Hirata <kazu at google.com>
  Date:   2024-12-11 (Wed, 11 Dec 2024)

  Changed paths:
    M clang/include/clang/AST/Decl.h
    M clang/include/clang/AST/DeclBase.h
    M clang/include/clang/AST/DeclCXX.h
    M clang/include/clang/AST/DeclTemplate.h
    M clang/include/clang/AST/ExprCXX.h
    M clang/include/clang/AST/ExprConcepts.h
    M clang/include/clang/AST/ExprObjC.h
    M clang/include/clang/AST/Redeclarable.h
    M clang/include/clang/AST/TemplateBase.h

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

Note that PointerUnion::{is,get} have been soft deprecated in
PointerUnion.h:

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

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


  Commit: 8b63bfbf6dd2ad0efd221407755300942a7ca35f
      https://github.com/llvm/llvm-project/commit/8b63bfbf6dd2ad0efd221407755300942a7ca35f
  Author: qt-tatiana <tatiana.borisova at qt.io>
  Date:   2024-12-12 (Thu, 12 Dec 2024)

  Changed paths:
    M clang-tools-extra/clang-tidy/modernize/CMakeLists.txt
    M clang-tools-extra/clang-tidy/modernize/ModernizeTidyModule.cpp
    A clang-tools-extra/clang-tidy/modernize/UseIntegerSignComparisonCheck.cpp
    A clang-tools-extra/clang-tidy/modernize/UseIntegerSignComparisonCheck.h
    M clang-tools-extra/docs/ReleaseNotes.rst
    M clang-tools-extra/docs/clang-tidy/checks/list.rst
    A clang-tools-extra/docs/clang-tidy/checks/modernize/use-integer-sign-comparison.rst
    A clang-tools-extra/test/clang-tidy/checkers/modernize/use-integer-sign-comparison.cpp

  Log Message:
  -----------
  [clang-tidy] Create a check for signed and unsigned integers comparison (#113144)

- modernize-use-integer-sign-comparison replaces comparisons between
signed and unsigned integers with their safe C++20 ``std::cmp_*``
alternative, if available.


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

  Changed paths:
    M llvm/lib/Transforms/Vectorize/VectorCombine.cpp
    M llvm/test/Transforms/PhaseOrdering/X86/concat-boolmasks.ll

  Log Message:
  -----------
  [VectorCombine] Fold "(or (zext (bitcast X)), (shl (zext (bitcast Y)), C))" -> "(bitcast (concat X, Y))" MOVMSK bool mask style patterns (#119559)

Mask/Bool vectors are often bitcast to/from scalar integers, in particular when concatenating mask results, often this is due to the difficulties of working with vector of bools on C/C++. On x86 this typically involves the MOVMSK/KMOV instructions.

To concatenate bool masks, these are typically cast to scalars, which are then zero-extended, shifted and OR'd together.

This patch attempts to match these scalar concatenation patterns and convert them to vector shuffles instead. This in turn often assists with further vector combines, depending on the cost model.

Fixes #111431


  Commit: 03661fbe45e70bde2984a5fc0feab6396407a33b
      https://github.com/llvm/llvm-project/commit/03661fbe45e70bde2984a5fc0feab6396407a33b
  Author: Nuno Lopes <nuno.lopes at tecnico.ulisboa.pt>
  Date:   2024-12-11 (Wed, 11 Dec 2024)

  Changed paths:
    M llvm/docs/UndefinedBehavior.rst

  Log Message:
  -----------
  [docs][UB] add section on poison propagation through select
Examples from Nikita Popov, thank you!


  Commit: 53544fc15f08687c14becced4ecc22c2356265cd
      https://github.com/llvm/llvm-project/commit/53544fc15f08687c14becced4ecc22c2356265cd
  Author: Fangrui Song <i at maskray.me>
  Date:   2024-12-11 (Wed, 11 Dec 2024)

  Changed paths:
    M lld/ELF/InputFiles.cpp
    M lld/test/ELF/lto/internalize-exportdyn.ll

  Log Message:
  -----------
  [ELF] Respect ltoCanOmit for symbols in non-prevailing COMDAT

A linkonce_odr definition can be omitted in LTO compilation if
`canBeOmittedFromSymbolTable()` is true in all bitcode files.

Currently, we don't respect the `canBeOmittedFromSymbolTable()` bit from
symbols in a non-prevailing COMDAT, which could lead to incorrect
omission of a definition when merging a prevailing linkonce_odr and a
non-prevailing weak_odr, e.g. an implicit template instantiation and an
explicit template instantiation.

To fix #111341, allow the non-prevailing COMDAT code path to clear the
`ltoCanOmit` bit, so that `VisibleToRegularObj` could be false in
LTO.cpp. We could resolve either an Undefined or a Defined. For
simplicity, just use a Defined like the prevailing case (similar to how
we resolve symbols in ObjectFile COMDAT reviews.llvm.org/D120626).

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


  Commit: 0663a73104424a1e9e7416bddb4fe3bec7129a2b
      https://github.com/llvm/llvm-project/commit/0663a73104424a1e9e7416bddb4fe3bec7129a2b
  Author: Haopeng Liu <153236845+haopliu at users.noreply.github.com>
  Date:   2024-12-11 (Wed, 11 Dec 2024)

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

  Log Message:
  -----------
  Revert "[DSE] Enable initializes improvement" (#119590)

Reverts llvm/llvm-project#119116


  Commit: 1946d32f1fdfb2c4d5e866a5c1c5c32b8cdad5b8
      https://github.com/llvm/llvm-project/commit/1946d32f1fdfb2c4d5e866a5c1c5c32b8cdad5b8
  Author: Csanád Hajdú <csanad.hajdu at arm.com>
  Date:   2024-12-11 (Wed, 11 Dec 2024)

  Changed paths:
    M clang/lib/Driver/SanitizerArgs.cpp
    M clang/test/Driver/fsanitize.c

  Log Message:
  -----------
  [Clang] Improve error for `-fsanitize=function/kcfi -mexecute-only` incompatibility (#118816)

The current error message when using the `-fsanitize=function
-mexecute-only` flags together points to the target triple as the reason
that `-fsanitize=function` is not allowed to be used, even when the
function sanitizer is otherwise supported on the target when not using
`-mexecute-only`.

The error message is improved to give `-mexecute-only` as the reason for
disallowing `-fsanitize=function` if it was passed to the driver.

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


  Commit: 92bf1aa399a00c6902e80090074fff66fc5416a9
      https://github.com/llvm/llvm-project/commit/92bf1aa399a00c6902e80090074fff66fc5416a9
  Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
  Date:   2024-12-11 (Wed, 11 Dec 2024)

  Changed paths:
    M llvm/utils/gn/secondary/clang-tools-extra/clang-tidy/modernize/BUILD.gn

  Log Message:
  -----------
  [gn build] Port 8b63bfbf6dd2


  Commit: 9b94869942bb71daeb119e7701d806ae0003cc0d
      https://github.com/llvm/llvm-project/commit/9b94869942bb71daeb119e7701d806ae0003cc0d
  Author: Kazu Hirata <kazu at google.com>
  Date:   2024-12-11 (Wed, 11 Dec 2024)

  Changed paths:
    M llvm/unittests/ProfileData/MemProfTest.cpp

  Log Message:
  -----------
  [memprof] Use front instead of begin in a unit test (NFC) (#119501)

"front" allows us to drop a dereference.


  Commit: 9aa5848d5cb03cd024b1ebb2f8a5225917f63881
      https://github.com/llvm/llvm-project/commit/9aa5848d5cb03cd024b1ebb2f8a5225917f63881
  Author: Kazu Hirata <kazu at google.com>
  Date:   2024-12-11 (Wed, 11 Dec 2024)

  Changed paths:
    M llvm/unittests/ProfileData/MemProfTest.cpp

  Log Message:
  -----------
  [memprof] Drop curly braces on small for loops (NFC) (#119516)


  Commit: 66edefaee5e87baabe2367cf1dd82ef40cee8c86
      https://github.com/llvm/llvm-project/commit/66edefaee5e87baabe2367cf1dd82ef40cee8c86
  Author: Kazu Hirata <kazu at google.com>
  Date:   2024-12-11 (Wed, 11 Dec 2024)

  Changed paths:
    M llvm/include/llvm/ProfileData/InstrProfReader.h
    M llvm/include/llvm/ProfileData/MemProf.h
    A llvm/include/llvm/ProfileData/MemProfYAML.h
    M llvm/lib/ProfileData/MemProfReader.cpp
    M llvm/tools/llvm-profdata/llvm-profdata.cpp
    M llvm/unittests/ProfileData/MemProfTest.cpp

  Log Message:
  -----------
  [memprof] Move YAML support to MemProfYAML.h (NFC) (#119515)

The YAML support is increasing in size, so this patch moves it to a
separate file.


  Commit: 7b2d592a1971fccb8d3cf386d1bc9185b3b1198f
      https://github.com/llvm/llvm-project/commit/7b2d592a1971fccb8d3cf386d1bc9185b3b1198f
  Author: Louis Dionne <ldionne.2 at gmail.com>
  Date:   2024-12-11 (Wed, 11 Dec 2024)

  Changed paths:
    M libcxx/test/libcxx/feature_test_macro/version_header.sh.py
    M libcxx/utils/generate_feature_test_macro_components.py

  Log Message:
  -----------
  [libc++] Fix test FTM header guard

That template is actually not used to generate the version header yet,
but we can at least fix the include guards which are clearly incorrect.


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

  Changed paths:
    M libcxxabi/CMakeLists.txt
    M libunwind/CMakeLists.txt

  Log Message:
  -----------
  [libc++abi] Provide an explicit error when trying to build for MSVC (#119370)

Fixes #119322


  Commit: 3c464d23682b0f9e6f70965e8f8f3861c9ba5417
      https://github.com/llvm/llvm-project/commit/3c464d23682b0f9e6f70965e8f8f3861c9ba5417
  Author: Eliud de León <eliud.deleon.10 at gmail.com>
  Date:   2024-12-11 (Wed, 11 Dec 2024)

  Changed paths:
    A mlir/include/mlir-c/Dialect/EmitC.h
    M mlir/lib/CAPI/Dialect/CMakeLists.txt
    A mlir/lib/CAPI/Dialect/EmitC.cpp
    M mlir/python/CMakeLists.txt
    A mlir/python/mlir/dialects/EmitC.td
    A mlir/python/mlir/dialects/emitc.py
    A mlir/test/python/dialects/emitc_dialect.py

  Log Message:
  -----------
  [mlir][emitc] Add support for C-API/python binding to EmitC dialect (#119476)

Added EmitC dialect bindings.


  Commit: 62fcd451b6004cea3f1bb7783300cac76237dd81
      https://github.com/llvm/llvm-project/commit/62fcd451b6004cea3f1bb7783300cac76237dd81
  Author: Florian Hahn <flo at fhahn.com>
  Date:   2024-12-11 (Wed, 11 Dec 2024)

  Changed paths:
    M llvm/include/llvm/Transforms/Utils/ExtraPassManager.h
    M llvm/lib/Passes/PassRegistry.def

  Log Message:
  -----------
  [Passes] Manage extra passes using inner pass managers (NFC). (#119348)

As suggested post-commit for
https://github.com/llvm/llvm-project/pull/118323, adjust the extra pass
managers to no inherit from Function/LoopPassManager, but manage the
extra passes via member pass managers.

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


  Commit: 89b7aea5733da47c57ea0514fa9795574d84199d
      https://github.com/llvm/llvm-project/commit/89b7aea5733da47c57ea0514fa9795574d84199d
  Author: Vitaly Buka <vitalybuka at google.com>
  Date:   2024-12-11 (Wed, 11 Dec 2024)

  Changed paths:
    M llvm/lib/Transforms/Vectorize/VectorCombine.cpp
    M llvm/test/Transforms/PhaseOrdering/X86/concat-boolmasks.ll

  Log Message:
  -----------
  Revert "[VectorCombine] Fold "(or (zext (bitcast X)), (shl (zext (bitcast Y)), C))" -> "(bitcast (concat X, Y))" MOVMSK bool mask style patterns" (#119594)

Reverts llvm/llvm-project#119559

Introduce use after free, see llvm/llvm-project#119559


  Commit: 412ab602f13adb637e6c80e9d5f32631c00ca2bd
      https://github.com/llvm/llvm-project/commit/412ab602f13adb637e6c80e9d5f32631c00ca2bd
  Author: Michael Maitland <michaeltmaitland at gmail.com>
  Date:   2024-12-11 (Wed, 11 Dec 2024)

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

  Log Message:
  -----------
  [RISCV][VLOPT] Add vector narrowing integer right shift instructions to isSupportedInstr (#119602)


  Commit: de56df9eb5248006ac64744e962ee053e72d028c
      https://github.com/llvm/llvm-project/commit/de56df9eb5248006ac64744e962ee053e72d028c
  Author: Abhay Kanhere <abhay at kanhere.net>
  Date:   2024-12-11 (Wed, 11 Dec 2024)

  Changed paths:
    M llvm/docs/Security.rst

  Log Message:
  -----------
  [Nomination] Add additional Apple representative to the Security Group (#118571)

I'd like to nominate myself as an additional Apple representative
(vendor contact) on the llvm security group.

I met many of you at the llvm-dev meeting roundtable(s) in Santa Clara.
I closely work with @ahmedbougacha @jroelofs at Apple.

- Abhay


  Commit: e7c626cdd154b3c7b36ba0243cf75ff1cec76952
      https://github.com/llvm/llvm-project/commit/e7c626cdd154b3c7b36ba0243cf75ff1cec76952
  Author: Michael Maitland <michaeltmaitland at gmail.com>
  Date:   2024-12-11 (Wed, 11 Dec 2024)

  Changed paths:
    M llvm/test/CodeGen/RISCV/rvv/vl-opt-op-info.mir

  Log Message:
  -----------
  [RISCV][VLOPT] Fix test case as a result of changes in #119602


  Commit: 6ce6b1d3850dab3d389a8cfa1455fcbc9a5cb27c
      https://github.com/llvm/llvm-project/commit/6ce6b1d3850dab3d389a8cfa1455fcbc9a5cb27c
  Author: Michael Maitland <michaeltmaitland at gmail.com>
  Date:   2024-12-11 (Wed, 11 Dec 2024)

  Changed paths:
    M llvm/test/CodeGen/RISCV/rvv/vl-opt-op-info.mir

  Log Message:
  -----------
  [RISCV][VLOPT] Use noreg where possible in vl-opt-op-info.mir


  Commit: ccfcc9117b70828390019979219fa26ce77c3900
      https://github.com/llvm/llvm-project/commit/ccfcc9117b70828390019979219fa26ce77c3900
  Author: Philip Reames <preames at rivosinc.com>
  Date:   2024-12-11 (Wed, 11 Dec 2024)

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

  Log Message:
  -----------
  [RISCV] Add coverage for zipeven/zipodd shuffles


  Commit: db9856b516a36c259fb17af422cd80d6ebc67406
      https://github.com/llvm/llvm-project/commit/db9856b516a36c259fb17af422cd80d6ebc67406
  Author: Leandro Lupori <leandro.lupori at linaro.org>
  Date:   2024-12-11 (Wed, 11 Dec 2024)

  Changed paths:
    M flang/lib/Lower/OpenMP/DataSharingProcessor.cpp
    M flang/lib/Lower/OpenMP/DataSharingProcessor.h
    M flang/lib/Lower/OpenMP/OpenMP.cpp

  Log Message:
  -----------
  [flang][OpenMP][NFC] Turn symTable into a reference (#119435)

Convert `DataSharingProcessor::symTable` from pointer to reference.
This avoids accidental null pointer dereferences and makes it
possible to use `symTable` when delayed privatization is disabled.


  Commit: 42d598b591713c2034c3c7138299babb4565ee2c
      https://github.com/llvm/llvm-project/commit/42d598b591713c2034c3c7138299babb4565ee2c
  Author: Craig Topper <craig.topper at sifive.com>
  Date:   2024-12-11 (Wed, 11 Dec 2024)

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

  Log Message:
  -----------
  [RISCV] Rename a lambda to have plural nouns to reflect that it contains a loop. NFC

storeRegToStackSlot contains a loop that stores multiple registers
to multiple slots.


  Commit: 80f31fa48e4f3cef36d8f464f93b8ac6b2834450
      https://github.com/llvm/llvm-project/commit/80f31fa48e4f3cef36d8f464f93b8ac6b2834450
  Author: David Green <david.green at arm.com>
  Date:   2024-12-11 (Wed, 11 Dec 2024)

  Changed paths:
    M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
    M llvm/test/CodeGen/AArch64/dag-combine-setcc.ll
    M llvm/test/CodeGen/AArch64/illegal-floating-point-vector-compares.ll
    M llvm/test/CodeGen/AArch64/reduce-and.ll
    M llvm/test/CodeGen/AArch64/reduce-or.ll
    M llvm/test/CodeGen/AArch64/vecreduce-and-legalization.ll
    M llvm/test/CodeGen/AArch64/vecreduce-bool.ll
    M llvm/test/CodeGen/AArch64/vecreduce-umax-legalization.ll
    M llvm/test/CodeGen/AArch64/vector-extract-last-active.ll

  Log Message:
  -----------
  Revert "[AArch64] Improve code generation of bool vector reduce operations (#115713)"

This reverts commit 97ff96173abc0e914d5c8716ccc6356342aca043 as it conflicts
with fast-math and possible denormal flushing.


  Commit: 87d2aecc05c378ad2170c15d7dc03aeb9c08641c
      https://github.com/llvm/llvm-project/commit/87d2aecc05c378ad2170c15d7dc03aeb9c08641c
  Author: Martin Storsjö <martin at martin.st>
  Date:   2024-12-11 (Wed, 11 Dec 2024)

  Changed paths:
    M llvm/Maintainers.md

  Log Message:
  -----------
  [LLVM] Fix a typo in my username in Maintainers.md. NFC.

The typo stems from the rewrite of this file in
bf488ed6e1fbe4c494a1dc0dd199a3d03405784e.


  Commit: eac1e13addb147712aa1772df932111feb5c4de1
      https://github.com/llvm/llvm-project/commit/eac1e13addb147712aa1772df932111feb5c4de1
  Author: Jordan Rupprecht <rupprecht at google.com>
  Date:   2024-12-11 (Wed, 11 Dec 2024)

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

  Log Message:
  -----------
  [bzl][mlir][emitc] Add build targets for EmitC C-API/Python bindings (#119610)

Added by 3c464d23682b0f9e6f70965e8f8f3861c9ba5417


  Commit: a54fce89fc8aff36c50e3a0ea2f92e1ab7093cf8
      https://github.com/llvm/llvm-project/commit/a54fce89fc8aff36c50e3a0ea2f92e1ab7093cf8
  Author: Vitaly Buka <vitalybuka at google.com>
  Date:   2024-12-11 (Wed, 11 Dec 2024)

  Changed paths:
    M libcxxabi/src/private_typeinfo.cpp

  Log Message:
  -----------
  [libc++abi] Don't do pointer arithmetic on nullptr (#119520)

`nullptr + offset` is possible after `!is_virtual` branch.

Detected with check-cxxabi on configured with:
```
cmake -DLLVM_APPEND_VC_REV=OFF -GNinja \
  -DCMAKE_BUILD_TYPE=Release \
  -DLLVM_CCACHE_BUILD=ON \
  -DLLVM_USE_LINKER=lld \
  -DLLVM_ENABLE_ASSERTIONS=ON \
  -DCMAKE_C_COMPILER=clang \
  -DCMAKE_CXX_COMPILER=clang++ \
  -DLIBCXXABI_USE_LLVM_UNWINDER=OFF \
  -DCMAKE_INSTALL_PREFIX=/home/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/libcxx_install_ubsan \
  '-DLLVM_ENABLE_RUNTIMES=libcxx;libcxxabi;libunwind' \
  -DLIBCXX_TEST_PARAMS=long_tests=False \
  -DLIBCXX_INCLUDE_BENCHMARKS=OFF \
  -DLLVM_USE_SANITIZER=Undefined \
  '-DCMAKE_C_FLAGS=-fsanitize=undefined -fno-sanitize-recover=all   -fno-sanitize=vptr' \
  '-DCMAKE_CXX_FLAGS=-fsanitize=undefined -fno-sanitize-recover=all   -fno-sanitize=vptr' \
  /home/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/llvm-project/llvm/../runtimes

********************
Failed Tests (2):
  llvm-libc++abi-shared.cfg.in :: catch_null_pointer_to_object_pr64953.pass.cpp
  llvm-libc++abi-shared.cfg.in :: catch_ptr_02.pass.cpp
```


  Commit: 19bc282320ba4d2e961e287f110b9110297ae3ee
      https://github.com/llvm/llvm-project/commit/19bc282320ba4d2e961e287f110b9110297ae3ee
  Author: Nuno Lopes <nuno.lopes at tecnico.ulisboa.pt>
  Date:   2024-12-11 (Wed, 11 Dec 2024)

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

  Log Message:
  -----------
  Add PR check to suggest alternatives to using undef (#118506)

As discussed in
https://discourse.llvm.org/t/please-dont-use-undef-in-tests-part-2/83388,
this patch adds a comment to PRs that introduce new uses of undef.

It uses the the `git diff -S' command to find new uses, avoiding warning
about old uses. It further trims down with a regex to get only added (+)
lines.


  Commit: 5fae408d3a4c073ee43aec9906fa44ffe4026301
      https://github.com/llvm/llvm-project/commit/5fae408d3a4c073ee43aec9906fa44ffe4026301
  Author: Florian Hahn <flo at fhahn.com>
  Date:   2024-12-11 (Wed, 11 Dec 2024)

  Changed paths:
    M llvm/docs/Vectorizers.rst
    A llvm/docs/vplan-early-exit.dot
    A llvm/docs/vplan-early-exit.png
    M llvm/include/llvm/Transforms/Vectorize/LoopVectorizationLegality.h
    M llvm/lib/Transforms/Vectorize/LoopVectorizationLegality.cpp
    M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
    M llvm/lib/Transforms/Vectorize/VPlan.cpp
    M llvm/lib/Transforms/Vectorize/VPlan.h
    M llvm/lib/Transforms/Vectorize/VPlanRecipes.cpp
    M llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
    M llvm/lib/Transforms/Vectorize/VPlanTransforms.h
    M llvm/test/Transforms/LoopVectorize/early_exit_legality.ll
    M llvm/test/Transforms/LoopVectorize/single_early_exit.ll
    A llvm/test/Transforms/LoopVectorize/uncountable-early-exit-vplan.ll
    M llvm/test/Transforms/LoopVectorize/unsupported_early_exit.ll

  Log Message:
  -----------
  [VPlan] Dispatch to multiple exit blocks via middle blocks. (#112138)

A more lightweight variant of
https://github.com/llvm/llvm-project/pull/109193,
which dispatches to multiple exit blocks via the middle blocks.

The patch also introduces a bit of required scaffolding to enable
early-exit vectorization, including an option. At the moment, early-exit
vectorization doesn't come with legality checks, and is only used if the
option is provided and the loop has metadata forcing vectorization. This
is only intended to be used for testing during bring-up, with @david-arm
enabling auto early-exit vectorization plugging in the changes from
https://github.com/llvm/llvm-project/pull/88385.

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


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

  Changed paths:
    M llvm/include/llvm/CodeGen/TargetRegisterInfo.h
    M llvm/lib/Target/ARM/ARMBaseRegisterInfo.cpp
    M llvm/lib/Target/Hexagon/HexagonRegisterInfo.cpp
    M llvm/lib/Target/PowerPC/PPCRegisterInfo.cpp
    M llvm/lib/Target/X86/X86RegisterInfo.cpp
    M llvm/unittests/CodeGen/MachineInstrTest.cpp
    M llvm/utils/TableGen/RegisterInfoEmitter.cpp

  Log Message:
  -----------
  CodeGen: Eliminate dynamic relocations in the register superclass tables. (#119487)

This reapplies #119122 with a fix for UBSAN errors in the X86 backend
related
to incrementing a nullptr.


  Commit: 4993a30365309c5a0406fb63647be96e93fa3516
      https://github.com/llvm/llvm-project/commit/4993a30365309c5a0406fb63647be96e93fa3516
  Author: Florian Hahn <flo at fhahn.com>
  Date:   2024-12-11 (Wed, 11 Dec 2024)

  Changed paths:
    M llvm/test/Transforms/LoopVectorize/uncountable-early-exit-vplan.ll

  Log Message:
  -----------
  [LV] Add missing REQUIRES: asserts to test using -debug.

Fixup for test added in 5fae408d3a4c07.


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

  Changed paths:
    M llvm/include/llvm/CodeGen/SDNodeProperties.td
    M llvm/include/llvm/Target/TargetSelectionDAG.td
    M llvm/lib/Target/AArch64/SMEInstrFormats.td
    M llvm/lib/Target/AArch64/SVEInstrFormats.td
    M llvm/lib/Target/AMDGPU/BUFInstructions.td
    M llvm/lib/Target/AMDGPU/FLATInstructions.td
    M llvm/lib/Target/ARM/ARMInstrInfo.td
    M llvm/lib/Target/ARM/ARMInstrMVE.td
    M llvm/lib/Target/ARM/ARMInstrThumb.td
    M llvm/lib/Target/ARM/ARMInstrThumb2.td
    M llvm/lib/Target/AVR/AVRInstrInfo.td
    M llvm/lib/Target/M68k/M68kInstrInfo.td
    M llvm/lib/Target/NVPTX/NVPTXInstrInfo.td
    M llvm/lib/Target/PowerPC/PPCInstrInfo.td
    M llvm/lib/Target/X86/X86InstrFragments.td
    M llvm/utils/TableGen/Basic/SDNodeProperties.h
    M llvm/utils/TableGen/Common/CodeGenTarget.cpp
    M llvm/utils/TableGen/Common/CodeGenTarget.h
    M llvm/utils/TableGen/DAGISelMatcherEmitter.cpp

  Log Message:
  -----------
  [TableGen] Replace WantRoot/WantParent SDNode properties with flags (#119599)

These properties are only valid on ComplexPatterns. Having them as flags
is more convenient because one can now use "let = ... in" syntax to set
these flags on several patterns at a time. This is also less error-prone
as it makes it impossible to specify these properties on records derived
from SDPatternOperator.

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


  Commit: d5b7b970347fd4aa5591bfee38be4d8e7a53b134
      https://github.com/llvm/llvm-project/commit/d5b7b970347fd4aa5591bfee38be4d8e7a53b134
  Author: Shourya Goel <shouryagoel10000 at gmail.com>
  Date:   2024-12-12 (Thu, 12 Dec 2024)

  Changed paths:
    M libc/config/linux/aarch64/headers.txt
    M libc/config/linux/arm/headers.txt
    M libc/config/linux/riscv/headers.txt
    M libc/config/linux/x86_64/headers.txt
    A libc/hdrgen/yaml/complex.yaml

  Log Message:
  -----------
  [libc][complex] Add complex.yaml in hdrgen. (#119609)


  Commit: 7dbd6cd2946ec3a9b4ad2dfd7ead177baac15bd7
      https://github.com/llvm/llvm-project/commit/7dbd6cd2946ec3a9b4ad2dfd7ead177baac15bd7
  Author: Shilei Tian <i at tianshilei.me>
  Date:   2024-12-11 (Wed, 11 Dec 2024)

  Changed paths:
    M llvm/lib/Target/AMDGPU/AMDGPUAttributor.cpp
    M llvm/lib/Target/AMDGPU/Utils/AMDGPUBaseInfo.cpp
    M llvm/lib/Target/AMDGPU/Utils/AMDGPUBaseInfo.h
    M llvm/test/CodeGen/AMDGPU/addrspacecast-constantexpr.ll
    M llvm/test/CodeGen/AMDGPU/amdgpu-attributor-no-agpr.ll
    M llvm/test/CodeGen/AMDGPU/annotate-existing-abi-attributes.ll
    M llvm/test/CodeGen/AMDGPU/annotate-kernel-features-hsa-call.ll
    M llvm/test/CodeGen/AMDGPU/annotate-kernel-features-hsa.ll
    M llvm/test/CodeGen/AMDGPU/attr-amdgpu-max-num-workgroups-propagate.ll
    M llvm/test/CodeGen/AMDGPU/attributor-flatscratchinit.ll
    M llvm/test/CodeGen/AMDGPU/attributor-loop-issue-58639.ll
    M llvm/test/CodeGen/AMDGPU/direct-indirect-call.ll
    M llvm/test/CodeGen/AMDGPU/duplicate-attribute-indirect.ll
    M llvm/test/CodeGen/AMDGPU/implicitarg-offset-attributes.ll
    M llvm/test/CodeGen/AMDGPU/indirect-call-set-from-other-function.ll
    M llvm/test/CodeGen/AMDGPU/inline-attr.ll
    M llvm/test/CodeGen/AMDGPU/propagate-flat-work-group-size.ll
    M llvm/test/CodeGen/AMDGPU/propagate-waves-per-eu.ll
    M llvm/test/CodeGen/AMDGPU/recursive_global_initializer.ll
    M llvm/test/CodeGen/AMDGPU/remove-no-kernel-id-attribute.ll
    M llvm/test/CodeGen/AMDGPU/simple-indirect-call-2.ll
    M llvm/test/CodeGen/AMDGPU/simple-indirect-call.ll
    M llvm/test/CodeGen/AMDGPU/simplify-libcalls.ll
    M llvm/test/CodeGen/AMDGPU/uniform-work-group-attribute-missing.ll
    M llvm/test/CodeGen/AMDGPU/uniform-work-group-multistep.ll
    M llvm/test/CodeGen/AMDGPU/uniform-work-group-nested-function-calls.ll
    M llvm/test/CodeGen/AMDGPU/uniform-work-group-prevent-attribute-propagation.ll
    M llvm/test/CodeGen/AMDGPU/uniform-work-group-propagate-attribute.ll
    M llvm/test/CodeGen/AMDGPU/uniform-work-group-recursion-test.ll
    M llvm/test/CodeGen/AMDGPU/uniform-work-group-test.ll

  Log Message:
  -----------
  [AMDGPU][Attributor] Make `AAAMDFlatWorkGroupSize` honor existing attribute (#114357)

If a function has `amdgpu-flat-work-group-size`, honor it in `initialize` by
taking its value directly; otherwise, it uses the default range as a starting
point. We will no longer manipulate the known range, which can cause issues
because the known range is a "throttle" to the assumed range such that the
assumed range can't get widened properly in `updateImpl` if the known range is
not set properly for whatever reasons. Another benefit of not touching the known
range is, if we indicate pessimistic state, it also invalidates the AA such that
`manifest` will not be called. Since we honor the attribute, we don't want and
will not add any half-baked attribute added to a function.


  Commit: f4037277bb0220cb1dece91d21d4fdc2995eae7a
      https://github.com/llvm/llvm-project/commit/f4037277bb0220cb1dece91d21d4fdc2995eae7a
  Author: Shilei Tian <i at tianshilei.me>
  Date:   2024-12-11 (Wed, 11 Dec 2024)

  Changed paths:
    M llvm/lib/Target/AMDGPU/AMDGPUAttributor.cpp
    M llvm/test/CodeGen/AMDGPU/annotate-kernel-features-hsa-call.ll
    M llvm/test/CodeGen/AMDGPU/attr-amdgpu-max-num-workgroups-propagate.ll
    M llvm/test/CodeGen/AMDGPU/attributor-loop-issue-58639.ll
    M llvm/test/CodeGen/AMDGPU/direct-indirect-call.ll
    M llvm/test/CodeGen/AMDGPU/propagate-waves-per-eu.ll
    M llvm/test/CodeGen/AMDGPU/remove-no-kernel-id-attribute.ll
    M llvm/test/CodeGen/AMDGPU/uniform-work-group-multistep.ll
    M llvm/test/CodeGen/AMDGPU/uniform-work-group-recursion-test.ll

  Log Message:
  -----------
  [AMDGPU][Attributor] Make `AAAMDWavesPerEU` honor existing attribute (#114438)


  Commit: 4b8bf6aac890a1ab35ab3d807b49ab02181e49d9
      https://github.com/llvm/llvm-project/commit/4b8bf6aac890a1ab35ab3d807b49ab02181e49d9
  Author: Louis Dionne <ldionne.2 at gmail.com>
  Date:   2024-12-11 (Wed, 11 Dec 2024)

  Changed paths:
    M libcxx/include/flat_map
    M libcxx/test/libcxx/transitive_includes/cxx03.csv
    M libcxx/test/libcxx/transitive_includes/cxx11.csv
    M libcxx/test/libcxx/transitive_includes/cxx14.csv
    M libcxx/test/libcxx/transitive_includes/cxx17.csv
    M libcxx/test/libcxx/transitive_includes/cxx20.csv

  Log Message:
  -----------
  [libc++] Properly guard flat_map includes based on C++ version (#119227)

That's what we (try to) do consistently for all other umbrella headers.

As a drive-by, remove the <__assert> header which is not mandated
anymore.


  Commit: fbe3919e5477b64e30cf435618ab643700d0952a
      https://github.com/llvm/llvm-project/commit/fbe3919e5477b64e30cf435618ab643700d0952a
  Author: Michal Paszkowski <michal at paszkowski.org>
  Date:   2024-12-11 (Wed, 11 Dec 2024)

  Changed paths:
    M llvm/test/CodeGen/SPIRV/constant/local-arbitrary-width-integers-constants-type-promotion.ll
    M llvm/test/CodeGen/SPIRV/extensions/SPV_INTEL_function_pointers/fp-simple-hierarchy.ll
    M llvm/test/CodeGen/SPIRV/extensions/SPV_INTEL_function_pointers/fp_const.ll
    M llvm/test/CodeGen/SPIRV/extensions/SPV_INTEL_function_pointers/fun-ptr-addrcast.ll
    M llvm/test/CodeGen/SPIRV/extensions/SPV_KHR_cooperative_matrix/cooperative_matrix.ll
    M llvm/test/CodeGen/SPIRV/instructions/vector-shuffle.ll
    M llvm/test/CodeGen/SPIRV/spec_const_decoration.ll
    M llvm/test/CodeGen/SPIRV/transcoding/OpBitReverse-subbyte.ll
    M llvm/test/CodeGen/SPIRV/transcoding/OpBitReverse_i2.ll
    M llvm/test/CodeGen/SPIRV/transcoding/OpGroupAsyncCopy.ll
    M llvm/test/CodeGen/SPIRV/transcoding/OpVectorExtractDynamic.ll
    M llvm/test/CodeGen/SPIRV/trunc-nonstd-bitwidth.ll

  Log Message:
  -----------
  [SPIR-V] Mark XFAIL tests which fail with LLVM_ENABLE_EXPENSIVE_CHECKS (#119497)

The test cases marked with XFAIL by this commit are not yet supported by
the SPIR-V backend with LLVM_ENABLE_EXPENSIVE_CHECKS enabled.


  Commit: 6f013dbced67948119fe9ca71336f0284975ba4f
      https://github.com/llvm/llvm-project/commit/6f013dbced67948119fe9ca71336f0284975ba4f
  Author: Alexandros Lamprineas <alexandros.lamprineas at arm.com>
  Date:   2024-12-11 (Wed, 11 Dec 2024)

  Changed paths:
    M clang/test/CodeGen/AArch64/cpu-supports.c
    M clang/test/CodeGen/AArch64/fmv-dependencies.c
    M clang/test/CodeGen/AArch64/mixed-target-attributes.c
    M clang/test/CodeGen/attr-target-clones-aarch64.c
    M clang/test/CodeGen/attr-target-version.c
    M clang/test/CodeGenCXX/attr-target-clones-aarch64.cpp
    M clang/test/CodeGenCXX/attr-target-version.cpp
    M clang/test/CodeGenCXX/fmv-namespace.cpp
    M llvm/include/llvm/TargetParser/AArch64TargetParser.h
    M llvm/lib/Target/AArch64/AArch64Features.td
    M llvm/lib/TargetParser/AArch64TargetParser.cpp
    M llvm/test/CodeGen/AArch64/sve-streaming-mode-cvt-fp-int-fp.ll
    M llvm/test/MC/AArch64/SME/streaming-mode-neon-negative.s
    M llvm/test/MC/AArch64/SME/streaming-sve-feature.s
    M llvm/test/MC/AArch64/armv8a-fpmul.s

  Log Message:
  -----------
  [AArch64][FMV] Add missing feature dependencies and detect at runtime. (#119231)

i8mm -> simd
fp16fml -> simd
frintts -> fp
bf16 -> simd
sme -> fp16

Approved in ACLE as https://github.com/ARM-software/acle/pull/368


  Commit: 2470cfab63ac14df02dc6df686fcae7b1a4eb84f
      https://github.com/llvm/llvm-project/commit/2470cfab63ac14df02dc6df686fcae7b1a4eb84f
  Author: Adrian Prantl <aprantl at apple.com>
  Date:   2024-12-11 (Wed, 11 Dec 2024)

  Changed paths:
    M lldb/source/DataFormatters/FormatterBytecode.cpp
    M lldb/unittests/DataFormatter/FormatterBytecodeTest.cpp

  Log Message:
  -----------
  [lldb] Disallow left shifts of negative values in the interpreter (#119620)

This trips UBSAN and probably isn't partiuclarly useful either.


  Commit: ee090cb83b523e4c8c888ded8ca1a70334ba65fa
      https://github.com/llvm/llvm-project/commit/ee090cb83b523e4c8c888ded8ca1a70334ba65fa
  Author: erichkeane <ekeane at nvidia.com>
  Date:   2024-12-11 (Wed, 11 Dec 2024)

  Changed paths:
    M clang/lib/Parse/ParseOpenACC.cpp
    M clang/test/ParserOpenACC/parse-clauses.c
    M clang/test/ParserOpenACC/parse-clauses.cpp

  Log Message:
  -----------
  [OpenACC] Treat 'delete' as a valid clause during parsing in C++ mode

This didn't end up being properly tested, but 'delete' as a keyword
causes us to not properly recognize it as a clause kind.  This patch
correctly adds the work to make sure it is recognized correctly.


  Commit: 4b825c7417f72ee88ee3e4316d0c01ed463f1241
      https://github.com/llvm/llvm-project/commit/4b825c7417f72ee88ee3e4316d0c01ed463f1241
  Author: Alexander Yermolovich <43973793+ayermolo at users.noreply.github.com>
  Date:   2024-12-11 (Wed, 11 Dec 2024)

  Changed paths:
    M bolt/include/bolt/Core/DIEBuilder.h
    M bolt/include/bolt/Core/DebugNames.h
    M bolt/lib/Core/DIEBuilder.cpp
    M bolt/lib/Core/DebugNames.cpp
    A bolt/test/X86/dwarf5-debug-names-abstract-origin-linkage-name-only.s
    A bolt/test/X86/dwarf5-debug-names-abstract-origin-specification.s

  Log Message:
  -----------
  [BOLT][DWARF] Add support for transitive DW_AT_name/DW_AT_linkage_name resolution for DW_AT_name/DW_AT_linkage_name. (#119493)

This fix handles a case where a DIE that does not have
DW_AT_name/DW_AT_linkage_name, but has a reference to another DIE using
DW_AT_abstract_origin/DW_AT_specification. It also fixes a bug where
there are cross CU references for those attributes. Previously it would
use a DWARF Unit of a DIE which was being processed The
warf5-debug-names-cross-cu.s test just happened to work because how it
was constructed where string section was shared by both DWARF Units.

To resolve DW_AT_name/DW_AT_linkage_name this patch iterates over
references until it either reaches the final DIE or finds both of those
names.


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

  Changed paths:
    M clang-tools-extra/clang-tidy/bugprone/OptionalValueConversionCheck.cpp
    M clang-tools-extra/docs/ReleaseNotes.rst
    A clang-tools-extra/test/clang-tidy/checkers/bugprone/optional-value-conversion-construct-from-std.cpp

  Log Message:
  -----------
  [clang-tidy]detecting conversion directly by `make_unique` and `make_shared` in bugprone-optional-value-conversion (#119371)

Inspired by #110964


  Commit: 5eef9ba7842522f360d7891c642a39b92a6de33a
      https://github.com/llvm/llvm-project/commit/5eef9ba7842522f360d7891c642a39b92a6de33a
  Author: Slava Zakharin <szakharin at nvidia.com>
  Date:   2024-12-11 (Wed, 11 Dec 2024)

  Changed paths:
    M flang/lib/Optimizer/HLFIR/Transforms/SimplifyHLFIRIntrinsics.cpp
    A flang/test/HLFIR/simplify-hlfir-intrinsics-cshift.fir

  Log Message:
  -----------
  [flang] Inline hlfir.cshift as hlfir.elemental. (#119480)


  Commit: 36c7d147fcd01492cf9491cb0cddd3702b8fd31c
      https://github.com/llvm/llvm-project/commit/36c7d147fcd01492cf9491cb0cddd3702b8fd31c
  Author: Caslyn Tonelli <6718161+Caslyn at users.noreply.github.com>
  Date:   2024-12-11 (Wed, 11 Dec 2024)

  Changed paths:
    M libc/test/src/strings/CMakeLists.txt
    M libc/test/src/strings/index_test.cpp
    M libc/test/src/strings/rindex_test.cpp

  Log Message:
  -----------
  [libc][test] Adjust header paths in tests (#119623)

Since `index_test.cpp` and `rindex_test.cpp` now reside in /strings,
adjust some header paths accordingly.

Link: #118899


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

  Changed paths:
    M flang/include/flang/Common/Fortran-consts.h

  Log Message:
  -----------
  [flang][rt][device] Use enum-set.h as Fortran.h (#119611)


  Commit: dd647e3e608ed0b2bac7c588d5859b80ef4a5976
      https://github.com/llvm/llvm-project/commit/dd647e3e608ed0b2bac7c588d5859b80ef4a5976
  Author: Chandler Carruth <chandlerc at gmail.com>
  Date:   2024-12-11 (Wed, 11 Dec 2024)

  Changed paths:
    M clang-tools-extra/clangd/CompileCommands.cpp
    M clang/lib/Driver/DriverOptions.cpp
    M clang/lib/Frontend/CompilerInvocation.cpp
    M clang/tools/clang-installapi/Options.cpp
    M clang/tools/clang-linker-wrapper/ClangLinkerWrapper.cpp
    M clang/tools/clang-nvlink-wrapper/ClangNVLinkWrapper.cpp
    M clang/tools/clang-scan-deps/ClangScanDeps.cpp
    M clang/tools/clang-sycl-linker/ClangSYCLLinker.cpp
    M lld/COFF/DriverUtils.cpp
    M lld/ELF/DriverUtils.cpp
    M lld/MachO/DriverUtils.cpp
    M lld/MinGW/Driver.cpp
    M lld/wasm/Driver.cpp
    M lldb/source/Plugins/Platform/MacOSX/PlatformDarwin.cpp
    M lldb/tools/driver/Driver.cpp
    M lldb/tools/lldb-dap/lldb-dap.cpp
    M lldb/tools/lldb-server/lldb-gdbserver.cpp
    M llvm/include/llvm/Option/OptTable.h
    M llvm/include/llvm/Option/Option.h
    M llvm/lib/ExecutionEngine/JITLink/COFFDirectiveParser.cpp
    M llvm/lib/Option/OptTable.cpp
    M llvm/lib/Option/Option.cpp
    M llvm/lib/ToolDrivers/llvm-dlltool/DlltoolDriver.cpp
    M llvm/lib/ToolDrivers/llvm-lib/LibDriver.cpp
    M llvm/tools/dsymutil/dsymutil.cpp
    M llvm/tools/llvm-cgdata/llvm-cgdata.cpp
    M llvm/tools/llvm-cvtres/llvm-cvtres.cpp
    M llvm/tools/llvm-cxxfilt/llvm-cxxfilt.cpp
    M llvm/tools/llvm-debuginfod-find/llvm-debuginfod-find.cpp
    M llvm/tools/llvm-debuginfod/llvm-debuginfod.cpp
    M llvm/tools/llvm-dwarfutil/llvm-dwarfutil.cpp
    M llvm/tools/llvm-dwp/llvm-dwp.cpp
    M llvm/tools/llvm-gsymutil/llvm-gsymutil.cpp
    M llvm/tools/llvm-ifs/llvm-ifs.cpp
    M llvm/tools/llvm-libtool-darwin/llvm-libtool-darwin.cpp
    M llvm/tools/llvm-lipo/llvm-lipo.cpp
    M llvm/tools/llvm-ml/llvm-ml.cpp
    M llvm/tools/llvm-mt/llvm-mt.cpp
    M llvm/tools/llvm-nm/llvm-nm.cpp
    M llvm/tools/llvm-objcopy/ObjcopyOptions.cpp
    M llvm/tools/llvm-objdump/llvm-objdump.cpp
    M llvm/tools/llvm-rc/llvm-rc.cpp
    M llvm/tools/llvm-readobj/llvm-readobj.cpp
    M llvm/tools/llvm-readtapi/llvm-readtapi.cpp
    M llvm/tools/llvm-size/llvm-size.cpp
    M llvm/tools/llvm-strings/llvm-strings.cpp
    M llvm/tools/llvm-symbolizer/llvm-symbolizer.cpp
    M llvm/tools/llvm-tli-checker/llvm-tli-checker.cpp
    M llvm/tools/sancov/sancov.cpp
    M llvm/unittests/Option/OptionMarshallingTest.cpp
    M llvm/unittests/Option/OptionParsingTest.cpp
    M llvm/utils/TableGen/OptionParserEmitter.cpp

  Log Message:
  -----------
  Rework the `Option` library to reduce dynamic relocations (#119198)

Apologies for the large change, I looked for ways to break this up and
all of the ones I saw added real complexity. This change focuses on the
option's prefixed names and the array of prefixes. These are present in
every option and the dominant source of dynamic relocations for PIE or
PIC users of LLVM and Clang tooling. In some cases, 100s or 1000s of
them for the Clang driver which has a huge number of options.

This PR addresses this by building a string table and a prefixes table
that can be referenced with indices rather than pointers that require
dynamic relocations. This removes almost 7k dynmaic relocations from the
`clang` binary, roughly 8% of the remaining dynmaic relocations outside
of vtables. For busy-boxing use cases where many different option tables
are linked into the same binary, the savings add up a bit more.

The string table is a straightforward mechanism, but the prefixes
required some subtlety. They are encoded in a Pascal-string fashion with
a size followed by a sequence of offsets. This works relatively well for
the small realistic prefixes arrays in use.

Lots of code has to change in order to land this though: both all the
option library code has to be updated to use the string table and
prefixes table, and all the users of the options library have to be
updated to correctly instantiate the objects.

Some follow-up patches in the works to provide an abstraction for this
style of code, and to start using the same technique for some of the
other strings here now that the infrastructure is in place.


  Commit: ea632e1b34e1878b977f8adc406a89e91aa98b7e
      https://github.com/llvm/llvm-project/commit/ea632e1b34e1878b977f8adc406a89e91aa98b7e
  Author: Matt Arsenault <Matthew.Arsenault at amd.com>
  Date:   2024-12-11 (Wed, 11 Dec 2024)

  Changed paths:
    M llvm/include/llvm/CodeGen/MachineInstr.h
    M llvm/include/llvm/IR/DiagnosticInfo.h
    M llvm/include/llvm/IR/LLVMContext.h
    M llvm/lib/CodeGen/AsmPrinter/AsmPrinterInlineAsm.cpp
    M llvm/lib/CodeGen/MachineInstr.cpp
    M llvm/lib/CodeGen/RegAllocBase.cpp
    M llvm/lib/CodeGen/RegAllocFast.cpp
    M llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp
    M llvm/lib/CodeGen/XRayInstrumentation.cpp
    M llvm/lib/IR/DiagnosticInfo.cpp
    M llvm/lib/IR/LLVMContext.cpp
    M llvm/lib/Target/AMDGPU/SIRegisterInfo.cpp
    M llvm/lib/Target/ARM/ARMMCInstLower.cpp
    M llvm/lib/Target/X86/X86FloatingPoint.cpp
    M llvm/test/CodeGen/AMDGPU/sgpr-spill-to-vmem-scc-clobber-unhandled.mir

  Log Message:
  -----------
  Reapply "DiagnosticInfo: Clean up usage of DiagnosticInfoInlineAsm" (#119575) (#119634)

This reverts commit 40986feda8b1437ed475b144d5b9a208b008782a.

Reapply with fix to prevent temporary Twine from going out of scope.


  Commit: be4a18387c61130de1cd2147ceaebdfe278ea370
      https://github.com/llvm/llvm-project/commit/be4a18387c61130de1cd2147ceaebdfe278ea370
  Author: Andrei Safronov <andrei.safronov at espressif.com>
  Date:   2024-12-12 (Thu, 12 Dec 2024)

  Changed paths:
    M llvm/lib/Target/Xtensa/XtensaISelLowering.cpp
    M llvm/lib/Target/Xtensa/XtensaISelLowering.h
    M llvm/lib/Target/Xtensa/XtensaMachineFunctionInfo.h
    A llvm/test/CodeGen/Xtensa/vararg.ll

  Log Message:
  -----------
  [Xtensa] Implement vararg support. (#117126)


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

  Changed paths:
    M flang/lib/Optimizer/Transforms/CUFDeviceGlobal.cpp
    M flang/test/Fir/CUDA/cuda-implicit-device-global.f90

  Log Message:
  -----------
  [flang][cuda] Support builtin global in device global pass (#119626)


  Commit: 44c05a627ffb4bdd63b477d2d74b2b6db2f87c74
      https://github.com/llvm/llvm-project/commit/44c05a627ffb4bdd63b477d2d74b2b6db2f87c74
  Author: knickish <knickish at gmail.com>
  Date:   2024-12-11 (Wed, 11 Dec 2024)

  Changed paths:
    M llvm/lib/Target/M68k/M68kInstrControl.td
    M llvm/lib/Target/M68k/MCTargetDesc/M68kAsmBackend.cpp
    M llvm/test/MC/M68k/Control/bsr.s
    A llvm/test/MC/M68k/Control/bsr32.s
    A llvm/test/MC/M68k/Relaxations/PIC/branch.s
    A llvm/test/MC/M68k/Relaxations/PIC/branch32.s
    A llvm/test/MC/M68k/Relaxations/PIC/bsr.s
    A llvm/test/MC/M68k/Relaxations/branch32.s
    A llvm/test/MC/M68k/Relocations/PIC/data-abs.s
    A llvm/test/MC/M68k/Relocations/PIC/data-gotoff.s
    A llvm/test/MC/M68k/Relocations/PIC/data-gotpcrel.s
    A llvm/test/MC/M68k/Relocations/PIC/data-pc-rel.s
    A llvm/test/MC/M68k/Relocations/PIC/text-plt.s
    M llvm/test/MC/M68k/Relocations/text-plt.s

  Log Message:
  -----------
  [M68k] add 32 bit branch instrs and relaxations (#117371)

The `Bcc` and `BRA` 32-bit variants were all either not present or not
used, and the `BSR32` instruction was incorrectly being used on <
`M68020` cpu types. This PR adds missing 32 bit branch instructions
(with the `AtLeastM68020` predicate) and updates `M68kAsmBackend` to
allow relaxation to these instructions when an `M68020` or greater is
targeted


  Commit: a6742094324d7166b451c749acf81d27a504c47b
      https://github.com/llvm/llvm-project/commit/a6742094324d7166b451c749acf81d27a504c47b
  Author: Elvis Wang <elvis.wang at sifive.com>
  Date:   2024-12-12 (Thu, 12 Dec 2024)

  Changed paths:
    M llvm/lib/Target/RISCV/RISCVTargetTransformInfo.cpp
    M llvm/test/Analysis/CostModel/RISCV/rvv-extractelement.ll
    M llvm/test/Analysis/CostModel/RISCV/rvv-insertelement.ll

  Log Message:
  -----------
  [RISCV][TTI] Model the cost of insert/extractelt when the vector split into multiple register group and idx exceed single group. (#118401)

This patch implements the cost when the size of the vector need to split
into multiple groups and the index exceed single vector group.

For extract element, we need to store split vectors to stack and load
the target element.
For insert element, we need to store split vectors to stack and store
the target element and load vectors back.

After this patch, the cost of insert/extract element will close to the
generated assembly.


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

  Changed paths:
    M clang/include/clang/AST/Attr.h
    M clang/include/module.modulemap
    M clang/utils/TableGen/ClangAttrEmitter.cpp
    M llvm/include/llvm/DebugInfo/DWARF/DWARFTypePrinter.h
    M llvm/include/llvm/IR/NVVMIntrinsicFlags.h
    M llvm/include/llvm/SandboxIR/Type.h
    M llvm/include/llvm/Support/Memory.h
    M llvm/include/llvm/TargetParser/AArch64TargetParser.h
    M llvm/include/module.modulemap
    M llvm/lib/SandboxIR/Type.cpp

  Log Message:
  -----------
  [clang][Modules] Fixing Build Breaks When -DLLVM_ENABLE_MODULES=ON (#119473)

A few recent changes are causing build breaks when
`-DLLVM_ENABLE_MODULES=ON` (such as
834dfd23155351c9885eddf7b9664f7697326946 and
7dfdca1961aadc75ca397818bfb9bd32f1879248).

This PR makes the required updates so that clang/llvm builds when
`-DLLVM_ENABLE_MODULES=ON`.

rdar://140803058


  Commit: 9f1e9f682d0a85ea013ccbce6a3ec4ac1be83356
      https://github.com/llvm/llvm-project/commit/9f1e9f682d0a85ea013ccbce6a3ec4ac1be83356
  Author: jijjijj <realjijjijj at gmail.com>
  Date:   2024-12-12 (Thu, 12 Dec 2024)

  Changed paths:
    M clang/docs/ReleaseNotes.rst
    M clang/lib/Sema/SemaDeclCXX.cpp
    A clang/test/Modules/initializer-list-recognition-through-export-and-linkage-issue-118218.cpp

  Log Message:
  -----------
  [C++20][modules] Fix std::initializer_list recognition if it's exported out of a module (#118537)

If the std::initializer_list is exported out of module, its
`DeclContext` is not a namespace as `Sema::isStdInitializerList`
expects, but an `Decl::Kind::Export` and only its parent is a namespace.
So this commit makes `Sema::isStdInitializerList` account for that.

I'm really new to clang so I'm not 100% sure that was the issue, it
seems so and it fixes compilation. Also I probably need to add tests but
I'd like someone to approve the idea first.

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


  Commit: 9040dd469d61f59235ba5d2ef2c05e661159f877
      https://github.com/llvm/llvm-project/commit/9040dd469d61f59235ba5d2ef2c05e661159f877
  Author: Kazu Hirata <kazu at google.com>
  Date:   2024-12-11 (Wed, 11 Dec 2024)

  Changed paths:
    M llvm/include/llvm/ProfileData/MemProfYAML.h
    M llvm/test/tools/llvm-profdata/memprof-yaml.test
    M llvm/tools/llvm-profdata/llvm-profdata.cpp
    M llvm/unittests/ProfileData/MemProfTest.cpp

  Log Message:
  -----------
  [memprof] Improve the way we express Frames in YAML (#119629)

This patch does two things:

- During deserialization, we accept a function name for Frame as an
  alternative to the usual GUID expressed as a hexadecimal number.

- During serialization, we print a GUID of Frame as a 16-digit
  hexadecimal number prefixed with 0x in the usual way.  (Without this
  patch, we print a decimal number, which is not customary.)

The patch uses a machinery called "normalization" in YAML I/O, which
lets us serialize and deserialize into an alternative data structure.
For our use case, we have an alternative Frame data structure, which
is identical to "struct Frame" except that Function is of type
GUIDHex64 instead of GlobalValue::GUID.  This alternative type
supports the two bullet points above without modifying "struct Frame"
at all.


  Commit: ae5836f6b6a8544e6226f5c1ba6b1beacfe01aef
      https://github.com/llvm/llvm-project/commit/ae5836f6b6a8544e6226f5c1ba6b1beacfe01aef
  Author: wanglei <wanglei at loongson.cn>
  Date:   2024-12-12 (Thu, 12 Dec 2024)

  Changed paths:
    M lldb/source/Plugins/Process/Utility/CMakeLists.txt
    A lldb/source/Plugins/Process/Utility/NativeRegisterContextDBReg.cpp
    A lldb/source/Plugins/Process/Utility/NativeRegisterContextDBReg.h
    M lldb/source/Plugins/Process/Utility/NativeRegisterContextDBReg_arm64.cpp
    M lldb/source/Plugins/Process/Utility/NativeRegisterContextDBReg_arm64.h

  Log Message:
  -----------
  [LLDB][Process/Utility] Introduce NativeRegisterContextDBReg class

Since the setup of debug registers for AArch64 and LoongArch is similar,
we extracted the shared logic from Class:
`NativeRegisterContextDBReg_arm64`
into a new Class:
`NativeRegisterContextDBReg`.
This will simplify the subsequent implementation of hardware breakpoints
and watchpoints on LoongArch.

Reviewed By: DavidSpickett

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


  Commit: 80e7f5015659d2942d436b3f2c5ffe3a5e39dcf5
      https://github.com/llvm/llvm-project/commit/80e7f5015659d2942d436b3f2c5ffe3a5e39dcf5
  Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
  Date:   2024-12-12 (Thu, 12 Dec 2024)

  Changed paths:
    M llvm/utils/gn/secondary/lldb/source/Plugins/Process/Utility/BUILD.gn

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


  Commit: 8420602bc21098a737708f35caf96e696f948503
      https://github.com/llvm/llvm-project/commit/8420602bc21098a737708f35caf96e696f948503
  Author: Kazu Hirata <kazu at google.com>
  Date:   2024-12-11 (Wed, 11 Dec 2024)

  Changed paths:
    M llvm/unittests/ProfileData/MemProfTest.cpp

  Log Message:
  -----------
  [memprof] Drop testing:: in a unit test (NFC) (#119636)

Note that we already have:

  using ::testing::IsEmpty;


  Commit: a67bd94fdafce716b42e0cb5409ee451b20f1749
      https://github.com/llvm/llvm-project/commit/a67bd94fdafce716b42e0cb5409ee451b20f1749
  Author: Yingwei Zheng <dtcxzyw2333 at gmail.com>
  Date:   2024-12-12 (Thu, 12 Dec 2024)

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

  Log Message:
  -----------
  [ValueTracking] Add missing operand checks in `computeKnownFPClassFromCond` (#119579)

After https://github.com/llvm/llvm-project/pull/118257, we may call
`computeKnownFPClassFromCond` with unrelated conditions. Then
miscompilations may occur due to a lack of operand checks.

This bug was introduced by
https://github.com/llvm/llvm-project/commit/d2404ea6ced5fce9442260bde08a02d607fdd50d
and https://github.com/llvm/llvm-project/pull/80740. However, the
miscompilation couldn't have happened before
https://github.com/llvm/llvm-project/pull/118257, because we only added
related conditions to `DomConditionCache/AssumptionCache`.

Fix the miscompilation reported in
https://github.com/llvm/llvm-project/pull/118257#issuecomment-2536182166.


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

  Changed paths:
    M llvm/include/llvm/Analysis/TargetLibraryInfo.h
    M llvm/lib/Analysis/TargetLibraryInfo.cpp
    M llvm/lib/Transforms/Utils/SimplifyLibCalls.cpp
    M llvm/test/Transforms/InstCombine/stdio-custom-dl.ll
    M llvm/test/Transforms/InstCombine/strcpy-nonzero-as.ll
    M llvm/test/Transforms/MergeICmps/X86/distinct-index-width-crash.ll

  Log Message:
  -----------
  TargetLibraryInfo: Use pointer index size to determine getSizeTSize(). (#118747)

When using non-integral pointer types, such as on CHERI targets, size_t
is equivalent
to the index size, which is allowed to be smaller than the size of the
pointer.


  Commit: fd2f8d485df7742320317b14d49b9d808f70625c
      https://github.com/llvm/llvm-project/commit/fd2f8d485df7742320317b14d49b9d808f70625c
  Author: Vyacheslav Klochkov <vyacheslav.n.klochkov at intel.com>
  Date:   2024-12-11 (Wed, 11 Dec 2024)

  Changed paths:
    M llvm/lib/Transforms/Vectorize/LoadStoreVectorizer.cpp
    A llvm/test/Transforms/LoadStoreVectorizer/X86/massive_indirection.ll

  Log Message:
  -----------
  [LoadStoreVectorizer] Postprocess and merge equivalence classes (#114501)

This patch introduces a new method:
void Vectorizer::mergeEquivalenceClasses(EquivalenceClassMap &EQClasses)
const

The method is called at the end of
Vectorizer::collectEquivalenceClasses() and is needed to merge
equivalence classes that differ only by their underlying objects (UO1
and UO2), where UO1 is 1-level-indirection underlying base for UO2. This
situation arises due to the limited lookup depth used during the search
of underlying bases with llvm::getUnderlyingObject(ptr).

Using any fixed lookup depth can result into creation of multiple
equivalence classes that only differ by 1-level indirection bases.

The new approach merges equivalence classes if they have adjacent bases
(1-level indirection). If a series of equivalence classes form ladder
formed of 1-step/level indirections, they are all merged into a single
equivalence class. This provides more opportunities for the load-store
vectorizer to generate better vectors.

---------

Signed-off-by: Klochkov, Vyacheslav N <vyacheslav.n.klochkov at intel.com>


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

  Changed paths:
    M llvm/include/llvm/CodeGen/MachineScheduler.h
    M llvm/lib/CodeGen/MachineScheduler.cpp
    M llvm/lib/CodeGen/VLIWMachineScheduler.cpp
    M llvm/test/CodeGen/AArch64/dump-schedule-trace.mir
    M llvm/test/CodeGen/AArch64/force-enable-intervals.mir
    M llvm/test/CodeGen/AArch64/misched-detail-resource-booking-01.mir
    M llvm/test/CodeGen/AArch64/misched-detail-resource-booking-02.mir
    M llvm/test/CodeGen/AArch64/misched-sort-resource-in-trace.mir
    M llvm/test/CodeGen/ARM/single-issue-r52.mir
    M llvm/test/CodeGen/RISCV/sifive7-enable-intervals.mir
    M llvm/test/CodeGen/X86/handle-move.ll
    M llvm/test/CodeGen/X86/misched-aa-colored.ll
    M llvm/test/CodeGen/X86/misched-matrix.ll
    M llvm/test/CodeGen/X86/misched-new.ll

  Log Message:
  -----------
  [MISched] Unify the way to specify scheduling direction (#119518)

For pre-ra scheduling, we use two options `-misched-topdown` and
`-misched-bottomup` to force the direction.

While for post-ra scheduling, we use `-misched-postra-direction`
with enumerated values (`topdown`, `bottomup` and `bidirectional`).

This is not unified and adds some mental burdens. Here we replace
these two options `-misched-topdown` and `-misched-bottomup` with
`-misched-prera-direction` with the same enumerated values.

To avoid the condition of `getNumOccurrences() > 0`, we add a new
enum value `Unspecified` and make it the default initial value.

These options are hidden, so we needn't keep the compatibility.


  Commit: 0e80f9a1b51e0e068adeae1278d59cd7baacd5d8
      https://github.com/llvm/llvm-project/commit/0e80f9a1b51e0e068adeae1278d59cd7baacd5d8
  Author: Shubham Sandeep Rastogi <srastogi22 at apple.com>
  Date:   2024-12-11 (Wed, 11 Dec 2024)

  Changed paths:
    A llvm/include/llvm/CodeGen/DroppedVariableStats.h
    M llvm/include/llvm/Passes/StandardInstrumentations.h
    M llvm/lib/CodeGen/CMakeLists.txt
    A llvm/lib/CodeGen/DroppedVariableStats.cpp
    M llvm/lib/Passes/StandardInstrumentations.cpp
    M llvm/unittests/IR/CMakeLists.txt
    A llvm/unittests/IR/DroppedVariableStatsIRTest.cpp
    R llvm/unittests/IR/DroppedVariableStatsTest.cpp

  Log Message:
  -----------
  Reland 2de78815604e9027efd93cac27c517bf732587d2 (#119650)

[NFC] Move DroppedVariableStats to its own file and redesign it to be
extensible. (#115563)

Move DroppedVariableStats code to its own file and change the class to
have an extensible design so that we can use it to add dropped
statistics to MIR passes and the instruction selector.

Removed the default virtual destructor from the base class and added an
empty one instead.


  Commit: 990b6f08ad8089790dec52c6a9f8eec164d7caca
      https://github.com/llvm/llvm-project/commit/990b6f08ad8089790dec52c6a9f8eec164d7caca
  Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
  Date:   2024-12-12 (Thu, 12 Dec 2024)

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

  Log Message:
  -----------
  [gn build] Port 0e80f9a1b51e


  Commit: 10ed7d94b52c21317a1e02ef1e2c3ff2b2d08301
      https://github.com/llvm/llvm-project/commit/10ed7d94b52c21317a1e02ef1e2c3ff2b2d08301
  Author: Shubham Sandeep Rastogi <srastogi22 at apple.com>
  Date:   2024-12-11 (Wed, 11 Dec 2024)

  Changed paths:
    M llvm/unittests/CodeGen/CMakeLists.txt
    A llvm/unittests/CodeGen/DroppedVariableStatsIRTest.cpp
    M llvm/unittests/IR/CMakeLists.txt
    R llvm/unittests/IR/DroppedVariableStatsIRTest.cpp

  Log Message:
  -----------
  Move DroppedVariableStatsIRTest.cpp to CodeGen folder


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

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

  Log Message:
  -----------
  [gn build] Port 10ed7d94b52c


  Commit: 04313b86a52541b2a618d14f7fa1f23ea7adfa47
      https://github.com/llvm/llvm-project/commit/04313b86a52541b2a618d14f7fa1f23ea7adfa47
  Author: Michal Paszkowski <michal at paszkowski.org>
  Date:   2024-12-11 (Wed, 11 Dec 2024)

  Changed paths:
    M llvm/lib/Transforms/Vectorize/LoadStoreVectorizer.cpp
    R llvm/test/Transforms/LoadStoreVectorizer/X86/massive_indirection.ll

  Log Message:
  -----------
  Revert "[LoadStoreVectorizer] Postprocess and merge equivalence classes" (#119657)

Reverts llvm/llvm-project#114501, due to the following failure:
https://lab.llvm.org/buildbot/#/builders/55/builds/4171


  Commit: 64fadf17cf9a2ad26b16a778fc4e2141ae6a8d64
      https://github.com/llvm/llvm-project/commit/64fadf17cf9a2ad26b16a778fc4e2141ae6a8d64
  Author: Kazu Hirata <kazu at google.com>
  Date:   2024-12-11 (Wed, 11 Dec 2024)

  Changed paths:
    M llvm/unittests/ProfileData/MemProfTest.cpp

  Log Message:
  -----------
  [memprof] Use IndexedMemProfData in unit tests (NFC) (#119648)

This patch uses IndexedMemProfData in unit tests even when we only
need CallStacks.  This way, we get to use addCallStack.  Also, the
look is more consistent with other unit tests, where we typically do:

  IndexMemProfData MemProfData;
  MemProfData.addFrame(...);
  MemProfData.addCallStack(...);
  // Run some tests


  Commit: 48ed91871dccf12dbe27e96b457ccee373c68a1e
      https://github.com/llvm/llvm-project/commit/48ed91871dccf12dbe27e96b457ccee373c68a1e
  Author: Craig Topper <craig.topper at sifive.com>
  Date:   2024-12-11 (Wed, 11 Dec 2024)

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

  Log Message:
  -----------
  [RISCV] Use OperandType from MCInstrDesc in RISCVInstrInfo::createMIROperandComment. NFCI (#119637)

We can use the OperandType to directly get the type of operand. This
avoids the need to hardcode specific opcodes or match the operand index
against sew operand number or policy operand number.


  Commit: 02dd73a5d585af9a950baa38855305fdb17c76af
      https://github.com/llvm/llvm-project/commit/02dd73a5d585af9a950baa38855305fdb17c76af
  Author: Kazu Hirata <kazu at google.com>
  Date:   2024-12-11 (Wed, 11 Dec 2024)

  Changed paths:
    M clang/include/clang/Lex/PreprocessingRecord.h
    M clang/include/clang/Lex/Preprocessor.h
    M clang/lib/Analysis/PathDiagnostic.cpp
    M clang/lib/Basic/FileManager.cpp
    M clang/lib/Index/FileIndexRecord.cpp
    M clang/lib/Index/IndexDecl.cpp
    M clang/tools/libclang/CIndex.cpp
    M clang/tools/libclang/CIndexCXX.cpp
    M clang/utils/TableGen/ClangDiagnosticsEmitter.cpp

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

Note that PointerUnion::{is,get} have been soft deprecated in
PointerUnion.h:

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

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


  Commit: 2698fc699bfd6d62c5f9c2febfdbd2f3505bfdaf
      https://github.com/llvm/llvm-project/commit/2698fc699bfd6d62c5f9c2febfdbd2f3505bfdaf
  Author: Luke Lau <luke at igalia.com>
  Date:   2024-12-12 (Thu, 12 Dec 2024)

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

  Log Message:
  -----------
  [RISCV] Refactor helper in isDesirableToCommuteWithShift. NFC (#119526)

Instead of duplicating the loop twice, add arguments to the lambda.
I plan on reusing this in #119527


  Commit: b26fe5b7e9833b7813459c6a0dc4577b350754f1
      https://github.com/llvm/llvm-project/commit/b26fe5b7e9833b7813459c6a0dc4577b350754f1
  Author: Luke Lau <luke at igalia.com>
  Date:   2024-12-12 (Thu, 12 Dec 2024)

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

  Log Message:
  -----------
  [VPlan] Use variadic isa<> in a few more places. NFC (#119538)


  Commit: 088db868f3370ffe01c9750f75732679efecd1fe
      https://github.com/llvm/llvm-project/commit/088db868f3370ffe01c9750f75732679efecd1fe
  Author: Luke Lau <luke at igalia.com>
  Date:   2024-12-12 (Thu, 12 Dec 2024)

  Changed paths:
    M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-fp-shuffles.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-int-shuffles.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-interleaved-access.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-shuffle-deinterleave.ll

  Log Message:
  -----------
  [RISCV] Merge shuffle sources if lanes are disjoint (#119401)

In x264, there's a few kernels with shuffles like this:

    %41 = add nsw <16 x i32> %39, %40
    %42 = sub nsw <16 x i32> %39, %40
%43 = shufflevector <16 x i32> %41, <16 x i32> %42, <16 x i32> <i32 11,
i32 15, i32 7, i32 3, i32 26, i32 30, i32 22, i32 18, i32 9, i32 13, i32
5, i32 1, i32 24, i32 28, i32 20, i32 16>

Because this is a complex two-source shuffle, this will get lowered as
two vrgather.vvs that are blended together.

    vadd.vv v20, v16, v12
    vsub.vv v12, v16, v12
    vrgatherei16.vv v24, v20, v10
    vrgatherei16.vv v24, v12, v16, v0.t

However the indices coming from each source are disjoint, so we can
blend the two together and perform a single source shuffle instead:

    %41 = add nsw <16 x i32> %39, %40
    %42 = sub nsw <16 x i32> %39, %40
    %43 = select <0,0,0,0,1,1,1,1,0,0,0,0,1,1,1,1> %41, %42
%44 = shufflevector <16 x i32> %43, <16 x i32> poison, <16 x i32> <i32
11, i32 15, i32 7, i32 3, i32 10, i32 14, i32 6, i32 2, i32 9, i32 13,
i32 5, i32 1, i32 8, i32 12, i32 4, i32 0>

The select will likely get merged into the preceding instruction, and
then we only have to do one vrgather.vv:

    vadd.vv v20, v16, v12
    vsub.vv v20, v16, v12, v0.t
    vrgatherei16.vv v24, v20, v10

This patch bails if either of the sources are a broadcast/splat/identity
shuffle, since that will usually already have some sort of cheaper
lowering.

This improves performance on 525.x264_r by 4.12% with -O3 -flto
-march=rva22u64_v on the spacemit-x60.


  Commit: 0614c601b44ca2f214a9868a8b672ea695d5d56a
      https://github.com/llvm/llvm-project/commit/0614c601b44ca2f214a9868a8b672ea695d5d56a
  Author: quic_hchandel <165007698+hchandel at users.noreply.github.com>
  Date:   2024-12-12 (Thu, 12 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/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/xqcics-invalid.s
    A llvm/test/MC/RISCV/xqcics-valid.s
    M llvm/unittests/TargetParser/RISCVISAInfoTest.cpp

  Log Message:
  -----------
  [RISCV] Add Qualcomm uC Xqcics(Conditional Select) extension (#119504)

The Qualcomm uC Xqcics extension adds 8 conditional select instructions.

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>


  Commit: 22d26ae3040095c7bfe4e2f1678b9738bf81fd4a
      https://github.com/llvm/llvm-project/commit/22d26ae3040095c7bfe4e2f1678b9738bf81fd4a
  Author: Piotr Fusik <p.fusik at samsung.com>
  Date:   2024-12-12 (Thu, 12 Dec 2024)

  Changed paths:
    M llvm/lib/Target/RISCV/RISCVISelDAGToDAG.cpp
    A llvm/test/CodeGen/RISCV/and-shl.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-fp2i.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-int-buildvec.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-masked-gather.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-masked-scatter.ll

  Log Message:
  -----------
  [RISCV] Optimize (slli (srli (slli X, C1), C1), C2) -> (srli (slli X, C1), C1-C2) (#119567)

Masking out most significant bits can be done with shl followed by srl
with same shift amount. If this is followed by a shl, we could instead
srl by a smaller amount of bits.

This transform is already implemented in tablegen for masking out
32 most significant bits.

Emits better code for e.g.

    float *index(float *p, int i)
    {
        return p + (i & (1 << 30) - 1);
    }


  Commit: 077cc3deeebedbd088c6183a191b4dd67861b350
      https://github.com/llvm/llvm-project/commit/077cc3deeebedbd088c6183a191b4dd67861b350
  Author: Shubham Sandeep Rastogi <srastogi22 at apple.com>
  Date:   2024-12-11 (Wed, 11 Dec 2024)

  Changed paths:
    R llvm/include/llvm/CodeGen/DroppedVariableStats.h
    M llvm/include/llvm/Passes/StandardInstrumentations.h
    M llvm/lib/CodeGen/CMakeLists.txt
    R llvm/lib/CodeGen/DroppedVariableStats.cpp
    M llvm/lib/Passes/StandardInstrumentations.cpp
    M llvm/unittests/CodeGen/CMakeLists.txt
    R llvm/unittests/CodeGen/DroppedVariableStatsIRTest.cpp
    M llvm/unittests/IR/CMakeLists.txt
    A llvm/unittests/IR/DroppedVariableStatsTest.cpp

  Log Message:
  -----------
  Revert "Move DroppedVariableStatsIRTest.cpp to CodeGen folder"

This reverts commit 10ed7d94b52c21317a1e02ef1e2c3ff2b2d08301.

Revert "Reland 2de78815604e9027efd93cac27c517bf732587d2 (#119650)"

This reverts commit 0e80f9a1b51e0e068adeae1278d59cd7baacd5d8.

This is because the clang-ppc64le-linux-multistage bot breaks with error

undefined reference to `vtable for llvm::DroppedVariableStatsIR'


  Commit: 925471ed903dad871042d7ed0bab89ab6566a564
      https://github.com/llvm/llvm-project/commit/925471ed903dad871042d7ed0bab89ab6566a564
  Author: Dmitry Vasilyev <dvassiliev at accesssoftek.com>
  Date:   2024-12-12 (Thu, 12 Dec 2024)

  Changed paths:
    M llvm/lib/Support/Windows/Path.inc

  Log Message:
  -----------
  [llvm][Support][Windows] Avoid crash calling remove_directories() (#118677)

We faced an unexpected crash in SHELL32_CallFileCopyHooks() on the buildbot 
[lldb-remote-linux-win](https://lab.llvm.org/staging/#/builders/197/builds/1066).
The host is Windows Server 2022 w/o any 3rd party shell extensions. See #118032 for more details.
Based on [this article](https://devblogs.microsoft.com/oldnewthing/20120330-00/?p=7963).


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

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

  Log Message:
  -----------
  [gn build] Port 077cc3deeebe


  Commit: ef28e963e3cf5bca8cb37b053f5840f8541987b3
      https://github.com/llvm/llvm-project/commit/ef28e963e3cf5bca8cb37b053f5840f8541987b3
  Author: Chandler Carruth <chandlerc at gmail.com>
  Date:   2024-12-11 (Wed, 11 Dec 2024)

  Changed paths:
    A llvm/include/llvm/ADT/StringTable.h
    M llvm/unittests/ADT/CMakeLists.txt
    A llvm/unittests/ADT/StringTableTest.cpp

  Log Message:
  -----------
  Add a super simple wrapper for a merged string table. (#119488)

Suggestions welcome on what to better name this -- `StringTable` as I
currently have it seems too general, but wasn't sure what other name
would be better.

It currently has a *very* minimal API. I'm happy to expand it if folks
have ideas for what API would be useful, but this actually seemed like
it might be all we really need.


  Commit: 9992b1624303262407ff82413563f39ba40544a0
      https://github.com/llvm/llvm-project/commit/9992b1624303262407ff82413563f39ba40544a0
  Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
  Date:   2024-12-12 (Thu, 12 Dec 2024)

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

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


  Commit: 9c50182bf4942f88cc9876eb29e70802448cddc8
      https://github.com/llvm/llvm-project/commit/9c50182bf4942f88cc9876eb29e70802448cddc8
  Author: Malavika Samak <malavika.samak at gmail.com>
  Date:   2024-12-12 (Thu, 12 Dec 2024)

  Changed paths:
    M clang/lib/Analysis/UnsafeBufferUsage.cpp
    M clang/test/SemaCXX/warn-unsafe-buffer-usage-array.cpp
    M clang/test/SemaCXX/warn-unsafe-buffer-usage-field-attr.cpp
    M clang/test/SemaCXX/warn-unsafe-buffer-usage-fixits-parm-unsupported.cpp
    M clang/test/SemaCXX/warn-unsafe-buffer-usage.cpp

  Log Message:
  -----------
  [-Wunsafe-buffer-usage] Suppress warning for multi-dimensional constant arrays (#118249)

Do not warn about unsafe buffer access, when multi-dimensional constant
arrays are accessed and their indices are within the bounds of the
buffer. Warning in such cases would be a false positive. Such a
suppression already exists for 1-d
arrays and it is now extended to multi-dimensional arrays.

(rdar://137926311)
(rdar://140320139)

Co-authored-by: MalavikaSamak <malavika2 at apple.com>


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

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

  Log Message:
  -----------
  [clang][bytecode] Handle __builtin_memcmp (#119544)


  Commit: cfad8f14f846860b5c2e413c41c9b2b56466662e
      https://github.com/llvm/llvm-project/commit/cfad8f14f846860b5c2e413c41c9b2b56466662e
  Author: Timm Bäder <tbaeder at redhat.com>
  Date:   2024-12-12 (Thu, 12 Dec 2024)

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

  Log Message:
  -----------
  [clang][bytecode] Fix a build failure on aarch64

This broke e.g.
https://lab.llvm.org/buildbot/#/builders/190/builds/11216


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

  Changed paths:
    M clang/lib/Driver/ToolChains/Darwin.cpp
    M clang/test/Driver/sysroot.c

  Log Message:
  -----------
  [Darwin][Driver][clang] Prioritise command line args over `DEFAULT_SYSROOT` (#115993)

If a toolchain is configured with `DEFAULT_SYSROOT`, then this could
result in an unintended value for `-syslibroot` being passed to the
linker if the user manually sets `-isysroot` or `SDKROOT`.

Let's fix this by prioritising command line flags when determining
`-syslibroot` before checking `getSysRoot`.

Downstream bug report:
https://github.com/Homebrew/homebrew-core/issues/197277

Co-authored-by: Bo Anderson <mail at boanderson.me>

Co-authored-by: Bo Anderson <mail at boanderson.me>


  Commit: 0876c11ceeb093904decc4d89bef213d483a5656
      https://github.com/llvm/llvm-project/commit/0876c11ceeb093904decc4d89bef213d483a5656
  Author: Akshat Oke <Akshat.Oke at amd.com>
  Date:   2024-12-12 (Thu, 12 Dec 2024)

  Changed paths:
    M llvm/lib/Target/AMDGPU/AMDGPUTargetMachine.cpp
    M llvm/test/tools/llc/new-pm/regalloc-amdgpu.mir

  Log Message:
  -----------
  [AMDGPU] Parse wwm filter flag for regalloc fast (#119347)


  Commit: b3cba9be41bfa89bc0ec212706c6028a901e127a
      https://github.com/llvm/llvm-project/commit/b3cba9be41bfa89bc0ec212706c6028a901e127a
  Author: Mel Chen <mel.chen at sifive.com>
  Date:   2024-12-12 (Thu, 12 Dec 2024)

  Changed paths:
    M llvm/include/llvm/Analysis/IVDescriptors.h
    M llvm/include/llvm/Transforms/Utils/LoopUtils.h
    M llvm/lib/Analysis/IVDescriptors.cpp
    M llvm/lib/Transforms/Utils/LoopUtils.cpp
    M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
    M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
    M llvm/lib/Transforms/Vectorize/VPlanRecipes.cpp
    A llvm/test/Transforms/LoopVectorize/iv-select-cmp-blend.ll
    M llvm/test/Transforms/LoopVectorize/iv-select-cmp-no-wrap.ll
    M llvm/test/Transforms/LoopVectorize/iv-select-cmp-trunc.ll
    M llvm/test/Transforms/LoopVectorize/iv-select-cmp.ll
    M llvm/test/Transforms/LoopVectorize/select-min-index.ll

  Log Message:
  -----------
  [LoopVectorize] Vectorize select-cmp reduction pattern for increasing integer induction variable (#67812)

Consider the following loop:
```
  int rdx = init;
  for (int i = 0; i < n; ++i)
    rdx = (a[i] > b[i]) ? i : rdx;
```
We can vectorize this loop if `i` is an increasing induction variable.
The final reduced value will be the maximum of `i` that the condition
`a[i] > b[i]` is satisfied, or the start value `init`.

This patch added new RecurKind enums - IFindLastIV and FFindLastIV.

---------

Co-authored-by: Alexey Bataev <5361294+alexey-bataev at users.noreply.github.com>


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

  Changed paths:
    M clang/include/clang/AST/APValue.h
    M clang/include/clang/AST/Decl.h
    M clang/include/clang/AST/DeclContextInternals.h
    M clang/include/clang/AST/DeclTemplate.h
    M clang/include/clang/AST/ExprConcepts.h
    M clang/include/clang/AST/ExternalASTSource.h
    M clang/include/clang/AST/Redeclarable.h
    M clang/include/clang/AST/Type.h

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

Note that PointerUnion::{is,get} have been soft deprecated in
PointerUnion.h:

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

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


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

  Changed paths:
    M libc/CMakeLists.txt

  Log Message:
  -----------
  [libc] Fail fast when building standalone (#119426)

Building with the source directory rooted in the libc subdirectory isn't
tested in CI and can lead to subtle build problems (cf. #118871).

Let's fail fast with a helpful error message instead to help users
configure libc correctly.

Co-authored-by: Nick Desaulniers <nickdesaulniers at users.noreply.github.com>


  Commit: 08c9bb21482db443a8d5f84e9821abfbce4e9452
      https://github.com/llvm/llvm-project/commit/08c9bb21482db443a8d5f84e9821abfbce4e9452
  Author: Sudharsan Veeravalli <quic_svs at quicinc.com>
  Date:   2024-12-12 (Thu, 12 Dec 2024)

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

  Log Message:
  -----------
  [RISCV] Change func to funct in RISCVInstrInfoXqci.td. NFC (#119669)


  Commit: 32403f79f4fcdb74b1576eed19cde7b104191808
      https://github.com/llvm/llvm-project/commit/32403f79f4fcdb74b1576eed19cde7b104191808
  Author: Tom Eccles <tom.eccles at arm.com>
  Date:   2024-12-12 (Thu, 12 Dec 2024)

  Changed paths:
    M flang/unittests/Runtime/AccessTest.cpp

  Log Message:
  -----------
  [flang][unittests] fix test broken when run as root (#119604)

It is convenient to run tests as root inside of a docker container.

The test (and the library function it is testing) are already
unsupported on Windows so it is safe to use UNIX-isms here.


  Commit: ff13f61ec9bc8ae170ef8ab4eb66b00408f302f6
      https://github.com/llvm/llvm-project/commit/ff13f61ec9bc8ae170ef8ab4eb66b00408f302f6
  Author: Nikita Popov <npopov at redhat.com>
  Date:   2024-12-12 (Thu, 12 Dec 2024)

  Changed paths:
    M llvm/Maintainers.md

  Log Message:
  -----------
  [LLVM] Update TableGen maintainer (#119569)

Update the maintainer for TableGen to jurahul, who has been driving
most of the recent development in this area.


  Commit: e3352904309a539eddcf3ddd9fb11ca2aef29d65
      https://github.com/llvm/llvm-project/commit/e3352904309a539eddcf3ddd9fb11ca2aef29d65
  Author: Nikita Popov <npopov at redhat.com>
  Date:   2024-12-12 (Thu, 12 Dec 2024)

  Changed paths:
    M llvm/Maintainers.md

  Log Message:
  -----------
  [LLVM] Update MC maintainer (#119571)

We currently list Jim Grosbach as the maintainer for the MC layer --
however, he hasn't been involved in LLVM for about ten years.

I'd like to propose MaskRay as the replacement. I think he has done
most of the substantial MC work in recent times.


  Commit: 5013c81b781eb95af8e429956d63c8f9c16a4647
      https://github.com/llvm/llvm-project/commit/5013c81b781eb95af8e429956d63c8f9c16a4647
  Author: Nikita Popov <npopov at redhat.com>
  Date:   2024-12-12 (Thu, 12 Dec 2024)

  Changed paths:
    M llvm/include/llvm/Transforms/Utils/Evaluator.h
    M llvm/lib/Transforms/Utils/Evaluator.cpp
    M llvm/test/Transforms/GlobalOpt/evaluate-call-errors.ll
    M llvm/test/Transforms/GlobalOpt/evaluate-constfold-call.ll
    A llvm/test/Transforms/GlobalOpt/evaluate-ret-void-mismatch.ll

  Log Message:
  -----------
  [GlobalOpt][Evaluator] Don't evaluate calls with signature mismatch (#119548)

The global ctor evaluator tries to evalute function calls where the call
function type and function type do not match, by performing bitcasts.
This currently causes a crash when calling a void function with non-void
return type.

I've opted to remove this functionality entirely rather than fixing this
specific case. With opaque pointers, there shouldn't be a legitimate use
case for this anymore, as we don't need to look through pointer type
casts. Doing other bitcasts is very iffy because it ignores ABI
considerations. We should at least leave adjusting the signatures to
make them line up to InstCombine (which also does some iffy things, but
is at least somewhat more constrained).

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


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

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

  Log Message:
  -----------
  [clang][bytecode] Handle __builtin_bcmp (#119678)

... the same as `__builtin_memcmp`. Also fix a bug we still had when we
couldn't find a difference in the two inputs after `Size` bytes.


  Commit: 5ca26d769deedc931ce19b4a68a68c799f8d7564
      https://github.com/llvm/llvm-project/commit/5ca26d769deedc931ce19b4a68a68c799f8d7564
  Author: Kerry McLaughlin <kerry.mclaughlin at arm.com>
  Date:   2024-12-12 (Thu, 12 Dec 2024)

  Changed paths:
    M llvm/lib/Target/AArch64/AArch64ExpandPseudoInsts.cpp
    M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
    M llvm/lib/Target/AArch64/AArch64RegisterInfo.cpp
    M llvm/lib/Target/AArch64/AArch64RegisterInfo.h
    M llvm/lib/Target/AArch64/SMEInstrFormats.td
    M llvm/test/CodeGen/AArch64/sme2-intrinsics-int-dots.ll
    M llvm/test/CodeGen/AArch64/sme2-intrinsics-vdot.ll

  Log Message:
  -----------
  [AArch64][SME2] Improve register allocation of multi-vector SME intrinsics (#116399)

The FORM_TRANSPOSED_REG_TUPLE pseudos have been created to
improve register allocation for intrinsics which use strided and
contiguous multi-vector registers, avoiding unnecessary copies.

If the operands of the pseudo are copies where the source register is in
the StridedOrContiguous class, the pseudo is used by
getRegAllocationHints
to suggest a contigious multi-vector register which matches the
subregister
sequence used by the operands.
If the operands do not match this pattern, the pseudos are expanded
to a REG_SEQUENCE.

Patch contains changes by Matthew Devereau.


  Commit: ceb7214be0287f536b292a41f8a7dc2e1467d72d
      https://github.com/llvm/llvm-project/commit/ceb7214be0287f536b292a41f8a7dc2e1467d72d
  Author: Kristof Beyls <kristof.beyls at arm.com>
  Date:   2024-12-12 (Thu, 12 Dec 2024)

  Changed paths:
    A bolt/docs/BinaryAnalysis.md
    M bolt/include/bolt/Rewrite/RewriteInstance.h
    M bolt/include/bolt/Utils/CommandLineOpts.h
    M bolt/lib/Rewrite/RewriteInstance.cpp
    M bolt/lib/Utils/CommandLineOpts.cpp
    M bolt/test/CMakeLists.txt
    A bolt/test/binary-analysis/AArch64/Inputs/dummy.txt
    A bolt/test/binary-analysis/AArch64/cmdline-args.test
    A bolt/test/binary-analysis/AArch64/lit.local.cfg
    M bolt/test/lit.cfg.py
    M bolt/tools/CMakeLists.txt
    A bolt/tools/binary-analysis/CMakeLists.txt
    A bolt/tools/binary-analysis/binary-analysis.cpp

  Log Message:
  -----------
  [BOLT] Introduce binary analysis tool based on BOLT (#115330)

This initial commit does not add any specific binary analyses yet, it
merely contains the boilerplate to introduce a new BOLT-based tool.

This basically combines the 4 first patches from the prototype pac-ret
and stack-clash binary analyzer discussed in RFC
https://discourse.llvm.org/t/rfc-bolt-based-binary-analysis-tool-to-verify-correctness-of-security-hardening/78148
and published at
https://github.com/llvm/llvm-project/compare/main...kbeyls:llvm-project:bolt-gadget-scanner-prototype

The introduction of such a BOLT-based binary analysis tool was proposed
and discussed in at least the following places:
- The RFC pointed to above
- EuroLLVM 2024 round table
https://discourse.llvm.org/t/summary-of-bolt-as-a-binary-analysis-tool-round-table-at-eurollvm/78441
The round table showed quite a few people interested in being able to
build a custom binary analysis quickly with a tool like this.
- Also at the US LLVM dev meeting a few weeks ago, I heard interest from
a few people, asking when the tool would be available upstream.
- The presentation "Adding Pointer Authentication ABI support for your
ELF platform"
(https://llvm.swoogo.com/2024devmtg/session/2512720/adding-pointer-authentication-abi-support-for-your-elf-platform)
explicitly mentioned interest to extend the prototype tool to verify
correct implementation of pauthabi.


  Commit: 2fae58e9c7becc376454005da69acb3fa993350e
      https://github.com/llvm/llvm-project/commit/2fae58e9c7becc376454005da69acb3fa993350e
  Author: David Spickett <david.spickett at linaro.org>
  Date:   2024-12-12 (Thu, 12 Dec 2024)

  Changed paths:
    M lldb/unittests/Host/PipeTest.cpp

  Log Message:
  -----------
  [lldb][test] Disable WriteWithTimeout test on Windows

This is still flaky on our Windows on Arm bot:
******************** TEST 'lldb-unit :: Host/./HostTests.exe/8/10' FAILED ********************
Script(shard):
--
GTEST_OUTPUT=json:C:\Users\tcwg\llvm-worker\lldb-aarch64-windows\build\tools\lldb\unittests\Host\.\HostTests.exe-lldb-unit-3616-8-10.json GTEST_SHUFFLE=0 GTEST_TOTAL_SHARDS=10 GTEST_SHARD_INDEX=8 C:\Users\tcwg\llvm-worker\lldb-aarch64-windows\build\tools\lldb\unittests\Host\.\HostTests.exe
--

Script:
--
C:\Users\tcwg\llvm-worker\lldb-aarch64-windows\build\tools\lldb\unittests\Host\.\HostTests.exe --gtest_filter=PipeTest.WriteWithTimeout
--
C:\Users\tcwg\llvm-worker\lldb-aarch64-windows\llvm-project\lldb\unittests\Host\PipeTest.cpp(110): error: Expected: (dur) >= (std::chrono::seconds(2)), actual: 8-byte object <1C-A6 34-77 00-00 00-00> vs 8-byte object <02-00 00-00 00-00 00-00>

C:\Users\tcwg\llvm-worker\lldb-aarch64-windows\llvm-project\lldb\unittests\Host\PipeTest.cpp:110
Expected: (dur) >= (std::chrono::seconds(2)), actual: 8-byte object <1C-A6 34-77 00-00 00-00> vs 8-byte object <02-00 00-00 00-00 00-00>


  Commit: 7f4312015291a32d811a0f37e24b4d9736c524f7
      https://github.com/llvm/llvm-project/commit/7f4312015291a32d811a0f37e24b4d9736c524f7
  Author: Ilya Biryukov <ibiryukov at google.com>
  Date:   2024-12-12 (Thu, 12 Dec 2024)

  Changed paths:
    M clang/unittests/Serialization/LoadSpecLazilyTest.cpp

  Log Message:
  -----------
  [Serialization] Free memory in LoadSpecLazilyTest

Default Clang invocations set DisableFree = true, which causes ASAN to
complain. Override it in tests that are not supposed to leak.


  Commit: 5e247d726d7a54cf0acc997bc17b50e7494e6fa3
      https://github.com/llvm/llvm-project/commit/5e247d726d7a54cf0acc997bc17b50e7494e6fa3
  Author: David Green <david.green at arm.com>
  Date:   2024-12-12 (Thu, 12 Dec 2024)

  Changed paths:
    M llvm/include/llvm/Analysis/PtrUseVisitor.h
    M llvm/include/llvm/Transforms/Utils/SSAUpdater.h
    M llvm/lib/Transforms/Scalar/SROA.cpp
    M llvm/lib/Transforms/Utils/SSAUpdater.cpp
    M llvm/test/Transforms/SROA/non-capturing-call-readonly.ll
    M llvm/test/Transforms/SROA/readonlynocapture.ll

  Log Message:
  -----------
  [SROA] Optimize reloaded values in allocas that escape into readonly nocapture calls. (#116645)

Given an alloca that potentially has many uses in big complex code and
escapes into a call that is readonly+nocapture, we cannot easily split
up the alloca. There are several optimizations that will attempt to take
a value that is stored and a reload, and replace the load with the
original stored value. Instcombine has some simple heuristics, GVN can
sometimes do it, as can CSE in limited situations. They all suffer from
the same issue with complex code - they start from a load/store and need
to prove no-alias for all code between, which in complex cases might be
a lot to look through. Especially if the ptr is an alloca with many uses
that is over the normal escape capture limits.

The pass that does do well with allocas is SROA, as it has a complete
view of all of the uses. This patch adds a case to SROA where it can
detect allocas that are passed into calls that are no-capture readonly.
It can then optimize the reloaded values inside the alloca slice with
the stored value knowing that it is valid no matter the location of the
loads/stores from the no-escaping nature of the alloca.


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

  Changed paths:
    M llvm/lib/Target/RISCV/RISCVTargetTransformInfo.cpp
    M llvm/test/CodeGen/RISCV/rvv/sink-splat-operands.ll

  Log Message:
  -----------
  [RISCV][TTI] Add llvm.fmuladd and llvm.vp.fmuladd into canSplatOperand (#119508)

The first or second operand of fmuladd is a splat operand , it can help
fmuladd fold vv instructions to vf instructions.


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

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

  Log Message:
  -----------
  [Transforms] Silence a warning in SROA.cpp (NFC)

/llvm-project/llvm/lib/Transforms/Scalar/SROA.cpp:5526:48:
 error: '&&' within '||' [-Werror,-Wlogical-op-parentheses]
          if (!SI->isSimple() || PartitionType && UserTy != PartitionType)
                              ~~ ~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~
/llvm-project/llvm/lib/Transforms/Scalar/SROA.cpp:5526:48:
 note: place parentheses around the '&&' expression to silence this warning
          if (!SI->isSimple() || PartitionType && UserTy != PartitionType)
                                               ^
                                 (                                       )
1 error generated.


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

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

  Log Message:
  -----------
  [VectorCombine] Pull out isa<VectorType> check.

Noticed while investigating a crash in #119559 - we don't account for I being replaced and its Type being reallocated. So hoist the checks to the start of the loop.


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

  Changed paths:
    R llvm/test/Transforms/PhaseOrdering/X86/concat-boolmasks.ll
    A llvm/test/Transforms/VectorCombine/X86/concat-boolmasks.ll

  Log Message:
  -----------
  [VectorCombine] Move concat-boolmasks.ll tests to be VectorCombine only

Suggested on #119559


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

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

  Log Message:
  -----------
  [VPlan] Use existing vector trip count VPValue for resume phi (NFC)

Instead of going through getOrAddLiveIn to get a VPValue for the vector
trip count retrieve it directly from VPlan via getVectorTripCount.

Small simplification following 0e70289f373.


  Commit: 1d65c35ce16f1bc340649ac8319b34c833e23a1f
      https://github.com/llvm/llvm-project/commit/1d65c35ce16f1bc340649ac8319b34c833e23a1f
  Author: Mariya Podchishchaeva <mariya.podchishchaeva at intel.com>
  Date:   2024-12-12 (Thu, 12 Dec 2024)

  Changed paths:
    M clang/docs/ReleaseNotes.rst
    M clang/lib/Sema/DeclSpec.cpp
    M clang/test/AST/ByteCode/complex.cpp
    M clang/test/CodeGenCXX/ext-int.cpp
    M clang/test/SemaCXX/ext-int.cpp

  Log Message:
  -----------
  [clang] Reject `_Complex _BitInt` (#119402)

The C standard doesn't require support for these types and Codegen for
these types is incorrect ATM.
See https://github.com/llvm/llvm-project/issues/119352


  Commit: 9472c5fcc78a1f7ff48d797f91b55246f7c80b1a
      https://github.com/llvm/llvm-project/commit/9472c5fcc78a1f7ff48d797f91b55246f7c80b1a
  Author: Luke Hutton <luke.hutton at arm.com>
  Date:   2024-12-12 (Thu, 12 Dec 2024)

  Changed paths:
    M mlir/lib/Dialect/Tosa/Transforms/TosaValidation.cpp
    M mlir/test/Dialect/Tosa/level_check.mlir

  Log Message:
  -----------
  [TOSA] Make validation pass isValidElementType check more strict (#119671)

The validation pass is used to check alignment of the IR against the
TOSA specification. This commit updates the `isValidElement` check to
more strictly align with the specifications supported element types.

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


  Commit: 2be41e7aee1c72177019a219ccd8e0cfccdbb52b
      https://github.com/llvm/llvm-project/commit/2be41e7aee1c72177019a219ccd8e0cfccdbb52b
  Author: Nikita Popov <npopov at redhat.com>
  Date:   2024-12-12 (Thu, 12 Dec 2024)

  Changed paths:
    M llvm/lib/Transforms/IPO/AlwaysInliner.cpp
    A llvm/test/Transforms/Inline/always-inline-bfi.ll

  Log Message:
  -----------
  [AlwaysInline] Fix analysis invalidation (#119566)

This is a followup to #117750. Currently, AlwaysInline only invalidates
analyses at the end, by returning that no analyses are preserved.
However, this means that analyses fetched during inlining may be
outdated. The aforementioned PR exposed this issue.

Instead, bring the logic closer to what the normal inliner does, by
directly invalidating the caller in FAM. This should make sure that we
don't receive any outdated analyses even if they are fetched during
inlining.

Also drop the BFI updating entirely -- there's no point in doing it if
we're going to invalidate everything anyway.


  Commit: 0cbdad4bd2396b740742d9ae94cba7d7b8a32cb5
      https://github.com/llvm/llvm-project/commit/0cbdad4bd2396b740742d9ae94cba7d7b8a32cb5
  Author: Bo Anderson <mail at boanderson.me>
  Date:   2024-12-12 (Thu, 12 Dec 2024)

  Changed paths:
    M clang/lib/Driver/Driver.cpp
    M clang/test/Driver/config-file3.c

  Log Message:
  -----------
  [clang][Driver] Support simplified triple versions for config files (#111387)

Currently, the config file system loads the full target triple, e.g.
`arm64-apple-darwin23.6.0.cfg`.

This is however not very useful as this is a moving target. In the case
of macOS, that target moves every ~2 months.

We can improve this by adding fallbacks that simplify the version
component of the triple. This pull request adds support for loading
`arm64-apple-darwin23.cfg` and `arm64-apple-darwin.cfg`. See the
included test for a demonstration on how it works.


  Commit: 81825687b4b45e0a6839fd05cad7bedf18205315
      https://github.com/llvm/llvm-project/commit/81825687b4b45e0a6839fd05cad7bedf18205315
  Author: Jefferson Le Quellec <jefferson.lequellec at codeplay.com>
  Date:   2024-12-12 (Thu, 12 Dec 2024)

  Changed paths:
    M mlir/include/mlir/Conversion/Passes.td
    M mlir/lib/Conversion/GPUToLLVMSPV/GPUToLLVMSPV.cpp
    M mlir/test/Conversion/GPUToLLVMSPV/gpu-to-llvm-spv.mlir

  Log Message:
  -----------
  [MLIR][GPUToLLVMSPV] Update ConvertGpuOpsToLLVMSPVOps's option (#118818)

## Description

This PR updates the `ConvertGpuOpsToLLVMSPVOps`'s option by replacing
the `index-bitwidth` with a boolean option `use-64bit-index` (similar to
the `ConvertGPUToSPIRV` option).

The reason for this modification is because the
`ConvertGpuOpsToLLVMSPVOps`:
> Generate LLVM operations to be ingested by a SPIR-V backend for gpu
operations

In the context of SPIR-V specifications only two physical addressing
models are allowed: `Physical32` and `Physical64`.

This change guarantees output sanity by preventing invalid or
unsupported index bitwidths from being specified.


  Commit: f85579fb510faa0a57500b8fd3642f0269c4a4a1
      https://github.com/llvm/llvm-project/commit/f85579fb510faa0a57500b8fd3642f0269c4a4a1
  Author: bernhardu <bernhardu at mailbox.org>
  Date:   2024-12-12 (Thu, 12 Dec 2024)

  Changed paths:
    M compiler-rt/lib/interception/interception_win.cpp
    M compiler-rt/lib/interception/tests/interception_win_test.cpp

  Log Message:
  -----------
  [win/asan] GetInstructionSize: Fix `83 E4 XX` to return 3. (#119644)

This consolidates the two different lines for x86 and x86_64 into a
single line for both architectures.
And adds a test line.

CC: @zmodem


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

  Changed paths:
    R libcxx/test/benchmarks/ContainerBenchmarks.h
    R libcxx/test/benchmarks/algorithms.partition_point.bench.cpp
    A libcxx/test/benchmarks/algorithms/algorithms.partition_point.bench.cpp
    A libcxx/test/benchmarks/algorithms/lexicographical_compare_three_way.bench.cpp
    A libcxx/test/benchmarks/containers/ContainerBenchmarks.h
    A libcxx/test/benchmarks/containers/deque.bench.cpp
    A libcxx/test/benchmarks/containers/deque_iterator.bench.cpp
    A libcxx/test/benchmarks/containers/map.bench.cpp
    A libcxx/test/benchmarks/containers/ordered_set.bench.cpp
    A libcxx/test/benchmarks/containers/string.bench.cpp
    A libcxx/test/benchmarks/containers/unordered_set_operations.bench.cpp
    A libcxx/test/benchmarks/containers/vector_operations.bench.cpp
    R libcxx/test/benchmarks/deque.bench.cpp
    R libcxx/test/benchmarks/deque_iterator.bench.cpp
    R libcxx/test/benchmarks/format.bench.cpp
    A libcxx/test/benchmarks/format/format.bench.cpp
    A libcxx/test/benchmarks/format/format_to.bench.cpp
    A libcxx/test/benchmarks/format/format_to_n.bench.cpp
    A libcxx/test/benchmarks/format/formatted_size.bench.cpp
    A libcxx/test/benchmarks/format/formatter_float.bench.cpp
    A libcxx/test/benchmarks/format/formatter_int.bench.cpp
    A libcxx/test/benchmarks/format/std_format_spec_string_unicode.bench.cpp
    A libcxx/test/benchmarks/format/std_format_spec_string_unicode_escape.bench.cpp
    R libcxx/test/benchmarks/format_to.bench.cpp
    R libcxx/test/benchmarks/format_to_n.bench.cpp
    R libcxx/test/benchmarks/formatted_size.bench.cpp
    R libcxx/test/benchmarks/formatter_float.bench.cpp
    R libcxx/test/benchmarks/formatter_int.bench.cpp
    R libcxx/test/benchmarks/lexicographical_compare_three_way.bench.cpp
    R libcxx/test/benchmarks/map.bench.cpp
    R libcxx/test/benchmarks/ordered_set.bench.cpp
    R libcxx/test/benchmarks/std_format_spec_string_unicode.bench.cpp
    R libcxx/test/benchmarks/std_format_spec_string_unicode_escape.bench.cpp
    R libcxx/test/benchmarks/string.bench.cpp
    R libcxx/test/benchmarks/unordered_set_operations.bench.cpp
    R libcxx/test/benchmarks/vector_operations.bench.cpp

  Log Message:
  -----------
  [libc++] Slight reorganization of the benchmarks (#119625)

Move various container benchmarks to the same subdirectory, and regroup
some format-related benchmarks.


  Commit: f9734b9df15bc1eea84ef00973c2e5560e70c27d
      https://github.com/llvm/llvm-project/commit/f9734b9df15bc1eea84ef00973c2e5560e70c27d
  Author: Kareem Ergawy <kareem.ergawy at amd.com>
  Date:   2024-12-12 (Thu, 12 Dec 2024)

  Changed paths:
    M flang/lib/Optimizer/OpenMP/MapsForPrivatizedSymbols.cpp
    M llvm/lib/Frontend/OpenMP/OMPIRBuilder.cpp
    M llvm/unittests/Frontend/OpenMPIRBuilderTest.cpp
    M mlir/include/mlir/Dialect/OpenMP/OpenMPOps.td
    M mlir/lib/Target/LLVMIR/Dialect/OpenMP/OpenMPToLLVMIRTranslation.cpp
    M mlir/test/Target/LLVMIR/omptarget-byref-bycopy-generation-device.mlir
    M mlir/test/Target/LLVMIR/omptarget-declare-target-llvm-device.mlir
    A mlir/test/Target/LLVMIR/openmp-target-multiple-private.mlir
    A mlir/test/Target/LLVMIR/openmp-target-private-allocatable.mlir
    M mlir/test/Target/LLVMIR/openmp-target-private.mlir
    M mlir/test/Target/LLVMIR/openmp-target-use-device-nested.mlir
    M mlir/test/Target/LLVMIR/openmp-todo.mlir

  Log Message:
  -----------
  [mlir][OpenMP] - MLIR to LLVMIR translation support for delayed privatization of allocatables in `omp.target` ops (#116576)

This PR adds support to translate the `private` clause from MLIR to
LLVMIR when used on allocatables in the context of an `omp.target` op.

This replaces https://github.com/llvm/llvm-project/pull/113208.

Parent PR: https://github.com/llvm/llvm-project/pull/116770. Only the
latest commit is relevant to the PR.


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

  Changed paths:
    M llvm/lib/Transforms/Vectorize/VectorCombine.cpp
    M llvm/test/Transforms/VectorCombine/X86/concat-boolmasks.ll

  Log Message:
  -----------
  [VectorCombine] Fold "(or (zext (bitcast X)), (shl (zext (bitcast Y)), C))" -> "(bitcast (concat X, Y))" MOVMSK bool mask style patterns (#119695)

Mask/Bool vectors are often bitcast to/from scalar integers, in particular when concatenating mask results, often this is due to the difficulties of working with vector of bools on C/C++. On x86 this typically involves the MOVMSK/KMOV instructions.

To concatenate bool masks, these are typically cast to scalars, which are then zero-extended, shifted and OR'd together.

This patch attempts to match these scalar concatenation patterns and convert them to vector shuffles instead. This in turn often assists with further vector combines, depending on the cost model.

Reapplied patch from #119559 - fixed use after free issue.

Fixes #111431


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

  Changed paths:
    M offload/DeviceRTL/include/Synchronization.h
    M offload/DeviceRTL/src/Synchronization.cpp

  Log Message:
  -----------
  [OpenMP] Replace AMDGPU fences with generic scoped fences (#119619)

Summary:
This is simpler and more common. I would've replaced the CUDA uses and
made this the same but currently it doesn't codegen these fences fully
and just emits a full system wide barrier as a fallback.


  Commit: 34d244a94195dbeb626573c9b2e388dc574f9300
      https://github.com/llvm/llvm-project/commit/34d244a94195dbeb626573c9b2e388dc574f9300
  Author: Yi Kong <yikong at google.com>
  Date:   2024-12-12 (Thu, 12 Dec 2024)

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

  Log Message:
  -----------
  Fix rtsan build with musl (#119674)

fd_set is defined by `sys/select.h`. On musl, this header is not
transitively included by the other headers.

Failure message:
```
compiler-rt/lib/rtsan/rtsan_interceptors_posix.cpp:761:37: error: unknown type name 'fd_set'; did you mean 'fd_t'?
  761 | INTERCEPTOR(int, pselect, int nfds, fd_set *readfds, fd_set *writefds,
      |                                     ^~~~~~
      |                                     fd_t
```


  Commit: 10ef20f6a629797d81252de143117e2a0bc6556d
      https://github.com/llvm/llvm-project/commit/10ef20f6a629797d81252de143117e2a0bc6556d
  Author: Nikita Popov <npopov at redhat.com>
  Date:   2024-12-12 (Thu, 12 Dec 2024)

  Changed paths:
    M mlir/CMakeLists.txt
    M mlir/cmake/modules/AddMLIR.cmake
    M mlir/tools/mlir-cpu-runner/CMakeLists.txt
    M mlir/tools/mlir-lsp-server/CMakeLists.txt
    M mlir/tools/mlir-opt/CMakeLists.txt
    M mlir/tools/mlir-parser-fuzzer/bytecode/CMakeLists.txt
    M mlir/tools/mlir-parser-fuzzer/text/CMakeLists.txt
    M mlir/tools/mlir-query/CMakeLists.txt
    M mlir/tools/mlir-reduce/CMakeLists.txt
    M mlir/tools/mlir-rewrite/CMakeLists.txt
    M mlir/tools/mlir-translate/CMakeLists.txt

  Log Message:
  -----------
  [mlir] Add support for MLIR_LINK_MLIR_DYLIB (#119408)

While MLIR currently supports building a libMLIR.so, it does not support
actually linking against it for its own tools. When building with LTO,
this means we have to relink the world for every tool, and the resulting
binaries are large.

This adds basic support for MLIR_LINK_MLIR_DYLIB, modelled after how
CLANG_LINK_CLANG_DYLIB is implemented: Libraries that are part of
libMLIR.so should be added via mlir_target_link_libraries instead of
target_link_libraries. This will replace them with libMLIR.so if
MLIR_LINK_MLIR_DYLIB is enabled.

This adds basic support, I think there are two more things that can be
done here:
* C API unit tests should link against libMLIR-C.so. Currently these
   still link statically.
* Linking the test libs (not part of libMLIR.so) still pulls in
   dependencies statically that should come from libMLIR.so.


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

  Changed paths:
    M llvm/lib/CodeGen/SelectOptimize.cpp
    M llvm/test/CodeGen/AArch64/selectopt-cast.ll

  Log Message:
  -----------
  [SelectOpt] Add support for AShr/LShr operands (#118495)

For conditional increments with sign check conditions like X < 0 or X >= 0,
the compiler may generate code like this:

  %cmp = icmp sgt i64 %1, -1
  %shift = ashr i64 %1, 63
  %j.next = add nsw i64 %j, %shift
  %sel = select i1 %cmp ...

, where %cmp is not in computation but in some other implicit or regular
expressions. This patch allows SelectOptimize pass to recognise these
cases.


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

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

  Log Message:
  -----------
  [mlir] Fix -Wunused-variable in OpenMPToLLVMIRTranslation.cpp (NFC)

/llvm-project/mlir/lib/Target/LLVMIR/Dialect/OpenMP/OpenMPToLLVMIRTranslation.cpp:3921:12:
 error: unused variable 'varType' [-Werror,-Wunused-variable]
      Type varType = mapInfoOp.getVarType();
           ^
1 error generated.


  Commit: e582865aa46b6b46d8c7e8a9244443247f5f173b
      https://github.com/llvm/llvm-project/commit/e582865aa46b6b46d8c7e8a9244443247f5f173b
  Author: Nikita Popov <npopov at redhat.com>
  Date:   2024-12-12 (Thu, 12 Dec 2024)

  Changed paths:
    M mlir/tools/mlir-opt/CMakeLists.txt

  Log Message:
  -----------
  [mlir] Link MLIRMlirOptMain against test_libs

In 10ef20f6a629797d81252de143117e2a0bc6556d I dropped $test_libs
from $LIBS to handle them separately for the mlir-opt tool.
However, they should still include them in LINK_LIBS for the
MLIRMlirOptMain library.


  Commit: bdaa82a7bb14b1016dbee554ef919323a197754d
      https://github.com/llvm/llvm-project/commit/bdaa82a7bb14b1016dbee554ef919323a197754d
  Author: Pravin Jagtap <Pravin.Jagtap at amd.com>
  Date:   2024-12-12 (Thu, 12 Dec 2024)

  Changed paths:
    M llvm/lib/Target/AMDGPU/SIRegisterInfo.cpp
    M llvm/test/CodeGen/AMDGPU/av-spill-expansion-with-machine-cp.mir

  Log Message:
  -----------
  [AMDGPU] Mark AGPR tuple implicit in the first instr of AGPR spills. (#115285)

When AGPRs are spilled to stack through VGPRs, the pei only marks the
AGPR tuple as implicit-def. To preserve the liveness, it should also
mark the tuple implicit.

Fixes: SWDEV-462189


  Commit: bae383ba6b53b0d8257c83f99ceecdd751d0a378
      https://github.com/llvm/llvm-project/commit/bae383ba6b53b0d8257c83f99ceecdd751d0a378
  Author: Aaron Puchert <aaron.puchert at sap.com>
  Date:   2024-12-12 (Thu, 12 Dec 2024)

  Changed paths:
    M clang/lib/Driver/ToolChains/CommonArgs.cpp
    M clang/lib/Driver/ToolChains/CommonArgs.h
    M clang/lib/Driver/ToolChains/FreeBSD.cpp
    M clang/lib/Driver/ToolChains/Fuchsia.cpp
    M clang/lib/Driver/ToolChains/Gnu.cpp
    M clang/lib/Driver/ToolChains/Hexagon.cpp
    M clang/lib/Driver/ToolChains/NetBSD.cpp
    M clang/lib/Driver/ToolChains/OpenBSD.cpp
    M clang/lib/Driver/ToolChains/Solaris.cpp

  Log Message:
  -----------
  [Driver] Cache SanitizerArgs (NFC) (#119442)

The name getSanitizerArgs seems to mislead callers that this is a cheap
function, but it extracts the SanitizerArgs each time it is called.

So we try to reuse it a bit more.


  Commit: bb1961ed7779e782f4c28ee38854decf6f53c82f
      https://github.com/llvm/llvm-project/commit/bb1961ed7779e782f4c28ee38854decf6f53c82f
  Author: Pravin Jagtap <Pravin.Jagtap at amd.com>
  Date:   2024-12-12 (Thu, 12 Dec 2024)

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

  Log Message:
  -----------
  [AMDGPU] Stop using True16 profile for v_bitop3_b16 of gfx950. (#119706)


  Commit: 67eb05b2928ea707761bb040e6eb824f4ca9ef3a
      https://github.com/llvm/llvm-project/commit/67eb05b2928ea707761bb040e6eb824f4ca9ef3a
  Author: Stefan Pintilie <stefanp at ca.ibm.com>
  Date:   2024-12-12 (Thu, 12 Dec 2024)

  Changed paths:
    M llvm/lib/Target/PowerPC/PPCISelLowering.cpp
    M llvm/test/CodeGen/PowerPC/aix-cc-abi-mir.ll
    M llvm/test/CodeGen/PowerPC/aix-cc-abi.ll

  Log Message:
  -----------
  [PowerPC] Add special handling for arguments that are smaller than pointer size. (#119003)

When arguments are passed in memory instead of registers we currently
load the entire pointer size even though the argument may be smaller.
For exmaple if the pointer size if i32 then we use a load word even if
the argument is only an i8. This patch zeros / extends the bits that are
not required to ensure that we are getting the correct value even if the
load is larger.


  Commit: bc28be0a428020ea803c94adb4df48ee4972e9f1
      https://github.com/llvm/llvm-project/commit/bc28be0a428020ea803c94adb4df48ee4972e9f1
  Author: Peng Huang <shawn.p.huang at gmail.com>
  Date:   2024-12-12 (Thu, 12 Dec 2024)

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

  Log Message:
  -----------
  [Driver][OHOS] Fix lld link issue for OHOS (#118192)

For ohos targets, libclang_rt.builtins.a, clang_rt.crtbegin.o and
clang_rt.crtend.o are installed in
clang/20/lib/${arch}-unknown-linux-ohos. However OHOS toolchain search
them in clang/20/lib/${arch}-linux-ohos folder. It causes link error.
Fix the problem by seaching both folders.


  Commit: 6f8a363a483489687597e29b8bda0975e821f188
      https://github.com/llvm/llvm-project/commit/6f8a363a483489687597e29b8bda0975e821f188
  Author: AidinT <at.aidin at gmail.com>
  Date:   2024-12-12 (Thu, 12 Dec 2024)

  Changed paths:
    M llvm/docs/tutorial/MyFirstLanguageFrontend/LangImpl07.rst
    M llvm/examples/Kaleidoscope/Chapter7/toy.cpp

  Log Message:
  -----------
  [Kaleidoscope] Add mem2reg pass to function pass manager (#119707)

Kaleidoscope has switched to new pass manager before (#72324), but both
code and tutorial document have some missing parts.

This pull request fixes the following problems:
1. Adds `PromotePass` to the function pass manager. This pass was
removed during the switch from legacy pass manager to the new pass
manager.
2. Syncs the tutorial with the code.


  Commit: 010d0115fc8e3834fc6f747f0841f3b1e467c4da
      https://github.com/llvm/llvm-project/commit/010d0115fc8e3834fc6f747f0841f3b1e467c4da
  Author: erichkeane <ekeane at nvidia.com>
  Date:   2024-12-12 (Thu, 12 Dec 2024)

  Changed paths:
    M clang/include/clang-c/Index.h
    M clang/include/clang/AST/RecursiveASTVisitor.h
    M clang/include/clang/AST/StmtOpenACC.h
    M clang/include/clang/AST/TextNodeDumper.h
    M clang/include/clang/Basic/StmtNodes.td
    M clang/include/clang/Serialization/ASTBitCodes.h
    M clang/lib/AST/StmtOpenACC.cpp
    M clang/lib/AST/StmtPrinter.cpp
    M clang/lib/AST/StmtProfile.cpp
    M clang/lib/AST/TextNodeDumper.cpp
    M clang/lib/CodeGen/CGStmt.cpp
    M clang/lib/CodeGen/CodeGenFunction.h
    M clang/lib/Parse/ParseOpenACC.cpp
    M clang/lib/Sema/SemaExceptionSpec.cpp
    M clang/lib/Sema/SemaOpenACC.cpp
    M clang/lib/Sema/TreeTransform.h
    M clang/lib/Serialization/ASTReaderStmt.cpp
    M clang/lib/Serialization/ASTWriterStmt.cpp
    M clang/lib/StaticAnalyzer/Core/ExprEngine.cpp
    A clang/test/AST/ast-print-openacc-data-construct.cpp
    M clang/test/ParserOpenACC/parse-clauses.c
    M clang/test/ParserOpenACC/parse-clauses.cpp
    M clang/test/ParserOpenACC/parse-constructs.c
    M clang/test/SemaOpenACC/combined-construct-collapse-clause.cpp
    M clang/test/SemaOpenACC/combined-construct-default-clause.c
    M clang/test/SemaOpenACC/combined-construct-if-clause.c
    M clang/test/SemaOpenACC/compute-construct-default-clause.c
    M clang/test/SemaOpenACC/compute-construct-device_type-clause.c
    M clang/test/SemaOpenACC/compute-construct-if-clause.c
    A clang/test/SemaOpenACC/data-construct-ast.cpp
    A clang/test/SemaOpenACC/data-construct.cpp
    M clang/test/SemaOpenACC/loop-construct-collapse-clause.cpp
    M clang/tools/libclang/CIndex.cpp
    M clang/tools/libclang/CXCursor.cpp

  Log Message:
  -----------
  [OpenACC] Create AST nodes for 'data' constructs

These constructs are all very similar and closely related, so this patch
creates the AST nodes for them, serialization, printing/etc.
Additionally the restrictions are all added as tests/todos in the tests,
as those will have to be implemented once we get those clauses implemented.


  Commit: f229ea2ffe9bb8380a4285bd379736aaadaf55ac
      https://github.com/llvm/llvm-project/commit/f229ea2ffe9bb8380a4285bd379736aaadaf55ac
  Author: Haojian Wu <hokein.wu at gmail.com>
  Date:   2024-12-12 (Thu, 12 Dec 2024)

  Changed paths:
    M clang/docs/ReleaseNotes.rst
    M clang/include/clang/Basic/DiagnosticSemaKinds.td

  Log Message:
  -----------
  [clang] Enable the -Wdangling-capture diagnostic by default. (#119685)

We have tested this diagnostics internally, and we don't find see any
issues.


  Commit: a8e66d7f17bc648865cebf6b1e58c7a9071c6a84
      https://github.com/llvm/llvm-project/commit/a8e66d7f17bc648865cebf6b1e58c7a9071c6a84
  Author: iseki <admin at iseki.space>
  Date:   2024-12-12 (Thu, 12 Dec 2024)

  Changed paths:
    M clang/include/clang-c/CXString.h

  Log Message:
  -----------
  [docs] Add a more detailed description in CXString.h. (#119090)

Emmm... Maybe I'm splitting hairs. But I really think the paragraph
should be more detailed. The orginal document makes me confused. Do I
take the ownership of the string data?
Here I don't refer the `clang_disposeString` function, because here's a
`clang_disposeStringSet`.

Co-authored-by: Saleem Abdulrasool <compnerd at compnerd.org>


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

  Changed paths:
    M llvm/lib/DWARFLinker/Parallel/DWARFLinkerCompileUnit.cpp
    M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
    M llvm/unittests/IR/IRBuilderTest.cpp

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

Note that PointerUnion::{is,get} have been soft deprecated in
PointerUnion.h:

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

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


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

  Changed paths:
    M llvm/unittests/ProfileData/MemProfTest.cpp

  Log Message:
  -----------
  [memprof] Use addCallStack in a unit test (NFC) (#119651)

Here IndexedMemProfRecord just needs to reference a CallStackID, so we
can use addCallStack for a real hash-based CallStackId instead of a
fake value like 0x222.


  Commit: 6c8f41d3367476d35ac730abf9f980291737193b
      https://github.com/llvm/llvm-project/commit/6c8f41d3367476d35ac730abf9f980291737193b
  Author: Florian Hahn <flo at fhahn.com>
  Date:   2024-12-12 (Thu, 12 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
    M llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
    M llvm/lib/Transforms/Vectorize/VPlanUnroll.cpp
    M llvm/lib/Transforms/Vectorize/VPlanUtils.cpp
    M llvm/lib/Transforms/Vectorize/VPlanVerifier.cpp
    M llvm/test/Transforms/LoopVectorize/AArch64/sve-tail-folding-forced.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/sve-widen-gep.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/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/vplan-force-tail-with-evl.ll
    M llvm/test/Transforms/LoopVectorize/RISCV/riscv-vector-reverse.ll
    M llvm/test/Transforms/LoopVectorize/RISCV/vplan-vp-intrinsics-reduction.ll
    M llvm/test/Transforms/LoopVectorize/RISCV/vplan-vp-select-intrinsics.ll
    M llvm/test/Transforms/LoopVectorize/first-order-recurrence-chains-vplan.ll
    M llvm/test/Transforms/LoopVectorize/first-order-recurrence-sink-replicate-region.ll
    M llvm/test/Transforms/LoopVectorize/icmp-uniforms.ll
    M llvm/test/Transforms/LoopVectorize/interleave-and-scalarize-only.ll
    M llvm/test/Transforms/LoopVectorize/uncountable-early-exit-vplan.ll
    M llvm/test/Transforms/LoopVectorize/vplan-dot-printing.ll
    M llvm/test/Transforms/LoopVectorize/vplan-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-outer-loop.ll
    M llvm/test/Transforms/LoopVectorize/vplan-printing.ll
    M llvm/test/Transforms/LoopVectorize/vplan-sink-scalars-and-merge-vf1.ll
    M llvm/test/Transforms/LoopVectorize/vplan-sink-scalars-and-merge.ll
    M llvm/test/Transforms/LoopVectorize/vplan-unused-interleave-group.ll
    M llvm/test/Transforms/PhaseOrdering/AArch64/hoist-runtime-checks.ll
    M llvm/test/Transforms/PhaseOrdering/X86/hoist-load-of-baseptr.ll
    M llvm/test/Transforms/PhaseOrdering/X86/preserve-access-group.ll
    M llvm/unittests/Transforms/Vectorize/VPlanHCFGTest.cpp
    M llvm/unittests/Transforms/Vectorize/VPlanTest.cpp
    M llvm/unittests/Transforms/Vectorize/VPlanVerifierTest.cpp

  Log Message:
  -----------
  [VPlan] Hook IR blocks into VPlan during skeleton creation (NFC) (#114292)

As a first step to move towards modeling the full skeleton in VPlan,
start by wrapping IR blocks created during legacy skeleton creation in
VPIRBasicBlocks and hook them into the VPlan. This means the skeleton
CFG is represented in VPlan, just before execute. This allows moving
parts of skeleton creation into recipes in the VPBBs gradually.

Note that this allows retiring some manual DT updates, as this will be
handled automatically during VPlan execution.

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


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

  Changed paths:
    M compiler-rt/lib/builtins/CMakeLists.txt

  Log Message:
  -----------
  [compiler-rt] Don't build SME routines if __arm_cpu_features is not initialised. (#119703)

According to the conversation

[here](https://github.com/llvm/llvm-project/pull/119414#issuecomment-2536495859),
some platforms don't enable `__arm_cpu_features` with a global
constructor, but rather do so lazily when called from the FMV resolver.

PR #119414 removed the CMake guard to check to see if the targetted
platform is baremetal or supports sys/auxv. Without this check, the
routines rely on `__arm_cpu_features` being initialised when they may
not be, depending on the platform.

This PR simply avoids building the SME routines for those platforms for
now.


  Commit: 4aacafd49b74dc168e0d99018b4c8289ce9c923e
      https://github.com/llvm/llvm-project/commit/4aacafd49b74dc168e0d99018b4c8289ce9c923e
  Author: Clement Courbet <courbet at google.com>
  Date:   2024-12-12 (Thu, 12 Dec 2024)

  Changed paths:
    M clang/include/clang/AST/RecursiveASTVisitor.h
    M clang/unittests/AST/ASTContextParentMapTest.cpp
    M clang/unittests/Analysis/FlowSensitive/TransferTest.cpp

  Log Message:
  -----------
  [clang][ASTVisitor] Visit `HoldingVar` from `BindingDecl`. (#117858)

Tuple-like types introduce `VarDecl`s in the AST for their "holding
vars", but AST visitors do not visit those. As a result the `VarDecl`
for the holding var is orphaned when trying to retreive its parents.

Fix a `FlowSensitive` test that assumes that only a `BindingDecl` is
introduced with the given name (the matcher now can also reach the
`VarDecl` for the holding var).


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

  Changed paths:
    M llvm/lib/Target/AArch64/AArch64Subtarget.cpp
    M llvm/test/CodeGen/AArch64/Atomics/aarch64-atomicrmw-lse2_lse128.ll
    M llvm/test/CodeGen/AArch64/Atomics/aarch64-atomicrmw-v8_1a.ll
    M llvm/test/CodeGen/AArch64/Atomics/aarch64_be-atomicrmw-lse2_lse128.ll
    M llvm/test/CodeGen/AArch64/Atomics/aarch64_be-atomicrmw-v8_1a.ll
    M llvm/test/CodeGen/AArch64/GlobalISel/arm64-atomic-128.ll
    M llvm/test/CodeGen/AArch64/GlobalISel/arm64-atomic.ll
    M llvm/test/CodeGen/AArch64/GlobalISel/arm64-pcsections.ll
    M llvm/test/CodeGen/AArch64/GlobalISel/combine-udiv.ll
    M llvm/test/CodeGen/AArch64/GlobalISel/insert-vector-elt-pr63826.ll
    M llvm/test/CodeGen/AArch64/aarch64-addv.ll
    M llvm/test/CodeGen/AArch64/aarch64-be-bv.ll
    M llvm/test/CodeGen/AArch64/aarch64-bf16-dotprod-intrinsics.ll
    M llvm/test/CodeGen/AArch64/aarch64-bif-gen.ll
    M llvm/test/CodeGen/AArch64/aarch64-bit-gen.ll
    M llvm/test/CodeGen/AArch64/aarch64-combine-add-sub-mul.ll
    M llvm/test/CodeGen/AArch64/aarch64-combine-add-zext.ll
    M llvm/test/CodeGen/AArch64/aarch64-dup-ext-scalable.ll
    M llvm/test/CodeGen/AArch64/aarch64-dup-ext.ll
    M llvm/test/CodeGen/AArch64/aarch64-dup-extract-scalable.ll
    M llvm/test/CodeGen/AArch64/aarch64-fold-lslfast.ll
    M llvm/test/CodeGen/AArch64/aarch64-interleaved-access-w-undef.ll
    M llvm/test/CodeGen/AArch64/aarch64-load-ext.ll
    M llvm/test/CodeGen/AArch64/aarch64-matrix-umull-smull.ll
    M llvm/test/CodeGen/AArch64/aarch64-minmaxv.ll
    M llvm/test/CodeGen/AArch64/aarch64-mops-mte.ll
    M llvm/test/CodeGen/AArch64/aarch64-mops.ll
    M llvm/test/CodeGen/AArch64/aarch64-mull-masks.ll
    M llvm/test/CodeGen/AArch64/aarch64-mulv.ll
    M llvm/test/CodeGen/AArch64/aarch64-neon-vector-insert-uaddlv.ll
    M llvm/test/CodeGen/AArch64/aarch64-scalarize-vec-load-ext.ll
    M llvm/test/CodeGen/AArch64/aarch64-sysreg128.ll
    M llvm/test/CodeGen/AArch64/aarch64-wide-shuffle.ll
    M llvm/test/CodeGen/AArch64/abs.ll
    M llvm/test/CodeGen/AArch64/active_lane_mask.ll
    M llvm/test/CodeGen/AArch64/adc.ll
    M llvm/test/CodeGen/AArch64/add-extract.ll
    M llvm/test/CodeGen/AArch64/add.ll
    M llvm/test/CodeGen/AArch64/addimm-mulimm.ll
    M llvm/test/CodeGen/AArch64/addp-shuffle.ll
    M llvm/test/CodeGen/AArch64/addsub_ext.ll
    M llvm/test/CodeGen/AArch64/and-mask-removal.ll
    M llvm/test/CodeGen/AArch64/andorxor.ll
    M llvm/test/CodeGen/AArch64/arm64-abi-varargs.ll
    M llvm/test/CodeGen/AArch64/arm64-addp.ll
    M llvm/test/CodeGen/AArch64/arm64-addr-type-promotion.ll
    M llvm/test/CodeGen/AArch64/arm64-atomic-128.ll
    M llvm/test/CodeGen/AArch64/arm64-bitfield-extract.ll
    M llvm/test/CodeGen/AArch64/arm64-build-vector.ll
    M llvm/test/CodeGen/AArch64/arm64-collect-loh.ll
    M llvm/test/CodeGen/AArch64/arm64-dup.ll
    M llvm/test/CodeGen/AArch64/arm64-ext.ll
    M llvm/test/CodeGen/AArch64/arm64-extract-insert-varidx.ll
    M llvm/test/CodeGen/AArch64/arm64-extract_subvector.ll
    M llvm/test/CodeGen/AArch64/arm64-fcopysign.ll
    M llvm/test/CodeGen/AArch64/arm64-fixed-point-scalar-cvt-dagcombine.ll
    M llvm/test/CodeGen/AArch64/arm64-fmax.ll
    M llvm/test/CodeGen/AArch64/arm64-fp128.ll
    M llvm/test/CodeGen/AArch64/arm64-indexed-vector-ldst.ll
    M llvm/test/CodeGen/AArch64/arm64-instruction-mix-remarks.ll
    M llvm/test/CodeGen/AArch64/arm64-ld1.ll
    M llvm/test/CodeGen/AArch64/arm64-ldxr-stxr.ll
    M llvm/test/CodeGen/AArch64/arm64-mul.ll
    M llvm/test/CodeGen/AArch64/arm64-neon-2velem-high.ll
    M llvm/test/CodeGen/AArch64/arm64-neon-2velem.ll
    M llvm/test/CodeGen/AArch64/arm64-neon-3vdiff.ll
    M llvm/test/CodeGen/AArch64/arm64-neon-add-pairwise.ll
    M llvm/test/CodeGen/AArch64/arm64-neon-copy.ll
    M llvm/test/CodeGen/AArch64/arm64-neon-copyPhysReg-tuple.ll
    M llvm/test/CodeGen/AArch64/arm64-neon-mul-div.ll
    M llvm/test/CodeGen/AArch64/arm64-neon-scalar-by-elem-mul.ll
    M llvm/test/CodeGen/AArch64/arm64-neon-select_cc.ll
    M llvm/test/CodeGen/AArch64/arm64-neon-simd-ldst-one.ll
    M llvm/test/CodeGen/AArch64/arm64-neon-simd-shift.ll
    M llvm/test/CodeGen/AArch64/arm64-neon-simd-vget.ll
    M llvm/test/CodeGen/AArch64/arm64-neon-v1i1-setcc.ll
    M llvm/test/CodeGen/AArch64/arm64-neon-v8.1a.ll
    M llvm/test/CodeGen/AArch64/arm64-nvcast.ll
    M llvm/test/CodeGen/AArch64/arm64-popcnt.ll
    M llvm/test/CodeGen/AArch64/arm64-rev.ll
    M llvm/test/CodeGen/AArch64/arm64-shifted-sext.ll
    M llvm/test/CodeGen/AArch64/arm64-shrink-wrapping.ll
    M llvm/test/CodeGen/AArch64/arm64-stp.ll
    M llvm/test/CodeGen/AArch64/arm64-subvector-extend.ll
    M llvm/test/CodeGen/AArch64/arm64-tbl.ll
    M llvm/test/CodeGen/AArch64/arm64-vadd.ll
    M llvm/test/CodeGen/AArch64/arm64-vaddv.ll
    M llvm/test/CodeGen/AArch64/arm64-vcvt_f.ll
    M llvm/test/CodeGen/AArch64/arm64-vector-insertion.ll
    M llvm/test/CodeGen/AArch64/arm64-vmul.ll
    M llvm/test/CodeGen/AArch64/arm64-zip.ll
    M llvm/test/CodeGen/AArch64/arm64_32-addrs.ll
    M llvm/test/CodeGen/AArch64/arm64ec-entry-thunks.ll
    M llvm/test/CodeGen/AArch64/arm64ec-exit-thunks.ll
    M llvm/test/CodeGen/AArch64/atomic-ops-lse.ll
    M llvm/test/CodeGen/AArch64/atomic-ops-msvc.ll
    M llvm/test/CodeGen/AArch64/atomic-ops.ll
    M llvm/test/CodeGen/AArch64/atomicrmw-fadd.ll
    M llvm/test/CodeGen/AArch64/atomicrmw-fmax.ll
    M llvm/test/CodeGen/AArch64/atomicrmw-fmin.ll
    M llvm/test/CodeGen/AArch64/atomicrmw-fsub.ll
    M llvm/test/CodeGen/AArch64/atomicrmw-xchg-fp.ll
    M llvm/test/CodeGen/AArch64/bf16-instructions.ll
    M llvm/test/CodeGen/AArch64/bf16-select.ll
    M llvm/test/CodeGen/AArch64/bf16-shuffle.ll
    M llvm/test/CodeGen/AArch64/bf16-v4-instructions.ll
    M llvm/test/CodeGen/AArch64/bf16-v8-instructions.ll
    M llvm/test/CodeGen/AArch64/bf16-vector-shuffle.ll
    M llvm/test/CodeGen/AArch64/bitcast-promote-widen.ll
    M llvm/test/CodeGen/AArch64/bitcast.ll
    M llvm/test/CodeGen/AArch64/bitfield-insert.ll
    M llvm/test/CodeGen/AArch64/bswap.ll
    M llvm/test/CodeGen/AArch64/build-one-lane.ll
    M llvm/test/CodeGen/AArch64/build-vector-extract.ll
    M llvm/test/CodeGen/AArch64/build-vector-two-dup.ll
    M llvm/test/CodeGen/AArch64/check-sign-bit-before-extension.ll
    M llvm/test/CodeGen/AArch64/cmp-to-cmn.ll
    M llvm/test/CodeGen/AArch64/cmpxchg-idioms.ll
    M llvm/test/CodeGen/AArch64/combine-andintoload.ll
    M llvm/test/CodeGen/AArch64/complex-deinterleaving-f16-add.ll
    M llvm/test/CodeGen/AArch64/complex-deinterleaving-f16-mul.ll
    M llvm/test/CodeGen/AArch64/complex-deinterleaving-multiuses.ll
    M llvm/test/CodeGen/AArch64/complex-deinterleaving-reductions-predicated-scalable.ll
    M llvm/test/CodeGen/AArch64/complex-deinterleaving-reductions-scalable.ll
    M llvm/test/CodeGen/AArch64/complex-deinterleaving-splat-scalable.ll
    M llvm/test/CodeGen/AArch64/complex-deinterleaving-splat.ll
    M llvm/test/CodeGen/AArch64/complex-deinterleaving-uniform-cases.ll
    M llvm/test/CodeGen/AArch64/concat-vector.ll
    M llvm/test/CodeGen/AArch64/concatbinop.ll
    M llvm/test/CodeGen/AArch64/cvt-fp-int-fp.ll
    M llvm/test/CodeGen/AArch64/dag-numsignbits.ll
    M llvm/test/CodeGen/AArch64/dup.ll
    M llvm/test/CodeGen/AArch64/duplane-index-patfrags.ll
    M llvm/test/CodeGen/AArch64/ext-narrow-index.ll
    M llvm/test/CodeGen/AArch64/extbinopload.ll
    M llvm/test/CodeGen/AArch64/extract-bits.ll
    M llvm/test/CodeGen/AArch64/extract-insert.ll
    M llvm/test/CodeGen/AArch64/extract-lowbits.ll
    M llvm/test/CodeGen/AArch64/extract-sext-zext.ll
    M llvm/test/CodeGen/AArch64/extract-subvec-combine.ll
    M llvm/test/CodeGen/AArch64/extract-vector-cmp.ll
    M llvm/test/CodeGen/AArch64/extract-vector-elt.ll
    M llvm/test/CodeGen/AArch64/f16-instructions.ll
    M llvm/test/CodeGen/AArch64/fabs-fp128.ll
    M llvm/test/CodeGen/AArch64/fabs.ll
    M llvm/test/CodeGen/AArch64/faddp-half.ll
    M llvm/test/CodeGen/AArch64/faddp.ll
    M llvm/test/CodeGen/AArch64/faddsub.ll
    M llvm/test/CodeGen/AArch64/fast-isel-addressing-modes.ll
    M llvm/test/CodeGen/AArch64/fast-isel-gep.ll
    M llvm/test/CodeGen/AArch64/fast-isel-shift.ll
    M llvm/test/CodeGen/AArch64/fcmp.ll
    M llvm/test/CodeGen/AArch64/fcopysign-noneon.ll
    M llvm/test/CodeGen/AArch64/fcopysign.ll
    M llvm/test/CodeGen/AArch64/fcvt.ll
    M llvm/test/CodeGen/AArch64/fcvt_combine.ll
    M llvm/test/CodeGen/AArch64/fdiv-combine.ll
    M llvm/test/CodeGen/AArch64/fdiv.ll
    M llvm/test/CodeGen/AArch64/fexplog.ll
    M llvm/test/CodeGen/AArch64/fixed-point-conv-vec-pat.ll
    M llvm/test/CodeGen/AArch64/fixed-vector-deinterleave.ll
    M llvm/test/CodeGen/AArch64/fixed-vector-interleave.ll
    M llvm/test/CodeGen/AArch64/fmaximum-legalization.ll
    M llvm/test/CodeGen/AArch64/fminimummaximum.ll
    M llvm/test/CodeGen/AArch64/fminmax.ll
    M llvm/test/CodeGen/AArch64/fmla.ll
    M llvm/test/CodeGen/AArch64/fmul.ll
    M llvm/test/CodeGen/AArch64/fneg.ll
    M llvm/test/CodeGen/AArch64/fold-int-pow2-with-fmul-or-fdiv.ll
    M llvm/test/CodeGen/AArch64/fp-conversion-to-tbl.ll
    M llvm/test/CodeGen/AArch64/fp-intrinsics-vector.ll
    M llvm/test/CodeGen/AArch64/fp-maximumnum-minimumnum.ll
    M llvm/test/CodeGen/AArch64/fp16-v8-instructions.ll
    M llvm/test/CodeGen/AArch64/fp16-vector-shuffle.ll
    M llvm/test/CodeGen/AArch64/fp16_intrinsic_lane.ll
    M llvm/test/CodeGen/AArch64/fp8-sve-cvtn.ll
    M llvm/test/CodeGen/AArch64/fpclamptosat_vec.ll
    M llvm/test/CodeGen/AArch64/fpext.ll
    M llvm/test/CodeGen/AArch64/fpmode.ll
    M llvm/test/CodeGen/AArch64/fpow.ll
    M llvm/test/CodeGen/AArch64/fpowi.ll
    M llvm/test/CodeGen/AArch64/fptoi.ll
    M llvm/test/CodeGen/AArch64/fptosi-sat-vector.ll
    M llvm/test/CodeGen/AArch64/fptoui-sat-vector.ll
    M llvm/test/CodeGen/AArch64/fptrunc.ll
    M llvm/test/CodeGen/AArch64/freeze.ll
    M llvm/test/CodeGen/AArch64/frem-power2.ll
    M llvm/test/CodeGen/AArch64/frem.ll
    M llvm/test/CodeGen/AArch64/fsincos.ll
    M llvm/test/CodeGen/AArch64/fsqrt.ll
    M llvm/test/CodeGen/AArch64/funnel-shift.ll
    M llvm/test/CodeGen/AArch64/get-active-lane-mask-extract.ll
    M llvm/test/CodeGen/AArch64/get_vector_length.ll
    M llvm/test/CodeGen/AArch64/half.ll
    M llvm/test/CodeGen/AArch64/hoist-and-by-const-from-lshr-in-eqcmp-zero.ll
    M llvm/test/CodeGen/AArch64/hoist-and-by-const-from-shl-in-eqcmp-zero.ll
    M llvm/test/CodeGen/AArch64/icmp.ll
    M llvm/test/CodeGen/AArch64/implicit-def-remat-requires-impdef-check.mir
    M llvm/test/CodeGen/AArch64/implicit-def-subreg-to-reg-regression.ll
    M llvm/test/CodeGen/AArch64/implicit-def-with-impdef-greedy-assert.mir
    M llvm/test/CodeGen/AArch64/insert-extend.ll
    M llvm/test/CodeGen/AArch64/insert-subvector.ll
    M llvm/test/CodeGen/AArch64/insertextract.ll
    M llvm/test/CodeGen/AArch64/insertshuffleload.ll
    M llvm/test/CodeGen/AArch64/intrinsic-cttz-elts-sve.ll
    M llvm/test/CodeGen/AArch64/intrinsic-vector-match-sve2.ll
    M llvm/test/CodeGen/AArch64/itofp-bf16.ll
    M llvm/test/CodeGen/AArch64/itofp.ll
    M llvm/test/CodeGen/AArch64/ldexp.ll
    M llvm/test/CodeGen/AArch64/llrint-conv-fp16.ll
    M llvm/test/CodeGen/AArch64/llrint-conv.ll
    M llvm/test/CodeGen/AArch64/llround-conv-fp16.ll
    M llvm/test/CodeGen/AArch64/llvm.exp10.ll
    M llvm/test/CodeGen/AArch64/llvm.frexp.ll
    M llvm/test/CodeGen/AArch64/llvm.sincos.ll
    M llvm/test/CodeGen/AArch64/load.ll
    M llvm/test/CodeGen/AArch64/logic-shift.ll
    M llvm/test/CodeGen/AArch64/lrint-conv-fp16.ll
    M llvm/test/CodeGen/AArch64/lrint-conv.ll
    M llvm/test/CodeGen/AArch64/lround-conv-fp16.ll
    M llvm/test/CodeGen/AArch64/lslfast.ll
    M llvm/test/CodeGen/AArch64/machine-combiner-copy.ll
    M llvm/test/CodeGen/AArch64/machine-licm-sub-loop.ll
    M llvm/test/CodeGen/AArch64/memset-inline.ll
    M llvm/test/CodeGen/AArch64/memset-vs-memset-inline.ll
    M llvm/test/CodeGen/AArch64/misched-detail-resource-booking-01.mir
    M llvm/test/CodeGen/AArch64/mla_mls_merge.ll
    M llvm/test/CodeGen/AArch64/mul.ll
    M llvm/test/CodeGen/AArch64/neon-bitcast.ll
    M llvm/test/CodeGen/AArch64/neon-bitwise-instructions.ll
    M llvm/test/CodeGen/AArch64/neon-dot-product.ll
    M llvm/test/CodeGen/AArch64/neon-extadd-extract.ll
    M llvm/test/CodeGen/AArch64/neon-extract.ll
    M llvm/test/CodeGen/AArch64/neon-extracttruncate.ll
    M llvm/test/CodeGen/AArch64/neon-insert-sve-elt.ll
    M llvm/test/CodeGen/AArch64/neon-insextbitcast.ll
    M llvm/test/CodeGen/AArch64/neon-luti.ll
    M llvm/test/CodeGen/AArch64/neon-partial-reduce-dot-product.ll
    M llvm/test/CodeGen/AArch64/neon-perm.ll
    M llvm/test/CodeGen/AArch64/neon-reverseshuffle.ll
    M llvm/test/CodeGen/AArch64/neon-rshrn.ll
    M llvm/test/CodeGen/AArch64/neon-scalar-by-elem-fma.ll
    M llvm/test/CodeGen/AArch64/neon-scalarize-histogram.ll
    M llvm/test/CodeGen/AArch64/neon-shuffle-vector-tbl.ll
    M llvm/test/CodeGen/AArch64/neon-truncstore.ll
    M llvm/test/CodeGen/AArch64/neon-vcmla.ll
    M llvm/test/CodeGen/AArch64/neon-wide-splat.ll
    M llvm/test/CodeGen/AArch64/neon-widen-shuffle.ll
    M llvm/test/CodeGen/AArch64/nontemporal-load.ll
    M llvm/test/CodeGen/AArch64/nontemporal.ll
    M llvm/test/CodeGen/AArch64/phi.ll
    M llvm/test/CodeGen/AArch64/popcount.ll
    M llvm/test/CodeGen/AArch64/pow.ll
    M llvm/test/CodeGen/AArch64/pr-cf624b2.ll
    M llvm/test/CodeGen/AArch64/pr58350.ll
    M llvm/test/CodeGen/AArch64/pr58431.ll
    M llvm/test/CodeGen/AArch64/pr61111.ll
    M llvm/test/CodeGen/AArch64/preserve_nonecc_varargs_win64.ll
    M llvm/test/CodeGen/AArch64/ptradd.ll
    M llvm/test/CodeGen/AArch64/qmovn.ll
    M llvm/test/CodeGen/AArch64/rcpc3.ll
    M llvm/test/CodeGen/AArch64/reduce-and.ll
    M llvm/test/CodeGen/AArch64/reduce-or.ll
    M llvm/test/CodeGen/AArch64/reduce-shuffle.ll
    M llvm/test/CodeGen/AArch64/reduce-xor.ll
    M llvm/test/CodeGen/AArch64/regalloc-last-chance-recolor-with-split.mir
    M llvm/test/CodeGen/AArch64/rem.ll
    M llvm/test/CodeGen/AArch64/round-fptosi-sat-scalar.ll
    M llvm/test/CodeGen/AArch64/select-constant-xor.ll
    M llvm/test/CodeGen/AArch64/seqpairspill.mir
    M llvm/test/CodeGen/AArch64/setcc_knownbits.ll
    M llvm/test/CodeGen/AArch64/sext.ll
    M llvm/test/CodeGen/AArch64/shift-amount-mod.ll
    M llvm/test/CodeGen/AArch64/shift-by-signext.ll
    M llvm/test/CodeGen/AArch64/shift-mod.ll
    M llvm/test/CodeGen/AArch64/shift.ll
    M llvm/test/CodeGen/AArch64/shift_minsize.ll
    M llvm/test/CodeGen/AArch64/shuffle-tbl34.ll
    M llvm/test/CodeGen/AArch64/shuffles.ll
    M llvm/test/CodeGen/AArch64/shufflevector.ll
    M llvm/test/CodeGen/AArch64/sink-and-fold.ll
    M llvm/test/CodeGen/AArch64/sme-aarch64-svcount.ll
    M llvm/test/CodeGen/AArch64/sme-avoid-coalescing-locally-streaming.ll
    M llvm/test/CodeGen/AArch64/sme-intrinsics-loads.ll
    M llvm/test/CodeGen/AArch64/sme-intrinsics-stores.ll
    M llvm/test/CodeGen/AArch64/sme-pstate-sm-changing-call-disable-coalescing.ll
    M llvm/test/CodeGen/AArch64/sme-streaming-body.ll
    M llvm/test/CodeGen/AArch64/sme-streaming-compatible-interface.ll
    M llvm/test/CodeGen/AArch64/sme2-fp8-intrinsics-cvt.ll
    M llvm/test/CodeGen/AArch64/sme2-intrinsics-add-sub-za16.ll
    M llvm/test/CodeGen/AArch64/sme2-intrinsics-add.ll
    M llvm/test/CodeGen/AArch64/sme2-intrinsics-cvtn.ll
    M llvm/test/CodeGen/AArch64/sme2-intrinsics-faminmax.ll
    M llvm/test/CodeGen/AArch64/sme2-intrinsics-fmlas.ll
    M llvm/test/CodeGen/AArch64/sme2-intrinsics-fp-dots.ll
    M llvm/test/CodeGen/AArch64/sme2-intrinsics-fscale.ll
    M llvm/test/CodeGen/AArch64/sme2-intrinsics-insert-mova.ll
    M llvm/test/CodeGen/AArch64/sme2-intrinsics-luti4.ll
    M llvm/test/CodeGen/AArch64/sme2-intrinsics-max.ll
    M llvm/test/CodeGen/AArch64/sme2-intrinsics-min.ll
    M llvm/test/CodeGen/AArch64/sme2-intrinsics-mlall.ll
    M llvm/test/CodeGen/AArch64/sme2-intrinsics-mlals.ll
    M llvm/test/CodeGen/AArch64/sme2-intrinsics-rshl.ll
    M llvm/test/CodeGen/AArch64/sme2-intrinsics-select-sme-tileslice.ll
    M llvm/test/CodeGen/AArch64/sme2-intrinsics-sqdmulh.ll
    M llvm/test/CodeGen/AArch64/sme2-intrinsics-sub.ll
    M llvm/test/CodeGen/AArch64/sme2-intrinsics-vdot.ll
    M llvm/test/CodeGen/AArch64/smul_fix_sat.ll
    M llvm/test/CodeGen/AArch64/spill-fold.mir
    M llvm/test/CodeGen/AArch64/split-vector-insert.ll
    M llvm/test/CodeGen/AArch64/srem-vector-lkk.ll
    M llvm/test/CodeGen/AArch64/store.ll
    M llvm/test/CodeGen/AArch64/sub.ll
    M llvm/test/CodeGen/AArch64/sve-cntp-combine-i32.ll
    M llvm/test/CodeGen/AArch64/sve-doublereduct.ll
    M llvm/test/CodeGen/AArch64/sve-extract-element.ll
    M llvm/test/CodeGen/AArch64/sve-extract-fixed-from-scalable-vector.ll
    M llvm/test/CodeGen/AArch64/sve-extract-fixed-vector.ll
    M llvm/test/CodeGen/AArch64/sve-extract-scalable-vector.ll
    M llvm/test/CodeGen/AArch64/sve-fadda-select.ll
    M llvm/test/CodeGen/AArch64/sve-fixed-length-bit-counting.ll
    M llvm/test/CodeGen/AArch64/sve-fixed-length-concat.ll
    M llvm/test/CodeGen/AArch64/sve-fixed-length-extract-subvector.ll
    M llvm/test/CodeGen/AArch64/sve-fixed-length-extract-vector-elt.ll
    M llvm/test/CodeGen/AArch64/sve-fixed-length-fp-extend-trunc.ll
    M llvm/test/CodeGen/AArch64/sve-fixed-length-fp-reduce.ll
    M llvm/test/CodeGen/AArch64/sve-fixed-length-fp-select.ll
    M llvm/test/CodeGen/AArch64/sve-fixed-length-fp-to-int.ll
    M llvm/test/CodeGen/AArch64/sve-fixed-length-fp128.ll
    M llvm/test/CodeGen/AArch64/sve-fixed-length-insert-vector-elt.ll
    M llvm/test/CodeGen/AArch64/sve-fixed-length-int-arith.ll
    M llvm/test/CodeGen/AArch64/sve-fixed-length-int-div.ll
    M llvm/test/CodeGen/AArch64/sve-fixed-length-int-extends.ll
    M llvm/test/CodeGen/AArch64/sve-fixed-length-int-minmax.ll
    M llvm/test/CodeGen/AArch64/sve-fixed-length-int-mulh.ll
    M llvm/test/CodeGen/AArch64/sve-fixed-length-int-reduce.ll
    M llvm/test/CodeGen/AArch64/sve-fixed-length-int-rem.ll
    M llvm/test/CodeGen/AArch64/sve-fixed-length-int-select.ll
    M llvm/test/CodeGen/AArch64/sve-fixed-length-int-to-fp.ll
    M llvm/test/CodeGen/AArch64/sve-fixed-length-log-reduce.ll
    M llvm/test/CodeGen/AArch64/sve-fixed-length-masked-128bit-loads.ll
    M llvm/test/CodeGen/AArch64/sve-fixed-length-masked-loads.ll
    M llvm/test/CodeGen/AArch64/sve-fixed-length-no-vscale-range.ll
    M llvm/test/CodeGen/AArch64/sve-fixed-length-reshuffle.ll
    M llvm/test/CodeGen/AArch64/sve-fixed-length-rev.ll
    M llvm/test/CodeGen/AArch64/sve-fixed-length-sdiv-pow2.ll
    M llvm/test/CodeGen/AArch64/sve-fixed-length-shuffles.ll
    M llvm/test/CodeGen/AArch64/sve-fixed-length-splat-vector.ll
    M llvm/test/CodeGen/AArch64/sve-fixed-length-subvector.ll
    M llvm/test/CodeGen/AArch64/sve-fixed-length-trunc.ll
    M llvm/test/CodeGen/AArch64/sve-fixed-length-vector-shuffle-tbl.ll
    M llvm/test/CodeGen/AArch64/sve-fixed-vector-llrint.ll
    M llvm/test/CodeGen/AArch64/sve-fixed-vector-lrint.ll
    M llvm/test/CodeGen/AArch64/sve-fp-reduce-fadda.ll
    M llvm/test/CodeGen/AArch64/sve-fp-reduce.ll
    M llvm/test/CodeGen/AArch64/sve-i1-add-reduce.ll
    M llvm/test/CodeGen/AArch64/sve-implicit-zero-filling.ll
    M llvm/test/CodeGen/AArch64/sve-index-const-step-vector.ll
    M llvm/test/CodeGen/AArch64/sve-insert-element.ll
    M llvm/test/CodeGen/AArch64/sve-insert-vector.ll
    M llvm/test/CodeGen/AArch64/sve-int-reduce.ll
    M llvm/test/CodeGen/AArch64/sve-intrinsics-counting-elems-i32.ll
    M llvm/test/CodeGen/AArch64/sve-intrinsics-dup-x.ll
    M llvm/test/CodeGen/AArch64/sve-intrinsics-fp-reduce.ll
    M llvm/test/CodeGen/AArch64/sve-intrinsics-perm-select.ll
    M llvm/test/CodeGen/AArch64/sve-intrinsics-reinterpret.ll
    M llvm/test/CodeGen/AArch64/sve-intrinsics-shifts.ll
    M llvm/test/CodeGen/AArch64/sve-intrinsics-sqdec.ll
    M llvm/test/CodeGen/AArch64/sve-intrinsics-sqinc.ll
    M llvm/test/CodeGen/AArch64/sve-intrinsics-stN-reg-imm-addr-mode.ll
    M llvm/test/CodeGen/AArch64/sve-intrinsics-stN-reg-reg-addr-mode.ll
    M llvm/test/CodeGen/AArch64/sve-intrinsics-stores.ll
    M llvm/test/CodeGen/AArch64/sve-merging-stores.ll
    M llvm/test/CodeGen/AArch64/sve-nontemporal-masked-ldst.ll
    M llvm/test/CodeGen/AArch64/sve-pr62151.ll
    M llvm/test/CodeGen/AArch64/sve-pred-selectop.ll
    M llvm/test/CodeGen/AArch64/sve-select.ll
    M llvm/test/CodeGen/AArch64/sve-split-extract-elt.ll
    M llvm/test/CodeGen/AArch64/sve-split-fp-reduce.ll
    M llvm/test/CodeGen/AArch64/sve-split-int-reduce.ll
    M llvm/test/CodeGen/AArch64/sve-stack-frame-layout.ll
    M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-and-combine.ll
    M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-bit-counting.ll
    M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-bitselect.ll
    M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-build-vector.ll
    M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-concat.ll
    M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-ext-loads.ll
    M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-extract-subvector.ll
    M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-extract-vector-elt.ll
    M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-fcopysign.ll
    M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-fp-arith.ll
    M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-fp-compares.ll
    M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-fp-extend-trunc.ll
    M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-fp-fma.ll
    M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-fp-minmax.ll
    M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-fp-reduce-fa64.ll
    M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-fp-reduce.ll
    M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-fp-rounding.ll
    M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-fp-select.ll
    M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-fp-to-int.ll
    M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-fp-vselect.ll
    M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-insert-vector-elt.ll
    M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-int-arith.ll
    M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-int-compares.ll
    M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-int-div.ll
    M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-int-extends.ll
    M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-int-log.ll
    M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-int-minmax.ll
    M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-int-mla-neon-fa64.ll
    M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-int-mul.ll
    M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-int-mulh.ll
    M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-int-reduce.ll
    M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-int-rem.ll
    M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-int-select.ll
    M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-int-shifts.ll
    M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-int-to-fp.ll
    M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-int-vselect.ll
    M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-ld2-alloca.ll
    M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-limit-duplane.ll
    M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-loads.ll
    M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-log-reduce.ll
    M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-masked-gather-scatter.ll
    M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-masked-load.ll
    M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-masked-store.ll
    M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-permute-rev.ll
    M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-ptest.ll
    M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-reductions.ll
    M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-reshuffle.ll
    M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-rev.ll
    M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-sdiv-pow2.ll
    M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-shuffle.ll
    M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-splat-vector.ll
    M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-trunc-stores.ll
    M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-trunc.ll
    M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-vector-shuffle.ll
    M llvm/test/CodeGen/AArch64/sve-streaming-mode-test-register-mov.ll
    M llvm/test/CodeGen/AArch64/sve-vecreduce-dot.ll
    M llvm/test/CodeGen/AArch64/sve-vector-compress.ll
    M llvm/test/CodeGen/AArch64/sve-vector-splat.ll
    M llvm/test/CodeGen/AArch64/sve-vl-arith.ll
    M llvm/test/CodeGen/AArch64/sve2-histcnt.ll
    M llvm/test/CodeGen/AArch64/sve2-intrinsics-luti.ll
    M llvm/test/CodeGen/AArch64/sve2-intrinsics-perm-tb.ll
    M llvm/test/CodeGen/AArch64/sve2p1-intrinsics-bfclamp.ll
    M llvm/test/CodeGen/AArch64/sve2p1-intrinsics-fclamp.ll
    M llvm/test/CodeGen/AArch64/sve2p1-intrinsics-multivec-stores.ll
    M llvm/test/CodeGen/AArch64/sve2p1-intrinsics-sclamp.ll
    M llvm/test/CodeGen/AArch64/sve2p1-intrinsics-selx4.ll
    M llvm/test/CodeGen/AArch64/sve2p1-intrinsics-stores.ll
    M llvm/test/CodeGen/AArch64/sve2p1-intrinsics-uclamp.ll
    M llvm/test/CodeGen/AArch64/sve2p1-intrinsics-uzpx4.ll
    M llvm/test/CodeGen/AArch64/sve2p1-intrinsics-while-pp.ll
    M llvm/test/CodeGen/AArch64/swift-error-unreachable-use.ll
    M llvm/test/CodeGen/AArch64/tbl-loops.ll
    M llvm/test/CodeGen/AArch64/trunc-to-tbl.ll
    M llvm/test/CodeGen/AArch64/uaddlv-vaddlp-combine.ll
    M llvm/test/CodeGen/AArch64/umul_fix_sat.ll
    M llvm/test/CodeGen/AArch64/urem-vector-lkk.ll
    M llvm/test/CodeGen/AArch64/vec-combine-compare-to-bitmask.ll
    M llvm/test/CodeGen/AArch64/vec-libcalls.ll
    M llvm/test/CodeGen/AArch64/vecreduce-add-legalization.ll
    M llvm/test/CodeGen/AArch64/vecreduce-add.ll
    M llvm/test/CodeGen/AArch64/vecreduce-and-legalization.ll
    M llvm/test/CodeGen/AArch64/vecreduce-bool.ll
    M llvm/test/CodeGen/AArch64/vecreduce-fadd-legalization-strict.ll
    M llvm/test/CodeGen/AArch64/vecreduce-fadd-legalization.ll
    M llvm/test/CodeGen/AArch64/vecreduce-fadd-strict.ll
    M llvm/test/CodeGen/AArch64/vecreduce-fadd.ll
    M llvm/test/CodeGen/AArch64/vecreduce-fmax-legalization-nan.ll
    M llvm/test/CodeGen/AArch64/vecreduce-fmax-legalization.ll
    M llvm/test/CodeGen/AArch64/vecreduce-fmaximum.ll
    M llvm/test/CodeGen/AArch64/vecreduce-fmin-legalization.ll
    M llvm/test/CodeGen/AArch64/vecreduce-fminimum.ll
    M llvm/test/CodeGen/AArch64/vecreduce-fmul-legalization-strict.ll
    M llvm/test/CodeGen/AArch64/vecreduce-fmul-strict.ll
    M llvm/test/CodeGen/AArch64/vecreduce-fmul.ll
    M llvm/test/CodeGen/AArch64/vecreduce-umax-legalization.ll
    M llvm/test/CodeGen/AArch64/vector-compress.ll
    M llvm/test/CodeGen/AArch64/vector-fcopysign.ll
    M llvm/test/CodeGen/AArch64/vector-fcvt.ll
    M llvm/test/CodeGen/AArch64/vector-llrint.ll
    M llvm/test/CodeGen/AArch64/vector-lrint.ll
    M llvm/test/CodeGen/AArch64/vldn_shuffle.ll
    M llvm/test/CodeGen/AArch64/win64-fpowi.ll
    M llvm/test/CodeGen/AArch64/win64_vararg.ll
    M llvm/test/CodeGen/AArch64/xtn.ll
    M llvm/test/CodeGen/AArch64/zext.ll

  Log Message:
  -----------
  [AArch64] Enable subreg liveness tracking by default.

Internal testing didn't flag up any functional- or performance regressions.


  Commit: 60d9e6fba884048e1047a208b61f0dfd8baabaaa
      https://github.com/llvm/llvm-project/commit/60d9e6fba884048e1047a208b61f0dfd8baabaaa
  Author: Jan Ječmen <JanJecmen at users.noreply.github.com>
  Date:   2024-12-12 (Thu, 12 Dec 2024)

  Changed paths:
    M llvm/lib/Transforms/Scalar/InductiveRangeCheckElimination.cpp
    M llvm/test/Transforms/IRCE/low-iterations.ll
    A llvm/test/Transforms/IRCE/profitability.ll

  Log Message:
  -----------
  [IRCE] Relax profitability check (#104659)

IRCE currently has two profitability checks:

1. min number of iterations (10 by default)
2. branch is highly biased (> 15/16)

However, it may still be profitable to eliminate range checks even if
the branch isn't as biased. Consider, for example, a loop with 100
iterations, where IRCE currently eliminates all 100 range checks. The
same range checks performed over a loop with 200 iterations aren't
eliminated because the branch is 50-50.

This patch proposes to relax the profitability checks of IRCE. Namely,
instead of the two checks currenly in place, consider IRCE profitable if
the branch probability scaled by the expected number of iterations
(i.e., the estimated number of eliminated checks) is over a threshold.
This covers the minimum number of iterations check (there are at least
as many iterations as eliminated range checks), and changes the bias
check from a percent of iterations to at least a constant threshold of
eliminated checks.

If the number of iterations can't be estimated, the check falls back to
the current 15/16 likelihood check.


  Commit: bdd365825d0766b6991c8f5443f8a9f76e75011a
      https://github.com/llvm/llvm-project/commit/bdd365825d0766b6991c8f5443f8a9f76e75011a
  Author: Benoit Jacob <jacob.benoit.1 at gmail.com>
  Date:   2024-12-12 (Thu, 12 Dec 2024)

  Changed paths:
    M mlir/lib/Conversion/ComplexToStandard/ComplexToStandard.cpp
    M mlir/test/Conversion/ComplexToStandard/convert-to-standard.mlir

  Log Message:
  -----------
  [MLIR] Fix `ComplexToStandard` lowering of `complex::MulOp` (#119591)

A complex multiplication should lower simply to the familiar 4 real
multiplications, 1 real addition, 1 real subtraction. No special-casing
of infinite or NaN values should be made, instead the complex numbers
should be thought as just vectors of two reals, naturally bottoming out
on the reals' semantics, IEEE754 or otherwise. That is what nearly
everybody else is doing ("nearly" because at the end of this PR
description we pinpoint the actual source of this in C99 `_Complex`),
and this pattern, by trying to do something different, was generating
much larger code, which was much slower and a departure from the
naturally expected floating-point behavior.

This code had originally been introduced in
https://reviews.llvm.org/D105270, which stated this rationale:
> The lowering handles special cases with NaN or infinity like C++.

I don't think that the C++ standard is a particularly important thing to
follow in this instance. What matters more is what people actually do in
practice with complex numbers, which rarely involves the C++
`std::complex` library type.

But out of curiosity, I checked, and the above statement seems
incorrect. The [current C++
standard](https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2023/n4928.pdf)
library specification for `std::complex` does not say anything about the
implementation of complex multiplication: paragraph `[complex.ops]`
falls back on `[complex.member.ops]` which says:
> Effects: Multiplies the complex value rhs by the complex value *this
and stores the product in *this.

I also checked cppreference which often has useful information in case
something changed in a c++ language revision, but likewise, nothing at
all there:
https://en.cppreference.com/w/cpp/numeric/complex/operator_arith3

Finally, I checked in Compiler Explorer what Clang 19 currently
generates:
https://godbolt.org/z/oY7Ks4j95
That is just the familiar 4 multiplications.... and then there is some
weird check (`fcmp`) and conditionally a call to an external `__mulsc3`.
Googled that, found this StackOverflow answer:
https://stackoverflow.com/a/49438578

Summary: this is not about C++ (this post confirms my reading of the C++
standard not mandating anything about this). This is about C, and it
just happens that this C++ standard library implementation bottoms out
on code shared with the C `_Complex` implementation.

Another nuance missing in that SO answer: this is actually
[implementation-defined
behavior](https://en.cppreference.com/w/c/preprocessor/impl). There are
two modes, controlled by
```c
#pragma STDC CX_LIMITED_RANGE {ON,OFF,DEFAULT}
```
It is implementation-defined which is the default. Clang defaults to
OFF, but that's just Clang. In that mode, the check is required:

https://en.cppreference.com/w/c/language/arithmetic_types#Complex_floating_types
And the specific point in the [C99
standard](https://www.open-std.org/jtc1/sc22/wg14/www/docs/n1256.pdf)
is: `G.5.1 Multiplicative operators`.

But set it to ON and the check is gone:
https://godbolt.org/z/aG8fnbYoP

Summary: the argument has moved from C++ to C --- and even there, to
implementation-defined behavior with a standard opt-out mechanism.

Like with C++, I maintain that the C standard is not a particularly
meaningful thing for MLIR to follow here, because people doing business
with complex numbers tend to lower them to real numbers themselves, or
have their own specialized complex types, either way not relying on
C99's `_Complex` type --- and the very poor performance of the
`CX_LIMITED_RANGE OFF` behavior (default in Clang) is certainly a key
reason why people who care prefer to stay away from `_Complex` and
`std::complex`.

A good example that's relevant to MLIR's space is CUDA's `cuComplex`
type (used in the cuBLAS CGEMM interface). Here is its multiplication
function. The comment about competitiveness is interesting: it's not a
quirk of this particular function, it's the spirit underpinning
numerical code that matters.

https://github.com/tpn/cuda-samples/blob/1bf5cd15c51ce80fc9b387c0ff89a9f535b42bf5/v8.0/include/cuComplex.h#L106-L120
```c

/* This implementation could suffer from intermediate overflow even though
 * the final result would be in range. However, various implementations do
 * not guard against this (presumably to avoid losing performance), so we 
 * don't do it either to stay competitive.
 */
__host__ __device__ static __inline__ cuFloatComplex cuCmulf (cuFloatComplex x,
                                                              cuFloatComplex y)
{
    cuFloatComplex prod;
    prod = make_cuFloatComplex  ((cuCrealf(x) * cuCrealf(y)) - 
                                 (cuCimagf(x) * cuCimagf(y)),
                                 (cuCrealf(x) * cuCimagf(y)) + 
                                 (cuCimagf(x) * cuCrealf(y)));
    return prod;
}
```

Another instance in CUTLASS:
https://github.com/NVIDIA/cutlass/blob/main/include/cutlass/complex.h#L231-L236

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


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

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

  Log Message:
  -----------
  [VPlan] Move ::getVectorLoopRegion out of ifdef (NFC).

Fixes a build failure with assertions disabled after
6c8f41d336747.


  Commit: 8eec301fe3ac5fdcb4de4757806661b99c9e6580
      https://github.com/llvm/llvm-project/commit/8eec301fe3ac5fdcb4de4757806661b99c9e6580
  Author: erichkeane <ekeane at nvidia.com>
  Date:   2024-12-12 (Thu, 12 Dec 2024)

  Changed paths:
    M clang/lib/Sema/SemaOpenACC.cpp
    M clang/test/AST/ast-print-openacc-data-construct.cpp
    A clang/test/SemaOpenACC/data-construct-device_type-ast.cpp
    A clang/test/SemaOpenACC/data-construct-device_type-clause.c
    M clang/test/SemaOpenACC/data-construct.cpp

  Log Message:
  -----------
  [OpenACC] Implement 'device_type' for 'data' construct

Semantically this is identical to all other constructs with this tag,
except in this case the 'wait' and 'async' are the only ones allowed
after it. This patch implements that rule using the existing
infrastructure.


  Commit: 4a5f82b43be7328d7b7b4cd9912487fd3f284b49
      https://github.com/llvm/llvm-project/commit/4a5f82b43be7328d7b7b4cd9912487fd3f284b49
  Author: Aleksei Vetrov <vetaleha at gmail.com>
  Date:   2024-12-12 (Thu, 12 Dec 2024)

  Changed paths:
    M llvm/lib/MC/MCParser/AsmParser.cpp
    A llvm/test/MC/ELF/debug-hash-file-empty-dwarf.s
    M llvm/test/MC/ELF/debug-hash-file.s

  Log Message:
  -----------
  [MC] Fix DWARF file table for files with empty DWARF (#119572)

Update root file in DWARF file/line table as soon as we see the first
"#line" directive.

This was moved from "enabledGenDwarfForAssembly", which is called right
before we emit DWARF information. But if the file is empty or contains
expressions that doesn't need DWARF, it is never called, leaving an
original root file and not the file in the "#line" directive.

Add a test checking for this case.

This is reapply of #119229 with the following fix:

"MCContext::setMCLineTableRootFile" has the effect of adding
".debug_line" section to the output, even if DWARF generation is
disabled. Add a check and a test for this case.

Fixes: #119020
Fixes: #119229


  Commit: 6edd867e43cb5eb3bb84561c0490e5ebb9d06d90
      https://github.com/llvm/llvm-project/commit/6edd867e43cb5eb3bb84561c0490e5ebb9d06d90
  Author: Abhina Sreeskantharajan <Abhina.Sreeskantharajan at ibm.com>
  Date:   2024-12-12 (Thu, 12 Dec 2024)

  Changed paths:
    M clang/lib/Basic/SourceManager.cpp

  Log Message:
  -----------
  [SystemZ][z/OS] Replace assert with updated return statement to check if a file size will grow due to conversion


  Commit: 4cce10743d2275710d3d2e0de8013386a9799092
      https://github.com/llvm/llvm-project/commit/4cce10743d2275710d3d2e0de8013386a9799092
  Author: knickish <knickish at gmail.com>
  Date:   2024-12-12 (Thu, 12 Dec 2024)

  Changed paths:
    M llvm/lib/Target/M68k/Disassembler/M68kDisassembler.cpp
    M llvm/lib/Target/M68k/M68kISelDAGToDAG.cpp
    M llvm/lib/Target/M68k/M68kInstrAtomics.td
    M llvm/test/CodeGen/M68k/Atomics/load-store.ll
    M llvm/test/CodeGen/M68k/Atomics/rmw.ll
    A llvm/test/CodeGen/M68k/CodeModel/Large/Atomics/cmpxchg.ll
    A llvm/test/CodeGen/M68k/CodeModel/Large/Atomics/fence.ll
    A llvm/test/CodeGen/M68k/CodeModel/Large/Atomics/load-store.ll
    A llvm/test/CodeGen/M68k/CodeModel/Large/Atomics/rmw.ll
    A llvm/test/CodeGen/M68k/CodeModel/Large/large-pic.ll
    A llvm/test/CodeGen/M68k/CodeModel/Large/large-pie-global-access.ll
    A llvm/test/CodeGen/M68k/CodeModel/Large/large-pie.ll
    A llvm/test/CodeGen/M68k/CodeModel/Large/large-static.ll
    A llvm/test/CodeGen/M68k/CodeModel/Medium/medium-pic.ll
    A llvm/test/CodeGen/M68k/CodeModel/Medium/medium-pie-global-access.ll
    A llvm/test/CodeGen/M68k/CodeModel/Medium/medium-pie.ll
    A llvm/test/CodeGen/M68k/CodeModel/Medium/medium-static.ll
    A llvm/test/CodeGen/M68k/CodeModel/Small/small-pic.ll
    A llvm/test/CodeGen/M68k/CodeModel/Small/small-pie-global-access.ll
    A llvm/test/CodeGen/M68k/CodeModel/Small/small-pie.ll
    A llvm/test/CodeGen/M68k/CodeModel/Small/small-static.ll
    R llvm/test/CodeGen/M68k/CodeModel/large-pic.ll
    R llvm/test/CodeGen/M68k/CodeModel/large-pie-global-access.ll
    R llvm/test/CodeGen/M68k/CodeModel/large-pie.ll
    R llvm/test/CodeGen/M68k/CodeModel/large-static.ll
    R llvm/test/CodeGen/M68k/CodeModel/medium-pic.ll
    R llvm/test/CodeGen/M68k/CodeModel/medium-pie-global-access.ll
    R llvm/test/CodeGen/M68k/CodeModel/medium-pie.ll
    R llvm/test/CodeGen/M68k/CodeModel/medium-static.ll
    R llvm/test/CodeGen/M68k/CodeModel/small-pic.ll
    R llvm/test/CodeGen/M68k/CodeModel/small-pie-global-access.ll
    R llvm/test/CodeGen/M68k/CodeModel/small-pie.ll
    R llvm/test/CodeGen/M68k/CodeModel/small-static.ll
    A llvm/test/CodeGen/M68k/TLS/tls-arid.ll
    M llvm/test/MC/M68k/Atomics/cas.s

  Log Message:
  -----------
  [M68k] Add remaining addressing modes for Atomic operations (#115523)

Had been doing this piece by piece, but makes more sense to do it in a
single PR. Adds support for `ARID`, `PCI`, `PCD`, `AL`, and `ARD`
addressing modes for atomic operations, along with a variety of tests.

The `CodeModel` tests have been rearranged, as some of the new
addressing modes are only exercised under some combinations of
`CodeModel` and relocation mode


  Commit: e17d2b585b4d35b9cab0673cf77a35fa933dd030
      https://github.com/llvm/llvm-project/commit/e17d2b585b4d35b9cab0673cf77a35fa933dd030
  Author: Nick Desaulniers <nickdesaulniers at users.noreply.github.com>
  Date:   2024-12-12 (Thu, 12 Dec 2024)

  Changed paths:
    A libc/docs/headers/arpa/inet.rst
    M libc/docs/headers/index.rst
    A libc/docs/headers/sys/mman.rst
    A libc/utils/docgen/arpa/inet.json
    M libc/utils/docgen/docgen.py
    M libc/utils/docgen/header.py
    A libc/utils/docgen/sys/mman.json

  Log Message:
  -----------
  [libc][docgen] support non-top-level headers (#119621)

such as arpa/inet, sys/*


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

  Changed paths:
    M llvm/lib/Target/AArch64/AArch64Subtarget.cpp
    M llvm/test/CodeGen/AArch64/Atomics/aarch64-atomicrmw-lse2_lse128.ll
    M llvm/test/CodeGen/AArch64/Atomics/aarch64-atomicrmw-v8_1a.ll
    M llvm/test/CodeGen/AArch64/Atomics/aarch64_be-atomicrmw-lse2_lse128.ll
    M llvm/test/CodeGen/AArch64/Atomics/aarch64_be-atomicrmw-v8_1a.ll
    M llvm/test/CodeGen/AArch64/GlobalISel/arm64-atomic-128.ll
    M llvm/test/CodeGen/AArch64/GlobalISel/arm64-atomic.ll
    M llvm/test/CodeGen/AArch64/GlobalISel/arm64-pcsections.ll
    M llvm/test/CodeGen/AArch64/GlobalISel/combine-udiv.ll
    M llvm/test/CodeGen/AArch64/GlobalISel/insert-vector-elt-pr63826.ll
    M llvm/test/CodeGen/AArch64/aarch64-addv.ll
    M llvm/test/CodeGen/AArch64/aarch64-be-bv.ll
    M llvm/test/CodeGen/AArch64/aarch64-bf16-dotprod-intrinsics.ll
    M llvm/test/CodeGen/AArch64/aarch64-bif-gen.ll
    M llvm/test/CodeGen/AArch64/aarch64-bit-gen.ll
    M llvm/test/CodeGen/AArch64/aarch64-combine-add-sub-mul.ll
    M llvm/test/CodeGen/AArch64/aarch64-combine-add-zext.ll
    M llvm/test/CodeGen/AArch64/aarch64-dup-ext-scalable.ll
    M llvm/test/CodeGen/AArch64/aarch64-dup-ext.ll
    M llvm/test/CodeGen/AArch64/aarch64-dup-extract-scalable.ll
    M llvm/test/CodeGen/AArch64/aarch64-fold-lslfast.ll
    M llvm/test/CodeGen/AArch64/aarch64-interleaved-access-w-undef.ll
    M llvm/test/CodeGen/AArch64/aarch64-load-ext.ll
    M llvm/test/CodeGen/AArch64/aarch64-matrix-umull-smull.ll
    M llvm/test/CodeGen/AArch64/aarch64-minmaxv.ll
    M llvm/test/CodeGen/AArch64/aarch64-mops-mte.ll
    M llvm/test/CodeGen/AArch64/aarch64-mops.ll
    M llvm/test/CodeGen/AArch64/aarch64-mull-masks.ll
    M llvm/test/CodeGen/AArch64/aarch64-mulv.ll
    M llvm/test/CodeGen/AArch64/aarch64-neon-vector-insert-uaddlv.ll
    M llvm/test/CodeGen/AArch64/aarch64-scalarize-vec-load-ext.ll
    M llvm/test/CodeGen/AArch64/aarch64-sysreg128.ll
    M llvm/test/CodeGen/AArch64/aarch64-wide-shuffle.ll
    M llvm/test/CodeGen/AArch64/abs.ll
    M llvm/test/CodeGen/AArch64/active_lane_mask.ll
    M llvm/test/CodeGen/AArch64/adc.ll
    M llvm/test/CodeGen/AArch64/add-extract.ll
    M llvm/test/CodeGen/AArch64/add.ll
    M llvm/test/CodeGen/AArch64/addimm-mulimm.ll
    M llvm/test/CodeGen/AArch64/addp-shuffle.ll
    M llvm/test/CodeGen/AArch64/addsub_ext.ll
    M llvm/test/CodeGen/AArch64/and-mask-removal.ll
    M llvm/test/CodeGen/AArch64/andorxor.ll
    M llvm/test/CodeGen/AArch64/arm64-abi-varargs.ll
    M llvm/test/CodeGen/AArch64/arm64-addp.ll
    M llvm/test/CodeGen/AArch64/arm64-addr-type-promotion.ll
    M llvm/test/CodeGen/AArch64/arm64-atomic-128.ll
    M llvm/test/CodeGen/AArch64/arm64-bitfield-extract.ll
    M llvm/test/CodeGen/AArch64/arm64-build-vector.ll
    M llvm/test/CodeGen/AArch64/arm64-collect-loh.ll
    M llvm/test/CodeGen/AArch64/arm64-dup.ll
    M llvm/test/CodeGen/AArch64/arm64-ext.ll
    M llvm/test/CodeGen/AArch64/arm64-extract-insert-varidx.ll
    M llvm/test/CodeGen/AArch64/arm64-extract_subvector.ll
    M llvm/test/CodeGen/AArch64/arm64-fcopysign.ll
    M llvm/test/CodeGen/AArch64/arm64-fixed-point-scalar-cvt-dagcombine.ll
    M llvm/test/CodeGen/AArch64/arm64-fmax.ll
    M llvm/test/CodeGen/AArch64/arm64-fp128.ll
    M llvm/test/CodeGen/AArch64/arm64-indexed-vector-ldst.ll
    M llvm/test/CodeGen/AArch64/arm64-instruction-mix-remarks.ll
    M llvm/test/CodeGen/AArch64/arm64-ld1.ll
    M llvm/test/CodeGen/AArch64/arm64-ldxr-stxr.ll
    M llvm/test/CodeGen/AArch64/arm64-mul.ll
    M llvm/test/CodeGen/AArch64/arm64-neon-2velem-high.ll
    M llvm/test/CodeGen/AArch64/arm64-neon-2velem.ll
    M llvm/test/CodeGen/AArch64/arm64-neon-3vdiff.ll
    M llvm/test/CodeGen/AArch64/arm64-neon-add-pairwise.ll
    M llvm/test/CodeGen/AArch64/arm64-neon-copy.ll
    M llvm/test/CodeGen/AArch64/arm64-neon-copyPhysReg-tuple.ll
    M llvm/test/CodeGen/AArch64/arm64-neon-mul-div.ll
    M llvm/test/CodeGen/AArch64/arm64-neon-scalar-by-elem-mul.ll
    M llvm/test/CodeGen/AArch64/arm64-neon-select_cc.ll
    M llvm/test/CodeGen/AArch64/arm64-neon-simd-ldst-one.ll
    M llvm/test/CodeGen/AArch64/arm64-neon-simd-shift.ll
    M llvm/test/CodeGen/AArch64/arm64-neon-simd-vget.ll
    M llvm/test/CodeGen/AArch64/arm64-neon-v1i1-setcc.ll
    M llvm/test/CodeGen/AArch64/arm64-neon-v8.1a.ll
    M llvm/test/CodeGen/AArch64/arm64-nvcast.ll
    M llvm/test/CodeGen/AArch64/arm64-popcnt.ll
    M llvm/test/CodeGen/AArch64/arm64-rev.ll
    M llvm/test/CodeGen/AArch64/arm64-shifted-sext.ll
    M llvm/test/CodeGen/AArch64/arm64-shrink-wrapping.ll
    M llvm/test/CodeGen/AArch64/arm64-stp.ll
    M llvm/test/CodeGen/AArch64/arm64-subvector-extend.ll
    M llvm/test/CodeGen/AArch64/arm64-tbl.ll
    M llvm/test/CodeGen/AArch64/arm64-vadd.ll
    M llvm/test/CodeGen/AArch64/arm64-vaddv.ll
    M llvm/test/CodeGen/AArch64/arm64-vcvt_f.ll
    M llvm/test/CodeGen/AArch64/arm64-vector-insertion.ll
    M llvm/test/CodeGen/AArch64/arm64-vmul.ll
    M llvm/test/CodeGen/AArch64/arm64-zip.ll
    M llvm/test/CodeGen/AArch64/arm64_32-addrs.ll
    M llvm/test/CodeGen/AArch64/arm64ec-entry-thunks.ll
    M llvm/test/CodeGen/AArch64/arm64ec-exit-thunks.ll
    M llvm/test/CodeGen/AArch64/atomic-ops-lse.ll
    M llvm/test/CodeGen/AArch64/atomic-ops-msvc.ll
    M llvm/test/CodeGen/AArch64/atomic-ops.ll
    M llvm/test/CodeGen/AArch64/atomicrmw-fadd.ll
    M llvm/test/CodeGen/AArch64/atomicrmw-fmax.ll
    M llvm/test/CodeGen/AArch64/atomicrmw-fmin.ll
    M llvm/test/CodeGen/AArch64/atomicrmw-fsub.ll
    M llvm/test/CodeGen/AArch64/atomicrmw-xchg-fp.ll
    M llvm/test/CodeGen/AArch64/bf16-instructions.ll
    M llvm/test/CodeGen/AArch64/bf16-select.ll
    M llvm/test/CodeGen/AArch64/bf16-shuffle.ll
    M llvm/test/CodeGen/AArch64/bf16-v4-instructions.ll
    M llvm/test/CodeGen/AArch64/bf16-v8-instructions.ll
    M llvm/test/CodeGen/AArch64/bf16-vector-shuffle.ll
    M llvm/test/CodeGen/AArch64/bitcast-promote-widen.ll
    M llvm/test/CodeGen/AArch64/bitcast.ll
    M llvm/test/CodeGen/AArch64/bitfield-insert.ll
    M llvm/test/CodeGen/AArch64/bswap.ll
    M llvm/test/CodeGen/AArch64/build-one-lane.ll
    M llvm/test/CodeGen/AArch64/build-vector-extract.ll
    M llvm/test/CodeGen/AArch64/build-vector-two-dup.ll
    M llvm/test/CodeGen/AArch64/check-sign-bit-before-extension.ll
    M llvm/test/CodeGen/AArch64/cmp-to-cmn.ll
    M llvm/test/CodeGen/AArch64/cmpxchg-idioms.ll
    M llvm/test/CodeGen/AArch64/combine-andintoload.ll
    M llvm/test/CodeGen/AArch64/complex-deinterleaving-f16-add.ll
    M llvm/test/CodeGen/AArch64/complex-deinterleaving-f16-mul.ll
    M llvm/test/CodeGen/AArch64/complex-deinterleaving-multiuses.ll
    M llvm/test/CodeGen/AArch64/complex-deinterleaving-reductions-predicated-scalable.ll
    M llvm/test/CodeGen/AArch64/complex-deinterleaving-reductions-scalable.ll
    M llvm/test/CodeGen/AArch64/complex-deinterleaving-splat-scalable.ll
    M llvm/test/CodeGen/AArch64/complex-deinterleaving-splat.ll
    M llvm/test/CodeGen/AArch64/complex-deinterleaving-uniform-cases.ll
    M llvm/test/CodeGen/AArch64/concat-vector.ll
    M llvm/test/CodeGen/AArch64/concatbinop.ll
    M llvm/test/CodeGen/AArch64/cvt-fp-int-fp.ll
    M llvm/test/CodeGen/AArch64/dag-numsignbits.ll
    M llvm/test/CodeGen/AArch64/dup.ll
    M llvm/test/CodeGen/AArch64/duplane-index-patfrags.ll
    M llvm/test/CodeGen/AArch64/ext-narrow-index.ll
    M llvm/test/CodeGen/AArch64/extbinopload.ll
    M llvm/test/CodeGen/AArch64/extract-bits.ll
    M llvm/test/CodeGen/AArch64/extract-insert.ll
    M llvm/test/CodeGen/AArch64/extract-lowbits.ll
    M llvm/test/CodeGen/AArch64/extract-sext-zext.ll
    M llvm/test/CodeGen/AArch64/extract-subvec-combine.ll
    M llvm/test/CodeGen/AArch64/extract-vector-cmp.ll
    M llvm/test/CodeGen/AArch64/extract-vector-elt.ll
    M llvm/test/CodeGen/AArch64/f16-instructions.ll
    M llvm/test/CodeGen/AArch64/fabs-fp128.ll
    M llvm/test/CodeGen/AArch64/fabs.ll
    M llvm/test/CodeGen/AArch64/faddp-half.ll
    M llvm/test/CodeGen/AArch64/faddp.ll
    M llvm/test/CodeGen/AArch64/faddsub.ll
    M llvm/test/CodeGen/AArch64/fast-isel-addressing-modes.ll
    M llvm/test/CodeGen/AArch64/fast-isel-gep.ll
    M llvm/test/CodeGen/AArch64/fast-isel-shift.ll
    M llvm/test/CodeGen/AArch64/fcmp.ll
    M llvm/test/CodeGen/AArch64/fcopysign-noneon.ll
    M llvm/test/CodeGen/AArch64/fcopysign.ll
    M llvm/test/CodeGen/AArch64/fcvt.ll
    M llvm/test/CodeGen/AArch64/fcvt_combine.ll
    M llvm/test/CodeGen/AArch64/fdiv-combine.ll
    M llvm/test/CodeGen/AArch64/fdiv.ll
    M llvm/test/CodeGen/AArch64/fexplog.ll
    M llvm/test/CodeGen/AArch64/fixed-point-conv-vec-pat.ll
    M llvm/test/CodeGen/AArch64/fixed-vector-deinterleave.ll
    M llvm/test/CodeGen/AArch64/fixed-vector-interleave.ll
    M llvm/test/CodeGen/AArch64/fmaximum-legalization.ll
    M llvm/test/CodeGen/AArch64/fminimummaximum.ll
    M llvm/test/CodeGen/AArch64/fminmax.ll
    M llvm/test/CodeGen/AArch64/fmla.ll
    M llvm/test/CodeGen/AArch64/fmul.ll
    M llvm/test/CodeGen/AArch64/fneg.ll
    M llvm/test/CodeGen/AArch64/fold-int-pow2-with-fmul-or-fdiv.ll
    M llvm/test/CodeGen/AArch64/fp-conversion-to-tbl.ll
    M llvm/test/CodeGen/AArch64/fp-intrinsics-vector.ll
    M llvm/test/CodeGen/AArch64/fp-maximumnum-minimumnum.ll
    M llvm/test/CodeGen/AArch64/fp16-v8-instructions.ll
    M llvm/test/CodeGen/AArch64/fp16-vector-shuffle.ll
    M llvm/test/CodeGen/AArch64/fp16_intrinsic_lane.ll
    M llvm/test/CodeGen/AArch64/fp8-sve-cvtn.ll
    M llvm/test/CodeGen/AArch64/fpclamptosat_vec.ll
    M llvm/test/CodeGen/AArch64/fpext.ll
    M llvm/test/CodeGen/AArch64/fpmode.ll
    M llvm/test/CodeGen/AArch64/fpow.ll
    M llvm/test/CodeGen/AArch64/fpowi.ll
    M llvm/test/CodeGen/AArch64/fptoi.ll
    M llvm/test/CodeGen/AArch64/fptosi-sat-vector.ll
    M llvm/test/CodeGen/AArch64/fptoui-sat-vector.ll
    M llvm/test/CodeGen/AArch64/fptrunc.ll
    M llvm/test/CodeGen/AArch64/freeze.ll
    M llvm/test/CodeGen/AArch64/frem-power2.ll
    M llvm/test/CodeGen/AArch64/frem.ll
    M llvm/test/CodeGen/AArch64/fsincos.ll
    M llvm/test/CodeGen/AArch64/fsqrt.ll
    M llvm/test/CodeGen/AArch64/funnel-shift.ll
    M llvm/test/CodeGen/AArch64/get-active-lane-mask-extract.ll
    M llvm/test/CodeGen/AArch64/get_vector_length.ll
    M llvm/test/CodeGen/AArch64/half.ll
    M llvm/test/CodeGen/AArch64/hoist-and-by-const-from-lshr-in-eqcmp-zero.ll
    M llvm/test/CodeGen/AArch64/hoist-and-by-const-from-shl-in-eqcmp-zero.ll
    M llvm/test/CodeGen/AArch64/icmp.ll
    M llvm/test/CodeGen/AArch64/implicit-def-remat-requires-impdef-check.mir
    M llvm/test/CodeGen/AArch64/implicit-def-subreg-to-reg-regression.ll
    M llvm/test/CodeGen/AArch64/implicit-def-with-impdef-greedy-assert.mir
    M llvm/test/CodeGen/AArch64/insert-extend.ll
    M llvm/test/CodeGen/AArch64/insert-subvector.ll
    M llvm/test/CodeGen/AArch64/insertextract.ll
    M llvm/test/CodeGen/AArch64/insertshuffleload.ll
    M llvm/test/CodeGen/AArch64/intrinsic-cttz-elts-sve.ll
    M llvm/test/CodeGen/AArch64/intrinsic-vector-match-sve2.ll
    M llvm/test/CodeGen/AArch64/itofp-bf16.ll
    M llvm/test/CodeGen/AArch64/itofp.ll
    M llvm/test/CodeGen/AArch64/ldexp.ll
    M llvm/test/CodeGen/AArch64/llrint-conv-fp16.ll
    M llvm/test/CodeGen/AArch64/llrint-conv.ll
    M llvm/test/CodeGen/AArch64/llround-conv-fp16.ll
    M llvm/test/CodeGen/AArch64/llvm.exp10.ll
    M llvm/test/CodeGen/AArch64/llvm.frexp.ll
    M llvm/test/CodeGen/AArch64/llvm.sincos.ll
    M llvm/test/CodeGen/AArch64/load.ll
    M llvm/test/CodeGen/AArch64/logic-shift.ll
    M llvm/test/CodeGen/AArch64/lrint-conv-fp16.ll
    M llvm/test/CodeGen/AArch64/lrint-conv.ll
    M llvm/test/CodeGen/AArch64/lround-conv-fp16.ll
    M llvm/test/CodeGen/AArch64/lslfast.ll
    M llvm/test/CodeGen/AArch64/machine-combiner-copy.ll
    M llvm/test/CodeGen/AArch64/machine-licm-sub-loop.ll
    M llvm/test/CodeGen/AArch64/memset-inline.ll
    M llvm/test/CodeGen/AArch64/memset-vs-memset-inline.ll
    M llvm/test/CodeGen/AArch64/misched-detail-resource-booking-01.mir
    M llvm/test/CodeGen/AArch64/mla_mls_merge.ll
    M llvm/test/CodeGen/AArch64/mul.ll
    M llvm/test/CodeGen/AArch64/neon-bitcast.ll
    M llvm/test/CodeGen/AArch64/neon-bitwise-instructions.ll
    M llvm/test/CodeGen/AArch64/neon-dot-product.ll
    M llvm/test/CodeGen/AArch64/neon-extadd-extract.ll
    M llvm/test/CodeGen/AArch64/neon-extract.ll
    M llvm/test/CodeGen/AArch64/neon-extracttruncate.ll
    M llvm/test/CodeGen/AArch64/neon-insert-sve-elt.ll
    M llvm/test/CodeGen/AArch64/neon-insextbitcast.ll
    M llvm/test/CodeGen/AArch64/neon-luti.ll
    M llvm/test/CodeGen/AArch64/neon-partial-reduce-dot-product.ll
    M llvm/test/CodeGen/AArch64/neon-perm.ll
    M llvm/test/CodeGen/AArch64/neon-reverseshuffle.ll
    M llvm/test/CodeGen/AArch64/neon-rshrn.ll
    M llvm/test/CodeGen/AArch64/neon-scalar-by-elem-fma.ll
    M llvm/test/CodeGen/AArch64/neon-scalarize-histogram.ll
    M llvm/test/CodeGen/AArch64/neon-shuffle-vector-tbl.ll
    M llvm/test/CodeGen/AArch64/neon-truncstore.ll
    M llvm/test/CodeGen/AArch64/neon-vcmla.ll
    M llvm/test/CodeGen/AArch64/neon-wide-splat.ll
    M llvm/test/CodeGen/AArch64/neon-widen-shuffle.ll
    M llvm/test/CodeGen/AArch64/nontemporal-load.ll
    M llvm/test/CodeGen/AArch64/nontemporal.ll
    M llvm/test/CodeGen/AArch64/phi.ll
    M llvm/test/CodeGen/AArch64/popcount.ll
    M llvm/test/CodeGen/AArch64/pow.ll
    M llvm/test/CodeGen/AArch64/pr-cf624b2.ll
    M llvm/test/CodeGen/AArch64/pr58350.ll
    M llvm/test/CodeGen/AArch64/pr58431.ll
    M llvm/test/CodeGen/AArch64/pr61111.ll
    M llvm/test/CodeGen/AArch64/preserve_nonecc_varargs_win64.ll
    M llvm/test/CodeGen/AArch64/ptradd.ll
    M llvm/test/CodeGen/AArch64/qmovn.ll
    M llvm/test/CodeGen/AArch64/rcpc3.ll
    M llvm/test/CodeGen/AArch64/reduce-and.ll
    M llvm/test/CodeGen/AArch64/reduce-or.ll
    M llvm/test/CodeGen/AArch64/reduce-shuffle.ll
    M llvm/test/CodeGen/AArch64/reduce-xor.ll
    M llvm/test/CodeGen/AArch64/regalloc-last-chance-recolor-with-split.mir
    M llvm/test/CodeGen/AArch64/rem.ll
    M llvm/test/CodeGen/AArch64/round-fptosi-sat-scalar.ll
    M llvm/test/CodeGen/AArch64/select-constant-xor.ll
    M llvm/test/CodeGen/AArch64/seqpairspill.mir
    M llvm/test/CodeGen/AArch64/setcc_knownbits.ll
    M llvm/test/CodeGen/AArch64/sext.ll
    M llvm/test/CodeGen/AArch64/shift-amount-mod.ll
    M llvm/test/CodeGen/AArch64/shift-by-signext.ll
    M llvm/test/CodeGen/AArch64/shift-mod.ll
    M llvm/test/CodeGen/AArch64/shift.ll
    M llvm/test/CodeGen/AArch64/shift_minsize.ll
    M llvm/test/CodeGen/AArch64/shuffle-tbl34.ll
    M llvm/test/CodeGen/AArch64/shuffles.ll
    M llvm/test/CodeGen/AArch64/shufflevector.ll
    M llvm/test/CodeGen/AArch64/sink-and-fold.ll
    M llvm/test/CodeGen/AArch64/sme-aarch64-svcount.ll
    M llvm/test/CodeGen/AArch64/sme-avoid-coalescing-locally-streaming.ll
    M llvm/test/CodeGen/AArch64/sme-intrinsics-loads.ll
    M llvm/test/CodeGen/AArch64/sme-intrinsics-stores.ll
    M llvm/test/CodeGen/AArch64/sme-pstate-sm-changing-call-disable-coalescing.ll
    M llvm/test/CodeGen/AArch64/sme-streaming-body.ll
    M llvm/test/CodeGen/AArch64/sme-streaming-compatible-interface.ll
    M llvm/test/CodeGen/AArch64/sme2-fp8-intrinsics-cvt.ll
    M llvm/test/CodeGen/AArch64/sme2-intrinsics-add-sub-za16.ll
    M llvm/test/CodeGen/AArch64/sme2-intrinsics-add.ll
    M llvm/test/CodeGen/AArch64/sme2-intrinsics-cvtn.ll
    M llvm/test/CodeGen/AArch64/sme2-intrinsics-faminmax.ll
    M llvm/test/CodeGen/AArch64/sme2-intrinsics-fmlas.ll
    M llvm/test/CodeGen/AArch64/sme2-intrinsics-fp-dots.ll
    M llvm/test/CodeGen/AArch64/sme2-intrinsics-fscale.ll
    M llvm/test/CodeGen/AArch64/sme2-intrinsics-insert-mova.ll
    M llvm/test/CodeGen/AArch64/sme2-intrinsics-luti4.ll
    M llvm/test/CodeGen/AArch64/sme2-intrinsics-max.ll
    M llvm/test/CodeGen/AArch64/sme2-intrinsics-min.ll
    M llvm/test/CodeGen/AArch64/sme2-intrinsics-mlall.ll
    M llvm/test/CodeGen/AArch64/sme2-intrinsics-mlals.ll
    M llvm/test/CodeGen/AArch64/sme2-intrinsics-rshl.ll
    M llvm/test/CodeGen/AArch64/sme2-intrinsics-select-sme-tileslice.ll
    M llvm/test/CodeGen/AArch64/sme2-intrinsics-sqdmulh.ll
    M llvm/test/CodeGen/AArch64/sme2-intrinsics-sub.ll
    M llvm/test/CodeGen/AArch64/sme2-intrinsics-vdot.ll
    M llvm/test/CodeGen/AArch64/smul_fix_sat.ll
    M llvm/test/CodeGen/AArch64/spill-fold.mir
    M llvm/test/CodeGen/AArch64/split-vector-insert.ll
    M llvm/test/CodeGen/AArch64/srem-vector-lkk.ll
    M llvm/test/CodeGen/AArch64/store.ll
    M llvm/test/CodeGen/AArch64/sub.ll
    M llvm/test/CodeGen/AArch64/sve-cntp-combine-i32.ll
    M llvm/test/CodeGen/AArch64/sve-doublereduct.ll
    M llvm/test/CodeGen/AArch64/sve-extract-element.ll
    M llvm/test/CodeGen/AArch64/sve-extract-fixed-from-scalable-vector.ll
    M llvm/test/CodeGen/AArch64/sve-extract-fixed-vector.ll
    M llvm/test/CodeGen/AArch64/sve-extract-scalable-vector.ll
    M llvm/test/CodeGen/AArch64/sve-fadda-select.ll
    M llvm/test/CodeGen/AArch64/sve-fixed-length-bit-counting.ll
    M llvm/test/CodeGen/AArch64/sve-fixed-length-concat.ll
    M llvm/test/CodeGen/AArch64/sve-fixed-length-extract-subvector.ll
    M llvm/test/CodeGen/AArch64/sve-fixed-length-extract-vector-elt.ll
    M llvm/test/CodeGen/AArch64/sve-fixed-length-fp-extend-trunc.ll
    M llvm/test/CodeGen/AArch64/sve-fixed-length-fp-reduce.ll
    M llvm/test/CodeGen/AArch64/sve-fixed-length-fp-select.ll
    M llvm/test/CodeGen/AArch64/sve-fixed-length-fp-to-int.ll
    M llvm/test/CodeGen/AArch64/sve-fixed-length-fp128.ll
    M llvm/test/CodeGen/AArch64/sve-fixed-length-insert-vector-elt.ll
    M llvm/test/CodeGen/AArch64/sve-fixed-length-int-arith.ll
    M llvm/test/CodeGen/AArch64/sve-fixed-length-int-div.ll
    M llvm/test/CodeGen/AArch64/sve-fixed-length-int-extends.ll
    M llvm/test/CodeGen/AArch64/sve-fixed-length-int-minmax.ll
    M llvm/test/CodeGen/AArch64/sve-fixed-length-int-mulh.ll
    M llvm/test/CodeGen/AArch64/sve-fixed-length-int-reduce.ll
    M llvm/test/CodeGen/AArch64/sve-fixed-length-int-rem.ll
    M llvm/test/CodeGen/AArch64/sve-fixed-length-int-select.ll
    M llvm/test/CodeGen/AArch64/sve-fixed-length-int-to-fp.ll
    M llvm/test/CodeGen/AArch64/sve-fixed-length-log-reduce.ll
    M llvm/test/CodeGen/AArch64/sve-fixed-length-masked-128bit-loads.ll
    M llvm/test/CodeGen/AArch64/sve-fixed-length-masked-loads.ll
    M llvm/test/CodeGen/AArch64/sve-fixed-length-no-vscale-range.ll
    M llvm/test/CodeGen/AArch64/sve-fixed-length-reshuffle.ll
    M llvm/test/CodeGen/AArch64/sve-fixed-length-rev.ll
    M llvm/test/CodeGen/AArch64/sve-fixed-length-sdiv-pow2.ll
    M llvm/test/CodeGen/AArch64/sve-fixed-length-shuffles.ll
    M llvm/test/CodeGen/AArch64/sve-fixed-length-splat-vector.ll
    M llvm/test/CodeGen/AArch64/sve-fixed-length-subvector.ll
    M llvm/test/CodeGen/AArch64/sve-fixed-length-trunc.ll
    M llvm/test/CodeGen/AArch64/sve-fixed-length-vector-shuffle-tbl.ll
    M llvm/test/CodeGen/AArch64/sve-fixed-vector-llrint.ll
    M llvm/test/CodeGen/AArch64/sve-fixed-vector-lrint.ll
    M llvm/test/CodeGen/AArch64/sve-fp-reduce-fadda.ll
    M llvm/test/CodeGen/AArch64/sve-fp-reduce.ll
    M llvm/test/CodeGen/AArch64/sve-i1-add-reduce.ll
    M llvm/test/CodeGen/AArch64/sve-implicit-zero-filling.ll
    M llvm/test/CodeGen/AArch64/sve-index-const-step-vector.ll
    M llvm/test/CodeGen/AArch64/sve-insert-element.ll
    M llvm/test/CodeGen/AArch64/sve-insert-vector.ll
    M llvm/test/CodeGen/AArch64/sve-int-reduce.ll
    M llvm/test/CodeGen/AArch64/sve-intrinsics-counting-elems-i32.ll
    M llvm/test/CodeGen/AArch64/sve-intrinsics-dup-x.ll
    M llvm/test/CodeGen/AArch64/sve-intrinsics-fp-reduce.ll
    M llvm/test/CodeGen/AArch64/sve-intrinsics-perm-select.ll
    M llvm/test/CodeGen/AArch64/sve-intrinsics-reinterpret.ll
    M llvm/test/CodeGen/AArch64/sve-intrinsics-shifts.ll
    M llvm/test/CodeGen/AArch64/sve-intrinsics-sqdec.ll
    M llvm/test/CodeGen/AArch64/sve-intrinsics-sqinc.ll
    M llvm/test/CodeGen/AArch64/sve-intrinsics-stN-reg-imm-addr-mode.ll
    M llvm/test/CodeGen/AArch64/sve-intrinsics-stN-reg-reg-addr-mode.ll
    M llvm/test/CodeGen/AArch64/sve-intrinsics-stores.ll
    M llvm/test/CodeGen/AArch64/sve-merging-stores.ll
    M llvm/test/CodeGen/AArch64/sve-nontemporal-masked-ldst.ll
    M llvm/test/CodeGen/AArch64/sve-pr62151.ll
    M llvm/test/CodeGen/AArch64/sve-pred-selectop.ll
    M llvm/test/CodeGen/AArch64/sve-select.ll
    M llvm/test/CodeGen/AArch64/sve-split-extract-elt.ll
    M llvm/test/CodeGen/AArch64/sve-split-fp-reduce.ll
    M llvm/test/CodeGen/AArch64/sve-split-int-reduce.ll
    M llvm/test/CodeGen/AArch64/sve-stack-frame-layout.ll
    M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-and-combine.ll
    M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-bit-counting.ll
    M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-bitselect.ll
    M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-build-vector.ll
    M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-concat.ll
    M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-ext-loads.ll
    M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-extract-subvector.ll
    M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-extract-vector-elt.ll
    M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-fcopysign.ll
    M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-fp-arith.ll
    M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-fp-compares.ll
    M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-fp-extend-trunc.ll
    M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-fp-fma.ll
    M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-fp-minmax.ll
    M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-fp-reduce-fa64.ll
    M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-fp-reduce.ll
    M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-fp-rounding.ll
    M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-fp-select.ll
    M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-fp-to-int.ll
    M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-fp-vselect.ll
    M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-insert-vector-elt.ll
    M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-int-arith.ll
    M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-int-compares.ll
    M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-int-div.ll
    M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-int-extends.ll
    M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-int-log.ll
    M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-int-minmax.ll
    M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-int-mla-neon-fa64.ll
    M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-int-mul.ll
    M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-int-mulh.ll
    M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-int-reduce.ll
    M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-int-rem.ll
    M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-int-select.ll
    M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-int-shifts.ll
    M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-int-to-fp.ll
    M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-int-vselect.ll
    M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-ld2-alloca.ll
    M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-limit-duplane.ll
    M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-loads.ll
    M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-log-reduce.ll
    M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-masked-gather-scatter.ll
    M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-masked-load.ll
    M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-masked-store.ll
    M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-permute-rev.ll
    M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-ptest.ll
    M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-reductions.ll
    M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-reshuffle.ll
    M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-rev.ll
    M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-sdiv-pow2.ll
    M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-shuffle.ll
    M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-splat-vector.ll
    M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-trunc-stores.ll
    M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-trunc.ll
    M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-vector-shuffle.ll
    M llvm/test/CodeGen/AArch64/sve-streaming-mode-test-register-mov.ll
    M llvm/test/CodeGen/AArch64/sve-vecreduce-dot.ll
    M llvm/test/CodeGen/AArch64/sve-vector-compress.ll
    M llvm/test/CodeGen/AArch64/sve-vector-splat.ll
    M llvm/test/CodeGen/AArch64/sve-vl-arith.ll
    M llvm/test/CodeGen/AArch64/sve2-histcnt.ll
    M llvm/test/CodeGen/AArch64/sve2-intrinsics-luti.ll
    M llvm/test/CodeGen/AArch64/sve2-intrinsics-perm-tb.ll
    M llvm/test/CodeGen/AArch64/sve2p1-intrinsics-bfclamp.ll
    M llvm/test/CodeGen/AArch64/sve2p1-intrinsics-fclamp.ll
    M llvm/test/CodeGen/AArch64/sve2p1-intrinsics-multivec-stores.ll
    M llvm/test/CodeGen/AArch64/sve2p1-intrinsics-sclamp.ll
    M llvm/test/CodeGen/AArch64/sve2p1-intrinsics-selx4.ll
    M llvm/test/CodeGen/AArch64/sve2p1-intrinsics-stores.ll
    M llvm/test/CodeGen/AArch64/sve2p1-intrinsics-uclamp.ll
    M llvm/test/CodeGen/AArch64/sve2p1-intrinsics-uzpx4.ll
    M llvm/test/CodeGen/AArch64/sve2p1-intrinsics-while-pp.ll
    M llvm/test/CodeGen/AArch64/swift-error-unreachable-use.ll
    M llvm/test/CodeGen/AArch64/tbl-loops.ll
    M llvm/test/CodeGen/AArch64/trunc-to-tbl.ll
    M llvm/test/CodeGen/AArch64/uaddlv-vaddlp-combine.ll
    M llvm/test/CodeGen/AArch64/umul_fix_sat.ll
    M llvm/test/CodeGen/AArch64/urem-vector-lkk.ll
    M llvm/test/CodeGen/AArch64/vec-combine-compare-to-bitmask.ll
    M llvm/test/CodeGen/AArch64/vec-libcalls.ll
    M llvm/test/CodeGen/AArch64/vecreduce-add-legalization.ll
    M llvm/test/CodeGen/AArch64/vecreduce-add.ll
    M llvm/test/CodeGen/AArch64/vecreduce-and-legalization.ll
    M llvm/test/CodeGen/AArch64/vecreduce-bool.ll
    M llvm/test/CodeGen/AArch64/vecreduce-fadd-legalization-strict.ll
    M llvm/test/CodeGen/AArch64/vecreduce-fadd-legalization.ll
    M llvm/test/CodeGen/AArch64/vecreduce-fadd-strict.ll
    M llvm/test/CodeGen/AArch64/vecreduce-fadd.ll
    M llvm/test/CodeGen/AArch64/vecreduce-fmax-legalization-nan.ll
    M llvm/test/CodeGen/AArch64/vecreduce-fmax-legalization.ll
    M llvm/test/CodeGen/AArch64/vecreduce-fmaximum.ll
    M llvm/test/CodeGen/AArch64/vecreduce-fmin-legalization.ll
    M llvm/test/CodeGen/AArch64/vecreduce-fminimum.ll
    M llvm/test/CodeGen/AArch64/vecreduce-fmul-legalization-strict.ll
    M llvm/test/CodeGen/AArch64/vecreduce-fmul-strict.ll
    M llvm/test/CodeGen/AArch64/vecreduce-fmul.ll
    M llvm/test/CodeGen/AArch64/vecreduce-umax-legalization.ll
    M llvm/test/CodeGen/AArch64/vector-compress.ll
    M llvm/test/CodeGen/AArch64/vector-fcopysign.ll
    M llvm/test/CodeGen/AArch64/vector-fcvt.ll
    M llvm/test/CodeGen/AArch64/vector-llrint.ll
    M llvm/test/CodeGen/AArch64/vector-lrint.ll
    M llvm/test/CodeGen/AArch64/vldn_shuffle.ll
    M llvm/test/CodeGen/AArch64/win64-fpowi.ll
    M llvm/test/CodeGen/AArch64/win64_vararg.ll
    M llvm/test/CodeGen/AArch64/xtn.ll
    M llvm/test/CodeGen/AArch64/zext.ll

  Log Message:
  -----------
  Revert "[AArch64] Enable subreg liveness tracking by default."

This reverts commit 9c319d5bb40785c969d2af76535ca62448dfafa7.

Some issues were discovered with the bootstrap builds, which
seem like they were caused by this commit. I'm reverting to investigate.


  Commit: 3f136f7dfb41542c76c1b352544009bffbc399d2
      https://github.com/llvm/llvm-project/commit/3f136f7dfb41542c76c1b352544009bffbc399d2
  Author: Nirvedh Meshram <96096277+nirvedhmeshram at users.noreply.github.com>
  Date:   2024-12-12 (Thu, 12 Dec 2024)

  Changed paths:
    M mlir/lib/Dialect/Tensor/IR/TensorTilingInterfaceImpl.cpp

  Log Message:
  -----------
  [Tensor] Simplify tenor.pad tiling length calculations. (#119039)

The current calculations calculate ending location of the new length and
then subtract the new offset from that location. It is possible to
directly calculate new length. Along with requiring less operations
(which can matter in dynamic case) this also has the advantage that the
values are upper bounded by length rather than source size which is more
friendly for range analysis. I believe the change is already being
tested by
`test/Dialect/Linalg/subtensor-of-padtensor.mlir` and
`test/Dialect/Linalg/tile-and-fuse-tensors.mlir`

---------

Signed-off-by: Nirvedh <nirvedh at gmail.com>


  Commit: d99c9994db5e051dc4b71c7bce6e56f8c9c72c1a
      https://github.com/llvm/llvm-project/commit/d99c9994db5e051dc4b71c7bce6e56f8c9c72c1a
  Author: Michael Maitland <michaeltmaitland at gmail.com>
  Date:   2024-12-12 (Thu, 12 Dec 2024)

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

  Log Message:
  -----------
  [RISCV][VLOPT] Add support for mask-register logical instructions and set mask instructions (#112231)

We need to adjust getEMULEqualsEEWDivSEWTimesLMUL to account for the
fact that Log2EEW for mask instructions is 0 but their EMUL is
calculated using Log2EEW=3.


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

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

  Log Message:
  -----------
  [RISCV] Remove unused SDNodeXForm from RISCVGISel.td. NFC

Leftover from when we tried to make i32 legal.


  Commit: 77400103da63118e433cbee1feb20146a9fb782c
      https://github.com/llvm/llvm-project/commit/77400103da63118e433cbee1feb20146a9fb782c
  Author: Nirvedh Meshram <96096277+nirvedhmeshram at users.noreply.github.com>
  Date:   2024-12-12 (Thu, 12 Dec 2024)

  Changed paths:
    M mlir/lib/Dialect/Tensor/IR/TensorTilingInterfaceImpl.cpp

  Log Message:
  -----------
  NfC fix comment in #119039 (#119727)

Missed commiting clang-fomrat in
[#19903](https://github.com/llvm/llvm-project/pull/119039)


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

  Changed paths:
    M clang/lib/StaticAnalyzer/Checkers/WebKit/ASTUtils.cpp
    M clang/test/Analysis/Checkers/WebKit/call-args.cpp

  Log Message:
  -----------
  Fix a bug that CXXConstructExpr wasn't recognized by tryToFindPtrOrigin (#119336)

Prior to this PR, only CXXTemporaryObjectExpr, not CXXConstructExpr was
recognized in tryToFindPtrOrigin.


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

  Changed paths:
    M llvm/unittests/ProfileData/MemProfTest.cpp

  Log Message:
  -----------
  [memprof] Use return values from addFrame and addCallStack (NFC) (#119676)

Migrating away from Frame::hash and hashCallStack further encapsulates
how the IDs are calculated.

Note that unit tests are the only places where Frame::hash and
hashCallStack are used.  The code proper (i.e. llvm/lib) uses
IndexedMemProfData::{addFrame,addCallStack}; they do not directly use
Frame::hash or hashCallStack.


  Commit: 357d00d7c7c81768047e9e9668c6f507c6c24cb3
      https://github.com/llvm/llvm-project/commit/357d00d7c7c81768047e9e9668c6f507c6c24cb3
  Author: Paul Kirth <paulkirth at google.com>
  Date:   2024-12-12 (Thu, 12 Dec 2024)

  Changed paths:
    M clang/lib/Driver/ToolChains/Clang.cpp
    M clang/test/Driver/stack-clash-protection.c

  Log Message:
  -----------
  [clang][Driver] Allow `-fstack-clash-protection`  for Fuchsia targets (#119633)

Fuchsia uses guard pages for the stack, similar to Linux 
and other targets, which are required for stack-clash-protection.

This patch adds Fuchsia to the list of allowed targets.


  Commit: 2db2dc8ab917de54a085776b874e93f4fdfd2e8c
      https://github.com/llvm/llvm-project/commit/2db2dc8ab917de54a085776b874e93f4fdfd2e8c
  Author: Tim Gymnich <tim at gymni.ch>
  Date:   2024-12-12 (Thu, 12 Dec 2024)

  Changed paths:
    M llvm/lib/CodeGen/GlobalISel/LegalizerHelper.cpp
    M llvm/lib/CodeGen/GlobalISel/Utils.cpp
    M llvm/lib/Target/AMDGPU/AMDGPULegalizerInfo.cpp

  Log Message:
  -----------
  [GlobalISel][NFC] Fix LLT Propagation (#119587)

Retain LLT type information by creating new LLTs from the original LLT
instead of only using the original scalar size.

This PR prepares for the [LLT FPInfo
RFC](https://discourse.llvm.org/t/rfc-globalisel-adding-fp-type-information-to-llt/83349/24)
where LLTs will carry additional floating point type information in
addition to the scalar size.


  Commit: 52db903888eace2e4053a751c8f058ac7c98b49d
      https://github.com/llvm/llvm-project/commit/52db903888eace2e4053a751c8f058ac7c98b49d
  Author: Nick Desaulniers <ndesaulniers at google.com>
  Date:   2024-12-12 (Thu, 12 Dec 2024)

  Changed paths:
    M libc/utils/docgen/docgen.py

  Log Message:
  -----------
  [libc][docs] fix typo

Fixes: #119621


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

  Changed paths:
    M llvm/lib/CodeGen/GlobalISel/LegalizerHelper.cpp
    M llvm/test/CodeGen/AArch64/Atomics/aarch64-atomicrmw-lse2.ll
    M llvm/test/CodeGen/AArch64/Atomics/aarch64-atomicrmw-lse2_lse128.ll
    M llvm/test/CodeGen/AArch64/Atomics/aarch64-atomicrmw-outline_atomics.ll
    M llvm/test/CodeGen/AArch64/Atomics/aarch64-atomicrmw-rcpc.ll
    M llvm/test/CodeGen/AArch64/Atomics/aarch64-atomicrmw-rcpc3.ll
    M llvm/test/CodeGen/AArch64/Atomics/aarch64-atomicrmw-v8_1a.ll
    M llvm/test/CodeGen/AArch64/Atomics/aarch64-atomicrmw-v8a.ll
    M llvm/test/CodeGen/AArch64/GlobalISel/legalize-cmp.mir
    M llvm/test/CodeGen/AArch64/GlobalISel/legalize-threeway-cmp.mir
    M llvm/test/CodeGen/AArch64/aarch64-minmaxv.ll
    M llvm/test/CodeGen/AArch64/icmp.ll
    M llvm/test/CodeGen/AArch64/scmp.ll
    M llvm/test/CodeGen/AArch64/ucmp.ll
    M llvm/test/CodeGen/AArch64/vecreduce-umax-legalization.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/saddsat.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/ssubsat.ll
    M llvm/test/CodeGen/AMDGPU/div_i128.ll
    M llvm/test/CodeGen/Mips/GlobalISel/legalizer/icmp.mir
    M llvm/test/CodeGen/Mips/GlobalISel/llvm-ir/icmp.ll
    M llvm/test/CodeGen/RISCV/GlobalISel/legalizer/legalize-addo-subo-rv32.mir
    M llvm/test/CodeGen/RISCV/GlobalISel/legalizer/legalize-icmp-rv32.mir
    M llvm/test/CodeGen/RISCV/GlobalISel/legalizer/legalize-icmp-rv64.mir
    M llvm/test/CodeGen/RISCV/GlobalISel/legalizer/legalize-sat-rv32.mir
    M llvm/test/CodeGen/RISCV/GlobalISel/legalizer/legalize-smax-rv32.mir
    M llvm/test/CodeGen/RISCV/GlobalISel/legalizer/legalize-smin-rv32.mir
    M llvm/test/CodeGen/RISCV/GlobalISel/legalizer/legalize-umax-rv32.mir
    M llvm/test/CodeGen/RISCV/GlobalISel/legalizer/legalize-umin-rv32.mir
    M llvm/test/CodeGen/X86/isel-select-cmov.ll

  Log Message:
  -----------
  [GISel] Support narrowing G_ICMP with more than 2 parts. (#119335)

This allows us to support i128 G_ICMP on RV32. I'm not sure how to test
the "left over" part of this as RISC-V always widens to a power of 2
before narrowing.


  Commit: 85c91afb85be52399e0fc7f082dd1c99932dffaa
      https://github.com/llvm/llvm-project/commit/85c91afb85be52399e0fc7f082dd1c99932dffaa
  Author: Nirvedh <nirvedh at gmail.com>
  Date:   2024-12-12 (Thu, 12 Dec 2024)

  Changed paths:
    M mlir/lib/Dialect/Tensor/IR/TensorTilingInterfaceImpl.cpp

  Log Message:
  -----------
  [mlir][tensor] fix typo in pad tiling comment


  Commit: 33927744db2a910fe1cdeecf9e074d488de2e787
      https://github.com/llvm/llvm-project/commit/33927744db2a910fe1cdeecf9e074d488de2e787
  Author: Nirvedh <nirvedh at gmail.com>
  Date:   2024-12-12 (Thu, 12 Dec 2024)

  Changed paths:
    M mlir/lib/Dialect/Tensor/IR/TensorTilingInterfaceImpl.cpp

  Log Message:
  -----------
  [mlir][tensor] fix typo in pad tiling comment


  Commit: 6cfad635d5aaa01abb82edc386329d8ed25078e1
      https://github.com/llvm/llvm-project/commit/6cfad635d5aaa01abb82edc386329d8ed25078e1
  Author: erichkeane <ekeane at nvidia.com>
  Date:   2024-12-12 (Thu, 12 Dec 2024)

  Changed paths:
    M clang/include/clang/Basic/OpenACCKinds.h
    M clang/lib/Sema/SemaOpenACC.cpp
    M clang/test/AST/ast-print-openacc-data-construct.cpp
    M clang/test/SemaOpenACC/combined-construct-if-clause.c
    M clang/test/SemaOpenACC/compute-construct-if-clause.c
    A clang/test/SemaOpenACC/data-construct-if-ast.cpp
    A clang/test/SemaOpenACC/data-construct-if-clause.c
    M clang/test/SemaOpenACC/data-construct.cpp

  Log Message:
  -----------
  [OpenACC] Implement 'if' clause sema for 'data' constructs

This is another one that has no additional sema work other than enabling
it, so this patch does just that.


  Commit: 58f9c4fc0055821d88869aafd49e0424b1070a79
      https://github.com/llvm/llvm-project/commit/58f9c4fc0055821d88869aafd49e0424b1070a79
  Author: Krzysztof Parzyszek <Krzysztof.Parzyszek at amd.com>
  Date:   2024-12-12 (Thu, 12 Dec 2024)

  Changed paths:
    M flang/include/flang/Parser/dump-parse-tree.h
    M flang/include/flang/Parser/parse-tree.h
    M flang/lib/Lower/OpenMP/Clauses.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/Parser/OpenMP/in-reduction-clause.f90
    M flang/test/Parser/OpenMP/reduction-modifier.f90
    A flang/test/Parser/OpenMP/task-reduction-clause.f90
    M flang/test/Preprocessing/directive-contin-with-pp.F90
    A flang/test/Semantics/OpenMP/in-reduction.f90
    M flang/test/Semantics/OpenMP/symbol08.f90
    A flang/test/Semantics/OpenMP/task-reduction.f90
    M flang/test/Semantics/OpenMP/taskgroup01.f90
    M llvm/include/llvm/Frontend/OpenMP/OMP.td

  Log Message:
  -----------
  [flang][OpenMP] Semantic checks for IN_REDUCTION and TASK_REDUCTION (#118841)

Update parsing of these two clauses and add semantic checks for them.
Simplify some code in IsReductionAllowedForType and
CheckReductionOperator.


  Commit: 03cbe42627c7a7940b47cc1a2cda0120bc9c6d5e
      https://github.com/llvm/llvm-project/commit/03cbe42627c7a7940b47cc1a2cda0120bc9c6d5e
  Author: Krzysztof Parzyszek <Krzysztof.Parzyszek at amd.com>
  Date:   2024-12-12 (Thu, 12 Dec 2024)

  Changed paths:
    M flang/examples/FeatureList/FeatureList.cpp
    M flang/include/flang/Parser/dump-parse-tree.h
    M flang/include/flang/Parser/parse-tree-visitor.h
    M flang/include/flang/Parser/parse-tree.h
    M flang/include/flang/Semantics/openmp-modifiers.h
    M flang/lib/Lower/OpenMP/Clauses.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/openmp-modifiers.cpp
    M flang/lib/Semantics/resolve-directives.cpp
    A flang/test/Parser/OpenMP/linear-clause.f90
    M flang/test/Semantics/OpenMP/clause-validity01.f90
    M flang/test/Semantics/OpenMP/linear-clause01.f90
    A flang/test/Semantics/OpenMP/linear-clause02.f90
    M flang/test/Semantics/OpenMP/linear-iter.f90
    M llvm/include/llvm/Frontend/OpenMP/ClauseT.h
    M llvm/unittests/Frontend/OpenMPDecompositionTest.cpp

  Log Message:
  -----------
  [flang][OpenMP] Rework LINEAR clause (#119278)

The OmpLinearClause class was a variant of two classes, one for when the
linear modifier was present, and one for when it was absent. These two
classes did not follow the conventions for parse tree nodes, (i.e.
tuple/wrapper/union formats), which necessitated specialization of the
parse tree visitor.

The new form of OmpLinearClause is the standard tuple with a list of
modifiers and an object list. The specialization of parse tree visitor
for it has been removed.
Parsing and unparsing of the new form bears additional complexity due to
syntactical differences between OpenMP 5.2 and prior versions: in OpenMP
5.2 the argument list is post-modified, while in the prior versions, the
step modifier was a post-modifier while the linear modifier had an
unusual syntax of `modifier(list)`.

With this change the LINEAR clause is no different from any other
clauses in terms of its structure and use of modifiers. Modifier
validation and all other checks work the same as with other clauses.


  Commit: 2546ae4ed09ff69274c184ae7e98f2aa72e7e7f7
      https://github.com/llvm/llvm-project/commit/2546ae4ed09ff69274c184ae7e98f2aa72e7e7f7
  Author: Han-Kuan Chen <hankuan.chen at sifive.com>
  Date:   2024-12-13 (Fri, 13 Dec 2024)

  Changed paths:
    M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
    M llvm/test/Transforms/SLPVectorizer/RISCV/revec.ll

  Log Message:
  -----------
  [SLP][REVEC] Fix the number of elements in the mask of a ShuffleVectorInst is not a power of 2. (#119689)

The following shufflevector should not be vectorized when
slp-vectorize-non-power-of-2 is enabled.

shufflevector <8 x float> %1, <8 x float> poison, <3 x i32> <i32 0, i32
1, i32 2>
shufflevector <8 x float> %1, <8 x float> poison, <3 x i32> <i32 4, i32
5, i32 6>


  Commit: 139e69b7bcb05e6ff9db0f373d9180deb341a571
      https://github.com/llvm/llvm-project/commit/139e69b7bcb05e6ff9db0f373d9180deb341a571
  Author: Slava Zakharin <szakharin at nvidia.com>
  Date:   2024-12-12 (Thu, 12 Dec 2024)

  Changed paths:
    M flang/include/flang/Optimizer/HLFIR/HLFIROps.td
    M flang/lib/Optimizer/HLFIR/IR/HLFIROps.cpp
    M flang/test/HLFIR/shapeof.fir

  Log Message:
  -----------
  [flang] Simple folding for hlfir.shape_of. (#119649)

This folding makes sure there are no hlfir.shape_of users
of hlfir.elemental - this may enable more InlineElementals matches,
because it is looking for exactly two uses of an hlfir.elemental.


  Commit: c047a5b3f6e2295dd74f1e8f17f1a023150b246c
      https://github.com/llvm/llvm-project/commit/c047a5b3f6e2295dd74f1e8f17f1a023150b246c
  Author: Nick Desaulniers <nickdesaulniers at users.noreply.github.com>
  Date:   2024-12-12 (Thu, 12 Dec 2024)

  Changed paths:
    M libc/docs/headers/assert.rst
    M libc/docs/headers/ctype.rst
    M libc/docs/headers/errno.rst
    M libc/docs/headers/fenv.rst
    M libc/docs/headers/float.rst
    M libc/docs/headers/inttypes.rst
    M libc/docs/headers/locale.rst
    M libc/docs/headers/signal.rst
    M libc/docs/headers/stdlib.rst
    M libc/docs/headers/string.rst
    M libc/docs/headers/strings.rst
    M libc/docs/headers/threads.rst
    M libc/docs/headers/uchar.rst
    M libc/docs/headers/wchar.rst
    M libc/docs/headers/wctype.rst
    M libc/utils/docgen/assert.json
    M libc/utils/docgen/ctype.json
    M libc/utils/docgen/docgen.py
    M libc/utils/docgen/errno.json
    M libc/utils/docgen/fenv.json
    M libc/utils/docgen/float.json
    M libc/utils/docgen/inttypes.json
    M libc/utils/docgen/locale.json
    M libc/utils/docgen/setjmp.json
    M libc/utils/docgen/signal.json
    M libc/utils/docgen/stdlib.json
    M libc/utils/docgen/string.json
    M libc/utils/docgen/strings.json
    M libc/utils/docgen/threads.json
    M libc/utils/docgen/uchar.json

  Log Message:
  -----------
  [libc][docgen] simplify posix links (#119595)

Usually posix functions have individual doc pages, and each header has its own
list of required macro definitions. Use a simpler key of "in-latest-posix" to
signal that the URL convention can be followed.

Add support for a "removed-in-posix-2008" key which will link to the 2004 docs
for functions like bcmp, bcopy, bzero, index, and rindex from strings.h.

I don't want to add all of these links for pthreads.h, so automating this will
make documenting these go much faster.


  Commit: f0f8434afac2d30ac143250377fb6433c68fc0a8
      https://github.com/llvm/llvm-project/commit/f0f8434afac2d30ac143250377fb6433c68fc0a8
  Author: erichkeane <ekeane at nvidia.com>
  Date:   2024-12-12 (Thu, 12 Dec 2024)

  Changed paths:
    M clang/lib/Sema/SemaOpenACC.cpp
    M clang/test/AST/ast-print-openacc-data-construct.cpp
    M clang/test/ParserOpenACC/parse-clauses.c
    A clang/test/SemaOpenACC/data-construct-async-ast.cpp
    A clang/test/SemaOpenACC/data-construct-async-clause.c
    M clang/test/SemaOpenACC/data-construct-device_type-clause.c
    M clang/test/SemaOpenACC/data-construct.cpp

  Log Message:
  -----------
  [OpenACC] Implement sema for 'async' on 'data' constructs

This also is a clause that doesn't have any special rules, so this patch
enables it and adds tests.


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

  Changed paths:
    M libc/config/baremetal/aarch64/entrypoints.txt
    M libc/config/baremetal/arm/entrypoints.txt
    M libc/config/baremetal/riscv/entrypoints.txt
    M libc/src/__support/CMakeLists.txt
    A libc/src/__support/freelist_heap.cpp
    M libc/src/stdlib/CMakeLists.txt
    M libc/src/stdlib/baremetal/CMakeLists.txt
    A libc/src/stdlib/baremetal/aligned_alloc.cpp
    A libc/src/stdlib/baremetal/calloc.cpp
    A libc/src/stdlib/baremetal/free.cpp
    A libc/src/stdlib/baremetal/malloc.cpp
    A libc/src/stdlib/baremetal/realloc.cpp
    R libc/src/stdlib/freelist_malloc.cpp
    M libc/test/src/__support/CMakeLists.txt
    M libc/test/src/__support/freelist_heap_test.cpp
    R libc/test/src/__support/freelist_malloc_test.cpp

  Log Message:
  -----------
  [libc] Breakup freelist_malloc into separate files (#98784)

This better matches the structure we use for the rest of libc.


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

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

  Log Message:
  -----------
  [RISCV] Use a switch instead of an if/else chain. NFC


  Commit: 33b910cde3b305a49c98c6de88dbc22ced9dea61
      https://github.com/llvm/llvm-project/commit/33b910cde3b305a49c98c6de88dbc22ced9dea61
  Author: Haojian Wu <hokein.wu at gmail.com>
  Date:   2024-12-12 (Thu, 12 Dec 2024)

  Changed paths:
    M clang/docs/ReleaseNotes.rst
    M clang/lib/Sema/CheckExprLifetime.cpp
    M clang/test/Sema/Inputs/lifetime-analysis.h
    M clang/test/Sema/warn-lifetime-analysis-nocfg.cpp

  Log Message:
  -----------
  [clang] Fix the post-filtering heuristic for GSLPointer. (#114044)

The lifetime analyzer processes GSL pointers:

- when encountering a constructor for a `gsl::pointer`, the analyzer
continues traversing the constructor argument, regardless of whether the
parameter has a `lifetimebound` annotation. This aims to catch cases
where a GSL pointer is constructed from a GSL owner, either directly
(e.g., `FooPointer(FooOwner)`) or through a chain of GSL pointers (e.g.,
`FooPointer(FooPointer(FooOwner))`);
- When a temporary object is reported in the callback, the analyzer has
heuristics to exclude non-owner types, aiming to avoid false positives
(like `FooPointer(FooPointer())`).

In the problematic case (discovered in
https://github.com/llvm/llvm-project/pull/112751#issuecomment-2441055471)
of `return foo.get();`:

- When the analyzer reports the local object `foo`, the `Path` is
`[GslPointerInit, Lifetimebound]`.
- The `Path` goes through
[`pathOnlyHandlesGslPointer`](https://github.com/llvm/llvm-project/blob/main/clang/lib/Sema/CheckExprLifetime.cpp#L1136)
and isn’t filtered out by the [[heuristics]](because `foo` is an owner
type), the analyzer treats it as the `FooPointer(FooOwner())` scenario,
thus triggering a diagnostic.

Filtering out base on the object 'foo' is wrong, because the GSLPointer
is constructed from the return result of the `foo.get()`. The patch
fixes this by teaching the heuristic to use the return result (only
`const GSLOwner&` is considered) of the lifetimebound annotated
function.


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

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

  Log Message:
  -----------
  [VPlan] Perform DT expensive input DT verification earlier (NFC).

After 6c8f41d33674, DT adjustments for the skeleton are applied as VPBBs
are executed. Move input DT verification up before starting to execute
any VPBBs to avoid checking DT while the CFG and DT are in an incomplete
state.

This fixes a number of verification failures with expensive checks
enabled, including
https://lab.llvm.org/buildbot/#/builders/16/builds/10584


  Commit: afcb7d4a2eab51977497e43ce6539d2b0ca01071
      https://github.com/llvm/llvm-project/commit/afcb7d4a2eab51977497e43ce6539d2b0ca01071
  Author: erichkeane <ekeane at nvidia.com>
  Date:   2024-12-12 (Thu, 12 Dec 2024)

  Changed paths:
    M clang/lib/Sema/SemaOpenACC.cpp
    M clang/test/AST/ast-print-openacc-data-construct.cpp
    M clang/test/ParserOpenACC/parse-clauses.c
    M clang/test/SemaOpenACC/data-construct-device_type-clause.c
    A clang/test/SemaOpenACC/data-construct-wait-ast.cpp
    A clang/test/SemaOpenACC/data-construct-wait-clause.c
    M clang/test/SemaOpenACC/data-construct.cpp

  Log Message:
  -----------
  [OpenACC] Implement 'wait' sema for data constructs

This is once again simply enabling this for 'data', 'enter data', and
'exit data' (and ensuring we error for 'host_data').  Implementation is
very simply to enable it rather than emit the not-implemented
diagnostic.


  Commit: 463e93b95f0887145b51edb81b770eeb4463abc5
      https://github.com/llvm/llvm-project/commit/463e93b95f0887145b51edb81b770eeb4463abc5
  Author: choikwa <5455710+choikwa at users.noreply.github.com>
  Date:   2024-12-12 (Thu, 12 Dec 2024)

  Changed paths:
    M llvm/lib/Target/AMDGPU/AMDGPUCodeGenPrepare.cpp
    M llvm/test/CodeGen/AMDGPU/amdgpu-codegenprepare-idiv.ll
    M llvm/test/CodeGen/AMDGPU/bypass-div.ll
    M llvm/test/CodeGen/AMDGPU/udiv64.ll
    M llvm/test/CodeGen/AMDGPU/urem64.ll

  Log Message:
  -----------
   Reapply [AMDGPU] prevent shrinking udiv/urem if either operand exceeds signed max (#119325)

This reverts commit 254d206ee2a337cb38ba347c896f7c6a14c7f218.

+Added a fix in ExpandDivRem24 to disqualify if DivNumBits exceed 24.

Original commit & msg:
ce6e955ac374f2b86cbbb73b2f32174dffd85f25.
Handle signed and unsigned path differently in getDivNumBits. Using
computeKnownBits, this rejects shrinking unsigned div/rem if operands
exceed signed max since we know NumSignBits will be always 0.


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

  Changed paths:
    M flang/lib/Semantics/resolve-names.cpp
    M flang/test/Semantics/modfile55.cuf

  Log Message:
  -----------
  [flang][cuda] Implicitly add DEVICE attribute in device/global functions (#119743)

Variables in global and device function/subroutine that have no CUDA
Fortran data attribute are implicitly DEVICE.


  Commit: 186fac33d08b34be494caa58fe63972f69c6d6ab
      https://github.com/llvm/llvm-project/commit/186fac33d08b34be494caa58fe63972f69c6d6ab
  Author: jimingham <jingham at apple.com>
  Date:   2024-12-12 (Thu, 12 Dec 2024)

  Changed paths:
    M lldb/include/lldb/Target/StackFrameList.h
    M lldb/source/Target/StackFrameList.cpp
    M lldb/source/Target/Thread.cpp
    M lldb/test/API/api/multithreaded/TestMultithreaded.py
    A lldb/test/API/api/multithreaded/deep_stack.cpp
    A lldb/test/API/api/multithreaded/test_concurrent_unwind.cpp.template

  Log Message:
  -----------
  Convert the StackFrameList mutex to a shared mutex. (#117252)

In fact, there's only one public API in StackFrameList that changes
 the list explicitly.  The rest only change the list if you happen to
ask for more frames than lldb has currently fetched and that 
always adds frames "behind the user's back".  So we were
much more prone to deadlocking than we needed to be.

This patch uses a shared_mutex instead, and when we have to add more
frames (in GetFramesUpTo) we switches to exclusive long enough to add
the frames, then goes back to shared.
    
Most of the work here was actually getting the stack frame list locking
to not
require a recursive mutex (shared mutexes aren't recursive). 
    
I also added a test that has 5 threads progressively asking for more
frames simultaneously to make sure we get back valid frames and don't
deadlock.


  Commit: 5048808859eece3aaa680aaecb4a89dfabe9627b
      https://github.com/llvm/llvm-project/commit/5048808859eece3aaa680aaecb4a89dfabe9627b
  Author: erichkeane <ekeane at nvidia.com>
  Date:   2024-12-12 (Thu, 12 Dec 2024)

  Changed paths:
    M clang/lib/Sema/SemaOpenACC.cpp
    M clang/test/AST/ast-print-openacc-data-construct.cpp
    M clang/test/SemaOpenACC/combined-construct-default-ast.cpp
    M clang/test/SemaOpenACC/combined-construct-default-clause.c
    M clang/test/SemaOpenACC/compute-construct-default-clause.c
    M clang/test/SemaOpenACC/data-construct-ast.cpp
    A clang/test/SemaOpenACC/data-construct-default-ast.cpp
    A clang/test/SemaOpenACC/data-construct-default-clause.c
    M clang/test/SemaOpenACC/data-construct-if-ast.cpp
    M clang/test/SemaOpenACC/data-construct-if-clause.c
    M clang/test/SemaOpenACC/data-construct.cpp

  Log Message:
  -----------
  [OpenACC] Implement 'default' Sema for 'data' clause

No additional rules here beyond enabling it, this patch just enables
'default' and adds tests.


  Commit: 9b65b1ef25723fcbb61f1ca25a6abbe678bb1770
      https://github.com/llvm/llvm-project/commit/9b65b1ef25723fcbb61f1ca25a6abbe678bb1770
  Author: knickish <knickish at gmail.com>
  Date:   2024-12-12 (Thu, 12 Dec 2024)

  Changed paths:
    M llvm/test/MC/Disassembler/M68k/control.txt

  Log Message:
  -----------
  [M68k] update dissassmbly test to require atLeastM68020 for BSR32 (#119758)

Fixes test failure reported in #117371. `BSR32` was previously
(incorrectly) allowed for CPUs <M68020, this test was missed while
updating the rest to fit the new model


  Commit: 88bcf7283b35b979ace0c6be32736b13f6b771ae
      https://github.com/llvm/llvm-project/commit/88bcf7283b35b979ace0c6be32736b13f6b771ae
  Author: Nick Desaulniers <nickdesaulniers at users.noreply.github.com>
  Date:   2024-12-12 (Thu, 12 Dec 2024)

  Changed paths:
    R libc/utils/docgen/arpa/inet.json
    A libc/utils/docgen/arpa/inet.yaml
    R libc/utils/docgen/assert.json
    A libc/utils/docgen/assert.yaml
    R libc/utils/docgen/ctype.json
    A libc/utils/docgen/ctype.yaml
    M libc/utils/docgen/docgen.py
    R libc/utils/docgen/errno.json
    A libc/utils/docgen/errno.yaml
    R libc/utils/docgen/fenv.json
    A libc/utils/docgen/fenv.yaml
    R libc/utils/docgen/float.json
    A libc/utils/docgen/float.yaml
    M libc/utils/docgen/header.py
    R libc/utils/docgen/inttypes.json
    A libc/utils/docgen/inttypes.yaml
    R libc/utils/docgen/locale.json
    A libc/utils/docgen/locale.yaml
    R libc/utils/docgen/setjmp.json
    A libc/utils/docgen/setjmp.yaml
    R libc/utils/docgen/signal.json
    A libc/utils/docgen/signal.yaml
    R libc/utils/docgen/stdbit.json
    A libc/utils/docgen/stdbit.yaml
    R libc/utils/docgen/stdlib.json
    A libc/utils/docgen/stdlib.yaml
    R libc/utils/docgen/string.json
    A libc/utils/docgen/string.yaml
    R libc/utils/docgen/strings.json
    R libc/utils/docgen/sys/mman.json
    A libc/utils/docgen/sys/mman.yaml
    R libc/utils/docgen/threads.json
    A libc/utils/docgen/threads.yaml
    R libc/utils/docgen/uchar.json
    A libc/utils/docgen/uchar.yaml
    R libc/utils/docgen/wchar.json
    A libc/utils/docgen/wchar.yaml
    R libc/utils/docgen/wctype.json
    A libc/utils/docgen/wctype.yaml

  Log Message:
  -----------
  [libc][docs] move docgen from json to yaml (#119744)

That way it can more easily be integrated into hdrgen.


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

  Changed paths:
    M libc/config/baremetal/aarch64/entrypoints.txt
    M libc/config/baremetal/arm/entrypoints.txt
    M libc/config/baremetal/riscv/entrypoints.txt
    M libc/src/__support/CMakeLists.txt
    R libc/src/__support/freelist_heap.cpp
    M libc/src/stdlib/CMakeLists.txt
    M libc/src/stdlib/baremetal/CMakeLists.txt
    R libc/src/stdlib/baremetal/aligned_alloc.cpp
    R libc/src/stdlib/baremetal/calloc.cpp
    R libc/src/stdlib/baremetal/free.cpp
    R libc/src/stdlib/baremetal/malloc.cpp
    R libc/src/stdlib/baremetal/realloc.cpp
    A libc/src/stdlib/freelist_malloc.cpp
    M libc/test/src/__support/CMakeLists.txt
    M libc/test/src/__support/freelist_heap_test.cpp
    A libc/test/src/__support/freelist_malloc_test.cpp

  Log Message:
  -----------
  Revert "[libc] Breakup freelist_malloc into separate files" (#119749)

Reverts llvm/llvm-project#98784 which broke libc builders.


  Commit: 7071cd3885d06bc1ac388db0188468d135b37dfa
      https://github.com/llvm/llvm-project/commit/7071cd3885d06bc1ac388db0188468d135b37dfa
  Author: Kirill Stoimenov <kstoimenov at google.com>
  Date:   2024-12-12 (Thu, 12 Dec 2024)

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

  Log Message:
  -----------
  Revert "[Transforms] Silence a warning in SROA.cpp (NFC)"

This reverts commit 5b077506de26b1dfce1926895548b86f2106bed9.


  Commit: e3676aa21f875c12d878726a1de1663ebf428cc2
      https://github.com/llvm/llvm-project/commit/e3676aa21f875c12d878726a1de1663ebf428cc2
  Author: Kirill Stoimenov <kstoimenov at google.com>
  Date:   2024-12-12 (Thu, 12 Dec 2024)

  Changed paths:
    M llvm/include/llvm/Analysis/PtrUseVisitor.h
    M llvm/include/llvm/Transforms/Utils/SSAUpdater.h
    M llvm/lib/Transforms/Scalar/SROA.cpp
    M llvm/lib/Transforms/Utils/SSAUpdater.cpp
    M llvm/test/Transforms/SROA/non-capturing-call-readonly.ll
    M llvm/test/Transforms/SROA/readonlynocapture.ll

  Log Message:
  -----------
  Revert "[SROA] Optimize reloaded values in allocas that escape into readonly nocapture calls. (#116645)"

Causing buffer overflow:

SUMMARY: AddressSanitizer: heap-buffer-overflow llvm/lib/Transforms/Scalar/SROA.cpp:5552:35

This reverts commit 5e247d726d7a54cf0acc997bc17b50e7494e6fa3.


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

  Changed paths:
    M libc/hdr/types/CMakeLists.txt

  Log Message:
  -----------
  [libc] Stop installing `sys/types.h` when not requested (#119765)

Summary:
This is installed unconditionally because of the dependency in the
`hdr/` directory. Remove this so it's only used on the systems that need
it.


  Commit: 05137cc50726c82b6cd7bdd51ab44b6db2176ce9
      https://github.com/llvm/llvm-project/commit/05137cc50726c82b6cd7bdd51ab44b6db2176ce9
  Author: Pedro Lobo <pedro.lobo at tecnico.ulisboa.pt>
  Date:   2024-12-12 (Thu, 12 Dec 2024)

  Changed paths:
    M llvm/lib/AsmParser/LLParser.cpp
    M llvm/test/Assembler/aggregate-constant-values.ll
    M llvm/test/CodeGen/AMDGPU/amdgpu.private-memory.ll

  Log Message:
  -----------
  [AsmParser] Convert empty arrays to `poison` (#119754)

Empty arrays can be converted to `poison` instead of `undef`.


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

  Changed paths:
    A libcxx/test/configs/stdlib-libstdc++.cfg.in
    A libcxx/test/configs/stdlib-native.cfg.in

  Log Message:
  -----------
  [libc++] Add testing configurations for libstdc++ and a native stdlib (#98539)

This allows running the test suite against the native Standard Library
on most systems, and against libstdc++ installed at a custom location.

Of course, these configurations don't run 100% clean at the moment. In
particular, running against the native stdlib is almost guaranteed not
to work out-of-the-box, since the test suite generally contains tests
for things that have been implemented on tip-of-trunk but not released
to most major platforms yet. However, having an easy way to run the test
suite against that library is still both useful and interesting.


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

  Changed paths:
    M llvm/test/Transforms/LoopVectorize/AArch64/fully-unrolled-cost.ll
    M llvm/test/Transforms/LoopVectorize/ARM/mve-icmpcost.ll

  Log Message:
  -----------
  [LV] Remove hard-coded VPValue numbers in test check lines. (NFC)

Make tests independent of VPlan value numbers.


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

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

  Log Message:
  -----------
  [RISCV] Move GIComplexOperandMatcher and GICustomOperandRenderer next to their SelectionDAG equivalents. NFC (#119729)

This makes it easier to see if the SelectionDAG node has an equivalent
without needing to check another file. Putting them in the same file
also helps associate them with the relevant ISA and any additional context
that may be provided by comments.

Naming is a little messy because we inconsistently use camel case and
snake case in the SelectionDAG node names. Thus the GISel node names are
named the same as the SelectionDAG node name with either GI or gi_ as a
prefix.


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

  Changed paths:
    M flang/lib/Optimizer/Transforms/CUFDeviceGlobal.cpp
    M flang/test/Fir/CUDA/cuda-implicit-device-global.f90

  Log Message:
  -----------
  [flang][cuda] Extend implicit global handling to any type descriptor (#119769)

Relax the check to also handle other type descriptor globals.


  Commit: 37cd7926b767b3877bfa8079f2f8bcb4cd104b1f
      https://github.com/llvm/llvm-project/commit/37cd7926b767b3877bfa8079f2f8bcb4cd104b1f
  Author: Matt Arsenault <Matthew.Arsenault at amd.com>
  Date:   2024-12-13 (Fri, 13 Dec 2024)

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

  Log Message:
  -----------
  AMDGPU: Fix entry for mac in VGPR->AGPR MFMA table (#119693)


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

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

  Log Message:
  -----------
  [flang][cuda] Remove unused variable


  Commit: e605969efe95efd9941cf958d921006d0833889f
      https://github.com/llvm/llvm-project/commit/e605969efe95efd9941cf958d921006d0833889f
  Author: Soren Lassen <sorenlassen at gmail.com>
  Date:   2024-12-13 (Fri, 13 Dec 2024)

  Changed paths:
    M mlir/unittests/Bytecode/BytecodeTest.cpp

  Log Message:
  -----------
  [MLIR] check resource attr of module in TEST(Bytecode, MultiModuleWithResource) (#119618)

`checkResourceAttribute` accidentally ignored its argument and only
checked `roundTripModule` and not `module`


  Commit: 7442be68f7e4bbb9ded915283ea49a005f7ffe8f
      https://github.com/llvm/llvm-project/commit/7442be68f7e4bbb9ded915283ea49a005f7ffe8f
  Author: Michael Maitland <michaeltmaitland at gmail.com>
  Date:   2024-12-12 (Thu, 12 Dec 2024)

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

  Log Message:
  -----------
  [RISCV][VLOPT] Add vector mask producing integer instructions to isSupportedInstr and getOperandInfo (#119733)


  Commit: 602bbf2fd2ee1dadf0982e05192ee8791b35c657
      https://github.com/llvm/llvm-project/commit/602bbf2fd2ee1dadf0982e05192ee8791b35c657
  Author: Congcong Cai <congcongcai0907 at 163.com>
  Date:   2024-12-13 (Fri, 13 Dec 2024)

  Changed paths:
    R clang-tools-extra/docs/clang-tidy/checks/clang-analyzer/cplusplus.PureVirtualCall.rst
    A clang-tools-extra/docs/clang-tidy/checks/clang-analyzer/cplusplus.SelfAssignment.rst
    R clang-tools-extra/docs/clang-tidy/checks/clang-analyzer/optin.osx.OSObjectCStyleCast.rst
    R clang-tools-extra/docs/clang-tidy/checks/clang-analyzer/osx.MIG.rst
    R clang-tools-extra/docs/clang-tidy/checks/clang-analyzer/osx.OSObjectRetainCount.rst
    M clang-tools-extra/docs/clang-tidy/checks/clang-analyzer/security.PutenvStackArray.rst
    M clang-tools-extra/docs/clang-tidy/checks/clang-analyzer/security.SetgidSetuidOrder.rst
    M clang-tools-extra/docs/clang-tidy/checks/list.rst

  Log Message:
  -----------
  [clang-tidy][NFC][doc] clean out-dated clang-static-analyzer checks (#119580)


  Commit: ea6e13586ce22291e9e7a4e382f6b2409b406da9
      https://github.com/llvm/llvm-project/commit/ea6e13586ce22291e9e7a4e382f6b2409b406da9
  Author: Tom Stellard <tstellar at redhat.com>
  Date:   2024-12-12 (Thu, 12 Dec 2024)

  Changed paths:
    M clang/utils/perf-training/bolt.lit.cfg
    M clang/utils/perf-training/lit.cfg
    M clang/utils/perf-training/llvm-support/build.test

  Log Message:
  -----------
  [clang][perf-training] Fix profiling with -DCLANG_BOLT=perf (#119117)

This fixes the llvm-support build that generates the profile data, and
wraps the whole `cmake --build` command with perf instead of wrapping
each individual clang invocation. This limits the number of profile
files generated and reduces the time spent running perf2bolt.


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

  Changed paths:
    M clang/include/clang/Basic/FileEntry.h
    M clang/include/clang/Basic/IdentifierTable.h
    M clang/include/clang/Sema/ParsedAttr.h
    M clang/include/clang/Sema/SemaConcept.h
    M clang/include/clang/Sema/SemaInternal.h
    M clang/include/clang/Sema/Template.h
    M clang/lib/APINotes/APINotesManager.cpp
    M clang/lib/Analysis/ThreadSafetyCommon.cpp
    M clang/lib/Basic/FileManager.cpp
    M clang/lib/CodeGen/CGOpenMPRuntime.cpp
    M clang/lib/Index/IndexDecl.cpp

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

Note that PointerUnion::{is,get} have been soft deprecated in
PointerUnion.h:

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

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


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

  Changed paths:
    M llvm/lib/Target/RISCV/RISCVISelDAGToDAG.cpp
    M llvm/lib/Target/RISCV/RISCVInstrInfoVPseudos.td
    M llvm/test/CodeGen/RISCV/GlobalISel/instruction-select/rvv/render-vlop-rv32.mir
    M llvm/test/CodeGen/RISCV/GlobalISel/instruction-select/rvv/render-vlop-rv64.mir
    M llvm/test/CodeGen/RISCV/GlobalISel/instruction-select/rvv/vmclr-rv32.mir
    M llvm/test/CodeGen/RISCV/GlobalISel/instruction-select/rvv/vmclr-rv64.mir
    M llvm/test/CodeGen/RISCV/rvv/vsetvli-insert-crossbb.mir

  Log Message:
  -----------
  [RISCV] Rename suffixes on VCPOP/VMSBF/VMSET/etc pseudos. NFC (#119785)

These are suffixed with B1, B2, B4, B8, B16, B32, or B64 which I think
these were supposed to match the naming of the vbool types from C where
the number should be SEW/LMUL. So the smallest mask is 64 and the
largest is 1. This provides a compact syntax for describing the 7
possible ratios between LMUL and SEW.

We had the instruction names in the opposite order.


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

  Changed paths:
    A llvm/test/Transforms/PGOProfile/memprof_annotate_yaml.test

  Log Message:
  -----------
  [memprof] Test the memprof-use pass with a YAML (#119779)

This patch adds a test to verify that the call site that allocates
cold bytes is annotated as such.  The test is the first of its kind
integrating the memprof-use pass and YAML.


  Commit: 38eaea73cab3f427edd16d60035cf126f9a99cd0
      https://github.com/llvm/llvm-project/commit/38eaea73cab3f427edd16d60035cf126f9a99cd0
  Author: pcc <peter at pcc.me.uk>
  Date:   2024-12-12 (Thu, 12 Dec 2024)

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

  Log Message:
  -----------
  TargetParser: AArch64: Add part numbers for Apple CPUs.

Part numbers taken from:
https://github.com/AsahiLinux/m1n1/blob/main/src/chickens.c

Reviewers: ahmedbougacha, jroelofs

Reviewed By: jroelofs

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


  Commit: 768754807f17754fb450ec672779b827ad5df4b4
      https://github.com/llvm/llvm-project/commit/768754807f17754fb450ec672779b827ad5df4b4
  Author: Matthias Braun <matze at braunis.de>
  Date:   2024-12-12 (Thu, 12 Dec 2024)

  Changed paths:
    M llvm/lib/Transforms/InstCombine/InstCombineInternal.h
    M llvm/lib/Transforms/InstCombine/InstCombineVectorOps.cpp
    M llvm/lib/Transforms/InstCombine/InstructionCombining.cpp
    A llvm/test/Transforms/InstCombine/vec_shuffle-phi-multiuse.ll

  Log Message:
  -----------
  [InstCombine] Optimistically allow multiple shufflevector uses in foldOpPhi (#114278)

We would like to optimize situations of the form that happen after loop
vectorization+SROA:
```
loop:
    %phi = phi zeroinitializer, %interleaved

    %deinterleave_a = shufflevector %phi, poison ; pick half of the lanes
    %deinterleave_b = shufflevector %phi, posion ; pick remaining lanes

    ... %a = ... %b = ...

    %interleaved = shufflevector %a, %b ; interleave lanes of a+b
```
where the interleave and de-interleave shuffle operations cancel each
other out.
This could be handled by `foldOpPhi` but does not currently work because
it does
not proceed when there are multiple uses of the `Phi` operation.

This extends `foldOpPhi` to allow multiple `shufflevector` uses when
they are
shown to simplify for all `Phi` input values.


  Commit: 51001f87f1b1136554a73228fac2bde9735b2d06
      https://github.com/llvm/llvm-project/commit/51001f87f1b1136554a73228fac2bde9735b2d06
  Author: Feng Zou <feng.zou at intel.com>
  Date:   2024-12-13 (Fri, 13 Dec 2024)

  Changed paths:
    M lld/test/ELF/tls-opt.s
    M lld/test/ELF/x86-64-tls-ie-local.s
    M llvm/lib/Target/X86/MCTargetDesc/X86AsmBackend.cpp
    M llvm/lib/Target/X86/MCTargetDesc/X86ELFObjectWriter.cpp
    M llvm/lib/Target/X86/MCTargetDesc/X86FixupKinds.h
    M llvm/lib/Target/X86/MCTargetDesc/X86MCCodeEmitter.cpp
    M llvm/lib/Target/X86/MCTargetDesc/X86MachObjectWriter.cpp
    M llvm/lib/Target/X86/MCTargetDesc/X86WinCOFFObjectWriter.cpp
    M llvm/test/MC/ELF/relocation.s

  Log Message:
  -----------
  [X86][MC] Fix offset for R_X86_64_CODE_6_GOTTPOFF fixup (#119496)

1. Fix the offset for R_X86_64_CODE_6_GOTTPOFF fixup, which is
introduced by #117277. It should be biased with the size of the
immediate field. Related tests are updated.
2. Rename reloc_riprel_6byte_relax to reloc_riprel_4byte_relax_evex as
the number of bytes represents the size of fixup, and "evex" suffix is added
as it's used for APX NDD/NF instructions with EVEX prefix.
3. Remove incorrectly setting R_X86_64_CODE_6_GOTTPOFF relocation type
for APX NDD/NF instructions with GOTPCREL symbol reference modifier.


  Commit: 3de5e8b23f5c145b13d930eb5019566d3a6f88d5
      https://github.com/llvm/llvm-project/commit/3de5e8b23f5c145b13d930eb5019566d3a6f88d5
  Author: Vitaly Buka <vitalybuka at google.com>
  Date:   2024-12-12 (Thu, 12 Dec 2024)

  Changed paths:
    M libcxxabi/CMakeLists.txt

  Log Message:
  -----------
  [libc++abi] Build cxxabi with sanitizers (#119612)


  Commit: 6c4e70fcbbb62f38a5aab085634de5faaa5cf729
      https://github.com/llvm/llvm-project/commit/6c4e70fcbbb62f38a5aab085634de5faaa5cf729
  Author: wanglei <wanglei at loongson.cn>
  Date:   2024-12-13 (Fri, 13 Dec 2024)

  Changed paths:
    M lldb/source/Plugins/Process/Linux/NativeRegisterContextLinux_loongarch64.cpp
    M lldb/source/Plugins/Process/Linux/NativeRegisterContextLinux_loongarch64.h
    M lldb/source/Plugins/Process/Utility/CMakeLists.txt
    A lldb/source/Plugins/Process/Utility/NativeRegisterContextDBReg_loongarch.cpp
    A lldb/source/Plugins/Process/Utility/NativeRegisterContextDBReg_loongarch.h
    M lldb/source/Plugins/Process/gdb-remote/GDBRemoteCommunicationServerCommon.cpp
    M lldb/source/Target/Process.cpp

  Log Message:
  -----------
  [lldb][Process] Introduce LoongArch64 hw break/watchpoint support

This patch adds support for setting/clearing hardware watchpoints and
breakpoints on LoongArch 64-bit hardware.

Refer to the following document for the hw break/watchpoint:
https://loongson.github.io/LoongArch-Documentation/LoongArch-Vol1-EN.html#control-and-status-registers-related-to-watchpoints

Fix Failed Tests:
  lldb-shell :: Subprocess/clone-follow-child-wp.test
  lldb-shell :: Subprocess/clone-follow-parent-wp.test
  lldb-shell :: Subprocess/fork-follow-child-wp.test
  lldb-shell :: Subprocess/fork-follow-parent-wp.test
  lldb-shell :: Subprocess/vfork-follow-child-wp.test
  lldb-shell :: Subprocess/vfork-follow-parent-wp.test
  lldb-shell :: Watchpoint/ExpressionLanguage.test

Depends on: #118043

Reviewed By: SixWeining

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


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

  Changed paths:
    M clang/lib/Driver/SanitizerArgs.cpp

  Log Message:
  -----------
  [NFCI][sanitizer] Refactor parseSanitizeTrapArgs (#119797)

parseSanitizeTrapArgs follows the general pattern of "compute the
sanitizer mask based on the default plus opt-in (if supported) minus
opt-out". This patch refactors the functionality into a generalized
function, parseSanitizeArgs, which will be useful for future sanitizer
flag parsing.


  Commit: 3b10e31d3a4a1c660c82287d3b9f6515f37a32ca
      https://github.com/llvm/llvm-project/commit/3b10e31d3a4a1c660c82287d3b9f6515f37a32ca
  Author: hitmoon <zxq_yx_007 at 163.com>
  Date:   2024-12-13 (Fri, 13 Dec 2024)

  Changed paths:
    M clang/lib/Basic/Targets.cpp
    M clang/lib/Basic/Targets/OSTargets.h
    M clang/lib/Driver/ToolChains/FreeBSD.cpp
    M clang/test/Driver/freebsd.c

  Log Message:
  -----------
  [clang][LoongArch] Add FreeBSD targets (#119191)

Add support for freebsd on loongarch

Signed-off-by: xiaoqiang zhao <zxq_yx_007 at 163.com>
Co-authored-by: yu shan wei <mpysw at vip.163.com>


  Commit: 5e53a8dadb0019ee87936c1278fa222781257005
      https://github.com/llvm/llvm-project/commit/5e53a8dadb0019ee87936c1278fa222781257005
  Author: Matt Arsenault <Matthew.Arsenault at amd.com>
  Date:   2024-12-13 (Fri, 13 Dec 2024)

  Changed paths:
    M llvm/lib/Target/AMDGPU/SIInstrInfo.cpp
    A llvm/test/MachineVerifier/AMDGPU/unsupported-subreg-index-aligned-vgpr-check.mir

  Log Message:
  -----------
  AMDGPU: Fix verifier assert with out of bounds subregister indexes (#119799)

The manual check for aligned VGPR classes would assert if a virtual
register used an index not supported by the register class.


  Commit: ada517b40c6f90a78ea69b9d2d0997c82065c9fd
      https://github.com/llvm/llvm-project/commit/ada517b40c6f90a78ea69b9d2d0997c82065c9fd
  Author: Aiden Grossman <aidengrossman at google.com>
  Date:   2024-12-13 (Fri, 13 Dec 2024)

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

  Log Message:
  -----------
  [MLGO][NFC] Clang format MLRegAllocEvictAdvisor.cpp

Run clang-format to fix an issue in spacing in a comment.


  Commit: 1562b70eaf6e0b95910fa684dfc53bd5ca6252e7
      https://github.com/llvm/llvm-project/commit/1562b70eaf6e0b95910fa684dfc53bd5ca6252e7
  Author: paperchalice <liujunchang97 at outlook.com>
  Date:   2024-12-13 (Fri, 13 Dec 2024)

  Changed paths:
    M llvm/include/llvm/Analysis/DomTreeUpdater.h
    M llvm/include/llvm/Analysis/GenericDomTreeUpdater.h
    M llvm/include/llvm/Analysis/GenericDomTreeUpdaterImpl.h
    M llvm/include/llvm/CodeGen/MachineBasicBlock.h
    M llvm/include/llvm/CodeGen/MachineDomTreeUpdater.h
    M llvm/include/llvm/CodeGen/MachineDominators.h
    M llvm/include/llvm/CodeGen/MachineSSAContext.h
    M llvm/lib/Analysis/DomTreeUpdater.cpp
    M llvm/lib/CodeGen/AsmPrinter/AsmPrinter.cpp
    M llvm/lib/CodeGen/LazyMachineBlockFrequencyInfo.cpp
    M llvm/lib/CodeGen/LiveDebugValues/InstrRefBasedImpl.cpp
    M llvm/lib/CodeGen/LiveDebugValues/LiveDebugValues.cpp
    M llvm/lib/CodeGen/MachineBasicBlock.cpp
    M llvm/lib/CodeGen/MachineDomTreeUpdater.cpp
    M llvm/lib/CodeGen/MachineDominanceFrontier.cpp
    M llvm/lib/CodeGen/MachineDominators.cpp
    M llvm/lib/CodeGen/MachineLICM.cpp
    M llvm/lib/CodeGen/MachineLoopInfo.cpp
    M llvm/lib/CodeGen/MachineSink.cpp
    M llvm/lib/CodeGen/MachineUniformityAnalysis.cpp
    M llvm/lib/CodeGen/PHIElimination.cpp
    M llvm/lib/CodeGen/XRayInstrumentation.cpp
    M llvm/lib/Target/AMDGPU/SILateBranchLowering.cpp
    M llvm/lib/Target/AMDGPU/SILowerI1Copies.cpp
    M llvm/lib/Target/AMDGPU/SIWholeQuadMode.cpp
    M llvm/lib/Target/Hexagon/HexagonFrameLowering.cpp
    M llvm/lib/Target/X86/X86FlagsCopyLowering.cpp
    M llvm/tools/llvm-reduce/deltas/ReduceInstructionsMIR.cpp
    M llvm/unittests/Analysis/DomTreeUpdaterTest.cpp
    M llvm/unittests/Target/WebAssembly/WebAssemblyExceptionInfoTest.cpp

  Log Message:
  -----------
  Reapply "[DomTreeUpdater] Move critical edge splitting code to updater" (#119547)

This relands commit #115111.
Use traditional way to update post dominator tree, i.e. break critical
edge splitting into insert, insert, delete sequence.
When splitting critical edges, the post dominator tree may change its
root node, and `setNewRoot` only works in normal dominator tree...
See

https://github.com/llvm/llvm-project/blob/6c7e5827eda26990e872eb7c3f0d7866ee3c3171/llvm/include/llvm/Support/GenericDomTree.h#L684-L687


  Commit: 02bcaca5995de283c85acfcca61a39baac315794
      https://github.com/llvm/llvm-project/commit/02bcaca5995de283c85acfcca61a39baac315794
  Author: Mingming Liu <mingmingl at google.com>
  Date:   2024-12-12 (Thu, 12 Dec 2024)

  Changed paths:
    M clang/docs/LanguageExtensions.rst

  Log Message:
  -----------
  [docs]Fix a typo around '#pragma clang section' (#119791)


  Commit: 82204154b7bd1f8c487c94c7ef00399d776b29f0
      https://github.com/llvm/llvm-project/commit/82204154b7bd1f8c487c94c7ef00399d776b29f0
  Author: Han-Kuan Chen <hankuan.chen at sifive.com>
  Date:   2024-12-13 (Fri, 13 Dec 2024)

  Changed paths:
    M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
    M llvm/test/Transforms/SLPVectorizer/AArch64/vec3-base.ll
    M llvm/test/Transforms/SLPVectorizer/RISCV/reversed-strided-node-with-external-ptr.ll
    M llvm/test/Transforms/SLPVectorizer/RISCV/vec3-base.ll
    M llvm/test/Transforms/SLPVectorizer/X86/barriercall.ll
    M llvm/test/Transforms/SLPVectorizer/X86/bottom-to-top-reorder.ll
    M llvm/test/Transforms/SLPVectorizer/X86/extract-scalar-from-undef.ll
    M llvm/test/Transforms/SLPVectorizer/X86/extractcost.ll
    M llvm/test/Transforms/SLPVectorizer/X86/minbitwidth-drop-wrapping-flags.ll
    M llvm/test/Transforms/SLPVectorizer/X86/multi-extracts-bv-combined.ll
    M llvm/test/Transforms/SLPVectorizer/X86/vec3-base.ll
    M llvm/test/Transforms/SLPVectorizer/alternate-opcode-sindle-bv.ll
    M llvm/test/Transforms/SLPVectorizer/resized-alt-shuffle-after-minbw.ll
    M llvm/test/Transforms/SLPVectorizer/shuffle-mask-resized.ll

  Log Message:
  -----------
  [SLP] Make getSameOpcode support different instructions if they have same semantics. (#112181)


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

  Changed paths:
    M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
    M llvm/test/Transforms/SLPVectorizer/AArch64/vec3-base.ll
    M llvm/test/Transforms/SLPVectorizer/RISCV/reversed-strided-node-with-external-ptr.ll
    M llvm/test/Transforms/SLPVectorizer/RISCV/vec3-base.ll
    M llvm/test/Transforms/SLPVectorizer/X86/barriercall.ll
    M llvm/test/Transforms/SLPVectorizer/X86/bottom-to-top-reorder.ll
    M llvm/test/Transforms/SLPVectorizer/X86/extract-scalar-from-undef.ll
    M llvm/test/Transforms/SLPVectorizer/X86/extractcost.ll
    M llvm/test/Transforms/SLPVectorizer/X86/minbitwidth-drop-wrapping-flags.ll
    M llvm/test/Transforms/SLPVectorizer/X86/multi-extracts-bv-combined.ll
    M llvm/test/Transforms/SLPVectorizer/X86/vec3-base.ll
    M llvm/test/Transforms/SLPVectorizer/alternate-opcode-sindle-bv.ll
    M llvm/test/Transforms/SLPVectorizer/resized-alt-shuffle-after-minbw.ll
    M llvm/test/Transforms/SLPVectorizer/shuffle-mask-resized.ll

  Log Message:
  -----------
  Revert "[SLP] Make getSameOpcode support different instructions if they have same semantics. (#112181)"

This reverts commit 82204154b7bd1f8c487c94c7ef00399d776b29f0.


  Commit: 60325abeb3226b17c28429dfa6e175f25c171ec0
      https://github.com/llvm/llvm-project/commit/60325abeb3226b17c28429dfa6e175f25c171ec0
  Author: Aiden Grossman <aidengrossman at google.com>
  Date:   2024-12-12 (Thu, 12 Dec 2024)

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

  Log Message:
  -----------
  [MLGO] Add Threshold to Prevent Pathological Compile Time Cases (#119807)

This patch adds a threshold flag, -mlregalloc-max-cascade, to prevent
live ranges from being evicted more than is necessary.

After deploying a new regalloc model, we ran into some pathological
cases where the model decided it wanted to ping-pong evictions, taking
up a large amount of compile time. This threshold is mostly a stop gap
while we continue to investigate other solutions and work on
minimizing/constructing test cases.


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

  Changed paths:
    M llvm/lib/Target/RISCV/RISCVISelDAGToDAG.cpp
    M llvm/lib/Target/RISCV/RISCVInstrInfoVPseudos.td
    M llvm/lib/Target/RISCV/RISCVInstrInfoVSDPatterns.td
    M llvm/lib/Target/RISCV/RISCVInstrInfoVVLPatterns.td
    M llvm/test/CodeGen/RISCV/rvv/vl-opt-op-info.mir
    M llvm/test/CodeGen/RISCV/rvv/vsetvli-insert-crossbb.mir

  Log Message:
  -----------
  [RISCV] Use _B* suffix for vector mask logic pseudo instructions. (#119787)

Replace LMUL suffixes with _B1, _B2, etc. This matches what we do
for other mask only instructions like VCPOP_M, VFIRST_M, VMSBF_M,
VLM, VSM, etc.

Now all pseudoinstructions that use Log2SEW=0 will be consistently
named.


  Commit: 2bf3ef18471a987aea32fd845535b58aedbb3e46
      https://github.com/llvm/llvm-project/commit/2bf3ef18471a987aea32fd845535b58aedbb3e46
  Author: Aiden Grossman <aidengrossman at google.com>
  Date:   2024-12-12 (Thu, 12 Dec 2024)

  Changed paths:
    M bolt/test/unreadable-profile.test

  Log Message:
  -----------
  [BOLT] Require non root user for unreadable-profile.test (#119816)

This patch adds a requirement for a non root user in
unreadable-profile.test. This test fails if run as a root user (like in
a container without explicitly changing the user), which can lead to
some CI test failures.


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

  Changed paths:
    M compiler-rt/lib/orc/macho_tlv.x86-64.S
    M compiler-rt/lib/orc/sysv_reenter.arm64.S

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

Fix file name, symbol name, and formatting in comments.


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

  Changed paths:
    M llvm/include/llvm/ExecutionEngine/JITLink/aarch64.h

  Log Message:
  -----------
  [JITLink][aarch64] Fix comment for trampoline instruction sequence. NFC.

The comment was from a prototype and doesn't reflect the final instruction
sequence.


  Commit: 81c680a89622466b279357ca2e1045ef84d2c534
      https://github.com/llvm/llvm-project/commit/81c680a89622466b279357ca2e1045ef84d2c534
  Author: Lang Hames <lhames at gmail.com>
  Date:   2024-12-13 (Fri, 13 Dec 2024)

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

  Log Message:
  -----------
  [ORC] Improve JITLinkReentryTrampolines "arch not supported" error message.

"Architecture not supported" becomes
"JITLinkReentryTrampolines: architecture <arch> not supported".


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

  Changed paths:
    M lld/COFF/PDB.cpp
    M lld/COFF/Writer.cpp

  Log Message:
  -----------
  [lld-link] Replace warn(...) with Warn(ctx)


  Commit: 7a648554f886fbc043c4f3f58ca88f6c4535f2cf
      https://github.com/llvm/llvm-project/commit/7a648554f886fbc043c4f3f58ca88f6c4535f2cf
  Author: Akshat Oke <Akshat.Oke at amd.com>
  Date:   2024-12-13 (Fri, 13 Dec 2024)

  Changed paths:
    M llvm/lib/Target/AMDGPU/AMDGPUTargetMachine.cpp
    M llvm/test/CodeGen/AMDGPU/sgpr-regalloc-flags.ll

  Log Message:
  -----------
  [AMDGPU][CodeGen] Do not backtrace invalid -regalloc param (#119687)

No need to generate a stack trace and a GitHub issue prompt on a wrongly
set regalloc option.


  Commit: b54681cb90e98ef4fabf2ad135c7cded8c13cea6
      https://github.com/llvm/llvm-project/commit/b54681cb90e98ef4fabf2ad135c7cded8c13cea6
  Author: Aiden Grossman <aidengrossman at google.com>
  Date:   2024-12-13 (Fri, 13 Dec 2024)

  Changed paths:
    M .ci/generate_test_report.py
    A bolt/docs/BinaryAnalysis.md
    M bolt/include/bolt/Core/DIEBuilder.h
    M bolt/include/bolt/Core/DebugNames.h
    M bolt/include/bolt/Rewrite/RewriteInstance.h
    M bolt/include/bolt/Utils/CommandLineOpts.h
    M bolt/lib/Core/BinaryEmitter.cpp
    M bolt/lib/Core/DIEBuilder.cpp
    M bolt/lib/Core/DebugNames.cpp
    M bolt/lib/Passes/ReorderFunctions.cpp
    M bolt/lib/Rewrite/RewriteInstance.cpp
    M bolt/lib/Utils/CommandLineOpts.cpp
    A bolt/test/AArch64/pad-before-funcs.s
    M bolt/test/CMakeLists.txt
    A bolt/test/X86/dwarf5-debug-names-abstract-origin-linkage-name-only.s
    A bolt/test/X86/dwarf5-debug-names-abstract-origin-specification.s
    A bolt/test/binary-analysis/AArch64/Inputs/dummy.txt
    A bolt/test/binary-analysis/AArch64/cmdline-args.test
    A bolt/test/binary-analysis/AArch64/lit.local.cfg
    M bolt/test/lit.cfg.py
    M bolt/test/unreadable-profile.test
    M bolt/tools/CMakeLists.txt
    A bolt/tools/binary-analysis/CMakeLists.txt
    A bolt/tools/binary-analysis/binary-analysis.cpp
    M clang-tools-extra/clang-tidy/bugprone/OptionalValueConversionCheck.cpp
    M clang-tools-extra/clang-tidy/modernize/CMakeLists.txt
    M clang-tools-extra/clang-tidy/modernize/ModernizeTidyModule.cpp
    A clang-tools-extra/clang-tidy/modernize/UseIntegerSignComparisonCheck.cpp
    A clang-tools-extra/clang-tidy/modernize/UseIntegerSignComparisonCheck.h
    M clang-tools-extra/clangd/CompileCommands.cpp
    M clang-tools-extra/clangd/refactor/tweaks/ExtractVariable.cpp
    M clang-tools-extra/clangd/unittests/tweaks/ExtractVariableTests.cpp
    M clang-tools-extra/docs/ReleaseNotes.rst
    R clang-tools-extra/docs/clang-tidy/checks/clang-analyzer/cplusplus.PureVirtualCall.rst
    A clang-tools-extra/docs/clang-tidy/checks/clang-analyzer/cplusplus.SelfAssignment.rst
    R clang-tools-extra/docs/clang-tidy/checks/clang-analyzer/optin.osx.OSObjectCStyleCast.rst
    R clang-tools-extra/docs/clang-tidy/checks/clang-analyzer/osx.MIG.rst
    R clang-tools-extra/docs/clang-tidy/checks/clang-analyzer/osx.OSObjectRetainCount.rst
    M clang-tools-extra/docs/clang-tidy/checks/clang-analyzer/security.PutenvStackArray.rst
    M clang-tools-extra/docs/clang-tidy/checks/clang-analyzer/security.SetgidSetuidOrder.rst
    M clang-tools-extra/docs/clang-tidy/checks/list.rst
    A clang-tools-extra/docs/clang-tidy/checks/modernize/use-integer-sign-comparison.rst
    A clang-tools-extra/test/clang-tidy/checkers/bugprone/optional-value-conversion-construct-from-std.cpp
    A clang-tools-extra/test/clang-tidy/checkers/modernize/use-integer-sign-comparison.cpp
    M clang/docs/LanguageExtensions.rst
    M clang/docs/ReleaseNotes.rst
    M clang/include/clang-c/CXString.h
    M clang/include/clang-c/Index.h
    M clang/include/clang/AST/APValue.h
    M clang/include/clang/AST/Attr.h
    M clang/include/clang/AST/Decl.h
    M clang/include/clang/AST/DeclBase.h
    M clang/include/clang/AST/DeclCXX.h
    M clang/include/clang/AST/DeclContextInternals.h
    M clang/include/clang/AST/DeclTemplate.h
    M clang/include/clang/AST/ExprCXX.h
    M clang/include/clang/AST/ExprConcepts.h
    M clang/include/clang/AST/ExprObjC.h
    M clang/include/clang/AST/ExternalASTSource.h
    M clang/include/clang/AST/RecursiveASTVisitor.h
    M clang/include/clang/AST/Redeclarable.h
    M clang/include/clang/AST/StmtOpenACC.h
    M clang/include/clang/AST/TemplateBase.h
    M clang/include/clang/AST/TextNodeDumper.h
    M clang/include/clang/AST/Type.h
    M clang/include/clang/Basic/DiagnosticSemaKinds.td
    M clang/include/clang/Basic/FileEntry.h
    M clang/include/clang/Basic/IdentifierTable.h
    M clang/include/clang/Basic/OpenACCKinds.h
    M clang/include/clang/Basic/StmtNodes.td
    M clang/include/clang/Basic/arm_sve.td
    M clang/include/clang/Lex/PreprocessingRecord.h
    M clang/include/clang/Lex/Preprocessor.h
    M clang/include/clang/Sema/ParsedAttr.h
    M clang/include/clang/Sema/SemaConcept.h
    M clang/include/clang/Sema/SemaInternal.h
    M clang/include/clang/Sema/Template.h
    M clang/include/clang/Serialization/ASTBitCodes.h
    M clang/include/module.modulemap
    M clang/lib/APINotes/APINotesManager.cpp
    M clang/lib/AST/ByteCode/BitcastBuffer.h
    M clang/lib/AST/ByteCode/InterpBuiltin.cpp
    M clang/lib/AST/ByteCode/InterpBuiltinBitCast.cpp
    M clang/lib/AST/ByteCode/InterpBuiltinBitCast.h
    M clang/lib/AST/StmtOpenACC.cpp
    M clang/lib/AST/StmtPrinter.cpp
    M clang/lib/AST/StmtProfile.cpp
    M clang/lib/AST/TextNodeDumper.cpp
    M clang/lib/Analysis/PathDiagnostic.cpp
    M clang/lib/Analysis/ThreadSafetyCommon.cpp
    M clang/lib/Analysis/UnsafeBufferUsage.cpp
    M clang/lib/Basic/FileManager.cpp
    M clang/lib/Basic/SourceManager.cpp
    M clang/lib/Basic/Targets.cpp
    M clang/lib/Basic/Targets/OSTargets.h
    M clang/lib/CodeGen/CGOpenMPRuntime.cpp
    M clang/lib/CodeGen/CGStmt.cpp
    M clang/lib/CodeGen/CodeGenFunction.h
    M clang/lib/Driver/Driver.cpp
    M clang/lib/Driver/DriverOptions.cpp
    M clang/lib/Driver/SanitizerArgs.cpp
    M clang/lib/Driver/ToolChains/Clang.cpp
    M clang/lib/Driver/ToolChains/CommonArgs.cpp
    M clang/lib/Driver/ToolChains/CommonArgs.h
    M clang/lib/Driver/ToolChains/Darwin.cpp
    M clang/lib/Driver/ToolChains/FreeBSD.cpp
    M clang/lib/Driver/ToolChains/Fuchsia.cpp
    M clang/lib/Driver/ToolChains/Gnu.cpp
    M clang/lib/Driver/ToolChains/Hexagon.cpp
    M clang/lib/Driver/ToolChains/MSVC.cpp
    M clang/lib/Driver/ToolChains/NetBSD.cpp
    M clang/lib/Driver/ToolChains/OHOS.cpp
    M clang/lib/Driver/ToolChains/OpenBSD.cpp
    M clang/lib/Driver/ToolChains/Solaris.cpp
    M clang/lib/Frontend/CompilerInvocation.cpp
    M clang/lib/Index/FileIndexRecord.cpp
    M clang/lib/Index/IndexDecl.cpp
    M clang/lib/Parse/ParseOpenACC.cpp
    M clang/lib/Sema/CheckExprLifetime.cpp
    M clang/lib/Sema/DeclSpec.cpp
    M clang/lib/Sema/SemaDeclCXX.cpp
    M clang/lib/Sema/SemaExceptionSpec.cpp
    M clang/lib/Sema/SemaOpenACC.cpp
    M clang/lib/Sema/TreeTransform.h
    M clang/lib/Serialization/ASTReaderStmt.cpp
    M clang/lib/Serialization/ASTWriterStmt.cpp
    M clang/lib/StaticAnalyzer/Checkers/WebKit/ASTUtils.cpp
    M clang/lib/StaticAnalyzer/Core/ExprEngine.cpp
    M clang/test/AST/ByteCode/builtin-functions.cpp
    M clang/test/AST/ByteCode/complex.cpp
    A clang/test/AST/ast-print-openacc-data-construct.cpp
    M clang/test/Analysis/Checkers/WebKit/call-args.cpp
    M clang/test/CodeGen/AArch64/cpu-supports.c
    M clang/test/CodeGen/AArch64/fmv-dependencies.c
    A clang/test/CodeGen/AArch64/fp8-intrinsics/acle_sve2_fp8_cvtn.c
    M clang/test/CodeGen/AArch64/mixed-target-attributes.c
    M clang/test/CodeGen/attr-target-clones-aarch64.c
    M clang/test/CodeGen/attr-target-version.c
    M clang/test/CodeGenCXX/attr-target-clones-aarch64.cpp
    M clang/test/CodeGenCXX/attr-target-version.cpp
    M clang/test/CodeGenCXX/ext-int.cpp
    M clang/test/CodeGenCXX/fmv-namespace.cpp
    M clang/test/Driver/config-file3.c
    M clang/test/Driver/freebsd.c
    M clang/test/Driver/fsanitize.c
    M clang/test/Driver/fveclib.c
    M clang/test/Driver/print-supported-extensions-riscv.c
    M clang/test/Driver/stack-clash-protection.c
    M clang/test/Driver/sysroot.c
    A clang/test/Modules/initializer-list-recognition-through-export-and-linkage-issue-118218.cpp
    M clang/test/ParserOpenACC/parse-clauses.c
    M clang/test/ParserOpenACC/parse-clauses.cpp
    M clang/test/ParserOpenACC/parse-constructs.c
    M clang/test/Sema/Inputs/lifetime-analysis.h
    M clang/test/Sema/aarch64-sve2-intrinsics/acle_sve2_fp8.c
    M clang/test/Sema/warn-lifetime-analysis-nocfg.cpp
    M clang/test/SemaCXX/ext-int.cpp
    M clang/test/SemaCXX/warn-unsafe-buffer-usage-array.cpp
    M clang/test/SemaCXX/warn-unsafe-buffer-usage-field-attr.cpp
    M clang/test/SemaCXX/warn-unsafe-buffer-usage-fixits-parm-unsupported.cpp
    M clang/test/SemaCXX/warn-unsafe-buffer-usage.cpp
    M clang/test/SemaOpenACC/combined-construct-collapse-clause.cpp
    M clang/test/SemaOpenACC/combined-construct-default-ast.cpp
    M clang/test/SemaOpenACC/combined-construct-default-clause.c
    M clang/test/SemaOpenACC/combined-construct-if-clause.c
    M clang/test/SemaOpenACC/compute-construct-default-clause.c
    M clang/test/SemaOpenACC/compute-construct-device_type-clause.c
    M clang/test/SemaOpenACC/compute-construct-if-clause.c
    A clang/test/SemaOpenACC/data-construct-ast.cpp
    A clang/test/SemaOpenACC/data-construct-async-ast.cpp
    A clang/test/SemaOpenACC/data-construct-async-clause.c
    A clang/test/SemaOpenACC/data-construct-default-ast.cpp
    A clang/test/SemaOpenACC/data-construct-default-clause.c
    A clang/test/SemaOpenACC/data-construct-device_type-ast.cpp
    A clang/test/SemaOpenACC/data-construct-device_type-clause.c
    A clang/test/SemaOpenACC/data-construct-if-ast.cpp
    A clang/test/SemaOpenACC/data-construct-if-clause.c
    A clang/test/SemaOpenACC/data-construct-wait-ast.cpp
    A clang/test/SemaOpenACC/data-construct-wait-clause.c
    A clang/test/SemaOpenACC/data-construct.cpp
    M clang/test/SemaOpenACC/loop-construct-collapse-clause.cpp
    M clang/tools/clang-installapi/Options.cpp
    M clang/tools/clang-linker-wrapper/ClangLinkerWrapper.cpp
    M clang/tools/clang-nvlink-wrapper/ClangNVLinkWrapper.cpp
    M clang/tools/clang-scan-deps/ClangScanDeps.cpp
    M clang/tools/clang-sycl-linker/ClangSYCLLinker.cpp
    M clang/tools/libclang/CIndex.cpp
    M clang/tools/libclang/CIndexCXX.cpp
    M clang/tools/libclang/CXCursor.cpp
    M clang/unittests/AST/ASTContextParentMapTest.cpp
    M clang/unittests/Analysis/FlowSensitive/TransferTest.cpp
    M clang/unittests/Serialization/LoadSpecLazilyTest.cpp
    M clang/utils/TableGen/ClangAttrEmitter.cpp
    M clang/utils/TableGen/ClangDiagnosticsEmitter.cpp
    M clang/utils/perf-training/bolt.lit.cfg
    M clang/utils/perf-training/lit.cfg
    M clang/utils/perf-training/llvm-support/build.test
    M compiler-rt/lib/builtins/CMakeLists.txt
    A compiler-rt/lib/builtins/aarch64/sme-abi-assert.c
    R compiler-rt/lib/builtins/aarch64/sme-abi-init.c
    M compiler-rt/lib/builtins/aarch64/sme-abi.S
    M compiler-rt/lib/builtins/cpu_model/aarch64.c
    A compiler-rt/lib/builtins/cpu_model/aarch64/fmv/baremetal.inc
    M compiler-rt/lib/interception/interception_win.cpp
    M compiler-rt/lib/interception/tests/interception_win_test.cpp
    M compiler-rt/lib/orc/macho_tlv.x86-64.S
    M compiler-rt/lib/orc/sysv_reenter.arm64.S
    M compiler-rt/lib/rtsan/rtsan_interceptors_posix.cpp
    M flang/examples/FeatureList/FeatureList.cpp
    M flang/include/flang/Common/Fortran-consts.h
    M flang/include/flang/Optimizer/HLFIR/HLFIROps.td
    M flang/include/flang/Parser/dump-parse-tree.h
    M flang/include/flang/Parser/parse-tree-visitor.h
    M flang/include/flang/Parser/parse-tree.h
    M flang/include/flang/Semantics/openmp-modifiers.h
    M flang/lib/Lower/OpenMP/Clauses.cpp
    M flang/lib/Lower/OpenMP/DataSharingProcessor.cpp
    M flang/lib/Lower/OpenMP/DataSharingProcessor.h
    M flang/lib/Lower/OpenMP/OpenMP.cpp
    M flang/lib/Optimizer/HLFIR/IR/HLFIROps.cpp
    M flang/lib/Optimizer/HLFIR/Transforms/SimplifyHLFIRIntrinsics.cpp
    M flang/lib/Optimizer/OpenMP/MapsForPrivatizedSymbols.cpp
    M flang/lib/Optimizer/Transforms/CUFDeviceGlobal.cpp
    M flang/lib/Parser/openmp-parsers.cpp
    M flang/lib/Parser/unparse.cpp
    M flang/lib/Semantics/check-omp-structure.cpp
    M flang/lib/Semantics/check-omp-structure.h
    M flang/lib/Semantics/openmp-modifiers.cpp
    M flang/lib/Semantics/resolve-directives.cpp
    M flang/lib/Semantics/resolve-names.cpp
    M flang/test/Driver/fveclib.f90
    M flang/test/Fir/CUDA/cuda-implicit-device-global.f90
    M flang/test/HLFIR/shapeof.fir
    A flang/test/HLFIR/simplify-hlfir-intrinsics-cshift.fir
    A flang/test/Lower/OpenMP/Todo/atomic-compare-fail.f90
    M flang/test/Parser/OpenMP/atomic-unparse.f90
    M flang/test/Parser/OpenMP/in-reduction-clause.f90
    A flang/test/Parser/OpenMP/linear-clause.f90
    M flang/test/Parser/OpenMP/reduction-modifier.f90
    A flang/test/Parser/OpenMP/task-reduction-clause.f90
    M flang/test/Preprocessing/directive-contin-with-pp.F90
    M flang/test/Semantics/OpenMP/atomic-compare.f90
    M flang/test/Semantics/OpenMP/atomic01.f90
    M flang/test/Semantics/OpenMP/atomic05.f90
    M flang/test/Semantics/OpenMP/clause-validity01.f90
    A flang/test/Semantics/OpenMP/in-reduction.f90
    M flang/test/Semantics/OpenMP/linear-clause01.f90
    A flang/test/Semantics/OpenMP/linear-clause02.f90
    M flang/test/Semantics/OpenMP/linear-iter.f90
    M flang/test/Semantics/OpenMP/symbol08.f90
    A flang/test/Semantics/OpenMP/task-reduction.f90
    M flang/test/Semantics/OpenMP/taskgroup01.f90
    M flang/test/Semantics/modfile55.cuf
    M flang/unittests/Runtime/AccessTest.cpp
    M libc/CMakeLists.txt
    M libc/config/linux/aarch64/headers.txt
    M libc/config/linux/arm/headers.txt
    M libc/config/linux/riscv/headers.txt
    M libc/config/linux/x86_64/headers.txt
    A libc/docs/headers/arpa/inet.rst
    M libc/docs/headers/assert.rst
    M libc/docs/headers/ctype.rst
    M libc/docs/headers/errno.rst
    M libc/docs/headers/fenv.rst
    M libc/docs/headers/float.rst
    M libc/docs/headers/index.rst
    M libc/docs/headers/inttypes.rst
    M libc/docs/headers/locale.rst
    M libc/docs/headers/signal.rst
    M libc/docs/headers/stdlib.rst
    M libc/docs/headers/string.rst
    M libc/docs/headers/strings.rst
    A libc/docs/headers/sys/mman.rst
    M libc/docs/headers/threads.rst
    M libc/docs/headers/uchar.rst
    M libc/docs/headers/wchar.rst
    M libc/docs/headers/wctype.rst
    M libc/hdr/types/CMakeLists.txt
    A libc/hdrgen/yaml/complex.yaml
    M libc/test/src/strings/CMakeLists.txt
    M libc/test/src/strings/index_test.cpp
    M libc/test/src/strings/rindex_test.cpp
    A libc/utils/docgen/arpa/inet.yaml
    R libc/utils/docgen/assert.json
    A libc/utils/docgen/assert.yaml
    R libc/utils/docgen/ctype.json
    A libc/utils/docgen/ctype.yaml
    M libc/utils/docgen/docgen.py
    R libc/utils/docgen/errno.json
    A libc/utils/docgen/errno.yaml
    R libc/utils/docgen/fenv.json
    A libc/utils/docgen/fenv.yaml
    R libc/utils/docgen/float.json
    A libc/utils/docgen/float.yaml
    M libc/utils/docgen/header.py
    R libc/utils/docgen/inttypes.json
    A libc/utils/docgen/inttypes.yaml
    R libc/utils/docgen/locale.json
    A libc/utils/docgen/locale.yaml
    R libc/utils/docgen/setjmp.json
    A libc/utils/docgen/setjmp.yaml
    R libc/utils/docgen/signal.json
    A libc/utils/docgen/signal.yaml
    R libc/utils/docgen/stdbit.json
    A libc/utils/docgen/stdbit.yaml
    R libc/utils/docgen/stdlib.json
    A libc/utils/docgen/stdlib.yaml
    R libc/utils/docgen/string.json
    A libc/utils/docgen/string.yaml
    R libc/utils/docgen/strings.json
    A libc/utils/docgen/sys/mman.yaml
    R libc/utils/docgen/threads.json
    A libc/utils/docgen/threads.yaml
    R libc/utils/docgen/uchar.json
    A libc/utils/docgen/uchar.yaml
    R libc/utils/docgen/wchar.json
    A libc/utils/docgen/wchar.yaml
    R libc/utils/docgen/wctype.json
    A libc/utils/docgen/wctype.yaml
    M libcxx/include/experimental/iterator
    M libcxx/include/experimental/memory
    M libcxx/include/experimental/propagate_const
    M libcxx/include/experimental/simd
    M libcxx/include/experimental/type_traits
    M libcxx/include/experimental/utility
    M libcxx/include/ext/hash_map
    M libcxx/include/ext/hash_set
    M libcxx/include/flat_map
    R libcxx/test/benchmarks/ContainerBenchmarks.h
    R libcxx/test/benchmarks/algorithms.partition_point.bench.cpp
    A libcxx/test/benchmarks/algorithms/algorithms.partition_point.bench.cpp
    A libcxx/test/benchmarks/algorithms/lexicographical_compare_three_way.bench.cpp
    A libcxx/test/benchmarks/containers/ContainerBenchmarks.h
    A libcxx/test/benchmarks/containers/deque.bench.cpp
    A libcxx/test/benchmarks/containers/deque_iterator.bench.cpp
    A libcxx/test/benchmarks/containers/map.bench.cpp
    A libcxx/test/benchmarks/containers/ordered_set.bench.cpp
    A libcxx/test/benchmarks/containers/string.bench.cpp
    A libcxx/test/benchmarks/containers/unordered_set_operations.bench.cpp
    A libcxx/test/benchmarks/containers/vector_operations.bench.cpp
    R libcxx/test/benchmarks/deque.bench.cpp
    R libcxx/test/benchmarks/deque_iterator.bench.cpp
    R libcxx/test/benchmarks/format.bench.cpp
    A libcxx/test/benchmarks/format/format.bench.cpp
    A libcxx/test/benchmarks/format/format_to.bench.cpp
    A libcxx/test/benchmarks/format/format_to_n.bench.cpp
    A libcxx/test/benchmarks/format/formatted_size.bench.cpp
    A libcxx/test/benchmarks/format/formatter_float.bench.cpp
    A libcxx/test/benchmarks/format/formatter_int.bench.cpp
    A libcxx/test/benchmarks/format/std_format_spec_string_unicode.bench.cpp
    A libcxx/test/benchmarks/format/std_format_spec_string_unicode_escape.bench.cpp
    R libcxx/test/benchmarks/format_to.bench.cpp
    R libcxx/test/benchmarks/format_to_n.bench.cpp
    R libcxx/test/benchmarks/formatted_size.bench.cpp
    R libcxx/test/benchmarks/formatter_float.bench.cpp
    R libcxx/test/benchmarks/formatter_int.bench.cpp
    R libcxx/test/benchmarks/lexicographical_compare_three_way.bench.cpp
    R libcxx/test/benchmarks/map.bench.cpp
    R libcxx/test/benchmarks/ordered_set.bench.cpp
    R libcxx/test/benchmarks/std_format_spec_string_unicode.bench.cpp
    R libcxx/test/benchmarks/std_format_spec_string_unicode_escape.bench.cpp
    R libcxx/test/benchmarks/string.bench.cpp
    R libcxx/test/benchmarks/unordered_set_operations.bench.cpp
    R libcxx/test/benchmarks/vector_operations.bench.cpp
    A libcxx/test/configs/stdlib-libstdc++.cfg.in
    A libcxx/test/configs/stdlib-native.cfg.in
    M libcxx/test/libcxx/feature_test_macro/version_header.sh.py
    M libcxx/test/libcxx/transitive_includes/cxx03.csv
    M libcxx/test/libcxx/transitive_includes/cxx11.csv
    M libcxx/test/libcxx/transitive_includes/cxx14.csv
    M libcxx/test/libcxx/transitive_includes/cxx17.csv
    M libcxx/test/libcxx/transitive_includes/cxx20.csv
    M libcxx/utils/generate_feature_test_macro_components.py
    M libcxxabi/CMakeLists.txt
    M libcxxabi/src/private_typeinfo.cpp
    M libunwind/CMakeLists.txt
    M lld/COFF/DriverUtils.cpp
    M lld/COFF/PDB.cpp
    M lld/COFF/Writer.cpp
    M lld/ELF/DriverUtils.cpp
    M lld/ELF/InputFiles.cpp
    M lld/MachO/DriverUtils.cpp
    M lld/MinGW/Driver.cpp
    M lld/test/ELF/lto/internalize-exportdyn.ll
    M lld/test/ELF/tls-opt.s
    M lld/test/ELF/x86-64-tls-ie-local.s
    M lld/wasm/Driver.cpp
    M lldb/include/lldb/Target/StackFrameList.h
    M lldb/source/DataFormatters/FormatterBytecode.cpp
    M lldb/source/Plugins/Platform/MacOSX/PlatformDarwin.cpp
    M lldb/source/Plugins/Process/Linux/NativeRegisterContextLinux_loongarch64.cpp
    M lldb/source/Plugins/Process/Linux/NativeRegisterContextLinux_loongarch64.h
    M lldb/source/Plugins/Process/Utility/CMakeLists.txt
    A lldb/source/Plugins/Process/Utility/NativeRegisterContextDBReg.cpp
    A lldb/source/Plugins/Process/Utility/NativeRegisterContextDBReg.h
    M lldb/source/Plugins/Process/Utility/NativeRegisterContextDBReg_arm64.cpp
    M lldb/source/Plugins/Process/Utility/NativeRegisterContextDBReg_arm64.h
    A lldb/source/Plugins/Process/Utility/NativeRegisterContextDBReg_loongarch.cpp
    A lldb/source/Plugins/Process/Utility/NativeRegisterContextDBReg_loongarch.h
    M lldb/source/Plugins/Process/gdb-remote/GDBRemoteCommunicationServerCommon.cpp
    M lldb/source/Target/Process.cpp
    M lldb/source/Target/StackFrameList.cpp
    M lldb/source/Target/Thread.cpp
    M lldb/test/API/api/multithreaded/TestMultithreaded.py
    A lldb/test/API/api/multithreaded/deep_stack.cpp
    A lldb/test/API/api/multithreaded/test_concurrent_unwind.cpp.template
    M lldb/tools/driver/Driver.cpp
    M lldb/tools/lldb-dap/lldb-dap.cpp
    M lldb/tools/lldb-server/lldb-gdbserver.cpp
    M lldb/unittests/DataFormatter/FormatterBytecodeTest.cpp
    M lldb/unittests/Host/PipeTest.cpp
    M llvm/Maintainers.md
    M llvm/docs/RISCVUsage.rst
    M llvm/docs/Reference.rst
    M llvm/docs/ReleaseNotes.md
    M llvm/docs/Security.rst
    M llvm/docs/StackMaps.rst
    A llvm/docs/UndefinedBehavior.rst
    M llvm/docs/Vectorizers.rst
    M llvm/docs/tutorial/MyFirstLanguageFrontend/LangImpl07.rst
    A llvm/docs/vplan-early-exit.dot
    A llvm/docs/vplan-early-exit.png
    M llvm/examples/Kaleidoscope/Chapter7/toy.cpp
    A llvm/include/llvm/ADT/StringTable.h
    M llvm/include/llvm/Analysis/DomTreeUpdater.h
    M llvm/include/llvm/Analysis/GenericDomTreeUpdater.h
    M llvm/include/llvm/Analysis/GenericDomTreeUpdaterImpl.h
    M llvm/include/llvm/Analysis/IVDescriptors.h
    M llvm/include/llvm/Analysis/TargetLibraryInfo.h
    M llvm/include/llvm/BinaryFormat/ELF.h
    M llvm/include/llvm/CodeGen/MachineBasicBlock.h
    M llvm/include/llvm/CodeGen/MachineDomTreeUpdater.h
    M llvm/include/llvm/CodeGen/MachineDominators.h
    M llvm/include/llvm/CodeGen/MachineSSAContext.h
    M llvm/include/llvm/CodeGen/MachineScheduler.h
    M llvm/include/llvm/CodeGen/SDNodeProperties.td
    M llvm/include/llvm/CodeGen/TargetRegisterInfo.h
    M llvm/include/llvm/DebugInfo/DWARF/DWARFTypePrinter.h
    M llvm/include/llvm/ExecutionEngine/JITLink/aarch64.h
    M llvm/include/llvm/Frontend/OpenMP/ClauseT.h
    M llvm/include/llvm/Frontend/OpenMP/OMP.td
    M llvm/include/llvm/IR/Intrinsics.td
    M llvm/include/llvm/IR/IntrinsicsAArch64.td
    M llvm/include/llvm/IR/NVVMIntrinsicFlags.h
    M llvm/include/llvm/Option/OptTable.h
    M llvm/include/llvm/Option/Option.h
    M llvm/include/llvm/ProfileData/InstrProfReader.h
    M llvm/include/llvm/ProfileData/MemProf.h
    A llvm/include/llvm/ProfileData/MemProfYAML.h
    M llvm/include/llvm/SandboxIR/Type.h
    M llvm/include/llvm/Support/AutoConvert.h
    M llvm/include/llvm/Support/Memory.h
    M llvm/include/llvm/Target/TargetSelectionDAG.td
    M llvm/include/llvm/TargetParser/AArch64TargetParser.h
    M llvm/include/llvm/Transforms/Utils/Evaluator.h
    M llvm/include/llvm/Transforms/Utils/ExtraPassManager.h
    M llvm/include/llvm/Transforms/Utils/LoopUtils.h
    M llvm/include/llvm/Transforms/Vectorize/LoopVectorizationLegality.h
    M llvm/include/module.modulemap
    M llvm/lib/Analysis/DomTreeUpdater.cpp
    M llvm/lib/Analysis/IVDescriptors.cpp
    M llvm/lib/Analysis/TargetLibraryInfo.cpp
    M llvm/lib/Analysis/ValueTracking.cpp
    M llvm/lib/AsmParser/LLParser.cpp
    M llvm/lib/CodeGen/AsmPrinter/AsmPrinter.cpp
    M llvm/lib/CodeGen/AsmPrinter/AsmPrinterInlineAsm.cpp
    M llvm/lib/CodeGen/GlobalISel/LegalizerHelper.cpp
    M llvm/lib/CodeGen/GlobalISel/Utils.cpp
    M llvm/lib/CodeGen/LazyMachineBlockFrequencyInfo.cpp
    M llvm/lib/CodeGen/LiveDebugValues/InstrRefBasedImpl.cpp
    M llvm/lib/CodeGen/LiveDebugValues/LiveDebugValues.cpp
    M llvm/lib/CodeGen/MLRegAllocEvictAdvisor.cpp
    M llvm/lib/CodeGen/MachineBasicBlock.cpp
    M llvm/lib/CodeGen/MachineDomTreeUpdater.cpp
    M llvm/lib/CodeGen/MachineDominanceFrontier.cpp
    M llvm/lib/CodeGen/MachineDominators.cpp
    M llvm/lib/CodeGen/MachineLICM.cpp
    M llvm/lib/CodeGen/MachineLoopInfo.cpp
    M llvm/lib/CodeGen/MachineScheduler.cpp
    M llvm/lib/CodeGen/MachineSink.cpp
    M llvm/lib/CodeGen/MachineUniformityAnalysis.cpp
    M llvm/lib/CodeGen/PHIElimination.cpp
    M llvm/lib/CodeGen/SelectOptimize.cpp
    M llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
    M llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp
    M llvm/lib/CodeGen/VLIWMachineScheduler.cpp
    M llvm/lib/CodeGen/XRayInstrumentation.cpp
    M llvm/lib/DWARFLinker/Parallel/DWARFLinkerCompileUnit.cpp
    M llvm/lib/ExecutionEngine/JITLink/COFFDirectiveParser.cpp
    M llvm/lib/ExecutionEngine/Orc/JITLinkReentryTrampolines.cpp
    M llvm/lib/Frontend/OpenMP/OMPIRBuilder.cpp
    M llvm/lib/MC/MCParser/AsmParser.cpp
    M llvm/lib/ObjectYAML/ELFYAML.cpp
    M llvm/lib/Option/OptTable.cpp
    M llvm/lib/Option/Option.cpp
    M llvm/lib/Passes/PassRegistry.def
    M llvm/lib/ProfileData/MemProfReader.cpp
    M llvm/lib/SandboxIR/Type.cpp
    M llvm/lib/Support/AutoConvert.cpp
    M llvm/lib/Support/MemoryBuffer.cpp
    M llvm/lib/Support/Windows/Path.inc
    M llvm/lib/Target/AArch64/AArch64ExpandPseudoInsts.cpp
    M llvm/lib/Target/AArch64/AArch64Features.td
    M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
    M llvm/lib/Target/AArch64/AArch64RegisterInfo.cpp
    M llvm/lib/Target/AArch64/AArch64RegisterInfo.h
    M llvm/lib/Target/AArch64/AArch64SVEInstrInfo.td
    M llvm/lib/Target/AArch64/SMEInstrFormats.td
    M llvm/lib/Target/AArch64/SVEInstrFormats.td
    M llvm/lib/Target/AMDGPU/AMDGPU.td
    M llvm/lib/Target/AMDGPU/AMDGPUAttributor.cpp
    M llvm/lib/Target/AMDGPU/AMDGPUCodeGenPrepare.cpp
    M llvm/lib/Target/AMDGPU/AMDGPULegalizerInfo.cpp
    M llvm/lib/Target/AMDGPU/AMDGPUTargetMachine.cpp
    M llvm/lib/Target/AMDGPU/BUFInstructions.td
    M llvm/lib/Target/AMDGPU/FLATInstructions.td
    M llvm/lib/Target/AMDGPU/GCNHazardRecognizer.cpp
    M llvm/lib/Target/AMDGPU/SIInstrInfo.cpp
    M llvm/lib/Target/AMDGPU/SIInstrInfo.td
    M llvm/lib/Target/AMDGPU/SILateBranchLowering.cpp
    M llvm/lib/Target/AMDGPU/SILowerI1Copies.cpp
    M llvm/lib/Target/AMDGPU/SIRegisterInfo.cpp
    M llvm/lib/Target/AMDGPU/SIWholeQuadMode.cpp
    M llvm/lib/Target/AMDGPU/SOPInstructions.td
    M llvm/lib/Target/AMDGPU/Utils/AMDGPUBaseInfo.cpp
    M llvm/lib/Target/AMDGPU/Utils/AMDGPUBaseInfo.h
    M llvm/lib/Target/AMDGPU/VOP3Instructions.td
    M llvm/lib/Target/AMDGPU/VOP3PInstructions.td
    M llvm/lib/Target/AMDGPU/VOPInstructions.td
    M llvm/lib/Target/ARM/ARMBaseRegisterInfo.cpp
    M llvm/lib/Target/ARM/ARMInstrInfo.td
    M llvm/lib/Target/ARM/ARMInstrMVE.td
    M llvm/lib/Target/ARM/ARMInstrThumb.td
    M llvm/lib/Target/ARM/ARMInstrThumb2.td
    M llvm/lib/Target/AVR/AVRInstrInfo.td
    M llvm/lib/Target/Hexagon/HexagonFrameLowering.cpp
    M llvm/lib/Target/Hexagon/HexagonRegisterInfo.cpp
    M llvm/lib/Target/M68k/Disassembler/M68kDisassembler.cpp
    M llvm/lib/Target/M68k/M68kISelDAGToDAG.cpp
    M llvm/lib/Target/M68k/M68kInstrAtomics.td
    M llvm/lib/Target/M68k/M68kInstrControl.td
    M llvm/lib/Target/M68k/M68kInstrInfo.td
    M llvm/lib/Target/M68k/MCTargetDesc/M68kAsmBackend.cpp
    M llvm/lib/Target/NVPTX/NVPTXInstrInfo.td
    M llvm/lib/Target/PowerPC/PPCISelLowering.cpp
    M llvm/lib/Target/PowerPC/PPCInstrInfo.td
    M llvm/lib/Target/PowerPC/PPCRegisterInfo.cpp
    M llvm/lib/Target/RISCV/Disassembler/RISCVDisassembler.cpp
    M llvm/lib/Target/RISCV/RISCVFeatures.td
    M llvm/lib/Target/RISCV/RISCVFrameLowering.cpp
    M llvm/lib/Target/RISCV/RISCVGISel.td
    M llvm/lib/Target/RISCV/RISCVISelDAGToDAG.cpp
    M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
    M llvm/lib/Target/RISCV/RISCVInstrInfo.cpp
    M llvm/lib/Target/RISCV/RISCVInstrInfo.td
    M llvm/lib/Target/RISCV/RISCVInstrInfoVPseudos.td
    M llvm/lib/Target/RISCV/RISCVInstrInfoVSDPatterns.td
    M llvm/lib/Target/RISCV/RISCVInstrInfoVVLPatterns.td
    M llvm/lib/Target/RISCV/RISCVInstrInfoXqci.td
    M llvm/lib/Target/RISCV/RISCVInstrInfoZb.td
    M llvm/lib/Target/RISCV/RISCVTargetMachine.cpp
    M llvm/lib/Target/RISCV/RISCVTargetTransformInfo.cpp
    M llvm/lib/Target/RISCV/RISCVVLOptimizer.cpp
    M llvm/lib/Target/X86/MCTargetDesc/X86AsmBackend.cpp
    M llvm/lib/Target/X86/MCTargetDesc/X86ELFObjectWriter.cpp
    M llvm/lib/Target/X86/MCTargetDesc/X86FixupKinds.h
    M llvm/lib/Target/X86/MCTargetDesc/X86MCCodeEmitter.cpp
    M llvm/lib/Target/X86/MCTargetDesc/X86MachObjectWriter.cpp
    M llvm/lib/Target/X86/MCTargetDesc/X86WinCOFFObjectWriter.cpp
    M llvm/lib/Target/X86/X86FlagsCopyLowering.cpp
    M llvm/lib/Target/X86/X86ISelLowering.cpp
    M llvm/lib/Target/X86/X86InstrFragments.td
    M llvm/lib/Target/X86/X86RegisterInfo.cpp
    M llvm/lib/Target/Xtensa/XtensaISelLowering.cpp
    M llvm/lib/Target/Xtensa/XtensaISelLowering.h
    M llvm/lib/Target/Xtensa/XtensaMachineFunctionInfo.h
    M llvm/lib/TargetParser/AArch64TargetParser.cpp
    M llvm/lib/TargetParser/Host.cpp
    M llvm/lib/TargetParser/RISCVISAInfo.cpp
    M llvm/lib/ToolDrivers/llvm-dlltool/DlltoolDriver.cpp
    M llvm/lib/ToolDrivers/llvm-lib/LibDriver.cpp
    M llvm/lib/Transforms/IPO/AlwaysInliner.cpp
    M llvm/lib/Transforms/InstCombine/InstCombineInternal.h
    M llvm/lib/Transforms/InstCombine/InstCombineVectorOps.cpp
    M llvm/lib/Transforms/InstCombine/InstructionCombining.cpp
    M llvm/lib/Transforms/Scalar/DeadStoreElimination.cpp
    M llvm/lib/Transforms/Scalar/InductiveRangeCheckElimination.cpp
    M llvm/lib/Transforms/Utils/Evaluator.cpp
    M llvm/lib/Transforms/Utils/LoopUtils.cpp
    M llvm/lib/Transforms/Utils/SimplifyLibCalls.cpp
    M llvm/lib/Transforms/Vectorize/LoopVectorizationLegality.cpp
    M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
    M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
    M llvm/lib/Transforms/Vectorize/VPlan.cpp
    M llvm/lib/Transforms/Vectorize/VPlan.h
    M llvm/lib/Transforms/Vectorize/VPlanAnalysis.cpp
    M llvm/lib/Transforms/Vectorize/VPlanRecipes.cpp
    M llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
    M llvm/lib/Transforms/Vectorize/VPlanTransforms.h
    M llvm/lib/Transforms/Vectorize/VPlanUnroll.cpp
    M llvm/lib/Transforms/Vectorize/VPlanUtils.cpp
    M llvm/lib/Transforms/Vectorize/VPlanVerifier.cpp
    M llvm/lib/Transforms/Vectorize/VectorCombine.cpp
    M llvm/test/Analysis/CostModel/RISCV/rvv-extractelement.ll
    M llvm/test/Analysis/CostModel/RISCV/rvv-insertelement.ll
    M llvm/test/Assembler/aggregate-constant-values.ll
    M llvm/test/CodeGen/AArch64/Atomics/aarch64-atomicrmw-lse2.ll
    M llvm/test/CodeGen/AArch64/Atomics/aarch64-atomicrmw-lse2_lse128.ll
    M llvm/test/CodeGen/AArch64/Atomics/aarch64-atomicrmw-outline_atomics.ll
    M llvm/test/CodeGen/AArch64/Atomics/aarch64-atomicrmw-rcpc.ll
    M llvm/test/CodeGen/AArch64/Atomics/aarch64-atomicrmw-rcpc3.ll
    M llvm/test/CodeGen/AArch64/Atomics/aarch64-atomicrmw-v8_1a.ll
    M llvm/test/CodeGen/AArch64/Atomics/aarch64-atomicrmw-v8a.ll
    M llvm/test/CodeGen/AArch64/GlobalISel/legalize-cmp.mir
    M llvm/test/CodeGen/AArch64/GlobalISel/legalize-threeway-cmp.mir
    M llvm/test/CodeGen/AArch64/aarch64-minmaxv.ll
    M llvm/test/CodeGen/AArch64/dag-combine-setcc.ll
    M llvm/test/CodeGen/AArch64/dump-schedule-trace.mir
    M llvm/test/CodeGen/AArch64/force-enable-intervals.mir
    A llvm/test/CodeGen/AArch64/fp8-sve-cvtn.ll
    M llvm/test/CodeGen/AArch64/icmp.ll
    M llvm/test/CodeGen/AArch64/illegal-floating-point-vector-compares.ll
    M llvm/test/CodeGen/AArch64/misched-detail-resource-booking-01.mir
    M llvm/test/CodeGen/AArch64/misched-detail-resource-booking-02.mir
    M llvm/test/CodeGen/AArch64/misched-sort-resource-in-trace.mir
    M llvm/test/CodeGen/AArch64/reduce-and.ll
    M llvm/test/CodeGen/AArch64/reduce-or.ll
    M llvm/test/CodeGen/AArch64/scmp.ll
    M llvm/test/CodeGen/AArch64/selectopt-cast.ll
    M llvm/test/CodeGen/AArch64/sme2-intrinsics-int-dots.ll
    M llvm/test/CodeGen/AArch64/sme2-intrinsics-vdot.ll
    A llvm/test/CodeGen/AArch64/stackmap-args.ll
    M llvm/test/CodeGen/AArch64/sve-streaming-mode-cvt-fp-int-fp.ll
    M llvm/test/CodeGen/AArch64/ucmp.ll
    M llvm/test/CodeGen/AArch64/vecreduce-and-legalization.ll
    M llvm/test/CodeGen/AArch64/vecreduce-bool.ll
    M llvm/test/CodeGen/AArch64/vecreduce-umax-legalization.ll
    M llvm/test/CodeGen/AArch64/vector-extract-last-active.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/saddsat.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/ssubsat.ll
    M llvm/test/CodeGen/AMDGPU/addrspacecast-constantexpr.ll
    M llvm/test/CodeGen/AMDGPU/amdgpu-attributor-no-agpr.ll
    M llvm/test/CodeGen/AMDGPU/amdgpu-codegenprepare-idiv.ll
    M llvm/test/CodeGen/AMDGPU/amdgpu.private-memory.ll
    M llvm/test/CodeGen/AMDGPU/annotate-existing-abi-attributes.ll
    M llvm/test/CodeGen/AMDGPU/annotate-kernel-features-hsa-call.ll
    M llvm/test/CodeGen/AMDGPU/annotate-kernel-features-hsa.ll
    M llvm/test/CodeGen/AMDGPU/attr-amdgpu-max-num-workgroups-propagate.ll
    M llvm/test/CodeGen/AMDGPU/attributor-flatscratchinit.ll
    M llvm/test/CodeGen/AMDGPU/attributor-loop-issue-58639.ll
    M llvm/test/CodeGen/AMDGPU/av-spill-expansion-with-machine-cp.mir
    M llvm/test/CodeGen/AMDGPU/bypass-div.ll
    M llvm/test/CodeGen/AMDGPU/direct-indirect-call.ll
    M llvm/test/CodeGen/AMDGPU/div_i128.ll
    M llvm/test/CodeGen/AMDGPU/duplicate-attribute-indirect.ll
    M llvm/test/CodeGen/AMDGPU/hazards-gfx950.mir
    M llvm/test/CodeGen/AMDGPU/implicitarg-offset-attributes.ll
    M llvm/test/CodeGen/AMDGPU/indirect-call-set-from-other-function.ll
    M llvm/test/CodeGen/AMDGPU/inline-attr.ll
    M llvm/test/CodeGen/AMDGPU/propagate-flat-work-group-size.ll
    M llvm/test/CodeGen/AMDGPU/propagate-waves-per-eu.ll
    M llvm/test/CodeGen/AMDGPU/recursive_global_initializer.ll
    M llvm/test/CodeGen/AMDGPU/remove-no-kernel-id-attribute.ll
    M llvm/test/CodeGen/AMDGPU/sgpr-regalloc-flags.ll
    M llvm/test/CodeGen/AMDGPU/simple-indirect-call-2.ll
    M llvm/test/CodeGen/AMDGPU/simple-indirect-call.ll
    M llvm/test/CodeGen/AMDGPU/simplify-libcalls.ll
    M llvm/test/CodeGen/AMDGPU/udiv64.ll
    M llvm/test/CodeGen/AMDGPU/uniform-work-group-attribute-missing.ll
    M llvm/test/CodeGen/AMDGPU/uniform-work-group-multistep.ll
    M llvm/test/CodeGen/AMDGPU/uniform-work-group-nested-function-calls.ll
    M llvm/test/CodeGen/AMDGPU/uniform-work-group-prevent-attribute-propagation.ll
    M llvm/test/CodeGen/AMDGPU/uniform-work-group-propagate-attribute.ll
    M llvm/test/CodeGen/AMDGPU/uniform-work-group-recursion-test.ll
    M llvm/test/CodeGen/AMDGPU/uniform-work-group-test.ll
    M llvm/test/CodeGen/AMDGPU/urem64.ll
    A llvm/test/CodeGen/ARM/dagcombine-ld-op-st.ll
    M llvm/test/CodeGen/ARM/single-issue-r52.mir
    M llvm/test/CodeGen/M68k/Atomics/load-store.ll
    M llvm/test/CodeGen/M68k/Atomics/rmw.ll
    A llvm/test/CodeGen/M68k/CodeModel/Large/Atomics/cmpxchg.ll
    A llvm/test/CodeGen/M68k/CodeModel/Large/Atomics/fence.ll
    A llvm/test/CodeGen/M68k/CodeModel/Large/Atomics/load-store.ll
    A llvm/test/CodeGen/M68k/CodeModel/Large/Atomics/rmw.ll
    A llvm/test/CodeGen/M68k/CodeModel/Large/large-pic.ll
    A llvm/test/CodeGen/M68k/CodeModel/Large/large-pie-global-access.ll
    A llvm/test/CodeGen/M68k/CodeModel/Large/large-pie.ll
    A llvm/test/CodeGen/M68k/CodeModel/Large/large-static.ll
    A llvm/test/CodeGen/M68k/CodeModel/Medium/medium-pic.ll
    A llvm/test/CodeGen/M68k/CodeModel/Medium/medium-pie-global-access.ll
    A llvm/test/CodeGen/M68k/CodeModel/Medium/medium-pie.ll
    A llvm/test/CodeGen/M68k/CodeModel/Medium/medium-static.ll
    A llvm/test/CodeGen/M68k/CodeModel/Small/small-pic.ll
    A llvm/test/CodeGen/M68k/CodeModel/Small/small-pie-global-access.ll
    A llvm/test/CodeGen/M68k/CodeModel/Small/small-pie.ll
    A llvm/test/CodeGen/M68k/CodeModel/Small/small-static.ll
    R llvm/test/CodeGen/M68k/CodeModel/large-pic.ll
    R llvm/test/CodeGen/M68k/CodeModel/large-pie-global-access.ll
    R llvm/test/CodeGen/M68k/CodeModel/large-pie.ll
    R llvm/test/CodeGen/M68k/CodeModel/large-static.ll
    R llvm/test/CodeGen/M68k/CodeModel/medium-pic.ll
    R llvm/test/CodeGen/M68k/CodeModel/medium-pie-global-access.ll
    R llvm/test/CodeGen/M68k/CodeModel/medium-pie.ll
    R llvm/test/CodeGen/M68k/CodeModel/medium-static.ll
    R llvm/test/CodeGen/M68k/CodeModel/small-pic.ll
    R llvm/test/CodeGen/M68k/CodeModel/small-pie-global-access.ll
    R llvm/test/CodeGen/M68k/CodeModel/small-pie.ll
    R llvm/test/CodeGen/M68k/CodeModel/small-static.ll
    A llvm/test/CodeGen/M68k/TLS/tls-arid.ll
    M llvm/test/CodeGen/Mips/GlobalISel/legalizer/icmp.mir
    M llvm/test/CodeGen/Mips/GlobalISel/llvm-ir/icmp.ll
    M llvm/test/CodeGen/PowerPC/aix-cc-abi-mir.ll
    M llvm/test/CodeGen/PowerPC/aix-cc-abi.ll
    A llvm/test/CodeGen/PowerPC/ppc64-stackmap-args.ll
    M llvm/test/CodeGen/RISCV/GlobalISel/instruction-select/rvv/render-vlop-rv32.mir
    M llvm/test/CodeGen/RISCV/GlobalISel/instruction-select/rvv/render-vlop-rv64.mir
    M llvm/test/CodeGen/RISCV/GlobalISel/instruction-select/rvv/vmclr-rv32.mir
    M llvm/test/CodeGen/RISCV/GlobalISel/instruction-select/rvv/vmclr-rv64.mir
    M llvm/test/CodeGen/RISCV/GlobalISel/legalizer/legalize-addo-subo-rv32.mir
    M llvm/test/CodeGen/RISCV/GlobalISel/legalizer/legalize-icmp-rv32.mir
    M llvm/test/CodeGen/RISCV/GlobalISel/legalizer/legalize-icmp-rv64.mir
    M llvm/test/CodeGen/RISCV/GlobalISel/legalizer/legalize-sat-rv32.mir
    M llvm/test/CodeGen/RISCV/GlobalISel/legalizer/legalize-smax-rv32.mir
    M llvm/test/CodeGen/RISCV/GlobalISel/legalizer/legalize-smin-rv32.mir
    M llvm/test/CodeGen/RISCV/GlobalISel/legalizer/legalize-umax-rv32.mir
    M llvm/test/CodeGen/RISCV/GlobalISel/legalizer/legalize-umin-rv32.mir
    A llvm/test/CodeGen/RISCV/and-shl.ll
    M llvm/test/CodeGen/RISCV/attributes.ll
    M llvm/test/CodeGen/RISCV/global-merge-minsize-smalldata-nonzero.ll
    M llvm/test/CodeGen/RISCV/global-merge-minsize-smalldata-zero.ll
    M llvm/test/CodeGen/RISCV/global-merge-minsize.ll
    M llvm/test/CodeGen/RISCV/global-merge-offset.ll
    M llvm/test/CodeGen/RISCV/global-merge.ll
    A llvm/test/CodeGen/RISCV/rv64-stackmap-args.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-fp-shuffles.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-fp2i.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-int-buildvec.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-int-shuffles.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-interleaved-access.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-masked-gather.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-masked-scatter.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-shuffle-deinterleave.ll
    M llvm/test/CodeGen/RISCV/rvv/sink-splat-operands.ll
    M llvm/test/CodeGen/RISCV/rvv/vl-opt-instrs.ll
    M llvm/test/CodeGen/RISCV/rvv/vl-opt-op-info.mir
    M llvm/test/CodeGen/RISCV/rvv/vsetvli-insert-crossbb.mir
    M llvm/test/CodeGen/RISCV/sifive7-enable-intervals.mir
    M llvm/test/CodeGen/SPIRV/constant/local-arbitrary-width-integers-constants-type-promotion.ll
    M llvm/test/CodeGen/SPIRV/extensions/SPV_INTEL_function_pointers/fp-simple-hierarchy.ll
    M llvm/test/CodeGen/SPIRV/extensions/SPV_INTEL_function_pointers/fp_const.ll
    M llvm/test/CodeGen/SPIRV/extensions/SPV_INTEL_function_pointers/fun-ptr-addrcast.ll
    M llvm/test/CodeGen/SPIRV/extensions/SPV_KHR_cooperative_matrix/cooperative_matrix.ll
    M llvm/test/CodeGen/SPIRV/instructions/vector-shuffle.ll
    M llvm/test/CodeGen/SPIRV/spec_const_decoration.ll
    M llvm/test/CodeGen/SPIRV/transcoding/OpBitReverse-subbyte.ll
    M llvm/test/CodeGen/SPIRV/transcoding/OpBitReverse_i2.ll
    M llvm/test/CodeGen/SPIRV/transcoding/OpGroupAsyncCopy.ll
    M llvm/test/CodeGen/SPIRV/transcoding/OpVectorExtractDynamic.ll
    M llvm/test/CodeGen/SPIRV/trunc-nonstd-bitwidth.ll
    A llvm/test/CodeGen/SystemZ/stackmap-args.ll
    M llvm/test/CodeGen/X86/handle-move.ll
    M llvm/test/CodeGen/X86/isel-select-cmov.ll
    M llvm/test/CodeGen/X86/misched-aa-colored.ll
    M llvm/test/CodeGen/X86/misched-matrix.ll
    M llvm/test/CodeGen/X86/misched-new.ll
    A llvm/test/CodeGen/X86/stackmap-args.ll
    M llvm/test/CodeGen/X86/store_op_load_fold.ll
    M llvm/test/CodeGen/X86/vec-strict-cmp-128.ll
    A llvm/test/CodeGen/Xtensa/vararg.ll
    M llvm/test/MC/AArch64/SME/streaming-mode-neon-negative.s
    M llvm/test/MC/AArch64/SME/streaming-sve-feature.s
    M llvm/test/MC/AArch64/armv8a-fpmul.s
    M llvm/test/MC/AMDGPU/gfx11_asm_sopp.s
    M llvm/test/MC/AMDGPU/gfx12_err.s
    M llvm/test/MC/AMDGPU/sopk.s
    M llvm/test/MC/Disassembler/AMDGPU/gfx11_dasm_sopp.txt
    M llvm/test/MC/Disassembler/M68k/control.txt
    A llvm/test/MC/ELF/debug-hash-file-empty-dwarf.s
    M llvm/test/MC/ELF/debug-hash-file.s
    M llvm/test/MC/ELF/relocation.s
    M llvm/test/MC/M68k/Atomics/cas.s
    M llvm/test/MC/M68k/Control/bsr.s
    A llvm/test/MC/M68k/Control/bsr32.s
    A llvm/test/MC/M68k/Relaxations/PIC/branch.s
    A llvm/test/MC/M68k/Relaxations/PIC/branch32.s
    A llvm/test/MC/M68k/Relaxations/PIC/bsr.s
    A llvm/test/MC/M68k/Relaxations/branch32.s
    A llvm/test/MC/M68k/Relocations/PIC/data-abs.s
    A llvm/test/MC/M68k/Relocations/PIC/data-gotoff.s
    A llvm/test/MC/M68k/Relocations/PIC/data-gotpcrel.s
    A llvm/test/MC/M68k/Relocations/PIC/data-pc-rel.s
    A llvm/test/MC/M68k/Relocations/PIC/text-plt.s
    M llvm/test/MC/M68k/Relocations/text-plt.s
    A llvm/test/MC/RISCV/xqcics-invalid.s
    A llvm/test/MC/RISCV/xqcics-valid.s
    A llvm/test/MachineVerifier/AMDGPU/unsupported-subreg-index-aligned-vgpr-check.mir
    M llvm/test/Transforms/GlobalOpt/evaluate-call-errors.ll
    M llvm/test/Transforms/GlobalOpt/evaluate-constfold-call.ll
    A llvm/test/Transforms/GlobalOpt/evaluate-ret-void-mismatch.ll
    M llvm/test/Transforms/IRCE/low-iterations.ll
    A llvm/test/Transforms/IRCE/profitability.ll
    A llvm/test/Transforms/Inline/always-inline-bfi.ll
    M llvm/test/Transforms/InstCombine/fpclass-from-dom-cond.ll
    M llvm/test/Transforms/InstCombine/stdio-custom-dl.ll
    M llvm/test/Transforms/InstCombine/strcpy-nonzero-as.ll
    A llvm/test/Transforms/InstCombine/vec_shuffle-phi-multiuse.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/fully-unrolled-cost.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/sve-tail-folding-forced.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/sve-widen-gep.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/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/ARM/mve-icmpcost.ll
    M llvm/test/Transforms/LoopVectorize/PowerPC/vplan-force-tail-with-evl.ll
    M llvm/test/Transforms/LoopVectorize/RISCV/riscv-vector-reverse.ll
    M llvm/test/Transforms/LoopVectorize/RISCV/vplan-vp-intrinsics-reduction.ll
    M llvm/test/Transforms/LoopVectorize/RISCV/vplan-vp-select-intrinsics.ll
    M llvm/test/Transforms/LoopVectorize/early_exit_legality.ll
    M llvm/test/Transforms/LoopVectorize/first-order-recurrence-chains-vplan.ll
    M llvm/test/Transforms/LoopVectorize/first-order-recurrence-sink-replicate-region.ll
    M llvm/test/Transforms/LoopVectorize/icmp-uniforms.ll
    M llvm/test/Transforms/LoopVectorize/interleave-and-scalarize-only.ll
    A llvm/test/Transforms/LoopVectorize/iv-select-cmp-blend.ll
    M llvm/test/Transforms/LoopVectorize/iv-select-cmp-no-wrap.ll
    M llvm/test/Transforms/LoopVectorize/iv-select-cmp-trunc.ll
    M llvm/test/Transforms/LoopVectorize/iv-select-cmp.ll
    M llvm/test/Transforms/LoopVectorize/select-min-index.ll
    M llvm/test/Transforms/LoopVectorize/single_early_exit.ll
    A llvm/test/Transforms/LoopVectorize/uncountable-early-exit-vplan.ll
    M llvm/test/Transforms/LoopVectorize/unsupported_early_exit.ll
    M llvm/test/Transforms/LoopVectorize/vplan-dot-printing.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-outer-loop.ll
    M llvm/test/Transforms/LoopVectorize/vplan-printing.ll
    M llvm/test/Transforms/LoopVectorize/vplan-sink-scalars-and-merge-vf1.ll
    M llvm/test/Transforms/LoopVectorize/vplan-sink-scalars-and-merge.ll
    M llvm/test/Transforms/LoopVectorize/vplan-unused-interleave-group.ll
    M llvm/test/Transforms/MergeICmps/X86/distinct-index-width-crash.ll
    A llvm/test/Transforms/PGOProfile/memprof_annotate_yaml.test
    M llvm/test/Transforms/PhaseOrdering/AArch64/hoist-runtime-checks.ll
    R llvm/test/Transforms/PhaseOrdering/X86/concat-boolmasks.ll
    M llvm/test/Transforms/PhaseOrdering/X86/hoist-load-of-baseptr.ll
    M llvm/test/Transforms/PhaseOrdering/X86/preserve-access-group.ll
    M llvm/test/Transforms/SLPVectorizer/RISCV/revec.ll
    A llvm/test/Transforms/VectorCombine/X86/concat-boolmasks.ll
    M llvm/test/Transforms/VectorCombine/X86/extract-binop-inseltpoison.ll
    M llvm/test/Transforms/VectorCombine/X86/extract-binop.ll
    M llvm/test/tools/llc/new-pm/regalloc-amdgpu.mir
    M llvm/test/tools/llvm-profdata/memprof-yaml.test
    M llvm/test/tools/llvm-readobj/ELF/note-core.test
    M llvm/tools/dsymutil/dsymutil.cpp
    M llvm/tools/llvm-cgdata/llvm-cgdata.cpp
    M llvm/tools/llvm-cvtres/llvm-cvtres.cpp
    M llvm/tools/llvm-cxxfilt/llvm-cxxfilt.cpp
    M llvm/tools/llvm-debuginfod-find/llvm-debuginfod-find.cpp
    M llvm/tools/llvm-debuginfod/llvm-debuginfod.cpp
    M llvm/tools/llvm-dwarfutil/llvm-dwarfutil.cpp
    M llvm/tools/llvm-dwp/llvm-dwp.cpp
    M llvm/tools/llvm-gsymutil/llvm-gsymutil.cpp
    M llvm/tools/llvm-ifs/llvm-ifs.cpp
    M llvm/tools/llvm-libtool-darwin/llvm-libtool-darwin.cpp
    M llvm/tools/llvm-lipo/llvm-lipo.cpp
    M llvm/tools/llvm-ml/llvm-ml.cpp
    M llvm/tools/llvm-mt/llvm-mt.cpp
    M llvm/tools/llvm-nm/llvm-nm.cpp
    M llvm/tools/llvm-objcopy/ObjcopyOptions.cpp
    M llvm/tools/llvm-objdump/llvm-objdump.cpp
    M llvm/tools/llvm-profdata/llvm-profdata.cpp
    M llvm/tools/llvm-rc/llvm-rc.cpp
    M llvm/tools/llvm-readobj/ELFDumper.cpp
    M llvm/tools/llvm-readobj/llvm-readobj.cpp
    M llvm/tools/llvm-readtapi/llvm-readtapi.cpp
    M llvm/tools/llvm-reduce/deltas/ReduceInstructionsMIR.cpp
    M llvm/tools/llvm-size/llvm-size.cpp
    M llvm/tools/llvm-strings/llvm-strings.cpp
    M llvm/tools/llvm-symbolizer/llvm-symbolizer.cpp
    M llvm/tools/llvm-tli-checker/llvm-tli-checker.cpp
    M llvm/tools/sancov/sancov.cpp
    M llvm/unittests/ADT/CMakeLists.txt
    A llvm/unittests/ADT/StringTableTest.cpp
    M llvm/unittests/Analysis/DomTreeUpdaterTest.cpp
    M llvm/unittests/CodeGen/MachineInstrTest.cpp
    M llvm/unittests/Frontend/OpenMPDecompositionTest.cpp
    M llvm/unittests/Frontend/OpenMPIRBuilderTest.cpp
    M llvm/unittests/IR/IRBuilderTest.cpp
    M llvm/unittests/Option/OptionMarshallingTest.cpp
    M llvm/unittests/Option/OptionParsingTest.cpp
    M llvm/unittests/ProfileData/MemProfTest.cpp
    M llvm/unittests/Target/WebAssembly/WebAssemblyExceptionInfoTest.cpp
    M llvm/unittests/TargetParser/Host.cpp
    M llvm/unittests/TargetParser/RISCVISAInfoTest.cpp
    M llvm/unittests/Transforms/Vectorize/VPlanHCFGTest.cpp
    M llvm/unittests/Transforms/Vectorize/VPlanTest.cpp
    M llvm/unittests/Transforms/Vectorize/VPlanVerifierTest.cpp
    M llvm/utils/TableGen/Basic/SDNodeProperties.h
    M llvm/utils/TableGen/Common/CodeGenTarget.cpp
    M llvm/utils/TableGen/Common/CodeGenTarget.h
    M llvm/utils/TableGen/DAGISelMatcherEmitter.cpp
    M llvm/utils/TableGen/OptionParserEmitter.cpp
    M llvm/utils/TableGen/RegisterInfoEmitter.cpp
    M llvm/utils/git/code-format-helper.py
    M llvm/utils/gn/secondary/clang-tools-extra/clang-tidy/modernize/BUILD.gn
    M llvm/utils/gn/secondary/lldb/source/Plugins/Process/Utility/BUILD.gn
    M llvm/utils/gn/secondary/llvm/unittests/ADT/BUILD.gn
    M mlir/CMakeLists.txt
    M mlir/cmake/modules/AddMLIR.cmake
    A mlir/include/mlir-c/Dialect/EmitC.h
    M mlir/include/mlir/Conversion/Passes.td
    M mlir/include/mlir/Dialect/LLVMIR/NVVMOps.td
    M mlir/include/mlir/Dialect/OpenMP/OpenMPOps.td
    M mlir/lib/CAPI/Dialect/CMakeLists.txt
    A mlir/lib/CAPI/Dialect/EmitC.cpp
    M mlir/lib/Conversion/ComplexToStandard/ComplexToStandard.cpp
    M mlir/lib/Conversion/GPUToLLVMSPV/GPUToLLVMSPV.cpp
    M mlir/lib/Dialect/LLVMIR/IR/NVVMDialect.cpp
    M mlir/lib/Dialect/Tensor/IR/TensorTilingInterfaceImpl.cpp
    M mlir/lib/Dialect/Tosa/Transforms/TosaValidation.cpp
    M mlir/lib/Target/LLVMIR/Dialect/OpenMP/OpenMPToLLVMIRTranslation.cpp
    M mlir/python/CMakeLists.txt
    A mlir/python/mlir/dialects/EmitC.td
    A mlir/python/mlir/dialects/emitc.py
    M mlir/test/Conversion/ComplexToStandard/convert-to-standard.mlir
    M mlir/test/Conversion/GPUToLLVMSPV/gpu-to-llvm-spv.mlir
    M mlir/test/Dialect/Linalg/vectorize-tensor-extract.mlir
    M mlir/test/Dialect/Tosa/level_check.mlir
    A mlir/test/Target/LLVMIR/nvvm/tma_store_reduce.mlir
    M mlir/test/Target/LLVMIR/nvvmir-invalid.mlir
    M mlir/test/Target/LLVMIR/omptarget-byref-bycopy-generation-device.mlir
    M mlir/test/Target/LLVMIR/omptarget-declare-target-llvm-device.mlir
    A mlir/test/Target/LLVMIR/openmp-target-multiple-private.mlir
    A mlir/test/Target/LLVMIR/openmp-target-private-allocatable.mlir
    M mlir/test/Target/LLVMIR/openmp-target-private.mlir
    M mlir/test/Target/LLVMIR/openmp-target-use-device-nested.mlir
    M mlir/test/Target/LLVMIR/openmp-todo.mlir
    A mlir/test/python/dialects/emitc_dialect.py
    M mlir/tools/mlir-cpu-runner/CMakeLists.txt
    M mlir/tools/mlir-lsp-server/CMakeLists.txt
    M mlir/tools/mlir-opt/CMakeLists.txt
    M mlir/tools/mlir-parser-fuzzer/bytecode/CMakeLists.txt
    M mlir/tools/mlir-parser-fuzzer/text/CMakeLists.txt
    M mlir/tools/mlir-query/CMakeLists.txt
    M mlir/tools/mlir-reduce/CMakeLists.txt
    M mlir/tools/mlir-rewrite/CMakeLists.txt
    M mlir/tools/mlir-translate/CMakeLists.txt
    M mlir/unittests/Bytecode/BytecodeTest.cpp
    M offload/DeviceRTL/include/Synchronization.h
    M offload/DeviceRTL/src/Synchronization.cpp
    M utils/bazel/llvm-project-overlay/mlir/BUILD.bazel
    M utils/bazel/llvm-project-overlay/mlir/python/BUILD.bazel

  Log Message:
  -----------
  Merge branch 'main' into users/boomanaiden154/refactor-buildkite-shell-scripts


Compare: https://github.com/llvm/llvm-project/compare/1c020bba94fe...b54681cb90e9

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