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

NAKAMURA Takumi via All-commits all-commits at lists.llvm.org
Sat Dec 21 08:32:57 PST 2024


  Branch: refs/heads/users/chapuni/cov/single/test
  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: 37d0e2f46e885f47c97b78c21d6b8668cd0ef871
      https://github.com/llvm/llvm-project/commit/37d0e2f46e885f47c97b78c21d6b8668cd0ef871
  Author: Matt Arsenault <Matthew.Arsenault at amd.com>
  Date:   2024-12-13 (Fri, 13 Dec 2024)

  Changed paths:
    M clang/test/CodeGenOpenCL/opencl_types.cl

  Log Message:
  -----------
  clang: Fix broken check prefix in test (#119821)


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

  Changed paths:
    M clang/docs/tools/dump_format_help.py
    M clang/docs/tools/dump_format_style.py

  Log Message:
  -----------
  [clang-format] Write in text mode with LF in dump_format_[help|style].py


  Commit: 5828aef014ea2b131fb126b328e7828d628ad5ed
      https://github.com/llvm/llvm-project/commit/5828aef014ea2b131fb126b328e7828d628ad5ed
  Author: Mike Hommey <mh at glandium.org>
  Date:   2024-12-12 (Thu, 12 Dec 2024)

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

  Log Message:
  -----------
  [sanitizer_common] Return nullptr from ASan on ERROR_COMMITMENT_LIMIT (#119753)

Followup to #117929


  Commit: 28c3bf5c6dad0974f9f15b58afd0935c0c6cb3e4
      https://github.com/llvm/llvm-project/commit/28c3bf5c6dad0974f9f15b58afd0935c0c6cb3e4
  Author: Younan Zhang <zyn7109 at gmail.com>
  Date:   2024-12-13 (Fri, 13 Dec 2024)

  Changed paths:
    M clang/include/clang/Basic/DiagnosticParseKinds.td
    M clang/lib/Parse/ParseExprCXX.cpp
    M clang/test/CXX/dcl.decl/dcl.meaning/dcl.fct/p13.cpp
    M clang/test/Parser/cxx0x-decl.cpp
    M clang/test/Parser/cxx2c-pack-indexing.cpp
    M clang/test/SemaCXX/cxx2c-pack-indexing-ext-diags.cpp

  Log Message:
  -----------
  [Clang][Parser] Add a warning to ambiguous uses of T...[N] types (#116332)

`void f(T... [N])` is no longer treated as a function with a parameter
of pack expansion type after the implementation of the pack indexing
feature. This patch introduces a warning to clarify such cases while
maintaining it as a pack indexing type in all language modes.

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


  Commit: d7a8e09893c43ad1169ff34989c3bec721d8b1a9
      https://github.com/llvm/llvm-project/commit/d7a8e09893c43ad1169ff34989c3bec721d8b1a9
  Author: Owen Pan <owenpiano at gmail.com>
  Date:   2024-12-13 (Fri, 13 Dec 2024)

  Changed paths:
    M clang/test/Format/docs_updated.test

  Log Message:
  -----------
  [clang-format] Add --strip-trailing-cr to diff in docs_updated.test (#119666)

Fixes #119517.


  Commit: e32c428bec2074f954350d225104c299964b4585
      https://github.com/llvm/llvm-project/commit/e32c428bec2074f954350d225104c299964b4585
  Author: Antonio Frighetto <me at antoniofrighetto.com>
  Date:   2024-12-13 (Fri, 13 Dec 2024)

  Changed paths:
    M llvm/test/Transforms/SimplifyCFG/X86/switch_to_lookup_table.ll
    M llvm/test/Transforms/SimplifyCFG/switch-dup-bbs.ll

  Log Message:
  -----------
  [SimplifyCFG] Precommit tests for PR118955 (NFC)


  Commit: d26df3225537f3f9dc283f4fb33d191d11802d8c
      https://github.com/llvm/llvm-project/commit/d26df3225537f3f9dc283f4fb33d191d11802d8c
  Author: Antonio Frighetto <me at antoniofrighetto.com>
  Date:   2024-12-13 (Fri, 13 Dec 2024)

  Changed paths:
    M llvm/lib/Transforms/Utils/SimplifyCFG.cpp
    M llvm/test/Transforms/SimplifyCFG/X86/switch_to_lookup_table.ll
    M llvm/test/Transforms/SimplifyCFG/switch-dup-bbs.ll

  Log Message:
  -----------
  [SimplifyCFG] Consider preds to switch in `simplifyDuplicateSwitchArms`

Allow a duplicate basic block with multiple predecessors to the
jump table to be simplified, by considering that the same basic
block may appear in more switch cases.


  Commit: 1d070988d9172965dee227e5629fa886845b815f
      https://github.com/llvm/llvm-project/commit/1d070988d9172965dee227e5629fa886845b815f
  Author: Hans Wennborg <hans at hanshq.net>
  Date:   2024-12-13 (Fri, 13 Dec 2024)

  Changed paths:
    M llvm/lib/Target/X86/X86WinEHState.cpp
    A llvm/test/CodeGen/WinEH/wineh-musttail-call.ll

  Log Message:
  -----------
  [WinEH] Take musttail calls into account when unlinking eh records (#119702)

Exception handling records are unlinked on function return. However, if
there is a musttail call before the return, that's the de-facto point of
termination and the unlinking instructions must be inserted *before*
that.

Fixes #119255


  Commit: 3d6b2d491209018918e4c881a0917bffc54cc0d9
      https://github.com/llvm/llvm-project/commit/3d6b2d491209018918e4c881a0917bffc54cc0d9
  Author: David Green <david.green at arm.com>
  Date:   2024-12-13 (Fri, 13 Dec 2024)

  Changed paths:
    M llvm/include/llvm/CodeGen/GlobalISel/LegalizationArtifactCombiner.h
    M llvm/test/CodeGen/AArch64/GlobalISel/combine-ext-debugloc.mir
    M llvm/test/CodeGen/AArch64/GlobalISel/legalize-build-vector.mir
    M llvm/test/CodeGen/AArch64/GlobalISel/legalize-concat-vectors.mir
    M llvm/test/CodeGen/AArch64/GlobalISel/legalize-inserts.mir

  Log Message:
  -----------
  [GlobalISel] Use replaceRegOrBuildCopy when legalizer-combining anyext(undef). (#119721)

This just avoids the unnecessary creation of some COPY nodes created
from the CSE builder.


  Commit: 06789ccb1695214f787cd471a300522973d33375
      https://github.com/llvm/llvm-project/commit/06789ccb1695214f787cd471a300522973d33375
  Author: Fraser Cormack <fraser at codeplay.com>
  Date:   2024-12-13 (Fri, 13 Dec 2024)

  Changed paths:
    M libclc/clc/include/clc/clcmacro.h
    M libclc/clc/include/clc/math/clc_ceil.h
    M libclc/clc/include/clc/math/clc_fabs.h
    M libclc/clc/include/clc/math/clc_floor.h
    M libclc/clc/include/clc/math/clc_rint.h
    M libclc/clc/include/clc/math/clc_trunc.h
    A libclc/clc/include/clc/math/unary_builtin.inc
    M libclc/clc/lib/clspv/SOURCES
    R libclc/clc/lib/clspv/dummy.cl
    M libclc/clc/lib/generic/SOURCES
    A libclc/clc/lib/generic/math/clc_ceil.cl
    A libclc/clc/lib/generic/math/clc_fabs.cl
    A libclc/clc/lib/generic/math/clc_floor.cl
    A libclc/clc/lib/generic/math/clc_rint.cl
    A libclc/clc/lib/generic/math/clc_trunc.cl
    M libclc/clc/lib/spirv/SOURCES
    M libclc/clc/lib/spirv64/SOURCES
    M libclc/generic/lib/math/ceil.cl
    M libclc/generic/lib/math/fabs.cl
    M libclc/generic/lib/math/floor.cl
    M libclc/generic/lib/math/rint.cl
    M libclc/generic/lib/math/round.cl
    M libclc/generic/lib/math/sqrt.cl
    M libclc/generic/lib/math/trunc.cl
    R libclc/generic/lib/math/unary_builtin.inc

  Log Message:
  -----------
  [libclc] Optimize ceil/fabs/floor/rint/trunc (#119596)

These functions all map to the corresponding LLVM intrinsics, but the
vector intrinsics weren't being generated. The intrinsic mapping from
CLC vector function to vector intrinsic was working correctly, but the
mapping from OpenCL builtin to CLC function was suboptimally recursively
splitting vectors in halves.

For example, with this change, `ceil(float16)` calls `llvm.ceil.v16f32`
directly once optimizations are applied.

Now also, instead of generating LLVM intrinsics through `__asm` we now
call clang elementwise builtins for each CLC builtin. This should be a
more standard way of achieving the same result

The CLC versions of each of these builtins are also now built and
enabled for SPIR-V targets. The LLVM -> SPIR-V translator maps the
intrinsics to the appropriate OpExtInst, so there should be no
difference in semantics, despite the newly introduced indirection from
OpenCL builtin through the CLC builtin to the intrinsic.

The AMDGPU targets make use of the same `_CLC_DEFINE_UNARY_BUILTIN`
macro to override `sqrt`, so those functions also appear more optimal
with this change, calling the vector `llvm.sqrt.vXf32` intrinsics
directly.


  Commit: 4c597d42dca13220c19661a021a11e28e2af801b
      https://github.com/llvm/llvm-project/commit/4c597d42dca13220c19661a021a11e28e2af801b
  Author: Adam Siemieniuk <adam.siemieniuk at intel.com>
  Date:   2024-12-13 (Fri, 13 Dec 2024)

  Changed paths:
    M mlir/lib/Conversion/VectorToXeGPU/VectorToXeGPU.cpp
    M mlir/test/Conversion/VectorToXeGPU/load-to-xegpu.mlir
    M mlir/test/Conversion/VectorToXeGPU/store-to-xegpu.mlir
    M mlir/test/Conversion/VectorToXeGPU/transfer-read-to-xegpu.mlir
    M mlir/test/Conversion/VectorToXeGPU/transfer-write-to-xegpu.mlir

  Log Message:
  -----------
  [mlir][xegpu] Support boundary checks only for block instructions (#119380)

Constrains Vector lowering to apply boundary checks only to data
transfers operating on block shapes.

This further aligns lowering with the current Xe instructions'
restrictions.


  Commit: ccc8e454044477de9ce71c1b22dd048f189a9601
      https://github.com/llvm/llvm-project/commit/ccc8e454044477de9ce71c1b22dd048f189a9601
  Author: Haohai Wen <haohai.wen at intel.com>
  Date:   2024-12-13 (Fri, 13 Dec 2024)

  Changed paths:
    M llvm/lib/Transforms/IPO/SampleProfile.cpp
    M llvm/test/Transforms/SampleProfile/pseudo-probe-profile.ll

  Log Message:
  -----------
  [PseudoProbe] Fix cleanup for pseudo probe after annotation (#119660)

When using -sample-profile-remove-probe, pseudo probe desc should
also be removed and dwarf discriminator for call instruction should
be restored.


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

  Changed paths:
    M clang/include/clang/Basic/arm_sme.td
    M clang/include/clang/Basic/arm_sve_sme_incl.td
    A clang/test/CodeGen/AArch64/sme2-intrinsics/acle_sme2_fp8_fdot.c
    A clang/test/Sema/aarch64-sme2-intrinsics/acle_sme2_fp8_fdot.c
    M llvm/include/llvm/IR/IntrinsicsAArch64.td
    M llvm/lib/Target/AArch64/AArch64SMEInstrInfo.td
    M llvm/lib/Target/AArch64/SMEInstrFormats.td
    A llvm/test/CodeGen/AArch64/sme2-intrinsics-fp8-fdot.ll

  Log Message:
  -----------
  [AArch64] Add intrinsics for SME FP8 FDOT LANE instructions (#118492)

Add support for the following SME 8 bit floating-point dot-product
intrinsics:
* void svdot_lane_za16_mf8_vg1x2_fpm(uint32_t slice, svmfloat8x2_t zn,
svmfloat8_t zm, uint64_t imm_idx, fpm_t fpm);
* void svdot_lane_za16_mf8_vg1x4_fpm(uint32_t slice, svmfloat8x4_t zn,
svmfloat8_t zm, uint64_t imm_idx, fpm_t fpm);
* void svdot_lane_za32_mf8_vg1x2_fpm(uint32_t slice, svmfloat8x2_t zn,
svmfloat8_t zm, uint64_t imm_idx, fpm_t fpm);
* void svdot_lane_za32_mf8_vg1x4_fpm(uint32_t slice, svmfloat8x4_t zn,
svmfloat8_t zm, uint64_t imm_idx, fpm_t fpm);

---------

Co-authored-by: Momchil Velikov <momchil.velikov at arm.com>
Co-authored-by: Marian Lukac <marian.lukac at arm.com>
Co-authored-by: Caroline Concatto <caroline.concatto at arm.com>
Co-authored-by: SpencerAbson <Spencer.Abson at arm.com>


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

  Changed paths:
    M clang-tools-extra/docs/clang-tidy/checks/misc/unused-parameters.rst

  Log Message:
  -----------
  [clang-tidy][doc][NFC] format doc for misc-unused-parameters (#119839)


  Commit: d6cc140dfdccc7314cc124a7d4aa4d0176299531
      https://github.com/llvm/llvm-project/commit/d6cc140dfdccc7314cc124a7d4aa4d0176299531
  Author: Aiden Grossman <aidengrossman at google.com>
  Date:   2024-12-13 (Fri, 13 Dec 2024)

  Changed paths:
    A .ci/compute-projects.sh
    M .ci/generate-buildkite-pipeline-premerge

  Log Message:
  -----------
  [CI] Refactor common functionality into separate script (#119530)

This patch refactors some common functionality present in the CI scripts
to a separate shell script. This is mainly intended to make it easier to
reuse this functionality inside of a Github Actions pipeline as we make
the switch.


  Commit: bc29fc937c6cb4a210f80c93c79fc6ed97c801f8
      https://github.com/llvm/llvm-project/commit/bc29fc937c6cb4a210f80c93c79fc6ed97c801f8
  Author: Petr Kurapov <petr.a.kurapov at intel.com>
  Date:   2024-12-13 (Fri, 13 Dec 2024)

  Changed paths:
    M mlir/include/mlir/Conversion/GPUCommon/GPUCommonPass.h
    M mlir/include/mlir/Dialect/GPU/Transforms/Passes.h
    R mlir/include/mlir/Dialect/GPU/Transforms/Utils.h
    A mlir/include/mlir/Dialect/GPU/Utils/DistributionUtils.h
    A mlir/include/mlir/Dialect/GPU/Utils/GPUUtils.h
    M mlir/lib/Dialect/GPU/CMakeLists.txt
    M mlir/lib/Dialect/GPU/Transforms/AsyncRegionRewriter.cpp
    M mlir/lib/Dialect/GPU/Transforms/KernelOutlining.cpp
    M mlir/lib/Dialect/GPU/Transforms/SubgroupReduceLowering.cpp
    R mlir/lib/Dialect/GPU/Transforms/Utils.cpp
    A mlir/lib/Dialect/GPU/Utils/CMakeLists.txt
    A mlir/lib/Dialect/GPU/Utils/DistributionUtils.cpp
    A mlir/lib/Dialect/GPU/Utils/Utils.cpp
    M mlir/lib/Dialect/Vector/Transforms/CMakeLists.txt
    M mlir/lib/Dialect/Vector/Transforms/VectorDistribute.cpp

  Log Message:
  -----------
  [MLIR] Create GPU utils library & move distribution utils (#119264)

Continue the move of `warp_execute_on_lane_0` op to the gpu dialect
(#116994). This patch creates a utils library in GPU and moves generic
helper functions there.


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

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

  Log Message:
  -----------
  [WebKit checkers] Recognize ensureFoo functions (#119681)

In WebKit, we often write Foo::ensureBar function which lazily
initializes m_bar and returns a raw pointer or a raw reference to m_bar.
Such a return value is safe to use for the duration of a member function
call in Foo so long as m_bar is const so that it never gets unset or
updated with a new value once it's initialized.

This PR adds support for recognizing these types of functions and
treating its return value as a safe origin of a function argument
(including "this") or a local variable.


  Commit: 473e2518e850598feae62916ebef4b4dbc88a0ee
      https://github.com/llvm/llvm-project/commit/473e2518e850598feae62916ebef4b4dbc88a0ee
  Author: GeorgeKA <gkasante at gmail.com>
  Date:   2024-12-13 (Fri, 13 Dec 2024)

  Changed paths:
    M clang/docs/LanguageExtensions.rst

  Log Message:
  -----------
  [clang] Document the return value of __builtin_COLUMN (#118360)

PR for issue #78657

Updated clang/docs/LanguageExtensions.rst to detail the return value of
__builtin_COLUMN for this implementation.

--

Fyi, this is my first contribution, so please bear with me.

There already appears to be a unit test for __builtin_COLUMN in
clang/test/SemaCXX/source_location.cpp.


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

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

  Log Message:
  -----------
  [mlir][Transforms] Dialect conversion: Move `hasRewrite` to expensive checks (#119848)

The dialect conversion has various checks that detect incorrect API
usage in patterns. One of these checks turned out to be quite expensive
(N*M complexity where N is the number of block rewrites and M is the
total number of rewrites) in NVIDIA-internal workloads: Checking that a
block is not converted multiple times.

This check iterates over the stack of all rewrites, which can be large.
We saw `hasRewrite` being called around 45000 times with an average
rewrite stack size of 500000.

This PR moves the check to `MLIR_ENABLE_EXPENSIVE_PATTERN_API_CHECKS`.
For consistency reasons, the other `hasRewrite`-based check is also
moved there.


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

  Changed paths:
    M mlir/include/mlir/Dialect/GPU/Utils/DistributionUtils.h

  Log Message:
  -----------
  [mlir] Fix the header guard (NFC)

/llvm-project/mlir/include/mlir/Dialect/GPU/Utils/DistributionUtils.h:9:9:
error: 'MLIR_DIALECT_GPU_TRANSFORMS_DISTRIBUTIONUTILS_H_' is used as a header guard here, followed by #define of a different macro [-Werror,-Wheader-guard]
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/llvm-project/mlir/include/mlir/Dialect/GPU/Utils/DistributionUtils.h:10:9:
note: 'MLIR_DIALECT_GPU_TRANSFORMS_DISTRIBITIONUTILS_H_' is defined here; did you mean 'MLIR_DIALECT_GPU_TRANSFORMS_DISTRIBUTIONUTILS_H_'?
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
        MLIR_DIALECT_GPU_TRANSFORMS_DISTRIBUTIONUTILS_H_
1 error generated.


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

  Changed paths:
    A llvm/include/llvm/Analysis/ScalarEvolutionPatternMatch.h
    M llvm/lib/Analysis/ScalarEvolution.cpp

  Log Message:
  -----------
  [SCEV] Add initial pattern matching for SCEV constants. (NFC) (#119389)

Add initial pattern matching for SCEV constants. Follow-up patches will
add additional matchers for various SCEV expressions.

This patch only converts a few instances to use the new matchers to make
sure everything builds as expected for now.

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


  Commit: 94a77ebe240eb7dff7c5d645fc7f60cce049783f
      https://github.com/llvm/llvm-project/commit/94a77ebe240eb7dff7c5d645fc7f60cce049783f
  Author: David Green <david.green at arm.com>
  Date:   2024-12-13 (Fri, 13 Dec 2024)

  Changed paths:
    M llvm/lib/CodeGen/GlobalISel/CombinerHelper.cpp
    M llvm/test/CodeGen/AArch64/GlobalISel/prelegalizercombiner-hoist-same-hands.mir

  Log Message:
  -----------
  [AArch64][GlobalISel] Guard against no operands in matchHoistLogicOpWithSameOpcodeHands

In case both LeftHandInst and RightHandInst are IMPLICIT_DEF with no input
operands, this patch protects against the post-legalizer-combiner
matchHoistLogicOpWithSameOpcodeHands with no operands. The
prelegalizercombiner-hoist-same-hands.mir test was cleaned up a little in the
process, and has a post-legalizer run line added so that the implicit_def do
not get folded awwy.


  Commit: 8820de68ddf02fe3c73def49ec32bbeca54c2754
      https://github.com/llvm/llvm-project/commit/8820de68ddf02fe3c73def49ec32bbeca54c2754
  Author: Pedro Lobo <pedro.lobo at tecnico.ulisboa.pt>
  Date:   2024-12-13 (Fri, 13 Dec 2024)

  Changed paths:
    M llvm/lib/IR/IntrinsicInst.cpp

  Log Message:
  -----------
  [debug] Use poison instead of undef to set a killed dbg.assign address [NFC] (#119760)


  Commit: 30cbd09f4b8f7e94663631f0240d11bb754ea25b
      https://github.com/llvm/llvm-project/commit/30cbd09f4b8f7e94663631f0240d11bb754ea25b
  Author: Timm Baeder <tbaeder at redhat.com>
  Date:   2024-12-13 (Fri, 13 Dec 2024)

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

  Log Message:
  -----------
  [clang][bytecode] Fix memcmp/bcmp failures on big-endian hosts (#119851)

See the discussion in

https://github.com/llvm/llvm-project/pull/119678#issuecomment-2539680746
and
https://github.com/llvm/llvm-project/pull/119544#issuecomment-2539678561


  Commit: 84b0f0145887bbfe49fd4dc85490b14108a72cee
      https://github.com/llvm/llvm-project/commit/84b0f0145887bbfe49fd4dc85490b14108a72cee
  Author: VScigolevs <vladimirs.scigolevs at zimperium.com>
  Date:   2024-12-13 (Fri, 13 Dec 2024)

  Changed paths:
    M clang/lib/Sema/SemaAttr.cpp
    A clang/test/SemaCXX/msvc-pragma-function-no-builtin-attr.cpp

  Log Message:
  -----------
  [clang-cl] Don't add implicit NoBuiltinAttr to deleted or defaulted functions (#119719)

In Clang `#pragma function` is implemented by adding an implicit
NoBuiltin Attribute to all function definitions after the pragma. This
(wrongly) includes also defaulted or deleted functions, which results in
the error, shown in #116256.

As this attribute has no effect on the deleted or defaulted functions,
this commit fixes the previously mentioned issue by simply not adding
the attribute in such cases.

Fixes #116256


  Commit: 8bf19ec444593b3076a446a8eeb5042bbf79dc65
      https://github.com/llvm/llvm-project/commit/8bf19ec444593b3076a446a8eeb5042bbf79dc65
  Author: macurtis-amd <macurtis at amd.com>
  Date:   2024-12-13 (Fri, 13 Dec 2024)

  Changed paths:
    M clang/unittests/Frontend/CompilerInvocationTest.cpp

  Log Message:
  -----------
  [clang] Fix use of dangling ptr in CommandLineTest (#119798)

If 'GeneratedArgsStorage' ever grows, contained strings may get copied
and data pointers stored in 'GeneratedArgs' may become invalid, pointing
to deallocated memory.


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

  Changed paths:
    M polly/lib/Analysis/ScopBuilder.cpp
    M polly/lib/Analysis/ScopDetection.cpp
    M polly/lib/Analysis/ScopInfo.cpp
    M polly/lib/Support/SCEVAffinator.cpp
    M polly/lib/Support/SCEVValidator.cpp
    M polly/lib/Support/ScopHelper.cpp
    M polly/lib/Support/VirtualInstruction.cpp

  Log Message:
  -----------
  [Polly] Use const SCEV * explicitly in more places. (NFC)

Use const SCEV * explicitly in more places to prepare for
https://github.com/llvm/llvm-project/pull/91961.


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

  Changed paths:
    M clang/test/CodeGen/SystemZ/zos-mixed-ptr-sizes-malloc.c
    M llvm/lib/Analysis/BasicAliasAnalysis.cpp
    M llvm/test/Analysis/BasicAA/smaller-index-size-overflow.ll

  Log Message:
  -----------
  [BasicAA] Do not decompose past casts with different index width (#119365)

BasicAA currently tries to support addrspacecasts that change the index
width by performing the decomposition in the maximum of all index widths
and then trying to fix this up with in-place sign extends to get correct
overflow behavior if the actual index width is smaller.

However, even in the case where we don't mix different index widths and
just have an index width that is smaller than the maximum, the behavior
is incorrect (see test), because we only perform the index width
adjustment during decomposition and not any of the later logic -- and we
don't do anything at all for variable offsets. I'm sure that the case
where we actually mix different index widths is even more broken than
that.

Fix this by not allowing decomposition through index width changes. If
the pointers have different index widths, fall back to a base object
comparison, ignoring the offsets.


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

  Changed paths:
    M llvm/include/llvm/IR/DataLayout.h
    M llvm/lib/IR/DataLayout.cpp

  Log Message:
  -----------
  [DataLayout] Remove getMaxIndexSizeInBits() API

The last use was removed in #119365, and we should not add more
uses of this concept in the future either.


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

  Changed paths:
    M llvm/include/llvm/AsmParser/LLParser.h
    A llvm/test/Assembler/pr119818.ll

  Log Message:
  -----------
  [AsmParser] Allow comparing ValIDs with different kinds (#119834)

This patch allows comparing `t_[Local|Global]ID` with
`t_[Local|Global]Name`.
Closes https://github.com/llvm/llvm-project/issues/119818.


  Commit: 5fd385b3c145270bb9a6388d998a870bf3f79b54
      https://github.com/llvm/llvm-project/commit/5fd385b3c145270bb9a6388d998a870bf3f79b54
  Author: Nikolas Klauser <nikolasklauser at berlin.de>
  Date:   2024-12-13 (Fri, 13 Dec 2024)

  Changed paths:
    M libcxx/include/string
    M libcxx/include/string_view

  Log Message:
  -----------
  [libc++][NFC] Simplify the implementation of string and string_views operator== (#117184)


  Commit: 7c9404c279cfa13e24a043e6357cc85bd12f55f1
      https://github.com/llvm/llvm-project/commit/7c9404c279cfa13e24a043e6357cc85bd12f55f1
  Author: Ivan R. Ivanov <ivanov.i.aa at m.titech.ac.jp>
  Date:   2024-12-13 (Fri, 13 Dec 2024)

  Changed paths:
    M clang/lib/Parse/ParseOpenMP.cpp
    M flang/lib/Lower/OpenMP/ClauseProcessor.cpp
    M flang/lib/Lower/OpenMP/ClauseProcessor.h
    M flang/lib/Lower/OpenMP/OpenMP.cpp
    M flang/lib/Parser/openmp-parsers.cpp
    M flang/lib/Semantics/check-omp-structure.cpp
    A flang/test/Lower/OpenMP/KernelLanguage/bare-clause.f90
    A flang/test/Semantics/OpenMP/ompx-bare.f90
    M llvm/include/llvm/Frontend/OpenMP/ConstructDecompositionT.h
    M llvm/include/llvm/Frontend/OpenMP/OMP.td
    M mlir/include/mlir/Dialect/OpenMP/OpenMPClauses.td
    M mlir/include/mlir/Dialect/OpenMP/OpenMPOps.td
    M mlir/lib/Dialect/OpenMP/IR/OpenMPDialect.cpp
    M mlir/lib/Target/LLVMIR/Dialect/OpenMP/OpenMPToLLVMIRTranslation.cpp

  Log Message:
  -----------
  [flang][OpenMP] Add frontend support for ompx_bare clause (#111106)


  Commit: a21f9bfe29c2b9f1967952d12a5b7cb8f8b75202
      https://github.com/llvm/llvm-project/commit/a21f9bfe29c2b9f1967952d12a5b7cb8f8b75202
  Author: Danial Klimkin <dklimkin at google.com>
  Date:   2024-12-13 (Fri, 13 Dec 2024)

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

  Log Message:
  -----------
  [bazel]Fix Bazel build past bc29fc937c6cb4a210f80c93c79fc6ed97c801f8 (#119874)


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

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

  Log Message:
  -----------
  [llvm][Support][Windows] Refactored remove_directories() w/o CComPtr and atlbase.h (#119843)

This is the update of #118677. This patch fixes building with mingw.


  Commit: 12a42a60f9e63fab5699b210248b5b51bd21b6e3
      https://github.com/llvm/llvm-project/commit/12a42a60f9e63fab5699b210248b5b51bd21b6e3
  Author: VScigolevs <vladimirs.scigolevs at zimperium.com>
  Date:   2024-12-13 (Fri, 13 Dec 2024)

  Changed paths:
    M clang/test/SemaCXX/msvc-pragma-function-no-builtin-attr.cpp

  Log Message:
  -----------
  Fix SemaCXX/msvc-pragma-function-no-builtin-attr.cpp test (#119719)

Fix test failure from #119719
84b0f0145887bbfe49fd4dc85490b14108a72cee


  Commit: fb8df8cb658278ceba9ef4b96e0b448aed32c1f6
      https://github.com/llvm/llvm-project/commit/fb8df8cb658278ceba9ef4b96e0b448aed32c1f6
  Author: Pavel Labath <pavel at labath.sk>
  Date:   2024-12-13 (Fri, 13 Dec 2024)

  Changed paths:
    M lldb/include/lldb/Core/dwarf.h
    M lldb/source/Plugins/SymbolFile/DWARF/DIERef.h
    M lldb/source/Plugins/SymbolFile/DWARF/DWARFASTParserClang.cpp
    M lldb/source/Plugins/SymbolFile/DWARF/DWARFCompileUnit.cpp
    M lldb/source/Plugins/SymbolFile/DWARF/DWARFDIE.cpp
    M lldb/source/Plugins/SymbolFile/DWARF/DWARFDIE.h
    M lldb/source/Plugins/SymbolFile/DWARF/DWARFDebugInfoEntry.cpp
    M lldb/source/Plugins/SymbolFile/DWARF/DWARFDebugInfoEntry.h
    M lldb/source/Plugins/SymbolFile/DWARF/DWARFUnit.cpp
    M lldb/source/Plugins/SymbolFile/DWARF/DWARFUnit.h
    M lldb/source/Plugins/SymbolFile/DWARF/SymbolFileDWARF.cpp

  Log Message:
  -----------
  [lldb/DWARF] s/DWARFRangeList/llvm::DWARFAddressRangeVector (#116620)

The main difference is that the llvm class (just a std::vector in
disguise) is not sorted. It turns out this isn't an issue because the
callers either:
- ignore the range list;
- convert it to a different format (which is then sorted);
- or query the minimum value (which is faster than sorting)

The last case is something I want to get rid of in a followup as a part
of removing the assumption that function's entry point is also its
lowest address.


  Commit: ea8e328ae2bea9d9a7d556ef4d791fa116f7de18
      https://github.com/llvm/llvm-project/commit/ea8e328ae2bea9d9a7d556ef4d791fa116f7de18
  Author: Kristóf Umann <dkszelethus at gmail.com>
  Date:   2024-12-13 (Fri, 13 Dec 2024)

  Changed paths:
    M clang/include/clang/StaticAnalyzer/Core/AnalyzerOptions.def
    M clang/test/Analysis/analyzer-config.c
    M clang/unittests/StaticAnalyzer/Z3CrosscheckOracleTest.cpp

  Log Message:
  -----------
  [analyzer][Z3] Restore the original timeout of 15s (#118291)

Discussion here:

https://discourse.llvm.org/t/analyzer-rfc-taming-z3-query-times/79520/15?u=szelethus

The original patch, #97298 introduced new timeouts backed by thorough
testing and measurements to keep the running time of Z3 within
reasonable limits. The measurements also showed that only certain
reports and certain TUs were responsible for the poor performance of Z3
refutation.

Unfortunately, it seems like that on machines with different
characteristics (slower machines) the current timeouts don't just axe
0.01% of reports, but many more as well. Considering that timeouts are
inherently nondeterministic as a cutoff point, this lead reports sets
being vastly different on the same projects with the same configuration.
The discussion link shows that all configurations introduced in the
patch with their default values lead to severa nondeterminism of the
analyzer. As we, and others use the analyzer as a gating tool for PRs,
we should revert to the original defaults.

We should respect that
* There are still parts of the analyzer that are either proven or
suspected to contain nondeterministic code (like pointer sets),
* A 15s timeout is more likely to hit the same reports every time on a
wider range of machines, but is still inherently nondeterministic, but
an infinite timeout leads to the tool hanging,
* If you measure the performance of the analyzer on your machines, you
can and should achieve some speedup with little or no observable
nondeterminism.

---------

Co-authored-by: Balazs Benics <benicsbalazs at gmail.com>


  Commit: 75e6d0eb4d6ad1b58e5eb5c4d25371e6062cee44
      https://github.com/llvm/llvm-project/commit/75e6d0eb4d6ad1b58e5eb5c4d25371e6062cee44
  Author: Mats Petersson <mats.petersson at arm.com>
  Date:   2024-12-13 (Fri, 13 Dec 2024)

  Changed paths:
    M flang/examples/FlangOmpReport/FlangOmpReportVisitor.cpp
    M flang/include/flang/Parser/dump-parse-tree.h
    M flang/include/flang/Parser/parse-tree.h
    M flang/lib/Lower/OpenMP/OpenMP.cpp
    M flang/lib/Parser/openmp-parsers.cpp
    M flang/lib/Parser/unparse.cpp
    M flang/lib/Semantics/check-omp-structure.cpp
    M flang/lib/Semantics/check-omp-structure.h
    A flang/test/Lower/OpenMP/Todo/error.f90
    A flang/test/Parser/OpenMP/error-unparse.f90
    M llvm/include/llvm/Frontend/OpenMP/OMP.td

  Log Message:
  -----------
  [flang][OpenMP]Add support for OpenMP ERROR directive (#119582)

Lowering leads to a TODO, with a test to confirm.

Also testing unparse.

---------

Co-authored-by: Krzysztof Parzyszek <Krzysztof.Parzyszek at amd.com>


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

  Changed paths:
    M clang/include/clang/Basic/arm_sve.td
    M clang/include/clang/Basic/arm_sve_sme_incl.td
    M clang/lib/CodeGen/CGBuiltin.cpp
    A clang/test/CodeGen/AArch64/fp8-intrinsics/acle_sve2_fp8_fdot.c
    M clang/test/Sema/aarch64-sve2-intrinsics/acle_sve2_fp8.c
    M clang/utils/TableGen/SveEmitter.cpp
    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-fdot.ll

  Log Message:
  -----------
  [AArch64] Implements FP8 SVE intrinsics for dot-product (#118125)

This patch adds the following intrinsics:

* 8-bit floating-point dot product to single-precision.

// Only if (__ARM_FEATURE_SVE2 && __ARM_FEATURE_FP8DOT4) ||
__ARM_FEATURE_SSVE_FP8DOT4
svfloat32_t svdot[_f32_mf8]_fpm(svfloat32_t zda, svmfloat8_t zn,
svmfloat8_t zm, fpm_t fpm);
svfloat32_t svdot[_n_f32_mf8]_fpm(svfloat32_t zda, svmfloat8_t zn,
mfloat8_t zm, fpm_t fpm);

* 8-bit floating-point indexed dot product to single-precision.

// Only if (__ARM_FEATURE_SVE2 && __ARM_FEATURE_FP8DOT4) ||
__ARM_FEATURE_SSVE_FP8DOT4
svfloat32_t svdot_lane[_f32_mf8]_fpm(svfloat32_t zda, svmfloat8_t zn,
svmfloat8_t zm,
                                       uint64_t imm0_3, fpm_t fpm);

* 8-bit floating-point dot product to half-precision.

// Only if (__ARM_FEATURE_SVE2 && __ARM_FEATURE_FP8DOT2) ||
__ARM_FEATURE_SSVE_FP8DOT2
svfloat16_t svdot[_f16_mf8]_fpm(svfloat16_t zda, svmfloat8_t zn,
svmfloat8_t zm, fpm_t fpm);
svfloat16_t svdot[_n_f16_mf8]_fpm(svfloat16_t zda, svmfloat8_t zn,
mfloat8_t zm, fpm_t fpm);

* 8-bit floating-point indexed dot product to half-precision.

// Only if (__ARM_FEATURE_SVE2 && __ARM_FEATURE_FP8DOT2) ||
__ARM_FEATURE_SSVE_FP8DOT2
svfloat16_t svdot_lane[_f16_mf8]_fpm(svfloat16_t zda, svmfloat8_t zn,
svmfloat8_t zm,
                                       uint64_t imm0_7, fpm_t fpm);


  Commit: 89f1f32bff76c8cf4545ada34663c6a758214cf0
      https://github.com/llvm/llvm-project/commit/89f1f32bff76c8cf4545ada34663c6a758214cf0
  Author: Durgadoss R <durgadossr at nvidia.com>
  Date:   2024-12-13 (Fri, 13 Dec 2024)

  Changed paths:
    M mlir/include/mlir/Dialect/LLVMIR/NVVMOps.td
    A mlir/test/Target/LLVMIR/nvvm/tma_prefetch.mlir
    M mlir/test/Target/LLVMIR/nvvmir-invalid.mlir
    M mlir/test/Target/LLVMIR/nvvmir.mlir

  Log Message:
  -----------
  [MLIR][NVVM] Refactor tests in nvvmir.mlir (#119731)

* Move the negative tests from nvvmir.mlir to nvvm-invalid.mlir. With
   this, all the error-handling tests are moved to the nvvm-invalid.mlir file.
* Move the tma_prefetch tests to a separate file, as there are many
   tests, and fix the FileCheck prefix for these.
* Since undef is discouraged, we use an 'i64 0' as the placeholder value
   for cache-hint when unused.

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


  Commit: 4a0d53a0b0a58a3c6980a7c551357ac71ba3db10
      https://github.com/llvm/llvm-project/commit/4a0d53a0b0a58a3c6980a7c551357ac71ba3db10
  Author: Ramkumar Ramachandra <ramkumar.ramachandra at codasip.com>
  Date:   2024-12-13 (Fri, 13 Dec 2024)

  Changed paths:
    M llvm/include/llvm/IR/CmpPredicate.h
    M llvm/include/llvm/IR/PatternMatch.h
    M llvm/lib/Analysis/IVDescriptors.cpp
    M llvm/lib/Analysis/InstructionSimplify.cpp
    M llvm/lib/Analysis/OverflowInstAnalysis.cpp
    M llvm/lib/Analysis/ValueTracking.cpp
    M llvm/lib/CodeGen/CodeGenPrepare.cpp
    M llvm/lib/CodeGen/ExpandMemCmp.cpp
    M llvm/lib/IR/Instructions.cpp
    M llvm/lib/Target/AArch64/AArch64TargetTransformInfo.cpp
    M llvm/lib/Target/AMDGPU/AMDGPUCodeGenPrepare.cpp
    M llvm/lib/Target/AMDGPU/AMDGPUInstCombineIntrinsic.cpp
    M llvm/lib/Target/Hexagon/HexagonLoopIdiomRecognition.cpp
    M llvm/lib/Target/X86/X86ISelLowering.cpp
    M llvm/lib/Transforms/InstCombine/InstCombineAddSub.cpp
    M llvm/lib/Transforms/InstCombine/InstCombineAndOrXor.cpp
    M llvm/lib/Transforms/InstCombine/InstCombineCompares.cpp
    M llvm/lib/Transforms/InstCombine/InstCombineSelect.cpp
    M llvm/lib/Transforms/InstCombine/InstCombineVectorOps.cpp
    M llvm/lib/Transforms/InstCombine/InstructionCombining.cpp
    M llvm/lib/Transforms/Scalar/CallSiteSplitting.cpp
    M llvm/lib/Transforms/Scalar/ConstraintElimination.cpp
    M llvm/lib/Transforms/Scalar/DeadStoreElimination.cpp
    M llvm/lib/Transforms/Scalar/EarlyCSE.cpp
    M llvm/lib/Transforms/Scalar/GuardWidening.cpp
    M llvm/lib/Transforms/Scalar/JumpThreading.cpp
    M llvm/lib/Transforms/Scalar/LICM.cpp
    M llvm/lib/Transforms/Scalar/LoopBoundSplit.cpp
    M llvm/lib/Transforms/Scalar/LoopIdiomRecognize.cpp
    M llvm/lib/Transforms/Scalar/SimpleLoopUnswitch.cpp
    M llvm/lib/Transforms/Utils/LoopPeel.cpp
    M llvm/lib/Transforms/Utils/ScalarEvolutionExpander.cpp
    M llvm/lib/Transforms/Utils/SimplifyIndVar.cpp
    M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
    M llvm/lib/Transforms/Vectorize/VectorCombine.cpp
    M llvm/unittests/IR/PatternMatch.cpp

  Log Message:
  -----------
  PatternMatch: migrate to CmpPredicate (#118534)

With the introduction of CmpPredicate in 51a895a (IR: introduce struct
with CmpInst::Predicate and samesign), PatternMatch is one of the first
key pieces of infrastructure that must be updated to match a CmpInst
respecting samesign information. Implement this change to Cmp-matchers.

This is a preparatory step in migrating the codebase over to
CmpPredicate. Since we no functional changes are desired at this stage,
we have chosen not to migrate CmpPredicate::operator==(CmpPredicate)
calls to use CmpPredicate::getMatching(), as that would have visible
impact on tests that are not yet written: instead, we call
CmpPredicate::operator==(Predicate), preserving the old behavior, while
also inserting a few FIXME comments for follow-ups.


  Commit: 7a3504a133437525f3e56f5811e313e4695f932f
      https://github.com/llvm/llvm-project/commit/7a3504a133437525f3e56f5811e313e4695f932f
  Author: erichkeane <ekeane at nvidia.com>
  Date:   2024-12-13 (Fri, 13 Dec 2024)

  Changed paths:
    M clang/lib/Sema/SemaOpenACC.cpp
    A clang/test/SemaOpenACC/data-construct-copy-ast.cpp
    A clang/test/SemaOpenACC/data-construct-copy-clause.c
    M clang/test/SemaOpenACC/data-construct.cpp

  Log Message:
  -----------
  [OpenACC] Enable 'copy' clause sema for data clause

'copy' is another that is identical in behavior on 'data' as far as
semantic analysis is concerned as the compute constructs, so this patch
adds tests and enables 'copy'.


  Commit: 979e9361f0e0426e555c94cb8b1a64c655805765
      https://github.com/llvm/llvm-project/commit/979e9361f0e0426e555c94cb8b1a64c655805765
  Author: Peng Liu <winner245 at hotmail.com>
  Date:   2024-12-13 (Fri, 13 Dec 2024)

  Changed paths:
    M libcxx/include/__split_buffer
    M libcxx/include/deque

  Log Message:
  -----------
  [libc++] Fix improper static_cast in std::deque and __split_buffer (#119106)

This PR addresses the improper use of `static_cast` to `size_t` where
`size_type` is intended. Although the `size_type` member type of STL
containers is usually a synonym of `std::size_t`, there is no guarantee
that they are always equivalent. The C++ standard does not mandate this
equivalence.

In libc++'s implementations of `std::deque`, `std::vector`, and
`__split_buffer`, the `size_type` member type is defined as
`std::allocator_traits<allocator_type>::size_type`, which is either
`allocator_type::size_type` if available or
`std::make_unsigned<difference_type>::type`. While it is true for
`std::allocator` that the `size_type` member type is `std::size_t`, for
user-defined allocator types, they may mismatch. This justifies the need
to replace `static_cast<size_t>` with `static_cast<size_type>` in this
PR.


  Commit: 4eec286b51524d385524a9f7cee4b9c4f8153570
      https://github.com/llvm/llvm-project/commit/4eec286b51524d385524a9f7cee4b9c4f8153570
  Author: lntue <lntue at google.com>
  Date:   2024-12-13 (Fri, 13 Dec 2024)

  Changed paths:
    M libc/src/__support/complex_type.h
    M libc/src/__support/macros/properties/complex_types.h
    M libc/src/__support/macros/properties/types.h
    M libc/test/src/math/CMakeLists.txt
    A libc/test/src/math/sqrtf128_test.cpp
    M libc/utils/MPFRWrapper/MPFRUtils.cpp

  Log Message:
  -----------
  [libc] Add MPFR testing infra for float128. (#119499)


  Commit: 55154d6896e31dd707ac90dd15ed09bec446b4cf
      https://github.com/llvm/llvm-project/commit/55154d6896e31dd707ac90dd15ed09bec446b4cf
  Author: erichkeane <ekeane at nvidia.com>
  Date:   2024-12-13 (Fri, 13 Dec 2024)

  Changed paths:
    M clang/lib/Sema/SemaOpenACC.cpp
    A clang/test/SemaOpenACC/data-construct-no_create-ast.cpp
    A clang/test/SemaOpenACC/data-construct-no_create-clause.c
    M clang/test/SemaOpenACC/data-construct.cpp

  Log Message:
  -----------
  [OpenACC] Enable 'no_create' sema for data construct

Adds tests and enables the 'no_create' clause semantic analysis for the
'data' constuct, so it will no longer report 'not yet implemented'.


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

  Changed paths:
    M libcxx/test/std/containers/sequences/vector/vector.cons/assign_iter_iter.pass.cpp

  Log Message:
  -----------
  [libc++][NFC] Fix incorrect comment for vector::assign(iter, iter) test


  Commit: 9359625ba99dfbce8d8c27373ade544df16bee34
      https://github.com/llvm/llvm-project/commit/9359625ba99dfbce8d8c27373ade544df16bee34
  Author: erichkeane <ekeane at nvidia.com>
  Date:   2024-12-13 (Fri, 13 Dec 2024)

  Changed paths:
    M clang/lib/Sema/SemaOpenACC.cpp
    A clang/test/SemaOpenACC/data-construct-create-ast.cpp
    A clang/test/SemaOpenACC/data-construct-create-clause.c
    M clang/test/SemaOpenACC/data-construct.cpp

  Log Message:
  -----------
  [OpenACC] 'create' clause sema for data/enter data constructs

Enable and add tests for 'create' on a data or enter data construct.


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

  Changed paths:
    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
    R clang-tools-extra/docs/clang-tidy/checks/clang-analyzer/valist.CopyToSelf.rst
    R clang-tools-extra/docs/clang-tidy/checks/clang-analyzer/valist.Uninitialized.rst
    R clang-tools-extra/docs/clang-tidy/checks/clang-analyzer/valist.Unterminated.rst
    M clang-tools-extra/docs/clang-tidy/checks/list.rst

  Log Message:
  -----------
  [clang-tidy][NFC][doc] clean out-dated clang-static-analyzer checks documents and update check list (#119887)

The missing part of #119580


  Commit: 019948647ebdb9f4d5cfce5a8f4afe9d4eafb14e
      https://github.com/llvm/llvm-project/commit/019948647ebdb9f4d5cfce5a8f4afe9d4eafb14e
  Author: WANG Rui <wangrui at loongson.cn>
  Date:   2024-12-13 (Fri, 13 Dec 2024)

  Changed paths:
    M llvm/test/CodeGen/LoongArch/sextw-removal.ll

  Log Message:
  -----------
  [LoongArch][NFC] Pre-commit tests for sign-extension removal with vectors


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

  Changed paths:
    M clang/lib/Sema/SemaOpenACC.cpp
    M clang/test/AST/ast-print-openacc-data-construct.cpp
    M clang/test/SemaOpenACC/data-construct-ast.cpp
    M clang/test/SemaOpenACC/data-construct-async-clause.c
    A clang/test/SemaOpenACC/data-construct-copyin-ast.cpp
    A clang/test/SemaOpenACC/data-construct-copyin-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-wait-ast.cpp
    M clang/test/SemaOpenACC/data-construct-wait-clause.c
    M clang/test/SemaOpenACC/data-construct.cpp

  Log Message:
  -----------
  [OpenACC] enable 'copyin' clause sema for 'data'/'enter data'

stop reporting 'copyin' as not implemented on a data/enter data
construct, and enforce sema rules.


  Commit: 1da0730ba5994537119ed61205a599cb3929c43a
      https://github.com/llvm/llvm-project/commit/1da0730ba5994537119ed61205a599cb3929c43a
  Author: erichkeane <ekeane at nvidia.com>
  Date:   2024-12-13 (Fri, 13 Dec 2024)

  Changed paths:
    M clang/lib/Sema/SemaOpenACC.cpp
    M clang/test/AST/ast-print-openacc-data-construct.cpp
    M clang/test/SemaOpenACC/data-construct-ast.cpp
    M clang/test/SemaOpenACC/data-construct-async-clause.c
    A clang/test/SemaOpenACC/data-construct-copyout-ast.cpp
    A clang/test/SemaOpenACC/data-construct-copyout-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-wait-ast.cpp
    M clang/test/SemaOpenACC/data-construct-wait-clause.c
    M clang/test/SemaOpenACC/data-construct.cpp

  Log Message:
  -----------
  [OpenACC] enable 'copyout' clause sema for data constructs

Same as the previous few, this just enables copyout for data constructs
and ensures we have sufficient test coverage.


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

  Changed paths:
    M mlir/lib/IR/AffineMap.cpp
    M mlir/lib/IR/Builders.cpp
    M mlir/lib/IR/OperationSupport.cpp
    M mlir/lib/IR/Region.cpp
    M mlir/lib/IR/SymbolTable.cpp
    M mlir/lib/IR/TypeRange.cpp
    M mlir/lib/IR/Verifier.cpp

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

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: 331f3cc94b3c66eebf5ec462a8f1ee0d7704dd26
      https://github.com/llvm/llvm-project/commit/331f3cc94b3c66eebf5ec462a8f1ee0d7704dd26
  Author: erichkeane <ekeane at nvidia.com>
  Date:   2024-12-13 (Fri, 13 Dec 2024)

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

  Log Message:
  -----------
  [OpenACC] enable 'present' clause for 'data' construct

No additional sema is required once again, so this patch adds testing
and enables the clause.


  Commit: 5225f1b4355e4ad9fb0939fded88dc6189be29fd
      https://github.com/llvm/llvm-project/commit/5225f1b4355e4ad9fb0939fded88dc6189be29fd
  Author: Tibor Dusnoki <tdusnoki at inf.u-szeged.hu>
  Date:   2024-12-13 (Fri, 13 Dec 2024)

  Changed paths:
    A bolt/test/merge-fdata-bat-no-lbr.test
    A bolt/test/merge-fdata-lbr-mode.test
    A bolt/test/merge-fdata-mixed-bat-no-lbr.test
    A bolt/test/merge-fdata-mixed-mode.test
    A bolt/test/merge-fdata-no-lbr-mode.test
    M bolt/tools/merge-fdata/merge-fdata.cpp

  Log Message:
  -----------
  [BOLT][merge-fdata] Fix basic sample profile aggregation without LBR info (#118481)

When a basic sample profile is gathered without LBR info, the generated
profile contains a "no-lbr" tag in the first line of the fdata file.
This PR fixes merge-fdata to recognize and save this tag to the output
file.


  Commit: 754499c1e9410d51a4c41e71388c304de61366a0
      https://github.com/llvm/llvm-project/commit/754499c1e9410d51a4c41e71388c304de61366a0
  Author: erichkeane <ekeane at nvidia.com>
  Date:   2024-12-13 (Fri, 13 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-deviceptr-ast.cpp
    A clang/test/SemaOpenACC/data-construct-deviceptr-clause.c
    M clang/test/SemaOpenACC/data-construct.cpp

  Log Message:
  -----------
  [OpenACC] Enable 'deviceptr' clause sema on data construct

Another simple implementation, as it uses the same work as the previous
implementation, just enabling it for this construct.


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

  Changed paths:
    M clang/test/SemaOpenACC/data-construct-deviceptr-clause.c

  Log Message:
  -----------
  [OpenACC] Fixup test to be more consistent


  Commit: 4a6586140211cc9aed02d9177dba0c01622139f4
      https://github.com/llvm/llvm-project/commit/4a6586140211cc9aed02d9177dba0c01622139f4
  Author: Chris Apple <cja-private at pm.me>
  Date:   2024-12-13 (Fri, 13 Dec 2024)

  Changed paths:
    M clang/lib/CodeGen/BackendUtil.cpp
    M llvm/include/llvm/Transforms/Instrumentation/RealtimeSanitizer.h
    M llvm/lib/Passes/PassBuilder.cpp
    M llvm/lib/Passes/PassRegistry.def
    M llvm/lib/Transforms/Instrumentation/RealtimeSanitizer.cpp
    M llvm/test/Instrumentation/RealtimeSanitizer/rtsan.ll

  Log Message:
  -----------
  [rtsan][llvm] Remove function pass, only support module pass (#119739)

Most of the other sanitizers are now only module level passes. This
moves all functionality into the module pass, and removes the function
pass.


  Commit: fb02c33605bd988e9c6bb3a18cd7f0c3b1f20d5c
      https://github.com/llvm/llvm-project/commit/fb02c33605bd988e9c6bb3a18cd7f0c3b1f20d5c
  Author: Dhruv Srivastava <dhruv.srivastava at ibm.com>
  Date:   2024-12-13 (Fri, 13 Dec 2024)

  Changed paths:
    M lldb/source/Plugins/ObjectFile/XCOFF/ObjectFileXCOFF.cpp
    M lldb/source/Plugins/ObjectFile/XCOFF/ObjectFileXCOFF.h

  Log Message:
  -----------
  [lldb][AIX] XCOFF clang-format and other minor changes (#119892)

Added some clang-format and other minor changes, Ref:
https://github.com/llvm/llvm-project/pull/116338#discussion_r1884069848

Review Request: @DavidSpickett


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

  Changed paths:
    M llvm/test/TableGen/MixedCasedMnemonic.td
    M llvm/utils/TableGen/Basic/SequenceToOffsetTable.h
    M llvm/utils/TableGen/DFAEmitter.cpp
    M llvm/utils/TableGen/RegisterInfoEmitter.cpp

  Log Message:
  -----------
  [TableGen] Allow empty terminator in SequenceToOffsetTable (#119751)

Some clients do not want to emit a terminator after each sub-sequence
(they have other means of determining the length of sub-sequences).

This moves `Term` argument from `emit` method to the constructor and
makes it optional. It couldn't be made optional while still on the
`emit` method because if the terminator wasn't specified, it has to be
taken into account in `layout` method as well.

The fact that `layout` method was called is now recorded in a dedicated
member variable, `IsLaidOut`. `Entries != 0` can no longer be used to
reliably check if `layout` method was called because it may be zero for
a different reason: the terminator wasn't specified and all added
sequences (if any) were empty.

This reduces the size of `*LaneMaskLists` and `*SubRegIdxLists` a bit
and resolves the removed TODO.


  Commit: c57a8f5b3fa7a7524346595cdc1ddd5eec4a41ae
      https://github.com/llvm/llvm-project/commit/c57a8f5b3fa7a7524346595cdc1ddd5eec4a41ae
  Author: Krzysztof Parzyszek <Krzysztof.Parzyszek at amd.com>
  Date:   2024-12-13 (Fri, 13 Dec 2024)

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

  Log Message:
  -----------
  [flang][OpenMP] Remove redundant `Fortran::` from namespaces, NFC

Apply clang-format after the changes.


  Commit: 7db20a026b71797975f277a406b604def1da6219
      https://github.com/llvm/llvm-project/commit/7db20a026b71797975f277a406b604def1da6219
  Author: Brox Chen <guochen2 at amd.com>
  Date:   2024-12-13 (Fri, 13 Dec 2024)

  Changed paths:
    M llvm/test/MC/AMDGPU/gfx11_asm_vop1.s
    M llvm/test/MC/AMDGPU/gfx11_asm_vop1_dpp16.s
    M llvm/test/MC/AMDGPU/gfx11_asm_vop1_dpp8.s
    M llvm/test/MC/AMDGPU/gfx11_asm_vop3_dpp16_from_vop1.s
    M llvm/test/MC/AMDGPU/gfx11_asm_vop3_dpp8_from_vop1.s
    M llvm/test/MC/AMDGPU/gfx11_asm_vop3_from_vop1.s
    M llvm/test/MC/AMDGPU/gfx12_asm_vop1.s
    M llvm/test/MC/AMDGPU/gfx12_asm_vop1_dpp16.s
    M llvm/test/MC/AMDGPU/gfx12_asm_vop1_dpp8.s
    M llvm/test/MC/AMDGPU/gfx12_asm_vop3_from_vop1.s
    M llvm/test/MC/AMDGPU/gfx12_asm_vop3_from_vop1_dpp16.s
    M llvm/test/MC/AMDGPU/gfx12_asm_vop3_from_vop1_dpp8.s

  Log Message:
  -----------
  [AMDGPU][True16][MC] update vop1 mc test with update script (#119778)

This is a NFC change. Update gfx11/gfx12 vop1 test file with the latest
update_mc_test_script.py.

Changing the runline of gfx12_asm_vop1.s since llvm.cfg cannot be read
by the update script.

This is also preparing for the up-coming true16 change.


  Commit: 939c94bbb4731aa1c7dda47b0e4497a82ae6f46a
      https://github.com/llvm/llvm-project/commit/939c94bbb4731aa1c7dda47b0e4497a82ae6f46a
  Author: Aiden Grossman <aidengrossman at google.com>
  Date:   2024-12-13 (Fri, 13 Dec 2024)

  Changed paths:
    M .github/workflows/containers/github-action-ci/Dockerfile

  Log Message:
  -----------
  [Github] Bump CI container to LLVM 19.1.5 (#119809)

Bump the CI container version to the latest release.


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

  Changed paths:
    M llvm/include/llvm/CodeGen/LowLevelTypeUtils.h
    M llvm/include/llvm/CodeGen/TargetLowering.h
    M llvm/lib/CodeGen/GlobalISel/CombinerHelper.cpp
    M llvm/lib/CodeGen/GlobalISel/CombinerHelperCasts.cpp
    M llvm/lib/CodeGen/GlobalISel/LoadStoreOpt.cpp
    M llvm/lib/CodeGen/LowLevelTypeUtils.cpp
    M llvm/lib/CodeGen/TargetLoweringBase.cpp

  Log Message:
  -----------
  [GISel] Remove unused DataLayout operand from getApproximateEVTForLLT (#119833)


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

  Changed paths:
    M lldb/source/Expression/FunctionCaller.cpp
    M lldb/source/Expression/UserExpression.cpp
    A lldb/test/Shell/Expr/TestExecProgress.test

  Log Message:
  -----------
  [lldb] Add a progress event for executing an expression (#119757)

Expressions can take arbitrary amounts of time to run, so IDEs might
want to be informed about the fact that an expression is currently being
executed.

rdar://141253078


  Commit: 003a721c1c9e3a99d6d0c1a6755443b260235537
      https://github.com/llvm/llvm-project/commit/003a721c1c9e3a99d6d0c1a6755443b260235537
  Author: Ian Wood <ianwood2024 at u.northwestern.edu>
  Date:   2024-12-13 (Fri, 13 Dec 2024)

  Changed paths:
    M llvm/include/llvm/Support/TypeName.h

  Log Message:
  -----------
  [NFC] Don't recompute type name (#119631)

This change uses a local static variable to cache the computed
`StringRef` containing the type's name.


I found that `RelWithDebInfo` builds of MLIR were spending a relatively
large amount of time in `StringRef::find` and I tracked it down to
`getTypeName` which utilizes `StringRef` methods that are defined in a
separate translation unit. This is especially impactful on perf because
`getTypeName` is supposed to be used for debug logging. See an example
here:
https://github.com/llvm/llvm-project/blob/4b825c7417f72ee88ee3e4316d0c01ed463f1241/mlir/include/mlir/IR/Types.h#L294-L300


  Commit: 6d69d18437adc79ada8fbc852b3ffb4d797cebb4
      https://github.com/llvm/llvm-project/commit/6d69d18437adc79ada8fbc852b3ffb4d797cebb4
  Author: erichkeane <ekeane at nvidia.com>
  Date:   2024-12-13 (Fri, 13 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-attach-ast.cpp
    A clang/test/SemaOpenACC/data-construct-attach-clause.c
    M clang/test/SemaOpenACC/data-construct.cpp

  Log Message:
  -----------
  [OpenACC] enable 'attach' clause sema for 'data' and 'enter data'

This is very similar to deviceptr, and is the same implementation as for
combined/compute constructs, so this just enables that, and adds tests.


  Commit: bc627a46a858ab1abf7a72a524ef1059b27cfa37
      https://github.com/llvm/llvm-project/commit/bc627a46a858ab1abf7a72a524ef1059b27cfa37
  Author: Paul Kirth <paulkirth at google.com>
  Date:   2024-12-13 (Fri, 13 Dec 2024)

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

  Log Message:
  -----------
  [clang-doc][NFC] Rename CHECK prefix for YAML

We plan to introduce checks for other backends, like markdown.

Reviewers: PeterChou1, petrhosek

Reviewed By: petrhosek

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


  Commit: b8569528865afec30b91f41cb2e670adea8f95bd
      https://github.com/llvm/llvm-project/commit/b8569528865afec30b91f41cb2e670adea8f95bd
  Author: Paul Kirth <paulkirth at google.com>
  Date:   2024-12-13 (Fri, 13 Dec 2024)

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

  Log Message:
  -----------
  [clang-doc][NFC] Make test resilient to line changes (#119811)

This just reorganizes the test code, so its easy to use @LINE directives
in the test, and avoid needing to update all the line numbers when
making unrelated changes.


  Commit: 7d764db9bed1659cfcb2ab18e1d966388c1b5041
      https://github.com/llvm/llvm-project/commit/7d764db9bed1659cfcb2ab18e1d966388c1b5041
  Author: Paul Kirth <paulkirth at google.com>
  Date:   2024-12-13 (Fri, 13 Dec 2024)

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

  Log Message:
  -----------
  [clang-doc][NFC] Avoid unnecessary operations in the template test (#119812)


  Commit: 5747ad4392954ebb0046e6397f32256f3cd6fd1e
      https://github.com/llvm/llvm-project/commit/5747ad4392954ebb0046e6397f32256f3cd6fd1e
  Author: Aiden Grossman <aidengrossman at google.com>
  Date:   2024-12-13 (Fri, 13 Dec 2024)

  Changed paths:
    M .github/workflows/docs.yml

  Log Message:
  -----------
  [Github] Test docs action on workflow changes (#119627)

This patch makes the check docs build workflow run testing on all of the
docs builds when the workflow is changed. This is intended to catch
issues like those that were not caught premerge when adding in the
functionality to download the built docs.


  Commit: 52e25912f875dfddef212ec9152ed86057d5d618
      https://github.com/llvm/llvm-project/commit/52e25912f875dfddef212ec9152ed86057d5d618
  Author: Paul Kirth <paulkirth at google.com>
  Date:   2024-12-13 (Fri, 13 Dec 2024)

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

  Log Message:
  -----------
  [clang-doc] Add tests for Markdown output with C++ templates



Reviewers: PeterChou1, petrhosek

Reviewed By: petrhosek

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


  Commit: e113a72562e8a7e4493a1de0da01776945d0db74
      https://github.com/llvm/llvm-project/commit/e113a72562e8a7e4493a1de0da01776945d0db74
  Author: Paul Kirth <paulkirth at google.com>
  Date:   2024-12-13 (Fri, 13 Dec 2024)

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

  Log Message:
  -----------
  [clang-doc] Precommit test case for functions with templated parameters and return

To address #67549 we need a test case that will show up in the markdown
output for functions.

Reviewers: PeterChou1, petrhosek

Reviewed By: petrhosek

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


  Commit: 229d78de31467f623e33716a30cb0c6d285d7683
      https://github.com/llvm/llvm-project/commit/229d78de31467f623e33716a30cb0c6d285d7683
  Author: Paul Kirth <paulkirth at google.com>
  Date:   2024-12-13 (Fri, 13 Dec 2024)

  Changed paths:
    M clang-tools-extra/clang-doc/MDGenerator.cpp
    M clang-tools-extra/test/clang-doc/templates.cpp

  Log Message:
  -----------
  [clang-doc] Use QualName in Markdown output

QualName will provide the more useful typename when the type is
templated.

Fixes #67549

Reviewers: petrhosek, PeterChou1

Reviewed By: petrhosek

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


  Commit: a44915a8e55fae93da17f9ae2ca26f745e1f6f7d
      https://github.com/llvm/llvm-project/commit/a44915a8e55fae93da17f9ae2ca26f745e1f6f7d
  Author: Aiden Grossman <aidengrossman at google.com>
  Date:   2024-12-13 (Fri, 13 Dec 2024)

  Changed paths:
    A .github/workflows/build-ci-container-windows.yml
    A .github/workflows/containers/github-action-ci-windows/Dockerfile

  Log Message:
  -----------
  [Github] Add a windows CI container (#118206)

This patch adds a windows CI container mostly based off of the existing
container used for Buildkite
(https://github.com/google/llvm-premerge-checks/blob/a687e33c37fbdcf67b52805c8cf3a8ed145e3243/containers/buildkite-windows/Dockerfile#L1).
This is intended to be a starting point as we transition to Github
Actions with the eventual plan being to build a custom windows toolchain
similar to what we do on Linux.


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

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

  Log Message:
  -----------
  [SLP] NFC. Refactor getEntryCost and isReverseOrder usage. (#119680)

Users should check whether an input is empty before using
isReverseOrder.


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

  Changed paths:
    M llvm/include/llvm/SandboxIR/Instruction.h

  Log Message:
  -----------
  [SandboxIR] Make some instruction constructors private (#119901)

This patch changes the visibility of the constructors of CatchSwitchInst
ResumeInst and SwitchInst to private instead of public. This is similar
to all other Sandbox IR instructions. The constructor is private to
force the user go through the Context create* API.

The issue was exposed by:
https://github.com/llvm/llvm-project/pull/119824


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

  Changed paths:
    M llvm/lib/CodeGen/GlobalISel/CombinerHelperCasts.cpp
    M llvm/lib/CodeGen/GlobalISel/LoadStoreOpt.cpp

  Log Message:
  -----------
  [GlobalISel] Fix warnings

This patch fixes:

  llvm/lib/CodeGen/GlobalISel/CombinerHelperCasts.cpp:167:21: error:
  unused variable 'DL' [-Werror,-Wunused-variable]

  llvm/lib/CodeGen/GlobalISel/LoadStoreOpt.cpp:320:15: error: unused
  variable 'DL' [-Werror,-Wunused-variable]


  Commit: 668d9688ac8aa97d9156cecabd25bf2a8e82bc9d
      https://github.com/llvm/llvm-project/commit/668d9688ac8aa97d9156cecabd25bf2a8e82bc9d
  Author: Sudharsan Veeravalli <quic_svs at quicinc.com>
  Date:   2024-12-14 (Sat, 14 Dec 2024)

  Changed paths:
    M clang/test/Driver/print-supported-extensions-riscv.c
    M llvm/docs/RISCVUsage.rst
    M llvm/docs/ReleaseNotes.md
    M llvm/lib/Target/RISCV/AsmParser/RISCVAsmParser.cpp
    M llvm/lib/Target/RISCV/Disassembler/RISCVDisassembler.cpp
    M llvm/lib/Target/RISCV/MCTargetDesc/RISCVBaseInfo.h
    M llvm/lib/Target/RISCV/RISCVFeatures.td
    M llvm/lib/Target/RISCV/RISCVInstrInfoXqci.td
    M llvm/lib/TargetParser/RISCVISAInfo.cpp
    M llvm/test/CodeGen/RISCV/attributes.ll
    A llvm/test/MC/RISCV/xqcilsm-aliases-valid.s
    A llvm/test/MC/RISCV/xqcilsm-invalid.s
    A llvm/test/MC/RISCV/xqcilsm-valid.s
    M llvm/unittests/TargetParser/RISCVISAInfoTest.cpp

  Log Message:
  -----------
  [RISCV] Add Qualcomm uC Xqcilsm (Load Store Multiple) extension (#119823)

This extension adds 6 instructions that can do multi-word load/store.

The current spec can be found at:
https://github.com/quic/riscv-unified-db/releases/latest

This patch adds assembler only support.


  Commit: 003eb5e80d8c970c2ae7fcbaaebd52b32a61648d
      https://github.com/llvm/llvm-project/commit/003eb5e80d8c970c2ae7fcbaaebd52b32a61648d
  Author: erichkeane <ekeane at nvidia.com>
  Date:   2024-12-13 (Fri, 13 Dec 2024)

  Changed paths:
    M clang/include/clang/AST/OpenACCClause.h
    M clang/include/clang/Basic/OpenACCClauses.def
    M clang/lib/AST/OpenACCClause.cpp
    M clang/lib/AST/StmtProfile.cpp
    M clang/lib/AST/TextNodeDumper.cpp
    M clang/lib/Sema/SemaOpenACC.cpp
    M clang/lib/Sema/TreeTransform.h
    M clang/lib/Serialization/ASTReader.cpp
    M clang/lib/Serialization/ASTWriter.cpp
    M clang/test/AST/ast-print-openacc-data-construct.cpp
    M clang/test/ParserOpenACC/parse-clauses.c
    M clang/test/SemaOpenACC/combined-construct-auto_seq_independent-clauses.c
    M clang/test/SemaOpenACC/combined-construct-device_type-clause.c
    M clang/test/SemaOpenACC/compute-construct-device_type-clause.c
    A clang/test/SemaOpenACC/data-construct-finalize-ast.cpp
    A clang/test/SemaOpenACC/data-construct-finalize-clause.c
    M clang/test/SemaOpenACC/data-construct.cpp
    M clang/test/SemaOpenACC/loop-construct-auto_seq_independent-clauses.c
    M clang/test/SemaOpenACC/loop-construct-device_type-clause.c
    M clang/tools/libclang/CIndex.cpp

  Log Message:
  -----------
  [OpenACC] Implement 'finalize' clause sema

This is a very simple clause as far as sema is concerned.  It is only
valid on 'exit data', and doesn't have any rules involving it, so it is
simply applied and passed onto the MLIR.


  Commit: 5cac0eb4b4156ed7e2dae2a73af04484cf330ddb
      https://github.com/llvm/llvm-project/commit/5cac0eb4b4156ed7e2dae2a73af04484cf330ddb
  Author: Ian Wood <ianwood2024 at u.northwestern.edu>
  Date:   2024-12-13 (Fri, 13 Dec 2024)

  Changed paths:
    M llvm/include/llvm/Support/TypeName.h

  Log Message:
  -----------
  [Support] Fix getTypeNameImpl on msvc (#119910)

Updates `Key` to reflect the new name of the function enclosing
`__FUNCSIG__`.


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

  Changed paths:
    M llvm/lib/Target/RISCV/RISCVISelDAGToDAG.cpp
    M llvm/test/CodeGen/RISCV/rvv/vmsgeu.ll

  Log Message:
  -----------
  [RISCV] Use Log2SEW=0 for VMNAND/VMSET created for riscv_vmsge(u) intrinsics. (#119767)

These instructions should always be created with Log2SEW=0 and an LMUL
based on SEW=8. This is used by the vsetvli pass to know these
instructions only care about the ratio and not the specific value.

Looks like I fixed riscv_vmsge(u)_mask intrinsics years ago, but forgot
the unmasked intrinsics.

I'm working on an enhancement to our MachineVerifier checks that will
require VMNAND and VMSET to have Log2SEW=0.


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

  Changed paths:
    M llvm/utils/TableGen/Common/CodeGenDAGPatterns.cpp
    M llvm/utils/TableGen/Common/CodeGenDAGPatterns.h
    M llvm/utils/TableGen/DAGISelEmitter.cpp
    M llvm/utils/TableGen/DAGISelMatcherGen.cpp
    M llvm/utils/TableGen/FastISelEmitter.cpp
    M llvm/utils/TableGen/GlobalISelEmitter.cpp

  Log Message:
  -----------
  [TableGen] Add TreePatternNode::children and use it in for loops (NFC) (#119877)


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

  Changed paths:
    M libcxx/include/CMakeLists.txt
    M libcxx/include/__hash_table
    M libcxx/include/__memory/allocator.h
    M libcxx/include/__memory/builtin_new_allocator.h
    M libcxx/include/__memory/construct_at.h
    M libcxx/include/__memory/shared_ptr.h
    M libcxx/include/__memory/uninitialized_algorithms.h
    A libcxx/include/__new/align_val_t.h
    A libcxx/include/__new/allocate.h
    A libcxx/include/__new/destroying_delete_t.h
    A libcxx/include/__new/exceptions.h
    A libcxx/include/__new/global_new_delete.h
    A libcxx/include/__new/interference_size.h
    A libcxx/include/__new/launder.h
    A libcxx/include/__new/new_handler.h
    A libcxx/include/__new/nothrow_t.h
    A libcxx/include/__new/placement_new_delete.h
    M libcxx/include/__utility/small_buffer.h
    M libcxx/include/array
    M libcxx/include/charconv
    M libcxx/include/forward_list
    M libcxx/include/future
    M libcxx/include/list
    M libcxx/include/module.modulemap
    M libcxx/include/new
    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/cxx23.csv
    M libcxx/test/libcxx/transitive_includes/cxx26.csv
    M libcxx/test/std/language.support/support.dynamic/alloc.errors/bad.alloc/bad_alloc.pass.cpp
    M libcxx/test/std/language.support/support.dynamic/new.delete/new.delete.placement/new_array.pass.cpp
    M libcxx/test/std/language.support/support.dynamic/ptr.launder/launder.types.verify.cpp
    M libcxx/test/std/utilities/memory/default.allocator/allocator.members/allocate.size.pass.cpp
    M libcxxabi/test/cxa_vec_new_overflow_PR41395.pass.cpp

  Log Message:
  -----------
  [libc++] Granularize the <new> header (#119270)

This disentangles the code which previously had a mix of many #ifdefs, a
non-versioned namespace and a versioned namespace. It also makes it
clearer which parts of <new> are implemented on Windows by including <new.h>.


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

  Changed paths:
    M libcxx/utils/libcxx/test/format.py

  Log Message:
  -----------
  [libc++] Save benchmark results in a json file (#119761)

When running a benchmark, also save the benchmark results in a JSON
file. That is cheap to do and useful to compare benchmark results
between different runs.


  Commit: 64da33a58923e60a5c7854c1a13e14f16d01b1f0
      https://github.com/llvm/llvm-project/commit/64da33a58923e60a5c7854c1a13e14f16d01b1f0
  Author: Peter Collingbourne <peter at pcc.me.uk>
  Date:   2024-12-13 (Fri, 13 Dec 2024)

  Changed paths:
    M lld/ELF/Config.h
    M lld/ELF/Driver.cpp
    M lld/ELF/Options.td
    M lld/ELF/OutputSections.h
    M lld/ELF/SyntheticSections.cpp
    M lld/ELF/SyntheticSections.h
    M lld/ELF/Writer.cpp
    M lld/docs/ld.lld.1
    A lld/test/ELF/randomize-section-padding.test

  Log Message:
  -----------
  ELF: Introduce --randomize-section-padding option.

The --randomize-section-padding option randomly inserts padding between
input sections using the given seed. It is intended to be used in A/B
experiments to determine the average effect of a change on program
performance, while controlling for effects such as false sharing in
the cache which may introduce measurement bias. For more details,
see the RFC:

https://discourse.llvm.org/t/rfc-lld-feature-for-controlling-for-code-size-dependent-measurement-bias/83334

Reviewers: smithp35, MaskRay

Reviewed By: MaskRay, smithp35

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


  Commit: 52e9f2c52cd1d0ffa922761458abc35cd90057ea
      https://github.com/llvm/llvm-project/commit/52e9f2c52cd1d0ffa922761458abc35cd90057ea
  Author: Djordje Todorovic <56676939+djtodoro at users.noreply.github.com>
  Date:   2024-12-13 (Fri, 13 Dec 2024)

  Changed paths:
    M clang/test/Driver/riscv-cpus.c
    M clang/test/Misc/target-invalid-cpu-note/riscv.c
    M llvm/docs/ReleaseNotes.md
    M llvm/lib/Target/RISCV/RISCVFeatures.td
    M llvm/lib/Target/RISCV/RISCVProcessors.td

  Log Message:
  -----------
  [RISCV] Add MIPS P8700 processor (#119882)

The P8700 is a high-performance processor from MIPS designed to meet the
demands of modern workloads, offering exceptional scalability and
efficiency. It builds on MIPS's established architectural strengths
while introducing enhancements that set it apart. For more details, you
can check out the official product page here:
https://mips.com/products/hardware/p8700/.

Scheduling model will be added in a separate commit/PR.


  Commit: 8ab6912831277d87838518c5f775f79d14616860
      https://github.com/llvm/llvm-project/commit/8ab6912831277d87838518c5f775f79d14616860
  Author: Yuxuan Chen <ych at fb.com>
  Date:   2024-12-13 (Fri, 13 Dec 2024)

  Changed paths:
    A clang/test/Interpreter/Inputs/vector
    M clang/test/Interpreter/crash.cpp

  Log Message:
  -----------
  [Clang] Interpreter test should not depend on system header (#119903)

https://github.com/llvm/llvm-project/commit/30ad53b92cec0cff9679d559edcc5b933312ba0c
introduced a new test that includes `<vector>` from the system include
path without honoring environment variables that may provide the path to
C++ standard library. This is not supported in some CI systems because
we don't always have the C++ library in the standard location.

The conventional way of doing includes in the test is through `Inputs`
directory and pass it as an include path.

The `vector` file included in this patch has been shortened, but I have
verified that it works with this test. i.e. the clang repl crashes on
this test in the same way if the fix in
https://github.com/llvm/llvm-project/pull/117475 is reverted.


  Commit: 9f2dd085ae981740e2986a1b200ca2a7df44953d
      https://github.com/llvm/llvm-project/commit/9f2dd085ae981740e2986a1b200ca2a7df44953d
  Author: klensy <klensy at users.noreply.github.com>
  Date:   2024-12-13 (Fri, 13 Dec 2024)

  Changed paths:
    M mlir/lib/Interfaces/ValueBoundsOpInterface.cpp

  Log Message:
  -----------
  [mlir] fix copypaste typos in asserts (#119878)

This fixes few copypaste typos

I've also spotted weird `getNumRows() == getNumRows()`: looks like
leftover after refactoring


https://github.com/llvm/llvm-project/blob/ea8e328ae2bea9d9a7d556ef4d791fa116f7de18/mlir/lib/Analysis/Presburger/Simplex.cpp#L107-L111

Co-authored-by: klensy <nightouser at gmail.com>


  Commit: e5ab6e960745bfda9204e696a0a99746075f3021
      https://github.com/llvm/llvm-project/commit/e5ab6e960745bfda9204e696a0a99746075f3021
  Author: lntue <lntue at google.com>
  Date:   2024-12-13 (Fri, 13 Dec 2024)

  Changed paths:
    M libc/docs/talks.rst

  Log Message:
  -----------
  [libc][doc] Add links to LLVM dev meeting talks related to LLVM libc. (#119918)


  Commit: 0f776f1df9ec6345f298cc19c33dfea7f98289ec
      https://github.com/llvm/llvm-project/commit/0f776f1df9ec6345f298cc19c33dfea7f98289ec
  Author: Chris Apple <cja-private at pm.me>
  Date:   2024-12-13 (Fri, 13 Dec 2024)

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

  Log Message:
  -----------
  [rtsan][clang] NFC: Move rtsan init to addSanitizers (#119904)


  Commit: 2244d2e75c50cdd4657ed6c488423790367e1347
      https://github.com/llvm/llvm-project/commit/2244d2e75c50cdd4657ed6c488423790367e1347
  Author: erichkeane <ekeane at nvidia.com>
  Date:   2024-12-13 (Fri, 13 Dec 2024)

  Changed paths:
    M clang/include/clang/AST/OpenACCClause.h
    M clang/include/clang/Basic/OpenACCClauses.def
    M clang/lib/AST/OpenACCClause.cpp
    M clang/lib/AST/StmtProfile.cpp
    M clang/lib/AST/TextNodeDumper.cpp
    M clang/lib/Sema/SemaOpenACC.cpp
    M clang/lib/Sema/TreeTransform.h
    M clang/lib/Serialization/ASTReader.cpp
    M clang/lib/Serialization/ASTWriter.cpp
    M clang/test/AST/ast-print-openacc-data-construct.cpp
    M clang/test/ParserOpenACC/parse-clauses.c
    M clang/test/SemaOpenACC/combined-construct-auto_seq_independent-clauses.c
    M clang/test/SemaOpenACC/combined-construct-device_type-clause.c
    M clang/test/SemaOpenACC/compute-construct-device_type-clause.c
    A clang/test/SemaOpenACC/data-construct-if_present-ast.cpp
    A clang/test/SemaOpenACC/data-construct-if_present-clause.c
    M clang/test/SemaOpenACC/data-construct.cpp
    M clang/test/SemaOpenACC/loop-construct-auto_seq_independent-clauses.c
    M clang/test/SemaOpenACC/loop-construct-device_type-clause.c
    M clang/tools/libclang/CIndex.cpp

  Log Message:
  -----------
  [OpenACC] Implement 'if_present' clause sema

The 'if_present' clause controls the replacement of addresses in the
var-list in current device memory.  This clause can only go on
'host_device'.  From a Sema perspective, there isn't anything to do
beyond add this to AST and pass it on.


  Commit: 2eed88da6a100216bf542e0c16762d336791876b
      https://github.com/llvm/llvm-project/commit/2eed88da6a100216bf542e0c16762d336791876b
  Author: Momchil Velikov <momchil.velikov at arm.com>
  Date:   2024-12-13 (Fri, 13 Dec 2024)

  Changed paths:
    M clang/include/clang/Basic/arm_sve.td
    A clang/test/CodeGen/AArch64/fp8-intrinsics/acle_sve2_fp8_fmla.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-fmla.ll

  Log Message:
  -----------
  [AArch64] Implement FP8 SVE intrinsics for fused multiply-add (#118126)

This patch adds the following intrinsics:

* 8-bit floating-point multiply-add long to half-precision (bottom).

// Only if (__ARM_FEATURE_SVE2 && __ARM_FEATURE_FP8FMA) ||
__ARM_FEATURE_SSVE_FP8FMA
svfloat16_t svmlalb[_f16_mf8]_fpm(svfloat16_t zda, svmfloat8_t zn,
svmfloat8_t zm, fpm_t fpm);
svfloat16_t svmlalb[_n_f16_mf8]_fpm(svfloat16_t zda, svmfloat8_t zn,
mfloat8_t zm, fpm_t fpm);

* 8-bit floating-point multiply-add long to half-precision (bottom,
indexed).

// Only if (__ARM_FEATURE_SVE2 && __ARM_FEATURE_FP8FMA) ||
__ARM_FEATURE_SSVE_FP8FMA
svfloat16_t svmlalb_lane[_f16_mf8]_fpm(svfloat16_t zda, svmfloat8_t zn,
svmfloat8_t zm,
                                         uint64_t imm0_15, fpm_t fpm);

* 8-bit floating-point multiply-add long to half-precision (top).

// Only if (__ARM_FEATURE_SVE2 && __ARM_FEATURE_FP8FMA) ||
__ARM_FEATURE_SSVE_FP8FMA
svfloat16_t svmlalt[_f16_mf8]_fpm(svfloat16_t zda, svmfloat8_t zn,
svmfloat8_t zm, fpm_t fpm);
svfloat16_t svmlalt[_n_f16_mf8]_fpm(svfloat16_t zda, svmfloat8_t zn,
mfloat8_t zm, fpm_t fpm);

* 8-bit floating-point multiply-add long to half-precision (top,
indexed).

// Only if (__ARM_FEATURE_SVE2 && __ARM_FEATURE_FP8FMA) ||
__ARM_FEATURE_SSVE_FP8FMA
svfloat16_t svmlalt_lane[_f16_mf8]_fpm(svfloat16_t zda, svmfloat8_t zn,
svmfloat8_t zm,
                                         uint64_t imm0_15, fpm_t fpm);

* 8-bit floating-point multiply-add long long to single-precision
(bottom bottom).

// Only if (__ARM_FEATURE_SVE2 && __ARM_FEATURE_FP8FMA) ||
__ARM_FEATURE_SSVE_FP8FMA
svfloat32_t svmlallbb[_f32_mf8]_fpm(svfloat32_t zda, svmfloat8_t zn,
svmfloat8_t zm, fpm_t fpm);
svfloat32_t svmlallbb[_n_f32_mf8]_fpm(svfloat32_t zda, svmfloat8_t zn,
mfloat8_t zm, fpm_t fpm);

* 8-bit floating-point multiply-add long long to single-precision
(bottom bottom, indexed).

// Only if (__ARM_FEATURE_SVE2 && __ARM_FEATURE_FP8FMA) ||
__ARM_FEATURE_SSVE_FP8FMA
svfloat32_t svmlallbb_lane[_f32_mf8]_fpm(svfloat32_t zda, svmfloat8_t
zn, svmfloat8_t zm,
                                           uint64_t imm0_15, fpm_t fpm);

* 8-bit floating-point multiply-add long long to single-precision
(bottom top).

// Only if (__ARM_FEATURE_SVE2 && __ARM_FEATURE_FP8FMA) ||
__ARM_FEATURE_SSVE_FP8FMA
svfloat32_t svmlallbt[_f32_mf8]_fpm(svfloat32_t zda, svmfloat8_t zn,
svmfloat8_t zm, fpm_t fpm);
svfloat32_t svmlallbt[_n_f32_mf8]_fpm(svfloat32_t zda, svmfloat8_t zn,
mfloat8_t zm, fpm_t fpm);

* 8-bit floating-point multiply-add long long to single-precision
(bottom top, indexed).

// Only if (__ARM_FEATURE_SVE2 && __ARM_FEATURE_FP8FMA) ||
__ARM_FEATURE_SSVE_FP8FMA
svfloat32_t svmlallbt_lane[_f32_mf8]_fpm(svfloat32_t zda, svmfloat8_t
zn, svmfloat8_t zm,
                                           uint64_t imm0_15, fpm_t fpm);
* 8-bit floating-point multiply-add long long to single-precision (top
bottom).

// Only if (__ARM_FEATURE_SVE2 && __ARM_FEATURE_FP8FMA) ||
__ARM_FEATURE_SSVE_FP8FMA
svfloat32_t svmlalltb[_f32_mf8]_fpm(svfloat32_t zda, svmfloat8_t zn,
svmfloat8_t zm, fpm_t fpm);
svfloat32_t svmlalltb[_n_f32_mf8]_fpm(svfloat32_t zda, svmfloat8_t zn,
mfloat8_t zm, fpm_t fpm);

* 8-bit floating-point multiply-add long long to single-precision (top
bottom, indexed).

// Only if (__ARM_FEATURE_SVE2 && __ARM_FEATURE_FP8FMA) ||
__ARM_FEATURE_SSVE_FP8FMA
svfloat32_t svmlalltb_lane[_f32_mf8]_fpm(svfloat32_t zda, svmfloat8_t
zn, svmfloat8_t zm,
                                           uint64_t imm0_15, fpm_t fpm);
* 8-bit floating-point multiply-add long long to single-precision (top
top).

// Only if (__ARM_FEATURE_SVE2 && __ARM_FEATURE_FP8FMA) ||
__ARM_FEATURE_SSVE_FP8FMA
svfloat32_t svmlalltt[_f32_mf8]_fpm(svfloat32_t zda, svmfloat8_t zn,
svmfloat8_t zm, fpm_t fpm);
svfloat32_t svmlalltt[_n_f32_mf8]_fpm(svfloat32_t zda, svmfloat8_t zn,
mfloat8_t zm, fpm_t fpm);

* 8-bit floating-point multiply-add long long to single-precision (top
top, indexed).

// Only if (__ARM_FEATURE_SVE2 && __ARM_FEATURE_FP8FMA) ||
__ARM_FEATURE_SSVE_FP8FMA
svfloat32_t svmlalltt_lane[_f32_mf8]_fpm(svfloat32_t zda, svmfloat8_t
zn, svmfloat8_t zm,
                                           uint64_t imm0_15, fpm_t fpm);


  Commit: af5d3afff54e5af61f384a1e95020f0a0374caec
      https://github.com/llvm/llvm-project/commit/af5d3afff54e5af61f384a1e95020f0a0374caec
  Author: Slava Zakharin <szakharin at nvidia.com>
  Date:   2024-12-13 (Fri, 13 Dec 2024)

  Changed paths:
    M flang/lib/Optimizer/HLFIR/Transforms/OptimizedBufferization.cpp
    M flang/test/HLFIR/opt-array-slice-assign.fir

  Log Message:
  -----------
  [flang] Improve disjoint/identical slices recognition in opt-bufferization. (#119780)

The changes are needed to be able to optimize
'x(9,:)=SUM(x(1:8,:),DIM=1)'
without a temporary array. This pattern exists in exchange2.

The patch also fixes an existing problem in Flang with this test:
```
program main
  integer :: a(10) = (/1,2,3,4,5,6,7,8,9,10/)
  integer :: expected(10) = (/1,10,9,8,7,6,5,4,3,2/)
  print *, 'INPUT: ', a
  print *, 'EXPECTED: ', expected
  call test(a, 10, 2, 10, 9)
  print *, 'RESULT: ', a
contains
  subroutine test(a, size, x, y, z)
    integer :: x, y, z, size
    integer :: a(:)
    a(x:y:1) = a(z:x-1:-1) + 1
  end subroutine test
end program main
```


  Commit: a00946fc947d42e67394934bc78b84a37ecc2908
      https://github.com/llvm/llvm-project/commit/a00946fc947d42e67394934bc78b84a37ecc2908
  Author: Slava Zakharin <szakharin at nvidia.com>
  Date:   2024-12-13 (Fri, 13 Dec 2024)

  Changed paths:
    M flang/include/flang/Optimizer/Builder/HLFIRTools.h
    M flang/lib/Optimizer/Builder/HLFIRTools.cpp
    M flang/lib/Optimizer/HLFIR/Transforms/SimplifyHLFIRIntrinsics.cpp
    M flang/test/HLFIR/simplify-hlfir-intrinsics-sum.fir

  Log Message:
  -----------
  [flang] Simplify hlfir.sum total reductions. (#119482)

I am trying to switch to keeping the reduction value in a temporary
scalar location so that I can use hlfir::genLoopNest easily.
This also allows using omp.loop_nest with worksharing for OpenMP.


  Commit: 2daadbdc5e3a6029092963a1c699675320745d70
      https://github.com/llvm/llvm-project/commit/2daadbdc5e3a6029092963a1c699675320745d70
  Author: Brox Chen <guochen2 at amd.com>
  Date:   2024-12-13 (Fri, 13 Dec 2024)

  Changed paths:
    M llvm/test/MC/AMDGPU/gfx11_asm_vop1.s
    M llvm/test/MC/AMDGPU/gfx11_asm_vop1_dpp16.s
    M llvm/test/MC/AMDGPU/gfx11_asm_vop1_dpp8.s
    M llvm/test/MC/AMDGPU/gfx11_asm_vop3_dpp16_from_vop1.s
    M llvm/test/MC/AMDGPU/gfx11_asm_vop3_dpp8_from_vop1.s
    M llvm/test/MC/AMDGPU/gfx11_asm_vop3_from_vop1.s
    M llvm/test/MC/AMDGPU/gfx12_asm_vop1.s
    M llvm/test/MC/AMDGPU/gfx12_asm_vop1_dpp16.s
    M llvm/test/MC/AMDGPU/gfx12_asm_vop1_dpp8.s
    M llvm/test/MC/AMDGPU/gfx12_asm_vop3_from_vop1.s
    M llvm/test/MC/AMDGPU/gfx12_asm_vop3_from_vop1_dpp16.s
    M llvm/test/MC/AMDGPU/gfx12_asm_vop3_from_vop1_dpp8.s

  Log Message:
  -----------
  [AMDGPU][true16] [MC] Remove duplication in VOP1 test (#119905)

This is a NFC change. Remove duplicated test line in gfx11/gfx12 vop1
test file with the latest update_mc_test_script.py --unique option

This is also preparing for the up-coming true16 change


  Commit: b560b87ba1d85a4262d24386eb7e9a8f7b8086f5
      https://github.com/llvm/llvm-project/commit/b560b87ba1d85a4262d24386eb7e9a8f7b8086f5
  Author: Maksim Panchenko <maks at fb.com>
  Date:   2024-12-13 (Fri, 13 Dec 2024)

  Changed paths:
    M bolt/lib/Core/BinaryEmitter.cpp
    M bolt/lib/Rewrite/RewriteInstance.cpp

  Log Message:
  -----------
  [BOLT] Clean up jump table handling in non-reloc mode. NFCI (#119614)

This change affects non-relocation mode only. Prior to having
CheckLargeFunctions pass, we could have emitted code for functions that
was discarded at the end due to size limitations. Since we didn't know
at the time of emission if the code would be discarded or not, we had to
emit jump tables in separate sections and handle them separately.
However, now we always run CheckLargeFunctions and make sure all emitted
code is used. Thus, we can get rid of the special jump table handling.


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

  Changed paths:
    M llvm/lib/Target/RISCV/MCTargetDesc/RISCVBaseInfo.h
    M llvm/lib/Target/RISCV/RISCVInstrInfo.cpp
    M llvm/lib/Target/RISCV/RISCVInstrInfoVPseudos.td
    M llvm/test/CodeGen/RISCV/rvv/rvv-peephole-vmerge-to-vmv.mir

  Log Message:
  -----------
  [RISCV] Split OPERAND_SEW operand type for mask only instructions. (#119776)

Mask only instructions like vmand and vmsbf should always have 0 for
their Log2SEW operand.  Non-mask instructions should only have
3, 4, 5, or 6 for their Log2SEW operand.

Split the operand type so we can verify these cases separately.

I had to fix the SEW for whole register move to vmv.v.v copy
optimization and update an mir test. The vmv.v.v change isn't
functional since we have already done vsetvli insertion before and
nothing else uses the field after copy expansion. I can split these
changes off if desired.


  Commit: 5f72f2c8fd6cf59c9f2066c58559a9a9d2888a9a
      https://github.com/llvm/llvm-project/commit/5f72f2c8fd6cf59c9f2066c58559a9a9d2888a9a
  Author: Matt Arsenault <Matthew.Arsenault at amd.com>
  Date:   2024-12-14 (Sat, 14 Dec 2024)

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

  Log Message:
  -----------
  AMDGPU: Remove large, negative AddedComplexity from minimum/maximum patterns (#119795)


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

  Changed paths:
    M llvm/lib/Transforms/Utils/SimplifyCFG.cpp
    M llvm/test/Transforms/SimplifyCFG/hoist-dbgvalue.ll
    M llvm/test/Transforms/SimplifyCFG/hoisting-metadata.ll

  Log Message:
  -----------
  [SimplifyCFG] Always allow hoisting if all instructions match. (#97158)

Generalize hoistCommonCodeFromSuccessors's `EqTermsOnly` to
`AllInstsEqOnly` and always allow hoisting if all instructions match.

In that case, all instructions can be hoisted and the
original branch will be replaced and selects for PHIs are added. This
allows preserving metadata in more cases, using the existing hoisting
logic, whereas previously FoldTwoEntryPHINode would drop the metadata.


https://llvm-compile-time-tracker.com/compare.php?from=716360367fbdabac2c374c19b8746f4de49a5599&to=986b2c47df516b31d998c055400e4f62aa76edc6&stat=instructions:u

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


  Commit: e5e0f23ae8e97eb910cb8ae42373f354eee496c7
      https://github.com/llvm/llvm-project/commit/e5e0f23ae8e97eb910cb8ae42373f354eee496c7
  Author: Kirill Stoimenov <87100199+kstoimenov at users.noreply.github.com>
  Date:   2024-12-13 (Fri, 13 Dec 2024)

  Changed paths:
    M compiler-rt/lib/ubsan_minimal/ubsan_minimal_handlers.cpp

  Log Message:
  -----------
  [nfc][ubsan-minimal] Refactor error reporting to use a single function (#119920)

This refactoring will allow to make this function weak later on so that
it could be overloaded by a client. See #119242.


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

  Changed paths:
    M flang/lib/Semantics/resolve-names.cpp
    M flang/test/Semantics/modfile55.cuf

  Log Message:
  -----------
  [flang][cuda] Apply implicit data attribute only in device context (#119919)

Fix the condition so the implicit device data attribute is not applied
when the routine has `attribute(host)`


  Commit: 3351b3bf8dcb9aebfa6f491fcbe5a00acbcc3291
      https://github.com/llvm/llvm-project/commit/3351b3bf8dcb9aebfa6f491fcbe5a00acbcc3291
  Author: erichkeane <ekeane at nvidia.com>
  Date:   2024-12-13 (Fri, 13 Dec 2024)

  Changed paths:
    M clang/include/clang/AST/OpenACCClause.h
    M clang/include/clang/Basic/OpenACCClauses.def
    M clang/include/clang/Sema/SemaOpenACC.h
    M clang/lib/AST/OpenACCClause.cpp
    M clang/lib/AST/StmtProfile.cpp
    M clang/lib/AST/TextNodeDumper.cpp
    M clang/lib/Parse/ParseOpenACC.cpp
    M clang/lib/Sema/SemaOpenACC.cpp
    M clang/lib/Sema/TreeTransform.h
    M clang/lib/Serialization/ASTReader.cpp
    M clang/lib/Serialization/ASTWriter.cpp
    M clang/test/AST/ast-print-openacc-data-construct.cpp
    M clang/test/ParserOpenACC/parse-clauses.c
    M clang/test/SemaOpenACC/combined-construct-auto_seq_independent-clauses.c
    M clang/test/SemaOpenACC/combined-construct-device_type-clause.c
    M clang/test/SemaOpenACC/compute-construct-device_type-clause.c
    A clang/test/SemaOpenACC/data-construct-detach-ast.cpp
    A clang/test/SemaOpenACC/data-construct-detach-clause.c
    M clang/test/SemaOpenACC/data-construct.cpp
    M clang/test/SemaOpenACC/loop-construct-auto_seq_independent-clauses.c
    M clang/test/SemaOpenACC/loop-construct-device_type-clause.c
    M clang/tools/libclang/CIndex.cpp

  Log Message:
  -----------
  [OpenACC] implement 'detach' clause sema

This is another new clause specific to 'exit data' that takes a pointer
argument. This patch implements this the same way we do a few other
clauses (like attach) that have the same restrictions.


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

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

  Log Message:
  -----------
  [memprof] Don't use Frame::hash() (NFC) (#119828)

In these tests, we just want to add one instance of
IndexedMemProfRecord to MemProfData.Records and retrieve it from
MemProfReader.  There is no particular reason to associate F1.hash()
with the IndexedMemProfRecord instance.  A fake value suffices.

While I am at it, I'm switching to try_emplace so that I can move
FakeRecord.


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

  Changed paths:
    M llvm/include/llvm/ProfileData/InstrProfWriter.h

  Log Message:
  -----------
  [memprof] Make InstrProfwriter::addMemProfRecord and its friends private (NFC) (#119831)

This patch makes the following functions private:

- InstrProfWriter::addMemProfRecord
- InstrProfWriter::addMemProfFrame
- InstrProfWriter::addMemProfCallStack

These days, we add MemProf profile to the writer context via
addMemProfData.  We no longer add individual items.


  Commit: 5528388e3664c6d7d292f20a739f1bf1c8ef768d
      https://github.com/llvm/llvm-project/commit/5528388e3664c6d7d292f20a739f1bf1c8ef768d
  Author: Ramkumar Ramachandra <ramkumar.ramachandra at codasip.com>
  Date:   2024-12-13 (Fri, 13 Dec 2024)

  Changed paths:
    M llvm/include/llvm/IR/CmpPredicate.h
    M llvm/lib/IR/Instructions.cpp
    M llvm/lib/Transforms/Scalar/EarlyCSE.cpp
    A llvm/test/Transforms/EarlyCSE/pr119893.ll

  Log Message:
  -----------
  EarlyCSE: fix CmpPredicate duplicate-hashing (#119902)

Strip hash_value() for CmpPredicate, as different callers have different
hashing use-cases. In this case, there is just one caller, namely
EarlyCSE, which calls hash_combine() on a CmpPredicate, which used to
call hash_combine() on a CmpInst::Predicate prior to 4a0d53a
(PatternMatch: migrate to CmpPredicate). This has uncovered a bug where
two icmp instructions differing in just the fact that one of them has
the samesign flag on it are hashed differently, leading to divergent
hashing, and a crash. Fix this crash by dropping samesign information on
icmp instructions before hashing them, preserving the former behavior.

Fixes #119893.


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

  Changed paths:
    M llvm/lib/Target/RISCV/RISCVInstrInfo.td
    M llvm/test/CodeGen/RISCV/GlobalISel/double-arith.ll
    M llvm/test/CodeGen/RISCV/GlobalISel/double-intrinsics.ll
    M llvm/test/CodeGen/RISCV/GlobalISel/fp128.ll
    M llvm/test/CodeGen/RISCV/GlobalISel/rv64zba.ll

  Log Message:
  -----------
  [RISCV][GISel] Added GISelPredicateCodes to LeadingOnes*Mask  (#119886)


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

  Changed paths:
    M flang/lib/Semantics/resolve-names.cpp
    M flang/test/Semantics/modfile55.cuf

  Log Message:
  -----------
  [flang][cuda] Do not apply implicit data attribute on dummy arg with VALUE (#119927)

Dummy arguments with the VALUE attribute do not need the implicit data
attribute.


  Commit: 71d2fa7988f4ce4647b6ed387cf5b51dafa11e4c
      https://github.com/llvm/llvm-project/commit/71d2fa7988f4ce4647b6ed387cf5b51dafa11e4c
  Author: Kirill Stoimenov <87100199+kstoimenov at users.noreply.github.com>
  Date:   2024-12-13 (Fri, 13 Dec 2024)

  Changed paths:
    M compiler-rt/lib/ubsan_minimal/ubsan_minimal_handlers.cpp
    A compiler-rt/test/ubsan_minimal/TestCases/override-callback.c

  Log Message:
  -----------
  [ubsan-minimal] Switch to weak symbols for callbacks to allow overriding in client code (#119242)


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

  Changed paths:
    M llvm/include/llvm/CodeGen/SDPatternMatch.h
    M llvm/unittests/CodeGen/SelectionDAGPatternMatchTest.cpp

  Log Message:
  -----------
  [DAG] SDPatternMatch - Add m_ExtractElt and m_InsertElt matchers (#119430)

Resolves #118844


  Commit: 9bf79308b893e8998e7efd752835636038c2db4f
      https://github.com/llvm/llvm-project/commit/9bf79308b893e8998e7efd752835636038c2db4f
  Author: Krzysztof Drewniak <Krzysztof.Drewniak at amd.com>
  Date:   2024-12-13 (Fri, 13 Dec 2024)

  Changed paths:
    M mlir/lib/Dialect/Arith/Transforms/IntRangeOptimizations.cpp
    M mlir/test/Dialect/Arith/int-range-narrowing.mlir

  Log Message:
  -----------
  [mlir][Arith] Let integer range narrowing handle negative values (#119642)

Update integer range narrowing to handle negative values.

The previous restriction to only narrowing known-non-negative values
wasn't needed, as both the signed and unsigned ranges represent bounds
on the values of each variable in the program ... except that one might
be more accurate than the other. So, if either the signed or unsigned
interpretetation of the inputs and outputs allows for integer narrowing,
the narrowing is permitted.

This commit also updates the integer optimization rewrites to preserve
the stae of constant-like operations and those that are narrowed so that
rewrites of other operations don't lose that range information.


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

  Changed paths:
    M llvm/include/llvm/DebugInfo/GSYM/GsymReader.h
    M llvm/lib/DebugInfo/GSYM/CallSiteInfo.cpp
    M llvm/lib/DebugInfo/GSYM/GsymReader.cpp
    A llvm/test/tools/llvm-gsymutil/ARM_AArch64/macho-gsym-merged-callsites-dsym.yaml

  Log Message:
  -----------
  [llvm-gsymutil] Fix dumping of call sites for merged functions (#119759)

Currently, when dumping the contents of a GSYM there are three issues:
- Callsite information is not displayed for merged functions - this is
because of a bug in `CallSiteInfoLoader::buildFunctionMap` where when
enumerating through `Func.MergedFunctions` - we enumerate by value
instead of by reference.
- There is no variable indent for printing callsite info - meaning that
when printing callsites for merged functions, the indent will be
different than the other info of the merged function. To address this we
add configurable indent for printing callsite info
- Callsite info is printed right after merged function info. Meaning
that if the merged function also has call site information, the parent's
callsite info will appear right after the merged function's callsite
info - leading to confusion. To address this we print the callsite info
first, then the merged functions info.

This change addresses all the above 3 issues. 
Example of old vs new:

<img width="1074" alt="image"
src="https://github.com/user-attachments/assets/d039ad69-fa79-4abb-9816-eda9cc2eda53"
/>


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

  Changed paths:
    M lldb/source/DataFormatters/FormatterSection.cpp
    M lldb/test/API/functionalities/data-formatter/embedded-summary/TestEmbeddedTypeSummary.py
    M lldb/test/API/functionalities/data-formatter/embedded-summary/main.c

  Log Message:
  -----------
  [lldb] Support zero-padding in formatter sections (#119934)


  Commit: d73ef9749e72e59d1d34275e89d4d2fffddd3e8c
      https://github.com/llvm/llvm-project/commit/d73ef9749e72e59d1d34275e89d4d2fffddd3e8c
  Author: Nico Weber <thakis at chromium.org>
  Date:   2024-12-13 (Fri, 13 Dec 2024)

  Changed paths:
    M lld/COFF/Chunks.cpp
    M lld/COFF/Symbols.cpp
    M lld/COFF/Symbols.h
    M lld/test/COFF/reloc-discarded.s

  Log Message:
  -----------
  [lld/COFF] Demangle symbol name in discarded section relocation error message (#119726)


  Commit: 22266bc958abdb1414832fa09a7a3b31166427a6
      https://github.com/llvm/llvm-project/commit/22266bc958abdb1414832fa09a7a3b31166427a6
  Author: Tom Stellard <tstellar at redhat.com>
  Date:   2024-12-13 (Fri, 13 Dec 2024)

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

  Log Message:
  -----------
  workflows/build-ci-container: Fix typos in variables (#119943)

This was preventing the containers from being pushed to the registry.


  Commit: af20aff35ec37ead88903bc3e44f6a81c5c9ca4e
      https://github.com/llvm/llvm-project/commit/af20aff35ec37ead88903bc3e44f6a81c5c9ca4e
  Author: Aiden Grossman <aidengrossman at google.com>
  Date:   2024-12-13 (Fri, 13 Dec 2024)

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

  Log Message:
  -----------
  [Github] Fix windows container push (#119916)

The windows container push was not tested in the pull request and had a
couple of typos that prevented it from functioning. This patch fixes
that so we can actually push the container to GHCR.


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

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

  Log Message:
  -----------
  [lld][WebAssembly] Introduce Ctx::arg

and forward it to LinkerDriver's ctor so that some uses of the global
`config` can be dropped. This is similar to how the ELF port
migrates away from the global `config`.

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


  Commit: e821f642fdc75922b1a020447485acccf3e7fa92
      https://github.com/llvm/llvm-project/commit/e821f642fdc75922b1a020447485acccf3e7fa92
  Author: Kirill Stoimenov <kstoimenov at google.com>
  Date:   2024-12-14 (Sat, 14 Dec 2024)

  Changed paths:
    M llvm/lib/Target/AMDGPU/AMDGPUTargetMachine.cpp
    M llvm/test/CodeGen/AMDGPU/sgpr-regalloc-flags.ll

  Log Message:
  -----------
  Revert "[AMDGPU][CodeGen] Do not backtrace invalid -regalloc param (#119687)"

Causes bot failure: https://lab.llvm.org/buildbot/#/builders/55/builds/4246/steps/11/logs/stdio

This reverts commit 7a648554f886fbc043c4f3f58ca88f6c4535f2cf.


  Commit: 49c2207f21c0922aedb6c70471f8ea068977eb30
      https://github.com/llvm/llvm-project/commit/49c2207f21c0922aedb6c70471f8ea068977eb30
  Author: Timm Baeder <tbaeder at redhat.com>
  Date:   2024-12-14 (Sat, 14 Dec 2024)

  Changed paths:
    M clang/lib/AST/ByteCode/Integral.h
    M clang/lib/AST/ByteCode/Interp.h
    M clang/test/AST/ByteCode/shifts.cpp

  Log Message:
  -----------
  [clang][bytecode] Fix some shift edge cases (#119895)

Around shifting negative values.


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

  Changed paths:
    M clang/lib/AST/ByteCode/Integral.h
    M clang/lib/AST/ByteCode/Interp.h
    M clang/test/AST/ByteCode/shifts.cpp

  Log Message:
  -----------
  Revert "[clang][bytecode] Fix some shift edge cases (#119895)"

This reverts commit 49c2207f21c0922aedb6c70471f8ea068977eb30.

This breaks on big-endian, again:
https://lab.llvm.org/buildbot/#/builders/154/builds/9018


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

  Changed paths:
    M clang-tools-extra/docs/clang-tidy/index.rst

  Log Message:
  -----------
  [clang-tidy][doc] align the title style in clang-tidy/index.rst (#119938)

Uppercase each word in title and toctree

_Originally posted by @nicovank in
https://github.com/llvm/llvm-project/pull/119842#discussion_r1884559775_.

---------

Co-authored-by: Nicolas van Kempen <nvankemp at gmail.com>


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

  Changed paths:
    M clang/include/clang/Basic/Builtins.h
    M clang/include/clang/Basic/BuiltinsPPC.def
    M clang/include/clang/Basic/TargetInfo.h
    M clang/lib/Basic/Builtins.cpp
    M clang/lib/Basic/Targets/AArch64.cpp
    M clang/lib/Basic/Targets/AArch64.h
    M clang/lib/Basic/Targets/AMDGPU.cpp
    M clang/lib/Basic/Targets/AMDGPU.h
    M clang/lib/Basic/Targets/ARC.h
    M clang/lib/Basic/Targets/ARM.cpp
    M clang/lib/Basic/Targets/ARM.h
    M clang/lib/Basic/Targets/AVR.h
    M clang/lib/Basic/Targets/BPF.cpp
    M clang/lib/Basic/Targets/BPF.h
    M clang/lib/Basic/Targets/CSKY.cpp
    M clang/lib/Basic/Targets/CSKY.h
    M clang/lib/Basic/Targets/DirectX.h
    M clang/lib/Basic/Targets/Hexagon.cpp
    M clang/lib/Basic/Targets/Hexagon.h
    M clang/lib/Basic/Targets/Lanai.h
    M clang/lib/Basic/Targets/LoongArch.cpp
    M clang/lib/Basic/Targets/LoongArch.h
    M clang/lib/Basic/Targets/M68k.cpp
    M clang/lib/Basic/Targets/M68k.h
    M clang/lib/Basic/Targets/MSP430.h
    M clang/lib/Basic/Targets/Mips.cpp
    M clang/lib/Basic/Targets/Mips.h
    M clang/lib/Basic/Targets/NVPTX.cpp
    M clang/lib/Basic/Targets/NVPTX.h
    M clang/lib/Basic/Targets/PNaCl.h
    M clang/lib/Basic/Targets/PPC.cpp
    M clang/lib/Basic/Targets/PPC.h
    M clang/lib/Basic/Targets/RISCV.cpp
    M clang/lib/Basic/Targets/RISCV.h
    M clang/lib/Basic/Targets/SPIR.cpp
    M clang/lib/Basic/Targets/SPIR.h
    M clang/lib/Basic/Targets/Sparc.h
    M clang/lib/Basic/Targets/SystemZ.cpp
    M clang/lib/Basic/Targets/SystemZ.h
    M clang/lib/Basic/Targets/TCE.h
    M clang/lib/Basic/Targets/VE.cpp
    M clang/lib/Basic/Targets/VE.h
    M clang/lib/Basic/Targets/WebAssembly.cpp
    M clang/lib/Basic/Targets/WebAssembly.h
    M clang/lib/Basic/Targets/X86.cpp
    M clang/lib/Basic/Targets/X86.h
    M clang/lib/Basic/Targets/XCore.cpp
    M clang/lib/Basic/Targets/XCore.h

  Log Message:
  -----------
  Revert "Switch builtin strings to use string tables" (#119638)

Reverts llvm/llvm-project#118734

There are currently some specific versions of MSVC that are miscompiling
this code (we think). We don't know why as all the other build bots and
at least some folks' local Windows builds work fine.

This is a candidate revert to help the relevant folks catch their
builders up and have time to debug the issue. However, the expectation
is to roll forward at some point with a workaround if at all possible.


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

  Changed paths:
    M llvm/lib/Transforms/Instrumentation/MemProfiler.cpp

  Log Message:
  -----------
  [memprof] Simplify readMemprof (NFC) (#119930)

This patch essentially replaces:

  std::pair<const std::vector<Frame> *, unsigned>

with:

  ArrayRef<Frame>

This way, we can store and pass ArrayRef<Frame>, conceptually one
item, instead of the pointer and index.

The only problem is that we don't have an existing hash function for
ArrayRef<Frame>>, so we provide a custom one, namely
CallStackHash.


  Commit: 74fb9928443ce3d176911615e6a0297f074736fe
      https://github.com/llvm/llvm-project/commit/74fb9928443ce3d176911615e6a0297f074736fe
  Author: alx32 <103613512+alx32 at users.noreply.github.com>
  Date:   2024-12-14 (Sat, 14 Dec 2024)

  Changed paths:
    M llvm/test/tools/llvm-gsymutil/ARM_AArch64/macho-gsym-merged-callsites-dsym.yaml

  Log Message:
  -----------
  [llvm-gsymutil] Disable test macho-gsym-merged-callsites-dsym (#119957)

The macho-gsym-merged-callsites-dsym is failing on some hosts.

Disabling for now while we come up with a fix.


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

  Changed paths:
    M llvm/lib/Target/SystemZ/SystemZInstrInfo.td
    M llvm/lib/Target/SystemZ/SystemZOperators.td
    M llvm/utils/TableGen/Common/CodeGenDAGPatterns.cpp

  Log Message:
  -----------
  [TableGen][SystemZ] Correctly check the range of a leaf immediate (#119931)

The "Size >= 32" check probably dates back to when TableGen integers
were 32-bit. Delete it and simplify code by using `isInt`/`isUInt`.


  Commit: 1911919682c863643787b30286bb67359c7932f4
      https://github.com/llvm/llvm-project/commit/1911919682c863643787b30286bb67359c7932f4
  Author: Pavel Kosov <kpdev42 at gmail.com>
  Date:   2024-12-14 (Sat, 14 Dec 2024)

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

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

This reverts commit bc28be0a428020ea803c94adb4df48ee4972e9f1.

Some issues were discovered with GN buildbot http://45.33.8.238/linux/155432/step_6.txt
Need to investigate it


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

  Changed paths:
    M llvm/lib/Transforms/Vectorize/VectorCombine.cpp
    M llvm/test/Transforms/VectorCombine/AMDGPU/as-transition.ll
    M llvm/test/Transforms/VectorCombine/X86/load.ll

  Log Message:
  -----------
  [VectorCombine] vectorizeLoadInsert - only fold when inserting into a poison vector (#119906)

We have corresponding poison tests in the "-inseltpoison.ll" sibling test files.

Fixes #119900


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

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

  Log Message:
  -----------
  [gn build] Port 6c4e70fcbbb6


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

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

  Log Message:
  -----------
  [gn build] Port 9474e0945918


  Commit: 0ae75eba678a9ab459a382818148ef06afe817b5
      https://github.com/llvm/llvm-project/commit/0ae75eba678a9ab459a382818148ef06afe817b5
  Author: Aaditya <115080342+easyonaadit at users.noreply.github.com>
  Date:   2024-12-14 (Sat, 14 Dec 2024)

  Changed paths:
    M llvm/lib/Target/AMDGPU/AMDGPURegisterBankInfo.cpp
    M llvm/lib/Target/AMDGPU/SIISelLowering.cpp

  Log Message:
  -----------
  [AMDGPU] Assert if stack grows downwards. (#119888)


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

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

  Log Message:
  -----------
  [X86] matchPMADDWD/matchPMADDWD_2 - update to use m_ExtractElt matchers. NFC.


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

  Changed paths:
    M libcxx/include/__utility/forward_like.h
    M libcxx/include/variant

  Log Message:
  -----------
  [libc++] Introduce __forward_as (#118168)

This allows forwarding an object as a specific type. This is usually
useful when using `deducing this` to avoid calling any functions in a
deriving class.


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

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

  Log Message:
  -----------
  [libc++] Add a test to make sure all the type traits derived from bool_constant


  Commit: bca11777bebaf3b61d25fd5874584066e80d57fa
      https://github.com/llvm/llvm-project/commit/bca11777bebaf3b61d25fd5874584066e80d57fa
  Author: Aviad Cohen <aviadcohen7 at gmail.com>
  Date:   2024-12-14 (Sat, 14 Dec 2024)

  Changed paths:
    M mlir/include/mlir/Dialect/SCF/IR/SCFOps.td

  Log Message:
  -----------
  [nfc][mlir][scf]: Define scf.for lower/upper bounds can be also negative or zero (#117534)

Per the discussion here:
https://github.com/llvm/llvm-project/pull/116748#discussion_r1848680070 , this commit properly declare that lower and upper bounds can be also negative or zero.


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

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

  Log Message:
  -----------
  [libc++] Disable deprecation warnings in derived_from_integral_constant.compile.pass.cpp


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

  Changed paths:
    M clang/lib/Analysis/ThreadSafetyCommon.cpp
    M clang/test/SemaCXX/warn-thread-safety-analysis.cpp

  Log Message:
  -----------
  Thread safety analysis: Fix substitution for operator calls (#116487)

For operator calls that go to methods we need to substitute the first
parameter for "this" and the following parameters into the function
parameters, instead of substituting all of them into the parameters.

This revealed an issue about lambdas. An existing test accidentally
worked because the substitution bug was covered by a speciality of
lambdas: a CXXThisExpr in a lambda CXXMethodDecl does not refer to the
implicit this argument of the method, but to a captured "this" from the
context the lambda was created in. This can happen for operator calls,
where it worked due to the substitution bug (we treated the implicit
this argument incorrectly as parameter), and for regular calls (i.e.
obj.operator()(args) instead of obj(args)), where it didn't work.

The correct fix seems to be to clear the self-argument on a lambda call.
Lambdas can only capture "this" inside methods, and calls to the lambda
in that scope cannot substitute anything for "this".


  Commit: 9ef73d6017584a5ea425f898754bb5d1e03536bb
      https://github.com/llvm/llvm-project/commit/9ef73d6017584a5ea425f898754bb5d1e03536bb
  Author: David Green <david.green at arm.com>
  Date:   2024-12-14 (Sat, 14 Dec 2024)

  Changed paths:
    M llvm/lib/Target/AArch64/AArch64ExpandPseudoInsts.cpp

  Log Message:
  -----------
  [AArch64] Fix brackets warning in assert. NFC


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

  Changed paths:
    M clang/unittests/AST/ASTImporterTest.cpp

  Log Message:
  -----------
  [AST] Migrate away from PointerUnion::get (NFC) (#119949)

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

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


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

  Changed paths:
    M llvm/lib/Target/SystemZ/SystemZOperators.td

  Log Message:
  -----------
  [SystemZ] Use the same PatFrag for all "insert imm" fragments (NFC) (#119962)


  Commit: 331c2dd8b482e441d8ccddc09f21a02cc9454786
      https://github.com/llvm/llvm-project/commit/331c2dd8b482e441d8ccddc09f21a02cc9454786
  Author: Alexander Yermolovich <43973793+ayermolo at users.noreply.github.com>
  Date:   2024-12-14 (Sat, 14 Dec 2024)

  Changed paths:
    M bolt/lib/Core/DebugNames.cpp
    A bolt/test/X86/dwarf5-debug-names-gnu-push-tls-address.s

  Log Message:
  -----------
  [BOLT][DWARF] Add support for DW_OP_GNU_push_tls_address to .debug_names (#119939)

Added support to BOLT for DW_OP_GNU_push_tls_address. So now
DW_TAG_variable with this OP in DW_AT_location will appear in debug
names acceleration table. Although not in the DWARF 5 spec it is similar
to DW_OP_form_tls_address. Without this support llvm-dwarfdump --verify
--debug-names will report errors.


  Commit: 0032c151dcbdbf9cdd8982870c7611e6f08c504b
      https://github.com/llvm/llvm-project/commit/0032c151dcbdbf9cdd8982870c7611e6f08c504b
  Author: David Green <david.green at arm.com>
  Date:   2024-12-14 (Sat, 14 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: e48916f615e0ad2b994b2b785d4fe1b8a98bc322
      https://github.com/llvm/llvm-project/commit/e48916f615e0ad2b994b2b785d4fe1b8a98bc322
  Author: pzhengqc <55604844+pzhengqc at users.noreply.github.com>
  Date:   2024-12-14 (Sat, 14 Dec 2024)

  Changed paths:
    M llvm/lib/Target/ARM/ARMConstantIslandPass.cpp
    A llvm/test/CodeGen/Thumb2/constant-islands-no-split.mir

  Log Message:
  -----------
  [ARM][ConstantIslands] Correct MinNoSplitDisp calculation (#114590)

MinNoSplitDisp was first introduced in D16890 to handle cases where the
ConstantIslands pass fails to converge in the presence of big basic
blocks. However, the computation of the variable seems to be wrong as it
currently computes the offset immediately following UserBB. In other
words, it represents the distance from the beginning of the function to
the end of UserBB. The distance from the beginning of the function does
not seem to be a good indicator of how big the basic block is unless the
basic block is close to the beginning of the function. I think
MinNoSplitDisp should compute the distance between UserOffset and the
end of UserBB instead.


  Commit: 9ddcaed3a64c2a187a0cfff4ba8f989c665ae1e5
      https://github.com/llvm/llvm-project/commit/9ddcaed3a64c2a187a0cfff4ba8f989c665ae1e5
  Author: Davide Italiano <davidino at meta.com>
  Date:   2024-12-14 (Sat, 14 Dec 2024)

  Changed paths:
    R clang/test/Interpreter/Inputs/vector
    M clang/test/Interpreter/crash.cpp

  Log Message:
  -----------
  Revert "[Clang] Interpreter test should not depend on system header (#119903)"

This reverts commit 8ab6912831277d87838518c5f775f79d14616860.


  Commit: 61ab36a3e226df32855286dd31a2c3859800475d
      https://github.com/llvm/llvm-project/commit/61ab36a3e226df32855286dd31a2c3859800475d
  Author: Davide Italiano <davidino at meta.com>
  Date:   2024-12-14 (Sat, 14 Dec 2024)

  Changed paths:
    M clang/lib/Interpreter/Interpreter.cpp
    R clang/test/Interpreter/crash.cpp

  Log Message:
  -----------
  Revert "[Clang-REPL] Fix crash during `__run_exit_handlers` with dynamic libraries. (#117475)"

This reverts commit 30ad53b92cec0cff9679d559edcc5b933312ba0c as it breaks
systems that don't have a systemwide libc++ or libstdc++ installed. It should
be rewritten to not invoke the system linker. In the meanwhile, reverting
to unblock the bots.


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

  Changed paths:
    M mlir/include/mlir/Analysis/DataFlow/SparseAnalysis.h
    M mlir/lib/Analysis/DataFlow/ConstantPropagationAnalysis.cpp
    M mlir/lib/Analysis/DataFlow/IntegerRangeAnalysis.cpp
    M mlir/lib/Analysis/DataFlow/SparseAnalysis.cpp

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

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: 2564f1e1991425cbbfcada52ebaa6191d36fdf53
      https://github.com/llvm/llvm-project/commit/2564f1e1991425cbbfcada52ebaa6191d36fdf53
  Author: Florian Hahn <flo at fhahn.com>
  Date:   2024-12-14 (Sat, 14 Dec 2024)

  Changed paths:
    M llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
    M llvm/test/Transforms/LoopVectorize/single_early_exit.ll
    M llvm/test/Transforms/LoopVectorize/uncountable-early-exit-vplan.ll

  Log Message:
  -----------
  [VPlan] Simplify Not(Not(A)) -> A.

Follow-up simplification to 5fae408d3a4c073ee4.


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

  Changed paths:
    M clang-tools-extra/clang-tidy/bugprone/UncheckedOptionalAccessCheck.h
    M clang-tools-extra/clang-tidy/cppcoreguidelines/ProTypeMemberInitCheck.cpp
    M clang-tools-extra/clang-tidy/cppcoreguidelines/RvalueReferenceParamNotMovedCheck.cpp
    M clang-tools-extra/clang-tidy/performance/InefficientVectorOperationCheck.cpp
    M clang-tools-extra/clang-tidy/readability/RedundantAccessSpecifiersCheck.h
    M clang-tools-extra/clang-tidy/readability/RedundantCastingCheck.cpp
    M clang-tools-extra/clang-tidy/utils/RenamerClangTidyCheck.cpp

  Log Message:
  -----------
  [clang-tidy] remove misuse of `getLocalOrGlobal` for non common used options (#119948)

[RFC](https://discourse.llvm.org/t/rfc-global-option-rules-for-clang-tidy/83647)


  Commit: 99354f968f64659cbad5c82b0301d851ae54f057
      https://github.com/llvm/llvm-project/commit/99354f968f64659cbad5c82b0301d851ae54f057
  Author: Richard Dzenis <richard at dzenis.dev>
  Date:   2024-12-15 (Sun, 15 Dec 2024)

  Changed paths:
    M clang/test/SemaCXX/msvc-pragma-function-no-builtin-attr.cpp

  Log Message:
  -----------
  [clang][test] Fix SemaCXX/msvc-pragma-function-no-builtin-attr.cpp for x86 (#119986)

Fix test failure from #119719
84b0f0145887bbfe49fd4dc85490b14108a72cee

Closes #119979


  Commit: d33bf2e9df578ff7e44fd22504d6ad5a122b7ee6
      https://github.com/llvm/llvm-project/commit/d33bf2e9df578ff7e44fd22504d6ad5a122b7ee6
  Author: Hubert Tong <hubert.reinterpretcast at gmail.com>
  Date:   2024-12-14 (Sat, 14 Dec 2024)

  Changed paths:
    M libcxxabi/test/test_demangle.pass.cpp

  Log Message:
  -----------
  NFC: clang-format test_demangle.pass.cpp but keep test "lines"

Add clang-format on/off around test "lines"

Run clang-format without breaking string literals:
clang-format --style='{BasedOnStyle: llvm, BreakStringLiterals: false}'
-i test_demangle.pass.cpp

Add clang-format on/off on fp_literal_cases

Fixups: Split UNSUPPORTED to next line; xfail_cases trailing comma

Replace physical tab


  Commit: e2dc0b9b1ec09de2b20387846cd2487362a58322
      https://github.com/llvm/llvm-project/commit/e2dc0b9b1ec09de2b20387846cd2487362a58322
  Author: Hubert Tong <hubert.reinterpretcast at gmail.com>
  Date:   2024-12-14 (Sat, 14 Dec 2024)

  Changed paths:
    M .git-blame-ignore-revs

  Log Message:
  -----------
  [libc++] Add test_demangle.pass.cpp clang-format to .git-blame-ignore-revs


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

  Changed paths:
    M llvm/test/CodeGen/Mips/2008-07-16-SignExtInReg.ll
    M llvm/test/CodeGen/Mips/beqzc.ll
    M llvm/test/CodeGen/Mips/beqzc1.ll
    M llvm/test/CodeGen/Mips/blockaddr.ll
    M llvm/test/CodeGen/Mips/brsize3.ll
    M llvm/test/CodeGen/Mips/brsize3a.ll
    M llvm/test/CodeGen/Mips/ci2.ll
    M llvm/test/CodeGen/Mips/const1.ll
    M llvm/test/CodeGen/Mips/const4a.ll
    M llvm/test/CodeGen/Mips/const6.ll
    M llvm/test/CodeGen/Mips/const6a.ll
    M llvm/test/CodeGen/Mips/ctlz.ll
    M llvm/test/CodeGen/Mips/f16abs.ll
    M llvm/test/CodeGen/Mips/fixdfsf.ll
    M llvm/test/CodeGen/Mips/fp16instrinsmc.ll
    M llvm/test/CodeGen/Mips/fp16mix.ll
    M llvm/test/CodeGen/Mips/fpnotneeded.ll
    M llvm/test/CodeGen/Mips/funnel-shift-rot.ll
    M llvm/test/CodeGen/Mips/funnel-shift.ll
    M llvm/test/CodeGen/Mips/helloworld.ll
    M llvm/test/CodeGen/Mips/hf16call32.ll
    M llvm/test/CodeGen/Mips/hf16call32_body.ll
    M llvm/test/CodeGen/Mips/hf1_body.ll
    M llvm/test/CodeGen/Mips/hfptrcall.ll
    M llvm/test/CodeGen/Mips/i32k.ll
    M llvm/test/CodeGen/Mips/l3mc.ll
    M llvm/test/CodeGen/Mips/lcb2.ll
    M llvm/test/CodeGen/Mips/lcb3c.ll
    M llvm/test/CodeGen/Mips/lcb4a.ll
    M llvm/test/CodeGen/Mips/lcb5.ll
    M llvm/test/CodeGen/Mips/mbrsize4a.ll
    M llvm/test/CodeGen/Mips/mips16-hf-attr-2.ll
    M llvm/test/CodeGen/Mips/mips16-hf-attr.ll
    M llvm/test/CodeGen/Mips/mips16_fpret.ll
    M llvm/test/CodeGen/Mips/nomips16.ll
    M llvm/test/CodeGen/Mips/powif64_16.ll
    M llvm/test/CodeGen/Mips/rotate.ll
    M llvm/test/CodeGen/Mips/s2rem.ll
    M llvm/test/CodeGen/Mips/sel1c.ll
    M llvm/test/CodeGen/Mips/sel2c.ll
    M llvm/test/CodeGen/Mips/simplebr.ll
    M llvm/test/CodeGen/Mips/small-section-reserve-gp.ll
    M llvm/test/CodeGen/Mips/sr1.ll
    M llvm/test/CodeGen/Mips/tail16.ll
    M llvm/test/CodeGen/Mips/trap1.ll

  Log Message:
  -----------
  [test] Remove redundant -march= in llc -mtriple=


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

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

  Log Message:
  -----------
  [clang-format][NFC] Add a TypeScript test case

See #108530.


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

  Changed paths:
    M lld/MachO/Arch/ARM64.cpp
    M lld/MachO/ConcatOutputSection.cpp
    M lld/MachO/EhFrame.cpp
    M lld/MachO/ICF.cpp
    M lld/MachO/InputFiles.cpp
    M lld/MachO/InputSection.cpp
    M lld/MachO/MarkLive.cpp
    M lld/MachO/ObjC.cpp
    M lld/MachO/Relocations.cpp
    M lld/MachO/SyntheticSections.cpp
    M lld/MachO/UnwindInfoSection.cpp

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

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: fe9f2ac8e763d35bf7dea34063b18865ca26a781
      https://github.com/llvm/llvm-project/commit/fe9f2ac8e763d35bf7dea34063b18865ca26a781
  Author: Fangrui Song <i at maskray.me>
  Date:   2024-12-14 (Sat, 14 Dec 2024)

  Changed paths:
    M llvm/test/MC/ELF/relocation.s
    A llvm/test/MC/X86/elf-reloc-got.s
    A llvm/test/MC/X86/elf-reloc-size.s
    A llvm/test/MC/X86/elf-reloc-tls.s

  Log Message:
  -----------
  [test] Reorganize some R_X86_64_ tests


  Commit: 97f43364cc8599bfc64f4f83fb81c7cd0242a1a4
      https://github.com/llvm/llvm-project/commit/97f43364cc8599bfc64f4f83fb81c7cd0242a1a4
  Author: Amir Ayupov <aaupov at fb.com>
  Date:   2024-12-14 (Sat, 14 Dec 2024)

  Changed paths:
    M bolt/test/merge-fdata-mixed-bat-no-lbr.test
    M bolt/test/merge-fdata-mixed-mode.test
    M bolt/tools/merge-fdata/merge-fdata.cpp

  Log Message:
  -----------
  [BOLT][NFC] Speedup merge-fdata (#119942)

Eliminate splitting the buffer into lines, and use `std::getline`
directly. Simplify no_lbr and boltedcollection handling as well.

Test Plan: For a large fdata file (200MB), fstream version is ~10%
faster.


  Commit: 86526084044167b3c753d32ef8dbf79d57cba0c4
      https://github.com/llvm/llvm-project/commit/86526084044167b3c753d32ef8dbf79d57cba0c4
  Author: Amir Ayupov <aaupov at fb.com>
  Date:   2024-12-14 (Sat, 14 Dec 2024)

  Changed paths:
    M bolt/test/merge-fdata-lbr-mode.test
    M bolt/tools/merge-fdata/merge-fdata.cpp

  Log Message:
  -----------
  [BOLT] Fix counts aggregation in merge-fdata (#119652)

merge-fdata used to consider misprediction count as part of "signature",
or the aggregation key. This prevented it from collapsing profile lines
with different misprediction counts, which resulted in duplicate
`(from, to)` pairs with different misprediction and execution counts.

Fix that by splitting out misprediction count and accumulating it
separately.

Test Plan: updated bolt/test/merge-fdata-lbr-mode.test


  Commit: 4c8c1308479166d00b4e1d74ceee7cf0abfe6e72
      https://github.com/llvm/llvm-project/commit/4c8c1308479166d00b4e1d74ceee7cf0abfe6e72
  Author: David Green <david.green at arm.com>
  Date:   2024-12-15 (Sun, 15 Dec 2024)

  Changed paths:
    M llvm/lib/CodeGen/GlobalISel/LegalizerHelper.cpp
    M llvm/lib/Target/AArch64/GISel/AArch64LegalizerInfo.cpp
    M llvm/test/CodeGen/AArch64/dup.ll

  Log Message:
  -----------
  [AArch64][GlobalISel] Scalarize i128 shufflevector instructions. (#119980)

This, like other operations, scalarizes shuffle vector operations with
types larger than 64bits. ImplicitDef and Freeze are also handled the
same way, to allow them to legalize. The legalization of
fewerElementsVectorShuffle is adjusted to handled scalarization.


  Commit: eb1f9cced9e878362aeac18e120895995f759ee3
      https://github.com/llvm/llvm-project/commit/eb1f9cced9e878362aeac18e120895995f759ee3
  Author: Alex Rønne Petersen <alex at alexrp.com>
  Date:   2024-12-15 (Sun, 15 Dec 2024)

  Changed paths:
    M libunwind/include/__libunwind_config.h

  Log Message:
  -----------
  [libunwind] Fix compilation for the x32 ABI. (#116608)

This would previously fail the static assertions in `UnwindCursor.hpp`
due to `UnwindCursor`'s size not matching `unw_cursor_t`'s size. As is
done for MIPS N32, this just declares the appropriate size in
`__libunwind_config.h`.


  Commit: 6b493baec1ada4ef714197803926c37cd9c56e03
      https://github.com/llvm/llvm-project/commit/6b493baec1ada4ef714197803926c37cd9c56e03
  Author: Jacek Caban <jacek at codeweavers.com>
  Date:   2024-12-15 (Sun, 15 Dec 2024)

  Changed paths:
    M lld/COFF/Chunks.cpp
    M lld/COFF/DLL.cpp
    M lld/COFF/Driver.cpp
    M lld/COFF/InputFiles.cpp
    M lld/COFF/InputFiles.h
    M lld/COFF/PDB.cpp
    M lld/COFF/SymbolTable.cpp
    M lld/COFF/SymbolTable.h
    M lld/COFF/Symbols.cpp

  Log Message:
  -----------
  [LLD][COFF] Store reference to SymbolTable instead of COFFLinkerContext in InputFile (NFC) (#119296)

This change prepares for the introduction of separate hybrid namespaces.
Hybrid images will require two `SymbolTable` instances, making it
necessary to associate `InputFile` objects with the relevant one.


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

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

  Log Message:
  -----------
  [VectorCombine] foldShuffleOfBinops - refactor to make it easier to match icmp/fcmp patterns

NFC refactor to make it easier to also use the fold for icmp/fcmp patterns in a future patch - match the Shuffle with general Instruction operands and avoid explicit use of the BinaryOperator matches as much as possible for the general costing / fold.


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

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

  Log Message:
  -----------
  [VPlan] Manage VPWidenIntOrFPInduction debug location via recipe (NFC).

Properly set VPWidenIntOrFpInductionRecipe's debug location in the
recipe and use it, instead of using the debug location of the underlying
IR instruction.


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

  Changed paths:
    M clang-tools-extra/clangd/index/SymbolCollector.cpp
    M clang-tools-extra/clangd/unittests/SymbolCollectorTests.cpp

  Log Message:
  -----------
  [clangd] Index reserved symbols from `*intrin.h` system headers (#119735)

Summary:
`clangd` intentionally suppresses indexing symbols from system headers
as these are likely implementation details the user does not want.
Howver, there are plenty of system headers that provide extensions that
we want to index, such as vector intrinsic headers. This patch adds an
extra check for these commonly-named '*intrin.h' headers. This is not
fully inclusive for all symbols the user might want, but it's a good
start.

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

---------

Co-authored-by: Nathan Ridge <zeratul976 at hotmail.com>


  Commit: e85a9f5540f5399b20a32c8d87474e6fc906ad33
      https://github.com/llvm/llvm-project/commit/e85a9f5540f5399b20a32c8d87474e6fc906ad33
  Author: Jinsong Ji <jinsong.ji at intel.com>
  Date:   2024-12-15 (Sun, 15 Dec 2024)

  Changed paths:
    M libc/shared/rpc.h
    M libc/utils/gpu/loader/Loader.h
    M libc/utils/gpu/server/rpc_server.cpp
    M offload/plugins-nextgen/common/src/RPC.cpp

  Log Message:
  -----------
  libc: Prefix RPC Status code to avoid conflict in windows build (#119991)

Somehow conflict with define in wingdi.h.

Fix build failures:

[ 52%] Building CXX object
projects/offload/plugins-nextgen/common/CMakeFiles/PluginCommon.dir/src/RPC.cpp.obj
In file included from
...llvm\offload\plugins-nextgen\common\src\RPC.cpp:16:
...\llvm\libc\shared\rpc.h(48,3): error: expected identifier
   48 |   ERROR = 0x1000,
      |   ^
c:\Program files (x86)\Windows
Kits\10\include\10.0.22000.0\um\wingdi.h(118,29): note: expanded from
macro 'ERROR'
  118 | #define ERROR               0
      |                             ^
...\llvm\offload\plugins-nextgen\common\src\RPC.cpp(75,17): error:
expected unqualified-id
   75 |     return rpc::ERROR;
      |                 ^
c:\Program files (x86)\Windows
Kits\10\include\10.0.22000.0\um\wingdi.h(118,29): note: expanded from
macro 'ERROR'
  118 | #define ERROR               0
      |                             ^
2 errors generated.


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

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

  Log Message:
  -----------
  [LV] Add test with missing debug location for pointer IV in vector loop.


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

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

  Log Message:
  -----------
  [VPlan] Manage VPWidenPointerInduction debug location via recipe.

Update VPWidenPointerInduction to manage its debug location via recipe.
This makes sure we emit a proper debug location for
VPWidenPointerInductionRecipes.


  Commit: 49a5ad8e5714fd404210279303acc97b495d66d0
      https://github.com/llvm/llvm-project/commit/49a5ad8e5714fd404210279303acc97b495d66d0
  Author: Malte Dehling <mdehling at gmail.com>
  Date:   2024-12-15 (Sun, 15 Dec 2024)

  Changed paths:
    M mlir/docs/Dialects/Transform.md

  Log Message:
  -----------
  [mlir] Add DLTI transform ops section (#118153)

Adds missing _DLTI Transform Operations_ section to the transform
dialect documentation.

Co-authored-by: Malte Dehling <m.dehling at samsung.com>


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

  Changed paths:
    M mlir/tools/mlir-tblgen/OpDefinitionsGen.cpp
    M mlir/tools/mlir-tblgen/OpPythonBindingGen.cpp
    M mlir/tools/mlir-tblgen/RewriterGen.cpp
    M mlir/tools/mlir-tblgen/SPIRVUtilsGen.cpp

  Log Message:
  -----------
  [mlir-tblgen] Migrate away from PointerUnion::{is,get} (NFC) (#119994)

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: a22578d38c773b3969fc02f80ffd7042dc4ad3e3
      https://github.com/llvm/llvm-project/commit/a22578d38c773b3969fc02f80ffd7042dc4ad3e3
  Author: Ramkumar Ramachandra <ramkumar.ramachandra at codasip.com>
  Date:   2024-12-15 (Sun, 15 Dec 2024)

  Changed paths:
    M llvm/lib/Transforms/Scalar/ConstraintElimination.cpp
    A llvm/test/Transforms/ConstraintElimination/transfer-samesign-facts.ll

  Log Message:
  -----------
  ConstraintElim: teach fact-transfer about samesign (#115893)

When the samesign flag is present on an icmp, we can transfer all the
facts on the unsigned system to the signed system, and vice-versa: we do
this by specializing transferToOtherSystem when samesign is present.


  Commit: 0a9810d32599e515236940ce15631cfa8586d403
      https://github.com/llvm/llvm-project/commit/0a9810d32599e515236940ce15631cfa8586d403
  Author: Jacek Caban <jacek at codeweavers.com>
  Date:   2024-12-15 (Sun, 15 Dec 2024)

  Changed paths:
    M lld/COFF/Driver.cpp
    M lld/COFF/Driver.h
    M lld/COFF/SymbolTable.cpp

  Log Message:
  -----------
  [LLD][COFF] Factor out LinkerDriver::setMachine (NFC) (#119297)


  Commit: d3c485717979add739b90c82b7bc79a1e57f3cd2
      https://github.com/llvm/llvm-project/commit/d3c485717979add739b90c82b7bc79a1e57f3cd2
  Author: Jacek Caban <jacek at codeweavers.com>
  Date:   2024-12-15 (Sun, 15 Dec 2024)

  Changed paths:
    M lld/COFF/DLL.cpp
    M lld/COFF/Driver.cpp
    M lld/COFF/InputFiles.cpp
    M lld/COFF/SymbolTable.cpp
    M lld/COFF/SymbolTable.h

  Log Message:
  -----------
  [LLD][COFF] Store machine type in SymbolTable (NFC) (#119298)

This change prepares for hybrid ARM64X support, which requires two
`SymbolTable` instances: one for native symbols and one for EC symbols.
In such cases, `config.machine` will remain ARM64X, while the
`SymbolTable` instances will store ARM64 and ARM64EC machine types.


  Commit: a8206e7b37929f4754806667680ffba0206eef95
      https://github.com/llvm/llvm-project/commit/a8206e7b37929f4754806667680ffba0206eef95
  Author: Jacek Caban <jacek at codeweavers.com>
  Date:   2024-12-15 (Sun, 15 Dec 2024)

  Changed paths:
    M lld/COFF/COFFLinkerContext.h
    M lld/COFF/Driver.cpp
    M lld/COFF/InputFiles.cpp
    M lld/COFF/InputFiles.h
    M lld/COFF/SymbolTable.h
    M lld/test/COFF/arm64ec-codemap.test
    M lld/test/COFF/arm64ec-entry-thunk.s
    M lld/test/COFF/arm64ec-lib.test
    M lld/test/COFF/arm64ec-range-thunks.s
    A lld/test/COFF/arm64x-symtab.s

  Log Message:
  -----------
  [LLD][COFF] Introduce hybrid symbol table for EC input files on ARM64X (#119294)

On hybrid ARM64X targets, ARM64 and ARM64EC input files operate in
separate namespaces and cannot reference each other. This change
introduces separate `SymbolTable` instances and associates each
`InputFile` with the appropriate table to reflect this behavior.


  Commit: 6a865b6d3d44e53adc9342fb2d80a604f5459707
      https://github.com/llvm/llvm-project/commit/6a865b6d3d44e53adc9342fb2d80a604f5459707
  Author: wldfngrs <wldfngrs at gmail.com>
  Date:   2024-12-15 (Sun, 15 Dec 2024)

  Changed paths:
    M libc/config/linux/x86_64/entrypoints.txt
    M libc/docs/headers/math/index.rst
    M libc/hdrgen/yaml/math.yaml
    M libc/src/math/CMakeLists.txt
    A libc/src/math/cosf16.h
    M libc/src/math/generic/CMakeLists.txt
    A libc/src/math/generic/cosf16.cpp
    M libc/src/math/generic/cospif16.cpp
    M libc/src/math/generic/sinf16.cpp
    M libc/test/src/math/CMakeLists.txt
    A libc/test/src/math/cosf16_test.cpp
    M libc/test/src/math/smoke/CMakeLists.txt
    A libc/test/src/math/smoke/cosf16_test.cpp

  Log Message:
  -----------
  [libc][math][c23] Add cosf16 function (#118785)


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

  Changed paths:
    M llvm/test/CodeGen/M68k/GlobalISel/legalize-add.mir
    M llvm/test/CodeGen/M68k/GlobalISel/legalize-and.mir
    M llvm/test/CodeGen/M68k/GlobalISel/legalize-load-store.mir
    M llvm/test/CodeGen/M68k/GlobalISel/legalize-mul.mir
    M llvm/test/CodeGen/M68k/GlobalISel/legalize-sub.mir
    M llvm/test/CodeGen/M68k/GlobalISel/legalize-udiv.mir
    M llvm/test/CodeGen/MSP430/2009-05-17-Rot.ll
    M llvm/test/CodeGen/MSP430/2009-05-17-Shift.ll
    M llvm/test/CodeGen/MSP430/2009-05-19-DoubleSplit.ll
    M llvm/test/CodeGen/MSP430/2009-10-10-OrImpDef.ll
    M llvm/test/CodeGen/MSP430/2009-11-20-NewNode.ll
    M llvm/test/CodeGen/MSP430/AddrMode-bis-rx.ll
    M llvm/test/CodeGen/MSP430/AddrMode-bis-xr.ll
    M llvm/test/CodeGen/MSP430/AddrMode-mov-rx.ll
    M llvm/test/CodeGen/MSP430/AddrMode-mov-xr.ll
    M llvm/test/CodeGen/MSP430/BranchSelector.ll
    M llvm/test/CodeGen/MSP430/DbgValueOtherTargets.test
    M llvm/test/CodeGen/MSP430/Inst16mi.ll
    M llvm/test/CodeGen/MSP430/Inst16mm.ll
    M llvm/test/CodeGen/MSP430/Inst16mr.ll
    M llvm/test/CodeGen/MSP430/Inst16ri.ll
    M llvm/test/CodeGen/MSP430/Inst16rm.ll
    M llvm/test/CodeGen/MSP430/Inst16rr.ll
    M llvm/test/CodeGen/MSP430/Inst8mi.ll
    M llvm/test/CodeGen/MSP430/Inst8mm.ll
    M llvm/test/CodeGen/MSP430/Inst8mr.ll
    M llvm/test/CodeGen/MSP430/Inst8ri.ll
    M llvm/test/CodeGen/MSP430/Inst8rm.ll
    M llvm/test/CodeGen/MSP430/Inst8rr.ll
    M llvm/test/CodeGen/MSP430/InstII.ll
    M llvm/test/CodeGen/MSP430/bit.ll
    M llvm/test/CodeGen/MSP430/flt_rounds.ll
    M llvm/test/CodeGen/MSP430/indirectbr.ll
    M llvm/test/CodeGen/MSP430/indirectbr2.ll
    M llvm/test/CodeGen/MSP430/mult-alt-generic-msp430.ll
    M llvm/test/CodeGen/MSP430/select-use-sr.ll
    M llvm/test/CodeGen/MSP430/setcc.ll
    M llvm/test/CodeGen/MSP430/spill-to-stack.ll
    M llvm/test/CodeGen/MSP430/stacksave_restore.ll
    M llvm/test/CodeGen/MSP430/umulo-16.ll

  Log Message:
  -----------
  [M68k,MSP430,test] Change llc -march= to -mtriple=

Similar to 806761a7629df268c8aed49657aeccffa6bca449


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

  Changed paths:
    M llvm/test/CodeGen/Hexagon/64bit_tstbit.ll
    M llvm/test/CodeGen/Hexagon/Atomics.ll
    M llvm/test/CodeGen/Hexagon/BranchPredict.ll
    M llvm/test/CodeGen/Hexagon/Halide_vec_cast_trunc1.ll
    M llvm/test/CodeGen/Hexagon/Halide_vec_cast_trunc2.ll
    M llvm/test/CodeGen/Hexagon/M4_mpyri_addi_global.ll
    M llvm/test/CodeGen/Hexagon/M4_mpyrr_addi_global.ll
    M llvm/test/CodeGen/Hexagon/NVJumpCmp.ll
    M llvm/test/CodeGen/Hexagon/P08214.ll
    M llvm/test/CodeGen/Hexagon/PR33749.ll
    M llvm/test/CodeGen/Hexagon/SUnit-boundary-prob.ll
    M llvm/test/CodeGen/Hexagon/V60-VDblNew.ll
    M llvm/test/CodeGen/Hexagon/abi-padding-2.ll
    M llvm/test/CodeGen/Hexagon/abi-padding.ll
    M llvm/test/CodeGen/Hexagon/abs.ll
    M llvm/test/CodeGen/Hexagon/absaddr-store.ll
    M llvm/test/CodeGen/Hexagon/absimm.ll
    M llvm/test/CodeGen/Hexagon/add-use.ll
    M llvm/test/CodeGen/Hexagon/add_int_double.ll
    M llvm/test/CodeGen/Hexagon/add_mpi_RRR.ll
    M llvm/test/CodeGen/Hexagon/addaddi.ll
    M llvm/test/CodeGen/Hexagon/addasl-address.ll
    M llvm/test/CodeGen/Hexagon/addh-sext-trunc.ll
    M llvm/test/CodeGen/Hexagon/addh-shifted.ll
    M llvm/test/CodeGen/Hexagon/addh.ll
    M llvm/test/CodeGen/Hexagon/addr-calc-opt.ll
    M llvm/test/CodeGen/Hexagon/addr-mode-opt.ll
    M llvm/test/CodeGen/Hexagon/addrmode-align.ll
    M llvm/test/CodeGen/Hexagon/addrmode-globoff.mir
    M llvm/test/CodeGen/Hexagon/addrmode-immop.mir
    M llvm/test/CodeGen/Hexagon/addrmode-indoff.ll
    M llvm/test/CodeGen/Hexagon/addrmode-keepdeadphis.ll
    M llvm/test/CodeGen/Hexagon/addrmode-keepdeadphis.mir
    M llvm/test/CodeGen/Hexagon/addrmode-no-rdef.mir
    M llvm/test/CodeGen/Hexagon/addrmode-offset.ll
    M llvm/test/CodeGen/Hexagon/addrmode-opt-assert.mir
    M llvm/test/CodeGen/Hexagon/addrmode-rr-to-io.mir
    M llvm/test/CodeGen/Hexagon/addsubcarry.ll
    M llvm/test/CodeGen/Hexagon/adjust-latency-stackST.ll
    M llvm/test/CodeGen/Hexagon/aggr-antidep-tied.ll
    M llvm/test/CodeGen/Hexagon/aggr-copy-order.ll
    M llvm/test/CodeGen/Hexagon/aggr-licm.ll
    M llvm/test/CodeGen/Hexagon/aggressive_licm.ll
    M llvm/test/CodeGen/Hexagon/align_Os.ll
    M llvm/test/CodeGen/Hexagon/align_test.ll
    M llvm/test/CodeGen/Hexagon/alu64.ll
    M llvm/test/CodeGen/Hexagon/always-ext.ll
    M llvm/test/CodeGen/Hexagon/anti-dep-partial.mir
    M llvm/test/CodeGen/Hexagon/args.ll
    M llvm/test/CodeGen/Hexagon/ashift-left-right.ll
    M llvm/test/CodeGen/Hexagon/asr-rnd.ll
    M llvm/test/CodeGen/Hexagon/asr-rnd64.ll
    M llvm/test/CodeGen/Hexagon/assert-postinc-ptr-not-value.ll
    M llvm/test/CodeGen/Hexagon/atomic-opaque-basic.ll
    M llvm/test/CodeGen/Hexagon/atomic-rmw-add.ll
    M llvm/test/CodeGen/Hexagon/atomicrmw-cond-sub-clamp.ll
    M llvm/test/CodeGen/Hexagon/atomicrmw-uinc-udec-wrap.ll
    M llvm/test/CodeGen/Hexagon/autohvx/abs.ll
    M llvm/test/CodeGen/Hexagon/autohvx/addi-offset-opt-addr-mode.ll
    M llvm/test/CodeGen/Hexagon/autohvx/addi-opt-predicated-def-bug.ll
    M llvm/test/CodeGen/Hexagon/autohvx/align-128b.ll
    M llvm/test/CodeGen/Hexagon/autohvx/align-64b.ll
    M llvm/test/CodeGen/Hexagon/autohvx/align2-128b.ll
    M llvm/test/CodeGen/Hexagon/autohvx/align2-64b.ll
    M llvm/test/CodeGen/Hexagon/autohvx/arith-float.ll
    M llvm/test/CodeGen/Hexagon/autohvx/arith.ll
    M llvm/test/CodeGen/Hexagon/autohvx/bitcount-128b.ll
    M llvm/test/CodeGen/Hexagon/autohvx/bitcount-64b.ll
    M llvm/test/CodeGen/Hexagon/autohvx/bitwise-pred-128b.ll
    M llvm/test/CodeGen/Hexagon/autohvx/bitwise-pred-64b.ll
    M llvm/test/CodeGen/Hexagon/autohvx/bswap.ll
    M llvm/test/CodeGen/Hexagon/autohvx/build-vector-float-type.ll
    M llvm/test/CodeGen/Hexagon/autohvx/build-vector-i32-128b.ll
    M llvm/test/CodeGen/Hexagon/autohvx/build-vector-i32-64b.ll
    M llvm/test/CodeGen/Hexagon/autohvx/build-vector-i32-type.ll
    M llvm/test/CodeGen/Hexagon/autohvx/calling-conv.ll
    M llvm/test/CodeGen/Hexagon/autohvx/concat-vectors-128b.ll
    M llvm/test/CodeGen/Hexagon/autohvx/concat-vectors-64b.ll
    M llvm/test/CodeGen/Hexagon/autohvx/contract-128b.ll
    M llvm/test/CodeGen/Hexagon/autohvx/contract-64b.ll
    M llvm/test/CodeGen/Hexagon/autohvx/conv-fp-fp.ll
    M llvm/test/CodeGen/Hexagon/autohvx/conv-fp-int-ieee.ll
    M llvm/test/CodeGen/Hexagon/autohvx/ctpop-split.ll
    M llvm/test/CodeGen/Hexagon/autohvx/deal-128b.ll
    M llvm/test/CodeGen/Hexagon/autohvx/deal-64b.ll
    M llvm/test/CodeGen/Hexagon/autohvx/delta-128b.ll
    M llvm/test/CodeGen/Hexagon/autohvx/delta-64b.ll
    M llvm/test/CodeGen/Hexagon/autohvx/delta2-64b.ll
    M llvm/test/CodeGen/Hexagon/autohvx/extract-element.ll
    M llvm/test/CodeGen/Hexagon/autohvx/fp-to-int.ll
    M llvm/test/CodeGen/Hexagon/autohvx/funnel-128b.ll
    M llvm/test/CodeGen/Hexagon/autohvx/hfinsert.ll
    M llvm/test/CodeGen/Hexagon/autohvx/hvx-idiom-empty-results.ll
    M llvm/test/CodeGen/Hexagon/autohvx/int-to-fp.ll
    M llvm/test/CodeGen/Hexagon/autohvx/isel-anyext-inreg.ll
    M llvm/test/CodeGen/Hexagon/autohvx/isel-anyext-pair.ll
    M llvm/test/CodeGen/Hexagon/autohvx/isel-bitcast-vsplat.ll
    M llvm/test/CodeGen/Hexagon/autohvx/isel-bitcast-vsplat2.ll
    M llvm/test/CodeGen/Hexagon/autohvx/isel-bool-vector.ll
    M llvm/test/CodeGen/Hexagon/autohvx/isel-build-undef.ll
    M llvm/test/CodeGen/Hexagon/autohvx/isel-build-vector.ll
    M llvm/test/CodeGen/Hexagon/autohvx/isel-concat-multiple.ll
    M llvm/test/CodeGen/Hexagon/autohvx/isel-concat-vectors-bool.ll
    M llvm/test/CodeGen/Hexagon/autohvx/isel-concat-vectors.ll
    M llvm/test/CodeGen/Hexagon/autohvx/isel-const-splat-bitcast.ll
    M llvm/test/CodeGen/Hexagon/autohvx/isel-const-splat-imm.ll
    M llvm/test/CodeGen/Hexagon/autohvx/isel-const-splat.ll
    M llvm/test/CodeGen/Hexagon/autohvx/isel-const-vector.ll
    M llvm/test/CodeGen/Hexagon/autohvx/isel-expand-unaligned-loads-noindexed.ll
    M llvm/test/CodeGen/Hexagon/autohvx/isel-expand-unaligned-loads.ll
    M llvm/test/CodeGen/Hexagon/autohvx/isel-extractelt-illegal-type.ll
    M llvm/test/CodeGen/Hexagon/autohvx/isel-hvx-concat-truncate.ll
    M llvm/test/CodeGen/Hexagon/autohvx/isel-hvx-pred-bitcast.ll
    M llvm/test/CodeGen/Hexagon/autohvx/isel-insert-subvector-v4i8.ll
    M llvm/test/CodeGen/Hexagon/autohvx/isel-intrinsics.ll
    M llvm/test/CodeGen/Hexagon/autohvx/isel-mstore-fp16.ll
    M llvm/test/CodeGen/Hexagon/autohvx/isel-q-legalization-loop.ll
    M llvm/test/CodeGen/Hexagon/autohvx/isel-q2v-pair.ll
    M llvm/test/CodeGen/Hexagon/autohvx/isel-qfalse.ll
    M llvm/test/CodeGen/Hexagon/autohvx/isel-select-const.ll
    M llvm/test/CodeGen/Hexagon/autohvx/isel-select-q.ll
    M llvm/test/CodeGen/Hexagon/autohvx/isel-setcc-pair-fp.ll
    M llvm/test/CodeGen/Hexagon/autohvx/isel-setcc-pair.ll
    M llvm/test/CodeGen/Hexagon/autohvx/isel-setcc-v256i1.ll
    M llvm/test/CodeGen/Hexagon/autohvx/isel-sext-inreg.ll
    M llvm/test/CodeGen/Hexagon/autohvx/isel-shift-byte.ll
    M llvm/test/CodeGen/Hexagon/autohvx/isel-shuff-single.ll
    M llvm/test/CodeGen/Hexagon/autohvx/isel-shuffle-gather.ll
    M llvm/test/CodeGen/Hexagon/autohvx/isel-shuffle-isdisel.ll
    M llvm/test/CodeGen/Hexagon/autohvx/isel-shuffle-no-perfect-completion.ll
    M llvm/test/CodeGen/Hexagon/autohvx/isel-shuffle-pack.ll
    M llvm/test/CodeGen/Hexagon/autohvx/isel-split-masked.ll
    M llvm/test/CodeGen/Hexagon/autohvx/isel-store-bitcast-v128i1.ll
    M llvm/test/CodeGen/Hexagon/autohvx/isel-truncate-legal.ll
    M llvm/test/CodeGen/Hexagon/autohvx/isel-truncate.ll
    M llvm/test/CodeGen/Hexagon/autohvx/isel-undef-not-zero.ll
    M llvm/test/CodeGen/Hexagon/autohvx/isel-vec-ext.ll
    M llvm/test/CodeGen/Hexagon/autohvx/isel-vpackew.ll
    M llvm/test/CodeGen/Hexagon/autohvx/isel-vsplat-pair.ll
    M llvm/test/CodeGen/Hexagon/autohvx/isel-widen-memop.ll
    M llvm/test/CodeGen/Hexagon/autohvx/isel-widen-store.ll
    M llvm/test/CodeGen/Hexagon/autohvx/isel-widen-truncate-illegal-elem.ll
    M llvm/test/CodeGen/Hexagon/autohvx/isel-widen-truncate-op.ll
    M llvm/test/CodeGen/Hexagon/autohvx/isel-widen-truncate-pair.ll
    M llvm/test/CodeGen/Hexagon/autohvx/isel-widen-truncate.ll
    M llvm/test/CodeGen/Hexagon/autohvx/logical-128b.ll
    M llvm/test/CodeGen/Hexagon/autohvx/logical-64b.ll
    M llvm/test/CodeGen/Hexagon/autohvx/lower-insert-elt.ll
    M llvm/test/CodeGen/Hexagon/autohvx/masked-vmem-basic.ll
    M llvm/test/CodeGen/Hexagon/autohvx/minmax-128b.ll
    M llvm/test/CodeGen/Hexagon/autohvx/minmax-64b.ll
    M llvm/test/CodeGen/Hexagon/autohvx/minmax-float.ll
    M llvm/test/CodeGen/Hexagon/autohvx/mulh.ll
    M llvm/test/CodeGen/Hexagon/autohvx/non-simple-hvx-type.ll
    M llvm/test/CodeGen/Hexagon/autohvx/perfect-single.ll
    M llvm/test/CodeGen/Hexagon/autohvx/pred-vmem-128b.ll
    M llvm/test/CodeGen/Hexagon/autohvx/pred-vmem-64b.ll
    M llvm/test/CodeGen/Hexagon/autohvx/qmul-add-over-32-bit.ll
    M llvm/test/CodeGen/Hexagon/autohvx/qmul-chop.ll
    M llvm/test/CodeGen/Hexagon/autohvx/qmul.ll
    M llvm/test/CodeGen/Hexagon/autohvx/reg-sequence.ll
    M llvm/test/CodeGen/Hexagon/autohvx/shift-128b.ll
    M llvm/test/CodeGen/Hexagon/autohvx/shift-64b.ll
    M llvm/test/CodeGen/Hexagon/autohvx/shuff-128b.ll
    M llvm/test/CodeGen/Hexagon/autohvx/shuff-64b.ll
    M llvm/test/CodeGen/Hexagon/autohvx/shuff-combos-128b.ll
    M llvm/test/CodeGen/Hexagon/autohvx/shuff-combos-64b.ll
    M llvm/test/CodeGen/Hexagon/autohvx/shuff-perfect-inverted-pair.ll
    M llvm/test/CodeGen/Hexagon/autohvx/shuff-single.ll
    M llvm/test/CodeGen/Hexagon/autohvx/shuffle-expanding-128b.ll
    M llvm/test/CodeGen/Hexagon/autohvx/shuffle-expanding-64b.ll
    M llvm/test/CodeGen/Hexagon/autohvx/shuffle-half-128b.ll
    M llvm/test/CodeGen/Hexagon/autohvx/shuffle-half-64b.ll
    M llvm/test/CodeGen/Hexagon/autohvx/splat.ll
    M llvm/test/CodeGen/Hexagon/autohvx/vdd0.ll
    M llvm/test/CodeGen/Hexagon/autohvx/vector-align-addr.ll
    M llvm/test/CodeGen/Hexagon/autohvx/vector-align-bad-move.ll
    M llvm/test/CodeGen/Hexagon/autohvx/vector-align-bad-move3.ll
    M llvm/test/CodeGen/Hexagon/autohvx/vector-align-base-type-mismatch.ll
    M llvm/test/CodeGen/Hexagon/autohvx/vector-align-basic.ll
    M llvm/test/CodeGen/Hexagon/autohvx/vector-align-interleaved.ll
    M llvm/test/CodeGen/Hexagon/autohvx/vector-align-only-phi-use.ll
    M llvm/test/CodeGen/Hexagon/autohvx/vector-align-order.ll
    M llvm/test/CodeGen/Hexagon/autohvx/vector-align-rescale-nonint.ll
    M llvm/test/CodeGen/Hexagon/autohvx/vector-align-scalar-mask.ll
    M llvm/test/CodeGen/Hexagon/autohvx/vector-align-store-mask.ll
    M llvm/test/CodeGen/Hexagon/autohvx/vector-align-store.ll
    M llvm/test/CodeGen/Hexagon/autohvx/vector-align-terminator.ll
    M llvm/test/CodeGen/Hexagon/autohvx/vector-align-use-in-different-block.ll
    M llvm/test/CodeGen/Hexagon/autohvx/vector-compare-128b.ll
    M llvm/test/CodeGen/Hexagon/autohvx/vector-compare-64b.ll
    M llvm/test/CodeGen/Hexagon/autohvx/vector-compare-float.ll
    M llvm/test/CodeGen/Hexagon/autohvx/vector-load-store-basic.ll
    M llvm/test/CodeGen/Hexagon/autohvx/vector-predicate-typecast.ll
    M llvm/test/CodeGen/Hexagon/autohvx/vext-128b.ll
    M llvm/test/CodeGen/Hexagon/autohvx/vext-64b.ll
    M llvm/test/CodeGen/Hexagon/autohvx/vmpy-parts.ll
    M llvm/test/CodeGen/Hexagon/autohvx/vmux-order.ll
    M llvm/test/CodeGen/Hexagon/autohvx/widen-ext.ll
    M llvm/test/CodeGen/Hexagon/autohvx/widen-setcc.ll
    M llvm/test/CodeGen/Hexagon/autohvx/widen-trunc.ll
    M llvm/test/CodeGen/Hexagon/avoid-predspill-calleesaved.ll
    M llvm/test/CodeGen/Hexagon/avoid-predspill.ll
    M llvm/test/CodeGen/Hexagon/avoidVectorLowering.ll
    M llvm/test/CodeGen/Hexagon/bank-conflict-load.mir
    M llvm/test/CodeGen/Hexagon/bank-conflict.mir
    M llvm/test/CodeGen/Hexagon/barrier-flag.ll
    M llvm/test/CodeGen/Hexagon/base-offset-addr.ll
    M llvm/test/CodeGen/Hexagon/base-offset-post.ll
    M llvm/test/CodeGen/Hexagon/base-offset-stv4.ll
    M llvm/test/CodeGen/Hexagon/bit-addr-align.mir
    M llvm/test/CodeGen/Hexagon/bit-bitsplit-at.ll
    M llvm/test/CodeGen/Hexagon/bit-bitsplit-regclass.ll
    M llvm/test/CodeGen/Hexagon/bit-bitsplit-src.ll
    M llvm/test/CodeGen/Hexagon/bit-bitsplit.ll
    M llvm/test/CodeGen/Hexagon/bit-cmp0.mir
    M llvm/test/CodeGen/Hexagon/bit-eval.ll
    M llvm/test/CodeGen/Hexagon/bit-ext-sat.ll
    M llvm/test/CodeGen/Hexagon/bit-extract-off.ll
    M llvm/test/CodeGen/Hexagon/bit-extract.ll
    M llvm/test/CodeGen/Hexagon/bit-extractu-half.ll
    M llvm/test/CodeGen/Hexagon/bit-gen-rseq.ll
    M llvm/test/CodeGen/Hexagon/bit-has.ll
    M llvm/test/CodeGen/Hexagon/bit-loop-rc-mismatch.ll
    M llvm/test/CodeGen/Hexagon/bit-loop.ll
    M llvm/test/CodeGen/Hexagon/bit-phi.ll
    M llvm/test/CodeGen/Hexagon/bit-rie.ll
    M llvm/test/CodeGen/Hexagon/bit-skip-byval.ll
    M llvm/test/CodeGen/Hexagon/bit-store-upper-sub-hi.mir
    M llvm/test/CodeGen/Hexagon/bit-validate-reg.ll
    M llvm/test/CodeGen/Hexagon/bit-visit-flowq.ll
    M llvm/test/CodeGen/Hexagon/bitcast-i128-to-v128i1.ll
    M llvm/test/CodeGen/Hexagon/bitconvert-vector.ll
    M llvm/test/CodeGen/Hexagon/bitmanip.ll
    M llvm/test/CodeGen/Hexagon/bkfir.ll
    M llvm/test/CodeGen/Hexagon/block-addr.ll
    M llvm/test/CodeGen/Hexagon/block-address.ll
    M llvm/test/CodeGen/Hexagon/block-ranges-nodef.ll
    M llvm/test/CodeGen/Hexagon/blockaddr-fpic.ll
    M llvm/test/CodeGen/Hexagon/branch-folder-hoist-kills.mir
    M llvm/test/CodeGen/Hexagon/branch-non-mbb.ll
    M llvm/test/CodeGen/Hexagon/branchfolder-insert-impdef.mir
    M llvm/test/CodeGen/Hexagon/branchfolder-keep-impdef.ll
    M llvm/test/CodeGen/Hexagon/brcond-setne.ll
    M llvm/test/CodeGen/Hexagon/brev_ld.ll
    M llvm/test/CodeGen/Hexagon/brev_st.ll
    M llvm/test/CodeGen/Hexagon/bss-local.ll
    M llvm/test/CodeGen/Hexagon/bug-aa4463-ifconv-vecpred.ll
    M llvm/test/CodeGen/Hexagon/bug-allocframe-size.ll
    M llvm/test/CodeGen/Hexagon/bug-hcp-tied-kill.ll
    M llvm/test/CodeGen/Hexagon/bug14859-iv-cleanup-lpad.ll
    M llvm/test/CodeGen/Hexagon/bug14859-split-const-block-addr.ll
    M llvm/test/CodeGen/Hexagon/bug17276.ll
    M llvm/test/CodeGen/Hexagon/bug17386.ll
    M llvm/test/CodeGen/Hexagon/bug18008.ll
    M llvm/test/CodeGen/Hexagon/bug18491-optsize.ll
    M llvm/test/CodeGen/Hexagon/bug19076.ll
    M llvm/test/CodeGen/Hexagon/bug19119.ll
    M llvm/test/CodeGen/Hexagon/bug19254-ifconv-vec.ll
    M llvm/test/CodeGen/Hexagon/bug27085.ll
    M llvm/test/CodeGen/Hexagon/bug31839.ll
    M llvm/test/CodeGen/Hexagon/bug6757-endloop.ll
    M llvm/test/CodeGen/Hexagon/bug9049.ll
    M llvm/test/CodeGen/Hexagon/bug9963.ll
    M llvm/test/CodeGen/Hexagon/bugAsmHWloop.ll
    M llvm/test/CodeGen/Hexagon/build-vector-shuffle.ll
    M llvm/test/CodeGen/Hexagon/build-vector-v4i8-zext.ll
    M llvm/test/CodeGen/Hexagon/builtin-expect.ll
    M llvm/test/CodeGen/Hexagon/builtin-prefetch-offset.ll
    M llvm/test/CodeGen/Hexagon/builtin-prefetch.ll
    M llvm/test/CodeGen/Hexagon/call-long1.ll
    M llvm/test/CodeGen/Hexagon/call-ret-i1.ll
    M llvm/test/CodeGen/Hexagon/call-v4.ll
    M llvm/test/CodeGen/Hexagon/callR_noreturn.ll
    M llvm/test/CodeGen/Hexagon/calling-conv-2.ll
    M llvm/test/CodeGen/Hexagon/calling-conv.ll
    M llvm/test/CodeGen/Hexagon/callr-dep-edge.ll
    M llvm/test/CodeGen/Hexagon/cext-check.ll
    M llvm/test/CodeGen/Hexagon/cext-ice.ll
    M llvm/test/CodeGen/Hexagon/cext-opt-basic.mir
    M llvm/test/CodeGen/Hexagon/cext-opt-block-addr.mir
    M llvm/test/CodeGen/Hexagon/cext-opt-negative-fi.mir
    M llvm/test/CodeGen/Hexagon/cext-opt-numops.mir
    M llvm/test/CodeGen/Hexagon/cext-opt-range-assert.mir
    M llvm/test/CodeGen/Hexagon/cext-opt-range-offset.mir
    M llvm/test/CodeGen/Hexagon/cext-opt-shifted-range.mir
    M llvm/test/CodeGen/Hexagon/cext-opt-stack-no-rr.mir
    M llvm/test/CodeGen/Hexagon/cext-unnamed-global.mir
    M llvm/test/CodeGen/Hexagon/cext-valid-packet1.ll
    M llvm/test/CodeGen/Hexagon/cext-valid-packet2.ll
    M llvm/test/CodeGen/Hexagon/cext.ll
    M llvm/test/CodeGen/Hexagon/cexti16.ll
    M llvm/test/CodeGen/Hexagon/cfgopt-fall-through.ll
    M llvm/test/CodeGen/Hexagon/cfi-late-and-regpressure-init.ll
    M llvm/test/CodeGen/Hexagon/cfi-late.ll
    M llvm/test/CodeGen/Hexagon/cfi-offset.ll
    M llvm/test/CodeGen/Hexagon/cfi_offset.ll
    M llvm/test/CodeGen/Hexagon/cfi_offset2.ll
    M llvm/test/CodeGen/Hexagon/check-dot-new.ll
    M llvm/test/CodeGen/Hexagon/check-subregister-for-latency.ll
    M llvm/test/CodeGen/Hexagon/checktabs.ll
    M llvm/test/CodeGen/Hexagon/circ-load-isel.ll
    M llvm/test/CodeGen/Hexagon/circ_ld.ll
    M llvm/test/CodeGen/Hexagon/circ_ldd_bug.ll
    M llvm/test/CodeGen/Hexagon/circ_ldw.ll
    M llvm/test/CodeGen/Hexagon/circ_new.ll
    M llvm/test/CodeGen/Hexagon/circ_pcr_assert.ll
    M llvm/test/CodeGen/Hexagon/circ_st.ll
    M llvm/test/CodeGen/Hexagon/clr_set_toggle.ll
    M llvm/test/CodeGen/Hexagon/cmp-extend.ll
    M llvm/test/CodeGen/Hexagon/cmp-promote.ll
    M llvm/test/CodeGen/Hexagon/cmp-to-genreg.ll
    M llvm/test/CodeGen/Hexagon/cmp-to-predreg.ll
    M llvm/test/CodeGen/Hexagon/cmp_pred.ll
    M llvm/test/CodeGen/Hexagon/cmp_pred2.ll
    M llvm/test/CodeGen/Hexagon/cmp_pred_reg.ll
    M llvm/test/CodeGen/Hexagon/cmpb-dec-imm.ll
    M llvm/test/CodeGen/Hexagon/cmpb-eq.ll
    M llvm/test/CodeGen/Hexagon/cmpb_gtu.ll
    M llvm/test/CodeGen/Hexagon/cmpb_pred.ll
    M llvm/test/CodeGen/Hexagon/cmpbeq.ll
    M llvm/test/CodeGen/Hexagon/cmph-gtu.ll
    M llvm/test/CodeGen/Hexagon/cmpy-round.ll
    M llvm/test/CodeGen/Hexagon/coalesce_tfri.ll
    M llvm/test/CodeGen/Hexagon/coalescing-hvx-across-calls.ll
    M llvm/test/CodeGen/Hexagon/combine-imm-ext.ll
    M llvm/test/CodeGen/Hexagon/combine-imm-ext2.ll
    M llvm/test/CodeGen/Hexagon/combine.ll
    M llvm/test/CodeGen/Hexagon/combine_ir.ll
    M llvm/test/CodeGen/Hexagon/combine_lh.ll
    M llvm/test/CodeGen/Hexagon/combiner-lts.ll
    M llvm/test/CodeGen/Hexagon/common-gep-basic.ll
    M llvm/test/CodeGen/Hexagon/common-gep-icm.ll
    M llvm/test/CodeGen/Hexagon/common-gep-inbounds.ll
    M llvm/test/CodeGen/Hexagon/common-global-addr.ll
    M llvm/test/CodeGen/Hexagon/concat-vectors-legalize.ll
    M llvm/test/CodeGen/Hexagon/const-combine.ll
    M llvm/test/CodeGen/Hexagon/const-pool-tf.ll
    M llvm/test/CodeGen/Hexagon/constant_compound.ll
    M llvm/test/CodeGen/Hexagon/constext-call.ll
    M llvm/test/CodeGen/Hexagon/constext-immstore.ll
    M llvm/test/CodeGen/Hexagon/constext-replace.ll
    M llvm/test/CodeGen/Hexagon/constp-andir-global.mir
    M llvm/test/CodeGen/Hexagon/constp-clb.ll
    M llvm/test/CodeGen/Hexagon/constp-combine-neg.ll
    M llvm/test/CodeGen/Hexagon/constp-ctb.ll
    M llvm/test/CodeGen/Hexagon/constp-extract.ll
    M llvm/test/CodeGen/Hexagon/constp-rewrite-branches.ll
    M llvm/test/CodeGen/Hexagon/constp-rseq.ll
    M llvm/test/CodeGen/Hexagon/constp-vsplat.ll
    M llvm/test/CodeGen/Hexagon/convert_const_i1_to_i8.ll
    M llvm/test/CodeGen/Hexagon/convertdptoint.ll
    M llvm/test/CodeGen/Hexagon/convertdptoll.ll
    M llvm/test/CodeGen/Hexagon/convertsptoint.ll
    M llvm/test/CodeGen/Hexagon/convertsptoll.ll
    M llvm/test/CodeGen/Hexagon/copy-to-combine-const64.mir
    M llvm/test/CodeGen/Hexagon/copy-to-combine-dbg.ll
    M llvm/test/CodeGen/Hexagon/count_0s.ll
    M llvm/test/CodeGen/Hexagon/countbits-basic.ll
    M llvm/test/CodeGen/Hexagon/csr-func-usedef.ll
    M llvm/test/CodeGen/Hexagon/csr_stub_calls_dwarf_frame_info.ll
    M llvm/test/CodeGen/Hexagon/ctor.ll
    M llvm/test/CodeGen/Hexagon/dadd.ll
    M llvm/test/CodeGen/Hexagon/dag-combine-select-or0.ll
    M llvm/test/CodeGen/Hexagon/dag-indexed.ll
    M llvm/test/CodeGen/Hexagon/dccleana.ll
    M llvm/test/CodeGen/Hexagon/dead-store-stack.ll
    M llvm/test/CodeGen/Hexagon/dealloc-store.ll
    M llvm/test/CodeGen/Hexagon/dealloc_return.ll
    M llvm/test/CodeGen/Hexagon/debug-line_table_start.ll
    M llvm/test/CodeGen/Hexagon/debug-prologue-loc.ll
    M llvm/test/CodeGen/Hexagon/debug-prologue.ll
    M llvm/test/CodeGen/Hexagon/def-undef-deps.ll
    M llvm/test/CodeGen/Hexagon/default-align.ll
    M llvm/test/CodeGen/Hexagon/deflate.ll
    M llvm/test/CodeGen/Hexagon/df-min-max.ll
    M llvm/test/CodeGen/Hexagon/dfp.ll
    M llvm/test/CodeGen/Hexagon/dhry.ll
    M llvm/test/CodeGen/Hexagon/dhry_proc8.ll
    M llvm/test/CodeGen/Hexagon/dhry_stall.ll
    M llvm/test/CodeGen/Hexagon/disable-const64.ll
    M llvm/test/CodeGen/Hexagon/dmul.ll
    M llvm/test/CodeGen/Hexagon/dont_rotate_pregs_at_O2.ll
    M llvm/test/CodeGen/Hexagon/double.ll
    M llvm/test/CodeGen/Hexagon/dsub.ll
    M llvm/test/CodeGen/Hexagon/duplex-addi-global-imm.mir
    M llvm/test/CodeGen/Hexagon/dwarf-discriminator.ll
    M llvm/test/CodeGen/Hexagon/early-if-conv-lifetime.mir
    M llvm/test/CodeGen/Hexagon/early-if-conversion-bug1.ll
    M llvm/test/CodeGen/Hexagon/early-if-debug.mir
    M llvm/test/CodeGen/Hexagon/early-if-low8.mir
    M llvm/test/CodeGen/Hexagon/early-if-merge-loop.ll
    M llvm/test/CodeGen/Hexagon/early-if-phi-i1.ll
    M llvm/test/CodeGen/Hexagon/early-if-predicator.mir
    M llvm/test/CodeGen/Hexagon/early-if-spare.ll
    M llvm/test/CodeGen/Hexagon/early-if-vecpi.ll
    M llvm/test/CodeGen/Hexagon/early-if-vecpred.ll
    M llvm/test/CodeGen/Hexagon/early-if.ll
    M llvm/test/CodeGen/Hexagon/eh_return-r30.ll
    M llvm/test/CodeGen/Hexagon/eh_return.ll
    M llvm/test/CodeGen/Hexagon/eh_save_restore.ll
    M llvm/test/CodeGen/Hexagon/ehabi.ll
    M llvm/test/CodeGen/Hexagon/eliminate-pred-spill.ll
    M llvm/test/CodeGen/Hexagon/entryBB-isLoopHdr.ll
    M llvm/test/CodeGen/Hexagon/expand-condsets-basic.ll
    M llvm/test/CodeGen/Hexagon/expand-condsets-copy-lis.ll
    M llvm/test/CodeGen/Hexagon/expand-condsets-dead-bad.ll
    M llvm/test/CodeGen/Hexagon/expand-condsets-dead-pred.ll
    M llvm/test/CodeGen/Hexagon/expand-condsets-dead.ll
    M llvm/test/CodeGen/Hexagon/expand-condsets-def-undef.mir
    M llvm/test/CodeGen/Hexagon/expand-condsets-extend.ll
    M llvm/test/CodeGen/Hexagon/expand-condsets-imm.mir
    M llvm/test/CodeGen/Hexagon/expand-condsets-impuse.mir
    M llvm/test/CodeGen/Hexagon/expand-condsets-impuse2.mir
    M llvm/test/CodeGen/Hexagon/expand-condsets-phys-reg.mir
    M llvm/test/CodeGen/Hexagon/expand-condsets-pred-undef.ll
    M llvm/test/CodeGen/Hexagon/expand-condsets-pred-undef2.ll
    M llvm/test/CodeGen/Hexagon/expand-condsets-rm-reg.mir
    M llvm/test/CodeGen/Hexagon/expand-condsets-rm-segment.ll
    M llvm/test/CodeGen/Hexagon/expand-condsets-same-inputs.mir
    M llvm/test/CodeGen/Hexagon/expand-condsets-undef2.ll
    M llvm/test/CodeGen/Hexagon/expand-condsets-undefvni.ll
    M llvm/test/CodeGen/Hexagon/expand-condsets.ll
    M llvm/test/CodeGen/Hexagon/expand-copyw-undef.mir
    M llvm/test/CodeGen/Hexagon/expand-vselect-kill.mir
    M llvm/test/CodeGen/Hexagon/expand-vstorerw-undef.ll
    M llvm/test/CodeGen/Hexagon/expand-vstorerw-undef2.ll
    M llvm/test/CodeGen/Hexagon/expand-wselect.mir
    M llvm/test/CodeGen/Hexagon/extload-combine.ll
    M llvm/test/CodeGen/Hexagon/extract-basic.ll
    M llvm/test/CodeGen/Hexagon/extract_0bits.ll
    M llvm/test/CodeGen/Hexagon/extractu_0bits.ll
    M llvm/test/CodeGen/Hexagon/fadd.ll
    M llvm/test/CodeGen/Hexagon/fcmp.ll
    M llvm/test/CodeGen/Hexagon/feature-compound.ll
    M llvm/test/CodeGen/Hexagon/feature-memops.ll
    M llvm/test/CodeGen/Hexagon/find-loop-instr.ll
    M llvm/test/CodeGen/Hexagon/find-loop.ll
    M llvm/test/CodeGen/Hexagon/fixed-spill-mutable.ll
    M llvm/test/CodeGen/Hexagon/float-amode.ll
    M llvm/test/CodeGen/Hexagon/float-bitcast.ll
    M llvm/test/CodeGen/Hexagon/float-const64-G0.ll
    M llvm/test/CodeGen/Hexagon/float-gen-cmpop.ll
    M llvm/test/CodeGen/Hexagon/float.ll
    M llvm/test/CodeGen/Hexagon/floatconvert-ieee-rnd-near.ll
    M llvm/test/CodeGen/Hexagon/fltnvjump.ll
    M llvm/test/CodeGen/Hexagon/fmadd.ll
    M llvm/test/CodeGen/Hexagon/fminmax.ll
    M llvm/test/CodeGen/Hexagon/fmul-v67.ll
    M llvm/test/CodeGen/Hexagon/fmul.ll
    M llvm/test/CodeGen/Hexagon/formal-args-i1.ll
    M llvm/test/CodeGen/Hexagon/fp16.ll
    M llvm/test/CodeGen/Hexagon/fp_latency.ll
    M llvm/test/CodeGen/Hexagon/fpelim-basic.ll
    M llvm/test/CodeGen/Hexagon/frame-offset-overflow.ll
    M llvm/test/CodeGen/Hexagon/fsel.ll
    M llvm/test/CodeGen/Hexagon/fsub.ll
    M llvm/test/CodeGen/Hexagon/funnel-shift.ll
    M llvm/test/CodeGen/Hexagon/fusedandshift.ll
    M llvm/test/CodeGen/Hexagon/generate-const-buildvector32.ll
    M llvm/test/CodeGen/Hexagon/getBlockAddress.ll
    M llvm/test/CodeGen/Hexagon/global-const-gep.ll
    M llvm/test/CodeGen/Hexagon/global-ctor-pcrel.ll
    M llvm/test/CodeGen/Hexagon/global64bitbug.ll
    M llvm/test/CodeGen/Hexagon/gp-plus-offset-load.ll
    M llvm/test/CodeGen/Hexagon/gp-plus-offset-store.ll
    M llvm/test/CodeGen/Hexagon/gp-rel.ll
    M llvm/test/CodeGen/Hexagon/hasfp-crash1.ll
    M llvm/test/CodeGen/Hexagon/hasfp-crash2.ll
    M llvm/test/CodeGen/Hexagon/hello-world-v55.ll
    M llvm/test/CodeGen/Hexagon/hello-world-v60.ll
    M llvm/test/CodeGen/Hexagon/hexagon-cond-jumpr31.ll
    M llvm/test/CodeGen/Hexagon/hexagon-copy-hoisting.mir
    M llvm/test/CodeGen/Hexagon/hexagon-tfr-add.ll
    M llvm/test/CodeGen/Hexagon/hexagon-verify-implicit-use.ll
    M llvm/test/CodeGen/Hexagon/hexagon_cfi_offset.ll
    M llvm/test/CodeGen/Hexagon/hidden-relocation.ll
    M llvm/test/CodeGen/Hexagon/honor-optsize.ll
    M llvm/test/CodeGen/Hexagon/hrc-stack-coloring.ll
    M llvm/test/CodeGen/Hexagon/hvx-bitcast-v64i1.ll
    M llvm/test/CodeGen/Hexagon/hvx-byte-store-double.ll
    M llvm/test/CodeGen/Hexagon/hvx-byte-store.ll
    M llvm/test/CodeGen/Hexagon/hvx-concat-lower.ll
    M llvm/test/CodeGen/Hexagon/hvx-dbl-dual-output.ll
    M llvm/test/CodeGen/Hexagon/hvx-double-vzero.ll
    M llvm/test/CodeGen/Hexagon/hvx-dual-output.ll
    M llvm/test/CodeGen/Hexagon/hvx-isel-vselect-v256i16.ll
    M llvm/test/CodeGen/Hexagon/hvx-nontemporal.ll
    M llvm/test/CodeGen/Hexagon/hvx-reuse-fi-base.ll
    M llvm/test/CodeGen/Hexagon/hvx-vzero.ll
    M llvm/test/CodeGen/Hexagon/hwloop-cleanup.ll
    M llvm/test/CodeGen/Hexagon/hwloop-const.ll
    M llvm/test/CodeGen/Hexagon/hwloop-crit-edge.ll
    M llvm/test/CodeGen/Hexagon/hwloop-dbg-register.mir
    M llvm/test/CodeGen/Hexagon/hwloop-dbg.ll
    M llvm/test/CodeGen/Hexagon/hwloop-ice.ll
    M llvm/test/CodeGen/Hexagon/hwloop-le.ll
    M llvm/test/CodeGen/Hexagon/hwloop-long.ll
    M llvm/test/CodeGen/Hexagon/hwloop-loop1.ll
    M llvm/test/CodeGen/Hexagon/hwloop-lt.ll
    M llvm/test/CodeGen/Hexagon/hwloop-lt1.ll
    M llvm/test/CodeGen/Hexagon/hwloop-missed.ll
    M llvm/test/CodeGen/Hexagon/hwloop-ne.ll
    M llvm/test/CodeGen/Hexagon/hwloop-noreturn-call.ll
    M llvm/test/CodeGen/Hexagon/hwloop-ph-deadcode.ll
    M llvm/test/CodeGen/Hexagon/hwloop-phi-subreg.ll
    M llvm/test/CodeGen/Hexagon/hwloop-pos-ivbump1.ll
    M llvm/test/CodeGen/Hexagon/hwloop-preh.ll
    M llvm/test/CodeGen/Hexagon/hwloop-preheader.ll
    M llvm/test/CodeGen/Hexagon/hwloop-range.ll
    M llvm/test/CodeGen/Hexagon/hwloop-recursion.ll
    M llvm/test/CodeGen/Hexagon/hwloop-redef-imm.mir
    M llvm/test/CodeGen/Hexagon/hwloop-subreg.ll
    M llvm/test/CodeGen/Hexagon/hwloop-swap.ll
    M llvm/test/CodeGen/Hexagon/hwloop-with-return-call.ll
    M llvm/test/CodeGen/Hexagon/hwloop-wrap.ll
    M llvm/test/CodeGen/Hexagon/hwloop-wrap2.ll
    M llvm/test/CodeGen/Hexagon/hwloop1.ll
    M llvm/test/CodeGen/Hexagon/hwloop2.ll
    M llvm/test/CodeGen/Hexagon/hwloop3.ll
    M llvm/test/CodeGen/Hexagon/hwloop4.ll
    M llvm/test/CodeGen/Hexagon/hwloop5.ll
    M llvm/test/CodeGen/Hexagon/hx_V6_lo_hi.ll
    M llvm/test/CodeGen/Hexagon/i128-bitop.ll
    M llvm/test/CodeGen/Hexagon/i16_VarArg.ll
    M llvm/test/CodeGen/Hexagon/i1_VarArg.ll
    M llvm/test/CodeGen/Hexagon/i8_VarArg.ll
    M llvm/test/CodeGen/Hexagon/idxload-with-zero-offset.ll
    M llvm/test/CodeGen/Hexagon/ifcvt-common-kill.mir
    M llvm/test/CodeGen/Hexagon/ifcvt-diamond-bad.ll
    M llvm/test/CodeGen/Hexagon/ifcvt-diamond-bug-2016-08-26.ll
    M llvm/test/CodeGen/Hexagon/ifcvt-diamond-ret.mir
    M llvm/test/CodeGen/Hexagon/ifcvt-edge-weight.ll
    M llvm/test/CodeGen/Hexagon/ifcvt-impuse-livein.mir
    M llvm/test/CodeGen/Hexagon/ifcvt-live-subreg.mir
    M llvm/test/CodeGen/Hexagon/ifcvt-simple-bprob.ll
    M llvm/test/CodeGen/Hexagon/ignore-terminal-mbb.ll
    M llvm/test/CodeGen/Hexagon/imm-range-check.ll
    M llvm/test/CodeGen/Hexagon/indirect-br.ll
    M llvm/test/CodeGen/Hexagon/initial-exec.ll
    M llvm/test/CodeGen/Hexagon/inline-asm-a.ll
    M llvm/test/CodeGen/Hexagon/inline-asm-bad-constraint.ll
    M llvm/test/CodeGen/Hexagon/inline-asm-clobber-lr.ll
    M llvm/test/CodeGen/Hexagon/inline-asm-error.ll
    M llvm/test/CodeGen/Hexagon/inline-asm-hexagon.ll
    M llvm/test/CodeGen/Hexagon/inline-asm-i1.ll
    M llvm/test/CodeGen/Hexagon/inline-asm-qv.ll
    M llvm/test/CodeGen/Hexagon/inline-asm-vecpred128.ll
    M llvm/test/CodeGen/Hexagon/inline-division-space.ll
    M llvm/test/CodeGen/Hexagon/inline-division.ll
    M llvm/test/CodeGen/Hexagon/insert-basic.ll
    M llvm/test/CodeGen/Hexagon/insert.ll
    M llvm/test/CodeGen/Hexagon/insert4.ll
    M llvm/test/CodeGen/Hexagon/instrprof-custom.ll
    M llvm/test/CodeGen/Hexagon/intrinsics-v60-alu.ll
    M llvm/test/CodeGen/Hexagon/intrinsics-v60-misc.ll
    M llvm/test/CodeGen/Hexagon/intrinsics-v60-permute.ll
    M llvm/test/CodeGen/Hexagon/intrinsics-v60-shift.ll
    M llvm/test/CodeGen/Hexagon/intrinsics-v60-vcmp.ll
    M llvm/test/CodeGen/Hexagon/intrinsics-v60-vmpy-acc-128B.ll
    M llvm/test/CodeGen/Hexagon/intrinsics-v60-vmpy-acc.ll
    M llvm/test/CodeGen/Hexagon/intrinsics-v60-vmpy.ll
    M llvm/test/CodeGen/Hexagon/intrinsics-v66.ll
    M llvm/test/CodeGen/Hexagon/intrinsics-v67.ll
    M llvm/test/CodeGen/Hexagon/intrinsics/alu32_alu.ll
    M llvm/test/CodeGen/Hexagon/intrinsics/alu32_perm.ll
    M llvm/test/CodeGen/Hexagon/intrinsics/atomic_load.ll
    M llvm/test/CodeGen/Hexagon/intrinsics/atomic_store.ll
    M llvm/test/CodeGen/Hexagon/intrinsics/atomicrmw_addsub_native.ll
    M llvm/test/CodeGen/Hexagon/intrinsics/atomicrmw_bitwise_native.ll
    M llvm/test/CodeGen/Hexagon/intrinsics/atomicrmw_nand.ll
    M llvm/test/CodeGen/Hexagon/intrinsics/byte-store-double.ll
    M llvm/test/CodeGen/Hexagon/intrinsics/byte-store.ll
    M llvm/test/CodeGen/Hexagon/intrinsics/cr.ll
    M llvm/test/CodeGen/Hexagon/intrinsics/fence.ll
    M llvm/test/CodeGen/Hexagon/intrinsics/llsc_bundling.ll
    M llvm/test/CodeGen/Hexagon/intrinsics/system_user.ll
    M llvm/test/CodeGen/Hexagon/intrinsics/v65-gather-double.ll
    M llvm/test/CodeGen/Hexagon/intrinsics/v65-gather.ll
    M llvm/test/CodeGen/Hexagon/intrinsics/v65-scatter-double.ll
    M llvm/test/CodeGen/Hexagon/intrinsics/v65-scatter-gather.ll
    M llvm/test/CodeGen/Hexagon/intrinsics/v65-scatter.ll
    M llvm/test/CodeGen/Hexagon/intrinsics/v65.ll
    M llvm/test/CodeGen/Hexagon/intrinsics/xtype_alu.ll
    M llvm/test/CodeGen/Hexagon/intrinsics/xtype_bit.ll
    M llvm/test/CodeGen/Hexagon/intrinsics/xtype_complex.ll
    M llvm/test/CodeGen/Hexagon/intrinsics/xtype_fp.ll
    M llvm/test/CodeGen/Hexagon/intrinsics/xtype_mpy.ll
    M llvm/test/CodeGen/Hexagon/intrinsics/xtype_perm.ll
    M llvm/test/CodeGen/Hexagon/intrinsics/xtype_pred.ll
    M llvm/test/CodeGen/Hexagon/intrinsics/xtype_shift.ll
    M llvm/test/CodeGen/Hexagon/invalid-dotnew-attempt.mir
    M llvm/test/CodeGen/Hexagon/invalid-memrefs.ll
    M llvm/test/CodeGen/Hexagon/is-legal-void.ll
    M llvm/test/CodeGen/Hexagon/isel-bitcast-v1i8-i8.ll
    M llvm/test/CodeGen/Hexagon/isel-bitcast-v8i1-i8.ll
    M llvm/test/CodeGen/Hexagon/isel-bitcast-v8i8-v4i16.ll
    M llvm/test/CodeGen/Hexagon/isel-buildvector-v2f16.ll
    M llvm/test/CodeGen/Hexagon/isel-combine-half.ll
    M llvm/test/CodeGen/Hexagon/isel-dcfetch-intrin-map.ll
    M llvm/test/CodeGen/Hexagon/isel-exti1.ll
    M llvm/test/CodeGen/Hexagon/isel-extload-i1.ll
    M llvm/test/CodeGen/Hexagon/isel-extract-pred.ll
    M llvm/test/CodeGen/Hexagon/isel-global-offset-alignment.ll
    M llvm/test/CodeGen/Hexagon/isel-hvx-pred-bitcast-order.ll
    M llvm/test/CodeGen/Hexagon/isel-i1arg-crash.ll
    M llvm/test/CodeGen/Hexagon/isel-insert-pred.ll
    M llvm/test/CodeGen/Hexagon/isel-memory-vNi1.ll
    M llvm/test/CodeGen/Hexagon/isel-minmax-v64bit.ll
    M llvm/test/CodeGen/Hexagon/isel-op-zext-i1.ll
    M llvm/test/CodeGen/Hexagon/isel-prefer.ll
    M llvm/test/CodeGen/Hexagon/isel-select-v4i8.ll
    M llvm/test/CodeGen/Hexagon/isel-setcc-i1.ll
    M llvm/test/CodeGen/Hexagon/isel-setcc-legalize-loop.ll
    M llvm/test/CodeGen/Hexagon/isel-simplify-crash.ll
    M llvm/test/CodeGen/Hexagon/isel-splat-vector-crash.ll
    M llvm/test/CodeGen/Hexagon/isel-splat-vector-dag-crash.ll
    M llvm/test/CodeGen/Hexagon/isel-splat-vector-neg-i8.ll
    M llvm/test/CodeGen/Hexagon/isel-store-rr-i1.ll
    M llvm/test/CodeGen/Hexagon/isel-uaddo-1-i64.ll
    M llvm/test/CodeGen/Hexagon/isel-uaddo-1.ll
    M llvm/test/CodeGen/Hexagon/isel-v3i16.ll
    M llvm/test/CodeGen/Hexagon/isel-vacopy.ll
    M llvm/test/CodeGen/Hexagon/isel-vlsr-v2i16.ll
    M llvm/test/CodeGen/Hexagon/isel-vselect-v4i8.ll
    M llvm/test/CodeGen/Hexagon/isel-zext-vNi1.ll
    M llvm/test/CodeGen/Hexagon/isel/cmp-i1.ll
    M llvm/test/CodeGen/Hexagon/isel/cmp-v2i1.ll
    M llvm/test/CodeGen/Hexagon/isel/cmp-v4i1.ll
    M llvm/test/CodeGen/Hexagon/isel/cmp-v8i1.ll
    M llvm/test/CodeGen/Hexagon/isel/extload-i1.ll
    M llvm/test/CodeGen/Hexagon/isel/logical.ll
    M llvm/test/CodeGen/Hexagon/isel/mulh-scalar.ll
    M llvm/test/CodeGen/Hexagon/isel/select-i1.ll
    M llvm/test/CodeGen/Hexagon/isel/select-vec.ll
    M llvm/test/CodeGen/Hexagon/isel/trunc-vNi1.ll
    M llvm/test/CodeGen/Hexagon/jump-prob.ll
    M llvm/test/CodeGen/Hexagon/jump-table-g0.ll
    M llvm/test/CodeGen/Hexagon/jump-table-isel.ll
    M llvm/test/CodeGen/Hexagon/large-number-of-preds.ll
    M llvm/test/CodeGen/Hexagon/late-pred.ll
    M llvm/test/CodeGen/Hexagon/late_instr.ll
    M llvm/test/CodeGen/Hexagon/lcomm.ll
    M llvm/test/CodeGen/Hexagon/ldst_vector_offset.ll
    M llvm/test/CodeGen/Hexagon/livephysregs-add-pristines.mir
    M llvm/test/CodeGen/Hexagon/livephysregs-lane-masks.mir
    M llvm/test/CodeGen/Hexagon/livephysregs-lane-masks2.mir
    M llvm/test/CodeGen/Hexagon/livephysregs-regmask-clobber.mir
    M llvm/test/CodeGen/Hexagon/load-abs.ll
    M llvm/test/CodeGen/Hexagon/load-const-extend-opt.ll
    M llvm/test/CodeGen/Hexagon/load-widen.ll
    M llvm/test/CodeGen/Hexagon/loadi1-G0.ll
    M llvm/test/CodeGen/Hexagon/loadi1-v4-G0.ll
    M llvm/test/CodeGen/Hexagon/loadi1-v4.ll
    M llvm/test/CodeGen/Hexagon/loadi1.ll
    M llvm/test/CodeGen/Hexagon/local-exec.ll
    M llvm/test/CodeGen/Hexagon/loop-balign.ll
    M llvm/test/CodeGen/Hexagon/loop-prefetch.ll
    M llvm/test/CodeGen/Hexagon/loop-rotate-bug.ll
    M llvm/test/CodeGen/Hexagon/loop-rotate-liveins.ll
    M llvm/test/CodeGen/Hexagon/loop_align_count.ll
    M llvm/test/CodeGen/Hexagon/loop_align_count.mir
    M llvm/test/CodeGen/Hexagon/loop_correctness.ll
    M llvm/test/CodeGen/Hexagon/lower-extract-subvector.ll
    M llvm/test/CodeGen/Hexagon/lower-i1.ll
    M llvm/test/CodeGen/Hexagon/lsr-post-inc-cross-use-offsets.ll
    M llvm/test/CodeGen/Hexagon/lsr-postinc-nested-loop.ll
    M llvm/test/CodeGen/Hexagon/machine-cp-clobbers.mir
    M llvm/test/CodeGen/Hexagon/machine-sink-float-usr.mir
    M llvm/test/CodeGen/Hexagon/machine-sink.ll
    M llvm/test/CodeGen/Hexagon/macint.ll
    M llvm/test/CodeGen/Hexagon/maddsubu.ll
    M llvm/test/CodeGen/Hexagon/mapped_intrinsics.ll
    M llvm/test/CodeGen/Hexagon/mask-instr.ll
    M llvm/test/CodeGen/Hexagon/maxd.ll
    M llvm/test/CodeGen/Hexagon/maxh.ll
    M llvm/test/CodeGen/Hexagon/maxud.ll
    M llvm/test/CodeGen/Hexagon/maxuw.ll
    M llvm/test/CodeGen/Hexagon/maxw.ll
    M llvm/test/CodeGen/Hexagon/mem-load-circ.ll
    M llvm/test/CodeGen/Hexagon/mem-ops-sub.ll
    M llvm/test/CodeGen/Hexagon/mem-ops-sub_01.ll
    M llvm/test/CodeGen/Hexagon/mem-ops-sub_i16.ll
    M llvm/test/CodeGen/Hexagon/mem-ops-sub_i16_01.ll
    M llvm/test/CodeGen/Hexagon/memcmp.ll
    M llvm/test/CodeGen/Hexagon/memcpy-likely-aligned.ll
    M llvm/test/CodeGen/Hexagon/memcpy-memmove-inline.ll
    M llvm/test/CodeGen/Hexagon/memop-bit18.ll
    M llvm/test/CodeGen/Hexagon/memops-stack.ll
    M llvm/test/CodeGen/Hexagon/memops.ll
    M llvm/test/CodeGen/Hexagon/memops1.ll
    M llvm/test/CodeGen/Hexagon/memops2.ll
    M llvm/test/CodeGen/Hexagon/memops3.ll
    M llvm/test/CodeGen/Hexagon/memops_global.ll
    M llvm/test/CodeGen/Hexagon/memset-inline.ll
    M llvm/test/CodeGen/Hexagon/mind.ll
    M llvm/test/CodeGen/Hexagon/minu-zext-16.ll
    M llvm/test/CodeGen/Hexagon/minu-zext-8.ll
    M llvm/test/CodeGen/Hexagon/minud.ll
    M llvm/test/CodeGen/Hexagon/minuw.ll
    M llvm/test/CodeGen/Hexagon/minw.ll
    M llvm/test/CodeGen/Hexagon/mipi-double-small.ll
    M llvm/test/CodeGen/Hexagon/misaligned-access.ll
    M llvm/test/CodeGen/Hexagon/misaligned-const-load.ll
    M llvm/test/CodeGen/Hexagon/misaligned-const-store.ll
    M llvm/test/CodeGen/Hexagon/misaligned_double_vector_store_not_fast.ll
    M llvm/test/CodeGen/Hexagon/misched-top-rptracker-sync.ll
    M llvm/test/CodeGen/Hexagon/mnaci_v66.ll
    M llvm/test/CodeGen/Hexagon/mpy.ll
    M llvm/test/CodeGen/Hexagon/mpysin-imm.ll
    M llvm/test/CodeGen/Hexagon/mul64-sext.ll
    M llvm/test/CodeGen/Hexagon/mul64.ll
    M llvm/test/CodeGen/Hexagon/mulh.ll
    M llvm/test/CodeGen/Hexagon/mulhs.ll
    M llvm/test/CodeGen/Hexagon/multi-cycle.ll
    M llvm/test/CodeGen/Hexagon/mux-kill1.mir
    M llvm/test/CodeGen/Hexagon/mux-kill2.mir
    M llvm/test/CodeGen/Hexagon/mux-kill3.mir
    M llvm/test/CodeGen/Hexagon/mux-undef.ll
    M llvm/test/CodeGen/Hexagon/muxii-bug.ll
    M llvm/test/CodeGen/Hexagon/muxii-crash.ll
    M llvm/test/CodeGen/Hexagon/namedreg.ll
    M llvm/test/CodeGen/Hexagon/nbench1.ll
    M llvm/test/CodeGen/Hexagon/neg.ll
    M llvm/test/CodeGen/Hexagon/newify-crash.ll
    M llvm/test/CodeGen/Hexagon/newvalueSameReg.ll
    M llvm/test/CodeGen/Hexagon/newvaluejump-c4.mir
    M llvm/test/CodeGen/Hexagon/newvaluejump-float.mir
    M llvm/test/CodeGen/Hexagon/newvaluejump-kill.ll
    M llvm/test/CodeGen/Hexagon/newvaluejump-kill2.mir
    M llvm/test/CodeGen/Hexagon/newvaluejump-postinc.ll
    M llvm/test/CodeGen/Hexagon/newvaluejump-solo.mir
    M llvm/test/CodeGen/Hexagon/newvaluejump.ll
    M llvm/test/CodeGen/Hexagon/newvaluejump2.ll
    M llvm/test/CodeGen/Hexagon/newvaluejump3.ll
    M llvm/test/CodeGen/Hexagon/newvaluestore.ll
    M llvm/test/CodeGen/Hexagon/newvaluestore2.ll
    M llvm/test/CodeGen/Hexagon/no-falign-function-for-size.ll
    M llvm/test/CodeGen/Hexagon/no-packets-gather.ll
    M llvm/test/CodeGen/Hexagon/no-packets.ll
    M llvm/test/CodeGen/Hexagon/noFalignAfterCallAtO2.ll
    M llvm/test/CodeGen/Hexagon/no_struct_element.ll
    M llvm/test/CodeGen/Hexagon/noreturn-noepilog.ll
    M llvm/test/CodeGen/Hexagon/noreturn-notail.ll
    M llvm/test/CodeGen/Hexagon/not-op.ll
    M llvm/test/CodeGen/Hexagon/notcheap.ll
    M llvm/test/CodeGen/Hexagon/ntstbit.ll
    M llvm/test/CodeGen/Hexagon/nv_store_vec.ll
    M llvm/test/CodeGen/Hexagon/opt-addr-mode-subreg-use.ll
    M llvm/test/CodeGen/Hexagon/opt-addr-mode.ll
    M llvm/test/CodeGen/Hexagon/opt-fneg.ll
    M llvm/test/CodeGen/Hexagon/opt-glob-addrs-000.ll
    M llvm/test/CodeGen/Hexagon/opt-glob-addrs-001.ll
    M llvm/test/CodeGen/Hexagon/opt-glob-addrs-003.ll
    M llvm/test/CodeGen/Hexagon/opt-sext-intrinsics.ll
    M llvm/test/CodeGen/Hexagon/opt-spill-volatile.ll
    M llvm/test/CodeGen/Hexagon/optimize-mux.ll
    M llvm/test/CodeGen/Hexagon/order-stack-object.ll
    M llvm/test/CodeGen/Hexagon/packed-store.ll
    M llvm/test/CodeGen/Hexagon/packetize-allocframe.ll
    M llvm/test/CodeGen/Hexagon/packetize-call-r29.ll
    M llvm/test/CodeGen/Hexagon/packetize-cfi-location.ll
    M llvm/test/CodeGen/Hexagon/packetize-dccleana.mir
    M llvm/test/CodeGen/Hexagon/packetize-debug-loc.mir
    M llvm/test/CodeGen/Hexagon/packetize-frame-setup-destroy.mir
    M llvm/test/CodeGen/Hexagon/packetize-impdef-1.ll
    M llvm/test/CodeGen/Hexagon/packetize-impdef.ll
    M llvm/test/CodeGen/Hexagon/packetize-l2fetch.ll
    M llvm/test/CodeGen/Hexagon/packetize-load-store-aliasing.mir
    M llvm/test/CodeGen/Hexagon/packetize-nvj-no-prune.mir
    M llvm/test/CodeGen/Hexagon/packetize-nvstore.mir
    M llvm/test/CodeGen/Hexagon/packetize-return-arg.ll
    M llvm/test/CodeGen/Hexagon/packetize-tailcall-arg.ll
    M llvm/test/CodeGen/Hexagon/packetize-update-offset.mir
    M llvm/test/CodeGen/Hexagon/packetize-vgather-slot01.mir
    M llvm/test/CodeGen/Hexagon/packetize-volatiles.ll
    M llvm/test/CodeGen/Hexagon/packetize_cond_inst.ll
    M llvm/test/CodeGen/Hexagon/packetizer-resources.ll
    M llvm/test/CodeGen/Hexagon/partword-cmpxchg.ll
    M llvm/test/CodeGen/Hexagon/peephole-kill-flags.ll
    M llvm/test/CodeGen/Hexagon/peephole-move-phi.ll
    M llvm/test/CodeGen/Hexagon/peephole-op-swap.ll
    M llvm/test/CodeGen/Hexagon/phi-elim.ll
    M llvm/test/CodeGen/Hexagon/pic-jumptables.ll
    M llvm/test/CodeGen/Hexagon/pic-local.ll
    M llvm/test/CodeGen/Hexagon/pipeliner/swp-phi-start.mir
    M llvm/test/CodeGen/Hexagon/plt-rel.ll
    M llvm/test/CodeGen/Hexagon/pmpyw_acc.ll
    M llvm/test/CodeGen/Hexagon/post-inc-aa-metadata.ll
    M llvm/test/CodeGen/Hexagon/post-ra-kill-update.mir
    M llvm/test/CodeGen/Hexagon/postinc-aggr-dag-cycle.ll
    M llvm/test/CodeGen/Hexagon/postinc-baseoffset.mir
    M llvm/test/CodeGen/Hexagon/postinc-load.ll
    M llvm/test/CodeGen/Hexagon/postinc-offset.ll
    M llvm/test/CodeGen/Hexagon/postinc-order.ll
    M llvm/test/CodeGen/Hexagon/postinc-store.ll
    M llvm/test/CodeGen/Hexagon/postra-sink-subregs.mir
    M llvm/test/CodeGen/Hexagon/pred-absolute-store.ll
    M llvm/test/CodeGen/Hexagon/pred-gp.ll
    M llvm/test/CodeGen/Hexagon/pred-instrs.ll
    M llvm/test/CodeGen/Hexagon/pred-sched.ll
    M llvm/test/CodeGen/Hexagon/pred-simp.ll
    M llvm/test/CodeGen/Hexagon/pred-taken-jump.ll
    M llvm/test/CodeGen/Hexagon/predicate-copy.ll
    M llvm/test/CodeGen/Hexagon/predicate-logical.ll
    M llvm/test/CodeGen/Hexagon/predicate-rcmp.ll
    M llvm/test/CodeGen/Hexagon/predtfrs.ll
    M llvm/test/CodeGen/Hexagon/prefetch-intr.ll
    M llvm/test/CodeGen/Hexagon/prefetch-shuffler-ice.ll
    M llvm/test/CodeGen/Hexagon/prob-types.ll
    M llvm/test/CodeGen/Hexagon/prof-early-if.ll
    M llvm/test/CodeGen/Hexagon/propagate-vcombine.ll
    M llvm/test/CodeGen/Hexagon/ps_call_nr.ll
    M llvm/test/CodeGen/Hexagon/rdf-copy-renamable-reserved.mir
    M llvm/test/CodeGen/Hexagon/rdf-copy-undef.ll
    M llvm/test/CodeGen/Hexagon/rdf-copy-undef2.ll
    M llvm/test/CodeGen/Hexagon/rdf-copy.ll
    M llvm/test/CodeGen/Hexagon/rdf-cover-use.ll
    M llvm/test/CodeGen/Hexagon/rdf-dce-double-cover.mir
    M llvm/test/CodeGen/Hexagon/rdf-dead-loop.ll
    M llvm/test/CodeGen/Hexagon/rdf-def-mask.ll
    M llvm/test/CodeGen/Hexagon/rdf-ehlabel-live.mir
    M llvm/test/CodeGen/Hexagon/rdf-extra-livein.ll
    M llvm/test/CodeGen/Hexagon/rdf-filter-defs.ll
    M llvm/test/CodeGen/Hexagon/rdf-ignore-undef.ll
    M llvm/test/CodeGen/Hexagon/rdf-inline-asm-fixed.ll
    M llvm/test/CodeGen/Hexagon/rdf-inline-asm.ll
    M llvm/test/CodeGen/Hexagon/rdf-kill-last-op.ll
    M llvm/test/CodeGen/Hexagon/rdf-multiple-phis-up.ll
    M llvm/test/CodeGen/Hexagon/rdf-phi-shadows.ll
    M llvm/test/CodeGen/Hexagon/rdf-phi-up.ll
    M llvm/test/CodeGen/Hexagon/rdf-reset-kills.ll
    M llvm/test/CodeGen/Hexagon/readcyclecounter.ll
    M llvm/test/CodeGen/Hexagon/readsteadycounter.ll
    M llvm/test/CodeGen/Hexagon/redundant-branching2.ll
    M llvm/test/CodeGen/Hexagon/reg-by-name.ll
    M llvm/test/CodeGen/Hexagon/reg-eq-cmp.ll
    M llvm/test/CodeGen/Hexagon/reg-scav-imp-use-dbl-vec.ll
    M llvm/test/CodeGen/Hexagon/reg-scavengebug-2.ll
    M llvm/test/CodeGen/Hexagon/reg-scavengebug-3.ll
    M llvm/test/CodeGen/Hexagon/reg-scavengebug-4.ll
    M llvm/test/CodeGen/Hexagon/reg-scavengebug-5.ll
    M llvm/test/CodeGen/Hexagon/reg-scavengebug.ll
    M llvm/test/CodeGen/Hexagon/reg-scavenger-valid-slot.ll
    M llvm/test/CodeGen/Hexagon/reg_seq.ll
    M llvm/test/CodeGen/Hexagon/regalloc-bad-undef.mir
    M llvm/test/CodeGen/Hexagon/regalloc-block-overlap.ll
    M llvm/test/CodeGen/Hexagon/regalloc-coal-extend-short-subrange.mir
    M llvm/test/CodeGen/Hexagon/regalloc-coal-fullreg-undef.mir
    M llvm/test/CodeGen/Hexagon/regalloc-liveout-undef.mir
    M llvm/test/CodeGen/Hexagon/registerscav-missing-spill-slot.ll
    M llvm/test/CodeGen/Hexagon/registerscavenger-fail1.ll
    M llvm/test/CodeGen/Hexagon/regp-underflow.ll
    M llvm/test/CodeGen/Hexagon/regscav-wrong-super-sub-regs.ll
    M llvm/test/CodeGen/Hexagon/regscavenger_fail_hwloop.ll
    M llvm/test/CodeGen/Hexagon/regscavengerbug.ll
    M llvm/test/CodeGen/Hexagon/remove-endloop.ll
    M llvm/test/CodeGen/Hexagon/remove_lsr.ll
    M llvm/test/CodeGen/Hexagon/restore-single-reg.ll
    M llvm/test/CodeGen/Hexagon/ret-struct-by-val.ll
    M llvm/test/CodeGen/Hexagon/retval-redundant-copy.ll
    M llvm/test/CodeGen/Hexagon/rotate-multi.ll
    M llvm/test/CodeGen/Hexagon/rotate.ll
    M llvm/test/CodeGen/Hexagon/rotl-i64.ll
    M llvm/test/CodeGen/Hexagon/save-kill-csr.ll
    M llvm/test/CodeGen/Hexagon/save-regs-thresh.ll
    M llvm/test/CodeGen/Hexagon/sdata-array.ll
    M llvm/test/CodeGen/Hexagon/sdata-basic.ll
    M llvm/test/CodeGen/Hexagon/sdata-expand-const.ll
    M llvm/test/CodeGen/Hexagon/sdata-explicit-section.ll
    M llvm/test/CodeGen/Hexagon/sdata-load-size.ll
    M llvm/test/CodeGen/Hexagon/sdata-opaque-type.ll
    M llvm/test/CodeGen/Hexagon/sdata-stack-guard.ll
    M llvm/test/CodeGen/Hexagon/sdiv-minsigned.ll
    M llvm/test/CodeGen/Hexagon/sdr-global.mir
    M llvm/test/CodeGen/Hexagon/sdr-nosplit1.ll
    M llvm/test/CodeGen/Hexagon/sdr-reg-profit.ll
    M llvm/test/CodeGen/Hexagon/sdr-shr32.ll
    M llvm/test/CodeGen/Hexagon/section_7275.ll
    M llvm/test/CodeGen/Hexagon/select-instr-align.ll
    M llvm/test/CodeGen/Hexagon/select-vector-pred.ll
    M llvm/test/CodeGen/Hexagon/setmemrefs.ll
    M llvm/test/CodeGen/Hexagon/sf-min-max.ll
    M llvm/test/CodeGen/Hexagon/sffms.ll
    M llvm/test/CodeGen/Hexagon/sfmin_dce.ll
    M llvm/test/CodeGen/Hexagon/sfmpyacc_scale.ll
    M llvm/test/CodeGen/Hexagon/signed_immediates.ll
    M llvm/test/CodeGen/Hexagon/signext-inreg.ll
    M llvm/test/CodeGen/Hexagon/simpletailcall.ll
    M llvm/test/CodeGen/Hexagon/simplify64bitops_7223.ll
    M llvm/test/CodeGen/Hexagon/spill-vector-alignment.mir
    M llvm/test/CodeGen/Hexagon/split-const32-const64.ll
    M llvm/test/CodeGen/Hexagon/split-muxii.ll
    M llvm/test/CodeGen/Hexagon/split-vecpred.ll
    M llvm/test/CodeGen/Hexagon/stack-align-reset.ll
    M llvm/test/CodeGen/Hexagon/stack-align1.ll
    M llvm/test/CodeGen/Hexagon/stack-align2.ll
    M llvm/test/CodeGen/Hexagon/stack-alloca1.ll
    M llvm/test/CodeGen/Hexagon/stack-alloca2.ll
    M llvm/test/CodeGen/Hexagon/stack-guard-acceptable-type.ll
    M llvm/test/CodeGen/Hexagon/static.ll
    M llvm/test/CodeGen/Hexagon/store-AbsSet.ll
    M llvm/test/CodeGen/Hexagon/store-abs.ll
    M llvm/test/CodeGen/Hexagon/store-const-extend-opt.ll
    M llvm/test/CodeGen/Hexagon/store-constant.ll
    M llvm/test/CodeGen/Hexagon/store-imm-amode.ll
    M llvm/test/CodeGen/Hexagon/store-imm-byte.ll
    M llvm/test/CodeGen/Hexagon/store-imm-halword.ll
    M llvm/test/CodeGen/Hexagon/store-imm-large-stack.ll
    M llvm/test/CodeGen/Hexagon/store-imm-stack-object.ll
    M llvm/test/CodeGen/Hexagon/store-imm-word.ll
    M llvm/test/CodeGen/Hexagon/store-shift.ll
    M llvm/test/CodeGen/Hexagon/store-vector-pred.ll
    M llvm/test/CodeGen/Hexagon/store-widen-aliased-load.ll
    M llvm/test/CodeGen/Hexagon/store-widen-negv.ll
    M llvm/test/CodeGen/Hexagon/store-widen-negv2.ll
    M llvm/test/CodeGen/Hexagon/store-widen-subreg.ll
    M llvm/test/CodeGen/Hexagon/store-widen.ll
    M llvm/test/CodeGen/Hexagon/store1.ll
    M llvm/test/CodeGen/Hexagon/store_abs.ll
    M llvm/test/CodeGen/Hexagon/storerd-io-over-rr.ll
    M llvm/test/CodeGen/Hexagon/storerinewabs.ll
    M llvm/test/CodeGen/Hexagon/struct-const.ll
    M llvm/test/CodeGen/Hexagon/struct_args.ll
    M llvm/test/CodeGen/Hexagon/struct_args_large.ll
    M llvm/test/CodeGen/Hexagon/struct_copy.ll
    M llvm/test/CodeGen/Hexagon/struct_copy_sched_r16.ll
    M llvm/test/CodeGen/Hexagon/sub-add.ll
    M llvm/test/CodeGen/Hexagon/subh-shifted.ll
    M llvm/test/CodeGen/Hexagon/subh.ll
    M llvm/test/CodeGen/Hexagon/subi-asl.ll
    M llvm/test/CodeGen/Hexagon/swp-art-deps-rec.ll
    M llvm/test/CodeGen/Hexagon/swp-bad-sched.ll
    M llvm/test/CodeGen/Hexagon/swp-badorder.ll
    M llvm/test/CodeGen/Hexagon/swp-carried-1.ll
    M llvm/test/CodeGen/Hexagon/swp-chain-refs.ll
    M llvm/test/CodeGen/Hexagon/swp-change-dep-cycle.ll
    M llvm/test/CodeGen/Hexagon/swp-change-dep.ll
    M llvm/test/CodeGen/Hexagon/swp-change-dep1.ll
    M llvm/test/CodeGen/Hexagon/swp-change-deps.ll
    M llvm/test/CodeGen/Hexagon/swp-check-offset.ll
    M llvm/test/CodeGen/Hexagon/swp-const-tc.ll
    M llvm/test/CodeGen/Hexagon/swp-const-tc1.ll
    M llvm/test/CodeGen/Hexagon/swp-const-tc2.ll
    M llvm/test/CodeGen/Hexagon/swp-const-tc3.ll
    M llvm/test/CodeGen/Hexagon/swp-conv3x3-nested.ll
    M llvm/test/CodeGen/Hexagon/swp-copytophi-dag.ll
    M llvm/test/CodeGen/Hexagon/swp-crash-iter.ll
    M llvm/test/CodeGen/Hexagon/swp-cse-phi.ll
    M llvm/test/CodeGen/Hexagon/swp-dag-phi.ll
    M llvm/test/CodeGen/Hexagon/swp-dag-phi1.ll
    M llvm/test/CodeGen/Hexagon/swp-dead-regseq.ll
    M llvm/test/CodeGen/Hexagon/swp-dep-neg-offset.ll
    M llvm/test/CodeGen/Hexagon/swp-disable-Os.ll
    M llvm/test/CodeGen/Hexagon/swp-epilog-numphis.ll
    M llvm/test/CodeGen/Hexagon/swp-epilog-phi10.ll
    M llvm/test/CodeGen/Hexagon/swp-epilog-phi12.ll
    M llvm/test/CodeGen/Hexagon/swp-epilog-phi13.ll
    M llvm/test/CodeGen/Hexagon/swp-epilog-phi2.ll
    M llvm/test/CodeGen/Hexagon/swp-epilog-phi4.ll
    M llvm/test/CodeGen/Hexagon/swp-epilog-phi5.ll
    M llvm/test/CodeGen/Hexagon/swp-epilog-phi6.ll
    M llvm/test/CodeGen/Hexagon/swp-epilog-phi7.ll
    M llvm/test/CodeGen/Hexagon/swp-epilog-phi8.ll
    M llvm/test/CodeGen/Hexagon/swp-epilog-phi9.ll
    M llvm/test/CodeGen/Hexagon/swp-epilog-reuse-1.ll
    M llvm/test/CodeGen/Hexagon/swp-epilog-reuse.ll
    M llvm/test/CodeGen/Hexagon/swp-epilog-reuse2.ll
    M llvm/test/CodeGen/Hexagon/swp-epilog-reuse3.ll
    M llvm/test/CodeGen/Hexagon/swp-epilog-reuse4.ll
    M llvm/test/CodeGen/Hexagon/swp-exit-fixup.ll
    M llvm/test/CodeGen/Hexagon/swp-fix-last-use.ll
    M llvm/test/CodeGen/Hexagon/swp-fix-last-use1.ll
    M llvm/test/CodeGen/Hexagon/swp-intreglow8.ll
    M llvm/test/CodeGen/Hexagon/swp-kernel-last-use.ll
    M llvm/test/CodeGen/Hexagon/swp-kernel-phi1.ll
    M llvm/test/CodeGen/Hexagon/swp-large-rec.ll
    M llvm/test/CodeGen/Hexagon/swp-listen-loop3.ll
    M llvm/test/CodeGen/Hexagon/swp-loop-carried-crash.ll
    M llvm/test/CodeGen/Hexagon/swp-loop-carried-unknown.ll
    M llvm/test/CodeGen/Hexagon/swp-loop-carried.ll
    M llvm/test/CodeGen/Hexagon/swp-loopval.ll
    M llvm/test/CodeGen/Hexagon/swp-lots-deps.ll
    M llvm/test/CodeGen/Hexagon/swp-matmul-bitext.ll
    M llvm/test/CodeGen/Hexagon/swp-max-stage3.ll
    M llvm/test/CodeGen/Hexagon/swp-max.ll
    M llvm/test/CodeGen/Hexagon/swp-maxstart.ll
    M llvm/test/CodeGen/Hexagon/swp-memrefs-epilog.ll
    M llvm/test/CodeGen/Hexagon/swp-more-phi.ll
    M llvm/test/CodeGen/Hexagon/swp-multi-loops.ll
    M llvm/test/CodeGen/Hexagon/swp-multi-phi-refs.ll
    M llvm/test/CodeGen/Hexagon/swp-new-phi.ll
    M llvm/test/CodeGen/Hexagon/swp-node-order.ll
    M llvm/test/CodeGen/Hexagon/swp-order-carried.ll
    M llvm/test/CodeGen/Hexagon/swp-order-copies.ll
    M llvm/test/CodeGen/Hexagon/swp-order-deps1.ll
    M llvm/test/CodeGen/Hexagon/swp-order-deps3.ll
    M llvm/test/CodeGen/Hexagon/swp-order-deps4.ll
    M llvm/test/CodeGen/Hexagon/swp-order-deps5.ll
    M llvm/test/CodeGen/Hexagon/swp-order-deps6.ll
    M llvm/test/CodeGen/Hexagon/swp-order-deps7.ll
    M llvm/test/CodeGen/Hexagon/swp-order-prec.ll
    M llvm/test/CodeGen/Hexagon/swp-order.ll
    M llvm/test/CodeGen/Hexagon/swp-order1.ll
    M llvm/test/CodeGen/Hexagon/swp-phi-ch-offset.ll
    M llvm/test/CodeGen/Hexagon/swp-phi-chains.ll
    M llvm/test/CodeGen/Hexagon/swp-phi-def-use.ll
    M llvm/test/CodeGen/Hexagon/swp-phi-dep.ll
    M llvm/test/CodeGen/Hexagon/swp-phi-dep1.ll
    M llvm/test/CodeGen/Hexagon/swp-phi-order.ll
    M llvm/test/CodeGen/Hexagon/swp-phi-ref.ll
    M llvm/test/CodeGen/Hexagon/swp-phi-ref1.ll
    M llvm/test/CodeGen/Hexagon/swp-phi-start.ll
    M llvm/test/CodeGen/Hexagon/swp-phi.ll
    M llvm/test/CodeGen/Hexagon/swp-physreg.ll
    M llvm/test/CodeGen/Hexagon/swp-pragma-disable-bug.ll
    M llvm/test/CodeGen/Hexagon/swp-pragma-disable.ii
    M llvm/test/CodeGen/Hexagon/swp-pragma-initiation-interval-reset.ii
    M llvm/test/CodeGen/Hexagon/swp-pragma-initiation-interval.ii
    M llvm/test/CodeGen/Hexagon/swp-prolog-phi.ll
    M llvm/test/CodeGen/Hexagon/swp-prolog-phi4.ll
    M llvm/test/CodeGen/Hexagon/swp-regseq.ll
    M llvm/test/CodeGen/Hexagon/swp-remove-dep-ice.ll
    M llvm/test/CodeGen/Hexagon/swp-rename-dead-phi.ll
    M llvm/test/CodeGen/Hexagon/swp-rename.ll
    M llvm/test/CodeGen/Hexagon/swp-replace-uses1.ll
    M llvm/test/CodeGen/Hexagon/swp-resmii-1.ll
    M llvm/test/CodeGen/Hexagon/swp-resmii.ll
    M llvm/test/CodeGen/Hexagon/swp-reuse-phi-1.ll
    M llvm/test/CodeGen/Hexagon/swp-reuse-phi-2.ll
    M llvm/test/CodeGen/Hexagon/swp-reuse-phi-4.ll
    M llvm/test/CodeGen/Hexagon/swp-reuse-phi-5.ll
    M llvm/test/CodeGen/Hexagon/swp-reuse-phi-6.ll
    M llvm/test/CodeGen/Hexagon/swp-reuse-phi.ll
    M llvm/test/CodeGen/Hexagon/swp-sigma.ll
    M llvm/test/CodeGen/Hexagon/swp-stages.ll
    M llvm/test/CodeGen/Hexagon/swp-stages3.ll
    M llvm/test/CodeGen/Hexagon/swp-stages4.ll
    M llvm/test/CodeGen/Hexagon/swp-stages5.ll
    M llvm/test/CodeGen/Hexagon/swp-subreg.ll
    M llvm/test/CodeGen/Hexagon/swp-swap.ll
    M llvm/test/CodeGen/Hexagon/swp-tfri.ll
    M llvm/test/CodeGen/Hexagon/swp-vect-dotprod.ll
    M llvm/test/CodeGen/Hexagon/swp-vmult.ll
    M llvm/test/CodeGen/Hexagon/swp-vsum.ll
    M llvm/test/CodeGen/Hexagon/swp-ws-dead-def.mir
    M llvm/test/CodeGen/Hexagon/swp-ws-exp-dbg.mir
    M llvm/test/CodeGen/Hexagon/swp-ws-exp.mir
    M llvm/test/CodeGen/Hexagon/swp-ws-fail-0.mir
    M llvm/test/CodeGen/Hexagon/swp-ws-fail-1.mir
    M llvm/test/CodeGen/Hexagon/swp-ws-fail-2.mir
    M llvm/test/CodeGen/Hexagon/swp-ws-fail-3.mir
    M llvm/test/CodeGen/Hexagon/swp-ws-live-intervals.mir
    M llvm/test/CodeGen/Hexagon/swp-ws-meta-instr.mir
    M llvm/test/CodeGen/Hexagon/swp-ws-phi.mir
    M llvm/test/CodeGen/Hexagon/swp-ws-pragma-initiation-interval-fail.mir
    M llvm/test/CodeGen/Hexagon/swp-ws-resource-reserve.mir
    M llvm/test/CodeGen/Hexagon/swp-ws-sqrt.mir
    M llvm/test/CodeGen/Hexagon/swp-ws-stall-cycle.mir
    M llvm/test/CodeGen/Hexagon/swp-ws-weak-dep.mir
    M llvm/test/CodeGen/Hexagon/swp-ws-zero-cost.mir
    M llvm/test/CodeGen/Hexagon/swp-xxh2.ll
    M llvm/test/CodeGen/Hexagon/tail-call-mem-intrinsics.ll
    M llvm/test/CodeGen/Hexagon/tail-call-trunc.ll
    M llvm/test/CodeGen/Hexagon/tail-dup-subreg-abort.ll
    M llvm/test/CodeGen/Hexagon/tail-dup-subreg-map.ll
    M llvm/test/CodeGen/Hexagon/tailcall_fastcc_ccc.ll
    M llvm/test/CodeGen/Hexagon/target-flag-ext.mir
    M llvm/test/CodeGen/Hexagon/tc_duplex.ll
    M llvm/test/CodeGen/Hexagon/tc_sched.ll
    M llvm/test/CodeGen/Hexagon/tc_sched1.ll
    M llvm/test/CodeGen/Hexagon/tcm-zext.ll
    M llvm/test/CodeGen/Hexagon/testbits.ll
    M llvm/test/CodeGen/Hexagon/tfr-cleanup.ll
    M llvm/test/CodeGen/Hexagon/tfr-mux-nvj.ll
    M llvm/test/CodeGen/Hexagon/tfr-to-combine.ll
    M llvm/test/CodeGen/Hexagon/tied_oper.ll
    M llvm/test/CodeGen/Hexagon/tiny_bkfir_artdeps.ll
    M llvm/test/CodeGen/Hexagon/tiny_bkfir_loop_align.ll
    M llvm/test/CodeGen/Hexagon/tinycore.ll
    M llvm/test/CodeGen/Hexagon/tls_gd.ll
    M llvm/test/CodeGen/Hexagon/tls_pic.ll
    M llvm/test/CodeGen/Hexagon/trap-crash.ll
    M llvm/test/CodeGen/Hexagon/trap-unreachable.ll
    M llvm/test/CodeGen/Hexagon/trivialmemaliascheck.ll
    M llvm/test/CodeGen/Hexagon/trunc-mpy.ll
    M llvm/test/CodeGen/Hexagon/two-crash.ll
    M llvm/test/CodeGen/Hexagon/twoaddressbug.ll
    M llvm/test/CodeGen/Hexagon/undef-ret.ll
    M llvm/test/CodeGen/Hexagon/undo-dag-shift.ll
    M llvm/test/CodeGen/Hexagon/union-1.ll
    M llvm/test/CodeGen/Hexagon/unordered-fcmp.ll
    M llvm/test/CodeGen/Hexagon/unreachable-mbb-phi-subreg.mir
    M llvm/test/CodeGen/Hexagon/upper-mpy.ll
    M llvm/test/CodeGen/Hexagon/v5_insns.ll
    M llvm/test/CodeGen/Hexagon/v6-haar-balign32.ll
    M llvm/test/CodeGen/Hexagon/v6-inlasm1.ll
    M llvm/test/CodeGen/Hexagon/v6-inlasm2.ll
    M llvm/test/CodeGen/Hexagon/v6-inlasm3.ll
    M llvm/test/CodeGen/Hexagon/v6-inlasm4.ll
    M llvm/test/CodeGen/Hexagon/v6-shuffl.ll
    M llvm/test/CodeGen/Hexagon/v6-spill1.ll
    M llvm/test/CodeGen/Hexagon/v6-unaligned-spill.ll
    M llvm/test/CodeGen/Hexagon/v6-vecpred-copy.ll
    M llvm/test/CodeGen/Hexagon/v60-align.ll
    M llvm/test/CodeGen/Hexagon/v60-cur.ll
    M llvm/test/CodeGen/Hexagon/v60-haar-postinc.ll
    M llvm/test/CodeGen/Hexagon/v60-halide-vcombinei8.ll
    M llvm/test/CodeGen/Hexagon/v60-vec-128b-1.ll
    M llvm/test/CodeGen/Hexagon/v60-vecpred-spill.ll
    M llvm/test/CodeGen/Hexagon/v60-vsel1.ll
    M llvm/test/CodeGen/Hexagon/v60-vsel2.ll
    M llvm/test/CodeGen/Hexagon/v60Intrins.ll
    M llvm/test/CodeGen/Hexagon/v60Vasr.ll
    M llvm/test/CodeGen/Hexagon/v60_Q6_P_rol_PI.ll
    M llvm/test/CodeGen/Hexagon/v60_sort16.ll
    M llvm/test/CodeGen/Hexagon/v60rol-instrs.ll
    M llvm/test/CodeGen/Hexagon/v60small.ll
    M llvm/test/CodeGen/Hexagon/v62-CJAllSlots.ll
    M llvm/test/CodeGen/Hexagon/v62-inlasm4.ll
    M llvm/test/CodeGen/Hexagon/v6vassignp.ll
    M llvm/test/CodeGen/Hexagon/v6vec-vmemcur-prob.mir
    M llvm/test/CodeGen/Hexagon/v6vec-vmemu1.ll
    M llvm/test/CodeGen/Hexagon/v6vec-vmemu2.ll
    M llvm/test/CodeGen/Hexagon/v6vec-vprint.ll
    M llvm/test/CodeGen/Hexagon/v6vec-vshuff.ll
    M llvm/test/CodeGen/Hexagon/v6vec_inc1.ll
    M llvm/test/CodeGen/Hexagon/v6vec_zero.ll
    M llvm/test/CodeGen/Hexagon/v6vect-dbl-fail1.ll
    M llvm/test/CodeGen/Hexagon/v6vect-dbl-spill.ll
    M llvm/test/CodeGen/Hexagon/v6vect-dbl.ll
    M llvm/test/CodeGen/Hexagon/v6vect-dh1.ll
    M llvm/test/CodeGen/Hexagon/v6vect-locals1.ll
    M llvm/test/CodeGen/Hexagon/v6vect-no-sideeffects.ll
    M llvm/test/CodeGen/Hexagon/v6vect-pred2.ll
    M llvm/test/CodeGen/Hexagon/v6vect-spill-kill.ll
    M llvm/test/CodeGen/Hexagon/v6vect-vmem1.ll
    M llvm/test/CodeGen/Hexagon/v6vect-vsplat.ll
    M llvm/test/CodeGen/Hexagon/vacopy.ll
    M llvm/test/CodeGen/Hexagon/vadd1.ll
    M llvm/test/CodeGen/Hexagon/vaddh.ll
    M llvm/test/CodeGen/Hexagon/validate-offset.ll
    M llvm/test/CodeGen/Hexagon/vararg-deallocate-sp.ll
    M llvm/test/CodeGen/Hexagon/vararg-formal.ll
    M llvm/test/CodeGen/Hexagon/vararg-linux-abi.ll
    M llvm/test/CodeGen/Hexagon/vararg.ll
    M llvm/test/CodeGen/Hexagon/vararg_align_check.ll
    M llvm/test/CodeGen/Hexagon/vararg_double_onstack.ll
    M llvm/test/CodeGen/Hexagon/vararg_named.ll
    M llvm/test/CodeGen/Hexagon/varargs-memv.ll
    M llvm/test/CodeGen/Hexagon/vassign-to-combine.ll
    M llvm/test/CodeGen/Hexagon/vcombine128_to_req_seq.ll
    M llvm/test/CodeGen/Hexagon/vcombine_subreg.ll
    M llvm/test/CodeGen/Hexagon/vcombine_to_req_seq.ll
    M llvm/test/CodeGen/Hexagon/vdmpy-halide-test.ll
    M llvm/test/CodeGen/Hexagon/vdotprod.ll
    M llvm/test/CodeGen/Hexagon/vec-align.ll
    M llvm/test/CodeGen/Hexagon/vec-call-full1.ll
    M llvm/test/CodeGen/Hexagon/vec-pred-spill1.ll
    M llvm/test/CodeGen/Hexagon/vec-vararg-align.ll
    M llvm/test/CodeGen/Hexagon/vecPred2Vec.ll
    M llvm/test/CodeGen/Hexagon/vect-any_extend.ll
    M llvm/test/CodeGen/Hexagon/vect-dbl-post-inc.ll
    M llvm/test/CodeGen/Hexagon/vect-downscale.ll
    M llvm/test/CodeGen/Hexagon/vect-set_cc_v2i32.ll
    M llvm/test/CodeGen/Hexagon/vect-vd0.ll
    M llvm/test/CodeGen/Hexagon/vect-zero_extend.ll
    M llvm/test/CodeGen/Hexagon/vect/bit4x8.ll
    M llvm/test/CodeGen/Hexagon/vect/build-vect64.ll
    M llvm/test/CodeGen/Hexagon/vect/extract-elt-vNi1.ll
    M llvm/test/CodeGen/Hexagon/vect/extract-v4i1.ll
    M llvm/test/CodeGen/Hexagon/vect/setcc-not.ll
    M llvm/test/CodeGen/Hexagon/vect/setcc-v2i32.ll
    M llvm/test/CodeGen/Hexagon/vect/setcc-v32.ll
    M llvm/test/CodeGen/Hexagon/vect/shuff-32.ll
    M llvm/test/CodeGen/Hexagon/vect/shuff-64.ll
    M llvm/test/CodeGen/Hexagon/vect/vect-anyextend.ll
    M llvm/test/CodeGen/Hexagon/vect/vect-apint-truncate.ll
    M llvm/test/CodeGen/Hexagon/vect/vect-bad-bitcast.ll
    M llvm/test/CodeGen/Hexagon/vect/vect-bitcast-1.ll
    M llvm/test/CodeGen/Hexagon/vect/vect-bitcast.ll
    M llvm/test/CodeGen/Hexagon/vect/vect-bool-basic-compile.ll
    M llvm/test/CodeGen/Hexagon/vect/vect-bool-isel-crash.ll
    M llvm/test/CodeGen/Hexagon/vect/vect-cst-v4i32.ll
    M llvm/test/CodeGen/Hexagon/vect/vect-cst-v4i8.ll
    M llvm/test/CodeGen/Hexagon/vect/vect-cst.ll
    M llvm/test/CodeGen/Hexagon/vect/vect-extract-i1-debug.ll
    M llvm/test/CodeGen/Hexagon/vect/vect-extract-i1.ll
    M llvm/test/CodeGen/Hexagon/vect/vect-extract.ll
    M llvm/test/CodeGen/Hexagon/vect/vect-fma.ll
    M llvm/test/CodeGen/Hexagon/vect/vect-illegal-type.ll
    M llvm/test/CodeGen/Hexagon/vect/vect-infloop.ll
    M llvm/test/CodeGen/Hexagon/vect/vect-insert-extract-elt.ll
    M llvm/test/CodeGen/Hexagon/vect/vect-load-1.ll
    M llvm/test/CodeGen/Hexagon/vect/vect-load-v4i16.ll
    M llvm/test/CodeGen/Hexagon/vect/vect-load.ll
    M llvm/test/CodeGen/Hexagon/vect/vect-mul-v2i16.ll
    M llvm/test/CodeGen/Hexagon/vect/vect-mul-v2i32.ll
    M llvm/test/CodeGen/Hexagon/vect/vect-mul-v4i16.ll
    M llvm/test/CodeGen/Hexagon/vect/vect-mul-v4i8.ll
    M llvm/test/CodeGen/Hexagon/vect/vect-mul-v8i8.ll
    M llvm/test/CodeGen/Hexagon/vect/vect-no-tfrs-1.ll
    M llvm/test/CodeGen/Hexagon/vect/vect-no-tfrs.ll
    M llvm/test/CodeGen/Hexagon/vect/vect-shift-imm.ll
    M llvm/test/CodeGen/Hexagon/vect/vect-shifts.ll
    M llvm/test/CodeGen/Hexagon/vect/vect-shuffle.ll
    M llvm/test/CodeGen/Hexagon/vect/vect-splat.ll
    M llvm/test/CodeGen/Hexagon/vect/vect-store-v2i16.ll
    M llvm/test/CodeGen/Hexagon/vect/vect-truncate.ll
    M llvm/test/CodeGen/Hexagon/vect/vect-v4i16.ll
    M llvm/test/CodeGen/Hexagon/vect/vect-vaddb-1.ll
    M llvm/test/CodeGen/Hexagon/vect/vect-vaddb.ll
    M llvm/test/CodeGen/Hexagon/vect/vect-vaddh-1.ll
    M llvm/test/CodeGen/Hexagon/vect/vect-vaddh.ll
    M llvm/test/CodeGen/Hexagon/vect/vect-vaddw.ll
    M llvm/test/CodeGen/Hexagon/vect/vect-vaslw.ll
    M llvm/test/CodeGen/Hexagon/vect/vect-vshifts.ll
    M llvm/test/CodeGen/Hexagon/vect/vect-vsplatb.ll
    M llvm/test/CodeGen/Hexagon/vect/vect-vsplath.ll
    M llvm/test/CodeGen/Hexagon/vect/vect-vsubb-1.ll
    M llvm/test/CodeGen/Hexagon/vect/vect-vsubb.ll
    M llvm/test/CodeGen/Hexagon/vect/vect-vsubh-1.ll
    M llvm/test/CodeGen/Hexagon/vect/vect-vsubh.ll
    M llvm/test/CodeGen/Hexagon/vect/vect-vsubw.ll
    M llvm/test/CodeGen/Hexagon/vect/vect-xor.ll
    M llvm/test/CodeGen/Hexagon/vect/vect-zeroextend.ll
    M llvm/test/CodeGen/Hexagon/vect/vsplat-v8i8.ll
    M llvm/test/CodeGen/Hexagon/vect/zext-v4i1.ll
    M llvm/test/CodeGen/Hexagon/vect_setcc.ll
    M llvm/test/CodeGen/Hexagon/vect_setcc_v2i16.ll
    M llvm/test/CodeGen/Hexagon/vector-align.ll
    M llvm/test/CodeGen/Hexagon/vector-ext-load.ll
    M llvm/test/CodeGen/Hexagon/vector-sint-to-fp.ll
    M llvm/test/CodeGen/Hexagon/vector-zext-v4i8.ll
    M llvm/test/CodeGen/Hexagon/verify-liveness-at-def.mir
    M llvm/test/CodeGen/Hexagon/verify-sink-code.ll
    M llvm/test/CodeGen/Hexagon/verify-undef.ll
    M llvm/test/CodeGen/Hexagon/vextract-basic.mir
    M llvm/test/CodeGen/Hexagon/vgather-opt-addr.ll
    M llvm/test/CodeGen/Hexagon/vgather-packetize.mir
    M llvm/test/CodeGen/Hexagon/vload-postinc-sel.ll
    M llvm/test/CodeGen/Hexagon/vmemu-128.ll
    M llvm/test/CodeGen/Hexagon/vmpa-halide-test.ll
    M llvm/test/CodeGen/Hexagon/vpack_eo.ll
    M llvm/test/CodeGen/Hexagon/vselect-pseudo.ll
    M llvm/test/CodeGen/Hexagon/vsplat-ext.ll
    M llvm/test/CodeGen/Hexagon/vsplat-isel.ll
    M llvm/test/CodeGen/Hexagon/wcsrtomb.ll
    M llvm/test/CodeGen/Hexagon/widen-alias.ll
    M llvm/test/CodeGen/Hexagon/widen-not-load.ll
    M llvm/test/CodeGen/Hexagon/widen-volatile.ll
    M llvm/test/CodeGen/Hexagon/zextloadi1.ll
    M llvm/test/CodeGen/MIR/Hexagon/addrmode-opt-nonreaching.mir
    M llvm/test/CodeGen/MIR/Hexagon/parse-lane-masks.mir
    M llvm/test/CodeGen/MIR/Hexagon/target-flags.mir
    M llvm/test/MC/Hexagon/extended_relocations.ll

  Log Message:
  -----------
  [Hexagon,test] Change llc -march= to -mtriple=

Similar to 806761a7629df268c8aed49657aeccffa6bca449

-mtriple= specifies the full target triple while -march= merely sets the
architecture part of the default target triple, leaving a target triple which
may not make sense.

Therefore, -march= is error-prone and not recommended for tests without a target
triple. The issue has been benign as we recognize $unknown-apple-darwin as ELF instead
of rejecting it outrightly.


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

  Changed paths:
    M llvm/test/CodeGen/VE/Packed/vec_fneg.ll
    M llvm/test/CodeGen/VE/Packed/vp_add.ll
    M llvm/test/CodeGen/VE/Packed/vp_and.ll
    M llvm/test/CodeGen/VE/Packed/vp_fadd.ll
    M llvm/test/CodeGen/VE/Packed/vp_fdiv.ll
    M llvm/test/CodeGen/VE/Packed/vp_fmul.ll
    M llvm/test/CodeGen/VE/Packed/vp_fsub.ll
    M llvm/test/CodeGen/VE/Packed/vp_mul.ll
    M llvm/test/CodeGen/VE/Packed/vp_or.ll
    M llvm/test/CodeGen/VE/Packed/vp_sdiv.ll
    M llvm/test/CodeGen/VE/Packed/vp_shl.ll
    M llvm/test/CodeGen/VE/Packed/vp_sra.ll
    M llvm/test/CodeGen/VE/Packed/vp_srl.ll
    M llvm/test/CodeGen/VE/Packed/vp_sub.ll
    M llvm/test/CodeGen/VE/Packed/vp_udiv.ll
    M llvm/test/CodeGen/VE/Packed/vp_xor.ll
    M llvm/test/CodeGen/VE/Vector/expand_single_elem_build_vec.ll
    M llvm/test/CodeGen/VE/Vector/feature_vpu.ll
    M llvm/test/CodeGen/VE/Vector/vec_fma.ll
    M llvm/test/CodeGen/VE/Vector/vec_fneg.ll
    M llvm/test/CodeGen/VE/Vector/vec_reduce_add.ll
    M llvm/test/CodeGen/VE/Vector/vec_reduce_and.ll
    M llvm/test/CodeGen/VE/Vector/vec_reduce_or.ll
    M llvm/test/CodeGen/VE/Vector/vec_reduce_smax.ll
    M llvm/test/CodeGen/VE/Vector/vec_reduce_xor.ll
    M llvm/test/CodeGen/VE/Vector/vec_select.ll
    M llvm/test/CodeGen/VE/Vector/vp_add.ll
    M llvm/test/CodeGen/VE/Vector/vp_and.ll
    M llvm/test/CodeGen/VE/Vector/vp_ashr.ll
    M llvm/test/CodeGen/VE/Vector/vp_fadd.ll
    M llvm/test/CodeGen/VE/Vector/vp_fadd_merge.ll
    M llvm/test/CodeGen/VE/Vector/vp_fdiv.ll
    M llvm/test/CodeGen/VE/Vector/vp_fdiv_merge.ll
    M llvm/test/CodeGen/VE/Vector/vp_fma.ll
    M llvm/test/CodeGen/VE/Vector/vp_fma_merge.ll
    M llvm/test/CodeGen/VE/Vector/vp_fmul.ll
    M llvm/test/CodeGen/VE/Vector/vp_fmul_merge.ll
    M llvm/test/CodeGen/VE/Vector/vp_fsub.ll
    M llvm/test/CodeGen/VE/Vector/vp_fsub_merge.ll
    M llvm/test/CodeGen/VE/Vector/vp_lshr.ll
    M llvm/test/CodeGen/VE/Vector/vp_merge.ll
    M llvm/test/CodeGen/VE/Vector/vp_mul.ll
    M llvm/test/CodeGen/VE/Vector/vp_or.ll
    M llvm/test/CodeGen/VE/Vector/vp_reduce_add.ll
    M llvm/test/CodeGen/VE/Vector/vp_reduce_and.ll
    M llvm/test/CodeGen/VE/Vector/vp_reduce_or.ll
    M llvm/test/CodeGen/VE/Vector/vp_reduce_smax.ll
    M llvm/test/CodeGen/VE/Vector/vp_reduce_xor.ll
    M llvm/test/CodeGen/VE/Vector/vp_sdiv.ll
    M llvm/test/CodeGen/VE/Vector/vp_select.ll
    M llvm/test/CodeGen/VE/Vector/vp_shl.ll
    M llvm/test/CodeGen/VE/Vector/vp_sra.ll
    M llvm/test/CodeGen/VE/Vector/vp_srem.ll
    M llvm/test/CodeGen/VE/Vector/vp_srl.ll
    M llvm/test/CodeGen/VE/Vector/vp_sub.ll
    M llvm/test/CodeGen/VE/Vector/vp_udiv.ll
    M llvm/test/CodeGen/VE/Vector/vp_urem.ll
    M llvm/test/CodeGen/VE/Vector/vp_xor.ll
    M llvm/test/CodeGen/VE/null-mctargetstreamer.ll

  Log Message:
  -----------
  [VE,test] Change llc -march= to -mtriple=

Similar to 806761a7629df268c8aed49657aeccffa6bca449

-mtriple= specifies the full target triple while -march= merely sets the
architecture part of the default target triple, leaving a target triple which
may not make sense.

Therefore, -march= is error-prone and not recommended for tests without a target
triple. The issue has been benign as we recognize $ve-apple-darwin as ELF instead
of rejecting it outrightly.


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

  Changed paths:
    M llvm/test/CodeGen/AVR/PR31344.ll
    M llvm/test/CodeGen/AVR/PR31345.ll
    M llvm/test/CodeGen/AVR/PR37143.ll
    M llvm/test/CodeGen/AVR/add.ll
    M llvm/test/CodeGen/AVR/alloca.ll
    M llvm/test/CodeGen/AVR/and.ll
    M llvm/test/CodeGen/AVR/atomics/fence.ll
    M llvm/test/CodeGen/AVR/atomics/load-store-16-unexpected-register-bug.ll
    M llvm/test/CodeGen/AVR/atomics/load16.ll
    M llvm/test/CodeGen/AVR/atomics/load32.ll
    M llvm/test/CodeGen/AVR/atomics/load64.ll
    M llvm/test/CodeGen/AVR/atomics/load8.ll
    M llvm/test/CodeGen/AVR/atomics/store.ll
    M llvm/test/CodeGen/AVR/atomics/store16.ll
    M llvm/test/CodeGen/AVR/atomics/swap.ll
    M llvm/test/CodeGen/AVR/avr-rust-issue-123.ll
    M llvm/test/CodeGen/AVR/block-address-is-in-progmem-space.ll
    M llvm/test/CodeGen/AVR/branch-relaxation-long.ll
    M llvm/test/CodeGen/AVR/branch-relaxation.ll
    M llvm/test/CodeGen/AVR/brind.ll
    M llvm/test/CodeGen/AVR/calling-conv/c/call.ll
    M llvm/test/CodeGen/AVR/calling-conv/c/call_aggr.ll
    M llvm/test/CodeGen/AVR/calling-conv/c/return.ll
    M llvm/test/CodeGen/AVR/calling-conv/c/return_aggr.ll
    M llvm/test/CodeGen/AVR/clear-bss.ll
    M llvm/test/CodeGen/AVR/cmp.ll
    M llvm/test/CodeGen/AVR/copy-data-to-ram.ll
    M llvm/test/CodeGen/AVR/ctlz.ll
    M llvm/test/CodeGen/AVR/ctpop.ll
    M llvm/test/CodeGen/AVR/cttz.ll
    M llvm/test/CodeGen/AVR/directmem.ll
    M llvm/test/CodeGen/AVR/div.ll
    M llvm/test/CodeGen/AVR/dynalloca.ll
    M llvm/test/CodeGen/AVR/eor.ll
    M llvm/test/CodeGen/AVR/expand-integer-failure.ll
    M llvm/test/CodeGen/AVR/features/avr25.ll
    M llvm/test/CodeGen/AVR/features/xmega_io.ll
    M llvm/test/CodeGen/AVR/frame.ll
    M llvm/test/CodeGen/AVR/frmidx-iterator-bug.ll
    M llvm/test/CodeGen/AVR/high-pressure-on-ptrregs.ll
    M llvm/test/CodeGen/AVR/icall-func-pointer-correct-addr-space.ll
    M llvm/test/CodeGen/AVR/impossible-reg-to-reg-copy.ll
    M llvm/test/CodeGen/AVR/inline-asm/inline-asm.ll
    M llvm/test/CodeGen/AVR/inline-asm/inline-asm2.ll
    M llvm/test/CodeGen/AVR/integration/blink.ll
    M llvm/test/CodeGen/AVR/interrupts.ll
    M llvm/test/CodeGen/AVR/intrinsics/named-reg-alloc.ll
    M llvm/test/CodeGen/AVR/intrinsics/named-reg-special.ll
    M llvm/test/CodeGen/AVR/intrinsics/stacksave-restore.ll
    M llvm/test/CodeGen/AVR/io.ll
    M llvm/test/CodeGen/AVR/issue-cannot-select-bswap.ll
    M llvm/test/CodeGen/AVR/issue-regalloc-stackframe-folding-earlyclobber.ll
    M llvm/test/CodeGen/AVR/large-return-size.ll
    M llvm/test/CodeGen/AVR/ldd-immediate-overflow.ll
    M llvm/test/CodeGen/AVR/load.ll
    M llvm/test/CodeGen/AVR/lower-formal-args-struct-return.ll
    M llvm/test/CodeGen/AVR/lower-formal-arguments-assertion.ll
    M llvm/test/CodeGen/AVR/no-clear-bss.ll
    M llvm/test/CodeGen/AVR/no-copy-data.ll
    M llvm/test/CodeGen/AVR/no-print-operand-twice.ll
    M llvm/test/CodeGen/AVR/or.ll
    M llvm/test/CodeGen/AVR/pre-schedule.ll
    M llvm/test/CodeGen/AVR/progmem-extended.ll
    M llvm/test/CodeGen/AVR/progmem.ll
    M llvm/test/CodeGen/AVR/pseudo/LDDWRdYQ.mir
    M llvm/test/CodeGen/AVR/rem.ll
    M llvm/test/CodeGen/AVR/runtime-trig.ll
    M llvm/test/CodeGen/AVR/rust-avr-bug-112.ll
    M llvm/test/CodeGen/AVR/rust-avr-bug-37.ll
    M llvm/test/CodeGen/AVR/rust-avr-bug-95.ll
    M llvm/test/CodeGen/AVR/rust-avr-bug-99.ll
    M llvm/test/CodeGen/AVR/rust-bug-98167.ll
    M llvm/test/CodeGen/AVR/select-must-add-unconditional-jump.ll
    M llvm/test/CodeGen/AVR/sext.ll
    M llvm/test/CodeGen/AVR/shift.ll
    M llvm/test/CodeGen/AVR/sign-extension.ll
    M llvm/test/CodeGen/AVR/smul-with-overflow.ll
    M llvm/test/CodeGen/AVR/software-mul.ll
    M llvm/test/CodeGen/AVR/std-immediate-overflow.ll
    M llvm/test/CodeGen/AVR/std-ldd-immediate-overflow.ll
    M llvm/test/CodeGen/AVR/stdwstk.ll
    M llvm/test/CodeGen/AVR/store-undef.ll
    M llvm/test/CodeGen/AVR/store.ll
    M llvm/test/CodeGen/AVR/sub.ll
    M llvm/test/CodeGen/AVR/trunc.ll
    M llvm/test/CodeGen/AVR/umul-with-overflow.ll
    M llvm/test/CodeGen/AVR/umul.with.overflow.i16-bug.ll
    M llvm/test/CodeGen/AVR/unaligned-atomic-ops.ll
    M llvm/test/CodeGen/AVR/varargs.ll
    M llvm/test/CodeGen/AVR/xor.ll
    M llvm/test/CodeGen/AVR/zeroreg.ll
    M llvm/test/CodeGen/AVR/zext.ll

  Log Message:
  -----------
  [AVR,test] Change llc -march= to -mtriple=

Similar to 806761a7629df268c8aed49657aeccffa6bca449

-mtriple= specifies the full target triple while -march= merely sets the
architecture part of the default target triple, leaving a target triple which
may not make sense.

Therefore, -march= is error-prone and not recommended for tests without a target
triple. The issue has been benign as we recognize avr-apple-darwin as ELF instead
of rejecting it outrightly.


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

  Changed paths:
    M llvm/test/CodeGen/SPARC/2006-01-22-BitConvertLegalize.ll
    M llvm/test/CodeGen/SPARC/2007-05-09-JumpTables.ll
    M llvm/test/CodeGen/SPARC/2007-07-05-LiveIntervalAssert.ll
    M llvm/test/CodeGen/SPARC/2008-10-10-InlineAsmMemoryOperand.ll
    M llvm/test/CodeGen/SPARC/2008-10-10-InlineAsmRegOperand.ll
    M llvm/test/CodeGen/SPARC/2009-08-28-PIC.ll
    M llvm/test/CodeGen/SPARC/2009-08-28-WeakLinkage.ll
    M llvm/test/CodeGen/SPARC/2011-01-11-CC.ll
    M llvm/test/CodeGen/SPARC/2011-01-11-Call.ll
    M llvm/test/CodeGen/SPARC/2011-01-11-FrameAddr.ll
    M llvm/test/CodeGen/SPARC/2011-01-19-DelaySlot.ll
    M llvm/test/CodeGen/SPARC/2011-01-21-ByValArgs.ll
    M llvm/test/CodeGen/SPARC/2011-01-22-SRet.ll
    M llvm/test/CodeGen/SPARC/2011-12-03-TailDuplication.ll
    M llvm/test/CodeGen/SPARC/2013-05-17-CallFrame.ll
    M llvm/test/CodeGen/SPARC/32abi.ll
    M llvm/test/CodeGen/SPARC/64abi.ll
    M llvm/test/CodeGen/SPARC/64atomics.ll
    M llvm/test/CodeGen/SPARC/64bit.ll
    M llvm/test/CodeGen/SPARC/64spill.ll
    M llvm/test/CodeGen/SPARC/DbgValueOtherTargets.test
    M llvm/test/CodeGen/SPARC/LeonCASAInstructionUT.ll
    M llvm/test/CodeGen/SPARC/LeonDetectRoundChangePassUT.ll
    M llvm/test/CodeGen/SPARC/LeonFixAllFDIVSQRTPassUT.ll
    M llvm/test/CodeGen/SPARC/LeonInsertNOPLoadPassUT.ll
    M llvm/test/CodeGen/SPARC/LeonItinerariesUT.ll
    M llvm/test/CodeGen/SPARC/LeonSMACUMACInstructionUT.ll
    M llvm/test/CodeGen/SPARC/alloca-align.ll
    M llvm/test/CodeGen/SPARC/atomicrmw-uinc-udec-wrap.ll
    M llvm/test/CodeGen/SPARC/atomics.ll
    M llvm/test/CodeGen/SPARC/basictest.ll
    M llvm/test/CodeGen/SPARC/cast-sret-func.ll
    M llvm/test/CodeGen/SPARC/ctpop.ll
    M llvm/test/CodeGen/SPARC/cttz.ll
    M llvm/test/CodeGen/SPARC/data-align.ll
    M llvm/test/CodeGen/SPARC/disable-fsmuld-fmuls.ll
    M llvm/test/CodeGen/SPARC/float-constants.ll
    M llvm/test/CodeGen/SPARC/float.ll
    M llvm/test/CodeGen/SPARC/fp128.ll
    M llvm/test/CodeGen/SPARC/inlineasm-bad.ll
    M llvm/test/CodeGen/SPARC/inlineasm-v9.ll
    M llvm/test/CodeGen/SPARC/inlineasm.ll
    M llvm/test/CodeGen/SPARC/leafproc.ll
    M llvm/test/CodeGen/SPARC/mult-alt-generic-sparc.ll
    M llvm/test/CodeGen/SPARC/multiple-div.ll
    M llvm/test/CodeGen/SPARC/parts.ll
    M llvm/test/CodeGen/SPARC/private.ll
    M llvm/test/CodeGen/SPARC/readcycle.ll
    M llvm/test/CodeGen/SPARC/reg64.ll
    M llvm/test/CodeGen/SPARC/register-clobber.ll
    M llvm/test/CodeGen/SPARC/reserved-regs.ll
    M llvm/test/CodeGen/SPARC/salvage-debug-isel.ll
    M llvm/test/CodeGen/SPARC/select-mask.ll
    M llvm/test/CodeGen/SPARC/setjmp.ll
    M llvm/test/CodeGen/SPARC/soft-float.ll
    M llvm/test/CodeGen/SPARC/soft-mul-div.ll
    M llvm/test/CodeGen/SPARC/spill.ll
    M llvm/test/CodeGen/SPARC/sret-secondary.ll
    M llvm/test/CodeGen/SPARC/stack-align.ll
    M llvm/test/CodeGen/SPARC/tn0009.mir
    M llvm/test/CodeGen/SPARC/tn0010.mir
    M llvm/test/CodeGen/SPARC/tn0012.mir
    M llvm/test/CodeGen/SPARC/tn0013.mir
    M llvm/test/CodeGen/SPARC/vector-call.ll
    M llvm/test/CodeGen/SPARC/vector-extract-elt.ll
    M llvm/test/CodeGen/SPARC/zerostructcall.ll

  Log Message:
  -----------
  [Sparc,test] Change llc -march= to -mtriple=

Similar to 806761a7629df268c8aed49657aeccffa6bca449

-mtriple= specifies the full target triple while -march= merely sets the
architecture part of the default target triple (e.g. Windows, macOS),
leaving a target triple which may not make sense.

Therefore, -march= is error-prone and not recommended for tests without a target
triple. The issue has been benign as we recognize sparc*-apple-darwin as ELF instead
of rejecting it outrightly.


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

  Changed paths:
    M llvm/test/CodeGen/XCore/2008-11-17-Shl64.ll
    M llvm/test/CodeGen/XCore/2009-01-08-Crash.ll
    M llvm/test/CodeGen/XCore/2009-01-14-Remat-Crash.ll
    M llvm/test/CodeGen/XCore/2009-03-27-v2f64-param.ll
    M llvm/test/CodeGen/XCore/2009-07-15-store192.ll
    M llvm/test/CodeGen/XCore/2010-02-25-LSR-Crash.ll
    M llvm/test/CodeGen/XCore/2011-01-31-DAGCombineBug.ll
    M llvm/test/CodeGen/XCore/2011-08-01-DynamicAllocBug.ll
    M llvm/test/CodeGen/XCore/DbgValueOtherTargets.test
    M llvm/test/CodeGen/XCore/addsub64.ll
    M llvm/test/CodeGen/XCore/aliases.ll
    M llvm/test/CodeGen/XCore/align.ll
    M llvm/test/CodeGen/XCore/alignment.ll
    M llvm/test/CodeGen/XCore/ashr.ll
    M llvm/test/CodeGen/XCore/atomic.ll
    M llvm/test/CodeGen/XCore/basictest.ll
    M llvm/test/CodeGen/XCore/bigstructret.ll
    M llvm/test/CodeGen/XCore/bitrev.ll
    M llvm/test/CodeGen/XCore/byVal.ll
    M llvm/test/CodeGen/XCore/call.ll
    M llvm/test/CodeGen/XCore/constants.ll
    M llvm/test/CodeGen/XCore/events.ll
    M llvm/test/CodeGen/XCore/exception.ll
    M llvm/test/CodeGen/XCore/fneg.ll
    M llvm/test/CodeGen/XCore/getid.ll
    M llvm/test/CodeGen/XCore/globals.ll
    M llvm/test/CodeGen/XCore/indirectbr.ll
    M llvm/test/CodeGen/XCore/inline-asm.ll
    M llvm/test/CodeGen/XCore/inlineasm-output-template.ll
    M llvm/test/CodeGen/XCore/ladd_lsub_combine.ll
    M llvm/test/CodeGen/XCore/licm-ldwcp.ll
    M llvm/test/CodeGen/XCore/linkage.ll
    M llvm/test/CodeGen/XCore/llvm-intrinsics.ll
    M llvm/test/CodeGen/XCore/load.ll
    M llvm/test/CodeGen/XCore/memcpy.ll
    M llvm/test/CodeGen/XCore/misc-intrinsics.ll
    M llvm/test/CodeGen/XCore/mkmsk.ll
    M llvm/test/CodeGen/XCore/mul64.ll
    M llvm/test/CodeGen/XCore/offset_folding.ll
    M llvm/test/CodeGen/XCore/private.ll
    M llvm/test/CodeGen/XCore/ps-intrinsics.ll
    M llvm/test/CodeGen/XCore/resources.ll
    M llvm/test/CodeGen/XCore/resources_combine.ll
    M llvm/test/CodeGen/XCore/section-name.ll
    M llvm/test/CodeGen/XCore/sext.ll
    M llvm/test/CodeGen/XCore/shedulingPreference.ll
    M llvm/test/CodeGen/XCore/sr-intrinsics.ll
    M llvm/test/CodeGen/XCore/store.ll
    M llvm/test/CodeGen/XCore/switch.ll
    M llvm/test/CodeGen/XCore/switch_long.ll
    M llvm/test/CodeGen/XCore/tls.ll
    M llvm/test/CodeGen/XCore/trampoline.ll
    M llvm/test/CodeGen/XCore/trap.ll
    M llvm/test/CodeGen/XCore/unaligned_load.ll
    M llvm/test/CodeGen/XCore/unaligned_store.ll
    M llvm/test/CodeGen/XCore/unaligned_store_combine.ll
    M llvm/test/CodeGen/XCore/varargs.ll
    M llvm/test/CodeGen/XCore/zext.ll
    M llvm/test/CodeGen/XCore/zextfree.ll

  Log Message:
  -----------
  [XCore,test] Change llc -march= to -mtriple=

Similar to 806761a7629df268c8aed49657aeccffa6bca449

-mtriple= specifies the full target triple while -march= merely sets the
architecture part of the default target triple (e.g. Windows, macOS),
leaving a target triple which may not make sense.

Therefore, -march= is error-prone and not recommended for tests without a target
triple. The issue has been benign as we recognize xcore-apple-darwin as ELF instead
of rejecting it outrightly.


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

  Changed paths:
    M llvm/test/CodeGen/MIR/NVPTX/expected-floating-point-literal.mir
    M llvm/test/CodeGen/MIR/NVPTX/floating-point-immediate-operands.mir
    M llvm/test/CodeGen/MIR/NVPTX/floating-point-invalid-type-error.mir
    M llvm/test/CodeGen/NVPTX/APIntLoadStore.ll
    M llvm/test/CodeGen/NVPTX/APIntParam.ll
    M llvm/test/CodeGen/NVPTX/APIntSextParam.ll
    M llvm/test/CodeGen/NVPTX/APIntZextParam.ll
    M llvm/test/CodeGen/NVPTX/access-non-generic.ll
    M llvm/test/CodeGen/NVPTX/activemask.ll
    M llvm/test/CodeGen/NVPTX/add-sub-128bit.ll
    M llvm/test/CodeGen/NVPTX/addr-mode.ll
    M llvm/test/CodeGen/NVPTX/addrspacecast-gvar.ll
    M llvm/test/CodeGen/NVPTX/addrspacecast.ll
    M llvm/test/CodeGen/NVPTX/aggr-param.ll
    M llvm/test/CodeGen/NVPTX/aggregate-return.ll
    M llvm/test/CodeGen/NVPTX/alias-errors.ll
    M llvm/test/CodeGen/NVPTX/alias.ll
    M llvm/test/CodeGen/NVPTX/annotations.ll
    M llvm/test/CodeGen/NVPTX/anonymous-fn-param.ll
    M llvm/test/CodeGen/NVPTX/arg-lowering.ll
    M llvm/test/CodeGen/NVPTX/arithmetic-fp-sm20.ll
    M llvm/test/CodeGen/NVPTX/arithmetic-int.ll
    M llvm/test/CodeGen/NVPTX/async-copy.ll
    M llvm/test/CodeGen/NVPTX/atomicrmw-expand.ll
    M llvm/test/CodeGen/NVPTX/atomics-sm60.ll
    M llvm/test/CodeGen/NVPTX/atomics-sm70.ll
    M llvm/test/CodeGen/NVPTX/atomics-sm90.ll
    M llvm/test/CodeGen/NVPTX/atomics-with-scope.ll
    M llvm/test/CodeGen/NVPTX/atomics.ll
    M llvm/test/CodeGen/NVPTX/barrier.ll
    M llvm/test/CodeGen/NVPTX/bf16-instructions.ll
    M llvm/test/CodeGen/NVPTX/bf16.ll
    M llvm/test/CodeGen/NVPTX/bf16x2-instructions-approx.ll
    M llvm/test/CodeGen/NVPTX/bf16x2-instructions.ll
    M llvm/test/CodeGen/NVPTX/bfe.ll
    M llvm/test/CodeGen/NVPTX/boolean-patterns.ll
    M llvm/test/CodeGen/NVPTX/branch-fold.ll
    M llvm/test/CodeGen/NVPTX/branch-fold.mir
    M llvm/test/CodeGen/NVPTX/brkpt.ll
    M llvm/test/CodeGen/NVPTX/bswap.ll
    M llvm/test/CodeGen/NVPTX/bug17709.ll
    M llvm/test/CodeGen/NVPTX/bug21465.ll
    M llvm/test/CodeGen/NVPTX/bug22246.ll
    M llvm/test/CodeGen/NVPTX/bug22322.ll
    M llvm/test/CodeGen/NVPTX/bug26185-2.ll
    M llvm/test/CodeGen/NVPTX/bug26185.ll
    M llvm/test/CodeGen/NVPTX/bug52623.ll
    M llvm/test/CodeGen/NVPTX/bypass-div.ll
    M llvm/test/CodeGen/NVPTX/call-with-alloca-buffer.ll
    M llvm/test/CodeGen/NVPTX/call_bitcast_byval.ll
    M llvm/test/CodeGen/NVPTX/callchain.ll
    M llvm/test/CodeGen/NVPTX/calling-conv.ll
    M llvm/test/CodeGen/NVPTX/calls-with-phi.ll
    M llvm/test/CodeGen/NVPTX/cluster-dim.ll
    M llvm/test/CodeGen/NVPTX/cmpxchg.ll
    M llvm/test/CodeGen/NVPTX/combine-min-max.ll
    M llvm/test/CodeGen/NVPTX/common-linkage.ll
    M llvm/test/CodeGen/NVPTX/compare-int.ll
    M llvm/test/CodeGen/NVPTX/compute-ptx-value-vts.ll
    M llvm/test/CodeGen/NVPTX/constant-vectors.ll
    M llvm/test/CodeGen/NVPTX/convert-fp.ll
    M llvm/test/CodeGen/NVPTX/convert-int-sm20.ll
    M llvm/test/CodeGen/NVPTX/convert-sm80.ll
    M llvm/test/CodeGen/NVPTX/convert-sm89.ll
    M llvm/test/CodeGen/NVPTX/copysign.ll
    M llvm/test/CodeGen/NVPTX/cp-async-bulk-tensor-g2s.ll
    M llvm/test/CodeGen/NVPTX/cp-async-bulk-tensor-prefetch.ll
    M llvm/test/CodeGen/NVPTX/cp-async-bulk-tensor-reduce.ll
    M llvm/test/CodeGen/NVPTX/cp-async-bulk-tensor-s2g.ll
    M llvm/test/CodeGen/NVPTX/ctlz.ll
    M llvm/test/CodeGen/NVPTX/ctpop.ll
    M llvm/test/CodeGen/NVPTX/cttz.ll
    M llvm/test/CodeGen/NVPTX/dag-cse.ll
    M llvm/test/CodeGen/NVPTX/demote-vars.ll
    M llvm/test/CodeGen/NVPTX/disable-opt.ll
    M llvm/test/CodeGen/NVPTX/div-ri.ll
    M llvm/test/CodeGen/NVPTX/div.ll
    M llvm/test/CodeGen/NVPTX/divrem-combine.ll
    M llvm/test/CodeGen/NVPTX/dot-product.ll
    M llvm/test/CodeGen/NVPTX/dynamic-stackalloc-regression.ll
    M llvm/test/CodeGen/NVPTX/dynamic_stackalloc.ll
    M llvm/test/CodeGen/NVPTX/elect.ll
    M llvm/test/CodeGen/NVPTX/empty-type.ll
    M llvm/test/CodeGen/NVPTX/envreg.ll
    M llvm/test/CodeGen/NVPTX/extloadv.ll
    M llvm/test/CodeGen/NVPTX/extractelement.ll
    M llvm/test/CodeGen/NVPTX/f16-ex2.ll
    M llvm/test/CodeGen/NVPTX/fast-math.ll
    M llvm/test/CodeGen/NVPTX/fcos-no-fast-math.ll
    M llvm/test/CodeGen/NVPTX/fence-proxy-tensormap.ll
    M llvm/test/CodeGen/NVPTX/fence-sm-90.ll
    M llvm/test/CodeGen/NVPTX/fence.ll
    M llvm/test/CodeGen/NVPTX/filetype-null.ll
    M llvm/test/CodeGen/NVPTX/fma-assoc.ll
    M llvm/test/CodeGen/NVPTX/fma-disable.ll
    M llvm/test/CodeGen/NVPTX/fma-relu-contract.ll
    M llvm/test/CodeGen/NVPTX/fma-relu-fma-intrinsic.ll
    M llvm/test/CodeGen/NVPTX/fma-relu-instruction-flag.ll
    M llvm/test/CodeGen/NVPTX/fma.ll
    M llvm/test/CodeGen/NVPTX/fminimum-fmaximum.ll
    M llvm/test/CodeGen/NVPTX/fns.ll
    M llvm/test/CodeGen/NVPTX/fp-contract.ll
    M llvm/test/CodeGen/NVPTX/fp-literals.ll
    M llvm/test/CodeGen/NVPTX/fp16.ll
    M llvm/test/CodeGen/NVPTX/fsin-no-fast-math.ll
    M llvm/test/CodeGen/NVPTX/function-align.ll
    M llvm/test/CodeGen/NVPTX/funnel-shift-clamp.ll
    M llvm/test/CodeGen/NVPTX/generic-to-nvvm.ll
    M llvm/test/CodeGen/NVPTX/global-addrspace.ll
    M llvm/test/CodeGen/NVPTX/global-ctor-empty.ll
    M llvm/test/CodeGen/NVPTX/global-ctor.ll
    M llvm/test/CodeGen/NVPTX/global-dtor.ll
    M llvm/test/CodeGen/NVPTX/global-incomplete-init.ll
    M llvm/test/CodeGen/NVPTX/global-ordering.ll
    M llvm/test/CodeGen/NVPTX/global-visibility.ll
    M llvm/test/CodeGen/NVPTX/globals_init.ll
    M llvm/test/CodeGen/NVPTX/gvar-init.ll
    M llvm/test/CodeGen/NVPTX/half.ll
    M llvm/test/CodeGen/NVPTX/i1-array-global.ll
    M llvm/test/CodeGen/NVPTX/i1-ext-load.ll
    M llvm/test/CodeGen/NVPTX/i1-global.ll
    M llvm/test/CodeGen/NVPTX/i1-icmp.ll
    M llvm/test/CodeGen/NVPTX/i1-int-to-fp.ll
    M llvm/test/CodeGen/NVPTX/i1-load-lower.ll
    M llvm/test/CodeGen/NVPTX/i1-param.ll
    M llvm/test/CodeGen/NVPTX/i128-global.ll
    M llvm/test/CodeGen/NVPTX/i128-param.ll
    M llvm/test/CodeGen/NVPTX/i128-retval.ll
    M llvm/test/CodeGen/NVPTX/i128-struct.ll
    M llvm/test/CodeGen/NVPTX/i8-param.ll
    M llvm/test/CodeGen/NVPTX/idioms.ll
    M llvm/test/CodeGen/NVPTX/imad.ll
    M llvm/test/CodeGen/NVPTX/indirect_byval.ll
    M llvm/test/CodeGen/NVPTX/inline-asm-b128-test1.ll
    M llvm/test/CodeGen/NVPTX/inline-asm-b128-test2.ll
    M llvm/test/CodeGen/NVPTX/inline-asm-b128-test3.ll
    M llvm/test/CodeGen/NVPTX/inline-asm.ll
    M llvm/test/CodeGen/NVPTX/inlineasm-output-template.ll
    M llvm/test/CodeGen/NVPTX/intrinsic-old.ll
    M llvm/test/CodeGen/NVPTX/intrinsics-sm90.ll
    M llvm/test/CodeGen/NVPTX/intrinsics.ll
    M llvm/test/CodeGen/NVPTX/isspacep.ll
    M llvm/test/CodeGen/NVPTX/kernel-param-align.ll
    M llvm/test/CodeGen/NVPTX/ld-addrspace.ll
    M llvm/test/CodeGen/NVPTX/ld-generic.ll
    M llvm/test/CodeGen/NVPTX/ld-st-addrrspace.py
    M llvm/test/CodeGen/NVPTX/ldg-invariant.ll
    M llvm/test/CodeGen/NVPTX/ldparam-v4.ll
    M llvm/test/CodeGen/NVPTX/ldu-i8.ll
    M llvm/test/CodeGen/NVPTX/ldu-ldg.ll
    M llvm/test/CodeGen/NVPTX/ldu-reg-plus-offset.ll
    M llvm/test/CodeGen/NVPTX/load-sext-i1.ll
    M llvm/test/CodeGen/NVPTX/load-store-sm-70.ll
    M llvm/test/CodeGen/NVPTX/load-store-sm-90.ll
    M llvm/test/CodeGen/NVPTX/load-store.ll
    M llvm/test/CodeGen/NVPTX/load-with-non-coherent-cache.ll
    M llvm/test/CodeGen/NVPTX/local-stack-frame.ll
    M llvm/test/CodeGen/NVPTX/lower-aggr-copies.ll
    M llvm/test/CodeGen/NVPTX/lower-alloca.ll
    M llvm/test/CodeGen/NVPTX/lower-kernel-ptr-arg.ll
    M llvm/test/CodeGen/NVPTX/machine-sink.ll
    M llvm/test/CodeGen/NVPTX/managed.ll
    M llvm/test/CodeGen/NVPTX/match.ll
    M llvm/test/CodeGen/NVPTX/math-intrins-sm53-ptx42.ll
    M llvm/test/CodeGen/NVPTX/math-intrins-sm80-ptx70-autoupgrade.ll
    M llvm/test/CodeGen/NVPTX/math-intrins-sm80-ptx70.ll
    M llvm/test/CodeGen/NVPTX/math-intrins-sm86-ptx72-autoupgrade.ll
    M llvm/test/CodeGen/NVPTX/math-intrins-sm86-ptx72.ll
    M llvm/test/CodeGen/NVPTX/max-align.ll
    M llvm/test/CodeGen/NVPTX/maxclusterrank.ll
    M llvm/test/CodeGen/NVPTX/mbarrier.ll
    M llvm/test/CodeGen/NVPTX/minmax-negative.ll
    M llvm/test/CodeGen/NVPTX/misaligned-vector-ldst.ll
    M llvm/test/CodeGen/NVPTX/misched_func_call.ll
    M llvm/test/CodeGen/NVPTX/mma-no-sink-after-laneid-check.ll
    M llvm/test/CodeGen/NVPTX/module-inline-asm.ll
    M llvm/test/CodeGen/NVPTX/mulwide.ll
    M llvm/test/CodeGen/NVPTX/named-barriers.ll
    M llvm/test/CodeGen/NVPTX/nanosleep.ll
    M llvm/test/CodeGen/NVPTX/no-extra-parens.ll
    M llvm/test/CodeGen/NVPTX/nofunc.ll
    M llvm/test/CodeGen/NVPTX/noreturn.ll
    M llvm/test/CodeGen/NVPTX/nounroll.ll
    M llvm/test/CodeGen/NVPTX/nvcl-param-align.ll
    M llvm/test/CodeGen/NVPTX/nvvm-reflect-arch-O0.ll
    M llvm/test/CodeGen/NVPTX/packed-aggr.ll
    M llvm/test/CodeGen/NVPTX/param-align.ll
    M llvm/test/CodeGen/NVPTX/param-load-store.ll
    M llvm/test/CodeGen/NVPTX/param-overalign.ll
    M llvm/test/CodeGen/NVPTX/pass-name.ll
    M llvm/test/CodeGen/NVPTX/pow2_mask_cmp.ll
    M llvm/test/CodeGen/NVPTX/pr13291-i1-store.ll
    M llvm/test/CodeGen/NVPTX/pr16278.ll
    M llvm/test/CodeGen/NVPTX/pr17529.ll
    M llvm/test/CodeGen/NVPTX/proxy-reg-erasure-ptx.ll
    M llvm/test/CodeGen/NVPTX/proxy-reg-erasure.mir
    M llvm/test/CodeGen/NVPTX/rcp-opt.ll
    M llvm/test/CodeGen/NVPTX/read-global-variable-constant.ll
    M llvm/test/CodeGen/NVPTX/redux-sync.ll
    M llvm/test/CodeGen/NVPTX/refl1.ll
    M llvm/test/CodeGen/NVPTX/reg-copy.ll
    M llvm/test/CodeGen/NVPTX/reg-types.ll
    M llvm/test/CodeGen/NVPTX/rotate_64.ll
    M llvm/test/CodeGen/NVPTX/rsqrt-opt.ll
    M llvm/test/CodeGen/NVPTX/rsqrt.ll
    M llvm/test/CodeGen/NVPTX/sched1.ll
    M llvm/test/CodeGen/NVPTX/sched2.ll
    M llvm/test/CodeGen/NVPTX/setmaxnreg.ll
    M llvm/test/CodeGen/NVPTX/sext-in-reg.ll
    M llvm/test/CodeGen/NVPTX/sext-params.ll
    M llvm/test/CodeGen/NVPTX/sext-setcc.ll
    M llvm/test/CodeGen/NVPTX/shfl-p.ll
    M llvm/test/CodeGen/NVPTX/shfl-sync-p.ll
    M llvm/test/CodeGen/NVPTX/shfl-sync.ll
    M llvm/test/CodeGen/NVPTX/shfl.ll
    M llvm/test/CodeGen/NVPTX/shift-parts.ll
    M llvm/test/CodeGen/NVPTX/short-ptr.ll
    M llvm/test/CodeGen/NVPTX/shuffle-vec-undef-init.ll
    M llvm/test/CodeGen/NVPTX/simple-call.ll
    M llvm/test/CodeGen/NVPTX/sm-version.ll
    M llvm/test/CodeGen/NVPTX/sqrt-approx.ll
    M llvm/test/CodeGen/NVPTX/st-addrspace.ll
    M llvm/test/CodeGen/NVPTX/st-generic.ll
    M llvm/test/CodeGen/NVPTX/st-param-imm.ll
    M llvm/test/CodeGen/NVPTX/stacksaverestore.ll
    M llvm/test/CodeGen/NVPTX/store-undef.ll
    M llvm/test/CodeGen/NVPTX/surf-read-cuda.ll
    M llvm/test/CodeGen/NVPTX/surf-write-cuda.ll
    M llvm/test/CodeGen/NVPTX/symbol-naming.ll
    M llvm/test/CodeGen/NVPTX/tex-read-cuda.ll
    M llvm/test/CodeGen/NVPTX/texsurf-queries.ll
    M llvm/test/CodeGen/NVPTX/tid-range.ll
    M llvm/test/CodeGen/NVPTX/unaligned-param-load-store.ll
    M llvm/test/CodeGen/NVPTX/unreachable.ll
    M llvm/test/CodeGen/NVPTX/variadics-backend.ll
    M llvm/test/CodeGen/NVPTX/vec-param-load.ll
    M llvm/test/CodeGen/NVPTX/vec8.ll
    M llvm/test/CodeGen/NVPTX/vector-args.ll
    M llvm/test/CodeGen/NVPTX/vector-call.ll
    M llvm/test/CodeGen/NVPTX/vector-compare.ll
    M llvm/test/CodeGen/NVPTX/vector-global.ll
    M llvm/test/CodeGen/NVPTX/vector-loads.ll
    M llvm/test/CodeGen/NVPTX/vector-returns.ll
    M llvm/test/CodeGen/NVPTX/vector-select.ll
    M llvm/test/CodeGen/NVPTX/vector-stores.ll
    M llvm/test/CodeGen/NVPTX/vote.ll
    M llvm/test/CodeGen/NVPTX/weak-global.ll
    M llvm/test/CodeGen/NVPTX/weak-linkage.ll
    M llvm/test/CodeGen/NVPTX/wmma-ptx60-sm70.py
    M llvm/test/CodeGen/NVPTX/wmma-ptx61-sm70.py
    M llvm/test/CodeGen/NVPTX/wmma-ptx63-sm72.py
    M llvm/test/CodeGen/NVPTX/wmma-ptx63-sm75.py
    M llvm/test/CodeGen/NVPTX/wmma-ptx64-sm70.py
    M llvm/test/CodeGen/NVPTX/wmma-ptx65-sm75.py
    M llvm/test/CodeGen/NVPTX/wmma-ptx71-sm80.py
    M llvm/test/CodeGen/NVPTX/zeroext-32bit.ll

  Log Message:
  -----------
  [NVPTX,test] Change llc -march= to -mtriple=

Similar to 806761a7629df268c8aed49657aeccffa6bca449

-mtriple= specifies the full target triple while -march= merely sets the
architecture part of the default target triple (e.g. Windows, macOS),
leaving a target triple which may not make sense.

Therefore, -march= is error-prone and not recommended for tests without
a target triple. The issue has been benign as we recognize
nvptx{,64}-apple-darwin as ELF instead of rejecting it outrightly.


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

  Changed paths:
    M llvm/lib/Transforms/Vectorize/VPlanRecipes.cpp
    M llvm/test/Transforms/LoopVectorize/AArch64/sve-widen-gep.ll

  Log Message:
  -----------
  [VPlan] Get types and step from VPWidenPointerInductionRecipe (NFC).

Use information directly from operands instead of going through
IVDescriptor.


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

  Changed paths:
    M llvm/test/CodeGen/AMDGPU/GlobalISel/mmra.ll
    M llvm/test/CodeGen/AMDGPU/bf16-conversions.ll
    M llvm/test/CodeGen/AMDGPU/bitreverse-inline-immediates.ll
    M llvm/test/CodeGen/AMDGPU/invalid-inline-asm-constraint-crash.ll
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.bitop3.ll
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.ds.read.tr.gfx950.ll
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.mfma.gfx950.bf16.ll
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.mfma.gfx950.ll
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.prng.ll
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.raw.atomic.buffer.load.ll
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.raw.ptr.atomic.buffer.load.ll
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.s.buffer.prefetch.data.ll
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.s.prefetch.data.ll
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.smfmac.gfx950.ll
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.struct.atomic.buffer.load.ll
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.struct.ptr.atomic.buffer.load.ll
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.update.dpp.gfx90a.ll
    M llvm/test/CodeGen/AMDGPU/llvm.set.rounding.ll
    M llvm/test/CodeGen/AMDGPU/load-store-opt-addc0.mir
    M llvm/test/CodeGen/AMDGPU/mai-hazards-mfma-scale.gfx950.mir
    M llvm/test/CodeGen/AMDGPU/mmra.ll
    M llvm/test/CodeGen/AMDGPU/v_swap_b16.ll
    M llvm/test/MachineVerifier/AMDGPU/fix-illegal-vector-copies.mir

  Log Message:
  -----------
  [AMDGPU,test] Change llc -march= to -mtriple=

Follow-up to 806761a7629df268c8aed49657aeccffa6bca449


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

  Changed paths:
    M llvm/test/CodeGen/BPF/32-bit-subreg-alu.ll
    M llvm/test/CodeGen/BPF/32-bit-subreg-cond-select.ll
    M llvm/test/CodeGen/BPF/32-bit-subreg-load-store.ll
    M llvm/test/CodeGen/BPF/32-bit-subreg-peephole-phi-1.ll
    M llvm/test/CodeGen/BPF/32-bit-subreg-peephole-phi-2.ll
    M llvm/test/CodeGen/BPF/32-bit-subreg-peephole-phi-3.ll
    M llvm/test/CodeGen/BPF/32-bit-subreg-peephole.ll
    M llvm/test/CodeGen/BPF/32-bit-subreg-zext.ll
    M llvm/test/CodeGen/BPF/BTF/array-1d-char.ll
    M llvm/test/CodeGen/BPF/BTF/array-1d-int.ll
    M llvm/test/CodeGen/BPF/BTF/array-2d-int.ll
    M llvm/test/CodeGen/BPF/BTF/array-size-0.ll
    M llvm/test/CodeGen/BPF/BTF/array-typedef.ll
    M llvm/test/CodeGen/BPF/BTF/atomics.ll
    M llvm/test/CodeGen/BPF/BTF/char-no-debuginfo.ll
    M llvm/test/CodeGen/BPF/BTF/char.ll
    M llvm/test/CodeGen/BPF/BTF/double.ll
    M llvm/test/CodeGen/BPF/BTF/empty-btf.ll
    M llvm/test/CodeGen/BPF/BTF/enum-basic.ll
    M llvm/test/CodeGen/BPF/BTF/extern-builtin.ll
    M llvm/test/CodeGen/BPF/BTF/extern-func-arg.ll
    M llvm/test/CodeGen/BPF/BTF/extern-func-ptr.ll
    M llvm/test/CodeGen/BPF/BTF/extern-global-var.ll
    M llvm/test/CodeGen/BPF/BTF/extern-var-func-weak-section.ll
    M llvm/test/CodeGen/BPF/BTF/extern-var-func-weak.ll
    M llvm/test/CodeGen/BPF/BTF/extern-var-func.ll
    M llvm/test/CodeGen/BPF/BTF/extern-var-func2.ll
    M llvm/test/CodeGen/BPF/BTF/extern-var-section.ll
    M llvm/test/CodeGen/BPF/BTF/extern-var-struct-weak.ll
    M llvm/test/CodeGen/BPF/BTF/extern-var-struct.ll
    M llvm/test/CodeGen/BPF/BTF/extern-var-weak-section.ll
    M llvm/test/CodeGen/BPF/BTF/filename.ll
    M llvm/test/CodeGen/BPF/BTF/float.ll
    M llvm/test/CodeGen/BPF/BTF/func-func-ptr.ll
    M llvm/test/CodeGen/BPF/BTF/func-non-void.ll
    M llvm/test/CodeGen/BPF/BTF/func-source.ll
    M llvm/test/CodeGen/BPF/BTF/func-typedef.ll
    M llvm/test/CodeGen/BPF/BTF/func-unused-arg.ll
    M llvm/test/CodeGen/BPF/BTF/func-void.ll
    M llvm/test/CodeGen/BPF/BTF/fwd-no-define.ll
    M llvm/test/CodeGen/BPF/BTF/fwd-with-define.ll
    M llvm/test/CodeGen/BPF/BTF/global-var-bss-and-data.ll
    M llvm/test/CodeGen/BPF/BTF/global-var-inited.ll
    M llvm/test/CodeGen/BPF/BTF/global-var-sec-readonly.ll
    M llvm/test/CodeGen/BPF/BTF/global-var-sec.ll
    M llvm/test/CodeGen/BPF/BTF/incomplete-debuginfo.ll
    M llvm/test/CodeGen/BPF/BTF/int.ll
    M llvm/test/CodeGen/BPF/BTF/local-var-readonly-1.ll
    M llvm/test/CodeGen/BPF/BTF/local-var-readonly-2.ll
    M llvm/test/CodeGen/BPF/BTF/local-var.ll
    M llvm/test/CodeGen/BPF/BTF/longlong.ll
    M llvm/test/CodeGen/BPF/BTF/map-def-2.ll
    M llvm/test/CodeGen/BPF/BTF/map-def-3.ll
    M llvm/test/CodeGen/BPF/BTF/map-def.ll
    M llvm/test/CodeGen/BPF/BTF/pruning-const.ll
    M llvm/test/CodeGen/BPF/BTF/pruning-dup-ptr-struct.ll
    M llvm/test/CodeGen/BPF/BTF/pruning-multi-derived-type.ll
    M llvm/test/CodeGen/BPF/BTF/pruning-typedef.ll
    M llvm/test/CodeGen/BPF/BTF/ptr-const-void.ll
    M llvm/test/CodeGen/BPF/BTF/ptr-func-1.ll
    M llvm/test/CodeGen/BPF/BTF/ptr-func-2.ll
    M llvm/test/CodeGen/BPF/BTF/ptr-func-3.ll
    M llvm/test/CodeGen/BPF/BTF/ptr-int.ll
    M llvm/test/CodeGen/BPF/BTF/ptr-prune-type.ll
    M llvm/test/CodeGen/BPF/BTF/ptr-void.ll
    M llvm/test/CodeGen/BPF/BTF/ptr-volatile-const-void.ll
    M llvm/test/CodeGen/BPF/BTF/ptr-volatile-void.ll
    M llvm/test/CodeGen/BPF/BTF/restrict-ptr.ll
    M llvm/test/CodeGen/BPF/BTF/short.ll
    M llvm/test/CodeGen/BPF/BTF/static-func.ll
    M llvm/test/CodeGen/BPF/BTF/static-var-derived-type.ll
    M llvm/test/CodeGen/BPF/BTF/static-var-inited-sec.ll
    M llvm/test/CodeGen/BPF/BTF/static-var-inited.ll
    M llvm/test/CodeGen/BPF/BTF/static-var-readonly-sec.ll
    M llvm/test/CodeGen/BPF/BTF/static-var-readonly.ll
    M llvm/test/CodeGen/BPF/BTF/static-var-sec.ll
    M llvm/test/CodeGen/BPF/BTF/static-var-zerolen-array.ll
    M llvm/test/CodeGen/BPF/BTF/static-var.ll
    M llvm/test/CodeGen/BPF/BTF/struct-anon-2.ll
    M llvm/test/CodeGen/BPF/BTF/struct-anon.ll
    M llvm/test/CodeGen/BPF/BTF/struct-basic.ll
    M llvm/test/CodeGen/BPF/BTF/struct-bitfield-typedef.ll
    M llvm/test/CodeGen/BPF/BTF/struct-enum.ll
    M llvm/test/CodeGen/BPF/BTF/tag-1.ll
    M llvm/test/CodeGen/BPF/BTF/tag-2.ll
    M llvm/test/CodeGen/BPF/BTF/tag-extern-func.ll
    M llvm/test/CodeGen/BPF/BTF/tag-typedef.ll
    M llvm/test/CodeGen/BPF/BTF/type-tag-fixup-fwd.ll
    M llvm/test/CodeGen/BPF/BTF/type-tag-fixup-resolved.ll
    M llvm/test/CodeGen/BPF/BTF/type-tag-var.ll
    M llvm/test/CodeGen/BPF/BTF/uchar.ll
    M llvm/test/CodeGen/BPF/BTF/uint.ll
    M llvm/test/CodeGen/BPF/BTF/ulonglong.ll
    M llvm/test/CodeGen/BPF/BTF/union-array-typedef.ll
    M llvm/test/CodeGen/BPF/BTF/ushort.ll
    M llvm/test/CodeGen/BPF/BTF/weak-global-2.ll
    M llvm/test/CodeGen/BPF/BTF/weak-global-3.ll
    M llvm/test/CodeGen/BPF/BTF/weak-global.ll
    M llvm/test/CodeGen/BPF/CORE/field-reloc-st-imm.ll
    M llvm/test/CodeGen/BPF/CORE/simplifypatable-nullptr.ll
    M llvm/test/CodeGen/BPF/addr-space-cast.ll
    M llvm/test/CodeGen/BPF/addr-space-globals.ll
    M llvm/test/CodeGen/BPF/addr-space-globals2.ll
    M llvm/test/CodeGen/BPF/alu8.ll
    M llvm/test/CodeGen/BPF/atomics.ll
    M llvm/test/CodeGen/BPF/atomics_2.ll
    M llvm/test/CodeGen/BPF/atomics_mem_order_v1.ll
    M llvm/test/CodeGen/BPF/atomics_mem_order_v3.ll
    M llvm/test/CodeGen/BPF/atomics_sub64_relaxed_v1.ll
    M llvm/test/CodeGen/BPF/basictest.ll
    M llvm/test/CodeGen/BPF/bpf-fastcall-1.ll
    M llvm/test/CodeGen/BPF/bpf-fastcall-2.ll
    M llvm/test/CodeGen/BPF/bpf-fastcall-3.ll
    M llvm/test/CodeGen/BPF/bpf-fastcall-4.ll
    M llvm/test/CodeGen/BPF/bpf-fastcall-5.ll
    M llvm/test/CodeGen/BPF/bpf-fastcall-regmask-1.ll
    M llvm/test/CodeGen/BPF/bswap.ll
    M llvm/test/CodeGen/BPF/byval.ll
    M llvm/test/CodeGen/BPF/callx.ll
    M llvm/test/CodeGen/BPF/cc_args.ll
    M llvm/test/CodeGen/BPF/cc_args_be.ll
    M llvm/test/CodeGen/BPF/cc_ret.ll
    M llvm/test/CodeGen/BPF/cmp.ll
    M llvm/test/CodeGen/BPF/cttz-ctlz.ll
    M llvm/test/CodeGen/BPF/dwarfdump.ll
    M llvm/test/CodeGen/BPF/ex1.ll
    M llvm/test/CodeGen/BPF/fi_ri.ll
    M llvm/test/CodeGen/BPF/gotol.ll
    M llvm/test/CodeGen/BPF/i128.ll
    M llvm/test/CodeGen/BPF/inline_asm.ll
    M llvm/test/CodeGen/BPF/inlineasm-wreg.ll
    M llvm/test/CodeGen/BPF/intrinsics.ll
    M llvm/test/CodeGen/BPF/is_trunc_free.ll
    M llvm/test/CodeGen/BPF/is_zext_free.ll
    M llvm/test/CodeGen/BPF/ldsx.ll
    M llvm/test/CodeGen/BPF/load.ll
    M llvm/test/CodeGen/BPF/loops.ll
    M llvm/test/CodeGen/BPF/many_args1.ll
    M llvm/test/CodeGen/BPF/many_args2.ll
    M llvm/test/CodeGen/BPF/mem_offset.ll
    M llvm/test/CodeGen/BPF/mem_offset_be.ll
    M llvm/test/CodeGen/BPF/memcmp.ll
    M llvm/test/CodeGen/BPF/memcpy-expand-in-order.ll
    M llvm/test/CodeGen/BPF/movsx.ll
    M llvm/test/CodeGen/BPF/no-merge-attr.ll
    M llvm/test/CodeGen/BPF/optnone-1.ll
    M llvm/test/CodeGen/BPF/optnone-2.ll
    M llvm/test/CodeGen/BPF/remove_truncate_1.ll
    M llvm/test/CodeGen/BPF/remove_truncate_2.ll
    M llvm/test/CodeGen/BPF/remove_truncate_3.ll
    M llvm/test/CodeGen/BPF/remove_truncate_4.ll
    M llvm/test/CodeGen/BPF/remove_truncate_5.ll
    M llvm/test/CodeGen/BPF/remove_truncate_6.ll
    M llvm/test/CodeGen/BPF/remove_truncate_7.ll
    M llvm/test/CodeGen/BPF/remove_truncate_8.ll
    M llvm/test/CodeGen/BPF/remove_truncate_9.ll
    M llvm/test/CodeGen/BPF/rodata_1.ll
    M llvm/test/CodeGen/BPF/rodata_2.ll
    M llvm/test/CodeGen/BPF/rodata_3.ll
    M llvm/test/CodeGen/BPF/rodata_4.ll
    M llvm/test/CodeGen/BPF/rodata_5.ll
    M llvm/test/CodeGen/BPF/rodata_6.ll
    M llvm/test/CodeGen/BPF/rodata_7.ll
    M llvm/test/CodeGen/BPF/sdiv_smod.ll
    M llvm/test/CodeGen/BPF/sdiv_to_mul.ll
    M llvm/test/CodeGen/BPF/select_ri.ll
    M llvm/test/CodeGen/BPF/selectiondag-bug.ll
    M llvm/test/CodeGen/BPF/setcc.ll
    M llvm/test/CodeGen/BPF/shifts.ll
    M llvm/test/CodeGen/BPF/sockex2.ll
    M llvm/test/CodeGen/BPF/spill-alu32.ll
    M llvm/test/CodeGen/BPF/store_imm.ll
    M llvm/test/CodeGen/BPF/struct-arg.ll
    M llvm/test/CodeGen/BPF/struct_ret1.ll
    M llvm/test/CodeGen/BPF/struct_ret2.ll
    M llvm/test/CodeGen/BPF/undef.ll
    M llvm/test/CodeGen/BPF/vararg1.ll
    M llvm/test/CodeGen/BPF/warn-call.ll
    M llvm/test/CodeGen/BPF/warn-stack.ll
    M llvm/test/CodeGen/BPF/xadd.ll
    M llvm/test/CodeGen/BPF/xadd_legal.ll
    M llvm/test/CodeGen/BPF/xaddd_v1.ll

  Log Message:
  -----------
  [BPF,test] Change llc -march= to -mtriple=

Similar to 806761a7629df268c8aed49657aeccffa6bca449

-mtriple= specifies the full target triple while -march= merely sets the
architecture part of the default target triple (e.g. Windows, macOS),
leaving a target triple which may not make sense.

Therefore, -march= is error-prone and not recommended for tests without
a target triple. The issue has been benign as we recognize
bpf*-apple-darwin as ELF instead of rejecting it outrightly.


  Commit: 50046221b8e913ec6506eb96ce4c0cd267a5cc99
      https://github.com/llvm/llvm-project/commit/50046221b8e913ec6506eb96ce4c0cd267a5cc99
  Author: Nico Weber <thakis at chromium.org>
  Date:   2024-12-15 (Sun, 15 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:
  -----------
  Revert "[Driver] Cache SanitizerArgs (NFC) (#119442)"

This reverts commit bae383ba6b53b0d8257c83f99ceecdd751d0a378.
Prerequisite to reverting #119071.


  Commit: 1464b8ec8a675fd11dc7280db1c56aac03771b0a
      https://github.com/llvm/llvm-project/commit/1464b8ec8a675fd11dc7280db1c56aac03771b0a
  Author: Nico Weber <thakis at chromium.org>
  Date:   2024-12-15 (Sun, 15 Dec 2024)

  Changed paths:
    M clang/lib/Driver/ToolChains/CommonArgs.cpp
    M clang/test/Driver/sanitizer-ld.c
    M compiler-rt/lib/msan/msan_interceptors.cpp
    M compiler-rt/lib/sanitizer_common/sanitizer_common_interceptors.inc
    M compiler-rt/lib/sanitizer_common/sanitizer_platform_interceptors.h
    R compiler-rt/test/msan/Linux/dn_expand.cpp
    A compiler-rt/test/sanitizer_common/TestCases/Linux/b64.cpp
    A compiler-rt/test/sanitizer_common/TestCases/Linux/dn_expand.cpp

  Log Message:
  -----------
  Revert "Move interceptors for libresolv functions to MSan (#119071)"

This reverts commit f5f965058a5f9b835382f96bd4041bc7e608ece0.
Breaks a test on some bots, see
https://github.com/llvm/llvm-project/pull/119071#issuecomment-2544000926


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

  Changed paths:
    M llvm/test/CodeGen/MIR/X86/basic-block-liveins.mir
    M llvm/test/CodeGen/MIR/X86/basic-block-not-at-start-of-line-error.mir
    M llvm/test/CodeGen/MIR/X86/block-address-operands.mir
    M llvm/test/CodeGen/MIR/X86/callee-saved-info.mir
    M llvm/test/CodeGen/MIR/X86/cfi-def-cfa-offset.mir
    M llvm/test/CodeGen/MIR/X86/cfi-def-cfa-register.mir
    M llvm/test/CodeGen/MIR/X86/cfi-offset.mir
    M llvm/test/CodeGen/MIR/X86/constant-pool-item-redefinition-error.mir
    M llvm/test/CodeGen/MIR/X86/constant-pool.mir
    M llvm/test/CodeGen/MIR/X86/constant-value-error.mir
    M llvm/test/CodeGen/MIR/X86/copyIRflags.mir
    M llvm/test/CodeGen/MIR/X86/dead-register-flag.mir
    M llvm/test/CodeGen/MIR/X86/def-register-already-tied-error.mir
    M llvm/test/CodeGen/MIR/X86/duplicate-memory-operand-flag.mir
    M llvm/test/CodeGen/MIR/X86/duplicate-register-flag-error.mir
    M llvm/test/CodeGen/MIR/X86/early-clobber-register-flag.mir
    M llvm/test/CodeGen/MIR/X86/exception-function-state.mir
    M llvm/test/CodeGen/MIR/X86/expected-align-in-memory-operand.mir
    M llvm/test/CodeGen/MIR/X86/expected-alignment-after-align-in-memory-operand.mir
    M llvm/test/CodeGen/MIR/X86/expected-basic-block-at-start-of-body.mir
    M llvm/test/CodeGen/MIR/X86/expected-block-reference-in-blockaddress.mir
    M llvm/test/CodeGen/MIR/X86/expected-comma-after-cfi-register.mir
    M llvm/test/CodeGen/MIR/X86/expected-comma-after-memory-operand.mir
    M llvm/test/CodeGen/MIR/X86/expected-different-implicit-operand.mir
    M llvm/test/CodeGen/MIR/X86/expected-different-implicit-register-flag.mir
    M llvm/test/CodeGen/MIR/X86/expected-function-reference-after-blockaddress.mir
    M llvm/test/CodeGen/MIR/X86/expected-global-value-after-blockaddress.mir
    M llvm/test/CodeGen/MIR/X86/expected-integer-after-offset-sign.mir
    M llvm/test/CodeGen/MIR/X86/expected-integer-after-tied-def.mir
    M llvm/test/CodeGen/MIR/X86/expected-integer-in-successor-weight.mir
    M llvm/test/CodeGen/MIR/X86/expected-load-or-store-in-memory-operand.mir
    M llvm/test/CodeGen/MIR/X86/expected-machine-operand.mir
    M llvm/test/CodeGen/MIR/X86/expected-metadata-node-after-debug-location.mir
    M llvm/test/CodeGen/MIR/X86/expected-metadata-node-after-exclaim.mir
    M llvm/test/CodeGen/MIR/X86/expected-metadata-node-in-stack-object.mir
    M llvm/test/CodeGen/MIR/X86/expected-named-register-in-allocation-hint.mir
    M llvm/test/CodeGen/MIR/X86/expected-named-register-in-callee-saved-register.mir
    M llvm/test/CodeGen/MIR/X86/expected-named-register-in-functions-livein.mir
    M llvm/test/CodeGen/MIR/X86/expected-named-register-livein.mir
    M llvm/test/CodeGen/MIR/X86/expected-newline-at-end-of-list.mir
    M llvm/test/CodeGen/MIR/X86/expected-number-after-bb.mir
    M llvm/test/CodeGen/MIR/X86/expected-offset-after-cfi-operand.mir
    M llvm/test/CodeGen/MIR/X86/expected-pointer-value-in-memory-operand.mir
    M llvm/test/CodeGen/MIR/X86/expected-positive-alignment-after-align.mir
    M llvm/test/CodeGen/MIR/X86/expected-power-of-2-after-align.mir
    M llvm/test/CodeGen/MIR/X86/expected-register-after-cfi-operand.mir
    M llvm/test/CodeGen/MIR/X86/expected-register-after-flags.mir
    M llvm/test/CodeGen/MIR/X86/expected-size-integer-after-memory-operation.mir
    M llvm/test/CodeGen/MIR/X86/expected-size-integer-after-memory-operation2.mir
    M llvm/test/CodeGen/MIR/X86/expected-stack-object-function-context.mir
    M llvm/test/CodeGen/MIR/X86/expected-stack-object.mir
    M llvm/test/CodeGen/MIR/X86/expected-subregister-after-colon.mir
    M llvm/test/CodeGen/MIR/X86/expected-target-flag-name.mir
    M llvm/test/CodeGen/MIR/X86/expected-tied-def-after-lparen.mir
    M llvm/test/CodeGen/MIR/X86/expected-value-in-memory-operand.mir
    M llvm/test/CodeGen/MIR/X86/expected-virtual-register-in-functions-livein.mir
    M llvm/test/CodeGen/MIR/X86/external-symbol-operands.mir
    M llvm/test/CodeGen/MIR/X86/fastmath.mir
    M llvm/test/CodeGen/MIR/X86/frame-info-save-restore-points.mir
    M llvm/test/CodeGen/MIR/X86/frame-info-stack-references.mir
    M llvm/test/CodeGen/MIR/X86/frame-setup-instruction-flag.mir
    M llvm/test/CodeGen/MIR/X86/function-liveins.mir
    M llvm/test/CodeGen/MIR/X86/generic-instr-type.mir
    M llvm/test/CodeGen/MIR/X86/global-value-operands.mir
    M llvm/test/CodeGen/MIR/X86/immediate-operands.mir
    M llvm/test/CodeGen/MIR/X86/implicit-register-flag.mir
    M llvm/test/CodeGen/MIR/X86/inline-asm-registers.mir
    M llvm/test/CodeGen/MIR/X86/instr-cfi-type.mir
    M llvm/test/CodeGen/MIR/X86/instr-heap-alloc-operands.mir
    M llvm/test/CodeGen/MIR/X86/instr-pcsections.mir
    M llvm/test/CodeGen/MIR/X86/instr-symbols-and-mcsymbol-operands.mir
    M llvm/test/CodeGen/MIR/X86/instructions-debug-location.mir
    M llvm/test/CodeGen/MIR/X86/invalid-constant-pool-item.mir
    M llvm/test/CodeGen/MIR/X86/invalid-metadata-node-type.mir
    M llvm/test/CodeGen/MIR/X86/invalid-target-flag-name.mir
    M llvm/test/CodeGen/MIR/X86/invalid-tied-def-index-error.mir
    M llvm/test/CodeGen/MIR/X86/jump-table-info.mir
    M llvm/test/CodeGen/MIR/X86/jump-table-redefinition-error.mir
    M llvm/test/CodeGen/MIR/X86/killed-register-flag.mir
    M llvm/test/CodeGen/MIR/X86/large-cfi-offset-number-error.mir
    M llvm/test/CodeGen/MIR/X86/large-immediate-operand-error.mir
    M llvm/test/CodeGen/MIR/X86/large-index-number-error.mir
    M llvm/test/CodeGen/MIR/X86/large-offset-number-error.mir
    M llvm/test/CodeGen/MIR/X86/large-size-in-memory-operand-error.mir
    M llvm/test/CodeGen/MIR/X86/liveout-register-mask.mir
    M llvm/test/CodeGen/MIR/X86/load-with-max-alignment.mir
    M llvm/test/CodeGen/MIR/X86/machine-basic-block-operands.mir
    M llvm/test/CodeGen/MIR/X86/machine-instructions.mir
    M llvm/test/CodeGen/MIR/X86/machine-verifier-address.mir
    M llvm/test/CodeGen/MIR/X86/machine-verifier.mir
    M llvm/test/CodeGen/MIR/X86/memory-operands.mir
    M llvm/test/CodeGen/MIR/X86/metadata-operands.mir
    M llvm/test/CodeGen/MIR/X86/mircanon-flags.mir
    M llvm/test/CodeGen/MIR/X86/missing-closing-quote.mir
    M llvm/test/CodeGen/MIR/X86/missing-comma.mir
    M llvm/test/CodeGen/MIR/X86/missing-implicit-operand.mir
    M llvm/test/CodeGen/MIR/X86/named-registers.mir
    M llvm/test/CodeGen/MIR/X86/newline-handling.mir
    M llvm/test/CodeGen/MIR/X86/null-register-operands.mir
    M llvm/test/CodeGen/MIR/X86/register-mask-operands.mir
    M llvm/test/CodeGen/MIR/X86/register-operand-class-invalid0.mir
    M llvm/test/CodeGen/MIR/X86/register-operand-class-invalid1.mir
    M llvm/test/CodeGen/MIR/X86/register-operand-class.mir
    M llvm/test/CodeGen/MIR/X86/register-operands-target-flag-error.mir
    M llvm/test/CodeGen/MIR/X86/renamable-register-flag.mir
    M llvm/test/CodeGen/MIR/X86/simple-register-allocation-hints.mir
    M llvm/test/CodeGen/MIR/X86/spill-slot-fixed-stack-object-aliased.mir
    M llvm/test/CodeGen/MIR/X86/spill-slot-fixed-stack-object-immutable.mir
    M llvm/test/CodeGen/MIR/X86/spill-slot-fixed-stack-objects.mir
    M llvm/test/CodeGen/MIR/X86/stack-object-debug-info.mir
    M llvm/test/CodeGen/MIR/X86/stack-object-invalid-name.mir
    M llvm/test/CodeGen/MIR/X86/stack-object-operand-name-mismatch-error.mir
    M llvm/test/CodeGen/MIR/X86/stack-object-redefinition-error.mir
    M llvm/test/CodeGen/MIR/X86/stack-objects.mir
    M llvm/test/CodeGen/MIR/X86/standalone-register-error.mir
    M llvm/test/CodeGen/MIR/X86/subreg-on-physreg.mir
    M llvm/test/CodeGen/MIR/X86/subregister-index-operands.mir
    M llvm/test/CodeGen/MIR/X86/subregister-operands.mir
    M llvm/test/CodeGen/MIR/X86/successor-basic-blocks-weights.mir
    M llvm/test/CodeGen/MIR/X86/successor-basic-blocks.mir
    M llvm/test/CodeGen/MIR/X86/tied-def-operand-invalid.mir
    M llvm/test/CodeGen/MIR/X86/tied-physical-regs-match.mir
    M llvm/test/CodeGen/MIR/X86/undef-register-flag.mir
    M llvm/test/CodeGen/MIR/X86/undefined-fixed-stack-object.mir
    M llvm/test/CodeGen/MIR/X86/undefined-global-value.mir
    M llvm/test/CodeGen/MIR/X86/undefined-ir-block-in-blockaddress.mir
    M llvm/test/CodeGen/MIR/X86/undefined-ir-block-slot-in-blockaddress.mir
    M llvm/test/CodeGen/MIR/X86/undefined-jump-table-id.mir
    M llvm/test/CodeGen/MIR/X86/undefined-named-global-value.mir
    M llvm/test/CodeGen/MIR/X86/undefined-register-class.mir
    M llvm/test/CodeGen/MIR/X86/undefined-stack-object.mir
    M llvm/test/CodeGen/MIR/X86/undefined-value-in-memory-operand.mir
    M llvm/test/CodeGen/MIR/X86/undefined-virtual-register.mir
    M llvm/test/CodeGen/MIR/X86/unexpected-type-phys.mir
    M llvm/test/CodeGen/MIR/X86/unknown-instruction.mir
    M llvm/test/CodeGen/MIR/X86/unknown-machine-basic-block.mir
    M llvm/test/CodeGen/MIR/X86/unknown-metadata-keyword.mir
    M llvm/test/CodeGen/MIR/X86/unknown-metadata-node.mir
    M llvm/test/CodeGen/MIR/X86/unknown-named-machine-basic-block.mir
    M llvm/test/CodeGen/MIR/X86/unknown-register.mir
    M llvm/test/CodeGen/MIR/X86/unknown-subregister-index-op.mir
    M llvm/test/CodeGen/MIR/X86/unknown-subregister-index.mir
    M llvm/test/CodeGen/MIR/X86/unrecognized-character.mir
    M llvm/test/CodeGen/MIR/X86/variable-sized-stack-object-size-error.mir
    M llvm/test/CodeGen/MIR/X86/variable-sized-stack-objects.mir
    M llvm/test/CodeGen/MIR/X86/virtual-register-redefinition-error.mir
    M llvm/test/CodeGen/MIR/X86/virtual-registers.mir
    M llvm/test/DebugInfo/MIR/InstrRef/instr-ref-roundtrip.mir
    M llvm/test/DebugInfo/MIR/InstrRef/livedebugvalues_illegal_locs.mir
    M llvm/test/DebugInfo/MIR/InstrRef/livedebugvalues_instrref_tolocs.mir
    M llvm/test/DebugInfo/MIR/InstrRef/livedebugvalues_recover_clobbers.mir
    M llvm/test/DebugInfo/MIR/InstrRef/livedebugvalues_stackslot_subregs.mir
    M llvm/test/DebugInfo/MIR/InstrRef/livedebugvalues_subreg_substitutions.mir
    M llvm/test/DebugInfo/MIR/InstrRef/memory-operand-tracking.mir
    M llvm/test/DebugInfo/MIR/InstrRef/no-duplicates.mir
    M llvm/test/DebugInfo/MIR/InstrRef/no-metainstrs.mir
    M llvm/test/DebugInfo/MIR/InstrRef/out-of-scope-blocks.mir
    M llvm/test/DebugInfo/MIR/InstrRef/pretty-print.mir
    M llvm/test/DebugInfo/MIR/InstrRef/single-assign-propagation.mir
    M llvm/test/DebugInfo/MIR/InstrRef/substitusions-roundtrip.mir
    M llvm/test/DebugInfo/MIR/X86/dbginfo-entryvals.mir
    M llvm/test/DebugInfo/MIR/X86/live-debug-values-restore.mir
    M llvm/test/DebugInfo/MIR/X86/livedebugvalues-ignores-metaInstructions.mir
    M llvm/test/DebugInfo/MIR/X86/livedebugvalues_basic_diamond.mir
    M llvm/test/DebugInfo/MIR/X86/livedebugvalues_basic_diamond_match_clobber.mir
    M llvm/test/DebugInfo/MIR/X86/livedebugvalues_basic_diamond_match_move.mir
    M llvm/test/DebugInfo/MIR/X86/livedebugvalues_basic_diamond_one_clobber.mir
    M llvm/test/DebugInfo/MIR/X86/livedebugvalues_basic_diamond_one_move.mir
    M llvm/test/DebugInfo/MIR/X86/livedebugvalues_basic_loop.mir
    M llvm/test/DebugInfo/MIR/X86/livedebugvalues_bb_to_bb.mir
    M llvm/test/DebugInfo/MIR/X86/livedebugvalues_bb_to_bb_clobbered.mir
    M llvm/test/DebugInfo/MIR/X86/livedebugvalues_bb_to_bb_move_to_clobber.mir
    M llvm/test/DebugInfo/MIR/X86/livedebugvalues_load_in_loop.mir
    M llvm/test/DebugInfo/MIR/X86/livedebugvalues_loop_break.mir
    M llvm/test/DebugInfo/MIR/X86/livedebugvalues_loop_break_clobbered.mir
    M llvm/test/DebugInfo/MIR/X86/livedebugvalues_loop_clobbered.mir
    M llvm/test/DebugInfo/MIR/X86/livedebugvalues_loop_diamond.mir
    M llvm/test/DebugInfo/MIR/X86/livedebugvalues_loop_diamond_clobber.mir
    M llvm/test/DebugInfo/MIR/X86/livedebugvalues_loop_diamond_move.mir
    M llvm/test/DebugInfo/MIR/X86/livedebugvalues_loop_early_clobber.mir
    M llvm/test/DebugInfo/MIR/X86/livedebugvalues_loop_terminated.mir
    M llvm/test/DebugInfo/MIR/X86/livedebugvalues_loop_two_backedge.mir
    M llvm/test/DebugInfo/MIR/X86/livedebugvalues_loop_two_backedge_clobbered.mir
    M llvm/test/DebugInfo/MIR/X86/livedebugvalues_loop_within_loop.mir
    M llvm/test/DebugInfo/MIR/X86/livedebugvalues_loop_within_loop_clobbered.mir
    M llvm/test/DebugInfo/MIR/X86/livedebugvalues_loop_within_loop_moved.mir
    M llvm/test/DebugInfo/MIR/X86/livedebugvalues_loop_within_loop_outer_moved.mir
    M llvm/test/DebugInfo/MIR/X86/livedebugvalues_many_loop_heads.mir
    M llvm/test/DebugInfo/MIR/X86/multiple-param-dbg-value-entry.mir
    M llvm/test/DebugInfo/MIR/X86/no-cfi-loc.mir

  Log Message:
  -----------
  [MIR,test] Change llc -march=x86-64 to -mtriple=x86_64

Similar to 806761a7629df268c8aed49657aeccffa6bca449

-mtriple= specifies the full target triple while -march= merely sets the
architecture part of the default target triple (e.g. Windows, macOS).

Therefore, -march= is error-prone and not recommended for tests without
a target triple. The issue has been benign as these MIR tests do not
utilize object file format specific detail, but it's good to change
these tests to neighbor files that use -mtriple=x86_64


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

  Changed paths:
    M llvm/test/CodeGen/MIR/X86/dbg-value-list.mir
    M llvm/test/DebugInfo/MIR/X86/backup-entry-values-usage.mir
    M llvm/test/DebugInfo/MIR/X86/complex-entryvalue.mir
    M llvm/test/DebugInfo/MIR/X86/entry-value-of-modified-param.mir
    M llvm/test/DebugInfo/MIR/X86/entry-value-of-modified-param2.mir
    M llvm/test/DebugInfo/MIR/X86/entry-values-diamond-bbs.mir
    M llvm/test/DebugInfo/MIR/X86/kill-entry-value-after-diamond-bbs.mir
    M llvm/test/DebugInfo/MIR/X86/kill-entry-value-after-diamond-bbs2.mir
    M llvm/test/DebugInfo/MIR/X86/live-debug-values-3preds.mir
    M llvm/test/DebugInfo/MIR/X86/live-debug-values-spill.mir
    M llvm/test/DebugInfo/MIR/X86/live-debug-values.mir
    M llvm/test/DebugInfo/MIR/X86/livedebugvalues-limit.mir
    M llvm/test/DebugInfo/MIR/X86/piece-entryval.mir
    M llvm/test/DebugInfo/MIR/X86/propagate-entry-value-cross-bbs.mir
    M llvm/test/DebugInfo/MIR/X86/remove-entry-value-from-loop.mir

  Log Message:
  -----------
  [test] Remove redundant -march=x86-64 when target triple is specified in IR


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

  Changed paths:
    M llvm/test/CodeGen/ARC/addrmode.ll
    M llvm/test/CodeGen/ARC/alu.ll
    M llvm/test/CodeGen/ARC/brcc.ll
    M llvm/test/CodeGen/ARC/call.ll
    M llvm/test/CodeGen/ARC/intrinsics.ll
    M llvm/test/CodeGen/ARC/ldst.ll

  Log Message:
  -----------
  [ARC,test] Change llc -march= to -mtriple=

Similar to 806761a7629df268c8aed49657aeccffa6bca449

-mtriple= specifies the full target triple while -march= merely sets the
architecture part of the default target triple (e.g. Windows, macOS),
leaving a target triple which may not make sense.

Therefore, -march= is error-prone and not recommended for tests without
a target triple. The issue has been benign as we recognize
arc-apple-darwin as ELF instead of rejecting it outrightly.


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

  Changed paths:
    M llvm/test/CodeGen/AArch64/stack-tagging-ex-2.ll
    M llvm/test/CodeGen/Hexagon/autohvx/float-cost.ll
    M llvm/test/CodeGen/Hexagon/autohvx/interleave.ll
    M llvm/test/CodeGen/Hexagon/autohvx/maximize-bandwidth.ll
    M llvm/test/CodeGen/Hexagon/bug15515-shuffle.ll
    M llvm/test/CodeGen/Hexagon/const-pool-tf.ll
    M llvm/test/CodeGen/Hexagon/glob-align-volatile.ll
    M llvm/test/CodeGen/Hexagon/loop-idiom/pmpy-infinite-loop.ll
    M llvm/test/CodeGen/Hexagon/loop-idiom/pmpy-long-loop.ll
    M llvm/test/CodeGen/Hexagon/loop-idiom/pmpy-mod.ll
    M llvm/test/CodeGen/Hexagon/loop-idiom/pmpy-shiftconv-fail.ll
    M llvm/test/CodeGen/Hexagon/vcombine_zero_diff_ptrs.ll
    M llvm/test/CodeGen/Lanai/delay_filler.ll
    M llvm/test/CodeGen/Lanai/lowering-128.ll
    M llvm/test/CodeGen/NVPTX/surf-read.ll
    M llvm/test/CodeGen/NVPTX/surf-write.ll
    M llvm/test/CodeGen/NVPTX/tex-read.ll
    M llvm/test/CodeGen/PowerPC/ppc64le-aggregates.ll
    M llvm/test/CodeGen/Thumb2/bug-subw.ll
    M llvm/test/DebugInfo/NVPTX/debug-ptx-symbols.ll
    M llvm/test/DebugInfo/X86/instr-ref-flag.ll
    M llvm/test/DebugInfo/X86/no-entry-values-with-O0.ll
    M llvm/test/DebugInfo/X86/single-dbg_value.ll
    M llvm/test/Transforms/LoadStoreVectorizer/NVPTX/propagate-invariance-metadata.ll
    M llvm/test/Transforms/StraightLineStrengthReduce/NVPTX/reassociate-geps-and-slsr.ll
    M llvm/test/Transforms/StraightLineStrengthReduce/NVPTX/speculative-slsr.ll

  Log Message:
  -----------
  [test] Remove redundant -march= when target triple is specified in IR


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

  Changed paths:
    M llvm/lib/Transforms/Vectorize/VPlanRecipes.cpp
    M llvm/test/Transforms/LoopVectorize/PowerPC/vplan-force-tail-with-evl.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/vplan-iv-transforms.ll
    M llvm/test/Transforms/LoopVectorize/vplan-printing.ll
    M llvm/test/Transforms/LoopVectorize/vplan-sink-scalars-and-merge.ll

  Log Message:
  -----------
  [VPlan] Modernize VPWidenIntOrFpInductionRecipe printing (NFC).

Modernize VPWidenIntOrFpInductionRecipe printing by including the result
VPValue and all operand VPValues, similar to VPScalarIVStepsRecipe and
VPDerivedIVRecipe.


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

  Changed paths:
    M llvm/test/CodeGen/X86/stack-frame-layout-remarks.ll

  Log Message:
  -----------
  [test] Replace -march=x86 -mcpu=i386 with -mtriple


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

  Changed paths:
    M llvm/test/Analysis/CostModel/X86/scalarize.ll
    M llvm/test/CodeGen/MIR/X86/fixed-stack-memory-operands.mir
    M llvm/test/CodeGen/MIR/X86/fixed-stack-object-redefinition-error.mir
    M llvm/test/CodeGen/MIR/X86/fixed-stack-objects.mir
    M llvm/test/CodeGen/MIR/X86/stack-object-operands.mir
    M llvm/test/CodeGen/X86/2006-10-02-BoolRetCrash.ll
    M llvm/test/MachineVerifier/test_copy_physregs_x86.mir
    M llvm/test/MachineVerifier/verify-regops.mir
    M llvm/test/Transforms/NaryReassociate/NVPTX/nary-slsr.ll

  Log Message:
  -----------
  [test] Change llc -march= to -mtriple=

Similar to 806761a7629df268c8aed49657aeccffa6bca449

-march= is error-prone when running on a host whose OS is different.


  Commit: 7168de5ca7a09b929006bd0fb5c3d9510c0ba058
      https://github.com/llvm/llvm-project/commit/7168de5ca7a09b929006bd0fb5c3d9510c0ba058
  Author: Jacek Caban <jacek at codeweavers.com>
  Date:   2024-12-15 (Sun, 15 Dec 2024)

  Changed paths:
    M lld/COFF/COFFLinkerContext.h
    M lld/COFF/Driver.cpp
    M lld/COFF/InputFiles.cpp
    M lld/COFF/InputFiles.h
    M lld/COFF/SymbolTable.h
    M lld/test/COFF/arm64ec-codemap.test
    M lld/test/COFF/arm64ec-entry-thunk.s
    M lld/test/COFF/arm64ec-lib.test
    M lld/test/COFF/arm64ec-range-thunks.s
    R lld/test/COFF/arm64x-symtab.s

  Log Message:
  -----------
  Revert "[LLD][COFF] Introduce hybrid symbol table for EC input files on ARM64X (#119294)"

This reverts commit a8206e7b37929f4754806667680ffba0206eef95 due to sanitizer failures.


  Commit: e86910337f98e57f5b9253f7d80d5b916eb1d97e
      https://github.com/llvm/llvm-project/commit/e86910337f98e57f5b9253f7d80d5b916eb1d97e
  Author: Ryosuke Niwa <rniwa at webkit.org>
  Date:   2024-12-15 (Sun, 15 Dec 2024)

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

  Log Message:
  -----------
  [webkit.UncountedLambdaCapturesChecker] Add a fallback for checking lambda captures (#119800)


  Commit: 938cdd60d4938e32a7f4f1620e3d9c11aabc4af5
      https://github.com/llvm/llvm-project/commit/938cdd60d4938e32a7f4f1620e3d9c11aabc4af5
  Author: Oleksandr "Alex" Zinenko <git at ozinenko.com>
  Date:   2024-12-15 (Sun, 15 Dec 2024)

  Changed paths:
    M mlir/lib/Dialect/Transform/Transforms/CheckUses.cpp
    M mlir/test/Dialect/Transform/check-use-after-free.mlir

  Log Message:
  -----------
  correctly check uses of pattern descriptor transform ops (#118791)

In the transform dialect use-after-free chcker pass, account for pattern
descriptor operations that intentionally have no declared side effects.
They are not destroying any handles.

Closes #118761.


  Commit: 1c352e66e7bac03a654cbd4c13c3bec6ed346048
      https://github.com/llvm/llvm-project/commit/1c352e66e7bac03a654cbd4c13c3bec6ed346048
  Author: Oleksandr "Alex" Zinenko <git at ozinenko.com>
  Date:   2024-12-15 (Sun, 15 Dec 2024)

  Changed paths:
    M mlir/include/mlir/Dialect/Transform/IR/TransformOps.td
    M mlir/lib/Dialect/Transform/IR/TransformOps.cpp
    M mlir/test/Dialect/Transform/test-interpreter.mlir

  Log Message:
  -----------
  make transform.split_handle accept any handle kind (#118752)

It can now split value and parameter handles in addition to operation
handles. This is a generally useful functionality.


  Commit: d072ca1a496cc3f4ad0adf6f7d43f76406a704d6
      https://github.com/llvm/llvm-project/commit/d072ca1a496cc3f4ad0adf6f7d43f76406a704d6
  Author: Oleksandr "Alex" Zinenko <git at ozinenko.com>
  Date:   2024-12-15 (Sun, 15 Dec 2024)

  Changed paths:
    M mlir/include/mlir/Dialect/Func/IR/FuncOps.td
    M mlir/lib/Dialect/Func/Extensions/InlinerExtension.cpp
    M mlir/test/Transforms/inlining.mlir

  Log Message:
  -----------
  [mlir] add noinline attribute to func.func/call (#119970)

This allows for inlining to be somewhat controlled by the user instead
of always inlining everything. External heuristics may be used to place
`no_inline` attributes on invidiual calls or functions to prevent
inlining.


  Commit: 8345a95a404cb490918201274da877b8ca2edf51
      https://github.com/llvm/llvm-project/commit/8345a95a404cb490918201274da877b8ca2edf51
  Author: William Moses <gh at wsmoses.com>
  Date:   2024-12-15 (Sun, 15 Dec 2024)

  Changed paths:
    M mlir/include/mlir-c/Dialect/LLVM.h
    M mlir/lib/CAPI/Dialect/LLVM.cpp

  Log Message:
  -----------
  MLIR-C: Add accessor for LLVM array type (#119998)


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

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

  Log Message:
  -----------
  [llvm-jitlink] Avoid some SymbolStringPtr copies.


  Commit: 8daf4f16fa08b5d876e98108721dd1743a360326
      https://github.com/llvm/llvm-project/commit/8daf4f16fa08b5d876e98108721dd1743a360326
  Author: Lang Hames <lhames at gmail.com>
  Date:   2024-12-15 (Sun, 15 Dec 2024)

  Changed paths:
    M compiler-rt/lib/orc/CMakeLists.txt
    A compiler-rt/lib/orc/sysv_reenter.x86-64.S
    M compiler-rt/test/orc/TestCases/Generic/lazy-link.ll
    M llvm/include/llvm/ExecutionEngine/JITLink/x86_64.h
    M llvm/lib/ExecutionEngine/JITLink/x86_64.cpp
    M llvm/lib/ExecutionEngine/Orc/JITLinkReentryTrampolines.cpp

  Log Message:
  -----------
  [ORC][ORC-RT] Add ORC-RT based lazy compilation support for x86-64.

Adds support for the ORC-RT based lazy compilation scheme that was introduced
in 570ecdcf8b4.


  Commit: f86f4574bbab9cb8c998f9e6560c68696c45f90f
      https://github.com/llvm/llvm-project/commit/f86f4574bbab9cb8c998f9e6560c68696c45f90f
  Author: Maksim Panchenko <maks at fb.com>
  Date:   2024-12-15 (Sun, 15 Dec 2024)

  Changed paths:
    M bolt/test/X86/linux-static-keys.s

  Log Message:
  -----------
  [BOLT][Linux] Fix static keys test case (#119771)

The key address in the static keys jump table was incorrectly encoded as
an absolute value instead of PC-relative causing incorrect
interpretation of the "likely" property of the key.


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

  Changed paths:
    M llvm/lib/CodeGen/MachineVerifier.cpp
    M llvm/test/MachineVerifier/test_abd_su.mir

  Log Message:
  -----------
  [GISel] Remove unnecessary MachineVerifier checks for G_ABDS/G_ABDU. (#120014)

These are declared to use a single type index for all operands in
GenericOpcodes.td and the verifier knows how to check that all operands
with the same type index match.


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

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

  Log Message:
  -----------
  [TableGen][GISel] Don't use std::optional with pointers (NFC) (#120026)

Pointers already have a well-defined null value.


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

  Changed paths:
    M llvm/include/llvm/IR/DiagnosticInfo.h
    M llvm/lib/CodeGen/RegAllocBase.cpp
    M llvm/lib/CodeGen/RegAllocFast.cpp
    M llvm/lib/IR/DiagnosticInfo.cpp
    M llvm/test/CodeGen/AArch64/arm64-anyregcc-crash.ll
    M llvm/test/CodeGen/AMDGPU/illegal-eviction-assert.mir
    M llvm/test/CodeGen/AMDGPU/issue48473.mir
    A llvm/test/CodeGen/AMDGPU/ran-out-of-registers-error-all-regs-reserved.ll
    A llvm/test/CodeGen/AMDGPU/ran-out-of-registers-errors.ll
    M llvm/test/CodeGen/AMDGPU/remaining-virtual-register-operands.ll
    M llvm/test/CodeGen/PowerPC/ppc64-anyregcc-crash.ll
    M llvm/test/CodeGen/X86/anyregcc-crash.ll

  Log Message:
  -----------
  RegAlloc: Use DiagnosticInfo to report register allocation failures (#119492)

Improve the non-fatal cases to use DiagnosticInfo, which will now
provide a location. The allocators attempt to report different errors
if it happens to see inline assembly is involved (this detection is
quite unreliable) using srcloc instead of dbgloc. For now, leave this
behavior unchanged. I think reporting the full location and context
function would be more useful.


  Commit: 61f99a1c75e9dc84b70d6f2a660e99c1ac182e5b
      https://github.com/llvm/llvm-project/commit/61f99a1c75e9dc84b70d6f2a660e99c1ac182e5b
  Author: Matt Arsenault <Matthew.Arsenault at amd.com>
  Date:   2024-12-16 (Mon, 16 Dec 2024)

  Changed paths:
    M llvm/include/llvm/CodeGen/MachineFunction.h
    M llvm/lib/CodeGen/MachineFunction.cpp
    M llvm/lib/CodeGen/RegAllocBase.cpp
    M llvm/lib/CodeGen/RegAllocBase.h
    M llvm/lib/CodeGen/RegAllocFast.cpp
    M llvm/lib/CodeGen/VirtRegMap.cpp
    M llvm/test/CodeGen/AMDGPU/alloc-all-regs-reserved-in-class.mir
    M llvm/test/CodeGen/AMDGPU/ran-out-of-registers-error-all-regs-reserved.ll
    M llvm/test/CodeGen/AMDGPU/ran-out-of-registers-errors.ll
    M llvm/test/CodeGen/AMDGPU/regalloc-illegal-eviction-assert.ll

  Log Message:
  -----------
  RegAlloc: Do not fatal error if there are no registers in the alloc order (#119640)

Try to use DiagnosticInfo if every register in the class is reserved
by forcing assignment to a reserved register. Also reduces the number
of redundant errors emitted, particularly with fast.

This is still broken in the case of undef uses. There are additional
complications in greedy and fast, so leave it for a separate fix.


  Commit: 818bffcb1c454da8ec778327bde3d974dfe44550
      https://github.com/llvm/llvm-project/commit/818bffcb1c454da8ec778327bde3d974dfe44550
  Author: Matt Arsenault <Matthew.Arsenault at amd.com>
  Date:   2024-12-16 (Mon, 16 Dec 2024)

  Changed paths:
    M llvm/lib/CodeGen/RegAllocFast.cpp
    M llvm/lib/CodeGen/RegAllocGreedy.cpp
    M llvm/test/CodeGen/AMDGPU/ran-out-of-registers-error-all-regs-reserved.ll

  Log Message:
  -----------
  RegAlloc: Fix failure on undef use when all registers are reserved (#119647)

Greedy and fast would hit different assertions on undef uses if all
registers in a class were reserved.


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

  Changed paths:
    M llvm/include/llvm/ExecutionEngine/Orc/Core.h

  Log Message:
  -----------
  [ORC] Add comments to ResourceManager to clarify locking rules.


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

  Changed paths:
    M llvm/include/llvm/ExecutionEngine/Orc/LazyObjectLinkingLayer.h

  Log Message:
  -----------
  [ORC] Fix / add comments for LazyObjectLinkingLayer. NFC.

Also remove some redundant namespace qualification.


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

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

  Log Message:
  -----------
  [RISCV][VLOPT] Get MachineInstr from MachineOperand in getOperandInfo. NFC (#119838)

IICU MI should be MO's parent, so just use MachineOperand::getParent().


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

  Changed paths:
    M llvm/lib/Transforms/Vectorize/VPlanRecipes.cpp
    M llvm/test/Transforms/LoopVectorize/AArch64/clamped-trip-count.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/divs-with-scalable-vfs.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/outer_loop_prefer_scalable.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/scalable-avoid-scalarization.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/sve-inductions-unusual-types.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/sve-tail-folding.ll
    M llvm/test/Transforms/LoopVectorize/RISCV/blocks-with-dead-instructions.ll
    M llvm/test/Transforms/LoopVectorize/RISCV/dead-ops-cost.ll
    M llvm/test/Transforms/LoopVectorize/RISCV/induction-costs.ll
    M llvm/test/Transforms/LoopVectorize/RISCV/mask-index-type.ll
    M llvm/test/Transforms/LoopVectorize/RISCV/masked_gather_scatter.ll
    M llvm/test/Transforms/LoopVectorize/RISCV/pr87378-vpinstruction-or-drop-poison-generating-flags.ll
    M llvm/test/Transforms/LoopVectorize/RISCV/strided-accesses.ll
    M llvm/test/Transforms/LoopVectorize/RISCV/uniform-load-store.ll
    M llvm/test/Transforms/LoopVectorize/RISCV/vectorize-force-tail-with-evl-cond-reduction.ll
    M llvm/test/Transforms/LoopVectorize/RISCV/vectorize-force-tail-with-evl-interleave.ll
    M llvm/test/Transforms/LoopVectorize/outer_loop_scalable.ll

  Log Message:
  -----------
  [VPlan] Omit zero add in VPWidenIntOrFpInductionRecipe (#119668)

I'm not sure if getStepVector was used for other things in the past
where StartIdx was non-zero, but nowadays VPWidenIntOrFpInductionRecipe
is the only user of it, and just passes zero to it. I presume
InstCombine was already catching this so hopefully removing this won't
affect codegen.


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

  Changed paths:
    M llvm/lib/Target/RISCV/RISCVProcessors.td
    M llvm/lib/Target/RISCV/RISCVSubtarget.cpp
    M llvm/lib/Target/RISCV/RISCVSubtarget.h

  Log Message:
  -----------
  [RISCV] Add tune info for postra scheduling direction (#115864)

The results differ on different platforms so it is really hard to
determine a common default value.
    
Tune info for postra scheduling direction is added and CPUs can
set their own preferable postra scheduling direction.


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

  Changed paths:
    M llvm/lib/CodeGen/GlobalISel/LegalizerHelper.cpp
    M llvm/test/CodeGen/AArch64/GlobalISel/legalize-threeway-cmp.mir
    M llvm/test/CodeGen/AArch64/scmp.ll
    M llvm/test/CodeGen/AArch64/ucmp.ll
    M llvm/test/CodeGen/RISCV/GlobalISel/legalizer/legalize-threeway-cmp-rv32.mir
    M llvm/test/CodeGen/RISCV/GlobalISel/legalizer/legalize-threeway-cmp-rv64.mir
    M llvm/test/CodeGen/RISCV/GlobalISel/scmp.ll
    M llvm/test/CodeGen/RISCV/GlobalISel/ucmp.ll

  Log Message:
  -----------
  [GISel][RISCV][AArch64] Support legalizing G_SCMP/G_UCMP to sub(isgt,islt). (#119265)

Convert the LLT to EVT and call
TargetLowering::shouldExpandCmpUsingSelects to determine if we should do
this.

We don't have a getSetccResultType, so I'm boolean extending the
compares to the result type and using that. If the compares legalize to
the same type, these extends will get removed. Unfortunately, if the
compares legalize to a different type, we end up with truncates or
extends that might not be optimally placed.


  Commit: e4fb30205f1df5156328b234ff2a2866b7035fef
      https://github.com/llvm/llvm-project/commit/e4fb30205f1df5156328b234ff2a2866b7035fef
  Author: hev <wangrui at loongson.cn>
  Date:   2024-12-16 (Mon, 16 Dec 2024)

  Changed paths:
    M llvm/lib/Target/LoongArch/LoongArchOptWInstrs.cpp
    M llvm/test/CodeGen/LoongArch/sextw-removal.ll

  Log Message:
  -----------
  [LoongArch] Adds support for vectors in OptWInstrs (#118935)


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

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

  Log Message:
  -----------
  [ORC] Make ObjectLinkingLayerJITLinkContext a private nested class.

This class is an implementation detail, so doesn't need a publicly accessible
name.


  Commit: 9ba7e2da009d7128c81e16f5a8e60c9abcb0e83d
      https://github.com/llvm/llvm-project/commit/9ba7e2da009d7128c81e16f5a8e60c9abcb0e83d
  Author: David Green <david.green at arm.com>
  Date:   2024-12-16 (Mon, 16 Dec 2024)

  Changed paths:
    M llvm/include/llvm/CodeGen/GlobalISel/LegalizationArtifactCombiner.h
    M llvm/test/CodeGen/AArch64/GlobalISel/legalize-ext.mir
    M llvm/test/CodeGen/AMDGPU/GlobalISel/legalize-and.mir
    M llvm/test/CodeGen/AMDGPU/GlobalISel/legalize-merge-values.mir
    M llvm/test/CodeGen/AMDGPU/GlobalISel/legalize-or.mir
    M llvm/test/CodeGen/AMDGPU/GlobalISel/legalize-phi.mir
    M llvm/test/CodeGen/AMDGPU/GlobalISel/legalize-shuffle-vector.s16.mir
    M llvm/test/CodeGen/AMDGPU/GlobalISel/legalize-xor.mir
    M llvm/test/CodeGen/AMDGPU/GlobalISel/legalize-zext.mir

  Log Message:
  -----------
  [GlobalISel] Use replaceRegOrBuildCopy when legalizer-combining s/zext(undef) (#119850)

Similar to #119721, this helps remove some of the COPYs created by the
CSE builder.


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

  Changed paths:
    M llvm/lib/Target/AMDGPU/AMDGPULibCalls.cpp
    M llvm/lib/Target/AMDGPU/AMDGPULibFunc.cpp
    M llvm/lib/Target/AMDGPU/AMDGPULibFunc.h
    A llvm/test/CodeGen/AMDGPU/amdgpu-simplify-libcall-image-function-signatures.ll
    M llvm/test/CodeGen/AMDGPU/amdgpu-simplify-libcall-ldexp.ll

  Log Message:
  -----------
  AMDGPU: Verify function type matches when matching libcalls (#119043)

Previously this would recognize a call to a mangled ldexp(float, float)
as a candidate to replace with the intrinsic. We need to verify the second
parameter is in fact an integer.

Fixes: SWDEV-501389


  Commit: 1100d6a995fe392b3885b8d2bd5afed2bd57e80c
      https://github.com/llvm/llvm-project/commit/1100d6a995fe392b3885b8d2bd5afed2bd57e80c
  Author: Matt Arsenault <Matthew.Arsenault at amd.com>
  Date:   2024-12-16 (Mon, 16 Dec 2024)

  Changed paths:
    M clang/test/CodeGenOpenCL/opencl_types.cl
    M llvm/lib/Target/AMDGPU/AMDGPULibFunc.cpp
    M llvm/test/CodeGen/AMDGPU/amdgpu-simplify-libcall-image-function-signatures.ll

  Log Message:
  -----------
  AMDGPU: Fix libcall recognition of image array types (#119832)

Add tests with get_image_width as a sample for all of the non-extension
image types. The transform doesn't do anything, but this runs through
all the mangled libfunc parsing and shows it does not crash. It would
probably be smarter to check for exact match of the types, rather than
checking the prefix.


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

  Changed paths:
    M llvm/lib/CodeGen/MachineVerifier.cpp
    M llvm/test/MachineVerifier/test_uscmp.mir

  Log Message:
  -----------
  [GISel] Improve MachineVerifier for G_SCMP/UCMP. (#120017)

-Ensure destination type is at least 2 bits.
-Remove unnecessary check that both sources are the same type. The
verifier already handles this generically.


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

  Changed paths:
    M llvm/test/Transforms/PGOProfile/memprof_match_hot_cold_new_calls.ll

  Log Message:
  -----------
  [memprof] YAMLify one test (NFC) (#119955)

This patch replaces the raw binary profile with a YAML profile.

I've trimmed the profile by removing all MemProfRecords except the one
for _Z3foov.

This patch demonstrates that we can see !memprof generated even with a
YAML profile.


  Commit: 62cd735db36c1ba41ba627c8336dfa643ff703af
      https://github.com/llvm/llvm-project/commit/62cd735db36c1ba41ba627c8336dfa643ff703af
  Author: Yuhao Gu <49391101+yhgu2000 at users.noreply.github.com>
  Date:   2024-12-16 (Mon, 16 Dec 2024)

  Changed paths:

  Log Message:
  -----------
  [docs] remove some out-of-date content in LLVM Programmer's Manual. (#119565)

Remove the part about implicit conversion from an iterator to a pointer.

This part of the manual was written 14 years ago, in:
https://github.com/llvm/llvm-project/commit/37027c30ec526afe3bb571df6f8701bf0d322f22

There do exist a type casting operator in `ilist` then:
https://github.com/llvm/llvm-project/blob/37027c30ec526afe3bb571df6f8701bf0d322f22/llvm/include/llvm/ADT/ilist.h#L192-L194

But it has been remove since 2016:
https://github.com/llvm/llvm-project/commit/f197b1f78f854d8513ef617b8cfc61860f7b4b84

So I think it makes sense to remove this part to avoid mislead new
contributors.


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

  Changed paths:
    M llvm/lib/CodeGen/GlobalISel/LegalizerHelper.cpp
    M llvm/test/CodeGen/RISCV/GlobalISel/double-arith.ll
    M llvm/test/CodeGen/RISCV/GlobalISel/double-convert.ll
    M llvm/test/CodeGen/RISCV/GlobalISel/double-fcmp.ll
    M llvm/test/CodeGen/RISCV/GlobalISel/float-arith.ll
    M llvm/test/CodeGen/RISCV/GlobalISel/float-convert.ll
    M llvm/test/CodeGen/RISCV/GlobalISel/float-fcmp.ll
    M llvm/test/CodeGen/RISCV/GlobalISel/float-intrinsics.ll
    M llvm/test/CodeGen/RISCV/GlobalISel/fp128.ll
    M llvm/test/CodeGen/RISCV/GlobalISel/legalizer/legalize-addo-subo-rv64.mir
    M llvm/test/CodeGen/RISCV/GlobalISel/legalizer/legalize-icmp-rv64.mir
    M llvm/test/CodeGen/RISCV/GlobalISel/legalizer/legalize-sat-rv64.mir
    M llvm/test/CodeGen/RISCV/GlobalISel/legalizer/legalize-umax-rv64.mir
    M llvm/test/CodeGen/RISCV/GlobalISel/legalizer/legalize-umin-rv64.mir
    M llvm/test/CodeGen/RISCV/GlobalISel/rv64zbb.ll
    M llvm/test/CodeGen/RISCV/GlobalISel/ucmp.ll

  Log Message:
  -----------
  [GISel][RISCV] Use isSExtCheaperThanZExt when widening G_ICMP. (#120032)

Sign extending i32->i64 is more efficient than zero extend for RV64.


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

  Changed paths:
    M llvm/lib/CodeGen/GlobalISel/LegalizerHelper.cpp
    M llvm/test/CodeGen/RISCV/GlobalISel/legalizer/legalize-umax-rv64.mir
    M llvm/test/CodeGen/RISCV/GlobalISel/legalizer/legalize-umin-rv64.mir
    M llvm/test/CodeGen/RISCV/GlobalISel/rv64zbb.ll

  Log Message:
  -----------
  [GISel][RISCV] Use isSExtCheaperThanZExt when widening G_UMAX/G_UMIN. (#120041)

Similar to what we do for unsigned comparisons after #120032.


  Commit: f65a21a4ecc2e712c700c59842b6b9a1d2a9a060
      https://github.com/llvm/llvm-project/commit/f65a21a4ecc2e712c700c59842b6b9a1d2a9a060
  Author: Daniil Kovalev <dkovalev at accesssoftek.com>
  Date:   2024-12-16 (Mon, 16 Dec 2024)

  Changed paths:
    M clang/lib/CodeGen/CodeGenModule.cpp
    M clang/test/CodeGen/ptrauth-module-flags.c
    M llvm/include/llvm/CodeGen/MachineModuleInfoImpls.h
    M llvm/include/llvm/CodeGen/TargetLoweringObjectFileImpl.h
    M llvm/include/llvm/Target/TargetLoweringObjectFile.h
    M llvm/lib/CodeGen/AsmPrinter/DwarfCFIException.cpp
    M llvm/lib/CodeGen/MachineModuleInfoImpls.cpp
    M llvm/lib/CodeGen/TargetLoweringObjectFileImpl.cpp
    M llvm/lib/Target/AArch64/AArch64TargetObjectFile.cpp
    M llvm/lib/Target/AArch64/AArch64TargetObjectFile.h
    M llvm/lib/Target/AArch64/MCTargetDesc/AArch64TargetStreamer.cpp
    M llvm/lib/Target/AArch64/MCTargetDesc/AArch64TargetStreamer.h
    M llvm/lib/Target/TargetLoweringObjectFile.cpp
    A llvm/test/CodeGen/AArch64/ptrauth-sign-personality.ll

  Log Message:
  -----------
  [PAC][ELF][AArch64] Support signed personality function pointer (#119361)

Re-apply #113148 after revert in #119331

If function pointer signing is enabled, sign personality function
pointer stored in `.DW.ref.__gxx_personality_v0` section with IA key,
0x7EAD = `ptrauth_string_discriminator("personality")` constant
discriminator and address diversity enabled.


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

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

  Log Message:
  -----------
  RegAllocBase: Avoid using temporary DiagnosticInfo (#120046)


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

  Changed paths:
    M llvm/lib/Transforms/Scalar/ConstraintElimination.cpp
    A llvm/test/Transforms/ConstraintElimination/sub-nsw.ll

  Log Message:
  -----------
  [ConstraintElim] Decompose `sub nsw` (#118219)

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


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

  Changed paths:
    M lldb/test/API/CMakeLists.txt

  Log Message:
  -----------
  [lldb][test] Prefer gmake to make and warn for potentially non-GNU make (#119573)

System make on FreeBSD is missing some GNU make features so out of the
box you get a lot of:
```
make: "<...>/Makefile.rules" line 569: Invalid line type
```

To solve this, you can install gmake which is a port of GNU make.
However because we prefer 'make', gmake won't be used unless you set
LLDB_TEST_MAKE.

To fix that, prefer 'gmake'. Also check (as best we can) that the make
we found is GNU make. This won't be perfect but it's better than the
cryptic error shown above.
```
-- Found make: /usr/bin/make
CMake Warning at /home/ec2-user/llvm-project/lldb/test/API/CMakeLists.txt:63 (message):
  'make' tool /usr/bin/make may not be GNU make compatible.  Some tests may
  fail to build.  Provide a GNU compatible 'make' tool by setting
  LLDB_TEST_MAKE.
```
When a make isn't found at all, the warning message will show the names
we tried:
```
-- Did not find one of: gmake make
CMake Warning at /home/ec2-user/llvm-project/lldb/test/API/CMakeLists.txt:69 (message):
  Many LLDB API tests require a 'make' tool.  Please provide it in Path or
  pass via LLDB_TEST_MAKE.
```


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

  Changed paths:
    M llvm/include/llvm/CodeGen/GlobalISel/GIMatchTableExecutorImpl.h
    M llvm/include/llvm/CodeGen/GlobalISel/LegalizationArtifactCombiner.h
    M llvm/lib/CodeGen/BranchFolding.cpp
    M llvm/lib/CodeGen/GlobalISel/CSEInfo.cpp
    M llvm/lib/CodeGen/MIRCanonicalizerPass.cpp
    M llvm/lib/CodeGen/MachineCombiner.cpp
    M llvm/lib/CodeGen/MachineLateInstrsCleanup.cpp
    M llvm/lib/CodeGen/MachineOutliner.cpp
    M llvm/lib/CodeGen/MachinePipeliner.cpp
    M llvm/lib/CodeGen/ModuloSchedule.cpp
    M llvm/lib/CodeGen/ScheduleDAGInstrs.cpp
    M llvm/lib/CodeGen/SelectionDAG/FastISel.cpp
    M llvm/lib/CodeGen/SelectionDAG/SelectionDAGISel.cpp
    M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
    M llvm/lib/Target/AArch64/AArch64PBQPRegAlloc.cpp
    M llvm/lib/Target/ARM/ARMISelLowering.cpp
    M llvm/lib/Target/ARM/Thumb2ITBlockPass.cpp

  Log Message:
  -----------
  [NFC] Remove some unnecessary semicolons

All inside LLVM_DEBUG, some of which have been cleaned up by adding block
scopes to allow them to format more nicely.


  Commit: a24645463bd8a758005f4e5fdcd78971f87e3ba1
      https://github.com/llvm/llvm-project/commit/a24645463bd8a758005f4e5fdcd78971f87e3ba1
  Author: Aiden Grossman <aidengrossman at google.com>
  Date:   2024-12-16 (Mon, 16 Dec 2024)

  Changed paths:
    M .ci/monolithic-linux.sh
    M .ci/monolithic-windows.sh

  Log Message:
  -----------
  [CI] Only upload test results if buildkite-agent is present (#119954)

This patch modifies the monolithic shell scrips to only run if the
buildkite-agent application is present. This allows for running the
scripts to completion outside of buildkite (eg inside of a GHA
pipeline).


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

  Changed paths:
    M clang/lib/AST/ByteCode/Integral.h
    M clang/lib/AST/ByteCode/Interp.h
    M clang/test/AST/ByteCode/shifts.cpp

  Log Message:
  -----------
  Reapply "[clang][bytecode] Fix some shift edge cases (#119895)"

This reverts commit a6636ce4d124176856c3913d4bf6c3ceff1f5a1f.

This original commit failed on hosts with signed wchar_t. Care for
this in the test.


  Commit: 92a4f4dda5796049b6dbeb5ed89384380bff97d9
      https://github.com/llvm/llvm-project/commit/92a4f4dda5796049b6dbeb5ed89384380bff97d9
  Author: Vadim D. <vvd170501 at gmail.com>
  Date:   2024-12-16 (Mon, 16 Dec 2024)

  Changed paths:
    M clang/lib/Tooling/Inclusions/Stdlib/StdSpecialSymbolMap.inc
    M clang/lib/Tooling/Inclusions/Stdlib/StdSymbolMap.inc

  Log Message:
  -----------
  [Tooling/Inclusion] Update std symbol mapping (#118174)

This adds new symbols to the generated mapping and removes special
mappings for missing symbols introduced in #113612, as these symbols are
now included in the generated mapping.


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

  Changed paths:
    M compiler-rt/lib/builtins/aarch64/sme-abi.S
    M compiler-rt/lib/builtins/aarch64/sme-libc-mem-routines.S

  Log Message:
  -----------
  [compiler-rt][AArch64] Allow platform-specific mangling of SME routines. (#119864)

Support platform-specific mangling to avoid the compiler emitting a call
to a function that is mangled differently than the definition in the
runtime library.


  Commit: ace87ec04cd588e5fbe393c3b642bd759a7abadb
      https://github.com/llvm/llvm-project/commit/ace87ec04cd588e5fbe393c3b642bd759a7abadb
  Author: Juan Manuel Martinez Caamaño <jmartinezcaamao at gmail.com>
  Date:   2024-12-16 (Mon, 16 Dec 2024)

  Changed paths:
    M llvm/lib/Target/AMDGPU/AMDGPURegisterBankInfo.cpp
    M llvm/test/CodeGen/AMDGPU/gfx12_scalar_subword_loads.ll

  Log Message:
  -----------
  [AMDGPU][AMDGPURegBankInfo] Map S_BUFFER_LOAD_XXX to its corresponding BUFFER_LOAD_XXX (#117574)

In one test code generation diverged between GISEL and DAG

For example, this intrinsic

> %ld = call i8 @llvm.amdgcn.s.buffer.load.u8(<4 x i32> %src, i32
%offset, i32 0)

would be lowered into these two cases:
* `buffer_load_u8 v2, v2, s[0:3], null offen`
* `buffer_load_b32 v2, v2, s[0:3], null offen`

This patch fixes this issue.


  Commit: 978de2d6664a74864471d62244700c216fdc6741
      https://github.com/llvm/llvm-project/commit/978de2d6664a74864471d62244700c216fdc6741
  Author: Vyacheslav Levytskyy <vyacheslav.levytskyy at intel.com>
  Date:   2024-12-16 (Mon, 16 Dec 2024)

  Changed paths:
    M llvm/docs/SPIRVUsage.rst
    M llvm/lib/Target/SPIRV/MCTargetDesc/SPIRVMCCodeEmitter.cpp
    M llvm/lib/Target/SPIRV/SPIRVBuiltins.cpp
    M llvm/lib/Target/SPIRV/SPIRVBuiltins.h
    M llvm/lib/Target/SPIRV/SPIRVCommandLine.cpp
    M llvm/lib/Target/SPIRV/SPIRVEmitIntrinsics.cpp
    M llvm/lib/Target/SPIRV/SPIRVGlobalRegistry.cpp
    M llvm/lib/Target/SPIRV/SPIRVInstrInfo.td
    M llvm/lib/Target/SPIRV/SPIRVInstructionSelector.cpp
    M llvm/lib/Target/SPIRV/SPIRVLegalizerInfo.cpp
    M llvm/lib/Target/SPIRV/SPIRVModuleAnalysis.cpp
    M llvm/lib/Target/SPIRV/SPIRVPostLegalizer.cpp
    M llvm/lib/Target/SPIRV/SPIRVPreLegalizer.cpp
    M llvm/lib/Target/SPIRV/SPIRVSymbolicOperands.td
    A llvm/test/CodeGen/SPIRV/extensions/SPV_INTEL_float_controls2/exec_mode_float_control_empty.ll
    A llvm/test/CodeGen/SPIRV/extensions/SPV_INTEL_float_controls2/exec_mode_float_control_intel.ll
    M llvm/test/CodeGen/SPIRV/instructions/integer-casts.ll
    A llvm/test/CodeGen/SPIRV/llvm-intrinsics/constrained-arithmetic.ll

  Log Message:
  -----------
  [SPIR-V] Add saturation and float rounding mode decorations, a subset of arithmetic constrained floating-point intrinsics, and SPV_INTEL_float_controls2 extension (#119862)

This PR adds the following features:
* saturation and float rounding mode decorations,
* arithmetic constrained floating-point intrinsics (strict_fadd,
strict_fsub, strict_fmul, strict_fdiv, strict_frem, strict_fma and
strict_fldexp),
* and SPV_INTEL_float_controls2 extension,
* using recent improvements of emit-intrinsics step, this PR also
simplifies pre- and post-legalizer steps and improves instruction
selection.


  Commit: 95e509a98993e84ef987accb2ed7109c3810281e
      https://github.com/llvm/llvm-project/commit/95e509a98993e84ef987accb2ed7109c3810281e
  Author: Florian Hahn <flo at fhahn.com>
  Date:   2024-12-16 (Mon, 16 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/test/Transforms/LoopVectorize/vplan-printing.ll

  Log Message:
  -----------
  [VPlan] Add VPWidenInduction recipe as common base class (NFC). (#120008)

This helps to simplify some existing code and new code
(https://github.com/llvm/llvm-project/pull/112145)

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


  Commit: aff3e68d6f10dd3087c29a09865683b9d35a362e
      https://github.com/llvm/llvm-project/commit/aff3e68d6f10dd3087c29a09865683b9d35a362e
  Author: Shao-Ce SUN <sunshaoce at outlook.com>
  Date:   2024-12-16 (Mon, 16 Dec 2024)

  Changed paths:
    M llvm/lib/MC/TargetRegistry.cpp
    M llvm/test/tools/llc/invalid-target.ll
    M llvm/tools/llc/llc.cpp

  Log Message:
  -----------
  [LLVM][tools] Remove unnecessary newline from error message (#120037)

The previous missing a newline:
```shell
$ llc --mattr=help
llc: error: unable to get target for 'unknown', see --version and --triple.$
```


  Commit: 3b17d041dd775e033cca499f2a25548c8c22bb86
      https://github.com/llvm/llvm-project/commit/3b17d041dd775e033cca499f2a25548c8c22bb86
  Author: Benjamin Maxwell <benjamin.maxwell at arm.com>
  Date:   2024-12-16 (Mon, 16 Dec 2024)

  Changed paths:
    M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
    A llvm/test/CodeGen/AArch64/sve-load-store-strict-align.ll
    A llvm/test/CodeGen/AArch64/sve-unaligned-load-store-strict-align.ll

  Log Message:
  -----------
  [AArch64][SVE] Don't require 16-byte aligned SVE loads/stores with +strict-align (#119732)

Instead, allow any alignment >= the element size (in bytes). This is all
that is needed for (predicated) vector loads even if unaligned accesses
are disabled.

See:
https://developer.arm.com/documentation/ddi0602/2024-09/Shared-Pseudocode/aarch64-functions-memory?lang=en#impl-aarch64.Mem.read.3

Specifically:
```
// Check alignment on size of element accessed, not overall access size.
constant integer alignment = if accdesc.ispair then size DIV 2 else size;
```

The `size` passed to `Mem` by SVE load/store instructions is the element
size.


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

  Changed paths:
    M llvm/lib/Target/ARM/ARMInstrInfo.td
    M llvm/lib/Target/ARM/ARMInstrThumb2.td
    A llvm/test/MC/ARM/idiv-2op.s
    M llvm/test/MC/ARM/idiv.s

  Log Message:
  -----------
  [ARM][Thumb2] Allow 2-operand variants of `[us]div` (#119976)

Fixes #119963


  Commit: e31c70d9fa9ba4e61ecf0b34fbc6da2785e60eb6
      https://github.com/llvm/llvm-project/commit/e31c70d9fa9ba4e61ecf0b34fbc6da2785e60eb6
  Author: Oliver Stannard <oliver.stannard at arm.com>
  Date:   2024-12-16 (Mon, 16 Dec 2024)

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

  Log Message:
  -----------
  [AArch64] Add immediate range checks for more MTE instructions (#119216)

This would have turned the bug fixed in #117146 from a miscompilation
into an assertion failure.


  Commit: 0dbdc23e78ac1f34a5b563f2db73f9ca64714fac
      https://github.com/llvm/llvm-project/commit/0dbdc23e78ac1f34a5b563f2db73f9ca64714fac
  Author: Pavel Labath <pavel at labath.sk>
  Date:   2024-12-16 (Mon, 16 Dec 2024)

  Changed paths:
    M lldb/include/lldb/Core/Progress.h
    M lldb/source/Core/Progress.cpp
    M lldb/source/Plugins/SymbolFile/DWARF/ManualDWARFIndex.cpp
    M lldb/unittests/Core/ProgressReportTest.cpp

  Log Message:
  -----------
  [lldb] Add ability to rate-limit progress reports (#119377)

For high-frequency multithreaded progress reports, the contention of
taking the progress mutex and the overhead of generating event can
significantly slow down the operation whose progress we are reporting.

This patch adds an (optional) capability to rate-limit them. It's
optional because this approach has one drawback: if the progress
reporting has a pattern where it generates a burst of activity and then
blocks (without reporting anything) for a large amount of time, it can
appear as if less progress was made that it actually was (because we
only reported the first event from the burst and dropped the other
ones).

I've also made a small refactor of the Progress class to better
distinguish between const (don't need protection), atomic (are used on
the hot path) and other (need mutex protection) members.


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

  Changed paths:
    M mlir/unittests/Analysis/Presburger/CMakeLists.txt
    M mlir/unittests/Bytecode/CMakeLists.txt
    M mlir/unittests/Conversion/PDLToPDLInterp/CMakeLists.txt
    M mlir/unittests/Debug/CMakeLists.txt
    M mlir/unittests/Dialect/AMDGPU/CMakeLists.txt
    M mlir/unittests/Dialect/ArmSME/CMakeLists.txt
    M mlir/unittests/Dialect/CMakeLists.txt
    M mlir/unittests/Dialect/Index/CMakeLists.txt
    M mlir/unittests/Dialect/LLVMIR/CMakeLists.txt
    M mlir/unittests/Dialect/MemRef/CMakeLists.txt
    M mlir/unittests/Dialect/OpenACC/CMakeLists.txt
    M mlir/unittests/Dialect/Polynomial/CMakeLists.txt
    M mlir/unittests/Dialect/SCF/CMakeLists.txt
    M mlir/unittests/Dialect/SPIRV/CMakeLists.txt
    M mlir/unittests/Dialect/SparseTensor/CMakeLists.txt
    M mlir/unittests/Dialect/Transform/CMakeLists.txt
    M mlir/unittests/Dialect/Utils/CMakeLists.txt
    M mlir/unittests/ExecutionEngine/CMakeLists.txt
    M mlir/unittests/IR/CMakeLists.txt
    M mlir/unittests/Interfaces/CMakeLists.txt
    M mlir/unittests/Parser/CMakeLists.txt
    M mlir/unittests/Pass/CMakeLists.txt
    M mlir/unittests/Rewrite/CMakeLists.txt
    M mlir/unittests/Support/CMakeLists.txt
    M mlir/unittests/Target/LLVM/CMakeLists.txt
    M mlir/unittests/Tools/lsp-server-support/CMakeLists.txt
    M mlir/unittests/Transforms/CMakeLists.txt

  Log Message:
  -----------
  [mlir] Use mlir_target_link_libraries for unit tests (#119858)

This is a followup to https://github.com/llvm/llvm-project/pull/119408,
which switches unit test binaries to also use
mlir_target_link_libraries() where necessary. This allows them to link
against against the MLIR dylib.


  Commit: 3ad2399148953837622d78d18ae9fd0db6ad0557
      https://github.com/llvm/llvm-project/commit/3ad2399148953837622d78d18ae9fd0db6ad0557
  Author: Björn Pettersson <bjorn.a.pettersson at ericsson.com>
  Date:   2024-12-16 (Mon, 16 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/apx/or.ll
    M llvm/test/CodeGen/X86/illegal-bitfield-loadstore.ll
    M llvm/test/CodeGen/X86/pr35763.ll
    M llvm/test/CodeGen/X86/store_op_load_fold.ll

  Log Message:
  -----------
  [DAGCombiner] Refactor and improve ReduceLoadOpStoreWidth (#119564)

This patch make a couple of improvements to ReduceLoadOpStoreWidth.

When determining the minimum size of "NewBW" we now take byte boundaries
into account. If we for example touch bits 6-10 we shouldn't accept
NewBW=8, because we would fail later when detecting that we can't access
bits from two different bytes in memory using a single load. Instead we
make sure to align LSB/MSB according to byte size boundaries up front
before searching for a viable "NewBW".

In the past we only tried to find a "ShAmt" that was a multiple of
"NewBW", but now we use a sliding window technique to scan for a viable
"ShAmt" that is a multiple of the byte size. This can help out finding
more opportunities for optimization (specially if the original type
isn't byte sized, and for big-endian targets when the original
load/store is aligned on the most significant bit).


  Commit: 02328e0465c256293950542f1a85eb55bcbc9d45
      https://github.com/llvm/llvm-project/commit/02328e0465c256293950542f1a85eb55bcbc9d45
  Author: Paul Walker <paul.walker at arm.com>
  Date:   2024-12-16 (Mon, 16 Dec 2024)

  Changed paths:
    M llvm/lib/IR/ConstantFold.cpp
    M llvm/lib/IR/Constants.cpp
    M llvm/test/Transforms/InstCombine/clamp-to-minmax.ll
    M llvm/test/Transforms/InstCombine/fabs-fneg-fold.ll
    M llvm/test/Transforms/InstCombine/fadd.ll
    M llvm/test/Transforms/InstCombine/fdiv.ll
    M llvm/test/Transforms/InstCombine/fmul.ll
    M llvm/test/Transforms/InstCombine/fneg.ll

  Log Message:
  -----------
  [LLVM][ConstantFold] Remove remaining uses of ConstantInt/FP::get(LLVMContext... (#119912)

This extends the constant folds to support vector ConstantInt/FP.


  Commit: d280a9c5e22662fd24708245add50b152ab10fc8
      https://github.com/llvm/llvm-project/commit/d280a9c5e22662fd24708245add50b152ab10fc8
  Author: Shao-Ce SUN <sunshaoce at outlook.com>
  Date:   2024-12-16 (Mon, 16 Dec 2024)

  Changed paths:
    M clang/test/Driver/print-enabled-extensions/riscv-rocket-rv64.c
    M clang/test/Driver/print-supported-extensions-riscv.c
    M llvm/lib/Target/RISCV/RISCVFeatures.td
    A llvm/test/CodeGen/RISCV/features-info.ll

  Log Message:
  -----------
  [NFC] [RISCV] Refactor class RISCVExtension (#120040)

I think typo can be avoided by reducing the number of times we re-enter
the extension name.


  Commit: 2df48fa78b496a2d276aa848598634bb2aad6857
      https://github.com/llvm/llvm-project/commit/2df48fa78b496a2d276aa848598634bb2aad6857
  Author: Paschalis Mpeis <paschalis.mpeis at arm.com>
  Date:   2024-12-16 (Mon, 16 Dec 2024)

  Changed paths:
    M bolt/include/bolt/Passes/ADRRelaxationPass.h
    M bolt/lib/Rewrite/BinaryPassManager.cpp

  Log Message:
  -----------
  [BOLT][AArch64] Enable function print after ADRRelaxation (#119869)

Introduce `--print-adr-relaxation` to print after ADR Relaxation pass.


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

  Changed paths:
    A llvm/lib/Target/AMDGPU/AMDGPUSelectionDAGInfo.cpp
    A llvm/lib/Target/AMDGPU/AMDGPUSelectionDAGInfo.h
    M llvm/lib/Target/AMDGPU/CMakeLists.txt
    M llvm/lib/Target/AMDGPU/GCNSubtarget.cpp
    M llvm/lib/Target/AMDGPU/GCNSubtarget.h
    M llvm/lib/Target/AMDGPU/R600Subtarget.cpp
    M llvm/lib/Target/AMDGPU/R600Subtarget.h
    M llvm/lib/Target/Mips/CMakeLists.txt
    A llvm/lib/Target/Mips/MipsSelectionDAGInfo.cpp
    A llvm/lib/Target/Mips/MipsSelectionDAGInfo.h
    M llvm/lib/Target/Mips/MipsSubtarget.cpp
    M llvm/lib/Target/Mips/MipsSubtarget.h
    M llvm/lib/Target/NVPTX/CMakeLists.txt
    A llvm/lib/Target/NVPTX/NVPTXSelectionDAGInfo.cpp
    A llvm/lib/Target/NVPTX/NVPTXSelectionDAGInfo.h
    M llvm/lib/Target/NVPTX/NVPTXSubtarget.cpp
    M llvm/lib/Target/NVPTX/NVPTXSubtarget.h
    M llvm/lib/Target/PowerPC/CMakeLists.txt
    A llvm/lib/Target/PowerPC/PPCSelectionDAGInfo.cpp
    A llvm/lib/Target/PowerPC/PPCSelectionDAGInfo.h
    M llvm/lib/Target/PowerPC/PPCSubtarget.cpp
    M llvm/lib/Target/PowerPC/PPCSubtarget.h
    M llvm/lib/Target/RISCV/CMakeLists.txt
    A llvm/lib/Target/RISCV/RISCVSelectionDAGInfo.cpp
    A llvm/lib/Target/RISCV/RISCVSelectionDAGInfo.h
    M llvm/lib/Target/RISCV/RISCVSubtarget.cpp
    M llvm/lib/Target/RISCV/RISCVSubtarget.h
    M llvm/lib/Target/RISCV/RISCVTargetMachine.h

  Log Message:
  -----------
  [SelectionDAG] Add empty implementation of SelectionDAGInfo to some targets (#119968)

#119969 adds a couple of new methods to this class, which will need to
be overridden by these targets.

Part of #119709.

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


  Commit: 671095b452365826b1ccb65483d6ae890a2a81f7
      https://github.com/llvm/llvm-project/commit/671095b452365826b1ccb65483d6ae890a2a81f7
  Author: Nicholas <45984215+liusy58 at users.noreply.github.com>
  Date:   2024-12-16 (Mon, 16 Dec 2024)

  Changed paths:
    M bolt/lib/Passes/LongJmp.cpp
    A bolt/test/AArch64/long-jmp-one-stub.s

  Log Message:
  -----------
  [BOLT][AArch64] Check Last Element Instead of Returning `nullptr` in `lookupStubFromGroup` (#114015)

The current implementation of `lookupStubFromGroup` is incorrect. The
function is intended to find and return the closest stub using
`lower_bound`, which identifies the first element in a sorted range that
is not less than a specified value. However, if such an element is not
found within `Candidates` and the list is not empty, the function
returns `nullptr`. Instead, it should check whether the last element
satisfies the condition.


  Commit: 38b3d87bd384a469a6618ec6a971352cb4f813ba
      https://github.com/llvm/llvm-project/commit/38b3d87bd384a469a6618ec6a971352cb4f813ba
  Author: Dmitry Polukhin <34227995+dmpolukhin at users.noreply.github.com>
  Date:   2024-12-16 (Mon, 16 Dec 2024)

  Changed paths:
    M clang/include/clang/Serialization/ASTBitCodes.h
    M clang/include/clang/Serialization/ASTReader.h
    M clang/include/clang/Serialization/ASTWriter.h
    M clang/lib/Sema/SemaTemplateInstantiateDecl.cpp
    M clang/lib/Serialization/ASTReader.cpp
    M clang/lib/Serialization/ASTReaderDecl.cpp
    M clang/lib/Serialization/ASTWriter.cpp
    M clang/lib/Serialization/ASTWriterDecl.cpp
    A clang/test/Headers/crash-instantiated-in-scope-cxx-modules4.cpp
    A clang/test/Modules/friend-inline-function-body.cpp

  Log Message:
  -----------
  [C++20][Modules] Load function body from the module that gives canonical decl (#111992)

Summary:
Fix crash from reproducer provided in
https://github.com/llvm/llvm-project/pull/109167#issuecomment-2405289565
Also fix issues with merged inline friend functions merged during deserialization.

Test Plan: check-clang


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

  Changed paths:
    M clang/test/Preprocessor/predefined-arch-macros.c
    M llvm/lib/Target/X86/X86.td
    M llvm/lib/TargetParser/X86TargetParser.cpp

  Log Message:
  -----------
  [X86] Add missing feature USERMSR to DiamondRapids (#120061)

Ref.: https://cdrdv2.intel.com/v1/dl/getContent/671368


  Commit: dd6f6a096a59892ce1f9c454461aa5ed4c2aa971
      https://github.com/llvm/llvm-project/commit/dd6f6a096a59892ce1f9c454461aa5ed4c2aa971
  Author: Timm Baeder <tbaeder at redhat.com>
  Date:   2024-12-16 (Mon, 16 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_wmemcmp (#120070)


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

  Changed paths:
    M llvm/utils/gn/secondary/llvm/lib/Target/AMDGPU/BUILD.gn
    M llvm/utils/gn/secondary/llvm/lib/Target/Mips/BUILD.gn
    M llvm/utils/gn/secondary/llvm/lib/Target/NVPTX/BUILD.gn
    M llvm/utils/gn/secondary/llvm/lib/Target/PowerPC/BUILD.gn
    M llvm/utils/gn/secondary/llvm/lib/Target/RISCV/BUILD.gn

  Log Message:
  -----------
  [gn build] Port 03847f19f2e4


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

  Changed paths:
    A llvm/test/Transforms/VectorCombine/X86/shuffle-of-cmps.ll

  Log Message:
  -----------
  [VectorCombine] Add test coverage for shuffle(cmp,cmp) fold patterns


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

  Changed paths:
    M llvm/lib/Transforms/InstCombine/InstCombineSelect.cpp
    M llvm/test/Transforms/InstCombine/select.ll

  Log Message:
  -----------
  [InstCombine] Recursively replace condition with constant in select arms (#120011)

This patch is proposed to reduce the number of selects with undefs
introduced by https://github.com/llvm/llvm-project/pull/119884.


  Commit: ef4b597015db0e558f3a75f2f75d471a1cabe0b6
      https://github.com/llvm/llvm-project/commit/ef4b597015db0e558f3a75f2f75d471a1cabe0b6
  Author: Jonathan Thackray <jonathan.thackray at arm.com>
  Date:   2024-12-16 (Mon, 16 Dec 2024)

  Changed paths:
    M clang/include/clang/Basic/arm_sme.td
    M clang/test/CodeGen/AArch64/sme2-intrinsics/acle_sme2_fp8_fdot.c
    M clang/test/Sema/aarch64-sme2-intrinsics/acle_sme2_fp8_fdot.c
    M llvm/include/llvm/IR/IntrinsicsAArch64.td
    M llvm/lib/Target/AArch64/AArch64SMEInstrInfo.td
    M llvm/lib/Target/AArch64/SMEInstrFormats.td
    M llvm/test/CodeGen/AArch64/sme2-intrinsics-fp8-fdot.ll

  Log Message:
  -----------
  [AArch64] Add intrinsics for SME FP8 FDOT single and multi instructions (#119845)

Add support for the following SME 8 bit floating-point dot-product intrinsics:

```
// Only if __ARM_FEATURE_SME_F8F16 != 0
void svdot[_single]_za16[_mf8]_vg1x2_fpm(uint32_t slice, svmfloat8x2_t zn,
                                         svmfloat8_t zm,
                                         fpm_t fpm) __arm_streaming __arm_inout("za");

void svdot[_single]_za16[_mf8]_vg1x4_fpm(uint32_t slice, svmfloat8x4_t zn,
                                         svmfloat8_t zm,
                                         fpm_t fpm) __arm_streaming __arm_inout("za");

void svdot_za16[_mf8]_vg1x2_fpm(uint32_t slice, svmfloat8x2_t zn,
                                svmfloat8x2_t zm,
                                fpm_t fpm) __arm_streaming __arm_inout("za");

void svdot_za16[_mf8]_vg1x4_fpm(uint32_t slice, svmfloat8x4_t zn,
                                svmfloat8x4_t zm,
                                fpm_t fpm) __arm_streaming __arm_inout("za");

// Only if __ARM_FEATURE_SME_F8F32 != 0
void svdot[_single]_za32[_mf8]_vg1x2_fpm(uint32_t slice, svmfloat8x2_t zn,
                                         svmfloat8_t zm,
                                         fpm_t fpm) __arm_streaming __arm_inout("za");

void svdot[_single]_za32[_mf8]_vg1x4_fpm(uint32_t slice, svmfloat8x4_t zn,
                                         svmfloat8_t zm,
                                         fpm_t fpm) __arm_streaming __arm_inout("za");

void svdot_za32[_mf8]_vg1x2_fpm(uint32_t slice, svmfloat8x2_t zn,
                                svmfloat8x2_t zm,
                                fpm_t fpm) __arm_streaming __arm_inout("za");

void svdot_za32[_mf8]_vg1x4_fpm(uint32_t slice, svmfloat8x4_t zn,
                                svmfloat8x4_t zm,
                                fpm_t fpm) __arm_streaming __arm_inout("za");
```

These intrinsics are extracted from:
https://github.com/ARM-software/acle/pull/323/

Co-authored-by: Momchil Velikov <momchil.velikov at arm.com>
Co-authored-by: Marian Lukac <marian.lukac at arm.com>


  Commit: 93fab6e362a3124af76c6e82f90ca1385aea6d1f
      https://github.com/llvm/llvm-project/commit/93fab6e362a3124af76c6e82f90ca1385aea6d1f
  Author: Mikhail Goncharov <goncharov.mikhail at gmail.com>
  Date:   2024-12-16 (Mon, 16 Dec 2024)

  Changed paths:
    M llvm/test/CodeGen/NVPTX/nvcl-param-align.ll

  Log Message:
  -----------
  [NVPTX] fix nvcl-param-align test triple

for b279f6b098d3849f7f1c1f539b108307d5f8ae2d


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

  Changed paths:
    M llvm/lib/Target/AMDGPU/AMDGPULibFunc.cpp
    A llvm/test/CodeGen/AMDGPU/amdgpu-simplify-libcall-unexpected-types.ll

  Log Message:
  -----------
  AMDGPU: Do not assert on unhandled types when demangling libcalls (#120068)


  Commit: 3c3094b60d3587b1db8ef35b3bf54e73ac5894d9
      https://github.com/llvm/llvm-project/commit/3c3094b60d3587b1db8ef35b3bf54e73ac5894d9
  Author: macurtis-amd <macurtis at amd.com>
  Date:   2024-12-16 (Mon, 16 Dec 2024)

  Changed paths:
    M flang/lib/Parser/parsing.cpp
    M flang/test/Preprocessing/pp132.f90

  Log Message:
  -----------
  [flang] Ensure directive sentinels are in cols 1-5 in pp output (#119406)

Preprocessor output is intended to be valid fixed form.


  Commit: 8380bafaed84cb5799feef70bf34387d6f15acff
      https://github.com/llvm/llvm-project/commit/8380bafaed84cb5799feef70bf34387d6f15acff
  Author: Jonathan Thackray <jonathan.thackray at arm.com>
  Date:   2024-12-16 (Mon, 16 Dec 2024)

  Changed paths:
    M clang/include/clang/Basic/arm_sme.td
    A clang/test/CodeGen/AArch64/sme2-intrinsics/acle_sme2_fp8_fvdot.c
    A clang/test/Sema/aarch64-sme2-intrinsics/acle_sme2_fp8_fvdot.c
    M llvm/include/llvm/IR/IntrinsicsAArch64.td
    M llvm/lib/Target/AArch64/AArch64SMEInstrInfo.td
    M llvm/lib/Target/AArch64/SMEInstrFormats.td
    A llvm/test/CodeGen/AArch64/sme2-intrinsics-fp8-fvdot.ll

  Log Message:
  -----------
  [AArch64] Add intrinsics for SME FP8 FVDOT, FVDOTB and FVDOTT intrinsics (#119922)

Add support for the following SME 8 bit floating-point dot-product
intrinsics:

```
// Only if __ARM_FEATURE_SME_F8F16 != 0
void svvdot_lane_za16[_mf8]_vg1x2_fpm(uint32_t slice, svmfloat8x2_t zn,
                                      svmfloat8_t zm, uint64_t imm_idx,
                                      fpm_t fpm) __arm_streaming __arm_inout("za");

// Only if __ARM_FEATURE_SME_F8F32 != 0
void svvdott_lane_za32[_mf8]_vg1x4_fpm(uint32_t slice, svmfloat8x2_t zn,
                                       svmfloat8_t zm, uint64_t imm_idx,
                                       fpm_t fpm) __arm_streaming __arm_inout("za");

void svvdotb_lane_za32[_mf8]_vg1x4_fpm(uint32_t slice, svmfloat8x2_t zn,
                                       svmfloat8_t zm, uint64_t imm_idx,
                                       fpm_t fpm) __arm_streaming __arm_inout("za");
```

---------

Co-authored-by: Momchil Velikov <momchil.velikov at arm.com>
Co-authored-by: Marian Lukac <marian.lukac at arm.com>


  Commit: 1ab81f8e7f77110c4a752dd7d2cc39fb5148760c
      https://github.com/llvm/llvm-project/commit/1ab81f8e7f77110c4a752dd7d2cc39fb5148760c
  Author: erichkeane <ekeane at nvidia.com>
  Date:   2024-12-16 (Mon, 16 Dec 2024)

  Changed paths:
    M clang/include/clang/AST/OpenACCClause.h
    M clang/include/clang/Basic/OpenACCClauses.def
    M clang/include/clang/Sema/SemaOpenACC.h
    M clang/lib/AST/OpenACCClause.cpp
    M clang/lib/AST/StmtProfile.cpp
    M clang/lib/AST/TextNodeDumper.cpp
    M clang/lib/Parse/ParseOpenACC.cpp
    M clang/lib/Sema/SemaOpenACC.cpp
    M clang/lib/Sema/TreeTransform.h
    M clang/lib/Serialization/ASTReader.cpp
    M clang/lib/Serialization/ASTWriter.cpp
    M 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/SemaOpenACC/combined-construct-auto_seq_independent-clauses.c
    M clang/test/SemaOpenACC/combined-construct-device_type-clause.c
    M clang/test/SemaOpenACC/compute-construct-device_type-clause.c
    A clang/test/SemaOpenACC/data-construct-delete-ast.cpp
    A clang/test/SemaOpenACC/data-construct-delete-clause.c
    M clang/test/SemaOpenACC/data-construct.cpp
    M clang/test/SemaOpenACC/loop-construct-auto_seq_independent-clauses.c
    M clang/test/SemaOpenACC/loop-construct-device_type-clause.c
    M clang/tools/libclang/CIndex.cpp

  Log Message:
  -----------
  [OpenACC] Implement 'delete' AST/Sema for 'exit data' construct

'delete' is another clause that has very little compile-time
implication, but needs a full AST that takes a var list.  This patch
ipmlements it fully, plus adds sufficient test coverage.


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

  Changed paths:
    M flang/lib/Optimizer/CodeGen/TargetRewrite.cpp
    M flang/test/Fir/CUDA/cuda-target-rewrite.mlir

  Log Message:
  -----------
  [flang][cuda] Adapt TargetRewrite to support gpu.launch_func (#119933)


  Commit: 6a4750d227420cad8406d0ee1ea9d8ce05cca10f
      https://github.com/llvm/llvm-project/commit/6a4750d227420cad8406d0ee1ea9d8ce05cca10f
  Author: Mehdi Amini <joker.eph at gmail.com>
  Date:   2024-12-16 (Mon, 16 Dec 2024)

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

  Log Message:
  -----------
  [mlir] Fix crash when folding tensor.dim(tensor.collapse()) on out-of-bound dim (#119941)

Addresses one of the cases described in #119866


  Commit: cedc9bf94a6c40561c4ecb292126352d49c9129b
      https://github.com/llvm/llvm-project/commit/cedc9bf94a6c40561c4ecb292126352d49c9129b
  Author: Djordje Todorovic <djordje.todorovic at htecgroup.com>
  Date:   2024-12-16 (Mon, 16 Dec 2024)

  Changed paths:
    M llvm/lib/Target/RISCV/RISCVFeatures.td
    M llvm/lib/Target/RISCV/RISCVSubtarget.h

  Log Message:
  -----------
  [RISCV] Add MIPSP8700 RISCVProcFamilyEnum (#120073)


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

  Changed paths:
    M libc/shared/rpc.h
    M libc/shared/rpc_util.h

  Log Message:
  -----------
  [libc] Make the RPC headers work when included from CUDA or HIP (#120016)

Summary:
In order for this to work with CUDA we need to declare functions as
__host__ and __device__ while also making sure we only call the GPU
functions during the CUDA / HIP compile stage.


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

  Changed paths:
    M libc/docs/gpu/rpc.rst
    M libc/docs/gpu/using.rst

  Log Message:
  -----------
  [libc][Docs] Update `libc` documentation for RPC and others (#120018)

Summary:
A few of these were out of date, update them now that the C library
interface into RPC was deleted.


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

  Changed paths:
    M mlir/test/lib/Dialect/Test/TestOpsSyntax.td
    M mlir/test/mlir-tblgen/op-format.mlir
    M mlir/tools/mlir-tblgen/OpFormatGen.cpp

  Log Message:
  -----------
  [mlir][tblgen] Fix bug around parsing optional prop-dict keys (#120045)

The printer for prop-dict would elide properties that had their default
value, such as optional properties that were not present. The parser
would similarly not raise an error if such a key was missing. However,
after not raising an error, the parser would attempt to convert the null
attribute to a property anyway, causing failures.

This commit fixes the issue and adds tests.


  Commit: 5c5f66937fa7fbc6721ba2203b0874966640a05f
      https://github.com/llvm/llvm-project/commit/5c5f66937fa7fbc6721ba2203b0874966640a05f
  Author: Sudharsan Veeravalli <quic_svs at quicinc.com>
  Date:   2024-12-16 (Mon, 16 Dec 2024)

  Changed paths:
    M llvm/unittests/TargetParser/RISCVISAInfoTest.cpp

  Log Message:
  -----------
  [RISCV] Add ISAInfoTest tests for a few XQCI extensions (#120060)

Missed out adding rv32 only support test checks for a few of the
extensions.


  Commit: 76f258920d3baf32be297f60bee5b8520f195c25
      https://github.com/llvm/llvm-project/commit/76f258920d3baf32be297f60bee5b8520f195c25
  Author: Aiden Grossman <aidengrossman at google.com>
  Date:   2024-12-16 (Mon, 16 Dec 2024)

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

  Log Message:
  -----------
  [MLGO] Do not include urgent LRs in max cascade calculation (#120052)

A previous PR introduced a threshold where we would mask out a LR that
had been evicted a certain number of times to combat pathological
compile time cases with a somewhat adversarial model. However, this
patch did not take into account urgent LRs which led to compilation
failures when greedy would expect us to provide an eviction and we could
not due to the newly introduced logic.


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

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

  Log Message:
  -----------
  [CMake] Use correct exports file for MLIR tools (#120079)

llvm_add_tool() currently does not respect the passed project and puts
all tools into LLVMExports.cmake. This means that we end up with
binaries like mlir-opt in LLVMExports.cmake instead of
MLIRTargets.cmake, where they should be.

Adjust llvm_add_tool() to take the project into account.


  Commit: 4104906a2336aa03361537d93bb58033c59592da
      https://github.com/llvm/llvm-project/commit/4104906a2336aa03361537d93bb58033c59592da
  Author: Louis Dionne <ldionne.2 at gmail.com>
  Date:   2024-12-16 (Mon, 16 Dec 2024)

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

  Log Message:
  -----------
  [libc++] Revert new test for integral_constant that breaks CI

This commit reverts c3276a96d9 and 1901da32, which added a test to
ensure that type traits are derived from integral_constant. While that
is a fine test to add, the commit didn't go through a PR and as a result
it looks like some of our CI has been broken by it.

This should be an uncontroversial change, but let's re-land it via a PR
to get our usual CI coverage.


  Commit: 39c9dda1aa593bb129c7a2ef7724c212255a58d6
      https://github.com/llvm/llvm-project/commit/39c9dda1aa593bb129c7a2ef7724c212255a58d6
  Author: David Green <david.green at arm.com>
  Date:   2024-12-16 (Mon, 16 Dec 2024)

  Changed paths:
    M llvm/lib/Target/AArch64/AArch64ISelLowering.h

  Log Message:
  -----------
  [AArch64] Move SME_ZA_LDR and SME_ZA_STR into FIRST_TARGET_MEMORY_OPCODE. NFCI (#120091)

These opcodes are currently in the "strictfp" section. They should
either be in "memory", or moved into the generic ocodes.

Note that isTargetMemoryOpcode/FIRST_TARGET_MEMORY_OPCODE doesn't seem
to be used for anything at the moment.


  Commit: 9f63940a65a85b34a947e4947d14a50da9f753c0
      https://github.com/llvm/llvm-project/commit/9f63940a65a85b34a947e4947d14a50da9f753c0
  Author: Hari Limaye <hari.limaye at arm.com>
  Date:   2024-12-16 (Mon, 16 Dec 2024)

  Changed paths:
    M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
    M llvm/test/CodeGen/AArch64/aarch64-dup-ext-crash.ll
    M llvm/test/CodeGen/AArch64/aarch64-dup-ext.ll

  Log Message:
  -----------
  [AArch64] Handle ANY_EXTEND in BuildShuffleExtendCombine (#118308)

Handle ANY_EXTEND when combining a buildvector/shuffle of extended
operands, as we can safely ignore ANY_EXTENDS when checking if all signs
of the other extends are matching.


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

  Changed paths:
    A llvm/test/Transforms/SLPVectorizer/X86/minbw-node-used-twice.ll

  Log Message:
  -----------
  [SLP][NFC]Add a test with incorrect bitwidth for the node, previously identified as non-shrinkable


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

  Changed paths:
    M llvm/include/llvm/Analysis/ScalarEvolution.h
    M llvm/lib/Analysis/ScalarEvolution.cpp
    M llvm/test/Analysis/LoopAccessAnalysis/memcheck-wrapping-pointers.ll
    M llvm/test/Analysis/LoopAccessAnalysis/nssw-predicate-implied.ll

  Log Message:
  -----------
  [SCEV] Use  Step and Start to check if SCEVWrapPredicate is implied. (#118184)

A SCEVWrapPredicate A implies B, if
 * they have the same flag,
 * both steps are positive and
 * B's start and step are ULE/SLE (for NSUW/NSSW) than A's.

See https://alive2.llvm.org/ce/z/n2T4ss (first pair with known constants
as strides, second pair with variable strides).

Note that this is limited to steps of the same size, due to NSUW having
slightly different semantics than regular NUW. We should be able to
remove this restriction for NSSW (which matches NSW) in the future.

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


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

  Changed paths:
    M lldb/test/API/iohandler/resize/TestIOHandlerResizeNoEditline.py

  Log Message:
  -----------
  [lldb] Disable TestIOHandlerResizeNoEditline.py for Windows hosts (#120025)

See #120021 for details.


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

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

  Log Message:
  -----------
  [flang] Enable hlfir.sum inlining by default. (#119937)

There is already a LIT test for hlfir.sum inlining that uses
the engineering option. I would like to keep the option
for short period of time to be able to revert
in case of performance regressions that I was not able to see.


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

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

  Log Message:
  -----------
  [flang] Turn SimplifyHLFIRIntrinsics into a greedy rewriter. (#119946)

This is almost an NFC, except that folding changed ordering
of some operations.


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

  Changed paths:
    M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
    M llvm/test/Transforms/SLPVectorizer/X86/minbw-node-used-twice.ll

  Log Message:
  -----------
  [SLP]Check if the node must keep its original bitwidth

Need to check if during previous analysis the node has requested to keep
its original bitwidth to avoid incorrect codegen.

Fixes #120076


  Commit: 3cbc73f71eef599e678197e445e11a98f8f61689
      https://github.com/llvm/llvm-project/commit/3cbc73f71eef599e678197e445e11a98f8f61689
  Author: Hugo Trachino <hugo.trachino at huawei.com>
  Date:   2024-12-16 (Mon, 16 Dec 2024)

  Changed paths:
    M mlir/lib/Conversion/ArithToLLVM/ArithToLLVM.cpp
    M mlir/lib/Conversion/ArithToLLVM/CMakeLists.txt
    M mlir/test/Conversion/ArithToLLVM/arith-to-llvm.mlir

  Log Message:
  -----------
  [MLIR][Arith] Add CeilFloorDivExpandOpsPatterns to conversion to LLVM (Reland) (#118839)

When running `convert-to-llvm`, `ceildiv` and `floordiv` ops, which do not
have direct llvm conversion pattern, would not get lowered to llvm
dialect. This patch adds CeilFloorDivExpandOpsPatterns to both
`convert-to-llvm` and `arith-to-llvm` (deprecated) lowering those ops to
lower level arith ops which can be lowered to llvm using LLVM
conversion.

Reland of https://github.com/llvm/llvm-project/pull/117305 after
buildbot failures.
See:
https://lab.llvm.org/buildbot/#/builders/80/builds/7168
https://lab.llvm.org/buildbot/#/builders/130/builds/7036
https://lab.llvm.org/buildbot/#/builders/138/builds/7290

Added dependence to ArithTransforms in ArithToLLVM. In previous
discussion, it has been suggested to move the
CeilFloorDivExpandOpsPatterns to ArithUtils but I think linking
ArithTransforms makes more sense as otherwise :
* ArithToLLVM needs a new dependency to ArithUtils
* ArithUtils needs new dependency to ArithTransforms or move the
patterns as well which will create more dependencies
* It creates lots of code motion which makes it hard to review.


  Commit: 290f38cd1a9fa7b1a91ddb25632807ecb5308dc7
      https://github.com/llvm/llvm-project/commit/290f38cd1a9fa7b1a91ddb25632807ecb5308dc7
  Author: Ramkumar Ramachandra <ramkumar.ramachandra at codasip.com>
  Date:   2024-12-16 (Mon, 16 Dec 2024)

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

  Log Message:
  -----------
  IR: fix getSwappedCmpPredicate() return type (#120097)

The change 51a895a (IR: introduce struct with CmpInst::Predicate and
samesign) missed a change to ICmpInst::getSwappedCmpPredicate(), which
intends to return a CmpPredicate, but returns a Predicate instead. Fix
this.


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

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

  Log Message:
  -----------
  [DAG] visitFREEZE - only fold integer types to an all ones constant

ISD::isBuildVectorAllOnes can peek through bitcasts, so this can match against FP NAN (ish) data (e.g. double (bitcast i64 -1)) under certain circumstances - bail if the type isn't an integer and let bitcast folding handle it first.

Fixes #120093


  Commit: b21fa18b44dd73284bd1c6551b8046c94f84f9f3
      https://github.com/llvm/llvm-project/commit/b21fa18b44dd73284bd1c6551b8046c94f84f9f3
  Author: Vedant Paranjape <22630228+VedantParanjape at users.noreply.github.com>
  Date:   2024-12-16 (Mon, 16 Dec 2024)

  Changed paths:
    M llvm/lib/Transforms/Utils/LoopVersioning.cpp
    A llvm/test/Transforms/LoopVersioning/crash-36998.ll

  Log Message:
  -----------
  [LoopVersioning] Add a check to see if the input loop is in LCSSA form (#116443)

Loop Optimizations expect the input loop to be in LCSSA form. But it
seems that LoopVersioning doesn't have any check to see if the loop is
actually in LCSSA form. As a result, if we give it a loop which is not
in LCSSA form but still correct semantically, the resulting
transformation fails to pass through verifier pass with the following
error.

Instruction does not dominate all uses!
%inc = add nsw i16 undef, 1
store i16 %inc, ptr @c, align 1

As the loop is not in LCSSA form, LoopVersioning's transformations leads
to invalid IR! As some instructions do not dominate all their uses.

This patch checks if a loop is in LCSSA form, if not it will call
formLCSSARecursively on the loop before passing it to LoopVersioning.

Fixes: #36998


  Commit: f75c84674cd8ea3b45b6c711d627144efcf582f5
      https://github.com/llvm/llvm-project/commit/f75c84674cd8ea3b45b6c711d627144efcf582f5
  Author: Schrodinger ZHU Yifan <yifanzhu at rochester.edu>
  Date:   2024-12-16 (Mon, 16 Dec 2024)

  Changed paths:
    M libc/src/__support/CPP/atomic.h
    M libc/src/__support/CPP/type_traits.h
    A libc/src/__support/CPP/type_traits/has_unique_object_representations.h
    M libc/test/src/__support/CPP/type_traits_test.cpp

  Log Message:
  -----------
  [libc] fix atomic and apply an explicit check on unique object representations (#119715)


  Commit: 9919295cfd05222159246d7448ec42392e98fbf2
      https://github.com/llvm/llvm-project/commit/9919295cfd05222159246d7448ec42392e98fbf2
  Author: Renaud Kauffmann <rkauffmann at nvidia.com>
  Date:   2024-12-16 (Mon, 16 Dec 2024)

  Changed paths:
    M mlir/include/mlir/Dialect/GPU/IR/CompilationInterfaces.h
    M mlir/include/mlir/Dialect/GPU/Transforms/Passes.td
    M mlir/lib/Dialect/GPU/IR/GPUDialect.cpp
    M mlir/lib/Dialect/GPU/Transforms/ModuleToBinary.cpp
    M mlir/lib/Target/LLVM/NVVM/Target.cpp
    M mlir/lib/Target/LLVMIR/Dialect/GPU/SelectObjectAttr.cpp
    M mlir/test/Dialect/GPU/module-to-binary-nvvm.mlir
    M mlir/unittests/Target/LLVM/SerializeNVVMTarget.cpp
    M mlir/unittests/Target/LLVM/SerializeROCDLTarget.cpp
    M mlir/unittests/Target/LLVM/SerializeToLLVMBitcode.cpp

  Log Message:
  -----------
  [mlir][gpu] Adding ELF section option to the gpu-module-to-binary pass (#119440)

This is a follow-up of #117246.

I thought then it would be easy to edit a DictionaryAttr but it turns
out that these attributes are immutable and need to be passed during the
construction of the gpu.binary Op.

The first commit was using the NVVMTargetAttr to pass the information.
After feedback from @fabianmcg, this PR now passes the information
through a new option of the gpu-module-to-binary pass.

Please add reviewers, as you see fit.


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

  Changed paths:
    M llvm/lib/Transforms/Vectorize/VectorCombine.cpp
    M llvm/test/Transforms/VectorCombine/X86/shuffle-of-cmps.ll

  Log Message:
  -----------
  [VectorCombine] foldShuffleOfBinops - extend to handle icmp/fcmp ops as well (#120075)

Extend binary instructions matching to match compare instructions + predicate as well.


  Commit: de401599b10f51258260ea7f1f493d52d22a9d24
      https://github.com/llvm/llvm-project/commit/de401599b10f51258260ea7f1f493d52d22a9d24
  Author: Justin Bogner <mail at justinbogner.com>
  Date:   2024-12-16 (Mon, 16 Dec 2024)

  Changed paths:
    M clang/lib/Sema/HLSLExternalSemaSource.cpp
    M clang/test/AST/HLSL/TypedBuffers-AST.hlsl
    M clang/test/CodeGenHLSL/builtins/RWBuffer-subscript.hlsl

  Log Message:
  -----------
  [HLSL] Add RWBuffer::Load(Index) (#117018)

This method is the same as `operator[]`, except that it returns a value
instead of a reference.


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

  Changed paths:
    M lldb/unittests/Core/ProgressReportTest.cpp

  Log Message:
  -----------
  [lldb] Fix warnings

This patch fixes:

  third-party/unittest/googletest/include/gtest/gtest.h:1379:11:
  error: comparison of integers of different signs: 'const unsigned
  long' and 'const int' [-Werror,-Wsign-compare]


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

  Changed paths:
    M clang/include/clang/AST/OpenACCClause.h
    M clang/include/clang/Basic/DiagnosticSemaKinds.td
    M clang/include/clang/Basic/OpenACCClauses.def
    M clang/include/clang/Sema/SemaOpenACC.h
    M clang/lib/AST/OpenACCClause.cpp
    M clang/lib/AST/StmtProfile.cpp
    M clang/lib/AST/TextNodeDumper.cpp
    M clang/lib/Parse/ParseOpenACC.cpp
    M clang/lib/Sema/SemaOpenACC.cpp
    M clang/lib/Sema/TreeTransform.h
    M clang/lib/Serialization/ASTReader.cpp
    M clang/lib/Serialization/ASTWriter.cpp
    M clang/test/AST/ast-print-openacc-data-construct.cpp
    M clang/test/ParserOpenACC/parse-clauses.c
    M clang/test/SemaOpenACC/combined-construct-auto_seq_independent-clauses.c
    M clang/test/SemaOpenACC/combined-construct-device_type-clause.c
    M clang/test/SemaOpenACC/compute-construct-device_type-clause.c
    M clang/test/SemaOpenACC/data-construct-ast.cpp
    M clang/test/SemaOpenACC/data-construct-async-clause.c
    M clang/test/SemaOpenACC/data-construct-attach-clause.c
    M clang/test/SemaOpenACC/data-construct-detach-clause.c
    M clang/test/SemaOpenACC/data-construct-deviceptr-clause.c
    M clang/test/SemaOpenACC/data-construct-finalize-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-if_present-ast.cpp
    M clang/test/SemaOpenACC/data-construct-if_present-clause.c
    M clang/test/SemaOpenACC/data-construct-present-clause.c
    A clang/test/SemaOpenACC/data-construct-use_device-ast.cpp
    A clang/test/SemaOpenACC/data-construct-use_device-clause.c
    M clang/test/SemaOpenACC/data-construct-wait-clause.c
    M clang/test/SemaOpenACC/data-construct.cpp
    M clang/test/SemaOpenACC/loop-construct-auto_seq_independent-clauses.c
    M clang/test/SemaOpenACC/loop-construct-device_type-clause.c
    M clang/tools/libclang/CIndex.cpp

  Log Message:
  -----------
  [OpenACC] Implement 'use_device' clause AST/Sema

This is a clause that is only valid on 'host_data' constructs, and
identifies variables which it should use the current device address.
>From a Sema perspective, the only thing novel here is mild changes to
how ActOnVar works for this clause, else this is very much like the rest
of the 'var-list' clauses.


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

  Changed paths:
    M compiler-rt/lib/builtins/aarch64/sme-abi.S
    M compiler-rt/lib/builtins/aarch64/sme-libc-mem-routines.S

  Log Message:
  -----------
  Revert "[compiler-rt][AArch64] Allow platform-specific mangling of SME routines. (#119864)"

This reverts commit e0fb3acd8a0b2a9340b9b2ae370c84c98f1a5cc2.


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

  Changed paths:
    M mlir/lib/Dialect/Linalg/TransformOps/LinalgTransformOps.cpp
    M mlir/lib/Dialect/Linalg/Transforms/ConvertToDestinationStyle.cpp
    M mlir/lib/Dialect/Linalg/Transforms/ElementwiseOpFusion.cpp
    M mlir/lib/Dialect/Linalg/Transforms/Tiling.cpp
    M mlir/lib/Dialect/Linalg/Transforms/Transforms.cpp

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

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: 1dac0cd41f1d04ca66d74c49322ddd93332954f8
      https://github.com/llvm/llvm-project/commit/1dac0cd41f1d04ca66d74c49322ddd93332954f8
  Author: Kazu Hirata <kazu at google.com>
  Date:   2024-12-16 (Mon, 16 Dec 2024)

  Changed paths:
    M llvm/lib/Transforms/IPO/MemProfContextDisambiguation.cpp

  Log Message:
  -----------
  [memprof] Use ListSeparator (NFC) (#120047)

ListSeparator from StringExtras.h is essentially the same as
FieldSeparator being removed in this patch.  ListSeparator returns the
empty string on the first use via "operator StringRef()".  It returns
", " on subsequent uses.


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

  Changed paths:
    M libcxx/test/std/localization/locale.categories/category.monetary/locale.moneypunct.byname/grouping.pass.cpp
    M libcxx/test/std/localization/locale.categories/facet.numpunct/locale.numpunct.byname/grouping.pass.cpp

  Log Message:
  -----------
  [libc++] Update locale grouping tests (#119463)

Fixes #119047


  Commit: ef31141ebded71eeb32f7714d924d427a4315540
      https://github.com/llvm/llvm-project/commit/ef31141ebded71eeb32f7714d924d427a4315540
  Author: Mészáros Gergely <gergely.meszaros at intel.com>
  Date:   2024-12-16 (Mon, 16 Dec 2024)

  Changed paths:
    M clang/include/clang/Driver/Options.td
    A clang/test/Driver/unknown-arg-drivermodes.test

  Log Message:
  -----------
  [clang-cl][flang][dxc] Fix opts exposed to clang-cl/dxc by mistake (#118640)

When these options were enabled for flang the visibility was also
extended to clang-cl and dxc. This was due to a
misunderstanding of the default value for `Visibility`.


  Commit: 0a7e0486673f829406a9bcb4b49be20dbd9c5e45
      https://github.com/llvm/llvm-project/commit/0a7e0486673f829406a9bcb4b49be20dbd9c5e45
  Author: Alexander Yermolovich <43973793+ayermolo at users.noreply.github.com>
  Date:   2024-12-16 (Mon, 16 Dec 2024)

  Changed paths:
    M bolt/test/X86/dwarf5-debug-names-gnu-push-tls-address.s

  Log Message:
  -----------
  [BOLT][DWARF][NFC] Minimize dwarf5-debug-names-gnu-push-tls-address.s (#120103)

Removed unnecessary parts from the .text section.


  Commit: 7bf3137c39a61283ebcb58793e830f8b768b74e7
      https://github.com/llvm/llvm-project/commit/7bf3137c39a61283ebcb58793e830f8b768b74e7
  Author: Petr Hosek <phosek at google.com>
  Date:   2024-12-16 (Mon, 16 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/fuzzing/__support/CMakeLists.txt
    A libc/fuzzing/__support/fake_heap.s
    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
    R libc/test/src/__support/freelist_malloc_test.cpp
    M libc/test/src/stdlib/CMakeLists.txt

  Log Message:
  -----------
  [libc] Breakup freelist_malloc into separate files (#119806)

This better matches the structure we use for the rest of libc.


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

  Changed paths:
    M llvm/lib/Target/X86/X86ISelLowering.cpp
    M llvm/test/CodeGen/X86/oddshuffles.ll
    M llvm/test/CodeGen/X86/vector-interleaved-load-i32-stride-7.ll
    M llvm/test/CodeGen/X86/vector-interleaved-load-i32-stride-8.ll
    M llvm/test/CodeGen/X86/vector-interleaved-store-i32-stride-6.ll
    M llvm/test/CodeGen/X86/vector-interleaved-store-i32-stride-8.ll

  Log Message:
  -----------
  [X86] combineEXTRACT_SUBVECTOR - fold extract_subvector(pshufd(v,i)) -> pshufd(extract_subvector(v,i))

Attempt to avoid unnecessary wide PSHUFD or VPERMILIPS/D instructions by pre-extracting the subvector source if thats its only use.


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

  Changed paths:
    M llvm/test/Analysis/CostModel/X86/shuffle-non-pow-2-codesize.ll
    M llvm/test/Analysis/CostModel/X86/shuffle-non-pow-2-latency.ll
    M llvm/test/Analysis/CostModel/X86/shuffle-non-pow-2-sizelatency.ll
    M llvm/test/Analysis/CostModel/X86/shuffle-non-pow-2.ll

  Log Message:
  -----------
  [CostModel[X86] Update shuffle non-pow-2 tests to not analyse shuffle(undef,undef)

Avoid shuffle patterns that can be folded away.


  Commit: 9ee454a57c061e47223e079cdc64d315580367ed
      https://github.com/llvm/llvm-project/commit/9ee454a57c061e47223e079cdc64d315580367ed
  Author: Adrian Prantl <aprantl at apple.com>
  Date:   2024-12-16 (Mon, 16 Dec 2024)

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

  Log Message:
  -----------
  [lldb] Fix RST table formatting


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

  Changed paths:
    M libc/docs/index.rst

  Log Message:
  -----------
  [libc][docs] Refresh landing page (#120122)

- Replace section on ABI Compatibility with a rephrased warning at the
top of
  the page.
- Add links to the Note.
- Update C and POSIX standards.
- Inline link to fuzzing.


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

  Changed paths:
    M llvm/lib/Target/NVPTX/NVPTXISelDAGToDAG.cpp
    M llvm/lib/Target/NVPTX/NVPTXISelDAGToDAG.h
    M llvm/lib/Target/NVPTX/NVPTXISelLowering.cpp
    M llvm/lib/Target/NVPTX/NVPTXISelLowering.h
    M llvm/lib/Target/NVPTX/NVPTXIntrinsics.td

  Log Message:
  -----------
  [NVPTX] Pattern match texture/surface intrinsics (NFCI) (#119982)

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


  Commit: 3dfc1d9b0bc41eaf63e551ca357b44a71636b152
      https://github.com/llvm/llvm-project/commit/3dfc1d9b0bc41eaf63e551ca357b44a71636b152
  Author: Jonas Devlieghere <jonas at devlieghere.com>
  Date:   2024-12-16 (Mon, 16 Dec 2024)

  Changed paths:
    M lldb/include/lldb/API/SBDebugger.h
    M lldb/include/lldb/Core/Debugger.h
    M lldb/include/lldb/Host/Editline.h
    M lldb/source/API/SBDebugger.cpp
    M lldb/source/Core/CoreProperties.td
    M lldb/source/Core/Debugger.cpp
    M lldb/source/Host/common/Editline.cpp
    M lldb/test/API/functionalities/completion/TestCompletion.py
    M lldb/test/API/terminal/TestEditlineCompletions.py
    M lldb/tools/driver/Driver.cpp
    M lldb/tools/driver/Driver.h

  Log Message:
  -----------
  [lldb] Use the terminal height for paging editline completions (#119914)

Currently, we arbitrarily paginate editline completions to 40 elements.
On large terminals, that leaves some real-estate unused. On small
terminals, it's pretty annoying to not see the first completions. We can
address both issues by using the terminal height for pagination.

This builds on the improvements of #116456.


  Commit: b95dfa3920f71c42ef2991f42a95903cc1202c55
      https://github.com/llvm/llvm-project/commit/b95dfa3920f71c42ef2991f42a95903cc1202c55
  Author: fabrizio-indirli <fabrizio.indirli at arm.com>
  Date:   2024-12-16 (Mon, 16 Dec 2024)

  Changed paths:
    M mlir/lib/Dialect/SPIRV/Transforms/LowerABIAttributesPass.cpp
    M mlir/test/Dialect/SPIRV/Transforms/abi-interface.mlir
    M mlir/test/Dialect/SPIRV/Transforms/abi-load-store.mlir

  Log Message:
  -----------
  [mlir][spirv] Fix LowerABIAttributesPass to generate EntryPoints for SPV1.4 (#118994)

- Extend the SPIRV::LowerABIAttributesPass to detect when the target env
is using SPIR-V ver >= 1.4, and in this case add all the functions'
interface storage variables to the spirv.EntryPoint calls, as required
by the spec of OpEntryPoint:
"_Before version 1.4, the interface’s storage classes are limited to the
Input and Output storage classes. Starting with version 1.4, the
interface’s storage classes are all storage classes used in declaring
all global variables referenced by the entry point’s call tree_."
- Fix: generate the replacement ops (spirv.AddressOf and .AccessChain)
in the order in which the associated variable appears in the function
signature

Signed-off-by: Fabrizio Indirli <Fabrizio.Indirli at arm.com>


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

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

  Log Message:
  -----------
  [VPlan] Remove getPreheader(). (NFC)

The preheader is now the entry block, connected to the vector.ph.

Clean up after https://github.com/llvm/llvm-project/pull/114292.


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

  Changed paths:
    M clang/include/clang/Basic/DiagnosticSemaKinds.td
    M clang/include/clang/Sema/SemaOpenACC.h
    M clang/lib/Parse/ParseOpenACC.cpp
    M clang/lib/Sema/SemaOpenACC.cpp
    M clang/lib/Sema/TreeTransform.h
    M clang/test/AST/ast-print-openacc-data-construct.cpp
    M clang/test/ParserOpenACC/parse-clauses.c
    M clang/test/ParserOpenACC/parse-constructs.c
    M clang/test/SemaOpenACC/combined-construct-collapse-clause.cpp
    M clang/test/SemaOpenACC/combined-construct-if-clause.c
    M clang/test/SemaOpenACC/compute-construct-device_type-clause.c
    M clang/test/SemaOpenACC/compute-construct-if-clause.c
    M clang/test/SemaOpenACC/data-construct-async-ast.cpp
    M clang/test/SemaOpenACC/data-construct-copy-clause.c
    M clang/test/SemaOpenACC/data-construct-copyin-clause.c
    M clang/test/SemaOpenACC/data-construct-copyout-clause.c
    M clang/test/SemaOpenACC/data-construct-create-clause.c
    M clang/test/SemaOpenACC/data-construct-default-clause.c
    M clang/test/SemaOpenACC/data-construct-delete-clause.c
    M clang/test/SemaOpenACC/data-construct-device_type-ast.cpp
    M clang/test/SemaOpenACC/data-construct-device_type-clause.c
    M clang/test/SemaOpenACC/data-construct-no_create-clause.c
    M clang/test/SemaOpenACC/data-construct-use_device-clause.c
    M clang/test/SemaOpenACC/data-construct.cpp
    M clang/test/SemaOpenACC/loop-construct-collapse-clause.cpp

  Log Message:
  -----------
  [OpenACC] Implement data construct 'at least 1 of ... clauses' rule

All 4 of the 'data' constructs have a requirement that at least 1 of a
small list of clauses must appear on the construct.  This patch
implements that restriction, and updates all of the tests it takes to
do so.


  Commit: f9c8c01d38f8fbea81db99ab90b7d0f2bdcc8b4d
      https://github.com/llvm/llvm-project/commit/f9c8c01d38f8fbea81db99ab90b7d0f2bdcc8b4d
  Author: Alex MacLean <amaclean at nvidia.com>
  Date:   2024-12-16 (Mon, 16 Dec 2024)

  Changed paths:
    M llvm/lib/Target/NVPTX/NVPTXAsmPrinter.cpp
    M llvm/lib/Target/NVPTX/NVPTXMachineFunctionInfo.h
    M llvm/lib/Target/NVPTX/NVPTXReplaceImageHandles.cpp
    M llvm/lib/Target/NVPTX/NVPTXSubtarget.cpp
    M llvm/lib/Target/NVPTX/NVPTXSubtarget.h
    M llvm/lib/Target/NVPTX/NVPTXTargetMachine.cpp
    M llvm/test/CodeGen/NVPTX/surf-read-cuda.ll
    M llvm/test/CodeGen/NVPTX/surf-tex.py
    M llvm/test/CodeGen/NVPTX/surf-write-cuda.ll
    M llvm/test/CodeGen/NVPTX/tex-read-cuda.ll
    M llvm/test/CodeGen/NVPTX/texsurf-queries.ll

  Log Message:
  -----------
  [NVPTX] Aggressively try to replace image handles with references (#119730)

Even in cases where handles are supported, references are still
preferable for performance. This is because, a ref uses one
less register and can avoid the handle creating code associated with
taking the address of a tex/surf/sampler.


  Commit: 8f151f0f559c4881a0d206124c64226a82d44a79
      https://github.com/llvm/llvm-project/commit/8f151f0f559c4881a0d206124c64226a82d44a79
  Author: Jonas Devlieghere <jonas at devlieghere.com>
  Date:   2024-12-16 (Mon, 16 Dec 2024)

  Changed paths:
    M lldb/tools/driver/Driver.cpp
    M lldb/tools/driver/Driver.h

  Log Message:
  -----------
  [lldb] Unify window resizing logic in command line driver

Unify the logic for window resizing in the command line driver. This was
prompted by the Windows bot not knowing about the ws_col field.


  Commit: 1751914a5229104c51fbea7c91e455650c370908
      https://github.com/llvm/llvm-project/commit/1751914a5229104c51fbea7c91e455650c370908
  Author: Aiden Grossman <aidengrossman at google.com>
  Date:   2024-12-16 (Mon, 16 Dec 2024)

  Changed paths:
    M .github/workflows/containers/github-action-ci/Dockerfile

  Log Message:
  -----------
  [Github] Add some additional system packages (#119988)

This patch adds some additional system packages to the CI container.
These are necessary for use in the new premerge workflows. The size
increase is not super small, but should be manageable with the size
increase being about 100MB.


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

  Changed paths:
    M flang/lib/Evaluate/tools.cpp
    M flang/test/Lower/CUDA/cuda-program-global.cuf

  Log Message:
  -----------
  [flang][cuda] Do not lower device target in porgram as global (#120126)

As it was done in #102512, do not create global for arrays declared in
program unit with cuda data attribute.


  Commit: 1be4a67454b02dae4df2368af31b5f655736d829
      https://github.com/llvm/llvm-project/commit/1be4a67454b02dae4df2368af31b5f655736d829
  Author: QuietMisdreavus <QuietMisdreavus at users.noreply.github.com>
  Date:   2024-12-16 (Mon, 16 Dec 2024)

  Changed paths:
    M clang/lib/ExtractAPI/Serialization/SymbolGraphSerializer.cpp
    M clang/test/ExtractAPI/objc_external_category.m

  Log Message:
  -----------
  [ExtractAPI] reorder the module names in extension symbol graph file names (#119925)

Resolves rdar://140298287

ExtractAPI's support for printing Objective-C category extensions from
other modules emits symbol graphs with an
`ExtendedModule at HostModule.symbols.json`. However, this is backwards
from existing symbol graph practices, causing issues when these symbol
graphs are consumed alongside symbol graphs generated with other tools
like Swift. This PR flips the naming scheme to be in line with existing
symbol graph tooling.


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

  Changed paths:
    M mlir/lib/Dialect/Linalg/Transforms/Transforms.cpp
    M mlir/test/Dialect/Linalg/decompose-tensor-unpack.mlir

  Log Message:
  -----------
  [mlir][linalg] Fix and Refactor DecomposeOuterUnitDimsUnPackOpPattern (#119379)


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

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

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


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

  Changed paths:
    A mlir/test/Integration/Dialect/Linalg/CPU/ArmSVE/pack-scalable-inner-tile.mlir

  Log Message:
  -----------
  [mlir][tensor][SVE] Add e2e test for tensor.pack targeting SVE (#119692)


  Commit: 1297933f35b4948b4d281259627a72094c407a75
      https://github.com/llvm/llvm-project/commit/1297933f35b4948b4d281259627a72094c407a75
  Author: Thurston Dang <thurston at google.com>
  Date:   2024-12-16 (Mon, 16 Dec 2024)

  Changed paths:
    M llvm/test/CodeGen/AMDGPU/ran-out-of-registers-error-all-regs-reserved.ll
    M llvm/test/CodeGen/AMDGPU/ran-out-of-registers-errors.ll

  Log Message:
  -----------
  [CodeGen] Disable ran-out-of-registers-error* tests (#120142)

Two tests are failing on the buildbot in stage2/asan with a stack
use-after-scope:
https://lab.llvm.org/buildbot/#/builders/52/builds/4533 (first failure
here; contains https://github.com/llvm/llvm-project/pull/119492 and
https://github.com/llvm/llvm-project/pull/119640)
    ...
    https://lab.llvm.org/buildbot/#/builders/52/builds/4550

This patch disables the tests for now, to allow the bots to return to
green (instead of reverting the patch series).


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

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

  Log Message:
  -----------
  [OpenACC/NFC] Fix 'trailing objects' CRTP.

A previous patch mistakenly set the CRTP object for the trailing objects
incorrectly.  This patch fixes those.  This wasn't noticed in testing,
  since these types have the same layout.


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

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

  Log Message:
  -----------
  [VPlan] Make sure vector trip count is ready for prepareToExecute (NFC)

Split off from https://github.com/llvm/llvm-project/pull/112145. This
ensures that getOrCreateVectorTripCount creates the trip count as needed
when induction resume value creation is moved to VPlan and no longer
creates the vector trip count early.


  Commit: a9237b1a1083c7c6c4778e8a586d329bc41a6adc
      https://github.com/llvm/llvm-project/commit/a9237b1a1083c7c6c4778e8a586d329bc41a6adc
  Author: Artem Pianykh <artem.pyanykh at gmail.com>
  Date:   2024-12-16 (Mon, 16 Dec 2024)

  Changed paths:
    M llvm/include/llvm/Transforms/Utils/Cloning.h
    M llvm/lib/Transforms/Utils/CloneFunction.cpp

  Log Message:
  -----------
  [NFC][Utils] Extract CloneFunctionMetadataInto from CloneFunctionInto (#118623)


Summary:
The new API expects the caller to populate the VMap. We need it this way
for a subsequent change around coroutine cloning.

Test Plan:
ninja check-llvm-unit check-llvm


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

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

  Log Message:
  -----------
  [flang][NFC] Added debug output to opt-bufferization pass. (#119936)


  Commit: 3769fcb3e78eba5f3e34d1c2dfa994625edb005a
      https://github.com/llvm/llvm-project/commit/3769fcb3e78eba5f3e34d1c2dfa994625edb005a
  Author: vporpo <vporpodas at google.com>
  Date:   2024-12-16 (Mon, 16 Dec 2024)

  Changed paths:
    M llvm/include/llvm/Transforms/Vectorize/SandboxVectorizer/Interval.h
    M llvm/unittests/Transforms/Vectorize/SandboxVectorizer/IntervalTest.cpp

  Log Message:
  -----------
  [SandboxVec][Interval] Implement Interval::notifyMoveInstr() (#119471)

This patch implements the notifier for Instruction intervals. It updates
the interval's top/bottom.


  Commit: b86a22aa3915c5ed7f802ebad7578c0906bdd8a9
      https://github.com/llvm/llvm-project/commit/b86a22aa3915c5ed7f802ebad7578c0906bdd8a9
  Author: Aiden Grossman <aidengrossman at google.com>
  Date:   2024-12-16 (Mon, 16 Dec 2024)

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

  Log Message:
  -----------
  [Github] Default to non-root user in linux CI container (#119987)

This patch sets the default user in the linux CI container to a non-root
user, which enables properly testing a couple of features, particularly
in libcxx.


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

  Changed paths:
    M llvm/include/llvm/CodeGenTypes/LowLevelType.h
    M llvm/lib/CodeGenTypes/LowLevelType.cpp

  Log Message:
  -----------
  [CodeGen] Simplify LLT bitfields. NFC. (#120074)

- Put the element size field in the same place for all non-pointer
  types.
- Put the element size and address space fields in the same place for
  all pointer types.
- Put the number of elements and scalable fields in the same place for
  all vector types.

This simplifies initialization and accessor methods isScalable,
getElementCount, getScalarSizeInBits and getAddressSpace.


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

  Changed paths:
    M libc/fuzzing/__support/CMakeLists.txt
    M libc/test/src/__support/CMakeLists.txt

  Log Message:
  -----------
  [libc] Exclude FreeListHeap test and fuzzer on GPU (#120137)

FreeListHeap uses the _end symbol which conflicts with the _end symbol
defined by GPU start.cpp files so for now we exclude the test and the
fuzzer on GPU.


  Commit: 484a2819de1bbee5aec5fabb942c7ebb77d29bc0
      https://github.com/llvm/llvm-project/commit/484a2819de1bbee5aec5fabb942c7ebb77d29bc0
  Author: Aiden Grossman <aidengrossman at google.com>
  Date:   2024-12-16 (Mon, 16 Dec 2024)

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

  Log Message:
  -----------
  [CI][Github] Add linux premerge workflow (#119635)

This patch adds a Github Actions workflow for Linux premerge. This
currently just calls into the existing CI scripts as a starting point.


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

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

  Log Message:
  -----------
  [flang][cuda] Check for use of host array in device context (#119756)

Now that variables have implicit attribute, we can check for illegal use
of module host variable in device context.


  Commit: 38099d0608342ddff0737a048ca5fa325c4b0749
      https://github.com/llvm/llvm-project/commit/38099d0608342ddff0737a048ca5fa325c4b0749
  Author: SpencerAbson <Spencer.Abson at arm.com>
  Date:   2024-12-16 (Mon, 16 Dec 2024)

  Changed paths:
    M clang/include/clang/Basic/arm_sme.td
    A clang/test/CodeGen/AArch64/fp8-intrinsics/acle_sme2_fp8_mla.c
    M clang/test/Sema/aarch64-fp8-intrinsics/acle_sme2_fp8_imm.c
    A clang/test/Sema/aarch64-fp8-intrinsics/acle_sme2_fp8_mla.c
    M llvm/include/llvm/IR/IntrinsicsAArch64.td
    M llvm/lib/Target/AArch64/AArch64SMEInstrInfo.td
    M llvm/lib/Target/AArch64/SMEInstrFormats.td
    A llvm/test/CodeGen/AArch64/sme2-fp8-intrinsics-mla.ll

  Log Message:
  -----------
  [AArch64] Implement intrinsics for SME FP8 FMLAL/FMLALL (Indexed) (#118549)

This patch implements the following intrinsics:

Multi-vector 8-bit floating-point multiply-add long.
``` c
  // Only if __ARM_FEATURE_SME_F8F16 != 0
  void svmla_lane_za16[_mf8]_vg2x1_fpm(uint32_t slice, svmfloat8_t zn,
                                       svmfloat8_t zm, uint64_t imm_idx,
                                       fpm_t fpm)  __arm_streaming __arm_inout("za");

  void svmla_lane_za16[_mf8]_vg2x2_fpm(uint32_t slice, svmfloat8x2_t zn,
                                       svmfloat8_t zm, uint64_t imm_idx,
                                       fpm_t fpm)  __arm_streaming __arm_inout("za");

  void svmla_lane_za16[_mf8]_vg2x4_fpm(uint32_t slice, svmfloat8x4_t zn,
                                       svmfloat8_t zm, uint64_t imm_idx
                                       fpm_t fpm) __arm_streaming __arm_inout("za");

// Only if __ARM_FEATURE_SME_F8F32 != 0
  void svmla_lane_za32[_mf8]_vg4x1_fpm(uint32_t slice, svmfloat8_t zn,
                                       svmfloat8_t zm, uint64_t imm_idx,
                                       fpm_t fpm)__arm_streaming __arm_inout("za");

  void svmla_lane_za32[_mf8]_vg4x2_fpm(uint32_t slice, svmfloat8x2_t zn,
                                       svmfloat8_t zm, uint64_t imm_idx,
                                       fpm_t fpm)__arm_streaming __arm_inout("za");

  void svmla_lane_za32[_mf8]_vg4x4_fpm(uint32_t slice, svmfloat8x4_t zn,
                                       svmfloat8_t zm, uint64_t imm_idx,
                                       fpm_t fpm)__arm_streaming __arm_inout("za");
```
In accordance with: https://github.com/ARM-software/acle/pull/323


  Commit: 8402a0fab09a2c3a1b5c2e23e2ababcb575709d7
      https://github.com/llvm/llvm-project/commit/8402a0fab09a2c3a1b5c2e23e2ababcb575709d7
  Author: Artem Pianykh <artem.pyanykh at gmail.com>
  Date:   2024-12-16 (Mon, 16 Dec 2024)

  Changed paths:
    M llvm/include/llvm/Transforms/Utils/Cloning.h
    M llvm/lib/Transforms/Utils/CloneFunction.cpp

  Log Message:
  -----------
  [NFC][Utils] Extract CloneFunctionBodyInto from CloneFunctionInto (#118624)


Summary:
This and previously extracted `CloneFunction*Into` functions will be used in later diffs.

Test Plan:
ninja check-llvm-unit check-llvm


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

  Changed paths:
    M clang/include/clang/AST/OpenACCClause.h
    M clang/include/clang/AST/StmtOpenACC.h

  Log Message:
  -----------
  [OpenACC/NFC] Make 'trailing objects' use private inheritence.

I noticed this while working on something else, these are supposed to be
privately inherited.


  Commit: 084309a0ef781b45f5d124732ba20be89b61b6de
      https://github.com/llvm/llvm-project/commit/084309a0ef781b45f5d124732ba20be89b61b6de
  Author: Louis Dionne <ldionne.2 at gmail.com>
  Date:   2024-12-16 (Mon, 16 Dec 2024)

  Changed paths:
    M libcxx/docs/ReleaseNotes/20.rst
    M libcxx/include/CMakeLists.txt
    M libcxx/include/__locale_dir/locale_base_api.h
    R libcxx/include/__locale_dir/locale_base_api/win32.h
    M libcxx/include/__locale_dir/locale_guard.h
    A libcxx/include/__locale_dir/support/windows.h
    M libcxx/include/module.modulemap
    M libcxx/src/support/win32/locale_win32.cpp
    M libcxx/src/support/win32/support.cpp

  Log Message:
  -----------
  [libc++] Refactor the Windows and MinGW implementation of the locale base API (#115752)

This patch reimplements the locale base support for Windows flavors in a
way that is more modules-friendly and without defining non-internal
names.

Since this changes the name of some types and entry points in the built
library, this is effectively an ABI break on Windows (which is
acceptable after checking with the Windows/libc++ maintainers).


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

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

  Log Message:
  -----------
  [gn build] Port 084309a0ef78


  Commit: 482237e884dde4a7887c6ac3609437c7186b5124
      https://github.com/llvm/llvm-project/commit/482237e884dde4a7887c6ac3609437c7186b5124
  Author: Justin Bogner <mail at justinbogner.com>
  Date:   2024-12-16 (Mon, 16 Dec 2024)

  Changed paths:
    M llvm/include/llvm/Analysis/DXILResource.h
    M llvm/lib/Analysis/DXILResource.cpp
    M llvm/lib/Target/DirectX/DXILOpLowering.cpp
    M llvm/lib/Target/DirectX/DXILPrettyPrinter.cpp
    M llvm/lib/Target/DirectX/DXILTranslateMetadata.cpp
    M llvm/test/Analysis/DXILResource/buffer-frombinding.ll
    M llvm/unittests/Analysis/DXILResourceTest.cpp

  Log Message:
  -----------
  [DirectX] Get resource information via TargetExtType (#119772)

Instead of storing an auxilliary structure with the information from the
DXIL resource target extension types duplicated, access the information
that we can via the type itself.

This also means we need to handle some of the target extension types we
haven't fully defined yet, like Texture and CBuffer. For now we make an
educated guess to what those should look like based on llvm/wg-hlsl#76,
and we can update them fairly easily when we've defined them more
thoroughly.

First part of #118400


  Commit: a8456c9a2fb36f7c3a69eaa296c3f5d23ec52fe5
      https://github.com/llvm/llvm-project/commit/a8456c9a2fb36f7c3a69eaa296c3f5d23ec52fe5
  Author: Aiden Grossman <aidengrossman at google.com>
  Date:   2024-12-16 (Mon, 16 Dec 2024)

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

  Log Message:
  -----------
  [Github] Enable new premerge workflow postcommit

This patch enables the new premerge workflow postcommit so that we can start
testing it at a reasonable scale with minimal disruption.


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

  Changed paths:
    A libc/docs/arch_support.rst
    M libc/docs/index.rst
    A libc/docs/platform_support.rst

  Log Message:
  -----------
  [libc][docs] split up platform and arch support (#120125)

Creates a new toctree "Support" under which we have distinct links to arch,
platform, and compiler support.

* Moved "Platform Support" from index landing page to new doc.
* Created explicit "Architecture Support". Requested in https://github.com/llvm/llvm-project/issues/118964#issuecomment-2531503046.
* Moved "Compiler Support" from Status toctree to new Support toctree.

---------

Co-authored-by: Carlo Cabrera <github at carlo.cab>


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

  Changed paths:
    A llvm/test/Transforms/LoopVectorize/epilog-iv-select-cmp.ll

  Log Message:
  -----------
  [LV] Add test showing bug in epilogue vectorization of selects.

This is causing mis-compiles when in SPEC2017 on AArch64 after
b3cba9be41bfa8.


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

  Changed paths:
    M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
    M llvm/lib/Transforms/Vectorize/VPlanRecipes.cpp
    M llvm/test/Transforms/LoopVectorize/epilog-iv-select-cmp.ll

  Log Message:
  -----------
  [VPlan] Use start value operand for FindLastIV reduction phis.

Update VPReductionPHIRecipe::execute to use the start value from the
start value operand of the recipe. This is needed to make sure we resume
from the correct value during epilogue vectorization.

At the moment, the start value is set to the sentinel value in
adjustRecipesForReductions, as the original start value needs to be used
when creating ResumePhi recipes.

Fixes a mis-compile introduced by b3cba9be41bfa8 in SPEC2017 on AArch64.


  Commit: dda1d1674755e0e68789e01ed8698ea91b0b54b0
      https://github.com/llvm/llvm-project/commit/dda1d1674755e0e68789e01ed8698ea91b0b54b0
  Author: norx1991 <yifei.xu at utexas.edu>
  Date:   2024-12-16 (Mon, 16 Dec 2024)

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

  Log Message:
  -----------
  Update BUILD.bazel

Fix issue introduced by https://github.com/llvm/llvm-project/pull/118839.


  Commit: 41a6e9cfd693c8570d48e73c5649d83ee6376b6d
      https://github.com/llvm/llvm-project/commit/41a6e9cfd693c8570d48e73c5649d83ee6376b6d
  Author: Ashley Coleman <ascoleman at microsoft.com>
  Date:   2024-12-16 (Mon, 16 Dec 2024)

  Changed paths:
    M clang/include/clang/Basic/Builtins.td
    M clang/lib/CodeGen/CGBuiltin.cpp
    M clang/lib/CodeGen/CGHLSLRuntime.h
    M clang/lib/Headers/hlsl/hlsl_intrinsics.h
    A clang/test/CodeGenHLSL/builtins/WaveActiveAllTrue.hlsl
    A clang/test/SemaHLSL/BuiltIns/WaveActiveAllTrue-errors.hlsl
    M llvm/include/llvm/IR/IntrinsicsDirectX.td
    M llvm/include/llvm/IR/IntrinsicsSPIRV.td
    M llvm/lib/Target/DirectX/DXIL.td
    M llvm/lib/Target/SPIRV/SPIRVInstructionSelector.cpp
    A llvm/test/CodeGen/DirectX/WaveActiveAllTrue.ll
    A llvm/test/CodeGen/SPIRV/hlsl-intrinsics/WaveActiveAllTrue.ll

  Log Message:
  -----------
  [HLSL] Implement `WaveActiveAllTrue` Intrinsic (#117245)

Resolves https://github.com/llvm/llvm-project/issues/99161

- [x]  Implement `WaveActiveAllTrue` clang builtin,
- [x]  Link `WaveActiveAllTrue` clang builtin with `hlsl_intrinsics.h`
- [x] Add sema checks for `WaveActiveAllTrue` to
`CheckHLSLBuiltinFunctionCall` in `SemaChecking.cpp`
- [x] Add codegen for `WaveActiveAllTrue` to `EmitHLSLBuiltinExpr` in
`CGBuiltin.cpp`
- [x] Add codegen tests to
`clang/test/CodeGenHLSL/builtins/WaveActiveAllTrue.hlsl`
- [x] Add sema tests to
`clang/test/SemaHLSL/BuiltIns/WaveActiveAllTrue-errors.hlsl`
- [x] Create the `int_dx_WaveActiveAllTrue` intrinsic in
`IntrinsicsDirectX.td`
- [x] Create the `DXILOpMapping` of `int_dx_WaveActiveAllTrue` to `114`
in `DXIL.td`
- [x] Create the `WaveActiveAllTrue.ll` and
`WaveActiveAllTrue_errors.ll` tests in `llvm/test/CodeGen/DirectX/`
- [x] Create the `int_spv_WaveActiveAllTrue` intrinsic in
`IntrinsicsSPIRV.td`
- [x] In SPIRVInstructionSelector.cpp create the `WaveActiveAllTrue`
lowering and map it to `int_spv_WaveActiveAllTrue` in
`SPIRVInstructionSelector::selectIntrinsic`.
- [x] Create SPIR-V backend test case in
`llvm/test/CodeGen/SPIRV/hlsl-intrinsics/WaveActiveAllTrue.ll`


  Commit: 72e8b9aeaa3f584f223bc59924812df69a09a48b
      https://github.com/llvm/llvm-project/commit/72e8b9aeaa3f584f223bc59924812df69a09a48b
  Author: Mehdi Amini <joker.eph at gmail.com>
  Date:   2024-12-17 (Tue, 17 Dec 2024)

  Changed paths:
    M mlir/include/mlir/Dialect/GPU/IR/CompilationInterfaces.h
    M mlir/include/mlir/IR/BuiltinAttributeInterfaces.td
    M mlir/include/mlir/IR/BuiltinAttributes.td
    M mlir/include/mlir/Target/LLVM/ModuleToObject.h
    M mlir/include/mlir/Target/LLVM/NVVM/Utils.h
    M mlir/include/mlir/Target/LLVM/ROCDL/Utils.h
    M mlir/lib/Dialect/GPU/IR/GPUDialect.cpp
    M mlir/lib/Dialect/GPU/Transforms/ModuleToBinary.cpp
    M mlir/lib/IR/BuiltinAttributes.cpp
    M mlir/lib/Target/LLVM/ModuleToObject.cpp
    M mlir/lib/Target/LLVM/NVVM/Target.cpp
    M mlir/lib/Target/LLVM/ROCDL/Target.cpp
    M mlir/unittests/Target/LLVM/CMakeLists.txt
    M mlir/unittests/Target/LLVM/SerializeNVVMTarget.cpp

  Log Message:
  -----------
  [MLIR] Add a BlobAttr interface for attribute to wrap arbitrary content and use it as linkLibs for ModuleToObject (#120116)

This change allows to expose through an interface attributes wrapping
content as external resources, and the usage inside the ModuleToObject
show how we will be able to provide runtime libraries without relying on
the filesystem.


  Commit: 6e58e99a07facd73547f7fa1a6f8c0719d8af30d
      https://github.com/llvm/llvm-project/commit/6e58e99a07facd73547f7fa1a6f8c0719d8af30d
  Author: Sirraide <aeternalmail at gmail.com>
  Date:   2024-12-17 (Tue, 17 Dec 2024)

  Changed paths:
    M clang/docs/MatrixTypes.rst
    M clang/docs/ReleaseNotes.rst
    M clang/include/clang/Basic/DiagnosticSemaKinds.td
    M clang/lib/Sema/SemaType.cpp
    A clang/test/CodeGenCXX/matrix-vector-bit-int.cpp
    M clang/test/SemaCXX/matrix-type.cpp

  Log Message:
  -----------
  [Clang] [Sema] Reject non-power-of-2 `_BitInt` matrix element types (#117487)

Essentially, this makes this ill-formed:
```c++
using mat4 = _BitInt(12) [[clang::matrix_type(3, 3)]];
```

This matches preexisting behaviour for vector types (e.g.
`ext_vector_type`), and given that LLVM IR intrinsics for matrices also
take vector types, it seems like a sensible thing to do.

This is currently especially problematic since we sometimes lower matrix
types to LLVM array types instead, and while e.g. `[4 x i32]` and `<4 x
i32>` *probably* have the same similar memory layout (though I don’t
think it’s sound to rely on that either, see #117486), `[4 x i12]` and
`<4 x i12>` definitely don’t.


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

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

  Log Message:
  -----------
  [clang] Fix -Wunused-variable in CGBuiltin.cpp (NFC)

/llvm-project/clang/lib/CodeGen/CGBuiltin.cpp:19441:17:
 error: unused variable 'Ty' [-Werror,-Wunused-variable]
    llvm::Type *Ty = Op->getType();
                ^
1 error generated.


  Commit: f0878995c217d6c6f808532fcfa106a7c680ce5a
      https://github.com/llvm/llvm-project/commit/f0878995c217d6c6f808532fcfa106a7c680ce5a
  Author: Aiden Grossman <aidengrossman at google.com>
  Date:   2024-12-17 (Tue, 17 Dec 2024)

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

  Log Message:
  -----------
  [Github] Fix concurrency groups for premerge

According to https://docs.github.com/en/rest/using-the-rest-api/github-event-types?apiVersion=2022-11-28,
When we look at the push event payload, github.event.push.head is a string
containing the SHA. This is currently causing new commits on main to cancel
the premerge pipeline of older commits.


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

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

  Log Message:
  -----------
  [MemProf] Remove dead code (NFC) (#120156)

Remove unused collection of context size information that was likely
leftover from debugging / testing.


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

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

  Log Message:
  -----------
  [VPlan] Remove overlapping VPInstruction::mayWriteToMemory. NFCI (#120039)

VPInstruction has a definition of mayWriteToMemory, which seems to only
be used by VPlanSLP. However VPInstructions are already handled in
VPRecipeBase::mayWriteToMemory, and everywhere else seems to use this
definition. I think these should be the same for all intents and
purposes. The VPRecipeBase definition is more conservative but returns
true for stores/calls/invokes/SLPStores.


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

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

  Log Message:
  -----------
  [flang][cuda] Correctly allocate memory for descriptor load (#120164)

CodeGen will allocate memory for a new descriptor on descriptor loads.
CUDA Fortran local descriptor are allocated in managed memory by the
runtime. The newly allocated storage for cuda descriptor must also be
allocated through the runtime.


  Commit: ad64946549e377e5cfdcfe84081149b7aa17c4d6
      https://github.com/llvm/llvm-project/commit/ad64946549e377e5cfdcfe84081149b7aa17c4d6
  Author: Koakuma <koachan at protonmail.com>
  Date:   2024-12-17 (Tue, 17 Dec 2024)

  Changed paths:
    M llvm/lib/Target/Sparc/AsmParser/SparcAsmParser.cpp
    M llvm/lib/Target/Sparc/DelaySlotFiller.cpp
    M llvm/lib/Target/Sparc/SparcInstrInfo.td
    M llvm/test/MC/Sparc/sparc-ctrl-instructions.s

  Log Message:
  -----------
  [SPARC][IAS] Add support for `call dest, imm` form (#119078)

This follows GCC behavior of allowing a trailing immediate, that is
ignored by the assembler.


  Commit: 2806705c4bf69cbb1a8e482104efb9429bb50683
      https://github.com/llvm/llvm-project/commit/2806705c4bf69cbb1a8e482104efb9429bb50683
  Author: Ivan R. Ivanov <ivanov.i.aa at m.titech.ac.jp>
  Date:   2024-12-17 (Tue, 17 Dec 2024)

  Changed paths:
    M mlir/include/mlir/Dialect/LLVMIR/NVVMOps.td
    M mlir/test/Target/LLVMIR/Import/nvvmir.ll

  Log Message:
  -----------
  [MLIR][NVVM] Enable import of nvvm.barrier0 (#119965)

Co-authored-by: Tobias Gysi <tobias.gysi at nextsilicon.com>


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

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

  Log Message:
  -----------
  Update BUILD.bazel

Fix bazel build after https://github.com/llvm/llvm-project/pull/120116


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

  Changed paths:
    M llvm/docs/CommandGuide/llvm-mc.rst
    A llvm/test/MC/Disassembler/X86/hex-bytes.txt
    M llvm/tools/llvm-mc/Disassembler.cpp
    M llvm/tools/llvm-mc/Disassembler.h
    M llvm/tools/llvm-mc/llvm-mc.cpp

  Log Message:
  -----------
  [llvm-mc] Add --hex to disassemble hex bytes

`--disassemble`/`--cdis` parses input bytes as decimal, 0bbin, 0ooct, or
0xhex. While the hexadecimal digit form is most commonly used, requiring
a 0x prefix for each byte (`0x48 0x29 0xc3`) is cumbersome.

Tools like xxd -p and rz-asm use a plain hex dump form without the 0x
prefix or space separator. This patch adds --hex to disassemble such hex
bytes with optional whitespace.

```
% rz-asm -a x86 -b 64 -d 4829c34829c4
sub rbx, rax
sub rsp, rax

% llvm-mc -triple=x86_64 --cdis --hex --output-asm-variant=1 <<< 4829c34829c4
        .text
        sub     rbx, rax
        sub     rsp, rax
```

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


  Commit: 056cd12284f72105a3e2338f901882e43a90c8b2
      https://github.com/llvm/llvm-project/commit/056cd12284f72105a3e2338f901882e43a90c8b2
  Author: Timm Baeder <tbaeder at redhat.com>
  Date:   2024-12-17 (Tue, 17 Dec 2024)

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

  Log Message:
  -----------
  [clang][bytecode] Don't check returned pointers for liveness (#120107)

We're supposed to let them through and then later diagnose reading from
them, but returning dead pointers is fine.


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

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

  Log Message:
  -----------
  RegAllocGreedy: Fix comment typo


  Commit: eb5c21108fca4c871987faef581158811954c916
      https://github.com/llvm/llvm-project/commit/eb5c21108fca4c871987faef581158811954c916
  Author: Sirraide <aeternalmail at gmail.com>
  Date:   2024-12-17 (Tue, 17 Dec 2024)

  Changed paths:
    M clang/docs/ReleaseNotes.rst
    M clang/lib/Sema/SemaExprCXX.cpp
    M clang/test/CodeGenCXX/matrix-type.cpp
    A clang/test/SemaCXX/matrix-types-pseudo-destructor.cpp

  Log Message:
  -----------
  [Clang] [Sema] Support matrix types in pseudo-destructor expressions (#117483)

We already support vector types, and since matrix element types have to
be scalar types, there should be no problem w/ just enabling this.

This now also allows matrix types to be stored in STL containers.


  Commit: 3c357a49d61e4c81a1ac016502ee504521bc8dda
      https://github.com/llvm/llvm-project/commit/3c357a49d61e4c81a1ac016502ee504521bc8dda
  Author: Alexander Yermolovich <43973793+ayermolo at users.noreply.github.com>
  Date:   2024-12-16 (Mon, 16 Dec 2024)

  Changed paths:
    M bolt/docs/CommandLineArgumentReference.md
    M bolt/include/bolt/Core/BinaryFunction.h
    M bolt/include/bolt/Passes/IdenticalCodeFolding.h
    M bolt/lib/Core/BinaryFunction.cpp
    M bolt/lib/Passes/IdenticalCodeFolding.cpp
    M bolt/lib/Rewrite/BinaryPassManager.cpp
    M bolt/lib/Rewrite/BoltDiff.cpp
    M bolt/lib/Rewrite/RewriteInstance.cpp
    A bolt/test/X86/icf-safe-icp.test
    A bolt/test/X86/icf-safe-process-rela-data.test
    A bolt/test/X86/icf-safe-test1-no-relocs.test
    A bolt/test/X86/icf-safe-test1.test
    A bolt/test/X86/icf-safe-test2GlobalConstPtrNoPic.test

  Log Message:
  -----------
  [BOLT] Add support for safe-icf (#116275)

Identical Code Folding (ICF) folds functions that are identical into one
function, and updates symbol addresses to the new address. This reduces
the size of a binary, but can lead to problems. For example when
function pointers are compared. This can be done either explicitly in
the code or generated IR by optimization passes like Indirect Call
Promotion (ICP). After ICF what used to be two different addresses
become the same address. This can lead to a different code path being
taken.

This is where safe ICF comes in. Linker (LLD) does it using address
significant section generated by clang. If symbol is in it, or an object
doesn't have this section symbols are not folded.

BOLT does not have the information regarding which objects do not have
this section, so can't re-use this mechanism.

This implementation scans code section and conservatively marks
functions symbols as unsafe. It treats symbols as unsafe if they are
used in non-control flow instruction. It also scans through the data
relocation sections and does the same for relocations that reference a
function symbol. The latter handles the case when function pointer is
stored in a local or global variable, etc. If a relocation address
points within a vtable these symbols are skipped.


  Commit: 5e727e8bed5c57cbc804a2453bba1c2379084f27
      https://github.com/llvm/llvm-project/commit/5e727e8bed5c57cbc804a2453bba1c2379084f27
  Author: Matt Arsenault <Matthew.Arsenault at amd.com>
  Date:   2024-12-17 (Tue, 17 Dec 2024)

  Changed paths:
    M llvm/lib/CodeGen/FixupStatepointCallerSaved.cpp
    M llvm/lib/CodeGen/StackMaps.cpp
    A llvm/test/CodeGen/X86/stackmap-undef-operand-anyregcc.mir
    M llvm/test/CodeGen/X86/statepoint-fixup-undef.mir

  Log Message:
  -----------
  [Statepoint] Treat undef operands less specially (#119682)

This reverts commit f7443905af1e06eaacda1e437fff8d54dc89c487.

This is to avoid an assertion if an undef operand appears in a
stackmap. This is important to avoid hitting verifier errors
when register allocation starts adding undefs in error scenarios.

Rather than trying to treat undef operands as special, leave them
alone and avoid producing an invalid spill. It would a bit more
precise to produce a spill of an undef register here, but that's not
exposed through the storeRegToStackSlot API.

https://reviews.llvm.org/D122605

This was an alternative to https://reviews.llvm.org/D122582


  Commit: 8387cbd0f9056fdf4e3886652e50fe4d94aaad7c
      https://github.com/llvm/llvm-project/commit/8387cbd0f9056fdf4e3886652e50fe4d94aaad7c
  Author: Matt Arsenault <Matthew.Arsenault at amd.com>
  Date:   2024-12-17 (Tue, 17 Dec 2024)

  Changed paths:
    M llvm/lib/Target/AMDGPU/SILowerSGPRSpills.cpp
    M llvm/lib/Target/AMDGPU/SIRegisterInfo.cpp
    M llvm/test/CodeGen/AMDGPU/sgpr-spill-partially-undef.mir
    M llvm/test/CodeGen/AMDGPU/spill-agpr-partially-undef.mir
    M llvm/test/CodeGen/AMDGPU/vgpr-spill.mir

  Log Message:
  -----------
  AMDGPU: Delete spills of undef values (#119684)

AMDGPU: Delete spills of undef values

It would be a bit more logical to preserve the undef and do the normal
expansion, but this is less work. This avoids verifier errors in a
future patch which starts deleting liveness from registers after
allocation failures which results in spills of undef values.

https://reviews.llvm.org/D122607

Move where undef sgpr spills are deleted


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

  Changed paths:
    M lld/ELF/LinkerScript.cpp
    M lld/ELF/LinkerScript.h

  Log Message:
  -----------
  [ELF] Remove unneeded sec->file check


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

  Changed paths:
    M llvm/include/llvm/ExecutionEngine/Orc/COFFPlatform.h
    A llvm/include/llvm/ExecutionEngine/Orc/LinkGraphLayer.h
    A llvm/include/llvm/ExecutionEngine/Orc/LinkGraphLinkingLayer.h
    M llvm/include/llvm/ExecutionEngine/Orc/ObjectLinkingLayer.h
    M llvm/lib/ExecutionEngine/Orc/CMakeLists.txt
    A llvm/lib/ExecutionEngine/Orc/LinkGraphLayer.cpp
    A llvm/lib/ExecutionEngine/Orc/LinkGraphLinkingLayer.cpp
    M llvm/lib/ExecutionEngine/Orc/ObjectLinkingLayer.cpp

  Log Message:
  -----------
  [ORC] Introduce LinkGraphLayer interface and LinkGraphLinkingLayer. (#120182)

Introduces a new layer interface, LinkGraphLayer, that can be used to
add LinkGraphs to an ExecutionSession.

This patch moves most of ObjectLinkingLayer's functionality into a new
LinkGraphLinkingLayer which should (in the future) be able to be used
without linking libObject. ObjectLinkingLayer now inherits from
LinkGraphLinkingLayer and just handles conversion of object files to
LinkGraphs, which are then handed down to LinkGraphLinkingLayer to be
linked.


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

  Changed paths:
    M llvm/utils/gn/secondary/llvm/lib/ExecutionEngine/Orc/BUILD.gn

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


  Commit: 4a7673ddf2377784c1c7f11edcfa3ddb54e702a0
      https://github.com/llvm/llvm-project/commit/4a7673ddf2377784c1c7f11edcfa3ddb54e702a0
  Author: Aiden Grossman <aidengrossman at google.com>
  Date:   2024-12-17 (Tue, 17 Dec 2024)

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

  Log Message:
  -----------
  [Github] Fix premerge concurrency cancellation

This should actually fix the problem as I validated that github.sha returns an
actual value by running a workflow in a test repo. I'm not sure why the
existing value doesn't work, but it returns nothing.


  Commit: f515d7aa720142dfbb72f52e9d0106ba33e1fe69
      https://github.com/llvm/llvm-project/commit/f515d7aa720142dfbb72f52e9d0106ba33e1fe69
  Author: Ryosuke Niwa <rniwa at webkit.org>
  Date:   2024-12-16 (Mon, 16 Dec 2024)

  Changed paths:
    M clang/tools/scan-build/bin/scan-build

  Log Message:
  -----------
  [Static analysis] Encodes a filename before inserting it into a URL. (#120123)

This fixes a bug where report links generated from files such as
StylePrimitiveNumericTypes+Conversions.h in WebKit result in an error.

Co-authored-by: Brianna Fan <bfan2 at apple.com>


  Commit: 417d2d7ce694acfa09a7d950cf1c5c41796eb313
      https://github.com/llvm/llvm-project/commit/417d2d7ce694acfa09a7d950cf1c5c41796eb313
  Author: Daniil Kovalev <dkovalev at accesssoftek.com>
  Date:   2024-12-17 (Tue, 17 Dec 2024)

  Changed paths:
    M lld/ELF/Arch/AArch64.cpp
    M lld/ELF/InputSection.cpp
    M lld/ELF/Relocations.cpp
    M lld/ELF/Relocations.h
    M lld/ELF/Symbols.h
    M lld/ELF/SyntheticSections.cpp
    M lld/ELF/SyntheticSections.h
    A lld/test/ELF/aarch64-got-relocations-pauth.s

  Log Message:
  -----------
  [PAC][lld][AArch64][ELF] Support signed GOT (#113815)

Depends on #113811

Support `R_AARCH64_AUTH_ADR_GOT_PAGE`, `R_AARCH64_AUTH_GOT_LO12_NC` and
`R_AARCH64_AUTH_GOT_ADD_LO12_NC` GOT-generating relocations. For preemptible
symbols, dynamic relocation `R_AARCH64_AUTH_GLOB_DAT` is emitted. Otherwise,
we unconditionally emit `R_AARCH64_AUTH_RELATIVE` dynamic relocation since
pointers in signed GOT needs to be signed during dynamic link time.


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

  Changed paths:
    M llvm/test/MC/Disassembler/AArch64/armv8.6a-amvs.s
    M llvm/test/MC/Disassembler/AArch64/armv8r-sysreg.txt
    M llvm/test/MC/Disassembler/AArch64/armv9.6a-lsui.txt
    M llvm/test/MC/Disassembler/AArch64/armv9.6a-occmo.txt
    M llvm/test/MC/Disassembler/AArch64/armv9.6a-pcdphint.txt
    M llvm/test/MC/Disassembler/AArch64/armv9.6a-rme-gpc3.txt
    M llvm/test/MC/Disassembler/AArch64/armv9.6a-srmask.txt
    M llvm/test/MC/Disassembler/Mips/eva/valid_R6-eva.txt
    M llvm/test/MC/Disassembler/Mips/eva/valid_preR6-eva.txt
    M llvm/test/MC/Disassembler/Mips/mips1/valid-mips1-el.txt
    M llvm/test/MC/Disassembler/Mips/mips1/valid-mips1.txt
    M llvm/test/MC/Disassembler/Mips/mips2/valid-mips2-el.txt
    M llvm/test/MC/Disassembler/Mips/mips2/valid-mips2.txt
    M llvm/test/MC/Disassembler/Mips/mips3/valid-mips3-el.txt
    M llvm/test/MC/Disassembler/Mips/mips3/valid-mips3.txt
    M llvm/test/MC/Disassembler/Mips/mips4/valid-mips4-el.txt
    M llvm/test/MC/Disassembler/Mips/mips4/valid-mips4.txt
    M llvm/test/MC/Disassembler/Mips/mips64r2/valid-mips64r2-el.txt
    M llvm/test/MC/Disassembler/Mips/mips64r2/valid-mips64r2.txt
    M llvm/test/MC/Disassembler/Mips/mips64r3/valid-mips64r3-el.txt
    M llvm/test/MC/Disassembler/Mips/mips64r3/valid-mips64r3.txt
    M llvm/test/MC/Disassembler/Mips/mips64r5/valid-mips64r5-el.txt
    M llvm/test/MC/Disassembler/Mips/mips64r5/valid-mips64r5.txt
    M llvm/test/MC/Disassembler/RISCV/colored.txt
    M llvm/test/MC/Disassembler/WebAssembly/wasm-error.txt
    M llvm/test/MC/Disassembler/WebAssembly/wasm.txt

  Log Message:
  -----------
  [test] Don't test initial ".text" in llvm-mc --disassemble output

This kludge will go away after #120185.


  Commit: 6db1b2035bbef5ec477a1e645e249ebf7b29688c
      https://github.com/llvm/llvm-project/commit/6db1b2035bbef5ec477a1e645e249ebf7b29688c
  Author: Ryosuke Niwa <rniwa at webkit.org>
  Date:   2024-12-16 (Mon, 16 Dec 2024)

  Changed paths:
    M clang/tools/scan-build/bin/scan-build

  Log Message:
  -----------
  Revert "[Static analysis] Encodes a filename before inserting it into a URL." (#120195)

Reverts llvm/llvm-project#120123
Broke some tests.


  Commit: 495bd4c255a0eb0e5b4fef5240eddc5fded1911b
      https://github.com/llvm/llvm-project/commit/495bd4c255a0eb0e5b4fef5240eddc5fded1911b
  Author: Fangrui Song <i at maskray.me>
  Date:   2024-12-16 (Mon, 16 Dec 2024)

  Changed paths:
    M llvm/lib/MC/MCAsmStreamer.cpp
    M llvm/test/MC/Disassembler/AArch64/colored.txt
    M llvm/test/MC/Disassembler/ARM/arm-trustzone.txt
    M llvm/test/tools/llvm-mc/line_end_with_space.test
    M llvm/tools/llvm-mc/Disassembler.cpp

  Log Message:
  -----------
  [llvm-mc] Don't print initial .text for disassembler

```
% echo 90 | llvm-mc -triple=x86_64 --disassemble --hex
	.text
        nop
```

The initial `.text` kludge is due `initSection`, which is actually only
needed by AIX XCOFF for its `getCurrentSectionOnly()` use in
MCAsmStreamer::emitInstruction (https://reviews.llvm.org/D95518). Adjust
MCAsmStreamer::emitInstruction to not trigger failures on

```
echo 7c4303a6 | llvm-mc --cdis --hex --triple=powerpc-aix-ibm-xcoff
```

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


  Commit: 43ede4689892a716fc9ec1c9ae4096621f3b0f57
      https://github.com/llvm/llvm-project/commit/43ede4689892a716fc9ec1c9ae4096621f3b0f57
  Author: Craig Topper <craig.topper at sifive.com>
  Date:   2024-12-16 (Mon, 16 Dec 2024)

  Changed paths:
    M llvm/lib/Target/RISCV/GISel/RISCVLegalizerInfo.cpp
    M llvm/test/CodeGen/RISCV/GlobalISel/fp128.ll

  Log Message:
  -----------
  [RISCV][GISel] Add legalization for more fp128 libcalls.


  Commit: 300deebf41d2da96701fe29c0faa8025b7efa120
      https://github.com/llvm/llvm-project/commit/300deebf41d2da96701fe29c0faa8025b7efa120
  Author: Lang Hames <lhames at gmail.com>
  Date:   2024-12-17 (Tue, 17 Dec 2024)

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

  Log Message:
  -----------
  [ORC] Make LazyReexportsManager implement ResourceManager.

This ensures that the reexports mappings are cleared when the resource tracker
associated with each mapping is removed.


  Commit: bfe8a21bad7e90629fb079217929a79e7377d8b3
      https://github.com/llvm/llvm-project/commit/bfe8a21bad7e90629fb079217929a79e7377d8b3
  Author: Brendan Sweeney <brs at eecs.berkeley.edu>
  Date:   2024-12-17 (Tue, 17 Dec 2024)

  Changed paths:
    M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
    M llvm/lib/Target/RISCV/RISCVISelLowering.h
    M llvm/lib/Target/RISCV/RISCVInstrInfoA.td
    M llvm/lib/Target/RISCV/RISCVInstrInfoZalasr.td
    M llvm/test/CodeGen/RISCV/atomic-load-store.ll

  Log Message:
  -----------
  [RISCV][ISEL] Lowering to load-acquire/store-release for RISCV Zalasr (#82914)

Lowering to load-acquire/store-release for RISCV Zalasr.

Currently uses the psABI lowerings for WMO load-acquire/store-release
(which are identical to A.7). These are incompatable with the A.6
lowerings currently used by LLVM. This should be OK for now since Zalasr
is behind the enable experimental extensions flag, but needs to be fixed
before it is removed from that.

For TSO, it uses the standard Ztso mappings except for lowering seq_cst
loads/store to load-acquire/store-release, I had Andrea review that.


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

  Changed paths:
    M llvm/lib/Transforms/Vectorize/VPlan.cpp
    M llvm/lib/Transforms/Vectorize/VPlan.h
    M llvm/unittests/Transforms/Vectorize/VPDomTreeTest.cpp
    M llvm/unittests/Transforms/Vectorize/VPlanTest.cpp
    M llvm/unittests/Transforms/Vectorize/VPlanVerifierTest.cpp

  Log Message:
  -----------
  [VPlan] Remove legacy VPlan() constructors (NFC).

The constructors were retained to reduce the diff during transition.

Remove them now.


  Commit: 514580b43898921cc95659de47b383bd2c9b4b12
      https://github.com/llvm/llvm-project/commit/514580b43898921cc95659de47b383bd2c9b4b12
  Author: Florian Mayer <fmayer at google.com>
  Date:   2024-12-17 (Tue, 17 Dec 2024)

  Changed paths:
    M clang/lib/CodeGen/SanitizerMetadata.cpp
    M clang/test/CodeGen/memtag-globals.cpp
    M llvm/lib/CodeGen/AsmPrinter/AsmPrinter.cpp
    M llvm/lib/IR/Verifier.cpp
    M llvm/lib/Target/AArch64/AArch64.h
    R llvm/lib/Target/AArch64/AArch64GlobalsTagging.cpp
    M llvm/lib/Target/AArch64/AArch64TargetMachine.cpp
    M llvm/lib/Target/AArch64/CMakeLists.txt
    M llvm/test/CodeGen/AArch64/O0-pipeline.ll
    M llvm/test/CodeGen/AArch64/O3-pipeline.ll
    M llvm/unittests/IR/VerifierTest.cpp
    M llvm/utils/gn/secondary/llvm/lib/Target/AArch64/BUILD.gn

  Log Message:
  -----------
  [MTE] Apply alignment / size in AsmPrinter rather than IR (#111918)

This makes sure no optimizations are applied that assume the
bigger alignment or size, which could be incorrect if we link
together with non-instrumented code.


  Commit: fbdbb13d5ba9e7a2bd6c544d290f913490da858f
      https://github.com/llvm/llvm-project/commit/fbdbb13d5ba9e7a2bd6c544d290f913490da858f
  Author: Artem Pianykh <artem.pyanykh at gmail.com>
  Date:   2024-12-17 (Tue, 17 Dec 2024)

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

  Log Message:
  -----------
  [NFC][Utils] Eliminate DISubprogram set from BuildDebugInfoMDMap (#118625)


Summary:
Previously, we'd add all SPs distinct from the cloned one into a set.
Then when cloning a local scope we'd check if it's from one of those
'distinct' SPs by checking if it's in the set. We don't need to do that.
We can just check against the cloned SP directly and drop the set.

Test Plan:
ninja check-llvm-unit check-llvm


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

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

  Log Message:
  -----------
  [X86] getShuffleCost - ensure we treat constant folded shuffles as free


  Commit: 3508d8f6ddd65e27486fad70cdce47adebafc364
      https://github.com/llvm/llvm-project/commit/3508d8f6ddd65e27486fad70cdce47adebafc364
  Author: Matt Arsenault <Matthew.Arsenault at amd.com>
  Date:   2024-12-17 (Tue, 17 Dec 2024)

  Changed paths:
    M llvm/lib/CodeGen/RegAllocFast.cpp
    M llvm/test/CodeGen/AMDGPU/ran-out-of-registers-error-all-regs-reserved.ll
    M llvm/test/CodeGen/AMDGPU/ran-out-of-registers-errors.ll

  Log Message:
  -----------
  RegAllocFast: Avoid using temporary DiagnosticInfo (#120184)

This reverts commit 1297933f35b4948b4d281259627a72094c407a75.


  Commit: 2a7ed2c1aaf5c84280d947eea56daaf302eb83d1
      https://github.com/llvm/llvm-project/commit/2a7ed2c1aaf5c84280d947eea56daaf302eb83d1
  Author: David Green <david.green at arm.com>
  Date:   2024-12-17 (Tue, 17 Dec 2024)

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

  Log Message:
  -----------
  [SROA] Protect against calling the alloca ptr

In case we are calling the alloca ptr directly, check that the Use is a normal
operand to the call. Fortran is a funny language.


  Commit: 9c89b40f183b6900d364e3496fd955f0c17fe27e
      https://github.com/llvm/llvm-project/commit/9c89b40f183b6900d364e3496fd955f0c17fe27e
  Author: SpencerAbson <Spencer.Abson at arm.com>
  Date:   2024-12-17 (Tue, 17 Dec 2024)

  Changed paths:
    M clang/include/clang/Basic/arm_sme.td
    M clang/test/CodeGen/AArch64/fp8-intrinsics/acle_sme2_fp8_mla.c
    M clang/test/Sema/aarch64-fp8-intrinsics/acle_sme2_fp8_mla.c
    M llvm/include/llvm/IR/IntrinsicsAArch64.td
    M llvm/lib/Target/AArch64/AArch64SMEInstrInfo.td
    M llvm/lib/Target/AArch64/SMEInstrFormats.td
    M llvm/test/CodeGen/AArch64/sme2-fp8-intrinsics-mla.ll

  Log Message:
  -----------
  [AArch64] Implement intrinsics for FMLAL/FMLALL (single) (#119568)

Multi-vector 8-bit floating-point multiply-add long (single)
```c
// Only if __ARM_FEATURE_SME_F8F16 != 0
void svmla[_single]_za16[_mf8]_vg2x1_fpm(uint32_t slice, svmfloat8_t zn,
                                         svmfloat8_t zm, fpm_t fpm)
                                         __arm_streaming __arm_inout("za");

void svmla[_single]_za16[_mf8]_vg2x2_fpm(uint32_t slice, svmfloat8x2_t zn,
                                         svmfloat8_t zm, fpm_t fpm)
                                         __arm_streaming __arm_inout("za");

void svmla[_single]_za16[_mf8]_vg2x4_fpm(uint32_t slice, svmfloat8x4_t zn,
                                         svmfloat8_t zm, fpm_t fpm)
                                         __arm_streaming __arm_inout("za");
// Only if __ARM_FEATURE_SME_F8F32 != 0
void svmla[_single]_za32[_mf8]_vg4x1_fpm(uint32_t slice, svmfloat8_t zn,
                                         svmfloat8_t zm, fpm_t fpm)
                                         __arm_streaming __arm_inout("za");

void svmla[_single]_za32[_mf8]_vg4x2_fpm(uint32_t slice, svmfloat8x2_t zn,
                                         svmfloat8_t zm, fpm_t fpm)
                                         __arm_streaming __arm_inout("za");

void svmla[_single]_za32[_mf8]_vg4x4_fpm(uint32_t slice, svmfloat8x4_t zn,
                                         svmfloat8_t zm, fpm_t fpm)
                                         __arm_streaming __arm_inout("za");
 ```
 In accordance with https://github.com/ARM-software/acle/pull/323.
 
Co-authored-by: Momchil Velikov momchil.velikov at arm.com


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

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

  Log Message:
  -----------
  [NFC][webkit.UncountedLambdaCapturesChecker] Remove unnecessary check (#120069)

CXXMD is checked for null, but it can't be null inside of a visitor's
method. Found by a static analyzer tool.


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

  Changed paths:
    M .github/new-prs-labeler.yml

  Log Message:
  -----------
  [GitHub] Add Xtensa backend labeler. (#120133)

Add patterns to label Xtensa backend related changes automatically.


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

  Changed paths:
    M llvm/lib/Analysis/InstructionSimplify.cpp
    M llvm/test/Transforms/InstSimplify/select-equivalence-fp.ll

  Log Message:
  -----------
  [InstSimplify] Treat float binop with identity as refining (#120098)

If x is NaN, then fmul (x, 1) may produce a different NaN value.

Our float semantics explicitly permit folding fmul (x, 1) to x, but we
can't do this when we're replacing a select input, as selects are
supposed to preserve the exact bitwise value.

Fixes
https://github.com/llvm/llvm-project/pull/115152#issuecomment-2545773114.


  Commit: a1f5fe8c851ba6a0070e4cab9e7436e962677ac6
      https://github.com/llvm/llvm-project/commit/a1f5fe8c851ba6a0070e4cab9e7436e962677ac6
  Author: Fraser Cormack <fraser at codeplay.com>
  Date:   2024-12-17 (Tue, 17 Dec 2024)

  Changed paths:
    M llvm/lib/Target/NVPTX/NVPTXISelLowering.cpp
    M llvm/test/CodeGen/NVPTX/bf16-instructions.ll
    M llvm/test/CodeGen/NVPTX/fma-relu-contract.ll
    M llvm/test/CodeGen/NVPTX/fma-relu-fma-intrinsic.ll
    M llvm/test/CodeGen/NVPTX/fma-relu-instruction-flag.ll
    M llvm/test/CodeGen/NVPTX/i16x2-instructions.ll

  Log Message:
  -----------
  [NVPTX] Optimize v2x16 BUILD_VECTORs to PRMT (#116675)

When two 16-bit values are combined into a v2x16 vector, and those
values are truncated come from 32-bit values, a PRMT instruction can
save registers by selecting bytes directly from the original 32-bit
values. We do this during a post-legalize DAG combine, as these
opportunities are typically only exposed after the BUILD_VECTOR's
operands have been legalized.

Additionally, if the 32-bit values are right-shifted, we can fold in the
shift by selecting higher bytes with PRMT. Only logical right-shifts by
16 are supported (for now) since those are the only situations seen in
practice. Right shifts by 16 often come up during the legalization of
EXTRACT_VECTOR_ELT.

This idea was brought up in a PR comment by @Artem-B.


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

  Changed paths:
    M mlir/lib/Conversion/VectorToLLVM/ConvertVectorToLLVMPass.cpp
    M mlir/test/Conversion/VectorToLLVM/vector-mask-to-llvm.mlir
    M mlir/test/Conversion/VectorToLLVM/vector-to-llvm.mlir
    M mlir/test/Conversion/VectorToLLVM/vector-xfer-to-llvm.mlir

  Log Message:
  -----------
  [mlir][Vector] Move mask materialization patterns to greedy rewrite (#119973)

The mask materialization patterns during `VectorToLLVM` are rewrite
patterns. They should run as part of the greedy pattern rewrite and not
the dialect conversion. (Rewrite patterns and conversion patterns are
not generally compatible.)

The current combination of rewrite patterns and conversion patterns
triggered an edge case when merging the 1:1 and 1:N dialect conversions.


  Commit: 59890c13343af9e308281b3c76bac425087f4f8a
      https://github.com/llvm/llvm-project/commit/59890c13343af9e308281b3c76bac425087f4f8a
  Author: Nikolas Klauser <nikolasklauser at berlin.de>
  Date:   2024-12-17 (Tue, 17 Dec 2024)

  Changed paths:
    M libcxx/include/__algorithm/inplace_merge.h
    M libcxx/include/__algorithm/stable_partition.h
    M libcxx/include/__algorithm/stable_sort.h
    M libcxx/include/__exception/exception_ptr.h
    M libcxx/include/__functional/function.h
    M libcxx/include/__memory/allocator.h
    M libcxx/include/__memory/builtin_new_allocator.h
    M libcxx/include/__memory/ranges_construct_at.h
    M libcxx/include/__memory/ranges_uninitialized_algorithms.h
    M libcxx/include/__memory/raw_storage_iterator.h
    M libcxx/include/__memory/shared_ptr.h
    M libcxx/include/__memory/uninitialized_algorithms.h
    M libcxx/include/__memory/unique_temporary_buffer.h
    M libcxx/include/__memory_resource/polymorphic_allocator.h
    M libcxx/include/__ostream/basic_ostream.h
    M libcxx/include/__pstl/backends/libdispatch.h
    M libcxx/include/__pstl/cpu_algos/transform_reduce.h
    M libcxx/include/__pstl/handle_exception.h
    M libcxx/include/__utility/no_destroy.h
    M libcxx/include/__utility/small_buffer.h
    M libcxx/include/exception
    M libcxx/include/future
    M libcxx/include/locale
    M libcxx/include/map
    M libcxx/include/module.modulemap
    M libcxx/include/optional
    M libcxx/include/stdexcept
    M libcxx/include/unordered_map
    M libcxx/include/valarray
    M libcxx/include/variant
    M libcxx/test/libcxx/transitive_includes/cxx23.csv
    M libcxx/test/libcxx/transitive_includes/cxx26.csv
    M libcxxabi/src/cxa_default_handlers.cpp

  Log Message:
  -----------
  [libc++] Granularize <new> includes (#119964)


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

  Changed paths:
    M mlir/include/mlir/Dialect/Vector/Transforms/LoweringPatterns.h
    M mlir/lib/Conversion/GPUCommon/GPUToLLVMConversion.cpp
    M mlir/lib/Conversion/VectorToLLVM/ConvertVectorToLLVM.cpp
    M mlir/lib/Conversion/VectorToLLVM/ConvertVectorToLLVMPass.cpp
    M mlir/test/Conversion/GPUCommon/lower-vector.mlir
    M mlir/test/Conversion/VectorToLLVM/vector-to-llvm.mlir

  Log Message:
  -----------
  [mlir][Vector] Clean up `populateVectorToLLVMConversionPatterns` (#119975)

Clean up `populateVectorToLLVMConversionPatterns` so that it populates
only conversion patterns. All rewrite patterns that do not lower to LLVM
should be populated into a separate greedy pattern rewrite.

The current combination of rewrite patterns and conversion patterns
triggered an edge case when merging the 1:1 and 1:N dialect conversions.

Depends on #119973.


  Commit: 10b12e6e07b4a2e6ff558b4a3066431bd704abfe
      https://github.com/llvm/llvm-project/commit/10b12e6e07b4a2e6ff558b4a3066431bd704abfe
  Author: Matt Arsenault <Matthew.Arsenault at amd.com>
  Date:   2024-12-17 (Tue, 17 Dec 2024)

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

  Log Message:
  -----------
  LiveVariables: Use Register (#120204)


  Commit: f7988a338ddb53b03e7cb89d839616925bd0ade1
      https://github.com/llvm/llvm-project/commit/f7988a338ddb53b03e7cb89d839616925bd0ade1
  Author: Mirko Brkušanin <Mirko.Brkusanin at amd.com>
  Date:   2024-12-17 (Tue, 17 Dec 2024)

  Changed paths:
    M llvm/lib/Target/AMDGPU/SIPreEmitPeephole.cpp
    A llvm/test/CodeGen/AMDGPU/remove-not-short-exec-branch-on-unconditional-jump.mir

  Log Message:
  -----------
  [AMDGPU][SIPreEmitPeephole] Fix mustRetainExeczBranch (#120121)

Do not remove S_CBRANCH_EXECZ if one of the following blocks contains an
unconditional branch to a block other than the one immediately following
it. This can cause unwanted behavior like infinite loops.


  Commit: a7dafea384a519342b2fbe210ed101c1e67f3be7
      https://github.com/llvm/llvm-project/commit/a7dafea384a519342b2fbe210ed101c1e67f3be7
  Author: Benjamin Maxwell <benjamin.maxwell at arm.com>
  Date:   2024-12-17 (Tue, 17 Dec 2024)

  Changed paths:
    M llvm/include/llvm/CodeGen/SelectionDAG.h
    M llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
    M llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp
    M llvm/test/CodeGen/AArch64/sincos-stack-slots.ll
    M llvm/test/CodeGen/PowerPC/f128-arith.ll
    M llvm/test/CodeGen/RISCV/llvm.frexp.ll
    M llvm/test/CodeGen/X86/llvm.frexp.ll
    A llvm/test/CodeGen/X86/llvm.sincos.ll
    M llvm/test/CodeGen/X86/sincos-stack-args.ll

  Log Message:
  -----------
  [SDAG] Allow folding stack slots into sincos/frexp in more cases (#118117)

This adds a new helper `canFoldStoreIntoLibCallOutputPointers()` to
check that it is safe to fold a store into a node that will expand to a
library call that takes output pointers. This requires checking for two
(independent) properties:

1. The store is not within a CALLSEQ_START..CALLSEQ_END pair
* If it is, the expansion would lead to nested call sequences (which is
invalid)
2. The node does not appear as a predecessor to the store
* If it does, attempting to merge the store into the call would result
in a cycle in the DAG

These two properties are checked as part of the same traversal in
`canFoldStoreIntoLibCallOutputPointers()`


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

  Changed paths:
    M clang/lib/Frontend/CompilerInvocation.cpp
    M clang/tools/clang-linker-wrapper/ClangLinkerWrapper.cpp
    M llvm/lib/Frontend/OpenMP/OMPContext.cpp
    M offload/CMakeLists.txt
    M offload/plugins-nextgen/common/src/Utils/ELF.cpp
    M offload/plugins-nextgen/host/CMakeLists.txt
    M offload/plugins-nextgen/host/dynamic_ffi/ffi.h
    M offload/plugins-nextgen/host/src/rtl.cpp

  Log Message:
  -----------
  [Offload] Add support for loongarch64 to host plugin

This adds support for the loongarch64 architecture to the offload host
plugin.

Similar to #115773

To fix some test issues, I've had to add the LoongArch64 target to:

- CompilerInvocation::ParseLangArgs
- linkDevice in ClangLinuxWrapper.cpp
- OMPContext::OMPContext (to set the device_kind_cpu trait)

Reviewed By: jhuber6

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


  Commit: 37e48e4a7360a6faf1b157e843160d9e65223890
      https://github.com/llvm/llvm-project/commit/37e48e4a7360a6faf1b157e843160d9e65223890
  Author: aurelien35 <aurelien35 at users.noreply.github.com>
  Date:   2024-12-17 (Tue, 17 Dec 2024)

  Changed paths:
    M llvm/lib/DebugInfo/LogicalView/LVReaderHandler.cpp
    M llvm/unittests/DebugInfo/LogicalView/CodeViewReaderTest.cpp
    A llvm/unittests/DebugInfo/LogicalView/Inputs/README.md
    A llvm/unittests/DebugInfo/LogicalView/Inputs/test-codeview-msvc.lib

  Log Message:
  -----------
  Fix crash due to un-checked error in LVReaderHandler::handleArchive method (#118951)

[llvm-debuginfo-analyzer] Fix crash due to un-checked error in LVReaderHandler::handleArchive
method.

- Added README describing how to generated the binary files used for the test.
- A follow up patch to add extra ASSERT_NE

Committed on behalf of @aurelien35


  Commit: b07e7b76c5d532a611cf19ae083a94d44bfe0c5d
      https://github.com/llvm/llvm-project/commit/b07e7b76c5d532a611cf19ae083a94d44bfe0c5d
  Author: paperchalice <liujunchang97 at outlook.com>
  Date:   2024-12-17 (Tue, 17 Dec 2024)

  Changed paths:
    M clang/CMakeLists.txt
    M compiler-rt/cmake/Modules/CompilerRTAIXUtils.cmake
    M compiler-rt/cmake/Modules/CompilerRTDarwinUtils.cmake
    M flang/CMakeLists.txt
    M libc/CMakeLists.txt
    M llvm/cmake/modules/LLVMProcessSources.cmake
    M llvm/tools/llvm-config/CMakeLists.txt
    M polly/cmake/polly_macros.cmake

  Log Message:
  -----------
  [cmake] Drop `AddFileDependencies` and `CMakeParseArguments` (#120002)

Theses modules are deprecated and have trivial implementations in modern
cmake.


  Commit: 24c2744a189eef9dfd39789df4983e4ffd219197
      https://github.com/llvm/llvm-project/commit/24c2744a189eef9dfd39789df4983e4ffd219197
  Author: Lang Hames <lhames at gmail.com>
  Date:   2024-12-17 (Tue, 17 Dec 2024)

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

  Log Message:
  -----------
  [ORC] Fix LazyReexports resource key management.

Multiple reentry points may be associated with a single key.


  Commit: 449af81f922cdb7a1f24b4c1e989f30848e1d762
      https://github.com/llvm/llvm-project/commit/449af81f922cdb7a1f24b4c1e989f30848e1d762
  Author: AdUhTkJm <30948580+AdUhTkJm at users.noreply.github.com>
  Date:   2024-12-17 (Tue, 17 Dec 2024)

  Changed paths:
    M clang/lib/Sema/SemaStmtAsm.cpp
    M clang/test/Sema/asm.c

  Log Message:
  -----------
  [Clang] Fix crash for incompatible types in inline assembly (#119098)

Fixed issue #118892.


  Commit: 908e30658ddf634f7c929f0c7e78dd40405c795a
      https://github.com/llvm/llvm-project/commit/908e30658ddf634f7c929f0c7e78dd40405c795a
  Author: SpencerAbson <Spencer.Abson at arm.com>
  Date:   2024-12-17 (Tue, 17 Dec 2024)

  Changed paths:
    M clang/include/clang/Basic/arm_sme.td
    M clang/test/CodeGen/AArch64/fp8-intrinsics/acle_sme2_fp8_mla.c
    M clang/test/Sema/aarch64-fp8-intrinsics/acle_sme2_fp8_mla.c
    M llvm/include/llvm/IR/IntrinsicsAArch64.td
    M llvm/lib/Target/AArch64/AArch64SMEInstrInfo.td
    M llvm/lib/Target/AArch64/SMEInstrFormats.td
    M llvm/test/CodeGen/AArch64/sme2-fp8-intrinsics-mla.ll

  Log Message:
  -----------
  [AArch64] Implement intrinsics for FP8 SME FMLAL/FMLALL (multi) (#119546)

This patch implements the following intrinsics:

Multi-vector 8-bit floating-point multiply-add long (multiple vectors).

``` c
// Only if __ARM_FEATURE_SME_F8F16 != 0
void svmla_za16[_mf8]_vg2x2_fpm(uint32_t slice, svmfloat8x2_t zn, svmfloat8x2_t zm,
                                fpm_t fpm) __arm_streaming __arm_inout("za");

void svmla_za16[_mf8]_vg2x4_fpm(uint32_t slice, svmfloat8x4_t zn, svmfloat8x4_t zm,
                                fpm_t fpm) __arm_streaming __arm_inout("za");
// Only if __ARM_FEATURE_SME_F8F32 != 0
void svmla_za32[_mf8]_vg4x2_fpm(uint32_t slice, svmfloat8x2_t zn, svmfloat8x2_t zm,
                                fpm_t fpm) __arm_streaming __arm_inout("za");

void svmla_za32[_mf8]_vg4x4_fpm(uint32_t slice, svmfloat8x4_t zn, svmfloat8x4_t zm,
                                fpm_t fpm) __arm_streaming __arm_inout("za");                              
```

In accordance with https://github.com/ARM-software/acle/pull/323


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

  Changed paths:
    M compiler-rt/lib/builtins/aarch64/sme-abi.S
    M compiler-rt/lib/builtins/aarch64/sme-libc-mem-routines.S

  Log Message:
  -----------
  Reland "[compiler-rt][AArch64] Allow platform-specific mangling of SME routines. (#119864)"

Avoid issues caused by `.subsections_via_symbols` directive, by using
numbered labels instead of named labels for the branch locations.

This reverts commit 4032ce3413d0230b0ccba1203536f9cb35e5c3b5.


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

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

  Log Message:
  -----------
  [SelectOpt] Support BinOps with SExt operands. (#115879)

Building on top of https://github.com/llvm/llvm-project/pull/115489
extend support for binops with SExt operand.

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


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

  Changed paths:
    M llvm/include/llvm/Analysis/ScalarEvolutionPatternMatch.h
    M llvm/lib/Analysis/ScalarEvolution.cpp

  Log Message:
  -----------
  [SCEV] Add initial matchers for SCEV expressions. (NFC) (#119390)

This patch adds initial matchers for unary and binary SCEV expressions 
and specializes it for SExt, ZExt and binary add expressions.

Also adds matchers for SCEVConstant and SCEVUnknown.

This patch only converts a few instances to use the new matchers to make
sure everything builds as expected for now.

The goal of the matchers is to hopefully make it slightly easier to
write code matching SCEV patterns.

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

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


  Commit: 56fd46edb38e4bab7e48c668683ba72709beb64f
      https://github.com/llvm/llvm-project/commit/56fd46edb38e4bab7e48c668683ba72709beb64f
  Author: Timm Baeder <tbaeder at redhat.com>
  Date:   2024-12-17 (Tue, 17 Dec 2024)

  Changed paths:
    M clang/lib/AST/ByteCode/Compiler.cpp
    M clang/lib/AST/ByteCode/Interp.h
    M clang/lib/AST/ByteCode/Opcodes.td
    M clang/test/AST/ByteCode/builtin-bit-cast.cpp

  Log Message:
  -----------
  [clang][bytecode] Remove a bitcast nullptr_t special case (#120188)

We still need to check the input pointer, so let this go through
BitCastPrim.


  Commit: 52b07d971c89ab8fbcc497f22c43931b488256ea
      https://github.com/llvm/llvm-project/commit/52b07d971c89ab8fbcc497f22c43931b488256ea
  Author: Nathan Gauër <brioche at google.com>
  Date:   2024-12-17 (Tue, 17 Dec 2024)

  Changed paths:
    M clang/lib/CodeGen/CGHLSLRuntime.cpp
    A clang/test/CodeGenHLSL/builtins/RWBuffer-constructor-opt.hlsl

  Log Message:
  -----------
  [HLSL] Fix call convention mismatch for ctor/dtor (#118651)

Before this patch, there was a calling-convention mismatch between the
constructors and the actual call emitted for the entrypoint wrapper.

Such mismatch causes the InstCombine pass to replace this call with an
`unreachable`, breaking the whole function.

Signed-off-by: Nathan Gauër <brioche at google.com>


  Commit: 794cd814ee0260c094b98e453c89faf5a1a1df01
      https://github.com/llvm/llvm-project/commit/794cd814ee0260c094b98e453c89faf5a1a1df01
  Author: Michael Buch <michaelbuch12 at gmail.com>
  Date:   2024-12-17 (Tue, 17 Dec 2024)

  Changed paths:
    M lldb/source/Plugins/SymbolFile/DWARF/DWARFASTParserClang.cpp

  Log Message:
  -----------
  [lldb][DWARFASTParserClang][ObjC] Remove workaround for old ObjC DWARF (#120218)

With all the recent versions of Clang that I tested, ObjC forward
declarations like
```
@class ForwardObjcClass;
```
don't emit the kind of DWARF that this workaround was put in place for.

Also, zero-sized structures are valid in C (and thus Objective-C), so
this workaround makes things confusing to reason about when mixing the
two languages.

This workaround has been in place for at least a decade, and given that
recent compilers don't produce this anymore, we think it's a good time
to remove it.


  Commit: 34c4f6f9375ba8193327f2706d05b90e363a33d1
      https://github.com/llvm/llvm-project/commit/34c4f6f9375ba8193327f2706d05b90e363a33d1
  Author: Mikhail Goncharov <goncharov.mikhail at gmail.com>
  Date:   2024-12-17 (Tue, 17 Dec 2024)

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

  Log Message:
  -----------
  [MLIR][bazel] port 0693b9e9ccdec5f09a3080b1bec73f5004a8dfa3


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

  Changed paths:
    M llvm/lib/Transforms/Vectorize/LoopVectorizationPlanner.h
    M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
    M llvm/lib/Transforms/Vectorize/VPlan.h
    M llvm/lib/Transforms/Vectorize/VPlanRecipes.cpp
    M llvm/test/Transforms/LoopVectorize/AArch64/low_trip_count_predicates.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/scalable-fp-ext-trunc-illegal-type.ll
    M llvm/test/Transforms/LoopVectorize/PowerPC/widened-massv-call.ll
    M llvm/test/Transforms/LoopVectorize/X86/cost-model.ll
    M llvm/test/Transforms/LoopVectorize/X86/drop-poison-generating-flags.ll
    M llvm/test/Transforms/LoopVectorize/X86/float-induction-x86.ll
    M llvm/test/Transforms/LoopVectorize/X86/interleave-cost.ll
    M llvm/test/Transforms/LoopVectorize/X86/metadata-enable.ll
    M llvm/test/Transforms/LoopVectorize/interleaved-accesses-different-insert-position.ll
    M llvm/test/Transforms/PhaseOrdering/AArch64/hoist-runtime-checks.ll
    M llvm/test/Transforms/PhaseOrdering/AArch64/hoisting-sinking-required-for-vectorization.ll
    M llvm/test/Transforms/PhaseOrdering/AArch64/interleavevectorization.ll
    M llvm/test/Transforms/PhaseOrdering/AArch64/matrix-extract-insert.ll
    M llvm/test/Transforms/PhaseOrdering/AArch64/predicated-reduction.ll
    M llvm/test/Transforms/PhaseOrdering/X86/pixel-splat.ll
    M llvm/test/Transforms/PhaseOrdering/X86/pr88239.ll
    M llvm/test/Transforms/PhaseOrdering/X86/preserve-access-group.ll
    M llvm/test/Transforms/PhaseOrdering/X86/vdiv-nounroll.ll
    M llvm/test/Transforms/PhaseOrdering/X86/vdiv.ll
    M llvm/test/Transforms/PhaseOrdering/X86/vector-reduction-known-first-value.ll

  Log Message:
  -----------
  [VPlan] Propagate all GEP flags (#119899)

Store GEPNoWrapFlags instead of only InBounds and propagate them.


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

  Changed paths:
    M lldb/source/Plugins/SymbolFile/DWARF/DWARFUnit.cpp
    M lldb/source/Plugins/SymbolFile/DWARF/DWARFUnit.h
    M lldb/test/API/functionalities/conditional_break/TestConditionalBreak.py
    M lldb/test/API/functionalities/data-formatter/data-formatter-cpp/TestDataFormatterCpp.py
    M lldb/test/API/functionalities/data-formatter/data-formatter-skip-summary/TestDataFormatterSkipSummary.py
    M lldb/test/API/lang/cpp/namespace/TestNamespace.py
    M lldb/unittests/SymbolFile/DWARF/DWARFUnitTest.cpp

  Log Message:
  -----------
  [lldb] Remove references to llvm-gcc (#120225)

The `llvm-gcc` front-end has been EOL'd at least since 2011 (based on
some `git` archeology). And Clang/LLVM has been removing references to
it ever since.

This patch removes the remaining references to it from LLDB. One benefit
of this is that it will allow us to remove the code checking for
`DW_AT_decl_file_attributes_are_invalid` and
`Supports_DW_AT_APPLE_objc_complete_type`.


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

  Changed paths:
    M lldb/source/Plugins/SymbolFile/DWARF/DWARFASTParserClang.cpp
    M lldb/source/Plugins/SymbolFile/DWARF/DWARFBaseDIE.cpp
    M lldb/source/Plugins/SymbolFile/DWARF/DWARFUnit.cpp
    M lldb/source/Plugins/SymbolFile/DWARF/DWARFUnit.h
    M lldb/source/Plugins/SymbolFile/DWARF/DebugNamesDWARFIndex.cpp
    M lldb/source/Plugins/SymbolFile/DWARF/SymbolFileDWARF.cpp
    M lldb/source/Plugins/SymbolFile/DWARF/SymbolFileDWARF.h
    M lldb/source/Plugins/SymbolFile/DWARF/SymbolFileDWARFDebugMap.cpp
    M lldb/source/Plugins/SymbolFile/DWARF/SymbolFileDWARFDebugMap.h

  Log Message:
  -----------
  [lldb][DWARF] Remove obsolete calls to Supports_DW_AT_APPLE_objc_complete_type and DW_AT_decl_file_attributes_are_invalid (#120226)

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

With `llvm-gcc` support being removed from LLDB, these APIs
are now trivial and can be removed too.


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

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

  Log Message:
  -----------
  [HLSL][NFC] Fix static analyzer concerns (#120090)

Class BuiltinTypeMethodBuilder has a user-defined destructor so likely
compiler generated special functions may behave incorrectly. Delete
explicitly copy constructor and copy assignment operator to avoid
potential errors.


  Commit: b4c1ded7d54858972c27250f4b6b882e74da1444
      https://github.com/llvm/llvm-project/commit/b4c1ded7d54858972c27250f4b6b882e74da1444
  Author: Youngsuk Kim <youngsuk.kim at hpe.com>
  Date:   2024-12-17 (Tue, 17 Dec 2024)

  Changed paths:
    M clang/lib/CodeGen/ItaniumCXXABI.cpp
    A clang/test/OpenMP/amdgpu_threadprivate.cpp

  Log Message:
  -----------
  [clang] Recover necessary AddrSpaceCast (#119246)

A necessary AddrSpaceCast was wrongfully deleted in
5c91b2886f6bf400b60ca7839069839ac3980f8f . Recover the AddrSpaceCast.

This fixes #86791 .


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

  Changed paths:
    M llvm/utils/merge-json.py

  Log Message:
  -----------
  [LLVM] Remove warning print when merging fails

Summary:
This message is only confusing and shouldn't have been added in the
first place.


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

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

  Log Message:
  -----------
  [libc] Install RPC server to `shared/rpc.h` (#120170)

Summary:
This installs the shared header to the users installation. I couldn't
decide if this should be a standalone thing or use the existing support
in `include/` mostly because this is completely separate from hdrgen
stuff and it's C++.


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

  Changed paths:
    M llvm/include/llvm/Analysis/TypeBasedAliasAnalysis.h
    M llvm/include/llvm/Bitcode/LLVMBitCodes.h
    M llvm/include/llvm/IR/Attributes.td
    A llvm/include/llvm/Transforms/Instrumentation/TypeSanitizer.h
    M llvm/lib/Analysis/TypeBasedAliasAnalysis.cpp
    M llvm/lib/Bitcode/Reader/BitcodeReader.cpp
    M llvm/lib/Bitcode/Writer/BitcodeWriter.cpp
    M llvm/lib/CodeGen/ShrinkWrap.cpp
    M llvm/lib/Passes/PassBuilder.cpp
    M llvm/lib/Passes/PassRegistry.def
    M llvm/lib/Transforms/Instrumentation/CMakeLists.txt
    A llvm/lib/Transforms/Instrumentation/TypeSanitizer.cpp
    M llvm/lib/Transforms/Utils/CodeExtractor.cpp
    A llvm/test/Instrumentation/TypeSanitizer/access-with-offset.ll
    A llvm/test/Instrumentation/TypeSanitizer/alloca-only.ll
    A llvm/test/Instrumentation/TypeSanitizer/alloca.ll
    A llvm/test/Instrumentation/TypeSanitizer/anon.ll
    A llvm/test/Instrumentation/TypeSanitizer/basic-nosan.ll
    A llvm/test/Instrumentation/TypeSanitizer/basic.ll
    A llvm/test/Instrumentation/TypeSanitizer/byval.ll
    A llvm/test/Instrumentation/TypeSanitizer/globals.ll
    A llvm/test/Instrumentation/TypeSanitizer/invalid-metadata.ll
    A llvm/test/Instrumentation/TypeSanitizer/memintrinsics.ll
    A llvm/test/Instrumentation/TypeSanitizer/nosanitize.ll
    A llvm/test/Instrumentation/TypeSanitizer/sanitize-no-tbaa.ll
    A llvm/test/Instrumentation/TypeSanitizer/swifterror.ll
    M llvm/unittests/Analysis/AliasSetTrackerTest.cpp

  Log Message:
  -----------
  [TySan] Add initial Type Sanitizer (LLVM) (#76259)

This patch introduces the LLVM components of a type sanitizer: a
sanitizer for type-based aliasing violations.

It is based on Hal Finkel's https://reviews.llvm.org/D32198.

C/C++ have type-based aliasing rules, and LLVM's optimizer can exploit
these given TBAA metadata added by Clang. Roughly, a pointer of given
type cannot be used to access an object of a different type (with, of
course, certain exceptions). Unfortunately, there's a lot of code in the
wild that violates these rules (e.g. for type punning), and such code
often must be built with -fno-strict-aliasing. Performance is often
sacrificed as a result. Part of the problem is the difficulty of finding
TBAA violations. Hopefully, this sanitizer will help.

For each TBAA type-access descriptor, encoded in LLVM's IR using
metadata, the corresponding instrumentation pass generates descriptor
tables. Thus, for each type (and access descriptor), we have a unique
pointer representation. Excepting anonymous-namespace types, these
tables are comdat, so the pointer values should be unique across the
program. The descriptors refer to other descriptors to form a type
aliasing tree (just like LLVM's TBAA metadata does). The instrumentation
handles the "fast path" (where the types match exactly and no
partial-overlaps are detected), and defers to the runtime to handle all
of the more-complicated cases. The runtime, of course, is also
responsible for reporting errors when those are detected.

The runtime uses essentially the same shadow memory region as tsan, and
we use 8 bytes of shadow memory, the size of the pointer to the type
descriptor, for every byte of accessed data in the program. The value 0
is used to represent an unknown type. The value -1 is used to represent
an interior byte (a byte that is part of a type, but not the first
byte). The instrumentation first checks for an exact match between the
type of the current access and the type for that address recorded in the
shadow memory. If it matches, it then checks the shadow for the
remainder of the bytes in the type to make sure that they're all -1. If
not, we call the runtime. If the exact match fails, we next check if the
value is 0 (i.e. unknown). If it is, then we check the shadow for the
remainder of the byes in the type (to make sure they're all 0). If
they're not, we call the runtime. We then set the shadow for the access
address and set the shadow for the remaining bytes in the type to -1
(i.e. marking them as interior bytes). If the type indicated by the
shadow memory for the access address is neither an exact match nor 0, we
call the runtime.

The instrumentation pass inserts calls to the memset intrinsic to set
the memory updated by memset, memcpy, and memmove, as well as
allocas/byval (and for lifetime.start/end) to reset the shadow memory to
reflect that the type is now unknown. The runtime intercepts memset,
memcpy, etc. to perform the same function for the library calls.

The runtime essentially repeats these checks, but uses the full TBAA
algorithm, just as the compiler does, to determine when two types are
permitted to alias. In a situation where access overlap has occurred and
aliasing is not permitted, an error is generated.

Clang's TBAA representation currently has a problem representing unions,
as demonstrated by the one XFAIL'd test in the runtime patch. We'll
update the TBAA representation to fix this, and at the same time, update
the sanitizer.

When the sanitizer is active, we disable actually using the TBAA
metadata for AA. This way we're less likely to use TBAA to remove memory
accesses that we'd like to verify.

As a note, this implementation does not use the compressed shadow-memory
scheme discussed previously
(http://lists.llvm.org/pipermail/llvm-dev/2017-April/111766.html). That
scheme would not handle the struct-path (i.e. structure offset)
information that our TBAA represents. I expect we'll want to further
work on compressing the shadow-memory representation, but I think it
makes sense to do that as follow-up work.

It goes together with the corresponding clang changes
(https://github.com/llvm/llvm-project/pull/76260) and compiler-rt
changes (https://github.com/llvm/llvm-project/pull/76261)

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


  Commit: e6ced4da4499007a366ada31cfb07e0b4fbf2393
      https://github.com/llvm/llvm-project/commit/e6ced4da4499007a366ada31cfb07e0b4fbf2393
  Author: Ivan G. <dreamos82 at yahoo.it>
  Date:   2024-12-17 (Tue, 17 Dec 2024)

  Changed paths:
    M lld/docs/ELF/large_sections.rst

  Log Message:
  -----------
  Typo fix in large_sections.rst (#120101)

Remove duplicate word.


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

  Changed paths:
    M llvm/utils/gn/secondary/llvm/lib/Transforms/Instrumentation/BUILD.gn

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


  Commit: 17b3dd03a05dfa938aacd57027189271a62e2fda
      https://github.com/llvm/llvm-project/commit/17b3dd03a05dfa938aacd57027189271a62e2fda
  Author: Mikhail Goncharov <goncharov.mikhail at gmail.com>
  Date:   2024-12-17 (Tue, 17 Dec 2024)

  Changed paths:
    M llvm/test/CodeGen/NVPTX/surf-write.ll

  Log Message:
  -----------
  [NVPTX][test] fix CodeGen/NVPTX/surf-write.ll

ptxas needs a proper triplet

for 133352feb30605ec51b15f77826ed3a2fbf8db56


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

  Changed paths:
    M libcxx/include/module.modulemap
    M libcxx/include/stdio.h
    M libcxx/include/stdlib.h
    M libcxx/include/wchar.h
    M libcxx/test/libcxx/clang_modules_include.gen.py

  Log Message:
  -----------
  [libc++] Remove explicit mentions of __need_FOO macros (#119025)

This change has a long history. It was first attempted naively in
https://reviews.llvm.org/D131425, which didn't work because we broke the
ability for code to include e.g. <stdio.h> multiple times and get
different definitions based on the pre-defined macros.

However, in #86843 we managed to simplify <stddef.h> by including the
underlying system header outside of any include guards, which worked.

This patch applies the same simplification we did to <stddef.h> to the
other headers that currently mention __need_FOO macros explicitly.


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

  Changed paths:
    M llvm/test/TableGen/GlobalISelEmitter-nested-subregs.td
    M llvm/utils/TableGen/GlobalISelEmitter.cpp

  Log Message:
  -----------
  [TableGen][GISel] Extract common function for determining MI's regclass (#120135)

Add some comments that hopefully clarify a few things.

This was supposed to be NFC, but there is a difference in the inferred
register class for EXTRACT_SUBREG.

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


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

  Changed paths:
    M clang/docs/ReleaseNotes.rst
    M clang/include/clang/Basic/Features.def
    M clang/include/clang/Basic/Sanitizers.def
    M clang/include/clang/Driver/SanitizerArgs.h
    M clang/lib/CodeGen/BackendUtil.cpp
    M clang/lib/CodeGen/CGDeclCXX.cpp
    M clang/lib/CodeGen/CodeGenFunction.cpp
    M clang/lib/CodeGen/CodeGenModule.cpp
    M clang/lib/CodeGen/CodeGenTBAA.cpp
    M clang/lib/CodeGen/SanitizerMetadata.cpp
    M clang/lib/Driver/SanitizerArgs.cpp
    M clang/lib/Driver/ToolChains/CommonArgs.cpp
    M clang/lib/Driver/ToolChains/Darwin.cpp
    M clang/lib/Driver/ToolChains/Linux.cpp
    A clang/test/CodeGen/sanitize-type-attr.cpp
    M clang/test/Driver/sanitizer-ld.c

  Log Message:
  -----------
  [TySan] Add initial Type Sanitizer support to Clang) (#76260)

This patch introduces the Clang components of type sanitizer: a
sanitizer for type-based aliasing violations.

It is based on Hal Finkel's https://reviews.llvm.org/D32198.

The Clang changes are mostly formulaic, the one specific change being
that when the TBAA sanitizer is enabled, TBAA is always generated, even
at -O0.

It goes together with the corresponding LLVM changes
(https://github.com/llvm/llvm-project/pull/76259) and compiler-rt
changes (https://github.com/llvm/llvm-project/pull/76261)

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


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

  Changed paths:
    M libcxx/utils/ci/Dockerfile

  Log Message:
  -----------
  [libc++] Bump the version of CMake built in the CI Docker image (#120240)

This will allow using the $<LINK_LIBRARY> generator expression in some
of our configurations. We should separately pursue officially bumping
the minimum CMake version across all LLVM so we can use this feature
more widely.


  Commit: 6a7d6c5f69dda254ec92f982985fd10fa51c63ef
      https://github.com/llvm/llvm-project/commit/6a7d6c5f69dda254ec92f982985fd10fa51c63ef
  Author: Mehdi Amini <joker.eph at gmail.com>
  Date:   2024-12-17 (Tue, 17 Dec 2024)

  Changed paths:
    M mlir/lib/Target/LLVM/CMakeLists.txt
    M mlir/lib/Target/LLVM/NVVM/Target.cpp

  Log Message:
  -----------
  [MLIR] Add a MLIR_NVVM_EMBED_LIBDEVICE CMake option that embeds libdevice in the binary (#120238)

This removes a runtime dependency on the CUDA Toolkit path, instead of
looking up the filesystem we use a version of libdevice embedded in the
binary at build time.


  Commit: f539e00c702b4e5732d76e093c2d909fd8702683
      https://github.com/llvm/llvm-project/commit/f539e00c702b4e5732d76e093c2d909fd8702683
  Author: Maksim Levental <maksim.levental at gmail.com>
  Date:   2024-12-17 (Tue, 17 Dec 2024)

  Changed paths:
    M mlir/docs/PassManagement.md
    M mlir/include/mlir/IR/OperationSupport.h
    M mlir/lib/IR/AsmPrinter.cpp
    A mlir/test/IR/print-use-nameloc-as-prefix.mlir

  Log Message:
  -----------
  [mlir] add option to print SSA IDs using `NameLoc`s as prefixes (#119996)

This PR adds an `AsmPrinter` option `-mlir-use-nameloc-as-prefix` which
uses trailing `NameLoc`s, if the source IR provides them, as prefixes
when printing SSA IDs.


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

  Changed paths:
    M llvm/lib/Transforms/Instrumentation/TypeSanitizer.cpp

  Log Message:
  -----------
  Fix MSVC " 32-bit shift implicitly converted to 64 bits" warnings. NFC.


  Commit: 57c161a6479fb70a31553e2f9bc1efa46262aa92
      https://github.com/llvm/llvm-project/commit/57c161a6479fb70a31553e2f9bc1efa46262aa92
  Author: Gedare Bloom <gedare at rtems.org>
  Date:   2024-12-17 (Tue, 17 Dec 2024)

  Changed paths:
    M clang/lib/Format/ContinuationIndenter.cpp
    M clang/unittests/Format/FormatTestJS.cpp

  Log Message:
  -----------
  [clang-format] Detect nesting in template strings (#119989)

The helper to check if a token is in a template string scans too far
backward. It should stop if a different scope is found.

Fixes #107571


  Commit: 62bd10f7d18ca6f544286767cae2c9026d493888
      https://github.com/llvm/llvm-project/commit/62bd10f7d18ca6f544286767cae2c9026d493888
  Author: Petr Hosek <phosek at google.com>
  Date:   2024-12-17 (Tue, 17 Dec 2024)

  Changed paths:
    M libcxx/src/include/overridable_function.h
    M libcxx/src/new.cpp
    M libcxxabi/src/stdlib_new_delete.cpp

  Log Message:
  -----------
  [libcxx] Use alias for detecting overriden function (#114961)

This mechanism is preferable in environments like embedded since it
doesn't require special handling of the custom section.


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

  Changed paths:
    M clang/cmake/caches/Fuchsia-stage2.cmake
    M libcxx/src/chrono.cpp
    M libcxx/src/filesystem/filesystem_clock.cpp

  Log Message:
  -----------
  [libcxx] Support for using timespec_get (#117362)

clock_gettime is a POSIX API that may not be available on platforms like
baremetal; timespec_get is the C11 equivalent. This change adds support
for using timespec_get instead of clock_gettime to improve compatibility
with non-POSIX platforms. For now, this is only enabled with LLVM libc
which implemented timespec_get in #116102, but in the future this can be
expanded to other platforms.

Related to #84879.


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

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

  Log Message:
  -----------
  [X86] LowerShift - pull out repeated getVectorNumElements calls. NFC. (#120241)


  Commit: 34a44b20888479cf934014e3aa85c563725df69a
      https://github.com/llvm/llvm-project/commit/34a44b20888479cf934014e3aa85c563725df69a
  Author: Nico Weber <thakis at chromium.org>
  Date:   2024-12-17 (Tue, 17 Dec 2024)

  Changed paths:
    M lld/COFF/Driver.cpp
    M lld/COFF/Driver.h
    M lld/test/COFF/linkrepro.test

  Log Message:
  -----------
  [lld/COFF] Handle -start-lib / -end-lib better in /reproduce: output (#119752)

Previously, we'd collect all input files in Driver::filePaths, and then
write filePaths after all other flags in
createResponseFile(). This meant that `-start-lib foo.obj -end-lib`
would be written as `-start-lib -end-lib foo.obj`, changing semantics.

Instead, remove Driver::filePaths, and handle things that fed into it
directly:

* OPT_INPUT is now handled in the same way as other flags, so that we
now get `-start-lib foo.obj -end-lib` in response.txt as desired. Add a
test for -start-lib / -end-lib and /reproduce:.

* OPT_wholearchive_file needs explicit handling now -- but before, this
was buggy as well: We'd put the flag without a rewritten path in
response.txt, but also the rewritten input file without wholearchive
semantics via filePaths. So this commit makes --whole-archive work with
/reproduce: too, and adds test coverage.

* /defaultlib:foo is now written as /defaultlib:foo into response.txt,
instead of writing the resolved path previously. While response.txt
looks slightly differently, both should have the same semantics, and
this should be mostly a no-op. (It does require updating a test.)

* /defaultlib: from .drectve sections are no longer recorded in
response.txt. This seems like a progression -- in the non-repro case
they come from .obj files, so they should come (only) from there in the
repro case too. This adds test coverage for this case.

Makes createResponseFile() look more like the versions in the ELF and
MachO ports too.


  Commit: 9fc54c0e8049553a30c17a3698445d58800916c9
      https://github.com/llvm/llvm-project/commit/9fc54c0e8049553a30c17a3698445d58800916c9
  Author: Michael Buch <michaelbuch12 at gmail.com>
  Date:   2024-12-17 (Tue, 17 Dec 2024)

  Changed paths:
    M clang/lib/CodeGen/CGDebugInfo.cpp
    M clang/test/Modules/ExtDebugInfo.m
    M clang/test/Modules/ModuleDebugInfo.m
    A lldb/test/Shell/SymbolFile/DWARF/objc-gmodules-class-extension.test

  Log Message:
  -----------
  [clang][DebugInfo][gmodules] Set runtimeLang on ObjC forward declarations (#120154)

In Objective-C, forward declarations are currently represented as:
```
DW_TAG_structure_type
  DW_AT_name                ("Foo")
  DW_AT_declaration         (true)
  DW_AT_APPLE_runtime_class (DW_LANG_ObjC)
```
However, when compiling with `-gmodules`, when a class definition is
turned into a forward declaration within a `DW_TAG_module`, the DIE for
the forward declaration looks as follows:
```
DW_TAG_structure_type
  DW_AT_name                ("Foo")
  DW_AT_declaration         (true)
```

Note the absence of `DW_AT_APPLE_runtime_class`. With recent changes in
LLDB, not being able to differentiate between C++ and Objective-C
forward declarations has become problematic (see attached test-case and
explanation in https://github.com/llvm/llvm-project/pull/119860).


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

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

  Log Message:
  -----------
  [X86] Fix warnings

This patch fixes:

  llvm/lib/Target/X86/X86ISelLowering.cpp:30127:23: error: comparison
  of integers of different signs: 'int' and 'unsigned int'
  [-Werror,-Wsign-compare]

  llvm/lib/Target/X86/X86ISelLowering.cpp:30205:35: error: comparison
  of integers of different signs: 'int' and 'unsigned int'
  [-Werror,-Wsign-compare]

  llvm/lib/Target/X86/X86ISelLowering.cpp:30453:23: error: comparison
  of integers of different signs: 'int' and 'unsigned int'
  [-Werror,-Wsign-compare]


  Commit: 558de0e1f993f413a9c8b93d969b28b651c6e437
      https://github.com/llvm/llvm-project/commit/558de0e1f993f413a9c8b93d969b28b651c6e437
  Author: alx32 <103613512+alx32 at users.noreply.github.com>
  Date:   2024-12-17 (Tue, 17 Dec 2024)

  Changed paths:
    M llvm/include/llvm/DebugInfo/GSYM/DwarfTransformer.h
    M llvm/lib/DebugInfo/GSYM/DwarfTransformer.cpp
    M llvm/test/tools/llvm-gsymutil/ARM_AArch64/macho-gsym-merged-callsites-dsym.yaml
    M llvm/tools/llvm-gsymutil/Opts.td
    M llvm/tools/llvm-gsymutil/llvm-gsymutil.cpp

  Log Message:
  -----------
  [llvm-gsymutil] Add option to load callsites from DWARF (#119913)

This change adds support for loading gSYM callsite information from
DWARF. Previously the only support was for loading callsites info from
YAML.

For testing, we add a pass where `macho-gsym-merged-callsites-dsym`
loads callsite info from DWARF rather than YAML.


  Commit: 525c818f08e097cd123839b8d96a543e2c9da26e
      https://github.com/llvm/llvm-project/commit/525c818f08e097cd123839b8d96a543e2c9da26e
  Author: Mikhail Goncharov <goncharov.mikhail at gmail.com>
  Date:   2024-12-17 (Tue, 17 Dec 2024)

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

  Log Message:
  -----------
  [bazel] port 6a7d6c5f69dda254ec92f982985fd10fa51c63ef


  Commit: 9d33874936d83b8ddf5d028d313d810214f00f20
      https://github.com/llvm/llvm-project/commit/9d33874936d83b8ddf5d028d313d810214f00f20
  Author: Slava Zakharin <szakharin at nvidia.com>
  Date:   2024-12-17 (Tue, 17 Dec 2024)

  Changed paths:
    M clang/include/clang/Driver/Options.td
    M clang/lib/Driver/ToolChains/Flang.cpp
    M flang/include/flang/Lower/LoweringOptions.def
    M flang/lib/Frontend/CompilerInvocation.cpp
    M flang/lib/Lower/Bridge.cpp
    A flang/test/Driver/frealloc-lhs.f90
    A flang/test/Lower/reallocate-lhs.f90
    M flang/tools/bbc/bbc.cpp

  Log Message:
  -----------
  [flang] Support -f[no-]realloc-lhs. (#120165)

-frealloc-lhs is the default.
If -fno-realloc-lhs is specified, then an allocatable on the left
side of an intrinsic assignment is not implicitly (re)allocated
to conform with the right hand side. Fortran runtime will issue
an error if there is a mismatch in shape/type/allocation-status.


  Commit: fbbbd65b2573dc92c3c2272ce57da29cf8227a35
      https://github.com/llvm/llvm-project/commit/fbbbd65b2573dc92c3c2272ce57da29cf8227a35
  Author: Timothy Hoffman <4001421+tim-hoffman at users.noreply.github.com>
  Date:   2024-12-17 (Tue, 17 Dec 2024)

  Changed paths:
    M mlir/lib/Dialect/GPU/IR/GPUDialect.cpp
    M mlir/lib/Dialect/LLVMIR/IR/LLVMAttrs.cpp
    M mlir/test/lib/Dialect/Test/TestTypes.cpp

  Log Message:
  -----------
  [MLIR] correct return type of parse() functions (#120180)

The `parseX()` functions that are defined to support `custom<X>` in
`assemblyFormat` should return `ParseResult` rather than
`LogicalResult`. The `ParseResult` type is necessary due to tablegen
generating code that expects this type within an Op `parseX()` function.


  Commit: 345a35259ccfdc5031bc4c4bdb0f47959fa75806
      https://github.com/llvm/llvm-project/commit/345a35259ccfdc5031bc4c4bdb0f47959fa75806
  Author: Michael Maitland <michaeltmaitland at gmail.com>
  Date:   2024-12-17 (Tue, 17 Dec 2024)

  Changed paths:
    M llvm/lib/Target/RISCV/RISCVVLOptimizer.cpp
    A llvm/test/CodeGen/RISCV/rvv/vl-opt-user-scalar-def.mir

  Log Message:
  -----------
  [RISCV][VLOPT] Avoid crash when user produces scalar def (#120255)

I found this crash when trying to enable the VLOptimizer pass. We need
this patch before we can enable by default. The old assert was not
checking that USE and DEF were vector registers. The correct condition
is guarded at the callsite of tryReduceVL.


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

  Changed paths:
    M mlir/lib/Dialect/MemRef/IR/MemRefOps.cpp
    M mlir/lib/Dialect/MemRef/Transforms/ComposeSubView.cpp
    M mlir/lib/Dialect/MemRef/Transforms/ExpandStridedMetadata.cpp
    M mlir/lib/Dialect/MemRef/Transforms/IndependenceTransforms.cpp

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

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: e8a6563768579e6f555b2d9192f2c2a0cb27534a
      https://github.com/llvm/llvm-project/commit/e8a6563768579e6f555b2d9192f2c2a0cb27534a
  Author: Thurston Dang <thurston at google.com>
  Date:   2024-12-17 (Tue, 17 Dec 2024)

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

  Log Message:
  -----------
  Fix-forward 'RegAllocFast: Avoid using temporary DiagnosticInfo #120184' (#120268)

There was a buildbot breakage

(https://lab.llvm.org/buildbot/#/builders/24/builds/3329/steps/11/logs/stdio):


/home/b/sanitizer-aarch64-linux-bootstrap-asan/build/llvm-project/llvm/test/CodeGen/AMDGPU/ran-out-of-registers-error-all-regs-reserved.ll:9:10:
error: CHECK: expected string not found in input
; CHECK: error: <unknown>:0:0: no registers from class available to
allocate in function 'no_registers_from_class_available_to_allocate'

2: ==75198==ERROR: AddressSanitizer: stack-use-after-scope on address
0xfa23f9f1c270 at pc 0xb2660dda9340 bp 0xfffffe8ab340 sp 0xfffffe8ab338

caused by https://github.com/llvm/llvm-project/pull/120184, which made a
partial fix but also renabled the tests. This patch attempts to fix
forward by applying the same fix to the error message highlighted in the
buildbot.


  Commit: a57f4c7009cd5eacc64cc78a1788c87318218d79
      https://github.com/llvm/llvm-project/commit/a57f4c7009cd5eacc64cc78a1788c87318218d79
  Author: lntue <lntue at google.com>
  Date:   2024-12-17 (Tue, 17 Dec 2024)

  Changed paths:
    M compiler-rt/lib/builtins/fp_div_impl.inc
    M compiler-rt/test/builtins/Unit/divdf3_test.c
    M compiler-rt/test/builtins/Unit/divsf3_test.c
    M compiler-rt/test/builtins/Unit/divtf3_test.c

  Log Message:
  -----------
  [compiler-rt] Fix a bug in fp_div_impl when an intermediate result is out of  expected range. (#119449)

Before this fix, `1.0L / (1.0L - 0x1.0p-113L)` will return `2 * (1 +
eps(1))`.


  Commit: 90c7600f25b54f9b977a571e9c4f067e15d48316
      https://github.com/llvm/llvm-project/commit/90c7600f25b54f9b977a571e9c4f067e15d48316
  Author: Guray Ozen <guray.ozen at gmail.com>
  Date:   2024-12-17 (Tue, 17 Dec 2024)

  Changed paths:
    M mlir/include/mlir/Dialect/LLVMIR/NVVMOps.td
    M mlir/test/Target/LLVMIR/nvvmir.mlir

  Log Message:
  -----------
  [MLIR][NVVM] Add exit (#120251)

PR adds `exit` instruction to nvvm dialect.


  Commit: 904849f2973eb8ab517f8a805cf8a747924220ef
      https://github.com/llvm/llvm-project/commit/904849f2973eb8ab517f8a805cf8a747924220ef
  Author: Michael Maitland <michaeltmaitland at gmail.com>
  Date:   2024-12-17 (Tue, 17 Dec 2024)

  Changed paths:
    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 more instructions in vl-opt-op-info.mir (#119416)

Specifically, some more where EMUL=LMUL and EEW=SEW.


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

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

  Log Message:
  -----------
  [VectorCombine] foldShuffleOfBinops - prefer same cost fold if it reduces instruction count (#120216)

We don't fold "shuffle (binop), (binop)" -> "binop (shuffle), (shuffle)" if the old/new costs are equal, but we can relax this if either new shuffle will constant fold as it will reduce instruction count.


  Commit: 8bbbcaddbb0f4d39b8da3c5c90eb8627a1cab1ee
      https://github.com/llvm/llvm-project/commit/8bbbcaddbb0f4d39b8da3c5c90eb8627a1cab1ee
  Author: Brox Chen <guochen2 at amd.com>
  Date:   2024-12-17 (Tue, 17 Dec 2024)

  Changed paths:
    M llvm/lib/Target/AMDGPU/VOP2Instructions.td
    M llvm/test/MC/AMDGPU/gfx11_asm_vop2.s
    M llvm/test/MC/AMDGPU/gfx11_asm_vop2_dpp16.s
    M llvm/test/MC/AMDGPU/gfx11_asm_vop2_dpp8.s
    M llvm/test/MC/AMDGPU/gfx11_asm_vop2_t16_err.s
    M llvm/test/MC/AMDGPU/gfx11_asm_vop2_t16_promote.s
    M llvm/test/MC/AMDGPU/gfx11_asm_vop3_dpp16_from_vop2.s
    M llvm/test/MC/AMDGPU/gfx11_asm_vop3_dpp8_from_vop2.s
    M llvm/test/MC/AMDGPU/gfx11_asm_vop3_from_vop2.s

  Log Message:
  -----------
  [AMDGPU][True16][MC] test update for v_max_f16/v_min_f16 in true16 (#119291)

This is a NFC change. Update mc test for v_max/min_f16 in true16 format.

MC source change was done by previous patch and automatically enabled by
t16 pesudo


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

  Changed paths:
    M llvm/test/CodeGen/X86/vector-shift-ashr-128.ll
    M llvm/test/CodeGen/X86/vector-shift-ashr-256.ll
    M llvm/test/CodeGen/X86/vector-shift-ashr-512.ll
    M llvm/test/CodeGen/X86/vector-shift-ashr-sub128.ll
    M llvm/test/CodeGen/X86/vector-shift-shl-256.ll
    M llvm/test/CodeGen/X86/vector-shift-shl-512.ll

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


  Commit: f9a9173b6ca065441d8432f268fb4eeae5e8abb6
      https://github.com/llvm/llvm-project/commit/f9a9173b6ca065441d8432f268fb4eeae5e8abb6
  Author: Brox Chen <guochen2 at amd.com>
  Date:   2024-12-17 (Tue, 17 Dec 2024)

  Changed paths:
    M llvm/lib/Target/AMDGPU/VOP2Instructions.td
    M llvm/test/MC/AMDGPU/gfx11_asm_vop2.s
    M llvm/test/MC/AMDGPU/gfx11_asm_vop2_dpp16.s
    M llvm/test/MC/AMDGPU/gfx11_asm_vop2_dpp8.s
    M llvm/test/MC/AMDGPU/gfx11_asm_vop2_t16_err.s
    M llvm/test/MC/AMDGPU/gfx11_asm_vop2_t16_promote.s
    M llvm/test/MC/AMDGPU/gfx11_asm_vop3_dpp16_from_vop2.s
    M llvm/test/MC/AMDGPU/gfx11_asm_vop3_dpp8_from_vop2.s
    M llvm/test/MC/AMDGPU/gfx11_asm_vop3_from_vop2.s
    M llvm/test/MC/AMDGPU/gfx12_asm_vop2.s
    M llvm/test/MC/AMDGPU/gfx12_asm_vop2_dpp16.s
    M llvm/test/MC/AMDGPU/gfx12_asm_vop2_dpp8.s
    M llvm/test/MC/AMDGPU/gfx12_asm_vop2_t16_err.s
    M llvm/test/MC/AMDGPU/gfx12_asm_vop2_t16_promote.s
    M llvm/test/MC/AMDGPU/gfx12_asm_vop3_from_vop2.s
    M llvm/test/MC/AMDGPU/gfx12_asm_vop3_from_vop2_dpp16.s
    M llvm/test/MC/AMDGPU/gfx12_asm_vop3_from_vop2_dpp8.s

  Log Message:
  -----------
  [AMDGPU][True16][MC] test update for v_mul_f16 in true16 (#119314)

This is a NFC change. Update mc test for v_mul_f16 in true16 format.

MC source change was done by previous patch and automatically enabled by
t16 pesudo


  Commit: 659dbb632980552b39918e726b8bb35371f6e61a
      https://github.com/llvm/llvm-project/commit/659dbb632980552b39918e726b8bb35371f6e61a
  Author: Craig Topper <craig.topper at sifive.com>
  Date:   2024-12-17 (Tue, 17 Dec 2024)

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

  Log Message:
  -----------
  [RISCV] Remove unnecessary patterns from RISCVInstrInfoA.td. NFC

Looks like they got left behind in the Zalasr patch after I removed
i32 patterns for RV64.


  Commit: 9c8214ff31d7d515b1789cd6cbc21c9663be53df
      https://github.com/llvm/llvm-project/commit/9c8214ff31d7d515b1789cd6cbc21c9663be53df
  Author: Jacek Caban <jacek at codeweavers.com>
  Date:   2024-12-17 (Tue, 17 Dec 2024)

  Changed paths:
    M lld/COFF/Driver.cpp
    M lld/COFF/InputFiles.cpp
    M lld/COFF/InputFiles.h
    M lld/COFF/LTO.cpp

  Log Message:
  -----------
  [LLD][COFF] Create COFFObjectFile instance when constructing ObjFile (NFC) (#120144)

This change moves the creation of COFFObjectFile to the construction of
ObjFile, instead of delaying it until parsing.


  Commit: b26f534980b6c10e74bfbebe4a1296ef5e9b1486
      https://github.com/llvm/llvm-project/commit/b26f534980b6c10e74bfbebe4a1296ef5e9b1486
  Author: Brox Chen <guochen2 at amd.com>
  Date:   2024-12-17 (Tue, 17 Dec 2024)

  Changed paths:
    M llvm/lib/Target/AMDGPU/VOP3Instructions.td
    M llvm/test/MC/AMDGPU/gfx11_asm_vop3.s
    M llvm/test/MC/AMDGPU/gfx11_asm_vop3_dpp16.s
    M llvm/test/MC/AMDGPU/gfx11_asm_vop3_dpp8.s
    M llvm/test/MC/AMDGPU/gfx12_asm_vop3.s
    M llvm/test/MC/AMDGPU/gfx12_asm_vop3_dpp16.s
    M llvm/test/MC/AMDGPU/gfx12_asm_vop3_dpp8.s
    M llvm/test/MC/Disassembler/AMDGPU/gfx11_dasm_vop3.txt
    M llvm/test/MC/Disassembler/AMDGPU/gfx11_dasm_vop3_dpp16.txt
    M llvm/test/MC/Disassembler/AMDGPU/gfx11_dasm_vop3_dpp8.txt
    M llvm/test/MC/Disassembler/AMDGPU/gfx12_dasm_vop3.txt
    M llvm/test/MC/Disassembler/AMDGPU/gfx12_dasm_vop3_dpp16.txt
    M llvm/test/MC/Disassembler/AMDGPU/gfx12_dasm_vop3_dpp8.txt

  Log Message:
  -----------
  [AMDGPU][True16][MC] test update for v_and/or/xor_b16  in true16  (#119489)

This is a NFC change. Update mc test for v_and/or/xor_b16 in true16
format.

MC source change was done by previous patch and automatically enabled by
t16 pesudo


  Commit: 1c16807d0dd740ace0f21ed29d1381a0078f745e
      https://github.com/llvm/llvm-project/commit/1c16807d0dd740ace0f21ed29d1381a0078f745e
  Author: Nick Sarnie <nick.sarnie at intel.com>
  Date:   2024-12-17 (Tue, 17 Dec 2024)

  Changed paths:
    M llvm/include/llvm/TargetParser/Triple.h
    M llvm/lib/TargetParser/Triple.cpp
    M llvm/unittests/TargetParser/TripleTest.cpp

  Log Message:
  -----------
  [LLVM] Add Intel vendor in Triple (#120250)

We plan to make use of this in SPIR-V-based OpenMP offloading, for which
there is already an initial patch in review.

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


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

  Changed paths:
    M libc/docs/conf.py
    M llvm/docs/requirements.txt

  Log Message:
  -----------
  [libc][docs] add redirect for math/index.html (#120274)

commit a9aff440d9dd ("[libc][docs] reorganize documentation (#118836)")

moved https://libc.llvm.org/math/index.html to
https://libc.llvm.org/headers/math/index.html which makes links from
various slide decks stale.

There's an extension for sphinx that can generate redirects. Add a dependency
on that, then use it to create a redirect so that those older links still work.

I was able to install this sphinx extension via:

    $ sudo apt install python3-sphinx-reredirects

We may need to install this on whatever server generates the llvm
documentation.


  Commit: 7477b61b2416ca130bd3ed9bbc96988e5de17623
      https://github.com/llvm/llvm-project/commit/7477b61b2416ca130bd3ed9bbc96988e5de17623
  Author: Tristan Ross <tristan.ross at midstall.com>
  Date:   2024-12-17 (Tue, 17 Dec 2024)

  Changed paths:
    M libc/hdr/CMakeLists.txt
    M libc/hdr/types/CMakeLists.txt
    M libc/hdr/types/ssize_t.h
    A libc/hdr/types/uid_t.h
    M libc/hdr/unistd_macros.h
    A libc/hdr/unistd_overlay.h
    M libc/src/unistd/dup.h
    M libc/src/unistd/dup2.h
    M libc/src/unistd/dup3.h
    M libc/src/unistd/fork.h
    M libc/src/unistd/ftruncate.h
    M libc/src/unistd/getcwd.h
    M libc/src/unistd/geteuid.h
    M libc/src/unistd/getopt.h
    M libc/src/unistd/getpid.h
    M libc/src/unistd/getppid.h
    M libc/src/unistd/getuid.h
    M libc/src/unistd/isatty.h
    M libc/src/unistd/link.h
    M libc/src/unistd/linux/CMakeLists.txt
    M libc/src/unistd/linux/ftruncate.cpp
    M libc/src/unistd/linux/lseek.cpp
    M libc/src/unistd/linux/sysconf.cpp
    M libc/src/unistd/linux/truncate.cpp
    M libc/src/unistd/lseek.h
    M libc/src/unistd/pread.h
    M libc/src/unistd/pwrite.h
    M libc/src/unistd/read.h
    M libc/src/unistd/readlink.h
    M libc/src/unistd/readlinkat.h
    M libc/src/unistd/swab.h
    M libc/src/unistd/symlink.h
    M libc/src/unistd/symlinkat.h
    M libc/src/unistd/syscall.h
    M libc/src/unistd/sysconf.h
    M libc/src/unistd/truncate.h
    M libc/src/unistd/write.h
    M libc/test/src/sys/mman/linux/remap_file_pages_test.cpp
    M utils/bazel/llvm-project-overlay/libc/BUILD.bazel

  Log Message:
  -----------
  [libc] Add unistd overlay (#119312)

Reverts the revert #119295 of #118882 by expanding #118882 with
additional fixes which made CI unhappy.


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

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

  Log Message:
  -----------
  [X86] LowerShift - use getConstant directly to create vector splat constants. NFC.


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

  Changed paths:
    M clang/runtime/CMakeLists.txt
    M compiler-rt/cmake/Modules/AllSupportedArchDefs.cmake
    M compiler-rt/cmake/config-ix.cmake
    A compiler-rt/lib/tysan/CMakeLists.txt
    A compiler-rt/lib/tysan/lit.cfg
    A compiler-rt/lib/tysan/lit.site.cfg.in
    A compiler-rt/lib/tysan/tysan.cpp
    A compiler-rt/lib/tysan/tysan.h
    A compiler-rt/lib/tysan/tysan.syms.extra
    A compiler-rt/lib/tysan/tysan_flags.inc
    A compiler-rt/lib/tysan/tysan_interceptors.cpp
    A compiler-rt/lib/tysan/tysan_platform.h
    A compiler-rt/test/tysan/CMakeLists.txt
    A compiler-rt/test/tysan/anon-ns.cpp
    A compiler-rt/test/tysan/anon-same-struct.c
    A compiler-rt/test/tysan/anon-struct.c
    A compiler-rt/test/tysan/basic.c
    A compiler-rt/test/tysan/char-memcpy.c
    A compiler-rt/test/tysan/constexpr-subobject.cpp
    A compiler-rt/test/tysan/global.c
    A compiler-rt/test/tysan/int-long.c
    A compiler-rt/test/tysan/lit.cfg.py
    A compiler-rt/test/tysan/lit.site.cfg.py.in
    A compiler-rt/test/tysan/ptr-float.c
    A compiler-rt/test/tysan/struct-offset-multiple-compilation-units.cpp
    A compiler-rt/test/tysan/struct-offset.c
    A compiler-rt/test/tysan/struct.c
    A compiler-rt/test/tysan/union-wr-wr.c
    A compiler-rt/test/tysan/violation-pr45282.c
    A compiler-rt/test/tysan/violation-pr47137.c
    A compiler-rt/test/tysan/violation-pr51837.c
    A compiler-rt/test/tysan/violation-pr62544.c
    A compiler-rt/test/tysan/violation-pr62828.cpp
    A compiler-rt/test/tysan/violation-pr68655.cpp
    A compiler-rt/test/tysan/violation-pr86685.c

  Log Message:
  -----------
  [TySan] Add initial Type Sanitizer runtime (#76261)

This patch introduces the runtime components for type sanitizer: a
sanitizer for type-based aliasing violations.

It is based on Hal Finkel's https://reviews.llvm.org/D32197.

C/C++ have type-based aliasing rules, and LLVM's optimizer can exploit
these given TBAA metadata added by Clang. Roughly, a pointer of given
type cannot be used to access an object of a different type (with, of
course, certain exceptions). Unfortunately, there's a lot of code in the
wild that violates these rules (e.g. for type punning), and such code
often must be built with -fno-strict-aliasing. Performance is often
sacrificed as a result. Part of the problem is the difficulty of finding
TBAA violations. Hopefully, this sanitizer will help.

For each TBAA type-access descriptor, encoded in LLVM's IR using
metadata, the corresponding instrumentation pass generates descriptor
tables. Thus, for each type (and access descriptor), we have a unique
pointer representation. Excepting anonymous-namespace types, these
tables are comdat, so the pointer values should be unique across the
program. The descriptors refer to other descriptors to form a type
aliasing tree (just like LLVM's TBAA metadata does). The instrumentation
handles the "fast path" (where the types match exactly and no
partial-overlaps are detected), and defers to the runtime to handle all
of the more-complicated cases. The runtime, of course, is also
responsible for reporting errors when those are detected.

The runtime uses essentially the same shadow memory region as tsan, and
we use 8 bytes of shadow memory, the size of the pointer to the type
descriptor, for every byte of accessed data in the program. The value 0
is used to represent an unknown type. The value -1 is used to represent
an interior byte (a byte that is part of a type, but not the first
byte). The instrumentation first checks for an exact match between the
type of the current access and the type for that address recorded in the
shadow memory. If it matches, it then checks the shadow for the
remainder of the bytes in the type to make sure that they're all -1. If
not, we call the runtime. If the exact match fails, we next check if the
value is 0 (i.e. unknown). If it is, then we check the shadow for the
remainder of the byes in the type (to make sure they're all 0). If
they're not, we call the runtime. We then set the shadow for the access
address and set the shadow for the remaining bytes in the type to -1
(i.e. marking them as interior bytes). If the type indicated by the
shadow memory for the access address is neither an exact match nor 0, we
call the runtime.

The instrumentation pass inserts calls to the memset intrinsic to set
the memory updated by memset, memcpy, and memmove, as well as
allocas/byval (and for lifetime.start/end) to reset the shadow memory to
reflect that the type is now unknown. The runtime intercepts memset,
memcpy, etc. to perform the same function for the library calls.

The runtime essentially repeats these checks, but uses the full TBAA
algorithm, just as the compiler does, to determine when two types are
permitted to alias. In a situation where access overlap has occurred and
aliasing is not permitted, an error is generated.

As a note, this implementation does not use the compressed shadow-memory
scheme discussed previously
(http://lists.llvm.org/pipermail/llvm-dev/2017-April/111766.html). That
scheme would not handle the struct-path (i.e. structure offset)
information that our TBAA represents. I expect we'll want to further
work on compressing the shadow-memory representation, but I think it
makes sense to do that as follow-up work.

This includes build fixes for Linux from Mingjie Xu.

Depends on #76260 (Clang support), #76259 (LLVM support)


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


  Commit: 4c2a46f5fe2eaa41f851ff4ca37dcc8794312542
      https://github.com/llvm/llvm-project/commit/4c2a46f5fe2eaa41f851ff4ca37dcc8794312542
  Author: Nico Weber <thakis at chromium.org>
  Date:   2024-12-17 (Tue, 17 Dec 2024)

  Changed paths:
    R lld/test/COFF/Inputs/start-lib1.ll
    R lld/test/COFF/Inputs/start-lib2.ll
    M lld/test/COFF/start-lib.ll

  Log Message:
  -----------
  [lld/COFF] Make test/COFF/start-lib.ll use split-file

The two input files were only used by this one test, so put them inline.

No behavior change.


  Commit: de2acda3dfafc1fb81b1eba1a326272f704e62e6
      https://github.com/llvm/llvm-project/commit/de2acda3dfafc1fb81b1eba1a326272f704e62e6
  Author: Brox Chen <guochen2 at amd.com>
  Date:   2024-12-17 (Tue, 17 Dec 2024)

  Changed paths:
    M llvm/lib/Target/AMDGPU/SIInstructions.td
    M llvm/lib/Target/AMDGPU/VOP3Instructions.td
    M llvm/lib/Target/AMDGPU/VOPInstructions.td
    M llvm/test/MC/AMDGPU/gfx11_asm_vop3.s
    M llvm/test/MC/AMDGPU/gfx11_asm_vop3_dpp16.s
    M llvm/test/MC/AMDGPU/gfx11_asm_vop3_dpp8.s
    M llvm/test/MC/AMDGPU/gfx12_asm_vop3.s
    M llvm/test/MC/AMDGPU/gfx12_asm_vop3_dpp16.s
    M llvm/test/MC/AMDGPU/gfx12_asm_vop3_dpp8.s
    M llvm/test/MC/Disassembler/AMDGPU/gfx11_dasm_vop3.txt
    M llvm/test/MC/Disassembler/AMDGPU/gfx11_dasm_vop3_dpp16.txt
    M llvm/test/MC/Disassembler/AMDGPU/gfx11_dasm_vop3_dpp8.txt
    M llvm/test/MC/Disassembler/AMDGPU/gfx12_dasm_vop3.txt
    M llvm/test/MC/Disassembler/AMDGPU/gfx12_dasm_vop3_dpp16.txt
    M llvm/test/MC/Disassembler/AMDGPU/gfx12_dasm_vop3_dpp8.txt

  Log Message:
  -----------
  [AMDGPU][True16][MC] support more VOP3 inst in true16/fake16 format (#113603)

Support true16 and fake16 format for more VOP3 instructions in MC

This patch updates the true16 and fake16 vop_profile for the following
instructions and update the asm/dasm tests:
v_mad_u16
v_mad_i16
v_med3_f16
v_med3_i16
v_med3_u16
v_max3_f16
v_max3_i16
v_max3_u16
v_min3_f16
v_min3_i16
v_min3_u16
v_med3_num_f16


  Commit: ad32576cffc88bf7c359a528afbed7c2ae7ddb2d
      https://github.com/llvm/llvm-project/commit/ad32576cffc88bf7c359a528afbed7c2ae7ddb2d
  Author: alx32 <103613512+alx32 at users.noreply.github.com>
  Date:   2024-12-17 (Tue, 17 Dec 2024)

  Changed paths:
    M llvm/include/llvm/DebugInfo/DWARF/DWARFVerifier.h
    M llvm/lib/DebugInfo/DWARF/DWARFVerifier.cpp
    A llvm/test/tools/llvm-dwarfdump/X86/verify_no_overlap_error_icf.yaml
    M llvm/test/tools/llvm-dwarfdump/X86/verify_parent_zero_length.yaml
    M llvm/test/tools/llvm-dwarfutil/ELF/X86/verify.test

  Log Message:
  -----------
  [DWARFVerifier] Allow overlapping ranges for ICF-merged functions (#117952)

This patch modifies the DWARF verifier to handle a valid case where two
or more functions have identical address ranges due to being merged by
ICF (Identical Code Folding). Previously, the verifier would incorrectly
report these as errors, but functions merged via ICF (such as when using
LLD's --keep-icf-stabs option) can legitimately share the same address
range.

A new test case has been added to verify this behavior using YAML-based
DWARF data that simulates two DW_TAG_subprogram entries with identical
address ranges. The test ensures that the verifier correctly identifies
this as a valid case and doesn't emit any errors, while still
maintaining the existing verification for truly invalid overlapping
ranges in other scenarios. Before this change, the newly added test case
would have failed, with `llvm-dwarfdump` marking the overlapping address
ranges in the DWARF as an error.

We also modify the existing tests `llvm-dwarfutil/ELF/X86/verify.test` and 
`llvm/test/tools/llvm-dwarfdump/X86/verify_parent_zero_length.yaml`
which rely on the existence of the error that we're trying to
suppress. We slightly change one offset so that the ranges don't
perfectly overlap and an error is still generated.


  Commit: 56cb55429199435a78f6e836f52cf41577406e90
      https://github.com/llvm/llvm-project/commit/56cb55429199435a78f6e836f52cf41577406e90
  Author: joaosaffran <126493771+joaosaffran at users.noreply.github.com>
  Date:   2024-12-17 (Tue, 17 Dec 2024)

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

  Log Message:
  -----------
  [NFC] Updating Debug Info generation for 'this'  (#119445)

This is PR is updating the debug info generation for `this`. This is
required to fix the generation of debug information for HLSL RWBuffer
type. This was required from another PR:
https://github.com/llvm/llvm-project/pull/119041/files

Co-authored-by: Joao Saffran <jderezende at microsoft.com>


  Commit: 83643ddf2f53d269f2350510c11a02704b333393
      https://github.com/llvm/llvm-project/commit/83643ddf2f53d269f2350510c11a02704b333393
  Author: Jonas Devlieghere <jonas at devlieghere.com>
  Date:   2024-12-17 (Tue, 17 Dec 2024)

  Changed paths:
    M lldb/include/lldb/Expression/DWARFExpression.h
    M lldb/source/Expression/DWARFExpression.cpp
    M lldb/source/Plugins/SymbolFile/DWARF/SymbolFileDWARF.cpp

  Log Message:
  -----------
  [lldb] Improve error reporting in GetLocation_DW_OP_addr (#120162)

Instead of simply raising an error flag, use an llvm::Expected to
propagate a meaningful error to the caller, who can report it.

rdar://139705570


  Commit: e5521fae944c1f3f6905ce5902819a5c9be7f802
      https://github.com/llvm/llvm-project/commit/e5521fae944c1f3f6905ce5902819a5c9be7f802
  Author: Malte Dehling <mdehling at gmail.com>
  Date:   2024-12-17 (Tue, 17 Dec 2024)

  Changed paths:
    M mlir/tools/mlir-tblgen/OpDocGen.cpp

  Log Message:
  -----------
  [mlir-tblgen] Fix bug in emitEnumDoc (#118131)

Fixes a crash (assertion failure) in `mlir-tblgen -emit-enum-doc` caused
by calling `EnumAttr()` for the wrong type of `Record *`: `EnumAttr`
rather than `EnumAttrInfo` as asserted.

Compare the corresponding line in `emitDialectDoc()`:

https://github.com/llvm/llvm-project/blob/0ad6be1927f89cef09aa5d0fb244873f687997c9/mlir/tools/mlir-tblgen/OpDocGen.cpp#L532

Co-authored-by: Malte Dehling <m.dehling at samsung.com>


  Commit: ec636cf3c5048039bd3c52b1ebdb66dabcd273fe
      https://github.com/llvm/llvm-project/commit/ec636cf3c5048039bd3c52b1ebdb66dabcd273fe
  Author: serge-sans-paille <sguelton at mozilla.com>
  Date:   2024-12-17 (Tue, 17 Dec 2024)

  Changed paths:
    M llvm/test/tools/llvm-split/target-specific-split.ll
    M llvm/tools/llvm-split/llvm-split.cpp

  Log Message:
  -----------
  [llvm-split][nfc] Harmonize help and error message (#120062)

Somme error / help message refer to options with a single dash while
help refer to options with a double dash.


  Commit: c9a5a6d18bd71b203798b9188f565bdf173ad91b
      https://github.com/llvm/llvm-project/commit/c9a5a6d18bd71b203798b9188f565bdf173ad91b
  Author: Nico Weber <thakis at chromium.org>
  Date:   2024-12-17 (Tue, 17 Dec 2024)

  Changed paths:
    M lld/COFF/InputFiles.h

  Log Message:
  -----------
  [lld/COFF] Remove unused InputFile::LazyObjectKind

Its use was removed in d496abbe2a037. No behavior change.


  Commit: 0e11e194167ff4e4959f0b908b9de5d3f5f801f5
      https://github.com/llvm/llvm-project/commit/0e11e194167ff4e4959f0b908b9de5d3f5f801f5
  Author: Alexey Bataev <a.bataev at outlook.com>
  Date:   2024-12-17 (Tue, 17 Dec 2024)

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

  Log Message:
  -----------
  [SLP][NFC]Remove undef and update tests


  Commit: b2c363e2616dc6ac6ee76c223d84ec512e118d5d
      https://github.com/llvm/llvm-project/commit/b2c363e2616dc6ac6ee76c223d84ec512e118d5d
  Author: Peter Klausler <pklausler at nvidia.com>
  Date:   2024-12-17 (Tue, 17 Dec 2024)

  Changed paths:
    M flang/lib/Semantics/expression.cpp
    A flang/test/Semantics/generic11.f90

  Log Message:
  -----------
  [flang] Fix generic resolution with actual/dummy procedure incompatib… (#120105)

…ility

We generally allow any legal procedure pointer target as an actual
argument for association with a dummy procedure, since many actual
procedures are underspecified EXTERNALs. But for proper generic
resolution, it is necessary to disallow incompatible functions with
explicit result types.

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


  Commit: a957cedea9657addbe8b860852cc98306aa437e7
      https://github.com/llvm/llvm-project/commit/a957cedea9657addbe8b860852cc98306aa437e7
  Author: Peter Klausler <pklausler at nvidia.com>
  Date:   2024-12-17 (Tue, 17 Dec 2024)

  Changed paths:
    M flang/include/flang/Parser/parse-tree.h
    M flang/lib/Parser/Fortran-parsers.cpp
    M flang/lib/Parser/expr-parsers.cpp
    M flang/lib/Parser/type-parsers.h
    A flang/test/Parser/lit-substr-data.f90

  Log Message:
  -----------
  [flang] Handle substring in data statement constant (#120130)

The case of a constant substring wasn't handled in the parser for data
statement constants.

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


  Commit: 0b91d77bf4e4ff65ebeed90acd141018d9889e0f
      https://github.com/llvm/llvm-project/commit/0b91d77bf4e4ff65ebeed90acd141018d9889e0f
  Author: Roland McGrath <mcgrathr at google.com>
  Date:   2024-12-17 (Tue, 17 Dec 2024)

  Changed paths:
    M libc/include/__llvm-libc-common.h

  Log Message:
  -----------
  [libc] Use __attribute__((__nothrow__)) for __NOEXCEPT in C (#114653)

Consistent with glibc headers, where `noexcept` is used in C++
(or `throw()` in older C++ which llvm-libc doesn't support) in
the public function declarations, `__attribute__((__nothrow__))` is
used in C for compilers that support it.


  Commit: 16ef239520d7bca2002346fe2b4003947ad21ecc
      https://github.com/llvm/llvm-project/commit/16ef239520d7bca2002346fe2b4003947ad21ecc
  Author: Jacek Caban <jacek at codeweavers.com>
  Date:   2024-12-17 (Tue, 17 Dec 2024)

  Changed paths:
    M lld/COFF/COFFLinkerContext.h
    M lld/COFF/Driver.cpp
    M lld/COFF/InputFiles.cpp
    M lld/COFF/SymbolTable.h
    M lld/test/COFF/arm64ec-codemap.test
    M lld/test/COFF/arm64ec-entry-thunk.s
    M lld/test/COFF/arm64ec-lib.test
    M lld/test/COFF/arm64ec-range-thunks.s
    A lld/test/COFF/arm64x-symtab.s

  Log Message:
  -----------
  [LLD][COFF] Introduce hybrid symbol table for EC input files on ARM64X (#119294)


  Commit: e8ce6c4e69745b1b2cd6f7479c48fbae44622cb3
      https://github.com/llvm/llvm-project/commit/e8ce6c4e69745b1b2cd6f7479c48fbae44622cb3
  Author: Philipp van Kempen <phvankempen at googlemail.com>
  Date:   2024-12-17 (Tue, 17 Dec 2024)

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

  Log Message:
  -----------
  [RISCV] Fix typo in CV_SH_rr_inc pattern (#120246)

This typo in
https://github.com/llvm/llvm-project/blob/main/llvm/lib/Target/RISCV/RISCVInstrInfoXCV.td#L701:L701
caused a compiler crash in 'RISC-V Assembly Printer' because
CV_SH_ri_inc was selected, leading to `getImmOpValue` being called for a
register operand.

This bug did not affect the Assembler output and therefore does not
trigger any existing unit tests, but is visible by examining the final
MIR function.


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

  Changed paths:
    M libc/config/linux/aarch64/entrypoints.txt
    M libc/config/linux/arm/entrypoints.txt
    M libc/config/linux/riscv/entrypoints.txt
    M libc/config/linux/x86_64/entrypoints.txt
    M libc/docs/headers/complex.rst
    M libc/hdrgen/yaml/complex.yaml
    M libc/src/__support/CMakeLists.txt
    M libc/src/__support/complex_type.h
    M libc/src/complex/CMakeLists.txt
    M libc/src/complex/conjf128.h
    M libc/src/complex/conjf16.h
    A libc/src/complex/cproj.h
    A libc/src/complex/cprojf.h
    A libc/src/complex/cprojf128.h
    A libc/src/complex/cprojf16.h
    A libc/src/complex/cprojl.h
    M libc/src/complex/generic/CMakeLists.txt
    M libc/src/complex/generic/conj.cpp
    M libc/src/complex/generic/conjf.cpp
    M libc/src/complex/generic/conjf128.cpp
    M libc/src/complex/generic/conjf16.cpp
    M libc/src/complex/generic/conjl.cpp
    A libc/src/complex/generic/cproj.cpp
    A libc/src/complex/generic/cprojf.cpp
    A libc/src/complex/generic/cprojf128.cpp
    A libc/src/complex/generic/cprojf16.cpp
    A libc/src/complex/generic/cprojl.cpp
    M libc/test/src/complex/CMakeLists.txt
    A libc/test/src/complex/CprojTest.h
    A libc/test/src/complex/cproj_test.cpp
    A libc/test/src/complex/cprojf128_test.cpp
    A libc/test/src/complex/cprojf16_test.cpp
    A libc/test/src/complex/cprojf_test.cpp
    A libc/test/src/complex/cprojl_test.cpp

  Log Message:
  -----------
  [libc][complex] Implement different flavors of the `cproj` function (#119722)

Refer section 7.3.9.5 of ISO/IEC 9899:2023


  Commit: 2a0091fb4abb5f89198d7e9c039da01921e2b7ee
      https://github.com/llvm/llvm-project/commit/2a0091fb4abb5f89198d7e9c039da01921e2b7ee
  Author: Mark Danial <118996571+madanial0 at users.noreply.github.com>
  Date:   2024-12-17 (Tue, 17 Dec 2024)

  Changed paths:
    M clang/test/Format/lit.local.cfg

  Log Message:
  -----------
  [AIX] fix unsupported diff flag on AIX (-strip-trailing-cr) (#120276)

https://github.com/llvm/llvm-project/pull/119666 adds the
`-strip-trailing-cr` flag to diff which is not supported on AIX switch
to use the python implementation of diff instead


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

  Changed paths:
    M llvm/lib/Transforms/Vectorize/VPlanRecipes.cpp
    M llvm/test/Transforms/LoopVectorize/AArch64/conditional-branches-cost.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/deterministic-type-shrinkage.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/divs-with-scalable-vfs.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/epilog-vectorization-factors.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/epilog-vectorization-widen-inductions.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/force-target-instruction-cost.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/induction-costs-sve.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/induction-costs.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/interleave-allocsize-not-equal-typesize.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/interleaving-load-store.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/interleaving-reduction.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/intrinsiccost.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/loop-vectorization-factors.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/low_trip_count_predicates.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/pr60831-sve-inv-store-crash.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/store-costs-sve.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/sve-epilog-vect-inloop-reductions.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/sve-epilog-vect-reductions.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/sve-epilog-vect-strict-reductions.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/sve-epilog-vect.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/sve-fneg.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/sve-interleaved-accesses.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/sve-multiexit.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/sve-runtime-check-size-based-threshold.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/sve-vector-reverse.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/sve2-histcnt-epilogue.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/sve2-histcnt-too-many-deps.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/sve2-histcnt.ll
    M llvm/test/Transforms/LoopVectorize/ARM/mve-gather-scatter-tailpred.ll
    M llvm/test/Transforms/LoopVectorize/ARM/mve-hoist-runtime-checks.ll
    M llvm/test/Transforms/LoopVectorize/ARM/mve-multiexit.ll
    M llvm/test/Transforms/LoopVectorize/PowerPC/exit-branch-cost.ll
    M llvm/test/Transforms/LoopVectorize/PowerPC/optimal-epilog-vectorization.ll
    M llvm/test/Transforms/LoopVectorize/RISCV/blocks-with-dead-instructions.ll
    M llvm/test/Transforms/LoopVectorize/RISCV/dead-ops-cost.ll
    M llvm/test/Transforms/LoopVectorize/RISCV/induction-costs.ll
    M llvm/test/Transforms/LoopVectorize/RISCV/masked_gather_scatter.ll
    M llvm/test/Transforms/LoopVectorize/RISCV/strided-accesses.ll
    M llvm/test/Transforms/LoopVectorize/RISCV/vectorize-force-tail-with-evl-bin-unary-ops-args.ll
    M llvm/test/Transforms/LoopVectorize/RISCV/vectorize-force-tail-with-evl-call-intrinsics.ll
    M llvm/test/Transforms/LoopVectorize/RISCV/vectorize-force-tail-with-evl-cast-intrinsics.ll
    M llvm/test/Transforms/LoopVectorize/RISCV/vectorize-force-tail-with-evl-intermediate-store.ll
    M llvm/test/Transforms/LoopVectorize/RISCV/vf-will-not-generate-any-vector-insts.ll
    M llvm/test/Transforms/LoopVectorize/X86/conversion-cost.ll
    M llvm/test/Transforms/LoopVectorize/X86/cost-model.ll
    M llvm/test/Transforms/LoopVectorize/X86/divs-with-tail-folding.ll
    M llvm/test/Transforms/LoopVectorize/X86/drop-poison-generating-flags.ll
    M llvm/test/Transforms/LoopVectorize/X86/epilog-vectorization-inductions.ll
    M llvm/test/Transforms/LoopVectorize/X86/float-induction-x86.ll
    M llvm/test/Transforms/LoopVectorize/X86/gather_scatter.ll
    M llvm/test/Transforms/LoopVectorize/X86/illegal-parallel-loop-uniform-write.ll
    M llvm/test/Transforms/LoopVectorize/X86/induction-costs.ll
    M llvm/test/Transforms/LoopVectorize/X86/interleave-cost.ll
    M llvm/test/Transforms/LoopVectorize/X86/intrinsiccost.ll
    M llvm/test/Transforms/LoopVectorize/X86/invariant-load-gather.ll
    M llvm/test/Transforms/LoopVectorize/X86/invariant-store-vectorization.ll
    M llvm/test/Transforms/LoopVectorize/X86/limit-vf-by-tripcount.ll
    M llvm/test/Transforms/LoopVectorize/X86/masked-store-cost.ll
    M llvm/test/Transforms/LoopVectorize/X86/masked_load_store.ll
    M llvm/test/Transforms/LoopVectorize/X86/multi-exit-cost.ll
    M llvm/test/Transforms/LoopVectorize/X86/pr23997.ll
    M llvm/test/Transforms/LoopVectorize/X86/pr35432.ll
    M llvm/test/Transforms/LoopVectorize/X86/pr36524.ll
    M llvm/test/Transforms/LoopVectorize/X86/pr47437.ll
    M llvm/test/Transforms/LoopVectorize/X86/pr54634.ll
    M llvm/test/Transforms/LoopVectorize/X86/pr56319-vector-exit-cond-optimization-epilogue-vectorization.ll
    M llvm/test/Transforms/LoopVectorize/X86/pr72969.ll
    M llvm/test/Transforms/LoopVectorize/X86/scatter_crash.ll
    M llvm/test/Transforms/LoopVectorize/X86/strided_load_cost.ll
    M llvm/test/Transforms/LoopVectorize/X86/uniform_mem_op.ll
    M llvm/test/Transforms/LoopVectorize/X86/vect.omp.force.small-tc.ll
    M llvm/test/Transforms/LoopVectorize/X86/vectorize-force-tail-with-evl.ll
    M llvm/test/Transforms/LoopVectorize/dead_instructions.ll
    M llvm/test/Transforms/LoopVectorize/epilog-iv-select-cmp.ll
    M llvm/test/Transforms/LoopVectorize/epilog-vectorization-any-of-reductions.ll
    M llvm/test/Transforms/LoopVectorize/epilog-vectorization-reductions.ll
    M llvm/test/Transforms/LoopVectorize/epilog-vectorization-trunc-induction-steps.ll
    M llvm/test/Transforms/LoopVectorize/first-order-recurrence-complex.ll
    M llvm/test/Transforms/LoopVectorize/fpsat.ll
    M llvm/test/Transforms/LoopVectorize/if-conversion-nest.ll
    M llvm/test/Transforms/LoopVectorize/if-pred-non-void.ll
    M llvm/test/Transforms/LoopVectorize/induction.ll
    M llvm/test/Transforms/LoopVectorize/interleaved-accesses-3.ll
    M llvm/test/Transforms/LoopVectorize/interleaved-accesses.ll
    M llvm/test/Transforms/LoopVectorize/invariant-store-vectorization-2.ll
    M llvm/test/Transforms/LoopVectorize/invariant-store-vectorization.ll
    M llvm/test/Transforms/LoopVectorize/load-deref-pred-align.ll
    M llvm/test/Transforms/LoopVectorize/multiple-strides-vectorization.ll
    M llvm/test/Transforms/LoopVectorize/no-fold-tail-by-masking-iv-external-uses.ll
    M llvm/test/Transforms/LoopVectorize/no_outside_user.ll
    M llvm/test/Transforms/LoopVectorize/opaque-ptr.ll
    M llvm/test/Transforms/LoopVectorize/optimal-epilog-vectorization-liveout.ll
    M llvm/test/Transforms/LoopVectorize/optimal-epilog-vectorization.ll
    M llvm/test/Transforms/LoopVectorize/optsize.ll
    M llvm/test/Transforms/LoopVectorize/pointer-select-runtime-checks.ll
    M llvm/test/Transforms/LoopVectorize/pr30654-phiscev-sext-trunc.ll
    M llvm/test/Transforms/LoopVectorize/pr37248.ll
    M llvm/test/Transforms/LoopVectorize/pr45259.ll
    M llvm/test/Transforms/LoopVectorize/pr47343-expander-lcssa-after-cfg-update.ll
    M llvm/test/Transforms/LoopVectorize/pr50686.ll
    M llvm/test/Transforms/LoopVectorize/pr59319-loop-access-info-invalidation.ll
    M llvm/test/Transforms/LoopVectorize/reduction-align.ll
    M llvm/test/Transforms/LoopVectorize/reverse_induction.ll
    M llvm/test/Transforms/LoopVectorize/runtime-check-needed-but-empty.ll
    M llvm/test/Transforms/LoopVectorize/runtime-check-small-clamped-bounds.ll
    M llvm/test/Transforms/LoopVectorize/runtime-check.ll
    M llvm/test/Transforms/LoopVectorize/runtime-checks-difference-simplifications.ll
    M llvm/test/Transforms/LoopVectorize/runtime-checks-hoist.ll
    M llvm/test/Transforms/LoopVectorize/scev-exit-phi-invalidation.ll
    M llvm/test/Transforms/LoopVectorize/scev-predicate-reasoning.ll
    M llvm/test/Transforms/LoopVectorize/select-cmp-multiuse.ll
    M llvm/test/Transforms/LoopVectorize/single_early_exit.ll
    M llvm/test/Transforms/LoopVectorize/skeleton-lcssa-crash.ll
    M llvm/test/Transforms/LoopVectorize/version-stride-with-integer-casts.ll
    M llvm/test/Transforms/PhaseOrdering/AArch64/indvars-vectorization.ll
    M llvm/test/Transforms/PhaseOrdering/AArch64/matrix-extract-insert.ll
    M llvm/test/Transforms/PhaseOrdering/X86/pr48844-br-to-switch-vectorization.ll
    M llvm/test/Transforms/PhaseOrdering/X86/vdiv.ll

  Log Message:
  -----------
  [VPlan] Remove reverse() of predecessors from VPInstruction::generate.

This was originally done to reduce the diff for the change. Remove it
and update the remaining tests. NFC modulo reordering of incoming
values.

Clean up after https://github.com/llvm/llvm-project/pull/114292.


  Commit: 984cb791db347689c4df222e85069ac58929d5ed
      https://github.com/llvm/llvm-project/commit/984cb791db347689c4df222e85069ac58929d5ed
  Author: Philip Reames <preames at rivosinc.com>
  Date:   2024-12-17 (Tue, 17 Dec 2024)

  Changed paths:
    M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
    M llvm/test/CodeGen/RISCV/rvv/vector-deinterleave-load.ll
    M llvm/test/CodeGen/RISCV/rvv/vector-deinterleave.ll

  Log Message:
  -----------
  [RISCV] Use vmv.v.x to materialize masks in deinterleave2 lowering (#118500)

This is a follow up to 2af2634 to use vmv.v.x of i8 constants instead of
the prior vid/vand/vmsne sequence. The advantage of the vmv.v.x sequence
is that it's always m1 (so cheaper at high LMUL), and can be
rematerialized by the register allocator if needed to locally reduce
register pressure.


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

  Changed paths:
    M llvm/include/llvm/Analysis/MemoryProfileInfo.h
    M llvm/lib/Analysis/MemoryProfileInfo.cpp
    M llvm/test/Transforms/PGOProfile/memprof_loop_unroll.ll

  Log Message:
  -----------
  [MemProf] Refactor single alloc type handling and use in more cases (#120290)

Emit message when we have aliased contexts that are conservatively
hinted not cold. This is not a change in behavior, just in message when
the -memprof-report-hinted-sizes flag is enabled.


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

  Changed paths:
    M flang/lib/Semantics/resolve-names.cpp
    M flang/test/Semantics/cuf09.cuf

  Log Message:
  -----------
  [flang][cuda] Apply implict data attribute to local arrays (#120293)

Add the implicit data attribute to local arrays that don't have one.
This simplifies the host array detection in semantic.


  Commit: 48c20e7106bb15398b55a13d0a2ec74cb51d055e
      https://github.com/llvm/llvm-project/commit/48c20e7106bb15398b55a13d0a2ec74cb51d055e
  Author: Michael Maitland <michaeltmaitland at gmail.com>
  Date:   2024-12-17 (Tue, 17 Dec 2024)

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

  Log Message:
  -----------
  [RISCV][VLOPT] Do not optimize VL when isVectorOpUsedAsScalarOp (#120291)

This does not have tests, so we will remove this for now and add it back
later with tests.


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

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

  Log Message:
  -----------
  [memprof] Don't use Frame::hash or hashCallStacks in unit test (#119984)

This patch checks the result of YAML parsing at the level of
MemProfRecord instead of IndexedMemProfRecord, thereby avoiding use of
Frame::hash and hashCallStacks.  This makes sense because we
ultimately care about consumers like MemProfiler.cpp obtaining
MemProfRecord correctly; IndexedMemProfData and hash values are just
intermediaries.

Once this patch lands, we call Frame::hash and hashCallStacks only
when adding Frames or call stacks to their respective data structures.
In other words, the hash functions are pretty much business internal
to IndexedMemProfRecord.


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

  Changed paths:
    M offload/DeviceRTL/src/Misc.cpp

  Log Message:
  -----------
  [OpenMP] Only put `retain` for NVPTX so it can be optimized out for AMD

Summary:
This is a hack that only NVPTX needs.


  Commit: 169c32eb49fa9b559d388b9b8f4374ff9e1be9be
      https://github.com/llvm/llvm-project/commit/169c32eb49fa9b559d388b9b8f4374ff9e1be9be
  Author: Michael Maitland <michaeltmaitland at gmail.com>
  Date:   2024-12-17 (Tue, 17 Dec 2024)

  Changed paths:
    M llvm/lib/Target/RISCV/RISCVTargetMachine.cpp
    M llvm/test/CodeGen/RISCV/O3-pipeline.ll
    M llvm/test/CodeGen/RISCV/rvv/ctlz-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-abs.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-fp.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-int.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-shuffle-changes-length.ll
    M llvm/test/CodeGen/RISCV/rvv/setcc-int-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/vdiv-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/vdivu-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/vfma-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/vl-opt-op-info.ll
    M llvm/test/CodeGen/RISCV/rvv/vl-opt.ll
    M llvm/test/CodeGen/RISCV/rvv/vmax-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/vmaxu-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/vmin-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/vminu-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/vmul-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/vrem-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/vremu-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/vsadd-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/vsaddu-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/vsetvli-insert-crossbb.ll
    M llvm/test/CodeGen/RISCV/rvv/vshl-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/vsitofp-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/vsra-sdnode.ll
    M llvm/test/CodeGen/RISCV/rvv/vsra-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/vsrl-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/vssub-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/vssubu-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/vuitofp-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/vwsll-vp.ll
    M llvm/test/CodeGen/RISCV/srem-seteq-illegal-types.ll

  Log Message:
  -----------
  [RISCV][VLOPT] Enable the RISCVVLOptimizer by default (#119461)

Now that we have testing of all instructions in the isSupportedInstr
switch, and better coverage of getOperandInfo, I think it is a good time
to enable this by default.


  Commit: cde996c31d6fb6ae1bbbc79aa71dff2b7fc0a8ae
      https://github.com/llvm/llvm-project/commit/cde996c31d6fb6ae1bbbc79aa71dff2b7fc0a8ae
  Author: Nico Weber <thakis at chromium.org>
  Date:   2024-12-17 (Tue, 17 Dec 2024)

  Changed paths:
    M lld/COFF/SymbolTable.cpp

  Log Message:
  -----------
  [lld/COFF] Remove needless indirection

`symtab.ctx.symtab` is just `symtab`. Looks like #119296 added
this using a global find-and-replace.

This was the only instance of `symtab.ctx.symtab` in lld/.

No behavior change.


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

  Changed paths:
    M libc/test/include/stdbit_stub.h

  Log Message:
  -----------
  [libc] fix -Wgcc-compat (#120303)

I don't quite recall why I added those in the first place. These tests build
without diagnostics for both clang and GCC with this fix.

Fixes: #114653


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

  Changed paths:
    M libc/config/gpu/entrypoints.txt
    M libc/src/__support/time/gpu/time_utils.h
    M libc/src/time/gpu/nanosleep.cpp
    M libc/src/time/gpu/timespec_get.cpp

  Log Message:
  -----------
  [libc] Enable 'timespec_get' for the GPU build (#120304)

Summary:
Currently fails to build libc++ because this is missing.


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

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

  Log Message:
  -----------
  [VPlan] Remove redundant assignment in VPReductionPHIRecipe (NFC)

Suggested post-commit for 0e528ac404e13ed2d952a2d83aaf8383293c851e.


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

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

  Log Message:
  -----------
  [flang][cuda] Allow host array with PARAMETER attribute in device context (#120298)

Host arrays are normally not allowed in device context unless they have
a `PARAMETER` attribute. This patch update the check so no error is
emitted.


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

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

  Log Message:
  -----------
  [flang][cuda] Do not consider SHARED array as host array (#120306)

Update the current `FindHostArray` to not return shared array as host
array.


  Commit: 9f231a85004fad080980e80ef881c81d1d5bb60e
      https://github.com/llvm/llvm-project/commit/9f231a85004fad080980e80ef881c81d1d5bb60e
  Author: Alex MacLean <amaclean at nvidia.com>
  Date:   2024-12-17 (Tue, 17 Dec 2024)

  Changed paths:
    M llvm/lib/Target/NVPTX/NVPTXInstrInfo.td
    M llvm/lib/Target/NVPTX/NVPTXIntrinsics.td

  Log Message:
  -----------
  [NVPTX] Prefer ValueType when defining DAG patterns (NFC) (#120161)

Replace uses of register class in dag patterns with value types. These
types are much more concise and in cases where a single register class
maps to multiple types, they avoid the need for both.


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

  Changed paths:
    M llvm/docs/requirements-hashed.txt

  Log Message:
  -----------
  [libc][docs] update sphinx requirement hashes (#120315)

Link: #120274


  Commit: 65d2177ae1d7b891a5bd939aa30f922ceae57da9
      https://github.com/llvm/llvm-project/commit/65d2177ae1d7b891a5bd939aa30f922ceae57da9
  Author: Justin Bogner <mail at justinbogner.com>
  Date:   2024-12-17 (Tue, 17 Dec 2024)

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

  Log Message:
  -----------
  [DXIL] Simplify MDBuilder in resource unit tests. NFC (#120275)


  Commit: c03fc929ffc1ee5439bf547e5f0bf5319c818982
      https://github.com/llvm/llvm-project/commit/c03fc929ffc1ee5439bf547e5f0bf5319c818982
  Author: Farzon Lotfi <farzonlotfi at microsoft.com>
  Date:   2024-12-17 (Tue, 17 Dec 2024)

  Changed paths:
    M llvm/lib/Target/DirectX/DXILIntrinsicExpansion.cpp
    A llvm/test/CodeGen/DirectX/vector_reduce_add.ll

  Log Message:
  -----------
  [DirectX] Add support for vector_reduce_add (#117646)

Use of `vector_reduce_add` will make it easier to write more intrinsics
in `hlsl_intrinsics.h`.


  Commit: 09f449263e6e9b0e7ba9f972f73734b08575b172
      https://github.com/llvm/llvm-project/commit/09f449263e6e9b0e7ba9f972f73734b08575b172
  Author: Craig Topper <craig.topper at sifive.com>
  Date:   2024-12-17 (Tue, 17 Dec 2024)

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

  Log Message:
  -----------
  [RISCV] Check for register where immediate should be in RISCVInstrInfo::verifyInstruction. (#120286)

The generic verifier will do this if the operand type is
OPERAND_IMMEDIATE, but we use our own custom operand types. Immediate
operands are still allowed to be globals, constant pools, blockaddress,
etc. so we can't check !isImm().


  Commit: bb4007e56274d70ed3a8367eb245bec7d80b9fac
      https://github.com/llvm/llvm-project/commit/bb4007e56274d70ed3a8367eb245bec7d80b9fac
  Author: alx32 <103613512+alx32 at users.noreply.github.com>
  Date:   2024-12-17 (Tue, 17 Dec 2024)

  Changed paths:
    M llvm/test/tools/llvm-dwarfdump/X86/verify_no_overlap_error_icf.yaml

  Log Message:
  -----------
  [DWARFVerifier] Disable failing test llvm/include/llvm/DebugInfo/DWARF/DWARFVerifier.h (#120322)

Disabling and forward fixing later.


  Commit: 8a62104f642e469e62aa839cc25c31adf2fa5805
      https://github.com/llvm/llvm-project/commit/8a62104f642e469e62aa839cc25c31adf2fa5805
  Author: Aiden Grossman <aidengrossman at google.com>
  Date:   2024-12-17 (Tue, 17 Dec 2024)

  Changed paths:
    M .github/workflows/docs.yml

  Log Message:
  -----------
  [Github] Use hashed dependencies in docs job (#120319)

This patch forces the docs test build job to use the hashed dpendencies
file rather than the normal requirements.txt. This ensures that we get
the exact transitive closure specified rather than whatever the
dependency solver feels like it should use in the CI job.


  Commit: 932d9c13faa3de1deca3874d3b864901aa5ec9a5
      https://github.com/llvm/llvm-project/commit/932d9c13faa3de1deca3874d3b864901aa5ec9a5
  Author: Drew Kersnar <dakersnar at me.com>
  Date:   2024-12-17 (Tue, 17 Dec 2024)

  Changed paths:
    M llvm/lib/Target/NVPTX/NVPTXISelDAGToDAG.cpp
    M llvm/lib/Target/NVPTX/NVPTXISelLowering.cpp
    M llvm/test/CodeGen/NVPTX/LoadStoreVectorizer.ll
    M llvm/test/CodeGen/NVPTX/i8x4-instructions.ll
    M llvm/test/CodeGen/NVPTX/ldg-invariant.ll
    A llvm/test/CodeGen/NVPTX/load-store-scalars.ll
    A llvm/test/CodeGen/NVPTX/load-store-vectors.ll
    R llvm/test/CodeGen/NVPTX/load-store.ll
    M llvm/test/CodeGen/NVPTX/shuffle-vec-undef-init.ll
    M llvm/test/CodeGen/NVPTX/vector-stores.ll

  Log Message:
  -----------
  [NVPTX] Generalize and extend upsizing when lowering 8/16-bit-element vector loads/stores (#119622)

This addresses the following issue I opened:
https://github.com/llvm/llvm-project/issues/118851.

This change generalizes the Type Legalization mechanism that currently
handles `v8[i/f/bf]16` upsizing to include loads _and_ stores of `v8i8`
+ `v16i8`, allowing all of the mentioned vectors to be lowered to ptx as
vectors of `b32`. This extension also allows us to remove the DagCombine
that only handled exactly `load v16i8`, thus centralizing all the
upsizing logic into one place.

Test changes include adding v8i8, v16i8, and v8i16 cases to
load-store.ll, and updating the CHECKs for other tests to match the
improved codegen.


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

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

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

/llvm-project/llvm/lib/Target/NVPTX/NVPTXISelLowering.cpp:224:2:
error: extra ';' outside of a function is incompatible with C++98 [-Werror,-Wc++98-compat-extra-semi]
};
 ^
1 error generated.


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

  Changed paths:
    M llvm/lib/Transforms/Instrumentation/MemProfiler.cpp
    M llvm/test/Transforms/PGOProfile/memprof.ll

  Log Message:
  -----------
  [MemProf] Add option to hint allocations at a given cold byte percentage (#120301)

Optionally unconditionally hint allocations as cold or not cold during
the matching step if the percentage of bytes allocated is at least that
of the given threshold.


  Commit: f8d9f8ed9524ef01aeedca7833001efabc6cd223
      https://github.com/llvm/llvm-project/commit/f8d9f8ed9524ef01aeedca7833001efabc6cd223
  Author: Paul Kirth <paulkirth at google.com>
  Date:   2024-12-17 (Tue, 17 Dec 2024)

  Changed paths:
    A clang-tools-extra/test/clang-doc/builtin_types.cpp

  Log Message:
  -----------
  [clang-doc] Add test for functions with builtin return types (#120318)

This is a precommit test for #120308, since we lack non-template
functions that use builtin types.


  Commit: 01d7a187a4a80afc77300641ab5a86b271e8343f
      https://github.com/llvm/llvm-project/commit/01d7a187a4a80afc77300641ab5a86b271e8343f
  Author: Jon Roelofs <jonathan_roelofs at apple.com>
  Date:   2024-12-17 (Tue, 17 Dec 2024)

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

  Log Message:
  -----------
  [llvm] Add missing dependency of libLLVMCodeGen on vt_gen

```
llvm-project/llvm/include/llvm/CodeGenTypes/MachineValueType.h:43:10: fatal error: 'llvm/CodeGen/GenVT.inc' file not found
   43 | #include "llvm/CodeGen/GenVT.inc"
      |          ^~~~~~~~~~~~~~~~~~~~~~~~
```

rdar://141643651


  Commit: 9d11aa175b74cde774554c71e9d3aaa0fa67f530
      https://github.com/llvm/llvm-project/commit/9d11aa175b74cde774554c71e9d3aaa0fa67f530
  Author: Drew Kersnar <dkersnar at nvidia.com>
  Date:   2024-12-17 (Tue, 17 Dec 2024)

  Changed paths:

  Log Message:
  -----------
  [NVPTX] Remove extra semicolon (#120336)

Fix bug in this change:
https://github.com/llvm/llvm-project/pull/119622#issuecomment-2549896245


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

  Changed paths:
    M clang/lib/Driver/SanitizerArgs.cpp

  Log Message:
  -----------
  [sanitizer] Refactor -f(no-)?sanitize-recover parsing (#119819)

This moves the -f(no-)?sanitize-recover parsing into a generic
parseSanitizerArgs function, and then applies it to parse
-f(no-)?sanitize-recover and -f(no-)?sanitize-trap.

N.B. parseSanitizeTrapArgs does *not* remove non-TrappingSupported
arguments. This maintains the legacy behavior of '-fsanitize=undefined
-fsanitize-trap=undefined' (clang/test/Driver/fsanitize.c), which is
that vptr is not enabled at all (not even in recover mode) in order to
avoid the need for a ubsan runtime.


  Commit: d7fe2cf8a2854f05812b87faf3ce0da296fc5fe1
      https://github.com/llvm/llvm-project/commit/d7fe2cf8a2854f05812b87faf3ce0da296fc5fe1
  Author: tianleliu <tianle.l.liu at intel.com>
  Date:   2024-12-18 (Wed, 18 Dec 2024)

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

  Log Message:
  -----------
  [InstCombine]  Widen Sel width after Cmp to generate Max/Min intrinsics. (#118932)

When Sel(Cmp) are in different integer type,

From: (K and N mean width, K < N; a and b are src operands.)
bN = Ext(bK)
cond = Cmp(aN, bN)
aK = Trunc aN
retK = Sel(cond, aK, bK)
To:
bN = Ext(bK)
cond = Cmp(aN, bN)
retN = Sel(cond, aN, bN)
retK = Trunc retN

Though Sel's operands width becomes larger, the benefit
of making type width in Sel the same as Cmp, is for combing
to max/min intrinsics, and also better performance for SIMD
instructions.
References of correctness: https://alive2.llvm.org/ce/z/Y4Kegm
                           https://alive2.llvm.org/ce/z/qFtjtR
Reference of generated code comparision:
                           https://gcc.godbolt.org/z/o97svGvYM
                           https://gcc.godbolt.org/z/59Ynj91ov


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

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

  Log Message:
  -----------
  [flang][cuda] Relax host array check for cuda constant (#120333)

Array with CONSTANT attribute declared in module spec part are device
arrays and should not trigger the host array check.


  Commit: 5c5a769cc0ccc6634a09273289e6d79da109c842
      https://github.com/llvm/llvm-project/commit/5c5a769cc0ccc6634a09273289e6d79da109c842
  Author: Brox Chen <guochen2 at amd.com>
  Date:   2024-12-17 (Tue, 17 Dec 2024)

  Changed paths:
    M llvm/test/MC/Disassembler/AMDGPU/gfx11_dasm_vop1.txt
    M llvm/test/MC/Disassembler/AMDGPU/gfx11_dasm_vop1_dpp16.txt
    M llvm/test/MC/Disassembler/AMDGPU/gfx11_dasm_vop1_dpp8.txt
    M llvm/test/MC/Disassembler/AMDGPU/gfx11_dasm_vop3_dpp16_from_vop1.txt
    M llvm/test/MC/Disassembler/AMDGPU/gfx11_dasm_vop3_dpp8_from_vop1.txt
    M llvm/test/MC/Disassembler/AMDGPU/gfx11_dasm_vop3_from_vop1.txt
    M llvm/test/MC/Disassembler/AMDGPU/gfx12_dasm_vop1_dpp16.txt
    M llvm/test/MC/Disassembler/AMDGPU/gfx12_dasm_vop1_dpp8.txt
    M llvm/test/MC/Disassembler/AMDGPU/gfx12_dasm_vop3_from_vop1.txt
    M llvm/test/MC/Disassembler/AMDGPU/gfx12_dasm_vop3_from_vop1_dpp16.txt
    M llvm/test/MC/Disassembler/AMDGPU/gfx12_dasm_vop3_from_vop1_dpp8.txt

  Log Message:
  -----------
  [AMDGPU][True16][MC] update VOP1 dasm test with latest script (#120281)

This is a NFC. Update VOP1 dasm test with latest update script


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

  Changed paths:
    M llvm/lib/Target/RISCV/RISCVVLOptimizer.cpp
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-insert-subvector-shuffle.ll
    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 VID and VIOTA (#120331)

We already cover vid in `llvm/test/CodeGen/RISCV/rvv/vl-opt-op-info.mir`
so no need to add tests for that instruction.


  Commit: b24caf3d2b91ad8b2b29d70fb69fce3c5347b9f4
      https://github.com/llvm/llvm-project/commit/b24caf3d2b91ad8b2b29d70fb69fce3c5347b9f4
  Author: Krzysztof Drewniak <Krzysztof.Drewniak at amd.com>
  Date:   2024-12-17 (Tue, 17 Dec 2024)

  Changed paths:
    M llvm/docs/TableGen/ProgRef.rst
    M llvm/include/llvm/TableGen/Record.h
    M llvm/lib/TableGen/Record.cpp
    M llvm/lib/TableGen/TGLexer.cpp
    M llvm/lib/TableGen/TGLexer.h
    M llvm/lib/TableGen/TGParser.cpp
    A llvm/test/TableGen/initialized.td

  Log Message:
  -----------
  [llvm][TableGen] Add a !initialized predicate to allow testing for ? (#117964)

There are cases (like in an upcoming patch to MLIR's `Property` class)
where the ? value is a useful null value. However, existing predicates
make ti difficult to test if the value in a record one is operating is ?
or not.

This commit adds the !initialized predicate, which is 1 on concrete,
non-? values and 0 on ?.

---------

Co-authored-by: Akshat Oke <Akshat.Oke at amd.com>


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

  Changed paths:
    M llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
    A llvm/test/Transforms/LoopVectorize/RISCV/truncate-to-minimal-bitwidth-evl-crash.ll

  Log Message:
  -----------
  [VPlan] Handle VPWidenCastRecipe without underlying value in EVL transform (#120194)

This fixes a crash that shows up when building SPEC CPU 2017 with EVL
tail folding on RISC-V.

A VPWidenCastRecipe doesn't always have an underlying value, and in the
case of this crash this happens whenever a widened cast is created via
truncateToMinimalBitwidths.

Fix this by just using the opcode stored in the recipe itself.

I think a similar issue exists with VPWidenIntrinsicRecipe and how it's
widened, but I haven't run into any crashes with it just yet.


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

  Changed paths:
    M llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
    A llvm/test/Transforms/LoopVectorize/RISCV/type-info-cache-evl-crash.ll

  Log Message:
  -----------
  [VPlan] Fix VPTypeAnalysis cache clobbering in EVL transform (#120252)

When building SPEC CPU 2017 with RISC-V and EVL tail folding, this
assertion in VPTypeAnalysis would trigger during the transformation to
EVL recipes:


https://github.com/llvm/llvm-project/blob/d8a0709b1090350a7fe3604d8ab78c7d62f10698/llvm/lib/Transforms/Vectorize/VPlanAnalysis.cpp#L135-L142

It was caused by this recipe:

```
WIDEN ir<%shr> = vp.or ir<%add33>, ir<0>, vp<%6>
```

Having its type inferred as i16, when ir<%add33> and ir<0> had inferred
types of i32 somehow.

The cause of this turned out to be because the VPTypeAnalysis cache was
getting clobbered: In this transform we were erasing recipes but keeping
around the same mapping from VPValue* to Type*. In the meantime, new
recipes would be created which would have the same address as the old
value. They would then incorrectly get the old erased VPValue*'s cached
type:

```
  --- before ---
  0x600001ec5030: WIDEN ir<%mul21.neg> = vp.mul vp<%11>, ir<0>, vp<%6>
  0x600001ec5450: <badref> <- some value that was erased
  --- after ---
  0x600001ec5030: WIDEN ir<%mul21.neg> = vp.mul vp<%11>, ir<0>, vp<%6>
  0x600001ec5450: WIDEN ir<%shr> = vp.or ir<%add33>, ir<0>, vp<%6>  <- a new value that happens to have the same address
```

This fixes this by deferring the erasing of recipes till after the
transformation.

The test case might be a bit flakey since it just happens to have the
right conditions to recreate this. I tried to add an assert in
inferScalarType that every VPValue in the cache was valid, but couldn't
find a way of telling if a VPValue had been erased.

---------

Co-authored-by: Florian Hahn <flo at fhahn.com>


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

  Changed paths:
    M clang/docs/ReleaseNotes.rst
    M clang/include/clang/Basic/DiagnosticSemaKinds.td
    M clang/lib/Sema/SemaExpr.cpp
    A clang/test/Sema/tautological-pointer-comparison.c

  Log Message:
  -----------
  [Sema] Diagnose tautological bounds checks (#120222)

This diagnoses comparisons like `ptr + unsigned_index < ptr` and `ptr +
unsigned_index >= ptr`, which are always false/true because addition of
a pointer and an unsigned index cannot wrap (or the behavior is
undefined).

This warning is intended to help find broken bounds checks (which must
be implemented in terms of uintptr_t instead).

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


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

  Changed paths:
    M compiler-rt/lib/sanitizer_common/sanitizer_platform_limits_posix.h

  Log Message:
  -----------
  [compiler-rt] Work around a warning from -Wgnu-anonymous-struct (#120314)

This patch works around:


compiler-rt/lib/tysan/../sanitizer_common/sanitizer_platform_limits_posix.h:604:3:
  error: anonymous structs are a GNU extension
  [-Werror,-Wgnu-anonymous-struct]


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

  Changed paths:
    M llvm/test/Transforms/LoopVectorize/RISCV/type-info-cache-evl-crash.ll

  Log Message:
  -----------
  [LV] Update failing test with middle block. NFC


  Commit: c189b2a1ece2804829350700bec568398550c49d
      https://github.com/llvm/llvm-project/commit/c189b2a1ece2804829350700bec568398550c49d
  Author: Jinsong Ji <jinsong.ji at intel.com>
  Date:   2024-12-17 (Tue, 17 Dec 2024)

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

  Log Message:
  -----------
  [DiagnosticInfo] Fix the default DiagnosticSeverity (#120342)

After
https://github.com/llvm/llvm-project/commit/ea632e1b34e1

the API call to LLVMContext->emitError(I, Errorstr) default to warning
instead of error.

This cause problems as the API mentioned it is "prefixed with error:".


  Commit: 1a70420ff3b972b3d9bbc1c4d1e98bfa12bfb73a
      https://github.com/llvm/llvm-project/commit/1a70420ff3b972b3d9bbc1c4d1e98bfa12bfb73a
  Author: Christopher Bate <cbate at nvidia.com>
  Date:   2024-12-17 (Tue, 17 Dec 2024)

  Changed paths:
    M mlir/include/mlir/Pass/PassOptions.h
    M mlir/lib/Pass/PassRegistry.cpp
    M mlir/test/Pass/pipeline-options-parsing.mlir

  Log Message:
  -----------
  [mlir] Attempt to resolve edge cases in PassPipeline textual format (#118877)

This commit makes the following changes:

1. Previously certain pipeline options could cause the options parser to
   get stuck in an an infinite loop. An example is:

   ```
mlir-opt %s -verify-each=false
-pass-pipeline='builtin.module(func.func(test-options-super-pass{list={list=1,2},{list=3,4}}))''
   ```

   In this example, the 'list' option of the `test-options-super-pass`
   is itself a pass options specification (this capability was added in
   https://github.com/llvm/llvm-project/issues/101118).

However, while the textual format allows `ListOption<int>` to be given
   as `list=1,2,3`, it did not allow the same format for
   `ListOption<T>` when T is a subclass of `PassOptions` without extra
enclosing `{....}`. Lack of enclosing `{...}` would cause the infinite
   looping in the parser.

   This change resolves the parser bug and also allows omitting the
   outer `{...}` for `ListOption`-of-options.

2. Previously, if you specified a default list value for your
`ListOption`, e.g. `ListOption<int> opt{*this, "list",
llvm::cl::list_init({1,2,3})}`,
it would be impossible to override that default value of `{1,2,3}` with
an *empty* list on the command line, since `my-pass{list=}` was not
allowed.

This was not allowed because of ambiguous handling of lists-of-strings
   (no literal marker is currently required).

   This change makes it explicit in the ListOption construction that we
would like to treat all ListOption as having a default value of "empty"
   unless otherwise specified (e.g. using `llvm::list_init`).

It removes the requirement that lists are not printed if empty. Instead,
   lists are not printed if they do not have their default value.

   It is now clarified that the textual format
   `my-pass{string-list=""}` or `my-pass{string-list={}}`
   is interpreted as "empty list". This makes it imposssible to specify
   that ListOption `string-list` should be a size-1 list containing the
   empty string. However, `my-pass{string-list={"",""}}` *does* specify
a size-2 list containing the empty string. This behavior seems
preferable
   to allow for overriding non-empty defaults as described above.


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

  Changed paths:
    A flang/include/flang/Lower/DirectivesCommon.h
    M flang/lib/Lower/Bridge.cpp
    R flang/lib/Lower/DirectivesCommon.h
    M flang/lib/Lower/OpenACC.cpp
    M flang/lib/Lower/OpenMP/ClauseProcessor.h
    M flang/lib/Lower/OpenMP/OpenMP.cpp
    M flang/lib/Lower/OpenMP/Utils.cpp
    M flang/lib/Optimizer/OpenMP/CMakeLists.txt
    M flang/lib/Optimizer/OpenMP/MapInfoFinalization.cpp
    A flang/test/Transforms/omp-map-info-finalization-implicit-field.fir
    M mlir/include/mlir/Dialect/OpenMP/OpenMPOpsInterfaces.td
    A offload/test/offloading/fortran/explicit-and-implicit-record-field-mapping.f90
    A offload/test/offloading/fortran/implicit-record-field-mapping.f90

  Log Message:
  -----------
  [flang][OpenMP] Implicitly map allocatable record fields (#117867)

This is a starting PR to implicitly map allocatable record fields.

This PR contains the following changes:
1. Re-purposes some of the utils used in `Lower/OpenMP.cpp` so that
   these utils work on the `mlir::Value` level rather than the
   `semantics::Symbol` level. This takes one step towards to enabling
   MLIR passes to more easily do some lowering themselves (e.g. creating
   `omp.map.bounds` ops for implicitely caputured data like this PR
   does).
2. Adds support for implicitely capturing and mapping allocatable fields
   in record types.

There is quite some distant to still cover to have full support for
this. I added a number of todos to guide further development.

Co-authored-by: Andrew Gozillon <andrew.gozillon at amd.com>

Co-authored-by: Andrew Gozillon <andrew.gozillon at amd.com>


  Commit: 644643a4ee931ce24c27702851a93160cf0f1248
      https://github.com/llvm/llvm-project/commit/644643a4ee931ce24c27702851a93160cf0f1248
  Author: weiwei chen <weiwei.chen at modular.com>
  Date:   2024-12-17 (Tue, 17 Dec 2024)

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

  Log Message:
  -----------
  [mlir] Add `Operation::dumpPrettyPrinted` (#120117)

- [x] Add `Operation::dumpPrettyPrinted` to get more readable print
during debugging when the IR may not be able to pass verify yet.


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

  Changed paths:
    M llvm/lib/Target/RISCV/RISCVVLOptimizer.cpp
    M llvm/test/CodeGen/RISCV/rvv/narrow-shift-extend.ll
    M llvm/test/CodeGen/RISCV/rvv/pr63459.ll
    M llvm/test/CodeGen/RISCV/rvv/vl-opt-op-info.mir
    M llvm/test/CodeGen/RISCV/rvv/vpgather-sdnode.ll
    M llvm/test/CodeGen/RISCV/rvv/vpscatter-sdnode.ll

  Log Message:
  -----------
  [RISCV][VLOPT] Add vector indexed loads and stores to getOperandInfo (#119748)

Use `MO.getOperandNo() == 0` instead of `IsMODef` so naming is clear for the store, since the store should treat its operand 0 like that even though it is not a def.The load should treat its operand 0 def in the same way.


  Commit: 6fbfbd7c88612b7f2ddf2815d72e0e35c48ed5a6
      https://github.com/llvm/llvm-project/commit/6fbfbd7c88612b7f2ddf2815d72e0e35c48ed5a6
  Author: Craig Topper <craig.topper at sifive.com>
  Date:   2024-12-17 (Tue, 17 Dec 2024)

  Changed paths:
    M llvm/docs/RISCV/RISCVVectorExtension.rst

  Log Message:
  -----------
  [RISCV] Add some additional notes about mask pseudo instructions to RISCVVectorExtension.rst. NFC (#120337)


  Commit: 9fa517208fbf4d007694d5f2ba754356a40467e2
      https://github.com/llvm/llvm-project/commit/9fa517208fbf4d007694d5f2ba754356a40467e2
  Author: Craig Topper <craig.topper at sifive.com>
  Date:   2024-12-17 (Tue, 17 Dec 2024)

  Changed paths:
    M llvm/lib/Target/RISCV/RISCVSchedRocket.td
    M llvm/lib/Target/RISCV/RISCVSchedSyntacoreSCR345.td
    M llvm/lib/Target/RISCV/RISCVSchedSyntacoreSCR7.td
    M llvm/lib/Target/RISCV/RISCVSchedXiangShanNanHu.td
    M llvm/lib/Target/RISCV/RISCVSchedule.td

  Log Message:
  -----------
  [RISCV] Use inheritance to simplify usage of the UnsupportedSched* multiclasses. NFC (#120329)

Split UnsupportedSchedZfhmin from UnsupportedSchedZfh.
UnsupportedSchedZfhmin inherits from UnsupportedSchedZfh and should be
used when no F16 is supported. UnsupportedSchedZfh can be used direclty
for CPUs that support Zfhmin but not Zfh.

Make UnsupportedSchedF inherit from both UnsupportedSchedD and
UnsupportedSchedZfhmin so that CPUs with no FP only need to include
UnsupportedSchedF. This required some minor refactorings to
RISCVSchedSyntacoreSCR345.td. I've also switched to inheritance instead of
using defm.


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

  Changed paths:
    M llvm/lib/Target/X86/X86InstrAVX512.td
    M llvm/test/MC/X86/avx512gfni-att.s
    M llvm/test/MC/X86/avx512vl_gfni-att.s

  Log Message:
  -----------
  [X86] Correct the cdisp8 encoding for VGF2P8AFFINEINVQB and VGF2P8AFFINEQB. (#120340)

These instructions use a 64-bit broadcast size so the element size for
CD8 should be 64.


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

  Changed paths:
    R flang/include/flang/Lower/DirectivesCommon.h
    M flang/lib/Lower/Bridge.cpp
    A flang/lib/Lower/DirectivesCommon.h
    M flang/lib/Lower/OpenACC.cpp
    M flang/lib/Lower/OpenMP/ClauseProcessor.h
    M flang/lib/Lower/OpenMP/OpenMP.cpp
    M flang/lib/Lower/OpenMP/Utils.cpp
    M flang/lib/Optimizer/OpenMP/CMakeLists.txt
    M flang/lib/Optimizer/OpenMP/MapInfoFinalization.cpp
    R flang/test/Transforms/omp-map-info-finalization-implicit-field.fir
    M mlir/include/mlir/Dialect/OpenMP/OpenMPOpsInterfaces.td
    R offload/test/offloading/fortran/explicit-and-implicit-record-field-mapping.f90
    R offload/test/offloading/fortran/implicit-record-field-mapping.f90

  Log Message:
  -----------
  Revert "[flang][OpenMP] Implicitly map allocatable record fields (#117867)" (#120360)


  Commit: 55e87a79b9c3e0cb80503a4b6eec0fab404b2966
      https://github.com/llvm/llvm-project/commit/55e87a79b9c3e0cb80503a4b6eec0fab404b2966
  Author: Vitaly Buka <vitalybuka at google.com>
  Date:   2024-12-17 (Tue, 17 Dec 2024)

  Changed paths:
    M clang/lib/CodeGen/BackendUtil.cpp
    M llvm/include/llvm/Transforms/Instrumentation/BoundsChecking.h
    M llvm/lib/Passes/PassBuilder.cpp
    M llvm/lib/Passes/PassRegistry.def
    M llvm/lib/Transforms/Instrumentation/BoundsChecking.cpp
    A llvm/test/Instrumentation/BoundsChecking/runtimes.ll

  Log Message:
  -----------
  [BoundsChecking] Add parameters to pass (#119894)

This check is a part of UBSAN, but does not support
verbose output like other UBSAN checks.

This is a step to fix that.


  Commit: 4c6e13f64462872196fcb4828e68093c6db1af00
      https://github.com/llvm/llvm-project/commit/4c6e13f64462872196fcb4828e68093c6db1af00
  Author: David Truby <david.truby at arm.com>
  Date:   2024-12-18 (Wed, 18 Dec 2024)

  Changed paths:
    M flang/CMakeLists.txt

  Log Message:
  -----------
  [flang] Add cmake error if building with clang-cl and MSVC 17.12 (#120114)


  Commit: 67c55b1ffc0b09cac66d8b18ada1e876d9312173
      https://github.com/llvm/llvm-project/commit/67c55b1ffc0b09cac66d8b18ada1e876d9312173
  Author: Ruiling, Song <ruiling.song at amd.com>
  Date:   2024-12-18 (Wed, 18 Dec 2024)

  Changed paths:
    M llvm/lib/Target/AMDGPU/SIInstrInfo.cpp
    M llvm/lib/Target/AMDGPU/SIInstrInfo.h
    M llvm/lib/Target/AMDGPU/SIMachineFunctionInfo.cpp
    M llvm/lib/Target/AMDGPU/SIMachineFunctionInfo.h
    M llvm/test/CodeGen/AMDGPU/group-image-instructions.ll
    M llvm/test/CodeGen/MIR/AMDGPU/long-branch-reg-all-sgpr-used.ll
    M llvm/test/CodeGen/MIR/AMDGPU/machine-function-info-after-pei.ll
    M llvm/test/CodeGen/MIR/AMDGPU/machine-function-info-long-branch-reg-debug.ll
    M llvm/test/CodeGen/MIR/AMDGPU/machine-function-info-long-branch-reg.ll
    M llvm/test/CodeGen/MIR/AMDGPU/machine-function-info-no-ir.mir
    M llvm/test/CodeGen/MIR/AMDGPU/machine-function-info.ll

  Log Message:
  -----------
  [AMDGPU] Make max dwords of memory cluster configurable (#119342)

We find it helpful to increase the value for graphics workload. Make it
configurable so we can experiment with a different value.


  Commit: 1ef5b987a464611a60e873650726b5e02fda0feb
      https://github.com/llvm/llvm-project/commit/1ef5b987a464611a60e873650726b5e02fda0feb
  Author: Daniil Kovalev <dkovalev at accesssoftek.com>
  Date:   2024-12-18 (Wed, 18 Dec 2024)

  Changed paths:
    M lld/ELF/Arch/AArch64.cpp
    M lld/ELF/InputSection.cpp
    M lld/ELF/Relocations.cpp
    M lld/ELF/Relocations.h
    M lld/test/ELF/aarch64-got-relocations-pauth.s

  Log Message:
  -----------
  [PAC][lld][AArch64][ELF] Support signed GOT with tiny code model (#113816)

Depends on #114525

Support `R_AARCH64_AUTH_GOT_ADR_PREL_LO21` and `R_AARCH64_AUTH_GOT_LD_PREL19`
GOT-generating relocations. A corresponding `RE_AARCH64_AUTH_GOT_PC` member
of `RelExpr` is added, which is an AUTH-specific variant of `R_GOT_PC`.


  Commit: 99c2e3b78210a345afb1b5121f12b0e7bf923543
      https://github.com/llvm/llvm-project/commit/99c2e3b78210a345afb1b5121f12b0e7bf923543
  Author: Aaditya <115080342+easyonaadit at users.noreply.github.com>
  Date:   2024-12-18 (Wed, 18 Dec 2024)

  Changed paths:
    M llvm/test/CodeGen/AMDGPU/GlobalISel/dynamic-alloca-divergent.ll
    M llvm/test/CodeGen/AMDGPU/dynamic_stackalloc.ll

  Log Message:
  -----------
  [NFC][AMDGPU] Pre-commit clang and llvm tests for dynamic allocas (#120063)

For #119822


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

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

  Log Message:
  -----------
  [MachineSink] Use `RegisterClassInfo::getRegPressureSetLimit` (#119830)

`RegisterClassInfo::getRegPressureSetLimit` is a wrapper of
`TargetRegisterInfo::getRegPressureSetLimit` with some logics to
adjust the limit by removing reserved registers.

It seems that we shouldn't use
`TargetRegisterInfo::getRegPressureSetLimit`
directly, just like the comment "This limit must be adjusted
dynamically for reserved registers" said.

Separate from https://github.com/llvm/llvm-project/pull/118787


  Commit: d6e8ab1fa6a7a08d77c4c663ee494449b4b88bcd
      https://github.com/llvm/llvm-project/commit/d6e8ab1fa6a7a08d77c4c663ee494449b4b88bcd
  Author: Aaditya <115080342+easyonaadit at users.noreply.github.com>
  Date:   2024-12-18 (Wed, 18 Dec 2024)

  Changed paths:
    M llvm/test/CodeGen/AMDGPU/GlobalISel/dynamic-alloca-divergent.ll
    M llvm/test/CodeGen/AMDGPU/dynamic_stackalloc.ll

  Log Message:
  -----------
  Revert "[NFC][AMDGPU] Pre-commit clang and llvm tests for dynamic allocas" (#120369)

Reverts llvm/llvm-project#120063 due to build-bot failures


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

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

  Log Message:
  -----------
  [MachinePipeliner] Use `RegisterClassInfo::getRegPressureSetLimit` (#119827)

`RegisterClassInfo::getRegPressureSetLimit` is a wrapper of
`TargetRegisterInfo::getRegPressureSetLimit` with some logics to
adjust the limit by removing reserved registers.

It seems that we shouldn't use
`TargetRegisterInfo::getRegPressureSetLimit`
directly, just like the comment "This limit must be adjusted
dynamically for reserved registers" said.

Thus we should use `RegisterClassInfo::getRegPressureSetLimit` and
remove replicated code.

Separate from https://github.com/llvm/llvm-project/pull/118787


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

  Changed paths:
    M llvm/lib/Target/RISCV/RISCVFeatures.td
    M llvm/lib/Target/RISCV/RISCVInstrInfoD.td

  Log Message:
  -----------
  [RISCV] Add NoStdExtZfa predicates to BuildPairF64Pseudo and SplitF64Pseudo.

The makes the priority of the Zfa patterns of the pseudos explicit.
Previously the priority only worked because instructions with
usesCustomInserter=1 have lower priority.


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

  Changed paths:
    M llvm/lib/IR/LLVMContext.cpp

  Log Message:
  -----------
  LLVMContext: Cleanup registration of known bundle IDs (#120359)


  Commit: 44aa476aa1468adbbbca79cc77cfb5905f5fd3d6
      https://github.com/llvm/llvm-project/commit/44aa476aa1468adbbbca79cc77cfb5905f5fd3d6
  Author: David Truby <david.truby at arm.com>
  Date:   2024-12-18 (Wed, 18 Dec 2024)

  Changed paths:
    M flang/lib/Optimizer/CodeGen/Target.cpp
    A flang/test/Fir/struct-passing-aarch64-byval.fir

  Log Message:
  -----------
  [flang] AArch64 ABI for BIND(C) VALUE parameters (#118305)

This patch adds handling for derived type VALUE parameters in BIND(C)
functions for AArch64.


  Commit: b7a8d9584c787b95ddf6931e915fb643b28f91e1
      https://github.com/llvm/llvm-project/commit/b7a8d9584c787b95ddf6931e915fb643b28f91e1
  Author: hanbeom <kese111 at gmail.com>
  Date:   2024-12-18 (Wed, 18 Dec 2024)

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

  Log Message:
  -----------
  [VectorCombine] Combine scalar fneg with insert/extract to vector fneg when length is different (#115209)

insertelt DestVec, (fneg (extractelt SrcVec, Index)), Index
-> shuffle DestVec, (shuffle (fneg SrcVec), poison, SrcMask), Mask

Original combining left the combine between vectors of different lengths as a TODO.


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

  Changed paths:
    A flang/include/flang/Lower/DirectivesCommon.h
    M flang/lib/Lower/Bridge.cpp
    R flang/lib/Lower/DirectivesCommon.h
    M flang/lib/Lower/OpenACC.cpp
    M flang/lib/Lower/OpenMP/ClauseProcessor.h
    M flang/lib/Lower/OpenMP/OpenMP.cpp
    M flang/lib/Lower/OpenMP/Utils.cpp
    M flang/lib/Optimizer/OpenMP/CMakeLists.txt
    M flang/lib/Optimizer/OpenMP/MapInfoFinalization.cpp
    A flang/test/Transforms/omp-map-info-finalization-implicit-field.fir
    M mlir/include/mlir/Dialect/OpenMP/OpenMPOpsInterfaces.td
    A offload/test/offloading/fortran/explicit-and-implicit-record-field-mapping.f90
    A offload/test/offloading/fortran/implicit-record-field-mapping.f90

  Log Message:
  -----------
  Re-apply (#117867): [flang][OpenMP] Implicitly map allocatable record fields (#120374)

This re-applies #117867 with a small fix that hopefully prevents build
bot failures. The fix is avoiding `dyn_cast` for the result of
`getOperation()`. Instead we can assign the result to `mlir::ModuleOp`
directly since the type of the operation is known statically (`OpT` in
`OperationPass`).


  Commit: d9703501b037b012b887ceade77f6a7c392d0524
      https://github.com/llvm/llvm-project/commit/d9703501b037b012b887ceade77f6a7c392d0524
  Author: Florian Mayer <fmayer at google.com>
  Date:   2024-12-18 (Wed, 18 Dec 2024)

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

  Log Message:
  -----------
  [MTE] [NFC] use vector to collect globals to tag (#120283)

The same pattern caused test failures in the HWASan pass, so is brittle.
Let's go for the easier approach.


  Commit: ccb66bff3ccbaade2d2bc62985939866edb4f1f7
      https://github.com/llvm/llvm-project/commit/ccb66bff3ccbaade2d2bc62985939866edb4f1f7
  Author: Peter Smith <peter.smith at arm.com>
  Date:   2024-12-18 (Wed, 18 Dec 2024)

  Changed paths:
    M llvm/docs/Security.rst

  Log Message:
  -----------
  [DOCS] Rename LLVM Security Group to LLVM Security Response Group. (#116986)

Rename LLVM Security Group to LLVM Security Response Group. Take the
opportunity to canonicalise security group and Security Group to LLVM
Security Response Group.

At the 2024-11-19 LLVM Security Group meeting [1] we discussed that in
practice the LLVM Security Group was performing an incident response
role, but it was not proactively adding additional testing, fuzzing and
hardening. We do not want projects that use LLVM to see the LLVM
Security Group as guaranteeing security for LLVM.

We decided that it would be useful to rename the group to LLVM Security
Response Group as that reflects the work that it is doing.

There may be a case for a proactive security group with a different
remit, but this is out of scope of this commit.

[1]

https://discourse.llvm.org/t/llvm-security-group-public-sync-ups/62735/32


  Commit: 0e324b3f953d62527690b1cb44d95fcb3ec0512c
      https://github.com/llvm/llvm-project/commit/0e324b3f953d62527690b1cb44d95fcb3ec0512c
  Author: Peter Smith <peter.smith at arm.com>
  Date:   2024-12-18 (Wed, 18 Dec 2024)

  Changed paths:
    M llvm/docs/Security.rst

  Log Message:
  -----------
  [DOCS] Remove bullet point on improving security over time. (#116980)

Remove the 6th bullet point "Strive to improve security over time, for
example by adding additional testing, fuzzing and hardening after fixing
issues."

At the security group meeting on 2024-11-19 we discussed the role the
security group was performing in practice. We are in effect acting as a
security response group, dealing with issues raised via the process
given in the LLVM Security group page. We are not proactively adding
additional testing fuzzing and hardening. While this could be considered
an aspirational goal, it may give the implication that the LLVM Security
Group is handling or at worst guaranteeing security for the LLVM project
when in practice it is not.

Meeting notes:

https://discourse.llvm.org/t/llvm-security-group-public-sync-ups/62735/32


  Commit: 3bcfa1a579e7ab2c7a5051d897c572da05d83fd6
      https://github.com/llvm/llvm-project/commit/3bcfa1a579e7ab2c7a5051d897c572da05d83fd6
  Author: Nathan Gauër <brioche at google.com>
  Date:   2024-12-18 (Wed, 18 Dec 2024)

  Changed paths:
    M .ci/metrics/metrics.py

  Log Message:
  -----------
  [Github] Add LLVM Premerge Checks to the watchlist (#120230)

LLVM Premerge Checks is running on the new GCP cluster. Tracking its
metrics will allow us to determine the stability of the presubmit and
make sure the new infra is working as intended.

---------

Signed-off-by: Nathan Gauër <brioche at google.com>


  Commit: 3ed2a81358e11a582eb5cc3edf711447767036e6
      https://github.com/llvm/llvm-project/commit/3ed2a81358e11a582eb5cc3edf711447767036e6
  Author: Vyacheslav Levytskyy <vyacheslav.levytskyy at intel.com>
  Date:   2024-12-18 (Wed, 18 Dec 2024)

  Changed paths:
    M llvm/lib/Target/SPIRV/SPIRVBuiltins.cpp
    M llvm/lib/Target/SPIRV/SPIRVBuiltins.h
    M llvm/lib/Target/SPIRV/SPIRVEmitIntrinsics.cpp
    M llvm/lib/Target/SPIRV/SPIRVGlobalRegistry.cpp
    M llvm/lib/Target/SPIRV/SPIRVGlobalRegistry.h
    M llvm/lib/Target/SPIRV/SPIRVInstructionSelector.cpp
    M llvm/lib/Target/SPIRV/SPIRVLegalizerInfo.cpp
    M llvm/lib/Target/SPIRV/SPIRVUtils.cpp
    M llvm/lib/Target/SPIRV/SPIRVUtils.h

  Log Message:
  -----------
  [SPIR-V] Fix issue #120078 and simplifies parsing of floating point decoration tips in demangled function name (#120128)

This PR fixes https://github.com/llvm/llvm-project/issues/120078 and
improves/simplifies parsing of demangled function name that aims to
detect a tip for floating point decorations. The latter improvement
fixes also a complaint from `LLVM_USE_SANITIZER=Address`.


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

  Changed paths:
    M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
    M llvm/test/CodeGen/AArch64/illegal-floating-point-vector-compares.ll
    M llvm/test/CodeGen/AArch64/vecreduce-bool.ll
    M llvm/test/CodeGen/AArch64/vector-extract-last-active.ll

  Log Message:
  -----------
  [AArch64] Prevent unnecessary truncation in bool vector reduce code generation (#120096)

Prevent unnecessarily truncating results of 128 bit wide vector
comparisons to 64 bit wide vector values in boolean vector reduce
operations.


  Commit: 13107cb09441dfeab24fcbcae9f4d3ba4cfc2703
      https://github.com/llvm/llvm-project/commit/13107cb09441dfeab24fcbcae9f4d3ba4cfc2703
  Author: David Sherwood <david.sherwood at arm.com>
  Date:   2024-12-18 (Wed, 18 Dec 2024)

  Changed paths:
    M llvm/include/llvm/Transforms/Vectorize/LoopVectorize.h
    M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
    M llvm/test/Transforms/LoopVectorize/AArch64/simple_early_exit.ll
    M llvm/test/Transforms/LoopVectorize/early_exit_legality.ll
    M llvm/test/Transforms/LoopVectorize/multi_early_exit.ll
    M llvm/test/Transforms/LoopVectorize/multi_early_exit_live_outs.ll
    M llvm/test/Transforms/LoopVectorize/single_early_exit_live_outs.ll
    A llvm/test/Transforms/LoopVectorize/single_early_exit_with_outer_loop.ll

  Log Message:
  -----------
  [LoopVectorize] Enable more early exit vectorisation tests (#117008)

PR #112138 introduced initial support for dispatching to
multiple exit blocks via split middle blocks. This patch
fixes a few issues so that we can enable more tests to use
the new enable-early-exit-vectorization flag. Fixes are:

1. The code to bail out for any loop live-out values happens
too late. This is because collectUsersInExitBlocks ignores
induction variables, which get dealt with in fixupIVUsers.
I've moved the check much earlier in processLoop by looking
for outside users of loop-defined values.
2. We shouldn't yet be interleaving when vectorising loops
with uncountable early exits, since we've not added support
for this yet.
3. Similarly, we also shouldn't be creating vector epilogues.
4. Similarly, we shouldn't enable tail-folding.
5. The existing implementation doesn't yet support loops
that require scalar epilogues, although I plan to add that
as part of PR #88385.
6. The new split middle blocks weren't being added to the
parent loop.


  Commit: 1d4453a6711394b368995c0f761015c1f6d27250
      https://github.com/llvm/llvm-project/commit/1d4453a6711394b368995c0f761015c1f6d27250
  Author: jeanPerier <jperier at nvidia.com>
  Date:   2024-12-18 (Wed, 18 Dec 2024)

  Changed paths:
    M flang/lib/Optimizer/HLFIR/Transforms/LowerHLFIROrderedAssignments.cpp
    A flang/test/HLFIR/order_assignments/forall-issue120190.fir

  Log Message:
  -----------
  [flang][HLFIR] fix FORALL issue 120190 (#120236)

Fix #120190.

The hlfir.forall lowering code was not properly checking for forall
index reference in mask value computation before trying to hoist it: it
was only looking at the ops directly nested in the hlfir.forall_mask
region, but not the operation indirectly nested. This caused triggered
bogus hoisting in #120190 leading to undefined behavior (reference to
uinitialized data). The added regression test would die at compile time
with a dominance error.

Fix this by doing a deep walk of the region operation instead. Also
clean-up the region cloning to use without_terminator.


  Commit: 5fc8062f5d9b0c62bdb3c817182d7275d27f7527
      https://github.com/llvm/llvm-project/commit/5fc8062f5d9b0c62bdb3c817182d7275d27f7527
  Author: Elizaveta Noskova <159026035+enoskova-sc at users.noreply.github.com>
  Date:   2024-12-18 (Wed, 18 Dec 2024)

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

  Log Message:
  -----------
  [llvm][RISCV] Set ScalableVector stack id in proper place (#117862)

Without this patch ScalableVector frame index property is used before
assignment. More precisely, let's take a look at
RISCVFrameLowering::assignCalleeSavedSpillSlots. In this function we
divide callee saved registers on scalar and vector ones, based on
ScalableVector property of their frame indexes:
```
  ...
  const auto &UnmanagedCSI = getUnmanagedCSI(*MF, CSI);
  const auto &RVVCSI = getRVVCalleeSavedInfo(*MF, CSI);
  ...
```
But we assign ScalableVector property several lines below:
```
  ...
  auto storeRegToStackSlot = [&](decltype(UnmanagedCSI) CSInfo) {
    for (auto &CS : CSInfo) {
      // Insert the spill to the stack frame.
      Register Reg = CS.getReg();
      const TargetRegisterClass *RC = TRI->getMinimalPhysRegClass(Reg);
      TII.storeRegToStackSlot(MBB, MI, Reg, !MBB.isLiveIn(Reg),
                              CS.getFrameIdx(), RC, TRI, Register());
    }
  };
  storeRegToStackSlot(UnmanagedCSI);
  ...
```
Due to it, list of RVV callee saved registers will always be empty.
Currently this problem doesn't appear, but if you slightly change the
code and, for example, put some instructions between scalar and vector
spills, the resulting code will be ill formed.


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

  Changed paths:
    M llvm/test/Transforms/LoopVectorize/AArch64/simple_early_exit.ll

  Log Message:
  -----------
  [LV] Fixup check lines after 13107cb09441.


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

  Changed paths:
    M lldb/source/Host/posix/MainLoopPosix.cpp

  Log Message:
  -----------
  [lldb][NFC] clang-format MainLoopPosix.cpp

Since AIX support is about to change this.


  Commit: db93ef14aef9c572e02bc842762bc4d0278148f9
      https://github.com/llvm/llvm-project/commit/db93ef14aef9c572e02bc842762bc4d0278148f9
  Author: cor3ntin <corentinjabot at gmail.com>
  Date:   2024-12-18 (Wed, 18 Dec 2024)

  Changed paths:
    M clang-tools-extra/clangd/unittests/DumpASTTests.cpp
    M clang/docs/ReleaseNotes.rst
    M clang/include/clang/Sema/Sema.h
    M clang/lib/AST/Expr.cpp
    M clang/lib/Sema/SemaExprMember.cpp
    M clang/lib/Sema/SemaOverload.cpp
    M clang/lib/Sema/SemaStmt.cpp
    M clang/test/CXX/dcl.dcl/dcl.attr/dcl.attr.nodiscard/p2.cpp
    M clang/test/CXX/drs/cwg28xx.cpp
    M clang/test/CodeGenCXX/cxx2b-deducing-this.cpp
    M clang/test/SemaCXX/cxx2b-deducing-this.cpp
    M clang/test/SemaCXX/ms-property.cpp
    M clang/www/cxx_dr_status.html

  Log Message:
  -----------
  [Clang] Implement CWG2813: Class member access with prvalues (#120223)

This is a rebase of #95112 with my own feedback apply as @MitalAshok has
been inactive for a while.
It's fairly important this makes clang 20 as it is a blocker for #107451

--- 

[CWG2813](https://cplusplus.github.io/CWG/issues/2813.html)

prvalue.member_fn(expression-list) now will not materialize a temporary
for prvalue if member_fn is an explicit object member function, and
prvalue will bind directly to the object parameter.

The E1 in E1.static_member is now a discarded-value expression, so if E1
was a call to a [[nodiscard]] function, there will now be a warning.
This also affects C++98 with [[gnu::warn_unused_result]] functions.

This should not affect C where TemporaryMaterializationConversion is a
no-op.

Closes #100314
Fixes #100341

---------

Co-authored-by: Mital Ashok <mital at mitalashok.co.uk>


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

  Changed paths:
    M .git-blame-ignore-revs

  Log Message:
  -----------
  [lldb] Add lldb/source/Host/posix/MainLoopPosix.cpp to git blame ignores


  Commit: 1ee740a79620aa680f68d873d6a7b5cfa1df7b19
      https://github.com/llvm/llvm-project/commit/1ee740a79620aa680f68d873d6a7b5cfa1df7b19
  Author: Benjamin Maxwell <benjamin.maxwell at arm.com>
  Date:   2024-12-18 (Wed, 18 Dec 2024)

  Changed paths:
    M llvm/include/llvm/Analysis/VectorUtils.h
    A llvm/include/llvm/IR/VectorTypeUtils.h
    M llvm/lib/IR/CMakeLists.txt
    M llvm/lib/IR/VFABIDemangler.cpp
    A llvm/lib/IR/VectorTypeUtils.cpp
    M llvm/unittests/IR/CMakeLists.txt
    M llvm/unittests/IR/VFABIDemanglerTest.cpp
    A llvm/unittests/IR/VectorTypeUtilsTest.cpp

  Log Message:
  -----------
  [VFABI] Add support for vector functions that return struct types (#119000)

This patch updates the `VFABIDemangler` to support vector functions that
return struct types. For example, a vector variant of `sincos` that
returns a vector of sine values and a vector of cosine values within a
struct.

This patch also adds some helpers for vectorizing types (including
struct types). Some of these are used in the `VFABIDemangler`, and
others will be used in subsequent patches, so this patch simply adds
tests for them.


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

  Changed paths:
    M llvm/lib/Target/X86/X86ISelLowering.cpp
    M llvm/test/CodeGen/X86/avx512-bugfix-26264.ll
    M llvm/test/CodeGen/X86/avx512-masked-memop-64-32.ll
    M llvm/test/CodeGen/X86/pr33349.ll
    M llvm/test/CodeGen/X86/pr34177.ll
    M llvm/test/CodeGen/X86/vec_smulo.ll
    M llvm/test/CodeGen/X86/vec_umulo.ll
    M llvm/test/CodeGen/X86/vector-compress.ll
    M llvm/test/CodeGen/X86/vector-replicaton-i1-mask.ll

  Log Message:
  -----------
  [X86] combineKSHIFT - fold kshiftr(kshiftr/extract_subvector(X,C1),C2) --> kshiftr(X,C1+C2) (#115528)

Merge serial KSHIFTR nodes, possibly separated by EXTRACT_SUBVECTOR, to allow mask instructions to be computed in parallel.


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

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

  Log Message:
  -----------
  [gn build] Port 1ee740a79620


  Commit: 7e49ada9a3c0f8228c79de7f65d3255916087bb0
      https://github.com/llvm/llvm-project/commit/7e49ada9a3c0f8228c79de7f65d3255916087bb0
  Author: Vladislav Khmelevsky <och95 at yandex.ru>
  Date:   2024-12-18 (Wed, 18 Dec 2024)

  Changed paths:
    M .github/CODEOWNERS

  Log Message:
  -----------
  [github/CODEOWNERS] Add yota9 as BOLT reviewer


  Commit: f8d270474c14c6705c77971494505dbe4b6d55ae
      https://github.com/llvm/llvm-project/commit/f8d270474c14c6705c77971494505dbe4b6d55ae
  Author: Vladi Krapp <vladi.krapp at arm.com>
  Date:   2024-12-18 (Wed, 18 Dec 2024)

  Changed paths:
    M llvm/lib/Target/ARM/ARMTargetTransformInfo.cpp
    M llvm/test/Transforms/LoopUnroll/ARM/lob-unroll.ll

  Log Message:
  -----------
  [ARM] Reduce loop unroll when low overhead branching is available (#120065)

For processors with low overhead branching (LOB), runtime unrolling the
innermost loop is often detrimental to performance. In these cases the
loop remainder gets unrolled into a series of compare-and-jump blocks,
which in deeply nested loops get executed multiple times, negating the
benefits of LOB.

This is particularly noticable when the loop trip count of the innermost
loop varies within the outer loop, such as in the case of triangular
matrix decompositions.

In these cases we will prefer to not unroll the innermost loop, with the
intention for it to be executed as a low overhead loop.


  Commit: b3eede5e1fa7ab742b86e9be22db7bccd2505b8a
      https://github.com/llvm/llvm-project/commit/b3eede5e1fa7ab742b86e9be22db7bccd2505b8a
  Author: Nicholas Guy <nicholas.guy at arm.com>
  Date:   2024-12-18 (Wed, 18 Dec 2024)

  Changed paths:
    M llvm/include/llvm/CodeGen/ComplexDeinterleavingPass.h
    M llvm/lib/CodeGen/ComplexDeinterleavingPass.cpp
    M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
    A llvm/test/CodeGen/AArch64/complex-deinterleaving-cdot.ll

  Log Message:
  -----------
  Add support for single reductions in ComplexDeinterleavingPass (#112875)

The Complex Deinterleaving pass assumes that all values emitted will
result in complex numbers, this patch aims to remove that assumption and
adds support for emitting just the real or imaginary components, not
both.


  Commit: 9daf10ff8f29ba3a88a105aaa9d2379c21b77d35
      https://github.com/llvm/llvm-project/commit/9daf10ff8f29ba3a88a105aaa9d2379c21b77d35
  Author: Oleksandr T. <oleksandr.tarasiuk at outlook.com>
  Date:   2024-12-18 (Wed, 18 Dec 2024)

  Changed paths:
    M clang/docs/ReleaseNotes.rst
    M clang/lib/Sema/SemaTemplateInstantiateDecl.cpp
    M clang/test/CXX/temp/temp.res/p4.cpp
    M clang/test/CodeGenCXX/default-arguments.cpp

  Log Message:
  -----------
  Reland [Clang] skip default argument instantiation for non-defining friend declarations to meet [dcl.fct.default] p4 (#115487)

This fixes a crash when instantiating default arguments for templated
friend function declarations which lack a definition.
There are implementation limits which prevents us from finding the
pattern for such functions, and this causes difficulties
setting up the instantiation scope for the function parameters.

This patch skips instantiating the default argument in these cases,
which causes a minor regression in error recovery, but otherwise avoids
the crash.

The previous attempt #113777 accidentally skipped all default argument
constructions, causing some regressions. This patch resolves that by
moving the guard to InstantiateDefaultArgument() where the handling of
templates takes place.

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


  Commit: 414c462a839edbcbed217b8d695e71f2ede7f952
      https://github.com/llvm/llvm-project/commit/414c462a839edbcbed217b8d695e71f2ede7f952
  Author: Aaditya <115080342+easyonaadit at users.noreply.github.com>
  Date:   2024-12-18 (Wed, 18 Dec 2024)

  Changed paths:
    M llvm/test/CodeGen/AMDGPU/GlobalISel/dynamic-alloca-divergent.ll

  Log Message:
  -----------
  [AMDGPU] Modify Dyn Alloca test to account for Machine-Verifier bug (#120393)

Machine-Verifier crashes in kernel functions, 
but fails gracefully in device functions.

This is due to the buffer resource descriptor selected
during G-ISEL, before the fallback path. 
Device functions use `$sgpr0_sgpr1_sgpr2_sgpr3`.
while Kernel functions select `$private_rsrc_reg` 
where machine-verifier complains: 
`$private_rsrc_reg is not a SReg_128 register.`

Modifying test case to capture both behaviors, this is related to
https://github.com/llvm/llvm-project/pull/120063


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

  Changed paths:
    M clang-tools-extra/clang-tidy/misc/IncludeCleanerCheck.cpp
    M clang-tools-extra/clang-tidy/readability/InconsistentDeclarationParameterNameCheck.h
    M clang-tools-extra/docs/ReleaseNotes.rst
    M clang-tools-extra/test/clang-tidy/checkers/bugprone/argument-comment-strict.cpp
    M clang-tools-extra/test/clang-tidy/checkers/cppcoreguidelines/pro-type-const-cast.cpp
    M clang-tools-extra/test/clang-tidy/checkers/cppcoreguidelines/pro-type-static-cast-downcast.cpp
    M clang-tools-extra/test/clang-tidy/checkers/misc/unused-parameters-strict.cpp
    M clang-tools-extra/test/clang-tidy/checkers/modernize/use-std-format.cpp
    M clang-tools-extra/test/clang-tidy/checkers/modernize/use-std-print-absl.cpp
    M clang-tools-extra/test/clang-tidy/checkers/modernize/use-std-print.cpp
    M clang-tools-extra/unittests/clang-tidy/IncludeCleanerTest.cpp

  Log Message:
  -----------
  [clang-tidy] use local config (#120004)

follow up patch for #119948.


  Commit: 41c1992a16997229469aa08bc195919e96d18211
      https://github.com/llvm/llvm-project/commit/41c1992a16997229469aa08bc195919e96d18211
  Author: Mikhail Goncharov <goncharov.mikhail at gmail.com>
  Date:   2024-12-18 (Wed, 18 Dec 2024)

  Changed paths:
    M llvm/test/CodeGen/NVPTX/nvcl-param-align.ll

  Log Message:
  -----------
  [NVPTX] fix nvcl-param-align.ll

fix for f9c8c01d38f8fbea81db99ab90b7d0f2bdcc8b4d


  Commit: 7384d8bc18535286a24b4422f6661109d127e8fd
      https://github.com/llvm/llvm-project/commit/7384d8bc18535286a24b4422f6661109d127e8fd
  Author: NAKAMURA Takumi <geek4civic at gmail.com>
  Date:   2024-12-18 (Wed, 18 Dec 2024)

  Changed paths:
    M llvm/tools/llvm-cov/SourceCoverageViewHTML.cpp

  Log Message:
  -----------
  SourceCoverageViewHTML.cpp: Reformat JS


  Commit: 5a5838fba37153adb7885c897131dda09227eb2d
      https://github.com/llvm/llvm-project/commit/5a5838fba37153adb7885c897131dda09227eb2d
  Author: NAKAMURA Takumi <geek4civic at gmail.com>
  Date:   2024-12-18 (Wed, 18 Dec 2024)

  Changed paths:
    M clang/lib/CodeGen/CoverageMappingGen.cpp
    M llvm/include/llvm/ProfileData/Coverage/CoverageMapping.h

  Log Message:
  -----------
  Introduce CounterMappingRegion::isBranch(). NFC.


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

  Changed paths:
    M llvm/tools/llvm-cov/SourceCoverageViewHTML.cpp
    M llvm/tools/llvm-cov/SourceCoverageViewText.cpp

  Log Message:
  -----------
  llvm-cov: Refactor SourceCoverageView::renderBranchView().

NFC except for calculating `Total`. I've replaced
`(uint64_t)+(uint64_t)` with `(double)+(double)`.

This is still inexact with large numbers `(1LL << 53)` but will be expected to prevent possible overflow.


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

  Changed paths:
    M llvm/lib/Analysis/ScalarEvolution.cpp
    A llvm/test/Analysis/LoopAccessAnalysis/nusw-predicates.ll

  Log Message:
  -----------
  [SCEV] Bail out on mixed int/pointer in SCEVWrapPredicate::implies.

Fixes a crash when trying to extend the pointer start value to a narrow
integer type after b6c29fdffd65.


  Commit: 9826201093f047164733982492e25151b28404df
      https://github.com/llvm/llvm-project/commit/9826201093f047164733982492e25151b28404df
  Author: Jan Patrick Lehr <JanPatrick.Lehr at amd.com>
  Date:   2024-12-18 (Wed, 18 Dec 2024)

  Changed paths:
    M llvm/lib/IR/LLVMContext.cpp

  Log Message:
  -----------
  LLVMContext: rem constexpr to unblock build w/ gcc (#120402)

Address issues observed in buildbots with older GCC versions:
https://lab.llvm.org/buildbot/#/builders/140/builds/13302


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

  Changed paths:
    M llvm/lib/Target/X86/X86ISelLowering.cpp
    M llvm/test/CodeGen/X86/vec_shift6.ll
    M llvm/test/CodeGen/X86/vector-fshl-sub128.ll
    M llvm/test/CodeGen/X86/vector-fshr-sub128.ll

  Log Message:
  -----------
  [X86] LowerShift - track the number and location of constant shift elements. (#120270)

We have several vector shift lowering strategies that have to analyse
the distribution of non-uniform constant vector shift amounts, at the
moment there is very little sharing of data between these analysis.

This patch creates a SmallDenseMap of the different LEGAL constant shift
amounts used, with a mask of which elements they are used in. So far
I've only updated the shuffle(immshift(x,c1),immshift(x,c2)) lowering
pattern to use it for clarity, there's several more that can be done in
followups. Its hoped that the proposed patch #117980 can be simplified
after this patch as well.

vec_shift6.ll - the existing shuffle(immshift(x,c1),immshift(x,c2))
lowering bails on out of range shift amounts, while this patch now skips
them and treats them as UNDEF - this means we manage to fold more cases
that before would have to lower to a SHL->MUL pattern, including some
legalized cases.


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

  Changed paths:
    M llvm/test/CodeGen/AMDGPU/GlobalISel/inst-select-ashr.s16.mir
    M llvm/test/CodeGen/AMDGPU/GlobalISel/inst-select-ctpop.mir
    M llvm/test/CodeGen/AMDGPU/GlobalISel/inst-select-lshr.s16.mir
    M llvm/test/CodeGen/AMDGPU/GlobalISel/inst-select-shl.s16.mir
    M llvm/test/CodeGen/AMDGPU/GlobalISel/xnor.ll
    M llvm/test/CodeGen/AMDGPU/constrained-shift.ll
    M llvm/test/CodeGen/AMDGPU/integer-mad-patterns.ll
    M llvm/utils/TableGen/GlobalISelEmitter.cpp

  Log Message:
  -----------
  [TableGen][GISel] Import more "multi-level" patterns (#120332)

Previously, if the destination DAG has an untyped leaf, we would import
the pattern only if that leaf is defined by the *top-level* source DAG.
This is an unnecessary restriction.

Here is an example of such pattern:
```
def : Pat<(add (mul v8i16:$vA, v8i16:$vB), v8i16:$vC),
          (VMLADDUHM $vA, $vB, $vC)>;
```

Previously, it failed to import because `add` doesn't define neither
`$vA` nor `$vB`.

This change reduces the number of skipped patterns as follows:

```
AArch64: 8695 ->  8548 (-147)
AMDGPU: 11333 -> 11240 (-93)
ARM:     4297 ->  4278 (-1)
PowerPC: 3955 ->  3010 (-945)
```

Other GISel-enabled targets are unaffected.


  Commit: 3146911eb0eee821535444aa207a4ec5020c9c6a
      https://github.com/llvm/llvm-project/commit/3146911eb0eee821535444aa207a4ec5020c9c6a
  Author: Paul Walker <paul.walker at arm.com>
  Date:   2024-12-18 (Wed, 18 Dec 2024)

  Changed paths:
    M llvm/lib/CodeGen/AsmPrinter/AsmPrinter.cpp
    M llvm/lib/IR/Constants.cpp
    M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-splat-vector.ll

  Log Message:
  -----------
  [LLVM][AsmPrinter] Add vector ConstantInt/FP support to emitGlobalConstantImpl. (#120077)

The fixes a failure path for fixed length vector globals when
ConstantInt/FP is used to represent splats instead of
ConstantDataVector.


  Commit: bc3eee11ea6f771bf007c4921a34c1dfee040471
      https://github.com/llvm/llvm-project/commit/bc3eee11ea6f771bf007c4921a34c1dfee040471
  Author: AnastasiyaChernikova <anastasiya.chernikova at syntacore.com>
  Date:   2024-12-18 (Wed, 18 Dec 2024)

  Changed paths:
    A llvm/test/tools/llvm-exegesis/RISCV/latency-by-extension-A.s
    A llvm/test/tools/llvm-exegesis/RISCV/latency-by-extension-C.s
    A llvm/test/tools/llvm-exegesis/RISCV/latency-by-opcode-name-FADD_D.s
    M llvm/tools/llvm-exegesis/lib/CMakeLists.txt
    M llvm/tools/llvm-exegesis/lib/MCInstrDescView.cpp
    M llvm/tools/llvm-exegesis/lib/MCInstrDescView.h
    A llvm/tools/llvm-exegesis/lib/RISCV/CMakeLists.txt
    A llvm/tools/llvm-exegesis/lib/RISCV/Target.cpp
    M llvm/tools/llvm-exegesis/lib/SerialSnippetGenerator.cpp
    M llvm/tools/llvm-exegesis/lib/SnippetFile.cpp
    M llvm/tools/llvm-exegesis/lib/SnippetGenerator.cpp
    M llvm/tools/llvm-exegesis/llvm-exegesis.cpp

  Log Message:
  -----------
  [Exegesis][RISCV] Add RISCV support for llvm-exegesis (#89047)

This patch also makes following amendments to core exegesis:
* Added distinction between regular registers aliasing check and
registers used as memory address in instruction.
* Added scratch memory space pointer register.
* General exegesis options were amended:
        * mattr - new option to pass a list of enabled target features

Llvm-exegesis RISCV port is a result of team effort. Below everyone
involved listed.
Co-authored-by: Konstantin Vladimirov
<konstantin.vladimirov at syntacore.com>
Co-authored-by: Dmitrii Petrov <dmitrii.petrov at syntacore.com>
Co-authored-by: Dmitry Bushev <dmitry.bushev at syntacore.com>
Co-authored-by: Mark Goncharov <mark.goncharov at syntacore.com>
Co-authored-by: Anastasiya Chernikova
<anastasiya.chernikova at syntacore.com>

---------

Co-authored-by: Dmitry Bushev <dmitry.bushev at syntacore.com>


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

  Changed paths:
    M llvm/test/CodeGen/X86/urem-seteq-illegal-types.ll

  Log Message:
  -----------
  [X86] urem-seteq-illegal-types.ll - regenerate VPTERNLOG comment


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

  Changed paths:
    M llvm/tools/llvm-exegesis/lib/SerialSnippetGenerator.cpp

  Log Message:
  -----------
  Fix unused variable warning. NFC.


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

  Changed paths:
    R llvm/test/tools/llvm-exegesis/RISCV/latency-by-extension-A.s
    R llvm/test/tools/llvm-exegesis/RISCV/latency-by-extension-C.s
    R llvm/test/tools/llvm-exegesis/RISCV/latency-by-opcode-name-FADD_D.s
    M llvm/tools/llvm-exegesis/lib/CMakeLists.txt
    M llvm/tools/llvm-exegesis/lib/MCInstrDescView.cpp
    M llvm/tools/llvm-exegesis/lib/MCInstrDescView.h
    R llvm/tools/llvm-exegesis/lib/RISCV/CMakeLists.txt
    R llvm/tools/llvm-exegesis/lib/RISCV/Target.cpp
    M llvm/tools/llvm-exegesis/lib/SerialSnippetGenerator.cpp
    M llvm/tools/llvm-exegesis/lib/SnippetFile.cpp
    M llvm/tools/llvm-exegesis/lib/SnippetGenerator.cpp
    M llvm/tools/llvm-exegesis/llvm-exegesis.cpp

  Log Message:
  -----------
  Revert "[Exegesis][RISCV] Add RISCV support for llvm-exegesis (#89047)"

This reverts commit bc3eee11ea6f771bf007c4921a34c1dfee040471.

These tests are failing because of no `REQUIRES`.


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

  Changed paths:
    M llvm/lib/Target/Xtensa/AsmParser/XtensaAsmParser.cpp
    M llvm/lib/Target/Xtensa/Disassembler/XtensaDisassembler.cpp
    M llvm/lib/Target/Xtensa/MCTargetDesc/XtensaAsmBackend.cpp
    M llvm/lib/Target/Xtensa/MCTargetDesc/XtensaInstPrinter.cpp
    M llvm/lib/Target/Xtensa/MCTargetDesc/XtensaInstPrinter.h
    M llvm/lib/Target/Xtensa/MCTargetDesc/XtensaMCCodeEmitter.cpp
    M llvm/lib/Target/Xtensa/XtensaISelDAGToDAG.cpp
    M llvm/lib/Target/Xtensa/XtensaISelLowering.cpp
    M llvm/lib/Target/Xtensa/XtensaInstrInfo.td
    M llvm/lib/Target/Xtensa/XtensaOperands.td
    A llvm/test/MC/Disassembler/Xtensa/code_density.txt
    A llvm/test/MC/Disassembler/Xtensa/lit.local.cfg
    M llvm/test/MC/Xtensa/Relocations/fixups.s
    M llvm/test/MC/Xtensa/Relocations/relocations.s
    A llvm/test/MC/Xtensa/code_density-invalid.s
    A llvm/test/MC/Xtensa/code_density.s

  Log Message:
  -----------
  [Xtensa] Implement Code Density Option. (#119639)

The Code Density option adds 16-bit encoding for frequently used
instructions.


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

  Changed paths:
    M llvm/lib/Transforms/InstCombine/InstCombineAndOrXor.cpp
    M llvm/test/Transforms/InstCombine/icmp-logical.ll

  Log Message:
  -----------
  [InstCombine] Drop samesign flags in `foldLogOpOfMaskedICmps_NotAllZeros_BMask_Mixed` (#120373)

Counterexamples: https://alive2.llvm.org/ce/z/6Ks8Qz
Closes https://github.com/llvm/llvm-project/issues/120361.


  Commit: 0c6860622c249ae7adc784c66a8d0b1335a9e7df
      https://github.com/llvm/llvm-project/commit/0c6860622c249ae7adc784c66a8d0b1335a9e7df
  Author: Dhruv Srivastava <dhruv.srivastava at ibm.com>
  Date:   2024-12-18 (Wed, 18 Dec 2024)

  Changed paths:
    M lldb/source/Plugins/ObjectFile/XCOFF/ObjectFileXCOFF.cpp
    M lldb/source/Plugins/ObjectFile/XCOFF/ObjectFileXCOFF.h
    M lldb/test/Shell/ObjectFile/XCOFF/basic-info.yaml

  Log Message:
  -----------
  [lldb][AIX] Header Parsing for XCOFF Object File in AIX (#116338)

This PR is in reference to porting LLDB on AIX.

Link to discussions on llvm discourse and github:
1. https://discourse.llvm.org/t/port-lldb-to-ibm-aix/80640
2. https://github.com/llvm/llvm-project/issues/101657
The complete changes for porting are present in this draft PR:
https://github.com/llvm/llvm-project/pull/102601

Added XCOFF Object File Header Parsing for AIX.

Details about XCOFF file format on AIX:
[XCOFF](https://www.ibm.com/docs/en/aix/7.3?topic=formats-xcoff-object-file-format)


  Commit: 0446990cc7af4e2b794660a98214edb401d6c50a
      https://github.com/llvm/llvm-project/commit/0446990cc7af4e2b794660a98214edb401d6c50a
  Author: Aaditya <115080342+easyonaadit at users.noreply.github.com>
  Date:   2024-12-18 (Wed, 18 Dec 2024)

  Changed paths:
    M llvm/test/CodeGen/AMDGPU/GlobalISel/dynamic-alloca-divergent.ll
    M llvm/test/CodeGen/AMDGPU/dynamic_stackalloc.ll

  Log Message:
  -----------
  Reapply "[NFC][AMDGPU] Pre-commit clang and llvm tests for dynamic allocas" (#120410)

This reapplies commit https://github.com/llvm/llvm-project/pull/120063.

A machine-verifier bug was causing a crash in the previous commit. 
This has been addressed in
https://github.com/llvm/llvm-project/pull/120393.


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

  Changed paths:
    M llvm/test/MC/AMDGPU/gfx950_asm_read_tr.s
    M llvm/test/MC/AMDGPU/gfx950_asm_vop1_dpp16.s
    M llvm/test/MC/AMDGPU/gfx950_asm_vop3.s
    M llvm/test/MC/AMDGPU/gfx950_invalid_encoding.txt
    M llvm/test/MC/Disassembler/AMDGPU/gfx950_dasm_ds_read_tr.txt
    M llvm/test/MC/Disassembler/AMDGPU/gfx950_dasm_vop1.txt
    M llvm/test/MC/Disassembler/AMDGPU/gfx950_dasm_vop3.txt
    M llvm/test/MC/Disassembler/AMDGPU/gfx950_dasm_xdlops.txt

  Log Message:
  -----------
  [AMDGPU] Use -triple instead of -arch in MC tests


  Commit: e7303fe80a0bea124422219356c1c9e845110a77
      https://github.com/llvm/llvm-project/commit/e7303fe80a0bea124422219356c1c9e845110a77
  Author: Oliver Stannard <oliver.stannard at arm.com>
  Date:   2024-12-18 (Wed, 18 Dec 2024)

  Changed paths:
    M llvm/utils/extract_symbols.py

  Log Message:
  -----------
  [Python] Use raw string literals for regexes (#120401)

Previously these backslashes were not followed by a valid escape
sequence character so were treated as literal backslashes, which was the
intended behaviour of the code. However python as of 3.12 has started
warning about these, so we should use raw string literals for regexes so
that backslashes are always interpreted literally. I've done this for
every regex in this file for consistency, including the ones which do
not contain backslashes.


  Commit: 4b56345895729fda3bc3c094bc3f237ba3a49686
      https://github.com/llvm/llvm-project/commit/4b56345895729fda3bc3c094bc3f237ba3a49686
  Author: Kunwar Grover <groverkss at gmail.com>
  Date:   2024-12-18 (Wed, 18 Dec 2024)

  Changed paths:
    M mlir/include/mlir/Dialect/SCF/Transforms/TileUsingInterface.h
    M mlir/lib/Dialect/Linalg/TransformOps/LinalgTransformOps.cpp
    M mlir/lib/Dialect/SCF/Transforms/TileUsingInterface.cpp
    M mlir/test/lib/Interfaces/TilingInterface/TestTilingInterfaceTransformOps.cpp

  Log Message:
  -----------
  [mlir][SCF] Unify tileUsingFor and tileReductionUsingFor implementation (#120115)

This patch unifies the tiling implementation for tileUsingFor and
tileReductionUsingFor. This is done by passing an addition option to
SCFTilingOptions, allowing it to set how reduction dimensions should be
tiled. Currently, there are 3 different options for reduction tiling:
FullReduction (old tileUsingFor), PartialReductionOuterReduction (old
tileReductionUsingFor) and PartialReductionOuterParallel
(linalg::tileReductionUsingForall, this isn't implemented in this
patch).

The patch makes tileReductionUsingFor use the tileUsingFor
implementation with the new reduction tiling options.

There are no test changes because the implementation was doing almost
the exactly same thing. This was also tested in IREE (which uses both
these APIs heavily) and there were no test changes.


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

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

  Log Message:
  -----------
  Revert "[VectorCombine] Combine scalar fneg with insert/extract to vector fneg when length is different" (#120422)

Reverts llvm/llvm-project#115209 - investigating a reported regression


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

  Changed paths:
    M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
    M llvm/test/Transforms/LoopVectorize/early_exit_legality.ll
    M llvm/test/Transforms/LoopVectorize/single_early_exit_live_outs.ll

  Log Message:
  -----------
  [VPlan] Handle exit phis with multiple operands in addUsersInExitBlocks. (#120260)

Currently the addUsersInExitBlocks incorrectly assumes exit phis only
have a single operand, which may not be the case for loops with early
exits when they share a common exit block.

Also further relax the assertion in fixupIVUsers to allow exit values if
they come from theloop latch/middle.block.

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


  Commit: 6f0e9c4a5611d21cbcac4bb4f16dc90674838e1e
      https://github.com/llvm/llvm-project/commit/6f0e9c4a5611d21cbcac4bb4f16dc90674838e1e
  Author: Akash Banerjee <akash.banerjee at amd.com>
  Date:   2024-12-18 (Wed, 18 Dec 2024)

  Changed paths:
    M clang/lib/CodeGen/CGOpenMPRuntime.cpp
    M clang/lib/CodeGen/CGOpenMPRuntime.h
    M clang/test/OpenMP/declare_mapper_codegen.cpp
    M clang/test/OpenMP/target_map_names.cpp
    M clang/test/OpenMP/target_map_names_attr.cpp
    M clang/test/OpenMP/target_map_nest_defalut_mapper_codegen.cpp
    M llvm/include/llvm/Frontend/OpenMP/OMPIRBuilder.h
    M llvm/lib/Frontend/OpenMP/OMPIRBuilder.cpp

  Log Message:
  -----------
  [OpenMP][Clang] Migrate OpenMP UserDefinedMapper from Clang to OMPIRBuilder (#110001)

This patch migrates the OpenMP UserDefinedMapper codegen from Clang to
the OpenMPIRBuilder. I will be adding further patches in the near future
so that OpenMP dialect in MLIR can make use of these.


  Commit: fc97d2e68b03bc2979395e84b645e5b3ba35aecd
      https://github.com/llvm/llvm-project/commit/fc97d2e68b03bc2979395e84b645e5b3ba35aecd
  Author: Peter Klausler <pklausler at nvidia.com>
  Date:   2024-12-18 (Wed, 18 Dec 2024)

  Changed paths:
    M clang/include/clang/Driver/Options.td
    M clang/lib/Driver/ToolChains/Flang.cpp
    M flang/docs/Extensions.md
    A flang/docs/Unsigned.md
    M flang/docs/index.md
    M flang/include/flang/Common/Fortran-consts.h
    M flang/include/flang/Common/Fortran-features.h
    M flang/include/flang/Common/Fortran.h
    M flang/include/flang/Evaluate/complex.h
    M flang/include/flang/Evaluate/expression.h
    M flang/include/flang/Evaluate/fold.h
    M flang/include/flang/Evaluate/integer.h
    M flang/include/flang/Evaluate/real.h
    M flang/include/flang/Evaluate/tools.h
    M flang/include/flang/Evaluate/type.h
    M flang/include/flang/ISO_Fortran_binding.h
    M flang/include/flang/Optimizer/Builder/FIRBuilder.h
    M flang/include/flang/Optimizer/Builder/Runtime/RTBuilder.h
    M flang/include/flang/Optimizer/Dialect/CanonicalizationPatterns.td
    M flang/include/flang/Optimizer/Dialect/FIROps.td
    M flang/include/flang/Optimizer/Dialect/FIRTypes.td
    M flang/include/flang/Optimizer/Support/Utils.h
    M flang/include/flang/Parser/dump-parse-tree.h
    M flang/include/flang/Parser/parse-tree.h
    M flang/include/flang/Runtime/cpp-type.h
    M flang/include/flang/Runtime/matmul-instances.inc
    M flang/include/flang/Runtime/numeric.h
    M flang/include/flang/Runtime/reduce.h
    M flang/include/flang/Runtime/reduction.h
    M flang/include/flang/Semantics/expression.h
    M flang/lib/Common/Fortran-features.cpp
    M flang/lib/Common/default-kinds.cpp
    M flang/lib/Evaluate/expression.cpp
    M flang/lib/Evaluate/fold-implementation.h
    M flang/lib/Evaluate/fold-integer.cpp
    M flang/lib/Evaluate/fold-logical.cpp
    M flang/lib/Evaluate/fold-matmul.h
    M flang/lib/Evaluate/fold-reduction.h
    M flang/lib/Evaluate/formatting.cpp
    M flang/lib/Evaluate/intrinsics.cpp
    M flang/lib/Evaluate/target.cpp
    M flang/lib/Evaluate/tools.cpp
    M flang/lib/Evaluate/type.cpp
    M flang/lib/Frontend/CompilerInvocation.cpp
    M flang/lib/Lower/Bridge.cpp
    M flang/lib/Lower/ConvertConstant.cpp
    M flang/lib/Lower/ConvertExpr.cpp
    M flang/lib/Lower/ConvertExprToHLFIR.cpp
    M flang/lib/Lower/ConvertType.cpp
    M flang/lib/Lower/IO.cpp
    M flang/lib/Lower/Mangler.cpp
    M flang/lib/Optimizer/Builder/IntrinsicCall.cpp
    M flang/lib/Optimizer/Builder/Runtime/Reduction.cpp
    M flang/lib/Optimizer/Builder/Runtime/Transformational.cpp
    M flang/lib/Optimizer/CodeGen/CodeGen.cpp
    M flang/lib/Optimizer/Dialect/FIRType.cpp
    M flang/lib/Parser/Fortran-parsers.cpp
    M flang/lib/Parser/type-parsers.h
    M flang/lib/Semantics/check-arithmeticif.cpp
    M flang/lib/Semantics/check-case.cpp
    M flang/lib/Semantics/expression.cpp
    M flang/lib/Semantics/resolve-names.cpp
    M flang/lib/Semantics/scope.cpp
    M flang/lib/Semantics/tools.cpp
    M flang/module/iso_c_binding.f90
    M flang/module/iso_fortran_env.f90
    M flang/module/iso_fortran_env_impl.f90
    M flang/runtime/Float128Math/random.cpp
    M flang/runtime/descriptor-io.h
    M flang/runtime/dot-product.cpp
    M flang/runtime/edit-input.cpp
    M flang/runtime/edit-input.h
    M flang/runtime/edit-output.cpp
    M flang/runtime/edit-output.h
    M flang/runtime/extrema.cpp
    M flang/runtime/findloc.cpp
    M flang/runtime/io-api-minimal.cpp
    M flang/runtime/matmul.cpp
    M flang/runtime/numeric.cpp
    M flang/runtime/product.cpp
    M flang/runtime/random-templates.h
    M flang/runtime/random.cpp
    M flang/runtime/reduce.cpp
    M flang/runtime/reduction-templates.h
    M flang/runtime/reduction.cpp
    M flang/runtime/sum.cpp
    M flang/runtime/tools.h
    M flang/runtime/type-code.cpp
    M flang/runtime/type-info.cpp
    A flang/test/Evaluate/fold-unsigned.f90
    M flang/test/Lower/Intrinsics/shifta.f90
    M flang/test/Lower/allocatable-polymorphic.f90
    A flang/test/Lower/unsigned-ops.f90
    M flang/test/Semantics/complex01.f90
    M flang/test/Semantics/typeinfo01.f90
    M flang/test/Semantics/typeinfo08.f90
    A flang/test/Semantics/unsigned-errors.f90
    M flang/unittests/Evaluate/real.cpp

  Log Message:
  -----------
  [flang] Add UNSIGNED (#113504)

Implement the UNSIGNED extension type and operations under control of a
language feature flag (-funsigned).

This is nearly identical to the UNSIGNED feature that has been available
in Sun Fortran for years, and now implemented in GNU Fortran for
gfortran 15, and proposed for ISO standardization in J3/24-116.txt.

See the new documentation for details; but in short, this is C's
unsigned type, with guaranteed modular arithmetic for +, -, and *, and
the related transformational intrinsic functions SUM & al.


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

  Changed paths:
    M llvm/include/llvm/CodeGen/ComplexDeinterleavingPass.h
    M llvm/lib/CodeGen/ComplexDeinterleavingPass.cpp
    M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
    R llvm/test/CodeGen/AArch64/complex-deinterleaving-cdot.ll

  Log Message:
  -----------
  Revert "Add support for single reductions in ComplexDeinterleavingPass (#112875)"

This reverts commit b3eede5e1fa7ab742b86e9be22db7bccd2505b8a.

This has been breaking most AArch64 stage2 builds for 4+ hours,
reverting to get the bots back to green.

https://lab.llvm.org/buildbot/#/builders/41/builds/4172
https://lab.llvm.org/buildbot/#/builders/4/builds/4281
https://lab.llvm.org/buildbot/#/builders/199/builds/263
https://lab.llvm.org/buildbot/#/builders/198/builds/334
https://lab.llvm.org/buildbot/#/builders/143/builds/4276
https://lab.llvm.org/buildbot/#/builders/17/builds/4725


  Commit: 6993d32c77a78ac0e6eee0e4bffd714a455e776b
      https://github.com/llvm/llvm-project/commit/6993d32c77a78ac0e6eee0e4bffd714a455e776b
  Author: Bushev Dmitry <111585886+dybv-sc at users.noreply.github.com>
  Date:   2024-12-18 (Wed, 18 Dec 2024)

  Changed paths:
    A llvm/test/tools/llvm-exegesis/RISCV/latency-by-extension-A.s
    A llvm/test/tools/llvm-exegesis/RISCV/latency-by-extension-C.s
    A llvm/test/tools/llvm-exegesis/RISCV/latency-by-opcode-name-FADD_D.s
    A llvm/test/tools/llvm-exegesis/RISCV/lit.local.cfg
    M llvm/tools/llvm-exegesis/lib/CMakeLists.txt
    M llvm/tools/llvm-exegesis/lib/MCInstrDescView.cpp
    M llvm/tools/llvm-exegesis/lib/MCInstrDescView.h
    A llvm/tools/llvm-exegesis/lib/RISCV/CMakeLists.txt
    A llvm/tools/llvm-exegesis/lib/RISCV/Target.cpp
    M llvm/tools/llvm-exegesis/lib/SerialSnippetGenerator.cpp
    M llvm/tools/llvm-exegesis/lib/SnippetGenerator.cpp
    M llvm/tools/llvm-exegesis/llvm-exegesis.cpp

  Log Message:
  -----------
  [Exegesis][RISCV] Add RISCV support for llvm-exegesis (#120419)

This patch also makes following amendments to core exegesis:
* Added distinction between regular registers aliasing check and
registers used as memory address in instruction.
* Added scratch memory space pointer register.
* General exegesis options were amended:
        * mattr - new option to pass a list of enabled target features

Llvm-exegesis RISCV port is a result of team effort. Below everyone
involved listed.
Co-authored-by: Konstantin Vladimirov
<konstantin.vladimirov at syntacore.com>
Co-authored-by: Dmitrii Petrov <dmitrii.petrov at syntacore.com>
Co-authored-by: Dmitry Bushev <dmitry.bushev at syntacore.com>
Co-authored-by: Mark Goncharov <mark.goncharov at syntacore.com>
Co-authored-by: Anastasiya Chernikova
<anastasiya.chernikova at syntacore.com>

---------

Co-authored-by: Anastasiya Chernikova <anastasiya.chernikova at syntacore.com>


  Commit: aadf606d9046c16b86f17ed0d2778749922bac2e
      https://github.com/llvm/llvm-project/commit/aadf606d9046c16b86f17ed0d2778749922bac2e
  Author: Akash Banerjee <Akash.Banerjee at amd.com>
  Date:   2024-12-18 (Wed, 18 Dec 2024)

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

  Log Message:
  -----------
  Fix #110001 build error.


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

  Changed paths:
    M llvm/test/CodeGen/X86/GlobalISel/select-intrinsic-x86-flags-read-u32.mir
    M llvm/test/TableGen/GlobalISelEmitter-nested-subregs.td
    M llvm/test/TableGen/GlobalISelEmitterRegSequence.td
    M llvm/test/TableGen/GlobalISelEmitterSubreg.td
    M llvm/utils/TableGen/GlobalISelEmitter.cpp

  Log Message:
  -----------
  [TableGen][GISel] Improve dead register handling (#120426)

A dead implicit def wasn't marked as dead if it is also an implicit use.
The new approach should also be more straightforward and simplifies
future changes for supporting optional defs and physical register defs.

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


  Commit: 3eca15cbb9888a992749ddd24f0fb666dad733bf
      https://github.com/llvm/llvm-project/commit/3eca15cbb9888a992749ddd24f0fb666dad733bf
  Author: Justin Bogner <mail at justinbogner.com>
  Date:   2024-12-18 (Wed, 18 Dec 2024)

  Changed paths:
    M llvm/include/llvm/Analysis/DXILResource.h
    M llvm/include/llvm/InitializePasses.h
    M llvm/include/llvm/LinkAllPasses.h
    M llvm/lib/Analysis/Analysis.cpp
    M llvm/lib/Analysis/DXILResource.cpp
    M llvm/lib/Passes/PassRegistry.def
    M llvm/lib/Target/DirectX/DXContainerGlobals.cpp
    M llvm/lib/Target/DirectX/DXILDataScalarization.cpp
    M llvm/lib/Target/DirectX/DXILFinalizeLinkage.cpp
    M llvm/lib/Target/DirectX/DXILFinalizeLinkage.h
    M llvm/lib/Target/DirectX/DXILFlattenArrays.cpp
    M llvm/lib/Target/DirectX/DXILIntrinsicExpansion.cpp
    M llvm/lib/Target/DirectX/DXILOpLowering.cpp
    M llvm/lib/Target/DirectX/DXILPrepare.cpp
    M llvm/lib/Target/DirectX/DXILPrettyPrinter.cpp
    M llvm/lib/Target/DirectX/DXILTranslateMetadata.cpp
    M llvm/test/Analysis/DXILResource/buffer-frombinding.ll
    M llvm/test/CodeGen/DirectX/llc-pipeline.ll
    M llvm/unittests/Analysis/DXILResourceTest.cpp

  Log Message:
  -----------
  [DirectX] Split resource info into type and binding info. NFC (#119773)

This splits the DXILResourceAnalysis pass into TypeAnalysis and
BindingAnalysis passes. The type analysis pass is made immutable and
populated lazily so that it can be used earlier in the pipeline without
needing to carefully maintain the invariants of the binding analysis.

Fixes #118400


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

  Changed paths:
    M llvm/lib/Target/X86/X86ISelLowering.cpp
    M llvm/test/CodeGen/X86/combine-sdiv.ll
    M llvm/test/CodeGen/X86/lower-vec-shift.ll
    M llvm/test/CodeGen/X86/vec_shift6.ll
    M llvm/test/CodeGen/X86/widen_arith-4.ll

  Log Message:
  -----------
  [X86] LowerShift - don't prematurely lower to x86 vector shift imm instructions (#120282)

When splitting 2 unique amount shifts to shuffle(shift(x,c1),shift(x,c2)), don't use getTargetVShiftByConstNode directly to lower, use generic shifts to ensure we make use of any further canonicalization: shl(X,1) to add(X,X) etc. - this can have notably better throughput on some x86 targets.

Noticed on #120270


  Commit: 72e58e00c27c7f4dd9502c719ddd13dcfef33e85
      https://github.com/llvm/llvm-project/commit/72e58e00c27c7f4dd9502c719ddd13dcfef33e85
  Author: cor3ntin <corentinjabot at gmail.com>
  Date:   2024-12-18 (Wed, 18 Dec 2024)

  Changed paths:
    M clang/docs/ReleaseNotes.rst
    M clang/lib/Frontend/InitPreprocessor.cpp
    M clang/test/Lexer/cxx-features.cpp

  Log Message:
  -----------
  [Clang] Set `__cpp_explicit_this_parameter` (#107451)

There are not a lot of outstanding known issues
with deducing this (besides #95112), so it
seems reasonable to claim full support.

Fixes #82780


  Commit: 2b932bc111c0d96db7044b0a854d7ad763710df2
      https://github.com/llvm/llvm-project/commit/2b932bc111c0d96db7044b0a854d7ad763710df2
  Author: Paul Kirth <paulkirth at google.com>
  Date:   2024-12-18 (Wed, 18 Dec 2024)

  Changed paths:
    M clang-tools-extra/clang-doc/Serialize.cpp
    M clang-tools-extra/test/clang-doc/builtin_types.cpp
    M clang-tools-extra/test/clang-doc/templates.cpp
    M clang-tools-extra/unittests/clang-doc/SerializeTest.cpp

  Log Message:
  -----------
  [clang-doc] Use LangOpts when printing types (#120308)

The implementation in the clang-doc serializer failed to take in the
LangOpts from the declaration. As a result, we'd do things like print
`_Bool` instead of `bool`, even in C++ code.

Fixes #62970


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

  Changed paths:
    A llvm/include/llvm/Passes/DroppedVariableStats.h
    M llvm/include/llvm/Passes/StandardInstrumentations.h
    M llvm/lib/Passes/CMakeLists.txt
    A llvm/lib/Passes/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) (#120454)

[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.


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

  Changed paths:
    M libc/docs/headers/stdio.rst
    A libc/utils/docgen/stdio.yaml

  Log Message:
  -----------
  [libc][docs] convert stdio.h to docgen (#120334)

Add info from n3220 and POSIX.1-2024.


  Commit: 21de514872fc80424fbfd159485d71978b973c73
      https://github.com/llvm/llvm-project/commit/21de514872fc80424fbfd159485d71978b973c73
  Author: jeanPerier <jperier at nvidia.com>
  Date:   2024-12-18 (Wed, 18 Dec 2024)

  Changed paths:
    M flang/lib/Optimizer/Builder/IntrinsicCall.cpp

  Log Message:
  -----------
  [flang][NFC] static assert intrinsic table is sorted (#120399)

This invariant is used below when searching for intrinsic
implementation. Currently, if the map is not sorted, the compiler will
just silently assume there is no such implementation.


  Commit: 0fca76d576da6b26379b9754178263685b077610
      https://github.com/llvm/llvm-project/commit/0fca76d576da6b26379b9754178263685b077610
  Author: Justin Bogner <mail at justinbogner.com>
  Date:   2024-12-18 (Wed, 18 Dec 2024)

  Changed paths:
    M llvm/lib/Target/DirectX/CMakeLists.txt
    M llvm/lib/Target/DirectX/DXILOpLowering.cpp
    A llvm/lib/Target/DirectX/DXILResourceAccess.cpp
    A llvm/lib/Target/DirectX/DXILResourceAccess.h
    M llvm/lib/Target/DirectX/DirectX.h
    M llvm/lib/Target/DirectX/DirectXPassRegistry.def
    M llvm/lib/Target/DirectX/DirectXTargetMachine.cpp
    A llvm/test/CodeGen/DirectX/ResourceAccess/load_typedbuffer.ll
    A llvm/test/CodeGen/DirectX/ResourceAccess/store_typedbuffer.ll
    M llvm/test/CodeGen/DirectX/llc-pipeline.ll

  Log Message:
  -----------
  [DirectX] Introduce the DXILResourceAccess pass (#116726)

This pass transforms resource access via `llvm.dx.resource.getpointer`
into buffer loads and stores.

Fixes #114848.


  Commit: 79e859e049c77b5190a54fc1ecf1d262e3ef9f11
      https://github.com/llvm/llvm-project/commit/79e859e049c77b5190a54fc1ecf1d262e3ef9f11
  Author: Max <xpy66swsry at gmail.com>
  Date:   2024-12-18 (Wed, 18 Dec 2024)

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

  Log Message:
  -----------
  [lld] Move BPSectionOrderer from MachO to Common for reuse in ELF (#117514)

Add lld/Common/BPSectionOrdererBase from MachO for reuse in ELF


  Commit: 0e2466f62491a2623e61a81f17e4c0f2c15cb8ba
      https://github.com/llvm/llvm-project/commit/0e2466f62491a2623e61a81f17e4c0f2c15cb8ba
  Author: Justin Bogner <mail at justinbogner.com>
  Date:   2024-12-18 (Wed, 18 Dec 2024)

  Changed paths:
    M llvm/include/llvm/Analysis/DXILResource.h
    M llvm/lib/Analysis/DXILResource.cpp
    M llvm/lib/Target/DirectX/DXILTranslateMetadata.cpp
    A llvm/test/CodeGen/DirectX/Metadata/resource-symbols.ll
    M llvm/unittests/Analysis/DXILResourceTest.cpp

  Log Message:
  -----------
  [DirectX] Create symbols for resource handles (#119775)

We need to create symbols with "the original shape of resource and
element type" to put in the resource metadata in order to generate valid
DXIL.

Note that DXC generally doesn't emit an actual symbol outside of library
shaders (it emits an undef of a pointer to the type), but since we have
to deal with opaque pointers we would need a way to smuggle the type
through to match that. Instead, we simply emit symbols for now.

Fixed #116849


  Commit: 08849083a797b03c93487d177f6019d709d44d93
      https://github.com/llvm/llvm-project/commit/08849083a797b03c93487d177f6019d709d44d93
  Author: Thurston Dang <thurston at google.com>
  Date:   2024-12-18 (Wed, 18 Dec 2024)

  Changed paths:
    R llvm/test/tools/llvm-exegesis/RISCV/latency-by-extension-A.s
    R llvm/test/tools/llvm-exegesis/RISCV/latency-by-extension-C.s
    R llvm/test/tools/llvm-exegesis/RISCV/latency-by-opcode-name-FADD_D.s
    R llvm/test/tools/llvm-exegesis/RISCV/lit.local.cfg
    M llvm/tools/llvm-exegesis/lib/CMakeLists.txt
    M llvm/tools/llvm-exegesis/lib/MCInstrDescView.cpp
    M llvm/tools/llvm-exegesis/lib/MCInstrDescView.h
    R llvm/tools/llvm-exegesis/lib/RISCV/CMakeLists.txt
    R llvm/tools/llvm-exegesis/lib/RISCV/Target.cpp
    M llvm/tools/llvm-exegesis/lib/SerialSnippetGenerator.cpp
    M llvm/tools/llvm-exegesis/lib/SnippetGenerator.cpp
    M llvm/tools/llvm-exegesis/llvm-exegesis.cpp

  Log Message:
  -----------
  Revert "[Exegesis][RISCV] Add RISCV support for llvm-exegesis (#120419)"

This reverts commit 6993d32c77a78ac0e6eee0e4bffd714a455e776b.

Reason: buildbot breakage
(https://lab.llvm.org/buildbot/#/builders/51/builds/7908)

CCACHE_CPP2=yes CCACHE_HASHDIR=yes /usr/bin/ccache /home/b/sanitizer-aarch64-linux/build/llvm_build0/bin/clang++ -DGTEST_HAS_RTTI=0 -DLLVM_BUILD_STATIC -D_DEBUG -D_GLIBCXX_ASSERTIONS -D_GNU_SOURCE -D__STDC_CONSTANT_MACROS -D__STDC_FORMAT_MACROS -D__STDC_LIMIT_MACROS -I/home/b/sanitizer-aarch64-linux/build/build_default/tools/llvm-exegesis/lib/RISCV -I/home/b/sanitizer-aarch64-linux/build/llvm-project/llvm/tools/llvm-exegesis/lib/RISCV -I/home/b/sanitizer-aarch64-linux/build/build_default/include -I/home/b/sanitizer-aarch64-linux/build/llvm-project/llvm/include -I/home/b/sanitizer-aarch64-linux/build/llvm-project/llvm/lib/Target/RISCV -I/home/b/sanitizer-aarch64-linux/build/build_default/lib/Target/RISCV -fPIC -fno-semantic-interposition -fvisibility-inlines-hidden -Werror -Werror=date-time -Werror=unguarded-availability-new -Wall -Wextra -Wno-unused-parameter -Wwrite-strings -Wcast-qual -Wmissing-field-initializers -pedantic -Wno-long-long -Wc++98-compat-extra-semi -Wimplicit-fallthrough -Wcovered-switch-default -Wno-noexcept-type -Wnon-virtual-dtor -Wdelete-non-virtual-dtor -Wsuggest-override -Wstring-conversion -Wmisleading-indentation -Wctad-maybe-unsupported -fdiagnostics-color -ffunction-sections -fdata-sections -O3 -DNDEBUG -std=c++17  -fno-exceptions -funwind-tables -fno-rtti -UNDEBUG -MD -MT tools/llvm-exegesis/lib/RISCV/CMakeFiles/LLVMExegesisRISCV.dir/Target.cpp.o -MF tools/llvm-exegesis/lib/RISCV/CMakeFiles/LLVMExegesisRISCV.dir/Target.cpp.o.d -o tools/llvm-exegesis/lib/RISCV/CMakeFiles/LLVMExegesisRISCV.dir/Target.cpp.o -c /home/b/sanitizer-aarch64-linux/build/llvm-project/llvm/tools/llvm-exegesis/lib/RISCV/Target.cpp
In file included from /home/b/sanitizer-aarch64-linux/build/llvm-project/llvm/tools/llvm-exegesis/lib/RISCV/Target.cpp:139:
/home/b/sanitizer-aarch64-linux/build/build_default/lib/Target/RISCV/RISCVGenAsmMatcher.inc:239:19: error: unused function 'MatchRegisterName' [-Werror,-Wunused-function]
  239 | static MCRegister MatchRegisterName(StringRef Name) {
      |                   ^~~~~~~~~~~~~~~~~
/home/b/sanitizer-aarch64-linux/build/build_default/lib/Target/RISCV/RISCVGenAsmMatcher.inc:568:19: error: unused function 'MatchRegisterAltName' [-Werror,-Wunused-function]
  568 | static MCRegister MatchRegisterAltName(StringRef Name) {
      |                   ^~~~~~~~~~~~~~~~~~~~


  Commit: 5270e63cdc8f744003608fcc40f4549339e6b517
      https://github.com/llvm/llvm-project/commit/5270e63cdc8f744003608fcc40f4549339e6b517
  Author: Brox Chen <guochen2 at amd.com>
  Date:   2024-12-18 (Wed, 18 Dec 2024)

  Changed paths:
    M llvm/lib/Target/AMDGPU/VOP2Instructions.td
    M llvm/test/MC/AMDGPU/gfx11_asm_vop2.s
    M llvm/test/MC/AMDGPU/gfx11_asm_vop2_dpp16.s
    M llvm/test/MC/AMDGPU/gfx11_asm_vop2_dpp8.s
    M llvm/test/MC/AMDGPU/gfx11_asm_vop2_t16_err.s
    M llvm/test/MC/AMDGPU/gfx11_asm_vop2_t16_promote.s
    M llvm/test/MC/AMDGPU/gfx11_asm_vop3_dpp16_from_vop2.s
    M llvm/test/MC/AMDGPU/gfx11_asm_vop3_dpp8_from_vop2.s
    M llvm/test/MC/AMDGPU/gfx11_asm_vop3_from_vop2.s
    M llvm/test/MC/AMDGPU/gfx12_asm_vop2.s
    M llvm/test/MC/AMDGPU/gfx12_asm_vop2_dpp16.s
    M llvm/test/MC/AMDGPU/gfx12_asm_vop2_dpp8.s
    M llvm/test/MC/AMDGPU/gfx12_asm_vop2_t16_err.s
    M llvm/test/MC/AMDGPU/gfx12_asm_vop2_t16_promote.s
    M llvm/test/MC/AMDGPU/gfx12_asm_vop3_from_vop2.s
    M llvm/test/MC/AMDGPU/gfx12_asm_vop3_from_vop2_dpp16.s
    M llvm/test/MC/AMDGPU/gfx12_asm_vop3_from_vop2_dpp8.s

  Log Message:
  -----------
  [AMDGPU][True16][MC] test update for v_ldexp_f16 in true16 (#119313)

This is a NFC change. Update mc test for v_ldexp_f16 in true16 format.

MC source change was done by previous patch and automatically enabled by
t16 pesudo


  Commit: c3241a9a4de3ef71a82f9434f84fa7437fe43f9a
      https://github.com/llvm/llvm-project/commit/c3241a9a4de3ef71a82f9434f84fa7437fe43f9a
  Author: Brox Chen <guochen2 at amd.com>
  Date:   2024-12-18 (Wed, 18 Dec 2024)

  Changed paths:
    M llvm/lib/Target/AMDGPU/VOP2Instructions.td
    M llvm/test/MC/AMDGPU/gfx11_asm_vop2.s
    M llvm/test/MC/AMDGPU/gfx11_asm_vop2_dpp16.s
    M llvm/test/MC/AMDGPU/gfx11_asm_vop2_dpp8.s
    M llvm/test/MC/AMDGPU/gfx11_asm_vop2_t16_err.s
    M llvm/test/MC/AMDGPU/gfx11_asm_vop2_t16_promote.s
    M llvm/test/MC/AMDGPU/gfx11_asm_vop3_dpp16_from_vop2.s
    M llvm/test/MC/AMDGPU/gfx11_asm_vop3_dpp8_from_vop2.s
    M llvm/test/MC/AMDGPU/gfx11_asm_vop3_from_vop2.s
    M llvm/test/MC/AMDGPU/gfx12_asm_vop2.s
    M llvm/test/MC/AMDGPU/gfx12_asm_vop2_dpp16.s
    M llvm/test/MC/AMDGPU/gfx12_asm_vop2_dpp8.s
    M llvm/test/MC/AMDGPU/gfx12_asm_vop2_t16_err.s
    M llvm/test/MC/AMDGPU/gfx12_asm_vop2_t16_promote.s
    M llvm/test/MC/AMDGPU/gfx12_asm_vop3_from_vop2.s
    M llvm/test/MC/AMDGPU/gfx12_asm_vop3_from_vop2_dpp16.s
    M llvm/test/MC/AMDGPU/gfx12_asm_vop3_from_vop2_dpp8.s

  Log Message:
  -----------
  [AMDGPU][True16][MC] test update for v_subrev_f16 in true16 (#119315)

This is a NFC change. Update mc test for v_subrev_f16 in true16 format.

MC source change was done by previous patch and automatically enabled by
t16 pesudo


  Commit: 23a239267e8a1d20ed10d3545feaf2a2bb70b085
      https://github.com/llvm/llvm-project/commit/23a239267e8a1d20ed10d3545feaf2a2bb70b085
  Author: Alexander Kornienko <alexfh at google.com>
  Date:   2024-12-18 (Wed, 18 Dec 2024)

  Changed paths:
    M clang/test/CodeGen/attr-counted-by.c
    M clang/test/CodeGen/union-tbaa1.c
    M llvm/lib/Transforms/InstCombine/InstructionCombining.cpp
    M llvm/test/Transforms/InstCombine/AMDGPU/memcpy-from-constant.ll
    M llvm/test/Transforms/InstCombine/cast_phi.ll
    M llvm/test/Transforms/InstCombine/load-cmp.ll
    M llvm/test/Transforms/InstCombine/memcpy-addrspace.ll
    M llvm/test/Transforms/InstCombine/memcpy-from-global.ll
    M llvm/test/Transforms/InstCombine/stpcpy-1.ll
    M llvm/test/Transforms/InstCombine/stpcpy_chk-1.ll
    M llvm/test/Transforms/InstCombine/strlen-1.ll
    M llvm/test/Transforms/InstCombine/strlen-4.ll
    M llvm/test/Transforms/InstCombine/strncat-2.ll
    M llvm/test/Transforms/InstCombine/strnlen-3.ll
    M llvm/test/Transforms/InstCombine/strnlen-4.ll
    M llvm/test/Transforms/InstCombine/strnlen-5.ll
    M llvm/test/Transforms/InstCombine/sub-gep.ll
    M llvm/test/Transforms/InstCombine/wcslen-1.ll
    M llvm/test/Transforms/InstCombine/wcslen-3.ll
    M llvm/test/Transforms/InstCombine/wcslen-5.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/sve-interleaved-accesses.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/sve2-histcnt.ll
    M llvm/test/Transforms/LoopVectorize/X86/small-size.ll
    M llvm/test/Transforms/LoopVectorize/X86/x86_fp80-vector-store.ll
    M llvm/test/Transforms/LoopVectorize/interleaved-accesses.ll
    M llvm/test/Transforms/LoopVectorize/multiple-address-spaces.ll
    M llvm/test/Transforms/LoopVectorize/non-const-n.ll
    M llvm/test/Transforms/PhaseOrdering/X86/excessive-unrolling.ll
    M llvm/test/Transforms/SLPVectorizer/X86/operandorder.ll

  Log Message:
  -----------
  Revert "[InstCombine] Infer nuw for gep inbounds from base of object" (#120460)

Reverts llvm/llvm-project#119225 due to the lack of sanitizer support,
large potential of breaking code containing latent UB, non-trivial
localization and investigation, and what seems to be a bad interaction
with msan (a test is in the works).

Related discussions:
https://github.com/llvm/llvm-project/pull/119225#issuecomment-2551904822
https://github.com/llvm/llvm-project/pull/118472#issuecomment-2549986255


  Commit: 0987fcce18becc6980ddf61dd6c2af494c4ddf63
      https://github.com/llvm/llvm-project/commit/0987fcce18becc6980ddf61dd6c2af494c4ddf63
  Author: Mark Danial <118996571+madanial0 at users.noreply.github.com>
  Date:   2024-12-18 (Wed, 18 Dec 2024)

  Changed paths:
    M llvm/test/MC/AMDGPU/gfx12_asm_vop1.s

  Log Message:
  -----------
  [NFC] update gfx12 vop test to use sed instead of grep (#120458)

changes from https://github.com/llvm/llvm-project/pull/119778 breaks the
AIX clang ppc64 bot:
https://lab.llvm.org/buildbot/#/builders/64/builds/1714 as `grep -o` is
not supported on AIX and is not POSIX compatible as per:
https://www.unix.com/man-page/posix/1p/grep/

Co-authored-by: Mark Danial <mark.danial at ibm.com>


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

  Changed paths:
    M llvm/test/Transforms/PhaseOrdering/X86/excessive-unrolling.ll

  Log Message:
  -----------
  [PhaseOrdering] Update test for #120460


  Commit: c6f753b9a0910cdbb6bee77af1e5a54cf2e168fa
      https://github.com/llvm/llvm-project/commit/c6f753b9a0910cdbb6bee77af1e5a54cf2e168fa
  Author: Brox Chen <guochen2 at amd.com>
  Date:   2024-12-18 (Wed, 18 Dec 2024)

  Changed paths:
    M llvm/lib/Target/AMDGPU/SIInstructions.td
    M llvm/lib/Target/AMDGPU/VOP3Instructions.td
    M llvm/test/CodeGen/AMDGPU/llvm.ceil.f16.ll
    M llvm/test/CodeGen/AMDGPU/llvm.floor.f16.ll
    M llvm/test/CodeGen/AMDGPU/llvm.ldexp.ll
    M llvm/test/CodeGen/AMDGPU/sitofp.f16.ll
    M llvm/test/CodeGen/AMDGPU/uitofp.f16.ll
    M llvm/test/MC/AMDGPU/gfx11_asm_vop3.s
    M llvm/test/MC/AMDGPU/gfx11_asm_vop3_dpp16.s
    M llvm/test/MC/AMDGPU/gfx11_asm_vop3_dpp8.s
    M llvm/test/MC/AMDGPU/gfx12_asm_vop3.s
    M llvm/test/MC/AMDGPU/gfx12_asm_vop3_dpp16.s
    M llvm/test/MC/AMDGPU/gfx12_asm_vop3_dpp8.s
    M llvm/test/MC/Disassembler/AMDGPU/gfx11_dasm_vop3.txt
    M llvm/test/MC/Disassembler/AMDGPU/gfx11_dasm_vop3_dpp16.txt
    M llvm/test/MC/Disassembler/AMDGPU/gfx11_dasm_vop3_dpp8.txt
    M llvm/test/MC/Disassembler/AMDGPU/gfx12_dasm_vop3.txt
    M llvm/test/MC/Disassembler/AMDGPU/gfx12_dasm_vop3_dpp16.txt
    M llvm/test/MC/Disassembler/AMDGPU/gfx12_dasm_vop3_dpp8.txt

  Log Message:
  -----------
  [AMDGPU][True16][MC] true16 for v_pack_b32_f16 (#119630)

Support true16 format for v_pack_b32_f16  in MC.

Since we are replacing v_alignbit_b32 to
`v_pack_b32_f16_t16/v_pack_b32_f16_fake16` in Post-GFX11, have to update
the CodeGen pattern for `v_pack_b32_f16_fake16 `to get CodeGen test
passing. There is no pattern modified/created, but just replacing the
`v_pack_b32_f16` with fake16 format.

Some of the true16 CodeGen test are impacted since `v_pack_b32_f16`
selection are removed in Post-GFX11 while `v_pack_b32_f16_t16` are not
yet supported. The CodeGen patch for `v_pack_b32_f16_t16` will be done
is the following patch.


  Commit: 1a87f07465d76c87ace25623c67faf9596bbbf56
      https://github.com/llvm/llvm-project/commit/1a87f07465d76c87ace25623c67faf9596bbbf56
  Author: Pedro Lobo <pedro.lobo at tecnico.ulisboa.pt>
  Date:   2024-12-18 (Wed, 18 Dec 2024)

  Changed paths:
    M clang/lib/CodeGen/MicrosoftCXXABI.cpp
    M clang/test/CodeGenCXX/microsoft-abi-member-pointers.cpp

  Log Message:
  -----------
  [clang] Change initialization of a vector from undef to poison [NFC] (#120446)

It is fully initialized with insertelements.


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

  Changed paths:
    M clang/lib/Driver/SanitizerArgs.cpp
    M clang/test/Driver/sanitizer-ld.c
    M compiler-rt/test/hwasan/TestCases/sizes.cpp

  Log Message:
  -----------
  [driver] Fix sanitizer libc++ runtime linking (#120370)

1. -f[no-]sanitize-link-c++-runtime suppose to
   override defauld behavior implied from `CCCIsCXX`
2. Take into account -nostdlib++ (unblocks #108357)
3. Fix typo hasFlag vs hasArg.


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

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

  Log Message:
  -----------
  [gn build] Port 5717a99d8de4


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

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

  Log Message:
  -----------
  [gn build] Port 79e859e049c7


  Commit: d57230c72e7c1398c52b1676809224b633fa289d
      https://github.com/llvm/llvm-project/commit/d57230c72e7c1398c52b1676809224b633fa289d
  Author: Jun Wang <jwang86 at yahoo.com>
  Date:   2024-12-18 (Wed, 18 Dec 2024)

  Changed paths:
    M llvm/lib/Target/AMDGPU/VOP3PInstructions.td
    M llvm/lib/Target/AMDGPU/VOPInstructions.td
    M llvm/test/CodeGen/AMDGPU/mai-hazards-gfx90a.mir
    M llvm/test/CodeGen/AMDGPU/mai-hazards-gfx940.mir
    M llvm/test/MC/AMDGPU/dl-insts.s
    M llvm/test/MC/AMDGPU/gfx1030_err.s
    A llvm/test/MC/AMDGPU/gfx11_asm_vop3p_err.s
    M llvm/test/MC/AMDGPU/gfx12_asm_vop3p_err.s
    A llvm/test/MC/AMDGPU/gfx908_err.s
    M llvm/test/MC/AMDGPU/gfx90a_err.s
    M llvm/test/MC/Disassembler/AMDGPU/gfx908-dl-insts.txt

  Log Message:
  -----------
  [AMDGPU][MC] Disallow op_sel in some VOP3P dot instructions (#100485)

In v_dot4 and v_dot8 instructions with 4- or 8-bit packed data (e.g.,
v_dot4_u32_u8, v_dot8_u32_u4), the op_sel modifier should not be
allowed.


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

  Changed paths:
    M mlir/lib/Dialect/Vector/IR/VectorOps.cpp
    M mlir/lib/Dialect/Vector/Transforms/VectorTransferOpTransforms.cpp
    M mlir/lib/Dialect/Vector/Transforms/VectorTransforms.cpp

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

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: 6fb967ec9e13216ee1b4fc15764e0b3df9e5683f
      https://github.com/llvm/llvm-project/commit/6fb967ec9e13216ee1b4fc15764e0b3df9e5683f
  Author: Kazu Hirata <kazu at google.com>
  Date:   2024-12-18 (Wed, 18 Dec 2024)

  Changed paths:
    M llvm/include/llvm/ProfileData/MemProf.h
    M llvm/lib/ProfileData/MemProf.cpp

  Log Message:
  -----------
  [memprof] Move Frame::hash and hashCallStack to IndexedMemProfData (NFC) (#120365)

Now that IndexedMemProfData::{addFrame,addCallStack} are the only
callers of Frame::hash and hashCallStack, respectively, this patch
moves those functions into IndexedMemProfData and makes them private.
With this patch, we can obtain FrameId and CallStackId only through
addFrame and addCallStack, respectively.


  Commit: bfd05102d817fce38938ce864f89ad90ef0b6cda
      https://github.com/llvm/llvm-project/commit/bfd05102d817fce38938ce864f89ad90ef0b6cda
  Author: Justin Bogner <mail at justinbogner.com>
  Date:   2024-12-18 (Wed, 18 Dec 2024)

  Changed paths:
    M llvm/lib/Target/DirectX/DXILOpLowering.cpp
    M llvm/lib/Target/DirectX/DXILShaderFlags.cpp
    M llvm/lib/Target/DirectX/DXILTranslateMetadata.cpp
    M llvm/lib/Target/DirectX/DirectXTargetMachine.cpp
    M llvm/test/CodeGen/DirectX/CreateHandle.ll
    M llvm/test/CodeGen/DirectX/CreateHandleFromBinding.ll
    M llvm/test/CodeGen/DirectX/llc-pipeline.ll

  Log Message:
  -----------
  [DirectX] Lower ops after translating metadata (#120157)

Move the DXILOpLoweringPass after DXILTranslateMetadata, and add asserts
in DXILShaderFlags to ensure it isn't scheduled after op lowering. This
will allow us to rely on DirectX intrinsics in the shader flags analysis
rather than having to recover information from lowered operations.

Fixes #120119.


  Commit: 41bd35b58bb482fd466aa4b13aa44a810ad6470f
      https://github.com/llvm/llvm-project/commit/41bd35b58bb482fd466aa4b13aa44a810ad6470f
  Author: Peter Hawkins <phawkins at google.com>
  Date:   2024-12-18 (Wed, 18 Dec 2024)

  Changed paths:
    M mlir/cmake/modules/MLIRDetectPythonEnv.cmake
    M mlir/include/mlir/Bindings/Python/IRTypes.h
    M mlir/include/mlir/Bindings/Python/PybindAdaptors.h
    M mlir/lib/Bindings/Python/Globals.h
    M mlir/lib/Bindings/Python/IRAffine.cpp
    M mlir/lib/Bindings/Python/IRAttributes.cpp
    M mlir/lib/Bindings/Python/IRCore.cpp
    M mlir/lib/Bindings/Python/IRInterfaces.cpp
    M mlir/lib/Bindings/Python/IRModule.cpp
    M mlir/lib/Bindings/Python/IRModule.h
    M mlir/lib/Bindings/Python/IRTypes.cpp
    M mlir/lib/Bindings/Python/MainModule.cpp
    A mlir/lib/Bindings/Python/NanobindUtils.h
    M mlir/lib/Bindings/Python/Pass.cpp
    M mlir/lib/Bindings/Python/Pass.h
    R mlir/lib/Bindings/Python/PybindUtils.h
    M mlir/lib/Bindings/Python/Rewrite.cpp
    M mlir/lib/Bindings/Python/Rewrite.h
    M mlir/python/CMakeLists.txt
    M mlir/python/requirements.txt
    M mlir/test/python/ir/symbol_table.py
    M utils/bazel/WORKSPACE
    M utils/bazel/llvm-project-overlay/mlir/BUILD.bazel

  Log Message:
  -----------
  [mlir python] Port Python core code to nanobind. (#118583)

Why? https://nanobind.readthedocs.io/en/latest/why.html says it better
than I can, but my primary motivation for this change is to improve MLIR
IR construction time from JAX.

For a complicated Google-internal LLM model in JAX, this change improves
the MLIR
lowering time by around 5s (out of around 30s), which is a significant
speedup for simply switching binding frameworks.

To a large extent, this is a mechanical change, for instance changing
`pybind11::`
to `nanobind::`.

Notes:
* this PR needs Nanobind 2.4.0, because it needs a bug fix
(https://github.com/wjakob/nanobind/pull/806) that landed in that
release.
* this PR does not port the in-tree dialect extension modules. They can
be ported in a future PR.
* I removed the py::sibling() annotations from def_static and def_class
in `PybindAdapters.h`. These ask pybind11 to try to form an overload
with an existing method, but it's not possible to form mixed
pybind11/nanobind overloads this ways and the parent class is now
defined in nanobind. Better solutions may be possible here.
* nanobind does not contain an exact equivalent of pybind11's buffer
protocol support. It was not hard to add a nanobind implementation of a
similar API.
* nanobind is pickier about casting to std::vector<bool>, expecting that
the input is a sequence of bool types, not truthy values. In a couple of
places I added code to support truthy values during casting.
* nanobind distinguishes bytes (`nb::bytes`) from strings (e.g.,
`std::string`). This required nb::bytes overloads in a few places.


  Commit: 6e8b3a3e0cad614954fc387df22d59d941f081c3
      https://github.com/llvm/llvm-project/commit/6e8b3a3e0cad614954fc387df22d59d941f081c3
  Author: Jacques Pienaar <jpienaar at google.com>
  Date:   2024-12-18 (Wed, 18 Dec 2024)

  Changed paths:
    M mlir/cmake/modules/MLIRDetectPythonEnv.cmake
    M mlir/include/mlir/Bindings/Python/IRTypes.h
    M mlir/include/mlir/Bindings/Python/PybindAdaptors.h
    M mlir/lib/Bindings/Python/Globals.h
    M mlir/lib/Bindings/Python/IRAffine.cpp
    M mlir/lib/Bindings/Python/IRAttributes.cpp
    M mlir/lib/Bindings/Python/IRCore.cpp
    M mlir/lib/Bindings/Python/IRInterfaces.cpp
    M mlir/lib/Bindings/Python/IRModule.cpp
    M mlir/lib/Bindings/Python/IRModule.h
    M mlir/lib/Bindings/Python/IRTypes.cpp
    M mlir/lib/Bindings/Python/MainModule.cpp
    R mlir/lib/Bindings/Python/NanobindUtils.h
    M mlir/lib/Bindings/Python/Pass.cpp
    M mlir/lib/Bindings/Python/Pass.h
    A mlir/lib/Bindings/Python/PybindUtils.h
    M mlir/lib/Bindings/Python/Rewrite.cpp
    M mlir/lib/Bindings/Python/Rewrite.h
    M mlir/python/CMakeLists.txt
    M mlir/python/requirements.txt
    M mlir/test/python/ir/symbol_table.py
    M utils/bazel/WORKSPACE
    M utils/bazel/llvm-project-overlay/mlir/BUILD.bazel

  Log Message:
  -----------
  Revert "[mlir python] Port Python core code to nanobind. (#118583)"

This reverts commit 41bd35b58bb482fd466aa4b13aa44a810ad6470f.

Breakage detected, rolling back.


  Commit: 9f3a6114807b66738585af060012927bd0f05b88
      https://github.com/llvm/llvm-project/commit/9f3a6114807b66738585af060012927bd0f05b88
  Author: Peter Klausler <pklausler at nvidia.com>
  Date:   2024-12-18 (Wed, 18 Dec 2024)

  Changed paths:
    M flang/runtime/findloc.cpp

  Log Message:
  -----------
  [flang] Don't needlessly instantiate distinct UNSIGNED cases for FINDLOC (#120471)

The FINDLOC runtime doesn't need to distinguish between INTEGER and
UNSIGNED data, so use the code for INTEGER also for UNSIGNED.


  Commit: cb0effc0e61d5a0b2f952d9aa9d97f1652beabac
      https://github.com/llvm/llvm-project/commit/cb0effc0e61d5a0b2f952d9aa9d97f1652beabac
  Author: Renaud Kauffmann <rkauffmann at nvidia.com>
  Date:   2024-12-18 (Wed, 18 Dec 2024)

  Changed paths:
    M flang/include/flang/Optimizer/Builder/IntrinsicCall.h
    M flang/lib/Optimizer/Builder/IntrinsicCall.cpp
    M flang/module/cudadevice.f90
    M flang/test/Lower/CUDA/cuda-device-proc.cuf

  Log Message:
  -----------
  [flang][cuda] Using nvvm intrinsics for the syncthread and threadfence families of calls (#120020)


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

  Changed paths:
    M llvm/lib/Transforms/Vectorize/VPlan.h
    M llvm/unittests/Transforms/Vectorize/VPDomTreeTest.cpp
    M llvm/unittests/Transforms/Vectorize/VPlanTest.cpp
    M llvm/unittests/Transforms/Vectorize/VPlanVerifierTest.cpp

  Log Message:
  -----------
  [VPlan] Don't use VPlan ctor taking trip count in most unit tests (NFC).

Update tests to use constructor not passing a trip count VPValue. The
tests don't need that and are simpler as a result.


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

  Changed paths:
    M libcxx/include/__algorithm/adjacent_find.h
    M libcxx/include/__algorithm/binary_search.h
    M libcxx/include/__algorithm/equal.h
    M libcxx/include/__algorithm/equal_range.h
    M libcxx/include/__algorithm/fill_n.h
    M libcxx/include/__algorithm/find.h
    M libcxx/include/__algorithm/find_end.h
    M libcxx/include/__algorithm/find_first_of.h
    M libcxx/include/__algorithm/for_each.h
    M libcxx/include/__algorithm/includes.h
    M libcxx/include/__algorithm/inplace_merge.h
    M libcxx/include/__algorithm/is_heap.h
    M libcxx/include/__algorithm/is_permutation.h
    M libcxx/include/__algorithm/is_sorted.h
    M libcxx/include/__algorithm/is_sorted_until.h
    M libcxx/include/__algorithm/lower_bound.h
    M libcxx/include/__algorithm/make_projected.h
    M libcxx/include/__algorithm/merge.h
    M libcxx/include/__algorithm/mismatch.h
    M libcxx/include/__bit_reference
    M libcxx/include/__hash_table
    M libcxx/include/__split_buffer
    M libcxx/include/__tree

  Log Message:
  -----------
  [libc++] Remove some unused includes (#120219)


  Commit: 9b3d85f0f43a9337223f8d69bbe71d5b4f41fd33
      https://github.com/llvm/llvm-project/commit/9b3d85f0f43a9337223f8d69bbe71d5b4f41fd33
  Author: Justin Bogner <mail at justinbogner.com>
  Date:   2024-12-18 (Wed, 18 Dec 2024)

  Changed paths:
    M llvm/lib/Target/DirectX/DXILShaderFlags.cpp
    M llvm/lib/Target/DirectX/DXILShaderFlags.h
    A llvm/test/CodeGen/DirectX/ShaderFlags/typed-uav-load-additional-formats.ll

  Log Message:
  -----------
  [DirectX] TypedUAVLoadAdditionalFormats shader flag (#120477)

Set the TypedUAVLoadAddtionalFormats flag if the shader contains a load
from a multicomponent UAV.

Fixes #114557


  Commit: f03bf8c45f430c4fbf9f3a60c67bf2e69459d7a5
      https://github.com/llvm/llvm-project/commit/f03bf8c45f430c4fbf9f3a60c67bf2e69459d7a5
  Author: Owen Pan <owenpiano at gmail.com>
  Date:   2024-12-18 (Wed, 18 Dec 2024)

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

  Log Message:
  -----------
  [clang-format] Don't change breaking before CtorInitializerColon (#119522)

Don't change breaking before CtorInitializerColon with `ColumnLimit: 0`.

Fixes #119519.


  Commit: b1b60d4c1db723ca9deca899f0c055b4f0e0ddc3
      https://github.com/llvm/llvm-project/commit/b1b60d4c1db723ca9deca899f0c055b4f0e0ddc3
  Author: Owen Pan <owenpiano at gmail.com>
  Date:   2024-12-18 (Wed, 18 Dec 2024)

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

  Log Message:
  -----------
  [clang-format] Fix a bug in annotating arrows after init braces (#119958)

Fixes #59066.


  Commit: 2916352936097a35cdcaaf38a9097465adbf8cf5
      https://github.com/llvm/llvm-project/commit/2916352936097a35cdcaaf38a9097465adbf8cf5
  Author: Teresa Johnson <tejohnson at google.com>
  Date:   2024-12-18 (Wed, 18 Dec 2024)

  Changed paths:
    M llvm/lib/Transforms/IPO/MemProfContextDisambiguation.cpp
    A llvm/test/ThinLTO/X86/memprof-missing-callsite.ll
    M llvm/test/ThinLTO/X86/memprof-tailcall-nonunique.ll
    M llvm/test/Transforms/MemProfContextDisambiguation/fix_clone_checking.ll

  Log Message:
  -----------
  [MemProf] Skip unmatched callers when cloning (#120455)

Don't unnecessarily clone for a caller that wasn't matched to a call
instruction.

This necessitated updated a couple of tests that were either
unnecessarily cloning or unnecessarily processing an allocation and
hinting it not cold.


  Commit: 00840fbb51789278a40a4a2f83ebce04a32f0dde
      https://github.com/llvm/llvm-project/commit/00840fbb51789278a40a4a2f83ebce04a32f0dde
  Author: Teresa Johnson <tejohnson at google.com>
  Date:   2024-12-18 (Wed, 18 Dec 2024)

  Changed paths:
    M llvm/test/ThinLTO/X86/memprof-missing-callsite.ll

  Log Message:
  -----------
  [MemProf] Add quotes around FileCheck pattern (#120481)

Some bots are failing with 2916352936097a35cdcaaf38a9097465adbf8cf5,
likely due to the escapes in the FileCheck pattern. Add extra quotes to
try to fix this.
E.g. https://lab.llvm.org/buildbot/#/builders/46/builds/9442


  Commit: 6ea8b4cebd322fe604efa96b943abf6ad419414c
      https://github.com/llvm/llvm-project/commit/6ea8b4cebd322fe604efa96b943abf6ad419414c
  Author: Brad Smith <brad at comstyle.com>
  Date:   2024-12-18 (Wed, 18 Dec 2024)

  Changed paths:
    M llvm/lib/Support/Unix/Threading.inc

  Log Message:
  -----------
  [llvm][Support] Use __NR_gettid on Linux for compat with older glibc (#120007)


  Commit: 6457aee5b7da6bb6d7f556d14f42a6763b42e060
      https://github.com/llvm/llvm-project/commit/6457aee5b7da6bb6d7f556d14f42a6763b42e060
  Author: Farzon Lotfi <farzonlotfi at microsoft.com>
  Date:   2024-12-18 (Wed, 18 Dec 2024)

  Changed paths:
    M llvm/lib/Target/DirectX/DXILDataScalarization.cpp
    M llvm/lib/Target/DirectX/DXILFlattenArrays.cpp
    A llvm/test/CodeGen/DirectX/flatten-bug-117273.ll
    M llvm/test/CodeGen/DirectX/llc-vector-load-scalarize.ll
    A llvm/test/CodeGen/DirectX/scalar-bug-117273.ll
    M llvm/test/CodeGen/DirectX/scalar-load.ll

  Log Message:
  -----------
  [DirectX] Bug fix for Data Scalarization crash (#118426)

Two bugs here. First calling `Inst->getFunction()` has undefined
behavior if the instruction is not tracked to a function. I suspect the
`replaceAllUsesWith` was leaving the GEPs in a weird ghost parent
situation. I switched up the visitor to be able to `eraseFromParent` as
part of visiting and then everything started working.

The second bug was in `DXILFlattenArrays.cpp`. I was unaware that you
can have multidimensional arrays of `zeroinitializer`, and `undef` so
fixed up the initializer to handle these two cases.

fixes #117273


  Commit: 08aa95638713a37407367e0e158df6fb82509725
      https://github.com/llvm/llvm-project/commit/08aa95638713a37407367e0e158df6fb82509725
  Author: Amir Bishara <139038766+amirBish at users.noreply.github.com>
  Date:   2024-12-18 (Wed, 18 Dec 2024)

  Changed paths:
    M mlir/include/mlir/Dialect/Bufferization/IR/BufferizableOpInterface.h
    M mlir/lib/Dialect/Bufferization/IR/BufferizableOpInterface.cpp
    M mlir/lib/Dialect/Bufferization/Transforms/EmptyTensorElimination.cpp
    M mlir/test/Dialect/Bufferization/Transforms/one-shot-bufferize-analysis-empty-tensor-elimination.mlir
    M mlir/test/Dialect/Bufferization/Transforms/one-shot-bufferize-empty-tensor-elimination.mlir

  Log Message:
  -----------
  [mlir][bufferization]-Replace only one use in TensorEmptyElimination (#118958)

In many cases the emptyTensorElimination can not transform or eliminate
the empty tensor which is being inserted into the
`SubsetInsertionOpInterface`.

Two major reasons for that:

1- Failing when trying to find a legal/suitable insertion point for the
`subsetExtract` which is about to replace the empty tensor. However, we
may try to handle this issue by moving the needed values which
responsible on building the `subsetExtract` nearby the empty tensor
(which is about to be eliminated). Thus increasing the probability to
find a legal insertion point.

2-The EmptyTensorElimination transform replaces the tensor.empty's uses
all at once in one apply, rather than replacing only the specific use
which was visited in the use-def chain (when traversing from the
tensor.insert_slice). This scenario of replacing all the uses of the
tensor.empty may lead into additional read effects after bufferization
of the specific subset extract/subview which should not be the case.

Both cases may result in many copies in the coming bufferization which
can not be canonicalized.

The first case can be noticed when having a `tensor.empty` followed by
`SubsetInsertionOpInterface` (or in simple words `tensor.insert_slice`),
which have been lowered from `tensor/tosa.concat`.

The second case can be noticed when having a `tensor.empty`, with many
uses and leading to applying the transformation only once, since the
whole uses have been replaced at once.

The first commit in the PR only adds the lit tests for the cases shown
above (NFC), to emphasize how the transform works, in the coming MRs
will upload a slight changes to handle these case.

The second commit in this PR, we want to replace only the specific use
which was visited in the `use-def` chain (when traversing from the
`tensor.insert_slice`'s source).


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

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

  Log Message:
  -----------
  [VPlan] Move initial VPlan block creation to constructor. (NFC)

This sets up the initial blocks needed to initialize a VPlan directly
in the constructor. This will allow tracking of all created blocks
directly in VPlan, simplifying block deletion.


  Commit: d8399d5dd6a5a7025621eddd97fc0fa1f494bad8
      https://github.com/llvm/llvm-project/commit/d8399d5dd6a5a7025621eddd97fc0fa1f494bad8
  Author: Krzysztof Drewniak <Krzysztof.Drewniak at amd.com>
  Date:   2024-12-18 (Wed, 18 Dec 2024)

  Changed paths:
    M mlir/include/mlir/IR/Constraints.td
    M mlir/include/mlir/IR/Properties.td
    M mlir/include/mlir/TableGen/Property.h
    M mlir/lib/TableGen/Predicate.cpp
    M mlir/lib/TableGen/Property.cpp
    A mlir/test/IR/test-op-property-predicates.mlir
    M mlir/test/lib/Dialect/Test/TestOps.td
    A mlir/test/mlir-tblgen/op-properties-predicates.td
    M mlir/test/mlir-tblgen/op-properties.td
    M mlir/tools/mlir-tblgen/OpDefinitionsGen.cpp

  Log Message:
  -----------
  [mlir] Add predicates to tablegen-defined properties (#120176)

Give the properties from tablegen a `predicate` field that holds the
predicate that the property needs to satisfy, if one exists, and hook
that field up to verifier generation.


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

  Changed paths:
    M llvm/lib/Transforms/Instrumentation/MemProfiler.cpp
    A llvm/test/Transforms/PGOProfile/memprof-undrift.test

  Log Message:
  -----------
  [memprof] Undrift MemProfRecord (#120138)

This patch undrifts source locations in MemProfRecord before readMemprof
starts the matching process.

The thoery of operation is as follows:

1. Collect the lists of direct calls, one from the IR and the other
   from the profile.

2. Compute the correspondence (called undrift map in the patch)
   between the two lists with longestCommonSequence.

3. Apply the undrift map just before readMemprof consumes
   MemProfRecord.

The new function gated by a flag that is off by default.


  Commit: e7a4d78ad328d02bf515b2fa4af8b2c188a6a636
      https://github.com/llvm/llvm-project/commit/e7a4d78ad328d02bf515b2fa4af8b2c188a6a636
  Author: DianQK <dianqk at dianqk.net>
  Date:   2024-12-19 (Thu, 19 Dec 2024)

  Changed paths:
    M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
    A llvm/test/Transforms/SLPVectorizer/slp-deleted-inst.ll

  Log Message:
  -----------
  [SLP] Check if instructions exist after vectorization (#120434)

Fixes #120433.


  Commit: 8272b6bd6146aab973ff7018ad642b99fde00904
      https://github.com/llvm/llvm-project/commit/8272b6bd6146aab973ff7018ad642b99fde00904
  Author: Christopher Bate <cbate at nvidia.com>
  Date:   2024-12-18 (Wed, 18 Dec 2024)

  Changed paths:
    M mlir/lib/IR/AffineExpr.cpp
    M mlir/unittests/IR/AffineExprTest.cpp

  Log Message:
  -----------
  [mlir][IR] Fix bug in AffineExpr simplifier `lhs % rhs` where `lhs = lhs floordiv rhs` (#119245)

Fixes an issue where the `SimpleAffineExprFlattener` would simplify
`lhs % rhs` to just `-(lhs floordiv rhs)` instead of 
`lhs - (lhs floordiv rhs)`
if `lhs` happened to be equal to `lhs floordiv rhs`.

The reported failure case was 
`(d0, d1) -> (((d1 - (d1 + 2)) floordiv 8) % 8)`
from https://github.com/llvm/llvm-project/issues/114654.

Note that many paths that simplify AffineMaps (e.g. the AffineApplyOp
folder and canonicalization) would not observe this bug because of
of slightly different paths taken by the code. Slightly different
grouping of the terms could also result in avoiding the bug.

Resolves https://github.com/llvm/llvm-project/issues/114654.


  Commit: 26f5d1ee9c37e2a6d50898a5bf2d3b9171060ba0
      https://github.com/llvm/llvm-project/commit/26f5d1ee9c37e2a6d50898a5bf2d3b9171060ba0
  Author: Björn Pettersson <bjorn.a.pettersson at ericsson.com>
  Date:   2024-12-18 (Wed, 18 Dec 2024)

  Changed paths:
    M clang/lib/APINotes/APINotesReader.cpp

  Log Message:
  -----------
  [APINotes] Avoid assertion failure with expensive checks (#120487)

Found assertion failures when using EXPENSIVE_CHECKS and running lit
tests for APINotes:
Assertion `left.first != right.first && "two entries for the same
version"' failed.

It seems like std::is_sorted is verifying that the comparison function
is reflective (comp(a,a)=false) when using expensive checks. So we would
get callbacks to the lambda used for comparison, even for vectors with a
single element in APINotesReader::VersionedInfo<T>::VersionedInfo, with
"left" and "right" being the same object. Therefore the assert checking
that we never found equal values would fail.

Fix makes sure that we skip the check for equal values when "left" and
"right" is the same object.


  Commit: 8e8692a542037056b332f4a3b5f12441267b76eb
      https://github.com/llvm/llvm-project/commit/8e8692a542037056b332f4a3b5f12441267b76eb
  Author: Bushev Dmitry <111585886+dybv-sc at users.noreply.github.com>
  Date:   2024-12-19 (Thu, 19 Dec 2024)

  Changed paths:
    A llvm/test/tools/llvm-exegesis/RISCV/latency-by-extension-A.s
    A llvm/test/tools/llvm-exegesis/RISCV/latency-by-extension-C.s
    A llvm/test/tools/llvm-exegesis/RISCV/latency-by-opcode-name-FADD_D.s
    A llvm/test/tools/llvm-exegesis/RISCV/lit.local.cfg
    M llvm/tools/llvm-exegesis/lib/CMakeLists.txt
    M llvm/tools/llvm-exegesis/lib/MCInstrDescView.cpp
    M llvm/tools/llvm-exegesis/lib/MCInstrDescView.h
    A llvm/tools/llvm-exegesis/lib/RISCV/CMakeLists.txt
    A llvm/tools/llvm-exegesis/lib/RISCV/Target.cpp
    M llvm/tools/llvm-exegesis/lib/SerialSnippetGenerator.cpp
    M llvm/tools/llvm-exegesis/lib/SnippetGenerator.cpp
    M llvm/tools/llvm-exegesis/llvm-exegesis.cpp

  Log Message:
  -----------
  [Exegesis][RISCV] Add RISCV support for llvm-exegesis (#120467)

This patch also makes following amendments to core exegesis:
* Added distinction between regular registers aliasing check and
registers used as memory address in instruction.
* Added scratch memory space pointer register.
* General exegesis options were amended:
        * mattr - new option to pass a list of enabled target features

Llvm-exegesis RISCV port is a result of team effort. Below everyone
involved listed.
Co-authored-by: Konstantin Vladimirov
<konstantin.vladimirov at syntacore.com>
Co-authored-by: Dmitrii Petrov <dmitrii.petrov at syntacore.com>
Co-authored-by: Dmitry Bushev <dmitry.bushev at syntacore.com>
Co-authored-by: Mark Goncharov <mark.goncharov at syntacore.com>
Co-authored-by: Anastasiya Chernikova
<anastasiya.chernikova at syntacore.com>

Original pr: #89047

---------

Co-authored-by: Kazu Hirata <kazu at google.com>


  Commit: dc0ea0f945269387fa3a9db65cc907840903f245
      https://github.com/llvm/llvm-project/commit/dc0ea0f945269387fa3a9db65cc907840903f245
  Author: Brox Chen <guochen2 at amd.com>
  Date:   2024-12-18 (Wed, 18 Dec 2024)

  Changed paths:
    M llvm/lib/Target/AMDGPU/VOP3Instructions.td
    M llvm/test/MC/AMDGPU/gfx11_asm_vop3.s
    M llvm/test/MC/AMDGPU/gfx11_asm_vop3_dpp16.s
    M llvm/test/MC/AMDGPU/gfx11_asm_vop3_dpp8.s
    M llvm/test/MC/AMDGPU/gfx12_asm_vop3.s
    M llvm/test/MC/AMDGPU/gfx12_asm_vop3_dpp16.s
    M llvm/test/MC/AMDGPU/gfx12_asm_vop3_dpp8.s
    M llvm/test/MC/Disassembler/AMDGPU/gfx11_dasm_vop3.txt
    M llvm/test/MC/Disassembler/AMDGPU/gfx11_dasm_vop3_dpp16.txt
    M llvm/test/MC/Disassembler/AMDGPU/gfx11_dasm_vop3_dpp8.txt
    M llvm/test/MC/Disassembler/AMDGPU/gfx12_dasm_vop3.txt
    M llvm/test/MC/Disassembler/AMDGPU/gfx12_dasm_vop3_dpp16.txt
    M llvm/test/MC/Disassembler/AMDGPU/gfx12_dasm_vop3_dpp8.txt

  Log Message:
  -----------
  [AMDGPU][True16][MC] true16 for v_cvt_pknorm_i16/u16_f16 (#119605)

Support true16 format for v_cvt_pknorm_i16/u16_f16 in MC.


  Commit: e10b12e6564c4da7d03fe1616e894ad162167663
      https://github.com/llvm/llvm-project/commit/e10b12e6564c4da7d03fe1616e894ad162167663
  Author: Brox Chen <guochen2 at amd.com>
  Date:   2024-12-18 (Wed, 18 Dec 2024)

  Changed paths:
    M llvm/lib/Target/AMDGPU/SIInstrInfo.cpp
    M llvm/lib/Target/AMDGPU/VOP3Instructions.td
    M llvm/test/MC/AMDGPU/gfx11_asm_vop3.s
    M llvm/test/MC/AMDGPU/gfx11_asm_vop3_dpp16.s
    M llvm/test/MC/AMDGPU/gfx11_asm_vop3_dpp8.s
    M llvm/test/MC/AMDGPU/gfx12_asm_vop3.s
    M llvm/test/MC/AMDGPU/gfx12_asm_vop3_dpp16.s
    M llvm/test/MC/AMDGPU/gfx12_asm_vop3_dpp8.s
    M llvm/test/MC/Disassembler/AMDGPU/gfx11_dasm_vop3.txt
    M llvm/test/MC/Disassembler/AMDGPU/gfx11_dasm_vop3_dpp16.txt
    M llvm/test/MC/Disassembler/AMDGPU/gfx11_dasm_vop3_dpp8.txt
    M llvm/test/MC/Disassembler/AMDGPU/gfx12_dasm_vop3.txt
    M llvm/test/MC/Disassembler/AMDGPU/gfx12_dasm_vop3_dpp16.txt
    M llvm/test/MC/Disassembler/AMDGPU/gfx12_dasm_vop3_dpp8.txt

  Log Message:
  -----------
  [AMDGPU][True16][MC] true16 for v_div_fixup_f16 (#119613)

Support true16 format for v_div_fixup_f16 in MC.


  Commit: e0526b0780f56eede09b05a859a93626ecdc6e4d
      https://github.com/llvm/llvm-project/commit/e0526b0780f56eede09b05a859a93626ecdc6e4d
  Author: Brox Chen <guochen2 at amd.com>
  Date:   2024-12-18 (Wed, 18 Dec 2024)

  Changed paths:
    M llvm/lib/Target/AMDGPU/SIInstructions.td
    M llvm/lib/Target/AMDGPU/VOP3Instructions.td
    M llvm/lib/Target/AMDGPU/VOPInstructions.td
    M llvm/test/MC/AMDGPU/gfx11_asm_vop3.s
    M llvm/test/MC/AMDGPU/gfx11_asm_vop3_dpp16.s
    M llvm/test/MC/AMDGPU/gfx11_asm_vop3_dpp8.s
    M llvm/test/MC/Disassembler/AMDGPU/gfx11_dasm_vop3.txt
    M llvm/test/MC/Disassembler/AMDGPU/gfx11_dasm_vop3_dpp16.txt
    M llvm/test/MC/Disassembler/AMDGPU/gfx11_dasm_vop3_dpp8.txt

  Log Message:
  -----------
  [AMDGPU][True16][MC] true16 for v_minmax/maxmin_f16 (#119586)

Support true16 format for v_minmax/maxmin_f16 in MC.

Since we are replacing `v_minmax/maxmin_f16` to `v_minmax/maxmin_f16_t16
/ v_minmax/maxmin_f16_fake16` in Post-GFX11, have to update the CodeGen
pattern for `v_minmax/maxmin_f16` to get CodeGen test passing.


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

  Changed paths:
    M clang/include/clang-c/Index.h
    M clang/include/clang/AST/ASTNodeTraverser.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/Parse/Parser.h
    M clang/include/clang/Sema/SemaOpenACC.h
    M clang/include/clang/Serialization/ASTBitCodes.h
    M clang/lib/AST/StmtOpenACC.cpp
    M clang/lib/AST/StmtPrinter.cpp
    M clang/lib/AST/StmtProfile.cpp
    M clang/lib/AST/TextNodeDumper.cpp
    M clang/lib/CodeGen/CGStmt.cpp
    M clang/lib/CodeGen/CodeGenFunction.h
    M clang/lib/Parse/ParseOpenACC.cpp
    M clang/lib/Sema/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-wait-construct.cpp
    M clang/test/ParserOpenACC/parse-wait-construct.c
    M clang/test/SemaOpenACC/combined-construct-default-clause.c
    M clang/test/SemaOpenACC/compute-construct-default-clause.c
    M clang/test/SemaOpenACC/unimplemented-construct.c
    A clang/test/SemaOpenACC/wait-construct-ast.cpp
    A clang/test/SemaOpenACC/wait-construct.cpp
    M clang/tools/libclang/CIndex.cpp
    M clang/tools/libclang/CXCursor.cpp

  Log Message:
  -----------
  [OpenACC] Implement 'wait' construct

The arguments to this are the same as for the 'wait' clause, so this
reuses all of that infrastructure. So all this has to do is support a
pair of clauses that are already implemented (if and async), plus create
an AST node.  This patch does so, and adds proper testing.


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

  Changed paths:
    A compiler-rt/test/ubsan/TestCases/Misc/local_bounds.cpp
    A compiler-rt/test/ubsan_minimal/TestCases/local_bounds.cpp

  Log Message:
  -----------
  [ubsan] Add runtime test for -fsanitize=local-bounds (#120038)


  Commit: 7eaf4708098c216bf432fc7e0bc79c3771e793a4
      https://github.com/llvm/llvm-project/commit/7eaf4708098c216bf432fc7e0bc79c3771e793a4
  Author: Thurston Dang <thurston at google.com>
  Date:   2024-12-18 (Wed, 18 Dec 2024)

  Changed paths:
    M clang/include/clang/Basic/CodeGenOptions.h
    M clang/include/clang/Driver/Options.td
    M clang/include/clang/Driver/SanitizerArgs.h
    M clang/lib/CodeGen/CGExpr.cpp
    M clang/lib/CodeGen/CodeGenFunction.h
    M clang/lib/Driver/SanitizerArgs.cpp
    M clang/lib/Frontend/CompilerInvocation.cpp
    M clang/test/CodeGen/ubsan-trap-merge.c
    M clang/test/Driver/fsanitize.c

  Log Message:
  -----------
  [ubsan] Add -fsanitize-merge (and -fno-sanitize-merge) (#120464)

'-mllvm -ubsan-unique-traps'
(https://github.com/llvm/llvm-project/pull/65972) applies to all UBSan
checks. This patch introduces -fsanitize-merge (defaults to on,
maintaining the status quo behavior) and -fno-sanitize-merge (equivalent
to '-mllvm -ubsan-unique-traps'), with the option to selectively
applying non-merged handlers to a subset of UBSan checks (e.g.,
-fno-sanitize-merge=bool,enum).

N.B. we do not use "trap" in the argument name since
https://github.com/llvm/llvm-project/pull/119302 has generalized
-ubsan-unique-traps to work for non-trap modes (min-rt and regular rt).

This patch does not remove the -ubsan-unique-traps flag; that will
override -f(no-)sanitize-merge.


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

  Changed paths:
    M clang/lib/CodeGen/CoverageMappingGen.cpp
    M clang/test/CoverageMapping/switch.cpp
    M clang/test/CoverageMapping/switchmacro.c

  Log Message:
  -----------
  [Coverage] Resurrect Branch:FalseCnt in SwitchStmt that was pruned in #112694 (#120418)

I missed that FalseCnt for each Case was used to calculate percentage in
the SwitchStmt. At the moment I resurrect them.

In `!HasDefaultCase`, the pair of Counters shall be `[CaseCountSum,
FalseCnt]`. (Reversal of before #112694)
I think it can be considered as the False count on SwitchStmt.

FalseCnt shall be folded (same as current impl) in the coming
SingleByteCoverage changes, since percentage would not make sense.


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

  Changed paths:
    M llvm/lib/ProfileData/Coverage/CoverageMapping.cpp
    M llvm/test/tools/llvm-cov/branch-macros.cpp

  Log Message:
  -----------
  Allow `CoverageMapping::getCoverageForFile()` to show Branches also outside functions (#120416)

Fixes #119952


  Commit: 2691b964150c77a9e6967423383ad14a7693095e
      https://github.com/llvm/llvm-project/commit/2691b964150c77a9e6967423383ad14a7693095e
  Author: Thurston Dang <thurston at google.com>
  Date:   2024-12-18 (Wed, 18 Dec 2024)

  Changed paths:
    M clang/include/clang/Basic/CodeGenOptions.h
    M clang/include/clang/Driver/Options.td
    M clang/include/clang/Driver/SanitizerArgs.h
    M clang/lib/CodeGen/CGExpr.cpp
    M clang/lib/CodeGen/CodeGenFunction.h
    M clang/lib/Driver/SanitizerArgs.cpp
    M clang/lib/Frontend/CompilerInvocation.cpp
    M clang/test/CodeGen/ubsan-trap-merge.c
    M clang/test/Driver/fsanitize.c

  Log Message:
  -----------
  Revert "[ubsan] Add -fsanitize-merge (and -fno-sanitize-merge) (#120464)"

This reverts commit 7eaf4708098c216bf432fc7e0bc79c3771e793a4.

Reason: buildbot breakage (e.g.,
https://lab.llvm.org/buildbot/#/builders/144/builds/14299/steps/6/logs/FAIL__Clang__ubsan-trap-debugloc_c)


  Commit: f334db92be168876b618db72dc93078ce23ffa89
      https://github.com/llvm/llvm-project/commit/f334db92be168876b618db72dc93078ce23ffa89
  Author: Zhaoxin Yang <yangzhaoxin at loongson.cn>
  Date:   2024-12-19 (Thu, 19 Dec 2024)

  Changed paths:
    M llvm/lib/CodeGen/SelectionDAG/LegalizeIntegerTypes.cpp
    A llvm/test/CodeGen/LoongArch/lasx/fpowi.ll
    A llvm/test/CodeGen/LoongArch/lsx/fpowi.ll
    A llvm/test/CodeGen/RISCV/rvv/fixed-vectors-fpowi.ll

  Log Message:
  -----------
  [llvm][CodeGen] Intrinsic `llvm.powi.*` code gen for vector arguments (#118242)

Scalarize vector FPOWI instead of promoting the type. This allows the
scalar FPOWIs to be visited and converted to libcalls before promoting
the type.

FIXME: This should be done in LegalizeVectorOps/LegalizeDAG, but call
lowering needs the unpromoted EVT.

Without this patch, in some backends, such as RISCV64 and LoongArch64,
the i32 type is illegal and will be promoted. This causes exponent type
check to fail when ISD::FPOWI node generates a libcall.

Fix https://github.com/llvm/llvm-project/issues/118079


  Commit: 60a2f32cf5ce75c9a2511d7fc2b0f24699605912
      https://github.com/llvm/llvm-project/commit/60a2f32cf5ce75c9a2511d7fc2b0f24699605912
  Author: Thurston Dang <thurston at google.com>
  Date:   2024-12-19 (Thu, 19 Dec 2024)

  Changed paths:
    M clang/lib/Driver/SanitizerArgs.cpp
    M clang/test/Driver/sanitizer-ld.c
    M compiler-rt/test/hwasan/TestCases/sizes.cpp

  Log Message:
  -----------
  Revert "[driver] Fix sanitizer libc++ runtime linking (#120370)"

This reverts commit 9af5de320b77d3757ea2b7e3d85c67f88dfbabb5.

Reason: buildbot breakage
(https://lab.llvm.org/buildbot/#/builders/24/builds/3394/steps/10/logs/stdio)
"Unexpectedly Passed Tests (1):
   llvm-libc++-shared.cfg.in :: libcxx/language.support/support.dynamic/libcpp_deallocate.sh.cpp"


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

  Changed paths:
    M clang/include/clang/Basic/CodeGenOptions.h
    M clang/include/clang/Driver/Options.td
    M clang/include/clang/Driver/SanitizerArgs.h
    M clang/lib/CodeGen/CGExpr.cpp
    M clang/lib/CodeGen/CodeGenFunction.h
    M clang/lib/Driver/SanitizerArgs.cpp
    M clang/lib/Frontend/CompilerInvocation.cpp
    M clang/test/CodeGen/ubsan-trap-debugloc.c
    M clang/test/CodeGen/ubsan-trap-merge.c
    M clang/test/Driver/fsanitize.c

  Log Message:
  -----------
  Reapply "[ubsan] Add -fsanitize-merge (and -fno-sanitize-merge) (#120…464)" (#120511)

This reverts commit 2691b964150c77a9e6967423383ad14a7693095e. This
reapply fixes the buildbot breakage of the original patch, by updating
clang/test/CodeGen/ubsan-trap-debugloc.c to specify -fsanitize-merge
(the default, which is merge, is applied by the driver but not
clang_cc1).

This reapply also expands clang/test/CodeGen/ubsan-trap-merge.c.

----

Original commit message:
'-mllvm -ubsan-unique-traps'
(https://github.com/llvm/llvm-project/pull/65972) applies to all UBSan
checks. This patch introduces -fsanitize-merge (defaults to on,
maintaining the status quo behavior) and -fno-sanitize-merge (equivalent
to '-mllvm -ubsan-unique-traps'), with the option to selectively
applying non-merged handlers to a subset of UBSan checks (e.g.,
-fno-sanitize-merge=bool,enum).

N.B. we do not use "trap" in the argument name since
https://github.com/llvm/llvm-project/pull/119302 has generalized
-ubsan-unique-traps to work for non-trap modes (min-rt and regular rt).

This patch does not remove the -ubsan-unique-traps flag; that will
override -f(no-)sanitize-merge.


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

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

  Log Message:
  -----------
  [flang][cuda] Allocate descriptor in managed memory when emboxing device memory (#120485)

When emboxing memory that comes from CUFMemAlloc, we need to allocate
the descriptor in manage memory as it might be passed to a kernel.


  Commit: 89b34ec9ccb93bff5064227ac2424cc1bdf73b8d
      https://github.com/llvm/llvm-project/commit/89b34ec9ccb93bff5064227ac2424cc1bdf73b8d
  Author: Nico Weber <thakis at chromium.org>
  Date:   2024-12-18 (Wed, 18 Dec 2024)

  Changed paths:
    M llvm/utils/gn/secondary/llvm/lib/Target/targets_with_exegesis.gni
    A llvm/utils/gn/secondary/llvm/tools/llvm-exegesis/lib/RISCV/BUILD.gn

  Log Message:
  -----------
  [gn] port 8e8692a5420370 (RISCV support for llvm-exegesis)


  Commit: b56d1ec6cb8b5cb3ff46cba39a1049ecf3831afb
      https://github.com/llvm/llvm-project/commit/b56d1ec6cb8b5cb3ff46cba39a1049ecf3831afb
  Author: Peter Hawkins <phawkins at google.com>
  Date:   2024-12-18 (Wed, 18 Dec 2024)

  Changed paths:
    M mlir/cmake/modules/MLIRDetectPythonEnv.cmake
    M mlir/include/mlir/Bindings/Python/IRTypes.h
    M mlir/include/mlir/Bindings/Python/NanobindAdaptors.h
    M mlir/include/mlir/Bindings/Python/PybindAdaptors.h
    M mlir/lib/Bindings/Python/Globals.h
    M mlir/lib/Bindings/Python/IRAffine.cpp
    M mlir/lib/Bindings/Python/IRAttributes.cpp
    M mlir/lib/Bindings/Python/IRCore.cpp
    M mlir/lib/Bindings/Python/IRInterfaces.cpp
    M mlir/lib/Bindings/Python/IRModule.cpp
    M mlir/lib/Bindings/Python/IRModule.h
    M mlir/lib/Bindings/Python/IRTypes.cpp
    M mlir/lib/Bindings/Python/MainModule.cpp
    A mlir/lib/Bindings/Python/NanobindUtils.h
    M mlir/lib/Bindings/Python/Pass.cpp
    M mlir/lib/Bindings/Python/Pass.h
    R mlir/lib/Bindings/Python/PybindUtils.h
    M mlir/lib/Bindings/Python/Rewrite.cpp
    M mlir/lib/Bindings/Python/Rewrite.h
    M mlir/python/CMakeLists.txt
    M mlir/python/requirements.txt
    M mlir/test/python/ir/symbol_table.py
    M utils/bazel/WORKSPACE
    M utils/bazel/llvm-project-overlay/mlir/BUILD.bazel

  Log Message:
  -----------
  [mlir python] Port Python core code to nanobind. (#120473)

Relands #118583, with a fix for Python 3.8 compatibility. It was not
possible to set the buffer protocol accessers via slots in Python 3.8.

Why? https://nanobind.readthedocs.io/en/latest/why.html says it better
than I can, but my primary motivation for this change is to improve MLIR
IR construction time from JAX.

For a complicated Google-internal LLM model in JAX, this change improves
the MLIR
lowering time by around 5s (out of around 30s), which is a significant
speedup for simply switching binding frameworks.

To a large extent, this is a mechanical change, for instance changing
`pybind11::` to `nanobind::`.

Notes:
* this PR needs Nanobind 2.4.0, because it needs a bug fix
(https://github.com/wjakob/nanobind/pull/806) that landed in that
release.
* this PR does not port the in-tree dialect extension modules. They can
be ported in a future PR.
* I removed the py::sibling() annotations from def_static and def_class
in `PybindAdapters.h`. These ask pybind11 to try to form an overload
with an existing method, but it's not possible to form mixed
pybind11/nanobind overloads this ways and the parent class is now
defined in nanobind. Better solutions may be possible here.
* nanobind does not contain an exact equivalent of pybind11's buffer
protocol support. It was not hard to add a nanobind implementation of a
similar API.
* nanobind is pickier about casting to std::vector<bool>, expecting that
the input is a sequence of bool types, not truthy values. In a couple of
places I added code to support truthy values during casting.
* nanobind distinguishes bytes (`nb::bytes`) from strings (e.g.,
`std::string`). This required nb::bytes overloads in a few places.


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

  Changed paths:
    M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
    M llvm/lib/Target/RISCV/RISCVISelLowering.h
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vpmerge.ll
    M llvm/test/CodeGen/RISCV/rvv/vpmerge-sdnode.ll

  Log Message:
  -----------
  [RISCV] Custom legalize vp.merge for mask vectors. (#120479)

The default legalization uses vmslt with a vector of XLen to compute a
mask. This doesn't work if the type isn't legal. For fixed vectors it
will scalarize. For scalable vectors it crashes the compiler.

This patch uses an alternate strategy that promotes the i1 vector to an
i8 vector and does the merge. I don't claim this to be the best
lowering. I wrote it quickly almost 3 years ago when a crash was
reported in our downstream.

Fixes #120405.


  Commit: f0dcf3240dffe3767c7f3a2e2da5b92ae9fd1bef
      https://github.com/llvm/llvm-project/commit/f0dcf3240dffe3767c7f3a2e2da5b92ae9fd1bef
  Author: Nathan Chancellor <nathan at kernel.org>
  Date:   2024-12-18 (Wed, 18 Dec 2024)

  Changed paths:
    M clang/lib/Sema/SemaExpr.cpp
    M clang/test/Sema/tautological-pointer-comparison.c

  Log Message:
  -----------
  [Sema] Fix tautological bounds check warning with -fwrapv (#120480)

The tautological bounds check warning added in #120222 does not take
into account whether signed integer overflow is well defined or not,
which could result in a developer removing a bounds check that may not
actually be always false because of different overflow semantics.

```c
int check(const int* foo, unsigned int idx)
{
    return foo + idx < foo;
}
```

```
$ clang -O2 -c test.c
test.c:3:19: warning: pointer comparison always evaluates to false [-Wtautological-compare]
    3 |         return foo + idx < foo;
      |                          ^
1 warning generated.

# Bounds check is eliminated without -fwrapv, warning was correct
$ llvm-objdump -dr test.o
...
0000000000000000 <check>:
       0: 31 c0                         xorl    %eax, %eax
       2: c3                            retq
```

```
$ clang -O2 -fwrapv -c test.c
test.c:3:19: warning: pointer comparison always evaluates to false [-Wtautological-compare]
    3 |         return foo + idx < foo;
      |                          ^
1 warning generated.

# Bounds check remains, warning was wrong
$ llvm-objdump -dr test.o
0000000000000000 <check>:
       0: 89 f0                         movl    %esi, %eax
       2: 48 8d 0c 87                   leaq    (%rdi,%rax,4), %rcx
       6: 31 c0                         xorl    %eax, %eax
       8: 48 39 f9                      cmpq    %rdi, %rcx
       b: 0f 92 c0                      setb    %al
       e: c3                            retq
```


  Commit: 1cc926b8b6976ac4a5a411eae564cfde2df1ef9d
      https://github.com/llvm/llvm-project/commit/1cc926b8b6976ac4a5a411eae564cfde2df1ef9d
  Author: Pavel Samolysov <samolisov at gmail.com>
  Date:   2024-12-19 (Thu, 19 Dec 2024)

  Changed paths:
    M llvm/unittests/ADT/CMakeLists.txt
    A llvm/unittests/ADT/ScopedHashTableTest.cpp

  Log Message:
  -----------
  [ADT] Add a unittest for the ScopedHashTable class (#120183)

The ScopedHashTable class is particularly used to develop string tables
for parsers and code convertors. For instance, the MLIRGen class from the
toy example for MLIR actively uses this class to define scopes for
declared variables. To demonstrate common use cases for the
ScopedHashTable class as well as to check its behavior in different
situations, the unittest has been added.

Signed-off-by: Pavel Samolysov <samolisov at gmail.com>


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

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

  Log Message:
  -----------
  [gn build] Port 1cc926b8b697


  Commit: fe2685303b215182b1acc5b6fb8be30c24bd6e8e
      https://github.com/llvm/llvm-project/commit/fe2685303b215182b1acc5b6fb8be30c24bd6e8e
  Author: Owen Pan <owenpiano at gmail.com>
  Date:   2024-12-18 (Wed, 18 Dec 2024)

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

  Log Message:
  -----------
  [clang-format] Fix a crash caused by commit f03bf8c45f43


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

  Changed paths:
    M llvm/unittests/ADT/ScopedHashTableTest.cpp

  Log Message:
  -----------
  [ADT] Fix warnings

This patch fixes warnings of the form:

  llvm/unittests/ADT/ScopedHashTableTest.cpp:41:20: error:
  'ScopedHashTableScope' may not intend to support class template
  argument deduction [-Werror,-Wctad-maybe-unsupported]


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

  Changed paths:
    M llvm/include/llvm/CodeGen/SelectionDAGNodes.h
    M llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
    M llvm/lib/CodeGen/SelectionDAG/InstrEmitter.cpp
    M llvm/lib/CodeGen/SelectionDAG/LegalizeDAG.cpp
    M llvm/lib/CodeGen/SelectionDAG/LegalizeTypes.cpp
    M llvm/lib/CodeGen/SelectionDAG/ScheduleDAGFast.cpp
    M llvm/lib/CodeGen/SelectionDAG/ScheduleDAGSDNodes.cpp
    M llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp
    M llvm/lib/CodeGen/SelectionDAG/SelectionDAGISel.cpp
    M llvm/lib/Target/AArch64/AArch64ISelDAGToDAG.cpp
    M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
    M llvm/lib/Target/AMDGPU/AMDGPUISelLowering.cpp
    M llvm/lib/Target/AMDGPU/SIISelLowering.cpp
    M llvm/lib/Target/ARM/ARMISelLowering.cpp
    M llvm/lib/Target/Hexagon/HexagonISelDAGToDAGHVX.cpp
    M llvm/lib/Target/LoongArch/LoongArchISelLowering.cpp
    M llvm/lib/Target/M68k/M68kISelLowering.cpp
    M llvm/lib/Target/NVPTX/NVPTXISelDAGToDAG.cpp
    M llvm/lib/Target/NVPTX/NVPTXISelLowering.cpp
    M llvm/lib/Target/PowerPC/PPCISelDAGToDAG.cpp
    M llvm/lib/Target/PowerPC/PPCISelLowering.cpp
    M llvm/lib/Target/RISCV/RISCVISelDAGToDAG.cpp
    M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
    M llvm/lib/Target/SystemZ/SystemZISelDAGToDAG.cpp
    M llvm/lib/Target/SystemZ/SystemZISelLowering.cpp
    M llvm/lib/Target/VE/VEISelLowering.cpp
    M llvm/lib/Target/X86/X86ISelDAGToDAG.cpp
    M llvm/lib/Target/X86/X86ISelLowering.cpp
    M llvm/lib/Target/X86/X86ISelLoweringCall.cpp

  Log Message:
  -----------
  [SelectionDAG] Rename SDNode::uses() to users(). (#120499)

This function is most often used in range based loops or algorithms
where the iterator is implicitly dereferenced. The dereference returns
an SDNode * of the user rather than SDUse * so users() is a better name.

I've long beeen annoyed that we can't write a range based loop over
SDUse when we need getOperandNo. I plan to rename use_iterator to
user_iterator and add a use_iterator that returns SDUse& on dereference.
This will make it more like IR.


  Commit: 2302142f2318ba9624b847cd8c1a7e2d255be5c5
      https://github.com/llvm/llvm-project/commit/2302142f2318ba9624b847cd8c1a7e2d255be5c5
  Author: Tyler Nowicki <tyler.nowicki at amd.com>
  Date:   2024-12-18 (Wed, 18 Dec 2024)

  Changed paths:
    M llvm/docs/Coroutines.rst

  Log Message:
  -----------
  [Coroutines][Docs] Add a discussion on the handling of certain parameter attribs (#117183)

ByVal arguments and Swifterror require special handling in the coroutine
passes. The goal of this section is to provide a description of how
these parameter attributes are handled.


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

  Changed paths:
    M llvm/lib/Target/RISCV/RISCVInstrInfo.cpp
    M llvm/lib/Target/RISCV/RISCVInstrInfo.h
    M llvm/lib/Target/RISCV/RISCVSubtarget.cpp
    M llvm/lib/Target/RISCV/RISCVSubtarget.h
    M llvm/lib/Target/RISCV/RISCVTargetMachine.cpp
    A llvm/test/CodeGen/RISCV/machine-pipeliner.ll

  Log Message:
  -----------
  [RISCV] Add software pipeliner support (#117546)

This patch adds basic support of `MachinePipeliner` and disable
it by default.
    
The functionality should be OK and all llvm-test-suite tests have
passed.


  Commit: 5c55f9664f7e2f9fe29589a97bc5818d6b8d3c9c
      https://github.com/llvm/llvm-project/commit/5c55f9664f7e2f9fe29589a97bc5818d6b8d3c9c
  Author: Younan Zhang <zyn7109 at gmail.com>
  Date:   2024-12-19 (Thu, 19 Dec 2024)

  Changed paths:
    M clang/docs/ReleaseNotes.rst
    M clang/include/clang/Basic/DiagnosticSemaKinds.td
    M clang/lib/Sema/SemaTemplateVariadic.cpp
    M clang/test/SemaTemplate/pack-deduction.cpp

  Log Message:
  -----------
  [Clang] Don't assume unexpanded PackExpansions' size when expanding packs (#120380)

CheckParameterPacksForExpansion() previously assumed that template
arguments don't include PackExpansion types when attempting another pack
expansion (i.e. when NumExpansions is present). However, this assumption
doesn't hold for type aliases, whose substitution might involve
unexpanded packs. This can lead to incorrect diagnostics during
substitution because the pack size is not yet determined.

To address this, this patch calculates the minimum pack size (ignoring
unexpanded PackExpansionTypes) and compares it to the previously
expanded size. If the minimum pack size is smaller, then there's still a
chance for future substitution to expand it to a correct size, so we
don't diagnose it too eagerly.

Fixes #61415
Fixes #32252
Fixes #17042


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

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

  Log Message:
  -----------
  [SelectionDAG] Replace findGlueUse in SelectionDAGISel with SDNode::getGluedUser. NFC (#120512)


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

  Changed paths:
    M llvm/include/llvm/CodeGen/SelectionDAGNodes.h
    M llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
    M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
    M llvm/lib/Target/AMDGPU/AMDGPUISelLowering.cpp
    M llvm/lib/Target/AMDGPU/SIISelLowering.cpp
    M llvm/lib/Target/ARM/ARMISelDAGToDAG.cpp
    M llvm/lib/Target/ARM/ARMISelLowering.cpp
    M llvm/lib/Target/Hexagon/HexagonISelDAGToDAG.cpp
    M llvm/lib/Target/LoongArch/LoongArchISelLowering.cpp
    M llvm/lib/Target/PowerPC/PPCISelDAGToDAG.cpp
    M llvm/lib/Target/PowerPC/PPCISelLowering.cpp
    M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
    M llvm/lib/Target/SystemZ/SystemZISelDAGToDAG.cpp
    M llvm/lib/Target/SystemZ/SystemZISelLowering.cpp
    M llvm/lib/Target/X86/X86ISelLowering.cpp
    M llvm/lib/Target/X86/X86ISelLoweringCall.cpp

  Log Message:
  -----------
  [SelectionDAG] Add SDNode::user_begin() and use it in some places (#120509)

Most of these are just places that want the first user and aren't
iterating over the whole list.

While there I changed some use_size() == 1 to hasOneUse() which
is more efficient.

This is part of an effort to rename use_iterator to user_iterator
and provide a use_iterator that dereferences to SDUse&. This patch
helps reduce the diff on later patches.


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

  Changed paths:
    R llvm/test/tools/llvm-mca/RISCV/SiFive7/reductions.s
    R llvm/test/tools/llvm-mca/RISCV/SiFive7/strided-load-store.s
    R llvm/test/tools/llvm-mca/RISCV/SiFive7/strided-load-x0.s
    R llvm/test/tools/llvm-mca/RISCV/SiFive7/vector-integer-arithmetic.s
    A llvm/test/tools/llvm-mca/RISCV/SiFiveX280/different-lmul-instruments.s
    A llvm/test/tools/llvm-mca/RISCV/SiFiveX280/different-sew-instruments.s
    A llvm/test/tools/llvm-mca/RISCV/SiFiveX280/disable-im.s
    A llvm/test/tools/llvm-mca/RISCV/SiFiveX280/fractional-lmul-data.s
    A llvm/test/tools/llvm-mca/RISCV/SiFiveX280/lmul-instrument-at-start.s
    A llvm/test/tools/llvm-mca/RISCV/SiFiveX280/lmul-instrument-in-middle.s
    A llvm/test/tools/llvm-mca/RISCV/SiFiveX280/lmul-instrument-in-region.s
    A llvm/test/tools/llvm-mca/RISCV/SiFiveX280/lmul-instrument-straddles-region.s
    A llvm/test/tools/llvm-mca/RISCV/SiFiveX280/multiple-same-lmul-instruments.s
    A llvm/test/tools/llvm-mca/RISCV/SiFiveX280/multiple-same-sew-instruments.s
    A llvm/test/tools/llvm-mca/RISCV/SiFiveX280/needs-sew-but-only-lmul.s
    A llvm/test/tools/llvm-mca/RISCV/SiFiveX280/no-vsetvli-to-start.s
    A llvm/test/tools/llvm-mca/RISCV/SiFiveX280/reductions.s
    A llvm/test/tools/llvm-mca/RISCV/SiFiveX280/riscv-lmul-instrument-no-data-is-err.s
    A llvm/test/tools/llvm-mca/RISCV/SiFiveX280/riscv-sew-instrument-no-data-is-err.s
    A llvm/test/tools/llvm-mca/RISCV/SiFiveX280/sew-instrument-at-start.s
    A llvm/test/tools/llvm-mca/RISCV/SiFiveX280/sew-instrument-in-middle.s
    A llvm/test/tools/llvm-mca/RISCV/SiFiveX280/sew-instrument-in-region.s
    A llvm/test/tools/llvm-mca/RISCV/SiFiveX280/sew-instrument-straddles-region.s
    A llvm/test/tools/llvm-mca/RISCV/SiFiveX280/strided-load-store.s
    A llvm/test/tools/llvm-mca/RISCV/SiFiveX280/strided-load-x0.s
    A llvm/test/tools/llvm-mca/RISCV/SiFiveX280/unknown-instrument-is-err.s
    A llvm/test/tools/llvm-mca/RISCV/SiFiveX280/unknown-lmul-is-err.s
    A llvm/test/tools/llvm-mca/RISCV/SiFiveX280/unknown-sew-is-err.s
    A llvm/test/tools/llvm-mca/RISCV/SiFiveX280/vector-integer-arithmetic.s
    A llvm/test/tools/llvm-mca/RISCV/SiFiveX280/vle-vse.s
    A llvm/test/tools/llvm-mca/RISCV/SiFiveX280/vsetivli-lmul-instrument.s
    A llvm/test/tools/llvm-mca/RISCV/SiFiveX280/vsetivli-lmul-sew-instrument.s
    A llvm/test/tools/llvm-mca/RISCV/SiFiveX280/vsetvli-lmul-instrument.s
    A llvm/test/tools/llvm-mca/RISCV/SiFiveX280/vsetvli-lmul-sew-instrument.s
    R llvm/test/tools/llvm-mca/RISCV/different-lmul-instruments.s
    R llvm/test/tools/llvm-mca/RISCV/different-sew-instruments.s
    R llvm/test/tools/llvm-mca/RISCV/disable-im.s
    R llvm/test/tools/llvm-mca/RISCV/fractional-lmul-data.s
    R llvm/test/tools/llvm-mca/RISCV/lmul-instrument-at-start.s
    R llvm/test/tools/llvm-mca/RISCV/lmul-instrument-in-middle.s
    R llvm/test/tools/llvm-mca/RISCV/lmul-instrument-in-region.s
    R llvm/test/tools/llvm-mca/RISCV/lmul-instrument-straddles-region.s
    R llvm/test/tools/llvm-mca/RISCV/multiple-same-lmul-instruments.s
    R llvm/test/tools/llvm-mca/RISCV/multiple-same-sew-instruments.s
    R llvm/test/tools/llvm-mca/RISCV/needs-sew-but-only-lmul.s
    R llvm/test/tools/llvm-mca/RISCV/no-vsetvli-to-start.s
    R llvm/test/tools/llvm-mca/RISCV/riscv-lmul-instrument-no-data-is-err.s
    R llvm/test/tools/llvm-mca/RISCV/riscv-sew-instrument-no-data-is-err.s
    R llvm/test/tools/llvm-mca/RISCV/sew-instrument-at-start.s
    R llvm/test/tools/llvm-mca/RISCV/sew-instrument-in-middle.s
    R llvm/test/tools/llvm-mca/RISCV/sew-instrument-in-region.s
    R llvm/test/tools/llvm-mca/RISCV/sew-instrument-straddles-region.s
    R llvm/test/tools/llvm-mca/RISCV/unknown-instrument-is-err.s
    R llvm/test/tools/llvm-mca/RISCV/unknown-lmul-is-err.s
    R llvm/test/tools/llvm-mca/RISCV/unknown-sew-is-err.s
    R llvm/test/tools/llvm-mca/RISCV/vle-vse.s
    R llvm/test/tools/llvm-mca/RISCV/vsetivli-lmul-instrument.s
    R llvm/test/tools/llvm-mca/RISCV/vsetivli-lmul-sew-instrument.s
    R llvm/test/tools/llvm-mca/RISCV/vsetvli-lmul-instrument.s
    R llvm/test/tools/llvm-mca/RISCV/vsetvli-lmul-sew-instrument.s

  Log Message:
  -----------
  [RISCV][MCA] Move sifive-x280 tests to directory SiFiveX280 (#120522)


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

  Changed paths:
    M llvm/test/MC/ELF/noexec.s
    M llvm/tools/llvm-mc/llvm-mc.cpp

  Log Message:
  -----------
  [llvm-mc] --no-exec-stack: replace initSection with switchSection. NFC

AsmParser will call initSection unless -n is specified.
It is not good to call initSection twice.


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

  Changed paths:
    A llvm/include/llvm/Analysis/DroppedVariableStats.h
    R llvm/include/llvm/Passes/DroppedVariableStats.h
    M llvm/include/llvm/Passes/StandardInstrumentations.h
    M llvm/lib/Analysis/CMakeLists.txt
    A llvm/lib/Analysis/DroppedVariableStats.cpp
    M llvm/lib/Passes/CMakeLists.txt
    R llvm/lib/Passes/DroppedVariableStats.cpp

  Log Message:
  -----------
  [NFC] Move DroppedVariableStats code to Analysis (#120502)

This is done because the CodeGen library and Passes library both link
against Analysis, to avoid adding a dependency between CodeGen and
Passes if we want to extend the DroppedVariableStats code for MIR stats
as well, as seen in https://github.com/llvm/llvm-project/pull/120501


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

  Changed paths:
    M llvm/utils/gn/secondary/llvm/lib/Analysis/BUILD.gn
    M llvm/utils/gn/secondary/llvm/lib/Passes/BUILD.gn

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


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

  Changed paths:
    M llvm/Maintainers.md

  Log Message:
  -----------
  [LLVM] Update BPF maintainer (#120429)

Nowadays yonghong-song and eddyz87 are more involved with LLVM
BPF development than 4ast, so update the maintainer list to reflect
this.


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

  Changed paths:
    M llvm/Maintainers.md

  Log Message:
  -----------
  [LLVM] Move Bigcheese to inactive maintainer for Windows object tools (#120425)

Bigcheese isn't actively working on Windows support in object tools
anymore, so move him to the inactive maintainer list. I'm also not
aware of anyone else who is actively involved in this area currently,
so I'm dropping the category entirely for now.


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

  Changed paths:
    M llvm/Maintainers.md

  Log Message:
  -----------
  [LLVM] Update maintainers for binary utilities (#120428)

We currently list jakehehrlich as the maintainer for llvm-objcopy /
ObjCopy, but he hasn't been involved with LLVM for more than 5 years.

Convert the llvm-object category into a broader binary utilities
category and add jh7370 and MaskRay as the new maintainers.


  Commit: 223c7648468cd4f649a578d3f9cbc27a63523192
      https://github.com/llvm/llvm-project/commit/223c7648468cd4f649a578d3f9cbc27a63523192
  Author: Shubham Sandeep Rastogi <srastogi22 at apple.com>
  Date:   2024-12-19 (Thu, 19 Dec 2024)

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

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

Reland "Add a pass to collect dropped var stats for MIR" (#117044)

I am trying to reland https://github.com/llvm/llvm-project/pull/115566

I also moved the DroppedVariableStats code to the Analysis lib

This is part of a stack of patches with
https://github.com/llvm/llvm-project/pull/120502 being the first one in
the stack


  Commit: 16d952898f2b41e768f7f2bfd867e48a5b7ef976
      https://github.com/llvm/llvm-project/commit/16d952898f2b41e768f7f2bfd867e48a5b7ef976
  Author: Shubham Sandeep Rastogi <srastogi22 at apple.com>
  Date:   2024-12-19 (Thu, 19 Dec 2024)

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

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

This reverts commit 223c7648468cd4f649a578d3f9cbc27a63523192.

Reverted due to vuildbot failure:

flang-aarch64-libcxx

Linking CXX shared library lib/libLLVMAnalysis.so.20.0git
FAILED: lib/libLLVMAnalysis.so.20.0git


  Commit: 0f9257b9abab72afdc210412a21c628f2df1a1f0
      https://github.com/llvm/llvm-project/commit/0f9257b9abab72afdc210412a21c628f2df1a1f0
  Author: Djordje Todorovic <djordje.todorovic at htecgroup.com>
  Date:   2024-12-19 (Thu, 19 Dec 2024)

  Changed paths:
    M llvm/lib/Target/RISCV/RISCV.td
    M llvm/lib/Target/RISCV/RISCVProcessors.td
    A llvm/lib/Target/RISCV/RISCVSchedMIPSP8700.td
    A llvm/test/tools/llvm-mca/RISCV/MIPS/p8700.s

  Log Message:
  -----------
  [RISCV] Add scheduling model for mips p8700 CPU (#119885)

Depends on #119882.


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

  Changed paths:
    M llvm/Maintainers.md

  Log Message:
  -----------
  [LLVM] Update ADT/Support maintainers (#120423)

Nominate dwblaikie and kuhar as new maintainers for ADT/Support,
replacing chandlerc.


  Commit: 9fa109a5088bff9e8eabf6d67d0650fbd3db27cb
      https://github.com/llvm/llvm-project/commit/9fa109a5088bff9e8eabf6d67d0650fbd3db27cb
  Author: Djordje Todorovic <djordje.todorovic at htecgroup.com>
  Date:   2024-12-19 (Thu, 19 Dec 2024)

  Changed paths:
    M llvm/lib/Target/RISCV/RISCV.td
    M llvm/lib/Target/RISCV/RISCVProcessors.td
    R llvm/lib/Target/RISCV/RISCVSchedMIPSP8700.td
    R llvm/test/tools/llvm-mca/RISCV/MIPS/p8700.s

  Log Message:
  -----------
  Revert "[RISCV] Add scheduling model for mips p8700 CPU" (#120537)

Reverts llvm/llvm-project#119885

llvm-project/llvm/lib/Target/RISCV/RISCVSchedMIPSP8700.td:20:5:
error: Processor does not define resources for WriteFCvtF32ToF16
def MIPSP8700Model : SchedMachineModel {


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

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

  Log Message:
  -----------
  [TOSA] Don't run validation pass on non TOSA operations (#120205)

This commit ensures the validation pass is not run on operations from
other dialects. In doing so, operations from other dialects that, for
example, use types not supported by TOSA don't result in an error.

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


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

  Changed paths:
    M clang/lib/Driver/SanitizerArgs.cpp
    M clang/test/Driver/sanitizer-ld.c

  Log Message:
  -----------
  Reapply "[driver] Fix sanitizer libc++ runtime linking (#120370)" (#120538)

Reland without item 2 from #120370 to avoid breaking libc++ tests.

This reverts commit 60a2f32cf5ce75c9a2511d7fc2b0f24699605912.


  Commit: 9fc2fadbfcb34df5f72bdaed28a7874bf584eed7
      https://github.com/llvm/llvm-project/commit/9fc2fadbfcb34df5f72bdaed28a7874bf584eed7
  Author: Oliver Stannard <oliver.stannard at arm.com>
  Date:   2024-12-19 (Thu, 19 Dec 2024)

  Changed paths:
    M clang/include/clang/Basic/Builtins.td
    M clang/lib/AST/Expr.cpp
    M clang/lib/CodeGen/CGAtomic.cpp
    M clang/lib/CodeGen/CGBuiltin.cpp
    M clang/lib/Sema/SemaChecking.cpp
    A clang/test/CodeGen/atomic-test-and-set.c
    M clang/test/Sema/atomic-ops.c

  Log Message:
  -----------
  [Clang] Re-write codegen for atomic_test_and_set and atomic_clear (#120449)

Re-write the sema and codegen for the atomic_test_and_set and
atomic_clear builtin functions to go via AtomicExpr, like the other
atomic builtins do. This simplifies the code, because AtomicExpr already
handles things like generating code for to dynamically select the memory
ordering, which was duplicated for these builtins. This also fixes a few
crash bugs, one when passing an integer to the pointer argument, and one
when using an array.

This also adds diagnostics for the memory orderings which are not valid
for atomic_clear according to
https://gcc.gnu.org/onlinedocs/gcc/_005f_005fatomic-Builtins.html, which
were missing before.

Fixes #111293.


  Commit: 2210da3b823ccf21fc634c858827c9f12c864b51
      https://github.com/llvm/llvm-project/commit/2210da3b823ccf21fc634c858827c9f12c864b51
  Author: Dhruv Srivastava <dhruv.srivastava at ibm.com>
  Date:   2024-12-19 (Thu, 19 Dec 2024)

  Changed paths:
    M lldb/source/Host/posix/ProcessLauncherPosixFork.cpp

  Log Message:
  -----------
  [lldb][AIX] clang-format changes for ProcessLauncherPosixFork.cpp (#120459)

This PR is in reference to porting LLDB on AIX.

Link to discussions on llvm discourse and github:

1. https://discourse.llvm.org/t/port-lldb-to-ibm-aix/80640
2. https://github.com/llvm/llvm-project/issues/101657
The complete changes for porting are present in this draft PR:
https://github.com/llvm/llvm-project/pull/102601

Added clang-format changes for ProcessLauncherPosixFork.cpp which will
be followed by ptrace changes in:
- https://github.com/llvm/llvm-project/pull/120390


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

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

  Log Message:
  -----------
  [AArch64][SME2] Extend getRegAllocationHints for ZPRStridedOrContiguousReg (#119865)

ZPR2StridedOrContiguous loads used by a FORM_TRANSPOSED_REG_TUPLE
pseudo should attempt to assign a strided register to avoid unnecessary
copies, even though this may overlap with the list of SVE callee-saved registers.


  Commit: 3c661cf03a2b1f669710a93bf73b15c831171888
      https://github.com/llvm/llvm-project/commit/3c661cf03a2b1f669710a93bf73b15c831171888
  Author: Daniil Kovalev <dkovalev at accesssoftek.com>
  Date:   2024-12-19 (Thu, 19 Dec 2024)

  Changed paths:
    M llvm/lib/Target/AArch64/AArch64MCInstLower.cpp
    M llvm/lib/Target/AArch64/AsmParser/AArch64AsmParser.cpp
    M llvm/lib/Target/AArch64/MCTargetDesc/AArch64ELFObjectWriter.cpp
    M llvm/lib/Target/AArch64/MCTargetDesc/AArch64MCExpr.cpp
    M llvm/lib/Target/AArch64/MCTargetDesc/AArch64MCExpr.h
    M llvm/test/MC/AArch64/arm64-elf-relocs.s
    M llvm/test/MC/AArch64/ilp32-diagnostics.s

  Log Message:
  -----------
  [PAC][MC][ELF][AArch64] Support signed TLSDESC (#120010)

Support the following relocations and assembly operators:

- `R_AARCH64_AUTH_TLSDESC_ADR_PAGE21` (`:tlsdesc_auth:` for `adrp`)
- `R_AARCH64_AUTH_TLSDESC_LD64_LO12` (`:tlsdesc_auth_lo12:` for `ldr`)
- `R_AARCH64_AUTH_TLSDESC_ADD_LO12` (`:tlsdesc_auth_lo12:` for `add`)


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

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

  Log Message:
  -----------
  [X86] LowerShift - directly initialize SmallVector with build vector operands. NFC.

Don't push_back the operands separately.


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

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

  Log Message:
  -----------
  [X86] ExtendToType - directly initialize SmallVector with build vector operands. NFC.

Don't push_back the operands separately.


  Commit: c616fdc8d0d6598679f667c351b458cb1cf8101b
      https://github.com/llvm/llvm-project/commit/c616fdc8d0d6598679f667c351b458cb1cf8101b
  Author: Edd Dawson <edd.dawson at sony.com>
  Date:   2024-12-19 (Thu, 19 Dec 2024)

  Changed paths:
    M clang/lib/Driver/ToolChains/PS4CPU.cpp
    M clang/test/Driver/ps5-linker.c

  Log Message:
  -----------
  [PS5][Driver] Pass user search paths to linker before implict ones (#119875)

Responsibility for setting up implicit library search paths was recently
transferred to the PS5 driver (llvm#109796). Prior to this, SIE private
patches in lld performed this function. During the transition, I failed
to maintain the order in which implicit and user-supplied search paths
were supplied/considered. This change ensures user-supplied search paths
appear before any implicit ones on the link line.

SIE tracker: TOOLCHAIN-17490


  Commit: 10d84a86e54cfd0dcd3412e415edeb36b3f622c3
      https://github.com/llvm/llvm-project/commit/10d84a86e54cfd0dcd3412e415edeb36b3f622c3
  Author: Mikhail Goncharov <goncharov.mikhail at gmail.com>
  Date:   2024-12-19 (Thu, 19 Dec 2024)

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

  Log Message:
  -----------
  [bazel] port 79e859e049c77b5190a54fc1ecf1d262e3ef9f11


  Commit: cffe22a93726a64e6a205b5dcd1c306a62488412
      https://github.com/llvm/llvm-project/commit/cffe22a93726a64e6a205b5dcd1c306a62488412
  Author: Mikhail Goncharov <goncharov.mikhail at gmail.com>
  Date:   2024-12-19 (Thu, 19 Dec 2024)

  Changed paths:
    R llvm/include/llvm/Analysis/DroppedVariableStats.h
    A llvm/include/llvm/Passes/DroppedVariableStats.h
    M llvm/include/llvm/Passes/StandardInstrumentations.h
    M llvm/lib/Analysis/CMakeLists.txt
    R llvm/lib/Analysis/DroppedVariableStats.cpp
    M llvm/lib/Passes/CMakeLists.txt
    A llvm/lib/Passes/DroppedVariableStats.cpp

  Log Message:
  -----------
  Revert "[NFC] Move DroppedVariableStats code to Analysis (#120502)"

that introduces a circular dependency of analysis -> codegen -> target

This reverts commit e389492d6a00e1c49a034e13343098541ebd03c6.


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

  Changed paths:
    M llvm/utils/gn/secondary/llvm/lib/Analysis/BUILD.gn
    M llvm/utils/gn/secondary/llvm/lib/Passes/BUILD.gn

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


  Commit: c18fda02e1c5dd68ce65b8505d3976f0d5714d52
      https://github.com/llvm/llvm-project/commit/c18fda02e1c5dd68ce65b8505d3976f0d5714d52
  Author: David Sherwood <david.sherwood at arm.com>
  Date:   2024-12-19 (Thu, 19 Dec 2024)

  Changed paths:
    M llvm/lib/Transforms/Vectorize/LoopVectorizationLegality.cpp
    M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
    M llvm/test/Transforms/LoopVectorize/X86/vectorization-remarks-missed.ll

  Log Message:
  -----------
  [LoopVectorize] Use new single string variant of reportVectorizationFailure (#120414)


  Commit: eaf482f01252a0276a6b422dabe810a1abc7e168
      https://github.com/llvm/llvm-project/commit/eaf482f01252a0276a6b422dabe810a1abc7e168
  Author: David Sherwood <david.sherwood at arm.com>
  Date:   2024-12-19 (Thu, 19 Dec 2024)

  Changed paths:
    M llvm/lib/Target/AArch64/AArch64TargetTransformInfo.cpp
    M llvm/test/Analysis/CostModel/AArch64/sve-cast.ll
    M llvm/test/Analysis/CostModel/AArch64/sve-intrinsics.ll
    M llvm/test/Analysis/CostModel/AArch64/sve-trunc.ll

  Log Message:
  -----------
  [AArch64] Tweak truncate costs for some scalable vector types (#119542)

== We were previously returning an invalid cost when truncating
anything to <vscale x 2 x i1>, which is incorrect since we can
generate perfectly good code for this.

== The costs for truncating legal or unpacked types to predicates
seemed overly optimistic. For example, when truncating
<vscale x 8 x i16> to <vscale x 8 x i1> we typically do
something like

  and z0.h, z0.h, #0x1
  cmpne   p0.h, p0/z, z0.h, #0

I guess it might depend upon whether the input value is
generated in the same block or not and if we can avoid the
inreg zero-extend. However, it feels safe to take the more
conservative cost here.

== The costs for some truncates such as

  trunc <vscale x 2 x i32> %a to <vscale x 2 x i16>

were 1, whereas in actual fact they are free and no instructions
are required.

== Also, for this

  trunc <vscale x 8 x i32> %a to <vscale x 8 x i16>

it's just a single uzp1 instruction so I reduced the cost to 1.

In general, I've added costs for all cases where the destination
type is legal or unpacked. One unfortunate side effect of this
is the costs for some fixed-width truncates when using SVE now
look too optimistic.


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

  Changed paths:
    M llvm/lib/Target/ARM/ARMISelLowering.cpp
    M llvm/lib/Target/ARM/ARMISelLowering.h
    A llvm/test/CodeGen/Thumb2/bf16-instructions.ll

  Log Message:
  -----------
  [ARM] Fix BF16 lowering with FullFP16

This adds test coverage for bf16 instructions, making sure that lowering bf16
works with and without +fullfp16.


  Commit: ecdc5289afec1af98640b6375a52aaf448fe7388
      https://github.com/llvm/llvm-project/commit/ecdc5289afec1af98640b6375a52aaf448fe7388
  Author: Oliver Stannard <oliver.stannard at arm.com>
  Date:   2024-12-19 (Thu, 19 Dec 2024)

  Changed paths:
    M clang-tools-extra/test/clang-tidy/checkers/cppcoreguidelines/pro-type-vararg.cpp
    M clang/include/clang/Basic/DiagnosticSemaKinds.td
    M clang/lib/Sema/SemaChecking.cpp
    A clang/test/Sema/builtin-assume-aligned-downgrade.c
    M clang/test/Sema/builtin-assume-aligned.c

  Log Message:
  -----------
  [Clang] Fix crash in __builtin_assume_aligned (#114217)

The CodeGen for __builtin_assume_aligned assumes that the first argument
is a pointer, so crashes if the int-conversion error is downgraded or
disabled. Emit a non-downgradable error if the argument is not a
pointer, like we currently do for __builtin_launder.

Fixes #110914.


  Commit: 30f386cb4d43d0bd8f57c49f68f71defd7dcf968
      https://github.com/llvm/llvm-project/commit/30f386cb4d43d0bd8f57c49f68f71defd7dcf968
  Author: SpencerAbson <Spencer.Abson at arm.com>
  Date:   2024-12-19 (Thu, 19 Dec 2024)

  Changed paths:
    M llvm/lib/Target/AArch64/AArch64SVEInstrInfo.td
    M llvm/lib/Target/AArch64/SVEInstrFormats.td
    M llvm/test/MC/AArch64/SVE/bfcvtnt-diagnostics.s
    M llvm/test/MC/AArch64/SVE/bfcvtnt.s

  Log Message:
  -----------
  [AArch64] Fixup destructive floating-point precision conversions (#118788)

This patch changes the zeroing forms of `FCVTXNT`, `FCVTNT`, and
`BFCVTNT` such that their destination operand is also listed as a dag
input. These narrowing down-conversions leave the even elements of the
destination vector unchanged, regardless of the predicate type.

This patch also makes the merging form of `BFCVTNT` non-movprfx'able.

- `FCVTXNT` - [Arm
Developer](https://developer.arm.com/documentation/ddi0602/2024-09/SVE-Instructions/FCVTXNT--Floating-point-down-convert--rounding-to-odd--top--predicated--?lang=en)
- `FCVTNT` - [Arm
Developer](https://developer.arm.com/documentation/ddi0602/2024-09/SVE-Instructions/FCVTNT--predicated---Floating-point-down-convert-and-narrow--top--predicated--?lang=en)
- `BFCVTNT` - [Arm
Developer](https://developer.arm.com/documentation/ddi0602/2024-09/SVE-Instructions/BFCVTNT--Floating-point-down-convert-and-narrow-to-BFloat16--top--predicated--?lang=en)


  Commit: 5a3f1acad7e8ce0e8cb90165794dce71f4b80bcd
      https://github.com/llvm/llvm-project/commit/5a3f1acad7e8ce0e8cb90165794dce71f4b80bcd
  Author: Pedro Lobo <pedro.lobo at tecnico.ulisboa.pt>
  Date:   2024-12-19 (Thu, 19 Dec 2024)

  Changed paths:
    M llvm/lib/AsmParser/LLParser.cpp

  Log Message:
  -----------
  [LLParser] Remove redundant code (NFC) (#120478)


  Commit: 5fb8d70e5f1c5d26bfa6ca9034863c10f3d8669d
      https://github.com/llvm/llvm-project/commit/5fb8d70e5f1c5d26bfa6ca9034863c10f3d8669d
  Author: Matt Arsenault <Matthew.Arsenault at amd.com>
  Date:   2024-12-19 (Thu, 19 Dec 2024)

  Changed paths:
    M llvm/lib/Target/ARM/ARMBaseInstrInfo.cpp

  Log Message:
  -----------
  ARM: Handle vldrh and vstrh in stack access hooks (#120527)


  Commit: 056e5eccaf440e9127990f9fba1e5cacac399a14
      https://github.com/llvm/llvm-project/commit/056e5eccaf440e9127990f9fba1e5cacac399a14
  Author: Jay Foad <jay.foad at amd.com>
  Date:   2024-12-19 (Thu, 19 Dec 2024)

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

  Log Message:
  -----------
  [AMDGPU] Remove unneeded use of !dag. NFC. (#120546)


  Commit: b41240be6b9e58687011b2bd1b942c6625cbb5ad
      https://github.com/llvm/llvm-project/commit/b41240be6b9e58687011b2bd1b942c6625cbb5ad
  Author: Balazs Benics <benicsbalazs at gmail.com>
  Date:   2024-12-19 (Thu, 19 Dec 2024)

  Changed paths:
    A clang/include/clang/StaticAnalyzer/Core/PathSensitive/APSIntPtr.h
    M clang/include/clang/StaticAnalyzer/Core/PathSensitive/BasicValueFactory.h
    M clang/include/clang/StaticAnalyzer/Core/PathSensitive/ProgramState.h
    M clang/include/clang/StaticAnalyzer/Core/PathSensitive/SMTConstraintManager.h
    M clang/lib/StaticAnalyzer/Checkers/CStringChecker.cpp
    M clang/lib/StaticAnalyzer/Checkers/StdLibraryFunctionsChecker.cpp
    M clang/lib/StaticAnalyzer/Checkers/VLASizeChecker.cpp
    M clang/lib/StaticAnalyzer/Core/BasicValueFactory.cpp
    M clang/lib/StaticAnalyzer/Core/SimpleSValBuilder.cpp

  Log Message:
  -----------
  [analyzer][NFC] Introduce APSIntPtr, a safe wrapper of APSInt (1/4) (#120435)

One could create dangling APSInt references in various ways in the past, that were sometimes assumed to be persisted in the BasicValueFactor.

One should always use BasicValueFactory to create persistent APSInts, that could be used by ConcreteInts or SymIntExprs and similar long-living objects.
If one used a temporary or local variables for this, these would dangle.
To enforce the contract of the analyzer BasicValueFactory and the uses of APSInts, let's have a dedicated strong-type for this.

The idea is that APSIntPtr is always owned by the BasicValueFactory, and that is the only component that can construct it.

These PRs are all NFC - besides fixing dangling APSInt references.


  Commit: 060d62b48aeb5080ffcae1dc56e41a06c6f56701
      https://github.com/llvm/llvm-project/commit/060d62b48aeb5080ffcae1dc56e41a06c6f56701
  Author: Nicholas Guy <nicholas.guy at arm.com>
  Date:   2024-12-19 (Thu, 19 Dec 2024)

  Changed paths:
    M llvm/include/llvm/Analysis/TargetTransformInfo.h
    M llvm/include/llvm/Analysis/TargetTransformInfoImpl.h
    M llvm/lib/Analysis/TargetTransformInfo.cpp
    M llvm/lib/Target/AArch64/AArch64TargetTransformInfo.h
    M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
    M llvm/lib/Transforms/Vectorize/VPRecipeBuilder.h
    M llvm/lib/Transforms/Vectorize/VPlan.h
    M llvm/lib/Transforms/Vectorize/VPlanAnalysis.cpp
    M llvm/lib/Transforms/Vectorize/VPlanRecipes.cpp
    M llvm/lib/Transforms/Vectorize/VPlanValue.h
    M llvm/test/Transforms/LoopVectorize/AArch64/fully-unrolled-cost.ll
    A llvm/test/Transforms/LoopVectorize/AArch64/partial-reduce-dot-product-epilogue.ll
    A llvm/test/Transforms/LoopVectorize/AArch64/partial-reduce-dot-product-neon.ll
    A llvm/test/Transforms/LoopVectorize/AArch64/partial-reduce-dot-product.ll
    A llvm/test/Transforms/LoopVectorize/AArch64/partial-reduce-no-dotprod.ll
    A llvm/test/Transforms/LoopVectorize/AArch64/vplan-printing.ll

  Log Message:
  -----------
  [LoopVectorizer] Add support for partial reductions (#92418)

Following on from https://github.com/llvm/llvm-project/pull/94499, this
patch adds support to the Loop Vectorizer to emit the partial reduction
intrinsics where they may be beneficial for the target.

---------

Co-authored-by: Samuel Tebbs <samuel.tebbs at arm.com>


  Commit: d0d5101f9959013e42f6f07d79d0fe638aaa0aa3
      https://github.com/llvm/llvm-project/commit/d0d5101f9959013e42f6f07d79d0fe638aaa0aa3
  Author: Balazs Benics <benicsbalazs at gmail.com>
  Date:   2024-12-19 (Thu, 19 Dec 2024)

  Changed paths:
    M clang/include/clang/StaticAnalyzer/Core/PathSensitive/MemRegion.h
    M clang/include/clang/StaticAnalyzer/Core/PathSensitive/SVals.h
    M clang/lib/StaticAnalyzer/Checkers/ArrayBoundCheckerV2.cpp
    M clang/lib/StaticAnalyzer/Checkers/BasicObjCFoundationChecks.cpp
    M clang/lib/StaticAnalyzer/Checkers/BitwiseShiftChecker.cpp
    M clang/lib/StaticAnalyzer/Checkers/BuiltinFunctionChecker.cpp
    M clang/lib/StaticAnalyzer/Checkers/CheckPlacementNew.cpp
    M clang/lib/StaticAnalyzer/Checkers/Iterator.cpp
    M clang/lib/StaticAnalyzer/Checkers/IteratorModeling.cpp
    M clang/lib/StaticAnalyzer/Checkers/MmapWriteExecChecker.cpp
    M clang/lib/StaticAnalyzer/Checkers/StreamChecker.cpp
    M clang/lib/StaticAnalyzer/Core/BugReporterVisitors.cpp
    M clang/lib/StaticAnalyzer/Core/MemRegion.cpp
    M clang/lib/StaticAnalyzer/Core/ProgramState.cpp
    M clang/lib/StaticAnalyzer/Core/SValBuilder.cpp
    M clang/lib/StaticAnalyzer/Core/SVals.cpp
    M clang/lib/StaticAnalyzer/Core/SimpleConstraintManager.cpp
    M clang/lib/StaticAnalyzer/Core/SimpleSValBuilder.cpp

  Log Message:
  -----------
  [analyzer][NFC] Migrate nonloc::ConcreteInt to use APSIntPtr (2/4) (#120436)


  Commit: 13e20bcb98e57831d46162b9ba42a78d85e8283d
      https://github.com/llvm/llvm-project/commit/13e20bcb98e57831d46162b9ba42a78d85e8283d
  Author: Balazs Benics <benicsbalazs at gmail.com>
  Date:   2024-12-19 (Thu, 19 Dec 2024)

  Changed paths:
    M clang/include/clang/StaticAnalyzer/Core/PathSensitive/SVals.h
    M clang/lib/StaticAnalyzer/Core/SValBuilder.cpp
    M clang/lib/StaticAnalyzer/Core/SVals.cpp
    M clang/lib/StaticAnalyzer/Core/SimpleSValBuilder.cpp

  Log Message:
  -----------
  [analyzer][NFC] Migrate loc::ConcreteInt to use APSIntPtr (3/4) (#120437)


  Commit: 23377890d022eb1fa9cb42eba5c4f72a1f8ac38d
      https://github.com/llvm/llvm-project/commit/23377890d022eb1fa9cb42eba5c4f72a1f8ac38d
  Author: Balazs Benics <benicsbalazs at gmail.com>
  Date:   2024-12-19 (Thu, 19 Dec 2024)

  Changed paths:
    M clang/include/clang/StaticAnalyzer/Core/PathSensitive/SMTConstraintManager.h
    M clang/include/clang/StaticAnalyzer/Core/PathSensitive/SValBuilder.h
    M clang/include/clang/StaticAnalyzer/Core/PathSensitive/SymbolManager.h
    M clang/lib/StaticAnalyzer/Checkers/ExprInspectionChecker.cpp
    M clang/lib/StaticAnalyzer/Core/SValBuilder.cpp
    M clang/lib/StaticAnalyzer/Core/SimpleSValBuilder.cpp
    M clang/lib/StaticAnalyzer/Core/SymbolManager.cpp

  Log Message:
  -----------
  [analyzer][NFC] Migrate {SymInt,IntSym}Expr to use APSIntPtr (4/4) (#120438)


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

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

  Log Message:
  -----------
  [clang] NFC, simplify the shouldLifetimeExtendThroughPath.


  Commit: 6586c676b42aa9c7e78f9b1d419767a02793a70f
      https://github.com/llvm/llvm-project/commit/6586c676b42aa9c7e78f9b1d419767a02793a70f
  Author: Alexandros Lamprineas <alexandros.lamprineas at arm.com>
  Date:   2024-12-19 (Thu, 19 Dec 2024)

  Changed paths:
    M clang/lib/CodeGen/CodeGenModule.cpp
    M clang/lib/Sema/SemaDecl.cpp
    A clang/test/CodeGen/AArch64/fmv-mix-explicit-implicit-default.c
    M clang/test/CodeGen/attr-target-version.c
    M clang/test/CodeGenCXX/fmv-namespace.cpp
    M clang/test/Sema/attr-target-version.c
    M clang/test/SemaCXX/attr-target-version.cpp

  Log Message:
  -----------
  [FMV][AArch64] Emit mangled default version if explicitly specified. (#120022)

Currently we need at least one more version other than the default to
trigger FMV. However we would like a header file declaration

__attribute__((target_version("default"))) void f(void);

to guarantee that there will be f.default


  Commit: eb812d28f542bf0de54c157a7391e446739570cc
      https://github.com/llvm/llvm-project/commit/eb812d28f542bf0de54c157a7391e446739570cc
  Author: Feng Zou <feng.zou at intel.com>
  Date:   2024-12-19 (Thu, 19 Dec 2024)

  Changed paths:
    M llvm/lib/Target/X86/X86RegisterInfo.td
    M llvm/test/CodeGen/X86/apx/mul-i1024.ll

  Log Message:
  -----------
  [X86] Put R20/R21/R28/R29 later in GR64 list (#120510)

Because these registers require an extra byte to encode in certain
memory form. Putting them later in the list will reduce code size when
EGPR is enabled. And align the same order in GR8, GR16 and GR32 lists.
Example:

    movq (%r20), %r11  # encoding: [0xd5,0x1c,0x8b,0x1c,0x24]
    movq (%r22), %r11  # encoding: [0xd5,0x1c,0x8b,0x1e]


  Commit: 89da344e5879e5347b5057520d5230e40ae24831
      https://github.com/llvm/llvm-project/commit/89da344e5879e5347b5057520d5230e40ae24831
  Author: Vinay Deshmukh <32487576+vinay-deshmukh at users.noreply.github.com>
  Date:   2024-12-19 (Thu, 19 Dec 2024)

  Changed paths:
    M clang/include/clang/AST/AttrIterator.h
    M clang/include/clang/StaticAnalyzer/Core/PathSensitive/ExprEngine.h
    M clang/lib/Analysis/CFG.cpp
    M clang/lib/StaticAnalyzer/Core/ExprEngine.cpp
    M clang/lib/StaticAnalyzer/Core/ExprEngineC.cpp
    M clang/lib/StaticAnalyzer/Core/ExprEngineCXX.cpp
    A clang/test/Analysis/cxx23-assume-attribute.cpp
    M clang/test/Analysis/out-of-bounds-new.cpp

  Log Message:
  -----------
  [analyzer] Handle [[assume(cond)]] as __builtin_assume(cond) (#116462)

Resolves #100762 

Gist of the change:
1. All the symbol analysis, constraint manager and expression parsing
logic was already present, but the previous code didn't "visit" the
expressions within `assume()` by parsing those expressions, all of the
code "just works" by evaluating the SVals, and hence leaning on the same
logic that makes the code with `__builtin_assume` work
2. "Ignore" an expression from adding in CFG if it has side-effects (
similar to CGStmt.cpp (todo add link))
3. Add additional test case for ternary operator handling and modify
CFG.cpp's VisitGuardedExpr code for `continue`-ing if the `ProgramPoint`
is a `StmtPoint`

---------

Co-authored-by: Balazs Benics <benicsbalazs at gmail.com>


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

  Changed paths:
    M llvm/lib/Target/X86/X86TargetTransformInfo.cpp
    M llvm/test/Analysis/CostModel/X86/reduction.ll

  Log Message:
  -----------
  [X86] getShuffleCost - when splitting shuffles, if a whole vector source is just copied we should treat this as free. (#120561)

If the shuffle split results in referencing a single legalised whole vector (i.e. no permutation), then this can be treated as free.

We already do something similar for broadcasts / whole subvector insertion + extraction - its purely an issue for register allocation.


  Commit: ca98a3d9bbc254cbb7f028866a7d2077b7994ee8
      https://github.com/llvm/llvm-project/commit/ca98a3d9bbc254cbb7f028866a7d2077b7994ee8
  Author: Benjamin Maxwell <benjamin.maxwell at arm.com>
  Date:   2024-12-19 (Thu, 19 Dec 2024)

  Changed paths:
    M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
    M llvm/lib/Target/AArch64/AArch64SVEInstrInfo.td
    M llvm/test/CodeGen/AArch64/sve-streaming-mode-cvt-fp-int-fp.ll
    A llvm/test/CodeGen/AArch64/sve-streaming-mode-cvt-fp-to-int.ll
    A llvm/test/CodeGen/AArch64/sve-streaming-mode-cvt-int-to-fp.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-int-to-fp.ll

  Log Message:
  -----------
  [AArch64][SVE] Use SVE for scalar FP converts in streaming[-compatible] functions (1/n) (#118505)

In streaming[-compatible] functions, use SVE for scalar FP conversions
to/from integer types. This can help avoid moves between FPRs and GRPs,
which could be costly.

This patch also updates definitions of SCVTF_ZPmZ_StoD and
UCVTF_ZPmZ_StoD to disallow lowering to them from ISD nodes, as doing so
requires creating a [U|S]INT_TO_FP_MERGE_PASSTHRU node with inconsistent
types.

Follow up to #112213.

Note: This PR does not include support for f64 <-> i32 conversions (like
#112564), which needs a bit more work to support.


  Commit: 32220601247896f508ccfde614f5ba6afc85b27d
      https://github.com/llvm/llvm-project/commit/32220601247896f508ccfde614f5ba6afc85b27d
  Author: Djordje Todorovic <djordje.todorovic at htecgroup.com>
  Date:   2024-12-19 (Thu, 19 Dec 2024)

  Changed paths:
    M llvm/lib/Target/RISCV/RISCV.td
    M llvm/lib/Target/RISCV/RISCVProcessors.td
    A llvm/lib/Target/RISCV/RISCVSchedMIPSP8700.td
    A llvm/test/tools/llvm-mca/RISCV/MIPS/p8700.s

  Log Message:
  -----------
  Reland "[RISCV] Add scheduling model for mips p8700 CPU" (#120550)

This patch introduces a scheduling model for the MIPS p8700, an
out-of-order
RISC-V processor. The model includes pipelines for the following units:

- 2 Integer Arithmetic/Logical Units (ALU and AL2)
- Multiply/Divide Unit (MDU)
- Branch Unit (CTI)
- Load/Store Unit (LSU)
- Short Floating-Point Pipe (FPUS)
- Long Floating-Point Pipe (FPUL)

For additional details, refer to the official product page:
https://mips.com/products/hardware/p8700/.

Also adds `UnsupportedSchedZfhmin` to handle cases like
`WriteFCvtF16ToF32` that
previously caused build failures.


  Commit: db84ae3a68173fc561acb79adb6c557cb73ad938
      https://github.com/llvm/llvm-project/commit/db84ae3a68173fc561acb79adb6c557cb73ad938
  Author: SpencerAbson <Spencer.Abson at arm.com>
  Date:   2024-12-19 (Thu, 19 Dec 2024)

  Changed paths:
    M clang/include/clang/Basic/arm_sve.td
    M clang/include/clang/Basic/arm_sve_sme_incl.td
    M clang/test/CodeGen/AArch64/sve2p1-intrinsics/acle_sve2p1_store.c
    M clang/utils/TableGen/SveEmitter.cpp

  Log Message:
  -----------
  [Clang][AArch64] Add signed index/offset variants of sve2p1 qword stores (#120549)

This patch adds signed offset/index variants to the SVE2p1 quadword
store intrinsics, in accordance with
https://github.com/ARM-software/acle/pull/359.


  Commit: eba7690d2b94ebe7fcf3e8ceecd4486f328de035
      https://github.com/llvm/llvm-project/commit/eba7690d2b94ebe7fcf3e8ceecd4486f328de035
  Author: Dhruv Srivastava <dhruv.srivastava at ibm.com>
  Date:   2024-12-19 (Thu, 19 Dec 2024)

  Changed paths:
    M lldb/include/lldb/Host/HostGetOpt.h
    M lldb/include/lldb/Host/common/GetOptInc.h

  Log Message:
  -----------
  [lldb][AIX] GetOpt support in AIX (#120574)

This PR is in reference to porting LLDB on AIX.

Link to discussions on llvm discourse and github:

1. https://discourse.llvm.org/t/port-lldb-to-ibm-aix/80640
2. https://github.com/llvm/llvm-project/issues/101657
The complete changes for porting are present in this draft PR:
https://github.com/llvm/llvm-project/pull/102601

Adding changes for minimal build for lldb binary on AIX. 
getopt.h is missing in AIX, so instead relying on LLDB's getopt
functions.


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

  Changed paths:
    M mlir/lib/Dialect/GPU/Pipelines/GPUToNVVMPipeline.cpp

  Log Message:
  -----------
  [mlir][GPU] Do not strip location info when lowering to NVVM (#120432)

This is needed for a subsequent commit that reads location information
when lowering `gpu.assert`.


  Commit: 9469fd24b9a377947ed7726aee671a6095d44e44
      https://github.com/llvm/llvm-project/commit/9469fd24b9a377947ed7726aee671a6095d44e44
  Author: SpencerAbson <Spencer.Abson at arm.com>
  Date:   2024-12-19 (Thu, 19 Dec 2024)

  Changed paths:
    M clang/include/clang/Basic/arm_sve.td
    M clang/include/clang/Basic/arm_sve_sme_incl.td
    M clang/test/CodeGen/AArch64/sve2p1-intrinsics/acle_sve2p1_st1_single.c

  Log Message:
  -----------
  [Clang][AArch64] Remove const from base pointers in sve2p1 stores (#120551)

This patch removes the const qualifier from the base pointer argument of
`svst1wq`/`svst1wq_vnum` and `svst1dq`/`svst1dq_vnum`, in accordance
with https://github.com/ARM-software/acle/pull/359.


  Commit: 94837c8b5761d20310947be5d2e1e568f67e8c0c
      https://github.com/llvm/llvm-project/commit/94837c8b5761d20310947be5d2e1e568f67e8c0c
  Author: Tim Creech <timothy.m.creech at intel.com>
  Date:   2024-12-19 (Thu, 19 Dec 2024)

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

  Log Message:
  -----------
  Add llvm-profgen to the list of toolchain tools (#120106)

This tool is used for SPGO and is invoked directly by users as described
in the Clang User's Manual[^1].

This change will include llvm-profgen in installations configured with
LLVM_INSTALL_TOOLCHAIN_ONLY, such as those provided by LLVM's executable
Windows installers. This is useful now that LLVM can perform SPGO on
Windows.

[^1]:
https://clang.llvm.org/docs/UsersManual.html#using-sampling-profilers


  Commit: 6f8afafd308d37d9abc4af0801dd5a4451c13718
      https://github.com/llvm/llvm-project/commit/6f8afafd308d37d9abc4af0801dd5a4451c13718
  Author: Veera <32646674+veera-sivarajan at users.noreply.github.com>
  Date:   2024-12-19 (Thu, 19 Dec 2024)

  Changed paths:
    M llvm/lib/Analysis/InstructionSimplify.cpp
    M llvm/lib/Transforms/InstCombine/InstCombineSelect.cpp
    A llvm/test/Transforms/InstCombine/select-with-extreme-eq-cond.ll

  Log Message:
  -----------
  [InstCombine] Fold `A == MIN_INT ? B != MIN_INT : A < B` to `A < B` (#120177)

This PR folds:
 `A == MIN_INT ? B != MIN_INT : A < B` to `A < B`
 `A == MAX_INT ? B != MAX_INT : A > B` to `A > B`

Proof: https://alive2.llvm.org/ce/z/bR6E2s

This helps in optimizing comparison of optional unsigned non-zero types
in https://github.com/rust-lang/rust/issues/49892.

Rust compiler's current output: https://rust.godbolt.org/z/9fxfq3Gn8


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

  Changed paths:
    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/ByteCode/Pointer.h
    M clang/test/AST/ByteCode/builtin-functions.cpp

  Log Message:
  -----------
  [clang][bytecode] Support pointers in __builtin_mem{move,cpy} (#120560)

Unfortunately, that means we can't use the __builtin_bit_cast
implementation for this.


  Commit: a161e73fcc957860afe1ff603d3ed77ea0311cc3
      https://github.com/llvm/llvm-project/commit/a161e73fcc957860afe1ff603d3ed77ea0311cc3
  Author: Jay Foad <jay.foad at amd.com>
  Date:   2024-12-19 (Thu, 19 Dec 2024)

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

  Log Message:
  -----------
  [AMDGPU] Remove unnecessary casts to GCNSubtarget


  Commit: 310e79875752886a7713911e2a1ec14bc75bd4b3
      https://github.com/llvm/llvm-project/commit/310e79875752886a7713911e2a1ec14bc75bd4b3
  Author: Alex MacLean <amaclean at nvidia.com>
  Date:   2024-12-19 (Thu, 19 Dec 2024)

  Changed paths:
    M llvm/lib/Target/NVPTX/NVPTXISelDAGToDAG.cpp
    M llvm/lib/Target/NVPTX/NVPTXInstrInfo.td
    M llvm/lib/Target/NVPTX/NVPTXIntrinsics.td
    M llvm/test/CodeGen/NVPTX/atomics-sm70.ll
    M llvm/test/CodeGen/NVPTX/atomics-sm90.ll
    M llvm/test/CodeGen/NVPTX/bf16-instructions.ll
    M llvm/test/CodeGen/NVPTX/bf16x2-instructions.ll
    M llvm/test/CodeGen/NVPTX/chain-different-as.ll
    M llvm/test/CodeGen/NVPTX/cmpxchg.ll
    M llvm/test/CodeGen/NVPTX/compute-ptx-value-vts.ll
    M llvm/test/CodeGen/NVPTX/demote-vars.ll
    M llvm/test/CodeGen/NVPTX/extractelement.ll
    M llvm/test/CodeGen/NVPTX/f16x2-instructions.ll
    M llvm/test/CodeGen/NVPTX/fma-relu-contract.ll
    M llvm/test/CodeGen/NVPTX/fma-relu-fma-intrinsic.ll
    M llvm/test/CodeGen/NVPTX/fma-relu-instruction-flag.ll
    M llvm/test/CodeGen/NVPTX/i1-load-lower.ll
    M llvm/test/CodeGen/NVPTX/i128.ll
    M llvm/test/CodeGen/NVPTX/i16x2-instructions.ll
    M llvm/test/CodeGen/NVPTX/i8x4-instructions.ll
    M llvm/test/CodeGen/NVPTX/inline-asm-b128-test1.ll
    M llvm/test/CodeGen/NVPTX/inline-asm-b128-test2.ll
    M llvm/test/CodeGen/NVPTX/inline-asm-b128-test3.ll
    M llvm/test/CodeGen/NVPTX/math-intrins.ll
    M llvm/test/CodeGen/NVPTX/misched_func_call.ll
    M llvm/test/CodeGen/NVPTX/pr13291-i1-store.ll
    M llvm/test/CodeGen/NVPTX/reg-types.ll
    M llvm/test/CodeGen/NVPTX/unfold-masked-merge-vector-variablemask.ll
    M llvm/test/CodeGen/NVPTX/vaargs.ll
    M llvm/test/CodeGen/NVPTX/variadics-backend.ll
    M llvm/test/CodeGen/NVPTX/vector-returns.ll

  Log Message:
  -----------
  [NVPTX] Avoid introducing unnecessary ProxyRegs and Movs in ISel (#120486)

Avoid introducing `ProxyReg` and `MOV` nodes during ISel when lowering
`bitconvert` or similar operations. These nodes are all erased by a
later pass but not introducing them in the first place is simpler and
likely saves compile time.

Also remove redundant `MOV` instruction definitions.


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

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

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


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

  Changed paths:
    M .github/workflows/libcxx-build-and-test.yaml

  Log Message:
  -----------
  [libc++] Bump the Docker image used in the CI (#120248)

This switches to using a slightly newer CMake version in our CI.


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

  Changed paths:
    M llvm/lib/Transforms/Utils/CodeExtractor.cpp
    A llvm/test/Transforms/HotColdSplit/outline-inner-region-stacktoocomplex.ll

  Log Message:
  -----------
  [Transforms][CodeExtraction] bug fix regions with stackrestore (#118564)

Ensure code extraction for outlining to a function does not create a function with stacksave of caller to restore stack (e.g. tail call).


  Commit: 4039a79de71bd969ef5bf944fd9f46430338ff7e
      https://github.com/llvm/llvm-project/commit/4039a79de71bd969ef5bf944fd9f46430338ff7e
  Author: Peng Liu <winner245 at hotmail.com>
  Date:   2024-12-19 (Thu, 19 Dec 2024)

  Changed paths:
    A libcxx/test/std/containers/sequences/vector.bool/assign_iter_iter.pass.cpp
    A libcxx/test/std/containers/sequences/vector.bool/assign_size_value.pass.cpp
    M libcxx/test/std/containers/sequences/vector/vector.cons/assign_iter_iter.pass.cpp

  Log Message:
  -----------
  [libc++][test] Improve tests for assign in std::vector and vector<bool> (#119163)

This PR enhances the test coverage for std::vector::assign by adding new
tests for several important test cases that were previously missing, as
shown in the following table:

| test cases                        | forward_iterator | input_iterator |
|-----------------------------------|------------------|----------------|
| new_size > capacity()             | Yes              | Yes            |
| size() < new_size <= capacity()   | No               | No             |
| new_size <= size()                | No               | No             |

Similarly, no tests have previously covered `assign(InputIterator, InputIterator)`
and `assign(size_type, const value_type&)` for `vector<bool>`.

With this patch applied, all missing tests are covered.


  Commit: 2b6713d3b87d6e0bf562cf10ef620a12328c4106
      https://github.com/llvm/llvm-project/commit/2b6713d3b87d6e0bf562cf10ef620a12328c4106
  Author: Nico Weber <thakis at chromium.org>
  Date:   2024-12-19 (Thu, 19 Dec 2024)

  Changed paths:
    M lld/COFF/InputFiles.cpp
    M lld/test/COFF/start-lib.ll

  Log Message:
  -----------
  [lld/coff] Fix assert on /start-lib foo.obj /end-lib during eager loads (#120292)

If foo.obj is eagerly loaded (due to a prior undef referencing one if
its symbols) and has more than one symbol, we used to assert:
SymbolTable::addLazyObject() for the first symbol would set `lazy` to
false and load all symbols from the file, but the outer
ObjFile::parseLazy() loop would continue to run and call addLazyObject()
for the second symbol, which would assert.

Instead, just stop adding lazy symbols if the file got loaded for real
while adding a symbol.

(The ELF port has a similar early exit in `ObjFile<ELFT>::parseLazy()`.)


  Commit: b05071de89e9c26ef8b3f7ab2ff6a56241b54ea8
      https://github.com/llvm/llvm-project/commit/b05071de89e9c26ef8b3f7ab2ff6a56241b54ea8
  Author: Nico Weber <thakis at chromium.org>
  Date:   2024-12-19 (Thu, 19 Dec 2024)

  Changed paths:
    A lld/test/ELF/Inputs/eager.s
    A lld/test/ELF/lto/Inputs/eager.ll
    M lld/test/ELF/lto/start-lib.ll
    M lld/test/ELF/start-lib.s

  Log Message:
  -----------
  [lld/ELF] Add tests for start-lib / end-lib with eager loads (#120294)

Contains tests for the scenarios fixed in lld/COFF in #120292. They pass
without code changes, but I didn't see existing tests for this.


  Commit: f8bcd93224283291534d75a61cc7e5d8fbf0d311
      https://github.com/llvm/llvm-project/commit/f8bcd93224283291534d75a61cc7e5d8fbf0d311
  Author: Nico Weber <thakis at chromium.org>
  Date:   2024-12-19 (Thu, 19 Dec 2024)

  Changed paths:
    M lld/COFF/SymbolTable.cpp
    M lld/test/COFF/start-lib.ll

  Log Message:
  -----------
  [lld/COFF] Fix -start-lib / -end-lib after reviews.llvm.org/D116434 (#120452)

That change forgot to set `lazy` to false before calling `addFile()` in
`forceLazy()` which caused `addFile()` to parse the file we want to
force a load for to be added as a lazy object again instead of adding
the file to `ctx.objFileInstances`.

This is caught by a pretty simple test (included).


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

  Changed paths:
    M llvm/include/llvm/CodeGen/SelectionDAGNodes.h
    M llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
    M llvm/lib/CodeGen/SelectionDAG/LegalizeTypes.cpp
    M llvm/lib/CodeGen/SelectionDAG/ScheduleDAGSDNodes.cpp
    M llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp
    M llvm/lib/CodeGen/SelectionDAG/SelectionDAGISel.cpp
    M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
    M llvm/lib/Target/AMDGPU/AMDGPUISelDAGToDAG.cpp
    M llvm/lib/Target/AMDGPU/SIISelLowering.cpp
    M llvm/lib/Target/ARM/ARMISelLowering.cpp
    M llvm/lib/Target/Hexagon/HexagonISelDAGToDAG.cpp
    M llvm/lib/Target/PowerPC/PPCISelDAGToDAG.cpp
    M llvm/lib/Target/PowerPC/PPCISelLowering.cpp
    M llvm/lib/Target/RISCV/RISCVISelDAGToDAG.cpp
    M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
    M llvm/lib/Target/SystemZ/SystemZISelLowering.cpp
    M llvm/lib/Target/X86/X86ISelDAGToDAG.cpp
    M llvm/lib/Target/X86/X86ISelLowering.cpp

  Log Message:
  -----------
  [SelectionDAG] Split SDNode::use_iterator into user_iterator and use_iterator. (#120531)

SDNode::use_iterator now returns an SDUse& when dereferenced.
SDNode::user_iterator returns SDNode*. SDNode::use_begin/use_end/uses
work on use_iterator. SDNode::user_begin/user_end/users work on
user_iterator.

We can now write range based for loops using SDUse& and SDNode::uses().
I've converted many of these in this patch. I didn't update loops that
have additional variables updated in their for statement.

Some loops use SDNode::use_iterator::getOperandNo() which also prevents
using range based for loops. I plan to move this into SDUse in a follow
up patch.


  Commit: fafdf97047b1d9622ffbb59919d2422e062882f2
      https://github.com/llvm/llvm-project/commit/fafdf97047b1d9622ffbb59919d2422e062882f2
  Author: Peng Liu <winner245 at hotmail.com>
  Date:   2024-12-19 (Thu, 19 Dec 2024)

  Changed paths:
    M libcxx/include/__vector/vector_bool.h
    A libcxx/test/std/containers/sequences/vector.bool/flip.pass.cpp

  Log Message:
  -----------
  [libc++] Simplify vector<bool>::flip() and add new tests (#119607)

This PR simplifies the internal bitwise logic of the `flip()` function
for `vector<bool>`, and creates new tests to validate the changes.


  Commit: 145ddf7ede28d9131a65b7f86ad07736a824ee21
      https://github.com/llvm/llvm-project/commit/145ddf7ede28d9131a65b7f86ad07736a824ee21
  Author: Craig Topper <craig.topper at sifive.com>
  Date:   2024-12-19 (Thu, 19 Dec 2024)

  Changed paths:
    M llvm/lib/Target/M68k/M68kISelLowering.cpp

  Log Message:
  -----------
  [M68k] Fix build after splitting SDNode::use_iterator.


  Commit: 527595f92789f9701a4b91ab32b792034352f78d
      https://github.com/llvm/llvm-project/commit/527595f92789f9701a4b91ab32b792034352f78d
  Author: Jason Molenda <jmolenda at apple.com>
  Date:   2024-12-19 (Thu, 19 Dec 2024)

  Changed paths:
    M lldb/test/API/macosx/lc-note/firmware-corefile/create-empty-corefile.cpp

  Log Message:
  -----------
  [lldb][Mach-O] Initialize cputype/cpusubtype in test corefiles (#120518)

TestFirmwareCorefiles.py has a helper utility,
create-empty-corefile.cpp, which creates corefiles with different
metadata to specify the binary that should be loaded. It normally uses
an actual binary's UUID for the metadata, and it uses the binary's
cputype/cpusubtype for the corefile's mach header.

There is one test where it creates a corefile with metadata for a UUID
that cannot be found -- it is given no binary -- and in that case, the
cputype/cpusubtype it sets in the core file mach header was
uninitialized data. Through luck, on Darwin systems, the uninitialized
data typically matched a CPU_TYPE from machine.h and the test would
work. But when the value doens't match one of thoes defines, lldb would
reject the corefile entirely, and the test would fail. This has been an
infrequent failure on the CI bots for a while and I couldn't ever repo
it. There's a recent configuration where it was happening every time and
I was able to track it down.

rdar://141727563


  Commit: 2b9abf0db2d106c7208b4372e662ef5df869e6f1
      https://github.com/llvm/llvm-project/commit/2b9abf0db2d106c7208b4372e662ef5df869e6f1
  Author: Thurston Dang <thurston at google.com>
  Date:   2024-12-19 (Thu, 19 Dec 2024)

  Changed paths:
    M clang/include/clang/AST/AttrIterator.h
    M clang/include/clang/StaticAnalyzer/Core/PathSensitive/ExprEngine.h
    M clang/lib/Analysis/CFG.cpp
    M clang/lib/StaticAnalyzer/Core/ExprEngine.cpp
    M clang/lib/StaticAnalyzer/Core/ExprEngineC.cpp
    M clang/lib/StaticAnalyzer/Core/ExprEngineCXX.cpp
    R clang/test/Analysis/cxx23-assume-attribute.cpp
    M clang/test/Analysis/out-of-bounds-new.cpp

  Log Message:
  -----------
  Revert "[analyzer] Handle [[assume(cond)]] as __builtin_assume(cond) (#116462)"

This reverts commit 89da344e5879e5347b5057520d5230e40ae24831.

Reason: buildbot breakages e.g., https://lab.llvm.org/buildbot/#/builders/55/builds/4556 (for which the reverted patch is the only code change)


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

  Changed paths:
    M llvm/include/llvm/CodeGen/SelectionDAGNodes.h
    M llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
    M llvm/lib/Target/AMDGPU/AMDGPUISelDAGToDAG.cpp
    M llvm/lib/Target/AMDGPU/SIISelLowering.cpp
    M llvm/lib/Target/ARM/ARMISelLowering.cpp
    M llvm/lib/Target/Hexagon/HexagonISelDAGToDAG.cpp
    M llvm/lib/Target/M68k/M68kISelLowering.cpp
    M llvm/lib/Target/PowerPC/PPCISelDAGToDAG.cpp
    M llvm/lib/Target/RISCV/RISCVISelDAGToDAG.cpp
    M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
    M llvm/lib/Target/X86/X86ISelLowering.cpp

  Log Message:
  -----------
  [SelectionDAG] Move SDNode::use_iterator::getOperandNo to SDUse. (#120536)

This allows us to write more range based for loops because we no
longer need the iterator. It also matches IR's Use class.


  Commit: 4044886c7c6f75a6d7d0205f8a33d9f404f7832f
      https://github.com/llvm/llvm-project/commit/4044886c7c6f75a6d7d0205f8a33d9f404f7832f
  Author: Brox Chen <guochen2 at amd.com>
  Date:   2024-12-19 (Thu, 19 Dec 2024)

  Changed paths:
    M llvm/lib/Target/AMDGPU/SIInstructions.td
    M llvm/lib/Target/AMDGPU/VOP3Instructions.td
    M llvm/lib/Target/AMDGPU/VOPInstructions.td
    M llvm/test/MC/AMDGPU/gfx11_asm_vop3.s
    M llvm/test/MC/AMDGPU/gfx11_asm_vop3_dpp16.s
    M llvm/test/MC/AMDGPU/gfx11_asm_vop3_dpp8.s
    M llvm/test/MC/Disassembler/AMDGPU/gfx11_dasm_vop3.txt
    M llvm/test/MC/Disassembler/AMDGPU/gfx11_dasm_vop3_dpp16.txt
    M llvm/test/MC/Disassembler/AMDGPU/gfx11_dasm_vop3_dpp8.txt

  Log Message:
  -----------
  Revert "[AMDGPU][True16][MC] true16 for v_minmax/maxmin_f16 (#119586)" (#120594)

This reverts commit e0526b0780f56eede09b05a859a93626ecdc6e4d.

The `v_minmax/maxmin_f16`(GFX11) needs to be updated to t16 with
`v_minmax/maxmin_num_f16`(GFX12) together since they share the same
codegen pattern. Revert the old patch and resubmit


  Commit: c2dd61279764c9e525b73d37dae58ed77b773b1d
      https://github.com/llvm/llvm-project/commit/c2dd61279764c9e525b73d37dae58ed77b773b1d
  Author: Nico Weber <thakis at chromium.org>
  Date:   2024-12-19 (Thu, 19 Dec 2024)

  Changed paths:
    M lld/test/COFF/thin-archive.s
    M llvm/lib/ToolDrivers/llvm-lib/LibDriver.cpp
    M llvm/lib/ToolDrivers/llvm-lib/Options.td

  Log Message:
  -----------
  [llvm-lib] Add /llvmlibindex:no to disable writing an index (#120596)

This can be used with /llvmlibthin to create thin archives without an
index, which is a prerequisite for porting
https://reviews.llvm.org/D117284 to lld-link.

Creating files like this is already possible with `llvm-ar rcS`, so this
doesn't add additional problems.


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

  Changed paths:
    A llvm/test/Transforms/PhaseOrdering/X86/hadd.ll

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

Add tests for horizontal add patterns with missing/undemanded elements - which typically prevents folding to the (add (shuffle a, b),(shuffle a, b)) optimal pattern


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

  Changed paths:
    A llvm/test/CodeGen/RISCV/zbb-logic-neg-imm.ll

  Log Message:
  -----------
  [RISCV][test] Add zbb-logic-neg-imm.ll


  Commit: 254ba78495100d9f20c4fa9802395f11c6d3cef1
      https://github.com/llvm/llvm-project/commit/254ba78495100d9f20c4fa9802395f11c6d3cef1
  Author: MagentaTreehouse <99200384+MagentaTreehouse at users.noreply.github.com>
  Date:   2024-12-19 (Thu, 19 Dec 2024)

  Changed paths:
    M llvm/include/llvm/Support/GenericDomTree.h

  Log Message:
  -----------
  [GenericDomTree][NFC] Remove unnecessary `const_cast`s (#97638)


  Commit: 46e782300765eeac8026377bf30d5f08888c2b25
      https://github.com/llvm/llvm-project/commit/46e782300765eeac8026377bf30d5f08888c2b25
  Author: Jason Molenda <jmolenda at apple.com>
  Date:   2024-12-19 (Thu, 19 Dec 2024)

  Changed paths:
    M lldb/source/Plugins/Architecture/AArch64/ArchitectureAArch64.cpp
    M lldb/test/API/commands/register/register/register_command/TestRegisters.py
    A lldb/test/API/macosx/sme-registers/Makefile
    A lldb/test/API/macosx/sme-registers/TestSMERegistersDarwin.py
    A lldb/test/API/macosx/sme-registers/main.c
    M lldb/tools/debugserver/source/DNBDefs.h
    M lldb/tools/debugserver/source/MacOSX/MachProcess.mm
    M lldb/tools/debugserver/source/MacOSX/MachThread.cpp
    M lldb/tools/debugserver/source/MacOSX/arm64/DNBArchImplARM64.cpp
    M lldb/tools/debugserver/source/MacOSX/arm64/DNBArchImplARM64.h
    A lldb/tools/debugserver/source/MacOSX/arm64/sme_thread_status.h
    M lldb/tools/debugserver/source/RNBRemote.cpp

  Log Message:
  -----------
  [lldb][debugserver] Read/write SME registers on arm64 (#119171)

**Note:** The register reading and writing depends on new register
flavor support in thread_get_state/thread_set_state in the kernel, which
will be first available in macOS 15.4.

The Apple M4 line of cores includes the Scalable Matrix Extension (SME)
feature. The M4s do not implement Scalable Vector Extension (SVE),
although the processor is in Streaming SVE Mode when the SME is being
used. The most obvious side effects of being in SSVE Mode are that (on
the M4 cores) NEON instructions cannot be used, and watchpoints may get
false positives, the address comparisons are done at a lowered
granularity.

When SSVE mode is enabled, the kernel will provide the Streaming Vector
Length register, which is a maximum of 64 bytes with the M4. Also
provided are SVCR (with bits indicating if SSVE mode and SME mode are
enabled), TPIDR2, SVL. Then the SVE registers Z0..31 (SVL bytes long),
P0..15 (SVL/8 bytes), the ZA matrix register (SVL*SVL bytes), and the M4
supports SME2, so the ZT0 register (64 bytes).

When SSVE/SME are disabled, none of these registers are provided by the
kernel - reads and writes of them will fail.

Unlike Linux, lldb cannot modify the SVL through a thread_set_state
call, or change the processor state's SSVE/SME status. There is also no
way for a process to request a lowered SVL size today, so the work that
David did to handle VL/SVL changing while stepping through a process is
not an issue on Darwin today. But debugserver should be providing
everything necessary so we can reuse all of David's work on resizing the
register contexts in lldb if it happens in the future. debugbserver
sends svl, svcr, and tpidr2 in the expedited registers when a thread
stops, if SSVE|SME mode are enabled (if the kernel allows it to read the
ARM_SME_STATE register set).

While the maximum SVL is 64 bytes on M4, the AArch64 maximum possible
SVL is 256; this would give us a 64k ZA register. If debugserver sized
all of its register contexts assuming the largest possible SVL, we could
easily use 2MB more memory for the register contexts of all threads in a
process -- and on iOS et al, processes must run within a small memory
allotment and this would push us over that.

Much of the work in debugserver was changing the arm64 register context
from being a static compile-time array of register sets, to being
initialized at runtime if debugserver is running on a machine with SME.
The ZA is only created to the machine's actual maximum SVL. The size of
the 32 SVE Z registers is less significant so I am statically allocating
those to the architecturally largest possible SVL value today.

Also, debugserver includes information about registers that share the
same part of the register file. e.g. S0 and D0 are the lower parts of
the NEON 128-bit V0 register. And when running on an SME machine, v0 is
the lower 128 bits of the SVE Z0 register. So the register maps used
when defining the VFP registers must differ depending on the
capabilities of the cpu at runtime.

I also changed register reading in debugserver, where formerly when
debugserver was asked to read a register, and the thread_get_state read
of that register failed, it would return all zero's. This is necessary
when constructing a `g` packet that gets all registers - because there
is no separation between register bytes, the offsets are fixed. But when
we are asking for a single register (e.g. Z0) when not in SSVE/SME mode,
this should return an error.

This does mean that when you're running on an SME capabable machine, but
not in SME mode, and do `register read -a`, lldb will report that 48 SVE
registers were unavailable and 5 SME registers were unavailable. But
that's only when `-a` is used.

The register reading and writing depends on new register flavor support
in thread_get_state/thread_set_state in the kernel, which is not yet in
a release. The test case I wrote is skipped on current OSes. I pilfered
the SME register setup from some of David's existing SME test files;
there were a few Linux specific details in those tests that they weren't
easy to reuse on Darwin.

rdar://121608074


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

  Changed paths:
    R llvm/test/Transforms/PGOProfile/Inputs/memprof_missing_leaf.exe
    R llvm/test/Transforms/PGOProfile/Inputs/memprof_missing_leaf.memprofraw
    M llvm/test/Transforms/PGOProfile/Inputs/update_memprof_inputs.sh
    M llvm/test/Transforms/PGOProfile/memprof_missing_leaf.ll

  Log Message:
  -----------
  [memprof] YAMLify the profile for memprof_missing_leaf.ll (NFC) (#120488)

This patch converts the profile for memprof_missing_leaf.ll to the
recently introduced YAML-based text format.


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

  Changed paths:
    M mlir/lib/Dialect/LLVMIR/IR/LLVMDialect.cpp
    M mlir/lib/Dialect/LLVMIR/IR/LLVMTypes.cpp

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

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: 37100505664a4c451eb530bc899de204adb80a13
      https://github.com/llvm/llvm-project/commit/37100505664a4c451eb530bc899de204adb80a13
  Author: Michael Maitland <michaeltmaitland at gmail.com>
  Date:   2024-12-19 (Thu, 19 Dec 2024)

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

  Log Message:
  -----------
  [RISCV][VLOPT] Set CommonVL as the largest of the users (#120349)

Prior to this patch, we required that all users had the same VL in order
to optimize. But as the FIXME said, we can use the largest VL to
optimize, as long as we can determine what the largest is. This patch
implements the FIXME.


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

  Changed paths:
    M llvm/lib/ProfileData/MemProfReader.cpp
    M llvm/lib/Transforms/Instrumentation/MemProfiler.cpp

  Log Message:
  -----------
  [memprof] clang-format MemProf-related files (NFC) (#120504)


  Commit: 21684e38ee65c89d1d0b399c938a83fba5e5c04e
      https://github.com/llvm/llvm-project/commit/21684e38ee65c89d1d0b399c938a83fba5e5c04e
  Author: Maksim Panchenko <maks at fb.com>
  Date:   2024-12-19 (Thu, 19 Dec 2024)

  Changed paths:
    M bolt/lib/Rewrite/LinuxKernelRewriter.cpp

  Log Message:
  -----------
  [BOLT][Linux] Refactor reading of PC-relative addresses. NFCI (#120491)

Fix evaluation order problem identified in
https://github.com/llvm/llvm-project/pull/119088.


  Commit: b71c44b9be17dc6295eb733d685b38e797f3c846
      https://github.com/llvm/llvm-project/commit/b71c44b9be17dc6295eb733d685b38e797f3c846
  Author: ChiaHungDuan <chiahungduan at google.com>
  Date:   2024-12-19 (Thu, 19 Dec 2024)

  Changed paths:
    M compiler-rt/lib/scudo/standalone/primary32.h
    M compiler-rt/lib/scudo/standalone/primary64.h
    M compiler-rt/lib/scudo/standalone/release.h

  Log Message:
  -----------
  [scudo] Add the record of number of attempted page release (#120497)

This also removes the `RangesReleased` which doesn't give much insight
to whether we should adjust the heuristic of doing page release.


  Commit: 1808255a44e67446715cb6b16df49c6cec41b0b4
      https://github.com/llvm/llvm-project/commit/1808255a44e67446715cb6b16df49c6cec41b0b4
  Author: alx32 <103613512+alx32 at users.noreply.github.com>
  Date:   2024-12-19 (Thu, 19 Dec 2024)

  Changed paths:
    M llvm/test/tools/llvm-dwarfdump/X86/verify_no_overlap_error_icf.yaml

  Log Message:
  -----------
  [DWARFVerifier] Fix and enable broken test llvm-dwarfdump/X86/verify_no_overlap_error_icf.yaml (#120330)

Fixing broken test - calling `sed` in a cross-platform compatible way. 
Verified to pass on Mac (which uses BSD sed).


  Commit: 395a369056e1a9b55015b81a8667f39f1f48457f
      https://github.com/llvm/llvm-project/commit/395a369056e1a9b55015b81a8667f39f1f48457f
  Author: Sylvestre Ledru <sylvestre at debian.org>
  Date:   2024-12-19 (Thu, 19 Dec 2024)

  Changed paths:
    M llvm/lib/Target/Xtensa/XtensaISelLowering.cpp

  Log Message:
  -----------
  [Xtensa] Fix build after splitting SDNode::use_iterator

Same as: 145ddf7ede28d9131a65b7f86ad07736a824ee21


  Commit: 98c97d4a19412a76f7279003af6cb219dea1f0c3
      https://github.com/llvm/llvm-project/commit/98c97d4a19412a76f7279003af6cb219dea1f0c3
  Author: Ryosuke Niwa <rniwa at webkit.org>
  Date:   2024-12-19 (Thu, 19 Dec 2024)

  Changed paths:
    M clang/lib/StaticAnalyzer/Checkers/WebKit/PtrTypesSemantics.cpp
    M clang/test/Analysis/Checkers/WebKit/call-args.cpp
    M clang/test/Analysis/Checkers/WebKit/mock-types.h
    M clang/test/Analysis/Checkers/WebKit/ref-cntbl-crtp-base-no-virtual-dtor.cpp

  Log Message:
  -----------
  [WebKit checkers] Recognize adoptRef as a safe function (#119846)

adoptRef in WebKit constructs Ref/RefPtr so treat it as such in
isCtorOfRefCounted. Also removed the support for makeRef and makeRefPtr
as they don't exist any more.


  Commit: aa07f922103ebe8e78c8da4c754b43af3c129f3e
      https://github.com/llvm/llvm-project/commit/aa07f922103ebe8e78c8da4c754b43af3c129f3e
  Author: Justin Bogner <mail at justinbogner.com>
  Date:   2024-12-19 (Thu, 19 Dec 2024)

  Changed paths:
    M clang/lib/CodeGen/CGHLSLRuntime.h
    M clang/test/CodeGenHLSL/builtins/ByteAddressBuffers-constructors.hlsl
    M clang/test/CodeGenHLSL/builtins/RWBuffer-constructor-opt.hlsl
    M clang/test/CodeGenHLSL/builtins/RWBuffer-constructor.hlsl
    M clang/test/CodeGenHLSL/builtins/StructuredBuffers-constructors.hlsl
    M clang/test/CodeGenHLSL/builtins/StructuredBuffers-methods-lib.hlsl
    M clang/test/CodeGenHLSL/builtins/StructuredBuffers-methods-ps.hlsl
    M clang/test/CodeGenHLSL/resource-bindings.hlsl
    M llvm/docs/DirectX/DXILResources.rst
    M llvm/docs/SPIRVUsage.rst
    M llvm/include/llvm/IR/IntrinsicsDirectX.td
    M llvm/include/llvm/IR/IntrinsicsSPIRV.td
    M llvm/lib/Analysis/DXILResource.cpp
    M llvm/lib/Target/DirectX/DXILOpLowering.cpp
    M llvm/lib/Target/DirectX/DXILResourceAccess.cpp
    M llvm/lib/Target/DirectX/DXILShaderFlags.cpp
    M llvm/lib/Target/SPIRV/SPIRVInstructionSelector.cpp
    M llvm/test/Analysis/DXILResource/buffer-frombinding.ll
    M llvm/test/CodeGen/DirectX/BufferLoad.ll
    M llvm/test/CodeGen/DirectX/BufferStore-errors.ll
    M llvm/test/CodeGen/DirectX/BufferStore.ll
    M llvm/test/CodeGen/DirectX/ContainerData/PSVResources.ll
    M llvm/test/CodeGen/DirectX/CreateHandle.ll
    M llvm/test/CodeGen/DirectX/CreateHandleFromBinding.ll
    M llvm/test/CodeGen/DirectX/Metadata/resource-symbols.ll
    M llvm/test/CodeGen/DirectX/ResourceAccess/load_typedbuffer.ll
    M llvm/test/CodeGen/DirectX/ResourceAccess/store_typedbuffer.ll
    M llvm/test/CodeGen/DirectX/ResourceGlobalElimination.ll
    M llvm/test/CodeGen/DirectX/ShaderFlags/typed-uav-load-additional-formats.ll
    M llvm/test/CodeGen/DirectX/bufferUpdateCounter.ll
    M llvm/test/CodeGen/SPIRV/hlsl-resources/BufferLoad.ll
    M llvm/test/CodeGen/SPIRV/hlsl-resources/BufferStore.ll
    M llvm/test/CodeGen/SPIRV/hlsl-resources/CombinedSamplerImageDynIdx.ll
    M llvm/test/CodeGen/SPIRV/hlsl-resources/CombinedSamplerImageNonUniformIdx.ll
    M llvm/test/CodeGen/SPIRV/hlsl-resources/InputAttachmentImageDynIdx.ll
    M llvm/test/CodeGen/SPIRV/hlsl-resources/InputAttachmentImageNonUniformIdx.ll
    M llvm/test/CodeGen/SPIRV/hlsl-resources/SampledImageDynIdx.ll
    M llvm/test/CodeGen/SPIRV/hlsl-resources/SampledImageNonUniformIdx.ll
    M llvm/test/CodeGen/SPIRV/hlsl-resources/SamplerArrayDynIdx.ll
    M llvm/test/CodeGen/SPIRV/hlsl-resources/SamplerArrayNonUniformIdx.ll
    M llvm/test/CodeGen/SPIRV/hlsl-resources/ScalarResourceType.ll
    M llvm/test/CodeGen/SPIRV/hlsl-resources/StorageImageDynIdx.ll
    M llvm/test/CodeGen/SPIRV/hlsl-resources/StorageImageNonUniformIdx.ll
    M llvm/test/CodeGen/SPIRV/hlsl-resources/StorageTexelBufferDynIdx.ll
    M llvm/test/CodeGen/SPIRV/hlsl-resources/StorageTexelBufferNonUniformIdx.ll
    M llvm/test/CodeGen/SPIRV/hlsl-resources/UniformTexelBufferDynIdx.ll
    M llvm/test/CodeGen/SPIRV/hlsl-resources/UniformTexelBufferNonUniformIdx.ll
    M llvm/test/CodeGen/SPIRV/hlsl-resources/UnknownBufferLoad.ll
    M llvm/test/CodeGen/SPIRV/hlsl-resources/UnknownBufferStore.ll

  Log Message:
  -----------
  [DirectX][SPIRV] Consistent names for HLSL resource intrinsics (#120466)

Rename HLSL resource-related intrinsics to be consistent with the naming
conventions discussed in [wg-hlsl:0014].

This is an entirely mechanical change, consisting of the following
commands and automated formatting.

```sh
git grep -l handle.fromBinding | xargs perl -pi -e \
  's/(dx|spv)(.)handle.fromBinding/$1$2resource$2handlefrombinding/g'
git grep -l typedBufferLoad_checkbit | xargs perl -pi -e \
  's/(dx|spv)(.)typedBufferLoad_checkbit/$1$2resource$2loadchecked$2typedbuffer/g'
git grep -l typedBufferLoad | xargs perl -pi -e \
  's/(dx|spv)(.)typedBufferLoad/$1$2resource$2load$2typedbuffer/g'
git grep -l typedBufferStore | xargs perl -pi -e \
  's/(dx|spv)(.)typedBufferStore/$1$2resource$2store$2typedbuffer/g'
git grep -l bufferUpdateCounter | xargs perl -pi -e \
  's/(dx|spv)(.)bufferUpdateCounter/$1$2resource$2updatecounter/g'
git grep -l cast_handle | xargs perl -pi -e \
  's/(dx|spv)(.)cast.handle/$1$2resource$2casthandle/g'
```

[wg-hlsl:0014]: https://github.com/llvm/wg-hlsl/blob/main/proposals/0014-consistent-naming-for-dx-intrinsics.md


  Commit: d3508ccd1512c57094ec7b321d147aa72c9fbc7e
      https://github.com/llvm/llvm-project/commit/d3508ccd1512c57094ec7b321d147aa72c9fbc7e
  Author: Konstantina Mitropoulou <44334539+kmitropoulou at users.noreply.github.com>
  Date:   2024-12-19 (Thu, 19 Dec 2024)

  Changed paths:
    M llvm/lib/Target/AMDGPU/AMDGPUISelDAGToDAG.cpp
    M llvm/test/CodeGen/AMDGPU/branch-relaxation.ll
    A llvm/test/CodeGen/AMDGPU/uniform_branch_with_floating_point_cond.ll

  Log Message:
  -----------
  [AMDGPU] Emit S_CBRANCH_SCC for floating-point conditions. (#120588)

- **[AMDGPU] Add new test.**
- **[AMDGPU] Emit S_CBRANCH_SCC for floating-point conditions.**

---------

Co-authored-by: Konstantina Mitropoulou <KonstantinaMitropoulou at amd.com>


  Commit: b5d02786be31f45ca5919b3b73e99d8958330f78
      https://github.com/llvm/llvm-project/commit/b5d02786be31f45ca5919b3b73e99d8958330f78
  Author: Ryosuke Niwa <rniwa at webkit.org>
  Date:   2024-12-19 (Thu, 19 Dec 2024)

  Changed paths:
    M clang/lib/StaticAnalyzer/Checkers/WebKit/PtrTypesSemantics.cpp
    M clang/test/Analysis/Checkers/WebKit/call-args.cpp
    M clang/test/Analysis/Checkers/WebKit/mock-types.h
    M clang/test/Analysis/Checkers/WebKit/ref-cntbl-crtp-base-no-virtual-dtor.cpp

  Log Message:
  -----------
  Revert "[WebKit checkers] Recognize adoptRef as a safe function" (#120626)

Reverts llvm/llvm-project#119846. Introduced a failing test.


  Commit: 45c01e8a33bbb1790ea16577e47b1e6a34fa1548
      https://github.com/llvm/llvm-project/commit/45c01e8a33bbb1790ea16577e47b1e6a34fa1548
  Author: Finn Plummer <50529406+inbelic at users.noreply.github.com>
  Date:   2024-12-19 (Thu, 19 Dec 2024)

  Changed paths:
    M llvm/include/llvm/Analysis/TargetTransformInfo.h
    M llvm/include/llvm/Analysis/TargetTransformInfoImpl.h
    M llvm/include/llvm/Analysis/VectorUtils.h
    M llvm/include/llvm/CodeGen/BasicTTIImpl.h
    M llvm/lib/Analysis/ConstantFolding.cpp
    M llvm/lib/Analysis/TargetTransformInfo.cpp
    M llvm/lib/Analysis/VectorUtils.cpp
    M llvm/lib/CodeGen/ReplaceWithVeclib.cpp
    M llvm/lib/Target/DirectX/DirectXTargetTransformInfo.cpp
    M llvm/lib/Target/DirectX/DirectXTargetTransformInfo.h
    M llvm/lib/Transforms/Scalar/Scalarizer.cpp
    M llvm/lib/Transforms/Vectorize/LoopVectorizationLegality.cpp
    M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
    M llvm/lib/Transforms/Vectorize/VPlanRecipes.cpp
    M llvm/lib/Transforms/Vectorize/VectorCombine.cpp

  Log Message:
  -----------
  [NFC][TargetTransformInfo][VectorUtils] Consolidate `isVectorIntrinsic...` api (#117635)

- update `VectorUtils:isVectorIntrinsicWithScalarOpAtArg` to use TTI for
all uses, to allow specifiction of target specific intrinsics
- add TTI to the `isVectorIntrinsicWithStructReturnOverloadAtField` api
- update TTI api to provide `isTargetIntrinsicWith...` functions and
  consistently name them
- move `isTriviallyScalarizable` to VectorUtils
  
- update all uses of the api and provide the TTI parameter

Resolves #117030


  Commit: e3b571e632855386908c5cea310f5056d31d6df8
      https://github.com/llvm/llvm-project/commit/e3b571e632855386908c5cea310f5056d31d6df8
  Author: Niels Dekker <N.Dekker at lumc.nl>
  Date:   2024-12-19 (Thu, 19 Dec 2024)

  Changed paths:
    M clang-tools-extra/clang-tidy/readability/ContainerSizeEmptyCheck.h

  Log Message:
  -----------
  [clang-tidy][NFC] Sync ContainerSizeEmptyCheck with container-size-empty doc (#118459)

Brought the class documentation in sync with the user documentation at
container-size-empty.rst:


https://github.com/llvm/llvm-project/blob/bfb26202e05ee2932b4368b5fca607df01e8247f/clang-tools-extra/docs/clang-tidy/checks/readability/container-size-empty.rst#L7-L14


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

  Changed paths:
    M llvm/include/llvm/ProfileData/MemProf.h
    M llvm/unittests/ProfileData/InstrProfTest.cpp
    M llvm/unittests/ProfileData/MemProfTest.cpp

  Log Message:
  -----------
  [memprof] Introduce IndexedCallstackIdConveter (NFC) (#120540)

This patch introduces IndexedCallstackIdConveter as a convenience
wrapper around FrameIdConverter and CallStackIdConverter just for
tests.

With the new wrapper, we get to replace idioms like:

  FrameIdConverter<decltype(MemProfData.Frames)> FrameIdConv(
      MemProfData.Frames);
  CallStackIdConverter<decltype(MemProfData.CallStacks)> CSIdConv(
      MemProfData.CallStacks, FrameIdConv);

with:

  IndexedCallstackIdConveter CSIdConv(MemProfData);

Unfortunately, this exact pattern occurs in tests only; the
combinations of the frame ID converter and call stack ID converter are
diverse in production code.


  Commit: 4bbdb018a6cb564783cfb9c65ca82b81c6006bb6
      https://github.com/llvm/llvm-project/commit/4bbdb018a6cb564783cfb9c65ca82b81c6006bb6
  Author: erichkeane <ekeane at nvidia.com>
  Date:   2024-12-19 (Thu, 19 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/DiagnosticSemaKinds.td
    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-init-construct.cpp
    A clang/test/AST/ast-print-openacc-shutdown-construct.cpp
    M clang/test/ParserOpenACC/parse-clauses.c
    M clang/test/ParserOpenACC/parse-constructs.c
    M clang/test/SemaOpenACC/combined-construct-async-clause.cpp
    M clang/test/SemaOpenACC/combined-construct-wait-clause.cpp
    M clang/test/SemaOpenACC/compute-construct-async-clause.cpp
    M clang/test/SemaOpenACC/compute-construct-num_gangs-clause.cpp
    M clang/test/SemaOpenACC/compute-construct-num_workers-clause.cpp
    M clang/test/SemaOpenACC/compute-construct-private-clause.c
    M clang/test/SemaOpenACC/compute-construct-reduction-clause.c
    M clang/test/SemaOpenACC/compute-construct-vector_length-clause.cpp
    M clang/test/SemaOpenACC/compute-construct-wait-clause.cpp
    A clang/test/SemaOpenACC/init-construct-ast.cpp
    A clang/test/SemaOpenACC/init-construct.cpp
    A clang/test/SemaOpenACC/shutdown-construct-ast.cpp
    A clang/test/SemaOpenACC/shutdown-construct.cpp
    M clang/test/SemaOpenACC/wait-construct.cpp
    M clang/tools/libclang/CIndex.cpp
    M clang/tools/libclang/CXCursor.cpp

  Log Message:
  -----------
  [OpenACC] Implement 'init' and 'shutdown' constructs

These two constructs are very simple and similar, and only support 3
different clauses, two of which are already implemented.  This patch
adds AST nodes for both constructs, and leaves the device_num clause
unimplemented, but enables the other two.


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

  Changed paths:
    M clang/include/clang/AST/OpenACCClause.h
    M clang/include/clang/Basic/OpenACCClauses.def
    M clang/include/clang/Sema/SemaOpenACC.h
    M clang/lib/AST/OpenACCClause.cpp
    M clang/lib/AST/StmtProfile.cpp
    M clang/lib/AST/TextNodeDumper.cpp
    M clang/lib/Parse/ParseOpenACC.cpp
    M clang/lib/Sema/SemaOpenACC.cpp
    M clang/lib/Sema/TreeTransform.h
    M clang/lib/Serialization/ASTReader.cpp
    M clang/lib/Serialization/ASTWriter.cpp
    M clang/test/AST/ast-print-openacc-init-construct.cpp
    M clang/test/AST/ast-print-openacc-shutdown-construct.cpp
    M clang/test/ParserOpenACC/parse-clauses.c
    M clang/test/SemaOpenACC/combined-construct-auto_seq_independent-clauses.c
    M clang/test/SemaOpenACC/combined-construct-device_type-clause.c
    M clang/test/SemaOpenACC/compute-construct-device_type-clause.c
    M clang/test/SemaOpenACC/init-construct-ast.cpp
    M clang/test/SemaOpenACC/init-construct.cpp
    M clang/test/SemaOpenACC/loop-construct-auto_seq_independent-clauses.c
    M clang/test/SemaOpenACC/loop-construct-device_type-clause.c
    M clang/test/SemaOpenACC/shutdown-construct-ast.cpp
    M clang/test/SemaOpenACC/shutdown-construct.cpp
    M clang/tools/libclang/CIndex.cpp

  Log Message:
  -----------
  [OpenACC] Implement 'device_num' clause sema for 'init'/'shutdown'

This is a very simple sema implementation, and just required AST node
plus the existing diagnostics.  This patch adds tests and adds the AST
node required, plus enables it for 'init' and 'shutdown' (only!)


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

  Changed paths:
    M flang/include/flang/Lower/AbstractConverter.h
    M flang/include/flang/Lower/ConvertVariable.h
    M flang/include/flang/Optimizer/Builder/Runtime/Derived.h
    M flang/include/flang/Runtime/derived-api.h
    M flang/lib/Lower/Bridge.cpp
    M flang/lib/Lower/ConvertVariable.cpp
    M flang/lib/Lower/OpenMP/DataSharingProcessor.cpp
    M flang/lib/Lower/OpenMP/DataSharingProcessor.h
    M flang/lib/Optimizer/Builder/Runtime/Derived.cpp
    M flang/runtime/derived-api.cpp
    M flang/runtime/derived.cpp
    M flang/runtime/derived.h
    A flang/test/Lower/OpenMP/derived-type-allocatable.f90

  Log Message:
  -----------
  [flang][OpenMP] Initialize allocatable members of derived types (#120295)

Allocatable members of privatized derived types must be allocated,
with the same bounds as the original object, whenever that member
is also allocated in it, but Flang was not performing such
initialization.

The `Initialize` runtime function can't perform this task unless
its signature is changed to receive an additional parameter, the
original object, that is needed to find out which allocatable
members, with their bounds, must also be allocated in the clone.
As `Initialize` is used not only for privatization, sometimes this
other object won't even exist, so this new parameter would need
to be optional.
Because of this, it seemed better to add a new runtime function:
`InitializeClone`.
To avoid unnecessary calls, lowering inserts a call to it only for
privatized items that are derived types with allocatable members.

Fixes https://github.com/llvm/llvm-project/issues/114888
Fixes https://github.com/llvm/llvm-project/issues/114889


  Commit: 4797437463e63ee289a1ff1904cfb7b2fe6cb4c2
      https://github.com/llvm/llvm-project/commit/4797437463e63ee289a1ff1904cfb7b2fe6cb4c2
  Author: Ziqing Luo <ziqing at udel.edu>
  Date:   2024-12-19 (Thu, 19 Dec 2024)

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

  Log Message:
  -----------
  [clang][NFC] Increase NumStmtBits by 1 as we are approaching the limit (#120341)

We have already hit the limit of NumStmtBits downstream after
010d0115fc8e3834fc6f747f0841f3b1e467c4da, which adds 4 new StmtNodes.


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

  Changed paths:
    M llvm/lib/Target/RISCV/RISCVISelDAGToDAG.cpp
    M llvm/lib/Target/RISCV/RISCVISelDAGToDAG.h
    M llvm/lib/Target/RISCV/RISCVInstrInfoZb.td
    M llvm/test/CodeGen/RISCV/pr84653_pr85190.ll
    M llvm/test/CodeGen/RISCV/zbb-logic-neg-imm.ll

  Log Message:
  -----------
  [RISCV] Select and/or/xor with certain constants to Zbb ANDN/ORN/XNOR (#120221)

    (and X, (C<<12|0xfff)) -> (ANDN X, ~C<<12)
    (or  X, (C<<12|0xfff)) -> (ORN  X, ~C<<12)
    (xor X, (C<<12|0xfff)) -> (XNOR X, ~C<<12)

Emits better code, typically by avoiding an `ADDI HI, -1` instruction.

Co-authored-by: Craig Topper <craig.topper at sifive.com>


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

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

  Log Message:
  -----------
  [flang][cuda] Allow STOP in device context (#120625)

STOP statement is allowed in device procedure


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

  Changed paths:
    M clang/docs/ReleaseNotes.rst
    M clang/lib/CodeGen/CGExpr.cpp
    M clang/test/CodeGen/bounds-checking.c
    M clang/test/CodeGen/ubsan-trap-merge.c

  Log Message:
  -----------
  [ubsan] Remove -ubsan-unique-traps (replace with -fno-sanitize-merge) (#120613)

-fno-sanitize-merge (introduced in
https://github.com/llvm/llvm-project/pull/120511) duplicates the
functionality of -ubsan-unique-traps but also allows individual checks
to be specified e.g.,
* "-fno-sanitize-merge" without arguments is equivalent to
-ubsan-unique-traps
* "-fno-sanitize-merge=bool,enum" will apply it only to those two checks

Additionally, the naming is more consistent with the rest of the
-fsanitize- family.

This patch therefore removes -ubsan-unique-traps. This breaks backwards
compatibility; we hope that this is acceptable since '-mllvm
-ubsan-unique-traps' was an experimental flag.

This patch also adds negative test examples to bounds-checking.c, and
strengthens the NOOPTARRAY assertion to prevent spurious matches.

"-bounds-checking-unique-traps" is unaffected by this patch.


  Commit: 8dfae0c462e9558df77c83c97d89b4b83ed1baff
      https://github.com/llvm/llvm-project/commit/8dfae0c462e9558df77c83c97d89b4b83ed1baff
  Author: Nico Weber <thakis at chromium.org>
  Date:   2024-12-19 (Thu, 19 Dec 2024)

  Changed paths:
    M libcxx/src/include/overridable_function.h
    M libcxx/src/new.cpp
    M libcxxabi/src/stdlib_new_delete.cpp

  Log Message:
  -----------
  Revert "[libcxx] Use alias for detecting overriden function (#114961)"

This reverts commit 62bd10f7d18ca6f544286767cae2c9026d493888.
Breaks building with -flto=thin, see
https://github.com/llvm/llvm-project/pull/114961#issuecomment-2555754056


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

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

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


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

  Changed paths:
    M libcxx/include/CMakeLists.txt
    M libcxx/include/__locale_dir/locale_base_api.h
    M libcxx/include/__locale_dir/locale_base_api/bsd_locale_fallbacks.h
    R libcxx/include/__locale_dir/locale_guard.h
    M libcxx/include/__locale_dir/support/bsd_like.h
    M libcxx/include/__locale_dir/support/windows.h
    M libcxx/include/__support/xlocale/__nop_locale_mgmt.h
    M libcxx/include/module.modulemap
    M libcxx/src/iostream.cpp
    M libcxx/src/support/win32/locale_win32.cpp

  Log Message:
  -----------
  [libc++] Remove the need for `uselocale()` (#120158)

Instead of requiring `uselocale()` as part of the base locale API,
define __locale_guard in the few places that need it directly, without
making __locale_guard part of the base API.

In practice, most mainstream platforms never used __locale_guard, so
they also didn't need to define uselocale(), and after this patch they
actually don't define it anymore.


  Commit: c2830b218017dd9e2fca843e81baec1d71306b07
      https://github.com/llvm/llvm-project/commit/c2830b218017dd9e2fca843e81baec1d71306b07
  Author: Brox Chen <guochen2 at amd.com>
  Date:   2024-12-19 (Thu, 19 Dec 2024)

  Changed paths:
    A llvm/test/MC/AMDGPU/gfx12_asm_vop3_aliases-fake16.s
    M llvm/test/MC/AMDGPU/gfx12_asm_vop3_aliases.s

  Log Message:
  -----------
  [AMDGPU][True16][MC] added fake16 for gfx12 alias MC test (#120624)

This is a NFC.

Duplicate gfx12_asm_vop3_alias.s file to true16/fake16 version and
update `real-true16` flag on it.

This is preparing the upcoming changes for true16


  Commit: 0a94ee694fbe1a17c5a948fbe86b881527f81343
      https://github.com/llvm/llvm-project/commit/0a94ee694fbe1a17c5a948fbe86b881527f81343
  Author: Michael Jones <michaelrj at google.com>
  Date:   2024-12-19 (Thu, 19 Dec 2024)

  Changed paths:
    M libc/docs/dev/index.rst
    M libc/docs/full_host_build.rst

  Log Message:
  -----------
  [libc] update host build docs (#120147)

Update the host build docs to better reflect the current recommended
process.


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

  Changed paths:
    M llvm/test/Transforms/VectorCombine/AArch64/shuffletoidentity.ll

  Log Message:
  -----------
  [VectorCombine] Add test coverage to shuffleToIdentity for fp casts. NFC


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

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

  Log Message:
  -----------
  [gn build] Port 34e0f9cd36e9


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

  Changed paths:
    M clang/lib/CodeGen/SanitizerMetadata.cpp
    A clang/test/CodeGen/sanitize-type-globals.cpp

  Log Message:
  -----------
  [TySan] Don't report globals with external storage. (#120565)

Globals with external storage should have been initialized where they
are defined.

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

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


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

  Changed paths:
    M clang/test/CodeGen/bounds-checking.c
    M llvm/lib/Transforms/Instrumentation/BoundsChecking.cpp

  Log Message:
  -----------
  [BoundsSan] Update BoundsChecking.cpp to use no-merge attribute where applicable (#120620)

https://github.com/llvm/llvm-project/pull/65972 introduced
-ubsan-unique-traps and -bounds-checking-unique-traps, which attach the
function size to the ubsantrap intrinsic.

https://github.com/llvm/llvm-project/pull/117651 changed
ubsan-unique-traps to use nomerge instead of the function size, but did
not update -bounds-checking-unique-traps. This patch adds nomerge to
bounds-checking-unique-traps.


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

  Changed paths:
    M llvm/include/llvm/Analysis/TargetTransformInfo.h
    M llvm/include/llvm/Analysis/TargetTransformInfoImpl.h
    M llvm/lib/Analysis/TargetTransformInfo.cpp
    M llvm/lib/Target/AArch64/AArch64TargetTransformInfo.h
    M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
    M llvm/lib/Transforms/Vectorize/VPRecipeBuilder.h
    M llvm/lib/Transforms/Vectorize/VPlan.h
    M llvm/lib/Transforms/Vectorize/VPlanAnalysis.cpp
    M llvm/lib/Transforms/Vectorize/VPlanRecipes.cpp
    M llvm/lib/Transforms/Vectorize/VPlanValue.h
    M llvm/test/Transforms/LoopVectorize/AArch64/fully-unrolled-cost.ll
    R llvm/test/Transforms/LoopVectorize/AArch64/partial-reduce-dot-product-epilogue.ll
    R llvm/test/Transforms/LoopVectorize/AArch64/partial-reduce-dot-product-neon.ll
    R llvm/test/Transforms/LoopVectorize/AArch64/partial-reduce-dot-product.ll
    R llvm/test/Transforms/LoopVectorize/AArch64/partial-reduce-no-dotprod.ll
    R llvm/test/Transforms/LoopVectorize/AArch64/vplan-printing.ll

  Log Message:
  -----------
  Revert "[LoopVectorizer] Add support for partial reductions (#92418)"

This reverts commit 060d62b48aeb5080ffcae1dc56e41a06c6f56701.

It looks like this is triggering an assertion when build llvm-test-suite
on ARM64 macOS.

Reproducer from MultiSource/Benchmarks/Ptrdist/bc/number.c

    target datalayout = "e-m:o-p270:32:32-p271:32:32-p272:64:64-i64:64-i128:128-n32:64-S128-Fn32"
    target triple = "arm64-apple-macosx15.0.0"

    define void @test(i64 %idx.neg, i8 %0) #0 {
    entry:
      br label %while.body

    while.body:                                       ; preds = %while.body, %entry
      %n1ptr.0.idx131 = phi i64 [ %n1ptr.0.add, %while.body ], [ %idx.neg, %entry ]
      %n2ptr.0.idx130 = phi i64 [ %n2ptr.0.add, %while.body ], [ 0, %entry ]
      %sum.1129 = phi i64 [ %add99, %while.body ], [ 0, %entry ]
      %n1ptr.0.add = add i64 %n1ptr.0.idx131, 1
      %conv = sext i8 %0 to i64
      %n2ptr.0.add = add i64 %n2ptr.0.idx130, 1
      %1 = load i8, ptr null, align 1
      %conv97 = sext i8 %1 to i64
      %mul = mul i64 %conv97, %conv
      %add99 = add i64 %mul, %sum.1129
      %cmp94 = icmp ugt i64 %n1ptr.0.idx131, 0
      %cmp95 = icmp ne i64 %n2ptr.0.idx130, -1
      %2 = and i1 %cmp94, %cmp95
      br i1 %2, label %while.body, label %while.end.loopexit

    while.end.loopexit:                               ; preds = %while.body
      %add99.lcssa = phi i64 [ %add99, %while.body ]
      ret void
    }

    attributes #0 = { "target-cpu"="apple-m1" }

> opt -p loop-vectorize
Assertion failed: ((VF.isScalar() || V->getType()->isVectorTy()) && "scalar values must be stored as (0, 0)"), function set, file VPlan.h, line 284.


  Commit: 0517772b4ac20c5d3a0de0d4703354a179833248
      https://github.com/llvm/llvm-project/commit/0517772b4ac20c5d3a0de0d4703354a179833248
  Author: Philip Reames <preames at rivosinc.com>
  Date:   2024-12-19 (Thu, 19 Dec 2024)

  Changed paths:
    R llvm/include/llvm/Transforms/Instrumentation/PoisonChecking.h
    M llvm/lib/Passes/PassBuilder.cpp
    M llvm/lib/Passes/PassRegistry.def
    M llvm/lib/Transforms/Instrumentation/CMakeLists.txt
    R llvm/lib/Transforms/Instrumentation/PoisonChecking.cpp
    R llvm/test/Instrumentation/PoisonChecking/basic-flag-validation.ll
    R llvm/test/Instrumentation/PoisonChecking/ub-checks.ll
    M llvm/utils/gn/secondary/llvm/lib/Transforms/Instrumentation/BUILD.gn

  Log Message:
  -----------
  Delete unused PoisonChecking utility pass

This was introduced ~5yrs ago (by me), and has never really gotten
any adoption.  By now, it's significantly out of sync with new/changed
poison propoagation rules.  The idea is still reasonable, but the
imagined use case is largely covered by alive2 these days anyways.


  Commit: 6a01ac7d06df875206f746fc982f58c161249285
      https://github.com/llvm/llvm-project/commit/6a01ac7d06df875206f746fc982f58c161249285
  Author: Joshua Batista <jbatista at microsoft.com>
  Date:   2024-12-19 (Thu, 19 Dec 2024)

  Changed paths:
    M clang/lib/AST/Type.cpp
    M clang/lib/Sema/HLSLExternalSemaSource.cpp
    M clang/test/AST/HLSL/StructuredBuffers-AST.hlsl
    A clang/test/AST/HLSL/is_structured_resource_element_compatible_concept.hlsl
    M clang/test/SemaHLSL/BuiltIns/StructuredBuffers.hlsl

  Log Message:
  -----------
  [HLSL] Add concepts for Structured buffers (#119643)

This PR adds concept validation to structured buffers, in the same way
that it was done for typed buffers (like RWBuffer) in
https://github.com/llvm/llvm-project/pull/116413.
This PR should also be responsible for introducing rejection of 0 size
elements for structured buffers.
Fixes https://github.com/llvm/llvm-project/issues/117406


  Commit: af5a65685964e064704b46947ab0102d41caa785
      https://github.com/llvm/llvm-project/commit/af5a65685964e064704b46947ab0102d41caa785
  Author: Jay Foad <jay.foad at amd.com>
  Date:   2024-12-19 (Thu, 19 Dec 2024)

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

  Log Message:
  -----------
  [IR] Remove unused method InstIterator::atEnd (#120611)


  Commit: 6f983f88537415952ec528c42f89f1d5b620fe68
      https://github.com/llvm/llvm-project/commit/6f983f88537415952ec528c42f89f1d5b620fe68
  Author: Brad Smith <brad at comstyle.com>
  Date:   2024-12-19 (Thu, 19 Dec 2024)

  Changed paths:
    M compiler-rt/CMakeLists.txt

  Log Message:
  -----------
  [compiler-rt] Set the default C++ library to libc++ on OpenBSD (#107694)


  Commit: bcd32ef0ba6b33a4aa3a5d0a96526f86634035da
      https://github.com/llvm/llvm-project/commit/bcd32ef0ba6b33a4aa3a5d0a96526f86634035da
  Author: Brad Smith <brad at comstyle.com>
  Date:   2024-12-19 (Thu, 19 Dec 2024)

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

  Log Message:
  -----------
  [Driver][FreeBSD][NFC] Remove some code duplication (#120652)


  Commit: 3d297514e2c3f10b3fd8fcf0e5b1c745dfe644cf
      https://github.com/llvm/llvm-project/commit/3d297514e2c3f10b3fd8fcf0e5b1c745dfe644cf
  Author: Vitaly Buka <vitalybuka at google.com>
  Date:   2024-12-19 (Thu, 19 Dec 2024)

  Changed paths:
    M llvm/lib/Transforms/Instrumentation/BoundsChecking.cpp
    M llvm/test/Instrumentation/BoundsChecking/runtimes.ll

  Log Message:
  -----------
  [BoundsChecking] Add support for runtime handlers (#120513)

This is a step forward to have reporting consistent with other UBSAN
checks.

Runtime and clang parts are here #120515.


  Commit: b13592219c421820b7d774dfe360f9f2d9bd94f6
      https://github.com/llvm/llvm-project/commit/b13592219c421820b7d774dfe360f9f2d9bd94f6
  Author: Mehdi Amini <joker.eph at gmail.com>
  Date:   2024-12-20 (Fri, 20 Dec 2024)

  Changed paths:
    M llvm/docs/Contributing.rst
    M llvm/docs/GitHub.rst

  Log Message:
  -----------
  [Doc] Add a section on CI to the GitHub documentation (#85376)

See
https://discourse.llvm.org/t/rfc-add-a-warning-when-bypassing-the-premerge-testing/77610
for context.


  Commit: 44201679c6ec597a8624b38ff8f056c5a8dab901
      https://github.com/llvm/llvm-project/commit/44201679c6ec597a8624b38ff8f056c5a8dab901
  Author: Matt Arsenault <Matthew.Arsenault at amd.com>
  Date:   2024-12-20 (Fri, 20 Dec 2024)

  Changed paths:
    M llvm/lib/Target/AMDGPU/AMDGPUAttributor.cpp
    A llvm/test/CodeGen/AMDGPU/issue120256-annotate-constexpr-addrspacecast.ll

  Log Message:
  -----------
  AMDGPU: Fix mishandling of search for constantexpr addrspacecasts (#120346)


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

  Changed paths:
    M clang/docs/ReleaseNotes.rst
    M clang/lib/CodeGen/BackendUtil.cpp
    M clang/lib/Driver/SanitizerArgs.cpp
    M clang/test/CodeGen/bounds-checking.c
    M compiler-rt/lib/ubsan/ubsan_checks.inc
    M compiler-rt/lib/ubsan/ubsan_handlers.cpp
    M compiler-rt/lib/ubsan/ubsan_handlers.h
    M compiler-rt/lib/ubsan/ubsan_interface.inc
    M compiler-rt/lib/ubsan_minimal/ubsan_minimal_handlers.cpp
    M compiler-rt/test/ubsan/TestCases/Misc/local_bounds.cpp
    M compiler-rt/test/ubsan_minimal/TestCases/local_bounds.cpp

  Log Message:
  -----------
  [ubsan]  Runtime and driver support for local-bounds (#120515)

Implements ``-f[no-]sanitize-trap=local-bounds``,
and ``-f[no-]sanitize-recover=local-bounds``.

LLVM part is here #120513.


  Commit: 52574b5f40606b8319952e45d0c407675d9ee0fa
      https://github.com/llvm/llvm-project/commit/52574b5f40606b8319952e45d0c407675d9ee0fa
  Author: Brad Smith <brad at comstyle.com>
  Date:   2024-12-19 (Thu, 19 Dec 2024)

  Changed paths:
    M lld/ELF/Config.h
    M lld/ELF/Driver.cpp
    M lld/ELF/Writer.cpp
    M lld/docs/ld.lld.1
    M lld/test/ELF/openbsd-phdr.s

  Log Message:
  -----------
  [ELF] Add support for PT_OPENBSD_NOBTCFI (#120005)


  Commit: cc7d0841cc27b709f83a4194f45914c00a69a9ea
      https://github.com/llvm/llvm-project/commit/cc7d0841cc27b709f83a4194f45914c00a69a9ea
  Author: Brad Smith <brad at comstyle.com>
  Date:   2024-12-19 (Thu, 19 Dec 2024)

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

  Log Message:
  -----------
  [clang][Sema] Enable the kprintf format attribute (#100669)


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

  Changed paths:
    M lldb/source/Utility/LoongArch_DWARF_Registers.h

  Log Message:
  -----------
  [lldb][LoongArch] Fix the incorrect floating-point register dwarf number

According to the documentation described at
https://github.com/loongson/la-abi-specs/blob/release/ladwarf.adoc, the
dwarf numbers for floating-point registers range from 32 to 63.

An incorrect dwarf number will prevent the register values from being
properly restored during unwinding.

This test reflects this problem:

```
loongson at linux:~$ cat test.c

void foo() {
  asm volatile ("movgr2fr.d $fs2, $ra":::"$fs2");
}
int main() {
  asm volatile ("movgr2fr.d $fs2, $sp":::"$fs2");
  foo();
  return 0;
}

loongson at linux:~$ clang -g test.c  -o test

```
Without this patch:
```
loongson at linux:~$ ./_build/bin/lldb ./t
(lldb) target create "./t"
Current executable set to
'/home/loongson/llvm-project/_build_lldb/t' (loongarch64).
(lldb) b foo
Breakpoint 1: where = t`foo + 20 at test.c:4:1, address =
0x0000000000000714
(lldb) r
Process 2455626 launched: '/home/loongson/llvm-project/_build_lldb/t' (loongarch64)
Process 2455626 stopped
* thread #1, name = 't', stop reason = breakpoint 1.1
    frame #0: 0x0000555555554714 t`foo at test.c:4:1
   1    #include <stdio.h>
   2
   3    void foo() {
-> 4    asm volatile ("movgr2fr.d $fs2, $ra":::"$fs2");
   5    }
   6    int main() {
   7    asm volatile ("movgr2fr.d $fs2, $sp":::"$fs2");
(lldb) si
Process 2455626 stopped
* thread #1, name = 't', stop reason = instruction step into
    frame #0: 0x0000555555554718 t`foo at test.c:4:1
   1    #include <stdio.h>
   2
   3    void foo() {
-> 4    asm volatile ("movgr2fr.d $fs2, $ra":::"$fs2");
   5    }
   6    int main() {
   7    asm volatile ("movgr2fr.d $fs2, $sp":::"$fs2");
(lldb) f 1
frame #1: 0x0000555555554768 t`main at test.c:8:1
   5    }
   6    int main() {
   7    asm volatile ("movgr2fr.d $fs2, $sp":::"$fs2");
-> 8    foo();
   9    return 0;
   10   }
(lldb) register read -a
General Purpose Registers:
        r1 = 0x0000555555554768  t`main + 40 at test.c:8:1
        r3 = 0x00007ffffffef780
       r22 = 0x00007ffffffef7b0
       r23 = 0x00007ffffffef918
       r24 = 0x0000000000000001
       r25 = 0x0000000000000000
       r26 = 0x000055555555be08  t`__do_global_dtors_aux_fini_array_entry
       r27 = 0x0000555555554740  t`main at test.c:6
       r28 = 0x00007ffffffef928
       r29 = 0x00007ffff7febc88  ld-linux-loongarch-lp64d.so.1`_rtld_global_ro
       r30 = 0x000055555555be08  t`__do_global_dtors_aux_fini_array_entry
        pc = 0x0000555555554768  t`main + 40 at test.c:8:1
33 registers were unavailable.

Floating Point Registers:
       f13 = 0x00007ffffffef780 !!!!! wrong register
       f24 = 0xffffffffffffffff
       f25 = 0xffffffffffffffff
       f26 = 0x0000555555554768  t`main + 40 at test.c:8:1
       f27 = 0xffffffffffffffff
       f28 = 0xffffffffffffffff
       f29 = 0xffffffffffffffff
       f30 = 0xffffffffffffffff
       f31 = 0xffffffffffffffff
32 registers were unavailable.
```
With this patch:
```
The previous operations are the same.
(lldb) register read -a
General Purpose Registers:
        r1 = 0x0000555555554768  t`main + 40 at test.c:8:1
        r3 = 0x00007ffffffef780
       r22 = 0x00007ffffffef7b0
       r23 = 0x00007ffffffef918
       r24 = 0x0000000000000001
       r25 = 0x0000000000000000
       r26 = 0x000055555555be08  t`__do_global_dtors_aux_fini_array_entry
       r27 = 0x0000555555554740  t`main at test.c:6
       r28 = 0x00007ffffffef928
       r29 = 0x00007ffff7febc88  ld-linux-loongarch-lp64d.so.1`_rtld_global_ro
       r30 = 0x000055555555be08  t`__do_global_dtors_aux_fini_array_entry
        pc = 0x0000555555554768  t`main + 40 at test.c:8:1
33 registers were unavailable.

Floating Point Registers:
       f24 = 0xffffffffffffffff
       f25 = 0xffffffffffffffff
       f26 = 0x00007ffffffef780
       f27 = 0xffffffffffffffff
       f28 = 0xffffffffffffffff
       f29 = 0xffffffffffffffff
       f30 = 0xffffffffffffffff
       f31 = 0xffffffffffffffff
33 registers were unavailable.
```

Reviewed By: SixWeining

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


  Commit: ee7ca0dddafb609090ad1789570c099d95c0afb6
      https://github.com/llvm/llvm-project/commit/ee7ca0dddafb609090ad1789570c099d95c0afb6
  Author: Paul Bowen-Huggett <paulhuggett at mac.com>
  Date:   2024-12-20 (Fri, 20 Dec 2024)

  Changed paths:
    M llvm/include/llvm/CodeGen/GlobalISel/CombinerHelper.h
    M llvm/lib/CodeGen/GlobalISel/CombinerHelper.cpp
    M llvm/lib/CodeGen/GlobalISel/CombinerHelperArtifacts.cpp
    M llvm/lib/CodeGen/GlobalISel/CombinerHelperCasts.cpp
    M llvm/lib/CodeGen/GlobalISel/CombinerHelperCompares.cpp
    M llvm/lib/CodeGen/GlobalISel/CombinerHelperVectorOps.cpp
    M llvm/lib/Target/AArch64/GISel/AArch64O0PreLegalizerCombiner.cpp
    M llvm/lib/Target/AArch64/GISel/AArch64PostLegalizerCombiner.cpp
    M llvm/lib/Target/AArch64/GISel/AArch64PostLegalizerLowering.cpp
    M llvm/lib/Target/AArch64/GISel/AArch64PreLegalizerCombiner.cpp
    M llvm/lib/Target/AMDGPU/AMDGPURegBankCombiner.cpp
    M llvm/lib/Target/Mips/MipsPostLegalizerCombiner.cpp
    M llvm/lib/Target/Mips/MipsPreLegalizerCombiner.cpp
    M llvm/lib/Target/RISCV/GISel/RISCVO0PreLegalizerCombiner.cpp
    M llvm/lib/Target/RISCV/GISel/RISCVPostLegalizerCombiner.cpp
    M llvm/lib/Target/RISCV/GISel/RISCVPreLegalizerCombiner.cpp

  Log Message:
  -----------
  Make CombinerHelper methods const (#119529)

There are a number of backends (specifically AArch64, AMDGPU, Mips, and
RISCV) which contain a “TODO: make CombinerHelper methods const”
comment. This PR does just that and makes all of the CombinerHelper
methods const, removes the TODO comments and makes the associated
instances const. This change makes some sense because the CombinerHelper
class simply modifies the state of _other_ objects to which it holds
pointers or references.

Note that AMDGPU contains an identical comment for an instance of
AMDGPUCombinerHelper (a subclass of CombinerHelper). I deliberately
haven’t modified the methods of that class in order to limit the scope
of the change. I’m happy to do so either now or as a follow-up.


  Commit: d3c4637cbbd5f0a84811abe195098ce714a2cc32
      https://github.com/llvm/llvm-project/commit/d3c4637cbbd5f0a84811abe195098ce714a2cc32
  Author: Ryosuke Niwa <rniwa at webkit.org>
  Date:   2024-12-19 (Thu, 19 Dec 2024)

  Changed paths:
    M clang/lib/StaticAnalyzer/Checkers/WebKit/PtrTypesSemantics.cpp
    M clang/test/Analysis/Checkers/WebKit/call-args.cpp
    M clang/test/Analysis/Checkers/WebKit/mock-types.h
    M clang/test/Analysis/Checkers/WebKit/ref-cntbl-crtp-base-no-virtual-dtor.cpp

  Log Message:
  -----------
  [WebKit checkers] Recognize adoptRef as a safe function (#120629)

adoptRef in WebKit constructs Ref/RefPtr so treat it as such in
isCtorOfRefCounted.
Also removed the support for makeRef and makeRefPtr as they don't exist
any more.


  Commit: 4307198d51487cc16f98eebb2113caf4a1905914
      https://github.com/llvm/llvm-project/commit/4307198d51487cc16f98eebb2113caf4a1905914
  Author: Shubham Sandeep Rastogi <srastogi22 at apple.com>
  Date:   2024-12-19 (Thu, 19 Dec 2024)

  Changed paths:
    A llvm/include/llvm/CodeGen/DroppedVariableStats.h
    R llvm/include/llvm/Passes/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/CMakeLists.txt
    R llvm/lib/Passes/DroppedVariableStats.cpp
    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 DroppedVariableStats to CodeGen lib (#120650)

To get Dropped variable statistics for MIR, we need to move the base
class DroppedVariableStats code to the CodeGen library because we cannot
have CodeGen link against Passes.

Also moved the code for the virtual functions to the header because
clang/lib/CodeGen doesn't link against llvm/lib/CodeGen however it does
link against Passes which contains the `class StandardInstrumentations`
code but not the definition for the virtual functions leading to the
error about not finding vtable for `class DroppedVariableStatsIR`


  Commit: a71f9e6986b80fa90c453219795a1369b8ea7b6e
      https://github.com/llvm/llvm-project/commit/a71f9e6986b80fa90c453219795a1369b8ea7b6e
  Author: Ryosuke Niwa <rniwa at webkit.org>
  Date:   2024-12-19 (Thu, 19 Dec 2024)

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

  Log Message:
  -----------
  [webkit.UncountedLambdaCapturesChecker] Detect protectedThis pattern. (#120528)

In WebKit, we often capture this as Ref or RefPtr in addition to this
itself so that the object lives as long as a capturing lambda stays
alive.

Detect this pattern and treat it as safe. This PR also makes the check
for a lambda being passed as a function argument more robust by handling
CXXBindTemporaryExpr, CXXConstructExpr, and DeclRefExpr referring to the
lambda.


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

  Changed paths:
    M llvm/utils/gn/secondary/llvm/lib/CodeGen/BUILD.gn
    M llvm/utils/gn/secondary/llvm/lib/Passes/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 4307198d5148


  Commit: 4e3c0bb7f7b3f4df702d787853d31c53d626fe4c
      https://github.com/llvm/llvm-project/commit/4e3c0bb7f7b3f4df702d787853d31c53d626fe4c
  Author: NAKAMURA Takumi <geek4civic at gmail.com>
  Date:   2024-12-20 (Fri, 20 Dec 2024)

  Changed paths:
    M llvm/test/tools/llvm-cov/Inputs/showProjectSummary.test
    M llvm/test/tools/llvm-cov/showProjectSummary.cpp
    M llvm/tools/llvm-cov/CodeCoverage.cpp

  Log Message:
  -----------
  llvm-cov: Introduce `-show-created-time` to suppress timestamps (#120417)

This shouldn't affect anything since `-show-created-time=true` by
default.

Timestamps sometimes prevent reproducible build.


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

  Changed paths:
    A .ci/compute-projects.sh
    M .ci/generate-buildkite-pipeline-premerge
    A .ci/generate_test_report.py
    A .ci/metrics/Dockerfile
    A .ci/metrics/metrics.py
    A .ci/metrics/requirements.lock.txt
    A .ci/metrics/requirements.txt
    M .ci/monolithic-linux.sh
    M .ci/monolithic-windows.sh
    A .ci/requirements.txt
    M .git-blame-ignore-revs
    M .github/CODEOWNERS
    M .github/new-issues-labeler.yml
    M .github/new-prs-labeler.yml
    A .github/workflows/build-ci-container-windows.yml
    M .github/workflows/build-ci-container.yml
    A .github/workflows/build-metrics-container.yml
    M .github/workflows/commit-access-review.py
    A .github/workflows/containers/github-action-ci-windows/Dockerfile
    A .github/workflows/containers/github-action-ci/Dockerfile
    R .github/workflows/containers/github-action-ci/bootstrap.patch
    R .github/workflows/containers/github-action-ci/stage1.Dockerfile
    R .github/workflows/containers/github-action-ci/stage2.Dockerfile
    R .github/workflows/containers/github-action-ci/storage.conf
    M .github/workflows/docs.yml
    A .github/workflows/libc-fullbuild-tests.yml
    A .github/workflows/libc-overlay-tests.yml
    M .github/workflows/libcxx-build-and-test.yaml
    A .github/workflows/libcxx-build-containers.yml
    M .github/workflows/libcxx-restart-preempted-jobs.yaml
    A .github/workflows/premerge.yaml
    M .gitignore
    R bolt/CODE_OWNERS.TXT
    A bolt/Maintainers.txt
    A bolt/docs/BinaryAnalysis.md
    M bolt/docs/CommandLineArgumentReference.md
    M bolt/include/bolt/Core/BinaryBasicBlock.h
    M bolt/include/bolt/Core/BinaryContext.h
    M bolt/include/bolt/Core/BinaryFunction.h
    M bolt/include/bolt/Core/BinarySection.h
    M bolt/include/bolt/Core/DIEBuilder.h
    M bolt/include/bolt/Core/DebugNames.h
    M bolt/include/bolt/Core/Exceptions.h
    M bolt/include/bolt/Core/FunctionLayout.h
    M bolt/include/bolt/Core/MCPlusBuilder.h
    M bolt/include/bolt/Passes/ADRRelaxationPass.h
    M bolt/include/bolt/Passes/IdenticalCodeFolding.h
    M bolt/include/bolt/Passes/LongJmp.h
    M bolt/include/bolt/Profile/DataAggregator.h
    M bolt/include/bolt/Profile/ProfileYAMLMapping.h
    M bolt/include/bolt/Profile/YAMLProfileReader.h
    M bolt/include/bolt/Rewrite/RewriteInstance.h
    M bolt/include/bolt/Utils/CommandLineOpts.h
    M bolt/lib/Core/BinaryContext.cpp
    M bolt/lib/Core/BinaryEmitter.cpp
    M bolt/lib/Core/BinaryFunction.cpp
    M bolt/lib/Core/BinarySection.cpp
    M bolt/lib/Core/DIEBuilder.cpp
    M bolt/lib/Core/DebugNames.cpp
    M bolt/lib/Core/Exceptions.cpp
    M bolt/lib/Core/FunctionLayout.cpp
    M bolt/lib/Core/HashUtilities.cpp
    M bolt/lib/Passes/BinaryPasses.cpp
    M bolt/lib/Passes/IdenticalCodeFolding.cpp
    M bolt/lib/Passes/LongJmp.cpp
    M bolt/lib/Passes/ReorderFunctions.cpp
    M bolt/lib/Passes/SplitFunctions.cpp
    M bolt/lib/Passes/VeneerElimination.cpp
    M bolt/lib/Profile/DataAggregator.cpp
    M bolt/lib/Profile/StaleProfileMatching.cpp
    M bolt/lib/Profile/YAMLProfileReader.cpp
    M bolt/lib/Profile/YAMLProfileWriter.cpp
    M bolt/lib/Rewrite/BinaryPassManager.cpp
    M bolt/lib/Rewrite/BoltDiff.cpp
    M bolt/lib/Rewrite/DWARFRewriter.cpp
    M bolt/lib/Rewrite/JITLinkLinker.cpp
    M bolt/lib/Rewrite/LinuxKernelRewriter.cpp
    M bolt/lib/Rewrite/MachORewriteInstance.cpp
    M bolt/lib/Rewrite/PseudoProbeRewriter.cpp
    M bolt/lib/Rewrite/RewriteInstance.cpp
    M bolt/lib/Target/AArch64/AArch64MCPlusBuilder.cpp
    M bolt/lib/Utils/CommandLineOpts.cpp
    A bolt/test/AArch64/Inputs/spurious-marker-symbol.yaml
    A bolt/test/AArch64/check-init-not-moved.s
    A bolt/test/AArch64/compact-code-model.s
    M bolt/test/AArch64/data-at-0-offset.c
    M bolt/test/AArch64/double_jump.cpp
    A bolt/test/AArch64/long-jmp-one-stub.s
    A bolt/test/AArch64/pad-before-funcs.s
    A bolt/test/AArch64/spurious-marker-symbol.test
    A bolt/test/AArch64/veneer-lld-abs.s
    M bolt/test/CMakeLists.txt
    M bolt/test/R_ABS.pic.lld.cpp
    A bolt/test/X86/callcont-fallthru.s
    M bolt/test/X86/double-jump.test
    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/X86/dwarf5-debug-names-gnu-push-tls-address.s
    A bolt/test/X86/dwarf5-debug-names-union.test
    M bolt/test/X86/dwarf5-df-inlined-subroutine-gc-sections-range.test
    A bolt/test/X86/exceptions-compact.s
    A bolt/test/X86/icf-safe-icp.test
    A bolt/test/X86/icf-safe-process-rela-data.test
    A bolt/test/X86/icf-safe-test1-no-relocs.test
    A bolt/test/X86/icf-safe-test1.test
    A bolt/test/X86/icf-safe-test2GlobalConstPtrNoPic.test
    M bolt/test/X86/jmp-optimization.test
    M bolt/test/X86/linux-static-keys.s
    A bolt/test/X86/match-blocks-with-pseudo-probes-inline.test
    A bolt/test/X86/match-blocks-with-pseudo-probes.test
    M bolt/test/X86/match-functions-with-call-graph.test
    M bolt/test/X86/match-functions-with-calls-as-anchors.test
    A bolt/test/X86/pie-eh-split-undo.s
    M bolt/test/X86/pre-aggregated-perf.test
    M bolt/test/X86/reader-stale-yaml.test
    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
    A bolt/test/eh-frame-hdr.test
    A bolt/test/eh-frame-overwrite.test
    M bolt/test/lit.cfg.py
    A bolt/test/merge-fdata-bat-no-lbr.test
    A bolt/test/merge-fdata-lbr-mode.test
    A bolt/test/merge-fdata-mixed-bat-no-lbr.test
    A bolt/test/merge-fdata-mixed-mode.test
    A bolt/test/merge-fdata-no-lbr-mode.test
    M bolt/test/pie.test
    M bolt/test/runtime/X86/Inputs/pie-exceptions-failed-split.s
    M bolt/test/runtime/X86/instrumentation-indirect.c
    R bolt/test/runtime/X86/pie-exceptions-failed-split.test
    A bolt/test/runtime/X86/pie-exceptions-split.test
    M bolt/test/runtime/bolt-reserved.cpp
    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 bolt/tools/driver/llvm-bolt.cpp
    M bolt/tools/merge-fdata/merge-fdata.cpp
    M bolt/unittests/Core/BinaryContext.cpp
    M bolt/unittests/Core/CMakeLists.txt
    M bolt/unittests/Core/MCPlusBuilder.cpp
    A bolt/unittests/Core/MemoryMaps.cpp
    M bolt/utils/bughunter.sh
    R clang-tools-extra/CODE_OWNERS.TXT
    A clang-tools-extra/Maintainers.txt
    M clang-tools-extra/clang-doc/Generators.h
    M clang-tools-extra/clang-doc/MDGenerator.cpp
    M clang-tools-extra/clang-doc/Serialize.cpp
    M clang-tools-extra/clang-include-fixer/InMemorySymbolIndex.cpp
    M clang-tools-extra/clang-include-fixer/InMemorySymbolIndex.h
    M clang-tools-extra/clang-include-fixer/IncludeFixer.cpp
    M clang-tools-extra/clang-query/Query.cpp
    M clang-tools-extra/clang-query/QueryParser.cpp
    M clang-tools-extra/clang-query/QuerySession.h
    M clang-tools-extra/clang-reorder-fields/ReorderFieldsAction.cpp
    M clang-tools-extra/clang-tidy/CMakeLists.txt
    M clang-tools-extra/clang-tidy/ClangTidy.cpp
    M clang-tools-extra/clang-tidy/ClangTidyDiagnosticConsumer.h
    M clang-tools-extra/clang-tidy/ClangTidyModuleRegistry.h
    M clang-tools-extra/clang-tidy/ExpandModularHeadersPPCallbacks.cpp
    M clang-tools-extra/clang-tidy/NoLintDirectiveHandler.h
    M clang-tools-extra/clang-tidy/abseil/DurationRewriter.cpp
    M clang-tools-extra/clang-tidy/altera/IdDependentBackwardBranchCheck.cpp
    M clang-tools-extra/clang-tidy/bugprone/BranchCloneCheck.cpp
    M clang-tools-extra/clang-tidy/bugprone/BugproneTidyModule.cpp
    M clang-tools-extra/clang-tidy/bugprone/CMakeLists.txt
    M clang-tools-extra/clang-tidy/bugprone/ExceptionEscapeCheck.cpp
    M clang-tools-extra/clang-tidy/bugprone/InfiniteLoopCheck.cpp
    A clang-tools-extra/clang-tidy/bugprone/NondeterministicPointerIterationOrderCheck.cpp
    A clang-tools-extra/clang-tidy/bugprone/NondeterministicPointerIterationOrderCheck.h
    M clang-tools-extra/clang-tidy/bugprone/OptionalValueConversionCheck.cpp
    M clang-tools-extra/clang-tidy/bugprone/ReturnConstRefFromParameterCheck.cpp
    M clang-tools-extra/clang-tidy/bugprone/SizeofExpressionCheck.cpp
    M clang-tools-extra/clang-tidy/bugprone/ThrowKeywordMissingCheck.cpp
    M clang-tools-extra/clang-tidy/bugprone/UncheckedOptionalAccessCheck.h
    M clang-tools-extra/clang-tidy/bugprone/UseAfterMoveCheck.cpp
    M clang-tools-extra/clang-tidy/bugprone/VirtualNearMissCheck.cpp
    M clang-tools-extra/clang-tidy/cppcoreguidelines/AvoidConstOrRefDataMembersCheck.cpp
    M clang-tools-extra/clang-tidy/cppcoreguidelines/InitVariablesCheck.cpp
    M clang-tools-extra/clang-tidy/cppcoreguidelines/ProTypeMemberInitCheck.cpp
    M clang-tools-extra/clang-tidy/cppcoreguidelines/ProTypeUnionAccessCheck.cpp
    M clang-tools-extra/clang-tidy/cppcoreguidelines/RvalueReferenceParamNotMovedCheck.cpp
    M clang-tools-extra/clang-tidy/misc/ConstCorrectnessCheck.cpp
    M clang-tools-extra/clang-tidy/misc/IncludeCleanerCheck.cpp
    M clang-tools-extra/clang-tidy/misc/RedundantExpressionCheck.cpp
    M clang-tools-extra/clang-tidy/misc/UseInternalLinkageCheck.cpp
    M clang-tools-extra/clang-tidy/modernize/CMakeLists.txt
    M clang-tools-extra/clang-tidy/modernize/ModernizeTidyModule.cpp
    M clang-tools-extra/clang-tidy/modernize/UseDesignatedInitializersCheck.cpp
    A clang-tools-extra/clang-tidy/modernize/UseIntegerSignComparisonCheck.cpp
    A clang-tools-extra/clang-tidy/modernize/UseIntegerSignComparisonCheck.h
    M clang-tools-extra/clang-tidy/modernize/UseStartsEndsWithCheck.cpp
    M clang-tools-extra/clang-tidy/modernize/UseStdPrintCheck.cpp
    M clang-tools-extra/clang-tidy/performance/ForRangeCopyCheck.cpp
    M clang-tools-extra/clang-tidy/performance/InefficientVectorOperationCheck.cpp
    M clang-tools-extra/clang-tidy/performance/UnnecessaryCopyInitialization.cpp
    M clang-tools-extra/clang-tidy/performance/UnnecessaryValueParamCheck.cpp
    M clang-tools-extra/clang-tidy/readability/ContainerContainsCheck.cpp
    M clang-tools-extra/clang-tidy/readability/ContainerSizeEmptyCheck.h
    M clang-tools-extra/clang-tidy/readability/EnumInitialValueCheck.cpp
    M clang-tools-extra/clang-tidy/readability/FunctionCognitiveComplexityCheck.cpp
    M clang-tools-extra/clang-tidy/readability/ImplicitBoolConversionCheck.cpp
    M clang-tools-extra/clang-tidy/readability/InconsistentDeclarationParameterNameCheck.h
    M clang-tools-extra/clang-tidy/readability/RedundantAccessSpecifiersCheck.h
    M clang-tools-extra/clang-tidy/readability/RedundantCastingCheck.cpp
    M clang-tools-extra/clang-tidy/readability/SuspiciousCallArgumentCheck.cpp
    M clang-tools-extra/clang-tidy/utils/ExceptionAnalyzer.cpp
    M clang-tools-extra/clang-tidy/utils/ExceptionAnalyzer.h
    M clang-tools-extra/clang-tidy/utils/FixItHintUtils.cpp
    M clang-tools-extra/clang-tidy/utils/FixItHintUtils.h
    M clang-tools-extra/clang-tidy/utils/RenamerClangTidyCheck.cpp
    M clang-tools-extra/clangd/ClangdLSPServer.cpp
    M clang-tools-extra/clangd/ClangdLSPServer.h
    M clang-tools-extra/clangd/ClangdServer.cpp
    M clang-tools-extra/clangd/ClangdServer.h
    M clang-tools-extra/clangd/CompileCommands.cpp
    M clang-tools-extra/clangd/Compiler.cpp
    M clang-tools-extra/clangd/GlobalCompilationDatabase.cpp
    M clang-tools-extra/clangd/GlobalCompilationDatabase.h
    M clang-tools-extra/clangd/HeuristicResolver.cpp
    M clang-tools-extra/clangd/InlayHints.cpp
    M clang-tools-extra/clangd/ModulesBuilder.cpp
    M clang-tools-extra/clangd/ModulesBuilder.h
    M clang-tools-extra/clangd/ParsedAST.h
    M clang-tools-extra/clangd/Preamble.cpp
    M clang-tools-extra/clangd/Protocol.cpp
    M clang-tools-extra/clangd/Protocol.h
    M clang-tools-extra/clangd/TUScheduler.cpp
    M clang-tools-extra/clangd/TUScheduler.h
    M clang-tools-extra/clangd/TidyProvider.cpp
    M clang-tools-extra/clangd/TidyProvider.h
    M clang-tools-extra/clangd/URI.h
    M clang-tools-extra/clangd/XRefs.cpp
    M clang-tools-extra/clangd/XRefs.h
    M clang-tools-extra/clangd/benchmarks/IndexBenchmark.cpp
    M clang-tools-extra/clangd/index/Background.cpp
    M clang-tools-extra/clangd/index/Background.h
    M clang-tools-extra/clangd/index/BackgroundRebuild.cpp
    M clang-tools-extra/clangd/index/FileIndex.cpp
    M clang-tools-extra/clangd/index/FileIndex.h
    M clang-tools-extra/clangd/index/Index.cpp
    M clang-tools-extra/clangd/index/Index.h
    M clang-tools-extra/clangd/index/MemIndex.cpp
    M clang-tools-extra/clangd/index/MemIndex.h
    M clang-tools-extra/clangd/index/Merge.cpp
    M clang-tools-extra/clangd/index/Merge.h
    M clang-tools-extra/clangd/index/ProjectAware.cpp
    M clang-tools-extra/clangd/index/Ref.h
    M clang-tools-extra/clangd/index/Serialization.cpp
    M clang-tools-extra/clangd/index/Serialization.h
    M clang-tools-extra/clangd/index/SymbolCollector.cpp
    M clang-tools-extra/clangd/index/SymbolCollector.h
    M clang-tools-extra/clangd/index/dex/Dex.cpp
    M clang-tools-extra/clangd/index/dex/Dex.h
    M clang-tools-extra/clangd/index/dex/dexp/Dexp.cpp
    M clang-tools-extra/clangd/index/remote/Client.cpp
    M clang-tools-extra/clangd/index/remote/Index.proto
    M clang-tools-extra/clangd/index/remote/Service.proto
    M clang-tools-extra/clangd/index/remote/marshalling/Marshalling.cpp
    M clang-tools-extra/clangd/index/remote/marshalling/Marshalling.h
    M clang-tools-extra/clangd/index/remote/server/Server.cpp
    M clang-tools-extra/clangd/refactor/Tweak.h
    M clang-tools-extra/clangd/refactor/tweaks/DefineOutline.cpp
    M clang-tools-extra/clangd/refactor/tweaks/ExtractFunction.cpp
    M clang-tools-extra/clangd/refactor/tweaks/ExtractVariable.cpp
    M clang-tools-extra/clangd/support/DirectiveTree.cpp
    M clang-tools-extra/clangd/test/index-serialization/Inputs/sample.idx
    M clang-tools-extra/clangd/test/type-hierarchy-ext.test
    M clang-tools-extra/clangd/test/type-hierarchy.test
    M clang-tools-extra/clangd/tool/Check.cpp
    M clang-tools-extra/clangd/tool/ClangdMain.cpp
    M clang-tools-extra/clangd/unittests/BackgroundIndexTests.cpp
    M clang-tools-extra/clangd/unittests/CallHierarchyTests.cpp
    M clang-tools-extra/clangd/unittests/CodeCompleteTests.cpp
    M clang-tools-extra/clangd/unittests/DexTests.cpp
    M clang-tools-extra/clangd/unittests/DumpASTTests.cpp
    M clang-tools-extra/clangd/unittests/FileIndexTests.cpp
    M clang-tools-extra/clangd/unittests/FindTargetTests.cpp
    M clang-tools-extra/clangd/unittests/GlobalCompilationDatabaseTests.cpp
    M clang-tools-extra/clangd/unittests/IndexTests.cpp
    M clang-tools-extra/clangd/unittests/InlayHintTests.cpp
    M clang-tools-extra/clangd/unittests/PrerequisiteModulesTest.cpp
    M clang-tools-extra/clangd/unittests/RenameTests.cpp
    M clang-tools-extra/clangd/unittests/SemanticHighlightingTests.cpp
    M clang-tools-extra/clangd/unittests/SymbolCollectorTests.cpp
    M clang-tools-extra/clangd/unittests/TestTU.cpp
    M clang-tools-extra/clangd/unittests/TestWorkspace.cpp
    M clang-tools-extra/clangd/unittests/XRefsTests.cpp
    M clang-tools-extra/clangd/unittests/tweaks/DefineOutlineTests.cpp
    M clang-tools-extra/clangd/unittests/tweaks/ExtractFunctionTests.cpp
    M clang-tools-extra/clangd/unittests/tweaks/ExtractVariableTests.cpp
    M clang-tools-extra/docs/ReleaseNotes.rst
    M clang-tools-extra/docs/clang-tidy/checks/bugprone/branch-clone.rst
    A clang-tools-extra/docs/clang-tidy/checks/bugprone/nondeterministic-pointer-iteration-order.rst
    M clang-tools-extra/docs/clang-tidy/checks/bugprone/return-const-ref-from-parameter.rst
    M clang-tools-extra/docs/clang-tidy/checks/bugprone/unchecked-optional-access.rst
    M clang-tools-extra/docs/clang-tidy/checks/bugprone/use-after-move.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
    R clang-tools-extra/docs/clang-tidy/checks/clang-analyzer/valist.CopyToSelf.rst
    R clang-tools-extra/docs/clang-tidy/checks/clang-analyzer/valist.Uninitialized.rst
    R clang-tools-extra/docs/clang-tidy/checks/clang-analyzer/valist.Unterminated.rst
    M clang-tools-extra/docs/clang-tidy/checks/list.rst
    M clang-tools-extra/docs/clang-tidy/checks/misc/redundant-expression.rst
    M clang-tools-extra/docs/clang-tidy/checks/misc/unused-parameters.rst
    M clang-tools-extra/docs/clang-tidy/checks/misc/use-internal-linkage.rst
    A clang-tools-extra/docs/clang-tidy/checks/modernize/use-integer-sign-comparison.rst
    M clang-tools-extra/docs/clang-tidy/checks/modernize/use-starts-ends-with.rst
    M clang-tools-extra/docs/clang-tidy/checks/readability/container-size-empty.rst
    M clang-tools-extra/docs/clang-tidy/index.rst
    M clang-tools-extra/include-cleaner/include/clang-include-cleaner/IncludeSpeller.h
    M clang-tools-extra/include-cleaner/unittests/RecordTest.cpp
    M clang-tools-extra/modularize/CoverageChecker.cpp
    M clang-tools-extra/modularize/ModularizeUtilities.cpp
    M clang-tools-extra/modularize/ModuleAssistant.cpp
    M clang-tools-extra/test/CMakeLists.txt
    A clang-tools-extra/test/clang-doc/builtin_types.cpp
    M clang-tools-extra/test/clang-doc/templates.cpp
    A clang-tools-extra/test/clang-reorder-fields/FieldAnnotationsInMacros.cpp
    M clang-tools-extra/test/clang-tidy/checkers/Inputs/Headers/string
    M clang-tools-extra/test/clang-tidy/checkers/altera/id-dependent-backward-branch.cpp
    A clang-tools-extra/test/clang-tidy/checkers/bugprone/Inputs/system-header-simulator/sim_algorithm
    A clang-tools-extra/test/clang-tidy/checkers/bugprone/Inputs/system-header-simulator/sim_c++config.h
    A clang-tools-extra/test/clang-tidy/checkers/bugprone/Inputs/system-header-simulator/sim_initializer_list
    A clang-tools-extra/test/clang-tidy/checkers/bugprone/Inputs/system-header-simulator/sim_iterator_base
    A clang-tools-extra/test/clang-tidy/checkers/bugprone/Inputs/system-header-simulator/sim_map
    A clang-tools-extra/test/clang-tidy/checkers/bugprone/Inputs/system-header-simulator/sim_set
    A clang-tools-extra/test/clang-tidy/checkers/bugprone/Inputs/system-header-simulator/sim_stl_pair
    A clang-tools-extra/test/clang-tidy/checkers/bugprone/Inputs/system-header-simulator/sim_type_traits
    A clang-tools-extra/test/clang-tidy/checkers/bugprone/Inputs/system-header-simulator/sim_unordered_map
    A clang-tools-extra/test/clang-tidy/checkers/bugprone/Inputs/system-header-simulator/sim_unordered_set
    A clang-tools-extra/test/clang-tidy/checkers/bugprone/Inputs/system-header-simulator/sim_vector
    A clang-tools-extra/test/clang-tidy/checkers/bugprone/alpha-core-identicalexpr.cpp
    M clang-tools-extra/test/clang-tidy/checkers/bugprone/argument-comment-strict.cpp
    A clang-tools-extra/test/clang-tidy/checkers/bugprone/exception-escape-consteval.cpp
    A clang-tools-extra/test/clang-tidy/checkers/bugprone/nondeterministic-pointer-iteration-order.cpp
    A clang-tools-extra/test/clang-tidy/checkers/bugprone/optional-value-conversion-construct-from-std.cpp
    M clang-tools-extra/test/clang-tidy/checkers/bugprone/return-const-ref-from-parameter.cpp
    M clang-tools-extra/test/clang-tidy/checkers/bugprone/sizeof-expression.cpp
    M clang-tools-extra/test/clang-tidy/checkers/bugprone/throw-keyword-missing.cpp
    M clang-tools-extra/test/clang-tidy/checkers/bugprone/use-after-move.cpp
    M clang-tools-extra/test/clang-tidy/checkers/cppcoreguidelines/avoid-const-or-ref-data-members.cpp
    M clang-tools-extra/test/clang-tidy/checkers/cppcoreguidelines/init-variables.cpp
    M clang-tools-extra/test/clang-tidy/checkers/cppcoreguidelines/pro-type-const-cast.cpp
    M clang-tools-extra/test/clang-tidy/checkers/cppcoreguidelines/pro-type-static-cast-downcast.cpp
    M clang-tools-extra/test/clang-tidy/checkers/cppcoreguidelines/pro-type-union-access.cpp
    M clang-tools-extra/test/clang-tidy/checkers/cppcoreguidelines/pro-type-vararg.cpp
    M clang-tools-extra/test/clang-tidy/checkers/fuchsia/default-arguments-calls.cpp
    M clang-tools-extra/test/clang-tidy/checkers/misc/redundant-expression.cpp
    M clang-tools-extra/test/clang-tidy/checkers/misc/unused-parameters-strict.cpp
    M clang-tools-extra/test/clang-tidy/checkers/misc/use-internal-linkage-func.cpp
    A clang-tools-extra/test/clang-tidy/checkers/misc/use-internal-linkage-module.cpp
    M clang-tools-extra/test/clang-tidy/checkers/modernize/use-designated-initializers.cpp
    A clang-tools-extra/test/clang-tidy/checkers/modernize/use-integer-sign-comparison.cpp
    M clang-tools-extra/test/clang-tidy/checkers/modernize/use-starts-ends-with.cpp
    M clang-tools-extra/test/clang-tidy/checkers/modernize/use-std-format.cpp
    M clang-tools-extra/test/clang-tidy/checkers/modernize/use-std-print-absl.cpp
    M clang-tools-extra/test/clang-tidy/checkers/modernize/use-std-print.cpp
    M clang-tools-extra/test/clang-tidy/checkers/readability/container-contains.cpp
    M clang-tools-extra/test/clang-tidy/checkers/readability/enum-initial-value.c
    M clang-tools-extra/test/clang-tidy/checkers/readability/function-cognitive-complexity.cpp
    M clang-tools-extra/test/clang-tidy/checkers/readability/implicit-bool-conversion.c
    M clang-tools-extra/unittests/clang-doc/SerializeTest.cpp
    M clang-tools-extra/unittests/clang-tidy/AddConstTest.cpp
    M clang-tools-extra/unittests/clang-tidy/IncludeCleanerTest.cpp
    M clang/CMakeLists.txt
    M clang/Maintainers.rst
    M clang/README.md
    M clang/bindings/python/tests/cindex/test_access_specifiers.py
    M clang/bindings/python/tests/cindex/test_cdb.py
    M clang/bindings/python/tests/cindex/test_code_completion.py
    M clang/bindings/python/tests/cindex/test_comment.py
    M clang/bindings/python/tests/cindex/test_cursor.py
    M clang/bindings/python/tests/cindex/test_cursor_kind.py
    M clang/bindings/python/tests/cindex/test_diagnostics.py
    M clang/bindings/python/tests/cindex/test_enums.py
    M clang/bindings/python/tests/cindex/test_exception_specification_kind.py
    M clang/bindings/python/tests/cindex/test_file.py
    M clang/bindings/python/tests/cindex/test_index.py
    M clang/bindings/python/tests/cindex/test_linkage.py
    M clang/bindings/python/tests/cindex/test_location.py
    M clang/bindings/python/tests/cindex/test_rewrite.py
    M clang/bindings/python/tests/cindex/test_source_range.py
    M clang/bindings/python/tests/cindex/test_tls_kind.py
    M clang/bindings/python/tests/cindex/test_token_kind.py
    M clang/bindings/python/tests/cindex/test_tokens.py
    M clang/bindings/python/tests/cindex/test_translation_unit.py
    M clang/bindings/python/tests/cindex/test_type.py
    M clang/bindings/python/tests/cindex/util.py
    M clang/cmake/caches/CrossWinToARMLinux.cmake
    M clang/cmake/caches/Fuchsia-stage2.cmake
    M clang/cmake/caches/Fuchsia.cmake
    M clang/docs/AMDGPUSupport.rst
    M clang/docs/APINotes.rst
    M clang/docs/AddressSanitizer.rst
    M clang/docs/ClangFormat.rst
    M clang/docs/ClangFormatStyleOptions.rst
    R clang/docs/ClangFormattedStatus.rst
    M clang/docs/ClangLinkerWrapper.rst
    A clang/docs/ClangSYCLLinker.rst
    A clang/docs/FunctionEffectAnalysis.rst
    M clang/docs/HIPSupport.rst
    M clang/docs/InternalsManual.rst
    M clang/docs/LanguageExtensions.rst
    M clang/docs/LeakSanitizer.rst
    M clang/docs/LibASTMatchersReference.html
    M clang/docs/MatrixTypes.rst
    M clang/docs/OpenMPSupport.rst
    M clang/docs/RealtimeSanitizer.rst
    M clang/docs/ReleaseNotes.rst
    M clang/docs/SafeBuffers.rst
    M clang/docs/SanitizerCoverage.rst
    M clang/docs/SanitizerSpecialCaseList.rst
    M clang/docs/ShadowCallStack.rst
    M clang/docs/StandardCPlusPlusModules.rst
    M clang/docs/ThreadSafetyAnalysis.rst
    M clang/docs/UsersManual.rst
    A clang/docs/WarningSuppressionMappings.rst
    M clang/docs/analyzer/checkers.rst
    M clang/docs/analyzer/user-docs.rst
    A clang/docs/analyzer/user-docs/FAQ.rst
    M clang/docs/index.rst
    R clang/docs/tools/clang-formatted-files.txt
    M clang/docs/tools/dump_ast_matchers.py
    M clang/docs/tools/dump_format_help.py
    M clang/docs/tools/dump_format_style.py
    M clang/include/clang-c/CXString.h
    M clang/include/clang-c/Index.h
    M clang/include/clang/APINotes/Types.h
    M clang/include/clang/AST/APValue.h
    M clang/include/clang/AST/ASTContext.h
    M clang/include/clang/AST/ASTImporter.h
    M clang/include/clang/AST/ASTNodeTraverser.h
    M clang/include/clang/AST/ASTStructuralEquivalence.h
    M clang/include/clang/AST/Attr.h
    M clang/include/clang/AST/AttrIterator.h
    M clang/include/clang/AST/CanonicalType.h
    M clang/include/clang/AST/CommentCommands.td
    M clang/include/clang/AST/CommentSema.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/DeclFriend.h
    M clang/include/clang/AST/DeclObjC.h
    M clang/include/clang/AST/DeclOpenMP.h
    M clang/include/clang/AST/DeclTemplate.h
    A clang/include/clang/AST/DynamicRecursiveASTVisitor.h
    M clang/include/clang/AST/Expr.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/OpenACCClause.h
    M clang/include/clang/AST/OpenMPClause.h
    M clang/include/clang/AST/PropertiesBase.td
    M clang/include/clang/AST/RecursiveASTVisitor.h
    M clang/include/clang/AST/Redeclarable.h
    A clang/include/clang/AST/SYCLKernelInfo.h
    M clang/include/clang/AST/Stmt.h
    M clang/include/clang/AST/StmtOpenACC.h
    M clang/include/clang/AST/StmtOpenMP.h
    M clang/include/clang/AST/TemplateArgumentVisitor.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/AST/TypeProperties.td
    M clang/include/clang/ASTMatchers/ASTMatchers.h
    M clang/include/clang/ASTMatchers/ASTMatchersInternal.h
    M clang/include/clang/ASTMatchers/ASTMatchersMacros.h
    M clang/include/clang/Analysis/Analyses/ExprMutationAnalyzer.h
    M clang/include/clang/Analysis/Analyses/ThreadSafetyTIL.h
    M clang/include/clang/Analysis/AnyCall.h
    M clang/include/clang/Analysis/CallGraph.h
    M clang/include/clang/Analysis/FlowSensitive/ASTOps.h
    M clang/include/clang/Analysis/FlowSensitive/CachedConstAccessorsLattice.h
    M clang/include/clang/Analysis/FlowSensitive/Models/UncheckedOptionalAccessModel.h
    M clang/include/clang/Analysis/FlowSensitive/NoopLattice.h
    M clang/include/clang/Basic/AArch64SVEACLETypes.def
    M clang/include/clang/Basic/AMDGPUTypes.def
    M clang/include/clang/Basic/Attr.td
    M clang/include/clang/Basic/AttrDocs.td
    M clang/include/clang/Basic/AttributeCommonInfo.h
    M clang/include/clang/Basic/Builtins.h
    M clang/include/clang/Basic/Builtins.td
    M clang/include/clang/Basic/BuiltinsAArch64.def
    M clang/include/clang/Basic/BuiltinsAMDGPU.def
    M clang/include/clang/Basic/BuiltinsARM.def
    M clang/include/clang/Basic/BuiltinsBase.td
    M clang/include/clang/Basic/BuiltinsLoongArchLASX.def
    M clang/include/clang/Basic/BuiltinsLoongArchLSX.def
    M clang/include/clang/Basic/BuiltinsX86.def
    A clang/include/clang/Basic/BuiltinsX86.td
    M clang/include/clang/Basic/BuiltinsX86_64.def
    M clang/include/clang/Basic/CMakeLists.txt
    M clang/include/clang/Basic/CodeGenOptions.def
    M clang/include/clang/Basic/CodeGenOptions.h
    M clang/include/clang/Basic/Cuda.h
    M clang/include/clang/Basic/Diagnostic.h
    M clang/include/clang/Basic/DiagnosticASTKinds.td
    M clang/include/clang/Basic/DiagnosticCommonKinds.td
    M clang/include/clang/Basic/DiagnosticDriverKinds.td
    M clang/include/clang/Basic/DiagnosticGroups.td
    M clang/include/clang/Basic/DiagnosticLexKinds.td
    M clang/include/clang/Basic/DiagnosticOptions.h
    M clang/include/clang/Basic/DiagnosticParseKinds.td
    M clang/include/clang/Basic/DiagnosticRefactoringKinds.td
    M clang/include/clang/Basic/DiagnosticSemaKinds.td
    M clang/include/clang/Basic/Features.def
    M clang/include/clang/Basic/FileEntry.h
    M clang/include/clang/Basic/FileManager.h
    M clang/include/clang/Basic/FileSystemStatCache.h
    M clang/include/clang/Basic/IdentifierTable.h
    M clang/include/clang/Basic/LangOptions.def
    M clang/include/clang/Basic/LangStandard.h
    M clang/include/clang/Basic/MacroBuilder.h
    M clang/include/clang/Basic/Module.h
    M clang/include/clang/Basic/OpenACCClauses.def
    M clang/include/clang/Basic/OpenACCKinds.h
    M clang/include/clang/Basic/OpenMPKinds.def
    M clang/include/clang/Basic/OpenMPKinds.h
    M clang/include/clang/Basic/ParsedAttrInfo.h
    M clang/include/clang/Basic/PointerAuthOptions.h
    M clang/include/clang/Basic/Sanitizers.def
    M clang/include/clang/Basic/StmtNodes.td
    M clang/include/clang/Basic/TargetBuiltins.h
    M clang/include/clang/Basic/TargetInfo.h
    M clang/include/clang/Basic/TokenKinds.def
    M clang/include/clang/Basic/arm_mve.td
    M clang/include/clang/Basic/arm_mve_defs.td
    M clang/include/clang/Basic/arm_neon.td
    M clang/include/clang/Basic/arm_neon_incl.td
    M clang/include/clang/Basic/arm_sme.td
    M clang/include/clang/Basic/arm_sve.td
    M clang/include/clang/Basic/arm_sve_sme_incl.td
    M clang/include/clang/Basic/riscv_vector.td
    M clang/include/clang/Basic/riscv_vector_common.td
    M clang/include/clang/CIR/CIRGenerator.h
    A clang/include/clang/CIR/Dialect/Builder/CIRBaseBuilder.h
    M clang/include/clang/CIR/Dialect/IR/CIRDialect.h
    M clang/include/clang/CIR/Dialect/IR/CIRDialect.td
    M clang/include/clang/CIR/Dialect/IR/CIROps.td
    A clang/include/clang/CIR/Dialect/IR/CIRTypes.h
    A clang/include/clang/CIR/Dialect/IR/CIRTypes.td
    M clang/include/clang/CodeGen/CGFunctionInfo.h
    M clang/include/clang/Driver/Driver.h
    M clang/include/clang/Driver/Job.h
    M clang/include/clang/Driver/Options.td
    M clang/include/clang/Driver/SanitizerArgs.h
    M clang/include/clang/Driver/Types.def
    M clang/include/clang/Driver/XRayArgs.h
    M clang/include/clang/Format/Format.h
    M clang/include/clang/Frontend/ASTUnit.h
    M clang/include/clang/Frontend/CompilerInstance.h
    M clang/include/clang/Frontend/FrontendAction.h
    M clang/include/clang/Frontend/FrontendPluginRegistry.h
    M clang/include/clang/Index/USRGeneration.h
    M clang/include/clang/Interpreter/Interpreter.h
    M clang/include/clang/Interpreter/PartialTranslationUnit.h
    M clang/include/clang/Lex/DirectoryLookup.h
    M clang/include/clang/Lex/HeaderSearch.h
    M clang/include/clang/Lex/HeaderSearchOptions.h
    M clang/include/clang/Lex/ModuleMap.h
    M clang/include/clang/Lex/PreprocessingRecord.h
    M clang/include/clang/Lex/Preprocessor.h
    R clang/include/clang/Parse/ParseDiagnostic.h
    M clang/include/clang/Parse/Parser.h
    M clang/include/clang/Parse/RAIIObjectsForParser.h
    M clang/include/clang/Sema/CodeCompleteConsumer.h
    M clang/include/clang/Sema/MultiplexExternalSemaSource.h
    M clang/include/clang/Sema/Overload.h
    M clang/include/clang/Sema/ParsedAttr.h
    M clang/include/clang/Sema/Scope.h
    M clang/include/clang/Sema/Sema.h
    M clang/include/clang/Sema/SemaAMDGPU.h
    M clang/include/clang/Sema/SemaConcept.h
    M clang/include/clang/Sema/SemaHLSL.h
    M clang/include/clang/Sema/SemaInternal.h
    M clang/include/clang/Sema/SemaObjC.h
    M clang/include/clang/Sema/SemaOpenACC.h
    M clang/include/clang/Sema/SemaOpenMP.h
    M clang/include/clang/Sema/SemaSYCL.h
    M clang/include/clang/Sema/Template.h
    M clang/include/clang/Serialization/ASTBitCodes.h
    M clang/include/clang/Serialization/ASTReader.h
    M clang/include/clang/Serialization/ASTRecordWriter.h
    M clang/include/clang/Serialization/ASTWriter.h
    M clang/include/clang/Serialization/ModuleFile.h
    M clang/include/clang/StaticAnalyzer/Checkers/Checkers.td
    M clang/include/clang/StaticAnalyzer/Core/AnalyzerOptions.def
    M clang/include/clang/StaticAnalyzer/Core/BugReporter/BugReporter.h
    A clang/include/clang/StaticAnalyzer/Core/PathSensitive/APSIntPtr.h
    M clang/include/clang/StaticAnalyzer/Core/PathSensitive/BasicValueFactory.h
    M clang/include/clang/StaticAnalyzer/Core/PathSensitive/CallEvent.h
    M clang/include/clang/StaticAnalyzer/Core/PathSensitive/CoreEngine.h
    M clang/include/clang/StaticAnalyzer/Core/PathSensitive/MemRegion.h
    M clang/include/clang/StaticAnalyzer/Core/PathSensitive/ProgramState.h
    M clang/include/clang/StaticAnalyzer/Core/PathSensitive/SMTConstraintManager.h
    M clang/include/clang/StaticAnalyzer/Core/PathSensitive/SValBuilder.h
    M clang/include/clang/StaticAnalyzer/Core/PathSensitive/SVals.h
    M clang/include/clang/StaticAnalyzer/Core/PathSensitive/SymbolManager.h
    M clang/include/clang/Support/Compiler.h
    M clang/include/clang/Tooling/CompilationDatabasePluginRegistry.h
    M clang/include/clang/Tooling/DependencyScanning/ModuleDepCollector.h
    M clang/include/clang/Tooling/Inclusions/IncludeStyle.h
    M clang/include/clang/Tooling/ToolExecutorPluginRegistry.h
    M clang/include/module.modulemap
    M clang/lib/APINotes/APINotesFormat.h
    M clang/lib/APINotes/APINotesManager.cpp
    M clang/lib/APINotes/APINotesReader.cpp
    M clang/lib/APINotes/APINotesTypes.cpp
    M clang/lib/APINotes/APINotesWriter.cpp
    M clang/lib/APINotes/APINotesYAMLCompiler.cpp
    M clang/lib/ARCMigrate/Internals.h
    M clang/lib/AST/APValue.cpp
    M clang/lib/AST/ASTConcept.cpp
    M clang/lib/AST/ASTContext.cpp
    M clang/lib/AST/ASTDiagnostic.cpp
    M clang/lib/AST/ASTDumper.cpp
    M clang/lib/AST/ASTImporter.cpp
    M clang/lib/AST/ASTStructuralEquivalence.cpp
    A clang/lib/AST/ByteCode/BitcastBuffer.cpp
    A clang/lib/AST/ByteCode/BitcastBuffer.h
    M clang/lib/AST/ByteCode/Boolean.h
    M clang/lib/AST/ByteCode/ByteCodeEmitter.cpp
    M clang/lib/AST/ByteCode/Compiler.cpp
    M clang/lib/AST/ByteCode/Compiler.h
    M clang/lib/AST/ByteCode/Context.cpp
    M clang/lib/AST/ByteCode/Context.h
    M clang/lib/AST/ByteCode/Descriptor.cpp
    M clang/lib/AST/ByteCode/Descriptor.h
    M clang/lib/AST/ByteCode/Disasm.cpp
    M clang/lib/AST/ByteCode/DynamicAllocator.h
    M clang/lib/AST/ByteCode/EvalEmitter.cpp
    M clang/lib/AST/ByteCode/EvaluationResult.cpp
    M clang/lib/AST/ByteCode/Floating.h
    M clang/lib/AST/ByteCode/Function.cpp
    M clang/lib/AST/ByteCode/Function.h
    M clang/lib/AST/ByteCode/Integral.h
    M clang/lib/AST/ByteCode/IntegralAP.h
    M clang/lib/AST/ByteCode/Interp.cpp
    M clang/lib/AST/ByteCode/Interp.h
    M clang/lib/AST/ByteCode/InterpBuiltin.cpp
    A clang/lib/AST/ByteCode/InterpBuiltinBitCast.cpp
    A clang/lib/AST/ByteCode/InterpBuiltinBitCast.h
    M clang/lib/AST/ByteCode/InterpFrame.cpp
    M clang/lib/AST/ByteCode/Opcodes.td
    M clang/lib/AST/ByteCode/Pointer.cpp
    M clang/lib/AST/ByteCode/Pointer.h
    M clang/lib/AST/ByteCode/PrimType.cpp
    M clang/lib/AST/ByteCode/Program.cpp
    M clang/lib/AST/ByteCode/Program.h
    M clang/lib/AST/ByteCode/Record.h
    M clang/lib/AST/ByteCode/Source.cpp
    M clang/lib/AST/ByteCode/Source.h
    M clang/lib/AST/CMakeLists.txt
    M clang/lib/AST/CXXInheritance.cpp
    M clang/lib/AST/Comment.cpp
    M clang/lib/AST/CommentCommandTraits.cpp
    M clang/lib/AST/CommentLexer.cpp
    M clang/lib/AST/CommentParser.cpp
    M clang/lib/AST/CommentSema.cpp
    M clang/lib/AST/ComputeDependence.cpp
    M clang/lib/AST/Decl.cpp
    M clang/lib/AST/DeclBase.cpp
    M clang/lib/AST/DeclCXX.cpp
    M clang/lib/AST/DeclFriend.cpp
    M clang/lib/AST/DeclObjC.cpp
    M clang/lib/AST/DeclOpenMP.cpp
    M clang/lib/AST/DeclTemplate.cpp
    M clang/lib/AST/DeclarationName.cpp
    A clang/lib/AST/DynamicRecursiveASTVisitor.cpp
    M clang/lib/AST/Expr.cpp
    M clang/lib/AST/ExprCXX.cpp
    M clang/lib/AST/ExprConcepts.cpp
    M clang/lib/AST/ExprConstant.cpp
    M clang/lib/AST/ExprObjC.cpp
    M clang/lib/AST/ExternalASTSource.cpp
    M clang/lib/AST/ItaniumCXXABI.cpp
    M clang/lib/AST/ItaniumMangle.cpp
    M clang/lib/AST/Mangle.cpp
    M clang/lib/AST/MicrosoftMangle.cpp
    M clang/lib/AST/NestedNameSpecifier.cpp
    M clang/lib/AST/ODRHash.cpp
    M clang/lib/AST/OSLog.cpp
    M clang/lib/AST/OpenACCClause.cpp
    M clang/lib/AST/OpenMPClause.cpp
    M clang/lib/AST/ParentMap.cpp
    M clang/lib/AST/ParentMapContext.cpp
    M clang/lib/AST/QualTypeNames.cpp
    M clang/lib/AST/Randstruct.cpp
    M clang/lib/AST/RawCommentList.cpp
    M clang/lib/AST/RecordLayoutBuilder.cpp
    M clang/lib/AST/Stmt.cpp
    M clang/lib/AST/StmtIterator.cpp
    M clang/lib/AST/StmtOpenACC.cpp
    M clang/lib/AST/StmtOpenMP.cpp
    M clang/lib/AST/StmtPrinter.cpp
    M clang/lib/AST/StmtProfile.cpp
    M clang/lib/AST/TemplateBase.cpp
    M clang/lib/AST/TemplateName.cpp
    M clang/lib/AST/TextNodeDumper.cpp
    M clang/lib/AST/Type.cpp
    M clang/lib/AST/TypePrinter.cpp
    M clang/lib/AST/VTTBuilder.cpp
    M clang/lib/ASTMatchers/ASTMatchersInternal.cpp
    M clang/lib/ASTMatchers/Dynamic/Registry.cpp
    M clang/lib/Analysis/BodyFarm.cpp
    M clang/lib/Analysis/CFG.cpp
    M clang/lib/Analysis/CallGraph.cpp
    M clang/lib/Analysis/CalledOnceCheck.cpp
    M clang/lib/Analysis/Consumed.cpp
    M clang/lib/Analysis/ExprMutationAnalyzer.cpp
    M clang/lib/Analysis/FlowSensitive/ASTOps.cpp
    M clang/lib/Analysis/FlowSensitive/Arena.cpp
    M clang/lib/Analysis/FlowSensitive/DataflowEnvironment.cpp
    M clang/lib/Analysis/FlowSensitive/HTMLLogger.cpp
    M clang/lib/Analysis/FlowSensitive/Models/ChromiumCheckModel.cpp
    M clang/lib/Analysis/FlowSensitive/Models/UncheckedOptionalAccessModel.cpp
    M clang/lib/Analysis/FlowSensitive/TypeErasedDataflowAnalysis.cpp
    M clang/lib/Analysis/IntervalPartition.cpp
    M clang/lib/Analysis/PathDiagnostic.cpp
    M clang/lib/Analysis/ProgramPoint.cpp
    M clang/lib/Analysis/ReachableCode.cpp
    M clang/lib/Analysis/ThreadSafetyCommon.cpp
    M clang/lib/Analysis/UnsafeBufferUsage.cpp
    M clang/lib/Basic/Attributes.cpp
    M clang/lib/Basic/Builtins.cpp
    M clang/lib/Basic/Cuda.cpp
    M clang/lib/Basic/Diagnostic.cpp
    M clang/lib/Basic/DiagnosticIDs.cpp
    M clang/lib/Basic/FileManager.cpp
    M clang/lib/Basic/FileSystemStatCache.cpp
    M clang/lib/Basic/LangOptions.cpp
    M clang/lib/Basic/LangStandards.cpp
    M clang/lib/Basic/Module.cpp
    M clang/lib/Basic/OpenMPKinds.cpp
    M clang/lib/Basic/SourceManager.cpp
    A clang/lib/Basic/TargetDefines.h
    M clang/lib/Basic/TargetInfo.cpp
    M clang/lib/Basic/Targets.cpp
    M clang/lib/Basic/Targets.h
    M clang/lib/Basic/Targets/AArch64.cpp
    M clang/lib/Basic/Targets/AArch64.h
    M clang/lib/Basic/Targets/AMDGPU.cpp
    M clang/lib/Basic/Targets/AMDGPU.h
    M clang/lib/Basic/Targets/ARC.h
    M clang/lib/Basic/Targets/ARM.cpp
    M clang/lib/Basic/Targets/ARM.h
    M clang/lib/Basic/Targets/AVR.h
    M clang/lib/Basic/Targets/BPF.h
    M clang/lib/Basic/Targets/DirectX.h
    M clang/lib/Basic/Targets/Lanai.h
    M clang/lib/Basic/Targets/LoongArch.cpp
    M clang/lib/Basic/Targets/LoongArch.h
    M clang/lib/Basic/Targets/M68k.cpp
    M clang/lib/Basic/Targets/MSP430.h
    M clang/lib/Basic/Targets/Mips.h
    M clang/lib/Basic/Targets/NVPTX.cpp
    M clang/lib/Basic/Targets/NVPTX.h
    M clang/lib/Basic/Targets/OSTargets.h
    M clang/lib/Basic/Targets/PNaCl.cpp
    M clang/lib/Basic/Targets/PNaCl.h
    M clang/lib/Basic/Targets/PPC.h
    M clang/lib/Basic/Targets/RISCV.cpp
    M clang/lib/Basic/Targets/RISCV.h
    M clang/lib/Basic/Targets/SPIR.h
    M clang/lib/Basic/Targets/Sparc.h
    M clang/lib/Basic/Targets/SystemZ.h
    M clang/lib/Basic/Targets/TCE.h
    M clang/lib/Basic/Targets/WebAssembly.cpp
    M clang/lib/Basic/Targets/WebAssembly.h
    M clang/lib/Basic/Targets/X86.cpp
    M clang/lib/Basic/Targets/X86.h
    M clang/lib/Basic/Targets/XCore.h
    M clang/lib/Basic/Warnings.cpp
    A clang/lib/CIR/CodeGen/CIRGenBuilder.h
    M clang/lib/CIR/CodeGen/CIRGenModule.cpp
    M clang/lib/CIR/CodeGen/CIRGenModule.h
    M clang/lib/CIR/CodeGen/CIRGenTypeCache.h
    A clang/lib/CIR/CodeGen/CIRGenTypes.cpp
    A clang/lib/CIR/CodeGen/CIRGenTypes.h
    M clang/lib/CIR/CodeGen/CIRGenerator.cpp
    M clang/lib/CIR/CodeGen/CMakeLists.txt
    A clang/lib/CIR/Dialect/IR/CIRAttrs.cpp
    M clang/lib/CIR/Dialect/IR/CIRDialect.cpp
    A clang/lib/CIR/Dialect/IR/CIRTypes.cpp
    M clang/lib/CIR/Dialect/IR/CMakeLists.txt
    M clang/lib/CIR/FrontendAction/CIRGenAction.cpp
    M clang/lib/CodeGen/ABIInfo.cpp
    M clang/lib/CodeGen/ABIInfoImpl.cpp
    M clang/lib/CodeGen/ABIInfoImpl.h
    M clang/lib/CodeGen/BackendUtil.cpp
    M clang/lib/CodeGen/CGAtomic.cpp
    M clang/lib/CodeGen/CGBlocks.cpp
    M clang/lib/CodeGen/CGBuiltin.cpp
    M clang/lib/CodeGen/CGCUDARuntime.cpp
    M clang/lib/CodeGen/CGCXX.cpp
    M clang/lib/CodeGen/CGCall.cpp
    M clang/lib/CodeGen/CGClass.cpp
    M clang/lib/CodeGen/CGCleanup.cpp
    M clang/lib/CodeGen/CGDebugInfo.cpp
    M clang/lib/CodeGen/CGDecl.cpp
    M clang/lib/CodeGen/CGDeclCXX.cpp
    M clang/lib/CodeGen/CGException.cpp
    M clang/lib/CodeGen/CGExpr.cpp
    M clang/lib/CodeGen/CGExprComplex.cpp
    M clang/lib/CodeGen/CGExprScalar.cpp
    M clang/lib/CodeGen/CGGPUBuiltin.cpp
    M clang/lib/CodeGen/CGHLSLRuntime.cpp
    M clang/lib/CodeGen/CGHLSLRuntime.h
    M clang/lib/CodeGen/CGLoopInfo.cpp
    M clang/lib/CodeGen/CGObjC.cpp
    M clang/lib/CodeGen/CGObjCGNU.cpp
    M clang/lib/CodeGen/CGObjCMac.cpp
    M clang/lib/CodeGen/CGOpenMPRuntime.cpp
    M clang/lib/CodeGen/CGOpenMPRuntime.h
    M clang/lib/CodeGen/CGOpenMPRuntimeGPU.cpp
    M clang/lib/CodeGen/CGOpenMPRuntimeGPU.h
    M clang/lib/CodeGen/CGStmt.cpp
    M clang/lib/CodeGen/CGStmtOpenMP.cpp
    M clang/lib/CodeGen/CGVTables.cpp
    M clang/lib/CodeGen/CodeGenABITypes.cpp
    M clang/lib/CodeGen/CodeGenAction.cpp
    M clang/lib/CodeGen/CodeGenFunction.cpp
    M clang/lib/CodeGen/CodeGenFunction.h
    M clang/lib/CodeGen/CodeGenModule.cpp
    M clang/lib/CodeGen/CodeGenModule.h
    M clang/lib/CodeGen/CodeGenPGO.cpp
    M clang/lib/CodeGen/CodeGenTBAA.cpp
    M clang/lib/CodeGen/CodeGenTBAA.h
    M clang/lib/CodeGen/CodeGenTypes.cpp
    M clang/lib/CodeGen/ConstantInitBuilder.cpp
    M clang/lib/CodeGen/CoverageMappingGen.cpp
    M clang/lib/CodeGen/ItaniumCXXABI.cpp
    M clang/lib/CodeGen/LinkInModulesPass.cpp
    M clang/lib/CodeGen/MicrosoftCXXABI.cpp
    M clang/lib/CodeGen/ObjectFilePCHContainerWriter.cpp
    M clang/lib/CodeGen/SanitizerMetadata.cpp
    M clang/lib/CodeGen/SwiftCallingConv.cpp
    M clang/lib/CodeGen/TargetInfo.h
    M clang/lib/CodeGen/Targets/AArch64.cpp
    M clang/lib/CodeGen/Targets/ARM.cpp
    M clang/lib/CodeGen/Targets/NVPTX.cpp
    M clang/lib/CodeGen/Targets/RISCV.cpp
    M clang/lib/CodeGen/Targets/SPIR.cpp
    M clang/lib/Driver/Compilation.cpp
    M clang/lib/Driver/Distro.cpp
    M clang/lib/Driver/Driver.cpp
    M clang/lib/Driver/DriverOptions.cpp
    M clang/lib/Driver/Job.cpp
    M clang/lib/Driver/Multilib.cpp
    M clang/lib/Driver/MultilibBuilder.cpp
    M clang/lib/Driver/OffloadBundler.cpp
    M clang/lib/Driver/SanitizerArgs.cpp
    M clang/lib/Driver/ToolChain.cpp
    M clang/lib/Driver/ToolChains/AMDGPU.cpp
    M clang/lib/Driver/ToolChains/Arch/AArch64.cpp
    M clang/lib/Driver/ToolChains/Arch/ARM.cpp
    M clang/lib/Driver/ToolChains/Arch/ARM.h
    M clang/lib/Driver/ToolChains/Arch/LoongArch.cpp
    M clang/lib/Driver/ToolChains/BareMetal.cpp
    M clang/lib/Driver/ToolChains/BareMetal.h
    M clang/lib/Driver/ToolChains/Clang.cpp
    M clang/lib/Driver/ToolChains/CommonArgs.cpp
    M clang/lib/Driver/ToolChains/Cuda.cpp
    M clang/lib/Driver/ToolChains/Darwin.cpp
    M clang/lib/Driver/ToolChains/Flang.cpp
    M clang/lib/Driver/ToolChains/Flang.h
    M clang/lib/Driver/ToolChains/FreeBSD.cpp
    M clang/lib/Driver/ToolChains/Fuchsia.cpp
    M clang/lib/Driver/ToolChains/HIPAMD.cpp
    M clang/lib/Driver/ToolChains/HIPUtility.cpp
    M clang/lib/Driver/ToolChains/Hexagon.cpp
    M clang/lib/Driver/ToolChains/Linux.cpp
    M clang/lib/Driver/ToolChains/MSVC.cpp
    M clang/lib/Driver/ToolChains/MinGW.cpp
    M clang/lib/Driver/ToolChains/PS4CPU.cpp
    M clang/lib/Driver/ToolChains/SPIRV.cpp
    M clang/lib/Driver/ToolChains/SPIRV.h
    M clang/lib/Driver/Types.cpp
    M clang/lib/Driver/XRayArgs.cpp
    M clang/lib/ExtractAPI/Serialization/SymbolGraphSerializer.cpp
    M clang/lib/Format/CMakeLists.txt
    M clang/lib/Format/ContinuationIndenter.cpp
    M clang/lib/Format/Format.cpp
    M clang/lib/Format/FormatToken.h
    M clang/lib/Format/FormatTokenLexer.cpp
    M clang/lib/Format/TokenAnnotator.cpp
    M clang/lib/Format/TokenAnnotator.h
    M clang/lib/Format/UnwrappedLineParser.cpp
    M clang/lib/Format/WhitespaceManager.cpp
    M clang/lib/Format/WhitespaceManager.h
    M clang/lib/Frontend/ASTUnit.cpp
    M clang/lib/Frontend/CompilerInstance.cpp
    M clang/lib/Frontend/CompilerInvocation.cpp
    M clang/lib/Frontend/CreateInvocationFromCommandLine.cpp
    M clang/lib/Frontend/DiagnosticRenderer.cpp
    M clang/lib/Frontend/FrontendAction.cpp
    M clang/lib/Frontend/FrontendActions.cpp
    M clang/lib/Frontend/InitPreprocessor.cpp
    M clang/lib/Frontend/PrecompiledPreamble.cpp
    M clang/lib/Frontend/PrintPreprocessedOutput.cpp
    M clang/lib/Frontend/Rewrite/FrontendActions.cpp
    M clang/lib/FrontendTool/ExecuteCompilerInvocation.cpp
    M clang/lib/Headers/CMakeLists.txt
    A clang/lib/Headers/amdgpuintrin.h
    A clang/lib/Headers/amxavx512intrin.h
    A clang/lib/Headers/amxbf16transposeintrin.h
    A clang/lib/Headers/amxcomplextransposeintrin.h
    M clang/lib/Headers/amxfp16intrin.h
    A clang/lib/Headers/amxfp16transposeintrin.h
    A clang/lib/Headers/amxfp8intrin.h
    M clang/lib/Headers/amxintrin.h
    A clang/lib/Headers/amxmovrsintrin.h
    A clang/lib/Headers/amxmovrstransposeintrin.h
    A clang/lib/Headers/amxtf32intrin.h
    A clang/lib/Headers/amxtf32transposeintrin.h
    A clang/lib/Headers/amxtransposeintrin.h
    M clang/lib/Headers/avx10_2copyintrin.h
    M clang/lib/Headers/avx512vpopcntdqintrin.h
    M clang/lib/Headers/avx512vpopcntdqvlintrin.h
    M clang/lib/Headers/avxintrin.h
    M clang/lib/Headers/cmpccxaddintrin.h
    M clang/lib/Headers/cuda_wrappers/new
    M clang/lib/Headers/emmintrin.h
    A clang/lib/Headers/gpuintrin.h
    M clang/lib/Headers/hlsl/hlsl_intrinsics.h
    M clang/lib/Headers/immintrin.h
    M clang/lib/Headers/intrin.h
    M clang/lib/Headers/intrin0.h
    M clang/lib/Headers/larchintrin.h
    M clang/lib/Headers/lasxintrin.h
    M clang/lib/Headers/limits.h
    M clang/lib/Headers/lsxintrin.h
    M clang/lib/Headers/mmintrin.h
    A clang/lib/Headers/movrs_avx10_2_512intrin.h
    A clang/lib/Headers/movrs_avx10_2intrin.h
    A clang/lib/Headers/movrsintrin.h
    A clang/lib/Headers/nvptxintrin.h
    M clang/lib/Headers/opencl-c-base.h
    M clang/lib/Headers/openmp_wrappers/complex_cmath.h
    A clang/lib/Headers/sm4evexintrin.h
    M clang/lib/Headers/stdalign.h
    M clang/lib/Index/FileIndexRecord.cpp
    M clang/lib/Index/IndexDecl.cpp
    M clang/lib/Index/IndexingContext.h
    M clang/lib/Index/USRGeneration.cpp
    M clang/lib/InstallAPI/DirectoryScanner.cpp
    M clang/lib/InstallAPI/Frontend.cpp
    M clang/lib/Interpreter/CMakeLists.txt
    M clang/lib/Interpreter/CodeCompletion.cpp
    M clang/lib/Interpreter/IncrementalExecutor.h
    M clang/lib/Interpreter/Interpreter.cpp
    M clang/lib/Interpreter/Wasm.cpp
    M clang/lib/Interpreter/Wasm.h
    M clang/lib/Lex/HeaderMap.cpp
    M clang/lib/Lex/HeaderSearch.cpp
    M clang/lib/Lex/InitHeaderSearch.cpp
    M clang/lib/Lex/Lexer.cpp
    M clang/lib/Lex/MacroArgs.cpp
    M clang/lib/Lex/MacroInfo.cpp
    M clang/lib/Lex/ModuleMap.cpp
    M clang/lib/Lex/PPCallbacks.cpp
    M clang/lib/Lex/PPDirectives.cpp
    M clang/lib/Lex/PPExpressions.cpp
    M clang/lib/Lex/PPLexerChange.cpp
    M clang/lib/Lex/PPMacroExpansion.cpp
    M clang/lib/Lex/Pragma.cpp
    M clang/lib/Lex/PreprocessingRecord.cpp
    M clang/lib/Lex/Preprocessor.cpp
    M clang/lib/Lex/PreprocessorLexer.cpp
    M clang/lib/Lex/TokenConcatenation.cpp
    M clang/lib/Lex/TokenLexer.cpp
    M clang/lib/Parse/ParseAST.cpp
    M clang/lib/Parse/ParseCXXInlineMethods.cpp
    M clang/lib/Parse/ParseDecl.cpp
    M clang/lib/Parse/ParseDeclCXX.cpp
    M clang/lib/Parse/ParseExpr.cpp
    M clang/lib/Parse/ParseExprCXX.cpp
    M clang/lib/Parse/ParseHLSL.cpp
    M clang/lib/Parse/ParseInit.cpp
    M clang/lib/Parse/ParseObjc.cpp
    M clang/lib/Parse/ParseOpenACC.cpp
    M clang/lib/Parse/ParseOpenMP.cpp
    M clang/lib/Parse/ParsePragma.cpp
    M clang/lib/Parse/ParseStmt.cpp
    M clang/lib/Parse/ParseTemplate.cpp
    M clang/lib/Parse/ParseTentative.cpp
    M clang/lib/Parse/Parser.cpp
    M clang/lib/Sema/AnalysisBasedWarnings.cpp
    M clang/lib/Sema/CheckExprLifetime.cpp
    M clang/lib/Sema/CheckExprLifetime.h
    M clang/lib/Sema/CodeCompleteConsumer.cpp
    M clang/lib/Sema/DeclSpec.cpp
    M clang/lib/Sema/HLSLExternalSemaSource.cpp
    M clang/lib/Sema/JumpDiagnostics.cpp
    M clang/lib/Sema/MultiplexExternalSemaSource.cpp
    M clang/lib/Sema/ParsedAttr.cpp
    M clang/lib/Sema/ScopeInfo.cpp
    M clang/lib/Sema/Sema.cpp
    M clang/lib/Sema/SemaAMDGPU.cpp
    M clang/lib/Sema/SemaAPINotes.cpp
    M clang/lib/Sema/SemaARM.cpp
    M clang/lib/Sema/SemaAccess.cpp
    M clang/lib/Sema/SemaAttr.cpp
    M clang/lib/Sema/SemaAvailability.cpp
    M clang/lib/Sema/SemaCUDA.cpp
    M clang/lib/Sema/SemaCXXScopeSpec.cpp
    M clang/lib/Sema/SemaCast.cpp
    M clang/lib/Sema/SemaChecking.cpp
    M clang/lib/Sema/SemaCodeComplete.cpp
    M clang/lib/Sema/SemaConcept.cpp
    M clang/lib/Sema/SemaCoroutine.cpp
    M clang/lib/Sema/SemaDecl.cpp
    M clang/lib/Sema/SemaDeclAttr.cpp
    M clang/lib/Sema/SemaDeclCXX.cpp
    M clang/lib/Sema/SemaDeclObjC.cpp
    M clang/lib/Sema/SemaExceptionSpec.cpp
    M clang/lib/Sema/SemaExpr.cpp
    M clang/lib/Sema/SemaExprCXX.cpp
    M clang/lib/Sema/SemaExprMember.cpp
    M clang/lib/Sema/SemaExprObjC.cpp
    M clang/lib/Sema/SemaFixItUtils.cpp
    M clang/lib/Sema/SemaFunctionEffects.cpp
    M clang/lib/Sema/SemaHLSL.cpp
    M clang/lib/Sema/SemaInit.cpp
    M clang/lib/Sema/SemaLambda.cpp
    M clang/lib/Sema/SemaLookup.cpp
    M clang/lib/Sema/SemaModule.cpp
    M clang/lib/Sema/SemaObjC.cpp
    M clang/lib/Sema/SemaObjCProperty.cpp
    M clang/lib/Sema/SemaOpenACC.cpp
    M clang/lib/Sema/SemaOpenMP.cpp
    M clang/lib/Sema/SemaOverload.cpp
    M clang/lib/Sema/SemaPseudoObject.cpp
    M clang/lib/Sema/SemaRISCV.cpp
    M clang/lib/Sema/SemaSYCL.cpp
    M clang/lib/Sema/SemaStmt.cpp
    M clang/lib/Sema/SemaStmtAsm.cpp
    M clang/lib/Sema/SemaStmtAttr.cpp
    M clang/lib/Sema/SemaSwift.cpp
    M clang/lib/Sema/SemaTemplate.cpp
    M clang/lib/Sema/SemaTemplateDeduction.cpp
    M clang/lib/Sema/SemaTemplateDeductionGuide.cpp
    M clang/lib/Sema/SemaTemplateInstantiate.cpp
    M clang/lib/Sema/SemaTemplateInstantiateDecl.cpp
    M clang/lib/Sema/SemaTemplateVariadic.cpp
    M clang/lib/Sema/SemaType.cpp
    M clang/lib/Sema/SemaX86.cpp
    M clang/lib/Sema/TreeTransform.h
    M clang/lib/Serialization/ASTCommon.cpp
    M clang/lib/Serialization/ASTCommon.h
    M clang/lib/Serialization/ASTReader.cpp
    M clang/lib/Serialization/ASTReaderDecl.cpp
    M clang/lib/Serialization/ASTReaderInternals.h
    M clang/lib/Serialization/ASTReaderStmt.cpp
    M clang/lib/Serialization/ASTWriter.cpp
    M clang/lib/Serialization/ASTWriterDecl.cpp
    M clang/lib/Serialization/ASTWriterStmt.cpp
    M clang/lib/Serialization/CMakeLists.txt
    M clang/lib/Serialization/GeneratePCH.cpp
    M clang/lib/Serialization/GlobalModuleIndex.cpp
    M clang/lib/Serialization/ModuleManager.cpp
    A clang/lib/Serialization/TemplateArgumentHasher.cpp
    A clang/lib/Serialization/TemplateArgumentHasher.h
    M clang/lib/StaticAnalyzer/Checkers/ArrayBoundCheckerV2.cpp
    M clang/lib/StaticAnalyzer/Checkers/BasicObjCFoundationChecks.cpp
    M clang/lib/StaticAnalyzer/Checkers/BitwiseShiftChecker.cpp
    M clang/lib/StaticAnalyzer/Checkers/BuiltinFunctionChecker.cpp
    M clang/lib/StaticAnalyzer/Checkers/CMakeLists.txt
    M clang/lib/StaticAnalyzer/Checkers/CStringChecker.cpp
    M clang/lib/StaticAnalyzer/Checkers/CastToStructChecker.cpp
    M clang/lib/StaticAnalyzer/Checkers/CheckPlacementNew.cpp
    M clang/lib/StaticAnalyzer/Checkers/ChrootChecker.cpp
    M clang/lib/StaticAnalyzer/Checkers/DeadStoresChecker.cpp
    M clang/lib/StaticAnalyzer/Checkers/DynamicTypePropagation.cpp
    M clang/lib/StaticAnalyzer/Checkers/ExprInspectionChecker.cpp
    R clang/lib/StaticAnalyzer/Checkers/IdenticalExprChecker.cpp
    M clang/lib/StaticAnalyzer/Checkers/Iterator.cpp
    M clang/lib/StaticAnalyzer/Checkers/IteratorModeling.cpp
    M clang/lib/StaticAnalyzer/Checkers/LocalizationChecker.cpp
    M clang/lib/StaticAnalyzer/Checkers/MallocChecker.cpp
    M clang/lib/StaticAnalyzer/Checkers/MallocSizeofChecker.cpp
    M clang/lib/StaticAnalyzer/Checkers/MmapWriteExecChecker.cpp
    M clang/lib/StaticAnalyzer/Checkers/OSObjectCStyleCast.cpp
    M clang/lib/StaticAnalyzer/Checkers/ObjCMissingSuperCallChecker.cpp
    M clang/lib/StaticAnalyzer/Checkers/PaddingChecker.cpp
    R clang/lib/StaticAnalyzer/Checkers/PointerIterationChecker.cpp
    R clang/lib/StaticAnalyzer/Checkers/PointerSortingChecker.cpp
    M clang/lib/StaticAnalyzer/Checkers/StackAddrEscapeChecker.cpp
    M clang/lib/StaticAnalyzer/Checkers/StdLibraryFunctionsChecker.cpp
    M clang/lib/StaticAnalyzer/Checkers/StreamChecker.cpp
    M clang/lib/StaticAnalyzer/Checkers/Taint.cpp
    M clang/lib/StaticAnalyzer/Checkers/TraversalChecker.cpp
    M clang/lib/StaticAnalyzer/Checkers/VLASizeChecker.cpp
    M clang/lib/StaticAnalyzer/Checkers/WebKit/ASTUtils.cpp
    M clang/lib/StaticAnalyzer/Checkers/WebKit/ASTUtils.h
    A clang/lib/StaticAnalyzer/Checkers/WebKit/MemoryUnsafeCastChecker.cpp
    M clang/lib/StaticAnalyzer/Checkers/WebKit/PtrTypesSemantics.cpp
    M clang/lib/StaticAnalyzer/Checkers/WebKit/PtrTypesSemantics.h
    A clang/lib/StaticAnalyzer/Checkers/WebKit/RawPtrRefCallArgsChecker.cpp
    A clang/lib/StaticAnalyzer/Checkers/WebKit/RawPtrRefLocalVarsChecker.cpp
    M clang/lib/StaticAnalyzer/Checkers/WebKit/RawPtrRefMemberChecker.cpp
    M clang/lib/StaticAnalyzer/Checkers/WebKit/RefCntblBaseVirtualDtorChecker.cpp
    R clang/lib/StaticAnalyzer/Checkers/WebKit/UncountedCallArgsChecker.cpp
    M clang/lib/StaticAnalyzer/Checkers/WebKit/UncountedLambdaCapturesChecker.cpp
    R clang/lib/StaticAnalyzer/Checkers/WebKit/UncountedLocalVarsChecker.cpp
    M clang/lib/StaticAnalyzer/Core/BasicValueFactory.cpp
    M clang/lib/StaticAnalyzer/Core/BugReporter.cpp
    M clang/lib/StaticAnalyzer/Core/BugReporterVisitors.cpp
    M clang/lib/StaticAnalyzer/Core/BugSuppression.cpp
    M clang/lib/StaticAnalyzer/Core/CallEvent.cpp
    M clang/lib/StaticAnalyzer/Core/CoreEngine.cpp
    M clang/lib/StaticAnalyzer/Core/ExplodedGraph.cpp
    M clang/lib/StaticAnalyzer/Core/ExprEngine.cpp
    M clang/lib/StaticAnalyzer/Core/ExprEngineCXX.cpp
    M clang/lib/StaticAnalyzer/Core/ExprEngineCallAndReturn.cpp
    M clang/lib/StaticAnalyzer/Core/MemRegion.cpp
    M clang/lib/StaticAnalyzer/Core/ProgramState.cpp
    M clang/lib/StaticAnalyzer/Core/RegionStore.cpp
    M clang/lib/StaticAnalyzer/Core/SValBuilder.cpp
    M clang/lib/StaticAnalyzer/Core/SVals.cpp
    M clang/lib/StaticAnalyzer/Core/SimpleConstraintManager.cpp
    M clang/lib/StaticAnalyzer/Core/SimpleSValBuilder.cpp
    M clang/lib/StaticAnalyzer/Core/SymbolManager.cpp
    M clang/lib/StaticAnalyzer/Frontend/AnalysisConsumer.cpp
    M clang/lib/StaticAnalyzer/Frontend/ModelInjector.cpp
    M clang/lib/Testing/TestAST.cpp
    M clang/lib/Tooling/DependencyScanning/DependencyScanningWorker.cpp
    M clang/lib/Tooling/DependencyScanning/ModuleDepCollector.cpp
    M clang/lib/Tooling/Inclusions/HeaderIncludes.cpp
    M clang/lib/Tooling/Inclusions/Stdlib/StandardLibrary.cpp
    M clang/lib/Tooling/Inclusions/Stdlib/StdSpecialSymbolMap.inc
    M clang/lib/Tooling/Inclusions/Stdlib/StdSymbolMap.inc
    M clang/lib/Tooling/Tooling.cpp
    M clang/runtime/CMakeLists.txt
    A clang/test/APINotes/Inputs/Headers/Lifetimebound.apinotes
    A clang/test/APINotes/Inputs/Headers/Lifetimebound.h
    M clang/test/APINotes/Inputs/Headers/SwiftImportAs.apinotes
    M clang/test/APINotes/Inputs/Headers/SwiftImportAs.h
    M clang/test/APINotes/Inputs/Headers/module.modulemap
    A clang/test/APINotes/lifetimebound.cpp
    M clang/test/APINotes/swift-import-as.cpp
    A clang/test/AST/ByteCode/altivec.c
    A clang/test/AST/ByteCode/amdgpu-nullptr.cl
    A clang/test/AST/ByteCode/builtin-bit-cast-bitfields.cpp
    A clang/test/AST/ByteCode/builtin-bit-cast-long-double.cpp
    A clang/test/AST/ByteCode/builtin-bit-cast.cpp
    M clang/test/AST/ByteCode/builtin-functions.cpp
    M clang/test/AST/ByteCode/c23.c
    M clang/test/AST/ByteCode/complex.cpp
    M clang/test/AST/ByteCode/cxx23.cpp
    M clang/test/AST/ByteCode/cxx98.cpp
    M clang/test/AST/ByteCode/functions.cpp
    M clang/test/AST/ByteCode/literals.cpp
    M clang/test/AST/ByteCode/new-delete.cpp
    A clang/test/AST/ByteCode/openmp.cpp
    M clang/test/AST/ByteCode/placement-new.cpp
    M clang/test/AST/ByteCode/records.cpp
    M clang/test/AST/ByteCode/shifts.cpp
    M clang/test/AST/ByteCode/vectors.cpp
    A clang/test/AST/HLSL/ArrayOutArgExpr.hlsl
    A clang/test/AST/HLSL/ByteAddressBuffers-AST.hlsl
    R clang/test/AST/HLSL/RWBuffer-AST.hlsl
    R clang/test/AST/HLSL/StructuredBuffer-AST.hlsl
    A clang/test/AST/HLSL/StructuredBuffers-AST.hlsl
    A clang/test/AST/HLSL/TypedBuffers-AST.hlsl
    A clang/test/AST/HLSL/is_structured_resource_element_compatible_concept.hlsl
    A clang/test/AST/HLSL/is_typed_resource_element_compatible_concept.hlsl
    A clang/test/AST/arm-mfp8.cpp
    M clang/test/AST/ast-dump-amdgpu-types.c
    M clang/test/AST/ast-dump-comment.cpp
    A clang/test/AST/ast-dump-cxx2b-deducing-this.cpp
    M clang/test/AST/ast-dump-recovery.cpp
    M clang/test/AST/ast-dump-types-json.cpp
    A clang/test/AST/ast-print-builtin-counted-by-ref.c
    A clang/test/AST/ast-print-openacc-combined-construct.cpp
    A clang/test/AST/ast-print-openacc-data-construct.cpp
    A clang/test/AST/ast-print-openacc-init-construct.cpp
    M clang/test/AST/ast-print-openacc-loop-construct.cpp
    A clang/test/AST/ast-print-openacc-shutdown-construct.cpp
    A clang/test/AST/ast-print-openacc-wait-construct.cpp
    A clang/test/AST/ast-print-packindexingexpr.cpp
    A clang/test/AST/attr-lifetime-capture-by.cpp
    M clang/test/AST/attr-swift_attr.m
    A clang/test/AST/ms-constexpr-new.cpp
    A clang/test/ASTSYCL/ast-dump-sycl-kernel-entry-point.cpp
    A clang/test/Analysis/Checkers/WebKit/call-args-checked-const-member.cpp
    A clang/test/Analysis/Checkers/WebKit/call-args-checked-ptr.cpp
    A clang/test/Analysis/Checkers/WebKit/call-args-checked-return-value.cpp
    A clang/test/Analysis/Checkers/WebKit/call-args-checked.cpp
    A clang/test/Analysis/Checkers/WebKit/call-args-counted-const-member.cpp
    M clang/test/Analysis/Checkers/WebKit/call-args.cpp
    A clang/test/Analysis/Checkers/WebKit/local-vars-checked-const-member.cpp
    A clang/test/Analysis/Checkers/WebKit/local-vars-counted-const-member.cpp
    A clang/test/Analysis/Checkers/WebKit/memory-unsafe-cast.cpp
    A clang/test/Analysis/Checkers/WebKit/memory-unsafe-cast.mm
    M clang/test/Analysis/Checkers/WebKit/mock-types.h
    M clang/test/Analysis/Checkers/WebKit/ref-cntbl-crtp-base-no-virtual-dtor.cpp
    A clang/test/Analysis/Checkers/WebKit/unchecked-local-vars.cpp
    M clang/test/Analysis/Checkers/WebKit/uncounted-lambda-captures.cpp
    M clang/test/Analysis/Checkers/WebKit/uncounted-local-vars.cpp
    A clang/test/Analysis/Checkers/WebKit/uncounted-obj-arg-std-array.cpp
    M clang/test/Analysis/Checkers/WebKit/uncounted-obj-arg.cpp
    A clang/test/Analysis/Inputs/overloaded-delete-in-header.h
    M clang/test/Analysis/analyzer-config.c
    M clang/test/Analysis/analyzer-enabled-checkers.c
    M clang/test/Analysis/array-init-loop.cpp
    M clang/test/Analysis/bstring.cpp
    M clang/test/Analysis/chroot.c
    M clang/test/Analysis/const-method-call.cpp
    M clang/test/Analysis/copy-elision.cpp
    M clang/test/Analysis/ctor-trivial-copy.cpp
    M clang/test/Analysis/cxx-uninitialized-object-unguarded-access.cpp
    M clang/test/Analysis/explain-svals.cpp
    R clang/test/Analysis/identical-expressions.cpp
    M clang/test/Analysis/initializer.cpp
    M clang/test/Analysis/iterator-modeling.cpp
    M clang/test/Analysis/malloc.c
    A clang/test/Analysis/overloaded-delete-in-system-header.cpp
    R clang/test/Analysis/ptr-iter.cpp
    R clang/test/Analysis/ptr-sort.cpp
    M clang/test/Analysis/reference.cpp
    M clang/test/Analysis/show-checker-list.c
    M clang/test/Analysis/stack-addr-ps.c
    M clang/test/Analysis/std-c-library-functions-arg-enabled-checkers.c
    M clang/test/Analysis/stl-algorithm-modeling-aggressive-std-find-modeling.cpp
    M clang/test/Analysis/stl-algorithm-modeling.cpp
    A clang/test/Analysis/store-dump-orders.cpp
    M clang/test/Analysis/string.c
    M clang/test/Analysis/string.cpp
    A clang/test/Analysis/string_notnullterm.c
    M clang/test/Analysis/taint-generic.cpp
    M clang/test/Analysis/template-param-objects.cpp
    R clang/test/Analysis/traversal-algorithm.mm
    A clang/test/Analysis/void-call-exit-modelling.c
    A clang/test/C/C23/n2412.c
    A clang/test/C/C2y/n3341.c
    A clang/test/C/C2y/n3342.c
    A clang/test/C/C2y/n3344.c
    A clang/test/C/C2y/n3346.c
    A clang/test/C/C2y/n3364.c
    A clang/test/C/C2y/n3370.c
    A clang/test/CIR/global-var-simple.cpp
    M clang/test/CIR/hello.c
    M clang/test/CMakeLists.txt
    M clang/test/CXX/class.access/class.friend/p11.cpp
    M clang/test/CXX/conv/conv.mem/p4.cpp
    M clang/test/CXX/dcl.dcl/dcl.attr/dcl.attr.nodiscard/p2.cpp
    M clang/test/CXX/dcl.dcl/dcl.attr/dcl.attr.nodiscard/p3.cpp
    M clang/test/CXX/dcl.dcl/dcl.attr/dcl.attr.noreturn/p1.cpp
    M clang/test/CXX/dcl.decl/dcl.meaning/dcl.fct/p13.cpp
    M clang/test/CXX/dcl.decl/dcl.meaning/dcl.fct/p2-cxx0x.cpp
    M clang/test/CXX/drs/cwg0xx.cpp
    M clang/test/CXX/drs/cwg13xx.cpp
    M clang/test/CXX/drs/cwg158.cpp
    A clang/test/CXX/drs/cwg1884.cpp
    M clang/test/CXX/drs/cwg18xx.cpp
    A clang/test/CXX/drs/cwg279.cpp
    M clang/test/CXX/drs/cwg28xx.cpp
    M clang/test/CXX/drs/cwg2xx.cpp
    M clang/test/CXX/drs/cwg3xx.cpp
    M clang/test/CXX/drs/cwg4xx.cpp
    M clang/test/CXX/drs/cwg5xx.cpp
    M clang/test/CXX/drs/cwg722.cpp
    M clang/test/CXX/drs/cwg9xx.cpp
    M clang/test/CXX/expr/expr.const/p2-0x.cpp
    M clang/test/CXX/expr/expr.unary/expr.unary.op/p4.cpp
    M clang/test/CXX/temp/temp.arg/temp.arg.nontype/p5.cpp
    R clang/test/CXX/temp/temp.constr/temp.constr.decl/p4.cpp
    A clang/test/CXX/temp/temp.decls/temp.spec.partial/temp.spec.partial.member/p2.cpp
    M clang/test/CXX/temp/temp.decls/temp.variadic/sizeofpack.cpp
    M clang/test/CXX/temp/temp.res/p4.cpp
    R clang/test/CXX/temp/temp.spec/temp.expl.spec/p7.cpp
    M clang/test/ClangScanDeps/diagnostics.c
    M clang/test/ClangScanDeps/header-search-pruning-transitive.c
    M clang/test/ClangScanDeps/link-libraries.c
    M clang/test/ClangScanDeps/modules-context-hash.c
    M clang/test/ClangScanDeps/modules-dep-args.c
    M clang/test/ClangScanDeps/modules-extern-submodule.c
    M clang/test/ClangScanDeps/modules-extern-unrelated.m
    M clang/test/ClangScanDeps/modules-file-path-isolation.c
    M clang/test/ClangScanDeps/modules-fmodule-name-no-module-built.m
    M clang/test/ClangScanDeps/modules-full-by-mod-name.c
    M clang/test/ClangScanDeps/modules-full.cpp
    M clang/test/ClangScanDeps/modules-implicit-dot-private.m
    M clang/test/ClangScanDeps/modules-incomplete-umbrella.c
    M clang/test/ClangScanDeps/modules-inferred.m
    M clang/test/ClangScanDeps/modules-no-undeclared-includes.c
    M clang/test/ClangScanDeps/modules-pch-common-submodule.c
    M clang/test/ClangScanDeps/modules-pch-common-via-submodule.c
    M clang/test/ClangScanDeps/modules-pch.c
    M clang/test/ClangScanDeps/modules-priv-fw-from-pub.m
    M clang/test/ClangScanDeps/modules-redefinition.m
    M clang/test/ClangScanDeps/modules-symlink-dir-vfs.c
    M clang/test/ClangScanDeps/modules-transitive.c
    M clang/test/ClangScanDeps/optimize-vfs.m
    M clang/test/ClangScanDeps/print-timing.c
    M clang/test/ClangScanDeps/removed-args.c
    A clang/test/CodeCompletion/keywords-cxx20.cpp
    M clang/test/CodeGen/2004-02-20-Builtins.c
    A clang/test/CodeGen/AArch64/ABI-align-packed-assembly.c
    A clang/test/CodeGen/AArch64/ABI-align-packed.c
    A clang/test/CodeGen/AArch64/args-hfa.c
    A clang/test/CodeGen/AArch64/args.cpp
    A clang/test/CodeGen/AArch64/arguments-hfa-v3.c
    A clang/test/CodeGen/AArch64/attr-mode-complex.c
    A clang/test/CodeGen/AArch64/attr-mode-float.c
    A clang/test/CodeGen/AArch64/bf16-dotprod-intrinsics.c
    A clang/test/CodeGen/AArch64/bf16-getset-intrinsics.c
    A clang/test/CodeGen/AArch64/bf16-lane-intrinsics.c
    A clang/test/CodeGen/AArch64/bf16-ldst-intrinsics.c
    A clang/test/CodeGen/AArch64/bf16-reinterpret-intrinsics.c
    A clang/test/CodeGen/AArch64/branch-protection-attr.c
    A clang/test/CodeGen/AArch64/byval-temp.c
    A clang/test/CodeGen/AArch64/cpu-supports-target.c
    A clang/test/CodeGen/AArch64/cpu-supports.c
    A clang/test/CodeGen/AArch64/debug-sve-vector-types.c
    A clang/test/CodeGen/AArch64/debug-sve-vectorx2-types.c
    A clang/test/CodeGen/AArch64/debug-sve-vectorx3-types.c
    A clang/test/CodeGen/AArch64/debug-sve-vectorx4-types.c
    A clang/test/CodeGen/AArch64/debug-types.c
    A clang/test/CodeGen/AArch64/elf-pauthabi.c
    A clang/test/CodeGen/AArch64/fix-cortex-a53-835769.c
    A clang/test/CodeGen/AArch64/fixed-register-global.c
    A clang/test/CodeGen/AArch64/fmv-dependencies.c
    A clang/test/CodeGen/AArch64/fmv-mix-explicit-implicit-default.c
    A clang/test/CodeGen/AArch64/fmv-resolver-emission.c
    A clang/test/CodeGen/AArch64/fmv-streaming.c
    A clang/test/CodeGen/AArch64/fp8-intrinsics/acle_sme2_fp8_cvt.c
    A clang/test/CodeGen/AArch64/fp8-intrinsics/acle_sme2_fp8_fmopa.c
    A clang/test/CodeGen/AArch64/fp8-intrinsics/acle_sme2_fp8_mla.c
    A clang/test/CodeGen/AArch64/fp8-intrinsics/acle_sme2_fp8_scale.c
    A clang/test/CodeGen/AArch64/fp8-intrinsics/acle_sve2_fp8_cvt.c
    A clang/test/CodeGen/AArch64/fp8-intrinsics/acle_sve2_fp8_cvtn.c
    A clang/test/CodeGen/AArch64/fp8-intrinsics/acle_sve2_fp8_fdot.c
    A clang/test/CodeGen/AArch64/fp8-intrinsics/acle_sve2_fp8_fmla.c
    A clang/test/CodeGen/AArch64/fpm-helpers.c
    A clang/test/CodeGen/AArch64/gcs.c
    A clang/test/CodeGen/AArch64/inline-asm.c
    A clang/test/CodeGen/AArch64/inlineasm-ios.c
    A clang/test/CodeGen/AArch64/ls64-inline-asm.c
    A clang/test/CodeGen/AArch64/ls64.c
    A clang/test/CodeGen/AArch64/matmul.cpp
    A clang/test/CodeGen/AArch64/mixed-target-attributes.c
    A clang/test/CodeGen/AArch64/mops.c
    A clang/test/CodeGen/AArch64/neon-2velem.c
    A clang/test/CodeGen/AArch64/neon-3v.c
    A clang/test/CodeGen/AArch64/neon-across.c
    A clang/test/CodeGen/AArch64/neon-dot-product.c
    A clang/test/CodeGen/AArch64/neon-extract.c
    A clang/test/CodeGen/AArch64/neon-faminmax-intrinsics.c
    A clang/test/CodeGen/AArch64/neon-fcvt-intrinsics.c
    A clang/test/CodeGen/AArch64/neon-fma.c
    A clang/test/CodeGen/AArch64/neon-fp16fml.c
    A clang/test/CodeGen/AArch64/neon-fp8-intrinsics/acle_neon_fscale.c
    A clang/test/CodeGen/AArch64/neon-intrinsics-constrained.c
    A clang/test/CodeGen/AArch64/neon-intrinsics.c
    A clang/test/CodeGen/AArch64/neon-ldst-one-rcpc3.c
    A clang/test/CodeGen/AArch64/neon-ldst-one.c
    A clang/test/CodeGen/AArch64/neon-luti.c
    A clang/test/CodeGen/AArch64/neon-misc-constrained.c
    A clang/test/CodeGen/AArch64/neon-misc.c
    A clang/test/CodeGen/AArch64/neon-perm.c
    A clang/test/CodeGen/AArch64/neon-range-checks.c
    A clang/test/CodeGen/AArch64/neon-scalar-copy.c
    A clang/test/CodeGen/AArch64/neon-scalar-x-indexed-elem-constrained.c
    A clang/test/CodeGen/AArch64/neon-scalar-x-indexed-elem.c
    A clang/test/CodeGen/AArch64/neon-sha3.c
    A clang/test/CodeGen/AArch64/neon-shifts.c
    A clang/test/CodeGen/AArch64/neon-sm4-sm3.c
    A clang/test/CodeGen/AArch64/neon-tbl.c
    A clang/test/CodeGen/AArch64/neon-vcadd.c
    A clang/test/CodeGen/AArch64/neon-vcmla.c
    A clang/test/CodeGen/AArch64/neon-vcombine.c
    A clang/test/CodeGen/AArch64/neon-vget-hilo.c
    A clang/test/CodeGen/AArch64/neon-vget.c
    A clang/test/CodeGen/AArch64/neon-vsqadd-float-conversion.c
    A clang/test/CodeGen/AArch64/neon-vuqadd-float-conversion-warning.c
    A clang/test/CodeGen/AArch64/poly-add.c
    A clang/test/CodeGen/AArch64/poly128.c
    A clang/test/CodeGen/AArch64/poly64.c
    A clang/test/CodeGen/AArch64/pure-scalable-args-empty-union.c
    A clang/test/CodeGen/AArch64/pure-scalable-args.c
    A clang/test/CodeGen/AArch64/sign-return-address.c
    A clang/test/CodeGen/AArch64/sme-inline-callees-streaming-attrs.c
    A clang/test/CodeGen/AArch64/sme-inline-streaming-attrs.c
    A clang/test/CodeGen/AArch64/sme-intrinsics/aarch64-sme-attrs.cpp
    A clang/test/CodeGen/AArch64/sme-intrinsics/acle_sme_add-i32.c
    A clang/test/CodeGen/AArch64/sme-intrinsics/acle_sme_add-i64.c
    A clang/test/CodeGen/AArch64/sme-intrinsics/acle_sme_cnt.c
    A clang/test/CodeGen/AArch64/sme-intrinsics/acle_sme_ld1.c
    A clang/test/CodeGen/AArch64/sme-intrinsics/acle_sme_ld1_vnum.c
    A clang/test/CodeGen/AArch64/sme-intrinsics/acle_sme_ldr.c
    A clang/test/CodeGen/AArch64/sme-intrinsics/acle_sme_mopa-za32.c
    A clang/test/CodeGen/AArch64/sme-intrinsics/acle_sme_mopa-za64.c
    A clang/test/CodeGen/AArch64/sme-intrinsics/acle_sme_mops-za32.c
    A clang/test/CodeGen/AArch64/sme-intrinsics/acle_sme_mops-za64.c
    A clang/test/CodeGen/AArch64/sme-intrinsics/acle_sme_read.c
    A clang/test/CodeGen/AArch64/sme-intrinsics/acle_sme_st1.c
    A clang/test/CodeGen/AArch64/sme-intrinsics/acle_sme_st1_vnum.c
    A clang/test/CodeGen/AArch64/sme-intrinsics/acle_sme_state_builtin.c
    A clang/test/CodeGen/AArch64/sme-intrinsics/acle_sme_state_funs.c
    A clang/test/CodeGen/AArch64/sme-intrinsics/acle_sme_str.c
    A clang/test/CodeGen/AArch64/sme-intrinsics/acle_sme_write.c
    A clang/test/CodeGen/AArch64/sme-intrinsics/acle_sme_zero.c
    A clang/test/CodeGen/AArch64/sme2-intrinsics/aarch64-sme2-attrs.cpp
    A clang/test/CodeGen/AArch64/sme2-intrinsics/acle_sme2_add.c
    A clang/test/CodeGen/AArch64/sme2-intrinsics/acle_sme2_add_sub_za16.c
    A clang/test/CodeGen/AArch64/sme2-intrinsics/acle_sme2_bmop.c
    A clang/test/CodeGen/AArch64/sme2-intrinsics/acle_sme2_clamp.c
    A clang/test/CodeGen/AArch64/sme2-intrinsics/acle_sme2_cvt.c
    A clang/test/CodeGen/AArch64/sme2-intrinsics/acle_sme2_cvtl.c
    A clang/test/CodeGen/AArch64/sme2-intrinsics/acle_sme2_cvtn.c
    A clang/test/CodeGen/AArch64/sme2-intrinsics/acle_sme2_faminmax.c
    A clang/test/CodeGen/AArch64/sme2-intrinsics/acle_sme2_fmlas16.c
    A clang/test/CodeGen/AArch64/sme2-intrinsics/acle_sme2_fp8_fdot.c
    A clang/test/CodeGen/AArch64/sme2-intrinsics/acle_sme2_fp8_fvdot.c
    A clang/test/CodeGen/AArch64/sme2-intrinsics/acle_sme2_fp_dots.c
    A clang/test/CodeGen/AArch64/sme2-intrinsics/acle_sme2_frint.c
    A clang/test/CodeGen/AArch64/sme2-intrinsics/acle_sme2_int_dots.c
    A clang/test/CodeGen/AArch64/sme2-intrinsics/acle_sme2_ldr_str_zt.c
    A clang/test/CodeGen/AArch64/sme2-intrinsics/acle_sme2_luti2_lane_zt.c
    A clang/test/CodeGen/AArch64/sme2-intrinsics/acle_sme2_luti2_lane_zt_x2.c
    A clang/test/CodeGen/AArch64/sme2-intrinsics/acle_sme2_luti2_lane_zt_x4.c
    A clang/test/CodeGen/AArch64/sme2-intrinsics/acle_sme2_luti4_lane_zt.c
    A clang/test/CodeGen/AArch64/sme2-intrinsics/acle_sme2_luti4_lane_zt_x2.c
    A clang/test/CodeGen/AArch64/sme2-intrinsics/acle_sme2_luti4_lane_zt_x4.c
    A clang/test/CodeGen/AArch64/sme2-intrinsics/acle_sme2_luti4_zt.c
    A clang/test/CodeGen/AArch64/sme2-intrinsics/acle_sme2_max.c
    A clang/test/CodeGen/AArch64/sme2-intrinsics/acle_sme2_maxnm.c
    A clang/test/CodeGen/AArch64/sme2-intrinsics/acle_sme2_min.c
    A clang/test/CodeGen/AArch64/sme2-intrinsics/acle_sme2_minnm.c
    A clang/test/CodeGen/AArch64/sme2-intrinsics/acle_sme2_mla.c
    A clang/test/CodeGen/AArch64/sme2-intrinsics/acle_sme2_mlal.c
    A clang/test/CodeGen/AArch64/sme2-intrinsics/acle_sme2_mlall.c
    A clang/test/CodeGen/AArch64/sme2-intrinsics/acle_sme2_mls.c
    A clang/test/CodeGen/AArch64/sme2-intrinsics/acle_sme2_mlsl.c
    A clang/test/CodeGen/AArch64/sme2-intrinsics/acle_sme2_mop.c
    A clang/test/CodeGen/AArch64/sme2-intrinsics/acle_sme2_mopa_nonwide.c
    A clang/test/CodeGen/AArch64/sme2-intrinsics/acle_sme2_read.c
    A clang/test/CodeGen/AArch64/sme2-intrinsics/acle_sme2_reinterpret_svcount_svbool.c
    A clang/test/CodeGen/AArch64/sme2-intrinsics/acle_sme2_sqdmulh.c
    A clang/test/CodeGen/AArch64/sme2-intrinsics/acle_sme2_sub.c
    A clang/test/CodeGen/AArch64/sme2-intrinsics/acle_sme2_unpkx2.c
    A clang/test/CodeGen/AArch64/sme2-intrinsics/acle_sme2_unpkx4.c
    A clang/test/CodeGen/AArch64/sme2-intrinsics/acle_sme2_vdot.c
    A clang/test/CodeGen/AArch64/sme2-intrinsics/acle_sme2_vector_add.c
    A clang/test/CodeGen/AArch64/sme2-intrinsics/acle_sme2_vector_qrshr.c
    A clang/test/CodeGen/AArch64/sme2-intrinsics/acle_sme2_vector_rshl.c
    A clang/test/CodeGen/AArch64/sme2-intrinsics/acle_sme2_vector_selx2.c
    A clang/test/CodeGen/AArch64/sme2-intrinsics/acle_sme2_vector_selx4.c
    A clang/test/CodeGen/AArch64/sme2-intrinsics/acle_sme2_vector_uzpx2.c
    A clang/test/CodeGen/AArch64/sme2-intrinsics/acle_sme2_vector_uzpx4.c
    A clang/test/CodeGen/AArch64/sme2-intrinsics/acle_sme2_vector_zipx2.c
    A clang/test/CodeGen/AArch64/sme2-intrinsics/acle_sme2_vector_zipx4.c
    A clang/test/CodeGen/AArch64/sme2-intrinsics/acle_sme2_write.c
    A clang/test/CodeGen/AArch64/sme2-intrinsics/acle_sme2_write_lane_zt.c
    A clang/test/CodeGen/AArch64/sme2-intrinsics/acle_sme2_zero_zt.c
    A clang/test/CodeGen/AArch64/sme2p1-intrinsics/acle_sme2p1_movaz.c
    A clang/test/CodeGen/AArch64/sme2p1-intrinsics/acle_sme2p1_zero.c
    A clang/test/CodeGen/AArch64/soft-float-abi-errors.c
    A clang/test/CodeGen/AArch64/soft-float-abi.c
    A clang/test/CodeGen/AArch64/strictfp-builtins.c
    A clang/test/CodeGen/AArch64/subarch-compatbility.c
    A clang/test/CodeGen/AArch64/sve-acle-__ARM_FEATURE_SVE_VECTOR_OPERATORS.c
    A clang/test/CodeGen/AArch64/sve-acle-__ARM_FEATURE_SVE_VECTOR_OPERATORS.cpp
    A clang/test/CodeGen/AArch64/sve-inline-asm-crash.c
    A clang/test/CodeGen/AArch64/sve-inline-asm-datatypes.c
    A clang/test/CodeGen/AArch64/sve-inline-asm-negative-test.c
    A clang/test/CodeGen/AArch64/sve-inline-asm.c
    A clang/test/CodeGen/AArch64/sve-intrinsics/README
    A clang/test/CodeGen/AArch64/sve-intrinsics/acle_sve_abd.c
    A clang/test/CodeGen/AArch64/sve-intrinsics/acle_sve_abs.c
    A clang/test/CodeGen/AArch64/sve-intrinsics/acle_sve_acge.c
    A clang/test/CodeGen/AArch64/sve-intrinsics/acle_sve_acgt.c
    A clang/test/CodeGen/AArch64/sve-intrinsics/acle_sve_acle.c
    A clang/test/CodeGen/AArch64/sve-intrinsics/acle_sve_aclt.c
    A clang/test/CodeGen/AArch64/sve-intrinsics/acle_sve_add.c
    A clang/test/CodeGen/AArch64/sve-intrinsics/acle_sve_adda.c
    A clang/test/CodeGen/AArch64/sve-intrinsics/acle_sve_addv.c
    A clang/test/CodeGen/AArch64/sve-intrinsics/acle_sve_adrb.c
    A clang/test/CodeGen/AArch64/sve-intrinsics/acle_sve_adrd.c
    A clang/test/CodeGen/AArch64/sve-intrinsics/acle_sve_adrh.c
    A clang/test/CodeGen/AArch64/sve-intrinsics/acle_sve_adrw.c
    A clang/test/CodeGen/AArch64/sve-intrinsics/acle_sve_and.c
    A clang/test/CodeGen/AArch64/sve-intrinsics/acle_sve_andv.c
    A clang/test/CodeGen/AArch64/sve-intrinsics/acle_sve_asr.c
    A clang/test/CodeGen/AArch64/sve-intrinsics/acle_sve_asrd.c
    A clang/test/CodeGen/AArch64/sve-intrinsics/acle_sve_bfdot.c
    A clang/test/CodeGen/AArch64/sve-intrinsics/acle_sve_bfmlalb.c
    A clang/test/CodeGen/AArch64/sve-intrinsics/acle_sve_bfmlalt.c
    A clang/test/CodeGen/AArch64/sve-intrinsics/acle_sve_bfmmla.c
    A clang/test/CodeGen/AArch64/sve-intrinsics/acle_sve_bic.c
    A clang/test/CodeGen/AArch64/sve-intrinsics/acle_sve_brka.c
    A clang/test/CodeGen/AArch64/sve-intrinsics/acle_sve_brkb.c
    A clang/test/CodeGen/AArch64/sve-intrinsics/acle_sve_brkn.c
    A clang/test/CodeGen/AArch64/sve-intrinsics/acle_sve_brkpa.c
    A clang/test/CodeGen/AArch64/sve-intrinsics/acle_sve_brkpb.c
    A clang/test/CodeGen/AArch64/sve-intrinsics/acle_sve_cadd.c
    A clang/test/CodeGen/AArch64/sve-intrinsics/acle_sve_clasta-bfloat.c
    A clang/test/CodeGen/AArch64/sve-intrinsics/acle_sve_clasta.c
    A clang/test/CodeGen/AArch64/sve-intrinsics/acle_sve_clastb-bfloat.c
    A clang/test/CodeGen/AArch64/sve-intrinsics/acle_sve_clastb.c
    A clang/test/CodeGen/AArch64/sve-intrinsics/acle_sve_cls.c
    A clang/test/CodeGen/AArch64/sve-intrinsics/acle_sve_clz.c
    A clang/test/CodeGen/AArch64/sve-intrinsics/acle_sve_cmla.c
    A clang/test/CodeGen/AArch64/sve-intrinsics/acle_sve_cmpeq.c
    A clang/test/CodeGen/AArch64/sve-intrinsics/acle_sve_cmpge.c
    A clang/test/CodeGen/AArch64/sve-intrinsics/acle_sve_cmpgt.c
    A clang/test/CodeGen/AArch64/sve-intrinsics/acle_sve_cmple.c
    A clang/test/CodeGen/AArch64/sve-intrinsics/acle_sve_cmplt.c
    A clang/test/CodeGen/AArch64/sve-intrinsics/acle_sve_cmpne.c
    A clang/test/CodeGen/AArch64/sve-intrinsics/acle_sve_cmpuo.c
    A clang/test/CodeGen/AArch64/sve-intrinsics/acle_sve_cnot.c
    A clang/test/CodeGen/AArch64/sve-intrinsics/acle_sve_cnt-bfloat.c
    A clang/test/CodeGen/AArch64/sve-intrinsics/acle_sve_cnt.c
    A clang/test/CodeGen/AArch64/sve-intrinsics/acle_sve_cntb.c
    A clang/test/CodeGen/AArch64/sve-intrinsics/acle_sve_cntd.c
    A clang/test/CodeGen/AArch64/sve-intrinsics/acle_sve_cnth.c
    A clang/test/CodeGen/AArch64/sve-intrinsics/acle_sve_cntp.c
    A clang/test/CodeGen/AArch64/sve-intrinsics/acle_sve_cntw.c
    A clang/test/CodeGen/AArch64/sve-intrinsics/acle_sve_compact.c
    A clang/test/CodeGen/AArch64/sve-intrinsics/acle_sve_create2-bfloat.c
    A clang/test/CodeGen/AArch64/sve-intrinsics/acle_sve_create2.c
    A clang/test/CodeGen/AArch64/sve-intrinsics/acle_sve_create3-bfloat.c
    A clang/test/CodeGen/AArch64/sve-intrinsics/acle_sve_create3.c
    A clang/test/CodeGen/AArch64/sve-intrinsics/acle_sve_create4-bfloat.c
    A clang/test/CodeGen/AArch64/sve-intrinsics/acle_sve_create4.c
    A clang/test/CodeGen/AArch64/sve-intrinsics/acle_sve_cvt-bfloat.c
    A clang/test/CodeGen/AArch64/sve-intrinsics/acle_sve_cvt.c
    A clang/test/CodeGen/AArch64/sve-intrinsics/acle_sve_cvtnt.c
    A clang/test/CodeGen/AArch64/sve-intrinsics/acle_sve_div.c
    A clang/test/CodeGen/AArch64/sve-intrinsics/acle_sve_divr.c
    A clang/test/CodeGen/AArch64/sve-intrinsics/acle_sve_dot.c
    A clang/test/CodeGen/AArch64/sve-intrinsics/acle_sve_dup-bfloat.c
    A clang/test/CodeGen/AArch64/sve-intrinsics/acle_sve_dup.c
    A clang/test/CodeGen/AArch64/sve-intrinsics/acle_sve_dupq-bfloat.c
    A clang/test/CodeGen/AArch64/sve-intrinsics/acle_sve_dupq.c
    A clang/test/CodeGen/AArch64/sve-intrinsics/acle_sve_dupq_const.c
    A clang/test/CodeGen/AArch64/sve-intrinsics/acle_sve_eor.c
    A clang/test/CodeGen/AArch64/sve-intrinsics/acle_sve_eorv.c
    A clang/test/CodeGen/AArch64/sve-intrinsics/acle_sve_expa.c
    A clang/test/CodeGen/AArch64/sve-intrinsics/acle_sve_ext-bfloat.c
    A clang/test/CodeGen/AArch64/sve-intrinsics/acle_sve_ext.c
    A clang/test/CodeGen/AArch64/sve-intrinsics/acle_sve_extb.c
    A clang/test/CodeGen/AArch64/sve-intrinsics/acle_sve_exth.c
    A clang/test/CodeGen/AArch64/sve-intrinsics/acle_sve_extw.c
    A clang/test/CodeGen/AArch64/sve-intrinsics/acle_sve_get2-bfloat.c
    A clang/test/CodeGen/AArch64/sve-intrinsics/acle_sve_get2.c
    A clang/test/CodeGen/AArch64/sve-intrinsics/acle_sve_get3-bfloat.c
    A clang/test/CodeGen/AArch64/sve-intrinsics/acle_sve_get3.c
    A clang/test/CodeGen/AArch64/sve-intrinsics/acle_sve_get4-bfloat.c
    A clang/test/CodeGen/AArch64/sve-intrinsics/acle_sve_get4.c
    A clang/test/CodeGen/AArch64/sve-intrinsics/acle_sve_index.c
    A clang/test/CodeGen/AArch64/sve-intrinsics/acle_sve_insr-bfloat.c
    A clang/test/CodeGen/AArch64/sve-intrinsics/acle_sve_insr.c
    A clang/test/CodeGen/AArch64/sve-intrinsics/acle_sve_lasta-bfloat.c
    A clang/test/CodeGen/AArch64/sve-intrinsics/acle_sve_lasta.c
    A clang/test/CodeGen/AArch64/sve-intrinsics/acle_sve_lastb-bfloat.c
    A clang/test/CodeGen/AArch64/sve-intrinsics/acle_sve_lastb.c
    A clang/test/CodeGen/AArch64/sve-intrinsics/acle_sve_ld1-bfloat.c
    A clang/test/CodeGen/AArch64/sve-intrinsics/acle_sve_ld1.c
    A clang/test/CodeGen/AArch64/sve-intrinsics/acle_sve_ld1ro-bfloat.c
    A clang/test/CodeGen/AArch64/sve-intrinsics/acle_sve_ld1ro.c
    A clang/test/CodeGen/AArch64/sve-intrinsics/acle_sve_ld1rq-bfloat.c
    A clang/test/CodeGen/AArch64/sve-intrinsics/acle_sve_ld1rq.c
    A clang/test/CodeGen/AArch64/sve-intrinsics/acle_sve_ld1sb.c
    A clang/test/CodeGen/AArch64/sve-intrinsics/acle_sve_ld1sh.c
    A clang/test/CodeGen/AArch64/sve-intrinsics/acle_sve_ld1sw.c
    A clang/test/CodeGen/AArch64/sve-intrinsics/acle_sve_ld1ub.c
    A clang/test/CodeGen/AArch64/sve-intrinsics/acle_sve_ld1uh.c
    A clang/test/CodeGen/AArch64/sve-intrinsics/acle_sve_ld1uw.c
    A clang/test/CodeGen/AArch64/sve-intrinsics/acle_sve_ld2-bfloat.c
    A clang/test/CodeGen/AArch64/sve-intrinsics/acle_sve_ld2.c
    A clang/test/CodeGen/AArch64/sve-intrinsics/acle_sve_ld3-bfloat.c
    A clang/test/CodeGen/AArch64/sve-intrinsics/acle_sve_ld3.c
    A clang/test/CodeGen/AArch64/sve-intrinsics/acle_sve_ld4-bfloat.c
    A clang/test/CodeGen/AArch64/sve-intrinsics/acle_sve_ld4.c
    A clang/test/CodeGen/AArch64/sve-intrinsics/acle_sve_ldff1-bfloat.c
    A clang/test/CodeGen/AArch64/sve-intrinsics/acle_sve_ldff1.c
    A clang/test/CodeGen/AArch64/sve-intrinsics/acle_sve_ldff1sb.c
    A clang/test/CodeGen/AArch64/sve-intrinsics/acle_sve_ldff1sh.c
    A clang/test/CodeGen/AArch64/sve-intrinsics/acle_sve_ldff1sw.c
    A clang/test/CodeGen/AArch64/sve-intrinsics/acle_sve_ldff1ub.c
    A clang/test/CodeGen/AArch64/sve-intrinsics/acle_sve_ldff1uh.c
    A clang/test/CodeGen/AArch64/sve-intrinsics/acle_sve_ldff1uw.c
    A clang/test/CodeGen/AArch64/sve-intrinsics/acle_sve_ldnf1-bfloat.c
    A clang/test/CodeGen/AArch64/sve-intrinsics/acle_sve_ldnf1.c
    A clang/test/CodeGen/AArch64/sve-intrinsics/acle_sve_ldnf1sb.c
    A clang/test/CodeGen/AArch64/sve-intrinsics/acle_sve_ldnf1sh.c
    A clang/test/CodeGen/AArch64/sve-intrinsics/acle_sve_ldnf1sw.c
    A clang/test/CodeGen/AArch64/sve-intrinsics/acle_sve_ldnf1ub.c
    A clang/test/CodeGen/AArch64/sve-intrinsics/acle_sve_ldnf1uh.c
    A clang/test/CodeGen/AArch64/sve-intrinsics/acle_sve_ldnf1uw.c
    A clang/test/CodeGen/AArch64/sve-intrinsics/acle_sve_ldnt1-bfloat.c
    A clang/test/CodeGen/AArch64/sve-intrinsics/acle_sve_ldnt1.c
    A clang/test/CodeGen/AArch64/sve-intrinsics/acle_sve_len-bfloat.c
    A clang/test/CodeGen/AArch64/sve-intrinsics/acle_sve_len.c
    A clang/test/CodeGen/AArch64/sve-intrinsics/acle_sve_lsl.c
    A clang/test/CodeGen/AArch64/sve-intrinsics/acle_sve_lsr.c
    A clang/test/CodeGen/AArch64/sve-intrinsics/acle_sve_mad.c
    A clang/test/CodeGen/AArch64/sve-intrinsics/acle_sve_matmul_fp32.c
    A clang/test/CodeGen/AArch64/sve-intrinsics/acle_sve_matmul_fp64.c
    A clang/test/CodeGen/AArch64/sve-intrinsics/acle_sve_max.c
    A clang/test/CodeGen/AArch64/sve-intrinsics/acle_sve_maxnm.c
    A clang/test/CodeGen/AArch64/sve-intrinsics/acle_sve_maxnmv.c
    A clang/test/CodeGen/AArch64/sve-intrinsics/acle_sve_maxv.c
    A clang/test/CodeGen/AArch64/sve-intrinsics/acle_sve_min.c
    A clang/test/CodeGen/AArch64/sve-intrinsics/acle_sve_minnm.c
    A clang/test/CodeGen/AArch64/sve-intrinsics/acle_sve_minnmv.c
    A clang/test/CodeGen/AArch64/sve-intrinsics/acle_sve_minv.c
    A clang/test/CodeGen/AArch64/sve-intrinsics/acle_sve_mla.c
    A clang/test/CodeGen/AArch64/sve-intrinsics/acle_sve_mls.c
    A clang/test/CodeGen/AArch64/sve-intrinsics/acle_sve_mmla.c
    A clang/test/CodeGen/AArch64/sve-intrinsics/acle_sve_mov.c
    A clang/test/CodeGen/AArch64/sve-intrinsics/acle_sve_msb.c
    A clang/test/CodeGen/AArch64/sve-intrinsics/acle_sve_mul.c
    A clang/test/CodeGen/AArch64/sve-intrinsics/acle_sve_mulh.c
    A clang/test/CodeGen/AArch64/sve-intrinsics/acle_sve_mulx.c
    A clang/test/CodeGen/AArch64/sve-intrinsics/acle_sve_nand.c
    A clang/test/CodeGen/AArch64/sve-intrinsics/acle_sve_neg.c
    A clang/test/CodeGen/AArch64/sve-intrinsics/acle_sve_nmad.c
    A clang/test/CodeGen/AArch64/sve-intrinsics/acle_sve_nmla.c
    A clang/test/CodeGen/AArch64/sve-intrinsics/acle_sve_nmls.c
    A clang/test/CodeGen/AArch64/sve-intrinsics/acle_sve_nmsb.c
    A clang/test/CodeGen/AArch64/sve-intrinsics/acle_sve_nor.c
    A clang/test/CodeGen/AArch64/sve-intrinsics/acle_sve_not.c
    A clang/test/CodeGen/AArch64/sve-intrinsics/acle_sve_orn.c
    A clang/test/CodeGen/AArch64/sve-intrinsics/acle_sve_orr.c
    A clang/test/CodeGen/AArch64/sve-intrinsics/acle_sve_orv.c
    A clang/test/CodeGen/AArch64/sve-intrinsics/acle_sve_pfalse.c
    A clang/test/CodeGen/AArch64/sve-intrinsics/acle_sve_pfirst.c
    A clang/test/CodeGen/AArch64/sve-intrinsics/acle_sve_pnext.c
    A clang/test/CodeGen/AArch64/sve-intrinsics/acle_sve_prfb.c
    A clang/test/CodeGen/AArch64/sve-intrinsics/acle_sve_prfd.c
    A clang/test/CodeGen/AArch64/sve-intrinsics/acle_sve_prfh.c
    A clang/test/CodeGen/AArch64/sve-intrinsics/acle_sve_prfw.c
    A clang/test/CodeGen/AArch64/sve-intrinsics/acle_sve_ptest.c
    A clang/test/CodeGen/AArch64/sve-intrinsics/acle_sve_ptrue.c
    A clang/test/CodeGen/AArch64/sve-intrinsics/acle_sve_qadd.c
    A clang/test/CodeGen/AArch64/sve-intrinsics/acle_sve_qdecb.c
    A clang/test/CodeGen/AArch64/sve-intrinsics/acle_sve_qdecd.c
    A clang/test/CodeGen/AArch64/sve-intrinsics/acle_sve_qdech.c
    A clang/test/CodeGen/AArch64/sve-intrinsics/acle_sve_qdecp.c
    A clang/test/CodeGen/AArch64/sve-intrinsics/acle_sve_qdecw.c
    A clang/test/CodeGen/AArch64/sve-intrinsics/acle_sve_qincb.c
    A clang/test/CodeGen/AArch64/sve-intrinsics/acle_sve_qincd.c
    A clang/test/CodeGen/AArch64/sve-intrinsics/acle_sve_qinch.c
    A clang/test/CodeGen/AArch64/sve-intrinsics/acle_sve_qincp.c
    A clang/test/CodeGen/AArch64/sve-intrinsics/acle_sve_qincw.c
    A clang/test/CodeGen/AArch64/sve-intrinsics/acle_sve_qsub.c
    A clang/test/CodeGen/AArch64/sve-intrinsics/acle_sve_rbit.c
    A clang/test/CodeGen/AArch64/sve-intrinsics/acle_sve_rdffr.c
    A clang/test/CodeGen/AArch64/sve-intrinsics/acle_sve_recpe.c
    A clang/test/CodeGen/AArch64/sve-intrinsics/acle_sve_recps.c
    A clang/test/CodeGen/AArch64/sve-intrinsics/acle_sve_recpx.c
    A clang/test/CodeGen/AArch64/sve-intrinsics/acle_sve_reinterpret-bfloat.c
    A clang/test/CodeGen/AArch64/sve-intrinsics/acle_sve_reinterpret.c
    A clang/test/CodeGen/AArch64/sve-intrinsics/acle_sve_rev-bfloat.c
    A clang/test/CodeGen/AArch64/sve-intrinsics/acle_sve_rev.c
    A clang/test/CodeGen/AArch64/sve-intrinsics/acle_sve_revb.c
    A clang/test/CodeGen/AArch64/sve-intrinsics/acle_sve_revh.c
    A clang/test/CodeGen/AArch64/sve-intrinsics/acle_sve_revw.c
    A clang/test/CodeGen/AArch64/sve-intrinsics/acle_sve_rinta.c
    A clang/test/CodeGen/AArch64/sve-intrinsics/acle_sve_rinti.c
    A clang/test/CodeGen/AArch64/sve-intrinsics/acle_sve_rintm.c
    A clang/test/CodeGen/AArch64/sve-intrinsics/acle_sve_rintn.c
    A clang/test/CodeGen/AArch64/sve-intrinsics/acle_sve_rintp.c
    A clang/test/CodeGen/AArch64/sve-intrinsics/acle_sve_rintx.c
    A clang/test/CodeGen/AArch64/sve-intrinsics/acle_sve_rintz.c
    A clang/test/CodeGen/AArch64/sve-intrinsics/acle_sve_rsqrte.c
    A clang/test/CodeGen/AArch64/sve-intrinsics/acle_sve_rsqrts.c
    A clang/test/CodeGen/AArch64/sve-intrinsics/acle_sve_scale.c
    A clang/test/CodeGen/AArch64/sve-intrinsics/acle_sve_sel-bfloat.c
    A clang/test/CodeGen/AArch64/sve-intrinsics/acle_sve_sel.c
    A clang/test/CodeGen/AArch64/sve-intrinsics/acle_sve_set2-bfloat.c
    A clang/test/CodeGen/AArch64/sve-intrinsics/acle_sve_set2.c
    A clang/test/CodeGen/AArch64/sve-intrinsics/acle_sve_set3-bfloat.c
    A clang/test/CodeGen/AArch64/sve-intrinsics/acle_sve_set3.c
    A clang/test/CodeGen/AArch64/sve-intrinsics/acle_sve_set4-bfloat.c
    A clang/test/CodeGen/AArch64/sve-intrinsics/acle_sve_set4.c
    A clang/test/CodeGen/AArch64/sve-intrinsics/acle_sve_setffr.c
    A clang/test/CodeGen/AArch64/sve-intrinsics/acle_sve_splice-bfloat.c
    A clang/test/CodeGen/AArch64/sve-intrinsics/acle_sve_splice.c
    A clang/test/CodeGen/AArch64/sve-intrinsics/acle_sve_sqrt.c
    A clang/test/CodeGen/AArch64/sve-intrinsics/acle_sve_st1-bfloat.c
    A clang/test/CodeGen/AArch64/sve-intrinsics/acle_sve_st1.c
    A clang/test/CodeGen/AArch64/sve-intrinsics/acle_sve_st1b.c
    A clang/test/CodeGen/AArch64/sve-intrinsics/acle_sve_st1h.c
    A clang/test/CodeGen/AArch64/sve-intrinsics/acle_sve_st1w.c
    A clang/test/CodeGen/AArch64/sve-intrinsics/acle_sve_st2-bfloat.c
    A clang/test/CodeGen/AArch64/sve-intrinsics/acle_sve_st2.c
    A clang/test/CodeGen/AArch64/sve-intrinsics/acle_sve_st3-bfloat.c
    A clang/test/CodeGen/AArch64/sve-intrinsics/acle_sve_st3.c
    A clang/test/CodeGen/AArch64/sve-intrinsics/acle_sve_st4-bfloat.c
    A clang/test/CodeGen/AArch64/sve-intrinsics/acle_sve_st4.c
    A clang/test/CodeGen/AArch64/sve-intrinsics/acle_sve_stnt1-bfloat.c
    A clang/test/CodeGen/AArch64/sve-intrinsics/acle_sve_stnt1.c
    A clang/test/CodeGen/AArch64/sve-intrinsics/acle_sve_sub.c
    A clang/test/CodeGen/AArch64/sve-intrinsics/acle_sve_subr.c
    A clang/test/CodeGen/AArch64/sve-intrinsics/acle_sve_sudot.c
    A clang/test/CodeGen/AArch64/sve-intrinsics/acle_sve_tbl-bfloat.c
    A clang/test/CodeGen/AArch64/sve-intrinsics/acle_sve_tbl.c
    A clang/test/CodeGen/AArch64/sve-intrinsics/acle_sve_tmad.c
    A clang/test/CodeGen/AArch64/sve-intrinsics/acle_sve_trn1-bfloat.c
    A clang/test/CodeGen/AArch64/sve-intrinsics/acle_sve_trn1-fp64-bfloat.c
    A clang/test/CodeGen/AArch64/sve-intrinsics/acle_sve_trn1-fp64.c
    A clang/test/CodeGen/AArch64/sve-intrinsics/acle_sve_trn1.c
    A clang/test/CodeGen/AArch64/sve-intrinsics/acle_sve_trn2-bfloat.c
    A clang/test/CodeGen/AArch64/sve-intrinsics/acle_sve_trn2-fp64-bfloat.c
    A clang/test/CodeGen/AArch64/sve-intrinsics/acle_sve_trn2-fp64.c
    A clang/test/CodeGen/AArch64/sve-intrinsics/acle_sve_trn2.c
    A clang/test/CodeGen/AArch64/sve-intrinsics/acle_sve_tsmul.c
    A clang/test/CodeGen/AArch64/sve-intrinsics/acle_sve_tssel.c
    A clang/test/CodeGen/AArch64/sve-intrinsics/acle_sve_undef-bfloat.c
    A clang/test/CodeGen/AArch64/sve-intrinsics/acle_sve_undef.c
    A clang/test/CodeGen/AArch64/sve-intrinsics/acle_sve_undef2-bfloat.c
    A clang/test/CodeGen/AArch64/sve-intrinsics/acle_sve_undef2.c
    A clang/test/CodeGen/AArch64/sve-intrinsics/acle_sve_undef3-bfloat.c
    A clang/test/CodeGen/AArch64/sve-intrinsics/acle_sve_undef3.c
    A clang/test/CodeGen/AArch64/sve-intrinsics/acle_sve_undef4-bfloat.c
    A clang/test/CodeGen/AArch64/sve-intrinsics/acle_sve_undef4.c
    A clang/test/CodeGen/AArch64/sve-intrinsics/acle_sve_unpkhi.c
    A clang/test/CodeGen/AArch64/sve-intrinsics/acle_sve_unpklo.c
    A clang/test/CodeGen/AArch64/sve-intrinsics/acle_sve_usdot.c
    A clang/test/CodeGen/AArch64/sve-intrinsics/acle_sve_uzp1-bfloat.c
    A clang/test/CodeGen/AArch64/sve-intrinsics/acle_sve_uzp1-fp64-bfloat.c
    A clang/test/CodeGen/AArch64/sve-intrinsics/acle_sve_uzp1-fp64.c
    A clang/test/CodeGen/AArch64/sve-intrinsics/acle_sve_uzp1.c
    A clang/test/CodeGen/AArch64/sve-intrinsics/acle_sve_uzp2-bfloat.c
    A clang/test/CodeGen/AArch64/sve-intrinsics/acle_sve_uzp2-fp64-bfloat.c
    A clang/test/CodeGen/AArch64/sve-intrinsics/acle_sve_uzp2-fp64.c
    A clang/test/CodeGen/AArch64/sve-intrinsics/acle_sve_uzp2.c
    A clang/test/CodeGen/AArch64/sve-intrinsics/acle_sve_whilele.c
    A clang/test/CodeGen/AArch64/sve-intrinsics/acle_sve_whilelt.c
    A clang/test/CodeGen/AArch64/sve-intrinsics/acle_sve_wrffr.c
    A clang/test/CodeGen/AArch64/sve-intrinsics/acle_sve_zip1-bfloat.c
    A clang/test/CodeGen/AArch64/sve-intrinsics/acle_sve_zip1-fp64-bfloat.c
    A clang/test/CodeGen/AArch64/sve-intrinsics/acle_sve_zip1-fp64.c
    A clang/test/CodeGen/AArch64/sve-intrinsics/acle_sve_zip1.c
    A clang/test/CodeGen/AArch64/sve-intrinsics/acle_sve_zip2-bfloat.c
    A clang/test/CodeGen/AArch64/sve-intrinsics/acle_sve_zip2-fp64-bfloat.c
    A clang/test/CodeGen/AArch64/sve-intrinsics/acle_sve_zip2-fp64.c
    A clang/test/CodeGen/AArch64/sve-intrinsics/acle_sve_zip2.c
    A clang/test/CodeGen/AArch64/sve-vector-arith-ops.c
    A clang/test/CodeGen/AArch64/sve-vector-bits-codegen.c
    A clang/test/CodeGen/AArch64/sve-vector-bitwise-ops.c
    A clang/test/CodeGen/AArch64/sve-vector-compare-ops.c
    A clang/test/CodeGen/AArch64/sve-vector-shift-ops.c
    A clang/test/CodeGen/AArch64/sve-vector-subscript-ops.c
    A clang/test/CodeGen/AArch64/sve-vls-arith-ops.c
    A clang/test/CodeGen/AArch64/sve-vls-bitwise-ops.c
    A clang/test/CodeGen/AArch64/sve-vls-compare-ops.c
    A clang/test/CodeGen/AArch64/sve-vls-shift-ops.c
    A clang/test/CodeGen/AArch64/sve-vls-subscript-ops.c
    A clang/test/CodeGen/AArch64/sve.c
    A clang/test/CodeGen/AArch64/sve2-intrinsics/acle_sve2_aba.c
    A clang/test/CodeGen/AArch64/sve2-intrinsics/acle_sve2_abalb.c
    A clang/test/CodeGen/AArch64/sve2-intrinsics/acle_sve2_abalt.c
    A clang/test/CodeGen/AArch64/sve2-intrinsics/acle_sve2_abdlb.c
    A clang/test/CodeGen/AArch64/sve2-intrinsics/acle_sve2_abdlt.c
    A clang/test/CodeGen/AArch64/sve2-intrinsics/acle_sve2_adalp.c
    A clang/test/CodeGen/AArch64/sve2-intrinsics/acle_sve2_adclb.c
    A clang/test/CodeGen/AArch64/sve2-intrinsics/acle_sve2_adclt.c
    A clang/test/CodeGen/AArch64/sve2-intrinsics/acle_sve2_addhnb.c
    A clang/test/CodeGen/AArch64/sve2-intrinsics/acle_sve2_addhnt.c
    A clang/test/CodeGen/AArch64/sve2-intrinsics/acle_sve2_addlb.c
    A clang/test/CodeGen/AArch64/sve2-intrinsics/acle_sve2_addlbt.c
    A clang/test/CodeGen/AArch64/sve2-intrinsics/acle_sve2_addlt.c
    A clang/test/CodeGen/AArch64/sve2-intrinsics/acle_sve2_addp.c
    A clang/test/CodeGen/AArch64/sve2-intrinsics/acle_sve2_addwb.c
    A clang/test/CodeGen/AArch64/sve2-intrinsics/acle_sve2_addwt.c
    A clang/test/CodeGen/AArch64/sve2-intrinsics/acle_sve2_aesd.c
    A clang/test/CodeGen/AArch64/sve2-intrinsics/acle_sve2_aese.c
    A clang/test/CodeGen/AArch64/sve2-intrinsics/acle_sve2_aesimc.c
    A clang/test/CodeGen/AArch64/sve2-intrinsics/acle_sve2_aesmc.c
    A clang/test/CodeGen/AArch64/sve2-intrinsics/acle_sve2_bcax.c
    A clang/test/CodeGen/AArch64/sve2-intrinsics/acle_sve2_bdep.c
    A clang/test/CodeGen/AArch64/sve2-intrinsics/acle_sve2_bext.c
    A clang/test/CodeGen/AArch64/sve2-intrinsics/acle_sve2_bgrp.c
    A clang/test/CodeGen/AArch64/sve2-intrinsics/acle_sve2_bsl.c
    A clang/test/CodeGen/AArch64/sve2-intrinsics/acle_sve2_bsl1n.c
    A clang/test/CodeGen/AArch64/sve2-intrinsics/acle_sve2_bsl2n.c
    A clang/test/CodeGen/AArch64/sve2-intrinsics/acle_sve2_cadd.c
    A clang/test/CodeGen/AArch64/sve2-intrinsics/acle_sve2_cdot.c
    A clang/test/CodeGen/AArch64/sve2-intrinsics/acle_sve2_cmla.c
    A clang/test/CodeGen/AArch64/sve2-intrinsics/acle_sve2_cvtlt.c
    A clang/test/CodeGen/AArch64/sve2-intrinsics/acle_sve2_cvtnt.c
    A clang/test/CodeGen/AArch64/sve2-intrinsics/acle_sve2_cvtx.c
    A clang/test/CodeGen/AArch64/sve2-intrinsics/acle_sve2_cvtxnt.c
    A clang/test/CodeGen/AArch64/sve2-intrinsics/acle_sve2_eor3.c
    A clang/test/CodeGen/AArch64/sve2-intrinsics/acle_sve2_eorbt.c
    A clang/test/CodeGen/AArch64/sve2-intrinsics/acle_sve2_eortb.c
    A clang/test/CodeGen/AArch64/sve2-intrinsics/acle_sve2_faminmax.c
    A clang/test/CodeGen/AArch64/sve2-intrinsics/acle_sve2_hadd.c
    A clang/test/CodeGen/AArch64/sve2-intrinsics/acle_sve2_histcnt.c
    A clang/test/CodeGen/AArch64/sve2-intrinsics/acle_sve2_histseg.c
    A clang/test/CodeGen/AArch64/sve2-intrinsics/acle_sve2_hsub.c
    A clang/test/CodeGen/AArch64/sve2-intrinsics/acle_sve2_hsubr.c
    A clang/test/CodeGen/AArch64/sve2-intrinsics/acle_sve2_ldnt1.c
    A clang/test/CodeGen/AArch64/sve2-intrinsics/acle_sve2_ldnt1sb.c
    A clang/test/CodeGen/AArch64/sve2-intrinsics/acle_sve2_ldnt1sh.c
    A clang/test/CodeGen/AArch64/sve2-intrinsics/acle_sve2_ldnt1sw.c
    A clang/test/CodeGen/AArch64/sve2-intrinsics/acle_sve2_ldnt1ub.c
    A clang/test/CodeGen/AArch64/sve2-intrinsics/acle_sve2_ldnt1uh.c
    A clang/test/CodeGen/AArch64/sve2-intrinsics/acle_sve2_ldnt1uw.c
    A clang/test/CodeGen/AArch64/sve2-intrinsics/acle_sve2_logb.c
    A clang/test/CodeGen/AArch64/sve2-intrinsics/acle_sve2_luti.c
    A clang/test/CodeGen/AArch64/sve2-intrinsics/acle_sve2_match.c
    A clang/test/CodeGen/AArch64/sve2-intrinsics/acle_sve2_maxnmp.c
    A clang/test/CodeGen/AArch64/sve2-intrinsics/acle_sve2_maxp.c
    A clang/test/CodeGen/AArch64/sve2-intrinsics/acle_sve2_minnmp.c
    A clang/test/CodeGen/AArch64/sve2-intrinsics/acle_sve2_minp.c
    A clang/test/CodeGen/AArch64/sve2-intrinsics/acle_sve2_mla.c
    A clang/test/CodeGen/AArch64/sve2-intrinsics/acle_sve2_mlalb.c
    A clang/test/CodeGen/AArch64/sve2-intrinsics/acle_sve2_mlalt.c
    A clang/test/CodeGen/AArch64/sve2-intrinsics/acle_sve2_mls.c
    A clang/test/CodeGen/AArch64/sve2-intrinsics/acle_sve2_mlslb.c
    A clang/test/CodeGen/AArch64/sve2-intrinsics/acle_sve2_mlslt.c
    A clang/test/CodeGen/AArch64/sve2-intrinsics/acle_sve2_movlb.c
    A clang/test/CodeGen/AArch64/sve2-intrinsics/acle_sve2_movlt.c
    A clang/test/CodeGen/AArch64/sve2-intrinsics/acle_sve2_mul.c
    A clang/test/CodeGen/AArch64/sve2-intrinsics/acle_sve2_mullb.c
    A clang/test/CodeGen/AArch64/sve2-intrinsics/acle_sve2_mullt.c
    A clang/test/CodeGen/AArch64/sve2-intrinsics/acle_sve2_nbsl.c
    A clang/test/CodeGen/AArch64/sve2-intrinsics/acle_sve2_nmatch.c
    A clang/test/CodeGen/AArch64/sve2-intrinsics/acle_sve2_pmul.c
    A clang/test/CodeGen/AArch64/sve2-intrinsics/acle_sve2_pmullb.c
    A clang/test/CodeGen/AArch64/sve2-intrinsics/acle_sve2_pmullb_128.c
    A clang/test/CodeGen/AArch64/sve2-intrinsics/acle_sve2_pmullt.c
    A clang/test/CodeGen/AArch64/sve2-intrinsics/acle_sve2_pmullt_128.c
    A clang/test/CodeGen/AArch64/sve2-intrinsics/acle_sve2_qabs.c
    A clang/test/CodeGen/AArch64/sve2-intrinsics/acle_sve2_qadd.c
    A clang/test/CodeGen/AArch64/sve2-intrinsics/acle_sve2_qcadd.c
    A clang/test/CodeGen/AArch64/sve2-intrinsics/acle_sve2_qdmlalb.c
    A clang/test/CodeGen/AArch64/sve2-intrinsics/acle_sve2_qdmlalbt.c
    A clang/test/CodeGen/AArch64/sve2-intrinsics/acle_sve2_qdmlalt.c
    A clang/test/CodeGen/AArch64/sve2-intrinsics/acle_sve2_qdmlslb.c
    A clang/test/CodeGen/AArch64/sve2-intrinsics/acle_sve2_qdmlslbt.c
    A clang/test/CodeGen/AArch64/sve2-intrinsics/acle_sve2_qdmlslt.c
    A clang/test/CodeGen/AArch64/sve2-intrinsics/acle_sve2_qdmulh.c
    A clang/test/CodeGen/AArch64/sve2-intrinsics/acle_sve2_qdmullb.c
    A clang/test/CodeGen/AArch64/sve2-intrinsics/acle_sve2_qdmullt.c
    A clang/test/CodeGen/AArch64/sve2-intrinsics/acle_sve2_qneg.c
    A clang/test/CodeGen/AArch64/sve2-intrinsics/acle_sve2_qrdcmlah.c
    A clang/test/CodeGen/AArch64/sve2-intrinsics/acle_sve2_qrdmlah.c
    A clang/test/CodeGen/AArch64/sve2-intrinsics/acle_sve2_qrdmlsh.c
    A clang/test/CodeGen/AArch64/sve2-intrinsics/acle_sve2_qrdmulh.c
    A clang/test/CodeGen/AArch64/sve2-intrinsics/acle_sve2_qrshl.c
    A clang/test/CodeGen/AArch64/sve2-intrinsics/acle_sve2_qrshrnb.c
    A clang/test/CodeGen/AArch64/sve2-intrinsics/acle_sve2_qrshrnt.c
    A clang/test/CodeGen/AArch64/sve2-intrinsics/acle_sve2_qrshrunb.c
    A clang/test/CodeGen/AArch64/sve2-intrinsics/acle_sve2_qrshrunt.c
    A clang/test/CodeGen/AArch64/sve2-intrinsics/acle_sve2_qshl.c
    A clang/test/CodeGen/AArch64/sve2-intrinsics/acle_sve2_qshlu.c
    A clang/test/CodeGen/AArch64/sve2-intrinsics/acle_sve2_qshrnb.c
    A clang/test/CodeGen/AArch64/sve2-intrinsics/acle_sve2_qshrnt.c
    A clang/test/CodeGen/AArch64/sve2-intrinsics/acle_sve2_qshrunb.c
    A clang/test/CodeGen/AArch64/sve2-intrinsics/acle_sve2_qshrunt.c
    A clang/test/CodeGen/AArch64/sve2-intrinsics/acle_sve2_qsub.c
    A clang/test/CodeGen/AArch64/sve2-intrinsics/acle_sve2_qsubr.c
    A clang/test/CodeGen/AArch64/sve2-intrinsics/acle_sve2_qxtnb.c
    A clang/test/CodeGen/AArch64/sve2-intrinsics/acle_sve2_qxtnt.c
    A clang/test/CodeGen/AArch64/sve2-intrinsics/acle_sve2_qxtunb.c
    A clang/test/CodeGen/AArch64/sve2-intrinsics/acle_sve2_qxtunt.c
    A clang/test/CodeGen/AArch64/sve2-intrinsics/acle_sve2_raddhnb.c
    A clang/test/CodeGen/AArch64/sve2-intrinsics/acle_sve2_raddhnt.c
    A clang/test/CodeGen/AArch64/sve2-intrinsics/acle_sve2_rax1.c
    A clang/test/CodeGen/AArch64/sve2-intrinsics/acle_sve2_recpe.c
    A clang/test/CodeGen/AArch64/sve2-intrinsics/acle_sve2_revd.c
    A clang/test/CodeGen/AArch64/sve2-intrinsics/acle_sve2_rhadd.c
    A clang/test/CodeGen/AArch64/sve2-intrinsics/acle_sve2_rshl.c
    A clang/test/CodeGen/AArch64/sve2-intrinsics/acle_sve2_rshr.c
    A clang/test/CodeGen/AArch64/sve2-intrinsics/acle_sve2_rshrnb.c
    A clang/test/CodeGen/AArch64/sve2-intrinsics/acle_sve2_rshrnt.c
    A clang/test/CodeGen/AArch64/sve2-intrinsics/acle_sve2_rsqrte.c
    A clang/test/CodeGen/AArch64/sve2-intrinsics/acle_sve2_rsra.c
    A clang/test/CodeGen/AArch64/sve2-intrinsics/acle_sve2_rsubhnb.c
    A clang/test/CodeGen/AArch64/sve2-intrinsics/acle_sve2_rsubhnt.c
    A clang/test/CodeGen/AArch64/sve2-intrinsics/acle_sve2_sbclb.c
    A clang/test/CodeGen/AArch64/sve2-intrinsics/acle_sve2_sbclt.c
    A clang/test/CodeGen/AArch64/sve2-intrinsics/acle_sve2_shllb.c
    A clang/test/CodeGen/AArch64/sve2-intrinsics/acle_sve2_shllt.c
    A clang/test/CodeGen/AArch64/sve2-intrinsics/acle_sve2_shrnb.c
    A clang/test/CodeGen/AArch64/sve2-intrinsics/acle_sve2_shrnt.c
    A clang/test/CodeGen/AArch64/sve2-intrinsics/acle_sve2_sli.c
    A clang/test/CodeGen/AArch64/sve2-intrinsics/acle_sve2_sm4e.c
    A clang/test/CodeGen/AArch64/sve2-intrinsics/acle_sve2_sm4ekey.c
    A clang/test/CodeGen/AArch64/sve2-intrinsics/acle_sve2_sqadd.c
    A clang/test/CodeGen/AArch64/sve2-intrinsics/acle_sve2_sra.c
    A clang/test/CodeGen/AArch64/sve2-intrinsics/acle_sve2_sri.c
    A clang/test/CodeGen/AArch64/sve2-intrinsics/acle_sve2_stnt1.c
    A clang/test/CodeGen/AArch64/sve2-intrinsics/acle_sve2_stnt1b.c
    A clang/test/CodeGen/AArch64/sve2-intrinsics/acle_sve2_stnt1h.c
    A clang/test/CodeGen/AArch64/sve2-intrinsics/acle_sve2_stnt1w.c
    A clang/test/CodeGen/AArch64/sve2-intrinsics/acle_sve2_subhnb.c
    A clang/test/CodeGen/AArch64/sve2-intrinsics/acle_sve2_subhnt.c
    A clang/test/CodeGen/AArch64/sve2-intrinsics/acle_sve2_sublb.c
    A clang/test/CodeGen/AArch64/sve2-intrinsics/acle_sve2_sublbt.c
    A clang/test/CodeGen/AArch64/sve2-intrinsics/acle_sve2_sublt.c
    A clang/test/CodeGen/AArch64/sve2-intrinsics/acle_sve2_subltb.c
    A clang/test/CodeGen/AArch64/sve2-intrinsics/acle_sve2_subwb.c
    A clang/test/CodeGen/AArch64/sve2-intrinsics/acle_sve2_subwt.c
    A clang/test/CodeGen/AArch64/sve2-intrinsics/acle_sve2_tbl2-bfloat.c
    A clang/test/CodeGen/AArch64/sve2-intrinsics/acle_sve2_tbl2.c
    A clang/test/CodeGen/AArch64/sve2-intrinsics/acle_sve2_tbx-bfloat.c
    A clang/test/CodeGen/AArch64/sve2-intrinsics/acle_sve2_tbx.c
    A clang/test/CodeGen/AArch64/sve2-intrinsics/acle_sve2_uqadd.c
    A clang/test/CodeGen/AArch64/sve2-intrinsics/acle_sve2_whilege.c
    A clang/test/CodeGen/AArch64/sve2-intrinsics/acle_sve2_whilegt.c
    A clang/test/CodeGen/AArch64/sve2-intrinsics/acle_sve2_whilerw-bfloat.c
    A clang/test/CodeGen/AArch64/sve2-intrinsics/acle_sve2_whilerw.c
    A clang/test/CodeGen/AArch64/sve2-intrinsics/acle_sve2_whilewr-bfloat.c
    A clang/test/CodeGen/AArch64/sve2-intrinsics/acle_sve2_whilewr.c
    A clang/test/CodeGen/AArch64/sve2-intrinsics/acle_sve2_xar.c
    A clang/test/CodeGen/AArch64/sve2p1-intrinsics/acle_sve2p1_bfadd.c
    A clang/test/CodeGen/AArch64/sve2p1-intrinsics/acle_sve2p1_bfclamp.c
    A clang/test/CodeGen/AArch64/sve2p1-intrinsics/acle_sve2p1_bfmax.c
    A clang/test/CodeGen/AArch64/sve2p1-intrinsics/acle_sve2p1_bfmaxnm.c
    A clang/test/CodeGen/AArch64/sve2p1-intrinsics/acle_sve2p1_bfmin.c
    A clang/test/CodeGen/AArch64/sve2p1-intrinsics/acle_sve2p1_bfminnm.c
    A clang/test/CodeGen/AArch64/sve2p1-intrinsics/acle_sve2p1_bfmla.c
    A clang/test/CodeGen/AArch64/sve2p1-intrinsics/acle_sve2p1_bfmla_lane.c
    A clang/test/CodeGen/AArch64/sve2p1-intrinsics/acle_sve2p1_bfmls.c
    A clang/test/CodeGen/AArch64/sve2p1-intrinsics/acle_sve2p1_bfmls_lane.c
    A clang/test/CodeGen/AArch64/sve2p1-intrinsics/acle_sve2p1_bfmlsl.c
    A clang/test/CodeGen/AArch64/sve2p1-intrinsics/acle_sve2p1_bfmul.c
    A clang/test/CodeGen/AArch64/sve2p1-intrinsics/acle_sve2p1_bfmul_lane.c
    A clang/test/CodeGen/AArch64/sve2p1-intrinsics/acle_sve2p1_bfsub.c
    A clang/test/CodeGen/AArch64/sve2p1-intrinsics/acle_sve2p1_cntp.c
    A clang/test/CodeGen/AArch64/sve2p1-intrinsics/acle_sve2p1_create2_bool.c
    A clang/test/CodeGen/AArch64/sve2p1-intrinsics/acle_sve2p1_create4_bool.c
    A clang/test/CodeGen/AArch64/sve2p1-intrinsics/acle_sve2p1_dot.c
    A clang/test/CodeGen/AArch64/sve2p1-intrinsics/acle_sve2p1_dupq.c
    A clang/test/CodeGen/AArch64/sve2p1-intrinsics/acle_sve2p1_extq.c
    A clang/test/CodeGen/AArch64/sve2p1-intrinsics/acle_sve2p1_fclamp.c
    A clang/test/CodeGen/AArch64/sve2p1-intrinsics/acle_sve2p1_fp_reduce.c
    A clang/test/CodeGen/AArch64/sve2p1-intrinsics/acle_sve2p1_get2_bool.c
    A clang/test/CodeGen/AArch64/sve2p1-intrinsics/acle_sve2p1_get4_bool.c
    A clang/test/CodeGen/AArch64/sve2p1-intrinsics/acle_sve2p1_int_reduce.c
    A clang/test/CodeGen/AArch64/sve2p1-intrinsics/acle_sve2p1_ld1.c
    A clang/test/CodeGen/AArch64/sve2p1-intrinsics/acle_sve2p1_ld1_single.c
    A clang/test/CodeGen/AArch64/sve2p1-intrinsics/acle_sve2p1_ldnt1.c
    A clang/test/CodeGen/AArch64/sve2p1-intrinsics/acle_sve2p1_loads.c
    A clang/test/CodeGen/AArch64/sve2p1-intrinsics/acle_sve2p1_pext.c
    A clang/test/CodeGen/AArch64/sve2p1-intrinsics/acle_sve2p1_pfalse.c
    A clang/test/CodeGen/AArch64/sve2p1-intrinsics/acle_sve2p1_pmov_to_pred.c
    A clang/test/CodeGen/AArch64/sve2p1-intrinsics/acle_sve2p1_pmov_to_vector.c
    A clang/test/CodeGen/AArch64/sve2p1-intrinsics/acle_sve2p1_psel.c
    A clang/test/CodeGen/AArch64/sve2p1-intrinsics/acle_sve2p1_psel_svcount.c
    A clang/test/CodeGen/AArch64/sve2p1-intrinsics/acle_sve2p1_ptrue.c
    A clang/test/CodeGen/AArch64/sve2p1-intrinsics/acle_sve2p1_qcvtn.c
    A clang/test/CodeGen/AArch64/sve2p1-intrinsics/acle_sve2p1_qrshr.c
    A clang/test/CodeGen/AArch64/sve2p1-intrinsics/acle_sve2p1_sclamp.c
    A clang/test/CodeGen/AArch64/sve2p1-intrinsics/acle_sve2p1_set2_bool.c
    A clang/test/CodeGen/AArch64/sve2p1-intrinsics/acle_sve2p1_set4_bool.c
    A clang/test/CodeGen/AArch64/sve2p1-intrinsics/acle_sve2p1_st1.c
    A clang/test/CodeGen/AArch64/sve2p1-intrinsics/acle_sve2p1_st1_single.c
    A clang/test/CodeGen/AArch64/sve2p1-intrinsics/acle_sve2p1_stnt1.c
    A clang/test/CodeGen/AArch64/sve2p1-intrinsics/acle_sve2p1_store.c
    A clang/test/CodeGen/AArch64/sve2p1-intrinsics/acle_sve2p1_tblq.c
    A clang/test/CodeGen/AArch64/sve2p1-intrinsics/acle_sve2p1_tbxq.c
    A clang/test/CodeGen/AArch64/sve2p1-intrinsics/acle_sve2p1_uclamp.c
    A clang/test/CodeGen/AArch64/sve2p1-intrinsics/acle_sve2p1_undef_bool.c
    A clang/test/CodeGen/AArch64/sve2p1-intrinsics/acle_sve2p1_uzpq1.c
    A clang/test/CodeGen/AArch64/sve2p1-intrinsics/acle_sve2p1_uzpq2.c
    A clang/test/CodeGen/AArch64/sve2p1-intrinsics/acle_sve2p1_while_pn.c
    A clang/test/CodeGen/AArch64/sve2p1-intrinsics/acle_sve2p1_while_x2.c
    A clang/test/CodeGen/AArch64/sve2p1-intrinsics/acle_sve2p1_zipq1.c
    A clang/test/CodeGen/AArch64/sve2p1-intrinsics/acle_sve2p1_zipq2.c
    A clang/test/CodeGen/AArch64/svepcs.c
    A clang/test/CodeGen/AArch64/sysregs-target.c
    A clang/test/CodeGen/AArch64/targetattr-arch.c
    A clang/test/CodeGen/AArch64/targetattr-crypto.c
    A clang/test/CodeGen/AArch64/targetattr.c
    A clang/test/CodeGen/AArch64/tme.cpp
    A clang/test/CodeGen/AArch64/type-sizes.c
    A clang/test/CodeGen/AArch64/v8.1a-neon-intrinsics.c
    A clang/test/CodeGen/AArch64/v8.2a-fp16-intrinsics-constrained.c
    A clang/test/CodeGen/AArch64/v8.2a-fp16-intrinsics.c
    A clang/test/CodeGen/AArch64/v8.2a-neon-intrinsics-constrained.c
    A clang/test/CodeGen/AArch64/v8.2a-neon-intrinsics-generic.c
    A clang/test/CodeGen/AArch64/v8.2a-neon-intrinsics.c
    A clang/test/CodeGen/AArch64/v8.5a-neon-frint3264-intrinsic.c
    A clang/test/CodeGen/AArch64/v8.5a-scalar-frint3264-intrinsic.c
    A clang/test/CodeGen/AArch64/v8.6a-neon-intrinsics.c
    A clang/test/CodeGen/AArch64/varargs-ms.c
    A clang/test/CodeGen/AArch64/varargs-sve.c
    A clang/test/CodeGen/AArch64/varargs.c
    A clang/test/CodeGen/AArch64/vpcs.c
    M clang/test/CodeGen/PowerPC/altivec.c
    M clang/test/CodeGen/PowerPC/builtins-ppc-altivec.c
    M clang/test/CodeGen/PowerPC/builtins-ppc-fastmath.c
    M clang/test/CodeGen/PowerPC/builtins-ppc-p10vector.c
    M clang/test/CodeGen/PowerPC/builtins-ppc-p8vector.c
    M clang/test/CodeGen/PowerPC/builtins-ppc-pair-mma.c
    M clang/test/CodeGen/PowerPC/builtins-ppc-quadword.c
    M clang/test/CodeGen/PowerPC/builtins-ppc-vsx.c
    M clang/test/CodeGen/PowerPC/builtins-ppc-xlcompat.c
    M clang/test/CodeGen/PowerPC/musttail-forward-declaration-inline.c
    M clang/test/CodeGen/PowerPC/musttail-forward-declaration-weak.c
    M clang/test/CodeGen/PowerPC/musttail-indirect.cpp
    M clang/test/CodeGen/PowerPC/musttail-inline.c
    M clang/test/CodeGen/PowerPC/musttail-undefined.c
    M clang/test/CodeGen/PowerPC/musttail-weak.c
    M clang/test/CodeGen/PowerPC/musttail.c
    M clang/test/CodeGen/PowerPC/ppc-emmintrin.c
    M clang/test/CodeGen/PowerPC/ppc-xmmintrin.c
    M clang/test/CodeGen/PowerPC/vector-bool-pixel-altivec-init-no-parentheses.c
    M clang/test/CodeGen/PowerPC/vector-bool-pixel-altivec-init.c
    A clang/test/CodeGen/RISCV/attr-hw-shadow-stack.c
    M clang/test/CodeGen/RISCV/attr-rvv-vector-bits-bitcast.c
    M clang/test/CodeGen/RISCV/attr-rvv-vector-bits-cast.c
    M clang/test/CodeGen/RISCV/attr-rvv-vector-bits-codegen.c
    M clang/test/CodeGen/RISCV/attr-rvv-vector-bits-globals.c
    A clang/test/CodeGen/RISCV/builtin-cpu-is-error.c
    A clang/test/CodeGen/RISCV/builtin-cpu-is.c
    M clang/test/CodeGen/RISCV/riscv-func-attr-target.c
    M clang/test/CodeGen/RISCV/riscv-inline-asm.c
    M clang/test/CodeGen/RISCV/rvv-vls-arith-ops.c
    M clang/test/CodeGen/RISCV/rvv-vls-bitwise-ops.c
    M clang/test/CodeGen/RISCV/rvv-vls-compare-ops.c
    M clang/test/CodeGen/RISCV/rvv-vls-shift-ops.c
    A clang/test/CodeGen/SystemZ/builtin-setjmp-logjmp.c
    M clang/test/CodeGen/SystemZ/builtins-systemz-zvector-constrained.c
    M clang/test/CodeGen/SystemZ/builtins-systemz-zvector.c
    M clang/test/CodeGen/SystemZ/systemz-inline-asm.c
    M clang/test/CodeGen/SystemZ/zos-mixed-ptr-sizes-malloc.c
    M clang/test/CodeGen/SystemZ/zos-mixed-ptr-sizes.c
    M clang/test/CodeGen/SystemZ/zvector.c
    M clang/test/CodeGen/SystemZ/zvector2.c
    A clang/test/CodeGen/X86/amx_avx512_api.c
    A clang/test/CodeGen/X86/amx_fp8.c
    A clang/test/CodeGen/X86/amx_fp8_api.c
    A clang/test/CodeGen/X86/amx_fp8_errors.c
    A clang/test/CodeGen/X86/amx_fp8_inline_asm.c
    A clang/test/CodeGen/X86/amx_movrs.c
    A clang/test/CodeGen/X86/amx_movrs_api.c
    A clang/test/CodeGen/X86/amx_movrs_errors.c
    A clang/test/CodeGen/X86/amx_movrs_tranpose.c
    A clang/test/CodeGen/X86/amx_movrs_tranpose_api.c
    A clang/test/CodeGen/X86/amx_movrs_transpose_errors.c
    A clang/test/CodeGen/X86/amx_tf32.c
    A clang/test/CodeGen/X86/amx_tf32_api.c
    A clang/test/CodeGen/X86/amx_tf32_errors.c
    A clang/test/CodeGen/X86/amx_tf32_inline_asm.c
    A clang/test/CodeGen/X86/amx_transpose.c
    A clang/test/CodeGen/X86/amx_transpose_api.c
    A clang/test/CodeGen/X86/amx_transpose_errors.c
    A clang/test/CodeGen/X86/amxavx512-builtins.c
    M clang/test/CodeGen/X86/avx-builtins.c
    M clang/test/CodeGen/X86/avx-cmp-builtins.c
    M clang/test/CodeGen/X86/avx-shuffle-builtins.c
    M clang/test/CodeGen/X86/avx10_2bf16-builtins.c
    M clang/test/CodeGen/X86/avx2-builtins.c
    M clang/test/CodeGen/X86/avx512bw-builtins.c
    M clang/test/CodeGen/X86/avx512dq-builtins.c
    M clang/test/CodeGen/X86/avx512f-builtins.c
    M clang/test/CodeGen/X86/avx512vbmi2-builtins.c
    M clang/test/CodeGen/X86/avx512vl-builtins.c
    M clang/test/CodeGen/X86/avx512vldq-builtins.c
    M clang/test/CodeGen/X86/avx512vlvbmi2-builtins.c
    M clang/test/CodeGen/X86/avx512vpopcntdq-builtins.c
    M clang/test/CodeGen/X86/avx512vpopcntdqvl-builtins.c
    A clang/test/CodeGen/X86/builtin_test_helpers.h
    M clang/test/CodeGen/X86/cmpccxadd-builtins-error.c
    M clang/test/CodeGen/X86/cx-complex-range.c
    M clang/test/CodeGen/X86/math-builtins.c
    M clang/test/CodeGen/X86/mmx-builtins.c
    A clang/test/CodeGen/X86/movrs-avx10.2-512-builtins-error-32.c
    A clang/test/CodeGen/X86/movrs-avx10.2-512-builtins.c
    A clang/test/CodeGen/X86/movrs-avx10.2-builtins-error-32.c
    A clang/test/CodeGen/X86/movrs-avx10.2-builtins.c
    A clang/test/CodeGen/X86/movrs-builtins.c
    M clang/test/CodeGen/X86/ms-x86-intrinsics.c
    A clang/test/CodeGen/X86/sm4-evex-builtins.c
    M clang/test/CodeGen/X86/sse-builtins.c
    M clang/test/CodeGen/X86/sse.c
    M clang/test/CodeGen/X86/sse2-builtins.c
    M clang/test/CodeGen/X86/sse3-builtins.c
    M clang/test/CodeGen/X86/sse41-builtins.c
    M clang/test/CodeGen/X86/x86_64-PR42672.c
    M clang/test/CodeGen/X86/xop-builtins-cmp.c
    M clang/test/CodeGen/X86/xop-builtins.c
    R clang/test/CodeGen/aarch64-ABI-align-packed-assembly.c
    R clang/test/CodeGen/aarch64-ABI-align-packed.c
    R clang/test/CodeGen/aarch64-args-hfa.c
    R clang/test/CodeGen/aarch64-args.cpp
    R clang/test/CodeGen/aarch64-arguments-hfa-v3.c
    R clang/test/CodeGen/aarch64-attr-mode-complex.c
    R clang/test/CodeGen/aarch64-attr-mode-float.c
    R clang/test/CodeGen/aarch64-bf16-dotprod-intrinsics.c
    R clang/test/CodeGen/aarch64-bf16-getset-intrinsics.c
    R clang/test/CodeGen/aarch64-bf16-lane-intrinsics.c
    R clang/test/CodeGen/aarch64-bf16-ldst-intrinsics.c
    R clang/test/CodeGen/aarch64-bf16-reinterpret-intrinsics.c
    R clang/test/CodeGen/aarch64-branch-protection-attr.c
    R clang/test/CodeGen/aarch64-byval-temp.c
    R clang/test/CodeGen/aarch64-cpu-supports-target.c
    R clang/test/CodeGen/aarch64-cpu-supports.c
    R clang/test/CodeGen/aarch64-debug-sve-vector-types.c
    R clang/test/CodeGen/aarch64-debug-sve-vectorx2-types.c
    R clang/test/CodeGen/aarch64-debug-sve-vectorx3-types.c
    R clang/test/CodeGen/aarch64-debug-sve-vectorx4-types.c
    R clang/test/CodeGen/aarch64-elf-pauthabi.c
    R clang/test/CodeGen/aarch64-fix-cortex-a53-835769.c
    R clang/test/CodeGen/aarch64-fmv-dependencies.c
    R clang/test/CodeGen/aarch64-fmv-resolver-emission.c
    R clang/test/CodeGen/aarch64-fmv-streaming.c
    R clang/test/CodeGen/aarch64-fp8-intrinsics/acle_sme2_fp8_scale.c
    R clang/test/CodeGen/aarch64-gcs.c
    R clang/test/CodeGen/aarch64-inline-asm.c
    R clang/test/CodeGen/aarch64-inlineasm-ios.c
    R clang/test/CodeGen/aarch64-ls64-inline-asm.c
    R clang/test/CodeGen/aarch64-ls64.c
    R clang/test/CodeGen/aarch64-matmul.cpp
    R clang/test/CodeGen/aarch64-mixed-target-attributes.c
    R clang/test/CodeGen/aarch64-mops.c
    R clang/test/CodeGen/aarch64-neon-2velem.c
    R clang/test/CodeGen/aarch64-neon-3v.c
    R clang/test/CodeGen/aarch64-neon-across.c
    R clang/test/CodeGen/aarch64-neon-dot-product.c
    R clang/test/CodeGen/aarch64-neon-extract.c
    R clang/test/CodeGen/aarch64-neon-faminmax-intrinsics.c
    R clang/test/CodeGen/aarch64-neon-fcvt-intrinsics.c
    R clang/test/CodeGen/aarch64-neon-fma.c
    R clang/test/CodeGen/aarch64-neon-fp16fml.c
    R clang/test/CodeGen/aarch64-neon-fp8-intrinsics/acle_neon_fscale.c
    R clang/test/CodeGen/aarch64-neon-intrinsics-constrained.c
    R clang/test/CodeGen/aarch64-neon-intrinsics.c
    R clang/test/CodeGen/aarch64-neon-ldst-one-rcpc3.c
    R clang/test/CodeGen/aarch64-neon-ldst-one.c
    R clang/test/CodeGen/aarch64-neon-luti.c
    R clang/test/CodeGen/aarch64-neon-misc-constrained.c
    R clang/test/CodeGen/aarch64-neon-misc.c
    R clang/test/CodeGen/aarch64-neon-perm.c
    R clang/test/CodeGen/aarch64-neon-range-checks.c
    R clang/test/CodeGen/aarch64-neon-scalar-copy.c
    R clang/test/CodeGen/aarch64-neon-scalar-x-indexed-elem-constrained.c
    R clang/test/CodeGen/aarch64-neon-scalar-x-indexed-elem.c
    R clang/test/CodeGen/aarch64-neon-sha3.c
    R clang/test/CodeGen/aarch64-neon-shifts.c
    R clang/test/CodeGen/aarch64-neon-sm4-sm3.c
    R clang/test/CodeGen/aarch64-neon-tbl.c
    R clang/test/CodeGen/aarch64-neon-vcadd.c
    R clang/test/CodeGen/aarch64-neon-vcmla.c
    R clang/test/CodeGen/aarch64-neon-vcombine.c
    R clang/test/CodeGen/aarch64-neon-vget-hilo.c
    R clang/test/CodeGen/aarch64-neon-vget.c
    R clang/test/CodeGen/aarch64-neon-vsqadd-float-conversion.c
    R clang/test/CodeGen/aarch64-neon-vuqadd-float-conversion-warning.c
    R clang/test/CodeGen/aarch64-poly-add.c
    R clang/test/CodeGen/aarch64-poly128.c
    R clang/test/CodeGen/aarch64-poly64.c
    R clang/test/CodeGen/aarch64-sign-return-address.c
    R clang/test/CodeGen/aarch64-sme-inline-streaming-attrs.c
    R clang/test/CodeGen/aarch64-sme-intrinsics/aarch64-sme-attrs.cpp
    R clang/test/CodeGen/aarch64-sme-intrinsics/acle_sme_add-i32.c
    R clang/test/CodeGen/aarch64-sme-intrinsics/acle_sme_add-i64.c
    R clang/test/CodeGen/aarch64-sme-intrinsics/acle_sme_cnt.c
    R clang/test/CodeGen/aarch64-sme-intrinsics/acle_sme_ld1.c
    R clang/test/CodeGen/aarch64-sme-intrinsics/acle_sme_ld1_vnum.c
    R clang/test/CodeGen/aarch64-sme-intrinsics/acle_sme_ldr.c
    R clang/test/CodeGen/aarch64-sme-intrinsics/acle_sme_mopa-za32.c
    R clang/test/CodeGen/aarch64-sme-intrinsics/acle_sme_mopa-za64.c
    R clang/test/CodeGen/aarch64-sme-intrinsics/acle_sme_mops-za32.c
    R clang/test/CodeGen/aarch64-sme-intrinsics/acle_sme_mops-za64.c
    R clang/test/CodeGen/aarch64-sme-intrinsics/acle_sme_read.c
    R clang/test/CodeGen/aarch64-sme-intrinsics/acle_sme_st1.c
    R clang/test/CodeGen/aarch64-sme-intrinsics/acle_sme_st1_vnum.c
    R clang/test/CodeGen/aarch64-sme-intrinsics/acle_sme_state_builtin.c
    R clang/test/CodeGen/aarch64-sme-intrinsics/acle_sme_state_funs.c
    R clang/test/CodeGen/aarch64-sme-intrinsics/acle_sme_str.c
    R clang/test/CodeGen/aarch64-sme-intrinsics/acle_sme_write.c
    R clang/test/CodeGen/aarch64-sme-intrinsics/acle_sme_zero.c
    R clang/test/CodeGen/aarch64-sme2-intrinsics/aarch64-sme2-attrs.cpp
    R clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_add.c
    R clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_add_sub_za16.c
    R clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_bmop.c
    R clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_clamp.c
    R clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_cvt.c
    R clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_cvtl.c
    R clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_cvtn.c
    R clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_faminmax.c
    R clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_fmlas16.c
    R clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_fp_dots.c
    R clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_frint.c
    R clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_int_dots.c
    R clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_ldr_str_zt.c
    R clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_luti2_lane_zt.c
    R clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_luti2_lane_zt_x2.c
    R clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_luti2_lane_zt_x4.c
    R clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_luti4_lane_zt.c
    R clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_luti4_lane_zt_x2.c
    R clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_luti4_lane_zt_x4.c
    R clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_luti4_zt.c
    R clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_max.c
    R clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_maxnm.c
    R clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_min.c
    R clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_minnm.c
    R clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_mla.c
    R clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_mlal.c
    R clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_mlall.c
    R clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_mls.c
    R clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_mlsl.c
    R clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_mop.c
    R clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_mopa_nonwide.c
    R clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_read.c
    R clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_reinterpret_svcount_svbool.c
    R clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_sqdmulh.c
    R clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_sub.c
    R clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_unpkx2.c
    R clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_unpkx4.c
    R clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_vdot.c
    R clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_vector_add.c
    R clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_vector_qrshr.c
    R clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_vector_rshl.c
    R clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_vector_selx2.c
    R clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_vector_selx4.c
    R clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_vector_uzpx2.c
    R clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_vector_uzpx4.c
    R clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_vector_zipx2.c
    R clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_vector_zipx4.c
    R clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_write.c
    R clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_write_lane_zt.c
    R clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_zero_zt.c
    R clang/test/CodeGen/aarch64-sme2p1-intrinsics/acle_sme2p1_movaz.c
    R clang/test/CodeGen/aarch64-sme2p1-intrinsics/acle_sme2p1_zero.c
    R clang/test/CodeGen/aarch64-soft-float-abi-errors.c
    R clang/test/CodeGen/aarch64-soft-float-abi.c
    R clang/test/CodeGen/aarch64-strictfp-builtins.c
    R clang/test/CodeGen/aarch64-subarch-compatbility.c
    R clang/test/CodeGen/aarch64-sve-acle-__ARM_FEATURE_SVE_VECTOR_OPERATORS.c
    R clang/test/CodeGen/aarch64-sve-acle-__ARM_FEATURE_SVE_VECTOR_OPERATORS.cpp
    R clang/test/CodeGen/aarch64-sve-inline-asm-crash.c
    R clang/test/CodeGen/aarch64-sve-inline-asm-datatypes.c
    R clang/test/CodeGen/aarch64-sve-inline-asm-negative-test.c
    R clang/test/CodeGen/aarch64-sve-inline-asm.c
    R clang/test/CodeGen/aarch64-sve-intrinsics/README
    R clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_abd.c
    R clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_abs.c
    R clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_acge.c
    R clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_acgt.c
    R clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_acle.c
    R clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_aclt.c
    R clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_add.c
    R clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_adda.c
    R clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_addv.c
    R clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_adrb.c
    R clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_adrd.c
    R clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_adrh.c
    R clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_adrw.c
    R clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_and.c
    R clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_andv.c
    R clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_asr.c
    R clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_asrd.c
    R clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_bfdot.c
    R clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_bfmlalb.c
    R clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_bfmlalt.c
    R clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_bfmmla.c
    R clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_bic.c
    R clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_brka.c
    R clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_brkb.c
    R clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_brkn.c
    R clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_brkpa.c
    R clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_brkpb.c
    R clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_cadd.c
    R clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_clasta-bfloat.c
    R clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_clasta.c
    R clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_clastb-bfloat.c
    R clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_clastb.c
    R clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_cls.c
    R clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_clz.c
    R clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_cmla.c
    R clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_cmpeq.c
    R clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_cmpge.c
    R clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_cmpgt.c
    R clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_cmple.c
    R clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_cmplt.c
    R clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_cmpne.c
    R clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_cmpuo.c
    R clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_cnot.c
    R clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_cnt-bfloat.c
    R clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_cnt.c
    R clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_cntb.c
    R clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_cntd.c
    R clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_cnth.c
    R clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_cntp.c
    R clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_cntw.c
    R clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_compact.c
    R clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_create2-bfloat.c
    R clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_create2.c
    R clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_create3-bfloat.c
    R clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_create3.c
    R clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_create4-bfloat.c
    R clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_create4.c
    R clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_cvt-bfloat.c
    R clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_cvt.c
    R clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_cvtnt.c
    R clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_div.c
    R clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_divr.c
    R clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_dot.c
    R clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_dup-bfloat.c
    R clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_dup.c
    R clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_dupq-bfloat.c
    R clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_dupq.c
    R clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_dupq_const.c
    R clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_eor.c
    R clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_eorv.c
    R clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_expa.c
    R clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_ext-bfloat.c
    R clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_ext.c
    R clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_extb.c
    R clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_exth.c
    R clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_extw.c
    R clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_get2-bfloat.c
    R clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_get2.c
    R clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_get3-bfloat.c
    R clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_get3.c
    R clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_get4-bfloat.c
    R clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_get4.c
    R clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_index.c
    R clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_insr-bfloat.c
    R clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_insr.c
    R clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_lasta-bfloat.c
    R clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_lasta.c
    R clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_lastb-bfloat.c
    R clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_lastb.c
    R clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_ld1-bfloat.c
    R clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_ld1.c
    R clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_ld1ro-bfloat.c
    R clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_ld1ro.c
    R clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_ld1rq-bfloat.c
    R clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_ld1rq.c
    R clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_ld1sb.c
    R clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_ld1sh.c
    R clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_ld1sw.c
    R clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_ld1ub.c
    R clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_ld1uh.c
    R clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_ld1uw.c
    R clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_ld2-bfloat.c
    R clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_ld2.c
    R clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_ld3-bfloat.c
    R clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_ld3.c
    R clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_ld4-bfloat.c
    R clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_ld4.c
    R clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_ldff1-bfloat.c
    R clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_ldff1.c
    R clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_ldff1sb.c
    R clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_ldff1sh.c
    R clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_ldff1sw.c
    R clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_ldff1ub.c
    R clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_ldff1uh.c
    R clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_ldff1uw.c
    R clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_ldnf1-bfloat.c
    R clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_ldnf1.c
    R clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_ldnf1sb.c
    R clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_ldnf1sh.c
    R clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_ldnf1sw.c
    R clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_ldnf1ub.c
    R clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_ldnf1uh.c
    R clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_ldnf1uw.c
    R clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_ldnt1-bfloat.c
    R clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_ldnt1.c
    R clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_len-bfloat.c
    R clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_len.c
    R clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_lsl.c
    R clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_lsr.c
    R clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_mad.c
    R clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_matmul_fp32.c
    R clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_matmul_fp64.c
    R clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_max.c
    R clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_maxnm.c
    R clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_maxnmv.c
    R clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_maxv.c
    R clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_min.c
    R clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_minnm.c
    R clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_minnmv.c
    R clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_minv.c
    R clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_mla.c
    R clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_mls.c
    R clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_mmla.c
    R clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_mov.c
    R clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_msb.c
    R clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_mul.c
    R clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_mulh.c
    R clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_mulx.c
    R clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_nand.c
    R clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_neg.c
    R clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_nmad.c
    R clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_nmla.c
    R clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_nmls.c
    R clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_nmsb.c
    R clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_nor.c
    R clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_not.c
    R clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_orn.c
    R clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_orr.c
    R clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_orv.c
    R clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_pfalse.c
    R clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_pfirst.c
    R clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_pnext.c
    R clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_prfb.c
    R clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_prfd.c
    R clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_prfh.c
    R clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_prfw.c
    R clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_ptest.c
    R clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_ptrue.c
    R clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_qadd.c
    R clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_qdecb.c
    R clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_qdecd.c
    R clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_qdech.c
    R clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_qdecp.c
    R clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_qdecw.c
    R clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_qincb.c
    R clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_qincd.c
    R clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_qinch.c
    R clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_qincp.c
    R clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_qincw.c
    R clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_qsub.c
    R clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_rbit.c
    R clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_rdffr.c
    R clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_recpe.c
    R clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_recps.c
    R clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_recpx.c
    R clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_reinterpret-bfloat.c
    R clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_reinterpret.c
    R clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_rev-bfloat.c
    R clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_rev.c
    R clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_revb.c
    R clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_revh.c
    R clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_revw.c
    R clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_rinta.c
    R clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_rinti.c
    R clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_rintm.c
    R clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_rintn.c
    R clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_rintp.c
    R clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_rintx.c
    R clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_rintz.c
    R clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_rsqrte.c
    R clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_rsqrts.c
    R clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_scale.c
    R clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_sel-bfloat.c
    R clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_sel.c
    R clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_set2-bfloat.c
    R clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_set2.c
    R clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_set3-bfloat.c
    R clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_set3.c
    R clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_set4-bfloat.c
    R clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_set4.c
    R clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_setffr.c
    R clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_splice-bfloat.c
    R clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_splice.c
    R clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_sqrt.c
    R clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_st1-bfloat.c
    R clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_st1.c
    R clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_st1b.c
    R clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_st1h.c
    R clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_st1w.c
    R clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_st2-bfloat.c
    R clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_st2.c
    R clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_st3-bfloat.c
    R clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_st3.c
    R clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_st4-bfloat.c
    R clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_st4.c
    R clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_stnt1-bfloat.c
    R clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_stnt1.c
    R clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_sub.c
    R clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_subr.c
    R clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_sudot.c
    R clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_tbl-bfloat.c
    R clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_tbl.c
    R clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_tmad.c
    R clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_trn1-bfloat.c
    R clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_trn1-fp64-bfloat.c
    R clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_trn1-fp64.c
    R clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_trn1.c
    R clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_trn2-bfloat.c
    R clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_trn2-fp64-bfloat.c
    R clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_trn2-fp64.c
    R clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_trn2.c
    R clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_tsmul.c
    R clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_tssel.c
    R clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_undef-bfloat.c
    R clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_undef.c
    R clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_undef2-bfloat.c
    R clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_undef2.c
    R clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_undef3-bfloat.c
    R clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_undef3.c
    R clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_undef4-bfloat.c
    R clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_undef4.c
    R clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_unpkhi.c
    R clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_unpklo.c
    R clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_usdot.c
    R clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_uzp1-bfloat.c
    R clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_uzp1-fp64-bfloat.c
    R clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_uzp1-fp64.c
    R clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_uzp1.c
    R clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_uzp2-bfloat.c
    R clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_uzp2-fp64-bfloat.c
    R clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_uzp2-fp64.c
    R clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_uzp2.c
    R clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_whilele.c
    R clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_whilelt.c
    R clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_wrffr.c
    R clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_zip1-bfloat.c
    R clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_zip1-fp64-bfloat.c
    R clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_zip1-fp64.c
    R clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_zip1.c
    R clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_zip2-bfloat.c
    R clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_zip2-fp64-bfloat.c
    R clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_zip2-fp64.c
    R clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_zip2.c
    R clang/test/CodeGen/aarch64-sve-vector-arith-ops.c
    R clang/test/CodeGen/aarch64-sve-vector-bits-codegen.c
    R clang/test/CodeGen/aarch64-sve-vector-bitwise-ops.c
    R clang/test/CodeGen/aarch64-sve-vector-compare-ops.c
    R clang/test/CodeGen/aarch64-sve-vector-shift-ops.c
    R clang/test/CodeGen/aarch64-sve-vector-subscript-ops.c
    R clang/test/CodeGen/aarch64-sve-vls-arith-ops.c
    R clang/test/CodeGen/aarch64-sve-vls-bitwise-ops.c
    R clang/test/CodeGen/aarch64-sve-vls-compare-ops.c
    R clang/test/CodeGen/aarch64-sve-vls-shift-ops.c
    R clang/test/CodeGen/aarch64-sve-vls-subscript-ops.c
    R clang/test/CodeGen/aarch64-sve.c
    R clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_aba.c
    R clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_abalb.c
    R clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_abalt.c
    R clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_abdlb.c
    R clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_abdlt.c
    R clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_adalp.c
    R clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_adclb.c
    R clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_adclt.c
    R clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_addhnb.c
    R clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_addhnt.c
    R clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_addlb.c
    R clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_addlbt.c
    R clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_addlt.c
    R clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_addp.c
    R clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_addwb.c
    R clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_addwt.c
    R clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_aesd.c
    R clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_aese.c
    R clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_aesimc.c
    R clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_aesmc.c
    R clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_bcax.c
    R clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_bdep.c
    R clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_bext.c
    R clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_bgrp.c
    R clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_bsl.c
    R clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_bsl1n.c
    R clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_bsl2n.c
    R clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_cadd.c
    R clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_cdot.c
    R clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_cmla.c
    R clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_cvtlt.c
    R clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_cvtnt.c
    R clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_cvtx.c
    R clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_cvtxnt.c
    R clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_eor3.c
    R clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_eorbt.c
    R clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_eortb.c
    R clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_faminmax.c
    R clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_hadd.c
    R clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_histcnt.c
    R clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_histseg.c
    R clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_hsub.c
    R clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_hsubr.c
    R clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_ldnt1.c
    R clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_ldnt1sb.c
    R clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_ldnt1sh.c
    R clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_ldnt1sw.c
    R clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_ldnt1ub.c
    R clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_ldnt1uh.c
    R clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_ldnt1uw.c
    R clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_logb.c
    R clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_luti.c
    R clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_match.c
    R clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_maxnmp.c
    R clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_maxp.c
    R clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_minnmp.c
    R clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_minp.c
    R clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_mla.c
    R clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_mlalb.c
    R clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_mlalt.c
    R clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_mls.c
    R clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_mlslb.c
    R clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_mlslt.c
    R clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_movlb.c
    R clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_movlt.c
    R clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_mul.c
    R clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_mullb.c
    R clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_mullt.c
    R clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_nbsl.c
    R clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_nmatch.c
    R clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_pmul.c
    R clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_pmullb.c
    R clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_pmullb_128.c
    R clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_pmullt.c
    R clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_pmullt_128.c
    R clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_qabs.c
    R clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_qadd.c
    R clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_qcadd.c
    R clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_qdmlalb.c
    R clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_qdmlalbt.c
    R clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_qdmlalt.c
    R clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_qdmlslb.c
    R clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_qdmlslbt.c
    R clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_qdmlslt.c
    R clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_qdmulh.c
    R clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_qdmullb.c
    R clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_qdmullt.c
    R clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_qneg.c
    R clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_qrdcmlah.c
    R clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_qrdmlah.c
    R clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_qrdmlsh.c
    R clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_qrdmulh.c
    R clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_qrshl.c
    R clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_qrshrnb.c
    R clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_qrshrnt.c
    R clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_qrshrunb.c
    R clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_qrshrunt.c
    R clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_qshl.c
    R clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_qshlu.c
    R clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_qshrnb.c
    R clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_qshrnt.c
    R clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_qshrunb.c
    R clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_qshrunt.c
    R clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_qsub.c
    R clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_qsubr.c
    R clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_qxtnb.c
    R clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_qxtnt.c
    R clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_qxtunb.c
    R clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_qxtunt.c
    R clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_raddhnb.c
    R clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_raddhnt.c
    R clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_rax1.c
    R clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_recpe.c
    R clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_revd.c
    R clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_rhadd.c
    R clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_rshl.c
    R clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_rshr.c
    R clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_rshrnb.c
    R clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_rshrnt.c
    R clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_rsqrte.c
    R clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_rsra.c
    R clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_rsubhnb.c
    R clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_rsubhnt.c
    R clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_sbclb.c
    R clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_sbclt.c
    R clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_shllb.c
    R clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_shllt.c
    R clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_shrnb.c
    R clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_shrnt.c
    R clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_sli.c
    R clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_sm4e.c
    R clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_sm4ekey.c
    R clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_sqadd.c
    R clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_sra.c
    R clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_sri.c
    R clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_stnt1.c
    R clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_stnt1b.c
    R clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_stnt1h.c
    R clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_stnt1w.c
    R clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_subhnb.c
    R clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_subhnt.c
    R clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_sublb.c
    R clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_sublbt.c
    R clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_sublt.c
    R clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_subltb.c
    R clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_subwb.c
    R clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_subwt.c
    R clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_tbl2-bfloat.c
    R clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_tbl2.c
    R clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_tbx-bfloat.c
    R clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_tbx.c
    R clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_uqadd.c
    R clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_whilege.c
    R clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_whilegt.c
    R clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_whilerw-bfloat.c
    R clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_whilerw.c
    R clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_whilewr-bfloat.c
    R clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_whilewr.c
    R clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_xar.c
    R clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_bfadd.c
    R clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_bfclamp.c
    R clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_bfmax.c
    R clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_bfmaxnm.c
    R clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_bfmin.c
    R clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_bfminnm.c
    R clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_bfmla.c
    R clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_bfmla_lane.c
    R clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_bfmls.c
    R clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_bfmls_lane.c
    R clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_bfmlsl.c
    R clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_bfmul.c
    R clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_bfmul_lane.c
    R clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_bfsub.c
    R clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_cntp.c
    R clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_create2_bool.c
    R clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_create4_bool.c
    R clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_dot.c
    R clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_dupq.c
    R clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_extq.c
    R clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_fclamp.c
    R clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_fp_reduce.c
    R clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_get2_bool.c
    R clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_get4_bool.c
    R clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_int_reduce.c
    R clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_ld1.c
    R clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_ld1_single.c
    R clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_ldnt1.c
    R clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_loads.c
    R clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_pext.c
    R clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_pfalse.c
    R clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_pmov_to_pred.c
    R clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_pmov_to_vector.c
    R clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_psel.c
    R clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_psel_svcount.c
    R clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_ptrue.c
    R clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_qcvtn.c
    R clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_qrshr.c
    R clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_sclamp.c
    R clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_set2_bool.c
    R clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_set4_bool.c
    R clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_st1.c
    R clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_st1_single.c
    R clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_stnt1.c
    R clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_store.c
    R clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_tblq.c
    R clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_tbxq.c
    R clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_uclamp.c
    R clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_undef_bool.c
    R clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_uzpq1.c
    R clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_uzpq2.c
    R clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_while_pn.c
    R clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_while_x2.c
    R clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_zipq1.c
    R clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_zipq2.c
    R clang/test/CodeGen/aarch64-svepcs.c
    R clang/test/CodeGen/aarch64-sysregs-target.c
    R clang/test/CodeGen/aarch64-targetattr-arch.c
    R clang/test/CodeGen/aarch64-targetattr-crypto.c
    R clang/test/CodeGen/aarch64-targetattr.c
    R clang/test/CodeGen/aarch64-tme.cpp
    R clang/test/CodeGen/aarch64-type-sizes.c
    R clang/test/CodeGen/aarch64-v8.1a-neon-intrinsics.c
    R clang/test/CodeGen/aarch64-v8.2a-fp16-intrinsics-constrained.c
    R clang/test/CodeGen/aarch64-v8.2a-fp16-intrinsics.c
    R clang/test/CodeGen/aarch64-v8.2a-neon-intrinsics-constrained.c
    R clang/test/CodeGen/aarch64-v8.2a-neon-intrinsics-generic.c
    R clang/test/CodeGen/aarch64-v8.2a-neon-intrinsics.c
    R clang/test/CodeGen/aarch64-v8.5a-neon-frint3264-intrinsic.c
    R clang/test/CodeGen/aarch64-v8.5a-scalar-frint3264-intrinsic.c
    R clang/test/CodeGen/aarch64-v8.6a-neon-intrinsics.c
    R clang/test/CodeGen/aarch64-varargs-ms.c
    R clang/test/CodeGen/aarch64-varargs-sve.c
    R clang/test/CodeGen/aarch64-varargs.c
    R clang/test/CodeGen/aarch64-vpcs.c
    M clang/test/CodeGen/alias.cpp
    A clang/test/CodeGen/allow-ubsan-check-inline.c
    A clang/test/CodeGen/amdgpu-barrier-type-debug-info.c
    M clang/test/CodeGen/arm-bf16-convert-intrinsics.c
    A clang/test/CodeGen/arm-mfp8.c
    M clang/test/CodeGen/arm-mve-intrinsics/absneg.c
    M clang/test/CodeGen/arm-mve-intrinsics/bitwise-imm.c
    M clang/test/CodeGen/arm-mve-intrinsics/compare.c
    M clang/test/CodeGen/arm-mve-intrinsics/cplusplus.cpp
    M clang/test/CodeGen/arm-mve-intrinsics/ternary.c
    M clang/test/CodeGen/arm-mve-intrinsics/vadc.c
    M clang/test/CodeGen/arm-mve-intrinsics/vbicq.c
    M clang/test/CodeGen/arm-mve-intrinsics/vector-shift-imm.c
    M clang/test/CodeGen/arm-mve-intrinsics/vornq.c
    M clang/test/CodeGen/arm-neon-shifts.c
    M clang/test/CodeGen/arm-vfp16-arguments.c
    M clang/test/CodeGen/arm-vfp16-arguments2.cpp
    M clang/test/CodeGen/arm64-microsoft-intrinsics.c
    M clang/test/CodeGen/arm64_32-vaarg.c
    M clang/test/CodeGen/arm_neon_intrinsics.c
    A clang/test/CodeGen/atomic-test-and-set.c
    M clang/test/CodeGen/attr-arm-sve-vector-bits-bitcast.c
    M clang/test/CodeGen/attr-arm-sve-vector-bits-cast.c
    M clang/test/CodeGen/attr-arm-sve-vector-bits-codegen.c
    M clang/test/CodeGen/attr-arm-sve-vector-bits-globals.c
    M clang/test/CodeGen/attr-counted-by-pr110385.c
    M clang/test/CodeGen/attr-counted-by.c
    M clang/test/CodeGen/attr-cpuspecific-cpus.c
    M clang/test/CodeGen/attr-cpuspecific.c
    M clang/test/CodeGen/attr-ifunc.c
    M clang/test/CodeGen/attr-target-clones-aarch64.c
    M clang/test/CodeGen/attr-target-clones-riscv.c
    M clang/test/CodeGen/attr-target-mv.c
    M clang/test/CodeGen/attr-target-version-riscv.c
    M clang/test/CodeGen/attr-target-version.c
    M clang/test/CodeGen/attr-target-x86.c
    M clang/test/CodeGen/blocks.c
    M clang/test/CodeGen/bounds-checking.c
    A clang/test/CodeGen/builtin-counted-by-ref.c
    M clang/test/CodeGen/builtin_set_flt_rounds.c
    A clang/test/CodeGen/builtins-array-rank.cpp
    M clang/test/CodeGen/builtins-elementwise-math.c
    M clang/test/CodeGen/builtins-nvptx-native-half-type-native.c
    M clang/test/CodeGen/builtins-nvptx-native-half-type.c
    M clang/test/CodeGen/builtins-nvptx.c
    M clang/test/CodeGen/builtins-wasm.c
    M clang/test/CodeGen/builtinshufflevector2.c
    M clang/test/CodeGen/catch-undef-behavior.c
    M clang/test/CodeGen/const-init.c
    M clang/test/CodeGen/constrained-math-builtins.c
    M clang/test/CodeGen/cx-complex-range.c
    R clang/test/CodeGen/debug-info-renderscript-tag.rs
    A clang/test/CodeGen/embed-bitcode-marker-with-nonzero-as.c
    A clang/test/CodeGen/fat-lto-objects-cfi.cpp
    M clang/test/CodeGen/fp16-ops.c
    A clang/test/CodeGen/ifunc-win.c
    M clang/test/CodeGen/ifunc.c
    M clang/test/CodeGen/ignore-overflow-pattern.c
    M clang/test/CodeGen/isfpclass.c
    M clang/test/CodeGen/libcalls.c
    M clang/test/CodeGen/math-libcalls-tbaa-indirect-args.c
    M clang/test/CodeGen/math-libcalls-tbaa.c
    M clang/test/CodeGen/math-libcalls.c
    M clang/test/CodeGen/matrix-type-operators-fast-math.c
    M clang/test/CodeGen/matrix-type-operators.c
    M clang/test/CodeGen/mdouble.c
    M clang/test/CodeGen/memtag-globals.cpp
    M clang/test/CodeGen/ms-intrinsics.c
    M clang/test/CodeGen/ms-mixed-ptr-sizes.c
    A clang/test/CodeGen/musttail-sret.cpp
    M clang/test/CodeGen/neon-immediate-ubsan.c
    M clang/test/CodeGen/nofpclass.c
    A clang/test/CodeGen/pgo-cold-function-coverage.c
    M clang/test/CodeGen/ppc-vec_ct-truncate.c
    M clang/test/CodeGen/ptrauth-function-attributes.c
    A clang/test/CodeGen/ptrauth-module-flags.c
    R clang/test/CodeGen/renderscript.c
    M clang/test/CodeGen/rtsan_attribute_inserted.c
    M clang/test/CodeGen/rtsan_no_attribute_sanitizer_disabled.c
    M clang/test/CodeGen/sanitize-coverage-gated-callbacks.c
    A clang/test/CodeGen/sanitize-type-attr.cpp
    A clang/test/CodeGen/sanitize-type-globals.cpp
    A clang/test/CodeGen/scoped-fence-ops.c
    A clang/test/CodeGen/target-addrspace.cpp
    M clang/test/CodeGen/target-builtin-noerror.c
    M clang/test/CodeGen/target-data.c
    M clang/test/CodeGen/tbaa-pointers.c
    M clang/test/CodeGen/tbaa-reference.cpp
    M clang/test/CodeGen/tbaa-struct-bitfield-endianness.cpp
    M clang/test/CodeGen/ubsan-trap-debugloc.c
    A clang/test/CodeGen/ubsan-trap-merge.c
    A clang/test/CodeGen/ubsan-type-ignorelist-category-2.test
    A clang/test/CodeGen/ubsan-type-ignorelist-category.test
    A clang/test/CodeGen/ubsan-type-ignorelist-enum.test
    M clang/test/CodeGen/union-tbaa1.c
    M clang/test/CodeGen/variadic-nvptx.c
    M clang/test/CodeGen/vecshift.c
    M clang/test/CodeGen/vector-scalar.c
    M clang/test/CodeGenCUDA/Inputs/cuda.h
    M clang/test/CodeGenCUDA/amdgpu-atomic-ops.cu
    M clang/test/CodeGenCUDA/amdgpu-kernel-arg-pointer-type.cu
    M clang/test/CodeGenCUDA/device-init-fun.cu
    A clang/test/CodeGenCUDA/grid-constant.cu
    M clang/test/CodeGenCUDA/kernel-amdgcn.cu
    M clang/test/CodeGenCUDA/offloading-entries.cu
    A clang/test/CodeGenCUDASPIRV/spirv-attrs.cu
    A clang/test/CodeGenCXX/aarch64-mangle-sme-atts.cpp
    M clang/test/CodeGenCXX/aarch64-sve-vector-conditional-op.cpp
    M clang/test/CodeGenCXX/aarch64-sve-vector-init.cpp
    A clang/test/CodeGenCXX/amdgpu-barrier-typeinfo.cpp
    M clang/test/CodeGenCXX/attr-target-clones-aarch64.cpp
    M clang/test/CodeGenCXX/attr-target-clones-riscv.cpp
    M clang/test/CodeGenCXX/attr-target-version-riscv.cpp
    M clang/test/CodeGenCXX/attr-target-version.cpp
    A clang/test/CodeGenCXX/auto-var-init-attr.cpp
    M clang/test/CodeGenCXX/auto-var-init.cpp
    M clang/test/CodeGenCXX/builtin-calling-conv.cpp
    M clang/test/CodeGenCXX/catch-undef-behavior.cpp
    M clang/test/CodeGenCXX/cxx2b-deducing-this.cpp
    M clang/test/CodeGenCXX/default-arguments.cpp
    M clang/test/CodeGenCXX/ext-int.cpp
    M clang/test/CodeGenCXX/ext-vector-type-conditional.cpp
    M clang/test/CodeGenCXX/flexible-array-init.cpp
    M clang/test/CodeGenCXX/fmv-namespace.cpp
    M clang/test/CodeGenCXX/inline-then-fold-variadics.cpp
    M clang/test/CodeGenCXX/matrix-type-builtins.cpp
    M clang/test/CodeGenCXX/matrix-type-operators.cpp
    M clang/test/CodeGenCXX/matrix-type.cpp
    A clang/test/CodeGenCXX/matrix-vector-bit-int.cpp
    M clang/test/CodeGenCXX/microsoft-abi-dynamic-cast.cpp
    M clang/test/CodeGenCXX/microsoft-abi-member-pointers.cpp
    M clang/test/CodeGenCXX/microsoft-abi-typeid.cpp
    M clang/test/CodeGenCXX/ms-thread_local.cpp
    A clang/test/CodeGenCXX/ms-uneval-context-crash.cpp
    M clang/test/CodeGenCXX/template-instantiation.cpp
    M clang/test/CodeGenCXX/vector-size-conditional.cpp
    M clang/test/CodeGenCXX/vector-splat-conversion.cpp
    M clang/test/CodeGenCXX/wasm-args-returns.cpp
    A clang/test/CodeGenHIP/amdgpu-barrier-type.hip
    M clang/test/CodeGenHIP/printf_nonhostcall.cpp
    M clang/test/CodeGenHLSL/ArrayAssignable.hlsl
    A clang/test/CodeGenHLSL/BasicFeatures/ArrayOutputArguments.hlsl
    M clang/test/CodeGenHLSL/BasicFeatures/standard_conversion_sequences.hlsl
    A clang/test/CodeGenHLSL/builtins/AppendStructuredBuffer-elementtype.hlsl
    A clang/test/CodeGenHLSL/builtins/ByteAddressBuffers-constructors.hlsl
    A clang/test/CodeGenHLSL/builtins/ConsumeStructuredBuffer-elementtype.hlsl
    A clang/test/CodeGenHLSL/builtins/GroupMemoryBarrierWithGroupSync.hlsl
    R clang/test/CodeGenHLSL/builtins/RWBuffer-annotations.hlsl
    A clang/test/CodeGenHLSL/builtins/RWBuffer-constructor-opt.hlsl
    M clang/test/CodeGenHLSL/builtins/RWBuffer-constructor.hlsl
    M clang/test/CodeGenHLSL/builtins/RWBuffer-elementtype.hlsl
    M clang/test/CodeGenHLSL/builtins/RWBuffer-subscript.hlsl
    A clang/test/CodeGenHLSL/builtins/RWStructuredBuffer-elementtype.hlsl
    R clang/test/CodeGenHLSL/builtins/RasterizerOrderedBuffer-annotations.hlsl
    A clang/test/CodeGenHLSL/builtins/RasterizerOrderedStructuredBuffer-elementtype.hlsl
    M clang/test/CodeGenHLSL/builtins/ScalarSwizzles.hlsl
    R clang/test/CodeGenHLSL/builtins/StructuredBuffer-annotations.hlsl
    R clang/test/CodeGenHLSL/builtins/StructuredBuffer-constructor.hlsl
    M clang/test/CodeGenHLSL/builtins/StructuredBuffer-elementtype.hlsl
    R clang/test/CodeGenHLSL/builtins/StructuredBuffer-subscript.hlsl
    A clang/test/CodeGenHLSL/builtins/StructuredBuffers-constructors.hlsl
    A clang/test/CodeGenHLSL/builtins/StructuredBuffers-methods-lib.hlsl
    A clang/test/CodeGenHLSL/builtins/StructuredBuffers-methods-ps.hlsl
    A clang/test/CodeGenHLSL/builtins/StructuredBuffers-subscripts.hlsl
    A clang/test/CodeGenHLSL/builtins/WaveActiveAllTrue.hlsl
    A clang/test/CodeGenHLSL/builtins/WaveActiveAnyTrue.hlsl
    A clang/test/CodeGenHLSL/builtins/WaveActiveCountBits.hlsl
    A clang/test/CodeGenHLSL/builtins/asdouble.hlsl
    M clang/test/CodeGenHLSL/builtins/clamp-builtin.hlsl
    M clang/test/CodeGenHLSL/builtins/clamp.hlsl
    A clang/test/CodeGenHLSL/builtins/clip.hlsl
    M clang/test/CodeGenHLSL/builtins/countbits.hlsl
    A clang/test/CodeGenHLSL/builtins/dot4add_i8packed.hlsl
    A clang/test/CodeGenHLSL/builtins/dot4add_u8packed.hlsl
    A clang/test/CodeGenHLSL/builtins/firstbithigh.hlsl
    M clang/test/CodeGenHLSL/builtins/hlsl_resource_t.hlsl
    M clang/test/CodeGenHLSL/builtins/rcp.hlsl
    M clang/test/CodeGenHLSL/builtins/sign.hlsl
    A clang/test/CodeGenHLSL/builtins/splitdouble.hlsl
    M clang/test/CodeGenHLSL/cbuf.hlsl
    A clang/test/CodeGenHLSL/convergence/entry.point.hlsl
    M clang/test/CodeGenHLSL/implicit-norecurse-attrib.hlsl
    A clang/test/CodeGenHLSL/resource-bindings.hlsl
    A clang/test/CodeGenHLSL/semantics/SV_GroupID.hlsl
    A clang/test/CodeGenHLSL/semantics/SV_GroupThreadID.hlsl
    M clang/test/CodeGenObjC/arc-ternary-op.m
    M clang/test/CodeGenObjCXX/arc.mm
    M clang/test/CodeGenOpenCL/addr-space-struct-arg.cl
    M clang/test/CodeGenOpenCL/amdgcn-automatic-variable.cl
    M clang/test/CodeGenOpenCL/amdgpu-abi-struct-arg-byref.cl
    M clang/test/CodeGenOpenCL/amdgpu-abi-struct-coerce.cl
    M clang/test/CodeGenOpenCL/amdgpu-call-kernel.cl
    M clang/test/CodeGenOpenCL/amdgpu-enqueue-kernel.cl
    M clang/test/CodeGenOpenCL/amdgpu-features.cl
    M clang/test/CodeGenOpenCL/amdgpu-nullptr.cl
    M clang/test/CodeGenOpenCL/atomic-ops.cl
    M clang/test/CodeGenOpenCL/atomics-unsafe-hw-remarks-gfx90a.cl
    M clang/test/CodeGenOpenCL/blocks.cl
    M clang/test/CodeGenOpenCL/bool_cast.cl
    M clang/test/CodeGenOpenCL/builtins-alloca.cl
    M clang/test/CodeGenOpenCL/builtins-amdgcn-dl-insts-err.cl
    M clang/test/CodeGenOpenCL/builtins-amdgcn-gfx10.cl
    M clang/test/CodeGenOpenCL/builtins-amdgcn-gfx11.cl
    M clang/test/CodeGenOpenCL/builtins-amdgcn-gfx12-param-err.cl
    M clang/test/CodeGenOpenCL/builtins-amdgcn-gfx12.cl
    A clang/test/CodeGenOpenCL/builtins-amdgcn-gfx9-4-generic-err.cl
    M clang/test/CodeGenOpenCL/builtins-amdgcn-gfx940.cl
    A clang/test/CodeGenOpenCL/builtins-amdgcn-gfx950-err.cl
    A clang/test/CodeGenOpenCL/builtins-amdgcn-gfx950-read-tr.cl
    A clang/test/CodeGenOpenCL/builtins-amdgcn-gfx950.cl
    M clang/test/CodeGenOpenCL/builtins-amdgcn-mfma.cl
    M clang/test/CodeGenOpenCL/builtins-amdgcn-vi.cl
    M clang/test/CodeGenOpenCL/builtins-amdgcn.cl
    M clang/test/CodeGenOpenCL/builtins-f16.cl
    M clang/test/CodeGenOpenCL/builtins-fp-atomics-gfx12.cl
    M clang/test/CodeGenOpenCL/builtins-fp-atomics-gfx8.cl
    M clang/test/CodeGenOpenCL/builtins-fp-atomics-gfx90a.cl
    M clang/test/CodeGenOpenCL/cl20-device-side-enqueue-attributes.cl
    M clang/test/CodeGenOpenCL/cl20-device-side-enqueue.cl
    M clang/test/CodeGenOpenCL/enqueue-kernel-non-entry-block.cl
    M clang/test/CodeGenOpenCL/kernels-have-spir-cc-by-default.cl
    M clang/test/CodeGenOpenCL/logical-ops.cl
    M clang/test/CodeGenOpenCL/opencl_types.cl
    M clang/test/CodeGenOpenCL/partial_initializer.cl
    M clang/test/CodeGenOpenCL/shifts.cl
    M clang/test/CodeGenOpenCL/vector_literals.cl
    M clang/test/CodeGenOpenCLCXX/array-type-infinite-loop.clcpp
    M clang/test/CodeGenOpenCLCXX/local_addrspace_init.clcpp
    M clang/test/CodeGenSYCL/unique_stable_name_windows_diff.cpp
    M clang/test/CoverageMapping/switch.cpp
    M clang/test/CoverageMapping/switchmacro.c
    A clang/test/Driver/Inputs/config-l.cfg
    A clang/test/Driver/Inputs/cpunative/cortex-a57
    A clang/test/Driver/Inputs/cpunative/cortex-a72
    A clang/test/Driver/Inputs/cpunative/cortex-a76
    A clang/test/Driver/Inputs/cpunative/neoverse-n1
    A clang/test/Driver/Inputs/cpunative/neoverse-v2
    M clang/test/Driver/XRay/xray-mode-flags.cpp
    A clang/test/Driver/XRay/xray-shared.cpp
    R clang/test/Driver/aarch64-fixed-register-global.c
    A clang/test/Driver/aarch64-fujitsu-monaka.c
    M clang/test/Driver/aarch64-implied-sme-features.c
    M clang/test/Driver/aarch64-implied-sve-features.c
    A clang/test/Driver/aarch64-mcpu-native.c
    M clang/test/Driver/aarch64-ptrauth.c
    M clang/test/Driver/aarch64-v96a.c
    M clang/test/Driver/amdgpu-hip-system-arch.c
    M clang/test/Driver/amdgpu-macros.cl
    M clang/test/Driver/amdgpu-mcpu.cl
    M clang/test/Driver/amdgpu-openmp-system-arch-fail.c
    M clang/test/Driver/amdgpu-toolchain.c
    M clang/test/Driver/arm-alignment.c
    M clang/test/Driver/arm-cortex-cpus-2.c
    M clang/test/Driver/autocomplete.c
    M clang/test/Driver/avr-toolchain.c
    M clang/test/Driver/baremetal-multilib.yaml
    M clang/test/Driver/baremetal-sysroot.cpp
    M clang/test/Driver/baremetal.cpp
    M clang/test/Driver/cl-options.c
    M clang/test/Driver/cl-zc.cpp
    A clang/test/Driver/clang-sycl-linker-test.cpp
    M clang/test/Driver/clang_f_opts.c
    M clang/test/Driver/codeview-column-info.c
    M clang/test/Driver/config-file.c
    M clang/test/Driver/config-file3.c
    M clang/test/Driver/cuda-cross-compiling.c
    A clang/test/Driver/cuda-no-threadsafe-statics.cu
    A clang/test/Driver/darwin-subframeworks.c
    A clang/test/Driver/fprofile-generate-cold-function-coverage.c
    A clang/test/Driver/fprofile-sample-use.c
    M clang/test/Driver/frame-pointer-elim.c
    M clang/test/Driver/freebsd.c
    M clang/test/Driver/fsanitize.c
    M clang/test/Driver/fuchsia.c
    M clang/test/Driver/fveclib.c
    M clang/test/Driver/hexagon-toolchain-linux.c
    M clang/test/Driver/hip-device-libs.hip
    M clang/test/Driver/hip-rdc-device-only.hip
    M clang/test/Driver/hip-toolchain-no-rdc.hip
    M clang/test/Driver/hip-toolchain-rdc-separate.hip
    M clang/test/Driver/hip-toolchain-rdc.hip
    A clang/test/Driver/hip-wavefront-size-deprecation-diagnostics.hip
    R clang/test/Driver/index-header-map.c
    M clang/test/Driver/linker-wrapper.c
    M clang/test/Driver/linux-ld.c
    M clang/test/Driver/loongarch-march.c
    A clang/test/Driver/loongarch-mdiv32.c
    A clang/test/Driver/loongarch-mlam-bh.c
    A clang/test/Driver/loongarch-mlamcas.c
    A clang/test/Driver/loongarch-mld-seq-sa.c
    M clang/test/Driver/mingw.cpp
    M clang/test/Driver/module-fgen-reduced-bmi.cppm
    M clang/test/Driver/module-output.cppm
    A clang/test/Driver/msp430-char.c
    M clang/test/Driver/nvlink-wrapper.c
    M clang/test/Driver/nvptx-cuda-system-arch.c
    M clang/test/Driver/openmp-offload.c
    M clang/test/Driver/openmp-system-arch.c
    M clang/test/Driver/print-enabled-extensions/aarch64-ampere1b.c
    M clang/test/Driver/print-enabled-extensions/aarch64-apple-m4.c
    M clang/test/Driver/print-enabled-extensions/aarch64-armv8.7-a.c
    M clang/test/Driver/print-enabled-extensions/aarch64-armv8.8-a.c
    M clang/test/Driver/print-enabled-extensions/aarch64-armv8.9-a.c
    M clang/test/Driver/print-enabled-extensions/aarch64-armv9.2-a.c
    M clang/test/Driver/print-enabled-extensions/aarch64-armv9.3-a.c
    M clang/test/Driver/print-enabled-extensions/aarch64-armv9.4-a.c
    M clang/test/Driver/print-enabled-extensions/aarch64-armv9.5-a.c
    M clang/test/Driver/print-enabled-extensions/aarch64-cortex-a520.c
    M clang/test/Driver/print-enabled-extensions/aarch64-cortex-a520ae.c
    A clang/test/Driver/print-enabled-extensions/aarch64-fujitsu-monaka.c
    M clang/test/Driver/print-enabled-extensions/riscv-rocket-rv64.c
    M clang/test/Driver/print-multi-selection-flags.c
    A clang/test/Driver/print-supported-cpus-aarch64.c
    M clang/test/Driver/print-supported-extensions-aarch64.c
    M clang/test/Driver/print-supported-extensions-riscv.c
    M clang/test/Driver/ps5-linker.c
    M clang/test/Driver/relax.s
    R clang/test/Driver/renderscript.rs
    M clang/test/Driver/riscv-cpus.c
    M clang/test/Driver/riscv-features.c
    M clang/test/Driver/riscv-profiles.c
    M clang/test/Driver/sanitizer-ld.c
    M clang/test/Driver/stack-clash-protection.c
    A clang/test/Driver/sycl-link-spirv-target.cpp
    M clang/test/Driver/sysroot.c
    A clang/test/Driver/unknown-arg-drivermodes.test
    M clang/test/Driver/unknown-std.c
    M clang/test/Driver/unsupported-option.c
    M clang/test/Driver/wasm-features.c
    A clang/test/Driver/windows-lto.c
    M clang/test/Driver/x86-march.c
    M clang/test/Driver/x86-target-features.c
    A clang/test/Driver/xtensa-char.c
    M clang/test/ExtractAPI/objc_external_category.m
    M clang/test/Format/clang-format-ignore.cpp
    A clang/test/Format/docs_updated.test
    A clang/test/Format/error-unfound-files.cpp
    M clang/test/Format/lit.local.cfg
    M clang/test/Frontend/noderef.cpp
    M clang/test/Headers/__clang_hip_math_deprecated.hip
    M clang/test/Headers/__clang_hip_math_ocml_rounded_ops.hip
    A clang/test/Headers/crash-instantiated-in-scope-cxx-modules4.cpp
    A clang/test/Headers/gpuintrin.c
    A clang/test/Headers/gpuintrin_lang.c
    A clang/test/Headers/header_unit_preprocessed_output.cpp
    A clang/test/Headers/lasxintrin.c
    M clang/test/Headers/limits.cpp
    A clang/test/Headers/lsxintrin.c
    M clang/test/Headers/opencl-c-header.cl
    M clang/test/Headers/wasm.c
    M clang/test/Index/pipe-size.cl
    M clang/test/Index/print-type.cpp
    M clang/test/Layout/ms-x86-member-pointers.cpp
    M clang/test/Lexer/SourceLocationsOverflow.c
    M clang/test/Lexer/cxx-features.cpp
    M clang/test/Lexer/gnu-flags.c
    A clang/test/Misc/Inputs/suppression-mapping.txt
    M clang/test/Misc/diag-template-diffing-cxx98.cpp
    M clang/test/Misc/pragma-attribute-strict-subjects.c
    M clang/test/Misc/pragma-attribute-supported-attributes-list.test
    M clang/test/Misc/sloc-usage.cpp
    M clang/test/Misc/target-invalid-cpu-note/aarch64.c
    M clang/test/Misc/target-invalid-cpu-note/amdgcn.c
    M clang/test/Misc/target-invalid-cpu-note/arm.c
    M clang/test/Misc/target-invalid-cpu-note/nvptx.c
    M clang/test/Misc/target-invalid-cpu-note/riscv.c
    M clang/test/Misc/target-invalid-cpu-note/x86.c
    M clang/test/Misc/warning-flags.c
    A clang/test/Misc/warning-suppression-mappings-pragmas.cpp
    A clang/test/Misc/warning-suppression-mappings.cpp
    M clang/test/Modules/ExtDebugInfo.m
    M clang/test/Modules/ModuleDebugInfo.m
    M clang/test/Modules/compare-record.c
    M clang/test/Modules/cxx-templates.cpp
    M clang/test/Modules/cxx20-include-translation.cpp
    A clang/test/Modules/diff-retain-comments-from-system-headers-flag.cppm
    A clang/test/Modules/friend-inline-function-body.cpp
    A clang/test/Modules/initializer-list-recognition-through-export-and-linkage-issue-118218.cpp
    M clang/test/Modules/no-eager-load.cppm
    M clang/test/Modules/no-external-type-id.cppm
    M clang/test/Modules/odr_hash.cpp
    A clang/test/Modules/prune-non-affecting-module-map-repeated-textual.cpp
    A clang/test/Modules/prune-non-affecting-module-map-repeated.cpp
    A clang/test/Modules/recursive-instantiations.cppm
    M clang/test/Modules/same-decl-in-different-modules.cppm
    A clang/test/Modules/static-initializer.cppm
    A clang/test/OpenMP/allocate_allocator_modifier_ast_print.cpp
    A clang/test/OpenMP/allocate_allocator_modifier_codegen.cpp
    A clang/test/OpenMP/allocate_allocator_modifier_messages.cpp
    A clang/test/OpenMP/amdgpu_threadprivate.cpp
    M clang/test/OpenMP/declare_mapper_codegen.cpp
    M clang/test/OpenMP/depobj_codegen.cpp
    M clang/test/OpenMP/flush_ast_print.cpp
    M clang/test/OpenMP/flush_codegen.cpp
    M clang/test/OpenMP/flush_messages.cpp
    M clang/test/OpenMP/for_simd_loop_messages.cpp
    M clang/test/OpenMP/masked_taskloop_simd_linear_messages.cpp
    M clang/test/OpenMP/master_taskloop_simd_linear_messages.cpp
    M clang/test/OpenMP/nvptx_target_parallel_reduction_codegen_tbaa_PR46146.cpp
    M clang/test/OpenMP/parallel_for_simd_loop_messages.cpp
    M clang/test/OpenMP/parallel_for_simd_messages.cpp
    M clang/test/OpenMP/parallel_masked_taskloop_simd_linear_messages.cpp
    M clang/test/OpenMP/parallel_master_taskloop_simd_linear_messages.cpp
    M clang/test/OpenMP/simd_linear_messages.cpp
    M clang/test/OpenMP/target_map_names.cpp
    M clang/test/OpenMP/target_map_names_attr.cpp
    M clang/test/OpenMP/target_map_nest_defalut_mapper_codegen.cpp
    M clang/test/OpenMP/target_parallel_ast_print.cpp
    M clang/test/OpenMP/target_parallel_for_simd_ordered_messages.cpp
    M clang/test/OpenMP/target_teams_ast_print.cpp
    M clang/test/OpenMP/task_ast_print.cpp
    M clang/test/OpenMP/taskloop_simd_linear_messages.cpp
    A clang/test/OpenMP/taskloop_strictmodifier_codegen.cpp
    M clang/test/OpenMP/teams_ast_print.cpp
    M clang/test/PCH/cxx2a-constraints-crash.cpp
    M clang/test/Parser/cxx0x-decl.cpp
    M clang/test/Parser/cxx1z-decomposition.cpp
    M clang/test/Parser/cxx2c-delete-with-message.cpp
    A clang/test/Parser/cxx2c-oxford-variadic-comma.cpp
    M clang/test/Parser/cxx2c-pack-indexing.cpp
    A clang/test/Parser/gh110231.cpp
    M clang/test/Parser/pragma-attribute.cpp
    M clang/test/ParserHLSL/hlsl_resource_handle_attrs.hlsl
    M clang/test/ParserOpenACC/parse-clauses.c
    M clang/test/ParserOpenACC/parse-clauses.cpp
    M clang/test/ParserOpenACC/parse-constructs.c
    M clang/test/ParserOpenACC/parse-wait-construct.c
    M clang/test/Preprocessor/aarch64-target-features.c
    A clang/test/Preprocessor/embed_zos.c
    M clang/test/Preprocessor/has_builtin_cpuid.c
    M clang/test/Preprocessor/init-aarch64.c
    M clang/test/Preprocessor/init-loongarch.c
    M clang/test/Preprocessor/init.c
    M clang/test/Preprocessor/macro_fn.c
    M clang/test/Preprocessor/predefined-arch-macros.c
    M clang/test/Preprocessor/predefined-macros-no-warnings.c
    M clang/test/Preprocessor/ptrauth_feature.c
    M clang/test/Preprocessor/riscv-target-features.c
    M clang/test/Preprocessor/sycl-macro.cpp
    M clang/test/Preprocessor/wasm-target-features.c
    M clang/test/Preprocessor/x86_target_features.c
    M clang/test/Refactor/Extract/ObjCProperty.m
    A clang/test/Sema/Inputs/lifetime-analysis.h
    M clang/test/Sema/aarch64-cpu-supports.c
    M clang/test/Sema/aarch64-fixed-global-register.c
    A clang/test/Sema/aarch64-fp8-intrinsics/acle_sme2_fp8_cvt.c
    A clang/test/Sema/aarch64-fp8-intrinsics/acle_sme2_fp8_imm.c
    A clang/test/Sema/aarch64-fp8-intrinsics/acle_sme2_fp8_mla.c
    A clang/test/Sema/aarch64-fp8-intrinsics/acle_sme2_fp8_mopa.c
    M clang/test/Sema/aarch64-incompat-sm-builtin-calls.c
    A clang/test/Sema/aarch64-sme2-intrinsics/acle_sme2_fp8_fdot.c
    A clang/test/Sema/aarch64-sme2-intrinsics/acle_sme2_fp8_fvdot.c
    A clang/test/Sema/aarch64-sve-intrinsics/acle_neon_sve_bridge.cpp
    M clang/test/Sema/aarch64-sve2-intrinsics/acle_sve2_aes_bitperm_sha3_sm4.cpp
    A clang/test/Sema/aarch64-sve2-intrinsics/acle_sve2_fp8.c
    M clang/test/Sema/aarch64-sve2p1-intrinsics/acle_sve2p1_imm.cpp
    A clang/test/Sema/amdgcn-address-spaces.c
    M clang/test/Sema/arithmetic-fence-builtin.c
    A clang/test/Sema/arm-mfp8.c
    M clang/test/Sema/arm-mfp8.cpp
    M clang/test/Sema/asm.c
    M clang/test/Sema/atomic-ops.c
    A clang/test/Sema/attr-lifetimebound.c
    M clang/test/Sema/attr-nonblocking-constraints.cpp
    M clang/test/Sema/attr-target-clones-aarch64.c
    A clang/test/Sema/attr-target-version-unsupported.c
    M clang/test/Sema/attr-target-version.c
    A clang/test/Sema/avr-size-align.c
    A clang/test/Sema/builtin-assume-aligned-downgrade.c
    M clang/test/Sema/builtin-assume-aligned.c
    A clang/test/Sema/builtin-counted-by-ref.c
    A clang/test/Sema/builtin-counted-by-ref.cpp
    M clang/test/Sema/c2x-nodiscard.c
    M clang/test/Sema/constant_builtins_vector.cpp
    M clang/test/Sema/declspec.c
    M clang/test/Sema/enum.c
    M clang/test/Sema/gnu-flags.c
    A clang/test/Sema/nvptx-address-spaces.c
    M clang/test/Sema/pragma-attribute-strict-subjects.c
    R clang/test/Sema/renderscript.rs
    A clang/test/Sema/tautological-pointer-comparison.c
    M clang/test/Sema/unbounded-array-bounds.c
    A clang/test/Sema/warn-lifetime-analysis-capture-by.cpp
    M clang/test/Sema/warn-lifetime-analysis-nocfg.cpp
    M clang/test/Sema/warn-stringcompare.c
    M clang/test/SemaCUDA/Inputs/cuda.h
    M clang/test/SemaCUDA/fp16-arg-return.cu
    A clang/test/SemaCUDA/grid-constant.cu
    A clang/test/SemaCUDA/spirv-attrs.cu
    A clang/test/SemaCXX/GH95854.cpp
    A clang/test/SemaCXX/PR113855.cpp
    M clang/test/SemaCXX/addr-of-overloaded-function.cpp
    A clang/test/SemaCXX/amdgpu-barrier.cpp
    A clang/test/SemaCXX/attr-annotate-ast.cpp
    A clang/test/SemaCXX/attr-lifetime-capture-by.cpp
    M clang/test/SemaCXX/attr-lifetimebound.cpp
    A clang/test/SemaCXX/attr-no-specializations.cpp
    M clang/test/SemaCXX/attr-target-clones-riscv.cpp
    M clang/test/SemaCXX/attr-target-version-riscv.cpp
    M clang/test/SemaCXX/attr-target-version.cpp
    M clang/test/SemaCXX/builtin-bit-cast.cpp
    M clang/test/SemaCXX/c99-variable-length-array.cpp
    M clang/test/SemaCXX/calling-conv-compat.cpp
    M clang/test/SemaCXX/conditional-expr.cpp
    M clang/test/SemaCXX/constant-expression-cxx11.cpp
    M clang/test/SemaCXX/constexpr-builtin-bit-cast.cpp
    M clang/test/SemaCXX/constexpr-return-non-void-cxx2b.cpp
    M clang/test/SemaCXX/cxx1y-initializer-aggregates.cpp
    M clang/test/SemaCXX/cxx20-ctad-type-alias.cpp
    A clang/test/SemaCXX/cxx20-warn-dangling-paren-list-agg-init.cpp
    M clang/test/SemaCXX/cxx23-assume.cpp
    M clang/test/SemaCXX/cxx2b-deducing-this.cpp
    A clang/test/SemaCXX/cxx2b-warn-shadow.cpp
    M clang/test/SemaCXX/cxx2c-pack-indexing-ext-diags.cpp
    M clang/test/SemaCXX/cxx2c-pack-indexing.cpp
    M clang/test/SemaCXX/cxx2c-placeholder-vars.cpp
    M clang/test/SemaCXX/deprecated.cpp
    M clang/test/SemaCXX/enum.cpp
    M clang/test/SemaCXX/ext-int.cpp
    M clang/test/SemaCXX/ext-vector-type-conditional.cpp
    M clang/test/SemaCXX/function-redecl.cpp
    A clang/test/SemaCXX/gh113468.cpp
    M clang/test/SemaCXX/integer-overflow.cpp
    M clang/test/SemaCXX/lambda-capture-type-deduction.cpp
    M clang/test/SemaCXX/lambda-expressions.cpp
    M clang/test/SemaCXX/lambda-pack-expansion.cpp
    M clang/test/SemaCXX/literal-type.cpp
    M clang/test/SemaCXX/matrix-type.cpp
    A clang/test/SemaCXX/matrix-types-pseudo-destructor.cpp
    M clang/test/SemaCXX/ms-constexpr-new.cpp
    M clang/test/SemaCXX/ms-property.cpp
    A clang/test/SemaCXX/msvc-pragma-function-no-builtin-attr.cpp
    M clang/test/SemaCXX/new-delete.cpp
    A clang/test/SemaCXX/noexcept-destroying-delete.cpp
    A clang/test/SemaCXX/nullability_redecl.cpp
    M clang/test/SemaCXX/paren-list-agg-init.cpp
    M clang/test/SemaCXX/source_location.cpp
    M clang/test/SemaCXX/static-cast.cpp
    M clang/test/SemaCXX/vector-size-conditional.cpp
    A clang/test/SemaCXX/warn-array-comparion.cpp
    A clang/test/SemaCXX/warn-memaccess.cpp
    M clang/test/SemaCXX/warn-missing-noreturn.cpp
    M clang/test/SemaCXX/warn-self-comparisons.cpp
    M clang/test/SemaCXX/warn-shadow.cpp
    M clang/test/SemaCXX/warn-thread-safety-analysis.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-function-attr.cpp
    M clang/test/SemaCXX/warn-unsafe-buffer-usage-in-container-span-construct.cpp
    M clang/test/SemaCXX/warn-unsafe-buffer-usage-warning-data-invocation.cpp
    M clang/test/SemaCXX/warn-unsafe-buffer-usage.cpp
    M clang/test/SemaCXX/warn-unused-private-field.cpp
    M clang/test/SemaCXX/warn-unused-result.cpp
    A clang/test/SemaHIP/amdgpu-barrier.hip
    A clang/test/SemaHIP/zero-sized-device-array.hip
    M clang/test/SemaHLSL/ArrayTemporary.hlsl
    A clang/test/SemaHLSL/BuiltIns/GroupMemoryBarrierWithGroupSync-errors.hlsl
    M clang/test/SemaHLSL/BuiltIns/RWBuffers.hlsl
    M clang/test/SemaHLSL/BuiltIns/StructuredBuffers.hlsl
    A clang/test/SemaHLSL/BuiltIns/WaveActiveAllTrue-errors.hlsl
    A clang/test/SemaHLSL/BuiltIns/WaveActiveAnyTrue-errors.hlsl
    A clang/test/SemaHLSL/BuiltIns/WaveActiveCountBits-errors.hlsl
    A clang/test/SemaHLSL/BuiltIns/asdouble-errors.hlsl
    M clang/test/SemaHLSL/BuiltIns/asuint-errors.hlsl
    A clang/test/SemaHLSL/BuiltIns/buffer_update_counter-errors.hlsl
    A clang/test/SemaHLSL/BuiltIns/clip-errors.hlsl
    M clang/test/SemaHLSL/BuiltIns/countbits-errors.hlsl
    A clang/test/SemaHLSL/BuiltIns/dot4add_i8packed-errors.hlsl
    A clang/test/SemaHLSL/BuiltIns/dot4add_u8packed-errors.hlsl
    A clang/test/SemaHLSL/BuiltIns/firstbithigh-errors.hlsl
    A clang/test/SemaHLSL/BuiltIns/resource_getpointer-errors.hlsl
    A clang/test/SemaHLSL/BuiltIns/splitdouble-errors.hlsl
    A clang/test/SemaHLSL/Language/ArrayOutputArgs-errors.hlsl
    M clang/test/SemaHLSL/Semantics/entry_parameter.hlsl
    M clang/test/SemaHLSL/Semantics/invalid_entry_parameter.hlsl
    M clang/test/SemaHLSL/Semantics/valid_entry_parameter.hlsl
    A clang/test/SemaHLSL/Types/Traits/IsTypedResourceElementCompatible.hlsl
    M clang/test/SemaObjC/comptypes-legal.m
    A clang/test/SemaObjC/method-param-named-id.m
    M clang/test/SemaObjC/validate-attr-swift_attr.m
    A clang/test/SemaOpenACC/combined-construct-ast.cpp
    A clang/test/SemaOpenACC/combined-construct-async-clause.c
    A clang/test/SemaOpenACC/combined-construct-async-clause.cpp
    A clang/test/SemaOpenACC/combined-construct-attach-ast.cpp
    A clang/test/SemaOpenACC/combined-construct-attach-clause.c
    A clang/test/SemaOpenACC/combined-construct-attach-clause.cpp
    A clang/test/SemaOpenACC/combined-construct-auto_seq_independent-ast.cpp
    A clang/test/SemaOpenACC/combined-construct-auto_seq_independent-clauses.c
    A clang/test/SemaOpenACC/combined-construct-collapse-ast.cpp
    A clang/test/SemaOpenACC/combined-construct-collapse-clause.cpp
    A clang/test/SemaOpenACC/combined-construct-copy-ast.cpp
    A clang/test/SemaOpenACC/combined-construct-copy-clause.c
    A clang/test/SemaOpenACC/combined-construct-copy-clause.cpp
    A clang/test/SemaOpenACC/combined-construct-copyin-ast.cpp
    A clang/test/SemaOpenACC/combined-construct-copyin-clause.c
    A clang/test/SemaOpenACC/combined-construct-copyin-clause.cpp
    A clang/test/SemaOpenACC/combined-construct-copyout-ast.cpp
    A clang/test/SemaOpenACC/combined-construct-copyout-clause.c
    A clang/test/SemaOpenACC/combined-construct-copyout-clause.cpp
    A clang/test/SemaOpenACC/combined-construct-create-ast.cpp
    A clang/test/SemaOpenACC/combined-construct-create-clause.c
    A clang/test/SemaOpenACC/combined-construct-create-clause.cpp
    A clang/test/SemaOpenACC/combined-construct-default-ast.cpp
    A clang/test/SemaOpenACC/combined-construct-default-clause.c
    A clang/test/SemaOpenACC/combined-construct-default-clause.cpp
    A clang/test/SemaOpenACC/combined-construct-device_type-ast.cpp
    A clang/test/SemaOpenACC/combined-construct-device_type-clause.c
    A clang/test/SemaOpenACC/combined-construct-device_type-clause.cpp
    A clang/test/SemaOpenACC/combined-construct-deviceptr-ast.cpp
    A clang/test/SemaOpenACC/combined-construct-deviceptr-clause.c
    A clang/test/SemaOpenACC/combined-construct-deviceptr-clause.cpp
    A clang/test/SemaOpenACC/combined-construct-firstprivate-clause.c
    A clang/test/SemaOpenACC/combined-construct-firstprivate-clause.cpp
    A clang/test/SemaOpenACC/combined-construct-gang-ast.cpp
    A clang/test/SemaOpenACC/combined-construct-gang-clause.cpp
    A clang/test/SemaOpenACC/combined-construct-if-ast.cpp
    A clang/test/SemaOpenACC/combined-construct-if-clause.c
    A clang/test/SemaOpenACC/combined-construct-if-clause.cpp
    A clang/test/SemaOpenACC/combined-construct-no_create-ast.cpp
    A clang/test/SemaOpenACC/combined-construct-no_create-clause.c
    A clang/test/SemaOpenACC/combined-construct-no_create-clause.cpp
    A clang/test/SemaOpenACC/combined-construct-num_gangs-ast.cpp
    A clang/test/SemaOpenACC/combined-construct-num_gangs-clause.c
    A clang/test/SemaOpenACC/combined-construct-num_workers-ast.cpp
    A clang/test/SemaOpenACC/combined-construct-num_workers-clause.c
    A clang/test/SemaOpenACC/combined-construct-present-ast.cpp
    A clang/test/SemaOpenACC/combined-construct-present-clause.c
    A clang/test/SemaOpenACC/combined-construct-present-clause.cpp
    A clang/test/SemaOpenACC/combined-construct-private-clause.c
    A clang/test/SemaOpenACC/combined-construct-private-clause.cpp
    A clang/test/SemaOpenACC/combined-construct-private-firstprivate-ast.cpp
    A clang/test/SemaOpenACC/combined-construct-reduction-ast.cpp
    A clang/test/SemaOpenACC/combined-construct-reduction-clause.cpp
    A clang/test/SemaOpenACC/combined-construct-self-ast.cpp
    A clang/test/SemaOpenACC/combined-construct-self-clause.c
    A clang/test/SemaOpenACC/combined-construct-self-clause.cpp
    A clang/test/SemaOpenACC/combined-construct-tile-ast.cpp
    A clang/test/SemaOpenACC/combined-construct-tile-clause.cpp
    A clang/test/SemaOpenACC/combined-construct-vector-ast.cpp
    A clang/test/SemaOpenACC/combined-construct-vector-clause.cpp
    A clang/test/SemaOpenACC/combined-construct-vector_length-ast.cpp
    A clang/test/SemaOpenACC/combined-construct-vector_length-clause.c
    A clang/test/SemaOpenACC/combined-construct-wait-ast.cpp
    A clang/test/SemaOpenACC/combined-construct-wait-clause.c
    A clang/test/SemaOpenACC/combined-construct-wait-clause.cpp
    A clang/test/SemaOpenACC/combined-construct-worker-ast.cpp
    A clang/test/SemaOpenACC/combined-construct-worker-clause.cpp
    A clang/test/SemaOpenACC/combined-construct.cpp
    M clang/test/SemaOpenACC/compute-construct-ast.cpp
    M clang/test/SemaOpenACC/compute-construct-async-clause.c
    M clang/test/SemaOpenACC/compute-construct-async-clause.cpp
    M clang/test/SemaOpenACC/compute-construct-attach-clause.c
    M clang/test/SemaOpenACC/compute-construct-copy-clause.c
    M clang/test/SemaOpenACC/compute-construct-copyin-clause.c
    M clang/test/SemaOpenACC/compute-construct-copyout-clause.c
    M clang/test/SemaOpenACC/compute-construct-create-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-deviceptr-clause.c
    M clang/test/SemaOpenACC/compute-construct-firstprivate-clause.c
    M clang/test/SemaOpenACC/compute-construct-firstprivate-clause.cpp
    M clang/test/SemaOpenACC/compute-construct-if-clause.c
    M clang/test/SemaOpenACC/compute-construct-no_create-clause.c
    M clang/test/SemaOpenACC/compute-construct-num_gangs-clause.c
    M clang/test/SemaOpenACC/compute-construct-num_gangs-clause.cpp
    M clang/test/SemaOpenACC/compute-construct-num_workers-clause.c
    M clang/test/SemaOpenACC/compute-construct-num_workers-clause.cpp
    M clang/test/SemaOpenACC/compute-construct-present-clause.c
    M clang/test/SemaOpenACC/compute-construct-private-clause.c
    M clang/test/SemaOpenACC/compute-construct-reduction-clause.c
    M clang/test/SemaOpenACC/compute-construct-reduction-clause.cpp
    M clang/test/SemaOpenACC/compute-construct-self-clause.c
    M clang/test/SemaOpenACC/compute-construct-varlist-ast.cpp
    M clang/test/SemaOpenACC/compute-construct-vector_length-clause.c
    M clang/test/SemaOpenACC/compute-construct-vector_length-clause.cpp
    M clang/test/SemaOpenACC/compute-construct-wait-clause.c
    M clang/test/SemaOpenACC/compute-construct-wait-clause.cpp
    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-attach-ast.cpp
    A clang/test/SemaOpenACC/data-construct-attach-clause.c
    A clang/test/SemaOpenACC/data-construct-copy-ast.cpp
    A clang/test/SemaOpenACC/data-construct-copy-clause.c
    A clang/test/SemaOpenACC/data-construct-copyin-ast.cpp
    A clang/test/SemaOpenACC/data-construct-copyin-clause.c
    A clang/test/SemaOpenACC/data-construct-copyout-ast.cpp
    A clang/test/SemaOpenACC/data-construct-copyout-clause.c
    A clang/test/SemaOpenACC/data-construct-create-ast.cpp
    A clang/test/SemaOpenACC/data-construct-create-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-delete-ast.cpp
    A clang/test/SemaOpenACC/data-construct-delete-clause.c
    A clang/test/SemaOpenACC/data-construct-detach-ast.cpp
    A clang/test/SemaOpenACC/data-construct-detach-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-deviceptr-ast.cpp
    A clang/test/SemaOpenACC/data-construct-deviceptr-clause.c
    A clang/test/SemaOpenACC/data-construct-finalize-ast.cpp
    A clang/test/SemaOpenACC/data-construct-finalize-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-if_present-ast.cpp
    A clang/test/SemaOpenACC/data-construct-if_present-clause.c
    A clang/test/SemaOpenACC/data-construct-no_create-ast.cpp
    A clang/test/SemaOpenACC/data-construct-no_create-clause.c
    A clang/test/SemaOpenACC/data-construct-present-ast.cpp
    A clang/test/SemaOpenACC/data-construct-present-clause.c
    A clang/test/SemaOpenACC/data-construct-use_device-ast.cpp
    A clang/test/SemaOpenACC/data-construct-use_device-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
    A clang/test/SemaOpenACC/init-construct-ast.cpp
    A clang/test/SemaOpenACC/init-construct.cpp
    M clang/test/SemaOpenACC/loop-ast.cpp
    M clang/test/SemaOpenACC/loop-construct-auto_seq_independent-ast.cpp
    M clang/test/SemaOpenACC/loop-construct-auto_seq_independent-clauses.c
    M clang/test/SemaOpenACC/loop-construct-collapse-ast.cpp
    M clang/test/SemaOpenACC/loop-construct-collapse-clause.cpp
    M clang/test/SemaOpenACC/loop-construct-device_type-ast.cpp
    M clang/test/SemaOpenACC/loop-construct-device_type-clause.c
    M clang/test/SemaOpenACC/loop-construct-device_type-clause.cpp
    M clang/test/SemaOpenACC/loop-construct-gang-ast.cpp
    M clang/test/SemaOpenACC/loop-construct-gang-clause.cpp
    M clang/test/SemaOpenACC/loop-construct-private-clause.c
    M clang/test/SemaOpenACC/loop-construct-private-clause.cpp
    A clang/test/SemaOpenACC/loop-construct-reduction-ast.cpp
    A clang/test/SemaOpenACC/loop-construct-reduction-clause.cpp
    M clang/test/SemaOpenACC/loop-construct-tile-ast.cpp
    M clang/test/SemaOpenACC/loop-construct-tile-clause.cpp
    M clang/test/SemaOpenACC/loop-construct-vector-ast.cpp
    M clang/test/SemaOpenACC/loop-construct-vector-clause.cpp
    M clang/test/SemaOpenACC/loop-construct-worker-ast.cpp
    M clang/test/SemaOpenACC/loop-construct-worker-clause.cpp
    A clang/test/SemaOpenACC/loop-construct.cpp
    M clang/test/SemaOpenACC/loop-loc-and-stmt.c
    M clang/test/SemaOpenACC/loop-loc-and-stmt.cpp
    M clang/test/SemaOpenACC/no-branch-in-out.c
    M clang/test/SemaOpenACC/no-branch-in-out.cpp
    A clang/test/SemaOpenACC/shutdown-construct-ast.cpp
    A clang/test/SemaOpenACC/shutdown-construct.cpp
    M clang/test/SemaOpenACC/unimplemented-construct.c
    A clang/test/SemaOpenACC/wait-construct-ast.cpp
    A clang/test/SemaOpenACC/wait-construct.cpp
    M clang/test/SemaOpenCL/access-qualifier.cl
    A clang/test/SemaOpenCL/amdgpu-barrier.cl
    M clang/test/SemaOpenCL/builtins-amdgcn-error-gfx10.cl
    M clang/test/SemaOpenCL/builtins-amdgcn-error-gfx9.cl
    A clang/test/SemaOpenCL/builtins-amdgcn-error-gfx950-param.cl
    A clang/test/SemaOpenCL/builtins-amdgcn-error-gfx950.cl
    M clang/test/SemaOpenCL/builtins-amdgcn-error-wave32.cl
    M clang/test/SemaOpenCL/builtins-amdgcn-gfx940-err.cl
    A clang/test/SemaOpenCL/builtins-amdgcn-wave32-func-attr.cl
    A clang/test/SemaOpenMP/amdgpu-barrier.cpp
    A clang/test/SemaSYCL/sycl-kernel-entry-point-attr-grammar.cpp
    A clang/test/SemaSYCL/sycl-kernel-entry-point-attr-ignored.cpp
    M clang/test/SemaTemplate/concepts-out-of-line-def.cpp
    M clang/test/SemaTemplate/pack-deduction.cpp
    A clang/test/SemaTemplate/template-args-deduction-aggregates.cpp
    M clang/test/lit.cfg.py
    M clang/tools/CMakeLists.txt
    M clang/tools/amdgpu-arch/AMDGPUArch.cpp
    R clang/tools/amdgpu-arch/AMDGPUArchByHSA.cpp
    A clang/tools/amdgpu-arch/AMDGPUArchByKFD.cpp
    M clang/tools/amdgpu-arch/CMakeLists.txt
    M clang/tools/c-index-test/core_main.cpp
    M clang/tools/clang-format/ClangFormat.cpp
    M clang/tools/clang-format/git-clang-format
    M clang/tools/clang-format/git-clang-format.bat
    M clang/tools/clang-import-test/clang-import-test.cpp
    M clang/tools/clang-installapi/ClangInstallAPI.cpp
    M clang/tools/clang-installapi/Options.cpp
    M clang/tools/clang-linker-wrapper/ClangLinkerWrapper.cpp
    M clang/tools/clang-linker-wrapper/LinkerWrapperOpts.td
    M clang/tools/clang-nvlink-wrapper/ClangNVLinkWrapper.cpp
    M clang/tools/clang-nvlink-wrapper/NVLinkOpts.td
    M clang/tools/clang-offload-bundler/ClangOffloadBundler.cpp
    M clang/tools/clang-refactor/TestSupport.cpp
    M clang/tools/clang-repl/CMakeLists.txt
    M clang/tools/clang-repl/ClangRepl.cpp
    M clang/tools/clang-scan-deps/ClangScanDeps.cpp
    M clang/tools/clang-shlib/CMakeLists.txt
    A clang/tools/clang-shlib/simple_version_script.map.in
    A clang/tools/clang-sycl-linker/CMakeLists.txt
    A clang/tools/clang-sycl-linker/ClangSYCLLinker.cpp
    A clang/tools/clang-sycl-linker/SYCLLinkOpts.td
    M clang/tools/diagtool/ShowEnabledWarnings.cpp
    M clang/tools/driver/cc1_main.cpp
    M clang/tools/driver/cc1gen_reproducer_main.cpp
    M clang/tools/driver/driver.cpp
    M clang/tools/include-mapping/cppreference_parser.py
    M clang/tools/libclang/CIndex.cpp
    M clang/tools/libclang/CIndexCXX.cpp
    M clang/tools/libclang/CXCursor.cpp
    M clang/tools/libclang/Indexing.cpp
    M clang/unittests/AST/ASTContextParentMapTest.cpp
    M clang/unittests/AST/ASTImporterTest.cpp
    A clang/unittests/AST/ByteCode/BitcastBuffer.cpp
    M clang/unittests/AST/ByteCode/CMakeLists.txt
    M clang/unittests/AST/ByteCode/toAPValue.cpp
    M clang/unittests/AST/EvaluateAsRValueTest.cpp
    M clang/unittests/AST/ExternalASTSourceTest.cpp
    M clang/unittests/AST/StructuralEquivalenceTest.cpp
    M clang/unittests/ASTMatchers/ASTMatchersNarrowingTest.cpp
    M clang/unittests/ASTMatchers/ASTMatchersNodeTest.cpp
    M clang/unittests/ASTMatchers/ASTMatchersTraversalTest.cpp
    M clang/unittests/Analysis/CloneDetectionTest.cpp
    M clang/unittests/Analysis/FlowSensitive/ASTOpsTest.cpp
    M clang/unittests/Analysis/FlowSensitive/TransferTest.cpp
    M clang/unittests/Analysis/FlowSensitive/UncheckedOptionalAccessModelTest.cpp
    M clang/unittests/Basic/DiagnosticTest.cpp
    M clang/unittests/CodeGen/TBAAMetadataTest.cpp
    M clang/unittests/CodeGen/TestCompiler.h
    M clang/unittests/Driver/DXCModeTest.cpp
    M clang/unittests/Driver/ToolChainTest.cpp
    M clang/unittests/Format/ConfigParseTest.cpp
    M clang/unittests/Format/FormatTest.cpp
    M clang/unittests/Format/FormatTestCSharp.cpp
    M clang/unittests/Format/FormatTestJS.cpp
    M clang/unittests/Format/FormatTestVerilog.cpp
    M clang/unittests/Format/TokenAnnotatorTest.cpp
    M clang/unittests/Frontend/ASTUnitTest.cpp
    M clang/unittests/Frontend/CodeGenActionTest.cpp
    M clang/unittests/Frontend/CompilerInstanceTest.cpp
    M clang/unittests/Frontend/CompilerInvocationTest.cpp
    M clang/unittests/Frontend/FrontendActionTest.cpp
    M clang/unittests/Frontend/OutputStreamTest.cpp
    M clang/unittests/Frontend/PCHPreambleTest.cpp
    M clang/unittests/Frontend/ReparseWorkingDirTest.cpp
    M clang/unittests/Frontend/UtilsTest.cpp
    M clang/unittests/Interpreter/CMakeLists.txt
    M clang/unittests/Lex/HeaderSearchTest.cpp
    M clang/unittests/Lex/LexerTest.cpp
    M clang/unittests/Sema/SemaNoloadLookupTest.cpp
    M clang/unittests/Serialization/CMakeLists.txt
    M clang/unittests/Serialization/ForceCheckFileInputTest.cpp
    A clang/unittests/Serialization/LoadSpecLazilyTest.cpp
    M clang/unittests/Serialization/ModuleCacheTest.cpp
    M clang/unittests/Serialization/NoCommentsTest.cpp
    M clang/unittests/Serialization/PreambleInNamedModulesTest.cpp
    M clang/unittests/Serialization/VarDeclConstantInitTest.cpp
    M clang/unittests/StaticAnalyzer/CMakeLists.txt
    M clang/unittests/StaticAnalyzer/MemRegionDescriptiveNameTest.cpp
    A clang/unittests/StaticAnalyzer/SValSimplifyerTest.cpp
    M clang/unittests/StaticAnalyzer/Z3CrosscheckOracleTest.cpp
    M clang/unittests/Support/TimeProfilerTest.cpp
    M clang/unittests/Tooling/ASTSelectionTest.cpp
    A clang/unittests/Tooling/CRTPTestVisitor.h
    M clang/unittests/Tooling/CastExprTest.cpp
    M clang/unittests/Tooling/CommentHandlerTest.cpp
    M clang/unittests/Tooling/DependencyScanning/DependencyScannerTest.cpp
    M clang/unittests/Tooling/ExecutionTest.cpp
    M clang/unittests/Tooling/LexicallyOrderedRecursiveASTVisitorTest.cpp
    M clang/unittests/Tooling/LookupTest.cpp
    M clang/unittests/Tooling/QualTypeNamesTest.cpp
    M clang/unittests/Tooling/RecursiveASTVisitorTestDeclVisitor.cpp
    M clang/unittests/Tooling/RecursiveASTVisitorTestPostOrderVisitor.cpp
    M clang/unittests/Tooling/RecursiveASTVisitorTestTypeLocVisitor.cpp
    M clang/unittests/Tooling/RecursiveASTVisitorTests/Attr.cpp
    M clang/unittests/Tooling/RecursiveASTVisitorTests/BitfieldInitializer.cpp
    M clang/unittests/Tooling/RecursiveASTVisitorTests/CXXBoolLiteralExpr.cpp
    M clang/unittests/Tooling/RecursiveASTVisitorTests/CXXMemberCall.cpp
    M clang/unittests/Tooling/RecursiveASTVisitorTests/CXXMethodDecl.cpp
    M clang/unittests/Tooling/RecursiveASTVisitorTests/CXXOperatorCallExprTraverser.cpp
    M clang/unittests/Tooling/RecursiveASTVisitorTests/CallbacksCommon.h
    M clang/unittests/Tooling/RecursiveASTVisitorTests/Class.cpp
    M clang/unittests/Tooling/RecursiveASTVisitorTests/Concept.cpp
    M clang/unittests/Tooling/RecursiveASTVisitorTests/ConstructExpr.cpp
    M clang/unittests/Tooling/RecursiveASTVisitorTests/DeclRefExpr.cpp
    M clang/unittests/Tooling/RecursiveASTVisitorTests/DeductionGuide.cpp
    M clang/unittests/Tooling/RecursiveASTVisitorTests/ImplicitCtor.cpp
    M clang/unittests/Tooling/RecursiveASTVisitorTests/ImplicitCtorInitializer.cpp
    M clang/unittests/Tooling/RecursiveASTVisitorTests/InitListExprPostOrder.cpp
    M clang/unittests/Tooling/RecursiveASTVisitorTests/InitListExprPostOrderNoQueue.cpp
    M clang/unittests/Tooling/RecursiveASTVisitorTests/InitListExprPreOrder.cpp
    M clang/unittests/Tooling/RecursiveASTVisitorTests/InitListExprPreOrderNoQueue.cpp
    M clang/unittests/Tooling/RecursiveASTVisitorTests/IntegerLiteral.cpp
    M clang/unittests/Tooling/RecursiveASTVisitorTests/LambdaDefaultCapture.cpp
    M clang/unittests/Tooling/RecursiveASTVisitorTests/LambdaExpr.cpp
    M clang/unittests/Tooling/RecursiveASTVisitorTests/LambdaTemplateParams.cpp

  Log Message:
  -----------
  Merge branch 'main' into users/chapuni/cov/single/test

Conflicts:
	llvm/test/tools/llvm-cov/branch-macros.cpp


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

  Changed paths:
    M llvm/test/tools/llvm-cov/Inputs/branch-c-general.c
    M llvm/test/tools/llvm-cov/Inputs/branch-logical-mixed.cpp
    M llvm/test/tools/llvm-cov/Inputs/branch-macros.cpp
    M llvm/test/tools/llvm-cov/Inputs/showLineExecutionCounts.cpp
    M llvm/test/tools/llvm-cov/branch-c-general.test
    M llvm/test/tools/llvm-cov/branch-logical-mixed.test
    M llvm/test/tools/llvm-cov/branch-macros.test
    M llvm/test/tools/llvm-cov/showLineExecutionCounts.test

  Log Message:
  -----------
  Use `[[#min(C,n)]]` for tests


Compare: https://github.com/llvm/llvm-project/compare/00ac90d232a5...5fa862ad60b7

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