[all-commits] [llvm/llvm-project] 72e58e: [Clang] Set `__cpp_explicit_this_parameter` (#107451)

Michael Kruse via All-commits all-commits at lists.llvm.org
Mon Jan 6 07:30:11 PST 2025


  Branch: refs/heads/users/meinersbur/flang_runtime_move-files
  Home:   https://github.com/llvm/llvm-project
  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: e93d226664d7012d1bb017f0cda24ad1b75f37fc
      https://github.com/llvm/llvm-project/commit/e93d226664d7012d1bb017f0cda24ad1b75f37fc
  Author: Valentin Clement (バレンタイン クレメン) <clementval at gmail.com>
  Date:   2024-12-19 (Thu, 19 Dec 2024)

  Changed paths:
    M flang/lib/Optimizer/CodeGen/CodeGen.cpp
    M flang/lib/Optimizer/Transforms/CompilerGeneratedNames.cpp
    A flang/test/Fir/CUDA/cuda-compiler-generated-names.mlir

  Log Message:
  -----------
  [flang][cuda] Update CompilerGeneratedNames pass to work on gpu module (#120660)

- Update `CompilerGeneratedNames` so it can perform renaming in
gpu.module
- Update Codegen so it look in the correct module for the type
descriptor.


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

  Changed paths:
    M llvm/lib/Target/ARM/ARMBaseInstrInfo.cpp

  Log Message:
  -----------
  [ARM] Use `RegisterClassInfo::getRegPressureSetLimit` (#120377)

`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: 91e392b2836f25bf5641f0ca7ec2f64018c2193b
      https://github.com/llvm/llvm-project/commit/91e392b2836f25bf5641f0ca7ec2f64018c2193b
  Author: Vitaly Buka <vitalybuka at google.com>
  Date:   2024-12-19 (Thu, 19 Dec 2024)

  Changed paths:
    M compiler-rt/test/ubsan/TestCases/Misc/local_bounds.cpp

  Log Message:
  -----------
  [ubsan] Fix test on Windows


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

  Changed paths:
    M llvm/lib/Target/AMDGPU/SIInstructions.td
    M llvm/test/CodeGen/AMDGPU/GlobalISel/inst-select-pattern-smed3.s16.mir
    M llvm/test/CodeGen/AMDGPU/GlobalISel/inst-select-pattern-umed3.s16.mir

  Log Message:
  -----------
  [AMDGPU][True16][MC] V_MED3_I/U16_fake16 CodeGen pattern (#120600)

In this patch https://github.com/llvm/llvm-project/pull/113603 replace
`V_MED3_I/U16` to `V_MED3_I/U16_fake16` for Post-GFX11, but it miss to
update the CodeGen pattern. This patch update and corrert the CodeGen
pattern


  Commit: e7e622f153126582670d2d07034e97e1b780a464
      https://github.com/llvm/llvm-project/commit/e7e622f153126582670d2d07034e97e1b780a464
  Author: Shubham Sandeep Rastogi <srastogi22 at apple.com>
  Date:   2024-12-19 (Thu, 19 Dec 2024)

  Changed paths:
    R llvm/include/llvm/CodeGen/DroppedVariableStats.h
    A llvm/include/llvm/Passes/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/CMakeLists.txt
    A llvm/lib/Passes/DroppedVariableStats.cpp
    M llvm/unittests/CodeGen/CMakeLists.txt
    R llvm/unittests/CodeGen/DroppedVariableStatsIRTest.cpp
    M llvm/unittests/IR/CMakeLists.txt
    A llvm/unittests/IR/DroppedVariableStatsIRTest.cpp

  Log Message:
  -----------
  Revert "Move DroppedVariableStats to CodeGen lib (#120650)"

This reverts commit 4307198d51487cc16f98eebb2113caf4a1905914.

Broke bot ppc64le-clang-multistage-test:

undefined reference to
`llvm::DroppedVariableStats::populateVarIDSetAndInlinedMap in
In function `llvm::DroppedVariableStatsIR::visitEveryInstruction


  Commit: 16e42235f153eaa2c3abd2e203a771db4e709607
      https://github.com/llvm/llvm-project/commit/16e42235f153eaa2c3abd2e203a771db4e709607
  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 e7e622f15312


  Commit: ebb5f1a4e5f2f150c60302a9374b3ae1b66e2028
      https://github.com/llvm/llvm-project/commit/ebb5f1a4e5f2f150c60302a9374b3ae1b66e2028
  Author: Amara Emerson <amara at apple.com>
  Date:   2024-12-19 (Thu, 19 Dec 2024)

  Changed paths:
    M llvm/lib/Target/AArch64/GISel/AArch64InstructionSelector.cpp
    A llvm/test/CodeGen/AArch64/GlobalISel/select-fp-anyext-crash.ll

  Log Message:
  -----------
  [AArch64][GlobalISel] Fix crash when selecting an anyextending FP load.

We split anyext FP loads back into a regular load + extend, but when we do that
we need to ensure that some state about the instruction is updated to correctly
reflect the new reality.

rdar://141660282


  Commit: a73ca291547cf4f5822a3029dd56315354557517
      https://github.com/llvm/llvm-project/commit/a73ca291547cf4f5822a3029dd56315354557517
  Author: Dmitry Chestnykh <dm.chestnykh at gmail.com>
  Date:   2024-12-20 (Fri, 20 Dec 2024)

  Changed paths:
    M compiler-rt/lib/sanitizer_common/CMakeLists.txt
    M compiler-rt/lib/sanitizer_common/sanitizer_common_interface.inc
    A compiler-rt/lib/sanitizer_common/sanitizer_contiguous_container.cpp

  Log Message:
  -----------
  [compiler-rt] Add weak defs for .*contiguous_container.* functions (#120376)

Fix #120278


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

  Changed paths:
    M llvm/lib/Target/AMDGPU/AMDGPURegisterBankInfo.cpp
    M llvm/lib/Target/AMDGPU/SIISelLowering.cpp
    M llvm/test/CodeGen/AMDGPU/GlobalISel/dynamic-alloca-uniform.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/non-entry-alloca.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/regbankselect-dyn-stackalloc.mir
    M llvm/test/CodeGen/AMDGPU/amdpal-callable.ll
    M llvm/test/CodeGen/AMDGPU/non-entry-alloca.ll

  Log Message:
  -----------
  [AMDGPU] Update base addr of dyn alloca considering GrowingUp stack (#119822)

Currently, compiler calculates the base address of
dynamic sized stack object (alloca) as follows:
1. `NewSP = Align(CurrSP + Size)`
_where_ `Size = # of elements * wave size * alloca type`
2. `BaseAddr = NewSP`
3. The alignment is computed as: `AlignedAddr = Addr & ~(Alignment - 1)`
4. Return the `BaseAddr`
This makes sense when stack is grows downwards.

AMDGPU stack grows upwards, the base address 
needs to be aligned first and SP bump by required size later:
1. `BaseAddr = Align(CurrSP)`
2. `NewSP = BaseAddr + Size`
3. `AlignedAddr = (Addr + (Alignment - 1)) & ~(Alignment - 1)`
4. and returns the `BaseAddr`.


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

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

  Log Message:
  -----------
  [SelectionDAG] Use SmallVectorImpl& to avoid repeating SmallVector size. NFC


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

  Changed paths:
    M llvm/lib/Target/X86/X86ArgumentStackSlotRebase.cpp
    M llvm/lib/Target/X86/X86LowerAMXType.cpp

  Log Message:
  -----------
  [X86] Remove redundant initialize*Pass in ctor


  Commit: 59c7d6f965af9f1e05f8447c50fde8bbde346361
      https://github.com/llvm/llvm-project/commit/59c7d6f965af9f1e05f8447c50fde8bbde346361
  Author: Fangrui Song <i at maskray.me>
  Date:   2024-12-19 (Thu, 19 Dec 2024)

  Changed paths:
    M llvm/test/MC/Disassembler/Xtensa/code_density.txt

  Log Message:
  -----------
  [Xtensa,test] Remove failing RUN line from #119639


  Commit: 93743ee566694d2fcafa3243c03330e86bf9c806
      https://github.com/llvm/llvm-project/commit/93743ee566694d2fcafa3243c03330e86bf9c806
  Author: Mikhail Goncharov <goncharov.mikhail at gmail.com>
  Date:   2024-12-20 (Fri, 20 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
    R clang/test/CodeGen/atomic-test-and-set.c
    M clang/test/Sema/atomic-ops.c

  Log Message:
  -----------
  Revert "[Clang] Re-write codegen for atomic_test_and_set and atomic_clear (#120449)"

This reverts commit 9fc2fadbfcb34df5f72bdaed28a7874bf584eed7.

See https://github.com/llvm/llvm-project/pull/120449#issuecomment-2556089016


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

  Changed paths:
    M clang/docs/ReleaseNotes.rst
    M clang/lib/Sema/CheckExprLifetime.cpp
    M clang/test/Sema/warn-lifetime-analysis-nocfg.cpp

  Log Message:
  -----------
  [clang] Fix dangling false positives for conditional operators. (#120233)

When analyzing a dangling gsl pointer, we currently filter out all field
access `MemberExpr` to avoid common false positives (`string_view sv =
Temp().sv`), However, this filter only applies to direct MemberExpr
instances, leaving the conditional operator as an escaping example
(`GSLPointer pointer(Cond ? Owner().ptr : GSLPointer());`).

This patch extends the MemberExpr logic to handle the conditional
operator. The heuristic is intentionally simple, which may result in
some false negatives. However, it effectively covers common cases like
`std::string_view sv = cond ? "123" : std::string();`, which is a
reasonable trade-off.

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


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

  Changed paths:
    M llvm/Maintainers.md

  Log Message:
  -----------
  [LLVM] Update Sparc maintainer (#120430)

Currently vegovin is listed as the maintainer of the Sparc backend,
however they haven't been involved with LLVM for about 10 years already.

Nominate koachan as the new Sparc maintainer.


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

  Changed paths:
    M llvm/Maintainers.md

  Log Message:
  -----------
  [LLVM] Update LTO maintainer (#120575)

Update the LTO maintainer from pcc to teresajohnson.


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

  Changed paths:
    M bolt/lib/Core/BinaryContext.cpp
    M bolt/test/RISCV/call-annotations.s
    M bolt/test/RISCV/relax.s
    M bolt/test/RISCV/reloc-branch.s
    M bolt/test/RISCV/reloc-jal.s

  Log Message:
  -----------
  [BOLT] Correctly print preferred disassembly for annotated instructions (#120564)

This patch makes sure that `BinaryContext::printInstruction` prints the
preferred disassembly. Preferred disassembly only gets printed when
there are no annotations on the MCInst. Therefore, this patch
temporarily removes the annotations before printing it.

A few examples of before and after on AArch64 instructions are as
follows:

```
  BEFORE                     AFTER
                             (preferred disassembly)

  ret   x30                  ret
  orr   x30, xzr, x0         mov   x30, x0
  hint  #29                  autiasp
  hint  #12                  autia1716
```

Clearly, the preferred disassembly is easier for developers to read, and
is the disassembly that tools should be printing.

This patch is motivated as part of future work on the
llvm-bolt-binary-analysis tool, making sure that the reports it prints
do use preferred disassembly.

This patch was cherry-picked from
https://github.com/kbeyls/llvm-project/tree/bolt-gadget-scanner-prototype.

In this current patch, this only affects existing RISCV test cases.

This patch also does improve test cases in future patches that will
introduce a binary analysis for llvm-bolt-binary-analysis that checks
for correct application of pac-ret (pointer authentication on return
addresses).


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

  Changed paths:
    M llvm/lib/Target/ARM/ARMISelLowering.cpp
    M llvm/test/CodeGen/Thumb2/bf16-instructions.ll

  Log Message:
  -----------
  [ARM] Expand bf16 expanding/rounding fp loads/stores

As with other fp types, these should be expanded to prevent nodes that are
illegal for Arm.


  Commit: 701f2409befa7d44aea0c31494ac0d3a5d18415e
      https://github.com/llvm/llvm-project/commit/701f2409befa7d44aea0c31494ac0d3a5d18415e
  Author: donald chen <chenxunyu1993 at gmail.com>
  Date:   2024-12-20 (Fri, 20 Dec 2024)

  Changed paths:
    M mlir/lib/Dialect/SCF/Utils/Utils.cpp
    M mlir/test/Transforms/scf-if-utils.mlir
    M mlir/test/lib/Dialect/SCF/TestSCFUtils.cpp

  Log Message:
  -----------
  [mlir] fix crash when scf utils work on llvm.func (#120688)

fixed https://github.com/llvm/llvm-project/issues/119378


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

  Changed paths:
    M mlir/lib/Conversion/FuncToLLVM/FuncToLLVM.cpp
    M mlir/test/Dialect/ArmSVE/legalize-for-llvm.mlir
    M mlir/test/lib/Dialect/LLVM/TestLowerToLLVM.cpp
    M mlir/test/mlir-cpu-runner/math-polynomial-approx.mlir
    M mlir/test/mlir-cpu-runner/test-expand-math-approx.mlir
    M mlir/test/python/execution_engine.py
    M mlir/tools/mlir-vulkan-runner/mlir-vulkan-runner.cpp

  Log Message:
  -----------
  [mlir][Arith] Remove `arith-to-llvm` from `func-to-llvm` (#120548)

Do not run `arith-to-llvm` as part of `func-to-llvm`. This commit partly
fixes #70982.

Also simplify the pass pipeline for two math dialect integration tests.

Note for LLVM integration: If you see failures, add `arith-to-llvm` to your pass pipeline.


  Commit: d0b7633d7ad566579bfb794f95cce9aef294c92b
      https://github.com/llvm/llvm-project/commit/d0b7633d7ad566579bfb794f95cce9aef294c92b
  Author: Timothy Hoffman <4001421+tim-hoffman at users.noreply.github.com>
  Date:   2024-12-20 (Fri, 20 Dec 2024)

  Changed paths:
    M mlir/docs/DefiningDialects/AttributesAndTypes.md
    M mlir/docs/PatternRewriter.md
    M mlir/docs/SymbolsAndSymbolTables.md
    M mlir/include/mlir/IR/DialectImplementation.h
    M mlir/include/mlir/IR/OpBase.td
    M mlir/include/mlir/Tools/mlir-opt/MlirOptMain.h

  Log Message:
  -----------
  [mlir] [doc] fix typos in documentation (#120179)

This PR fixes typos within documentation in various files.

Most changes are trivial. The one interesting change is the
documentation for `custom<X>` in `assemblyFormat` that used the wrong
return type. The return type from the `parseX` function should be
`ParseResult` rather than `LogicalResult`. The `ParseResult` type is
necessary due to tablegen generating code like the following within an
Op `parse()` function:
```
    auto odsResult = parseInferredArrayType(parser, elementsTypes, elementsOperands, resultRawTypes[0]);
    if (odsResult) return ::mlir::failure();
```
This will fail to compile if `parseInferredArrayType()` returns
`LogicalResult`. See also `parsePrettyLLVMType()` in LLVMTypes.h,
`parseSingleBlockRegion()` in IRDL.cpp, `parseDynamicIndexList()` in
ViewLikeInterface.cpp, etc.


  Commit: d8a5fae6913a0f6c7e3c814315c1a11fcfd609a1
      https://github.com/llvm/llvm-project/commit/d8a5fae6913a0f6c7e3c814315c1a11fcfd609a1
  Author: Hervé Poussineau <hpoussin at reactos.org>
  Date:   2024-12-20 (Fri, 20 Dec 2024)

  Changed paths:
    M llvm/lib/Target/Mips/MCTargetDesc/CMakeLists.txt
    M llvm/lib/Target/Mips/MCTargetDesc/MipsAsmBackend.cpp
    M llvm/lib/Target/Mips/MCTargetDesc/MipsMCAsmInfo.cpp
    M llvm/lib/Target/Mips/MCTargetDesc/MipsMCAsmInfo.h
    M llvm/lib/Target/Mips/MCTargetDesc/MipsMCTargetDesc.cpp
    M llvm/lib/Target/Mips/MCTargetDesc/MipsMCTargetDesc.h
    A llvm/lib/Target/Mips/MCTargetDesc/MipsWinCOFFObjectWriter.cpp
    A llvm/lib/Target/Mips/MCTargetDesc/MipsWinCOFFStreamer.cpp
    M llvm/lib/Target/Mips/MipsTargetMachine.cpp
    M llvm/test/CodeGen/Mips/Fast-ISel/br1.ll
    M llvm/test/CodeGen/Mips/Fast-ISel/icmpbr1.ll
    M llvm/test/CodeGen/Mips/addressing-mode.ll
    M llvm/test/CodeGen/Mips/atomic-min-max-64.ll
    M llvm/test/CodeGen/Mips/atomic-min-max.ll
    M llvm/test/CodeGen/Mips/brconeq.ll
    M llvm/test/CodeGen/Mips/brconeqk.ll
    M llvm/test/CodeGen/Mips/brconeqz.ll
    M llvm/test/CodeGen/Mips/brconge.ll
    M llvm/test/CodeGen/Mips/brcongt.ll
    M llvm/test/CodeGen/Mips/brconle.ll
    M llvm/test/CodeGen/Mips/brconlt.ll
    M llvm/test/CodeGen/Mips/brconne.ll
    M llvm/test/CodeGen/Mips/brconnek.ll
    M llvm/test/CodeGen/Mips/brconnez.ll
    M llvm/test/CodeGen/Mips/cconv/memory-layout.ll
    M llvm/test/CodeGen/Mips/cfi_offset.ll
    M llvm/test/CodeGen/Mips/dins.ll
    M llvm/test/CodeGen/Mips/dsp-r1.ll
    M llvm/test/CodeGen/Mips/eh-return32.ll
    M llvm/test/CodeGen/Mips/eh-return64.ll
    M llvm/test/CodeGen/Mips/emit-big-cst.ll
    M llvm/test/CodeGen/Mips/ex2.ll
    M llvm/test/CodeGen/Mips/fpbr.ll
    M llvm/test/CodeGen/Mips/frame-address.ll
    M llvm/test/CodeGen/Mips/jumptable_labels.ll
    M llvm/test/CodeGen/Mips/llvm-ir/add.ll
    M llvm/test/CodeGen/Mips/llvm-ir/indirectbr.ll
    M llvm/test/CodeGen/Mips/llvm-ir/select-int.ll
    M llvm/test/CodeGen/Mips/load-store-left-right.ll
    M llvm/test/CodeGen/Mips/mcount.ll
    M llvm/test/CodeGen/Mips/micromips-sizereduction/micromips-lbu16-lhu16-sb16-sh16.ll
    M llvm/test/CodeGen/Mips/mips64directive.ll
    M llvm/test/CodeGen/Mips/msa/2r.ll
    M llvm/test/CodeGen/Mips/msa/2r_vector_scalar.ll
    M llvm/test/CodeGen/Mips/msa/2rf.ll
    M llvm/test/CodeGen/Mips/msa/2rf_exup.ll
    M llvm/test/CodeGen/Mips/msa/2rf_float_int.ll
    M llvm/test/CodeGen/Mips/msa/2rf_fq.ll
    M llvm/test/CodeGen/Mips/msa/2rf_int_float.ll
    M llvm/test/CodeGen/Mips/msa/2rf_tq.ll
    M llvm/test/CodeGen/Mips/msa/3r-a.ll
    M llvm/test/CodeGen/Mips/msa/3r-b.ll
    M llvm/test/CodeGen/Mips/msa/3r-c.ll
    M llvm/test/CodeGen/Mips/msa/3r-d.ll
    M llvm/test/CodeGen/Mips/msa/3r-i.ll
    M llvm/test/CodeGen/Mips/msa/3r-m.ll
    M llvm/test/CodeGen/Mips/msa/3r-p.ll
    M llvm/test/CodeGen/Mips/msa/3r-s.ll
    M llvm/test/CodeGen/Mips/msa/3r-v.ll
    M llvm/test/CodeGen/Mips/msa/3r_4r.ll
    M llvm/test/CodeGen/Mips/msa/3r_4r_widen.ll
    M llvm/test/CodeGen/Mips/msa/3r_splat.ll
    M llvm/test/CodeGen/Mips/msa/3rf.ll
    M llvm/test/CodeGen/Mips/msa/3rf_4rf.ll
    M llvm/test/CodeGen/Mips/msa/3rf_4rf_q.ll
    M llvm/test/CodeGen/Mips/msa/3rf_exdo.ll
    M llvm/test/CodeGen/Mips/msa/3rf_float_int.ll
    M llvm/test/CodeGen/Mips/msa/3rf_int_float.ll
    M llvm/test/CodeGen/Mips/msa/3rf_q.ll
    M llvm/test/CodeGen/Mips/msa/arithmetic_float.ll
    M llvm/test/CodeGen/Mips/msa/bit.ll
    M llvm/test/CodeGen/Mips/msa/bitcast.ll
    M llvm/test/CodeGen/Mips/msa/compare.ll
    M llvm/test/CodeGen/Mips/msa/compare_float.ll
    M llvm/test/CodeGen/Mips/msa/elm_copy.ll
    M llvm/test/CodeGen/Mips/msa/elm_cxcmsa.ll
    M llvm/test/CodeGen/Mips/msa/elm_insv.ll
    M llvm/test/CodeGen/Mips/msa/elm_move.ll
    M llvm/test/CodeGen/Mips/msa/elm_shift_slide.ll
    M llvm/test/CodeGen/Mips/msa/endian.ll
    M llvm/test/CodeGen/Mips/msa/frameindex.ll
    M llvm/test/CodeGen/Mips/msa/i10.ll
    M llvm/test/CodeGen/Mips/msa/i5-a.ll
    M llvm/test/CodeGen/Mips/msa/i5-c.ll
    M llvm/test/CodeGen/Mips/msa/i5-m.ll
    M llvm/test/CodeGen/Mips/msa/i5_ld_st.ll
    M llvm/test/CodeGen/Mips/msa/i8.ll
    M llvm/test/CodeGen/Mips/msa/remat-ldi.ll
    M llvm/test/CodeGen/Mips/msa/shift-dagcombine.ll
    M llvm/test/CodeGen/Mips/msa/shift_constant_pool.ll
    M llvm/test/CodeGen/Mips/msa/special.ll
    M llvm/test/CodeGen/Mips/msa/spill.ll
    M llvm/test/CodeGen/Mips/msa/vec.ll
    M llvm/test/CodeGen/Mips/msa/vecs10.ll
    M llvm/test/CodeGen/Mips/octeon.ll
    M llvm/test/CodeGen/Mips/prevent-hoisting.ll
    M llvm/test/CodeGen/Mips/selTBteqzCmpi.ll
    M llvm/test/CodeGen/Mips/selTBtnezCmpi.ll
    M llvm/test/CodeGen/Mips/selTBtnezSlti.ll
    M llvm/test/CodeGen/Mips/seleq.ll
    M llvm/test/CodeGen/Mips/seleqk.ll
    M llvm/test/CodeGen/Mips/selgek.ll
    M llvm/test/CodeGen/Mips/selgt.ll
    M llvm/test/CodeGen/Mips/selle.ll
    M llvm/test/CodeGen/Mips/selltk.ll
    M llvm/test/CodeGen/Mips/selne.ll
    M llvm/test/CodeGen/Mips/selnek.ll
    M llvm/test/CodeGen/Mips/selpat.ll
    M llvm/test/CodeGen/Mips/unalignedload.ll
    M llvm/test/DebugInfo/Mips/tls.ll
    A llvm/test/MC/Mips/coff-basic.ll
    A llvm/test/MC/Mips/coff-relocs.ll

  Log Message:
  -----------
  [MC][Mips] Add MipsWinCOFFObjectWriter/MipsWinCOFFStreamer (#114611)

llc is now able to create MIPS COFF files for simple cases.


  Commit: fe85c71a7b556b3cef1528399b123538e6b3dd4b
      https://github.com/llvm/llvm-project/commit/fe85c71a7b556b3cef1528399b123538e6b3dd4b
  Author: Mikhail Goncharov <goncharov.mikhail at gmail.com>
  Date:   2024-12-20 (Fri, 20 Dec 2024)

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

  Log Message:
  -----------
  [bazel] port 53d080c5b5dfbb46eb81d189736864f5b6196492


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

  Changed paths:
    M llvm/lib/Target/X86/X86TargetTransformInfo.cpp
    M llvm/test/Analysis/CostModel/X86/shuffle-concat_subvector-codesize.ll
    M llvm/test/Analysis/CostModel/X86/shuffle-concat_subvector-latency.ll
    M llvm/test/Analysis/CostModel/X86/shuffle-concat_subvector-sizelatency.ll
    M llvm/test/Analysis/CostModel/X86/shuffle-concat_subvector.ll
    M llvm/test/Analysis/CostModel/X86/shuffle-insert_subvector-codesize.ll
    M llvm/test/Analysis/CostModel/X86/shuffle-insert_subvector-latency.ll
    M llvm/test/Analysis/CostModel/X86/shuffle-insert_subvector-sizelatency.ll
    M llvm/test/Analysis/CostModel/X86/shuffle-insert_subvector.ll
    M llvm/test/Analysis/CostModel/X86/shuffle-two-src-codesize.ll
    M llvm/test/Analysis/CostModel/X86/shuffle-two-src-fp16-codesize.ll
    M llvm/test/Analysis/CostModel/X86/shuffle-two-src-fp16-latency.ll
    M llvm/test/Analysis/CostModel/X86/shuffle-two-src-fp16-sizelatency.ll
    M llvm/test/Analysis/CostModel/X86/shuffle-two-src-fp16.ll
    M llvm/test/Analysis/CostModel/X86/shuffle-two-src-latency.ll
    M llvm/test/Analysis/CostModel/X86/shuffle-two-src-sizelatency.ll
    M llvm/test/Analysis/CostModel/X86/shuffle-two-src.ll
    M llvm/test/Transforms/PhaseOrdering/X86/pr94546.ll
    M llvm/test/Transforms/SLPVectorizer/X86/horizontal-minmax.ll
    M llvm/test/Transforms/SLPVectorizer/X86/minbitwidth-transformed-operand.ll
    M llvm/test/Transforms/VectorCombine/X86/shuffle-of-casts.ll
    M llvm/test/Transforms/VectorCombine/X86/shuffle-of-shuffles.ll

  Log Message:
  -----------
  [CostModel][X86] getShuffleCost - use processShuffleMasks to split SK_PermuteTwoSrc shuffles to legal types (#120599)

processShuffleMasks can now correctly handle 2 src shuffles, so we can use the existing SK_PermuteSingleSrc splitting cost logic to handle SK_PermuteTwoSrc as well and correctly recognise the number of active subvectors per legalised shuffle.


  Commit: e10cb443a1ba30cd1368907df246e968b7508278
      https://github.com/llvm/llvm-project/commit/e10cb443a1ba30cd1368907df246e968b7508278
  Author: Hans Wennborg <hans at chromium.org>
  Date:   2024-12-20 (Fri, 20 Dec 2024)

  Changed paths:
    M compiler-rt/lib/sanitizer_common/CMakeLists.txt
    M compiler-rt/lib/sanitizer_common/sanitizer_common_interface.inc
    R compiler-rt/lib/sanitizer_common/sanitizer_contiguous_container.cpp

  Log Message:
  -----------
  Revert "[compiler-rt] Add weak defs for .*contiguous_container.* functions (#120376)"

This reverts commit a73ca291547cf4f5822a3029dd56315354557517.


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

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

  Log Message:
  -----------
  [win/asan] Don't intercept memset etc. in ntdll (#120397)

When ntdll was added to the list of of "interesting DLLs" list (in
d58230b9dcb3b312a2da8f874daa0cc8dc27da9b), the intention was not to
intercept the "mini CRT" functions it exports. OverrideFunction would
only intercept the *first* function it found when searching the list of
DLLs, and ntdll was put last in that list.

However, after 42cdfbcf3e92466754c175cb0e1e237e9f66749e,
OverrideFunction intercepts *all* matching functions in those DLLs. As
a side-effect, the runtime would now intercept functions like memset
etc. also in ntdll.

This causes a problem when ntdll-internal functions like
RtlDispatchException call the intercepted memset, which tries to
inspect uncommitted shadow memory, raising an exception, and getting
stuck in that loop until the stack overflows.

Since we never intended to intercept ntdll's memset etc., the simplest
fix seems to be to actively ignore ntdll when intercepting those
functions.

Fixes #114793


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

  Changed paths:
    M mlir/lib/Dialect/SparseTensor/Pipelines/SparseTensorPipelines.cpp
    M mlir/test/Integration/Dialect/Async/CPU/microbench-linalg-async-parallel-for.mlir
    M mlir/test/Integration/Dialect/Async/CPU/microbench-scf-async-parallel-for.mlir
    M mlir/test/Integration/Dialect/Async/CPU/test-async-parallel-for-1d.mlir
    M mlir/test/Integration/Dialect/Async/CPU/test-async-parallel-for-2d.mlir
    M mlir/test/Integration/Dialect/Complex/CPU/correctness.mlir
    M mlir/test/Integration/Dialect/ControlFlow/assert.mlir
    M mlir/test/Integration/Dialect/LLVMIR/CPU/X86/test-inline-asm-vector.mlir
    M mlir/test/Integration/Dialect/LLVMIR/CPU/test-vp-intrinsic.mlir
    M mlir/test/Integration/Dialect/Linalg/CPU/runtime-verification.mlir
    M mlir/test/Integration/Dialect/MemRef/cast-runtime-verification.mlir
    M mlir/test/Integration/Dialect/MemRef/load-runtime-verification.mlir
    M mlir/test/Integration/Dialect/MemRef/memref_abi.c
    M mlir/test/Integration/Dialect/MemRef/reinterpret-cast-runtime-verification.mlir
    M mlir/test/Integration/Dialect/MemRef/subview-runtime-verification.mlir
    M mlir/test/Integration/Dialect/Standard/CPU/test-ceil-floor-pos-neg.mlir
    M mlir/test/Integration/Dialect/Vector/CPU/0-d-vectors.mlir
    M mlir/test/Integration/Dialect/Vector/CPU/broadcast.mlir
    M mlir/test/Integration/Dialect/Vector/CPU/compress.mlir
    M mlir/test/Integration/Dialect/Vector/CPU/constant-mask.mlir
    M mlir/test/Integration/Dialect/Vector/CPU/contraction.mlir
    M mlir/test/Integration/Dialect/Vector/CPU/create-mask-v4i1.mlir
    M mlir/test/Integration/Dialect/Vector/CPU/create-mask.mlir
    M mlir/test/Integration/Dialect/Vector/CPU/expand.mlir
    M mlir/test/Integration/Dialect/Vector/CPU/extract-strided-slice.mlir
    M mlir/test/Integration/Dialect/Vector/CPU/flat-transpose-col.mlir
    M mlir/test/Integration/Dialect/Vector/CPU/flat-transpose-row.mlir
    M mlir/test/Integration/Dialect/Vector/CPU/fma.mlir
    M mlir/test/Integration/Dialect/Vector/CPU/gather.mlir
    M mlir/test/Integration/Dialect/Vector/CPU/index-vectors.mlir
    M mlir/test/Integration/Dialect/Vector/CPU/insert-strided-slice.mlir
    M mlir/test/Integration/Dialect/Vector/CPU/maskedload.mlir
    M mlir/test/Integration/Dialect/Vector/CPU/maskedstore.mlir
    M mlir/test/Integration/Dialect/Vector/CPU/matrix-multiply-col.mlir
    M mlir/test/Integration/Dialect/Vector/CPU/matrix-multiply-row.mlir
    M mlir/test/Integration/Dialect/Vector/CPU/outerproduct-f32.mlir
    M mlir/test/Integration/Dialect/Vector/CPU/outerproduct-i64.mlir
    M mlir/test/Integration/Dialect/Vector/CPU/print-fp.mlir
    M mlir/test/Integration/Dialect/Vector/CPU/print-int.mlir
    M mlir/test/Integration/Dialect/Vector/CPU/realloc.mlir
    M mlir/test/Integration/Dialect/Vector/CPU/reductions-f32-reassoc.mlir
    M mlir/test/Integration/Dialect/Vector/CPU/reductions-f32.mlir
    M mlir/test/Integration/Dialect/Vector/CPU/reductions-f64-reassoc.mlir
    M mlir/test/Integration/Dialect/Vector/CPU/reductions-f64.mlir
    M mlir/test/Integration/Dialect/Vector/CPU/reductions-i32.mlir
    M mlir/test/Integration/Dialect/Vector/CPU/reductions-i4.mlir
    M mlir/test/Integration/Dialect/Vector/CPU/reductions-i64.mlir
    M mlir/test/Integration/Dialect/Vector/CPU/reductions-si4.mlir
    M mlir/test/Integration/Dialect/Vector/CPU/reductions-ui4.mlir
    M mlir/test/Integration/Dialect/Vector/CPU/scan.mlir
    M mlir/test/Integration/Dialect/Vector/CPU/scatter.mlir
    M mlir/test/Integration/Dialect/Vector/CPU/shape-cast.mlir
    M mlir/test/Integration/Dialect/Vector/CPU/shuffle.mlir
    M mlir/test/Integration/Dialect/Vector/CPU/shuffle16x16.mlir
    M mlir/test/Integration/Dialect/Vector/CPU/sparse-dot-matvec.mlir
    M mlir/test/Integration/Dialect/Vector/CPU/sparse-saxpy-jagged-matvec.mlir
    M mlir/test/Integration/Dialect/Vector/CPU/transfer-read-1d.mlir
    M mlir/test/Integration/Dialect/Vector/CPU/transfer-read-2d.mlir
    M mlir/test/Integration/Dialect/Vector/CPU/transfer-read-3d.mlir
    M mlir/test/Integration/Dialect/Vector/CPU/transfer-read.mlir
    M mlir/test/Integration/Dialect/Vector/CPU/transfer-to-loops.mlir
    M mlir/test/Integration/Dialect/Vector/CPU/transfer-write.mlir
    M mlir/test/Integration/Dialect/Vector/CPU/transpose.mlir
    M mlir/test/Integration/GPU/CUDA/async.mlir
    M mlir/test/python/integration/dialects/linalg/opsrun.py

  Log Message:
  -----------
  [mlir] Fix integration tests after #120548 (#120706)

This should have been part of #120548.


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

  Changed paths:
    M llvm/lib/Target/X86/X86TargetTransformInfo.cpp
    M llvm/test/Analysis/CostModel/X86/shuffle-concat_subvector-codesize.ll
    M llvm/test/Analysis/CostModel/X86/shuffle-concat_subvector-latency.ll
    M llvm/test/Analysis/CostModel/X86/shuffle-concat_subvector-sizelatency.ll
    M llvm/test/Analysis/CostModel/X86/shuffle-concat_subvector.ll
    M llvm/test/Analysis/CostModel/X86/shuffle-insert_subvector-codesize.ll
    M llvm/test/Analysis/CostModel/X86/shuffle-insert_subvector-latency.ll
    M llvm/test/Analysis/CostModel/X86/shuffle-insert_subvector-sizelatency.ll
    M llvm/test/Analysis/CostModel/X86/shuffle-insert_subvector.ll
    M llvm/test/Analysis/CostModel/X86/shuffle-two-src-codesize.ll
    M llvm/test/Analysis/CostModel/X86/shuffle-two-src-fp16-codesize.ll
    M llvm/test/Analysis/CostModel/X86/shuffle-two-src-fp16-latency.ll
    M llvm/test/Analysis/CostModel/X86/shuffle-two-src-fp16-sizelatency.ll
    M llvm/test/Analysis/CostModel/X86/shuffle-two-src-fp16.ll
    M llvm/test/Analysis/CostModel/X86/shuffle-two-src-latency.ll
    M llvm/test/Analysis/CostModel/X86/shuffle-two-src-sizelatency.ll
    M llvm/test/Analysis/CostModel/X86/shuffle-two-src.ll
    M llvm/test/Transforms/PhaseOrdering/X86/pr94546.ll
    M llvm/test/Transforms/SLPVectorizer/X86/horizontal-minmax.ll
    M llvm/test/Transforms/SLPVectorizer/X86/minbitwidth-transformed-operand.ll
    M llvm/test/Transforms/VectorCombine/X86/shuffle-of-casts.ll
    M llvm/test/Transforms/VectorCombine/X86/shuffle-of-shuffles.ll

  Log Message:
  -----------
  Revert "[CostModel][X86] getShuffleCost - use processShuffleMasks to split SK_PermuteTwoSrc shuffles to legal types" (#120707)

Reverts llvm/llvm-project#120599 - some recent tests are currently failing


  Commit: 2405c5fb3ed49b928bb2816ace7b67c8979cd9d7
      https://github.com/llvm/llvm-project/commit/2405c5fb3ed49b928bb2816ace7b67c8979cd9d7
  Author: wenzhoumei <wenzhoumei7 at gmail.com>
  Date:   2024-12-20 (Fri, 20 Dec 2024)

  Changed paths:
    M llvm/include/llvm/BinaryFormat/ELF.h

  Log Message:
  -----------
  [llvm-readelf] Update outdated URL (#120498)

This updates a comment pointing to the list of registered machine
architectures in the ELF gABI as the URL in the old comment is no longer
valid.


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

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

  Log Message:
  -----------
  [NFC] Move DroppedVariableStats to its own file (#120711)

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.

Also moved class DroppedVariableStatsIR to its own file.

Reland 2de78815604e9027efd93cac27c517bf732587d2


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

  Changed paths:
    M llvm/docs/MemTagSanitizer.rst

  Log Message:
  -----------
  [llvm][docs] MemTagSanitizer is only supported on AArch64 Android (#120545)

```
$ ./bin/clang /tmp/test.c -o /tmp/test.o -target aarch64-linux -march=armv8+memtag -fsanitize=memtag-stack
clang: error: unsupported option '-fsanitize=memtag*' for target 'aarch64-unknown-linux'
```
But this works:
```
$ ./bin/clang /tmp/test.c -o /tmp/test.o --target=aarch64-linux-android -march=armv8+memtag -fsanitize=memtag-stack
```

Due to this check in Clang:

https://github.com/llvm/llvm-project/blob/2210da3b823ccf21fc634c858827c9f12c864b51/clang/lib/Driver/ToolChains/CommonArgs.cpp#L1651

Likely because the required notes and dynamic loader support only exist
for Android.

You can get around this, sort of, by not linking the file. However this
means you have to provide your own way of loading it, so it doesn't
change the statement that this feature is Android only.

https://github.com/llvm/llvm-project/issues/64692 also confirms that the
intent is to only support Android at this time.

And while I'm here, suggest an additive set of flags that can also be
used.


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

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

  Log Message:
  -----------
  [MachinePipeliner] Skip reserved registers when computing register pressure (#120694)

We used to skip fixed registers, but fixed registers are not enough
because there are some runtime unusable registers like registers
reserved by `-ffixed-xxx` options.

Here we change to use reserved registers so that the estimated
pressure is more accurate.


  Commit: 1e18815fdc13bb1f8b0b87acd8abf62b5cf70d53
      https://github.com/llvm/llvm-project/commit/1e18815fdc13bb1f8b0b87acd8abf62b5cf70d53
  Author: Chenhui Huang <huangchenhui.yellow at bytedance.com>
  Date:   2024-12-20 (Fri, 20 Dec 2024)

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

  Log Message:
  -----------
  [MLIR] fix shape.broadcast canonicalize with all empty shape operands (#118941)

Example: all the operands of `shape.broadcast` are empty tensors.
```
func.func @all_empty(%arg0: tensor<f32>) -> tensor<0xindex> {
  %1 = shape.shape_of %arg0 : tensor<f32> -> tensor<0xindex>
  %2 = shape.const_shape [] : tensor<0xindex>
  %3 = shape.broadcast %1, %2, %1 : tensor<0xindex>, tensor<0xindex>, tensor<0xindex> -> tensor<0xindex>
  return %3 : tensor<0xindex>
}
```

One can reproduce crash when canonicalize with *down-top* order, cmd
like this:
`mlir-opt -split-input-file -allow-unregistered-dialect
-canonicalize="test-convergence top-down=0" %s`

The root cause is when all operands are empty tensor,
`RemoveEmptyShapeOperandsPattern` would filter out all operands.

Co-authored-by: Kai Sasaki <lewuathe at gmail.com>


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

  Changed paths:
    M llvm/lib/Target/X86/X86TargetTransformInfo.cpp
    M llvm/test/Analysis/CostModel/X86/shuffle-concat_subvector-codesize.ll
    M llvm/test/Analysis/CostModel/X86/shuffle-concat_subvector-latency.ll
    M llvm/test/Analysis/CostModel/X86/shuffle-concat_subvector-sizelatency.ll
    M llvm/test/Analysis/CostModel/X86/shuffle-concat_subvector.ll
    M llvm/test/Analysis/CostModel/X86/shuffle-insert_subvector-codesize.ll
    M llvm/test/Analysis/CostModel/X86/shuffle-insert_subvector-latency.ll
    M llvm/test/Analysis/CostModel/X86/shuffle-insert_subvector-sizelatency.ll
    M llvm/test/Analysis/CostModel/X86/shuffle-insert_subvector.ll
    M llvm/test/Analysis/CostModel/X86/shuffle-two-src-codesize.ll
    M llvm/test/Analysis/CostModel/X86/shuffle-two-src-fp16-codesize.ll
    M llvm/test/Analysis/CostModel/X86/shuffle-two-src-fp16-latency.ll
    M llvm/test/Analysis/CostModel/X86/shuffle-two-src-fp16-sizelatency.ll
    M llvm/test/Analysis/CostModel/X86/shuffle-two-src-fp16.ll
    M llvm/test/Analysis/CostModel/X86/shuffle-two-src-latency.ll
    M llvm/test/Analysis/CostModel/X86/shuffle-two-src-sizelatency.ll
    M llvm/test/Analysis/CostModel/X86/shuffle-two-src.ll
    M llvm/test/Transforms/PhaseOrdering/X86/hadd.ll
    M llvm/test/Transforms/PhaseOrdering/X86/pr94546.ll
    M llvm/test/Transforms/SLPVectorizer/X86/horizontal-minmax.ll
    M llvm/test/Transforms/SLPVectorizer/X86/minbitwidth-transformed-operand.ll
    M llvm/test/Transforms/VectorCombine/X86/shuffle-of-casts.ll
    M llvm/test/Transforms/VectorCombine/X86/shuffle-of-shuffles.ll

  Log Message:
  -----------
  [CostModel][X86] getShuffleCost - use processShuffleMasks to split SK_PermuteTwoSrc shuffles to legal types (#120599)

processShuffleMasks can now correctly handle 2 src shuffles, so we can use the existing SK_PermuteSingleSrc splitting cost logic to handle SK_PermuteTwoSrc as well and correctly recognise the number of active subvectors per legalised shuffle.


  Commit: ff93ca7d6c487108a65d3ad15c3392235fd9c190
      https://github.com/llvm/llvm-project/commit/ff93ca7d6c487108a65d3ad15c3392235fd9c190
  Author: hanbeom <kese111 at gmail.com>
  Date:   2024-12-20 (Fri, 20 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 (#120461)

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. this commit do that. (see
#[https://github.com/llvm/llvm-project/commit/baab4aa1ba5f68634b4936375e19c8686b1b474a])


  Commit: 708e1437ff82181dc42f7b43f95428bfd0a9e8ff
      https://github.com/llvm/llvm-project/commit/708e1437ff82181dc42f7b43f95428bfd0a9e8ff
  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/Passes/BUILD.gn

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


  Commit: 42bc7bf40a13227110a95079b108615a85cddd7d
      https://github.com/llvm/llvm-project/commit/42bc7bf40a13227110a95079b108615a85cddd7d
  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/Target/Mips/MCTargetDesc/BUILD.gn

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


  Commit: 919aead1db64b2f1444842bc75a3af7836238671
      https://github.com/llvm/llvm-project/commit/919aead1db64b2f1444842bc75a3af7836238671
  Author: Thirumalai Shaktivel <74826228+Thirumalai-Shaktivel at users.noreply.github.com>
  Date:   2024-12-20 (Fri, 20 Dec 2024)

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

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

Implementation details:
The UNTIED clause is recognized by setting the flag=0 for the default
case or performing logical OR to flag if other clauses are specified,
and this flag is passed as an argument to the `__kmpc_omp_task_alloc`
runtime call.


  Commit: c2bd5c25b3634e55089d34afe922aa38eee743e2
      https://github.com/llvm/llvm-project/commit/c2bd5c25b3634e55089d34afe922aa38eee743e2
  Author: SpencerAbson <Spencer.Abson at arm.com>
  Date:   2024-12-20 (Fri, 20 Dec 2024)

  Changed paths:
    M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
    M llvm/lib/Target/AArch64/AArch64InstrInfo.td
    M llvm/test/CodeGen/AArch64/aarch64-neon-vector-insert-uaddlv.ll
    A llvm/test/CodeGen/AArch64/neon-ins-trunc-elt.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-vector.ll
    M llvm/test/CodeGen/AArch64/sve-fixed-length-int-reduce.ll
    M llvm/test/CodeGen/AArch64/sve-int-reduce.ll
    M llvm/test/CodeGen/AArch64/sve-split-int-reduce.ll
    M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-int-reduce.ll
    M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-reductions.ll
    M llvm/test/CodeGen/AArch64/sve-vecreduce-dot.ll
    M llvm/test/CodeGen/AArch64/uaddlv-vaddlp-combine.ll
    M llvm/test/CodeGen/AArch64/vec-combine-compare-to-bitmask.ll
    M llvm/test/CodeGen/AArch64/vecreduce-bool.ll

  Log Message:
  -----------
  [AArch64] Avoid GPR trip when moving truncated i32 vector elements (#114541)

This patch implements a DAG combine whereby
```
        a: v2i64 = ...
      b: i64 = extract_vector_elt a, Constant:i64<n>
    c: i32 = truncate b
```
Becomes
```
        a: v2i64 = ...
      b: v4i32 = AArch64ISD::NVCAST a
    c: i32 = extract_vector_elt c, Constant:i64<2n>
```

The primary goal of this work is to enable the use of [INS
(element)](https://developer.arm.com/documentation/ddi0602/2024-09/SIMD-FP-Instructions/INS--element---Insert-vector-element-from-another-vector-element-?lang=en)
when moving a truncated i32 element between vectors. This combine
canonicalises the structure of the DAG for all legal instances of the
pattern above (by removing the explicit `trunc` operator in this
specific case), allowing us to take advantage of existing ISEL patterns
for this behavior.


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

  Changed paths:
    M lldb/source/Host/posix/ProcessLauncherPosixFork.cpp

  Log Message:
  -----------
  [lldb][AIX] Adding AIX version of ptrace64 (#120390)

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. ptrace64 is
needed to debug 64-bit AIX debuggee, and its format is different than
the traditional ptrace on other platforms: [AIX
ptrace](https://www.ibm.com/docs/en/aix/7.3?topic=p-ptrace-ptracex-ptrace64-subroutine)


  Commit: 6fd267d79b9bf3739c59662a7c09d78a6e09c94f
      https://github.com/llvm/llvm-project/commit/6fd267d79b9bf3739c59662a7c09d78a6e09c94f
  Author: Michael Buch <michaelbuch12 at gmail.com>
  Date:   2024-12-20 (Fri, 20 Dec 2024)

  Changed paths:
    M lldb/source/Plugins/SymbolFile/DWARF/DWARFASTParserClang.cpp
    M lldb/source/Plugins/SymbolFile/DWARF/DWARFASTParserClang.h

  Log Message:
  -----------
  [lldb][DWARFASTParserClang][NFC] Remove unused parameter to CompleteRecordType (#120456)

Became unused since the recent
https://github.com/llvm/llvm-project/pull/110648


  Commit: 84f0098ad103897112d3052fffbb244cd9db4815
      https://github.com/llvm/llvm-project/commit/84f0098ad103897112d3052fffbb244cd9db4815
  Author: Mikhail Goncharov <goncharov.mikhail at gmail.com>
  Date:   2024-12-20 (Fri, 20 Dec 2024)

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

  Log Message:
  -----------
  [bazel] port b03a09e74fa38eceddbc314c4f896a935224f453


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

  Changed paths:
    M lldb/tools/driver/CMakeLists.txt

  Log Message:
  -----------
  [lldb][AIX] Introducing _ALL_SOURCE macro into driver CMakeLists (#120607)

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: 
The `struct winsize` needed by `lldb/tools/driver/Driver.cpp` is only
recognised in AIX under the AIX specific `_ALL_SOURCE` macro, hence its
enablement is required here.


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

  Changed paths:
    M lldb/include/lldb/Host/linux/HostInfoLinux.h
    M lldb/include/lldb/Host/posix/HostInfoPosix.h
    M lldb/source/Host/linux/HostInfoLinux.cpp
    M lldb/source/Host/posix/HostInfoPosix.cpp

  Log Message:
  -----------
  [lldb][Linux] Moving generic APIs from HostInfoLinux to HostInfoPosix (#119694)

This change is related merging some of the APIs in HostInfoLinux into
HostInfoPosix.

Here is the reference PR comment:

https://github.com/llvm/llvm-project/pull/117906#discussion_r1865427495,
https://github.com/llvm/llvm-project/pull/117906#discussion_r1861616945


  Commit: 8dc23efbe6c584c06d6472c6f1b679b5ca861b07
      https://github.com/llvm/llvm-project/commit/8dc23efbe6c584c06d6472c6f1b679b5ca861b07
  Author: James Chesterman <James.Chesterman at arm.com>
  Date:   2024-12-20 (Fri, 20 Dec 2024)

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

  Log Message:
  -----------
  [NFC][AArch64][SVE] Rename variables in partial reduction lowering functions (#120589)


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

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

  Log Message:
  -----------
  [MachinePipeliner] Remove unused private field MF


  Commit: 000febd0290698728abd9e23da6b27969c529177
      https://github.com/llvm/llvm-project/commit/000febd0290698728abd9e23da6b27969c529177
  Author: Michael Buch <michaelbuch12 at gmail.com>
  Date:   2024-12-20 (Fri, 20 Dec 2024)

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

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

When given a DIE for an Objective-C interface (which doesn't have a
`DW_AT_APPLE_objc_complete_type`), the `DWARFASTParserClang` will try to
find the DIE which corresponds to the implementation to complete the
interface DIE. The code is here:

https://github.com/llvm/llvm-project/blob/d2e7ee77d33e8b3be3b1d4e9bc5bc4c60b62b554/lldb/source/Plugins/SymbolFile/DWARF/DWARFASTParserClang.cpp#L1718-L1738

However, this was currently not exercised in our test-suite (removing
the code above didn't fail any LLDB test).

This patch adds a test which exercises this codepath (it will fail if we
don't fetch the implementation DIE in the `DWARFASTParserClang`).

Something that's not currently clear to me is why `frame var *f`
succeeds even without the `DW_AT_APPLE_objc_complete_type`
infrastructure. If it's using the ObjC runtime, we should make `expr` do
the same, in which case we can remove this code from
`DWARFASTParserClang`.


  Commit: e4db3f0d97681a10a76e71465f1379801cd45f54
      https://github.com/llvm/llvm-project/commit/e4db3f0d97681a10a76e71465f1379801cd45f54
  Author: serge-sans-paille <sguelton at mozilla.com>
  Date:   2024-12-20 (Fri, 20 Dec 2024)

  Changed paths:
    M llvm/lib/Analysis/MemoryBuiltins.cpp
    M llvm/test/Transforms/LowerConstantIntrinsics/builtin-object-size-phi.ll
    M llvm/test/Transforms/LowerConstantIntrinsics/builtin-object-size-range.ll
    M llvm/test/Transforms/LowerConstantIntrinsics/objectsize_basic.ll

  Log Message:
  -----------
  [llvm] Bail out when meeting pointer with negative offset in approximated mode instead of … (#120424)

…generating empty location

Fix the regression detected by
https://github.com/llvm/llvm-test-suite/pull/188


  Commit: 451a80ccc034799151d3a82c15e320cdde5a2e04
      https://github.com/llvm/llvm-project/commit/451a80ccc034799151d3a82c15e320cdde5a2e04
  Author: Martin Storsjö <martin at martin.st>
  Date:   2024-12-20 (Fri, 20 Dec 2024)

  Changed paths:
    M llvm/docs/TestSuiteGuide.md

  Log Message:
  -----------
  [docs] Mention ffmpeg and dav1d in llvm-test-suite (#120570)

Since https://github.com/llvm/llvm-test-suite/pull/182 and
https://github.com/llvm/llvm-test-suite/pull/188, these projects can now
be added as external projects within llvm-test-suite.


  Commit: cf7b3f8d827abba49930202e51702714349c716d
      https://github.com/llvm/llvm-project/commit/cf7b3f8d827abba49930202e51702714349c716d
  Author: William Tran-Viet <wtranviet at proton.me>
  Date:   2024-12-20 (Fri, 20 Dec 2024)

  Changed paths:
    M clang/include/clang/Basic/DiagnosticSemaKinds.td
    M clang/lib/Sema/SemaExprMember.cpp
    M clang/test/SemaCXX/vector-bool.cpp

  Log Message:
  -----------
  Fix double-quotes in diagnostic when attempting to access a ext_vector of bools (#118186)

Fixes #116932 

- Remove the quotation marks in the diagnostic message for
err_ext_vector_component_name_illegal
- Pass in the quotation marks directly when reporting an illegal vector
component name inside `CheckExtVectorComponent`
- Add an offset to the `OpLoc` passed into `S.Diag` so the error message
arrow points directly to the offending illegal component rather than to
the '.' at the start of the component identifier.
- Modify the `vector-bool.cpp` element-wise access test case so it
(correctly) now only expects a single set of quotes.


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

  Changed paths:
    M flang/lib/Optimizer/CodeGen/CodeGen.cpp
    M mlir/include/mlir/Conversion/Passes.td
    M mlir/lib/Conversion/ControlFlowToLLVM/ControlFlowToLLVM.cpp
    M mlir/lib/Conversion/FuncToLLVM/FuncToLLVM.cpp
    M mlir/lib/Dialect/SparseTensor/Pipelines/SparseTensorPipelines.cpp
    A mlir/test/Conversion/ControlFlowToLLVM/branch.mlir
    R mlir/test/Conversion/ControlFlowToLLVM/invalid.mlir
    A mlir/test/Conversion/ControlFlowToLLVM/switch.mlir
    M mlir/test/Conversion/FuncToLLVM/convert-funcs.mlir
    M mlir/test/Conversion/FuncToLLVM/func-memref.mlir
    M mlir/test/Conversion/FuncToLLVM/func-to-llvm.mlir
    M mlir/test/Integration/Dialect/Async/CPU/microbench-linalg-async-parallel-for.mlir
    M mlir/test/Integration/Dialect/Async/CPU/microbench-scf-async-parallel-for.mlir
    M mlir/test/Integration/Dialect/Async/CPU/test-async-parallel-for-1d.mlir
    M mlir/test/Integration/Dialect/Async/CPU/test-async-parallel-for-2d.mlir
    M mlir/test/Integration/Dialect/Complex/CPU/correctness.mlir
    M mlir/test/Integration/Dialect/LLVMIR/CPU/X86/test-inline-asm-vector.mlir
    M mlir/test/Integration/Dialect/Linalg/CPU/matmul-vs-matvec.mlir
    M mlir/test/Integration/Dialect/Linalg/CPU/runtime-verification.mlir
    M mlir/test/Integration/Dialect/Linalg/CPU/test-conv-1d-call.mlir
    M mlir/test/Integration/Dialect/Linalg/CPU/test-conv-1d-nwc-wcf-call.mlir
    M mlir/test/Integration/Dialect/Linalg/CPU/test-conv-2d-call.mlir
    M mlir/test/Integration/Dialect/Linalg/CPU/test-conv-2d-nhwc-hwcf-call.mlir
    M mlir/test/Integration/Dialect/Linalg/CPU/test-conv-3d-call.mlir
    M mlir/test/Integration/Dialect/Linalg/CPU/test-conv-3d-ndhwc-dhwcf-call.mlir
    M mlir/test/Integration/Dialect/Linalg/CPU/test-one-shot-bufferize.mlir
    M mlir/test/Integration/Dialect/Linalg/CPU/test-padtensor.mlir
    M mlir/test/Integration/Dialect/Linalg/CPU/test-tensor-matmul.mlir
    M mlir/test/Integration/Dialect/MemRef/memref_abi.c
    M mlir/test/Integration/Dialect/Standard/CPU/test-ceil-floor-pos-neg.mlir
    M mlir/test/Integration/Dialect/Vector/CPU/0-d-vectors.mlir
    M mlir/test/Integration/Dialect/Vector/CPU/broadcast.mlir
    M mlir/test/Integration/Dialect/Vector/CPU/compress.mlir
    M mlir/test/Integration/Dialect/Vector/CPU/constant-mask.mlir
    M mlir/test/Integration/Dialect/Vector/CPU/contraction.mlir
    M mlir/test/Integration/Dialect/Vector/CPU/create-mask-v4i1.mlir
    M mlir/test/Integration/Dialect/Vector/CPU/create-mask.mlir
    M mlir/test/Integration/Dialect/Vector/CPU/expand.mlir
    M mlir/test/Integration/Dialect/Vector/CPU/extract-strided-slice.mlir
    M mlir/test/Integration/Dialect/Vector/CPU/flat-transpose-col.mlir
    M mlir/test/Integration/Dialect/Vector/CPU/flat-transpose-row.mlir
    M mlir/test/Integration/Dialect/Vector/CPU/fma.mlir
    M mlir/test/Integration/Dialect/Vector/CPU/gather.mlir
    M mlir/test/Integration/Dialect/Vector/CPU/index-vectors.mlir
    M mlir/test/Integration/Dialect/Vector/CPU/insert-strided-slice.mlir
    M mlir/test/Integration/Dialect/Vector/CPU/maskedload.mlir
    M mlir/test/Integration/Dialect/Vector/CPU/maskedstore.mlir
    M mlir/test/Integration/Dialect/Vector/CPU/matrix-multiply-col.mlir
    M mlir/test/Integration/Dialect/Vector/CPU/matrix-multiply-row.mlir
    M mlir/test/Integration/Dialect/Vector/CPU/outerproduct-f32.mlir
    M mlir/test/Integration/Dialect/Vector/CPU/outerproduct-i64.mlir
    M mlir/test/Integration/Dialect/Vector/CPU/print-fp.mlir
    M mlir/test/Integration/Dialect/Vector/CPU/print-int.mlir
    M mlir/test/Integration/Dialect/Vector/CPU/realloc.mlir
    M mlir/test/Integration/Dialect/Vector/CPU/reductions-f32-reassoc.mlir
    M mlir/test/Integration/Dialect/Vector/CPU/reductions-f32.mlir
    M mlir/test/Integration/Dialect/Vector/CPU/reductions-f64-reassoc.mlir
    M mlir/test/Integration/Dialect/Vector/CPU/reductions-f64.mlir
    M mlir/test/Integration/Dialect/Vector/CPU/reductions-i32.mlir
    M mlir/test/Integration/Dialect/Vector/CPU/reductions-i4.mlir
    M mlir/test/Integration/Dialect/Vector/CPU/reductions-i64.mlir
    M mlir/test/Integration/Dialect/Vector/CPU/reductions-si4.mlir
    M mlir/test/Integration/Dialect/Vector/CPU/reductions-ui4.mlir
    M mlir/test/Integration/Dialect/Vector/CPU/scan.mlir
    M mlir/test/Integration/Dialect/Vector/CPU/scatter.mlir
    M mlir/test/Integration/Dialect/Vector/CPU/shape-cast.mlir
    M mlir/test/Integration/Dialect/Vector/CPU/shuffle.mlir
    M mlir/test/Integration/Dialect/Vector/CPU/shuffle16x16.mlir
    M mlir/test/Integration/Dialect/Vector/CPU/sparse-dot-matvec.mlir
    M mlir/test/Integration/Dialect/Vector/CPU/sparse-saxpy-jagged-matvec.mlir
    M mlir/test/Integration/Dialect/Vector/CPU/transfer-read-1d.mlir
    M mlir/test/Integration/Dialect/Vector/CPU/transfer-read-2d.mlir
    M mlir/test/Integration/Dialect/Vector/CPU/transfer-read-3d.mlir
    M mlir/test/Integration/Dialect/Vector/CPU/transfer-read.mlir
    M mlir/test/Integration/Dialect/Vector/CPU/transfer-to-loops.mlir
    M mlir/test/Integration/Dialect/Vector/CPU/transfer-write.mlir
    M mlir/test/Integration/Dialect/Vector/CPU/transpose.mlir
    M mlir/test/lib/Dialect/LLVM/TestLowerToLLVM.cpp
    M mlir/test/mlir-cpu-runner/async-error.mlir
    M mlir/test/mlir-cpu-runner/async-group.mlir
    M mlir/test/mlir-cpu-runner/async-value.mlir
    M mlir/test/mlir-cpu-runner/async.mlir
    M mlir/test/mlir-cpu-runner/bare-ptr-call-conv.mlir
    M mlir/test/mlir-cpu-runner/copy.mlir
    M mlir/test/mlir-cpu-runner/memref-reinterpret-cast.mlir
    M mlir/test/mlir-cpu-runner/memref-reshape.mlir
    M mlir/test/mlir-cpu-runner/sgemm-naive-codegen.mlir
    M mlir/test/mlir-cpu-runner/unranked-memref.mlir
    M mlir/test/mlir-cpu-runner/utils.mlir
    M mlir/test/python/execution_engine.py
    M mlir/test/python/integration/dialects/linalg/opsrun.py
    M mlir/tools/mlir-vulkan-runner/mlir-vulkan-runner.cpp

  Log Message:
  -----------
  [mlir][CF] Split `cf-to-llvm` from `func-to-llvm` (#120580)

Do not run `cf-to-llvm` as part of `func-to-llvm`. This commit fixes
https://github.com/llvm/llvm-project/issues/70982.

This commit changes the way how `func.func` ops are lowered to LLVM.
Previously, the signature of the entire region (i.e., entry block and
all other blocks in the `func.func` op) was converted as part of the
`func.func` lowering pattern.

Now, only the entry block is converted. The remaining block signatures
are converted together with `cf.br` and `cf.cond_br` as part of
`cf-to-llvm`. All unstructured control flow is not converted as part of
a single pass (`cf-to-llvm`). `func-to-llvm` no longer deals with
unstructured control flow.

Also add more test cases for control flow dialect ops.

Note: This PR is in preparation of #120431, which adds an additional
GPU-specific lowering for `cf.assert`. This was a problem because
`cf.assert` used to be converted as part of `func-to-llvm`.

Note for LLVM integration: If you see failures, add
`-convert-cf-to-llvm` to your pass pipeline.


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

  Changed paths:
    M llvm/Maintainers.md

  Log Message:
  -----------
  [LLVM] Update InstCombine maintainers (#120408)

> See [developer
policy](https://llvm.org/docs/DeveloperPolicy.html#maintainers) for
context on the maintainers terminology.

We currently list @majnemer as the maintainer for InstCombine. While
David does still occasionally contribute in this area, most of the
contributions/reviews come from other people nowadays.

I'd like to propose @dtcxzyw and myself as the new maintainers for this
area. I've also expanded it to include InstSimplify and ValueTracking,
and these tend to all go together.


  Commit: e11d49cbf5a210ea312f891d9dff6b4bf6433d57
      https://github.com/llvm/llvm-project/commit/e11d49cbf5a210ea312f891d9dff6b4bf6433d57
  Author: Alexey Moksyakov <yavtuk at yandex.ru>
  Date:   2024-12-20 (Fri, 20 Dec 2024)

  Changed paths:
    M bolt/lib/Core/Relocation.cpp
    M bolt/lib/Target/AArch64/AArch64MCPlusBuilder.cpp

  Log Message:
  -----------
  [BOLT][AArch64] Adds tls relocations support (#117465)

Co-authored-by: yavtuk <yavtuk at ya.ru>


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

  Changed paths:
    M mlir/test/Integration/GPU/CUDA/async.mlir

  Log Message:
  -----------
  [mlir] Fix integration tests after #120580 (#120729)

This commit should have been part of #120580.


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

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

  Log Message:
  -----------
  [ConstraintElim] Remove dead code. NFC. (#118983)

`R2` should be always greater than `R1` here because both `R1` and `R2` are not modified inside the loop.


  Commit: a9034d0b7ff3b0bf90239f6b46ada7f3490b6904
      https://github.com/llvm/llvm-project/commit/a9034d0b7ff3b0bf90239f6b46ada7f3490b6904
  Author: Jonas Toth <development at jonas-toth.eu>
  Date:   2024-12-20 (Fri, 20 Dec 2024)

  Changed paths:
    M clang-tools-extra/docs/clang-tidy/checks/cppcoreguidelines/narrowing-conversions.rst

  Log Message:
  -----------
  [clang-tidy][docs] improve documentation on cppcoreguidelines-narrowing-conversions (#111510) (#118209)

This PR improves the docs for this check to include an example of hidden
narrowing conversions from the integer promotion rules in arithmetic.


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

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

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

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


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

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

  Log Message:
  -----------
  [VectorCombine] Add "VECTORCOMBINE on <FUNCTION_NAME>" title debug message to help finding vectorcombine stages in the debug log


  Commit: 42873e0cf107045b76d0fc221cdb838cdb0766bf
      https://github.com/llvm/llvm-project/commit/42873e0cf107045b76d0fc221cdb838cdb0766bf
  Author: Mikhail Goncharov <goncharov.mikhail at gmail.com>
  Date:   2024-12-20 (Fri, 20 Dec 2024)

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

  Log Message:
  -----------
  [bazel] port eb6c4197d5263ed2e086925b2b2f032a19442d2b


  Commit: 54309b1c2f7a9acdb91ae1735cf4eb0877eadfc0
      https://github.com/llvm/llvm-project/commit/54309b1c2f7a9acdb91ae1735cf4eb0877eadfc0
  Author: Jan Voung <jvoung at google.com>
  Date:   2024-12-20 (Fri, 20 Dec 2024)

  Changed paths:
    A clang/include/clang/Analysis/FlowSensitive/SmartPointerAccessorCaching.h
    M clang/lib/Analysis/FlowSensitive/CMakeLists.txt
    A clang/lib/Analysis/FlowSensitive/SmartPointerAccessorCaching.cpp
    M clang/unittests/Analysis/FlowSensitive/CMakeLists.txt
    A clang/unittests/Analysis/FlowSensitive/SmartPointerAccessorCachingTest.cpp

  Log Message:
  -----------
  [clang][dataflow] Add matchers for smart pointer accessors to be cached (#120102)

This is part 1 of caching for smart pointer accessors, building on top
of the CachedConstAccessorsLattice, which caches "normal" accessors.

Smart pointer accessors are a bit different in that they may:
- have aliases to access the same underlying data (but potentially
  returning slightly different types like `&` vs `*`). Within a
  "checked" sequence users may mix uses of the different aliases and the
  check should apply to any of the spellings.
- may have non-const overloads in addition to the const version, where
  the non-const doesn't actually modify the container

Part 2 will follow and add transfer functions utilities. It will also
add a user UncheckedOptionalAccessModel. We'd seen false positives when
nesting StatusOr<optional<T>> and optional<StatusOr<T>>, etc. which this
can help address.


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

  Changed paths:
    M llvm/utils/gn/secondary/clang/lib/Analysis/FlowSensitive/BUILD.gn
    M llvm/utils/gn/secondary/clang/unittests/Analysis/FlowSensitive/BUILD.gn

  Log Message:
  -----------
  [gn build] Port 54309b1c2f7a


  Commit: fa9cef50b1afc203b6b653396f9e775862c26e68
      https://github.com/llvm/llvm-project/commit/fa9cef50b1afc203b6b653396f9e775862c26e68
  Author: Dominik Steenken <dost at de.ibm.com>
  Date:   2024-12-20 (Fri, 20 Dec 2024)

  Changed paths:
    M llvm/include/llvm/IR/Instruction.h
    M llvm/lib/IR/Instruction.cpp
    M llvm/lib/Transforms/Utils/Local.cpp
    M llvm/test/Transforms/SimplifyCFG/preserve-llvm-loop-metadata.ll

  Log Message:
  -----------
  Only guard loop metadata that has non-debug info in it (#118825)

This PR is motivated by a mismatch we discovered between compilation
results with vs. without `-g3`. We noticed this when compiling SPEC2017
testcases. The specific instance we saw is fixed in this PR by modifying
a guard (see below), but it is likely similar instances exist elsewhere
in the codebase.

The specific case fixed in this PR manifests itself in the `SimplifyCFG`
pass doing different things depending on whether DebugInfo is generated
or not. At the end of this comment, there is reduced example code that
shows the behavior in question.

The differing behavior has two root causes:
1. Commit https://github.com/llvm/llvm-project/commit/c07e19b adds loop
metadata including debug locations to loops that otherwise would not
have loop metadata
2. Commit https://github.com/llvm/llvm-project/commit/ac28efa6c100 adds
a guard to a simplification action in `SImplifyCFG` that prevents it
from simplifying away loop metadata

So, the change in 2. does not consider that when compiling with debug
symbols, loops that otherwise would not have metadata that needs
preserving, now have debug locations in their loop metadata. Thus, with
`-g3`, `SimplifyCFG` behaves differently than without it.

The larger issue is that while debug info is not supposed to influence
the final compilation result, commits like 1. blur the line between what
is and is not debug info, and not all optimization passes account for
this.

This PR does not address that and rather just modifies this particular
guard in order to restore equivalent behavior between debug and
non-debug builds in this one instance.

---

Here is a reduced version of a file from `f526.blender_r` that showcases
the behavior in question:
```C
struct LinkNode;
typedef struct LinkNode {
 struct LinkNode *next;
 void *link;
} LinkNode;

void do_projectpaint_thread_ph_v_state() {
  int *ps = do_projectpaint_thread_ph_v_state;
  LinkNode *node;
  while (do_projectpaint_thread_ph_v_state)
    for (node = ps; node; node = node->next)
      ;
}
```
Compiling this with and without DebugInfo, and then disassembling the
results, leads to different outcomes (tested on SystemZ and X86). The
reason for this is that the `SimplifyCFG` pass does different things in
either case.


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

  Changed paths:
    M clang/lib/StaticAnalyzer/Core/TextDiagnostics.cpp

  Log Message:
  -----------
  [clang analyzer]consume `llvm::Error` (#120597)

`llvm::Error` must be consumed, otherwise it will cause trap during destructor


  Commit: acfd26a93be3fb70013560f3fb894eb9086e7e32
      https://github.com/llvm/llvm-project/commit/acfd26a93be3fb70013560f3fb894eb9086e7e32
  Author: Julian Nagele <j.nagele at apple.com>
  Date:   2024-12-20 (Fri, 20 Dec 2024)

  Changed paths:
    M llvm/lib/Analysis/ScalarEvolution.cpp
    M llvm/test/Analysis/ScalarEvolution/backedge-taken-count-guard-info-with-multiple-predecessors.ll

  Log Message:
  -----------
  [SCEV] Fix exit condition for recursive loop guard collection (#120442)

When assumptions are present `Terms.size()` does not actually count the
number of conditions collected from dominating branches; introduce a
separate counter.

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


  Commit: 2d5dc5c208532833e2ce55d7e1ce29063d91bbe3
      https://github.com/llvm/llvm-project/commit/2d5dc5c208532833e2ce55d7e1ce29063d91bbe3
  Author: Jan Voung <jvoung at google.com>
  Date:   2024-12-20 (Fri, 20 Dec 2024)

  Changed paths:
    M clang/lib/Analysis/FlowSensitive/SmartPointerAccessorCaching.cpp

  Log Message:
  -----------
  [clang][dataflow] Fix a missing break from a switch case -Wimplicit-fallthrough (#120739)

Missed when changing code in
https://github.com/llvm/llvm-project/pull/120102


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

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

  Log Message:
  -----------
  [VectorCombine] Add "VC: Visiting" debug message to help the log show the instruction folding order.


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

  Changed paths:
    M llvm/lib/Transforms/Vectorize/VectorCombine.cpp
    M llvm/test/Transforms/VectorCombine/AArch64/shuffletoidentity.ll

  Log Message:
  -----------
  [VectorCombine] Add fp cast handling for shuffletoidentity (#120641)

This fixes some regressions from recent changes to vector combine in
#120216. It allows shuffleToIdentity to look through fp casts as other
casts, and makes sure mismatching vector types in splats and casts do
not block the transform, as only the lanes should matter.


  Commit: 5845298f9439796a3a2f15dfce8250e322ddce4a
      https://github.com/llvm/llvm-project/commit/5845298f9439796a3a2f15dfce8250e322ddce4a
  Author: David Sherwood <david.sherwood at arm.com>
  Date:   2024-12-20 (Fri, 20 Dec 2024)

  Changed paths:
    M llvm/test/Transforms/LoopVectorize/X86/CostModel/gather-i16-with-i8-index.ll
    M llvm/test/Transforms/LoopVectorize/X86/CostModel/gather-i32-with-i8-index.ll
    M llvm/test/Transforms/LoopVectorize/X86/CostModel/gather-i64-with-i8-index.ll
    M llvm/test/Transforms/LoopVectorize/X86/CostModel/gather-i8-with-i8-index.ll
    M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-load-f32-stride-2.ll
    M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-load-f32-stride-3.ll
    M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-load-f32-stride-4.ll
    M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-load-i16-stride-2.ll
    M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-load-i16-stride-3.ll
    M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-load-i16-stride-4.ll
    M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-load-i16-stride-6.ll
    M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-load-i32-stride-2-indices-0u.ll
    M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-load-i32-stride-2.ll
    M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-load-i32-stride-3-indices-01u.ll
    M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-load-i32-stride-3-indices-0uu.ll
    M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-load-i32-stride-3.ll
    M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-load-i32-stride-4-indices-012u.ll
    M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-load-i32-stride-4-indices-0uuu.ll
    M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-load-i32-stride-4.ll
    M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-load-i32-stride-6.ll
    M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-load-i8-stride-2.ll
    M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-load-i8-stride-3.ll
    M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-load-i8-stride-4.ll
    M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-store-f32-stride-2.ll
    M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-store-f32-stride-3.ll
    M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-store-f32-stride-4.ll
    M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-store-f32-stride-5.ll
    M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-store-f32-stride-6.ll
    M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-store-f32-stride-7.ll
    M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-store-f64-stride-2.ll
    M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-store-f64-stride-3.ll
    M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-store-f64-stride-4.ll
    M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-store-f64-stride-5.ll
    M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-store-f64-stride-6.ll
    M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-store-f64-stride-7.ll
    M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-store-i16-stride-2.ll
    M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-store-i16-stride-3.ll
    M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-store-i16-stride-4.ll
    M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-store-i16-stride-5.ll
    M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-store-i16-stride-6.ll
    M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-store-i16-stride-7.ll
    M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-store-i32-stride-2.ll
    M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-store-i32-stride-3.ll
    M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-store-i32-stride-4.ll
    M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-store-i32-stride-5.ll
    M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-store-i32-stride-6.ll
    M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-store-i32-stride-7.ll
    M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-store-i64-stride-2.ll
    M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-store-i64-stride-3.ll
    M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-store-i64-stride-4.ll
    M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-store-i64-stride-5.ll
    M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-store-i64-stride-6.ll
    M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-store-i64-stride-7.ll
    M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-store-i8-stride-2.ll
    M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-store-i8-stride-3.ll
    M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-store-i8-stride-4.ll
    M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-store-i8-stride-5.ll
    M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-store-i8-stride-6.ll
    M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-store-i8-stride-7.ll
    M llvm/test/Transforms/LoopVectorize/X86/CostModel/masked-gather-i32-with-i8-index.ll
    M llvm/test/Transforms/LoopVectorize/X86/CostModel/masked-gather-i64-with-i8-index.ll
    M llvm/test/Transforms/LoopVectorize/X86/CostModel/masked-load-i16.ll
    M llvm/test/Transforms/LoopVectorize/X86/CostModel/masked-load-i32.ll
    M llvm/test/Transforms/LoopVectorize/X86/CostModel/masked-load-i64.ll
    M llvm/test/Transforms/LoopVectorize/X86/CostModel/masked-load-i8.ll

  Log Message:
  -----------
  [LoopVectorize] Teach some X86 cost model tests to use new vplan costs (#120738)

I've only fixed up the tests where I was able to use a simple sed script
to replace the text. Even after this patch lands, there are still over
50 tests that need updating in X86/CostModel!


  Commit: 953b07febca46036b2311b5998244fe07b61544f
      https://github.com/llvm/llvm-project/commit/953b07febca46036b2311b5998244fe07b61544f
  Author: Ivan Butygin <ivan.butygin at gmail.com>
  Date:   2024-12-20 (Fri, 20 Dec 2024)

  Changed paths:
    M mlir/lib/Conversion/AMDGPUToROCDL/AMDGPUToROCDL.cpp
    M mlir/test/Conversion/AMDGPUToROCDL/amdgpu-to-rocdl.mlir

  Log Message:
  -----------
  [mlir] AMDGPUToROCDL: RawBufferOpLowering fixes (#120642)

1. We can use `getNumElements()` only for memrefs with trivial layout.
2. Buffer ops expecting sizes in i32 but descriptor values can be either
i32 or i64, add appropriate casts. This implementation is not ideal as
it can overflow, but it's still better than generating broken IR.


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

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

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

This commit should have been part of #120580.


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

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

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

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


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

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

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

The specification of these routines can be found here:

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


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

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

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

Objective:

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


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

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

---------

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


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

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

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


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

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

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

Reverts llvm/llvm-project#100769

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


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

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

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

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

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

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

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


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

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

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

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


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

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

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


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

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

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

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


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

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

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

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


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

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

  Log Message:
  -----------
  [compiler-rt][rtsan] ppoll interception. (#120366)


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

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

  Log Message:
  -----------
  [compiler][rtsan] stream based on memory buffer interception. (#120672)


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

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

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


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

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

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

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

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

rdar://140885078


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

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

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

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


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

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

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


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

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

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

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

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

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

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


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

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

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

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

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


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

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

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

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

Reland 1c082c9cd12efaa67a32c5da89a328c458ed51c5


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

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

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

Added a nullptr check.


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

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

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

This patch fixes:

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


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

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

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


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

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

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


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

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

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

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

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


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

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

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

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

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

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


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

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

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


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

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

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

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

(rdar://141555357)


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

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

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

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

Noticed while comparing with SDNode::use_iterator.


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

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

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

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

Found by our random test generator.


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

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

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

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


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

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

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

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


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

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

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


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

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

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

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


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

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

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

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

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

Pointer types do not yet support address spaces.

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


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

  Changed paths:
    M llvm/docs/NVPTXUsage.rst
    M llvm/include/llvm/IR/IntrinsicsNVVM.td
    M llvm/lib/Target/NVPTX/NVPTXIntrinsics.td
    A llvm/test/CodeGen/NVPTX/wgmma-sm90a-fence.ll

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

This PR adds NVVM intrinsics and NVPTX codegen for:

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


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

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

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

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

---------

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


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

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

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

This reverts commit cfa582e8aaa791b52110791f5e6504121aaf62bf.


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

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

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

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


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

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

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

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


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

  Changed paths:
    M llvm/lib/Analysis/ScalarEvolution.cpp
    M llvm/test/Analysis/LoopAccessAnalysis/nssw-predicate-implied.ll
    M llvm/test/Analysis/LoopAccessAnalysis/wrapping-pointer-versioning.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/induction-costs-sve.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/induction-costs.ll
    M llvm/test/Transforms/LoopVectorize/X86/cost-model.ll
    M llvm/test/Transforms/LoopVectorize/X86/pr72969.ll
    M llvm/test/Transforms/LoopVectorize/no-fold-tail-by-masking-iv-external-uses.ll
    M llvm/test/Transforms/LoopVectorize/scev-exit-phi-invalidation.ll
    M llvm/test/Transforms/LoopVectorize/scev-predicate-reasoning.ll
    M llvm/test/Transforms/LoopVersioning/wrapping-pointer-versioning.ll

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

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

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

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


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

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

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

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

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

Fixes #112977


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

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

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

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

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


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

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

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

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

rdar://139997604


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

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

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

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


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

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

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

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


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

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

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

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


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

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

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

Missing `r` in the function name.


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

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

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

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

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

Resolves #119184


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

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

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


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

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

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


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

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

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

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

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


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

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

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


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

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

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

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

  foo -> bar -> ::new

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

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


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

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

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

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

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

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


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

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

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

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


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

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

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

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

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

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


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

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

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

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


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

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

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

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

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


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

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

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

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

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


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

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

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

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

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


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

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

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


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

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

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

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

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

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

---------

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


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

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

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

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


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

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

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


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

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

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

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


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

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

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

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


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

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

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

These are identical to the RISCVVPseudo base class.


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

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

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


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

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

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


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

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

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

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

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

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

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


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

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

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

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

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


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

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

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


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

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

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

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


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

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

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

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

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

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

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


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

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

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

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

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

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


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

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

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

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

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


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

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

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

Added debug counter and test for SLSR.

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


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

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

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

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

Fixes #120758


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

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

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

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


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

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

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


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

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

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

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


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

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

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

Fixes #120790


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

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

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

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


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

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

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

Fixes #120793.


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

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

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

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

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

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


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

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

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

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

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

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


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

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

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


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

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

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

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


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

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

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

The paper is purely editorial.

Fixes #99941


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

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

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

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


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

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

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

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


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

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

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

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


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

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

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

This fixes fallbacks on <4 x s16> types.


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

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

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

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


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

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

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

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


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

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

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


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

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

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

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

Fixes #119258.


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

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

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

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


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

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

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

The section cannot be empty due to allocInitialFragment.


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

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

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

In case those aren't compound statements.


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

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

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

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


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

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

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


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

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

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


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

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

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

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

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


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

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

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


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

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

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

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


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

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

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


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

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

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


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

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

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

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


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

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

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

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

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

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


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

  Changed paths:
    M lld/MachO/SymbolTable.cpp

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

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

Closes #120559.

---------

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


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

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

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

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


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

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

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


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

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

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

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


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

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

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

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


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

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

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

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


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

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

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

Interferes with constant folding of the pcmpgt node.

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

Fixes #120906


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

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

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


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

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

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

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

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

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


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

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

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

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

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

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


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

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

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


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

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

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


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

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

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


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

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

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

Part of #51787.

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


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

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

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

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


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

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

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

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

NFC.


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

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

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

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

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


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

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

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


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

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

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

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


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

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

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

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

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


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

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

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


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

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

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

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

---------

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


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

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

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

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


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

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

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

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


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

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

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

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


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

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

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


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

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

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

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

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

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


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

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

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


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

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

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

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

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

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


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

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

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

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

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

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


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

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

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

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

This patch refactor some code in monotonic_buffer_resource.


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

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

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

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

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


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

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

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

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

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


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

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

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

Fixes

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

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

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


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

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

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

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

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

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

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


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

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

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

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


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

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

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

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


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

  Changed paths:
    M clang/lib/Headers/avx10_2_512convertintrin.h
    M clang/lib/Headers/avx10_2convertintrin.h
    M clang/test/CodeGen/X86/avx10_2_512convert-builtins.c

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

Found during review #120766


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

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

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

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

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


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

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

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


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

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

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


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

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

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

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


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

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

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


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

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

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

This reverts commit 000febd0290698728abd9e23da6b27969c529177.

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

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

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

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


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

  Changed paths:
    M llvm/docs/ReleaseNotes.md

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


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

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

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

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

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

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

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


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

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

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

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

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

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


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

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

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

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

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

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

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

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

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


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

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

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


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

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

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

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

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


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

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

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


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

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

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


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

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

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

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


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

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

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

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


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

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

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

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

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

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

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


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

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

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

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


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

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

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

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

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

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


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

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

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

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

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

Fixes #120764


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

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

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


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

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

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

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


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

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

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

The order of comments is swapped.


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

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

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

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


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

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

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

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


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

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

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

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


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

  Changed paths:
    M flang/runtime/exceptions.cpp

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

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

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

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

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


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

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

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

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

Reviewers: preames, topperc, lukel97, wangpc-pp

Reviewed By: wangpc-pp

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


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

  Changed paths:
    M clang/lib/Sema/SemaChecking.cpp

  Log Message:
  -----------
  [Clang][Sema] Process warnings conditionally (#120591)

There are a few functions that emit warnings related to positional
arguments in format strings. These functions use `getLocationOfByte()`
which has O(n) complexity and may lead to silent hang of compilation in
some cases. But such warnings is not widely used and actually don't emit
if user didn't pass the appropriate `-W...` flag, so if the flag is not
passed dont make the call to `EmitFormatDiagnostic` for such diags.

Fix #120462


  Commit: d36836de0183b9b1939cc679d153e3b313e55c76
      https://github.com/llvm/llvm-project/commit/d36836de0183b9b1939cc679d153e3b313e55c76
  Author: Valentin Clement (バレンタイン クレメン) <clementval at gmail.com>
  Date:   2024-12-23 (Mon, 23 Dec 2024)

  Changed paths:
    M flang/lib/Optimizer/CodeGen/CodeGen.cpp
    M flang/test/Fir/CUDA/cuda-code-gen.mlir

  Log Message:
  -----------
  [flang][cuda] Create descriptor in managed memory when emboxing fir.box_addr value (#120980)


  Commit: d8e792931226b15d9d2424ecd24ccfe13adc2367
      https://github.com/llvm/llvm-project/commit/d8e792931226b15d9d2424ecd24ccfe13adc2367
  Author: Pranav Kant <prka at google.com>
  Date:   2024-12-23 (Mon, 23 Dec 2024)

  Changed paths:
    M mlir/lib/Transforms/Utils/DialectConversion.cpp

  Log Message:
  -----------
  [mlir] Fix -Werror,-Wundefined-bool-conversion after #117513 (#120985)


  Commit: 2ce168baed02c7a6fdb039f4a2d9e48dee31e5c9
      https://github.com/llvm/llvm-project/commit/2ce168baed02c7a6fdb039f4a2d9e48dee31e5c9
  Author: Sander de Smalen <sander.desmalen at arm.com>
  Date:   2024-12-23 (Mon, 23 Dec 2024)

  Changed paths:
    M llvm/lib/IR/Verifier.cpp
    M llvm/lib/Target/AArch64/AArch64FastISel.cpp
    M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
    M llvm/lib/Target/AArch64/AArch64ISelLowering.h
    M llvm/lib/Target/AArch64/AArch64MachineFunctionInfo.h
    M llvm/lib/Target/AArch64/AArch64SMEInstrInfo.td
    M llvm/lib/Target/AArch64/AArch64TargetTransformInfo.cpp
    M llvm/lib/Target/AArch64/Utils/AArch64SMEAttributes.cpp
    M llvm/lib/Target/AArch64/Utils/AArch64SMEAttributes.h
    A llvm/test/CodeGen/AArch64/sme-agnostic-za.ll
    M llvm/test/CodeGen/AArch64/sme-disable-gisel-fisel.ll
    M llvm/test/Transforms/Inline/AArch64/sme-pstateza-attrs.ll
    M llvm/test/Verifier/sme-attributes.ll

  Log Message:
  -----------
  [AArch64] SME implementation for agnostic-ZA functions (#120150)

This implements the lowering of calls from agnostic-ZA functions to
non-agnostic-ZA functions, using the ABI routines
`__arm_sme_state_size`, `__arm_sme_save` and `__arm_sme_restore`.

This implements the proposal described in the following PRs:
* https://github.com/ARM-software/acle/pull/336
* https://github.com/ARM-software/abi-aa/pull/264


  Commit: c2b89fc9e45d325282b8eb6536f6145282dc3fdf
      https://github.com/llvm/llvm-project/commit/c2b89fc9e45d325282b8eb6536f6145282dc3fdf
  Author: Ikhlas Ajbar <iajbar at quicinc.com>
  Date:   2024-12-23 (Mon, 23 Dec 2024)

  Changed paths:
    M clang/include/clang/Basic/BuiltinsHexagon.def
    M clang/include/clang/Driver/Options.td
    M clang/lib/Basic/Targets/Hexagon.cpp
    M clang/lib/Headers/hvx_hexagon_protos.h
    M clang/test/Driver/hexagon-toolchain-elf.c
    M clang/test/Misc/target-invalid-cpu-note/hexagon.c
    M clang/test/Preprocessor/hexagon-predefines.c
    M llvm/include/llvm/BinaryFormat/ELF.h
    M llvm/include/llvm/IR/IntrinsicsHexagonDep.td
    M llvm/lib/Target/Hexagon/Hexagon.td
    M llvm/lib/Target/Hexagon/HexagonDepArch.h
    M llvm/lib/Target/Hexagon/HexagonDepArch.td
    M llvm/lib/Target/Hexagon/HexagonDepIICHVX.td
    M llvm/lib/Target/Hexagon/HexagonDepIICScalar.td
    M llvm/lib/Target/Hexagon/HexagonSchedule.td
    M llvm/lib/Target/Hexagon/HexagonScheduleV75.td
    A llvm/lib/Target/Hexagon/HexagonScheduleV79.td
    M llvm/lib/Target/Hexagon/HexagonSubtarget.h
    M llvm/lib/Target/Hexagon/MCTargetDesc/HexagonMCELFStreamer.cpp
    M llvm/lib/Target/Hexagon/MCTargetDesc/HexagonMCTargetDesc.cpp
    M llvm/test/MC/Hexagon/arch-support.s
    A llvm/test/MC/Hexagon/v79_arch.s

  Log Message:
  -----------
  [Hexagon] Add V79 support to compiler and assembler (#120983)

This patch introduces support for the Hexagon V79 architecture. It
includes instruction formats, definitions, encodings, scheduling
classes, and builtins/intrinsics. It also adds missing Hexagon v73
builtins to clang.


  Commit: c7a777322dd8cc171cea9bbc8dbad14277b3587a
      https://github.com/llvm/llvm-project/commit/c7a777322dd8cc171cea9bbc8dbad14277b3587a
  Author: Florian Hahn <flo at fhahn.com>
  Date:   2024-12-23 (Mon, 23 Dec 2024)

  Changed paths:
    M llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp

  Log Message:
  -----------
  [VPlan] Replace else-if dyn_cast with cast (NFC).

The recipes handled here are either VPWidenIntrinsic or VPWidenCast, so
replace the else-if dyn_cast with a single else + cast.


  Commit: 4ad3de3d4d2acb1fed551b6af67ca42f8dce59e6
      https://github.com/llvm/llvm-project/commit/4ad3de3d4d2acb1fed551b6af67ca42f8dce59e6
  Author: Vitaly Buka <vitalybuka at google.com>
  Date:   2024-12-23 (Mon, 23 Dec 2024)

  Changed paths:
    M clang/lib/Driver/ToolChains/CommonArgs.cpp

  Log Message:
  -----------
  [NFC][Driver] Simplify linking of ubsan_standalone_cxx (#120938)

Refactoring before linking it only with CFI diag or VPTR.

Almost NFC as `requiresMinimalRuntime() && needsCfiDiagRt()` changed,
but it  was unsupported before anyway.


  Commit: 5b74fb75d90ef6620741af45f146cefacbd9ecef
      https://github.com/llvm/llvm-project/commit/5b74fb75d90ef6620741af45f146cefacbd9ecef
  Author: Valentin Clement (バレンタイン クレメン) <clementval at gmail.com>
  Date:   2024-12-23 (Mon, 23 Dec 2024)

  Changed paths:
    M flang/include/flang/Runtime/CUDA/allocator.h
    M flang/include/flang/Runtime/CUDA/common.h
    M flang/include/flang/Runtime/allocatable.h
    M flang/include/flang/Runtime/allocator-registry.h
    M flang/include/flang/Runtime/descriptor.h
    M flang/lib/Lower/Allocatable.cpp
    M flang/lib/Optimizer/Builder/Runtime/Allocatable.cpp
    M flang/runtime/CUDA/allocatable.cpp
    M flang/runtime/CUDA/allocator.cpp
    M flang/runtime/CUDA/descriptor.cpp
    M flang/runtime/allocatable.cpp
    M flang/runtime/array-constructor.cpp
    M flang/runtime/descriptor.cpp
    M flang/test/HLFIR/elemental-codegen.fir
    M flang/test/Lower/OpenACC/acc-declare.f90
    M flang/test/Lower/allocatable-polymorphic.f90
    M flang/test/Lower/allocatable-runtime.f90
    M flang/test/Lower/allocate-mold.f90
    M flang/test/Lower/polymorphic.f90
    M flang/unittests/Runtime/CUDA/Allocatable.cpp
    M flang/unittests/Runtime/CUDA/AllocatorCUF.cpp
    M flang/unittests/Runtime/CUDA/Memory.cpp

  Log Message:
  -----------
  Reland '[flang] Allow to pass an async id to allocate the descriptor (#118713)' and #118733 (#120997)

Device runtime build have been fixed. Attempt to re-land these patches
that have been approved before.

https://github.com/llvm/llvm-project/pull/118713
https://github.com/llvm/llvm-project/pull/118733


  Commit: a60050cf1966eb8d46253c8da13df52ac8b9ec33
      https://github.com/llvm/llvm-project/commit/a60050cf1966eb8d46253c8da13df52ac8b9ec33
  Author: Hongren Zheng <i at zenithal.me>
  Date:   2024-12-23 (Mon, 23 Dec 2024)

  Changed paths:
    M mlir/include/mlir/Analysis/DataFlowFramework.h

  Log Message:
  -----------
  [mlir][dataflow] Allow re-run all analyses in DataFlowSolver (#120881)

In downstream (check https://github.com/google/heir/pull/1228,
especially [this
commit](https://github.com/ZenithalHourlyRate/heir/commit/fbf0b2733f1f60e852c757602afac65a4364e30c);
also check https://github.com/google/heir/pull/1154) we often need to
re-run the analysis during the transformation pass as IR get changed
based on the analysis result and analysis continuously get invalidated.

There are solutions to it like `getOrCreateState` for newly created
`Value` (`AnchorT`), but warning is that the new state does not
propagate! This is quite unexpected as user of analysis would expect it
to propagate. We downstream used to use `solver->propagateIfChanged` but
that turned out to be not working, see detailed writeup in
https://github.com/google/heir/issues/1153.

Just call `initializeAndRun` repeatedly also does not solve the problem
as `analysisStates` is not cleared and the monotonicity of
`AnalysisState` will make the analysis invalid as `join` will not work
as expected (the first join is no longer `join(uninitialized, init
value)`, instead it becomes `join(higher value, init value)`.

To correctly re-run the analysis, either a new `DataFlowSolver` is
created, or we can just clear the `analysisState`.


  Commit: 927a70daf31b1610627f346b0dc140eda72144b9
      https://github.com/llvm/llvm-project/commit/927a70daf31b1610627f346b0dc140eda72144b9
  Author: Muhammad Omair Javaid <omair.javaid at linaro.org>
  Date:   2024-12-24 (Tue, 24 Dec 2024)

  Changed paths:
    M flang/lib/Lower/OpenMP/OpenMP.cpp
    A flang/test/Lower/OpenMP/Todo/task_untied.f90
    M flang/test/Lower/OpenMP/task.f90
    M mlir/lib/Target/LLVMIR/Dialect/OpenMP/OpenMPToLLVMIRTranslation.cpp
    M mlir/test/Target/LLVMIR/openmp-llvm.mlir
    M mlir/test/Target/LLVMIR/openmp-todo.mlir

  Log Message:
  -----------
  Revert "[Flang OpenMP] Add LLVM translation support for UNTIED in Task (#115283)"

This reverts commit 919aead1db64b2f1444842bc75a3af7836238671.
It breaks following LLVM bots:
https://lab.llvm.org/buildbot/#/builders/199
https://lab.llvm.org/buildbot/#/builders/143
https://lab.llvm.org/buildbot/#/builders/17


  Commit: fbdf652d970322a00f61333f1ca10facb72f0cbb
      https://github.com/llvm/llvm-project/commit/fbdf652d970322a00f61333f1ca10facb72f0cbb
  Author: Alexey Bataev <a.bataev at outlook.com>
  Date:   2024-12-23 (Mon, 23 Dec 2024)

  Changed paths:
    A llvm/test/Analysis/CostModel/RISCV/shuffle-exact-vlen.ll

  Log Message:
  -----------
  [RISCV][COST]Add several test with known vlen, NFC


  Commit: ba373096e8ac83a7136fc44bc4e71a7bc53417a6
      https://github.com/llvm/llvm-project/commit/ba373096e8ac83a7136fc44bc4e71a7bc53417a6
  Author: Igor Kudrin <ikudrin at accesssoftek.com>
  Date:   2024-12-23 (Mon, 23 Dec 2024)

  Changed paths:
    M llvm/lib/ObjectYAML/ELFEmitter.cpp
    M llvm/test/tools/yaml2obj/ELF/note-section.yaml

  Log Message:
  -----------
  [ObjectYAML][ELF] Report incorrect offset to generate notes (#118741)

All notes in the note section must be correctly aligned, including the
first. The tool should refuse to generate notes if the section offset is
incorrect in this respect.


  Commit: 1c25a3bfa57209e7a29eaae58ce5e0432aafe8c3
      https://github.com/llvm/llvm-project/commit/1c25a3bfa57209e7a29eaae58ce5e0432aafe8c3
  Author: NAKAMURA Takumi <geek4civic at gmail.com>
  Date:   2024-12-24 (Tue, 24 Dec 2024)

  Changed paths:
    M clang/test/CoverageMapping/single-byte-counters.cpp
    A llvm/test/tools/llvm-cov/Inputs/branch-c-general-single.proftext
    A llvm/test/tools/llvm-cov/Inputs/branch-c-general-single.yaml
    M llvm/test/tools/llvm-cov/Inputs/branch-c-general.c
    A llvm/test/tools/llvm-cov/Inputs/branch-logical-mixed-single.proftext
    A llvm/test/tools/llvm-cov/Inputs/branch-logical-mixed-single.yaml
    A llvm/test/tools/llvm-cov/Inputs/branch-logical-mixed.cpp
    A llvm/test/tools/llvm-cov/Inputs/branch-macros-single.proftext
    A llvm/test/tools/llvm-cov/Inputs/branch-macros-single.yaml
    A llvm/test/tools/llvm-cov/Inputs/branch-macros.cpp
    A llvm/test/tools/llvm-cov/Inputs/branch-showBranchPercentage.c
    A llvm/test/tools/llvm-cov/Inputs/branch-templates-single.proftext
    A llvm/test/tools/llvm-cov/Inputs/branch-templates-single.yaml
    A llvm/test/tools/llvm-cov/Inputs/branch-templates.cpp
    A llvm/test/tools/llvm-cov/Inputs/showLineExecutionCounts-single.proftext
    A llvm/test/tools/llvm-cov/Inputs/showLineExecutionCounts-single.yaml
    A llvm/test/tools/llvm-cov/Inputs/showLineExecutionCounts.cpp
    A llvm/test/tools/llvm-cov/Inputs/yaml.makefile
    M llvm/test/tools/llvm-cov/branch-c-general.test
    R llvm/test/tools/llvm-cov/branch-logical-mixed.cpp
    A llvm/test/tools/llvm-cov/branch-logical-mixed.test
    R llvm/test/tools/llvm-cov/branch-macros.cpp
    A llvm/test/tools/llvm-cov/branch-macros.test
    M llvm/test/tools/llvm-cov/branch-noShowBranch.test
    R llvm/test/tools/llvm-cov/branch-showBranchPercentage.c
    A llvm/test/tools/llvm-cov/branch-showBranchPercentage.test
    R llvm/test/tools/llvm-cov/branch-templates.cpp
    A llvm/test/tools/llvm-cov/branch-templates.test
    R llvm/test/tools/llvm-cov/showLineExecutionCounts.cpp
    A llvm/test/tools/llvm-cov/showLineExecutionCounts.test
    R llvm/test/tools/llvm-cov/threads.c
    A llvm/test/tools/llvm-cov/threads.test

  Log Message:
  -----------
  Introduce SingleByteCoverage tests (w/yaml2obj) (#113114)

Restructure some tests to split into `%.test` and Inputs/%.c*`.

Add test actions with `yaml2obj` for single byte coverage. `FileCheck`
lines are:
- Relax to accept both counter values and single values `1`. A few line
counting are greater than `1` due to `llvm-profdata merge`. They will be
fixed by #110972.
- Suppress matching with `--check-prefixes=CHECK,BRCOV`, since the
current implementation of single byte doesn't emit any branch coverages.
They will be integrated to `CHECK` finally.
- Some tests are not unified but use dedicated `CHECK` lines for single
byte, since old format is different (esp. "partial fold"). They will be
unified when `Inputs` will be regenerated.

Introduce llvm/test/tools/llvm-cov/Inputs/yaml.makefile for convenience.
`%-single.yaml` and `%-single.proftext` are generated by it. It could be
used to regenerate other files.


https://discourse.llvm.org/t/rfc-integrating-singlebytecoverage-with-branch-coverage/82492


  Commit: 378e1793379c9c63a4265ecf55c47308410ed25d
      https://github.com/llvm/llvm-project/commit/378e1793379c9c63a4265ecf55c47308410ed25d
  Author: Krzysztof Drewniak <Krzysztof.Drewniak at amd.com>
  Date:   2024-12-23 (Mon, 23 Dec 2024)

  Changed paths:
    M mlir/docs/DefiningDialects/Operations.md
    M mlir/include/mlir/Dialect/Affine/IR/AffineOps.td
    M mlir/include/mlir/Dialect/LLVMIR/LLVMOps.td
    M mlir/include/mlir/IR/Properties.td
    M mlir/test/lib/Dialect/Test/TestOps.td
    M mlir/test/lib/Dialect/Test/TestOpsSyntax.td
    M mlir/test/mlir-tblgen/op-format-invalid.td
    M mlir/test/mlir-tblgen/op-properties-predicates.td
    M mlir/test/mlir-tblgen/op-properties.td
    M mlir/tools/mlir-tblgen/OpFormatGen.cpp

  Log Message:
  -----------
  [mlir][Properties] Shorten "Property" to "Prop" in most places (#120368)

Since the property system isn't currently in heavy use, it's probably
the right time to fix a choice I made when expanding ODS property
support.

Specifically, most of the property subclasses, like OptionalProperty or
IntProperty, wrote out the word "Property" in full. The corresponding
classes in the Attribute hierarchy uses the short-form "Attr" in those
cases, as in OptionalAttr or DefaultValuedAttr.

This commit changes all those uses of "Property" to "Prop" in order to
prevent excessively verbose tablegen files that needlessly repeat the
full name of a core concept that can be abbreviated.

So, this commit renames all the FooProperty classes to FooProp, and
keeps the existing names as alias with a Deprecated<> on them to warn
people.

In addition, this commit updates the documentation around properties to
mention the constraint support.


  Commit: 5db5dd7689b39c1c50f229f22e9d23b5475d51e1
      https://github.com/llvm/llvm-project/commit/5db5dd7689b39c1c50f229f22e9d23b5475d51e1
  Author: Krzysztof Drewniak <Krzysztof.Drewniak at amd.com>
  Date:   2024-12-23 (Mon, 23 Dec 2024)

  Changed paths:
    M mlir/docs/DefiningDialects/Operations.md

  Log Message:
  -----------
  [mlir][NFC] Document predicate field on properties (#120975)


  Commit: ac586fd204e92b76b1ee255342ba26a45a29a1d9
      https://github.com/llvm/llvm-project/commit/ac586fd204e92b76b1ee255342ba26a45a29a1d9
  Author: Prabhuk <prabhukr at google.com>
  Date:   2024-12-23 (Mon, 23 Dec 2024)

  Changed paths:
    M clang/lib/Basic/Targets/OSTargets.h
    A clang/test/Driver/uefi-defines.c
    M clang/test/Preprocessor/init.c

  Log Message:
  -----------
  [clang] Introduce a new UEFI target predefine. (#111719)

Add a `__UEFI__` predefine for UEFI target.

Co-authored-by: RossComputerGuy


  Commit: dbae7176a6ecf558dc5e92016cdda387c9d74d66
      https://github.com/llvm/llvm-project/commit/dbae7176a6ecf558dc5e92016cdda387c9d74d66
  Author: Vy Nguyen <vyng at google.com>
  Date:   2024-12-23 (Mon, 23 Dec 2024)

  Changed paths:
    A llvm/docs/Telemetry.rst
    M llvm/docs/UserGuides.rst
    A llvm/docs/llvm_telemetry_design.png
    A llvm/include/llvm/Telemetry/Telemetry.h
    M llvm/lib/CMakeLists.txt
    A llvm/lib/Telemetry/CMakeLists.txt
    A llvm/lib/Telemetry/Telemetry.cpp
    M llvm/unittests/CMakeLists.txt
    A llvm/unittests/Telemetry/CMakeLists.txt
    A llvm/unittests/Telemetry/TelemetryTest.cpp

  Log Message:
  -----------
  Reapply "[llvm]Add a simple Telemetry framework" (#120769) (#121003)

This reverts commit 2ec6174bef4bc9ef3d5cedbffd7169017c9669c3.

New changes:
 - Use explicit overloads of write(<int types>)
 - Fix link error due to missing dependency (lib/Support)
 - Updated tests and docs


  Commit: 275a27703ec9100a4984d1d0a366d50d3dc887ea
      https://github.com/llvm/llvm-project/commit/275a27703ec9100a4984d1d0a366d50d3dc887ea
  Author: NAKAMURA Takumi <geek4civic at gmail.com>
  Date:   2024-12-24 (Tue, 24 Dec 2024)

  Changed paths:
    M llvm/lib/ProfileData/Coverage/CoverageMapping.cpp
    M llvm/test/tools/llvm-cov/Inputs/branch-logical-mixed.cpp
    M llvm/test/tools/llvm-cov/branch-macros.test
    M llvm/test/tools/llvm-cov/showLineExecutionCounts.test

  Log Message:
  -----------
  [Coverage][Single] Round Counters to boolean after evaluation (#110972)

Rounding in merging segments has been done after #75425.

Depends on: #113114


  Commit: 93d4b1f7a72f366c1ea91b2d65991266053be8d9
      https://github.com/llvm/llvm-project/commit/93d4b1f7a72f366c1ea91b2d65991266053be8d9
  Author: Lang Hames <lhames at gmail.com>
  Date:   2024-12-24 (Tue, 24 Dec 2024)

  Changed paths:
    M llvm/tools/llvm-jitlink/llvm-jitlink-coff.cpp
    M llvm/tools/llvm-jitlink/llvm-jitlink-elf.cpp
    M llvm/tools/llvm-jitlink/llvm-jitlink-macho.cpp
    M llvm/tools/llvm-jitlink/llvm-jitlink.cpp

  Log Message:
  -----------
  Reapply "[llvm-jitlink] Use concurrent linking by default." with fixes. (#120958)

Reapplies commit edca1d9bad2 which was reverted in 34531cff638 while I
investigated bot failures, (e.g.
https://lab.llvm.org/buildbot/#/builders/137/builds/10791).

Commit 158a60051d2 should address the -check failures on the bots, which
were caused by checks running earlier under the concurrent linking
scheme before all files referenced by the checks had been fully linked.
This patch also fixes the -threads option failure by renaming the option
to -num-threads to avoid clashing with the ThreadCount cl::opt variable
defined in ThinLTOCodeGenerator.cpp.


  Commit: 9ab5474e560292d15cb53ed94d248d7e5f54787d
      https://github.com/llvm/llvm-project/commit/9ab5474e560292d15cb53ed94d248d7e5f54787d
  Author: Benjamin Maxwell <benjamin.maxwell at arm.com>
  Date:   2024-12-23 (Mon, 23 Dec 2024)

  Changed paths:
    M llvm/include/llvm/IR/VectorTypeUtils.h
    M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
    M llvm/lib/Transforms/Vectorize/VPlanRecipes.cpp

  Log Message:
  -----------
  [LV] Rename `ToVectorTy` to `toVectorTy` (NFC) (#120404)

This is for consistency with other helpers (and also follows the LLVM
naming conventions).


  Commit: 9d0a5d4620a2aa5dc01b150e5ebe7613238cae1c
      https://github.com/llvm/llvm-project/commit/9d0a5d4620a2aa5dc01b150e5ebe7613238cae1c
  Author: Vitaly Buka <vitalybuka at google.com>
  Date:   2024-12-23 (Mon, 23 Dec 2024)

  Changed paths:
    M llvm/include/llvm/Telemetry/Telemetry.h

  Log Message:
  -----------
  [Telemetry] Add missing virtual destructors (#121015)

Fixes warnings after #121003.


  Commit: 030829a7e53fad0eab9b87b5dd49427e9fb13303
      https://github.com/llvm/llvm-project/commit/030829a7e53fad0eab9b87b5dd49427e9fb13303
  Author: Alexey Bataev <a.bataev at outlook.com>
  Date:   2024-12-23 (Mon, 23 Dec 2024)

  Changed paths:
    M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
    M llvm/test/Transforms/SLPVectorizer/X86/buildvector-schedule-for-subvector.ll

  Log Message:
  -----------
  [SLP]Drop samesign flag if the vector node has reduced bitwidth

If the operands of the icmp instructions has reduced bitwidth after
MinBitwidth analysis, need to drop samesign flag to preserve correctness
of the transformation.

Fixes #120823


  Commit: 0d6a584f69f07cfb900cdf6c83a10e872a5861f9
      https://github.com/llvm/llvm-project/commit/0d6a584f69f07cfb900cdf6c83a10e872a5861f9
  Author: Ryotaro Kasuga <kasuga.ryotaro at fujitsu.com>
  Date:   2024-12-24 (Tue, 24 Dec 2024)

  Changed paths:
    M llvm/include/llvm/CodeGen/MachinePipeliner.h
    M llvm/lib/CodeGen/MachinePipeliner.cpp

  Log Message:
  -----------
  [MachinePipeliner] Add an abstract layer to manipulate Data Dependenc… (#109918)

…e Graph

In MachinePipeliner, a DAG class is used to represent the Data
Dependence Graph. Data Dependence Graph generally contains cycles, so
it's not appropriate to use DAG classes. In fact, some "hacks" are used
to express back-edges in the current implementation. This patch adds a
new class to provide a better interface for manipulating dependencies.
Our approach is as follows:

- To build the graph, we use the ScheduleDAGInstrs class as it is,
because it has powerful functions and the current implementation depends
heavily on it.
- After the graph construction is finished (i.e., during scheduling), we
use the new class DataDependenceGraph to manipulate the dependencies.

Since we don't change the dependencies during scheduling, the new class
only provides functions to read them. Also, this patch is just a
refactoring, i.e., scheduling results should not change with or without
this patch.


  Commit: 7d166fa38470a23f3134a3793b9236b2a5c68fcf
      https://github.com/llvm/llvm-project/commit/7d166fa38470a23f3134a3793b9236b2a5c68fcf
  Author: khaki3 <47756807+khaki3 at users.noreply.github.com>
  Date:   2024-12-23 (Mon, 23 Dec 2024)

  Changed paths:
    M flang/runtime/CUDA/kernel.cpp

  Log Message:
  -----------
  [flang][cuda] Correct the number of blocks when setting the grid to `*` (#121000)

We set the `gridX` argument of `_FortranACUFLaunchKernel` to `-1` when
`*` is passed to the grid parameter. We store it in one of `dim3`
members. However, `dim3` members are unsigned, so positive-value checks
we use later, such as `gridDim.x > 0`, are invalid. This PR utilizes the
original gird-size arguments to compute the number of blocks.


  Commit: 2c95e60df53ba1a5765b3fad9e8ddaff70f21994
      https://github.com/llvm/llvm-project/commit/2c95e60df53ba1a5765b3fad9e8ddaff70f21994
  Author: NAKAMURA Takumi <geek4civic at gmail.com>
  Date:   2024-12-24 (Tue, 24 Dec 2024)

  Changed paths:
    M llvm/unittests/Telemetry/TelemetryTest.cpp

  Log Message:
  -----------
  TelemetryTest.cpp: Suppress a warning in #121003 [-Wunused-private-field]


  Commit: 7ec139ad4bc09857ab2b93926feef0d110071668
      https://github.com/llvm/llvm-project/commit/7ec139ad4bc09857ab2b93926feef0d110071668
  Author: NAKAMURA Takumi <geek4civic at gmail.com>
  Date:   2024-12-24 (Tue, 24 Dec 2024)

  Changed paths:
    M llvm/tools/llvm-jitlink/llvm-jitlink-coff.cpp
    M llvm/tools/llvm-jitlink/llvm-jitlink-elf.cpp
    M llvm/tools/llvm-jitlink/llvm-jitlink-macho.cpp
    M llvm/tools/llvm-jitlink/llvm-jitlink.cpp

  Log Message:
  -----------
  Revert "Reapply "[llvm-jitlink] Use concurrent linking by default." with fixes. (#120958)"

Caused random failures.

This reverts commit 93d4b1f7a72f366c1ea91b2d65991266053be8d9.
(llvmorg-20-init-16299-g93d4b1f7a72f)


  Commit: 4cb2a519db10f54815c8a4ccd5accbedc1cdfd07
      https://github.com/llvm/llvm-project/commit/4cb2a519db10f54815c8a4ccd5accbedc1cdfd07
  Author: Valentin Clement (バレンタイン クレメン) <clementval at gmail.com>
  Date:   2024-12-23 (Mon, 23 Dec 2024)

  Changed paths:
    M flang/include/flang/Runtime/CUDA/allocator.h
    M flang/include/flang/Runtime/CUDA/common.h
    M flang/include/flang/Runtime/allocatable.h
    M flang/include/flang/Runtime/allocator-registry.h
    M flang/include/flang/Runtime/descriptor.h
    M flang/lib/Lower/Allocatable.cpp
    M flang/lib/Optimizer/Builder/Runtime/Allocatable.cpp
    M flang/runtime/CUDA/allocatable.cpp
    M flang/runtime/CUDA/allocator.cpp
    M flang/runtime/CUDA/descriptor.cpp
    M flang/runtime/allocatable.cpp
    M flang/runtime/array-constructor.cpp
    M flang/runtime/descriptor.cpp
    M flang/test/HLFIR/elemental-codegen.fir
    M flang/test/Lower/OpenACC/acc-declare.f90
    M flang/test/Lower/allocatable-polymorphic.f90
    M flang/test/Lower/allocatable-runtime.f90
    M flang/test/Lower/allocate-mold.f90
    M flang/test/Lower/polymorphic.f90
    M flang/unittests/Runtime/CUDA/Allocatable.cpp
    M flang/unittests/Runtime/CUDA/AllocatorCUF.cpp
    M flang/unittests/Runtime/CUDA/Memory.cpp

  Log Message:
  -----------
  Revert "Reland '[flang] Allow to pass an async id to allocate the descriptor (#118713)' and #118733" (#121029)

This still cause issue for device runtime build.


  Commit: df12983610dfb4f33ab4fa406a267f39d4c65248
      https://github.com/llvm/llvm-project/commit/df12983610dfb4f33ab4fa406a267f39d4c65248
  Author: vdonaldson <37090318+vdonaldson at users.noreply.github.com>
  Date:   2024-12-24 (Tue, 24 Dec 2024)

  Changed paths:
    M flang/runtime/exceptions.cpp

  Log Message:
  -----------
  [flang] build fix (#121032)

Place floating point environment calls under '#ifdef __USE_GNU'.


  Commit: ccbbacf0fa98bd386c0a7b3bdfb85c43e7db1a93
      https://github.com/llvm/llvm-project/commit/ccbbacf0fa98bd386c0a7b3bdfb85c43e7db1a93
  Author: David Green <david.green at arm.com>
  Date:   2024-12-24 (Tue, 24 Dec 2024)

  Changed paths:
    M llvm/lib/Target/ARM/MVEGatherScatterLowering.cpp
    M llvm/test/CodeGen/Thumb2/mve-gather-increment.ll

  Log Message:
  -----------
  [ARM] Fix MVE incrementing gather offset calculation

The code was checking the gep ptr type as opposed to the gep source element
type in calculating the offset scale.

Fixes #120993


  Commit: c84f5a9e00c02e6a4349846ed59ec85154b65e3f
      https://github.com/llvm/llvm-project/commit/c84f5a9e00c02e6a4349846ed59ec85154b65e3f
  Author: Aiden Grossman <aidengrossman at google.com>
  Date:   2024-12-24 (Tue, 24 Dec 2024)

  Changed paths:
    M llvm/utils/git/code-format-helper.py

  Log Message:
  -----------
  [Github] Skip MIR files for undef check (#120919)

This patch skips checking files with a .mir extension for the presence
of undef. This was creating false positives that got reported on
discourse.


  Commit: b2073fb9b9282c0f59861a137660f6a0782d7468
      https://github.com/llvm/llvm-project/commit/b2073fb9b9282c0f59861a137660f6a0782d7468
  Author: Momchil Velikov <momchil.velikov at arm.com>
  Date:   2024-12-24 (Tue, 24 Dec 2024)

  Changed paths:
    M llvm/lib/Target/AArch64/AArch64ISelDAGToDAG.cpp
    M llvm/lib/Target/AArch64/AArch64InstrInfo.td
    M llvm/lib/Target/AArch64/AArch64SVEInstrInfo.td
    M llvm/lib/Target/AArch64/SVEInstrFormats.td
    M llvm/test/CodeGen/AArch64/zeroing-forms-abs-neg.ll
    M llvm/test/CodeGen/AArch64/zeroing-forms-fcvt-bfcvt.ll
    M llvm/test/CodeGen/AArch64/zeroing-forms-fcvtlt-fcvtx.ll
    M llvm/test/CodeGen/AArch64/zeroing-forms-fcvtzsu.ll

  Log Message:
  -----------
  [AArch64] Prefer SVE2.2 zeroing forms of certain instructions with an all-true predicate (#120595)

When the predicate of a destructive operation is known to be all-true,
for example

    fabs z0.s, p0/m, z1.s

then the entire output register is written and we can use a zeroing
(instead of a merging) form of the instruction, for example

    fabs z0.s, p0/z, z1.s

thus eliminate the dependency on the input-output destination register
without the need to insert a `movprfx`.

This patch complements (and in the case of
https://github.com/llvm/llvm-project/commit/2b3266c1701f315d7e89c81977800001563afacb,
fixes a regression) the following:

https://github.com/llvm/llvm-project/commit/7f4414b2a1a4d9f802a03f56894c406f0fe3e9a9
[AArch64] Generate zeroing forms of certain SVE2.2 instructions (4/11)
(https://github.com/llvm/llvm-project/pull/116830)

https://github.com/llvm/llvm-project/commit/2474cf7ad123ea14308293a2237e3552cddb1136
[AArch64] Generate zeroing forms of certain SVE2.2 instructions (3/11)
(https://github.com/llvm/llvm-project/pull/116829)

https://github.com/llvm/llvm-project/commit/6f285d31159501050de5563b1a844a3e1ac79a03
[AArch64] Generate zeroing forms of certain SVE2.2 instructions (2/11)
(https://github.com/llvm/llvm-project/pull/116828)

https://github.com/llvm/llvm-project/commit/2b3266c1701f315d7e89c81977800001563afacb
[AArch64] Generate zeroing forms of certain SVE2.2 instructions (1/11)
(https://github.com/llvm/llvm-project/pull/116259)


  Commit: c858bf620c3ab2a4db53e84b9365b553c3ad1aa6
      https://github.com/llvm/llvm-project/commit/c858bf620c3ab2a4db53e84b9365b553c3ad1aa6
  Author: Sam Tebbs <samuel.tebbs at arm.com>
  Date:   2024-12-24 (Tue, 24 Dec 2024)

  Changed paths:
    M llvm/include/llvm/Analysis/TargetTransformInfo.h
    M llvm/include/llvm/Analysis/TargetTransformInfoImpl.h
    M llvm/lib/Analysis/TargetTransformInfo.cpp
    M llvm/lib/Target/AArch64/AArch64TargetTransformInfo.h
    M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
    M llvm/lib/Transforms/Vectorize/VPRecipeBuilder.h
    M llvm/lib/Transforms/Vectorize/VPlan.h
    M llvm/lib/Transforms/Vectorize/VPlanAnalysis.cpp
    M llvm/lib/Transforms/Vectorize/VPlanRecipes.cpp
    M llvm/lib/Transforms/Vectorize/VPlanValue.h
    M llvm/test/Transforms/LoopVectorize/AArch64/fully-unrolled-cost.ll
    A llvm/test/Transforms/LoopVectorize/AArch64/partial-reduce-dot-product-epilogue.ll
    A llvm/test/Transforms/LoopVectorize/AArch64/partial-reduce-dot-product-neon.ll
    A llvm/test/Transforms/LoopVectorize/AArch64/partial-reduce-dot-product.ll
    A llvm/test/Transforms/LoopVectorize/AArch64/partial-reduce-no-dotprod.ll
    A llvm/test/Transforms/LoopVectorize/AArch64/vplan-printing.ll

  Log Message:
  -----------
  Reland "[LoopVectorizer] Add support for partial reductions" (#120721)

This re-lands the reverted #92418 

When the VF is small enough so that dividing the VF by the scaling
factor results in 1, the reduction phi execution thinks the VF is scalar
and sets the reduction's output as a scalar value, tripping assertions
expecting a vector value. The latest commit in this PR fixes that by
using `State.VF` in the scalar check, rather than the divided VF.

---------

Co-authored-by: Nicholas Guy <nicholas.guy at arm.com>


  Commit: 10c18ab7e6c46d9daeb558d47be1f06c53c5ed0e
      https://github.com/llvm/llvm-project/commit/10c18ab7e6c46d9daeb558d47be1f06c53c5ed0e
  Author: Nico Weber <thakis at chromium.org>
  Date:   2024-12-24 (Tue, 24 Dec 2024)

  Changed paths:
    A llvm/utils/gn/secondary/llvm/lib/Telemetry/BUILD.gn
    M llvm/utils/gn/secondary/llvm/unittests/BUILD.gn
    A llvm/utils/gn/secondary/llvm/unittests/Telemetry/BUILD.gn

  Log Message:
  -----------
  [gn] port dbae7176a6ec (LLVMTelemetry)


  Commit: 8e1cb96db84a70b2c803c28a359c8bb71395f35e
      https://github.com/llvm/llvm-project/commit/8e1cb96db84a70b2c803c28a359c8bb71395f35e
  Author: vabridgers <58314289+vabridgers at users.noreply.github.com>
  Date:   2024-12-24 (Tue, 24 Dec 2024)

  Changed paths:
    R clang-tools-extra/test/clang-tidy/checkers/bugprone/alpha-core-identicalexpr.cpp
    A clang-tools-extra/test/clang-tidy/checkers/bugprone/branch-clone-2.cpp
    A clang-tools-extra/test/clang-tidy/checkers/misc/redundant-expression-2.cpp

  Log Message:
  -----------
  [analyzer] Split alpha core Identical Expression tests (#119543)

Split the remnant test from PR #114715, "Remove alpha.core.IdenticalExpr
Checker" into seperate tests for misc-redundant-expression and
bugprone-branch-clone per review comment requests.

---------

Co-authored-by: einvbri <vince.a.bridgers at ericsson.com>


  Commit: 334a5766d7591bfaadf6990b3d8568c9688e22a5
      https://github.com/llvm/llvm-project/commit/334a5766d7591bfaadf6990b3d8568c9688e22a5
  Author: Richard Dzenis <richard at dzenis.dev>
  Date:   2024-12-24 (Tue, 24 Dec 2024)

  Changed paths:
    M llvm/docs/CommandGuide/llvm-objcopy.rst
    M llvm/docs/ReleaseNotes.md
    M llvm/lib/ObjCopy/ConfigManager.cpp
    M llvm/lib/ObjCopy/MachO/MachOObjcopy.cpp
    M llvm/lib/ObjCopy/MachO/MachOObject.cpp
    M llvm/lib/ObjCopy/MachO/MachOObject.h
    A llvm/test/tools/llvm-objcopy/MachO/globalize-symbol.test
    A llvm/test/tools/llvm-objcopy/MachO/keep-global-symbol.test
    A llvm/test/tools/llvm-objcopy/MachO/localize-symbol.test
    A llvm/test/tools/llvm-objcopy/MachO/skip-symbol.test

  Log Message:
  -----------
  [llvm-objcopy] Add support of symbol modification flags for MachO (#120895)

This patch adds support of the following llvm-objcopy flags for MachO:

- `--globalize-symbol`, `--globalize-symbols`,
- `--keep-global-symbol`, `-G`, `--keep-global-symbols`,
- `--localize-symbol`, `-L`, `--localize-symbols`,
- `--skip-symbol`, `--skip-symbols`.

Code in `updateAndRemoveSymbols` for MachO
is kept similar to its version for ELF.

Fixes #120894


  Commit: ffc7380ff4808fcc21350a39caf7f34073b41697
      https://github.com/llvm/llvm-project/commit/ffc7380ff4808fcc21350a39caf7f34073b41697
  Author: Nikolas Klauser <nikolasklauser at berlin.de>
  Date:   2024-12-24 (Tue, 24 Dec 2024)

  Changed paths:
    M libcxx/include/__fwd/memory.h
    M libcxx/include/__ostream/basic_ostream.h

  Log Message:
  -----------
  [libc++] Avoid including shared_ptr.h in basic_ostream.h (#121049)


  Commit: 2ff614aaa6eb94bc5d02c8f0fb70a1132acb4423
      https://github.com/llvm/llvm-project/commit/2ff614aaa6eb94bc5d02c8f0fb70a1132acb4423
  Author: Congcong Cai <congcongcai0907 at 163.com>
  Date:   2024-12-24 (Tue, 24 Dec 2024)

  Changed paths:
    M clang-tools-extra/clang-tidy/tool/ClangTidyMain.cpp
    M clang-tools-extra/docs/ReleaseNotes.rst
    M clang-tools-extra/docs/clang-tidy/index.rst
    A clang-tools-extra/test/clang-tidy/infrastructure/Inputs/param/parameters.txt
    A clang-tools-extra/test/clang-tidy/infrastructure/read-parameters-from-file-error.cpp
    A clang-tools-extra/test/clang-tidy/infrastructure/read-parameters-from-file.cpp

  Log Message:
  -----------
  [clang-tidy] support parameters file in command line (#120547)

Fixes: #103499


  Commit: 6bafbc99b0df7d5554af63115d78d0d97065862a
      https://github.com/llvm/llvm-project/commit/6bafbc99b0df7d5554af63115d78d0d97065862a
  Author: Alexey Bataev <a.bataev at outlook.com>
  Date:   2024-12-24 (Tue, 24 Dec 2024)

  Changed paths:
    A llvm/test/Transforms/SLPVectorizer/logical-ops-poisonous-repeated.ll

  Log Message:
  -----------
  [SLP][NFC]Add a test with incorrect (more poisnous) reduction chain


  Commit: f0f8dab712967b8fca5fcca4d7338b1d25017634
      https://github.com/llvm/llvm-project/commit/f0f8dab712967b8fca5fcca4d7338b1d25017634
  Author: Alexey Bataev <a.bataev at outlook.com>
  Date:   2024-12-24 (Tue, 24 Dec 2024)

  Changed paths:
    M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
    M llvm/test/Transforms/SLPVectorizer/logical-ops-poisonous-repeated.ll

  Log Message:
  -----------
  [SLP]Check if the first reduced value requires freeze/swap, if it may be too poisonous

If several reduced values are combined and the first reduced value is
just the original reduced value of the bool logical op, need to freeze
it to prevent the propagation of the poison value.

Fixes #114905


  Commit: 8dbb33762cfb8d8606d28a71293f437ddffee4af
      https://github.com/llvm/llvm-project/commit/8dbb33762cfb8d8606d28a71293f437ddffee4af
  Author: Balazs Benics <benicsbalazs at gmail.com>
  Date:   2024-12-24 (Tue, 24 Dec 2024)

  Changed paths:
    M clang/lib/StaticAnalyzer/Core/CallEvent.cpp

  Log Message:
  -----------
  [analyzer] Simplify CallEvent castArgToParamTypeIfNeeded (#120981)

I noticed recently that this code (that I wrote xD) uses the
`getRuntimeDefinition()` which isn't quite necessary for the simple task
this function was designed for.

Why would it be better not using this API here?
I'm experimenting with improving how virtual functions are inlined,
where depending on our ability of deducing the dynamic type of the
object we may end up with inaccurate type information. Such inaccuracy
would mean that we may have multiple runtime definitions. After that,
this code would become ambiguous.

To resolve this, I decided to refactor this and use a simpler - but
equivalent approach.


  Commit: 0d6cb0ae9d4ff610f729d0fd1bbd27227e6628cf
      https://github.com/llvm/llvm-project/commit/0d6cb0ae9d4ff610f729d0fd1bbd27227e6628cf
  Author: Alexey Bataev <a.bataev at outlook.com>
  Date:   2024-12-24 (Tue, 24 Dec 2024)

  Changed paths:
    M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp

  Log Message:
  -----------
  [SLP]Fix strict weak ordering criterion in comparators

Fixes #121019


  Commit: 852feea820f3f8b2fc44c851cc3ce5fe9576fa64
      https://github.com/llvm/llvm-project/commit/852feea820f3f8b2fc44c851cc3ce5fe9576fa64
  Author: Alexey Bataev <a.bataev at outlook.com>
  Date:   2024-12-24 (Tue, 24 Dec 2024)

  Changed paths:
    M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp

  Log Message:
  -----------
  [SLP]Propagate AssumptionCache where possible


  Commit: 6e3631d0e3316394ff4eae2913013d323e685790
      https://github.com/llvm/llvm-project/commit/6e3631d0e3316394ff4eae2913013d323e685790
  Author: Kunwar Grover <groverkss at gmail.com>
  Date:   2024-12-24 (Tue, 24 Dec 2024)

  Changed paths:
    M mlir/lib/Dialect/SCF/Transforms/TileUsingInterface.cpp

  Log Message:
  -----------
  [mlir][scf] Track replacements using a listener in TileAndFuse (#120999)

This PR makes TileAndFuse explicitly track replacements using a listener
instead of assuming that the results always come from the outer most
tiling loop. scf::tileUsingInterface can introduce merge operations
whose results are the actual replacements to use, instead of the outer
most loop results.


  Commit: 2d038caeebc8c5e49915c0db7c7eb21116c71de2
      https://github.com/llvm/llvm-project/commit/2d038caeebc8c5e49915c0db7c7eb21116c71de2
  Author: Florian Hahn <flo at fhahn.com>
  Date:   2024-12-24 (Tue, 24 Dec 2024)

  Changed paths:
    M llvm/lib/Transforms/Vectorize/VPlanRecipes.cpp
    M llvm/test/Transforms/LoopVectorize/AArch64/sve-inductions-unusual-types.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/sve2-histcnt-vplan.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/type-shrinkage-zext-costs.ll
    M llvm/test/Transforms/LoopVectorize/ARM/mve-icmpcost.ll
    M llvm/test/Transforms/LoopVectorize/X86/reduction-small-size.ll
    M llvm/test/Transforms/LoopVectorize/X86/uint64_to_fp64-cost-model.ll
    M llvm/test/Transforms/LoopVectorize/first-order-recurrence-chains-vplan.ll

  Log Message:
  -----------
  [VPlan] Remove stray space when printing VPWidenCastRecipe.

printFlags() already takes care of printing a single space if there are
no flags. Remove the extra space when printing a recipe without flags.


  Commit: 07d284d4ebffd58d4b2934769b4e11fedd0b106e
      https://github.com/llvm/llvm-project/commit/07d284d4ebffd58d4b2934769b4e11fedd0b106e
  Author: Alexey Bataev <a.bataev at outlook.com>
  Date:   2024-12-24 (Tue, 24 Dec 2024)

  Changed paths:
    M llvm/include/llvm/CodeGen/BasicTTIImpl.h
    M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
    M llvm/test/Analysis/CostModel/AMDGPU/shufflevector.ll
    M llvm/test/Analysis/CostModel/RISCV/shuffle-exact-vlen.ll
    M llvm/test/Analysis/CostModel/X86/shuffle-single-src-latency.ll
    M llvm/test/Analysis/CostModel/X86/shuffle-splat-codesize.ll
    M llvm/test/Analysis/CostModel/X86/shuffle-splat-latency.ll
    M llvm/test/Analysis/CostModel/X86/shuffle-splat-sizelatency.ll
    M llvm/test/Analysis/CostModel/X86/shuffle-splat.ll
    M llvm/test/Transforms/SLPVectorizer/AArch64/reused-scalar-repeated-in-node.ll
    M llvm/test/Transforms/SLPVectorizer/AArch64/scalarization-overhead.ll
    M llvm/test/Transforms/SLPVectorizer/RISCV/complex-loads.ll
    M llvm/test/Transforms/SLPVectorizer/X86/scatter-vectorize-reorder.ll
    M llvm/test/Transforms/SLPVectorizer/alternate-cmp-swapped-pred-parent.ll
    M llvm/test/Transforms/SLPVectorizer/extract-many-users-buildvector.ll
    M llvm/test/Transforms/SLPVectorizer/full-overlap-non-schedulable.ll
    M llvm/test/Transforms/SLPVectorizer/gathered-consecutive-loads-different-types.ll
    M llvm/test/Transforms/SLPVectorizer/reorder-clustered-node.ll
    M llvm/test/Transforms/SLPVectorizer/resized-alt-shuffle-after-minbw.ll

  Log Message:
  -----------
  [SLP]Add cost estimation for gather node reshuffling

Adds cost estimation for the variants of the permutations of the scalar
values, used in gather nodes. Currently, SLP just unconditionally emits
shuffles for the reused buildvectors, but in some cases better to leave
them as buildvectors rather than shuffles, if the cost of such
buildvectors is better.

X86, AVX512, -O3+LTO
Metric: size..text

Program                                                                        size..text
                                                                               results     results0    diff
                 test-suite :: External/SPEC/CINT2006/445.gobmk/445.gobmk.test   912998.00   913238.00  0.0%
 test-suite :: MultiSource/Benchmarks/MiBench/consumer-lame/consumer-lame.test   203070.00   203102.00  0.0%
     test-suite :: External/SPEC/CFP2017speed/638.imagick_s/638.imagick_s.test  1396320.00  1396448.00  0.0%
      test-suite :: External/SPEC/CFP2017rate/538.imagick_r/538.imagick_r.test  1396320.00  1396448.00  0.0%
                       test-suite :: MultiSource/Benchmarks/Bullet/bullet.test   309790.00   309678.00 -0.0%
      test-suite :: External/SPEC/CFP2017rate/526.blender_r/526.blender_r.test 12477607.00 12470807.00 -0.1%

CINT2006/445.gobmk - extra code vectorized
MiBench/consumer-lame - small variations
CFP2017speed/638.imagick_s
CFP2017rate/538.imagick_r - extra vectorized code
Benchmarks/Bullet - extra code vectorized
CFP2017rate/526.blender_r - extra vector code

RISC-V, sifive-p670, -O3+LTO
CFP2006/433.milc - regressions, should be fixed by https://github.com/llvm/llvm-project/pull/115173
CFP2006/453.povray - extra vectorized code
CFP2017rate/508.namd_r - better vector code
CFP2017rate/510.parest_r - extra vectorized code
SPEC/CFP2017rate - extra/better vector code
CFP2017rate/526.blender_r - extra vectorized code
CFP2017rate/538.imagick_r - extra vectorized code
CINT2006/403.gcc - extra vectorized code
CINT2006/445.gobmk - extra vectorized code
CINT2006/464.h264ref - extra vectorized code
CINT2006/483.xalancbmk - small variations
CINT2017rate/525.x264_r - better vectorization

Reviewers: RKSimon

Reviewed By: RKSimon

Pull Request: https://github.com/llvm/llvm-project/pull/115201


  Commit: f2334c5919ec077e6a8deeaf43a5b5188baf0251
      https://github.com/llvm/llvm-project/commit/f2334c5919ec077e6a8deeaf43a5b5188baf0251
  Author: Aiden Grossman <agrossman154 at yahoo.com>
  Date:   2024-12-24 (Tue, 24 Dec 2024)

  Changed paths:
    M llvm/test/tools/llvm-exegesis/X86/latency/cpu-pinning.s
    M llvm/tools/llvm-exegesis/lib/BenchmarkRunner.cpp

  Log Message:
  -----------
  [llvm-exegesis] Make benchmark pinning actually work

When originally writing this feature up, I apparently completely forgot
to actually make the test exercise it and left an extra exit in the
function implementing the functionality without the appropriate
preprocessor macros around it, causing things to never work. This patch
should fix that.


  Commit: 4b3d439e7e7b4e794e523caea9863d67ff8cf85f
      https://github.com/llvm/llvm-project/commit/4b3d439e7e7b4e794e523caea9863d67ff8cf85f
  Author: Fangrui Song <i at maskray.me>
  Date:   2024-12-24 (Tue, 24 Dec 2024)

  Changed paths:
    M llvm/test/MC/RISCV/XVentanaCondOps-valid.s
    M llvm/test/MC/RISCV/Zawrs-valid.s
    M llvm/test/MC/RISCV/Ztso.s
    M llvm/test/MC/RISCV/compress-cjal.s
    M llvm/test/MC/RISCV/compress-debug-info.s
    M llvm/test/MC/RISCV/compress-rv32d.s
    M llvm/test/MC/RISCV/compress-rv32f.s
    M llvm/test/MC/RISCV/compress-rv32i.s
    M llvm/test/MC/RISCV/compress-rv64i.s
    M llvm/test/MC/RISCV/compressed-relocations.s
    M llvm/test/MC/RISCV/compressed-zicfiss.s
    M llvm/test/MC/RISCV/corev/XCValu-valid.s
    M llvm/test/MC/RISCV/corev/XCVmac-valid.s
    M llvm/test/MC/RISCV/debug-valid.s
    M llvm/test/MC/RISCV/deprecated-csr-names.s
    M llvm/test/MC/RISCV/fixups-binary-expression.s
    M llvm/test/MC/RISCV/fixups.s
    M llvm/test/MC/RISCV/fp-default-rounding-mode.s
    M llvm/test/MC/RISCV/fp-inx-default-rounding-mode.s
    M llvm/test/MC/RISCV/hypervisor-csr-names.s
    M llvm/test/MC/RISCV/insn.s
    M llvm/test/MC/RISCV/insn_c.s
    M llvm/test/MC/RISCV/machine-csr-names.s
    M llvm/test/MC/RISCV/option-nopic.s
    M llvm/test/MC/RISCV/option-pic.s
    M llvm/test/MC/RISCV/option-pushpop.s
    M llvm/test/MC/RISCV/option-rvc.s
    M llvm/test/MC/RISCV/print-imm-hex.s
    M llvm/test/MC/RISCV/priv-valid.s
    M llvm/test/MC/RISCV/relocations.s
    M llvm/test/MC/RISCV/rv32-hypervisor-csr-names.s
    M llvm/test/MC/RISCV/rv32-machine-csr-names.s
    M llvm/test/MC/RISCV/rv32-supervisor-csr-names.s
    M llvm/test/MC/RISCV/rv32-user-csr-names.s
    M llvm/test/MC/RISCV/rv32c-aliases-valid.s
    M llvm/test/MC/RISCV/rv32c-only-valid.s
    M llvm/test/MC/RISCV/rv32dc-valid.s
    M llvm/test/MC/RISCV/rv32fc-aliases-valid.s
    M llvm/test/MC/RISCV/rv32fc-valid.s
    M llvm/test/MC/RISCV/rv32i-aliases-invalid.s
    M llvm/test/MC/RISCV/rv32i-aliases-valid.s
    M llvm/test/MC/RISCV/rv32i-only-valid.s
    M llvm/test/MC/RISCV/rv32zbb-aliases-valid.s
    M llvm/test/MC/RISCV/rv32zbb-only-valid.s
    M llvm/test/MC/RISCV/rv32zbs-aliases-valid.s
    M llvm/test/MC/RISCV/rv32zcmp-invalid.s
    M llvm/test/MC/RISCV/rv32zcmp-valid.s
    M llvm/test/MC/RISCV/rv32zfa-only-valid.s
    M llvm/test/MC/RISCV/rv32zicfiss-invalid.s
    M llvm/test/MC/RISCV/rv32zmmul-invaild.s
    M llvm/test/MC/RISCV/rv32zmmul-valid.s
    M llvm/test/MC/RISCV/rv64-machine-csr-names.s
    M llvm/test/MC/RISCV/rv64-user-csr-names.s
    M llvm/test/MC/RISCV/rv64a-aliases-valid.s
    M llvm/test/MC/RISCV/rv64c-aliases-valid.s
    M llvm/test/MC/RISCV/rv64c-hints-valid.s
    M llvm/test/MC/RISCV/rv64c-valid.s
    M llvm/test/MC/RISCV/rv64d-aliases-valid.s
    M llvm/test/MC/RISCV/rv64d-valid.s
    M llvm/test/MC/RISCV/rv64dc-valid.s
    M llvm/test/MC/RISCV/rv64e-valid.s
    M llvm/test/MC/RISCV/rv64e-zcmp-valid.s
    M llvm/test/MC/RISCV/rv64f-aliases-valid.s
    M llvm/test/MC/RISCV/rv64f-valid.s
    M llvm/test/MC/RISCV/rv64i-aliases-invalid.s
    M llvm/test/MC/RISCV/rv64i-aliases-valid.s
    M llvm/test/MC/RISCV/rv64i-valid.s
    M llvm/test/MC/RISCV/rv64ih-valid.s
    M llvm/test/MC/RISCV/rv64m-valid.s
    M llvm/test/MC/RISCV/rv64zaamo-valid.s
    M llvm/test/MC/RISCV/rv64zacas-valid.s
    M llvm/test/MC/RISCV/rv64zalasr-valid.s
    M llvm/test/MC/RISCV/rv64zalrsc-valid.s
    M llvm/test/MC/RISCV/rv64zba-aliases-valid.s
    M llvm/test/MC/RISCV/rv64zbb-aliases-valid.s
    M llvm/test/MC/RISCV/rv64zbb-valid.s
    M llvm/test/MC/RISCV/rv64zbs-aliases-valid.s
    M llvm/test/MC/RISCV/rv64zcb-valid.s
    M llvm/test/MC/RISCV/rv64zcmp-invalid.s
    M llvm/test/MC/RISCV/rv64zcmp-valid.s
    M llvm/test/MC/RISCV/rv64zdinx-valid.s
    M llvm/test/MC/RISCV/rv64zfh-valid.s
    M llvm/test/MC/RISCV/rv64zfinx-valid.s
    M llvm/test/MC/RISCV/rv64zhinx-valid.s
    M llvm/test/MC/RISCV/rv64zhinxmin-valid.s
    M llvm/test/MC/RISCV/rv64zicfiss-invalid.s
    M llvm/test/MC/RISCV/rv64zmmul-invalid.s
    M llvm/test/MC/RISCV/rv64zmmul-valid.s
    M llvm/test/MC/RISCV/rva-aliases-valid.s
    M llvm/test/MC/RISCV/rvc-aliases-valid.s
    M llvm/test/MC/RISCV/rvc-hints-valid.s
    M llvm/test/MC/RISCV/rvc-valid.s
    M llvm/test/MC/RISCV/rvd-aliases-valid.s
    M llvm/test/MC/RISCV/rvd-valid.s
    M llvm/test/MC/RISCV/rvdc-aliases-valid.s
    M llvm/test/MC/RISCV/rve-valid.s
    M llvm/test/MC/RISCV/rvf-aliases-valid.s
    M llvm/test/MC/RISCV/rvf-user-csr-names.s
    M llvm/test/MC/RISCV/rvf-valid.s
    M llvm/test/MC/RISCV/rvi-valid.s
    M llvm/test/MC/RISCV/rvih-valid.s
    M llvm/test/MC/RISCV/rvk-user-csr-name.s
    M llvm/test/MC/RISCV/rvm-valid.s
    M llvm/test/MC/RISCV/rvv-user-csr-names.s
    M llvm/test/MC/RISCV/rvv/aliases.s
    M llvm/test/MC/RISCV/rvv/fothers.s
    M llvm/test/MC/RISCV/rvv/freduction.s
    M llvm/test/MC/RISCV/rvv/load.s
    M llvm/test/MC/RISCV/rvv/others.s
    M llvm/test/MC/RISCV/rvv/store.s
    M llvm/test/MC/RISCV/rvv/zvlsseg.s
    M llvm/test/MC/RISCV/rvzaamo-valid.s
    M llvm/test/MC/RISCV/rvzabha-valid.s
    M llvm/test/MC/RISCV/rvzabha-zacas-valid.s
    M llvm/test/MC/RISCV/rvzacas-valid.s
    M llvm/test/MC/RISCV/rvzalasr-valid.s
    M llvm/test/MC/RISCV/rvzalrsc-valid.s
    M llvm/test/MC/RISCV/rvzbb-valid.s
    M llvm/test/MC/RISCV/rvzcb-invalid.s
    M llvm/test/MC/RISCV/rvzcb-valid.s
    M llvm/test/MC/RISCV/rvzcmt-invalid.s
    M llvm/test/MC/RISCV/rvzcmt-user-csr-name.s
    M llvm/test/MC/RISCV/rvzcmt-valid.s
    M llvm/test/MC/RISCV/rvzdinx-aliases-valid.s
    M llvm/test/MC/RISCV/rvzdinx-valid.s
    M llvm/test/MC/RISCV/rvzfbfmin-valid.s
    M llvm/test/MC/RISCV/rvzfh-aliases-valid.s
    M llvm/test/MC/RISCV/rvzfh-valid.s
    M llvm/test/MC/RISCV/rvzfhmin-valid.s
    M llvm/test/MC/RISCV/rvzfinx-aliases-valid.s
    M llvm/test/MC/RISCV/rvzfinx-valid.s
    M llvm/test/MC/RISCV/rvzhinx-aliases-valid.s
    M llvm/test/MC/RISCV/rvzhinx-valid.s
    M llvm/test/MC/RISCV/rvzhinxmin-valid.s
    M llvm/test/MC/RISCV/rvzihintntl-valid.s
    M llvm/test/MC/RISCV/rvzihintpause-valid.s
    M llvm/test/MC/RISCV/smctr-ssctr-valid.s
    M llvm/test/MC/RISCV/smrnmi-valid.s
    M llvm/test/MC/RISCV/supervisor-csr-names.s
    M llvm/test/MC/RISCV/user-csr-names.s
    M llvm/test/MC/RISCV/xqcia-valid.s
    M llvm/test/MC/RISCV/xqcics-valid.s
    M llvm/test/MC/RISCV/xqcicsr-valid.s
    M llvm/test/MC/RISCV/xqcilsm-aliases-valid.s
    M llvm/test/MC/RISCV/xqcilsm-valid.s
    M llvm/test/MC/RISCV/xqcisls-valid.s
    M llvm/test/MC/RISCV/xsifive-valid.s
    M llvm/test/MC/RISCV/xwchc-compress.s
    M llvm/test/MC/RISCV/xwchc-valid.s
    M llvm/test/MC/RISCV/zfa-double-invalid.s
    M llvm/test/MC/RISCV/zfa-half-invalid.s
    M llvm/test/MC/RISCV/zfa-valid.s
    M llvm/test/MC/RISCV/zfa-zfhmin-zvfh-valid.s
    M llvm/test/MC/RISCV/zicfilp-invalid.s
    M llvm/test/MC/RISCV/zicfilp-valid.s
    M llvm/test/MC/RISCV/zicfiss-valid.s

  Log Message:
  -----------
  [test] Replace -riscv-no-alises with -M no-aliases

The new option from https://reviews.llvm.org/D103004 is preferred.


  Commit: 24ff23fb3af95bb3a2e5af1e95f94a3e308a5a6a
      https://github.com/llvm/llvm-project/commit/24ff23fb3af95bb3a2e5af1e95f94a3e308a5a6a
  Author: Aiden Grossman <agrossman154 at yahoo.com>
  Date:   2024-12-24 (Tue, 24 Dec 2024)

  Changed paths:
    M llvm/docs/CommandGuide/llvm-exegesis.rst

  Log Message:
  -----------
  [llvm-exegesis][Docs] Add documentation on benchmark-process-cpu option

This patch adds documentation on the benchmark-process-cpu option. I
apparently did not add any documentation when originally implementing
the feature.


  Commit: 48a6e51445d61101fa42ffbf9997e5d54a02fc18
      https://github.com/llvm/llvm-project/commit/48a6e51445d61101fa42ffbf9997e5d54a02fc18
  Author: Aiden Grossman <agrossman154 at yahoo.com>
  Date:   2024-12-24 (Tue, 24 Dec 2024)

  Changed paths:
    M llvm/tools/llvm-exegesis/lib/BenchmarkRunner.cpp

  Log Message:
  -----------
  [llvm-exegesis] Fix typo in f2334c5919ec077e6a8deeaf43a5b5188baf0251

This should have been in the original commit, but I somehow forgot to
run git add && git commit --amend --no-edit between making the change in
my editor, saving the file, and pushing the commit.


  Commit: cd66c9b6a04689659348c0a3ff4c1205b1133fe9
      https://github.com/llvm/llvm-project/commit/cd66c9b6a04689659348c0a3ff4c1205b1133fe9
  Author: Vitaly Buka <vitalybuka at google.com>
  Date:   2024-12-24 (Tue, 24 Dec 2024)

  Changed paths:
    M clang/include/clang/Driver/SanitizerArgs.h
    M clang/lib/Driver/SanitizerArgs.cpp
    M clang/lib/Driver/ToolChains/CommonArgs.cpp
    M clang/test/Driver/sanitizer-ld.c
    M compiler-rt/lib/asan/CMakeLists.txt
    M compiler-rt/lib/asan/tests/CMakeLists.txt
    M compiler-rt/lib/hwasan/CMakeLists.txt
    M compiler-rt/lib/msan/CMakeLists.txt
    M compiler-rt/lib/tsan/rtl/CMakeLists.txt
    M compiler-rt/test/asan/TestCases/Linux/interface_symbols_linux.cpp

  Log Message:
  -----------
  [Ubsan][Driver] Remove UBSAN C++ runtime from other sanitizers (#121006)

Linking this runtime requires C++ ABI, which breaks -nostdlib++ builds.
However, UBSAN C++ runtime is only needed for CFI and VPTR checks.

Unblocks #120370.


  Commit: 34f8573a514915222630cf21e8a0c901a25f4ca0
      https://github.com/llvm/llvm-project/commit/34f8573a514915222630cf21e8a0c901a25f4ca0
  Author: Joseph Huber <huberjn at outlook.com>
  Date:   2024-12-24 (Tue, 24 Dec 2024)

  Changed paths:
    M clang/docs/ReleaseNotes.rst
    M clang/lib/Driver/ToolChains/CommonArgs.cpp
    M clang/lib/Driver/ToolChains/Cuda.cpp
    R clang/test/Driver/Inputs/libomptarget/libomptarget-nvptx-sm_52.bc
    A clang/test/Driver/Inputs/libomptarget/libomptarget-nvptx.bc
    R clang/test/Driver/Inputs/libomptarget/subdir/libomptarget-nvptx-sm_52.bc
    A clang/test/Driver/Inputs/libomptarget/subdir/libomptarget-nvptx.bc
    M clang/test/Driver/openmp-offload-gpu.c
    M offload/DeviceRTL/CMakeLists.txt
    M offload/DeviceRTL/src/Misc.cpp
    M offload/DeviceRTL/src/Reduction.cpp
    M openmp/docs/ReleaseNotes.rst

  Log Message:
  -----------
  [OpenMP] Use generic IR for the OpenMP DeviceRTL (#119091)

Summary:
We previously built this for every single architecture to deal with
incompatibility. This patch updates it to use the 'generic' IR that
`libc` and other projects use. Who knows if this will have any
side-effects, probably worth testing more but it passes the tests I
expect to pass on my side.


  Commit: 970f65a98a681831e308860e7004e066f5152791
      https://github.com/llvm/llvm-project/commit/970f65a98a681831e308860e7004e066f5152791
  Author: Hervé Poussineau <hpoussin at reactos.org>
  Date:   2024-12-25 (Wed, 25 Dec 2024)

  Changed paths:
    M clang/lib/Basic/Targets.cpp
    M clang/lib/Basic/Targets/Mips.cpp
    M clang/lib/Basic/Targets/Mips.h
    M clang/test/Preprocessor/predefined-win-macros.c

  Log Message:
  -----------
  [Clang][MIPS] Create specific targets for MIPS PE/COFF (#121040)

Implement GNU and MSVC variants.
When using them, _WIN32 and _M_MRX000/_MIPS_ macros are correctly
defined.


  Commit: 88d04be815bd289c691ab81061ac8a573ad15677
      https://github.com/llvm/llvm-project/commit/88d04be815bd289c691ab81061ac8a573ad15677
  Author: Kinoshita Kotaro <k.kotaro at fujitsu.com>
  Date:   2024-12-25 (Wed, 25 Dec 2024)

  Changed paths:
    M clang/docs/ReleaseNotes.rst
    M llvm/docs/ReleaseNotes.md

  Log Message:
  -----------
  [AArch64][docs] Add release notes for FUJITSU-MONAKA support (#120684)

Adds release notes for the FUJITSU-MONAKA support introduced in PR #118432.
These notes were missing from the original PR.


  Commit: b5f0ec80d59d054617994f0de409c38fabc8c207
      https://github.com/llvm/llvm-project/commit/b5f0ec80d59d054617994f0de409c38fabc8c207
  Author: LiqinWeng <liqin.weng at spacemit.com>
  Date:   2024-12-25 (Wed, 25 Dec 2024)

  Changed paths:
    M llvm/lib/Transforms/Vectorize/VPlan.cpp

  Log Message:
  -----------
  [VPlan] Remove redundant printing final in VPlan::execute (#121048)

Multiple prints will cause problems when testing ir-bb


  Commit: ac1d560709d2ecfe83a98285d4a13afae6db4316
      https://github.com/llvm/llvm-project/commit/ac1d560709d2ecfe83a98285d4a13afae6db4316
  Author: Konstantin Varlamov <varconsteq at gmail.com>
  Date:   2024-12-24 (Tue, 24 Dec 2024)

  Changed paths:
    M libcxx/docs/Hardening.rst
    M libcxx/include/bitset
    M libcxx/include/valarray
    A libcxx/test/libcxx/numerics/numarray/assert.pass.cpp
    A libcxx/test/libcxx/utilities/template.bitset/assert.pass.cpp
    M libcxx/test/std/utilities/template.bitset/bitset.members/op_and_eq.pass.cpp

  Log Message:
  -----------
  [libc++][hardening] Add a bounds check for `valarray` and `bitset`. (#120685)

Add a `valid-element-access` check to `valarray::operator[]` and
`bitset::operator[]`.


  Commit: 56600c11add12aababdd313c43650facf2a0338f
      https://github.com/llvm/llvm-project/commit/56600c11add12aababdd313c43650facf2a0338f
  Author: Fangrui Song <i at maskray.me>
  Date:   2024-12-24 (Tue, 24 Dec 2024)

  Changed paths:
    M llvm/include/llvm/MC/MCAsmInfo.h
    M llvm/lib/CodeGen/AsmPrinter/AsmPrinterInlineAsm.cpp
    M llvm/lib/MC/MCParser/AsmLexer.cpp
    M llvm/lib/MC/MCParser/AsmParser.cpp
    M llvm/lib/Target/SystemZ/MCTargetDesc/SystemZMCAsmInfo.cpp

  Log Message:
  -----------
  MCAsmInfo: replace HLASM-specific variables with IsHLASM

HLASM is very different from the gas syntax. We don't expect other
targets to customize the differences. Unify the numerous variables.


  Commit: 34f70007348d2d1a0e59fc0996e90a0b6fba1933
      https://github.com/llvm/llvm-project/commit/34f70007348d2d1a0e59fc0996e90a0b6fba1933
  Author: Congcong Cai <congcongcai0907 at 163.com>
  Date:   2024-12-25 (Wed, 25 Dec 2024)

  Changed paths:
    M clang-tools-extra/clang-tidy/tool/CMakeLists.txt

  Log Message:
  -----------
  [clang-tidy]link LLVMTargetParser (#121072)

Fix build issue introduced in #120547


  Commit: d3846eca2061e6e9a8d654551153f7362c27b59a
      https://github.com/llvm/llvm-project/commit/d3846eca2061e6e9a8d654551153f7362c27b59a
  Author: Kai Sasaki <lewuathe at gmail.com>
  Date:   2024-12-25 (Wed, 25 Dec 2024)

  Changed paths:
    M mlir/lib/Dialect/Vector/IR/VectorOps.cpp
    M mlir/test/Transforms/sccp.mlir

  Log Message:
  -----------
  [mlir] Guard sccp pass from crashing with different source type (#120656)

Vector::BroadCastOp expects the identical element type in folding. It
causes the crash if the different source type is given to the SCCP pass.
We need to guard the pass from crashing if the nonidentical element type
is given, but still compatible. (e.g. index vs integer type)

https://github.com/llvm/llvm-project/issues/120193


  Commit: 1de228fa9bf07c118294b53e3da37ab2b5ff1fd4
      https://github.com/llvm/llvm-project/commit/1de228fa9bf07c118294b53e3da37ab2b5ff1fd4
  Author: Vitaly Buka <vitalybuka at google.com>
  Date:   2024-12-24 (Tue, 24 Dec 2024)

  Changed paths:
    M compiler-rt/lib/ubsan/CMakeLists.txt
    M compiler-rt/lib/ubsan/ubsan_handlers.cpp
    M llvm/utils/gn/secondary/compiler-rt/lib/lsan/BUILD.gn
    M llvm/utils/gn/secondary/compiler-rt/lib/ubsan/BUILD.gn

  Log Message:
  -----------
  [ubsan] Remove UBSAN_CAN_USE_CXXABI (#121082)

It's should be enough to provide weak implementation.

Fixes solaris and android linking after #121006.


  Commit: a1328c077c9bae5c3b3cb952fe817c4881569cbc
      https://github.com/llvm/llvm-project/commit/a1328c077c9bae5c3b3cb952fe817c4881569cbc
  Author: Vitaly Buka <vitalybuka at google.com>
  Date:   2024-12-24 (Tue, 24 Dec 2024)

  Changed paths:
    M compiler-rt/lib/asan/tests/CMakeLists.txt

  Log Message:
  -----------
  [ubsan] Fix android build

Broken by #121006.


  Commit: 6a7687c455125f6597a9719227a0efcb7f71e572
      https://github.com/llvm/llvm-project/commit/6a7687c455125f6597a9719227a0efcb7f71e572
  Author: Maksim Levental <maksim.levental at gmail.com>
  Date:   2024-12-24 (Tue, 24 Dec 2024)

  Changed paths:
    M mlir/cmake/modules/AddMLIR.cmake
    M mlir/cmake/modules/AddMLIRPython.cmake

  Log Message:
  -----------
  [mlir][python] Support `CLANG_CL` (#121075)


  Commit: 141c544c03702ac7c50522373ad781ede3685e0a
      https://github.com/llvm/llvm-project/commit/141c544c03702ac7c50522373ad781ede3685e0a
  Author: Owen Pan <owenpiano at gmail.com>
  Date:   2024-12-24 (Tue, 24 Dec 2024)

  Changed paths:
    M clang/lib/Format/Format.cpp
    M clang/unittests/Format/SortIncludesTest.cpp

  Log Message:
  -----------
  [clang-format] Skip line splices when sorting C++ includes (#120680)

Fixes #109864.


  Commit: 5d81b1490022d04eb8862791fbcb25018a6860e3
      https://github.com/llvm/llvm-project/commit/5d81b1490022d04eb8862791fbcb25018a6860e3
  Author: Pranav Kant <prka at google.com>
  Date:   2024-12-25 (Wed, 25 Dec 2024)

  Changed paths:
    M utils/bazel/llvm-project-overlay/clang-tools-extra/clang-tidy/BUILD.bazel

  Log Message:
  -----------
  [clang-tidy][bazel] Fix #120547


  Commit: 25bb6592c974aed8702767cad4a64de9b5c60aed
      https://github.com/llvm/llvm-project/commit/25bb6592c974aed8702767cad4a64de9b5c60aed
  Author: Fangrui Song <i at maskray.me>
  Date:   2024-12-24 (Tue, 24 Dec 2024)

  Changed paths:
    M llvm/include/llvm/MC/MCAsmInfo.h
    M llvm/lib/CodeGen/AsmPrinter/AsmPrinter.cpp
    M llvm/lib/MC/MCAsmInfoXCOFF.cpp
    M llvm/lib/MC/MCAsmStreamer.cpp
    M llvm/lib/Target/PowerPC/PPCAsmPrinter.cpp

  Log Message:
  -----------
  MCAsmInfo: replace AIX-specific variables with IsAIX

AIX assembly is very different from the gas syntax. We don't expect
other targets to share these differences. Unify the numerous,
essentially AIX-specific variables.


  Commit: 32962f2b77c4298f9ef58182581edf56c76ac685
      https://github.com/llvm/llvm-project/commit/32962f2b77c4298f9ef58182581edf56c76ac685
  Author: Vitaly Buka <vitalybuka at google.com>
  Date:   2024-12-24 (Tue, 24 Dec 2024)

  Changed paths:
    M compiler-rt/lib/ubsan/ubsan_handlers.cpp

  Log Message:
  -----------
  [ubsan] Try to fix Windows


  Commit: e3846c0fecb5992110788be18cd04f70103bc778
      https://github.com/llvm/llvm-project/commit/e3846c0fecb5992110788be18cd04f70103bc778
  Author: Michał Górny <mgorny at gentoo.org>
  Date:   2024-12-25 (Wed, 25 Dec 2024)

  Changed paths:
    M mlir/CMakeLists.txt

  Log Message:
  -----------
  [mlir] [test] Fix missing SHLIB definition in standalone builds (#120907)

Define the `LLVM_SHLIB_OUTPUT_INTDIR` variable that is used by
`configure_lit_site_cfg` to fill `SHLIBDIR`. This fixes tool tests that
would otherwise be unable to find MLIR's runtime shared libraries (e.g.
`libmlir_runner_utils.so`). The logic is copied verbatim from Clang.


  Commit: 6b471b30d7dbce589af16b39f9eb960195a8cd02
      https://github.com/llvm/llvm-project/commit/6b471b30d7dbce589af16b39f9eb960195a8cd02
  Author: Michał Górny <mgorny at gentoo.org>
  Date:   2024-12-25 (Wed, 25 Dec 2024)

  Changed paths:
    M mlir/CMakeLists.txt

  Log Message:
  -----------
  [mlir] [test] Fix unittests in standalone builds (#120910)

Fix the logic used to run unit tests to account for `llvm_gtest` targets
being installed, since 91b3ca39667b6341a8c1983a1467fae14b58318b. This
involves removing a rule that would cause a duplicate `llvm_gtest`
target being created, and updates the method for determining whether
unittests can be run to checking whether the target is present, rather
than the source directory (that is no longer actually necessary).


  Commit: 9e38e87c8cd39403682f6d4f65fe7b1e6a04955b
      https://github.com/llvm/llvm-project/commit/9e38e87c8cd39403682f6d4f65fe7b1e6a04955b
  Author: Michał Górny <mgorny at gentoo.org>
  Date:   2024-12-25 (Wed, 25 Dec 2024)

  Changed paths:
    M mlir/test/CMakeLists.txt

  Log Message:
  -----------
  [mlir] [test] Do not add dependencies on llvm tools in standalone builds (#120911)

Since LLVM tools are installed system-wide, adding dependencies on them
is unnecessary. Furthermore, it is problematic for multilib builds,
where the tools are only built once, for the native ABI, and therefore
are not listed in CMake files for non-native ABIs.


  Commit: 319b89197348b7cad1215e235bdc7b5ec8f9b72c
      https://github.com/llvm/llvm-project/commit/319b89197348b7cad1215e235bdc7b5ec8f9b72c
  Author: Fangrui Song <i at maskray.me>
  Date:   2024-12-24 (Tue, 24 Dec 2024)

  Changed paths:
    M llvm/include/llvm/MC/MCAsmInfo.h

  Log Message:
  -----------
  MCAsmInfo: remove unused DwarfSectionSizeRequired


  Commit: 74496b03f7db43caae4c3bda79379623a4657a00
      https://github.com/llvm/llvm-project/commit/74496b03f7db43caae4c3bda79379623a4657a00
  Author: Vitaly Buka <vitalybuka at google.com>
  Date:   2024-12-24 (Tue, 24 Dec 2024)

  Changed paths:
    M compiler-rt/lib/asan/CMakeLists.txt
    M compiler-rt/lib/hwasan/CMakeLists.txt

  Log Message:
  -----------
  [asan][hwasan] Link RTUbsan_cxx into shared runtime

There is no shared version RTUbsan_cxx.
Fix android after #121006.


  Commit: 2d3d62d77e2d011c9dbdb12732aca3070efc83ca
      https://github.com/llvm/llvm-project/commit/2d3d62d77e2d011c9dbdb12732aca3070efc83ca
  Author: Ivan Aksamentov <ivan.aksamentov at gmail.com>
  Date:   2024-12-25 (Wed, 25 Dec 2024)

  Changed paths:
    M flang/include/flang/Common/idioms.h

  Log Message:
  -----------
  [flang] fix: split ifndef for CHECK and CHECK_MSG (#114707)

Resolves https://github.com/llvm/llvm-project/issues/114703

I think it's the best practice that each macro has it's own `ifndef`
check and this way the build issue is resolved for me.

I also find the names of these macro a bit too generic - an easy recipe
for conflicts. In my case, the error was likely caused by something else
defining `CHECK` but not `CHECK_MSG`, so likely these `CHECK` and
`CHECK_MSG` weren't actually working at all because the result of
`ifndef` is always false.

As a definitive fix, perhaps it makes sense to rename them to something
more specific, e.g. `FLANG_CHECK` and `FLANG_CHECK_MSG`.


  Commit: c29536b0336586b2ed7bafedf82c9f4e254cfaa6
      https://github.com/llvm/llvm-project/commit/c29536b0336586b2ed7bafedf82c9f4e254cfaa6
  Author: Sergei Barannikov <barannikov88 at gmail.com>
  Date:   2024-12-25 (Wed, 25 Dec 2024)

  Changed paths:
    R llvm/test/TableGen/ContextlessPredicates.td
    R llvm/test/TableGen/DefaultOpsGlobalISel.td
    R llvm/test/TableGen/GlobalISelEmitter-PR39045.td
    R llvm/test/TableGen/GlobalISelEmitter-SDNodeXForm-timm.td
    R llvm/test/TableGen/GlobalISelEmitter-atomic_store.td
    R llvm/test/TableGen/GlobalISelEmitter-frameindex.td
    R llvm/test/TableGen/GlobalISelEmitter-immAllZeroOne.td
    R llvm/test/TableGen/GlobalISelEmitter-immarg-literal-pattern.td
    R llvm/test/TableGen/GlobalISelEmitter-implicit-defs.td
    R llvm/test/TableGen/GlobalISelEmitter-input-discard.td
    R llvm/test/TableGen/GlobalISelEmitter-multiple-output-discard.td
    R llvm/test/TableGen/GlobalISelEmitter-multiple-output.td
    R llvm/test/TableGen/GlobalISelEmitter-nested-subregs.td
    R llvm/test/TableGen/GlobalISelEmitter-notype-output-pattern.td
    R llvm/test/TableGen/GlobalISelEmitter-optional-def.td
    R llvm/test/TableGen/GlobalISelEmitter-output-discard.td
    R llvm/test/TableGen/GlobalISelEmitter-setcc.td
    R llvm/test/TableGen/GlobalISelEmitter-zero-instr.td
    R llvm/test/TableGen/GlobalISelEmitter-zero-reg.td
    R llvm/test/TableGen/GlobalISelEmitter.td
    A llvm/test/TableGen/GlobalISelEmitter/ContextlessPredicates.td
    A llvm/test/TableGen/GlobalISelEmitter/CustomPredicate.td
    A llvm/test/TableGen/GlobalISelEmitter/DefaultOpsGlobalISel.td
    A llvm/test/TableGen/GlobalISelEmitter/Flags.td
    A llvm/test/TableGen/GlobalISelEmitter/GlobalISelEmitter.td
    A llvm/test/TableGen/GlobalISelEmitter/HwModes.td
    A llvm/test/TableGen/GlobalISelEmitter/MatchTableOptimizer.td
    A llvm/test/TableGen/GlobalISelEmitter/MatchTableOptimizerSameOperand-invalid.td
    A llvm/test/TableGen/GlobalISelEmitter/MatchTableOptimizerSameOperand.td
    A llvm/test/TableGen/GlobalISelEmitter/OverloadedPtr.td
    A llvm/test/TableGen/GlobalISelEmitter/PR39045.td
    A llvm/test/TableGen/GlobalISelEmitter/RegSequence.td
    A llvm/test/TableGen/GlobalISelEmitter/SDNodeXForm-timm.td
    A llvm/test/TableGen/GlobalISelEmitter/SkippedPatterns.td
    A llvm/test/TableGen/GlobalISelEmitter/Subreg.td
    A llvm/test/TableGen/GlobalISelEmitter/Variadic.td
    A llvm/test/TableGen/GlobalISelEmitter/atomic-store.td
    A llvm/test/TableGen/GlobalISelEmitter/frameindex.td
    A llvm/test/TableGen/GlobalISelEmitter/gisel-physreg-input.td
    A llvm/test/TableGen/GlobalISelEmitter/immAllZeroOne.td
    A llvm/test/TableGen/GlobalISelEmitter/immarg-literal-pattern.td
    A llvm/test/TableGen/GlobalISelEmitter/immarg-predicated.td
    A llvm/test/TableGen/GlobalISelEmitter/immarg.td
    A llvm/test/TableGen/GlobalISelEmitter/implicit-defs.td
    A llvm/test/TableGen/GlobalISelEmitter/input-discard.td
    A llvm/test/TableGen/GlobalISelEmitter/multiple-output-discard.td
    A llvm/test/TableGen/GlobalISelEmitter/multiple-output.td
    A llvm/test/TableGen/GlobalISelEmitter/nested-subregs.td
    A llvm/test/TableGen/GlobalISelEmitter/notype-output-pattern.td
    A llvm/test/TableGen/GlobalISelEmitter/optional-def.td
    A llvm/test/TableGen/GlobalISelEmitter/output-discard.td
    A llvm/test/TableGen/GlobalISelEmitter/setcc.td
    A llvm/test/TableGen/GlobalISelEmitter/zero-instr.td
    A llvm/test/TableGen/GlobalISelEmitter/zero-reg.td
    R llvm/test/TableGen/GlobalISelEmitterCustomPredicate.td
    R llvm/test/TableGen/GlobalISelEmitterFlags.td
    R llvm/test/TableGen/GlobalISelEmitterHwModes.td
    R llvm/test/TableGen/GlobalISelEmitterMatchTableOptimizer.td
    R llvm/test/TableGen/GlobalISelEmitterMatchTableOptimizerSameOperand-invalid.td
    R llvm/test/TableGen/GlobalISelEmitterMatchTableOptimizerSameOperand.td
    R llvm/test/TableGen/GlobalISelEmitterOverloadedPtr.td
    R llvm/test/TableGen/GlobalISelEmitterRegSequence.td
    R llvm/test/TableGen/GlobalISelEmitterSkippedPatterns.td
    R llvm/test/TableGen/GlobalISelEmitterSubreg.td
    R llvm/test/TableGen/GlobalISelEmitterVariadic.td
    R llvm/test/TableGen/gisel-physreg-input.td
    R llvm/test/TableGen/immarg-predicated.td
    R llvm/test/TableGen/immarg.td

  Log Message:
  -----------
  [test] Group GlobalISelEmitter tests under a subdirectory (#121093)

Remove extra command line arguments while here.


  Commit: c870632ef6162fbdccaad8cd09420728220ad344
      https://github.com/llvm/llvm-project/commit/c870632ef6162fbdccaad8cd09420728220ad344
  Author: Matthias Springer <me at m-sp.org>
  Date:   2024-12-25 (Wed, 25 Dec 2024)

  Changed paths:
    M flang/include/flang/Frontend/FrontendActions.h
    M flang/include/flang/Lower/AbstractConverter.h
    M flang/include/flang/Lower/Bridge.h
    M flang/include/flang/Lower/OpenACC.h
    M flang/include/flang/Tools/CrossToolHelpers.h
    M flang/lib/Frontend/FrontendActions.cpp
    M flang/lib/Lower/Bridge.cpp
    M flang/lib/Lower/OpenACC.cpp
    M flang/lib/Optimizer/CodeGen/CodeGen.cpp
    M flang/unittests/Frontend/CodeGenActionTest.cpp
    M flang/unittests/Optimizer/Builder/CharacterTest.cpp
    M flang/unittests/Optimizer/Builder/ComplexTest.cpp
    M flang/unittests/Optimizer/Builder/FIRBuilderTest.cpp
    M flang/unittests/Optimizer/Builder/HLFIRToolsTest.cpp
    M flang/unittests/Optimizer/Builder/Runtime/RuntimeCallTestBase.h
    M flang/unittests/Optimizer/FortranVariableTest.cpp
    M flang/unittests/Runtime/ArrayConstructor.cpp
    M flang/unittests/Runtime/CharacterTest.cpp

  Log Message:
  -----------
  [flang] Fix some memory leaks (#121050)

This commit fixes some but not all memory leaks in Flang. There are
still 91 tests that fail with ASAN.

- Use `mlir::OwningOpRef` instead of `std::unique_ptr`. The latter does
not free allocations of nested blocks.
- Pass `ModuleOp` as value instead of reference.
- Add few missing deallocations in test cases and other places.


  Commit: 2d6e7c2b359d4cafca8eaca4c9ed308a3a8fa6c1
      https://github.com/llvm/llvm-project/commit/2d6e7c2b359d4cafca8eaca4c9ed308a3a8fa6c1
  Author: Alexey Gerenkov <alexey at espressif.com>
  Date:   2024-12-25 (Wed, 25 Dec 2024)

  Changed paths:
    M clang/include/clang/Basic/TargetInfo.h
    M clang/lib/AST/ASTContext.cpp
    M clang/lib/Basic/CMakeLists.txt
    M clang/lib/Basic/Targets.cpp
    A clang/lib/Basic/Targets/Xtensa.cpp
    A clang/lib/Basic/Targets/Xtensa.h
    M clang/lib/Driver/ToolChains/CommonArgs.cpp
    M clang/test/Preprocessor/init.c
    M clang/test/Preprocessor/stdint.c

  Log Message:
  -----------
  [Clang][Xtensa] Add Xtensa target. (#118008)

This PR implements support for generic Xtensa target in CLang.

Co-authored-by: Andrei Safronov <safronov at espressif.com>


  Commit: ae435adabba2f137fe50749c0581157a89019b5e
      https://github.com/llvm/llvm-project/commit/ae435adabba2f137fe50749c0581157a89019b5e
  Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
  Date:   2024-12-25 (Wed, 25 Dec 2024)

  Changed paths:
    M llvm/utils/gn/secondary/clang/lib/Basic/BUILD.gn

  Log Message:
  -----------
  [gn build] Port 2d6e7c2b359d


  Commit: 5fb57131b744c52f74919f9487f4a9fa69f455fb
      https://github.com/llvm/llvm-project/commit/5fb57131b744c52f74919f9487f4a9fa69f455fb
  Author: Usman Nadeem <mnadeem at quicinc.com>
  Date:   2024-12-25 (Wed, 25 Dec 2024)

  Changed paths:
    M llvm/lib/Transforms/Scalar/DFAJumpThreading.cpp
    M llvm/test/Transforms/DFAJumpThreading/dfa-unfold-select.ll
    M llvm/test/Transforms/DFAJumpThreading/negative.ll

  Log Message:
  -----------
  [DFAJumpThreading] Don't bail early after encountering unpredictable values (#119774)

After #96127 landed, mshockwave reported that the pass was no longer
threading SPEC2006/perlbench.

After 96127 we started bailing out in `getStateDefMap` and rejecting the
transformation because one of the unpredictable values was coming from
inside the loop. There was no fundamental change in that function except
that we started calling `Loop->contains(IncomingBB)` instead of
`LoopBBs.count(IncomingBB)`. After some analysis I came to the
conclusion that even before 96127 we would reject the transformation if
we provided large enough limits on the path traversal (large enough so
that LoopBBs contained blocks corresponding to that unpredictable
value).

In this patch I changed `getStateDefMap` to not terminate early on
finding an unpredictable value, this is because
`getPathsFromStateDefMap`, later, actually has checks to ensure that the
final list of paths only have predictable values. As a result we can now
partially thread functions like `negative6` in the tests that have some
predictable paths.

This patch does not really have any compile-time impact on the test
suite without `-dfa-early-exit-heuristic=false` (early exit is enabled
by default).

Change-Id: Ie1633b370ed4a0eda8dea52650b40f6f66ef49a3


  Commit: 676b48d1ccd8223bb0bd889cce13e6faecd20c6d
      https://github.com/llvm/llvm-project/commit/676b48d1ccd8223bb0bd889cce13e6faecd20c6d
  Author: Chuanqi Xu <yedeng.yd at linux.alibaba.com>
  Date:   2024-12-25 (Wed, 25 Dec 2024)

  Changed paths:
    M clang/lib/Parse/Parser.cpp
    M clang/test/CXX/basic/basic.link/p3.cpp
    A clang/test/Modules/pr121066.cpp

  Log Message:
  -----------
  [C++20] [Modules] Diagnose if import statement lakcs a semicolon

Close https://github.com/llvm/llvm-project/issues/121066

Now we will diagnose that the import statement lacks a semicolon as
expected. Note that the original "not found" diagnose message remains.
I meant to remove that, but the test shows it might be more complex
process (other unexpected diagnose shows up). Given the importance of
the issue, I chose to not dig deeper.


  Commit: 7226b39926b5df6452d13e83f61e35a71dbe448d
      https://github.com/llvm/llvm-project/commit/7226b39926b5df6452d13e83f61e35a71dbe448d
  Author: xilinbai-intel <xilin.bai at intel.com>
  Date:   2024-12-25 (Wed, 25 Dec 2024)

  Changed paths:
    M llvm/lib/Target/X86/X86ISelLowering.cpp
    M llvm/test/CodeGen/X86/avx512fp16-fminimum-fmaximum.ll

  Log Message:
  -----------
  [X86] Support vectorized llvm.fmaximum/fminimum.vXf16 lowering (#120988)

Support the lowering of vectorized FMINIMUM and FMAXIMUM to vminph and
vmaxph on types v8f16, v16f16 when AVX512FP, AVX512VL features are
present, and on type v32f16 when AVX512FP is present.


  Commit: 4884b1b08a13af430620e7104aa58710a70f618c
      https://github.com/llvm/llvm-project/commit/4884b1b08a13af430620e7104aa58710a70f618c
  Author: Sergei Barannikov <barannikov88 at gmail.com>
  Date:   2024-12-25 (Wed, 25 Dec 2024)

  Changed paths:
    M llvm/utils/TableGen/GlobalISelEmitter.cpp

  Log Message:
  -----------
  [TableGen][GISel] Simplify checks for BasicBlockSDNode (NFC) (#121098)


  Commit: 3469996d0d057d99a33ec34ee3c80e5d4fa3afcb
      https://github.com/llvm/llvm-project/commit/3469996d0d057d99a33ec34ee3c80e5d4fa3afcb
  Author: Igor Kirillov <igor.kirillov at arm.com>
  Date:   2024-12-25 (Wed, 25 Dec 2024)

  Changed paths:
    M llvm/lib/CodeGen/SelectOptimize.cpp
    M llvm/test/CodeGen/AArch64/selectopt.ll

  Log Message:
  -----------
  [SelectOpt] Optimise big select groups in the latch of a non-inner loop to branches (#119728)

Loop latches often have a loop-carried dependency, and if they have
several SelectLike instructions in one select group, it is usually
profitable to convert it to branches rather than keep selects.


  Commit: 6d7cf5206f1238139b7a967dea555514a62f7d83
      https://github.com/llvm/llvm-project/commit/6d7cf5206f1238139b7a967dea555514a62f7d83
  Author: adam-bzowski <adam.bzowski at intel.com>
  Date:   2024-12-25 (Wed, 25 Dec 2024)

  Changed paths:
    M llvm/lib/Analysis/ValueTracking.cpp
    A llvm/test/Analysis/ValueTracking/knownbits-trunc-with-min-max-clamp.ll

  Log Message:
  -----------
  [ValueTracking] Improve KnownBits for signed min-max clamping (#120576)

A signed min-max clamp is the sequence of smin and smax intrinsics,
which constrain a signed value into the range: smin <= value <= smax.
The patch improves the calculation of KnownBits for a value subjected to
the signed clamping.


  Commit: 8e7f1bee84ff9421f7a4b57abd1feff6b5680e1a
      https://github.com/llvm/llvm-project/commit/8e7f1bee84ff9421f7a4b57abd1feff6b5680e1a
  Author: Brandon Wu <brandon.wu at sifive.com>
  Date:   2024-12-25 (Wed, 25 Dec 2024)

  Changed paths:
    M clang/lib/CodeGen/CGCall.cpp
    M clang/lib/CodeGen/Targets/RISCV.cpp

  Log Message:
  -----------
  [clang][RISCV] Remove unneeded RISCV tuple code (#121024)

These code are no longer needed because we've modeled tuple type using
target extension type rather than structure of scalable vectors.


  Commit: dd9c5c118230fc9adde668f2c96323b73a677400
      https://github.com/llvm/llvm-project/commit/dd9c5c118230fc9adde668f2c96323b73a677400
  Author: Shourya Goel <shouryagoel10000 at gmail.com>
  Date:   2024-12-25 (Wed, 25 Dec 2024)

  Changed paths:
    M libc/config/linux/x86_64/entrypoints.txt

  Log Message:
  -----------
  [libc][complex] enable CFP128 entrypoints on X86_64 (#121111)


  Commit: ff97daadcd05ad3373f8398948d2962e88a0f61b
      https://github.com/llvm/llvm-project/commit/ff97daadcd05ad3373f8398948d2962e88a0f61b
  Author: Shourya Goel <shouryagoel10000 at gmail.com>
  Date:   2024-12-25 (Wed, 25 Dec 2024)

  Changed paths:
    M libc/config/linux/x86_64/entrypoints.txt

  Log Message:
  -----------
  Revert "[libc][complex] enable CFP128 entrypoints on X86_64 (#121111)" (#121113)

This reverts commit dd9c5c118230fc9adde668f2c96323b73a677400.


  Commit: 70965ef259a161a6e9ccfb8bd841dd2246c56c37
      https://github.com/llvm/llvm-project/commit/70965ef259a161a6e9ccfb8bd841dd2246c56c37
  Author: TilakChad <49703944+TilakChad at users.noreply.github.com>
  Date:   2024-12-25 (Wed, 25 Dec 2024)

  Changed paths:
    M clang/docs/ReleaseNotes.rst
    M clang/lib/Sema/SemaExpr.cpp
    M clang/test/SemaCXX/cxx20-decomposition.cpp

  Log Message:
  -----------
  [Clang] Prevent assignment to captured structured bindings inside immutable lambda (#120849)

For structured bindings, a call to getCapturedDeclRefType(...) was
missing. This PR fixes that behavior and adds the related diagnostics
too.

This fixes https://github.com/llvm/llvm-project/issues/95081.


  Commit: d6e435362d5984052531a425a1e4c7e594a8503e
      https://github.com/llvm/llvm-project/commit/d6e435362d5984052531a425a1e4c7e594a8503e
  Author: Andrei Safronov <andrei.safronov at espressif.com>
  Date:   2024-12-26 (Thu, 26 Dec 2024)

  Changed paths:
    M llvm/test/MC/Disassembler/Xtensa/code_density.txt

  Log Message:
  -----------
  [Xtensa] Fix Code Density test. (#121073)

Fix dissambler test for Code Density feature.


  Commit: cea738bc9a9e4835f9a076145953ed1369dcad7d
      https://github.com/llvm/llvm-project/commit/cea738bc9a9e4835f9a076145953ed1369dcad7d
  Author: DaPorkchop_ <daporkchop at daporkchop.net>
  Date:   2024-12-26 (Thu, 26 Dec 2024)

  Changed paths:
    M llvm/lib/Transforms/Utils/SimplifyCFG.cpp
    M llvm/test/Transforms/SimplifyCFG/X86/switch_to_lookup_table.ll
    M llvm/test/Transforms/SimplifyCFG/X86/switch_to_lookup_table_big.ll

  Log Message:
  -----------
  [SimplifyCFG] Replace unreachable switch lookup table holes with poison (#94990)

As discussed in #94468, this causes switch lookup table entries which
are unreachable to be poison instead of filling them with a value from
one of the reachable cases.

---------

Co-authored-by: DianQK <dianqk at dianqk.net>


  Commit: 6f72d28dd94c84b28275dbe61f5b2021df752e55
      https://github.com/llvm/llvm-project/commit/6f72d28dd94c84b28275dbe61f5b2021df752e55
  Author: Sergei Barannikov <barannikov88 at gmail.com>
  Date:   2024-12-26 (Thu, 26 Dec 2024)

  Changed paths:
    A llvm/test/TableGen/GlobalISelEmitter/dead-def.td
    M llvm/utils/TableGen/GlobalISelEmitter.cpp

  Log Message:
  -----------
  [TableGen][GISel] Don't copy dead def from a sub-instruction to the root (#121094)

Sub-instruction can have a def with the same name as a def in a
top-level instruction.
Previously this could result in both defs copied to the instruction
being built.


  Commit: a0e1fcc093e0bb1265d8a6977f96dff51d9f5318
      https://github.com/llvm/llvm-project/commit/a0e1fcc093e0bb1265d8a6977f96dff51d9f5318
  Author: Sergei Barannikov <barannikov88 at gmail.com>
  Date:   2024-12-26 (Thu, 26 Dec 2024)

  Changed paths:
    M llvm/utils/TableGen/GlobalISelEmitter.cpp

  Log Message:
  -----------
  [TableGen][GISel] Refactor node renderers emission (#121071)

Split importExplicitUseRenderer into several smaller functions and
add a bunch of TODOs and FIXMEs.

This is an NFCI change to simplify review of future functional changes.

Pull Request: https://github.com/llvm/llvm-project/pull/121071


  Commit: a72bfc5a1e5381012213df36389524f74ef7c8a3
      https://github.com/llvm/llvm-project/commit/a72bfc5a1e5381012213df36389524f74ef7c8a3
  Author: Hervé Poussineau <hpoussin at reactos.org>
  Date:   2024-12-26 (Thu, 26 Dec 2024)

  Changed paths:
    M llvm/lib/Object/COFFImportFile.cpp
    M llvm/lib/ToolDrivers/llvm-dlltool/DlltoolDriver.cpp
    M llvm/test/tools/llvm-dlltool/machine-opt.def

  Log Message:
  -----------
  [llvm-dlltool] Handle MIPS R4000 architecture (#114621)


  Commit: 03093b62d4c9ff43b0f9422db1ff97e5050d7664
      https://github.com/llvm/llvm-project/commit/03093b62d4c9ff43b0f9422db1ff97e5050d7664
  Author: Michał Górny <mgorny at gentoo.org>
  Date:   2024-12-26 (Thu, 26 Dec 2024)

  Changed paths:
    M polly/CMakeLists.txt

  Log Message:
  -----------
  [Polly] Fix gtest logic for standalone builds (#121114)

Fix the gtest logic to account for llvm_gtest being installed as part of
LLVM, as of 91b3ca39667b6341a8c1983a1467fae14b58318b.


  Commit: abd91023447d146f36357326fc97c458b49e40af
      https://github.com/llvm/llvm-project/commit/abd91023447d146f36357326fc97c458b49e40af
  Author: Shourya Goel <shouryagoel10000 at gmail.com>
  Date:   2024-12-26 (Thu, 26 Dec 2024)

  Changed paths:
    M libc/cmake/modules/CheckCompilerFeatures.cmake
    A libc/cmake/modules/compiler_features/check_cfloat128.cpp
    A libc/cmake/modules/compiler_features/check_cfloat16.cpp
    M libc/config/linux/aarch64/entrypoints.txt
    M libc/config/linux/riscv/entrypoints.txt
    M libc/config/linux/x86_64/entrypoints.txt
    M libc/src/complex/cimagf128.h
    M libc/src/complex/cimagf16.h
    M libc/src/complex/conjf128.h
    M libc/src/complex/conjf16.h
    M libc/src/complex/cprojf128.h
    M libc/src/complex/cprojf16.h
    M libc/src/complex/crealf128.h
    M libc/src/complex/crealf16.h
    M libc/src/complex/generic/cimagf128.cpp
    M libc/src/complex/generic/cimagf16.cpp
    M libc/src/complex/generic/conjf128.cpp
    M libc/src/complex/generic/conjf16.cpp
    M libc/src/complex/generic/cprojf128.cpp
    M libc/src/complex/generic/cprojf16.cpp
    M libc/src/complex/generic/crealf128.cpp
    M libc/src/complex/generic/crealf16.cpp
    M libc/test/src/complex/cimagf128_test.cpp
    M libc/test/src/complex/cimagf16_test.cpp
    M libc/test/src/complex/conjf128_test.cpp
    M libc/test/src/complex/conjf16_test.cpp
    M libc/test/src/complex/cprojf128_test.cpp
    M libc/test/src/complex/cprojf16_test.cpp
    M libc/test/src/complex/crealf128_test.cpp
    M libc/test/src/complex/crealf16_test.cpp

  Log Message:
  -----------
  [libc][complex] add cfloat16 and cfloat128 compiler flags (#121140)

Proper fix for the temporary fix in #114696


  Commit: 9f75b6664f1eaec1517f6cb620b34100b7b54857
      https://github.com/llvm/llvm-project/commit/9f75b6664f1eaec1517f6cb620b34100b7b54857
  Author: Shourya Goel <shouryagoel10000 at gmail.com>
  Date:   2024-12-26 (Thu, 26 Dec 2024)

  Changed paths:
    M libc/config/linux/aarch64/entrypoints.txt
    M libc/config/linux/riscv/entrypoints.txt

  Log Message:
  -----------
  [libc][complex] fix buildbot errors (#121141)

Fix buildbot errors due to #121140


  Commit: cbe583b0bd8d46b4e5edda463e19e6a24c0817bc
      https://github.com/llvm/llvm-project/commit/cbe583b0bd8d46b4e5edda463e19e6a24c0817bc
  Author: Thirumalai Shaktivel <74826228+Thirumalai-Shaktivel at users.noreply.github.com>
  Date:   2024-12-26 (Thu, 26 Dec 2024)

  Changed paths:
    M flang/lib/Lower/OpenMP/ClauseProcessor.cpp
    M flang/test/Lower/OpenMP/Todo/depend-clause-depobj.f90
    R flang/test/Lower/OpenMP/Todo/depend-clause-inoutset.f90
    R flang/test/Lower/OpenMP/Todo/depend-clause-mutexinoutset.f90
    M flang/test/Lower/OpenMP/task.f90
    M mlir/include/mlir/Dialect/OpenMP/OpenMPEnums.td
    M mlir/lib/Target/LLVMIR/Dialect/OpenMP/OpenMPToLLVMIRTranslation.cpp
    M mlir/test/Target/LLVMIR/openmp-llvm.mlir

  Log Message:
  -----------
  [Flang] Add translation support for MutexInOutSet and InOutSet (#120715)

Implementatoin details:
Both Mutexinoutset and Inoutset is recognized as flag=0x4 
and 0x8 respectively, the flags is set to `kmp_depend_info` and 
passed as argument to `__kmpc_omp_task_with_deps` runtime call


  Commit: 698bb5f239f50e8217cbec1d19bf8e0bba8c5d11
      https://github.com/llvm/llvm-project/commit/698bb5f239f50e8217cbec1d19bf8e0bba8c5d11
  Author: Hongren Zheng <i at zenithal.me>
  Date:   2024-12-26 (Thu, 26 Dec 2024)

  Changed paths:
    M mlir/docs/TargetLLVMIR.md

  Log Message:
  -----------
  [mlir][docs] Add C example for C-compatible wrapper for LLVM IR (#120955)

`TargetLLVMIR` documentation introduced the C-compatible wrapper
function for a MLIR function and ways to generate it, but did not
demonstrate the corresponding C function signature for them.

The C function signature is not obvious, in that
* `MemrefDescriptor` should be passed as _pointer_.
+ For example, MLIR function could return a new Descriptor, so pointer
is a must.
+ Surprisingly, directly pass the struct, by C convention, is also a
pointer so some function will work, but that is implicit and
error-prone.
* for `@foo() -> memref<>`, the return type becomes the first argument
in `_mlir_ciface_foo(%arg0: !llvm.ptr)`.
+ This is described in
https://github.com/llvm/llvm-project/blob/f70ab7d909d6861c7eec5ab40679bde16ab826c6/mlir/lib/Conversion/FuncToLLVM/FuncToLLVM.cpp#L110-L167
Especially by code `size_t argOffset = resultStructType ? 1 : 0;` saying
the actual argument starts at 1 when result is a struct (memref)

Users using the wrong signature will get incorrect results. LLVM
discourse has some example of it
*
https://discourse.llvm.org/t/how-to-compile-and-link-with-other-c-c-programs/4835/10
*
https://discourse.llvm.org/t/segmentation-fault-on-memref-store/80286/3
* https://discourse.llvm.org/t/memref-store-storing-a-memref-load/80307

Cc @ftynse for relevent commit history. Cc @charitha22 and @Wheest from
discourse post.


  Commit: 1b476ecdcf4b544af1436341fc923c0b73793cbe
      https://github.com/llvm/llvm-project/commit/1b476ecdcf4b544af1436341fc923c0b73793cbe
  Author: Brad Smith <brad at comstyle.com>
  Date:   2024-12-26 (Thu, 26 Dec 2024)

  Changed paths:
    M lldb/cmake/modules/LLDBConfig.cmake
    M lldb/source/Initialization/CMakeLists.txt
    M lldb/source/Plugins/ABI/X86/ABISysV_x86_64.cpp
    M lldb/source/Plugins/Process/CMakeLists.txt

  Log Message:
  -----------
  [lldb] A few more pieces towards OpenBSD support (#121051)


  Commit: 889215a30ed60474e573f9632d1fa362dfa1b04e
      https://github.com/llvm/llvm-project/commit/889215a30ed60474e573f9632d1fa362dfa1b04e
  Author: Alexey Bataev <a.bataev at outlook.com>
  Date:   2024-12-26 (Thu, 26 Dec 2024)

  Changed paths:
    M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
    M llvm/test/Transforms/SLPVectorizer/X86/reduction-logical.ll
    M llvm/test/Transforms/SLPVectorizer/logical-ops-poisonous-repeated.ll

  Log Message:
  -----------
  [SLP]Followup fix for the poisonous logical op in reductions

If the VectorizedTree still may generate poisonous value, but it is not
the original operand of the reduction op, need to check if Res still the
operand, to generate correct code.

Fixes #114905


  Commit: c21a3776c94eef46ea43192c6d0b8df6258b6489
      https://github.com/llvm/llvm-project/commit/c21a3776c94eef46ea43192c6d0b8df6258b6489
  Author: Vikash Gupta <Vikash.Gupta at amd.com>
  Date:   2024-12-26 (Thu, 26 Dec 2024)

  Changed paths:
    M llvm/include/llvm/CodeGen/GlobalISel/Utils.h
    M llvm/lib/CodeGen/GlobalISel/Utils.cpp
    M llvm/unittests/CodeGen/GlobalISel/GISelUtilsTest.cpp

  Log Message:
  -----------
  [GlobalIsel] [Utility] [NFC] Added isConstantOrConstantSplatVectorFP to handle float constants. (#120935)

Needed for #120104


  Commit: 4a92c27f9d29d065156647f9bcc44a8418c98efa
      https://github.com/llvm/llvm-project/commit/4a92c27f9d29d065156647f9bcc44a8418c98efa
  Author: Sergei Barannikov <barannikov88 at gmail.com>
  Date:   2024-12-26 (Thu, 26 Dec 2024)

  Changed paths:
    M llvm/test/TableGen/GlobalISelEmitter/OverloadedPtr.td
    M llvm/utils/TableGen/GlobalISelEmitter.cpp

  Log Message:
  -----------
  [TableGen][GISel] Remove check for LLT when emitting renderers (#121144)

Types used in the destination DAG of a pattern should not matter for
GlobalISel. All necessary checks are emitted in the form of matchers
when traversing the source DAG.

In particular, the check prevented importing patterns containing iPTR in
the middle of the destination DAG.

This reduces the number of skipped patterns on Mips and RISCV:
```
Mips   1270  -> 1212  (-58)
RISCV 42165 -> 42088  (-77)
```

Most of these patterns are for atomic operations.


  Commit: d21f300f06d56a46e96d1e594522ab0ac362f074
      https://github.com/llvm/llvm-project/commit/d21f300f06d56a46e96d1e594522ab0ac362f074
  Author: Min-Yih Hsu <min.hsu at sifive.com>
  Date:   2024-12-26 (Thu, 26 Dec 2024)

  Changed paths:
    M llvm/include/llvm/CodeGen/GlobalISel/MIPatternMatch.h
    M llvm/unittests/CodeGen/GlobalISel/PatternMatchTest.cpp

  Log Message:
  -----------
  [MIPatternMatch] Fix incorrect argument type of m_Type (#121074)

m_Type is supposed to extract the underlying value type (equality type
comparison is covered by m_SpecificType), therefore it should take a LLT
reference as its argument rather than passing by value.

This was originated from de256478e61d6488db751689af82d280ba114a6f, which
refactored out a good chunk of LLT reference usages. And it's just so
happen that (for some reasons) no one is using m_Type and no test was
covering it.


  Commit: 831e1ac12e766ae8c94d8d735d8f32c8d319e576
      https://github.com/llvm/llvm-project/commit/831e1ac12e766ae8c94d8d735d8f32c8d319e576
  Author: Min-Yih Hsu <min.hsu at sifive.com>
  Date:   2024-12-26 (Thu, 26 Dec 2024)

  Changed paths:
    M llvm/include/llvm/CodeGen/GlobalISel/MIPatternMatch.h
    M llvm/unittests/CodeGen/GlobalISel/PatternMatchTest.cpp

  Log Message:
  -----------
  [MIPatternMatch] Add m_GUMin and m_GUMax (#121068)

And make all unsigned and signed versions of min/max matchers
commutative, since we already made a precedent of m_GAdd that is
commutative by default.


  Commit: 8906b7be918be653d3c5f2ef3dbd923561603969
      https://github.com/llvm/llvm-project/commit/8906b7be918be653d3c5f2ef3dbd923561603969
  Author: srcarroll <50210727+srcarroll at users.noreply.github.com>
  Date:   2024-12-26 (Thu, 26 Dec 2024)

  Changed paths:
    M mlir/include/mlir/Dialect/Bufferization/Transforms/Passes.h
    M mlir/lib/Dialect/Bufferization/Transforms/BufferResultsToOutParams.cpp

  Log Message:
  -----------
  Enable custom alloc-like ops in `promoteBufferResultsToOutParams` (#120288)

In `buffer-results-to-out-params`, when `hoist-static-allocs` option is
enabled the pass was looking for `memref.alloc`s in order to attempt to
avoid copies when it can. Which makes it not extensible to external ops
that have allocation like properties. This patch simply changes
`memref::AllocOp` to `AllocationOpInterface` in the check to enable for
any allocation op.
Moreover, for function call updates, we enable setting an allocation
function callback in `BufferResultsToOutParamsOpts` to allow users to
emit their own alloc-like op.


  Commit: 6e8a1a45a783c13e4cd19bfd20b7a56cab6f7d81
      https://github.com/llvm/llvm-project/commit/6e8a1a45a783c13e4cd19bfd20b7a56cab6f7d81
  Author: Franklin <zhangfenglei at huawei.com>
  Date:   2024-12-26 (Thu, 26 Dec 2024)

  Changed paths:
    M bolt/include/bolt/Core/BinaryData.h
    M bolt/lib/Core/BinaryContext.cpp
    M bolt/lib/Rewrite/LinuxKernelRewriter.cpp
    M bolt/test/X86/linux-alt-instruction.s
    M bolt/test/X86/linux-bug-table.s
    M bolt/test/X86/linux-exceptions.s
    M bolt/test/X86/linux-orc.s
    M bolt/test/X86/linux-parainstructions.s
    M bolt/test/X86/linux-pci-fixup.s
    M bolt/test/X86/linux-smp-locks.s
    M bolt/test/X86/linux-static-calls.s
    M bolt/test/X86/linux-static-keys.s
    A bolt/test/X86/linux-version.S

  Log Message:
  -----------
  [BOLT] Detect Linux kernel version if the binary is a Linux kernel (#119088)

This makes it easier to handle differences (e.g. of exception table
entry size) between versions of Linux kernel


  Commit: 62c39d773422fd7193758c325085c864a67a55cc
      https://github.com/llvm/llvm-project/commit/62c39d773422fd7193758c325085c864a67a55cc
  Author: Davide Italiano <dcci at users.noreply.github.com>
  Date:   2024-12-26 (Thu, 26 Dec 2024)

  Changed paths:
    M bolt/docs/CommandLineArgumentReference.md

  Log Message:
  -----------
  [BOLT/docs] The support for macro-op fusion was removed. (#121158)

Update the documentation accordingly.


  Commit: 776ac21c7f95e092759ba39e5533aad90d63c86e
      https://github.com/llvm/llvm-project/commit/776ac21c7f95e092759ba39e5533aad90d63c86e
  Author: Oleksandr "Alex" Zinenko <git at ozinenko.com>
  Date:   2024-12-26 (Thu, 26 Dec 2024)

  Changed paths:
    M mlir/include/mlir/Dialect/GPU/TransformOps/GPUTransformOps.td

  Log Message:
  -----------
  [mlir] minor documentation fix in GPUTransformOps.td (#121157)

- do not refer to handles as `PDLOperation`, this is an outdated and
incorrect vision of what they are based on the type used in the early
days;
 - use backticks around inline code.


  Commit: b59a0a6f404a82b71802eceaf3addb94ce728ce9
      https://github.com/llvm/llvm-project/commit/b59a0a6f404a82b71802eceaf3addb94ce728ce9
  Author: Vitaly Buka <vitalybuka at google.com>
  Date:   2024-12-26 (Thu, 26 Dec 2024)

  Changed paths:
    M clang/test/Driver/sanitizer-ld.c

  Log Message:
  -----------
  [NFC][Driver] Define %{filecheck} as suggested on #121081 (#121159)

We will introduce `--implicit-check-not=libclang_rt` in #121081,
this let us to avoid repeating the flag.


  Commit: 377755c87e9d5494237f0e2e88f70886b5107342
      https://github.com/llvm/llvm-project/commit/377755c87e9d5494237f0e2e88f70886b5107342
  Author: Vitaly Buka <vitalybuka at google.com>
  Date:   2024-12-26 (Thu, 26 Dec 2024)

  Changed paths:
    M clang/test/Driver/sanitizer-ld.c

  Log Message:
  -----------
  [nfc][Driver] Remove {{(.exe)?}} from sanitizer test (#121160)

These are not Windows tests


  Commit: 2dfe1b404213c6676b9ac55cb89c0a709a712208
      https://github.com/llvm/llvm-project/commit/2dfe1b404213c6676b9ac55cb89c0a709a712208
  Author: Florian Hahn <flo at fhahn.com>
  Date:   2024-12-26 (Thu, 26 Dec 2024)

  Changed paths:
    M llvm/lib/Transforms/Vectorize/VPlanRecipes.cpp

  Log Message:
  -----------
  [VPlan] Remove stray space when printing reverse vector pointer.

printFlags() takes care of printing the required space, remove the extra
printed space between flags and operands.


  Commit: 7ecbeace0192963482beb6520706ef98ae4d8c0d
      https://github.com/llvm/llvm-project/commit/7ecbeace0192963482beb6520706ef98ae4d8c0d
  Author: hill <hill at hilll.dev>
  Date:   2024-12-26 (Thu, 26 Dec 2024)

  Changed paths:
    M clang-tools-extra/clang-tidy/tool/ClangTidyMain.cpp
    M clang-tools-extra/docs/clang-tidy/index.rst

  Log Message:
  -----------
  [clang-tidy] fix incorrect argument names in documentation for ExtraArgs and ExtraArgsBefore (#120963)


  Commit: ca28fcc6fce516129d117f5f5a14ba7f54a045d8
      https://github.com/llvm/llvm-project/commit/ca28fcc6fce516129d117f5f5a14ba7f54a045d8
  Author: Vitaly Buka <vitalybuka at google.com>
  Date:   2024-12-26 (Thu, 26 Dec 2024)

  Changed paths:
    M clang/test/Driver/sanitizer-ld.c

  Log Message:
  -----------
  Revert "[nfc][Driver] Remove {{(.exe)?}} from sanitizer test (#121160)"

Revert #121160.
It fails Android targets on Windows.

This reverts commit 377755c87e9d5494237f0e2e88f70886b5107342.


  Commit: 8e9fda1c1140e067c5344c61df56c34167296f17
      https://github.com/llvm/llvm-project/commit/8e9fda1c1140e067c5344c61df56c34167296f17
  Author: Vitaly Buka <vitalybuka at google.com>
  Date:   2024-12-26 (Thu, 26 Dec 2024)

  Changed paths:
    M clang/test/Driver/sanitizer-ld.c

  Log Message:
  -----------
  Reapply "[nfc][Driver] Remove {{(.exe)?}} from sanitizer test (#121160)" (#121162)

This reverts commit ca28fcc6fce516129d117f5f5a14ba7f54a045d8.

Android targets pass on Windows buildbots, but fails on buildkite
https://buildkite.com/llvm-project/github-pull-requests/builds/132244

Re-apply  #121160


  Commit: 7deaed975eecf78797649b731506478f3d6ccd59
      https://github.com/llvm/llvm-project/commit/7deaed975eecf78797649b731506478f3d6ccd59
  Author: Prabhuk <prabhukr at google.com>
  Date:   2024-12-26 (Thu, 26 Dec 2024)

  Changed paths:
    M libc/config/baremetal/config.json

  Log Message:
  -----------
  [libc] Reduce binary size for baremetal targets (#121164)

For `math` functions we must choose size optimized implementations.
Removing framepointers will also help with binary size savings.


  Commit: 5d529c32cc2d5342a0d183881b6c3023435ed5d3
      https://github.com/llvm/llvm-project/commit/5d529c32cc2d5342a0d183881b6c3023435ed5d3
  Author: Hervé Poussineau <hpoussin at reactos.org>
  Date:   2024-12-27 (Fri, 27 Dec 2024)

  Changed paths:
    M llvm/lib/Object/WindowsMachineFlag.cpp
    M llvm/lib/ToolDrivers/llvm-lib/LibDriver.cpp
    A llvm/test/tools/llvm-lib/Inputs/mips.ll
    A llvm/test/tools/llvm-lib/infer-machine.test
    A llvm/test/tools/llvm-lib/machine-opt.test

  Log Message:
  -----------
  [llvm-lib] Handle MIPS architecture (#121007)

- add a test to check values for /machine argument
- add a test to check if machine is correctly inferred from inputs


  Commit: 6b53a9546c56c805eaf86ac564083bf846570312
      https://github.com/llvm/llvm-project/commit/6b53a9546c56c805eaf86ac564083bf846570312
  Author: Maksim Levental <maksim.levental at gmail.com>
  Date:   2024-12-26 (Thu, 26 Dec 2024)

  Changed paths:
    M mlir/include/mlir/Dialect/Arith/IR/ArithOps.td

  Log Message:
  -----------
  [mlir][arith] DCE `getPredicateByName` (#121165)


  Commit: 9d3f9f47e6e630b8308562297757e0911be03a18
      https://github.com/llvm/llvm-project/commit/9d3f9f47e6e630b8308562297757e0911be03a18
  Author: YunQiang Su <yunqiang at isrc.iscas.ac.cn>
  Date:   2024-12-27 (Fri, 27 Dec 2024)

  Changed paths:
    M llvm/lib/Object/WindowsMachineFlag.cpp
    M llvm/lib/ToolDrivers/llvm-lib/LibDriver.cpp
    R llvm/test/tools/llvm-lib/Inputs/mips.ll
    R llvm/test/tools/llvm-lib/infer-machine.test
    R llvm/test/tools/llvm-lib/machine-opt.test

  Log Message:
  -----------
  Revert "[llvm-lib] Handle MIPS architecture (#121007)"

This reverts commit 5d529c32cc2d5342a0d183881b6c3023435ed5d3.


  Commit: 47e1c87a613d7453b6d5addc2e23e26bea10c0ce
      https://github.com/llvm/llvm-project/commit/47e1c87a613d7453b6d5addc2e23e26bea10c0ce
  Author: Elvis Wang <elvis.wang at sifive.com>
  Date:   2024-12-27 (Fri, 27 Dec 2024)

  Changed paths:
    M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
    M llvm/lib/Transforms/Vectorize/VPlan.h
    M llvm/lib/Transforms/Vectorize/VPlanRecipes.cpp
    A llvm/test/Transforms/LoopVectorize/RISCV/preserve-dbg-loc.ll
    M llvm/test/Transforms/LoopVectorize/preserve-dbg-loc-and-loop-metadata.ll
    A llvm/test/Transforms/LoopVectorize/preserve-dbg-loc-reduction-inloop.ll

  Log Message:
  -----------
  [VPlan] Set debug location for VPReduction/VPWidenIntrinsicRecipe.  (#120054)

This patch add missing debug location for
VPReduction/VPWidenIntrinsicRecipe.


  Commit: 179344d9a85934ff83bed1f657c91d4c1ba12460
      https://github.com/llvm/llvm-project/commit/179344d9a85934ff83bed1f657c91d4c1ba12460
  Author: Fangrui Song <i at maskray.me>
  Date:   2024-12-26 (Thu, 26 Dec 2024)

  Changed paths:
    M llvm/include/llvm/MC/MCStreamer.h
    M llvm/lib/MC/MCAsmStreamer.cpp
    M llvm/lib/Target/PowerPC/PPCAsmPrinter.cpp

  Log Message:
  -----------
  [MC] Move AIX specific function to PPCAsmPrinter

https://reviews.llvm.org/D95518 used switchSectionNoPrint,
which seems buggy as .ll -> .s -> .o will be different from
.ll -> .o, but this change intends to be a NFC.


  Commit: c6ea7fb2f85346eb786f2690355db830c455bfc0
      https://github.com/llvm/llvm-project/commit/c6ea7fb2f85346eb786f2690355db830c455bfc0
  Author: Patryk Wychowaniec <pwychowaniec at pm.me>
  Date:   2024-12-27 (Fri, 27 Dec 2024)

  Changed paths:
    M llvm/lib/Target/AVR/AVRDevices.td
    M llvm/lib/Target/AVR/MCTargetDesc/AVRAsmBackend.cpp
    A llvm/test/CodeGen/AVR/branch-relaxation-long-backward.ll
    A llvm/test/CodeGen/AVR/branch-relaxation-long-forward.ll
    R llvm/test/CodeGen/AVR/branch-relaxation-long.ll

  Log Message:
  -----------
  [AVR] Wrap out-of-bounds relative jumps (#118015)

This commit improves the relative jumps, so that we are able to emit
`rjmp` that wraps around the memory boundary on devices with 8KB flash.


  Commit: f51db95e064c97860910d1ca17a8c29eb23d8623
      https://github.com/llvm/llvm-project/commit/f51db95e064c97860910d1ca17a8c29eb23d8623
  Author: Vitaly Buka <vitalybuka at google.com>
  Date:   2024-12-26 (Thu, 26 Dec 2024)

  Changed paths:
    M clang/test/Driver/sanitizer-ld.c

  Log Message:
  -----------
  [NFC][Driver] Use global --implicit-check-not=libclang_rt (#121081)

To simplify and improve precision of the test.


  Commit: 8230b8a60e8763a90b85a83cfd4ceeac1174ac84
      https://github.com/llvm/llvm-project/commit/8230b8a60e8763a90b85a83cfd4ceeac1174ac84
  Author: NAKAMURA Takumi <geek4civic at gmail.com>
  Date:   2024-12-27 (Fri, 27 Dec 2024)

  Changed paths:
    M llvm/test/tools/llvm-cov/branch-noShowBranch.test

  Log Message:
  -----------
  test/llvm-cov/branch-noShowBranch.test: Align `CHECK-NOT`s to branch-c-general.test's in #113114


  Commit: 3d9f9684a56ff049b5d5454bdb73f406c5af3959
      https://github.com/llvm/llvm-project/commit/3d9f9684a56ff049b5d5454bdb73f406c5af3959
  Author: NAKAMURA Takumi <geek4civic at gmail.com>
  Date:   2024-12-27 (Fri, 27 Dec 2024)

  Changed paths:
    M llvm/tools/llvm-cov/CoverageSummaryInfo.cpp

  Log Message:
  -----------
  llvm-cov: Split out `sumRegions()` from `FunctionCoverageSummary::get()`. NFC.


  Commit: cd3c1658ee3ff882ff9c51488662a4c3f21e6d9c
      https://github.com/llvm/llvm-project/commit/cd3c1658ee3ff882ff9c51488662a4c3f21e6d9c
  Author: Craig Topper <craig.topper at sifive.com>
  Date:   2024-12-26 (Thu, 26 Dec 2024)

  Changed paths:
    M llvm/test/CodeGen/RISCV/rv32xtheadba.ll
    M llvm/test/CodeGen/RISCV/rv64xtheadba.ll

  Log Message:
  -----------
  [RISCV] Add more tests to rv*xtheadba.ll. NFC

XTheadba has similarities with Zba and shares some of the same
codegen code and has similar isel patterns. This patch makes the
testing more similar.


  Commit: 814902a03a2bb4114fd61c05e0e599fc98d61dbb
      https://github.com/llvm/llvm-project/commit/814902a03a2bb4114fd61c05e0e599fc98d61dbb
  Author: Craig Topper <craig.topper at sifive.com>
  Date:   2024-12-26 (Thu, 26 Dec 2024)

  Changed paths:
    M llvm/lib/Target/RISCV/RISCVInstrInfoXTHead.td
    M llvm/test/CodeGen/RISCV/rv32xtheadba.ll
    M llvm/test/CodeGen/RISCV/rv64xtheadba.ll

  Log Message:
  -----------
  [RISCV] Fix XTheadba patterns broken since cfc574a6cd13d2d0b77110b579c5cfcec744129f.

Adding an OperandTransform to CSImm12MulBy4 and CSImm12MulBy8 for
Zba broke these patterns. They should have been changed in the same,
but we lacked sufficient testing.


  Commit: 5807d0efb963ab591a1ae569b538724299d6acdc
      https://github.com/llvm/llvm-project/commit/5807d0efb963ab591a1ae569b538724299d6acdc
  Author: Vitaly Buka <vitalybuka at google.com>
  Date:   2024-12-26 (Thu, 26 Dec 2024)

  Changed paths:
    M clang/test/Driver/sanitizer-ld.c

  Log Message:
  -----------
  [Drive] Don't match libclang_rt.builtins

Fixes fuchsia bots.


  Commit: bca055f2ac075d43f6f316927947b2a493f93bdb
      https://github.com/llvm/llvm-project/commit/bca055f2ac075d43f6f316927947b2a493f93bdb
  Author: Dhruv Srivastava <dhruv.srivastava at ibm.com>
  Date:   2024-12-27 (Fri, 27 Dec 2024)

  Changed paths:
    M lldb/source/Host/posix/MainLoopPosix.cpp

  Log Message:
  -----------
  [lldb] AIX Changes for MainLoop polling (#120378)

This PR is in reference to porting LLDB on AIX.

Link to discussions on llvm discourse and github:

1. https://discourse.llvm.org/t/port-lldb-to-ibm-aix/80640
2. https://github.com/llvm/llvm-project/issues/101657
The complete changes for porting are present in this draft PR:
https://github.com/llvm/llvm-project/pull/102601

Dropping changes for MainLoop polling in AIX, as `ppoll` is not
supported in AIX currently.
This change is part of the couple of minimal changes required to build a
minimal `lldb` binary on AIX


  Commit: 2b5b3cf60d9e9e0c597bad1be1207b167ef15c9f
      https://github.com/llvm/llvm-project/commit/2b5b3cf60d9e9e0c597bad1be1207b167ef15c9f
  Author: Matthias Springer <me at m-sp.org>
  Date:   2024-12-27 (Fri, 27 Dec 2024)

  Changed paths:
    M mlir/lib/Dialect/SparseTensor/Transforms/SparseIterationToScf.cpp
    M mlir/lib/Dialect/SparseTensor/Transforms/SparseTensorPasses.cpp

  Log Message:
  -----------
  [mlir][sparse_tensor] Migrate `SparseIterationToScf.cpp` to dialect conversion (#121054)

Use the regular dialect conversion driver instead of the 1:N dialect
conversion driver. The 1:N dialect conversion driver will be removed
soon.


  Commit: 1ead15512872b1f9eec0b69a7d8283e752a747e6
      https://github.com/llvm/llvm-project/commit/1ead15512872b1f9eec0b69a7d8283e752a747e6
  Author: Dhruv Srivastava <dhruv.srivastava at ibm.com>
  Date:   2024-12-27 (Fri, 27 Dec 2024)

  Changed paths:
    M lldb/source/Host/posix/ConnectionFileDescriptorPosix.cpp
    M lldb/source/Host/posix/DomainSocket.cpp
    M lldb/source/Plugins/Language/ObjC/Cocoa.cpp
    M lldb/source/Plugins/ObjectContainer/BSD-Archive/ObjectContainerBSDArchive.cpp

  Log Message:
  -----------
  [lldb] clang-format changes for some basic #if _AIX changes (#120978)

This PR is in reference to porting LLDB on AIX.

Link to discussions on llvm discourse and github:

1. https://discourse.llvm.org/t/port-lldb-to-ibm-aix/80640
2. https://github.com/llvm/llvm-project/issues/101657
The complete changes for porting are present in this draft PR:
https://github.com/llvm/llvm-project/pull/102601

Added clang-format changes for changes related to some base #if _AIX
changes:

- https://github.com/llvm/llvm-project/pull/120979


  Commit: ac8bb7353a7fe79cd99b3c041d5a153517c31abc
      https://github.com/llvm/llvm-project/commit/ac8bb7353a7fe79cd99b3c041d5a153517c31abc
  Author: Matt Arsenault <Matthew.Arsenault at amd.com>
  Date:   2024-12-27 (Fri, 27 Dec 2024)

  Changed paths:
    M llvm/include/llvm/Transforms/IPO/Attributor.h

  Log Message:
  -----------
  Attributor: Do not treat pointer vectors as valid for unsupported attributes (#121149)

The memory attributes, noalias, and dereferenceable do not support
vectors of pointers according to the IR verifier, so don't report
them as valid.


  Commit: 223521b13e7465bc177f43e22de526b777d6ff74
      https://github.com/llvm/llvm-project/commit/223521b13e7465bc177f43e22de526b777d6ff74
  Author: NAKAMURA Takumi <geek4civic at gmail.com>
  Date:   2024-12-27 (Fri, 27 Dec 2024)

  Changed paths:
    M llvm/test/tools/llvm-cov/branch-macros.test
    M llvm/test/tools/llvm-cov/showLineExecutionCounts.test
    M llvm/tools/llvm-cov/CodeCoverage.cpp
    M llvm/tools/llvm-cov/CoverageViewOptions.h
    M llvm/tools/llvm-cov/SourceCoverageView.h
    M llvm/tools/llvm-cov/SourceCoverageViewHTML.cpp
    M llvm/tools/llvm-cov/SourceCoverageViewText.cpp

  Log Message:
  -----------
  llvm-cov: Introduce `--binary-counters` (#120841)

In `llvm-cov show`, this option rounds counters (line, branch) to
`[1,0]` at rendering. This will be useful when the number of counts
doesn't interest but **Covered/uncoverd** does.


  Commit: aa2fdc69d35ff1c4a6de8a8d8edcc4c15236bb15
      https://github.com/llvm/llvm-project/commit/aa2fdc69d35ff1c4a6de8a8d8edcc4c15236bb15
  Author: NAKAMURA Takumi <geek4civic at gmail.com>
  Date:   2024-12-27 (Fri, 27 Dec 2024)

  Changed paths:
    M llvm/include/llvm/ProfileData/Coverage/CoverageMapping.h
    M llvm/lib/ProfileData/Coverage/CoverageMapping.cpp
    M llvm/tools/llvm-cov/SourceCoverageView.h

  Log Message:
  -----------
  [Coverage] Move SingleByteCoverage out of CountedRegion (#110966)

`SingleByteCoverage` is not per-region attribute at least.
Move it into `CoverageData` since it comes from `profdata`.

Depends on: #120841


  Commit: ccfe0de0e1e37ed369c9bf89dd0188ba0afb2e9a
      https://github.com/llvm/llvm-project/commit/ccfe0de0e1e37ed369c9bf89dd0188ba0afb2e9a
  Author: Hassnaa Hamdi <hassnaa.hamdi at arm.com>
  Date:   2024-12-27 (Fri, 27 Dec 2024)

  Changed paths:
    M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
    M llvm/lib/Transforms/Vectorize/VPlanRecipes.cpp
    M llvm/test/Transforms/LoopVectorize/AArch64/sve-interleaved-accesses.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/sve-interleaved-masked-accesses.ll
    M llvm/test/Transforms/LoopVectorize/RISCV/interleaved-accesses.ll
    A llvm/test/Transforms/PhaseOrdering/AArch64/sve-interleave-vectorization.ll

  Log Message:
  -----------
  [LV]: Teach LV to recursively (de)interleave.  (#89018)

Currently available intrinsics are only ld2/st2, which don't support interleaving factor > 2.
This patch teaches the LV to use ld2/st2 recursively to support high
interleaving factors.


  Commit: 5ad4213ef48253a6be1f9880f17555fc36efdd19
      https://github.com/llvm/llvm-project/commit/5ad4213ef48253a6be1f9880f17555fc36efdd19
  Author: Kunwar Grover <groverkss at gmail.com>
  Date:   2024-12-27 (Fri, 27 Dec 2024)

  Changed paths:
    M mlir/include/mlir/Dialect/Linalg/TransformOps/LinalgTransformOps.td
    M mlir/lib/Dialect/Linalg/TransformOps/LinalgTransformOps.cpp

  Log Message:
  -----------
  [mlir][Linalg] Allow PartialReductionOpInterface ops in tile_reduction_using_for (#120118)

The API used internally expects PartialReductionOpInterface. This patch
allows any operation implementing this interface to use this transform
op (instead of just LinalgOp).


  Commit: 9ab16d49c99966f33900d68ed5370f19927ca52c
      https://github.com/llvm/llvm-project/commit/9ab16d49c99966f33900d68ed5370f19927ca52c
  Author: Ivan Butygin <ivan.butygin at gmail.com>
  Date:   2024-12-27 (Fri, 27 Dec 2024)

  Changed paths:
    M mlir/lib/Interfaces/Utils/InferIntRangeCommon.cpp
    M mlir/test/Dialect/Arith/int-range-interface.mlir

  Log Message:
  -----------
  [mlir][IntRangeInference] Fix `arith.ceildivsi` range inference when it includes `INT_MIN` (#121062)

There is a special case in `arith.ceildivsi` range inference for
handling `lhs.smin()==INT_MIN`, but when `lhs` is not a single value, it
can cause it to skip entire negative range. Add `lhs.smin() + 1` check
to handle it.


  Commit: 07ba4575250b692b28d0fd5105e028b9f4c8e07f
      https://github.com/llvm/llvm-project/commit/07ba4575250b692b28d0fd5105e028b9f4c8e07f
  Author: Alexey Bataev <a.bataev at outlook.com>
  Date:   2024-12-27 (Fri, 27 Dec 2024)

  Changed paths:
    M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp

  Log Message:
  -----------
  [SLP][NFC]Add dump of combined entries, where applicable


  Commit: 91bbebc7e118cceae1fc0e349de08094a3cd2fe7
      https://github.com/llvm/llvm-project/commit/91bbebc7e118cceae1fc0e349de08094a3cd2fe7
  Author: Kunwar Grover <groverkss at gmail.com>
  Date:   2024-12-27 (Fri, 27 Dec 2024)

  Changed paths:
    M mlir/include/mlir/Interfaces/TilingInterface.td
    M mlir/lib/Dialect/Linalg/Transforms/MeshShardingInterfaceImpl.cpp
    M mlir/lib/Dialect/Linalg/Transforms/TilingInterfaceImpl.cpp
    M mlir/lib/Dialect/SCF/Transforms/TileUsingInterface.cpp
    M mlir/test/Dialect/Linalg/transform-tile-reduction.mlir

  Log Message:
  -----------
  [mlir][scf] Add getPartialResultTilePosition to PartialReductionOpInterface (#120465)

This PR adds a new interface method to PartialReductionOpInterface which
allows it to query the result tile position for the partial result.
Previously, tiling the reduction dimension with
SplitReductionOuterReduction when the result has transposed parallel
dimensions would produce wrong results.

Other fixes that were needed to make this PR work:

- Instead of ad-hoc logic to decide where to place the new reduction
dimensions in the partial result based on the iteration space, the
reduction dimensions are always appended to the partial result tensor.
- Remove usage of PartialReductionOpInterface in Mesh dialect. The
implementation was trying to just get a neutral element, but ended up
trying to use PartialReductionOpInterface for it, which is not right. It
was also passing the wrong sizes to it.


  Commit: 8caeb2e0c2fb8a5f1689c11775b81ceee76de958
      https://github.com/llvm/llvm-project/commit/8caeb2e0c2fb8a5f1689c11775b81ceee76de958
  Author: Florian Hahn <flo at fhahn.com>
  Date:   2024-12-27 (Fri, 27 Dec 2024)

  Changed paths:
    M llvm/lib/Transforms/Vectorize/VPlan.h
    M llvm/lib/Transforms/Vectorize/VPlanHCFGBuilder.h
    M llvm/unittests/Transforms/Vectorize/VPDomTreeTest.cpp
    M llvm/unittests/Transforms/Vectorize/VPlanHCFGTest.cpp
    M llvm/unittests/Transforms/Vectorize/VPlanSlpTest.cpp
    M llvm/unittests/Transforms/Vectorize/VPlanTest.cpp
    M llvm/unittests/Transforms/Vectorize/VPlanTestBase.h
    M llvm/unittests/Transforms/Vectorize/VPlanVerifierTest.cpp

  Log Message:
  -----------
  [VPlan] Always create initial blocks in constructor (NFC).

Update C++ unit tests to use VPlanTestBase to construct initial VPlan,
using a constructor that creates the VP blocks directly in the
constructor.

Split off from and in preparation for
https://github.com/llvm/llvm-project/pull/120918.


  Commit: 1f90797f6a9d91d61e0f66b465b0467e4c66d0e0
      https://github.com/llvm/llvm-project/commit/1f90797f6a9d91d61e0f66b465b0467e4c66d0e0
  Author: kleines Filmröllchen <28656157+kleinesfilmroellchen at users.noreply.github.com>
  Date:   2024-12-27 (Fri, 27 Dec 2024)

  Changed paths:
    M clang-tools-extra/clangd/CodeComplete.cpp
    M clang-tools-extra/clangd/Config.h
    M clang-tools-extra/clangd/ConfigCompile.cpp
    M clang-tools-extra/clangd/ConfigFragment.h
    M clang-tools-extra/clangd/ConfigYAML.cpp
    M clang-tools-extra/clangd/Headers.cpp
    M clang-tools-extra/clangd/Headers.h
    M clang-tools-extra/clangd/IncludeCleaner.h
    M clang-tools-extra/clangd/ParsedAST.cpp
    M clang-tools-extra/clangd/unittests/CodeCompleteTests.cpp
    M clang-tools-extra/clangd/unittests/ConfigCompileTests.cpp
    M clang-tools-extra/clangd/unittests/ConfigYAMLTests.cpp
    M clang-tools-extra/clangd/unittests/HeadersTests.cpp

  Log Message:
  -----------
  [clangd] Allow specifying what headers are always included via "" or <> (#67749)

Projects can now add config fragments like this to their .clangd:

```yaml
Style:
  QuotedHeaders: "src/.*"
  AngledHeaders: ["path/sdk/.*", "third-party/.*"]
```

to force headers inserted via the --header-insertion=iwyu mode matching
at least one of the regexes to have <> (AngledHeaders) or ""
(QuotedHeaders) around them, respectively. For other headers (and in
conflicting cases where both styles have a matching regex), the current
system header detection remains.

Fixes https://github.com/clangd/clangd/issues/1247


  Commit: 4d8f9594b20ae7063863e948907f4f8ef8ce07bd
      https://github.com/llvm/llvm-project/commit/4d8f9594b20ae7063863e948907f4f8ef8ce07bd
  Author: Zequan Wu <zequanwu at google.com>
  Date:   2024-12-27 (Fri, 27 Dec 2024)

  Changed paths:
    M llvm/include/llvm/Analysis/TargetTransformInfo.h
    M llvm/include/llvm/Analysis/TargetTransformInfoImpl.h
    M llvm/lib/Analysis/TargetTransformInfo.cpp
    M llvm/lib/Target/AArch64/AArch64TargetTransformInfo.h
    M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
    M llvm/lib/Transforms/Vectorize/VPRecipeBuilder.h
    M llvm/lib/Transforms/Vectorize/VPlan.h
    M llvm/lib/Transforms/Vectorize/VPlanAnalysis.cpp
    M llvm/lib/Transforms/Vectorize/VPlanRecipes.cpp
    M llvm/lib/Transforms/Vectorize/VPlanValue.h
    M llvm/test/Transforms/LoopVectorize/AArch64/fully-unrolled-cost.ll
    R llvm/test/Transforms/LoopVectorize/AArch64/partial-reduce-dot-product-epilogue.ll
    R llvm/test/Transforms/LoopVectorize/AArch64/partial-reduce-dot-product-neon.ll
    R llvm/test/Transforms/LoopVectorize/AArch64/partial-reduce-dot-product.ll
    R llvm/test/Transforms/LoopVectorize/AArch64/partial-reduce-no-dotprod.ll
    R llvm/test/Transforms/LoopVectorize/AArch64/vplan-printing.ll

  Log Message:
  -----------
  Revert "Reland "[LoopVectorizer] Add support for partial reductions" (#120721)"

This reverts commit c858bf620c3ab2a4db53e84b9365b553c3ad1aa6 as it casuse optimization crash on -O2, see https://github.com/llvm/llvm-project/pull/120721#issuecomment-2563192057


  Commit: 815343e7dd32cc4c5c903ac52daf87aaa4e4cd6e
      https://github.com/llvm/llvm-project/commit/815343e7dd32cc4c5c903ac52daf87aaa4e4cd6e
  Author: Kyungwoo Lee <kyulee at meta.com>
  Date:   2024-12-27 (Fri, 27 Dec 2024)

  Changed paths:
    M llvm/lib/CodeGen/GlobalMergeFunctions.cpp
    A llvm/test/CodeGen/AArch64/cgdata-no-merge-attached-call-garget.ll

  Log Message:
  -----------
  [CGData][Merger] Avoid merging the attached call target (#121030)

For global function merging, the target of the arc-attached call must be
a constant and cannot be parameterized.
This change adds a check to bypass this case in `canParameterizeCallOperand()`.


  Commit: b2fd0a7a7065658ab4a3355399978523c1370615
      https://github.com/llvm/llvm-project/commit/b2fd0a7a7065658ab4a3355399978523c1370615
  Author: Vitaly Buka <vitalybuka at google.com>
  Date:   2024-12-27 (Fri, 27 Dec 2024)

  Changed paths:
    M clang/test/Driver/sanitizer-ld.c

  Log Message:
  -----------
  [Driver] Fix implicit-check-not regex (#121221)

We need to exclude more than builtins, but it's
 tricky with FileCheck regex. So switching to list
 of libs we want to check.


  Commit: 48bf0a9457fd60d0872d9b9b4804a95c833a72e1
      https://github.com/llvm/llvm-project/commit/48bf0a9457fd60d0872d9b9b4804a95c833a72e1
  Author: Amr Hesham <amr96 at programmer.net>
  Date:   2024-12-27 (Fri, 27 Dec 2024)

  Changed paths:
    M clang/docs/LibASTMatchersReference.html
    M clang/docs/ReleaseNotes.rst
    M clang/include/clang/ASTMatchers/ASTMatchers.h
    M clang/lib/ASTMatchers/ASTMatchersInternal.cpp
    M clang/lib/ASTMatchers/Dynamic/Registry.cpp
    M clang/unittests/AST/ASTImporterTest.cpp
    M clang/unittests/ASTMatchers/ASTMatchersNodeTest.cpp

  Log Message:
  -----------
  [Clang][ASTMatcher] Add `dependentScopeDeclRefExpr` matcher (#120996)

Fixes https://github.com/llvm/llvm-project/issues/120937


  Commit: 092966a44d1793e6bd53c191efeb5a5425fecde3
      https://github.com/llvm/llvm-project/commit/092966a44d1793e6bd53c191efeb5a5425fecde3
  Author: Vitaly Buka <vitalybuka at google.com>
  Date:   2024-12-27 (Fri, 27 Dec 2024)

  Changed paths:
    M clang/test/Driver/sanitizer-ld.c

  Log Message:
  -----------
  [Driver] Make regex stricter (#121243)

Follow up to #121221.


  Commit: edc42b2dc18c1bf413fc393eeb05abd6076d8bbe
      https://github.com/llvm/llvm-project/commit/edc42b2dc18c1bf413fc393eeb05abd6076d8bbe
  Author: Fangrui Song <i at maskray.me>
  Date:   2024-12-27 (Fri, 27 Dec 2024)

  Changed paths:
    M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp

  Log Message:
  -----------
  [SLP] Migrate away from PointerUnion::get


  Commit: 39e8953f892a51816aa1fde70829a61d7e756a51
      https://github.com/llvm/llvm-project/commit/39e8953f892a51816aa1fde70829a61d7e756a51
  Author: Timm Baeder <tbaeder at redhat.com>
  Date:   2024-12-28 (Sat, 28 Dec 2024)

  Changed paths:
    M clang/lib/AST/ByteCode/Pointer.cpp

  Log Message:
  -----------
  [clang][bytecode] Move a local variable to a later point (#121250)

We don't need `E` before.


  Commit: 5bec2b71b44ddff44aa4d8534b58a5561389bb1d
      https://github.com/llvm/llvm-project/commit/5bec2b71b44ddff44aa4d8534b58a5561389bb1d
  Author: 4m4n-x-B4w4ne <125849251+4m4n-x-B4w4ne at users.noreply.github.com>
  Date:   2024-12-28 (Sat, 28 Dec 2024)

  Changed paths:
    M clang-tools-extra/clang-tidy/readability/ImplicitBoolConversionCheck.cpp
    M clang-tools-extra/clang-tidy/readability/ImplicitBoolConversionCheck.h
    M clang-tools-extra/docs/ReleaseNotes.rst
    M clang-tools-extra/docs/clang-tidy/checks/readability/implicit-bool-conversion.rst
    A clang-tools-extra/test/clang-tidy/checkers/readability/implicit-bool-conversion-check.cpp

  Log Message:
  -----------
  Added options to readability-implicit-bool-conversion  (#120087)

As given in the issue #36323 , I added two new options in the
clang-tools-extra/clan-tidy/readibility/ImplicitBoolConversionCheck.cpp
and header file.
I have also written new test cases to test these new options in
test/readibility directory.


  Commit: 537d4e9d21be1f5e40a780f570663b04572765af
      https://github.com/llvm/llvm-project/commit/537d4e9d21be1f5e40a780f570663b04572765af
  Author: NAKAMURA Takumi <geek4civic at gmail.com>
  Date:   2024-12-28 (Sat, 28 Dec 2024)

  Changed paths:
    M clang-tools-extra/clang-tidy/readability/ImplicitBoolConversionCheck.cpp
    M clang-tools-extra/clang-tidy/readability/ImplicitBoolConversionCheck.h
    M clang-tools-extra/docs/ReleaseNotes.rst
    M clang-tools-extra/docs/clang-tidy/checks/readability/implicit-bool-conversion.rst
    R clang-tools-extra/test/clang-tidy/checkers/readability/implicit-bool-conversion-check.cpp

  Log Message:
  -----------
  Revert "Added options to readability-implicit-bool-conversion  (#120087)"

This reverts commit 5bec2b71b44ddff44aa4d8534b58a5561389bb1d.
(llvmorg-20-init-16425-g5bec2b71b44d)

This broke tests.


  Commit: 811e1f4661bca4a2b5c93d30f54c3aa338f175e9
      https://github.com/llvm/llvm-project/commit/811e1f4661bca4a2b5c93d30f54c3aa338f175e9
  Author: NAKAMURA Takumi <geek4civic at gmail.com>
  Date:   2024-12-28 (Sat, 28 Dec 2024)

  Changed paths:
    M clang/test/CoverageMapping/single-byte-counters.cpp

  Log Message:
  -----------
  clang/test/CoverageMapping/single-byte-counters.cpp: Align to the final form to fill linefeeds.


  Commit: ee6f10d37232627137ce97388a5eb21b90907bfb
      https://github.com/llvm/llvm-project/commit/ee6f10d37232627137ce97388a5eb21b90907bfb
  Author: NAKAMURA Takumi <geek4civic at gmail.com>
  Date:   2024-12-28 (Sat, 28 Dec 2024)

  Changed paths:
    M llvm/include/llvm/ProfileData/Coverage/CoverageMapping.h
    M llvm/lib/ProfileData/Coverage/CoverageMapping.cpp

  Log Message:
  -----------
  [Coverage] Make `MCDCRecord::Folded` as `[false/true]` with BitVector. NFC. (#121190)

For merging `MCDCRecord`s, `Folded` is expected to be promoted as
"Non-folded".


  Commit: a21f13bde2564a691a2da49adb773816f6c4e06b
      https://github.com/llvm/llvm-project/commit/a21f13bde2564a691a2da49adb773816f6c4e06b
  Author: NAKAMURA Takumi <geek4civic at gmail.com>
  Date:   2024-12-28 (Sat, 28 Dec 2024)

  Changed paths:
    M llvm/tools/llvm-cov/CoverageSummaryInfo.cpp
    M llvm/tools/llvm-cov/CoverageSummaryInfo.h

  Log Message:
  -----------
  llvm-cov: Refactor CoverageSummaryInfo. NFC. (#121189)

- Let subfunctions return `CoverageInfo` objects w/o accumulating
  reference values.
- Introduce `CoverageDataSummary` for handling `CoverageData`-oriented
  metrics.


  Commit: 52bbe20eb40f45bc64c614b6b3d7fe13bbacb0ff
      https://github.com/llvm/llvm-project/commit/52bbe20eb40f45bc64c614b6b3d7fe13bbacb0ff
  Author: Daniil Kovalev <dkovalev at accesssoftek.com>
  Date:   2024-12-28 (Sat, 28 Dec 2024)

  Changed paths:
    M llvm/lib/Target/AArch64/AArch64AsmPrinter.cpp
    M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
    M llvm/lib/Target/AArch64/AArch64ISelLowering.h
    M llvm/lib/Target/AArch64/AArch64InstrInfo.td
    A llvm/test/CodeGen/AArch64/ptrauth-arm64-tls-dynamics.ll

  Log Message:
  -----------
  [PAC][CodeGen][ELF][AArch64] Support signed TLSDESC (#113813)

Depends on #120010

`TLSDESC_AUTH_CALLSEQ` pseudo-instruction is introduced which is later expanded
to actual instruction sequence like the following.

```
adrp  x0, :tlsdesc_auth:var
ldr   x16, [x0, #:tlsdesc_auth_lo12:var]
add   x0, x0, #:tlsdesc_auth_lo12:var
blraa x16, x0
(TPIDR_EL0 offset now in x0)
```

Only SelectionDAG ISel is supported.

Tests starting with 'ptrauth-' have corresponding variants w/o this prefix.


  Commit: f68dbbbd57dd0947730300d1e827ad16c2dfffb5
      https://github.com/llvm/llvm-project/commit/f68dbbbd57dd0947730300d1e827ad16c2dfffb5
  Author: Simon Pilgrim <llvm-dev at redking.me.uk>
  Date:   2024-12-28 (Sat, 28 Dec 2024)

  Changed paths:
    M llvm/test/Transforms/VectorCombine/X86/shuffle-of-cmps.ll

  Log Message:
  -----------
  [VectorCombine] Add test coverage for #121110


  Commit: f2f02b21cd581057e3c9b4a7a27e0014eeb9ba15
      https://github.com/llvm/llvm-project/commit/f2f02b21cd581057e3c9b4a7a27e0014eeb9ba15
  Author: Simon Pilgrim <llvm-dev at redking.me.uk>
  Date:   2024-12-28 (Sat, 28 Dec 2024)

  Changed paths:
    M llvm/lib/Transforms/Vectorize/VectorCombine.cpp
    M llvm/test/Transforms/VectorCombine/X86/shuffle-of-cmps.ll

  Log Message:
  -----------
  [VectorCombine] foldShuffleOfBinops - only accept exact matching cmp predicates

m_SpecificCmp allowed equivalent predicate+flags which don't necessarily work after being folded from "shuffle (cmpop), (cmpop)" into "cmpop (shuffle), (shuffle)"

Fixes #121110


  Commit: 8e965d89c9624c184c48806dc39d50209265f0f8
      https://github.com/llvm/llvm-project/commit/8e965d89c9624c184c48806dc39d50209265f0f8
  Author: JOSTAR <52376093+shenjunjiekoda at users.noreply.github.com>
  Date:   2024-12-28 (Sat, 28 Dec 2024)

  Changed paths:
    M clang/lib/StaticAnalyzer/Core/LoopUnrolling.cpp
    A clang/test/Analysis/PR121201.cpp

  Log Message:
  -----------
  [analyzer] Fix zext assertion failure in loop unrolling (#121203)

The current implementation of APInt extension in the code can trigger an
assertion failure when the `zext` function is called with a target width
smaller than the current bit width. For example:
```cpp
if (InitNum.getBitWidth() != BoundNum.getBitWidth()) {
    InitNum = InitNum.zext(BoundNum.getBitWidth());
    BoundNum = BoundNum.zext(InitNum.getBitWidth());
}
```

This logic does not guarantee that the `zext` target width is always
greater than or equal to the current bit width, leading to potential
crashes.

Expected Behavior:
- Ensure InitNum and BoundNum are extended to the maximum of their respective widths.
- Prevent assertion failures by enforcing correct `zext` usage.

Fixes #121201


  Commit: 7e749d4fb7327ce2da307ed020c02a07e8279992
      https://github.com/llvm/llvm-project/commit/7e749d4fb7327ce2da307ed020c02a07e8279992
  Author: Amir Bishara <139038766+amirBish at users.noreply.github.com>
  Date:   2024-12-28 (Sat, 28 Dec 2024)

  Changed paths:
    M mlir/include/mlir/Dialect/Bufferization/Transforms/Transforms.h
    M mlir/lib/Dialect/Bufferization/Transforms/EmptyTensorElimination.cpp

  Log Message:
  -----------
  [mlir][bufferization]-Add ControlBuildSubsetExtractionFn to TensorEmptyElimination (#120851)

This PR Adds a `ControlBuildSubsetExtractionFn` to the tensor empty
elimination util, This will control the building of the subsets
extraction of the
`SubsetInsertionOpInterface`.

This control function returns the subsets extraction value that will
replace the `emptyTensorOp` use
which is being consumed by a specefic user (which the
 util expects to eliminate it).

The default control function will stay like today's behavior without any
additional changes.


  Commit: e86b68ff560aaf5fc723eaa8d8418892b2456e12
      https://github.com/llvm/llvm-project/commit/e86b68ff560aaf5fc723eaa8d8418892b2456e12
  Author: Timm Baeder <tbaeder at redhat.com>
  Date:   2024-12-28 (Sat, 28 Dec 2024)

  Changed paths:
    M clang/lib/AST/ByteCode/Compiler.cpp
    M clang/lib/AST/ByteCode/Compiler.h
    M clang/lib/AST/ByteCode/Interp.cpp
    M clang/lib/AST/ByteCode/Interp.h
    M clang/lib/AST/ByteCode/Opcodes.td
    M clang/lib/AST/ByteCode/Pointer.cpp
    M clang/lib/AST/ByteCode/Pointer.h
    M clang/test/AST/ByteCode/cxx2a.cpp

  Log Message:
  -----------
  [clang][bytecode] Add support for typeid pointers (#121251)

Add it as another kind of pointer, saving both a `Type*` for the result
of the typeid() expression as well as one for the type of the typeid
expression.


  Commit: 3496e96f78c46f5b94c1892f97c470fd89293795
      https://github.com/llvm/llvm-project/commit/3496e96f78c46f5b94c1892f97c470fd89293795
  Author: Timm Bäder <tbaeder at redhat.com>
  Date:   2024-12-28 (Sat, 28 Dec 2024)

  Changed paths:
    M clang/lib/AST/ByteCode/Pointer.cpp

  Log Message:
  -----------
  [clang][bytecode] Add a missing break


  Commit: 088d636136a42d738e15f2f0a85e1b77a8f2de35
      https://github.com/llvm/llvm-project/commit/088d636136a42d738e15f2f0a85e1b77a8f2de35
  Author: adam-bzowski <adam.bzowski at intel.com>
  Date:   2024-12-28 (Sat, 28 Dec 2024)

  Changed paths:
    M llvm/lib/Analysis/ValueTracking.cpp
    M llvm/test/Analysis/ValueTracking/knownbits-trunc-with-min-max-clamp.ll

  Log Message:
  -----------
  [ValueTracking] Fix a bug for signed min-max clamping (#121206)

Correctly handle the case where the clamp is over the full range.
This fixes an issue introduced in #121206.


  Commit: 4a6fcc17c6d5ab9bf2b9629b49fce607a4eb4e25
      https://github.com/llvm/llvm-project/commit/4a6fcc17c6d5ab9bf2b9629b49fce607a4eb4e25
  Author: Maksim Levental <maksim.levental at gmail.com>
  Date:   2024-12-28 (Sat, 28 Dec 2024)

  Changed paths:
    M mlir/include/mlir/Dialect/EmitC/IR/EmitC.td

  Log Message:
  -----------
  [mlir][emitc] DCE unimplemented decls (#121253)


  Commit: f1bc3afb6cb07d6cc9bb3dce963130a879978aa1
      https://github.com/llvm/llvm-project/commit/f1bc3afb6cb07d6cc9bb3dce963130a879978aa1
  Author: Maksim Levental <maksim.levental at gmail.com>
  Date:   2024-12-28 (Sat, 28 Dec 2024)

  Changed paths:
    M mlir/include/mlir/Dialect/SCF/IR/SCF.h

  Log Message:
  -----------
  [mlir][scf] DCE unimplemented decls in TDs (#121237)

More dead code in headers...


  Commit: 8e329593313bb792592529ee825a52683108df99
      https://github.com/llvm/llvm-project/commit/8e329593313bb792592529ee825a52683108df99
  Author: David Olsen <dolsen at nvidia.com>
  Date:   2024-12-28 (Sat, 28 Dec 2024)

  Changed paths:
    M clang/include/clang/CIR/Dialect/Builder/CIRBaseBuilder.h
    A clang/include/clang/CIR/Dialect/IR/CIRAttrs.h
    A clang/include/clang/CIR/Dialect/IR/CIRAttrs.td
    M clang/include/clang/CIR/Dialect/IR/CIRDialect.h
    M clang/include/clang/CIR/Dialect/IR/CIROps.td
    M clang/include/clang/CIR/Dialect/IR/CIRTypes.td
    M clang/include/clang/CIR/Dialect/IR/CMakeLists.txt
    M clang/lib/CIR/CodeGen/CIRGenModule.cpp
    M clang/lib/CIR/Dialect/IR/CIRAttrs.cpp
    M clang/lib/CIR/Dialect/IR/CIRDialect.cpp
    M clang/lib/CIR/Dialect/IR/CMakeLists.txt
    M clang/lib/CIR/Interfaces/CMakeLists.txt
    M clang/test/CIR/global-var-simple.cpp

  Log Message:
  -----------
  [CIR] Upstream initial attribute support (#121069)

Upstream several ClangIR-specific MLIR attributes, in particular
attributes for integer, floating-point, and null pointer constants.
These are the first ClangIR attributes to be upstreamed, so
infrastructure changes are included, such as the table-gen file
`CIRAttrs.td`.

Attributes can be used as the initial values for global variables. The
existing automated test global-var-simple.cpp includes initial values
for some of the global variables in the test.


  Commit: cb1ad985b53c87b53974e37bba60129acb294f0d
      https://github.com/llvm/llvm-project/commit/cb1ad985b53c87b53974e37bba60129acb294f0d
  Author: Maksim Levental <maksim.levental at gmail.com>
  Date:   2024-12-28 (Sat, 28 Dec 2024)

  Changed paths:
    M mlir/lib/Dialect/LLVMIR/IR/LLVMAttrs.cpp

  Log Message:
  -----------
  [mlir][llvmir] implement missing attrs `getChecked` (#121248)


  Commit: de294c968bf292794ca9f0a6a481d3dff3bcc2eb
      https://github.com/llvm/llvm-project/commit/de294c968bf292794ca9f0a6a481d3dff3bcc2eb
  Author: NAKAMURA Takumi <geek4civic at gmail.com>
  Date:   2024-12-29 (Sun, 29 Dec 2024)

  Changed paths:
    M compiler-rt/test/profile/ContinuousSyncMode/basic.c
    M compiler-rt/test/profile/ContinuousSyncMode/get-filename.c
    M compiler-rt/test/profile/ContinuousSyncMode/image-with-mcdc.c
    M compiler-rt/test/profile/ContinuousSyncMode/multi-threaded.cpp
    M compiler-rt/test/profile/ContinuousSyncMode/online-merging.c
    M compiler-rt/test/profile/ContinuousSyncMode/pid-substitution.c
    M compiler-rt/test/profile/ContinuousSyncMode/set-filename.c
    M compiler-rt/test/profile/lit.cfg.py

  Log Message:
  -----------
  [profile] Enable testing Continuous mode on Linux (#121238)

Based on #115987, with the introduction of `REQUIRES: continuous-mode`.
Also Linux assumes `runtime_reloc`.

FIXME: image-with-no-counters.c is still excluded.


  Commit: 02e8972c378bf60cc16a85815d29faafdbad7180
      https://github.com/llvm/llvm-project/commit/02e8972c378bf60cc16a85815d29faafdbad7180
  Author: Justin Bogner <mail at justinbogner.com>
  Date:   2024-12-28 (Sat, 28 Dec 2024)

  Changed paths:
    M clang/test/Driver/sanitizer-ld.c

  Log Message:
  -----------
  Revert "[nfc][Driver] Remove {{(.exe)?}} from sanitizer test" again (#121280)

This reverts #121162, which was a reapply of the previous revert earlier
in #121160 - The change blatantly breaks tests on windows and it isn't
clear why it's being made.

Note that I needed to add the optional .exe suffix to a few more check
lines that were added as a follow up.

This reverts commit 8e9fda1c1140e067c5344c61df56c34167296f17.


  Commit: 1557eeda738d7dbe51d2f52fce28a1fd6f5844ce
      https://github.com/llvm/llvm-project/commit/1557eeda738d7dbe51d2f52fce28a1fd6f5844ce
  Author: quic_hchandel <165007698+hchandel at users.noreply.github.com>
  Date:   2024-12-29 (Sun, 29 Dec 2024)

  Changed paths:
    M clang/test/Driver/print-supported-extensions-riscv.c
    M llvm/docs/RISCVUsage.rst
    M llvm/docs/ReleaseNotes.md
    M llvm/lib/Target/RISCV/AsmParser/RISCVAsmParser.cpp
    M llvm/lib/Target/RISCV/Disassembler/RISCVDisassembler.cpp
    M llvm/lib/Target/RISCV/MCTargetDesc/RISCVBaseInfo.h
    M llvm/lib/Target/RISCV/RISCVFeatures.td
    M llvm/lib/Target/RISCV/RISCVInstrInfoXqci.td
    M llvm/lib/TargetParser/RISCVISAInfo.cpp
    M llvm/test/CodeGen/RISCV/attributes.ll
    A llvm/test/MC/RISCV/xqciac-invalid.s
    A llvm/test/MC/RISCV/xqciac-valid.s
    M llvm/unittests/TargetParser/RISCVISAInfoTest.cpp

  Log Message:
  -----------
  [RISCV] Add Qualcomm uC Xqciac (Load-Store Adress calculation) extension (#121037)

This extension adds 3 instructions that perform load-store address
calculation.

The current spec can be found at:
https://github.com/quic/riscv-unified-db/releases/latest

This patch adds assembler only support.

---------

Co-authored-by: Harsh Chandel <hchandel at qti.qualcomm.com>
Co-authored-by: Sudharsan Veeravalli <quic_svs at quicinc.com>


  Commit: 66dd7e63d8a1860c11f3b9acf011cad4e18f0195
      https://github.com/llvm/llvm-project/commit/66dd7e63d8a1860c11f3b9acf011cad4e18f0195
  Author: Fangrui Song <i at maskray.me>
  Date:   2024-12-28 (Sat, 28 Dec 2024)

  Changed paths:
    M llvm/lib/CodeGen/PostRASchedulerList.cpp

  Log Message:
  -----------
  Simplify enablePostRAScheduler and test enablePostRAScheduler() early


  Commit: ff29f38c02eb425a6809dec26f221cea3d99b57c
      https://github.com/llvm/llvm-project/commit/ff29f38c02eb425a6809dec26f221cea3d99b57c
  Author: Jacek Caban <jacek at codeweavers.com>
  Date:   2024-12-29 (Sun, 29 Dec 2024)

  Changed paths:
    M lld/COFF/Driver.cpp
    M lld/COFF/SymbolTable.cpp
    M lld/COFF/SymbolTable.h
    M lld/COFF/Writer.cpp
    M lld/test/COFF/guard-warnings.s
    A lld/test/COFF/loadcfg-short.test
    A lld/test/COFF/loadcfg-size.test
    A lld/test/COFF/loadcfg-uninitialized.test

  Log Message:
  -----------
  [LLD][COFF] Store and validate load config in SymbolTable (#120324)

Improve diagnostics for invalid load configurations.


  Commit: e45e091b90896023584b303539bd8ae16d8932b3
      https://github.com/llvm/llvm-project/commit/e45e091b90896023584b303539bd8ae16d8932b3
  Author: Congcong Cai <congcongcai0907 at 163.com>
  Date:   2024-12-29 (Sun, 29 Dec 2024)

  Changed paths:
    M clang-tools-extra/clang-tidy/bugprone/BugproneTidyModule.cpp
    M clang-tools-extra/clang-tidy/bugprone/CMakeLists.txt
    A clang-tools-extra/clang-tidy/bugprone/NarrowingConversionsCheck.cpp
    A clang-tools-extra/clang-tidy/bugprone/NarrowingConversionsCheck.h
    M clang-tools-extra/clang-tidy/cppcoreguidelines/CMakeLists.txt
    M clang-tools-extra/clang-tidy/cppcoreguidelines/CppCoreGuidelinesTidyModule.cpp
    R clang-tools-extra/clang-tidy/cppcoreguidelines/NarrowingConversionsCheck.cpp
    R clang-tools-extra/clang-tidy/cppcoreguidelines/NarrowingConversionsCheck.h
    M clang-tools-extra/docs/ReleaseNotes.rst
    M clang-tools-extra/docs/clang-tidy/checks/bugprone/narrowing-conversions.rst
    M clang-tools-extra/docs/clang-tidy/checks/cppcoreguidelines/narrowing-conversions.rst
    M clang-tools-extra/docs/clang-tidy/checks/list.rst
    A clang-tools-extra/test/clang-tidy/checkers/bugprone/narrowing-conversions-bitfields.cpp
    A clang-tools-extra/test/clang-tidy/checkers/bugprone/narrowing-conversions-equivalentbitwidth-option.cpp
    A clang-tools-extra/test/clang-tidy/checkers/bugprone/narrowing-conversions-ignoreconversionfromtypes-option.cpp
    A clang-tools-extra/test/clang-tidy/checkers/bugprone/narrowing-conversions-intemplates-option.cpp
    A clang-tools-extra/test/clang-tidy/checkers/bugprone/narrowing-conversions-long-is-32bits.cpp
    A clang-tools-extra/test/clang-tidy/checkers/bugprone/narrowing-conversions-narrowingfloatingpoint-option.cpp
    A clang-tools-extra/test/clang-tidy/checkers/bugprone/narrowing-conversions-narrowinginteger-option.cpp
    A clang-tools-extra/test/clang-tidy/checkers/bugprone/narrowing-conversions-narrowingintegertofloatingpoint-option.cpp
    A clang-tools-extra/test/clang-tidy/checkers/bugprone/narrowing-conversions-pedanticmode-option.cpp
    A clang-tools-extra/test/clang-tidy/checkers/bugprone/narrowing-conversions-unsigned-char.cpp
    A clang-tools-extra/test/clang-tidy/checkers/bugprone/narrowing-conversions.cpp
    R clang-tools-extra/test/clang-tidy/checkers/cppcoreguidelines/narrowing-conversions-bitfields.cpp
    R clang-tools-extra/test/clang-tidy/checkers/cppcoreguidelines/narrowing-conversions-equivalentbitwidth-option.cpp
    R clang-tools-extra/test/clang-tidy/checkers/cppcoreguidelines/narrowing-conversions-ignoreconversionfromtypes-option.cpp
    R clang-tools-extra/test/clang-tidy/checkers/cppcoreguidelines/narrowing-conversions-intemplates-option.cpp
    R clang-tools-extra/test/clang-tidy/checkers/cppcoreguidelines/narrowing-conversions-long-is-32bits.cpp
    R clang-tools-extra/test/clang-tidy/checkers/cppcoreguidelines/narrowing-conversions-narrowingfloatingpoint-option.cpp
    R clang-tools-extra/test/clang-tidy/checkers/cppcoreguidelines/narrowing-conversions-narrowinginteger-option.cpp
    R clang-tools-extra/test/clang-tidy/checkers/cppcoreguidelines/narrowing-conversions-narrowingintegertofloatingpoint-option.cpp
    R clang-tools-extra/test/clang-tidy/checkers/cppcoreguidelines/narrowing-conversions-pedanticmode-option.cpp
    R clang-tools-extra/test/clang-tidy/checkers/cppcoreguidelines/narrowing-conversions-unsigned-char.cpp
    R clang-tools-extra/test/clang-tidy/checkers/cppcoreguidelines/narrowing-conversions.cpp

  Log Message:
  -----------
  [clang-tidy] swap cppcoreguidelines-narrowing-conversions and bugprone-narrowing-conversions (#120245)

According to #116591.
> Coding guidelines should "cherry-pick" (and posddsibly
configure/harden/make more strict) base checks.
We should move narrowing conversion to bugprone and keep alias in
cppcoreguidelines


  Commit: 412e30b2274a134c01c2140ac7c7579be70f0896
      https://github.com/llvm/llvm-project/commit/412e30b2274a134c01c2140ac7c7579be70f0896
  Author: Matthias Springer <me at m-sp.org>
  Date:   2024-12-29 (Sun, 29 Dec 2024)

  Changed paths:
    M mlir/test/Transforms/test-legalizer.mlir
    M mlir/test/lib/Dialect/Test/TestPatterns.cpp

  Log Message:
  -----------
  [mlir][Transforms] Dialect Conversion: Add 1:N op replacement test case (#121271)

This commit adds a test case that performs two back-to-back 1:N
replacements: `(i16) -> (i16, i16) -> ((i16, i16), (i16, i16))`. For the
moment, 3 argument materializations are inserted. In the future (when
the conversion value mapping supports 1:N), a single target
materialization will be inserted. Addresses a
[comment](https://github.com/llvm/llvm-project/pull/116524#discussion_r1894629711)
in #116524.


  Commit: b34ed25dd5c74abcb46872cbaab34b91e27a0bda
      https://github.com/llvm/llvm-project/commit/b34ed25dd5c74abcb46872cbaab34b91e27a0bda
  Author: Congcong Cai <congcongcai0907 at 163.com>
  Date:   2024-12-29 (Sun, 29 Dec 2024)

  Changed paths:
    M clang-tools-extra/clang-tidy/bugprone/CMakeLists.txt
    M clang-tools-extra/clang-tidy/cppcoreguidelines/CMakeLists.txt

  Log Message:
  -----------
  [clang-tidy][NFC] add link libs for bugprone module

Fixed bug issue introduced in #120245


  Commit: 7144325109353f9153780f93ec5a8fee8fdc0927
      https://github.com/llvm/llvm-project/commit/7144325109353f9153780f93ec5a8fee8fdc0927
  Author: Jacek Caban <jacek at codeweavers.com>
  Date:   2024-12-29 (Sun, 29 Dec 2024)

  Changed paths:
    M lld/COFF/Writer.cpp
    M lld/test/COFF/arm64x-loadconfig.s

  Log Message:
  -----------
  [LLD][COFF] Prepare both load configs on ARM64X (#120326)


  Commit: db7123fbbc530587941ea3c78666103233282120
      https://github.com/llvm/llvm-project/commit/db7123fbbc530587941ea3c78666103233282120
  Author: Jacek Caban <jacek at codeweavers.com>
  Date:   2024-12-29 (Sun, 29 Dec 2024)

  Changed paths:
    M lld/COFF/Driver.cpp
    M lld/COFF/Writer.cpp
    A lld/test/COFF/Inputs/loadconfig-arm64.s
    M lld/test/COFF/arm64ec-codemap.test
    M lld/test/COFF/arm64ec-entry-thunk.s
    M lld/test/COFF/arm64ec-lib.test
    M lld/test/COFF/arm64ec-range-thunks.s
    M lld/test/COFF/arm64x-loadconfig.s

  Log Message:
  -----------
  [LLD][COFF] Use EC symbol table for CHPE metadata (#120328)

Copy CHPE metadata pointer from EC load config to native configuration.


  Commit: 6cbc64ed922cc69bc292d394ba5c681fa309f404
      https://github.com/llvm/llvm-project/commit/6cbc64ed922cc69bc292d394ba5c681fa309f404
  Author: Sergei Barannikov <barannikov88 at gmail.com>
  Date:   2024-12-29 (Sun, 29 Dec 2024)

  Changed paths:
    A llvm/test/TableGen/GlobalISelEmitter/undef-tied-input.td
    M llvm/utils/TableGen/GlobalISelEmitter.cpp

  Log Message:
  -----------
  [TableGen][GISel] Fix IMPLICIT_DEF operand being added as a use (#121283)

`IMPLICIT_DEF` has one operand that is a def, not a use.


  Commit: 01c8cd664a9bea23a49c863a39351949ac11a4fd
      https://github.com/llvm/llvm-project/commit/01c8cd664a9bea23a49c863a39351949ac11a4fd
  Author: David Green <david.green at arm.com>
  Date:   2024-12-29 (Sun, 29 Dec 2024)

  Changed paths:
    M llvm/lib/Target/AArch64/AArch64Combine.td
    M llvm/lib/Target/AArch64/GISel/AArch64PostLegalizerLowering.cpp
    M llvm/test/CodeGen/AArch64/aarch64-dup-ext.ll
    M llvm/test/CodeGen/AArch64/neon-reverseshuffle.ll

  Log Message:
  -----------
  [AArch64][GlobalISel] Full reverse shuffles. (#119083)

A full shuffle reverse needs to use EXT+REV64. This adds handling for more types than SDAG so long as the mask is isReverseMask to make the patterns simpler.


  Commit: 08e2c15a287df132ca2186f2d56669219a7ed8a1
      https://github.com/llvm/llvm-project/commit/08e2c15a287df132ca2186f2d56669219a7ed8a1
  Author: Maksim Levental <maksim.levental at gmail.com>
  Date:   2024-12-29 (Sun, 29 Dec 2024)

  Changed paths:
    M mlir/lib/Bindings/Python/IRCore.cpp

  Log Message:
  -----------
  [mlir][python] disable nanobind leak warnings (#121099)


  Commit: 8487d2460e8cf80c7c3b240cf46969eeeb4ed18d
      https://github.com/llvm/llvm-project/commit/8487d2460e8cf80c7c3b240cf46969eeeb4ed18d
  Author: Maksim Levental <maksim.levental at gmail.com>
  Date:   2024-12-29 (Sun, 29 Dec 2024)

  Changed paths:
    M mlir/include/mlir/Dialect/Shape/IR/ShapeOps.td

  Log Message:
  -----------
  [mlir][shape] DCE unimplemented extra decl (#121275)


  Commit: c3ef6d469d89accd152c216ed8644783fb221c90
      https://github.com/llvm/llvm-project/commit/c3ef6d469d89accd152c216ed8644783fb221c90
  Author: Fangrui Song <i at maskray.me>
  Date:   2024-12-29 (Sun, 29 Dec 2024)

  Changed paths:
    M llvm/lib/CodeGen/StackMapLivenessAnalysis.cpp
    M llvm/lib/Target/X86/X86LoadValueInjectionRetHardening.cpp

  Log Message:
  -----------
  Move two LLVM_DEBUG banners after skippers

so that they don't show in -debug output when they are not run.


  Commit: 7f3428d3ed71d87a2088b77b6cab9f3d86544234
      https://github.com/llvm/llvm-project/commit/7f3428d3ed71d87a2088b77b6cab9f3d86544234
  Author: Florian Hahn <flo at fhahn.com>
  Date:   2024-12-29 (Sun, 29 Dec 2024)

  Changed paths:
    M llvm/lib/Transforms/Vectorize/LoopVectorizationPlanner.h
    M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
    M llvm/test/Transforms/LoopVectorize/AArch64/clamped-trip-count.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/conditional-branches-cost.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/epilog-vectorization-widen-inductions.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/fixed-order-recurrence.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/force-target-instruction-cost.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/induction-costs-sve.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/induction-costs.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/intrinsiccost.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/low_trip_count_predicates.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/mul-simplification.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/reduction-recurrence-costs-sve.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/scalable-avoid-scalarization.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/scalable-strict-fadd.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/sve-epilog-vect.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/sve-inductions-unusual-types.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/sve-interleaved-accesses.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/sve-live-out-pointer-induction.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/sve-tail-folding-forced.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/sve-tail-folding.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/sve-widen-gep.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/sve-widen-phi.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/sve2-histcnt-vplan.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/synthesize-mask-for-call.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/widen-call-with-intrinsic-or-libfunc.ll
    M llvm/test/Transforms/LoopVectorize/PowerPC/exit-branch-cost.ll
    M llvm/test/Transforms/LoopVectorize/RISCV/blend-any-of-reduction-cost.ll
    M llvm/test/Transforms/LoopVectorize/RISCV/blocks-with-dead-instructions.ll
    M llvm/test/Transforms/LoopVectorize/RISCV/dead-ops-cost.ll
    M llvm/test/Transforms/LoopVectorize/RISCV/first-order-recurrence-scalable-vf1.ll
    M llvm/test/Transforms/LoopVectorize/RISCV/induction-costs.ll
    M llvm/test/Transforms/LoopVectorize/RISCV/masked_gather_scatter.ll
    M llvm/test/Transforms/LoopVectorize/RISCV/riscv-vector-reverse.ll
    M llvm/test/Transforms/LoopVectorize/RISCV/strided-accesses.ll
    M llvm/test/Transforms/LoopVectorize/RISCV/vectorize-force-tail-with-evl-reverse-load-store.ll
    M llvm/test/Transforms/LoopVectorize/RISCV/vectorize-force-tail-with-evl-uniform-store.ll
    M llvm/test/Transforms/LoopVectorize/RISCV/vplan-vp-intrinsics-reduction.ll
    M llvm/test/Transforms/LoopVectorize/SystemZ/predicated-first-order-recurrence.ll
    M llvm/test/Transforms/LoopVectorize/X86/conversion-cost.ll
    M llvm/test/Transforms/LoopVectorize/X86/cost-model.ll
    M llvm/test/Transforms/LoopVectorize/X86/epilog-vectorization-inductions.ll
    M llvm/test/Transforms/LoopVectorize/X86/fixed-order-recurrence.ll
    M llvm/test/Transforms/LoopVectorize/X86/float-induction-x86.ll
    M llvm/test/Transforms/LoopVectorize/X86/gather_scatter.ll
    M llvm/test/Transforms/LoopVectorize/X86/induction-costs.ll
    M llvm/test/Transforms/LoopVectorize/X86/intrinsiccost.ll
    M llvm/test/Transforms/LoopVectorize/X86/optsize.ll
    M llvm/test/Transforms/LoopVectorize/X86/pr109581-unused-blend.ll
    M llvm/test/Transforms/LoopVectorize/X86/pr72969.ll
    M llvm/test/Transforms/LoopVectorize/X86/scatter_crash.ll
    M llvm/test/Transforms/LoopVectorize/X86/small-size.ll
    M llvm/test/Transforms/LoopVectorize/branch-weights.ll
    M llvm/test/Transforms/LoopVectorize/epilog-vectorization-any-of-reductions.ll
    M llvm/test/Transforms/LoopVectorize/first-order-recurrence-chains-vplan.ll
    M llvm/test/Transforms/LoopVectorize/first-order-recurrence-chains.ll
    M llvm/test/Transforms/LoopVectorize/first-order-recurrence-complex.ll
    M llvm/test/Transforms/LoopVectorize/first-order-recurrence-sink-replicate-region.ll
    M llvm/test/Transforms/LoopVectorize/first-order-recurrence.ll
    M llvm/test/Transforms/LoopVectorize/induction.ll
    M llvm/test/Transforms/LoopVectorize/interleave-and-scalarize-only.ll
    M llvm/test/Transforms/LoopVectorize/interleaved-accesses.ll
    M llvm/test/Transforms/LoopVectorize/invariant-store-vectorization.ll
    M llvm/test/Transforms/LoopVectorize/iv-select-cmp-nested-loop.ll
    M llvm/test/Transforms/LoopVectorize/optimal-epilog-vectorization.ll
    M llvm/test/Transforms/LoopVectorize/pr59319-loop-access-info-invalidation.ll
    M llvm/test/Transforms/LoopVectorize/pr66616.ll
    M llvm/test/Transforms/LoopVectorize/reduction-align.ll
    M llvm/test/Transforms/LoopVectorize/reduction-inloop-cond.ll
    M llvm/test/Transforms/LoopVectorize/scalable-inductions.ll
    M llvm/test/Transforms/LoopVectorize/select-reduction.ll
    M llvm/test/Transforms/LoopVectorize/store-reduction-results-in-tail-folded-loop.ll
    M llvm/test/Transforms/LoopVectorize/uncountable-early-exit-vplan.ll
    M llvm/test/Transforms/LoopVectorize/vplan-iv-transforms.ll
    M llvm/test/Transforms/LoopVectorize/vplan-predicate-switch.ll
    M llvm/test/Transforms/LoopVectorize/vplan-printing-before-execute.ll
    M llvm/test/Transforms/LoopVectorize/vplan-printing.ll
    M llvm/test/Transforms/LoopVectorize/vplan-sink-scalars-and-merge-vf1.ll
    M llvm/test/Transforms/LoopVectorize/vplan-sink-scalars-and-merge.ll
    M llvm/test/Transforms/PhaseOrdering/ARM/arm_mult_q15.ll

  Log Message:
  -----------
  [VPlan] Compute induction end values in VPlan. (#112145)

Use createDerivedIV to compute IV end values directly in VPlan, instead
of creating them up-front.

This allows updating IV users outside the loop as follow-up.

Depends on https://github.com/llvm/llvm-project/pull/110004 and
https://github.com/llvm/llvm-project/pull/109975.

PR: https://github.com/llvm/llvm-project/pull/112145


  Commit: d2e71c92b86895781172c3320e6ce828b1df5127
      https://github.com/llvm/llvm-project/commit/d2e71c92b86895781172c3320e6ce828b1df5127
  Author: Lukas Bergdoll <lukas.bergdoll at gmail.com>
  Date:   2024-12-29 (Sun, 29 Dec 2024)

  Changed paths:
    M libc/src/stdlib/heap_sort.h
    M libc/src/stdlib/qsort.cpp
    M libc/src/stdlib/qsort_data.h
    A libc/src/stdlib/qsort_pivot.h
    M libc/src/stdlib/qsort_r.cpp
    M libc/src/stdlib/qsort_util.h
    M libc/src/stdlib/quick_sort.h
    M libc/test/src/stdlib/CMakeLists.txt
    M libc/test/src/stdlib/SortingTest.h
    M libc/test/src/stdlib/heap_sort_test.cpp
    M libc/test/src/stdlib/qsort_r_test.cpp
    R libc/test/src/stdlib/qsort_test.cpp
    M libc/test/src/stdlib/quick_sort_test.cpp
    M utils/bazel/llvm-project-overlay/libc/test/src/stdlib/BUILD.bazel

  Log Message:
  -----------
  [libc] Improve qsort (#120450)


  Commit: 6a769638b840385fa691f514e3764cc899f64570
      https://github.com/llvm/llvm-project/commit/6a769638b840385fa691f514e3764cc899f64570
  Author: Craig Topper <craig.topper at sifive.com>
  Date:   2024-12-29 (Sun, 29 Dec 2024)

  Changed paths:
    M llvm/lib/Target/RISCV/RISCVInstrInfoXTHead.td

  Log Message:
  -----------
  [RISCV] Remove XTHeadba pattern that is covered by DAG combine.

Mul by 200 is converted to multiple RISCVISD::SHL_ADD in ExpandMul


  Commit: c557ce9f27feccdbda3588555fcb3303d1f81935
      https://github.com/llvm/llvm-project/commit/c557ce9f27feccdbda3588555fcb3303d1f81935
  Author: Craig Topper <craig.topper at sifive.com>
  Date:   2024-12-29 (Sun, 29 Dec 2024)

  Changed paths:
    M llvm/lib/Target/RISCV/RISCVInstrInfoXTHead.td
    M llvm/test/CodeGen/RISCV/rv64xtheadba.ll

  Log Message:
  -----------
  [RISCV] Use add_like_non_imm12 in XTheadba patterns to match Zba.


  Commit: 82ffdf317ee52e8679d58361dfe39930600839d1
      https://github.com/llvm/llvm-project/commit/82ffdf317ee52e8679d58361dfe39930600839d1
  Author: Craig Topper <craig.topper at sifive.com>
  Date:   2024-12-29 (Sun, 29 Dec 2024)

  Changed paths:
    M llvm/lib/Target/RISCV/RISCVInstrInfoXTHead.td

  Log Message:
  -----------
  [RISCV] Swap rs1 and rs2 names in TH_ADDSL patterns. NFC

The names should match the operand order of the final instruction.
I assume these patterns were somewhat copied from Zba where rs1 is
shifted, but for th.addsl, rs2 is shifted.


  Commit: 0b96f1cf6877c21fee42445fa33f26a52bf3dfe8
      https://github.com/llvm/llvm-project/commit/0b96f1cf6877c21fee42445fa33f26a52bf3dfe8
  Author: Schrodinger ZHU Yifan <yifanzhu at rochester.edu>
  Date:   2024-12-29 (Sun, 29 Dec 2024)

  Changed paths:
    M libc/src/stdlib/heap_sort.h
    M libc/src/stdlib/qsort.cpp
    M libc/src/stdlib/qsort_data.h
    R libc/src/stdlib/qsort_pivot.h
    M libc/src/stdlib/qsort_r.cpp
    M libc/src/stdlib/qsort_util.h
    M libc/src/stdlib/quick_sort.h
    M libc/test/src/stdlib/CMakeLists.txt
    M libc/test/src/stdlib/SortingTest.h
    M libc/test/src/stdlib/heap_sort_test.cpp
    M libc/test/src/stdlib/qsort_r_test.cpp
    A libc/test/src/stdlib/qsort_test.cpp
    M libc/test/src/stdlib/quick_sort_test.cpp
    M utils/bazel/llvm-project-overlay/libc/test/src/stdlib/BUILD.bazel

  Log Message:
  -----------
  Revert "[libc] Improve qsort" (#121303)

Reverts llvm/llvm-project#120450


  Commit: 6230f1ba945a1bc795a34cd438c6df3b987f359f
      https://github.com/llvm/llvm-project/commit/6230f1ba945a1bc795a34cd438c6df3b987f359f
  Author: Amr Hesham <amr96 at programmer.net>
  Date:   2024-12-29 (Sun, 29 Dec 2024)

  Changed paths:
    M clang/docs/LibASTMatchersReference.html
    M clang/docs/ReleaseNotes.rst
    M clang/include/clang/ASTMatchers/ASTMatchers.h
    M clang/lib/ASTMatchers/ASTMatchersInternal.cpp
    M clang/lib/ASTMatchers/Dynamic/Registry.cpp
    M clang/unittests/AST/ASTImporterTest.cpp
    M clang/unittests/ASTMatchers/ASTMatchersNodeTest.cpp

  Log Message:
  -----------
  [Clang][ASTMatcher] Add `dependentNameType` AST matcher (#121263)

Fixes: https://github.com/llvm/llvm-project/issues/121240


  Commit: 9efa7d7af3decfc5223963b19e1b85cacac48084
      https://github.com/llvm/llvm-project/commit/9efa7d7af3decfc5223963b19e1b85cacac48084
  Author: Fangrui Song <i at maskray.me>
  Date:   2024-12-29 (Sun, 29 Dec 2024)

  Changed paths:
    M llvm/include/llvm/Passes/CodeGenPassBuilder.h
    M llvm/include/llvm/Target/CGPassBuilderOption.h
    M llvm/lib/CodeGen/TargetPassConfig.cpp
    M llvm/test/CodeGen/PowerPC/lsr-postinc-pos.ll
    M llvm/test/Transforms/LoopStrengthReduce/AArch64/lsr-reuse.ll

  Log Message:
  -----------
  Remove -print-lsr-output in favor of --stop-after=loop-reduce

Pull Request: https://github.com/llvm/llvm-project/pull/121305


  Commit: 49331ab0b9a41f925153fe03cd7e0d4a33b7c3d4
      https://github.com/llvm/llvm-project/commit/49331ab0b9a41f925153fe03cd7e0d4a33b7c3d4
  Author: Shilei Tian <i at tianshilei.me>
  Date:   2024-12-29 (Sun, 29 Dec 2024)

  Changed paths:
    M clang/test/CodeGenCXX/matrix-vector-bit-int.cpp

  Log Message:
  -----------
  [NFC][Clang] Auto generate check lines for `clang/test/CodeGenCXX/matrix-vector-bit-int.cpp`


  Commit: b53866fec80d8676705409140b8ed2147ec44fad
      https://github.com/llvm/llvm-project/commit/b53866fec80d8676705409140b8ed2147ec44fad
  Author: ZhaoQi <zhaoqi01 at loongson.cn>
  Date:   2024-12-30 (Mon, 30 Dec 2024)

  Changed paths:
    M llvm/lib/Target/LoongArch/LoongArchExpandPseudoInsts.cpp
    M llvm/lib/Target/LoongArch/LoongArchISelLowering.cpp
    M llvm/lib/Target/LoongArch/LoongArchInstrInfo.cpp
    M llvm/lib/Target/LoongArch/LoongArchMCInstLower.cpp
    M llvm/lib/Target/LoongArch/MCTargetDesc/LoongArchBaseInfo.h
    M llvm/test/CodeGen/LoongArch/machinelicm-address-pseudos.ll
    M llvm/test/CodeGen/LoongArch/mir-target-flags.ll
    M llvm/test/CodeGen/LoongArch/tls-models.ll

  Log Message:
  -----------
  [LoongArch] Modify expanding code sequence for PseudoLA_TLS_LE (#119696)

Before this commit, PseudoLA_TLS_LE for normal/medium code model expand
normally to:
```
  lu12i.w $rd, %le_hi20(sym)
  ori $rd, $rd, %le_lo12(sym)
```

This commit changes the result to:
```
  lu12i.w $rd, %le_hi20_r(sym)
  add.w/d $rd, $rd, $tp, %le_add_r(sym)
  addi.w/d $rd, $rd, %le_lo12_r(sym)
```

This aims to be optimized by linker relaxation in the future.

This commit makes no change to PseudoLA_TLS_LE in large code model.


  Commit: 91c5de7fb8f95132043ed08056e58238383cfcb9
      https://github.com/llvm/llvm-project/commit/91c5de7fb8f95132043ed08056e58238383cfcb9
  Author: Haojian Wu <hokein.wu at gmail.com>
  Date:   2024-12-30 (Mon, 30 Dec 2024)

  Changed paths:
    M utils/bazel/llvm-project-overlay/clang-tools-extra/clang-tidy/BUILD.bazel

  Log Message:
  -----------
  [bazel] Fix the broken bazel build for clang-tidy after e45e091b90896023584b303539bd8ae16d8932b3


  Commit: 486ec4bd7466cda444a7da6386a1bbb2db89a33f
      https://github.com/llvm/llvm-project/commit/486ec4bd7466cda444a7da6386a1bbb2db89a33f
  Author: Galen Elias <gelias at gmail.com>
  Date:   2024-12-30 (Mon, 30 Dec 2024)

  Changed paths:
    M clang/docs/ClangFormatStyleOptions.rst
    M clang/docs/ReleaseNotes.rst
    M clang/include/clang/Format/Format.h
    M clang/lib/Format/Format.cpp
    M clang/lib/Format/UnwrappedLineFormatter.cpp
    M clang/unittests/Format/ConfigParseTest.cpp
    M clang/unittests/Format/FormatTest.cpp

  Log Message:
  -----------
  [clang-format] Add `AllowShortNamespacesOnASingleLine` option (#105597)

This fixes #101363 which is a resurrection of a previously opened but
never completed review: https://reviews.llvm.org/D11851

The feature is to allow code like the following not to be broken across
multiple lines:

```
namespace foo { class bar; }
namespace foo { namespace bar { class baz; } }
```

Code like this is commonly used for forward declarations, which are
ideally kept compact. This is also apparently the format that
include-what-you-use will insert for forward declarations.

Also, fix an off-by-one error in `CompactNamespaces` code. For nested
namespaces with 3 or more namespaces, it was incorrectly compacting
lines which were 1 or two spaces over the `ColumnLimit`, leading to
incorrect formatting results.


  Commit: 998bdae7f5ce8c5aa31b376592c9693fc95f02e3
      https://github.com/llvm/llvm-project/commit/998bdae7f5ce8c5aa31b376592c9693fc95f02e3
  Author: Jonas Hahnfeld <jonas.hahnfeld at cern.ch>
  Date:   2024-12-30 (Mon, 30 Dec 2024)

  Changed paths:
    M llvm/utils/mlgo-utils/CMakeLists.txt

  Log Message:
  -----------
  [MLGO] Only configure tests with LLVM_INCLUDE_TESTS (#121293)

This allows downstream customers to remove all test directories and save
quite some space when only building with LLVM_INCLUDE_TESTS=OFF.


  Commit: 39e93eee76ab86c9892540e2d4ad881c41ad54d4
      https://github.com/llvm/llvm-project/commit/39e93eee76ab86c9892540e2d4ad881c41ad54d4
  Author: Luke Hutton <luke.hutton at arm.com>
  Date:   2024-12-30 (Mon, 30 Dec 2024)

  Changed paths:
    M mlir/lib/Dialect/Tosa/Transforms/TosaValidation.cpp

  Log Message:
  -----------
  [TOSA] Handle dialect check more efficiently (#120960)


  Commit: 60d20603e43a53b1d495d199ea020c3a56a6866f
      https://github.com/llvm/llvm-project/commit/60d20603e43a53b1d495d199ea020c3a56a6866f
  Author: Maksim Levental <maksim.levental at gmail.com>
  Date:   2024-12-30 (Mon, 30 Dec 2024)

  Changed paths:
    M mlir/include/mlir/Dialect/XeGPU/IR/XeGPUAttrs.td

  Log Message:
  -----------
  [mlir][xegpu] DCE decl in TD (#121249)


  Commit: 16d19aaedf347f452c22c7254934753b19803d5d
      https://github.com/llvm/llvm-project/commit/16d19aaedf347f452c22c7254934753b19803d5d
  Author: Florian Hahn <flo at fhahn.com>
  Date:   2024-12-30 (Mon, 30 Dec 2024)

  Changed paths:
    M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
    M llvm/lib/Transforms/Vectorize/VPlan.cpp
    M llvm/lib/Transforms/Vectorize/VPlan.h
    M llvm/lib/Transforms/Vectorize/VPlanHCFGBuilder.cpp
    M llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
    M llvm/unittests/Transforms/Vectorize/VPDomTreeTest.cpp
    M llvm/unittests/Transforms/Vectorize/VPlanTest.cpp
    M llvm/unittests/Transforms/Vectorize/VPlanVerifierTest.cpp

  Log Message:
  -----------
  [VPlan] Manage created blocks directly in VPlan. (NFC) (#120918)

This patch changes the way blocks are managed by VPlan. Previously all
blocks reachable from entry would be cleaned up when a VPlan is
destroyed. With this patch, each VPlan keeps track of blocks created for
it in a list and this list is then used to delete all blocks in the list
when the VPlan is destroyed. To do so, block creation is funneled
through helpers in directly in VPlan.

The main advantage of doing so is it simplifies CFG transformations, as
those do not have to take care of deleting any blocks, just adjusting
the CFG. This helps to simplify
https://github.com/llvm/llvm-project/pull/108378 and
https://github.com/llvm/llvm-project/pull/106748.

This also simplifies handling of 'immutable' blocks a VPlan holds
references to, which at the moment only include the scalar header block.

PR: https://github.com/llvm/llvm-project/pull/120918


  Commit: 50a457d9e89142e89a9b66de5c23c515b50d1f96
      https://github.com/llvm/llvm-project/commit/50a457d9e89142e89a9b66de5c23c515b50d1f96
  Author: Michael Maitland <michaeltmaitland at gmail.com>
  Date:   2024-12-30 (Mon, 30 Dec 2024)

  Changed paths:
    M llvm/lib/Target/RISCV/RISCVVLOptimizer.cpp

  Log Message:
  -----------
  [RISCV][VLOPT] Add getOperandInfo for saturating signed multiply (#120351)

These instructions are covered by the existing tests. We don't add them to
isSupported because of VXSAT. This decision was made in #120358.


  Commit: ff936ce62bda2f9148575caae527cc4c6ab282a5
      https://github.com/llvm/llvm-project/commit/ff936ce62bda2f9148575caae527cc4c6ab282a5
  Author: Juan Manuel Martinez Caamaño <jmartinezcaamao at gmail.com>
  Date:   2024-12-30 (Mon, 30 Dec 2024)

  Changed paths:
    M clang/include/clang/Basic/DiagnosticDriverKinds.td
    M clang/test/Driver/hip-device-libs.hip

  Log Message:
  -----------
  [Clang][Driver][AMDGPU] Add missing space in missing device-libs error message (#121335)

Before/After:
> cannot find ROCm device **libraryfor** ABI version 6
> cannot find ROCm device **library for** ABI version 6


  Commit: 42dfaa15a60cea6cd75a2efb419aa2c206d2a127
      https://github.com/llvm/llvm-project/commit/42dfaa15a60cea6cd75a2efb419aa2c206d2a127
  Author: Congcong Cai <congcongcai0907 at 163.com>
  Date:   2024-12-30 (Mon, 30 Dec 2024)

  Changed paths:
    M clang-tools-extra/clang-tidy/ClangTidyCheck.cpp
    M clang-tools-extra/docs/ReleaseNotes.rst
    M clang-tools-extra/test/clang-tidy/checkers/modernize/use-std-format-fmt.cpp
    A clang-tools-extra/test/clang-tidy/infrastructure/deprecation-global-option.cpp

  Log Message:
  -----------
  [clang-tidy] add depercation warning for non-whitelisted global options (#121057)

We plan to depercate `StrictMode` and `IgnoreMacros` global options
after 2 major versions and support local options only for them.
This patch introduces the depercation warning.


  Commit: 79af7bdd4e415aa8a94263a4507b51862fba882f
      https://github.com/llvm/llvm-project/commit/79af7bdd4e415aa8a94263a4507b51862fba882f
  Author: Longsheng Mou <longshengmou at gmail.com>
  Date:   2024-12-30 (Mon, 30 Dec 2024)

  Changed paths:
    M mlir/include/mlir/Dialect/Tosa/IR/TosaOps.td
    M mlir/lib/Dialect/Tosa/IR/TosaCanonicalizations.cpp
    M mlir/test/Dialect/Tosa/constant-op-fold.mlir
    M mlir/test/Dialect/Tosa/invalid.mlir

  Log Message:
  -----------
  [mlir][tosa] Add `AllElementTypesMatch` trait for `tosa.transpose` (#120964)

This PR adds `AllElementTypesMatch` trait for `tosa.transpose` to ensure
output tensor of same type as the input tensor. Fixes #119364.


  Commit: b3a7ab6f1f6954bfb1da0683aa5d03a2837c7065
      https://github.com/llvm/llvm-project/commit/b3a7ab6f1f6954bfb1da0683aa5d03a2837c7065
  Author: Simon Pilgrim <llvm-dev at redking.me.uk>
  Date:   2024-12-30 (Mon, 30 Dec 2024)

  Changed paths:
    M llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
    M llvm/test/CodeGen/PowerPC/scalar_vector_test_5.ll

  Log Message:
  -----------
  [DAG] Don't allow implicit truncation in extract_element(bitcast(scalar_to_vector(X))) -> trunc(srl(X,C)) fold

Limits #117900 to only fold when scalar_to_vector doesn't perform implicit truncation, as the scaled shift calculation doesn't currently account for this - this can be addressed in a future update.

Fixes #121306


  Commit: c7d237085bf9102ecf0c9105d8cc7fd94b752a3a
      https://github.com/llvm/llvm-project/commit/c7d237085bf9102ecf0c9105d8cc7fd94b752a3a
  Author: Oleksandr "Alex" Zinenko <git at ozinenko.com>
  Date:   2024-12-30 (Mon, 30 Dec 2024)

  Changed paths:
    A mlir/utils/pygments/README.md
    A mlir/utils/pygments/mlir_lexer.py

  Log Message:
  -----------
  [mlir] add a simple pygments lexer (#120942)

This enables syntax highlighting of MLIR using the Pygments package in
Python, which is in turn usable from LaTeX via the minted package.


  Commit: a74f825a7acec4962bb4c172da7ed0028f7b4d44
      https://github.com/llvm/llvm-project/commit/a74f825a7acec4962bb4c172da7ed0028f7b4d44
  Author: Min-Yih Hsu <min.hsu at sifive.com>
  Date:   2024-12-30 (Mon, 30 Dec 2024)

  Changed paths:
    M llvm/include/llvm/CodeGen/GlobalISel/MIPatternMatch.h
    M llvm/unittests/CodeGen/GlobalISel/PatternMatchTest.cpp

  Log Message:
  -----------
  [MIPatternMatch] Add m_DeferredReg/Type (#121218)

This pattern does the same thing as m_SpecificReg/Type except the value
it matches against origniated from an earlier pattern in the same
mi_match expression.

This patch also changes how commutative patterns are handled: in order
to support m_DefferedReg/Type, we always have to run the LHS-pattern
before the RHS one.


  Commit: c2be48a6ce87eeaa37e2a0ab531e6e5812dbfa55
      https://github.com/llvm/llvm-project/commit/c2be48a6ce87eeaa37e2a0ab531e6e5812dbfa55
  Author: Florian Hahn <flo at fhahn.com>
  Date:   2024-12-30 (Mon, 30 Dec 2024)

  Changed paths:
    M llvm/test/Transforms/LoopVectorize/iv_outside_user.ll

  Log Message:
  -----------
  [LV] Add additional tests with induction users.

Adds test coverage of post-inc IV users with different opcodes.


  Commit: a77d119f76c45561f86528b27cf391c61d1ad69f
      https://github.com/llvm/llvm-project/commit/a77d119f76c45561f86528b27cf391c61d1ad69f
  Author: Alex MacLean <amaclean at nvidia.com>
  Date:   2024-12-30 (Mon, 30 Dec 2024)

  Changed paths:
    M llvm/lib/Target/NVPTX/NVPTXInstrInfo.td
    M llvm/lib/Target/NVPTX/NVPTXIntrinsics.td

  Log Message:
  -----------
  [NVPTX] Remove redundant types from TableGen patterns (NFC) (#120986)

These types in the output dag of a Pat do not impact the generated
matcher code at all. Removing them makes for more concise and readable
code.


  Commit: af83093933ca73bc82c33130f8bda9f1ae54aae2
      https://github.com/llvm/llvm-project/commit/af83093933ca73bc82c33130f8bda9f1ae54aae2
  Author: Simon Pilgrim <llvm-dev at redking.me.uk>
  Date:   2024-12-30 (Mon, 30 Dec 2024)

  Changed paths:
    M llvm/lib/Transforms/Vectorize/VectorCombine.cpp
    M llvm/test/Transforms/VectorCombine/X86/concat-boolmasks.ll

  Log Message:
  -----------
  [VectorCombine] eraseInstruction - ensure we reattempt to fold other users of an erased instruction's operands

As we're reducing the use count of the operands its more likely that they will now fold, as they were previously being prevented by a m_OneUse check, or the cost of retaining the extra instruction had been too high.

This is necessary for some upcoming patches, although the only change so far is instruction ordering as it allows some SSE folds of 256/512-bit with 128-bit subvectors to occur earlier in foldShuffleToIdentity as the subvector concats are free.

Pulled out of #120984


  Commit: 65a2eb0b1589590ae78cc1e5f05cd004b3b3bec5
      https://github.com/llvm/llvm-project/commit/65a2eb0b1589590ae78cc1e5f05cd004b3b3bec5
  Author: Stefan Schulze Frielinghaus <stefansf at linux.ibm.com>
  Date:   2024-12-30 (Mon, 30 Dec 2024)

  Changed paths:
    M compiler-rt/lib/sanitizer_common/sanitizer_common_interceptors.inc

  Log Message:
  -----------
  [sanitizer] Fix type in some Min() calls (#119248)

This is a follow-up to 6dec33834d1fd89f16e271dde9607c1de9554144 and
#116957 and #119114.


  Commit: accd4a4ad5ec7a8682dc701fd7072610d40cc436
      https://github.com/llvm/llvm-project/commit/accd4a4ad5ec7a8682dc701fd7072610d40cc436
  Author: Jacob Lalonde <jalalonde at fb.com>
  Date:   2024-12-30 (Mon, 30 Dec 2024)

  Changed paths:
    M lldb/source/Plugins/ObjectFile/Minidump/MinidumpFileBuilder.cpp
    M lldb/source/Plugins/ObjectFile/Minidump/MinidumpFileBuilder.h
    M lldb/source/Plugins/Process/minidump/MinidumpParser.cpp
    M lldb/source/Plugins/Process/minidump/MinidumpParser.h
    M lldb/source/Plugins/Process/minidump/ProcessMinidump.cpp
    M lldb/source/Plugins/Process/minidump/ProcessMinidump.h
    M llvm/include/llvm/BinaryFormat/MinidumpConstants.def

  Log Message:
  -----------
  [LLDB][Minidump] Make workaround for the Dynamic loader issue (#120166)

In #119598 my recent TLS feature seems to break crashpad symbols. I have
a few ideas on how this is happening, but for now as a mitigation I'm
checking if the Minidump was LLDB generated, and if so leveraging the
dynamic loader.


  Commit: d9111f19d2ea53d8ce105b3d09425394ccf37969
      https://github.com/llvm/llvm-project/commit/d9111f19d2ea53d8ce105b3d09425394ccf37969
  Author: Amir Bishara <139038766+amirBish at users.noreply.github.com>
  Date:   2024-12-30 (Mon, 30 Dec 2024)

  Changed paths:
    M mlir/include/mlir/Dialect/Bufferization/IR/BufferizableOpInterface.h
    M mlir/include/mlir/Dialect/Bufferization/Transforms/OneShotAnalysis.h
    M mlir/lib/Dialect/Bufferization/IR/BufferizableOpInterface.cpp
    M mlir/lib/Dialect/Bufferization/Transforms/EmptyTensorElimination.cpp
    M mlir/lib/Dialect/Bufferization/Transforms/OneShotAnalysis.cpp
    M mlir/lib/Dialect/Linalg/Transforms/ConvertToDestinationStyle.cpp
    M mlir/lib/Dialect/Linalg/Transforms/EliminateEmptyTensors.cpp
    M mlir/test/Dialect/Bufferization/Transforms/one-shot-bufferize-empty-tensor-elimination.mlir

  Log Message:
  -----------
  [mlir][bufferization]-Refactor findValueInReverseUseDefChain to accept opOperand (#121304)

Edit the `findValueInReverseUseDefChain` method to accept `OpOperand`
instead of the `Value` type, This change will make sure that the
populated `visitedOpOperands` argument is fully accurate and contains
the opOperand we have started the reverse chain from.


  Commit: fb365ac86c8032e65586b0eb055a7f1646304f89
      https://github.com/llvm/llvm-project/commit/fb365ac86c8032e65586b0eb055a7f1646304f89
  Author: Maksim Levental <maksim.levental at gmail.com>
  Date:   2024-12-30 (Mon, 30 Dec 2024)

  Changed paths:
    M mlir/include/mlir/Dialect/Linalg/IR/LinalgStructuredOps.td

  Log Message:
  -----------
  [mlir][linalg] DCE unimplemented extra decl (#121272)


  Commit: 9a88edeb49b3edefbb9933fa5b71d7d421fc99bd
      https://github.com/llvm/llvm-project/commit/9a88edeb49b3edefbb9933fa5b71d7d421fc99bd
  Author: Petr Hosek <phosek at google.com>
  Date:   2024-12-30 (Mon, 30 Dec 2024)

  Changed paths:
    M compiler-rt/lib/tysan/CMakeLists.txt

  Log Message:
  -----------
  [TYSan][CMake] CMake build fixes (#121224)

TYSan CMake build follows patterns used by other sanitizers, but there's
also a number of issues, like referring to undefined variables, which
breaks the build in some cases (such as cross-compiling). This change
addresses the issues.


  Commit: 5373ed0e79c3eaf8a11a0fd747aa80556f203211
      https://github.com/llvm/llvm-project/commit/5373ed0e79c3eaf8a11a0fd747aa80556f203211
  Author: Muhammad Omair Javaid <omair.javaid at linaro.org>
  Date:   2024-12-31 (Tue, 31 Dec 2024)

  Changed paths:
    M compiler-rt/test/fuzzer/noasan-strcmp.test

  Log Message:
  -----------
  [fuzzer][test] Disable noasan-strcmp test for AArch64

This patch disables the `noasan-strcmp.test` for AArch64 Linux as it
consistently fails on the buildbot machine while passing on other
AArch64 Linux systems.

We have seen similar issues on noasan-strncmp.test in past which had
random failures on certain machines/environments.

Following buildbot is failing in both check stage1 and stage2:
https://lab.llvm.org/buildbot/#/builders/121/builds/711


  Commit: b20b6e9ea9e9e1f66feb2663b999f66a8af3a5dc
      https://github.com/llvm/llvm-project/commit/b20b6e9ea9e9e1f66feb2663b999f66a8af3a5dc
  Author: Florian Hahn <flo at fhahn.com>
  Date:   2024-12-30 (Mon, 30 Dec 2024)

  Changed paths:
    M llvm/test/Transforms/LoopVectorize/iv_outside_user.ll

  Log Message:
  -----------
  [LV] Check IR generated for both interleaving and vectorizing in test.

Currently the tests would in some cases would only check the vectorized
IR, but not the interleaved IR, if they are different.


  Commit: 08f77241c0d90737f1818b948978876a0822be32
      https://github.com/llvm/llvm-project/commit/08f77241c0d90737f1818b948978876a0822be32
  Author: Congcong Cai <congcongcai0907 at 163.com>
  Date:   2024-12-31 (Tue, 31 Dec 2024)

  Changed paths:
    M clang-tools-extra/docs/clang-tidy/checks/bugprone/unhandled-self-assignment.rst

  Log Message:
  -----------
  [clang-tidy][doc] mention smart ptr in bugprone-unhandled-self-assignment.WarnOnlyIfThisHasSuspiciousField option (#121316)


  Commit: d5a96eb125eaf661f7f9aad4cd184973fe750528
      https://github.com/llvm/llvm-project/commit/d5a96eb125eaf661f7f9aad4cd184973fe750528
  Author: Simon Pilgrim <llvm-dev at redking.me.uk>
  Date:   2024-12-30 (Mon, 30 Dec 2024)

  Changed paths:
    M llvm/lib/Transforms/Vectorize/VectorCombine.cpp
    M llvm/test/Transforms/VectorCombine/X86/concat-boolmasks.ll

  Log Message:
  -----------
  Revert af83093933ca73bc82c33130f8bda9f1ae54aae2 "[VectorCombine] eraseInstruction - ensure we reattempt to fold other users of an erased instruction's operands"

Reports of hung builds, but I don't have time to investigate at the moment.


  Commit: 332d2647ff128af166f5b0f235c723888c3cd793
      https://github.com/llvm/llvm-project/commit/332d2647ff128af166f5b0f235c723888c3cd793
  Author: Muhammad Omair Javaid <omair.javaid at linaro.org>
  Date:   2024-12-31 (Tue, 31 Dec 2024)

  Changed paths:
    M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
    M llvm/lib/Transforms/Vectorize/VPlanRecipes.cpp
    M llvm/test/Transforms/LoopVectorize/AArch64/sve-interleaved-accesses.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/sve-interleaved-masked-accesses.ll
    M llvm/test/Transforms/LoopVectorize/RISCV/interleaved-accesses.ll
    R llvm/test/Transforms/PhaseOrdering/AArch64/sve-interleave-vectorization.ll

  Log Message:
  -----------
  Revert "[LV]: Teach LV to recursively (de)interleave.  (#89018)"

This reverts commit ccfe0de0e1e37ed369c9bf89dd0188ba0afb2e9a.

This breaks LLVM build on AArch64 SVE Linux buildbots
https://lab.llvm.org/buildbot/#/builders/143/builds/4462
https://lab.llvm.org/buildbot/#/builders/17/builds/4902
https://lab.llvm.org/buildbot/#/builders/4/builds/4399
https://lab.llvm.org/buildbot/#/builders/41/builds/4299


  Commit: 28ae2ff2a44c0a5d09ce5e88d8d8f3309b6f127f
      https://github.com/llvm/llvm-project/commit/28ae2ff2a44c0a5d09ce5e88d8d8f3309b6f127f
  Author: B I Mohammed Abbas <bimohammadabbas at gmail.com>
  Date:   2024-12-30 (Mon, 30 Dec 2024)

  Changed paths:
    M compiler-rt/lib/builtins/CMakeLists.txt
    A compiler-rt/lib/builtins/truncxfhf2.c
    A compiler-rt/test/builtins/Unit/truncxfhf2_test.c

  Log Message:
  -----------
  Add truncxfhf2 with tests to compiler-rt (#120372)

Fixes #105181


  Commit: 70c9152f99818ffd0342260ae12d709268031235
      https://github.com/llvm/llvm-project/commit/70c9152f99818ffd0342260ae12d709268031235
  Author: Roland McGrath <mcgrathr at google.com>
  Date:   2024-12-30 (Mon, 30 Dec 2024)

  Changed paths:
    M libc/test/UnitTest/FPMatcher.h

  Log Message:
  -----------
  [libc] Fix non-calls to cpp::is_complex_type_same (#121257)

Some uses were not actually calls, just references to the name.


  Commit: 0897373f1a329a7a02f8ce3c501a05d2f9c89390
      https://github.com/llvm/llvm-project/commit/0897373f1a329a7a02f8ce3c501a05d2f9c89390
  Author: Zequan Wu <zequanwu at google.com>
  Date:   2024-12-30 (Mon, 30 Dec 2024)

  Changed paths:
    M clang/test/Driver/sanitizer-ld.c

  Log Message:
  -----------
  [Clang][test] Relax checking for libclang_rt.asan.so and libclang_rt.asan_static.a on arm android. (#121361)

This fixes test breakage on clang bots. See comment
https://github.com/llvm/llvm-project/pull/121081#issuecomment-2565933062


  Commit: 9abcca5e25296aea49288ad63901f9e0a332dad4
      https://github.com/llvm/llvm-project/commit/9abcca5e25296aea49288ad63901f9e0a332dad4
  Author: Roland McGrath <mcgrathr at google.com>
  Date:   2024-12-30 (Mon, 30 Dec 2024)

  Changed paths:
    M libc/CMakeLists.txt
    M libc/cmake/modules/LLVMLibCHeaderRules.cmake
    M libc/docs/dev/header_generation.rst
    M libc/docs/dev/source_tree_layout.rst
    M libc/docs/full_cross_build.rst
    R libc/hdrgen/CMakeLists.txt
    R libc/hdrgen/class_implementation/classes/enumeration.py
    R libc/hdrgen/class_implementation/classes/function.py
    R libc/hdrgen/class_implementation/classes/macro.py
    R libc/hdrgen/class_implementation/classes/object.py
    R libc/hdrgen/class_implementation/classes/type.py
    R libc/hdrgen/gpu_headers.py
    R libc/hdrgen/header.py
    R libc/hdrgen/tests/expected_output/test_header.h
    R libc/hdrgen/tests/input/test_small.h.def
    R libc/hdrgen/tests/input/test_small.yaml
    R libc/hdrgen/tests/test_integration.py
    R libc/hdrgen/yaml/arpa/inet.yaml
    R libc/hdrgen/yaml/assert.yaml
    R libc/hdrgen/yaml/complex.yaml
    R libc/hdrgen/yaml/ctype.yaml
    R libc/hdrgen/yaml/dirent.yaml
    R libc/hdrgen/yaml/dlfcn.yaml
    R libc/hdrgen/yaml/elf.yaml
    R libc/hdrgen/yaml/errno.yaml
    R libc/hdrgen/yaml/fcntl.yaml
    R libc/hdrgen/yaml/features.yaml
    R libc/hdrgen/yaml/fenv.yaml
    R libc/hdrgen/yaml/float.yaml
    R libc/hdrgen/yaml/inttypes.yaml
    R libc/hdrgen/yaml/limits.yaml
    R libc/hdrgen/yaml/link.yaml
    R libc/hdrgen/yaml/locale.yaml
    R libc/hdrgen/yaml/malloc.yaml
    R libc/hdrgen/yaml/math.yaml
    R libc/hdrgen/yaml/pthread.yaml
    R libc/hdrgen/yaml/sched.yaml
    R libc/hdrgen/yaml/search.yaml
    R libc/hdrgen/yaml/setjmp.yaml
    R libc/hdrgen/yaml/signal.yaml
    R libc/hdrgen/yaml/spawn.yaml
    R libc/hdrgen/yaml/stdbit.yaml
    R libc/hdrgen/yaml/stdckdint.yaml
    R libc/hdrgen/yaml/stdfix.yaml
    R libc/hdrgen/yaml/stdint.yaml
    R libc/hdrgen/yaml/stdio.yaml
    R libc/hdrgen/yaml/stdlib.yaml
    R libc/hdrgen/yaml/string.yaml
    R libc/hdrgen/yaml/strings.yaml
    R libc/hdrgen/yaml/sys/auxv.yaml
    R libc/hdrgen/yaml/sys/epoll.yaml
    R libc/hdrgen/yaml/sys/ioctl.yaml
    R libc/hdrgen/yaml/sys/mman.yaml
    R libc/hdrgen/yaml/sys/prctl.yaml
    R libc/hdrgen/yaml/sys/random.yaml
    R libc/hdrgen/yaml/sys/resource.yaml
    R libc/hdrgen/yaml/sys/select.yaml
    R libc/hdrgen/yaml/sys/sendfile.yaml
    R libc/hdrgen/yaml/sys/socket.yaml
    R libc/hdrgen/yaml/sys/stat.yaml
    R libc/hdrgen/yaml/sys/statvfs.yaml
    R libc/hdrgen/yaml/sys/syscall.yaml
    R libc/hdrgen/yaml/sys/time.yaml
    R libc/hdrgen/yaml/sys/types.yaml
    R libc/hdrgen/yaml/sys/utsname.yaml
    R libc/hdrgen/yaml/sys/wait.yaml
    R libc/hdrgen/yaml/termios.yaml
    R libc/hdrgen/yaml/threads.yaml
    R libc/hdrgen/yaml/time.yaml
    R libc/hdrgen/yaml/uchar.yaml
    R libc/hdrgen/yaml/unistd.yaml
    R libc/hdrgen/yaml/wchar.yaml
    R libc/hdrgen/yaml_functions_sorted.py
    R libc/hdrgen/yaml_to_classes.py
    M libc/include/CMakeLists.txt
    M libc/src/math/docs/add_math_function.md
    M libc/utils/CMakeLists.txt
    A libc/utils/hdrgen/CMakeLists.txt
    A libc/utils/hdrgen/README.rst
    A libc/utils/hdrgen/class_implementation/classes/enumeration.py
    A libc/utils/hdrgen/class_implementation/classes/function.py
    A libc/utils/hdrgen/class_implementation/classes/macro.py
    A libc/utils/hdrgen/class_implementation/classes/object.py
    A libc/utils/hdrgen/class_implementation/classes/type.py
    A libc/utils/hdrgen/gpu_headers.py
    A libc/utils/hdrgen/header.py
    A libc/utils/hdrgen/tests/expected_output/test_header.h
    A libc/utils/hdrgen/tests/input/test_small.h.def
    A libc/utils/hdrgen/tests/input/test_small.yaml
    A libc/utils/hdrgen/tests/test_integration.py
    A libc/utils/hdrgen/yaml/arpa/inet.yaml
    A libc/utils/hdrgen/yaml/assert.yaml
    A libc/utils/hdrgen/yaml/complex.yaml
    A libc/utils/hdrgen/yaml/ctype.yaml
    A libc/utils/hdrgen/yaml/dirent.yaml
    A libc/utils/hdrgen/yaml/dlfcn.yaml
    A libc/utils/hdrgen/yaml/elf.yaml
    A libc/utils/hdrgen/yaml/errno.yaml
    A libc/utils/hdrgen/yaml/fcntl.yaml
    A libc/utils/hdrgen/yaml/features.yaml
    A libc/utils/hdrgen/yaml/fenv.yaml
    A libc/utils/hdrgen/yaml/float.yaml
    A libc/utils/hdrgen/yaml/inttypes.yaml
    A libc/utils/hdrgen/yaml/limits.yaml
    A libc/utils/hdrgen/yaml/link.yaml
    A libc/utils/hdrgen/yaml/locale.yaml
    A libc/utils/hdrgen/yaml/malloc.yaml
    A libc/utils/hdrgen/yaml/math.yaml
    A libc/utils/hdrgen/yaml/pthread.yaml
    A libc/utils/hdrgen/yaml/sched.yaml
    A libc/utils/hdrgen/yaml/search.yaml
    A libc/utils/hdrgen/yaml/setjmp.yaml
    A libc/utils/hdrgen/yaml/signal.yaml
    A libc/utils/hdrgen/yaml/spawn.yaml
    A libc/utils/hdrgen/yaml/stdbit.yaml
    A libc/utils/hdrgen/yaml/stdckdint.yaml
    A libc/utils/hdrgen/yaml/stdfix.yaml
    A libc/utils/hdrgen/yaml/stdint.yaml
    A libc/utils/hdrgen/yaml/stdio.yaml
    A libc/utils/hdrgen/yaml/stdlib.yaml
    A libc/utils/hdrgen/yaml/string.yaml
    A libc/utils/hdrgen/yaml/strings.yaml
    A libc/utils/hdrgen/yaml/sys/auxv.yaml
    A libc/utils/hdrgen/yaml/sys/epoll.yaml
    A libc/utils/hdrgen/yaml/sys/ioctl.yaml
    A libc/utils/hdrgen/yaml/sys/mman.yaml
    A libc/utils/hdrgen/yaml/sys/prctl.yaml
    A libc/utils/hdrgen/yaml/sys/random.yaml
    A libc/utils/hdrgen/yaml/sys/resource.yaml
    A libc/utils/hdrgen/yaml/sys/select.yaml
    A libc/utils/hdrgen/yaml/sys/sendfile.yaml
    A libc/utils/hdrgen/yaml/sys/socket.yaml
    A libc/utils/hdrgen/yaml/sys/stat.yaml
    A libc/utils/hdrgen/yaml/sys/statvfs.yaml
    A libc/utils/hdrgen/yaml/sys/syscall.yaml
    A libc/utils/hdrgen/yaml/sys/time.yaml
    A libc/utils/hdrgen/yaml/sys/types.yaml
    A libc/utils/hdrgen/yaml/sys/utsname.yaml
    A libc/utils/hdrgen/yaml/sys/wait.yaml
    A libc/utils/hdrgen/yaml/termios.yaml
    A libc/utils/hdrgen/yaml/threads.yaml
    A libc/utils/hdrgen/yaml/time.yaml
    A libc/utils/hdrgen/yaml/uchar.yaml
    A libc/utils/hdrgen/yaml/unistd.yaml
    A libc/utils/hdrgen/yaml/wchar.yaml
    A libc/utils/hdrgen/yaml_functions_sorted.py
    A libc/utils/hdrgen/yaml_to_classes.py

  Log Message:
  -----------
  [libc] Move hdrgen into utils/ subdirectory (#121256)


  Commit: f385542f62fa1f57001c95c476165e1618cb54ba
      https://github.com/llvm/llvm-project/commit/f385542f62fa1f57001c95c476165e1618cb54ba
  Author: c8ef <c8ef at outlook.com>
  Date:   2024-12-31 (Tue, 31 Dec 2024)

  Changed paths:
    M clang/tools/include-mapping/cppreference_parser.py

  Log Message:
  -----------
  [Tooling/Inclusion] Modify the Python script to open the C++ reference with UTF-8 encoding. (#121341)

This will prevent the error on systems with a default encoding other
than utf-8.

```
UnicodeDecodeError: 'gbk' codec can't decode byte 0xb6 in position 12958: illegal multibyte sequence
```


  Commit: 07e13b764d6a5002f5bd9a41bf514106607f13f1
      https://github.com/llvm/llvm-project/commit/07e13b764d6a5002f5bd9a41bf514106607f13f1
  Author: Roland McGrath <mcgrathr at google.com>
  Date:   2024-12-30 (Mon, 30 Dec 2024)

  Changed paths:
    R libc/utils/hdrgen/class_implementation/classes/enumeration.py
    R libc/utils/hdrgen/class_implementation/classes/function.py
    R libc/utils/hdrgen/class_implementation/classes/macro.py
    R libc/utils/hdrgen/class_implementation/classes/object.py
    R libc/utils/hdrgen/class_implementation/classes/type.py
    A libc/utils/hdrgen/enumeration.py
    A libc/utils/hdrgen/function.py
    A libc/utils/hdrgen/macro.py
    A libc/utils/hdrgen/object.py
    A libc/utils/hdrgen/type.py
    M libc/utils/hdrgen/yaml_to_classes.py

  Log Message:
  -----------
  [libc] Remove unnecessary subdirectory layers in utils/hdrgen (#121363)

Two extra layers of subdirectory for a handful of single-symbol
Python source files did not improve anything, and it complicated
integration of the hdrgen Python outside the LLVM CMake build.


  Commit: fe1f64e7e935c9905a115842183ea29dd1312dfe
      https://github.com/llvm/llvm-project/commit/fe1f64e7e935c9905a115842183ea29dd1312dfe
  Author: Nathan Ridge <zeratul976 at hotmail.com>
  Date:   2024-12-30 (Mon, 30 Dec 2024)

  Changed paths:
    M clang-tools-extra/clangd/tool/ClangdMain.cpp

  Log Message:
  -----------
  [clangd] Make EnableFunctionArgSnippets option string-typed (#121178)

Fixes https://github.com/clangd/clangd/issues/2232


  Commit: e50ec3e46bea819a1d7aea1cee2d7e11197bbdd2
      https://github.com/llvm/llvm-project/commit/e50ec3e46bea819a1d7aea1cee2d7e11197bbdd2
  Author: Jan Kokemüller <jan.kokemueller at gmail.com>
  Date:   2024-12-31 (Tue, 31 Dec 2024)

  Changed paths:
    M clang/lib/Sema/SemaOverload.cpp
    A clang/test/Modules/expose-static-inline-from-gmf-1.cppm
    A clang/test/Modules/expose-static-inline-from-gmf-2.cppm
    A clang/test/Modules/expose-static-inline-from-gmf-3.cppm
    A clang/test/Modules/expose-static-inline-from-gmf-4.cppm
    A clang/test/Modules/expose-static-inline-from-gmf-5.cppm

  Log Message:
  -----------
  [Clang][Sema] Expose static inline functions from GMF (#104701)

In C, it is a common pattern to have `static inline` functions in
headers to avoid ODR issues. Currently, when those headers are included
in a GMF, the names are not found when two-phase name lookup and ADL is
involved. Those names are removed by `Sema::AddOverloadCandidate`.

Similarly, in C++, sometimes people use templates with internal linkage
in headers.

As the GMF was designed to be a transitional mechanism for headers,
special case those functions in `Sema::AddOverloadCandidate`.

This fixes <https://github.com/llvm/llvm-project/issues/98021>.


  Commit: f590963db836ccbf7c547a3dea9dc719f24444d1
      https://github.com/llvm/llvm-project/commit/f590963db836ccbf7c547a3dea9dc719f24444d1
  Author: Philipp van Kempen <philipp.van-kempen at tum.de>
  Date:   2024-12-31 (Tue, 31 Dec 2024)

  Changed paths:
    M llvm/lib/Target/RISCV/RISCVTargetTransformInfo.cpp
    M llvm/lib/Target/RISCV/RISCVTargetTransformInfo.h
    A llvm/test/CodeGen/RISCV/xcvmem-heuristic.ll

  Log Message:
  -----------
  [RISCV] Implement RISCVTTIImpl::getPreferredAddressingMode for HasVendorXCVmem (#120533)

For a simple matmult kernel this heuristic reduces the length of the
critical basic block from 15 to 20 instructions, resulting in a 20%
speedup.

**Without heuristic:**

```
       13688: 001b838b      cv.lb   t2, (s7), 0x1
       1368c: 09cdbcab      cv.lb   s9, t3(s11)
       13690: 089db62b      cv.lb   a2, s1(s11)
       13694: 092dbdab      cv.lb   s11, s2(s11)
       13698: 001d028b      cv.lb   t0, (s10), 0x1
       1369c: 00f282b3      add     t0, t0, a5
       136a0: 9072b52b      cv.mac  a0, t0, t2
       136a4: 9192bfab      cv.mac  t6, t0, s9
       136a8: 90c2beab      cv.mac  t4, t0, a2
       136ac: 91b2bf2b      cv.mac  t5, t0, s11
       136b0: fffc0c13      addi    s8, s8, -0x1
       136b4: 018e0633      add     a2, t3, s8
       136b8: 91b2b0ab      cv.mac  ra, t0, s11
       136bc: 000b8d93      mv      s11, s7
       136c0: fc0614e3      bnez    a2, 0x13688 <muriscv_nn_vec_mat_mult_t_s8+0x2f0>

       #instrs = 15
```

**With heuristic:**

```
        7bc0: 001c860b      cv.lb   a2, (s9), 0x1
        7bc4: 001e0d0b      cv.lb   s10, (t3), 0x1
        7bc8: 001e808b      cv.lb   ra, (t4), 0x1
        7bcc: 0015038b      cv.lb   t2, (a0), 0x1
        7bd0: 001c028b      cv.lb   t0, (s8), 0x1
        7bd4: 00f282b3      add     t0, t0, a5
        7bd8: 90c2bfab      cv.mac  t6, t0, a2
        7bdc: 91a2b92b      cv.mac  s2, t0, s10
        7be0: 9012b5ab      cv.mac  a1, t0, ra
        7be4: 9072b9ab      cv.mac  s3, t0, t2
        7be8: 9072b72b      cv.mac  a4, t0, t2
        7bec: fc851ae3      bne     a0, s0, 0x7bc0 <muriscv_nn_vec_mat_mult_t_s8+0x338>

        #instrs = 12

        improvement = 1 - 12/15 = 0.2 = 20%
```


  Commit: 2e3d3903e624edd5bb32cdd9a9654c907d4f1744
      https://github.com/llvm/llvm-project/commit/2e3d3903e624edd5bb32cdd9a9654c907d4f1744
  Author: Karthika Devi C <quic_kartc at quicinc.com>
  Date:   2024-12-31 (Tue, 31 Dec 2024)

  Changed paths:
    M polly/lib/Support/ScopHelper.cpp
    A polly/test/ScopDetect/dom-tree-crash.ll

  Log Message:
  -----------
  [polly] Skip instructions of different function in isHoistableLoad. (#118963)

After patch 5ce47a5, some assert crashes occur in Polly. This issue
arises because an instruction from one function queries the Dominator
Tree (DT) of another function. To fix this, the `isHoistableLoad`
function now skips instructions that belong to different function while
iterating.


  Commit: 6f3d1d3018448fcad1071e2dc308632c19486f65
      https://github.com/llvm/llvm-project/commit/6f3d1d3018448fcad1071e2dc308632c19486f65
  Author: Tristan Ross <tristan.ross at midstall.com>
  Date:   2024-12-31 (Tue, 31 Dec 2024)

  Changed paths:
    M libc/src/compiler/generic/__stack_chk_fail.cpp

  Log Message:
  -----------
  [libc] add __stack_chk_guard to generic (#121121)


  Commit: 5b5ef254a341768283035718262a9cad6cc743e8
      https://github.com/llvm/llvm-project/commit/5b5ef254a341768283035718262a9cad6cc743e8
  Author: Wang Pengcheng <wangpengcheng.pp at bytedance.com>
  Date:   2024-12-31 (Tue, 31 Dec 2024)

  Changed paths:
    M llvm/lib/Target/RISCV/RISCVTargetTransformInfo.cpp

  Log Message:
  -----------
  [RISCV] Fix typo: vmv.x.i -> vmv.v.i


  Commit: e3fe41cdf5583d3a2f7454c76fa5cadccdccaf22
      https://github.com/llvm/llvm-project/commit/e3fe41cdf5583d3a2f7454c76fa5cadccdccaf22
  Author: Wang Pengcheng <wangpengcheng.pp at bytedance.com>
  Date:   2024-12-31 (Tue, 31 Dec 2024)

  Changed paths:
    M llvm/lib/Target/RISCV/RISCVSchedule.td

  Log Message:
  -----------
  [RISCV] Add missing ReadFMA16Addend in UnsupportedSchedZfh


  Commit: f035351af785b7349ab7bcd55149c781ceca24cb
      https://github.com/llvm/llvm-project/commit/f035351af785b7349ab7bcd55149c781ceca24cb
  Author: Julian Nagele <j.nagele at apple.com>
  Date:   2024-12-31 (Tue, 31 Dec 2024)

  Changed paths:
    M llvm/lib/Analysis/ScalarEvolution.cpp
    M llvm/test/Analysis/ScalarEvolution/backedge-taken-count-guard-info-with-multiple-predecessors.ll

  Log Message:
  -----------
  [SCEV] Make sure starting block is marked as visited when recursively collecting loop guards. (#120749)

When `collectFromBlock` is called without a predecessor (in particular
for loops that don't have a unique predecessor outside the loop) we
never start climbing the predecessor chain, and thus don't mark the
starting block as visited.

Fixes https://github.com/llvm/llvm-project/issues/120615.


  Commit: b35d3453ddf14e9564a6b65bd325051f4492311c
      https://github.com/llvm/llvm-project/commit/b35d3453ddf14e9564a6b65bd325051f4492311c
  Author: David Green <david.green at arm.com>
  Date:   2024-12-31 (Tue, 31 Dec 2024)

  Changed paths:
    M llvm/lib/Target/AArch64/AArch64TargetTransformInfo.cpp
    M llvm/lib/Target/AArch64/AArch64TargetTransformInfo.h

  Log Message:
  -----------
  [AArch64] Add an option for sve-prefer-fixed-over-scalable-if-equal. NFC

Add a new option to control preferFixedOverScalableIfEqualCost, useful for
testing.


  Commit: f0d60170cc501447c999569db8fe91aacaad5fe2
      https://github.com/llvm/llvm-project/commit/f0d60170cc501447c999569db8fe91aacaad5fe2
  Author: Timm Baeder <tbaeder at redhat.com>
  Date:   2024-12-31 (Tue, 31 Dec 2024)

  Changed paths:
    M clang/lib/AST/ByteCode/InterpBuiltin.cpp
    M clang/test/AST/ByteCode/builtin-functions.cpp

  Log Message:
  -----------
  [clang][bytecode] Check memove/memcpy for available elements (#121383)

Both destination and source pointer need to have at least as many
elements as requested.


  Commit: 31613de9cf22b2915cb39bfb043d957d513bd1cd
      https://github.com/llvm/llvm-project/commit/31613de9cf22b2915cb39bfb043d957d513bd1cd
  Author: Matthias Springer <me at m-sp.org>
  Date:   2024-12-31 (Tue, 31 Dec 2024)

  Changed paths:
    M mlir/lib/Dialect/ArmSME/Transforms/VectorLegalization.cpp

  Log Message:
  -----------
  [mlir][ArmSME] Migrate `arm-sme-vector-legalization` to dialect conversion (#121101)

Use the regular dialect conversion driver instead of the 1:N dialect
conversion driver. The 1:N dialect conversion driver will be removed
soon.


  Commit: 80ecbaa3c0ae02cf3f7005bfebef28003c6f8d0e
      https://github.com/llvm/llvm-project/commit/80ecbaa3c0ae02cf3f7005bfebef28003c6f8d0e
  Author: Matthias Springer <me at m-sp.org>
  Date:   2024-12-31 (Tue, 31 Dec 2024)

  Changed paths:
    M mlir/include/mlir/Dialect/SCF/Transforms/Patterns.h
    M mlir/include/mlir/Transforms/OneToNTypeConversion.h

  Log Message:
  -----------
  [mlir][Transforms] Mark 1:N conversion driver as deprecated (#121102)

The 1:N conversion driver will be removed soon.

Note for LLVM integration: Please migrate your code base to the regular dialect conversion driver.


  Commit: 1d5154663509b6200038a2f0b0ac958ea556fa9e
      https://github.com/llvm/llvm-project/commit/1d5154663509b6200038a2f0b0ac958ea556fa9e
  Author: Zibi Sarbinowski <zibi at ca.ibm.com>
  Date:   2024-12-31 (Tue, 31 Dec 2024)

  Changed paths:
    M llvm/lib/DebugInfo/GSYM/CallSiteInfo.cpp
    M llvm/lib/ProfileData/MemProfReader.cpp

  Log Message:
  -----------
  [SystemZ][z/OS] Open YAML files for read as text files (#121340)

This patch makes sure YAML files are opened for reading as text file to
trigger auto-conversion from EBCDIC encoding into expected ASCII
encoding on z/OS platform. This is required to fix the following lit
tests:

```
LLVM :: tools/llvm-gsymutil/ARM_AArch64/macho-gsym-callsite-info-exe.yaml
LLVM :: tools/llvm-gsymutil/ARM_AArch64/macho-gsym-callsite-info-obj.test
LLVM :: tools/llvm-gsymutil/ARM_AArch64/macho-gsym-callsite-info-dsym.yaml
LLVM :: Transforms/PGOProfile/memprof_undrift_missing_leaf.ll
```


  Commit: ddef380cd6c30668cc6f6d952b4c045f724f8d57
      https://github.com/llvm/llvm-project/commit/ddef380cd6c30668cc6f6d952b4c045f724f8d57
  Author: Florian Hahn <flo at fhahn.com>
  Date:   2024-12-31 (Tue, 31 Dec 2024)

  Changed paths:
    M llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp

  Log Message:
  -----------
  [VPlan] Move simplifyRecipe(s) definitions up to allow re-use (NFC)

Move definitions to allow easy reuse in
https://github.com/llvm/llvm-project/pull/108378.


  Commit: 6279d2e0f33ed1aa686aace48da6ccf912ab4b28
      https://github.com/llvm/llvm-project/commit/6279d2e0f33ed1aa686aace48da6ccf912ab4b28
  Author: Simon Pilgrim <llvm-dev at redking.me.uk>
  Date:   2024-12-31 (Tue, 31 Dec 2024)

  Changed paths:
    M clang/lib/CodeGen/Targets/AArch64.cpp

  Log Message:
  -----------
  AArch64ABIInfo::passAsAggregateType - don't directly dereference getAs<> result. NFC.

Reported by coverity static analyzer - we know the type is a BuiltinType so use castAs<>


  Commit: b195bb87e1a0120d8bc6f7fd7e6a7424bd664004
      https://github.com/llvm/llvm-project/commit/b195bb87e1a0120d8bc6f7fd7e6a7424bd664004
  Author: Simon Pilgrim <llvm-dev at redking.me.uk>
  Date:   2024-12-31 (Tue, 31 Dec 2024)

  Changed paths:
    M llvm/lib/Transforms/Vectorize/VectorCombine.cpp

  Log Message:
  -----------
  [VectorCombine] scalarizeLoadExtract - consistently use LoadInst and ExtractElementInst specific operand getters. NFC

Noticed while investigating the hung builds reported after af83093933ca73bc82c33130f8bda9f1ae54aae2


  Commit: d1e5e6735a845f1281f11389da1e5a55a0d2e87a
      https://github.com/llvm/llvm-project/commit/d1e5e6735a845f1281f11389da1e5a55a0d2e87a
  Author: Simon Pilgrim <llvm-dev at redking.me.uk>
  Date:   2024-12-31 (Tue, 31 Dec 2024)

  Changed paths:
    M llvm/test/Transforms/PhaseOrdering/AArch64/extra-unroll-simplifications.ll
    M llvm/test/Transforms/PhaseOrdering/AArch64/hoist-runtime-checks.ll
    M llvm/test/Transforms/PhaseOrdering/AArch64/hoisting-sinking-required-for-vectorization.ll
    M llvm/test/Transforms/PhaseOrdering/AArch64/indvars-vectorization.ll
    M llvm/test/Transforms/PhaseOrdering/AArch64/loopflatten.ll
    M llvm/test/Transforms/PhaseOrdering/AArch64/matrix-extract-insert.ll
    M llvm/test/Transforms/PhaseOrdering/AArch64/memcpy-constant-size.ll
    M llvm/test/Transforms/PhaseOrdering/ARM/arm_add_q7.ll
    M llvm/test/Transforms/PhaseOrdering/ARM/arm_fill_q7.ll
    M llvm/test/Transforms/PhaseOrdering/ARM/arm_mean_q7.ll
    M llvm/test/Transforms/PhaseOrdering/ARM/arm_mult_q15.ll
    M llvm/test/Transforms/PhaseOrdering/ARM/mve-floatreduce.ll
    M llvm/test/Transforms/PhaseOrdering/X86/excessive-unrolling.ll
    M llvm/test/Transforms/PhaseOrdering/X86/preserve-access-group.ll
    M llvm/test/Transforms/PhaseOrdering/bitfield-bittests.ll
    M llvm/test/Transforms/PhaseOrdering/dae-dce.ll
    M llvm/test/Transforms/PhaseOrdering/deletion-of-loops-that-became-side-effect-free.ll
    M llvm/test/Transforms/PhaseOrdering/globalaa-retained.ll
    M llvm/test/Transforms/PhaseOrdering/instcombine-sroa-inttoptr.ll
    M llvm/test/Transforms/PhaseOrdering/lifetime-sanitizer.ll
    M llvm/test/Transforms/PhaseOrdering/loop-rotation-vs-common-code-hoisting.ll
    M llvm/test/Transforms/PhaseOrdering/pr32544.ll
    M llvm/test/Transforms/PhaseOrdering/pr45682.ll
    M llvm/test/Transforms/PhaseOrdering/pr62311.ll
    M llvm/test/Transforms/PhaseOrdering/pr95152.ll
    M llvm/test/Transforms/PhaseOrdering/rotate.ll
    M llvm/test/Transforms/PhaseOrdering/simplifycfg-switch-lowering-vs-correlatedpropagation.ll
    M llvm/test/Transforms/PhaseOrdering/switch-sext.ll
    M llvm/test/Transforms/PhaseOrdering/switch_with_geps.ll

  Log Message:
  -----------
  [PhaseOrdering] Update test RUN lines to use `-passes="default<O3>"` to allow evaluation by DOS batch scripts. NFC.

`-passes='default<O3>'` isn't correctly parsed on DOS, so when update_test_checks.py runs a system call on the opt RUN line, it fails to evaluate properly - use `-passes="default<O3>"` instead.


  Commit: 0b08e095cc05288d1209cf051988621f6935c940
      https://github.com/llvm/llvm-project/commit/0b08e095cc05288d1209cf051988621f6935c940
  Author: Ivan Butygin <ivan.butygin at gmail.com>
  Date:   2024-12-31 (Tue, 31 Dec 2024)

  Changed paths:
    M mlir/lib/Conversion/GPUToROCDL/LowerGpuOpsToROCDLOps.cpp

  Log Message:
  -----------
  [mlir][nfc] GpuToROCDL: Remove some dead code (#121395)


  Commit: 018b32ca1fd0214e4a359ed8388a2c859d0fc841
      https://github.com/llvm/llvm-project/commit/018b32ca1fd0214e4a359ed8388a2c859d0fc841
  Author: Ivan Butygin <ivan.butygin at gmail.com>
  Date:   2024-12-31 (Tue, 31 Dec 2024)

  Changed paths:
    M mlir/lib/Conversion/GPUToROCDL/LowerGpuOpsToROCDLOps.cpp

  Log Message:
  -----------
  Revert "[mlir][nfc] GpuToROCDL: Remove some dead code" (#121402)

Reverts llvm/llvm-project#121395


  Commit: ebdb6cf2acd6008e8741764a9078e2403cbc4fb5
      https://github.com/llvm/llvm-project/commit/ebdb6cf2acd6008e8741764a9078e2403cbc4fb5
  Author: Angus Lees <gus at inodes.org>
  Date:   2024-12-31 (Tue, 31 Dec 2024)

  Changed paths:
    M llvm/utils/lit/tests/shtest-format.py

  Log Message:
  -----------
  [lit] Cope with more cat variants (#121376)

BusyBox `cat` has yet another slight variation of error formatting:

```console
$ cat --help 2>&1 | head -1
BusyBox v1.37.0 (2024-09-30 10:39:57 UTC) multi-call binary.

$ cat does-not-exist
cat: can't open 'does-not-exist': No such file or directory
```

Rather than extend the test result regex with a third case,
recognise that we only really care about the filename and errno string.
Weaken the regex to ignore all "noise" around the filename.

Note this also corrects what looks like a bug with the previous regex.
Previously, the `cannot open does-not-exist` alternate did not assert
the following errno message.  This was introduced in
https://reviews.llvm.org/D60553 (apparently) due to differences in the
`cat` command on AIX.  That bug doesn't include the specific
AIX output, so it's unclear if this omission was intended.


  Commit: 40e734e041fa4d5369197e88ce6d354238695e0c
      https://github.com/llvm/llvm-project/commit/40e734e041fa4d5369197e88ce6d354238695e0c
  Author: Ellis Hoag <ellis.sparky.hoag at gmail.com>
  Date:   2024-12-31 (Tue, 31 Dec 2024)

  Changed paths:
    M lld/MachO/Driver.cpp
    M lld/MachO/Options.td
    M lld/test/MachO/bp-section-orderer-errs.s
    M lld/test/MachO/bp-section-orderer.s

  Log Message:
  -----------
  [lld][MachO] Allow separate --irpgo-profile flag (#121354)


  Commit: 8e8d0c149960c7d37e5c4487f434cdd41b1d3866
      https://github.com/llvm/llvm-project/commit/8e8d0c149960c7d37e5c4487f434cdd41b1d3866
  Author: B I Mohammed Abbas <bimohammadabbas at gmail.com>
  Date:   2024-12-31 (Tue, 31 Dec 2024)

  Changed paths:
    M compiler-rt/test/builtins/Unit/truncxfhf2_test.c

  Log Message:
  -----------
  Fix integer suffix in truncxfhf2_test (#121388)

Fixes error introduced by #120372.


  Commit: a5f3058caae37471f7d2b55a4f621b104c52658f
      https://github.com/llvm/llvm-project/commit/a5f3058caae37471f7d2b55a4f621b104c52658f
  Author: Spencer Abson <Spencer.Abson at arm.com>
  Date:   2024-12-31 (Tue, 31 Dec 2024)

  Changed paths:
    M llvm/lib/Target/AArch64/AArch64SMEInstrInfo.td

  Log Message:
  -----------
  [AArch64][NFC] Remove redundant comments in SMEInstrInfo


  Commit: 0e23cb0cc5b087f7039e35595a16ae549a42aada
      https://github.com/llvm/llvm-project/commit/0e23cb0cc5b087f7039e35595a16ae549a42aada
  Author: Ivan Butygin <ivan.butygin at gmail.com>
  Date:   2024-12-31 (Tue, 31 Dec 2024)

  Changed paths:
    M mlir/lib/Conversion/GPUToROCDL/LowerGpuOpsToROCDLOps.cpp

  Log Message:
  -----------
  [mlir][nfc] GpuToROCDL: Remove some dead code (#121403)


  Commit: 2cee9034adb389a20937f0a77d51675ff5a105f8
      https://github.com/llvm/llvm-project/commit/2cee9034adb389a20937f0a77d51675ff5a105f8
  Author: David Green <david.green at arm.com>
  Date:   2024-12-31 (Tue, 31 Dec 2024)

  Changed paths:
    A llvm/test/CodeGen/AArch64/csel-subs-swapped.ll

  Log Message:
  -----------
  [AArch64] Add some tests for csel/subs with swapped conditions. NFC


  Commit: 5056a4b556077da79afe34f54b5447c19a77d97d
      https://github.com/llvm/llvm-project/commit/5056a4b556077da79afe34f54b5447c19a77d97d
  Author: Jason Molenda <jmolenda at apple.com>
  Date:   2024-12-31 (Tue, 31 Dec 2024)

  Changed paths:
    M lldb/packages/Python/lldbsuite/test/tools/lldb-server/gdbremote_testcase.py
    M lldb/test/API/commands/register/register/register_command/TestRegisters.py

  Log Message:
  -----------
  [lldb] Update two API tests to fix x86 Darwin failures (#121380)

The Intel Darwin CI bots had their Xcode updated, which brought in a
debugserver with Brendan Shanks' change from September
7281e0cb3bbcce396aab8b3ea0967d7a17cd287a
https://github.com/llvm/llvm-project/pull/108663 where four general
purpose registers are sent by debugserver when in certain process
states. But most processes (nearly all in the testsuite) do not have
these registers available, so we will get register read failures when
requesting those four. These two tests would flag those as errors. There
would have been an additional problem with the g/G packet (which lldb
doesn't use w/ debugserver, but the testsuite tests) if placeholder
values were not included in the full register context bytes; I fixed
that issue with the SME patch to debugserver recently already.


  Commit: 71d6b0b0c1e5e7f34ccb710470cb90a9a51005c8
      https://github.com/llvm/llvm-project/commit/71d6b0b0c1e5e7f34ccb710470cb90a9a51005c8
  Author: David Green <david.green at arm.com>
  Date:   2024-12-31 (Tue, 31 Dec 2024)

  Changed paths:
    M llvm/lib/Target/AArch64/GISel/AArch64LegalizerInfo.cpp
    A llvm/test/CodeGen/AArch64/GlobalISel/legalize-shuffle-1x.ll
    M llvm/test/CodeGen/AArch64/GlobalISel/legalize-shuffle-vector.mir

  Log Message:
  -----------
  [AArch64][GlobalISel] Lower shuffle vector with scalar destinations. (#121384)

I believe these are usually canonicalized to vector extracts in most
situations, but under -O0 we might trigger failures in the widening code
if we do not handle scalar destinations correctly. The simplest solution
should be to lower the shuffle to an extract.

Fixes #121365.


  Commit: b06a45c66fee13fa9bcab422534cba86541f3dab
      https://github.com/llvm/llvm-project/commit/b06a45c66fee13fa9bcab422534cba86541f3dab
  Author: Florian Hahn <flo at fhahn.com>
  Date:   2024-12-31 (Tue, 31 Dec 2024)

  Changed paths:
    M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
    M llvm/lib/Transforms/Vectorize/VPlan.cpp
    M llvm/lib/Transforms/Vectorize/VPlan.h
    M llvm/lib/Transforms/Vectorize/VPlanRecipes.cpp

  Log Message:
  -----------
  [VPlan] Add all blocks to outer loop if present during ::execute (NFCI).

This ensures that all blocks created during VPlan execution are properly
added to an enclosing loop, if present.

Split off from https://github.com/llvm/llvm-project/pull/108378 and also
needed once more of the skeleton blocks are created directly via VPlan.

This also allows removing the custom logic for early-exit loop
vectorization added as part of
https://github.com/llvm/llvm-project/pull/117008.


  Commit: 7d6ec3b9680a53e58235743080bf223067050fbc
      https://github.com/llvm/llvm-project/commit/7d6ec3b9680a53e58235743080bf223067050fbc
  Author: Florian Hahn <flo at fhahn.com>
  Date:   2024-12-31 (Tue, 31 Dec 2024)

  Changed paths:
    M llvm/test/Transforms/LoopVectorize/vector-loop-backedge-elimination.ll

  Log Message:
  -----------
  [LV] Add more tests for vector loop removal.

Add missing test coverage of loops where the vector loop region can be
removed that include replicate recipes as well as nested loops.

Extra test coverage for https://github.com/llvm/llvm-project/pull/108378.


  Commit: 3026ecaff54b220409ecc254b4f6209801a251b9
      https://github.com/llvm/llvm-project/commit/3026ecaff54b220409ecc254b4f6209801a251b9
  Author: Florian Hahn <flo at fhahn.com>
  Date:   2024-12-31 (Tue, 31 Dec 2024)

  Changed paths:
    M llvm/test/Transforms/LoopVectorize/vector-loop-backedge-elimination.ll

  Log Message:
  -----------
  [LV] Also verify loops in vector loop removal tests.

Also verify loop info in tests added in 7d6ec3b9680.


  Commit: 1d0f40ba05b76ff028c69054899f88f1c7452b4b
      https://github.com/llvm/llvm-project/commit/1d0f40ba05b76ff028c69054899f88f1c7452b4b
  Author: Tristan Ross <tristan.ross at midstall.com>
  Date:   2024-12-31 (Tue, 31 Dec 2024)

  Changed paths:
    M libc/src/compiler/generic/__stack_chk_fail.cpp

  Log Message:
  -----------
  [libc] fix generic __stack_check_fail for fuchsia (#121401)


  Commit: 2feffecb8853b1cdd38a0653df63d70412e65c12
      https://github.com/llvm/llvm-project/commit/2feffecb8853b1cdd38a0653df63d70412e65c12
  Author: Stephen Senran Zhang <zsrkmyn at gmail.com>
  Date:   2024-12-31 (Tue, 31 Dec 2024)

  Changed paths:
    M clang/test/CodeGen/AArch64/fpm-helpers.c
    M llvm/lib/IR/ConstantRange.cpp
    A llvm/test/Transforms/SCCP/range-and-or-bit-masked.ll
    M llvm/unittests/IR/ConstantRangeTest.cpp

  Log Message:
  -----------
  [ConstantRange] Estimate tighter lower (upper) bounds for masked binary and (or) (#120352)

Fixes #118108.

Co-author: Yingwei Zheng (@dtcxzyw)


  Commit: f1fa292cd61a70f41aa8dd8c33c4ac8d036dcfd0
      https://github.com/llvm/llvm-project/commit/f1fa292cd61a70f41aa8dd8c33c4ac8d036dcfd0
  Author: Vikram Hegde <115221833+vikramRH at users.noreply.github.com>
  Date:   2025-01-01 (Wed, 01 Jan 2025)

  Changed paths:
    M llvm/test/CodeGen/AMDGPU/mad_64_32.ll

  Log Message:
  -----------
  [AMDGPU] Pre-commit tests for "lshr + mad" fold (#119509)


  Commit: 283806695a6deeacd5d3eaf88becec2b627ab56f
      https://github.com/llvm/llvm-project/commit/283806695a6deeacd5d3eaf88becec2b627ab56f
  Author: Vikash Gupta <Vikash.Gupta at amd.com>
  Date:   2025-01-01 (Wed, 01 Jan 2025)

  Changed paths:
    M llvm/lib/CodeGen/GlobalISel/CombinerHelper.cpp
    M llvm/test/CodeGen/AArch64/GlobalISel/combine-select.mir

  Log Message:
  -----------
  [GlobalIsel] Add combine for select with constants (#121088)

The SelectionDAG Isel supports the both version of combines mentioned
below :
```
select Cond, Pow2, 0 --> (zext Cond)  << log2(Pow2) 
select Cond, 0, Pow2 --> (zext !Cond) << log2(Pow2)
```
The GlobalIsel for now only supports the first one defined in it's
generic combinerHelper.cpp. This patch adds the missing second one.


  Commit: eafbab6facb0627e11757efb1eae98f806387b55
      https://github.com/llvm/llvm-project/commit/eafbab6facb0627e11757efb1eae98f806387b55
  Author: Yingwei Zheng <dtcxzyw2333 at gmail.com>
  Date:   2025-01-01 (Wed, 01 Jan 2025)

  Changed paths:
    M llvm/lib/Transforms/Utils/EntryExitInstrumenter.cpp
    A llvm/test/Transforms/EntryExitInstrumenter/mcount-with-frompc.ll

  Log Message:
  -----------
  [EntryExitInstrumenter][AArch64][RISCV][LoongArch] Pass `__builtin_return_address(0)` into `_mcount` (#121107)

On RISC-V, AArch64, and LoongArch, the `_mcount` function takes
`__builtin_return_address(0)` as an argument since
`__builtin_return_address(1)` is not available on these platforms. This
patch fixes the argument passing to match the behavior of glibc/gcc.

Closes https://github.com/llvm/llvm-project/issues/121103.


  Commit: a29bd8cbab7390e5a9e3182e6e87908f4e7daced
      https://github.com/llvm/llvm-project/commit/a29bd8cbab7390e5a9e3182e6e87908f4e7daced
  Author: Akshat Oke <Akshat.Oke at amd.com>
  Date:   2025-01-01 (Wed, 01 Jan 2025)

  Changed paths:
    M llvm/include/llvm/Passes/MachinePassRegistry.def
    M llvm/lib/Passes/PassBuilder.cpp

  Log Message:
  -----------
  [CodeGen][NewPM] Record parameterized machine pass names to PIC (#120554)

Required for `{start|stop}-{after-before}` cli


  Commit: 1623c435948ae305220e638066e968cb3296e567
      https://github.com/llvm/llvm-project/commit/1623c435948ae305220e638066e968cb3296e567
  Author: TilakChad <49703944+TilakChad at users.noreply.github.com>
  Date:   2025-01-01 (Wed, 01 Jan 2025)

  Changed paths:
    M clang/docs/ReleaseNotes.rst
    M clang/lib/AST/ExprCXX.cpp
    M clang/test/SemaCXX/cxx2c-pack-indexing.cpp

  Log Message:
  -----------
  [Clang] Resolved type of expression indexing into pack of values of a non-dependent type (#121405)


  Commit: ca2ab74838c41a4146835b5bcc91ce4732273f7d
      https://github.com/llvm/llvm-project/commit/ca2ab74838c41a4146835b5bcc91ce4732273f7d
  Author: xtex <xtex at envs.net>
  Date:   2025-01-01 (Wed, 01 Jan 2025)

  Changed paths:
    M clang/include/clang/Frontend/Utils.h
    M clang/lib/Frontend/DependencyFile.cpp
    M clang/test/Frontend/dependency-gen-symlink.c
    M clang/test/Frontend/dependency-gen-windows-duplicates.c
    M clang/test/VFS/external-names.c

  Log Message:
  -----------
  [clang] Canonicalize absolute paths in dependency file (#117458)

This fixes #117438.

If paths in dependency file are not absoulte, make (or ninja) will
canonicalize them.
While their canonicalization does not involves symbolic links expansion
(for IO performance concerns), leaving a non-absolute path in dependency
file may lead to unexpected canonicalization.
For example, '/a/../b', where '/a' is a symlink to '/c/d', it should be
'/c/b' but make (and ninja) canonicalizes it as '/b', and fails for file
not found.


  Commit: 50054ba2f446c29b46f0fe55e7b8c48b3818a23f
      https://github.com/llvm/llvm-project/commit/50054ba2f446c29b46f0fe55e7b8c48b3818a23f
  Author: Akshat Oke <Akshat.Oke at amd.com>
  Date:   2025-01-01 (Wed, 01 Jan 2025)

  Changed paths:
    M llvm/include/llvm/CodeGen/LiveRegMatrix.h
    M llvm/lib/CodeGen/LiveRegMatrix.cpp

  Log Message:
  -----------
  [CodeGen] LiveRegMatrix: Use allocator through a unique_ptr (#120556)

`LIU::Matrix` holds on to a pointer to the allocator in LiveRegMatrix and is left hanging when the allocator moves with the LiveRegMatrix.

This extends the lifetime of the allocator so that it does not get destroyed when moving a LiveRegMatrix object.


  Commit: ed572f2003275da8e06a634b4d6658b7921e8334
      https://github.com/llvm/llvm-project/commit/ed572f2003275da8e06a634b4d6658b7921e8334
  Author: Vitaly Buka <vitalybuka at google.com>
  Date:   2025-01-01 (Wed, 01 Jan 2025)

  Changed paths:
    M libcxx/include/__algorithm/mismatch.h
    M libcxx/include/__algorithm/simd_utils.h

  Log Message:
  -----------
  Reapply "[libc++] Explicitly convert to masks in SIMD code (#107983)" (#121352)

This reverts commit 0ea40bf02138c02e7680ce6fa8169502f2a8bd42.

Passes with https://github.com/llvm/llvm-project/issues/121365 fix: 
https://lab.llvm.org/buildbot/#/builders/55/builds/4930


  Commit: fac6be61c6ccbae15647f4f2485415f630341e2a
      https://github.com/llvm/llvm-project/commit/fac6be61c6ccbae15647f4f2485415f630341e2a
  Author: Michał Górny <mgorny at gentoo.org>
  Date:   2025-01-01 (Wed, 01 Jan 2025)

  Changed paths:
    M mlir/CMakeLists.txt

  Log Message:
  -----------
  [mlir] Prepend include directories before LLVM includes (#121223)

Prepend mlir's include directories before system LLVM include
directories. This is particularly important for standalone builds, where
system include directory may contain the previous version of mlir, and
therefore various mlir targets (particularly tablegen) end up using the
headers from the previous version over the fresh ones. The new logic is
copied from clang.


  Commit: 6d3d952f11d350f6ad2cd6199681af158f4bd397
      https://github.com/llvm/llvm-project/commit/6d3d952f11d350f6ad2cd6199681af158f4bd397
  Author: Tomer Shafir <86107951+tomershafir at users.noreply.github.com>
  Date:   2025-01-01 (Wed, 01 Jan 2025)

  Changed paths:
    R llvm/test/tools/llvm-xray/X86/account-empty-stack-error.yaml
    A llvm/test/tools/llvm-xray/X86/account-exit-mismatch-empty-stack-error.yaml
    A llvm/test/tools/llvm-xray/X86/account-exit-mismatch-non-empty-stack-error.yaml
    M llvm/test/tools/llvm-xray/X86/account-keep-going.yaml

  Log Message:
  -----------
  [XRay][account] add account test for nonempty exit mismatch (#93564)

- Add `llvm-xray account` regression test for an exit mismatch with a
non empty stack (its a different code path than empty stack).
- Align empty stack test case name.


  Commit: 2a90efd854f5bcce65a7b0fe5a75860160dc103b
      https://github.com/llvm/llvm-project/commit/2a90efd854f5bcce65a7b0fe5a75860160dc103b
  Author: Stephen Senran Zhang <zsrkmyn at gmail.com>
  Date:   2025-01-01 (Wed, 01 Jan 2025)

  Changed paths:
    M llvm/lib/Transforms/Scalar/ConstraintElimination.cpp

  Log Message:
  -----------
  [NFC][ConstraintElimination] Optimize code styles (#121422)

This patch does following things,

- prefer early exits;
- add missing std::move;
- avoid duplicate map lookups;
- prefer emplace_back to avoid unnecessary copies.


  Commit: 1135d36f869541f14934471e255c6e2631d6eebe
      https://github.com/llvm/llvm-project/commit/1135d36f869541f14934471e255c6e2631d6eebe
  Author: Mark Danial <118996571+madanial0 at users.noreply.github.com>
  Date:   2025-01-01 (Wed, 01 Jan 2025)

  Changed paths:
    M llvm/utils/lit/tests/shtest-format.py

  Log Message:
  -----------
  [AIX] [lit] Fix shtest-format.py to account for behaviour on AIX (#121426)

The changes from https://github.com/llvm/llvm-project/pull/121376 has
broken the ppc64 aix bot:
https://lab.llvm.org/buildbot/#/builders/64/builds/1835. Adjusted the
testcase to account for `cat` behaviour on AIX prior to the changes


  Commit: 8435225374e1dc17fddf618eec3cf8c396ac669f
      https://github.com/llvm/llvm-project/commit/8435225374e1dc17fddf618eec3cf8c396ac669f
  Author: Jacek Caban <jacek at codeweavers.com>
  Date:   2025-01-01 (Wed, 01 Jan 2025)

  Changed paths:
    M lld/COFF/Driver.cpp
    M lld/COFF/Driver.h
    M lld/COFF/InputFiles.cpp
    M lld/COFF/SymbolTable.cpp
    M lld/COFF/SymbolTable.h

  Log Message:
  -----------
  [LLD][COFF] Move addFile implementation to LinkerDriver (NFC) (#121342)

The addFile implementation does not rely on the SymbolTable object. With
#119294, the symbol table for input files is determined during the
construction of the objects representing them. To clarify that
relationship, this change moves the implementation from the SymbolTable
class to the LinkerDriver class.


  Commit: 684052173971868aab0e6b62d7770a6299e84141
      https://github.com/llvm/llvm-project/commit/684052173971868aab0e6b62d7770a6299e84141
  Author: Philip Reames <preames at rivosinc.com>
  Date:   2025-01-01 (Wed, 01 Jan 2025)

  Changed paths:
    M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-shuffle-exact-vlen.ll

  Log Message:
  -----------
  Revert "[RISCV][CG]Use processShuffleMasks for per-register shuffles"

This reverts commit b8952d4b1b0c73bf39d6440ad3166a088ced563f.

spec x264 fails to build in all VLS configurations, with the assertion
failure: clang: ../llvm-project/llvm/lib/Target/RISCV/RISCVISelLowering.cpp:5246: llvm::SDValue lowerShuffleViaVRegSplitting(llvm::ShuffleVectorSDNode*, llvm::SelectionDAG&, const llvm::RISCVSubtarget&): Assertion `RegCnt == NumOfDestRegs && "Whole vector must be processed"' failed.

I can reduce a failing piece of IR, but the failure appears pretty
broad, so I suspect any reasonable vls build will hit it.


  Commit: 0cbe28df7100bf4384f84542d602f90cb783a2d4
      https://github.com/llvm/llvm-project/commit/0cbe28df7100bf4384f84542d602f90cb783a2d4
  Author: Nico Weber <thakis at chromium.org>
  Date:   2025-01-01 (Wed, 01 Jan 2025)

  Changed paths:
    M llvm/utils/gn/secondary/compiler-rt/lib/builtins/BUILD.gn

  Log Message:
  -----------
  [gn] port 28ae2ff2a44c


  Commit: bd154e823eba4d62366dfa3d56ae0b99ab171b96
      https://github.com/llvm/llvm-project/commit/bd154e823eba4d62366dfa3d56ae0b99ab171b96
  Author: Peng Huang <shawn.p.huang at gmail.com>
  Date:   2025-01-01 (Wed, 01 Jan 2025)

  Changed paths:
    M clang/lib/Driver/ToolChains/OHOS.cpp

  Log Message:
  -----------
  Reapply "[Driver][OHOS] Fix lld link issue for OHOS (#118192)" (#120159)

The problem in original change is because OHOS::getCompilerRT()
pickes a wrong builtin runtime
`./lib/clang/20/lib/linux/libclang_rt.builtins-x86_64.a`,
if `./lib/clang/20/lib/linux/libclang_rt.builtins-x86_64.a` exist on the
test filesystem. It shouldn't happen with a clean build.


  Commit: 418dedc2341e807fe7501ad95526b0d7c2f167c4
      https://github.com/llvm/llvm-project/commit/418dedc2341e807fe7501ad95526b0d7c2f167c4
  Author: Florian Hahn <flo at fhahn.com>
  Date:   2025-01-01 (Wed, 01 Jan 2025)

  Changed paths:
    M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp

  Log Message:
  -----------
  [VPlan] Remove redundant setting of insert point in ::executePlan (NFC).

The entry block is a VPIRBasicBkock wrapping the original loop's
preheader, so the insert point doesn't need to be set.


  Commit: c7ebe4fd0afadcddd53ec89e6030f9a8f5370e1f
      https://github.com/llvm/llvm-project/commit/c7ebe4fd0afadcddd53ec89e6030f9a8f5370e1f
  Author: Florian Hahn <flo at fhahn.com>
  Date:   2025-01-01 (Wed, 01 Jan 2025)

  Changed paths:
    M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
    M llvm/lib/Transforms/Vectorize/VPlan.cpp

  Log Message:
  -----------
  [VPlan] Replace VPBBs with VPIRBBs during skeleton creation (NFC).

Move replacement of VPBBs for vector preheader, middle block and scalar
preheader from VPlan::execute to skeleton creation, which actually
creates the IR basic blocks.

For now, the vector preheader can only be replaced after
prepareToExecute as it may create new instructions in the vector
preheader.


  Commit: cd239493c1023cbccfe6b1e9be32e68592a7f304
      https://github.com/llvm/llvm-project/commit/cd239493c1023cbccfe6b1e9be32e68592a7f304
  Author: Owen Pan <owenpiano at gmail.com>
  Date:   2025-01-01 (Wed, 01 Jan 2025)

  Changed paths:
    M clang/docs/ClangFormat.rst
    M clang/docs/ReleaseNotes.rst
    M clang/lib/Format/MatchFilePath.cpp
    M clang/unittests/Format/MatchFilePathTest.cpp

  Log Message:
  -----------
  [clang-format] Support globstar in .clang-format-ignore (#121404)

Closes #110160.
Closes #114969.


  Commit: 62cd050b635cbb201dd08188696448cf5ab23260
      https://github.com/llvm/llvm-project/commit/62cd050b635cbb201dd08188696448cf5ab23260
  Author: Roland McGrath <mcgrathr at google.com>
  Date:   2025-01-01 (Wed, 01 Jan 2025)

  Changed paths:
    M libc/docs/dev/header_generation.rst
    M libc/include/CMakeLists.txt
    A libc/include/arpa/inet.yaml
    A libc/include/assert.yaml
    A libc/include/complex.yaml
    A libc/include/ctype.yaml
    A libc/include/dirent.yaml
    A libc/include/dlfcn.yaml
    A libc/include/elf.yaml
    A libc/include/errno.yaml
    A libc/include/fcntl.yaml
    A libc/include/features.yaml
    A libc/include/fenv.yaml
    A libc/include/float.yaml
    A libc/include/inttypes.yaml
    A libc/include/limits.yaml
    A libc/include/link.yaml
    A libc/include/locale.yaml
    A libc/include/malloc.yaml
    A libc/include/math.yaml
    A libc/include/pthread.yaml
    A libc/include/sched.yaml
    A libc/include/search.yaml
    A libc/include/setjmp.yaml
    A libc/include/signal.yaml
    A libc/include/spawn.yaml
    A libc/include/stdbit.yaml
    A libc/include/stdckdint.yaml
    A libc/include/stdfix.yaml
    A libc/include/stdint.yaml
    A libc/include/stdio.yaml
    A libc/include/stdlib.yaml
    A libc/include/string.yaml
    A libc/include/strings.yaml
    A libc/include/sys/auxv.yaml
    A libc/include/sys/epoll.yaml
    A libc/include/sys/ioctl.yaml
    A libc/include/sys/mman.yaml
    A libc/include/sys/prctl.yaml
    A libc/include/sys/random.yaml
    A libc/include/sys/resource.yaml
    A libc/include/sys/select.yaml
    A libc/include/sys/sendfile.yaml
    A libc/include/sys/socket.yaml
    A libc/include/sys/stat.yaml
    A libc/include/sys/statvfs.yaml
    A libc/include/sys/syscall.yaml
    A libc/include/sys/time.yaml
    A libc/include/sys/types.yaml
    A libc/include/sys/utsname.yaml
    A libc/include/sys/wait.yaml
    A libc/include/termios.yaml
    A libc/include/threads.yaml
    A libc/include/time.yaml
    A libc/include/uchar.yaml
    A libc/include/unistd.yaml
    A libc/include/wchar.yaml
    M libc/src/math/docs/add_math_function.md
    R libc/utils/hdrgen/yaml/arpa/inet.yaml
    R libc/utils/hdrgen/yaml/assert.yaml
    R libc/utils/hdrgen/yaml/complex.yaml
    R libc/utils/hdrgen/yaml/ctype.yaml
    R libc/utils/hdrgen/yaml/dirent.yaml
    R libc/utils/hdrgen/yaml/dlfcn.yaml
    R libc/utils/hdrgen/yaml/elf.yaml
    R libc/utils/hdrgen/yaml/errno.yaml
    R libc/utils/hdrgen/yaml/fcntl.yaml
    R libc/utils/hdrgen/yaml/features.yaml
    R libc/utils/hdrgen/yaml/fenv.yaml
    R libc/utils/hdrgen/yaml/float.yaml
    R libc/utils/hdrgen/yaml/inttypes.yaml
    R libc/utils/hdrgen/yaml/limits.yaml
    R libc/utils/hdrgen/yaml/link.yaml
    R libc/utils/hdrgen/yaml/locale.yaml
    R libc/utils/hdrgen/yaml/malloc.yaml
    R libc/utils/hdrgen/yaml/math.yaml
    R libc/utils/hdrgen/yaml/pthread.yaml
    R libc/utils/hdrgen/yaml/sched.yaml
    R libc/utils/hdrgen/yaml/search.yaml
    R libc/utils/hdrgen/yaml/setjmp.yaml
    R libc/utils/hdrgen/yaml/signal.yaml
    R libc/utils/hdrgen/yaml/spawn.yaml
    R libc/utils/hdrgen/yaml/stdbit.yaml
    R libc/utils/hdrgen/yaml/stdckdint.yaml
    R libc/utils/hdrgen/yaml/stdfix.yaml
    R libc/utils/hdrgen/yaml/stdint.yaml
    R libc/utils/hdrgen/yaml/stdio.yaml
    R libc/utils/hdrgen/yaml/stdlib.yaml
    R libc/utils/hdrgen/yaml/string.yaml
    R libc/utils/hdrgen/yaml/strings.yaml
    R libc/utils/hdrgen/yaml/sys/auxv.yaml
    R libc/utils/hdrgen/yaml/sys/epoll.yaml
    R libc/utils/hdrgen/yaml/sys/ioctl.yaml
    R libc/utils/hdrgen/yaml/sys/mman.yaml
    R libc/utils/hdrgen/yaml/sys/prctl.yaml
    R libc/utils/hdrgen/yaml/sys/random.yaml
    R libc/utils/hdrgen/yaml/sys/resource.yaml
    R libc/utils/hdrgen/yaml/sys/select.yaml
    R libc/utils/hdrgen/yaml/sys/sendfile.yaml
    R libc/utils/hdrgen/yaml/sys/socket.yaml
    R libc/utils/hdrgen/yaml/sys/stat.yaml
    R libc/utils/hdrgen/yaml/sys/statvfs.yaml
    R libc/utils/hdrgen/yaml/sys/syscall.yaml
    R libc/utils/hdrgen/yaml/sys/time.yaml
    R libc/utils/hdrgen/yaml/sys/types.yaml
    R libc/utils/hdrgen/yaml/sys/utsname.yaml
    R libc/utils/hdrgen/yaml/sys/wait.yaml
    R libc/utils/hdrgen/yaml/termios.yaml
    R libc/utils/hdrgen/yaml/threads.yaml
    R libc/utils/hdrgen/yaml/time.yaml
    R libc/utils/hdrgen/yaml/uchar.yaml
    R libc/utils/hdrgen/yaml/unistd.yaml
    R libc/utils/hdrgen/yaml/wchar.yaml

  Log Message:
  -----------
  [libc] Move hdrgen yaml files into include/ (#121443)

The .yaml files should live next to the corresponding .h.def
files in libc/include/, rather than next to the implementation of
the tool in libc/utils/hdrgen/.  As with the .h.def files, there
is no need for a yaml/ subdirectory under include/.  This simpler
layout is more natural for maintenance and also simplifies build
integration outside the LLVM CMake build.


  Commit: 508929d42a8735b05815b5332a4733ed8d0bf1eb
      https://github.com/llvm/llvm-project/commit/508929d42a8735b05815b5332a4733ed8d0bf1eb
  Author: Roland McGrath <mcgrathr at google.com>
  Date:   2025-01-01 (Wed, 01 Jan 2025)

  Changed paths:
    M libc/utils/hdrgen/gpu_headers.py

  Log Message:
  -----------
  [libc] Make GpuHeaderFile a subclass (#121445)

Replace copy&paste from HeaderFile to GpuHeaderFile with
subclassing.  Only the __str__ method differs.


  Commit: 1a0d0ae234544dc4978f1e12730408cb83f6b923
      https://github.com/llvm/llvm-project/commit/1a0d0ae234544dc4978f1e12730408cb83f6b923
  Author: Owen Pan <owenpiano at gmail.com>
  Date:   2025-01-01 (Wed, 01 Jan 2025)

  Changed paths:
    M clang/docs/ClangFormatStyleOptions.rst
    M clang/docs/ReleaseNotes.rst
    M clang/include/clang/Format/Format.h
    M clang/lib/Format/Format.cpp
    M clang/lib/Format/FormatToken.h
    M clang/lib/Format/FormatTokenLexer.cpp
    M clang/lib/Format/FormatTokenLexer.h
    M clang/lib/Format/TokenAnnotator.cpp
    M clang/unittests/Format/TokenAnnotatorTest.cpp

  Log Message:
  -----------
  [clang-format] Add `VariableTemplates` option (#121318)

Closes #120148.


  Commit: 23ec9ee17eacb18eeb01d3c5a0d424852c7c1909
      https://github.com/llvm/llvm-project/commit/23ec9ee17eacb18eeb01d3c5a0d424852c7c1909
  Author: Phoebe Wang <phoebe.wang at intel.com>
  Date:   2025-01-02 (Thu, 02 Jan 2025)

  Changed paths:
    M llvm/lib/Target/X86/X86ISelLowering.cpp
    M llvm/lib/Target/X86/X86InstrAVX10.td
    M llvm/test/CodeGen/X86/fminimum-fmaximum.ll
    M llvm/test/TableGen/x86-fold-tables.inc

  Log Message:
  -----------
  [X86][AVX10.2] Lower fmininum/fmaximum to VMINMAX* (#121373)


  Commit: 096551537b2a747a3387726ca618ceeb3950e9bc
      https://github.com/llvm/llvm-project/commit/096551537b2a747a3387726ca618ceeb3950e9bc
  Author: Lang Hames <lhames at gmail.com>
  Date:   2025-01-02 (Thu, 02 Jan 2025)

  Changed paths:
    M llvm/include/llvm/ExecutionEngine/Orc/ELFNixPlatform.h
    M llvm/test/ExecutionEngine/JITLink/x86-64/LocalDependencyPropagation.s
    M llvm/tools/llvm-jitlink/llvm-jitlink-coff.cpp
    M llvm/tools/llvm-jitlink/llvm-jitlink-elf.cpp
    M llvm/tools/llvm-jitlink/llvm-jitlink-macho.cpp
    M llvm/tools/llvm-jitlink/llvm-jitlink.cpp

  Log Message:
  -----------
  "Reapply "[llvm-jitlink] Use concurrent linking by default." with more fixes.

This reapplies edca1d9bad2 which was reverted in 7ec139ad4bc due to bot
failures.

LocalDependencyPropagation.s is updated to use -num-threads=0 in order to
avoid interleaving debugging output.

ELFNixPlatform.h is updated to protect the deferred runtime function calls
map during bootstrap.


  Commit: bc87a537d9b8117cfd63d5d9b798d6017a99097f
      https://github.com/llvm/llvm-project/commit/bc87a537d9b8117cfd63d5d9b798d6017a99097f
  Author: Nathan Ridge <zeratul976 at hotmail.com>
  Date:   2025-01-02 (Thu, 02 Jan 2025)

  Changed paths:
    M clang-tools-extra/clangd/unittests/Matchers.h
    M clang-tools-extra/clangd/unittests/TypeHierarchyTests.cpp

  Log Message:
  -----------
  [clangd] Remove clangd's HasValue GMock matcher (#121309)

An equivalent matcher under the name Optional has since been added
upstream to GMock.

Fixes https://github.com/llvm/llvm-project/issues/121308


  Commit: 0c68155002edb30d6b0df3f17fe1f44a01afacd9
      https://github.com/llvm/llvm-project/commit/0c68155002edb30d6b0df3f17fe1f44a01afacd9
  Author: Lang Hames <lhames at gmail.com>
  Date:   2025-01-02 (Thu, 02 Jan 2025)

  Changed paths:
    M llvm/tools/llvm-jitlink/llvm-jitlink.cpp

  Log Message:
  -----------
  [llvm-jitlink] Fix llvm-jitlink for LLVM_ENABLE_THREADS=Off.

Commit edca1d9bad2 enabled threaded linking by default in llvm-jitlink, but we
need to handle the case where LLVM is built with -DLLVM_ENABLE_THREADS=Off.

This patch updates the llvm-jitlink tool to switch back to materialization on
the main thread (equivalent to llvm-jitlink -num-threads=0 ...) when LLVM is
built without thread support.


  Commit: 641a786bedc054e71764f69f6f448ad4e090c9a4
      https://github.com/llvm/llvm-project/commit/641a786bedc054e71764f69f6f448ad4e090c9a4
  Author: David Green <david.green at arm.com>
  Date:   2025-01-02 (Thu, 02 Jan 2025)

  Changed paths:
    M llvm/test/Analysis/CostModel/AArch64/shuffle-select.ll
    A llvm/test/CodeGen/AArch64/shuffle-select.ll

  Log Message:
  -----------
  [AArch64] Add codegen shuffle-select test. NFC

This splits the shuffle-select CostModel test into a seperate CodeGen test and
removes the codegen from the CostModel version. An extra fp16 test is added
too.


  Commit: 45e874e39030bc622ea43fbcfc4fcdd1dd404353
      https://github.com/llvm/llvm-project/commit/45e874e39030bc622ea43fbcfc4fcdd1dd404353
  Author: Timm Baeder <tbaeder at redhat.com>
  Date:   2025-01-02 (Thu, 02 Jan 2025)

  Changed paths:
    M clang/lib/AST/ByteCode/InterpBuiltin.cpp
    M clang/test/CodeGen/builtin-memfns.c

  Log Message:
  -----------
  [clang][bytecode] Check for memcpy/memmove dummy pointers earlier (#121453)


  Commit: a3744f065a3ce38deaf650a8f92941c19980b32a
      https://github.com/llvm/llvm-project/commit/a3744f065a3ce38deaf650a8f92941c19980b32a
  Author: Spencer Abson <Spencer.Abson at arm.com>
  Date:   2025-01-02 (Thu, 02 Jan 2025)

  Changed paths:
    M clang/include/clang/Basic/arm_immcheck_incl.td
    M clang/lib/Sema/SemaARM.cpp

  Log Message:
  -----------
  [clang][AArch64] Remove references to vector size in SVE immediate range checking. NFC


  Commit: d5c8af492f2d8620b04330024d46a5f48db546fe
      https://github.com/llvm/llvm-project/commit/d5c8af492f2d8620b04330024d46a5f48db546fe
  Author: Timm Baeder <tbaeder at redhat.com>
  Date:   2025-01-02 (Thu, 02 Jan 2025)

  Changed paths:
    M clang/lib/AST/ByteCode/InterpBuiltinBitCast.cpp
    M clang/test/AST/ByteCode/builtin-functions.cpp

  Log Message:
  -----------
  [clang][bytecode] Consider start index when copying composite array (#121461)

... elements.


  Commit: 34097c07e151fef0e5c645e1dac7f4872774317b
      https://github.com/llvm/llvm-project/commit/34097c07e151fef0e5c645e1dac7f4872774317b
  Author: Timm Baeder <tbaeder at redhat.com>
  Date:   2025-01-02 (Thu, 02 Jan 2025)

  Changed paths:
    M clang/lib/AST/ByteCode/InterpBuiltin.cpp
    M clang/test/AST/ByteCode/builtin-functions.cpp

  Log Message:
  -----------
  [clang][bytecode] Consider unknown-size arrays in memcpy/memcmp (#121462)

When emitting diagnostics for the number of elements.


  Commit: 4c5c5e2f41e62e4be9ca7bb6c42221cc11700321
      https://github.com/llvm/llvm-project/commit/4c5c5e2f41e62e4be9ca7bb6c42221cc11700321
  Author: ZhaoQi <zhaoqi01 at loongson.cn>
  Date:   2025-01-02 (Thu, 02 Jan 2025)

  Changed paths:
    M llvm/include/llvm/ExecutionEngine/JITLink/loongarch.h
    M llvm/lib/ExecutionEngine/JITLink/ELF_loongarch.cpp
    M llvm/lib/ExecutionEngine/JITLink/loongarch.cpp
    M llvm/test/ExecutionEngine/JITLink/LoongArch/ELF_loongarch32_relocations.s
    M llvm/test/ExecutionEngine/JITLink/LoongArch/ELF_loongarch64_relocations.s

  Log Message:
  -----------
  [JITLink][LoongArch] Add R_LARCH_{B16,B21} relocations support (#121096)


  Commit: 3ddc9f06ae61e916b333b096cef3560f0f5c6272
      https://github.com/llvm/llvm-project/commit/3ddc9f06ae61e916b333b096cef3560f0f5c6272
  Author: David Green <david.green at arm.com>
  Date:   2025-01-02 (Thu, 02 Jan 2025)

  Changed paths:
    A llvm/test/Analysis/CostModel/AArch64/shuffle-extract.ll
    M llvm/test/CodeGen/AArch64/shuffle-select.ll
    A llvm/test/Transforms/PhaseOrdering/AArch64/block_scaling_decompr_8bit.ll

  Log Message:
  -----------
  [AArch64] Additional shuffle subvector-extract cost tests. NFC

A Phase Ordering test for intrinsic shuffles is also added, showing a recent
regression from vector combining.


  Commit: 460e7d5f3054855af83e50f32a81ce71cac55a04
      https://github.com/llvm/llvm-project/commit/460e7d5f3054855af83e50f32a81ce71cac55a04
  Author: Abid Qadeer <haqadeer at amd.com>
  Date:   2025-01-02 (Thu, 02 Jan 2025)

  Changed paths:
    M flang/lib/Optimizer/Transforms/DebugTypeGenerator.cpp

  Log Message:
  -----------
  [flang][debug] Correct pointer size. (#120781)

We were passing size in bytes for the sizeInBits field in
DIDerivedTypeAttr with DW_TAG_pointer_type. Although this field is
un-used in this case but better to be accurate.


  Commit: 328ff042e33767d9abdc56bf62132e00b832ecc4
      https://github.com/llvm/llvm-project/commit/328ff042e33767d9abdc56bf62132e00b832ecc4
  Author: Abid Qadeer <haqadeer at amd.com>
  Date:   2025-01-02 (Thu, 02 Jan 2025)

  Changed paths:
    M flang/lib/Optimizer/Transforms/DebugTypeGenerator.cpp

  Log Message:
  -----------
  [flang][NFC] Replace dyn_cast_or_null with dyn_cast_if_present. (#120785)


  Commit: 450c6b02d224245656c41033cc0c849bde2045f3
      https://github.com/llvm/llvm-project/commit/450c6b02d224245656c41033cc0c849bde2045f3
  Author: josel-amd <jose.lopes at amd.com>
  Date:   2025-01-02 (Thu, 02 Jan 2025)

  Changed paths:
    M mlir/include/mlir/Conversion/SCFToEmitC/SCFToEmitC.h
    M mlir/lib/Conversion/SCFToEmitC/SCFToEmitC.cpp
    M mlir/test/Conversion/SCFToEmitC/for.mlir
    M mlir/test/Conversion/SCFToEmitC/switch.mlir

  Log Message:
  -----------
  [MLIR][SCFToEmitC] Convert types while converting from SCF to EmitC (#118940)

Switch from rewrite patterns to conversion patterns. This allows to
perform type conversions together with other parts of the IR. For
example, this allows to convert from index to emit.size_t types.


  Commit: df728cf1d7959e214af68dbf4d6e3750fc7b5b13
      https://github.com/llvm/llvm-project/commit/df728cf1d7959e214af68dbf4d6e3750fc7b5b13
  Author: Matthias Gehre <matthias.gehre at amd.com>
  Date:   2025-01-02 (Thu, 02 Jan 2025)

  Changed paths:
    M mlir/include/mlir/Conversion/SCFToEmitC/SCFToEmitC.h
    M mlir/lib/Conversion/SCFToEmitC/SCFToEmitC.cpp
    M mlir/test/Conversion/SCFToEmitC/for.mlir
    M mlir/test/Conversion/SCFToEmitC/switch.mlir

  Log Message:
  -----------
  Revert "[MLIR][SCFToEmitC] Convert types while converting from SCF to EmitC (#118940)"

This reverts commit 450c6b02d224245656c41033cc0c849bde2045f3.


  Commit: 76a4c4593ba9f8cad894d80ea75687cd86be3cdd
      https://github.com/llvm/llvm-project/commit/76a4c4593ba9f8cad894d80ea75687cd86be3cdd
  Author: Rajat Bajpai <rbajpai at nvidia.com>
  Date:   2025-01-02 (Thu, 02 Jan 2025)

  Changed paths:
    M llvm/lib/Transforms/InstCombine/InstCombineSelect.cpp
    M llvm/test/Transforms/InstCombine/fcmp-fadd-select.ll

  Log Message:
  -----------
  [InstCombine] Fix constant swap case of fcmp + fadd + sel xfrm (#119419)

The fcmp + fadd + sel => fcmp + sel + fadd xfrm performs incorrect
transformation when select branch values are swapped. This change fixes
this.


  Commit: 1fa0302ba2efc5374b5d1cdc8715dfc0f1048c6c
      https://github.com/llvm/llvm-project/commit/1fa0302ba2efc5374b5d1cdc8715dfc0f1048c6c
  Author: Jacek Caban <jacek at codeweavers.com>
  Date:   2025-01-02 (Thu, 02 Jan 2025)

  Changed paths:
    M lld/COFF/SymbolTable.cpp
    M lld/test/COFF/arm64x-loadconfig.s

  Log Message:
  -----------
  [LLD][COFF] Emit warnings for missing load config on EC targets (#121339)

ARM64EC and ARM64X images require a load configuration to be valid.


  Commit: 207e485f4b7e8113b8b329ddcde423aafc0a8832
      https://github.com/llvm/llvm-project/commit/207e485f4b7e8113b8b329ddcde423aafc0a8832
  Author: Florian Hahn <flo at fhahn.com>
  Date:   2025-01-02 (Thu, 02 Jan 2025)

  Changed paths:
    M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp

  Log Message:
  -----------
  [VPlan] Track VectorPH during skeleton creation. (NFC)

Split off from https://github.com/llvm/llvm-project/pull/108378.

This ensures that the logic works even if now vector region exits.


  Commit: 67c974bfd6b3dbba83865e8319a3e9d3274a44e9
      https://github.com/llvm/llvm-project/commit/67c974bfd6b3dbba83865e8319a3e9d3274a44e9
  Author: Michael Buch <michaelbuch12 at gmail.com>
  Date:   2025-01-02 (Thu, 02 Jan 2025)

  Changed paths:
    M lldb/source/Plugins/SymbolFile/DWARF/DWARFASTParserClang.cpp
    M lldb/source/Plugins/SymbolFile/DWARF/DWARFASTParserClang.h

  Log Message:
  -----------
  [lldb][DWARFASTParserClang][NFC] Remove redundant parameter to ParseChildParameters (#121033)

This was never set to anything other than `true`.


  Commit: 02b30128e8e87795b9262035a48990648cbec586
      https://github.com/llvm/llvm-project/commit/02b30128e8e87795b9262035a48990648cbec586
  Author: Timm Baeder <tbaeder at redhat.com>
  Date:   2025-01-02 (Thu, 02 Jan 2025)

  Changed paths:
    M clang/lib/AST/ByteCode/InterpBuiltin.cpp
    M clang/test/AST/ByteCode/builtin-constant-p.cpp

  Log Message:
  -----------
  [clang][bytecode] Always return false for invalid bcp results (#121467)


  Commit: 8178e7218833bcbcf4263016252681c81fb167db
      https://github.com/llvm/llvm-project/commit/8178e7218833bcbcf4263016252681c81fb167db
  Author: Marius Brehler <marius.brehler at amd.com>
  Date:   2025-01-02 (Thu, 02 Jan 2025)

  Changed paths:
    M mlir/include/mlir/Dialect/Func/IR/FuncOps.td

  Log Message:
  -----------
  [mlir][func] Fix return op example (#121470)

Similiar to #121112.


  Commit: 9cd774d1e49f792b7546e5309c7b27d653b37132
      https://github.com/llvm/llvm-project/commit/9cd774d1e49f792b7546e5309c7b27d653b37132
  Author: Phoebe Wang <phoebe.wang at intel.com>
  Date:   2025-01-02 (Thu, 02 Jan 2025)

  Changed paths:
    M llvm/lib/Target/X86/MCTargetDesc/X86ATTInstPrinter.cpp
    M llvm/lib/Target/X86/MCTargetDesc/X86InstComments.cpp
    M llvm/lib/Target/X86/MCTargetDesc/X86InstPrinterCommon.cpp
    M llvm/lib/Target/X86/MCTargetDesc/X86IntelInstPrinter.cpp
    M llvm/lib/Target/X86/X86InstrAVX10.td
    M llvm/lib/Target/X86/X86InstrAVX512.td
    M llvm/lib/Target/X86/X86InstrFMA3Info.cpp
    M llvm/lib/Target/X86/X86InstrInfo.cpp
    M llvm/lib/Target/X86/X86SchedSapphireRapids.td
    M llvm/lib/Target/X86/X86ScheduleZnver4.td
    M llvm/test/TableGen/x86-fold-tables.inc

  Log Message:
  -----------
  [X86][NFC] Move "_Int" after "k"/"kz" (#121450)

Address comment at
https://github.com/llvm/llvm-project/pull/121373#discussion_r1900402932


  Commit: 4b22ef7d6b9f739de63b6d07777424cf5dfb9f92
      https://github.com/llvm/llvm-project/commit/4b22ef7d6b9f739de63b6d07777424cf5dfb9f92
  Author: Nico Weber <thakis at chromium.org>
  Date:   2025-01-02 (Thu, 02 Jan 2025)

  Changed paths:
    M lld/COFF/Writer.cpp

  Log Message:
  -----------
  [lld/COFF] Fix comment typo to cycle bots


  Commit: d622b66a820a0e5e61c131e9ae5b4db35292aa14
      https://github.com/llvm/llvm-project/commit/d622b66a820a0e5e61c131e9ae5b4db35292aa14
  Author: josel-amd <jose.lopes at amd.com>
  Date:   2025-01-02 (Thu, 02 Jan 2025)

  Changed paths:
    M mlir/include/mlir/Conversion/SCFToEmitC/SCFToEmitC.h
    M mlir/lib/Conversion/SCFToEmitC/CMakeLists.txt
    M mlir/lib/Conversion/SCFToEmitC/SCFToEmitC.cpp
    M mlir/test/Conversion/SCFToEmitC/for.mlir
    M mlir/test/Conversion/SCFToEmitC/switch.mlir

  Log Message:
  -----------
  Re-introduce Type Conversion on EmitC (#121476)

This PR reintroduces https://github.com/llvm/llvm-project/pull/118940
with a fix for the build issues on
cd9caf3aeed55280537052227f08bb1b41154efd


  Commit: a4deb809be8f5ec3adec3626e9d700f6168d0e9f
      https://github.com/llvm/llvm-project/commit/a4deb809be8f5ec3adec3626e9d700f6168d0e9f
  Author: Nico Weber <thakis at chromium.org>
  Date:   2025-01-02 (Thu, 02 Jan 2025)

  Changed paths:
    M clang/lib/Driver/ToolChains/OHOS.cpp

  Log Message:
  -----------
  Revert "Reapply "[Driver][OHOS] Fix lld link issue for OHOS (#118192)" (#120159)"

This reverts commit bd154e823eba4d62366dfa3d56ae0b99ab171b96.
Test fails with -DLLVM_ENABLE_PER_TARGET_RUNTIME_DIR=OFF, see
https://github.com/llvm/llvm-project/pull/120159#issuecomment-2567836727


  Commit: 6d604ba36326de849ccf00f30351ce21fde19471
      https://github.com/llvm/llvm-project/commit/6d604ba36326de849ccf00f30351ce21fde19471
  Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
  Date:   2025-01-02 (Thu, 02 Jan 2025)

  Changed paths:
    M llvm/utils/gn/secondary/clang-tools-extra/clang-tidy/bugprone/BUILD.gn
    M llvm/utils/gn/secondary/clang-tools-extra/clang-tidy/cppcoreguidelines/BUILD.gn

  Log Message:
  -----------
  [gn build] Port e45e091b9089


  Commit: 073e65a8e5f92ca9c63c3fcd1c0ce2a36913f9a6
      https://github.com/llvm/llvm-project/commit/073e65a8e5f92ca9c63c3fcd1c0ce2a36913f9a6
  Author: John Brawn <john.brawn at arm.com>
  Date:   2025-01-02 (Thu, 02 Jan 2025)

  Changed paths:
    M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
    M llvm/test/Transforms/LoopVectorize/AArch64/interleaved_cost.ll
    M llvm/test/Transforms/LoopVectorize/ARM/mve-interleaved-cost.ll

  Log Message:
  -----------
  [LoopVectorize] Make needsExtract notice scalarized instructions (#119720)

LoopVectorizationCostModel::needsExtract should recognise instructions
that have been widened by scalarizing as scalar instructions, and thus
not needing an extract when used by later scalarized instructions.

This fixes an incorrect cost calculation in computePredInstDiscount,
where we are adding a scalarization overhead cost when we shouldn't,
though I haven't come up with a test case where it makes a difference.
It will make a difference when the cost model switches to using the cost
kind TCK_CodeSize for optsize, as not doing this causes the test
LoopVectorize/X86/small-size.ll to get worse.


  Commit: a9a3fb5b1a23e336a1656046ba1a36832e020d4e
      https://github.com/llvm/llvm-project/commit/a9a3fb5b1a23e336a1656046ba1a36832e020d4e
  Author: Bart Chrzaszcz <bart.chr at gmail.com>
  Date:   2025-01-02 (Thu, 02 Jan 2025)

  Changed paths:
    M utils/bazel/llvm-project-overlay/mlir/BUILD.bazel

  Log Message:
  -----------
  Update BUILD.bazel due to PR #121476

Breaks bazel builds due to missing dependency


  Commit: bb27d5e5c6b194a1440b8ac4e5ace68d0ee2a849
      https://github.com/llvm/llvm-project/commit/bb27d5e5c6b194a1440b8ac4e5ace68d0ee2a849
  Author: Donát Nagy <donat.nagy at ericsson.com>
  Date:   2025-01-02 (Thu, 02 Jan 2025)

  Changed paths:
    M clang/docs/ReleaseNotes.rst
    M clang/include/clang/StaticAnalyzer/Core/PathSensitive/CoreEngine.h
    M clang/include/clang/StaticAnalyzer/Core/PathSensitive/ExprEngine.h
    M clang/lib/StaticAnalyzer/Core/CoreEngine.cpp
    M clang/lib/StaticAnalyzer/Core/ExprEngine.cpp
    A clang/test/Analysis/loop-assumptions.c
    M clang/test/Analysis/loop-unrolling.cpp
    M clang/test/Analysis/misc-ps-region-store.m

  Log Message:
  -----------
  [analyzer] Don't assume third iteration in loops (#119388)

This commit ensures that if the loop condition is opaque (the analyzer
cannot determine whether it's true or false) and there were at least two
iterations, then the analyzer doesn't make the unjustified assumption
that it can enter yet another iteration.

Note that the presence of a loop suggests that the developer thought
that two iterations can happen (otherwise an `if` would've been
sufficient), but it does not imply that the developer expected three or
four iterations -- and in fact there are many false positives where a
loop iterates over a two-element (or three-element) data structure, but
the analyzer cannot understand the loop condition and blindly assumes
that there may be three or more iterations. (In particular, analyzing
the FFMPEG project produces 100+ such false positives.)

Moreover, this provides some performance improvements in the sense that
the analyzer won't waste time on traversing the execution paths with 3
or 4 iterations in a loop (which are very similar to the paths with 2
iterations) and therefore will be able to traverse more branches
elsewhere on the `ExplodedGraph`.

This logic is disabled if the user enables the widen-loops analyzer
option (which is disabled by default), because the "simulate one final
iteration after the invalidation" execution path would be suppressed by
the "exit the loop if the loop condition is opaque and there were at
least two iterations" logic. If we want to support loop widening, we
would need to create a follow-up commit which ensures that it "plays
nicely" with this logic.


  Commit: 4a890c2c605640f48ecbaefebda8f3a42043ff3d
      https://github.com/llvm/llvm-project/commit/4a890c2c605640f48ecbaefebda8f3a42043ff3d
  Author: klensy <klensy at users.noreply.github.com>
  Date:   2025-01-02 (Thu, 02 Jan 2025)

  Changed paths:
    M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
    M llvm/test/CodeGen/AArch64/vecreduce-add.ll

  Log Message:
  -----------
  [llvm][aarch64] fix copypaste typo (#120725)

moved from #119881


  Commit: 62d0aff3eb934439acac47348e2385f0751a1444
      https://github.com/llvm/llvm-project/commit/62d0aff3eb934439acac47348e2385f0751a1444
  Author: Michał Górny <mgorny at gentoo.org>
  Date:   2025-01-02 (Thu, 02 Jan 2025)

  Changed paths:
    M llvm/cmake/modules/Findzstd.cmake

  Log Message:
  -----------
  [cmake] Extend zstd.dll finding logic from MSVC to Clang (#121437)

Extend the special logic for finding `zstd.dll` in `Findzstd` to apply
to all MSVC-compatible configurations such as Clang targeting MSVC.

Fixes #121345


  Commit: 8ab88f11a12aaecb46f7b0eb5c13e7802258c1e1
      https://github.com/llvm/llvm-project/commit/8ab88f11a12aaecb46f7b0eb5c13e7802258c1e1
  Author: Jonas Paulsson <paulson1 at linux.ibm.com>
  Date:   2025-01-02 (Thu, 02 Jan 2025)

  Changed paths:
    M llvm/utils/emacs/llvm-mode.el

  Log Message:
  -----------
  [emacs] Add noext as an attribute in llvm-mode.el (#121444)

The NoExt attribute was introduced with #100757, to exist alongside with
signext and zeroext.

This patch adds "noext" as an attribute to llvm-mode.el to get the proper
highlighting of the keyword.


  Commit: 11e482c4a32be6a315e5bf2ae7599cf10eb84836
      https://github.com/llvm/llvm-project/commit/11e482c4a32be6a315e5bf2ae7599cf10eb84836
  Author: Matt Arsenault <Matthew.Arsenault at amd.com>
  Date:   2025-01-02 (Thu, 02 Jan 2025)

  Changed paths:
    M llvm/lib/CodeGen/RegAllocGreedy.cpp
    M llvm/lib/CodeGen/RegAllocPriorityAdvisor.cpp
    M llvm/lib/CodeGen/RegAllocPriorityAdvisor.h
    A llvm/test/CodeGen/AMDGPU/dummy-regalloc-priority-advisor.mir

  Log Message:
  -----------
  RegAllocGreedy: Add dummy priority advisor for writing MIR tests (#121207)

I regularly struggle reproducing failures in greedy due to changes
in priority when resuming the allocation from MIR vs. a complete
compilation starting at IR. That is, the fix in
e0919b189bf2df4f97f22ba40260ab5153988b14 did not really fix the
problem of the instruction distance mattering.

Add a way to bypass all of the priority heuristics for MIR tests,
by prioritizing only by virtual register number. Could also
give this a more specific name, like PrioritizeLowVirtRegNumber


  Commit: 40ac34c518985f4ff119d2e67a5a412cc951104a
      https://github.com/llvm/llvm-project/commit/40ac34c518985f4ff119d2e67a5a412cc951104a
  Author: Nikolas Klauser <nikolasklauser at berlin.de>
  Date:   2025-01-02 (Thu, 02 Jan 2025)

  Changed paths:
    M libcxx/include/__type_traits/aligned_storage.h
    M libcxx/include/__type_traits/make_signed.h
    M libcxx/include/__type_traits/make_unsigned.h
    M libcxx/include/__type_traits/type_list.h

  Log Message:
  -----------
  [libc++] Make __type_list variadic (#121117)

This makes these lists signficiantly more readable.


  Commit: 4075ddad7183e6f0b66e2c8cc7a03b461a8038e6
      https://github.com/llvm/llvm-project/commit/4075ddad7183e6f0b66e2c8cc7a03b461a8038e6
  Author: Nikolas Klauser <nikolasklauser at berlin.de>
  Date:   2025-01-02 (Thu, 02 Jan 2025)

  Changed paths:
    M libcxx/.clang-tidy
    M libcxx/test/libcxx/clang_tidy.gen.py

  Log Message:
  -----------
  [libc++] Run clang-tidy only once per header (#121436)

There doesn't seem to be much of a reason to run clang-tidy twice per
headers, and running it only once makes the test a few seconds faster.


  Commit: 7326e903d72ba390a6368ff3e9eb2ab2251a1b13
      https://github.com/llvm/llvm-project/commit/7326e903d72ba390a6368ff3e9eb2ab2251a1b13
  Author: Brooks Davis <brooks at one-eyed-alien.net>
  Date:   2025-01-02 (Thu, 02 Jan 2025)

  Changed paths:
    M flang/runtime/stop.cpp

  Log Message:
  -----------
  flang: fix backtrace build on FreeBSD (#120297)

FreeBSD's libexecinfo defines backtrace with a size_t for the size
argument and return type. This almost certainly doesn't make sense, but
what's done is done so cast the output to allow compilation. Otherwise
we get:

.../flang/runtime/stop.cpp:165:13: error: non-constant-expression cannot
be narrowed from type 'size_t' (aka 'unsigned long') to 'int' in
initializer list [-Wc++11-narrowing]
  165 |   int nptrs{backtrace(buffer, MAX_CALL_STACK)};
      |             ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~


  Commit: cbff02b101c20ad6557d64c998d03dab5ee4aad7
      https://github.com/llvm/llvm-project/commit/cbff02b101c20ad6557d64c998d03dab5ee4aad7
  Author: hatoo <hato2000 at gmail.com>
  Date:   2025-01-02 (Thu, 02 Jan 2025)

  Changed paths:
    M mlir/include/mlir/Dialect/EmitC/IR/EmitC.td

  Log Message:
  -----------
  [mlir][emitc] Fix invalid syntax in example of emitc.return (#121112)

A return type of `emitc.func` must be specified with `->` instead of
`:`. I've verified the syntax using `mlir-translate --mlir-to-cpp`.


  Commit: 5ed6229019de43df0ff4b3e73097781e0f1a6651
      https://github.com/llvm/llvm-project/commit/5ed6229019de43df0ff4b3e73097781e0f1a6651
  Author: Simon Pilgrim <llvm-dev at redking.me.uk>
  Date:   2025-01-02 (Thu, 02 Jan 2025)

  Changed paths:
    A llvm/test/Transforms/VectorCombine/X86/load-extractelement-scalarization.ll

  Log Message:
  -----------
  [VectorCombine] Add scalarizeLoadExtract infinite loop test from #120984 regression

scalarizeLoadExtract replaces instructions up the use list, which can result in the vectorcombine worklist adding users back to the worklist when they should really be erased first.


  Commit: f739aa4004165dc64d3a1f418d5ad3c84886f01a
      https://github.com/llvm/llvm-project/commit/f739aa4004165dc64d3a1f418d5ad3c84886f01a
  Author: Simon Pilgrim <llvm-dev at redking.me.uk>
  Date:   2025-01-02 (Thu, 02 Jan 2025)

  Changed paths:
    M llvm/lib/Transforms/Vectorize/VectorCombine.cpp

  Log Message:
  -----------
  [VectorCombine] replaceValue - add "VC: Replacing" debug message to help the log show replacement for old/new.


  Commit: 1849244685bc42b07b1b14e3f62e15c535e74c39
      https://github.com/llvm/llvm-project/commit/1849244685bc42b07b1b14e3f62e15c535e74c39
  Author: Jay Foad <jay.foad at amd.com>
  Date:   2025-01-02 (Thu, 02 Jan 2025)

  Changed paths:
    M llvm/include/llvm/CodeGen/MachineRegisterInfo.h
    M llvm/lib/CodeGen/MachineRegisterInfo.cpp
    M llvm/lib/CodeGen/MachineTraceMetrics.cpp
    M llvm/lib/CodeGen/SwiftErrorValueTracking.cpp

  Log Message:
  -----------
  [CodeGen] Remove atEnd method from defusechain iterators (#120610)

This was not used much and there are better ways of writing it.


  Commit: 5de7af4b9f05c7a9fb3775f45627b50aba47869b
      https://github.com/llvm/llvm-project/commit/5de7af4b9f05c7a9fb3775f45627b50aba47869b
  Author: Jinsong Ji <jinsong.ji at intel.com>
  Date:   2025-01-02 (Thu, 02 Jan 2025)

  Changed paths:
    M llvm/lib/Support/Windows/Path.inc
    M llvm/unittests/Support/Path.cpp

  Log Message:
  -----------
  [llvm][Support][Windows] Fix slash in path for remove_directories (#121448)

Before 925471ed903dad871042d7ed0bab89ab6566a564 remove_directories
supports path with slash (instead of backslash).
The ILCreateFromPathW in new implementation requires backslash path,
so the call to remove_directories will fail if the path contains slash.

This is to normalize the path to make sure remove_directories still
support path with slash as well.


  Commit: bca92b12588d63556b749b4627af0112cd2d05c6
      https://github.com/llvm/llvm-project/commit/bca92b12588d63556b749b4627af0112cd2d05c6
  Author: Angus Lees <gus at inodes.org>
  Date:   2025-01-02 (Thu, 02 Jan 2025)

  Changed paths:
    M utils/bazel/llvm-project-overlay/llvm/unittests/BUILD.bazel

  Log Message:
  -----------
  [bazel] Allow SupportTests to be built remotely and cached (#121375)

`SupportTests` fails in the bazel macOS sandbox, because
`FileSystemTest.permissions` expects to be able to modify file
permissions on some otherwise protected files.

Previously this test was marked `local` in bazel, which has
additional undesirable effects such as skipping remote build and cache.

Tighten the bazel tags to just `no-sandbox`.  Note in particular, that
this allows the test to build, execute, and cache remotely (if
configured).

Testing:
- Verified this test fails (as expected) on macOS with no tags, and
  passes with `no-sandbox`.
- Verified this test passes when executed remotely (using an Engflow RBE
  setup) with `no-sandbox`.


  Commit: dd30aa83aa12e5b2b5e58cb72ec85070f725df34
      https://github.com/llvm/llvm-project/commit/dd30aa83aa12e5b2b5e58cb72ec85070f725df34
  Author: Philip Reames <preames at rivosinc.com>
  Date:   2025-01-02 (Thu, 02 Jan 2025)

  Changed paths:
    M llvm/lib/Target/RISCV/RISCVTargetTransformInfo.cpp

  Log Message:
  -----------
  [RISCV][TTI] Simplify compound check for readability [nfc] (#121504)

I misread this check earlier today on a review, so restructure it to be
easier to quickly scan.


  Commit: 035e64c0ec02b237a266ebc672718037fdd53eb2
      https://github.com/llvm/llvm-project/commit/035e64c0ec02b237a266ebc672718037fdd53eb2
  Author: Simon Pilgrim <llvm-dev at redking.me.uk>
  Date:   2025-01-02 (Thu, 02 Jan 2025)

  Changed paths:
    M llvm/lib/Transforms/Vectorize/VectorCombine.cpp
    M llvm/test/Transforms/VectorCombine/X86/concat-boolmasks.ll

  Log Message:
  -----------
  [VectorCombine] eraseInstruction - ensure we reattempt to fold other users of an erased instruction's operands (REAPPLIED)

As we're reducing the use count of the operands its more likely that they will now fold, as they were previously being prevented by a m_OneUse check, or the cost of retaining the extra instruction had been too high.

This is necessary for some upcoming patches, although the only change so far is instruction ordering as it allows some SSE folds of 256/512-bit with 128-bit subvectors to occur earlier in foldShuffleToIdentity as the subvector concats are free.

Reapplied with a fix for foldSingleElementStore/scalarizeLoadExtract which were replacing/removing memory operations - we need to ensure that the worklist is populated in the correct order so all users of the old memory operations are erased first, so there are no remaining users of the loads when its time to remove them as well.

Pulled out of #120984


  Commit: 5236e3dac59e16630a3730c84c2d3d65970a6db3
      https://github.com/llvm/llvm-project/commit/5236e3dac59e16630a3730c84c2d3d65970a6db3
  Author: Dominik Adamski <dominik.adamski at amd.com>
  Date:   2025-01-02 (Thu, 02 Jan 2025)

  Changed paths:
    M flang/lib/Optimizer/Analysis/AliasAnalysis.cpp
    A flang/test/Analysis/AliasAnalysis/alias-analysis-omp-private-allocatable.mlir

  Log Message:
  -----------
  [Flang][Alias analysis] Fix alias analysis for omp private allocatable item (#120243)

Flang alias analysis crashes for omp private allocatable item. The issue
is described here : https://github.com/llvm/llvm-project/issues/116954 .

We know that private value can't alias with anything else unless it is POINTER
or TARGET. That's why we can simplify alias analysis logic.


  Commit: 5f5792aedb1f8088836ccd1c0a924c5e0bbf35db
      https://github.com/llvm/llvm-project/commit/5f5792aedb1f8088836ccd1c0a924c5e0bbf35db
  Author: Florian Hahn <flo at fhahn.com>
  Date:   2025-01-02 (Thu, 02 Jan 2025)

  Changed paths:
    M llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp

  Log Message:
  -----------
  [VPlan] Use removeDeadRecipes in optimizeForVFAndUF (NFCI)

Split off from https://github.com/llvm/llvm-project/pull/108378.


  Commit: 3a423a10ff83684332195b5191b16f12c81985ba
      https://github.com/llvm/llvm-project/commit/3a423a10ff83684332195b5191b16f12c81985ba
  Author: Teresa Johnson <tejohnson at google.com>
  Date:   2025-01-02 (Thu, 02 Jan 2025)

  Changed paths:
    M llvm/include/llvm/IR/Metadata.h
    M llvm/include/llvm/Transforms/Utils/Local.h
    M llvm/lib/Analysis/MemoryProfileInfo.cpp
    M llvm/lib/Transforms/InstCombine/InstCombinePHI.cpp
    M llvm/lib/Transforms/Scalar/MemCpyOptimizer.cpp
    M llvm/lib/Transforms/Utils/Local.cpp
    M llvm/test/Transforms/MemCpyOpt/memcpy.ll
    A llvm/test/Transforms/SimplifyCFG/merge-calls-memprof.ll

  Log Message:
  -----------
  [MemProf][PGO] Prevent dropping of profile metadata during optimization (#121359)

This patch fixes a couple of places where memprof-related metadata
(!memprof and !callsite) were being dropped, and one place where PGO
metadata (!prof) was being dropped.

All were due to instances of combineMetadata() being invoked. That
function drops all metadata not in the list provided by the client, and
also drops any not in its switch statement.

Memprof metadata needed a case in the combineMetadata switch statement.
For now we simply keep the metadata of the instruction being kept, which
doesn't retain all the profile information when two calls with
memprof metadata are being combined, but at least retains some.

For the memprof metadata being dropped during call CSE, add memprof and
callsite metadata to the list of known ids in combineMetadataForCSE.

Neither memprof nor regular prof metadata were in the list of known ids
for the callsite in MemCpyOptimizer, which was added to combine AA
metadata after optimization of byval arguments fed by memcpy
instructions, and similar types of optimizations of memcpy uses.

There is one other callsite of combineMetadata, but it is only invoked
on load instructions, which do not carry these types of metadata.


  Commit: cd19f3f787b01481fd687834457686e16fffdbe6
      https://github.com/llvm/llvm-project/commit/cd19f3f787b01481fd687834457686e16fffdbe6
  Author: Nick Sarnie <nick.sarnie at intel.com>
  Date:   2025-01-02 (Thu, 02 Jan 2025)

  Changed paths:
    M clang/include/clang/Driver/Options.td
    M clang/lib/Driver/CMakeLists.txt
    M clang/lib/Driver/Driver.cpp
    M clang/lib/Driver/ToolChains/CommonArgs.cpp
    M clang/lib/Driver/ToolChains/SPIRV.h
    A clang/lib/Driver/ToolChains/SPIRVOpenMP.cpp
    A clang/lib/Driver/ToolChains/SPIRVOpenMP.h
    M clang/lib/Frontend/CompilerInvocation.cpp
    A clang/test/Driver/Inputs/spirv-openmp/lib/libomptarget-spirv64.bc
    A clang/test/Driver/spirv-openmp-toolchain.c
    M clang/tools/clang-linker-wrapper/ClangLinkerWrapper.cpp

  Log Message:
  -----------
  [Driver][clang-linker-wrapper] Add initial support for OpenMP offloading to generic SPIR-V (#120145)

This is the first of a series of patches to add support for OpenMP
offloading to SPIR-V through liboffload with the first intended target
being Intel GPUs. This patch implements the basic driver and
`clang-linker-wrapper` work for JIT mode. There are still many missing
pieces, so this is not yet usable.

We introduce `spirv64-intel-unknown` as the only currently supported
triple. The user-facing argument to enable offloading will be `-fopenmp
-fopenmp-targets=spirv64-intel`

Add a new `SPIRVOpenMPToolChain` toolchain based on the existing general
SPIR-V toolchain which will call all the required SPIR-V tools (and
eventually the SPIR-V backend) as well as add the corresponding device
RTL as an argument to the linker.

We can't get through the front end consistently yet, so it's difficult
to add any LIT tests that execute any tools, but front end changes are
planned very shortly, and then we can add those tests.

---------

Signed-off-by: Sarnie, Nick <nick.sarnie at intel.com>


  Commit: 4922350407127607a9e78fc6d19f3f6278b1e46b
      https://github.com/llvm/llvm-project/commit/4922350407127607a9e78fc6d19f3f6278b1e46b
  Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
  Date:   2025-01-02 (Thu, 02 Jan 2025)

  Changed paths:
    M llvm/utils/gn/secondary/clang/lib/Driver/BUILD.gn

  Log Message:
  -----------
  [gn build] Port cd19f3f787b0


  Commit: f03b100e93196ca1ecec20fde3fc48690b3dad7e
      https://github.com/llvm/llvm-project/commit/f03b100e93196ca1ecec20fde3fc48690b3dad7e
  Author: 王宇逸 <Strawberry_Str at hotmail.com>
  Date:   2025-01-03 (Fri, 03 Jan 2025)

  Changed paths:
    M llvm/lib/Target/TargetMachine.cpp
    M llvm/test/CodeGen/X86/mingw-refptr.ll

  Log Message:
  -----------
  [Cygwin] Fix global variable dll import (#121439)

This PR is necessary for cygwin target of Rust.

References:
*
https://github.com/rust-lang/llvm-project/commit/86657cc39f8e42ae73be810fb0703ddac0eeef94
*
https://github.com/Berrysoft/llvm-project/commit/a807e9f077351d3c6a68f4abe74c94a039759a2e


  Commit: f6cb56902c6dcafede21eb6662910b6ff661fc0f
      https://github.com/llvm/llvm-project/commit/f6cb56902c6dcafede21eb6662910b6ff661fc0f
  Author: Michael Kruse <llvm-project at meinersbur.de>
  Date:   2025-01-02 (Thu, 02 Jan 2025)

  Changed paths:
    R llvm/utils/TableGen/ARMTargetDefEmitter.cpp
    R llvm/utils/TableGen/Attributes.cpp
    A llvm/utils/TableGen/Basic/ARMTargetDefEmitter.cpp
    A llvm/utils/TableGen/Basic/Attributes.cpp
    M llvm/utils/TableGen/Basic/CMakeLists.txt
    A llvm/utils/TableGen/Basic/DirectiveEmitter.cpp
    A llvm/utils/TableGen/Basic/IntrinsicEmitter.cpp
    A llvm/utils/TableGen/Basic/RISCVTargetDefEmitter.cpp
    A llvm/utils/TableGen/Basic/TableGen.cpp
    A llvm/utils/TableGen/Basic/TableGen.h
    A llvm/utils/TableGen/Basic/VTEmitter.cpp
    M llvm/utils/TableGen/CMakeLists.txt
    R llvm/utils/TableGen/DirectiveEmitter.cpp
    R llvm/utils/TableGen/IntrinsicEmitter.cpp
    R llvm/utils/TableGen/RISCVTargetDefEmitter.cpp
    R llvm/utils/TableGen/TableGen.cpp
    R llvm/utils/TableGen/VTEmitter.cpp
    A llvm/utils/TableGen/llvm-min-tblgen.cpp
    A llvm/utils/TableGen/llvm-tblgen.cpp

  Log Message:
  -----------
  [llvm-(min-)tblgen] Avoid redundant source compilation (#114494)

All the sources of `llvm-min-tblgen` are also used for `llvm-tblgen`,
with identical compilation flags. Reuse the object files of
`llvm-min-tblgen` for `llvm-tblgen` by applying the usual source
structure of an executable: One file per executable which named after
the executable name containing the (in this case trivial) main function,
which just calls the tblgen_main in TableGen.cpp. This should also clear
up any confusion (including mine) of where each executable's main
function is.

While this slightly reduces build time, the main motivation is ccache.
Using the hard_link
option, building the object files for `llvm-tblgen` will result in a
hard link to the same object file already used for `llvm-min-tblgen`. To
signal the build system that the file is new, ccache will update the
file's time stamp. Unfortunately, time stamps are shared between all
hard-linked files s.t. this will indirectly also update the time stamps
for the object files used for `llvm-tblgen`. At the next run, Ninja will
recognize this time stamp discrepancy to the expected stamp recorded in
`.ninja_log` and rebuild those object files for `llvm-min-tblgen`, which
again will also update the stamp for the `llvm-tblgen`... . This is
especially annoying for tablegen because it means Ninja will re-run all
tablegenning in every build.

I am using the hard_link option because it reduces the cost of having
multiple build-trees of the LLVM sources and reduces the wear to the SSD
they are stored on.


  Commit: 06b6161d3fa9d69a07e9046dbdd2e230b257d948
      https://github.com/llvm/llvm-project/commit/06b6161d3fa9d69a07e9046dbdd2e230b257d948
  Author: Michael Kruse <llvm-project at meinersbur.de>
  Date:   2025-01-02 (Thu, 02 Jan 2025)

  Changed paths:
    A llvm/utils/TableGen/ARMTargetDefEmitter.cpp
    A llvm/utils/TableGen/Attributes.cpp
    R llvm/utils/TableGen/Basic/ARMTargetDefEmitter.cpp
    R llvm/utils/TableGen/Basic/Attributes.cpp
    M llvm/utils/TableGen/Basic/CMakeLists.txt
    R llvm/utils/TableGen/Basic/DirectiveEmitter.cpp
    R llvm/utils/TableGen/Basic/IntrinsicEmitter.cpp
    R llvm/utils/TableGen/Basic/RISCVTargetDefEmitter.cpp
    R llvm/utils/TableGen/Basic/TableGen.cpp
    R llvm/utils/TableGen/Basic/TableGen.h
    R llvm/utils/TableGen/Basic/VTEmitter.cpp
    M llvm/utils/TableGen/CMakeLists.txt
    A llvm/utils/TableGen/DirectiveEmitter.cpp
    A llvm/utils/TableGen/IntrinsicEmitter.cpp
    A llvm/utils/TableGen/RISCVTargetDefEmitter.cpp
    A llvm/utils/TableGen/TableGen.cpp
    A llvm/utils/TableGen/VTEmitter.cpp
    R llvm/utils/TableGen/llvm-min-tblgen.cpp
    R llvm/utils/TableGen/llvm-tblgen.cpp

  Log Message:
  -----------
  Revert "[llvm-(min-)tblgen] Avoid redundant source compilation (#114494)"

This reverts commit f6cb56902c6dcafede21eb6662910b6ff661fc0f.

Buildbot failures such as https://lab.llvm.org/buildbot/#/builders/89/builds/13541:
```
/usr/bin/ld: utils/TableGen/Basic/CMakeFiles/obj.LLVMTableGenBasic.dir/ARMTargetDefEmitter.cpp.o: undefined reference to symbol '_ZN4llvm23EnableABIBreakingChecksE'
/usr/bin/ld: /home/tcwg-buildbot/worker/flang-aarch64-libcxx/build/./lib/libLLVMSupport.so.20.0git: error adding symbols: DSO missing from command line
```

Going to investigate.


  Commit: 4b577830033066cfd1b2acf4fcf39950678b27bd
      https://github.com/llvm/llvm-project/commit/4b577830033066cfd1b2acf4fcf39950678b27bd
  Author: David CARLIER <devnexen at gmail.com>
  Date:   2025-01-02 (Thu, 02 Jan 2025)

  Changed paths:
    M compiler-rt/lib/rtsan/rtsan_interceptors_posix.cpp
    M compiler-rt/lib/rtsan/tests/rtsan_test_interceptors_posix.cpp

  Log Message:
  -----------
  [compiler-rt][rtsan] fopencookie support. (#120864)


  Commit: c703b4645c79e889fd6a0f3f64f01f957d981aa4
      https://github.com/llvm/llvm-project/commit/c703b4645c79e889fd6a0f3f64f01f957d981aa4
  Author: Jacques Pienaar <jpienaar at google.com>
  Date:   2025-01-02 (Thu, 02 Jan 2025)

  Changed paths:
    M mlir/python/mlir/_mlir_libs/__init__.py
    M mlir/python/mlir/ir.py
    M mlir/test/python/ir/dialects.py

  Log Message:
  -----------
  [mlir][py] Enable loading only specified dialects during creation. (#121421)

Gives option post as global list as well as arg to control which
dialects are loaded during context creation. This enables setting either
a good base set or skipping in individual cases.


  Commit: 976f3a078bbac1889aa9e68e297f73f111a896d6
      https://github.com/llvm/llvm-project/commit/976f3a078bbac1889aa9e68e297f73f111a896d6
  Author: Craig Topper <craig.topper at sifive.com>
  Date:   2025-01-02 (Thu, 02 Jan 2025)

  Changed paths:
    M llvm/Maintainers.md

  Log Message:
  -----------
  [LLVM] Update RISCV maintainers (#121301)

Add Philip Reames and myself as maintainers. I think between the two of
us we do a lot of the patch reviews.


  Commit: 2291d0aba927b885cf39150e59fde466a2524bb5
      https://github.com/llvm/llvm-project/commit/2291d0aba927b885cf39150e59fde466a2524bb5
  Author: Min-Yih Hsu <min.hsu at sifive.com>
  Date:   2025-01-02 (Thu, 02 Jan 2025)

  Changed paths:
    M llvm/include/llvm/CodeGen/ISDOpcodes.h
    M llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
    M llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp
    M llvm/test/CodeGen/RISCV/neg-abs.ll
    A llvm/test/CodeGen/RISCV/rvv/fixed-neg-abs.ll

  Log Message:
  -----------
  [DAGCombiner] Turn `(neg (max x, (neg x)))` into `(min x, (neg x))` (#120666)

This pattern was originally spotted in 429.mcf by @topperc.

We already have a DAGCombiner pattern to turn `(neg (abs x))` into `(min
x, (neg x))`. But in some cases `(neg (max x, (neg x)))` is formed by an
expanded `abs` followed by a `neg` that is generated only after the
`abs` expansion. This patch adds a separate pattern to match cases like
this, as well as its inverse pattern: `(neg (min X, (neg X))) --> (max
X, (neg X))`.

This pattern is applicable to both signed and unsigned min/max.


  Commit: 3cac26f5419b68d37e1919001e1c46a765df294f
      https://github.com/llvm/llvm-project/commit/3cac26f5419b68d37e1919001e1c46a765df294f
  Author: Min-Yih Hsu <min.hsu at sifive.com>
  Date:   2025-01-02 (Thu, 02 Jan 2025)

  Changed paths:
    M llvm/include/llvm/CodeGen/GlobalISel/CombinerHelper.h
    M llvm/include/llvm/CodeGen/GlobalISel/Utils.h
    M llvm/include/llvm/Target/GlobalISel/Combine.td
    M llvm/lib/CodeGen/GlobalISel/CombinerHelper.cpp
    M llvm/lib/CodeGen/GlobalISel/Utils.cpp
    M llvm/lib/Target/RISCV/RISCVCombine.td
    A llvm/test/CodeGen/RISCV/GlobalISel/combine-neg-abs.ll

  Log Message:
  -----------
  [GISel] Combine `(neg (min/max x, (neg x)))` into `(max/min x, (neg x))` (#120998)

This is the GISel version of #120666. Also supports both unsigned and
signed version of min & max.


  Commit: 4010e0c45b87e4d073c407cae787e96d4808ad36
      https://github.com/llvm/llvm-project/commit/4010e0c45b87e4d073c407cae787e96d4808ad36
  Author: Roland McGrath <mcgrathr at google.com>
  Date:   2025-01-02 (Thu, 02 Jan 2025)

  Changed paths:
    M libc/include/__llvm-libc-common.h

  Log Message:
  -----------
  [libc] Use __attribute__((__noreturn__)) for _Noreturn in C < 11 (#121252)

When in modes like C99, the _Noreturn keyword is not available in
C.  But GNU-compatible compilers have a `noreturn` attribute with
the same effect on function declarations.


  Commit: 4b17a8b10ebb69d3bd30ee7714b5ca24f7e944dc
      https://github.com/llvm/llvm-project/commit/4b17a8b10ebb69d3bd30ee7714b5ca24f7e944dc
  Author: Valentin Clement (バレンタイン クレメン) <clementval at gmail.com>
  Date:   2025-01-02 (Thu, 02 Jan 2025)

  Changed paths:
    A flang/include/flang/Optimizer/Builder/CUFCommon.h
    M flang/include/flang/Optimizer/Dialect/CUF/CUFOps.td
    R flang/include/flang/Optimizer/Transforms/CUFCommon.h
    M flang/lib/Lower/Allocatable.cpp
    M flang/lib/Optimizer/Builder/CMakeLists.txt
    A flang/lib/Optimizer/Builder/CUFCommon.cpp
    M flang/lib/Optimizer/Transforms/CMakeLists.txt
    M flang/lib/Optimizer/Transforms/CUFAddConstructor.cpp
    R flang/lib/Optimizer/Transforms/CUFCommon.cpp
    M flang/lib/Optimizer/Transforms/CUFDeviceGlobal.cpp
    M flang/lib/Optimizer/Transforms/CUFOpConversion.cpp
    M flang/lib/Optimizer/Transforms/SimplifyIntrinsics.cpp
    A flang/test/Lower/CUDA/cuda-pointer-sync.cuf

  Log Message:
  -----------
  [flang][cuda] Add operation to sync global descriptor (#121520)

Introduce cuf.sync_descriptor to be used to sync device global
descriptor after pointer association.

Also move CUFCommon so it can be used in FIRBuilder lib as well.


  Commit: 6dcd2b035da34fa53693b401139a419adb7342db
      https://github.com/llvm/llvm-project/commit/6dcd2b035da34fa53693b401139a419adb7342db
  Author: Valentin Clement (バレンタイン クレメン) <clementval at gmail.com>
  Date:   2025-01-02 (Thu, 02 Jan 2025)

  Changed paths:
    M flang/include/flang/Runtime/CUDA/descriptor.h
    M flang/lib/Optimizer/Transforms/CUFOpConversion.cpp
    M flang/runtime/CUDA/descriptor.cpp
    A flang/test/Fir/CUDA/cuda-sync-desc.mlir

  Log Message:
  -----------
  [flang][cuda] Convert cuf.sync_descriptor to runtime call (#121524)

Convert the op to a new entry point in the runtime
`CUFSyncGlobalDescriptor`


  Commit: 532a2691bc015fafdd356c10b17c466fe28c49b1
      https://github.com/llvm/llvm-project/commit/532a2691bc015fafdd356c10b17c466fe28c49b1
  Author: Sudharsan Veeravalli <quic_svs at quicinc.com>
  Date:   2025-01-03 (Fri, 03 Jan 2025)

  Changed paths:
    M clang/test/Driver/print-supported-extensions-riscv.c
    M llvm/docs/RISCVUsage.rst
    M llvm/docs/ReleaseNotes.md
    M llvm/lib/Target/RISCV/Disassembler/RISCVDisassembler.cpp
    M llvm/lib/Target/RISCV/RISCVFeatures.td
    M llvm/lib/Target/RISCV/RISCVInstrInfoXqci.td
    M llvm/lib/TargetParser/RISCVISAInfo.cpp
    M llvm/test/CodeGen/RISCV/attributes.ll
    A llvm/test/MC/RISCV/xqcicli-invalid.s
    A llvm/test/MC/RISCV/xqcicli-valid.s
    M llvm/unittests/TargetParser/RISCVISAInfoTest.cpp

  Log Message:
  -----------
  [RISCV] Add Qualcomm uC Xqcicli (Conditional Load Immediate) extension (#121292)

This extension adds 12 instructions that conditionally load an immediate
value.

The current spec can be found at:
https://github.com/quic/riscv-unified-db/releases/latest

This patch adds assembler only support.


  Commit: 8e404509cc130d95f09f255649a87446ca81b187
      https://github.com/llvm/llvm-project/commit/8e404509cc130d95f09f255649a87446ca81b187
  Author: ZhaoQi <zhaoqi01 at loongson.cn>
  Date:   2025-01-03 (Fri, 03 Jan 2025)

  Changed paths:
    A llvm/test/ExecutionEngine/JITLink/RISCV/ELF_reloc_add.s
    R llvm/test/ExecutionEngine/JITLink/RISCV/riscv_reloc_add.s

  Log Message:
  -----------
  [JITLink][RISCV] Add feature relax for addsub tests. NFC (#121204)

R_RISCV_{ADD*/SUB*} relocations are kept only when feature relax
enabled. So it is better to add relax to the test, so that relocs can be
reserved for processing by the jitlink. That's what this test really
wants to test.


  Commit: 3792b36234b6c87d728f0a905543e284bf961460
      https://github.com/llvm/llvm-project/commit/3792b36234b6c87d728f0a905543e284bf961460
  Author: Fangrui Song <i at maskray.me>
  Date:   2025-01-02 (Thu, 02 Jan 2025)

  Changed paths:
    M lld/wasm/Config.h
    M lld/wasm/Driver.cpp
    M lld/wasm/InputChunks.cpp
    M lld/wasm/InputChunks.h
    M lld/wasm/InputElement.h
    M lld/wasm/InputFiles.cpp
    M lld/wasm/InputFiles.h
    M lld/wasm/LTO.cpp
    M lld/wasm/MapFile.cpp
    M lld/wasm/MarkLive.cpp
    M lld/wasm/OutputSections.cpp
    M lld/wasm/Relocations.cpp
    M lld/wasm/SymbolTable.cpp
    M lld/wasm/Symbols.cpp
    M lld/wasm/Symbols.h
    M lld/wasm/SyntheticSections.cpp
    M lld/wasm/SyntheticSections.h
    M lld/wasm/Writer.cpp

  Log Message:
  -----------
  [lld][WebAssembly] Replace config-> with ctx.arg.

Change the global variable reference to a member access of another
variable `ctx`. In the future, we may pass through `ctx` to functions to
eliminate global variables.

Pull Request: https://github.com/llvm/llvm-project/pull/119835


  Commit: 7531672712b0fb517f1818d512fbdfa6feed4232
      https://github.com/llvm/llvm-project/commit/7531672712b0fb517f1818d512fbdfa6feed4232
  Author: Valentin Clement (バレンタイン クレメン) <clementval at gmail.com>
  Date:   2025-01-02 (Thu, 02 Jan 2025)

  Changed paths:
    M flang/lib/Optimizer/Transforms/CUFOpConversion.cpp

  Log Message:
  -----------
  [flang][cuda][NFC] Remove unused variable (#121533)

Failed buildbot after https://github.com/llvm/llvm-project/pull/121524


  Commit: c1ecc0d168ad122d858dd5fec475da391f97e959
      https://github.com/llvm/llvm-project/commit/c1ecc0d168ad122d858dd5fec475da391f97e959
  Author: Alejandro Álvarez Ayllón <alejandro.alvarez at sonarsource.com>
  Date:   2025-01-03 (Fri, 03 Jan 2025)

  Changed paths:
    M clang/include/clang/Serialization/ASTWriter.h
    M clang/lib/Frontend/FrontendActions.cpp
    M clang/lib/Serialization/GeneratePCH.cpp
    A clang/test/Modules/pcm-with-errors.cpp

  Log Message:
  -----------
  [clang] Allow generating module interfaces with parsing errors (#121485)

Fixes a regression introduced in commit
da00c60dae0040185dc45039c4397f6e746548e9

This functionality was originally added in commit
5834996fefc937d6211dc8c8a5b200068753391a

Co-authored-by: Tomasz Kaminski <tomasz.kaminski at sonarsource.com>


  Commit: e8cf41311fe6940e096d3c9e8a43338b47cb8b2a
      https://github.com/llvm/llvm-project/commit/e8cf41311fe6940e096d3c9e8a43338b47cb8b2a
  Author: gulfemsavrun <gulfem at google.com>
  Date:   2025-01-02 (Thu, 02 Jan 2025)

  Changed paths:
    M compiler-rt/lib/rtsan/rtsan_interceptors_posix.cpp
    M compiler-rt/lib/rtsan/tests/rtsan_test_interceptors_posix.cpp

  Log Message:
  -----------
  Revert "[compiler-rt][rtsan] fopencookie support." (#121537)

Reverts llvm/llvm-project#120864 because it broke building compiler-rt
on Mac.

https://luci-milo.appspot.com/ui/p/fuchsia/builders/toolchain.ci/clang-mac-arm64/b8726812736235038609/overview


  Commit: 510a5c7fc25b2a3c33679480131cd60049747dd1
      https://github.com/llvm/llvm-project/commit/510a5c7fc25b2a3c33679480131cd60049747dd1
  Author: Fangrui Song <i at maskray.me>
  Date:   2025-01-02 (Thu, 02 Jan 2025)

  Changed paths:
    M lld/ELF/SyntheticSections.cpp
    M lld/test/ELF/linkerscript/discard-section-dynsym.s

  Log Message:
  -----------
  [ELF] Fix .gnu.version crash when .dynsym is discarded

Fix #88650

In addition, delete the unneeded comment.
https://sourceware.org/gnu-gabi/program-loading-and-dynamic-linking.txt


  Commit: 9df375e5eae726c5a90ada70f9535a5e22e90214
      https://github.com/llvm/llvm-project/commit/9df375e5eae726c5a90ada70f9535a5e22e90214
  Author: YAMAMOTO Takashi <yamamoto at midokura.com>
  Date:   2025-01-02 (Thu, 02 Jan 2025)

  Changed paths:
    A lld/test/wasm/dylink-non-pie.s
    M lld/wasm/Relocations.cpp

  Log Message:
  -----------
  [lld][WebAssembly] Fix non-pie dynamic-linking executable (#108146)

The commit 22b7b84860d39da71964c9b329937f2ee1d875ba
made the symbols provided by shared libraries "defined",
and thus effectively made it impossible to generate non-pie
dynamically linked executables using
--unresolved-symbols=import-dynamic.

This commit, based on https://github.com/llvm/llvm-project/pull/109249,
fixes it by checking sym->isShared() explictly.
(as a bonus, you don't need to rely on
--unresolved-symbols=import-dynamic
anymore.)

Fixes https://github.com/llvm/llvm-project/issues/107387


  Commit: e4372c4454c963c9f52dbf2a10229797f3f1e6fc
      https://github.com/llvm/llvm-project/commit/e4372c4454c963c9f52dbf2a10229797f3f1e6fc
  Author: ZhaoQi <zhaoqi01 at loongson.cn>
  Date:   2025-01-03 (Fri, 03 Jan 2025)

  Changed paths:
    M llvm/test/CodeGen/LoongArch/psabi-restricted-scheduling.ll

  Log Message:
  -----------
  [LoongArch] Pre-commit tests for tls-desc scheduling. NFC (#121538)

Code sequence for tls-desc in large code model is not expected to be
scheduled according to psABI 2.30.

A later commit will fix it.


  Commit: 56e944bede9654127cc210506a6cccdd43cd96e7
      https://github.com/llvm/llvm-project/commit/56e944bede9654127cc210506a6cccdd43cd96e7
  Author: Alex MacLean <amaclean at nvidia.com>
  Date:   2025-01-02 (Thu, 02 Jan 2025)

  Changed paths:
    M llvm/lib/IR/SafepointIRVerifier.cpp
    M llvm/lib/Transforms/AggressiveInstCombine/AggressiveInstCombine.cpp

  Log Message:
  -----------
  [NFC] add anonymous namespace to a couple classes (#121511)

This ensures these classes are visible only to the appropriate
translation unit and allows for more optimizations.


  Commit: b6c06d1a8d9b359e7319312a2a7654f0e7c6690c
      https://github.com/llvm/llvm-project/commit/b6c06d1a8d9b359e7319312a2a7654f0e7c6690c
  Author: Lang Hames <lhames at gmail.com>
  Date:   2025-01-03 (Fri, 03 Jan 2025)

  Changed paths:
    M llvm/lib/ExecutionEngine/Orc/Debugging/DebuggerSupportPlugin.cpp
    A llvm/test/ExecutionEngine/JITLink/x86-64/MachO-check-dwarf-filename.s

  Log Message:
  -----------
  [ORC] Fix bug in source file name finding in DebuggerSupportPlugin.

The debug section map was using MachO section names (with the "__" prefix), but
DWARFContext expects section names with the object format prefix stripped off.
This was preventing DWARFContext from accessing the debug_str section,
resulting in bogus source name strings.


  Commit: 1c997feff16860ab6b21c5c03dc7ca65f300967f
      https://github.com/llvm/llvm-project/commit/1c997feff16860ab6b21c5c03dc7ca65f300967f
  Author: dmasloff <74042473+dmasloff at users.noreply.github.com>
  Date:   2025-01-02 (Thu, 02 Jan 2025)

  Changed paths:
    M clang/docs/ClangFormatStyleOptions.rst
    M clang/docs/ReleaseNotes.rst
    M clang/include/clang/Format/Format.h
    M clang/lib/Format/Format.cpp
    M clang/lib/Format/UnwrappedLineFormatter.cpp
    M clang/unittests/Format/ConfigParseTest.cpp
    M clang/unittests/Format/FormatTest.cpp

  Log Message:
  -----------
  [clang-format] Add option WrapNamespaceBodyWithNewlines (#106145)

It wraps the body of namespace with additional newlines, turning this code:
```
namespace N {
int function();
}
```
into the following:
```
namespace N {

int function();

}
```

---------

Co-authored-by: Owen Pan <owenpiano at gmail.com>


  Commit: 72db3f989e499c8c5d585d3624cd563600cd2396
      https://github.com/llvm/llvm-project/commit/72db3f989e499c8c5d585d3624cd563600cd2396
  Author: Pengcheng Wang <wangpengcheng.pp at bytedance.com>
  Date:   2025-01-03 (Fri, 03 Jan 2025)

  Changed paths:
    M llvm/lib/Target/RISCV/RISCVTargetTransformInfo.cpp
    M llvm/test/CodeGen/RISCV/memcmp-optsize.ll
    M llvm/test/CodeGen/RISCV/memcmp.ll

  Log Message:
  -----------
  [RISCV] Allow tail memcmp expansion (#121460)

This optimization was introduced by #70469.

Like AArch64, we allow tail expansions for 3 on RV32 and 3/5/6
on RV64.

This can simplify the comparison and reduce the number of blocks.


  Commit: 93a68a5188b6aa940f51d8ce0317299409f828ae
      https://github.com/llvm/llvm-project/commit/93a68a5188b6aa940f51d8ce0317299409f828ae
  Author: Lang Hames <lhames at gmail.com>
  Date:   2025-01-03 (Fri, 03 Jan 2025)

  Changed paths:
    M llvm/test/ExecutionEngine/JITLink/x86-64/MachO-check-dwarf-filename.s

  Log Message:
  -----------
  [ORC] Testcase requires asserts as it depends on debugging output.


  Commit: febe1a9d286df495ca342011b3134823eee37557
      https://github.com/llvm/llvm-project/commit/febe1a9d286df495ca342011b3134823eee37557
  Author: Lang Hames <lhames at gmail.com>
  Date:   2025-01-03 (Fri, 03 Jan 2025)

  Changed paths:
    M llvm/include/llvm/ExecutionEngine/Orc/MachOBuilder.h

  Log Message:
  -----------
  [ORC] Use structured binding to improve readability. NFC.


  Commit: 30b73ed7bd8934c32e4bd5430bccf52a226deabd
      https://github.com/llvm/llvm-project/commit/30b73ed7bd8934c32e4bd5430bccf52a226deabd
  Author: Lang Hames <lhames at gmail.com>
  Date:   2025-01-03 (Fri, 03 Jan 2025)

  Changed paths:
    M llvm/lib/ExecutionEngine/Orc/MachOPlatform.cpp

  Log Message:
  -----------
  [ORC][MachO] Avoid another race condition in MachOPlatform bootstrap.

Similar to a9e75b1d4d1: During MachOPlatform bootstrap we need to defer actions
until essential platform functionality has been loaded, but the platform itself
may be loaded under a concurrent dispatcher so we have to guard against the
deferred actions vector being accessed concurrently.

This fixes a probablistic failure in the ORC runtime regression tests on
Darwin/x86-64 that was spotted after edca1d9bad2 (which turned on concurrent
linking by default in llvm-jitlink).


  Commit: 82fecab85ae2d72ffac0e44749d99f12d6f71cc0
      https://github.com/llvm/llvm-project/commit/82fecab85ae2d72ffac0e44749d99f12d6f71cc0
  Author: Fangrui Song <i at maskray.me>
  Date:   2025-01-02 (Thu, 02 Jan 2025)

  Changed paths:
    M clang/include/clang/Basic/CodeGenOptions.h
    M clang/lib/Basic/CodeGenOptions.cpp
    M clang/lib/Frontend/CompilerInvocation.cpp
    M clang/test/CodeGen/code-coverage.c
    M compiler-rt/test/profile/Inputs/instrprof-gcov-exceptions.cpp.gcov
    M compiler-rt/test/profile/Inputs/instrprof-gcov-multiple-bbs-single-line.c.gcov
    M compiler-rt/test/profile/Inputs/instrprof-gcov-one-line-function.c.gcov
    M compiler-rt/test/profile/Inputs/instrprof-gcov-switch1.c.gcov
    M compiler-rt/test/profile/Inputs/instrprof-gcov-switch2.c.gcov
    M compiler-rt/test/profile/Inputs/instrprof-shared-lib_in-loop.c.gcov
    M compiler-rt/test/profile/Inputs/instrprof-shared-main.c.gcov
    M compiler-rt/test/profile/gcov-__gcov_flush-terminate.c
    M llvm/lib/Transforms/Instrumentation/GCOVProfiling.cpp
    M llvm/test/Transforms/GCOVProfiling/exit-block.ll
    M llvm/test/Transforms/GCOVProfiling/version.ll

  Log Message:
  -----------
  [gcov] Bump default version to 11.1

The gcov version is set to 11.1 (compatible with gcov 9) even if
`-Xclang -coverage-version=` specified version is less than 11.1.

Therefore, we can drop producer support for version < 11.1.


  Commit: 3ef78188d0d39cd00429f77f1b300be9bdf85770
      https://github.com/llvm/llvm-project/commit/3ef78188d0d39cd00429f77f1b300be9bdf85770
  Author: Pengcheng Wang <wangpengcheng.pp at bytedance.com>
  Date:   2025-01-03 (Fri, 03 Jan 2025)

  Changed paths:
    M llvm/lib/Target/PowerPC/PPCInstrInfo.cpp

  Log Message:
  -----------
  [PowerPC] Use `RegisterClassInfo::getRegPressureSetLimit` (#120383)

`RegisterClassInfo::getRegPressureSetLimit` is a wrapper of
`TargetRegisterInfo::getRegPressureSetLimit` with some logics to
adjust the limit by removing reserved registers.

It seems that we shouldn't use
`TargetRegisterInfo::getRegPressureSetLimit`
directly, just like the comment "This limit must be adjusted
dynamically for reserved registers" said.

Separate from https://github.com/llvm/llvm-project/pull/118787


  Commit: 27f30029741ecf023baece7b3dde1ff9011ffefc
      https://github.com/llvm/llvm-project/commit/27f30029741ecf023baece7b3dde1ff9011ffefc
  Author: Michael Kruse <llvm-project at meinersbur.de>
  Date:   2025-01-03 (Fri, 03 Jan 2025)

  Changed paths:
    R llvm/utils/TableGen/ARMTargetDefEmitter.cpp
    R llvm/utils/TableGen/Attributes.cpp
    A llvm/utils/TableGen/Basic/ARMTargetDefEmitter.cpp
    A llvm/utils/TableGen/Basic/Attributes.cpp
    M llvm/utils/TableGen/Basic/CMakeLists.txt
    A llvm/utils/TableGen/Basic/DirectiveEmitter.cpp
    A llvm/utils/TableGen/Basic/IntrinsicEmitter.cpp
    A llvm/utils/TableGen/Basic/RISCVTargetDefEmitter.cpp
    A llvm/utils/TableGen/Basic/TableGen.cpp
    A llvm/utils/TableGen/Basic/TableGen.h
    A llvm/utils/TableGen/Basic/VTEmitter.cpp
    M llvm/utils/TableGen/CMakeLists.txt
    R llvm/utils/TableGen/DirectiveEmitter.cpp
    R llvm/utils/TableGen/IntrinsicEmitter.cpp
    R llvm/utils/TableGen/RISCVTargetDefEmitter.cpp
    R llvm/utils/TableGen/TableGen.cpp
    R llvm/utils/TableGen/VTEmitter.cpp
    A llvm/utils/TableGen/llvm-min-tblgen.cpp
    A llvm/utils/TableGen/llvm-tblgen.cpp

  Log Message:
  -----------
  [llvm-(min-)tblgen] Avoid redundant source compilation (#114494)

All the sources of `llvm-min-tblgen` are also used for `llvm-tblgen`,
with identical compilation flags. Reuse the object files of
`llvm-min-tblgen` for `llvm-tblgen` by applying the usual source
structure of an executable: One file per executable which named after
the executable name containing the (in this case trivial) main function,
which just calls the tblgen_main in TableGen.cpp. This should also clear
up any confusion (including mine) of where each executable's main
function is.

While this slightly reduces build time, the main motivation is ccache.
Using the hard_link
option, building the object files for `llvm-tblgen` will result in a
hard link to the same object file already used for `llvm-min-tblgen`. To
signal the build system that the file is new, ccache will update the
file's time stamp. Unfortunately, time stamps are shared between all
hard-linked files s.t. this will indirectly also update the time stamps
for the object files used for `llvm-tblgen`. At the next run, Ninja will
recognize this time stamp discrepancy to the expected stamp recorded in
`.ninja_log` and rebuild those object files for `llvm-min-tblgen`, which
again will also update the stamp for the `llvm-tblgen`... . This is
especially annoying for tablegen because it means Ninja will re-run all
tablegenning in every build.

I am using the hard_link option because it reduces the cost of having
multiple build-trees of the LLVM sources and reduces the wear to the SSD
they are stored on.


  Commit: 67ff11ea5b2d2d51fa634361dd88c6dc9429706a
      https://github.com/llvm/llvm-project/commit/67ff11ea5b2d2d51fa634361dd88c6dc9429706a
  Author: ZhaoQi <zhaoqi01 at loongson.cn>
  Date:   2025-01-03 (Fri, 03 Jan 2025)

  Changed paths:
    M llvm/lib/Target/LoongArch/LoongArchInstrInfo.cpp
    M llvm/test/CodeGen/LoongArch/psabi-restricted-scheduling.ll

  Log Message:
  -----------
  [LoongArch] Avoid scheduling tls-desc code sequence in large code model (#121541)


  Commit: 8b23ebb498bc67f03571b1d429771b28868b8932
      https://github.com/llvm/llvm-project/commit/8b23ebb498bc67f03571b1d429771b28868b8932
  Author: Brox Chen <guochen2 at amd.com>
  Date:   2025-01-03 (Fri, 03 Jan 2025)

  Changed paths:
    M llvm/lib/Target/AMDGPU/VOP3Instructions.td
    M llvm/test/CodeGen/AMDGPU/fmax3.ll
    M llvm/test/CodeGen/AMDGPU/fmin3.ll
    M llvm/test/MC/AMDGPU/gfx12_asm_vop3.s
    M llvm/test/MC/AMDGPU/gfx12_asm_vop3_aliases.s
    M llvm/test/MC/AMDGPU/gfx12_asm_vop3_dpp16.s
    M llvm/test/MC/AMDGPU/gfx12_asm_vop3_dpp8.s
    M llvm/test/MC/Disassembler/AMDGPU/gfx12_dasm_vop3.txt
    M llvm/test/MC/Disassembler/AMDGPU/gfx12_dasm_vop3_dpp16.txt
    M llvm/test/MC/Disassembler/AMDGPU/gfx12_dasm_vop3_dpp8.txt

  Log Message:
  -----------
  [AMDGPU][True16[MC] true16 for v_max3/min3_num_f16 (#121510)

V_MAX3/MIN3_NUM_F16 are alias GFX12 instructions with V_MAX3/MIN3_F16 in
GFX11 and they should be updated together.

This fix a bug introduced in
https://github.com/llvm/llvm-project/pull/113603 such that only
V_MAX3/MIN3_F16 are replaced in true16 format. Also added GFX12 runlines
for CodeGen test


  Commit: 9f6a1ddb43133328c90edfa29ccd4c714b289cb6
      https://github.com/llvm/llvm-project/commit/9f6a1ddb43133328c90edfa29ccd4c714b289cb6
  Author: Andrzej Warzyński <andrzej.warzynski at arm.com>
  Date:   2025-01-03 (Fri, 03 Jan 2025)

  Changed paths:
    M mlir/lib/Dialect/Tensor/IR/TensorOps.cpp
    M mlir/test/Dialect/Tensor/canonicalize.mlir
    M mlir/test/Dialect/Tensor/invalid.mlir

  Log Message:
  -----------
  [mlir][tensor] Introduce `FoldTensorCastUnPackOp` (#121393)

This patch specializes `FoldTensorCastProducerOp` for `tensor::UnPackOp` by
introducing a dedicated pattern: `FoldTensorCastUnPackOp`. This mirrors a
similar update made for `tensor::PackOp` in #114559. Below is the updated
rationale tailored to `tensor::UnPackOp`.

ISSUE DESCRIPTION

Currently, `FoldTensorCastProducerOp` incorrectly folds the following:

```mlir
%cast = tensor.cast %dest : tensor<1x1x8x1xi32> to tensor<1x1x?x1xi32>
// Note: `%c8` and `?`.
%unpack = tensor.unpack %cast
  inner_dims_pos = [0, 1]
  inner_tiles = [%c8, 1]
  into %res : tensor<1x1x?x1xi32> -> tensor<7x?xi32>
```
as:

```mlir
// Note: `%c8` and `8`.
%unpack = tensor.unpack %cast
  inner_dims_pos = [0, 1]
  inner_tiles = [%c8, 1]
  into %res : tensor<1x1x8x1xi32> -> tensor<7x?xi32>
```
This triggers an Op verification failure because the folder does not
update the inner tile sizes in the unpack Op. This patch addresses the
issue by ensuring proper handling of inner tile sizes.

ADDITIONAL CHANGES

* invalid.mlir: Fixed a typo.
* TensorOps.cpp:
  * Removed unnecessary `(void)tileSize`.
  * Added comments following the discussion in PR #115772.
  * Made minor updates to `FoldTensorCastPackOp` for consistency with the newly
    introduced `FoldTensorCastUnPackOp`.
* Tensor/canonicalize.mlir: Ensured consistent usage of `test_attr` (e.g.,
  replaced mixed use of `test_attr` and `some_attr`).


  Commit: 258256821753504836f797e38d83a8e88daa424d
      https://github.com/llvm/llvm-project/commit/258256821753504836f797e38d83a8e88daa424d
  Author: Andrzej Warzyński <andrzej.warzynski at arm.com>
  Date:   2025-01-03 (Fri, 03 Jan 2025)

  Changed paths:
    M mlir/lib/Dialect/Linalg/Transforms/Transforms.cpp
    M mlir/test/Dialect/Linalg/decompose-tensor-unpack-tile.mlir
    M mlir/test/Dialect/Linalg/decompose-tensor-unpack.mlir
    A mlir/test/Dialect/Linalg/td/decompose-unpack.mlir

  Log Message:
  -----------
  [mlir] Add missing patterns to `linalg.decompose_pack_unpack` TD Op (#121400)

This PR is a follow-up to #116373 and #116439, where a Transform Dialect
(TD) operation was introduced to collect patterns for decomposing
tensor.pack. The second patch renamed the patterns and the TD Op.
Originally, adding patterns for `tensor.unpack` was marked as a TODO,
which this PR addresses.

No new tests are introduced in this PR. Instead, existing tests from:

* "decompose-tensor-unpack.mlir"

are reused. To achieve this:

* The test is updated to use the TD operation
  `transform.apply_patterns.linalg.decompose_pack_unpack` instead of the
  flag `--test-linalg-transform-patterns="test-decompose-tensor-unpack"`,
  avoiding artificial tests created solely for the TD Op.
* The TD sequence is saved to a new file, "decompose_unpack.mlir", and
  preloaded using the option.


  Commit: 2fae5bdea7c2016d4086aa7ecf3c5d0592ce95c8
      https://github.com/llvm/llvm-project/commit/2fae5bdea7c2016d4086aa7ecf3c5d0592ce95c8
  Author: Shao-Ce SUN <sunshaoce at outlook.com>
  Date:   2025-01-03 (Fri, 03 Jan 2025)

  Changed paths:
    M clang/test/Driver/print-supported-extensions-riscv.c
    M clang/test/Preprocessor/riscv-target-features.c
    M llvm/docs/RISCVUsage.rst
    M llvm/docs/ReleaseNotes.md
    M llvm/lib/Target/RISCV/RISCVFeatures.td
    M llvm/lib/Target/RISCV/RISCVSystemOperands.td
    M llvm/test/CodeGen/RISCV/attributes.ll
    M llvm/test/CodeGen/RISCV/features-info.ll
    M llvm/test/MC/RISCV/attribute-arch.s
    M llvm/test/MC/RISCV/machine-csr-names.s
    M llvm/unittests/TargetParser/RISCVISAInfoTest.cpp

  Log Message:
  -----------
  [RISCV] Add support of Sdext,Sdtrig extentions (#120936)

`Sdext` and `Sdtrig` are RISC-V extensions related to debugging.

The full specification can be found at

https://github.com/riscv/riscv-debug-spec/releases/download/1.0.0-rc4/riscv-debug-specification.pdf


  Commit: e4e47cef55886036651ff7f0dfd8475d3a158a4c
      https://github.com/llvm/llvm-project/commit/e4e47cef55886036651ff7f0dfd8475d3a158a4c
  Author: Haojian Wu <hokein.wu at gmail.com>
  Date:   2025-01-03 (Fri, 03 Jan 2025)

  Changed paths:
    M utils/bazel/llvm-project-overlay/llvm/BUILD.bazel

  Log Message:
  -----------
  [bazel] Fix the broken llvm-tblgen build for 27f30029741ecf023baece7b3dde1ff9011ffefc


  Commit: 366e836051adf5eb352b00828541197729e061e6
      https://github.com/llvm/llvm-project/commit/366e836051adf5eb352b00828541197729e061e6
  Author: ShihPo Hung <shihpo.hung at sifive.com>
  Date:   2025-01-03 (Fri, 03 Jan 2025)

  Changed paths:
    M llvm/test/Analysis/CostModel/RISCV/rvv-cmp.ll
    A llvm/test/Analysis/CostModel/RISCV/rvv-fcmp-f16.ll

  Log Message:
  -----------
  [RISCV][NFC] precommit test for fcmp with f16


  Commit: ad192f9f20ad48188b80855c085a0ad7266e0056
      https://github.com/llvm/llvm-project/commit/ad192f9f20ad48188b80855c085a0ad7266e0056
  Author: Lang Hames <lhames at gmail.com>
  Date:   2025-01-03 (Fri, 03 Jan 2025)

  Changed paths:
    M llvm/test/ExecutionEngine/JITLink/x86-64/MachO-check-dwarf-filename.s

  Log Message:
  -----------
  [ORC] Restrict check-dwarf-filename test to Darwin for now.

This test is failing on Windows (see e.g.
https://lab.llvm.org/buildbot/#/builders/146/builds/1983), probably due to
incomplete debugger support there (the test registers debug info in-process, so
non-Darwin builds shouldn't be expected to have the right symbols).


  Commit: cdad18319425a7bf93cc25b276a7961fe5b1168b
      https://github.com/llvm/llvm-project/commit/cdad18319425a7bf93cc25b276a7961fe5b1168b
  Author: Mariya Podchishchaeva <mariya.podchishchaeva at intel.com>
  Date:   2025-01-03 (Fri, 03 Jan 2025)

  Changed paths:
    M clang/lib/Sema/SemaInit.cpp
    M clang/test/Analysis/embed.c

  Log Message:
  -----------
  [clang] Fix #embed "fast path" (#121479)

When a single #embed directive is used to initialize a char array, the
case is optimized via swap of EmbedExpr to underlying StringLiteral,
resulting in better performance in AST consumers.
While browsing through the code, I realized that
7122b70cfc8e23a069410215c363da76d842bda4
which changed type of EmbedExpr made the "fast path" unreachable. This
patch fixes this unfortunate situation.


  Commit: e3ec5a728674fd775bb85a7d159acdb4fa1d69c2
      https://github.com/llvm/llvm-project/commit/e3ec5a728674fd775bb85a7d159acdb4fa1d69c2
  Author: Simon Pilgrim <llvm-dev at redking.me.uk>
  Date:   2025-01-03 (Fri, 03 Jan 2025)

  Changed paths:
    M llvm/lib/Transforms/Vectorize/VectorCombine.cpp
    M llvm/test/Transforms/PhaseOrdering/X86/hadd.ll
    M llvm/test/Transforms/PhaseOrdering/X86/pr50392.ll
    M llvm/test/Transforms/VectorCombine/X86/extract-binop-inseltpoison.ll

  Log Message:
  -----------
  [VectorCombine] foldShuffleOfBinops - fold shuffle(binop(shuffle(x),shuffle(z)),binop(shuffle(y),shuffle(w)) -> binop(shuffle(x,z),shuffle(y,w)) (#120984)

Some patterns (in particular horizontal style patterns) can end up with shuffles straddling both sides of a binop/cmp.

Where individually the folds aren't worth it, by merging the (oneuse) shuffles we can notably reduce the net instruction count and cost.

One of the final steps towards finally addressing #34072


  Commit: d3eb65f15dfda454424125b2fa675378bd350889
      https://github.com/llvm/llvm-project/commit/d3eb65f15dfda454424125b2fa675378bd350889
  Author: Kaviya Rajendiran <67495422+kaviya2510 at users.noreply.github.com>
  Date:   2025-01-03 (Fri, 03 Jan 2025)

  Changed paths:
    M clang/test/OpenMP/irbuilder_simd_aligned.cpp
    M flang/lib/Lower/OpenMP/ClauseProcessor.cpp
    M llvm/lib/Frontend/OpenMP/OMPIRBuilder.cpp
    M llvm/unittests/Frontend/OpenMPIRBuilderTest.cpp
    M mlir/lib/Target/LLVMIR/Dialect/OpenMP/OpenMPToLLVMIRTranslation.cpp
    A mlir/test/Target/LLVMIR/openmp-simd-aligned.mlir
    M mlir/test/Target/LLVMIR/openmp-todo.mlir

  Log Message:
  -----------
  [MLIR][OpenMP] Lowering aligned clause to LLVM IR for SIMD directive (#119536)

This patch,
- Added a translation support for aligned clause in SIMD directive by passing the alignment details to "llvm.assume" intrinsic.
- Updated the insertion point for llvm.assume intrinsic call in "OMPIRBuilder.cpp".
- Added a check in aligned clause MLIR lowering, to ensure that the alignment value must be a power of 2.


  Commit: 2e41489d7b1498ec8a18b99e6d7db9e946f2d786
      https://github.com/llvm/llvm-project/commit/2e41489d7b1498ec8a18b99e6d7db9e946f2d786
  Author: Younan Zhang <zyn7109 at gmail.com>
  Date:   2025-01-03 (Fri, 03 Jan 2025)

  Changed paths:
    M clang/docs/ReleaseNotes.rst
    M clang/lib/AST/ASTContext.cpp
    M clang/lib/Sema/SemaTemplate.cpp
    M clang/lib/Sema/SemaTemplateDeduction.cpp
    M clang/test/SemaCXX/cxx2c-fold-exprs.cpp

  Log Message:
  -----------
  [Clang] Fix unexpanded packs in NTTP type constraints (#121296)

In the case where a type-constraint on an NTTP contains a pack, we form
a PackExpansionType to model it. However, there are a few places
expecting it to be a non-pack expansion, and luckily only small changes
could make them work.

Fixes https://github.com/llvm/llvm-project/issues/88866


  Commit: 85849917f7ba19f6906f64726dc5e7101f8984ce
      https://github.com/llvm/llvm-project/commit/85849917f7ba19f6906f64726dc5e7101f8984ce
  Author: David CARLIER <devnexen at gmail.com>
  Date:   2025-01-03 (Fri, 03 Jan 2025)

  Changed paths:
    M compiler-rt/lib/rtsan/rtsan_interceptors_posix.cpp
    M compiler-rt/lib/rtsan/tests/rtsan_test_interceptors_posix.cpp

  Log Message:
  -----------
  [compiler-rt][rtsan] Reland "fopencookie support." (#120864) (#121547)


  Commit: 579ced4f8266b273d15b2801067a828151a222ef
      https://github.com/llvm/llvm-project/commit/579ced4f8266b273d15b2801067a828151a222ef
  Author: Hugo Trachino <hugo.trachino at huawei.com>
  Date:   2025-01-03 (Fri, 03 Jan 2025)

  Changed paths:
    M mlir/python/mlir/dialects/transform/structured.py
    M mlir/test/python/dialects/transform_structured_ext.py

  Log Message:
  -----------
  [MLIR][Python] Add structured.fuseop to python interpreter (#120601)

Implements a python interface for structured.fuseOp allowing more freedom with inputs.


  Commit: f87a9db8322643ccbc324e317a75b55903129b55
      https://github.com/llvm/llvm-project/commit/f87a9db8322643ccbc324e317a75b55903129b55
  Author: David Green <david.green at arm.com>
  Date:   2025-01-03 (Fri, 03 Jan 2025)

  Changed paths:
    M llvm/lib/Target/ARM/ARMISelLowering.cpp
    M llvm/test/CodeGen/Thumb2/bf16-instructions.ll

  Log Message:
  -----------
  [ARM] Expand fp64 bf16 converts similarly to f32

This helps with +fp64 targets where the f64s are legal and not previously
lowered. It can treat fpextends as a shift + cvt and fptrunc can use a libcall.


  Commit: 5cf138cfbaa8040100fed1d0d5e0a189759b24ab
      https://github.com/llvm/llvm-project/commit/5cf138cfbaa8040100fed1d0d5e0a189759b24ab
  Author: David Spickett <david.spickett at linaro.org>
  Date:   2025-01-03 (Fri, 03 Jan 2025)

  Changed paths:
    M llvm/include/llvm/ExecutionEngine/JITLink/loongarch.h

  Log Message:
  -----------
  [llvm][JITLink][LoongArch] Fix bit extraction on 32 bit platforms

This shifted `1UL` to make the mask. On 32 bit Linux UL is 32 bit,
so if Hi+1 was >= 32 then you'd get the wrong result here.

The other version of this uses 1ULL, but using the uint64_t typename
here saves someone going to check what ULL means on different platforms.

This fixes test failures seen on Linaro's 32 bit bots:
https://lab.llvm.org/buildbot/#/builders/39/builds/3700
https://lab.llvm.org/buildbot/#/builders/122/builds/781

Though I cannot say exactly why this fixes them. Does not seem
like the new code was triggering this problem, but somehow it
must be.


  Commit: cba9c6ac15b462e68cf76d496ba0f832a531db8b
      https://github.com/llvm/llvm-project/commit/cba9c6ac15b462e68cf76d496ba0f832a531db8b
  Author: Adrian Kuegel <akuegel at google.com>
  Date:   2025-01-03 (Fri, 03 Jan 2025)

  Changed paths:
    M mlir/lib/Transforms/Utils/DialectConversion.cpp

  Log Message:
  -----------
  [mlir] Fix typo in parameter name annotation comment.

Found by ClangTidyBugProne check.


  Commit: b1c195cbd16adbc4dac8f4bc01b8a34e315d3e61
      https://github.com/llvm/llvm-project/commit/b1c195cbd16adbc4dac8f4bc01b8a34e315d3e61
  Author: Nico Weber <thakis at chromium.org>
  Date:   2025-01-03 (Fri, 03 Jan 2025)

  Changed paths:
    M llvm/utils/gn/secondary/llvm/utils/TableGen/BUILD.gn
    M llvm/utils/gn/secondary/llvm/utils/TableGen/Basic/BUILD.gn
    M llvm/utils/gn/secondary/llvm/utils/TableGen/Common/BUILD.gn

  Log Message:
  -----------
  [gn] port 27f30029741e (yet another tblgen reorg)


  Commit: d598829375634da42910e2624f181f6b843bdc8b
      https://github.com/llvm/llvm-project/commit/d598829375634da42910e2624f181f6b843bdc8b
  Author: Nico Weber <thakis at chromium.org>
  Date:   2025-01-03 (Fri, 03 Jan 2025)

  Changed paths:
    M llvm/utils/gn/secondary/llvm/utils/TableGen/Common/BUILD.gn

  Log Message:
  -----------
  [gn] make LLVMTableGenCommon a static_library again

Else TableGenTests doesn't link.


  Commit: e53494c750246118c313b3cbf7479edb682f2208
      https://github.com/llvm/llvm-project/commit/e53494c750246118c313b3cbf7479edb682f2208
  Author: Adrian Kuegel <akuegel at google.com>
  Date:   2025-01-03 (Fri, 03 Jan 2025)

  Changed paths:
    M mlir/lib/Dialect/LLVMIR/IR/LLVMAttrs.cpp

  Log Message:
  -----------
  [mlir] Fix 0 values passed to the wrong parameters.

This was found by modernize-use-nullptr ClangTidy check, which suggested
to pass nullptr instead of 0 to DIFileAttr.
However it looks like the intention was to pass the two 0 values for
line and scopeLine, and we should pass {} to DIFileAttr. Do that change.


  Commit: 119fc720a19e047fee59d7f7446c911b158563e0
      https://github.com/llvm/llvm-project/commit/119fc720a19e047fee59d7f7446c911b158563e0
  Author: Haojian Wu <hokein.wu at gmail.com>
  Date:   2025-01-03 (Fri, 03 Jan 2025)

  Changed paths:
    M clang/test/Driver/spirv-openmp-toolchain.c

  Log Message:
  -----------
  NFC, explicitly specify the -fopenmp lib in spirv-openmp-toolchain.c test

Don't rely on the default `CLANG_DEFAULT_OPENMP_RUNTIME` env variable
which is `libomp` by default.


  Commit: 6cd171dc3330a055a8d8a1ddff63631d42150b8a
      https://github.com/llvm/llvm-project/commit/6cd171dc3330a055a8d8a1ddff63631d42150b8a
  Author: Nico Weber <thakis at chromium.org>
  Date:   2025-01-03 (Fri, 03 Jan 2025)

  Changed paths:
    M lld/COFF/InputFiles.cpp
    A lld/test/COFF/linkrepro-thin-archives.s

  Log Message:
  -----------
  [lld/COFF] Support thin archives in /reproduce: files (#121512)

This already worked without /wholearchive; now it works with it too.
(Only for thin archives containing relative file names, matching the ELF
and Mach-O ports.)


  Commit: e576c5bed79f8a9528391756c8475cc3a6276adf
      https://github.com/llvm/llvm-project/commit/e576c5bed79f8a9528391756c8475cc3a6276adf
  Author: Haojian Wu <hokein.wu at gmail.com>
  Date:   2025-01-03 (Fri, 03 Jan 2025)

  Changed paths:
    M llvm/test/ExecutionEngine/JITLink/x86-64/COFF_comdat_weak_plus_strong.s

  Log Message:
  -----------
  Fix an incorrect -show-graph command-line flag in COFF_comdat_weak_plus_strong.s test

The flag -show-graph has been renamed to -show-graphs in 01bdd8cffcaf97636b5fb6ee4933e62c872528d3


  Commit: df859f90aab261918eee26382021e8455b532f7d
      https://github.com/llvm/llvm-project/commit/df859f90aab261918eee26382021e8455b532f7d
  Author: Krzysztof Parzyszek <Krzysztof.Parzyszek at amd.com>
  Date:   2025-01-03 (Fri, 03 Jan 2025)

  Changed paths:
    M flang/examples/FlangOmpReport/FlangOmpReportVisitor.cpp
    M flang/include/flang/Parser/dump-parse-tree.h
    M flang/include/flang/Parser/parse-tree.h
    M flang/lib/Lower/OpenMP/OpenMP.cpp
    M flang/lib/Parser/openmp-parsers.cpp
    M flang/lib/Parser/unparse.cpp
    M flang/lib/Semantics/check-omp-structure.cpp
    M flang/lib/Semantics/check-omp-structure.h
    M flang/test/Lower/OpenMP/Todo/error.f90
    M flang/test/Parser/OpenMP/error-unparse.f90
    A flang/test/Parser/OpenMP/nothing.f90

  Log Message:
  -----------
  [flang][OpenMP] Frontend support for NOTHING directive (#120606)

Create OpenMPUtilityConstruct and put the two utility directives in it
(error and nothing). Rename OpenMPErrorConstruct to OmpErrorDirective.


  Commit: 62b5cf041059a90215788a0bfefb8fc180fd0b5a
      https://github.com/llvm/llvm-project/commit/62b5cf041059a90215788a0bfefb8fc180fd0b5a
  Author: Florian Mayer <fmayer at google.com>
  Date:   2025-01-03 (Fri, 03 Jan 2025)

  Changed paths:
    A llvm/test/Transforms/LoopVectorize/X86/drop-inbounds-flags-for-reverse-vector-pointer.ll

  Log Message:
  -----------
  [Vectorizer] precommit test for miscompilation (#120731)

we generate GEPs that are out of bounds but mark them as "inbound"


  Commit: 9d6527bc12547e28b86d180b76fe934a96aa518e
      https://github.com/llvm/llvm-project/commit/9d6527bc12547e28b86d180b76fe934a96aa518e
  Author: Acim Maravic <Acim.Maravic at amd.com>
  Date:   2025-01-03 (Fri, 03 Jan 2025)

  Changed paths:
    M llvm/include/llvm/CodeGen/MachineMemOperand.h
    M llvm/lib/CodeGen/MachineOperand.cpp

  Log Message:
  -----------
  [CodeGen] Add MOTargetFlag4 to MachineMemOperand Flags (#120136)


  Commit: 3ace685105d3b50bca68328bf0c945af22d70f23
      https://github.com/llvm/llvm-project/commit/3ace685105d3b50bca68328bf0c945af22d70f23
  Author: Matthias Springer <me at m-sp.org>
  Date:   2025-01-03 (Fri, 03 Jan 2025)

  Changed paths:
    M flang/lib/Optimizer/CodeGen/BoxedProcedure.cpp
    M mlir/docs/DialectConversion.md
    M mlir/include/mlir/Transforms/DialectConversion.h
    M mlir/lib/Conversion/LLVMCommon/TypeConverter.cpp
    M mlir/lib/Dialect/EmitC/Transforms/TypeConversions.cpp
    M mlir/lib/Dialect/Linalg/Transforms/Detensorize.cpp
    M mlir/lib/Dialect/Quant/Transforms/StripFuncQuantTypes.cpp
    M mlir/lib/Dialect/SparseTensor/Transforms/Utils/SparseTensorDescriptor.cpp
    M mlir/lib/Dialect/Vector/Transforms/VectorLinearize.cpp
    M mlir/lib/Transforms/Utils/DialectConversion.cpp
    M mlir/test/Transforms/test-legalizer.mlir
    M mlir/test/lib/Dialect/Func/TestDecomposeCallGraphTypes.cpp
    M mlir/test/lib/Dialect/Test/TestPatterns.cpp
    M mlir/test/lib/Transforms/TestDialectConversion.cpp

  Log Message:
  -----------
  [mlir][Transforms] Support 1:N mappings in `ConversionValueMapping` (#116524)

This commit updates the internal `ConversionValueMapping` data structure
in the dialect conversion driver to support 1:N replacements. This is
the last major commit for adding 1:N support to the dialect conversion
driver.

Since #116470, the infrastructure already supports 1:N replacements. But
the `ConversionValueMapping` still stored 1:1 value mappings. To that
end, the driver inserted temporary argument materializations (converting
N SSA values into 1 value). This is no longer the case. Argument
materializations are now entirely gone. (They will be deleted from the
type converter after some time, when we delete the old 1:N dialect
conversion driver.)

Note for LLVM integration: Replace all occurrences of
`addArgumentMaterialization` (except for 1:N dialect conversion passes)
with `addSourceMaterialization`.

---------

Co-authored-by: Markus Böck <markus.boeck02 at gmail.com>


  Commit: 68d265666e708bad1c63b419b6275aaba1a7dcd2
      https://github.com/llvm/llvm-project/commit/68d265666e708bad1c63b419b6275aaba1a7dcd2
  Author: Fabian Ritter <fabian.ritter at amd.com>
  Date:   2025-01-03 (Fri, 03 Jan 2025)

  Changed paths:
    M clang/docs/LanguageExtensions.rst

  Log Message:
  -----------
  [clang][NFC][docs] Fix typo in LanguageExtensions (#121576)


  Commit: a4d92400a6db9566d84cb4b900149e36e117f452
      https://github.com/llvm/llvm-project/commit/a4d92400a6db9566d84cb4b900149e36e117f452
  Author: Yingwei Zheng <dtcxzyw2333 at gmail.com>
  Date:   2025-01-03 (Fri, 03 Jan 2025)

  Changed paths:
    M llvm/lib/Transforms/InstCombine/InstructionCombining.cpp
    M llvm/test/Transforms/InstCombine/opaque-ptr.ll

  Log Message:
  -----------
  [InstCombine] Fix GEPNoWrapFlags propagation in `foldGEPOfPhi` (#121572)

Closes https://github.com/llvm/llvm-project/issues/121459.


  Commit: adeff9f63a24f60b0bf240bf13e40bbf7c1dd0e8
      https://github.com/llvm/llvm-project/commit/adeff9f63a24f60b0bf240bf13e40bbf7c1dd0e8
  Author: Krzysztof Parzyszek <Krzysztof.Parzyszek at amd.com>
  Date:   2025-01-03 (Fri, 03 Jan 2025)

  Changed paths:
    M flang/examples/FlangOmpReport/FlangOmpReportVisitor.cpp
    M flang/include/flang/Parser/parse-tree.h
    M flang/lib/Lower/OpenMP/OpenMP.cpp
    M flang/lib/Parser/openmp-parsers.cpp
    M flang/lib/Parser/unparse.cpp
    M flang/lib/Semantics/canonicalize-omp.cpp
    M flang/lib/Semantics/check-omp-structure.cpp
    M flang/lib/Semantics/check-omp-structure.h
    M flang/test/Parser/OpenMP/error-unparse.f90
    M flang/test/Parser/OpenMP/nothing.f90
    A flang/test/Semantics/OpenMP/error.f90

  Log Message:
  -----------
  [flang][OpenMP] Allow utility constructs in specification part (#121509)

Allow utility constructs (error and nothing) to appear in the
specification part as well as the execution part. The exception is
"ERROR AT(EXECUTION)" which should only be in the execution part.
In case of ambiguity (the boundary between the specification and the
execution part), utility constructs will be parsed as belonging to the
specification part. In such cases move them to the execution part in the
OpenMP canonicalization code.


  Commit: faa30be101e9ae2bdb58d2acb250341f1b13031c
      https://github.com/llvm/llvm-project/commit/faa30be101e9ae2bdb58d2acb250341f1b13031c
  Author: Matthias Springer <me at m-sp.org>
  Date:   2025-01-03 (Fri, 03 Jan 2025)

  Changed paths:
    M mlir/lib/Transforms/Utils/DialectConversion.cpp

  Log Message:
  -----------
  [mlir][Transforms] Fix build after #116524 (#121578)

Fix build errors after #116524.

```
error: call of overloaded ‘TypeRange(ValueVector&)’ is ambiguous
```


  Commit: 5137c209f0c19668d06e48cc4293e4c01a77c964
      https://github.com/llvm/llvm-project/commit/5137c209f0c19668d06e48cc4293e4c01a77c964
  Author: agozillon <Andrew.Gozillon at amd.com>
  Date:   2025-01-03 (Fri, 03 Jan 2025)

  Changed paths:
    M flang/lib/Lower/OpenMP/OpenMP.cpp
    M flang/lib/Optimizer/OpenMP/MapInfoFinalization.cpp
    M flang/test/Lower/OpenMP/allocatable-array-bounds.f90
    M flang/test/Lower/OpenMP/array-bounds.f90
    M flang/test/Lower/OpenMP/derived-type-allocatable-map.f90
    A flang/test/Lower/OpenMP/local-intrinsic-sized-array-map.f90
    M flang/test/Transforms/omp-map-info-finalization.fir
    A offload/test/offloading/fortran/target-map-local-intrinisc-sized-param.f90

  Log Message:
  -----------
  [Flang][OpenMP] Fix allocating arrays with size intrinisic (#119226)

Attempt to address the following example from causing an assert or ICE:

```
   subroutine test(a)
        implicit none
        integer :: i
        real(kind=real64), dimension(:) :: a
        real(kind=real64), dimension(size(a, 1)) :: b

!$omp target map(tofrom: b)
        do i = 1, 10
            b(i) = i
        end do
!$omp end target
end subroutine
```

Where we utilise a Fortran intrinsic (size) to calculate the size of
allocatable arrays and then map it to device.


  Commit: b9482ceb97f7cf7cde707dd81a0149dc9958ae53
      https://github.com/llvm/llvm-project/commit/b9482ceb97f7cf7cde707dd81a0149dc9958ae53
  Author: Slava Zakharin <szakharin at nvidia.com>
  Date:   2025-01-03 (Fri, 03 Jan 2025)

  Changed paths:
    M flang/lib/Optimizer/HLFIR/Transforms/OptimizedBufferization.cpp
    A flang/test/HLFIR/opt-bufferization-same-ptr-elemental.fir

  Log Message:
  -----------
  [flang] Improve designate/elemental indices match in opt-bufferization. (#121371)

This pattern appears in `tonto`: `rys1%w = rys1%w * ...`, where
component `w` is a pointer. Due to the computations transforming
the elemental's one-based indices to the array indices,
the indices match check did not pass in opt-bufferization.
This patch recognizes this indices adjusting pattern,
and returns the one-based indices for the designator.


  Commit: 3c700d131a35ce4b0063a4688dce4a0cb739ca83
      https://github.com/llvm/llvm-project/commit/3c700d131a35ce4b0063a4688dce4a0cb739ca83
  Author: Slava Zakharin <szakharin at nvidia.com>
  Date:   2025-01-03 (Fri, 03 Jan 2025)

  Changed paths:
    M flang/include/flang/Optimizer/HLFIR/Passes.td
    M flang/lib/Optimizer/HLFIR/Transforms/CMakeLists.txt
    A flang/lib/Optimizer/HLFIR/Transforms/InlineHLFIRAssign.cpp
    M flang/lib/Optimizer/HLFIR/Transforms/OptimizedBufferization.cpp
    M flang/lib/Optimizer/Passes/Pipelines.cpp
    M flang/test/Driver/mlir-pass-pipeline.f90
    M flang/test/Fir/basic-program.fir
    A flang/test/HLFIR/inline-hlfir-assign.fir
    M flang/test/HLFIR/maxloc-elemental.fir
    M flang/test/HLFIR/minloc-elemental.fir
    M flang/test/HLFIR/opt-bufferization-eval_in_mem.fir
    M flang/test/HLFIR/opt-bufferization.fir
    R flang/test/HLFIR/opt-variable-assign.fir

  Log Message:
  -----------
  [flang] Extract hlfir.assign inlining from opt-bufferization. (#121544)

Optimized bufferization can transform hlfir.assign into a loop
nest doing element per element assignment, but it avoids
doing so for RHS that is hlfir.expr. This is done to let
ElementalAssignBufferization pattern to try to do a better job.

This patch moves the hlfir.assign inlining after opt-bufferization,
and enables it for hlfir.expr RHS.

The hlfir.expr RHS cases are present in tonto, and this patch
results in some nice improvements. Note that those cases
are handled by other compilers also using array temporaries,
so this patch seems to just get rid of the Assign runtime
overhead/inefficiency.


  Commit: 322f16e6246ada7cd53e71e927ee68273e819f78
      https://github.com/llvm/llvm-project/commit/322f16e6246ada7cd53e71e927ee68273e819f78
  Author: Brox Chen <guochen2 at amd.com>
  Date:   2025-01-03 (Fri, 03 Jan 2025)

  Changed paths:
    M llvm/lib/Target/AMDGPU/VOP1Instructions.td
    M llvm/test/MC/AMDGPU/gfx11_asm_vop1.s
    M llvm/test/MC/AMDGPU/gfx11_asm_vop1_dpp16.s
    M llvm/test/MC/AMDGPU/gfx11_asm_vop1_dpp8.s
    M llvm/test/MC/AMDGPU/gfx11_asm_vop1_t16_err.s
    M llvm/test/MC/AMDGPU/gfx11_asm_vop1_t16_promote.s
    M llvm/test/MC/AMDGPU/gfx11_asm_vop3_dpp16_from_vop1.s
    M llvm/test/MC/AMDGPU/gfx11_asm_vop3_dpp8_from_vop1.s
    M llvm/test/MC/AMDGPU/gfx11_asm_vop3_from_vop1.s
    M llvm/test/MC/AMDGPU/gfx12_asm_vop1.s
    M llvm/test/MC/AMDGPU/gfx12_asm_vop1_dpp16.s
    M llvm/test/MC/AMDGPU/gfx12_asm_vop1_dpp8.s
    M llvm/test/MC/AMDGPU/gfx12_asm_vop1_t16_err.s
    M llvm/test/MC/AMDGPU/gfx12_asm_vop1_t16_promote.s
    M llvm/test/MC/AMDGPU/gfx12_asm_vop3_from_vop1.s
    M llvm/test/MC/AMDGPU/gfx12_asm_vop3_from_vop1_dpp16.s
    M llvm/test/MC/AMDGPU/gfx12_asm_vop3_from_vop1_dpp8.s
    M llvm/test/MC/Disassembler/AMDGPU/gfx11_dasm_vop1.txt
    M llvm/test/MC/Disassembler/AMDGPU/gfx11_dasm_vop1_dpp16.txt
    M llvm/test/MC/Disassembler/AMDGPU/gfx11_dasm_vop1_dpp8.txt
    M llvm/test/MC/Disassembler/AMDGPU/gfx11_dasm_vop3_dpp16_from_vop1.txt
    M llvm/test/MC/Disassembler/AMDGPU/gfx11_dasm_vop3_dpp8_from_vop1.txt
    M llvm/test/MC/Disassembler/AMDGPU/gfx11_dasm_vop3_from_vop1.txt
    M llvm/test/MC/Disassembler/AMDGPU/gfx12_dasm_vop1_dpp16.txt
    M llvm/test/MC/Disassembler/AMDGPU/gfx12_dasm_vop1_dpp8.txt
    M llvm/test/MC/Disassembler/AMDGPU/gfx12_dasm_vop3_from_vop1.txt
    M llvm/test/MC/Disassembler/AMDGPU/gfx12_dasm_vop3_from_vop1_dpp16.txt
    M llvm/test/MC/Disassembler/AMDGPU/gfx12_dasm_vop3_from_vop1_dpp8.txt

  Log Message:
  -----------
  [AMDGPU][True16][MC] true16 for v_sat_pk_u8_i16 (#120634)

Support true16 format for v_sat_pk_u8_i16 in MC


  Commit: e5acb167b72a6d2a6e29bcd29d6be57e15224c24
      https://github.com/llvm/llvm-project/commit/e5acb167b72a6d2a6e29bcd29d6be57e15224c24
  Author: Brox Chen <guochen2 at amd.com>
  Date:   2025-01-03 (Fri, 03 Jan 2025)

  Changed paths:
    M llvm/lib/Target/AMDGPU/VOP1Instructions.td
    M llvm/test/CodeGen/AMDGPU/llvm.trunc.f16.ll
    M llvm/test/MC/AMDGPU/gfx11_asm_vop1.s
    M llvm/test/MC/AMDGPU/gfx11_asm_vop1_dpp16.s
    M llvm/test/MC/AMDGPU/gfx11_asm_vop1_dpp8.s
    M llvm/test/MC/AMDGPU/gfx11_asm_vop1_t16_err.s
    M llvm/test/MC/AMDGPU/gfx11_asm_vop1_t16_promote.s
    M llvm/test/MC/AMDGPU/gfx11_asm_vop3_dpp16_from_vop1.s
    M llvm/test/MC/AMDGPU/gfx11_asm_vop3_dpp8_from_vop1.s
    M llvm/test/MC/AMDGPU/gfx11_asm_vop3_from_vop1.s
    M llvm/test/MC/AMDGPU/gfx12_asm_vop1.s
    M llvm/test/MC/AMDGPU/gfx12_asm_vop1_dpp16.s
    M llvm/test/MC/AMDGPU/gfx12_asm_vop1_dpp8.s
    M llvm/test/MC/AMDGPU/gfx12_asm_vop1_t16_err.s
    M llvm/test/MC/AMDGPU/gfx12_asm_vop1_t16_promote.s
    M llvm/test/MC/AMDGPU/gfx12_asm_vop3_from_vop1.s
    M llvm/test/MC/AMDGPU/gfx12_asm_vop3_from_vop1_dpp16.s
    M llvm/test/MC/AMDGPU/gfx12_asm_vop3_from_vop1_dpp8.s
    M llvm/test/MC/Disassembler/AMDGPU/gfx11_dasm_vop1.txt
    M llvm/test/MC/Disassembler/AMDGPU/gfx11_dasm_vop1_dpp16.txt
    M llvm/test/MC/Disassembler/AMDGPU/gfx11_dasm_vop1_dpp8.txt
    M llvm/test/MC/Disassembler/AMDGPU/gfx11_dasm_vop3_dpp16_from_vop1.txt
    M llvm/test/MC/Disassembler/AMDGPU/gfx11_dasm_vop3_dpp8_from_vop1.txt
    M llvm/test/MC/Disassembler/AMDGPU/gfx11_dasm_vop3_from_vop1.txt
    M llvm/test/MC/Disassembler/AMDGPU/gfx12_dasm_vop1_dpp16.txt
    M llvm/test/MC/Disassembler/AMDGPU/gfx12_dasm_vop1_dpp8.txt
    M llvm/test/MC/Disassembler/AMDGPU/gfx12_dasm_vop3_from_vop1.txt
    M llvm/test/MC/Disassembler/AMDGPU/gfx12_dasm_vop3_from_vop1_dpp16.txt
    M llvm/test/MC/Disassembler/AMDGPU/gfx12_dasm_vop3_from_vop1_dpp8.txt

  Log Message:
  -----------
  [AMDGPU][True16][MC] true16 for v_trunc_f16 (#120693)

Support true16 format for v_trunc_f16 in MC


  Commit: c50370c67afddf557ba30d58143b30ffb7203935
      https://github.com/llvm/llvm-project/commit/c50370c67afddf557ba30d58143b30ffb7203935
  Author: Han-Kuan Chen <hankuan.chen at sifive.com>
  Date:   2025-01-04 (Sat, 04 Jan 2025)

  Changed paths:
    M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp

  Log Message:
  -----------
  [SLP] NFC. Use InstructionsState::valid if users just want to know whether VL has same opcode. (#120217)

Add assert for InstructionsState::getOpcode.
Use InstructionsState::getOpcode only when necessary.


  Commit: c744ed53a84f90598751cdcda4c68900113587ab
      https://github.com/llvm/llvm-project/commit/c744ed53a84f90598751cdcda4c68900113587ab
  Author: Brox Chen <guochen2 at amd.com>
  Date:   2025-01-03 (Fri, 03 Jan 2025)

  Changed paths:
    M llvm/lib/Target/AMDGPU/AMDGPUInstructionSelector.cpp
    M llvm/lib/Target/AMDGPU/SIInstructions.td
    M llvm/lib/Target/AMDGPU/VOPCInstructions.td
    M llvm/test/CodeGen/AMDGPU/GlobalISel/inst-select-amdgcn.fcmp.constants.w32.mir
    M llvm/test/CodeGen/AMDGPU/GlobalISel/inst-select-amdgcn.fcmp.constants.w64.mir

  Log Message:
  -----------
  [AMDGPU][True16][MC] disable incorrect VOPC t16 instruction (#120271)

The current VOPC t16 instructions are not implemented with the correct
t16 pseudo. Thus the current t16/fake16 instructions are all in fake16
format.

The plan is to remove the incorrect t16 instructions and refactor them.
The first step is to remove them in this patch. The next step will be
updating the t16/fake16 pseudo to the correct format and add back true16
instruction one by one in the upcoming patches.


  Commit: fa56e8bb6451bdf24be6c2a8737dab5fe6a2039c
      https://github.com/llvm/llvm-project/commit/fa56e8bb6451bdf24be6c2a8737dab5fe6a2039c
  Author: agozillon <Andrew.Gozillon at amd.com>
  Date:   2025-01-03 (Fri, 03 Jan 2025)

  Changed paths:
    M mlir/lib/Target/LLVMIR/Dialect/OpenMP/OpenMPToLLVMIRTranslation.cpp
    A mlir/test/Target/LLVMIR/omptarget-threadprivate-device-lowering.mlir
    A offload/test/offloading/fortran/target-with-threadprivate.f90

  Log Message:
  -----------
  [OpenMP][MLIR] Fix threadprivate lowering when compiling for target when target operations are in use (#119310)

Currently the compiler will ICE in programs like the following on the
device lowering pass:

```
program main
    implicit none

    type i1_t
       integer :: val(1000)
    end type i1_t
    integer :: i
    type(i1_t), pointer :: newi1
    type(i1_t), pointer :: tab=>null()

    integer, dimension(:), pointer :: tabval

!$omp THREADPRIVATE(tab)

allocate(newi1)

tab=>newi1
tab%val(:)=1
tabval=>tab%val

!$omp target teams distribute parallel do
  do i = 1, 1000
   tabval(i) = i
 end do
!$omp end target teams distribute parallel do

end program main
```

This is due to the fact that THREADPRIVATE returns a result operation,
and this operation can actually be used by other LLVM dialect (or other
dialect) operations. However, we currently skip the lowering of
threadprivate, so we effectively never generate and bind an LLVM-IR
result to the threadprivate operation result. So when we later go on to
lower dependent LLVM dialect operations, we are missing the required
LLVM-IR result, try to access and use it and then ICE. The fix in this
particular PR is to allow compilation of threadprivate for device as
well as host, and simply treat the device compilation as a no-op,
binding the LLVM-IR result of threadprivate with no alterations and
binding it, which will allow the rest of the compilation to proceed,
where we'll eventually discard the host segment in any case.

The other possible solution to this I can think of, is doing something
similar to Flang's passes that occur prior to CodeGen to the LLVM
dialect, where they erase/no-op certain unrequired operations or
transform them to lower level series of operations. And we would
erase/no-op threadprivate on device as we'd never have these in target
regions.

The main issues I can see with this are that we currently do not
specialise this stage based on wether we're compiling for device or
host, so it's setting a precedent and adding another point of having to
understand the separation between target and host compilation. I am also
not sure we'd necessarily want to enforce this at a dialect level incase
someone else wishes to add a different lowering flow or translation
flow. Another possible issue is that a target operation we have/utilise
would depend on the result of threadprivate, meaning we'd not be allowed
to entirely erase/no-op it, I am not sure of any situations where this
may be an issue currently though.


  Commit: 1cade8699719c934a8debb7bef9fdc3ff11e9602
      https://github.com/llvm/llvm-project/commit/1cade8699719c934a8debb7bef9fdc3ff11e9602
  Author: Ivan Butygin <ivan.butygin at gmail.com>
  Date:   2025-01-03 (Fri, 03 Jan 2025)

  Changed paths:
    M mlir/lib/Dialect/Arith/IR/ArithOps.cpp
    M mlir/test/Dialect/Arith/canonicalize.mlir

  Log Message:
  -----------
  [mlir][arith] Fold `(a * b) / b -> a` (#121534)

If overflow flags allow it.

Alive2 check: https://alive2.llvm.org/ce/z/5XWjWE


  Commit: 4dfea22e771a0944b3b313f2790a616fa79257e1
      https://github.com/llvm/llvm-project/commit/4dfea22e771a0944b3b313f2790a616fa79257e1
  Author: Craig Topper <craig.topper at sifive.com>
  Date:   2025-01-03 (Fri, 03 Jan 2025)

  Changed paths:
    M llvm/lib/CodeGen/ExpandMemCmp.cpp
    M llvm/test/CodeGen/AArch64/machine-licm-hoist-load.ll
    M llvm/test/CodeGen/AArch64/memcmp.ll
    M llvm/test/CodeGen/PowerPC/memcmp.ll
    M llvm/test/CodeGen/PowerPC/memcmpIR.ll
    M llvm/test/CodeGen/RISCV/memcmp-optsize.ll
    M llvm/test/CodeGen/RISCV/memcmp.ll
    M llvm/test/CodeGen/X86/memcmp-more-load-pairs-x32.ll
    M llvm/test/CodeGen/X86/memcmp-more-load-pairs.ll
    M llvm/test/CodeGen/X86/memcmp-optsize-x32.ll
    M llvm/test/CodeGen/X86/memcmp-optsize.ll
    M llvm/test/CodeGen/X86/memcmp-pgso-x32.ll
    M llvm/test/CodeGen/X86/memcmp-pgso.ll
    M llvm/test/CodeGen/X86/memcmp-x32.ll
    M llvm/test/CodeGen/X86/memcmp.ll
    M llvm/test/Transforms/ExpandMemCmp/AArch64/memcmp.ll
    M llvm/test/Transforms/ExpandMemCmp/X86/memcmp-x32.ll
    M llvm/test/Transforms/ExpandMemCmp/X86/memcmp.ll

  Log Message:
  -----------
  [ExpandMemCmp][AArch64][PowerPC][RISCV][X86] Use llvm.ucmp instead of (sub (zext (icmp ugt)), (zext (icmp ult))). (#121530)

AArch64 and PowerPC look like a improvements.
RISC-V is neutral.
X86 trades a dependency breaking xor before a seta for a movsx after a
sbbb. Depending on how the result is used, this movsx might go away.


  Commit: 715dcb2310a4378fdf324cd3d3b47d6f160842aa
      https://github.com/llvm/llvm-project/commit/715dcb2310a4378fdf324cd3d3b47d6f160842aa
  Author: Craig Topper <craig.topper at sifive.com>
  Date:   2025-01-03 (Fri, 03 Jan 2025)

  Changed paths:
    M llvm/lib/CodeGen/ExpandMemCmp.cpp

  Log Message:
  -----------
  [ExpandMemCmp] Use m_SpecificInt to simplify code. NFC (#121532)


  Commit: c19f0f005a1ccf21bd2f0656f90455a55413a32f
      https://github.com/llvm/llvm-project/commit/c19f0f005a1ccf21bd2f0656f90455a55413a32f
  Author: Craig Topper <craig.topper at sifive.com>
  Date:   2025-01-03 (Fri, 03 Jan 2025)

  Changed paths:
    M llvm/include/llvm/IR/PatternMatch.h

  Log Message:
  -----------
  [PatternMatch] Make m_SpecificMask pass expected mask by Value. NFC (#121527)

Unlike m_Mask, we don't need to modify a variable owned by the caller so
we should pass the ArrayRef by value or const reference.


  Commit: e6f76378c20bebec85f66c1574bb6bb928a79025
      https://github.com/llvm/llvm-project/commit/e6f76378c20bebec85f66c1574bb6bb928a79025
  Author: Fangrui Song <i at maskray.me>
  Date:   2025-01-03 (Fri, 03 Jan 2025)

  Changed paths:
    M llvm/lib/Transforms/Utils/EntryExitInstrumenter.cpp
    M llvm/test/Transforms/EntryExitInstrumenter/mcount.ll

  Log Message:
  -----------
  EntryExitInstrumenter: skip available_externally linkage

gnu::always_inline functions, which lower to available_externally, may
not have definitions external to the module. -finstrument-function
family options instrumentating the function (which takes the function
address) may lead to a linker error if the function is not optimized
out, e.g.

```
// -std=c++17 or above with libstdc++
 #include <string>
std::string str;
int main() {}
```

Simplified reproduce:
```
template <typename T>
struct A {
  [[gnu::always_inline]] T bar(T a) { return a * 2; }
};
extern template class A<int>;
int main(int argc, char **argv) {
  return A<int>().bar(argc);
}
```

GCC's -finstrument-function instrumentation skips such functions
(https://gcc.gnu.org/PR78333). Let's skip such functions
(available_externally) as well.

Fix #50742

Pull Request: https://github.com/llvm/llvm-project/pull/121452


  Commit: ee9be864bcc5e3cc89f5f23485db2285ad7119f7
      https://github.com/llvm/llvm-project/commit/ee9be864bcc5e3cc89f5f23485db2285ad7119f7
  Author: Mingming Liu <mingmingl at google.com>
  Date:   2025-01-03 (Fri, 03 Jan 2025)

  Changed paths:
    M lld/ELF/InputSection.h

  Log Message:
  -----------
  [NFC] Fix a typo (#121545)

`InputSectionBase::relsOrRelas` make at most one array-ref non-empty. One-off counter (as debugging log) shows the number of empty member containers is 2 or 3 in a real build.

Fix the typo.


  Commit: 82fdd103f9484ce85ec64e3d013cfd8000e22fea
      https://github.com/llvm/llvm-project/commit/82fdd103f9484ce85ec64e3d013cfd8000e22fea
  Author: Simon Pilgrim <llvm-dev at redking.me.uk>
  Date:   2025-01-03 (Fri, 03 Jan 2025)

  Changed paths:
    A llvm/test/CodeGen/X86/pr107423.ll

  Log Message:
  -----------
  [X86] Add test coverage for #107423


  Commit: 13cf5c9c227a502f86f8c0e3c7d5fe147bc91b8b
      https://github.com/llvm/llvm-project/commit/13cf5c9c227a502f86f8c0e3c7d5fe147bc91b8b
  Author: Craig Topper <craig.topper at sifive.com>
  Date:   2025-01-03 (Fri, 03 Jan 2025)

  Changed paths:
    M llvm/test/CodeGen/RISCV/memcmp-optsize.ll
    M llvm/test/CodeGen/RISCV/memcmp.ll

  Log Message:
  -----------
  [RISCV] Re-generate memcmp test checks missed in #121530. NFC

A patch landed to these tests while #121530 was in review and I
forgot to rebase.


  Commit: bad0f98bda1ca0b8a106b14b9cce98bf1dbc15cc
      https://github.com/llvm/llvm-project/commit/bad0f98bda1ca0b8a106b14b9cce98bf1dbc15cc
  Author: Craig Topper <craig.topper at sifive.com>
  Date:   2025-01-03 (Fri, 03 Jan 2025)

  Changed paths:
    M llvm/test/CodeGen/AArch64/memcmp.ll
    M llvm/test/CodeGen/RISCV/memcmp.ll
    M llvm/test/CodeGen/X86/memcmp.ll

  Log Message:
  -----------
  [ExpandMemCmp][AArch][RISCV][X86] Pre-commit tests for recognizing canonical form of (icmp sle/sge X, 0). NFC

Pre-commit for #121540.


  Commit: 6d321530af6e83e51c2ed08463593af07ead9448
      https://github.com/llvm/llvm-project/commit/6d321530af6e83e51c2ed08463593af07ead9448
  Author: Alexey Bataev <a.bataev at outlook.com>
  Date:   2025-01-03 (Fri, 03 Jan 2025)

  Changed paths:
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-shuffle-exact-vlen.ll

  Log Message:
  -----------
  [CG][RISCV]Add more RVV tests with exact vlen and linear/quadratic number of shuffles


  Commit: d37aa5135c732b37ae3daab9d9bdcc4c45f7a17d
      https://github.com/llvm/llvm-project/commit/d37aa5135c732b37ae3daab9d9bdcc4c45f7a17d
  Author: Brox Chen <guochen2 at amd.com>
  Date:   2025-01-03 (Fri, 03 Jan 2025)

  Changed paths:
    M llvm/lib/Target/AMDGPU/VOP1Instructions.td
    M llvm/test/MC/AMDGPU/gfx11_asm_vop1.s
    M llvm/test/MC/AMDGPU/gfx11_asm_vop1_dpp16.s
    M llvm/test/MC/AMDGPU/gfx11_asm_vop1_dpp8.s
    M llvm/test/MC/AMDGPU/gfx11_asm_vop1_t16_err.s
    M llvm/test/MC/AMDGPU/gfx11_asm_vop1_t16_promote.s
    M llvm/test/MC/AMDGPU/gfx11_asm_vop3_dpp16_from_vop1.s
    M llvm/test/MC/AMDGPU/gfx11_asm_vop3_dpp8_from_vop1.s
    M llvm/test/MC/AMDGPU/gfx11_asm_vop3_from_vop1.s
    M llvm/test/MC/AMDGPU/gfx12_asm_vop1.s
    M llvm/test/MC/AMDGPU/gfx12_asm_vop1_dpp16.s
    M llvm/test/MC/AMDGPU/gfx12_asm_vop1_dpp8.s
    M llvm/test/MC/AMDGPU/gfx12_asm_vop1_t16_err.s
    M llvm/test/MC/AMDGPU/gfx12_asm_vop1_t16_promote.s
    M llvm/test/MC/AMDGPU/gfx12_asm_vop3_from_vop1.s
    M llvm/test/MC/AMDGPU/gfx12_asm_vop3_from_vop1_dpp16.s
    M llvm/test/MC/AMDGPU/gfx12_asm_vop3_from_vop1_dpp8.s
    M llvm/test/MC/Disassembler/AMDGPU/gfx11_dasm_vop1.txt
    M llvm/test/MC/Disassembler/AMDGPU/gfx11_dasm_vop1_dpp16.txt
    M llvm/test/MC/Disassembler/AMDGPU/gfx11_dasm_vop1_dpp8.txt
    M llvm/test/MC/Disassembler/AMDGPU/gfx11_dasm_vop3_dpp16_from_vop1.txt
    M llvm/test/MC/Disassembler/AMDGPU/gfx11_dasm_vop3_dpp8_from_vop1.txt
    M llvm/test/MC/Disassembler/AMDGPU/gfx11_dasm_vop3_from_vop1.txt
    M llvm/test/MC/Disassembler/AMDGPU/gfx12_dasm_vop1_dpp16.txt
    M llvm/test/MC/Disassembler/AMDGPU/gfx12_dasm_vop1_dpp8.txt
    M llvm/test/MC/Disassembler/AMDGPU/gfx12_dasm_vop3_from_vop1.txt
    M llvm/test/MC/Disassembler/AMDGPU/gfx12_dasm_vop3_from_vop1_dpp16.txt
    M llvm/test/MC/Disassembler/AMDGPU/gfx12_dasm_vop3_from_vop1_dpp8.txt

  Log Message:
  -----------
  [AMDGPU][True16][MC] true16 for v_not_b16 (#120659)

Support true16 format for v_not_b16 in MC


  Commit: a4e47586b9c0566761b7fb704011da6ded823398
      https://github.com/llvm/llvm-project/commit/a4e47586b9c0566761b7fb704011da6ded823398
  Author: Craig Topper <craig.topper at sifive.com>
  Date:   2025-01-03 (Fri, 03 Jan 2025)

  Changed paths:
    M llvm/lib/CodeGen/ExpandMemCmp.cpp
    M llvm/test/CodeGen/AArch64/memcmp.ll
    M llvm/test/CodeGen/RISCV/memcmp.ll
    M llvm/test/CodeGen/X86/memcmp.ll

  Log Message:
  -----------
  [ExpandMemCmp] Recognize canonical form of (icmp sle/sge X, 0) in getMemCmpOneBlock. (#121540)

This code recognizes special cases where the result of memcmp is
compared with 0. If the compare is sle/sge, then InstCombine
canonicalizes to (icmp slt X, 1) or (icmp sgt X, -1). We should
recognize those patterns too.


  Commit: 39a9073f9eb71ac610cbafe7eed05ca668871b5c
      https://github.com/llvm/llvm-project/commit/39a9073f9eb71ac610cbafe7eed05ca668871b5c
  Author: Valentin Clement (バレンタイン クレメン) <clementval at gmail.com>
  Date:   2025-01-03 (Fri, 03 Jan 2025)

  Changed paths:
    M flang/lib/Semantics/check-allocate.cpp
    M flang/test/Semantics/cuf07.cuf

  Log Message:
  -----------
  [flang][cuda] Downgrade allocate pinned error to a warning (#121589)

To be in accordance with the reference compiler.


  Commit: 0844f83fea66332943deed7cdf97b686b2c7c37b
      https://github.com/llvm/llvm-project/commit/0844f83fea66332943deed7cdf97b686b2c7c37b
  Author: Arseniy Zaostrovnykh <necto.ne at gmail.com>
  Date:   2025-01-03 (Fri, 03 Jan 2025)

  Changed paths:
    M clang/include/clang/StaticAnalyzer/Core/PathSensitive/SymExpr.h
    M clang/include/clang/StaticAnalyzer/Core/PathSensitive/SymbolManager.h
    M clang/lib/StaticAnalyzer/Core/SymbolManager.cpp
    M clang/test/Analysis/dump_egraph.cpp
    M clang/test/Analysis/expr-inspection-printState-diseq-info.c
    M clang/test/Analysis/expr-inspection-printState-eq-classes.c
    M clang/test/Analysis/ptr-arith.cpp
    M clang/test/Analysis/symbol-simplification-disequality-info.cpp
    M clang/test/Analysis/symbol-simplification-fixpoint-one-iteration.cpp
    M clang/test/Analysis/symbol-simplification-fixpoint-two-iterations.cpp
    M clang/test/Analysis/unary-sym-expr.c

  Log Message:
  -----------
  [clang][analyzer] Stable order for SymbolRef-keyed containers (#121551)

Generalize the `SymbolID`s used for `SymbolData` to all `SymExpr`s and
use these IDs for comparison `SymbolRef` keys in various containers,
such as `ConstraintMap`. These IDs are superior to raw pointer values
because they are more controllable and are not randomized across
executions (unlike
[pointers](https://en.wikipedia.org/wiki/Address_space_layout_randomization)).

These IDs order is stable across runs because SymExprs are allocated in
the same order.

Stability of the constraint order is important for the stability of the
analyzer results. I evaluated this change on a set of 200+ open-source C
and C++ projects with the total number of ~78 000 symbolic-execution
issues passing Z3 refutation.

This patch reduced the run-to-run churn (flakiness) in SE issues from
80-90 to 30-40 (out of 78K) in our CSA deployment (in our setting flaky
issues are mostly due to Z3 refutation instability).

Note, most of the issue churn (flakiness) is caused by the mentioned Z3
refutation. With Z3 refutation disabled, issue churn goes down to ~10
issues out of 83K and this patch has no effect on appearing/disappearing
issues between runs. It however, seems to reduce the volatility of the
execution flow: before we had 40-80 issues with changed execution flow,
after - 10-30.

Importantly, this change is necessary for the next step in stabilizing
analysis results by caching Z3 query outcomes between analysis runs
(work in progress).

Across our admittedly noisy CI runs, I detected no significant effect on
memory footprint or analysis time.

CPP-5919


  Commit: a106ad0f1d0f74fde3591149c63f3e94ec780fef
      https://github.com/llvm/llvm-project/commit/a106ad0f1d0f74fde3591149c63f3e94ec780fef
  Author: Balazs Benics <benicsbalazs at gmail.com>
  Date:   2025-01-03 (Fri, 03 Jan 2025)

  Changed paths:
    M clang/include/clang/StaticAnalyzer/Core/PathSensitive/SymExpr.h
    M clang/include/clang/StaticAnalyzer/Core/PathSensitive/SymbolManager.h
    M clang/lib/StaticAnalyzer/Core/SymbolManager.cpp
    M clang/test/Analysis/dump_egraph.cpp
    M clang/test/Analysis/expr-inspection-printState-diseq-info.c
    M clang/test/Analysis/expr-inspection-printState-eq-classes.c
    M clang/test/Analysis/ptr-arith.cpp
    M clang/test/Analysis/symbol-simplification-disequality-info.cpp
    M clang/test/Analysis/symbol-simplification-fixpoint-one-iteration.cpp
    M clang/test/Analysis/symbol-simplification-fixpoint-two-iterations.cpp
    M clang/test/Analysis/unary-sym-expr.c

  Log Message:
  -----------
  Revert "[clang][analyzer] Stable order for SymbolRef-keyed containers" (#121592)

Reverts llvm/llvm-project#121551

We had a bunch of build errors caused by this PR.
https://lab.llvm.org/buildbot/#/builders/144/builds/14875


  Commit: e32afded9227635108fad003e5c6d3bd88e5e3c1
      https://github.com/llvm/llvm-project/commit/e32afded9227635108fad003e5c6d3bd88e5e3c1
  Author: Craig Topper <craig.topper at sifive.com>
  Date:   2025-01-03 (Fri, 03 Jan 2025)

  Changed paths:
    M llvm/lib/CodeGen/SelectionDAG/LegalizeVectorOps.cpp

  Log Message:
  -----------
  [LegalizeVectorOps] Use getBoolConstant instead of getAllOnesConstant in VectorLegalizer::UnrollVSETCC. (#121526)

This code should follow the target preference for boolean contents of a
vector type. We shouldn't assume that true is negative one.


  Commit: 34d2c3b9349b151bd69defa4880ecf56fb017287
      https://github.com/llvm/llvm-project/commit/34d2c3b9349b151bd69defa4880ecf56fb017287
  Author: Brox Chen <guochen2 at amd.com>
  Date:   2025-01-03 (Fri, 03 Jan 2025)

  Changed paths:
    M llvm/lib/Target/AMDGPU/VOP1Instructions.td
    M llvm/test/CodeGen/AMDGPU/llvm.sin.f16.ll
    M llvm/test/MC/AMDGPU/gfx11_asm_vop1.s
    M llvm/test/MC/AMDGPU/gfx11_asm_vop1_dpp16.s
    M llvm/test/MC/AMDGPU/gfx11_asm_vop1_dpp8.s
    M llvm/test/MC/AMDGPU/gfx11_asm_vop1_t16_err.s
    M llvm/test/MC/AMDGPU/gfx11_asm_vop1_t16_promote.s
    M llvm/test/MC/AMDGPU/gfx11_asm_vop3_dpp16_from_vop1.s
    M llvm/test/MC/AMDGPU/gfx11_asm_vop3_dpp8_from_vop1.s
    M llvm/test/MC/AMDGPU/gfx11_asm_vop3_from_vop1.s
    M llvm/test/MC/AMDGPU/gfx12_asm_vop1.s
    M llvm/test/MC/AMDGPU/gfx12_asm_vop1_dpp16.s
    M llvm/test/MC/AMDGPU/gfx12_asm_vop1_dpp8.s
    M llvm/test/MC/AMDGPU/gfx12_asm_vop1_t16_err.s
    M llvm/test/MC/AMDGPU/gfx12_asm_vop1_t16_promote.s
    M llvm/test/MC/AMDGPU/gfx12_asm_vop3_from_vop1.s
    M llvm/test/MC/AMDGPU/gfx12_asm_vop3_from_vop1_dpp16.s
    M llvm/test/MC/AMDGPU/gfx12_asm_vop3_from_vop1_dpp8.s
    M llvm/test/MC/Disassembler/AMDGPU/gfx11_dasm_vop1.txt
    M llvm/test/MC/Disassembler/AMDGPU/gfx11_dasm_vop1_dpp16.txt
    M llvm/test/MC/Disassembler/AMDGPU/gfx11_dasm_vop1_dpp8.txt
    M llvm/test/MC/Disassembler/AMDGPU/gfx11_dasm_vop3_dpp16_from_vop1.txt
    M llvm/test/MC/Disassembler/AMDGPU/gfx11_dasm_vop3_dpp8_from_vop1.txt
    M llvm/test/MC/Disassembler/AMDGPU/gfx11_dasm_vop3_from_vop1.txt
    M llvm/test/MC/Disassembler/AMDGPU/gfx12_dasm_vop1_dpp16.txt
    M llvm/test/MC/Disassembler/AMDGPU/gfx12_dasm_vop1_dpp8.txt
    M llvm/test/MC/Disassembler/AMDGPU/gfx12_dasm_vop3_from_vop1.txt
    M llvm/test/MC/Disassembler/AMDGPU/gfx12_dasm_vop3_from_vop1_dpp16.txt
    M llvm/test/MC/Disassembler/AMDGPU/gfx12_dasm_vop3_from_vop1_dpp8.txt

  Log Message:
  -----------
  [AMDGPU][True16][MC] true16 for v_sin_f16 (#120692)

Support true16 format for v_sin_f16 in MC


  Commit: 5ee8418057646f4640cd1bb60e73f9e5129ea12e
      https://github.com/llvm/llvm-project/commit/5ee8418057646f4640cd1bb60e73f9e5129ea12e
  Author: Craig Topper <craig.topper at sifive.com>
  Date:   2025-01-03 (Fri, 03 Jan 2025)

  Changed paths:
    M llvm/docs/TableGen/BackEnds.rst

  Log Message:
  -----------
  [Docs][TableGen] Remove ReturnRange from the SearchIndex documentation. NFC

SearchIndex doesn't support ReturnRange. It is only supported for
the primary key.


  Commit: 432a871ba8f6a62272a7ef1162305328b0de7802
      https://github.com/llvm/llvm-project/commit/432a871ba8f6a62272a7ef1162305328b0de7802
  Author: Ellis Hoag <ellis.sparky.hoag at gmail.com>
  Date:   2025-01-03 (Fri, 03 Jan 2025)

  Changed paths:
    M clang/include/clang/Driver/Options.td
    M clang/lib/Driver/ToolChains/Clang.cpp
    M clang/test/Driver/clang_f_opts.c

  Log Message:
  -----------
  Deprecate order file instrumentation (#121514)


  Commit: 11c6af666b75d03ac67dfdf9ba190587b7efbcd8
      https://github.com/llvm/llvm-project/commit/11c6af666b75d03ac67dfdf9ba190587b7efbcd8
  Author: Florian Hahn <flo at fhahn.com>
  Date:   2025-01-03 (Fri, 03 Jan 2025)

  Changed paths:
    M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp

  Log Message:
  -----------
  [VPlan] Fix name ExitVPBB -> MiddleVPBB (NFC).

ExitVPBB actually refers to the middle block, clarify name.


  Commit: cb2eafe6ac72064529da5219434e351851a2b68f
      https://github.com/llvm/llvm-project/commit/cb2eafe6ac72064529da5219434e351851a2b68f
  Author: Jay Foad <jay.foad at amd.com>
  Date:   2025-01-03 (Fri, 03 Jan 2025)

  Changed paths:
    M llvm/lib/TableGen/TGLexer.cpp
    M llvm/lib/TableGen/TGLexer.h

  Log Message:
  -----------
  [TableGen] Use SmallVectors for preprocessor include stack. NFC. (#121571)

This is just a minor cleanup and a small step in the direction of using
LLVM containers in preference to STL containers in lib/TableGen.


  Commit: f7420a9dff6d09715042b60c9e26a40a1b2a3147
      https://github.com/llvm/llvm-project/commit/f7420a9dff6d09715042b60c9e26a40a1b2a3147
  Author: Abid Qadeer <haqadeer at amd.com>
  Date:   2025-01-03 (Fri, 03 Jan 2025)

  Changed paths:
    M flang/lib/Optimizer/Transforms/AddDebugInfo.cpp
    A flang/test/Integration/debug-116525.f90

  Log Message:
  -----------
  [flang][debug] Fix issue with argument numbering. (#120726)

Currently fir::isDummyArgument is being used to check if a DeclareOp
represents a dummy argument. The argument passed to the function is
declOp.getMemref(). This bypasses the code in isDummyArgument that
checks for dummy_scope because the `Value` returned by the getMemref()
may not have DeclareOp as its defining op.

This bypassing mean that sometime a variable will be marked as argument
when it should not. This happened in this case where same arg was being
used for 2 different result variables with use of `entry` in the
function.

The solution is to check directly if the declOp has a dummy_scope. If
yes, we know this is dummy argument. We can now check if the memref
points to the BlockArgument and use its number. This will still miss
arguments where memref does not directly point to a BlockArgument but
that is missed currently too. Note that we can still evaluate those
variable in debugger. It is just that they are not marked as arguments.

Fixes #116525.


  Commit: 3b72c62e7faa918d9a7e7439a4aa86d00921b0b8
      https://github.com/llvm/llvm-project/commit/3b72c62e7faa918d9a7e7439a4aa86d00921b0b8
  Author: Brox Chen <guochen2 at amd.com>
  Date:   2025-01-03 (Fri, 03 Jan 2025)

  Changed paths:
    M llvm/lib/Target/AMDGPU/VOP1Instructions.td
    M llvm/test/CodeGen/AMDGPU/llvm.frexp.ll
    M llvm/test/MC/AMDGPU/gfx11_asm_vop1.s
    M llvm/test/MC/AMDGPU/gfx11_asm_vop1_dpp16.s
    M llvm/test/MC/AMDGPU/gfx11_asm_vop1_dpp8.s
    M llvm/test/MC/AMDGPU/gfx11_asm_vop1_t16_err.s
    M llvm/test/MC/AMDGPU/gfx11_asm_vop1_t16_promote.s
    M llvm/test/MC/AMDGPU/gfx11_asm_vop3_dpp16_from_vop1.s
    M llvm/test/MC/AMDGPU/gfx11_asm_vop3_dpp8_from_vop1.s
    M llvm/test/MC/AMDGPU/gfx11_asm_vop3_from_vop1.s
    M llvm/test/MC/AMDGPU/gfx12_asm_vop1.s
    M llvm/test/MC/AMDGPU/gfx12_asm_vop1_dpp16.s
    M llvm/test/MC/AMDGPU/gfx12_asm_vop1_dpp8.s
    M llvm/test/MC/AMDGPU/gfx12_asm_vop1_t16_err.s
    M llvm/test/MC/AMDGPU/gfx12_asm_vop1_t16_promote.s
    M llvm/test/MC/AMDGPU/gfx12_asm_vop3_from_vop1.s
    M llvm/test/MC/AMDGPU/gfx12_asm_vop3_from_vop1_dpp16.s
    M llvm/test/MC/AMDGPU/gfx12_asm_vop3_from_vop1_dpp8.s
    M llvm/test/MC/Disassembler/AMDGPU/gfx11_dasm_vop1.txt
    M llvm/test/MC/Disassembler/AMDGPU/gfx11_dasm_vop1_dpp16.txt
    M llvm/test/MC/Disassembler/AMDGPU/gfx11_dasm_vop1_dpp8.txt
    M llvm/test/MC/Disassembler/AMDGPU/gfx11_dasm_vop3_dpp16_from_vop1.txt
    M llvm/test/MC/Disassembler/AMDGPU/gfx11_dasm_vop3_dpp8_from_vop1.txt
    M llvm/test/MC/Disassembler/AMDGPU/gfx11_dasm_vop3_from_vop1.txt
    M llvm/test/MC/Disassembler/AMDGPU/gfx12_dasm_vop1_dpp16.txt
    M llvm/test/MC/Disassembler/AMDGPU/gfx12_dasm_vop1_dpp8.txt
    M llvm/test/MC/Disassembler/AMDGPU/gfx12_dasm_vop3_from_vop1.txt
    M llvm/test/MC/Disassembler/AMDGPU/gfx12_dasm_vop3_from_vop1_dpp16.txt
    M llvm/test/MC/Disassembler/AMDGPU/gfx12_dasm_vop3_from_vop1_dpp8.txt

  Log Message:
  -----------
  [AMDGPU][True16][MC] true16 for v_frexp_mant_f16 (#120653)

Support true16 format for v_frexp_mant_f16 in MC


  Commit: 9d8e634e85ca46fbec07733d3e69d34c0d7814ac
      https://github.com/llvm/llvm-project/commit/9d8e634e85ca46fbec07733d3e69d34c0d7814ac
  Author: Jeff Niu <jeffniu22 at gmail.com>
  Date:   2025-01-03 (Fri, 03 Jan 2025)

  Changed paths:
    M mlir/lib/Dialect/SCF/IR/SCF.cpp
    M mlir/test/Dialect/SCF/canonicalize.mlir

  Log Message:
  -----------
  [mlir][scf] Always remove for iter args that are loop invariant (#121555)

This alters the condition in ForOpIterArgsFolder to always remove iter
args when their initial value equals the yielded value, not just when
the arg has no use.


  Commit: b2adeae8650fb720873ad7fa39153beaa8194afc
      https://github.com/llvm/llvm-project/commit/b2adeae8650fb720873ad7fa39153beaa8194afc
  Author: Jun Wang <jwang86 at yahoo.com>
  Date:   2025-01-03 (Fri, 03 Jan 2025)

  Changed paths:
    M llvm/lib/Target/AMDGPU/AsmParser/AMDGPUAsmParser.cpp
    M llvm/lib/Target/AMDGPU/BUFInstructions.td
    M llvm/lib/Target/AMDGPU/Disassembler/AMDGPUDisassembler.cpp
    M llvm/lib/Target/AMDGPU/Disassembler/AMDGPUDisassembler.h
    M llvm/lib/Target/AMDGPU/MIMGInstructions.td
    M llvm/lib/Target/AMDGPU/SIRegisterInfo.td
    M llvm/lib/Target/AMDGPU/SMInstructions.td
    M llvm/test/CodeGen/AMDGPU/inline-asm.i128.ll
    M llvm/test/MC/AMDGPU/gfx10_asm_mimg_err.s
    A llvm/test/MC/AMDGPU/gfx10_asm_mtbuf_err.s
    A llvm/test/MC/AMDGPU/gfx10_asm_mubuf_err.s
    M llvm/test/MC/AMDGPU/gfx10_asm_smem.s
    A llvm/test/MC/AMDGPU/gfx10_asm_smem_err.s
    M llvm/test/MC/AMDGPU/gfx11_asm_mimg_err.s
    A llvm/test/MC/AMDGPU/gfx11_asm_mtbuf_err.s
    A llvm/test/MC/AMDGPU/gfx11_asm_mubuf_err.s
    M llvm/test/MC/AMDGPU/gfx11_asm_smem.s
    A llvm/test/MC/AMDGPU/gfx11_asm_smem_err.s
    M llvm/test/MC/AMDGPU/gfx12_asm_mimg_err.s
    M llvm/test/MC/AMDGPU/gfx12_asm_smem.s
    A llvm/test/MC/AMDGPU/gfx12_asm_smem_err.s
    A llvm/test/MC/AMDGPU/gfx12_asm_vbuffer_mtbuf_err.s
    A llvm/test/MC/AMDGPU/gfx12_asm_vbuffer_mubuf_err.s
    M llvm/test/MC/Disassembler/AMDGPU/gfx10_smem.txt
    M llvm/test/MC/Disassembler/AMDGPU/gfx11_dasm_smem.txt
    M llvm/test/MC/Disassembler/AMDGPU/gfx12_dasm_smem.txt

  Log Message:
  -----------
  [AMDGPU][MC] Allow null where 128b or larger dst reg is expected (#115200)

For GFX10+, currently null cannot be used as dst reg in instructions
that expect the dst reg to be 128b or larger (e.g., s_load_dwordx4).
This patch fixes this problem while ensuring null cannot be used as S#,
T#, or V#.


  Commit: 20d491bb993218eae6a13e4901da943ebd804f7a
      https://github.com/llvm/llvm-project/commit/20d491bb993218eae6a13e4901da943ebd804f7a
  Author: Florian Hahn <flo at fhahn.com>
  Date:   2025-01-03 (Fri, 03 Jan 2025)

  Changed paths:
    M llvm/lib/Transforms/Vectorize/VPlan.cpp

  Log Message:
  -----------
  [VPlan] Remove re-using vector PH in VPBasicBlock::execute (NFC).

Remove logic to re-use the previous basic block for the vector pre
header from VPBasicBlock::execute. The preheader is now modeled as
VPIRBasicBlock, so the code is no longer needed.

Split off from https://github.com/llvm/llvm-project/pull/108378.


  Commit: dc307be1b573c1bd6c2f8a3af9edd3455508dc7c
      https://github.com/llvm/llvm-project/commit/dc307be1b573c1bd6c2f8a3af9edd3455508dc7c
  Author: Brox Chen <guochen2 at amd.com>
  Date:   2025-01-03 (Fri, 03 Jan 2025)

  Changed paths:
    M llvm/lib/Target/AMDGPU/VOP1Instructions.td
    M llvm/test/CodeGen/AMDGPU/fract-match.ll
    M llvm/test/MC/AMDGPU/gfx11_asm_vop1.s
    M llvm/test/MC/AMDGPU/gfx11_asm_vop1_dpp16.s
    M llvm/test/MC/AMDGPU/gfx11_asm_vop1_dpp8.s
    M llvm/test/MC/AMDGPU/gfx11_asm_vop1_t16_err.s
    M llvm/test/MC/AMDGPU/gfx11_asm_vop1_t16_promote.s
    M llvm/test/MC/AMDGPU/gfx11_asm_vop3_dpp16_from_vop1.s
    M llvm/test/MC/AMDGPU/gfx11_asm_vop3_dpp8_from_vop1.s
    M llvm/test/MC/AMDGPU/gfx11_asm_vop3_from_vop1.s
    M llvm/test/MC/AMDGPU/gfx12_asm_vop1.s
    M llvm/test/MC/AMDGPU/gfx12_asm_vop1_dpp16.s
    M llvm/test/MC/AMDGPU/gfx12_asm_vop1_dpp8.s
    M llvm/test/MC/AMDGPU/gfx12_asm_vop1_t16_err.s
    M llvm/test/MC/AMDGPU/gfx12_asm_vop1_t16_promote.s
    M llvm/test/MC/AMDGPU/gfx12_asm_vop3_from_vop1.s
    M llvm/test/MC/AMDGPU/gfx12_asm_vop3_from_vop1_dpp16.s
    M llvm/test/MC/AMDGPU/gfx12_asm_vop3_from_vop1_dpp8.s
    M llvm/test/MC/Disassembler/AMDGPU/gfx11_dasm_vop1.txt
    M llvm/test/MC/Disassembler/AMDGPU/gfx11_dasm_vop1_dpp16.txt
    M llvm/test/MC/Disassembler/AMDGPU/gfx11_dasm_vop1_dpp8.txt
    M llvm/test/MC/Disassembler/AMDGPU/gfx11_dasm_vop3_dpp16_from_vop1.txt
    M llvm/test/MC/Disassembler/AMDGPU/gfx11_dasm_vop3_dpp8_from_vop1.txt
    M llvm/test/MC/Disassembler/AMDGPU/gfx11_dasm_vop3_from_vop1.txt
    M llvm/test/MC/Disassembler/AMDGPU/gfx12_dasm_vop1_dpp16.txt
    M llvm/test/MC/Disassembler/AMDGPU/gfx12_dasm_vop1_dpp8.txt
    M llvm/test/MC/Disassembler/AMDGPU/gfx12_dasm_vop3_from_vop1.txt
    M llvm/test/MC/Disassembler/AMDGPU/gfx12_dasm_vop3_from_vop1_dpp16.txt
    M llvm/test/MC/Disassembler/AMDGPU/gfx12_dasm_vop3_from_vop1_dpp8.txt

  Log Message:
  -----------
  [AMDGPU][True16][MC] true16 for v_fract_f16 (#120647)

Support true16 format for v_fract_f16 in MC


  Commit: b71a6fd042173098977e97a47ee0bedb4040069a
      https://github.com/llvm/llvm-project/commit/b71a6fd042173098977e97a47ee0bedb4040069a
  Author: Brox Chen <guochen2 at amd.com>
  Date:   2025-01-03 (Fri, 03 Jan 2025)

  Changed paths:
    M llvm/lib/Target/AMDGPU/VOP1Instructions.td
    M llvm/test/MC/AMDGPU/gfx11_asm_vop1.s
    M llvm/test/MC/AMDGPU/gfx11_asm_vop1_dpp16.s
    M llvm/test/MC/AMDGPU/gfx11_asm_vop1_dpp8.s
    M llvm/test/MC/AMDGPU/gfx11_asm_vop1_t16_err.s
    M llvm/test/MC/AMDGPU/gfx11_asm_vop1_t16_promote.s
    M llvm/test/MC/AMDGPU/gfx11_asm_vop3_dpp16_from_vop1.s
    M llvm/test/MC/AMDGPU/gfx11_asm_vop3_dpp8_from_vop1.s
    M llvm/test/MC/AMDGPU/gfx11_asm_vop3_from_vop1.s
    M llvm/test/MC/AMDGPU/gfx12_asm_vop1.s
    M llvm/test/MC/AMDGPU/gfx12_asm_vop1_dpp16.s
    M llvm/test/MC/AMDGPU/gfx12_asm_vop1_dpp8.s
    M llvm/test/MC/AMDGPU/gfx12_asm_vop1_t16_err.s
    M llvm/test/MC/AMDGPU/gfx12_asm_vop1_t16_promote.s
    M llvm/test/MC/AMDGPU/gfx12_asm_vop3_from_vop1.s
    M llvm/test/MC/AMDGPU/gfx12_asm_vop3_from_vop1_dpp16.s
    M llvm/test/MC/AMDGPU/gfx12_asm_vop3_from_vop1_dpp8.s
    M llvm/test/MC/Disassembler/AMDGPU/gfx11_dasm_vop1.txt
    M llvm/test/MC/Disassembler/AMDGPU/gfx11_dasm_vop1_dpp16.txt
    M llvm/test/MC/Disassembler/AMDGPU/gfx11_dasm_vop1_dpp8.txt
    M llvm/test/MC/Disassembler/AMDGPU/gfx11_dasm_vop3_dpp16_from_vop1.txt
    M llvm/test/MC/Disassembler/AMDGPU/gfx11_dasm_vop3_dpp8_from_vop1.txt
    M llvm/test/MC/Disassembler/AMDGPU/gfx11_dasm_vop3_from_vop1.txt
    M llvm/test/MC/Disassembler/AMDGPU/gfx12_dasm_vop1_dpp16.txt
    M llvm/test/MC/Disassembler/AMDGPU/gfx12_dasm_vop1_dpp8.txt
    M llvm/test/MC/Disassembler/AMDGPU/gfx12_dasm_vop3_from_vop1.txt
    M llvm/test/MC/Disassembler/AMDGPU/gfx12_dasm_vop3_from_vop1_dpp16.txt
    M llvm/test/MC/Disassembler/AMDGPU/gfx12_dasm_vop3_from_vop1_dpp8.txt

  Log Message:
  -----------
  [AMDGPU][True16][MC] true16 for v_cvt_i32_i16 (#120645)

Support true16 format for v_cvt_i32_i16 in MC


  Commit: bf274b3d8044cab8478bef50ccf96313e4dbf21e
      https://github.com/llvm/llvm-project/commit/bf274b3d8044cab8478bef50ccf96313e4dbf21e
  Author: Brox Chen <guochen2 at amd.com>
  Date:   2025-01-03 (Fri, 03 Jan 2025)

  Changed paths:
    M llvm/lib/Target/AMDGPU/VOP1Instructions.td
    M llvm/test/CodeGen/AMDGPU/llvm.cos.f16.ll
    M llvm/test/MC/AMDGPU/gfx11_asm_vop1.s
    M llvm/test/MC/AMDGPU/gfx11_asm_vop1_dpp16.s
    M llvm/test/MC/AMDGPU/gfx11_asm_vop1_dpp8.s
    M llvm/test/MC/AMDGPU/gfx11_asm_vop1_t16_err.s
    M llvm/test/MC/AMDGPU/gfx11_asm_vop1_t16_promote.s
    M llvm/test/MC/AMDGPU/gfx11_asm_vop3_dpp16_from_vop1.s
    M llvm/test/MC/AMDGPU/gfx11_asm_vop3_dpp8_from_vop1.s
    M llvm/test/MC/AMDGPU/gfx11_asm_vop3_from_vop1.s
    M llvm/test/MC/AMDGPU/gfx12_asm_vop1.s
    M llvm/test/MC/AMDGPU/gfx12_asm_vop1_dpp16.s
    M llvm/test/MC/AMDGPU/gfx12_asm_vop1_dpp8.s
    M llvm/test/MC/AMDGPU/gfx12_asm_vop1_t16_err.s
    M llvm/test/MC/AMDGPU/gfx12_asm_vop1_t16_promote.s
    M llvm/test/MC/AMDGPU/gfx12_asm_vop3_from_vop1.s
    M llvm/test/MC/AMDGPU/gfx12_asm_vop3_from_vop1_dpp16.s
    M llvm/test/MC/AMDGPU/gfx12_asm_vop3_from_vop1_dpp8.s
    M llvm/test/MC/Disassembler/AMDGPU/gfx11_dasm_vop1.txt
    M llvm/test/MC/Disassembler/AMDGPU/gfx11_dasm_vop1_dpp16.txt
    M llvm/test/MC/Disassembler/AMDGPU/gfx11_dasm_vop1_dpp8.txt
    M llvm/test/MC/Disassembler/AMDGPU/gfx11_dasm_vop3_dpp16_from_vop1.txt
    M llvm/test/MC/Disassembler/AMDGPU/gfx11_dasm_vop3_dpp8_from_vop1.txt
    M llvm/test/MC/Disassembler/AMDGPU/gfx11_dasm_vop3_from_vop1.txt
    M llvm/test/MC/Disassembler/AMDGPU/gfx12_dasm_vop1_dpp16.txt
    M llvm/test/MC/Disassembler/AMDGPU/gfx12_dasm_vop1_dpp8.txt
    M llvm/test/MC/Disassembler/AMDGPU/gfx12_dasm_vop3_from_vop1.txt
    M llvm/test/MC/Disassembler/AMDGPU/gfx12_dasm_vop3_from_vop1_dpp16.txt
    M llvm/test/MC/Disassembler/AMDGPU/gfx12_dasm_vop3_from_vop1_dpp8.txt

  Log Message:
  -----------
   [AMDGPU][True16][MC] true16 for v_cos_f16 (#120639)

Support true16 format for v_cos_f16 in MC


  Commit: 9f5cefebb482331796ceaebbfcebcd5aee1eb339
      https://github.com/llvm/llvm-project/commit/9f5cefebb482331796ceaebbfcebcd5aee1eb339
  Author: Krzysztof Drewniak <Krzysztof.Drewniak at amd.com>
  Date:   2025-01-03 (Fri, 03 Jan 2025)

  Changed paths:
    M mlir/include/mlir/Dialect/Affine/IR/AffineOps.td
    M mlir/lib/Dialect/Affine/IR/AffineOps.cpp
    M mlir/test/Dialect/Affine/canonicalize.mlir

  Log Message:
  -----------
  [mlir][Affine] Generalize the linearize(delinearize()) simplifications (#117637)

The existing canonicalization patterns would only cancel out cases where
the entire result list of an affine.delineraize_index was passed to an
affine.lineraize_index and the basis elements matched exactly (except
possibly for the outer bounds).

This was correct, but limited, and left open many cases where a
delinearize_index would take a series of divisions and modulos only for
a subsequent linearize_index to use additions and multiplications to
undo all that work.

This sort of simplification is reasably easy to observe at the level of
splititng and merging indexes, but difficult to perform once the
underlying arithmetic operations have been created.

Therefore, this commit generalizes the existing simplification logic.

Now, any run of two or more delinearize_index results that appears
within the argument list of a linearize_index operation with the same
basis (or where they're both at the outermost position and so can be
unbonded, or when `linearize_index disjoint` implies a bound not present
on the `delinearize_index`) will be reduced to one signle
delinearize_index output, whose basis element (that is, size or length)
is equal to the product of the sizes that were simplified away.

That is, we can now simplify

    %0:2 = affine.delinearize_index %n into (8, 8) : inde, index
%1 = affine.linearize_index [%x, %0#0, %0#1, %y] by (3, 8, 8, 5) : index

to the simpler

    %1 = affine.linearize_index [%x, %n, %y] by (3, 64, 5) : index

This new pattern also works with dynamically-sized basis values.

While I'm here, I fixed a bunch of typos in existing tests, and added a
new getPaddedBasis() method to make processing
potentially-underspecified basis elements simpler in some cases.


  Commit: 18b47373cb47f1f63ab1f6e126ccfb22cc52963c
      https://github.com/llvm/llvm-project/commit/18b47373cb47f1f63ab1f6e126ccfb22cc52963c
  Author: jmriesen <20286401+jmriesen at users.noreply.github.com>
  Date:   2025-01-03 (Fri, 03 Jan 2025)

  Changed paths:
    M llvm/docs/ProgrammersManual.rst
    M llvm/include/llvm/IR/PassManager.h

  Log Message:
  -----------
  Updating broken/outdated links in the ProgrammerManual (#119472)

Fixes llvm/llvm-project#117897


  Commit: d85b22ed5dbb794835fd4b5166d5bb79ad9e09f2
      https://github.com/llvm/llvm-project/commit/d85b22ed5dbb794835fd4b5166d5bb79ad9e09f2
  Author: kefan cao <45958009+caokefan at users.noreply.github.com>
  Date:   2025-01-03 (Fri, 03 Jan 2025)

  Changed paths:
    M clang/docs/LibASTMatchersReference.html
    M clang/docs/ReleaseNotes.rst
    M clang/include/clang/ASTMatchers/ASTMatchers.h
    M clang/lib/ASTMatchers/ASTMatchersInternal.cpp
    M clang/lib/ASTMatchers/Dynamic/Registry.cpp
    M clang/unittests/AST/ASTImporterTest.cpp
    M clang/unittests/ASTMatchers/ASTMatchersNodeTest.cpp

  Log Message:
  -----------
  [Clang][ASTMatcher] Add `dependentTemplateSpecializationType` matcher (#121435)

Fixes https://github.com/llvm/llvm-project/issues/121307


  Commit: d7acf03cecef0bc62240c97a890077755323424f
      https://github.com/llvm/llvm-project/commit/d7acf03cecef0bc62240c97a890077755323424f
  Author: Brox Chen <guochen2 at amd.com>
  Date:   2025-01-03 (Fri, 03 Jan 2025)

  Changed paths:
    M llvm/lib/Target/AMDGPU/VOP1Instructions.td
    M llvm/test/CodeGen/AMDGPU/llvm.rint.f16.ll
    M llvm/test/MC/AMDGPU/gfx11_asm_vop1.s
    M llvm/test/MC/AMDGPU/gfx11_asm_vop1_dpp16.s
    M llvm/test/MC/AMDGPU/gfx11_asm_vop1_dpp8.s
    M llvm/test/MC/AMDGPU/gfx11_asm_vop1_t16_err.s
    M llvm/test/MC/AMDGPU/gfx11_asm_vop1_t16_promote.s
    M llvm/test/MC/AMDGPU/gfx11_asm_vop3_dpp16_from_vop1.s
    M llvm/test/MC/AMDGPU/gfx11_asm_vop3_dpp8_from_vop1.s
    M llvm/test/MC/AMDGPU/gfx11_asm_vop3_from_vop1.s
    M llvm/test/MC/AMDGPU/gfx12_asm_vop1.s
    M llvm/test/MC/AMDGPU/gfx12_asm_vop1_dpp16.s
    M llvm/test/MC/AMDGPU/gfx12_asm_vop1_dpp8.s
    M llvm/test/MC/AMDGPU/gfx12_asm_vop1_t16_err.s
    M llvm/test/MC/AMDGPU/gfx12_asm_vop1_t16_promote.s
    M llvm/test/MC/AMDGPU/gfx12_asm_vop3_from_vop1.s
    M llvm/test/MC/AMDGPU/gfx12_asm_vop3_from_vop1_dpp16.s
    M llvm/test/MC/AMDGPU/gfx12_asm_vop3_from_vop1_dpp8.s
    M llvm/test/MC/Disassembler/AMDGPU/gfx11_dasm_vop1.txt
    M llvm/test/MC/Disassembler/AMDGPU/gfx11_dasm_vop1_dpp16.txt
    M llvm/test/MC/Disassembler/AMDGPU/gfx11_dasm_vop1_dpp8.txt
    M llvm/test/MC/Disassembler/AMDGPU/gfx11_dasm_vop3_dpp16_from_vop1.txt
    M llvm/test/MC/Disassembler/AMDGPU/gfx11_dasm_vop3_dpp8_from_vop1.txt
    M llvm/test/MC/Disassembler/AMDGPU/gfx11_dasm_vop3_from_vop1.txt
    M llvm/test/MC/Disassembler/AMDGPU/gfx12_dasm_vop1_dpp16.txt
    M llvm/test/MC/Disassembler/AMDGPU/gfx12_dasm_vop1_dpp8.txt
    M llvm/test/MC/Disassembler/AMDGPU/gfx12_dasm_vop3_from_vop1.txt
    M llvm/test/MC/Disassembler/AMDGPU/gfx12_dasm_vop3_from_vop1_dpp16.txt
    M llvm/test/MC/Disassembler/AMDGPU/gfx12_dasm_vop3_from_vop1_dpp8.txt

  Log Message:
  -----------
  [AMDGPU][True16][MC] true16 for v_rndne_f16 (#120691)

Support true16 format for v_rndne_b16 in MC


  Commit: 78f04477d658ae3de3cd416947c5bac65262a9ec
      https://github.com/llvm/llvm-project/commit/78f04477d658ae3de3cd416947c5bac65262a9ec
  Author: Maksim Levental <maksim.levental at gmail.com>
  Date:   2025-01-03 (Fri, 03 Jan 2025)

  Changed paths:
    M mlir/cmake/modules/AddMLIRPython.cmake

  Log Message:
  -----------
  [mlir][python] declare `_PyClassMethod_New` undefined at link time (#121597)

`NanobindAdaptors.h` uses `PyClassMethod_New` to build `pure_subclass`es
but nanobind doesn't declare this API as undefined in its linker flags.
So we need to declare it as such for downstream users that do not do
something like `-undefined dynamic_lookup`


  Commit: 9165848c8285884938583f5c3a35c97ec03ee486
      https://github.com/llvm/llvm-project/commit/9165848c8285884938583f5c3a35c97ec03ee486
  Author: Valentin Clement (バレンタイン クレメン) <clementval at gmail.com>
  Date:   2025-01-03 (Fri, 03 Jan 2025)

  Changed paths:
    M flang/include/flang/Optimizer/Builder/CUFCommon.h
    M flang/lib/Lower/Allocatable.cpp
    M flang/lib/Lower/Bridge.cpp
    M flang/lib/Optimizer/Builder/CUFCommon.cpp
    M flang/test/Lower/CUDA/cuda-pointer-sync.cuf

  Log Message:
  -----------
  [flang][cuda] Sync global descriptor when nullifying pointer (#121595)


  Commit: 1b5deaeb2ad0a7ea643f24899e4aad9461d3d426
      https://github.com/llvm/llvm-project/commit/1b5deaeb2ad0a7ea643f24899e4aad9461d3d426
  Author: Tom Stellard <tstellar at redhat.com>
  Date:   2025-01-03 (Fri, 03 Jan 2025)

  Changed paths:
    M .github/workflows/build-ci-container.yml

  Log Message:
  -----------
  workflows/build-ci-container: Make sure to only test local containers (#120827)

The container test is run before we create the :latest tag, so we should
not try testing this, otherwise it will pull the :latest tag from the
github registry, and won't test the container we just built.


  Commit: 06cf4f970446ce3c4be0a7104115b82c2fae6448
      https://github.com/llvm/llvm-project/commit/06cf4f970446ce3c4be0a7104115b82c2fae6448
  Author: Tom Stellard <tstellar at redhat.com>
  Date:   2025-01-03 (Fri, 03 Jan 2025)

  Changed paths:
    M .github/workflows/new-issues.yml

  Log Message:
  -----------
  workflows/new-issues: Use an llvmbot token to add labels (#120840)

There is a separate job that mentions teams based on the label added,
and this job won't run if we use the default github token.


  Commit: dfa4312c9b092c23b9b2ec366a8851be729953c4
      https://github.com/llvm/llvm-project/commit/dfa4312c9b092c23b9b2ec366a8851be729953c4
  Author: Tom Stellard <tstellar at redhat.com>
  Date:   2025-01-03 (Fri, 03 Jan 2025)

  Changed paths:
    M .github/workflows/release-binaries.yml

  Log Message:
  -----------
  workflows/release-binaries: Replace some workflow interpolations with env vars (#120860)

This is recommended by the GitHub Actions security hardening guide:
https://docs.github.com/en/actions/security-for-github-actions/security-guides/security-hardening-for-github-actions#using-an-intermediate-environment-variable


  Commit: ee1adc5aab4fb517314358ce03cfda426da9c4ce
      https://github.com/llvm/llvm-project/commit/ee1adc5aab4fb517314358ce03cfda426da9c4ce
  Author: Adrian Prantl <aprantl at apple.com>
  Date:   2025-01-03 (Fri, 03 Jan 2025)

  Changed paths:
    M lldb/docs/resources/formatterbytecode.rst
    M lldb/examples/python/formatter_bytecode.py
    M lldb/source/DataFormatters/FormatterBytecode.cpp
    M lldb/source/DataFormatters/FormatterBytecode.def
    M lldb/unittests/DataFormatter/FormatterBytecodeTest.cpp

  Log Message:
  -----------
  [lldb] Add a return opcode to the formatter bytecode (#121602)

In LLVM we love our early exists and this opcode allows for simpler code
generation.


  Commit: b7637a855722b608ce2fb5aa860149db9b881197
      https://github.com/llvm/llvm-project/commit/b7637a855722b608ce2fb5aa860149db9b881197
  Author: Valentin Clement (バレンタイン クレメン) <clementval at gmail.com>
  Date:   2025-01-03 (Fri, 03 Jan 2025)

  Changed paths:
    M flang/lib/Lower/Allocatable.cpp
    M flang/test/Lower/CUDA/cuda-allocatable.cuf

  Log Message:
  -----------
  [flang][cuda] Set PINNED variable to false in ALLOCATE (#121593)

When `PINNED=` is used with variables that don't have the `PINNED`
attribute, the logical value must be set to false when host allocation
is performed.


  Commit: 54246a39e4cb06cec7d4bafb014e3cad73b1e4df
      https://github.com/llvm/llvm-project/commit/54246a39e4cb06cec7d4bafb014e3cad73b1e4df
  Author: Craig Topper <craig.topper at sifive.com>
  Date:   2025-01-03 (Fri, 03 Jan 2025)

  Changed paths:
    M llvm/lib/Target/RISCV/RISCVInsertVSETVLI.cpp

  Log Message:
  -----------
  [RISCV] Pass VSETVLIInfo by const reference. NFC


  Commit: 82c0f68c041229eb48a7d018f7aa81d576d456a9
      https://github.com/llvm/llvm-project/commit/82c0f68c041229eb48a7d018f7aa81d576d456a9
  Author: Mikhail R. Gadelha <mikhail at igalia.com>
  Date:   2025-01-03 (Fri, 03 Jan 2025)

  Changed paths:
    M libc/src/unistd/linux/dup2.cpp

  Log Message:
  -----------
  [libc] Remove assert to fix rv32 buildbot


  Commit: e3dafa88a8f651825ac65aad9b273983598279dd
      https://github.com/llvm/llvm-project/commit/e3dafa88a8f651825ac65aad9b273983598279dd
  Author: Valentin Clement (バレンタイン クレメン) <clementval at gmail.com>
  Date:   2025-01-03 (Fri, 03 Jan 2025)

  Changed paths:
    M flang/lib/Semantics/check-cuda.cpp
    M flang/test/Semantics/cuf09.cuf

  Log Message:
  -----------
  [flang][cuda] Allow GOTO, EXIT, CYCLE and SELECT CASE in device procedures (#121612)


  Commit: 7c86ab8a18897c434fdb1ee3cd5ff2a71e6aae5a
      https://github.com/llvm/llvm-project/commit/7c86ab8a18897c434fdb1ee3cd5ff2a71e6aae5a
  Author: Slava Zakharin <szakharin at nvidia.com>
  Date:   2025-01-03 (Fri, 03 Jan 2025)

  Changed paths:
    M flang/lib/Optimizer/OpenMP/CMakeLists.txt

  Log Message:
  -----------
  [flang] Fixed the missing dependency. (#121370)

My local build with the shared libraries is broken.
I suppose this was introduced by #120374.

`flang/include/flang/Evaluate/constant.h` ends up being included
by `MapInfoFinalization.cpp` via `flang/Lower/DirectivesCommon.h`.
The undefined references are related to `ConstantBase` classes.


  Commit: a2b9058c392995660956e56c2ac8695a44dc2e4e
      https://github.com/llvm/llvm-project/commit/a2b9058c392995660956e56c2ac8695a44dc2e4e
  Author: Craig Topper <craig.topper at sifive.com>
  Date:   2025-01-03 (Fri, 03 Jan 2025)

  Changed paths:
    M llvm/lib/Target/RISCV/AsmParser/RISCVAsmParser.cpp
    M llvm/lib/Target/RISCV/MCTargetDesc/RISCVBaseInfo.h
    M llvm/lib/Target/RISCV/MCTargetDesc/RISCVInstPrinter.cpp
    M llvm/lib/Target/RISCV/RISCVSystemOperands.td

  Log Message:
  -----------
  [RISCV] Reduce size of CSR lookup tables. NFC (#121606)

Instead of storing 3 different names in each row of the table, use a
separate row for each name and use a flag to indicate what type of name
it is. The AltName and DeprecatedName weren't used often enough to
justify storing them as a possibility for every register.

This reduces the .rodata size by 27k and reduces the number of dynamic
relocations since we now only need 1 lookup by name function. The lookup
by name function each contained a ~400 entry table of const char*
pointing to constant strings. Each of those requires a dynamic
relocation.

I also capitalized IsRV32Only in the C++ code to match coding
standards.


  Commit: dc3cd2e95ee56cdb75f4d0d0742626f912b5c6f3
      https://github.com/llvm/llvm-project/commit/dc3cd2e95ee56cdb75f4d0d0742626f912b5c6f3
  Author: Chandler Carruth <chandlerc at gmail.com>
  Date:   2025-01-03 (Fri, 03 Jan 2025)

  Changed paths:
    M clang/include/clang/Basic/Builtins.h
    M clang/lib/AST/ByteCode/InterpBuiltin.cpp
    M clang/lib/AST/ExprConstant.cpp
    M clang/lib/Basic/Builtins.cpp

  Log Message:
  -----------
  Factor common code for quoting a builtin name (#120835)

This shows up in several places in order to match the quoting of other
uses of the same diagnostic. Handling it centrally simplifies the code
and reduces changes if the storage for builtin names changes.

This refactoring is extracted out of #120534 as requested in code
review.


  Commit: 34f0611bc36db40789823030a3748a8595198719
      https://github.com/llvm/llvm-project/commit/34f0611bc36db40789823030a3748a8595198719
  Author: Owen Pan <owenpiano at gmail.com>
  Date:   2025-01-03 (Fri, 03 Jan 2025)

  Changed paths:
    M clang/docs/ClangFormatStyleOptions.rst
    M clang/include/clang/Format/Format.h

  Log Message:
  -----------
  [clang-format][doc] Minor cleanup


  Commit: aa0f3343a60c6132d9f6adfb8f62234a95519918
      https://github.com/llvm/llvm-project/commit/aa0f3343a60c6132d9f6adfb8f62234a95519918
  Author: Craig Topper <craig.topper at sifive.com>
  Date:   2025-01-03 (Fri, 03 Jan 2025)

  Changed paths:
    M llvm/include/llvm/TableGen/Record.h

  Log Message:
  -----------
  [TableGen] Add 'final' to all of the *Init classes.

Classes that used TrailingObjects were already 'final'. Add to the
rest for consistency.


  Commit: 2d424765f496410d6ab95a80c90d2eda933d66d4
      https://github.com/llvm/llvm-project/commit/2d424765f496410d6ab95a80c90d2eda933d66d4
  Author: Matthias Springer <me at m-sp.org>
  Date:   2025-01-04 (Sat, 04 Jan 2025)

  Changed paths:
    M mlir/include/mlir/IR/Dominance.h
    M mlir/lib/IR/Dominance.cpp

  Log Message:
  -----------
  [mlir][IR][NFC] `DominanceInfo`: Share same impl for block/op dominance (#115587)

The `properlyDominates` implementations for blocks and ops are very
similar. This commit replaces them with a single implementation that
operates on block iterators. That implementation can be used to
implement both `properlyDominates` variants.

Before:
```c++
template <bool IsPostDom>
bool DominanceInfoBase<IsPostDom>::properlyDominatesImpl(Block *a,
                                                         Block *b) const;
template <bool IsPostDom>
bool DominanceInfoBase<IsPostDom>::properlyDominatesImpl(
    Operation *a, Operation *b, bool enclosingOpOk) const;
```

After:
```c++
template <bool IsPostDom>
bool DominanceInfoBase<IsPostDom>::properlyDominatesImpl(
    Block *aBlock, Block::iterator aIt, Block *bBlock, Block::iterator bIt,
    bool enclosingOk) const;
```

Note: A subsequent commit will add a new public `properlyDominates`
overload that accepts block iterators. That functionality can then be
used to find a valid insertion point at which a range of values is
defined (by utilizing post dominance).


  Commit: 95c5c5d4badf7c2128d098be325356e15c2197be
      https://github.com/llvm/llvm-project/commit/95c5c5d4badf7c2128d098be325356e15c2197be
  Author: Matthias Springer <me at m-sp.org>
  Date:   2025-01-04 (Sat, 04 Jan 2025)

  Changed paths:
    M mlir/include/mlir/IR/Dominance.h
    M mlir/lib/Transforms/Utils/DialectConversion.cpp

  Log Message:
  -----------
  [mlir][Transforms][NFC] Use `DominanceInfo` to compute materialization insertion point (#120746)

In the dialect conversion driver, use `DominanceInfo` to compute a
suitable insertion point for N:1 source materializations.


  Commit: fac46469977da9c4e9c6eeaac21103c971190577
      https://github.com/llvm/llvm-project/commit/fac46469977da9c4e9c6eeaac21103c971190577
  Author: Yingwei Zheng <dtcxzyw2333 at gmail.com>
  Date:   2025-01-04 (Sat, 04 Jan 2025)

  Changed paths:
    M llvm/lib/Transforms/InstCombine/InstCombineCompares.cpp
    M llvm/test/Transforms/InstCombine/icmp-gep.ll

  Log Message:
  -----------
  [InstCombine] Check no wrap flags before folding icmp of GEPs with same indices (#121628)

Alive2: https://alive2.llvm.org/ce/z/Dr3Sbe
Closes https://github.com/llvm/llvm-project/issues/121581.


  Commit: 2529a8df53af9bc6cecfd6c83404ffa5e89e3370
      https://github.com/llvm/llvm-project/commit/2529a8df53af9bc6cecfd6c83404ffa5e89e3370
  Author: Chandler Carruth <chandlerc at gmail.com>
  Date:   2025-01-04 (Sat, 04 Jan 2025)

  Changed paths:
    M clang/include/clang/Basic/BuiltinsBase.td
    R clang/include/clang/Basic/BuiltinsX86.def
    M clang/include/clang/Basic/BuiltinsX86.td
    M clang/include/clang/Basic/TargetBuiltins.h
    M clang/lib/Basic/Targets/X86.cpp
    M clang/utils/TableGen/ClangBuiltinsEmitter.cpp

  Log Message:
  -----------
  Mechanically port bulk of x86 builtins to TableGen (#120831)

The goal is to make incremental (if small) progress towards fully
TableGen'ed builtins, and to unblock #120534 by gaining access to more
powerful TableGen-based representations.

The bulk `.td` file addition was generated with the help of a very rough
Python script. That script made no attempt to be robust or reusable, it
specifically handled only the cases in the X86 `.def` file.

Four entries from the `.def` file were not handled automatically as they
used `BUILTIN` rather than `TARGET_BUILTIN`. These were ported by hand
to an empty-feature `TargetBuiltin` entry, which seems like a better
match.

For all the automatically ported entries, the results were compared by
sorting and diffing the `.def` file and the generated `.inc` file. The
only differences were:

- Different horizontal whitespace

- Additional entries that had already been ported to the `.td` file.

- More systematically using `Oi` instead of `LLi` for the type `long
  long int` in the fully general `__builtin_ia32_...` builtins for OpenCL
  support. The `.def` file was only partially moved to this it seems, and
  the systematic migration has updated a few missed builtins.


  Commit: 95db1116c5718004e0bd7c3b79d39987fdbbff32
      https://github.com/llvm/llvm-project/commit/95db1116c5718004e0bd7c3b79d39987fdbbff32
  Author: David CARLIER <devnexen at gmail.com>
  Date:   2025-01-04 (Sat, 04 Jan 2025)

  Changed paths:
    M compiler-rt/lib/rtsan/rtsan_interceptors_posix.cpp
    M compiler-rt/lib/rtsan/tests/rtsan_test_interceptors_posix.cpp

  Log Message:
  -----------
  [compiler-rt][rtsan] intercept setbuf, setvbuf, setlinebuf and setbuffer (#121616)


  Commit: c7fa3cf620f62d87dc7753f5d341ae3f63da87f4
      https://github.com/llvm/llvm-project/commit/c7fa3cf620f62d87dc7753f5d341ae3f63da87f4
  Author: David CARLIER <devnexen at gmail.com>
  Date:   2025-01-04 (Sat, 04 Jan 2025)

  Changed paths:
    M compiler-rt/lib/rtsan/rtsan_interceptors_posix.cpp
    M compiler-rt/lib/rtsan/tests/rtsan_test_interceptors_posix.cpp

  Log Message:
  -----------
  Revert "[compiler-rt][rtsan] intercept setbuf, setvbuf, setlinebuf an… (#121639)

…d setbuffer (#121616)"

This reverts commit 95db1116c5718004e0bd7c3b79d39987fdbbff32.


  Commit: 914fd916d5456e15cf9baaf617edaac6b7334d09
      https://github.com/llvm/llvm-project/commit/914fd916d5456e15cf9baaf617edaac6b7334d09
  Author: Nikolas Klauser <nikolasklauser at berlin.de>
  Date:   2025-01-04 (Sat, 04 Jan 2025)

  Changed paths:
    M libcxx/include/__ostream/basic_ostream.h

  Log Message:
  -----------
  [libc++][NFC] Simplify basic_ostream by combining operator<<(Arithmetic) (#121011)

The bodies of all the `operator<<` for arithmetic types have very
similar or even identical bodies. This introduces two new functions to
avoid all the duplication.


  Commit: c9d61cde2ba3521c7604c8ee0c3e1ba4dfc4d406
      https://github.com/llvm/llvm-project/commit/c9d61cde2ba3521c7604c8ee0c3e1ba4dfc4d406
  Author: Matthias Springer <me at m-sp.org>
  Date:   2025-01-04 (Sat, 04 Jan 2025)

  Changed paths:
    M mlir/lib/Transforms/Utils/DialectConversion.cpp

  Log Message:
  -----------
  [mlir][Transforms][NFC] Delete unused `nTo1TempMaterializations` (#121647)

`nTo1TempMaterializations` is no longer used since the conversion value
mapping supports 1:N mappings.


  Commit: 47ac7fa8619c1f1e29ee4aafded2ae990ffa319e
      https://github.com/llvm/llvm-project/commit/47ac7fa8619c1f1e29ee4aafded2ae990ffa319e
  Author: Florian Hahn <flo at fhahn.com>
  Date:   2025-01-04 (Sat, 04 Jan 2025)

  Changed paths:
    M llvm/test/Transforms/LoopVectorize/induction-step.ll

  Log Message:
  -----------
  [LV] Add tests with wide inductions and live-in step.

Also regenerate check lines and simplify existing tests and names.


  Commit: da2a9ede81a88bea0bba28a543441197772e4727
      https://github.com/llvm/llvm-project/commit/da2a9ede81a88bea0bba28a543441197772e4727
  Author: Vlad Serebrennikov <serebrennikov.vladislav at gmail.com>
  Date:   2025-01-04 (Sat, 04 Jan 2025)

  Changed paths:
    M clang/test/CXX/drs/cwg12xx.cpp
    M clang/test/CXX/drs/cwg28xx.cpp
    M clang/test/CXX/drs/cwg29xx.cpp
    M clang/www/cxx_dr_status.html
    M clang/www/make_cxx_dr_status

  Log Message:
  -----------
  [clang] Update C++ DR status page (#121642)

This patch brings our C++ DR status page up to date with WG21 updates.

[CWG1223](https://cplusplus.github.io/CWG/issues/1223.html) "Syntactic
disambiguation and _trailing-return-types_" is resolved by
[P2915R0](https://wg21.link/p2915r0) "Proposed resolution for CWG1223".
Both the test and the paper were written by @cor3ntin, so I presume no
updates are needed.

[CWG2819](https://cplusplus.github.io/CWG/issues/2819.html) "Cast from
null pointer value in a constant expression" was revisited and marked as
not a DR, so I updated the test to ensure that the example is not
accepted in C++23 and earlier modes. CC @offsetof.

Tentantive resolutions to the following issues were simply promoted to
actual resolutions, so tests don't require any meaningful changes:
- [CWG2913](https://cplusplus.github.io/CWG/issues/2913.html) "Grammar
for deduction-guide has requires-clause in the wrong position"
(@zyn0217)
- [CWG2915](https://cplusplus.github.io/CWG/issues/2915.html) "Explicit
object parameters of type void" (@MitalAshok)
- [CWG2922](https://cplusplus.github.io/CWG/issues/2922.html) "constexpr
placement-new is too permissive" (@cor3ntin)

As a drive-by fix, I updated the `make_cxx_dr_status` script to
accommodate for `C++23 onwards` and `C++26 onwards` statuses, which are
useful for Core issues that are not DRs.


  Commit: 4a7c0b8afe6bf616cd6bb4f13b5b706a43c10e74
      https://github.com/llvm/llvm-project/commit/4a7c0b8afe6bf616cd6bb4f13b5b706a43c10e74
  Author: Florian Hahn <flo at fhahn.com>
  Date:   2025-01-04 (Sat, 04 Jan 2025)

  Changed paths:
    A llvm/test/Transforms/LoopVectorize/X86/induction-step.ll

  Log Message:
  -----------
  [LV] Add X86-specific induction step tests.

Adds additional test coverage for induction codegen.


  Commit: 24c2ba07ce65a5bf7d1113e05c517169d950b663
      https://github.com/llvm/llvm-project/commit/24c2ba07ce65a5bf7d1113e05c517169d950b663
  Author: Yingwei Zheng <dtcxzyw2333 at gmail.com>
  Date:   2025-01-05 (Sun, 05 Jan 2025)

  Changed paths:
    M llvm/lib/Transforms/InstCombine/InstCombineMulDivRem.cpp
    M llvm/test/Transforms/InstCombine/rem-mul-shl.ll

  Log Message:
  -----------
  [InstCombine] Drop NSW when converting `shl X, BW - 1` back into mul (#121633)

`X <<s BW - 1` and `X *s INT_MIN` are not equivalent.
Alive2: https://alive2.llvm.org/ce/z/MKKFrj
Closes https://github.com/llvm/llvm-project/issues/121584


  Commit: ce6251540d7af30585d4ca753ca2a0ab34d32be2
      https://github.com/llvm/llvm-project/commit/ce6251540d7af30585d4ca753ca2a0ab34d32be2
  Author: Simon Pilgrim <llvm-dev at redking.me.uk>
  Date:   2025-01-04 (Sat, 04 Jan 2025)

  Changed paths:
    M llvm/test/CodeGen/X86/vec_saddo.ll
    M llvm/test/CodeGen/X86/vec_ssubo.ll
    M llvm/test/CodeGen/X86/vec_uaddo.ll
    M llvm/test/CodeGen/X86/vec_usubo.ll

  Log Message:
  -----------
  [X86] vector overflow tests - regenerate VPTERNLOG comments


  Commit: 9a95c097d0466c594f40a4ba9ced8a155574fdff
      https://github.com/llvm/llvm-project/commit/9a95c097d0466c594f40a4ba9ced8a155574fdff
  Author: Alexey Samsonov <vonosmas at gmail.com>
  Date:   2025-01-04 (Sat, 04 Jan 2025)

  Changed paths:
    M libc/src/math/generic/CMakeLists.txt
    M libc/src/math/generic/exp10f_impl.h
    M libc/src/math/generic/range_reduction_double_common.h
    M libc/src/math/generic/sincosf16_utils.h
    M utils/bazel/llvm-project-overlay/libc/BUILD.bazel

  Log Message:
  -----------
  [libc] Remove some unused includes from headers under src/math/generic. (#121632)

These were indicated by Clang include-cleaner.


  Commit: c19e0d63b45f9c97157060c662396820ce2a1621
      https://github.com/llvm/llvm-project/commit/c19e0d63b45f9c97157060c662396820ce2a1621
  Author: Fangrui Song <i at maskray.me>
  Date:   2025-01-04 (Sat, 04 Jan 2025)

  Changed paths:
    M llvm/test/Transforms/GCOVProfiling/exit-block.ll

  Log Message:
  -----------
  [gcov,test] Update exit-block.ll now that exit block is always the second

Follow-up to 82fecab85ae2d72ffac0e44749d99f12d6f71cc0


  Commit: b95cce99049d6b79c418c9981dc39ede2850994e
      https://github.com/llvm/llvm-project/commit/b95cce99049d6b79c418c9981dc39ede2850994e
  Author: Florian Hahn <flo at fhahn.com>
  Date:   2025-01-04 (Sat, 04 Jan 2025)

  Changed paths:
    M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
    M llvm/test/Transforms/LoopVectorize/X86/induction-step.ll

  Log Message:
  -----------
  [VPlan] Update wide induction inc recipes to use same step as Wide IV.

Update wide induction increments to use the same step as the corresponding
wide induction. This enables detecting induction increments directly in
VPlan and removes redundant splats.


  Commit: 1fa0036226d0ffad624bfb43595d00885db546b9
      https://github.com/llvm/llvm-project/commit/1fa0036226d0ffad624bfb43595d00885db546b9
  Author: Craig Topper <craig.topper at sifive.com>
  Date:   2025-01-04 (Sat, 04 Jan 2025)

  Changed paths:
    M llvm/lib/Target/AArch64/Utils/AArch64BaseInfo.cpp
    M llvm/lib/Target/AArch64/Utils/AArch64BaseInfo.h

  Log Message:
  -----------
  [AArch64] Remove one unnecesssary include of AArch64GenSystemOperands.inc. NFC

GET_PRCTX_DECL and GET_PRCTX_IMPl don't exist in AArch64GenSystemOperands.inc
so this include does nothing. It looks like it was removed in
2050e7ebe18cc4cf906d9b54d17ee885cd868327.


  Commit: 59354a865fe408749634456e10bd76a50d785c2b
      https://github.com/llvm/llvm-project/commit/59354a865fe408749634456e10bd76a50d785c2b
  Author: David CARLIER <devnexen at gmail.com>
  Date:   2025-01-04 (Sat, 04 Jan 2025)

  Changed paths:
    M compiler-rt/lib/rtsan/rtsan_interceptors_posix.cpp
    M compiler-rt/lib/rtsan/tests/rtsan_test_interceptors_posix.cpp

  Log Message:
  -----------
  [compiler-rt][rtsan] intercept fflush. (#121643)


  Commit: afef716e839bf7dd96ebce5264779b1d316db58e
      https://github.com/llvm/llvm-project/commit/afef716e839bf7dd96ebce5264779b1d316db58e
  Author: Matthias Springer <me at m-sp.org>
  Date:   2025-01-04 (Sat, 04 Jan 2025)

  Changed paths:
    M mlir/lib/Transforms/Utils/DialectConversion.cpp

  Log Message:
  -----------
  [mlir][Transforms] Fix build after #116524 (part 2) (#121662)

Since #116524, an integration test started to become flaky (failure rate
~15%).

```
bin/mlir-opt mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_block_matmul.mlir --sparsifier="enable-arm-sve=true enable-runtime-library=false vl=2 reassociate-fp-reductions=true enable-index-optimizations=true" | mlir-cpu-runner --march=aarch64 --mattr="+sve" -e main -entry-point-result=void -shared-libs=./lib/libmlir_runner_utils.so,./lib/libmlir_c_runner_utils.so | bin/FileCheck mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_block_matmul.mlir
# executed command: bin/mlir-opt mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_block_matmul.mlir '--sparsifier=enable-arm-sve=true enable-runtime-library=false vl=2 reassociate-fp-reductions=true enable-index-optimizations=true'
# .---command stderr------------
# | mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_block_matmul.mlir:71:10: error: null operand found
# |     %0 = linalg.generic #trait_mul
# |          ^
# | mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_block_matmul.mlir:71:10: note: see current operation: %70 = "arith.mulf"(<<NULL VALUE>>, %69) <{fastmath = #arith.fastmath<none>}> : (<<NULL TYPE>>, vector<[2]xf64>) -> vector<[2]xf64>
# `-----------------------------
# error: command failed with exit status: 1
```

I traced the issue back to the `DenseMap<ValueVector, ValueVector,
ValueVectorMapInfo> mapping;` data structure: previously, some
`mapping.erase(foo)` calls were unsuccessful (returning `false`), even
though the `mapping` contains `foo` as a key.


  Commit: fd38a95586477f8f60330ef723406d69b33b91f6
      https://github.com/llvm/llvm-project/commit/fd38a95586477f8f60330ef723406d69b33b91f6
  Author: Craig Topper <craig.topper at sifive.com>
  Date:   2025-01-04 (Sat, 04 Jan 2025)

  Changed paths:
    M llvm/lib/TargetParser/Host.cpp

  Log Message:
  -----------
  [TargetParser] Use StringRef::split that takes a char separator instead of StringRef separator. NFC


  Commit: c56b74315f57acb1b285ddc77b07031b773549b7
      https://github.com/llvm/llvm-project/commit/c56b74315f57acb1b285ddc77b07031b773549b7
  Author: Sergei Barannikov <barannikov88 at gmail.com>
  Date:   2025-01-05 (Sun, 05 Jan 2025)

  Changed paths:
    M llvm/test/TableGen/GlobalISelEmitter/undef-tied-input.td
    M llvm/utils/TableGen/GlobalISelEmitter.cpp

  Log Message:
  -----------
  [TableGen][GISel] Reuse `importNodeRenderer` for `OperandWithDefaultOps` (#121285)

This avoids some code duplication (handling `Register`, `zero_reg` and
immediate operands).


  Commit: f855ceeefc97220a052cc76a52a45c6907eac1f8
      https://github.com/llvm/llvm-project/commit/f855ceeefc97220a052cc76a52a45c6907eac1f8
  Author: Joseph Huber <huberjn at outlook.com>
  Date:   2025-01-04 (Sat, 04 Jan 2025)

  Changed paths:
    M libc/shared/rpc_util.h

  Log Message:
  -----------
  [libc][NFC] use `__has_builtin` instead of checking macros.


  Commit: d1d400372adc9ae78d8ee9c2387b2c6b062b0dc0
      https://github.com/llvm/llvm-project/commit/d1d400372adc9ae78d8ee9c2387b2c6b062b0dc0
  Author: David CARLIER <devnexen at gmail.com>
  Date:   2025-01-04 (Sat, 04 Jan 2025)

  Changed paths:
    M compiler-rt/lib/rtsan/tests/rtsan_test_interceptors_posix.cpp

  Log Message:
  -----------
  [compiler-rt][rtsan] fix unit tests by sanitizer-aarch64-linux report. (#121666)


  Commit: 7db0a606a294bc788563b8363261efa0c13e3062
      https://github.com/llvm/llvm-project/commit/7db0a606a294bc788563b8363261efa0c13e3062
  Author: Billy Laws <blaws05 at gmail.com>
  Date:   2025-01-04 (Sat, 04 Jan 2025)

  Changed paths:
    M llvm/lib/ObjCopy/COFF/COFFObjcopy.cpp
    A llvm/test/tools/llvm-objcopy/COFF/Inputs/i386-debug-rdata.yaml
    A llvm/test/tools/llvm-objcopy/COFF/only-keep-debug-rdata.test

  Log Message:
  -----------
  [objcopy][COFF] Do not strip .rdata section with --only-keep-debug (#121653)

When not in MinGW mode, the PE debug directory is placed in .rdata by
the linker instead of .buildid. In addition to .buildid always
explicitly preserve the section containing the debug directory to avoid
causing errors later in patchDebugDirectory.


  Commit: 7a761100960c0c9e2b2fa8a9ee233b137270bd73
      https://github.com/llvm/llvm-project/commit/7a761100960c0c9e2b2fa8a9ee233b137270bd73
  Author: Zhengxing li <zhengxingli at microsoft.com>
  Date:   2025-01-04 (Sat, 04 Jan 2025)

  Changed paths:
    M clang/lib/CodeGen/CGHLSLRuntime.cpp
    M clang/lib/CodeGen/CGHLSLRuntime.h
    M clang/test/CodeGenHLSL/semantics/SV_GroupID.hlsl
    M llvm/include/llvm/IR/IntrinsicsSPIRV.td
    M llvm/lib/Target/SPIRV/SPIRVInstructionSelector.cpp
    A llvm/test/CodeGen/SPIRV/hlsl-intrinsics/SV_GroupID.ll

  Log Message:
  -----------
  [HLSL][SPIR-V] implement SV_GroupID semantic lowering (#121521)

The HLSL SV_GroupID semantic attribute is lowered into
@llvm.spv.group.id intrinsic in LLVM IR for SPIR-V target.

In the SPIR-V backend, this is now translated to a `WorkgroupId` builtin
variable.

Fixes #118700 which's a follow-up work to #70120


  Commit: a738d81cd2822698539b0482af48d49d91ea5a2e
      https://github.com/llvm/llvm-project/commit/a738d81cd2822698539b0482af48d49d91ea5a2e
  Author: Lukas Bergdoll <lukas.bergdoll at gmail.com>
  Date:   2025-01-05 (Sun, 05 Jan 2025)

  Changed paths:
    M libc/fuzzing/stdlib/CMakeLists.txt
    M libc/fuzzing/stdlib/heap_sort_fuzz.cpp
    R libc/fuzzing/stdlib/qsort_fuzz.cpp
    A libc/fuzzing/stdlib/quick_sort_fuzz.cpp
    M libc/src/stdlib/heap_sort.h
    M libc/src/stdlib/qsort.cpp
    M libc/src/stdlib/qsort_data.h
    A libc/src/stdlib/qsort_pivot.h
    M libc/src/stdlib/qsort_r.cpp
    M libc/src/stdlib/qsort_util.h
    M libc/src/stdlib/quick_sort.h
    M libc/test/src/stdlib/CMakeLists.txt
    M libc/test/src/stdlib/SortingTest.h
    M libc/test/src/stdlib/heap_sort_test.cpp
    M libc/test/src/stdlib/qsort_r_test.cpp
    R libc/test/src/stdlib/qsort_test.cpp
    M libc/test/src/stdlib/quick_sort_test.cpp
    M utils/bazel/llvm-project-overlay/libc/test/src/stdlib/BUILD.bazel

  Log Message:
  -----------
  [libc] Improve qsort (with build fix) (#121482)


  Commit: 2bbdce9a42f58af4ca917eaba1bf1019ba658fd5
      https://github.com/llvm/llvm-project/commit/2bbdce9a42f58af4ca917eaba1bf1019ba658fd5
  Author: Evgenii Kudriashov <evgenii.kudriashov at intel.com>
  Date:   2025-01-05 (Sun, 05 Jan 2025)

  Changed paths:
    M llvm/test/TableGen/GlobalISelEmitter/gisel-physreg-input.td
    M llvm/utils/TableGen/Common/GlobalISel/GlobalISelMatchTable.cpp
    M llvm/utils/TableGen/Common/GlobalISel/GlobalISelMatchTable.h
    M llvm/utils/TableGen/GlobalISelEmitter.cpp

  Log Message:
  -----------
  [GlobalISel] Support physical register inputs in nested patterns (#121239)

When importing nested patterns, we create InsnMatcher for each pattern
and miss them if consider only the top level InsnMatcher. Iterate
PhysRegOperands instead.

Change the type of PhysRegOperands from DenseMap to SmallMapVector to
have stable generation. Also drop PhysRegInputs member from InsnMatcher
as there are no users of it.


  Commit: 66f16e682f84551552099a45e608fa260b14e3ab
      https://github.com/llvm/llvm-project/commit/66f16e682f84551552099a45e608fa260b14e3ab
  Author: Owen Pan <owenpiano at gmail.com>
  Date:   2025-01-04 (Sat, 04 Jan 2025)

  Changed paths:
    M clang/unittests/Format/ConfigParseTest.cpp

  Log Message:
  -----------
  [clang-format][NFC] Add missing config tests for List of Strings (#121451)

Also, simplify the existing test for NamespaceMacros. Like the options
tested by the added tests, it's also a list of arbitrary strings and
initialized to an empty list. (The other existing tests for list of
strings either are initialized to a list of one or more strings or
require specific strings.)


  Commit: 04610b901f41c4abec169b9a38f1b0a2fde976c1
      https://github.com/llvm/llvm-project/commit/04610b901f41c4abec169b9a38f1b0a2fde976c1
  Author: Owen Pan <owenpiano at gmail.com>
  Date:   2025-01-04 (Sat, 04 Jan 2025)

  Changed paths:
    M clang/lib/Format/AffectedRangeManager.cpp
    M clang/lib/Format/AffectedRangeManager.h
    M clang/lib/Format/Format.cpp
    M clang/lib/Format/FormatTokenLexer.cpp
    M clang/lib/Format/UnwrappedLineFormatter.cpp
    M clang/lib/Format/UnwrappedLineParser.cpp
    M clang/lib/Format/UnwrappedLineParser.h

  Log Message:
  -----------
  [clang-format][NFC] Replace SmallVectorImpl with ArrayRef (#121621)


  Commit: 44b83e81b5a48d543bf718907f00a21179ec03a4
      https://github.com/llvm/llvm-project/commit/44b83e81b5a48d543bf718907f00a21179ec03a4
  Author: Owen Pan <owenpiano at gmail.com>
  Date:   2025-01-04 (Sat, 04 Jan 2025)

  Changed paths:
    M clang/lib/Format/FormatToken.h
    M clang/lib/Format/TokenAnnotator.cpp
    M clang/lib/Format/UnwrappedLineParser.cpp
    M clang/unittests/Format/TokenAnnotatorTest.cpp

  Log Message:
  -----------
  [clang-format] Add TT_AfterPPDirective for better annotation (#121622)

For now, we only need to annotate the token after #error or #warning.

Fixes #117706.


  Commit: c1ea05eaf0fbe4b539952689dbf9f0df716c72e7
      https://github.com/llvm/llvm-project/commit/c1ea05eaf0fbe4b539952689dbf9f0df716c72e7
  Author: Owen Pan <owenpiano at gmail.com>
  Date:   2025-01-04 (Sat, 04 Jan 2025)

  Changed paths:
    M clang/lib/Format/UnwrappedLineParser.cpp
    M clang/unittests/Format/FormatTest.cpp

  Log Message:
  -----------
  [clang-format] Don't break short macro call followed by l_paren (#121626)

Fixes #105658.


  Commit: a774adb017256ceae85ec92ce5148ed47e517540
      https://github.com/llvm/llvm-project/commit/a774adb017256ceae85ec92ce5148ed47e517540
  Author: Chandler Carruth <chandlerc at gmail.com>
  Date:   2025-01-04 (Sat, 04 Jan 2025)

  Changed paths:
    M clang/include/clang/Basic/BuiltinsX86.td
    A clang/include/clang/Basic/BuiltinsX86Base.td
    R clang/include/clang/Basic/BuiltinsX86_64.def
    A clang/include/clang/Basic/BuiltinsX86_64.td
    M clang/include/clang/Basic/CMakeLists.txt
    M clang/include/clang/Basic/TargetBuiltins.h
    M clang/lib/Basic/Targets/X86.cpp

  Log Message:
  -----------
  Bulk port 64-bit x86 builtins to TableGen (#121043)

This PR follows https://github.com/llvm/llvm-project/pull/120831 for
x86-64.

Similar to that PR, this does a very mechanical port of X86 builtins to
TableGen. There is a *lot* of improvement available here to use TableGen
more effectively and collapse repeated structures. But those can now be
follow-up PRs that restructure *within* the `.td` file.

The current structure produces a file that exactly matches the original
X-macros except for the differences outlined in
https://github.com/llvm/llvm-project/pull/120831:

- Horizontal whitespace
- `long long` types now use `long long` outside of OpenCL, but switch to
  `long` in OpenCL where relevant.

Otherwise, only the order of builtins change, and no tests regress.


  Commit: ddba0365b33da70543f9add3037d7402371014c9
      https://github.com/llvm/llvm-project/commit/ddba0365b33da70543f9add3037d7402371014c9
  Author: Haohai Wen <haohai.wen at intel.com>
  Date:   2025-01-05 (Sun, 05 Jan 2025)

  Changed paths:
    M lld/test/COFF/cgprofile-obj.s
    M lld/test/ELF/cgprofile-obj.s

  Log Message:
  -----------
  [LLD] Track cg_profile from combination of obj and ordering file (#121324)

Add tests to track section reordering when both cg_profile section
and call-graph-ordering-file were given.


  Commit: 36dd421355791c9c9f6552f8730b36b8953ce5db
      https://github.com/llvm/llvm-project/commit/36dd421355791c9c9f6552f8730b36b8953ce5db
  Author: JaydeepChauhan14 <chauhan.jaydeep.ashwinbhai at intel.com>
  Date:   2025-01-05 (Sun, 05 Jan 2025)

  Changed paths:
    M llvm/lib/Target/X86/X86ISelLowering.cpp
    M llvm/lib/Target/X86/X86ISelLowering.h
    M llvm/lib/Target/X86/X86InstrAVX10.td
    M llvm/lib/Target/X86/X86InstrFragmentsSIMD.td
    A llvm/test/CodeGen/X86/avx10_2_512fptosi_satcvtds.ll
    M llvm/test/CodeGen/X86/avx10_2fptosi_satcvtds.ll

  Log Message:
  -----------
  [X86][AVX10.2] Map vector saturated converts to public intrinsics (#121483)

We already have support for saturated convert ISA in llvm. With this
patch we mapped public llvm intrinsic onto saturated convert ISA. It
includes support for float, double into sign and unsigned int.


  Commit: 2d9d291da0fb94c05b31de0b08ccb881dbead798
      https://github.com/llvm/llvm-project/commit/2d9d291da0fb94c05b31de0b08ccb881dbead798
  Author: Haohai Wen <haohai.wen at intel.com>
  Date:   2025-01-05 (Sun, 05 Jan 2025)

  Changed paths:
    M lld/COFF/Driver.cpp
    M lld/ELF/Driver.cpp
    M lld/test/COFF/cgprofile-obj.s
    M lld/test/ELF/cgprofile-obj.s

  Log Message:
  -----------
  [LLD] Do not combine cg_profile from obj and ordering file (#121325)

cg_profile in object is from CGProfilePass and it is often inaccurate.
While call-graph-ordering-file is provided by user. It is weird to
aggregate them together especially when call-graph-ordering-file is
accurate enough.


  Commit: 96eced624e0f120155256033fdcb8342e7e58d6e
      https://github.com/llvm/llvm-project/commit/96eced624e0f120155256033fdcb8342e7e58d6e
  Author: Younan Zhang <zyn7109 at gmail.com>
  Date:   2025-01-05 (Sun, 05 Jan 2025)

  Changed paths:
    M clang/include/clang/Sema/Sema.h
    M clang/include/clang/Sema/Template.h
    M clang/lib/Sema/SemaConcept.cpp
    M clang/lib/Sema/SemaTemplateDeduction.cpp
    M clang/lib/Sema/SemaTemplateDeductionGuide.cpp
    M clang/lib/Sema/SemaTemplateInstantiate.cpp
    M clang/lib/Sema/TreeTransform.h
    M clang/test/CXX/drs/cwg23xx.cpp
    M clang/test/CXX/drs/cwg26xx.cpp
    M clang/test/CXX/drs/cwg27xx.cpp
    M clang/test/CXX/expr/expr.prim/expr.prim.req/nested-requirement.cpp
    M clang/test/CXX/temp/temp.constr/temp.constr.atomic/constrant-satisfaction-conversions.cpp
    M clang/test/SemaCXX/concept-crash-on-diagnostic.cpp
    M clang/test/SemaCXX/cxx20-ctad-type-alias.cpp
    M clang/test/SemaCXX/cxx23-assume.cpp
    M clang/test/SemaCXX/cxx2c-fold-exprs.cpp
    M clang/test/SemaCXX/lambda-unevaluated.cpp
    M clang/test/SemaTemplate/concepts-recursive-inst.cpp
    M clang/test/SemaTemplate/cxx2a-constraint-exprs.cpp
    M clang/test/SemaTemplate/deduction-guide.cpp
    M clang/test/SemaTemplate/nested-implicit-deduction-guides.cpp
    M clang/www/cxx_dr_status.html

  Log Message:
  -----------
  [Clang] Implement CWG2369 "Ordering between constraints and substitution" (#102857)

This patch partially implements CWG2369 for non-lambda-constrained
functions.

Lambdas are left intact at this point because we need extra work to
correctly instantiate captures before the function instantiation.

As a premise of CWG2369, this patch also implements CWG2770 to ensure
the function parameters are instantiated on demand.

Closes https://github.com/llvm/llvm-project/issues/54440


  Commit: 3092ebcd1e2746ee8db22bf3746b2ad2fb7534dd
      https://github.com/llvm/llvm-project/commit/3092ebcd1e2746ee8db22bf3746b2ad2fb7534dd
  Author: Haohai Wen <haohai.wen at intel.com>
  Date:   2025-01-05 (Sun, 05 Jan 2025)

  Changed paths:
    M lld/test/COFF/cgprofile-obj.s
    M lld/test/ELF/cgprofile-obj.s

  Log Message:
  -----------
  [LLD] Add CHECK-NEXT for cgprofile-obj.s tests (#121677)


  Commit: 7700695739d078eff01aad6f4d40c933419d08bc
      https://github.com/llvm/llvm-project/commit/7700695739d078eff01aad6f4d40c933419d08bc
  Author: Luke Lau <luke at igalia.com>
  Date:   2025-01-05 (Sun, 05 Jan 2025)

  Changed paths:
    M llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
    M llvm/test/Transforms/LoopVectorize/RISCV/vectorize-force-tail-with-evl-call-intrinsics.ll

  Log Message:
  -----------
  [VPlan] Fix crash with EVL tail folding intrinsic with no corresponding VP (#121542)

This fixes a crash when building SPEC CPU 2017 with EVL tail folding
when widening @llvm.log10 intrinsics.

@llvm.log10 and some other intrinsics don't have a corresponding VP
intrinsic, so this fixes the crash by removing the assert and bailing
instead.


  Commit: 743aee4951d452c7795e4e829a6cbf704340cd1c
      https://github.com/llvm/llvm-project/commit/743aee4951d452c7795e4e829a6cbf704340cd1c
  Author: NAKAMURA Takumi <geek4civic at gmail.com>
  Date:   2025-01-05 (Sun, 05 Jan 2025)

  Changed paths:
    M utils/bazel/llvm-project-overlay/clang/BUILD.bazel

  Log Message:
  -----------
  [bazel] Fixup for #121043


  Commit: 00934505d44e28f3c1d5739d6369648e87f10cf5
      https://github.com/llvm/llvm-project/commit/00934505d44e28f3c1d5739d6369648e87f10cf5
  Author: Owen Pan <owenpiano at gmail.com>
  Date:   2025-01-04 (Sat, 04 Jan 2025)

  Changed paths:
    M clang/lib/Format/FormatToken.h
    M clang/lib/Format/TokenAnnotator.cpp
    M clang/lib/Format/TokenAnnotator.h
    M clang/lib/Format/UnwrappedLineFormatter.cpp
    M clang/lib/Format/UnwrappedLineParser.cpp
    M clang/unittests/Format/TokenAnnotatorTest.cpp

  Log Message:
  -----------
  [clang-format] Add `TT_CompoundRequirementLBrace` for better annotation (#121539)

Also, add `ST_CompoundRequirement` to help annotating */&/&& in compound
requirement expressions as `TT_BinaryOperator`.

Fixes #121471.


  Commit: 267ab1cf574bd51d67f3f88c1c4f28a44fca2c8a
      https://github.com/llvm/llvm-project/commit/267ab1cf574bd51d67f3f88c1c4f28a44fca2c8a
  Author: Vlad Serebrennikov <serebrennikov.vladislav at gmail.com>
  Date:   2025-01-05 (Sun, 05 Jan 2025)

  Changed paths:
    M clang/test/CXX/drs/cwg1xx.cpp
    M clang/www/cxx_dr_status.html

  Log Message:
  -----------
  [clang] Add test for CWG190 "Layout-compatible POD-struct types" (#121668)

This patch adds test for
[CWG190](https://cplusplus.github.io/CWG/issues/190.html), leveraging
`__is_layout_compatible` intrinsic added for C++20
`std::is_layout_compatible`. I conservatively set the status to Clang
19, as it's the first release that implemented said intrinsic.


  Commit: 6f69f8c9fe57a44939fd111f52b6d8e267a46602
      https://github.com/llvm/llvm-project/commit/6f69f8c9fe57a44939fd111f52b6d8e267a46602
  Author: Craig Topper <craig.topper at sifive.com>
  Date:   2025-01-04 (Sat, 04 Jan 2025)

  Changed paths:
    M llvm/lib/IR/ConstantsContext.h

  Log Message:
  -----------
  [IR] Use Instruction::isBinaryOp to simplify code. NFC


  Commit: c983ae8f26334279cfe7846bdc9b395abe415e65
      https://github.com/llvm/llvm-project/commit/c983ae8f26334279cfe7846bdc9b395abe415e65
  Author: Hervé Poussineau <hpoussin at reactos.org>
  Date:   2025-01-05 (Sun, 05 Jan 2025)

  Changed paths:
    M llvm/lib/Object/WindowsMachineFlag.cpp
    M llvm/lib/ToolDrivers/llvm-lib/LibDriver.cpp
    A llvm/test/tools/llvm-lib/Inputs/mips.ll
    A llvm/test/tools/llvm-lib/infer-machine.test
    A llvm/test/tools/llvm-lib/machine-opt.test

  Log Message:
  -----------
  [llvm-lib] Handle MIPS architecture (#121254)

- add a test to check values for /machine argument
- add a test to check if machine is correctly inferred from inputs


  Commit: 8267bea9a35c3c3f866b942a50c2b98ac462ce35
      https://github.com/llvm/llvm-project/commit/8267bea9a35c3c3f866b942a50c2b98ac462ce35
  Author: Hervé Poussineau <hpoussin at reactos.org>
  Date:   2025-01-05 (Sun, 05 Jan 2025)

  Changed paths:
    M clang/lib/Driver/ToolChains/MinGW.cpp
    M clang/test/Driver/mingw.cpp

  Log Message:
  -----------
  [Clang][MIPS] Send correct architecture for MinGW toolchains (#121042)

'mipspe' name was chosen by binutils, when the project was able to
create executables for Windows CE/MIPS.


  Commit: fbc198c548cf21bb2be29509a46913a57f95e610
      https://github.com/llvm/llvm-project/commit/fbc198c548cf21bb2be29509a46913a57f95e610
  Author: Vlad Serebrennikov <serebrennikov.vladislav at gmail.com>
  Date:   2025-01-05 (Sun, 05 Jan 2025)

  Changed paths:
    M clang/test/CXX/drs/cwg1xx.cpp
    M clang/www/cxx_dr_status.html

  Log Message:
  -----------
  [clang] Add test for CWG192 "Name lookup in parameters" (#121679)

This patch adds a rather simple test for
[CWG192](https://cplusplus.github.io/CWG/issues/192.html). Parameter
declarations of member functions are not complete-class contexts (unlike
default arguments), so the example in the issue is ill-formed. Changes
in [CWG1352](https://cplusplus.github.io/CWG/issues/1352.html) which
resolved the issue, are superseded by the notion of complete-class
context (https://eel.is/c++draft/class.mem#def:complete-class_context).


  Commit: 3321c2d72ab7757dbdd38bdd99a76d89293dac8a
      https://github.com/llvm/llvm-project/commit/3321c2d72ab7757dbdd38bdd99a76d89293dac8a
  Author: Vlad Serebrennikov <serebrennikov.vladislav at gmail.com>
  Date:   2025-01-05 (Sun, 05 Jan 2025)

  Changed paths:
    M clang/test/CXX/drs/cwg7xx.cpp
    M clang/www/cxx_dr_status.html

  Log Message:
  -----------
  [clang] Add test for CWG794 "Base-derived conversion in member type of pointer-to-member conversion" (#121660)

This patch adds a test for
[CWG794](https://cplusplus.github.io/CWG/issues/794.html), which is an
NB comment closed as NAD. Author was asked to bring a paper to
Evolution, which never happened. So we test for the absence of
base-derived conversion in pointer-to-member conversion.


  Commit: ba93eccded30862969a3c5f547d837d6d102c863
      https://github.com/llvm/llvm-project/commit/ba93eccded30862969a3c5f547d837d6d102c863
  Author: Anutosh Bhat <andersonbhat491 at gmail.com>
  Date:   2025-01-05 (Sun, 05 Jan 2025)

  Changed paths:
    M lld/MachO/SyntheticSections.cpp

  Log Message:
  -----------
  [lld][MachO] Fix warning while building for wasm (#120889)

While building clang & lld against emscripten for wasm, I see the
following
```
 │ │ /home/runner/work/recipes/recipes/output/bld/rattler-build_llvm_1734801187/work/lld/MachO/SyntheticSections.cpp:2075:25: warning: comparison of integers of
 │ │  different signs: 'long' and 'const uint32_t' (aka 'const unsigned int') [-Wsign-compare]
 │ │  2075 |   assert(buf - bufStart == sectionSize &&
 │ │       |          ~~~~~~~~~~~~~~ ^  ~~~~~~~~~~~
 │ │ $BUILD_PREFIX/opt/emsdk/upstream/emscripten/cache/sysroot/include/assert.h:8:28: note: expanded from macro 'assert'
 │ │     8 | #define assert(x) ((void)((x) || (__assert_fail(#x, __FILE__, __LINE__, __func__),0)))
 │ │       |                            ^
 ```
 
 Casting `sectionSize` should be enough I think


  Commit: df4a615c988f3ae56f7e68a7df86acb60f16493a
      https://github.com/llvm/llvm-project/commit/df4a615c988f3ae56f7e68a7df86acb60f16493a
  Author: Florian Hahn <flo at fhahn.com>
  Date:   2025-01-05 (Sun, 05 Jan 2025)

  Changed paths:
    M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
    M llvm/lib/Transforms/Vectorize/VPlan.h
    M llvm/lib/Transforms/Vectorize/VPlanPatternMatch.h
    M llvm/test/Transforms/LoopVectorize/X86/induction-step.ll

  Log Message:
  -----------
  [VPlan] Convert induction increment check to be VPlan-based.

Check the VPlan directly to determine if a VPValue is an optimiziable IV
or IV use instead of checking the underlying IR instructions.

Split off from https://github.com/llvm/llvm-project/pull/112147. This
refactoring enables moving IV end value creation from the legacy
fixupIVUsers to a VPlan-based transform.

There is one case we now won't optimize, that is IVs with subtracts and
non-constant steps. But as this is a minor optimization and doesn't
impact correctness, the benefits of performing the check in VPlan should
outweigh the missed case.


  Commit: 64e8d5b1baaa478c40931d290bf30687a6c93dac
      https://github.com/llvm/llvm-project/commit/64e8d5b1baaa478c40931d290bf30687a6c93dac
  Author: Vlad Serebrennikov <serebrennikov.vladislav at gmail.com>
  Date:   2025-01-05 (Sun, 05 Jan 2025)

  Changed paths:
    M clang/test/CXX/drs/cwg11xx.cpp
    M clang/test/CXX/drs/cwg1xx.cpp
    M clang/www/cxx_dr_status.html

  Log Message:
  -----------
  [clang] Add tests from CWG156 to CWG1111 (dual-scope lookup for conversion-function-ids) (#121654)

This patch adds test from
[CWG156](https://cplusplus.github.io/CWG/issues/156.html) to
[CWG1111](https://cplusplus.github.io/CWG/issues/1111.html) test, and
downgrades the latter to partial availability. The most relevant piece
of current wording is
[[basic.lookup.unqual]/5](https://eel.is/c++draft/basic.lookup#unqual-5):
> An unqualified name that is a component name
([[expr.prim.id.unqual]](https://eel.is/c++draft/expr.prim.id.unqual))
of a
[type-specifier](https://eel.is/c++draft/dcl.type.general#nt:type-specifier)
or
[ptr-operator](https://eel.is/c++draft/dcl.decl.general#nt:ptr-operator)
of a
[conversion-type-id](https://eel.is/c++draft/class.conv.fct#nt:conversion-type-id)
is looked up in the same fashion as the
[conversion-function-id](https://eel.is/c++draft/class.conv.fct#nt:conversion-function-id)
in which it
appears[.](https://eel.is/c++draft/basic.lookup#unqual-5.sentence-1)
If that lookup finds nothing, it undergoes unqualified name lookup; in
each case, only names that denote types or templates whose
specializations are types are
considered[.](https://eel.is/c++draft/basic.lookup#unqual-5.sentence-2)

Per resolution of
[CWG1111](https://cplusplus.github.io/CWG/issues/1111.html), additional
lookup in the context of the entire postfix-expression, which originally
was intended to cross-check lookup in the context of object-expression,
was effectively turned into a fallback for it.

Check out "Calling a conversion function" example in
[P1787R6](https://wg21.link/p1787r6) for step-by-step explanation of the
current lookup mechanics for conversion functions.

Clang rejects one of the well-formed examples, hence partial status.
Clang is the only implementation which rejects it:
https://godbolt.org/z/ohhbx8Mfs


  Commit: 327e2b7c7659e2fff2e644850b767ca77234bef4
      https://github.com/llvm/llvm-project/commit/327e2b7c7659e2fff2e644850b767ca77234bef4
  Author: Vlad Serebrennikov <serebrennikov.vladislav at gmail.com>
  Date:   2025-01-05 (Sun, 05 Jan 2025)

  Changed paths:
    M clang/test/CXX/drs/cwg0xx.cpp
    M clang/test/CXX/drs/cwg10xx.cpp
    M clang/test/CXX/drs/cwg118.cpp
    M clang/test/CXX/drs/cwg11xx.cpp
    M clang/test/CXX/drs/cwg12xx.cpp
    M clang/test/CXX/drs/cwg158.cpp
    M clang/test/CXX/drs/cwg1748.cpp
    M clang/test/CXX/drs/cwg177x.cpp
    M clang/test/CXX/drs/cwg1xx.cpp
    M clang/test/CXX/drs/cwg2771.cpp
    M clang/test/CXX/drs/cwg2xx.cpp
    M clang/test/CXX/drs/cwg3xx.cpp
    A clang/test/CXX/drs/cwg593.cpp
    M clang/test/CXX/drs/cwg6xx.cpp
    M clang/test/CXX/drs/cwg7xx.cpp
    M clang/test/CXX/drs/cwg9xx.cpp
    R clang/test/CXX/drs/cwgr593.cpp

  Log Message:
  -----------
  [clang][NFC] Make all C++ DR tests run in full range of language modes (#121688)

This patch plugs holes in RUN lines in C++ DR tests, making sure they
are run in C++98 through C++26, with the exception of C++03, which in
Clang is synonymous to C++98.


  Commit: 054e7c59713c67ad7b65a92e4b8887076d3881b9
      https://github.com/llvm/llvm-project/commit/054e7c59713c67ad7b65a92e4b8887076d3881b9
  Author: Simon Pilgrim <llvm-dev at redking.me.uk>
  Date:   2025-01-05 (Sun, 05 Jan 2025)

  Changed paths:
    M llvm/lib/Transforms/Vectorize/VectorCombine.cpp
    M llvm/test/Transforms/PhaseOrdering/X86/hadd.ll
    M llvm/test/Transforms/VectorCombine/X86/load-inseltpoison.ll

  Log Message:
  -----------
  [VectorCombine] foldInsExtVectorToShuffle - ignore shuffle costs for 'identity' insertion masks

<u,1,u,u> 'inplace' single src shuffles can be treated as free identity shuffles - ignore any shuffle cost (similar to what we already do in other folds like foldShuffleOfShuffles) - eventually getShuffleCost should just return TCC_Free in these cases but in a lot of the targets' shuffle cost logic this currently ends up treated as a generic SK_PermuteSingleSrc.

We still want to generate the shuffle as it will help further shuffle folds with the additional PoisonMaskElem 'undemanded' elements.


  Commit: 1d155412547b0073ecbbdccb02acc31273f3be49
      https://github.com/llvm/llvm-project/commit/1d155412547b0073ecbbdccb02acc31273f3be49
  Author: Peng Liu <winner245 at hotmail.com>
  Date:   2025-01-05 (Sun, 05 Jan 2025)

  Changed paths:
    M libcxx/include/__vector/vector_bool.h

  Log Message:
  -----------
  [libc++] Remove abandoned __append declaration in vector<bool> (#121673)

The `vector<bool>` implementation in libcxx contains a declaration of a
private `__append` function, which is neither defined nor used anywhere
in the codebase. This PR aims to remove this abandoned declaration, as
its presence is misleading and could lead to confusion during future
maintenance.

I have no idea why we have a declaration without a definition. My guess
is that the declaration might be inherited from the implementation of
`vector<T>`, where `__append` is both necessary and properly defined.
The declaration may have been inadvertently copied from `vector<T>` to
`vector<bool>` and subsequently abandoned, as `vector<bool>` never needs
it.


  Commit: 2adcec7780f3d3027f76c80dbd73085fdee144d7
      https://github.com/llvm/llvm-project/commit/2adcec7780f3d3027f76c80dbd73085fdee144d7
  Author: Yingwei Zheng <dtcxzyw2333 at gmail.com>
  Date:   2025-01-05 (Sun, 05 Jan 2025)

  Changed paths:
    M llvm/lib/Transforms/InstCombine/InstCombineCalls.cpp
    M llvm/test/Transforms/InstCombine/overflow.ll

  Log Message:
  -----------
  [InstCombine] Simplify with.overflow intrinsics with assumption information (#84016)

This patch recognizes never-overflow assumptions generated by rustc to
improve the codegen.
Please refer to https://github.com/rust-lang/hashbrown/issues/509 for
more details.

Closes https://github.com/rust-lang/hashbrown/issues/509
Closes https://github.com/llvm/llvm-project/issues/80637


  Commit: f48884ded884d982a7fd13394b0e93e6588f4143
      https://github.com/llvm/llvm-project/commit/f48884ded884d982a7fd13394b0e93e6588f4143
  Author: Florian Hahn <flo at fhahn.com>
  Date:   2025-01-05 (Sun, 05 Jan 2025)

  Changed paths:
    M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
    M llvm/lib/Transforms/Vectorize/VPlan.cpp
    M llvm/lib/Transforms/Vectorize/VPlan.h
    M llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
    M llvm/test/Transforms/LoopVectorize/AArch64/call-costs.ll
    M llvm/test/Transforms/LoopVectorize/RISCV/low-trip-count.ll
    M llvm/test/Transforms/LoopVectorize/RISCV/short-trip-count.ll
    M llvm/test/Transforms/LoopVectorize/RISCV/truncate-to-minimal-bitwidth-cost.ll
    M llvm/test/Transforms/LoopVectorize/SystemZ/pr47665.ll
    M llvm/test/Transforms/LoopVectorize/SystemZ/scalar-steps-with-users-demanding-all-lanes-and-first-lane-only.ll
    M llvm/test/Transforms/LoopVectorize/X86/constant-fold.ll
    M llvm/test/Transforms/LoopVectorize/X86/pr34438.ll
    M llvm/test/Transforms/LoopVectorize/debugloc-optimize-vfuf-term.ll
    M llvm/test/Transforms/LoopVectorize/first-order-recurrence.ll
    M llvm/test/Transforms/LoopVectorize/vector-loop-backedge-elimination.ll
    M llvm/test/Transforms/LoopVectorize/version-stride-with-integer-casts.ll
    M llvm/test/Transforms/LoopVectorize/vplan-printing-before-execute.ll

  Log Message:
  -----------
  [VPlan] Remove loop region in optimizeForVFAndUF. (#108378)

Update optimizeForVFAndUF to completely remove the vector loop region
when possible. At the moment, we cannot remove the region if it contains

* widened IVs: the recipe is needed to generate the step vector
* reductions: ComputeReductionResults requires the reduction phi recipe
for codegen.

Both cases can be addressed by more explicit modeling.

The patch also includes a number of updates to allow executing VPlans
without a vector loop region.

Depends on https://github.com/llvm/llvm-project/pull/110004


  Commit: b5f21671ef04984bc00770263234dfb94833a274
      https://github.com/llvm/llvm-project/commit/b5f21671ef04984bc00770263234dfb94833a274
  Author: William Moses <gh at wsmoses.com>
  Date:   2025-01-05 (Sun, 05 Jan 2025)

  Changed paths:
    M mlir/include/mlir/Target/LLVMIR/ModuleImport.h
    M mlir/lib/Target/LLVMIR/ModuleImport.cpp
    M mlir/test/Target/LLVMIR/Import/import-failure.ll
    M mlir/test/Target/LLVMIR/Import/instructions.ll

  Log Message:
  -----------
  MLIR: Enable importing inlineasm calls (#121624)


  Commit: a37dbc1f51c70d92fd209c2e52a9d794eb15e4e7
      https://github.com/llvm/llvm-project/commit/a37dbc1f51c70d92fd209c2e52a9d794eb15e4e7
  Author: Yingwei Zheng <dtcxzyw2333 at gmail.com>
  Date:   2025-01-06 (Mon, 06 Jan 2025)

  Changed paths:
    M llvm/lib/Transforms/InstCombine/InstCombineSelect.cpp
    M llvm/test/Transforms/InstCombine/select-cmp-cttz-ctlz.ll

  Log Message:
  -----------
  [InstCombine] Drop noundef in `foldSelectCttzCtlz` (#121692)

Close https://github.com/llvm/llvm-project/issues/121428


  Commit: b48e5f0ff3f25e8bdd3ae473dca00511336cbd6f
      https://github.com/llvm/llvm-project/commit/b48e5f0ff3f25e8bdd3ae473dca00511336cbd6f
  Author: Michael Maitland <michaeltmaitland at gmail.com>
  Date:   2025-01-05 (Sun, 05 Jan 2025)

  Changed paths:
    M llvm/lib/Target/RISCV/RISCVVLOptimizer.cpp
    M llvm/test/CodeGen/RISCV/rvv/vfwmacc-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/vfwmsac-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/vfwnmacc-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/vfwnmsac-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/vl-opt-op-info.mir
    M llvm/test/CodeGen/RISCV/rvv/vsitofp-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/vuitofp-vp.ll

  Log Message:
  -----------
  [RISCV][VLOPT] Add Vector FP instructions to getOperandInfo (#121609)

Although we cannot reduce the VL of these instructions (i.e. add to
isSupported) we can add them to getOperandInfo to enable optimization
where the FP vector instruction are users. Most of the instructions are
covered by existing tests, and I added tests for the narrowing
conversions because I was a little unsure whether the dest or the source
was 2*SEW and 2*LMUL.


  Commit: 8b577043b1f770d72e59738382ac32d212497a6d
      https://github.com/llvm/llvm-project/commit/8b577043b1f770d72e59738382ac32d212497a6d
  Author: Michael Maitland <michaeltmaitland at gmail.com>
  Date:   2025-01-05 (Sun, 05 Jan 2025)

  Changed paths:
    M llvm/lib/Target/RISCV/RISCVVLOptimizer.cpp

  Log Message:
  -----------
  [RISCV][VLOPT] Add vmv.x.s and vfmv.f.s to isVectorOpUsedAsScalarOp (#121588)


  Commit: 486f83faa31ae5356523da868a557619601a0e3e
      https://github.com/llvm/llvm-project/commit/486f83faa31ae5356523da868a557619601a0e3e
  Author: Matthias Springer <me at m-sp.org>
  Date:   2025-01-05 (Sun, 05 Jan 2025)

  Changed paths:
    M mlir/lib/Transforms/Utils/DialectConversion.cpp

  Log Message:
  -----------
  [mlir][Transforms][NFC] Simplify `buildUnresolvedMaterialization` implementation (#121651)

The `buildUnresolvedMaterialization` implementation used to check if a
materialization is necessary. A materialization is not necessary if the
desired types already match the input. However, this situation can never
happen: we look for mapped values with the desired type at the call
sites before requesting a new unresolved materialization.

The previous implementation seemed incorrect because
`buildUnresolvedMaterialization` created a mapping that is never rolled
back. (When in reality that code was never executed, so it is
technically not incorrect.)

Also fix a comment that in `findOrBuildReplacementValue` that was
incorrect.


  Commit: 2dcb3b9f377de428f7d9d103c80226b9007c72a9
      https://github.com/llvm/llvm-project/commit/2dcb3b9f377de428f7d9d103c80226b9007c72a9
  Author: Matthias Springer <me at m-sp.org>
  Date:   2025-01-05 (Sun, 05 Jan 2025)

  Changed paths:
    M mlir/lib/Dialect/ArmSVE/Transforms/LegalizeForLLVMExport.cpp

  Log Message:
  -----------
  [mlir][ArmSME] Remove func patterns from vector lowering (#121640)

Remove `func.call` and `func.return` patterns from
`populateArmSVELegalizeForLLVMExportPatterns`. This function is called
from `ConvertVectorToLLVMPass::runOnOperation`. That pass should lower
only `vector` dialect ops, not `func` dialect ops. These patterns also
seem to be unnecessary, as no test cases are failing without them. Also
note that there is no `func.func` pattern, so any application of the
above-mentioned patterns produces invalid IR.


  Commit: 463e61a0013253bec1b5e7f07e7b1803b68e2b3d
      https://github.com/llvm/llvm-project/commit/463e61a0013253bec1b5e7f07e7b1803b68e2b3d
  Author: Vlad Serebrennikov <serebrennikov.vladislav at gmail.com>
  Date:   2025-01-05 (Sun, 05 Jan 2025)

  Changed paths:
    M clang/test/CXX/drs/cwg0xx.cpp
    M clang/test/CXX/drs/cwg10xx.cpp
    M clang/test/CXX/drs/cwg11xx.cpp
    M clang/test/CXX/drs/cwg12xx.cpp
    M clang/test/CXX/drs/cwg13xx.cpp
    M clang/test/CXX/drs/cwg14xx.cpp
    M clang/test/CXX/drs/cwg15xx.cpp
    M clang/test/CXX/drs/cwg16xx.cpp
    M clang/test/CXX/drs/cwg177x.cpp
    M clang/test/CXX/drs/cwg17xx.cpp
    M clang/test/CXX/drs/cwg1807.cpp
    M clang/test/CXX/drs/cwg18xx.cpp
    M clang/test/CXX/drs/cwg19xx.cpp
    M clang/test/CXX/drs/cwg1xx.cpp
    M clang/test/CXX/drs/cwg20xx.cpp
    M clang/test/CXX/drs/cwg21xx.cpp
    M clang/test/CXX/drs/cwg22xx.cpp
    M clang/test/CXX/drs/cwg23xx.cpp
    M clang/test/CXX/drs/cwg24xx.cpp
    M clang/test/CXX/drs/cwg2504.cpp
    M clang/test/CXX/drs/cwg25xx.cpp
    M clang/test/CXX/drs/cwg26xx.cpp
    M clang/test/CXX/drs/cwg27xx.cpp
    M clang/test/CXX/drs/cwg28xx.cpp
    M clang/test/CXX/drs/cwg29xx.cpp
    M clang/test/CXX/drs/cwg2xx.cpp
    M clang/test/CXX/drs/cwg3xx.cpp
    M clang/test/CXX/drs/cwg492.cpp
    M clang/test/CXX/drs/cwg4xx.cpp
    M clang/test/CXX/drs/cwg571.cpp
    M clang/test/CXX/drs/cwg5xx.cpp
    M clang/test/CXX/drs/cwg6xx.cpp
    M clang/test/CXX/drs/cwg722.cpp
    M clang/test/CXX/drs/cwg7xx.cpp
    M clang/test/CXX/drs/cwg8xx.cpp
    M clang/test/CXX/drs/cwg9xx.cpp

  Log Message:
  -----------
  [clang][NFC] Add end namespace comments to C++ DR tests


  Commit: de7f5311061d50ef54ec56a783aa6147c5d09526
      https://github.com/llvm/llvm-project/commit/de7f5311061d50ef54ec56a783aa6147c5d09526
  Author: Schrodinger ZHU Yifan <yifanzhu at rochester.edu>
  Date:   2025-01-05 (Sun, 05 Jan 2025)

  Changed paths:
    M libc/test/src/stdlib/SortingTest.h

  Log Message:
  -----------
  [libc][fuzz] workaround gcc's constexpr capture issue in sort fuzzer (#121684)

Fix the build problem at
https://lab.llvm.org/buildbot/#/builders/131/builds/13255


  Commit: 743c84bb9b79ed70d9bed926c2a173db3b30f587
      https://github.com/llvm/llvm-project/commit/743c84bb9b79ed70d9bed926c2a173db3b30f587
  Author: Vlad Serebrennikov <serebrennikov.vladislav at gmail.com>
  Date:   2025-01-05 (Sun, 05 Jan 2025)

  Changed paths:
    A clang/test/CXX/drs/cwg2353.cpp
    M clang/test/CXX/drs/cwg23xx.cpp

  Log Message:
  -----------
  [clang][NFC] Move CWG2353 test to its own file


  Commit: f53abc2db07abfa38af9365bc15572112adbe040
      https://github.com/llvm/llvm-project/commit/f53abc2db07abfa38af9365bc15572112adbe040
  Author: Vlad Serebrennikov <serebrennikov.vladislav at gmail.com>
  Date:   2025-01-05 (Sun, 05 Jan 2025)

  Changed paths:
    M clang/test/CXX/drs/cwg28xx.cpp

  Log Message:
  -----------
  [clang][NFC] Refactor expected directives in CWG2881 test


  Commit: 747f7f38bddaa4ae60c8d1380c9b28d81fc13e8a
      https://github.com/llvm/llvm-project/commit/747f7f38bddaa4ae60c8d1380c9b28d81fc13e8a
  Author: Florian Hahn <flo at fhahn.com>
  Date:   2025-01-05 (Sun, 05 Jan 2025)

  Changed paths:
    M llvm/test/Transforms/LoopVectorize/dereferenceable-info-from-assumption-constant-size.ll

  Log Message:
  -----------
  [LV] Add test with conditional load from invariant addr and assumption.

This adds missing test coverage for isDereferenceableAndAlignedInLoop,
related to https://github.com/llvm/llvm-project/pull/96752.


  Commit: 0fc8fc75a9d505dde92c0d6d8826b6384dfb5e2a
      https://github.com/llvm/llvm-project/commit/0fc8fc75a9d505dde92c0d6d8826b6384dfb5e2a
  Author: Fangrui Song <i at maskray.me>
  Date:   2025-01-05 (Sun, 05 Jan 2025)

  Changed paths:
    M llvm/test/MC/AsmParser/macro-def-in-instantiation.s
    A llvm/test/MC/AsmParser/macro-nesting.s

  Log Message:
  -----------
  [MC,test] Improve nesting macro test

9d94a4eee9d30487c5d6b1478a7195523f6db1ca added support for nested .macro .
Mov the test to macro-nesting.s and add another test to test \+ and \@.


  Commit: f4230b4332262dffb0bd3b7a2f8d6deb2e96488e
      https://github.com/llvm/llvm-project/commit/f4230b4332262dffb0bd3b7a2f8d6deb2e96488e
  Author: Florian Hahn <flo at fhahn.com>
  Date:   2025-01-05 (Sun, 05 Jan 2025)

  Changed paths:
    M llvm/lib/Transforms/Vectorize/LoopVectorizationPlanner.h
    M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
    M llvm/lib/Transforms/Vectorize/VPlan.h
    M llvm/lib/Transforms/Vectorize/VPlanRecipes.cpp
    M llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
    M llvm/test/Transforms/LoopVectorize/preserve-dbg-loc-and-loop-metadata.ll

  Log Message:
  -----------
  [VPlan] Add and use debug location for VPScalarCastRecipe.

Update the recipe it always take a debug location and set it.


  Commit: c2f7745b4ef7a79ca0789efee997e973ed896380
      https://github.com/llvm/llvm-project/commit/c2f7745b4ef7a79ca0789efee997e973ed896380
  Author: Fangrui Song <i at maskray.me>
  Date:   2025-01-05 (Sun, 05 Jan 2025)

  Changed paths:
    M lld/Common/BPSectionOrdererBase.cpp
    M lld/MachO/BPSectionOrderer.h
    M lld/include/lld/Common/BPSectionOrdererBase.h

  Log Message:
  -----------
  [lld-macho] Remove redundant hasValidData. NFC

lld::macho::runBalancedPartitioning ensures that all sections satisfy
`hasValidData`.


  Commit: 8d2b070f07969f8358c93b9cf56834806fdc3efa
      https://github.com/llvm/llvm-project/commit/8d2b070f07969f8358c93b9cf56834806fdc3efa
  Author: Fangrui Song <i at maskray.me>
  Date:   2025-01-05 (Sun, 05 Jan 2025)

  Changed paths:
    M lld/ELF/CallGraphSort.cpp
    M lld/ELF/CallGraphSort.h
    M lld/ELF/Writer.cpp

  Log Message:
  -----------
  [ELF] Internalize computeCacheDirectedSortOrder. NFC

and delete an incorremtn comment about ctx.arg.callGraphProfile


  Commit: bcc1e584483c8246b651290b0c2d696bd57006a9
      https://github.com/llvm/llvm-project/commit/bcc1e584483c8246b651290b0c2d696bd57006a9
  Author: Fangrui Song <i at maskray.me>
  Date:   2025-01-05 (Sun, 05 Jan 2025)

  Changed paths:
    M lld/ELF/CallGraphSort.cpp
    M lld/ELF/Driver.cpp
    M lld/ELF/Writer.cpp
    A lld/test/ELF/cgprofile-orderfile.s

  Log Message:
  -----------
  [ELF] Allow --symbol-ordering-file and call graph profile to be used together

Port https://reviews.llvm.org/D117354 from the MachO port.

If both --symbol-ordering-file and call graph profile are present, the
--symbol-ordering-file takes precedence, but the call graph profile is
still used for symbols that don't appear in the order file.

In addition, call graph profile described sections are now ordered
before other sections.


  Commit: 9d0fa42fbbffe3ff584b26f3a48f8f786f68da72
      https://github.com/llvm/llvm-project/commit/9d0fa42fbbffe3ff584b26f3a48f8f786f68da72
  Author: Vishakh Prakash <vishakhpro2002 at gmail.com>
  Date:   2025-01-06 (Mon, 06 Jan 2025)

  Changed paths:
    M mlir/docs/Tutorials/Toy/Ch-2.md

  Log Message:
  -----------
  [mlir] Update Ch-2.md (#121379)

line 265 in the file llvm-project/mlir/docs/Tutorials/Toy/Ch-2.md 

changed mlir::OpTraits to mlir::OpTrait


  Commit: 510263a969291749ba2b627839249b2bb101ca35
      https://github.com/llvm/llvm-project/commit/510263a969291749ba2b627839249b2bb101ca35
  Author: Nico Weber <thakis at chromium.org>
  Date:   2025-01-05 (Sun, 05 Jan 2025)

  Changed paths:
    M llvm/utils/gn/secondary/clang/include/clang/Basic/BUILD.gn
    M llvm/utils/gn/secondary/clang/lib/Basic/BUILD.gn

  Log Message:
  -----------
  [gn] port a774adb01725 (BuiltinsX86_64.td)


  Commit: f3590c16da9e6bb5c3b22f4593ef794a43dc8b5d
      https://github.com/llvm/llvm-project/commit/f3590c16da9e6bb5c3b22f4593ef794a43dc8b5d
  Author: Amr Hesham <amr96 at programmer.net>
  Date:   2025-01-05 (Sun, 05 Jan 2025)

  Changed paths:
    M clang/docs/LibASTMatchersReference.html
    M clang/docs/ReleaseNotes.rst
    M clang/include/clang/ASTMatchers/ASTMatchers.h
    M clang/lib/ASTMatchers/Dynamic/Registry.cpp
    M clang/unittests/ASTMatchers/ASTMatchersNarrowingTest.cpp

  Log Message:
  -----------
  [Clang][ASTMatcher] Add a matcher for the name of a DependentScopeDeclRefExpr (#121656)

Add the `hasDependentName` matcher to match the name of
`DependentScopeDeclRefExpr`

Fixes https://github.com/llvm/llvm-project/issues/121610


  Commit: d34f7ead886aaaca50f672c47e4f97e078d574db
      https://github.com/llvm/llvm-project/commit/d34f7ead886aaaca50f672c47e4f97e078d574db
  Author: Matt Arsenault <Matthew.Arsenault at amd.com>
  Date:   2025-01-06 (Mon, 06 Jan 2025)

  Changed paths:
    M llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
    A llvm/test/CodeGen/AMDGPU/issue121601-combine-concat-vectors-assumes-f16.ll

  Log Message:
  -----------
  DAG: Fix assuming f16 is the only 16-bit fp type in concat vector combine (#121637)

This would see if there are mixed integer and FP types and pick an
equivalently sized FP type to use as the vector element type, and only
cast if there were mixed integers. We need to insert a cast if the types
are mixed, which may include different FP types.

Fixes #121601


  Commit: 0bd1c879966cfdf145b1f96292a2632628fab3fb
      https://github.com/llvm/llvm-project/commit/0bd1c879966cfdf145b1f96292a2632628fab3fb
  Author: Aaditya <115080342+easyonaadit at users.noreply.github.com>
  Date:   2025-01-06 (Mon, 06 Jan 2025)

  Changed paths:
    M llvm/lib/Target/AMDGPU/AMDGPURegisterBankInfo.cpp
    M llvm/lib/Target/AMDGPU/SIISelLowering.cpp
    M llvm/lib/Target/AMDGPU/SIISelLowering.h
    R llvm/test/CodeGen/AMDGPU/GlobalISel/dynamic-alloca-divergent.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/regbankselect-dyn-stackalloc.mir
    M llvm/test/CodeGen/AMDGPU/dynamic_stackalloc.ll

  Log Message:
  -----------
  [AMDGPU] Support divergent sized dynamic alloca (#121148)

Currently, AMDGPU backend can handle uniform-sized dynamic allocas. 
This patch extends support for divergent-sized dynamic allocas.
When the size argument of a dynamic alloca is divergent, 
a wave-wide reduction is performed to get the required stack space. 
`@llvm.amdgcn.wave.reduce.umax` is used to perform the 
wave reduction.

Dynamic allocas are not completely supported yet, 
as the stack is not properly restored on function exit.
This patch doesn't attempt to address the aforementioned issue.

Note: Compiler already Zero-Extends or Truncates all other 
types(of alloca size arg) to i32.


  Commit: 7e3180a2c2ca2383688d4b8a74c99ce486dd8486
      https://github.com/llvm/llvm-project/commit/7e3180a2c2ca2383688d4b8a74c99ce486dd8486
  Author: Amara Emerson <amara at apple.com>
  Date:   2025-01-05 (Sun, 05 Jan 2025)

  Changed paths:
    M llvm/lib/CodeGen/GlobalISel/LegalizerHelper.cpp
    M llvm/lib/Target/AArch64/GISel/AArch64LegalizerInfo.cpp
    A llvm/test/CodeGen/AArch64/GlobalISel/legalize-store-vector-bools.mir

  Log Message:
  -----------
  [AArch64][GlobalISel] Add support for widening vector store elements to s8.



Reviewers: topperc, arsenm, davemgreen

Reviewed By: arsenm

Pull Request: https://github.com/llvm/llvm-project/pull/121170


  Commit: 41ebbed280e9e4e8fa3b394486fad70d1af4c797
      https://github.com/llvm/llvm-project/commit/41ebbed280e9e4e8fa3b394486fad70d1af4c797
  Author: Amara Emerson <amara at apple.com>
  Date:   2025-01-05 (Sun, 05 Jan 2025)

  Changed paths:
    M llvm/include/llvm/CodeGen/GlobalISel/LegalizerHelper.h
    M llvm/lib/CodeGen/GlobalISel/LegalizerHelper.cpp
    M llvm/lib/Target/AArch64/GISel/AArch64LegalizerInfo.cpp
    M llvm/lib/Target/AArch64/GISel/AArch64LegalizerInfo.h
    M llvm/test/CodeGen/AArch64/GlobalISel/legalize-bitcast.mir

  Log Message:
  -----------
  [AArch64][GlobalISel] Legalize vector boolean bitcasts to scalars by lowering via stack.



Reviewers: davemgreen, topperc, arsenm

Reviewed By: arsenm

Pull Request: https://github.com/llvm/llvm-project/pull/121171


  Commit: 34e8aff480dd9cd0372a7c14d13dfca5d3cd1a24
      https://github.com/llvm/llvm-project/commit/34e8aff480dd9cd0372a7c14d13dfca5d3cd1a24
  Author: Akshat Oke <Akshat.Oke at amd.com>
  Date:   2025-01-06 (Mon, 06 Jan 2025)

  Changed paths:
    M llvm/include/llvm/Support/Recycler.h
    M llvm/unittests/Support/CMakeLists.txt
    A llvm/unittests/Support/RecyclerTest.cpp

  Log Message:
  -----------
  [Support] Recycler: Enforce minimum allocation size (#121425)

Recycler uses reinterpret_cast to an internal structure of size 8.
Invalid write occurs if Recycler is used for objects with sizes less
than 8.


  Commit: 483832b37a7dd98542dce2ad764ecddc3f0c85b9
      https://github.com/llvm/llvm-project/commit/483832b37a7dd98542dce2ad764ecddc3f0c85b9
  Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
  Date:   2025-01-06 (Mon, 06 Jan 2025)

  Changed paths:
    M llvm/utils/gn/secondary/llvm/unittests/Support/BUILD.gn

  Log Message:
  -----------
  [gn build] Port 34e8aff480dd


  Commit: a77346bad0d80a7f7e184f3d6e12c7f532101136
      https://github.com/llvm/llvm-project/commit/a77346bad0d80a7f7e184f3d6e12c7f532101136
  Author: Yingwei Zheng <dtcxzyw2333 at gmail.com>
  Date:   2025-01-06 (Mon, 06 Jan 2025)

  Changed paths:
    M llvm/include/llvm/IR/IRBuilder.h
    M llvm/lib/IR/IRBuilder.cpp
    M llvm/lib/Target/AArch64/AArch64TargetTransformInfo.cpp
    M llvm/lib/Transforms/AggressiveInstCombine/AggressiveInstCombine.cpp
    M llvm/lib/Transforms/InstCombine/InstCombineAddSub.cpp
    M llvm/lib/Transforms/InstCombine/InstCombineAndOrXor.cpp
    M llvm/lib/Transforms/InstCombine/InstCombineCasts.cpp
    M llvm/lib/Transforms/InstCombine/InstCombineMulDivRem.cpp
    M llvm/lib/Transforms/InstCombine/InstCombineSelect.cpp
    M llvm/lib/Transforms/Utils/SimplifyCFG.cpp
    M llvm/lib/Transforms/Utils/SimplifyLibCalls.cpp
    M llvm/lib/Transforms/Vectorize/VPlanRecipes.cpp

  Log Message:
  -----------
  [IRBuilder] Refactor FMF interface (#121657)

Up to now, the only way to set specified FMF flags in IRBuilder is to
use `FastMathFlagGuard`. It makes the code ugly and hard to maintain.

This patch introduces a helper class `FMFSource` to replace the original
parameter `Instruction *FMFSource` in IRBuilder. To maximize the
compatibility, it accepts an instruction or a specified FMF.
This patch also removes the use of `FastMathFlagGuard` in some simple
cases.

Compile-time impact:
https://llvm-compile-time-tracker.com/compare.php?from=f87a9db8322643ccbc324e317a75b55903129b55&to=9397e712f6010be15ccf62f12740e9b4a67de2f4&stat=instructions%3Au


  Commit: 5f7568a32c5572e10c8818192a985d7278a261e2
      https://github.com/llvm/llvm-project/commit/5f7568a32c5572e10c8818192a985d7278a261e2
  Author: Matthias Springer <me at m-sp.org>
  Date:   2025-01-06 (Mon, 06 Jan 2025)

  Changed paths:
    M mlir/lib/Transforms/Utils/DialectConversion.cpp

  Log Message:
  -----------
  [mlir][Transforms] Fix mapping in `findOrBuildReplacementValue` (#121644)

Fixes two minor issues in `findOrBuildReplacementValue`:
* Remove a redundant `mapping.map`.
* Map `repl` instead of `value`. We used to overwrite an existing
mapping, which could introduce extra materializations.

Note: We generally do not want to overwrite mappings, but create a chain
of mappings. There are still a few more places, where a mapping is
overwritten. Once those are fixed, I will put an assertion into
`ConversionValueMapping::map`.


  Commit: b51a082e1afd707f8cf1473e4c49374e7e951d2d
      https://github.com/llvm/llvm-project/commit/b51a082e1afd707f8cf1473e4c49374e7e951d2d
  Author: Akshat Oke <Akshat.Oke at amd.com>
  Date:   2025-01-06 (Mon, 06 Jan 2025)

  Changed paths:
    M llvm/include/llvm/Support/Recycler.h
    M llvm/unittests/Support/CMakeLists.txt
    R llvm/unittests/Support/RecyclerTest.cpp

  Log Message:
  -----------
  Revert "[Support] Recycler: Enforce minimum allocation size" (#121735)

Reverts llvm/llvm-project#121425


  Commit: c05599966cd594c15834378f57669719d221c4d4
      https://github.com/llvm/llvm-project/commit/c05599966cd594c15834378f57669719d221c4d4
  Author: Yingwei Zheng <dtcxzyw2333 at gmail.com>
  Date:   2025-01-06 (Mon, 06 Jan 2025)

  Changed paths:
    M llvm/lib/Transforms/InstCombine/InstCombineCalls.cpp
    M llvm/test/Transforms/InstCombine/copysign.ll

  Log Message:
  -----------
  [InstCombine] Fix FMF propagation in `copysign Mag, (copysign ?, X) -> copysign Mag, X` (#121574)

Closes https://github.com/llvm/llvm-project/issues/121432.


  Commit: f99b1907570aa1ac3c8c0ff886563766bbdbc1c8
      https://github.com/llvm/llvm-project/commit/f99b1907570aa1ac3c8c0ff886563766bbdbc1c8
  Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
  Date:   2025-01-06 (Mon, 06 Jan 2025)

  Changed paths:
    M llvm/utils/gn/secondary/llvm/unittests/Support/BUILD.gn

  Log Message:
  -----------
  [gn build] Port b51a082e1afd


  Commit: 2b63077cfa13095b3e64f79fe825cc85ca9da7be
      https://github.com/llvm/llvm-project/commit/2b63077cfa13095b3e64f79fe825cc85ca9da7be
  Author: Lee Wei <lee10202013 at gmail.com>
  Date:   2025-01-06 (Mon, 06 Jan 2025)

  Changed paths:
    M llvm/test/CodeGen/X86/2011-06-03-x87chain.ll
    M llvm/test/CodeGen/X86/2020_12_02_decrementing_loop.ll
    M llvm/test/CodeGen/X86/AMX/amx-combine-undef.ll
    M llvm/test/CodeGen/X86/AMX/lat-combine-amx-bitcast.ll
    M llvm/test/CodeGen/X86/AMX/lat-transform-amx-bitcast.ll
    M llvm/test/CodeGen/X86/StackColoring.ll
    M llvm/test/CodeGen/X86/asm-label.ll
    M llvm/test/CodeGen/X86/avx-select.ll
    M llvm/test/CodeGen/X86/avx512-i1test.ll
    M llvm/test/CodeGen/X86/block-placement.ll
    M llvm/test/CodeGen/X86/clobber_frame_ptr.ll
    M llvm/test/CodeGen/X86/codegen-prepare-replacephi.mir
    M llvm/test/CodeGen/X86/codegen-prepare-replacephi2.mir
    M llvm/test/CodeGen/X86/combine-concatvectors.ll
    M llvm/test/CodeGen/X86/crash.ll
    M llvm/test/CodeGen/X86/domain-reassignment-test.ll
    M llvm/test/CodeGen/X86/fast-isel-cmp-branch.ll
    M llvm/test/CodeGen/X86/fold-vector-shuffle-crash.ll
    M llvm/test/CodeGen/X86/hoist-spill.ll
    M llvm/test/CodeGen/X86/implicit-null-checks.mir
    M llvm/test/CodeGen/X86/interval-update-remat.ll
    M llvm/test/CodeGen/X86/jump_sign.ll
    M llvm/test/CodeGen/X86/loop-strength-reduce-crash.ll
    M llvm/test/CodeGen/X86/lsr-crash-empty-uses.ll
    M llvm/test/CodeGen/X86/lsr-delayed-fold.ll
    M llvm/test/CodeGen/X86/machine-trace-metrics-crash.ll
    M llvm/test/CodeGen/X86/merge-vector-stores-scale-idx-crash.ll
    M llvm/test/CodeGen/X86/misched-crash.ll
    M llvm/test/CodeGen/X86/pr10475.ll
    M llvm/test/CodeGen/X86/pr11998.ll
    M llvm/test/CodeGen/X86/pr32108.ll
    M llvm/test/CodeGen/X86/pr50254.ll
    M llvm/test/CodeGen/X86/pr57673.ll
    M llvm/test/CodeGen/X86/ragreedy-hoist-spill.ll
    M llvm/test/CodeGen/X86/shift-combine.ll
    M llvm/test/CodeGen/X86/shuffle-combine-crash.ll
    M llvm/test/CodeGen/X86/stackmap.ll
    M llvm/test/CodeGen/X86/swifterror.ll
    M llvm/test/CodeGen/X86/switch.ll
    M llvm/test/CodeGen/X86/tail-merge-unreachable.ll
    M llvm/test/CodeGen/X86/unreachable-loop-sinking.ll
    M llvm/test/CodeGen/X86/update-terminator.mir
    M llvm/test/CodeGen/X86/vector-shuffle-combining-avx512bwvl.ll
    M llvm/test/CodeGen/X86/x86-shrink-wrapping.ll

  Log Message:
  -----------
  [llvm] Remove `br i1 undef` from CodeGen/X86 tests (#121733)

This PR removes tests with `br i1 undef` under `llvm/tests/CodeGen/X86`.
There will be more PRs in the future for this directory.

Replacing `undef` with a new function argument doesn't work in some of
the tests, instead, I've replaced them with `poison`.


  Commit: de863e9d683bbb345d55b6ba54c48b53c4feab0c
      https://github.com/llvm/llvm-project/commit/de863e9d683bbb345d55b6ba54c48b53c4feab0c
  Author: U-BERGUFFLEN\meinersbur <llvm-project at meinersbur.de>
  Date:   2025-01-06 (Mon, 06 Jan 2025)

  Changed paths:
    A .ci/compute-projects.sh
    M .ci/generate-buildkite-pipeline-premerge
    M .ci/metrics/metrics.py
    M .ci/monolithic-linux.sh
    M .ci/monolithic-windows.sh
    M .git-blame-ignore-revs
    M .github/CODEOWNERS
    M .github/new-prs-labeler.yml
    A .github/workflows/build-ci-container-windows.yml
    M .github/workflows/build-ci-container.yml
    A .github/workflows/containers/github-action-ci-windows/Dockerfile
    M .github/workflows/containers/github-action-ci/Dockerfile
    M .github/workflows/docs.yml
    M .github/workflows/libcxx-build-and-test.yaml
    A .github/workflows/premerge.yaml
    A bolt/docs/BinaryAnalysis.md
    M bolt/docs/CommandLineArgumentReference.md
    M bolt/include/bolt/Core/BinaryData.h
    M bolt/include/bolt/Core/BinaryFunction.h
    M bolt/include/bolt/Core/DIEBuilder.h
    M bolt/include/bolt/Core/DebugNames.h
    M bolt/include/bolt/Passes/ADRRelaxationPass.h
    M bolt/include/bolt/Passes/IdenticalCodeFolding.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/DIEBuilder.cpp
    M bolt/lib/Core/DebugNames.cpp
    M bolt/lib/Core/Relocation.cpp
    M bolt/lib/Passes/IdenticalCodeFolding.cpp
    M bolt/lib/Passes/LongJmp.cpp
    M bolt/lib/Rewrite/BinaryPassManager.cpp
    M bolt/lib/Rewrite/BoltDiff.cpp
    M bolt/lib/Rewrite/LinuxKernelRewriter.cpp
    M bolt/lib/Rewrite/RewriteInstance.cpp
    M bolt/lib/Target/AArch64/AArch64MCPlusBuilder.cpp
    M bolt/lib/Utils/CommandLineOpts.cpp
    A bolt/test/AArch64/long-jmp-one-stub.s
    M bolt/test/CMakeLists.txt
    M bolt/test/RISCV/call-annotations.s
    M bolt/test/RISCV/relax.s
    M bolt/test/RISCV/reloc-branch.s
    M bolt/test/RISCV/reloc-jal.s
    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/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/linux-alt-instruction.s
    M bolt/test/X86/linux-bug-table.s
    M bolt/test/X86/linux-exceptions.s
    M bolt/test/X86/linux-orc.s
    M bolt/test/X86/linux-parainstructions.s
    M bolt/test/X86/linux-pci-fixup.s
    M bolt/test/X86/linux-smp-locks.s
    M bolt/test/X86/linux-static-calls.s
    M bolt/test/X86/linux-static-keys.s
    A bolt/test/X86/linux-version.S
    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
    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/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/merge-fdata/merge-fdata.cpp
    M clang-tools-extra/clang-doc/MDGenerator.cpp
    M clang-tools-extra/clang-doc/Serialize.cpp
    M clang-tools-extra/clang-tidy/ClangTidy.cpp
    M clang-tools-extra/clang-tidy/ClangTidy.h
    M clang-tools-extra/clang-tidy/ClangTidyCheck.cpp
    M clang-tools-extra/clang-tidy/bugprone/BugproneTidyModule.cpp
    M clang-tools-extra/clang-tidy/bugprone/CMakeLists.txt
    A clang-tools-extra/clang-tidy/bugprone/NarrowingConversionsCheck.cpp
    A clang-tools-extra/clang-tidy/bugprone/NarrowingConversionsCheck.h
    M clang-tools-extra/clang-tidy/bugprone/OptionalValueConversionCheck.cpp
    M clang-tools-extra/clang-tidy/bugprone/UncheckedOptionalAccessCheck.h
    M clang-tools-extra/clang-tidy/cppcoreguidelines/CMakeLists.txt
    M clang-tools-extra/clang-tidy/cppcoreguidelines/CppCoreGuidelinesTidyModule.cpp
    R clang-tools-extra/clang-tidy/cppcoreguidelines/NarrowingConversionsCheck.cpp
    R clang-tools-extra/clang-tidy/cppcoreguidelines/NarrowingConversionsCheck.h
    M clang-tools-extra/clang-tidy/cppcoreguidelines/ProTypeMemberInitCheck.cpp
    M clang-tools-extra/clang-tidy/cppcoreguidelines/RvalueReferenceParamNotMovedCheck.cpp
    M clang-tools-extra/clang-tidy/misc/IncludeCleanerCheck.cpp
    M clang-tools-extra/clang-tidy/modernize/UseUsingCheck.cpp
    M clang-tools-extra/clang-tidy/modernize/UseUsingCheck.h
    M clang-tools-extra/clang-tidy/performance/InefficientVectorOperationCheck.cpp
    M clang-tools-extra/clang-tidy/readability/ContainerSizeEmptyCheck.h
    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/tool/CMakeLists.txt
    M clang-tools-extra/clang-tidy/tool/ClangTidyMain.cpp
    M clang-tools-extra/clang-tidy/utils/RenamerClangTidyCheck.cpp
    M clang-tools-extra/clangd/CodeComplete.cpp
    M clang-tools-extra/clangd/CompileCommands.cpp
    M clang-tools-extra/clangd/Config.h
    M clang-tools-extra/clangd/ConfigCompile.cpp
    M clang-tools-extra/clangd/ConfigFragment.h
    M clang-tools-extra/clangd/ConfigYAML.cpp
    M clang-tools-extra/clangd/Headers.cpp
    M clang-tools-extra/clangd/Headers.h
    M clang-tools-extra/clangd/IncludeCleaner.h
    M clang-tools-extra/clangd/ParsedAST.cpp
    M clang-tools-extra/clangd/index/SymbolCollector.cpp
    M clang-tools-extra/clangd/tool/ClangdMain.cpp
    M clang-tools-extra/clangd/unittests/CodeCompleteTests.cpp
    M clang-tools-extra/clangd/unittests/ConfigCompileTests.cpp
    M clang-tools-extra/clangd/unittests/ConfigYAMLTests.cpp
    M clang-tools-extra/clangd/unittests/DumpASTTests.cpp
    M clang-tools-extra/clangd/unittests/HeadersTests.cpp
    M clang-tools-extra/clangd/unittests/Matchers.h
    M clang-tools-extra/clangd/unittests/SymbolCollectorTests.cpp
    M clang-tools-extra/clangd/unittests/TypeHierarchyTests.cpp
    M clang-tools-extra/docs/ReleaseNotes.rst
    M clang-tools-extra/docs/clang-tidy/checks/bugprone/narrowing-conversions.rst
    M clang-tools-extra/docs/clang-tidy/checks/bugprone/unhandled-self-assignment.rst
    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/cppcoreguidelines/narrowing-conversions.rst
    M clang-tools-extra/docs/clang-tidy/checks/list.rst
    M clang-tools-extra/docs/clang-tidy/checks/misc/unused-parameters.rst
    M clang-tools-extra/docs/clang-tidy/checks/modernize/use-ranges.rst
    M clang-tools-extra/docs/clang-tidy/index.rst
    A clang-tools-extra/test/clang-doc/builtin_types.cpp
    M clang-tools-extra/test/clang-doc/templates.cpp
    R 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/branch-clone-2.cpp
    A clang-tools-extra/test/clang-tidy/checkers/bugprone/narrowing-conversions-bitfields.cpp
    A clang-tools-extra/test/clang-tidy/checkers/bugprone/narrowing-conversions-equivalentbitwidth-option.cpp
    A clang-tools-extra/test/clang-tidy/checkers/bugprone/narrowing-conversions-ignoreconversionfromtypes-option.cpp
    A clang-tools-extra/test/clang-tidy/checkers/bugprone/narrowing-conversions-intemplates-option.cpp
    A clang-tools-extra/test/clang-tidy/checkers/bugprone/narrowing-conversions-long-is-32bits.cpp
    A clang-tools-extra/test/clang-tidy/checkers/bugprone/narrowing-conversions-narrowingfloatingpoint-option.cpp
    A clang-tools-extra/test/clang-tidy/checkers/bugprone/narrowing-conversions-narrowinginteger-option.cpp
    A clang-tools-extra/test/clang-tidy/checkers/bugprone/narrowing-conversions-narrowingintegertofloatingpoint-option.cpp
    A clang-tools-extra/test/clang-tidy/checkers/bugprone/narrowing-conversions-pedanticmode-option.cpp
    A clang-tools-extra/test/clang-tidy/checkers/bugprone/narrowing-conversions-unsigned-char.cpp
    A clang-tools-extra/test/clang-tidy/checkers/bugprone/narrowing-conversions.cpp
    A clang-tools-extra/test/clang-tidy/checkers/bugprone/optional-value-conversion-construct-from-std.cpp
    R clang-tools-extra/test/clang-tidy/checkers/cppcoreguidelines/narrowing-conversions-bitfields.cpp
    R clang-tools-extra/test/clang-tidy/checkers/cppcoreguidelines/narrowing-conversions-equivalentbitwidth-option.cpp
    R clang-tools-extra/test/clang-tidy/checkers/cppcoreguidelines/narrowing-conversions-ignoreconversionfromtypes-option.cpp
    R clang-tools-extra/test/clang-tidy/checkers/cppcoreguidelines/narrowing-conversions-intemplates-option.cpp
    R clang-tools-extra/test/clang-tidy/checkers/cppcoreguidelines/narrowing-conversions-long-is-32bits.cpp
    R clang-tools-extra/test/clang-tidy/checkers/cppcoreguidelines/narrowing-conversions-narrowingfloatingpoint-option.cpp
    R clang-tools-extra/test/clang-tidy/checkers/cppcoreguidelines/narrowing-conversions-narrowinginteger-option.cpp
    R clang-tools-extra/test/clang-tidy/checkers/cppcoreguidelines/narrowing-conversions-narrowingintegertofloatingpoint-option.cpp
    R clang-tools-extra/test/clang-tidy/checkers/cppcoreguidelines/narrowing-conversions-pedanticmode-option.cpp
    R clang-tools-extra/test/clang-tidy/checkers/cppcoreguidelines/narrowing-conversions-unsigned-char.cpp
    R clang-tools-extra/test/clang-tidy/checkers/cppcoreguidelines/narrowing-conversions.cpp
    M clang-tools-extra/test/clang-tidy/checkers/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-vararg.cpp
    A clang-tools-extra/test/clang-tidy/checkers/misc/redundant-expression-2.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-fmt.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/modernize/use-using.cpp
    A clang-tools-extra/test/clang-tidy/infrastructure/Inputs/param/parameters.txt
    A clang-tools-extra/test/clang-tidy/infrastructure/deprecation-global-option.cpp
    A clang-tools-extra/test/clang-tidy/infrastructure/read-parameters-from-file-error.cpp
    A clang-tools-extra/test/clang-tidy/infrastructure/read-parameters-from-file.cpp
    M clang-tools-extra/unittests/clang-doc/SerializeTest.cpp
    M clang-tools-extra/unittests/clang-tidy/IncludeCleanerTest.cpp
    M clang/CMakeLists.txt
    M clang/cmake/caches/Fuchsia-stage2.cmake
    M clang/docs/ClangFormat.rst
    M clang/docs/ClangFormatStyleOptions.rst
    M clang/docs/LanguageExtensions.rst
    M clang/docs/LibASTMatchersReference.html
    M clang/docs/MatrixTypes.rst
    M clang/docs/ReleaseNotes.rst
    M clang/docs/ThreadSafetyAnalysis.rst
    M clang/docs/UndefinedBehaviorSanitizer.rst
    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/AST/APValue.h
    M clang/include/clang/AST/ASTNodeTraverser.h
    M clang/include/clang/AST/Attr.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/OpenACCClause.h
    M clang/include/clang/AST/RecursiveASTVisitor.h
    M clang/include/clang/AST/Redeclarable.h
    M clang/include/clang/AST/Stmt.h
    M clang/include/clang/AST/StmtOpenACC.h
    M clang/include/clang/AST/TextNodeDumper.h
    M clang/include/clang/AST/Type.h
    M clang/include/clang/ASTMatchers/ASTMatchers.h
    M clang/include/clang/Analysis/Analyses/ThreadSafety.h
    A clang/include/clang/Analysis/FlowSensitive/SmartPointerAccessorCaching.h
    M clang/include/clang/Basic/Attr.td
    M clang/include/clang/Basic/Builtins.h
    M clang/include/clang/Basic/Builtins.td
    M clang/include/clang/Basic/BuiltinsHexagon.def
    M clang/include/clang/Basic/BuiltinsPPC.def
    M clang/include/clang/Basic/CodeGenOptions.h
    M clang/include/clang/Basic/DiagnosticDriverKinds.td
    M clang/include/clang/Basic/DiagnosticParseKinds.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/IdentifierTable.h
    M clang/include/clang/Basic/OpenACCClauses.def
    M clang/include/clang/Basic/OpenACCKinds.h
    M clang/include/clang/Basic/Sanitizers.def
    M clang/include/clang/Basic/StmtNodes.td
    M clang/include/clang/Basic/TargetInfo.h
    M clang/include/clang/Basic/arm_immcheck_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/CIR/CMakeLists.txt
    M clang/include/clang/CIR/Dialect/Builder/CIRBaseBuilder.h
    A clang/include/clang/CIR/Dialect/IR/CIRAttrs.h
    A clang/include/clang/CIR/Dialect/IR/CIRAttrs.td
    M clang/include/clang/CIR/Dialect/IR/CIRDialect.h
    M clang/include/clang/CIR/Dialect/IR/CIROps.td
    M clang/include/clang/CIR/Dialect/IR/CIRTypes.h
    M clang/include/clang/CIR/Dialect/IR/CIRTypes.td
    M clang/include/clang/CIR/Dialect/IR/CMakeLists.txt
    A clang/include/clang/CIR/Interfaces/CIRFPTypeInterface.h
    A clang/include/clang/CIR/Interfaces/CIRFPTypeInterface.td
    A clang/include/clang/CIR/Interfaces/CMakeLists.txt
    M clang/include/clang/Driver/Options.td
    M clang/include/clang/Driver/SanitizerArgs.h
    M clang/include/clang/Format/Format.h
    M clang/include/clang/Frontend/Utils.h
    M clang/include/clang/Lex/PreprocessingRecord.h
    M clang/include/clang/Lex/Preprocessor.h
    M clang/include/clang/Parse/Parser.h
    M clang/include/clang/Sema/ParsedAttr.h
    M clang/include/clang/Sema/Sema.h
    M clang/include/clang/Sema/SemaConcept.h
    M clang/include/clang/Sema/SemaInternal.h
    M clang/include/clang/Sema/SemaOpenACC.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/ASTWriter.h
    M clang/include/clang/StaticAnalyzer/Core/AnalyzerOptions.def
    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/CoreEngine.h
    M clang/include/clang/StaticAnalyzer/Core/PathSensitive/ExprEngine.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/module.modulemap
    M clang/lib/APINotes/APINotesManager.cpp
    M clang/lib/APINotes/APINotesReader.cpp
    M clang/lib/AST/ASTContext.cpp
    M clang/lib/AST/ByteCode/BitcastBuffer.h
    M clang/lib/AST/ByteCode/Compiler.cpp
    M clang/lib/AST/ByteCode/Compiler.h
    M clang/lib/AST/ByteCode/Integral.h
    M clang/lib/AST/ByteCode/Interp.cpp
    M clang/lib/AST/ByteCode/Interp.h
    M clang/lib/AST/ByteCode/InterpBuiltin.cpp
    M clang/lib/AST/ByteCode/InterpBuiltinBitCast.cpp
    M clang/lib/AST/ByteCode/InterpBuiltinBitCast.h
    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/Expr.cpp
    M clang/lib/AST/ExprCXX.cpp
    M clang/lib/AST/ExprConstant.cpp
    M clang/lib/AST/OpenACCClause.cpp
    M clang/lib/AST/Stmt.cpp
    M clang/lib/AST/StmtOpenACC.cpp
    M clang/lib/AST/StmtPrinter.cpp
    M clang/lib/AST/StmtProfile.cpp
    M clang/lib/AST/TextNodeDumper.cpp
    M clang/lib/AST/Type.cpp
    M clang/lib/ASTMatchers/ASTMatchersInternal.cpp
    M clang/lib/ASTMatchers/Dynamic/Registry.cpp
    M clang/lib/Analysis/FlowSensitive/CMakeLists.txt
    A clang/lib/Analysis/FlowSensitive/SmartPointerAccessorCaching.cpp
    M clang/lib/Analysis/PathDiagnostic.cpp
    M clang/lib/Analysis/ThreadSafety.cpp
    M clang/lib/Analysis/ThreadSafetyCommon.cpp
    M clang/lib/Analysis/UnsafeBufferUsage.cpp
    M clang/lib/Basic/Builtins.cpp
    M clang/lib/Basic/CMakeLists.txt
    M clang/lib/Basic/CodeGenOptions.cpp
    M clang/lib/Basic/FileManager.cpp
    M clang/lib/Basic/SourceManager.cpp
    M clang/lib/Basic/Targets.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/OSTargets.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
    A clang/lib/Basic/Targets/Xtensa.cpp
    A clang/lib/Basic/Targets/Xtensa.h
    M clang/lib/CIR/CMakeLists.txt
    M clang/lib/CIR/CodeGen/CIRGenBuilder.h
    M clang/lib/CIR/CodeGen/CIRGenModule.cpp
    M clang/lib/CIR/CodeGen/CIRGenTypeCache.h
    M clang/lib/CIR/CodeGen/CIRGenTypes.cpp
    M clang/lib/CIR/CodeGen/CIRGenTypes.h
    M clang/lib/CIR/CodeGen/CMakeLists.txt
    M clang/lib/CIR/Dialect/IR/CIRAttrs.cpp
    M clang/lib/CIR/Dialect/IR/CIRDialect.cpp
    M clang/lib/CIR/Dialect/IR/CIRTypes.cpp
    M clang/lib/CIR/Dialect/IR/CMakeLists.txt
    A clang/lib/CIR/Interfaces/CIRFPTypeInterface.cpp
    A clang/lib/CIR/Interfaces/CMakeLists.txt
    M clang/lib/CodeGen/BackendUtil.cpp
    M clang/lib/CodeGen/CGBuiltin.cpp
    M clang/lib/CodeGen/CGCall.cpp
    M clang/lib/CodeGen/CGDebugInfo.cpp
    M clang/lib/CodeGen/CGDeclCXX.cpp
    M clang/lib/CodeGen/CGExpr.cpp
    M clang/lib/CodeGen/CGHLSLRuntime.cpp
    M clang/lib/CodeGen/CGHLSLRuntime.h
    M clang/lib/CodeGen/CGOpenMPRuntime.cpp
    M clang/lib/CodeGen/CGOpenMPRuntime.h
    M clang/lib/CodeGen/CGStmt.cpp
    M clang/lib/CodeGen/CodeGenFunction.cpp
    M clang/lib/CodeGen/CodeGenFunction.h
    M clang/lib/CodeGen/CodeGenModule.cpp
    M clang/lib/CodeGen/CodeGenTBAA.cpp
    M clang/lib/CodeGen/CoverageMappingGen.cpp
    M clang/lib/CodeGen/ItaniumCXXABI.cpp
    M clang/lib/CodeGen/MicrosoftCXXABI.cpp
    M clang/lib/CodeGen/SanitizerMetadata.cpp
    M clang/lib/CodeGen/Targets/AArch64.cpp
    M clang/lib/CodeGen/Targets/RISCV.cpp
    M clang/lib/Driver/CMakeLists.txt
    M clang/lib/Driver/Driver.cpp
    M clang/lib/Driver/DriverOptions.cpp
    M clang/lib/Driver/SanitizerArgs.cpp
    M clang/lib/Driver/ToolChains/Clang.cpp
    M clang/lib/Driver/ToolChains/CommonArgs.cpp
    M clang/lib/Driver/ToolChains/Cuda.cpp
    M clang/lib/Driver/ToolChains/Darwin.cpp
    M clang/lib/Driver/ToolChains/Flang.cpp
    M clang/lib/Driver/ToolChains/FreeBSD.cpp
    M clang/lib/Driver/ToolChains/Linux.cpp
    M clang/lib/Driver/ToolChains/PS4CPU.cpp
    M clang/lib/Driver/ToolChains/SPIRV.h
    A clang/lib/Driver/ToolChains/SPIRVOpenMP.cpp
    A clang/lib/Driver/ToolChains/SPIRVOpenMP.h
    M clang/lib/Driver/ToolChains/UEFI.cpp
    M clang/lib/Driver/ToolChains/UEFI.h
    M clang/lib/ExtractAPI/Serialization/SymbolGraphSerializer.cpp
    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/FormatTokenLexer.h
    M clang/lib/Format/MacroExpander.cpp
    M clang/lib/Format/MatchFilePath.cpp
    M clang/lib/Format/QualifierAlignmentFixer.cpp
    M clang/lib/Format/TokenAnnotator.cpp
    M clang/lib/Format/UnwrappedLineFormatter.cpp
    M clang/lib/Format/UnwrappedLineParser.cpp
    M clang/lib/Frontend/CompilerInvocation.cpp
    M clang/lib/Frontend/DependencyFile.cpp
    M clang/lib/Frontend/FrontendActions.cpp
    M clang/lib/Frontend/InitPreprocessor.cpp
    M clang/lib/Headers/avx10_2_512convertintrin.h
    M clang/lib/Headers/avx10_2convertintrin.h
    M clang/lib/Headers/hlsl/hlsl_intrinsics.h
    M clang/lib/Headers/hvx_hexagon_protos.h
    M clang/lib/Index/FileIndexRecord.cpp
    M clang/lib/Index/IndexDecl.cpp
    M clang/lib/Interpreter/Interpreter.cpp
    M clang/lib/Lex/InitHeaderSearch.cpp
    M clang/lib/Parse/ParseExprCXX.cpp
    M clang/lib/Parse/ParseOpenACC.cpp
    M clang/lib/Parse/ParseOpenMP.cpp
    M clang/lib/Parse/Parser.cpp
    M clang/lib/Sema/AnalysisBasedWarnings.cpp
    M clang/lib/Sema/CheckExprLifetime.cpp
    M clang/lib/Sema/DeclSpec.cpp
    M clang/lib/Sema/HLSLExternalSemaSource.cpp
    M clang/lib/Sema/SemaARM.cpp
    M clang/lib/Sema/SemaAttr.cpp
    M clang/lib/Sema/SemaChecking.cpp
    M clang/lib/Sema/SemaConcept.cpp
    M clang/lib/Sema/SemaDecl.cpp
    M clang/lib/Sema/SemaDeclAttr.cpp
    M clang/lib/Sema/SemaDeclCXX.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/SemaOpenACC.cpp
    M clang/lib/Sema/SemaOverload.cpp
    M clang/lib/Sema/SemaStmt.cpp
    M clang/lib/Sema/SemaStmtAsm.cpp
    M clang/lib/Sema/SemaTemplateInstantiateDecl.cpp
    M clang/lib/Sema/SemaTemplateVariadic.cpp
    M clang/lib/Sema/SemaType.cpp
    M clang/lib/Sema/TreeTransform.h
    M clang/lib/Serialization/ASTReader.cpp
    M clang/lib/Serialization/ASTReaderDecl.cpp
    M clang/lib/Serialization/ASTReaderStmt.cpp
    M clang/lib/Serialization/ASTWriter.cpp
    M clang/lib/Serialization/ASTWriterDecl.cpp
    M clang/lib/Serialization/ASTWriterStmt.cpp
    M clang/lib/Serialization/GeneratePCH.cpp
    M clang/lib/Serialization/MultiOnDiskHashTable.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/CStringChecker.cpp
    M clang/lib/StaticAnalyzer/Checkers/CheckPlacementNew.cpp
    M clang/lib/StaticAnalyzer/Checkers/ExprInspectionChecker.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/StdLibraryFunctionsChecker.cpp
    M clang/lib/StaticAnalyzer/Checkers/StreamChecker.cpp
    M clang/lib/StaticAnalyzer/Checkers/VLASizeChecker.cpp
    M clang/lib/StaticAnalyzer/Checkers/WebKit/ASTUtils.cpp
    M clang/lib/StaticAnalyzer/Checkers/WebKit/ASTUtils.h
    M clang/lib/StaticAnalyzer/Checkers/WebKit/PtrTypesSemantics.cpp
    M clang/lib/StaticAnalyzer/Checkers/WebKit/RawPtrRefCallArgsChecker.cpp
    M clang/lib/StaticAnalyzer/Checkers/WebKit/RawPtrRefLocalVarsChecker.cpp
    M clang/lib/StaticAnalyzer/Checkers/WebKit/UncountedLambdaCapturesChecker.cpp
    M clang/lib/StaticAnalyzer/Core/BasicValueFactory.cpp
    M clang/lib/StaticAnalyzer/Core/BugReporterVisitors.cpp
    M clang/lib/StaticAnalyzer/Core/CallEvent.cpp
    M clang/lib/StaticAnalyzer/Core/CoreEngine.cpp
    M clang/lib/StaticAnalyzer/Core/ExprEngine.cpp
    M clang/lib/StaticAnalyzer/Core/LoopUnrolling.cpp
    M clang/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
    M clang/lib/StaticAnalyzer/Core/SymbolManager.cpp
    M clang/lib/StaticAnalyzer/Core/TextDiagnostics.cpp
    M clang/lib/Tooling/Inclusions/Stdlib/StdSpecialSymbolMap.inc
    M clang/lib/Tooling/Inclusions/Stdlib/StdSymbolMap.inc
    M clang/runtime/CMakeLists.txt
    M clang/test/AST/ByteCode/builtin-bit-cast.cpp
    M clang/test/AST/ByteCode/builtin-constant-p.cpp
    M clang/test/AST/ByteCode/builtin-functions.cpp
    M clang/test/AST/ByteCode/complex.cpp
    M clang/test/AST/ByteCode/cxx2a.cpp
    M clang/test/AST/ByteCode/functions.cpp
    M clang/test/AST/ByteCode/if.cpp
    M clang/test/AST/ByteCode/shifts.cpp
    M clang/test/AST/HLSL/StructuredBuffers-AST.hlsl
    M clang/test/AST/HLSL/TypedBuffers-AST.hlsl
    A clang/test/AST/HLSL/is_structured_resource_element_compatible_concept.hlsl
    A clang/test/AST/ast-print-openacc-data-construct.cpp
    A clang/test/AST/ast-print-openacc-init-construct.cpp
    A clang/test/AST/ast-print-openacc-shutdown-construct.cpp
    A clang/test/AST/ast-print-openacc-wait-construct.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
    M clang/test/Analysis/Checkers/WebKit/ref-cntbl-crtp-base-no-virtual-dtor.cpp
    A clang/test/Analysis/Checkers/WebKit/uncounted-lambda-captures-find-lambda-crash.cpp
    M clang/test/Analysis/Checkers/WebKit/uncounted-lambda-captures.cpp
    A clang/test/Analysis/PR121201.cpp
    M clang/test/Analysis/analyzer-config.c
    A clang/test/Analysis/loop-assumptions.c
    M clang/test/Analysis/loop-unrolling.cpp
    M clang/test/Analysis/misc-ps-region-store.m
    M clang/test/CIR/global-var-simple.cpp
    M clang/test/CXX/basic/basic.link/p3.cpp
    M clang/test/CXX/dcl.dcl/dcl.attr/dcl.attr.nodiscard/p2.cpp
    M clang/test/CXX/dcl.decl/dcl.meaning/dcl.fct/p13.cpp
    M clang/test/CXX/drs/cwg28xx.cpp
    M clang/test/CXX/temp/temp.res/p4.cpp
    M clang/test/CodeGen/AArch64/cpu-supports.c
    M clang/test/CodeGen/AArch64/fmv-dependencies.c
    A clang/test/CodeGen/AArch64/fmv-mix-explicit-implicit-default.c
    A clang/test/CodeGen/AArch64/fp8-intrinsics/acle_sme2_fp8_mla.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
    M clang/test/CodeGen/AArch64/fpm-helpers.c
    M clang/test/CodeGen/AArch64/mixed-target-attributes.c
    M clang/test/CodeGen/AArch64/pure-scalable-args.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
    M clang/test/CodeGen/AArch64/sve2p1-intrinsics/acle_sve2p1_st1_single.c
    M clang/test/CodeGen/AArch64/sve2p1-intrinsics/acle_sve2p1_store.c
    M clang/test/CodeGen/SystemZ/zos-mixed-ptr-sizes-malloc.c
    M clang/test/CodeGen/X86/avx10_2_512convert-builtins.c
    M clang/test/CodeGen/attr-counted-by.c
    M clang/test/CodeGen/attr-target-clones-aarch64.c
    M clang/test/CodeGen/attr-target-version.c
    M clang/test/CodeGen/bounds-checking.c
    M clang/test/CodeGen/builtin-memfns.c
    M clang/test/CodeGen/code-coverage.c
    M clang/test/CodeGen/memtag-globals.cpp
    M clang/test/CodeGen/ptrauth-module-flags.c
    A clang/test/CodeGen/sanitize-type-attr.cpp
    A clang/test/CodeGen/sanitize-type-globals.cpp
    M clang/test/CodeGen/ubsan-trap-debugloc.c
    M clang/test/CodeGen/ubsan-trap-merge.c
    M clang/test/CodeGen/union-tbaa1.c
    M clang/test/CodeGenCXX/aarch64-mangle-sve-vectors.cpp
    M clang/test/CodeGenCXX/attr-target-clones-aarch64.cpp
    M clang/test/CodeGenCXX/attr-target-version.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/fmv-namespace.cpp
    M clang/test/CodeGenCXX/matrix-type.cpp
    A clang/test/CodeGenCXX/matrix-vector-bit-int.cpp
    M clang/test/CodeGenCXX/microsoft-abi-member-pointers.cpp
    M clang/test/CodeGenHLSL/builtins/ByteAddressBuffers-constructors.hlsl
    A clang/test/CodeGenHLSL/builtins/RWBuffer-constructor-opt.hlsl
    M clang/test/CodeGenHLSL/builtins/RWBuffer-constructor.hlsl
    M clang/test/CodeGenHLSL/builtins/RWBuffer-subscript.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
    A clang/test/CodeGenHLSL/builtins/WaveActiveAllTrue.hlsl
    M clang/test/CodeGenHLSL/resource-bindings.hlsl
    M clang/test/CodeGenOpenCL/opencl_types.cl
    M clang/test/CoverageMapping/single-byte-counters.cpp
    M clang/test/CoverageMapping/switch.cpp
    M clang/test/CoverageMapping/switchmacro.c
    R clang/test/Driver/Inputs/libomptarget/libomptarget-nvptx-sm_52.bc
    A clang/test/Driver/Inputs/libomptarget/libomptarget-nvptx.bc
    R clang/test/Driver/Inputs/libomptarget/subdir/libomptarget-nvptx-sm_52.bc
    A clang/test/Driver/Inputs/libomptarget/subdir/libomptarget-nvptx.bc
    A clang/test/Driver/Inputs/spirv-openmp/lib/libomptarget-spirv64.bc
    M clang/test/Driver/cl-options.c
    M clang/test/Driver/config-file3.c
    A clang/test/Driver/dxc_options.hlsl
    M clang/test/Driver/freebsd.c
    M clang/test/Driver/fsanitize.c
    M clang/test/Driver/hexagon-toolchain-elf.c
    M clang/test/Driver/hip-device-libs.hip
    M clang/test/Driver/openmp-offload-gpu.c
    M clang/test/Driver/print-enabled-extensions/aarch64-armv9.4-a.c
    M clang/test/Driver/print-enabled-extensions/aarch64-armv9.5-a.c
    M clang/test/Driver/print-enabled-extensions/riscv-rocket-rv64.c
    M clang/test/Driver/print-supported-extensions-riscv.c
    M clang/test/Driver/ps5-linker.c
    M clang/test/Driver/riscv-cpus.c
    M clang/test/Driver/sanitizer-ld.c
    A clang/test/Driver/spirv-openmp-toolchain.c
    M clang/test/Driver/stack-clash-protection.c
    M clang/test/Driver/sysroot.c
    A clang/test/Driver/uefi-defines.c
    A clang/test/Driver/unknown-arg-drivermodes.test
    M clang/test/ExtractAPI/objc_external_category.m
    M clang/test/Format/docs_updated.test
    M clang/test/Format/lit.local.cfg
    M clang/test/Frontend/dependency-gen-symlink.c
    M clang/test/Frontend/dependency-gen-windows-duplicates.c
    A clang/test/Headers/crash-instantiated-in-scope-cxx-modules4.cpp
    R clang/test/Interpreter/crash.cpp
    M clang/test/Lexer/cxx-features.cpp
    M clang/test/Misc/target-invalid-cpu-note/hexagon.c
    M clang/test/Misc/target-invalid-cpu-note/riscv.c
    M clang/test/Modules/ExtDebugInfo.m
    M clang/test/Modules/ModuleDebugInfo.m
    A clang/test/Modules/expose-static-inline-from-gmf-1.cppm
    A clang/test/Modules/expose-static-inline-from-gmf-2.cppm
    A clang/test/Modules/expose-static-inline-from-gmf-3.cppm
    A clang/test/Modules/expose-static-inline-from-gmf-4.cppm
    A clang/test/Modules/expose-static-inline-from-gmf-5.cppm
    A clang/test/Modules/friend-inline-function-body.cpp
    A clang/test/Modules/initializer-list-recognition-through-export-and-linkage-issue-118218.cpp
    A clang/test/Modules/pcm-with-errors.cpp
    A clang/test/Modules/pr120277.cppm
    A clang/test/Modules/pr121066.cpp
    A clang/test/OpenMP/amdgpu_threadprivate.cpp
    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 clang/test/Parser/cxx0x-decl.cpp
    M clang/test/Parser/cxx2c-pack-indexing.cpp
    A clang/test/Parser/objc-coloncolon.m
    A clang/test/Parser/objcxx-coloncolon.mm
    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/hexagon-predefines.c
    M clang/test/Preprocessor/init.c
    M clang/test/Preprocessor/predefined-arch-macros.c
    M clang/test/Preprocessor/predefined-win-macros.c
    M clang/test/Preprocessor/stdint.c
    M clang/test/Sema/Inputs/lifetime-analysis.h
    M 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-sme2-intrinsics/acle_sme2_fp8_fdot.c
    A clang/test/Sema/aarch64-sme2-intrinsics/acle_sme2_fp8_fvdot.c
    M clang/test/Sema/aarch64-sve2-intrinsics/acle_sve2_fp8.c
    M clang/test/Sema/asm.c
    M clang/test/Sema/attr-target-version.c
    A clang/test/Sema/builtin-assume-aligned-downgrade.c
    M clang/test/Sema/builtin-assume-aligned.c
    M clang/test/Sema/constant_builtins_vector.cpp
    A clang/test/Sema/tautological-pointer-comparison.c
    M clang/test/Sema/warn-lifetime-analysis-nocfg.cpp
    M clang/test/SemaCXX/attr-target-version.cpp
    M clang/test/SemaCXX/cxx20-decomposition.cpp
    M clang/test/SemaCXX/cxx2b-deducing-this.cpp
    M clang/test/SemaCXX/cxx2c-pack-indexing-ext-diags.cpp
    M clang/test/SemaCXX/cxx2c-pack-indexing.cpp
    M clang/test/SemaCXX/ext-int.cpp
    M clang/test/SemaCXX/matrix-type.cpp
    A clang/test/SemaCXX/matrix-types-pseudo-destructor.cpp
    M clang/test/SemaCXX/ms-property.cpp
    A clang/test/SemaCXX/msvc-pragma-function-no-builtin-attr.cpp
    M clang/test/SemaCXX/vector-bool.cpp
    M clang/test/SemaCXX/warn-thread-safety-analysis.cpp
    M clang/test/SemaCXX/warn-thread-safety-parsing.cpp
    M clang/test/SemaCXX/warn-unsafe-buffer-usage-array.cpp
    M clang/test/SemaCXX/warn-unsafe-buffer-usage-field-attr.cpp
    M clang/test/SemaCXX/warn-unsafe-buffer-usage-fixits-parm-unsupported.cpp
    M clang/test/SemaCXX/warn-unsafe-buffer-usage.cpp
    M clang/test/SemaHLSL/BuiltIns/StructuredBuffers.hlsl
    A clang/test/SemaHLSL/BuiltIns/WaveActiveAllTrue-errors.hlsl
    M clang/test/SemaOpenACC/combined-construct-async-clause.cpp
    M clang/test/SemaOpenACC/combined-construct-auto_seq_independent-clauses.c
    M clang/test/SemaOpenACC/combined-construct-collapse-clause.cpp
    M clang/test/SemaOpenACC/combined-construct-default-ast.cpp
    M clang/test/SemaOpenACC/combined-construct-default-clause.c
    M clang/test/SemaOpenACC/combined-construct-device_type-clause.c
    M clang/test/SemaOpenACC/combined-construct-if-clause.c
    M clang/test/SemaOpenACC/combined-construct-wait-clause.cpp
    M clang/test/SemaOpenACC/compute-construct-async-clause.cpp
    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
    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/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-construct-auto_seq_independent-clauses.c
    M clang/test/SemaOpenACC/loop-construct-collapse-clause.cpp
    M clang/test/SemaOpenACC/loop-construct-device_type-clause.c
    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/SemaTemplate/pack-deduction.cpp
    M clang/test/VFS/external-names.c
    M clang/tools/clang-installapi/Options.cpp
    M clang/tools/clang-linker-wrapper/ClangLinkerWrapper.cpp
    M clang/tools/clang-nvlink-wrapper/ClangNVLinkWrapper.cpp
    M clang/tools/clang-scan-deps/ClangScanDeps.cpp
    M clang/tools/clang-sycl-linker/ClangSYCLLinker.cpp
    M clang/tools/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/unittests/AST/ASTContextParentMapTest.cpp
    M clang/unittests/AST/ASTImporterTest.cpp
    M clang/unittests/ASTMatchers/ASTMatchersNodeTest.cpp
    M clang/unittests/Analysis/FlowSensitive/CMakeLists.txt
    A clang/unittests/Analysis/FlowSensitive/SmartPointerAccessorCachingTest.cpp
    M clang/unittests/Analysis/FlowSensitive/TransferTest.cpp
    M clang/unittests/Format/ConfigParseTest.cpp
    M clang/unittests/Format/FormatTest.cpp
    M clang/unittests/Format/FormatTestJS.cpp
    M clang/unittests/Format/MacroCallReconstructorTest.cpp
    M clang/unittests/Format/MatchFilePathTest.cpp
    M clang/unittests/Format/QualifierFixerTest.cpp
    M clang/unittests/Format/SortIncludesTest.cpp
    M clang/unittests/Format/TokenAnnotatorTest.cpp
    M clang/unittests/Frontend/CompilerInvocationTest.cpp
    M clang/unittests/Serialization/LoadSpecLazilyTest.cpp
    M clang/unittests/StaticAnalyzer/Z3CrosscheckOracleTest.cpp
    M clang/utils/TableGen/ClangAttrEmitter.cpp
    M clang/utils/TableGen/ClangDiagnosticsEmitter.cpp
    M clang/utils/TableGen/SveEmitter.cpp
    M clang/utils/perf-training/bolt.lit.cfg
    M clang/utils/perf-training/lit.cfg
    M clang/utils/perf-training/llvm-support/build.test
    M clang/www/cxx_dr_status.html
    M compiler-rt/CMakeLists.txt
    M compiler-rt/cmake/Modules/AllSupportedArchDefs.cmake
    M compiler-rt/cmake/Modules/CompilerRTAIXUtils.cmake
    M compiler-rt/cmake/Modules/CompilerRTDarwinUtils.cmake
    M compiler-rt/cmake/builtin-config-ix.cmake
    M compiler-rt/cmake/config-ix.cmake
    M compiler-rt/lib/asan/CMakeLists.txt
    M compiler-rt/lib/asan/tests/CMakeLists.txt
    M compiler-rt/lib/builtins/CMakeLists.txt
    M compiler-rt/lib/builtins/aarch64/sme-abi-assert.c
    M compiler-rt/lib/builtins/aarch64/sme-abi.S
    M compiler-rt/lib/builtins/aarch64/sme-libc-mem-routines.S
    M compiler-rt/lib/builtins/fp_div_impl.inc
    A compiler-rt/lib/builtins/truncxfhf2.c
    M compiler-rt/lib/hwasan/CMakeLists.txt
    M compiler-rt/lib/interception/interception_win.cpp
    M compiler-rt/lib/interception/tests/interception_win_test.cpp
    M compiler-rt/lib/msan/CMakeLists.txt
    M compiler-rt/lib/msan/msan_interceptors.cpp
    M compiler-rt/lib/orc/CMakeLists.txt
    M compiler-rt/lib/orc/macho_tlv.x86-64.S
    M compiler-rt/lib/orc/sysv_reenter.arm64.S
    A compiler-rt/lib/orc/sysv_reenter.x86-64.S
    M compiler-rt/lib/rtsan/rtsan_interceptors_posix.cpp
    M compiler-rt/lib/rtsan/tests/rtsan_test_interceptors_posix.cpp
    M compiler-rt/lib/sanitizer_common/sanitizer_common_interceptors.inc
    M compiler-rt/lib/sanitizer_common/sanitizer_platform_interceptors.h
    M compiler-rt/lib/sanitizer_common/sanitizer_platform_limits_posix.h
    M compiler-rt/lib/sanitizer_common/sanitizer_win.cpp
    M compiler-rt/lib/scudo/standalone/primary32.h
    M compiler-rt/lib/scudo/standalone/primary64.h
    M compiler-rt/lib/scudo/standalone/release.h
    M compiler-rt/lib/tsan/rtl/CMakeLists.txt
    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
    M compiler-rt/lib/ubsan/CMakeLists.txt
    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/asan/TestCases/Linux/interface_symbols_linux.cpp
    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
    A compiler-rt/test/builtins/Unit/truncxfhf2_test.c
    M compiler-rt/test/fuzzer/noasan-strcmp.test
    R compiler-rt/test/msan/Linux/dn_expand.cpp
    M compiler-rt/test/orc/TestCases/Generic/lazy-link.ll
    M compiler-rt/test/profile/ContinuousSyncMode/basic.c
    M compiler-rt/test/profile/ContinuousSyncMode/get-filename.c
    M compiler-rt/test/profile/ContinuousSyncMode/image-with-mcdc.c
    M compiler-rt/test/profile/ContinuousSyncMode/multi-threaded.cpp
    M compiler-rt/test/profile/ContinuousSyncMode/online-merging.c
    M compiler-rt/test/profile/ContinuousSyncMode/pid-substitution.c
    M compiler-rt/test/profile/ContinuousSyncMode/set-filename.c
    M compiler-rt/test/profile/Inputs/instrprof-gcov-exceptions.cpp.gcov
    M compiler-rt/test/profile/Inputs/instrprof-gcov-multiple-bbs-single-line.c.gcov
    M compiler-rt/test/profile/Inputs/instrprof-gcov-one-line-function.c.gcov
    M compiler-rt/test/profile/Inputs/instrprof-gcov-switch1.c.gcov
    M compiler-rt/test/profile/Inputs/instrprof-gcov-switch2.c.gcov
    M compiler-rt/test/profile/Inputs/instrprof-shared-lib_in-loop.c.gcov
    M compiler-rt/test/profile/Inputs/instrprof-shared-main.c.gcov
    M compiler-rt/test/profile/gcov-__gcov_flush-terminate.c
    M compiler-rt/test/profile/lit.cfg.py
    A compiler-rt/test/sanitizer_common/TestCases/Linux/b64.cpp
    A compiler-rt/test/sanitizer_common/TestCases/Linux/dn_expand.cpp
    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
    A compiler-rt/test/ubsan/TestCases/Misc/local_bounds.cpp
    A compiler-rt/test/ubsan_minimal/TestCases/local_bounds.cpp
    A compiler-rt/test/ubsan_minimal/TestCases/override-callback.c
    M flang-rt/lib/CufRuntime/descriptor.cpp
    M flang-rt/lib/CufRuntime/kernel.cpp
    M flang-rt/lib/FortranFloat128Math/random.cpp
    M flang-rt/lib/flang_rt/derived-api.cpp
    M flang-rt/lib/flang_rt/derived.cpp
    M flang-rt/lib/flang_rt/derived.h
    M flang-rt/lib/flang_rt/descriptor-io.h
    M flang-rt/lib/flang_rt/dot-product.cpp
    M flang-rt/lib/flang_rt/edit-input.cpp
    M flang-rt/lib/flang_rt/edit-input.h
    M flang-rt/lib/flang_rt/edit-output.cpp
    M flang-rt/lib/flang_rt/edit-output.h
    M flang-rt/lib/flang_rt/exceptions.cpp
    M flang-rt/lib/flang_rt/extrema.cpp
    M flang-rt/lib/flang_rt/findloc.cpp
    M flang-rt/lib/flang_rt/io-api-minimal.cpp
    M flang-rt/lib/flang_rt/matmul.cpp
    M flang-rt/lib/flang_rt/numeric.cpp
    M flang-rt/lib/flang_rt/product.cpp
    M flang-rt/lib/flang_rt/random-templates.h
    M flang-rt/lib/flang_rt/random.cpp
    M flang-rt/lib/flang_rt/reduce.cpp
    M flang-rt/lib/flang_rt/reduction-templates.h
    M flang-rt/lib/flang_rt/reduction.cpp
    M flang-rt/lib/flang_rt/stop.cpp
    M flang-rt/lib/flang_rt/sum.cpp
    M flang-rt/lib/flang_rt/tools.h
    M flang-rt/lib/flang_rt/type-code.cpp
    M flang-rt/lib/flang_rt/type-info.cpp
    M flang-rt/unittests/Runtime/AccessTest.cpp
    M flang-rt/unittests/Runtime/ArrayConstructor.cpp
    M flang-rt/unittests/Runtime/CUDA/AllocatorCUF.cpp
    M flang-rt/unittests/Runtime/CharacterTest.cpp
    M flang/CMakeLists.txt
    M flang/docs/Extensions.md
    A flang/docs/Unsigned.md
    M flang/docs/index.md
    M flang/examples/FeatureList/FeatureList.cpp
    M flang/examples/FlangOmpReport/FlangOmpReportVisitor.cpp
    M flang/include/flang/Common/Fortran-consts.h
    M flang/include/flang/Common/idioms.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/target.h
    M flang/include/flang/Evaluate/tools.h
    M flang/include/flang/Evaluate/type.h
    M flang/include/flang/Frontend/FrontendActions.h
    M flang/include/flang/ISO_Fortran_binding.h
    M flang/include/flang/Lower/AbstractConverter.h
    M flang/include/flang/Lower/Bridge.h
    M flang/include/flang/Lower/ConvertVariable.h
    A flang/include/flang/Lower/DirectivesCommon.h
    M flang/include/flang/Lower/LoweringOptions.def
    M flang/include/flang/Lower/OpenACC.h
    A flang/include/flang/Optimizer/Builder/CUFCommon.h
    M flang/include/flang/Optimizer/Builder/FIRBuilder.h
    M flang/include/flang/Optimizer/Builder/HLFIRTools.h
    M flang/include/flang/Optimizer/Builder/IntrinsicCall.h
    M flang/include/flang/Optimizer/Builder/Runtime/Derived.h
    M flang/include/flang/Optimizer/Builder/Runtime/Exceptions.h
    M flang/include/flang/Optimizer/Builder/Runtime/RTBuilder.h
    M flang/include/flang/Optimizer/Dialect/CUF/CUFOps.td
    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/HLFIR/HLFIROps.td
    M flang/include/flang/Optimizer/Support/Utils.h
    R flang/include/flang/Optimizer/Transforms/CUFCommon.h
    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/Runtime/CUDA/descriptor.h
    M flang/include/flang/Runtime/cpp-type.h
    M flang/include/flang/Runtime/derived-api.h
    M flang/include/flang/Runtime/exceptions.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/include/flang/Semantics/openmp-modifiers.h
    M flang/include/flang/Support/Fortran-features.h
    M flang/include/flang/Support/Fortran.h
    M flang/include/flang/Tools/CrossToolHelpers.h
    M flang/include/flang/Tools/TargetSetup.h
    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/Frontend/FrontendActions.cpp
    M flang/lib/Lower/Allocatable.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/ConvertVariable.cpp
    R flang/lib/Lower/DirectivesCommon.h
    M flang/lib/Lower/IO.cpp
    M flang/lib/Lower/Mangler.cpp
    M flang/lib/Lower/OpenACC.cpp
    M flang/lib/Lower/OpenMP/ClauseProcessor.cpp
    M flang/lib/Lower/OpenMP/ClauseProcessor.h
    M flang/lib/Lower/OpenMP/Clauses.cpp
    M flang/lib/Lower/OpenMP/DataSharingProcessor.cpp
    M flang/lib/Lower/OpenMP/DataSharingProcessor.h
    M flang/lib/Lower/OpenMP/OpenMP.cpp
    M flang/lib/Lower/OpenMP/Utils.cpp
    M flang/lib/Optimizer/Analysis/AliasAnalysis.cpp
    M flang/lib/Optimizer/Builder/CMakeLists.txt
    A flang/lib/Optimizer/Builder/CUFCommon.cpp
    M flang/lib/Optimizer/Builder/HLFIRTools.cpp
    M flang/lib/Optimizer/Builder/IntrinsicCall.cpp
    M flang/lib/Optimizer/Builder/Runtime/Derived.cpp
    M flang/lib/Optimizer/Builder/Runtime/Exceptions.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/CodeGen/Target.cpp
    M flang/lib/Optimizer/CodeGen/TargetRewrite.cpp
    M flang/lib/Optimizer/Dialect/FIRType.cpp
    M flang/lib/Optimizer/HLFIR/IR/HLFIROps.cpp
    M flang/lib/Optimizer/HLFIR/Transforms/InlineElementals.cpp
    M flang/lib/Optimizer/HLFIR/Transforms/LowerHLFIRIntrinsics.cpp
    M flang/lib/Optimizer/HLFIR/Transforms/LowerHLFIROrderedAssignments.cpp
    M flang/lib/Optimizer/HLFIR/Transforms/OptimizedBufferization.cpp
    M flang/lib/Optimizer/HLFIR/Transforms/SimplifyHLFIRIntrinsics.cpp
    M flang/lib/Optimizer/OpenMP/CMakeLists.txt
    M flang/lib/Optimizer/OpenMP/MapInfoFinalization.cpp
    M flang/lib/Optimizer/OpenMP/MapsForPrivatizedSymbols.cpp
    M flang/lib/Optimizer/Transforms/AddAliasTags.cpp
    M flang/lib/Optimizer/Transforms/AlgebraicSimplification.cpp
    M flang/lib/Optimizer/Transforms/AssumedRankOpConversion.cpp
    M flang/lib/Optimizer/Transforms/CMakeLists.txt
    M flang/lib/Optimizer/Transforms/CUFAddConstructor.cpp
    R flang/lib/Optimizer/Transforms/CUFCommon.cpp
    M flang/lib/Optimizer/Transforms/CUFDeviceGlobal.cpp
    M flang/lib/Optimizer/Transforms/CUFOpConversion.cpp
    M flang/lib/Optimizer/Transforms/CompilerGeneratedNames.cpp
    M flang/lib/Optimizer/Transforms/ConstantArgumentGlobalisation.cpp
    M flang/lib/Optimizer/Transforms/DebugTypeGenerator.cpp
    M flang/lib/Optimizer/Transforms/LoopVersioning.cpp
    M flang/lib/Optimizer/Transforms/SimplifyIntrinsics.cpp
    M flang/lib/Optimizer/Transforms/StackArrays.cpp
    M flang/lib/Parser/Fortran-parsers.cpp
    M flang/lib/Parser/expr-parsers.cpp
    M flang/lib/Parser/openmp-parsers.cpp
    M flang/lib/Parser/parsing.cpp
    M flang/lib/Parser/type-parsers.h
    M flang/lib/Parser/unparse.cpp
    M flang/lib/Semantics/check-arithmeticif.cpp
    M flang/lib/Semantics/check-case.cpp
    M flang/lib/Semantics/check-cuda.cpp
    M flang/lib/Semantics/check-omp-structure.cpp
    M flang/lib/Semantics/check-omp-structure.h
    M flang/lib/Semantics/expression.cpp
    M flang/lib/Semantics/openmp-modifiers.cpp
    M flang/lib/Semantics/resolve-directives.cpp
    M flang/lib/Semantics/resolve-names.cpp
    M flang/lib/Semantics/scope.cpp
    M flang/lib/Semantics/tools.cpp
    M flang/lib/Support/Fortran-features.cpp
    M flang/lib/Support/default-kinds.cpp
    M flang/module/cudadevice.f90
    M flang/module/iso_c_binding.f90
    M flang/module/iso_fortran_env.f90
    M flang/module/iso_fortran_env_impl.f90
    A flang/test/Analysis/AliasAnalysis/alias-analysis-omp-private-allocatable.mlir
    A flang/test/Driver/frealloc-lhs.f90
    M flang/test/Evaluate/fold-ieee.f90
    A flang/test/Evaluate/fold-unsigned.f90
    M flang/test/Fir/CUDA/cuda-allocate.fir
    A flang/test/Fir/CUDA/cuda-code-gen.mlir
    A flang/test/Fir/CUDA/cuda-compiler-generated-names.mlir
    M flang/test/Fir/CUDA/cuda-implicit-device-global.f90
    A flang/test/Fir/CUDA/cuda-sync-desc.mlir
    M flang/test/Fir/CUDA/cuda-target-rewrite.mlir
    A flang/test/Fir/struct-passing-aarch64-byval.fir
    M flang/test/HLFIR/opt-array-slice-assign.fir
    A flang/test/HLFIR/opt-variable-assign-omp.fir
    A flang/test/HLFIR/order_assignments/forall-issue120190.fir
    M flang/test/HLFIR/shapeof.fir
    A 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
    M flang/test/Lower/CUDA/cuda-device-proc.cuf
    A flang/test/Lower/CUDA/cuda-pointer-sync.cuf
    M flang/test/Lower/CUDA/cuda-program-global.cuf
    M flang/test/Lower/Intrinsics/ieee_flag.f90
    M flang/test/Lower/Intrinsics/shifta.f90
    A flang/test/Lower/OpenMP/KernelLanguage/bare-clause.f90
    M flang/test/Lower/OpenMP/Todo/depend-clause-depobj.f90
    R flang/test/Lower/OpenMP/Todo/depend-clause-inoutset.f90
    R flang/test/Lower/OpenMP/Todo/depend-clause-mutexinoutset.f90
    A flang/test/Lower/OpenMP/Todo/error.f90
    A flang/test/Lower/OpenMP/derived-type-allocatable.f90
    M flang/test/Lower/OpenMP/task.f90
    M flang/test/Lower/allocatable-polymorphic.f90
    M flang/test/Lower/io-derived-type.f90
    M flang/test/Lower/namelist.f90
    A flang/test/Lower/reallocate-lhs.f90
    A flang/test/Lower/unsigned-ops.f90
    A flang/test/Parser/OpenMP/error-unparse.f90
    M flang/test/Parser/OpenMP/in-reduction-clause.f90
    A flang/test/Parser/OpenMP/linear-clause.f90
    M flang/test/Parser/OpenMP/reduction-modifier.f90
    A flang/test/Parser/OpenMP/task-reduction-clause.f90
    A flang/test/Parser/lit-substr-data.f90
    M flang/test/Preprocessing/directive-contin-with-pp.F90
    M flang/test/Preprocessing/pp132.f90
    M flang/test/Semantics/OpenMP/clause-validity01.f90
    A flang/test/Semantics/OpenMP/in-reduction.f90
    M flang/test/Semantics/OpenMP/linear-clause01.f90
    A flang/test/Semantics/OpenMP/linear-clause02.f90
    M flang/test/Semantics/OpenMP/linear-iter.f90
    A flang/test/Semantics/OpenMP/ompx-bare.f90
    M flang/test/Semantics/OpenMP/symbol08.f90
    A flang/test/Semantics/OpenMP/task-reduction.f90
    M flang/test/Semantics/OpenMP/taskgroup01.f90
    M flang/test/Semantics/complex01.f90
    M flang/test/Semantics/cuf09.cuf
    A flang/test/Semantics/generic11.f90
    M flang/test/Semantics/modfile55.cuf
    M flang/test/Semantics/typeinfo01.f90
    M flang/test/Semantics/typeinfo08.f90
    A flang/test/Semantics/unsigned-errors.f90
    M flang/test/Transforms/loop-versioning.fir
    A flang/test/Transforms/omp-map-info-finalization-implicit-field.fir
    M flang/tools/bbc/bbc.cpp
    M flang/unittests/Evaluate/real.cpp
    M flang/unittests/Frontend/CodeGenActionTest.cpp
    M flang/unittests/Optimizer/Builder/CharacterTest.cpp
    M flang/unittests/Optimizer/Builder/ComplexTest.cpp
    M flang/unittests/Optimizer/Builder/FIRBuilderTest.cpp
    M flang/unittests/Optimizer/Builder/HLFIRToolsTest.cpp
    M flang/unittests/Optimizer/Builder/Runtime/RuntimeCallTestBase.h
    M flang/unittests/Optimizer/FortranVariableTest.cpp
    M libc/CMakeLists.txt
    M libc/cmake/modules/CheckCompilerFeatures.cmake
    M libc/cmake/modules/LLVMLibCHeaderRules.cmake
    A libc/cmake/modules/compiler_features/check_cfloat128.cpp
    A libc/cmake/modules/compiler_features/check_cfloat16.cpp
    M libc/config/baremetal/aarch64/entrypoints.txt
    M libc/config/baremetal/arm/entrypoints.txt
    M libc/config/baremetal/config.json
    M libc/config/baremetal/riscv/entrypoints.txt
    M libc/config/gpu/entrypoints.txt
    M libc/config/gpu/headers.txt
    M libc/config/linux/aarch64/entrypoints.txt
    M libc/config/linux/aarch64/headers.txt
    M libc/config/linux/arm/entrypoints.txt
    M libc/config/linux/arm/headers.txt
    M libc/config/linux/riscv/entrypoints.txt
    M libc/config/linux/riscv/headers.txt
    M libc/config/linux/x86_64/entrypoints.txt
    M libc/config/linux/x86_64/headers.txt
    A libc/docs/arch_support.rst
    M libc/docs/conf.py
    M libc/docs/dev/header_generation.rst
    M libc/docs/dev/index.rst
    M libc/docs/dev/source_tree_layout.rst
    M libc/docs/full_cross_build.rst
    M libc/docs/full_host_build.rst
    M libc/docs/gpu/rpc.rst
    M libc/docs/gpu/using.rst
    A libc/docs/headers/arpa/inet.rst
    M libc/docs/headers/assert.rst
    M libc/docs/headers/complex.rst
    M libc/docs/headers/ctype.rst
    M libc/docs/headers/errno.rst
    M libc/docs/headers/fenv.rst
    M libc/docs/headers/float.rst
    M libc/docs/headers/index.rst
    M libc/docs/headers/inttypes.rst
    M libc/docs/headers/locale.rst
    M libc/docs/headers/math/index.rst
    M libc/docs/headers/signal.rst
    M libc/docs/headers/stdio.rst
    M libc/docs/headers/stdlib.rst
    M libc/docs/headers/string.rst
    M libc/docs/headers/strings.rst
    A libc/docs/headers/sys/mman.rst
    M libc/docs/headers/threads.rst
    M libc/docs/headers/uchar.rst
    M libc/docs/headers/wchar.rst
    M libc/docs/headers/wctype.rst
    M libc/docs/index.rst
    A libc/docs/platform_support.rst
    M libc/docs/talks.rst
    M libc/fuzzing/__support/CMakeLists.txt
    A libc/fuzzing/__support/fake_heap.s
    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
    R libc/hdrgen/CMakeLists.txt
    R libc/hdrgen/class_implementation/classes/enumeration.py
    R libc/hdrgen/class_implementation/classes/function.py
    R libc/hdrgen/class_implementation/classes/macro.py
    R libc/hdrgen/class_implementation/classes/object.py
    R libc/hdrgen/class_implementation/classes/type.py
    R libc/hdrgen/gpu_headers.py
    R libc/hdrgen/header.py
    R libc/hdrgen/tests/expected_output/test_header.h
    R libc/hdrgen/tests/input/test_small.h.def
    R libc/hdrgen/tests/input/test_small.yaml
    R libc/hdrgen/tests/test_integration.py
    R libc/hdrgen/yaml/arpa/inet.yaml
    R libc/hdrgen/yaml/assert.yaml
    R libc/hdrgen/yaml/ctype.yaml
    R libc/hdrgen/yaml/dirent.yaml
    R libc/hdrgen/yaml/dlfcn.yaml
    R libc/hdrgen/yaml/elf.yaml
    R libc/hdrgen/yaml/errno.yaml
    R libc/hdrgen/yaml/fcntl.yaml
    R libc/hdrgen/yaml/features.yaml
    R libc/hdrgen/yaml/fenv.yaml
    R libc/hdrgen/yaml/float.yaml
    R libc/hdrgen/yaml/gpu/rpc.yaml
    R libc/hdrgen/yaml/inttypes.yaml
    R libc/hdrgen/yaml/limits.yaml
    R libc/hdrgen/yaml/link.yaml
    R libc/hdrgen/yaml/locale.yaml
    R libc/hdrgen/yaml/malloc.yaml
    R libc/hdrgen/yaml/math.yaml
    R libc/hdrgen/yaml/pthread.yaml
    R libc/hdrgen/yaml/sched.yaml
    R libc/hdrgen/yaml/search.yaml
    R libc/hdrgen/yaml/setjmp.yaml
    R libc/hdrgen/yaml/signal.yaml
    R libc/hdrgen/yaml/spawn.yaml
    R libc/hdrgen/yaml/stdbit.yaml
    R libc/hdrgen/yaml/stdckdint.yaml
    R libc/hdrgen/yaml/stdfix.yaml
    R libc/hdrgen/yaml/stdint.yaml
    R libc/hdrgen/yaml/stdio.yaml
    R libc/hdrgen/yaml/stdlib.yaml
    R libc/hdrgen/yaml/string.yaml
    R libc/hdrgen/yaml/strings.yaml
    R libc/hdrgen/yaml/sys/auxv.yaml
    R libc/hdrgen/yaml/sys/epoll.yaml
    R libc/hdrgen/yaml/sys/ioctl.yaml
    R libc/hdrgen/yaml/sys/mman.yaml
    R libc/hdrgen/yaml/sys/prctl.yaml
    R libc/hdrgen/yaml/sys/random.yaml
    R libc/hdrgen/yaml/sys/resource.yaml
    R libc/hdrgen/yaml/sys/select.yaml
    R libc/hdrgen/yaml/sys/sendfile.yaml
    R libc/hdrgen/yaml/sys/socket.yaml
    R libc/hdrgen/yaml/sys/stat.yaml
    R libc/hdrgen/yaml/sys/statvfs.yaml
    R libc/hdrgen/yaml/sys/syscall.yaml
    R libc/hdrgen/yaml/sys/time.yaml
    R libc/hdrgen/yaml/sys/types.yaml
    R libc/hdrgen/yaml/sys/utsname.yaml
    R libc/hdrgen/yaml/sys/wait.yaml
    R libc/hdrgen/yaml/termios.yaml
    R libc/hdrgen/yaml/threads.yaml
    R libc/hdrgen/yaml/time.yaml
    R libc/hdrgen/yaml/uchar.yaml
    R libc/hdrgen/yaml/unistd.yaml
    R libc/hdrgen/yaml/wchar.yaml
    R libc/hdrgen/yaml_functions_sorted.py
    R libc/hdrgen/yaml_to_classes.py
    M libc/include/CMakeLists.txt
    M libc/include/__llvm-libc-common.h
    A libc/include/arpa/inet.yaml
    A libc/include/assert.yaml
    A libc/include/complex.yaml
    A libc/include/ctype.yaml
    A libc/include/dirent.yaml
    A libc/include/dlfcn.yaml
    A libc/include/elf.yaml
    A libc/include/errno.yaml
    A libc/include/fcntl.yaml
    A libc/include/features.yaml
    A libc/include/fenv.yaml
    A libc/include/float.yaml
    R libc/include/gpu/rpc.h.def
    A libc/include/inttypes.yaml
    A libc/include/limits.yaml
    A libc/include/link.yaml
    A libc/include/locale.yaml
    A libc/include/malloc.yaml
    A libc/include/math.yaml
    A libc/include/pthread.yaml
    A libc/include/sched.yaml
    A libc/include/search.yaml
    A libc/include/setjmp.yaml
    A libc/include/signal.yaml
    A libc/include/spawn.yaml
    A libc/include/stdbit.yaml
    A libc/include/stdckdint.yaml
    A libc/include/stdfix.yaml
    A libc/include/stdint.yaml
    A libc/include/stdio.yaml
    A libc/include/stdlib.yaml
    A libc/include/string.yaml
    A libc/include/strings.yaml
    A libc/include/sys/auxv.yaml
    A libc/include/sys/epoll.yaml
    A libc/include/sys/ioctl.yaml
    A libc/include/sys/mman.yaml
    A libc/include/sys/prctl.yaml
    A libc/include/sys/random.yaml
    A libc/include/sys/resource.yaml
    A libc/include/sys/select.yaml
    A libc/include/sys/sendfile.yaml
    A libc/include/sys/socket.yaml
    A libc/include/sys/stat.yaml
    A libc/include/sys/statvfs.yaml
    A libc/include/sys/syscall.yaml
    A libc/include/sys/time.yaml
    A libc/include/sys/types.yaml
    A libc/include/sys/utsname.yaml
    A libc/include/sys/wait.yaml
    A libc/include/termios.yaml
    A libc/include/threads.yaml
    A libc/include/time.yaml
    A libc/include/uchar.yaml
    A libc/include/unistd.yaml
    A libc/include/wchar.yaml
    M libc/shared/rpc.h
    M libc/shared/rpc_util.h
    M libc/src/__support/CMakeLists.txt
    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/src/__support/RPC/CMakeLists.txt
    M libc/src/__support/complex_type.h
    A libc/src/__support/freelist_heap.cpp
    M libc/src/__support/macros/properties/complex_types.h
    M libc/src/__support/macros/properties/types.h
    M libc/src/__support/time/gpu/time_utils.h
    M libc/src/compiler/generic/__stack_chk_fail.cpp
    M libc/src/complex/CMakeLists.txt
    M libc/src/complex/cimagf128.h
    M libc/src/complex/cimagf16.h
    M libc/src/complex/conjf128.h
    M libc/src/complex/conjf16.h
    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/crealf128.h
    M libc/src/complex/crealf16.h
    M libc/src/complex/generic/CMakeLists.txt
    M libc/src/complex/generic/cimagf128.cpp
    M libc/src/complex/generic/cimagf16.cpp
    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/src/complex/generic/crealf128.cpp
    M libc/src/complex/generic/crealf16.cpp
    M libc/src/math/CMakeLists.txt
    A libc/src/math/cosf16.h
    M libc/src/math/docs/add_math_function.md
    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/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/src/time/gpu/nanosleep.cpp
    M libc/src/time/gpu/timespec_get.cpp
    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/UnitTest/FPMatcher.h
    M libc/test/include/stdbit_stub.h
    M libc/test/src/__support/CMakeLists.txt
    M libc/test/src/__support/CPP/type_traits_test.cpp
    R libc/test/src/__support/freelist_malloc_test.cpp
    M libc/test/src/complex/CMakeLists.txt
    A libc/test/src/complex/CprojTest.h
    M libc/test/src/complex/cimagf128_test.cpp
    M libc/test/src/complex/cimagf16_test.cpp
    M libc/test/src/complex/conjf128_test.cpp
    M libc/test/src/complex/conjf16_test.cpp
    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
    M libc/test/src/complex/crealf128_test.cpp
    M libc/test/src/complex/crealf16_test.cpp
    M libc/test/src/math/CMakeLists.txt
    A libc/test/src/math/cosf16_test.cpp
    M libc/test/src/math/smoke/CMakeLists.txt
    M libc/test/src/math/smoke/CanonicalizeTest.h
    M libc/test/src/math/smoke/FModTest.h
    A libc/test/src/math/smoke/cosf16_test.cpp
    A libc/test/src/math/sqrtf128_test.cpp
    M libc/test/src/stdlib/CMakeLists.txt
    M libc/test/src/strings/CMakeLists.txt
    M libc/test/src/strings/index_test.cpp
    M libc/test/src/strings/rindex_test.cpp
    M libc/test/src/sys/mman/linux/remap_file_pages_test.cpp
    M libc/utils/CMakeLists.txt
    M libc/utils/MPFRWrapper/MPFRUtils.cpp
    A libc/utils/docgen/arpa/inet.yaml
    R libc/utils/docgen/assert.json
    A libc/utils/docgen/assert.yaml
    R libc/utils/docgen/ctype.json
    A libc/utils/docgen/ctype.yaml
    M libc/utils/docgen/docgen.py
    R libc/utils/docgen/errno.json
    A libc/utils/docgen/errno.yaml
    R libc/utils/docgen/fenv.json
    A libc/utils/docgen/fenv.yaml
    R libc/utils/docgen/float.json
    A libc/utils/docgen/float.yaml
    M libc/utils/docgen/header.py
    R libc/utils/docgen/inttypes.json
    A libc/utils/docgen/inttypes.yaml
    R libc/utils/docgen/locale.json
    A libc/utils/docgen/locale.yaml
    R libc/utils/docgen/setjmp.json
    A libc/utils/docgen/setjmp.yaml
    R libc/utils/docgen/signal.json
    A libc/utils/docgen/signal.yaml
    R libc/utils/docgen/stdbit.json
    A libc/utils/docgen/stdbit.yaml
    A libc/utils/docgen/stdio.yaml
    R libc/utils/docgen/stdlib.json
    A libc/utils/docgen/stdlib.yaml
    R libc/utils/docgen/string.json
    A libc/utils/docgen/string.yaml
    R libc/utils/docgen/strings.json
    A libc/utils/docgen/sys/mman.yaml
    R libc/utils/docgen/threads.json
    A libc/utils/docgen/threads.yaml
    R libc/utils/docgen/uchar.json
    A libc/utils/docgen/uchar.yaml
    R libc/utils/docgen/wchar.json
    A libc/utils/docgen/wchar.yaml
    R libc/utils/docgen/wctype.json
    A libc/utils/docgen/wctype.yaml
    M libc/utils/gpu/loader/Loader.h
    M libc/utils/gpu/server/CMakeLists.txt
    M libc/utils/gpu/server/rpc_server.cpp
    A libc/utils/hdrgen/CMakeLists.txt
    A libc/utils/hdrgen/README.rst
    A libc/utils/hdrgen/enumeration.py
    A libc/utils/hdrgen/function.py
    A libc/utils/hdrgen/gpu_headers.py
    A libc/utils/hdrgen/header.py
    A libc/utils/hdrgen/macro.py
    A libc/utils/hdrgen/object.py
    A libc/utils/hdrgen/tests/expected_output/test_header.h
    A libc/utils/hdrgen/tests/input/test_small.h.def
    A libc/utils/hdrgen/tests/input/test_small.yaml
    A libc/utils/hdrgen/tests/test_integration.py
    A libc/utils/hdrgen/type.py
    A libc/utils/hdrgen/yaml_functions_sorted.py
    A libc/utils/hdrgen/yaml_to_classes.py
    M 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
    M libcxx/.clang-tidy
    A libcxx/cmake/caches/Generic-cxx03-frozen.cmake
    M libcxx/docs/Hardening.rst
    M libcxx/docs/ReleaseNotes/20.rst
    M libcxx/docs/Status/Cxx17Papers.csv
    M libcxx/include/CMakeLists.txt
    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/__algorithm/simd_utils.h
    M libcxx/include/__algorithm/stable_partition.h
    M libcxx/include/__algorithm/stable_sort.h
    M libcxx/include/__bit_reference
    M libcxx/include/__config
    R libcxx/include/__cxx03/CMakeLists.txt
    M libcxx/include/__cxx03/__config
    M libcxx/include/__cxx03/__configuration/abi.h
    M libcxx/include/__cxx03/__configuration/compiler.h
    A libcxx/include/__cxx03/__configuration/config_site_shim.h
    M libcxx/include/__cxx03/__configuration/language.h
    M libcxx/include/__cxx03/__configuration/platform.h
    M libcxx/include/__cxx03/__locale_dir/locale_base_api/bsd_locale_fallbacks.h
    M libcxx/include/__cxx03/__thread/support/pthread.h
    M libcxx/include/__cxx03/climits
    M libcxx/include/__cxx03/locale
    M libcxx/include/__cxx03/module.modulemap
    M libcxx/include/__cxx03/version
    M libcxx/include/__exception/exception_ptr.h
    M libcxx/include/__functional/function.h
    M libcxx/include/__fwd/memory.h
    M libcxx/include/__fwd/memory_resource.h
    M libcxx/include/__hash_table
    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_base_api/win32.h
    R libcxx/include/__locale_dir/locale_guard.h
    M libcxx/include/__locale_dir/support/bsd_like.h
    A libcxx/include/__locale_dir/support/windows.h
    M libcxx/include/__memory/allocator.h
    M libcxx/include/__memory/allocator_arg_t.h
    M libcxx/include/__memory/allocator_destructor.h
    M libcxx/include/__memory/builtin_new_allocator.h
    M libcxx/include/__memory/construct_at.h
    M libcxx/include/__memory/pointer_traits.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_ptr.h
    M libcxx/include/__memory/unique_temporary_buffer.h
    M libcxx/include/__memory_resource/monotonic_buffer_resource.h
    M libcxx/include/__memory_resource/polymorphic_allocator.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/__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/__ranges/join_view.h
    M libcxx/include/__split_buffer
    M libcxx/include/__support/xlocale/__nop_locale_mgmt.h
    M libcxx/include/__tree
    M libcxx/include/__tuple/make_tuple_types.h
    M libcxx/include/__tuple/sfinae_helpers.h
    M libcxx/include/__tuple/tuple_element.h
    M libcxx/include/__type_traits/add_cv_quals.h
    M libcxx/include/__type_traits/add_lvalue_reference.h
    M libcxx/include/__type_traits/add_pointer.h
    M libcxx/include/__type_traits/add_rvalue_reference.h
    M libcxx/include/__type_traits/aligned_storage.h
    M libcxx/include/__type_traits/common_type.h
    M libcxx/include/__type_traits/decay.h
    M libcxx/include/__type_traits/make_signed.h
    M libcxx/include/__type_traits/make_unsigned.h
    M libcxx/include/__type_traits/remove_pointer.h
    M libcxx/include/__type_traits/type_list.h
    M libcxx/include/__type_traits/unwrap_ref.h
    M libcxx/include/__utility/exception_guard.h
    M libcxx/include/__utility/forward_like.h
    M libcxx/include/__utility/move.h
    M libcxx/include/__utility/no_destroy.h
    M libcxx/include/__utility/small_buffer.h
    M libcxx/include/__vector/vector_bool.h
    M libcxx/include/algorithm
    M libcxx/include/any
    M libcxx/include/array
    M libcxx/include/atomic
    M libcxx/include/barrier
    M libcxx/include/bit
    M libcxx/include/bitset
    M libcxx/include/cassert
    M libcxx/include/ccomplex
    M libcxx/include/cctype
    M libcxx/include/cerrno
    M libcxx/include/cfenv
    M libcxx/include/cfloat
    M libcxx/include/charconv
    M libcxx/include/chrono
    M libcxx/include/cinttypes
    M libcxx/include/ciso646
    M libcxx/include/climits
    M libcxx/include/clocale
    M libcxx/include/cmath
    M libcxx/include/codecvt
    M libcxx/include/compare
    M libcxx/include/complex
    M libcxx/include/complex.h
    M libcxx/include/concepts
    M libcxx/include/condition_variable
    M libcxx/include/coroutine
    M libcxx/include/csetjmp
    M libcxx/include/csignal
    M libcxx/include/cstdalign
    M libcxx/include/cstdarg
    M libcxx/include/cstdbool
    M libcxx/include/cstddef
    M libcxx/include/cstdint
    M libcxx/include/cstdio
    M libcxx/include/cstdlib
    M libcxx/include/cstring
    M libcxx/include/ctgmath
    M libcxx/include/ctime
    M libcxx/include/ctype.h
    M libcxx/include/cuchar
    M libcxx/include/cwchar
    M libcxx/include/cwctype
    M libcxx/include/deque
    M libcxx/include/errno.h
    M libcxx/include/exception
    M libcxx/include/execution
    M libcxx/include/expected
    M libcxx/include/experimental/iterator
    M libcxx/include/experimental/memory
    M libcxx/include/experimental/propagate_const
    M libcxx/include/experimental/simd
    M libcxx/include/experimental/type_traits
    M libcxx/include/experimental/utility
    M libcxx/include/ext/hash_map
    M libcxx/include/ext/hash_set
    M libcxx/include/fenv.h
    M libcxx/include/filesystem
    M libcxx/include/flat_map
    M libcxx/include/float.h
    M libcxx/include/format
    M libcxx/include/forward_list
    M libcxx/include/fstream
    M libcxx/include/functional
    M libcxx/include/future
    M libcxx/include/initializer_list
    M libcxx/include/inttypes.h
    M libcxx/include/iomanip
    M libcxx/include/ios
    M libcxx/include/iosfwd
    M libcxx/include/iostream
    M libcxx/include/istream
    M libcxx/include/iterator
    M libcxx/include/latch
    M libcxx/include/limits
    M libcxx/include/list
    M libcxx/include/locale
    M libcxx/include/map
    M libcxx/include/math.h
    M libcxx/include/mdspan
    M libcxx/include/memory
    M libcxx/include/memory_resource
    M libcxx/include/module.modulemap
    M libcxx/include/mutex
    M libcxx/include/new
    M libcxx/include/numbers
    M libcxx/include/numeric
    M libcxx/include/optional
    M libcxx/include/ostream
    M libcxx/include/print
    M libcxx/include/queue
    M libcxx/include/random
    M libcxx/include/ranges
    M libcxx/include/ratio
    M libcxx/include/regex
    M libcxx/include/scoped_allocator
    M libcxx/include/semaphore
    M libcxx/include/set
    M libcxx/include/shared_mutex
    M libcxx/include/source_location
    M libcxx/include/span
    M libcxx/include/sstream
    M libcxx/include/stack
    M libcxx/include/stdatomic.h
    M libcxx/include/stdbool.h
    M libcxx/include/stddef.h
    M libcxx/include/stdexcept
    M libcxx/include/stdio.h
    M libcxx/include/stdlib.h
    M libcxx/include/stop_token
    M libcxx/include/streambuf
    M libcxx/include/string
    M libcxx/include/string.h
    M libcxx/include/string_view
    M libcxx/include/strstream
    M libcxx/include/syncstream
    M libcxx/include/system_error
    M libcxx/include/tgmath.h
    M libcxx/include/thread
    M libcxx/include/tuple
    M libcxx/include/type_traits
    M libcxx/include/typeindex
    M libcxx/include/typeinfo
    M libcxx/include/uchar.h
    M libcxx/include/unordered_map
    M libcxx/include/unordered_set
    M libcxx/include/utility
    M libcxx/include/valarray
    M libcxx/include/variant
    M libcxx/include/vector
    M libcxx/include/version
    M libcxx/include/wchar.h
    M libcxx/include/wctype.h
    M libcxx/lib/abi/CHANGELOG.TXT
    M libcxx/lib/abi/arm64-apple-darwin.libcxxabi.v1.stable.exceptions.nonew.abilist
    M libcxx/lib/abi/i686-linux-android21.libcxxabi.v1.stable.exceptions.nonew.abilist
    M libcxx/lib/abi/powerpc-ibm-aix.libcxxabi.v1.stable.exceptions.nonew.abilist
    M libcxx/lib/abi/powerpc64-ibm-aix.libcxxabi.v1.stable.exceptions.nonew.abilist
    M libcxx/lib/abi/x86_64-apple-darwin.libcxxabi.v1.stable.exceptions.nonew.abilist
    M libcxx/lib/abi/x86_64-linux-android21.libcxxabi.v1.stable.exceptions.nonew.abilist
    M libcxx/lib/abi/x86_64-unknown-freebsd.libcxxabi.v1.stable.exceptions.nonew.abilist
    M libcxx/lib/abi/x86_64-unknown-linux-gnu.libcxxabi.v1.stable.exceptions.nonew.abilist
    M libcxx/lib/abi/x86_64-unknown-linux-gnu.libcxxabi.v1.stable.noexceptions.nonew.abilist
    M libcxx/src/chrono.cpp
    M libcxx/src/filesystem/filesystem_clock.cpp
    M libcxx/src/iostream.cpp
    M libcxx/src/memory_resource.cpp
    M libcxx/src/support/win32/locale_win32.cpp
    M libcxx/src/support/win32/support.cpp
    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
    M libcxx/test/benchmarks/algorithms/min_max_element.bench.cpp
    R libcxx/test/benchmarks/allocation.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
    A libcxx/test/benchmarks/locale/num_get.bench.cpp
    R libcxx/test/benchmarks/map.bench.cpp
    R libcxx/test/benchmarks/ordered_set.bench.cpp
    R libcxx/test/benchmarks/std_format_spec_string_unicode.bench.cpp
    R libcxx/test/benchmarks/std_format_spec_string_unicode_escape.bench.cpp
    R libcxx/test/benchmarks/string.bench.cpp
    R libcxx/test/benchmarks/unordered_set_operations.bench.cpp
    R libcxx/test/benchmarks/vector_operations.bench.cpp
    A libcxx/test/configs/stdlib-libstdc++.cfg.in
    A libcxx/test/configs/stdlib-native.cfg.in
    M libcxx/test/libcxx/algorithms/half_positive.pass.cpp
    M libcxx/test/libcxx/assertions/customize_verbose_abort.link-time.pass.cpp
    M libcxx/test/libcxx/assertions/default_verbose_abort.pass.cpp
    M libcxx/test/libcxx/assertions/modes/none.pass.cpp
    M libcxx/test/libcxx/assertions/single_expression.pass.cpp
    M libcxx/test/libcxx/atomics/atomics.syn/compatible_with_stdatomic.compile.pass.cpp
    M libcxx/test/libcxx/clang_modules_include.gen.py
    M libcxx/test/libcxx/clang_tidy.gen.py
    M libcxx/test/libcxx/containers/associative/tree_balance_after_insert.pass.cpp
    M libcxx/test/libcxx/containers/associative/tree_key_value_traits.pass.cpp
    M libcxx/test/libcxx/containers/associative/tree_left_rotate.pass.cpp
    M libcxx/test/libcxx/containers/associative/tree_remove.pass.cpp
    M libcxx/test/libcxx/containers/associative/tree_right_rotate.pass.cpp
    M libcxx/test/libcxx/containers/associative/unord.map/abi.compile.pass.cpp
    M libcxx/test/libcxx/containers/associative/unord.set/abi.compile.pass.cpp
    M libcxx/test/libcxx/containers/container_traits.compile.pass.cpp
    M libcxx/test/libcxx/containers/unord/key_value_traits.pass.cpp
    M libcxx/test/libcxx/containers/unord/next_pow2.pass.cpp
    M libcxx/test/libcxx/containers/unord/next_prime.pass.cpp
    M libcxx/test/libcxx/depr/depr.c.headers/extern_c.pass.cpp
    M libcxx/test/libcxx/header_inclusions.gen.py
    M libcxx/test/libcxx/input.output/file.streams/fstreams/filebuf/traits_mismatch.verify.cpp
    M libcxx/test/libcxx/input.output/file.streams/fstreams/traits_mismatch.verify.cpp
    M libcxx/test/libcxx/input.output/iostream.format/input.streams/traits_mismatch.verify.cpp
    M libcxx/test/libcxx/input.output/iostream.format/output.streams/traits_mismatch.verify.cpp
    M libcxx/test/libcxx/input.output/string.streams/stringbuf/const_sso_buffer.pass.cpp
    M libcxx/test/libcxx/input.output/string.streams/traits_mismatch.verify.cpp
    M libcxx/test/libcxx/iterators/aliasing_iterator.pass.cpp
    M libcxx/test/libcxx/iterators/bounded_iter/arithmetic.pass.cpp
    M libcxx/test/libcxx/iterators/bounded_iter/comparison.pass.cpp
    M libcxx/test/libcxx/iterators/bounded_iter/pointer_traits.pass.cpp
    M libcxx/test/libcxx/iterators/bounded_iter/types.compile.pass.cpp
    M libcxx/test/libcxx/iterators/contiguous_iterators.conv.compile.pass.cpp
    M libcxx/test/libcxx/iterators/contiguous_iterators.verify.cpp
    M libcxx/test/libcxx/iterators/iterator.primitives/iterator.operations/prev.verify.cpp
    M libcxx/test/libcxx/language.support/support.dynamic/libcpp_deallocate.sh.cpp
    M libcxx/test/libcxx/lint/lint_cmakelists.sh.py
    M libcxx/test/libcxx/memory/allocation_guard.pass.cpp
    M libcxx/test/libcxx/memory/swap_allocator.pass.cpp
    M libcxx/test/libcxx/numerics/bit.ops.pass.cpp
    M libcxx/test/libcxx/numerics/clamp_to_integral.pass.cpp
    M libcxx/test/libcxx/numerics/complex.number/cmplx.over.pow.pass.cpp
    A libcxx/test/libcxx/numerics/numarray/assert.pass.cpp
    M libcxx/test/libcxx/selftest/test_macros.pass.cpp
    M libcxx/test/libcxx/strings/c.strings/constexpr_memmove.pass.cpp
    M libcxx/test/libcxx/transitive_includes.gen.py
    M libcxx/test/libcxx/transitive_includes/cxx03.csv
    M libcxx/test/libcxx/transitive_includes/cxx11.csv
    M libcxx/test/libcxx/transitive_includes/cxx14.csv
    M libcxx/test/libcxx/transitive_includes/cxx17.csv
    M libcxx/test/libcxx/transitive_includes/cxx20.csv
    M libcxx/test/libcxx/transitive_includes/cxx23.csv
    M libcxx/test/libcxx/transitive_includes/cxx26.csv
    M libcxx/test/libcxx/type_traits/datasizeof.compile.pass.cpp
    M libcxx/test/libcxx/type_traits/is_constant_evaluated.pass.cpp
    M libcxx/test/libcxx/type_traits/is_trivially_comparable.compile.pass.cpp
    M libcxx/test/libcxx/type_traits/is_trivially_relocatable.compile.pass.cpp
    M libcxx/test/libcxx/utilities/exception_guard.odr.sh.cpp
    M libcxx/test/libcxx/utilities/is_pointer_in_range.pass.cpp
    M libcxx/test/libcxx/utilities/is_valid_range.pass.cpp
    M libcxx/test/libcxx/utilities/meta/meta_base.pass.cpp
    M libcxx/test/libcxx/utilities/no_destroy.pass.cpp
    A libcxx/test/libcxx/utilities/template.bitset/assert.pass.cpp
    M libcxx/test/libcxx/utilities/template.bitset/includes.pass.cpp
    M libcxx/test/libcxx/utilities/utility/private_constructor_tag.compile.pass.cpp
    M libcxx/test/std/containers/sequences/array/array.fill/fill.verify.cpp
    M libcxx/test/std/containers/sequences/array/array.swap/swap.verify.cpp
    M libcxx/test/std/containers/sequences/array/array.tuple/get.verify.cpp
    M libcxx/test/std/containers/sequences/array/array.tuple/tuple_element.verify.cpp
    M libcxx/test/std/containers/sequences/array/size_and_alignment.compile.pass.cpp
    M libcxx/test/std/containers/sequences/forwardlist/types.pass.cpp
    M libcxx/test/std/containers/sequences/list/types.pass.cpp
    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
    A libcxx/test/std/containers/sequences/vector.bool/flip.pass.cpp
    M libcxx/test/std/containers/sequences/vector/vector.cons/assign_iter_iter.pass.cpp
    M libcxx/test/std/containers/sequences/vector/vector.cons/exceptions.pass.cpp
    M libcxx/test/std/input.output/file.streams/fstreams/fstream.cons/default.pass.cpp
    M libcxx/test/std/input.output/file.streams/fstreams/fstream.cons/move.pass.cpp
    M libcxx/test/std/input.output/file.streams/fstreams/fstream.cons/pointer.pass.cpp
    M libcxx/test/std/input.output/file.streams/fstreams/fstream.cons/string.pass.cpp
    M libcxx/test/std/input.output/file.streams/fstreams/ifstream.cons/default.pass.cpp
    M libcxx/test/std/input.output/file.streams/fstreams/ifstream.cons/move.pass.cpp
    M libcxx/test/std/input.output/file.streams/fstreams/ifstream.cons/pointer.pass.cpp
    M libcxx/test/std/input.output/file.streams/fstreams/ifstream.cons/string.pass.cpp
    M libcxx/test/std/input.output/file.streams/fstreams/ofstream.cons/default.pass.cpp
    M libcxx/test/std/input.output/file.streams/fstreams/ofstream.cons/move.pass.cpp
    M libcxx/test/std/input.output/file.streams/fstreams/ofstream.cons/pointer.pass.cpp
    M libcxx/test/std/input.output/file.streams/fstreams/ofstream.cons/string.pass.cpp
    M libcxx/test/std/input.output/iostreams.base/ios/basic.ios.members/copyfmt.pass.cpp
    M libcxx/test/std/input.output/string.streams/istringstream/istringstream.cons/default.pass.cpp
    M libcxx/test/std/input.output/string.streams/istringstream/istringstream.cons/move.pass.cpp
    M libcxx/test/std/input.output/string.streams/istringstream/istringstream.cons/string.pass.cpp
    M libcxx/test/std/input.output/string.streams/ostringstream/ostringstream.cons/default.pass.cpp
    M libcxx/test/std/input.output/string.streams/ostringstream/ostringstream.cons/move.pass.cpp
    M libcxx/test/std/input.output/string.streams/ostringstream/ostringstream.cons/string.pass.cpp
    M libcxx/test/std/input.output/string.streams/stringbuf/stringbuf.cons/default.pass.cpp
    M libcxx/test/std/input.output/string.streams/stringstream/stringstream.cons/default.pass.cpp
    M libcxx/test/std/input.output/string.streams/stringstream/stringstream.cons/move.pass.cpp
    M libcxx/test/std/input.output/string.streams/stringstream/stringstream.cons/string.pass.cpp
    M libcxx/test/std/language.support/support.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/language.support/support.runtime/cstdalign.compile.pass.cpp
    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
    M libcxx/test/std/numerics/c.math/isnormal.pass.cpp
    M libcxx/test/std/numerics/c.math/signbit.pass.cpp
    M libcxx/test/std/re/re.iter/re.tokiter/re.tokiter.cnstr/init.pass.cpp
    M libcxx/test/std/strings/basic.string/char.bad.verify.cpp
    M libcxx/test/std/strings/string.view/char.bad.verify.cpp
    M libcxx/test/std/utilities/memory/default.allocator/allocator.members/allocate.size.pass.cpp
    A libcxx/test/std/utilities/meta/derived_from_integral_constant.compile.pass.cpp
    M libcxx/test/std/utilities/smartptr/unique.ptr/unique.ptr.class/unique.ptr.asgn/move_convert.runtime.pass.cpp
    M libcxx/test/std/utilities/template.bitset/bitset.members/nonstdmem.uglified.compile.pass.cpp
    M libcxx/test/std/utilities/template.bitset/bitset.members/op_and_eq.pass.cpp
    M libcxx/test/support/test_macros.h
    M libcxx/test/tools/clang_tidy_checks/proper_version_checks.cpp
    M libcxx/utils/ci/Dockerfile
    M libcxx/utils/ci/run-buildbot
    M libcxx/utils/generate_feature_test_macro_components.py
    M libcxx/utils/libcxx/test/format.py
    M libcxx/utils/libcxx/test/params.py
    M libcxx/vendor/llvm/default_assertion_handler.in
    M libcxxabi/CMakeLists.txt
    M libcxxabi/src/cxa_default_handlers.cpp
    M libcxxabi/src/private_typeinfo.cpp
    M libcxxabi/test/cxa_vec_new_overflow_PR41395.pass.cpp
    M libcxxabi/test/test_demangle.pass.cpp
    M libunwind/include/__libunwind_config.h
    M lld/COFF/COFFLinkerContext.h
    M lld/COFF/Chunks.cpp
    M lld/COFF/DLL.cpp
    M lld/COFF/Driver.cpp
    M lld/COFF/Driver.h
    M lld/COFF/DriverUtils.cpp
    M lld/COFF/InputFiles.cpp
    M lld/COFF/InputFiles.h
    M lld/COFF/LTO.cpp
    M lld/COFF/PDB.cpp
    M lld/COFF/SymbolTable.cpp
    M lld/COFF/SymbolTable.h
    M lld/COFF/Symbols.cpp
    M lld/COFF/Symbols.h
    M lld/COFF/Writer.cpp
    A lld/Common/BPSectionOrdererBase.cpp
    M lld/Common/CMakeLists.txt
    M lld/ELF/Arch/AArch64.cpp
    M lld/ELF/Config.h
    M lld/ELF/Driver.cpp
    M lld/ELF/DriverUtils.cpp
    M lld/ELF/InputSection.cpp
    M lld/ELF/LinkerScript.cpp
    M lld/ELF/LinkerScript.h
    M lld/ELF/Options.td
    M lld/ELF/OutputSections.h
    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
    M lld/ELF/Writer.cpp
    M lld/MachO/Arch/ARM64.cpp
    M lld/MachO/BPSectionOrderer.cpp
    M lld/MachO/BPSectionOrderer.h
    M lld/MachO/CMakeLists.txt
    M lld/MachO/ConcatOutputSection.cpp
    M lld/MachO/Driver.cpp
    M lld/MachO/DriverUtils.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/Options.td
    M lld/MachO/Relocations.cpp
    M lld/MachO/SymbolTable.cpp
    M lld/MachO/SyntheticSections.cpp
    M lld/MachO/UnwindInfoSection.cpp
    M lld/MinGW/Driver.cpp
    M lld/docs/ELF/large_sections.rst
    M lld/docs/ld.lld.1
    A lld/include/lld/Common/BPSectionOrdererBase.h
    A lld/test/COFF/Inputs/loadconfig-arm64.s
    R lld/test/COFF/Inputs/start-lib1.ll
    R lld/test/COFF/Inputs/start-lib2.ll
    M lld/test/COFF/arm64ec-codemap.test
    M lld/test/COFF/arm64ec-entry-thunk.s
    M lld/test/COFF/arm64ec-lib.test
    M lld/test/COFF/arm64ec-range-thunks.s
    M lld/test/COFF/arm64x-loadconfig.s
    A lld/test/COFF/arm64x-symtab.s
    M lld/test/COFF/guard-warnings.s
    M lld/test/COFF/linkrepro.test
    A lld/test/COFF/loadcfg-short.test
    A lld/test/COFF/loadcfg-size.test
    A lld/test/COFF/loadcfg-uninitialized.test
    M lld/test/COFF/reloc-discarded.s
    M lld/test/COFF/start-lib.ll
    M lld/test/COFF/thin-archive.s
    A lld/test/ELF/Inputs/eager.s
    A lld/test/ELF/aarch64-got-relocations-pauth.s
    M lld/test/ELF/linkerscript/discard-section-dynsym.s
    A lld/test/ELF/lto/Inputs/eager.ll
    M lld/test/ELF/lto/start-lib.ll
    M lld/test/ELF/openbsd-phdr.s
    A lld/test/ELF/randomize-section-padding.test
    M lld/test/ELF/start-lib.s
    M lld/test/ELF/tls-opt.s
    M lld/test/ELF/x86-64-tls-ie-local.s
    M lld/test/MachO/bp-section-orderer-errs.s
    M lld/test/MachO/bp-section-orderer.s
    A lld/test/wasm/dylink-non-pie.s
    M lld/wasm/Config.h
    M lld/wasm/Driver.cpp
    M lld/wasm/InputChunks.cpp
    M lld/wasm/InputChunks.h
    M lld/wasm/InputElement.h
    M lld/wasm/InputFiles.cpp
    M lld/wasm/InputFiles.h
    M lld/wasm/LTO.cpp
    M lld/wasm/MapFile.cpp
    M lld/wasm/MarkLive.cpp
    M lld/wasm/OutputSections.cpp
    M lld/wasm/Relocations.cpp
    M lld/wasm/SymbolTable.cpp
    M lld/wasm/Symbols.cpp
    M lld/wasm/Symbols.h
    M lld/wasm/SyntheticSections.cpp
    M lld/wasm/SyntheticSections.h
    M lld/wasm/Writer.cpp
    M lldb/cmake/modules/LLDBConfig.cmake
    M lldb/docs/resources/formatterbytecode.rst
    M lldb/include/lldb/API/SBDebugger.h
    M lldb/include/lldb/API/SBError.h
    M lldb/include/lldb/API/SBStructuredData.h
    M lldb/include/lldb/Core/Debugger.h
    M lldb/include/lldb/Core/Progress.h
    M lldb/include/lldb/Core/dwarf.h
    M lldb/include/lldb/Expression/DWARFExpression.h
    M lldb/include/lldb/Host/Editline.h
    M lldb/include/lldb/Host/HostGetOpt.h
    M lldb/include/lldb/Host/common/GetOptInc.h
    M lldb/include/lldb/Host/linux/HostInfoLinux.h
    M lldb/include/lldb/Host/posix/HostInfoPosix.h
    M lldb/include/lldb/Target/StackFrameList.h
    M lldb/include/lldb/Utility/DiagnosticsRendering.h
    M lldb/include/lldb/Utility/Status.h
    M lldb/packages/Python/lldbsuite/test/tools/lldb-server/gdbremote_testcase.py
    M lldb/source/API/SBDebugger.cpp
    M lldb/source/API/SBError.cpp
    M lldb/source/Core/CoreProperties.td
    M lldb/source/Core/Debugger.cpp
    M lldb/source/Core/Progress.cpp
    M lldb/source/DataFormatters/FormatterBytecode.cpp
    M lldb/source/DataFormatters/FormatterSection.cpp
    M lldb/source/Expression/DWARFExpression.cpp
    M lldb/source/Expression/FunctionCaller.cpp
    M lldb/source/Expression/UserExpression.cpp
    M lldb/source/Host/common/Editline.cpp
    M lldb/source/Host/linux/HostInfoLinux.cpp
    M lldb/source/Host/posix/ConnectionFileDescriptorPosix.cpp
    M lldb/source/Host/posix/DomainSocket.cpp
    M lldb/source/Host/posix/HostInfoPosix.cpp
    M lldb/source/Host/posix/MainLoopPosix.cpp
    M lldb/source/Host/posix/ProcessLauncherPosixFork.cpp
    M lldb/source/Initialization/CMakeLists.txt
    M lldb/source/Interpreter/CommandReturnObject.cpp
    M lldb/source/Plugins/ABI/X86/ABISysV_x86_64.cpp
    M lldb/source/Plugins/Architecture/AArch64/ArchitectureAArch64.cpp
    M lldb/source/Plugins/Language/ObjC/Cocoa.cpp
    M lldb/source/Plugins/ObjectContainer/BSD-Archive/ObjectContainerBSDArchive.cpp
    M lldb/source/Plugins/ObjectFile/Minidump/MinidumpFileBuilder.cpp
    M lldb/source/Plugins/ObjectFile/Minidump/MinidumpFileBuilder.h
    M lldb/source/Plugins/ObjectFile/XCOFF/ObjectFileXCOFF.cpp
    M lldb/source/Plugins/ObjectFile/XCOFF/ObjectFileXCOFF.h
    M lldb/source/Plugins/Platform/MacOSX/PlatformDarwin.cpp
    M lldb/source/Plugins/Process/CMakeLists.txt
    M lldb/source/Plugins/Process/Linux/NativeRegisterContextLinux_loongarch64.cpp
    M lldb/source/Plugins/Process/Linux/NativeRegisterContextLinux_loongarch64.h
    M lldb/source/Plugins/Process/Utility/CMakeLists.txt
    A lldb/source/Plugins/Process/Utility/NativeRegisterContextDBReg.cpp
    A lldb/source/Plugins/Process/Utility/NativeRegisterContextDBReg.h
    M lldb/source/Plugins/Process/Utility/NativeRegisterContextDBReg_arm64.cpp
    M lldb/source/Plugins/Process/Utility/NativeRegisterContextDBReg_arm64.h
    A lldb/source/Plugins/Process/Utility/NativeRegisterContextDBReg_loongarch.cpp
    A lldb/source/Plugins/Process/Utility/NativeRegisterContextDBReg_loongarch.h
    M lldb/source/Plugins/Process/gdb-remote/GDBRemoteCommunicationServerCommon.cpp
    M lldb/source/Plugins/Process/minidump/MinidumpParser.cpp
    M lldb/source/Plugins/Process/minidump/MinidumpParser.h
    M lldb/source/Plugins/Process/minidump/ProcessMinidump.cpp
    M lldb/source/Plugins/Process/minidump/ProcessMinidump.h
    M lldb/source/Plugins/SymbolFile/DWARF/DIERef.h
    M lldb/source/Plugins/SymbolFile/DWARF/DWARFASTParserClang.cpp
    M lldb/source/Plugins/SymbolFile/DWARF/DWARFASTParserClang.h
    M lldb/source/Plugins/SymbolFile/DWARF/DWARFBaseDIE.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/DebugNamesDWARFIndex.cpp
    M lldb/source/Plugins/SymbolFile/DWARF/ManualDWARFIndex.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
    M lldb/source/Plugins/SymbolFile/DWARF/SymbolFileDWARFDwo.cpp
    M lldb/source/Plugins/SymbolFile/DWARF/SymbolFileDWARFDwo.h
    M lldb/source/Plugins/SymbolFile/DWARF/UniqueDWARFASTType.cpp
    M lldb/source/Plugins/TypeSystem/Clang/TypeSystemClang.cpp
    M lldb/source/Target/Process.cpp
    M lldb/source/Target/StackFrameList.cpp
    M lldb/source/Target/Thread.cpp
    M lldb/source/Utility/DiagnosticsRendering.cpp
    M lldb/source/Utility/LoongArch_DWARF_Registers.h
    M lldb/source/Utility/Status.cpp
    M lldb/test/API/CMakeLists.txt
    M lldb/test/API/api/multithreaded/TestMultithreaded.py
    A lldb/test/API/api/multithreaded/deep_stack.cpp
    A lldb/test/API/api/multithreaded/test_concurrent_unwind.cpp.template
    M lldb/test/API/commands/expression/diagnostics/TestExprDiagnostics.py
    M lldb/test/API/commands/frame/var/TestFrameVar.py
    M lldb/test/API/commands/register/register/register_command/TestRegisters.py
    M lldb/test/API/functionalities/completion/TestCompletion.py
    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/functionalities/data-formatter/embedded-summary/TestEmbeddedTypeSummary.py
    M lldb/test/API/functionalities/data-formatter/embedded-summary/main.c
    M lldb/test/API/iohandler/resize/TestIOHandlerResizeNoEditline.py
    M lldb/test/API/lang/cpp/namespace/TestNamespace.py
    A lldb/test/API/lang/cpp/typedef-to-outer-fwd/Makefile
    A lldb/test/API/lang/cpp/typedef-to-outer-fwd/TestTypedefToOuterFwd.py
    A lldb/test/API/lang/cpp/typedef-to-outer-fwd/lib.cpp
    A lldb/test/API/lang/cpp/typedef-to-outer-fwd/lib.h
    A lldb/test/API/lang/cpp/typedef-to-outer-fwd/main.cpp
    M lldb/test/API/macosx/lc-note/firmware-corefile/create-empty-corefile.cpp
    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/test/API/terminal/TestEditlineCompletions.py
    A lldb/test/Shell/Expr/TestExecProgress.test
    M lldb/test/Shell/ObjectFile/XCOFF/basic-info.yaml
    A lldb/test/Shell/SymbolFile/DWARF/objc-gmodules-class-extension.test
    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
    M lldb/tools/driver/CMakeLists.txt
    M lldb/tools/driver/Driver.cpp
    M lldb/tools/driver/Driver.h
    M lldb/tools/lldb-dap/lldb-dap.cpp
    M lldb/tools/lldb-server/lldb-gdbserver.cpp
    M lldb/unittests/Core/ProgressReportTest.cpp
    M lldb/unittests/DataFormatter/FormatterBytecodeTest.cpp
    M lldb/unittests/Host/PipeTest.cpp
    M lldb/unittests/Symbol/TestTypeSystemClang.cpp
    M lldb/unittests/SymbolFile/DWARF/DWARFASTParserClangTests.cpp
    M lldb/unittests/SymbolFile/DWARF/DWARFUnitTest.cpp
    M llvm/Maintainers.md
    M llvm/bindings/ocaml/llvm/llvm.ml
    M llvm/bindings/ocaml/llvm/llvm.mli
    M llvm/bindings/ocaml/llvm/llvm_ocaml.c
    M llvm/cmake/modules/AddLLVM.cmake
    M llvm/cmake/modules/Findzstd.cmake
    M llvm/cmake/modules/LLVMProcessSources.cmake
    M llvm/docs/CommandGuide/llvm-exegesis.rst
    M llvm/docs/CommandGuide/llvm-mc.rst
    M llvm/docs/CommandGuide/llvm-objcopy.rst
    M llvm/docs/Contributing.rst
    M llvm/docs/Coroutines.rst
    M llvm/docs/DirectX/DXILResources.rst
    M llvm/docs/GitHub.rst
    M llvm/docs/MemTagSanitizer.rst
    M llvm/docs/NVPTXUsage.rst
    M llvm/docs/RISCV/RISCVVectorExtension.rst
    M llvm/docs/RISCVUsage.rst
    M llvm/docs/ReleaseNotes.md
    M llvm/docs/SPIRVUsage.rst
    M llvm/docs/Security.rst
    M llvm/docs/TableGen/ProgRef.rst
    A llvm/docs/Telemetry.rst
    M llvm/docs/TestSuiteGuide.md
    M llvm/docs/UserGuides.rst
    M llvm/docs/Vectorizers.rst
    A llvm/docs/llvm_telemetry_design.png
    M llvm/docs/requirements-hashed.txt
    M llvm/docs/requirements.txt
    M llvm/docs/tutorial/MyFirstLanguageFrontend/LangImpl07.rst
    A llvm/docs/vplan-early-exit.dot
    A llvm/docs/vplan-early-exit.png
    M llvm/examples/Kaleidoscope/Chapter7/toy.cpp
    A llvm/include/llvm/ADT/StringTable.h
    M llvm/include/llvm/Analysis/DXILResource.h
    M llvm/include/llvm/Analysis/DomTreeUpdater.h
    M llvm/include/llvm/Analysis/GenericDomTreeUpdater.h
    M llvm/include/llvm/Analysis/GenericDomTreeUpdaterImpl.h
    M llvm/include/llvm/Analysis/IVDescriptors.h
    M llvm/include/llvm/Analysis/MemoryProfileInfo.h
    M llvm/include/llvm/Analysis/PtrUseVisitor.h
    M llvm/include/llvm/Analysis/ScalarEvolution.h
    A llvm/include/llvm/Analysis/ScalarEvolutionPatternMatch.h
    M llvm/include/llvm/Analysis/TargetLibraryInfo.h
    M llvm/include/llvm/Analysis/TargetTransformInfo.h
    M llvm/include/llvm/Analysis/TargetTransformInfoImpl.h
    M llvm/include/llvm/Analysis/TypeBasedAliasAnalysis.h
    M llvm/include/llvm/Analysis/VectorUtils.h
    M llvm/include/llvm/AsmParser/LLParser.h
    M llvm/include/llvm/BinaryFormat/ELF.h
    M llvm/include/llvm/BinaryFormat/MinidumpConstants.def
    M llvm/include/llvm/Bitcode/LLVMBitCodes.h
    M llvm/include/llvm/CodeGen/BasicTTIImpl.h
    M llvm/include/llvm/CodeGen/GlobalISel/CombinerHelper.h
    M llvm/include/llvm/CodeGen/GlobalISel/GIMatchTableExecutorImpl.h
    M llvm/include/llvm/CodeGen/GlobalISel/LegalizationArtifactCombiner.h
    M llvm/include/llvm/CodeGen/GlobalISel/MIPatternMatch.h
    M llvm/include/llvm/CodeGen/GlobalISel/Utils.h
    M llvm/include/llvm/CodeGen/ISDOpcodes.h
    M llvm/include/llvm/CodeGen/LiveRegMatrix.h
    M llvm/include/llvm/CodeGen/LiveVariables.h
    M llvm/include/llvm/CodeGen/LowLevelTypeUtils.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/MachineFunction.h
    M llvm/include/llvm/CodeGen/MachineInstr.h
    M llvm/include/llvm/CodeGen/MachineModuleInfoImpls.h
    M llvm/include/llvm/CodeGen/MachinePipeliner.h
    M llvm/include/llvm/CodeGen/MachineRegisterInfo.h
    M llvm/include/llvm/CodeGen/MachineSSAContext.h
    M llvm/include/llvm/CodeGen/MachineScheduler.h
    M llvm/include/llvm/CodeGen/SDNodeProperties.td
    M llvm/include/llvm/CodeGen/SDPatternMatch.h
    M llvm/include/llvm/CodeGen/SelectionDAG.h
    M llvm/include/llvm/CodeGen/SelectionDAGNodes.h
    M llvm/include/llvm/CodeGen/SelectionDAGTargetInfo.h
    M llvm/include/llvm/CodeGen/TargetLowering.h
    M llvm/include/llvm/CodeGen/TargetLoweringObjectFileImpl.h
    M llvm/include/llvm/CodeGen/TargetRegisterInfo.h
    M llvm/include/llvm/CodeGenTypes/LowLevelType.h
    M llvm/include/llvm/DebugInfo/DWARF/DWARFTypePrinter.h
    M llvm/include/llvm/DebugInfo/DWARF/DWARFVerifier.h
    M llvm/include/llvm/DebugInfo/GSYM/DwarfTransformer.h
    M llvm/include/llvm/DebugInfo/GSYM/GsymReader.h
    M llvm/include/llvm/ExecutionEngine/JITLink/aarch64.h
    M llvm/include/llvm/ExecutionEngine/JITLink/loongarch.h
    M llvm/include/llvm/ExecutionEngine/JITLink/x86_64.h
    M llvm/include/llvm/ExecutionEngine/Orc/COFFPlatform.h
    M llvm/include/llvm/ExecutionEngine/Orc/Core.h
    M llvm/include/llvm/ExecutionEngine/Orc/ELFNixPlatform.h
    M llvm/include/llvm/ExecutionEngine/Orc/LazyObjectLinkingLayer.h
    M llvm/include/llvm/ExecutionEngine/Orc/LazyReexports.h
    A llvm/include/llvm/ExecutionEngine/Orc/LinkGraphLayer.h
    A llvm/include/llvm/ExecutionEngine/Orc/LinkGraphLinkingLayer.h
    M llvm/include/llvm/ExecutionEngine/Orc/MachOBuilder.h
    M llvm/include/llvm/ExecutionEngine/Orc/ObjectLinkingLayer.h
    M llvm/include/llvm/Frontend/Atomic/Atomic.h
    M llvm/include/llvm/Frontend/OpenMP/ClauseT.h
    M llvm/include/llvm/Frontend/OpenMP/ConstructDecompositionT.h
    M llvm/include/llvm/Frontend/OpenMP/OMP.td
    M llvm/include/llvm/Frontend/OpenMP/OMPIRBuilder.h
    M llvm/include/llvm/IR/Attributes.td
    M llvm/include/llvm/IR/CmpPredicate.h
    M llvm/include/llvm/IR/DataLayout.h
    M llvm/include/llvm/IR/DiagnosticInfo.h
    M llvm/include/llvm/IR/InstIterator.h
    M llvm/include/llvm/IR/Instruction.h
    M llvm/include/llvm/IR/Instructions.h
    M llvm/include/llvm/IR/IntrinsicsAArch64.td
    M llvm/include/llvm/IR/IntrinsicsDirectX.td
    M llvm/include/llvm/IR/IntrinsicsHexagonDep.td
    M llvm/include/llvm/IR/IntrinsicsNVVM.td
    M llvm/include/llvm/IR/IntrinsicsSPIRV.td
    M llvm/include/llvm/IR/LLVMContext.h
    M llvm/include/llvm/IR/Metadata.h
    M llvm/include/llvm/IR/ModuleSummaryIndex.h
    M llvm/include/llvm/IR/NVVMIntrinsicFlags.h
    M llvm/include/llvm/IR/PatternMatch.h
    M llvm/include/llvm/IR/Value.h
    A llvm/include/llvm/IR/VectorTypeUtils.h
    M llvm/include/llvm/InitializePasses.h
    M llvm/include/llvm/LinkAllPasses.h
    M llvm/include/llvm/MC/MCAsmInfo.h
    M llvm/include/llvm/MC/MCCodeView.h
    M llvm/include/llvm/MC/MCFragment.h
    M llvm/include/llvm/MC/MCSection.h
    M llvm/include/llvm/MC/MCStreamer.h
    M llvm/include/llvm/Option/OptTable.h
    M llvm/include/llvm/Option/Option.h
    M llvm/include/llvm/Passes/CodeGenPassBuilder.h
    A llvm/include/llvm/Passes/DroppedVariableStats.h
    A llvm/include/llvm/Passes/DroppedVariableStatsIR.h
    M llvm/include/llvm/Passes/MachinePassRegistry.def
    M llvm/include/llvm/Passes/StandardInstrumentations.h
    M llvm/include/llvm/ProfileData/Coverage/CoverageMapping.h
    M llvm/include/llvm/ProfileData/InstrProfWriter.h
    M llvm/include/llvm/ProfileData/MemProf.h
    M llvm/include/llvm/ProfileData/MemProfYAML.h
    M llvm/include/llvm/SandboxIR/Instruction.h
    M llvm/include/llvm/SandboxIR/Type.h
    M llvm/include/llvm/Support/GenericDomTree.h
    M llvm/include/llvm/Support/Memory.h
    M llvm/include/llvm/Support/TypeName.h
    M llvm/include/llvm/TableGen/Record.h
    M llvm/include/llvm/Target/CGPassBuilderOption.h
    M llvm/include/llvm/Target/GenericOpcodes.td
    M llvm/include/llvm/Target/GlobalISel/Combine.td
    M llvm/include/llvm/Target/GlobalISel/SelectionDAGCompat.td
    M llvm/include/llvm/Target/TargetLoweringObjectFile.h
    M llvm/include/llvm/Target/TargetSelectionDAG.td
    M llvm/include/llvm/TargetParser/AArch64TargetParser.h
    M llvm/include/llvm/TargetParser/Triple.h
    A llvm/include/llvm/Telemetry/Telemetry.h
    M llvm/include/llvm/Transforms/IPO/Attributor.h
    M llvm/include/llvm/Transforms/Instrumentation/BoundsChecking.h
    M llvm/include/llvm/Transforms/Instrumentation/MemProfiler.h
    R llvm/include/llvm/Transforms/Instrumentation/PoisonChecking.h
    M llvm/include/llvm/Transforms/Instrumentation/RealtimeSanitizer.h
    A llvm/include/llvm/Transforms/Instrumentation/TypeSanitizer.h
    M llvm/include/llvm/Transforms/Utils/BuildLibCalls.h
    M llvm/include/llvm/Transforms/Utils/Cloning.h
    M llvm/include/llvm/Transforms/Utils/Evaluator.h
    M llvm/include/llvm/Transforms/Utils/ExtraPassManager.h
    M llvm/include/llvm/Transforms/Utils/Local.h
    M llvm/include/llvm/Transforms/Utils/LoopUtils.h
    M llvm/include/llvm/Transforms/Utils/SSAUpdater.h
    M llvm/include/llvm/Transforms/Vectorize/LoopVectorizationLegality.h
    M llvm/include/llvm/Transforms/Vectorize/LoopVectorize.h
    M llvm/include/llvm/Transforms/Vectorize/SandboxVectorizer/DependencyGraph.h
    M llvm/include/llvm/Transforms/Vectorize/SandboxVectorizer/Interval.h
    M llvm/include/module.modulemap
    M llvm/lib/Analysis/Analysis.cpp
    M llvm/lib/Analysis/BasicAliasAnalysis.cpp
    M llvm/lib/Analysis/ConstantFolding.cpp
    M llvm/lib/Analysis/ConstraintSystem.cpp
    M llvm/lib/Analysis/DXILResource.cpp
    M llvm/lib/Analysis/DomTreeUpdater.cpp
    M llvm/lib/Analysis/IVDescriptors.cpp
    M llvm/lib/Analysis/InstructionSimplify.cpp
    M llvm/lib/Analysis/MemoryBuiltins.cpp
    M llvm/lib/Analysis/MemoryProfileInfo.cpp
    M llvm/lib/Analysis/OverflowInstAnalysis.cpp
    M llvm/lib/Analysis/ScalarEvolution.cpp
    M llvm/lib/Analysis/TargetLibraryInfo.cpp
    M llvm/lib/Analysis/TargetTransformInfo.cpp
    M llvm/lib/Analysis/TypeBasedAliasAnalysis.cpp
    M llvm/lib/Analysis/ValueTracking.cpp
    M llvm/lib/Analysis/VectorUtils.cpp
    M llvm/lib/AsmParser/LLParser.cpp
    M llvm/lib/Bitcode/Reader/BitcodeReader.cpp
    M llvm/lib/Bitcode/Writer/BitcodeWriter.cpp
    M llvm/lib/CMakeLists.txt
    M llvm/lib/CodeGen/AsmPrinter/AsmPrinter.cpp
    M llvm/lib/CodeGen/AsmPrinter/AsmPrinterInlineAsm.cpp
    M llvm/lib/CodeGen/AsmPrinter/DwarfCFIException.cpp
    M llvm/lib/CodeGen/BranchFolding.cpp
    M llvm/lib/CodeGen/CMakeLists.txt
    M llvm/lib/CodeGen/CodeGenPrepare.cpp
    M llvm/lib/CodeGen/ExpandMemCmp.cpp
    M llvm/lib/CodeGen/FixupStatepointCallerSaved.cpp
    M llvm/lib/CodeGen/GlobalISel/CSEInfo.cpp
    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/CodeGen/GlobalISel/LegalizerHelper.cpp
    M llvm/lib/CodeGen/GlobalISel/LoadStoreOpt.cpp
    M llvm/lib/CodeGen/GlobalISel/Utils.cpp
    M llvm/lib/CodeGen/GlobalMergeFunctions.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/LiveRegMatrix.cpp
    M llvm/lib/CodeGen/LiveVariables.cpp
    M llvm/lib/CodeGen/LowLevelTypeUtils.cpp
    M llvm/lib/CodeGen/MIRCanonicalizerPass.cpp
    M llvm/lib/CodeGen/MLRegAllocEvictAdvisor.cpp
    M llvm/lib/CodeGen/MachineBasicBlock.cpp
    M llvm/lib/CodeGen/MachineCombiner.cpp
    M llvm/lib/CodeGen/MachineDomTreeUpdater.cpp
    M llvm/lib/CodeGen/MachineDominanceFrontier.cpp
    M llvm/lib/CodeGen/MachineDominators.cpp
    M llvm/lib/CodeGen/MachineFunction.cpp
    M llvm/lib/CodeGen/MachineInstr.cpp
    M llvm/lib/CodeGen/MachineLICM.cpp
    M llvm/lib/CodeGen/MachineLateInstrsCleanup.cpp
    M llvm/lib/CodeGen/MachineLoopInfo.cpp
    M llvm/lib/CodeGen/MachineModuleInfoImpls.cpp
    M llvm/lib/CodeGen/MachineOutliner.cpp
    M llvm/lib/CodeGen/MachinePipeliner.cpp
    M llvm/lib/CodeGen/MachineRegisterInfo.cpp
    M llvm/lib/CodeGen/MachineScheduler.cpp
    M llvm/lib/CodeGen/MachineSink.cpp
    M llvm/lib/CodeGen/MachineTraceMetrics.cpp
    M llvm/lib/CodeGen/MachineUniformityAnalysis.cpp
    M llvm/lib/CodeGen/MachineVerifier.cpp
    M llvm/lib/CodeGen/ModuloSchedule.cpp
    M llvm/lib/CodeGen/PHIElimination.cpp
    M llvm/lib/CodeGen/PostRASchedulerList.cpp
    M llvm/lib/CodeGen/RegAllocBase.cpp
    M llvm/lib/CodeGen/RegAllocBase.h
    M llvm/lib/CodeGen/RegAllocFast.cpp
    M llvm/lib/CodeGen/RegAllocGreedy.cpp
    M llvm/lib/CodeGen/RegAllocPriorityAdvisor.cpp
    M llvm/lib/CodeGen/RegAllocPriorityAdvisor.h
    M llvm/lib/CodeGen/ReplaceWithVeclib.cpp
    M llvm/lib/CodeGen/ScheduleDAGInstrs.cpp
    M llvm/lib/CodeGen/SelectOptimize.cpp
    M llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
    M llvm/lib/CodeGen/SelectionDAG/FastISel.cpp
    M llvm/lib/CodeGen/SelectionDAG/InstrEmitter.cpp
    M llvm/lib/CodeGen/SelectionDAG/LegalizeDAG.cpp
    M llvm/lib/CodeGen/SelectionDAG/LegalizeIntegerTypes.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/SelectionDAGBuilder.cpp
    M llvm/lib/CodeGen/SelectionDAG/SelectionDAGISel.cpp
    M llvm/lib/CodeGen/SelectionDAG/SelectionDAGTargetInfo.cpp
    M llvm/lib/CodeGen/ShrinkWrap.cpp
    M llvm/lib/CodeGen/StackMapLivenessAnalysis.cpp
    M llvm/lib/CodeGen/StackMaps.cpp
    M llvm/lib/CodeGen/SwiftErrorValueTracking.cpp
    M llvm/lib/CodeGen/TargetLoweringBase.cpp
    M llvm/lib/CodeGen/TargetLoweringObjectFileImpl.cpp
    M llvm/lib/CodeGen/TargetPassConfig.cpp
    M llvm/lib/CodeGen/TargetRegisterInfo.cpp
    M llvm/lib/CodeGen/VLIWMachineScheduler.cpp
    M llvm/lib/CodeGen/VirtRegMap.cpp
    M llvm/lib/CodeGen/XRayInstrumentation.cpp
    M llvm/lib/CodeGenTypes/LowLevelType.cpp
    M llvm/lib/DWARFLinker/Parallel/DWARFLinkerCompileUnit.cpp
    M llvm/lib/DebugInfo/DWARF/DWARFVerifier.cpp
    M llvm/lib/DebugInfo/GSYM/CallSiteInfo.cpp
    M llvm/lib/DebugInfo/GSYM/DwarfTransformer.cpp
    M llvm/lib/DebugInfo/GSYM/GsymCreator.cpp
    M llvm/lib/DebugInfo/GSYM/GsymReader.cpp
    M llvm/lib/DebugInfo/LogicalView/LVReaderHandler.cpp
    M llvm/lib/ExecutionEngine/JITLink/COFFDirectiveParser.cpp
    M llvm/lib/ExecutionEngine/JITLink/COFFLinkGraphBuilder.cpp
    M llvm/lib/ExecutionEngine/JITLink/COFFLinkGraphBuilder.h
    M llvm/lib/ExecutionEngine/JITLink/COFF_x86_64.cpp
    M llvm/lib/ExecutionEngine/JITLink/ELF_loongarch.cpp
    M llvm/lib/ExecutionEngine/JITLink/loongarch.cpp
    M llvm/lib/ExecutionEngine/JITLink/x86_64.cpp
    M llvm/lib/ExecutionEngine/Orc/CMakeLists.txt
    M llvm/lib/ExecutionEngine/Orc/Debugging/DebuggerSupportPlugin.cpp
    M llvm/lib/ExecutionEngine/Orc/JITLinkReentryTrampolines.cpp
    M llvm/lib/ExecutionEngine/Orc/LazyReexports.cpp
    A llvm/lib/ExecutionEngine/Orc/LinkGraphLayer.cpp
    A llvm/lib/ExecutionEngine/Orc/LinkGraphLinkingLayer.cpp
    M llvm/lib/ExecutionEngine/Orc/MachOPlatform.cpp
    M llvm/lib/ExecutionEngine/Orc/ObjectLinkingLayer.cpp
    M llvm/lib/ExecutionEngine/Orc/TaskDispatch.cpp
    M llvm/lib/Frontend/Atomic/Atomic.cpp
    M llvm/lib/Frontend/OpenMP/CMakeLists.txt
    M llvm/lib/Frontend/OpenMP/OMPContext.cpp
    M llvm/lib/Frontend/OpenMP/OMPIRBuilder.cpp
    M llvm/lib/IR/CMakeLists.txt
    M llvm/lib/IR/ConstantFold.cpp
    M llvm/lib/IR/ConstantRange.cpp
    M llvm/lib/IR/Constants.cpp
    M llvm/lib/IR/DataLayout.cpp
    M llvm/lib/IR/DiagnosticInfo.cpp
    M llvm/lib/IR/Instruction.cpp
    M llvm/lib/IR/Instructions.cpp
    M llvm/lib/IR/IntrinsicInst.cpp
    M llvm/lib/IR/LLVMContext.cpp
    M llvm/lib/IR/SafepointIRVerifier.cpp
    M llvm/lib/IR/VFABIDemangler.cpp
    A llvm/lib/IR/VectorTypeUtils.cpp
    M llvm/lib/IR/Verifier.cpp
    M llvm/lib/MC/MCAsmInfoXCOFF.cpp
    M llvm/lib/MC/MCAsmStreamer.cpp
    M llvm/lib/MC/MCAssembler.cpp
    M llvm/lib/MC/MCCodeView.cpp
    M llvm/lib/MC/MCFragment.cpp
    M llvm/lib/MC/MCMachOStreamer.cpp
    M llvm/lib/MC/MCObjectStreamer.cpp
    M llvm/lib/MC/MCParser/AsmLexer.cpp
    M llvm/lib/MC/MCParser/AsmParser.cpp
    M llvm/lib/MC/MCSPIRVStreamer.cpp
    M llvm/lib/MC/MCStreamer.cpp
    M llvm/lib/MC/MCWasmStreamer.cpp
    M llvm/lib/MC/MCWinCOFFStreamer.cpp
    M llvm/lib/MC/MCXCOFFStreamer.cpp
    M llvm/lib/MC/TargetRegistry.cpp
    M llvm/lib/MC/WasmObjectWriter.cpp
    M llvm/lib/MC/WinCOFFObjectWriter.cpp
    M llvm/lib/ObjCopy/ConfigManager.cpp
    M llvm/lib/ObjCopy/MachO/MachOObjcopy.cpp
    M llvm/lib/ObjCopy/MachO/MachOObject.cpp
    M llvm/lib/ObjCopy/MachO/MachOObject.h
    M llvm/lib/Object/COFFImportFile.cpp
    M llvm/lib/Object/ELFObjectFile.cpp
    M llvm/lib/ObjectYAML/ELFEmitter.cpp
    M llvm/lib/ObjectYAML/ELFYAML.cpp
    M llvm/lib/Option/OptTable.cpp
    M llvm/lib/Option/Option.cpp
    M llvm/lib/Passes/CMakeLists.txt
    A llvm/lib/Passes/DroppedVariableStatsIR.cpp
    M llvm/lib/Passes/PassBuilder.cpp
    M llvm/lib/Passes/PassRegistry.def
    M llvm/lib/Passes/StandardInstrumentations.cpp
    M llvm/lib/ProfileData/Coverage/CoverageMapping.cpp
    M llvm/lib/ProfileData/MemProf.cpp
    M llvm/lib/ProfileData/MemProfReader.cpp
    M llvm/lib/SandboxIR/Type.cpp
    M llvm/lib/Support/Unix/Threading.inc
    M llvm/lib/Support/Windows/Path.inc
    M llvm/lib/TableGen/Record.cpp
    M llvm/lib/TableGen/TGLexer.cpp
    M llvm/lib/TableGen/TGLexer.h
    M llvm/lib/TableGen/TGParser.cpp
    M llvm/lib/Target/AArch64/AArch64.h
    M llvm/lib/Target/AArch64/AArch64AsmPrinter.cpp
    M llvm/lib/Target/AArch64/AArch64Combine.td
    M llvm/lib/Target/AArch64/AArch64ExpandPseudoInsts.cpp
    M llvm/lib/Target/AArch64/AArch64FastISel.cpp
    M llvm/lib/Target/AArch64/AArch64Features.td
    R llvm/lib/Target/AArch64/AArch64GlobalsTagging.cpp
    M llvm/lib/Target/AArch64/AArch64ISelDAGToDAG.cpp
    M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
    M llvm/lib/Target/AArch64/AArch64ISelLowering.h
    M llvm/lib/Target/AArch64/AArch64InstrFormats.td
    M llvm/lib/Target/AArch64/AArch64InstrInfo.cpp
    M llvm/lib/Target/AArch64/AArch64InstrInfo.td
    M llvm/lib/Target/AArch64/AArch64MCInstLower.cpp
    M llvm/lib/Target/AArch64/AArch64MachineFunctionInfo.h
    M llvm/lib/Target/AArch64/AArch64PBQPRegAlloc.cpp
    M llvm/lib/Target/AArch64/AArch64RegisterInfo.cpp
    M llvm/lib/Target/AArch64/AArch64RegisterInfo.h
    M llvm/lib/Target/AArch64/AArch64RegisterInfo.td
    M llvm/lib/Target/AArch64/AArch64SMEInstrInfo.td
    M llvm/lib/Target/AArch64/AArch64SVEInstrInfo.td
    M llvm/lib/Target/AArch64/AArch64SelectionDAGInfo.cpp
    M llvm/lib/Target/AArch64/AArch64SelectionDAGInfo.h
    M llvm/lib/Target/AArch64/AArch64TargetMachine.cpp
    M llvm/lib/Target/AArch64/AArch64TargetObjectFile.cpp
    M llvm/lib/Target/AArch64/AArch64TargetObjectFile.h
    M llvm/lib/Target/AArch64/AArch64TargetTransformInfo.cpp
    M llvm/lib/Target/AArch64/AArch64TargetTransformInfo.h
    M llvm/lib/Target/AArch64/AsmParser/AArch64AsmParser.cpp
    M llvm/lib/Target/AArch64/CMakeLists.txt
    M llvm/lib/Target/AArch64/GISel/AArch64InstructionSelector.cpp
    M llvm/lib/Target/AArch64/GISel/AArch64LegalizerInfo.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/AArch64/MCTargetDesc/AArch64ELFObjectWriter.cpp
    M llvm/lib/Target/AArch64/MCTargetDesc/AArch64MCExpr.cpp
    M llvm/lib/Target/AArch64/MCTargetDesc/AArch64MCExpr.h
    M llvm/lib/Target/AArch64/MCTargetDesc/AArch64TargetStreamer.cpp
    M llvm/lib/Target/AArch64/MCTargetDesc/AArch64TargetStreamer.h
    M llvm/lib/Target/AArch64/SMEInstrFormats.td
    M llvm/lib/Target/AArch64/SVEInstrFormats.td
    M llvm/lib/Target/AArch64/Utils/AArch64BaseInfo.h
    M llvm/lib/Target/AArch64/Utils/AArch64SMEAttributes.cpp
    M llvm/lib/Target/AArch64/Utils/AArch64SMEAttributes.h
    M llvm/lib/Target/AMDGPU/AMDGPUAttributor.cpp
    M llvm/lib/Target/AMDGPU/AMDGPUCodeGenPrepare.cpp
    M llvm/lib/Target/AMDGPU/AMDGPUISelDAGToDAG.cpp
    M llvm/lib/Target/AMDGPU/AMDGPUISelLowering.cpp
    M llvm/lib/Target/AMDGPU/AMDGPUISelLowering.h
    M llvm/lib/Target/AMDGPU/AMDGPUInstCombineIntrinsic.cpp
    M llvm/lib/Target/AMDGPU/AMDGPULegalizerInfo.cpp
    M llvm/lib/Target/AMDGPU/AMDGPULibCalls.cpp
    M llvm/lib/Target/AMDGPU/AMDGPULibFunc.cpp
    M llvm/lib/Target/AMDGPU/AMDGPULibFunc.h
    M llvm/lib/Target/AMDGPU/AMDGPURegBankCombiner.cpp
    M llvm/lib/Target/AMDGPU/AMDGPURegisterBankInfo.cpp
    A llvm/lib/Target/AMDGPU/AMDGPUSelectionDAGInfo.cpp
    A llvm/lib/Target/AMDGPU/AMDGPUSelectionDAGInfo.h
    M llvm/lib/Target/AMDGPU/AMDGPUSwLowerLDS.cpp
    M llvm/lib/Target/AMDGPU/AMDGPUTargetMachine.cpp
    M llvm/lib/Target/AMDGPU/BUFInstructions.td
    M llvm/lib/Target/AMDGPU/CMakeLists.txt
    M llvm/lib/Target/AMDGPU/FLATInstructions.td
    M llvm/lib/Target/AMDGPU/GCNSubtarget.cpp
    M llvm/lib/Target/AMDGPU/GCNSubtarget.h
    M llvm/lib/Target/AMDGPU/MIMGInstructions.td
    M llvm/lib/Target/AMDGPU/R600Subtarget.cpp
    M llvm/lib/Target/AMDGPU/R600Subtarget.h
    M llvm/lib/Target/AMDGPU/SIISelLowering.cpp
    M llvm/lib/Target/AMDGPU/SIInstrInfo.cpp
    M llvm/lib/Target/AMDGPU/SIInstrInfo.h
    M llvm/lib/Target/AMDGPU/SIInstructions.td
    M llvm/lib/Target/AMDGPU/SILateBranchLowering.cpp
    M llvm/lib/Target/AMDGPU/SILowerI1Copies.cpp
    M llvm/lib/Target/AMDGPU/SILowerSGPRSpills.cpp
    M llvm/lib/Target/AMDGPU/SIMachineFunctionInfo.cpp
    M llvm/lib/Target/AMDGPU/SIMachineFunctionInfo.h
    M llvm/lib/Target/AMDGPU/SIPreEmitPeephole.cpp
    M llvm/lib/Target/AMDGPU/SIRegisterInfo.cpp
    M llvm/lib/Target/AMDGPU/SIRegisterInfo.td
    M llvm/lib/Target/AMDGPU/SIWholeQuadMode.cpp
    M llvm/lib/Target/AMDGPU/SOPInstructions.td
    M llvm/lib/Target/AMDGPU/Utils/AMDGPUBaseInfo.cpp
    M llvm/lib/Target/AMDGPU/Utils/AMDGPUBaseInfo.h
    M llvm/lib/Target/AMDGPU/VOP2Instructions.td
    M llvm/lib/Target/AMDGPU/VOP3Instructions.td
    M llvm/lib/Target/AMDGPU/VOP3PInstructions.td
    M llvm/lib/Target/AMDGPU/VOPInstructions.td
    M llvm/lib/Target/ARM/ARMBaseInstrInfo.cpp
    M llvm/lib/Target/ARM/ARMBaseRegisterInfo.cpp
    M llvm/lib/Target/ARM/ARMConstantIslandPass.cpp
    M llvm/lib/Target/ARM/ARMISelDAGToDAG.cpp
    M llvm/lib/Target/ARM/ARMISelLowering.cpp
    M llvm/lib/Target/ARM/ARMISelLowering.h
    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/ARM/ARMMCInstLower.cpp
    M llvm/lib/Target/ARM/ARMSelectionDAGInfo.cpp
    M llvm/lib/Target/ARM/ARMSelectionDAGInfo.h
    M llvm/lib/Target/ARM/ARMTargetTransformInfo.cpp
    M llvm/lib/Target/ARM/MVEGatherScatterLowering.cpp
    M llvm/lib/Target/ARM/Thumb2ITBlockPass.cpp
    M llvm/lib/Target/ARM/Utils/ARMBaseInfo.h
    M llvm/lib/Target/AVR/AVRDevices.td
    M llvm/lib/Target/AVR/AVRInstrInfo.td
    M llvm/lib/Target/AVR/MCTargetDesc/AVRAsmBackend.cpp
    M llvm/lib/Target/DirectX/CMakeLists.txt
    M llvm/lib/Target/DirectX/DXContainerGlobals.cpp
    M llvm/lib/Target/DirectX/DXIL.td
    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
    A llvm/lib/Target/DirectX/DXILResourceAccess.cpp
    A llvm/lib/Target/DirectX/DXILResourceAccess.h
    M llvm/lib/Target/DirectX/DXILShaderFlags.cpp
    M llvm/lib/Target/DirectX/DXILShaderFlags.h
    M llvm/lib/Target/DirectX/DXILTranslateMetadata.cpp
    M llvm/lib/Target/DirectX/DirectX.h
    M llvm/lib/Target/DirectX/DirectXPassRegistry.def
    M llvm/lib/Target/DirectX/DirectXTargetMachine.cpp
    M llvm/lib/Target/DirectX/DirectXTargetTransformInfo.cpp
    M llvm/lib/Target/DirectX/DirectXTargetTransformInfo.h
    M llvm/lib/Target/Hexagon/Hexagon.td
    M llvm/lib/Target/Hexagon/HexagonDepArch.h
    M llvm/lib/Target/Hexagon/HexagonDepArch.td
    M llvm/lib/Target/Hexagon/HexagonDepIICHVX.td
    M llvm/lib/Target/Hexagon/HexagonDepIICScalar.td
    M llvm/lib/Target/Hexagon/HexagonFrameLowering.cpp
    M llvm/lib/Target/Hexagon/HexagonISelDAGToDAG.cpp
    M llvm/lib/Target/Hexagon/HexagonISelDAGToDAGHVX.cpp
    M llvm/lib/Target/Hexagon/HexagonISelLowering.cpp
    M llvm/lib/Target/Hexagon/HexagonLoopIdiomRecognition.cpp
    M llvm/lib/Target/Hexagon/HexagonRegisterInfo.cpp
    M llvm/lib/Target/Hexagon/HexagonSchedule.td
    A llvm/lib/Target/Hexagon/HexagonScheduleV75.td
    A llvm/lib/Target/Hexagon/HexagonScheduleV79.td
    M llvm/lib/Target/Hexagon/HexagonSubtarget.h
    M llvm/lib/Target/Hexagon/HexagonTargetMachine.h
    M llvm/lib/Target/Hexagon/MCTargetDesc/HexagonAsmBackend.cpp
    M llvm/lib/Target/Hexagon/MCTargetDesc/HexagonMCELFStreamer.cpp
    M llvm/lib/Target/Hexagon/MCTargetDesc/HexagonMCTargetDesc.cpp
    M llvm/lib/Target/LoongArch/LoongArchExpandPseudoInsts.cpp
    M llvm/lib/Target/LoongArch/LoongArchISelLowering.cpp
    M llvm/lib/Target/LoongArch/LoongArchInstrInfo.cpp
    M llvm/lib/Target/LoongArch/LoongArchMCInstLower.cpp
    M llvm/lib/Target/LoongArch/LoongArchOptWInstrs.cpp
    M llvm/lib/Target/LoongArch/MCTargetDesc/LoongArchBaseInfo.h
    M llvm/lib/Target/M68k/Disassembler/M68kDisassembler.cpp
    M llvm/lib/Target/M68k/M68kISelDAGToDAG.cpp
    M llvm/lib/Target/M68k/M68kISelLowering.cpp
    M llvm/lib/Target/M68k/M68kInstrAtomics.td
    M llvm/lib/Target/M68k/M68kInstrControl.td
    M llvm/lib/Target/M68k/M68kInstrInfo.td
    M llvm/lib/Target/M68k/MCTargetDesc/M68kAsmBackend.cpp
    M llvm/lib/Target/Mips/AsmParser/MipsAsmParser.cpp
    M llvm/lib/Target/Mips/CMakeLists.txt
    M llvm/lib/Target/Mips/MCTargetDesc/CMakeLists.txt
    M llvm/lib/Target/Mips/MCTargetDesc/MipsAsmBackend.cpp
    M llvm/lib/Target/Mips/MCTargetDesc/MipsMCAsmInfo.cpp
    M llvm/lib/Target/Mips/MCTargetDesc/MipsMCAsmInfo.h
    M llvm/lib/Target/Mips/MCTargetDesc/MipsMCTargetDesc.cpp
    M llvm/lib/Target/Mips/MCTargetDesc/MipsMCTargetDesc.h
    A llvm/lib/Target/Mips/MCTargetDesc/MipsWinCOFFObjectWriter.cpp
    A llvm/lib/Target/Mips/MCTargetDesc/MipsWinCOFFStreamer.cpp
    M llvm/lib/Target/Mips/MipsISelLowering.h
    M llvm/lib/Target/Mips/MipsPostLegalizerCombiner.cpp
    M llvm/lib/Target/Mips/MipsPreLegalizerCombiner.cpp
    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/Mips/MipsTargetMachine.cpp
    M llvm/lib/Target/NVPTX/CMakeLists.txt
    M llvm/lib/Target/NVPTX/NVPTXAsmPrinter.cpp
    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/NVPTXInstrInfo.td
    M llvm/lib/Target/NVPTX/NVPTXIntrinsics.td
    M llvm/lib/Target/NVPTX/NVPTXMachineFunctionInfo.h
    M llvm/lib/Target/NVPTX/NVPTXReplaceImageHandles.cpp
    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/NVPTX/NVPTXTargetMachine.cpp
    M llvm/lib/Target/PowerPC/CMakeLists.txt
    M llvm/lib/Target/PowerPC/PPCAsmPrinter.cpp
    M llvm/lib/Target/PowerPC/PPCISelDAGToDAG.cpp
    M llvm/lib/Target/PowerPC/PPCISelLowering.cpp
    M llvm/lib/Target/PowerPC/PPCISelLowering.h
    M llvm/lib/Target/PowerPC/PPCInstrInfo.cpp
    M llvm/lib/Target/PowerPC/PPCInstrInfo.td
    M llvm/lib/Target/PowerPC/PPCRegisterInfo.cpp
    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/AsmParser/RISCVAsmParser.cpp
    M llvm/lib/Target/RISCV/CMakeLists.txt
    M llvm/lib/Target/RISCV/Disassembler/RISCVDisassembler.cpp
    M llvm/lib/Target/RISCV/GISel/RISCVInstructionSelector.cpp
    M llvm/lib/Target/RISCV/GISel/RISCVLegalizerInfo.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
    M llvm/lib/Target/RISCV/MCTargetDesc/RISCVBaseInfo.h
    M llvm/lib/Target/RISCV/MCTargetDesc/RISCVMCCodeEmitter.cpp
    M llvm/lib/Target/RISCV/RISCV.td
    M llvm/lib/Target/RISCV/RISCVCombine.td
    M llvm/lib/Target/RISCV/RISCVFeatures.td
    M llvm/lib/Target/RISCV/RISCVFrameLowering.cpp
    M llvm/lib/Target/RISCV/RISCVGISel.td
    M llvm/lib/Target/RISCV/RISCVISelDAGToDAG.cpp
    M llvm/lib/Target/RISCV/RISCVISelDAGToDAG.h
    M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
    M llvm/lib/Target/RISCV/RISCVISelLowering.h
    M llvm/lib/Target/RISCV/RISCVInsertVSETVLI.cpp
    M llvm/lib/Target/RISCV/RISCVInstrInfo.cpp
    M llvm/lib/Target/RISCV/RISCVInstrInfo.h
    M llvm/lib/Target/RISCV/RISCVInstrInfo.td
    M llvm/lib/Target/RISCV/RISCVInstrInfoA.td
    M llvm/lib/Target/RISCV/RISCVInstrInfoC.td
    M llvm/lib/Target/RISCV/RISCVInstrInfoD.td
    M llvm/lib/Target/RISCV/RISCVInstrInfoV.td
    M llvm/lib/Target/RISCV/RISCVInstrInfoVPseudos.td
    M llvm/lib/Target/RISCV/RISCVInstrInfoVSDPatterns.td
    M llvm/lib/Target/RISCV/RISCVInstrInfoVVLPatterns.td
    M llvm/lib/Target/RISCV/RISCVInstrInfoXCV.td
    M llvm/lib/Target/RISCV/RISCVInstrInfoXSf.td
    M llvm/lib/Target/RISCV/RISCVInstrInfoXTHead.td
    M llvm/lib/Target/RISCV/RISCVInstrInfoXqci.td
    M llvm/lib/Target/RISCV/RISCVInstrInfoXwch.td
    M llvm/lib/Target/RISCV/RISCVInstrInfoZalasr.td
    M llvm/lib/Target/RISCV/RISCVInstrInfoZb.td
    M llvm/lib/Target/RISCV/RISCVProcessors.td
    A llvm/lib/Target/RISCV/RISCVSchedMIPSP8700.td
    M llvm/lib/Target/RISCV/RISCVSchedRocket.td
    M llvm/lib/Target/RISCV/RISCVSchedSyntacoreSCR345.td
    M llvm/lib/Target/RISCV/RISCVSchedSyntacoreSCR7.td
    A llvm/lib/Target/RISCV/RISCVSchedTTAscalonD8.td
    M llvm/lib/Target/RISCV/RISCVSchedXiangShanNanHu.td
    M llvm/lib/Target/RISCV/RISCVSchedule.td
    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.cpp
    M llvm/lib/Target/RISCV/RISCVTargetMachine.h
    M llvm/lib/Target/RISCV/RISCVTargetTransformInfo.cpp
    M llvm/lib/Target/RISCV/RISCVTargetTransformInfo.h
    M llvm/lib/Target/RISCV/RISCVVLOptimizer.cpp
    M llvm/lib/Target/SPIRV/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/SPIRVGlobalRegistry.h
    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
    M llvm/lib/Target/SPIRV/SPIRVUtils.cpp
    M llvm/lib/Target/SPIRV/SPIRVUtils.h
    M llvm/lib/Target/Sparc/AsmParser/SparcAsmParser.cpp
    M llvm/lib/Target/Sparc/DelaySlotFiller.cpp
    M llvm/lib/Target/Sparc/SparcInstrInfo.td
    M llvm/lib/Target/SystemZ/MCTargetDesc/SystemZMCAsmInfo.cpp
    M llvm/lib/Target/SystemZ/SystemZISelDAGToDAG.cpp
    M llvm/lib/Target/SystemZ/SystemZISelLowering.cpp
    M llvm/lib/Target/SystemZ/SystemZISelLowering.h
    M llvm/lib/Target/SystemZ/SystemZInstrInfo.td
    M llvm/lib/Target/SystemZ/SystemZOperators.td
    M llvm/lib/Target/SystemZ/SystemZSelectionDAGInfo.cpp
    M llvm/lib/Target/SystemZ/SystemZSelectionDAGInfo.h
    M llvm/lib/Target/TargetLoweringObjectFile.cpp
    M llvm/lib/Target/TargetMachine.cpp
    M llvm/lib/Target/VE/VEISelLowering.cpp
    M llvm/lib/Target/WebAssembly/WebAssemblyISD.def
    M llvm/lib/Target/WebAssembly/WebAssemblyISelLowering.cpp
    M llvm/lib/Target/WebAssembly/WebAssemblyISelLowering.h
    M llvm/lib/Target/WebAssembly/WebAssemblySelectionDAGInfo.cpp
    M llvm/lib/Target/WebAssembly/WebAssemblySelectionDAGInfo.h
    M llvm/lib/Target/X86/MCTargetDesc/X86ATTInstPrinter.cpp
    M llvm/lib/Target/X86/MCTargetDesc/X86AsmBackend.cpp
    M llvm/lib/Target/X86/MCTargetDesc/X86ELFObjectWriter.cpp
    M llvm/lib/Target/X86/MCTargetDesc/X86FixupKinds.h
    M llvm/lib/Target/X86/MCTargetDesc/X86InstComments.cpp
    M llvm/lib/Target/X86/MCTargetDesc/X86InstPrinterCommon.cpp
    M llvm/lib/Target/X86/MCTargetDesc/X86IntelInstPrinter.cpp
    M llvm/lib/Target/X86/MCTargetDesc/X86MCCodeEmitter.cpp
    M llvm/lib/Target/X86/MCTargetDesc/X86MachObjectWriter.cpp
    M llvm/lib/Target/X86/MCTargetDesc/X86WinCOFFObjectWriter.cpp
    M llvm/lib/Target/X86/X86.td
    M llvm/lib/Target/X86/X86ArgumentStackSlotRebase.cpp
    M llvm/lib/Target/X86/X86FlagsCopyLowering.cpp
    M llvm/lib/Target/X86/X86FloatingPoint.cpp
    M llvm/lib/Target/X86/X86ISelDAGToDAG.cpp
    M llvm/lib/Target/X86/X86ISelLowering.cpp
    M llvm/lib/Target/X86/X86ISelLowering.h
    M llvm/lib/Target/X86/X86ISelLoweringCall.cpp
    M llvm/lib/Target/X86/X86InstrAVX10.td
    M llvm/lib/Target/X86/X86InstrAVX512.td
    M llvm/lib/Target/X86/X86InstrFMA3Info.cpp
    M llvm/lib/Target/X86/X86InstrFragments.td
    M llvm/lib/Target/X86/X86InstrInfo.cpp
    M llvm/lib/Target/X86/X86LoadValueInjectionRetHardening.cpp
    M llvm/lib/Target/X86/X86LowerAMXType.cpp
    M llvm/lib/Target/X86/X86RegisterInfo.cpp
    M llvm/lib/Target/X86/X86RegisterInfo.td
    M llvm/lib/Target/X86/X86SchedSapphireRapids.td
    M llvm/lib/Target/X86/X86ScheduleZnver4.td
    M llvm/lib/Target/X86/X86SelectionDAGInfo.cpp
    M llvm/lib/Target/X86/X86SelectionDAGInfo.h
    M llvm/lib/Target/X86/X86TargetTransformInfo.cpp
    M llvm/lib/Target/X86/X86WinEHState.cpp
    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/XtensaISelLowering.h
    M llvm/lib/Target/Xtensa/XtensaInstrInfo.td
    M llvm/lib/Target/Xtensa/XtensaMachineFunctionInfo.h
    M llvm/lib/Target/Xtensa/XtensaOperands.td
    M llvm/lib/TargetParser/AArch64TargetParser.cpp
    M llvm/lib/TargetParser/Host.cpp
    M llvm/lib/TargetParser/RISCVISAInfo.cpp
    M llvm/lib/TargetParser/Triple.cpp
    M llvm/lib/TargetParser/X86TargetParser.cpp
    A llvm/lib/Telemetry/CMakeLists.txt
    A llvm/lib/Telemetry/Telemetry.cpp
    M llvm/lib/ToolDrivers/llvm-dlltool/DlltoolDriver.cpp
    M llvm/lib/ToolDrivers/llvm-lib/LibDriver.cpp
    M llvm/lib/ToolDrivers/llvm-lib/Options.td
    M llvm/lib/Transforms/AggressiveInstCombine/AggressiveInstCombine.cpp
    M llvm/lib/Transforms/IPO/AlwaysInliner.cpp
    M llvm/lib/Transforms/IPO/FunctionAttrs.cpp
    M llvm/lib/Transforms/IPO/MemProfContextDisambiguation.cpp
    M llvm/lib/Transforms/IPO/SampleProfile.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/InstCombineInternal.h
    M llvm/lib/Transforms/InstCombine/InstCombinePHI.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/Instrumentation/BoundsChecking.cpp
    M llvm/lib/Transforms/Instrumentation/CMakeLists.txt
    M llvm/lib/Transforms/Instrumentation/GCOVProfiling.cpp
    M llvm/lib/Transforms/Instrumentation/MemProfiler.cpp
    R llvm/lib/Transforms/Instrumentation/PoisonChecking.cpp
    M llvm/lib/Transforms/Instrumentation/RealtimeSanitizer.cpp
    A llvm/lib/Transforms/Instrumentation/TypeSanitizer.cpp
    M llvm/lib/Transforms/Scalar/CallSiteSplitting.cpp
    M llvm/lib/Transforms/Scalar/ConstraintElimination.cpp
    M llvm/lib/Transforms/Scalar/DFAJumpThreading.cpp
    M llvm/lib/Transforms/Scalar/DeadStoreElimination.cpp
    M llvm/lib/Transforms/Scalar/EarlyCSE.cpp
    M llvm/lib/Transforms/Scalar/GuardWidening.cpp
    M llvm/lib/Transforms/Scalar/InductiveRangeCheckElimination.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/MemCpyOptimizer.cpp
    M llvm/lib/Transforms/Scalar/SROA.cpp
    M llvm/lib/Transforms/Scalar/Scalarizer.cpp
    M llvm/lib/Transforms/Scalar/SimpleLoopUnswitch.cpp
    M llvm/lib/Transforms/Scalar/StraightLineStrengthReduce.cpp
    M llvm/lib/Transforms/Utils/BuildLibCalls.cpp
    M llvm/lib/Transforms/Utils/CloneFunction.cpp
    M llvm/lib/Transforms/Utils/CodeExtractor.cpp
    M llvm/lib/Transforms/Utils/EntryExitInstrumenter.cpp
    M llvm/lib/Transforms/Utils/Evaluator.cpp
    M llvm/lib/Transforms/Utils/Local.cpp
    M llvm/lib/Transforms/Utils/LoopPeel.cpp
    M llvm/lib/Transforms/Utils/LoopUtils.cpp
    M llvm/lib/Transforms/Utils/LoopVersioning.cpp
    M llvm/lib/Transforms/Utils/SSAUpdater.cpp
    M llvm/lib/Transforms/Utils/ScalarEvolutionExpander.cpp
    M llvm/lib/Transforms/Utils/SimplifyCFG.cpp
    M llvm/lib/Transforms/Utils/SimplifyIndVar.cpp
    M llvm/lib/Transforms/Utils/SimplifyLibCalls.cpp
    M llvm/lib/Transforms/Vectorize/LoopVectorizationLegality.cpp
    M llvm/lib/Transforms/Vectorize/LoopVectorizationPlanner.h
    M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
    M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
    M llvm/lib/Transforms/Vectorize/SandboxVectorizer/DependencyGraph.cpp
    M llvm/lib/Transforms/Vectorize/VPlan.cpp
    M llvm/lib/Transforms/Vectorize/VPlan.h
    M llvm/lib/Transforms/Vectorize/VPlanAnalysis.cpp
    M llvm/lib/Transforms/Vectorize/VPlanHCFGBuilder.cpp
    M llvm/lib/Transforms/Vectorize/VPlanHCFGBuilder.h
    M llvm/lib/Transforms/Vectorize/VPlanPatternMatch.h
    M llvm/lib/Transforms/Vectorize/VPlanRecipes.cpp
    M llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
    M llvm/lib/Transforms/Vectorize/VPlanTransforms.h
    M llvm/lib/Transforms/Vectorize/VPlanUnroll.cpp
    M llvm/lib/Transforms/Vectorize/VPlanUtils.cpp
    M llvm/lib/Transforms/Vectorize/VPlanVerifier.cpp
    M llvm/lib/Transforms/Vectorize/VectorCombine.cpp
    M llvm/test/Analysis/BasicAA/smaller-index-size-overflow.ll
    A llvm/test/Analysis/CostModel/AArch64/shuffle-extract.ll
    M llvm/test/Analysis/CostModel/AArch64/shuffle-select.ll
    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
    M llvm/test/Analysis/CostModel/AMDGPU/shufflevector.ll
    M llvm/test/Analysis/CostModel/RISCV/rvv-extractelement.ll
    M llvm/test/Analysis/CostModel/RISCV/rvv-insertelement.ll
    A llvm/test/Analysis/CostModel/RISCV/shuffle-exact-vlen.ll
    M llvm/test/Analysis/CostModel/X86/reduction.ll
    M llvm/test/Analysis/CostModel/X86/scalarize.ll
    M llvm/test/Analysis/CostModel/X86/shuffle-concat_subvector-codesize.ll
    M llvm/test/Analysis/CostModel/X86/shuffle-concat_subvector-latency.ll
    M llvm/test/Analysis/CostModel/X86/shuffle-concat_subvector-sizelatency.ll
    M llvm/test/Analysis/CostModel/X86/shuffle-concat_subvector.ll
    M llvm/test/Analysis/CostModel/X86/shuffle-insert_subvector-codesize.ll
    M llvm/test/Analysis/CostModel/X86/shuffle-insert_subvector-latency.ll
    M llvm/test/Analysis/CostModel/X86/shuffle-insert_subvector-sizelatency.ll
    M llvm/test/Analysis/CostModel/X86/shuffle-insert_subvector.ll
    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
    M llvm/test/Analysis/CostModel/X86/shuffle-single-src-latency.ll
    M llvm/test/Analysis/CostModel/X86/shuffle-splat-codesize.ll
    M llvm/test/Analysis/CostModel/X86/shuffle-splat-latency.ll
    M llvm/test/Analysis/CostModel/X86/shuffle-splat-sizelatency.ll
    M llvm/test/Analysis/CostModel/X86/shuffle-splat.ll
    M llvm/test/Analysis/CostModel/X86/shuffle-two-src-codesize.ll
    M llvm/test/Analysis/CostModel/X86/shuffle-two-src-fp16-codesize.ll
    M llvm/test/Analysis/CostModel/X86/shuffle-two-src-fp16-latency.ll
    M llvm/test/Analysis/CostModel/X86/shuffle-two-src-fp16-sizelatency.ll
    M llvm/test/Analysis/CostModel/X86/shuffle-two-src-fp16.ll
    M llvm/test/Analysis/CostModel/X86/shuffle-two-src-latency.ll
    M llvm/test/Analysis/CostModel/X86/shuffle-two-src-sizelatency.ll
    M llvm/test/Analysis/CostModel/X86/shuffle-two-src.ll
    M llvm/test/Analysis/DXILResource/buffer-frombinding.ll
    M llvm/test/Analysis/LoopAccessAnalysis/memcheck-wrapping-pointers.ll
    M llvm/test/Analysis/LoopAccessAnalysis/nssw-predicate-implied.ll
    A llvm/test/Analysis/LoopAccessAnalysis/nusw-predicates.ll
    M llvm/test/Analysis/LoopAccessAnalysis/wrapping-pointer-versioning.ll
    M llvm/test/Analysis/ScalarEvolution/backedge-taken-count-guard-info-with-multiple-predecessors.ll
    A llvm/test/Analysis/ValueTracking/knownbits-trunc-with-min-max-clamp.ll
    M llvm/test/Assembler/aggregate-constant-values.ll
    A llvm/test/Assembler/pr119818.ll
    M llvm/test/Bindings/OCaml/core.ml
    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/combine-ext-debugloc.mir
    M llvm/test/CodeGen/AArch64/GlobalISel/combine-select.mir
    M llvm/test/CodeGen/AArch64/GlobalISel/legalize-bitreverse.mir
    M llvm/test/CodeGen/AArch64/GlobalISel/legalize-build-vector.mir
    M llvm/test/CodeGen/AArch64/GlobalISel/legalize-cmp.mir
    M llvm/test/CodeGen/AArch64/GlobalISel/legalize-concat-vectors.mir
    M llvm/test/CodeGen/AArch64/GlobalISel/legalize-ext.mir
    M llvm/test/CodeGen/AArch64/GlobalISel/legalize-inserts.mir
    A llvm/test/CodeGen/AArch64/GlobalISel/legalize-shuffle-1x.ll
    M llvm/test/CodeGen/AArch64/GlobalISel/legalize-shuffle-vector.mir
    M llvm/test/CodeGen/AArch64/GlobalISel/legalize-threeway-cmp.mir
    M llvm/test/CodeGen/AArch64/GlobalISel/legalizer-info-validation.mir
    M llvm/test/CodeGen/AArch64/GlobalISel/prelegalizercombiner-hoist-same-hands.mir
    A llvm/test/CodeGen/AArch64/GlobalISel/select-fp-anyext-crash.ll
    M llvm/test/CodeGen/AArch64/O0-pipeline.ll
    M llvm/test/CodeGen/AArch64/O3-pipeline.ll
    M llvm/test/CodeGen/AArch64/aarch64-dup-ext-crash.ll
    M llvm/test/CodeGen/AArch64/aarch64-dup-ext.ll
    M llvm/test/CodeGen/AArch64/aarch64-minmaxv.ll
    M llvm/test/CodeGen/AArch64/aarch64-neon-vector-insert-uaddlv.ll
    M llvm/test/CodeGen/AArch64/arm64-anyregcc-crash.ll
    M llvm/test/CodeGen/AArch64/bitreverse.ll
    A llvm/test/CodeGen/AArch64/cgdata-no-merge-attached-call-garget.ll
    M llvm/test/CodeGen/AArch64/commandline-metadata.ll
    A llvm/test/CodeGen/AArch64/csel-subs-swapped.ll
    M llvm/test/CodeGen/AArch64/dag-combine-setcc.ll
    M llvm/test/CodeGen/AArch64/dump-schedule-trace.mir
    M llvm/test/CodeGen/AArch64/dup.ll
    M llvm/test/CodeGen/AArch64/force-enable-intervals.mir
    A llvm/test/CodeGen/AArch64/fp8-sve-fdot.ll
    A llvm/test/CodeGen/AArch64/fp8-sve-fmla.ll
    M llvm/test/CodeGen/AArch64/icmp.ll
    M llvm/test/CodeGen/AArch64/illegal-floating-point-vector-compares.ll
    M llvm/test/CodeGen/AArch64/misched-detail-resource-booking-01.mir
    M llvm/test/CodeGen/AArch64/misched-detail-resource-booking-02.mir
    M llvm/test/CodeGen/AArch64/misched-sort-resource-in-trace.mir
    M llvm/test/CodeGen/AArch64/neon-dotreduce.ll
    A llvm/test/CodeGen/AArch64/neon-ins-trunc-elt.ll
    M llvm/test/CodeGen/AArch64/neon-reverseshuffle.ll
    A llvm/test/CodeGen/AArch64/ptrauth-arm64-tls-dynamics.ll
    A llvm/test/CodeGen/AArch64/ptrauth-sign-personality.ll
    M llvm/test/CodeGen/AArch64/reduce-and.ll
    M llvm/test/CodeGen/AArch64/reduce-or.ll
    M llvm/test/CodeGen/AArch64/scmp.ll
    M llvm/test/CodeGen/AArch64/selectopt-cast.ll
    M llvm/test/CodeGen/AArch64/selectopt.ll
    A llvm/test/CodeGen/AArch64/shuffle-select.ll
    M llvm/test/CodeGen/AArch64/sincos-stack-slots.ll
    A llvm/test/CodeGen/AArch64/sme-agnostic-za.ll
    M llvm/test/CodeGen/AArch64/sme-disable-gisel-fisel.ll
    A llvm/test/CodeGen/AArch64/sme2-fp8-intrinsics-mla.ll
    A llvm/test/CodeGen/AArch64/sme2-intrinsics-fp8-fdot.ll
    A llvm/test/CodeGen/AArch64/sme2-intrinsics-fp8-fvdot.ll
    M llvm/test/CodeGen/AArch64/sme2-intrinsics-int-dots.ll
    M llvm/test/CodeGen/AArch64/sme2-intrinsics-vdot.ll
    M llvm/test/CodeGen/AArch64/stack-tagging-ex-2.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-vector.ll
    M llvm/test/CodeGen/AArch64/sve-fixed-length-int-reduce.ll
    M llvm/test/CodeGen/AArch64/sve-int-reduce.ll
    A llvm/test/CodeGen/AArch64/sve-load-store-strict-align.ll
    M llvm/test/CodeGen/AArch64/sve-split-int-reduce.ll
    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-reduce.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-reductions.ll
    M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-splat-vector.ll
    A llvm/test/CodeGen/AArch64/sve-unaligned-load-store-strict-align.ll
    M llvm/test/CodeGen/AArch64/sve-vecreduce-dot.ll
    M llvm/test/CodeGen/AArch64/uaddlv-vaddlp-combine.ll
    M llvm/test/CodeGen/AArch64/ucmp.ll
    M llvm/test/CodeGen/AArch64/vec-combine-compare-to-bitmask.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-umax-legalization.ll

  Log Message:
  -----------
  Merge branch 'main' into users/meinersbur/flang_runtime_move-files


  Commit: efd929efa589d863611473b99c3249c9d0f3f5ed
      https://github.com/llvm/llvm-project/commit/efd929efa589d863611473b99c3249c9d0f3f5ed
  Author: David Spickett <david.spickett at linaro.org>
  Date:   2025-01-06 (Mon, 06 Jan 2025)

  Changed paths:
    A libclc/Maintainers.md
    M llvm/Maintainers.md

  Log Message:
  -----------
  [libclc] Add Maintainers.md for libclc (#118309)

This adds a Maintainers.md files to libclc. Recently I needed to find a
libclc maintainer and I had no idea there was one listed in llvm/
instead of in libclc/.


  Commit: b0c0a148dbad9f4d9a2e855deec05669269d30c7
      https://github.com/llvm/llvm-project/commit/b0c0a148dbad9f4d9a2e855deec05669269d30c7
  Author: David Spickett <david.spickett at linaro.org>
  Date:   2025-01-06 (Mon, 06 Jan 2025)

  Changed paths:
    M lldb/docs/use/map.rst

  Log Message:
  -----------
  [lldb][Docs] Add equivalents of GDB's "skip" to command map (#120740)

https://sourceware.org/gdb/current/onlinedocs/gdb.html/Skipping-Over-Functions-and-Files.html

We can't emulate all the features of that command but we can skip a
function by name with some extra steps.

As far as I know this only matches function name unlike GDB that can
filter on file and line and so on:
```
target.process.thread.step-avoid-regexp -- A regular expression defining functions step-in won't stop in.
```
It's likely it's got some corner cases that don't work, maybe inlining,
but it doesn't seem worth going into it here.

I don't think we can chain lldb interpreter commands, so I have shown
the steps separately.

I have also mentioned `thread step-in` and its alias `sif`. Which were
new to me too.


  Commit: 7a62a3a8dc91cb5bfebccac3fe509af009383799
      https://github.com/llvm/llvm-project/commit/7a62a3a8dc91cb5bfebccac3fe509af009383799
  Author: Nikita Popov <npopov at redhat.com>
  Date:   2025-01-06 (Mon, 06 Jan 2025)

  Changed paths:
    M llvm/Maintainers.md

  Log Message:
  -----------
  [LLVM] Fix formatting mistakes in Maintainers.md (NFC)


  Commit: 6b81e746bff0c59bfa20fc490c852376092adc1c
      https://github.com/llvm/llvm-project/commit/6b81e746bff0c59bfa20fc490c852376092adc1c
  Author: Nikita Popov <npopov at redhat.com>
  Date:   2025-01-06 (Mon, 06 Jan 2025)

  Changed paths:
    M llvm/Maintainers.md

  Log Message:
  -----------
  [LLVM] Update AliasAnalysis maintainers (#120447)

Currently hfinkel is listed as the AliasAnalysis maintainer, but I
believe he hasn't been actively working on LLVM in the last couple of
years, so I'd like to update this information.

I'd like to nominate fhahn and myself as the new maintainers for AA.
While here, I'd also like to nominate alinas as the maintainer for
MemorySSA.


  Commit: 2a593bbcf3b022a4ac11a76e03883d6aae2f000c
      https://github.com/llvm/llvm-project/commit/2a593bbcf3b022a4ac11a76e03883d6aae2f000c
  Author: Vlad Serebrennikov <serebrennikov.vladislav at gmail.com>
  Date:   2025-01-06 (Mon, 06 Jan 2025)

  Changed paths:
    M clang/test/CXX/drs/cwg29xx.cpp

  Log Message:
  -----------
  [clang][NFC] Stop testing CWG2917 in C++98 mode


  Commit: eff126501efc3981727ef0e918c4dca0fa2eb778
      https://github.com/llvm/llvm-project/commit/eff126501efc3981727ef0e918c4dca0fa2eb778
  Author: Vlad Serebrennikov <serebrennikov.vladislav at gmail.com>
  Date:   2025-01-06 (Mon, 06 Jan 2025)

  Changed paths:
    M clang/test/CXX/drs/cwg0xx.cpp
    M clang/test/CXX/drs/cwg14xx.cpp
    M clang/test/CXX/drs/cwg18xx.cpp
    M clang/test/CXX/drs/cwg1xx.cpp
    M clang/test/CXX/drs/cwg2335.cpp
    M clang/test/CXX/drs/cwg23xx.cpp
    M clang/test/CXX/drs/cwg24xx.cpp
    M clang/test/CXX/drs/cwg25xx.cpp
    M clang/test/CXX/drs/cwg26xx.cpp
    M clang/test/CXX/drs/cwg28xx.cpp
    M clang/test/CXX/drs/cwg29xx.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/cwg6xx.cpp

  Log Message:
  -----------
  [clang][NFC] Fix expected directives in C++ DRs

If directive is put inside `#if __cplusplus`, it should reflect the condition, instead of being generic `expected`.


  Commit: 3c8344f7ba7e33febb93dec40374d55119c8571b
      https://github.com/llvm/llvm-project/commit/3c8344f7ba7e33febb93dec40374d55119c8571b
  Author: Amara Emerson <amara at apple.com>
  Date:   2025-01-06 (Mon, 06 Jan 2025)

  Changed paths:
    M compiler-rt/cmake/builtin-config-ix.cmake

  Log Message:
  -----------
  [AArch64][SME] Fix broken compiler check for SME2 support in compiler-rt (#121625)

This compile time test uses inline asm with `.arch` directives to set
the target feature. It is however broken and always fails, since each
`asm()` construct in LLVM sets up a new AsmParser, and therefore the
`.arch` directive has no effect on later `asm()` contents. To fix this
we need to use a single inline `asm()` call with the entire code chunk
to emit contained inside.


  Commit: 0b73b5af60f2c544892b9dd68b4fa43eeff52fc1
      https://github.com/llvm/llvm-project/commit/0b73b5af60f2c544892b9dd68b4fa43eeff52fc1
  Author: Jack Styles <jack.styles at arm.com>
  Date:   2025-01-06 (Mon, 06 Jan 2025)

  Changed paths:
    M llvm/lib/Target/AArch64/AArch64PointerAuth.cpp
    M llvm/test/CodeGen/AArch64/machine-outliner-retaddr-sign-cfi.ll
    M llvm/test/CodeGen/AArch64/machine-outliner-retaddr-sign-diff-scope-same-key.ll
    M llvm/test/CodeGen/AArch64/machine-outliner-retaddr-sign-non-leaf.ll
    M llvm/test/CodeGen/AArch64/machine-outliner-retaddr-sign-regsave.mir
    M llvm/test/CodeGen/AArch64/machine-outliner-retaddr-sign-same-scope-diff-key.ll
    M llvm/test/CodeGen/AArch64/machine-outliner-retaddr-sign-sp-mod.mir
    M llvm/test/CodeGen/AArch64/machine-outliner-retaddr-sign-subtarget.ll
    M llvm/test/CodeGen/AArch64/machine-outliner-retaddr-sign-thunk.ll
    M llvm/test/CodeGen/AArch64/pacbti-llvm-generated-funcs-2.ll
    M llvm/test/CodeGen/AArch64/sign-return-address-cfi-negate-ra-state.ll
    M llvm/test/CodeGen/AArch64/sign-return-address-pauth-lr.ll
    M llvm/test/CodeGen/AArch64/sign-return-address.ll
    M llvm/test/CodeGen/MIR/AArch64/return-address-signing.mir

  Log Message:
  -----------
  [AArch64] Correct position of CFI Instruction for Pointer Authentication (#121559)

As part #112171, support for FEAT_PAuthLR's CFI instructions was added.
However, the CFI instructions are emitted in the incorrect location. This
leads to incorrect CodeGen being generated and possible issues when
running a program. According to the ABI, the CFI instructions should be
emitted before the signing instruction. This is now done properly.

ABI information can be found here:
https://github.com/ARM-software/abi-aa/blob/bf0e2c8047c70987165f3e05e571d7836370ade9/aadwarf64/aadwarf64.rst#44call-frame-instructions


  Commit: 9e4774b934a26489e0e3ae60def3aefb5c73edd3
      https://github.com/llvm/llvm-project/commit/9e4774b934a26489e0e3ae60def3aefb5c73edd3
  Author: Owen Pan <owenpiano at gmail.com>
  Date:   2025-01-06 (Mon, 06 Jan 2025)

  Changed paths:
    M clang/lib/Format/TokenAnnotator.cpp
    M clang/lib/Format/TokenAnnotator.h
    M clang/unittests/Format/TokenAnnotatorTest.cpp

  Log Message:
  -----------
  [clang-format] Add LT_RequiresExpression and LT_SimpleRequirement (#121681)

The new line types help to annotate */&/&& in simple requirements as
binary operators.

Fixes #121675.


  Commit: f6bfbc87779ef2079e9b1356ac21381659f13fbb
      https://github.com/llvm/llvm-project/commit/f6bfbc87779ef2079e9b1356ac21381659f13fbb
  Author: Oleksandr "Alex" Zinenko <git at ozinenko.com>
  Date:   2025-01-06 (Mon, 06 Jan 2025)

  Changed paths:
    M mlir/lib/Dialect/Transform/IR/TransformOps.cpp

  Log Message:
  -----------
  [mlir] flush output in transform.print (#121382)

Print operations are often used for debugging, immediately before the
compiler aborts. In such cases, it is sometimes possible that the output
isn't fully produced yet. Make sure it is by explicitly flushing the
output.


  Commit: 3c5f2698b02ae3cec13551226f083984ab41f0f3
      https://github.com/llvm/llvm-project/commit/3c5f2698b02ae3cec13551226f083984ab41f0f3
  Author: Vlad Serebrennikov <serebrennikov.vladislav at gmail.com>
  Date:   2025-01-06 (Mon, 06 Jan 2025)

  Changed paths:
    M clang/test/CXX/drs/cwg0xx.cpp
    M clang/test/CXX/drs/cwg18xx.cpp
    M clang/test/CXX/drs/cwg21xx.cpp
    M clang/test/CXX/drs/cwg6xx.cpp

  Log Message:
  -----------
  [clang][NFC] Stop using atypical compiler arguments in C++ DR tests


  Commit: 8e1b49c38edc667b0d740f19b24c9796b948c274
      https://github.com/llvm/llvm-project/commit/8e1b49c38edc667b0d740f19b24c9796b948c274
  Author: Nicholas Guy <nicholas.guy at arm.com>
  Date:   2025-01-06 (Mon, 06 Jan 2025)

  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
    M llvm/test/CodeGen/AArch64/complex-deinterleaving-crash.ll

  Log Message:
  -----------
  Complex deinterleaving/single reductions build fix Reapply "Add support for single reductions in ComplexDeinterleavingPass (#112875)"  (#120441)

This reverts commit 76714be5fd4ace66dd9e19ce706c2e2149dd5716, fixing the
build failure that caused the revert.

The failure stemmed from the complex deinterleaving pass identifying a
series of add operations as a "complex to single reduction", so when it
tried to transform this erroneously identified pattern, it faulted. The
fix applied is to ensure that complex numbers (or patterns that match
them) are used throughout, by checking if there is a deinterleave node
amidst the graph.


  Commit: 909dca1e550657211e56c410862011d9aa572264
      https://github.com/llvm/llvm-project/commit/909dca1e550657211e56c410862011d9aa572264
  Author: Michael Kruse <llvm-project at meinersbur.de>
  Date:   2025-01-06 (Mon, 06 Jan 2025)

  Changed paths:
    R flang-rt/lib/CufRuntime/CMakeLists.txt
    R flang-rt/lib/CufRuntime/allocatable.cpp
    R flang-rt/lib/CufRuntime/allocator.cpp
    R flang-rt/lib/CufRuntime/descriptor.cpp
    R flang-rt/lib/CufRuntime/kernel.cpp
    R flang-rt/lib/CufRuntime/memory.cpp
    R flang-rt/lib/CufRuntime/registration.cpp
    M flang-rt/lib/flang_rt/CMakeLists.txt
    A flang-rt/lib/flang_rt/CUDA/CMakeLists.txt
    A flang-rt/lib/flang_rt/CUDA/allocatable.cpp
    A flang-rt/lib/flang_rt/CUDA/allocator.cpp
    A flang-rt/lib/flang_rt/CUDA/descriptor.cpp
    A flang-rt/lib/flang_rt/CUDA/kernel.cpp
    A flang-rt/lib/flang_rt/CUDA/memory.cpp
    A flang-rt/lib/flang_rt/CUDA/registration.cpp

  Log Message:
  -----------
  CufRuntime -> flang_rt/CUDA


  Commit: a3fff3a14daefd99760f4a848985b6e971ff4496
      https://github.com/llvm/llvm-project/commit/a3fff3a14daefd99760f4a848985b6e971ff4496
  Author: David Sherwood <david.sherwood at arm.com>
  Date:   2025-01-06 (Mon, 06 Jan 2025)

  Changed paths:
    M llvm/test/Transforms/LoopVectorize/AArch64/arith-fp-frem-costs.ll

  Log Message:
  -----------
  [LoopVectorize][NFC] Fix arith-fp-frem-costs.ll test to use new vplan cost model (#120742)


  Commit: 3a7a9c928671adc17046acc3a25e2d9bd5c80fcc
      https://github.com/llvm/llvm-project/commit/3a7a9c928671adc17046acc3a25e2d9bd5c80fcc
  Author: Dhruv Srivastava <dhruv.srivastava at ibm.com>
  Date:   2025-01-06 (Mon, 06 Jan 2025)

  Changed paths:
    A lldb/include/lldb/Host/aix/HostInfoAIX.h
    M lldb/source/Host/CMakeLists.txt
    A lldb/source/Host/aix/HostInfoAIX.cpp

  Log Message:
  -----------
  [lldb][AIX] HostInfoAIX Support  (#117906)

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 a HostInfoAIX file for the AIX platform. 
Most of the common functionalities are handled by the parent
HostInfoPosix now,
So we just have some basic functions implemented here.


  Commit: d3b77a960dd9edf34a9143003ee2813926c31a7e
      https://github.com/llvm/llvm-project/commit/d3b77a960dd9edf34a9143003ee2813926c31a7e
  Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
  Date:   2025-01-06 (Mon, 06 Jan 2025)

  Changed paths:
    M llvm/utils/gn/secondary/lldb/source/Host/BUILD.gn

  Log Message:
  -----------
  [gn build] Port 3a7a9c928671


  Commit: 1feeeb47e56f8551dcd813fbb987bec628970f0d
      https://github.com/llvm/llvm-project/commit/1feeeb47e56f8551dcd813fbb987bec628970f0d
  Author: David Sherwood <david.sherwood at arm.com>
  Date:   2025-01-06 (Mon, 06 Jan 2025)

  Changed paths:
    M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp

  Log Message:
  -----------
  [LoopVectorize][NFC] Move "LV: Selecting VF" debug output (#120744)

Move the debug output that prints out the selected VF from
selectVectorizationFactor -> computeBestVF. This means that the output
will still be written even after removing the assert for the legacy and
vplan cost models matching.


  Commit: 31340457399d218c27a7a74770eb9fa03e6ae92b
      https://github.com/llvm/llvm-project/commit/31340457399d218c27a7a74770eb9fa03e6ae92b
  Author: James Chesterman <James.Chesterman at arm.com>
  Date:   2025-01-06 (Mon, 06 Jan 2025)

  Changed paths:
    M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
    M llvm/test/CodeGen/AArch64/neon-partial-reduce-dot-product.ll
    M llvm/test/CodeGen/AArch64/sve-partial-reduce-dot-product.ll

  Log Message:
  -----------
  [AArch64][SVE] Add dot product codegen for partial reductions with no binary operation on input (#120207)

Add codegen for when the input type has 4 times as many elements as the
output type and the input to the partial reduction does not have a
binary operation performed on it.


  Commit: a13bcf3ced35b0df89ac13670690b4482052e47f
      https://github.com/llvm/llvm-project/commit/a13bcf3ced35b0df89ac13670690b4482052e47f
  Author: Alejandro Álvarez Ayllón <alejandro.alvarez at sonarsource.com>
  Date:   2025-01-06 (Mon, 06 Jan 2025)

  Changed paths:
    M clang/lib/Serialization/ASTWriter.cpp
    A clang/test/Modules/missing-body-in-import.cpp

  Log Message:
  -----------
  [clang] Do not serialize function definitions without a body (#121550)

An instantiated templated function definition may not have a body due to
parsing errors inside the templated function. When serializing, an
assert is triggered inside `ASTRecordWriter::AddFunctionDefinition`.

The instantiation may happen on an intermediate module.

The test case was reduced from `mp-units`.


  Commit: 599c73990532333e62edf8ba19a5302b543f976f
      https://github.com/llvm/llvm-project/commit/599c73990532333e62edf8ba19a5302b543f976f
  Author: Matthias Springer <me at m-sp.org>
  Date:   2025-01-06 (Mon, 06 Jan 2025)

  Changed paths:
    M flang/lib/Optimizer/CodeGen/CodeGen.cpp
    M mlir/examples/toy/Ch7/mlir/LowerToLLVM.cpp
    M mlir/include/mlir/Conversion/ControlFlowToLLVM/ControlFlowToLLVM.h
    M mlir/lib/Conversion/ControlFlowToLLVM/ControlFlowToLLVM.cpp
    M mlir/lib/Conversion/GPUCommon/GPUOpsLowering.cpp
    M mlir/lib/Conversion/GPUCommon/GPUOpsLowering.h
    M mlir/lib/Conversion/GPUToNVVM/LowerGpuOpsToNVVMOps.cpp
    M mlir/lib/Conversion/GPUToROCDL/LowerGpuOpsToROCDLOps.cpp
    M mlir/lib/Conversion/OpenMPToLLVM/OpenMPToLLVM.cpp
    M mlir/test/Conversion/GPUToNVVM/gpu-to-nvvm.mlir
    A mlir/test/Integration/GPU/CUDA/assert.mlir

  Log Message:
  -----------
  [mlir][GPU] Add NVVM-specific `cf.assert` lowering (#120431)

This commit add an NVIDIA-specific lowering of `cf.assert` to to
`__assertfail`.

Note: `getUniqueFormatGlobalName`, `getOrCreateFormatStringConstant` and
`getOrDefineFunction` are moved to `GPUOpsLowering.h`, so that they can
be reused.


  Commit: 4df366cd8080851f83628cedf85f9f84c2db317d
      https://github.com/llvm/llvm-project/commit/4df366cd8080851f83628cedf85f9f84c2db317d
  Author: Mats Petersson <mats.petersson at arm.com>
  Date:   2025-01-06 (Mon, 06 Jan 2025)

  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/Semantics/check-omp-structure.cpp
    M flang/lib/Semantics/check-omp-structure.h
    A flang/test/Lower/OpenMP/Todo/omp-declarative-allocate-align.f90
    A flang/test/Parser/OpenMP/allocate-align-tree.f90
    M flang/test/Parser/OpenMP/allocate-unparse.f90
    A flang/test/Semantics/OpenMP/allocate-align01.f90
    M llvm/include/llvm/Frontend/OpenMP/OMP.td

  Log Message:
  -----------
  [FLANG][OpenMP]Add support for ALIGN clause on OMP ALLOCATE (#120791)

This is trivially additional support for the existing ALLOCATE
directive, which allows an ALIGN clause.

The ALLOCATE directive is currently not implemented, so this is just
addding the necessary parser parts to allow the compiler to not say
"Huh? I don't get this" [or "Expected OpenMP construct"] when it
encounters the ALIGN clause.

Some parser testing is updated and a new todo test, just in case the
feature of align clause is not supported by the initial support for
ALLOCATE.


  Commit: ad03bebc7801de13315c30a76f0afb479725413f
      https://github.com/llvm/llvm-project/commit/ad03bebc7801de13315c30a76f0afb479725413f
  Author: Michael Kruse <llvm-project at meinersbur.de>
  Date:   2025-01-06 (Mon, 06 Jan 2025)

  Changed paths:
    M .github/workflows/build-ci-container.yml
    M .github/workflows/new-issues.yml
    M .github/workflows/release-binaries.yml
    M clang/docs/ClangFormatStyleOptions.rst
    M clang/docs/LanguageExtensions.rst
    M clang/docs/LibASTMatchersReference.html
    M clang/docs/ReleaseNotes.rst
    M clang/include/clang/ASTMatchers/ASTMatchers.h
    M clang/include/clang/Basic/Builtins.h
    M clang/include/clang/Basic/BuiltinsBase.td
    R clang/include/clang/Basic/BuiltinsX86.def
    M clang/include/clang/Basic/BuiltinsX86.td
    A clang/include/clang/Basic/BuiltinsX86Base.td
    R clang/include/clang/Basic/BuiltinsX86_64.def
    A clang/include/clang/Basic/BuiltinsX86_64.td
    M clang/include/clang/Basic/CMakeLists.txt
    M clang/include/clang/Basic/TargetBuiltins.h
    M clang/include/clang/Driver/Options.td
    M clang/include/clang/Format/Format.h
    M clang/include/clang/Sema/Sema.h
    M clang/include/clang/Sema/Template.h
    M clang/lib/AST/ASTContext.cpp
    M clang/lib/AST/ByteCode/InterpBuiltin.cpp
    M clang/lib/AST/ExprConstant.cpp
    M clang/lib/ASTMatchers/ASTMatchersInternal.cpp
    M clang/lib/ASTMatchers/Dynamic/Registry.cpp
    M clang/lib/Basic/Builtins.cpp
    M clang/lib/Basic/Targets/X86.cpp
    M clang/lib/CodeGen/CGHLSLRuntime.cpp
    M clang/lib/CodeGen/CGHLSLRuntime.h
    M clang/lib/Driver/ToolChains/Clang.cpp
    M clang/lib/Driver/ToolChains/MinGW.cpp
    M clang/lib/Format/AffectedRangeManager.cpp
    M clang/lib/Format/AffectedRangeManager.h
    M clang/lib/Format/Format.cpp
    M clang/lib/Format/FormatToken.h
    M clang/lib/Format/FormatTokenLexer.cpp
    M clang/lib/Format/TokenAnnotator.cpp
    M clang/lib/Format/TokenAnnotator.h
    M clang/lib/Format/UnwrappedLineFormatter.cpp
    M clang/lib/Format/UnwrappedLineParser.cpp
    M clang/lib/Format/UnwrappedLineParser.h
    M clang/lib/Sema/SemaConcept.cpp
    M clang/lib/Sema/SemaInit.cpp
    M clang/lib/Sema/SemaTemplate.cpp
    M clang/lib/Sema/SemaTemplateDeduction.cpp
    M clang/lib/Sema/SemaTemplateDeductionGuide.cpp
    M clang/lib/Sema/SemaTemplateInstantiate.cpp
    M clang/lib/Sema/TreeTransform.h
    M clang/lib/Serialization/ASTWriter.cpp
    M clang/test/Analysis/embed.c
    M clang/test/CXX/drs/cwg0xx.cpp
    M clang/test/CXX/drs/cwg10xx.cpp
    M clang/test/CXX/drs/cwg118.cpp
    M clang/test/CXX/drs/cwg11xx.cpp
    M clang/test/CXX/drs/cwg12xx.cpp
    M clang/test/CXX/drs/cwg13xx.cpp
    M clang/test/CXX/drs/cwg14xx.cpp
    M clang/test/CXX/drs/cwg158.cpp
    M clang/test/CXX/drs/cwg15xx.cpp
    M clang/test/CXX/drs/cwg16xx.cpp
    M clang/test/CXX/drs/cwg1748.cpp
    M clang/test/CXX/drs/cwg177x.cpp
    M clang/test/CXX/drs/cwg17xx.cpp
    M clang/test/CXX/drs/cwg1807.cpp
    M clang/test/CXX/drs/cwg18xx.cpp
    M clang/test/CXX/drs/cwg19xx.cpp
    M clang/test/CXX/drs/cwg1xx.cpp
    M clang/test/CXX/drs/cwg20xx.cpp
    M clang/test/CXX/drs/cwg21xx.cpp
    M clang/test/CXX/drs/cwg22xx.cpp
    M clang/test/CXX/drs/cwg2335.cpp
    A clang/test/CXX/drs/cwg2353.cpp
    M clang/test/CXX/drs/cwg23xx.cpp
    M clang/test/CXX/drs/cwg24xx.cpp
    M clang/test/CXX/drs/cwg2504.cpp
    M clang/test/CXX/drs/cwg25xx.cpp
    M clang/test/CXX/drs/cwg26xx.cpp
    M clang/test/CXX/drs/cwg2771.cpp
    M clang/test/CXX/drs/cwg27xx.cpp
    M clang/test/CXX/drs/cwg28xx.cpp
    M clang/test/CXX/drs/cwg29xx.cpp
    M clang/test/CXX/drs/cwg2xx.cpp
    M clang/test/CXX/drs/cwg3xx.cpp
    M clang/test/CXX/drs/cwg492.cpp
    M clang/test/CXX/drs/cwg4xx.cpp
    M clang/test/CXX/drs/cwg571.cpp
    A clang/test/CXX/drs/cwg593.cpp
    M clang/test/CXX/drs/cwg5xx.cpp
    M clang/test/CXX/drs/cwg6xx.cpp
    M clang/test/CXX/drs/cwg722.cpp
    M clang/test/CXX/drs/cwg7xx.cpp
    M clang/test/CXX/drs/cwg8xx.cpp
    M clang/test/CXX/drs/cwg9xx.cpp
    R clang/test/CXX/drs/cwgr593.cpp
    M clang/test/CXX/expr/expr.prim/expr.prim.req/nested-requirement.cpp
    M clang/test/CXX/temp/temp.constr/temp.constr.atomic/constrant-satisfaction-conversions.cpp
    M clang/test/CodeGenHLSL/semantics/SV_GroupID.hlsl
    M clang/test/Driver/clang_f_opts.c
    M clang/test/Driver/mingw.cpp
    M clang/test/Driver/print-supported-extensions-riscv.c
    M clang/test/Driver/spirv-openmp-toolchain.c
    A clang/test/Modules/missing-body-in-import.cpp
    M clang/test/OpenMP/irbuilder_simd_aligned.cpp
    M clang/test/Preprocessor/riscv-target-features.c
    M clang/test/SemaCXX/concept-crash-on-diagnostic.cpp
    M clang/test/SemaCXX/cxx20-ctad-type-alias.cpp
    M clang/test/SemaCXX/cxx23-assume.cpp
    M clang/test/SemaCXX/cxx2c-fold-exprs.cpp
    M clang/test/SemaCXX/lambda-unevaluated.cpp
    M clang/test/SemaTemplate/concepts-recursive-inst.cpp
    M clang/test/SemaTemplate/cxx2a-constraint-exprs.cpp
    M clang/test/SemaTemplate/deduction-guide.cpp
    M clang/test/SemaTemplate/nested-implicit-deduction-guides.cpp
    M clang/unittests/AST/ASTImporterTest.cpp
    M clang/unittests/ASTMatchers/ASTMatchersNarrowingTest.cpp
    M clang/unittests/ASTMatchers/ASTMatchersNodeTest.cpp
    M clang/unittests/Format/ConfigParseTest.cpp
    M clang/unittests/Format/FormatTest.cpp
    M clang/unittests/Format/TokenAnnotatorTest.cpp
    M clang/utils/TableGen/ClangBuiltinsEmitter.cpp
    M clang/www/cxx_dr_status.html
    M clang/www/make_cxx_dr_status
    M compiler-rt/cmake/builtin-config-ix.cmake
    M compiler-rt/lib/rtsan/rtsan_interceptors_posix.cpp
    M compiler-rt/lib/rtsan/tests/rtsan_test_interceptors_posix.cpp
    M flang/examples/FlangOmpReport/FlangOmpReportVisitor.cpp
    M flang/include/flang/Optimizer/Builder/CUFCommon.h
    M flang/include/flang/Optimizer/HLFIR/Passes.td
    M flang/include/flang/Parser/dump-parse-tree.h
    M flang/include/flang/Parser/parse-tree.h
    M flang/lib/Lower/Allocatable.cpp
    M flang/lib/Lower/Bridge.cpp
    M flang/lib/Lower/OpenMP/ClauseProcessor.cpp
    M flang/lib/Lower/OpenMP/OpenMP.cpp
    M flang/lib/Optimizer/Builder/CUFCommon.cpp
    M flang/lib/Optimizer/CodeGen/BoxedProcedure.cpp
    M flang/lib/Optimizer/CodeGen/CodeGen.cpp
    M flang/lib/Optimizer/HLFIR/Transforms/CMakeLists.txt
    A flang/lib/Optimizer/HLFIR/Transforms/InlineHLFIRAssign.cpp
    M flang/lib/Optimizer/HLFIR/Transforms/OptimizedBufferization.cpp
    M flang/lib/Optimizer/OpenMP/CMakeLists.txt
    M flang/lib/Optimizer/OpenMP/MapInfoFinalization.cpp
    M flang/lib/Optimizer/Passes/Pipelines.cpp
    M flang/lib/Optimizer/Transforms/AddDebugInfo.cpp
    M flang/lib/Parser/openmp-parsers.cpp
    M flang/lib/Parser/unparse.cpp
    M flang/lib/Semantics/canonicalize-omp.cpp
    M flang/lib/Semantics/check-allocate.cpp
    M flang/lib/Semantics/check-cuda.cpp
    M flang/lib/Semantics/check-omp-structure.cpp
    M flang/lib/Semantics/check-omp-structure.h
    M flang/test/Driver/mlir-pass-pipeline.f90
    M flang/test/Fir/basic-program.fir
    A flang/test/HLFIR/inline-hlfir-assign.fir
    M flang/test/HLFIR/maxloc-elemental.fir
    M flang/test/HLFIR/minloc-elemental.fir
    M flang/test/HLFIR/opt-bufferization-eval_in_mem.fir
    A flang/test/HLFIR/opt-bufferization-same-ptr-elemental.fir
    M flang/test/HLFIR/opt-bufferization.fir
    R flang/test/HLFIR/opt-variable-assign.fir
    A flang/test/Integration/debug-116525.f90
    M flang/test/Lower/CUDA/cuda-allocatable.cuf
    M flang/test/Lower/CUDA/cuda-pointer-sync.cuf
    M flang/test/Lower/OpenMP/Todo/error.f90
    A flang/test/Lower/OpenMP/Todo/omp-declarative-allocate-align.f90
    M flang/test/Lower/OpenMP/allocatable-array-bounds.f90
    M flang/test/Lower/OpenMP/array-bounds.f90
    M flang/test/Lower/OpenMP/derived-type-allocatable-map.f90
    A flang/test/Lower/OpenMP/local-intrinsic-sized-array-map.f90
    A flang/test/Parser/OpenMP/allocate-align-tree.f90
    M flang/test/Parser/OpenMP/allocate-unparse.f90
    M flang/test/Parser/OpenMP/error-unparse.f90
    A flang/test/Parser/OpenMP/nothing.f90
    A flang/test/Semantics/OpenMP/allocate-align01.f90
    A flang/test/Semantics/OpenMP/error.f90
    M flang/test/Semantics/cuf07.cuf
    M flang/test/Semantics/cuf09.cuf
    M flang/test/Transforms/omp-map-info-finalization.fir
    M libc/fuzzing/stdlib/CMakeLists.txt
    M libc/fuzzing/stdlib/heap_sort_fuzz.cpp
    R libc/fuzzing/stdlib/qsort_fuzz.cpp
    A libc/fuzzing/stdlib/quick_sort_fuzz.cpp
    M libc/shared/rpc_util.h
    M libc/src/math/generic/CMakeLists.txt
    M libc/src/math/generic/exp10f_impl.h
    M libc/src/math/generic/range_reduction_double_common.h
    M libc/src/math/generic/sincosf16_utils.h
    M libc/src/stdlib/heap_sort.h
    M libc/src/stdlib/qsort.cpp
    M libc/src/stdlib/qsort_data.h
    A libc/src/stdlib/qsort_pivot.h
    M libc/src/stdlib/qsort_r.cpp
    M libc/src/stdlib/qsort_util.h
    M libc/src/stdlib/quick_sort.h
    M libc/src/unistd/linux/dup2.cpp
    M libc/test/src/stdlib/CMakeLists.txt
    M libc/test/src/stdlib/SortingTest.h
    M libc/test/src/stdlib/heap_sort_test.cpp
    M libc/test/src/stdlib/qsort_r_test.cpp
    R libc/test/src/stdlib/qsort_test.cpp
    M libc/test/src/stdlib/quick_sort_test.cpp
    A libclc/Maintainers.md
    M libcxx/include/__ostream/basic_ostream.h
    M libcxx/include/__vector/vector_bool.h
    M lld/COFF/Driver.cpp
    M lld/COFF/InputFiles.cpp
    M lld/Common/BPSectionOrdererBase.cpp
    M lld/ELF/CallGraphSort.cpp
    M lld/ELF/CallGraphSort.h
    M lld/ELF/Driver.cpp
    M lld/ELF/InputSection.h
    M lld/ELF/Writer.cpp
    M lld/MachO/BPSectionOrderer.h
    M lld/MachO/SyntheticSections.cpp
    M lld/include/lld/Common/BPSectionOrdererBase.h
    M lld/test/COFF/cgprofile-obj.s
    A lld/test/COFF/linkrepro-thin-archives.s
    M lld/test/ELF/cgprofile-obj.s
    A lld/test/ELF/cgprofile-orderfile.s
    M lldb/docs/resources/formatterbytecode.rst
    M lldb/docs/use/map.rst
    M lldb/examples/python/formatter_bytecode.py
    A lldb/include/lldb/Host/aix/HostInfoAIX.h
    M lldb/source/DataFormatters/FormatterBytecode.cpp
    M lldb/source/DataFormatters/FormatterBytecode.def
    M lldb/source/Host/CMakeLists.txt
    A lldb/source/Host/aix/HostInfoAIX.cpp
    M lldb/unittests/DataFormatter/FormatterBytecodeTest.cpp
    M llvm/Maintainers.md
    M llvm/docs/ProgrammersManual.rst
    M llvm/docs/RISCVUsage.rst
    M llvm/docs/ReleaseNotes.md
    M llvm/docs/TableGen/BackEnds.rst
    M llvm/include/llvm/CodeGen/ComplexDeinterleavingPass.h
    M llvm/include/llvm/CodeGen/GlobalISel/LegalizerHelper.h
    M llvm/include/llvm/CodeGen/MachineMemOperand.h
    M llvm/include/llvm/ExecutionEngine/JITLink/loongarch.h
    M llvm/include/llvm/Frontend/OpenMP/OMP.td
    M llvm/include/llvm/IR/IRBuilder.h
    M llvm/include/llvm/IR/IntrinsicsSPIRV.td
    M llvm/include/llvm/IR/PassManager.h
    M llvm/include/llvm/IR/PatternMatch.h
    M llvm/include/llvm/TableGen/Record.h
    M llvm/lib/CodeGen/ComplexDeinterleavingPass.cpp
    M llvm/lib/CodeGen/ExpandMemCmp.cpp
    M llvm/lib/CodeGen/GlobalISel/LegalizerHelper.cpp
    M llvm/lib/CodeGen/MachineOperand.cpp
    M llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
    M llvm/lib/CodeGen/SelectionDAG/LegalizeVectorOps.cpp
    M llvm/lib/Frontend/OpenMP/OMPIRBuilder.cpp
    M llvm/lib/IR/ConstantsContext.h
    M llvm/lib/IR/IRBuilder.cpp
    M llvm/lib/ObjCopy/COFF/COFFObjcopy.cpp
    M llvm/lib/Object/WindowsMachineFlag.cpp
    M llvm/lib/TableGen/TGLexer.cpp
    M llvm/lib/TableGen/TGLexer.h
    M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
    M llvm/lib/Target/AArch64/AArch64PointerAuth.cpp
    M llvm/lib/Target/AArch64/AArch64TargetTransformInfo.cpp
    M llvm/lib/Target/AArch64/GISel/AArch64LegalizerInfo.cpp
    M llvm/lib/Target/AArch64/GISel/AArch64LegalizerInfo.h
    M llvm/lib/Target/AArch64/Utils/AArch64BaseInfo.cpp
    M llvm/lib/Target/AArch64/Utils/AArch64BaseInfo.h
    M llvm/lib/Target/AMDGPU/AMDGPUInstructionSelector.cpp
    M llvm/lib/Target/AMDGPU/AMDGPURegisterBankInfo.cpp
    M llvm/lib/Target/AMDGPU/AsmParser/AMDGPUAsmParser.cpp
    M llvm/lib/Target/AMDGPU/BUFInstructions.td
    M llvm/lib/Target/AMDGPU/Disassembler/AMDGPUDisassembler.cpp
    M llvm/lib/Target/AMDGPU/Disassembler/AMDGPUDisassembler.h
    M llvm/lib/Target/AMDGPU/MIMGInstructions.td
    M llvm/lib/Target/AMDGPU/SIISelLowering.cpp
    M llvm/lib/Target/AMDGPU/SIISelLowering.h
    M llvm/lib/Target/AMDGPU/SIInstructions.td
    M llvm/lib/Target/AMDGPU/SIRegisterInfo.td
    M llvm/lib/Target/AMDGPU/SMInstructions.td
    M llvm/lib/Target/AMDGPU/VOP1Instructions.td
    M llvm/lib/Target/AMDGPU/VOP3Instructions.td
    M llvm/lib/Target/AMDGPU/VOPCInstructions.td
    M llvm/lib/Target/ARM/ARMISelLowering.cpp
    M llvm/lib/Target/LoongArch/LoongArchInstrInfo.cpp
    M llvm/lib/Target/RISCV/AsmParser/RISCVAsmParser.cpp
    M llvm/lib/Target/RISCV/MCTargetDesc/RISCVBaseInfo.h
    M llvm/lib/Target/RISCV/MCTargetDesc/RISCVInstPrinter.cpp
    M llvm/lib/Target/RISCV/RISCVFeatures.td
    M llvm/lib/Target/RISCV/RISCVInsertVSETVLI.cpp
    M llvm/lib/Target/RISCV/RISCVSystemOperands.td
    M llvm/lib/Target/RISCV/RISCVVLOptimizer.cpp
    M llvm/lib/Target/SPIRV/SPIRVInstructionSelector.cpp
    M llvm/lib/Target/X86/X86ISelLowering.cpp
    M llvm/lib/Target/X86/X86ISelLowering.h
    M llvm/lib/Target/X86/X86InstrAVX10.td
    M llvm/lib/Target/X86/X86InstrFragmentsSIMD.td
    M llvm/lib/TargetParser/Host.cpp
    M llvm/lib/ToolDrivers/llvm-lib/LibDriver.cpp
    M llvm/lib/Transforms/AggressiveInstCombine/AggressiveInstCombine.cpp
    M llvm/lib/Transforms/InstCombine/InstCombineAddSub.cpp
    M llvm/lib/Transforms/InstCombine/InstCombineAndOrXor.cpp
    M llvm/lib/Transforms/InstCombine/InstCombineCalls.cpp
    M llvm/lib/Transforms/InstCombine/InstCombineCasts.cpp
    M llvm/lib/Transforms/InstCombine/InstCombineCompares.cpp
    M llvm/lib/Transforms/InstCombine/InstCombineMulDivRem.cpp
    M llvm/lib/Transforms/InstCombine/InstCombineSelect.cpp
    M llvm/lib/Transforms/InstCombine/InstructionCombining.cpp
    M llvm/lib/Transforms/Utils/EntryExitInstrumenter.cpp
    M llvm/lib/Transforms/Utils/SimplifyCFG.cpp
    M llvm/lib/Transforms/Utils/SimplifyLibCalls.cpp
    M llvm/lib/Transforms/Vectorize/LoopVectorizationPlanner.h
    M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
    M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
    M llvm/lib/Transforms/Vectorize/VPlan.cpp
    M llvm/lib/Transforms/Vectorize/VPlan.h
    M llvm/lib/Transforms/Vectorize/VPlanPatternMatch.h
    M llvm/lib/Transforms/Vectorize/VPlanRecipes.cpp
    M llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
    M llvm/lib/Transforms/Vectorize/VectorCombine.cpp
    M llvm/test/Analysis/CostModel/RISCV/rvv-cmp.ll
    A llvm/test/Analysis/CostModel/RISCV/rvv-fcmp-f16.ll
    M llvm/test/CodeGen/AArch64/GlobalISel/legalize-bitcast.mir
    A llvm/test/CodeGen/AArch64/GlobalISel/legalize-store-vector-bools.mir
    A llvm/test/CodeGen/AArch64/complex-deinterleaving-cdot.ll
    M llvm/test/CodeGen/AArch64/complex-deinterleaving-crash.ll
    M llvm/test/CodeGen/AArch64/machine-licm-hoist-load.ll
    M llvm/test/CodeGen/AArch64/machine-outliner-retaddr-sign-cfi.ll
    M llvm/test/CodeGen/AArch64/machine-outliner-retaddr-sign-diff-scope-same-key.ll
    M llvm/test/CodeGen/AArch64/machine-outliner-retaddr-sign-non-leaf.ll
    M llvm/test/CodeGen/AArch64/machine-outliner-retaddr-sign-regsave.mir
    M llvm/test/CodeGen/AArch64/machine-outliner-retaddr-sign-same-scope-diff-key.ll
    M llvm/test/CodeGen/AArch64/machine-outliner-retaddr-sign-sp-mod.mir
    M llvm/test/CodeGen/AArch64/machine-outliner-retaddr-sign-subtarget.ll
    M llvm/test/CodeGen/AArch64/machine-outliner-retaddr-sign-thunk.ll
    M llvm/test/CodeGen/AArch64/memcmp.ll
    M llvm/test/CodeGen/AArch64/neon-partial-reduce-dot-product.ll
    M llvm/test/CodeGen/AArch64/pacbti-llvm-generated-funcs-2.ll
    M llvm/test/CodeGen/AArch64/sign-return-address-cfi-negate-ra-state.ll
    M llvm/test/CodeGen/AArch64/sign-return-address-pauth-lr.ll
    M llvm/test/CodeGen/AArch64/sign-return-address.ll
    M llvm/test/CodeGen/AArch64/sve-partial-reduce-dot-product.ll
    R llvm/test/CodeGen/AMDGPU/GlobalISel/dynamic-alloca-divergent.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/inst-select-amdgcn.fcmp.constants.w32.mir
    M llvm/test/CodeGen/AMDGPU/GlobalISel/inst-select-amdgcn.fcmp.constants.w64.mir
    M llvm/test/CodeGen/AMDGPU/GlobalISel/regbankselect-dyn-stackalloc.mir
    M llvm/test/CodeGen/AMDGPU/dynamic_stackalloc.ll
    M llvm/test/CodeGen/AMDGPU/fmax3.ll
    M llvm/test/CodeGen/AMDGPU/fmin3.ll
    M llvm/test/CodeGen/AMDGPU/fract-match.ll
    M llvm/test/CodeGen/AMDGPU/inline-asm.i128.ll
    A llvm/test/CodeGen/AMDGPU/issue121601-combine-concat-vectors-assumes-f16.ll
    M llvm/test/CodeGen/AMDGPU/llvm.cos.f16.ll
    M llvm/test/CodeGen/AMDGPU/llvm.frexp.ll
    M llvm/test/CodeGen/AMDGPU/llvm.rint.f16.ll
    M llvm/test/CodeGen/AMDGPU/llvm.sin.f16.ll
    M llvm/test/CodeGen/AMDGPU/llvm.trunc.f16.ll
    M llvm/test/CodeGen/LoongArch/psabi-restricted-scheduling.ll
    M llvm/test/CodeGen/MIR/AArch64/return-address-signing.mir
    M llvm/test/CodeGen/PowerPC/memcmp.ll
    M llvm/test/CodeGen/PowerPC/memcmpIR.ll
    M llvm/test/CodeGen/RISCV/attributes.ll
    M llvm/test/CodeGen/RISCV/features-info.ll
    M llvm/test/CodeGen/RISCV/memcmp-optsize.ll
    M llvm/test/CodeGen/RISCV/memcmp.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-shuffle-exact-vlen.ll
    M llvm/test/CodeGen/RISCV/rvv/vfwmacc-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/vfwmsac-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/vfwnmacc-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/vfwnmsac-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/vl-opt-op-info.mir
    M llvm/test/CodeGen/RISCV/rvv/vsitofp-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/vuitofp-vp.ll
    A llvm/test/CodeGen/SPIRV/hlsl-intrinsics/SV_GroupID.ll
    M llvm/test/CodeGen/Thumb2/bf16-instructions.ll
    M llvm/test/CodeGen/X86/2011-06-03-x87chain.ll
    M llvm/test/CodeGen/X86/2020_12_02_decrementing_loop.ll
    M llvm/test/CodeGen/X86/AMX/amx-combine-undef.ll
    M llvm/test/CodeGen/X86/AMX/lat-combine-amx-bitcast.ll
    M llvm/test/CodeGen/X86/AMX/lat-transform-amx-bitcast.ll
    M llvm/test/CodeGen/X86/StackColoring.ll
    M llvm/test/CodeGen/X86/asm-label.ll
    M llvm/test/CodeGen/X86/avx-select.ll
    A llvm/test/CodeGen/X86/avx10_2_512fptosi_satcvtds.ll
    M llvm/test/CodeGen/X86/avx10_2fptosi_satcvtds.ll
    M llvm/test/CodeGen/X86/avx512-i1test.ll
    M llvm/test/CodeGen/X86/block-placement.ll
    M llvm/test/CodeGen/X86/clobber_frame_ptr.ll
    M llvm/test/CodeGen/X86/codegen-prepare-replacephi.mir
    M llvm/test/CodeGen/X86/codegen-prepare-replacephi2.mir
    M llvm/test/CodeGen/X86/combine-concatvectors.ll
    M llvm/test/CodeGen/X86/crash.ll
    M llvm/test/CodeGen/X86/domain-reassignment-test.ll
    M llvm/test/CodeGen/X86/fast-isel-cmp-branch.ll
    M llvm/test/CodeGen/X86/fold-vector-shuffle-crash.ll
    M llvm/test/CodeGen/X86/hoist-spill.ll
    M llvm/test/CodeGen/X86/implicit-null-checks.mir
    M llvm/test/CodeGen/X86/interval-update-remat.ll
    M llvm/test/CodeGen/X86/jump_sign.ll
    M llvm/test/CodeGen/X86/loop-strength-reduce-crash.ll
    M llvm/test/CodeGen/X86/lsr-crash-empty-uses.ll
    M llvm/test/CodeGen/X86/lsr-delayed-fold.ll
    M llvm/test/CodeGen/X86/machine-trace-metrics-crash.ll
    M llvm/test/CodeGen/X86/memcmp-more-load-pairs-x32.ll
    M llvm/test/CodeGen/X86/memcmp-more-load-pairs.ll
    M llvm/test/CodeGen/X86/memcmp-optsize-x32.ll
    M llvm/test/CodeGen/X86/memcmp-optsize.ll
    M llvm/test/CodeGen/X86/memcmp-pgso-x32.ll
    M llvm/test/CodeGen/X86/memcmp-pgso.ll
    M llvm/test/CodeGen/X86/memcmp-x32.ll
    M llvm/test/CodeGen/X86/memcmp.ll
    M llvm/test/CodeGen/X86/merge-vector-stores-scale-idx-crash.ll
    M llvm/test/CodeGen/X86/misched-crash.ll
    M llvm/test/CodeGen/X86/pr10475.ll
    A llvm/test/CodeGen/X86/pr107423.ll
    M llvm/test/CodeGen/X86/pr11998.ll
    M llvm/test/CodeGen/X86/pr32108.ll
    M llvm/test/CodeGen/X86/pr50254.ll
    M llvm/test/CodeGen/X86/pr57673.ll
    M llvm/test/CodeGen/X86/ragreedy-hoist-spill.ll
    M llvm/test/CodeGen/X86/shift-combine.ll
    M llvm/test/CodeGen/X86/shuffle-combine-crash.ll
    M llvm/test/CodeGen/X86/stackmap.ll
    M llvm/test/CodeGen/X86/swifterror.ll
    M llvm/test/CodeGen/X86/switch.ll
    M llvm/test/CodeGen/X86/tail-merge-unreachable.ll
    M llvm/test/CodeGen/X86/unreachable-loop-sinking.ll
    M llvm/test/CodeGen/X86/update-terminator.mir
    M llvm/test/CodeGen/X86/vec_saddo.ll
    M llvm/test/CodeGen/X86/vec_ssubo.ll
    M llvm/test/CodeGen/X86/vec_uaddo.ll
    M llvm/test/CodeGen/X86/vec_usubo.ll
    M llvm/test/CodeGen/X86/vector-shuffle-combining-avx512bwvl.ll
    M llvm/test/CodeGen/X86/x86-shrink-wrapping.ll
    M llvm/test/ExecutionEngine/JITLink/x86-64/COFF_comdat_weak_plus_strong.s
    M llvm/test/ExecutionEngine/JITLink/x86-64/MachO-check-dwarf-filename.s
    M llvm/test/MC/AMDGPU/gfx10_asm_mimg_err.s
    A llvm/test/MC/AMDGPU/gfx10_asm_mtbuf_err.s
    A llvm/test/MC/AMDGPU/gfx10_asm_mubuf_err.s
    M llvm/test/MC/AMDGPU/gfx10_asm_smem.s
    A llvm/test/MC/AMDGPU/gfx10_asm_smem_err.s
    M llvm/test/MC/AMDGPU/gfx11_asm_mimg_err.s
    A llvm/test/MC/AMDGPU/gfx11_asm_mtbuf_err.s
    A llvm/test/MC/AMDGPU/gfx11_asm_mubuf_err.s
    M llvm/test/MC/AMDGPU/gfx11_asm_smem.s
    A llvm/test/MC/AMDGPU/gfx11_asm_smem_err.s
    M llvm/test/MC/AMDGPU/gfx11_asm_vop1.s
    M llvm/test/MC/AMDGPU/gfx11_asm_vop1_dpp16.s
    M llvm/test/MC/AMDGPU/gfx11_asm_vop1_dpp8.s
    M llvm/test/MC/AMDGPU/gfx11_asm_vop1_t16_err.s
    M llvm/test/MC/AMDGPU/gfx11_asm_vop1_t16_promote.s
    M llvm/test/MC/AMDGPU/gfx11_asm_vop3_dpp16_from_vop1.s
    M llvm/test/MC/AMDGPU/gfx11_asm_vop3_dpp8_from_vop1.s
    M llvm/test/MC/AMDGPU/gfx11_asm_vop3_from_vop1.s
    M llvm/test/MC/AMDGPU/gfx12_asm_mimg_err.s
    M llvm/test/MC/AMDGPU/gfx12_asm_smem.s
    A llvm/test/MC/AMDGPU/gfx12_asm_smem_err.s
    A llvm/test/MC/AMDGPU/gfx12_asm_vbuffer_mtbuf_err.s
    A llvm/test/MC/AMDGPU/gfx12_asm_vbuffer_mubuf_err.s
    M llvm/test/MC/AMDGPU/gfx12_asm_vop1.s
    M llvm/test/MC/AMDGPU/gfx12_asm_vop1_dpp16.s
    M llvm/test/MC/AMDGPU/gfx12_asm_vop1_dpp8.s
    M llvm/test/MC/AMDGPU/gfx12_asm_vop1_t16_err.s
    M llvm/test/MC/AMDGPU/gfx12_asm_vop1_t16_promote.s
    M llvm/test/MC/AMDGPU/gfx12_asm_vop3.s
    M llvm/test/MC/AMDGPU/gfx12_asm_vop3_aliases.s
    M llvm/test/MC/AMDGPU/gfx12_asm_vop3_dpp16.s
    M llvm/test/MC/AMDGPU/gfx12_asm_vop3_dpp8.s
    M llvm/test/MC/AMDGPU/gfx12_asm_vop3_from_vop1.s
    M llvm/test/MC/AMDGPU/gfx12_asm_vop3_from_vop1_dpp16.s
    M llvm/test/MC/AMDGPU/gfx12_asm_vop3_from_vop1_dpp8.s
    M llvm/test/MC/AsmParser/macro-def-in-instantiation.s
    A llvm/test/MC/AsmParser/macro-nesting.s
    M llvm/test/MC/Disassembler/AMDGPU/gfx10_smem.txt
    M llvm/test/MC/Disassembler/AMDGPU/gfx11_dasm_smem.txt
    M llvm/test/MC/Disassembler/AMDGPU/gfx11_dasm_vop1.txt
    M llvm/test/MC/Disassembler/AMDGPU/gfx11_dasm_vop1_dpp16.txt
    M llvm/test/MC/Disassembler/AMDGPU/gfx11_dasm_vop1_dpp8.txt
    M llvm/test/MC/Disassembler/AMDGPU/gfx11_dasm_vop3_dpp16_from_vop1.txt
    M llvm/test/MC/Disassembler/AMDGPU/gfx11_dasm_vop3_dpp8_from_vop1.txt
    M llvm/test/MC/Disassembler/AMDGPU/gfx11_dasm_vop3_from_vop1.txt
    M llvm/test/MC/Disassembler/AMDGPU/gfx12_dasm_smem.txt
    M llvm/test/MC/Disassembler/AMDGPU/gfx12_dasm_vop1_dpp16.txt
    M llvm/test/MC/Disassembler/AMDGPU/gfx12_dasm_vop1_dpp8.txt
    M llvm/test/MC/Disassembler/AMDGPU/gfx12_dasm_vop3.txt
    M llvm/test/MC/Disassembler/AMDGPU/gfx12_dasm_vop3_dpp16.txt
    M llvm/test/MC/Disassembler/AMDGPU/gfx12_dasm_vop3_dpp8.txt
    M llvm/test/MC/Disassembler/AMDGPU/gfx12_dasm_vop3_from_vop1.txt
    M llvm/test/MC/Disassembler/AMDGPU/gfx12_dasm_vop3_from_vop1_dpp16.txt
    M llvm/test/MC/Disassembler/AMDGPU/gfx12_dasm_vop3_from_vop1_dpp8.txt
    M llvm/test/MC/RISCV/attribute-arch.s
    M llvm/test/MC/RISCV/machine-csr-names.s
    M llvm/test/TableGen/GlobalISelEmitter/gisel-physreg-input.td
    M llvm/test/TableGen/GlobalISelEmitter/undef-tied-input.td
    M llvm/test/Transforms/EntryExitInstrumenter/mcount.ll
    M llvm/test/Transforms/ExpandMemCmp/AArch64/memcmp.ll
    M llvm/test/Transforms/ExpandMemCmp/X86/memcmp-x32.ll
    M llvm/test/Transforms/ExpandMemCmp/X86/memcmp.ll
    M llvm/test/Transforms/GCOVProfiling/exit-block.ll
    M llvm/test/Transforms/InstCombine/copysign.ll
    M llvm/test/Transforms/InstCombine/icmp-gep.ll
    M llvm/test/Transforms/InstCombine/opaque-ptr.ll
    M llvm/test/Transforms/InstCombine/overflow.ll
    M llvm/test/Transforms/InstCombine/rem-mul-shl.ll
    M llvm/test/Transforms/InstCombine/select-cmp-cttz-ctlz.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/arith-fp-frem-costs.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/call-costs.ll
    M llvm/test/Transforms/LoopVectorize/RISCV/low-trip-count.ll
    M llvm/test/Transforms/LoopVectorize/RISCV/short-trip-count.ll
    M llvm/test/Transforms/LoopVectorize/RISCV/truncate-to-minimal-bitwidth-cost.ll
    M llvm/test/Transforms/LoopVectorize/RISCV/vectorize-force-tail-with-evl-call-intrinsics.ll
    M llvm/test/Transforms/LoopVectorize/SystemZ/pr47665.ll
    M llvm/test/Transforms/LoopVectorize/SystemZ/scalar-steps-with-users-demanding-all-lanes-and-first-lane-only.ll
    M llvm/test/Transforms/LoopVectorize/X86/constant-fold.ll
    A llvm/test/Transforms/LoopVectorize/X86/drop-inbounds-flags-for-reverse-vector-pointer.ll
    A llvm/test/Transforms/LoopVectorize/X86/induction-step.ll
    M llvm/test/Transforms/LoopVectorize/X86/pr34438.ll
    M llvm/test/Transforms/LoopVectorize/debugloc-optimize-vfuf-term.ll
    M llvm/test/Transforms/LoopVectorize/dereferenceable-info-from-assumption-constant-size.ll
    M llvm/test/Transforms/LoopVectorize/first-order-recurrence.ll
    M llvm/test/Transforms/LoopVectorize/induction-step.ll
    M llvm/test/Transforms/LoopVectorize/preserve-dbg-loc-and-loop-metadata.ll
    M llvm/test/Transforms/LoopVectorize/vector-loop-backedge-elimination.ll
    M llvm/test/Transforms/LoopVectorize/version-stride-with-integer-casts.ll
    M llvm/test/Transforms/LoopVectorize/vplan-printing-before-execute.ll
    M llvm/test/Transforms/PhaseOrdering/X86/hadd.ll
    M llvm/test/Transforms/PhaseOrdering/X86/pr50392.ll
    M llvm/test/Transforms/VectorCombine/X86/extract-binop-inseltpoison.ll
    M llvm/test/Transforms/VectorCombine/X86/load-inseltpoison.ll
    A llvm/test/tools/llvm-lib/Inputs/mips.ll
    A llvm/test/tools/llvm-lib/infer-machine.test
    A llvm/test/tools/llvm-lib/machine-opt.test
    A llvm/test/tools/llvm-objcopy/COFF/Inputs/i386-debug-rdata.yaml
    A llvm/test/tools/llvm-objcopy/COFF/only-keep-debug-rdata.test
    M llvm/unittests/Frontend/OpenMPIRBuilderTest.cpp
    M llvm/unittests/TargetParser/RISCVISAInfoTest.cpp
    M llvm/utils/TableGen/Common/GlobalISel/GlobalISelMatchTable.cpp
    M llvm/utils/TableGen/Common/GlobalISel/GlobalISelMatchTable.h
    M llvm/utils/TableGen/GlobalISelEmitter.cpp
    M llvm/utils/gn/secondary/clang/include/clang/Basic/BUILD.gn
    M llvm/utils/gn/secondary/clang/lib/Basic/BUILD.gn
    M llvm/utils/gn/secondary/lldb/source/Host/BUILD.gn
    M llvm/utils/gn/secondary/llvm/utils/TableGen/BUILD.gn
    M llvm/utils/gn/secondary/llvm/utils/TableGen/Basic/BUILD.gn
    M llvm/utils/gn/secondary/llvm/utils/TableGen/Common/BUILD.gn
    M mlir/cmake/modules/AddMLIRPython.cmake
    M mlir/docs/DialectConversion.md
    M mlir/docs/Tutorials/Toy/Ch-2.md
    M mlir/examples/toy/Ch7/mlir/LowerToLLVM.cpp
    M mlir/include/mlir/Conversion/ControlFlowToLLVM/ControlFlowToLLVM.h
    M mlir/include/mlir/Dialect/Affine/IR/AffineOps.td
    M mlir/include/mlir/IR/Dominance.h
    M mlir/include/mlir/Target/LLVMIR/ModuleImport.h
    M mlir/include/mlir/Transforms/DialectConversion.h
    M mlir/lib/Conversion/ControlFlowToLLVM/ControlFlowToLLVM.cpp
    M mlir/lib/Conversion/GPUCommon/GPUOpsLowering.cpp
    M mlir/lib/Conversion/GPUCommon/GPUOpsLowering.h
    M mlir/lib/Conversion/GPUToNVVM/LowerGpuOpsToNVVMOps.cpp
    M mlir/lib/Conversion/GPUToROCDL/LowerGpuOpsToROCDLOps.cpp
    M mlir/lib/Conversion/LLVMCommon/TypeConverter.cpp
    M mlir/lib/Conversion/OpenMPToLLVM/OpenMPToLLVM.cpp
    M mlir/lib/Dialect/Affine/IR/AffineOps.cpp
    M mlir/lib/Dialect/Arith/IR/ArithOps.cpp
    M mlir/lib/Dialect/ArmSVE/Transforms/LegalizeForLLVMExport.cpp
    M mlir/lib/Dialect/EmitC/Transforms/TypeConversions.cpp
    M mlir/lib/Dialect/LLVMIR/IR/LLVMAttrs.cpp
    M mlir/lib/Dialect/Linalg/Transforms/Detensorize.cpp
    M mlir/lib/Dialect/Linalg/Transforms/Transforms.cpp
    M mlir/lib/Dialect/Quant/Transforms/StripFuncQuantTypes.cpp
    M mlir/lib/Dialect/SCF/IR/SCF.cpp
    M mlir/lib/Dialect/SparseTensor/Transforms/Utils/SparseTensorDescriptor.cpp
    M mlir/lib/Dialect/Tensor/IR/TensorOps.cpp
    M mlir/lib/Dialect/Transform/IR/TransformOps.cpp
    M mlir/lib/Dialect/Vector/Transforms/VectorLinearize.cpp
    M mlir/lib/IR/Dominance.cpp
    M mlir/lib/Target/LLVMIR/Dialect/OpenMP/OpenMPToLLVMIRTranslation.cpp
    M mlir/lib/Target/LLVMIR/ModuleImport.cpp
    M mlir/lib/Transforms/Utils/DialectConversion.cpp
    M mlir/python/mlir/dialects/transform/structured.py
    M mlir/test/Conversion/GPUToNVVM/gpu-to-nvvm.mlir
    M mlir/test/Dialect/Affine/canonicalize.mlir
    M mlir/test/Dialect/Arith/canonicalize.mlir
    M mlir/test/Dialect/Linalg/decompose-tensor-unpack-tile.mlir
    M mlir/test/Dialect/Linalg/decompose-tensor-unpack.mlir
    A mlir/test/Dialect/Linalg/td/decompose-unpack.mlir
    M mlir/test/Dialect/SCF/canonicalize.mlir
    M mlir/test/Dialect/Tensor/canonicalize.mlir
    M mlir/test/Dialect/Tensor/invalid.mlir
    A mlir/test/Integration/GPU/CUDA/assert.mlir
    M mlir/test/Target/LLVMIR/Import/import-failure.ll
    M mlir/test/Target/LLVMIR/Import/instructions.ll
    A mlir/test/Target/LLVMIR/omptarget-threadprivate-device-lowering.mlir
    A mlir/test/Target/LLVMIR/openmp-simd-aligned.mlir
    M mlir/test/Target/LLVMIR/openmp-todo.mlir
    M mlir/test/Transforms/test-legalizer.mlir
    M mlir/test/lib/Dialect/Func/TestDecomposeCallGraphTypes.cpp
    M mlir/test/lib/Dialect/Test/TestPatterns.cpp
    M mlir/test/lib/Transforms/TestDialectConversion.cpp
    M mlir/test/python/dialects/transform_structured_ext.py
    A offload/test/offloading/fortran/target-map-local-intrinisc-sized-param.f90
    A offload/test/offloading/fortran/target-with-threadprivate.f90
    M utils/bazel/llvm-project-overlay/clang/BUILD.bazel
    M utils/bazel/llvm-project-overlay/libc/BUILD.bazel
    M utils/bazel/llvm-project-overlay/libc/test/src/stdlib/BUILD.bazel
    M utils/bazel/llvm-project-overlay/llvm/BUILD.bazel

  Log Message:
  -----------
  Merge branch 'main' into users/meinersbur/flang_runtime_move-files


  Commit: e4e2f5369301d0965343406089d63ddfba4c08d0
      https://github.com/llvm/llvm-project/commit/e4e2f5369301d0965343406089d63ddfba4c08d0
  Author: Benjamin Maxwell <benjamin.maxwell at arm.com>
  Date:   2025-01-06 (Mon, 06 Jan 2025)

  Changed paths:
    M clang/include/clang/Basic/Builtins.td
    M clang/lib/CodeGen/CGBuiltin.cpp
    A clang/test/CodeGen/AArch64/sincos.c
    M clang/test/CodeGen/X86/math-builtins.c
    M clang/test/OpenMP/declare_simd_aarch64.c

  Log Message:
  -----------
  [clang] Add sincos builtin using `llvm.sincos` intrinsic (#114086)

This registers `sincos[f|l]` as a clang builtin and updates GCBuiltin to
emit the `llvm.sincos.*` intrinsic when `-fno-math-errno` is set. Note:
`llvm.sincos.*` is only emitted by `__builtin_sincos[f|l]` functions in
this initial patch.


  Commit: ef2afa1e83fad5f813e5d12f4a88acbaf8cf85fe
      https://github.com/llvm/llvm-project/commit/ef2afa1e83fad5f813e5d12f4a88acbaf8cf85fe
  Author: Nikolas Klauser <nikolasklauser at berlin.de>
  Date:   2025-01-06 (Mon, 06 Jan 2025)

  Changed paths:
    M libcxx/include/__type_traits/unwrap_ref.h
    M libcxx/include/__utility/pair.h
    M libcxx/include/tuple

  Log Message:
  -----------
  [libc++] Simplify unwrap_ref_decay a bit (#121623)


  Commit: b359c84f3ad68457048740b3d259258d3722eeed
      https://github.com/llvm/llvm-project/commit/b359c84f3ad68457048740b3d259258d3722eeed
  Author: Luke Lau <luke at igalia.com>
  Date:   2025-01-06 (Mon, 06 Jan 2025)

  Changed paths:
    M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
    M llvm/test/CodeGen/RISCV/add_sext_shl_constant.ll
    M llvm/test/CodeGen/RISCV/add_shl_constant.ll

  Log Message:
  -----------
  [RISCV] Don't commute with shift if it would break sh{1,2,3}add pattern (#119527)

This fixes a regression from #101294 by checking if we might be
clobbering a sh{1,2,3}add pattern.

Only do this is the underlying add isn't going to be folded away into an
address offset.


  Commit: 3bd494dfa6d520e25dc03047c92f28c121293a75
      https://github.com/llvm/llvm-project/commit/3bd494dfa6d520e25dc03047c92f28c121293a75
  Author: Dhruv Srivastava <dhruv.srivastava at ibm.com>
  Date:   2025-01-06 (Mon, 06 Jan 2025)

  Changed paths:
    M lldb/source/Host/posix/DomainSocket.cpp

  Log Message:
  -----------
  [lldb][POSIX] Replace bzero with memset in domain socket code (#121747)

Replace `bzero` with the standard `memset` so that it is common to all platforms.


  Commit: 266bb4971b7cb8481bf9f3aa7a9fbba08ec89d98
      https://github.com/llvm/llvm-project/commit/266bb4971b7cb8481bf9f3aa7a9fbba08ec89d98
  Author: staz <alyystaz at gmail.com>
  Date:   2025-01-06 (Mon, 06 Jan 2025)

  Changed paths:
    M polly/docs/UsingPollyWithClang.rst

  Log Message:
  -----------
  [docs] fix grammar mistake (#121695)

Fix a grammar mistake in Polly docs.

Co-authored-by: hstk30-hw <hanwei62 at huawei.com>


  Commit: c8532ccfdc0776bba576f4285c64acbb9879d9dd
      https://github.com/llvm/llvm-project/commit/c8532ccfdc0776bba576f4285c64acbb9879d9dd
  Author: Michael Kruse <llvm-project at meinersbur.de>
  Date:   2025-01-06 (Mon, 06 Jan 2025)

  Changed paths:
    A flang-rt/lib/flang_rt/CUDA/memmove-function.cpp

  Log Message:
  -----------
  restore memmove-function.cpp


  Commit: 648e256e541d6421eca72df733f888787485bda8
      https://github.com/llvm/llvm-project/commit/648e256e541d6421eca72df733f888787485bda8
  Author: Arseniy Zaostrovnykh <necto.ne at gmail.com>
  Date:   2025-01-06 (Mon, 06 Jan 2025)

  Changed paths:
    M clang/include/clang/StaticAnalyzer/Core/PathSensitive/SymExpr.h
    M clang/include/clang/StaticAnalyzer/Core/PathSensitive/SymbolManager.h
    M clang/lib/StaticAnalyzer/Core/SymbolManager.cpp
    M clang/test/Analysis/dump_egraph.cpp
    M clang/test/Analysis/expr-inspection-printState-diseq-info.c
    M clang/test/Analysis/expr-inspection-printState-eq-classes.c
    M clang/test/Analysis/ptr-arith.cpp
    M clang/test/Analysis/symbol-simplification-disequality-info.cpp
    M clang/test/Analysis/symbol-simplification-fixpoint-one-iteration.cpp
    M clang/test/Analysis/symbol-simplification-fixpoint-two-iterations.cpp
    M clang/test/Analysis/unary-sym-expr.c

  Log Message:
  -----------
  Reapply "[clang][analyzer] Stable order for SymbolRef-keyed containers" (#121749)

Generalize the SymbolIDs used for SymbolData to all SymExprs and use
these IDs for comparison SymbolRef keys in various containers, such as
ConstraintMap. These IDs are superior to raw pointer values because they
are more controllable and are not randomized across executions (unlike
[pointers](https://en.wikipedia.org/wiki/Address_space_layout_randomization)).

These IDs order is stable across runs because SymExprs are allocated in
the same order.

Stability of the constraint order is important for the stability of the
analyzer results. I evaluated this change on a set of 200+ open-source C
and C++ projects with the total number of ~78 000 symbolic-execution
issues passing Z3 refutation.

This patch reduced the run-to-run churn (flakiness) in SE issues from
80-90 to 30-40 (out of 78K) in our CSA deployment (in our setting flaky
issues are mostly due to Z3 refutation instability).

Note, most of the issue churn (flakiness) is caused by the mentioned Z3
refutation. With Z3 refutation disabled, issue churn goes down to ~10
issues out of 83K and this patch has no effect on appearing/disappearing
issues between runs. It however, seems to reduce the volatility of the
execution flow: before we had 40-80 issues with changed execution flow,
after - 10-30.

Importantly, this change is necessary for the next step in stabilizing
analysis results by caching Z3 query outcomes between analysis runs
(work in progress).

Across our admittedly noisy CI runs, I detected no significant effect on
memory footprint or analysis time.

This PR reapplies https://github.com/llvm/llvm-project/pull/121551 with
a fix to a g++ compiler error reported on some build bots

CPP-5919


  Commit: d8d4c187619098ee7b0497b4f40311e3ee1f9259
      https://github.com/llvm/llvm-project/commit/d8d4c187619098ee7b0497b4f40311e3ee1f9259
  Author: Kerry McLaughlin <kerry.mclaughlin at arm.com>
  Date:   2025-01-06 (Mon, 06 Jan 2025)

  Changed paths:
    M clang/include/clang/Basic/DiagnosticFrontendKinds.td
    M clang/lib/CodeGen/Targets/AArch64.cpp
    M clang/test/CodeGen/AArch64/sme-inline-callees-streaming-attrs.c
    M clang/test/CodeGen/AArch64/sme-inline-streaming-attrs.c
    M llvm/lib/Target/AArch64/AArch64TargetTransformInfo.cpp
    M llvm/test/Transforms/Inline/AArch64/sme-pstateza-attrs.ll

  Log Message:
  -----------
  [AArch64][SME] Disable inlining of callees with new ZT0 state (#121338)

Inlining must be disabled for new-ZT0 callees as the callee is required
to save ZT0 and toggle PSTATE.ZA on entry.


  Commit: 9ce8f4b70b31b031ac9b4818a268bfc8c67a7a8e
      https://github.com/llvm/llvm-project/commit/9ce8f4b70b31b031ac9b4818a268bfc8c67a7a8e
  Author: Maksim Levental <maksim.levental at gmail.com>
  Date:   2025-01-06 (Mon, 06 Jan 2025)

  Changed paths:
    M mlir/include/mlir/IR/Dialect.h

  Log Message:
  -----------
  [mlir] DCE `friend Dialect::registerDialect` (#121728)


  Commit: fd6f8b3ce33cc2cbe378f8f1b391f3f40fa7bd54
      https://github.com/llvm/llvm-project/commit/fd6f8b3ce33cc2cbe378f8f1b391f3f40fa7bd54
  Author: Vikash Gupta <Vikash.Gupta at amd.com>
  Date:   2025-01-06 (Mon, 06 Jan 2025)

  Changed paths:
    M llvm/lib/Target/AMDGPU/AMDGPUCombine.td
    M llvm/lib/Target/AMDGPU/AMDGPUCombinerHelper.cpp
    M llvm/lib/Target/AMDGPU/AMDGPUCombinerHelper.h
    M llvm/lib/Target/AMDGPU/AMDGPUPostLegalizerCombiner.cpp
    M llvm/lib/Target/AMDGPU/AMDGPUPreLegalizerCombiner.cpp
    M llvm/test/CodeGen/AMDGPU/GlobalISel/fpow.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/llvm.powi.ll
    M llvm/test/CodeGen/AMDGPU/dagcombine-fmul-sel.ll
    M llvm/test/CodeGen/AMDGPU/fdiv_flags.f32.ll
    M llvm/test/CodeGen/AMDGPU/fmul-to-ldexp.ll
    M llvm/test/CodeGen/AMDGPU/fsqrt.f32.ll
    M llvm/test/CodeGen/AMDGPU/llvm.exp2.ll
    M llvm/test/CodeGen/AMDGPU/llvm.log.ll
    M llvm/test/CodeGen/AMDGPU/llvm.log10.ll
    M llvm/test/CodeGen/AMDGPU/llvm.log2.ll
    M llvm/test/CodeGen/AMDGPU/pseudo-scalar-transcendental.ll

  Log Message:
  -----------
  [AMDGPU] [GlobalIsel] Combine Fmul with Select into ldexp instruction. (#120104)

This combine pattern perform the below transformation.

fmul x, select(y, A, B)      -> fldexp (x, select i32 (y, a, b))
fmul x, select(y, -A, -B)   -> fldexp ((fneg x), select i32 (y, a, b))

where, A=2^a & B=2^b ; a and b are integers.

It is a follow-up PR to implement the above combine for globalIsel, as
the corresponding DAG combine has been done for SelectionDAG Isel
(#111109)


  Commit: 0c1cf753008f375169c4d3a113b7b4f1120dddba
      https://github.com/llvm/llvm-project/commit/0c1cf753008f375169c4d3a113b7b4f1120dddba
  Author: Maksim Levental <maksim.levental at gmail.com>
  Date:   2025-01-06 (Mon, 06 Jan 2025)

  Changed paths:
    M mlir/include/mlir/IR/OperationSupport.h

  Log Message:
  -----------
  [mlir] DCE `RegisteredOperationName::parseAssembly` decl (#121730)


  Commit: 67652a3d9fa80dcd940ce8863e32d0a274f7f8e1
      https://github.com/llvm/llvm-project/commit/67652a3d9fa80dcd940ce8863e32d0a274f7f8e1
  Author: Simon Pilgrim <llvm-dev at redking.me.uk>
  Date:   2025-01-06 (Mon, 06 Jan 2025)

  Changed paths:
    A llvm/test/Transforms/PhaseOrdering/X86/hsub.ll

  Log Message:
  -----------
  [PhaseOrdering][X86] Add horizontal-sub test coverage for #34072

Matches the existing horizontal-add tests, with the additional non-commutable constraint


  Commit: 3edbe36c3eb01d1c35ac1761da108e3a493258ee
      https://github.com/llvm/llvm-project/commit/3edbe36c3eb01d1c35ac1761da108e3a493258ee
  Author: Yihe Li <winmikedows at hotmail.com>
  Date:   2025-01-06 (Mon, 06 Jan 2025)

  Changed paths:
    M clang/lib/AST/Expr.cpp
    M clang/test/SemaCXX/warn-unused-result.cpp

  Log Message:
  -----------
  [clang] Fix missing check for nullptr in CallExpr::getUnusedResultAttr (#118636)

Fixes #117975, a regression introduced by #112521 due to forgetting
to check for `nullptr` before dereferencing in
`CallExpr::getUnusedResultAttr`.


  Commit: 8f17c908e3858c0a2a9b1bed3f6506fec3c6f910
      https://github.com/llvm/llvm-project/commit/8f17c908e3858c0a2a9b1bed3f6506fec3c6f910
  Author: Nico Weber <thakis at chromium.org>
  Date:   2025-01-06 (Mon, 06 Jan 2025)

  Changed paths:
    M clang/include/clang/Driver/Options.td
    M clang/test/Driver/cl-options.c

  Log Message:
  -----------
  [clang] Expose -f(no-)wrapv as clang-cl option (#120787)

Also move the -fno-wrapv option definition next to the -fwrapv one while
here.


  Commit: ae7cc78bcec45f1bd5415912e2f8bb205ff050ec
      https://github.com/llvm/llvm-project/commit/ae7cc78bcec45f1bd5415912e2f8bb205ff050ec
  Author: Michael Kruse <llvm-project at meinersbur.de>
  Date:   2025-01-06 (Mon, 06 Jan 2025)

  Changed paths:
    M clang/include/clang/Basic/Builtins.td
    M clang/include/clang/Basic/DiagnosticFrontendKinds.td
    M clang/include/clang/Driver/Options.td
    M clang/include/clang/StaticAnalyzer/Core/PathSensitive/SymExpr.h
    M clang/include/clang/StaticAnalyzer/Core/PathSensitive/SymbolManager.h
    M clang/lib/AST/Expr.cpp
    M clang/lib/CodeGen/CGBuiltin.cpp
    M clang/lib/CodeGen/Targets/AArch64.cpp
    M clang/lib/StaticAnalyzer/Core/SymbolManager.cpp
    M clang/test/Analysis/dump_egraph.cpp
    M clang/test/Analysis/expr-inspection-printState-diseq-info.c
    M clang/test/Analysis/expr-inspection-printState-eq-classes.c
    M clang/test/Analysis/ptr-arith.cpp
    M clang/test/Analysis/symbol-simplification-disequality-info.cpp
    M clang/test/Analysis/symbol-simplification-fixpoint-one-iteration.cpp
    M clang/test/Analysis/symbol-simplification-fixpoint-two-iterations.cpp
    M clang/test/Analysis/unary-sym-expr.c
    A clang/test/CodeGen/AArch64/sincos.c
    M clang/test/CodeGen/AArch64/sme-inline-callees-streaming-attrs.c
    M clang/test/CodeGen/AArch64/sme-inline-streaming-attrs.c
    M clang/test/CodeGen/X86/math-builtins.c
    M clang/test/Driver/cl-options.c
    M clang/test/OpenMP/declare_simd_aarch64.c
    M clang/test/SemaCXX/warn-unused-result.cpp
    M libcxx/include/__type_traits/unwrap_ref.h
    M libcxx/include/__utility/pair.h
    M libcxx/include/tuple
    M lldb/source/Host/posix/DomainSocket.cpp
    M llvm/lib/Target/AArch64/AArch64TargetTransformInfo.cpp
    M llvm/lib/Target/AMDGPU/AMDGPUCombine.td
    M llvm/lib/Target/AMDGPU/AMDGPUCombinerHelper.cpp
    M llvm/lib/Target/AMDGPU/AMDGPUCombinerHelper.h
    M llvm/lib/Target/AMDGPU/AMDGPUPostLegalizerCombiner.cpp
    M llvm/lib/Target/AMDGPU/AMDGPUPreLegalizerCombiner.cpp
    M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
    M llvm/test/CodeGen/AMDGPU/GlobalISel/fpow.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/llvm.powi.ll
    M llvm/test/CodeGen/AMDGPU/dagcombine-fmul-sel.ll
    M llvm/test/CodeGen/AMDGPU/fdiv_flags.f32.ll
    M llvm/test/CodeGen/AMDGPU/fmul-to-ldexp.ll
    M llvm/test/CodeGen/AMDGPU/fsqrt.f32.ll
    M llvm/test/CodeGen/AMDGPU/llvm.exp2.ll
    M llvm/test/CodeGen/AMDGPU/llvm.log.ll
    M llvm/test/CodeGen/AMDGPU/llvm.log10.ll
    M llvm/test/CodeGen/AMDGPU/llvm.log2.ll
    M llvm/test/CodeGen/AMDGPU/pseudo-scalar-transcendental.ll
    M llvm/test/CodeGen/RISCV/add_sext_shl_constant.ll
    M llvm/test/CodeGen/RISCV/add_shl_constant.ll
    M llvm/test/Transforms/Inline/AArch64/sme-pstateza-attrs.ll
    A llvm/test/Transforms/PhaseOrdering/X86/hsub.ll
    M mlir/include/mlir/IR/Dialect.h
    M mlir/include/mlir/IR/OperationSupport.h
    M polly/docs/UsingPollyWithClang.rst

  Log Message:
  -----------
  Merge branch 'main' into users/meinersbur/flang_runtime_move-files


Compare: https://github.com/llvm/llvm-project/compare/d65a4bcf0d76...ae7cc78bcec4

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