[all-commits] [llvm/llvm-project] 6aeffc: [TableGen] Add a backend generating SDNode descrip...

Krzysztof Parzyszek via All-commits all-commits at lists.llvm.org
Wed Jan 29 09:56:59 PST 2025


  Branch: refs/heads/users/kparzysz/spr/m03-meta-simple
  Home:   https://github.com/llvm/llvm-project
  Commit: 6aeffcdb913052e43335130e129e36babaa9b252
      https://github.com/llvm/llvm-project/commit/6aeffcdb913052e43335130e129e36babaa9b252
  Author: Sergei Barannikov <barannikov88 at gmail.com>
  Date:   2025-01-22 (Wed, 22 Jan 2025)

  Changed paths:
    M llvm/include/llvm/Target/TargetSelectionDAG.td
    A llvm/test/TableGen/SDNodeInfoEmitter/ambiguous-constraints.td
    A llvm/test/TableGen/SDNodeInfoEmitter/basic.td
    A llvm/test/TableGen/SDNodeInfoEmitter/namespace.td
    A llvm/test/TableGen/SDNodeInfoEmitter/skipped-nodes.td
    M llvm/utils/TableGen/CMakeLists.txt
    M llvm/utils/TableGen/Common/CodeGenDAGPatterns.cpp
    M llvm/utils/TableGen/Common/CodeGenDAGPatterns.h
    A llvm/utils/TableGen/SDNodeInfoEmitter.cpp

  Log Message:
  -----------
  [TableGen] Add a backend generating SDNode descriptions (#123002)

This patch adds a simplistic backend that gathers all target-specific
SelectionDAG nodes and emits descriptions for most of them.

This includes generating node enumeration, node names, and information
about node "prototype" that can be used to verify that a node is valid.

The patch also extends SDNode by adding target-specific flags, which are
also included in the generated tables.

Part of #119709,
[RFC](https://discourse.llvm.org/t/rfc-tablegen-erating-sdnode-descriptions/83627).

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


  Commit: 3630d9ef65b30af7e4ca78e668649bbc48b5be66
      https://github.com/llvm/llvm-project/commit/3630d9ef65b30af7e4ca78e668649bbc48b5be66
  Author: TiborGY <tibor.gyori at chem.u-szeged.hu>
  Date:   2025-01-22 (Wed, 22 Jan 2025)

  Changed paths:
    M llvm/lib/Transforms/Scalar/PartiallyInlineLibCalls.cpp
    M llvm/test/CodeGen/AArch64/O3-pipeline.ll
    M llvm/test/CodeGen/AMDGPU/llc-pipeline.ll
    M llvm/test/CodeGen/ARM/O3-pipeline.ll
    M llvm/test/CodeGen/LoongArch/opt-pipeline.ll
    M llvm/test/CodeGen/PowerPC/O3-pipeline.ll
    M llvm/test/CodeGen/RISCV/O3-pipeline.ll
    M llvm/test/CodeGen/X86/opt-pipeline.ll

  Log Message:
  -----------
  [PartiallyInlineLibCalls] Add infrastructure for emitting optimization remarks from PartiallyInlineLibCalls (#122654)

I am planning to add some optimization remarks to the
`PartiallyInlineLibCalls` pass. However, since this pass does not emit any 
optimization remarks yet, I have to add the "infrastructure" for that first, which 
is what this PR is about.


  Commit: 8fad58a6482c300c012ab30105f0ae0118081fcd
      https://github.com/llvm/llvm-project/commit/8fad58a6482c300c012ab30105f0ae0118081fcd
  Author: David CARLIER <devnexen at gmail.com>
  Date:   2025-01-22 (Wed, 22 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] process_vm_readv/process_vm_writev interception. (#123839)


  Commit: 1d23fb976bdcc263c48ed2f5186e5589fca3d267
      https://github.com/llvm/llvm-project/commit/1d23fb976bdcc263c48ed2f5186e5589fca3d267
  Author: Nathan Ridge <zeratul976 at hotmail.com>
  Date:   2025-01-22 (Wed, 22 Jan 2025)

  Changed paths:
    M clang/include/clang/Sema/SemaCodeCompletion.h
    M clang/lib/Sema/SemaCodeComplete.cpp
    M clang/test/CodeCompletion/member-access.cpp

  Log Message:
  -----------
  [clang][CodeComplete] Use HeuristicResolver to resolve pointee types (#121315)

Fixes https://github.com/clangd/clangd/issues/810


  Commit: ebb27ccb08e0579825a53b218ff5b2ddc492626a
      https://github.com/llvm/llvm-project/commit/ebb27ccb08e0579825a53b218ff5b2ddc492626a
  Author: Piotr Fusik <p.fusik at samsung.com>
  Date:   2025-01-22 (Wed, 22 Jan 2025)

  Changed paths:
    M llvm/lib/Target/RISCV/RISCVISelDAGToDAG.cpp
    M llvm/lib/Target/RISCV/RISCVInstrInfoZvk.td
    M llvm/test/CodeGen/RISCV/rvv/vandn-sdnode.ll
    M llvm/test/CodeGen/RISCV/rvv/vandn-vp.ll

  Log Message:
  -----------
  [RISCV] Select Zvkb VANDN for shorter constant loading sequences (#123345)

This extends PR #120221 to vector instructions.


  Commit: a88f31d7fe1aa71d2d59974b961e649c288b8dc7
      https://github.com/llvm/llvm-project/commit/a88f31d7fe1aa71d2d59974b961e649c288b8dc7
  Author: mconst <mconst at gmail.com>
  Date:   2025-01-22 (Wed, 22 Jan 2025)

  Changed paths:
    M llvm/lib/Target/X86/X86FrameLowering.cpp
    A llvm/test/CodeGen/X86/stack-clash-extra-huge.ll
    A llvm/test/CodeGen/X86/stack-clash-huge.ll

  Log Message:
  -----------
  [X86] Fix overflow with large stack probes on x86-64 (#113219)

When emitting an inline stack probe loop, we can't use SUBri to
calculate the loop bound if it doesn't fit in a 32-bit (possibly
sign-extended) immediate.

Fixes #113218.


  Commit: 830bd0e8f263c6efcfd37f38cc621b0476582b83
      https://github.com/llvm/llvm-project/commit/830bd0e8f263c6efcfd37f38cc621b0476582b83
  Author: Mats Jun Larsen <mats at jun.codes>
  Date:   2025-01-22 (Wed, 22 Jan 2025)

  Changed paths:
    M llvm/include/llvm/SandboxIR/Type.h
    M llvm/lib/SandboxIR/Type.cpp
    M llvm/unittests/SandboxIR/SandboxIRTest.cpp
    M llvm/unittests/SandboxIR/TypesTest.cpp

  Log Message:
  -----------
  [SandboxIR] Remove sandboxir::PointerType::get(Type) (#123885)

This was just an alias for getting the LLVM Context from the type.

We are in the process of removing the same function for the regular LLVM
type in https://github.com/llvm/llvm-project/issues/123569


  Commit: b7b9ccf44988edf49886743ae5c3cf4184db211f
      https://github.com/llvm/llvm-project/commit/b7b9ccf44988edf49886743ae5c3cf4184db211f
  Author: Robert O'Callahan <rocallahan at google.com>
  Date:   2025-01-22 (Wed, 22 Jan 2025)

  Changed paths:
    M lldb/include/lldb/API/SBProcess.h
    M lldb/include/lldb/Target/Process.h
    M lldb/include/lldb/Target/StopInfo.h
    M lldb/include/lldb/Target/Thread.h
    M lldb/include/lldb/Target/ThreadList.h
    M lldb/include/lldb/Target/ThreadPlan.h
    M lldb/include/lldb/Target/ThreadPlanBase.h
    M lldb/include/lldb/lldb-enumerations.h
    M lldb/packages/Python/lldbsuite/test/gdbclientutils.py
    A lldb/packages/Python/lldbsuite/test/lldbgdbproxy.py
    A lldb/packages/Python/lldbsuite/test/lldbreverse.py
    M lldb/packages/Python/lldbsuite/test/lldbtest.py
    M lldb/packages/Python/lldbsuite/test/tools/lldb-server/lldbgdbserverutils.py
    M lldb/source/API/SBProcess.cpp
    M lldb/source/API/SBThread.cpp
    M lldb/source/Interpreter/CommandInterpreter.cpp
    M lldb/source/Plugins/Process/Linux/NativeThreadLinux.cpp
    M lldb/source/Plugins/Process/MacOSX-Kernel/ProcessKDP.cpp
    M lldb/source/Plugins/Process/MacOSX-Kernel/ProcessKDP.h
    M lldb/source/Plugins/Process/Windows/Common/ProcessWindows.cpp
    M lldb/source/Plugins/Process/Windows/Common/ProcessWindows.h
    M lldb/source/Plugins/Process/gdb-remote/GDBRemoteCommunicationClient.cpp
    M lldb/source/Plugins/Process/gdb-remote/GDBRemoteCommunicationClient.h
    M lldb/source/Plugins/Process/gdb-remote/GDBRemoteCommunicationServerLLGS.cpp
    M lldb/source/Plugins/Process/gdb-remote/ProcessGDBRemote.cpp
    M lldb/source/Plugins/Process/gdb-remote/ProcessGDBRemote.h
    M lldb/source/Plugins/Process/scripted/ScriptedProcess.cpp
    M lldb/source/Plugins/Process/scripted/ScriptedProcess.h
    M lldb/source/Target/Process.cpp
    M lldb/source/Target/StopInfo.cpp
    M lldb/source/Target/Thread.cpp
    M lldb/source/Target/ThreadList.cpp
    M lldb/source/Target/ThreadPlanBase.cpp
    A lldb/test/API/functionalities/reverse-execution/Makefile
    A lldb/test/API/functionalities/reverse-execution/TestReverseContinueBreakpoints.py
    A lldb/test/API/functionalities/reverse-execution/TestReverseContinueNotSupported.py
    A lldb/test/API/functionalities/reverse-execution/TestReverseContinueWatchpoints.py
    A lldb/test/API/functionalities/reverse-execution/main.c
    M lldb/tools/lldb-dap/JSONUtils.cpp
    M lldb/tools/lldb-dap/LLDBUtils.cpp

  Log Message:
  -----------
  [lldb] Implement basic support for reverse-continue (#112079)

This commit adds support for a
`SBProcess::ContinueInDirection()` API. A user-accessible command for
this will follow in a later commit.

This feature depends on a gdbserver implementation (e.g. `rr`) providing
support for the `bc` and `bs` packets. `lldb-server` does not support
those packets, and there is no plan to change that. For testing
purposes, this commit adds a Python implementation of *very limited*
record-and-reverse-execute functionality, implemented as a proxy between
lldb and lldb-server in `lldbreverse.py`. This should not (and in
practice cannot) be used for anything except testing.

The tests here are quite minimal but we test that simple breakpoints and
watchpoints work as expected during reverse execution, and that
conditional breakpoints and watchpoints work when the condition calls a
function that must be executed in the forward direction.


  Commit: d839c06719128700bdd033361b20aa6899f6620a
      https://github.com/llvm/llvm-project/commit/d839c06719128700bdd033361b20aa6899f6620a
  Author: Kazu Hirata <kazu at google.com>
  Date:   2025-01-21 (Tue, 21 Jan 2025)

  Changed paths:
    M lldb/source/Target/Process.cpp

  Log Message:
  -----------
  [lldb] Avoid repeated map lookups (NFC) (#123892)


  Commit: 4c6242ebf50dde0597df2bace49d534b61122496
      https://github.com/llvm/llvm-project/commit/4c6242ebf50dde0597df2bace49d534b61122496
  Author: Michał Górny <mgorny at gentoo.org>
  Date:   2025-01-22 (Wed, 22 Jan 2025)

  Changed paths:
    M mlir/cmake/modules/AddMLIR.cmake
    M mlir/lib/CAPI/ExecutionEngine/CMakeLists.txt
    M mlir/lib/ExecutionEngine/CMakeLists.txt
    M mlir/lib/ExecutionEngine/SparseTensor/CMakeLists.txt
    M mlir/test/lib/Analysis/CMakeLists.txt
    M mlir/test/lib/Conversion/ConvertToSPIRV/CMakeLists.txt
    M mlir/test/lib/Conversion/FuncToLLVM/CMakeLists.txt
    M mlir/test/lib/Conversion/MathToVCIX/CMakeLists.txt
    M mlir/test/lib/Conversion/OneToNTypeConversion/CMakeLists.txt
    M mlir/test/lib/Conversion/VectorToSPIRV/CMakeLists.txt
    M mlir/test/lib/Dialect/Affine/CMakeLists.txt
    M mlir/test/lib/Dialect/Arith/CMakeLists.txt
    M mlir/test/lib/Dialect/ArmNeon/CMakeLists.txt
    M mlir/test/lib/Dialect/ArmSME/CMakeLists.txt
    M mlir/test/lib/Dialect/Bufferization/CMakeLists.txt
    M mlir/test/lib/Dialect/ControlFlow/CMakeLists.txt
    M mlir/test/lib/Dialect/DLTI/CMakeLists.txt
    M mlir/test/lib/Dialect/Func/CMakeLists.txt
    M mlir/test/lib/Dialect/GPU/CMakeLists.txt
    M mlir/test/lib/Dialect/LLVM/CMakeLists.txt
    M mlir/test/lib/Dialect/Linalg/CMakeLists.txt
    M mlir/test/lib/Dialect/Math/CMakeLists.txt
    M mlir/test/lib/Dialect/MemRef/CMakeLists.txt
    M mlir/test/lib/Dialect/Mesh/CMakeLists.txt
    M mlir/test/lib/Dialect/NVGPU/CMakeLists.txt
    M mlir/test/lib/Dialect/SCF/CMakeLists.txt
    M mlir/test/lib/Dialect/SPIRV/CMakeLists.txt
    M mlir/test/lib/Dialect/Shape/CMakeLists.txt
    M mlir/test/lib/Dialect/Tensor/CMakeLists.txt
    M mlir/test/lib/Dialect/Test/CMakeLists.txt
    M mlir/test/lib/Dialect/TestDyn/CMakeLists.txt
    M mlir/test/lib/Dialect/Tosa/CMakeLists.txt
    M mlir/test/lib/Dialect/Transform/CMakeLists.txt
    M mlir/test/lib/Dialect/Vector/CMakeLists.txt
    M mlir/test/lib/IR/CMakeLists.txt
    M mlir/test/lib/Interfaces/LoopLikeInterface/CMakeLists.txt
    M mlir/test/lib/Interfaces/TilingInterface/CMakeLists.txt
    M mlir/test/lib/Pass/CMakeLists.txt
    M mlir/test/lib/Reducer/CMakeLists.txt
    M mlir/test/lib/Rewrite/CMakeLists.txt
    M mlir/test/lib/Tools/PDLL/CMakeLists.txt
    M mlir/test/lib/Transforms/CMakeLists.txt
    M mlir/test/python/lib/CMakeLists.txt
    M mlir/tools/mlir-opt/CMakeLists.txt

  Log Message:
  -----------
  [mlir] Link libraries that aren't included in libMLIR to libMLIR (#123781)

Use `mlir_target_link_libraries()` to link dependencies of libraries
that are not included in libMLIR, to ensure that they link to the dylib
when they are used in Flang. Otherwise, they implicitly pull in all
their static dependencies, effectively causing Flang binaries to
simultaneously link to the dylib and to static libraries, which is never
a good idea.

I have only covered the libraries that are used by Flang. If you wish, I
can extend this approach to all non-libMLIR libraries in MLIR, making
MLIR itself also link to the dylib consistently.

[v2 with fixed `-DBUILD_SHARED_LIBS=ON` build]


  Commit: 53ea5ffcb38d428e446d357f310e9c28957eaec7
      https://github.com/llvm/llvm-project/commit/53ea5ffcb38d428e446d357f310e9c28957eaec7
  Author: Congcong Cai <congcongcai0907 at 163.com>
  Date:   2025-01-22 (Wed, 22 Jan 2025)

  Changed paths:
    M clang/include/clang/Analysis/Analyses/ExprMutationAnalyzer.h
    M clang/lib/Analysis/ExprMutationAnalyzer.cpp
    M clang/unittests/Analysis/ExprMutationAnalyzerTest.cpp

  Log Message:
  -----------
  [mutation analyzer] support mutation analysis for pointee (#118593)

This patch wants to add mutation analyzer for pointee object.


  Commit: f7d8336a2fb4fad4a6efe5af9b0a10ddd970f6d3
      https://github.com/llvm/llvm-project/commit/f7d8336a2fb4fad4a6efe5af9b0a10ddd970f6d3
  Author: Venkata Ramanaiah Nalamothu <quic_vnalamot at quicinc.com>
  Date:   2025-01-22 (Wed, 22 Jan 2025)

  Changed paths:
    M llvm/include/llvm/CodeGen/TargetInstrInfo.h
    M llvm/lib/Target/AArch64/AArch64InstrInfo.cpp
    M llvm/lib/Target/AArch64/AArch64InstrInfo.h
    M llvm/lib/Target/AMDGPU/SIInstrInfo.cpp
    M llvm/lib/Target/AMDGPU/SIInstrInfo.h
    M llvm/lib/Target/ARC/ARCInstrInfo.cpp
    M llvm/lib/Target/ARC/ARCInstrInfo.h
    M llvm/lib/Target/ARM/ARMBaseInstrInfo.cpp
    M llvm/lib/Target/ARM/ARMBaseInstrInfo.h
    M llvm/lib/Target/ARM/Thumb1InstrInfo.cpp
    M llvm/lib/Target/ARM/Thumb1InstrInfo.h
    M llvm/lib/Target/ARM/Thumb2InstrInfo.cpp
    M llvm/lib/Target/ARM/Thumb2InstrInfo.h
    M llvm/lib/Target/AVR/AVRInstrInfo.cpp
    M llvm/lib/Target/AVR/AVRInstrInfo.h
    M llvm/lib/Target/BPF/BPFInstrInfo.cpp
    M llvm/lib/Target/BPF/BPFInstrInfo.h
    M llvm/lib/Target/CSKY/CSKYInstrInfo.cpp
    M llvm/lib/Target/CSKY/CSKYInstrInfo.h
    M llvm/lib/Target/Hexagon/HexagonInstrInfo.cpp
    M llvm/lib/Target/Hexagon/HexagonInstrInfo.h
    M llvm/lib/Target/Lanai/LanaiInstrInfo.cpp
    M llvm/lib/Target/Lanai/LanaiInstrInfo.h
    M llvm/lib/Target/LoongArch/LoongArchInstrInfo.cpp
    M llvm/lib/Target/LoongArch/LoongArchInstrInfo.h
    M llvm/lib/Target/M68k/M68kInstrInfo.cpp
    M llvm/lib/Target/M68k/M68kInstrInfo.h
    M llvm/lib/Target/MSP430/MSP430InstrInfo.cpp
    M llvm/lib/Target/MSP430/MSP430InstrInfo.h
    M llvm/lib/Target/Mips/Mips16InstrInfo.cpp
    M llvm/lib/Target/Mips/Mips16InstrInfo.h
    M llvm/lib/Target/Mips/MipsInstrInfo.h
    M llvm/lib/Target/Mips/MipsSEInstrInfo.cpp
    M llvm/lib/Target/Mips/MipsSEInstrInfo.h
    M llvm/lib/Target/NVPTX/NVPTXInstrInfo.h
    M llvm/lib/Target/PowerPC/PPCInstrInfo.cpp
    M llvm/lib/Target/PowerPC/PPCInstrInfo.h
    M llvm/lib/Target/RISCV/RISCVInstrInfo.cpp
    M llvm/lib/Target/RISCV/RISCVInstrInfo.h
    M llvm/lib/Target/Sparc/SparcInstrInfo.cpp
    M llvm/lib/Target/Sparc/SparcInstrInfo.h
    M llvm/lib/Target/SystemZ/SystemZInstrInfo.cpp
    M llvm/lib/Target/SystemZ/SystemZInstrInfo.h
    M llvm/lib/Target/VE/VEInstrInfo.cpp
    M llvm/lib/Target/VE/VEInstrInfo.h
    M llvm/lib/Target/X86/X86InstrInfo.cpp
    M llvm/lib/Target/X86/X86InstrInfo.h
    M llvm/lib/Target/XCore/XCoreInstrInfo.cpp
    M llvm/lib/Target/XCore/XCoreInstrInfo.h
    M llvm/lib/Target/Xtensa/XtensaInstrInfo.cpp
    M llvm/lib/Target/Xtensa/XtensaInstrInfo.h

  Log Message:
  -----------
  [llvm] Pass MachineInstr flags to storeRegToStackSlot/loadRegFromStackSlot (NFC) (#120622)

This patch is in preparation to enable setting the MachineInstr::MIFlag
flags, i.e. FrameSetup/FrameDestroy, on callee saved register
spill/reload instructions in prologue/epilogue. This eventually helps in
setting the prologue_end and epilogue_begin markers more accurately.

The DWARF Spec in "6.4 Call Frame Information" says:

The code that allocates space on the call frame stack and performs the
save
operation is called the subroutine’s prologue, and the code that
performs
the restore operation and deallocates the frame is called its epilogue.

which means the callee saved register spills and reloads are part of
prologue (a.k.a frame setup) and epilogue (a.k.a frame destruction),
respectively. And, IIUC, LLVM backend uses FrameSetup/FrameDestroy flags
to identify instructions that are part of call frame setup and
destruction.

In the trunk, while most targets consistently set
FrameSetup/FrameDestroy on save/restore call frame information (CFI)
instructions of callee saved registers, they do not consistently set
those flags on the actual callee saved register spill/reload
instructions.

I believe this patch provides a clean mechanism to set
FrameSetup/FrameDestroy flags on the actual callee saved register
spill/reload instructions as needed. And, by having default argument of
MachineInstr::NoFlags for Flags, this patch is a NFC.

With this patch, the targets have to just pass FrameSetup/FrameDestroy
flag to the storeRegToStackSlot/loadRegFromStackSlot calls from the
target derived spillCalleeSavedRegisters and restoreCalleeSavedRegisters
to set those flags on callee saved register spill/reload instructions.

Also, this patch makes it very easy to set the source line information
on callee saved register spill/reload instructions which is needed by
the DwarfDebug.cpp implementation to set prologue_end and epilogue_begin
markers more accurately.

As per DwarfDebug.cpp implementation:

prologue_end is the first known non-DBG_VALUE and non-FrameSetup
location
    that marks the beginning of the function body

epilogue_begin is the first FrameDestroy location that has been seen in
the
    epilogue basic block

With this patch, the targets have to just do the following to set the
source line information on callee saved register spill/reload
instructions, without hampering the LLVM's efforts to avoid adding
source line information on the artificial code generated by the
compiler.

    <Foo>InstrInfo::storeRegToStackSlot() {
    ...
      DebugLoc DL =
Flags & MachineInstr::FrameSetup ? DebugLoc() : MBB.findDebugLoc(I);
    ...
    }

    <Foo>InstrInfo::loadRegFromStackSlot() {
    ...
      DebugLoc DL =
Flags & MachineInstr::FrameDestroy ? MBB.findDebugLoc(I) : DebugLoc();
    ...
    }

While I understand this patch would break out-of-tree backend builds, I
think it is in the right direction.

One immediate use case that can benefit from this patch is fixing
#120553 becomes simpler.


  Commit: ca65055e792a497551d580c8adf30c28090e45cd
      https://github.com/llvm/llvm-project/commit/ca65055e792a497551d580c8adf30c28090e45cd
  Author: Calvin Beck <Chobbes at users.noreply.github.com>
  Date:   2025-01-22 (Wed, 22 Jan 2025)

  Changed paths:
    M llvm/docs/LangRef.rst

  Log Message:
  -----------
  Remove mention of conditional branches in undefined values section. (#122980)

This statement is somewhat confusing when paired with the later
statement that says "Branching on an undefined value is undefined
behavior". Furthermore, this example does not show any conditional
branches, so this comment seems to be outdated.

See issue #122532 for more details.


  Commit: 69d0c4c1675c90cf99126210679a9c3ae0a8637e
      https://github.com/llvm/llvm-project/commit/69d0c4c1675c90cf99126210679a9c3ae0a8637e
  Author: Younan Zhang <zyn7109 at gmail.com>
  Date:   2025-01-22 (Wed, 22 Jan 2025)

  Changed paths:
    M clang/docs/ReleaseNotes.rst
    M clang/lib/Parse/ParseExpr.cpp
    M clang/lib/Sema/SemaConcept.cpp
    M clang/lib/Sema/SemaExpr.cpp
    M clang/test/SemaTemplate/concepts-out-of-line-def.cpp

  Log Message:
  -----------
  [Clang] SubstituteConstraintExpressionWithoutSatisfaction needs an unevaluated context (#123883)

It turns out that the substitution for expression comparing also needs
an unevaluated context, otherwise any reference to immediate functions
might not be properly handled.

As a fallout, this also guards the VLA transformation under unevaluated
context
with `InConditionallyConstantEvaluateContext` to avoid duplicate
diagnostics.

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

---------

Co-authored-by: cor3ntin <corentinjabot at gmail.com>


  Commit: 9decc24c6ba5398f7cb1b2a0c26bd36e2da479f8
      https://github.com/llvm/llvm-project/commit/9decc24c6ba5398f7cb1b2a0c26bd36e2da479f8
  Author: Michał Górny <mgorny at gentoo.org>
  Date:   2025-01-22 (Wed, 22 Jan 2025)

  Changed paths:
    M mlir/cmake/modules/AddMLIR.cmake
    M mlir/lib/CAPI/ExecutionEngine/CMakeLists.txt
    M mlir/lib/ExecutionEngine/CMakeLists.txt
    M mlir/lib/ExecutionEngine/SparseTensor/CMakeLists.txt
    M mlir/test/lib/Analysis/CMakeLists.txt
    M mlir/test/lib/Conversion/ConvertToSPIRV/CMakeLists.txt
    M mlir/test/lib/Conversion/FuncToLLVM/CMakeLists.txt
    M mlir/test/lib/Conversion/MathToVCIX/CMakeLists.txt
    M mlir/test/lib/Conversion/OneToNTypeConversion/CMakeLists.txt
    M mlir/test/lib/Conversion/VectorToSPIRV/CMakeLists.txt
    M mlir/test/lib/Dialect/Affine/CMakeLists.txt
    M mlir/test/lib/Dialect/Arith/CMakeLists.txt
    M mlir/test/lib/Dialect/ArmNeon/CMakeLists.txt
    M mlir/test/lib/Dialect/ArmSME/CMakeLists.txt
    M mlir/test/lib/Dialect/Bufferization/CMakeLists.txt
    M mlir/test/lib/Dialect/ControlFlow/CMakeLists.txt
    M mlir/test/lib/Dialect/DLTI/CMakeLists.txt
    M mlir/test/lib/Dialect/Func/CMakeLists.txt
    M mlir/test/lib/Dialect/GPU/CMakeLists.txt
    M mlir/test/lib/Dialect/LLVM/CMakeLists.txt
    M mlir/test/lib/Dialect/Linalg/CMakeLists.txt
    M mlir/test/lib/Dialect/Math/CMakeLists.txt
    M mlir/test/lib/Dialect/MemRef/CMakeLists.txt
    M mlir/test/lib/Dialect/Mesh/CMakeLists.txt
    M mlir/test/lib/Dialect/NVGPU/CMakeLists.txt
    M mlir/test/lib/Dialect/SCF/CMakeLists.txt
    M mlir/test/lib/Dialect/SPIRV/CMakeLists.txt
    M mlir/test/lib/Dialect/Shape/CMakeLists.txt
    M mlir/test/lib/Dialect/Tensor/CMakeLists.txt
    M mlir/test/lib/Dialect/Test/CMakeLists.txt
    M mlir/test/lib/Dialect/TestDyn/CMakeLists.txt
    M mlir/test/lib/Dialect/Tosa/CMakeLists.txt
    M mlir/test/lib/Dialect/Transform/CMakeLists.txt
    M mlir/test/lib/Dialect/Vector/CMakeLists.txt
    M mlir/test/lib/IR/CMakeLists.txt
    M mlir/test/lib/Interfaces/LoopLikeInterface/CMakeLists.txt
    M mlir/test/lib/Interfaces/TilingInterface/CMakeLists.txt
    M mlir/test/lib/Pass/CMakeLists.txt
    M mlir/test/lib/Reducer/CMakeLists.txt
    M mlir/test/lib/Rewrite/CMakeLists.txt
    M mlir/test/lib/Tools/PDLL/CMakeLists.txt
    M mlir/test/lib/Transforms/CMakeLists.txt
    M mlir/test/python/lib/CMakeLists.txt
    M mlir/tools/mlir-opt/CMakeLists.txt

  Log Message:
  -----------
  Revert "[mlir] Link libraries that aren't included in libMLIR to libMLIR (#123781)"

This reverts commit 4c6242ebf50dde0597df2bace49d534b61122496.  More
BUILD_SHARED_LIBS=ON regressions, sigh.


  Commit: a5159e200eb25c2873fb8db432962394a879e887
      https://github.com/llvm/llvm-project/commit/a5159e200eb25c2873fb8db432962394a879e887
  Author: Kazu Hirata <kazu at google.com>
  Date:   2025-01-22 (Wed, 22 Jan 2025)

  Changed paths:
    M clang/lib/AST/Decl.cpp

  Log Message:
  -----------
  [AST] Migrate away from PointerUnion::dyn_cast (NFC) (#123890)

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

Literal migration would result in dyn_cast_if_present (see the
definition of PointerUnion::dyn_cast), but this patch uses dyn_cast
because we expect TemplateOrSpecialization to be nonnull.


  Commit: aaf0643dd5d09bdce12298e48310a2c979be5f9a
      https://github.com/llvm/llvm-project/commit/aaf0643dd5d09bdce12298e48310a2c979be5f9a
  Author: Kazu Hirata <kazu at google.com>
  Date:   2025-01-22 (Wed, 22 Jan 2025)

  Changed paths:
    M lld/MachO/SyntheticSections.cpp

  Log Message:
  -----------
  [lld] Migrate away from PointerUnion::dyn_cast (NFC) (#123891)

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

Literal migration would result in dyn_cast_if_present (see the
definition of PointerUnion::dyn_cast), but this patch uses cast
because we know expect isa<Symbol *>(rel.referent) to be true.


  Commit: 8ad4f1a9c110632e419cc64931d432e91559407a
      https://github.com/llvm/llvm-project/commit/8ad4f1a9c110632e419cc64931d432e91559407a
  Author: Kazu Hirata <kazu at google.com>
  Date:   2025-01-22 (Wed, 22 Jan 2025)

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

  Log Message:
  -----------
  [Analysis] Avoid repeated hash lookups (NFC) (#123893)


  Commit: 19a7fe03b4f58c4f73ea91d5e63bc4c6e61f987b
      https://github.com/llvm/llvm-project/commit/19a7fe03b4f58c4f73ea91d5e63bc4c6e61f987b
  Author: Kazu Hirata <kazu at google.com>
  Date:   2025-01-22 (Wed, 22 Jan 2025)

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

  Log Message:
  -----------
  [CodeGen] Avoid repeated hash lookups (NFC) (#123894)


  Commit: 0a9c08c59ba61e727e9dee6d71883d9106963442
      https://github.com/llvm/llvm-project/commit/0a9c08c59ba61e727e9dee6d71883d9106963442
  Author: Shafik Yaghmour <shafik.yaghmour at intel.com>
  Date:   2025-01-22 (Wed, 22 Jan 2025)

  Changed paths:
    M clang/docs/ReleaseNotes.rst
    M clang/include/clang/AST/APValue.h
    M clang/lib/AST/APValue.cpp
    M clang/lib/AST/ExprConstant.cpp
    M clang/test/SemaCXX/constant-expression-cxx11.cpp
    M clang/test/SemaCXX/constant-expression-cxx2a.cpp
    A clang/test/SemaCXX/constant-expression-p2280r4.cpp
    M clang/www/cxx_status.html

  Log Message:
  -----------
  [Clang] Implement P2280R4 Using unknown pointers and references in constant expressions (#95474)

P2280R4 allows the use of references in pointers of unknown origins in a
constant expression context but only in specific cases that could be
constant expressions.

We track whether a variable is a constexpr unknown in a constant
expression by setting a flag in either APValue or LValue and using this
flag to prevent using unknown values in places where it is not allowed.

Fixes: https://github.com/llvm/llvm-project/issues/63139 https://github.com/llvm/llvm-project/issues/63117


  Commit: 0369ac8d2555423fc6c41b2aed12aadf3eb9b0cd
      https://github.com/llvm/llvm-project/commit/0369ac8d2555423fc6c41b2aed12aadf3eb9b0cd
  Author: cor3ntin <corentinjabot at gmail.com>
  Date:   2025-01-22 (Wed, 22 Jan 2025)

  Changed paths:
    M clang/www/cxx_status.html

  Log Message:
  -----------
  Fix markup in cxx_status.html


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

  Changed paths:
    M clang/lib/Basic/DiagnosticIDs.cpp
    M clang/tools/diagtool/DiagnosticNames.cpp
    M clang/utils/TableGen/ClangDiagnosticsEmitter.cpp
    M llvm/include/llvm/ADT/StringTable.h

  Log Message:
  -----------
  [StrTable] Switch diag group names to `llvm::StringTable` (#123302)

Previously, they used a hand-rolled Pascal-string encoding different
from all the other string tables produced from TableGen. This moves them
to use the newly introduced runtime abstraction, and enhances that
abstraction to support iterating over the string table as used in this
case.

>From what I can tell the Pascal-string encoding isn't critical here to
avoid expensive `strlen` calls, so I think this is a simpler and more
consistent model. But if folks would prefer a Pascal-string style
encoding, I can instead work to switch the `StringTable` abstraction
towards that. It would require some tricky tradeoffs though to make it
reasonably general: either using 4 bytes instead of 1 byte to encode the
size, or having a fallback to `strlen` for long strings.


  Commit: 22561cfb443267905d4190f0e2a738e6b412457f
      https://github.com/llvm/llvm-project/commit/22561cfb443267905d4190f0e2a738e6b412457f
  Author: Pavel Labath <pavel at labath.sk>
  Date:   2025-01-22 (Wed, 22 Jan 2025)

  Changed paths:
    M lldb/include/lldb/API/SBProcess.h
    M lldb/include/lldb/Target/Process.h
    M lldb/include/lldb/Target/StopInfo.h
    M lldb/include/lldb/Target/Thread.h
    M lldb/include/lldb/Target/ThreadList.h
    M lldb/include/lldb/Target/ThreadPlan.h
    M lldb/include/lldb/Target/ThreadPlanBase.h
    M lldb/include/lldb/lldb-enumerations.h
    M lldb/packages/Python/lldbsuite/test/gdbclientutils.py
    R lldb/packages/Python/lldbsuite/test/lldbgdbproxy.py
    R lldb/packages/Python/lldbsuite/test/lldbreverse.py
    M lldb/packages/Python/lldbsuite/test/lldbtest.py
    M lldb/packages/Python/lldbsuite/test/tools/lldb-server/lldbgdbserverutils.py
    M lldb/source/API/SBProcess.cpp
    M lldb/source/API/SBThread.cpp
    M lldb/source/Interpreter/CommandInterpreter.cpp
    M lldb/source/Plugins/Process/Linux/NativeThreadLinux.cpp
    M lldb/source/Plugins/Process/MacOSX-Kernel/ProcessKDP.cpp
    M lldb/source/Plugins/Process/MacOSX-Kernel/ProcessKDP.h
    M lldb/source/Plugins/Process/Windows/Common/ProcessWindows.cpp
    M lldb/source/Plugins/Process/Windows/Common/ProcessWindows.h
    M lldb/source/Plugins/Process/gdb-remote/GDBRemoteCommunicationClient.cpp
    M lldb/source/Plugins/Process/gdb-remote/GDBRemoteCommunicationClient.h
    M lldb/source/Plugins/Process/gdb-remote/GDBRemoteCommunicationServerLLGS.cpp
    M lldb/source/Plugins/Process/gdb-remote/ProcessGDBRemote.cpp
    M lldb/source/Plugins/Process/gdb-remote/ProcessGDBRemote.h
    M lldb/source/Plugins/Process/scripted/ScriptedProcess.cpp
    M lldb/source/Plugins/Process/scripted/ScriptedProcess.h
    M lldb/source/Target/Process.cpp
    M lldb/source/Target/StopInfo.cpp
    M lldb/source/Target/Thread.cpp
    M lldb/source/Target/ThreadList.cpp
    M lldb/source/Target/ThreadPlanBase.cpp
    R lldb/test/API/functionalities/reverse-execution/Makefile
    R lldb/test/API/functionalities/reverse-execution/TestReverseContinueBreakpoints.py
    R lldb/test/API/functionalities/reverse-execution/TestReverseContinueNotSupported.py
    R lldb/test/API/functionalities/reverse-execution/TestReverseContinueWatchpoints.py
    R lldb/test/API/functionalities/reverse-execution/main.c
    M lldb/tools/lldb-dap/JSONUtils.cpp
    M lldb/tools/lldb-dap/LLDBUtils.cpp

  Log Message:
  -----------
  Revert "[lldb] Implement basic support for reverse-continue" (#123906)

Reverts llvm/llvm-project#112079 due to failures on the arm bot.


  Commit: 957213f60b258a5f6cab04e50c78c0a0c1c304c2
      https://github.com/llvm/llvm-project/commit/957213f60b258a5f6cab04e50c78c0a0c1c304c2
  Author: Sven van Haastregt <sven.vanhaastregt at arm.com>
  Date:   2025-01-22 (Wed, 22 Jan 2025)

  Changed paths:
    M clang/lib/Sema/SemaExpr.cpp
    M clang/test/SemaOpenCL/invalid-block.cl

  Log Message:
  -----------
  [OpenCL] Diagnose block references in selection operator (#114824)

In addition to the invocation case that is already diagnosed, also
diagnose when a block reference appears on either side of a ternary
selection operator.

Until now, clang would accept the added test case only to crash during
code generation.


  Commit: 3088c316994f078833cba11086b6c5cb29df2aae
      https://github.com/llvm/llvm-project/commit/3088c316994f078833cba11086b6c5cb29df2aae
  Author: Elizaveta Noskova <159026035+enoskova-sc at users.noreply.github.com>
  Date:   2025-01-22 (Wed, 22 Jan 2025)

  Changed paths:
    M llvm/include/llvm/Support/GenericDomTree.h
    M llvm/lib/CodeGen/ShrinkWrap.cpp

  Log Message:
  -----------
  [llvm] Add NCD search on Array of basic blocks (NFC) (#119355)

Shrink-Wrap points split Part 2.
RFC:
https://discourse.llvm.org/t/shrink-wrap-save-restore-points-splitting/83581

Part 1: https://github.com/llvm/llvm-project/pull/117862
Part 3: https://github.com/llvm/llvm-project/pull/119357
Part 4: https://github.com/llvm/llvm-project/pull/119358
Part 5: https://github.com/llvm/llvm-project/pull/119359


  Commit: 047e8e47c1f9d872aec835b915935802e195c555
      https://github.com/llvm/llvm-project/commit/047e8e47c1f9d872aec835b915935802e195c555
  Author: Michał Górny <mgorny at gentoo.org>
  Date:   2025-01-22 (Wed, 22 Jan 2025)

  Changed paths:
    M mlir/cmake/modules/AddMLIR.cmake
    M mlir/lib/CAPI/ExecutionEngine/CMakeLists.txt
    M mlir/lib/ExecutionEngine/CMakeLists.txt
    M mlir/lib/ExecutionEngine/SparseTensor/CMakeLists.txt
    M mlir/test/lib/Analysis/CMakeLists.txt
    M mlir/test/lib/Conversion/ConvertToSPIRV/CMakeLists.txt
    M mlir/test/lib/Conversion/FuncToLLVM/CMakeLists.txt
    M mlir/test/lib/Conversion/MathToVCIX/CMakeLists.txt
    M mlir/test/lib/Conversion/OneToNTypeConversion/CMakeLists.txt
    M mlir/test/lib/Conversion/VectorToSPIRV/CMakeLists.txt
    M mlir/test/lib/Dialect/Affine/CMakeLists.txt
    M mlir/test/lib/Dialect/Arith/CMakeLists.txt
    M mlir/test/lib/Dialect/ArmNeon/CMakeLists.txt
    M mlir/test/lib/Dialect/ArmSME/CMakeLists.txt
    M mlir/test/lib/Dialect/Bufferization/CMakeLists.txt
    M mlir/test/lib/Dialect/ControlFlow/CMakeLists.txt
    M mlir/test/lib/Dialect/DLTI/CMakeLists.txt
    M mlir/test/lib/Dialect/Func/CMakeLists.txt
    M mlir/test/lib/Dialect/GPU/CMakeLists.txt
    M mlir/test/lib/Dialect/LLVM/CMakeLists.txt
    M mlir/test/lib/Dialect/Linalg/CMakeLists.txt
    M mlir/test/lib/Dialect/Math/CMakeLists.txt
    M mlir/test/lib/Dialect/MemRef/CMakeLists.txt
    M mlir/test/lib/Dialect/Mesh/CMakeLists.txt
    M mlir/test/lib/Dialect/NVGPU/CMakeLists.txt
    M mlir/test/lib/Dialect/SCF/CMakeLists.txt
    M mlir/test/lib/Dialect/SPIRV/CMakeLists.txt
    M mlir/test/lib/Dialect/Shape/CMakeLists.txt
    M mlir/test/lib/Dialect/Tensor/CMakeLists.txt
    M mlir/test/lib/Dialect/Test/CMakeLists.txt
    M mlir/test/lib/Dialect/TestDyn/CMakeLists.txt
    M mlir/test/lib/Dialect/Tosa/CMakeLists.txt
    M mlir/test/lib/Dialect/Transform/CMakeLists.txt
    M mlir/test/lib/Dialect/Vector/CMakeLists.txt
    M mlir/test/lib/IR/CMakeLists.txt
    M mlir/test/lib/Interfaces/LoopLikeInterface/CMakeLists.txt
    M mlir/test/lib/Interfaces/TilingInterface/CMakeLists.txt
    M mlir/test/lib/Pass/CMakeLists.txt
    M mlir/test/lib/Reducer/CMakeLists.txt
    M mlir/test/lib/Rewrite/CMakeLists.txt
    M mlir/test/lib/Tools/PDLL/CMakeLists.txt
    M mlir/test/lib/Transforms/CMakeLists.txt
    M mlir/test/python/lib/CMakeLists.txt
    M mlir/tools/mlir-opt/CMakeLists.txt
    M mlir/unittests/ExecutionEngine/CMakeLists.txt

  Log Message:
  -----------
  Reapply "[mlir] Link libraries that aren't included in libMLIR to libMLIR" (#123910)

Use `mlir_target_link_libraries()` to link dependencies of libraries
that are not included in libMLIR, to ensure that they link to the dylib
when they are used in Flang. Otherwise, they implicitly pull in all
their static dependencies, effectively causing Flang binaries to
simultaneously link to the dylib and to static libraries, which is never
a good idea.

I have only covered the libraries that are used by Flang. If you wish, I
can extend this approach to all non-libMLIR libraries in MLIR, making
MLIR itself also link to the dylib consistently.

[v3 with more `-DBUILD_SHARED_LIBS=ON` fixes]


  Commit: 7bb949ec612ff19bb4bfbc6a591b928d6d4ee475
      https://github.com/llvm/llvm-project/commit/7bb949ec612ff19bb4bfbc6a591b928d6d4ee475
  Author: Mats Jun Larsen <mats at jun.codes>
  Date:   2025-01-22 (Wed, 22 Jan 2025)

  Changed paths:
    M llvm/unittests/ExecutionEngine/Orc/IndirectionUtilsTest.cpp
    M llvm/unittests/Frontend/OpenMPIRBuilderTest.cpp
    M llvm/unittests/IR/ConstantsTest.cpp
    M llvm/unittests/IR/InstructionsTest.cpp
    M llvm/unittests/IR/PatternMatch.cpp

  Log Message:
  -----------
  [IR][unittests] Replace of PointerType::getUnqual(Type) with opaque version (NFC) (#123901)

Follow up to https://github.com/llvm/llvm-project/issues/123569


  Commit: 76672e3349bbc7bc58b0ae93d5cc994f3e16971a
      https://github.com/llvm/llvm-project/commit/76672e3349bbc7bc58b0ae93d5cc994f3e16971a
  Author: Karthika Devi C <quic_kartc at quicinc.com>
  Date:   2025-01-22 (Wed, 22 Jan 2025)

  Changed paths:
    M polly/include/polly/CodeGen/IRBuilder.h
    M polly/lib/CodeGen/IRBuilder.cpp
    M polly/lib/CodeGen/LoopGenerators.cpp
    A polly/test/CodeGen/Metadata/basic_vec_annotate.ll

  Log Message:
  -----------
  [Polly] Add vectorize metadata to loops identified as vectorizable by polly (#113994)

This patch introduces the initial implementation for annotating loops
created by Polly. Polly generates RunTimeChecks (RTCs), which result in
loop versioning. Specifically, the loop created by Polly is executed
when the RTCs pass, otherwise, the original loop is executed.

This patch adds the "llvm.loop.vectorize.enable" metadata, setting it to
true for loops created by Polly. Disabling vectorization for the original
fallback loop is already merged in #119188.

This behavior is controlled by the 'polly-annotate-metadata-vectorize'
flag, and the annotations are applied only when this flag is enabled.
This flag is set to false by default.

NOTE: This commit is initial patch in effort to make polly interact with
Loop Vectorizer via metadata.

---------

Co-authored-by: Michael Kruse <github at meinersbur.de>


  Commit: 4df6d3df24ae9cff07c70c96a1663cbba6e1dca5
      https://github.com/llvm/llvm-project/commit/4df6d3df24ae9cff07c70c96a1663cbba6e1dca5
  Author: Sander de Smalen <sander.desmalen at arm.com>
  Date:   2025-01-22 (Wed, 22 Jan 2025)

  Changed paths:
    M llvm/lib/CodeGen/RegisterCoalescer.cpp
    M llvm/test/CodeGen/AArch64/GlobalISel/arm64-pcsections.ll
    M llvm/test/CodeGen/AArch64/implicit-def-subreg-to-reg-regression.ll
    M llvm/test/CodeGen/AArch64/preserve_nonecc_varargs_darwin.ll
    A llvm/test/CodeGen/AArch64/reduced-coalescer-issue.ll
    A llvm/test/CodeGen/AArch64/register-coalesce-implicit-def-subreg-to-reg.mir
    M llvm/test/CodeGen/AArch64/register-coalesce-update-subranges-remat.mir
    M llvm/test/CodeGen/PowerPC/aix-vec_insert_elt.ll
    M llvm/test/CodeGen/PowerPC/build-vector-tests.ll
    M llvm/test/CodeGen/PowerPC/canonical-merge-shuffles.ll
    M llvm/test/CodeGen/PowerPC/combine-fneg.ll
    M llvm/test/CodeGen/PowerPC/fp-strict-round.ll
    M llvm/test/CodeGen/PowerPC/frem.ll
    M llvm/test/CodeGen/PowerPC/handle-f16-storage-type.ll
    M llvm/test/CodeGen/PowerPC/ldexp.ll
    M llvm/test/CodeGen/PowerPC/vec_insert_elt.ll
    M llvm/test/CodeGen/PowerPC/vector-constrained-fp-intrinsics.ll
    A llvm/test/CodeGen/X86/coalescer-breaks-subreg-to-reg-liveness.ll
    M llvm/test/CodeGen/X86/coalescer-implicit-def-regression-imp-operand-assert.mir
    A llvm/test/CodeGen/X86/coalescing-subreg-to-reg-requires-subrange-update.mir
    A llvm/test/CodeGen/X86/pr76416.ll
    M llvm/test/CodeGen/X86/subreg-fail.mir
    A llvm/test/CodeGen/X86/subreg-to-reg-coalescing.mir
    M llvm/test/CodeGen/X86/vector-compress.ll

  Log Message:
  -----------
  Reland "RegisterCoalescer: Add implicit-def of super register when coalescing SUBREG_TO_REG" (#123632)

This PR aims to reland work done by @arsenm which was previously
reverted due to some tangentially related scheduler issues as discussed
on #76416.

This PR cherry-picks the original commit (0e46b49de433), and adds
another patch on top with the following changes:

* The code in `updateRegDefsUses` now updates subranges when
  subreg-liveness-tracking is enabled.

* When adding an implicit-def operand for the super-register,
  the code in `reMaterializeTrivialDef` which tries to remove
  undefined subranges should now take into account that the lanes
  from the super-reg are no longer undefined.

Co-authored-by: Matt Arsenault <Matthew.Arsenault at amd.com>


  Commit: 6e1ea7e5a7b6e581bf9a030b98a7f63ee2833278
      https://github.com/llvm/llvm-project/commit/6e1ea7e5a7b6e581bf9a030b98a7f63ee2833278
  Author: Benjamin Maxwell <benjamin.maxwell at arm.com>
  Date:   2025-01-22 (Wed, 22 Jan 2025)

  Changed paths:
    M llvm/lib/Target/AArch64/AArch64Subtarget.cpp
    M llvm/lib/Target/AArch64/AArch64Subtarget.h
    M llvm/test/CodeGen/AArch64/outlining-with-streaming-mode-changes.ll
    M llvm/test/CodeGen/AArch64/sme-callee-save-restore-pairs.ll
    M llvm/test/CodeGen/AArch64/sme-darwin-sve-vg.ll
    M llvm/test/CodeGen/AArch64/sme-disable-gisel-fisel.ll
    M llvm/test/CodeGen/AArch64/sme-lazy-save-call.ll
    M llvm/test/CodeGen/AArch64/sme-peephole-opts.ll
    M llvm/test/CodeGen/AArch64/sme-pstate-sm-changing-call-disable-coalescing.ll
    M llvm/test/CodeGen/AArch64/sme-streaming-body-streaming-compatible-interface.ll
    M llvm/test/CodeGen/AArch64/sme-streaming-body.ll
    M llvm/test/CodeGen/AArch64/sme-streaming-compatible-interface.ll
    M llvm/test/CodeGen/AArch64/sme-streaming-interface.ll
    M llvm/test/CodeGen/AArch64/sme-streaming-mode-changing-call-disable-stackslot-scavenging.ll
    M llvm/test/CodeGen/AArch64/sme-vg-to-stack.ll
    A llvm/test/CodeGen/AArch64/stack-hazard-defaults.ll
    M llvm/test/CodeGen/AArch64/streaming-compatible-memory-ops.ll
    M llvm/test/CodeGen/AArch64/sve-stack-frame-layout.ll

  Log Message:
  -----------
  [AArch64] Set the default streaming hazard size to 1024 for +sme,+sve (#123753)

The default for all other feature combinations remains at zero (i.e. no
streaming hazards). This value may be adjusted in the future (e.g. based
on the processor family), for now, it is set conservatively.


  Commit: d064d3fc2cf8841963151f428988475aab09ff56
      https://github.com/llvm/llvm-project/commit/d064d3fc2cf8841963151f428988475aab09ff56
  Author: Sylvestre Ledru <sylvestre at debian.org>
  Date:   2025-01-22 (Wed, 22 Jan 2025)

  Changed paths:
    M llvm/lib/Target/Xtensa/AsmParser/XtensaAsmParser.cpp
    M llvm/lib/Target/Xtensa/Disassembler/XtensaDisassembler.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/Xtensa.td
    R llvm/lib/Target/Xtensa/XtensaFeatures.td
    M llvm/lib/Target/Xtensa/XtensaInstrInfo.td
    M llvm/lib/Target/Xtensa/XtensaOperands.td
    M llvm/lib/Target/Xtensa/XtensaRegisterInfo.td
    M llvm/lib/Target/Xtensa/XtensaSubtarget.h
    M llvm/lib/Target/Xtensa/XtensaUtils.cpp
    M llvm/lib/Target/Xtensa/XtensaUtils.h
    R llvm/test/MC/Disassembler/Xtensa/windowed.txt
    R llvm/test/MC/Disassembler/Xtensa/windowed_code_density.txt
    R llvm/test/MC/Xtensa/windowed.s
    R llvm/test/MC/Xtensa/windowed_code_density.s
    R llvm/test/MC/Xtensa/windowed_invalid.s

  Log Message:
  -----------
  Revert "[Xtensa] Implement Windowed Register Option." (#123913)

Reverts llvm/llvm-project#121118
for causing #123817


  Commit: 937cbce14c9aa956342a9c818c26a8a557802843
      https://github.com/llvm/llvm-project/commit/937cbce14c9aa956342a9c818c26a8a557802843
  Author: Kareem Ergawy <kareem.ergawy at amd.com>
  Date:   2025-01-22 (Wed, 22 Jan 2025)

  Changed paths:
    M flang/lib/Lower/OpenMP/OpenMP.cpp
    M flang/test/Lower/OpenMP/DelayedPrivatization/wsloop.f90
    M flang/test/Lower/OpenMP/Todo/omp-default-clause-inner-loop.f90
    M flang/test/Lower/OpenMP/associate.f90
    M flang/test/Lower/OpenMP/copyin.f90
    M flang/test/Lower/OpenMP/critical.f90
    M flang/test/Lower/OpenMP/default-clause-byref.f90
    M flang/test/Lower/OpenMP/default-clause.f90
    M flang/test/Lower/OpenMP/hlfir-wsloop.f90
    M flang/test/Lower/OpenMP/lastprivate-allocatable.f90
    M flang/test/Lower/OpenMP/lastprivate-commonblock.f90
    M flang/test/Lower/OpenMP/lastprivate-iv.f90
    M flang/test/Lower/OpenMP/location.f90
    M flang/test/Lower/OpenMP/order-clause.f90
    M flang/test/Lower/OpenMP/parallel-lastprivate-clause-scalar.f90
    M flang/test/Lower/OpenMP/parallel-private-clause-fixes.f90
    M flang/test/Lower/OpenMP/parallel-private-clause.f90
    M flang/test/Lower/OpenMP/parallel-reduction-allocatable-array.f90
    M flang/test/Lower/OpenMP/parallel-reduction-pointer-array.f90
    M flang/test/Lower/OpenMP/parallel-reduction3.f90
    M flang/test/Lower/OpenMP/parallel-wsloop-firstpriv.f90
    M flang/test/Lower/OpenMP/parallel-wsloop-lastpriv.f90
    M flang/test/Lower/OpenMP/parallel-wsloop-reduction-byref.f90
    M flang/test/Lower/OpenMP/parallel-wsloop-reduction.f90
    M flang/test/Lower/OpenMP/parallel-wsloop.f90
    M flang/test/Lower/OpenMP/private-derived-type.f90
    M flang/test/Lower/OpenMP/same_var_first_lastprivate.f90
    M flang/test/Lower/OpenMP/stop-stmt-in-region.f90
    M flang/test/Lower/OpenMP/target.f90
    M flang/test/Lower/OpenMP/unstructured.f90
    M flang/test/Lower/OpenMP/wsloop-chunks.f90
    M flang/test/Lower/OpenMP/wsloop-collapse.f90
    M flang/test/Lower/OpenMP/wsloop-monotonic.f90
    M flang/test/Lower/OpenMP/wsloop-nonmonotonic.f90
    M flang/test/Lower/OpenMP/wsloop-ordered.f90
    M flang/test/Lower/OpenMP/wsloop-reduction-add-byref.f90
    M flang/test/Lower/OpenMP/wsloop-reduction-add.f90
    M flang/test/Lower/OpenMP/wsloop-reduction-allocatable-array-minmax.f90
    M flang/test/Lower/OpenMP/wsloop-reduction-allocatable.f90
    M flang/test/Lower/OpenMP/wsloop-reduction-array-assumed-shape.f90
    M flang/test/Lower/OpenMP/wsloop-reduction-array.f90
    M flang/test/Lower/OpenMP/wsloop-reduction-array2.f90
    M flang/test/Lower/OpenMP/wsloop-reduction-iand-byref.f90
    M flang/test/Lower/OpenMP/wsloop-reduction-iand.f90
    M flang/test/Lower/OpenMP/wsloop-reduction-ieor-byref.f90
    M flang/test/Lower/OpenMP/wsloop-reduction-ieor.f90
    M flang/test/Lower/OpenMP/wsloop-reduction-ior-byref.f90
    M flang/test/Lower/OpenMP/wsloop-reduction-ior.f90
    M flang/test/Lower/OpenMP/wsloop-reduction-logical-and-byref.f90
    M flang/test/Lower/OpenMP/wsloop-reduction-logical-and.f90
    M flang/test/Lower/OpenMP/wsloop-reduction-logical-eqv-byref.f90
    M flang/test/Lower/OpenMP/wsloop-reduction-logical-eqv.f90
    M flang/test/Lower/OpenMP/wsloop-reduction-logical-neqv-byref.f90
    M flang/test/Lower/OpenMP/wsloop-reduction-logical-neqv.f90
    M flang/test/Lower/OpenMP/wsloop-reduction-logical-or-byref.f90
    M flang/test/Lower/OpenMP/wsloop-reduction-logical-or.f90
    M flang/test/Lower/OpenMP/wsloop-reduction-max-2-byref.f90
    M flang/test/Lower/OpenMP/wsloop-reduction-max-2.f90
    M flang/test/Lower/OpenMP/wsloop-reduction-max-byref.f90
    M flang/test/Lower/OpenMP/wsloop-reduction-max.f90
    M flang/test/Lower/OpenMP/wsloop-reduction-min-byref.f90
    M flang/test/Lower/OpenMP/wsloop-reduction-min.f90
    M flang/test/Lower/OpenMP/wsloop-reduction-min2.f90
    M flang/test/Lower/OpenMP/wsloop-reduction-mul-byref.f90
    M flang/test/Lower/OpenMP/wsloop-reduction-mul.f90
    M flang/test/Lower/OpenMP/wsloop-reduction-multi.f90
    M flang/test/Lower/OpenMP/wsloop-reduction-multiple-clauses.f90
    M flang/test/Lower/OpenMP/wsloop-reduction-pointer.f90
    M flang/test/Lower/OpenMP/wsloop-schedule.f90
    M flang/test/Lower/OpenMP/wsloop-unstructured.f90
    M flang/test/Lower/OpenMP/wsloop-variable.f90
    M flang/test/Lower/OpenMP/wsloop.f90
    M mlir/lib/Target/LLVMIR/Dialect/OpenMP/OpenMPToLLVMIRTranslation.cpp
    R mlir/test/Target/LLVMIR/openmp-wsloop-private-late-alloca-workaround.mlir

  Log Message:
  -----------
  Revert "[flang][OpenMP] Enable delayed privatization by default `omp.wsloop` (#122471)" (#123324)

This seems to have caused some regressions in Fujitsu's test-suite:
https://linaro.atlassian.net/browse/LLVM-1521

This reverts commit 6f82408bb53f57a859953d8f1114f1634a5d3ee9.


  Commit: 70f8040f099368b2e10f9b12d7f7fdee35c24cee
      https://github.com/llvm/llvm-project/commit/70f8040f099368b2e10f9b12d7f7fdee35c24cee
  Author: Weining Lu <luweining at loongson.cn>
  Date:   2025-01-22 (Wed, 22 Jan 2025)

  Changed paths:
    M clang/lib/Driver/ToolChains/Arch/LoongArch.cpp

  Log Message:
  -----------
  [LoongArch] Simplify some Args.getLastArg() calls with AddTargetFeature(). NFC


  Commit: 9178708c3bf926fe0d7767e26344f3f98b1e92ec
      https://github.com/llvm/llvm-project/commit/9178708c3bf926fe0d7767e26344f3f98b1e92ec
  Author: Daniil Kovalev <dkovalev at accesssoftek.com>
  Date:   2025-01-22 (Wed, 22 Jan 2025)

  Changed paths:
    M lld/ELF/Arch/AArch64.cpp
    M lld/ELF/InputSection.cpp
    M lld/ELF/Relocations.cpp
    M lld/ELF/Relocations.h
    M lld/ELF/Symbols.h
    M lld/ELF/SyntheticSections.cpp
    M lld/ELF/SyntheticSections.h
    A lld/test/ELF/aarch64-tlsdesc-pauth.s

  Log Message:
  -----------
  [PAC][lld][AArch64][ELF] Support signed TLSDESC (#113817)

Depends on #120010

Support `R_AARCH64_AUTH_TLSDESC_ADR_PAGE21`, `R_AARCH64_AUTH_TLSDESC_LD64_LO12`
and `R_AARCH64_AUTH_TLSDESC_LD64_LO12` static relocations and
`R_AARCH64_AUTH_TLSDESC` dynamic relocation. IE/LE optimization is not
currently supported for AUTH TLSDESC.


  Commit: 2ee36d40f0e717dc005fde19aa62f1acaaa04528
      https://github.com/llvm/llvm-project/commit/2ee36d40f0e717dc005fde19aa62f1acaaa04528
  Author: Yi Kong <yikong at google.com>
  Date:   2025-01-22 (Wed, 22 Jan 2025)

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

  Log Message:
  -----------
  [compiler-rt][rtsan] Fix sendmmsg and recvmmsg rtsan interceptor for MUSL (#123907)

MUSL have different signatures for sendmmsg and recvmmsg.

This fixes build breakage from #123484.


  Commit: 23fd8f6f263d14d43fd4b2a599652beaadc9920e
      https://github.com/llvm/llvm-project/commit/23fd8f6f263d14d43fd4b2a599652beaadc9920e
  Author: Michael Buch <michaelbuch12 at gmail.com>
  Date:   2025-01-22 (Wed, 22 Jan 2025)

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

  Log Message:
  -----------
  [lldb][DWARFASTParserClang][NFCI] Simplify ParseChildParameters (#123790)

This patch refactors `ParseChildParameters` in a way which makes it (in
my opinion) more readable, removing some redundant local variables in
the process and reduces the scope of some variables.

**Motivation**

Since `DW_AT_object_pointer`s are now attached to declarations, we can
test for their existence to check whether a C++ method is static or not
(whereas currently we're deducing this from `ParseChildParameters` based
on some heuristics we know are true for most compilers). So my plan is
to move the code for determining `type_quals` and `is_static` out of
`ParseChildParameters`. The refactoring in this PR will make this
follow-up patch hopefully easier to review.

**Testing**

* This should be NFC. The main change is that we now no longer iterate
over `GetAttributes()` but instead retrieve the name, type and
is_artificial attributes of the parameters individually.


  Commit: 5f40570714b355a0ce10ef3e137dc0dc540611d6
      https://github.com/llvm/llvm-project/commit/5f40570714b355a0ce10ef3e137dc0dc540611d6
  Author: bernhardu <bernhardu at mailbox.org>
  Date:   2025-01-22 (Wed, 22 Jan 2025)

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

  Log Message:
  -----------
  [win/asan] GetInstructionSize: Support some more 5 byte instructions. (#123844)

This patch adds several instructions seen when trying to run a
executable built with ASan with llvm-mingw.
(x86 and x86_64, using the git tip in llvm-project).

Also includes instructions collected by
Roman Pišl and Eric Pouech in the Wine bug reports below.
```
Related: https://github.com/llvm/llvm-project/issues/96270

Co-authored-by: Roman Pišl <rpisl at seznam.cz>
                https://bugs.winehq.org/show_bug.cgi?id=50993
                https://bugs.winehq.org/attachment.cgi?id=70233
Co-authored-by: Eric Pouech <eric.pouech at gmail.com>
                https://bugs.winehq.org/show_bug.cgi?id=52386
                https://bugs.winehq.org/attachment.cgi?id=71626
```


  Commit: a343b8e595d56bde91800aeaa7826cbed4e0a18d
      https://github.com/llvm/llvm-project/commit/a343b8e595d56bde91800aeaa7826cbed4e0a18d
  Author: Akshat Oke <Akshat.Oke at amd.com>
  Date:   2025-01-22 (Wed, 22 Jan 2025)

  Changed paths:
    M llvm/lib/Target/AMDGPU/AMDGPU.h
    M llvm/lib/Target/AMDGPU/AMDGPUPassRegistry.def
    M llvm/lib/Target/AMDGPU/AMDGPUTargetMachine.cpp
    M llvm/lib/Target/AMDGPU/SILowerWWMCopies.cpp
    A llvm/lib/Target/AMDGPU/SILowerWWMCopies.h
    A llvm/test/CodeGen/AMDGPU/si-lower-wwm-copies.mir

  Log Message:
  -----------
  [AMDGPU][NewPM] Port SILowerWWMCopies to NPM (#123695)


  Commit: d2e510360fc9b17a3ad536582f076795c4c37634
      https://github.com/llvm/llvm-project/commit/d2e510360fc9b17a3ad536582f076795c4c37634
  Author: Chuanqi Xu <yedeng.yd at linux.alibaba.com>
  Date:   2025-01-22 (Wed, 22 Jan 2025)

  Changed paths:
    M clang/lib/Sema/SemaLookup.cpp
    A clang/test/Modules/visibility-for-implicit-global-module.cppm

  Log Message:
  -----------
  [C++20] [Modules] Correct the visibility of decls in implicit global module of other units in the same TU

See the test for the case. It is similar with
https://github.com/llvm/llvm-project/commit/baa5b769f2f76baa0ce1ebfe28236dee2c761f0d


  Commit: 0d24130008c61296f6ef80da172f7c6d47337357
      https://github.com/llvm/llvm-project/commit/0d24130008c61296f6ef80da172f7c6d47337357
  Author: dlav-sc <daniil.avdeev at syntacore.com>
  Date:   2025-01-22 (Wed, 22 Jan 2025)

  Changed paths:
    M llvm/docs/ReleaseNotes.md

  Log Message:
  -----------
  [llvm][Docs] Add lldb user expressions related release notes (#123772)


  Commit: 56592a81084e9b504dbff9a50c1a604cad7f2416
      https://github.com/llvm/llvm-project/commit/56592a81084e9b504dbff9a50c1a604cad7f2416
  Author: bernhardu <bernhardu at mailbox.org>
  Date:   2025-01-22 (Wed, 22 Jan 2025)

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

  Log Message:
  -----------
  [win/asan] GetInstructionSize: Support some more 4 byte instructions. (#123709)

This patch adds several instructions seen when trying to run a
executable built with ASan with llvm-mingw.
(x86 and x86_64, using the git tip in llvm-project).

Also includes instructions collected by
Roman Pišl and Eric Pouech in the Wine bug reports below.

```
Related: https://github.com/llvm/llvm-project/issues/96270

Co-authored-by: Roman Pišl <rpisl at seznam.cz>
                https://bugs.winehq.org/show_bug.cgi?id=50993
                https://bugs.winehq.org/attachment.cgi?id=70233
Co-authored-by: Eric Pouech <eric.pouech at gmail.com>
                https://bugs.winehq.org/show_bug.cgi?id=52386
                https://bugs.winehq.org/attachment.cgi?id=71626
```


  Commit: 2b0e2255d6067872e844ff07d67342a6c97d8049
      https://github.com/llvm/llvm-project/commit/2b0e2255d6067872e844ff07d67342a6c97d8049
  Author: Petr Polezhaev <petr.polezhaev at ratigorsk-12.ru>
  Date:   2025-01-22 (Wed, 22 Jan 2025)

  Changed paths:
    M clang-tools-extra/clangd/GlobalCompilationDatabase.cpp
    M clang-tools-extra/clangd/GlobalCompilationDatabase.h
    M clang-tools-extra/clangd/ProjectModules.h
    M clang-tools-extra/clangd/ScanningProjectModules.cpp
    M clang-tools-extra/clangd/unittests/PrerequisiteModulesTest.cpp

  Log Message:
  -----------
  [clangd] Support .clangd command line modifications for C++ modules (#122606)

Tunnels `Manger` object into the `ScanningAllProjectModules` so it can
be used to perform necessary command-line modifications (which also adds
`--resources` path previously added there explicitly). This allows using
the experimental C++ modules support with gcc.

This was discussed in the issue with @ChuanqiXu9 and @kadircet

Closes #112635


  Commit: dedf014901cecd7ba3bbc1aadb17098a5a95b8a7
      https://github.com/llvm/llvm-project/commit/dedf014901cecd7ba3bbc1aadb17098a5a95b8a7
  Author: tangaac <tangyan01 at loongson.cn>
  Date:   2025-01-22 (Wed, 22 Jan 2025)

  Changed paths:
    M llvm/lib/Target/LoongArch/LoongArchISelLowering.cpp
    M llvm/lib/Target/LoongArch/LoongArchISelLowering.h
    M llvm/lib/Target/LoongArch/LoongArchLASXInstrInfo.td
    M llvm/lib/Target/LoongArch/LoongArchLSXInstrInfo.td
    A llvm/test/CodeGen/LoongArch/lasx/scalar-to-vector.ll
    M llvm/test/CodeGen/LoongArch/lsx/build-vector.ll
    A llvm/test/CodeGen/LoongArch/lsx/scalar-to-vector.ll
    M llvm/test/CodeGen/LoongArch/vector-fp-imm.ll

  Log Message:
  -----------
  [LoongArch] lower SCALAR_TO_VECTOR to INSERT_VECTOR_ELT (#122863)

```llvm
define <16 x i8> @scalar_to_16xi8(i8 %val) {
  %ret = insertelement <16 x i8> undef, i8 %val, i32 0
  ret <16 x i8> %ret
}
```

before
```asm
addi.d	$sp, $sp, -16
st.b	$a0, $sp, 0
vld	$vr0, $sp, 0
addi.d	$sp, $sp, 16
ret
```

after
```asm
vinsgr2vr.b $vr0, $a0, 0
ret
```

---------

Co-authored-by: Lu Weining <luweining at loongson.cn>


  Commit: ef37c3dd038da7b7b208b9464f2176ad3988f6f5
      https://github.com/llvm/llvm-project/commit/ef37c3dd038da7b7b208b9464f2176ad3988f6f5
  Author: Alexey Merzlyakov <60094858+AlexeyMerzlyakov at users.noreply.github.com>
  Date:   2025-01-22 (Wed, 22 Jan 2025)

  Changed paths:
    M llvm/docs/ReleaseNotes.md

  Log Message:
  -----------
  [llvm][Docs] Release note for LLDB optionally disabled regsets for RV64 (#123363)

This PR adds the release note point for LLDB 20, discussed in
https://github.com/llvm/llvm-project/pull/104547#issuecomment-2587479877
for the same ticket

---------

Co-authored-by: David Spickett <david.spickett at linaro.org>


  Commit: 9e0b2b68c2246332fc6035ee70d48a651c2dd6ca
      https://github.com/llvm/llvm-project/commit/9e0b2b68c2246332fc6035ee70d48a651c2dd6ca
  Author: Fraser Cormack <fraser at codeplay.com>
  Date:   2025-01-22 (Wed, 22 Jan 2025)

  Changed paths:
    M libclc/clc/include/clc/clcmacro.h
    M libclc/generic/lib/math/acos.cl
    M libclc/generic/lib/math/acosh.cl
    M libclc/generic/lib/math/acospi.cl
    M libclc/generic/lib/math/asinh.cl
    M libclc/generic/lib/math/atan.cl
    M libclc/generic/lib/math/atan2.cl
    M libclc/generic/lib/math/atan2pi.cl
    M libclc/generic/lib/math/atanh.cl
    M libclc/generic/lib/math/atanpi.cl
    M libclc/generic/lib/math/cbrt.cl
    M libclc/generic/lib/math/cos.cl
    M libclc/generic/lib/math/cosh.cl
    M libclc/generic/lib/math/cospi.cl
    M libclc/generic/lib/math/exp.cl
    M libclc/generic/lib/math/expm1.cl
    M libclc/generic/lib/math/lgamma.cl
    M libclc/generic/lib/math/log1p.cl
    M libclc/generic/lib/math/logb.cl
    M libclc/generic/lib/math/sin.cl
    M libclc/generic/lib/math/sinh.cl
    M libclc/generic/lib/math/sinpi.cl
    M libclc/generic/lib/math/tanh.cl

  Log Message:
  -----------
  [libclc] Don't rely on fp16 pragma guards in headers (#122751)

Having the fp16 pragmas enabled in the header file is risky. The macros
defined by that header don't (and can't) include the pragmas that make
fp16 types themselves legal, and another header may disable the fp16
pragma before the macro's use.

The safest thing to do is the use of pragmas surrounding each use of the
macro in the implementation files. This pattern is also far more common
across the codebase.


  Commit: 28c819cf8c9fb67712225d7f57bdf923f2da5de2
      https://github.com/llvm/llvm-project/commit/28c819cf8c9fb67712225d7f57bdf923f2da5de2
  Author: Corentin Jabot <corentinjabot at gmail.com>
  Date:   2025-01-22 (Wed, 22 Jan 2025)

  Changed paths:
    M clang/test/AST/ByteCode/cxx2a.cpp

  Log Message:
  -----------
  [Clang] Fix tests broken by 0a9c08c


  Commit: 4a2ebd6661cf1c929c280e863e4299164800413e
      https://github.com/llvm/llvm-project/commit/4a2ebd6661cf1c929c280e863e4299164800413e
  Author: David Sherwood <david.sherwood at arm.com>
  Date:   2025-01-22 (Wed, 22 Jan 2025)

  Changed paths:
    M llvm/include/llvm/Transforms/Vectorize/LoopVectorizationLegality.h
    M llvm/lib/Transforms/Vectorize/LoopVectorizationLegality.cpp

  Log Message:
  -----------
  [LV][NFC] Refactor structures used to maintain uncountable exit info (#123219)

I've removed the HasUncountableEarlyExit variable, since we can
already determine whether or not a loop has an early exit by seeing
if we found an uncountable exit.

I have also deleted the old UncountableExitingBlocks and
UncountableExitBlocks lists and replaced them with a single
uncountable edge. This means we don't need to worry about keeping the
list entries in sync and makes it clear which exiting block
corresponds to which exit block.


  Commit: 0165d043a9d62197468e0d4f7578cd7a5e4084f8
      https://github.com/llvm/llvm-project/commit/0165d043a9d62197468e0d4f7578cd7a5e4084f8
  Author: Xeonacid <h.dwwwwww at gmail.com>
  Date:   2025-01-22 (Wed, 22 Jan 2025)

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

  Log Message:
  -----------
  [HIP] [NFC] Rename to `ClangArgs`

#112041 replaced `llvm-mc` with `clang`.
The args are now feeding to clang.


  Commit: 6123a81b478fe9611b49169b274dfa167ab41931
      https://github.com/llvm/llvm-project/commit/6123a81b478fe9611b49169b274dfa167ab41931
  Author: David CARLIER <devnexen at gmail.com>
  Date:   2025-01-22 (Wed, 22 Jan 2025)

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

  Log Message:
  -----------
  [compiler-rt][rtsan] Fix process_vm_readv/process_vm_writev signatures. (#123914)

missing pid_t first argument. Fix #123839


  Commit: 974f678d31969cf83a5b2828cc63120734ac82f3
      https://github.com/llvm/llvm-project/commit/974f678d31969cf83a5b2828cc63120734ac82f3
  Author: Xeonacid <h.dwwwwww at gmail.com>
  Date:   2025-01-22 (Wed, 22 Jan 2025)

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

  Log Message:
  -----------
  [HIP] [NFC] Rename to ClangArgs (really)

Fixes 0165d04


  Commit: 6b1db79887df19bc8e8c946108966aa6021c8b87
      https://github.com/llvm/llvm-project/commit/6b1db79887df19bc8e8c946108966aa6021c8b87
  Author: Sander de Smalen <sander.desmalen at arm.com>
  Date:   2025-01-22 (Wed, 22 Jan 2025)

  Changed paths:
    M llvm/lib/CodeGen/RegisterCoalescer.cpp
    M llvm/test/CodeGen/AArch64/GlobalISel/arm64-pcsections.ll
    M llvm/test/CodeGen/AArch64/implicit-def-subreg-to-reg-regression.ll
    M llvm/test/CodeGen/AArch64/preserve_nonecc_varargs_darwin.ll
    R llvm/test/CodeGen/AArch64/reduced-coalescer-issue.ll
    R llvm/test/CodeGen/AArch64/register-coalesce-implicit-def-subreg-to-reg.mir
    M llvm/test/CodeGen/AArch64/register-coalesce-update-subranges-remat.mir
    M llvm/test/CodeGen/PowerPC/aix-vec_insert_elt.ll
    M llvm/test/CodeGen/PowerPC/build-vector-tests.ll
    M llvm/test/CodeGen/PowerPC/canonical-merge-shuffles.ll
    M llvm/test/CodeGen/PowerPC/combine-fneg.ll
    M llvm/test/CodeGen/PowerPC/fp-strict-round.ll
    M llvm/test/CodeGen/PowerPC/frem.ll
    M llvm/test/CodeGen/PowerPC/handle-f16-storage-type.ll
    M llvm/test/CodeGen/PowerPC/ldexp.ll
    M llvm/test/CodeGen/PowerPC/vec_insert_elt.ll
    M llvm/test/CodeGen/PowerPC/vector-constrained-fp-intrinsics.ll
    R llvm/test/CodeGen/X86/coalescer-breaks-subreg-to-reg-liveness.ll
    M llvm/test/CodeGen/X86/coalescer-implicit-def-regression-imp-operand-assert.mir
    R llvm/test/CodeGen/X86/coalescing-subreg-to-reg-requires-subrange-update.mir
    R llvm/test/CodeGen/X86/pr76416.ll
    M llvm/test/CodeGen/X86/subreg-fail.mir
    R llvm/test/CodeGen/X86/subreg-to-reg-coalescing.mir
    M llvm/test/CodeGen/X86/vector-compress.ll

  Log Message:
  -----------
  Revert "Reland "RegisterCoalescer: Add implicit-def of super register when coalescing SUBREG_TO_REG" (#123632)"

There's a regression with one of the bootstrap builds for x86.
I'll revert this while I investigate.

This reverts commit 4df6d3df24ae9cff07c70c96a1663cbba6e1dca5.


  Commit: c745ece25460824ab85055e6015026642c565800
      https://github.com/llvm/llvm-project/commit/c745ece25460824ab85055e6015026642c565800
  Author: David CARLIER <devnexen at gmail.com>
  Date:   2025-01-22 (Wed, 22 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] page regions api interception update. (#123601)

madvise/mprotect/msync/mincore calls with care for signature difference
for the latter.


  Commit: 099fd018d1b04013ef46c0e26ed008585ab8bcbb
      https://github.com/llvm/llvm-project/commit/099fd018d1b04013ef46c0e26ed008585ab8bcbb
  Author: Tejas Vipin <108227905+meltq at users.noreply.github.com>
  Date:   2025-01-22 (Wed, 22 Jan 2025)

  Changed paths:
    M mlir/lib/Dialect/Vector/Transforms/LowerVectorTransfer.cpp
    M mlir/test/Conversion/GPUCommon/transfer_write.mlir
    M mlir/test/Conversion/VectorToLLVM/vector-to-llvm.mlir
    M mlir/test/Dialect/Vector/vector-transfer-to-vector-load-store.mlir

  Log Message:
  -----------
  [mlir][Vector] Remove Vector{Load|Store}ToMemrefLoadLowering (#121454)

0-d vectors are supported now and so these patterns are no longer
required. This covers a part of this issue
https://github.com/llvm/llvm-project/issues/112913 . Additionally this
removes %arg2 in mlir/test/Conversion/GPUCommon/transfer_write.mlir and
renames %arg3 to %arg2 as %arg2 was originally not required.


  Commit: 1a1dbac5bc4eab4239b365c1b296e2729031a62e
      https://github.com/llvm/llvm-project/commit/1a1dbac5bc4eab4239b365c1b296e2729031a62e
  Author: Edd Dawson <edd.dawson at sony.com>
  Date:   2025-01-22 (Wed, 22 Jan 2025)

  Changed paths:
    M clang/lib/Driver/ToolChains/PS4CPU.cpp
    M clang/test/Driver/ps4-sdk-root.c
    M clang/test/Driver/ps5-linker.c
    M clang/test/Driver/ps5-sdk-root.c

  Log Message:
  -----------
  [PS4/PS5][Driver] Observe <sysroot>/target/lib for libraries (#123350)

On PS5, if a custom --sysroot is supplied, `<sysroot>/target/lib` should
be added to the library search paths (this already occurs if the default
`--sysroot` is not overridden). Until now, this has been hardcoded as a
downstream patch in lld. Add it to the driver so that the private patch
can be removed.

On PS4 the library search paths remain unchanged. The proprietary linker
will continue to handle this aspect.

On either platform, warn if `<sysroot>/target/lib` is absent.
Previously, such warnings were emitted only when the default --sysroot
was not overridden.

SIE tracker: TOOLCHAIN-16704


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

  Changed paths:
    M llvm/test/CodeGen/X86/fixup-bw-inst.ll

  Log Message:
  -----------
  [X86] fixup-bw-inst.ll - regenerate test checks to simplify diff for #123787


  Commit: c4ef805b0bda16f734276086b0984583c2e21db6
      https://github.com/llvm/llvm-project/commit/c4ef805b0bda16f734276086b0984583c2e21db6
  Author: Oliver Stannard <oliver.stannard at arm.com>
  Date:   2025-01-22 (Wed, 22 Jan 2025)

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

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 https://github.com/llvm/llvm-project/issues/111293.

This is a re-land of #120449, modified to allow any non-const pointer
type for the first argument.


  Commit: ffde2687be1fcb92c0c686aee441b83e71531457
      https://github.com/llvm/llvm-project/commit/ffde2687be1fcb92c0c686aee441b83e71531457
  Author: Victor Campos <victor.campos at arm.com>
  Date:   2025-01-22 (Wed, 22 Jan 2025)

  Changed paths:
    M compiler-rt/lib/builtins/arm/adddf3vfp.S
    M compiler-rt/lib/builtins/arm/aeabi_dcmp.S
    M compiler-rt/lib/builtins/arm/divdf3vfp.S
    M compiler-rt/lib/builtins/arm/eqdf2vfp.S
    M compiler-rt/lib/builtins/arm/extendsfdf2vfp.S
    M compiler-rt/lib/builtins/arm/fixdfsivfp.S
    M compiler-rt/lib/builtins/arm/fixunsdfsivfp.S
    M compiler-rt/lib/builtins/arm/floatsidfvfp.S
    M compiler-rt/lib/builtins/arm/floatunssidfvfp.S
    M compiler-rt/lib/builtins/arm/gedf2vfp.S
    M compiler-rt/lib/builtins/arm/gtdf2vfp.S
    M compiler-rt/lib/builtins/arm/ledf2vfp.S
    M compiler-rt/lib/builtins/arm/ltdf2vfp.S
    M compiler-rt/lib/builtins/arm/muldf3vfp.S
    M compiler-rt/lib/builtins/arm/nedf2vfp.S
    M compiler-rt/lib/builtins/arm/subdf3vfp.S
    M compiler-rt/lib/builtins/arm/truncdfsf2vfp.S
    M compiler-rt/lib/builtins/arm/unorddf2vfp.S
    M compiler-rt/lib/builtins/assembly.h

  Log Message:
  -----------
  [compiler-rt] Make Arm builtins aware of endianness in VMOVs (#123204)

This patch makes Arm builtins aware of endianness in VMOVs.

Before this patch, the functions' definitions assumed little endian,
which made any program compiled for big endian incorrect.


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

  Changed paths:
    M llvm/include/llvm/IR/IntrinsicsAMDGPU.td

  Log Message:
  -----------
  [AMDGPU] Remove .i32 suffix from comments documenting intrinsics (#123919)

These intrinsics are overloaded. The documentation should not single out
the i32 overload.


  Commit: d03fab1be38508f2a732330242a14744e4907ff9
      https://github.com/llvm/llvm-project/commit/d03fab1be38508f2a732330242a14744e4907ff9
  Author: Wang Pengcheng <wangpengcheng.pp at bytedance.com>
  Date:   2025-01-22 (Wed, 22 Jan 2025)

  Changed paths:
    A llvm/test/tools/llvm-mca/RISCV/SiFive7/jump.s

  Log Message:
  -----------
  [RISCV] Add precommit test for #123882

Add MCA test for jump instructions.


  Commit: 9d676e2cb6a62b7dd4ee7d530e847dea8c185280
      https://github.com/llvm/llvm-project/commit/9d676e2cb6a62b7dd4ee7d530e847dea8c185280
  Author: Pengcheng Wang <wangpengcheng.pp at bytedance.com>
  Date:   2025-01-22 (Wed, 22 Jan 2025)

  Changed paths:
    M llvm/lib/MCA/InstrBuilder.cpp
    M llvm/lib/Target/SystemZ/MCTargetDesc/SystemZMCTargetDesc.cpp
    M llvm/test/tools/llvm-mca/RISCV/SiFive7/jump.s

  Log Message:
  -----------
  [MCA] Use MCInstrAnalysis to analyse call/return instructions (#123882)

The flag set in `MCInstrDesc` is not accurate and we should use
the result of `MCInstrAnalysis`.


  Commit: 97c3a990f05606cb807faf53bc41302fb62c7980
      https://github.com/llvm/llvm-project/commit/97c3a990f05606cb807faf53bc41302fb62c7980
  Author: Sergey Kozub <skozub at nvidia.com>
  Date:   2025-01-22 (Wed, 22 Jan 2025)

  Changed paths:
    M clang/include/clang/Basic/Cuda.h
    M clang/lib/Basic/Cuda.cpp
    M clang/lib/Driver/ToolChains/Cuda.cpp

  Log Message:
  -----------
  Remove incorrect CUDA defines (#123898)

Remove CUDA_127 and CUDA_129 defines incorrectly added in
https://github.com/llvm/llvm-project/pull/123398


  Commit: c6c647588f911770170d2f7975b325f3d70cf89b
      https://github.com/llvm/llvm-project/commit/c6c647588f911770170d2f7975b325f3d70cf89b
  Author: Sushant Gokhale <sgokhale at nvidia.com>
  Date:   2025-01-22 (Wed, 22 Jan 2025)

  Changed paths:
    M llvm/test/Transforms/SLPVectorizer/AArch64/div.ll

  Log Message:
  -----------
  [SLP][NFC] Update test for PR #118055 (#122696)

This patch updates the motivating test for the above PR so that it does
not conflict with urem PR #122236


  Commit: fbd86d05fe51d45f19df8d63aee41d979c268f8f
      https://github.com/llvm/llvm-project/commit/fbd86d05fe51d45f19df8d63aee41d979c268f8f
  Author: Clement Courbet <courbet at google.com>
  Date:   2025-01-22 (Wed, 22 Jan 2025)

  Changed paths:
    M clang-tools-extra/clang-reorder-fields/ReorderFieldsAction.cpp
    M clang-tools-extra/clang-tidy/utils/LexerUtils.cpp
    M clang-tools-extra/test/clang-reorder-fields/Comments.cpp
    M clang/include/clang/Lex/Lexer.h
    M clang/lib/Lex/Lexer.cpp
    M clang/unittests/Lex/LexerTest.cpp

  Log Message:
  -----------
  [clang-reorder-fields] Reorder leading comments (#123740)

Similarly to https://github.com/llvm/llvm-project/pull/122918, leading
comments are currently not being moved.

```
struct Foo {
  // This one is the cool field.
  int a;
  int b;
};
```

becomes:

```
struct Foo {
  // This one is the cool field.
  int b;
  int a;
};
```

but should be:

```
struct Foo {
  int b;
  // This one is the cool field.
  int a;
};
```


  Commit: 5136c6d9d207b72135c92567e58e5cdbb86efc09
      https://github.com/llvm/llvm-project/commit/5136c6d9d207b72135c92567e58e5cdbb86efc09
  Author: Marc Auberer <marc.auberer at chillibits.com>
  Date:   2025-01-22 (Wed, 22 Jan 2025)

  Changed paths:
    M llvm/docs/Docker.rst
    M llvm/utils/docker/build_docker_image.sh
    R llvm/utils/docker/debian10/Dockerfile
    A llvm/utils/docker/debian12/Dockerfile
    M llvm/utils/docker/example/Dockerfile
    M llvm/utils/docker/nvidia-cuda/Dockerfile
    M llvm/utils/docker/scripts/checkout.sh

  Log Message:
  -----------
  [Tools][Docker] Update Dockerfiles and Docker guide (#123841)

Fixes #123669

- Update Dockerfiles to work with the LLVM trunk
- Adapt Documentation accordingly
- Fix duplicate `-c` flag


  Commit: bd56950b9cd5b6b07e1ccb9b02c5d8a7125a23b6
      https://github.com/llvm/llvm-project/commit/bd56950b9cd5b6b07e1ccb9b02c5d8a7125a23b6
  Author: Haojian Wu <hokein.wu at gmail.com>
  Date:   2025-01-22 (Wed, 22 Jan 2025)

  Changed paths:
    M clang/lib/Sema/CheckExprLifetime.cpp
    M clang/test/Sema/Inputs/lifetime-analysis.h
    M clang/test/Sema/warn-lifetime-analysis-nocfg.cpp

  Log Message:
  -----------
  [clang] Refine the temporay object member access filtering for GSL pointer (#122088)

We currently have ad-hoc filtering logic for temporary object member
access in `VisitGSLPointerArg`. This logic filters out more cases than
it should, leading to false negatives. Furthermore, this location lacks
sufficient context to implement a more accurate solution.

This patch refines the filtering logic by moving it to the central
filtering location, `analyzePathForGSLPointer`, consolidating the logic
and avoiding scattered filtering across multiple places. As a result,
the special handling for conditional operators (#120233) is no longer
necessary.

This change also resolves #120543.


  Commit: 729f958c4f7548c2d5be5f024b7254cd3ea25c64
      https://github.com/llvm/llvm-project/commit/729f958c4f7548c2d5be5f024b7254cd3ea25c64
  Author: Tai Ly <tai.ly at arm.com>
  Date:   2025-01-22 (Wed, 22 Jan 2025)

  Changed paths:
    M mlir/include/mlir/Dialect/Tosa/IR/TosaOpBase.td
    M mlir/lib/Dialect/Tosa/Transforms/TosaInferShapes.cpp
    M mlir/test/Conversion/TosaToLinalg/tosa-to-linalg-invalid.mlir
    M mlir/test/Conversion/TosaToLinalg/tosa-to-linalg.mlir
    R mlir/test/Dialect/Tosa/broadcast.mlir
    M mlir/test/Dialect/Tosa/constant_folding.mlir
    M mlir/test/Dialect/Tosa/inlining.mlir
    M mlir/test/Dialect/Tosa/invalid.mlir
    M mlir/test/Dialect/Tosa/tosa-infer-shapes.mlir

  Log Message:
  -----------
  [TOSA] Add SameOperandsAndResultRank to TOSA Ops (#104501)

[note: this is blocked by:
https://github.com/tensorflow/tensorflow/pull/73891 otherwise tensorflow
may have lit test failures]

This patch adds SameOperandsAndResultRank trait to TOSA operators with
ResultsBroadcastableShape trait. SameOperandsAndResultRank trait
requiring that all operands and results have matching ranks unless the
operand/result is unranked.

This also renders the TosaMakeBroadcastable pass unnecessary - but this
pass is left in for now just in case it is still used in some flows. The
lit test, broadcast.mlir, is removed.

This also adds verify of the SameOperandsAndResultRank trait in the
TosaInferShapes pass to validate inferred shapes.

Signed-off-by: Tai Ly <tai.ly at arm.com>


  Commit: 7986e0cad10f3bf9efbbe31110ece68af5cb8751
      https://github.com/llvm/llvm-project/commit/7986e0cad10f3bf9efbbe31110ece68af5cb8751
  Author: Tai Ly <tai.ly at arm.com>
  Date:   2025-01-22 (Wed, 22 Jan 2025)

  Changed paths:
    M mlir/lib/Dialect/Tosa/IR/TosaOps.cpp
    M mlir/test/Dialect/Tosa/tosa-infer-shapes.mlir

  Log Message:
  -----------
  [TOSA] bug fix infer shape for slice (#113497)

This fixes the infer output shape of TOSA slice op for start/size values
that are out-of-bound or -1

added tests to check:
  - size = -1
  - size is out of bound
  - start is out of bound

Signed-off-by: Tai Ly <tai.ly at arm.com>


  Commit: ff0f1dd341cb2fdc1281a14413b3aa93bf9a20c7
      https://github.com/llvm/llvm-project/commit/ff0f1dd341cb2fdc1281a14413b3aa93bf9a20c7
  Author: Peter Hawkins <phawkins at google.com>
  Date:   2025-01-22 (Wed, 22 Jan 2025)

  Changed paths:
    M mlir/python/mlir/dialects/_ods_common.py

  Log Message:
  -----------
  [mlir:python] Small optimization to get_op_result_or_results. (#123866)

* We can call .results without figuring out whether we have an Operation
or an OpView, and that's likely the common case anyway.
* If we have one or more results, we can return them directly, with no
need for a call to get_op_result_or_value. We're guaranteed that
.results returns a PyOpResultList, so we have either an OpResult or
sequence of OpResults, just as the API expects.

This saves a few 100ms during IR construction in an LLM JAX benchmark.


  Commit: 43177b524ee06dfc09cbc357ff277d4f53f5dc15
      https://github.com/llvm/llvm-project/commit/43177b524ee06dfc09cbc357ff277d4f53f5dc15
  Author: lialan <me at alanli.org>
  Date:   2025-01-22 (Wed, 22 Jan 2025)

  Changed paths:
    M llvm/lib/CodeGen/GlobalISel/CSEInfo.cpp
    M llvm/unittests/CodeGen/GlobalISel/CSETest.cpp

  Log Message:
  -----------
  [GISel] Add more FP opcodes to CSE (#123624)

This fixes #122724


  Commit: f4125e0226e03295f73c4b2dd9cfa540d872d162
      https://github.com/llvm/llvm-project/commit/f4125e0226e03295f73c4b2dd9cfa540d872d162
  Author: Peter Hawkins <phawkins at google.com>
  Date:   2025-01-22 (Wed, 22 Jan 2025)

  Changed paths:
    M mlir/lib/Bindings/Python/IRCore.cpp
    M mlir/lib/Bindings/Python/IRModule.h
    M mlir/test/mlir-tblgen/op-python-bindings.td
    M mlir/tools/mlir-tblgen/OpPythonBindingGen.cpp

  Log Message:
  -----------
  [mlir python] Change PyOpView constructor to construct operations. (#123777)

Previously ODS-generated Python operations had code like this:
```
  super().__init__(self.build_generic(attributes=attributes, operands=operands, successors=_ods_successors, regions=regions, loc=loc, ip=ip))
```

we change it to:
```
  super().__init__(self.OPERATION_NAME, self._ODS_REGIONS, self._ODS_OPERAND_SEGMENTS, self._ODS_RESULT_SEGMENTS, attributes=attributes, operands=operands, successors=_ods_successors, regions=regions, loc=loc, ip=ip)
```

This:
a) avoids an extra call dispatch (to `build_generic`), and
b) passes the class attributes directly to the constructor. Benchmarks
show that it is faster to pass these as arguments rather than having the
C++ code look up attributes on the class.

This PR improves the timing of the following benchmark on my workstation
from 5.3s to 4.5s:
```
def main(_):
  with ir.Context(), ir.Location.unknown():
    typ = ir.IntegerType.get_signless(32)
    m = ir.Module.create()
    with ir.InsertionPoint(m.body):
      start = time.time()
      for i in range(1000000):
        arith.ConstantOp(typ, i)
      end = time.time()
      print(f"time: {end - start}")
```

Since this change adds an additional overload to the constructor and
does not alter any existing behaviors, it should be backwards
compatible.


  Commit: d7fb4a275c98f4035d1083b5eb3edd2ffb2da00e
      https://github.com/llvm/llvm-project/commit/d7fb4a275c98f4035d1083b5eb3edd2ffb2da00e
  Author: SivanShani-Arm <sivan.shani at arm.com>
  Date:   2025-01-22 (Wed, 22 Jan 2025)

  Changed paths:
    M llvm/include/llvm/BinaryFormat/ELF.h
    M llvm/include/llvm/MC/MCELFStreamer.h
    A llvm/include/llvm/Support/AArch64BuildAttributes.h
    M llvm/lib/MC/MCELFStreamer.cpp
    A llvm/lib/Support/AArch64BuildAttributes.cpp
    M llvm/lib/Support/CMakeLists.txt
    M llvm/lib/Target/AArch64/AArch64AsmPrinter.cpp
    M llvm/lib/Target/AArch64/AsmParser/AArch64AsmParser.cpp
    M llvm/lib/Target/AArch64/MCTargetDesc/AArch64ELFStreamer.cpp
    M llvm/lib/Target/AArch64/MCTargetDesc/AArch64TargetStreamer.cpp
    M llvm/lib/Target/AArch64/MCTargetDesc/AArch64TargetStreamer.h
    A llvm/test/CodeGen/AArch64/aarch64-build-attributes-all.ll
    A llvm/test/CodeGen/AArch64/aarch64-build-attributes-bti.ll
    A llvm/test/CodeGen/AArch64/aarch64-build-attributes-gcs.ll
    A llvm/test/CodeGen/AArch64/aarch64-build-attributes-pac.ll
    A llvm/test/CodeGen/AArch64/aarch64-build-attributes-pauthabi.ll
    A llvm/test/MC/AArch64/aarch64-build-attributes-asm-all.s
    A llvm/test/MC/AArch64/aarch64-build-attributes-asm-bti.s
    A llvm/test/MC/AArch64/aarch64-build-attributes-asm-err-attrs.s
    A llvm/test/MC/AArch64/aarch64-build-attributes-asm-err-headers.s
    A llvm/test/MC/AArch64/aarch64-build-attributes-asm-gcs.s
    A llvm/test/MC/AArch64/aarch64-build-attributes-asm-none.s
    A llvm/test/MC/AArch64/aarch64-build-attributes-asm-numerical-tags.s
    A llvm/test/MC/AArch64/aarch64-build-attributes-asm-out-of-order.s
    A llvm/test/MC/AArch64/aarch64-build-attributes-asm-pac.s
    A llvm/test/MC/AArch64/aarch64-build-attributes-asm-private-subsections-err.s
    A llvm/test/MC/AArch64/aarch64-build-attributes-asm-private-subsections.s
    M llvm/utils/gn/secondary/llvm/lib/Support/BUILD.gn

  Log Message:
  -----------
  [LLVM][Clang][AArch64] Implement AArch64 build attributes (#118771)

- Added support for AArch64-specific build attributes.
- Print AArch64 build attributes to assembly.
- Parse AArch64 build attributes from assembly.
- Emit AArch64 build attributes to ELF.

Specification:
 https://github.com/ARM-software/abi-aa/pull/230


  Commit: e30b703060bb6741fb5e5e05e6b37802bc29b4ce
      https://github.com/llvm/llvm-project/commit/e30b703060bb6741fb5e5e05e6b37802bc29b4ce
  Author: Peter Hawkins <phawkins at google.com>
  Date:   2025-01-22 (Wed, 22 Jan 2025)

  Changed paths:
    M mlir/lib/Bindings/Python/IRCore.cpp
    M mlir/lib/Bindings/Python/IRModule.h

  Log Message:
  -----------
  [mlir:python] Construct PyOperation objects in-place on the Python heap. (#123813)

Currently we make two memory allocations for each PyOperation: a Python
object, and the PyOperation class itself. With some care we can allocate
the PyOperation inline inside the Python object, saving us a malloc()
call per object and perhaps improving cache locality.


  Commit: d80eb928c78ab3f3a3320014b2b7d513642b1a7e
      https://github.com/llvm/llvm-project/commit/d80eb928c78ab3f3a3320014b2b7d513642b1a7e
  Author: Yeaseen <yeaseen.arafat96 at gmail.com>
  Date:   2025-01-22 (Wed, 22 Jan 2025)

  Changed paths:
    M llvm/test/Transforms/ADCE/2017-08-21-DomTree-deletions.ll
    M llvm/test/Transforms/ADCE/preserve-memoryssa-if-only-remove-debug.ll
    M llvm/test/Transforms/AddDiscriminators/inlined.ll
    M llvm/test/Transforms/AddDiscriminators/invoke.ll
    M llvm/test/Transforms/AggressiveInstCombine/AArch64/combine_ignore_debug.ll
    M llvm/test/Transforms/AggressiveInstCombine/trunc_unreachable_bb.ll
    M llvm/test/Transforms/AggressiveInstCombine/trunc_vector_instrs.ll
    M llvm/test/Transforms/AlignmentFromAssumptions/simple.ll
    M llvm/test/Transforms/AlignmentFromAssumptions/simple32.ll
    M llvm/test/Transforms/ArgumentPromotion/crash.ll
    M llvm/test/Transforms/ArgumentPromotion/min-legal-vector-width.ll
    M llvm/test/Transforms/ArgumentPromotion/pr32917.ll

  Log Message:
  -----------
  [llvm] Remove `undef` from `llvm/test/Transforms` tests (#123889)

This PR replaces some instances of `undef` with `function argument
value` or `poison` or `concrete values` in several tests under
`llvm/test/Transforms/` directory. These changes align with modern LLVM
standards for better-defined behavior and test determinism. If this
small PR is okay and gets merged, I will work on the rest.

This is inspired by [this
project](https://discourse.llvm.org/t/gsoc-2024-remove-undefined-behavior-from-tests/77236/29),
work done on this by @leewei05


  Commit: ccd77953d0f1e367d268df89e7cc1c663c475ba7
      https://github.com/llvm/llvm-project/commit/ccd77953d0f1e367d268df89e7cc1c663c475ba7
  Author: Alexey Bataev <a.bataev at outlook.com>
  Date:   2025-01-22 (Wed, 22 Jan 2025)

  Changed paths:
    A llvm/test/Transforms/SLPVectorizer/AArch64/alternate-vectorization-split-node.ll

  Log Message:
  -----------
  [SLP][NFC]Add a test with potential alternate node, marked for minbitwidth size


  Commit: 4f40b07533eabceeaf56fb89d27b020c6f7aae7e
      https://github.com/llvm/llvm-project/commit/4f40b07533eabceeaf56fb89d27b020c6f7aae7e
  Author: Phoebe Wang <phoebe.wang at intel.com>
  Date:   2025-01-22 (Wed, 22 Jan 2025)

  Changed paths:
    M clang/include/clang/Basic/BuiltinsX86.td
    M clang/lib/Headers/avx10_2_512satcvtintrin.h
    M clang/lib/Headers/avx10_2satcvtintrin.h
    M clang/test/CodeGen/X86/avx10_2_512satcvt-builtins.c
    M clang/test/CodeGen/X86/avx10_2satcvt-builtins.c
    M llvm/include/llvm/IR/IntrinsicsX86.td
    M llvm/lib/Target/X86/X86InstrAVX10.td
    M llvm/lib/Target/X86/X86IntrinsicsInfo.h
    M llvm/test/CodeGen/X86/avx10_2_512satcvt-intrinsics.ll
    M llvm/test/CodeGen/X86/avx10_2satcvt-intrinsics.ll
    M llvm/test/MC/Disassembler/X86/avx10.2-satcvt-32.txt
    M llvm/test/MC/Disassembler/X86/avx10.2-satcvt-64.txt
    M llvm/test/MC/X86/avx10.2satcvt-32-att.s
    M llvm/test/MC/X86/avx10.2satcvt-32-intel.s
    M llvm/test/MC/X86/avx10.2satcvt-64-att.s
    M llvm/test/MC/X86/avx10.2satcvt-64-intel.s
    M llvm/test/TableGen/x86-fold-tables.inc

  Log Message:
  -----------
  [X86][AVX10.2-SATCVT][NFC] Remove NE from intrinsic and instruction name (#123275)

Ref.: https://cdrdv2.intel.com/v1/dl/getContent/828965


  Commit: 1df50e6245cbc04f3b28de3c40127ad61d46b43b
      https://github.com/llvm/llvm-project/commit/1df50e6245cbc04f3b28de3c40127ad61d46b43b
  Author: Edd Dawson <edd.dawson at sony.com>
  Date:   2025-01-22 (Wed, 22 Jan 2025)

  Changed paths:
    M clang/lib/Driver/ToolChains/PS4CPU.cpp
    M clang/test/Driver/ps5-linker.c

  Log Message:
  -----------
  [PS5][Driver] Don't link with --build-id when -static (#123930)

Users of the PlayStation SDK aren't given the means to create or run
static executables. Uses of `-static` are limited a few specialized
cases within SIE. A `--build-id` isn't wanted in those cases.

SIE tracker: TOOLCHAIN-16704


  Commit: a2063ba7ffdbbb4faf5da5f32739ab761c2e4289
      https://github.com/llvm/llvm-project/commit/a2063ba7ffdbbb4faf5da5f32739ab761c2e4289
  Author: Kadir Cetinkaya <kadircet at google.com>
  Date:   2025-01-22 (Wed, 22 Jan 2025)

  Changed paths:
    M clang-tools-extra/clangd/GlobalCompilationDatabase.cpp

  Log Message:
  -----------
  [clangd][NFC] Delete a pessimizing move


  Commit: a7a8694c5a23c04322f22bf8ce5685cb4b1dddc3
      https://github.com/llvm/llvm-project/commit/a7a8694c5a23c04322f22bf8ce5685cb4b1dddc3
  Author: AdityaK <hiraditya at msn.com>
  Date:   2025-01-22 (Wed, 22 Jan 2025)

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

  Log Message:
  -----------
  Remove references to mips within Android (#123856)


  Commit: 70a16b90ff391ff82ef54d4ae6ffcb5eb50162a0
      https://github.com/llvm/llvm-project/commit/70a16b90ff391ff82ef54d4ae6ffcb5eb50162a0
  Author: Joseph Huber <huberjn at outlook.com>
  Date:   2025-01-22 (Wed, 22 Jan 2025)

  Changed paths:
    M clang/lib/CodeGen/CGCUDANV.cpp
    M clang/test/CodeGenCUDA/offloading-entries.cu
    M clang/test/Driver/linker-wrapper-image.c
    M llvm/include/llvm/Frontend/Offloading/Utility.h
    M llvm/lib/Frontend/Offloading/OffloadWrapper.cpp
    M llvm/lib/Frontend/Offloading/Utility.cpp

  Log Message:
  -----------
  [HIP] Support managed variables using the new driver (#123437)

Summary:
Previously, managed variables didn't work in rdc mode using the new
driver because we just didn't register them. This was previously ignored
because we didn't have enough space in the current struct format. This
patch amends that by just emitting a struct pair for the two variables
and using the single pointer.

In the future, a more extensible entry format would be nice, but that
can be done later.


  Commit: 4170d6123c51e088fde0ce8c11008b442077fa00
      https://github.com/llvm/llvm-project/commit/4170d6123c51e088fde0ce8c11008b442077fa00
  Author: Nico Weber <thakis at chromium.org>
  Date:   2025-01-22 (Wed, 22 Jan 2025)

  Changed paths:
    M llvm/utils/gn/secondary/llvm/utils/TableGen/BUILD.gn

  Log Message:
  -----------
  [gn] port 6aeffcdb9130


  Commit: d0a89e71791736d67d5a5d77fce184f106dc3d3e
      https://github.com/llvm/llvm-project/commit/d0a89e71791736d67d5a5d77fce184f106dc3d3e
  Author: Nico Weber <thakis at chromium.org>
  Date:   2025-01-22 (Wed, 22 Jan 2025)

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

  Log Message:
  -----------
  [gn] fix mistake in d7fb4a275c98f


  Commit: c938436f7120872d2e2f72272b7adf2913d91783
      https://github.com/llvm/llvm-project/commit/c938436f7120872d2e2f72272b7adf2913d91783
  Author: Danial Klimkin <dklimkin at google.com>
  Date:   2025-01-22 (Wed, 22 Jan 2025)

  Changed paths:
    M llvm/lib/CodeGen/GlobalISel/CSEInfo.cpp
    M llvm/unittests/CodeGen/GlobalISel/CSETest.cpp

  Log Message:
  -----------
  Revert "[GISel] Add more FP opcodes to CSE (#123624)" (#123954)

This reverts commit 43177b524ee06dfc09cbc357ff277d4f53f5dc15.


  Commit: aa580c2ec5eb4217c945a47a561181be7e7b1032
      https://github.com/llvm/llvm-project/commit/aa580c2ec5eb4217c945a47a561181be7e7b1032
  Author: qt-tatiana <tatiana.borisova at qt.io>
  Date:   2025-01-22 (Wed, 22 Jan 2025)

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

  Log Message:
  -----------
  [clang-tidy] Add `EnableQtSupport` option to modernize-use-integer-sign-comprison (#122127)

- add an option `EnableQtSupport`, that makes C++17 `q20::cmp_*`
alternative available for Qt-based applications.


  Commit: 93d35ad5f53a69606eac0dabb8ceef066ce4d407
      https://github.com/llvm/llvm-project/commit/93d35ad5f53a69606eac0dabb8ceef066ce4d407
  Author: Matt Arsenault <Matthew.Arsenault at amd.com>
  Date:   2025-01-22 (Wed, 22 Jan 2025)

  Changed paths:
    M llvm/lib/Target/AMDGPU/AMDGPUTargetMachine.cpp
    M llvm/lib/Target/AMDGPU/GCNSubtarget.cpp
    M llvm/lib/Target/AMDGPU/GCNSubtarget.h
    R llvm/test/CodeGen/AMDGPU/power-sched-no-cycle.mir

  Log Message:
  -----------
  AMDGPU: Delete FillMFMAShadowMutation (#123861)

No test changes with this removed and it appears to
be obsolete.


  Commit: 6b486f458fe40919577d9249fa754daa913795d1
      https://github.com/llvm/llvm-project/commit/6b486f458fe40919577d9249fa754daa913795d1
  Author: flopop01 <florin.popa at arm.com>
  Date:   2025-01-22 (Wed, 22 Jan 2025)

  Changed paths:
    M clang/lib/Driver/ToolChains/Arch/ARM.cpp
    M clang/test/Preprocessor/arm-target-features.c

  Log Message:
  -----------
  [Clang][Arch] Disable mve.fp when explicit -mfpu option (#123028)


  Commit: b0d35cf22e15be5c62835d689f3c7e301d9f22cd
      https://github.com/llvm/llvm-project/commit/b0d35cf22e15be5c62835d689f3c7e301d9f22cd
  Author: Joshua Cranmer <joshua.cranmer at intel.com>
  Date:   2025-01-22 (Wed, 22 Jan 2025)

  Changed paths:
    M llvm/include/llvm/Transforms/Utils/SSAUpdater.h
    M llvm/lib/Transforms/Utils/SSAUpdater.cpp

  Log Message:
  -----------
  [SSAUpdater] Avoid scanning basic blocks to find instruction order. (#123803)

This fixes a compile-time regression caused by #116645, where an entry
basic block with a very large number of allocas and other instructions
caused SROA to take ~100× its expected runtime, as every alloca (with ~2
uses) now calls this method to find the order of those few instructions,
rescanning the very large basic block every single time.

Since this code was originally written, Instructions now have ordering
numbers available to determine relative order without unnecessarily
scanning the basic block.


  Commit: 58c6d440f8c24ef1532d12e50302e290e1907a87
      https://github.com/llvm/llvm-project/commit/58c6d440f8c24ef1532d12e50302e290e1907a87
  Author: Fangrui Song <i at maskray.me>
  Date:   2025-01-22 (Wed, 22 Jan 2025)

  Changed paths:
    M llvm/cmake/config-ix.cmake
    M llvm/include/llvm/Config/config.h.cmake
    M llvm/lib/Support/Unix/DynamicLibrary.inc
    M llvm/lib/Support/Unix/Path.inc
    M llvm/lib/Support/Unix/Signals.inc
    M llvm/lib/Support/Unix/Unix.h
    M llvm/unittests/Support/DynamicLibrary/DynamicLibraryTest.cpp
    M llvm/utils/gn/secondary/llvm/include/llvm/Config/BUILD.gn
    M utils/bazel/llvm-project-overlay/llvm/include/llvm/Config/config.h
    M utils/bazel/llvm_configs/config.h.cmake

  Log Message:
  -----------
  [CMake] Remove HAVE_DLFCN_H and HAVE_DLADDR (#123879)

It is sufficient to just use `HAVE_DLOPEN`.


  Commit: 5a9b74d20d5f3b7f92c01d68d28778108dfb1308
      https://github.com/llvm/llvm-project/commit/5a9b74d20d5f3b7f92c01d68d28778108dfb1308
  Author: Kazu Hirata <kazu at google.com>
  Date:   2025-01-22 (Wed, 22 Jan 2025)

  Changed paths:
    M mlir/lib/Dialect/Tosa/Transforms/TosaInferShapes.cpp

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

This patch fixes:

  mlir/lib/Dialect/Tosa/Transforms/TosaInferShapes.cpp:309:7: error:
  variable 'errs' set but not used [-Werror,-Wunused-but-set-variable]


  Commit: 75ce2dc475b12c12419904cd67b9d12b79a66242
      https://github.com/llvm/llvm-project/commit/75ce2dc475b12c12419904cd67b9d12b79a66242
  Author: Jon Roelofs <jonathan_roelofs at apple.com>
  Date:   2025-01-22 (Wed, 22 Jan 2025)

  Changed paths:
    M clang/test/Driver/print-enabled-extensions/aarch64-apple-m4.c
    M llvm/lib/Target/AArch64/AArch64Processors.td

  Log Message:
  -----------
  [llvm][AArch64] apple-m4 does not have FEAT_{SPEv1p2,SEL2,MPAM} (#123827)

This commit addresses some uncertainty raised in 84fa1755a5b7845ddaeaa513a3786013c76c9c88 as to which features Apple M4 has.


  Commit: fa6f88af102cb79a0371725b487e929cb0bcfcb2
      https://github.com/llvm/llvm-project/commit/fa6f88af102cb79a0371725b487e929cb0bcfcb2
  Author: Petr Kurapov <petr.a.kurapov at intel.com>
  Date:   2025-01-22 (Wed, 22 Jan 2025)

  Changed paths:
    M mlir/include/mlir/Dialect/XeGPU/IR/XeGPUOps.td
    M mlir/lib/Dialect/XeGPU/IR/XeGPUOps.cpp
    M mlir/test/Dialect/XeGPU/XeGPUOps.mlir
    M mlir/test/Dialect/XeGPU/invalid.mlir

  Log Message:
  -----------
  [MLIR][XeGPU] Allow some nd ops to have argument shapes mismatch for … (#120566)

…the distributed IR case.

This patch allows `nd_load` and `nd_store` to preserve the tensor
descriptor shape during distribution to SIMT. The validation now expects
the distributed instruction to retain the `sg_map` attribute and uses it
to verify the consistency.


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

  Changed paths:
    M llvm/lib/Target/X86/X86CallingConv.cpp
    M llvm/lib/Target/X86/X86ISelLoweringCall.cpp

  Log Message:
  -----------
  [X86] Simplify ArrayRef construction. NFC (#123899)

I think the std::begin/end were to work around an old gcc bug. Hopefully
we don't need them anymore.


  Commit: 9e6494c0fb29dfb5d4d2b7bf3ed7af261efee034
      https://github.com/llvm/llvm-project/commit/9e6494c0fb29dfb5d4d2b7bf3ed7af261efee034
  Author: Craig Topper <craig.topper at sifive.com>
  Date:   2025-01-22 (Wed, 22 Jan 2025)

  Changed paths:
    M llvm/include/llvm/CodeGen/MachineScheduler.h
    M llvm/include/llvm/CodeGen/RegisterPressure.h
    M llvm/lib/CodeGen/MachinePipeliner.cpp
    M llvm/lib/CodeGen/MachineScheduler.cpp
    M llvm/lib/CodeGen/RegisterPressure.cpp
    M llvm/lib/Target/AMDGPU/GCNRegPressure.cpp
    M llvm/lib/Target/AMDGPU/GCNRegPressure.h

  Log Message:
  -----------
  [CodeGen] Rename RegisterMaskPair to VRegMaskOrUnit. NFC (#123799)

This holds a physical register unit or virtual register and mask.

While I was here I've used emplace_back and removed an unneeded use of a
template.


  Commit: f63e8ed16ef1fd2deb80cd88b5ca9d5b631b1c36
      https://github.com/llvm/llvm-project/commit/f63e8ed16ef1fd2deb80cd88b5ca9d5b631b1c36
  Author: Ilya Biryukov <ibiryukov at google.com>
  Date:   2025-01-22 (Wed, 22 Jan 2025)

  Changed paths:
    M clang/include/clang/AST/Attr.h
    M clang/include/clang/Basic/Attr.td
    M clang/include/clang/Serialization/ASTReader.h
    M clang/include/clang/Serialization/ASTRecordReader.h
    M clang/lib/Serialization/ASTReader.cpp
    M clang/lib/Serialization/ASTReaderDecl.cpp
    M clang/lib/Serialization/ASTWriter.cpp
    M clang/test/Modules/preferred_name.cppm
    M clang/utils/TableGen/ClangAttrEmitter.cpp

  Log Message:
  -----------
  Revert "[Modules] Delay deserialization of preferred_name attribute at r… (#122726)"

This reverts commit c3ba6f378ef80d750e2278560c6f95a300114412.

We are seeing performance regressions of up to 40% on some compilations
with this patch, we will investigate and reland after fixing performance
issues.


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

  Changed paths:
    M llvm/test/CodeGen/X86/var-permute-256.ll

  Log Message:
  -----------
  [X86] var-permute-256.ll - regenerate VPTERNLOG comments


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

  Changed paths:
    M llvm/test/CodeGen/X86/sadd_sat_vec.ll
    M llvm/test/CodeGen/X86/ssub_sat_vec.ll

  Log Message:
  -----------
  [X86] add/sub signed sat vec tests - regenerate VPTERNLOG comments


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

  Changed paths:
    M llvm/test/CodeGen/X86/avx512-broadcast-unfold.ll

  Log Message:
  -----------
  [X86] avx512-broadcast-unfold.ll - regenerate VPTERNLOG comments


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

  Changed paths:
    M llvm/test/CodeGen/X86/avx512-intrinsics-fast-isel.ll
    M llvm/test/CodeGen/X86/avx512-intrinsics.ll
    M llvm/test/CodeGen/X86/avx512vl-intrinsics-fast-isel.ll

  Log Message:
  -----------
  [X86] avx512 intrinsics tests - regenerate VPTERNLOG comments


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

  Changed paths:
    M llvm/test/CodeGen/X86/vector-rotate-128.ll
    M llvm/test/CodeGen/X86/vector-rotate-256.ll
    M llvm/test/CodeGen/X86/vector-rotate-512.ll

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


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

  Changed paths:
    M llvm/test/CodeGen/X86/vector-reduce-and-bool.ll
    M llvm/test/CodeGen/X86/vector-reduce-and-cmp.ll
    M llvm/test/CodeGen/X86/vector-reduce-and-scalar.ll
    M llvm/test/CodeGen/X86/vector-reduce-umax.ll

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


  Commit: 2476417232cdf2e1fce1a1df466b0995cdf559c5
      https://github.com/llvm/llvm-project/commit/2476417232cdf2e1fce1a1df466b0995cdf559c5
  Author: Thurston Dang <thurston at google.com>
  Date:   2025-01-22 (Wed, 22 Jan 2025)

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

  Log Message:
  -----------
  Reapply "[sanitizer][NFCI] Add Options parameter to LowerAllowCheckPass" (#122833) (#122994)

This reverts commit 1515caf7a59dc20cb932b724b2ef5c1d1a593427
(https://github.com/llvm/llvm-project/pull/122833) i.e., relands
7d8b4eb0ead277f41ff69525ed807f9f6e227f37
(https://github.com/llvm/llvm-project/pull/122765), with LowerAllowCheckPass::Options moved inside the callback to fix a stack use-after-scope error.

---------

Co-authored-by: Vitaly Buka <vitalybuka at gmail.com>


  Commit: f3c3a9b8829760b730b6651e460f9035065dd4c5
      https://github.com/llvm/llvm-project/commit/f3c3a9b8829760b730b6651e460f9035065dd4c5
  Author: Nick Desaulniers <nickdesaulniers at users.noreply.github.com>
  Date:   2025-01-22 (Wed, 22 Jan 2025)

  Changed paths:
    M libc/CMakeLists.txt

  Log Message:
  -----------
  [libc][cmake] error if user disables sanitizers but wants scudo (#123834)

I found this out the hard way...though we don't suggest in our docs setting or
unsetting COMPILER_RT_BUILD_SANITIZERS, I had this explicitly disabled in a
cmake script I was using to setup an llvm-libc based sysroot. While the libc
compiled, hello world failed to link due to missing references to malloc at
link time. Though I had set the cmake variables to opt into using scudo,
apparently explicitly disabling sanitizers will still prevent scudo from being
built... Check for this at configure time and stop the build then.


  Commit: ddb8607fe8b0b74a6d89c79d4fcc158673ac765a
      https://github.com/llvm/llvm-project/commit/ddb8607fe8b0b74a6d89c79d4fcc158673ac765a
  Author: Nick Desaulniers <nickdesaulniers at users.noreply.github.com>
  Date:   2025-01-22 (Wed, 22 Jan 2025)

  Changed paths:
    M libc/docs/CMakeLists.txt
    M libc/docs/headers/index.rst

  Log Message:
  -----------
  [libc][docs] disable pthreads docs (#123824)

Having a target named pthreads is breaking when multiple runtimes are enabled.
Disable this target for now so that the builds go back to green (and sites get
updated).

Link: https://github.com/llvm/llvm-zorg/issues/359#issuecomment-2600285688
Link: #122006
Link: #122497
Link: #123821


  Commit: 8e79ade49d68c49aeb8ba008b59f559b86d22765
      https://github.com/llvm/llvm-project/commit/8e79ade49d68c49aeb8ba008b59f559b86d22765
  Author: Nick Desaulniers <nickdesaulniers at users.noreply.github.com>
  Date:   2025-01-22 (Wed, 22 Jan 2025)

  Changed paths:
    M libc/src/__support/macros/null_check.h
    M libc/test/src/math/smoke/nan_test.cpp
    M libc/test/src/math/smoke/nanf128_test.cpp
    M libc/test/src/math/smoke/nanf16_test.cpp
    M libc/test/src/math/smoke/nanf_test.cpp
    M libc/test/src/math/smoke/nanl_test.cpp

  Log Message:
  -----------
  [libc][LIBC_ADD_NULL_CHECKS] replace volatile deref with __builtin_trap (#123401)

Also, update the unit tests that were checking for SIGSEGV to not check for a
specific signal.

To further improve this check, it may be worth:
- renaming the configuration option/macro/docs to be clearer about intent.
- swap __builtin_trap for __builtin_unreachable, removing the preprocessor
  variants of LIBC_CRASH_ON_NULLPTR, then unconditionally using
  `-fsanitize=unreachable -fsanitize-trap=unreachable` in cmake flags when
  LIBC_ADD_NULL_CHECKS is enabled.
- building with `-fno-delete-null-pointer-checks` when LIBC_ADD_NULL_CHECKS (or
  when some larger yet to be added hardening config) is enabled.

Link: #111546


  Commit: f78359cf43cb990f66412059383cdd95ab6e6ec4
      https://github.com/llvm/llvm-project/commit/f78359cf43cb990f66412059383cdd95ab6e6ec4
  Author: Igor Wodiany <igor.wodiany at imgtec.com>
  Date:   2025-01-22 (Wed, 22 Jan 2025)

  Changed paths:
    M mlir/include/mlir/Dialect/SPIRV/IR/SPIRVBase.td
    M mlir/include/mlir/Dialect/SPIRV/IR/SPIRVOps.td
    A mlir/include/mlir/Dialect/SPIRV/IR/SPIRVPrimitiveOps.td
    M mlir/test/Dialect/SPIRV/IR/availability.mlir
    A mlir/test/Dialect/SPIRV/IR/primitive-ops.mlir
    A mlir/test/Target/SPIRV/primitive-ops.mlir

  Log Message:
  -----------
  [mlir][spirv] Add definition for OpEmitVertex and OpEndPrimitive (#123759)

This is hopefully the first patch in the series of patches adding some
missing SPIR-V ops to MLIR over the next weeks/months, starting with
something simple: `OpEmitVertex` and `OpEndPrimitive`. Since the ops
have no input and outputs, and the only condition is "This instruction
must only be used when only one stream is present.", which I don't think
can be validate at the instruction level in isolation, I set
`hasVerifier` to 0. I hope I didn't miss anything, but I'm more than
happy to address any comments.


  Commit: 511dc261ab94da7db6e67b05cdcef9dcff44798a
      https://github.com/llvm/llvm-project/commit/511dc261ab94da7db6e67b05cdcef9dcff44798a
  Author: Michael Buch <michaelbuch12 at gmail.com>
  Date:   2025-01-22 (Wed, 22 Jan 2025)

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

  Log Message:
  -----------
  [lldb][DWARFASTParserClang][NFCI] Factor out CV-qualifier/is_static parsing from ParseChildParameters (#123951)

This patch continues simplifying `ParseChildParameters` by moving out
the logic that parses the first parameter of a function DIE into a
helper function. Since with GCC (and lately Clang) function declarations
have `DW_AT_object_pointer`s, we should be able to check for the
attribute's existence to determine if a function is static (and also
deduce CV-qualifiers from it). This will be useful for cases where the
object parameter is explicit (which is possible since C++23).

This should be NFC. I added a FIXME to places where we assume an
implicit object parameter (which will be addressed in a follow-up
patch).

We used to guard parsing of the CV-qualifiers of the "this" parameter
with a `encoding_mask & Type::eEncodingIsPointerUID`, which is
incorrect, because `eEncodingIsPointerUID` cannot be used as a bitmask
directly (see https://github.com/llvm/llvm-project/issues/120856). This
patch corrects this, but it should still be NFC because any parameter in
C++ called "this" *is* an implicit object parameter.


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

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

  Log Message:
  -----------
  [BranchFolding] Remove getBranchDebugLoc() (#114613)


  Commit: a56ba1fab07b2c9b1d0287bdf56cdad4d54a5f33
      https://github.com/llvm/llvm-project/commit/a56ba1fab07b2c9b1d0287bdf56cdad4d54a5f33
  Author: goldsteinn <35538541+goldsteinn at users.noreply.github.com>
  Date:   2025-01-22 (Wed, 22 Jan 2025)

  Changed paths:
    M llvm/lib/Analysis/ValueTracking.cpp
    M llvm/test/Analysis/ScalarEvolution/cycled_phis.ll
    M llvm/test/Analysis/ScalarEvolution/unknown_phis.ll
    M llvm/test/Transforms/InstCombine/known-phi-recurse.ll
    M llvm/test/Transforms/SimplifyCFG/switch-branch-fold-indirectbr-102351.ll

  Log Message:
  -----------
  [ValueTracking] Handle recursive select/PHI in ComputeKnownBits (#114689)


Finish porting #114008 to `KnownBits` (Follow up to #113707).


  Commit: afcbcae668f1d8061974247f2828190173aef742
      https://github.com/llvm/llvm-project/commit/afcbcae668f1d8061974247f2828190173aef742
  Author: Anchu Rajendran S <asudhaku at amd.com>
  Date:   2025-01-22 (Wed, 22 Jan 2025)

  Changed paths:
    M mlir/include/mlir/Dialect/OpenMP/OpenMPClauses.td
    M mlir/include/mlir/Dialect/OpenMP/OpenMPEnums.td
    M mlir/include/mlir/Dialect/OpenMP/OpenMPOps.td
    M mlir/lib/Conversion/SCFToOpenMP/SCFToOpenMP.cpp
    M mlir/lib/Dialect/OpenMP/IR/OpenMPDialect.cpp
    M mlir/lib/Target/LLVMIR/Dialect/OpenMP/OpenMPToLLVMIRTranslation.cpp
    M mlir/test/Dialect/OpenMP/invalid.mlir
    M mlir/test/Dialect/OpenMP/ops.mlir
    M mlir/test/Target/LLVMIR/openmp-todo.mlir

  Log Message:
  -----------
   [mlir][OpenMP] inscan reduction modifier and scan op mlir support (#114737)

Scan directive allows to specify scan reductions within an worksharing
loop, worksharing loop simd or simd directive which should have an
`InScan` modifier associated with it. This change adds the mlir support
for the same.

Related PR: [Parsing and Semantic Support for
scan](https://github.com/llvm/llvm-project/pull/102792)


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

  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 on rebox block argument (#123971)

Another case where the descriptor must be allocated with the CUF runtime
and not a simple alloca instruction.


  Commit: 7bf188fa991338e981e8dff120a4ed341ad7f4bd
      https://github.com/llvm/llvm-project/commit/7bf188fa991338e981e8dff120a4ed341ad7f4bd
  Author: Andy Kaylor <akaylor at nvidia.com>
  Date:   2025-01-22 (Wed, 22 Jan 2025)

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

  Log Message:
  -----------
  [NFC] Minor fix to tryEmitAbstract type in EmitCXXNewAllocSize (#123433)

In EmitCXXNewAllocSize, when handling a constant array size, we were
calling tryEmitAbstract with the type of the object being allocated rather
than the expected type of the array size. This worked out because the
allocated type was always a pointer and tryEmitAbstract only ends up
using the size of the type to extend or truncate the constant, and in this
case the destination type should be size_t, which is usually the same
width as the pointer. This change fixes the type, but it makes no
functional difference with the current constant emitter implementation.


  Commit: b40739a6e90cfb000b49de819251c1581fd5ee50
      https://github.com/llvm/llvm-project/commit/b40739a6e90cfb000b49de819251c1581fd5ee50
  Author: Kazu Hirata <kazu at google.com>
  Date:   2025-01-22 (Wed, 22 Jan 2025)

  Changed paths:
    M llvm/include/llvm/BinaryFormat/ELF.h
    M llvm/include/llvm/MC/MCELFStreamer.h
    R llvm/include/llvm/Support/AArch64BuildAttributes.h
    M llvm/lib/MC/MCELFStreamer.cpp
    R llvm/lib/Support/AArch64BuildAttributes.cpp
    M llvm/lib/Support/CMakeLists.txt
    M llvm/lib/Target/AArch64/AArch64AsmPrinter.cpp
    M llvm/lib/Target/AArch64/AsmParser/AArch64AsmParser.cpp
    M llvm/lib/Target/AArch64/MCTargetDesc/AArch64ELFStreamer.cpp
    M llvm/lib/Target/AArch64/MCTargetDesc/AArch64TargetStreamer.cpp
    M llvm/lib/Target/AArch64/MCTargetDesc/AArch64TargetStreamer.h
    R llvm/test/CodeGen/AArch64/aarch64-build-attributes-all.ll
    R llvm/test/CodeGen/AArch64/aarch64-build-attributes-bti.ll
    R llvm/test/CodeGen/AArch64/aarch64-build-attributes-gcs.ll
    R llvm/test/CodeGen/AArch64/aarch64-build-attributes-pac.ll
    R llvm/test/CodeGen/AArch64/aarch64-build-attributes-pauthabi.ll
    R llvm/test/MC/AArch64/aarch64-build-attributes-asm-all.s
    R llvm/test/MC/AArch64/aarch64-build-attributes-asm-bti.s
    R llvm/test/MC/AArch64/aarch64-build-attributes-asm-err-attrs.s
    R llvm/test/MC/AArch64/aarch64-build-attributes-asm-err-headers.s
    R llvm/test/MC/AArch64/aarch64-build-attributes-asm-gcs.s
    R llvm/test/MC/AArch64/aarch64-build-attributes-asm-none.s
    R llvm/test/MC/AArch64/aarch64-build-attributes-asm-numerical-tags.s
    R llvm/test/MC/AArch64/aarch64-build-attributes-asm-out-of-order.s
    R llvm/test/MC/AArch64/aarch64-build-attributes-asm-pac.s
    R llvm/test/MC/AArch64/aarch64-build-attributes-asm-private-subsections-err.s
    R llvm/test/MC/AArch64/aarch64-build-attributes-asm-private-subsections.s
    M llvm/utils/gn/secondary/llvm/lib/Support/BUILD.gn

  Log Message:
  -----------
  Revert "[LLVM][Clang][AArch64] Implement AArch64 build attributes (#118771)"

This reverts commit d7fb4a275c98f4035d1083b5eb3edd2ffb2da00e.

Buildbots failing:
https://lab.llvm.org/buildbot/#/builders/169/builds/7671
https://lab.llvm.org/buildbot/#/builders/65/builds/11046


  Commit: 195a1fc5b05d7a42b2e3fa383edb9a7e8b34a9c5
      https://github.com/llvm/llvm-project/commit/195a1fc5b05d7a42b2e3fa383edb9a7e8b34a9c5
  Author: Krystian Stasiowski <sdkrystian at gmail.com>
  Date:   2025-01-22 (Wed, 22 Jan 2025)

  Changed paths:
    M clang/include/clang/Sema/Sema.h
    M clang/lib/Sema/SemaExprCXX.cpp
    M clang/lib/Sema/SemaExprMember.cpp
    M clang/lib/Sema/SemaOverload.cpp
    M clang/lib/Sema/TreeTransform.h
    M clang/test/CXX/temp/temp.res/temp.dep/temp.dep.type/p4.cpp

  Log Message:
  -----------
  Reapply "[Clang][Sema] Use the correct lookup context when building overloaded 'operator->' in the current instantiation (#104458)" (#109422)

Reapplies #104458, fixing a bug that occurs when a class member access expression calls an `operator->` operator function that returns a non-dependent class type.


  Commit: 137d706739653304294adef84ed758e3e498d975
      https://github.com/llvm/llvm-project/commit/137d706739653304294adef84ed758e3e498d975
  Author: Julian Nagele <j.nagele at apple.com>
  Date:   2025-01-22 (Wed, 22 Jan 2025)

  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] Do not attempt to collect loop guards for loops without predecessor. (#123662)

Attempting to collect loop guards for loops without a predecessor can
lead to non-terminating recursion trying to construct a SCEV.

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


  Commit: 146ee98caa9ab1f717216b08cfe72bd1ab2e0b8b
      https://github.com/llvm/llvm-project/commit/146ee98caa9ab1f717216b08cfe72bd1ab2e0b8b
  Author: Craig Topper <craig.topper at sifive.com>
  Date:   2025-01-22 (Wed, 22 Jan 2025)

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

  Log Message:
  -----------
  [RISCV] Remove duplicate WriteRes<WriteJalr for MIPSP8700. (#123865)

We had two WriteRes for WriteJalr with difference latencies. Drop the
duplicate and change the latency of Jal to 1 based on review feedback


  Commit: ec15b242505a46ea7d195a6520fb869a80a2cd10
      https://github.com/llvm/llvm-project/commit/ec15b242505a46ea7d195a6520fb869a80a2cd10
  Author: Jon Roelofs <jonathan_roelofs at apple.com>
  Date:   2025-01-22 (Wed, 22 Jan 2025)

  Changed paths:
    M llvm/test/CMakeLists.txt
    M llvm/test/Other/crash-stack-trace.ll
    M llvm/test/lit.cfg.py
    M llvm/test/lit.site.cfg.py.in

  Log Message:
  -----------
  [llvm][Support] Only enable backtrace test when it's enabled (#123852)

rdar://138554797


  Commit: 589593254eede2f624f29390dc1018725e536505
      https://github.com/llvm/llvm-project/commit/589593254eede2f624f29390dc1018725e536505
  Author: Philip Reames <preames at rivosinc.com>
  Date:   2025-01-22 (Wed, 22 Jan 2025)

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

  Log Message:
  -----------
  [RISCV][VLOpt] Reorganize visit order and worklist management (#123973)

This implements a suggestion by Craig in PR #123878. We can move the
worklist management out of the per-instruction work and do it once at
the end of scanning all the instructions. This should reduce repeat
visitation of the same instruction when no changes can be made.

Note that this does not remove the inherent O(N^2) in the algorithm.
We're still potentially visiiting every user of every def.

I also included a guard for unreachable blocks since that had been
mentioned as a possible cause. It seems we've rulled that out, but
guarding for this case is still a good idea.


  Commit: 340706f311e088f51002593b8cc7291500ca024e
      https://github.com/llvm/llvm-project/commit/340706f311e088f51002593b8cc7291500ca024e
  Author: Stefan Pintilie <stefanp at ca.ibm.com>
  Date:   2025-01-22 (Wed, 22 Jan 2025)

  Changed paths:
    M llvm/lib/Target/PowerPC/PPCFrameLowering.cpp
    M llvm/test/CodeGen/PowerPC/ppc64-rop-protection-aix.ll
    M llvm/test/CodeGen/PowerPC/ppc64-rop-protection.ll

  Log Message:
  -----------
  [PowerPC] Fix saving of Link Register when using ROP Protect (#123101)

An optimization was added that tries to move the uses of the mflr
instruction away from the instruction itself. However, this doesn't work
when we are using the hashst instruction because that instruction needs
to be run before the stack frame is obtained.

This patch disables moving instructions away from the mflr in the case
where ROP protection is being used.

---------

Co-authored-by: Lei Huang <lei at ca.ibm.com>


  Commit: 1687aa2a996f4059f275c83d5db635d43165d36c
      https://github.com/llvm/llvm-project/commit/1687aa2a996f4059f275c83d5db635d43165d36c
  Author: Michael Maitland <michaeltmaitland at gmail.com>
  Date:   2025-01-22 (Wed, 22 Jan 2025)

  Changed paths:
    M llvm/lib/Target/RISCV/RISCVVLOptimizer.cpp
    A llvm/test/CodeGen/RISCV/rvv/vlopt-same-vl.ll

  Log Message:
  -----------
  [RISCV][VLOPT] Don't reduce the VL is the same as CommonVL (#123878)

This fixes the slowdown in #123862.


  Commit: 5ede7b6a6bc22aee86e592835ccc4eaa9459e5cd
      https://github.com/llvm/llvm-project/commit/5ede7b6a6bc22aee86e592835ccc4eaa9459e5cd
  Author: Krystian Stasiowski <sdkrystian at gmail.com>
  Date:   2025-01-22 (Wed, 22 Jan 2025)

  Changed paths:
    M clang/include/clang/Sema/Sema.h
    M clang/lib/Sema/SemaExprCXX.cpp
    M clang/lib/Sema/SemaExprMember.cpp
    M clang/lib/Sema/SemaOverload.cpp
    M clang/lib/Sema/TreeTransform.h
    M clang/test/CXX/temp/temp.res/temp.dep/temp.dep.type/p4.cpp

  Log Message:
  -----------
  Revert "Reapply "[Clang][Sema] Use the correct lookup context when building overloaded 'operator->' in the current instantiation (#104458)"" (#123982)

Reverts llvm/llvm-project#109422


  Commit: 7ad8a3da4771ce8abbd146611124104d42a4e63e
      https://github.com/llvm/llvm-project/commit/7ad8a3da4771ce8abbd146611124104d42a4e63e
  Author: Teresa Johnson <tejohnson at google.com>
  Date:   2025-01-22 (Wed, 22 Jan 2025)

  Changed paths:
    M llvm/lib/Transforms/IPO/MemProfContextDisambiguation.cpp

  Log Message:
  -----------
  [MemProf] Simplify edge iterations (NFC) (#123469)

Remove edge iterator parameters from the various helpers that move edges
onto other nodes, and their associated iterator update code, and instead
iterate over copies of the edge lists in the caller loops. This also
avoids the need to increment these iterators at every early loop
continue.

This simplifies the code, makes it less error prone when updating, and
in particular, facilitates adding handling of recursive contexts.

There were no measurable compile time and memory overhead effects for a
large target.


  Commit: 3057d0f14af5e073be3b7c7942dfff2a975ac4cb
      https://github.com/llvm/llvm-project/commit/3057d0f14af5e073be3b7c7942dfff2a975ac4cb
  Author: AdityaK <hiraditya at msn.com>
  Date:   2025-01-22 (Wed, 22 Jan 2025)

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

  Log Message:
  -----------
  Android defaults to pic (#123955)


  Commit: 7e622b61320543b3706711609f1f32fd9ea3788d
      https://github.com/llvm/llvm-project/commit/7e622b61320543b3706711609f1f32fd9ea3788d
  Author: Jerry-Ge <jerry.ge at arm.com>
  Date:   2025-01-22 (Wed, 22 Jan 2025)

  Changed paths:
    M mlir/include/mlir/Dialect/Tosa/IR/TosaOps.td
    M mlir/include/mlir/Dialect/Tosa/Utils/ConversionUtils.h
    M mlir/lib/Conversion/TosaToTensor/TosaToTensor.cpp
    M mlir/lib/Dialect/Tosa/IR/TosaOps.cpp
    M mlir/lib/Dialect/Tosa/Transforms/TosaDecomposeConv2D.cpp
    M mlir/lib/Dialect/Tosa/Transforms/TosaDecomposeDepthwise.cpp
    M mlir/lib/Dialect/Tosa/Transforms/TosaDecomposeTransposeConv.cpp
    M mlir/lib/Dialect/Tosa/Utils/ConversionUtils.cpp
    M mlir/test/Conversion/TosaToTensor/tosa-to-tensor.mlir
    M mlir/test/Dialect/Tosa/canonicalize.mlir
    M mlir/test/Dialect/Tosa/invalid.mlir
    M mlir/test/Dialect/Tosa/ops.mlir
    M mlir/test/Dialect/Tosa/tosa-decompose-conv2d.mlir
    M mlir/test/Dialect/Tosa/tosa-decompose-depthwise.mlir
    M mlir/test/Dialect/Tosa/tosa-decompose-transpose-conv.mlir
    M mlir/test/Dialect/Tosa/tosa-infer-shapes.mlir

  Log Message:
  -----------
  [TOSA] Change PadOp padding to tosa.shape (#123133)

This patch changes PadOp's padding input to type !tosa.shape<2 * rank>,
(where rank is the rank of the PadOp's input), instead of a <rank x 2>
tensor.

This patch is also a part of TOSA v1.0 effort:
https://discourse.llvm.org/t/rfc-tosa-dialect-increment-to-v1-0/83708

This patch updates the PadOp to match all against the TOSA v1.0 form. 

Original Authors include: 
@Tai78641 
@wonjeon

Co-authored-by: Tai Ly <tai.ly at arm.com>


  Commit: 719f0d92538c917306004e541f38c79717d0c07d
      https://github.com/llvm/llvm-project/commit/719f0d92538c917306004e541f38c79717d0c07d
  Author: Helena Kotas <hekotas at microsoft.com>
  Date:   2025-01-22 (Wed, 22 Jan 2025)

  Changed paths:
    M clang/lib/CodeGen/CGDeclCXX.cpp
    M clang/lib/CodeGen/CGHLSLRuntime.cpp
    M clang/lib/CodeGen/CGHLSLRuntime.h
    M clang/lib/CodeGen/CodeGenModule.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/resource-bindings.hlsl

  Log Message:
  -----------
  [HLSL] Fix global resource initialization (#123394)

Create separate resource initialization function for each resource and
add them to CodeGenModule's `CXXGlobalInits` list.
Fixes #120636 and addresses this [comment
](https://github.com/llvm/llvm-project/pull/119755/files#r1894093603).


  Commit: 1cf0af3d321e3aca57e348b9c0675d153c7b6968
      https://github.com/llvm/llvm-project/commit/1cf0af3d321e3aca57e348b9c0675d153c7b6968
  Author: Brox Chen <guochen2 at amd.com>
  Date:   2025-01-22 (Wed, 22 Jan 2025)

  Changed paths:
    M llvm/lib/Target/AMDGPU/VOPCInstructions.td
    M llvm/test/MC/AMDGPU/gfx11_asm_vop3_dpp16_from_vopcx.s
    M llvm/test/MC/AMDGPU/gfx11_asm_vop3_dpp8_from_vopcx.s
    M llvm/test/MC/AMDGPU/gfx11_asm_vop3_from_vopcx.s
    M llvm/test/MC/AMDGPU/gfx11_asm_vopcx.s
    M llvm/test/MC/AMDGPU/gfx11_asm_vopcx_dpp16.s
    M llvm/test/MC/AMDGPU/gfx11_asm_vopcx_dpp8.s
    M llvm/test/MC/AMDGPU/gfx11_asm_vopcx_t16_err.s
    M llvm/test/MC/AMDGPU/gfx11_asm_vopcx_t16_promote.s
    M llvm/test/MC/AMDGPU/gfx12_asm_vop3cx.s
    M llvm/test/MC/AMDGPU/gfx12_asm_vop3cx_dpp16.s
    M llvm/test/MC/AMDGPU/gfx12_asm_vop3cx_dpp8.s
    M llvm/test/MC/AMDGPU/gfx12_asm_vopcx.s
    M llvm/test/MC/AMDGPU/gfx12_asm_vopcx_dpp16.s
    M llvm/test/MC/AMDGPU/gfx12_asm_vopcx_dpp8.s
    M llvm/test/MC/AMDGPU/gfx12_asm_vopcx_t16_err.s
    M llvm/test/MC/AMDGPU/gfx12_asm_vopcx_t16_promote.s
    M llvm/test/MC/Disassembler/AMDGPU/gfx11_dasm_vop3_dpp16_from_vopcx.txt
    M llvm/test/MC/Disassembler/AMDGPU/gfx11_dasm_vop3_dpp8_from_vopcx.txt
    M llvm/test/MC/Disassembler/AMDGPU/gfx11_dasm_vop3_from_vopcx.txt
    M llvm/test/MC/Disassembler/AMDGPU/gfx11_dasm_vopcx.txt
    M llvm/test/MC/Disassembler/AMDGPU/gfx11_dasm_vopcx_dpp16.txt
    M llvm/test/MC/Disassembler/AMDGPU/gfx11_dasm_vopcx_dpp8.txt
    M llvm/test/MC/Disassembler/AMDGPU/gfx12_dasm_vop3cx.txt
    M llvm/test/MC/Disassembler/AMDGPU/gfx12_dasm_vop3cx_dpp16.txt
    M llvm/test/MC/Disassembler/AMDGPU/gfx12_dasm_vop3cx_dpp8.txt
    M llvm/test/MC/Disassembler/AMDGPU/gfx12_dasm_vopcx.txt
    M llvm/test/MC/Disassembler/AMDGPU/gfx12_dasm_vopcx_dpp16.txt
    M llvm/test/MC/Disassembler/AMDGPU/gfx12_dasm_vopcx_dpp8.txt

  Log Message:
  -----------
  [AMDGPU][True16][MC] true16 for v_cmpx_class_f16 (#123251)

True16 format for v_cmpx_class_f16. Update VOPCX_CLASS t16 and fake16
pseudo.


  Commit: 18e9d3dbe5386dd3b88df7e3352f81498cfa6182
      https://github.com/llvm/llvm-project/commit/18e9d3dbe5386dd3b88df7e3352f81498cfa6182
  Author: Brox Chen <guochen2 at amd.com>
  Date:   2025-01-22 (Wed, 22 Jan 2025)

  Changed paths:
    M llvm/lib/Target/AMDGPU/VOPCInstructions.td
    M llvm/test/MC/AMDGPU/gfx11_asm_vop3_dpp16_from_vopcx.s
    M llvm/test/MC/AMDGPU/gfx11_asm_vop3_dpp8_from_vopcx.s
    M llvm/test/MC/AMDGPU/gfx11_asm_vop3_from_vopcx.s
    M llvm/test/MC/AMDGPU/gfx11_asm_vopcx.s
    M llvm/test/MC/AMDGPU/gfx11_asm_vopcx_dpp16.s
    M llvm/test/MC/AMDGPU/gfx11_asm_vopcx_dpp8.s
    M llvm/test/MC/AMDGPU/gfx11_asm_vopcx_t16_err.s
    M llvm/test/MC/AMDGPU/gfx11_asm_vopcx_t16_promote.s
    M llvm/test/MC/AMDGPU/gfx12_asm_vop3cx.s
    M llvm/test/MC/AMDGPU/gfx12_asm_vop3cx_dpp16.s
    M llvm/test/MC/AMDGPU/gfx12_asm_vop3cx_dpp8.s
    M llvm/test/MC/AMDGPU/gfx12_asm_vopcx.s
    M llvm/test/MC/AMDGPU/gfx12_asm_vopcx_dpp16.s
    M llvm/test/MC/AMDGPU/gfx12_asm_vopcx_dpp8.s
    M llvm/test/MC/AMDGPU/gfx12_asm_vopcx_t16_err.s
    M llvm/test/MC/AMDGPU/gfx12_asm_vopcx_t16_promote.s
    M llvm/test/MC/Disassembler/AMDGPU/gfx11_dasm_vop3_dpp16_from_vopcx.txt
    M llvm/test/MC/Disassembler/AMDGPU/gfx11_dasm_vop3_dpp8_from_vopcx.txt
    M llvm/test/MC/Disassembler/AMDGPU/gfx11_dasm_vop3_from_vopcx.txt
    M llvm/test/MC/Disassembler/AMDGPU/gfx11_dasm_vopcx.txt
    M llvm/test/MC/Disassembler/AMDGPU/gfx11_dasm_vopcx_dpp16.txt
    M llvm/test/MC/Disassembler/AMDGPU/gfx11_dasm_vopcx_dpp8.txt
    M llvm/test/MC/Disassembler/AMDGPU/gfx12_dasm_vop3cx.txt
    M llvm/test/MC/Disassembler/AMDGPU/gfx12_dasm_vop3cx_dpp16.txt
    M llvm/test/MC/Disassembler/AMDGPU/gfx12_dasm_vop3cx_dpp8.txt
    M llvm/test/MC/Disassembler/AMDGPU/gfx12_dasm_vopcx.txt
    M llvm/test/MC/Disassembler/AMDGPU/gfx12_dasm_vopcx_dpp16.txt
    M llvm/test/MC/Disassembler/AMDGPU/gfx12_dasm_vopcx_dpp8.txt

  Log Message:
  -----------
  [AMDGPU][True16][MC] true16 for v_cmpx_xx_u/i16 (#123424)

A bulk commit of true16 support for v_cmp_xx_i/u16 instructions
including:

v_cmpx_lt_i16
v_cmpx_eq_i16
v_cmpx_le_i16
v_cmpx_gt_i16
v_cmpx_ne_i16
v_cmpx_ge_i16
v_cmpx_lt_u16
v_cmpx_eq_u16
v_cmpx_le_u16
v_cmpx_gt_u16
v_cmpx_ne_u16
v_cmpx_ge_u16


  Commit: 213e03ca1174177370715a8776a6423ee29b10ca
      https://github.com/llvm/llvm-project/commit/213e03ca1174177370715a8776a6423ee29b10ca
  Author: cor3ntin <corentinjabot at gmail.com>
  Date:   2025-01-22 (Wed, 22 Jan 2025)

  Changed paths:
    M clang/docs/ReleaseNotes.rst
    M clang/include/clang/Sema/Sema.h
    M clang/lib/AST/Decl.cpp
    M clang/test/SemaCXX/cxx2b-consteval-propagate.cpp

  Log Message:
  -----------
  [Clang] Fix handling of immediate escalation for inherited constructors (#112860)

Fixes #112677


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

  Changed paths:
    M flang/lib/Optimizer/Dialect/CUF/CUFToLLVMIRTranslation.cpp

  Log Message:
  -----------
  [flang][cuda][NFC] Add kernel name in translation error (#123987)


  Commit: 2656928d0ca78e38c91315020876755e46ccecbf
      https://github.com/llvm/llvm-project/commit/2656928d0ca78e38c91315020876755e46ccecbf
  Author: Deric Cheung <cheung.deric at gmail.com>
  Date:   2025-01-22 (Wed, 22 Jan 2025)

  Changed paths:
    M clang/include/clang/Basic/BuiltinsSPIRV.td
    M clang/lib/CodeGen/CGBuiltin.cpp
    M clang/lib/Headers/hlsl/hlsl_detail.h
    M clang/lib/Headers/hlsl/hlsl_intrinsics.h
    M clang/lib/Sema/SemaSPIRV.cpp
    A clang/test/CodeGenHLSL/builtins/reflect.hlsl
    A clang/test/CodeGenSPIRV/Builtins/reflect.c
    A clang/test/SemaHLSL/BuiltIns/reflect-errors.hlsl
    A clang/test/SemaSPIRV/BuiltIns/reflect-errors.c
    M llvm/include/llvm/IR/IntrinsicsSPIRV.td
    M llvm/lib/Target/SPIRV/SPIRVInstructionSelector.cpp
    A llvm/test/CodeGen/SPIRV/hlsl-intrinsics/reflect.ll
    A llvm/test/CodeGen/SPIRV/opencl/reflect-error.ll

  Log Message:
  -----------
  Reland "[HLSL] Implement the `reflect` HLSL function" (#123853)

This PR relands
[#122992](https://github.com/llvm/llvm-project/pull/122992).

Some machines were failing to run the `reflect-error.ll` test due to the
RUN lines
```llvm
; RUN: not %if spirv-tools %{ llc -O0 -mtriple=spirv64-unknown-unknown %s -o /dev/null 2>&1 -filetype=obj %}
; RUN: not %if spirv-tools %{ llc -O0 -mtriple=spirv32-unknown-unknown %s -o /dev/null 2>&1 -filetype=obj %}
```
which failed when `spirv-tools` was not present on the machine due to
running the command `not` without any arguments.

These RUN lines have been removed since they don't actually test
anything new compared to the other two RUN lines due to the expected
error during instruction selection.
```llvm
; RUN: not llc -verify-machineinstrs -O0 -mtriple=spirv64-unknown-unknown %s -o /dev/null 2>&1 | FileCheck %s
; RUN: not llc -verify-machineinstrs -O0 -mtriple=spirv32-unknown-unknown %s -o /dev/null 2>&1 | FileCheck %s
```


  Commit: 8fb42300a02c887740825cd1b60fc4fcd8d2f933
      https://github.com/llvm/llvm-project/commit/8fb42300a02c887740825cd1b60fc4fcd8d2f933
  Author: Tom Honermann <tom.honermann at intel.com>
  Date:   2025-01-22 (Wed, 22 Jan 2025)

  Changed paths:
    M clang/include/clang/AST/ASTNodeTraverser.h
    M clang/include/clang/AST/Decl.h
    M clang/include/clang/AST/RecursiveASTVisitor.h
    A clang/include/clang/AST/StmtSYCL.h
    M clang/include/clang/AST/StmtVisitor.h
    M clang/include/clang/Basic/AttrDocs.td
    M clang/include/clang/Basic/DeclNodes.td
    M clang/include/clang/Basic/DiagnosticSemaKinds.td
    M clang/include/clang/Basic/StmtNodes.td
    M clang/include/clang/Sema/SemaSYCL.h
    M clang/include/clang/Sema/Template.h
    M clang/include/clang/Serialization/ASTBitCodes.h
    M clang/lib/AST/ASTStructuralEquivalence.cpp
    M clang/lib/AST/Decl.cpp
    M clang/lib/AST/DeclBase.cpp
    M clang/lib/AST/Stmt.cpp
    M clang/lib/AST/StmtPrinter.cpp
    M clang/lib/AST/StmtProfile.cpp
    M clang/lib/CodeGen/CGDecl.cpp
    M clang/lib/CodeGen/CGStmt.cpp
    M clang/lib/CodeGen/CodeGenFunction.h
    M clang/lib/Sema/SemaDecl.cpp
    M clang/lib/Sema/SemaExceptionSpec.cpp
    M clang/lib/Sema/SemaSYCL.cpp
    M clang/lib/Sema/TreeTransform.h
    M clang/lib/Serialization/ASTCommon.cpp
    M clang/lib/Serialization/ASTReaderDecl.cpp
    M clang/lib/Serialization/ASTReaderStmt.cpp
    M clang/lib/Serialization/ASTWriterDecl.cpp
    M clang/lib/Serialization/ASTWriterStmt.cpp
    M clang/lib/StaticAnalyzer/Core/ExprEngine.cpp
    A clang/test/ASTSYCL/ast-dump-sycl-kernel-call-stmt.cpp
    M clang/test/ASTSYCL/ast-dump-sycl-kernel-entry-point.cpp
    M clang/test/SemaSYCL/sycl-kernel-entry-point-attr-appertainment.cpp
    M clang/tools/libclang/CIndex.cpp
    M clang/tools/libclang/CXCursor.cpp

  Log Message:
  -----------
  [SYCL] AST support for SYCL kernel entry point functions. (#122379)

A SYCL kernel entry point function is a non-member function or a static
member function declared with the `sycl_kernel_entry_point` attribute.
Such functions define a pattern for an offload kernel entry point
function to be generated to enable execution of a SYCL kernel on a
device. A SYCL library implementation orchestrates the invocation of
these functions with corresponding SYCL kernel arguments in response to
calls to SYCL kernel invocation functions specified by the SYCL 2020
specification.

The offload kernel entry point function (sometimes referred to as the
SYCL kernel caller function) is generated from the SYCL kernel entry
point function by a transformation of the function parameters followed
by a transformation of the function body to replace references to the
original parameters with references to the transformed ones. Exactly how
parameters are transformed will be explained in a future change that
implements non-trivial transformations. For now, it suffices to state
that a given parameter of the SYCL kernel entry point function may be
transformed to multiple parameters of the offload kernel entry point as
needed to satisfy offload kernel argument passing requirements.
Parameters that are decomposed in this way are reconstituted as local
variables in the body of the generated offload kernel entry point
function.

For example, given the following SYCL kernel entry point function
definition:
```
template<typename KernelNameType, typename KernelType>
[[clang::sycl_kernel_entry_point(KernelNameType)]]
void sycl_kernel_entry_point(KernelType kernel) {
  kernel();
}
```

and the following call:
```
struct Kernel {
  int dm1;
  int dm2;
  void operator()() const;
};
Kernel k;
sycl_kernel_entry_point<class kernel_name>(k);
```

the corresponding offload kernel entry point function that is generated
might look as follows (assuming `Kernel` is a type that requires
decomposition):
```
void offload_kernel_entry_point_for_kernel_name(int dm1, int dm2) {
  Kernel kernel{dm1, dm2};
  kernel();
}
```

Other details of the generated offload kernel entry point function, such
as its name and calling convention, are implementation details that need
not be reflected in the AST and may differ across target devices. For
that reason, only the transformation described above is represented in
the AST; other details will be filled in during code generation.

These transformations are represented using new AST nodes introduced
with this change. `OutlinedFunctionDecl` holds a sequence of
`ImplicitParamDecl` nodes and a sequence of statement nodes that
correspond to the transformed parameters and function body.
`SYCLKernelCallStmt` wraps the original function body and associates it
with an `OutlinedFunctionDecl` instance. For the example above, the AST
generated for the `sycl_kernel_entry_point<kernel_name>` specialization
would look as follows:
```
FunctionDecl 'sycl_kernel_entry_point<kernel_name>(Kernel)'
  TemplateArgument type 'kernel_name'
  TemplateArgument type 'Kernel'
  ParmVarDecl kernel 'Kernel'
  SYCLKernelCallStmt
    CompoundStmt
      <original statements>
    OutlinedFunctionDecl
      ImplicitParamDecl 'dm1' 'int'
      ImplicitParamDecl 'dm2' 'int'
      CompoundStmt
        VarDecl 'kernel' 'Kernel'
          <initialization of 'kernel' with 'dm1' and 'dm2'>
        <transformed statements with redirected references of 'kernel'>
```

Any ODR-use of the SYCL kernel entry point function will (with future
changes) suffice for the offload kernel entry point to be emitted. An
actual call to the SYCL kernel entry point function will result in a
call to the function. However, evaluation of a `SYCLKernelCallStmt`
statement is a no-op, so such calls will have no effect other than to
trigger emission of the offload kernel entry point.

Additionally, as a related change inspired by code review feedback,
these changes disallow use of the `sycl_kernel_entry_point` attribute
with functions defined with a _function-try-block_. The SYCL 2020
specification prohibits the use of C++ exceptions in device functions.
Even if exceptions were not prohibited, it is unclear what the semantics
would be for an exception that escapes the SYCL kernel entry point
function; the boundary between host and device code could be an implicit
noexcept boundary that results in program termination if violated, or
the exception could perhaps be propagated to host code via the SYCL
library. Pending support for C++ exceptions in device code and clear
semantics for handling them at the host-device boundary, this change
makes use of the `sycl_kernel_entry_point` attribute with a function
defined with a _function-try-block_ an error.


  Commit: 517334bdb83deaae3be6fbc4fa5f1d721b01c0f0
      https://github.com/llvm/llvm-project/commit/517334bdb83deaae3be6fbc4fa5f1d721b01c0f0
  Author: Craig Topper <craig.topper at sifive.com>
  Date:   2025-01-22 (Wed, 22 Jan 2025)

  Changed paths:
    M llvm/utils/TableGen/Common/CodeGenSchedule.cpp
    M llvm/utils/TableGen/Common/CodeGenSchedule.h
    M llvm/utils/TableGen/SubtargetEmitter.cpp

  Log Message:
  -----------
  [TableGen] Add maps from Write/ReadType to the parent WriteRes/ReadAdvance. NFC (#123876)

Use this to improve performance of SubtargetEmitter::findWriteResources
and SubtargetEmitter::findReadAdvance. Now we can do a map lookup
instead of a linear search through all WriteRes/ReadAdvance records.
    
This reduces the build time of RISCVGenSubtargetInfo.inc on my
machine from 43 seconds to 10 seconds.


  Commit: ac94fade6075fec89eb29c7dedf01ef59601e61d
      https://github.com/llvm/llvm-project/commit/ac94fade6075fec89eb29c7dedf01ef59601e61d
  Author: Vyacheslav Levytskyy <vyacheslav.levytskyy at intel.com>
  Date:   2025-01-22 (Wed, 22 Jan 2025)

  Changed paths:
    M llvm/lib/Target/SPIRV/SPIRVAPI.cpp
    M llvm/unittests/Target/SPIRV/SPIRVAPITest.cpp

  Log Message:
  -----------
  [SPIR-V] Rename internal command line flags for optimization level and mtriple used when passing options into the translate API call (#123975)

Rename internal command line flags for optimization level and mtriple
used when passing options into the translate API call.


  Commit: 68c6b2e18809342e3747d50eb0dc84246393941b
      https://github.com/llvm/llvm-project/commit/68c6b2e18809342e3747d50eb0dc84246393941b
  Author: Congcong Cai <congcongcai0907 at 163.com>
  Date:   2025-01-23 (Thu, 23 Jan 2025)

  Changed paths:
    M clang-tools-extra/clang-tidy/misc/UnusedUsingDeclsCheck.cpp
    M clang/include/clang/ASTMatchers/ASTMatchersInternal.h

  Log Message:
  -----------
  [ASTMatchers][NFC] use `Matcher<QualType>` instead of `DynTypedMatcher` in `TypeLocTypeMatcher` (#123450)

There are no template in `TypeLocTypeMatcher`. So we do not need to use
`DynTypedMatcher` which can improve performance


  Commit: a2c683b665e99831c5d6343a9afeeae2877b393a
      https://github.com/llvm/llvm-project/commit/a2c683b665e99831c5d6343a9afeeae2877b393a
  Author: Jacek Caban <jacek at codeweavers.com>
  Date:   2025-01-22 (Wed, 22 Jan 2025)

  Changed paths:
    M lld/COFF/Driver.cpp
    M lld/COFF/Driver.h
    M lld/COFF/SymbolTable.cpp
    M lld/COFF/SymbolTable.h
    M lld/test/COFF/arm64x-export.test

  Log Message:
  -----------
  [LLD][COFF] Use EC symbol table for exports defined in module definition files (#123849)


  Commit: 4e9d5a3a307b362529583969e59070bc17909f23
      https://github.com/llvm/llvm-project/commit/4e9d5a3a307b362529583969e59070bc17909f23
  Author: Jacek Caban <jacek at codeweavers.com>
  Date:   2025-01-22 (Wed, 22 Jan 2025)

  Changed paths:
    M lld/COFF/Driver.cpp
    M lld/COFF/Options.td
    M lld/test/COFF/arm64x-export.test

  Log Message:
  -----------
  [LLD][COFF] Add support for the -defArm64Native argument (#123850)

MSVC ignores the `/defArm64Native` argument on non-ARM64X targets.
It is also ignored if the `/def` option is not specified.


  Commit: a77250fd782530f42a90f8562bcef0eb26abb010
      https://github.com/llvm/llvm-project/commit/a77250fd782530f42a90f8562bcef0eb26abb010
  Author: Jacques Pienaar <jpienaar at google.com>
  Date:   2025-01-22 (Wed, 22 Jan 2025)

  Changed paths:
    M mlir/include/mlir-c/IR.h
    M mlir/lib/Bindings/Python/IRCore.cpp
    M mlir/lib/CAPI/IR/IR.cpp
    M mlir/test/CAPI/ir.c
    M mlir/test/python/ir/location.py

  Log Message:
  -----------
  [mlir] Add C and Python interface for file range (#123276)

Plumbs through creating file ranges to C and Python.


  Commit: 223bd0ca81f871beb31d40b4f02753493c30b5b2
      https://github.com/llvm/llvm-project/commit/223bd0ca81f871beb31d40b4f02753493c30b5b2
  Author: Nikolas Klauser <nikolasklauser at berlin.de>
  Date:   2025-01-22 (Wed, 22 Jan 2025)

  Changed paths:
    M libcxx/include/__type_traits/copy_cvref.h

  Log Message:
  -----------
  [libc++] Avoid unnecessary instantiations for __copy_cvref_t (#123718)

This changes the implementation of `__copy_cvref_t` to only template the
implementation class on the `_From` parameter, avoiding instantiations
for every combination of `_From` and `_To`.


  Commit: 27ccc99c4f4300115aa0d619e8e4693f18b2af9d
      https://github.com/llvm/llvm-project/commit/27ccc99c4f4300115aa0d619e8e4693f18b2af9d
  Author: Philip Reames <preames at rivosinc.com>
  Date:   2025-01-22 (Wed, 22 Jan 2025)

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

  Log Message:
  -----------
  [RISCV][VLOpt] Minor worklist invariant cleanup [NFC] (#123989)

In retrospect, this probably should have been rolled into #123973. It
seemed more involved when I first decided to split. :)


  Commit: e0ae8890460d6c6a90dd27fe6762128b2161000b
      https://github.com/llvm/llvm-project/commit/e0ae8890460d6c6a90dd27fe6762128b2161000b
  Author: vporpo <vporpodas at google.com>
  Date:   2025-01-22 (Wed, 22 Jan 2025)

  Changed paths:
    M llvm/docs/SandboxIR.md

  Log Message:
  -----------
  [SandboxIR][Doc] Add Quick start notes (#123992)


  Commit: 630177ccdde44b0dd8faa13b34002d15c4b0af8d
      https://github.com/llvm/llvm-project/commit/630177ccdde44b0dd8faa13b34002d15c4b0af8d
  Author: David CARLIER <devnexen at gmail.com>
  Date:   2025-01-22 (Wed, 22 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] Fix madvise/posix_madvise for macOs. (#124020)

only bsd and linux intercept these syscalls.
Fix #123601


  Commit: 939f2900d03c6ab0a89ba619ff25c8542bd11a5a
      https://github.com/llvm/llvm-project/commit/939f2900d03c6ab0a89ba619ff25c8542bd11a5a
  Author: David CARLIER <devnexen at gmail.com>
  Date:   2025-01-22 (Wed, 22 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] getsockopt/setsockopt interception. (#124004)


  Commit: fd087135efe1b62b506c3caef3fef83242a8e504
      https://github.com/llvm/llvm-project/commit/fd087135efe1b62b506c3caef3fef83242a8e504
  Author: vporpo <vporpodas at google.com>
  Date:   2025-01-22 (Wed, 22 Jan 2025)

  Changed paths:
    M llvm/include/llvm/Transforms/Vectorize/SandboxVectorizer/Legality.h
    M llvm/lib/Transforms/Vectorize/SandboxVectorizer/Legality.cpp
    M llvm/lib/Transforms/Vectorize/SandboxVectorizer/Passes/BottomUpVec.cpp
    M llvm/test/Transforms/SandboxVectorizer/bottomup_basic.ll

  Log Message:
  -----------
  [SandboxVec][Legality] Diamond reuse multi input (#123426)

This patch implements the diamond pattern where we are vectorizing
toward the top of the diamond from both edges, but the second edge may
use elements from a different vector or just scalar values. This
requires some additional packing code (see lit test).


  Commit: 64360899c76cb2e687ef1fcea617ef455e8a2621
      https://github.com/llvm/llvm-project/commit/64360899c76cb2e687ef1fcea617ef455e8a2621
  Author: Yeoul Na <yeoul_na at apple.com>
  Date:   2025-01-22 (Wed, 22 Jan 2025)

  Changed paths:
    M clang/docs/BoundsSafety.rst
    A clang/docs/BoundsSafetyAdoptionGuide.rst
    M clang/docs/index.rst

  Log Message:
  -----------
  [BoundsSafety][Doc] Add BoundsSafetyAdoptionGuide.rst (#120674)

This adds an instruction to adopt `-fbounds-safety` using the preview
implementation available in the fork of llvm-project.


  Commit: a939a9fd53d98f33b94f9121646d5906a2b9f598
      https://github.com/llvm/llvm-project/commit/a939a9fd53d98f33b94f9121646d5906a2b9f598
  Author: Jacob Lalonde <jalalonde at fb.com>
  Date:   2025-01-22 (Wed, 22 Jan 2025)

  Changed paths:
    A lldb/test/API/tools/lldb-dap/progress/Makefile
    A lldb/test/API/tools/lldb-dap/progress/Progress_emitter.py
    A lldb/test/API/tools/lldb-dap/progress/TestDAP_Progress.py
    A lldb/test/API/tools/lldb-dap/progress/main.cpp
    M lldb/tools/lldb-dap/ProgressEvent.cpp
    M lldb/tools/lldb-dap/ProgressEvent.h

  Log Message:
  -----------
  [LLDB-DAP] Send Progress update message over DAP (#123837)

When testing my SBProgress DAP PR (#123826), I noticed Progress update
messages aren't sent over DAP. This patch adds the lldb progress event's
message to the body when sent over DAP.

Before 

![image](https://github.com/user-attachments/assets/404adaa8-b784-4f23-895f-cd3625fdafad)


Now

![image](https://github.com/user-attachments/assets/eb1c3235-0936-4e36-96e5-0a0ee60dabb8)

Tested with my [progress tester
command](https://gist.github.com/Jlalond/48d85e75a91f7a137e3142e6a13d0947),
testing 10 events 5 seconds apart 1-10


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

  Changed paths:
    A flang/include/flang/Runtime/CUDA/pointer.h
    M flang/lib/Optimizer/Transforms/CUFOpConversion.cpp
    M flang/runtime/CUDA/CMakeLists.txt
    A flang/runtime/CUDA/pointer.cpp
    M flang/test/Fir/CUDA/cuda-allocate.fir

  Log Message:
  -----------
  [flang][cuda] Handle simple device pointer allocation (#123996)


  Commit: 98de5dfe6a8cbb70f21de545acec4710a77294ed
      https://github.com/llvm/llvm-project/commit/98de5dfe6a8cbb70f21de545acec4710a77294ed
  Author: Jakub Kuderski <jakub at nod-labs.com>
  Date:   2025-01-22 (Wed, 22 Jan 2025)

  Changed paths:
    M mlir/include/mlir/IR/Attributes.h
    M mlir/include/mlir/IR/OperationSupport.h
    M mlir/lib/IR/Attributes.cpp
    M mlir/lib/IR/Builders.cpp
    M mlir/lib/IR/OperationSupport.cpp

  Log Message:
  -----------
  [mlir] Add NamedAttribute ctor taking StringRef. NFC. (#123974)

This is a small QoL improvement so that we don't have to go through
helpers when building `NamedAttribute`s.


  Commit: 2dc1c95595e409c74a8a3d743afb7898e1af3255
      https://github.com/llvm/llvm-project/commit/2dc1c95595e409c74a8a3d743afb7898e1af3255
  Author: vporpo <vporpodas at google.com>
  Date:   2025-01-22 (Wed, 22 Jan 2025)

  Changed paths:
    M llvm/include/llvm/Transforms/Vectorize/SandboxVectorizer/VecUtils.h
    M llvm/lib/Transforms/Vectorize/SandboxVectorizer/Passes/BottomUpVec.cpp
    M llvm/unittests/Transforms/Vectorize/SandboxVectorizer/VecUtilsTest.cpp

  Log Message:
  -----------
  [SandboxVec][VecUtils] Implement VecUtils::getLowest() (#124024)

VecUtils::getLowest(Valse) returns the lowest instruction in the BB among Vals.
If the instructions are not in the same BB, or if none of them is an
instruction it returns nullptr.


  Commit: 96dbd0006c3c4c9de5f1fe4f3bbac3c74acac436
      https://github.com/llvm/llvm-project/commit/96dbd0006c3c4c9de5f1fe4f3bbac3c74acac436
  Author: Craig Topper <craig.topper at sifive.com>
  Date:   2025-01-22 (Wed, 22 Jan 2025)

  Changed paths:
    M llvm/test/CodeGen/RISCV/rvv/vmv-copy.mir

  Log Message:
  -----------
  [RISCV] Re-generate test checks so we pick up implicit  on whole register moves. NFC


  Commit: 9fbf5cfebcd770fbe0e453f36ee7c74809339f18
      https://github.com/llvm/llvm-project/commit/9fbf5cfebcd770fbe0e453f36ee7c74809339f18
  Author: Ben Langmuir <blangmuir at apple.com>
  Date:   2025-01-22 (Wed, 22 Jan 2025)

  Changed paths:
    M clang/include/clang/CodeGen/BackendUtil.h
    M clang/lib/CodeGen/BackendUtil.cpp
    M clang/lib/CodeGen/CodeGenAction.cpp
    M clang/lib/CodeGen/ObjectFilePCHContainerWriter.cpp
    A clang/test/Modules/gmodules-codegenopts.c

  Log Message:
  -----------
  [clang][modules] Partially revert 48d0eb518 to fix -gmodules output (#124003)

With the changes in 48d0eb518, the CodeGenOptions used to emit .pcm
files with -fmodule-format=obj (-gmodules) were the ones from the
original invocation, rather than the ones specifically crafted for
outputting the pcm. This was causing the pcm to be written with only the
debug info and without the __clangast section in some cases (e.g. -O2).
This unforunately was not covered by existing tests, because compiling
and loading a module within a single compilation load the ast content
from the in-memory module cache rather than reading it from the pcm file
that was written. This broke bootstrapping a build of clang with modules
enabled on Darwin.

rdar://143418834


  Commit: 8f45452c5309d0ae59dd383de6dae1aa4eabbb9c
      https://github.com/llvm/llvm-project/commit/8f45452c5309d0ae59dd383de6dae1aa4eabbb9c
  Author: Tom Stellard <tstellar at redhat.com>
  Date:   2025-01-22 (Wed, 22 Jan 2025)

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

  Log Message:
  -----------
  workflows/release-binaries: Restrict jobs based on owner instead of repo (#123797)

Not really any functional change, just a clean up that could make it
easier to share snippets with other repos.


  Commit: 8110af75b1500be2313e523a2d2da6bb7806b700
      https://github.com/llvm/llvm-project/commit/8110af75b1500be2313e523a2d2da6bb7806b700
  Author: vporpo <vporpodas at google.com>
  Date:   2025-01-22 (Wed, 22 Jan 2025)

  Changed paths:
    M llvm/include/llvm/Transforms/Vectorize/SandboxVectorizer/Passes/BottomUpVec.h
    M llvm/lib/Transforms/Vectorize/SandboxVectorizer/Passes/BottomUpVec.cpp
    A llvm/test/Transforms/SandboxVectorizer/pack.ll

  Log Message:
  -----------
  [SandboxVec][BottomUpVec] Fix codegen when packing constants. (#124033)

Before this patch packing a bundle of constants would crash because
`getInsertPointAfterInstrs()` expected instructions. This patch fixes
this.


  Commit: d5457e4c1619e5dbeefd49841e284cbc24d35cb4
      https://github.com/llvm/llvm-project/commit/d5457e4c1619e5dbeefd49841e284cbc24d35cb4
  Author: Vitaly Buka <vitalybuka at google.com>
  Date:   2025-01-22 (Wed, 22 Jan 2025)

  Changed paths:
    M clang/test/Index/crash-recovery-modules.m

  Log Message:
  -----------
  [NFC][Index] Disable LSAN on crash recovery tests (#124035)

Avoiding leaks in such cases is very hard.

There are similar suppression in other Index tests.


  Commit: eaaac050588ec67afcdbb347df5597458a9b10d1
      https://github.com/llvm/llvm-project/commit/eaaac050588ec67afcdbb347df5597458a9b10d1
  Author: Kazu Hirata <kazu at google.com>
  Date:   2025-01-22 (Wed, 22 Jan 2025)

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

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

This patch fixes:

  clang/lib/Sema/SemaSYCL.cpp:428:25: error: unused variable 'SKI'
  [-Werror,-Wunused-variable]


  Commit: a9d2834508e276d0a3cc09ac549132b56796e87f
      https://github.com/llvm/llvm-project/commit/a9d2834508e276d0a3cc09ac549132b56796e87f
  Author: Hua Tian <akiratian at tencent.com>
  Date:   2025-01-23 (Thu, 23 Jan 2025)

  Changed paths:
    M llvm/include/llvm/CodeGen/TargetInstrInfo.h
    M llvm/lib/CodeGen/ModuloSchedule.cpp
    M llvm/lib/Target/AArch64/AArch64InstrInfo.cpp
    M llvm/lib/Target/ARM/ARMBaseInstrInfo.cpp
    M llvm/lib/Target/Hexagon/HexagonInstrInfo.cpp
    M llvm/lib/Target/PowerPC/PPCInstrInfo.cpp
    M llvm/lib/Target/RISCV/RISCVInstrInfo.cpp
    A llvm/test/CodeGen/Hexagon/swp-ws-live-intervals-issue123165.mir

  Log Message:
  -----------
  [llvm][CodeGen] Fix the issue caused by live interval checking in window scheduler (#123184)

At some corner cases, the cloned MI still retains an old slot index,
which leads to the compiler crashing. This patch update the slot index
map before delete the recycled MI.

https://github.com/llvm/llvm-project/issues/123165


  Commit: 847acbbc529133b2300721a809751891200f37f5
      https://github.com/llvm/llvm-project/commit/847acbbc529133b2300721a809751891200f37f5
  Author: epitavy <32581827+epitavy at users.noreply.github.com>
  Date:   2025-01-23 (Thu, 23 Jan 2025)

  Changed paths:
    M llvm/examples/ExceptionDemo/CMakeLists.txt
    M llvm/examples/ExceptionDemo/ExceptionDemo.cpp

  Log Message:
  -----------
  [ExceptionDemo] Transition example from MCJIT to ORC and fix errors (#92504)

ExceptionDemo has been broken for some time. This patch fixes the
compilation errors and moves the example from MCJIT to ORC.


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

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

  Log Message:
  -----------
  PeepholeOpt: Remove unnecessary check for null TargetInstrInfo (#123929)

This can never happen.


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

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

  Log Message:
  -----------
  [SLP] Move transformMaskAfterShuffle into BaseShuffleAnalysis and use it as much as possible. (#123896)


  Commit: 1042ddc31b594511657ff70a82d71e2d037e2e35
      https://github.com/llvm/llvm-project/commit/1042ddc31b594511657ff70a82d71e2d037e2e35
  Author: Nico Weber <thakis at chromium.org>
  Date:   2025-01-22 (Wed, 22 Jan 2025)

  Changed paths:
    M llvm/utils/gn/secondary/llvm/test/BUILD.gn

  Log Message:
  -----------
  [gn] port ec15b242505


  Commit: 6f69adeed6728e49c16d47bdde658285f49c8ed7
      https://github.com/llvm/llvm-project/commit/6f69adeed6728e49c16d47bdde658285f49c8ed7
  Author: Matt Arsenault <Matthew.Arsenault at amd.com>
  Date:   2025-01-23 (Thu, 23 Jan 2025)

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

  Log Message:
  -----------
  PeepholeOpt: Remove null TargetRegisterInfo check (#123933)

This cannot happen. Also simplify the LaneBitmask check from !none
to any.


  Commit: 2646e2d487027e61c4e3cba5ceecfd95cedce0fe
      https://github.com/llvm/llvm-project/commit/2646e2d487027e61c4e3cba5ceecfd95cedce0fe
  Author: Matt Arsenault <Matthew.Arsenault at amd.com>
  Date:   2025-01-23 (Thu, 23 Jan 2025)

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

  Log Message:
  -----------
  PeepholeOpt: Stop allocating tiny helper classes (NFC) (#123936)

This was allocating tiny helper classes for every instruction
visited. We can just dispatch over the cases in the visitor
function instead.


  Commit: ba70368f1380f8d22494fc8c100d2ab894a3cf94
      https://github.com/llvm/llvm-project/commit/ba70368f1380f8d22494fc8c100d2ab894a3cf94
  Author: ZhaoQi <zhaoqi01 at loongson.cn>
  Date:   2025-01-23 (Thu, 23 Jan 2025)

  Changed paths:
    M clang/include/clang/Basic/DiagnosticDriverKinds.td
    M clang/lib/Driver/ToolChains/Arch/LoongArch.cpp
    M clang/lib/Driver/ToolChains/Gnu.cpp
    A clang/test/Driver/loongarch-relax-features.c

  Log Message:
  -----------
  [Clang][Driver] Support linker relaxation options for LoongArch (#123587)

This commit completed four tasks:
- Add `-mrelax/-mno-relax` options support for LoongArch in clang
driver.
- Print error for `-gsplit-dwarf` with LoongArch linker relaxation
(`-mrelax`).
- Pass `-X` to linker to discard a plethora of `.L` symbols due to
linker relaxation.
- Forward `--no-relax` option to linker.


  Commit: 15c2d4baf17292b4966d335846b30c50063f0265
      https://github.com/llvm/llvm-project/commit/15c2d4baf17292b4966d335846b30c50063f0265
  Author: Matt Arsenault <Matthew.Arsenault at amd.com>
  Date:   2025-01-23 (Thu, 23 Jan 2025)

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

  Log Message:
  -----------
  PeepholeOpt: Remove check for subreg index on a def operand (#123943)

This is looking at operand 0 of a REG_SEQUENCE, which can never
have a subregister index.


  Commit: 9cefa3e6fccf30959433b96a8a275417b1429f4e
      https://github.com/llvm/llvm-project/commit/9cefa3e6fccf30959433b96a8a275417b1429f4e
  Author: Thurston Dang <thurston at google.com>
  Date:   2025-01-22 (Wed, 22 Jan 2025)

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

  Log Message:
  -----------
  [msan] Generalize handleIntrinsicByApplyingToShadow by adding bitcasting (#123474)

`handleIntrinsicByApplyingToShadow` (introduced in
https://github.com/llvm/llvm-project/pull/114490) requires that the
intrinsic supports integer-ish operands; this is not the case for all
intrinsics. This patch generalizes the function to bitcast the shadow
arguments to be the same type as the original intrinsic, thus
guaranteeing that the intrinsic exists. Additionally, it casts the
computed shadow to be an appropriate shadow type.

This function assumes that the intrinsic will handle arbitrary
bit-patterns (for example, if the intrinsic accepts floats for var1, we
assume that it works normally even if inputs are NaNs etc.).


  Commit: ba3e6f0f0f2bebeb2b82e976ea1b5df007784862
      https://github.com/llvm/llvm-project/commit/ba3e6f0f0f2bebeb2b82e976ea1b5df007784862
  Author: Luke Lau <luke at igalia.com>
  Date:   2025-01-23 (Thu, 23 Jan 2025)

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

  Log Message:
  -----------
  [RISCV][VLOPT] Remove dead passthru check in getOperandLog2EEW. NFC (#123911)

We already bail if the user is tied in checkUsers, which is true for all
passthrus. Remove the check in getOperandLog2EEW so that it only worries
about computing the OperandInfo, and leaves the passthru correctness to
checkUsers.


  Commit: 0fe8e70c6609ff86cd40fbb45a85a8ed04c153c2
      https://github.com/llvm/llvm-project/commit/0fe8e70c6609ff86cd40fbb45a85a8ed04c153c2
  Author: Finn Plummer <50529406+inbelic at users.noreply.github.com>
  Date:   2025-01-22 (Wed, 22 Jan 2025)

  Changed paths:
    M clang/include/clang/Basic/BuiltinsSPIRV.td
    M clang/lib/CodeGen/CGBuiltin.cpp
    M clang/lib/Headers/hlsl/hlsl_detail.h
    M clang/lib/Headers/hlsl/hlsl_intrinsics.h
    M clang/lib/Sema/SemaSPIRV.cpp
    R clang/test/CodeGenHLSL/builtins/reflect.hlsl
    R clang/test/CodeGenSPIRV/Builtins/reflect.c
    R clang/test/SemaHLSL/BuiltIns/reflect-errors.hlsl
    R clang/test/SemaSPIRV/BuiltIns/reflect-errors.c
    M llvm/include/llvm/IR/IntrinsicsSPIRV.td
    M llvm/lib/Target/SPIRV/SPIRVInstructionSelector.cpp
    R llvm/test/CodeGen/SPIRV/hlsl-intrinsics/reflect.ll
    R llvm/test/CodeGen/SPIRV/opencl/reflect-error.ll

  Log Message:
  -----------
  Revert "Reland "[HLSL] Implement the `reflect` HLSL function"" (#124046)

Reverts llvm/llvm-project#123853

The introduction of `reflect-error.ll` surfaced a bug with the use of
`report_fatal_error` in `SPIRVInstructionSelector` that was propagated
into the pr. This has caused a build-bot breakage, and the work to solve
the underlying issue is tracked here:
https://github.com/llvm/llvm-project/issues/124045. We can re-apply this
commit when the underlying issue is resolved.


  Commit: 3ef90f843fee74ff811ef88246734475f50e2073
      https://github.com/llvm/llvm-project/commit/3ef90f843fee74ff811ef88246734475f50e2073
  Author: Jianjian Guan <jacquesguan at me.com>
  Date:   2025-01-23 (Thu, 23 Jan 2025)

  Changed paths:
    M mlir/lib/Target/Cpp/TranslateToCpp.cpp
    M mlir/test/Target/Cpp/switch.mlir

  Log Message:
  -----------
  [emitc] Fix the translation switchop with argument of expressionop (#123701)

Now a `emitc.switch` with argument of `emitc.expression` wouldn't emit
its argument to cpp. This patch fix it.


  Commit: b46fcb9fa32f24660b1b8858d5c4cbdb76ef9d8b
      https://github.com/llvm/llvm-project/commit/b46fcb9fa32f24660b1b8858d5c4cbdb76ef9d8b
  Author: Younan Zhang <zyn7109 at gmail.com>
  Date:   2025-01-23 (Thu, 23 Jan 2025)

  Changed paths:
    M clang/docs/ReleaseNotes.rst
    M clang/lib/Sema/SemaTemplateDeductionGuide.cpp
    M clang/test/CXX/drs/cwg26xx.cpp
    M clang/test/SemaTemplate/deduction-guide.cpp
    M clang/www/cxx_dr_status.html

  Log Message:
  -----------
  [Clang] Implement CWG 2628 "Implicit deduction guides should propagate constraints" (#111143)

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


  Commit: 652ff20140d79544db4dfa21314fc62c3c9182e5
      https://github.com/llvm/llvm-project/commit/652ff20140d79544db4dfa21314fc62c3c9182e5
  Author: Renaud Kauffmann <rkauffmann at nvidia.com>
  Date:   2025-01-22 (Wed, 22 Jan 2025)

  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
    M flang/test/Semantics/cuf-device-procedures01.cuf

  Log Message:
  -----------
  [flang][cuda] Adding atomicadd as a cudadevice intrinsic and converting it LLVM dialect (#123840)

With these changes, CUF atomic operations are handled as cudadevice
intrinsics and are converted straight to the LLVM dialect with the
`llvm.atomicrw` operation.

I am only submitting changes for `atomicadd` to gather feedback. If we
are to proceed with these changes I will add support for all other
applicable atomic operations following this pattern.


  Commit: 892a804d93d44ddfd7cd351852fe6aef32d4dcd0
      https://github.com/llvm/llvm-project/commit/892a804d93d44ddfd7cd351852fe6aef32d4dcd0
  Author: Akshay Deodhar <adeodhar at nvidia.com>
  Date:   2025-01-22 (Wed, 22 Jan 2025)

  Changed paths:
    M llvm/lib/Target/NVPTX/NVPTXISelLowering.cpp
    M llvm/lib/Target/NVPTX/NVPTXSubtarget.h
    M llvm/test/CodeGen/NVPTX/atomics-sm70.ll
    M llvm/test/CodeGen/NVPTX/atomics-sm90.ll
    M llvm/test/CodeGen/NVPTX/cmpxchg.ll

  Log Message:
  -----------
  [NVPTX] Stop using 16-bit CAS instructions from PTX (#120220)

Increases minimum CAS size from 16 bit to 32 bit, for better SASS
codegen.

When atomics are emulated using atom.cas.b16, the SASS generated
includes 2 (nested) emulation loops. When emulated using an atom.cas.b32
loop, the SASS too has a single emulation loop. Using 32 bit CAS thus
results in better codegen.


  Commit: 1c5d971e425ff080dffd4d9a9a7734ead042d323
      https://github.com/llvm/llvm-project/commit/1c5d971e425ff080dffd4d9a9a7734ead042d323
  Author: Fangrui Song <i at maskray.me>
  Date:   2025-01-22 (Wed, 22 Jan 2025)

  Changed paths:
    M llvm/lib/Support/Unix/Signals.inc

  Log Message:
  -----------
  [Signals] Exclude dladdr for AIX after #123879

Widely supported but missing on AIX
https://www.austingroupbugs.net/view.php?id=993


  Commit: 75750722737e9128500b81363ba66c62fea1e4fe
      https://github.com/llvm/llvm-project/commit/75750722737e9128500b81363ba66c62fea1e4fe
  Author: Aiden Grossman <aidengrossman at google.com>
  Date:   2025-01-23 (Thu, 23 Jan 2025)

  Changed paths:
    M llvm/test/tools/llvm-exegesis/X86/inverse_throughput/inverse_throughput-prepare-all-snippets-exhaustively.s
    M llvm/test/tools/llvm-exegesis/X86/inverse_throughput/inverse_throughput-prepare-all-snippets.s
    M llvm/test/tools/llvm-exegesis/X86/uops/uops-prepare-all-snippets-exhaustively.s
    M llvm/test/tools/llvm-exegesis/X86/uops/uops-prepare-all-snippets.s

  Log Message:
  -----------
  [llvm-exegesis] Disable exhaustive tests on Windows

When looking at the slowest lit tests, I'm seeing these four tests take
two to eight minutes. Test coverage on Linux should be sufficient for
the functionality on top of it not really being useful on Windows at
all.

This was observed when hacking on the new premerge in a windows VM.


  Commit: 19834b4623fd1e7ae5185ed76031b407c3fa7a47
      https://github.com/llvm/llvm-project/commit/19834b4623fd1e7ae5185ed76031b407c3fa7a47
  Author: tangaac <tangyan01 at loongson.cn>
  Date:   2025-01-23 (Thu, 23 Jan 2025)

  Changed paths:
    M clang/include/clang/Driver/Options.td
    M clang/lib/Basic/Targets/LoongArch.cpp
    M clang/lib/Basic/Targets/LoongArch.h
    M clang/lib/Driver/ToolChains/Arch/LoongArch.cpp
    M clang/test/Driver/loongarch-march.c
    A clang/test/Driver/loongarch-mscq.c
    M clang/test/Preprocessor/init-loongarch.c
    M llvm/include/llvm/TargetParser/LoongArchTargetParser.def
    M llvm/include/llvm/TargetParser/LoongArchTargetParser.h
    M llvm/lib/Target/LoongArch/LoongArch.td
    M llvm/lib/Target/LoongArch/LoongArchExpandAtomicPseudoInsts.cpp
    M llvm/lib/Target/LoongArch/LoongArchISelLowering.cpp
    M llvm/lib/Target/LoongArch/LoongArchInstrInfo.td
    M llvm/lib/TargetParser/Host.cpp
    M llvm/lib/TargetParser/LoongArchTargetParser.cpp
    A llvm/test/CodeGen/LoongArch/ir-instruction/atomic-cmpxchg-128.ll

  Log Message:
  -----------
  [LoongArch] Support sc.q instruction for 128bit cmpxchg operation (#116771)

Two options for clang
  -mno-scq:                Disable sc.q instruction.
  -mscq:                   Enable sc.q instruction.
The default is -mno-scq.


  Commit: 0bcf34e422683b900ed504c5e4605038b257f1ee
      https://github.com/llvm/llvm-project/commit/0bcf34e422683b900ed504c5e4605038b257f1ee
  Author: MagentaTreehouse <99200384+MagentaTreehouse at users.noreply.github.com>
  Date:   2025-01-23 (Thu, 23 Jan 2025)

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

  Log Message:
  -----------
  [Clang] [NFC] Mark `UnresolvedSetImpl`'s move operations as defaulted (#97930)


  Commit: d80b814c010580b0fd02c1b1a9521a0b640a358a
      https://github.com/llvm/llvm-project/commit/d80b814c010580b0fd02c1b1a9521a0b640a358a
  Author: Weining Lu <luweining at loongson.cn>
  Date:   2025-01-23 (Thu, 23 Jan 2025)

  Changed paths:
    M llvm/docs/ReleaseNotes.md

  Log Message:
  -----------
  [LoongArch] Summary llvm20 release notes


  Commit: 3c7a878d919c6483c9e78a3ed4578d4ee2f54408
      https://github.com/llvm/llvm-project/commit/3c7a878d919c6483c9e78a3ed4578d4ee2f54408
  Author: Weining Lu <luweining at loongson.cn>
  Date:   2025-01-23 (Thu, 23 Jan 2025)

  Changed paths:
    M clang/docs/ReleaseNotes.rst

  Log Message:
  -----------
  [LoongArch] Summary clang20 release notes


  Commit: aa273fd83eccb55215f4cb18285f8462a1013f5c
      https://github.com/llvm/llvm-project/commit/aa273fd83eccb55215f4cb18285f8462a1013f5c
  Author: Weining Lu <luweining at loongson.cn>
  Date:   2025-01-23 (Thu, 23 Jan 2025)

  Changed paths:
    M lld/docs/ReleaseNotes.rst

  Log Message:
  -----------
  [LoongArch] Update lld20 release notes


  Commit: 163935a48df69bde944fae2b4581541dab30c730
      https://github.com/llvm/llvm-project/commit/163935a48df69bde944fae2b4581541dab30c730
  Author: quic_hchandel <165007698+hchandel at users.noreply.github.com>
  Date:   2025-01-23 (Thu, 23 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/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/RISCVInstrInfo.cpp
    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/xqcilo-aliases-valid.s
    A llvm/test/MC/RISCV/xqcilo-invalid.s
    A llvm/test/MC/RISCV/xqcilo-valid.s
    M llvm/unittests/TargetParser/RISCVISAInfoTest.cpp

  Log Message:
  -----------
  [RISCV] Add Qualcomm uC Xqcilo (Large Offset Load Store) extension (#123881)

This extension adds eight 48 bit load store instructions.

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

This patch adds assembler only support.

---------

Co-authored-by: Harsh Chandel <hchandel at qti.qualcomm.com>


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

  Changed paths:
    M llvm/include/llvm/CodeGen/MachineFunction.h
    M llvm/include/llvm/CodeGen/MachineJumpTableInfo.h
    M llvm/include/llvm/CodeGen/Passes.h
    M llvm/include/llvm/InitializePasses.h
    M llvm/include/llvm/Passes/MachinePassRegistry.def
    M llvm/lib/CodeGen/CMakeLists.txt
    M llvm/lib/CodeGen/CodeGen.cpp
    M llvm/lib/CodeGen/MachineFunction.cpp
    A llvm/lib/CodeGen/StaticDataSplitter.cpp
    M llvm/lib/CodeGen/TargetPassConfig.cpp
    A llvm/test/CodeGen/X86/jump-table-partition.ll

  Log Message:
  -----------
  [CodeGen] Introduce Static Data Splitter pass (#122183)

https://discourse.llvm.org/t/rfc-profile-guided-static-data-partitioning/83744
proposes to partition static data sections.

This patch introduces a codegen pass. This patch produces jump table
hotness in the in-memory states (machine jump table info and entries).
Target-lowering and asm-printer consume the states and produce `.hot`
section suffix. The follow up PR
https://github.com/llvm/llvm-project/pull/122215 implements such
changes.

---------

Co-authored-by: Ellis Hoag <ellis.sparky.hoag at gmail.com>


  Commit: d15f3e828d3d3335aa9b92b9013a590b71e56b92
      https://github.com/llvm/llvm-project/commit/d15f3e828d3d3335aa9b92b9013a590b71e56b92
  Author: Madhur Amilkanthwar <madhura at nvidia.com>
  Date:   2025-01-23 (Thu, 23 Jan 2025)

  Changed paths:
    M llvm/lib/Transforms/Scalar/LoopInterchange.cpp
    M llvm/test/Transforms/LoopInterchange/bail-out-one-loop.ll
    A llvm/test/Transforms/LoopInterchange/deep-loop-nest.ll

  Log Message:
  -----------
  [LoopInterchange] Constrain LI within supported loop nest depth (#118656)

This patch is an extension to #115128.

After profiling LLVM test-suite, I see a lot of loop nest of depth more
than `MaxLoopNestDepth` which is 10. Early exit for them would save
compile-time as it would avoid computing DependenceInfo and CacheCost.

Please see 'bound-max-depth' branch on compile-time-tracker.


  Commit: 646f034e4e228f9d5d6a0142210e5e28f2ea7872
      https://github.com/llvm/llvm-project/commit/646f034e4e228f9d5d6a0142210e5e28f2ea7872
  Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
  Date:   2025-01-23 (Thu, 23 Jan 2025)

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

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


  Commit: daa18205c6f0a3b5dd62ba2e65948e1a9182a60f
      https://github.com/llvm/llvm-project/commit/daa18205c6f0a3b5dd62ba2e65948e1a9182a60f
  Author: Kaviya Rajendiran <67495422+kaviya2510 at users.noreply.github.com>
  Date:   2025-01-23 (Thu, 23 Jan 2025)

  Changed paths:
    M flang/lib/Lower/Bridge.cpp
    M flang/test/Lower/OpenMP/copyin.f90

  Log Message:
  -----------
  [Flang][OpenMP] Fix copyin allocatable lowering to MLIR (#122097)

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

Issue: [flang][OpenMP] Runtime segfault when an allocatable variable is
used with copyin

Rootcause: The value of the threadprivate variable is not being copied
from the primary thread to the other threads within a parallel region.
As a result it tries to access a null pointer inside a parallel region
which causes segfault.

Fix: When allocatables used with copyin clause need to ensure that, on
entry to any parallel region each thread’s copy of a variable will
acquire the allocation status of the primary thread, before copying the
value of a threadprivate variable of the primary thread to the
threadprivate variable of each other member of the team.


  Commit: ea49d474fd355a9fdc3d549c4f927b970181f4c9
      https://github.com/llvm/llvm-project/commit/ea49d474fd355a9fdc3d549c4f927b970181f4c9
  Author: mingmingl <mingmingl at google.com>
  Date:   2025-01-22 (Wed, 22 Jan 2025)

  Changed paths:
    M llvm/test/CodeGen/X86/jump-table-partition.ll

  Log Message:
  -----------
  Specify triple for llc test


  Commit: 5d8390d48e5c03235b3c83748e4a2eec0a19ae65
      https://github.com/llvm/llvm-project/commit/5d8390d48e5c03235b3c83748e4a2eec0a19ae65
  Author: mingmingl <mingmingl at google.com>
  Date:   2025-01-22 (Wed, 22 Jan 2025)

  Changed paths:
    M llvm/test/CodeGen/X86/jump-table-partition.ll

  Log Message:
  -----------
  Temporarily disable test on Fuchsia


  Commit: c3dfd34e54c1cb9e0e6c7472a6d30d03a63f6f0a
      https://github.com/llvm/llvm-project/commit/c3dfd34e54c1cb9e0e6c7472a6d30d03a63f6f0a
  Author: Heejin Ahn <aheejin at gmail.com>
  Date:   2025-01-22 (Wed, 22 Jan 2025)

  Changed paths:
    M llvm/lib/Target/WebAssembly/WebAssemblyCFGStackify.cpp
    M llvm/lib/Target/WebAssembly/WebAssemblyInstrControl.td
    M llvm/test/CodeGen/WebAssembly/cfg-stackify-eh.ll
    M llvm/test/CodeGen/WebAssembly/exception-legacy.mir
    M llvm/test/CodeGen/WebAssembly/exception.ll

  Log Message:
  -----------
  [WebAssembly] Add unreachable before catch destinations (#123915)

When `try_table`'s catch clause's destination has a return type, as in
the case of catch with a concrete tag, catch_ref, and catch_all_ref. For
example:
```wasm
block exnref
  try_table (catch_all_ref 0)
    ...
  end_try_table
end_block
... use exnref ...
```

This code is not valid because the block's body type is not exnref. So
we add an unreachable after the 'end_try_table' to make the code valid
here:
```wasm
block exnref
  try_table (catch_all_ref 0)
    ...
  end_try_table
  unreachable                    ;; Newly added
end_block
```
Because 'unreachable' is a terminator we also need to split the BB.

---

We need to handle the same thing for unwind mismatch handling. In the
code below, we create a "trampoline BB" that will be the destination for
the nested `try_table`~`end_try_table` added to fix a unwind mismatch:
```wasm
try_table (catch ... )
  block exnref
    ...
    try_table (catch_all_ref N)
      some code
    end_try_table
    ...
  end_block                      ;; Trampoline BB
  throw_ref
end_try_table
```
While the `block` added for the trampoline BB has the return type
`exnref`, its body, which contains the nested `try_table` and other
code, wouldn't have the `exnref` return type. Most times it didn't
become a problem because the block's body ended with something like `br`
or `return`, but that may not always be the case, especially when there
is a loop. So we add an `unreachable` to make the code valid here too:
```wasm
try_table (catch ... )
  block exnref
    ...
    try_table (catch_all_ref N)
      some code
    end_try_table
    ...
    unreachable                  ;; Newly added
  end_block                      ;; Trampoline BB
  throw_ref
end_try_table
```
In this case we just append the `unreachable` at the end of the layout
predecessor BB. (This was tricky to do in the first (non-mismatch) case
because there `end_try_table` and `end_block` were added in the
beginning of an EH pad in `placeTryTableMarker` and moving
`end_try_table` and the new `unreachable` to the previous BB caused
other problems.)

---

This adds many `unreaachable`s to the output, but this adds
`unreachable` to only a few places to see if this is working. The
FileCheck lines in `exception.ll` and `cfg-stackify-eh.ll` are already
heavily redacted to only leave important control-flow instructions, so I
don't think it's worth adding `unreachable`s everywhere.


  Commit: ba174855203403f6c3e2a46bdd79dbb3e27ac6a4
      https://github.com/llvm/llvm-project/commit/ba174855203403f6c3e2a46bdd79dbb3e27ac6a4
  Author: Nathan Ridge <zeratul976 at hotmail.com>
  Date:   2025-01-23 (Thu, 23 Jan 2025)

  Changed paths:
    M clang/docs/ReleaseNotes.rst
    M clang/lib/Sema/SemaCodeComplete.cpp
    M clang/test/CodeCompletion/member-access.cpp

  Log Message:
  -----------
  [clang][CodeComplete] Use HeuristicResolver to resolve DependentNameTypes (#123818)

Fixes https://github.com/clangd/clangd/issues/1249


  Commit: 220004d2f8692e3a224dc75f7a7c6001711d3d58
      https://github.com/llvm/llvm-project/commit/220004d2f8692e3a224dc75f7a7c6001711d3d58
  Author: Alan Li <me at alanli.org>
  Date:   2025-01-22 (Wed, 22 Jan 2025)

  Changed paths:
    M llvm/lib/CodeGen/GlobalISel/CSEInfo.cpp
    M llvm/unittests/CodeGen/GlobalISel/CSETest.cpp

  Log Message:
  -----------
  [GISel] Add more FP opcodes to CSE (#123949)

Resubmit, previously PR has compilation issues.


  Commit: 3fb8c5b43195d6e11ff0557d07e75700343d369f
      https://github.com/llvm/llvm-project/commit/3fb8c5b43195d6e11ff0557d07e75700343d369f
  Author: mconst <mconst at gmail.com>
  Date:   2025-01-23 (Thu, 23 Jan 2025)

  Changed paths:
    M llvm/lib/Target/X86/X86FrameLowering.cpp
    M llvm/test/CodeGen/X86/stack-clash-extra-huge.ll
    M llvm/test/CodeGen/X86/stack-clash-huge.ll

  Log Message:
  -----------
  [X86] Fix invalid instructions on x32 with large stack frames (#124041)

`X86FrameLowering::emitSPUpdate()` assumes that 64-bit targets use a
64-bit stack pointer, but that's not true on x32.
When checking the stack pointer size, we need to look at
`Uses64BitFramePtr` rather than `Is64Bit`. This avoids generating
invalid instructions like `add esp, rcx`.

For impossibly-large stack frames (4 GiB or larger with a 32-bit stack
pointer), we were also generating invalid instructions like `mov eax,
5000000000`. The inline stack probe code already had a check for that
situation; I've moved the check into `emitSPUpdate()`, so any attempt to
allocate a 4 GiB stack frame with a 32-bit stack pointer will now trap
rather than adjusting ESP by the wrong amount. This also fixes the
"can't have 32-bit 16GB stack frame" assertion, which used to be
triggerable by user code but is now correct.

To help catch situations like this in the future, I've added
`-verify-machineinstrs` to the stack clash tests that generate large
stack frames.

This fixes the expensive-checks buildbot failure caused by #113219.


  Commit: 8eb99bbe6e8878bfd73fb301899ced6bb5dfff38
      https://github.com/llvm/llvm-project/commit/8eb99bbe6e8878bfd73fb301899ced6bb5dfff38
  Author: Martin Storsjö <martin at martin.st>
  Date:   2025-01-23 (Thu, 23 Jan 2025)

  Changed paths:
    M lld/COFF/InputFiles.cpp
    M lld/test/COFF/empty-section-decl.yaml
    M llvm/include/llvm/Object/COFF.h
    R llvm/test/Object/coff-sec-sym.test

  Log Message:
  -----------
  Reland [LLD] [COFF] Fix linking MSVC generated implib header objects (#123916)

ecb5ea6a266d5cc4e05252f6db4c73613b73cc3b tried to fix cases when LLD
links what seems to be import library header objects from MSVC. However,
the fix seems incorrect; the review at https://reviews.llvm.org/D133627
concluded that if this (treating this kind of symbol as a common symbol)
is what link.exe does, it's fine.

However, this is most probably not what link.exe does. The symbol
mentioned in the commit message of
ecb5ea6a266d5cc4e05252f6db4c73613b73cc3b would be a common symbol with a
size of around 3 GB; this is not what might have been intended.

That commit tried to avoid running into the error ".idata$4 should not
refer to special section 0"; that issue is fixed for a similar style of
section symbols in 4a4a8a1476b1386b523dc5b292ba9a5a6748a9cf.

Therefore, revert ecb5ea6a266d5cc4e05252f6db4c73613b73cc3b and extend
the fix from 4a4a8a1476b1386b523dc5b292ba9a5a6748a9cf to also work for
the section symbols in MSVC generated import libraries.

The main detail about them, is that for symbols of type
IMAGE_SYM_CLASS_SECTION, the Value field is not an offset, but it is an
optional set of flags, corresponding to the Characteristics of the
section header (although it may be empty).

This is a reland of a previous version of this commit, earlier merged in
9457418e66766d8fafc81f85eb8045986220ca3e / #122811. The previous version
failed tests when run with address sanitizer. The issue was that the
synthesized coff_symbol_generic object actually will be used to access a
full coff_symbol16 or coff_symbol32 struct, see
DefinedCOFF::getCOFFSymbol. Therefore, we need to make a copy of the
full size of either of them.


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

  Changed paths:
    M clang/lib/Frontend/CompilerInvocation.cpp
    M lldb/source/Plugins/Platform/MacOSX/PlatformDarwin.cpp
    M llvm/include/llvm/Option/OptTable.h
    M llvm/lib/Option/OptTable.cpp
    M llvm/tools/llvm-objdump/llvm-objdump.cpp
    M llvm/unittests/Option/OptionMarshallingTest.cpp
    M llvm/utils/TableGen/OptionParserEmitter.cpp

  Log Message:
  -----------
  [StrTable] Switch the option parser to `llvm::StringTable` (#123308)

Now that we have a dedicated abstraction for string tables, switch the
option parser library's string table over to it rather than using a raw
`const char*`. Also try to use the `StringTable::Offset` type rather
than a raw `unsigned` where we can to avoid accidental increments or
other issues.

This is based on review feedback for the initial switch of options to a
string table. Happy to tweak or adjust if desired here.


  Commit: 2b67eceeef6e04ae5a4093bec9a0f0b048c70958
      https://github.com/llvm/llvm-project/commit/2b67eceeef6e04ae5a4093bec9a0f0b048c70958
  Author: AdityaK <hiraditya at msn.com>
  Date:   2025-01-22 (Wed, 22 Jan 2025)

  Changed paths:
    M clang/lib/Driver/ToolChains/Arch/ARM.cpp
    M clang/test/Driver/arm-mfpu.c
    M clang/test/Driver/linux-as.c

  Log Message:
  -----------
  Android no longer supports arm < 7 (#123952)


  Commit: 2a51a0d39a659feeeee57b6d1d768bf08d378c5e
      https://github.com/llvm/llvm-project/commit/2a51a0d39a659feeeee57b6d1d768bf08d378c5e
  Author: AdityaK <hiraditya at msn.com>
  Date:   2025-01-22 (Wed, 22 Jan 2025)

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

  Log Message:
  -----------
  Remove reference to android-mips (#124021)


  Commit: 091741a880c2df9d3d161068a12655d289633eee
      https://github.com/llvm/llvm-project/commit/091741a880c2df9d3d161068a12655d289633eee
  Author: Paweł Bylica <pawel at ethereum.org>
  Date:   2025-01-23 (Thu, 23 Jan 2025)

  Changed paths:
    M compiler-rt/lib/fuzzer/FuzzerFlags.def

  Log Message:
  -----------
  [libfuzzer] Clarify -max_len behavior on bigger files (#123095)


  Commit: 70d7c847fd1b73c8bb453eac11a4a1ae03bb0d86
      https://github.com/llvm/llvm-project/commit/70d7c847fd1b73c8bb453eac11a4a1ae03bb0d86
  Author: Hongren Zheng <i at zenithal.me>
  Date:   2025-01-23 (Thu, 23 Jan 2025)

  Changed paths:
    M mlir/docs/DefiningDialects/Assembly.md

  Log Message:
  -----------
  [mlir][docs] Add usage/example of OpAsmOpInterface (#123610)

This is part of
https://discourse.llvm.org/t/rfc-introduce-opasm-type-attr-interface-for-pretty-print-in-asmprinter/83792.

OpAsmOpInterface controls the SSA Name/Block Name and Default Dialect
Prefix. This PR adds the usage of them by existing examples in MLIR.


  Commit: 4b0df28a68a4ed4ec5829fb4d8722a0e701d1796
      https://github.com/llvm/llvm-project/commit/4b0df28a68a4ed4ec5829fb4d8722a0e701d1796
  Author: Kadir Cetinkaya <kadircet at google.com>
  Date:   2025-01-23 (Thu, 23 Jan 2025)

  Changed paths:
    M clang/lib/Tooling/Inclusions/Stdlib/StdSpecialSymbolMap.inc

  Log Message:
  -----------
  [clang][Tooling] Prefer <atomic> for atomic_* family in C++


  Commit: 778138114e9e42e28fcb51c0a38224e667a3790c
      https://github.com/llvm/llvm-project/commit/778138114e9e42e28fcb51c0a38224e667a3790c
  Author: Benjamin Maxwell <benjamin.maxwell at arm.com>
  Date:   2025-01-23 (Thu, 23 Jan 2025)

  Changed paths:
    M llvm/include/llvm/Analysis/AliasAnalysis.h
    M llvm/include/llvm/CodeGen/MachineInstr.h
    M llvm/include/llvm/CodeGen/ScheduleDAGInstrs.h
    M llvm/include/llvm/CodeGen/SelectionDAG.h
    M llvm/include/llvm/CodeGen/SelectionDAGISel.h
    M llvm/lib/CodeGen/MachineInstr.cpp
    M llvm/lib/CodeGen/ScheduleDAGInstrs.cpp
    M llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
    M llvm/lib/CodeGen/SelectionDAG/ScheduleDAGFast.cpp
    M llvm/lib/CodeGen/SelectionDAG/ScheduleDAGRRList.cpp
    M llvm/lib/CodeGen/SelectionDAG/ScheduleDAGSDNodes.cpp
    M llvm/lib/CodeGen/SelectionDAG/ScheduleDAGSDNodes.h
    M llvm/lib/CodeGen/SelectionDAG/ScheduleDAGVLIW.cpp
    M llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp
    M llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp
    M llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.h
    M llvm/lib/CodeGen/SelectionDAG/SelectionDAGISel.cpp
    M llvm/lib/Target/SystemZ/SystemZISelDAGToDAG.cpp

  Log Message:
  -----------
  [SDAG] Use BatchAAResults for querying alias analysis (AA) results (#123934)

Once we get to SelectionDAG the IR should not be changing anymore, so we
can use BatchAAResults rather than AAResults to cache AA queries.

This should be a NFC change for targets that enable AA during codegen
(such as AArch64), but also give a nice compile-time improvement in some
cases. See:
https://github.com/llvm/llvm-project/pull/123787#issuecomment-2606797041

Note: This follows Nikita's suggestion on #123787.


  Commit: d7c14c8f976fd291984e0c7eed75dd3331b1ed6d
      https://github.com/llvm/llvm-project/commit/d7c14c8f976fd291984e0c7eed75dd3331b1ed6d
  Author: Mats Jun Larsen <mats at jun.codes>
  Date:   2025-01-23 (Thu, 23 Jan 2025)

  Changed paths:
    M llvm/examples/BrainF/BrainF.cpp
    M llvm/include/llvm/FuzzMutate/OpDescriptor.h
    M llvm/lib/Analysis/ScalarEvolution.cpp
    M llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp
    M llvm/lib/CodeGen/ShadowStackGCLowering.cpp
    M llvm/lib/CodeGen/SjLjEHPrepare.cpp
    M llvm/lib/ExecutionEngine/Orc/LLJIT.cpp
    M llvm/lib/Frontend/Offloading/OffloadWrapper.cpp
    M llvm/lib/Frontend/OpenMP/OMPIRBuilder.cpp
    M llvm/lib/IR/Constants.cpp
    M llvm/lib/IR/ConstantsContext.h
    M llvm/lib/IR/InlineAsm.cpp
    M llvm/lib/Target/AArch64/AArch64TargetTransformInfo.cpp
    M llvm/lib/Target/Sparc/SparcISelLowering.cpp
    M llvm/lib/Target/WebAssembly/WebAssemblyLowerEmscriptenEHSjLj.cpp
    M llvm/lib/Transforms/Coroutines/CoroSplit.cpp
    M llvm/lib/Transforms/IPO/WholeProgramDevirt.cpp
    M llvm/lib/Transforms/Instrumentation/DataFlowSanitizer.cpp
    M llvm/lib/Transforms/ObjCARC/ObjCARCContract.cpp
    M llvm/lib/Transforms/ObjCARC/ObjCARCOpts.cpp
    M llvm/tools/bugpoint/Miscompilation.cpp

  Log Message:
  -----------
  [IR] Replace of PointerType::getUnqual(Type) with opaque version (NFC) (#123909)

Follow up to https://github.com/llvm/llvm-project/issues/123569


  Commit: 9fd92634749c75b39be829c22240567ccda3ffce
      https://github.com/llvm/llvm-project/commit/9fd92634749c75b39be829c22240567ccda3ffce
  Author: Brad Smith <brad at comstyle.com>
  Date:   2025-01-23 (Thu, 23 Jan 2025)

  Changed paths:
    M libcxxabi/src/abort_message.cpp

  Log Message:
  -----------
  [libc++abi] Remove support for Android 4 and older (#124054)


  Commit: 6bc68d0fe94e7fbdec40e1306bf8db1b0db3110c
      https://github.com/llvm/llvm-project/commit/6bc68d0fe94e7fbdec40e1306bf8db1b0db3110c
  Author: Brad Smith <brad at comstyle.com>
  Date:   2025-01-23 (Thu, 23 Jan 2025)

  Changed paths:
    M libcxx/include/__cxx03/__locale_dir/locale_base_api/android.h
    M libcxx/include/__locale_dir/locale_base_api/android.h
    M libcxx/src/verbose_abort.cpp

  Log Message:
  -----------
  [libc++] Remove support for Android 4 and older (#124062)


  Commit: 0429bfea49615882e89ee2350ffde777ce77fb95
      https://github.com/llvm/llvm-project/commit/0429bfea49615882e89ee2350ffde777ce77fb95
  Author: Nikolas Klauser <nikolasklauser at berlin.de>
  Date:   2025-01-23 (Thu, 23 Jan 2025)

  Changed paths:
    M libcxx/include/__type_traits/aligned_storage.h
    M libcxx/include/__type_traits/aligned_union.h
    M libcxx/include/__type_traits/common_reference.h
    M libcxx/include/__type_traits/datasizeof.h
    M libcxx/include/__type_traits/is_always_bitcastable.h
    M libcxx/include/__type_traits/make_signed.h
    M libcxx/include/__type_traits/make_unsigned.h
    M libcxx/include/__type_traits/remove_cvref.h
    M libcxx/include/__type_traits/type_list.h

  Log Message:
  -----------
  [libc++] Remove a few unused includes (#124025)


  Commit: ee99c4d4845db66c4daa2373352133f4b237c942
      https://github.com/llvm/llvm-project/commit/ee99c4d4845db66c4daa2373352133f4b237c942
  Author: SivanShani-Arm <sivan.shani at arm.com>
  Date:   2025-01-23 (Thu, 23 Jan 2025)

  Changed paths:
    M llvm/include/llvm/BinaryFormat/ELF.h
    M llvm/include/llvm/MC/MCELFStreamer.h
    A llvm/include/llvm/Support/AArch64BuildAttributes.h
    M llvm/lib/MC/MCELFStreamer.cpp
    A llvm/lib/Support/AArch64BuildAttributes.cpp
    M llvm/lib/Support/CMakeLists.txt
    M llvm/lib/Target/AArch64/AArch64AsmPrinter.cpp
    M llvm/lib/Target/AArch64/AsmParser/AArch64AsmParser.cpp
    M llvm/lib/Target/AArch64/MCTargetDesc/AArch64ELFStreamer.cpp
    M llvm/lib/Target/AArch64/MCTargetDesc/AArch64TargetStreamer.cpp
    M llvm/lib/Target/AArch64/MCTargetDesc/AArch64TargetStreamer.h
    A llvm/test/CodeGen/AArch64/aarch64-build-attributes-all.ll
    A llvm/test/CodeGen/AArch64/aarch64-build-attributes-bti.ll
    A llvm/test/CodeGen/AArch64/aarch64-build-attributes-gcs.ll
    A llvm/test/CodeGen/AArch64/aarch64-build-attributes-pac.ll
    A llvm/test/CodeGen/AArch64/aarch64-build-attributes-pauthabi.ll
    A llvm/test/MC/AArch64/aarch64-build-attributes-asm-all.s
    A llvm/test/MC/AArch64/aarch64-build-attributes-asm-bti.s
    A llvm/test/MC/AArch64/aarch64-build-attributes-asm-err-attrs.s
    A llvm/test/MC/AArch64/aarch64-build-attributes-asm-err-headers.s
    A llvm/test/MC/AArch64/aarch64-build-attributes-asm-gcs.s
    A llvm/test/MC/AArch64/aarch64-build-attributes-asm-none.s
    A llvm/test/MC/AArch64/aarch64-build-attributes-asm-numerical-tags.s
    A llvm/test/MC/AArch64/aarch64-build-attributes-asm-out-of-order.s
    A llvm/test/MC/AArch64/aarch64-build-attributes-asm-pac.s
    A llvm/test/MC/AArch64/aarch64-build-attributes-asm-private-subsections-err.s
    A llvm/test/MC/AArch64/aarch64-build-attributes-asm-private-subsections.s
    M llvm/utils/gn/secondary/llvm/lib/Support/BUILD.gn

  Log Message:
  -----------
  [LLVM][Clang][AArch64] Implement AArch64 build attributes (#123990)

- Added support for AArch64-specific build attributes.
- Print AArch64 build attributes to assembly.
- Emit AArch64 build attributes to ELF.

Specification: https://github.com/ARM-software/abi-aa/pull/230


  Commit: 7fb97bee9269f0d4239908ac8def70be696991c6
      https://github.com/llvm/llvm-project/commit/7fb97bee9269f0d4239908ac8def70be696991c6
  Author: Stephen Senran Zhang <zsrkmyn at gmail.com>
  Date:   2025-01-23 (Thu, 23 Jan 2025)

  Changed paths:
    M llvm/lib/Transforms/Scalar/ConstraintElimination.cpp
    M llvm/test/Transforms/ConstraintElimination/eq.ll
    M llvm/test/Transforms/ConstraintElimination/ne.ll
    M llvm/test/Transforms/ConstraintElimination/pr105785.ll

  Log Message:
  -----------
  [ConstraintElimination] Add eq/ne facts to signed constraint system (#121423)

Facts of eq/ne were added to unsigned system only, causing some missing
optimizations. This patch adds eq/ne facts to both signed & unsigned
constraint system.

Fixes #117961.


  Commit: 08195f31ab1c484ad59dea125bfd61316a07eee8
      https://github.com/llvm/llvm-project/commit/08195f31ab1c484ad59dea125bfd61316a07eee8
  Author: Nikolas Klauser <nikolasklauser at berlin.de>
  Date:   2025-01-23 (Thu, 23 Jan 2025)

  Changed paths:
    M libcxx/include/streambuf

  Log Message:
  -----------
  [libc++] Inline basic_streambuf functions (#123379)

Most of the `basic_streambuf` functions are really simple, which makes
most of the implementation when they are out of line boilerplate.


  Commit: 8388040fc9e75d49cd000b3371e2610c6c3548ba
      https://github.com/llvm/llvm-project/commit/8388040fc9e75d49cd000b3371e2610c6c3548ba
  Author: Jack Frankland <jack.frankland at arm.com>
  Date:   2025-01-23 (Thu, 23 Jan 2025)

  Changed paths:
    M mlir/include/mlir/Dialect/Tosa/IR/TosaOps.td
    M mlir/include/mlir/Dialect/Tosa/IR/TosaTypesBase.td
    M mlir/lib/Dialect/Tosa/IR/TosaCanonicalizations.cpp
    M mlir/test/Dialect/Tosa/canonicalize.mlir
    M mlir/test/Dialect/Tosa/ops.mlir

  Log Message:
  -----------
  [mlir][tosa] Add NaN Propagation Mode Support (#121951)

The TOSA-V1.0 specification adds "nan propagation" modes as attributes
for several operators. Adjust the ODS definitions of the relevant
operations to include this attribute.

The defined modes are "PROPAGATE" and "IGNORE" and the PROPAGATE mode is
set by default.

MAXIMUM, MINIMUM, REDUCE_MAX, REDUCE_MIN, MAX_POOL, CLAMP, and ARGMAX
support this attribute.

Signed-off-by: Jack Frankland <jack.frankland at arm.com>
Co-authored-by: TatWai Chong <tatwai.chong at arm.com>


  Commit: 19306351a2c45e266fa11b41eb1362b20b6ca56d
      https://github.com/llvm/llvm-project/commit/19306351a2c45e266fa11b41eb1362b20b6ca56d
  Author: Alex Bradbury <asb at igalia.com>
  Date:   2025-01-23 (Thu, 23 Jan 2025)

  Changed paths:
    M clang/test/Modules/empty.modulemap

  Log Message:
  -----------
  [clang][Modules] Raise empty.modulemap expected size to <70KB to fix RISC-V failure (#123959)

I'm not sure why the test is larger for RISC-V than other targets, but
we saw this before with #111360.

The file is just over the current 60KB limit:

```
62772 /home/asb/llvm-project/build/stage2/tools/clang/test/Modules/Output/empty.modulemap.tmp/base.pcm
```


  Commit: cad6bbade0d7dc57b9c43d9ed8c38260345d50bf
      https://github.com/llvm/llvm-project/commit/cad6bbade0d7dc57b9c43d9ed8c38260345d50bf
  Author: Dmitry Polukhin <34227995+dmpolukhin at users.noreply.github.com>
  Date:   2025-01-23 (Thu, 23 Jan 2025)

  Changed paths:
    M clang/docs/ReleaseNotes.rst
    M clang/include/clang/Serialization/ASTReader.h
    M clang/lib/Serialization/ASTWriterDecl.cpp
    A clang/test/Headers/crash-instantiated-in-scope-cxx-modules5.cpp

  Log Message:
  -----------
  [C++20][Modules] Fix crash/compiler error due broken AST links (#123648)

Summary:
This PR fixes bugreport
https://github.com/llvm/llvm-project/issues/122493 The root problem is
the same as before lambda function and DeclRefExpr references a variable
that does not belong to the same module as the enclosing function body.
Therefore iteration over the function body doesn’t visit the VarDecl.
Before this change RelatedDeclsMap was created only for canonical decl
but in reality it has to be done for the definition of the function that
does not always match the canonical decl.

Test Plan: check-clang


  Commit: 2e6cc79f816d942ab09d6a310cd925c1da148aa9
      https://github.com/llvm/llvm-project/commit/2e6cc79f816d942ab09d6a310cd925c1da148aa9
  Author: Durgadoss R <durgadossr at nvidia.com>
  Date:   2025-01-23 (Thu, 23 Jan 2025)

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

  Log Message:
  -----------
  [MLIR][NVVM] Migrate CpAsyncOp to intrinsics (#123789)

Intrinsics are available for the 'cpSize'
variants also. So, this patch migrates the Op
to lower to the intrinsics for all cases.

* Update the existing tests to check the lowering to intrinsics.
* Add newer cp_async_zfill tests to verify the lowering for the 'cpSize'
   variants.
* Tidy-up CHECK lines in cp_async() function in nvvmir.mlir (NFC)

PTX spec link:
https://docs.nvidia.com/cuda/parallel-thread-execution/#data-movement-and-conversion-instructions-cp-async

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


  Commit: cb714e74cc0efd5bfdb3e5e80978239425bd83d4
      https://github.com/llvm/llvm-project/commit/cb714e74cc0efd5bfdb3e5e80978239425bd83d4
  Author: Jeremy Morse <jeremy.morse at sony.com>
  Date:   2025-01-23 (Thu, 23 Jan 2025)

  Changed paths:
    M llvm/lib/CodeGen/LiveDebugValues/InstrRefBasedImpl.cpp
    A llvm/test/DebugInfo/MIR/InstrRef/deref-spills-with-size-too-big.mir

  Log Message:
  -----------
  [DebugInfo][InstrRef] Avoid producing broken DW_OP_deref_sizes (#123967)

We use variable locations such as DBG_VALUE $xmm0 as shorthand to refer
to "the low lane of $xmm0", and this is reflected in how DWARF is
interpreted too. However InstrRefBasedLDV tries to be smart and
interprets such a DBG_VALUE as a 128-bit reference. We then issue a
DW_OP_deref_size of 128 bits to the stack, which isn't permitted by
DWARF (it's larger than a pointer).

Solve this for now by not using DW_OP_deref_size if it would be illegal.
Instead we'll use DW_OP_deref, and the consumer will load the variable
type from the stack, which should be correct.

There's still a risk of imprecision when LLVM decides to use smaller or
larger value types than the source-variable type, which manifests as
too-little or too-much memory being read from the stack. However we
can't solve that without putting more type information in debug-info.

fixes #64093


  Commit: ad6d808906075c3386bbeada3c37d8d3e6afe248
      https://github.com/llvm/llvm-project/commit/ad6d808906075c3386bbeada3c37d8d3e6afe248
  Author: Michael Buch <michaelbuch12 at gmail.com>
  Date:   2025-01-23 (Thu, 23 Jan 2025)

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

  Log Message:
  -----------
  [lldb][DWARFASTParserClang] Make C++ method parsing aware of explicit object parameters (#124096)

LLDB deduces the CV-qualifiers and storage class of a C++ method from
the object parameter. Currently it assumes that parameter is implicit
(and is a pointer type with the name "this"). This isn't true anymore in
C++23 with explicit object parameters. To support those we can simply
check the `DW_AT_object_pointer` of the subprogram DIE (works for both
declarations and definitions) when searching for the object parameter.

We can also remove the check for `eEncodingIsPointerUID`, because in C++
an artificial parameter called `this` is only ever the implicit object
parameter (at least for all the major compilers).


  Commit: fa7f0e582bc25a91d89dab7c488a1619060f9bef
      https://github.com/llvm/llvm-project/commit/fa7f0e582bc25a91d89dab7c488a1619060f9bef
  Author: Abhilash Majumder <30946547+abhilash1910 at users.noreply.github.com>
  Date:   2025-01-23 (Thu, 23 Jan 2025)

  Changed paths:
    M llvm/docs/NVPTXUsage.rst
    M llvm/include/llvm/IR/IntrinsicsNVVM.td
    M llvm/lib/Target/NVPTX/NVPTXISelDAGToDAG.cpp
    M llvm/lib/Target/NVPTX/NVPTXISelDAGToDAG.h
    M llvm/lib/Target/NVPTX/NVPTXIntrinsics.td
    M llvm/test/CodeGen/NVPTX/cp-async-bulk.ll

  Log Message:
  -----------
  [NVPTX] Add Bulk Copy Prefetch Intrinsics (#123226)

This patch adds NVVM intrinsics and NVPTX codegen for:

- cp.async.bulk.prefetch.L2.* variants 
- These intrinsics optionally support cache_hints as indicated by the
   boolean flag argument.
- Lit tests are added for all combinations of these intrinsics in
   cp-async-bulk.ll.
- The generated PTX is verified with a 12.3 ptxas executable.
- Added docs for these intrinsics in NVPTXUsage.rst file.

PTX Spec reference:
https://docs.nvidia.com/cuda/parallel-thread-execution/#data-movement-and-conversion-instructions-cp-async-bulk-prefetch


Co-authored-by: abmajumder <abmajumder at nvidia.com>


  Commit: 17756aa9c9d2f54a29dba3a2805f217cc1723ff0
      https://github.com/llvm/llvm-project/commit/17756aa9c9d2f54a29dba3a2805f217cc1723ff0
  Author: cor3ntin <corentinjabot at gmail.com>
  Date:   2025-01-23 (Thu, 23 Jan 2025)

  Changed paths:
    M clang/docs/ReleaseNotes.rst

  Log Message:
  -----------
  [Clang] [Release Notes] Implicit lifetimes are a C++23 feature


  Commit: a8020930a8174d84da04fa91b6fef244207f42f5
      https://github.com/llvm/llvm-project/commit/a8020930a8174d84da04fa91b6fef244207f42f5
  Author: Michael Buch <michaelbuch12 at gmail.com>
  Date:   2025-01-23 (Thu, 23 Jan 2025)

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

  Log Message:
  -----------
  Revert "[lldb][DWARFASTParserClang] Make C++ method parsing aware of explicit object parameters" (#124100)

Reverts llvm/llvm-project#124096

Broke linux CI:
```
Note: This is test shard 7 of 42.
[==========] Running 1 test from 1 test suite.
[----------] Global test environment set-up.
[----------] 1 test from DWARFASTParserClangTests
[ RUN      ] DWARFASTParserClangTests.TestParseSubroutine_ExplicitObjectParameter
Expected<T> must be checked before access or destruction.
Expected<T> value was in success state. (Note: Expected<T> values in success mode must still be checked prior to being destroyed).
Stack dump without symbol names (ensure you have llvm-symbolizer in your PATH or set the environment var `LLVM_SYMBOLIZER_PATH` to point to it):
0  SymbolFileDWARFTests 0x0000560271ee5ba7
1  SymbolFileDWARFTests 0x0000560271ee3a2c
2  SymbolFileDWARFTests 0x0000560271ee63ea
3  libc.so.6            0x00007f3e54e5b050
4  libc.so.6            0x00007f3e54ea9e2c
5  libc.so.6            0x00007f3e54e5afb2 gsignal + 18
6  libc.so.6            0x00007f3e54e45472 abort + 211
7  SymbolFileDWARFTests 0x0000560271e79d51
8  SymbolFileDWARFTests 0x0000560271e724f7
9  SymbolFileDWARFTests 0x0000560271f39e2c
10 SymbolFileDWARFTests 0x0000560271f3b368
11 SymbolFileDWARFTests 0x0000560271f3c053
12 SymbolFileDWARFTests 0x0000560271f4cf67
13 SymbolFileDWARFTests 0x0000560271f4c18a
14 SymbolFileDWARFTests 0x0000560271f2561c
15 libc.so.6            0x00007f3e54e4624a
16 libc.so.6            0x00007f3e54e46305 __libc_start_main + 133
17 SymbolFileDWARFTests 0x0000560271e65161
```


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

  Changed paths:
    M llvm/lib/Transforms/Vectorize/VPlan.h
    M llvm/lib/Transforms/Vectorize/VPlanCFG.h
    M llvm/lib/Transforms/Vectorize/VPlanUtils.h

  Log Message:
  -----------
  [VPlan] Move VPBlockUtils to VPlanUtils.h (NFC)

Nothing in VPlan.h directly uses VPBlockUtils.h. Move it out to the more
appropriate VPlanUtils.h to reduce the size of the widely included VPlan.h.


  Commit: 4bcdb26dac4cdadd7f8850a5f9b2e775b73aaf7f
      https://github.com/llvm/llvm-project/commit/4bcdb26dac4cdadd7f8850a5f9b2e775b73aaf7f
  Author: Michael Buch <michaelbuch12 at gmail.com>
  Date:   2025-01-23 (Thu, 23 Jan 2025)

  Changed paths:
    M lldb/test/API/commands/expression/import-std-module/vector-dbg-info-content/TestDbgInfoContentVectorFromStdModule.py
    M lldb/test/API/commands/expression/import-std-module/vector-of-vectors/TestVectorOfVectorsFromStdModule.py

  Log Message:
  -----------
  Revert "[lldb][test] Remove compiler version check and use regex" (#124101)

Reverts llvm/llvm-project#123393

This is causing `TestVectorOfVectorsFromStdModule.py` to fail on the the
macOS clang-15 matrix bot.


  Commit: 4f26edd5e9eb3b6cea19e15ca8fb2c8416b82fa8
      https://github.com/llvm/llvm-project/commit/4f26edd5e9eb3b6cea19e15ca8fb2c8416b82fa8
  Author: Vitaly Buka <vitalybuka at google.com>
  Date:   2025-01-23 (Thu, 23 Jan 2025)

  Changed paths:
    M llvm/include/llvm/Support/YAMLTraits.h
    M llvm/lib/Support/YAMLTraits.cpp

  Log Message:
  -----------
  [NFC][YAML] Add `IO::error()` (#123475)

For #123280


  Commit: 1311b36acea0ac0d94c23452fcb0109bb18373cb
      https://github.com/llvm/llvm-project/commit/1311b36acea0ac0d94c23452fcb0109bb18373cb
  Author: Vitaly Buka <vitalybuka at google.com>
  Date:   2025-01-23 (Thu, 23 Jan 2025)

  Changed paths:
    M llvm/lib/Support/Unix/Signals.inc

  Log Message:
  -----------
  [llvm][Support] Put back filename into FileToRemoveList (#124065)

Prevents avoidable memory leaks.

Looks like exchange added in aa1333a91f8d8a060bcf5b14aa32a6e8bab74e8c
didn't take "continue" into account.

```
==llc==2150782==ERROR: LeakSanitizer: detected memory leaks
Direct leak of 10 byte(s) in 1 object(s) allocated from:
    #0 0x5f1b0f9ac14a in strdup llvm-project/compiler-rt/lib/asan/asan_interceptors.cpp:593:3
    #1 0x5f1b1768428d in FileToRemoveList llvm-project/llvm/lib/Support/Unix/Signals.inc:105:55
```


  Commit: 636bc72f672712cb848729c0f130d8b42c86f1cb
      https://github.com/llvm/llvm-project/commit/636bc72f672712cb848729c0f130d8b42c86f1cb
  Author: Michael Buch <michaelbuch12 at gmail.com>
  Date:   2025-01-23 (Thu, 23 Jan 2025)

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

  Log Message:
  -----------
  Reland "[lldb][DWARFASTParserClang] Make C++ method parsing aware of explicit object parameters" (#124100)"

This reverts commit a8020930a8174d84da04fa91b6fef244207f42f5.

Relands original commit but fixing the unit-test to consume the
`llvm::Expected` error object.


  Commit: 3ea2b546a8d17014d3ecf05356ecfaadf26ed846
      https://github.com/llvm/llvm-project/commit/3ea2b546a8d17014d3ecf05356ecfaadf26ed846
  Author: Pavel Labath <pavel at labath.sk>
  Date:   2025-01-23 (Thu, 23 Jan 2025)

  Changed paths:
    M lldb/source/Host/windows/PipeWindows.cpp

  Log Message:
  -----------
  [lldb/windows] Make "anonymous" pipe names more unique (#123905)

Using a "random" name for an "anonymous" pipe seems to be the state of
the art on windows (according to stack overflow, new windows versions
may have something better, but it involves calling kernel APIs directly
and generally a lot of dark magic).

The problem with the current method was that is does not produce unique
names if one has two copies of the pipe code in the same process, which
is what happened with #120457 (because liblldb only exposes the public
api, and we've started using the pipe code in lldb-dap as well).

This patch works around the problem by adding the address of the counter
variable to the pipe name.

Replicating the multiple-copies setup in a test would be very difficult,
which is why I'm not adding a test for this scenario.


  Commit: 0236cb689550ed2dac406443c652efb723cb2602
      https://github.com/llvm/llvm-project/commit/0236cb689550ed2dac406443c652efb723cb2602
  Author: Pavel Labath <pavel at labath.sk>
  Date:   2025-01-23 (Thu, 23 Jan 2025)

  Changed paths:
    M lldb/source/Plugins/Process/Linux/NativeThreadLinux.cpp
    M lldb/source/Target/UnixSignals.cpp
    M lldb/test/API/commands/frame/diagnose/array/TestArray.py
    M lldb/test/API/commands/frame/diagnose/bad-reference/TestBadReference.py
    M lldb/test/API/commands/frame/diagnose/complicated-expression/TestComplicatedExpression.py
    M lldb/test/API/commands/frame/diagnose/dereference-argument/TestDiagnoseDereferenceArgument.py
    M lldb/test/API/commands/frame/diagnose/dereference-function-return/TestDiagnoseDereferenceFunctionReturn.py
    M lldb/test/API/commands/frame/diagnose/dereference-this/TestDiagnoseDereferenceThis.py
    M lldb/test/API/commands/frame/diagnose/inheritance/TestDiagnoseInheritance.py
    M lldb/test/API/commands/frame/diagnose/local-variable/TestLocalVariable.py
    M lldb/test/API/commands/frame/diagnose/virtual-method-call/TestDiagnoseDereferenceVirtualMethodCall.py
    M lldb/test/API/linux/aarch64/mte_core_file/TestAArch64LinuxMTEMemoryTagCoreFile.py
    M lldb/test/API/linux/aarch64/mte_tag_faults/TestAArch64LinuxMTEMemoryTagFaults.py
    M lldb/test/API/linux/aarch64/non_address_bit_memory_access/TestAArch64LinuxNonAddressBitMemoryAccess.py
    M lldb/test/Shell/Register/Core/x86-32-linux-multithread.test
    M lldb/test/Shell/Register/Core/x86-64-linux-multithread.test
    M lldb/unittests/Signals/UnixSignalsTest.cpp
    M llvm/docs/ReleaseNotes.md

  Log Message:
  -----------
  [lldb] Enable "frame diagnose" on linux (#123217)

.. by changing the signal stop reason format :facepalm:

The reason this did not work is because the code in
`StopInfo::GetCrashingDereference` was looking for the string "address="
to extract the address of the crash. Macos stop reason strings have the
form
```
  EXC_BAD_ACCESS (code=1, address=0xdead)
```
while on linux they look like:
```
  signal SIGSEGV: address not mapped to object (fault address: 0xdead)
```

Extracting the address from a string sounds like a bad idea, but I
suppose there's some value in using a consistent format across
platforms, so this patch changes the signal format to use the equals
sign as well. All of the diagnose tests pass except one, which appears
to fail due to something similar #115453 (disassembler reports
unrelocated call targets).

I've left the tests disabled on windows, as the stop reason reporting
code works very differently there, and I suspect it won't work out of
the box. If I'm wrong -- the XFAIL will let us know.


  Commit: 6f684816e25d8b4e5fb2cbc7d0560d608a8bd938
      https://github.com/llvm/llvm-project/commit/6f684816e25d8b4e5fb2cbc7d0560d608a8bd938
  Author: Nikolas Klauser <nikolasklauser at berlin.de>
  Date:   2025-01-23 (Thu, 23 Jan 2025)

  Changed paths:
    M libcxx/include/__compare/compare_three_way_result.h
    M libcxx/include/__config
    M libcxx/include/__format/format_arg.h
    M libcxx/include/__ranges/range_adaptor.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/aligned_union.h
    M libcxx/include/__type_traits/alignment_of.h
    M libcxx/include/__type_traits/conditional.h
    M libcxx/include/__type_traits/conjunction.h
    M libcxx/include/__type_traits/decay.h
    M libcxx/include/__type_traits/disjunction.h
    M libcxx/include/__type_traits/enable_if.h
    M libcxx/include/__type_traits/extent.h
    M libcxx/include/__type_traits/has_unique_object_representation.h
    M libcxx/include/__type_traits/has_virtual_destructor.h
    M libcxx/include/__type_traits/integral_constant.h
    M libcxx/include/__type_traits/invoke.h
    M libcxx/include/__type_traits/is_abstract.h
    M libcxx/include/__type_traits/is_aggregate.h
    M libcxx/include/__type_traits/is_arithmetic.h
    M libcxx/include/__type_traits/is_array.h
    M libcxx/include/__type_traits/is_assignable.h
    M libcxx/include/__type_traits/is_base_of.h
    M libcxx/include/__type_traits/is_bounded_array.h
    M libcxx/include/__type_traits/is_class.h
    M libcxx/include/__type_traits/is_compound.h
    M libcxx/include/__type_traits/is_const.h
    M libcxx/include/__type_traits/is_constructible.h
    M libcxx/include/__type_traits/is_convertible.h
    M libcxx/include/__type_traits/is_destructible.h
    M libcxx/include/__type_traits/is_empty.h
    M libcxx/include/__type_traits/is_enum.h
    M libcxx/include/__type_traits/is_execution_policy.h
    M libcxx/include/__type_traits/is_final.h
    M libcxx/include/__type_traits/is_floating_point.h
    M libcxx/include/__type_traits/is_function.h
    M libcxx/include/__type_traits/is_fundamental.h
    M libcxx/include/__type_traits/is_implicit_lifetime.h
    M libcxx/include/__type_traits/is_integral.h
    M libcxx/include/__type_traits/is_literal_type.h
    M libcxx/include/__type_traits/is_member_pointer.h
    M libcxx/include/__type_traits/is_nothrow_assignable.h
    M libcxx/include/__type_traits/is_nothrow_constructible.h
    M libcxx/include/__type_traits/is_nothrow_convertible.h
    M libcxx/include/__type_traits/is_nothrow_destructible.h
    M libcxx/include/__type_traits/is_null_pointer.h
    M libcxx/include/__type_traits/is_object.h
    M libcxx/include/__type_traits/is_pod.h
    M libcxx/include/__type_traits/is_pointer.h
    M libcxx/include/__type_traits/is_polymorphic.h
    M libcxx/include/__type_traits/is_reference.h
    M libcxx/include/__type_traits/is_same.h
    M libcxx/include/__type_traits/is_scalar.h
    M libcxx/include/__type_traits/is_signed.h
    M libcxx/include/__type_traits/is_standard_layout.h
    M libcxx/include/__type_traits/is_swappable.h
    M libcxx/include/__type_traits/is_trivial.h
    M libcxx/include/__type_traits/is_trivially_assignable.h
    M libcxx/include/__type_traits/is_trivially_constructible.h
    M libcxx/include/__type_traits/is_trivially_copyable.h
    M libcxx/include/__type_traits/is_trivially_destructible.h
    M libcxx/include/__type_traits/is_unbounded_array.h
    M libcxx/include/__type_traits/is_union.h
    M libcxx/include/__type_traits/is_unsigned.h
    M libcxx/include/__type_traits/is_void.h
    M libcxx/include/__type_traits/is_volatile.h
    M libcxx/include/__type_traits/make_signed.h
    M libcxx/include/__type_traits/make_unsigned.h
    M libcxx/include/__type_traits/negation.h
    M libcxx/include/__type_traits/rank.h
    M libcxx/include/__type_traits/remove_all_extents.h
    M libcxx/include/__type_traits/remove_const.h
    M libcxx/include/__type_traits/remove_cv.h
    M libcxx/include/__type_traits/remove_cvref.h
    M libcxx/include/__type_traits/remove_extent.h
    M libcxx/include/__type_traits/remove_pointer.h
    M libcxx/include/__type_traits/remove_reference.h
    M libcxx/include/__type_traits/remove_volatile.h
    M libcxx/include/__type_traits/type_identity.h
    M libcxx/include/__type_traits/underlying_type.h
    M libcxx/include/__type_traits/unwrap_ref.h
    M libcxx/include/execution
    M libcxx/include/variant
    A libcxx/test/libcxx/algorithms/no_specializations.verify.cpp
    A libcxx/test/libcxx/language.support/no_specializations.verify.cpp
    A libcxx/test/libcxx/ranges/no_specializations.verify.cpp
    A libcxx/test/libcxx/type_traits/no_specializations.verify.cpp
    A libcxx/test/libcxx/utilities/format/no_specializations.verify.cpp
    A libcxx/test/libcxx/utilities/no_specializations.verify.cpp

  Log Message:
  -----------
  [libc++] Use [[clang::no_specializations]] to diagnose invalid user specializations (#118167)

Some templates in the standard library are illegal to specialize for users
(even if the specialization contains user-defined types). The [[clang::no_specializations]]
attribute allows marking such base templates so that the compiler will
diagnose if users try adding a specialization.


  Commit: 9705500582b9c2b2e1dd6de14f03a94d270a9250
      https://github.com/llvm/llvm-project/commit/9705500582b9c2b2e1dd6de14f03a94d270a9250
  Author: Fraser Cormack <fraser at codeplay.com>
  Date:   2025-01-23 (Thu, 23 Jan 2025)

  Changed paths:
    M libclc/amdgpu/lib/SOURCES
    R libclc/amdgpu/lib/math/nextafter.cl
    M libclc/clc/include/clc/clcmacro.h
    A libclc/clc/include/clc/math/binary_decl_with_scalar_second_arg.inc
    A libclc/clc/include/clc/math/clc_nextafter.h
    M libclc/clc/include/clc/relational/clc_isnan.h
    A libclc/clc/include/clc/shared/binary_decl.inc
    M libclc/clc/lib/clspv/SOURCES
    M libclc/clc/lib/generic/SOURCES
    A libclc/clc/lib/generic/math/clc_nextafter.cl
    M libclc/clc/lib/spirv/SOURCES
    M libclc/clc/lib/spirv64/SOURCES
    M libclc/clspv/lib/SOURCES
    R libclc/clspv/lib/math/nextafter.cl
    R libclc/clspv/lib/math/nextafter.inc
    R libclc/generic/include/clc/math/binary_decl.inc
    M libclc/generic/include/clc/math/fmax.h
    M libclc/generic/include/clc/math/fmin.h
    R libclc/generic/include/math/clc_nextafter.h
    M libclc/generic/lib/SOURCES
    R libclc/generic/lib/math/clc_nextafter.cl
    M libclc/generic/lib/math/nextafter.cl
    R libclc/ptx/lib/SOURCES
    R libclc/ptx/lib/math/nextafter.cl

  Log Message:
  -----------
  [libclc] Move nextafter to the CLC library (#124097)

There were two implementations of this - one that implemented nextafter
in software, and another that called a clang builtin. No in-tree targets
called the builtin, so all targets build the software version. The
builtin version has been removed, and the software version has been
renamed to be the "default".

This commit also optimizes nextafter, to avoid scalarization as much as
possible. Note however that the (CLC) relational builtins still
scalarize; those will be optimized in a separate commit.

Since nextafter is used by some convert_type builtins, the diff to IR
codegen is not limited to the builtin itself.


  Commit: e069518f82bc3699dc4fc81bbc99ae4a6d44449e
      https://github.com/llvm/llvm-project/commit/e069518f82bc3699dc4fc81bbc99ae4a6d44449e
  Author: Ramkumar Ramachandra <ramkumar.ramachandra at codasip.com>
  Date:   2025-01-23 (Thu, 23 Jan 2025)

  Changed paths:
    M llvm/test/Analysis/ScalarEvolution/implied-via-division.ll

  Log Message:
  -----------
  SCEV: cover a codepath in isImpliedCondBalancedTypes (#123070)

The code that checks a predicate against a swapped predicate in
isImpliedCondBalancedTypes is not covered by any existing test, within
any Analysis or Transform. Fix this by adding a test to SCEV.


  Commit: 0e944a30954e666cba2bf17497fafe835e4b3519
      https://github.com/llvm/llvm-project/commit/0e944a30954e666cba2bf17497fafe835e4b3519
  Author: Tuomas Kärnä <tuomas.karna at intel.com>
  Date:   2025-01-23 (Thu, 23 Jan 2025)

  Changed paths:
    M mlir/lib/Conversion/SCFToGPU/SCFToGPU.cpp
    M mlir/test/Conversion/SCFToGPU/parallel_loop.mlir

  Log Message:
  -----------
  [SCFToGPU] Convert scf.parallel+scf.reduce to gpu.all_reduce (#122782)

Support reductions in SCFToGPU: `scf.parallel` and `scf.reduce` op
combination is now converted to a `gpu.all_reduce` op.


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

  Changed paths:
    M llvm/lib/Target/X86/X86ISelLowering.cpp
    M llvm/lib/Target/X86/X86InstrCompiler.td
    M llvm/lib/Target/X86/X86InstrFragments.td
    M llvm/lib/Target/X86/X86InstrInfo.cpp
    M llvm/lib/Target/X86/X86InstrMisc.td
    M llvm/lib/Target/X86/X86Subtarget.h
    M llvm/test/CodeGen/X86/bit_ceil.ll
    M llvm/test/CodeGen/X86/combine-or.ll
    M llvm/test/CodeGen/X86/ctlo.ll
    M llvm/test/CodeGen/X86/ctlz.ll
    M llvm/test/CodeGen/X86/cttz.ll
    M llvm/test/CodeGen/X86/known-never-zero.ll
    M llvm/test/CodeGen/X86/pr89877.ll
    M llvm/test/CodeGen/X86/pr90847.ll
    M llvm/test/CodeGen/X86/pr92569.ll
    M llvm/test/CodeGen/X86/scheduler-backtracking.ll
    M llvm/test/TableGen/x86-fold-tables.inc
    M llvm/test/tools/llvm-mca/X86/BtVer2/clear-super-register-1.s

  Log Message:
  -----------
  [X86] Handle BSF/BSR "zero-input pass through" behaviour (#123623)

Intel docs have been updated to be similar to AMD and now describe
BSF/BSR as not changing the destination register if the input value was
zero, which allows us to support CTTZ/CTLZ zero-input cases by setting
the destination to support a NumBits result (BSR is a bit messy as it
has to be XOR'd to create a CTLZ result). VIA/Zhaoxin x86_64 CPUs have also
been confirmed to match this behaviour.

This patch adjusts the X86ISD::BSF/BSR nodes to take a "pass through"
argument for zero-input cases, by default this is set to UNDEF to match
existing behaviour, but it can be set to a suitable value if supported.

There are still some limits to this - its only supported for x86_64
capable processors (and I've only enabled it for x86_64 codegen), and
Intel CPUs sometimes zero the upper 32-bits of a pass through register
when used for BSR32/BSF32 with a zero source value (i.e. the whole
64bits may not get passed through).

Fixes #122004


  Commit: 0c66644270abc1455e92301a44232b9af75fafc6
      https://github.com/llvm/llvm-project/commit/0c66644270abc1455e92301a44232b9af75fafc6
  Author: Danial Klimkin <dklimkin at google.com>
  Date:   2025-01-23 (Thu, 23 Jan 2025)

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

  Log Message:
  -----------
  [bazel]Fix bazel build past 2e6cc79f816d942ab09d6a310cd925c1da148aa9 (#124112)

Split target under LLVMIR/Transforms to avoid deps loop.


  Commit: 590e5e20b12f9fd956d0ba7de83aa2ab44c9faeb
      https://github.com/llvm/llvm-project/commit/590e5e20b12f9fd956d0ba7de83aa2ab44c9faeb
  Author: Michael Liao <michael.hliao at gmail.com>
  Date:   2025-01-23 (Thu, 23 Jan 2025)

  Changed paths:
    M llvm/test/CodeGen/M68k/pipeline.ll

  Log Message:
  -----------
  [M68k] Fix llc pass test after 3630d9ef65b30af7e4ca78e668649bbc48b5be66


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

  Changed paths:
    M llvm/lib/FileCheck/FileCheck.cpp
    M llvm/lib/FileCheck/FileCheckImpl.h

  Log Message:
  -----------
  [FileCheck] Use move semantics instead of std::swap. NFC. (#123304)

This code was using a pre-move-semantics trick of using std::swap to
avoid expensive vector copies.


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

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

  Log Message:
  -----------
  MachineRegisterInfo: Use variable for TRI


  Commit: 6fdaaafd89d7cbc15dafe3ebf1aa3235d148aaab
      https://github.com/llvm/llvm-project/commit/6fdaaafd89d7cbc15dafe3ebf1aa3235d148aaab
  Author: Frederik Harwath <frederik.harwath at amd.com>
  Date:   2025-01-23 (Thu, 23 Jan 2025)

  Changed paths:
    M llvm/lib/Target/AMDGPU/SIPeepholeSDWA.cpp
    M llvm/test/CodeGen/AMDGPU/GlobalISel/saddsat.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/ssubsat.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/uaddsat.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/usubsat.ll
    M llvm/test/CodeGen/AMDGPU/buffer-fat-pointer-atomicrmw-fadd.ll
    M llvm/test/CodeGen/AMDGPU/flat-atomicrmw-fadd.ll
    M llvm/test/CodeGen/AMDGPU/flat-atomicrmw-fsub.ll
    M llvm/test/CodeGen/AMDGPU/global-atomicrmw-fadd.ll
    M llvm/test/CodeGen/AMDGPU/global-atomicrmw-fsub.ll
    M llvm/test/CodeGen/AMDGPU/idot4u.ll
    M llvm/test/CodeGen/AMDGPU/local-atomicrmw-fadd.ll
    M llvm/test/CodeGen/AMDGPU/local-atomicrmw-fsub.ll
    M llvm/test/CodeGen/AMDGPU/permute_i8.ll
    A llvm/test/CodeGen/AMDGPU/sdwa-peephole-instr-combine-sel.ll
    A llvm/test/CodeGen/AMDGPU/sdwa-peephole-instr-combine-sel.mir
    M llvm/test/CodeGen/AMDGPU/sdwa-peephole-instr-gfx10.mir
    M llvm/test/CodeGen/AMDGPU/sdwa-peephole-instr.mir
    M llvm/test/CodeGen/AMDGPU/sdwa-preserve.mir

  Log Message:
  -----------
  [AMDGPU] SIPeepholeSDWA: Disable on existing SDWA instructions (#123942)

This is meant as a short-term workaround for an invalid conversion in
this pass that occurs because existing SDWA selections are not correctly
taken into account during the conversion.

See the draft PR #123221 for an attempt to fix the actual issue.

---------

Co-authored-by: Frederik Harwath <fharwath at amd.com>


  Commit: d8eb4ac41d881a19bea7673d753ba92e6a11f5d6
      https://github.com/llvm/llvm-project/commit/d8eb4ac41d881a19bea7673d753ba92e6a11f5d6
  Author: Nikita Popov <npopov at redhat.com>
  Date:   2025-01-23 (Thu, 23 Jan 2025)

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

  Log Message:
  -----------
  [Support] Remove ciso646 include (#123578)

This header has been removed in C++20 and causes a large amount of
deprecation spam when building against libstdc++ 15 in C++17 mode.

As far as I understand, we just need to include *some* STL header to get
access to the version macros, and as this header also includes
<optional> nowadays we can just drop the <cstd646> include entirely.


  Commit: ff55c9bc63ddd1bbe13376c25ae1fc327e3d5da2
      https://github.com/llvm/llvm-project/commit/ff55c9bc63ddd1bbe13376c25ae1fc327e3d5da2
  Author: Kareem Ergawy <kareem.ergawy at amd.com>
  Date:   2025-01-23 (Thu, 23 Jan 2025)

  Changed paths:
    M llvm/lib/Target/AMDGPU/AMDGPUMemoryUtils.cpp
    A llvm/test/CodeGen/AMDGPU/lower-indirect-lds-references.ll
    M llvm/test/CodeGen/AMDGPU/remove-no-kernel-id-attribute.ll

  Log Message:
  -----------
  [llvm][amdgpu] Handle indirect refs to LDS GVs during LDS lowering (#124089)

Fixes #123800

Extends LDS lowering by allowing it to discover transitive
indirect/escpaing references to LDS GVs.

For example, given the following input:
```llvm
@lds_item_to_indirectly_load = internal addrspace(3) global ptr undef, align 8

%store_type = type { i32, ptr }
@place_to_store_indirect_caller = internal addrspace(3) global %store_type undef, align 8

define amdgpu_kernel void @offloading_kernel() {
  store ptr @indirectly_load_lds, ptr addrspace(3) getelementptr inbounds nuw (i8, ptr addrspace(3) @place_to_store_indirect_caller, i32 0), align 8
  call void @call_unknown()
  ret void
}

define void @call_unknown() {
  %1 = alloca ptr, align 8
  %2 = call i32 %1()
  ret void
}

define void @indirectly_load_lds() {
  call void @directly_load_lds()
  ret void
}

define void @directly_load_lds() {
  %2 = load ptr, ptr addrspace(3) @lds_item_to_indirectly_load, align 8
  ret void
}

```

With the above input, prior to this patch, LDS lowering failed to lower
the reference to `@lds_item_to_indirectly_load` because:
1. it is indirectly called by a function whose address is taken in the
kernel.
2. we did not check if the kernel indirectly makes any calls to unknown
functions (we only checked the direct calls).

Co-authored-by: Jon Chesterfield <jonathan.chesterfield at amd.com>


  Commit: 92b839e9c82450a3c465d349de73818e6aad59f3
      https://github.com/llvm/llvm-project/commit/92b839e9c82450a3c465d349de73818e6aad59f3
  Author: Nico Weber <thakis at chromium.org>
  Date:   2025-01-23 (Thu, 23 Jan 2025)

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

  Log Message:
  -----------
  [gn] fix mistake in ee99c4d4845db


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

  Changed paths:
    M llvm/lib/Target/AMDGPU/AMDGPUISelDAGToDAG.cpp
    M llvm/lib/Target/AMDGPU/AMDGPUISelDAGToDAG.h
    M llvm/lib/Target/AMDGPU/SIISelLowering.cpp
    M llvm/test/CodeGen/AMDGPU/shufflevector.v2f32.v2f32.ll
    M llvm/test/CodeGen/AMDGPU/shufflevector.v2f32.v3f32.ll
    M llvm/test/CodeGen/AMDGPU/shufflevector.v2f32.v4f32.ll
    M llvm/test/CodeGen/AMDGPU/shufflevector.v2f32.v8f32.ll
    M llvm/test/CodeGen/AMDGPU/shufflevector.v2i32.v2i32.ll
    M llvm/test/CodeGen/AMDGPU/shufflevector.v2i32.v3i32.ll
    M llvm/test/CodeGen/AMDGPU/shufflevector.v2i32.v4i32.ll
    M llvm/test/CodeGen/AMDGPU/shufflevector.v2i32.v8i32.ll
    M llvm/test/CodeGen/AMDGPU/shufflevector.v2p3.v2p3.ll
    M llvm/test/CodeGen/AMDGPU/shufflevector.v2p3.v3p3.ll
    M llvm/test/CodeGen/AMDGPU/shufflevector.v2p3.v4p3.ll
    M llvm/test/CodeGen/AMDGPU/shufflevector.v2p3.v8p3.ll
    M llvm/test/CodeGen/AMDGPU/vector_shuffle.packed.ll
    M llvm/test/Transforms/InferAddressSpaces/AMDGPU/flat_atomic.ll

  Log Message:
  -----------
  AMDGPU: Make vector_shuffle legal for v2i32 with v_pk_mov_b32 (#123684)

For VALU shuffles, this saves an instruction in some case.


  Commit: 0c71fdd1575b826cbb3c252ee0b15fc84559abec
      https://github.com/llvm/llvm-project/commit/0c71fdd1575b826cbb3c252ee0b15fc84559abec
  Author: Joseph Huber <huberjn at outlook.com>
  Date:   2025-01-23 (Thu, 23 Jan 2025)

  Changed paths:
    M clang/lib/Driver/ToolChains/Cuda.cpp
    M clang/test/Driver/cuda-cross-compiling.c

  Log Message:
  -----------
  [NVPTX] Fix ctor / dtor lowering when NVPTX target is not enabled (#124116)

Summary:
We pass the `-nvptx-lower-global-ctor-dtor` option to support the `libc`
like use-case which needs global constructors sometimes. This only
affects the backend. If the NVPTX target is not enabled this option will
be unknown which prevents you from compiling generic IR for this.


  Commit: 99d450e9f51683bad608bf801e1b29e5c54b8917
      https://github.com/llvm/llvm-project/commit/99d450e9f51683bad608bf801e1b29e5c54b8917
  Author: Nico Weber <thakis at chromium.org>
  Date:   2025-01-23 (Thu, 23 Jan 2025)

  Changed paths:
    M llvm/lib/Target/AMDGPU/SIPeepholeSDWA.cpp
    M llvm/test/CodeGen/AMDGPU/GlobalISel/saddsat.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/ssubsat.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/uaddsat.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/usubsat.ll
    M llvm/test/CodeGen/AMDGPU/buffer-fat-pointer-atomicrmw-fadd.ll
    M llvm/test/CodeGen/AMDGPU/flat-atomicrmw-fadd.ll
    M llvm/test/CodeGen/AMDGPU/flat-atomicrmw-fsub.ll
    M llvm/test/CodeGen/AMDGPU/global-atomicrmw-fadd.ll
    M llvm/test/CodeGen/AMDGPU/global-atomicrmw-fsub.ll
    M llvm/test/CodeGen/AMDGPU/idot4u.ll
    M llvm/test/CodeGen/AMDGPU/local-atomicrmw-fadd.ll
    M llvm/test/CodeGen/AMDGPU/local-atomicrmw-fsub.ll
    M llvm/test/CodeGen/AMDGPU/permute_i8.ll
    R llvm/test/CodeGen/AMDGPU/sdwa-peephole-instr-combine-sel.ll
    R llvm/test/CodeGen/AMDGPU/sdwa-peephole-instr-combine-sel.mir
    M llvm/test/CodeGen/AMDGPU/sdwa-peephole-instr-gfx10.mir
    M llvm/test/CodeGen/AMDGPU/sdwa-peephole-instr.mir
    M llvm/test/CodeGen/AMDGPU/sdwa-preserve.mir

  Log Message:
  -----------
  Revert "[AMDGPU] SIPeepholeSDWA: Disable on existing SDWA instructions (#123942)"

This reverts commit 6fdaaafd89d7cbc15dafe3ebf1aa3235d148aaab.
Breaks check-llvm, see
https://github.com/llvm/llvm-project/pull/123942#issuecomment-2609861953


  Commit: 4d3a5309248e167021913736dfd5276ee536f4ce
      https://github.com/llvm/llvm-project/commit/4d3a5309248e167021913736dfd5276ee536f4ce
  Author: Danial Klimkin <dklimkin at google.com>
  Date:   2025-01-23 (Thu, 23 Jan 2025)

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

  Log Message:
  -----------
  [bazel]Fix(2) bazel build past 2e6cc79f816d942ab09d6a310cd925c1da148aa9 (#124118)

Fix caused link errors downstream.


  Commit: 25653e558c292e9582d8132134af47a1af55499b
      https://github.com/llvm/llvm-project/commit/25653e558c292e9582d8132134af47a1af55499b
  Author: Mikołaj Piróg <mikolaj.maciej.pirog at intel.com>
  Date:   2025-01-23 (Thu, 23 Jan 2025)

  Changed paths:
    M clang/include/clang/Basic/BuiltinsX86.td
    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
    M clang/test/CodeGen/X86/avx10_2convert-builtins.c
    M llvm/include/llvm/IR/IntrinsicsX86.td
    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/Target/X86/X86IntrinsicsInfo.h
    M llvm/test/CodeGen/X86/avx10_2_512convert-intrinsics.ll
    M llvm/test/CodeGen/X86/avx10_2convert-intrinsics.ll
    M llvm/test/MC/Disassembler/X86/avx10.2convert-32.txt
    M llvm/test/MC/Disassembler/X86/avx10.2convert-64.txt
    M llvm/test/MC/X86/avx10.2convert-32-att.s
    M llvm/test/MC/X86/avx10.2convert-32-intel.s
    M llvm/test/MC/X86/avx10.2convert-64-att.s
    M llvm/test/MC/X86/avx10.2convert-64-intel.s
    M llvm/test/TableGen/x86-fold-tables.inc

  Log Message:
  -----------
  [AVX10.2] Update convert chapter intrinsic and mnemonics names (#123656)

Intel spec for avx10.2
(https://cdrdv2.intel.com/v1/dl/getContent/828965) has been updated.
This PR changes relevant names from the "AVX10 CONVERT INSTRUCTIONS"
chapter .


  Commit: 1f0964f81e5ae90e1c50fcdd103ec9c838b995e0
      https://github.com/llvm/llvm-project/commit/1f0964f81e5ae90e1c50fcdd103ec9c838b995e0
  Author: David Spickett <david.spickett at linaro.org>
  Date:   2025-01-23 (Thu, 23 Jan 2025)

  Changed paths:
    M llvm/docs/Contributing.rst

  Log Message:
  -----------
  [llvm][Docs] Clarify finding maintainers

By noting where the files are to be found, and adding some
whitespace to break up large blocks.

(the merge on behalf bit needs a refresh but this will go
into review later after this)


  Commit: 26b61e143b7e6117b57df2b58bbcb146a6f0f4d4
      https://github.com/llvm/llvm-project/commit/26b61e143b7e6117b57df2b58bbcb146a6f0f4d4
  Author: Nicholas Guy <nicholas.guy at arm.com>
  Date:   2025-01-23 (Thu, 23 Jan 2025)

  Changed paths:
    M llvm/lib/Transforms/Vectorize/VPlan.h
    M llvm/test/Transforms/LoopVectorize/AArch64/vplan-printing.ll

  Log Message:
  -----------
  [LoopVectorizer] Propagate underlying instruction to the cloned instances of VPPartialReductionRecipes (#123638)


  Commit: 6206f5444fc0732e6495703c75a67f1f90f5b418
      https://github.com/llvm/llvm-project/commit/6206f5444fc0732e6495703c75a67f1f90f5b418
  Author: Lucas Ramirez <11032120+lucas-rami at users.noreply.github.com>
  Date:   2025-01-23 (Thu, 23 Jan 2025)

  Changed paths:
    M llvm/lib/Target/AMDGPU/AMDGPUAsmPrinter.cpp
    M llvm/lib/Target/AMDGPU/AMDGPUPromoteAlloca.cpp
    M llvm/lib/Target/AMDGPU/AMDGPUSubtarget.cpp
    M llvm/lib/Target/AMDGPU/AMDGPUSubtarget.h
    M llvm/lib/Target/AMDGPU/AMDGPUTargetMachine.cpp
    M llvm/lib/Target/AMDGPU/GCNSchedStrategy.cpp
    M llvm/lib/Target/AMDGPU/GCNSubtarget.cpp
    M llvm/lib/Target/AMDGPU/GCNSubtarget.h
    M llvm/lib/Target/AMDGPU/SIMachineFunctionInfo.cpp
    M llvm/lib/Target/AMDGPU/SIRegisterInfo.cpp
    M llvm/test/CodeGen/AMDGPU/GlobalISel/add.vni16.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/fdiv.f64.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/fshl.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/fshr.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/insertelement.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/llvm.memcpy.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/mul.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/saddsat.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/sdiv.i64.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/sdivrem.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/srem.i64.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/ssubsat.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/udiv.i64.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/udivrem.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/urem.i64.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/usubsat.ll
    M llvm/test/CodeGen/AMDGPU/abs_i16.ll
    M llvm/test/CodeGen/AMDGPU/add.ll
    M llvm/test/CodeGen/AMDGPU/addrspacecast.ll
    M llvm/test/CodeGen/AMDGPU/agpr-copy-no-free-registers.ll
    M llvm/test/CodeGen/AMDGPU/amdhsa-trap-num-sgprs.ll
    M llvm/test/CodeGen/AMDGPU/bf16.ll
    M llvm/test/CodeGen/AMDGPU/branch-relax-spill.ll
    M llvm/test/CodeGen/AMDGPU/buffer-fat-pointers-contents-legalization.ll
    M llvm/test/CodeGen/AMDGPU/calling-conventions.ll
    M llvm/test/CodeGen/AMDGPU/dbg-value-ends-sched-region.mir
    M llvm/test/CodeGen/AMDGPU/debug-value-scheduler-crash.mir
    M llvm/test/CodeGen/AMDGPU/div_i128.ll
    M llvm/test/CodeGen/AMDGPU/div_v2i128.ll
    M llvm/test/CodeGen/AMDGPU/extract_vector_elt-f16.ll
    M llvm/test/CodeGen/AMDGPU/fcanonicalize.f16.ll
    M llvm/test/CodeGen/AMDGPU/fptoi.i128.ll
    M llvm/test/CodeGen/AMDGPU/fsqrt.f64.ll
    M llvm/test/CodeGen/AMDGPU/function-args.ll
    M llvm/test/CodeGen/AMDGPU/function-returns.ll
    M llvm/test/CodeGen/AMDGPU/gfx-callable-argument-types.ll
    M llvm/test/CodeGen/AMDGPU/gfx-callable-return-types.ll
    M llvm/test/CodeGen/AMDGPU/half.ll
    M llvm/test/CodeGen/AMDGPU/idot8s.ll
    M llvm/test/CodeGen/AMDGPU/indirect-addressing-si.ll
    M llvm/test/CodeGen/AMDGPU/insert_vector_elt.v2bf16.ll
    M llvm/test/CodeGen/AMDGPU/insert_vector_elt.v2i16.ll
    M llvm/test/CodeGen/AMDGPU/integer-mad-patterns.ll
    M llvm/test/CodeGen/AMDGPU/licm-regpressure.mir
    M llvm/test/CodeGen/AMDGPU/llvm.maximum.f16.ll
    M llvm/test/CodeGen/AMDGPU/llvm.maximum.f32.ll
    M llvm/test/CodeGen/AMDGPU/llvm.minimum.f16.ll
    M llvm/test/CodeGen/AMDGPU/llvm.minimum.f32.ll
    M llvm/test/CodeGen/AMDGPU/llvm.round.f64.ll
    M llvm/test/CodeGen/AMDGPU/load-constant-i1.ll
    M llvm/test/CodeGen/AMDGPU/load-constant-i16.ll
    M llvm/test/CodeGen/AMDGPU/load-constant-i32.ll
    M llvm/test/CodeGen/AMDGPU/load-constant-i64.ll
    M llvm/test/CodeGen/AMDGPU/load-constant-i8.ll
    M llvm/test/CodeGen/AMDGPU/load-global-i16.ll
    M llvm/test/CodeGen/AMDGPU/load-global-i32.ll
    M llvm/test/CodeGen/AMDGPU/machine-scheduler-sink-trivial-remats.mir
    M llvm/test/CodeGen/AMDGPU/memcpy-libcall.ll
    M llvm/test/CodeGen/AMDGPU/memory_clause.mir
    M llvm/test/CodeGen/AMDGPU/min-waves-per-eu-not-respected.ll
    M llvm/test/CodeGen/AMDGPU/mul.ll
    M llvm/test/CodeGen/AMDGPU/mul24-pass-ordering.ll
    M llvm/test/CodeGen/AMDGPU/permute_i8.ll
    M llvm/test/CodeGen/AMDGPU/pr51516.mir
    M llvm/test/CodeGen/AMDGPU/promote-constOffset-to-imm.ll
    M llvm/test/CodeGen/AMDGPU/rem_i128.ll
    M llvm/test/CodeGen/AMDGPU/remat-fp64-constants.ll
    M llvm/test/CodeGen/AMDGPU/resource-optimization-remarks.ll
    M llvm/test/CodeGen/AMDGPU/rsq.f64.ll
    M llvm/test/CodeGen/AMDGPU/sched-handleMoveUp-subreg-def-across-subreg-def.mir
    M llvm/test/CodeGen/AMDGPU/schedule-amdgpu-trackers.ll
    M llvm/test/CodeGen/AMDGPU/schedule-barrier.mir
    M llvm/test/CodeGen/AMDGPU/schedule-regpressure-limit-clustering.ll
    M llvm/test/CodeGen/AMDGPU/schedule-relaxed-occupancy.ll
    M llvm/test/CodeGen/AMDGPU/sdiv.ll
    M llvm/test/CodeGen/AMDGPU/sdwa-peephole.ll
    M llvm/test/CodeGen/AMDGPU/select.f16.ll
    M llvm/test/CodeGen/AMDGPU/shift-i128.ll
    M llvm/test/CodeGen/AMDGPU/shl.ll
    M llvm/test/CodeGen/AMDGPU/shufflevector.v2i64.v4i64.ll
    M llvm/test/CodeGen/AMDGPU/shufflevector.v2i64.v8i64.ll
    M llvm/test/CodeGen/AMDGPU/shufflevector.v2p0.v4p0.ll
    M llvm/test/CodeGen/AMDGPU/shufflevector.v3i64.v4i64.ll
    M llvm/test/CodeGen/AMDGPU/shufflevector.v3p0.v4p0.ll
    M llvm/test/CodeGen/AMDGPU/shufflevector.v4i64.v4i64.ll
    M llvm/test/CodeGen/AMDGPU/shufflevector.v4p0.v4p0.ll
    M llvm/test/CodeGen/AMDGPU/sra.ll
    M llvm/test/CodeGen/AMDGPU/srem.ll
    M llvm/test/CodeGen/AMDGPU/srl.ll
    M llvm/test/CodeGen/AMDGPU/ssubsat.ll
    M llvm/test/CodeGen/AMDGPU/udiv.ll
    M llvm/test/CodeGen/MIR/AMDGPU/machine-function-info-long-branch-reg-debug.ll
    M llvm/test/CodeGen/MIR/AMDGPU/machine-function-info-long-branch-reg.ll
    M llvm/test/CodeGen/MIR/AMDGPU/machine-function-info-no-ir.mir
    M llvm/test/CodeGen/MIR/AMDGPU/machine-function-info.ll

  Log Message:
  -----------
  [AMDGPU] Occupancy w.r.t. workgroup size range is also a range (#123748)

Occupancy (i.e., the number of waves per EU) depends, in addition to
register usage, on per-workgroup LDS usage as well as on the range of
possible workgroup sizes. Mirroring the latter, occupancy should
therefore be expressed as a range since different group sizes generally
yield different achievable occupancies.

`getOccupancyWithLocalMemSize` currently returns a scalar occupancy
based on the maximum workgroup size and LDS usage. With respect to the
workgroup size range, this scalar can be the minimum, the maximum, or
neither of the two of the range of achievable occupancies. This commit
fixes the function by making it compute and return the range of
achievable occupancies w.r.t. workgroup size and LDS usage; it also
renames it to `getOccupancyWithWorkGroupSizes` since it is the range of
workgroup sizes that produces the range of achievable occupancies.

Computing the achievable occupancy range is surprisingly involved.
Minimum/maximum workgroup sizes do not necessarily yield maximum/minimum
occupancies i.e., sometimes workgroup sizes inside the range yield the
occupancy bounds. The implementation finds these sizes in constant time;
heavy documentation explains the rationale behind the sometimes
relatively obscure calculations.

As a justifying example, consider a target with 10 waves / EU, 4 EUs/CU,
64-wide waves. Also consider a function with no LDS usage and a flat
workgroup size range of [513,1024].

- A group of 513 items requires 9 waves per group. Only 4 groups made up
of 9 waves each can fit fully on a CU at any given time, for a total of
36 waves on the CU, or 9 per EU. However, filling as much as possible
the remaining 40-36=4 wave slots without decreasing the number of groups
reveals that a larger group of 640 items yields 40 waves on the CU, or
10 per EU.
- Similarly, a group of 1024 items requires 16 waves per group. Only 2
groups made up of 16 waves each can fit fully on a CU ay any given time,
for a total of 32 waves on the CU, or 8 per EU. However, removing as
many waves as possible from the groups without being able to fit another
equal-sized group on the CU reveals that a smaller group of 896 items
yields 28 waves on the CU, or 7 per EU.

Therefore the achievable occupancy range for this function is not [8,9]
as the group size bounds directly yield, but [7,10].

Naturally this change causes a lot of test churn as instruction
scheduling is driven by achievable occupancy estimates. In most unit
tests the flat workgroup size range is the default [1,1024] which,
ignoring potential LDS limitations, would previously produce a scalar
occupancy of 8 (derived from 1024) on a lot of targets, whereas we now
consider the maximum occupancy to be 10 in such cases. Most tests are
updated automatically and checked manually for sanity. I also manually
changed some non-automatically generated assertions when necessary.

Fixes #118220.


  Commit: c3b40c7ea215487ffc3b9d146f3f8f9a7ac8d407
      https://github.com/llvm/llvm-project/commit/c3b40c7ea215487ffc3b9d146f3f8f9a7ac8d407
  Author: Nikita Popov <npopov at redhat.com>
  Date:   2025-01-23 (Thu, 23 Jan 2025)

  Changed paths:
    M llvm/test/CodeGen/X86/uadd_sat_vec.ll
    M llvm/test/CodeGen/X86/usub_sat_vec.ll

  Log Message:
  -----------
  [X86] Regenerate test checks (NFC)

Regenerate some tests for the new vpternlog printing.


  Commit: f61d93ffc456d94df729529642ea180b40ef9d19
      https://github.com/llvm/llvm-project/commit/f61d93ffc456d94df729529642ea180b40ef9d19
  Author: Jan Leyonberg <jan_sjodin at yahoo.com>
  Date:   2025-01-23 (Thu, 23 Jan 2025)

  Changed paths:
    M flang/lib/Optimizer/Builder/IntrinsicCall.cpp
    M flang/test/Lower/HLFIR/elemental-intrinsics.f90
    M flang/test/Lower/Intrinsics/acos.f90
    M flang/test/Lower/dummy-procedure.f90
    M flang/test/Lower/trigonometric-intrinsics.f90

  Log Message:
  -----------
  [Flang] Generate math.acos op for non-precise acos intrinsic calls (#123641)

This patch changes the codgegn for non-precise acos calls to generate
math.acos ops. This wasn't done before because the math dialect did not
have a acos operation at the time.


  Commit: 6fe0fc60341b05bf30ccc16012dab9eeb55a338d
      https://github.com/llvm/llvm-project/commit/6fe0fc60341b05bf30ccc16012dab9eeb55a338d
  Author: Nikita Popov <npopov at redhat.com>
  Date:   2025-01-23 (Thu, 23 Jan 2025)

  Changed paths:
    M llvm/include/llvm/CodeGen/CallingConvLower.h
    M llvm/lib/Target/AArch64/AArch64CallingConvention.cpp
    M llvm/lib/Target/ARM/ARMCallingConv.cpp

  Log Message:
  -----------
  [CallingConv] Return ArrayRef from AllocateRegBlock() (NFC) (#124120)

Instead of returning the first register, return the ArrayRef containing
the whole block.

Existing users rely on the fact that the register block only contains
adjacently-numbered registers and it's possible to get the remaining
registers in the block by just incrementing the register. Returning an
ArrayRef allows more generic usage with non-adjacent registers.


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

  Changed paths:
    M llvm/lib/Transforms/IPO/WholeProgramDevirt.cpp
    M llvm/test/ThinLTO/X86/devirt_check.ll

  Log Message:
  -----------
  [WPD]Provide branch weight for checking mode. (#124084)

Checking mode aims to help diagnose and confirm undefined behavior. In
most cases, source code don't cast pointers between unrelated types for
virtual calls, so we expect direct calls in the frequent branch and
debug trap in the unlikely branch.

This way, the overhead of checking mode is not higher than an indirect
call promotion for a hot callsite as long as the callsite doesn't run the debug trap
branch.


  Commit: 96410edd4748a78e6b736eef8a5ff1ca4bb29be5
      https://github.com/llvm/llvm-project/commit/96410edd4748a78e6b736eef8a5ff1ca4bb29be5
  Author: mingmingl <mingmingl at google.com>
  Date:   2025-01-23 (Thu, 23 Jan 2025)

  Changed paths:
    M llvm/test/CodeGen/X86/jump-table-partition.ll

  Log Message:
  -----------
  mark test as unsupported as I investigate test failure on certain environments


  Commit: cb426b18c2f683ed3b4be325f257d62976d22f00
      https://github.com/llvm/llvm-project/commit/cb426b18c2f683ed3b4be325f257d62976d22f00
  Author: Finn Plummer <50529406+inbelic at users.noreply.github.com>
  Date:   2025-01-23 (Thu, 23 Jan 2025)

  Changed paths:
    M llvm/lib/Target/DirectX/DXIL.td

  Log Message:
  -----------
  [NFC][DirectX] Clean-up of `DXIL.td` (#124005)

- Runs clang-format on `DXIL.td`
Note: this does not include the suggested formatting changes to `defset
list<DXILOpClasses> OpClasses` as it does not enforce the formatting
that is primarily used elsewhere
- Reorders currently defined `DXIL` ops by opcode in ascending order to
be consistent with other definitions

This is a small cleanup moved to be separate from
[#115912](https://github.com/llvm/llvm-project/issues/115912) for
reviewability.


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

  Changed paths:
    M llvm/lib/Target/RISCV/RISCVInstrInfoXSf.td
    A llvm/test/MC/RISCV/rvv/xsfvfwmacc-invalid.s
    A llvm/test/MC/RISCV/rvv/xsfvqmacc-invalid.s

  Log Message:
  -----------
  [RISCV] Add RVVConstraint to SiFive custom matrix multiply instructions. (#124055)

The instructions don't allow the vs1 encoded register to overlap vd.
Confusingly these instructions order their operands vd, vs1, vs2 while
every other vector instruction is vd, vs2, vs1. So we need to use
VS2Constraint for this since it checks the first operand after vd.

2 of the 3 extensions have instruction that produce a result with
EMUL=2*LMUL. This makes them subject to the widening constraints for
vs2. So for these extensions we use WidenV which includes VS2Constraint.


  Commit: 1937a36209bc5f3636e7c98a1638ee9f082b4d2b
      https://github.com/llvm/llvm-project/commit/1937a36209bc5f3636e7c98a1638ee9f082b4d2b
  Author: Craig Topper <craig.topper at sifive.com>
  Date:   2025-01-23 (Thu, 23 Jan 2025)

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

  Log Message:
  -----------
  [RISCV] Add @earlyclobber to SiFive custom matrix multiply instruction. (#124060)

All of these have a constraint that vd and vs1 cannot overlap. Some of
them have an additional widening constraint for vs2. We should use
earlyclobber to protect this.

This is unlikely to be an issue in practice due to the instrinsic being
ternary so vd is also a source. The intrinsic has a different type for
this source than the other sources. You would have to do something crazy
to get the register allocator to overlap the registers.


  Commit: df299958e64c73d73b427afc70b960ec039586ac
      https://github.com/llvm/llvm-project/commit/df299958e64c73d73b427afc70b960ec039586ac
  Author: Kazu Hirata <kazu at google.com>
  Date:   2025-01-23 (Thu, 23 Jan 2025)

  Changed paths:
    M mlir/lib/Dialect/Tosa/IR/TosaCanonicalizations.cpp

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

This patch fixes:

  mlir/lib/Dialect/Tosa/IR/TosaCanonicalizations.cpp:403:5: error:
  'ClampRange' may not intend to support class template argument
  deduction [-Werror,-Wctad-maybe-unsupported]

  mlir/lib/Dialect/Tosa/IR/TosaCanonicalizations.cpp:404:5: error:
  'ClampRange' may not intend to support class template argument
  deduction [-Werror,-Wctad-maybe-unsupported]


  Commit: bca6dbd3a241f4a2cb6cfa5ed4c2f94cf76d3f17
      https://github.com/llvm/llvm-project/commit/bca6dbd3a241f4a2cb6cfa5ed4c2f94cf76d3f17
  Author: Nikita Popov <npopov at redhat.com>
  Date:   2025-01-23 (Thu, 23 Jan 2025)

  Changed paths:
    M llvm/test/CodeGen/X86/i128-abi.ll

  Log Message:
  -----------
  [X86] Add additional i128 abi test (NFC)


  Commit: 7db4ba3916d33e57fb5244214f4873bf74e273f0
      https://github.com/llvm/llvm-project/commit/7db4ba3916d33e57fb5244214f4873bf74e273f0
  Author: Michael Maitland <michaeltmaitland at gmail.com>
  Date:   2025-01-23 (Thu, 23 Jan 2025)

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

  Log Message:
  -----------
  [GlobalMerge][NFC] Fix inaccurate comments (#124136)

I was studying the code here and realized that the comments were talking
about grouping by basic blocks when the code was grouping by Function.
Fix the comments so they reflect what the code is actually doing.


  Commit: fa299294c068b1857d8d7ee74a512080898f194d
      https://github.com/llvm/llvm-project/commit/fa299294c068b1857d8d7ee74a512080898f194d
  Author: Alexey Bataev <a.bataev at outlook.com>
  Date:   2025-01-23 (Thu, 23 Jan 2025)

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

  Log Message:
  -----------
  [SLP][NFC]Modernize code base in several places


  Commit: e622468f164f6ba223e6862d8235eea5f555f927
      https://github.com/llvm/llvm-project/commit/e622468f164f6ba223e6862d8235eea5f555f927
  Author: Kazu Hirata <kazu at google.com>
  Date:   2025-01-23 (Thu, 23 Jan 2025)

  Changed paths:
    M clang/lib/AST/JSONNodeDumper.cpp

  Log Message:
  -----------
  [AST] Migrate away from PointerUnion::dyn_cast (NFC) (#124074)

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

Literal migration would result in dyn_cast_if_present (see the
definition of PointerUnion::dyn_cast), but this patch uses dyn_cast
because we expect CO to be nonnull.


  Commit: 113e1fdc8c7f9085d5a48ca16b270cf53e9f189d
      https://github.com/llvm/llvm-project/commit/113e1fdc8c7f9085d5a48ca16b270cf53e9f189d
  Author: Kazu Hirata <kazu at google.com>
  Date:   2025-01-23 (Thu, 23 Jan 2025)

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

  Log Message:
  -----------
  [CodeGen] Migrate away from PointerUnion::dyn_cast (NFC) (#124076)

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

Literal migration would result in dyn_cast_if_present (see the
definition of PointerUnion::dyn_cast), but this patch uses dyn_cast
because we expect Pos to be nonnull.


  Commit: d05008363d4ed87b1350701831032ea5070d5b98
      https://github.com/llvm/llvm-project/commit/d05008363d4ed87b1350701831032ea5070d5b98
  Author: Kazu Hirata <kazu at google.com>
  Date:   2025-01-23 (Thu, 23 Jan 2025)

  Changed paths:
    M lldb/source/Target/DynamicRegisterInfo.cpp

  Log Message:
  -----------
  [lldb] Avoid repeated map lookups (NFC) (#124077)


  Commit: bb019dd165ceeb5b9c9e4a0bf3c9ee9bc886e7fc
      https://github.com/llvm/llvm-project/commit/bb019dd165ceeb5b9c9e4a0bf3c9ee9bc886e7fc
  Author: Kazu Hirata <kazu at google.com>
  Date:   2025-01-23 (Thu, 23 Jan 2025)

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

  Log Message:
  -----------
  [CodeGen] Avoid repeated hash lookups (NFC) (#124078)


  Commit: bda39a6067833c9353adbc42bddb1b5808bcf44b
      https://github.com/llvm/llvm-project/commit/bda39a6067833c9353adbc42bddb1b5808bcf44b
  Author: Kazu Hirata <kazu at google.com>
  Date:   2025-01-23 (Thu, 23 Jan 2025)

  Changed paths:
    M llvm/lib/ExecutionEngine/Orc/TargetProcess/JITLoaderVTune.cpp

  Log Message:
  -----------
  [ExecutionEngine] Include <map> (#124083)

This patch reinstates an include of <map>, fixing a build failure
caused by:

  commit 1f4d91ecb8529678a3d3919d7523743bd21942ca
  Author: Kazu Hirata <kazu at google.com>
  Date:   Tue Nov 19 19:41:59 2024 -0800

  [ExecutionEngine] Remove unused includes (NFC) (#116749)

---------

Co-authored-by: h-vetinari <h.vetinari at gmx.com>


  Commit: 7ddeea359811ec49a07db948bbf3f6b6c915f675
      https://github.com/llvm/llvm-project/commit/7ddeea359811ec49a07db948bbf3f6b6c915f675
  Author: Acim Maravic <Acim.Maravic at amd.com>
  Date:   2025-01-23 (Thu, 23 Jan 2025)

  Changed paths:
    M llvm/lib/Target/AMDGPU/DSInstructions.td
    M llvm/test/MC/AMDGPU/gfx12_asm_ds.s
    M llvm/test/MC/Disassembler/AMDGPU/gfx12_dasm_ds.txt

  Log Message:
  -----------
  [LLVM][AMDGPU] MC support for ds_bpermute_fi_b32 (#124108)

Added assembler/disassembler support for ds_bpermute_fi_b32 instruction,
as well as tests.


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

  Changed paths:
    M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
    M llvm/test/Transforms/SLPVectorizer/AArch64/loadorder.ll
    M llvm/test/Transforms/SLPVectorizer/AArch64/reduce-fadd.ll
    M llvm/test/Transforms/SLPVectorizer/AMDGPU/min_max.ll
    M llvm/test/Transforms/SLPVectorizer/RISCV/complex-loads.ll

  Log Message:
  -----------
  [SLP] getSpillCost - fully populate IntrinsicCostAttributes to improve cost analysis. (#124129)

We were only constructing the IntrinsicCostAttributes with the arg type info, and not the args themselves, preventing more detailed cost analysis (constant / uniform args etc.)

Just pass the whole IntrinsicInst to the constructor and let it resolve everything it can.

Noticed while having yet another attempt at #63980


  Commit: 2f76e2b27d9ddd4fa0a1098f77b96fa51905bdb1
      https://github.com/llvm/llvm-project/commit/2f76e2b27d9ddd4fa0a1098f77b96fa51905bdb1
  Author: Fangrui Song <i at maskray.me>
  Date:   2025-01-23 (Thu, 23 Jan 2025)

  Changed paths:
    M clang/lib/Driver/ToolChains/Clang.cpp
    A clang/test/Driver/fno-plt.c

  Log Message:
  -----------
  [Driver] -fno-plt: warn for unsupported targets

-fno-plt is an ELF specific option that is only implemented for x86 (for
a long time) and AArch64 (#78890). GCC doesn't bother to give a
diagnostic on Windows. -fno-plt is somewhat popular and we've been
ignoring it for unsupported targets for a while, so just report a
warning for unsupported targets.

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


  Commit: 082b148041ec8bb5024246da3a33e8246dc5e01b
      https://github.com/llvm/llvm-project/commit/082b148041ec8bb5024246da3a33e8246dc5e01b
  Author: Craig Topper <craig.topper at sifive.com>
  Date:   2025-01-23 (Thu, 23 Jan 2025)

  Changed paths:
    M llvm/utils/TableGen/Common/CodeGenSchedule.cpp
    M llvm/utils/TableGen/Common/CodeGenSchedule.h

  Log Message:
  -----------
  [TableGen] Pass CodeGenProcModel reference instead of index to addWriteRes/addReadAdvance. NFC

2 of the 3 callers of each of these already had a reference they
converted to index. Use that reference and make the one caller
that only has an index responsible for looking up the reference from it.


  Commit: 1a8f49fdda5b14ccc894aacee653f19130df3a30
      https://github.com/llvm/llvm-project/commit/1a8f49fdda5b14ccc894aacee653f19130df3a30
  Author: Scott Todd <scott.todd0 at gmail.com>
  Date:   2025-01-23 (Thu, 23 Jan 2025)

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

  Log Message:
  -----------
  [mlir][python][cmake] Allow skipping nanobind compile options changes. (#123997)

Context:
https://github.com/llvm/llvm-project/pull/107103#discussion_r1925834532

This code is brittle, especially when called from a superproject that
adds the `nanobind-*` target in a different source directory:
```cmake
get_property(all_targets DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR} PROPERTY BUILDSYSTEM_TARGETS)
```

The changes here do help with my downstream build, but I'm not sure if
using the `MLIR_DISABLE_CONFIGURE_PYTHON_DEV_PACKAGES` option introduced
in https://github.com/llvm/llvm-project/pull/117934 is the right fix
given that the option is currently scoped directly to one location with
a matching name:
https://github.com/llvm/llvm-project/blob/7ad8a3da4771ce8abbd146611124104d42a4e63e/mlir/cmake/modules/MLIRDetectPythonEnv.cmake#L4-L5

Some other solutions to consider:

1. Search through an explicit list of target names using `if (TARGET)`
2. Iterate over _all_ targets in the project, not just the targets in
the current directory, using code like
https://stackoverflow.com/a/62311397
3. Iterate over targets in the directory known to MLIR
(`llvm-project/mlir/python`)
4. Move this `target_compile_options` setup into
`mlir_configure_python_dev_packages` (I started on this, but that runs
into similar issues where the target is defined in a different
directory)


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

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

  Log Message:
  -----------
  [flang][cuda] Handle pointer allocation with source (#124070)


  Commit: caf0540b91b0fee31353dc7049ae836e0f814cff
      https://github.com/llvm/llvm-project/commit/caf0540b91b0fee31353dc7049ae836e0f814cff
  Author: Nicholas Guy <nicholas.guy at arm.com>
  Date:   2025-01-23 (Thu, 23 Jan 2025)

  Changed paths:
    M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
    M llvm/lib/Transforms/Vectorize/VPRecipeBuilder.h
    M llvm/lib/Transforms/Vectorize/VPlan.h
    A llvm/test/Transforms/LoopVectorize/AArch64/partial-reduce-chained.ll

  Log Message:
  -----------
  [LoopVectorizer] Add support for chaining partial reductions (#120272)

Chaining partial reductions, where multiple partial reductions share an
accumulator, allow for more values to be combined together as part of
the reduction without discarding the semantics of the partial reduction
itself.


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

  Changed paths:
    M compiler-rt/test/profile/Linux/Inputs/instrprof-value-merge.c
    M compiler-rt/test/profile/Linux/binary-id.c
    M compiler-rt/test/profile/Linux/profile-version.c
    M llvm/lib/IR/ProfileSummary.cpp
    M llvm/test/tools/llvm-profdata/cs-sample-nested-profile.test
    M llvm/test/tools/llvm-profdata/general.proftext
    M llvm/test/tools/llvm-profdata/sample-summary.test
    M llvm/test/tools/llvm-profdata/suppl-instr-with-sample.test
    M llvm/test/tools/llvm-profdata/vtable-value-prof.test
    M llvm/tools/llvm-profdata/llvm-profdata.cpp

  Log Message:
  -----------
  [llvm-profdata] Add block percent to detailed summary (#105915)


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

  Changed paths:
    M lld/ELF/InputFiles.cpp
    M lld/test/ELF/gnustack.s

  Log Message:
  -----------
  [ELF] Error for executable .note.GNU-stack unless -z execstack or -r

.note.GNU-stack with the SHF_EXECINSTR flag requires an executable
stack. This is exceedingly rare. We report an error to force
the user to explicitly request an executable stack.

Close #121234

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


  Commit: 6d4e72abb85a4b302204dee881894271a84dd322
      https://github.com/llvm/llvm-project/commit/6d4e72abb85a4b302204dee881894271a84dd322
  Author: David Green <david.green at arm.com>
  Date:   2025-01-23 (Thu, 23 Jan 2025)

  Changed paths:
    M llvm/test/Transforms/GVN/vscale.ll
    A llvm/test/Transforms/NewGVN/vscale.ll

  Log Message:
  -----------
  [GVN] Add extra vscale tests with different types. NFC


  Commit: 3d72619d751994f3b2b13c1fbb38f5f2541ea0ae
      https://github.com/llvm/llvm-project/commit/3d72619d751994f3b2b13c1fbb38f5f2541ea0ae
  Author: David Green <david.green at arm.com>
  Date:   2025-01-23 (Thu, 23 Jan 2025)

  Changed paths:
    M llvm/test/Transforms/InstCombine/scalable-vector-struct.ll

  Log Message:
  -----------
  [InstCombine] Add a test for splitting scalable structs. NFC


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

  Changed paths:
    M mlir/test/Transforms/inlining-recursive-self.mlir
    M mlir/test/Transforms/inlining-recursive.mlir

  Log Message:
  -----------
  [test] Remove misleading ''


  Commit: ed512710a5e855a029a05f399335e03db0e704bd
      https://github.com/llvm/llvm-project/commit/ed512710a5e855a029a05f399335e03db0e704bd
  Author: hidekisaito <hidekido at amd.com>
  Date:   2025-01-23 (Thu, 23 Jan 2025)

  Changed paths:
    M offload/plugins-nextgen/common/include/MemoryManager.h

  Log Message:
  -----------
  [Offload] Make MemoryManager threshold ENV var size_t type. (#124063)


  Commit: 6a97897d5c159a52975bac19ac22c7913672c549
      https://github.com/llvm/llvm-project/commit/6a97897d5c159a52975bac19ac22c7913672c549
  Author: Vitaly Buka <vitalybuka at google.com>
  Date:   2025-01-23 (Thu, 23 Jan 2025)

  Changed paths:
    M clang-tools-extra/modularize/CoverageChecker.cpp

  Log Message:
  -----------
  [NFC][modules] Create objects on the stack (#124034)

`ClangTool` change to fix memory leak.
`FixedCompilationDatabase` changed just to makes it simpler.


  Commit: c7e6ca76cb4be7b1707cb583cf4aa4d458b312aa
      https://github.com/llvm/llvm-project/commit/c7e6ca76cb4be7b1707cb583cf4aa4d458b312aa
  Author: Alexey Bataev <a.bataev at outlook.com>
  Date:   2025-01-23 (Thu, 23 Jan 2025)

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

  Log Message:
  -----------
  [SLP][NFC]Add dump() method for ScheduleData struct type for better debugging


  Commit: 66e49e38aeed92c48ba175f31e12b07a8c526d11
      https://github.com/llvm/llvm-project/commit/66e49e38aeed92c48ba175f31e12b07a8c526d11
  Author: Vitaly Buka <vitalybuka at google.com>
  Date:   2025-01-23 (Thu, 23 Jan 2025)

  Changed paths:
    M llvm/lib/ObjectYAML/ELFYAML.cpp
    M llvm/lib/ObjectYAML/MachOYAML.cpp
    M llvm/test/ObjectYAML/MachO/section_data.yaml
    M llvm/test/tools/yaml2obj/ELF/custom-fill.yaml

  Log Message:
  -----------
  [YAML] Don't validate `Fill::Size` after error (#123280)

Size is required, so we don't know if it's in
uninitialized state after the previous error.

Triggers msan on llvm/test/tools/yaml2obj/ELF/custom-fill.yaml NOSIZE
test.

We have `Fill` Section with Pattern, but no size. Before the fix it
produced error:
```
YAML:169:5: error: missing required key 'Size'
  - Type:    Fill
    ^
YAML:169:5: error: "Size" can't be 0 when "Pattern" is not empty
  - Type:    Fill
```

The same applies to `MachOYAML::Section` fields `content` and `size`.
However `MachOYAML::Section` matches size first, so on error,
content is not set anyway. Added error checking just in case.


  Commit: ff17a4136dedba004d901a571c4fae501affd051
      https://github.com/llvm/llvm-project/commit/ff17a4136dedba004d901a571c4fae501affd051
  Author: Brad Smith <brad at comstyle.com>
  Date:   2025-01-23 (Thu, 23 Jan 2025)

  Changed paths:
    M lldb/cmake/modules/LLDBConfig.cmake
    M lldb/include/lldb/Host/Time.h
    M lldb/source/Host/CMakeLists.txt
    R lldb/source/Host/android/LibcGlue.cpp
    M lldb/source/Host/common/Socket.cpp
    M lldb/source/Host/posix/HostInfoPosix.cpp
    M lldb/source/Host/posix/ProcessLauncherPosixFork.cpp

  Log Message:
  -----------
  [lldb] Remove support and workarounds for Android 4 and older (#124047)


  Commit: 5a7d92f7a09d5580a298c2982bd42918b7ec492c
      https://github.com/llvm/llvm-project/commit/5a7d92f7a09d5580a298c2982bd42918b7ec492c
  Author: Alexandros Lamprineas <alexandros.lamprineas at arm.com>
  Date:   2025-01-23 (Thu, 23 Jan 2025)

  Changed paths:
    M clang/test/CodeGen/AArch64/cpu-supports-target.c

  Log Message:
  -----------
  [NFC] Remove invalid features from test and autogenerate checks. (#124130)


  Commit: e0cd57decb3aa9eb911b62306b8f8ac88fd97ffd
      https://github.com/llvm/llvm-project/commit/e0cd57decb3aa9eb911b62306b8f8ac88fd97ffd
  Author: Brad Smith <brad at comstyle.com>
  Date:   2025-01-23 (Thu, 23 Jan 2025)

  Changed paths:
    M compiler-rt/lib/asan/tests/asan_test.cpp
    M compiler-rt/lib/lsan/lsan_common_linux.cpp
    M compiler-rt/lib/sanitizer_common/sanitizer_common.h
    M compiler-rt/lib/sanitizer_common/sanitizer_getauxval.h
    M compiler-rt/lib/sanitizer_common/sanitizer_linux.cpp
    M compiler-rt/lib/sanitizer_common/sanitizer_linux_libcdep.cpp
    M compiler-rt/lib/sanitizer_common/sanitizer_platform_limits_posix.cpp

  Log Message:
  -----------
  [compiler-rt] Remove support and workarounds for Android 4 and older (#124056)


  Commit: 6045146014151a8f63a60612445de9ff6af47626
      https://github.com/llvm/llvm-project/commit/6045146014151a8f63a60612445de9ff6af47626
  Author: Alex Prabhat Bara <50404684+alexprabhat99 at users.noreply.github.com>
  Date:   2025-01-23 (Thu, 23 Jan 2025)

  Changed paths:
    M libc/include/pthread.yaml

  Log Message:
  -----------
  [libc] change return type of pthread_setspecific to int in generated header (#124072)

Fixes: #124032


  Commit: 02906931654460ca04a4b74f6aef65b542c73d2d
      https://github.com/llvm/llvm-project/commit/02906931654460ca04a4b74f6aef65b542c73d2d
  Author: Ellis Hoag <ellis.sparky.hoag at gmail.com>
  Date:   2025-01-23 (Thu, 23 Jan 2025)

  Changed paths:
    M llvm/test/tools/llvm-profdata/general.proftext

  Log Message:
  -----------
  [llvm-profdata] XFAIL broken test on windows (#124165)

XFAIL `llvm/test/tools/llvm-profdata/general.proftext` after it was
accidentally broken by
https://github.com/llvm/llvm-project/pull/105915/. I will follow up to
get this fixed.


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

  Changed paths:
    M libc/benchmarks/distributions/README.md
    M libc/benchmarks/gpu/CMakeLists.txt
    M libc/config/baremetal/riscv/entrypoints.txt
    M libc/config/linux/aarch64/entrypoints.txt
    M libc/config/linux/arm/entrypoints.txt
    M libc/config/linux/riscv/entrypoints.txt
    M libc/config/linux/x86_64/entrypoints.txt
    M libc/docs/dev/printf_behavior.rst
    M libc/docs/dev/undefined_behavior.rst
    M libc/docs/gpu/rpc.rst
    M libc/docs/platform_support.rst
    M libc/fuzzing/__support/CMakeLists.txt
    M libc/include/llvm-libc-types/CMakeLists.txt
    M libc/include/stdfix.yaml
    M libc/include/sys/uio.yaml
    M libc/src/__support/CPP/CMakeLists.txt
    M libc/src/__support/threads/linux/CMakeLists.txt
    M libc/src/__support/threads/spin_lock.h
    M libc/src/__support/time/windows/CMakeLists.txt
    M libc/src/math/nvptx/CMakeLists.txt
    M libc/src/stdlib/CMakeLists.txt
    M libc/test/src/__support/File/CMakeLists.txt
    M libc/test/src/math/CMakeLists.txt
    M libc/test/src/math/smoke/CMakeLists.txt
    M libc/test/src/signal/CMakeLists.txt
    M libc/test/src/stdfix/CMakeLists.txt
    M libc/test/src/sys/resource/CMakeLists.txt
    M libc/test/src/sys/select/CMakeLists.txt
    M libc/test/src/sys/sendfile/CMakeLists.txt
    M libc/test/src/sys/wait/CMakeLists.txt
    M libc/test/src/unistd/CMakeLists.txt
    M libc/utils/docgen/aio.yaml
    M libc/utils/docgen/net/if.yaml
    M libc/utils/docgen/netinet/in.yaml
    M libc/utils/docgen/sys/resource.yaml
    M libc/utils/docgen/sys/stat.yaml
    M libc/utils/docgen/sys/time.yaml
    M libc/utils/docgen/sys/wait.yaml
    M libc/utils/docgen/termios.yaml
    M libc/utils/mathtools/worst_case.sollya

  Log Message:
  -----------
  [libc][NFC] Strip all training whitespace and missing newlines (#124163)


  Commit: 2f6b0b4a8522b540de07c9ebd3446433e7d99eb6
      https://github.com/llvm/llvm-project/commit/2f6b0b4a8522b540de07c9ebd3446433e7d99eb6
  Author: Craig Topper <craig.topper at sifive.com>
  Date:   2025-01-23 (Thu, 23 Jan 2025)

  Changed paths:
    M llvm/test/CodeGen/RISCV/rvv/vmv-copy.mir

  Log Message:
  -----------
  [RISCV] Add SiFive sf.vqmacc tests to vmv-copy.mir. NFC (#124075)

The vqmaccu.2x8x2 test is currently being miscompiled. We need to use a
whole register move instead of vmv.v.v. The input has VL elements with
EEW=8 EMUL=4. The output has VL/4 elements with EEW=32 EMUL=4. We can't
use the original VL or input SEW for a vmv.v.v.


  Commit: bec4c7f5f7fb044dbc7b134a00f4cf29b5cb2b48
      https://github.com/llvm/llvm-project/commit/bec4c7f5f7fb044dbc7b134a00f4cf29b5cb2b48
  Author: David Green <david.green at arm.com>
  Date:   2025-01-23 (Thu, 23 Jan 2025)

  Changed paths:
    M llvm/lib/Transforms/InstCombine/InstCombineLoadStoreAlloca.cpp
    M llvm/test/Transforms/InstCombine/scalable-vector-struct.ll

  Log Message:
  -----------
  [InstCombine] Unpack scalable struct loads/stores. (#123986)

This teaches unpackLoadToAggregate and unpackStoreToAggregate to unpack
scalable structs to individual loads/stores with insertvalues /
extractvalues. The gep used for the offsets uses an i8 ptradd as opposed
to a struct gep, as the geps for scalable structs are not supported and
we canonicalize to i8.


  Commit: 3dec24d2a284e98c8a12b8ec9d0a80a657b2d992
      https://github.com/llvm/llvm-project/commit/3dec24d2a284e98c8a12b8ec9d0a80a657b2d992
  Author: mingmingl <mingmingl at google.com>
  Date:   2025-01-23 (Thu, 23 Jan 2025)

  Changed paths:
    M llvm/test/CodeGen/X86/jump-table-partition.ll

  Log Message:
  -----------
  Stats are sorted before they are printed. Try fixing test failure by checking stats in its print order.


  Commit: 6d5697f7cb4e933d2f176c46b7ac05a9cbaeb8b6
      https://github.com/llvm/llvm-project/commit/6d5697f7cb4e933d2f176c46b7ac05a9cbaeb8b6
  Author: Ulrich Weigand <ulrich.weigand at de.ibm.com>
  Date:   2025-01-23 (Thu, 23 Jan 2025)

  Changed paths:
    M llvm/lib/Target/SystemZ/SystemZISelLowering.cpp
    A llvm/test/CodeGen/SystemZ/pr124001.ll

  Log Message:
  -----------
  [SystemZ] Fix ICE with i128->i64 uaddo carry chain

We can only optimize a uaddo_carry via specialized instruction
if the carry was produced by another uaddo(_carry) instruction;
there is already a check for that.

However, i128 uaddo(_carry) use a completely different mechanism;
they indicate carry in a vector register instead of the CC flag.
Thus, we must also check that we don't mix those two - that check
has been missing.

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


  Commit: 0d0190815d8f273e9d87c29b4779b81412b31e91
      https://github.com/llvm/llvm-project/commit/0d0190815d8f273e9d87c29b4779b81412b31e91
  Author: Florian Hahn <flo at fhahn.com>
  Date:   2025-01-23 (Thu, 23 Jan 2025)

  Changed paths:
    M llvm/lib/CodeGen/TailDuplicator.cpp
    M llvm/test/CodeGen/X86/tail-dup-pred-succ-size.mir

  Log Message:
  -----------
  [TailDup] Allow large number of predecessors/successors without phis. (#116072)

This adjusts the threshold logic added in #78582 to only trigger for
cases where there are actually phis to duplicate in either TailBB or in
one of the successors.

In cases there are no phis, we only have to pay the cost of extra edges,
but have no explosion in PHI related instructions.

This improves performance of Python on some inputs by 2-3% on Apple
Silicon CPUs.

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


  Commit: 1c28b9237382b093f477479c993c80181922ca6a
      https://github.com/llvm/llvm-project/commit/1c28b9237382b093f477479c993c80181922ca6a
  Author: Nick Sarnie <nick.sarnie at intel.com>
  Date:   2025-01-23 (Thu, 23 Jan 2025)

  Changed paths:
    M clang/lib/Lex/PPMacroExpansion.cpp
    M clang/test/Headers/__cpuidex_conflict.c
    A clang/test/Preprocessor/builtin_aux_info.cpp

  Log Message:
  -----------
  [Clang] __has_builtin should return false for aux triple builtins (#121839)

Currently, `__has_builtin` will return true when passed a builtin that
is only supported on the aux target. I found this when `__has_builtin`
was called with an X86 builtin but the current target was SPIR-V.

We should instead return false for aux builtins.

---------

Signed-off-by: Sarnie, Nick <nick.sarnie at intel.com>


  Commit: a6211a64dc22b11daa6f01122350a7287a593159
      https://github.com/llvm/llvm-project/commit/a6211a64dc22b11daa6f01122350a7287a593159
  Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
  Date:   2025-01-23 (Thu, 23 Jan 2025)

  Changed paths:
    M llvm/utils/gn/secondary/lldb/source/Host/BUILD.gn

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


  Commit: 4cf1fe240589d3f2a8a8332abf3f71a18bdba027
      https://github.com/llvm/llvm-project/commit/4cf1fe240589d3f2a8a8332abf3f71a18bdba027
  Author: Jonas Devlieghere <jonas at devlieghere.com>
  Date:   2025-01-23 (Thu, 23 Jan 2025)

  Changed paths:
    M lldb/source/Expression/DWARFExpression.cpp

  Log Message:
  -----------
  [lldb] Add missing operations to GetOpcodeDataSize (#120163)

The improved error reporting in #120162 revealed that we were missing
opcodes in GetOpcodeDataSize. I changed the function to remove the
default case and switch over the enum type which will cause the compiler
to emit a warning if there are unhandled operations in the future.

rdar://139705570


  Commit: 775d0f36f74851172f84074d90cde29e181b3edd
      https://github.com/llvm/llvm-project/commit/775d0f36f74851172f84074d90cde29e181b3edd
  Author: David Green <david.green at arm.com>
  Date:   2025-01-23 (Thu, 23 Jan 2025)

  Changed paths:
    M llvm/lib/Transforms/Utils/VNCoercion.cpp
    M llvm/test/Transforms/GVN/vscale.ll

  Log Message:
  -----------
  [GVN] Handle scalable vectors with the same size in VNCoercion (#123984)

This allows us to forward to a load even if the types do not match
(nxv4i32 vs nxv2i64 for example). Scalable types are allowed in
canCoerceMustAliasedValueToLoad so long as the size (minelts *
scalarsize) is the same, and some follow-on code is adjusted to make
sure it handles scalable sizes correctly. Methods like
analyzeLoadFromClobberingWrite and analyzeLoadFromClobberingStore still
do nothing for scalable vectors, as Offsets and mismatching types are
not supported.


  Commit: c9b7303b9b18129c4ee6b56aaa2a0a9f59be2d09
      https://github.com/llvm/llvm-project/commit/c9b7303b9b18129c4ee6b56aaa2a0a9f59be2d09
  Author: Karlo Basioli <68535415+basioli-k at users.noreply.github.com>
  Date:   2025-01-23 (Thu, 23 Jan 2025)

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

  Log Message:
  -----------
  Add [[maybe_unused]] to a variable used only in assert in VPlan.h (#124173)


  Commit: c3ecbe6792bbbda12b5a70273048643496b63484
      https://github.com/llvm/llvm-project/commit/c3ecbe6792bbbda12b5a70273048643496b63484
  Author: mingmingl <mingmingl at google.com>
  Date:   2025-01-23 (Thu, 23 Jan 2025)

  Changed paths:
    M llvm/test/CodeGen/X86/jump-table-partition.ll

  Log Message:
  -----------
  Disable the test again.
* https://lab.llvm.org/buildbot/#/builders/127/builds/2148/steps/7/logs/stdio shows a failure.


  Commit: 4018317407006b2c632fbb75729de624a2426439
      https://github.com/llvm/llvm-project/commit/4018317407006b2c632fbb75729de624a2426439
  Author: Oleksandr T. <oleksandr.tarasiuk at outlook.com>
  Date:   2025-01-23 (Thu, 23 Jan 2025)

  Changed paths:
    M clang/docs/ReleaseNotes.rst
    M clang/include/clang/Basic/AttributeCommonInfo.h
    M clang/include/clang/Basic/Attributes.h
    M clang/include/clang/Basic/CMakeLists.txt
    M clang/include/clang/Basic/DiagnosticGroups.td
    M clang/include/clang/Basic/DiagnosticLexKinds.td
    M clang/include/clang/Lex/Preprocessor.h
    M clang/include/clang/Sema/CMakeLists.txt
    M clang/lib/Basic/Attributes.cpp
    M clang/lib/Lex/PPDirectives.cpp
    A clang/test/Preprocessor/macro-reserved-attrs-cxx11.cpp
    M clang/utils/TableGen/ClangAttrEmitter.cpp
    M clang/utils/TableGen/TableGen.cpp
    M clang/utils/TableGen/TableGenBackends.h
    M llvm/utils/gn/secondary/clang/lib/Basic/BUILD.gn
    M llvm/utils/gn/secondary/clang/lib/Sema/BUILD.gn
    M utils/bazel/llvm-project-overlay/clang/BUILD.bazel

  Log Message:
  -----------
  [Clang] restrict use of attribute names reserved by the C++ standard (#106036)

Fixes #92196

https://eel.is/c++draft/macro.names#2
> A translation unit shall not #define or #undef names lexically
identical to keywords, to the identifiers listed in Table
[4](https://eel.is/c++draft/lex.name#tab:lex.name.special), or to the
[attribute-token](https://eel.is/c++draft/dcl.attr.grammar#nt:attribute-token)s
described in [[dcl.attr]](https://eel.is/c++draft/dcl.attr), except that
the names likely and unlikely may be defined as function-like macros
([[cpp.replace]](https://eel.is/c++draft/cpp.replace))[.](https://eel.is/c++draft/macro.names#2.sentence-1)


  Commit: d17e4ca7e02b6c4118df9170d10c4e68aee7da0a
      https://github.com/llvm/llvm-project/commit/d17e4ca7e02b6c4118df9170d10c4e68aee7da0a
  Author: Jordan Rupprecht <rupprecht at google.com>
  Date:   2025-01-23 (Thu, 23 Jan 2025)

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

  Log Message:
  -----------
  [bazel][NFC] Add td_library for downstream use (#124156)

This will allow td_library/gentbl_cc_library in other packages to use
these td files.


  Commit: cb981cc540ba7e16f973e925a80b5bcb337381cc
      https://github.com/llvm/llvm-project/commit/cb981cc540ba7e16f973e925a80b5bcb337381cc
  Author: Alex Prabhat Bara <alexpbara at gmail.com>
  Date:   2025-01-23 (Thu, 23 Jan 2025)

  Changed paths:
    M libc/include/wchar.yaml

  Log Message:
  -----------
  [libc] added btowc to wchar.h generated header (#124168)

Fixes: #124152


  Commit: c118864223c6309378cd704f3406533474c2759f
      https://github.com/llvm/llvm-project/commit/c118864223c6309378cd704f3406533474c2759f
  Author: Yi Qian <68618497+yiqian1 at users.noreply.github.com>
  Date:   2025-01-23 (Thu, 23 Jan 2025)

  Changed paths:
    M mlir/include/mlir/Dialect/LLVMIR/ROCDLOps.td
    M mlir/test/Dialect/LLVMIR/rocdl.mlir
    M mlir/test/Target/LLVMIR/rocdl.mlir

  Log Message:
  -----------
  [MLIR][ROCDL]Add MFMA_*_F8F6F4 instructions to the ROCDL dialect (#123830)

This PR adds mfma.scale.f32.32x32x64.f8f6f4 and
mfma.scale.f32.16x16x128.f8f6f4 to the ROCDL dialect. They are converted
to the corresponding intrinsics in the mlir-to-llvmir pass.


  Commit: 24b137365004f0916f9ed64bc5859d8b80585ca1
      https://github.com/llvm/llvm-project/commit/24b137365004f0916f9ed64bc5859d8b80585ca1
  Author: Prashanth <TheStarOne01 at proton.me>
  Date:   2025-01-23 (Thu, 23 Jan 2025)

  Changed paths:
    M libc/docs/CMakeLists.txt
    M libc/docs/headers/index.rst
    A libc/utils/docgen/unistd.yaml

  Log Message:
  -----------
   [libc][docs] Add Unistd header's page to the status of implementations doc (#123068)

These changes ensure that the unistd header is documented properly with
respect to the issue ( https://github.com/llvm/llvm-project/issues/122006 ) .


  Commit: e10d551aa482ee185a80216b2670a2947a8bdeb0
      https://github.com/llvm/llvm-project/commit/e10d551aa482ee185a80216b2670a2947a8bdeb0
  Author: Jordan Rupprecht <rupprecht at google.com>
  Date:   2025-01-23 (Thu, 23 Jan 2025)

  Changed paths:
    M mlir/tools/mlir-pdll/mlir-pdll.cpp

  Log Message:
  -----------
  [mlir][PDLL] Allow (and ignore) `-D` tablegen macros. (#124166)

Similar to #91329, `mlir-pdll` is a tool used in tablegen macros that
unregisters from common flags, including `-D` macros. Because a macro
may be used globally, e.g. configured via `LLVM_TABLEGEN_FLAGS`, we want
this tool to just ignore the macro instead of a fatal failure due to the
unrecognized flag.


  Commit: c4ca87ee78fa4f1978e018e6e3a260ac9aea399d
      https://github.com/llvm/llvm-project/commit/c4ca87ee78fa4f1978e018e6e3a260ac9aea399d
  Author: Vitaly Buka <vitalybuka at google.com>
  Date:   2025-01-23 (Thu, 23 Jan 2025)

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

  Log Message:
  -----------
  [yaml2obj] Don't use uninitialized Type (#123274)

Alternative to #123137

With -DMACHINE=EM_NONE, machine specific
sections, like SHT_ARM_EXIDX, will fall to parse
and set `Type`.

This triggers msan on
```
yaml2obj llvm-project/llvm/test/tools/yaml2obj/ELF/mips-abi-flags.yaml -DMACHINE=EM_NONE
```


  Commit: 7a831eb924e34e9c5e62f3b5a8e0db0278284f84
      https://github.com/llvm/llvm-project/commit/7a831eb924e34e9c5e62f3b5a8e0db0278284f84
  Author: Florian Hahn <flo at fhahn.com>
  Date:   2025-01-23 (Thu, 23 Jan 2025)

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

  Log Message:
  -----------
  [VPlan] Remove unused VPLane::getNumCachedLanes. (NFC)

The function isn't used, remove it.


  Commit: 0b7cbd23a043ea4c14bd13ccd737049d38f64b5d
      https://github.com/llvm/llvm-project/commit/0b7cbd23a043ea4c14bd13ccd737049d38f64b5d
  Author: thetruestblue <bblueconway at gmail.com>
  Date:   2025-01-23 (Thu, 23 Jan 2025)

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

  Log Message:
  -----------
  [Darwin][Sanitizers][CrashReporter] Adopt initializer for Crash Reporter Annotations struct (#123978)

An initializer for the Crash Reporter Annotatoins struct was added in
version 5. For the simplicity of not needing to always update the struct
in subsequent versions, this patchs checks for the initializer before
attempting to redefine the struct on its own.

Note -- we have an existing test for this that is disabled by default,
it is inherently flakey due to the nature of crash reporter. But we can
run that when making crash reporter related changes.

rdar://136156203


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

  Changed paths:
    M llvm/utils/TableGen/Common/CodeGenSchedule.cpp
    M llvm/utils/TableGen/Common/CodeGenSchedule.h

  Log Message:
  -----------
  [TableGen] Add a SmallPtrSet to track WriteRes that are referenced by some ReadAdvance. NFC (#124160)

Use this to remove a linear scan from CodeGenProcModel::hasReadOfWrite.

This reduces build time of RISCVGenSubtargetInfo.inc on by machine from
~6 seconds to ~3 seconds.


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

  Changed paths:
    M llvm/lib/CodeGen/SelectionDAG/TargetLowering.cpp
    M llvm/test/CodeGen/AArch64/i128-math.ll
    M llvm/test/CodeGen/AArch64/umulo-128-legalisation-lowering.ll
    M llvm/test/CodeGen/LoongArch/smul-with-overflow.ll
    M llvm/test/CodeGen/RISCV/xaluo.ll
    M llvm/test/CodeGen/SPARC/smulo-128-legalisation-lowering.ll
    M llvm/test/CodeGen/Thumb/smul_fix.ll
    M llvm/test/CodeGen/Thumb/smul_fix_sat.ll
    M llvm/test/CodeGen/Thumb/umul_fix.ll
    M llvm/test/CodeGen/Thumb/umul_fix_sat.ll
    M llvm/test/CodeGen/X86/muloti.ll
    M llvm/test/CodeGen/X86/smul-with-overflow.ll
    M llvm/test/CodeGen/X86/smul_fix_sat.ll
    M llvm/test/CodeGen/X86/smulo-128-legalisation-lowering.ll
    M llvm/test/CodeGen/X86/vec_smulo.ll
    M llvm/test/CodeGen/X86/xmulo.ll

  Log Message:
  -----------
  [TargetLowering] Improve one signature of forceExpandWideMUL. (#123991)

We have two forceExpandWideMUL functions. One takes the low and high
half of 2 inputs and calculates the low and high half of their product.
This does not calculate the full 2x width product.

The other signature takes 2 inputs and calculates the low and high half
of their full 2x width product. Previously it did this by sign/zero
extending the inputs to create the high bits and then calling the other
function.

We can instead copy the algorithm from the other function and use the
Signed flag to determine whether we should do SRA or SRL. This avoids
the need to multiply the high part of the inputs and add them to the
high half of the result. This improves the generated code for signed
multiplication.

This should improve the performance of #123262. I don't know yet how
close we will get to gcc.


  Commit: 76ed4b1cec57ad26433e4808697d6c4d042d4b22
      https://github.com/llvm/llvm-project/commit/76ed4b1cec57ad26433e4808697d6c4d042d4b22
  Author: Craig Topper <craig.topper at sifive.com>
  Date:   2025-01-23 (Thu, 23 Jan 2025)

  Changed paths:
    M llvm/lib/TableGen/Record.cpp

  Log Message:
  -----------
  [TableGen] Add StringInit pools to RecordKeeperImpl::dumpAllocationStats. (#124164)

Remove duplicate print of TheBitsInitPool.

I don't know who or what uses this information. I happened to notice
TheBitsInitPool was printed twice which lead to auditing the whole list.


  Commit: f2942b90778670d9ad974d025c779fc96afa737c
      https://github.com/llvm/llvm-project/commit/f2942b90778670d9ad974d025c779fc96afa737c
  Author: Jeffrey Byrnes <jeffrey.byrnes at amd.com>
  Date:   2025-01-23 (Thu, 23 Jan 2025)

  Changed paths:
    M llvm/include/llvm/CodeGen/MachineInstr.h
    M llvm/lib/CodeGen/DeadMachineInstructionElim.cpp
    M llvm/lib/CodeGen/MachineInstr.cpp

  Log Message:
  -----------
  [CodeGen] NFC: Move isDead to MachineInstr (#123531)

Provide isDead interface for access to ad-hoc isDead queries.
LivePhysRegs is optional: if not provided, pessimistically check
deadness of a single MI without doing the LivePhysReg walk; if provided
it is assumed to be at the position of MI.


  Commit: 1688c8719fca43e285bfa3900062a2248295a9af
      https://github.com/llvm/llvm-project/commit/1688c8719fca43e285bfa3900062a2248295a9af
  Author: mingmingl <mingmingl at google.com>
  Date:   2025-01-23 (Thu, 23 Jan 2025)

  Changed paths:
    M llvm/test/CodeGen/X86/jump-table-partition.ll

  Log Message:
  -----------
  s/requires/REQUIRES to fix the test on release build


  Commit: 3ed28bbf195d5fe93c8711d09abc8bda7c73963e
      https://github.com/llvm/llvm-project/commit/3ed28bbf195d5fe93c8711d09abc8bda7c73963e
  Author: Benjamin Kramer <benny.kra at googlemail.com>
  Date:   2025-01-23 (Thu, 23 Jan 2025)

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

  Log Message:
  -----------
  [bazel] Generate CXX11AttributeInfo.inc for 4018317407006b2c632fbb75729de624a2426439


  Commit: 631a6e0004e57ca85569b99ea411418627925697
      https://github.com/llvm/llvm-project/commit/631a6e0004e57ca85569b99ea411418627925697
  Author: Nick Desaulniers <ndesaulniers at google.com>
  Date:   2025-01-23 (Thu, 23 Jan 2025)

  Changed paths:
    M libc/config/gpu/amdgpu/entrypoints.txt
    M libc/config/gpu/nvptx/entrypoints.txt
    M libc/config/linux/aarch64/entrypoints.txt
    M libc/config/linux/riscv/entrypoints.txt
    M libc/config/linux/x86_64/entrypoints.txt
    M libc/include/wchar.yaml
    M libc/src/string/CMakeLists.txt
    M libc/src/string/string_utils.h
    M libc/src/wchar/CMakeLists.txt
    A libc/src/wchar/wcslen.cpp
    A libc/src/wchar/wcslen.h
    M libc/test/src/wchar/CMakeLists.txt
    A libc/test/src/wchar/wcslen_test.cpp

  Log Message:
  -----------
  [libc][wchar] implement wcslen (#124150)

Update string_utils' string_length to work with char* or wchar_t*, so that it
may be reusable when implementing wmemchr, wcspbrk, wcsrchr, wcsstr.

Link: #121183
Link: #124027

Co-authored-by: Nick Desaulniers <ndesaulniers at google.com>

---------

Co-authored-by: Tristan Ross <tristan.ross at midstall.com>


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

  Changed paths:
    M llvm/lib/IR/ProfileSummary.cpp
    M llvm/test/tools/llvm-profdata/general.proftext

  Log Message:
  -----------
  [llvm-profdata] Fix detailed summary format on Windows (#124169)

The detailed summary format was changed in
https://github.com/llvm/llvm-project/pull/105915 which broke
`llvm/test/tools/llvm-profdata/general.proftext` (XFAILed in
https://github.com/llvm/llvm-project/pull/124165). Apparently the
behavior of `%lu` is different between Linux and Windows, so I reverted
back to using `<<` style formats.


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

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

  Log Message:
  -----------
  [RISCV][VLOPT] Add vector fp min/max instructions to isSupportedInstr (#124196)


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

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

  Log Message:
  -----------
  [RISCV][VLOPT] support fp sign injection instructions (#124195)


  Commit: fc952b2a6933d746e843f468052c5a62469c2658
      https://github.com/llvm/llvm-project/commit/fc952b2a6933d746e843f468052c5a62469c2658
  Author: David Green <david.green at arm.com>
  Date:   2025-01-23 (Thu, 23 Jan 2025)

  Changed paths:
    M llvm/lib/Target/AArch64/AArch64InstrInfo.td
    M llvm/test/CodeGen/AArch64/bf16.ll

  Log Message:
  -----------
  [AArch64] Add pre-index store patterns for bf16.

These, like the postinc patterns, need adding very similarly to fp16.

Fixes #97870


  Commit: 0e213834df114484ca9525c0e60522b40ecf24e8
      https://github.com/llvm/llvm-project/commit/0e213834df114484ca9525c0e60522b40ecf24e8
  Author: Vitaly Buka <vitalybuka at google.com>
  Date:   2025-01-23 (Thu, 23 Jan 2025)

  Changed paths:
    M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
    M llvm/lib/Transforms/Vectorize/VPRecipeBuilder.h
    M llvm/lib/Transforms/Vectorize/VPlan.h
    R llvm/test/Transforms/LoopVectorize/AArch64/partial-reduce-chained.ll

  Log Message:
  -----------
  Revert "[LoopVectorizer] Add support for chaining partial reductions (#120272)" (#124198)

Introduced stack buffer overflow, see #120272.

`getScaledReduction` can return empty vector, and there is not check for
that.

This reverts commit c9b7303b9b18129c4ee6b56aaa2a0a9f59be2d09.
This reverts commit caf0540b91b0fee31353dc7049ae836e0f814cff.


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

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

  Log Message:
  -----------
  [RISCV][VLOPT] Rename vx to vf where appropriate in test case


  Commit: 9324e6a7a5c5adc5b5c38c3e3cbecd7e1e98876a
      https://github.com/llvm/llvm-project/commit/9324e6a7a5c5adc5b5c38c3e3cbecd7e1e98876a
  Author: Igor Kudrin <ikudrin at accesssoftek.com>
  Date:   2025-01-23 (Thu, 23 Jan 2025)

  Changed paths:
    M llvm/docs/CommandGuide/llvm-objcopy.rst
    M llvm/include/llvm/ObjCopy/CommonConfig.h
    M llvm/include/llvm/ObjCopy/ELF/ELFConfig.h
    M llvm/lib/ObjCopy/ELF/ELFObjcopy.cpp
    M llvm/lib/ObjCopy/ELF/ELFObject.cpp
    M llvm/lib/ObjCopy/ELF/ELFObject.h
    A llvm/test/tools/llvm-objcopy/ELF/remove-note.test
    M llvm/tools/llvm-objcopy/ObjcopyOptions.cpp
    M llvm/tools/llvm-objcopy/ObjcopyOpts.td
    M llvm/tools/llvm-objcopy/llvm-objcopy.cpp

  Log Message:
  -----------
  [llvm-objcopy][ELF] Add an option to remove notes (#118739)

This adds an option `--remove-note=[name/]type` to selectively delete
notes in ELF files, where `type` is the numeric value of the note type
and `name` is the name of the originator. The name can be omitted, in
which case all notes of the specified type will be removed. For now,
only `SHT_NOTE` sections that are not associated with segments are
handled. The implementation can be extended later as needed.


RFC: https://discourse.llvm.org/t/rfc-llvm-objcopy-feature-for-editing-notes/83491


  Commit: 42043c423ff01d8d07f33aed76819d3b716bba0c
      https://github.com/llvm/llvm-project/commit/42043c423ff01d8d07f33aed76819d3b716bba0c
  Author: David Blaikie <dblaikie at gmail.com>
  Date:   2025-01-23 (Thu, 23 Jan 2025)

  Changed paths:
    M llvm/lib/IR/Verifier.cpp
    M llvm/test/DebugInfo/X86/set.ll
    M llvm/test/Transforms/LoopVectorize/dbg.value.ll
    A llvm/test/Verifier/dicompositetype-elements-null.ll

  Log Message:
  -----------
  Reapply "Verifier: Add check for DICompositeType elements being null"

This remove some erroneous debug info from tests that should address the
test failures that showed up when the this was previously committed.

This reverts commit 6716ce8b641f0e42e2343e1694ee578b027be0c4.


  Commit: 25825d4ac9683010b0b921924cd5e244a82db1a3
      https://github.com/llvm/llvm-project/commit/25825d4ac9683010b0b921924cd5e244a82db1a3
  Author: Heejin Ahn <aheejin at gmail.com>
  Date:   2025-01-23 (Thu, 23 Jan 2025)

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

  Log Message:
  -----------
  [WebAssembly] Enable Wasm EH features only once (#124042)

#122466 had an unexpected side effect that,
`EnableFeaturesForWasmEHSjLj` and `BanIncompatibleOptionsForWasmEHSjLj`
can be called multiple times now, every time a Wasm EH flag
(`-fwasm-exceptions`, `-wasm-enable-eh`, `-wasm-enable-sjlj`, ..) was
checked and handled. This resulted in unnecessarily adding the same
feature-enabling arguments multiple times to the command line, for
example, `-target-feature +exception-handling` could be added as many as
three times, which didn't cause any errors but unnecessary. Also we ran
`BanIncompatibleOptionsForWasmEHSjLj` more than once, which was harmless
but unnecessary.

This guards these functions with a static variable so that we only run
them once.


  Commit: 4f0325873faccfbe171bae4babceb65975ca892e
      https://github.com/llvm/llvm-project/commit/4f0325873faccfbe171bae4babceb65975ca892e
  Author: Lang Hames <lhames at gmail.com>
  Date:   2025-01-23 (Thu, 23 Jan 2025)

  Changed paths:
    M compiler-rt/lib/orc/macho_platform.cpp
    A compiler-rt/test/orc/TestCases/Darwin/Generic/exceptions.cpp
    M llvm/include/llvm/ExecutionEngine/Orc/ExecutorProcessControl.h
    M llvm/include/llvm/ExecutionEngine/Orc/Shared/OrcRTBridge.h
    A llvm/include/llvm/ExecutionEngine/Orc/TargetProcess/UnwindInfoManager.h
    A llvm/include/llvm/ExecutionEngine/Orc/UnwindInfoRegistrationPlugin.h
    M llvm/lib/ExecutionEngine/JITLink/CMakeLists.txt
    A llvm/lib/ExecutionEngine/JITLink/CompactUnwindSupport.cpp
    A llvm/lib/ExecutionEngine/JITLink/CompactUnwindSupport.h
    M llvm/lib/ExecutionEngine/JITLink/MachOLinkGraphBuilder.cpp
    M llvm/lib/ExecutionEngine/JITLink/MachOLinkGraphBuilder.h
    M llvm/lib/ExecutionEngine/JITLink/MachO_arm64.cpp
    M llvm/lib/ExecutionEngine/JITLink/MachO_x86_64.cpp
    M llvm/lib/ExecutionEngine/Orc/CMakeLists.txt
    M llvm/lib/ExecutionEngine/Orc/CompileUtils.cpp
    M llvm/lib/ExecutionEngine/Orc/ExecutorProcessControl.cpp
    M llvm/lib/ExecutionEngine/Orc/LLJIT.cpp
    M llvm/lib/ExecutionEngine/Orc/Shared/OrcRTBridge.cpp
    M llvm/lib/ExecutionEngine/Orc/TargetProcess/CMakeLists.txt
    A llvm/lib/ExecutionEngine/Orc/TargetProcess/UnwindInfoManager.cpp
    A llvm/lib/ExecutionEngine/Orc/UnwindInfoRegistrationPlugin.cpp

  Log Message:
  -----------
  [ORC] Enable JIT support for the compact-unwind frame info format on Darwin.

For Darwin/arm64 (including Apple Silicon Macs) this will enable exception
handling and stack unwinding in JIT'd code.

Darwin supports two unwind-info formats: DWARF eh-frames and compact-unwind. On
Darwin/x86-64 compilers usually produce both by default, and ORC supported
exceptions and unwinding via eh-frames (same as on Linux), discarding the
redundant compact-unwind info. On Darwin/arm64 compilers typically default to
producing compact-unwind only, with DWARF eh-frames as a fallback for functions
that can't be described in compact-unwind. Since ORC did not previously support
the compact-unwind format and eh-frames were not present ORC was unable to
handle exceptions or unwinding by default in Darwin/arm64 JIT'd code.

This patch enables support for the compact-unwind-info format, and contains
three major moving parts:

(1) The JITLink CompactUnwindManager class is responsible for transforming the
    __compact_unwind records produced by the linker into the __unwind_info
    tables that libunwind parses during unwinding. To enable this the
    CompactUnwindManager class provides three JITLink passes: The
    prepareForPrune pass that splits the __compact_unwind section into
    single-record blocks, allowing unused records to be dead-stripped; the
    processAndReserveUnwindInfo pass that reserves space for the final
    __unwind_info section, and the writeUnwindInfo pass that writes the
    __unwind_info section.

(2) The OrcTargetProcess UnwindInfoManager class maintains a table of
    registered JIT'd __unwind_info and __eh_frame sections, and handles
    requests from libunwind for unwind info sections (by registering a callback
    with libunwind's __unw_add_find_dynamic_unwind_sections function).

(3) The Orc UnwindInfoRegistrationPlugin, which scans LinkGraphs for
    __unwind_info and __eh_frame sections to register with the
    UnwindInfoManager.

This commit adds the CompactUnwindManager passes to the default JITLink
pipelines for Darwin/arm64 and Darwin/x86-64, and UnwindInfoManager intances to
the SelfExecutorProcessControl class (when built for apple platforms) and the
llvm-jitlink-executor tool.

The LLJIT class will now create an UnwindInfoRegistrationPlugin when targeting
a process running on Darwin if it detects that an UnwindInfoManager is
available to handle the registrations.

The ORC runtime macho_platform class already supported libunwind callbacks, so
out-of-process execution and unwinding support will work when loading the ORC
runtime.

The llvm-jitlink tool will only support compact-unwind when the orc-runtime is
loaded, as the UnwindInfoRegistrationPlugin requires access to an IR compiler
to load a helper module and llvm-jitlink does not provide an IR compiler.


  Commit: 621e5cd8204596874c2ec7c8c169044d8e6865e3
      https://github.com/llvm/llvm-project/commit/621e5cd8204596874c2ec7c8c169044d8e6865e3
  Author: Igor Kudrin <ikudrin at accesssoftek.com>
  Date:   2025-01-23 (Thu, 23 Jan 2025)

  Changed paths:
    M llvm/docs/CommandGuide/llvm-objcopy.rst
    M llvm/include/llvm/ObjCopy/CommonConfig.h
    M llvm/include/llvm/ObjCopy/ELF/ELFConfig.h
    M llvm/lib/ObjCopy/ELF/ELFObjcopy.cpp
    M llvm/lib/ObjCopy/ELF/ELFObject.cpp
    M llvm/lib/ObjCopy/ELF/ELFObject.h
    R llvm/test/tools/llvm-objcopy/ELF/remove-note.test
    M llvm/tools/llvm-objcopy/ObjcopyOptions.cpp
    M llvm/tools/llvm-objcopy/ObjcopyOpts.td
    M llvm/tools/llvm-objcopy/llvm-objcopy.cpp

  Log Message:
  -----------
  Revert "[llvm-objcopy][ELF] Add an option to remove notes (#118739)"

This reverts commit 9324e6a7a5c5adc5b5c38c3e3cbecd7e1e98876a.


  Commit: c7053ac202de1723c49d2f02d1c56d7a0a4481c0
      https://github.com/llvm/llvm-project/commit/c7053ac202de1723c49d2f02d1c56d7a0a4481c0
  Author: vporpo <vporpodas at google.com>
  Date:   2025-01-23 (Thu, 23 Jan 2025)

  Changed paths:
    M llvm/lib/Transforms/Vectorize/SandboxVectorizer/DependencyGraph.cpp
    M llvm/lib/Transforms/Vectorize/SandboxVectorizer/Passes/BottomUpVec.cpp
    M llvm/lib/Transforms/Vectorize/SandboxVectorizer/Scheduler.cpp
    A llvm/test/Transforms/SandboxVectorizer/cross_bbs.ll

  Log Message:
  -----------
  [SandboxVec][BottomUpVec] Disable crossing BBs (#124039)

Crossing BBs is not currently supported by the structures of the
vectorizer. This patch fixes instances where this was happening,
including:
- a walk of use-def operands that updates the UnscheduledSuccs counter,
- the dead instruction removal is now done per BB,
- the scheduler, which will reject bundles that cross BBs.


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

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

  Log Message:
  -----------
  [flang][cuda] Allow complex type in cuf kernel reduce (#124185)


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

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

  Log Message:
  -----------
  [flang][cuda] Allow DO CONCURRENT in cuf kernel (#124190)


  Commit: 10772807ab72ce2b68d76816f8753219b2acbac3
      https://github.com/llvm/llvm-project/commit/10772807ab72ce2b68d76816f8753219b2acbac3
  Author: Igor Kudrin <ikudrin at accesssoftek.com>
  Date:   2025-01-23 (Thu, 23 Jan 2025)

  Changed paths:
    M llvm/docs/CommandGuide/llvm-objcopy.rst
    M llvm/include/llvm/ObjCopy/CommonConfig.h
    M llvm/include/llvm/ObjCopy/ELF/ELFConfig.h
    M llvm/lib/ObjCopy/ELF/ELFObjcopy.cpp
    M llvm/lib/ObjCopy/ELF/ELFObject.cpp
    M llvm/lib/ObjCopy/ELF/ELFObject.h
    A llvm/test/tools/llvm-objcopy/ELF/remove-note.test
    M llvm/tools/llvm-objcopy/ObjcopyOptions.cpp
    M llvm/tools/llvm-objcopy/ObjcopyOpts.td
    M llvm/tools/llvm-objcopy/llvm-objcopy.cpp

  Log Message:
  -----------
  Reapply "[llvm-objcopy][ELF] Add an option to remove notes (#118739)"

This fixes "unused-local-typedef" warnings in 9324e6a7a5.

This adds an option `--remove-note=[name/]type` to selectively delete
notes in ELF files, where `type` is the numeric value of the note type
and `name` is the name of the originator. The name can be omitted, in
which case all notes of the specified type will be removed. For now,
only `SHT_NOTE` sections that are not associated with segments are
handled. The implementation can be extended later as needed.

RFC: https://discourse.llvm.org/t/rfc-llvm-objcopy-feature-for-editing-notes/83491


  Commit: bc74a1edbe5e6a3603e65efe06116fa72747acab
      https://github.com/llvm/llvm-project/commit/bc74a1edbe5e6a3603e65efe06116fa72747acab
  Author: Min-Yih Hsu <min.hsu at sifive.com>
  Date:   2025-01-23 (Thu, 23 Jan 2025)

  Changed paths:
    M llvm/include/llvm/CodeGen/TargetLowering.h
    M llvm/lib/CodeGen/InterleavedAccessPass.cpp
    M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
    M llvm/lib/Target/AArch64/AArch64ISelLowering.h
    M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
    M llvm/lib/Target/RISCV/RISCVISelLowering.h
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-deinterleave-load.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-interleave-store.ll
    M llvm/test/CodeGen/RISCV/rvv/vector-deinterleave-load.ll
    M llvm/test/CodeGen/RISCV/rvv/vector-interleave-store.ll
    M llvm/test/Transforms/InterleavedAccess/RISCV/interleaved-accesses.ll

  Log Message:
  -----------
  [IA] Generalize the support for power-of-two (de)interleave intrinsics (#123863)

Previously, AArch64 used pattern matching to support
llvm.vector.(de)interleave of 2 and 4; RISC-V only supported
(de)interleave of 2.

This patch consolidates the logics in these two targets by factoring out
the common factor calculations into the InterleaveAccess Pass.


  Commit: 28ad8978ee2054298d4198bf10c8cb68730af037
      https://github.com/llvm/llvm-project/commit/28ad8978ee2054298d4198bf10c8cb68730af037
  Author: Matheus Izvekov <mizvekov at gmail.com>
  Date:   2025-01-23 (Thu, 23 Jan 2025)

  Changed paths:
    M clang/docs/ReleaseNotes.rst
    M clang/include/clang/Basic/DiagnosticSemaKinds.td
    M clang/include/clang/Sema/Overload.h
    M clang/include/clang/Sema/Sema.h
    M clang/include/clang/Sema/TemplateDeduction.h
    M clang/lib/Frontend/FrontendActions.cpp
    M clang/lib/Sema/SemaLookup.cpp
    M clang/lib/Sema/SemaOverload.cpp
    M clang/lib/Sema/SemaTemplate.cpp
    M clang/lib/Sema/SemaTemplateDeduction.cpp
    M clang/lib/Sema/SemaTemplateInstantiate.cpp
    M clang/test/CXX/temp/temp.arg/temp.arg.template/p3-0x.cpp
    M clang/test/CXX/temp/temp.param/p12.cpp
    M clang/test/Modules/cxx-templates.cpp
    M clang/test/SemaCXX/make_integer_seq.cpp
    M clang/test/SemaTemplate/cwg2398.cpp
    M clang/test/SemaTemplate/temp_arg_nontype.cpp
    M clang/test/SemaTemplate/temp_arg_template.cpp
    M clang/test/SemaTemplate/temp_arg_template_p0522.cpp
    M clang/test/Templight/templight-empty-entries-fix.cpp
    M clang/test/Templight/templight-prior-template-arg.cpp
    M libcxx/test/libcxx/type_traits/is_specialization.verify.cpp

  Log Message:
  -----------
  Reland: [clang] unified CWG2398 and P0522 changes; finishes implementation of P3310 (#124137)

This patch relands the following PRs:
* #111711
* #107350
* #111457

All of these patches were reverted due to an issue reported in
https://github.com/llvm/llvm-project/pull/111711#issuecomment-2406491485,
due to interdependencies.

---
[clang] Finish implementation of P0522

This finishes the clang implementation of P0522, getting rid
of the fallback to the old, pre-P0522 rules.

Before this patch, when partial ordering template template parameters,
we would perform, in order:
* If the old rules would match, we would accept it. Otherwise, don't
  generate diagnostics yet.
* If the new rules would match, just accept it. Otherwise, don't
  generate any diagnostics yet again.
* Apply the old rules again, this time with diagnostics.

This situation was far from ideal, as we would sometimes:
* Accept some things we shouldn't.
* Reject some things we shouldn't.
* Only diagnose rejection in terms of the old rules.

With this patch, we apply the P0522 rules throughout.

This needed to extend template argument deduction in order
to accept the historial rule for TTP matching pack parameter to non-pack
arguments.
This change also makes us accept some combinations of historical and P0522
allowances we wouldn't before.

It also fixes a bunch of bugs that were documented in the test suite,
which I am not sure there are issues already created for them.

This causes a lot of changes to the way these failures are diagnosed,
with related test suite churn.

The problem here is that the old rules were very simple and
non-recursive, making it easy to provide customized diagnostics,
and to keep them consistent with each other.

The new rules are a lot more complex and rely on template argument
deduction, substitutions, and they are recursive.

The approach taken here is to mostly rely on existing diagnostics,
and create a new instantiation context that keeps track of this context.

So for example when a substitution failure occurs, we use the error
produced there unmodified, and just attach notes to it explaining
that it occurred in the context of partial ordering this template
argument against that template parameter.

This diverges from the old diagnostics, which would lead with an
error pointing to the template argument, explain the problem
in subsequent notes, and produce a final note pointing to the parameter.

---
[clang] CWG2398: improve overload resolution backwards compat

With this change, we discriminate if the primary template and which partial
specializations would have participated in overload resolution prior to
P0522 changes.

We collect those in an initial set. If this set is not empty, or the
primary template would have matched, we proceed with this set as the
candidates for overload resolution.

Otherwise, we build a new overload set with everything else, and proceed
as usual.

---
[clang] Implement TTP 'reversed' pack matching for deduced function template calls.

Clang previously missed implementing P0522 pack matching
for deduced function template calls.


  Commit: c676104875f34a87051b446469cc395932bc1f13
      https://github.com/llvm/llvm-project/commit/c676104875f34a87051b446469cc395932bc1f13
  Author: alx32 <103613512+alx32 at users.noreply.github.com>
  Date:   2025-01-23 (Thu, 23 Jan 2025)

  Changed paths:
    M lld/MachO/Config.h
    M lld/MachO/Driver.cpp
    M lld/MachO/Options.td
    M lld/MachO/SyntheticSections.cpp
    M lld/MachO/SyntheticSections.h
    M lld/test/MachO/cfstring-dedup.s

  Log Message:
  -----------
  [lld-macho] Implement symbol string deduplication (#123874)

The symbol string table does not have deduplication. 
Here we add code to deduplicate the symbol string table. 
This has a rather large size impact (20-30%) on unstripped binaries
(typically debug binaries) but no size impact on stripped
binaries(typically release binaries).

We enable deduplication by default and add a flag to disable it
(`-no-deduplicate-symbol-strings`).


  Commit: 13dae34819e5ba2d7644f8486f1f291bf5836d48
      https://github.com/llvm/llvm-project/commit/13dae34819e5ba2d7644f8486f1f291bf5836d48
  Author: Haopeng Liu <153236845+haopliu at users.noreply.github.com>
  Date:   2025-01-23 (Thu, 23 Jan 2025)

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

  Log Message:
  -----------
  [DSE] Enable the initializes improvement in DSE (#124058)

(Retry) enable the initializes improvement in DSE.

Initially enabled in https://github.com/llvm/llvm-project/pull/119116.

Fix the aliasing issue through global variables in
https://github.com/llvm/llvm-project/pull/120044.

The compile-time comparison of this enabling (no meaningful diff):
https://llvm-compile-time-tracker.com/compare.php?from=b46fcb9fa32f24660b1b8858d5c4cbdb76ef9d8b&to=33dc817b81f7898c87b052d1ddfd3d6e6f5b5dbd&stat=instructions%3Au


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

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

  Log Message:
  -----------
  [flang][cuda] Handle pointer allocation with double descriptors (#124183)


  Commit: 26fc07d5d88760ad659599184fd10181287d2d9e
      https://github.com/llvm/llvm-project/commit/26fc07d5d88760ad659599184fd10181287d2d9e
  Author: Lang Hames <lhames at gmail.com>
  Date:   2025-01-23 (Thu, 23 Jan 2025)

  Changed paths:
    M llvm/lib/ExecutionEngine/Orc/TargetProcess/UnwindInfoManager.cpp

  Log Message:
  -----------
  [ORC] Add explicit narrowing casts to fix build errors.

This should fix the compile errors seen in
https://lab.llvm.org/buildbot/#/builders/154/builds/10779.


  Commit: 788318484d967a5d6e5e96a47ca2421e13adc308
      https://github.com/llvm/llvm-project/commit/788318484d967a5d6e5e96a47ca2421e13adc308
  Author: Alexander Kornienko <alexfh at google.com>
  Date:   2025-01-24 (Fri, 24 Jan 2025)

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

  Log Message:
  -----------
  Revert "[InstCombine] Teach foldSelectOpOp about samesign" (#124123)

Reverts llvm/llvm-project#122723 due to a miscompilation

See
https://github.com/llvm/llvm-project/pull/122723#issuecomment-2608777844
for details and the test case.


  Commit: 33c44074714d1d2f3d5f65c3fb842cddb6b689ac
      https://github.com/llvm/llvm-project/commit/33c44074714d1d2f3d5f65c3fb842cddb6b689ac
  Author: Sam Elliott <quic_aelliott at quicinc.com>
  Date:   2025-01-23 (Thu, 23 Jan 2025)

  Changed paths:
    M clang/lib/Basic/Targets/RISCV.cpp
    M clang/test/CodeGen/RISCV/riscv-inline-asm.c
    M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
    M llvm/test/CodeGen/RISCV/rv32-inline-asm-pairs.ll
    M llvm/test/CodeGen/RISCV/rv64-inline-asm-pairs.ll
    M llvm/test/CodeGen/RISCV/zdinx-asm-constraint.ll

  Log Message:
  -----------
  [RISCV] Support cR Inline Asm Constraint (#124174)

This denotes RVC-compatible GPR Pairs, which are used by the Zclsd
extension.

C API PR: riscv-non-isa/riscv-c-api-doc#102


  Commit: d2234ca16310a9e9bd595561353556ea6ba0176f
      https://github.com/llvm/llvm-project/commit/d2234ca16310a9e9bd595561353556ea6ba0176f
  Author: vporpo <vporpodas at google.com>
  Date:   2025-01-23 (Thu, 23 Jan 2025)

  Changed paths:
    M llvm/include/llvm/Transforms/Vectorize/SandboxVectorizer/VecUtils.h
    M llvm/lib/Transforms/Vectorize/SandboxVectorizer/Passes/BottomUpVec.cpp
    M llvm/test/Transforms/SandboxVectorizer/bottomup_basic.ll
    M llvm/test/Transforms/SandboxVectorizer/pack.ll
    M llvm/unittests/Transforms/Vectorize/SandboxVectorizer/VecUtilsTest.cpp

  Log Message:
  -----------
  [SandboxVec][BottomUpVec] Fix packing when PHIs are present (#124206)

Before this patch we might have emitted pack instructions in between PHI
nodes. This patch fixes it by fixing the insert point of the new packs.


  Commit: 969eb4ec4c22ca4eedc54cd8c73acdeecc3f7c86
      https://github.com/llvm/llvm-project/commit/969eb4ec4c22ca4eedc54cd8c73acdeecc3f7c86
  Author: Thurston Dang <thurston at google.com>
  Date:   2025-01-24 (Fri, 24 Jan 2025)

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

  Log Message:
  -----------
  [msan][NFC] Correct and clarify comment for getShadowPtrOffset()

The stated return type was incorrect; this patch corrects it. More generally, it explains how the Offset and its components fits into the overall shadow mapping calculation.


  Commit: 24f177df61f673804a612dc48279c517bdecd696
      https://github.com/llvm/llvm-project/commit/24f177df61f673804a612dc48279c517bdecd696
  Author: Phoebe Wang <phoebe.wang at intel.com>
  Date:   2025-01-24 (Fri, 24 Jan 2025)

  Changed paths:
    M clang/include/clang/Basic/BuiltinsX86.td
    M clang/lib/Headers/avx10_2bf16intrin.h
    M clang/test/CodeGen/X86/avx10_2bf16-builtins.c
    M llvm/include/llvm/IR/IntrinsicsX86.td
    M llvm/lib/Target/X86/X86InstrAVX10.td
    M llvm/lib/Target/X86/X86IntrinsicsInfo.h
    M llvm/test/CodeGen/X86/avx10_2bf16-intrinsics.ll
    M llvm/test/MC/Disassembler/X86/avx10.2-bf16-32.txt
    M llvm/test/MC/Disassembler/X86/avx10.2-bf16-64.txt
    M llvm/test/MC/X86/avx10.2-bf16-32-att.s
    M llvm/test/MC/X86/avx10.2-bf16-32-intel.s
    M llvm/test/MC/X86/avx10.2-bf16-64-att.s
    M llvm/test/MC/X86/avx10.2-bf16-64-intel.s
    M llvm/test/TableGen/x86-fold-tables.inc

  Log Message:
  -----------
  [X86][AVX10.2-BF16] Update VCOMISBF16 intrinsics and instructions (#123307)

- Add `I` to intrinsics and instructions
- Add `_` before sbf16 in intrinsics

Ref.: https://cdrdv2.intel.com/v1/dl/getContent/828965


  Commit: acb7859f075f91b1105c04c37c6aa85db27a898a
      https://github.com/llvm/llvm-project/commit/acb7859f075f91b1105c04c37c6aa85db27a898a
  Author: Jeffrey Byrnes <jeffrey.byrnes at amd.com>
  Date:   2025-01-23 (Thu, 23 Jan 2025)

  Changed paths:
    M llvm/lib/CodeGen/MachineSink.cpp
    A llvm/test/CodeGen/AMDGPU/machine-sink-cycle.mir
    M llvm/test/CodeGen/AMDGPU/machine-sink-ignorable-exec-use.mir
    M llvm/test/CodeGen/AMDGPU/machine-sink-lane-mask.mir
    M llvm/test/CodeGen/SystemZ/machinelicm-sunk-kill-flags.mir

  Log Message:
  -----------
  [MachineSink] Extend loop sinking capability (#117247)

The current MIR cycle sinking capabilities are rather limited. It only
support sinking copies into a single successor block while obeying
limits.

This opt-in feature adds a more aggressive option, that is not limited
to the above concerns. The feature will try to "sink" by duplicating any
top-level preheader instruction (that we are sure is safe to sink) into
any user block, then does some dead code cleanup. In particular, this is
useful for high RP situations when loop bodies have control flow.


  Commit: 00132643744237d2398fea1777114f3497629bd5
      https://github.com/llvm/llvm-project/commit/00132643744237d2398fea1777114f3497629bd5
  Author: Nathan Ridge <zeratul976 at hotmail.com>
  Date:   2025-01-23 (Thu, 23 Jan 2025)

  Changed paths:
    M clang/test/lit.cfg.py

  Log Message:
  -----------
  [clang][test] Add .cuh as a recognized extension for lit test files (#124080)

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


  Commit: 4405f728819350e35e34080874e1cf505bcb4ec6
      https://github.com/llvm/llvm-project/commit/4405f728819350e35e34080874e1cf505bcb4ec6
  Author: Henry Jiang <h243jian at uwaterloo.ca>
  Date:   2025-01-23 (Thu, 23 Jan 2025)

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

  Log Message:
  -----------
  [llvm][NFC] Remove CV-qualified base class in PassManagerInternal.h (#124193)

This resolves the `-Wignored-qualifiers` warning introduced by the new
warnign in https://github.com/llvm/llvm-project/pull/121419. First
caught in buildbot `ppc64le-lld-multistage-test`

https://lab.llvm.org/buildbot/#/builders/168/builds/7756

---------

Co-authored-by: Henry Jiang <henry.jiang1 at ibm.com>


  Commit: b11529bfa26fe8f2abc7d57cd96716a494198327
      https://github.com/llvm/llvm-project/commit/b11529bfa26fe8f2abc7d57cd96716a494198327
  Author: lntue <lntue at google.com>
  Date:   2025-01-23 (Thu, 23 Jan 2025)

  Changed paths:
    M libc/cmake/modules/LLVMLibCCompileOptionRules.cmake
    M libc/cmake/modules/LLVMLibCTestRules.cmake

  Log Message:
  -----------
  [libc] Use -fno-math-errno to for __builtin_fma* to generate fma instructions. (#124200)

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


  Commit: e06b7030303b50556f0a96948d03adb84a90e536
      https://github.com/llvm/llvm-project/commit/e06b7030303b50556f0a96948d03adb84a90e536
  Author: Sam Elliott <quic_aelliott at quicinc.com>
  Date:   2025-01-23 (Thu, 23 Jan 2025)

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

  Log Message:
  -----------
  [RISCV][NFC] Remove Redundant Inline Asm Logic (#124202)

This was left over from 408659c5b5c7d745042ae71db344d1ed10601512.


  Commit: 0ef39a882bb342982929d2c856d7865de147a3c7
      https://github.com/llvm/llvm-project/commit/0ef39a882bb342982929d2c856d7865de147a3c7
  Author: Matt Arsenault <Matthew.Arsenault at amd.com>
  Date:   2025-01-24 (Fri, 24 Jan 2025)

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

  Log Message:
  -----------
  MachineCSE: Remove check for subreg on a def operand (#124095)

There are no subregister defs in SSA.


  Commit: 378dcf61014b787b3542b917f6296c9fb5ec490c
      https://github.com/llvm/llvm-project/commit/378dcf61014b787b3542b917f6296c9fb5ec490c
  Author: Chuanqi Xu <yedeng.yd at linux.alibaba.com>
  Date:   2025-01-24 (Fri, 24 Jan 2025)

  Changed paths:
    M clang/lib/Sema/SemaLookup.cpp
    A clang/test/Modules/module-local-hidden-friend-2.cppm

  Log Message:
  -----------
  [C++20] [Modules] Fix may-be incorrect ADL for module local entities (#123931)

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

See the comments for details. We can't get primary context arbitrarily
since the redecl may have different context and information.

There is a TODO for modules specific case, I'd like to make it after
this PR.


  Commit: 6735d527f9945fbf50c14a95cbdd66592472d622
      https://github.com/llvm/llvm-project/commit/6735d527f9945fbf50c14a95cbdd66592472d622
  Author: Cinhi Young <cyan at cyano.uk>
  Date:   2025-01-24 (Fri, 24 Jan 2025)

  Changed paths:
    M llvm/lib/Target/Mips/MipsSEISelLowering.cpp
    M llvm/lib/Target/Mips/MipsSEISelLowering.h
    M llvm/test/CodeGen/Mips/cconv/vector.ll
    M llvm/test/CodeGen/Mips/msa/basic_operations.ll

  Log Message:
  -----------
  [MIPS] [MSA] Widen v2i8, v216 and v2i32 vectors (#123040)

- Widen v2i8, v2i16 and v2i32 vectors so they don't cast back and forth,
and make sure that instructions with correct data unit is being used.
- Handle undef indices for VSHF when lowering VECTOR_SHUFFLE (it crashes
if such index is present).


  Commit: 9fecb4f9071740f6c1e665940583e9dceae2beb5
      https://github.com/llvm/llvm-project/commit/9fecb4f9071740f6c1e665940583e9dceae2beb5
  Author: Kazu Hirata <kazu at google.com>
  Date:   2025-01-23 (Thu, 23 Jan 2025)

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

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

This patch fixes:

  llvm/lib/CodeGen/MachineSink.cpp:1667:22: error: unused variable
  'Preheader' [-Werror,-Wunused-variable]


  Commit: a001cc0e6cdcfa672b8aff9ce6d14782bb96356a
      https://github.com/llvm/llvm-project/commit/a001cc0e6cdcfa672b8aff9ce6d14782bb96356a
  Author: Lang Hames <lhames at gmail.com>
  Date:   2025-01-24 (Fri, 24 Jan 2025)

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

  Log Message:
  -----------
  [ORC] Destroy defunct MaterializationUnits outside the session lock.

MaterializationUnits may contain arbitrary resources that need cleanup. We want
to do this outside the JIT's session lock.

This should fix a lock-order-inversion warning in clang-repl (for details see
https://github.com/llvm/llvm-project/issues/124215).


  Commit: c9bc242e387f4a4a3dfcd86561f3ec0ca8a72d62
      https://github.com/llvm/llvm-project/commit/c9bc242e387f4a4a3dfcd86561f3ec0ca8a72d62
  Author: Lang Hames <lhames at gmail.com>
  Date:   2025-01-24 (Fri, 24 Jan 2025)

  Changed paths:
    M clang/test/Interpreter/simple-exception.cpp

  Log Message:
  -----------
  [clang-repl] The simple-exception test now passes on arm64-darwin.


  Commit: 435609b70c8bbf7bc6b73b04ec8852a9c11376ec
      https://github.com/llvm/llvm-project/commit/435609b70c8bbf7bc6b73b04ec8852a9c11376ec
  Author: Pradeep Kumar <pradeepku at nvidia.com>
  Date:   2025-01-24 (Fri, 24 Jan 2025)

  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/griddepcontrol.ll

  Log Message:
  -----------
  [LLVM][NVPTX] Add support for griddepcontrol instruction (#123511)

This commit adds support for griddepcontrol PTX instruction with tests
under griddepcontrol.ll


  Commit: fd174f0ff3e793fe96a6663b1488ed159cfe042f
      https://github.com/llvm/llvm-project/commit/fd174f0ff3e793fe96a6663b1488ed159cfe042f
  Author: Lang Hames <lhames at gmail.com>
  Date:   2025-01-24 (Fri, 24 Jan 2025)

  Changed paths:
    M clang/test/Interpreter/simple-exception.cpp

  Log Message:
  -----------
  [clang-repl] Try to XFAIL testcase on arm32 without affecting arm64 darwin.

See discussion in https://github.com/llvm/llvm-project/commit/4f0325873faccfbe1.


  Commit: 02a30049926bac042a7ee33fa587a4446c9c816f
      https://github.com/llvm/llvm-project/commit/02a30049926bac042a7ee33fa587a4446c9c816f
  Author: David CARLIER <devnexen at gmail.com>
  Date:   2025-01-24 (Fri, 24 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] preadv(64)/pwritev(64) interception. (#124115)


  Commit: f3d2e75ead4e9d6e91712945a430cb036a061f3f
      https://github.com/llvm/llvm-project/commit/f3d2e75ead4e9d6e91712945a430cb036a061f3f
  Author: David CARLIER <devnexen at gmail.com>
  Date:   2025-01-24 (Fri, 24 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] inotify api for Linux interception. (#124177)


  Commit: 6db73fa481beb9184ea8f1103e72e7a5c1d82e31
      https://github.com/llvm/llvm-project/commit/6db73fa481beb9184ea8f1103e72e7a5c1d82e31
  Author: vporpo <vporpodas at google.com>
  Date:   2025-01-23 (Thu, 23 Jan 2025)

  Changed paths:
    M llvm/include/llvm/Transforms/Vectorize/SandboxVectorizer/DependencyGraph.h
    M llvm/include/llvm/Transforms/Vectorize/SandboxVectorizer/Scheduler.h

  Log Message:
  -----------
  [SandboxVec][Scheduler] Fix clear() to clear all state (#124214)

This patch fixes the scheduler's clear() function to also clear the
ReadyList. Not doing so is a bug and results in crashes when the
ReadyList contains stale instructions, because it was never clered.


  Commit: 2f39d138dc38a1fdf4754e4e26dd0aeb7409b13d
      https://github.com/llvm/llvm-project/commit/2f39d138dc38a1fdf4754e4e26dd0aeb7409b13d
  Author: Justin Bogner <mail at justinbogner.com>
  Date:   2025-01-23 (Thu, 23 Jan 2025)

  Changed paths:
    M llvm/lib/Target/DirectX/DXILResourceAccess.cpp
    A llvm/test/CodeGen/DirectX/ResourceAccess/load_rawbuffer.ll
    A llvm/test/CodeGen/DirectX/ResourceAccess/store_rawbuffer.ll

  Log Message:
  -----------
  [DirectX] Handle dx.RawBuffer in DXILResourceAccess (#121725)

This adds handling for raw and structured buffers when lowering resource
access via `llvm.dx.resource.getpointer`.

Fixes #121714


  Commit: 6330f1e052dbec842e0d12e3d0cc44996e8663d2
      https://github.com/llvm/llvm-project/commit/6330f1e052dbec842e0d12e3d0cc44996e8663d2
  Author: Owen Pan <owenpiano at gmail.com>
  Date:   2025-01-23 (Thu, 23 Jan 2025)

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

  Log Message:
  -----------
  [clang-format] Fix a regression in `PointerAlignment: Left` (#124085)

Don't insert a space between a type declaration r_paren and &/&&.

Fixes #124073.


  Commit: 3c79a04cc231fc770d40878fc481868d1f312132
      https://github.com/llvm/llvm-project/commit/3c79a04cc231fc770d40878fc481868d1f312132
  Author: Chaitanya <Krishna.Sankisa at amd.com>
  Date:   2025-01-24 (Fri, 24 Jan 2025)

  Changed paths:
    M llvm/lib/Target/AMDGPU/AMDGPUTargetMachine.cpp
    M llvm/test/CodeGen/AMDGPU/amdgpu-sw-lower-lds-static-lds-test.ll

  Log Message:
  -----------
  [AMDGPU] Add amdgpu-sw-lower-lds pass to NPM codegen addIRPasses. (#124102)

This PR adds amdgpu-sw-lower-lds pass to
AMDGPUCodeGenPassBuilder::addIRPasses()


  Commit: a9c61e0d7655a11f45f8e94b9481193fba11302e
      https://github.com/llvm/llvm-project/commit/a9c61e0d7655a11f45f8e94b9481193fba11302e
  Author: Akshat Oke <Akshat.Oke at amd.com>
  Date:   2025-01-24 (Fri, 24 Jan 2025)

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

  Log Message:
  -----------
  [NewPM] LiveIntervals: Check dependencies for invalidation (#123563)


  Commit: 9dd5aed4edf029d66f0c25e6ae6fae3dbb5870d8
      https://github.com/llvm/llvm-project/commit/9dd5aed4edf029d66f0c25e6ae6fae3dbb5870d8
  Author: ZhaoQi <zhaoqi01 at loongson.cn>
  Date:   2025-01-24 (Fri, 24 Jan 2025)

  Changed paths:
    M llvm/include/llvm/ExecutionEngine/JITLink/ELF_loongarch.h
    M llvm/include/llvm/ExecutionEngine/JITLink/loongarch.h
    M llvm/lib/ExecutionEngine/JITLink/ELF_loongarch.cpp
    M llvm/lib/ExecutionEngine/JITLink/loongarch.cpp
    A llvm/test/ExecutionEngine/JITLink/LoongArch/ELF_relax_align.s

  Log Message:
  -----------
  [JITLink][LoongArch] Support R_LARCH_ALIGN relaxation (#122259)

Linker relaxation is not implemented for jitlink now. But if
relaxation is enabled by clang, R_LARCH_RELAX and
R_LARCH_ALIGN relocations will be emitted.

This commit adapts lld's algorithm to jitlink. Currently, only
relaxing R_LARCH_ALIGN is implemented. Other relaxable
relocs can be implemented in the future.

Without this, interpreting C++ code using clang-repl or running
ir using lli when relaxation is enabled will occur error: `JIT
session error: Unsupported loongarch relocation:102: R_LARCH_ALIGN`.

Similar to https://github.com/llvm/llvm-project/commit/310473c536dd4837934832d1b5454d212f15d5cc but only implement align.


  Commit: 212cdc9a377a1b3ac96be0da20212592ebd2c818
      https://github.com/llvm/llvm-project/commit/212cdc9a377a1b3ac96be0da20212592ebd2c818
  Author: Lang Hames <lhames at gmail.com>
  Date:   2025-01-24 (Fri, 24 Jan 2025)

  Changed paths:
    M clang/test/Interpreter/simple-exception.cpp
    M compiler-rt/lib/orc/macho_platform.cpp
    R compiler-rt/test/orc/TestCases/Darwin/Generic/exceptions.cpp
    M llvm/include/llvm/ExecutionEngine/Orc/Core.h
    M llvm/include/llvm/ExecutionEngine/Orc/ExecutorProcessControl.h
    M llvm/include/llvm/ExecutionEngine/Orc/Shared/OrcRTBridge.h
    R llvm/include/llvm/ExecutionEngine/Orc/TargetProcess/UnwindInfoManager.h
    R llvm/include/llvm/ExecutionEngine/Orc/UnwindInfoRegistrationPlugin.h
    M llvm/lib/ExecutionEngine/JITLink/CMakeLists.txt
    R llvm/lib/ExecutionEngine/JITLink/CompactUnwindSupport.cpp
    R llvm/lib/ExecutionEngine/JITLink/CompactUnwindSupport.h
    M llvm/lib/ExecutionEngine/JITLink/MachOLinkGraphBuilder.cpp
    M llvm/lib/ExecutionEngine/JITLink/MachOLinkGraphBuilder.h
    M llvm/lib/ExecutionEngine/JITLink/MachO_arm64.cpp
    M llvm/lib/ExecutionEngine/JITLink/MachO_x86_64.cpp
    M llvm/lib/ExecutionEngine/Orc/CMakeLists.txt
    M llvm/lib/ExecutionEngine/Orc/CompileUtils.cpp
    M llvm/lib/ExecutionEngine/Orc/Core.cpp
    M llvm/lib/ExecutionEngine/Orc/ExecutorProcessControl.cpp
    M llvm/lib/ExecutionEngine/Orc/LLJIT.cpp
    M llvm/lib/ExecutionEngine/Orc/Shared/OrcRTBridge.cpp
    M llvm/lib/ExecutionEngine/Orc/TargetProcess/CMakeLists.txt
    R llvm/lib/ExecutionEngine/Orc/TargetProcess/UnwindInfoManager.cpp
    R llvm/lib/ExecutionEngine/Orc/UnwindInfoRegistrationPlugin.cpp

  Log Message:
  -----------
  Revert "[ORC] Enable JIT support for the compact-unwind frame info format..."

This reverts 4f0325873faccfbe171bae4babceb65975ca892e and follow-up patches
(see below) while I investigate some ongoing failures on the buildbots.

---

Revert "[clang-repl] Try to XFAIL testcase on arm32 without affecting arm64
darwin."

This reverts commit fd174f0ff3e793fe96a6663b1488ed159cfe042f.

Revert "[clang-repl] The simple-exception test now passes on arm64-darwin."

This reverts commit c9bc242e387f4a4a3dfcd86561f3ec0ca8a72d62.

Revert "[ORC] Destroy defunct MaterializationUnits outside the session lock."

This reverts commit a001cc0e6cdcfa672b8aff9ce6d14782bb96356a.

Revert "[ORC] Add explicit narrowing casts to fix build errors."

This reverts commit 26fc07d5d88760ad659599184fd10181287d2d9e.

Revert "[ORC] Enable JIT support for the compact-unwind frame info format on
Darwin."

This reverts commit 4f0325873faccfbe171bae4babceb65975ca892e.


  Commit: 45d83ae7df65a3c9843270d970119bc97957d830
      https://github.com/llvm/llvm-project/commit/45d83ae7df65a3c9843270d970119bc97957d830
  Author: donald chen <chenxunyu1993 at gmail.com>
  Date:   2025-01-24 (Fri, 24 Jan 2025)

  Changed paths:
    M mlir/include/mlir/Dialect/Math/Transforms/Passes.h
    M mlir/lib/Dialect/Math/Transforms/ExpandPatterns.cpp
    M mlir/test/Dialect/Math/expand-math.mlir
    M mlir/test/lib/Dialect/Math/TestExpandMath.cpp

  Log Message:
  -----------
  [mlir] [math] Fix the precision issue of expand math (#120865)

The convertFloorOp pattern incurs precision loss when floating-point
numbers exceed the representable range of int64. This pattern should be
removed.

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


  Commit: 8ef171ee831ff030e5aa81a74d68edc133d0cb4f
      https://github.com/llvm/llvm-project/commit/8ef171ee831ff030e5aa81a74d68edc133d0cb4f
  Author: Thurston Dang <thurston at google.com>
  Date:   2025-01-23 (Thu, 23 Jan 2025)

  Changed paths:
    M llvm/lib/Transforms/Instrumentation/MemorySanitizer.cpp
    M llvm/test/Instrumentation/MemorySanitizer/X86/avx-intrinsics-x86.ll
    M llvm/test/Instrumentation/MemorySanitizer/X86/avx2-intrinsics-x86.ll
    M llvm/test/Instrumentation/MemorySanitizer/X86/mmx-intrinsics.ll
    M llvm/test/Instrumentation/MemorySanitizer/i386/avx-intrinsics-i386.ll
    M llvm/test/Instrumentation/MemorySanitizer/i386/avx2-intrinsics-i386.ll
    M llvm/test/Instrumentation/MemorySanitizer/i386/mmx-intrinsics.ll

  Log Message:
  -----------
  [msan] Handle horizontal add/subtract intrinsic by applying to shadow (#124159)

Horizontal add (hadd) and subtract (hsub) are currently heuristically
handled by `maybeHandleSimpleNomemIntrinsic()` (via
`handleUnknownIntrinsic()`), which computes the shadow by bitwise OR'ing
the two operands. This has false positives for hadd/hsub shadows. For
example, suppose the shadows for the two operands are 00000000 and
11111111 respectively. The expected shadow for the result is 00001111,
but `maybeHandleSimpleNomemIntrinsic` would compute it as 11111111.

This patch handles horizontal add using
`handleIntrinsicByApplyingToShadow` (from
https://github.com/llvm/llvm-project/pull/114490), which has no false
positives for hadd/hsub: if each pair of adjacent shadow values is zero
(fully initialized), the result will be zero (fully initialized). More
generally, it is precise for hadd/hsub if at least one of the two
adjacent shadow values in each pair is zero.

It does have some false negatives for hadd/hsub: if we add/subtract two
adjacent non-zero shadow values, some bits of the result may incorrectly
be zero. We consider this an acceptable tradeoff for performance. To
make shadow propagation precise, we want the equivalent of "horizontal
OR", but this is not available. Reducing horizontal OR to (permutation
plus bitwise OR) is left as an exercise for the reader.


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

  Changed paths:
    M llvm/include/llvm/CodeGen/BasicTTIImpl.h
    M llvm/test/Analysis/CostModel/AArch64/sve-intrinsics.ll
    M llvm/test/Analysis/CostModel/RISCV/vp-intrinsics.ll

  Log Message:
  -----------
  [CostModel] getTypeBasedIntrinsicInstrCost - add default cost approximations for funnel shifts (#124175)

We only had handling for cases where we had argument data.


  Commit: f6253f8fe9ff43f2f09f8e743bb095a84829154a
      https://github.com/llvm/llvm-project/commit/f6253f8fe9ff43f2f09f8e743bb095a84829154a
  Author: ZhaoQi <zhaoqi01 at loongson.cn>
  Date:   2025-01-24 (Fri, 24 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
    A llvm/test/ExecutionEngine/JITLink/LoongArch/ELF_reloc_addsub.s

  Log Message:
  -----------
  [JITLink][LoongArch] Add label addition and subtraction relocations (#122262)


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

  Changed paths:
    M llvm/lib/Target/X86/X86ISelLowering.cpp
    M llvm/test/CodeGen/X86/vector-trunc-nowrap.ll

  Log Message:
  -----------
  [X86] Use NSW/NUW flags on ISD::TRUNCATE nodes to improve X86 PACKSS/PACKUS lowering (#123956)

If the NSW/NUW flags are present, then we can assume the source value is within bounds and saturation will not occur with the PACKSS/PACKUS instructions.

Fixes #87485


  Commit: 886adf8fb3ba5ec358a9a4fbe87e4da6b3ae8973
      https://github.com/llvm/llvm-project/commit/886adf8fb3ba5ec358a9a4fbe87e4da6b3ae8973
  Author: Timm Baeder <tbaeder at redhat.com>
  Date:   2025-01-24 (Fri, 24 Jan 2025)

  Changed paths:
    M clang/lib/AST/ExprConstant.cpp
    M clang/test/AST/ByteCode/new-delete.cpp
    M clang/test/SemaCXX/cxx2a-constexpr-dynalloc.cpp

  Log Message:
  -----------
  [clang][ExprConst] Let diagnostics point to std::allocator calls (#123744)

Instead of the underlying operator new calls. This fixes a longstanding
FIXME comment in cxx2a-constexpr-dynalloc.cpp.


  Commit: ee2722fc882ed5dbc7609686bd998b023c6645b2
      https://github.com/llvm/llvm-project/commit/ee2722fc882ed5dbc7609686bd998b023c6645b2
  Author: Phoebe Wang <phoebe.wang at intel.com>
  Date:   2025-01-24 (Fri, 24 Jan 2025)

  Changed paths:
    M clang/include/clang/Basic/BuiltinsX86.td
    M clang/lib/CodeGen/CGBuiltin.cpp
    M clang/lib/Headers/avx10_2_512bf16intrin.h
    M clang/lib/Headers/avx10_2bf16intrin.h
    M clang/lib/Sema/SemaX86.cpp
    M clang/test/CodeGen/X86/avx10_2_512bf16-builtins.c
    M clang/test/CodeGen/X86/avx10_2bf16-builtins.c
    M llvm/include/llvm/IR/IntrinsicsX86.td
    M llvm/lib/Target/X86/AsmParser/X86AsmParser.cpp
    M llvm/lib/Target/X86/MCTargetDesc/X86ATTInstPrinter.cpp
    M llvm/lib/Target/X86/MCTargetDesc/X86InstComments.cpp
    M llvm/lib/Target/X86/MCTargetDesc/X86InstPrinterCommon.cpp
    M llvm/lib/Target/X86/MCTargetDesc/X86IntelInstPrinter.cpp
    M llvm/lib/Target/X86/X86InstrAVX10.td
    M llvm/lib/Target/X86/X86InstrFMA3Info.cpp
    M llvm/lib/Target/X86/X86InstrUtils.td
    M llvm/lib/Target/X86/X86IntrinsicsInfo.h
    M llvm/test/CodeGen/X86/avx10.2-fma-commute.ll
    M llvm/test/CodeGen/X86/avx10_2_512bf16-arith.ll
    M llvm/test/CodeGen/X86/avx10_2_512bf16-intrinsics.ll
    M llvm/test/CodeGen/X86/avx10_2bf16-arith.ll
    M llvm/test/CodeGen/X86/avx10_2bf16-intrinsics.ll
    M llvm/test/MC/Disassembler/X86/avx10.2-bf16-32.txt
    M llvm/test/MC/Disassembler/X86/avx10.2-bf16-64.txt
    M llvm/test/MC/X86/avx10.2-bf16-32-att.s
    M llvm/test/MC/X86/avx10.2-bf16-32-intel.s
    M llvm/test/MC/X86/avx10.2-bf16-64-att.s
    M llvm/test/MC/X86/avx10.2-bf16-64-intel.s
    M llvm/test/TableGen/x86-fold-tables.inc

  Log Message:
  -----------
  [X86][AVX10.2-BF16] Remove [NE]P from intrinsic and instruction name (#123335)

Ref.: https://cdrdv2.intel.com/v1/dl/getContent/828965


  Commit: e289cb545adabd8f7b72c0c4a023dcf640823767
      https://github.com/llvm/llvm-project/commit/e289cb545adabd8f7b72c0c4a023dcf640823767
  Author: Brad Smith <brad at comstyle.com>
  Date:   2025-01-24 (Fri, 24 Jan 2025)

  Changed paths:
    M lldb/source/Host/posix/DomainSocket.cpp
    M lldb/source/Host/posix/ProcessLauncherPosixFork.cpp
    M lldb/source/Plugins/ObjectContainer/BSD-Archive/ObjectContainerBSDArchive.cpp

  Log Message:
  -----------
  [lldb] Remove more workrounds for Android that have been fixed upstream (#124176)

Issues that were fixed 10+ years ago with Bionic libc.


  Commit: bfd9bc274586b0261e16e22ac50d50586a0152e2
      https://github.com/llvm/llvm-project/commit/bfd9bc274586b0261e16e22ac50d50586a0152e2
  Author: Frederik Harwath <frederik.harwath at amd.com>
  Date:   2025-01-24 (Fri, 24 Jan 2025)

  Changed paths:
    M llvm/lib/Target/AMDGPU/SIPeepholeSDWA.cpp
    M llvm/test/CodeGen/AMDGPU/GlobalISel/saddsat.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/ssubsat.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/uaddsat.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/usubsat.ll
    M llvm/test/CodeGen/AMDGPU/buffer-fat-pointer-atomicrmw-fadd.ll
    M llvm/test/CodeGen/AMDGPU/flat-atomicrmw-fadd.ll
    M llvm/test/CodeGen/AMDGPU/flat-atomicrmw-fsub.ll
    M llvm/test/CodeGen/AMDGPU/global-atomicrmw-fadd.ll
    M llvm/test/CodeGen/AMDGPU/global-atomicrmw-fsub.ll
    M llvm/test/CodeGen/AMDGPU/idot4u.ll
    M llvm/test/CodeGen/AMDGPU/local-atomicrmw-fadd.ll
    M llvm/test/CodeGen/AMDGPU/local-atomicrmw-fsub.ll
    M llvm/test/CodeGen/AMDGPU/permute_i8.ll
    A llvm/test/CodeGen/AMDGPU/sdwa-peephole-instr-combine-sel.ll
    A llvm/test/CodeGen/AMDGPU/sdwa-peephole-instr-combine-sel.mir
    M llvm/test/CodeGen/AMDGPU/sdwa-peephole-instr-gfx10.mir
    M llvm/test/CodeGen/AMDGPU/sdwa-peephole-instr.mir
    M llvm/test/CodeGen/AMDGPU/sdwa-preserve.mir
    M llvm/test/CodeGen/AMDGPU/v_sat_pk_u8_i16.ll

  Log Message:
  -----------
  [AMDGPU] SIPeepholeSDWA: Disable on existing SDWA instructions (#124131)

This PR reapplies the changes from PR #123942 which had to be reverted
because of a test failure. The test has been adjusted.


  Commit: a6cfde62bb89e595db2bf7bb8ae810293d8edf26
      https://github.com/llvm/llvm-project/commit/a6cfde62bb89e595db2bf7bb8ae810293d8edf26
  Author: Brad Smith <brad at comstyle.com>
  Date:   2025-01-24 (Fri, 24 Jan 2025)

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

  Log Message:
  -----------
  [lldb] Check Android API for existence of getgrgid_r() introduced in 24 (#124182)


  Commit: eda16991adeb078647b2d239fcf666ddece5c30a
      https://github.com/llvm/llvm-project/commit/eda16991adeb078647b2d239fcf666ddece5c30a
  Author: Brad Smith <brad at comstyle.com>
  Date:   2025-01-24 (Fri, 24 Jan 2025)

  Changed paths:
    M lldb/source/Host/common/Host.cpp

  Log Message:
  -----------
  [lldb] Enable the use of dladdr() on Android (#124187)

dladdr() was introduced 15 years ago.


  Commit: 97df7411fd99eb6b2ee54e0eadece490ae7a5a88
      https://github.com/llvm/llvm-project/commit/97df7411fd99eb6b2ee54e0eadece490ae7a5a88
  Author: David Spickett <david.spickett at linaro.org>
  Date:   2025-01-24 (Fri, 24 Jan 2025)

  Changed paths:
    M llvm/docs/TestingGuide.rst

  Log Message:
  -----------
  [llvm][Docs] Make it clear where lit test files live (#124121)

As someone on Discord was understandably confused because the build
directory does contain folder structures that look remarkably like the
source directory.

I used this page to explain it but realised that this must be from when
llvm was a separate repository. So `<user home>/llvm` probably was a
common path.

Now it's in llvm-project. So make that obvious in the instructions.


  Commit: 24e70e3930724ce499ad05d669bfbc4423c542e0
      https://github.com/llvm/llvm-project/commit/24e70e3930724ce499ad05d669bfbc4423c542e0
  Author: Nikolas Klauser <nikolasklauser at berlin.de>
  Date:   2025-01-24 (Fri, 24 Jan 2025)

  Changed paths:
    M libcxx/include/__algorithm/pstl.h
    M libcxx/include/__chrono/convert_to_tm.h
    M libcxx/include/__chrono/exception.h
    M libcxx/include/__chrono/formatter.h
    M libcxx/include/__chrono/leap_second.h
    M libcxx/include/__chrono/local_info.h
    M libcxx/include/__chrono/ostream.h
    M libcxx/include/__chrono/sys_info.h
    M libcxx/include/__chrono/time_zone.h
    M libcxx/include/__chrono/time_zone_link.h
    M libcxx/include/__chrono/tzdb.h
    M libcxx/include/__chrono/tzdb_list.h
    M libcxx/include/__chrono/zoned_time.h
    M libcxx/include/__config
    M libcxx/include/__numeric/pstl.h
    M libcxx/include/execution
    M libcxx/include/iosfwd
    M libcxx/include/syncstream
    M libcxx/include/version
    M libcxx/modules/std/iosfwd.inc
    M libcxx/modules/std/syncstream.inc
    M libcxx/test/libcxx/experimental/fexperimental-library.compile.pass.cpp
    M libcxx/test/std/language.support/support.limits/support.limits.general/syncstream.version.compile.pass.cpp
    M libcxx/test/std/language.support/support.limits/support.limits.general/version.version.compile.pass.cpp
    M libcxx/test/support/test_macros.h
    M libcxx/test/tools/clang_tidy_checks/internal_ftm_use.cpp
    M libcxx/utils/generate_feature_test_macro_components.py

  Log Message:
  -----------
  [libc++] Switch experimental library macros to 0/1 macros (#124030)

This is a continuation of what's been started in #89178.

As a drive-by, this also changes the PSTL macro to say `EXPERIMENTAL`
instead of `INCOMPLETE`.


  Commit: 196f7c2a4f472074668451c5ecc40e82731940f7
      https://github.com/llvm/llvm-project/commit/196f7c2a4f472074668451c5ecc40e82731940f7
  Author: Artem Pianykh <artem.pyanykh at gmail.com>
  Date:   2025-01-24 (Fri, 24 Jan 2025)

  Changed paths:
    M llvm/include/llvm/Transforms/Utils/Cloning.h
    M llvm/include/llvm/Transforms/Utils/ValueMapper.h
    M llvm/lib/Transforms/Utils/CloneFunction.cpp
    M llvm/lib/Transforms/Utils/ValueMapper.cpp

  Log Message:
  -----------
  [Utils] Identity map module-level debug info on first use in CloneFunction* (#118627)


Summary:
To avoid cloning module-level debug info (owned by the module rather
than the function), CloneFunction implementation used to eagerly
identity map such debug info into ValueMap's MD map. In larger modules
with meaningful volume of debug info this gets very expensive.

By passing such debug info metadata via an IdentityMD set for the
ValueMapper to map on first use, we get several benefits:

1. Mapping metadata is not cheap, particularly because of tracking. When
   cloning a Function we identity map lots of global module-level
   metadata to avoid cloning it, while only a fraction of it is actually
   used by the function. Mapping on first use is a lot faster for
   modules with meaningful amount of debug info.

2. Eagerly identity mapping metadata makes it harder to cache
   module-level data (e.g. a set of metadata nodes in a \a DICompileUnit).
   With this patch we can cache certain module-level metadata
   calculations to speed things up further.

Anecdata from compiling a sample cpp file with full debug info shows that this moderately speeds up
CoroSplitPass which is one of the heavier users of cloning:

|                 | Baseline | IdentityMD set |
|-----------------|----------|----------------|
| CoroSplitPass   | 306ms    | 221ms          |
| CoroCloner      | 101ms    | 72ms           |
| Speed up        | 1x       | 1.4x           |

Test Plan:
ninja check-llvm-unit
ninja check-llvm


  Commit: df3bc54eff3baaa0ad2492b858029bcbf258a5d7
      https://github.com/llvm/llvm-project/commit/df3bc54eff3baaa0ad2492b858029bcbf258a5d7
  Author: Kazu Hirata <kazu at google.com>
  Date:   2025-01-24 (Fri, 24 Jan 2025)

  Changed paths:
    M flang/lib/Optimizer/CodeGen/BoxedProcedure.cpp

  Log Message:
  -----------
  [flang] Avoid repeated hash lookups (NFC) (#124230)


  Commit: 990837f91de329b1e045f90fadb86ffe21611d9a
      https://github.com/llvm/llvm-project/commit/990837f91de329b1e045f90fadb86ffe21611d9a
  Author: Jianjian Guan <jacquesguan at me.com>
  Date:   2025-01-24 (Fri, 24 Jan 2025)

  Changed paths:
    M flang/include/flang/Optimizer/Dialect/FIRTypes.td
    M mlir/include/mlir/Dialect/Arith/IR/ArithOps.td
    M mlir/include/mlir/Dialect/Math/IR/MathOps.td
    M mlir/include/mlir/Dialect/Tensor/IR/TensorOps.td
    M mlir/include/mlir/IR/CommonTypeConstraints.td
    M mlir/lib/Dialect/Arith/IR/ArithOps.cpp
    M mlir/test/Dialect/Arith/invalid.mlir
    M mlir/test/Dialect/Tensor/invalid.mlir

  Log Message:
  -----------
  [mlir][arith][tensor] Disable index type for bitcast (#121455)

Fixes #121397.


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

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

  Log Message:
  -----------
  [CostModel][X86] getIntrinsicInstrCost - lrint/llrint costs can use getCastInstrCost without argument data

We don't use the IntrinsicCostAttributes arguments so, which allows us to use in type-only analysis in a future patch.


  Commit: b4ef11d0e20b8263012613697503533fbb2119d6
      https://github.com/llvm/llvm-project/commit/b4ef11d0e20b8263012613697503533fbb2119d6
  Author: Kazu Hirata <kazu at google.com>
  Date:   2025-01-24 (Fri, 24 Jan 2025)

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

  Log Message:
  -----------
  [AST] Migrate away from PointerUnion::dyn_cast (NFC) (#124228)

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

Literal migration would result in dyn_cast_if_present (see the
definition of PointerUnion::dyn_cast), but this patch uses dyn_cast
because we expect Source to be nonnull.


  Commit: 148da06628507123f340c68b0ba732c31c3b6de9
      https://github.com/llvm/llvm-project/commit/148da06628507123f340c68b0ba732c31c3b6de9
  Author: Kazu Hirata <kazu at google.com>
  Date:   2025-01-24 (Fri, 24 Jan 2025)

  Changed paths:
    M clang/include/clang/Sema/SemaInternal.h

  Log Message:
  -----------
  [Sema] Migrate away from PointerUnion::dyn_cast (NFC) (#124229)

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

Literal migration would result in dyn_cast_if_present (see the
definition of PointerUnion::dyn_cast), but this patch uses dyn_cast
because we expect UPP.first to be nonnull.


  Commit: 1c0af8dced4a38967f3cb2d93fb6576535bc748b
      https://github.com/llvm/llvm-project/commit/1c0af8dced4a38967f3cb2d93fb6576535bc748b
  Author: gbMattN <146744444+gbMattN at users.noreply.github.com>
  Date:   2025-01-24 (Fri, 24 Jan 2025)

  Changed paths:
    A compiler-rt/test/tysan/ignorelist.c
    A compiler-rt/test/tysan/ignorelist.h
    A compiler-rt/test/tysan/preprocessor.c

  Log Message:
  -----------
  [TySan] Added tests for methods of ignoring instrumentation (#124125)

TySan supports some preprocessor checks and ignorelists, but they are
currently untested. This PR adds some tests to make sure they all work.

@fhahn @AaronBallman, this is based off the discussion in the
documentation PR [#123595]


  Commit: 4b6fc4934685c26f223e435d62b02b60544f76d3
      https://github.com/llvm/llvm-project/commit/4b6fc4934685c26f223e435d62b02b60544f76d3
  Author: David Spickett <david.spickett at linaro.org>
  Date:   2025-01-24 (Fri, 24 Jan 2025)

  Changed paths:
    M llvm/docs/Contributing.rst
    M llvm/docs/DeveloperPolicy.rst

  Log Message:
  -----------
  [llvm][Docs] Clarify the process for requesting a merge on your behalf (#124154)

This makes it more clear what you the author must do, and what reviewers
can expect you to do, before an approved PR can be merged. Spliting out
the email bit into a section also means we can link directly to it in
discussions.

This relies on one of those parties actually reading this, but I plan to
tackle the case where they don't with some new automation.


  Commit: 0510d4ea59a185db453b5910f307e1c6e9184589
      https://github.com/llvm/llvm-project/commit/0510d4ea59a185db453b5910f307e1c6e9184589
  Author: Karlo Basioli <68535415+basioli-k at users.noreply.github.com>
  Date:   2025-01-24 (Fri, 24 Jan 2025)

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

  Log Message:
  -----------
  [bazel]Fix bazel build after 631a6e0004e57ca85569b99ea411418627925697


  Commit: 865104a1042e824254b130c00c7f8ee0e0e0f6c5
      https://github.com/llvm/llvm-project/commit/865104a1042e824254b130c00c7f8ee0e0e0f6c5
  Author: Kerry McLaughlin <kerry.mclaughlin at arm.com>
  Date:   2025-01-24 (Fri, 24 Jan 2025)

  Changed paths:
    M llvm/lib/Target/AArch64/SMEInstrFormats.td
    M llvm/test/CodeGen/AArch64/sme2-intrinsics-int-dots.ll

  Log Message:
  -----------
  [AArch64][SME] Change output class of FORM_TRANSPOSED_REG_TUPLE pseudos (#123755)

The FORM_TRANSPOSED_REG_TUPLE pseudo nodes use either the ZPR2Mul2
or ZPR4Mul4 register classes for output. This patch changes the class
so that these can be extended to other multi-vector intrinsics which
instead create a ZPR2/ZPR4 register sequence.


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

  Changed paths:
    M llvm/test/Transforms/SLPVectorizer/X86/arith-fshl-rot.ll
    M llvm/test/Transforms/SLPVectorizer/X86/arith-fshl.ll
    M llvm/test/Transforms/SLPVectorizer/X86/arith-fshr-rot.ll
    M llvm/test/Transforms/SLPVectorizer/X86/arith-fshr.ll

  Log Message:
  -----------
  [SLP][X86] Add VBMI2 coverage for funnel shift tests

VBMI2 CPUs actually have vector funnel shift instruction support


  Commit: aff1242b8ee8b75d68812337f8e408a1405ab00f
      https://github.com/llvm/llvm-project/commit/aff1242b8ee8b75d68812337f8e408a1405ab00f
  Author: Elvis Wang <elvis.wang at sifive.com>
  Date:   2025-01-24 (Fri, 24 Jan 2025)

  Changed paths:
    M llvm/lib/Transforms/Vectorize/VPlan.h
    M llvm/lib/Transforms/Vectorize/VPlanHCFGBuilder.cpp
    M llvm/lib/Transforms/Vectorize/VPlanRecipes.cpp
    M llvm/test/Transforms/LoopVectorize/dbg-outer-loop-vect.ll

  Log Message:
  -----------
  [LV] Align debug location of the widen-phi to the original phi. (#120338)

This patch align the debug location of the widen-phi to the debug
location of original phi.

Split from: #120054


  Commit: 3208801aec1867b83335418d84ee09b773ef5b2e
      https://github.com/llvm/llvm-project/commit/3208801aec1867b83335418d84ee09b773ef5b2e
  Author: David Green <david.green at arm.com>
  Date:   2025-01-24 (Fri, 24 Jan 2025)

  Changed paths:
    M llvm/test/CodeGen/AArch64/bf16-instructions.ll

  Log Message:
  -----------
  [AArch64][GlobalISel] Add some bf16 GISel test coverage. NFC

Most of this is mis-compiling with +fullfp16 and should be disabled for GISel.


  Commit: f8a56df36e39b01af667f2e7823d5c1d8bab73ee
      https://github.com/llvm/llvm-project/commit/f8a56df36e39b01af667f2e7823d5c1d8bab73ee
  Author: Petar Avramovic <Petar.Avramovic at amd.com>
  Date:   2025-01-24 (Fri, 24 Jan 2025)

  Changed paths:
    M llvm/lib/Target/AMDGPU/AMDGPUGlobalISelUtils.cpp
    M llvm/lib/Target/AMDGPU/AMDGPUGlobalISelUtils.h
    M llvm/lib/Target/AMDGPU/AMDGPURegBankSelect.cpp
    M llvm/test/CodeGen/AMDGPU/GlobalISel/regbankselect-mui-regbanklegalize.mir
    M llvm/test/CodeGen/AMDGPU/GlobalISel/regbankselect-mui-regbankselect.mir

  Log Message:
  -----------
  AMDGPU/GlobalISel: AMDGPURegBankSelect (#112863)

Assign register banks to virtual registers. Does not use generic
RegBankSelect. After register bank selection all register operand of
G_ instructions have LLT and register banks exclusively. If they had
register class, reassign appropriate register bank.

Assign register banks using machine uniformity analysis:
Sgpr - uniform values and some lane masks
Vgpr - divergent, non S1, values
Vcc  - divergent S1 values(lane masks)

AMDGPURegBankSelect does not consider available instructions and, in
some cases, G_ instructions with some register bank assignment can't be
inst-selected. This is solved in RegBankLegalize.

Exceptions when uniformity analysis does not work:
S32/S64 lane masks:
- need to end up with sgpr register class after instruction selection
- In most cases Uniformity analysis declares them as uniform
  (forced by tablegen) resulting in sgpr S32/S64 reg bank
- When Uniformity analysis declares them as divergent (some phis),
  use intrinsic lane mask analyzer to still assign sgpr register bank
temporal divergence copy:
- COPY to vgpr with implicit use of $exec inside of the cycle
- this copy is declared as uniform by uniformity analysis
- make sure that assigned bank is vgpr
Note: uniformity analysis does not consider that registers with vgpr def
are divergent (you can have uniform value in vgpr).
- TODO: implicit use of $exec could be implemented as indicator
  that instruction is divergent


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

  Changed paths:
    M llvm/test/Transforms/SLPVectorizer/X86/arith-fshl-rot.ll
    M llvm/test/Transforms/SLPVectorizer/X86/arith-fshr-rot.ll

  Log Message:
  -----------
  [SLP][X86] Add missing SSE2/SSE4 checks from vector rotate tests


  Commit: 9bb3c62948d0c6dd3fb233186ae6a79744012b8f
      https://github.com/llvm/llvm-project/commit/9bb3c62948d0c6dd3fb233186ae6a79744012b8f
  Author: Kiran Chandramohan <kiran.chandramohan at arm.com>
  Date:   2025-01-24 (Fri, 24 Jan 2025)

  Changed paths:
    M clang/include/clang/Basic/DiagnosticDriverKinds.td
    M clang/include/clang/Driver/Options.td
    M clang/lib/Driver/ToolChains/Flang.cpp
    M flang/test/Driver/fast-math.f90

  Log Message:
  -----------
  [Flang][Driver] Deprecate Ofast (#101701)

This is subject to agreement by the Flang community
(https://discourse.llvm.org/t/rfc-deprecate-ofast-in-flang/80243).


  Commit: e6030d389571b3f1b0f0c5a35b7fa45937ed0f6c
      https://github.com/llvm/llvm-project/commit/e6030d389571b3f1b0f0c5a35b7fa45937ed0f6c
  Author: Timm Baeder <tbaeder at redhat.com>
  Date:   2025-01-24 (Fri, 24 Jan 2025)

  Changed paths:
    M clang/lib/AST/ByteCode/Interp.cpp
    M clang/lib/AST/ByteCode/InterpBuiltin.cpp
    M clang/test/AST/ByteCode/new-delete.cpp

  Log Message:
  -----------
  [clang][bytecode] Use std::allocator calls for Descriptor source (#123900)

... for the dynamic blocks created for operator new calls. This way we
get the type of memory allocated right. As a side-effect, the
diagnostics now point to the std::allocator calls, which is an
improvement.


  Commit: 8e702735090388a3231a863e343f880d0f96fecb
      https://github.com/llvm/llvm-project/commit/8e702735090388a3231a863e343f880d0f96fecb
  Author: Jeremy Morse <jeremy.morse at sony.com>
  Date:   2025-01-24 (Fri, 24 Jan 2025)

  Changed paths:
    M clang/lib/CodeGen/CGCoroutine.cpp
    M clang/lib/CodeGen/CGException.cpp
    M clang/lib/CodeGen/CGOpenMPRuntime.cpp
    M llvm/include/llvm/IR/BasicBlock.h
    M llvm/include/llvm/IR/DebugProgramInstruction.h
    M llvm/include/llvm/IR/Instruction.h
    M llvm/lib/Analysis/LoopInfo.cpp
    M llvm/lib/CodeGen/CodeGenPrepare.cpp
    M llvm/lib/CodeGen/SelectOptimize.cpp
    M llvm/lib/CodeGen/SjLjEHPrepare.cpp
    M llvm/lib/CodeGen/StackColoring.cpp
    M llvm/lib/CodeGen/TypePromotion.cpp
    M llvm/lib/Frontend/OpenMP/OMPIRBuilder.cpp
    M llvm/lib/FuzzMutate/IRMutator.cpp
    M llvm/lib/IR/DIBuilder.cpp
    M llvm/lib/IR/DebugProgramInstruction.cpp
    M llvm/lib/IR/Instruction.cpp
    M llvm/lib/Target/AArch64/AArch64TargetTransformInfo.cpp
    M llvm/lib/Target/AMDGPU/AMDGPUAtomicOptimizer.cpp
    M llvm/lib/Target/ARM/ARMParallelDSP.cpp
    M llvm/lib/Target/BPF/BPFASpaceCastSimplifyPass.cpp
    M llvm/lib/Target/BPF/BPFAbstractMemberAccess.cpp
    M llvm/lib/Target/BPF/BPFAdjustOpt.cpp
    M llvm/lib/Target/BPF/BPFCheckAndAdjustIR.cpp
    M llvm/lib/Target/BPF/BPFPreserveStaticOffset.cpp
    M llvm/lib/Target/Hexagon/HexagonVectorLoopCarriedReuse.cpp
    M llvm/lib/Target/NVPTX/NVPTXAllocaHoisting.cpp
    M llvm/lib/Target/NVPTX/NVPTXLowerAlloca.cpp
    M llvm/lib/Target/X86/X86LowerAMXType.cpp
    M llvm/lib/Transforms/Coroutines/CoroFrame.cpp
    M llvm/lib/Transforms/Coroutines/SpillUtils.cpp
    M llvm/lib/Transforms/IPO/AttributorAttributes.cpp
    M llvm/lib/Transforms/IPO/OpenMPOpt.cpp
    M llvm/lib/Transforms/InstCombine/InstCombineCalls.cpp
    M llvm/lib/Transforms/InstCombine/InstCombineShifts.cpp
    M llvm/lib/Transforms/InstCombine/InstCombineVectorOps.cpp
    M llvm/lib/Transforms/InstCombine/InstructionCombining.cpp
    M llvm/lib/Transforms/Instrumentation/ControlHeightReduction.cpp
    M llvm/lib/Transforms/Instrumentation/InstrProfiling.cpp
    M llvm/lib/Transforms/Instrumentation/NumericalStabilitySanitizer.cpp
    M llvm/lib/Transforms/Scalar/ConstantHoisting.cpp
    M llvm/lib/Transforms/Scalar/ConstraintElimination.cpp
    M llvm/lib/Transforms/Scalar/DeadStoreElimination.cpp
    M llvm/lib/Transforms/Scalar/DivRemPairs.cpp
    M llvm/lib/Transforms/Scalar/GVN.cpp
    M llvm/lib/Transforms/Scalar/GVNHoist.cpp
    M llvm/lib/Transforms/Scalar/InferAddressSpaces.cpp
    M llvm/lib/Transforms/Scalar/LICM.cpp
    M llvm/lib/Transforms/Scalar/LoopFuse.cpp
    M llvm/lib/Transforms/Scalar/LoopInterchange.cpp
    M llvm/lib/Transforms/Scalar/LoopSink.cpp
    M llvm/lib/Transforms/Scalar/LoopStrengthReduce.cpp
    M llvm/lib/Transforms/Scalar/LowerMatrixIntrinsics.cpp
    M llvm/lib/Transforms/Scalar/MemCpyOptimizer.cpp
    M llvm/lib/Transforms/Scalar/NewGVN.cpp
    M llvm/lib/Transforms/Scalar/Reassociate.cpp
    M llvm/lib/Transforms/Scalar/RewriteStatepointsForGC.cpp
    M llvm/lib/Transforms/Scalar/SeparateConstOffsetFromGEP.cpp
    M llvm/lib/Transforms/Scalar/SimpleLoopUnswitch.cpp
    M llvm/lib/Transforms/Scalar/Sink.cpp
    M llvm/lib/Transforms/Scalar/SpeculativeExecution.cpp
    M llvm/lib/Transforms/Scalar/TailRecursionElimination.cpp
    M llvm/lib/Transforms/Utils/AssumeBundleBuilder.cpp
    M llvm/lib/Transforms/Utils/BasicBlockUtils.cpp
    M llvm/lib/Transforms/Utils/CallPromotionUtils.cpp
    M llvm/lib/Transforms/Utils/CloneFunction.cpp
    M llvm/lib/Transforms/Utils/CodeExtractor.cpp
    M llvm/lib/Transforms/Utils/CodeMoverUtils.cpp
    M llvm/lib/Transforms/Utils/GuardUtils.cpp
    M llvm/lib/Transforms/Utils/Instrumentation.cpp
    M llvm/lib/Transforms/Utils/Local.cpp
    M llvm/lib/Transforms/Utils/LoopRotationUtils.cpp
    M llvm/lib/Transforms/Utils/PromoteMemoryToRegister.cpp
    M llvm/lib/Transforms/Utils/ScalarEvolutionExpander.cpp
    M llvm/lib/Transforms/Utils/SimplifyCFG.cpp
    M llvm/lib/Transforms/Vectorize/LoadStoreVectorizer.cpp
    M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
    M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
    M llvm/lib/Transforms/Vectorize/VPlan.cpp
    M llvm/tools/llvm-stress/llvm-stress.cpp
    M llvm/unittests/Analysis/AssumeBundleQueriesTest.cpp
    M llvm/unittests/Analysis/CGSCCPassManagerTest.cpp
    M llvm/unittests/Analysis/MemorySSATest.cpp
    M llvm/unittests/IR/BasicBlockDbgInfoTest.cpp
    M llvm/unittests/IR/BasicBlockTest.cpp
    M llvm/unittests/IR/LegacyPassManagerTest.cpp
    M llvm/unittests/IR/VerifierTest.cpp
    M polly/lib/CodeGen/BlockGenerators.cpp
    M polly/lib/Support/ScopHelper.cpp

  Log Message:
  -----------
  [NFC][DebugInfo] Use iterator moveBefore at many call-sites (#123583)

As part of the "RemoveDIs" project, BasicBlock::iterator now carries a
debug-info bit that's needed when getFirstNonPHI and similar feed into
instruction insertion positions. Call-sites where that's necessary were
updated a year ago; but to ensure some type safety however, we'd like to
have all calls to moveBefore use iterators.

This patch adds a (guaranteed dereferenceable) iterator-taking
moveBefore, and changes a bunch of call-sites where it's obviously safe
to change to use it by just calling getIterator() on an instruction
pointer. A follow-up patch will contain less-obviously-safe changes.

We'll eventually deprecate and remove the instruction-pointer
insertBefore, but not before adding concise documentation of what
considerations are needed (very few).


  Commit: dac49e8ddd5dc0104c238f09cdd532e6fb5c4f1d
      https://github.com/llvm/llvm-project/commit/dac49e8ddd5dc0104c238f09cdd532e6fb5c4f1d
  Author: Momchil Velikov <momchil.velikov at arm.com>
  Date:   2025-01-24 (Fri, 24 Jan 2025)

  Changed paths:
    M clang/utils/TableGen/NeonEmitter.cpp

  Log Message:
  -----------
  [Arm] Fix generating code with UB in NeonEmitter (#121802)

When generating `arm_neon.h`, NeonEmitter outputs code that
violates strict aliasing rules (C23 6.5 Expressions #7,
C++23 7.2.1 Value category [basic.lval] #11), for example:

    bfloat16_t __reint = __p0;
    uint32_t __reint1 = (uint32_t)(*(uint16_t *) &__reint) << 16;
    __ret = *(float32_t *) &__reint1;

This patch fixed the offending code by replacing it with
a call to `__builtin_bit_cast`.


  Commit: 33fc477e6e2614f71541f4287c1d68757b9203b0
      https://github.com/llvm/llvm-project/commit/33fc477e6e2614f71541f4287c1d68757b9203b0
  Author: Vlad Serebrennikov <serebrennikov.vladislav at gmail.com>
  Date:   2025-01-24 (Fri, 24 Jan 2025)

  Changed paths:
    M clang/www/cxx_dr_status.html

  Log Message:
  -----------
  [clang][NFC] Update `cxx_dr_status.html`


  Commit: 965ff7fa309d4408b4ccf5df7e59fec264c905c5
      https://github.com/llvm/llvm-project/commit/965ff7fa309d4408b4ccf5df7e59fec264c905c5
  Author: Durgadoss R <durgadossr at nvidia.com>
  Date:   2025-01-24 (Fri, 24 Jan 2025)

  Changed paths:
    M llvm/lib/Target/NVPTX/NVPTX.td
    M llvm/lib/Target/NVPTX/NVPTXInstrInfo.td
    M llvm/test/CodeGen/NVPTX/sm-version.ll

  Log Message:
  -----------
  [NVPTX] Add SM versions for 101 and 120 (#124155)

This patch adds SM and PTX versions for SM
101, 120 and their arch-accelerated variants.

All these are supported in cuda-12.8.
sm120/120a requires ptx8.7 and the rest require ptx8.6.

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


  Commit: 0ee037b861f94604907d95d0ff0ff87805b52428
      https://github.com/llvm/llvm-project/commit/0ee037b861f94604907d95d0ff0ff87805b52428
  Author: Petar Avramovic <Petar.Avramovic at amd.com>
  Date:   2025-01-24 (Fri, 24 Jan 2025)

  Changed paths:
    M llvm/include/llvm/CodeGen/GlobalISel/MachineIRBuilder.h
    M llvm/include/llvm/CodeGen/MachineRegisterInfo.h
    M llvm/lib/CodeGen/GlobalISel/MachineIRBuilder.cpp
    M llvm/lib/Target/AMDGPU/AMDGPUGlobalISelUtils.cpp
    M llvm/lib/Target/AMDGPU/AMDGPUGlobalISelUtils.h
    M llvm/lib/Target/AMDGPU/AMDGPUInstructionSelector.cpp
    M llvm/lib/Target/AMDGPU/AMDGPUInstructionSelector.h
    M llvm/lib/Target/AMDGPU/AMDGPURegBankLegalize.cpp
    A llvm/lib/Target/AMDGPU/AMDGPURegBankLegalizeHelper.cpp
    A llvm/lib/Target/AMDGPU/AMDGPURegBankLegalizeHelper.h
    A llvm/lib/Target/AMDGPU/AMDGPURegBankLegalizeRules.cpp
    A llvm/lib/Target/AMDGPU/AMDGPURegBankLegalizeRules.h
    M llvm/lib/Target/AMDGPU/CMakeLists.txt
    M llvm/lib/Target/AMDGPU/SIInstructions.td
    M llvm/test/CodeGen/AMDGPU/GlobalISel/regbankselect-mui-regbanklegalize.mir
    M llvm/test/CodeGen/AMDGPU/GlobalISel/regbankselect-mui-salu-float.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/regbankselect-mui-salu-float.mir
    M llvm/test/CodeGen/AMDGPU/GlobalISel/regbankselect-mui.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/regbankselect-mui.mir

  Log Message:
  -----------
  AMDGPU/GlobalISel: AMDGPURegBankLegalize (#112864)

Lower G_ instructions that can't be inst-selected with register bank
assignment from AMDGPURegBankSelect based on uniformity analysis.
- Lower instruction to perform it on assigned register bank
- Put uniform value in vgpr because SALU instruction is not available
- Execute divergent instruction in SALU - "waterfall loop"

Given LLTs on all operands after legalizer, some register bank
assignments require lowering while other do not.
Note: cases where all register bank assignments would require lowering
are lowered in legalizer.

AMDGPURegBankLegalize goals:
- Define Rules: when and how to perform lowering
- Goal of defining Rules it to provide high level table-like brief
  overview of how to lower generic instructions based on available
  target features and uniformity info (uniform vs divergent).
- Fast search of Rules, depends on how complicated Rule.Predicate is
- For some opcodes there would be too many Rules that are essentially
  all the same just for different combinations of types and banks.
  Write custom function that handles all cases.
- Rules are made from enum IDs that correspond to each operand.
  Names of IDs are meant to give brief description what lowering does
  for each operand or the whole instruction.
- AMDGPURegBankLegalizeHelper implements lowering algorithms

Since this is the first patch that actually enables -new-reg-bank-select
here is the summary of regression tests that were added earlier:
- if instruction is uniform always select SALU instruction if available
- eliminate back to back vgpr to sgpr to vgpr copies of uniform values
- fast rules: small differences for standard and vector instruction
- enabling Rule based on target feature - salu_float
- how to specify lowering algorithm - vgpr S64 AND to S32
- on G_TRUNC in reg, it is up to user to deal with truncated bits
  G_TRUNC in reg is treated as no-op.
- dealing with truncated high bits - ABS S16 to S32
- sgpr S1 phi lowering
- new opcodes for vcc-to-scc and scc-to-vcc copies
- lowering for vgprS1-to-vcc copy (formally this is vgpr-to-vcc G_TRUNC)
- S1 zext and sext lowering to select
- uniform and divergent S1 AND(OR and XOR) lowering - inst-selected into
  SALU instruction
- divergent phi with uniform inputs
- divergent instruction with temporal divergent use, source instruction
  is defined as uniform(AMDGPURegBankSelect) - missing temporal
  divergence lowering
- uniform phi, because of undef incoming, is assigned to vgpr. Will be
  fixed in AMDGPURegBankSelect via another fix in machine uniformity
  analysis.


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

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

  Log Message:
  -----------
  [mlir][vector] Canonicalize gathers/scatters with trivial offsets (#117939)

Canonicalize gathers/scatters with contiguous (i.e. [0, 1, 2, ...])
offsets into vector masked load/store ops.


  Commit: 46a08ce83262767b3aae5c9828fabcd13f2e8a96
      https://github.com/llvm/llvm-project/commit/46a08ce83262767b3aae5c9828fabcd13f2e8a96
  Author: Congcong Cai <congcongcai0907 at 163.com>
  Date:   2025-01-24 (Fri, 24 Jan 2025)

  Changed paths:
    M clang-tools-extra/clang-tidy/ClangTidyProfiling.cpp
    M clang-tools-extra/clang-tidy/ClangTidyProfiling.h

  Log Message:
  -----------
  [clang-tidy][NFC] simplify `TimerGroup` in `ClangTidyProfiling` (#123958)

`TimerGroup` don't need to use as field of `ClangTidyProfiling`.
We can construct it local during destructing.


  Commit: 8e6d6a55108c7979f0392bf8ad3444c92a2474e9
      https://github.com/llvm/llvm-project/commit/8e6d6a55108c7979f0392bf8ad3444c92a2474e9
  Author: Congcong Cai <congcongcai0907 at 163.com>
  Date:   2025-01-24 (Fri, 24 Jan 2025)

  Changed paths:
    M clang-tools-extra/clang-tidy/misc/UnusedUsingDeclsCheck.cpp

  Log Message:
  -----------
  [clang-tidy][NFC] improve performance misc-unused-using-decls (#123454)

skip header file before register AST Matchers
it can avoid to matcher lots of ast node when lint header file


  Commit: 4831fa8632f6ab89fe2c14b8e7ec09500e43c099
      https://github.com/llvm/llvm-project/commit/4831fa8632f6ab89fe2c14b8e7ec09500e43c099
  Author: Petar Avramovic <Petar.Avramovic at amd.com>
  Date:   2025-01-24 (Fri, 24 Jan 2025)

  Changed paths:
    M llvm/lib/Target/AMDGPU/AMDGPURegBankLegalizeHelper.cpp
    M llvm/lib/Target/AMDGPU/AMDGPURegBankLegalizeHelper.h
    M llvm/lib/Target/AMDGPU/AMDGPURegBankLegalizeRules.cpp
    M llvm/lib/Target/AMDGPU/AMDGPURegBankLegalizeRules.h
    M llvm/test/CodeGen/AMDGPU/GlobalISel/regbankselect-load.mir
    M llvm/test/CodeGen/AMDGPU/GlobalISel/regbankselect-zextload.mir

  Log Message:
  -----------
  AMDGPU/GlobalISel: RegBankLegalize rules for load (#112882)

Add IDs for bit width that cover multiple LLTs: B32 B64 etc.
"Predicate" wrapper class for bool predicate functions used to
write pretty rules. Predicates can be combined using &&, || and !.
Lowering for splitting and widening loads.
Write rules for loads to not change existing mir tests from old
regbankselect.


  Commit: 5ce349589a4adcc18f5807551bf4b78091746aa8
      https://github.com/llvm/llvm-project/commit/5ce349589a4adcc18f5807551bf4b78091746aa8
  Author: Artem Pianykh <artem.pyanykh at gmail.com>
  Date:   2025-01-24 (Fri, 24 Jan 2025)

  Changed paths:
    M llvm/lib/Transforms/Coroutines/CoroCloner.h
    M llvm/lib/Transforms/Coroutines/CoroSplit.cpp

  Log Message:
  -----------
  [Coro] Prebuild a module-level debug info set and share it between all coroutine clones (#118628)


Summary:
CoroCloner, by calling into CloneFunctionInto, does a lot of repeated
work priming DIFinder and building a list of common module-level debug
info metadata. For programs compiled with full debug info this can get
very expensive.

This diff builds the data once and shares it between all clones.

Anecdata for a sample cpp source file compiled with full debug info:

|                 | Baseline | IdentityMD set | Prebuilt CommonDI (cur.) |
|-----------------|----------|----------------|--------------------------|
| CoroSplitPass   | 306ms    | 221ms          | 68ms                     |
| CoroCloner      | 101ms    | 72ms           | 0.5ms                    |
| CollectCommonDI | -        | -              | 63ms                     |
| Speed up        | 1x       | 1.4x           | 4.5x                     |

Note that CollectCommonDebugInfo happens once *per coroutine* rather than per clone.

Test Plan:
ninja check-llvm-unit
ninja check-llvm

Compiled a sample internal source file, checked time trace output for scope timings.


  Commit: b60c118f53e6f7e5328e54dc26b4d6787030c02b
      https://github.com/llvm/llvm-project/commit/b60c118f53e6f7e5328e54dc26b4d6787030c02b
  Author: Petar Avramovic <Petar.Avramovic at amd.com>
  Date:   2025-01-24 (Fri, 24 Jan 2025)

  Changed paths:
    M llvm/lib/CodeGen/MachineSSAContext.cpp
    M llvm/test/Analysis/UniformityAnalysis/AMDGPU/MIR/hidden-diverge-gmir.mir
    M llvm/test/Analysis/UniformityAnalysis/AMDGPU/MIR/hidden-loop-diverge.mir
    M llvm/test/Analysis/UniformityAnalysis/AMDGPU/MIR/uses-value-from-cycle.mir
    M llvm/test/CodeGen/AMDGPU/GlobalISel/divergence-structurizer.mir
    M llvm/test/CodeGen/AMDGPU/GlobalISel/regbankselect-mui-regbanklegalize.mir
    M llvm/test/CodeGen/AMDGPU/GlobalISel/regbankselect-mui-regbankselect.mir
    M llvm/test/CodeGen/AMDGPU/GlobalISel/regbankselect-mui.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/regbankselect-mui.mir

  Log Message:
  -----------
  MachineUniformityAnalysis: Improve isConstantOrUndefValuePhi (#112866)

Change existing code for G_PHI to match what LLVM-IR version is doing
via PHINode::hasConstantOrUndefValue. This is not safe for regular PHI
since it may appear with an undef operand and getVRegDef can fail.
Most notably this improves number of values that can be allocated
to sgpr in AMDGPURegBankSelect.
Common case here are phis that appear in structurize-cfg lowering
for cycles with multiple exits:
Undef incoming value is coming from block that reached cycle exit
condition, if other incoming is uniform keep the phi uniform despite
the fact it is joining values from pair of blocks that are entered
via divergent condition branch.


  Commit: 57b48987f6c21e369e7bb1626dc79ca74aa34fdb
      https://github.com/llvm/llvm-project/commit/57b48987f6c21e369e7bb1626dc79ca74aa34fdb
  Author: Pavel Labath <pavel at labath.sk>
  Date:   2025-01-24 (Fri, 24 Jan 2025)

  Changed paths:
    M lldb/include/lldb/Symbol/Function.h
    M lldb/source/Plugins/SymbolFile/Breakpad/SymbolFileBreakpad.cpp
    M lldb/source/Plugins/SymbolFile/CTF/SymbolFileCTF.cpp
    M lldb/source/Plugins/SymbolFile/DWARF/DWARFASTParserClang.cpp
    M lldb/source/Plugins/SymbolFile/DWARF/DWARFDebugInfoEntry.cpp
    M lldb/source/Plugins/SymbolFile/DWARF/SymbolFileDWARF.cpp
    M lldb/source/Plugins/SymbolFile/NativePDB/SymbolFileNativePDB.cpp
    M lldb/source/Plugins/SymbolFile/PDB/SymbolFilePDB.cpp
    M lldb/source/Plugins/SymbolFile/Symtab/SymbolFileSymtab.cpp
    M lldb/source/Symbol/Function.cpp
    M lldb/test/Shell/SymbolFile/DWARF/x86/discontinuous-function.s

  Log Message:
  -----------
  [lldb] Use the first address range as the function address (#122440)

This is the behavior expected by DWARF. It also requires some fixups to
algorithms which were storing the addresses of some objects (Blocks and
Variables) relative to the beginning of the function.

There are plenty of things that still don't work in this setups, but
this change is sufficient for the expression evaluator to correctly
recognize the entry point of a function in this case.


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

  Changed paths:
    M .github/workflows/libc-fullbuild-tests.yml
    M .github/workflows/libc-overlay-tests.yml

  Log Message:
  -----------
  [libc][workflow] improve ci coverage with windows-2025 and arm ubuntu (#123745)

Add the following workflows:

- `fullbuild` on aarch64 ubuntu
- `overlay` on windows 2025
- `overlay` on aarch64 ubuntu

`ccache` variant is used on `aarch64` due to
https://github.com/hendrikmuhs/ccache-action/issues/279


  Commit: d6e0798a2a7cef94b2457f39c93f7083aaebd29d
      https://github.com/llvm/llvm-project/commit/d6e0798a2a7cef94b2457f39c93f7083aaebd29d
  Author: yingopq <115543042+yingopq at users.noreply.github.com>
  Date:   2025-01-24 (Fri, 24 Jan 2025)

  Changed paths:
    M llvm/lib/Target/Mips/MipsBranchExpansion.cpp
    A llvm/test/CodeGen/Mips/llvm-ir/sdiv-freebsd.ll

  Log Message:
  -----------
  [Mips] Add the missing judgment when processing function handleMFLOSlot (#121463)

In function handleMFLOSlot, we may get a variable LastInstInFunction
with a value of true from function getNextMachineInstr and IInSlot may
be null which would trigger an assert.
So we need to skip this case.

Fix #118223.


  Commit: b4e81fd1eb2231b06eaca66e71ecb83cffb88f52
      https://github.com/llvm/llvm-project/commit/b4e81fd1eb2231b06eaca66e71ecb83cffb88f52
  Author: Nico Weber <thakis at chromium.org>
  Date:   2025-01-24 (Fri, 24 Jan 2025)

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

  Log Message:
  -----------
  [gn] port 4018317407006b2c63


  Commit: eb206e9ea84eff0a0596fed2de8316d924f946d1
      https://github.com/llvm/llvm-project/commit/eb206e9ea84eff0a0596fed2de8316d924f946d1
  Author: Andrea Faulds <andrea.faulds at amd.com>
  Date:   2025-01-24 (Fri, 24 Jan 2025)

  Changed paths:
    M mlir/docs/Dialects/GPU.md
    M mlir/docs/ReleaseNotes.md
    M mlir/docs/SPIRVToLLVMDialectConversion.md
    M mlir/lib/ExecutionEngine/VulkanRuntimeWrappers.cpp
    M mlir/test/CMakeLists.txt
    M mlir/test/Integration/Dialect/Arith/CPU/test-wide-int-emulation-addi-i16.mlir
    M mlir/test/Integration/Dialect/Arith/CPU/test-wide-int-emulation-cmpi-i16.mlir
    M mlir/test/Integration/Dialect/Arith/CPU/test-wide-int-emulation-compare-results-i16.mlir
    M mlir/test/Integration/Dialect/Arith/CPU/test-wide-int-emulation-constants-i16.mlir
    M mlir/test/Integration/Dialect/Arith/CPU/test-wide-int-emulation-max-min-i16.mlir
    M mlir/test/Integration/Dialect/Arith/CPU/test-wide-int-emulation-muli-i16.mlir
    M mlir/test/Integration/Dialect/Arith/CPU/test-wide-int-emulation-shli-i16.mlir
    M mlir/test/Integration/Dialect/Arith/CPU/test-wide-int-emulation-shrsi-i16.mlir
    M mlir/test/Integration/Dialect/Arith/CPU/test-wide-int-emulation-shrui-i16.mlir
    M mlir/test/Integration/Dialect/Arith/CPU/test-wide-int-emulation-sitofp-i32.mlir
    M mlir/test/Integration/Dialect/Arith/CPU/test-wide-int-emulation-uitofp-i32.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/ControlFlow/assert.mlir
    M mlir/test/Integration/Dialect/LLVMIR/CPU/X86/test-inline-asm-vector.mlir
    M mlir/test/Integration/Dialect/LLVMIR/CPU/X86/test-inline-asm.mlir
    M mlir/test/Integration/Dialect/LLVMIR/CPU/test-complex-sparse-constant.mlir
    M mlir/test/Integration/Dialect/LLVMIR/CPU/test-vector-reductions-fp.mlir
    M mlir/test/Integration/Dialect/LLVMIR/CPU/test-vector-reductions-int.mlir
    M mlir/test/Integration/Dialect/Linalg/CPU/matmul-vs-matvec.mlir
    M mlir/test/Integration/Dialect/Linalg/CPU/mmt4d.mlir
    M mlir/test/Integration/Dialect/Linalg/CPU/pack-dynamic-inner-tile.mlir
    M mlir/test/Integration/Dialect/Linalg/CPU/pack-unpack-mmt4d.mlir
    M mlir/test/Integration/Dialect/Linalg/CPU/rank-reducing-subview.mlir
    M mlir/test/Integration/Dialect/Linalg/CPU/runtime-verification.mlir
    M mlir/test/Integration/Dialect/Linalg/CPU/test-collapse-tensor.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-elementwise.mlir
    M mlir/test/Integration/Dialect/Linalg/CPU/test-expand-tensor.mlir
    M mlir/test/Integration/Dialect/Linalg/CPU/test-matmul-masked-vec.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-subtensor-insert-multiple-uses.mlir
    M mlir/test/Integration/Dialect/Linalg/CPU/test-subtensor-insert.mlir
    M mlir/test/Integration/Dialect/Linalg/CPU/test-tensor-e2e.mlir
    M mlir/test/Integration/Dialect/Linalg/CPU/test-tensor-matmul.mlir
    M mlir/test/Integration/Dialect/Linalg/CPU/unpack-dynamic-inner-tile.mlir
    M mlir/test/Integration/Dialect/Math/CPU/mathtofuncs_ctlz.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/print-memref.mlir
    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/MemRef/verify-memref.mlir
    M mlir/test/Integration/Dialect/SparseTensor/CPU/block.mlir
    M mlir/test/Integration/Dialect/SparseTensor/CPU/block_majors.mlir
    M mlir/test/Integration/Dialect/SparseTensor/CPU/concatenate_dim_0.mlir
    M mlir/test/Integration/Dialect/SparseTensor/CPU/concatenate_dim_0_permute.mlir
    M mlir/test/Integration/Dialect/SparseTensor/CPU/concatenate_dim_1.mlir
    M mlir/test/Integration/Dialect/SparseTensor/CPU/concatenate_dim_1_permute.mlir
    M mlir/test/Integration/Dialect/SparseTensor/CPU/dense_output.mlir
    M mlir/test/Integration/Dialect/SparseTensor/CPU/dense_output_bf16.mlir
    M mlir/test/Integration/Dialect/SparseTensor/CPU/dense_output_f16.mlir
    M mlir/test/Integration/Dialect/SparseTensor/CPU/dual_sparse_conv_2d.mlir
    M mlir/test/Integration/Dialect/SparseTensor/CPU/iterator-based-kernel.mlir
    M mlir/test/Integration/Dialect/SparseTensor/CPU/padded_sparse_conv_2d.mlir
    M mlir/test/Integration/Dialect/SparseTensor/CPU/reshape_dot.mlir
    M mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_abs.mlir
    M mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_binary.mlir
    M mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_block3d.mlir
    M mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_block_matmul.mlir
    M mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_cast.mlir
    M mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_cmp.mlir
    M mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_codegen_dim.mlir
    M mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_codegen_foreach.mlir
    M mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_collapse_shape.mlir
    M mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_complex32.mlir
    M mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_complex64.mlir
    M mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_complex_ops.mlir
    M mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_constant_to_sparse_tensor.mlir
    M mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_conv_1d_nwc_wcf.mlir
    M mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_conv_2d.mlir
    M mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_conv_2d_55.mlir
    M mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_conv_2d_nchw_fchw.mlir
    M mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_conv_2d_nhwc_hwcf.mlir
    M mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_conv_3d.mlir
    M mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_conv_3d_ndhwc_dhwcf.mlir
    M mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_conversion.mlir
    M mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_conversion_block.mlir
    M mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_conversion_dyn.mlir
    M mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_conversion_element.mlir
    M mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_conversion_ptr.mlir
    M mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_conversion_sparse2dense.mlir
    M mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_conversion_sparse2sparse.mlir
    M mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_coo_test.mlir
    M mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_dilated_conv_2d_nhwc_hwcf.mlir
    M mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_dot.mlir
    M mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_ds.mlir
    M mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_empty.mlir
    M mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_expand.mlir
    M mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_expand_shape.mlir
    M mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_filter_conv2d.mlir
    M mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_flatten.mlir
    M mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_foreach_slices.mlir
    M mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_generate.mlir
    M mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_index.mlir
    M mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_index_dense.mlir
    M mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_insert_1d.mlir
    M mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_insert_2d.mlir
    M mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_insert_3d.mlir
    M mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_loose.mlir
    M mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_matmul.mlir
    M mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_matmul_slice.mlir
    M mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_matrix_ops.mlir
    M mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_matvec.mlir
    M mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_mttkrp.mlir
    M mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_out_mult_elt.mlir
    M mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_out_reduction.mlir
    M mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_out_simple.mlir
    M mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_pack.mlir
    M mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_pack_d.mlir
    M mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_permute.mlir
    M mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_pooling_nhwc.mlir
    M mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_print.mlir
    M mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_print_3d.mlir
    M mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_quantized_matmul.mlir
    M mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_re_im.mlir
    M mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_reduce_custom.mlir
    M mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_reduce_custom_prod.mlir
    M mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_reduce_custom_sum.mlir
    M mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_reductions.mlir
    M mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_reductions_min.mlir
    M mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_reductions_prod.mlir
    M mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_reshape.mlir
    M mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_rewrite_push_back.mlir
    M mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_rewrite_sort_coo.mlir
    M mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_sampled_matmul.mlir
    M mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_sampled_mm_fusion.mlir
    M mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_scale.mlir
    M mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_scf_nested.mlir
    M mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_select.mlir
    M mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_semiring_select.mlir
    M mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_sign.mlir
    M mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_sorted_coo.mlir
    M mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_spmm.mlir
    M mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_storage.mlir
    M mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_strided_conv_2d_nhwc_hwcf.mlir
    M mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_sum.mlir
    M mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_sum_bf16.mlir
    M mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_sum_c32.mlir
    M mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_sum_f16.mlir
    M mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_tanh.mlir
    M mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_tensor_mul.mlir
    M mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_tensor_ops.mlir
    M mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_transpose.mlir
    M mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_transpose_coo.mlir
    M mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_unary.mlir
    M mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_vector_ops.mlir
    M mlir/test/Integration/Dialect/SparseTensor/GPU/CUDA/sm80-lt/sparse-matmul-2-4-hand.mlir
    M mlir/test/Integration/Dialect/SparseTensor/GPU/CUDA/sm80-lt/sparse-matmul-2-4-lib.mlir
    M mlir/test/Integration/Dialect/SparseTensor/GPU/CUDA/sm80-lt/sparse-matmul-2-4-prune.mlir
    M mlir/test/Integration/Dialect/SparseTensor/GPU/CUDA/sparse-gemm-lib.mlir
    M mlir/test/Integration/Dialect/SparseTensor/GPU/CUDA/sparse-matmul-lib.mlir
    M mlir/test/Integration/Dialect/SparseTensor/GPU/CUDA/sparse-matvec-const.mlir
    M mlir/test/Integration/Dialect/SparseTensor/GPU/CUDA/sparse-matvec-lib.mlir
    M mlir/test/Integration/Dialect/SparseTensor/GPU/CUDA/sparse-matvec.mlir
    M mlir/test/Integration/Dialect/SparseTensor/GPU/CUDA/sparse-mma-2-4-f16.mlir
    M mlir/test/Integration/Dialect/SparseTensor/GPU/CUDA/sparse-sampled-matmul-lib.mlir
    M mlir/test/Integration/Dialect/SparseTensor/GPU/CUDA/sparse-sddmm-lib.mlir
    M mlir/test/Integration/Dialect/Standard/CPU/test-ceil-floor-pos-neg.mlir
    M mlir/test/Integration/Dialect/Standard/CPU/test_subview.mlir
    M mlir/test/Integration/Dialect/Tosa/CPU/test-fully-connected.mlir
    M mlir/test/Integration/Dialect/Tosa/CPU/test-maxpool-dynamic.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/interleave.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/print-str.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/rewrite-narrow-types.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/test-deinterleave.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/Dialect/Vector/GPU/CUDA/test-reduction-distribute.mlir
    M mlir/test/Integration/Dialect/Vector/GPU/CUDA/test-warp-distribute.mlir
    M mlir/test/Integration/GPU/CUDA/TensorCore/sm80/transform-mma-sync-matmul-f16-f16-accum.mlir
    M mlir/test/Integration/GPU/CUDA/TensorCore/sm80/transform-mma-sync-matmul-f32.mlir
    M mlir/test/Integration/GPU/CUDA/TensorCore/wmma-matmul-f16.mlir
    M mlir/test/Integration/GPU/CUDA/TensorCore/wmma-matmul-f32-bare-ptr.mlir
    M mlir/test/Integration/GPU/CUDA/TensorCore/wmma-matmul-f32.mlir
    M mlir/test/Integration/GPU/CUDA/all-reduce-and.mlir
    M mlir/test/Integration/GPU/CUDA/all-reduce-maxsi.mlir
    M mlir/test/Integration/GPU/CUDA/all-reduce-minsi.mlir
    M mlir/test/Integration/GPU/CUDA/all-reduce-op.mlir
    M mlir/test/Integration/GPU/CUDA/all-reduce-or.mlir
    M mlir/test/Integration/GPU/CUDA/all-reduce-region.mlir
    M mlir/test/Integration/GPU/CUDA/all-reduce-xor.mlir
    M mlir/test/Integration/GPU/CUDA/alloc-host-shared.mlir
    M mlir/test/Integration/GPU/CUDA/assert.mlir
    M mlir/test/Integration/GPU/CUDA/async.mlir
    M mlir/test/Integration/GPU/CUDA/gpu-to-cubin.mlir
    M mlir/test/Integration/GPU/CUDA/multiple-all-reduce.mlir
    M mlir/test/Integration/GPU/CUDA/printf.mlir
    M mlir/test/Integration/GPU/CUDA/shuffle.mlir
    M mlir/test/Integration/GPU/CUDA/sm90/cga_cluster.mlir
    M mlir/test/Integration/GPU/CUDA/sm90/gemm_f32_f16_f16_128x128x128.mlir
    M mlir/test/Integration/GPU/CUDA/sm90/gemm_pred_f32_f16_f16_128x128x128.mlir
    M mlir/test/Integration/GPU/CUDA/sm90/tma_load_128x128_stride_noswizzle.mlir
    M mlir/test/Integration/GPU/CUDA/sm90/tma_load_128x64_swizzle128b.mlir
    M mlir/test/Integration/GPU/CUDA/sm90/tma_load_64x64_swizzle128b.mlir
    M mlir/test/Integration/GPU/CUDA/sm90/tma_load_64x8_8x128_noswizzle.mlir
    M mlir/test/Integration/GPU/CUDA/sm90/transform-dialect/tma_load_64x8_8x128_noswizzle-transform.mlir
    M mlir/test/Integration/GPU/CUDA/two-modules.mlir
    M mlir/test/Integration/GPU/ROCM/gpu-to-hsaco.mlir
    M mlir/test/Integration/GPU/ROCM/printf.mlir
    M mlir/test/Integration/GPU/ROCM/two-modules.mlir
    M mlir/test/Integration/GPU/ROCM/vecadd.mlir
    M mlir/test/Integration/GPU/ROCM/vector-transferops.mlir
    M mlir/test/Integration/GPU/SPIRV/double.mlir
    M mlir/test/Integration/GPU/SPIRV/simple_add.mlir
    M mlir/test/Integration/GPU/SYCL/gpu-addf32-to-spirv.mlir
    M mlir/test/Integration/GPU/SYCL/gpu-addi64-to-spirv.mlir
    M mlir/test/Integration/GPU/SYCL/gpu-reluf32-to-spirv.mlir
    M mlir/test/Integration/GPU/Vulkan/addf.mlir
    M mlir/test/Integration/GPU/Vulkan/addf_if.mlir
    M mlir/test/Integration/GPU/Vulkan/addi.mlir
    M mlir/test/Integration/GPU/Vulkan/addi8.mlir
    M mlir/test/Integration/GPU/Vulkan/addui_extended.mlir
    M mlir/test/Integration/GPU/Vulkan/mulf.mlir
    M mlir/test/Integration/GPU/Vulkan/smul_extended.mlir
    M mlir/test/Integration/GPU/Vulkan/subf.mlir
    M mlir/test/Integration/GPU/Vulkan/time.mlir
    M mlir/test/Integration/GPU/Vulkan/umul_extended.mlir
    M mlir/test/Integration/GPU/Vulkan/vector-deinterleave.mlir
    M mlir/test/Integration/GPU/Vulkan/vector-interleave.mlir
    M mlir/test/Integration/GPU/Vulkan/vector-shuffle.mlir
    M mlir/test/Integration/lit.local.cfg
    M mlir/test/lit.cfg.py
    M mlir/test/lit.site.cfg.py.in
    R mlir/test/mlir-cpu-runner/X86Vector/lit.local.cfg
    R mlir/test/mlir-cpu-runner/X86Vector/math-polynomial-approx-avx2.mlir
    R mlir/test/mlir-cpu-runner/async-error.mlir
    R mlir/test/mlir-cpu-runner/async-func.mlir
    R mlir/test/mlir-cpu-runner/async-group.mlir
    R mlir/test/mlir-cpu-runner/async-value.mlir
    R mlir/test/mlir-cpu-runner/async.mlir
    R mlir/test/mlir-cpu-runner/bare-ptr-call-conv.mlir
    R mlir/test/mlir-cpu-runner/copy.mlir
    R mlir/test/mlir-cpu-runner/expand-arith-ops.mlir
    R mlir/test/mlir-cpu-runner/global-constructors.mlir
    R mlir/test/mlir-cpu-runner/global-memref.mlir
    R mlir/test/mlir-cpu-runner/invalid.mlir
    R mlir/test/mlir-cpu-runner/lit.local.cfg
    R mlir/test/mlir-cpu-runner/math-polynomial-approx.mlir
    R mlir/test/mlir-cpu-runner/memref-reinterpret-cast.mlir
    R mlir/test/mlir-cpu-runner/memref-reshape.mlir
    R mlir/test/mlir-cpu-runner/sgemm-naive-codegen.mlir
    R mlir/test/mlir-cpu-runner/simple.mlir
    R mlir/test/mlir-cpu-runner/test-expand-math-approx.mlir
    R mlir/test/mlir-cpu-runner/unranked-memref.mlir
    R mlir/test/mlir-cpu-runner/utils.mlir
    R mlir/test/mlir-cpu-runner/verify-entry-point-result.mlir
    R mlir/test/mlir-cpu-runner/verify-flags.mlir
    R mlir/test/mlir-cpu-runner/x86-varargs.mlir
    A mlir/test/mlir-runner/X86Vector/lit.local.cfg
    A mlir/test/mlir-runner/X86Vector/math-polynomial-approx-avx2.mlir
    A mlir/test/mlir-runner/async-error.mlir
    A mlir/test/mlir-runner/async-func.mlir
    A mlir/test/mlir-runner/async-group.mlir
    A mlir/test/mlir-runner/async-value.mlir
    A mlir/test/mlir-runner/async.mlir
    A mlir/test/mlir-runner/bare-ptr-call-conv.mlir
    A mlir/test/mlir-runner/copy.mlir
    A mlir/test/mlir-runner/expand-arith-ops.mlir
    A mlir/test/mlir-runner/global-constructors.mlir
    A mlir/test/mlir-runner/global-memref.mlir
    A mlir/test/mlir-runner/invalid.mlir
    A mlir/test/mlir-runner/lit.local.cfg
    A mlir/test/mlir-runner/math-polynomial-approx.mlir
    A mlir/test/mlir-runner/memref-reinterpret-cast.mlir
    A mlir/test/mlir-runner/memref-reshape.mlir
    A mlir/test/mlir-runner/sgemm-naive-codegen.mlir
    A mlir/test/mlir-runner/simple.mlir
    A mlir/test/mlir-runner/test-expand-math-approx.mlir
    A mlir/test/mlir-runner/unranked-memref.mlir
    A mlir/test/mlir-runner/utils.mlir
    A mlir/test/mlir-runner/verify-entry-point-result.mlir
    A mlir/test/mlir-runner/verify-flags.mlir
    A mlir/test/mlir-runner/x86-varargs.mlir
    M mlir/tools/CMakeLists.txt
    R mlir/tools/mlir-cpu-runner/CMakeLists.txt
    R mlir/tools/mlir-cpu-runner/mlir-cpu-runner.cpp
    A mlir/tools/mlir-runner/CMakeLists.txt
    A mlir/tools/mlir-runner/mlir-runner.cpp

  Log Message:
  -----------
  [mlir] Rename mlir-cpu-runner to mlir-runner (#123776)

With the removal of mlir-vulkan-runner (as part of #73457) in
e7e3c45bc70904e24e2b3221ac8521e67eb84668, mlir-cpu-runner is now the
only runner for all CPU and GPU targets, and the "cpu" name has been
misleading for some time already. This commit renames it to mlir-runner.


  Commit: a5cc897cdedfdca018a83fac5734ebe086acb817
      https://github.com/llvm/llvm-project/commit/a5cc897cdedfdca018a83fac5734ebe086acb817
  Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
  Date:   2025-01-24 (Fri, 24 Jan 2025)

  Changed paths:
    M llvm/utils/gn/secondary/llvm/lib/Target/AMDGPU/BUILD.gn

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


  Commit: 6292a808b3524d9ba6f4ce55bc5b9e547b088dd8
      https://github.com/llvm/llvm-project/commit/6292a808b3524d9ba6f4ce55bc5b9e547b088dd8
  Author: Jeremy Morse <jeremy.morse at sony.com>
  Date:   2025-01-24 (Fri, 24 Jan 2025)

  Changed paths:
    M clang/lib/CodeGen/CGException.cpp
    M clang/lib/CodeGen/MicrosoftCXXABI.cpp
    M llvm/include/llvm/IR/BasicBlock.h
    M llvm/include/llvm/Transforms/Utils/Instrumentation.h
    M llvm/lib/Analysis/Loads.cpp
    M llvm/lib/Analysis/LoopNestAnalysis.cpp
    M llvm/lib/Analysis/MustExecute.cpp
    M llvm/lib/Analysis/ValueTracking.cpp
    M llvm/lib/CodeGen/AsmPrinter/WinException.cpp
    M llvm/lib/CodeGen/GlobalISel/IRTranslator.cpp
    M llvm/lib/CodeGen/GlobalMerge.cpp
    M llvm/lib/CodeGen/MachineFunction.cpp
    M llvm/lib/CodeGen/SelectOptimize.cpp
    M llvm/lib/CodeGen/SelectionDAG/FunctionLoweringInfo.cpp
    M llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp
    M llvm/lib/CodeGen/SelectionDAG/SelectionDAGISel.cpp
    M llvm/lib/CodeGen/WasmEHPrepare.cpp
    M llvm/lib/CodeGen/WinEHPrepare.cpp
    M llvm/lib/IR/EHPersonalities.cpp
    M llvm/lib/IR/Instructions.cpp
    M llvm/lib/IR/Verifier.cpp
    M llvm/lib/Target/BPF/BPFAdjustOpt.cpp
    M llvm/lib/Target/Hexagon/HexagonLoopIdiomRecognition.cpp
    M llvm/lib/Target/WebAssembly/WebAssemblyLowerEmscriptenEHSjLj.cpp
    M llvm/lib/Target/X86/X86WinEHState.cpp
    M llvm/lib/Transforms/Coroutines/MaterializationUtils.cpp
    M llvm/lib/Transforms/IPO/IROutliner.cpp
    M llvm/lib/Transforms/IPO/PartialInlining.cpp
    M llvm/lib/Transforms/Instrumentation/AddressSanitizer.cpp
    M llvm/lib/Transforms/Instrumentation/MemorySanitizer.cpp
    M llvm/lib/Transforms/Instrumentation/NumericalStabilitySanitizer.cpp
    M llvm/lib/Transforms/Instrumentation/PGOInstrumentation.cpp
    M llvm/lib/Transforms/Instrumentation/PGOMemOPSizeOpt.cpp
    M llvm/lib/Transforms/Instrumentation/ThreadSanitizer.cpp
    M llvm/lib/Transforms/ObjCARC/ObjCARC.cpp
    M llvm/lib/Transforms/ObjCARC/ObjCARCContract.cpp
    M llvm/lib/Transforms/ObjCARC/ObjCARCOpts.cpp
    M llvm/lib/Transforms/Scalar/GVN.cpp
    M llvm/lib/Transforms/Scalar/GVNSink.cpp
    M llvm/lib/Transforms/Scalar/LICM.cpp
    M llvm/lib/Transforms/Scalar/LoopIdiomRecognize.cpp
    M llvm/lib/Transforms/Scalar/LoopInterchange.cpp
    M llvm/lib/Transforms/Scalar/LoopSimplifyCFG.cpp
    M llvm/lib/Transforms/Scalar/SCCP.cpp
    M llvm/lib/Transforms/Utils/BreakCriticalEdges.cpp
    M llvm/lib/Transforms/Utils/CodeExtractor.cpp
    M llvm/lib/Transforms/Utils/InlineFunction.cpp
    M llvm/lib/Transforms/Utils/Local.cpp
    M llvm/lib/Transforms/Utils/LoopSimplify.cpp
    M llvm/lib/Transforms/Utils/LowerMemIntrinsics.cpp
    M llvm/lib/Transforms/Utils/MoveAutoInit.cpp
    M llvm/lib/Transforms/Utils/SSAUpdater.cpp
    M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
    M llvm/lib/Transforms/Vectorize/VPlan.cpp
    M llvm/tools/llvm-reduce/deltas/ReduceBasicBlocks.cpp
    M llvm/unittests/Analysis/MemorySSATest.cpp
    M llvm/unittests/Analysis/ProfileSummaryInfoTest.cpp
    M llvm/unittests/Frontend/OpenMPIRBuilderTest.cpp
    M llvm/unittests/IR/DebugInfoTest.cpp
    M llvm/unittests/IR/InstructionsTest.cpp
    M llvm/unittests/Transforms/Scalar/LICMTest.cpp
    M polly/lib/CodeGen/BlockGenerators.cpp
    M polly/lib/CodeGen/LoopGenerators.cpp
    M polly/lib/Transform/MaximalStaticExpansion.cpp

  Log Message:
  -----------
  [NFC][DebugInfo] Use iterator-flavour getFirstNonPHI at many call-sites (#123737)

As part of the "RemoveDIs" project, BasicBlock::iterator now carries a
debug-info bit that's needed when getFirstNonPHI and similar feed into
instruction insertion positions. Call-sites where that's necessary were
updated a year ago; but to ensure some type safety however, we'd like to
have all calls to getFirstNonPHI use the iterator-returning version.

This patch changes a bunch of call-sites calling getFirstNonPHI to use
getFirstNonPHIIt, which returns an iterator. All these call sites are
where it's obviously safe to fetch the iterator then dereference it. A
follow-up patch will contain less-obviously-safe changes.

We'll eventually deprecate and remove the instruction-pointer
getFirstNonPHI, but not before adding concise documentation of what
considerations are needed (very few).

---------

Co-authored-by: Stephen Tozer <Melamoto at gmail.com>


  Commit: 02c6002d1cd2dabe4b98368f91e7b4395e5ab11d
      https://github.com/llvm/llvm-project/commit/02c6002d1cd2dabe4b98368f91e7b4395e5ab11d
  Author: David Spickett <david.spickett at linaro.org>
  Date:   2025-01-24 (Fri, 24 Jan 2025)

  Changed paths:
    M lldb/source/Plugins/Process/Linux/NativeRegisterContextLinux_arm64.cpp
    M lldb/source/Plugins/Process/Linux/NativeRegisterContextLinux_arm64.h
    M lldb/source/Plugins/Process/Utility/RegisterContextPOSIX_arm64.cpp
    M lldb/source/Plugins/Process/Utility/RegisterContextPOSIX_arm64.h
    M lldb/source/Plugins/Process/Utility/RegisterInfoPOSIX_arm64.cpp
    M lldb/source/Plugins/Process/Utility/RegisterInfoPOSIX_arm64.h
    M lldb/test/API/linux/aarch64/gcs/TestAArch64LinuxGCS.py
    M lldb/test/API/linux/aarch64/gcs/main.c

  Log Message:
  -----------
  [lldb][AArch64] Add Guarded Control Stack registers (#123720)

The Guarded Control Stack extension implements a shadow stack and the
Linux kernel provides access to 3 registers for it via ptrace.

struct user_gcs {
	__u64 features_enabled;
	__u64 features_locked;
	__u64 gcspr_el0;
};

This commit adds support for reading those from a live process.

The first 2 are pseudo registers based on the real control register and
the 3rd is a real register. This is the stack pointer for the guarded
stack.

I have added a "gcs_" prefix to the "features" registers so that they
have a clear name when shown individually. Also this means they will tab
complete from "gcs", and be next to gcspr_el0 in any sorted lists of
registers.

Guarded Control Stack Registers:
  gcs_features_enabled = 0x0000000000000000
  gcs_features_locked = 0x0000000000000000
  gcspr_el0 = 0x0000000000000000

Testing is more of the usual, where possible I'm writing a register then
doing something in the program to confirm the value was actually sent to
ptrace.


  Commit: 11b040192640ef3b1f481124c440f464ed6ec86a
      https://github.com/llvm/llvm-project/commit/11b040192640ef3b1f481124c440f464ed6ec86a
  Author: Aaditya <115080342+easyonaadit at users.noreply.github.com>
  Date:   2025-01-24 (Fri, 24 Jan 2025)

  Changed paths:
    M llvm/lib/Target/AMDGPU/SIFrameLowering.cpp
    M llvm/lib/Target/AMDGPU/SIRegisterInfo.cpp
    M llvm/test/CodeGen/AMDGPU/GlobalISel/assert-align.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/call-outgoing-stack-args.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/dynamic-alloca-uniform.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/localizer.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/non-entry-alloca.ll
    M llvm/test/CodeGen/AMDGPU/abi-attribute-hints-undefined-behavior.ll
    M llvm/test/CodeGen/AMDGPU/amdgpu-simplify-libcall-pow-codegen.ll
    M llvm/test/CodeGen/AMDGPU/bf16.ll
    M llvm/test/CodeGen/AMDGPU/buffer-fat-pointers-contents-legalization.ll
    M llvm/test/CodeGen/AMDGPU/call-args-inreg.ll
    M llvm/test/CodeGen/AMDGPU/call-argument-types.ll
    M llvm/test/CodeGen/AMDGPU/callee-frame-setup.ll
    M llvm/test/CodeGen/AMDGPU/callee-special-input-vgprs-packed.ll
    M llvm/test/CodeGen/AMDGPU/callee-special-input-vgprs.ll
    M llvm/test/CodeGen/AMDGPU/cross-block-use-is-not-abi-copy.ll
    M llvm/test/CodeGen/AMDGPU/dwarf-multi-register-use-crash.ll
    M llvm/test/CodeGen/AMDGPU/dynamic_stackalloc.ll
    M llvm/test/CodeGen/AMDGPU/eliminate-frame-index-v-add-co-u32.mir
    M llvm/test/CodeGen/AMDGPU/eliminate-frame-index-v-add-u32.mir
    M llvm/test/CodeGen/AMDGPU/fix-frame-reg-in-custom-csr-spills.ll
    M llvm/test/CodeGen/AMDGPU/frame-setup-without-sgpr-to-vgpr-spills.ll
    M llvm/test/CodeGen/AMDGPU/function-args-inreg.ll
    M llvm/test/CodeGen/AMDGPU/gfx-call-non-gfx-func.ll
    M llvm/test/CodeGen/AMDGPU/gfx-callable-argument-types.ll
    M llvm/test/CodeGen/AMDGPU/gfx-callable-preserved-registers.ll
    M llvm/test/CodeGen/AMDGPU/gfx-callable-return-types.ll
    M llvm/test/CodeGen/AMDGPU/global-alias.ll
    M llvm/test/CodeGen/AMDGPU/indirect-call.ll
    M llvm/test/CodeGen/AMDGPU/insert-delay-alu-bug.ll
    M llvm/test/CodeGen/AMDGPU/insert-waitcnts-crash.ll
    M llvm/test/CodeGen/AMDGPU/local-stack-alloc-block-sp-reference.ll
    M llvm/test/CodeGen/AMDGPU/materialize-frame-index-sgpr.gfx10.ll
    M llvm/test/CodeGen/AMDGPU/mul24-pass-ordering.ll
    M llvm/test/CodeGen/AMDGPU/need-fp-from-vgpr-spills.ll
    M llvm/test/CodeGen/AMDGPU/nested-calls.ll
    M llvm/test/CodeGen/AMDGPU/no-source-locations-in-prologue.ll
    M llvm/test/CodeGen/AMDGPU/non-entry-alloca.ll
    M llvm/test/CodeGen/AMDGPU/pei-scavenge-sgpr-carry-out.mir
    M llvm/test/CodeGen/AMDGPU/pei-scavenge-sgpr-gfx9.mir
    M llvm/test/CodeGen/AMDGPU/pei-scavenge-sgpr.mir
    M llvm/test/CodeGen/AMDGPU/pei-scavenge-vgpr-spill.mir
    M llvm/test/CodeGen/AMDGPU/preserve-wwm-copy-dst-reg.ll
    M llvm/test/CodeGen/AMDGPU/schedule-amdgpu-trackers.ll
    M llvm/test/CodeGen/AMDGPU/sgpr-spill-overlap-wwm-reserve.mir
    M llvm/test/CodeGen/AMDGPU/sgpr-spills-split-regalloc.ll
    M llvm/test/CodeGen/AMDGPU/sibling-call.ll
    M llvm/test/CodeGen/AMDGPU/stack-realign.ll
    M llvm/test/CodeGen/AMDGPU/stacksave_stackrestore.ll
    M llvm/test/CodeGen/AMDGPU/strictfp_f16_abi_promote.ll
    M llvm/test/CodeGen/AMDGPU/tail-call-inreg-arguments.error.ll
    M llvm/test/CodeGen/AMDGPU/unstructured-cfg-def-use-issue.ll
    M llvm/test/CodeGen/AMDGPU/use_restore_frame_reg.mir
    M llvm/test/CodeGen/AMDGPU/vgpr-tuple-allocation.ll
    M llvm/test/CodeGen/AMDGPU/wave32.ll
    M llvm/test/CodeGen/AMDGPU/whole-wave-register-copy.ll
    M llvm/test/CodeGen/AMDGPU/whole-wave-register-spill.ll
    M llvm/test/CodeGen/AMDGPU/wwm-reserved-spill.ll
    M llvm/test/tools/UpdateTestChecks/update_llc_test_checks/Inputs/amdgpu_generated_funcs.ll.generated.expected
    M llvm/test/tools/UpdateTestChecks/update_llc_test_checks/Inputs/amdgpu_generated_funcs.ll.nogenerated.expected

  Log Message:
  -----------
  [AMDGPU] Restore SP from saved-FP or saved-BP (#124007)

Currently, the AMDGPU backend bumps the Stack Pointer 
by fixed size offsets in the prolog of device functions, and 
restores it by the same amount in the epilog.
Prolog:
sp += frameSize

Epilog:
sp -= frameSize

If a function has dynamic stack realignment,
Prolog:
sp += frameSize + max_alignment

Epilog:
sp -= frameSize + max_alignment

These calculations are not optimal in case of dynamic 
stack realignment, and completely fail in case of 
dynamic stack readjustment.
This patch uses the saved Frame Pointer to restore SP. 
Prolog:
fp = sp
sp += frameSize

Epilog:
sp = fp

In case of dynamic stack realignment, SP is restored from 
the saved Base Pointer. 
Prolog:
fp = sp + (max_alignment - 1)
fp = fp & (-max_alignment)
bp = sp
sp += frameSize + max_alignment

Epilog:
sp = bp

(Note: The presence of BP has been enforced in case of any 
dynamic stack realignment.)

---------

Co-authored-by: Pravin Jagtap <Pravin.Jagtap at amd.com>
Co-authored-by: Matt Arsenault <arsenm2 at gmail.com>


  Commit: 970094d50b08e694c2302f7ee39b1c33d08f2405
      https://github.com/llvm/llvm-project/commit/970094d50b08e694c2302f7ee39b1c33d08f2405
  Author: Lou <lou.knauer at sipearl.com>
  Date:   2025-01-24 (Fri, 24 Jan 2025)

  Changed paths:
    A llvm/test/tools/llvm-opt-report/Inputs/scalable.c
    A llvm/test/tools/llvm-opt-report/Inputs/scalable.yaml
    A llvm/test/tools/llvm-opt-report/scalabe.test
    M llvm/tools/llvm-opt-report/OptReport.cpp

  Log Message:
  -----------
  [llvm-opt-report] Show scalable vectorization factors (#123367)

Scalable vectorization factors are printed as "vscale x VF" where VF is
the known minimum number of elements, a integer. Currently,
llvm-opt-report always expects a integer (like for vectorization with
fixed-sized vectors), and does not display any vectorization factor in
the output (just 'V', but without a number).

This patch adds support for scalable vectorization factors and prints
them as "VNx<VF>", so for example "VNx4". The "Nx" is used to
differentiate between fixed-sized and scalable factors, and is
consistent with the way LLVM mangles scalable vectors in other places.


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

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

  Log Message:
  -----------
  [GlobalMerge][NFC] Skip sorting by profitability when it is not needed (#124146)

We were previously sorting by profitability even if we were choosing to
merge all globals together, which is not impacted by UsedGlobalSet
order.

We can also remove iteration of UsedGlobalSets in reverse order in both
cases. In the first csae, the order does not matter. In the second case,
we just sort by the order we need instead of sorting in the opposite
direction and calling reverse.

This change should only be an improvement on compile time. I have not
measured it, but I think it would never make things worse.


  Commit: 77c780d64b950d6850d5ec1ee06cd0c21b38b89e
      https://github.com/llvm/llvm-project/commit/77c780d64b950d6850d5ec1ee06cd0c21b38b89e
  Author: Benjamin Kramer <benny.kra at googlemail.com>
  Date:   2025-01-24 (Fri, 24 Jan 2025)

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

  Log Message:
  -----------
  [bazel] Port eb206e9ea84eff0a0596fed2de8316d924f946d1

Leave around an alias so users can move at their own pace.


  Commit: acde3f722ff3766f6f793884108d342b78623fe4
      https://github.com/llvm/llvm-project/commit/acde3f722ff3766f6f793884108d342b78623fe4
  Author: Peter Hawkins <phawkins at google.com>
  Date:   2025-01-24 (Fri, 24 Jan 2025)

  Changed paths:
    M mlir/lib/Bindings/Python/IRCore.cpp
    M mlir/lib/Bindings/Python/IRModule.h
    M mlir/python/mlir/dialects/_ods_common.py
    M mlir/test/mlir-tblgen/op-python-bindings.td
    M mlir/tools/mlir-tblgen/OpPythonBindingGen.cpp

  Log Message:
  -----------
  [mlir:python] Compute get_op_result_or_value in PyOpView's constructor. (#123953)

This logic is in the critical path for constructing an operation from
Python. It is faster to compute this in C++ than it is in Python, and it
is a minor change to do this.

This change also alters the API contract of
_ods_common.get_op_results_or_values to avoid calling
get_op_result_or_value on each element of a sequence, since the C++ code
will now do this.

Most of the diff here is simply reordering the code in IRCore.cpp.


  Commit: f2b253b9613a858ae3dd5bf5ccbba87b64941688
      https://github.com/llvm/llvm-project/commit/f2b253b9613a858ae3dd5bf5ccbba87b64941688
  Author: Emma Pilkington <emma.pilkington95 at gmail.com>
  Date:   2025-01-24 (Fri, 24 Jan 2025)

  Changed paths:
    M llvm/lib/CodeGen/SelectionDAG/InstrEmitter.cpp
    A llvm/test/DebugInfo/AMDGPU/debug-loc-copy.ll

  Log Message:
  -----------
  [SelectionDAG] Fix an incorrect DebugLoc on a COPY (#122963)

Fixes: SWDEV-502134


  Commit: 2068b1ba031e258a6448bea372005d19692c802a
      https://github.com/llvm/llvm-project/commit/2068b1ba031e258a6448bea372005d19692c802a
  Author: Nikita Popov <npopov at redhat.com>
  Date:   2025-01-24 (Fri, 24 Jan 2025)

  Changed paths:
    M llvm/lib/Target/X86/X86CallingConv.cpp
    M llvm/lib/Target/X86/X86CallingConv.td
    M llvm/lib/Target/X86/X86ISelLowering.h
    M llvm/lib/Target/X86/X86ISelLoweringCall.cpp
    M llvm/test/CodeGen/X86/addcarry.ll
    M llvm/test/CodeGen/X86/apx/flags-copy-lowering.ll
    M llvm/test/CodeGen/X86/avgflooru-i128.ll
    M llvm/test/CodeGen/X86/fmuladd-soft-float.ll
    M llvm/test/CodeGen/X86/i128-abi.ll
    M llvm/test/CodeGen/X86/sadd_sat_vec.ll
    M llvm/test/CodeGen/X86/ssub_sat_vec.ll
    M llvm/test/CodeGen/X86/subcarry.ll
    M llvm/test/CodeGen/X86/uadd_sat_vec.ll
    M llvm/test/CodeGen/X86/usub_sat_vec.ll

  Log Message:
  -----------
  [X86] Fix ABI for passing after i128 (#124134)

If we're passing an i128 value and we no longer have enough argument
registers (only r9 unallocated), the value gets passed via the stack.
However, r9 is still allocated as a shadow register, which means that a
following i64 argument will not use it. This doesn't match the x86-64
psABI.

Fix this by making i128 arguments as requiring consecutive registers,
and then adding a custom CC lowering that will allocate both parts of
the i128 at the same time, either to register or to stack, without
reserving a shadow register.

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


  Commit: 9cf52fe1f94fdcd8e27c76f7d33a80eeb2075833
      https://github.com/llvm/llvm-project/commit/9cf52fe1f94fdcd8e27c76f7d33a80eeb2075833
  Author: Tom Eccles <tom.eccles at arm.com>
  Date:   2025-01-24 (Fri, 24 Jan 2025)

  Changed paths:
    M flang/test/Lower/OpenMP/derived-type-allocatable.f90

  Log Message:
  -----------
  [flang][OpenMP][NFC] test the current private dealloc runtime calls (#124017)

It looks like in most cases we still don't make calls to deallocate
allocatable members of derived types which have been privatized.

This is just intended to add a test for the one case where we do, to
make sure this doesn't regress with my upcoming changes.


  Commit: c546b5317c518987a5f45dd4c4d25321a955c758
      https://github.com/llvm/llvm-project/commit/c546b5317c518987a5f45dd4c4d25321a955c758
  Author: DianQK <dianqk at dianqk.net>
  Date:   2025-01-24 (Fri, 24 Jan 2025)

  Changed paths:
    M llvm/lib/Analysis/ValueTracking.cpp
    M llvm/test/Analysis/ValueTracking/implied-condition-samesign.ll

  Log Message:
  -----------
  [ValueTracking] Pass changed predicate `SignedLPred` to `isImpliedByMatchingCmp` (#124271)

Fixes #124267.

Since we are using the new predicate, we should also update the
parameters of `isImpliedByMatchingCmp`.


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

  Changed paths:
    M llvm/lib/Target/X86/X86TargetTransformInfo.cpp
    M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
    M llvm/test/Transforms/SLPVectorizer/X86/arith-fshl-rot.ll
    M llvm/test/Transforms/SLPVectorizer/X86/arith-fshr-rot.ll

  Log Message:
  -----------
  [SLP] getVectorCallCosts - don't provide scalar argument data for vector IntrinsicCostAttributes (#124254)

getVectorCallCosts determines the cost of a vector intrinsic, based off
an existing scalar intrinsic call - but we were including the scalar
argument data to the IntrinsicCostAttributes, which meant that not only
was the cost calculation not type-only based, it was making incorrect
assumptions about constant values etc.

This also exposed an issue that x86 relied on fallback calculations for
funnel shift costs - this is great when we have the argument data as
that improves the accuracy of uniform shift amounts etc., but meant that
type-only costs would default to Cost=2 for all custom lowered funnel
shifts, which was far too cheap.

This is the reverse of #124129 where we weren't including argument data
when we could.

Fixes #63980


  Commit: 6c11b7e689c89ff46e4472810dd555434eab1010
      https://github.com/llvm/llvm-project/commit/6c11b7e689c89ff46e4472810dd555434eab1010
  Author: Jeffrey Byrnes <jeffrey.byrnes at amd.com>
  Date:   2025-01-24 (Fri, 24 Jan 2025)

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

  Log Message:
  -----------
  [CodeGen] NFC: Change order of checks in MachineInstr->isDead() (#124207)

[[Change-Id:
Ic349022bb99ef91f5396e462ade0366bc772ae02](https://github.com/llvm/llvm-project/pull/123531)](https://github.com/llvm/llvm-project/pull/123531)
moved isDead() from DeadMachineInstrElim to MachineInstr . In the
process of moving, I reordered the checks to improve chances of early
exit, but this has caused a slight increase in compile time.

This PR reverts back to the original order of checks.


  Commit: a94226f9e6f5be4d6978134e7813f22b0510f3d4
      https://github.com/llvm/llvm-project/commit/a94226f9e6f5be4d6978134e7813f22b0510f3d4
  Author: Eric Astor <epastor at google.com>
  Date:   2025-01-24 (Fri, 24 Jan 2025)

  Changed paths:
    M llvm/lib/MC/MCParser/COFFMasmParser.cpp
    M llvm/lib/MC/MCParser/MasmParser.cpp
    A llvm/test/tools/llvm-ml/bare_proc_error.asm
    A llvm/test/tools/llvm-ml/no_section_error.asm

  Log Message:
  -----------
  [llvm-ml] Remove unsafe getCurrentSegmentOnly() call (#123355)

This call was made unsafe recently, but was not fixed in
db48f1a1764023f8efeb055e343b967d1eb37d19 (the commit that fixed the
parallel code in AsmParser.cpp).

Fixes #123189


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

  Changed paths:
    M llvm/lib/Target/AMDGPU/SIInstructions.td
    M llvm/test/CodeGen/AMDGPU/GlobalISel/inst-select-fcanonicalize.mir
    M llvm/test/CodeGen/AMDGPU/fcanonicalize.f16.ll

  Log Message:
  -----------
  [AMDGPU][True16][CodeGen] true16 codegen pattern for f16 canonicalize (#122000)

true16 codegen pattern for f16 canonicalize


  Commit: 5d2393a222c751723b0906485bf90a28dd4e564b
      https://github.com/llvm/llvm-project/commit/5d2393a222c751723b0906485bf90a28dd4e564b
  Author: Kazu Hirata <kazu at google.com>
  Date:   2025-01-24 (Fri, 24 Jan 2025)

  Changed paths:
    M llvm/lib/Transforms/InstCombine/InstCombineVectorOps.cpp

  Log Message:
  -----------
  [InstCombine] Avoid repeated hash lookups (NFC) (#124243)


  Commit: 37bf0a10fb4cee10f4acbb7da453e7c19c8ee599
      https://github.com/llvm/llvm-project/commit/37bf0a10fb4cee10f4acbb7da453e7c19c8ee599
  Author: Nikita Popov <npopov at redhat.com>
  Date:   2025-01-24 (Fri, 24 Jan 2025)

  Changed paths:
    A llvm/test/Analysis/ScalarEvolution/pr123550.ll

  Log Message:
  -----------
  [SCEV] Add test for #123550 (NFC)


  Commit: 256f40d0e6b2beb0e951b0f5f836847223c5695c
      https://github.com/llvm/llvm-project/commit/256f40d0e6b2beb0e951b0f5f836847223c5695c
  Author: Joseph Huber <huberjn at outlook.com>
  Date:   2025-01-24 (Fri, 24 Jan 2025)

  Changed paths:
    M libc/src/stdlib/gpu/free.cpp
    M libc/src/stdlib/gpu/malloc.cpp
    M libc/test/src/stdlib/CMakeLists.txt

  Log Message:
  -----------
  [libc] Use the NVIDIA device allocator for GPU malloc (#124277)

Summary:
This is a blocker on another patch in the OpenMP runtime. The problem is
that NVIDIA truly doesn't handle RPC-based allocations very well. It
cannot reliably update the MMU while a kernel is running and it will
usually deadlock if called from a separate thread due to internal use of
TLS.

This patch just removes the definition of `malloc` and `free` for NVPTX.
The result here is that they will be undefined, which is the cue for the
`nvlink` linker to define them for us. So, as far as `libc` is concerned
it still implements malloc.


  Commit: 7842374103b26933d71a8fe354cd4d8715d55b1c
      https://github.com/llvm/llvm-project/commit/7842374103b26933d71a8fe354cd4d8715d55b1c
  Author: Rahul Joshi <rjoshi at nvidia.com>
  Date:   2025-01-24 (Fri, 24 Jan 2025)

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

  Log Message:
  -----------
  [NFC][TableGen] Emit nested namespaces in InstrInfoEmitter (#124210)

- Emit C++17 nested namespaces in InstrInfoEmitter.


  Commit: cccb55491223cd410cb2f83973377dd75757cb60
      https://github.com/llvm/llvm-project/commit/cccb55491223cd410cb2f83973377dd75757cb60
  Author: Brad Smith <brad at comstyle.com>
  Date:   2025-01-24 (Fri, 24 Jan 2025)

  Changed paths:
    M lldb/source/Host/common/PseudoTerminal.cpp

  Log Message:
  -----------
  [lldb] Remove unused posix_openpt function definition for Android (#124257)

This was for the wrapper function that was in
source/Host/android/LibcGlue.cpp. Android added
support 10+ years ago.


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

  Changed paths:
    M flang/include/flang/Common/api-attrs.h
    M flang/runtime/stop.cpp

  Log Message:
  -----------
  [flang][runtime] Disable optimization for traceback related functions. (#124172)

The backtrace may at least print the backtrace name in the call stack,
but this does not happen with the release builds of the runtime.
Surprisingly, specifying "no-omit-frame-pointer" did not work
with GCC, so I decided to fall back to -O0 for these functions.


  Commit: a976036a100b7dd459b6cabac96159875fcd513d
      https://github.com/llvm/llvm-project/commit/a976036a100b7dd459b6cabac96159875fcd513d
  Author: lntue <lntue at google.com>
  Date:   2025-01-24 (Fri, 24 Jan 2025)

  Changed paths:
    M libc/test/src/math/exhaustive/exhaustive_test.h

  Log Message:
  -----------
  [libc][NFC] Remove extra ; in exhaustive_test.h. (#124216)

These cause warnings when running check-libc.


  Commit: ba6774f997ee28157b0a3b8816cc76b94ed1da17
      https://github.com/llvm/llvm-project/commit/ba6774f997ee28157b0a3b8816cc76b94ed1da17
  Author: Adam Siemieniuk <adam.siemieniuk at intel.com>
  Date:   2025-01-24 (Fri, 24 Jan 2025)

  Changed paths:
    M mlir/lib/Dialect/XeGPU/IR/XeGPUOps.cpp

  Log Message:
  -----------
  [mlir][xegpu] Fix verifier diagnostic recursion (#124148)

Uses global diagnostic message in operation verifier to avoid infinite
recursion on a warning.

Emitting diagnostics through the operation under verification creates a
loop where verifier runs again before printing the message.


  Commit: d88293d8a2005b19f89a86252c60102cec6c9b01
      https://github.com/llvm/llvm-project/commit/d88293d8a2005b19f89a86252c60102cec6c9b01
  Author: Andrzej Warzyński <andrzej.warzynski at arm.com>
  Date:   2025-01-24 (Fri, 24 Jan 2025)

  Changed paths:
    M mlir/lib/Dialect/Vector/Transforms/VectorTransforms.cpp
    M mlir/test/Dialect/Vector/vector-break-down-bitcast.mlir

  Log Message:
  -----------
  [mlir][vector] Disable `BreakDownVectorBitCast` for scalable vectors (#122725)

`BreakDownVectorBitCast` leverages
  * `vector.extract_strided_slices` + `vector.insert_strided_slices`

As these Ops do not support extracting scalable sub-vectors (i.e.
extracting/inserting a fraction of a scalable dim), it's best to bail
out.


  Commit: 474f5d2aefb44430b89ed72774a3c1d26a0adfb1
      https://github.com/llvm/llvm-project/commit/474f5d2aefb44430b89ed72774a3c1d26a0adfb1
  Author: Alexandros Lamprineas <alexandros.lamprineas at arm.com>
  Date:   2025-01-24 (Fri, 24 Jan 2025)

  Changed paths:
    M clang/test/CodeGen/AArch64/cpu-supports-target.c
    M clang/test/CodeGen/AArch64/cpu-supports.c
    M clang/test/CodeGen/AArch64/fmv-dependencies.c
    M clang/test/CodeGen/AArch64/fmv-features.c
    M clang/test/CodeGen/AArch64/fmv-priority.c
    M clang/test/CodeGen/attr-target-clones-aarch64.c
    M clang/test/CodeGen/attr-target-version.c
    M clang/test/CodeGenCXX/attr-target-clones-aarch64.cpp
    M clang/test/Sema/attr-target-version.c
    M compiler-rt/lib/builtins/cpu_model/AArch64CPUFeatures.inc
    M compiler-rt/lib/builtins/cpu_model/aarch64/fmv/apple.inc
    M compiler-rt/lib/builtins/cpu_model/aarch64/fmv/mrs.inc
    M llvm/include/llvm/TargetParser/AArch64CPUFeatures.inc
    M llvm/lib/Target/AArch64/AArch64FMV.td

  Log Message:
  -----------
  [FMV][AArch64] Remove features predres and ls64. (#124266)

These cannot be detected by reading the ID_AA64ISAR1_EL1 register since
their corresponding bitfields are hidden. Additionally the instructions
that these features enable are unusable from EL0.

ACLE: https://github.com/ARM-software/acle/pull/382


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

  Changed paths:
    M llvm/lib/Support/AArch64BuildAttributes.cpp

  Log Message:
  -----------
  [Support] Fix namespace after #123990

https://llvm.org/docs/CodingStandards.html#use-namespace-qualifiers-to-implement-previously-declared-functions


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

  Changed paths:
    M lld/ELF/Symbols.cpp

  Log Message:
  -----------
  [ELF] Symbol::extract : remove unneeded file->lazy check


  Commit: 134401deea5e86d646bb99fab39c182cfa8e5292
      https://github.com/llvm/llvm-project/commit/134401deea5e86d646bb99fab39c182cfa8e5292
  Author: Joseph Huber <huberjn at outlook.com>
  Date:   2025-01-24 (Fri, 24 Jan 2025)

  Changed paths:
    M offload/plugins-nextgen/amdgpu/src/rtl.cpp
    M offload/plugins-nextgen/common/include/RPC.h
    M offload/plugins-nextgen/common/src/PluginInterface.cpp
    M offload/plugins-nextgen/common/src/RPC.cpp
    M offload/plugins-nextgen/cuda/dynamic_cuda/cuda.cpp
    M offload/plugins-nextgen/cuda/dynamic_cuda/cuda.h
    M offload/plugins-nextgen/cuda/src/rtl.cpp
    A offload/test/libc/server.c

  Log Message:
  -----------
  [Offload] Move RPC server handling to a dedicated thread (#112988)

Summary:
Handling the RPC server requires running through list of jobs that the
device has requested to be done. Currently this is handled by the thread
that does the waiting for the kernel to finish. However, this is not
sound on NVIDIA architectures and only works for async launches in the
OpenMP model that uses helper threads.

However, we also don't want to have this thread doing work
unnnecessarily. For this reason we track the execution of kernels and
cause the thread to sleep via a condition variable (usually backed by
some kind of futex or other intelligent sleeping mechanism) so that the
thread will be idle while no kernels are running.


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

  Changed paths:
    M offload/plugins-nextgen/cuda/dynamic_cuda/cuda.cpp
    M offload/plugins-nextgen/cuda/dynamic_cuda/cuda.h

  Log Message:
  -----------
  [Offload] Add cuLaunchHostFunc to dynamic cuda

Summary:
This was missing, causing non-directly linked builds to fail.


  Commit: 0cd794d4860e376698bb4da24bcdf8cbf331835c
      https://github.com/llvm/llvm-project/commit/0cd794d4860e376698bb4da24bcdf8cbf331835c
  Author: Mark de Wever <koraq at xs4all.nl>
  Date:   2025-01-24 (Fri, 24 Jan 2025)

  Changed paths:
    M libcxx/docs/Status/Cxx20Issues.csv
    M libcxx/docs/Status/FormatPaper.csv
    M libcxx/include/CMakeLists.txt
    M libcxx/include/__chrono/convert_to_tm.h
    M libcxx/include/__chrono/formatter.h
    M libcxx/include/__chrono/ostream.h
    A libcxx/include/__chrono/utc_clock.h
    M libcxx/include/chrono
    M libcxx/include/module.modulemap
    M libcxx/modules/std/chrono.inc
    A libcxx/test/benchmarks/utc_clock.bench.cpp
    M libcxx/test/libcxx/diagnostics/chrono.nodiscard.verify.cpp
    A libcxx/test/libcxx/time/time.clock/time.clock.utc/get_leap_second_info.pass.cpp
    A libcxx/test/libcxx/time/time.clock/time.clock.utc/time.clock.utc.members/from_sys.pass.cpp
    A libcxx/test/libcxx/time/time.clock/time.clock.utc/time.clock.utc.members/to_sys.pass.cpp
    A libcxx/test/std/time/time.clock/time.clock.utc/get_leap_second_info.pass.cpp
    A libcxx/test/std/time/time.clock/time.clock.utc/leap_second_info.members.pass.cpp
    A libcxx/test/std/time/time.clock/time.clock.utc/time.clock.utc.members/from_sys.pass.cpp
    A libcxx/test/std/time/time.clock/time.clock.utc/time.clock.utc.members/now.pass.cpp
    A libcxx/test/std/time/time.clock/time.clock.utc/time.clock.utc.members/to_sys.pass.cpp
    A libcxx/test/std/time/time.clock/time.clock.utc/types.compile.pass.cpp
    A libcxx/test/std/time/time.clock/time.clock.utc/utc_time.ostream.pass.cpp
    A libcxx/test/std/time/time.syn/formatter.utc_time.pass.cpp
    M libcxx/test/std/utilities/format/format.formattable/concept.formattable.compile.pass.cpp

  Log Message:
  -----------
  [libc++][chrono] implements UTC clock. (#90393)

While implementing this feature and its associated LWG issues it turns
out
- LWG3316 Correctly define epoch for utc_clock / utc_timepoint only
added non-normative wording to the standard.

Implements parts of:
- P0355 Extending <chrono> to Calendars and Time Zones
- P1361 Integration of chrono with text formatting
- LWG3359 <chrono> leap second support should allow for negative leap
seconds


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

  Changed paths:
    M compiler-rt/test/profile/Windows/binary-id.c

  Log Message:
  -----------
  [compiler-rt] Fix Windows test after profile summary change (#124318)

Fix a Windows compiler-rt test that
https://github.com/llvm/llvm-project/pull/105915 broke.


  Commit: 7293455cf292cfaa263ea04fc1bc2aee4ceab6a6
      https://github.com/llvm/llvm-project/commit/7293455cf292cfaa263ea04fc1bc2aee4ceab6a6
  Author: Dave Lee <davelee.com at gmail.com>
  Date:   2025-01-24 (Fri, 24 Jan 2025)

  Changed paths:
    M lldb/bindings/interface/SBThreadExtensions.i
    M lldb/test/API/commands/frame/recognizer/TestFrameRecognizer.py
    M lldb/test/API/functionalities/location-list-lookup/TestLocationListLookup.py
    M lldb/test/API/lang/cpp/std-function-recognizer/TestStdFunctionRecognizer.py
    M lldb/test/API/lang/objc/print-obj/TestPrintObj.py

  Log Message:
  -----------
  [lldb] Add SBThread.selected_frame property (#123981)

Adds a `selected_frame` property to `SBThread`. The setter accepts either a frame index (like `SetSelectedFrame`), or a frame object.

Updates a few tests to make use of the new `selected_frame`. While doing so I noticed some of the usage could be cleaned up, so I did that too.


  Commit: a9ad601f7c5486919d6fabc5dd3cb6e96f63ac61
      https://github.com/llvm/llvm-project/commit/a9ad601f7c5486919d6fabc5dd3cb6e96f63ac61
  Author: Philip Reames <preames at rivosinc.com>
  Date:   2025-01-24 (Fri, 24 Jan 2025)

  Changed paths:
    M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-select-addsub.ll

  Log Message:
  -----------
  [RISCV] Use vrsub for select of add and sub of the same operands (#123400)

If we have a (vselect c, a+b, a-b), we can combine this to a+(vselect c,
b, -b). That by itself isn't hugely profitable, but if we reverse the
select, we get a form which matches a masked vrsub.vi with zero. The
result is that we can use a masked vrsub *before* the add instead of a
masked add or sub. This doesn't change the critical path (since we
already had the pass through on the masked second op), but does reduce
register pressure since a, b, and (a+b) don't need to all be alive at
once.

In addition to the vselect form, we can also see the same pattern with a
vector_shuffle encoding the vselect. I explored canonicalizing these to
vselects instead, but that exposes several unrelated missing combines.


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

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

  Log Message:
  -----------
  [flang][cuda] Handle variable with initialization in device global pass (#124307)


  Commit: d9b8120259a546ce7aa9f047566fef29479f59e8
      https://github.com/llvm/llvm-project/commit/d9b8120259a546ce7aa9f047566fef29479f59e8
  Author: Nico Weber <thakis at chromium.org>
  Date:   2025-01-24 (Fri, 24 Jan 2025)

  Changed paths:
    M lld/COFF/InputFiles.cpp
    M lld/COFF/SymbolTable.cpp
    M lld/test/COFF/start-lib.ll

  Log Message:
  -----------
  [lld/COFF] Fix -start-lib / -end-lib more after reviews.llvm.org/D116434 (#124294)

This is a follow-up to #120452 in a way.

Since lld/COFF does not yet insert all defined in an obj file before all
undefineds (ELF and MachO do this, see #67445 and things linked from
there), it's possible that:

1. We add an obj file a.obj
2. a.obj contains an undefined that's in b.obj, causing b.obj to be
added
3. b.obj contains an undefined that's in a part of a.obj that's not yet
in the symbol table, causing a recursive load of a.obj, which adds the
symbols in there twice, leading to duplicate symbol errors.

For normal archives, `ArchiveFile::addMember()` has a `seen` check to
prevent this. For start-lib lazy objects, we can just check if the
archive is still lazy at the recursive call.

This bug is similar to issue #59162.

(Eventually, we'll probably want to do what the MachO and ELF ports do.)

Includes a test that caused duplicate symbol diagnostics before this
code change.


  Commit: e4009ed3d68ba8d9e78721ce5afc2b3a7edd6f36
      https://github.com/llvm/llvm-project/commit/e4009ed3d68ba8d9e78721ce5afc2b3a7edd6f36
  Author: Timm Baeder <tbaeder at redhat.com>
  Date:   2025-01-24 (Fri, 24 Jan 2025)

  Changed paths:
    M clang/docs/ConstantInterpreter.rst
    M clang/www/OpenProjects.html

  Log Message:
  -----------
  [clang][docs] Update bytecode interpreter docs (#124252)

Just a light update, not adding a lot of new information.


  Commit: 825e712959d48f14b47e579871bcf9b5e25fff7a
      https://github.com/llvm/llvm-project/commit/825e712959d48f14b47e579871bcf9b5e25fff7a
  Author: Helena Kotas <hekotas at microsoft.com>
  Date:   2025-01-24 (Fri, 24 Jan 2025)

  Changed paths:
    M clang/lib/Sema/SemaHLSL.cpp
    R clang/test/AST/HLSL/ast-dump-comment-cbuffe-tbufferr.hlsl
    A clang/test/AST/HLSL/ast-dump-comment-cbuffer-tbuffer.hlsl
    A clang/test/AST/HLSL/cbuffer.hlsl
    A clang/test/AST/HLSL/cbuffer_and_namespaces.hlsl
    R clang/test/AST/HLSL/cbuffer_tbuffer.hlsl
    M clang/test/AST/HLSL/pch_hlsl_buffer.hlsl

  Log Message:
  -----------
  [HLSL] cbuffer: create host layout structs (#122820)

Creates layout struct for `cbuffer` in Sema which will contains only
declarations contributing to the constant buffer layout. Anything else
will be filtered out, such as static variables decls, struct and
function definitions, resources, or empty struct and zero-sized arrays.

If the constant buffer includes a struct that contains any of the above
undesirable declarations, a new version of this struct should be created
with these declarations filtered out as well.

The definition of buffer layout struct will be added to the
HLSLBufferDecl AST node as the last node. Any layout structs for
embedded structures will be added there as well.

Fixes #122553


  Commit: 3861b9db882d5637725ceeccb801c2bb837e8fc5
      https://github.com/llvm/llvm-project/commit/3861b9db882d5637725ceeccb801c2bb837e8fc5
  Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
  Date:   2025-01-24 (Fri, 24 Jan 2025)

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

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


  Commit: ab976a17121374ae3407374b2aa6306e95863eb3
      https://github.com/llvm/llvm-project/commit/ab976a17121374ae3407374b2aa6306e95863eb3
  Author: Stephen Long <63318318+steplong at users.noreply.github.com>
  Date:   2025-01-24 (Fri, 24 Jan 2025)

  Changed paths:
    M llvm/include/llvm/CodeGen/TargetLowering.h
    A llvm/include/llvm/Transforms/Utils/LowerVectorIntrinsics.h
    M llvm/lib/CodeGen/PreISelIntrinsicLowering.cpp
    M llvm/lib/CodeGen/TargetLoweringBase.cpp
    M llvm/lib/Transforms/Utils/CMakeLists.txt
    A llvm/lib/Transforms/Utils/LowerVectorIntrinsics.cpp
    A llvm/test/Transforms/PreISelIntrinsicLowering/AArch64/expand-exp.ll
    A llvm/test/Transforms/PreISelIntrinsicLowering/AArch64/lit.local.cfg
    M llvm/utils/gn/secondary/llvm/lib/Transforms/Utils/BUILD.gn

  Log Message:
  -----------
  PreISelIntrinsicLowering: Lower llvm.exp/llvm.exp2 to a loop if scalable vec arg (#117568)


  Commit: 83df39c649fe1b1dd556d8f2160999c65ce497eb
      https://github.com/llvm/llvm-project/commit/83df39c649fe1b1dd556d8f2160999c65ce497eb
  Author: junfengd-nv <junfengd at nvidia.com>
  Date:   2025-01-24 (Fri, 24 Jan 2025)

  Changed paths:
    M mlir/lib/Transforms/Utils/Inliner.cpp
    A mlir/test/Transforms/inlining-recursive-2.mlir
    M mlir/test/Transforms/inlining-recursive.mlir

  Log Message:
  -----------
  [mlir][inline] Fix Issue#82401: Infinite loop in MLIR inliner for indirect recursive call. (#124026)


  Commit: 3b30f20c60d020e43f5700dae68cf1080158b725
      https://github.com/llvm/llvm-project/commit/3b30f20c60d020e43f5700dae68cf1080158b725
  Author: Mark de Wever <koraq at xs4all.nl>
  Date:   2025-01-24 (Fri, 24 Jan 2025)

  Changed paths:
    M libcxx/include/__chrono/convert_to_tm.h
    M libcxx/include/__chrono/formatter.h
    M libcxx/include/__chrono/ostream.h
    M libcxx/include/__chrono/utc_clock.h

  Log Message:
  -----------
  [libc++][TZDB] Fixes CI.

The commit 24e70e3930724ce499ad05d669bfbc4423c542e0 changed internal
macros which were used in 0cd794d4860e376698bb4da24bcdf8cbf331835c.

This caused build failures on platforms without TZDB support


  Commit: 95d993a838863269dc1b90de3808c1e40ac6d5f2
      https://github.com/llvm/llvm-project/commit/95d993a838863269dc1b90de3808c1e40ac6d5f2
  Author: Henrich Lauko <xlauko at mail.muni.cz>
  Date:   2025-01-24 (Fri, 24 Jan 2025)

  Changed paths:
    M mlir/lib/Target/LLVMIR/ModuleImport.cpp
    M mlir/test/Target/LLVMIR/Import/instructions.ll

  Log Message:
  -----------
  [MLIR] Fix import of calls with mismatched variadic types (#124286)

Previously, an indirect call was incorrectly generated when
`llvm::CallBase::getCalledFunction` returned null due to a type mismatch
between the call and the function. This patch updates the code to use
`llvm::CallBase::getCalledOperand` instead.


  Commit: 1b1270f30bbdb2c7a310009d0512e167b09bac48
      https://github.com/llvm/llvm-project/commit/1b1270f30bbdb2c7a310009d0512e167b09bac48
  Author: Alexandros Lamprineas <alexandros.lamprineas at arm.com>
  Date:   2025-01-24 (Fri, 24 Jan 2025)

  Changed paths:
    M llvm/lib/Transforms/IPO/GlobalOpt.cpp
    M llvm/test/Transforms/GlobalOpt/resolve-fmv-ifunc.ll

  Log Message:
  -----------
  [FMV][GlobalOpt] Enable static resolution of non-FMV callers. (#124314)

The undetectable FMV features predres and ls64 have been removed,
therefore the optimization is now re-enabled. The llvm testsuite
Graviton4 bots are expected to remain green.


  Commit: d398c0c97aa0bfaeed5647f75bc37c87b8142f79
      https://github.com/llvm/llvm-project/commit/d398c0c97aa0bfaeed5647f75bc37c87b8142f79
  Author: siya100 <85541510+siya100 at users.noreply.github.com>
  Date:   2025-01-24 (Fri, 24 Jan 2025)

  Changed paths:
    M libc/docs/CMakeLists.txt
    M libc/docs/headers/index.rst
    A libc/utils/docgen/cpio.yaml

  Log Message:
  -----------
  [libc][cpio] Add cpio.h header. (#123798)

[libc][docs] add cpio to documentation and include related functi… 
These changes ensure that the cpio header is documented properly
with respect to the issue
(https://github.com/llvm/llvm-project/issues/122006 ).

**Changes:**
1. **cpio.yaml**: Created a new YAML file for cpio with functions
and related macros.
2. **CMakeLists.txt**: Added cpio to the documentation
directories.
3. **index.rst**: Included `cpio` in the documentation index.

---------

Co-authored-by: siya <siya at Siya.com>


  Commit: 074a25fb2678dacb4f3c6a24d5f907788c858e7a
      https://github.com/llvm/llvm-project/commit/074a25fb2678dacb4f3c6a24d5f907788c858e7a
  Author: Min-Yih Hsu <min.hsu at sifive.com>
  Date:   2025-01-24 (Fri, 24 Jan 2025)

  Changed paths:
    M llvm/lib/Target/RISCV/AsmParser/RISCVAsmParser.cpp
    M llvm/lib/Target/RISCV/Disassembler/RISCVDisassembler.cpp
    M llvm/lib/Target/RISCV/RISCVInstrInfoV.td
    A llvm/test/MC/Disassembler/RISCV/vmask-carry-in.txt
    A llvm/test/MC/RISCV/rvv/vmask-carry-in.s

  Log Message:
  -----------
  [RISCV][MC] Create an AsmOperand for carry-in vmask (#124317)

Previously we used a fixed assembly string as well as encoding for the
carry-in vector mask, since it will always be there. However, this makes
both AsmParser and disassembler to either create a garbage MCOperand for
the mask or fail to add one as a whole. This wouldn't be a problem for
majority of the cases but tools like llvm-mca who relies on MCInst will
fail to account for the register dependency on these mask operands.


  Commit: ae8b560899c00d1792fd87ec591558cd91add2ef
      https://github.com/llvm/llvm-project/commit/ae8b560899c00d1792fd87ec591558cd91add2ef
  Author: Teresa Johnson <tejohnson at google.com>
  Date:   2025-01-24 (Fri, 24 Jan 2025)

  Changed paths:
    M llvm/lib/Analysis/MemoryProfileInfo.cpp
    M llvm/test/Transforms/PGOProfile/memprof.ll
    M llvm/test/Transforms/PGOProfile/memprof_loop_unroll.ll
    M llvm/unittests/Analysis/MemoryProfileInfoTest.cpp

  Log Message:
  -----------
  [MemProf] Disable hot hints by default (#124338)

By default we were marking some contexts as hot, and adding hot hints to
unambiguously hot allocations. However, there is not yet support for
cloning to expose hot allocation contexts, and none is planned for the
forseeable future.

While we convert hot contexts to notcold contexts during the cloning
step, their existence was greatly limiting the context trimming
performed when we add the MemProf profile to the IR. This change simply
disables the generation of hot contexts / hints by default, as few
allocations were unambiguously hot.

A subsequent change will address the issue when hot hints are optionally
enabled. See PR124219 for details.

This change resulted in significant overhead reductions for a large
target:
~48% reduction in the per-module ThinLTO bitcode summary sizes
~72% reduction in the distributed ThinLTO bitcode combined summary sizes
~68% reduction in thin link time
~34% reduction in thin link peak memory


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

  Changed paths:
    M flang/lib/Optimizer/Transforms/CUFOpConversion.cpp
    M flang/test/Fir/CUDA/cuda-launch.fir

  Log Message:
  -----------
  [flang][cuda] Carry over the cuf.proc_attr attribute to gpu.launch_func (#124325)


  Commit: df9b31f1e0cdb8096e9d2e0749e473dd815b39f7
      https://github.com/llvm/llvm-project/commit/df9b31f1e0cdb8096e9d2e0749e473dd815b39f7
  Author: Nathan Ridge <zeratul976 at hotmail.com>
  Date:   2025-01-24 (Fri, 24 Jan 2025)

  Changed paths:
    M clang/lib/Sema/HeuristicResolver.cpp
    M clang/unittests/Sema/HeuristicResolverTest.cpp

  Log Message:
  -----------
  [clang][Sema] Handle undeduced auto types in HeuristicResolver (#124236)

Fixes https://github.com/clangd/clangd/issues/897


  Commit: 73b462321c2968a450779f8f6c240f46a1830376
      https://github.com/llvm/llvm-project/commit/73b462321c2968a450779f8f6c240f46a1830376
  Author: Petr Hosek <phosek at google.com>
  Date:   2025-01-24 (Fri, 24 Jan 2025)

  Changed paths:
    M libc/include/strings.yaml

  Log Message:
  -----------
  [libc] Include size_t type header in strings.h (#124352)

A number of functions in strings.h take size_t as an argument.


  Commit: b41987beaedaa6ea78fd8dd11ba8c3b21eb8fa88
      https://github.com/llvm/llvm-project/commit/b41987beaedaa6ea78fd8dd11ba8c3b21eb8fa88
  Author: vporpo <vporpodas at google.com>
  Date:   2025-01-24 (Fri, 24 Jan 2025)

  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] Fix MemDGNode chain maintenance when move destination is non-mem (#124227)

This patch fixes a bug in the maintenance of the MemDGNode chain of the
DAG. Whenever we move a memory instruction, the DAG gets notified about
the move and maintains the chain of memory nodes. The bug was that if
the destination of the move was not a memory instruction, then the
memory node's next node would end up pointing to itself.


  Commit: 425d25f5df4c6814e5551640b810bec53322f3df
      https://github.com/llvm/llvm-project/commit/425d25f5df4c6814e5551640b810bec53322f3df
  Author: Hiroshi Yamauchi <56735936+hjyamauchi at users.noreply.github.com>
  Date:   2025-01-24 (Fri, 24 Jan 2025)

  Changed paths:
    M llvm/lib/Target/AArch64/AArch64FrameLowering.cpp
    M llvm/test/CodeGen/AArch64/stack-hazard-windows.ll
    A llvm/test/CodeGen/AArch64/wincfi-missing-seh-directives.ll

  Log Message:
  -----------
  [AArch64][WinCFI] Fix a crash due to missing seh directives (#123993)

https://github.com/llvm/llvm-project/issues/123808


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

  Changed paths:
    M llvm/docs/AMDGPUUsage.rst

  Log Message:
  -----------
  [AMDGPU] Update AMDGPUUsage.rst to document two intrinsics (#123816)

The AMDGPUUsage.rst file is updated to document two intrinsics:
llvm.amdgcn.mov.dpp and llvm.amdgcn.update.dpp.


  Commit: 34c6c5e72f48de65a7e332033af9566576c1895d
      https://github.com/llvm/llvm-project/commit/34c6c5e72f48de65a7e332033af9566576c1895d
  Author: Maksim Panchenko <maks at fb.com>
  Date:   2025-01-24 (Fri, 24 Jan 2025)

  Changed paths:
    M bolt/include/bolt/Core/MCPlusBuilder.h
    M bolt/lib/Passes/PLTCall.cpp
    M bolt/lib/Target/AArch64/AArch64MCPlusBuilder.cpp
    M bolt/lib/Target/X86/X86MCPlusBuilder.cpp
    A bolt/test/AArch64/exceptions-plt.cpp
    A bolt/test/runtime/exceptions-plt.cpp

  Log Message:
  -----------
  [BOLT][AArch64] Fix PLT optimization (#124192)

Preserve C++ exception metadata while running PLT optimization on
AArch64.


  Commit: 4b209c5d87c8b8eb4bbf2750ea9daa5927a13699
      https://github.com/llvm/llvm-project/commit/4b209c5d87c8b8eb4bbf2750ea9daa5927a13699
  Author: vporpo <vporpodas at google.com>
  Date:   2025-01-24 (Fri, 24 Jan 2025)

  Changed paths:
    M llvm/include/llvm/SandboxIR/Region.h
    M llvm/include/llvm/SandboxIR/Value.h
    M llvm/lib/SandboxIR/Region.cpp
    M llvm/lib/Transforms/Vectorize/SandboxVectorizer/Passes/RegionsFromMetadata.cpp
    M llvm/unittests/SandboxIR/PassTest.cpp
    M llvm/unittests/SandboxIR/RegionTest.cpp

  Log Message:
  -----------
  [SandboxIR][Region] Add cost modeling to the region (#124354)

This patch implements cost modeling for Region. All instructions that
are added or removed get their cost counted in the Scoreboard. This is
used for checking if the region before or after a transformation is more
profitable.


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

  Changed paths:
    M flang/lib/Optimizer/Builder/FIRBuilder.cpp
    M flang/test/Lower/CUDA/cuda-devptr.cuf

  Log Message:
  -----------
  [flang][cuda] Perform inlined assignment when field is c_devptr (#124322)

When a field in a derived type is `c_devptr`, keep check if we can do a
memcpy instead of falling back to the runtime assignment.

Many internal CUDA Fortran derived type have a `c_devptr` field and this
would lead to stack overflow on the device if the assignment is
performed by the runtime function.


  Commit: cff7ad56babc2e8e7c731b3f60d3c0b4c8aca96f
      https://github.com/llvm/llvm-project/commit/cff7ad56babc2e8e7c731b3f60d3c0b4c8aca96f
  Author: vporpo <vporpodas at google.com>
  Date:   2025-01-24 (Fri, 24 Jan 2025)

  Changed paths:
    M llvm/include/llvm/SandboxIR/Utils.h
    M llvm/lib/Transforms/Vectorize/SandboxVectorizer/Passes/BottomUpVec.cpp

  Log Message:
  -----------
  [SandboxVec][Utils] Implement Utils::verifyFunction() (#124356)

This patch implements a wrapper function for the LLVM IR verifier for
functions, and calls it (flag-guarded) within the bottom-up-vectorizer
for finding IR bugs as soon as they happen.


  Commit: d910fbcbd10c5e72d0771dd9607e7133ae51dc70
      https://github.com/llvm/llvm-project/commit/d910fbcbd10c5e72d0771dd9607e7133ae51dc70
  Author: Sam Elliott <quic_aelliott at quicinc.com>
  Date:   2025-01-24 (Fri, 24 Jan 2025)

  Changed paths:
    M llvm/docs/ReleaseNotes.md

  Log Message:
  -----------
  [RISCV][NFC] cR Constraint Release Note


  Commit: ac75d322801411f496fe5d1155c86453f915ae98
      https://github.com/llvm/llvm-project/commit/ac75d322801411f496fe5d1155c86453f915ae98
  Author: vporpo <vporpodas at google.com>
  Date:   2025-01-24 (Fri, 24 Jan 2025)

  Changed paths:
    M llvm/include/llvm/Transforms/Vectorize/SandboxVectorizer/VecUtils.h
    M llvm/lib/Transforms/Vectorize/SandboxVectorizer/Passes/BottomUpVec.cpp
    M llvm/test/Transforms/SandboxVectorizer/cross_bbs.ll
    M llvm/test/Transforms/SandboxVectorizer/pack.ll
    M llvm/unittests/Transforms/Vectorize/SandboxVectorizer/VecUtilsTest.cpp

  Log Message:
  -----------
  [SandboxVec][VecUtils] Filter out instructions not in BB in VecUtils:getLowest() (#124360)

This patch changes the functionality of `VecUtils::getLowest(Vals, BB)`
such that it filters out any instructions in `Vals` that are not in BB.
This is useful when Vals contains instructions from different BBs,
because in that case we are only interested in one BB.


  Commit: 4df9c17e5f436702ca4f5439322972b0385d629a
      https://github.com/llvm/llvm-project/commit/4df9c17e5f436702ca4f5439322972b0385d629a
  Author: Nikolas Klauser <nikolasklauser at berlin.de>
  Date:   2025-01-24 (Fri, 24 Jan 2025)

  Changed paths:
    M libcxx/include/__type_traits/result_of.h
    M libcxx/test/libcxx/ranges/no_specializations.verify.cpp
    M libcxx/test/libcxx/type_traits/no_specializations.verify.cpp

  Log Message:
  -----------
  [libc++] Fix tests for clang::no_specializations for C++17 and C++20


  Commit: e2005d1461942539f7533a518aa78017074f6bf9
      https://github.com/llvm/llvm-project/commit/e2005d1461942539f7533a518aa78017074f6bf9
  Author: Jacob Lalonde <jalalonde at fb.com>
  Date:   2025-01-24 (Fri, 24 Jan 2025)

  Changed paths:
    M lldb/bindings/interface/SBSaveCoreOptionsDocstrings.i

  Log Message:
  -----------
  [LLDB] Reapply #123873 SBSaveCore Docstrings (#124355)

In my last attempt at this (#123873), I didn't realize we needed semi
colons! Also fixed the bug that the feature summary didn't have a type
defined.

CC @JDevlieghere hope you get a laugh at needing to revert doc strings
for breaking the build....


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

  Changed paths:
    M llvm/lib/Target/AMDGPU/VOPCInstructions.td
    M llvm/test/MC/AMDGPU/gfx11_asm_vop3_dpp16_from_vopcx.s
    M llvm/test/MC/AMDGPU/gfx11_asm_vop3_dpp8_from_vopcx.s
    M llvm/test/MC/AMDGPU/gfx11_asm_vop3_from_vopcx.s
    M llvm/test/MC/AMDGPU/gfx11_asm_vopcx.s
    M llvm/test/MC/AMDGPU/gfx11_asm_vopcx_dpp16.s
    M llvm/test/MC/AMDGPU/gfx11_asm_vopcx_dpp8.s
    M llvm/test/MC/AMDGPU/gfx11_asm_vopcx_t16_err.s
    M llvm/test/MC/AMDGPU/gfx11_asm_vopcx_t16_promote.s
    M llvm/test/MC/AMDGPU/gfx12_asm_vop3cx.s
    M llvm/test/MC/AMDGPU/gfx12_asm_vop3cx_dpp16.s
    M llvm/test/MC/AMDGPU/gfx12_asm_vop3cx_dpp8.s
    M llvm/test/MC/AMDGPU/gfx12_asm_vopcx.s
    M llvm/test/MC/AMDGPU/gfx12_asm_vopcx_dpp16.s
    M llvm/test/MC/AMDGPU/gfx12_asm_vopcx_dpp8.s
    M llvm/test/MC/AMDGPU/gfx12_asm_vopcx_t16_err.s
    M llvm/test/MC/AMDGPU/gfx12_asm_vopcx_t16_promote.s
    M llvm/test/MC/Disassembler/AMDGPU/gfx11_dasm_vop3_dpp16_from_vopcx.txt
    M llvm/test/MC/Disassembler/AMDGPU/gfx11_dasm_vop3_dpp8_from_vopcx.txt
    M llvm/test/MC/Disassembler/AMDGPU/gfx11_dasm_vop3_from_vopcx.txt
    M llvm/test/MC/Disassembler/AMDGPU/gfx11_dasm_vopcx.txt
    M llvm/test/MC/Disassembler/AMDGPU/gfx11_dasm_vopcx_dpp16.txt
    M llvm/test/MC/Disassembler/AMDGPU/gfx11_dasm_vopcx_dpp8.txt
    M llvm/test/MC/Disassembler/AMDGPU/gfx12_dasm_vop3cx.txt
    M llvm/test/MC/Disassembler/AMDGPU/gfx12_dasm_vop3cx_dpp16.txt
    M llvm/test/MC/Disassembler/AMDGPU/gfx12_dasm_vop3cx_dpp8.txt
    M llvm/test/MC/Disassembler/AMDGPU/gfx12_dasm_vopcx.txt
    M llvm/test/MC/Disassembler/AMDGPU/gfx12_dasm_vopcx_dpp16.txt
    M llvm/test/MC/Disassembler/AMDGPU/gfx12_dasm_vopcx_dpp8.txt

  Log Message:
  -----------
  [AMDGPU][True16][MC] true16 for v_cmpx_eq_f16 (#124038)

True16 format for v_cmpx_eq_f16.

Also cleaned up some stray gfx11 check line in gfx12 dasm test


  Commit: d789915f35a976bb532441915249cd1b165c2fd5
      https://github.com/llvm/llvm-project/commit/d789915f35a976bb532441915249cd1b165c2fd5
  Author: Aiden Grossman <aidengrossman at google.com>
  Date:   2025-01-24 (Fri, 24 Jan 2025)

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

  Log Message:
  -----------
  [Github] Bump Runner Version in Containers (#124324)

This patch bumps the runner version to v2.322.0 in the CI containers.
Nothing looks suspicious in the change log, and it is important to keep
the runner up to date or we will end up with containers that cannot
connect to Github due to having a version too old.


  Commit: 280c7d719834a828895b8a39f8ea982527fdcc73
      https://github.com/llvm/llvm-project/commit/280c7d719834a828895b8a39f8ea982527fdcc73
  Author: Aiden Grossman <aidengrossman at google.com>
  Date:   2025-01-24 (Fri, 24 Jan 2025)

  Changed paths:
    M .ci/generate-buildkite-pipeline-premerge
    M .ci/monolithic-windows.sh

  Log Message:
  -----------
  [CI] Increase Configurability of Monolithic Windows Build (#124328)

This patch makes it so that the caller of monolithic-windows.sh can set
the maximum number of parallel compile/link jobs in an environment
variable rather than manually specifying it inside of the CMake.
Additionally, the env variable definitions for CC, CXX, and LD are sunk
into the shell script due to those config options being pretty inherent
to what the pipeline is testing.

This is intended to make things more flexible/useable for the new
premerge CI pipeline, particularly as we are looking at using larger
runners and want the increased flexibility to experiment.


  Commit: 6409799bdcd86be3ed72e8d172181294d3e5ad09
      https://github.com/llvm/llvm-project/commit/6409799bdcd86be3ed72e8d172181294d3e5ad09
  Author: vporpo <vporpodas at google.com>
  Date:   2025-01-24 (Fri, 24 Jan 2025)

  Changed paths:
    M llvm/include/llvm/Transforms/Vectorize/SandboxVectorizer/Legality.h
    M llvm/lib/Transforms/Vectorize/SandboxVectorizer/Legality.cpp
    M llvm/test/Transforms/SandboxVectorizer/pack.ll
    M llvm/unittests/Transforms/Vectorize/SandboxVectorizer/LegalityTest.cpp

  Log Message:
  -----------
  [SandboxVec][Legality] Pack from different BBs (#124363)

When the inputs of the pack come from different BBs we need to make sure
we emit the pack instructions at the correct place.


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

  Changed paths:
    M flang/include/flang/Runtime/CUDA/kernel.h
    M flang/lib/Optimizer/Transforms/CUFGPUToLLVMConversion.cpp
    M flang/runtime/CUDA/kernel.cpp
    M flang/test/Fir/CUDA/cuda-gpu-launch-func.mlir

  Log Message:
  -----------
  [flang][cuda] Handle launch of cooperative kernel (#124362)

Add `CUFLaunchCooperativeKernel` entry points and lower gpu.launch_func
with grid_global attribute to this entry point.


  Commit: c725a95e088dea14953c2d891d04429bc50b912e
      https://github.com/llvm/llvm-project/commit/c725a95e088dea14953c2d891d04429bc50b912e
  Author: Teresa Johnson <tejohnson at google.com>
  Date:   2025-01-24 (Fri, 24 Jan 2025)

  Changed paths:
    M llvm/include/llvm/Analysis/MemoryProfileInfo.h
    M llvm/lib/Analysis/MemoryProfileInfo.cpp
    M llvm/test/Transforms/PGOProfile/memprof.ll
    M llvm/unittests/Analysis/MemoryProfileInfoTest.cpp

  Log Message:
  -----------
  [MemProf] Convert Hot contexts to NotCold early (#124219)

While we convert hot contexts to notcold contexts during the cloning
step, their existence was greatly limiting the context trimming
performed when we add the MemProf profile to the IR. To address this,
any hot contexts are converted to notcold contexts immediately after
first checking for unambiguous allocation types, and before checking it
again and before adding metadata while performing context trimming.

Note that hot hints are now disabled by default, however, this avoids
adding unnecessary overhead if they are re-enabled.


  Commit: db1ee18eda6329d7577ad019a47822220b3e293d
      https://github.com/llvm/llvm-project/commit/db1ee18eda6329d7577ad019a47822220b3e293d
  Author: Jeffrey Byrnes <Jeffrey.Byrnes at amd.com>
  Date:   2025-01-24 (Fri, 24 Jan 2025)

  Changed paths:
    M llvm/docs/AMDGPUUsage.rst

  Log Message:
  -----------
  NFC: Typo fix

Change-Id: I08470bc617490558250136ea35a4964003fa9981


  Commit: 1b4bd4e1a5120c8bb4daa44787a3bc4559b6b3b4
      https://github.com/llvm/llvm-project/commit/1b4bd4e1a5120c8bb4daa44787a3bc4559b6b3b4
  Author: Maksim Panchenko <maks at fb.com>
  Date:   2025-01-24 (Fri, 24 Jan 2025)

  Changed paths:
    M bolt/lib/Target/AArch64/AArch64MCPlusBuilder.cpp
    A bolt/test/AArch64/jump-table-heuristic-fail.s
    M bolt/test/AArch64/test-indirect-branch.s

  Log Message:
  -----------
  [BOLT][AArch64] Remove assertions from jump table heuristic (#124372)

The code for jump table detection on AArch64 asserts liberally whenever
the input instruction sequence does not match the expected pattern. As a
result, BOLT fails to process binaries with such sequences instead of
ignoring functions with unknown control flow.

Remove asserts in analyzeIndirectBranchFragment() and mark indirect
jumps as instructions with unknown control flow instead.


  Commit: d92bac8a3ebb19106f6bca6b7613a27c52cb48ab
      https://github.com/llvm/llvm-project/commit/d92bac8a3ebb19106f6bca6b7613a27c52cb48ab
  Author: Helena Kotas <hekotas at microsoft.com>
  Date:   2025-01-24 (Fri, 24 Jan 2025)

  Changed paths:
    M clang/include/clang/Basic/AddressSpaces.h
    M clang/lib/AST/TypePrinter.cpp
    M clang/lib/Basic/Targets/AArch64.h
    M clang/lib/Basic/Targets/AMDGPU.cpp
    M clang/lib/Basic/Targets/DirectX.h
    M clang/lib/Basic/Targets/NVPTX.h
    M clang/lib/Basic/Targets/SPIR.h
    M clang/lib/Basic/Targets/SystemZ.h
    M clang/lib/Basic/Targets/TCE.h
    M clang/lib/Basic/Targets/WebAssembly.h
    M clang/lib/Basic/Targets/X86.h
    M clang/lib/CodeGen/CGHLSLRuntime.cpp
    M clang/lib/Sema/SemaHLSL.cpp
    R clang/test/AST/HLSL/ast-dump-comment-cbuffer-tbuffer.hlsl
    A clang/test/AST/HLSL/ast-dump-comment-cbuffer.hlsl
    M clang/test/AST/HLSL/cbuffer.hlsl
    M clang/test/AST/HLSL/cbuffer_and_namespaces.hlsl
    M clang/test/AST/HLSL/packoffset.hlsl
    M clang/test/AST/HLSL/pch_hlsl_buffer.hlsl
    M clang/test/AST/HLSL/resource_binding_attr.hlsl
    M clang/test/CodeGenHLSL/cbuf.hlsl
    M clang/test/CodeGenHLSL/cbuf_in_namespace.hlsl
    M clang/test/CodeGenHLSL/static_global_and_function_in_cb.hlsl
    M clang/test/SemaTemplate/address_space-dependent.cpp

  Log Message:
  -----------
  [HLSL] Introduce address space `hlsl_constant(2)` for constant buffer declarations (#123411)

Introduces a new address space `hlsl_constant(2)` for constant buffer
declarations.

This address space is applied to declarations inside `cbuffer` block.
Later on, it will also be applied to `ConstantBuffer<T>` syntax and the
default `$Globals` constant buffer.

Clang codegen translates constant buffer declarations to global
variables and loads from `hlsl_constant(2)` address space. More work
coming soon will include addition of metadata that will map these
globals to individual constant buffers and enable their transformation
to appropriate constant buffer load intrinsics later on in an LLVM pass.

Fixes #123406


  Commit: 07ed8187acc31ac3f4779da452864a29d48799ac
      https://github.com/llvm/llvm-project/commit/07ed8187acc31ac3f4779da452864a29d48799ac
  Author: Alex MacLean <amaclean at nvidia.com>
  Date:   2025-01-24 (Fri, 24 Jan 2025)

  Changed paths:
    M clang/test/OpenMP/assumes_include_nvptx.cpp
    M clang/test/OpenMP/nvptx_target_firstprivate_codegen.cpp
    M llvm/lib/Frontend/OpenMP/OMPIRBuilder.cpp
    M llvm/lib/Transforms/IPO/OpenMPOpt.cpp
    M llvm/test/Transforms/OpenMP/always_inline_device.ll
    M llvm/test/Transforms/OpenMP/attributor_module_slice_reproducer.ll
    M llvm/test/Transforms/OpenMP/barrier_removal.ll
    M llvm/test/Transforms/OpenMP/bug66687.ll
    M llvm/test/Transforms/OpenMP/custom_state_machines.ll
    M llvm/test/Transforms/OpenMP/custom_state_machines_pre_lto.ll
    M llvm/test/Transforms/OpenMP/custom_state_machines_remarks.ll
    M llvm/test/Transforms/OpenMP/deduplication_target.ll
    M llvm/test/Transforms/OpenMP/get_hardware_num_threads_in_block_fold.ll
    M llvm/test/Transforms/OpenMP/get_hardware_num_threads_in_block_fold_optnone.ll
    M llvm/test/Transforms/OpenMP/global_constructor.ll
    M llvm/test/Transforms/OpenMP/globalization_remarks.ll
    M llvm/test/Transforms/OpenMP/gpu_kernel_detection_remarks.ll
    M llvm/test/Transforms/OpenMP/gpu_state_machine_function_ptr_replacement.ll
    M llvm/test/Transforms/OpenMP/is_spmd_exec_mode_fold.ll
    M llvm/test/Transforms/OpenMP/nested_parallelism.ll
    M llvm/test/Transforms/OpenMP/parallel_level_fold.ll
    M llvm/test/Transforms/OpenMP/remove_globalization.ll
    M llvm/test/Transforms/OpenMP/replace_globalization.ll
    M llvm/test/Transforms/OpenMP/single_threaded_execution.ll
    M llvm/test/Transforms/OpenMP/spmdization.ll
    M llvm/test/Transforms/OpenMP/spmdization_assumes.ll
    M llvm/test/Transforms/OpenMP/spmdization_constant_prop.ll
    M llvm/test/Transforms/OpenMP/spmdization_guarding.ll
    M llvm/test/Transforms/OpenMP/spmdization_guarding_two_reaching_kernels.ll
    M llvm/test/Transforms/OpenMP/spmdization_indirect.ll
    M llvm/test/Transforms/OpenMP/spmdization_no_guarding_two_reaching_kernels.ll
    M llvm/test/Transforms/OpenMP/spmdization_remarks.ll
    M llvm/test/Transforms/OpenMP/value-simplify-openmp-opt.ll
    M llvm/unittests/Frontend/OpenMPIRBuilderTest.cpp

  Log Message:
  -----------
  [OpenMP] Replace nvvm.annotation usage with kernel calling conventions (#122320)

Specifying a kernel with the `ptx_kernel` or `amdgpu_kernel` calling
convention is a more idiomatic and compile-time performant than using
the `nvvm.annoation !"kernel"` metadata.

Transition OMPIRBuilder to use calling conventions for PTX kernels and
no longer emit `nvvm.annoation`. Update OpenMPOpt to work with kernels
specified via calling convention as well as metadata. Update OpenMP
tests to use the calling conventions.


  Commit: 4ea44eb1e292369b0b3f2f8ad4680081558f1e01
      https://github.com/llvm/llvm-project/commit/4ea44eb1e292369b0b3f2f8ad4680081558f1e01
  Author: Heejin Ahn <aheejin at gmail.com>
  Date:   2025-01-24 (Fri, 24 Jan 2025)

  Changed paths:
    M clang/lib/Driver/ToolChains/WebAssembly.cpp
    M clang/test/Driver/wasm-toolchain.c

  Log Message:
  -----------
  [WebAssembly] Fix EH feature flags when compiling multiple files (#124374)

#124042 caused a problem that when invoking `clang` with multiple files,
the static `HasRun` variables were set when processing the first file so
the appropriate feature flags were not added from the second file. This
fixes the problem by making those `HasRun` variables just normal
variables within the enclosing function.


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

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

  Log Message:
  -----------
  [clang-format] Fix a bug in annotating overloaded co_await decl (#124240)

Fixes #124223.


  Commit: 3b35b4c7f9141c59fbac415e335489494b7d507e
      https://github.com/llvm/llvm-project/commit/3b35b4c7f9141c59fbac415e335489494b7d507e
  Author: Jacques Pienaar <jpienaar at google.com>
  Date:   2025-01-24 (Fri, 24 Jan 2025)

  Changed paths:
    M mlir/include/mlir/IR/BuiltinDialectBytecode.td
    M mlir/include/mlir/IR/Location.h
    M mlir/lib/IR/Location.cpp
    M mlir/test/Target/LLVMIR/llvmir-debug.mlir

  Log Message:
  -----------
  [mlir] Allow fallback from file line col range to loc (#124321)

This was discussed during the original review but I made it stricter
than discussed. Making it a pure view but adding a helper for bytecode
serialization (I could avoid the helper, but it ends up with more logic
and stronger coupling).


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

  Changed paths:
    M llvm/include/llvm/CodeGen/Register.h
    M llvm/include/llvm/CodeGen/TargetRegisterInfo.h
    M llvm/lib/CodeGen/LiveIntervals.cpp
    M llvm/lib/CodeGen/MachineVerifier.cpp

  Log Message:
  -----------
  [CodeGen] Introduce a VirtRegOrUnit class to hold virtual reg or physical reg unit. NFC (#123768)

LiveIntervals and MachineVerifier were previously using Register to
store this, but reg units are different than physical registers. One
important difference is that 0 is a valid reg unit number, but it is not
a valid phyiscal register.

This patch introduces a new VirtRegOrUnit class that is distinct from
Register. It can be be converted to/from a virtual Register or a
MCRegUnit. I've made all conversions explicit and used assertions to
check the validity.

I also fixed a place in MachineVerifier that was ignoring reg unit 0.


  Commit: 8a6b44bf4cfe5df3db687a6b9519e99dbce8cf54
      https://github.com/llvm/llvm-project/commit/8a6b44bf4cfe5df3db687a6b9519e99dbce8cf54
  Author: Thurston Dang <thurston at google.com>
  Date:   2025-01-25 (Sat, 25 Jan 2025)

  Changed paths:
    M libcxx/include/__type_traits/result_of.h
    M libcxx/test/libcxx/ranges/no_specializations.verify.cpp
    M libcxx/test/libcxx/type_traits/no_specializations.verify.cpp

  Log Message:
  -----------
  Revert "[libc++] Fix tests for clang::no_specializations for C++17 and C++20"

This reverts commit 4df9c17e5f436702ca4f5439322972b0385d629a.

Reason: buildbot breakage
(https://lab.llvm.org/buildbot/#/builders/24/builds/4598/steps/10/logs/stdio)


  Commit: 1f26ac10ca1bef40a80be8f81a6f109713bc586f
      https://github.com/llvm/llvm-project/commit/1f26ac10ca1bef40a80be8f81a6f109713bc586f
  Author: mconst <mconst at gmail.com>
  Date:   2025-01-25 (Sat, 25 Jan 2025)

  Changed paths:
    M llvm/lib/Target/X86/X86FrameLowering.cpp
    M llvm/test/CodeGen/X86/huge-stack-offset.ll
    M llvm/test/CodeGen/X86/stack-clash-extra-huge.ll

  Log Message:
  -----------
  [X86] Better handling of impossibly large stack frames (#124217)

If you try to create a stack frame of 4 GiB or larger with a 32-bit
stack pointer, we currently emit invalid instructions like `mov eax,
5000000000` (unless you specify `-fstack-clash-protection`, in which
case we emit a trap instead).

The trap seems nicer, so let's do that in all cases. This avoids
emitting invalid instructions, and also fixes the "can't have 32-bit
16GB stack frame" assertion in `X86FrameLowering::emitSPUpdate()` (which
used to be triggerable by user code, but is now correct).

This was originally part of #124041.

@phoebewang


  Commit: f607e3fd23ef0019b2f3b289b4d46012400b8db5
      https://github.com/llvm/llvm-project/commit/f607e3fd23ef0019b2f3b289b4d46012400b8db5
  Author: Valentyn Yukhymenko <valentin.yukhymenko at gmail.com>
  Date:   2025-01-25 (Sat, 25 Jan 2025)

  Changed paths:
    M clang/docs/ReleaseNotes.rst
    M clang/lib/Sema/SemaDeclCXX.cpp
    M clang/test/CXX/temp/temp.decls/temp.variadic/fixed-expansion.cpp
    M clang/test/SemaCXX/alias-template.cpp

  Log Message:
  -----------
  [Clang][Sema] Reject declaring an alias template with the same name as its template parameter. (#123533)

The issue occurred because the template parameter scope was skipped
too early, before diagnosing the alias name shadowing.

To fix this, the patch moves it to after LookupName, such that the behavior
remains consistent with the typedef implementation.

Fixes llvm#123423


  Commit: c216081e981ea14536024b86df79ddee9fe517e0
      https://github.com/llvm/llvm-project/commit/c216081e981ea14536024b86df79ddee9fe517e0
  Author: Kazu Hirata <kazu at google.com>
  Date:   2025-01-25 (Sat, 25 Jan 2025)

  Changed paths:
    M clang/lib/AST/DeclTemplate.cpp

  Log Message:
  -----------
  [AST] Migrate away from PointerUnion::dyn_cast (NFC) (#124388)

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

Literal migration would result in dyn_cast_if_present (see the
definition of PointerUnion::dyn_cast), but this patch uses dyn_cast
because we expect P to be nonnull.


  Commit: 186d6546d9c5898a0a32f4616558021d9a908786
      https://github.com/llvm/llvm-project/commit/186d6546d9c5898a0a32f4616558021d9a908786
  Author: Kazu Hirata <kazu at google.com>
  Date:   2025-01-25 (Sat, 25 Jan 2025)

  Changed paths:
    M clang/lib/Index/FileIndexRecord.cpp

  Log Message:
  -----------
  [Index] Migrate away from PointerUnion::dyn_cast (NFC) (#124389)

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

Literal migration would result in dyn_cast_if_present (see the
definition of PointerUnion::dyn_cast), but this patch uses dyn_cast
because we expect DclInfo.DeclOrMacro to be nonnull.


  Commit: 62bd217b5a1cf6b231b2413b5522533986d4e5df
      https://github.com/llvm/llvm-project/commit/62bd217b5a1cf6b231b2413b5522533986d4e5df
  Author: Kazu Hirata <kazu at google.com>
  Date:   2025-01-25 (Sat, 25 Jan 2025)

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

  Log Message:
  -----------
  [Sema] Migrate away from PointerUnion::dyn_cast (NFC) (#124391)

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

Literal migration would result in dyn_cast_if_present (see the
definition of PointerUnion::dyn_cast), but this patch uses dyn_cast
because we expect DeclOrIterator to be nonnull.


  Commit: 0cc74a8941884d56a4718c28cc5b8ef8dbe17047
      https://github.com/llvm/llvm-project/commit/0cc74a8941884d56a4718c28cc5b8ef8dbe17047
  Author: Kazu Hirata <kazu at google.com>
  Date:   2025-01-25 (Sat, 25 Jan 2025)

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

  Log Message:
  -----------
  [CodeGen] Avoid repeated hash lookups (NFC) (#124392)


  Commit: 72918fd11dd805b578bbc9c4f36bea3bc96f37b5
      https://github.com/llvm/llvm-project/commit/72918fd11dd805b578bbc9c4f36bea3bc96f37b5
  Author: Kazu Hirata <kazu at google.com>
  Date:   2025-01-25 (Sat, 25 Jan 2025)

  Changed paths:
    M llvm/lib/CodeGen/GlobalISel/CSEInfo.cpp

  Log Message:
  -----------
  [GlobalISel] Avoid repeated hash lookups (NFC) (#124393)


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

  Changed paths:
    M libcxx/include/__type_traits/result_of.h
    M libcxx/test/libcxx/ranges/no_specializations.verify.cpp
    M libcxx/test/libcxx/type_traits/no_specializations.verify.cpp

  Log Message:
  -----------
  Reapply "[libc++] Fix tests for clang::no_specializations for C++17 and C++20"

The missing diagnostic pragmas have been added.

This reverts commit 8a6b44bf4cfe5df3db687a6b9519e99dbce8cf54.


  Commit: 7974f12b1e3682514bd58b35c5a784f35938fa04
      https://github.com/llvm/llvm-project/commit/7974f12b1e3682514bd58b35c5a784f35938fa04
  Author: NAKAMURA Takumi <geek4civic at gmail.com>
  Date:   2025-01-25 (Sat, 25 Jan 2025)

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

  Log Message:
  -----------
  [HLSL] Suppress a warning in #122820 [-Wunused-but-set-variable]


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

  Changed paths:
    M libcxx/include/__type_traits/conjunction.h

  Log Message:
  -----------
  [libc++] Reduce std::conjunction overhead (#124259)

The old and new implementation of `_And` are very close in terms of
performance according to my testing, but the new implementation can also
be used to implement `conjunction`, which make that ~50% faster.


  Commit: 52bffdf9f5bb72eb86249a012d08a40c90316dfb
      https://github.com/llvm/llvm-project/commit/52bffdf9f5bb72eb86249a012d08a40c90316dfb
  Author: David Green <david.green at arm.com>
  Date:   2025-01-25 (Sat, 25 Jan 2025)

  Changed paths:
    M llvm/lib/Transforms/IPO/FunctionSpecialization.cpp
    A llvm/test/Transforms/FunctionSpecialization/solver-constant-strictfpmetadata.ll

  Log Message:
  -----------
  [IPSCCP][FuncSpec] Protect against metadata access from call args. (#124284)

Fixes an issue reported from #114964, where metadata arguments were
attempted to be accessed as constants.


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

  Changed paths:
    M clang/CMakeLists.txt
    M clang/tools/driver/CMakeLists.txt
    M clang/utils/perf-training/CMakeLists.txt
    M clang/utils/perf-training/perf-helper.py

  Log Message:
  -----------
  [clang][cmake] Apply bolt optimizations as part of the clang target (#119896)

This change removes the need to call the clang-bolt target in order to
apply bolt optimizations to clang. Now running `ninja clang` will build
a clang with bolt optimizations, and `ninja check-clang` and `ninja
install-clang` will test and install bolt optimized clang too.

The clang-bolt target has been kept for compatibilty reasons, but it is
now just an alias to the clang target.

Also, this new design for applying the bolt optimizations to clang will
be easier to generalize and use to optimize other binaries/libraries in
the project.

---------

Co-authored-by: Amir Ayupov <fads93 at gmail.com>
Co-authored-by: Petr Hosek <phosek at google.com>


  Commit: de5ff8ad07ae824b86c5cefcba63f4b66607b759
      https://github.com/llvm/llvm-project/commit/de5ff8ad07ae824b86c5cefcba63f4b66607b759
  Author: Mark de Wever <koraq at xs4all.nl>
  Date:   2025-01-25 (Sat, 25 Jan 2025)

  Changed paths:
    M libcxx/docs/TestingLibcxx.rst
    M libcxx/test/std/input.output/iostream.format/print.fun/includes.compile.pass.cpp
    M libcxx/test/std/input.output/iostream.format/print.fun/no_file_description.pass.cpp
    M libcxx/test/std/localization/locale.stdcvt/depr.verify.cpp
    M libcxx/test/std/localization/locales/locale.convenience/conversions/conversions.buffer/depr.verify.cpp
    M libcxx/test/std/localization/locales/locale.convenience/conversions/conversions.string/depr.verify.cpp
    M libcxx/test/std/strings/basic.string/string.capacity/reserve.deprecated_in_cxx20.verify.cpp
    M libcxx/utils/libcxx/test/params.py

  Log Message:
  -----------
  [libc++][test] Improves C++ Standard filtering. (#89499)

Adds a new lit directive to improve C++ Standard filtering. This is
based on the

[Discourse](https://discourse.llvm.org/t/rfc-improving-c-standard-filtering-in-the-lit-tests/78474)
discussion.


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

  Changed paths:
    M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
    M llvm/lib/Transforms/Vectorize/VPlan.cpp
    M llvm/lib/Transforms/Vectorize/VPlanHCFGBuilder.cpp
    M llvm/test/Transforms/LoopVectorize/vplan-printing-outer-loop.ll
    M llvm/unittests/Transforms/Vectorize/VPlanHCFGTest.cpp

  Log Message:
  -----------
  [VPlan] Refactor HCFG builder to preserve original vector latch (NFC).

Update HCFG builder to preserve the original latch block of the initial
VPlan, ensuring there is always a latch.

It also skips creating the BranchOnCond for the latch of the top-level
loop, instead of removing it later. Exiting via the latch is controlled
by later recipes.

This further unifies HCFG construction and prepares for use to also
build an initial VPlan (VPlan0) for inner loops.


  Commit: 9325a61aa0960595c22867799ebd157c8160fd86
      https://github.com/llvm/llvm-project/commit/9325a61aa0960595c22867799ebd157c8160fd86
  Author: James Y Knight <jyknight at google.com>
  Date:   2025-01-25 (Sat, 25 Jan 2025)

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

  Log Message:
  -----------
  Revert "[GlobalMerge][NFC] Skip sorting by profitability when it is not needed" (#124411)

Reverts llvm/llvm-project#124146 -- new comparator is not a strict-weak
as required by stable_sort.

Co-authored-by: Michael Maitland <michaeltmaitland at gmail.com>


  Commit: 21f04b1458c52ba875a23b58b02cf6b1f8db0661
      https://github.com/llvm/llvm-project/commit/21f04b1458c52ba875a23b58b02cf6b1f8db0661
  Author: Adam Paszke <adam.paszke at gmail.com>
  Date:   2025-01-25 (Sat, 25 Jan 2025)

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

  Log Message:
  -----------
  Hold a queue of iterator ranges (not operations) in wouldOpBeTriviallyDead (#123642)

Ranges let us push the whole blocks onto the queue in constant time. If
one of the first ops in the block is side-effecting we'll be able to
provide the answer quickly. The previous implementation had to walk the
block and queue all the operations only to start traversing them again,
which was a considerable slowdown for compile times of large MLIR
programs in our benchmarks.

---------

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


  Commit: 5cb2db3b51c2a9d516d57bd2f07d9899bd5fdae7
      https://github.com/llvm/llvm-project/commit/5cb2db3b51c2a9d516d57bd2f07d9899bd5fdae7
  Author: vporpo <vporpodas at google.com>
  Date:   2025-01-25 (Sat, 25 Jan 2025)

  Changed paths:
    M llvm/include/llvm/Transforms/Vectorize/SandboxVectorizer/Scheduler.h
    M llvm/lib/Transforms/Vectorize/SandboxVectorizer/Scheduler.cpp
    M llvm/unittests/Transforms/Vectorize/SandboxVectorizer/SchedulerTest.cpp

  Log Message:
  -----------
  [SandboxVec][Scheduler] Forbid crossing BBs (#124369)

This patch updates the scheduler to forbid scheduling across BBs. It
should eventually be able to handle this, but we disable it for now.


  Commit: 485b1ac8a265dcf19c55a98aeefff95158cc63a2
      https://github.com/llvm/llvm-project/commit/485b1ac8a265dcf19c55a98aeefff95158cc63a2
  Author: Vasileios Porpodas <vporpodas at google.com>
  Date:   2025-01-25 (Sat, 25 Jan 2025)

  Changed paths:
    M llvm/docs/SandboxIR.md

  Log Message:
  -----------
  [SandboxIR][Docs] C++ highlighting for code block


  Commit: 14b44179cb61dd551c911dea54de57b588621005
      https://github.com/llvm/llvm-project/commit/14b44179cb61dd551c911dea54de57b588621005
  Author: Mark de Wever <koraq at xs4all.nl>
  Date:   2025-01-25 (Sat, 25 Jan 2025)

  Changed paths:
    M libcxx/include/__format/buffer.h
    M libcxx/include/__format/format_functions.h
    M libcxx/include/module.modulemap
    M libcxx/test/std/utilities/format/format.functions/format_tests.h

  Log Message:
  -----------
  [libc++][format][3/3] Improves formatting performance. (#108990)

This changes the __output_buffer to a new structure. This improves the
performace of std::format, std::format_to, std::format_to_n, and
std::formatted_size.


  Commit: 8b6211472793680994f7bc15abb5910d0a916cc5
      https://github.com/llvm/llvm-project/commit/8b6211472793680994f7bc15abb5910d0a916cc5
  Author: Dave Lee <davelee.com at gmail.com>
  Date:   2025-01-25 (Sat, 25 Jan 2025)

  Changed paths:
    M lldb/packages/Python/lldbsuite/test/lldbutil.py
    M lldb/test/API/macosx/universal/TestUniversal.py

  Log Message:
  -----------
  [lldb] Delete unused lldbutil.print_registers (NFC)


  Commit: b178c2d63e0701655046dfd2ead195b36e0df397
      https://github.com/llvm/llvm-project/commit/b178c2d63e0701655046dfd2ead195b36e0df397
  Author: Vasileios Porpodas <vporpodas at google.com>
  Date:   2025-01-25 (Sat, 25 Jan 2025)

  Changed paths:
    M llvm/lib/Transforms/Vectorize/SandboxVectorizer/Scheduler.cpp

  Log Message:
  -----------
  [SandboxVec][DAG] Fix trim schedule

Fix trimSchedule by skipping instructions without a DAG Node.


  Commit: aba0476f23fc2a851792e9d85c25ee34a5ea7ed0
      https://github.com/llvm/llvm-project/commit/aba0476f23fc2a851792e9d85c25ee34a5ea7ed0
  Author: Dave Lee <davelee.com at gmail.com>
  Date:   2025-01-25 (Sat, 25 Jan 2025)

  Changed paths:
    M lldb/packages/Python/lldbsuite/test/lldbutil.py
    M lldb/test/API/functionalities/data-formatter/data-formatter-stl/libcxx/atomic/TestLibCxxAtomic.py
    M lldb/test/API/functionalities/data-formatter/data-formatter-stl/libcxx/initializerlist/TestInitializerList.py

  Log Message:
  -----------
  [lldb] Delete lldbutil.PrintableRegex (NFC)

Use of this class wasn't making use of the original regex string. Note that `re.Pattern`
has a `pattern` property to access the original regex.


  Commit: def50f701f6a2c1e0550bb341fd8b64bed299e72
      https://github.com/llvm/llvm-project/commit/def50f701f6a2c1e0550bb341fd8b64bed299e72
  Author: Hui <hui.xie1990 at gmail.com>
  Date:   2025-01-25 (Sat, 25 Jan 2025)

  Changed paths:
    M libcxx/docs/FeatureTestMacroTable.rst
    M libcxx/docs/Status/Cxx23Papers.csv
    M libcxx/include/CMakeLists.txt
    M libcxx/include/__flat_map/flat_map.h
    A libcxx/include/__flat_map/flat_multimap.h
    A libcxx/include/__flat_map/sorted_equivalent.h
    A libcxx/include/__flat_map/utils.h
    M libcxx/include/__functional/is_transparent.h
    M libcxx/include/flat_map
    M libcxx/include/module.modulemap
    M libcxx/include/version
    M libcxx/modules/std/flat_map.inc
    A libcxx/test/libcxx/containers/container.adaptors/flat.map/assert.input_range.pass.cpp
    A libcxx/test/libcxx/containers/container.adaptors/flat.map/assert.sorted_unique.pass.cpp
    A libcxx/test/libcxx/containers/container.adaptors/flat.multimap/assert.input_range.pass.cpp
    A libcxx/test/libcxx/containers/container.adaptors/flat.multimap/assert.sorted_equivalent.pass.cpp
    R libcxx/test/libcxx/containers/containers.adaptors/flat.map/assert.input_range.pass.cpp
    R libcxx/test/libcxx/containers/containers.adaptors/flat.map/assert.sorted_unique.pass.cpp
    A libcxx/test/std/containers/container.adaptors/flat.map.syn/sorted_equivalent.pass.cpp
    M libcxx/test/std/containers/container.adaptors/flat.map/flat.map.capacity/empty.pass.cpp
    M libcxx/test/std/containers/container.adaptors/flat.map/flat.map.capacity/empty.verify.cpp
    A libcxx/test/std/containers/container.adaptors/flat.map/flat.map.cons/deduct.compile.pass.cpp
    M libcxx/test/std/containers/container.adaptors/flat.map/flat.map.cons/deduct.pass.cpp
    M libcxx/test/std/containers/container.adaptors/flat.map/flat.map.cons/deduct.verify.cpp
    M libcxx/test/std/containers/container.adaptors/flat.map/flat.map.cons/default_noexcept.pass.cpp
    M libcxx/test/std/containers/container.adaptors/flat.map/flat.map.cons/dtor_noexcept.pass.cpp
    A libcxx/test/std/containers/container.adaptors/flat.multimap/flat.multimap.capacity/empty.pass.cpp
    A libcxx/test/std/containers/container.adaptors/flat.multimap/flat.multimap.capacity/empty.verify.cpp
    A libcxx/test/std/containers/container.adaptors/flat.multimap/flat.multimap.capacity/max_size.pass.cpp
    A libcxx/test/std/containers/container.adaptors/flat.multimap/flat.multimap.capacity/size.pass.cpp
    A libcxx/test/std/containers/container.adaptors/flat.multimap/flat.multimap.cons/alloc.pass.cpp
    A libcxx/test/std/containers/container.adaptors/flat.multimap/flat.multimap.cons/assign_initializer_list.pass.cpp
    A libcxx/test/std/containers/container.adaptors/flat.multimap/flat.multimap.cons/compare.pass.cpp
    A libcxx/test/std/containers/container.adaptors/flat.multimap/flat.multimap.cons/containers.pass.cpp
    A libcxx/test/std/containers/container.adaptors/flat.multimap/flat.multimap.cons/copy.pass.cpp
    A libcxx/test/std/containers/container.adaptors/flat.multimap/flat.multimap.cons/copy_alloc.pass.cpp
    A libcxx/test/std/containers/container.adaptors/flat.multimap/flat.multimap.cons/copy_assign.addressof.compile.pass.cpp
    A libcxx/test/std/containers/container.adaptors/flat.multimap/flat.multimap.cons/copy_assign.pass.cpp
    A libcxx/test/std/containers/container.adaptors/flat.multimap/flat.multimap.cons/deduct.compile.pass.cpp
    A libcxx/test/std/containers/container.adaptors/flat.multimap/flat.multimap.cons/deduct.pass.cpp
    A libcxx/test/std/containers/container.adaptors/flat.multimap/flat.multimap.cons/deduct.verify.cpp
    A libcxx/test/std/containers/container.adaptors/flat.multimap/flat.multimap.cons/deduct_pmr.pass.cpp
    A libcxx/test/std/containers/container.adaptors/flat.multimap/flat.multimap.cons/default.pass.cpp
    A libcxx/test/std/containers/container.adaptors/flat.multimap/flat.multimap.cons/default_noexcept.pass.cpp
    A libcxx/test/std/containers/container.adaptors/flat.multimap/flat.multimap.cons/dtor_noexcept.pass.cpp
    A libcxx/test/std/containers/container.adaptors/flat.multimap/flat.multimap.cons/initializer_list.pass.cpp
    A libcxx/test/std/containers/container.adaptors/flat.multimap/flat.multimap.cons/iter_iter.pass.cpp
    A libcxx/test/std/containers/container.adaptors/flat.multimap/flat.multimap.cons/move.pass.cpp
    A libcxx/test/std/containers/container.adaptors/flat.multimap/flat.multimap.cons/move_alloc.pass.cpp
    A libcxx/test/std/containers/container.adaptors/flat.multimap/flat.multimap.cons/move_assign.pass.cpp
    A libcxx/test/std/containers/container.adaptors/flat.multimap/flat.multimap.cons/move_assign_clears.pass.cpp
    A libcxx/test/std/containers/container.adaptors/flat.multimap/flat.multimap.cons/move_assign_noexcept.pass.cpp
    A libcxx/test/std/containers/container.adaptors/flat.multimap/flat.multimap.cons/move_exceptions.pass.cpp
    A libcxx/test/std/containers/container.adaptors/flat.multimap/flat.multimap.cons/move_noexcept.pass.cpp
    A libcxx/test/std/containers/container.adaptors/flat.multimap/flat.multimap.cons/pmr.pass.cpp
    A libcxx/test/std/containers/container.adaptors/flat.multimap/flat.multimap.cons/range.pass.cpp
    A libcxx/test/std/containers/container.adaptors/flat.multimap/flat.multimap.cons/sorted_container.pass.cpp
    A libcxx/test/std/containers/container.adaptors/flat.multimap/flat.multimap.cons/sorted_initializer_list.pass.cpp
    A libcxx/test/std/containers/container.adaptors/flat.multimap/flat.multimap.cons/sorted_iter_iter.pass.cpp
    A libcxx/test/std/containers/container.adaptors/flat.multimap/flat.multimap.erasure/erase_if.pass.cpp
    A libcxx/test/std/containers/container.adaptors/flat.multimap/flat.multimap.erasure/erase_if_exceptions.pass.cpp
    A libcxx/test/std/containers/container.adaptors/flat.multimap/flat.multimap.iterators/iterator.pass.cpp
    A libcxx/test/std/containers/container.adaptors/flat.multimap/flat.multimap.iterators/iterator_comparison.pass.cpp
    A libcxx/test/std/containers/container.adaptors/flat.multimap/flat.multimap.iterators/iterator_concept_conformance.compile.pass.cpp
    A libcxx/test/std/containers/container.adaptors/flat.multimap/flat.multimap.iterators/range_concept_conformance.compile.pass.cpp
    A libcxx/test/std/containers/container.adaptors/flat.multimap/flat.multimap.iterators/reverse_iterator.pass.cpp
    A libcxx/test/std/containers/container.adaptors/flat.multimap/flat.multimap.modifiers/clear.pass.cpp
    A libcxx/test/std/containers/container.adaptors/flat.multimap/flat.multimap.modifiers/emplace.pass.cpp
    A libcxx/test/std/containers/container.adaptors/flat.multimap/flat.multimap.modifiers/emplace_hint.pass.cpp
    A libcxx/test/std/containers/container.adaptors/flat.multimap/flat.multimap.modifiers/erase_iter.pass.cpp
    A libcxx/test/std/containers/container.adaptors/flat.multimap/flat.multimap.modifiers/erase_iter_iter.pass.cpp
    A libcxx/test/std/containers/container.adaptors/flat.multimap/flat.multimap.modifiers/erase_key.pass.cpp
    A libcxx/test/std/containers/container.adaptors/flat.multimap/flat.multimap.modifiers/erase_key_transparent.pass.cpp
    A libcxx/test/std/containers/container.adaptors/flat.multimap/flat.multimap.modifiers/extract.pass.cpp
    A libcxx/test/std/containers/container.adaptors/flat.multimap/flat.multimap.modifiers/insert_cv.pass.cpp
    A libcxx/test/std/containers/container.adaptors/flat.multimap/flat.multimap.modifiers/insert_initializer_list.pass.cpp
    A libcxx/test/std/containers/container.adaptors/flat.multimap/flat.multimap.modifiers/insert_iter_cv.pass.cpp
    A libcxx/test/std/containers/container.adaptors/flat.multimap/flat.multimap.modifiers/insert_iter_iter.pass.cpp
    A libcxx/test/std/containers/container.adaptors/flat.multimap/flat.multimap.modifiers/insert_iter_rv.pass.cpp
    A libcxx/test/std/containers/container.adaptors/flat.multimap/flat.multimap.modifiers/insert_range.pass.cpp
    A libcxx/test/std/containers/container.adaptors/flat.multimap/flat.multimap.modifiers/insert_rv.pass.cpp
    A libcxx/test/std/containers/container.adaptors/flat.multimap/flat.multimap.modifiers/insert_sorted_initializer_list.pass.cpp
    A libcxx/test/std/containers/container.adaptors/flat.multimap/flat.multimap.modifiers/insert_sorted_iter_iter.pass.cpp
    A libcxx/test/std/containers/container.adaptors/flat.multimap/flat.multimap.modifiers/insert_transparent.pass.cpp
    A libcxx/test/std/containers/container.adaptors/flat.multimap/flat.multimap.modifiers/replace.pass.cpp
    A libcxx/test/std/containers/container.adaptors/flat.multimap/flat.multimap.modifiers/swap_exception.pass.cpp
    A libcxx/test/std/containers/container.adaptors/flat.multimap/flat.multimap.modifiers/swap_free.pass.cpp
    A libcxx/test/std/containers/container.adaptors/flat.multimap/flat.multimap.modifiers/swap_member.pass.cpp
    A libcxx/test/std/containers/container.adaptors/flat.multimap/flat.multimap.observers/comp.pass.cpp
    A libcxx/test/std/containers/container.adaptors/flat.multimap/flat.multimap.observers/keys_values.pass.cpp
    A libcxx/test/std/containers/container.adaptors/flat.multimap/flat.multimap.operations/contains.pass.cpp
    A libcxx/test/std/containers/container.adaptors/flat.multimap/flat.multimap.operations/contains_transparent.pass.cpp
    A libcxx/test/std/containers/container.adaptors/flat.multimap/flat.multimap.operations/count.pass.cpp
    A libcxx/test/std/containers/container.adaptors/flat.multimap/flat.multimap.operations/count_transparent.pass.cpp
    A libcxx/test/std/containers/container.adaptors/flat.multimap/flat.multimap.operations/equal_range.pass.cpp
    A libcxx/test/std/containers/container.adaptors/flat.multimap/flat.multimap.operations/equal_range_transparent.pass.cpp
    A libcxx/test/std/containers/container.adaptors/flat.multimap/flat.multimap.operations/find.pass.cpp
    A libcxx/test/std/containers/container.adaptors/flat.multimap/flat.multimap.operations/find_transparent.pass.cpp
    A libcxx/test/std/containers/container.adaptors/flat.multimap/flat.multimap.operations/lower_bound.pass.cpp
    A libcxx/test/std/containers/container.adaptors/flat.multimap/flat.multimap.operations/lower_bound_transparent.pass.cpp
    A libcxx/test/std/containers/container.adaptors/flat.multimap/flat.multimap.operations/upper_bound.pass.cpp
    A libcxx/test/std/containers/container.adaptors/flat.multimap/flat.multimap.operations/upper_bound_transparent.pass.cpp
    A libcxx/test/std/containers/container.adaptors/flat.multimap/helpers.h
    A libcxx/test/std/containers/container.adaptors/flat.multimap/incomplete_type.pass.cpp
    A libcxx/test/std/containers/container.adaptors/flat.multimap/op_compare.pass.cpp
    A libcxx/test/std/containers/container.adaptors/flat.multimap/types.compile.pass.cpp
    A libcxx/test/std/language.support/support.limits/support.limits.general/flat_map.version.compile.pass.cpp
    M libcxx/test/std/language.support/support.limits/support.limits.general/version.version.compile.pass.cpp
    M libcxx/utils/generate_feature_test_macro_components.py

  Log Message:
  -----------
  [libc++] implement `std::flat_multimap` (#113835)

fixes https://github.com/llvm/llvm-project/issues/105190

---------

Co-authored-by: Hui Xie <huixie at Mac.broadband>
Co-authored-by: Hui Xie <huixie at Huis-MacBook-Pro.local>


  Commit: d578d0bb135ca337b14aabe6696fe5b0a0932932
      https://github.com/llvm/llvm-project/commit/d578d0bb135ca337b14aabe6696fe5b0a0932932
  Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
  Date:   2025-01-25 (Sat, 25 Jan 2025)

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

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


  Commit: 2655ae54db6d7e9276a5ef4208cbeff1ae2ee72c
      https://github.com/llvm/llvm-project/commit/2655ae54db6d7e9276a5ef4208cbeff1ae2ee72c
  Author: Jakub Kuderski <jakub at nod-labs.com>
  Date:   2025-01-25 (Sat, 25 Jan 2025)

  Changed paths:
    M mlir/examples/toy/Ch4/mlir/Dialect.cpp
    M mlir/examples/toy/Ch5/mlir/Dialect.cpp
    M mlir/examples/toy/Ch6/mlir/Dialect.cpp
    M mlir/examples/toy/Ch7/mlir/Dialect.cpp

  Log Message:
  -----------
  [mlir] Fix deprecated pointer union casts in toy example (#124422)


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

  Changed paths:
    M llvm/include/llvm/CodeGen/TargetLowering.h
    M llvm/lib/CodeGen/SelectionDAG/TargetLowering.cpp

  Log Message:
  -----------
  [TargetLowering] Pull similar code out of the forceExpandWideMUL into a helper. NFC (#124371)

These functions have similar code. One of them calculates the 2x width
full product from 2 sources. The other calculates the product from 2
sources that have low and high halves.

This patch introduces a new function that takes HiLHS and HiRHS as
optional values. If they are not null, they will be used in the
calculation of the Hi half. The Signed flag can only be set when
HiLHS/HiRHS are null.


  Commit: 5e65f430414dd9df79ca6a1056b4943110ebc14b
      https://github.com/llvm/llvm-project/commit/5e65f430414dd9df79ca6a1056b4943110ebc14b
  Author: Alexey Bataev <a.bataev at outlook.com>
  Date:   2025-01-25 (Sat, 25 Jan 2025)

  Changed paths:
    A llvm/test/Transforms/SLPVectorizer/X86/extracts-non-extendable.ll

  Log Message:
  -----------
  [SLP][NFC]Add a test, producing serie of extrtactelements, building non-extendable tree


  Commit: e5b0132d157ad4c9a502dc8c4a61a3a3c83646c2
      https://github.com/llvm/llvm-project/commit/e5b0132d157ad4c9a502dc8c4a61a3a3c83646c2
  Author: Ramkumar Ramachandra <ramkumar.ramachandra at codasip.com>
  Date:   2025-01-25 (Sat, 25 Jan 2025)

  Changed paths:
    M llvm/test/Analysis/ScalarEvolution/exit-count-non-strict.ll

  Log Message:
  -----------
  SCEV: add samesign tests for exit-limit computation (#124304)

As the tests demonstrate, computeExitLimitFromICmp needs no additional
changes to compute exit limits from an icmp with samesign.


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

  Changed paths:
    M llvm/test/Transforms/InstCombine/fsh.ll

  Log Message:
  -----------
  [InstCombine] Add test for incorrect retention of Range attribute in fshl


  Commit: 77c325b646301e394bcd89c2980b4c2da8af49cd
      https://github.com/llvm/llvm-project/commit/77c325b646301e394bcd89c2980b4c2da8af49cd
  Author: Jacek Caban <jacek at codeweavers.com>
  Date:   2025-01-25 (Sat, 25 Jan 2025)

  Changed paths:
    M lld/COFF/DLL.cpp
    M lld/test/COFF/arm64ec-import.test

  Log Message:
  -----------
  [LLD][COFF] Keep hasData true in NullChunk constructor (#124368)

`NullChunk` instances do write data, even if it's always zero. Setting
`hasData` to false causes `Writer::assignAddresses` to ignore them
when calculating `rawSize`. This typically isn't an issue, as null chunks
are usually positioned within a section, and later chunks adjust the
size accordingly.

However, on ARM64EC, the auxiliary IAT is placed at the end of the
`.rdata` section and terminates with a null chunk. As a result, `rawSize`
is never updated to account for it, and space for the null chunk is not
allocated. Consequently, when `NullChunk::writeTo` is called, it receives
an invalid pointer - either pointing to the next section or beyond the
allocated buffer.


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

  Changed paths:
    M llvm/lib/Transforms/InstCombine/InstCombineSimplifyDemanded.cpp
    M llvm/test/Transforms/InstCombine/fsh.ll

  Log Message:
  -----------
  [InstCombine] Drop Range attribute when simplifying 'fshl' based on demanded bits (#124429)

When simplifying operands based on demanded bits, the return value range
of llvm.fshl might change. Keeping the Range attribute might cause
llvm.fshl to generate a poison and lead to miscompile. Drop the Range
attribute similar to `dropPosonGeneratingFlags` elsewhere.

Fix #124387


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

  Changed paths:
    M llvm/lib/Transforms/Vectorize/VPlanHCFGBuilder.cpp
    M llvm/unittests/Transforms/Vectorize/VPlanHCFGTest.cpp

  Log Message:
  -----------
  [VPlan] Support multi-exit loops in HCFG builder.

Update HCFG construction to support multi-exit loops. If there is no
unique exit block, map the middle block of the initial plan to the exit
block from the latch.

This further unifies HCFG construction and prepares for use to also
build an initial VPlan (VPlan0) for inner loops.

Effectively NFC as this isn't used on the default code path yet.


  Commit: 563c7c5539f05e7f8cbb42565c1f24466019f38b
      https://github.com/llvm/llvm-project/commit/563c7c5539f05e7f8cbb42565c1f24466019f38b
  Author: Kazu Hirata <kazu at google.com>
  Date:   2025-01-25 (Sat, 25 Jan 2025)

  Changed paths:
    M clang/include/clang/AST/APValue.h
    M clang/include/clang/AST/ASTContext.h
    M clang/include/clang/AST/Decl.h
    M clang/include/clang/AST/DeclBase.h
    M clang/include/clang/AST/DeclTemplate.h
    M clang/include/clang/AST/Expr.h
    M clang/include/clang/AST/ExprCXX.h
    M clang/include/clang/Basic/IdentifierTable.h
    M clang/include/clang/Lex/Preprocessor.h
    M clang/lib/APINotes/APINotesManager.cpp
    M clang/lib/AST/Decl.cpp
    M clang/lib/AST/DeclCXX.cpp
    M clang/lib/AST/DeclTemplate.cpp
    M clang/lib/AST/TemplateName.cpp
    M clang/lib/Frontend/SerializedDiagnosticPrinter.cpp
    M clang/lib/Sema/SemaDecl.cpp
    M clang/tools/libclang/CIndexDiagnostic.cpp

  Log Message:
  -----------
  [clang] Migrate away from PointerUnion::dyn_cast (NFC) (#124425)

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

This patch migrates uses of PointerUnion::dyn_cast to
dyn_cast_if_present (see the definition of PointerUnion::dyn_cast).
Note that we cannot use dyn_cast in any of the migrations in this
patch; placing

  assert(!X.isNull());

just before any of dyn_cast_if_present in this patch triggers some
failure in check-clang.


  Commit: 04d5608057f73cf8deb66ddaeddf2f9254fd864b
      https://github.com/llvm/llvm-project/commit/04d5608057f73cf8deb66ddaeddf2f9254fd864b
  Author: Kazu Hirata <kazu at google.com>
  Date:   2025-01-25 (Sat, 25 Jan 2025)

  Changed paths:
    M clang/lib/AST/DeclTemplate.cpp

  Log Message:
  -----------
  [AST] Migrate away from PointerUnion::dyn_cast (NFC) (#124430)

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

Literal migration would result in dyn_cast_if_present (see the
definition of PointerUnion::dyn_cast), but this patch uses dyn_cast
because we expect P to be nonnull.


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

  Changed paths:
    M lld/ELF/EhFrame.cpp
    M lld/test/ELF/invalid-eh-frame2.s
    M lld/test/ELF/invalid-eh-frame4.s
    M lld/test/ELF/invalid-eh-frame6.s

  Log Message:
  -----------
  [ELF] EhFrame: replace failOn with errOn

These diagnostics are mostly reported by a thread during writeSections.
In LLD_IN_TEST=2 mode, when a thread calls Fatal, there will be no
output even if the process exits with code 1.


  Commit: 0f3c2884f3ccbdbe396e4388feb8be716b50dd68
      https://github.com/llvm/llvm-project/commit/0f3c2884f3ccbdbe396e4388feb8be716b50dd68
  Author: Kazu Hirata <kazu at google.com>
  Date:   2025-01-25 (Sat, 25 Jan 2025)

  Changed paths:
    M clang/lib/AST/ParentMapContext.cpp

  Log Message:
  -----------
  [AST] Migrate away from PointerUnion::dyn_cast (NFC) (#124433)

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

Literal migration would result in dyn_cast_if_present (see the
definition of PointerUnion::dyn_cast), but this patch uses dyn_cast
because we expect U to be nonnull.


  Commit: d2c7cabe0453d6a6d03c15b7ae1800b53de9e182
      https://github.com/llvm/llvm-project/commit/d2c7cabe0453d6a6d03c15b7ae1800b53de9e182
  Author: Kazu Hirata <kazu at google.com>
  Date:   2025-01-25 (Sat, 25 Jan 2025)

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

  Log Message:
  -----------
  [Sema] Migrate away from PointerUnion::dyn_cast (NFC) (#124434)

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

Literal migration would result in dyn_cast_if_present (see the
definition of PointerUnion::dyn_cast), but this patch uses dyn_cast
because we expect EWC->getObject(i) to be nonnull.


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

  Changed paths:
    M lld/ELF/InputFiles.cpp
    M lld/test/ELF/invalid/merge-invalid-size.s
    M lld/test/ELF/invalid/merge-writable.s

  Log Message:
  -----------
  [ELF] SHF_MERGE: avoid Fatal

In LLD_IN_TEST=2 mode, when a thread calls Fatal, there will be no
output even if the process exits with code 1.


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

  Changed paths:
    M lld/ELF/Writer.cpp
    M lld/test/ELF/stdout.s

  Log Message:
  -----------
  [ELF] -o -: suppress output if disableOutput

So that LLD_IN_TEST=2 ld.lld -o - a.o only writes the output once.


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

  Changed paths:
    M lld/ELF/InputSection.cpp
    M lld/test/ELF/compressed-input-err.s
    M lld/test/ELF/invalid/section-alignment.test
    M lld/test/ELF/invalid/section-alignment2.s

  Log Message:
  -----------
  [ELF] Replace a few Fatal with Err

In LLD_IN_TEST=2 mode, when a thread calls Fatal, there will be no
output even if the process exits with code 1. Change a few Fatal to
recoverable Err.


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

  Changed paths:
    M lld/ELF/InputSection.cpp
    R lld/test/ELF/merge-string-error.s
    M lld/test/ELF/mergeable-errors.s
    M lld/test/ELF/relocation-past-merge-end.s

  Log Message:
  -----------
  [ELF] MergeInputSection: replace Fatal with Err

In LLD_IN_TEST=2 mode, when a thread calls Fatal, there will be no
output even if the process exits with code 1. Change a few Fatal to
recoverable Err.


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

  Changed paths:
    M lld/ELF/Driver.cpp

  Log Message:
  -----------
  [ELF] openAuxiliaryFile: open /dev/null if disableOutput and filename is "-"

So that LLD_IN_TEST=2 ld.lld --print-archive-stats=- a.o (and -Map -)
only writes the output once.


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

  Changed paths:
    M lld/test/ELF/basic.s
    M lld/test/ELF/stdout.s

  Log Message:
  -----------
  [ELF,test] Add env LLD_IN_TEST=1 to make some tests work if RUN_LLD_MAIN_TWICE


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

  Changed paths:
    M lld/ELF/Driver.cpp
    M lld/ELF/InputFiles.cpp
    M lld/ELF/Relocations.cpp
    M lld/test/ELF/invalid/section-index.test
    M lld/test/ELF/invalid/symbol-name.test

  Log Message:
  -----------
  [ELF] Replace some Fatal with Err

In LLD_IN_TEST=2 mode, when a thread calls Fatal, there will be no
output even if the process exits with code 1. Change a few Fatal to
recoverable Err.


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

  Changed paths:
    M lld/test/ELF/invalid/bad-reloc-target.test
    M lld/test/ELF/lto/cache-warnings.ll
    M lld/test/ELF/lto/ltopasses-custom.ll
    M lld/test/ELF/lto/verify-invalid.ll

  Log Message:
  -----------
  [ELF,test] Add env LLD_IN_TEST=1 to make some tests work if RUN_LLD_MAIN_TWICE


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

  Changed paths:
    M lld/Common/ErrorHandler.cpp

  Log Message:
  -----------
  [ELF] Disable error handling script if disableOutput

Fix ELF/error-handling-script-linux.test when LLD_IN_TEST=2 is set.


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

  Changed paths:
    M lld/ELF/Driver.cpp

  Log Message:
  -----------
  [ELF] Ignore --time-trace if disableOutput

To avoid prevent generating two JSON for LLD_IN_TEST=2 ld.lld
--time-trace.


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

  Changed paths:
    M lld/ELF/InputFiles.cpp
    M lld/test/ELF/invalid/linkorder-invalid-sec.test

  Log Message:
  -----------
  [ELF] SHF_LINK_ORDER: replace Fatal with ErrAlways

In LLD_IN_TEST=2 mode, when a thread calls Fatal, there will be no
output even if the process exits with code 1. Change the Fatal to
ErrAlways (not-recoverable) as subsequent code assumes SHF_LINK_ORDER
sh_link is correct.


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

  Changed paths:
    M clang/lib/Format/TokenAnnotator.cpp
    M clang/unittests/Format/FormatTestTableGen.cpp

  Log Message:
  -----------
  [clang-format] Fix a TableGen crash on comment after l_paren (#124380)

Fixes #124248.


  Commit: 9b6990ff2531942d534c9ef7db728af2437c3329
      https://github.com/llvm/llvm-project/commit/9b6990ff2531942d534c9ef7db728af2437c3329
  Author: Aiden Grossman <aidengrossman at google.com>
  Date:   2025-01-25 (Sat, 25 Jan 2025)

  Changed paths:
    M .github/workflows/premerge.yaml

  Log Message:
  -----------
  [Github][CI] Add Windows Premerge Job for Testing (#122661)

This patch adds a windows premerge job for testing. We plan to enable
this by default soon once we have evaluated stability and have
reasonable reason to believe the system is reliable.


  Commit: 6bb70a94da1b5c53143537f1d2e96602a74331ca
      https://github.com/llvm/llvm-project/commit/6bb70a94da1b5c53143537f1d2e96602a74331ca
  Author: Tom Stellard <tstellar at redhat.com>
  Date:   2025-01-25 (Sat, 25 Jan 2025)

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

  Log Message:
  -----------
  workflows/release-binaries: Enable builds on Linux/AArch64 (#120786)


  Commit: 44b85743498a88cb9fd1281bdfac47c93fcf6fee
      https://github.com/llvm/llvm-project/commit/44b85743498a88cb9fd1281bdfac47c93fcf6fee
  Author: Palmer <palmercox at gmail.com>
  Date:   2025-01-25 (Sat, 25 Jan 2025)

  Changed paths:
    M llvm/lib/Target/AArch64/AsmParser/AArch64AsmParser.cpp
    M llvm/test/MC/AArch64/basic-a64-instructions.s

  Log Message:
  -----------
  [AArch64] Fix movk parsing with an .equ operand (#124428)

Prior to 5da801386c2b820a4596fc6d8da6b5f4a6da94b4, this code worked:

    .equ    p4_low_b0, 0x0000
    movk    x1, p4_low_b0, lsl 16

(The code above is from the isa-l project - I discovered this issue
while trying to compile it with clang 19 on MacOS on aarch64)

That commit fixed a different bug, but accidentally broke the case where
the second operand to movk is not a literal.

In 442f066fc464e953b7783230e95ccf2a67ebfb38, a fix was applied to handle
the case where the second operand is a value like "(Val) >> 16".
However, that didn't appear to fix the test case in this commit. In this
commit, we extend the change to handle the case where the second operand
is a identifier defined by .equ.

Fixes #124427


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

  Changed paths:
    M llvm/lib/Target/Xtensa/CMakeLists.txt
    M llvm/lib/Target/Xtensa/MCTargetDesc/XtensaMCTargetDesc.cpp
    M llvm/lib/Target/Xtensa/MCTargetDesc/XtensaMCTargetDesc.h
    M llvm/lib/Target/Xtensa/XtensaISelDAGToDAG.cpp
    M llvm/lib/Target/Xtensa/XtensaRegisterInfo.cpp
    R llvm/lib/Target/Xtensa/XtensaUtils.cpp
    R llvm/lib/Target/Xtensa/XtensaUtils.h

  Log Message:
  -----------
  [Xtensa] Move XtensaUtils to MCTargetDesc

PR #121118 attempted to introduce `checkRegister` used by
XtensaDisassembler. Since `checkRegister` and other functions in
XtensaUtils.cpp cannot link against XtensaCodeGen, move them to
XtensaDesc, which can be used by XtensaDisassembler.

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


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

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

  Log Message:
  -----------
  [CodeGen] Remove implict conversions from Register to unsigned from MachineOperand. NFC


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

  Changed paths:
    M llvm/lib/Target/AMDGPU/SIMachineScheduler.cpp
    M llvm/lib/Target/AMDGPU/SIMachineScheduler.h

  Log Message:
  -----------
  [AMDGPU] Replace unsigned with Register in SIMachineScheduler. NFC

Some of these may eventually need to VirtRegOrUnit.


  Commit: ab895ad2bfb6835e8c47d8e616edb6cadaf59b77
      https://github.com/llvm/llvm-project/commit/ab895ad2bfb6835e8c47d8e616edb6cadaf59b77
  Author: Kazu Hirata <kazu at google.com>
  Date:   2025-01-26 (Sun, 26 Jan 2025)

  Changed paths:
    M clang/lib/AST/DeclTemplate.cpp

  Log Message:
  -----------
  [AST] Migrate away from PointerUnion::dyn_cast (NFC) (#124446)

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

Literal migration would result in dyn_cast_if_present (see the
definition of PointerUnion::dyn_cast), but this patch uses dyn_cast
because we expect Pattern to be nonnull.


  Commit: f09a6f632584c2b34f8f2d048a5420b040bb1005
      https://github.com/llvm/llvm-project/commit/f09a6f632584c2b34f8f2d048a5420b040bb1005
  Author: Kazu Hirata <kazu at google.com>
  Date:   2025-01-26 (Sun, 26 Jan 2025)

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

  Log Message:
  -----------
  [Sema] Migrate away from PointerUnion::dyn_cast (NFC) (#124447)

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

Literal migration would result in dyn_cast_if_present (see the
definition of PointerUnion::dyn_cast), but this patch uses dyn_cast
because we expect AnyFunc to be nonnull.


  Commit: 850852e9a45f7883bd1a04c2a6b9fceb6dcdaba2
      https://github.com/llvm/llvm-project/commit/850852e9a45f7883bd1a04c2a6b9fceb6dcdaba2
  Author: Kazu Hirata <kazu at google.com>
  Date:   2025-01-26 (Sun, 26 Jan 2025)

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

  Log Message:
  -----------
  [CodeGen] Avoid repeated hash lookups (NFC) (#124455)


  Commit: 8035d38daab028b8da3cf2b01090b5f0ceacd695
      https://github.com/llvm/llvm-project/commit/8035d38daab028b8da3cf2b01090b5f0ceacd695
  Author: Mats Petersson <mats.petersson at arm.com>
  Date:   2025-01-26 (Sun, 26 Jan 2025)

  Changed paths:
    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/lib/Semantics/resolve-directives.cpp
    A flang/test/Lower/OpenMP/Todo/dispatch.f90
    A flang/test/Parser/OpenMP/dispatch.f90
    A flang/test/Semantics/OpenMP/dispatch.f90

  Log Message:
  -----------
  [Flang][OpenMP]Add parsing support for DISPATCH construct (#121982)

This allows the Flang parser to accept the !$OMP DISPATCH and related
clauses.

Lowering is currently not implemented. Tests for unparse and parse-tree
dump is provided, and one for checking that the lowering ends in a "not
yet implemented"

---------

Co-authored-by: Kiran Chandramohan <kiran.chandramohan at arm.com>


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

  Changed paths:
    A llvm/test/Transforms/LoopVectorize/AArch64/transform-narrow-interleave-to-widen-memory.ll

  Log Message:
  -----------
  [LV] Add more tests for narrowing interleave groups for AArch64.

Add additional tests for
https://github.com/llvm/llvm-project/pull/106441.


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

  Changed paths:
    M llvm/lib/Target/X86/X86TargetTransformInfo.cpp
    M llvm/test/Analysis/CostModel/X86/ctlz-codesize.ll
    M llvm/test/Analysis/CostModel/X86/ctlz-sizelatency.ll
    M llvm/test/Analysis/CostModel/X86/ctlz.ll
    M llvm/test/Analysis/CostModel/X86/cttz-codesize.ll
    M llvm/test/Analysis/CostModel/X86/cttz-sizelatency.ll
    M llvm/test/Analysis/CostModel/X86/cttz.ll
    M llvm/test/Analysis/CostModel/X86/intrinsic-cost-kinds.ll
    M llvm/test/Transforms/SLPVectorizer/X86/ctlz.ll
    M llvm/test/Transforms/SLPVectorizer/X86/cttz.ll

  Log Message:
  -----------
  [CostModel][X86] Update baseline CTTZ/CTLZ costs for x86_64 (#124312)

Followup to #123623 - now that the CMOV has been removed, the throughput has improved, reducing the benefit of vectorization on pre-x86-64-v3 CPUs


  Commit: e4514293f99962b47d881d5b40722c6b56a1f425
      https://github.com/llvm/llvm-project/commit/e4514293f99962b47d881d5b40722c6b56a1f425
  Author: cor3ntin <corentinjabot at gmail.com>
  Date:   2025-01-26 (Sun, 26 Jan 2025)

  Changed paths:
    M clang/docs/ReleaseNotes.rst
    M clang/lib/Sema/SemaLambda.cpp
    M clang/test/SemaCXX/cxx1z-constexpr-lambdas.cpp

  Log Message:
  -----------
  [Clang] Correctly determine constexprness of dependent lambdas. (#124468)

We skipped checking if a lambda is constexpr if the parent context was
dependent, even if the lambda itself wasn't (and there is no other
opportunity to establish constexprness)


Fixes #114234
Fixes #97958


  Commit: 0c784851c50b6b5b844e6a1f21bbe73efac332d4
      https://github.com/llvm/llvm-project/commit/0c784851c50b6b5b844e6a1f21bbe73efac332d4
  Author: Jay Foad <jay.foad at amd.com>
  Date:   2025-01-26 (Sun, 26 Jan 2025)

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

  Log Message:
  -----------
  [MathExtras] Favor using the hexadecimal FP constants (#123180)

This just fixes a TODO now that we are using C++17.


  Commit: 33ad474c45e6d7a0de7bc75e15e27cf6cb9ff895
      https://github.com/llvm/llvm-project/commit/33ad474c45e6d7a0de7bc75e15e27cf6cb9ff895
  Author: Manuel Sainz de Baranda y Goñi <manuel at zxe.io>
  Date:   2025-01-26 (Sun, 26 Jan 2025)

  Changed paths:
    M clang/docs/ReleaseNotes.rst
    M clang/lib/Frontend/InitPreprocessor.cpp
    M clang/test/Preprocessor/init-aarch64.c
    M clang/test/Preprocessor/init-arm.c
    M clang/test/Preprocessor/init-csky.c
    M clang/test/Preprocessor/init-loongarch.c
    M clang/test/Preprocessor/init-mips.c
    M clang/test/Preprocessor/init-ppc.c
    M clang/test/Preprocessor/init-ppc64.c
    M clang/test/Preprocessor/init-s390x.c
    M clang/test/Preprocessor/init-v7k-compat.c
    M clang/test/Preprocessor/init-ve.c
    M clang/test/Preprocessor/init-x86.c
    M clang/test/Preprocessor/init.c

  Log Message:
  -----------
  [Clang] Add predefined macros for integer constants (#123514)

This adds predefined macros for integer constants to implement section 7.18.4 of ISO/IEC 9899:1999 in `<stdint.h>` in a safe way:

```
__INT8_C(c)
__INT16_C(c)
__INT32_C(c)
__INT64_C(c)
__INTMAX_C(c)
__UINT8_C(c)
__UINT16_C(c)
__UINT32_C(c)
__UINT64_C(c)
__UINTMAX_C(c)
```

Which improves compatibility with GCC and makes it trivial to implement
section 7.18.4 of ISO/IEC 9899:1999.

Clang defines `__INT<N>_C_SUFFIX__`, `__UINT<N>_C_SUFFIX__`,
`__INTAX_C_SUFFIX__` and `__UINTMAX_C_SUFFIX__`, but these macros are
useless for this purpose.

Let's say, for example, that `__INT64_C_SUFFIX__` expands to `L` or
`LL`. If the user defines them as a macros, the compiler will produce
errors if `INT64_C` is implemented in `<stdint.h>` using
`__INT64_C_SUFFIX__`:

**minimal-test.c:**
```cpp
#if defined(__clang__) & !defined(__INT64_C)
#	pragma clang diagnostic push
#	pragma clang diagnostic ignored "-Wreserved-identifier"
#	define __PSTDC_INT_C_(literal, suffix) literal##suffix
#	define __PSTDC_INT_C(literal, suffix) __PSTDC_INT_C_(literal, suffix)
#	define INT64_C(literal) __PSTDC_INT_C(literal, __INT64_C_SUFFIX__)
#	pragma clang diagnostic pop
#elif defined(__GNUC__)
#	define INT64_C __INT64_C
#endif

typedef __INT64_TYPE__ int64_t;

#define L  "Make Clang produce an error"
#define LL "Make Clang produce an error"

int main(int argc, char **argv)
	{
	(void)argc; (void)argv;
	int64_t v = INT64_C(9223372036854775807);
	(void)v;
	return 0;
	}

```

<img width="697" alt="imagen"
src="https://github.com/user-attachments/assets/6df97af6-7cfd-4cf9-85b7-d7c854509325"
/>

**test.c:**
```cpp
#if defined(__clang__) && !defined(__INT8_C)
#	pragma clang diagnostic push
#	pragma clang diagnostic ignored "-Wreserved-identifier"

#	define __PSTDC_INT_C_(literal, suffix) literal##suffix
#	define __PSTDC_INT_C(literal, suffix) __PSTDC_INT_C_(literal, suffix)

#	define INT8_C(literal)    __PSTDC_INT_C(literal, __INT8_C_SUFFIX__)
#	define INT16_C(literal)   __PSTDC_INT_C(literal, __INT16_C_SUFFIX__)
#	define INT32_C(literal)   __PSTDC_INT_C(literal, __INT32_C_SUFFIX__)
#	define INT64_C(literal)   __PSTDC_INT_C(literal, __INT64_C_SUFFIX__)
#	define INTMAX_C(literal)  __PSTDC_INT_C(literal, __INTMAX_C_SUFFIX__)
#	define UINT8_C(literal)   __PSTDC_INT_C(literal, __UINT8_C_SUFFIX__)
#	define UINT16_C(literal)  __PSTDC_INT_C(literal, __UINT16_C_SUFFIX__)
#	define UINT32_C(literal)  __PSTDC_INT_C(literal, __UINT32_C_SUFFIX__)
#	define UINT64_C(literal)  __PSTDC_INT_C(literal, __UINT64_C_SUFFIX__)
#	define UINTMAX_C(literal) __PSTDC_INT_C(literal, __UINTMAX_C_SUFFIX__)

#	pragma clang diagnostic pop

#else
#	define INT8_C    __INT8_C
#	define INT16_C   __INT16_C
#	define INT32_C   __INT32_C
#	define INT64_C   __INT64_C
#	define INTMAX_C  __INTMAX_C
#	define UINT8_C   __UINT8_C
#	define UINT16_C  __UINT16_C
#	define UINT32_C  __UINT32_C
#	define UINT64_C  __UINT64_C
#	define UINTMAX_C __UINTMAX_C
#endif

typedef __INT8_TYPE__    int8_t;
typedef __INT16_TYPE__   int16_t;
typedef __INT32_TYPE__   int32_t;
typedef __INT64_TYPE__   int64_t;
typedef __INTMAX_TYPE__  intmax_t;
typedef __UINT8_TYPE__   uint8_t;
typedef __UINT16_TYPE__  uint16_t;
typedef __UINT32_TYPE__  uint32_t;
typedef __UINT64_TYPE__  uint64_t;
typedef __UINTMAX_TYPE__ uintmax_t;

#define L   "Make Clang produce an error"
#define LL  "Make Clang produce an error"
#define U   "Make Clang produce an error"
#define UL  "Make Clang produce an error"
#define ULL "Make Clang produce an error"

int main(int argc, char **argv)
	{
	(void)argc; (void)argv;

	int8_t    a = INT8_C   (127);
	int16_t   b = INT16_C  (32767);
	int32_t   c = INT32_C  (2147483647);
	int64_t   d = INT64_C  (9223372036854775807);
	intmax_t  e = INTMAX_C (9223372036854775807);
	uint8_t   f = UINT8_C  (255);
	uint16_t  g = UINT16_C (65535);
	uint32_t  h = UINT32_C (4294967295);
	uint64_t  i = UINT64_C (18446744073709551615);
	uintmax_t j = UINTMAX_C(18446744073709551615);

	(void)a; (void)b; (void)c; (void)d; (void)e;
	(void)f; (void)g; (void)h; (void)i; (void)j;
	return 0;
	}
```


  Commit: 2af819fa3d802e55027dcc1408186cb8738f08e6
      https://github.com/llvm/llvm-project/commit/2af819fa3d802e55027dcc1408186cb8738f08e6
  Author: Teresa Johnson <tejohnson at google.com>
  Date:   2025-01-26 (Sun, 26 Jan 2025)

  Changed paths:
    M llvm/test/Transforms/PGOProfile/memprof.ll

  Log Message:
  -----------
  [MemProf] Add test for hot hints (#124394)

The change in PR124219 required removing one of the tests added for
-memprof-use-hot-hints, since we no longer label any contexts as hot in
metadata, so add a new test that checks the hot attribute instead.


  Commit: f8ab91f74f152c8a6d8aaedb8165109c497a618d
      https://github.com/llvm/llvm-project/commit/f8ab91f74f152c8a6d8aaedb8165109c497a618d
  Author: Andreas Jonson <andjo403 at hotmail.com>
  Date:   2025-01-26 (Sun, 26 Jan 2025)

  Changed paths:
    M llvm/test/Transforms/CorrelatedValuePropagation/icmp.ll

  Log Message:
  -----------
  [LVI][CVP] Add test for trunc bittest. (NFC)


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

  Changed paths:
    M lld/MachO/BPSectionOrderer.cpp
    M lld/MachO/BPSectionOrderer.h

  Log Message:
  -----------
  [lld-macho] Remove unneeded functions from BPSectionOrderer. NFC


  Commit: ccc066e8d5a742f79b41a0f90ef309d5b9e92c2a
      https://github.com/llvm/llvm-project/commit/ccc066e8d5a742f79b41a0f90ef309d5b9e92c2a
  Author: Kazu Hirata <kazu at google.com>
  Date:   2025-01-26 (Sun, 26 Jan 2025)

  Changed paths:
    M clang/utils/TableGen/MveEmitter.cpp

  Log Message:
  -----------
  [TableGen] Avoid repeated map lookups (NFC) (#124448)

This patch avoids repeated map lookups and constructions of temporary
std::string instances by switching to DenseSet.


  Commit: 1c4341d176492da5f276937b84a3d0c959e4cf5b
      https://github.com/llvm/llvm-project/commit/1c4341d176492da5f276937b84a3d0c959e4cf5b
  Author: Vasileios Porpodas <vporpodas at google.com>
  Date:   2025-01-26 (Sun, 26 Jan 2025)

  Changed paths:
    M llvm/lib/Transforms/Vectorize/SandboxVectorizer/DependencyGraph.cpp

  Log Message:
  -----------
  [SandboxVec][DAG] Fix interval check without Node

This patch moves the check of whether a node exists before the check of
whether it is contained in the interval.


  Commit: fb01a289038c16e13c6133ee602a58254b349411
      https://github.com/llvm/llvm-project/commit/fb01a289038c16e13c6133ee602a58254b349411
  Author: Jacek Caban <jacek at codeweavers.com>
  Date:   2025-01-26 (Sun, 26 Jan 2025)

  Changed paths:
    M lld/COFF/Chunks.cpp
    M lld/COFF/DLL.cpp
    M lld/COFF/InputFiles.cpp
    M lld/COFF/InputFiles.h
    A lld/test/COFF/arm64x-import.test

  Log Message:
  -----------
  [LLD][COFF] Implement support for hybrid IAT on ARM64X (#124189)

In hybrid images, the PE header references a single IAT for both native
and EC views, merging entries where possible. When merging isn't
feasible, different imports are grouped together, and ARM64X relocations
are emitted as needed.


  Commit: 80ab237c1187aa7e8a1f546175887d768fa14e2d
      https://github.com/llvm/llvm-project/commit/80ab237c1187aa7e8a1f546175887d768fa14e2d
  Author: Jacek Caban <jacek at codeweavers.com>
  Date:   2025-01-26 (Sun, 26 Jan 2025)

  Changed paths:
    M lld/test/COFF/arm64x-import.test

  Log Message:
  -----------
  [LLD][COFF] Add REQUIRE x86 to arm64x-import.test (NFC)

This ensures the disassembler can handle ARM64X binaries correctly. Fixes #124189.


  Commit: e278e1b6ece025ace4238748c0f57fda3ca833f9
      https://github.com/llvm/llvm-project/commit/e278e1b6ece025ace4238748c0f57fda3ca833f9
  Author: Alexey Bader <alexey.bader at intel.com>
  Date:   2025-01-26 (Sun, 26 Jan 2025)

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

  Log Message:
  -----------
  [NFC][CodeGen] Fix typos in code comments. (#124382)

This fixes typos in `calcUniqueIDUpdateFlagsAndSize` function.


  Commit: c9637afec7ed72904c74c2fc71e990d378f3d7a6
      https://github.com/llvm/llvm-project/commit/c9637afec7ed72904c74c2fc71e990d378f3d7a6
  Author: Shafik Yaghmour <shafik.yaghmour at intel.com>
  Date:   2025-01-26 (Sun, 26 Jan 2025)

  Changed paths:
    M clang/lib/AST/ExprConstant.cpp

  Log Message:
  -----------
  [Clang] Fix createConstexprUnknownAPValues to use zero offset when ceating APValue (#124478)

When implmenting P2280R4 here:
https://github.com/llvm/llvm-project/pull/95474

When creating the APValue to store and constexprUnknown value I used an
offset of CharUnits::One() but it should have been CharUnits::Zero().

This change just adjusts that value.


  Commit: bfa7de0df5d8eb8dd284b0f49f10e7f0cd850693
      https://github.com/llvm/llvm-project/commit/bfa7de0df5d8eb8dd284b0f49f10e7f0cd850693
  Author: YunQiang Su <yunqiang at isrc.iscas.ac.cn>
  Date:   2025-01-27 (Mon, 27 Jan 2025)

  Changed paths:
    M llvm/lib/Target/X86/X86ISelLowering.cpp
    M llvm/test/CodeGen/X86/canonicalize-vars.ll

  Log Message:
  -----------
  X86: Support FCANONICALIZE on f64/f80 for i686 with SSE2 or AVX (#123917)

Currently, FCANONICALIZE is not enabled for f64 with SSE2,
and is not enabled for f80 for 32bit system.
Let's enable them.


  Commit: db79fb2a91df31a07f312f8e061936927ac5c506
      https://github.com/llvm/llvm-project/commit/db79fb2a91df31a07f312f8e061936927ac5c506
  Author: Thurston Dang <thurston at google.com>
  Date:   2025-01-26 (Sun, 26 Jan 2025)

  Changed paths:
    M llvm/lib/Transforms/Instrumentation/MemorySanitizer.cpp
    M llvm/test/Instrumentation/MemorySanitizer/X86/avx-intrinsics-x86.ll
    M llvm/test/Instrumentation/MemorySanitizer/X86/avx2-intrinsics-x86.ll
    M llvm/test/Instrumentation/MemorySanitizer/i386/avx-intrinsics-i386.ll
    M llvm/test/Instrumentation/MemorySanitizer/i386/avx2-intrinsics-i386.ll

  Log Message:
  -----------
  [msan] Add handlers for AVX masked load/store intrinsics (#123857)

This patch adds explicit support for AVX masked load/store intrinsics,
largely by applying the intrinsics to the shadows (but subtly different
to handleIntrinsicByApplyingToShadow()).

We do not reuse the handleMaskedLoad/Store functions. The key challenge
is that the LLVM masked intrinsics require a vector of booleans, while
AVX masked intrinsics use the MSBs of a vector of integers.
X86InstCombineIntrinsic.cpp::simplifyX86MaskedLoad mentions that the x86
backend does not know how to efficiently convert from a vector of
booleans back into the AVX mask format; therefore, they (and we) do not
reduce AVX masked intrinsics into LLVM masked intrinsics.


  Commit: 980e86f130eea02bd41b887f4ed896340fc90f6c
      https://github.com/llvm/llvm-project/commit/980e86f130eea02bd41b887f4ed896340fc90f6c
  Author: Thurston Dang <thurston at google.com>
  Date:   2025-01-26 (Sun, 26 Jan 2025)

  Changed paths:
    A llvm/test/Instrumentation/MemorySanitizer/X86/avx512-intrinsics-upgrade.ll
    A llvm/test/Instrumentation/MemorySanitizer/X86/avx512-intrinsics.ll

  Log Message:
  -----------
  [msan] Add avx512-intrinsics.ll and avx512-intrinsics-upgrade.ll test case (#123980)

These are forked from the corresponding files in llvm/test/CodeGen/X86/.

avx512-intrinsics.ll shows that many intrinsics are already
heuristically handled by MSan, and can be used to track refinements to
the intrinsic handling.

avx512-intrinsics-upgrade.ll tests intrinsics that LLVM "auto-upgrades";
for example, @llvm.x86.avx512.mask.store is converted into
@llvm.masked.store (which has the interesting side effect that
MemorySanitizer can already handle it via its existing
handleMaskedStore).


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

  Changed paths:
    M lld/ELF/Arch/ARM.cpp
    M lld/ELF/Arch/RISCV.cpp
    M lld/ELF/InputFiles.cpp

  Log Message:
  -----------
  [ELF] Replace Fatal with Err


  Commit: a6044a05cd16d2c5dbca80757a160cba9a2cb037
      https://github.com/llvm/llvm-project/commit/a6044a05cd16d2c5dbca80757a160cba9a2cb037
  Author: Thurston Dang <thurston at google.com>
  Date:   2025-01-26 (Sun, 26 Jan 2025)

  Changed paths:
    M llvm/test/Instrumentation/MemorySanitizer/X86/avx512-intrinsics-upgrade.ll

  Log Message:
  -----------
  [msan] Fix-forward avx512-intrinsics-upgrade.ll (#124495)

I had added the test in https://github.com/llvm/llvm-project/pull/123980
and contemporaneously added AVX masked store/load intrinsics
(https://github.com/llvm/llvm-project/pull/123857) and forgot to update
the test output for the intersection. This patch fixes the output.


  Commit: b9d301cc7e4fe4c442ec15169686fa4a18f5cdfc
      https://github.com/llvm/llvm-project/commit/b9d301cc7e4fe4c442ec15169686fa4a18f5cdfc
  Author: Thurston Dang <thurston at google.com>
  Date:   2025-01-27 (Mon, 27 Jan 2025)

  Changed paths:
    M llvm/lib/Transforms/Instrumentation/MemorySanitizer.cpp
    M llvm/test/Instrumentation/MemorySanitizer/X86/avx-intrinsics-x86.ll
    M llvm/test/Instrumentation/MemorySanitizer/X86/avx2-intrinsics-x86.ll
    M llvm/test/Instrumentation/MemorySanitizer/i386/avx-intrinsics-i386.ll
    M llvm/test/Instrumentation/MemorySanitizer/i386/avx2-intrinsics-i386.ll

  Log Message:
  -----------
  Revert "[msan] Add handlers for AVX masked load/store intrinsics (#123857)"

This reverts commit db79fb2a91df31a07f312f8e061936927ac5c506.

Reason: buildbot breakage
(https://lab.llvm.org/buildbot/#/builders/144/builds/16636/steps/6/logs/FAIL__LLVM__avx512-intrinsics-upgrade_ll)


  Commit: b6eeec586fa6c0db4ab1b0e129111e82a97c7283
      https://github.com/llvm/llvm-project/commit/b6eeec586fa6c0db4ab1b0e129111e82a97c7283
  Author: Thurston Dang <thurston at google.com>
  Date:   2025-01-27 (Mon, 27 Jan 2025)

  Changed paths:
    M llvm/test/Instrumentation/MemorySanitizer/X86/avx512-intrinsics-upgrade.ll

  Log Message:
  -----------
  Revert "[msan] Fix-forward avx512-intrinsics-upgrade.ll (#124495)"

This reverts commit a6044a05cd16d2c5dbca80757a160cba9a2cb037.

Reason: buildbot breakage
(https://lab.llvm.org/buildbot/#/builders/144/builds/16636/steps/6/logs/FAIL__LLVM__avx512-intrinsics-upgrade_ll)


  Commit: b2647ffbf797dd5a457b6b19faab06956934d067
      https://github.com/llvm/llvm-project/commit/b2647ffbf797dd5a457b6b19faab06956934d067
  Author: Thurston Dang <thurston at google.com>
  Date:   2025-01-27 (Mon, 27 Jan 2025)

  Changed paths:
    R llvm/test/Instrumentation/MemorySanitizer/X86/avx512-intrinsics-upgrade.ll
    R llvm/test/Instrumentation/MemorySanitizer/X86/avx512-intrinsics.ll

  Log Message:
  -----------
  Revert "[msan] Add avx512-intrinsics.ll and avx512-intrinsics-upgrade.ll test case (#123980)"

This reverts commit 980e86f130eea02bd41b887f4ed896340fc90f6c.

Reason: buildbot breakage
(https://lab.llvm.org/buildbot/#/builders/154/builds/10901/steps/5/logs/FAIL__LLVM__avx512-intrinsics-upgrade_ll)


  Commit: 7107f55d82f8d1077d5478e8f58c94851385c06f
      https://github.com/llvm/llvm-project/commit/7107f55d82f8d1077d5478e8f58c94851385c06f
  Author: Matheus Izvekov <mizvekov at gmail.com>
  Date:   2025-01-27 (Mon, 27 Jan 2025)

  Changed paths:
    M clang/lib/AST/TemplateBase.cpp

  Log Message:
  -----------
  [clang] NFC: remove redundant dyn_cast


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

  Changed paths:
    M lld/test/ELF/lto/version-script.ll
    M lld/test/ELF/lto/version-script2.ll

  Log Message:
  -----------
  [ELF] Improve parseSymbolVersion tests in for compileBitcodeFiles

Otherwise, the tests won't catch a mistake that removes
`parseSymbolVersion`.


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

  Changed paths:
    M lld/ELF/Driver.cpp

  Log Message:
  -----------
  [ELF] Make isExported accurate early

LTO compilation might define symbols not in the symbol table (e.g.
__emutls_v.x in test/ELF/lto/wrap-unreferenced-before-codegen.test).
These symbols have a false `isExported` until
`demoteSymbolsAndComputeIsPreemptible`. This is usually benign as we do
not reference `isExported` that early.

Ensure that `isExported` is correct early. This helps remove a redundant
`isExported` computation in `demoteSymbolsAndComputeIsPreemptible`.


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

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

  Log Message:
  -----------
  [ELF] Remove redundant isExported computation

Commit 2a26292388fcab0c857c91b2d08074c33abd37e8 made `isExported`
accurate except a few linker-synthesized symbols in finalizeSections.
We can collect these linker-synthesized symbols into a vector
and avoid recomputation for other symbols.


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

  Changed paths:
    M lld/ELF/Writer.cpp
    R lld/test/ELF/hip-section-layout.s

  Log Message:
  -----------
  Revert "Move HIP fatbin sections farther away from .text"

This reverts commit 048f35037779763963c4b4478a0884e828ea9538.
This reverts commit f7bbc40b0736cc417f57cd039b098b504cf6a71f.

Related to #95949. A developer with no prior lld contribution and very
little AMD contribution sneaked in these application-specific section
order rules we discourage.


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

  Changed paths:
    M llvm/test/tools/llvm-objcopy/ELF/remove-note.test

  Log Message:
  -----------
  [test] Convert remove-note.test from \r\n to \n after #118739


  Commit: 9452ee4f750a849148a391ac75eb31220343fa1e
      https://github.com/llvm/llvm-project/commit/9452ee4f750a849148a391ac75eb31220343fa1e
  Author: Owen Pan <owenpiano at gmail.com>
  Date:   2025-01-27 (Mon, 27 Jan 2025)

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

  Log Message:
  -----------
  [clang-format] Treat uppercase identifiers after struct as macros (#124397)

This restores the behavior before llvmorg-20-init.

Fixes #94184.
Fixes #117477.
Fixes #122690.
Fixes #123142.


  Commit: a01e1d4e044ec0147e04a5af9ca54ede550f5dc1
      https://github.com/llvm/llvm-project/commit/a01e1d4e044ec0147e04a5af9ca54ede550f5dc1
  Author: Nathan Ridge <zeratul976 at hotmail.com>
  Date:   2025-01-27 (Mon, 27 Jan 2025)

  Changed paths:
    M clang/lib/Sema/HeuristicResolver.cpp
    M clang/unittests/Sema/HeuristicResolverTest.cpp

  Log Message:
  -----------
  [clang][Sema] Handle dependent qualifier in HeuristicResolver::resolveDeclRefExpr() (#124515)


  Commit: bd38c4993aa41d89a13cbc4dc457df4d81e410bf
      https://github.com/llvm/llvm-project/commit/bd38c4993aa41d89a13cbc4dc457df4d81e410bf
  Author: Momchil Velikov <momchil.velikov at arm.com>
  Date:   2025-01-27 (Mon, 27 Jan 2025)

  Changed paths:
    M llvm/lib/Target/AArch64/AArch64SVEInstrInfo.td
    M llvm/lib/Target/AArch64/SVEInstrFormats.td
    A llvm/test/CodeGen/AArch64/zeroing-forms-frint-frecpx-fsqrt.ll

  Log Message:
  -----------
  [AArch64] Generate zeroing forms of certain SVE2.2 instructions (8/11) (#116834)

SVE2.2 introduces instructions with predicated forms with zeroing of
the inactive lanes. This allows in some cases to save a `movprfx` or
a `mov` instruction when emitting code for `_x` or `_z` variants of
intrinsics.

This patch adds support for emitting the zeroing forms of certain
`FRINTx`, `FRECPX`, and `FSQRT` instructions.


  Commit: 351ee30529c054d39ea742c1b9c738c9e70c131b
      https://github.com/llvm/llvm-project/commit/351ee30529c054d39ea742c1b9c738c9e70c131b
  Author: bernhardu <bernhardu at mailbox.org>
  Date:   2025-01-27 (Mon, 27 Jan 2025)

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

  Log Message:
  -----------
  [win/asan] GetInstructionSize: Support some more 6 byte instructions. (#124006)

This patch adds several instructions seen when trying to run a
executable built with ASan with llvm-mingw.
(x86 and x86_64, using the git tip in llvm-project).

Also includes instructions collected by
Roman Pišl and Eric Pouech in the Wine bug reports below.

```
Related: https://github.com/llvm/llvm-project/issues/96270

Co-authored-by: Roman Pišl <rpisl at seznam.cz>
                https://bugs.winehq.org/show_bug.cgi?id=50993
                https://bugs.winehq.org/attachment.cgi?id=70233
Co-authored-by: Eric Pouech <eric.pouech at gmail.com>
                https://bugs.winehq.org/show_bug.cgi?id=52386
                https://bugs.winehq.org/attachment.cgi?id=71626
```


  Commit: bbf377060adc8607e1187952388c7eeea7cf4933
      https://github.com/llvm/llvm-project/commit/bbf377060adc8607e1187952388c7eeea7cf4933
  Author: bernhardu <bernhardu at mailbox.org>
  Date:   2025-01-27 (Mon, 27 Jan 2025)

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

  Log Message:
  -----------
  [win/asan] GetInstructionSize: Support some more 7 or 8 byte instructions. (#124011)

This patch adds several instructions seen when trying to run a
executable built with ASan with llvm-mingw.
(x86 and x86_64, using the git tip in llvm-project).

Also includes instructions collected by
Roman Pišl and Eric Pouech in the Wine bug reports below.

```
Related: https://github.com/llvm/llvm-project/issues/96270

Co-authored-by: Roman Pišl <rpisl at seznam.cz>
                https://bugs.winehq.org/show_bug.cgi?id=50993
                https://bugs.winehq.org/attachment.cgi?id=70233
Co-authored-by: Eric Pouech <eric.pouech at gmail.com>
                https://bugs.winehq.org/show_bug.cgi?id=52386
                https://bugs.winehq.org/attachment.cgi?id=71626
```


  Commit: 7211bf48a62bfe3a181013f412f2fa6e112ae99f
      https://github.com/llvm/llvm-project/commit/7211bf48a62bfe3a181013f412f2fa6e112ae99f
  Author: jeanPerier <jperier at nvidia.com>
  Date:   2025-01-27 (Mon, 27 Jan 2025)

  Changed paths:
    M clang/include/clang/Driver/Options.td
    M clang/lib/Driver/ToolChains/Flang.cpp
    M flang/lib/Frontend/CompilerInvocation.cpp
    M flang/test/Driver/fsave-main-program.f90
    M flang/test/Lower/fsave-main-program.f90

  Log Message:
  -----------
  [flang][driver] add negative from of -fsave-main-program (#124110)

Add the `-fno` form for consistency and to make it easy to switch the
default for downstream users.


  Commit: 3b5e9eed2f67c1fb6dcf7033e92509ba2b0381e9
      https://github.com/llvm/llvm-project/commit/3b5e9eed2f67c1fb6dcf7033e92509ba2b0381e9
  Author: Durgadoss R <durgadossr at nvidia.com>
  Date:   2025-01-27 (Mon, 27 Jan 2025)

  Changed paths:
    M llvm/include/llvm/IR/IntrinsicsNVVM.td
    M llvm/lib/Target/NVPTX/NVPTXInstrInfo.td
    A llvm/test/CodeGen/NVPTX/convert-sm100.ll

  Log Message:
  -----------
  [NVPTX] Add float to tf32 conversion intrinsics (#124316)

This patch adds the set of f32 -> tf32 cvt intrinsics introduced
in sm100 with ptx8.6. This builds on top of the recent PR #121507.

Tests are verified with a 12.8 ptxas executable.

PTX ISA link:
https://docs.nvidia.com/cuda/parallel-thread-execution/#data-movement-and-conversion-instructions-cvt

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


  Commit: 87103a016fbfd480e1d3bb8eba23c27a9c74e70d
      https://github.com/llvm/llvm-project/commit/87103a016fbfd480e1d3bb8eba23c27a9c74e70d
  Author: Momchil Velikov <momchil.velikov at arm.com>
  Date:   2025-01-27 (Mon, 27 Jan 2025)

  Changed paths:
    M clang/include/clang/AST/Type.h
    M clang/include/clang/Basic/AArch64SVEACLETypes.def
    M clang/include/clang/Basic/TargetBuiltins.h
    M clang/lib/AST/ItaniumMangle.cpp
    M clang/lib/CodeGen/CGBuiltin.cpp
    M clang/lib/CodeGen/CGExpr.cpp
    M clang/lib/CodeGen/CodeGenTypes.cpp
    M clang/lib/CodeGen/Targets/AArch64.cpp
    M clang/lib/Sema/SemaARM.cpp
    M clang/lib/Sema/SemaExpr.cpp
    M clang/lib/Sema/SemaType.cpp
    A clang/test/CodeGen/AArch64/builtin-shufflevector-fp8.c
    A clang/test/CodeGen/AArch64/fp8-cast.c
    M clang/test/CodeGen/arm-mfp8.c
    M clang/test/CodeGenCXX/aarch64-mangle-neon-vectors.cpp
    M clang/test/CodeGenCXX/mangle-neon-vectors.cpp
    A clang/test/Sema/aarch64-fp8-cast.c
    M clang/test/Sema/arm-mfp8.cpp
    M clang/utils/TableGen/NeonEmitter.cpp

  Log Message:
  -----------
  [AArch64] Implement NEON FP8 vectors as VectorType (#123603)

Reimplement Neon FP8 vector types using attribute `neon_vector_type`
instead of having them as builtin types.
This allows to implement FP8 Neon intrinsics without the need to add
special cases for these types when using `__builtin_shufflevector`
or bitcast (using C-style cast operator) between vectors, both
extensively used in the generated code in `arm_neon.h`.


  Commit: 8f17f51deb12456f25d32b9a42ac1f00feabbfbc
      https://github.com/llvm/llvm-project/commit/8f17f51deb12456f25d32b9a42ac1f00feabbfbc
  Author: Longsheng Mou <longshengmou at gmail.com>
  Date:   2025-01-27 (Mon, 27 Jan 2025)

  Changed paths:
    M mlir/include/mlir/Dialect/Tosa/IR/TosaOps.td

  Log Message:
  -----------
  [mlir][tosa] Fix comments format(NFC) (#124520)

This PR corrects the formatting of comments in Markdown. The previous
format was as follows:
https://mlir.llvm.org/docs/Dialects/TOSA/#tosaerf-mlirtosaerfop

![image](https://github.com/user-attachments/assets/1d1d10d5-c960-4724-9fb4-29c17ea39b11)

https://mlir.llvm.org/docs/Dialects/TOSA/#tosarescale-mlirtosarescaleop

![image](https://github.com/user-attachments/assets/fb23cbf6-be10-4a60-8b43-b28dc2db6918)


  Commit: 14ffff384740f484b382a1225f4bd01aeebfdc3f
      https://github.com/llvm/llvm-project/commit/14ffff384740f484b382a1225f4bd01aeebfdc3f
  Author: Timm Baeder <tbaeder at redhat.com>
  Date:   2025-01-27 (Mon, 27 Jan 2025)

  Changed paths:
    M clang/lib/AST/TextNodeDumper.cpp
    A clang/test/AST/ast-dump-APValue-lvalue.cpp
    M clang/test/AST/ast-dump-APValue-todo.cpp

  Log Message:
  -----------
  [clang] Add dump() support for lvalue APValues (#124476)

Add some lvalue information to the `dump()` output of lvalue APValues.


  Commit: 43a50deb63453cd3c800f097514d500536f9d436
      https://github.com/llvm/llvm-project/commit/43a50deb63453cd3c800f097514d500536f9d436
  Author: Samuel Ginzburg <ginzburg.sam at gmail.com>
  Date:   2025-01-27 (Mon, 27 Jan 2025)

  Changed paths:
    M mlir/include/mlir/Dialect/LLVMIR/ROCDLOps.td
    M mlir/test/Dialect/LLVMIR/rocdl.mlir
    M mlir/test/Target/LLVMIR/rocdl.mlir

  Log Message:
  -----------
  [MLIR][ROCDL] Add GFX940 SMFMAC (2:4 sparsity) instructions to the ROCDL dialect (#124435)

# Overview

This PR adds 2:4 structured sparsity (sparse A, dense B) matrix multiply
instructions to ROCDL.

# Testing

I've added tests to Dialect/mlir and Target/mlir


  Commit: ac87d6b03642eca3901a7776d73be368299402e9
      https://github.com/llvm/llvm-project/commit/ac87d6b03642eca3901a7776d73be368299402e9
  Author: Ivan Butygin <ivan.butygin at gmail.com>
  Date:   2025-01-27 (Mon, 27 Jan 2025)

  Changed paths:
    M flang/test/Lower/Intrinsics/ieee_next.f90
    M mlir/lib/Dialect/Arith/IR/ArithOps.cpp
    M mlir/test/Dialect/Arith/canonicalize.mlir

  Log Message:
  -----------
  [mlir][arith] Fold `arith.cmpi eq, %val, %one : i1` -> `%val` and `arith.cmpi ne, %val, %zero : i1 -> %val` (#124436)

https://alive2.llvm.org/ce/z/dNZMdC


  Commit: ddbfe6f7d2075a828fa9e8e5f5734bf881cda13a
      https://github.com/llvm/llvm-project/commit/ddbfe6f7d2075a828fa9e8e5f5734bf881cda13a
  Author: Robert Dazi <14996868+v01dXYZ at users.noreply.github.com>
  Date:   2025-01-27 (Mon, 27 Jan 2025)

  Changed paths:
    M clang/docs/ReleaseNotes.rst
    M clang/include/clang/AST/ExprCXX.h
    M clang/lib/Sema/TreeTransform.h
    A clang/test/SemaCXX/array-type-trait-with-template.cpp

  Log Message:
  -----------
  [Sema] Fix __array_rank instantiation (#124491)

The type being queried was left as a template type parameter, making the
whole expression as dependent and thus not eligible to static_assert.

Fixes #123498

Co-authored-by: v01dxyz <v01dxyz at v01d.xyz>
Co-authored-by: cor3ntin <corentinjabot at gmail.com>


  Commit: b7286dbef9dc1986860d29e390b092599e1d7db5
      https://github.com/llvm/llvm-project/commit/b7286dbef9dc1986860d29e390b092599e1d7db5
  Author: David Sherwood <david.sherwood at arm.com>
  Date:   2025-01-27 (Mon, 27 Jan 2025)

  Changed paths:
    M llvm/include/llvm/Analysis/LoopAccessAnalysis.h
    M llvm/lib/Analysis/Loads.cpp
    M llvm/lib/Analysis/LoopAccessAnalysis.cpp
    M llvm/test/Transforms/LoopVectorize/X86/load-deref-pred.ll
    M llvm/test/Transforms/LoopVectorize/load-deref-pred-align.ll

  Log Message:
  -----------
  Reland "[LoopVectorize] Add support for reverse loops in isDereferenceableAndAlignedInLoop #96752" (#123616)

The last attempt failed a sanitiser build because we were
creating a reference to a null Predicates pointer in
isDereferenceableAndAlignedInLoop. This was exposed by
the unit test IsDerefReadOnlyLoop in
unittests/Analysis/LoadsTest.cpp. I fixed this by falling
back on getConstantMaxBackedgeTakenCount if Predicates is
null - see line 316 in llvm/lib/Analysis/Loads.cpp. There
are no other changes.


  Commit: b8d921003d1f20819b897b066e02d22787f11550
      https://github.com/llvm/llvm-project/commit/b8d921003d1f20819b897b066e02d22787f11550
  Author: David Truby <david.truby at arm.com>
  Date:   2025-01-27 (Mon, 27 Jan 2025)

  Changed paths:
    M flang/test/HLFIR/unroll-loops.fir
    M flang/test/Integration/unroll-loops.f90

  Log Message:
  -----------
  [flang][NFC] Restrict -funroll-loops tests to known working targets (#123939)

If -funroll-loops tests are not restricted to specific targets the tests
may behave differently based on the host platform. This patch restricts
the tests to aarch64 and x86_64, and removes the PowerPC XFAIL.


  Commit: 98e52db4a5e57f919bb70312f9ca7deb16ee6fcb
      https://github.com/llvm/llvm-project/commit/98e52db4a5e57f919bb70312f9ca7deb16ee6fcb
  Author: David Truby <david.truby at arm.com>
  Date:   2025-01-27 (Mon, 27 Jan 2025)

  Changed paths:
    M flang/test/HLFIR/unroll-loops.fir
    M flang/test/Integration/unroll-loops.f90

  Log Message:
  -----------
  Revert "[flang][NFC] Restrict -funroll-loops tests to known working targets" (#124536)

Reverts llvm/llvm-project#123939


  Commit: 6087c3049656bbaef51fffb48e2404e86f7e0d3f
      https://github.com/llvm/llvm-project/commit/6087c3049656bbaef51fffb48e2404e86f7e0d3f
  Author: Pavel Labath <pavel at labath.sk>
  Date:   2025-01-27 (Mon, 27 Jan 2025)

  Changed paths:
    M lldb/source/Host/common/Host.cpp

  Log Message:
  -----------
  [lldb] Simplify preprocessor conditional (#124522)

The long list of defines is just a very elaborate way to say "not
windows".


  Commit: cfdd7d736a94aa65a23eb41258d9d6712cdb2b0d
      https://github.com/llvm/llvm-project/commit/cfdd7d736a94aa65a23eb41258d9d6712cdb2b0d
  Author: David CARLIER <devnexen at gmail.com>
  Date:   2025-01-27 (Mon, 27 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] sched cpu affinity for linux interception. (#124194)


  Commit: e21b80464a44ef6491e44517ac59892c10ba2d6c
      https://github.com/llvm/llvm-project/commit/e21b80464a44ef6491e44517ac59892c10ba2d6c
  Author: David CARLIER <devnexen at gmail.com>
  Date:   2025-01-27 (Mon, 27 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] socketpair interception. (#124107)


  Commit: d8ad1eef8ffeb4ef5474f0e38d6d340d82c53572
      https://github.com/llvm/llvm-project/commit/d8ad1eef8ffeb4ef5474f0e38d6d340d82c53572
  Author: Momchil Velikov <momchil.velikov at arm.com>
  Date:   2025-01-27 (Mon, 27 Jan 2025)

  Changed paths:
    M llvm/lib/Target/AArch64/AArch64SVEInstrInfo.td
    M llvm/lib/Target/AArch64/SVEInstrFormats.td
    A llvm/test/CodeGen/AArch64/zeroing-forms-flogb.ll

  Log Message:
  -----------
  [AArch64] Generate zeroing forms of certain SVE2.2 instructions (7/11) (#116833)

SVE2.2 introduces instructions with predicated forms with zeroing of
the inactive lanes. This allows in some cases to save a `movprfx` or
a `mov` instruction when emitting code for `_x` or `_z` variants of
intrinsics.

This patch adds support for emitting the zeroing forms of certain
`FLOGB` instructions.


  Commit: b31e9747d0866ff97a1cd4a608b7eade31c0aa0b
      https://github.com/llvm/llvm-project/commit/b31e9747d0866ff97a1cd4a608b7eade31c0aa0b
  Author: David Spickett <david.spickett at linaro.org>
  Date:   2025-01-27 (Mon, 27 Jan 2025)

  Changed paths:
    M lldb/source/Plugins/ABI/AArch64/ABISysV_arm64.cpp
    M lldb/source/Plugins/Process/Linux/NativeRegisterContextLinux_arm64.cpp
    M lldb/test/API/linux/aarch64/gcs/TestAArch64LinuxGCS.py
    M lldb/test/API/linux/aarch64/gcs/main.c

  Log Message:
  -----------
  [lldb][AArch64] Fix expression evaluation with Guarded Control Stacks (#123918)

When the Guarded Control Stack (GCS) is enabled, returns cause the
processor to validate that the address at the location pointed to by
gcspr_el0 matches the one in the link register.

```
ret (lr=A) << pc

| GCS |
+=====+
|  A  |
|  B  | << gcspr_el0

Fault: tried to return to A when you should have returned to B.
```

Therefore when an expression wrapper function tries to return to the
expression return address (usually `_start` if there is a libc), it
would fault.

```
ret (lr=_start) << pc

| GCS        |
+============+
| user_func1 |
| user_func2 | << gcspr_el0

Fault: tried to return to _start when you should have returned to user_func2.
```

To fix this we must push that return address to the GCS in
PrepareTrivialCall. This value is then consumed by the final return and
the expression completes as expected.

If for some reason that fails, we will manually restore the value of
gcspr_el0, because it turns out that PrepareTrivialCall
does not restore registers if it fails at all. So for now I am handling
gcspr_el0 specifically, but I have filed
https://github.com/llvm/llvm-project/issues/124269 to address the
general problem.

(the other things PrepareTrivialCall does are exceedingly likely to not
fail, so we have never noticed this)

```
ret (lr=_start) << pc

| GCS        |
+============+
| user_func1 |
| user_func2 |
| _start     | << gcspr_el0

No fault, we return to _start as normal.
```

The gcspr_el0 register will be restored after expression evaluation so
that the program can continue correctly.

However, due to restrictions in the Linux GCS ABI, we will not restore
the enable bit of gcs_features_enabled. Re-enabling GCS via ptrace is
not supported because it requires memory to be allocated by the kernel.

We could disable GCS if the expression enabled GCS, however this would
use up that state transition that the program might later rely on. And
generally it is cleaner to ignore the enable bit, rather than one state
transition of it.

We will also not restore the GCS entry that was overwritten with the
expression's return address. On the grounds that:
* This entry will never be used by the program. If the program branches,
the entry will be overwritten. If the program returns, gcspr_el0 will
point to the entry before the expression return address and that entry
will instead be validated.
* Any expression that calls functions will overwrite even more entries,
so the user needs to be aware of that anyway if they want to preserve
the contents of the GCS for inspection.
* An expression could leave the program in a state where restoring the
value makes the situation worse. Especially if we ever support this in
bare metal debugging.

I will later document all this on
https://lldb.llvm.org/use/aarch64-linux.html.

Tests have been added for:
* A function call that does not interact with GCS.
* A call that does, and disables it (we do not re-enable it).
* A call that does, and enables it (we do not disable it again).
* Failure to push an entry to the GCS stack.


  Commit: ef54e0bbfbef59932a59a1640f1f9e14b70cc41b
      https://github.com/llvm/llvm-project/commit/ef54e0bbfbef59932a59a1640f1f9e14b70cc41b
  Author: David Green <david.green at arm.com>
  Date:   2025-01-27 (Mon, 27 Jan 2025)

  Changed paths:
    M llvm/lib/Target/AArch64/AArch64Features.td
    M llvm/lib/Target/AArch64/AArch64InstrAtomics.td
    M llvm/lib/Target/AArch64/AArch64InstrInfo.td
    M llvm/lib/Target/AArch64/AArch64Processors.td
    M llvm/test/CodeGen/AArch64/Atomics/aarch64-atomic-load-rcpc_immo.ll

  Log Message:
  -----------
  [AArch64] Avoid generating LDAPUR on certain cores (#124274)

On the CPUs listed below, we want to avoid LDAPUR for performance
reasons. Add a tuning feature to disable them when using:
 -mcpu=neoverse-v2
 -mcpu=neoverse-v3
 -mcpu=cortex-x3
 -mcpu=cortex-x4
 -mcpu=cortex-x925


  Commit: 347fb208c1e390a4f108e566efc81bd945837307
      https://github.com/llvm/llvm-project/commit/347fb208c1e390a4f108e566efc81bd945837307
  Author: Fraser Cormack <fraser at codeplay.com>
  Date:   2025-01-27 (Mon, 27 Jan 2025)

  Changed paths:
    M libclc/clc/include/clc/relational/relational.h
    M libclc/clc/lib/generic/relational/clc_isequal.cl
    M libclc/clc/lib/generic/relational/clc_isgreater.cl
    M libclc/clc/lib/generic/relational/clc_isgreaterequal.cl
    M libclc/clc/lib/generic/relational/clc_isless.cl
    M libclc/clc/lib/generic/relational/clc_islessequal.cl
    M libclc/clc/lib/generic/relational/clc_islessgreater.cl
    M libclc/clc/lib/generic/relational/clc_isnotequal.cl

  Log Message:
  -----------
  [libclc] Optimize CLC vector relational builtins (#124537)

Clang knows how to perform relational operations on OpenCL vectors, so
we don't need to use the Clang builtins. The builtins we were using
didn't support vector types, so we were previously scalarizing.

This commit generates the same LLVM fcmp operations as before, just
without the scalarization.


  Commit: e9e06bea8661ddd474557a0db2cdc8770a55b66f
      https://github.com/llvm/llvm-project/commit/e9e06bea8661ddd474557a0db2cdc8770a55b66f
  Author: David Spickett <david.spickett at linaro.org>
  Date:   2025-01-27 (Mon, 27 Jan 2025)

  Changed paths:
    M lldb/test/API/linux/aarch64/gcs/TestAArch64LinuxGCS.py

  Log Message:
  -----------
  [lldb][AArch64][NFC] Move a comment in GCS tests

Got put in the wrong place during a rebase.


  Commit: d7e561b913d2a75c7c1807bf1c1e0bddc270a2b3
      https://github.com/llvm/llvm-project/commit/d7e561b913d2a75c7c1807bf1c1e0bddc270a2b3
  Author: Kareem Ergawy <kareem.ergawy at amd.com>
  Date:   2025-01-27 (Mon, 27 Jan 2025)

  Changed paths:
    M flang/lib/Optimizer/OpenMP/GenericLoopConversion.cpp
    M flang/test/Lower/OpenMP/loop-directive.f90

  Log Message:
  -----------
  [flang][OpenMP] Support `bind` clause code-gen for standalone `loop`s (#122674)

Extends rewriting of `loop` directives by supporting `bind` clause for
standalone directives. This follows both the spec and the current state
of clang as follows:
* No `bind` or `bind(thread)`: the `loop` is rewritten to `simd`.
* `bind(parallel)`: the `loop` is rewritten to `do`.
* `bind(teams)`: the `loop` is rewritten to `distribute`.

This is a follow-up PR for
https://github.com/llvm/llvm-project/pull/122632, only the latest commit
in this PR is relevant to the PR.


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

  Changed paths:
    M offload/plugins-nextgen/common/include/RPC.h
    M offload/plugins-nextgen/common/src/RPC.cpp

  Log Message:
  -----------
  [Offload][NFC] Make sure the thread is not running already


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

  Changed paths:
    M llvm/test/CodeGen/X86/huge-stack-offset.ll

  Log Message:
  -----------
  [X86] huge-stack-offset.ll - add gnux32 test coverage

This should match x86 for the basic implementation, but its useful to check it actually runs correctly.


  Commit: 3684ec425904424fc4dc80c8661f82bc676d7197
      https://github.com/llvm/llvm-project/commit/3684ec425904424fc4dc80c8661f82bc676d7197
  Author: vdonaldson <37090318+vdonaldson at users.noreply.github.com>
  Date:   2025-01-27 (Mon, 27 Jan 2025)

  Changed paths:
    M flang/include/flang/Tools/TargetSetup.h
    M flang/runtime/exceptions.cpp

  Log Message:
  -----------
  [flang] IEEE underflow control for Arm (#124170)

Update IEEE_SUPPORT_UNDERFLOW_CONTROL, IEEE_GET_UNDERFLOW_MODE, and
IEEE_SET_UNDERFLOW_MODE code for Arm.


  Commit: 3a4376b8f90686f754ee51b296a064ab03c12895
      https://github.com/llvm/llvm-project/commit/3a4376b8f90686f754ee51b296a064ab03c12895
  Author: Ramkumar Ramachandra <ramkumar.ramachandra at codasip.com>
  Date:   2025-01-27 (Mon, 27 Jan 2025)

  Changed paths:
    M llvm/lib/Analysis/LoopAccessAnalysis.cpp
    M llvm/test/Analysis/LoopAccessAnalysis/pointer-phis.ll
    M llvm/test/Transforms/LoopDistribute/pointer-phi-in-loop.ll
    M llvm/test/tools/UpdateTestChecks/update_analyze_test_checks/Inputs/loop-distribute.ll
    M llvm/test/tools/UpdateTestChecks/update_analyze_test_checks/Inputs/loop-distribute.ll.expected

  Log Message:
  -----------
  LAA: handle 0 return from getPtrStride correctly (#124539)

getPtrStride returns 0 when the PtrScev is loop-invariant, and this is
not an erroneous value: it returns std::nullopt to communicate that it
was not able to find a valid pointer stride. In analyzeLoop, we call
getPtrStride with a value_or(0) conflating the zero return value with
std::nullopt. Fix this, handling loop-invariant loads correctly.


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

  Changed paths:
    M offload/plugins-nextgen/common/src/PluginInterface.cpp

  Log Message:
  -----------
  [Offload] Fix server thread from being shut down if unused


  Commit: 54928a10c8dba7c07c6224c1ead5c02a335890e6
      https://github.com/llvm/llvm-project/commit/54928a10c8dba7c07c6224c1ead5c02a335890e6
  Author: Dipesh Sharma <76941383+dipeshs809 at users.noreply.github.com>
  Date:   2025-01-27 (Mon, 27 Jan 2025)

  Changed paths:
    M clang/docs/ReleaseNotes.rst
    M clang/include/clang/Basic/LangOptions.h
    M clang/lib/Basic/Targets/OSTargets.cpp
    A clang/test/Preprocessor/deprecate-threads-macro-definition-msvc1939.c
    M clang/test/Preprocessor/init-aarch64.c

  Log Message:
  -----------
  [clang]  __STDC_NO_THREADS__ is no longer necessary for VS 2022 1939 and above (#117149)

Since `__STDC_NO_THREADS__` is a reserved identifier,
- If `MSVC version < 17.9`
- C version < C11(201112L)
- When `<threads.h>` is unavailable `!__has_include(<threads.h>)` is
`__has_include` is defined.

Closes #115529


  Commit: f95a8bde3425ada0ef004186eb8ccda6e723241c
      https://github.com/llvm/llvm-project/commit/f95a8bde3425ada0ef004186eb8ccda6e723241c
  Author: Momchil Velikov <momchil.velikov at arm.com>
  Date:   2025-01-27 (Mon, 27 Jan 2025)

  Changed paths:
    M clang/include/clang/Basic/AArch64SVEACLETypes.def
    M clang/lib/AST/ASTContext.cpp
    M clang/lib/AST/ItaniumMangle.cpp
    M clang/lib/AST/Type.cpp
    M clang/lib/CodeGen/CodeGenTypes.cpp
    M clang/lib/CodeGen/Targets/AArch64.cpp
    M clang/utils/TableGen/SveEmitter.cpp

  Log Message:
  -----------
  [AArch64] Refactor implementation of FP8 types (NFC) (#123604)

- The FP8 scalar type (`__mfp8`) was described as a vector type
- The FP8 vector types were described/assumed to have integer element
type (the element type ought to be `__mfp8`)
- Add support for `m` type specifier (denoting `__mfp8`) in
`DecodeTypeFromStr` and create builtin function prototypes using that
specifier, instead of `int8_t`


  Commit: f1d5e70a00fbc80f42977800e9299353b06d48cb
      https://github.com/llvm/llvm-project/commit/f1d5e70a00fbc80f42977800e9299353b06d48cb
  Author: Alexey Bataev <a.bataev at outlook.com>
  Date:   2025-01-27 (Mon, 27 Jan 2025)

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

  Log Message:
  -----------
  [SLP][NFC]Do not check poison values for corresponding vectorized entries

No need to check poison values if they have been vectorized and/or mark
them as vectorized, it should work only for instructions.


  Commit: eaa5897534cbd263d0cdbf780f72133c2fe8d8d4
      https://github.com/llvm/llvm-project/commit/eaa5897534cbd263d0cdbf780f72133c2fe8d8d4
  Author: Fraser Cormack <fraser at codeplay.com>
  Date:   2025-01-27 (Mon, 27 Jan 2025)

  Changed paths:
    M libclc/clc/include/clc/relational/relational.h
    M libclc/clc/lib/generic/relational/clc_isordered.cl
    M libclc/clc/lib/generic/relational/clc_isunordered.cl

  Log Message:
  -----------
  [libclc] Optimize CLC vector is(un)ordered builtins (#124546)

These are similar to 347fb208, but these builtins are expressed in terms
of other builtins. The LLVM IR generated features the same fcmp ord/uno
comparisons as before, but consistently in vector form.


  Commit: 561132e71b29d9b747dfda1509f715847852f77b
      https://github.com/llvm/llvm-project/commit/561132e71b29d9b747dfda1509f715847852f77b
  Author: cor3ntin <corentinjabot at gmail.com>
  Date:   2025-01-27 (Mon, 27 Jan 2025)

  Changed paths:
    M clang/docs/ReleaseNotes.rst
    M clang/lib/AST/Decl.cpp
    M clang/test/SemaCXX/cxx2b-consteval-propagate.cpp

  Log Message:
  -----------
  [Clang] Fix immediate escalation of template function specializations. (#124404)

We record whether an expression is immediate escalating in the
FunctionScope.
However, that only happen when parsing or transforming an expression.
This might not happen when transforming a non dependent expression.

This patch fixes that by considering a function immediate when
instantiated from an immediate function.

Fixes #123405


  Commit: 081723b9db84e78d7dd240b46af2aeb3b51b00be
      https://github.com/llvm/llvm-project/commit/081723b9db84e78d7dd240b46af2aeb3b51b00be
  Author: Michael Buch <michaelbuch12 at gmail.com>
  Date:   2025-01-27 (Mon, 27 Jan 2025)

  Changed paths:
    M lldb/source/Plugins/SymbolFile/DWARF/DWARFASTParserClang.cpp
    M lldb/source/Plugins/SymbolFile/DWARF/DWARFASTParserClang.h
    M lldb/source/Plugins/SymbolFile/NativePDB/PdbAstBuilder.cpp
    M lldb/source/Plugins/SymbolFile/PDB/PDBASTParser.cpp
    M lldb/source/Plugins/TypeSystem/Clang/TypeSystemClang.cpp
    M lldb/source/Plugins/TypeSystem/Clang/TypeSystemClang.h
    M lldb/unittests/Symbol/TestTypeSystemClang.cpp
    M lldb/unittests/SymbolFile/DWARF/DWARFASTParserClangTests.cpp

  Log Message:
  -----------
  [lldb][TypeSystem] Ensure that ParmVarDecls have the correct DeclContext (#124279)

While sifting through this part of the code I noticed that when we parse
C++ methods, `DWARFASTParserClang` creates two sets of `ParmVarDecls`,
one in `ParseChildParameters` and once in `AddMethodToCXXRecordType`.
The former is unused when we're dealing with methods. Moreover, the
`ParmVarDecls` we created in `ParseChildParameters` were created with an
incorrect `clang::DeclContext` (namely the DeclContext of the function,
and not the function itself). In Clang, there's
`ParmVarDecl::setOwningFunction` to adjust the DeclContext of a
parameter if the parameter was created before the FunctionDecl. But we
never used it.

This patch removes the `ParmVarDecl` creation from
`ParseChildParameters` and instead creates a
`TypeSystemClang::CreateParameterDeclarations` that ensures we set the
DeclContext correctly.

Note there is one differences in how `ParmVarDecl`s would be created
now: we won't set a ClangASTMetadata entry for any of the parameters. I
don't think this was ever actually useful for parameter DIEs anyway.

This wasn't causing any concrete issues (that I know of), but was quite
surprising. And this way of setting the parameters seems easier to
reason about (in my opinion).


  Commit: 5c5bbffe75caaaefdc68305e85a625a057b09159
      https://github.com/llvm/llvm-project/commit/5c5bbffe75caaaefdc68305e85a625a057b09159
  Author: Michael Buch <michaelbuch12 at gmail.com>
  Date:   2025-01-27 (Mon, 27 Jan 2025)

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

  Log Message:
  -----------
  [clang][ASTImporter] Import source location of explicit object parameter instead of copying it (#124305)

We used to copy the `SourceLocation` instead of importing it, which
isn't correct since the `SourceManager`'s of the source and target
ASTContext might differ.

Also adds test that confirms that we import the explicit object
parameter location for `ParmVarDecl`s. This is how Clang determines
whether a parameter `isExplicitObjectParamater`. The LLDB expression
evaluator relies on this for calling "explicit object member functions".


  Commit: 1f5335c1db5d54b4465677c224b48e0ffc78e6d9
      https://github.com/llvm/llvm-project/commit/1f5335c1db5d54b4465677c224b48e0ffc78e6d9
  Author: MaheshRavishankar <1663364+MaheshRavishankar at users.noreply.github.com>
  Date:   2025-01-27 (Mon, 27 Jan 2025)

  Changed paths:
    M mlir/lib/Dialect/Arith/Utils/Utils.cpp
    M mlir/lib/Dialect/Linalg/Transforms/ElementwiseOpFusion.cpp
    M mlir/test/Conversion/TosaToTensor/tosa-to-tensor.mlir
    M mlir/test/Dialect/Linalg/data-layout-propagation.mlir
    M mlir/test/Dialect/Linalg/fuse-with-reshape-by-collapsing.mlir
    M mlir/test/Dialect/Linalg/fusion-push-reshape.mlir
    M mlir/test/Dialect/Linalg/reshape_fusion.mlir
    M mlir/test/Dialect/Tensor/bufferize.mlir

  Log Message:
  -----------
  Make index computation used divsi/remsi (#124390)

The index computation is meant to be signed. Using unsigned could lead
to subtle errors. Fix places where some index math was using unsigned
operations.

Signed-off-by: MaheshRavishankar <mahesh.ravishankar at gmail.com>


  Commit: 27c917307563eae93c7fef9c3944e56e1f5b5f6d
      https://github.com/llvm/llvm-project/commit/27c917307563eae93c7fef9c3944e56e1f5b5f6d
  Author: Younan Zhang <zyn7109 at gmail.com>
  Date:   2025-01-27 (Mon, 27 Jan 2025)

  Changed paths:
    M clang/include/clang/AST/ExprCXX.h
    M clang/lib/AST/StmtProfile.cpp
    M clang/lib/Sema/SemaTemplateInstantiate.cpp
    M clang/test/SemaTemplate/concepts-out-of-line-def.cpp

  Log Message:
  -----------
  [Clang] Remove unnecessary Decl transform & profiles for SizeOfPackExpr (#124533)

We used to always transform the pattern declaration for SizeOfPackExpr
to ensure the constraint expression's profile produced the desired
result. However, this approach failed to handle pack expansions when the
pack referred to function parameters. In such cases, the function
parameters were formerly expanded to 1 to avoid building Subst* nodes
(see e6974daa7). That workaround caused us to transform a pack without a
proper ArgumentPackSubstitutionIndex, leading to crashes when
transforming the pattern.

It turns out that profiling the pattern for partially substituted
SizeOfPackExprs is unnecessary because their transformed forms are also
profiled within the partial arguments.

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


  Commit: 092372da15e5165be14cdbb7cac3cf4976fd82d0
      https://github.com/llvm/llvm-project/commit/092372da15e5165be14cdbb7cac3cf4976fd82d0
  Author: MaheshRavishankar <1663364+MaheshRavishankar at users.noreply.github.com>
  Date:   2025-01-27 (Mon, 27 Jan 2025)

  Changed paths:
    M mlir/include/mlir/Dialect/Tensor/IR/TensorOps.td
    M mlir/include/mlir/Dialect/Utils/StaticValueUtils.h
    M mlir/lib/Dialect/Tensor/IR/TensorInferTypeOpInterfaceImpl.cpp
    M mlir/lib/Dialect/Tensor/IR/TensorOps.cpp
    M mlir/lib/Dialect/Utils/StaticValueUtils.cpp
    M mlir/lib/Interfaces/InferTypeOpInterface.cpp
    M mlir/test/Dialect/Linalg/resolve-shaped-type-result-dims.mlir
    M mlir/test/Dialect/Tensor/fold-empty-op.mlir

  Log Message:
  -----------
  [mlir][Tensor] Rework `ReifyRankedShapedTypeInterface` implementation for `tensor.expand_shape` op. (#113501)

The op carries the output-shape directly. This can be used directly.
Also adds a method to get the shape as a `SmallVector<OpFoldResult>`.

Signed-off-by: MaheshRavishankar <mahesh.ravishankar at gmail.com>


  Commit: 62340ff8d844fc02cd1bd34ff6235f1f0e1e464f
      https://github.com/llvm/llvm-project/commit/62340ff8d844fc02cd1bd34ff6235f1f0e1e464f
  Author: Brox Chen <guochen2 at amd.com>
  Date:   2025-01-27 (Mon, 27 Jan 2025)

  Changed paths:
    M llvm/lib/Target/AMDGPU/VOPCInstructions.td
    M llvm/test/MC/AMDGPU/gfx11_asm_vop3_dpp16_from_vopcx.s
    M llvm/test/MC/AMDGPU/gfx11_asm_vop3_dpp8_from_vopcx.s
    M llvm/test/MC/AMDGPU/gfx11_asm_vop3_from_vopcx.s
    M llvm/test/MC/AMDGPU/gfx11_asm_vopcx.s
    M llvm/test/MC/AMDGPU/gfx11_asm_vopcx_dpp16.s
    M llvm/test/MC/AMDGPU/gfx11_asm_vopcx_dpp8.s
    M llvm/test/MC/AMDGPU/gfx11_asm_vopcx_t16_err.s
    M llvm/test/MC/AMDGPU/gfx11_asm_vopcx_t16_promote.s
    M llvm/test/MC/AMDGPU/gfx12_asm_vop3cx.s
    M llvm/test/MC/AMDGPU/gfx12_asm_vop3cx_dpp16.s
    M llvm/test/MC/AMDGPU/gfx12_asm_vop3cx_dpp8.s
    M llvm/test/MC/AMDGPU/gfx12_asm_vopcx.s
    M llvm/test/MC/AMDGPU/gfx12_asm_vopcx_dpp16.s
    M llvm/test/MC/AMDGPU/gfx12_asm_vopcx_dpp8.s
    M llvm/test/MC/AMDGPU/gfx12_asm_vopcx_t16_err.s
    M llvm/test/MC/AMDGPU/gfx12_asm_vopcx_t16_promote.s
    M llvm/test/MC/Disassembler/AMDGPU/gfx11_dasm_vop3_dpp16_from_vopcx.txt
    M llvm/test/MC/Disassembler/AMDGPU/gfx11_dasm_vop3_dpp8_from_vopcx.txt
    M llvm/test/MC/Disassembler/AMDGPU/gfx11_dasm_vop3_from_vopcx.txt
    M llvm/test/MC/Disassembler/AMDGPU/gfx11_dasm_vopcx.txt
    M llvm/test/MC/Disassembler/AMDGPU/gfx11_dasm_vopcx_dpp16.txt
    M llvm/test/MC/Disassembler/AMDGPU/gfx11_dasm_vopcx_dpp8.txt
    M llvm/test/MC/Disassembler/AMDGPU/gfx12_dasm_vop3cx.txt
    M llvm/test/MC/Disassembler/AMDGPU/gfx12_dasm_vop3cx_dpp16.txt
    M llvm/test/MC/Disassembler/AMDGPU/gfx12_dasm_vop3cx_dpp8.txt
    M llvm/test/MC/Disassembler/AMDGPU/gfx12_dasm_vopcx.txt
    M llvm/test/MC/Disassembler/AMDGPU/gfx12_dasm_vopcx_dpp16.txt
    M llvm/test/MC/Disassembler/AMDGPU/gfx12_dasm_vopcx_dpp8.txt

  Log Message:
  -----------
  [AMDGPU][True16][MC] true16 for v_cmpx_xx_f16 (#123419)

A bulk commit of true16 support for v_cmpx_xx_f16 instructions
including:

v_cmpx_f_f16
v_cmpx_le_f16
v_cmpx_gt_f16
v_cmpx_lg_f16
v_cmpx_ge_f16
v_cmpx_o_f16
v_cmpx_u_f16
v_cmpx_nge_f16
v_cmpx_nlg_f16
v_cmpx_ngt_f16
v_cmpx_nle_f16
v_cmpx_neq_f16
v_cmpx_nlt_f16
v_cmpx_t_f16

v_cmpx_eq_f16 is not in this patch and will be added in the following
patch


  Commit: 5aafc6d58f3405662902cee006be11e599801b88
      https://github.com/llvm/llvm-project/commit/5aafc6d58f3405662902cee006be11e599801b88
  Author: Christian Clauss <cclauss at me.com>
  Date:   2025-01-27 (Mon, 27 Jan 2025)

  Changed paths:
    M polly/docs/Architecture.rst
    M polly/docs/doxygen.cfg.in
    M polly/include/polly/CodeGen/RuntimeDebugBuilder.h
    M polly/include/polly/DependenceInfo.h
    M polly/include/polly/ScopInfo.h
    M polly/include/polly/Support/SCEVAffinator.h
    M polly/include/polly/Support/ScopHelper.h
    M polly/lib/Analysis/ScopBuilder.cpp
    M polly/lib/Analysis/ScopDetectionDiagnostic.cpp
    M polly/lib/CodeGen/IslNodeBuilder.cpp
    M polly/lib/CodeGen/Utils.cpp
    M polly/lib/Support/SCEVAffinator.cpp
    M polly/lib/Support/ScopHelper.cpp
    M polly/lib/Transform/DeLICM.cpp
    M polly/lib/Transform/ManualOptimizer.cpp
    M polly/lib/Transform/MatmulOptimizer.cpp
    M polly/lib/Transform/ScheduleOptimizer.cpp
    M polly/lib/Transform/ScheduleTreeTransform.cpp
    M polly/test/CodeGen/LoopParallelMD/do_not_mutate_debug_info.ll
    M polly/test/CodeGen/multiple-codegens.ll
    M polly/test/CodeGen/multiple-scops-in-a-row.ll
    M polly/test/CodeGen/reduction_2.ll
    M polly/test/CodeGen/scalar-store-from-same-bb.ll
    M polly/test/CodeGen/test-invalid-operands-for-select.ll
    M polly/test/DeLICM/load-in-cond-inf-loop.ll
    M polly/test/DeLICM/pr41656.ll
    M polly/test/DeLICM/pr48783.ll
    M polly/test/DeLICM/reject_outofquota.ll
    M polly/test/IstAstInfo/reduction_modulo_schedule_multiple_dimensions_2.ll
    M polly/test/IstAstInfo/reduction_modulo_schedule_multiple_dimensions_3.ll
    M polly/test/IstAstInfo/reduction_modulo_schedule_multiple_dimensions_4.ll
    M polly/test/ScheduleOptimizer/pattern-matching-based-opts-after-delicm.ll
    M polly/test/ScheduleOptimizer/pattern-matching-based-opts-after-delicm_2.ll
    M polly/test/ScopDetect/scev_remove_max.ll
    M polly/test/ScopDetectionDiagnostics/ReportLoopHasNoExit.ll
    M polly/test/ScopInfo/NonAffine/non_affine_loop_used_later.ll
    M polly/test/ScopInfo/allow-all-parameters-dereferencable.ll
    M polly/test/ScopInfo/invariant_same_loop_bound_multiple_times-1.ll
    M polly/test/ScopInfo/invariant_same_loop_bound_multiple_times-2.ll
    M polly/test/ScopInfo/multidim_gep_pointercast2.ll
    M polly/test/ScopInfo/multidim_many_references.ll
    M polly/test/ScopInfo/scalar_to_array.ll
    M polly/test/ScopInfo/zero_ext_of_truncate.ll
    M polly/test/create_ll.sh
    M polly/utils/pyscop/isl.py
    M polly/www/changelog.html
    M polly/www/get_started.html
    M polly/www/index.html
    M polly/www/projects.html
    M polly/www/publications.html

  Log Message:
  -----------
  [Polly] Fix typos discovered by codespell (#124545)

Patch created using the following command line:
```bash
codespell polly --skip="*.pdf,polly/lib/External/*" --write-changes \
  --ignore-words-list=couter,createor,distribues,doble,identty,indention,indx,olt,ore,padd,sais,te,theses
```


  Commit: e14962a39cc6476bebba65e5639b74b0318c7fc3
      https://github.com/llvm/llvm-project/commit/e14962a39cc6476bebba65e5639b74b0318c7fc3
  Author: Jeremy Morse <jeremy.morse at sony.com>
  Date:   2025-01-27 (Mon, 27 Jan 2025)

  Changed paths:
    M clang/lib/CodeGen/CodeGenFunction.h
    M llvm/include/llvm/Transforms/Utils/BasicBlockUtils.h
    M llvm/lib/CodeGen/CodeGenPrepare.cpp
    M llvm/lib/Target/Hexagon/HexagonVectorCombine.cpp
    M llvm/lib/Transforms/Coroutines/CoroSplit.cpp
    M llvm/lib/Transforms/Instrumentation/AddressSanitizer.cpp
    M llvm/lib/Transforms/Instrumentation/MemorySanitizer.cpp
    M llvm/lib/Transforms/Scalar/LoopStrengthReduce.cpp
    M llvm/lib/Transforms/Utils/BasicBlockUtils.cpp
    M llvm/lib/Transforms/Utils/InlineFunction.cpp

  Log Message:
  -----------
  [NFC][DebugInfo] Use iterators for instruction insertion in more places (#124291)

As part of the "RemoveDIs" work to eliminate debug intrinsics, we're
replacing methods that use Instruction*'s as positions with iterators.
This patch changes some more complex call-sites, those crossing file
boundaries and where I've had to perform some minor rewrites.


  Commit: 212f344b84b400c0a9dedfa3c1ec6af9d9d30223
      https://github.com/llvm/llvm-project/commit/212f344b84b400c0a9dedfa3c1ec6af9d9d30223
  Author: Nikita Popov <npopov at redhat.com>
  Date:   2025-01-27 (Mon, 27 Jan 2025)

  Changed paths:
    M llvm/lib/Transforms/InstCombine/InstructionCombining.cpp
    M llvm/test/Transforms/InstCombine/add2.ll

  Log Message:
  -----------
  [InstCombine] Handle constant expression result in tryFactorization()

If IRBuilder folds the result to a constant expression, don't try
to set nowrap flags on it.

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


  Commit: 559287575b5b747cfc01652adb647ee5516aa626
      https://github.com/llvm/llvm-project/commit/559287575b5b747cfc01652adb647ee5516aa626
  Author: Michael Maitland <michaeltmaitland at gmail.com>
  Date:   2025-01-27 (Mon, 27 Jan 2025)

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

  Log Message:
  -----------
  [GlobalMerge][NFC] Reland "Skip sorting by profitability when it is not needed"

Relands #124146 but without changes to the sorting algorithm and the following
reverse.


  Commit: 1eb4e9f88b827f9adbcdd5f385f75406aa604812
      https://github.com/llvm/llvm-project/commit/1eb4e9f88b827f9adbcdd5f385f75406aa604812
  Author: vdonaldson <37090318+vdonaldson at users.noreply.github.com>
  Date:   2025-01-27 (Mon, 27 Jan 2025)

  Changed paths:
    M flang/runtime/exceptions.cpp

  Log Message:
  -----------
  [flang] arm build fix (#124562)


  Commit: 20f72d19fc58a394df765d407d9008a381e02b91
      https://github.com/llvm/llvm-project/commit/20f72d19fc58a394df765d407d9008a381e02b91
  Author: vdonaldson <37090318+vdonaldson at users.noreply.github.com>
  Date:   2025-01-27 (Mon, 27 Jan 2025)

  Changed paths:
    M flang/runtime/exceptions.cpp

  Log Message:
  -----------
  Revert "[flang] arm build fix" (#124569)

Reverts llvm/llvm-project#124562


  Commit: 3322ba493ad7d203cdd6c545b7d9d9589c44357f
      https://github.com/llvm/llvm-project/commit/3322ba493ad7d203cdd6c545b7d9d9589c44357f
  Author: vdonaldson <37090318+vdonaldson at users.noreply.github.com>
  Date:   2025-01-27 (Mon, 27 Jan 2025)

  Changed paths:
    M flang/include/flang/Tools/TargetSetup.h
    M flang/runtime/exceptions.cpp

  Log Message:
  -----------
  Revert "[flang] IEEE underflow control for Arm" (#124570)

Reverts llvm/llvm-project#124170


  Commit: 1e2d5f7943d09d658a5fbacf661d2c6c361f857c
      https://github.com/llvm/llvm-project/commit/1e2d5f7943d09d658a5fbacf661d2c6c361f857c
  Author: Kareem Ergawy <kareem.ergawy at amd.com>
  Date:   2025-01-27 (Mon, 27 Jan 2025)

  Changed paths:
    M flang/lib/Optimizer/OpenMP/GenericLoopConversion.cpp
    M flang/test/Transforms/generic-loop-rewriting-todo.mlir
    M flang/test/Transforms/generic-loop-rewriting.mlir

  Log Message:
  -----------
  [NFC][mlir][OpenMP] Remove mentions of `target` from generic `loop` rewrite (#124528)

This removes mentions of `target` from the generic `loop` rewrite pass
since there is not need for it anyway. It is enough to detect `loop`'s
nesting within `teams` or `parallel` directives.


  Commit: e492083f55d98144ba9a049450cb429d7fd52510
      https://github.com/llvm/llvm-project/commit/e492083f55d98144ba9a049450cb429d7fd52510
  Author: Scott Manley <rscottmanley at gmail.com>
  Date:   2025-01-27 (Mon, 27 Jan 2025)

  Changed paths:
    M mlir/include/mlir/Dialect/OpenACC/OpenACCOps.td
    M mlir/test/Dialect/OpenACC/ops.mlir

  Log Message:
  -----------
  [OpenACC] Add AutomaticAllocationScope to recipe ops (#124337)

The recipe operations should have AutomaticAllocationScope so recipes can
be converted using operators that require parent ops to have
AutomaticAllocationScope


  Commit: f95f10c7e65b9abd9b4e2ed71190d08565952ec0
      https://github.com/llvm/llvm-project/commit/f95f10c7e65b9abd9b4e2ed71190d08565952ec0
  Author: Momchil Velikov <momchil.velikov at arm.com>
  Date:   2025-01-27 (Mon, 27 Jan 2025)

  Changed paths:
    M llvm/lib/Target/AArch64/AArch64SVEInstrInfo.td
    M llvm/lib/Target/AArch64/SVEInstrFormats.td
    A llvm/test/CodeGen/AArch64/zeroing-forms-urecpe-ursqrte-sqabs-sqneg.ll

  Log Message:
  -----------
  [AArch64] Generate zeroing forms of certain SVE2.2 instructions (9/11) (#116835)

SVE2.2 introduces instructions with predicated forms with zeroing of
the inactive lanes. This allows in some cases to save a `movprfx` or
a `mov` instruction when emitting code for `_x` or `_z` variants of
intrinsics.

This patch adds support for emitting the zeroing forms of certain
`URECPE`, `URSQRTE`, `SQABS` and `SQNEG` instructions.


  Commit: cb6f021af2354761357684ffa26ebbe718615244
      https://github.com/llvm/llvm-project/commit/cb6f021af2354761357684ffa26ebbe718615244
  Author: Luke Lau <luke at igalia.com>
  Date:   2025-01-27 (Mon, 27 Jan 2025)

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

  Log Message:
  -----------
  [RISCV][VLOPT] Remove unnecessary passthru restriction (#124549)

We currently check for passthrus in two places, on the instruction to
reduce in isCandidate, and on the users in checkUsers.

We cannot reduce the VL if an instruction has a user that's a passthru,
because the user will read elements past VL in the tail.

However it's fine to reduce an instruction if it itself contains a
non-undef passthru. Since the VL can only be reduced, not increased, the
previous tail will always remain the same.


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

  Changed paths:
    M llvm/lib/Target/X86/X86TargetTransformInfo.cpp
    M llvm/test/Analysis/CostModel/X86/reduction.ll
    M llvm/test/Transforms/PhaseOrdering/X86/hadd.ll
    M llvm/test/Transforms/PhaseOrdering/X86/hsub.ll
    M llvm/test/Transforms/VectorCombine/X86/extract-binop-inseltpoison.ll
    M llvm/test/Transforms/VectorCombine/X86/extract-binop.ll
    M llvm/test/Transforms/VectorCombine/X86/load-inseltpoison.ll

  Log Message:
  -----------
  [CostModel][X86] getShuffleCost - shuffles with only one defined element are always cheap (#124412)

If we're just moving a single element around inside a 128-bit lane (probably as an alternative to extracting it), we can assume this is cheap as a single PSRLDQ/PSHUFD/SHUFPS.

I've got the horrid feeling we're moving towards matching all SSE shuffle patterns inside the cost model, but I'm going to do my best to avoid this for now :|


  Commit: 16e9601e193e026d7f3f27e87f0adb81acf5969b
      https://github.com/llvm/llvm-project/commit/16e9601e193e026d7f3f27e87f0adb81acf5969b
  Author: ssijaric-nv <ssijaric at nvidia.com>
  Date:   2025-01-27 (Mon, 27 Jan 2025)

  Changed paths:
    M flang/lib/Optimizer/CodeGen/BoxedProcedure.cpp
    M flang/test/Fir/boxproc.fir
    M llvm/include/llvm/TargetParser/Triple.h
    M llvm/lib/TargetParser/Triple.cpp

  Log Message:
  -----------
  [Flang] Adjust the trampoline size for AArch64 and PPC (#118678)

Set  the trampoline size to match that in compiler-rt/lib/builtins/trampoline_setup.c
and AArch64 and PPC lowering.


  Commit: 7f24b9acd189e12e1289d47f7dc6fe0dfffbcbcc
      https://github.com/llvm/llvm-project/commit/7f24b9acd189e12e1289d47f7dc6fe0dfffbcbcc
  Author: Aiden Grossman <aidengrossman at google.com>
  Date:   2025-01-27 (Mon, 27 Jan 2025)

  Changed paths:
    M .ci/metrics/metrics.py

  Log Message:
  -----------
  [CI] Support multiple jobs in metrics container (#124457)

This patch makes it so that the metrics script can support multiple jobs
in a single workflow. This is needed so that we do not crash on an
assertion now that the windows job has been enabled within the premerge
workflow.


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

  Changed paths:
    M llvm/test/Transforms/PhaseOrdering/vector-trunc-inseltpoison.ll
    M llvm/test/Transforms/PhaseOrdering/vector-trunc.ll

  Log Message:
  -----------
  [PhaseOrdering] vector-trunc.ll - use -passes="default<O2>" to allow DOS to correctly evaluate the RUN command

Necessary for running update_test_checks.py on windows


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

  Changed paths:
    M llvm/test/Transforms/LowerMatrixIntrinsics/multiply-minimal.ll

  Log Message:
  -----------
  [LowerMatrixIntrinsics] multiply-minimal.ll - use -passes="..." to allow DOS to correctly evaluate the RUN command

Necessary for running update_test_checks.py on windows


  Commit: 749443a307e8e47a25a5552cbeb27f69845e6ce8
      https://github.com/llvm/llvm-project/commit/749443a307e8e47a25a5552cbeb27f69845e6ce8
  Author: Jeremy Morse <jeremy.morse at sony.com>
  Date:   2025-01-27 (Mon, 27 Jan 2025)

  Changed paths:
    M llvm/lib/SandboxIR/Instruction.cpp
    M llvm/lib/SandboxIR/Tracker.cpp
    M mlir/lib/Target/LLVMIR/Dialect/OpenMP/OpenMPToLLVMIRTranslation.cpp

  Log Message:
  -----------
  [NFC][DebugInfo] Mop up final instruction-insertion call sites (#124289)

These are the final places in the monorepo that make use of instruction
insertion for methods like insertBefore and moveBefore. As part of the
RemoveDIs project, instead use iterators for insertion. (see:
https://discourse.llvm.org/t/rfc-instruction-api-changes-needed-to-eliminate-debug-intrinsics-from-ir/68939
).


  Commit: 09a29fcc8dbbb2cc1c0fdf26ef4f8fafab4e03d9
      https://github.com/llvm/llvm-project/commit/09a29fcc8dbbb2cc1c0fdf26ef4f8fafab4e03d9
  Author: Florian Hahn <flo at fhahn.com>
  Date:   2025-01-27 (Mon, 27 Jan 2025)

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

  Log Message:
  -----------
  [VPlan] Don't collect live-ins in collectUsersInExitBlocks. (NFC) (#123819)

Live-ins don't need to be handled, other than adding to the exit phi
recipe. Do that early and assert that otherwise the exit value is
defined in the vector loop region.

This should enable simply skipping other exit values that do not need
further fixing, e.g. if handling the exit value from the early exit
directly in handleUncountableEarlyExit.

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


  Commit: 5f5cdf40382f06a8c417c42ec591f97aa76eeb67
      https://github.com/llvm/llvm-project/commit/5f5cdf40382f06a8c417c42ec591f97aa76eeb67
  Author: Michael Buch <michaelbuch12 at gmail.com>
  Date:   2025-01-27 (Mon, 27 Jan 2025)

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

  Log Message:
  -----------
  [lldb][TypeSystemClang] CreateParameterDeclarations: don't specify SmallVector size

This was causing Ubuntu buildbot failures:
```
/home/buildbot/buildbot-root/cross-project-tests-sie-ubuntu-dwarf5/llvm-project/lldb/source/Plugins/TypeSystem/Clang/TypeSystemClang.cpp: In member function ‘llvm::SmallVector<clang::ParmVarDecl*> lldb_private::TypeSystemClang::CreateParameterDeclarations(clang::FunctionDecl*, const clang::FunctionProtoType&, const llvm::SmallVector<llvm::StringRef>&)’:
/home/buildbot/buildbot-root/cross-project-tests-sie-ubuntu-dwarf5/llvm-project/lldb/source/Plugins/TypeSystem/Clang/TypeSystemClang.cpp:7728:10: error: could not convert ‘params’ from ‘SmallVector<[...],12>’ to ‘SmallVector<[...],6>’
 7728 |   return params;
      |          ^~~~~~
      |          |
      |          SmallVector<[...],12>
```

It's unclear why 12 was chosen here. Given we don't set the
size in other places where we parse parameters, this patch
just removes the constant.


  Commit: 81d18ad86419fc612c7071e888d11aa923eaeb8a
      https://github.com/llvm/llvm-project/commit/81d18ad86419fc612c7071e888d11aa923eaeb8a
  Author: Jeremy Morse <jeremy.morse at sony.com>
  Date:   2025-01-27 (Mon, 27 Jan 2025)

  Changed paths:
    M lldb/source/Plugins/ExpressionParser/Clang/IRForTarget.cpp
    M llvm/include/llvm/IR/BasicBlock.h
    M llvm/lib/CodeGen/CodeGenPrepare.cpp
    M llvm/lib/IR/BasicBlock.cpp
    M llvm/lib/Target/AArch64/AArch64TargetTransformInfo.cpp
    M llvm/lib/Target/AMDGPU/SIAnnotateControlFlow.cpp
    M llvm/lib/Target/NVPTX/NVPTXGenericToNVVM.cpp
    M llvm/lib/Transforms/Coroutines/CoroFrame.cpp
    M llvm/lib/Transforms/Coroutines/CoroSplit.cpp
    M llvm/lib/Transforms/IPO/IROutliner.cpp
    M llvm/lib/Transforms/IPO/SCCP.cpp
    M llvm/lib/Transforms/IPO/SampleProfile.cpp
    M llvm/lib/Transforms/InstCombine/InstCombineLoadStoreAlloca.cpp
    M llvm/lib/Transforms/Scalar/CallSiteSplitting.cpp
    M llvm/lib/Transforms/Scalar/SimpleLoopUnswitch.cpp
    M llvm/lib/Transforms/Utils/CodeMoverUtils.cpp
    M llvm/lib/Transforms/Utils/IRNormalizer.cpp
    M llvm/lib/Transforms/Utils/SimplifyCFG.cpp
    M llvm/unittests/Frontend/OpenMPIRBuilderTest.cpp

  Log Message:
  -----------
  [NFC][DebugInfo] Make some block-start-position methods return iterators (#124287)

As part of the "RemoveDIs" work to eliminate debug intrinsics, we're
replacing methods that use Instruction*'s as positions with iterators. A
number of these (such as getFirstNonPHIOrDbg) are sufficiently
infrequently used that we can just replace the pointer-returning version
with an iterator-returning version, hopefully without much/any
disruption.

Thus this patch has getFirstNonPHIOrDbg and
getFirstNonPHIOrDbgOrLifetime return an iterator, and updates all
call-sites. There are no concerns about the iterators returned being
converted to Instruction*'s and losing the debug-info bit: because the
methods skip debug intrinsics, the iterator head bit is always false
anyway.


  Commit: 6ff86f2c0a5b58b07921ee895f0d16d8cd3d4015
      https://github.com/llvm/llvm-project/commit/6ff86f2c0a5b58b07921ee895f0d16d8cd3d4015
  Author: Joseph Huber <huberjn at outlook.com>
  Date:   2025-01-27 (Mon, 27 Jan 2025)

  Changed paths:
    M clang/lib/Driver/Driver.cpp
    M clang/test/Driver/amdgpu-toolchain.c

  Log Message:
  -----------
  [AMDGPU] Use the AMDGPUToolChain when targeting C/C++ directly (#99687)

Summary:
The `getToolChain` pass uses the triple to determine which toolchain to
create. Currently the `amdgcn-amd-amdhsa` triple maps to the
`ROCmToolChain` which uses things expected to be provided by `ROCm`.
This is neded for OpenCL, but directly targeting C++ does not want this
since it's primarily being used for creating GPU runtime code. As far as
I know I'm the only user of this, so this shouldn't change anything.

Unfortunately, there's no good logic for detercting this, so I simply
checked ahead of time if the input is either `foo.cl` or `-x cl foo.c`
to choose between the two. This allows us to use the AMDGPU target
normally, as otherwise it will error without passing `-nogpulib`.


  Commit: 38b3f45a811282511c014cffd09a8ae2a96435ba
      https://github.com/llvm/llvm-project/commit/38b3f45a811282511c014cffd09a8ae2a96435ba
  Author: Joseph Huber <huberjn at outlook.com>
  Date:   2025-01-27 (Mon, 27 Jan 2025)

  Changed paths:
    M offload/plugins-nextgen/common/src/PluginInterface.cpp

  Log Message:
  -----------
  [Offload] Fix offload-info interface

Summary:
The offload info tool doesn't initialize things properly, just check
this first instead.


  Commit: c3a0fcc982061f9a69cfc1199dc91bd1fc3158c0
      https://github.com/llvm/llvm-project/commit/c3a0fcc982061f9a69cfc1199dc91bd1fc3158c0
  Author: Fraser Cormack <fraser at codeplay.com>
  Date:   2025-01-27 (Mon, 27 Jan 2025)

  Changed paths:
    M libclc/clc/lib/generic/relational/clc_all.cl
    M libclc/clc/lib/generic/relational/clc_any.cl

  Log Message:
  -----------
  [libclc] Optimize CLC vector any/all builtins (#124568)

By using the vector reduction buitins we can avoid scalarization.
Targets that don't support vector reductions will scalarize later on
anyway. The vector reduction builtins should be well-enough supported by
the middle-end to be a generic solution.

This produces conceptually equivalent code: all vector elements are
OR'd/AND'd together and the final scalar is bit-shifted and masked to
produce the final result.

The 'normalize' builtin uses 'all' so its code has similarly improved in
places.


  Commit: 038b42ba5b47b1aa2d47ef5706a713f6bfbbc37c
      https://github.com/llvm/llvm-project/commit/038b42ba5b47b1aa2d47ef5706a713f6bfbbc37c
  Author: Peter Klausler <pklausler at nvidia.com>
  Date:   2025-01-27 (Mon, 27 Jan 2025)

  Changed paths:
    M flang/docs/ModFiles.md
    M flang/include/flang/Common/Fortran-features.h
    M flang/include/flang/Evaluate/type.h
    M flang/include/flang/Semantics/semantics.h
    M flang/include/flang/Semantics/symbol.h
    M flang/lib/Evaluate/type.cpp
    M flang/lib/Semantics/mod-file.cpp
    M flang/lib/Semantics/resolve-names.cpp
    M flang/lib/Semantics/symbol.cpp
    M flang/lib/Semantics/tools.cpp
    A flang/test/Semantics/modfile71.F90

  Log Message:
  -----------
  [flang] Safer hermetic module file reading (#121002)

When a hermetic module file is read, use a new scope to hold its
dependent modules so that they don't conflict with any modules in the
global scope.


  Commit: 34b139594aa20fe712bc2ad68544632b3e4d8512
      https://github.com/llvm/llvm-project/commit/34b139594aa20fe712bc2ad68544632b3e4d8512
  Author: Jeremy Morse <jeremy.morse at sony.com>
  Date:   2025-01-27 (Mon, 27 Jan 2025)

  Changed paths:
    M llvm/include/llvm/Transforms/Coroutines/CoroInstr.h
    M llvm/lib/Frontend/OpenMP/OMPIRBuilder.cpp
    M llvm/lib/IR/BasicBlock.cpp
    M llvm/lib/Target/Hexagon/HexagonOptimizeSZextends.cpp
    M llvm/lib/Transforms/Instrumentation/AddressSanitizer.cpp
    M llvm/lib/Transforms/Scalar/CallSiteSplitting.cpp
    M llvm/lib/Transforms/Scalar/LoopStrengthReduce.cpp
    M llvm/lib/Transforms/Scalar/MergedLoadStoreMotion.cpp
    M llvm/lib/Transforms/Scalar/RewriteStatepointsForGC.cpp
    M llvm/lib/Transforms/Scalar/SROA.cpp
    M llvm/lib/Transforms/Scalar/SimpleLoopUnswitch.cpp
    M llvm/lib/Transforms/Utils/AssumeBundleBuilder.cpp
    M llvm/lib/Transforms/Utils/BasicBlockUtils.cpp
    M llvm/lib/Transforms/Utils/LoopUnrollAndJam.cpp
    M llvm/lib/Transforms/Utils/SimplifyCFG.cpp
    M llvm/lib/Transforms/Vectorize/VPlan.cpp

  Log Message:
  -----------
  [NFC][DebugInfo] Switch more call-sites to using iterator-insertion (#124283)

To finalise the "RemoveDIs" work removing debug intrinsics, we're
updating call sites that insert instructions to use iterators instead.
This set of changes are those where it's not immediately obvious that
just calling getIterator to fetch an iterator is correct, and one or two
places where more than one line needs to change.

Overall the same rule holds though: iterators generated for the start of
a block such as getFirstNonPHIIt need to be passed into insert/move
methods without being unwrapped/rewrapped, everything else can use
getIterator.


  Commit: 512b44d5e1534ef60b5db7a99818e1021cf6064c
      https://github.com/llvm/llvm-project/commit/512b44d5e1534ef60b5db7a99818e1021cf6064c
  Author: Peter Klausler <pklausler at nvidia.com>
  Date:   2025-01-27 (Mon, 27 Jan 2025)

  Changed paths:
    M flang/lib/Evaluate/intrinsics.cpp
    M flang/test/Semantics/atomic01.f90
    M flang/test/Semantics/atomic02.f90
    M flang/test/Semantics/atomic03.f90
    M flang/test/Semantics/atomic04.f90
    M flang/test/Semantics/atomic05.f90
    M flang/test/Semantics/atomic06.f90
    M flang/test/Semantics/atomic07.f90
    M flang/test/Semantics/atomic08.f90
    M flang/test/Semantics/atomic09.f90
    M flang/test/Semantics/atomic10.f90
    M flang/test/Semantics/atomic11.f90

  Log Message:
  -----------
  [flang] Define ATOMIC_ADD as an intrinsic procedure (#122993)

This one appears to have been omitted when other ATOMIC_xxx intrinsic
procedures were defined. There's already tests for it, but they
apparently work even when ATOMIC_ADD must be interpreted as an external
procedure with an implicit interface. Extend the tests with INTRINSIC
NONE(EXTERNAL, TYPE) statements to ensure that they require the
intrinsic interpretation.


  Commit: 2625510ef8094457413661ef0ce2651844f584d2
      https://github.com/llvm/llvm-project/commit/2625510ef8094457413661ef0ce2651844f584d2
  Author: Peter Klausler <pklausler at nvidia.com>
  Date:   2025-01-27 (Mon, 27 Jan 2025)

  Changed paths:
    M flang/include/flang/Semantics/tools.h
    M flang/lib/Semantics/check-coarray.cpp
    M flang/lib/Semantics/check-declarations.cpp
    M flang/lib/Semantics/tools.cpp
    M flang/test/Semantics/call04.f90
    M flang/test/Semantics/critical02.f90
    M flang/test/Semantics/doconcurrent01.f90
    M flang/test/Semantics/event01b.f90
    M flang/test/Semantics/event02b.f90
    M flang/test/Semantics/sync-stat-list.f90

  Log Message:
  -----------
  [flang] Refine EVENT_TYPE/LOCK_TYPE usage checks (#123244)

The event variable in an EVENT POST/WAIT statement can be a coarray
reference, and need not be an entire coarray.

Variables and potential subobject components with EVENT_TYPE/LOCK_TYPE
must be coarrays, unless they are potential subobjects nested within
coarrays or pointers.


  Commit: 4e231014c1980d64812a0322223a4759798d1be3
      https://github.com/llvm/llvm-project/commit/4e231014c1980d64812a0322223a4759798d1be3
  Author: Momchil Velikov <momchil.velikov at arm.com>
  Date:   2025-01-27 (Mon, 27 Jan 2025)

  Changed paths:
    M llvm/lib/Target/AArch64/AArch64SVEInstrInfo.td
    M llvm/lib/Target/AArch64/SVEInstrFormats.td
    A llvm/test/CodeGen/AArch64/zeroing-forms-rev.ll

  Log Message:
  -----------
  [AArch64] Generate zeroing forms of certain SVE2.2 instructions (10/11) (#116836)

SVE2.2 introduces instructions with predicated forms with zeroing of
the inactive lanes. This allows in some cases to save a `movprfx` or
a `mov` instruction when emitting code for `_x` or `_z` variants of
intrinsics.

This patch adds support for emitting the zeroing forms of certain
`RBIT`, `REVB`, `REVH`, `REVW`, and `REVD` instructions.


  Commit: 73f9034036c942058827877a657d72071dd766e7
      https://github.com/llvm/llvm-project/commit/73f9034036c942058827877a657d72071dd766e7
  Author: Peter Klausler <pklausler at nvidia.com>
  Date:   2025-01-27 (Mon, 27 Jan 2025)

  Changed paths:
    M flang/lib/Evaluate/fold-implementation.h
    A flang/test/Evaluate/fold-arr-char-component.f90

  Log Message:
  -----------
  [flang] Fix failure to fold character array (#123418)

When a character component reference is applied to a constant array of
derived type, ensure that the length of the resulting character array is
properly defined.

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


  Commit: 73db9ee1e87b4cfccbc9d67d2b47d9476f92413f
      https://github.com/llvm/llvm-project/commit/73db9ee1e87b4cfccbc9d67d2b47d9476f92413f
  Author: Jon Roelofs <jonathan_roelofs at apple.com>
  Date:   2025-01-27 (Mon, 27 Jan 2025)

  Changed paths:
    M clang/lib/Sema/SemaDecl.cpp
    M clang/test/Sema/attr-cpuspecific.c
    M clang/test/Sema/attr-target-mv.c
    M clang/test/Sema/attr-target-version.c

  Log Message:
  -----------
  [clang][Sema][FMV] Add a note to the 'cannot become multiversioned' diagnostic (#124364)

... pointing out the previous declaration.


  Commit: 210e675cfd7be3d7e0d93c29368acd27b51f9a17
      https://github.com/llvm/llvm-project/commit/210e675cfd7be3d7e0d93c29368acd27b51f9a17
  Author: Peter Klausler <pklausler at nvidia.com>
  Date:   2025-01-27 (Mon, 27 Jan 2025)

  Changed paths:
    M flang/lib/Semantics/resolve-labels.cpp
    A flang/test/Semantics/label19.f90

  Log Message:
  -----------
  [flang] Accept CHANGE TEAM/END TEAM as branch target (#123822)

It is valid to jump to a CHANGE TEAM statement from anywhere in the
containing executable part, and valid to jump to an END TEAM statement
from within the construct.


  Commit: b16c989697208795f6428432f9ab05c5535b6085
      https://github.com/llvm/llvm-project/commit/b16c989697208795f6428432f9ab05c5535b6085
  Author: Peter Klausler <pklausler at nvidia.com>
  Date:   2025-01-27 (Mon, 27 Jan 2025)

  Changed paths:
    M flang/lib/Semantics/check-call.cpp
    M flang/test/Semantics/call13.f90

  Log Message:
  -----------
  [flang] Fix check for coarray actual passed to implicit interface (#123836)

The check for a coarray actual argument being passed to a procedure with
an implicit interface was incorrect, yielding false positives for
coindexed objects. Fix.


  Commit: 3ac00784ac3cd8b435c0c6be36f81f786ca5e489
      https://github.com/llvm/llvm-project/commit/3ac00784ac3cd8b435c0c6be36f81f786ca5e489
  Author: Peter Klausler <pklausler at nvidia.com>
  Date:   2025-01-27 (Mon, 27 Jan 2025)

  Changed paths:
    M flang/lib/Semantics/resolve-names.cpp
    A flang/test/Semantics/bug123538.f90

  Log Message:
  -----------
  [flang] Fix crash on erroneous program (#123843)

Catch and report multiple initializations of the same procedure pointer
rather than assuming that control wouldn't reach a given point in name
resolution in that case.

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


  Commit: f5ddb1012de1c7c7c958aa288932caead9607b07
      https://github.com/llvm/llvm-project/commit/f5ddb1012de1c7c7c958aa288932caead9607b07
  Author: Peter Klausler <pklausler at nvidia.com>
  Date:   2025-01-27 (Mon, 27 Jan 2025)

  Changed paths:
    M flang/lib/Semantics/mod-file.cpp
    A flang/test/Semantics/bug123534.f90

  Log Message:
  -----------
  [flang] Fix crash in module file generation (#123859)

An assertion in module file generation didn't allow for a case that has
arisen in a test; remove it, extend commentary, and add a regression
test.

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


  Commit: ec6b2c63d93d8f8edeafcc7330d0b2349463d73d
      https://github.com/llvm/llvm-project/commit/ec6b2c63d93d8f8edeafcc7330d0b2349463d73d
  Author: Peter Klausler <pklausler at nvidia.com>
  Date:   2025-01-27 (Mon, 27 Jan 2025)

  Changed paths:
    M flang/lib/Evaluate/fold-implementation.h
    A flang/test/Evaluate/bug123766.f90

  Log Message:
  -----------
  [flang] Fold character array constructor with unknown length (#123983)

When a character array constructor does not have an explicit type with a
constant length, the compiler can still fold it if all of its elements
are constants. These array constructors will have been wrapped up in the
internal %SET_LENGTH operation, which will determine the final length of
the folded value, so use the maximum length of the constant elements as
the length of the folded array constructor.

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


  Commit: d1d952c206efc3a651270c69331b180330ac3efc
      https://github.com/llvm/llvm-project/commit/d1d952c206efc3a651270c69331b180330ac3efc
  Author: Peter Klausler <pklausler at nvidia.com>
  Date:   2025-01-27 (Mon, 27 Jan 2025)

  Changed paths:
    M flang/lib/Common/default-kinds.cpp
    M flang/lib/Frontend/CompilerInstance.cpp
    M flang/test/Semantics/kinds04_q10.f90

  Log Message:
  -----------
  [flang] Interpret 'Q' exponent letter as kind=16 even on x86 (#124158)

The compiler was interpreting 'Q' as an exponent letter in a literal
real constant as meaning real(kind=10) on x86-64, which is the legacy
80387 80-bit extended precision floating-point type. It turns out that
'Q' means kind=16 with all other compilers, even for x86-64 targets.
Change to conform.


  Commit: c596aae47ad8cfaee0fe4af3c104cb89a1125ac5
      https://github.com/llvm/llvm-project/commit/c596aae47ad8cfaee0fe4af3c104cb89a1125ac5
  Author: Peter Klausler <pklausler at nvidia.com>
  Date:   2025-01-27 (Mon, 27 Jan 2025)

  Changed paths:
    M flang/lib/Semantics/check-declarations.cpp
    M flang/test/Semantics/bind-c06.f90

  Log Message:
  -----------
  [flang] Catch assumed-length interoperability error (#124179)

An assumed-length character dummy argument is interoperable only if it
is neither a pointer nor allocatable.


  Commit: b0fab14e9ca24a9160581ea26c19661c6f3a053f
      https://github.com/llvm/llvm-project/commit/b0fab14e9ca24a9160581ea26c19661c6f3a053f
  Author: Peter Klausler <pklausler at nvidia.com>
  Date:   2025-01-27 (Mon, 27 Jan 2025)

  Changed paths:
    M flang/lib/Semantics/check-call.cpp
    M flang/test/Semantics/call38.f90

  Log Message:
  -----------
  [flang] Fix spurious error in character sequence association (#124204)

When an allocatable or pointer was being associated as a storage
sequence with a dummy argument, the checks were using the actual storage
size of the allocatable or pointer's descriptor, not the size of the
storage that it references.

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


  Commit: 873426bea3dd67d80dd10650e64e91c69796614f
      https://github.com/llvm/llvm-project/commit/873426bea3dd67d80dd10650e64e91c69796614f
  Author: John Harrison <harjohn at google.com>
  Date:   2025-01-27 (Mon, 27 Jan 2025)

  Changed paths:
    M lldb/tools/lldb-dap/CMakeLists.txt
    M lldb/tools/lldb-dap/DAP.cpp
    M lldb/tools/lldb-dap/DAP.h
    M lldb/tools/lldb-dap/IOStream.h
    M lldb/tools/lldb-dap/OutputRedirector.cpp
    M lldb/tools/lldb-dap/OutputRedirector.h
    M lldb/tools/lldb-dap/lldb-dap.cpp

  Log Message:
  -----------
  [lldb-dap] Ensure the IO forwarding threads are managed by the DAP object lifecycle. (#122783)

This moves the ownership of the threads that forward stdout/stderr to
the DAP object itself to ensure that the threads are joined and that the
forwarding is cleaned up when the DAP connection is disconnected.

This is part of a larger refactor to allow lldb-dap to run in a
listening mode and accept multiple connections.

This reverts the previous revert and now that the underlying Windows
issue was fixed by 3ea2b546a8d17014d3ecf05356ecfaadf26ed846.


  Commit: fee393e4ea2b53139ee7924e3aa818433d70cfc7
      https://github.com/llvm/llvm-project/commit/fee393e4ea2b53139ee7924e3aa818433d70cfc7
  Author: Peter Klausler <pklausler at nvidia.com>
  Date:   2025-01-27 (Mon, 27 Jan 2025)

  Changed paths:
    M flang/runtime/io-api.cpp

  Log Message:
  -----------
  [flang][runtime] Don't crash on ASYNCHRONOUS='NO' in child I/O (#124208)

When ASYNCHRONOUS='NO' appears in a data transfer statement control item
list, don't crash if it isn't appropriate for the kind of I/O under way
(such as child I/O).

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


  Commit: e252c402104bd7c23341748663e1a182451c2ec8
      https://github.com/llvm/llvm-project/commit/e252c402104bd7c23341748663e1a182451c2ec8
  Author: Peter Klausler <pklausler at nvidia.com>
  Date:   2025-01-27 (Mon, 27 Jan 2025)

  Changed paths:
    M flang/include/flang/Evaluate/shape.h
    M flang/lib/Evaluate/shape.cpp
    A flang/test/Evaluate/bug124191.f90

  Log Message:
  -----------
  [flang] Fix spurious error due to bad expression shape calculation (#124323)

GetShape() needed to be called with a FoldingContext in order to
properly construct an extent expression for the shape of an array
constructor whose elements (nested in an implied DO loop) were not
scalars.

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


  Commit: 08c364280a790cb2a80fff86beb5ea69782ce667
      https://github.com/llvm/llvm-project/commit/08c364280a790cb2a80fff86beb5ea69782ce667
  Author: Peter Klausler <pklausler at nvidia.com>
  Date:   2025-01-27 (Mon, 27 Jan 2025)

  Changed paths:
    M flang/lib/Evaluate/tools.cpp
    M flang/test/Semantics/complex01.f90

  Log Message:
  -----------
  [flang] Improve error message on bad complex literal. (#124331)

A complex literal constant can have one BOZ component, since the type
and value of the literal can be determined by converting the BOZ value
to the type of the other component. But a complex literal constant with
two BOZ components doesn't have a well-defined type. The error message
was confusing in the case; emit a better one.

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


  Commit: b80965efc1ea3f30cbdac090d869b1000fca5d2b
      https://github.com/llvm/llvm-project/commit/b80965efc1ea3f30cbdac090d869b1000fca5d2b
  Author: Josh Stone <jistone at redhat.com>
  Date:   2025-01-27 (Mon, 27 Jan 2025)

  Changed paths:
    M llvm/lib/Support/MemAlloc.cpp

  Log Message:
  -----------
  [Support] Report OOM from `allocate_buffer` (#85449)

Previously, it called `::operator new` which may throw `std::bad_alloc`,
regardless of whether LLVM itself was built with exception handling, and
this can cause safety issues if outside code has destructors that will
call back into LLVM. Now we use `::operator new(..., nothrow)` and call
`llvm::report_bad_alloc_error` when allocation fails, which will abort
when LLVM is built without exceptions.

Ref: https://github.com/llvm/llvm-project/issues/85281


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

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

  Log Message:
  -----------
  [X86] combineCMov - pull out repeated getValueType calls. NFC.


  Commit: 44c9e46fce12badae8cd3f5bd53fe1c2b1248940
      https://github.com/llvm/llvm-project/commit/44c9e46fce12badae8cd3f5bd53fe1c2b1248940
  Author: Shubham Sandeep Rastogi <srastogi22 at apple.com>
  Date:   2025-01-27 (Mon, 27 Jan 2025)

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

  Log Message:
  -----------
  [InstrRef] Fix mismatch between LiveDebugValues and salvageCopySSA (#124233)

The LiveDebugValues pass and the instruction selector (which calls
salvageCopySSA) need to be consistent on what they consider a copy
instruction. With https://github.com/llvm/llvm-project/pull/75184, the
definition of what a copy instruction is was narrowed for AArch64 to
exclude a w->x ORR and treat it as a zero-extend rather than a copy

However, to make sure LiveDebugValues still treats a w->x ORR as a copy,
the new function, isCopyLikeInstr was created. We need to make sure that
salvageCopySSA also calls that function.

This patch addresses this mismatch.


  Commit: 1e89355dadce13a162882b58a0e7f181669ba65f
      https://github.com/llvm/llvm-project/commit/1e89355dadce13a162882b58a0e7f181669ba65f
  Author: Owen Pan <owenpiano at gmail.com>
  Date:   2025-01-27 (Mon, 27 Jan 2025)

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

  Log Message:
  -----------
  [clang-format] Treat `f<N | M>(a)` as template function call (#124438)

Fixes #123144.


  Commit: 19f052443df05df373ef1c695055886db16de376
      https://github.com/llvm/llvm-project/commit/19f052443df05df373ef1c695055886db16de376
  Author: cor3ntin <corentinjabot at gmail.com>
  Date:   2025-01-27 (Mon, 27 Jan 2025)

  Changed paths:
    M clang/test/SemaCXX/cxx2b-consteval-propagate.cpp

  Log Message:
  -----------
  [Clang] fix test on 32 bits target after 561132e (#124593)


  Commit: 99bd2e3f123baf9a14acc9b31ee0f557288118a6
      https://github.com/llvm/llvm-project/commit/99bd2e3f123baf9a14acc9b31ee0f557288118a6
  Author: Momchil Velikov <momchil.velikov at arm.com>
  Date:   2025-01-27 (Mon, 27 Jan 2025)

  Changed paths:
    M clang/include/clang/Basic/arm_neon.td
    M clang/include/clang/Basic/arm_neon_incl.td
    M clang/lib/CodeGen/CGBuiltin.cpp
    M clang/lib/CodeGen/CodeGenFunction.h
    A clang/test/CodeGen/AArch64/fp8-intrinsics/acle_neon_fp8_cvt.c
    A clang/test/Sema/aarch64-fp8-intrinsics/acle_neon_fp8_cvt.c
    M clang/utils/TableGen/NeonEmitter.cpp
    M llvm/include/llvm/IR/IntrinsicsAArch64.td
    M llvm/lib/Target/AArch64/AArch64InstrFormats.td
    M llvm/lib/Target/AArch64/AArch64InstrInfo.td
    A llvm/test/CodeGen/AArch64/neon-fp8-cvt.ll

  Log Message:
  -----------
  [AArch64] Add Neon FP8 conversion intrinsics (#123612)

The patch adds the following intrinsics:

    bfloat16x8_t vcvt1_bf16_mf8_fpm(mfloat8x8_t vn, fpm_t fpm)
    bfloat16x8_t vcvt1_low_bf16_mf8_fpm(mfloat8x16_t vn, fpm_t fpm)
    bfloat16x8_t vcvt2_bf16_mf8_fpm(mfloat8x8_t vn, fpm_t fpm)
    bfloat16x8_t vcvt2_low_bf16_mf8_fpm(mfloat8x16_t vn, fpm_t fpm)
    
    bfloat16x8_t vcvt1_high_bf16_mf8_fpm(mfloat8x16_t vn, fpm_t fpm)
    bfloat16x8_t vcvt2_high_bf16_mf8_fpm(mfloat8x16_t vn, fpm_t fpm)
    
    float16x8_t vcvt1_f16_mf8_fpm(mfloat8x8_t vn, fpm_t fpm)
    float16x8_t vcvt1_low_f16_mf8_fpm(mfloat8x16_t vn, fpm_t fpm)
    float16x8_t vcvt2_f16_mf8_fpm(mfloat8x8_t vn, fpm_t fpm)
    float16x8_t vcvt2_low_f16_mf8_fpm(mfloat8x16_t vn, fpm_t fpm)
    
    float16x8_t vcvt1_high_f16_mf8_fpm(mfloat8x16_t vn, fpm_t fpm)
    float16x8_t vcvt2_high_f16_mf8_fpm(mfloat8x16_t vn, fpm_t fpm)
    
mfloat8x8_t vcvt_mf8_f32_fpm(float32x4_t vn, float32x4_t vm, fpm_t fpm)
mfloat8x16_t vcvt_high_mf8_f32_fpm(mfloat8x8_t vd, float32x4_t vn,
float32x4_t vm, fpm_t fpm)
    
mfloat8x8_t vcvt_mf8_f16_fpm(float16x4_t vn, float16x4_t vm, fpm_t fpm)
mfloat8x16_t vcvtq_mf8_f16_fpm(float16x8_t vn, float16x8_t vm, fpm_t
fpm)

Co-Authored-By: Caroline Concatto <caroline.concatto at arm.com>


  Commit: 658f8500c84fcdcfbf5470ae7b4f732ef4a3c32f
      https://github.com/llvm/llvm-project/commit/658f8500c84fcdcfbf5470ae7b4f732ef4a3c32f
  Author: Benjamin Kramer <benny.kra at googlemail.com>
  Date:   2025-01-27 (Mon, 27 Jan 2025)

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

  Log Message:
  -----------
  [bazel] Remove obsolete mlir-cpu-runner alias


  Commit: 88cca8ea209bb034eaec6af09a0227fb8cc7303e
      https://github.com/llvm/llvm-project/commit/88cca8ea209bb034eaec6af09a0227fb8cc7303e
  Author: Louis Dionne <ldionne.2 at gmail.com>
  Date:   2025-01-27 (Mon, 27 Jan 2025)

  Changed paths:
    M libcxx/include/__locale
    M libcxx/include/__locale_dir/locale_base_api.h
    M libcxx/include/__locale_dir/support/bsd_like.h
    M libcxx/include/__locale_dir/support/fuchsia.h
    M libcxx/include/__locale_dir/support/windows.h
    M libcxx/src/iostream.cpp
    M libcxx/src/locale.cpp
    M libcxx/src/support/win32/locale_win32.cpp

  Log Message:
  -----------
  [libc++] Add more missing bits to the locale base API (#122531)

This patch adds the following pieces to the locale base API:
- __setlocale (for std::setlocale)
- __lconv_t (for std::lconv)
- _LIBCPP_FOO_MASK and _LIBCPP_LC_ALL

This should be sufficient to implement all of the platform-agnostic
localization support in libc++ without relying directly on any public
API names from the C library. This makes it possible to port libc++ to
platforms that don't provide the usual locale APIs.


  Commit: 7b1becd940cb93f8b63c9872e1af7431dea353d1
      https://github.com/llvm/llvm-project/commit/7b1becd940cb93f8b63c9872e1af7431dea353d1
  Author: Joseph Huber <huberjn at outlook.com>
  Date:   2025-01-27 (Mon, 27 Jan 2025)

  Changed paths:
    A libc/cmake/caches/gpu.cmake
    M libc/docs/gpu/building.rst

  Log Message:
  -----------
  [libc] Add CMake cache file for the GPU build (#124589)

Summary:
This introduces libc cache files and adds one for building the GPU
support. The cache files will set defaults for these arguments which can
be overridden if the user needs to. They also serve as documentation for
how the builid is expected to look.


  Commit: 610e33a547751019ff514d34f95f72d58118249c
      https://github.com/llvm/llvm-project/commit/610e33a547751019ff514d34f95f72d58118249c
  Author: Michael Kruse <llvm-project at meinersbur.de>
  Date:   2025-01-27 (Mon, 27 Jan 2025)

  Changed paths:
    M polly/include/polly/CodeGen/IslExprBuilder.h
    M polly/lib/CodeGen/IslExprBuilder.cpp
    M polly/lib/CodeGen/IslNodeBuilder.cpp

  Log Message:
  -----------
  [Polly] Ensure i1 preload condition

If the preload condition is a constant, ExprBuilder::create returns an
integer of the native integer while an i1 is expected. Cast the result
to i1 if that happens.

Fixes #123932


  Commit: 1782168c527bbb9756c96a95f82397b5952d32b4
      https://github.com/llvm/llvm-project/commit/1782168c527bbb9756c96a95f82397b5952d32b4
  Author: Kazu Hirata <kazu at google.com>
  Date:   2025-01-27 (Mon, 27 Jan 2025)

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

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

This patch fixes:

  llvm/lib/Target/X86/X86TargetTransformInfo.cpp:1583:47: error:
  comparison of integers of different signs: 'size_t' (aka 'unsigned
  long') and 'typename iterator_traits<const int *>::difference_type'
  (aka 'long') [-Werror,-Wsign-compare]


  Commit: 754b94638e8935e1c1ed6121e0037fdae8b3c63c
      https://github.com/llvm/llvm-project/commit/754b94638e8935e1c1ed6121e0037fdae8b3c63c
  Author: Fangrui Song <i at maskray.me>
  Date:   2025-01-27 (Mon, 27 Jan 2025)

  Changed paths:
    M lld/test/ELF/archive-thin-missing-member.s
    M lld/test/ELF/arm-thumb-thunk-v6m-xo.s
    M lld/test/ELF/arm-thunk-section-too-large.s
    M lld/test/ELF/arm-thunk-toolargesection.s
    M lld/test/ELF/arm-v5-reloc-error.s
    M lld/test/ELF/bad-archive.s
    M lld/test/ELF/fatlto/fatlto.invalid.s
    M lld/test/ELF/invalid-cie-reference.s
    M lld/test/ELF/invalid/comdat-broken.test
    M lld/test/ELF/invalid/data-encoding.test
    M lld/test/ELF/invalid/dynamic-section-broken.test
    M lld/test/ELF/invalid/invalid-elf.test
    M lld/test/ELF/invalid/invalid-file-class.test
    M lld/test/ELF/invalid/sht-group-wrong-section.test
    M lld/test/ELF/invalid/sht-group.test
    M lld/test/ELF/invalid/symtab-sh-info.s
    M lld/test/ELF/invalid/verneed-shared.test
    M lld/test/ELF/lto/bitcode-nodatalayout.ll
    M lld/test/ELF/lto/bitcode-wrapper.ll
    M lld/test/ELF/unsupported-emachine.test
    M lld/test/lit.cfg.py

  Log Message:
  -----------
  [lld] Support RUN_LLD_MAIN_TWICE for the ELF port (#124441)

This enables the LLD_IN_TEST=2 testing mode for
```
path/to/llvm-lit -sv --param RUN_LLD_MAIN_TWICE=1 lld/test/ELF
```

When `Fatal` is called, `RunSafely` will return false.
For the first invocation in LLD_IN_TEST=2 mode, `inTestOutputDisabled`
is true and lld will not write to stdout/stderr, making many tests fail.
(This essentially discourages `Fatal` calls in the source code.)

Add XFAIL: main-run-twice to these tests similar to
https://reviews.llvm.org/D112898 for Mach-O

```
comment="This test intentionally checks for fatal errors, and fatal errors aren't supported for testing when main is run twice."
xargs </tmp/0 sed -Ei "1s/(;|#|\/\/) REQUIRES: .*/\0\n\1 "$comment"\n\1 XFAIL: main-run-twice/;t;1s/^/# "$comment"\n# XFAIL: main-run-twice\n/"
```


  Commit: 5d6d982df61d16b6d498e6d59dd91c059679d3d8
      https://github.com/llvm/llvm-project/commit/5d6d982df61d16b6d498e6d59dd91c059679d3d8
  Author: Momchil Velikov <momchil.velikov at arm.com>
  Date:   2025-01-27 (Mon, 27 Jan 2025)

  Changed paths:
    M llvm/lib/Target/AArch64/AArch64SVEInstrInfo.td
    M llvm/lib/Target/AArch64/SVEInstrFormats.td
    A llvm/test/CodeGen/AArch64/zeroing-forms-ext.ll

  Log Message:
  -----------
  [AArch64] Generate zeroing forms of certain SVE2.2 instructions (11/11) (#116837)

SVE2.2 introduces instructions with predicated forms with zeroing of
the inactive lanes. This allows in some cases to save a `movprfx` or
a `mov` instruction when emitting code for `_x` or `_z` variants of
intrinsics.

This patch adds support for emitting the zeroing forms of certain
`SXTB`, `UXTB`, `SXTH`, `UXTH`, `SXTW`, and `UXTW` instructions.


  Commit: dc6411d3e1ab903750a4c80571ee0ebd7e26a62c
      https://github.com/llvm/llvm-project/commit/dc6411d3e1ab903750a4c80571ee0ebd7e26a62c
  Author: Kazu Hirata <kazu at google.com>
  Date:   2025-01-27 (Mon, 27 Jan 2025)

  Changed paths:
    M clang/lib/AST/Decl.cpp

  Log Message:
  -----------
  [AST] Migrate away from PointerUnion::dyn_cast (NFC) (#124502)

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

Literal migration would result in dyn_cast_if_present (see the
definition of PointerUnion::dyn_cast), but this patch uses dyn_cast
because we expect TemplateOrSpecialization to be nonnull.


  Commit: 4075915ebdfc7b69381388c96781e6abfa5f4407
      https://github.com/llvm/llvm-project/commit/4075915ebdfc7b69381388c96781e6abfa5f4407
  Author: Kazu Hirata <kazu at google.com>
  Date:   2025-01-27 (Mon, 27 Jan 2025)

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

  Log Message:
  -----------
  [Sema] Migrate away from PointerUnion::dyn_cast (NFC) (#124503)

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

Literal migration would result in dyn_cast_if_present (see the
definition of PointerUnion::dyn_cast), but this patch uses dyn_cast
because we expect U.first to be nonnull.


  Commit: 5d2434166787e36312f037538119d3820c5af5e6
      https://github.com/llvm/llvm-project/commit/5d2434166787e36312f037538119d3820c5af5e6
  Author: Kazu Hirata <kazu at google.com>
  Date:   2025-01-27 (Mon, 27 Jan 2025)

  Changed paths:
    M lld/MachO/ObjC.cpp
    M lld/MachO/Writer.cpp

  Log Message:
  -----------
  [lld] Migrate away from PointerUnion::dyn_cast (NFC) (#124504)

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

This patch migrates uses of PointerUnion::dyn_cast to
dyn_cast_if_present (see the definition of PointerUnion::dyn_cast).
Note that we cannot use dyn_cast in any of the migrations in this
patch; placing

  assert(!X.isNull());

just before any of dyn_cast_if_present in this patch triggers some
failure in check-lld.


  Commit: e0c5a8553d62124c983e3d8bdc3ea31ed1ea0b96
      https://github.com/llvm/llvm-project/commit/e0c5a8553d62124c983e3d8bdc3ea31ed1ea0b96
  Author: Kazu Hirata <kazu at google.com>
  Date:   2025-01-27 (Mon, 27 Jan 2025)

  Changed paths:
    M llvm/lib/Transforms/IPO/MemProfContextDisambiguation.cpp

  Log Message:
  -----------
  [memprof] Migrate away from PointerUnion::dyn_cast (NFC) (#124505)

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

Literal migration would result in dyn_cast_if_present (see the
definition of PointerUnion::dyn_cast), but this patch uses cast
because we know which alternative to expect in the ternary expression.


  Commit: 817e777296a508356f55d5e1a06cba714c0fe13b
      https://github.com/llvm/llvm-project/commit/817e777296a508356f55d5e1a06cba714c0fe13b
  Author: Kazu Hirata <kazu at google.com>
  Date:   2025-01-27 (Mon, 27 Jan 2025)

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

  Log Message:
  -----------
  [CodeGen] Avoid repeated hash lookups (NFC) (#124506)


  Commit: 4e812756745e59e02dca12abaed50638b5eb273f
      https://github.com/llvm/llvm-project/commit/4e812756745e59e02dca12abaed50638b5eb273f
  Author: Meng Zhuo <mengzhuo1203 at gmail.com>
  Date:   2025-01-27 (Mon, 27 Jan 2025)

  Changed paths:
    M compiler-rt/lib/tsan/go/buildgo.sh

  Log Message:
  -----------
  [tsan] Add support for linux/riscv64 in lib/tsan/go/buildgo.sh (#124557)


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

  Changed paths:
    M llvm/lib/Target/AMDGPU/VOP3Instructions.td
    M llvm/test/CodeGen/AMDGPU/mad.u16.ll

  Log Message:
  -----------
  [AMDGPU][True16][CodeGen] true16 codegen pats for v_mad_u16 (#124000)

true16 codegen pats for v_mad_u16 (mul+add)


  Commit: e77d428e46d94e1be6e5f38205b01d3f528d5e3f
      https://github.com/llvm/llvm-project/commit/e77d428e46d94e1be6e5f38205b01d3f528d5e3f
  Author: Jeffrey Byrnes <jeffrey.byrnes at amd.com>
  Date:   2025-01-27 (Mon, 27 Jan 2025)

  Changed paths:
    M llvm/lib/Target/AMDGPU/GCNSchedStrategy.cpp
    M llvm/test/CodeGen/AMDGPU/machine-scheduler-sink-trivial-remats.mir

  Log Message:
  -----------
  [AMDGPU] Do not remat instructions with PhysReg uses (#124366)

This blocks rematerialization during scheduling if the instruction has a
non accepted PhysReg use.

Currently, there aren't any checks like this in place, and we may create
invalid code: https://godbolt.org/z/xjPjdcorf


  Commit: 1bcf44be4c6a01407d608cd7bd17571dc31dbcf5
      https://github.com/llvm/llvm-project/commit/1bcf44be4c6a01407d608cd7bd17571dc31dbcf5
  Author: Peter Rong <peterrong96 at gmail.com>
  Date:   2025-01-27 (Mon, 27 Jan 2025)

  Changed paths:
    M llvm/CMakeLists.txt

  Log Message:
  -----------
  [MLOpt] Add tf_xla_runtime to LLVMDevelopmentExport (#124610)

We need to use tf on assert builds, thus requires it to be export as
well.

Signed-off-by: Peter Rong <PeterRong at meta.com>


  Commit: 539b2e06542f7c099885533e4472e6fb3084aa96
      https://github.com/llvm/llvm-project/commit/539b2e06542f7c099885533e4472e6fb3084aa96
  Author: Heejin Ahn <aheejin at gmail.com>
  Date:   2025-01-27 (Mon, 27 Jan 2025)

  Changed paths:
    M llvm/lib/Target/WebAssembly/WebAssemblyCFGStackify.cpp
    M llvm/lib/Target/WebAssembly/WebAssemblyMCInstLower.cpp
    M llvm/test/CodeGen/WebAssembly/exception.ll

  Log Message:
  -----------
  [WebAssembly] Fix catch block type in wasm64 (#124381)

`try_table`'s `catch` or `catch_ref`'s target block's return type should
be `i64` and `(i64, exnref)` in case of wasm64.


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

  Changed paths:
    M llvm/lib/Target/RISCV/RISCVRegisterInfo.cpp
    M llvm/test/CodeGen/RISCV/machinelicm-address-pseudos.ll
    M llvm/test/CodeGen/RISCV/macro-fusion-lui-addi.ll

  Log Message:
  -----------
  [RISCV] Add register allocation hints for lui/auipc+addi fusion. (#123860)

Spotted the auipc case while looking at code for P550. I'm not sure this
is the right long term fix. We're still missing rematerialization
opportunities for these pairs so a pseudo might be better. That would
interfere with folding auipc+add into load/store addressing though.

Fixes #76779.


  Commit: 2e5a5237daf82a657561c490845c406e13657311
      https://github.com/llvm/llvm-project/commit/2e5a5237daf82a657561c490845c406e13657311
  Author: Abid Qadeer <haqadeer at amd.com>
  Date:   2025-01-27 (Mon, 27 Jan 2025)

  Changed paths:
    M flang/lib/Optimizer/Transforms/DebugTypeGenerator.cpp
    M flang/lib/Optimizer/Transforms/DebugTypeGenerator.h
    M flang/test/Integration/debug-cyclic-derived-type-3.f90

  Log Message:
  -----------
  [flang][debug] Avoid redundant debug data generation for derived types. (#124473)

Since https://github.com/llvm/llvm-project/pull/122770, we have seen
that compile time have become extremely slow for cyclic derived types.
In #122770, we made the criteria to cache a derived type very strict. As
a result, some types which are safe to cache were also being
re-generated every type they were required. This increased the compile
time and also the size of the debug info.

Please see the description of PR# 122770. We decided that when
processing `t1`, the type generated for `t2` and `t3` were not safe to
cached. But our algorithm also denied caching to `t1` which as top level
type was safe.

```
type t1
  type(t2), pointer :: p1
end type
type t2
  type(t3), pointer :: p2
end type
type t3
  type(t1), pointer :: p3
end type
```

I have tinkered the check a bit so that top level type is always cached.
To detect a top level type, we use a depth counter that get incremented
before call to `convertRecordType` and decremented after it returns.

After this change, the following
[file](https://github.com/fujitsu/compiler-test-suite/blob/main/Fortran/0394/0394_0031.f90)
from Fujitsu get compiled around 40s which is same as it was before
#122770.


The smaller testcase present in issue #124049 takes less than half a
second. I also added check to make sure that duplicate entries of the
`DICompositeType` are not present in the IR.

Fixes #124049 and #123960.


  Commit: 1e9b60cfa4316246f9fe325ec57daf185120d34e
      https://github.com/llvm/llvm-project/commit/1e9b60cfa4316246f9fe325ec57daf185120d34e
  Author: Peter Klausler <pklausler at nvidia.com>
  Date:   2025-01-27 (Mon, 27 Jan 2025)

  Changed paths:
    M flang/lib/Evaluate/intrinsics.cpp
    M flang/lib/Semantics/check-call.cpp
    M flang/test/Semantics/event_query.f90

  Log Message:
  -----------
  [flang] Recognize and check EVENT_QUERY (#123429)

Recognize the intrinsic subroutine EVENT_QUERY and enforce semantic
requirements on calls to it.


  Commit: d732c86c928271cf3a829d95a1fcc560894ab8e4
      https://github.com/llvm/llvm-project/commit/d732c86c928271cf3a829d95a1fcc560894ab8e4
  Author: Peter Klausler <pklausler at nvidia.com>
  Date:   2025-01-27 (Mon, 27 Jan 2025)

  Changed paths:
    M flang/include/flang/Evaluate/characteristics.h
    M flang/lib/Evaluate/characteristics.cpp
    M flang/lib/Evaluate/intrinsics.cpp
    M flang/lib/Lower/CallInterface.cpp
    M flang/lib/Semantics/check-call.cpp
    M flang/test/Semantics/call08.f90

  Log Message:
  -----------
  [flang] Don't take corank from actual intrinsic argument (#124029)

When constructing the characteristics of a particular reference to an
intrinsic procedure that was passed a non-coindexed reference to local
coarray data as an actual argument, don't add the corank of the actual
argument to those characteristics.

Also clean up the TypeAndShape characteristics class a little; the
Attr::Coarray is redundant since the corank() accessor can be used to
the same effect.


  Commit: 08a18efc664a85b4db8ca46ac986ec2d154ae433
      https://github.com/llvm/llvm-project/commit/08a18efc664a85b4db8ca46ac986ec2d154ae433
  Author: Mark de Wever <koraq at xs4all.nl>
  Date:   2025-01-27 (Mon, 27 Jan 2025)

  Changed paths:
    M libcxx/docs/ReleaseNotes/20.rst
    M libcxx/docs/Status/Cxx23Papers.csv

  Log Message:
  -----------
  [libc++][doc] Update the release notes for LLVM 20. (#124403)

This is a preparation for the upcoming LLVM 20 release.


  Commit: c4c76eabb88f8ee5b92fa9a84452875b0cb67d0d
      https://github.com/llvm/llvm-project/commit/c4c76eabb88f8ee5b92fa9a84452875b0cb67d0d
  Author: vdonaldson <37090318+vdonaldson at users.noreply.github.com>
  Date:   2025-01-27 (Mon, 27 Jan 2025)

  Changed paths:
    M flang/include/flang/Tools/TargetSetup.h
    M flang/runtime/exceptions.cpp

  Log Message:
  -----------
  [flang] IEEE underflow control for Arm (#124617)

Update IEEE_SUPPORT_UNDERFLOW_CONTROL, IEEE_GET_UNDERFLOW_MODE, and
IEEE_SET_UNDERFLOW_MODE code for Arm.


  Commit: a85b2dc45a5f1312d6ee5e2522c24e81a086bf60
      https://github.com/llvm/llvm-project/commit/a85b2dc45a5f1312d6ee5e2522c24e81a086bf60
  Author: cor3ntin <corentinjabot at gmail.com>
  Date:   2025-01-27 (Mon, 27 Jan 2025)

  Changed paths:
    M clang/include/clang/AST/ASTLambda.h
    M clang/include/clang/Sema/Sema.h
    M clang/lib/AST/ASTImporter.cpp
    M clang/lib/AST/Expr.cpp
    M clang/lib/CodeGen/CGExpr.cpp
    M clang/lib/Sema/SemaDeclCXX.cpp
    M clang/lib/Sema/SemaTemplateInstantiateDecl.cpp
    M clang/test/SemaCXX/cxx2b-consteval-propagate.cpp

  Log Message:
  -----------
  [Clang] only inherit the parent eval context inside of lambdas (#124426)

As we create defaul constructors lazily, we should not inherit from the
parent evaluation context.
However, we need to make an exception for lambdas (in particular their
conversion operators, which are also implicitly defined).

As a drive-by, we introduce a generic way to query whether a function is
a member of a lambda.

This fixes a regression introduced by baf6bd3.

Fixes #118000


  Commit: 285009f202ca8bfcc6b607eba0e919867559e725
      https://github.com/llvm/llvm-project/commit/285009f202ca8bfcc6b607eba0e919867559e725
  Author: Jeremy Morse <jeremy.morse at sony.com>
  Date:   2025-01-27 (Mon, 27 Jan 2025)

  Changed paths:
    M clang/lib/CodeGen/CGObjCRuntime.cpp
    M llvm/lib/IR/Verifier.cpp
    M llvm/lib/Transforms/Coroutines/CoroFrame.cpp
    M llvm/lib/Transforms/Coroutines/CoroSplit.cpp

  Log Message:
  -----------
  [NFC][DebugInfo] Rewrite more call-sites to insert with iterators (#124288)

As part of the "RemoveDIs" work to eliminate debug intrinsics, we're
replacing methods that use Instruction*'s as positions with iterators. The
call-sites updated in this patch are those where the dyn_cast_or_null cast
utility doesn't compose well with iterator insertion. It can distinguish
between nullptr and a "present" (non-null) Instruction pointer, but not
between a legal and illegal instruction iterator. This can lead to
end-iterator dereferences and thus crashes.

We can improve this in the future (as parent-pointers can now be accessed
from ilist nodes), but for the moment, add explicit tests for end()
iterators at the five call sites affected by this.


  Commit: bd5d361c059814435bab24189e79e01d94c7039d
      https://github.com/llvm/llvm-project/commit/bd5d361c059814435bab24189e79e01d94c7039d
  Author: Chao Chen <chao.chen at intel.com>
  Date:   2025-01-27 (Mon, 27 Jan 2025)

  Changed paths:
    M mlir/lib/Dialect/Vector/Transforms/VectorLinearize.cpp
    M mlir/test/Dialect/Vector/linearize.mlir

  Log Message:
  -----------
  [mlir][vector] add support for linearizing vector.bitcast in VectorLinearize (#123110)

This PR adds support for converting Vector::BitCastOp working on ND 
(N >1) vectors into the same op working on linearized (1D) vectors.


  Commit: e734f01bffb87d035d9037ade8d8ba1e96639c2b
      https://github.com/llvm/llvm-project/commit/e734f01bffb87d035d9037ade8d8ba1e96639c2b
  Author: André Brand <andre.brand at mailbox.org>
  Date:   2025-01-27 (Mon, 27 Jan 2025)

  Changed paths:
    M clang/docs/ReleaseNotes.rst
    M clang/lib/Sema/SemaTemplateInstantiateDecl.cpp
    A clang/test/SemaCXX/member-enum-declarations.cpp

  Log Message:
  -----------
  [clang] Prevent duplicated instantiation of enumerators of unscoped member enumerations  (#124407)

This commit addresses a bug occurring when an unscoped member enumeration
of a class template is introduced with an opaque-enum-declaration and later
redeclared with an enum-specifier (per C++23 [class.mem] p6).
Previously, the enumerators, or EnumConstantDecl, of the enum-specifier
were instantiated at both declarations, leading to different issues:
* erroneous ambiguities when referencing the enumerators,
* duplicated diagnostics in the enumerator-list.

The issue is resolved by ensuring that enumerators are instantiated only
at the first instantiated declaration, analogous to nested classes.

Fixes #124405


  Commit: 0cbb1d5673dd76112460a109c8c2af6c32c5a16d
      https://github.com/llvm/llvm-project/commit/0cbb1d5673dd76112460a109c8c2af6c32c5a16d
  Author: Craig Topper <craig.topper at sifive.com>
  Date:   2025-01-27 (Mon, 27 Jan 2025)

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

  Log Message:
  -----------
  [GlobalMerge] Use constructor to set all bits in BitVector. NFC (#124375)

The constructor has an optional bool for the starting value for each
bit. Use that instead of calling set().


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

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

  Log Message:
  -----------
  [GlobalMerge] Fix inaccurate debug print. (#124377)

This message was not updated when MinSize was added.


  Commit: 3bf8e671dbc808a3317a25c37017af7aa843d581
      https://github.com/llvm/llvm-project/commit/3bf8e671dbc808a3317a25c37017af7aa843d581
  Author: Mark de Wever <koraq at xs4all.nl>
  Date:   2025-01-27 (Mon, 27 Jan 2025)

  Changed paths:
    M libcxx/test/std/utilities/format/format.formattable/concept.formattable.compile.pass.cpp
    M libcxx/test/std/utilities/format/format.range/format.range.fmtmap/format.functions.tests.h

  Log Message:
  -----------
  [libc++][format] Add tests for flat_(|multi)map formatting (#124418)

These types should be formattable out-of-the-box. This patch validates
that is true.


  Commit: 804b81d39f2d50743fd2090aed72dad29f5fb388
      https://github.com/llvm/llvm-project/commit/804b81d39f2d50743fd2090aed72dad29f5fb388
  Author: Momchil Velikov <momchil.velikov at arm.com>
  Date:   2025-01-27 (Mon, 27 Jan 2025)

  Changed paths:
    M clang/include/clang/Basic/arm_neon.td
    M clang/include/clang/Basic/arm_neon_incl.td
    M clang/lib/CodeGen/CGBuiltin.cpp
    M clang/lib/CodeGen/CodeGenFunction.h
    A clang/test/CodeGen/AArch64/fp8-intrinsics/acle_neon_fp8_fdot.c
    A clang/test/Sema/aarch64-fp8-intrinsics/acle_neon_fp8_fdot.c
    M llvm/include/llvm/IR/IntrinsicsAArch64.td
    M llvm/lib/Target/AArch64/AArch64InstrFormats.td
    M llvm/lib/Target/AArch64/AArch64InstrInfo.td
    A llvm/test/CodeGen/AArch64/fp8-neon-fdot.ll

  Log Message:
  -----------
  [AArch64] Add FP8 Neon intrinsics for dot-product (#123613)

This patch adds the following intrinsics:

float16x4_t vdot_f16_mf8_fpm(float16x4_t vd, mfloat8x8_t vn, mfloat8x8_t
vm, fpm_t fpm)
float16x8_t vdotq_f16_mf8_fpm(float16x8_t vd, mfloat8x16_t vn,
mfloat8x16_t vm, fpm_t fpm)
    
float16x4_t vdot_lane_f16_mf8_fpm(float16x4_t vd, mfloat8x8_t vn,
mfloat8x8_t vm, __builtin_constant_p(lane), fpm_t fpm)
float16x4_t vdot_laneq_f16_mf8_fpm(float16x4_t vd, mfloat8x8_t vn,
mfloat8x16_t vm, __builtin_constant_p(lane), fpm_t fpm)
float16x8_t vdotq_lane_f16_mf8_fpm(float16x8_t vd, mfloat8x16_t vn,
mfloat8x8_t vm, __builtin_constant_p(lane), fpm_t fpm)
float16x8_t vdotq_laneq_f16_mf8_fpm(float16x8_t vd, mfloat8x16_t vn,
mfloat8x16_t vm, __builtin_constant_p(lane), fpm_t fpm)
    
float32x2_t vdot_f32_mf8_fpm(float32x2_t vd, mfloat8x8_t vn, mfloat8x8_t
vm, fpm_t fpm)
float32x4_t vdotq_f32_mf8_fpm(float32x4_t vd, mfloat8x16_t vn,
mfloat8x16_t vm, fpm_t fpm)

float32x2_t vdot_lane_f32_mf8_fpm(float32x2_t vd, mfloat8x8_t vn,
mfloat8x8_t vm, __builtin_constant_p(lane), fpm_t fpm)
float32x2_t vdot_laneq_f32_mf8_fpm(float32x2_t vd, mfloat8x8_t vn,
mfloat8x16_t vm, __builtin_constant_p(lane), fpm_t fpm)
float32x4_t vdotq_lane_f32_mf8_fpm(float32x4_t vd, mfloat8x16_t vn,
mfloat8x8_t vm, __builtin_constant_p(lane), fpm_t fpm)
float32x4_t vdotq_laneq_f32_mf8_fpm(float32x4_t vd, mfloat8x16_t vn,
mfloat8x16_t vm, __builtin_constant_p(lane), fpm_t fpm)


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

  Changed paths:
    M llvm/include/llvm/Analysis/TargetTransformInfo.h
    M llvm/include/llvm/Transforms/Utils/UnrollLoop.h
    M llvm/lib/Transforms/Scalar/LoopUnrollPass.cpp
    M llvm/lib/Transforms/Utils/LoopUnroll.cpp
    M llvm/lib/Transforms/Utils/LoopUnrollRuntime.cpp
    M llvm/unittests/Transforms/Utils/UnrollLoopTest.cpp

  Log Message:
  -----------
  [LoopUnroll] Add RuntimeUnrollMultiExit to loop unroll options (NFC) (#124462)

Add an extra knob to RuntimeUnrollMultiExit to let backends control
whether to allow multi-exit unrolling on a per-loop basis.

This gives backends more fine-grained control on deciding if multi-exit
unrolling is profitable for a given loop and uarch. Similar to
4226e0a0c75.

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


  Commit: 5815a311050ae218ebcda53adeee24ed96851943
      https://github.com/llvm/llvm-project/commit/5815a311050ae218ebcda53adeee24ed96851943
  Author: cor3ntin <corentinjabot at gmail.com>
  Date:   2025-01-27 (Mon, 27 Jan 2025)

  Changed paths:
    M clang/docs/ReleaseNotes.rst
    M clang/include/clang/Sema/Sema.h
    M clang/lib/Sema/SemaDecl.cpp
    M clang/lib/Sema/SemaExpr.cpp
    A clang/test/CodeGenCXX/gh119046.cpp
    M clang/test/SemaCXX/cxx2b-consteval-propagate.cpp

  Log Message:
  -----------
  [Clang] call HandleImmediateInvocation before checking for immediate escacalating expressions (#124414)

HandleImmediateInvocation can call MarkExpressionAsImmediateEscalating
and should always be called before
CheckImmediateEscalatingFunctionDefinition.

However, we were not doing that in `ActFunctionBody`.

We simply move CheckImmediateEscalatingFunctionDefinition to
PopExpressionEvaluationContext.

Fixes #119046


  Commit: 713482fccf82d33c5c4ddb24538958617e1eb957
      https://github.com/llvm/llvm-project/commit/713482fccf82d33c5c4ddb24538958617e1eb957
  Author: Florian Hahn <flo at fhahn.com>
  Date:   2025-01-27 (Mon, 27 Jan 2025)

  Changed paths:
    M llvm/lib/Transforms/Vectorize/VPlanRecipes.cpp
    M llvm/test/Transforms/LoopVectorize/AArch64/invariant-replicate-region.ll
    M llvm/test/Transforms/LoopVectorize/RISCV/dead-ops-cost.ll
    M llvm/test/Transforms/LoopVectorize/X86/load-deref-pred.ll
    M llvm/test/Transforms/LoopVectorize/X86/x86-predication.ll
    M llvm/test/Transforms/LoopVectorize/if-pred-non-void.ll
    M llvm/test/Transforms/LoopVectorize/if-pred-stores.ll
    M llvm/test/Transforms/LoopVectorize/induction.ll
    M llvm/test/Transforms/LoopVectorize/load-deref-pred-neg-off.ll

  Log Message:
  -----------
  [VPlan] Use State.get to extract lane mask for BranchOnMask.

Simplifies the code slightly and avoids redundant extracts/broadcasts if
the operand is live-in or already scalar.


  Commit: 6578790076fed5467bf613e48f7a0ad2f50f041a
      https://github.com/llvm/llvm-project/commit/6578790076fed5467bf613e48f7a0ad2f50f041a
  Author: Paul Kirth <paulkirth at google.com>
  Date:   2025-01-27 (Mon, 27 Jan 2025)

  Changed paths:
    M clang/cmake/caches/Fuchsia-stage2.cmake
    M llvm/cmake/modules/HandleLLVMOptions.cmake

  Log Message:
  -----------
  Reapply "[Fuchsia][cmake] Allow using FatLTO when building runtimes" (#119252) (#121820)

The previous failures were addressed with CMake changes in #121819


  Commit: aca08a8515d48baff48328df5d54300fc7180bea
      https://github.com/llvm/llvm-project/commit/aca08a8515d48baff48328df5d54300fc7180bea
  Author: Rahul Joshi <rjoshi at nvidia.com>
  Date:   2025-01-27 (Mon, 27 Jan 2025)

  Changed paths:
    M llvm/include/llvm/Target/Target.td
    M llvm/lib/TableGen/Main.cpp
    M llvm/lib/TableGen/TGParser.cpp
    M llvm/test/TableGen/BitsInit.td
    A llvm/test/TableGen/BitsInitErrors.td
    M llvm/test/TableGen/HwModeSelect.td
    M llvm/utils/TableGen/Common/CodeGenHwModes.cpp
    M mlir/test/mlir-tblgen/attr-or-type-builder-invalid.td

  Log Message:
  -----------
  [TableGen] Add assert to validate `Objects` list for `HwModeSelect` (#123794)

- Bail out of TableGen if any asserts fail before running the backend. 
- Add asserts to validate that the `Objects` and `Modes` lists for
various `HwModeSelect` subclasses are of same length.
 - Eliminate equivalent check in CodeGenHWModes.cpp


  Commit: b707d52fc557d24c4269987a80dc270e7adad942
      https://github.com/llvm/llvm-project/commit/b707d52fc557d24c4269987a80dc270e7adad942
  Author: Jens Reidel <adrian at travitia.xyz>
  Date:   2025-01-27 (Mon, 27 Jan 2025)

  Changed paths:
    M compiler-rt/lib/safestack/safestack_platform.h
    M compiler-rt/lib/sanitizer_common/sanitizer_linux.cpp
    M compiler-rt/lib/sanitizer_common/sanitizer_platform_limits_posix.h

  Log Message:
  -----------
  [compiler-rt][Mips] Properly guard references to _ABIN32 (#124492)

When targeting ABIO32 (mips32), _ABIN32 is undefined and the
preprocessor directives cause compile errors. Guard references to
_ABIN32 with defined(_ABIN32), just like the references to _ABIO32.

Signed-off-by: Jens Reidel <adrian at travitia.xyz>


  Commit: 5d1c596ab47b9412bb36bdfb0520d9af1343a5ce
      https://github.com/llvm/llvm-project/commit/5d1c596ab47b9412bb36bdfb0520d9af1343a5ce
  Author: Brox Chen <guochen2 at amd.com>
  Date:   2025-01-27 (Mon, 27 Jan 2025)

  Changed paths:
    M llvm/lib/Target/AMDGPU/SIInstrInfo.cpp
    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/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/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 minimummaximum/max/min/max3/min3 (#124184)

true16 support for gfx12 instructions including:

v_minimummaximum_f16
v_maximumminimum_f16
v_maximum_f16
v_minimum_f16
v_maximum3_f16
v_minimum3_f16


  Commit: c310b4e7bd2a6e736fbcd8d4885ff46b45ab9977
      https://github.com/llvm/llvm-project/commit/c310b4e7bd2a6e736fbcd8d4885ff46b45ab9977
  Author: Nick Sarnie <nick.sarnie at intel.com>
  Date:   2025-01-27 (Mon, 27 Jan 2025)

  Changed paths:
    M clang/lib/Lex/PPMacroExpansion.cpp
    M clang/test/Headers/__cpuidex_conflict.c
    R clang/test/Preprocessor/builtin_aux_info.cpp

  Log Message:
  -----------
  Revert "[Clang] __has_builtin should return false for aux triple builtins (#121839) (#124626)

This reverts commit 1c28b9237382b093f477479c993c80181922ca6a.

Breaks CUDA on ARM, see
[here](https://github.com/llvm/llvm-project/pull/121839#issuecomment-2616858927).


  Commit: 5a81a559d69fb84e1e8ef623ac4b642081c14c51
      https://github.com/llvm/llvm-project/commit/5a81a559d69fb84e1e8ef623ac4b642081c14c51
  Author: David Green <david.green at arm.com>
  Date:   2025-01-27 (Mon, 27 Jan 2025)

  Changed paths:
    M llvm/lib/CodeGen/GlobalISel/IRTranslator.cpp
    M llvm/lib/CodeGen/TargetPassConfig.cpp
    M llvm/test/CodeGen/AArch64/bf16-instructions.ll
    M llvm/test/CodeGen/AArch64/fptrunc.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/irtranslator-call.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.set.inactive.ll
    M llvm/test/CodeGen/AMDGPU/buffer-fat-pointers-contents-legalization.ll
    M llvm/test/CodeGen/AMDGPU/dagcombine-fmul-sel.ll
    M llvm/test/CodeGen/AMDGPU/fp-atomics-gfx1200.ll
    M llvm/test/CodeGen/AMDGPU/fp-atomics-gfx950.ll
    M llvm/test/CodeGen/AMDGPU/isel-amdgpu-cs-chain-cc.ll
    M llvm/test/CodeGen/AMDGPU/isel-amdgpu-cs-chain-preserve-cc.ll
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.cvt.scalef32.pk.gfx950.ll
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.cvt.scalef32.pk.ll
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.cvt.scalef32.sr.ll
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.cvt.scalef32.sr.pk.gfx950.ll
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.cvt.scalef32.sr.pk.ll
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.cvt.sr.ll
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.ds.read.tr.gfx950.ll
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.fdot2.f32.bf16.ll
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.global.load.tr-w32.ll
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.global.load.tr-w64.ll
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.image.atomic.pk.add.ll
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.mfma.gfx950.ll
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.mov.dpp8.ll
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.permlane.ll
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.ptr.buffer.atomic.fadd_rtn_errors.ll
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.readfirstlane.ll
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.readlane.ll
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.smfmac.gfx950.ll
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.update.dpp.gfx90a.ll
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.writelane.ll
    M llvm/utils/TableGen/GlobalISelEmitter.cpp

  Log Message:
  -----------
  [GISel] Explicitly disable BF16 tablegen patterns. (#124113)

We currently have an issue where bf16 patters can be used to match fp16
types, as GISel does not know about the difference between the two. This
patch explicitly disables them to make sure that they are never used.

The opposite can also happen too, where fp16 patterns are used for
operators that should be bf16. So this also changes any operations with
bf16 types to now cause a fallback to SDAG.

The pass setup for GISel has been slightly adjusted to make sure that a
verify pass does not get added between AMD-SDAG and SIFixSGPRCopiesPass,
which otherwise can cause verifier issues when falling back.


  Commit: 3b2b7ec07d970b225b63af9e96d7a9c09334cd27
      https://github.com/llvm/llvm-project/commit/3b2b7ec07d970b225b63af9e96d7a9c09334cd27
  Author: Shilei Tian <i at tianshilei.me>
  Date:   2025-01-27 (Mon, 27 Jan 2025)

  Changed paths:
    M llvm/lib/Target/AMDGPU/AMDGPUPromoteAlloca.cpp
    A llvm/test/CodeGen/AMDGPU/promote-alloca-invariant-marks.ll

  Log Message:
  -----------
  [AMDGPU] Handle invariant marks in `AMDGPUPromoteAllocaPass` (#124607)

Fixes SWDEV-509327.


  Commit: a7a4c16c672bdd8e245af533a1f170522e26e42a
      https://github.com/llvm/llvm-project/commit/a7a4c16c672bdd8e245af533a1f170522e26e42a
  Author: Diego Caballero <dieg0ca6aller0 at gmail.com>
  Date:   2025-01-27 (Mon, 27 Jan 2025)

  Changed paths:
    M mlir/lib/Dialect/Vector/Transforms/LowerVectorShapeCast.cpp
    M mlir/test/Dialect/Vector/vector-shape-cast-lowering-transforms.mlir

  Log Message:
  -----------
  [mlir][Vector] Support efficient shape cast lowering for n-D vectors (#123497)

This PR implements a generalization of the existing more efficient
lowering of shape casts from 2-D to 1D and 1-D to 2-D vectors. This
significantly reduces code size and generates more performant code for
n-D shape casts that make their way to LLVM/SPIR-V.


  Commit: 89c5576ff9038ba53025ca82209fdc5f5b5d0bb4
      https://github.com/llvm/llvm-project/commit/89c5576ff9038ba53025ca82209fdc5f5b5d0bb4
  Author: Christian Clauss <cclauss at me.com>
  Date:   2025-01-27 (Mon, 27 Jan 2025)

  Changed paths:
    M openmp/runtime/tools/summarizeStats.py

  Log Message:
  -----------
  OpenMP: Fix Python 3 SyntaxErrors (#123940)

1. `print()` is a function in Python 3.
2. New-style exceptions are required in Python 3.


  Commit: 0e372c3ea31da276ac67c5972e4ef63514577e9c
      https://github.com/llvm/llvm-project/commit/0e372c3ea31da276ac67c5972e4ef63514577e9c
  Author: cor3ntin <corentinjabot at gmail.com>
  Date:   2025-01-27 (Mon, 27 Jan 2025)

  Changed paths:
    M clang/docs/ReleaseNotes.rst
    M clang/include/clang/Sema/Sema.h
    M clang/lib/Sema/SemaDecl.cpp
    M clang/lib/Sema/SemaExpr.cpp
    R clang/test/CodeGenCXX/gh119046.cpp
    M clang/test/SemaCXX/cxx2b-consteval-propagate.cpp

  Log Message:
  -----------
  Revert "[Clang] call HandleImmediateInvocation before checking for immediate escacalating expressions" (#124646)

Reverts llvm/llvm-project#124414

Turns out to be an important compile time regression, I'll come up with
a less disruptive approach


  Commit: 7fd58339b4c783f240904aa5c1007e017378ada1
      https://github.com/llvm/llvm-project/commit/7fd58339b4c783f240904aa5c1007e017378ada1
  Author: Aidan Goldfarb <agoldfa7 at u.rochester.edu>
  Date:   2025-01-27 (Mon, 27 Jan 2025)

  Changed paths:
    M clang/docs/LanguageExtensions.rst
    M clang/docs/ReleaseNotes.rst
    M clang/include/clang/Basic/TokenKinds.def
    M clang/test/Sema/nullptr-prec2x.c
    M clang/test/Sema/nullptr.c

  Log Message:
  -----------
  [clang] Add __nullptr as a keyword to C (#123119)

This PR resolves #121503. 

---------

Co-authored-by: Aidan <aidan.goldfarb at mail.mcgill.ca>
Co-authored-by: Erich Keane <ekeane at nvidia.com>
Co-authored-by: Aaron Ballman <aaron at aaronballman.com>


  Commit: 8cc83b66e20e72cdb3bb5fbd549c941797b0e0c9
      https://github.com/llvm/llvm-project/commit/8cc83b66e20e72cdb3bb5fbd549c941797b0e0c9
  Author: Aiden Grossman <aidengrossman at google.com>
  Date:   2025-01-27 (Mon, 27 Jan 2025)

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

  Log Message:
  -----------
  [MLGO] Count LR Evictions Rather than Relying on Cascade (#124440)

This patch adjusts the mlregalloc-max-cascade flag (renaming it to
mlregalloc-max-eviction-count) to actually count evictions rather than
just looking at the cascade number. The cascade number is not very
representative of how many times a LR has been evicted, which can lead
to some problems in certain cases, where we might end up with many
eviction problems where we have now masked off all the interferences and
are forced to evict the candidate.

This is probably what I should've done in the first place. No test case
as this only shows up in quite large functions post ThinLTO and it would
be hard to construct something that would serve as a nice regression
test without being super brittle. I've tested this on the pathological
cases that we have come across so far and it works.

Fixes #122829


  Commit: 8b1edc0f0ceb8ee4255d54ed9c4ada8563a3861a
      https://github.com/llvm/llvm-project/commit/8b1edc0f0ceb8ee4255d54ed9c4ada8563a3861a
  Author: Jorge Gorbe Moya <jgorbe at google.com>
  Date:   2025-01-27 (Mon, 27 Jan 2025)

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

  Log Message:
  -----------
  Revert "[ELF] Remove redundant isExported computation"

This reverts commit 1a4d6de1b532149b10522eae5dabce39e5f7c687.
It causes problems with `-static-pie`. See repro at
https://github.com/llvm/llvm-project/commit/1a4d6de1b532149b10522eae5dabce39e5f7c687#commitcomment-151827775


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

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

  Log Message:
  -----------
  [NFCI]Refactor AsmPrinter around jump table emission (#124645)

Add method `AsmPrinter::emitJumpTableImpl`. It takes an array-ref of jump table indices.

This splits refactor of PR https://github.com/llvm/llvm-project/pull/122215


  Commit: fa6e976602a41dad849d6e99692db437d328354b
      https://github.com/llvm/llvm-project/commit/fa6e976602a41dad849d6e99692db437d328354b
  Author: Aiden Grossman <aidengrossman at google.com>
  Date:   2025-01-27 (Mon, 27 Jan 2025)

  Changed paths:
    M llvm/unittests/tools/llvm-exegesis/PowerPC/TargetTest.cpp
    M llvm/unittests/tools/llvm-exegesis/X86/TargetTest.cpp
    M llvm/unittests/tools/llvm-exegesis/X86/TestBase.h

  Log Message:
  -----------
  [llvm-exegesis] Use TestBase for TargetTest (#121895)

This patch makes the PPC and X86 Exegesis TargetTests use TestBase to
provide initial setup rather than doing it themselves. This promotes
code reuse a little bit and makes the tests a bit more consistent (with
MIPS and with the initial RISC-V tests landing soon).


  Commit: 934532d8b18adbe3c1d671d2287abd23885b7eaa
      https://github.com/llvm/llvm-project/commit/934532d8b18adbe3c1d671d2287abd23885b7eaa
  Author: mingmingl <mingmingl at google.com>
  Date:   2025-01-27 (Mon, 27 Jan 2025)

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

  Log Message:
  -----------
  remove unused var after refactoring


  Commit: a34159f85ee01c197cc9d938bd1fc40c4c7dba51
      https://github.com/llvm/llvm-project/commit/a34159f85ee01c197cc9d938bd1fc40c4c7dba51
  Author: Julian Lettner <yln at users.noreply.github.com>
  Date:   2025-01-27 (Mon, 27 Jan 2025)

  Changed paths:
    M compiler-rt/lib/tsan/rtl/tsan_interceptors_mac.cpp
    R compiler-rt/lib/tsan/rtl/tsan_spinlock_defs_mac.h

  Log Message:
  -----------
  [TSan][Apple] Fix interceptor build error (#124351)

In certain cases, the SDK headers declare
`OSSpinLock*` APIs as macros (instead of
functions), so users can be transparently
forwarded to non-deprecated APIs.

When enabled, building of TSan interceptors failed
because these macros interfere with the
interceptor machinery, i.e., they prevent proper
forward declaration of intercepted APIs.

In a previous change [1], we misattributed this to
the deprecation of `OSSpinLock*` APIs.

[1] ae484c21c05668f84b13304c28bc39f753e493de

rdar://143193907


  Commit: f94c481543bdd3b11a668ad78d46593cf974788f
      https://github.com/llvm/llvm-project/commit/f94c481543bdd3b11a668ad78d46593cf974788f
  Author: antangelo <contact at antangelo.com>
  Date:   2025-01-27 (Mon, 27 Jan 2025)

  Changed paths:
    M clang/include/clang/AST/DeclCXX.h
    M clang/lib/AST/ASTImporter.cpp
    M clang/lib/AST/DeclCXX.cpp
    M clang/lib/Sema/SemaTemplateDeductionGuide.cpp
    M clang/lib/Sema/SemaTemplateInstantiateDecl.cpp
    M clang/lib/Serialization/ASTReaderDecl.cpp
    M clang/lib/Serialization/ASTWriterDecl.cpp
    M clang/unittests/AST/ASTImporterTest.cpp

  Log Message:
  -----------
  [clang] Track source deduction guide for alias template deduction guides (#123875)

For deduction guides generated from alias template CTAD, store the
deduction guide they were originated from. The source kind is also
maintained for future expansion in CTAD from inherited constructors.

This tracking is required to determine whether an alias template already
has a deduction guide corresponding to some deduction guide on the
original template, in order to support deduction guides for the alias
from deduction guides declared after the initial usage.


  Commit: 3cfda4f11842ceaab983345333870bef7980aa85
      https://github.com/llvm/llvm-project/commit/3cfda4f11842ceaab983345333870bef7980aa85
  Author: mcbarton <matthew.c.barton at hotmail.co.uk>
  Date:   2025-01-27 (Mon, 27 Jan 2025)

  Changed paths:
    M llvm/cmake/modules/HandleLLVMOptions.cmake

  Log Message:
  -----------
  Don't use -z,defs linker flag when building shared libraries with emscripten (#123396)


  Commit: aa65f93b71dee8cacb22be1957673c8be6a3ec24
      https://github.com/llvm/llvm-project/commit/aa65f93b71dee8cacb22be1957673c8be6a3ec24
  Author: Aiden Grossman <aidengrossman at google.com>
  Date:   2025-01-28 (Tue, 28 Jan 2025)

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

  Log Message:
  -----------
  Revert "[MLGO] Count LR Evictions Rather than Relying on Cascade (#124440)"

This reverts commit 8cc83b66e20e72cdb3bb5fbd549c941797b0e0c9.

This was causing builbot failures.
https://lab.llvm.org/buildbot/#/builders/90/builds/4198
https://lab.llvm.org/buildbot/#/builders/110/builds/3616


  Commit: f949f876daeda520a5b7dbeb2cbb35b8c4383acb
      https://github.com/llvm/llvm-project/commit/f949f876daeda520a5b7dbeb2cbb35b8c4383acb
  Author: Matheus Izvekov <mizvekov at gmail.com>
  Date:   2025-01-27 (Mon, 27 Jan 2025)

  Changed paths:
    M clang/lib/AST/StmtPrinter.cpp
    M clang/lib/AST/TextNodeDumper.cpp
    M clang/test/AST/HLSL/StructuredBuffers-AST.hlsl
    M clang/test/AST/HLSL/TypedBuffers-AST.hlsl
    M clang/test/AST/ast-dump-decl.c
    M clang/test/AST/ast-dump-records.c
    M clang/test/AST/ast-dump-records.cpp
    M clang/test/AST/attr-counted-by-late-parsed-struct-ptrs.c
    M clang/test/AST/attr-counted-by-or-null-late-parsed-struct-ptrs.c
    M clang/test/AST/attr-counted-by-or-null-struct-ptrs.c
    M clang/test/AST/attr-counted-by-struct-ptrs.c
    M clang/test/AST/attr-sized-by-late-parsed-struct-ptrs.c
    M clang/test/AST/attr-sized-by-or-null-late-parsed-struct-ptrs.c
    M clang/test/AST/attr-sized-by-or-null-struct-ptrs.c
    M clang/test/AST/attr-sized-by-struct-ptrs.c
    M clang/test/Import/cxx-anon-namespace/test.cpp
    M clang/test/Modules/odr_hash.cpp
    M clang/test/SemaTemplate/aggregate-deduction-candidate.cpp
    M clang/test/SemaTemplate/deduction-crash.cpp
    M clang/test/SemaTemplate/deduction-guide.cpp

  Log Message:
  -----------
  [clang] improve print / dump of anonymous declarations (#124605)

ast-print: A DeclRef to an anonymous NTTP will print
'value-parameter-DEPTH-INDEX',
similar to how type parameters are printed.

ast-dump: A bareDeclRef to an anonymous entity will print some extra
identifying information,
instead of an empty name, like indexes.
Falls back to source locations if nothing else is available.


  Commit: f75860f89522453f361e1ef54d7a33be2a2d75b1
      https://github.com/llvm/llvm-project/commit/f75860f89522453f361e1ef54d7a33be2a2d75b1
  Author: Momchil Velikov <momchil.velikov at arm.com>
  Date:   2025-01-28 (Tue, 28 Jan 2025)

  Changed paths:
    M clang/include/clang/Basic/arm_neon.td
    M clang/lib/CodeGen/CGBuiltin.cpp
    M clang/lib/CodeGen/CodeGenFunction.h
    A clang/test/CodeGen/AArch64/fp8-intrinsics/acle_neon_fp8_fmla.c
    A clang/test/Sema/aarch64-fp8-intrinsics/acle_neon_fp8_fmla.c
    M llvm/include/llvm/IR/IntrinsicsAArch64.td
    M llvm/lib/Target/AArch64/AArch64InstrFormats.td
    M llvm/lib/Target/AArch64/AArch64InstrInfo.td
    A llvm/test/CodeGen/AArch64/fp8-neon-fmla.ll

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

This patch adds the following intrinsics:

* Fused multiply-add non-indexed

float16x8_t vmlalbq_f16_mf8_fpm(float16x8_t, mfloat8x16_t, mfloat8x16_t,
fpm_t)
float16x8_t vmlaltq_f16_mf8_fpm(float16x8_t, mfloat8x16_t, mfloat8x16_t,
fpm_t)
        
float32x4_t vmlallbbq_f32_mf8_fpm(float32x4_t, mfloat8x16_t,
mfloat8x16_t, fpm_t)
float32x4_t vmlallbtq_f32_mf8_fpm(float32x4_t, mfloat8x16_t,
mfloat8x16_t, fpm_t)
float32x4_t vmlalltbq_f32_mf8_fpm(float32x4_t, mfloat8x16_t,
mfloat8x16_t, fpm_t)
float32x4_t vmlallttq_f32_mf8_fpm(float32x4_t, mfloat8x16_t,
mfloat8x16_t, fpm_t)

* Floating-point multiply-add long to half-precision (vector, by
element)

float16x8_t vmlalbq_lane_f16_mf8_fpm(float16x8_t vd, mfloat8x16_t vn,
mfloat8x8_t vm, __builtin_constant_p(lane), fpm_t fpm)
float16x8_t vmlalbq_laneq_f16_mf8_fpm(float16x8_t vd, mfloat8x16_t vn,
mfloat8x16_t vm, __builtin_constant_p(lane), fpm_t fpm)
float16x8_t vmlaltq_lane_f16_mf8_fpm(float16x8_t vd, mfloat8x16_t vn,
mfloat8x8_t vm, __builtin_constant_p(lane), fpm_t fpm)
float16x8_t vmlaltq_laneq_f16_mf8_fpm(float16x8_t vd, mfloat8x16_t vn,
mfloat8x16_t vm, __builtin_constant_p(lane), fpm_t fpm)
    
* Floating-point multiply-add long-long to single-precision (vector, by
element)

float32x4_t vmlallbbq_lane_f32_mf8_fpm(float32x4_t vd, mfloat8x16_t vn,
mfloat8x8_t vm, __builtin_constant_p(lane), fpm_t fpm)
float32x4_t vmlallbbq_laneq_f32_mf8_fpm(float32x4_t vd, mfloat8x16_t vn,
mfloat8x16_t vm, __builtin_constant_p(lane), fpm_t fpm)
float32x4_t vmlallbtq_lane_f32_mf8_fpm(float32x4_t vd, mfloat8x16_t vn,
mfloat8x8_t vm, __builtin_constant_p(lane), fpm_t fpm)
float32x4_t vmlallbtq_laneq_f32_mf8_fpm(float32x4_t vd, mfloat8x16_t vn,
mfloat8x16_t vm, __builtin_constant_p(lane), fpm_t fpm)
float32x4_t vmlalltbq_lane_f32_mf8_fpm(float32x4_t vd, mfloat8x16_t vn,
mfloat8x8_t vm, __builtin_constant_p(lane), fpm_t fpm)
float32x4_t vmlalltbq_laneq_f32_mf8_fpm(float32x4_t vd, mfloat8x16_t vn,
mfloat8x16_t vm, __builtin_constant_p(lane), fpm_t fpm)
float32x4_t vmlallttq_lane_f32_mf8_fpm(float32x4_t vd, mfloat8x16_t vn,
mfloat8x8_t vm, __builtin_constant_p(lane), fpm_t fpm)
float32x4_t vmlallttq_laneq_f32_mf8_fpm(float32x4_t vd, mfloat8x16_t vn,
mfloat8x16_t vm, __builtin_constant_p(lane), fpm_t fpm)


  Commit: 194c74e0166876ef2c5e0ff5e98a4b5a5442138c
      https://github.com/llvm/llvm-project/commit/194c74e0166876ef2c5e0ff5e98a4b5a5442138c
  Author: Nathan Ridge <zeratul976 at hotmail.com>
  Date:   2025-01-27 (Mon, 27 Jan 2025)

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

  Log Message:
  -----------
  [clang][Sema] Null-check type in resolveMemberExpr() before checking for auto type (#124628)

Fixes https://github.com/clangd/clangd/issues/2301


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

  Changed paths:
    M llvm/include/llvm/CodeGen/TargetLowering.h
    M llvm/lib/CodeGen/SelectionDAG/LegalizeIntegerTypes.cpp
    M llvm/lib/CodeGen/SelectionDAG/TargetLowering.cpp

  Log Message:
  -----------
  [TargetLowering] Inline the only caller of one of the forceExpandWideMUL functions. NFC

This caller does not need the libcall portion so it can directly
call forceExpandMultiply.


  Commit: eeefa72f7c7287a3aa26f6278b9669eb76e8d1be
      https://github.com/llvm/llvm-project/commit/eeefa72f7c7287a3aa26f6278b9669eb76e8d1be
  Author: Sirraide <aeternalmail at gmail.com>
  Date:   2025-01-28 (Tue, 28 Jan 2025)

  Changed paths:
    M clang/include/clang/AST/DynamicRecursiveASTVisitor.h
    M clang/lib/AST/DynamicRecursiveASTVisitor.cpp
    M clang/lib/StaticAnalyzer/Checkers/WebKit/RawPtrRefMemberChecker.cpp

  Log Message:
  -----------
  [Clang] [NFC] Introduce `ConstDynamicRecursiveASTVisitor` (#122991)

After some discussion around #116823, it was decided that it would be
nice to have a `const` variant of `DynamicRecursiveASTVisitor`, so this
pr does exactly that by making the main DRAV implementation a template
with a single `bool` template parameter that turns several function
parameters from a `T*` or `T&` to a `const T*` or `const T&`.

Since that made the implementation of a bunch of DRAV functions quite a
bit more verbose, I’ve moved most of them to be stamped out by a macro,
which imo makes it easier to understand what’s actually going on there.

For functions which already accepted `const` parameters in the original
RAV implementation, the parameter is `const` in both versions (e.g.
`TraverseTemplateArgument()` always takes a `const TemplateArgument&`);
conversely, parameters that are passed by value (e.g. in
`TraverseType()`, which takes a `QualType` by value) are *not* `const`
in either variant (i.e. the `QualType` argument is always just a
`QualType`, never a `const QualType`).

As a sanity check, I’ve also migrated some random visitor in the static
analyser to the `const` version (and indeed, it ends up simplifying the
code around that particular visitor actually). It would make sense to do
a pass over all visitors and change all which can be `const` use the
`const` version, but that can be done in a follow-up pr.

The [performance
impact](https://llvm-compile-time-tracker.com/compare.php?from=e3cd88a7be1dfd912bb6e7c7e888e7b442ffb5de&to=d55c5afe4a485b6d0431386e6f45cb44c1fc8883&stat=instructions:u)
of this change seems to be negligible. Clang’s binary size went up by
0.5%, but that’s expected considering that this effectively adds an
extra instantiation of `RecursiveASTVisitor`. Fortunately, this is of
course a one-time cost.


  Commit: 740e6aeccdb2f8eeee549ba80b15ff3d5dd3392e
      https://github.com/llvm/llvm-project/commit/740e6aeccdb2f8eeee549ba80b15ff3d5dd3392e
  Author: Joseph Huber <huberjn at outlook.com>
  Date:   2025-01-27 (Mon, 27 Jan 2025)

  Changed paths:
    M clang/lib/Driver/Driver.cpp
    M clang/test/Driver/amdgpu-toolchain.c

  Log Message:
  -----------
  Revert "[AMDGPU] Use the AMDGPUToolChain when targeting C/C++ directly (#99687)"

Breaks some downstream AMD stuff apparently.
This reverts commit 6ff86f2c0a5b58b07921ee895f0d16d8cd3d4015.


  Commit: 8900c09ebfd782bfd41bac63ac5266f80fe29602
      https://github.com/llvm/llvm-project/commit/8900c09ebfd782bfd41bac63ac5266f80fe29602
  Author: Longsheng Mou <longshengmou at gmail.com>
  Date:   2025-01-28 (Tue, 28 Jan 2025)

  Changed paths:
    M mlir/lib/Dialect/NVGPU/Transforms/OptimizeSharedMemory.cpp
    M mlir/test/Dialect/NVGPU/optimize-shared-memory.mlir

  Log Message:
  -----------
  [mlir][nvgpu] Fix crash when handling 0D memref in OptimizeSharedMemoryPass (#124517)

This PR adds a check for 0D memref types to prevent a crash. Fixes
#119855.


  Commit: 7873d3b50b447213c3f689449a674b2c35f83f9f
      https://github.com/llvm/llvm-project/commit/7873d3b50b447213c3f689449a674b2c35f83f9f
  Author: Sirraide <aeternalmail at gmail.com>
  Date:   2025-01-28 (Tue, 28 Jan 2025)

  Changed paths:
    M clang/include/clang/AST/DynamicRecursiveASTVisitor.h
    M clang/lib/AST/DynamicRecursiveASTVisitor.cpp
    M clang/lib/StaticAnalyzer/Checkers/WebKit/RawPtrRefMemberChecker.cpp

  Log Message:
  -----------
  Revert "[Clang] [NFC] Introduce `ConstDynamicRecursiveASTVisitor`" (#124667)

Reverts llvm/llvm-project#122991

One of the bots is breaking; I’ll have to investigate what the issue is;
this might be because I haven’t updated the branch in a while.


  Commit: 760a786d1580d2d933664a95cf1b5273d30ccdf6
      https://github.com/llvm/llvm-project/commit/760a786d1580d2d933664a95cf1b5273d30ccdf6
  Author: Joseph Huber <huberjn at outlook.com>
  Date:   2025-01-27 (Mon, 27 Jan 2025)

  Changed paths:
    M llvm/lib/Transforms/IPO/Internalize.cpp
    M offload/DeviceRTL/src/Misc.cpp

  Log Message:
  -----------
  [Clang] Prevent `mlink-builtin-bitcode` from internalizing the RPC client (#118661)

Summary:
Currently, we only use `-mlink-builtin-bitcode` for non-LTO NVIDIA
compiliations. This has the problem that it will internalize the RPC
client symbol which needs to be visible to the host. To counteract that,
I put `retain` on it, but this also prevents optimizations on the global
itself, so the passes we have that remove the symbol don't work on
OpenMP anymore. This patch does the dumbest solution, adding a special
string check for it in clang. Not the best solution, the runner up would
be to have a clang attribute for `externally_initialized` because those
can't be internalized, but that might have some unfortunate
side-effects. Alternatively we could make NVIDIA compilations do LTO all
the time, but that would affect some users and it's harder than I
thought.


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

  Changed paths:
    M lld/docs/ReleaseNotes.rst

  Log Message:
  -----------
  ReleaseNotes: add lld/ELF notes

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


  Commit: 641694729df1564710c91d6778ca4f9c841b561a
      https://github.com/llvm/llvm-project/commit/641694729df1564710c91d6778ca4f9c841b561a
  Author: Brad Smith <brad at comstyle.com>
  Date:   2025-01-27 (Mon, 27 Jan 2025)

  Changed paths:
    M lldb/source/Host/common/Socket.cpp

  Log Message:
  -----------
  [lldb] Clean up Socket headers for Android (#124453)


  Commit: 5ece348f77e9df1cafe49e565e47308fbbc2eb37
      https://github.com/llvm/llvm-project/commit/5ece348f77e9df1cafe49e565e47308fbbc2eb37
  Author: Brad Smith <brad at comstyle.com>
  Date:   2025-01-27 (Mon, 27 Jan 2025)

  Changed paths:
    M lldb/source/Host/common/Host.cpp

  Log Message:
  -----------
  [lldb] Android 9 has added the spawn.h header (#124452)


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

  Changed paths:
    M flang/include/flang/Optimizer/HLFIR/HLFIROpBase.td
    M flang/include/flang/Optimizer/HLFIR/HLFIROps.td
    M flang/lib/Lower/HlfirIntrinsics.cpp
    M flang/lib/Optimizer/HLFIR/IR/HLFIROps.cpp
    M flang/lib/Optimizer/HLFIR/Transforms/LowerHLFIRIntrinsics.cpp
    M flang/test/HLFIR/invalid.fir
    A flang/test/HLFIR/reshape-lowering.fir
    A flang/test/HLFIR/reshape.fir
    A flang/test/Lower/HLFIR/reshape.f90

  Log Message:
  -----------
  [flang] Added hlfir.reshape definition/lowering/codegen. (#124226)

Lower Fortran RESHAPE intrinsic into hlfir.reshape, and then lower
hlfir.reshape into a runtime call.
A later patch will add hlfir.reshape inlining as hlfir.elemental.


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

  Changed paths:
    R lld/Common/BPSectionOrdererBase.cpp
    M lld/Common/CMakeLists.txt
    M lld/MachO/BPSectionOrderer.cpp
    M lld/MachO/BPSectionOrderer.h
    M lld/MachO/CMakeLists.txt
    R lld/include/lld/Common/BPSectionOrdererBase.h
    A lld/include/lld/Common/BPSectionOrdererBase.inc

  Log Message:
  -----------
  [lld-macho] Refactor BPSectionOrderer with CRTP. NFC

PR #117514 refactored BPSectionOrderer to be used by the ELF port
but introduced some inefficiency:

* BPSectionBase/BPSymbol are wrappers around a single pointer.
  The numbers of sections and symbols could be huge, and the extra
  allocations are memory inefficient.
* Reconstructing the returned DenseMap (since BPSectionBase != InputSectin)
  is wasteful.

This patch refactors BPSectionOrderer with Curiously Recurring Template
Pattern and eliminates the inefficiency. In addition,
`symbolToSectionIdxs` is removed and `rootSymbolToSectionIdxs` building
is moved to lld/MachO: while getting sections for symbols is cheap in
Mach-O, it is awkward and inefficient in the ELF port.

While here, add a file-level comment and replace some `StringMap<*>`
(which copies strings) with `DenseMap<CachedHashStringRef, *>`.

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


  Commit: 0bbfd96a3a8e9cf2d4e79ef0826f7c189a017598
      https://github.com/llvm/llvm-project/commit/0bbfd96a3a8e9cf2d4e79ef0826f7c189a017598
  Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
  Date:   2025-01-28 (Tue, 28 Jan 2025)

  Changed paths:
    M llvm/utils/gn/secondary/lld/Common/BUILD.gn

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


  Commit: ba789c6f82a911f90a5d20b637e02df4439d0153
      https://github.com/llvm/llvm-project/commit/ba789c6f82a911f90a5d20b637e02df4439d0153
  Author: Thirumalai Shaktivel <74826228+Thirumalai-Shaktivel at users.noreply.github.com>
  Date:   2025-01-28 (Tue, 28 Jan 2025)

  Changed paths:
    M flang/lib/Semantics/check-omp-structure.cpp
    M flang/lib/Semantics/check-omp-structure.h
    M flang/lib/Semantics/resolve-directives.cpp
    A flang/test/Semantics/OpenMP/cray-pointer-usage.f90

  Log Message:
  -----------
  [Flang] Add semantics checks for CrayPointer usage in DSA list (#123171)

Follow-up PR to fix the failure caused here:
https://github.com/llvm/llvm-project/pull/121028

Failure:
https://lab.llvm.org/buildbot/#/builders/89/builds/14474

Problems:
- Cray pointee cannot be used in the DSA list (If used results in segmentation fault)
- Cray pointer has to be in the DSA list when Cray pointee is used in the default (none) region

Fix: Added required semantic checks along the tests
Reference from the documentation (OpenMP 5.0: 2.19.1):
- Cray pointees have the same data-sharing attribute as the storage with
which their Cray pointers are associated.


  Commit: 9c1d2f84e91f39cdd17519ca61bd2aacd8bcbd84
      https://github.com/llvm/llvm-project/commit/9c1d2f84e91f39cdd17519ca61bd2aacd8bcbd84
  Author: Lang Hames <lhames at gmail.com>
  Date:   2025-01-28 (Tue, 28 Jan 2025)

  Changed paths:
    M llvm/lib/ExecutionEngine/JITLink/aarch64.cpp

  Log Message:
  -----------
  [JITLink] Add "Pointer64Authenticated" string to aarch64::getEdgeKindName.

No testcase: this change just allows edge names to be correctly reported in
debug dumps of LinkGraphs. (Previously Pointer64Authenticated edges were
reported as "<Unrecognized edge kind>").


  Commit: 6e4105574ebb1c4a664c5b24a4fb2b6cbc51d73e
      https://github.com/llvm/llvm-project/commit/6e4105574ebb1c4a664c5b24a4fb2b6cbc51d73e
  Author: Shilei Tian <i at tianshilei.me>
  Date:   2025-01-27 (Mon, 27 Jan 2025)

  Changed paths:
    M llvm/lib/Target/AMDGPU/AMDGPUPromoteAlloca.cpp
    M llvm/test/CodeGen/AMDGPU/promote-alloca-invariant-markers.ll
    R llvm/test/CodeGen/AMDGPU/promote-alloca-invariant-marks.ll

  Log Message:
  -----------
  [NFC][AMDGPU] Improve code introduced in #124607 (#124672)


  Commit: 8b29c5ccddb87ac7336a700877dc08cdc57ac65b
      https://github.com/llvm/llvm-project/commit/8b29c5ccddb87ac7336a700877dc08cdc57ac65b
  Author: Lang Hames <lhames at gmail.com>
  Date:   2025-01-28 (Tue, 28 Jan 2025)

  Changed paths:
    M llvm/lib/ExecutionEngine/JITLink/aarch64.cpp

  Log Message:
  -----------
  [JITLink] Move debugging output helper array into LLVM_DEBUG. NFC.

This doesn't need a separate guard.


  Commit: 79685b59b78804f99e46f12ac888edbc0a6d1472
      https://github.com/llvm/llvm-project/commit/79685b59b78804f99e46f12ac888edbc0a6d1472
  Author: Lang Hames <lhames at gmail.com>
  Date:   2025-01-28 (Tue, 28 Jan 2025)

  Changed paths:
    M llvm/lib/ExecutionEngine/JITLink/aarch64.cpp
    A llvm/test/ExecutionEngine/JITLink/AArch64/MachO_ptrauth_dependencies.s

  Log Message:
  -----------
  [JITLink][aarch64] Fix dependence tracking for Pointer64Authenticated edges.

Transform Pointer64Authenticated edges into KeepAlive edges, rather than
removing them, in order to preserve symbol dependence information.

The lowerPointer64AuthEdgesToSigningFunction pass is responsible for
transforming Pointer64Authenticated edges to a signing function that can be run
in the executing process to initialize global PAC pointers. Removing the edges
entirely in this pass results in loss of dependence tracking, which can in turn
cause ORC to report PAC pointers as ready before the pointers targets have
completed materialization (resulting in a use-before-finalize error, often
manifesting as access to uninitialized / unprotected memory).

This commit addresses the issue by leaving the edges in the graph and simply
changing their kind to KeepAlive, a no-op for fixup purposes but followed for
dependence tracking purposes.


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

  Changed paths:
    M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
    M llvm/test/Transforms/SLPVectorizer/RISCV/revec.ll
    M llvm/test/Transforms/SLPVectorizer/revec-shufflevector.ll

  Log Message:
  -----------
  [SLP] Fix CommonMask will be transformed into an incorrect mask if createShuffle is called multiple times. (#124244)

We have two types of mask in SLP: a scalar mask and a vector mask.
When vectorizing four i32 additions into <4 x i32>, SLP creates a mask
of length 4.
When vectorizing four <2 x i32> additions into <8 x i32>, SLP also
creates a mask of length 4.
We refer to the first case as a scalar mask (because the mask element
represents a scalar, i32), and the second case as a vector mask (because
the mask element represents a vector, <4 x i32>).
At some point, we must convert the scalar mask into a vector mask
(otherwise, calling TTI cost functions or IRBuilderBase functions may
yield incorrect results).
Since both ShuffleCostEstimator and ShuffleInstructionBuilder can modify
the CommonMask, we have decided to perform the mask transformation only
within createShuffle. However, we do not store the transformed result,
as createShuffle may be called multiple times.


  Commit: 5ab43c3e7d9b5dc0ca4fffa58c65fc6f7283d3c0
      https://github.com/llvm/llvm-project/commit/5ab43c3e7d9b5dc0ca4fffa58c65fc6f7283d3c0
  Author: Lang Hames <lhames at gmail.com>
  Date:   2025-01-28 (Tue, 28 Jan 2025)

  Changed paths:
    M llvm/lib/ExecutionEngine/JITLink/aarch64.cpp

  Log Message:
  -----------
  [JITLink] Use continue to reduce loop indentation and improve readability. NFC.


  Commit: fa9ac62d02fd6b5028f301ee398c3d3a1c0eacae
      https://github.com/llvm/llvm-project/commit/fa9ac62d02fd6b5028f301ee398c3d3a1c0eacae
  Author: Thurston Dang <thurston at google.com>
  Date:   2025-01-27 (Mon, 27 Jan 2025)

  Changed paths:
    M llvm/include/llvm/Transforms/Instrumentation/LowerAllowCheckPass.h
    M llvm/lib/Passes/PassBuilder.cpp
    M llvm/lib/Transforms/Instrumentation/LowerAllowCheckPass.cpp
    M llvm/test/Transforms/lower-builtin-allow-check.ll

  Log Message:
  -----------
  [ubsan] Parse and use <cutoffs[0,1,2]=70000;cutoffs[5,6,8]=90000> in LowerAllowCheckPass (#124211)

This adds and utilizes a cutoffs parameter for LowerAllowCheckPass, via the Options parameter (introduced in https://github.com/llvm/llvm-project/pull/122994).

Future work will connect -fsanitize-skip-hot-cutoff (introduced patch in https://github.com/llvm/llvm-project/pull/121619) in the clang frontend to the cutoffs parameter used here.


  Commit: 334a1cdbfaafc5424c5932663728334d1cc46285
      https://github.com/llvm/llvm-project/commit/334a1cdbfaafc5424c5932663728334d1cc46285
  Author: vporpo <vporpodas at google.com>
  Date:   2025-01-27 (Mon, 27 Jan 2025)

  Changed paths:
    M llvm/lib/SandboxIR/Context.cpp
    M llvm/lib/Transforms/Vectorize/SandboxVectorizer/SandboxVectorizer.cpp
    M llvm/unittests/SandboxIR/SandboxIRTest.cpp

  Log Message:
  -----------
  [SandboxIR] createFunction() should always create a function (#124665)

This patch removes the assertion that checks for an existing function.
If one exists it will remove it and create a new one. This helps remove
a crash when a function declaration object already exists and we are
about to create a SandboxIR object for the definition.


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

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

  Log Message:
  -----------
  AMDGPU: Custom lower 32-bit element shuffles (#123711)

This is so we can try to make use of v_pk_mov_b32 when available.
Note this currently has little observable effect. The combiner
will undo the common extract of shuffle pattern. The lack
of test changes should demonstrate this change is minimally
correct.

We should probably try to make better use of wider extracts in
even aligned cases, but I'm trying to avoid some really ugly
regalloc regressions in some MFMA tests. The DAG scheduler ends
up doing a worse job if we use vector extracts, resulting
in failure to do 3 address conversion of MFMAs.


  Commit: bd8578bf2e8f3cfcccea232d3a83f4dbeae41fdb
      https://github.com/llvm/llvm-project/commit/bd8578bf2e8f3cfcccea232d3a83f4dbeae41fdb
  Author: Lang Hames <lhames at gmail.com>
  Date:   2025-01-28 (Tue, 28 Jan 2025)

  Changed paths:
    M llvm/test/ExecutionEngine/JITLink/AArch64/MachO_ptrauth_dependencies.s

  Log Message:
  -----------
  [JITLink] Add 'REQUIRES: asserts' to MachO_ptrauth_dependencies.s.

This test depends on debugging output.


  Commit: 2d0688797cc31ef10572d3216bb7ef4dbb8019b7
      https://github.com/llvm/llvm-project/commit/2d0688797cc31ef10572d3216bb7ef4dbb8019b7
  Author: quic_hchandel <quic_hchandel at quicinc.com>
  Date:   2025-01-27 (Mon, 27 Jan 2025)

  Changed paths:
    M clang/test/Driver/print-supported-extensions-riscv.c
    M llvm/docs/RISCVUsage.rst
    M llvm/lib/Target/RISCV/RISCVFeatures.td
    M llvm/lib/Target/RISCV/RISCVInstrInfoXqci.td
    M llvm/test/CodeGen/RISCV/attributes.ll
    M llvm/test/MC/RISCV/xqciac-invalid.s
    M llvm/test/MC/RISCV/xqciac-valid.s
    M llvm/unittests/TargetParser/RISCVISAInfoTest.cpp

  Log Message:
  -----------
  [RISCV] Renaming muladdi to muliadd as per v0.5 spec. (#124237)

muliadd is more relevant to the operation performed, i.e. multiply by
immediate.

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


  Commit: 7109f521975e9cc2e8ba4f52ac2a8e1140bd49b5
      https://github.com/llvm/llvm-project/commit/7109f521975e9cc2e8ba4f52ac2a8e1140bd49b5
  Author: Fangrui Song <i at maskray.me>
  Date:   2025-01-27 (Mon, 27 Jan 2025)

  Changed paths:
    M lld/test/ELF/gc-sections.s
    M lld/test/ELF/lto/devirt_vcall_vis_export_dynamic.ll
    M lld/test/ELF/lto/internalize-exportdyn.ll
    M lld/test/ELF/lto/relocation-model-pic.ll
    M lld/test/ELF/lto/relocation-model-static.ll
    M lld/test/ELF/partition-errors.s
    M lld/test/ELF/partition-icf.s
    M lld/test/ELF/partition-move-to-main-startstop.s
    M lld/test/ELF/partition-thunk-reuse.s
    M lld/test/ELF/partitions.s

  Log Message:
  -----------
  [ELF,test] Don't rely on --export-dynamic --gc-sections behavior for non-pie static linking

This mode does not retain definitions in GNU ld. While we do, it's not
consistent with the decision that there is no .dynsym . We will change
this and simplify some internal representations.


  Commit: 7f37b34d31914120a5bb6bd341e7616773df7613
      https://github.com/llvm/llvm-project/commit/7f37b34d31914120a5bb6bd341e7616773df7613
  Author: Shourya Goel <shouryagoel10000 at gmail.com>
  Date:   2025-01-28 (Tue, 28 Jan 2025)

  Changed paths:
    M libc/CMakeLists.txt
    A libc/cmake/modules/LLVMLibCCheckMPC.cmake
    M libc/src/__support/CMakeLists.txt
    M libc/src/__support/CPP/type_traits.h
    A libc/src/__support/complex_basic_ops.h
    M libc/src/__support/complex_type.h
    M libc/src/complex/generic/CMakeLists.txt
    M libc/src/complex/generic/conj.cpp
    M libc/src/complex/generic/conjf.cpp
    M libc/src/complex/generic/conjf128.cpp
    M libc/src/complex/generic/conjf16.cpp
    M libc/src/complex/generic/conjl.cpp
    M libc/src/complex/generic/cproj.cpp
    M libc/src/complex/generic/cprojf.cpp
    M libc/src/complex/generic/cprojf128.cpp
    M libc/src/complex/generic/cprojf16.cpp
    M libc/src/complex/generic/cprojl.cpp
    M libc/test/UnitTest/FPMatcher.h
    M libc/test/src/CMakeLists.txt
    M libc/test/src/complex/CMakeLists.txt
    M libc/test/src/complex/cprojf_test.cpp
    M libc/utils/CMakeLists.txt
    A libc/utils/MPCWrapper/CMakeLists.txt
    A libc/utils/MPCWrapper/MPCUtils.cpp
    A libc/utils/MPCWrapper/MPCUtils.h
    A libc/utils/MPCWrapper/check_mpc.cpp
    M libc/utils/MPFRWrapper/CMakeLists.txt
    A libc/utils/MPFRWrapper/MPCommon.cpp
    A libc/utils/MPFRWrapper/MPCommon.h
    M libc/utils/MPFRWrapper/MPFRUtils.cpp
    M libc/utils/MPFRWrapper/MPFRUtils.h

  Log Message:
  -----------
  [libc][complex] Testing infra for MPC (#121261)

This PR aims to add the groundwork to test the precision of libc complex
functions against MPC. I took `cargf` as a test to verify that the infra
works fine.


  Commit: 3c64f86314fbf9a3cd578419f16e621a4de57eaa
      https://github.com/llvm/llvm-project/commit/3c64f86314fbf9a3cd578419f16e621a4de57eaa
  Author: Hongren Zheng <i at zenithal.me>
  Date:   2025-01-28 (Tue, 28 Jan 2025)

  Changed paths:
    M mlir/include/mlir/IR/CMakeLists.txt
    M mlir/include/mlir/IR/OpAsmInterface.td
    M mlir/include/mlir/IR/OpImplementation.h
    M mlir/lib/IR/AsmPrinter.cpp
    A mlir/test/IR/op-asm-interface.mlir
    M mlir/test/lib/Dialect/Test/TestOpDefs.cpp
    M mlir/test/lib/Dialect/Test/TestOps.td
    M mlir/test/lib/Dialect/Test/TestTypeDefs.td
    M mlir/test/lib/Dialect/Test/TestTypes.cpp

  Log Message:
  -----------
  [mlir] Add OpAsmTypeInterface for pretty-print (#121187)

See
https://discourse.llvm.org/t/rfc-introduce-opasm-type-attr-interface-for-pretty-print-in-asmprinter/83792
for detailed introduction.

This PR acts as the first part of it
* Add `OpAsmTypeInterface` and `getAsmName` API for deducing ASM name
from type
* Add default impl in `OpAsmOpInterface` to respect this API when
available.

The `OpAsmAttrInterface` / hooking into Alias system part should be
another PR, using a `getAlias` API.

### Discussion

* Instead of using `StringRef getAsmName()` as the API, I use `void
getAsmName(OpAsmSetNameFn)`, as returning StringRef might be unsafe
(std::string constructed inside then returned a _ref_; and this aligns
with the design of `getAsmResultNames`.
* On the result packing of an op, the current approach is that when not
all of the result types are `OpAsmTypeInterface`, then do nothing (old
default impl)

### Review 

Cc @j2kun and @Alexanderviand-intel for downstream; Cc @River707 and
@joker-eph for relevent commit history; Cc @ftynse for discourse.


  Commit: 3a439e2caf0bb545ee451df1de5b02ea068140f7
      https://github.com/llvm/llvm-project/commit/3a439e2caf0bb545ee451df1de5b02ea068140f7
  Author: Hongren Zheng <i at zenithal.me>
  Date:   2025-01-28 (Tue, 28 Jan 2025)

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

  Log Message:
  -----------
  [mlir][dataflow] disallow outside use of propagateIfChanged for DataFlowSolver (#120885)

Detailed writeup is in https://github.com/google/heir/issues/1153. See
also https://github.com/llvm/llvm-project/pull/120881. In short,
`propagateIfChanged` is used outside of the `DataFlowAnalysis` scope,
because it is public, but it does not propagate as expected as the
`DataFlowSolver` has stopped running.

To solve such misuse, `propagateIfChanged` should be made
protected/private.

For downstream users affected by this, to correctly propagate the
change, the Analysis should be re-run (check #120881) instead of just a
`propagateIfChanged`

The change to `IntegerRangeAnalysis` is just a expansion of the
`solver->propagateIfChanged`. The `Lattice` has already been updated by
the `join`. Propagation is done by `onUpdate`.

Cc @Mogball for review


  Commit: d50ebd47ae57812e5d2db1e3d3157f26b8d9d159
      https://github.com/llvm/llvm-project/commit/d50ebd47ae57812e5d2db1e3d3157f26b8d9d159
  Author: Gedare Bloom <gedare at rtems.org>
  Date:   2025-01-27 (Mon, 27 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/TokenAnnotator.cpp
    M clang/unittests/Format/ConfigParseTest.cpp
    M clang/unittests/Format/FormatTest.cpp

  Log Message:
  -----------
  [clang-format] Add style option `PenaltyBreakBeforeMemberAccess` (#118409)

The penalty for breaking before a member access is hard-coded to 150.
Add a configuration option to allow setting it.

---------

Co-authored-by: Owen Pan <owenpiano at gmail.com>


  Commit: d606f68a2e37440729f223616062b9ebb28e6482
      https://github.com/llvm/llvm-project/commit/d606f68a2e37440729f223616062b9ebb28e6482
  Author: Jorge Gorbe Moya <jgorbe at google.com>
  Date:   2025-01-27 (Mon, 27 Jan 2025)

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

  Log Message:
  -----------
  [bazel] Fix build after e0c7f081f1582d49f81ec4c6cdbf5d6ef13c58ba


  Commit: 839cdb58e71fa7b8a132ac9497580cc23a3ae7f7
      https://github.com/llvm/llvm-project/commit/839cdb58e71fa7b8a132ac9497580cc23a3ae7f7
  Author: Shourya Goel <shouryagoel10000 at gmail.com>
  Date:   2025-01-28 (Tue, 28 Jan 2025)

  Changed paths:
    M libc/utils/MPFRWrapper/CMakeLists.txt

  Log Message:
  -----------
  [libc][complex] remove -ffreestanding flag from MPFRUtils compile options (#124702)

Fixes buildbot error in #121261


  Commit: 42432ada8e0b9ebd716a5522f799698ec49cd3db
      https://github.com/llvm/llvm-project/commit/42432ada8e0b9ebd716a5522f799698ec49cd3db
  Author: Akshat Oke <Akshat.Oke at amd.com>
  Date:   2025-01-28 (Tue, 28 Jan 2025)

  Changed paths:
    M llvm/lib/Target/AMDGPU/AMDGPUPassRegistry.def

  Log Message:
  -----------
  [AMDGPU][NFC] Sort AMDGPUPassRegistry entries alphabetically (#124544)


  Commit: 6a9d0e53ae04a60222c8e39d8ced3183aa30588a
      https://github.com/llvm/llvm-project/commit/6a9d0e53ae04a60222c8e39d8ced3183aa30588a
  Author: NAKAMURA Takumi <geek4civic at gmail.com>
  Date:   2025-01-28 (Tue, 28 Jan 2025)

  Changed paths:
    M llvm/tools/llvm-cov/CoverageSummaryInfo.cpp

  Log Message:
  -----------
  [llvm-cov] Prevent assertion failure in sumMCDCPairs

Since #112694, MCDCRecord::isCondFolded() has returned true for
"partially folded" conditions. Besides,
isConditionIndependencePairCovered() returns true if the unfolded
condition is satisfied. This might break consistency
(CoveredPairs <= NumPairs).


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

  Changed paths:
    M lld/ELF/Config.h
    M lld/ELF/Driver.cpp
    M lld/ELF/Symbols.cpp
    M lld/ELF/Writer.cpp
    M lld/test/ELF/partition-errors.s

  Log Message:
  -----------
  [ELF] Refine includeInDynsym condition

`includeInDynsym` has a special case for isUndefWeak and
--no-dynamic-linker, which can be removed if we simplify disallow
dynamic symbols for static-pie.

The partition feature reports errors only when a symbol `isExported`.
We need to link in a DSO to trigger the mips error.


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

  Changed paths:
    M llvm/lib/Target/RISCV/RISCVExpandPseudoInsts.cpp
    A llvm/test/CodeGen/RISCV/zdinx-memoperand.ll

  Log Message:
  -----------
  [RISCV] Support multiple memory operands in expandRV32ZdinxStore.

TailMerge can create stores with multiple memory operands. We
need to split all of them instead of assuming there is only one.


  Commit: 952685a43d0436577df95ea318b2460438f67982
      https://github.com/llvm/llvm-project/commit/952685a43d0436577df95ea318b2460438f67982
  Author: Fangrui Song <i at maskray.me>
  Date:   2025-01-27 (Mon, 27 Jan 2025)

  Changed paths:
    M lld/test/ELF/weak-undef-lib.s

  Log Message:
  -----------
  [ELF,test] Add static-pie test related to demoted lazy symbol

The reverted
1a4d6de1b532149b10522eae5dabce39e5f7c687
("[ELF] Remove redundant isExported computation")
had incorrect
```
+        if (sym->includeInDynsym(ctx))
+          sym->isExported = true;
```

causing undefined weak symbols (defined in archives, demoted; e.g.
__cxa_finalize) to be exported for static-pie.

Add a regression test for this corner case. The issue actually exposed
another issue related to includeInDynsym, which has been fixed by
f10441ad003236ef3b9e5415a571d2be0c0ce5ce.


  Commit: 4167ea2cb082a2acb00b8b1dc09aa780dc0e3110
      https://github.com/llvm/llvm-project/commit/4167ea2cb082a2acb00b8b1dc09aa780dc0e3110
  Author: Petr Hosek <phosek at google.com>
  Date:   2025-01-27 (Mon, 27 Jan 2025)

  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" (#124431)

Reverts llvm/llvm-project#120805

This change while desirable has two issues we discovered:

- It is incompatible with `-funique-internal-linkage-names`, see
https://github.com/llvm/llvm-project/pull/120805#discussion_r1913709817
- It is incompatible with `-fvisibility-global-new-delete=force-hidden`,
see
https://github.com/llvm/llvm-project/issues/123224#issuecomment-2607963878

We were hoping to address both of these issues with
https://github.com/llvm/llvm-project/pull/122983, but that change has
other issues we haven't yet managed to resolve. For now, we have decided
to revert the change to avoid shipping a broken feature in LLVM 20, and
we plan to follow up with a new approach post branch.


  Commit: b593110d89aea76b8b10152b24ece154bff3e4b5
      https://github.com/llvm/llvm-project/commit/b593110d89aea76b8b10152b24ece154bff3e4b5
  Author: Petr Hosek <phosek at google.com>
  Date:   2025-01-27 (Mon, 27 Jan 2025)

  Changed paths:
    M llvm/CMakeLists.txt
    M llvm/docs/ReleaseNotes.md

  Log Message:
  -----------
  [compiler-rt] Deprecate LLVM_ENABLE_PROJECTS in favor of LLVM_ENABLE_RUNTIMES (#124016)

We plan to make this a hard error in the LLVM 21 release.

Link #124012


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

  Changed paths:
    M lld/test/ELF/riscv-gp.s

  Log Message:
  -----------
  [ELF,test] Test static-pie __global_pointer$


  Commit: 5e43dd5bde99bf0e1f58efb4bb4fd3eb1a78d253
      https://github.com/llvm/llvm-project/commit/5e43dd5bde99bf0e1f58efb4bb4fd3eb1a78d253
  Author: Fangrui Song <i at maskray.me>
  Date:   2025-01-27 (Mon, 27 Jan 2025)

  Changed paths:
    M lld/test/ELF/lto/devirt_vcall_vis_export_dynamic.ll

  Log Message:
  -----------
  [test] Add missing -triple=x86_64

Fixes 7109f521975e9cc2e8ba4f52ac2a8e1140bd49b5


  Commit: 085f7fb560ee08a4d78a51dbf247ea816f8515a7
      https://github.com/llvm/llvm-project/commit/085f7fb560ee08a4d78a51dbf247ea816f8515a7
  Author: Fangrui Song <i at maskray.me>
  Date:   2025-01-27 (Mon, 27 Jan 2025)

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

  Log Message:
  -----------
  [ELF] Remove redundant isExported computation

Commit 2a26292388fcab0c857c91b2d08074c33abd37e8 made `isExported`
accurate except a few linker-synthesized symbols in finalizeSections.
We can collect these linker-synthesized symbols into a vector
and avoid recomputation for other symbols.

This is reland of 1a4d6de1b532149b10522eae5dabce39e5f7c687 after
`isExported` has been made accurate by f10441ad003236ef3b9e5415a571d2be0c0ce5ce


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

  Changed paths:
    M llvm/lib/Target/RISCV/RISCV.td
    M llvm/lib/Target/RISCV/RISCVProcessors.td
    A llvm/lib/Target/RISCV/RISCVSchedSiFiveP500.td
    A llvm/test/tools/llvm-mca/RISCV/SiFiveP500/alu.s
    A llvm/test/tools/llvm-mca/RISCV/SiFiveP500/fp.s
    A llvm/test/tools/llvm-mca/RISCV/SiFiveP500/load.s

  Log Message:
  -----------
  [RISCV] Add P550 scheduler model. (#124639)

P550 falls between P450 and P650. It has 1 additional FEX pipe over
P450. Mul and cpop latency are 3 instead of 2.

I've set the MicroOpBufferSize to 96 instead of 56 based on the ROB size
measurement from
https://chipsandcheese.com/p/inside-sifives-p550-microarchitecture I
believe we set this value too low for P450 and P650 and should update
them in a separate PR.


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

  Changed paths:
    R clang/include/clang/Basic/BuiltinsNVPTX.def
    A clang/include/clang/Basic/BuiltinsNVPTX.td
    M clang/include/clang/Basic/CMakeLists.txt
    M clang/include/clang/Basic/TargetBuiltins.h
    M clang/include/module.modulemap
    M clang/lib/Basic/Targets/NVPTX.cpp
    M clang/test/CodeGen/builtins-nvptx.c
    M clang/utils/TableGen/ClangBuiltinsEmitter.cpp

  Log Message:
  -----------
  [StrTable] Mechanically convert NVPTX builtins to use TableGen (#122873)

This switches them to use tho common TableGen layer, extending it to
support the missing features needed by the NVPTX backend.

The biggest thing was to build a TableGen system that computes the
cumulative SM and PTX feature sets the same way the macros did. That's
done with some string concatenation tricks in TableGen, but they worked
out pretty neatly and are very comparable in complexity to the macro
version.

Then the actual defines were mapped over using a very hacky Python
script. It was never productionized or intended to work in the future,
but for posterity:

https://gist.github.com/chandlerc/10bdf8fb1312e252b4a501bace184b66

Last but not least, there was a very odd "bug" in one of the converted
builtins' prototype in the TableGen model: it didn't handle uses of `Z`
and `U` both as *qualifiers* of a single type, treating `Z` as its own
`int32_t` type. So my hacky Python script converted `ZUi` into two
types, an `int32_t` and an `unsigned int`. This produced a very wrong
prototype. But the tests caught this nicely and I fixed it manually
rather than trying to improve the Python script as it occurred in
exactly one place I could find.

This should provide direct benefits of allowing future refactorings to
more directly leverage TableGen to express builtins more structurally
rather than textually. It will also make my efforts to move builtins to
string tables significantly more effective for the NVPTX backend where
the X-macro approach resulted in *significantly* less efficient string
tables than other targets due to the long repeated feature strings.


  Commit: 0cb7636a462a8d4209e2b6344304eb43f02853eb
      https://github.com/llvm/llvm-project/commit/0cb7636a462a8d4209e2b6344304eb43f02853eb
  Author: Djordje Todorovic <djordje.todorovic at htecgroup.com>
  Date:   2025-01-28 (Tue, 28 Jan 2025)

  Changed paths:
    M clang/test/Driver/print-supported-extensions-riscv.c
    M llvm/docs/RISCVUsage.rst
    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/RISCV.h
    M llvm/lib/Target/RISCV/RISCVFeatures.td
    M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
    M llvm/lib/Target/RISCV/RISCVInstrInfo.cpp
    M llvm/lib/Target/RISCV/RISCVInstrInfo.td
    A llvm/lib/Target/RISCV/RISCVInstrInfoXMips.td
    M llvm/lib/Target/RISCV/RISCVProcessors.td
    M llvm/lib/Target/RISCV/RISCVSubtarget.cpp
    M llvm/lib/Target/RISCV/RISCVSubtarget.h
    M llvm/lib/Target/RISCV/RISCVTargetMachine.cpp
    M llvm/test/CodeGen/RISCV/select-and.ll
    M llvm/test/CodeGen/RISCV/select-bare.ll
    M llvm/test/CodeGen/RISCV/select-cc.ll
    M llvm/test/CodeGen/RISCV/select-or.ll
    A llvm/test/MC/RISCV/xmips-invalid.s
    A llvm/test/MC/RISCV/xmips-valid.s
    M llvm/unittests/TargetParser/RISCVISAInfoTest.cpp

  Log Message:
  -----------
  [RISCV] Add MIPS extensions (#121394)

Adding two extensions for MIPS p8700 CPU:
  1. cmove (conditional move)
  2. lsp (load/store pair)

The official product page here:
https://mips.com/products/hardware/p8700


  Commit: 00f692b94f9aa08ede4aaba6f2aafe17857599c4
      https://github.com/llvm/llvm-project/commit/00f692b94f9aa08ede4aaba6f2aafe17857599c4
  Author: Aiden Grossman <aidengrossman at google.com>
  Date:   2025-01-28 (Tue, 28 Jan 2025)

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

  Log Message:
  -----------
  Reland "[MLGO] Count LR Evictions Rather than Relying on Cascade (#124440)"

This reverts commit aa65f93b71dee8cacb22be1957673c8be6a3ec24.

This relands commit 8cc83b66e20e72cdb3bb5fbd549c941797b0e0c9.

It looks like this was a transitive include issue.


  Commit: aab25f20f6c06bab7aac6fb83d54705ec4cdfadd
      https://github.com/llvm/llvm-project/commit/aab25f20f6c06bab7aac6fb83d54705ec4cdfadd
  Author: Adam Yang <hanbyang at microsoft.com>
  Date:   2025-01-27 (Mon, 27 Jan 2025)

  Changed paths:
    M clang/include/clang/Basic/Builtins.td
    M clang/lib/CodeGen/CGBuiltin.cpp
    M clang/lib/Headers/hlsl/hlsl_intrinsics.h
    M clang/lib/Sema/SemaHLSL.cpp
    A clang/test/CodeGenHLSL/builtins/WaveActiveMax.hlsl
    A clang/test/SemaHLSL/BuiltIns/WaveActiveMax-errors.hlsl
    M llvm/include/llvm/IR/IntrinsicsDirectX.td
    M llvm/include/llvm/IR/IntrinsicsSPIRV.td
    M llvm/lib/Target/DirectX/DXIL.td
    M llvm/lib/Target/DirectX/DirectXTargetTransformInfo.cpp
    M llvm/lib/Target/SPIRV/SPIRVInstructionSelector.cpp
    A llvm/test/CodeGen/DirectX/WaveActiveMax.ll
    A llvm/test/CodeGen/SPIRV/hlsl-intrinsics/WaveActiveMax.ll

  Log Message:
  -----------
  [HLSL][SPIRV][DXIL] Implement `WaveActiveMax` intrinsic (#123428)

```    - add clang builtin to Builtins.td
      - link builtin in hlsl_intrinsics
      - add codegen for spirv intrinsic and two directx intrinsics to retain
        signedness information of the operands in CGBuiltin.cpp
      - add semantic analysis in SemaHLSL.cpp
      - add lowering of spirv intrinsic to spirv backend in
        SPIRVInstructionSelector.cpp
      - add lowering of directx intrinsics to WaveActiveOp dxil op in
    DXIL.td

      - add test cases to illustrate passespendent pr merges.
```
Resolves #99170


  Commit: 0865ecc5150b9a55ba1f9e30b6d463a66ac362a6
      https://github.com/llvm/llvm-project/commit/0865ecc5150b9a55ba1f9e30b6d463a66ac362a6
  Author: Nikolas Klauser <nikolasklauser at berlin.de>
  Date:   2025-01-28 (Tue, 28 Jan 2025)

  Changed paths:
    M clang-tools-extra/clangd/Diagnostics.cpp
    M clang-tools-extra/clangd/Diagnostics.h
    M clang-tools-extra/clangd/ParsedAST.cpp
    M clang-tools-extra/clangd/Preamble.cpp
    M clang-tools-extra/clangd/unittests/ConfigCompileTests.cpp
    M clang/include/clang/Basic/Attr.td
    M clang/include/clang/Basic/Diagnostic.h
    M clang/include/clang/Basic/DiagnosticCategories.h
    M clang/include/clang/Basic/DiagnosticIDs.h
    M clang/include/clang/Basic/DiagnosticSemaKinds.td
    M clang/lib/Basic/Diagnostic.cpp
    M clang/lib/Basic/DiagnosticIDs.cpp
    M clang/lib/Frontend/LogDiagnosticPrinter.cpp
    M clang/lib/Frontend/SerializedDiagnosticPrinter.cpp
    M clang/lib/Frontend/TextDiagnosticPrinter.cpp
    M clang/lib/Sema/Sema.cpp
    M clang/lib/Sema/SemaCUDA.cpp
    M clang/lib/Sema/SemaDeclAttr.cpp
    M clang/lib/Sema/SemaOverload.cpp
    M clang/lib/Sema/SemaTemplateInstantiateDecl.cpp
    M clang/lib/Serialization/ASTReader.cpp
    M clang/lib/Serialization/ASTWriter.cpp
    M clang/lib/StaticAnalyzer/Core/TextDiagnostics.cpp
    A clang/test/Frontend/custom-diag-werror-interaction.c
    M clang/test/Sema/diagnose_if.c
    A clang/test/SemaCXX/diagnose_if-warning-group.cpp
    M clang/tools/diagtool/ListWarnings.cpp
    M clang/tools/diagtool/ShowEnabledWarnings.cpp
    M clang/tools/libclang/CXStoredDiagnostic.cpp
    M flang/lib/Frontend/TextDiagnosticPrinter.cpp

  Log Message:
  -----------
  [clang] Extend diagnose_if to accept more detailed warning information, take 2 (#119712)

This is take two of #70976. This iteration of the patch makes sure that
custom
diagnostics without any warning group don't get promoted by `-Werror` or
`-Wfatal-errors`.

This implements parts of the extension proposed in
https://discourse.llvm.org/t/exposing-the-diagnostic-engine-to-c/73092/7.

Specifically, this makes it possible to specify a diagnostic group in an
optional third argument.


  Commit: 7e22180c20fa3b4e0add41ad620d2eaac2b47fcc
      https://github.com/llvm/llvm-project/commit/7e22180c20fa3b4e0add41ad620d2eaac2b47fcc
  Author: Chandler Carruth <chandlerc at gmail.com>
  Date:   2025-01-28 (Tue, 28 Jan 2025)

  Changed paths:
    R clang/include/clang/Basic/BuiltinsHexagon.def
    A clang/include/clang/Basic/BuiltinsHexagon.td
    R clang/include/clang/Basic/BuiltinsHexagonDep.def
    M clang/include/clang/Basic/CMakeLists.txt
    M clang/include/clang/Basic/TargetBuiltins.h
    M clang/include/module.modulemap
    M clang/lib/Basic/Targets/Hexagon.cpp

  Log Message:
  -----------
  [StrTable] Mechanically convert Hexagon builtins to use TableGen (#123460)

This switches them to use the common builtin TableGen emission.

The fancy feature string preprocessor tricks are replaced with a fairly
direct translation into TableGen.

All of the actual definitions were created using a quite hack-y Python
script that was never intended to be productionized. It preserves the
order, spacing, and even comments from the original files. For
posterity, the script used is here:

https://gist.github.com/chandlerc/f53c7d735e33eecf388529bd9a6010df

The original `.def` file appears to be generated by some out-of-tree
`iset.py` script, which because it is out of tree I couldn't update. It
should be very straightforward though to update it to generate a similar
structure as was used to produce the `.td` file.

In addition to helping move towards TableGen for all of the builtins,
these builtins in particular can be *much* more efficiently handled
using TableGen when we start emitting string tables for them because it
allows de-duplicating all of the feature strings.

The commit sha parent at the time the PR was made is
7253c6fde498c4c9470b681df47d46e6930d6a02 and at that commit, the
resulting TableGen file produces a `.inc` file that only differs in
whitespace and the order of the builtins defined.


  Commit: c8d3ccfa165d0193edf42ce1a0ba3077133c85e8
      https://github.com/llvm/llvm-project/commit/c8d3ccfa165d0193edf42ce1a0ba3077133c85e8
  Author: Luke Lau <luke at igalia.com>
  Date:   2025-01-28 (Tue, 28 Jan 2025)

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

  Log Message:
  -----------
  [RISCV] Use llvm::reverse instead of make_range(rbegin, rend). NFC


  Commit: 8e97f50eed71ff59b5a6fcb31e3e1af3fb30cdb4
      https://github.com/llvm/llvm-project/commit/8e97f50eed71ff59b5a6fcb31e3e1af3fb30cdb4
  Author: Balázs Kéri <balazs.keri at ericsson.com>
  Date:   2025-01-28 (Tue, 28 Jan 2025)

  Changed paths:
    M clang/lib/AST/ASTImporter.cpp
    A clang/test/Analysis/Inputs/ctu-test-import-failure-import.cpp
    A clang/test/Analysis/Inputs/ctu-test-import-failure-import.cpp.externalDefMap.ast-dump.txt
    A clang/test/Analysis/ctu-test-import-failure.cpp

  Log Message:
  -----------
  [clang][ASTImporter] Fix possible crash at import of function template (#124273)

During import of a function template at specific conditions an assertion
"TemplateOrSpecialization.isNull()" can be triggered. This can
happen when the new AST is already incompatible after import failures.
Problem is fixed by returning import failure at the assert condition.


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

  Changed paths:
    M llvm/test/CodeGen/AMDGPU/callee-frame-setup.ll
    M llvm/test/CodeGen/AMDGPU/nested-calls.ll
    M llvm/test/CodeGen/AMDGPU/sibling-call.ll

  Log Message:
  -----------
  [NFC][AMDGPU] Autogenerating test cases (#124507)


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

  Changed paths:
    M clang/utils/TableGen/ClangDiagnosticsEmitter.cpp
    M llvm/include/llvm/ADT/StringTable.h
    M llvm/include/llvm/TableGen/StringToOffsetTable.h
    M llvm/lib/IR/Intrinsics.cpp
    M llvm/test/TableGen/MixedCasedMnemonic.td
    M llvm/test/TableGen/SDNodeInfoEmitter/ambiguous-constraints.td
    M llvm/test/TableGen/SDNodeInfoEmitter/basic.td
    M llvm/test/TableGen/SDNodeInfoEmitter/namespace.td
    M llvm/test/TableGen/SDNodeInfoEmitter/skipped-nodes.td
    M llvm/utils/TableGen/Basic/IntrinsicEmitter.cpp
    M llvm/utils/TableGen/OptionParserEmitter.cpp
    M llvm/utils/TableGen/SDNodeInfoEmitter.cpp

  Log Message:
  -----------
  [StrTable] Switch intrinsics to StringTable and work around MSVC (#123548)

Historically, the main example of *very* large string tables used the
`EmitCharArray` to work around MSVC limitations with string literals,
but that was switched (without removing the API) in order to consolidate
on a nicer emission primitive.

While this large string table in `IntrinsicsImpl.inc` seems to compile
correctly on MSVC without the work around in `EmitCharArray` (and that
this PR adds back to the nicer emission path), other users have
repeatedly hit this MSVC limitation as you can see in the discussion on
PR https://github.com/llvm/llvm-project/pull/120534. This PR teaches the
string offset table emission to look at
the size of the table and switch to the char array emission strategy
when the table becomes too large.

This work around does have the downside of making compile times worse
for large string tables, but that appears unavoidable until we can
identify known good MSVC versions and switch to requiring them for all
LLVM users. It also reduces searchability of the generated string table
-- I looked at emitting a comment with each string but it is tricky
because the escaping rules for an inline comment are different from
those of of a string literal, and there's no real way to turn the string
literal into a comment.

While improving the output in this way, also clean up the output to not
emit an extraneous empty string at the end of the string table, and
update the `StringTable` class to not look for that. It isn't actually
used by anything and is wasteful.

This PR also switches the `IntrinsicsImpl.inc` string tables over to the
new `StringTable` runtime abstraction. I didn't want to do this until
landing the MSVC workaround in case it caused even this example to start
hitting the MSVC bug, but I wanted to switch here so that I could
simplify the API for emitting the string table with the workaround
present. With the two different emission strategies, its important to
use a very exact syntax and that seems better encapsulated in the API.

Last but not least, the `SDNodeInfoEmitter` is updated, including its
tests to match the new output.

This PR should unblock landing
https://github.com/llvm/llvm-project/pull/120534 and letting us switch
all of
Clang's builtins to use string tables. That PR has all the details
motivating the overall effort.

Follow-up patches will try to consolidate the remaining users onto the
single interface, but those at least were easy to separate into
follow-ups and keep this PR somewhat smaller.


  Commit: f76f534e8c81c01d7ee2c8ab36cb28b9542531ca
      https://github.com/llvm/llvm-project/commit/f76f534e8c81c01d7ee2c8ab36cb28b9542531ca
  Author: Durgadoss R <durgadossr at nvidia.com>
  Date:   2025-01-28 (Tue, 28 Jan 2025)

  Changed paths:
    M llvm/test/lit.cfg.py

  Log Message:
  -----------
  [NVPTX][Script] Update lit.cfg.py (#124395)

This patch updates lit.cfg.py to include
the latest ptxas executable versions upto
12.8.

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


  Commit: 458542f454cdb769801f0b6459405b429503e00a
      https://github.com/llvm/llvm-project/commit/458542f454cdb769801f0b6459405b429503e00a
  Author: Adam Siemieniuk <adam.siemieniuk at intel.com>
  Date:   2025-01-28 (Tue, 28 Jan 2025)

  Changed paths:
    M mlir/lib/Dialect/Linalg/IR/LinalgOps.cpp
    M mlir/test/Dialect/Linalg/invalid.mlir

  Log Message:
  -----------
  [mlir][linalg] Relax structured op region filler check (#123741)

Removes assert on output type from structure op region filler to allow
more graceful error handling.


  Commit: 1295aa2e814d1747d69520e34e2c5fb2888e666d
      https://github.com/llvm/llvm-project/commit/1295aa2e814d1747d69520e34e2c5fb2888e666d
  Author: Nikita Popov <npopov at redhat.com>
  Date:   2025-01-28 (Tue, 28 Jan 2025)

  Changed paths:
    M clang/docs/ReleaseNotes.rst
    M clang/include/clang/Basic/LangOptions.def
    M clang/include/clang/Driver/Options.td
    M clang/lib/CodeGen/CGBuiltin.cpp
    M clang/lib/CodeGen/CGExpr.cpp
    M clang/lib/CodeGen/CGExprScalar.cpp
    M clang/lib/Driver/SanitizerArgs.cpp
    M clang/lib/Driver/ToolChains/CommonArgs.cpp
    M clang/lib/Frontend/CompilerInvocation.cpp
    M clang/lib/Sema/SemaExpr.cpp
    M clang/test/CodeGen/integer-overflow.c
    A clang/test/CodeGen/pointer-overflow.c
    M clang/test/Driver/clang_wrapv_opts.c
    M clang/test/Sema/tautological-pointer-comparison.c

  Log Message:
  -----------
  [Clang] Add -fwrapv-pointer flag (#122486)

GCC supports three flags related to overflow behavior:
 * `-fwrapv`: Makes signed integer overflow well-defined.
 * `-fwrapv-pointer`: Makes pointer overflow well-defined.
* `-fno-strict-overflow`: Implies `-fwrapv -fwrapv-pointer`, making both
signed integer overflow and pointer overflow well-defined.

Clang currently only supports `-fno-strict-overflow` and `-fwrapv`, but
not `-fwrapv-pointer`.

This PR proposes to introduce `-fwrapv-pointer` and adjust the semantics
of `-fwrapv` to match GCC.

This allows signed integer overflow and pointer overflow to be
controlled independently, while `-fno-strict-overflow` still exists to
control both at the same time (and that option is consistent across GCC
and Clang).


  Commit: 0f61558b97aab16fedd38648f88377ff3f860e06
      https://github.com/llvm/llvm-project/commit/0f61558b97aab16fedd38648f88377ff3f860e06
  Author: David Sherwood <david.sherwood at arm.com>
  Date:   2025-01-28 (Tue, 28 Jan 2025)

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

  Log Message:
  -----------
  [LoopVectorize][NFC] Remove unused variable in addUsersInExitBlocks (#124553)

We were allocating a VPTypeAnalysis object on the stack,
but never using it for anything.


  Commit: 4a00c84fbb74e6bc3e010d9046324488cd612ad4
      https://github.com/llvm/llvm-project/commit/4a00c84fbb74e6bc3e010d9046324488cd612ad4
  Author: Csanád Hajdú <csanad.hajdu at arm.com>
  Date:   2025-01-28 (Tue, 28 Jan 2025)

  Changed paths:
    M llvm/lib/Target/AArch64/AArch64ISelDAGToDAG.cpp
    A llvm/test/CodeGen/AArch64/arm64-prefetch-addrmode.ll

  Log Message:
  -----------
  [AArch64] Allow register offset addressing mode for prefetch (#124534)

Previously instruction selection failed to generate PRFM instructions
with register offsets because `AArch64ISD::PREFETCH` is not a
`MemSDNode`.


  Commit: cfc8ef0ad8f70be22b44a8e1b56856795eb18282
      https://github.com/llvm/llvm-project/commit/cfc8ef0ad8f70be22b44a8e1b56856795eb18282
  Author: Fraser Cormack <fraser at codeplay.com>
  Date:   2025-01-28 (Tue, 28 Jan 2025)

  Changed paths:
    A libclc/clc/include/clc/math/clc_copysign.h
    A libclc/clc/include/clc/shared/binary_def.inc
    M libclc/clc/lib/clspv/SOURCES
    M libclc/clc/lib/generic/SOURCES
    A libclc/clc/lib/generic/math/clc_copysign.cl
    M libclc/clc/lib/spirv/SOURCES
    M libclc/clc/lib/spirv64/SOURCES
    M libclc/generic/lib/math/copysign.cl

  Log Message:
  -----------
  [libclc] Move copysign to CLC library; fix & optimize (#124598)

This commit moves the implementation of the copysign builtin to the CLC
library.

It simultaneously optimizes it for vector types by avoiding
scalarization. It does so by using the __builtin_elementwise_copysign
clang builtins, which can handle vector types.

It also fixes a bug in the half/fp16 implementation of the builtin. This
version was using an incorrect mask (0x7FFFF instead of 0x7FFF) and was
thus preserving the original sign bit, rather than masking it out.


  Commit: 9c92824dd63852f3e1145b383d7e6a0cdf1bb97d
      https://github.com/llvm/llvm-project/commit/9c92824dd63852f3e1145b383d7e6a0cdf1bb97d
  Author: Brad Smith <brad at comstyle.com>
  Date:   2025-01-28 (Tue, 28 Jan 2025)

  Changed paths:
    M libcxx/src/system_error.cpp

  Log Message:
  -----------
  [libc++] Remove Android header no longer in use (#124691)

929f159777bec47c80a3b302f190261d426e1c3b removed the use of
`__ANDROID_API__`


  Commit: de4bbbfdccb6172c563b07889ecfb06bc4974a7e
      https://github.com/llvm/llvm-project/commit/de4bbbfdccb6172c563b07889ecfb06bc4974a7e
  Author: SivanShani-Arm <sivan.shani at arm.com>
  Date:   2025-01-28 (Tue, 28 Jan 2025)

  Changed paths:
    M llvm/include/llvm/Support/AArch64BuildAttributes.h
    M llvm/lib/Support/AArch64BuildAttributes.cpp
    A llvm/lib/Support/ARMBuildAttributes.cpp
    R llvm/lib/Support/ARMBuildAttrs.cpp
    M llvm/lib/Support/CMakeLists.txt
    M llvm/lib/Target/AArch64/AArch64AsmPrinter.cpp
    M llvm/lib/Target/AArch64/AsmParser/AArch64AsmParser.cpp
    M llvm/lib/Target/AArch64/MCTargetDesc/AArch64ELFStreamer.cpp
    M llvm/lib/Target/AArch64/MCTargetDesc/AArch64TargetStreamer.cpp
    M llvm/lib/Target/AArch64/MCTargetDesc/AArch64TargetStreamer.h

  Log Message:
  -----------
  [Build Attributes] Standardize names according to convention. (#124556)

The de-facto convention for build attributes file and class names seems
to be 'Attrs' in the class name and 'Attributes' in the file name.

Accordingly, change file ARMBuildAttrs.cpp -> ARMBuildAttributes.cpp And
class AArch64BuildAttrs --> AArch64BuildAttributes


  Commit: d69b785733554f31d6538bbd6faaa2f018dd320e
      https://github.com/llvm/llvm-project/commit/d69b785733554f31d6538bbd6faaa2f018dd320e
  Author: NAKAMURA Takumi <geek4civic at gmail.com>
  Date:   2025-01-28 (Tue, 28 Jan 2025)

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

  Log Message:
  -----------
  [bazel] Add Builtins for #122873(NVPTX) and #123460(Hexagon)


  Commit: 8fe7860610e3ff699831e11e4d57e38a198c40e8
      https://github.com/llvm/llvm-project/commit/8fe7860610e3ff699831e11e4d57e38a198c40e8
  Author: Ramkumar Ramachandra <ramkumar.ramachandra at codasip.com>
  Date:   2025-01-28 (Tue, 28 Jan 2025)

  Changed paths:
    M llvm/test/Analysis/LoopAccessAnalysis/invariant-dependence-before.ll

  Log Message:
  -----------
  LAA/test: cover invariant stores with unit stride (#124586)

LoopAccessAnalysis is missing coverage of the special-case of invariant
stores with unit stride. It was previously determined that
stride-versioning for stores is not profitable, but test coverage is
missing. Fix this.


  Commit: 71ab44a8193c56e4ef9aede4d9bac8e14760c6c6
      https://github.com/llvm/llvm-project/commit/71ab44a8193c56e4ef9aede4d9bac8e14760c6c6
  Author: Wolfgang Pieb <wolfgang.pieb at sony.com>
  Date:   2025-01-28 (Tue, 28 Jan 2025)

  Changed paths:
    M clang/docs/ReleaseNotes.rst
    M clang/include/clang/Basic/CodeGenOptions.def
    M clang/include/clang/Basic/CodeGenOptions.h
    M clang/include/clang/Driver/Options.td
    M clang/lib/Driver/ToolChains/Clang.cpp
    A clang/test/Driver/extend-variable-liveness.c

  Log Message:
  -----------
  [Clang] Add "extend lifetime" flags and release note (#110000)

Following the commit that added the fake use intrinsic to LLVM, this patch
adds a pair of flags for the clang frontend that emit fake use intrinsics,
for the purpose of extending the lifetime of variables (either all source
variables, or just the `this` pointer). This patch does not implement the
fake use intrinsic emission of the flags themselves, it simply adds the flags,
the corresponding release note, and the attachment of the `has_fake_uses`
attribute to affected functions; the remaining functionality appears in the
next patch.

Co-authored-by: Stephen Tozer <stephen.tozer at sony.com>


  Commit: 7cd6f85578147573af63dffe74e14fa7713ba18e
      https://github.com/llvm/llvm-project/commit/7cd6f85578147573af63dffe74e14fa7713ba18e
  Author: Akshat Oke <Akshat.Oke at amd.com>
  Date:   2025-01-28 (Tue, 28 Jan 2025)

  Changed paths:
    M llvm/lib/CodeGen/RegisterCoalescer.cpp
    M llvm/lib/CodeGen/RegisterCoalescer.h

  Log Message:
  -----------
  [CodeGen][NFC] Format RegisterCoalescer sources (#124697)


  Commit: 0165e3346fdb1a3f51352821227d6ff1af5aee59
      https://github.com/llvm/llvm-project/commit/0165e3346fdb1a3f51352821227d6ff1af5aee59
  Author: Bushev Dmitry <111585886+dybv-sc at users.noreply.github.com>
  Date:   2025-01-28 (Tue, 28 Jan 2025)

  Changed paths:
    M llvm/include/llvm/Object/SymbolicFile.h
    M llvm/unittests/Object/SymbolicFileTest.cpp

  Log Message:
  -----------
  [llvm][Object] Add missing const qualifier for value_type in content_iterator (#124106)

value_type was defined as non-const for content_iterator, although it's
methods returned a const pointers/references. This prevented it from
using in some algorithms from STLExtras.h


  Commit: b29bf3de051bfc696a266367102a9b68b0cabfe1
      https://github.com/llvm/llvm-project/commit/b29bf3de051bfc696a266367102a9b68b0cabfe1
  Author: David Spickett <david.spickett at linaro.org>
  Date:   2025-01-28 (Tue, 28 Jan 2025)

  Changed paths:
    M llvm/docs/ReleaseNotes.md

  Log Message:
  -----------
  [llvm][Docs] Re-order the LLDB release notes

To put generic changes first, moving into target specific changes
at the end.


  Commit: cdea38f91afcae93cc2a552cd96c41d8d3ab2ad6
      https://github.com/llvm/llvm-project/commit/cdea38f91afcae93cc2a552cd96c41d8d3ab2ad6
  Author: Nicholas Guy <nicholas.guy at arm.com>
  Date:   2025-01-28 (Tue, 28 Jan 2025)

  Changed paths:
    M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
    M llvm/lib/Transforms/Vectorize/VPRecipeBuilder.h
    M llvm/lib/Transforms/Vectorize/VPlan.h
    A llvm/test/Transforms/LoopVectorize/AArch64/partial-reduce-chained.ll

  Log Message:
  -----------
  Reland "[LoopVectorizer] Add support for chaining partial reductions #120272" (#124282)

Change `getScaledReduction` to take an existing vector, rather than
creating and returning a new one each call.
Rename `getScaledReduction` to `getScaledReductions` to more accurately
reflect what it's now doing.

---------

Co-authored-by: Karlo Basioli <68535415+basioli-k at users.noreply.github.com>


  Commit: 2c934dc5e1a3ef7b717400f27d6b9ea21f4e20a0
      https://github.com/llvm/llvm-project/commit/2c934dc5e1a3ef7b717400f27d6b9ea21f4e20a0
  Author: Timm Baeder <tbaeder at redhat.com>
  Date:   2025-01-28 (Tue, 28 Jan 2025)

  Changed paths:
    M clang/lib/AST/ByteCode/Context.cpp
    M clang/test/AST/ByteCode/cxx2a.cpp

  Log Message:
  -----------
  [clang][bytecode] Always compile most recent function decl (#124722)


  Commit: db6fa74dfea30c025e5d4c30ca4e31e20b69b04d
      https://github.com/llvm/llvm-project/commit/db6fa74dfea30c025e5d4c30ca4e31e20b69b04d
  Author: Momchil Velikov <momchil.velikov at arm.com>
  Date:   2025-01-28 (Tue, 28 Jan 2025)

  Changed paths:
    M clang/include/clang/Basic/arm_neon.td
    A clang/test/CodeGen/AArch64/fp8-intrinsics/acle_neon_fp8_reinterpret.c
    M clang/utils/TableGen/NeonEmitter.cpp

  Log Message:
  -----------
  [AArch64] Implement FP8 Neon reinterpret intrinsics (#120476)


  Commit: 97aa56ada5d25803112901ff06764975506ce7a6
      https://github.com/llvm/llvm-project/commit/97aa56ada5d25803112901ff06764975506ce7a6
  Author: Jacek Caban <jacek at codeweavers.com>
  Date:   2025-01-28 (Tue, 28 Jan 2025)

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

  Log Message:
  -----------
  [LLD][COFF] Move delayLoadHelper and tailMergeUnwindInfoChunk to SymbolTable (NFC) (#124729)

In preparation for ARM64X delay-load import support (#124600).


  Commit: 8017ca1d0056907331ff7542ac9ff1ff5ec969a2
      https://github.com/llvm/llvm-project/commit/8017ca1d0056907331ff7542ac9ff1ff5ec969a2
  Author: Cullen Rhodes <cullen.rhodes at arm.com>
  Date:   2025-01-28 (Tue, 28 Jan 2025)

  Changed paths:
    M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
    M llvm/test/CodeGen/AArch64/const-shift-of-constmasked.ll
    M llvm/test/CodeGen/AArch64/extract-bits.ll
    M llvm/test/CodeGen/AArch64/fpenv.ll
    M llvm/test/CodeGen/AArch64/xbfiz.ll

  Log Message:
  -----------
  Reapply "[AArch64] Combine and and lsl into ubfiz" (#123356) (#124576)

Patch was reverted due to test case (added) exposing an infinite loop in
combiner, where (shl C1, C2) create by performSHLCombine isn't
constant-folded:

  Combining: t14: i64 = shl t12, Constant:i64<1>
Creating new node: t36: i64 = shl
OpaqueConstant:i64<-2401053089408754003>, Constant:i64<1>
  Creating new node: t37: i64 = shl t6, Constant:i64<1>
  Creating new node: t38: i64 = and t37, t36
   ... into: t38: i64 = and t37, t36
  ...
  Combining: t38: i64 = and t37, t36
Creating new node: t39: i64 = and t6,
OpaqueConstant:i64<-2401053089408754003>
  Creating new node: t40: i64 = shl t39, Constant:i64<1>
   ... into: t40: i64 = shl t39, Constant:i64<1>

and subsequently gets simplified by DAGCombiner::visitAND:

  // Simplify: (and (op x...), (op y...))  -> (op (and x, y))
  if (N0.getOpcode() == N1.getOpcode())
    if (SDValue V = hoistLogicOpWithSameOpcodeHands(N))
      return V;

before being folded by performSHLCombine once again and so on.

The combine in performSHLCombine should only be done if (shl C1, C2) can
be constant-folded, it may otherwise be unsafe and generally have a
worse end result. Thanks to Dave Sherwood for his insight on this one.

This reverts commit f719771f251d7c30eca448133fe85730f19a6bd1.


  Commit: 65f81df473904d2df2b9eaa91ff4fcbe69f8fb00
      https://github.com/llvm/llvm-project/commit/65f81df473904d2df2b9eaa91ff4fcbe69f8fb00
  Author: Jeremy Morse <jeremy.morse at sony.com>
  Date:   2025-01-28 (Tue, 28 Jan 2025)

  Changed paths:
    M llvm/docs/RemoveDIsDebugInfo.md

  Log Message:
  -----------
  [Docs][DebugInfo] Summarise what people need to do for RemoveDIs now (#124725)

Replace the "what I need to do" section of the RemoveDIs docs with a
paragraph about preserving start-of-block iterators. Hopefully this is
concise enough to remain in peoples heads going forwards!


  Commit: 75aa5a35568b9e0b3eabd1e7f991a6a0f5525e0c
      https://github.com/llvm/llvm-project/commit/75aa5a35568b9e0b3eabd1e7f991a6a0f5525e0c
  Author: David Spickett <david.spickett at linaro.org>
  Date:   2025-01-28 (Tue, 28 Jan 2025)

  Changed paths:
    M lldb/source/Plugins/Process/elf-core/RegisterContextPOSIXCore_arm64.cpp
    M lldb/source/Plugins/Process/elf-core/RegisterContextPOSIXCore_arm64.h
    M lldb/source/Plugins/Process/elf-core/RegisterUtilities.h
    M lldb/test/API/linux/aarch64/gcs/TestAArch64LinuxGCS.py
    A lldb/test/API/linux/aarch64/gcs/corefile

  Log Message:
  -----------
  [lldb][AArch64] Add Guarded Control Stack support for Linux core files (#124293)

This allows you to read the same registers as you would for a live
process.

As the content of proc/pid/smaps is not included in the core file, we
don't get the "ss" marker that tell us that it is shadow stack. The GCS
region is still in the list though.


  Commit: 7f845cba2ccc2ab637b8e40fbafb9f83a2d67c70
      https://github.com/llvm/llvm-project/commit/7f845cba2ccc2ab637b8e40fbafb9f83a2d67c70
  Author: Nikolas Klauser <nikolasklauser at berlin.de>
  Date:   2025-01-28 (Tue, 28 Jan 2025)

  Changed paths:
    M .github/workflows/libcxx-build-and-test.yaml
    M libcxx/include/__configuration/compiler.h
    M libcxx/include/__cxx03/__memory/uninitialized_algorithms.h
    M libcxx/include/__type_traits/promote.h
    M libcxx/src/experimental/time_zone.cpp
    M libcxx/test/libcxx/atomics/diagnose_invalid_memory_order.verify.cpp
    M libcxx/test/libcxx/clang_tidy.gen.py
    M libcxx/test/libcxx/gdb/gdb_pretty_printer_test.sh.cpp
    M libcxx/test/libcxx/ranges/range.adaptors/range.lazy.split/no_unique_address.compile.pass.cpp
    M libcxx/test/libcxx/ranges/range.adaptors/range.split/no_unique_address.compile.pass.cpp
    M libcxx/test/libcxx/ranges/range.factories/range.istream.view/no_unique_address.compile.pass.cpp
    M libcxx/test/std/atomics/atomics.types.generic/atomics.types.float/fetch_add.pass.cpp
    M libcxx/test/std/atomics/atomics.types.generic/atomics.types.float/fetch_sub.pass.cpp
    M libcxx/test/std/atomics/atomics.types.generic/atomics.types.float/operator.minus_equals.pass.cpp
    M libcxx/test/std/atomics/atomics.types.generic/atomics.types.float/operator.plus_equals.pass.cpp
    M libcxx/test/std/containers/views/mdspan/mdspan/index_operator.pass.cpp
    M libcxx/test/std/containers/views/views.span/span.cons/array.pass.cpp
    M libcxx/test/std/experimental/simd/simd.class/simd_copy.pass.cpp
    M libcxx/test/std/experimental/simd/simd.class/simd_unary.pass.cpp
    M libcxx/test/std/language.support/support.dynamic/new.delete/new.delete.array/sized_delete_array.pass.cpp
    M libcxx/test/std/language.support/support.dynamic/new.delete/new.delete.single/sized_delete.pass.cpp
    M libcxx/test/std/numerics/c.math/signbit.pass.cpp
    M libcxx/test/std/utilities/expected/expected.expected/ctor/ctor.copy.pass.cpp
    M libcxx/test/std/utilities/format/format.arguments/format.arg/visit.pass.cpp
    M libcxx/test/std/utilities/format/format.arguments/format.arg/visit.return_type.pass.cpp
    M libcxx/test/std/utilities/format/format.arguments/format.arg/visit_format_arg.deprecated.verify.cpp
    M libcxx/test/std/utilities/meta/meta.rel/is_virtual_base_of.pass.cpp
    M libcxx/test/std/utilities/meta/meta.unary/meta.unary.prop/is_implicit_lifetime.pass.cpp
    M libcxx/test/std/utilities/meta/meta.unary/meta.unary.prop/is_implicit_lifetime.verify.cpp
    M libcxx/test/std/utilities/utility/pairs/pairs.pair/nttp.equivalence.compile.pass.cpp
    M libcxx/test/std/utilities/utility/pairs/pairs.pair/nttp.verify.cpp
    M libcxx/test/std/utilities/variant/variant.visit.member/robust_against_adl.pass.cpp
    M libcxx/test/std/utilities/variant/variant.visit.member/visit.pass.cpp
    M libcxx/test/std/utilities/variant/variant.visit.member/visit_return_type.pass.cpp

  Log Message:
  -----------
  [libc++] Update the CI to Clang-20 and drop Clang-17 support (#117429)


  Commit: 304a99091c84f303ff5037dc6bf5455e4cfde7a1
      https://github.com/llvm/llvm-project/commit/304a99091c84f303ff5037dc6bf5455e4cfde7a1
  Author: Jeremy Morse <jeremy.morse at sony.com>
  Date:   2025-01-28 (Tue, 28 Jan 2025)

  Changed paths:
    M llvm/examples/IRTransforms/SimplifyCFG.cpp
    M llvm/lib/Analysis/Loads.cpp
    M llvm/lib/Target/SPIRV/SPIRVRegularizer.cpp
    M llvm/lib/Target/SPIRV/SPIRVStructurizer.cpp
    M llvm/lib/Transforms/InstCombine/InstCombineMulDivRem.cpp
    M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp

  Log Message:
  -----------
  [NFC][DebugInfo] Use iterators for insertion at some final callsites

These are the callsites that have materialised in the last three weeks
since I last built with deprecation warnings.


  Commit: 6d0dd3d5c41e5b564714de9226c0623012538051
      https://github.com/llvm/llvm-project/commit/6d0dd3d5c41e5b564714de9226c0623012538051
  Author: David Spickett <david.spickett at linaro.org>
  Date:   2025-01-28 (Tue, 28 Jan 2025)

  Changed paths:
    M lldb/docs/use/aarch64-linux.md

  Log Message:
  -----------
  [lldb][Docs] Add Guarded Control Stack to AArch64 Linux page (#117860)

The meat of this is how we execute expressions and deal with the
aftermath. For most users this will never be a concern, so it functions
more as a design doc than anything else.


  Commit: 1b551e76a2fec3a1ab7d36476ab99f2504e6f6c9
      https://github.com/llvm/llvm-project/commit/1b551e76a2fec3a1ab7d36476ab99f2504e6f6c9
  Author: Jacek Caban <jacek at codeweavers.com>
  Date:   2025-01-28 (Tue, 28 Jan 2025)

  Changed paths:
    M lld/COFF/DLL.cpp

  Log Message:
  -----------
  [LLD][COFF] Call setLocation on DelayAddressChunk when inserting into the addresses vector (NFC) (#124736)

This change prepares for ARM64X delay-load imports support (#124600).
Delaying the `setLocation` call is problematic on ARM64X because the
order of addresses may not align with the order of symbols.


  Commit: 83433d936195c612a51b54397f82ab0d97369d86
      https://github.com/llvm/llvm-project/commit/83433d936195c612a51b54397f82ab0d97369d86
  Author: Kareem Ergawy <kareem.ergawy at amd.com>
  Date:   2025-01-28 (Tue, 28 Jan 2025)

  Changed paths:
    M llvm/lib/Frontend/OpenMP/OMPIRBuilder.cpp
    A mlir/test/Target/LLVMIR/omptarget-nowait-host-only.mlir

  Log Message:
  -----------
  [OpenMP][IRBuilder] Handle `target ... nowait` when codegen targets host (#124720)

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

Handles the `nowait` clause for `omp.target` ops when the actual target
is the host (i.e. there is no target device). Rather than only checking
for the `HasNoWait` boolean, we also check for the presence/absence of a
`DeviceID` value. We only emit the target task if both are present.


  Commit: c5840cc609a3674cf7453a45946f7e4a2a73590b
      https://github.com/llvm/llvm-project/commit/c5840cc609a3674cf7453a45946f7e4a2a73590b
  Author: David Spickett <david.spickett at linaro.org>
  Date:   2025-01-28 (Tue, 28 Jan 2025)

  Changed paths:
    M lldb/source/Plugins/Process/Utility/RegisterFlagsDetector_arm64.cpp
    M lldb/source/Plugins/Process/Utility/RegisterFlagsDetector_arm64.h
    M lldb/test/API/linux/aarch64/gcs/TestAArch64LinuxGCS.py

  Log Message:
  -----------
  [lldb][AArch64] Add register fields for Guarded Control Stack registers (#124295)

The features and locked registers hold the same bits, the latter
is a lock for the former. Tested with core files and live processes.

I thought about setting a non-zero lock register in the core file,
however:
* We can be pretty sure it's reading correctly because its between
  the 2 other GCS registers in the same core file note.
* I can't make the test case modify lock bits because userspace
can't clear them (without using ptrace) and we don't know what the libc
has locked
  (probably all feature bits).


  Commit: 3a51466caf93b179f859175b7fe87018a2607e6c
      https://github.com/llvm/llvm-project/commit/3a51466caf93b179f859175b7fe87018a2607e6c
  Author: Jacek Caban <jacek at codeweavers.com>
  Date:   2025-01-28 (Tue, 28 Jan 2025)

  Changed paths:
    M lld/COFF/DLL.cpp
    A lld/test/COFF/arm64x-delayimport.test

  Log Message:
  -----------
  [LLD][COFF] Add support for delay-load imports on ARM64X (#124600)

For each imported module, emit null-terminated native import entries,
followed by null-terminated EC entries. If a view lacks imports for a
given module, only terminators are emitted. Use ARM64X relocations to
skip native entries in the EC view.

Move `delayLoadHelper` and `tailMergeUnwindInfoChunk` to `SymbolTable`
since they are different for each symbol table.


  Commit: 431024506c6f5597fe476e1283a08c9f8fa72ad7
      https://github.com/llvm/llvm-project/commit/431024506c6f5597fe476e1283a08c9f8fa72ad7
  Author: Jordan Rupprecht <rupprecht at google.com>
  Date:   2025-01-28 (Tue, 28 Jan 2025)

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

  Log Message:
  -----------
  [bazel] Remove DebugInfo files covered by more specific targets (#124138)

For example, `include/llvm/DebugInfo/DWARF/DWARFContext.h` is included
as part of both the generic "DebugInfo" target as well as the specific
"DebugInfoDWARF" target. It should only be in one. Tooling that manages
build dependencies should be more accurate now.


  Commit: a7f4044bd01919df2bf2204d203ee0378e2e9fb2
      https://github.com/llvm/llvm-project/commit/a7f4044bd01919df2bf2204d203ee0378e2e9fb2
  Author: Benjamin Maxwell <benjamin.maxwell at arm.com>
  Date:   2025-01-28 (Tue, 28 Jan 2025)

  Changed paths:
    M clang/include/clang/AST/Decl.h
    M clang/include/clang/Basic/DiagnosticSemaKinds.td
    M clang/lib/AST/Decl.cpp
    M clang/lib/Sema/SemaARM.cpp
    M clang/lib/Sema/SemaStmt.cpp
    A clang/test/Sema/aarch64-sme-attrs-openmp-captured-region.c

  Log Message:
  -----------
  [clang][SME] Emit error for OpenMP captured regions in SME functions (#124590)

Currently, these generate incorrect code, as streaming/SME attributes
are not propagated to the outlined function. As we've yet to work on
mixing OpenMP and streaming functions (and determine how they should
interact with OpenMP's runtime), we think it is best to disallow this
for now.


  Commit: 8353aa2a53b307bfeebb7f8592cc15bb00656c78
      https://github.com/llvm/llvm-project/commit/8353aa2a53b307bfeebb7f8592cc15bb00656c78
  Author: David Spickett <david.spickett at linaro.org>
  Date:   2025-01-28 (Tue, 28 Jan 2025)

  Changed paths:
    M llvm/docs/ReleaseNotes.md

  Log Message:
  -----------
  [llvm][Docs] Add LLDB AArch64 GCS Release note

https://github.com/llvm/llvm-project/pull/124295 just
went in and that's the last piece of functionality.


  Commit: 8ea018ce1de016a2923ebc48d39abc1c06cce41e
      https://github.com/llvm/llvm-project/commit/8ea018ce1de016a2923ebc48d39abc1c06cce41e
  Author: Pierre van Houtryve <pierre.vanhoutryve at amd.com>
  Date:   2025-01-28 (Tue, 28 Jan 2025)

  Changed paths:
    M llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp
    M llvm/test/CodeGen/AMDGPU/mmra.ll

  Log Message:
  -----------
  [DAGISel] Fix MMRA Handling in copyExtraInfo (#124730)

#78569 did not implement this correctly and an edge case breaks it by
triggering `Assertion `!Leafs.empty()' failed.`

Fixes SWDEV-507698


  Commit: 500a1834d92d701fea914ab5de10d82d6c90dbd9
      https://github.com/llvm/llvm-project/commit/500a1834d92d701fea914ab5de10d82d6c90dbd9
  Author: Luke Lau <luke at igalia.com>
  Date:   2025-01-28 (Tue, 28 Jan 2025)

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

  Log Message:
  -----------
  [RISCV][VLOPT] Fix some typos in vl-opt-op-info.mir test. NFC

vleN_v_incompatible_emul reassigns to %x and
vsuxeiN_v_idx_incompatible_eew has a dead instruction


  Commit: 4424c44c8c4ec8e071f5c5999fba216d36fb92c9
      https://github.com/llvm/llvm-project/commit/4424c44c8c4ec8e071f5c5999fba216d36fb92c9
  Author: Wolfgang Pieb <wolfgang.pieb at sony.com>
  Date:   2025-01-28 (Tue, 28 Jan 2025)

  Changed paths:
    M clang/lib/CodeGen/CGCall.cpp
    M clang/lib/CodeGen/CGCleanup.cpp
    M clang/lib/CodeGen/CGCleanup.h
    M clang/lib/CodeGen/CGDecl.cpp
    M clang/lib/CodeGen/CodeGenFunction.cpp
    M clang/lib/CodeGen/CodeGenFunction.h
    M clang/lib/CodeGen/CodeGenModule.h
    M clang/lib/CodeGen/EHScopeStack.h
    A clang/test/CodeGen/extend-variable-liveness-except.cpp
    A clang/test/CodeGen/extend-variable-liveness-wide-scalar.cpp
    A clang/test/CodeGen/extend-variable-liveness.c
    A clang/test/CodeGen/fake-use-determinism.c
    A clang/test/CodeGen/fake-use-lambda.cpp
    A clang/test/CodeGen/fake-use-landingpad.c
    A clang/test/CodeGen/fake-use-noreturn.cpp
    A clang/test/CodeGen/fake-use-return-line.c
    A clang/test/CodeGen/fake-use-sanitizer.cpp
    A clang/test/CodeGen/fake-use-scalar.c
    A clang/test/CodeGen/fake-use-this.cpp
    A clang/test/CodeGen/fake-use-while.c

  Log Message:
  -----------
  [Clang] Add fake use emission to Clang with -fextend-lifetimes (#110102)

Following the previous patch which adds the "extend lifetimes" flag
without (almost) any functionality, this patch adds the real feature by
allowing Clang to emit fake uses. These are emitted as a new form of cleanup,
set for variable addresses, which just emits a fake use intrinsic when the
variable falls out of scope. The code for achieving this is simple, with most
of the logic centered on determining whether to emit a fake use for a given
address, and on ensuring that fake uses are ignored in a few cases.

Co-authored-by: Stephen Tozer <stephen.tozer at sony.com>


  Commit: c0861e9cbbc3b342e49a8688cdc15aa7c8e9f29a
      https://github.com/llvm/llvm-project/commit/c0861e9cbbc3b342e49a8688cdc15aa7c8e9f29a
  Author: Muhammad Omair Javaid <omair.javaid at linaro.org>
  Date:   2025-01-28 (Tue, 28 Jan 2025)

  Changed paths:
    M flang/include/flang/Tools/TargetSetup.h
    M flang/runtime/exceptions.cpp

  Log Message:
  -----------
  Revert "[flang] IEEE underflow control for Arm (#124617)"

This reverts commit c4c76eabb88f8ee5b92fa9a84452875b0cb67d0d.

This breaks LLVM build on Windows:
https://lab.llvm.org/buildbot/#/builders/161/builds/4322


  Commit: e1b5826c2b9dafbdf627b2abbf0157ae12306657
      https://github.com/llvm/llvm-project/commit/e1b5826c2b9dafbdf627b2abbf0157ae12306657
  Author: Mészáros Gergely <gergely.meszaros at intel.com>
  Date:   2025-01-28 (Tue, 28 Jan 2025)

  Changed paths:
    M llvm/cmake/modules/HandleLLVMOptions.cmake

  Log Message:
  -----------
  [LLVM][CMake][MSVC] Wrap linker options for ICX with LLVM_BUILD_INSTUMENTED (#124573)

RFC:
https://discourse.llvm.org/t/rfc-cmake-linker-flags-need-wl-equivalent-for-intel-c-icx-on-windows/82446

The Intel C++ Compiler (ICX) passes linker flags through the driver
unlike MSVC and clang-cl, and therefore needs them to be prefixed with
`/Qoption,link` (the equivalent of `-Wl,` for gcc on *nix).

Previous PRs did not catch this because I did not try building with
`LLVM_BUILD_INSTRUMENTED=ON`.
`CMAKE_CXX_LINKER_WRAPPER_FLAG` is empty for plain clang-cl (icx on
windows behaves as clang-cl), so this is NFC for clang-cl.


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

  Changed paths:
    M flang/lib/Optimizer/CodeGen/CodeGen.cpp
    M flang/lib/Optimizer/Transforms/AddDebugInfo.cpp
    A flang/test/Integration/debug-common-block-1.f90
    A flang/test/Transforms/debug-common-block.fir
    M flang/test/Transforms/debug-module-1.fir
    M flang/test/Transforms/debug-module-2.fir

  Log Message:
  -----------
  [flang][debug] Add support for common blocks. (#112398)

This PR adds debug support for common block in flang. As variable which
are part of a common block don't have a special marker to recognize
them, we use the following check to find them.

%0 = fir.address_of(@a)
%1 = fir.convert %0
%2 = fir.coordinate_of %1, %c0
%3 = fir.convert %2
%4 = fircg.ext_declare %3

If the memref of a fircg.ext_declare points to a fir.coordinate_of and
that in turn points to an fir.address_of (ignoring immediate
fir.convert) then we assume that it is a common block variable. The
fir.address_of gives us the global symbol which is the storage for
common block and fir.coordinate_of provides the offset in this storage.

The debug hierarchy looks like as

subroutine f3
  integer :: x, y
  common /a/ x, y
end subroutine

@a_ = global { ... } { ... }, !dbg !26, !dbg !28

!23 = !DISubprogram(name: "f3"...)
!24 = !DICommonBlock(scope: !23, name: "a", ...)
!25 = !DIGlobalVariable(name: "x", scope: !24 ...)
!26 = !DIGlobalVariableExpression(var: !25, expr: !DIExpression())
!27 = !DIGlobalVariable(name: "y", scope: !24 ...)
!28 = !DIGlobalVariableExpression(var: !27, expr:
!DIExpression(DW_OP_plus_uconst, 4))

This required following changes:

1. Instead of using DIGlobalVariableAttr in the FusedLoc of GlobalOp, we
use DIGlobalVariableExpressionAttr. This allows us the generate the
DIExpression where we have the information.

2. Previously, only one DIGlobalVariableExpressionAttr could be linked
to one global op. I recently removed this restriction in mlir. To make
use of it, we add an ArrayAttr to the FusedLoc of a GlobalOp. This
allows us to pass multiple DIGlobalVariableExpressionAttr.

3. I was depending on the name of global for the name of the common
block. The name gets a '_' appended. I could not find a utility function
in flang to remove it so I have to brute force it.


  Commit: 62c16d82194f4c209fe9431deddf302827d37fb4
      https://github.com/llvm/llvm-project/commit/62c16d82194f4c209fe9431deddf302827d37fb4
  Author: Alex Bradbury <asb at igalia.com>
  Date:   2025-01-28 (Tue, 28 Jan 2025)

  Changed paths:
    A llvm/test/ExecutionEngine/MCJIT/fma3-jit.ll
    A llvm/test/ExecutionEngine/MCJIT/frem.ll
    A llvm/test/ExecutionEngine/MCJIT/mov64zext32.ll
    A llvm/test/ExecutionEngine/MCJIT/test-interp-vec-arithm_float.ll
    A llvm/test/ExecutionEngine/MCJIT/test-interp-vec-arithm_int.ll
    A llvm/test/ExecutionEngine/MCJIT/test-interp-vec-logical.ll
    A llvm/test/ExecutionEngine/MCJIT/test-interp-vec-setcond-fp.ll
    A llvm/test/ExecutionEngine/MCJIT/test-interp-vec-setcond-int.ll
    R llvm/test/ExecutionEngine/fma3-jit.ll
    R llvm/test/ExecutionEngine/frem.ll
    R llvm/test/ExecutionEngine/mov64zext32.ll
    R llvm/test/ExecutionEngine/test-interp-vec-arithm_float.ll
    R llvm/test/ExecutionEngine/test-interp-vec-arithm_int.ll
    R llvm/test/ExecutionEngine/test-interp-vec-logical.ll
    R llvm/test/ExecutionEngine/test-interp-vec-setcond-fp.ll
    R llvm/test/ExecutionEngine/test-interp-vec-setcond-int.ll

  Log Message:
  -----------
  [MCJIT][test] Move MCJIT non-interpreter tests to MCJIT subdirectory (#124463)

Moving to the MCJIT subdirectory means they can be gated by a common
lit.local.cfg. I remove the `; UNSUPPORTED: target=loongarch{{.*}}`
lines because of this (as the logic in `MCJIT/lit.local.cfg` should be
sufficient).

The move is motivated by my desire to enable more of these tests for
RISCV, and it seems like it would be wrong to keep extending the
`UNSUPPORTED` lines for these individual tests.

This patch does not move the MCJIT tests in the top-level directory that
do `-force-interpreter=true`.


  Commit: 8ad9e1ecb7e565c2f99b4ef67517d1f37d1c80d0
      https://github.com/llvm/llvm-project/commit/8ad9e1ecb7e565c2f99b4ef67517d1f37d1c80d0
  Author: Stephen Tozer <Stephen.Tozer at sony.com>
  Date:   2025-01-28 (Tue, 28 Jan 2025)

  Changed paths:
    M clang/lib/CodeGen/CGDecl.cpp
    M clang/test/CodeGen/fake-use-sanitizer.cpp

  Log Message:
  -----------
  [Clang] Fix use of deprecated method and missing triple

Fixes two buildbot errors caused by 4424c44c (#110102):

The first error, seen on some sanitizer bots:
https://lab.llvm.org/buildbot/#/builders/51/builds/9901

The initial commit used the deprecated getDeclaration intrinsic instead
of the non-deprecated getOrInsert- equivalent. This patch trivially
updates the code in question to use the new intrinsic.

The second error, seen on the clang-armv8-quick bot:
https://lab.llvm.org/buildbot/#/builders/154/builds/10983

One of the tests depends on a particular triple to get the exact output
expected by the test, but did not specify this triple; this patch adds
the triple in question.


  Commit: 606cf887416ba2f136f3104ac12469fc81f73968
      https://github.com/llvm/llvm-project/commit/606cf887416ba2f136f3104ac12469fc81f73968
  Author: Alex Bradbury <asb at igalia.com>
  Date:   2025-01-28 (Tue, 28 Jan 2025)

  Changed paths:
    M llvm/test/ExecutionEngine/lit.local.cfg

  Log Message:
  -----------
  [ExecutionEngine][test][RISCV] Don't mark RISCV as unsupported (#124464)

Although MCJIT is unsupported, we can and should be running the other
tests. Stacks on top of #124463 (needed to avoid unsupported MCJIT tests
in the top-level test/ExecutionEngine directory running when they
shouldn't).

This effectively reverts b8feeba0b407e703385738af7e415d0c8972a420.

ninja check-llvm-executionengine before:
Total Discovered Tests: 335
  Unsupported: 335 (100.00%)

ninja check-llvm-executionengine after:
Total Discovered Tests: 335
  Unsupported      : 125 (37.31%)
  Passed           : 209 (62.39%)
  Expectedly Failed:   1 (0.30%)


  Commit: 015aed18ee357ee6db4e72cba2e65aeaafa333c9
      https://github.com/llvm/llvm-project/commit/015aed18ee357ee6db4e72cba2e65aeaafa333c9
  Author: abhishek-kaushik22 <abhishek.kaushik at intel.com>
  Date:   2025-01-28 (Tue, 28 Jan 2025)

  Changed paths:
    M llvm/lib/CodeGen/SelectionDAG/LegalizeVectorTypes.cpp
    A llvm/test/CodeGen/X86/pr124255.ll

  Log Message:
  -----------
  [SelectionDAG] WidenVecOp_INSERT_SUBVECTOR - Replace `INSERT_SUBVECTOR` with series of `INSERT_VECTOR_ELT` (#124420)

If the operands to `INSERT_SUBVECTOR` can't be widened legally, just
replace the `INSERT_SUBVECTOR` with a series of `INSERT_VECTOR_ELT`.

Closes #124255 (and possibly #102016)


  Commit: 13dcc95dcd4999ff99f2de89d881f1aed5b21709
      https://github.com/llvm/llvm-project/commit/13dcc95dcd4999ff99f2de89d881f1aed5b21709
  Author: Joseph Huber <huberjn at outlook.com>
  Date:   2025-01-28 (Tue, 28 Jan 2025)

  Changed paths:
    M clang/lib/CodeGen/CGCUDANV.cpp
    M clang/test/CodeGenCUDA/offloading-entries.cu
    M clang/test/Driver/linker-wrapper-image.c
    M clang/test/OpenMP/declare_mapper_codegen.cpp
    M clang/test/OpenMP/declare_target_codegen.cpp
    M clang/test/OpenMP/declare_target_link_codegen.cpp
    M clang/test/OpenMP/nvptx_target_requires_unified_shared_memory.cpp
    M clang/test/OpenMP/openmp_offload_registration.cpp
    M clang/test/OpenMP/target_codegen.cpp
    M clang/test/OpenMP/target_codegen_registration.cpp
    M clang/test/OpenMP/target_depend_codegen.cpp
    M clang/test/OpenMP/target_indirect_codegen.cpp
    M clang/test/OpenMP/target_parallel_codegen_registration.cpp
    M clang/test/OpenMP/target_parallel_depend_codegen.cpp
    M clang/test/OpenMP/target_parallel_for_codegen_registration.cpp
    M clang/test/OpenMP/target_parallel_for_depend_codegen.cpp
    M clang/test/OpenMP/target_parallel_for_simd_codegen_registration.cpp
    M clang/test/OpenMP/target_parallel_for_simd_depend_codegen.cpp
    M clang/test/OpenMP/target_simd_codegen.cpp
    M clang/test/OpenMP/target_simd_codegen_registration.cpp
    M clang/test/OpenMP/target_simd_depend_codegen.cpp
    M clang/test/OpenMP/target_teams_codegen_registration.cpp
    M clang/test/OpenMP/target_teams_depend_codegen.cpp
    M clang/test/OpenMP/target_teams_distribute_codegen_registration.cpp
    M clang/test/OpenMP/target_teams_distribute_depend_codegen.cpp
    M clang/test/OpenMP/target_teams_distribute_parallel_for_depend_codegen.cpp
    M clang/test/OpenMP/target_teams_distribute_parallel_for_simd_codegen_registration.cpp
    M clang/test/OpenMP/target_teams_distribute_parallel_for_simd_depend_codegen.cpp
    M clang/test/OpenMP/target_teams_distribute_simd_codegen_registration.cpp
    M clang/test/OpenMP/target_teams_distribute_simd_depend_codegen.cpp
    M llvm/include/llvm/Frontend/Offloading/Utility.h
    M llvm/lib/Frontend/Offloading/OffloadWrapper.cpp
    M llvm/lib/Frontend/Offloading/Utility.cpp
    M llvm/lib/Frontend/OpenMP/OMPIRBuilder.cpp
    M mlir/test/Target/LLVMIR/omptarget-declare-target-llvm-host.mlir
    M offload/include/PluginManager.h
    M offload/src/PluginManager.cpp
    M offload/test/offloading/requires.c
    M offload/tools/kernelreplay/llvm-omp-kernel-replay.cpp
    M openmp/docs/ReleaseNotes.rst

  Log Message:
  -----------
  [Offload] Rework offloading entry type to be more generic (#124018)

Summary:
The previous offloading entry type did not fit the current use-cases
very well. This widens it and adds a version to prevent further
annoyances. It also includes the kind to better sort who's using it.

The first 64-bytes are reserved as zero so the OpenMP runtime can detect
the old format for binary compatibilitry.


  Commit: e84f6b6a88c1222d512edf0644c8f869dd12b8ef
      https://github.com/llvm/llvm-project/commit/e84f6b6a88c1222d512edf0644c8f869dd12b8ef
  Author: Luohao Wang <luohaothu at live.com>
  Date:   2025-01-28 (Tue, 28 Jan 2025)

  Changed paths:
    M mlir/include/mlir/Conversion/LLVMCommon/PrintCallHelper.h
    M mlir/include/mlir/Dialect/LLVMIR/FunctionCallUtils.h
    M mlir/lib/Conversion/AsyncToLLVM/AsyncToLLVM.cpp
    M mlir/lib/Conversion/ControlFlowToLLVM/ControlFlowToLLVM.cpp
    M mlir/lib/Conversion/LLVMCommon/Pattern.cpp
    M mlir/lib/Conversion/LLVMCommon/PrintCallHelper.cpp
    M mlir/lib/Conversion/MemRefToLLVM/AllocLikeConversion.cpp
    M mlir/lib/Conversion/MemRefToLLVM/MemRefToLLVM.cpp
    M mlir/lib/Conversion/VectorToLLVM/ConvertVectorToLLVM.cpp
    M mlir/lib/Dialect/LLVMIR/IR/FunctionCallUtils.cpp
    M mlir/test/Conversion/MemRefToLLVM/invalid.mlir

  Log Message:
  -----------
  [mlir] Fix conflict of user defined reserved functions with internal prototypes (#123378)

On lowering from `memref` to LLVM, `malloc` and other intrinsic
functions from `libc` will be declared in the current module. User's
redefinition of these reserved functions will poison the internal
analysis with wrong prototype. This patch adds assertion on the found
function's type and reports if it mismatch with the intended type.

Related to #120950


---------

Co-authored-by: Luohao Wang <Luohaothu at users.noreply.github.com>


  Commit: 1d5fbe83c3bcdd27a8ce1d57a68fb7be35e6cbbf
      https://github.com/llvm/llvm-project/commit/1d5fbe83c3bcdd27a8ce1d57a68fb7be35e6cbbf
  Author: Alexey Bataev <a.bataev at outlook.com>
  Date:   2025-01-28 (Tue, 28 Jan 2025)

  Changed paths:
    M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
    A llvm/test/Transforms/SLPVectorizer/X86/resized-bv-values-non-power-of2-node.ll

  Log Message:
  -----------
  [SLP]Adjust NumberOfParts value for adjusted number of buildvector scalars

Need to adjust NumParts value, when GatheredScalars scalars are adjusted
after extractelements analysis, to fix compiler crash


  Commit: 0cf6714279d4146ee5d6a5e34195d6fae56ed475
      https://github.com/llvm/llvm-project/commit/0cf6714279d4146ee5d6a5e34195d6fae56ed475
  Author: David Spickett <david.spickett at linaro.org>
  Date:   2025-01-28 (Tue, 28 Jan 2025)

  Changed paths:
    M lldb/source/Plugins/Process/Utility/RegisterFlagsDetector_arm64.cpp

  Log Message:
  -----------
  [lldb][AArch64] Fix GCS register field detection

Fixes c5840cc609a3674cf7453a45946f7e4a2a73590b.

On platforms where UL is 32 bit, like Windows or 32 bit Linux,
this shift was not correct, so we assumed GCS was not present.

Use ULL instead, to match the other HWCAP constants.


  Commit: 11db7fb09b36e656a801117d6a2492133e9c2e46
      https://github.com/llvm/llvm-project/commit/11db7fb09b36e656a801117d6a2492133e9c2e46
  Author: Renat Idrisov <4032256+parsifal-47 at users.noreply.github.com>
  Date:   2025-01-28 (Tue, 28 Jan 2025)

  Changed paths:
    M llvm/lib/CodeGen/MachineVerifier.cpp
    M llvm/test/CodeGen/AMDGPU/GlobalISel/legalize-load-memory-metadata.mir
    M llvm/test/CodeGen/AMDGPU/GlobalISel/regbankselect-split-scalar-load-metadata.mir
    A llvm/test/MachineVerifier/test_g_incompatible_range.mir

  Log Message:
  -----------
  [GlobalISel] Catching inconsistencies in load memory, result, and range metadata type (#121247)

This is a fix for:
https://github.com/llvm/llvm-project/issues/97290
Please let me know if that is the right way to address the issue. Thank
you!

---------

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


  Commit: 37b595cb3715fb8c453c0d3981d6c4f4d208d372
      https://github.com/llvm/llvm-project/commit/37b595cb3715fb8c453c0d3981d6c4f4d208d372
  Author: Nico Weber <thakis at chromium.org>
  Date:   2025-01-28 (Tue, 28 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 b968fd950266 (BuiltinsNVPTX.td)


  Commit: 22687aa97bdae2f0ea0be9baf208247c18d69c06
      https://github.com/llvm/llvm-project/commit/22687aa97bdae2f0ea0be9baf208247c18d69c06
  Author: Stephen Tozer <stephen.tozer at sony.com>
  Date:   2025-01-28 (Tue, 28 Jan 2025)

  Changed paths:
    M llvm/lib/CodeGen/RemoveLoadsIntoFakeUses.cpp
    A llvm/test/CodeGen/X86/fake-use-remove-loads.mir

  Log Message:
  -----------
  [CodeGen] Correctly handle non-standard cases in RemoveLoadsIntoFakeUses (#111551)

In the RemoveLoadsIntoFakeUses pass, we try to remove loads that are
only used by fake uses, as well as the fake use in question. There are
two existing errors with the pass however: it incorrectly examines every
operand of each FAKE_USE, when only the first is relevant (extra
operands will just be "killed" regs assigned by a previous pass), and it
ignores cases where the FAKE_USE register is not an exact match for the
loaded register, which is incorrect as regalloc may choose to load a
wider value than the FAKE_USE required pre-regalloc. This patch fixes
both of these cases.


  Commit: a1ab5b4c87256ce7e99d6fd4bd0c62641e6ce853
      https://github.com/llvm/llvm-project/commit/a1ab5b4c87256ce7e99d6fd4bd0c62641e6ce853
  Author: Alexey Bataev <a.bataev at outlook.com>
  Date:   2025-01-28 (Tue, 28 Jan 2025)

  Changed paths:
    M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
    A llvm/test/Transforms/SLPVectorizer/ARM/main-gep-with-non-matching-reqs.ll

  Log Message:
  -----------
  [SLP]Check the MainOp matches the requirements for the instructions

Need to include MainOp into the analysis of the instructions in
getSameOpcode to be sure that it is checked for the requirements to
prevent crashes during further analysis.


  Commit: 79499f010d2bfe809187a9a5f042d4e4ee1f1bcc
      https://github.com/llvm/llvm-project/commit/79499f010d2bfe809187a9a5f042d4e4ee1f1bcc
  Author: Jeremy Morse <jeremy.morse at sony.com>
  Date:   2025-01-28 (Tue, 28 Jan 2025)

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

  Log Message:
  -----------
  [NFC][DebugInfo] Deprecate iterator-taking moveBefore and getFirstNonPHI (#124290)

The RemoveDIs project [0] makes debug intrinsics obsolete and to support
this instruction iterators carry an extra bit of debug information. To
maintain debug information accuracy insertion needs to be performed with a
BasicBlock::iterator rather than with Instruction pointers, otherwise the
extra bit of debug information is lost.

To that end, we're deprecating getFirstNonPHI and moveBefore for
instruction pointers. They're replaced by getFirstNonPHIIt and an
iterator-taking moveBefore: switching to the replacement is
straightforwards, and 99% of call-sites need only to unwrap the iterator
with &* or call getIterator() on an Instruction pointer.

The exception is when inserting instructions at the start of a block: if
you call getFirstNonPHI() (or begin() or getFirstInsertionPt()) and then
insert something at that position, you must pass the BasicBlock::iterator
returned into the insertion method. Unwrapping with &* and then calling
getIterator strips the debug-info bit we wish to preserve. Please do
contact us about any use case that's confusing or unclear [1].

[0] https://llvm.org/docs/RemoveDIsDebugInfo.html
[1] https://discourse.llvm.org/t/psa-ir-output-changing-from-debug-intrinsics-to-debug-records/79578


  Commit: 4bd2307a2085f0ace05e0b1b11c1c47ff3870110
      https://github.com/llvm/llvm-project/commit/4bd2307a2085f0ace05e0b1b11c1c47ff3870110
  Author: Timm Baeder <tbaeder at redhat.com>
  Date:   2025-01-28 (Tue, 28 Jan 2025)

  Changed paths:
    M clang/lib/AST/ExprConstant.cpp
    M clang/test/SemaCXX/constant-expression-cxx11.cpp
    M clang/test/SemaCXX/constant-expression-p2280r4.cpp

  Log Message:
  -----------
  [clang][ExprConst] Don't diagnose a non-existent init as not constant (#124575)

This test:
```c++
extern Swim& trident; // expected-note {{declared here}}

constexpr auto& gallagher = typeid(trident);    // expected-error {{constexpr variable 'gallagher' must be initialized by a constant expression}}
                                                // expected-note at -1 {{initializer of 'trident' is not a constant expression}}
```
diagnosed the initializer of `trident` as not constant, but `trident`
doesn't even have an initializer. Remove that diagnostic in this case.


  Commit: 3a975d697f11b5cccda2f2778c3792c179eecb74
      https://github.com/llvm/llvm-project/commit/3a975d697f11b5cccda2f2778c3792c179eecb74
  Author: Nico Weber <thakis at chromium.org>
  Date:   2025-01-28 (Tue, 28 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 7e22180c20f (BuiltinsHexagon.td)


  Commit: 78b5bb702fe97fe85f66d72598d0dfa7c49fe001
      https://github.com/llvm/llvm-project/commit/78b5bb702fe97fe85f66d72598d0dfa7c49fe001
  Author: Fraser Cormack <fraser at codeplay.com>
  Date:   2025-01-28 (Tue, 28 Jan 2025)

  Changed paths:
    A libclc/clc/include/clc/math/clc_subnormal_config.h
    A libclc/clc/include/clc/math/math.h
    A libclc/clc/include/clc/math/tables.h
    M libclc/clspv/lib/math/fma.cl
    M libclc/clspv/lib/subnormal_config.cl
    R libclc/generic/include/config.h
    M libclc/generic/include/math/clc_ldexp.h
    M libclc/generic/lib/math/acos.cl
    M libclc/generic/lib/math/acosh.cl
    M libclc/generic/lib/math/acospi.cl
    M libclc/generic/lib/math/asin.cl
    M libclc/generic/lib/math/asinh.cl
    M libclc/generic/lib/math/asinpi.cl
    M libclc/generic/lib/math/atan.cl
    M libclc/generic/lib/math/atan2.cl
    M libclc/generic/lib/math/atan2pi.cl
    M libclc/generic/lib/math/atanh.cl
    M libclc/generic/lib/math/atanpi.cl
    M libclc/generic/lib/math/cbrt.cl
    M libclc/generic/lib/math/clc_exp10.cl
    M libclc/generic/lib/math/clc_fma.cl
    M libclc/generic/lib/math/clc_fmod.cl
    M libclc/generic/lib/math/clc_hypot.cl
    M libclc/generic/lib/math/clc_ldexp.cl
    M libclc/generic/lib/math/clc_pow.cl
    M libclc/generic/lib/math/clc_pown.cl
    M libclc/generic/lib/math/clc_powr.cl
    M libclc/generic/lib/math/clc_remainder.cl
    M libclc/generic/lib/math/clc_remquo.cl
    M libclc/generic/lib/math/clc_rootn.cl
    M libclc/generic/lib/math/clc_tan.cl
    M libclc/generic/lib/math/clc_tanpi.cl
    M libclc/generic/lib/math/cos.cl
    M libclc/generic/lib/math/cosh.cl
    M libclc/generic/lib/math/cospi.cl
    M libclc/generic/lib/math/ep_log.cl
    M libclc/generic/lib/math/ep_log.h
    M libclc/generic/lib/math/erf.cl
    M libclc/generic/lib/math/erfc.cl
    M libclc/generic/lib/math/exp.cl
    M libclc/generic/lib/math/exp2.cl
    M libclc/generic/lib/math/exp_helper.cl
    M libclc/generic/lib/math/expm1.cl
    M libclc/generic/lib/math/fdim.cl
    M libclc/generic/lib/math/fma.cl
    M libclc/generic/lib/math/ilogb.cl
    M libclc/generic/lib/math/ldexp.cl
    M libclc/generic/lib/math/lgamma_r.cl
    M libclc/generic/lib/math/log10.cl
    M libclc/generic/lib/math/log1p.cl
    M libclc/generic/lib/math/log2.cl
    M libclc/generic/lib/math/log_base.h
    M libclc/generic/lib/math/logb.cl
    R libclc/generic/lib/math/math.h
    M libclc/generic/lib/math/modf.cl
    M libclc/generic/lib/math/sin.cl
    M libclc/generic/lib/math/sincos_helpers.cl
    M libclc/generic/lib/math/sincos_helpers.h
    M libclc/generic/lib/math/sinh.cl
    M libclc/generic/lib/math/sinpi.cl
    M libclc/generic/lib/math/tables.cl
    R libclc/generic/lib/math/tables.h
    M libclc/generic/lib/math/tanh.cl
    M libclc/generic/lib/math/tgamma.cl
    M libclc/generic/lib/subnormal_config.cl
    M libclc/r600/lib/math/fmax.cl
    M libclc/r600/lib/math/fmin.cl
    M libclc/spirv/lib/subnormal_config.cl
    M libclc/spirv64/lib/subnormal_config.cl

  Log Message:
  -----------
  [libclc][NFC] Move key math headers to CLC (#124739)


  Commit: 820c6ac7f5e438cc268ecb1fa2c6b17f0d168000
      https://github.com/llvm/llvm-project/commit/820c6ac7f5e438cc268ecb1fa2c6b17f0d168000
  Author: cor3ntin <corentinjabot at gmail.com>
  Date:   2025-01-28 (Tue, 28 Jan 2025)

  Changed paths:
    M clang/docs/ReleaseNotes.rst
    M clang/lib/Sema/SemaDecl.cpp
    A clang/test/CodeGenCXX/gh119046.cpp
    M clang/test/SemaCXX/cxx2b-consteval-propagate.cpp

  Log Message:
  -----------
  [Clang] call HandleImmediateInvocation before checking for immediate escacalating expressions (reland) (#124708)

HandleImmediateInvocation can call MarkExpressionAsImmediateEscalating 
and should always be called before
CheckImmediateEscalatingFunctionDefinition.
    
However, we were not doing that in `ActFunctionBody`.

Fixes #119046


  Commit: 3007f31e7458442cafb7fbd7f5c8b7228b5bd98e
      https://github.com/llvm/llvm-project/commit/3007f31e7458442cafb7fbd7f5c8b7228b5bd98e
  Author: Florian Hahn <flo at fhahn.com>
  Date:   2025-01-28 (Tue, 28 Jan 2025)

  Changed paths:
    A llvm/test/Transforms/LoopUnroll/AArch64/apple-unrolling-multi-exit.ll

  Log Message:
  -----------
  [LoopUnroll] Add AArch64 tests for multi-exit loop unrolling.

Test coverage to https://github.com/llvm/llvm-project/pull/124751.


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

  Changed paths:
    A llvm/test/MachineVerifier/AMDGPU/test_g_incompatible_range.mir
    R llvm/test/MachineVerifier/test_g_incompatible_range.mir

  Log Message:
  -----------
  MachineVerifier: Move test into AMDGPU directory

Fixes failures for builds without AMDGPU enabled for test
added in 11db7fb09b36e656a801117d6a2492133e9c2e46


  Commit: 6cb71d7e85d551ce71ba0f7c33fd94cb35a5a966
      https://github.com/llvm/llvm-project/commit/6cb71d7e85d551ce71ba0f7c33fd94cb35a5a966
  Author: David Truby <david.truby at arm.com>
  Date:   2025-01-28 (Tue, 28 Jan 2025)

  Changed paths:
    R flang/test/HLFIR/unroll-loops.fir
    M flang/test/Integration/unroll-loops.f90
    A flang/test/Lower/HLFIR/unroll-loops.fir

  Log Message:
  -----------
  [flang][NFC] Restrict -funroll-loops tests to known working targets (#124594)

If -funroll-loops tests are not restricted to specific targets the tests
may behave differently based on the host platform. This patch restricts
the tests to aarch64 and x86_64, and removes the PowerPC XFAIL.


  Commit: 9d8d538e40ef040cb53e8db7a32f3024865187f3
      https://github.com/llvm/llvm-project/commit/9d8d538e40ef040cb53e8db7a32f3024865187f3
  Author: Romaric Jodin <rjodin at google.com>
  Date:   2025-01-28 (Tue, 28 Jan 2025)

  Changed paths:
    M libclc/clc/lib/clspv/SOURCES

  Log Message:
  -----------
  libclc: clspv: add missing clc_isnan.cl dependency (#124614)

clc_isnan.cl is needed since
https://github.com/llvm/llvm-project/pull/124097


  Commit: 68d90cff580fe181ad28247584d32837f3b9940e
      https://github.com/llvm/llvm-project/commit/68d90cff580fe181ad28247584d32837f3b9940e
  Author: Daniil Fukalov <dfukalov at gmail.com>
  Date:   2025-01-28 (Tue, 28 Jan 2025)

  Changed paths:
    M llvm/lib/Target/AMDGPU/AMDGPUGlobalISelUtils.cpp
    M llvm/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.s.buffer.load.ll

  Log Message:
  -----------
  [AMDGPU][GlobalISel] Fix assert on APInt creation. (#124608)

Since 3494ee95902cef62f767489802e469c58a13ea04 APInt stopped to
implicitly truncate values, therefore it asserts on a big signed value
converted to (implicitly) unsigned APInt.

The change explicitly marks offset as a signed value.


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

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

  Log Message:
  -----------
  [CostModel][X86] getShuffleCosts - convert all shuffle cost tables to be CostKind compatible. NFC. (#124753)

No change in actual costs yet, but split the costs per cost kind to make it easier to tweak the numbers in future patches.


  Commit: 2abde54aabc4b8878a5665e4d70a0525e9041456
      https://github.com/llvm/llvm-project/commit/2abde54aabc4b8878a5665e4d70a0525e9041456
  Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
  Date:   2025-01-28 (Tue, 28 Jan 2025)

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

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


  Commit: a0b049055df592759e4ac1d8032139f385581c63
      https://github.com/llvm/llvm-project/commit/a0b049055df592759e4ac1d8032139f385581c63
  Author: Venkata Ramanaiah Nalamothu <quic_vnalamot at quicinc.com>
  Date:   2025-01-28 (Tue, 28 Jan 2025)

  Changed paths:
    M llvm/lib/Target/RISCV/RISCVFrameLowering.cpp
    M llvm/lib/Target/RISCV/RISCVInstrInfo.cpp
    A llvm/test/CodeGen/RISCV/debug-line.ll
    M llvm/test/CodeGen/RISCV/kcfi-mir.ll
    M llvm/test/CodeGen/RISCV/live-sp.mir
    M llvm/test/CodeGen/RISCV/rvv/addi-scalable-offset.mir
    M llvm/test/CodeGen/RISCV/rvv/emergency-slot.mir
    M llvm/test/CodeGen/RISCV/stack-inst-compress.mir
    M llvm/test/CodeGen/RISCV/zcmp-cm-popretz.mir
    M llvm/test/CodeGen/RISCV/zcmp-cm-push-pop.mir
    M llvm/test/DebugInfo/RISCV/dwarf-riscv-relocs.ll

  Log Message:
  -----------
  [RISC-V] Fix incorrect epilogue_begin setting in debug line table (#120623)

The DwarfDebug.cpp implementation expects the epilogue instructions to
have source location of last non-debug instruction after which the epilogue
instructions are inserted. The epilogue_begin is set on location of the first
FrameDestroy instruction with source line information that has been seen in
the epilogue basic block.

In the trunk, the risc-v backend sets the epilogue_begin after the epilogue has
actually begun i.e. after callee saved register reloads and the source line
information is not set on those reload instructions. This is leading to #120553
where, while debugging, breaking on or single stepping to the epilogue_begin
location will make accessing the variables from wrong place as the FP has been
restored to the parent frame's FP.

To fix that, this patch sets FrameSetup/FrameDestroy flags on the callee saved
register spill/reload instructions which is actually correct. Then the
RISCVInstrInfo::loadRegFromStackSlot uses FrameDestroy flag to identify a
reload of the callee saved register in the epilogue and copies the source
line information from insert position instruction to that reload instruction.

Requires PR #120622

Fixes #120553


  Commit: d459784cbea334d167b2dca48e0c26115c68e5d3
      https://github.com/llvm/llvm-project/commit/d459784cbea334d167b2dca48e0c26115c68e5d3
  Author: Mats Jun Larsen <mats at jun.codes>
  Date:   2025-01-28 (Tue, 28 Jan 2025)

  Changed paths:
    M llvm/lib/Target/SPIRV/SPIRVBuiltins.cpp
    M llvm/lib/Target/SPIRV/SPIRVGlobalRegistry.cpp

  Log Message:
  -----------
  [IR][SPIR-V] Replace of PointerType::get(Type) with opaque version (NFC) (#124755)


  Commit: 75622e3f8d9d18de693988f95c44a0011de9208f
      https://github.com/llvm/llvm-project/commit/75622e3f8d9d18de693988f95c44a0011de9208f
  Author: Mehdi Amini <joker.eph at gmail.com>
  Date:   2025-01-28 (Tue, 28 Jan 2025)

  Changed paths:
    M mlir/examples/toy/Ch4/mlir/ShapeInferencePass.cpp
    M mlir/examples/toy/Ch5/mlir/LowerToAffineLoops.cpp
    M mlir/examples/toy/Ch5/mlir/ShapeInferencePass.cpp
    M mlir/examples/toy/Ch6/mlir/LowerToAffineLoops.cpp
    M mlir/examples/toy/Ch6/mlir/LowerToLLVM.cpp
    M mlir/examples/toy/Ch6/mlir/ShapeInferencePass.cpp
    M mlir/examples/toy/Ch7/mlir/LowerToAffineLoops.cpp
    M mlir/examples/toy/Ch7/mlir/LowerToLLVM.cpp
    M mlir/examples/toy/Ch7/mlir/ShapeInferencePass.cpp

  Log Message:
  -----------
  [MLIR] Define `getArgument()` for Toy tutorial passes

This is important during debugging to be able to dump a pass pipeline.
It is also what is used by `--mlir-print-ir-tree-dir` to compute filenames
during dumps.


  Commit: 48df9480dab57f99aa466ade1df6c46e71da25b5
      https://github.com/llvm/llvm-project/commit/48df9480dab57f99aa466ade1df6c46e71da25b5
  Author: Jeremy Morse <jeremy.morse at sony.com>
  Date:   2025-01-28 (Tue, 28 Jan 2025)

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

  Log Message:
  -----------
  [NFC] Suppress spurious deprecation warning with MSVC (#124764)

gcc and clang won't complain about calls to deprecated functions, if
you're calling from a function that is deprecated too. However, MSVC
does care, and expands into maaany deprecation warnings for
getFirstNonPHI.

Suppress this by converting the inlineable copy of getFirstNonPHI into a
non-inline copy.


  Commit: e38f4f6904b774dfdd90d78c3fb282f8cc9d07c1
      https://github.com/llvm/llvm-project/commit/e38f4f6904b774dfdd90d78c3fb282f8cc9d07c1
  Author: Dmitri Gribenko <gribozavr at gmail.com>
  Date:   2025-01-28 (Tue, 28 Jan 2025)

  Changed paths:
    M clang/lib/AST/StmtPrinter.cpp
    M clang/lib/AST/TextNodeDumper.cpp
    M clang/test/AST/HLSL/StructuredBuffers-AST.hlsl
    M clang/test/AST/HLSL/TypedBuffers-AST.hlsl
    M clang/test/AST/ast-dump-decl.c
    M clang/test/AST/ast-dump-records.c
    M clang/test/AST/ast-dump-records.cpp
    M clang/test/AST/attr-counted-by-late-parsed-struct-ptrs.c
    M clang/test/AST/attr-counted-by-or-null-late-parsed-struct-ptrs.c
    M clang/test/AST/attr-counted-by-or-null-struct-ptrs.c
    M clang/test/AST/attr-counted-by-struct-ptrs.c
    M clang/test/AST/attr-sized-by-late-parsed-struct-ptrs.c
    M clang/test/AST/attr-sized-by-or-null-late-parsed-struct-ptrs.c
    M clang/test/AST/attr-sized-by-or-null-struct-ptrs.c
    M clang/test/AST/attr-sized-by-struct-ptrs.c
    M clang/test/Import/cxx-anon-namespace/test.cpp
    M clang/test/Modules/odr_hash.cpp
    M clang/test/SemaTemplate/aggregate-deduction-candidate.cpp
    M clang/test/SemaTemplate/deduction-crash.cpp
    M clang/test/SemaTemplate/deduction-guide.cpp

  Log Message:
  -----------
  Revert "[clang] improve print / dump of anonymous declarations (#124605)"

This reverts commit f949f876daeda520a5b7dbeb2cbb35b8c4383acb.

This commit introduces an llvm_unreachable call that is actually
reachable. I posted a reproducer on the pull request discussion.


  Commit: 8ce0d05b88f3369ba99866195f587a58a2d75f4c
      https://github.com/llvm/llvm-project/commit/8ce0d05b88f3369ba99866195f587a58a2d75f4c
  Author: c8ef <c8ef at outlook.com>
  Date:   2025-01-29 (Wed, 29 Jan 2025)

  Changed paths:
    M libc/include/spawn.yaml

  Log Message:
  -----------
  [libc] Revise the definition of `posix_spawn`. (#124686)

Closes #124635.

Some parameter types in the definition of `posix_spawn` currently do not
match the standard. This patch resolves the issue.
ref: https://man7.org/linux/man-pages/man3/posix_spawn.3.html


  Commit: a8c82d5fde1dab47a1a3fe27bb8ced8f0eb33ab9
      https://github.com/llvm/llvm-project/commit/a8c82d5fde1dab47a1a3fe27bb8ced8f0eb33ab9
  Author: Fraser Cormack <fraser at codeplay.com>
  Date:   2025-01-28 (Tue, 28 Jan 2025)

  Changed paths:
    M libclc/clc/include/clc/relational/relational.h
    M libclc/clc/lib/generic/relational/clc_isfinite.cl
    M libclc/clc/lib/generic/relational/clc_isinf.cl
    M libclc/clc/lib/generic/relational/clc_isnan.cl
    M libclc/clc/lib/generic/relational/clc_isnormal.cl
    M libclc/clc/lib/generic/relational/clc_signbit.cl

  Log Message:
  -----------
  [libclc] Optimize isfpclass-like CLC builtins (#124145)

The builtins we were using to implement __clc_is(finite|inf|nan|normal)
-- __builtin_isfinite, etc. -- don't take vector types so we were
previously scalarizing. The __builtin_isfpclass builtin does take vector
types and thus allows us to keep things in vectors.

There is no change in codegen to the scalar versions of any of these
builtins.


  Commit: 5a8fe9e9a777094dba05bdaca8f2dd83af183a0f
      https://github.com/llvm/llvm-project/commit/5a8fe9e9a777094dba05bdaca8f2dd83af183a0f
  Author: c8ef <c8ef at outlook.com>
  Date:   2025-01-29 (Wed, 29 Jan 2025)

  Changed paths:
    M libc/include/sys/resource.yaml

  Log Message:
  -----------
  [libc] Revise the definition of `{get, set}rlimit`. (#124701)

Closes #124633.

Some parameter types in the definition of `{get, set}rlimit` currently
do not match the standard. This patch resolves the issue.
ref: https://man7.org/linux/man-pages/man2/getrlimit.2.html


  Commit: a58e774fba42e13aa00667d644e96b783fc914b4
      https://github.com/llvm/llvm-project/commit/a58e774fba42e13aa00667d644e96b783fc914b4
  Author: Jack Frankland <jack.frankland at arm.com>
  Date:   2025-01-28 (Tue, 28 Jan 2025)

  Changed paths:
    M mlir/include/mlir/Dialect/Tosa/IR/TosaOpBase.td
    M mlir/include/mlir/Dialect/Tosa/IR/TosaOps.h
    M mlir/include/mlir/Dialect/Tosa/IR/TosaOps.td
    M mlir/lib/Conversion/TosaToLinalg/TosaToLinalg.cpp
    M mlir/lib/Dialect/Tosa/IR/TosaCanonicalizations.cpp
    M mlir/lib/Dialect/Tosa/IR/TosaOps.cpp
    M mlir/lib/Dialect/Tosa/Transforms/TosaDecomposeDepthwise.cpp
    M mlir/lib/Dialect/Tosa/Transforms/TosaMakeBroadcastable.cpp
    M mlir/lib/Dialect/Tosa/Transforms/TosaReduceTransposes.cpp
    M mlir/test/Conversion/TosaToLinalg/tosa-to-linalg.mlir
    M mlir/test/Dialect/Tosa/canonicalize.mlir
    M mlir/test/Dialect/Tosa/constant-op-fold.mlir
    M mlir/test/Dialect/Tosa/invalid.mlir
    M mlir/test/Dialect/Tosa/ops.mlir
    M mlir/test/Dialect/Tosa/tosa-decompose-depthwise.mlir
    M mlir/test/Dialect/Tosa/tosa-infer-shapes.mlir
    M mlir/test/Dialect/Tosa/tosa-reduce-transposes.mlir

  Log Message:
  -----------
  [mlir][tosa] Make TOSA MUL's Shift an Input (#121953)

The TOSA-v1.0 specification makes the shift attribute of the MUL
(Hammard product) operator an input. Move the `shift` parameter of the
MUL operator in the MILR TOSA dialect from an attribute to an input and
update any lit tests appropriately.

Expand the verifier of the `tosa::MulOp` operation to check the various
constraints defined in the TOSA-v1.0 specification. Specifically, ensure
that all input operands (excluding the optional shift) are of the same
rank. This means that broadcasting tests which previously checked rank-0
tensors would be broadcast are no longer valid and are removed.

Signed-off-by: Jack Frankland <jack.frankland at arm.com>
Co-authored-by: TatWai Chong <tatwai.chong at arm.com>


  Commit: df122fc734ce002632f3bfe8a5fc5010349dba16
      https://github.com/llvm/llvm-project/commit/df122fc734ce002632f3bfe8a5fc5010349dba16
  Author: Vyacheslav Levytskyy <vyacheslav.levytskyy at intel.com>
  Date:   2025-01-28 (Tue, 28 Jan 2025)

  Changed paths:
    M llvm/lib/Target/SPIRV/SPIRVAPI.cpp
    M llvm/lib/Target/SPIRV/SPIRVCommandLine.cpp
    M llvm/lib/Target/SPIRV/SPIRVModuleAnalysis.cpp
    M llvm/lib/Target/SPIRV/SPIRVSubtarget.cpp
    M llvm/lib/Target/SPIRV/SPIRVSubtarget.h
    M llvm/unittests/Target/SPIRV/CMakeLists.txt
    M llvm/unittests/Target/SPIRV/SPIRVAPITest.cpp

  Log Message:
  -----------
  [SPIR-V] Change a way SPIR-V Backend API works with user facing options (#124745)

This PR fixes https://github.com/llvm/llvm-project/issues/124703:
* added a new API call `SPIRVTranslate` that is to replace entirely old
`SPIRVTranslateModule` after existing clients switch into the new
function;
* the new `SPIRVTranslate` doesn't require option parsing, replacing the
`Opts` argument with explicit `CodeGenOptLevel` and `Triple` arguments;
* the old `SPIRVTranslateModule` call is a wrapper for `SPIRVTranslate`,
it doesn't require option parsing either and doesn't hold any logic
inside except for converting string options into `CodeGenOptLevel` and
`Triple` arguments;
* usage of the extensions list is reworked to avoid writes to the global
cl::opt variable `lib/Target/SPIRV/SPIRVSubtarget.cpp::Extensions` --
instead a new class member in SPIRVSubtarget.cpp is implemented that
allows to replace supported extensions after SPIRVSubtarget.cpp is
created;
* both API calls don't require option parsing and don't write to global
cl::opt variables.

Other related/required changes:
* SPIRV::Capability::Shader is marked as an capability of lesser
priority for OpenCL environment (to remediate absence of the
"avoid-spirv-capabilities" command line option in API calls);
* unit tests are updated and extended to cover testing of a newer API
call;
* old API call is marked with TODO to remove it after existing clients
switch into the new function.


  Commit: 56a0a7f6d188b13be69962654f068dc01dfd37b5
      https://github.com/llvm/llvm-project/commit/56a0a7f6d188b13be69962654f068dc01dfd37b5
  Author: Renaud Kauffmann <rkauffmann at nvidia.com>
  Date:   2025-01-28 (Tue, 28 Jan 2025)

  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] Adding support for more atomic calls (#124671)

The PR follows the earlier
https://github.com/llvm/llvm-project/pull/123840 PR for atomic operation
support in CUF


  Commit: 648912582ccb9bda36427244957843fbdd95abaf
      https://github.com/llvm/llvm-project/commit/648912582ccb9bda36427244957843fbdd95abaf
  Author: c8ef <c8ef at outlook.com>
  Date:   2025-01-29 (Wed, 29 Jan 2025)

  Changed paths:
    M libc/include/llvm-libc-macros/unistd-macros.h

  Log Message:
  -----------
  [libc] Add `FILENO` related macros to `unistd.h`. (#124688)

Closes #124637.

This is necessary to build LLVM with LLVM-libc and align the behavior
with other libc implementations.
ref: https://pubs.opengroup.org/onlinepubs/9799919799/basedefs/unistd.h.html


  Commit: f388ca3d9d9a58e3d189458b590ba68dfd9e5a2d
      https://github.com/llvm/llvm-project/commit/f388ca3d9d9a58e3d189458b590ba68dfd9e5a2d
  Author: c8ef <c8ef at outlook.com>
  Date:   2025-01-29 (Wed, 29 Jan 2025)

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

  Log Message:
  -----------
  [NFC] Remove redundant `sys/file.h` header. (#124684)

Closes #124652.

This header was introduced in
https://github.com/llvm/llvm-project/commit/536736995bf5d073853c7e884968c9847b4ae64d,
but it appears that including only `fnctl.h` should be enough.
Hopefully, this patch will not cause build issues on other Unix
platforms.


  Commit: ef92e6b99fc2a881f70c4e21bbdd6ae7a0c446c8
      https://github.com/llvm/llvm-project/commit/ef92e6b99fc2a881f70c4e21bbdd6ae7a0c446c8
  Author: Thurston Dang <thurston at google.com>
  Date:   2025-01-28 (Tue, 28 Jan 2025)

  Changed paths:
    M clang/test/CodeGen/allow-ubsan-check.c
    M llvm/lib/Transforms/Instrumentation/BoundsChecking.cpp
    M llvm/test/Instrumentation/BoundsChecking/runtimes.ll

  Log Message:
  -----------
  [BoundsChecking] Update ubsantrap to use GuardKind (#124613)

This change makes it consistent with other uses of ubsantrap.

This also updates the tests. Notably, BoundsChecking/runtimes.ll had guard=3 which passed only because the method of calculating the parameter (`IRB.GetInsertBlock()->getParent()->size()`) happened to give the same answer.


  Commit: d76ea250c8b91f59664594b92eb5ab966eb8be90
      https://github.com/llvm/llvm-project/commit/d76ea250c8b91f59664594b92eb5ab966eb8be90
  Author: Ramkumar Ramachandra <ramkumar.ramachandra at codasip.com>
  Date:   2025-01-28 (Tue, 28 Jan 2025)

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

  Log Message:
  -----------
  Reland [InstCombine] Teach foldSelectOpOp about samesign (#124320)

Changes: There was a serious bug in the previous patch, leading to a
miscompile. See #122723 for the miscompile report from Alexander, and
the follow-up investigation by Nikita. The patch has since been
reworked, and now includes the testcase from the miscompile.

Follow up on 4a0d53a (PatternMatch: migrate to CmpPredicate) to get rid
of one of the FIXMEs it introduced by replacing a predicate comparison
with CmpPredicate::getMatching.

Co-authored-by: Nikita Popov <npopov at redhat.com>


  Commit: a080498c92e4c00f099dab1a3d5dac48f14b7492
      https://github.com/llvm/llvm-project/commit/a080498c92e4c00f099dab1a3d5dac48f14b7492
  Author: lntue <lntue at google.com>
  Date:   2025-01-28 (Tue, 28 Jan 2025)

  Changed paths:
    M libc/utils/MPFRWrapper/CMakeLists.txt

  Log Message:
  -----------
  [libc] Update include directory for libcMPCommon target when LLVM_LIBC_MPFR_INSTALL_PATH is set. (#124765)

Fix the current riscv32 bot failures.


  Commit: 822954b4a97753b0c7accc606287529518e9d425
      https://github.com/llvm/llvm-project/commit/822954b4a97753b0c7accc606287529518e9d425
  Author: gbMattN <146744444+gbMattN at users.noreply.github.com>
  Date:   2025-01-28 (Tue, 28 Jan 2025)

  Changed paths:
    A clang/docs/TypeSanitizer.rst
    M clang/docs/UsersManual.rst
    M clang/docs/index.rst

  Log Message:
  -----------
  [TySan] Add initial documentation for Type Sanitizer (#123595)

Add some initial documentation for type sanitizer [From issue #122522]


  Commit: 1bc5fe669f5477eadd84270e971591a718693bba
      https://github.com/llvm/llvm-project/commit/1bc5fe669f5477eadd84270e971591a718693bba
  Author: Maksim Levental <maksim.levental at gmail.com>
  Date:   2025-01-28 (Tue, 28 Jan 2025)

  Changed paths:
    M mlir/python/mlir/dialects/linalg/__init__.py
    M mlir/test/python/dialects/linalg/ops.py

  Log Message:
  -----------
  [mlir][python] implement GenericOp bindings (#124496)


  Commit: 947d8ebbf33724245bd419d7b5f750d6aef1057e
      https://github.com/llvm/llvm-project/commit/947d8ebbf33724245bd419d7b5f750d6aef1057e
  Author: Alexey Bataev <a.bataev at outlook.com>
  Date:   2025-01-28 (Tue, 28 Jan 2025)

  Changed paths:
    M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
    M llvm/test/Transforms/SLPVectorizer/RISCV/partial-vec-invalid-cost.ll

  Log Message:
  -----------
  [SLP]Unify getNumberOfParts use

Adds getNumberOfParts and uses it instead of similar code across code
base, fixes analysis of non-vectorizable types in
computeMinimumValueSizes.

Reviewers: RKSimon

Reviewed By: RKSimon

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


  Commit: 2f077dfbdf769d2e568ccdcda0e1937af046f81f
      https://github.com/llvm/llvm-project/commit/2f077dfbdf769d2e568ccdcda0e1937af046f81f
  Author: Slava Zakharin <szakharin at nvidia.com>
  Date:   2025-01-28 (Tue, 28 Jan 2025)

  Changed paths:
    M flang/lib/Optimizer/HLFIR/Transforms/ConvertToFIR.cpp
    A flang/test/HLFIR/getextent-codegen.fir

  Log Message:
  -----------
  [flang] Support non-index shape in hlfir.get_extent codegen. (#124622)

hlfir.reshape inlining uncovered an existing bug that non-index shapes
result in failures during hlfir.get_extent conversion to FIR.
I could have "fixed" the shape during hlfir.reshape inlining,
but this seems like a better fix.


  Commit: 9dd762e8b10586e749b0ddf3542e5dccf8392395
      https://github.com/llvm/llvm-project/commit/9dd762e8b10586e749b0ddf3542e5dccf8392395
  Author: Matthias Gehre <matthias.gehre at amd.com>
  Date:   2025-01-28 (Tue, 28 Jan 2025)

  Changed paths:
    M mlir/include/mlir-c/BuiltinAttributes.h
    M mlir/lib/Bindings/Python/IRAttributes.cpp
    M mlir/lib/CAPI/IR/BuiltinAttributes.cpp
    M mlir/test/python/dialects/builtin.py
    M mlir/test/python/ir/array_attributes.py
    M mlir/test/python/ir/attributes.py

  Log Message:
  -----------
  [mlir][python] allow DenseIntElementsAttr for index type (#118947)

Model the `IndexType` as `uint64_t` when converting to a python integer. 

With the python bindings, 
```python
DenseIntElementsAttr(op.attributes["attr"])
```
used to `assert` when `attr` had `index` type like `dense<[1, 2, 3, 4]>
: vector<4xindex>`.

---------

Co-authored-by: Christopher McGirr <christopher.mcgirr at amd.com>
Co-authored-by: Tiago Trevisan Jost <tiago.trevisanjost at amd.com>


  Commit: 1b729c3d70cecd89504927fed56498f851f0d74d
      https://github.com/llvm/llvm-project/commit/1b729c3d70cecd89504927fed56498f851f0d74d
  Author: Matthias Gehre <matthias.gehre at amd.com>
  Date:   2025-01-28 (Tue, 28 Jan 2025)

  Changed paths:
    M mlir/include/mlir-c/BuiltinAttributes.h
    M mlir/lib/Bindings/Python/IRAttributes.cpp
    M mlir/lib/CAPI/IR/BuiltinAttributes.cpp
    M mlir/test/python/dialects/builtin.py
    M mlir/test/python/ir/array_attributes.py
    M mlir/test/python/ir/attributes.py

  Log Message:
  -----------
  Revert "[mlir][python] allow DenseIntElementsAttr for index type (#118947)"

This reverts commit 9dd762e8b10586e749b0ddf3542e5dccf8392395.


  Commit: 0b80491cd5e7dcb6d5432727d0a2c746a9a9438e
      https://github.com/llvm/llvm-project/commit/0b80491cd5e7dcb6d5432727d0a2c746a9a9438e
  Author: Slava Zakharin <szakharin at nvidia.com>
  Date:   2025-01-28 (Tue, 28 Jan 2025)

  Changed paths:
    M flang/lib/Optimizer/CodeGen/CodeGen.cpp
    M flang/test/Fir/convert-to-llvm.fir

  Log Message:
  -----------
  [flang] Support non-index shape/shift/slice for CG box operations. (#124625)

That is another problem uncovered during hlfir.reshape inlining,
where the shape bits could be any integer type.
This patch adds explicit convertions to `index` type where needed.


  Commit: bb95335982774c187984c4465202242b9d70cdb3
      https://github.com/llvm/llvm-project/commit/bb95335982774c187984c4465202242b9d70cdb3
  Author: Fraser Cormack <fraser at codeplay.com>
  Date:   2025-01-28 (Tue, 28 Jan 2025)

  Changed paths:
    M libclc/generic/lib/math/clc_ldexp.cl

  Log Message:
  -----------
  [libclc][NFC] Clang-format includes


  Commit: 17d1523207c6d5fb6b1b47ccf0406a0bb58cb38d
      https://github.com/llvm/llvm-project/commit/17d1523207c6d5fb6b1b47ccf0406a0bb58cb38d
  Author: Joseph Huber <huberjn at outlook.com>
  Date:   2025-01-28 (Tue, 28 Jan 2025)

  Changed paths:
    M clang/lib/Headers/amdgpuintrin.h
    M clang/lib/Headers/nvptxintrin.h

  Log Message:
  -----------
  [Clang] Minor fixes to 'gpuintrin.h' header

Summary:
The bitmask gives different results to the AMDGPU implementation so it's
not needed. Also fix some comments and casts.


  Commit: 063db51cd4467b0ec5d76e4fd41b056a82401278
      https://github.com/llvm/llvm-project/commit/063db51cd4467b0ec5d76e4fd41b056a82401278
  Author: Thurston Dang <thurston at google.com>
  Date:   2025-01-28 (Tue, 28 Jan 2025)

  Changed paths:
    M llvm/lib/Transforms/Instrumentation/MemorySanitizer.cpp
    M llvm/test/Instrumentation/MemorySanitizer/X86/avx-intrinsics-x86.ll
    M llvm/test/Instrumentation/MemorySanitizer/X86/avx2-intrinsics-x86.ll
    M llvm/test/Instrumentation/MemorySanitizer/i386/avx-intrinsics-i386.ll
    M llvm/test/Instrumentation/MemorySanitizer/i386/avx2-intrinsics-i386.ll

  Log Message:
  -----------
  Reapply "[msan] Add handlers for AVX masked load/store intrinsics (#123857)"

This reverts commit b9d301cc7e4fe4c442ec15169686fa4a18f5cdfc i.e.,
relands db79fb2a91df31a07f312f8e061936927ac5c506.

I had mistakenly thought this caused a buildbot breakage (the actual
culprit was my other patch,
https://github.com/llvm/llvm-project/pull/123980, which landed at the
same time) and thus had reverted it even though AFAIK it is not broken.


  Commit: cfdd937b30acc007016ebbe4afab7bb4d6449e0a
      https://github.com/llvm/llvm-project/commit/cfdd937b30acc007016ebbe4afab7bb4d6449e0a
  Author: Brad Smith <brad at comstyle.com>
  Date:   2025-01-28 (Tue, 28 Jan 2025)

  Changed paths:
    M llvm/lib/Support/Unix/Threading.inc

  Log Message:
  -----------
  [llvm] Android has sched_getaffinity() now (#124689)


  Commit: 822f74a91106b7ca10e85508eb642e62ef945afa
      https://github.com/llvm/llvm-project/commit/822f74a91106b7ca10e85508eb642e62ef945afa
  Author: Stephen Tozer <stephen.tozer at sony.com>
  Date:   2025-01-28 (Tue, 28 Jan 2025)

  Changed paths:
    M clang/docs/ReleaseNotes.rst
    M clang/include/clang/Driver/Options.td
    M clang/lib/CodeGen/CGDecl.cpp
    M clang/lib/CodeGen/CodeGenFunction.h
    M clang/test/CodeGen/fake-use-sanitizer.cpp
    M clang/test/CodeGen/fake-use-this.cpp
    M clang/test/Driver/extend-variable-liveness.c
    M llvm/test/CodeGen/MIR/X86/fake-use-tailcall.mir
    M llvm/test/CodeGen/X86/fake-use-simple-tail-call.ll
    M llvm/test/CodeGen/X86/fake-use-zero-length.ll
    M llvm/test/DebugInfo/AArch64/fake-use-global-isel.ll
    M llvm/test/DebugInfo/X86/fake-use.ll
    M llvm/test/Transforms/CodeGenPrepare/X86/fake-use-split-ret.ll
    M llvm/test/Transforms/GVN/fake-use-constprop.ll

  Log Message:
  -----------
  [Clang] Cleanup docs and comments relating to -fextend-variable-liveness (#124767)

This patch contains a number of changes relating to the above flag;
primarily it updates comment references to the old flag names,
"-fextend-lifetimes" and "-fextend-this-ptr" to refer to the new names,
"-fextend-variable-liveness[={all,this}]". These changes are all NFC.

This patch also removes the explicit -fextend-this-ptr-liveness flag
alias, and shortens the help-text for the main flag; these are both
changes that were meant to be applied in the initial PR (#110000), but
due to some user-error on my part they were not included in the merged
commit.


  Commit: 8578b816fa9050c33561f06d631459e12645953a
      https://github.com/llvm/llvm-project/commit/8578b816fa9050c33561f06d631459e12645953a
  Author: Kazu Hirata <kazu at google.com>
  Date:   2025-01-28 (Tue, 28 Jan 2025)

  Changed paths:
    M clang/include/clang/Driver/Options.td

  Log Message:
  -----------
  [Driver] Fix a build error

This patch fixes:

  clang/include/clang/Driver/Options.td:4356:3: error: Expected comma
  before next argument


  Commit: a4d17c44f14984f8f031d0715ea4d1387e96b741
      https://github.com/llvm/llvm-project/commit/a4d17c44f14984f8f031d0715ea4d1387e96b741
  Author: Nathan Ridge <zeratul976 at hotmail.com>
  Date:   2025-01-28 (Tue, 28 Jan 2025)

  Changed paths:
    M clang/lib/Sema/HeuristicResolver.cpp
    M clang/unittests/Sema/HeuristicResolverTest.cpp

  Log Message:
  -----------
  [clang][Sema] Generalize HeuristicResolver::resolveTypeToRecordDecl() to resolveTypeToTagDecl() (#124699)


  Commit: b108fbe6ea4247e5a3019a4facf611d5a42d465c
      https://github.com/llvm/llvm-project/commit/b108fbe6ea4247e5a3019a4facf611d5a42d465c
  Author: Jorge Gorbe Moya <jgorbe at google.com>
  Date:   2025-01-28 (Tue, 28 Jan 2025)

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

  Log Message:
  -----------
  [bazel] Fixes for 7f37b34, 0165e33 and 3c64f86


  Commit: eb10e94180dd722cf54cfaf1ed9d32aa0bb134a0
      https://github.com/llvm/llvm-project/commit/eb10e94180dd722cf54cfaf1ed9d32aa0bb134a0
  Author: Matheus Izvekov <mizvekov at gmail.com>
  Date:   2025-01-28 (Tue, 28 Jan 2025)

  Changed paths:
    M clang/test/AST/HLSL/StructuredBuffers-AST.hlsl

  Log Message:
  -----------
  NFC: convert clang/test/AST/HLSL/StructuredBuffers-AST.hlsl to unix line endings


  Commit: e29c085812e259910a3d8b6c2d2f471d1c3eede4
      https://github.com/llvm/llvm-project/commit/e29c085812e259910a3d8b6c2d2f471d1c3eede4
  Author: Matheus Izvekov <mizvekov at gmail.com>
  Date:   2025-01-28 (Tue, 28 Jan 2025)

  Changed paths:
    M clang/docs/ReleaseNotes.rst
    M clang/include/clang/Basic/DiagnosticSemaKinds.td
    M clang/include/clang/Sema/Sema.h
    M clang/lib/Sema/SemaLookup.cpp
    M clang/lib/Sema/SemaOverload.cpp
    M clang/lib/Sema/SemaTemplate.cpp
    M clang/lib/Sema/SemaTemplateDeduction.cpp
    M clang/lib/Sema/SemaTemplateInstantiate.cpp
    M clang/test/CXX/drs/cwg0xx.cpp
    M clang/test/CXX/drs/cwg12xx.cpp
    M clang/test/CXX/drs/cwg3xx.cpp
    M clang/test/CXX/expr/expr.const/p3-0x.cpp
    M clang/test/CXX/temp/temp.arg/temp.arg.nontype/p1.cpp
    M clang/test/CXX/temp/temp.arg/temp.arg.template/p3-0x.cpp
    M clang/test/Modules/cxx-templates.cpp
    M clang/test/SemaObjCXX/noescape.mm
    M clang/test/SemaTemplate/cwg2398.cpp
    M clang/test/SemaTemplate/default-arguments.cpp
    M clang/test/SemaTemplate/instantiate-template-template-parm.cpp
    M clang/test/SemaTemplate/instantiation-default-2.cpp
    M clang/test/SemaTemplate/nested-template.cpp
    M clang/test/SemaTemplate/temp_arg_nontype_cxx1z.cpp
    M clang/test/SemaTemplate/temp_arg_nontype_cxx20.cpp
    M clang/test/SemaTemplate/temp_arg_template.cpp
    M clang/test/SemaTemplate/temp_arg_template_p0522.cpp

  Log Message:
  -----------
  [clang] disallow narrowing when matching template template parameters (#124313)

This fixes the core issue described in P3579, following the design
intent of P0522 to not introduce any new cases where a template template
parameter match is allowed for a template which is not valid for all
possible uses.

With this patch, narrowing conversions are disallowed for TTP matching.

This reuses the existing machinery for diagnosing narrowing in a
converted constant expression.
Since P0522 is a DR and we apply it all the way back to C++98, this
brings that machinery to use in older standards, in this very narrow
scope of TTP matching.

This still doesn't solve the ambiguity when partial ordering NTTPs of
different integral types, this is blocked by a different bug which will
be fixed in a subsequent patch (but the test cases are added).


  Commit: 986581f6bcef8736c942a9fec9cf12bfbc57c1f6
      https://github.com/llvm/llvm-project/commit/986581f6bcef8736c942a9fec9cf12bfbc57c1f6
  Author: Kazu Hirata <kazu at google.com>
  Date:   2025-01-28 (Tue, 28 Jan 2025)

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

  Log Message:
  -----------
  [AST] Migrate away from PointerUnion::dyn_cast (NFC) (#124674)

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

This patch migrates uses of PointerUnion::dyn_cast to
dyn_cast_if_present (see the definition of PointerUnion::dyn_cast).
Note that we already have dyn_cast_if_present<T*>(ExplicitInfo)
elsewhere in ClassTemplateSpecializationDecl and
VarTemplateSpecializationDecl, meaning that ExplicitInfo is not
guaranteed to be nonnull in those classes.


  Commit: 2ef497e5b02650c59aa71676b7d891a138519685
      https://github.com/llvm/llvm-project/commit/2ef497e5b02650c59aa71676b7d891a138519685
  Author: Kazu Hirata <kazu at google.com>
  Date:   2025-01-28 (Tue, 28 Jan 2025)

  Changed paths:
    M clang/lib/Sema/TreeTransform.h

  Log Message:
  -----------
  [Sema] Migrate away from PointerUnion::dyn_cast (NFC) (#124675)

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

Literal migration would result in dyn_cast_if_present (see the
definition of PointerUnion::dyn_cast), but this patch uses dyn_cast
because we expect TransExpr to be nonnull.


  Commit: 69c9bed21b902bf83828c78d69691925f5452c35
      https://github.com/llvm/llvm-project/commit/69c9bed21b902bf83828c78d69691925f5452c35
  Author: Kazu Hirata <kazu at google.com>
  Date:   2025-01-28 (Tue, 28 Jan 2025)

  Changed paths:
    M clang/lib/Serialization/ASTReaderDecl.cpp

  Log Message:
  -----------
  [Serialization] Migrate away from PointerUnion::dyn_cast (NFC) (#124676)

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

Literal migration would result in dyn_cast_if_present (see the
definition of PointerUnion::dyn_cast), but this patch uses dyn_cast
because we expect FD->TemplateOrSpecialization to be nonnull.


  Commit: 1d5ce614a7cd266909169bc251d7b1aee743e5a3
      https://github.com/llvm/llvm-project/commit/1d5ce614a7cd266909169bc251d7b1aee743e5a3
  Author: Kazu Hirata <kazu at google.com>
  Date:   2025-01-28 (Tue, 28 Jan 2025)

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

  Log Message:
  -----------
  [CodeGen] Avoid repeated hash lookups (NFC) (#124677)


  Commit: ef232a7e3486b9494c087ad25830f00bc15d739a
      https://github.com/llvm/llvm-project/commit/ef232a7e3486b9494c087ad25830f00bc15d739a
  Author: Maksim Panchenko <maks at fb.com>
  Date:   2025-01-28 (Tue, 28 Jan 2025)

  Changed paths:
    M bolt/lib/Core/BinaryFunction.cpp
    A bolt/test/AArch64/remove-nops.s

  Log Message:
  -----------
  [BOLT][AArch64] Remove nops in functions with defined control flow (#124705)

When a function has an indirect branch with unknown control flow, we
preserve nops in order to keep all instruction offsets (from the start
of the function) the same in case the indirect branch is used by a
PC-relative jump table. However, when we know the control flow of the
function, we should be able to safely remove nops.


  Commit: 589bef333eb3b4f619ac6a7e7819295b47c05ce6
      https://github.com/llvm/llvm-project/commit/589bef333eb3b4f619ac6a7e7819295b47c05ce6
  Author: mgcsysinfcat <143941278+mgcsysinfcat at users.noreply.github.com>
  Date:   2025-01-28 (Tue, 28 Jan 2025)

  Changed paths:
    A mlir/utils/emacs/tblgen-lsp-client.el

  Log Message:
  -----------
  [emacs][lsp][tblgen] add tblgen-lsp-server support for emacs lsp-mode (#76337)

Co-authored-by: mgcsysinfcat <p779yqwdf at mozmail.com>
Co-authored-by: Ronan Keryell <ronan.keryell at amd.com>


  Commit: de9b0ddedc43302117b15518ca21f3341cf6b5ff
      https://github.com/llvm/llvm-project/commit/de9b0ddedc43302117b15518ca21f3341cf6b5ff
  Author: Stephen Tozer <Stephen.Tozer at sony.com>
  Date:   2025-01-28 (Tue, 28 Jan 2025)

  Changed paths:
    M clang/test/CodeGen/extend-variable-liveness.c
    M clang/test/CodeGen/fake-use-determinism.c
    M clang/test/CodeGen/fake-use-noreturn.cpp
    M clang/test/CodeGen/fake-use-this.cpp

  Log Message:
  -----------
  Add explicit triple to fix errors from #110102

Attempted fix for errors observed on:
https://luci-milo.appspot.com/ui/p/fuchsia/builders/toolchain.ci/clang-windows-x64/b8724497761651154417/overview

Several tests that required an explicit triple had none present; this
patch adds those triples.


  Commit: 964565c868c4a255f8ebdf412b307beeb390a6bc
      https://github.com/llvm/llvm-project/commit/964565c868c4a255f8ebdf412b307beeb390a6bc
  Author: Alex Voicu <alexandru.voicu at amd.com>
  Date:   2025-01-28 (Tue, 28 Jan 2025)

  Changed paths:
    M clang/docs/HIPSupport.rst

  Log Message:
  -----------
  [NFC][docs][HIP] Update HIP docs around `hipstdpar` and SPIR-V (#124803)

This addresses an odd ommision from the 19 release cycle, wherein we
upstreamed HIPSTDPAR support without adding the relevant documentation.
As an added bonus, we also remove a reference to `amdgcnspirv` not
mixing with concrete targets, as that limitation has been addressed.


  Commit: 310f55875f2fc69af310b6259e65136f0de4404a
      https://github.com/llvm/llvm-project/commit/310f55875f2fc69af310b6259e65136f0de4404a
  Author: Artem Belevich <tra at google.com>
  Date:   2025-01-28 (Tue, 28 Jan 2025)

  Changed paths:
    M clang/include/clang/Basic/BuiltinsNVPTX.td
    M clang/test/CodeGen/builtins-nvptx.c

  Log Message:
  -----------
  [CUDA] Make target intrinsics work with ptx 8.7 (#124818)

Fixes build break with CUDA-12.8 introduced in #123398


  Commit: 5dab5bf0851f523602944355a2c1c17e7f78ef36
      https://github.com/llvm/llvm-project/commit/5dab5bf0851f523602944355a2c1c17e7f78ef36
  Author: Oleksandr T. <oleksandr.tarasiuk at outlook.com>
  Date:   2025-01-28 (Tue, 28 Jan 2025)

  Changed paths:
    M clang/docs/ReleaseNotes.rst
    M clang/lib/Sema/SemaDeclCXX.cpp
    M clang/test/SemaCXX/warn-unused-private-field.cpp

  Log Message:
  -----------
  [Clang] handle [[warn_unused]] attribute for unused private fields (#120734)

Fixes #62472


  Commit: a255da0c5373f4ebd10c91b011cd572e4d2a6b4c
      https://github.com/llvm/llvm-project/commit/a255da0c5373f4ebd10c91b011cd572e4d2a6b4c
  Author: Alex Prabhat Bara <alexpbara at gmail.com>
  Date:   2025-01-28 (Tue, 28 Jan 2025)

  Changed paths:
    M libc/include/locale.h.def
    M libc/include/locale.yaml
    M libc/include/math.h.def
    M libc/include/setjmp.h.def
    M libc/include/stdlib.h.def
    M libc/include/stdlib.yaml
    M libc/include/string.h.def
    M libc/include/string.yaml
    M libc/include/sys/time.h.def
    M libc/include/sys/time.yaml
    M libc/include/wchar.h.def

  Log Message:
  -----------
  [libc] clean up duplicated includes in generated headers (#124524)

Fixes: #124149


  Commit: b1972689a43175451f27098b8fd6f58cf7275229
      https://github.com/llvm/llvm-project/commit/b1972689a43175451f27098b8fd6f58cf7275229
  Author: Matheus Izvekov <mizvekov at gmail.com>
  Date:   2025-01-28 (Tue, 28 Jan 2025)

  Changed paths:
    M clang/docs/ReleaseNotes.rst
    M clang/include/clang/Sema/Sema.h
    M clang/lib/Sema/SemaTemplate.cpp
    M clang/lib/Sema/TreeTransform.h
    M clang/test/SemaTemplate/cwg2398.cpp

  Log Message:
  -----------
  [clang] fix template argument conversion (#124386)

Converted template arguments need to be converted again, if the
corresponding template parameter changed, as different conversions might
apply in that case.


  Commit: bfefa15cc18f6f4b0b07849c619989c1a8c5aef9
      https://github.com/llvm/llvm-project/commit/bfefa15cc18f6f4b0b07849c619989c1a8c5aef9
  Author: Yi Zhang <cathyzhyi at google.com>
  Date:   2025-01-28 (Tue, 28 Jan 2025)

  Changed paths:
    M mlir/lib/Dialect/Bufferization/Transforms/Bufferize.cpp

  Log Message:
  -----------
  [mlir][bufferization] Use original type when convert arg for users (#124826)

This change will keep the memory space information for the tensor if
there is any.


  Commit: 7bd9c780e36399394fe8eae9678eb448d53e33f0
      https://github.com/llvm/llvm-project/commit/7bd9c780e36399394fe8eae9678eb448d53e33f0
  Author: Thurston Dang <thurston at google.com>
  Date:   2025-01-28 (Tue, 28 Jan 2025)

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

  Log Message:
  -----------
  [msan][NFCI] Generalize handleIntrinsicByApplyingToShadow to allow alternative intrinsic for shadows (#124831)

https://github.com/llvm/llvm-project/pull/124159 uses
handleIntrinsicByApplyingToShadow for horizontal add/sub, but Vitaly
recommends always using the add version to avoid false negatives for
fully uninitialized data
(https://github.com/llvm/llvm-project/issues/124662).

This patch lays the groundwork by generalizing
handleIntrinsicByApplyingToShadow to allow using a different intrinsic
(of the same type as the original intrinsic) for the shadow. Planned
work will apply it to horizontal sub.


  Commit: 9d8dc45d17088300e9e2086594ca581b119193c8
      https://github.com/llvm/llvm-project/commit/9d8dc45d17088300e9e2086594ca581b119193c8
  Author: vdonaldson <37090318+vdonaldson at users.noreply.github.com>
  Date:   2025-01-28 (Tue, 28 Jan 2025)

  Changed paths:
    M flang/include/flang/Tools/TargetSetup.h
    M flang/runtime/exceptions.cpp

  Log Message:
  -----------
  [flang] IEEE underflow control for Arm (#124807)

Update IEEE_SUPPORT_UNDERFLOW_CONTROL, IEEE_GET_UNDERFLOW_MODE, and
IEEE_SET_UNDERFLOW_MODE code for Arm.


  Commit: 9f660625bee629d2cc644e2b8ac698ed3288693c
      https://github.com/llvm/llvm-project/commit/9f660625bee629d2cc644e2b8ac698ed3288693c
  Author: Louis Dionne <ldionne.2 at gmail.com>
  Date:   2025-01-28 (Tue, 28 Jan 2025)

  Changed paths:
    M libcxx/include/__new/allocate.h

  Log Message:
  -----------
  [libc++] Disable CFI in __libcpp_allocate (#124805)

Since we're casting uninitialized memory, we must disable CFI checks.


  Commit: c47a57393c2bb773e95bcda397a6467f4fffcf9f
      https://github.com/llvm/llvm-project/commit/c47a57393c2bb773e95bcda397a6467f4fffcf9f
  Author: lntue <lntue at google.com>
  Date:   2025-01-28 (Tue, 28 Jan 2025)

  Changed paths:
    M libc/test/src/math/smoke/CMakeLists.txt
    M libc/test/src/math/smoke/cospif16_test.cpp
    M libc/test/src/math/smoke/exp2m1f16_test.cpp
    M libc/test/src/math/smoke/sinpif16_test.cpp

  Log Message:
  -----------
  [libc] Fix conversion warnings for float16 tests. (#124830)

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


  Commit: 6338bde5681cada2181febb4bf64feb51207995e
      https://github.com/llvm/llvm-project/commit/6338bde5681cada2181febb4bf64feb51207995e
  Author: Florian Hahn <flo at fhahn.com>
  Date:   2025-01-28 (Tue, 28 Jan 2025)

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

  Log Message:
  -----------
  [VPlan] Use cast<VPRecipeBase> in verifier (NFC).

All users of VPValue must be a VPRecipeBase, use cast.


  Commit: ed199c8d7668c14e9e9e8e4bfa59793e3f7f0266
      https://github.com/llvm/llvm-project/commit/ed199c8d7668c14e9e9e8e4bfa59793e3f7f0266
  Author: lntue <lntue at google.com>
  Date:   2025-01-28 (Tue, 28 Jan 2025)

  Changed paths:
    M libc/src/__support/FPUtil/except_value_utils.h

  Log Message:
  -----------
  [libc] Workaround for gcc complaining about implicit conversions with the ternary ?: operator. (#124820)

Fixes https://github.com/llvm/llvm-project/issues/120427,
https://github.com/llvm/llvm-project/issues/122745

This is caused by a -Wconversion false-positive bug in gcc:
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=101537


  Commit: 2cbf2798ae55ddc36aac130df21353fc82891bcf
      https://github.com/llvm/llvm-project/commit/2cbf2798ae55ddc36aac130df21353fc82891bcf
  Author: Matheus Izvekov <mizvekov at gmail.com>
  Date:   2025-01-28 (Tue, 28 Jan 2025)

  Changed paths:
    M clang/docs/ReleaseNotes.rst
    M clang/lib/Sema/SemaTemplateDeduction.cpp
    M clang/test/SemaTemplate/cwg2398.cpp

  Log Message:
  -----------
  [clang] fix nondeduced mismatch with nullptr template arguments (#124498)

In deduction, when comparing template arguments of value kind, we should
check if the value matches. Values of different types can still match.
For example, `short(0)` matches `int(0)`.

Values of nullptr kind always match each other, since there is only one
such possible value. Similarly to integrals, the type does not matter.


  Commit: 26f4e2a701f7c303f18ed8f97d263138e14bcd48
      https://github.com/llvm/llvm-project/commit/26f4e2a701f7c303f18ed8f97d263138e14bcd48
  Author: Joseph Huber <huberjn at outlook.com>
  Date:   2025-01-28 (Tue, 28 Jan 2025)

  Changed paths:
    M libc/docs/gpu/rpc.rst

  Log Message:
  -----------
  [libc][docs] Fix the RPC documentation leaking ports

Summary:
Forgot to close it, that'll make it deadlock after awhile.


  Commit: 9d7999885a6aa2c4afc252a645448b4f1666e951
      https://github.com/llvm/llvm-project/commit/9d7999885a6aa2c4afc252a645448b4f1666e951
  Author: Alex Langford <alangford at apple.com>
  Date:   2025-01-28 (Tue, 28 Jan 2025)

  Changed paths:
    M lldb/include/lldb/API/LLDB.h
    M lldb/include/lldb/API/SBDefines.h

  Log Message:
  -----------
  [lldb] Update API headers for SBProgress (#124836)

Some clients only include LLDB.h and they won't get access to SBProgress
without this.


  Commit: e89e7c4685aa673173220eace7a0a8b64dbd2391
      https://github.com/llvm/llvm-project/commit/e89e7c4685aa673173220eace7a0a8b64dbd2391
  Author: Dave Lee <davelee.com at gmail.com>
  Date:   2025-01-28 (Tue, 28 Jan 2025)

  Changed paths:
    M lldb/utils/lldb-dotest/lldb-dotest.in

  Log Message:
  -----------
  [lldb] Fix lldb-dotest.in to use args determined by CMake (#124811)

This change is required as a result of the changes made in D132642
(bb26ebb4d18c1877cc6fd17aa803609abeb95096).


  Commit: a06c89387621b0a040e6203e7f1a2d8243f5be33
      https://github.com/llvm/llvm-project/commit/a06c89387621b0a040e6203e7f1a2d8243f5be33
  Author: Louis Dionne <ldionne.2 at gmail.com>
  Date:   2025-01-28 (Tue, 28 Jan 2025)

  Changed paths:
    M libcxxabi/src/cxa_exception_storage.cpp

  Log Message:
  -----------
  [libc++abi] Make once_flag constinit in cxa_exception_storage (#124627)

This makes it clearer that initialization of this global variable is
taking place at compile-time, reducing the likelihood of static
initialization order fiasco.


  Commit: 35df525fd00c2037ef144189ee818b7d612241ff
      https://github.com/llvm/llvm-project/commit/35df525fd00c2037ef144189ee818b7d612241ff
  Author: Diego Caballero <dieg0ca6aller0 at gmail.com>
  Date:   2025-01-28 (Tue, 28 Jan 2025)

  Changed paths:
    M mlir/include/mlir/Conversion/Passes.td
    M mlir/include/mlir/Dialect/Vector/IR/Vector.td
    M mlir/include/mlir/Dialect/Vector/IR/VectorOps.td
    M mlir/include/mlir/Transforms/Passes.td
    M mlir/lib/Conversion/ConvertToSPIRV/ConvertToSPIRVPass.cpp
    M mlir/lib/Conversion/VectorToSPIRV/VectorToSPIRV.cpp
    M mlir/lib/Conversion/VectorToSPIRV/VectorToSPIRVPass.cpp
    M mlir/lib/Dialect/Vector/IR/VectorOps.cpp
    M mlir/lib/Transforms/CMakeLists.txt
    M mlir/lib/Transforms/Canonicalizer.cpp
    M mlir/test/Conversion/VectorToLLVM/vector-to-llvm.mlir
    M mlir/test/Conversion/VectorToSPIRV/vector-to-spirv.mlir
    M mlir/test/Dialect/Vector/canonicalize.mlir
    M mlir/test/Dialect/Vector/invalid.mlir
    M mlir/test/Dialect/Vector/ops.mlir

  Log Message:
  -----------
  [mlir][Vector] Add support for poison indices to `Extract/IndexOp` (#123488)

Following up on #122188, this PR adds support for poison indices to
`ExtractOp` and `InsertOp`. It also includes canonicalization patterns
to turn extract/insert ops with poison indices into `ub.poison`.


  Commit: c2fba023475fddb893eac29dc9f34dfbdb221cd5
      https://github.com/llvm/llvm-project/commit/c2fba023475fddb893eac29dc9f34dfbdb221cd5
  Author: goldsteinn <35538541+goldsteinn at users.noreply.github.com>
  Date:   2025-01-28 (Tue, 28 Jan 2025)

  Changed paths:
    M llvm/lib/Analysis/ValueTracking.cpp
    M llvm/test/Analysis/ValueTracking/phi-known-bits.ll

  Log Message:
  -----------
  [ValueTracking] Fix bug of using wrong condition for deducing KnownBits (#124481)

- **[ValueTracking] Add test for issue 124275**
- **[ValueTracking] Fix bug of using wrong condition for deducing
KnownBits**

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

Bug was introduced by https://github.com/llvm/llvm-project/pull/114689

Now that computeKnownBits supports breaking out of recursive Phi
nodes, `IncValue` can be an operand of a different Phi than `P`. This
breaks the previous assumptions we had when using the possibly
condition at `CxtI` to constrain `IncValue`.


  Commit: 1f7eb6f403bc0e453b76d9274994d840561e96cf
      https://github.com/llvm/llvm-project/commit/1f7eb6f403bc0e453b76d9274994d840561e96cf
  Author: Alex Langford <alangford at apple.com>
  Date:   2025-01-28 (Tue, 28 Jan 2025)

  Changed paths:
    M lldb/include/lldb/API/SBProgress.h
    M lldb/source/API/SBProgress.cpp

  Log Message:
  -----------
  [lldb] Make SBProgress move-only (#124843)

I wanted to clarify the semantics around SBProgress. Given the nature of
Progress events, copying seems like the wrong idea. Making SBProgress
move-only (like SBStream) seems like the better choice here.


  Commit: 4eb7c349a616827a3ec9bea57718516409103caa
      https://github.com/llvm/llvm-project/commit/4eb7c349a616827a3ec9bea57718516409103caa
  Author: Jorge Gorbe Moya <jgorbe at google.com>
  Date:   2025-01-28 (Tue, 28 Jan 2025)

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

  Log Message:
  -----------
  [bazel] Fix build after 35df525fd00c2037ef144189ee818b7d612241ff


  Commit: 6bb6c305752adef5a0034e4a039df19487ce8945
      https://github.com/llvm/llvm-project/commit/6bb6c305752adef5a0034e4a039df19487ce8945
  Author: Matheus Izvekov <mizvekov at gmail.com>
  Date:   2025-01-28 (Tue, 28 Jan 2025)

  Changed paths:
    M clang/include/clang/Sema/Sema.h
    M clang/lib/Sema/SemaLookup.cpp
    M clang/lib/Sema/SemaTemplate.cpp
    M clang/lib/Sema/SemaTemplateDeduction.cpp
    M clang/lib/Sema/SemaTemplateInstantiateDecl.cpp

  Log Message:
  -----------
  [clang] NFC: cleanup check template argument (#124668)


  Commit: 3a1e157454ecd186404eafe75882b88bce772340
      https://github.com/llvm/llvm-project/commit/3a1e157454ecd186404eafe75882b88bce772340
  Author: Jorge Gorbe Moya <jgorbe at google.com>
  Date:   2025-01-28 (Tue, 28 Jan 2025)

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

  Log Message:
  -----------
  [bazel] More fixes for 35df525fd00c2037ef144189ee818b7d612241ff

I missed a couple spots in my previous attempt to fix the build
(4eb7c349a616827a3ec9bea57718516409103caa).


  Commit: 548ecde42886149dd4d69366d7c2dc02076a7083
      https://github.com/llvm/llvm-project/commit/548ecde42886149dd4d69366d7c2dc02076a7083
  Author: Stephen Tozer <Stephen.Tozer at sony.com>
  Date:   2025-01-28 (Tue, 28 Jan 2025)

  Changed paths:
    M clang/test/CodeGen/extend-variable-liveness-except.cpp

  Log Message:
  -----------
  Add extra explicit triple to fix errors from #110102

Attempted fix for errors observed on:
https://luci-milo.appspot.com/ui/p/fuchsia/builders/toolchain.ci/clang-windows-x64/b8724466517233166081/overview

Following the previous fixes, one test that needed an explicit triple
was missed; this commit adds that triple.


  Commit: 4a426079d60a664419dfc98855a798c4103fbbf0
      https://github.com/llvm/llvm-project/commit/4a426079d60a664419dfc98855a798c4103fbbf0
  Author: Thurston Dang <thurston at google.com>
  Date:   2025-01-28 (Tue, 28 Jan 2025)

  Changed paths:
    M llvm/lib/Transforms/Instrumentation/MemorySanitizer.cpp
    M llvm/test/Instrumentation/MemorySanitizer/X86/avx-intrinsics-x86.ll
    M llvm/test/Instrumentation/MemorySanitizer/X86/avx2-intrinsics-x86.ll
    M llvm/test/Instrumentation/MemorySanitizer/X86/mmx-intrinsics.ll
    M llvm/test/Instrumentation/MemorySanitizer/i386/avx-intrinsics-i386.ll
    M llvm/test/Instrumentation/MemorySanitizer/i386/avx2-intrinsics-i386.ll
    M llvm/test/Instrumentation/MemorySanitizer/i386/mmx-intrinsics.ll

  Log Message:
  -----------
  [msan] Use horizontal add to compute shadow for horizontal sub (#124835)

This improves the horizontal sub handling (from
https://github.com/llvm/llvm-project/pull/124159), by always using
horizontal add for the shadow, as recommended by Vitaly.

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


  Commit: 381218950e9c0fc17256e1fe4093fd108acc2ac4
      https://github.com/llvm/llvm-project/commit/381218950e9c0fc17256e1fe4093fd108acc2ac4
  Author: nerix <nero.9 at hotmail.de>
  Date:   2025-01-28 (Tue, 28 Jan 2025)

  Changed paths:
    M clang/lib/CodeGen/CGDebugInfo.cpp
    A clang/test/CodeGenCXX/debug-info-ms-novtable.cpp

  Log Message:
  -----------
  [clang-cl]: generate debug info when `novtable` is specified (#124643)

When no vtable is emitted in the debug info because a record was marked
`__declspec(novtable)`, only a forward declaration of that type will be
emitted. This PR fixes that by not omitting the definition for the
`RecordDecl` in this case.

Fixes #124638.


  Commit: 38902153fe66cb7a0685728a5a489dff944b4033
      https://github.com/llvm/llvm-project/commit/38902153fe66cb7a0685728a5a489dff944b4033
  Author: gulfemsavrun <gulfem at google.com>
  Date:   2025-01-28 (Tue, 28 Jan 2025)

  Changed paths:
    M llvm/docs/ReleaseNotes.md
    M llvm/lib/Passes/PassBuilderPipelines.cpp
    M llvm/test/Other/new-pm-lto-defaults.ll

  Log Message:
  -----------
  [PassBuilder] Add RelLookupTableConverterPass to LTO (#124053)

[PassBuilder] Add RelLookupTableConverterPass to LTO

This patch adds RelLookupTableConverterPass into the LTO
post-link optimization pass pipeline. This optimization
converts lookup tables to relative lookup tables to make
them PIC-friendly, which is already included in the non-LTO
pass pipeline. This patch adds this optimization to the
post-link optimization pipeline to discover more
opportunities in the LTO context.


  Commit: 437040fe3df48eeb8584c25b45f0058e8fbac098
      https://github.com/llvm/llvm-project/commit/437040fe3df48eeb8584c25b45f0058e8fbac098
  Author: Raphael Kubo da Costa <rakuco at FreeBSD.org>
  Date:   2025-01-28 (Tue, 28 Jan 2025)

  Changed paths:
    M llvm/cmake/config-ix.cmake

  Log Message:
  -----------
  [CMake] Use shm_open, not clock_gettime, to detect librt (#120727)

On systems with glibc, clock_gettime() was moved from librt to libc in
version 2.17, in which case the current librt detection attempt would
always fail.

Look for shm_open instead, like other parts of the tree also do when
looking for librt.

Co-authored-by: Raphael Kubo da Costa <kubo at igalia.com>


  Commit: e7f02241ad4d38fc50b63ad589a024323e6bc3c6
      https://github.com/llvm/llvm-project/commit/e7f02241ad4d38fc50b63ad589a024323e6bc3c6
  Author: Prabhuk <prabhukr at google.com>
  Date:   2025-01-28 (Tue, 28 Jan 2025)

  Changed paths:
    M llvm/include/llvm/TargetParser/Triple.h
    M llvm/lib/IR/DataLayout.cpp
    M llvm/lib/MC/MCContext.cpp
    M llvm/lib/MC/TargetRegistry.cpp
    M llvm/lib/Target/X86/MCTargetDesc/X86MCAsmInfo.cpp
    M llvm/lib/Target/X86/X86MCInstLower.cpp
    M llvm/lib/Target/X86/X86Subtarget.h

  Log Message:
  -----------
  [nfc][llvm] Clean up isUEFI checks (#124845)

The check for `isOSWindows() || isUEFI()` is used in several places
across the codebase. Introducing `isOSWindowsOrUEFI()` in Triple.h
to simplify these checks.


  Commit: 8aae191cb6ad1f2dfc468975e4f5e564fea3cbfd
      https://github.com/llvm/llvm-project/commit/8aae191cb6ad1f2dfc468975e4f5e564fea3cbfd
  Author: yonghong-song <yhs at fb.com>
  Date:   2025-01-28 (Tue, 28 Jan 2025)

  Changed paths:
    M llvm/lib/Target/BPF/BPFMIPeephole.cpp
    A llvm/test/CodeGen/BPF/may_goto_1.ll
    A llvm/test/CodeGen/BPF/may_goto_2.ll

  Log Message:
  -----------
  [BPF] Remove 'may_goto 0' instructions (#123482)

Emil Tsalapatis from Meta reported such a case where 'may_goto 0' insn
is generated by clang compiler. But 'may_goto 0' insn is actually a
no-op so it makes sense to remove that in llvm. The patch is also able
to handle the following code pattern
```
   ...
   may_goto 2
   may_goto 1
   may_goto 0
   ...
```
where three may_goto insns can all be removed.

---------

Co-authored-by: Yonghong Song <yonghong.song at linux.dev>


  Commit: b8cdc5ea2741c7e4062bb211bac7033189b4d802
      https://github.com/llvm/llvm-project/commit/b8cdc5ea2741c7e4062bb211bac7033189b4d802
  Author: Thurston Dang <thurston at google.com>
  Date:   2025-01-28 (Tue, 28 Jan 2025)

  Changed paths:
    A llvm/test/Instrumentation/MemorySanitizer/X86/avx512-intrinsics-upgrade.ll
    A llvm/test/Instrumentation/MemorySanitizer/X86/avx512-intrinsics.ll

  Log Message:
  -----------
  Reapply "[msan] Add avx512-intrinsics.ll and avx512-intrinsics-upgrade.ll test case (#123980)" (#124500)

This reverts commit b2647ffbf797dd5a457b6b19faab06956934d067 i.e.,
relands https://github.com/llvm/llvm-project/commit/980e86f130eea02bd41b887f4ed896340fc90f6c.

I had reverted the original patch because of buildbot failures (e.g., https://lab.llvm.org/buildbot/#/builders/13/builds/4938/steps/5/logs/FAIL__LLVM__avx512-intrinsics-upgrade_ll). This reland addresses the likely root cause; namely, that the target datalayout had not been specified.

Additionally, this reland improves the test case by replacing undef with extra parameters.


  Commit: 28507ac62928d79f647804de4df60409b3ebb364
      https://github.com/llvm/llvm-project/commit/28507ac62928d79f647804de4df60409b3ebb364
  Author: Fabian Tschopp <fabian.tschopp at modular.com>
  Date:   2025-01-28 (Tue, 28 Jan 2025)

  Changed paths:
    M mlir/lib/Bindings/Python/IRAttributes.cpp

  Log Message:
  -----------
  [MLIR] Fix thread safety of the deleter in PyDenseResourceElementsAttribute (#124832)

In general, `PyDenseResourceElementsAttribute` can get deleted at any
time and any thread, where unlike the `getFromBuffer` call, the Python
interpreter may not be initialized and the GIL may not be held.

This PR fixes segfaults caused by `PyBuffer_Release` when the GIL is not
being held by the thread calling the deleter.


  Commit: 617278e7b0c937fccbf7d67d14f053c3409bc33f
      https://github.com/llvm/llvm-project/commit/617278e7b0c937fccbf7d67d14f053c3409bc33f
  Author: Sam Clegg <sbc at chromium.org>
  Date:   2025-01-28 (Tue, 28 Jan 2025)

  Changed paths:
    A lld/test/wasm/shared-lazy.s
    M lld/wasm/SymbolTable.cpp

  Log Message:
  -----------
  [lld][WebAssembly] Fix for shared library symbols WRT replacing lazy symbols (#124619)

The rule here, which I'm copying from the ELF linker, is that shared
library symbols should take presence, unless the symbol has already be
extracted from the archive. e.g:

```
$ wasm-ld foo.a foo.so ref.o  // .so wins
$ wasm-ld foo.a ref.o foo.so  // .a wins
```

In the first case the shared library takes precedence because the lazy
symbol is replaced by the .so symbol before it is extracted from the
archive. In the second example the ref.o file causes the archive to be
exracted before the .so file is processed, so in that case the archive
file wins.

Fixes: https://github.com/emscripten-core/emscripten/issues/23501


  Commit: 98d6dd39887361ff2161401614da0b7854234419
      https://github.com/llvm/llvm-project/commit/98d6dd39887361ff2161401614da0b7854234419
  Author: Veera <32646674+veera-sivarajan at users.noreply.github.com>
  Date:   2025-01-28 (Tue, 28 Jan 2025)

  Changed paths:
    M llvm/docs/LangRef.rst

  Log Message:
  -----------
  [LLVM][LangRef][noalias] Remove Redundant Line and Improve Wording (#124685)

Removes a redundant line and improves punctuation and wording in the
paragraph describing the `noalias` attribute.


  Commit: 6b654a09c2b689438237252d6f0fbcb25c993703
      https://github.com/llvm/llvm-project/commit/6b654a09c2b689438237252d6f0fbcb25c993703
  Author: andrewjcg <agallagher at fb.com>
  Date:   2025-01-28 (Tue, 28 Jan 2025)

  Changed paths:
    M compiler-rt/lib/asan/asan_allocator.cpp
    M compiler-rt/lib/asan/asan_suppressions.cpp
    M compiler-rt/lib/asan/asan_suppressions.h
    A compiler-rt/test/asan/TestCases/suppressions-alloc-dealloc-mismatch.cpp

  Log Message:
  -----------
  [sanitizer] Support "alloc_dealloc_mismatch" suppressions (#124197)

This adds a stack-based suppression for alloc-dealloc-mismatch
violations, using the function name to match.


  Commit: 79cbad188afd5268235b00267d37ce39544dbd3c
      https://github.com/llvm/llvm-project/commit/79cbad188afd5268235b00267d37ce39544dbd3c
  Author: vporpo <vporpodas at google.com>
  Date:   2025-01-28 (Tue, 28 Jan 2025)

  Changed paths:
    M llvm/include/llvm/SandboxIR/Context.h
    M llvm/include/llvm/Transforms/Vectorize/SandboxVectorizer/SandboxVectorizer.h
    M llvm/lib/SandboxIR/Context.cpp
    M llvm/lib/Transforms/Vectorize/SandboxVectorizer/SandboxVectorizer.cpp
    M llvm/unittests/Transforms/Vectorize/SandboxVectorizer/CMakeLists.txt
    A llvm/unittests/Transforms/Vectorize/SandboxVectorizer/SandboxVectorizerTest.cpp

  Log Message:
  -----------
  [SandboxVec] Clear Context's state within runOnFunction() (#124842)

`sandboxir::Context` is defined at a pass-level scope with the
`SandboxVectorizerPass` class because the function pass manager `FPM`
object depends on it, and that is in pass-level scope to avoid
recreating the pass pipeline every single time `runOnFunction()` is
called.

This means that the Context's state lives on across function passes. The
problem is twofold:
(i) the LLVM IR to Sandbox IR map can grow very large including objects
from different functions, which is of no use to the vectorizer, as it's
a function-level pass.
(ii) this can result in stale data in the LLVM IR to Sandbox IR object
map, as other passes may delete LLVM IR objects.

To fix both issues this patch introduces a `Context::clear()` function
that clears the `LLVMValueToValueMap`.


  Commit: d0052ebbe2e2f691ec42cad3c8613ef387abc53f
      https://github.com/llvm/llvm-project/commit/d0052ebbe2e2f691ec42cad3c8613ef387abc53f
  Author: Lang Hames <lhames at gmail.com>
  Date:   2025-01-29 (Wed, 29 Jan 2025)

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

  Log Message:
  -----------
  [ORC][LLJIT] Install eh-frame registration plugin during platform setup.

Attempt to install the EHFrameRegistrationPlugin during GenericLLVMIRPlatform
setup, rather than object linking layer creation time.

Platform classes are responsible for exception handling: installing the plugin
unconditionally during linking-layer construction could result in frames being
registered more than once when native platform classes are used.

This is a precursor to re-landing compact unwind support (4f0325873fa).


  Commit: 60927405f5612158ae0419798838be45a1637911
      https://github.com/llvm/llvm-project/commit/60927405f5612158ae0419798838be45a1637911
  Author: Akira Hatanaka <ahatanak at gmail.com>
  Date:   2025-01-28 (Tue, 28 Jan 2025)

  Changed paths:
    M clang/CMakeLists.txt
    M clang/include/clang/Basic/Version.inc.in
    M clang/lib/Frontend/CompilerInvocation.cpp

  Log Message:
  -----------
  Don't use CLANG_VERSION_MAJOR to check that the value passed to -fclang-abi-compat= is valid (#123998)

Use LLVM_VERSION_MAJOR instead as the maximum allowed value. This change
is needed to fix regression tests that fail when vendors set
CLANG_VERSION_MAJOR to a value that is lower than LLVM_VERSION_MAJOR
when building the compiler.

For example, clang/test/CodeGenCXX/mangle-concept.cpp fails with the
following error if -DCLANG_VERSION_MAJOR=17 is passed to cmake:

invalid value '19' in '-fclang-abi-compat=19'


  Commit: ff271d04a2fe0af0ad43e9c0bce1cbb10912dc32
      https://github.com/llvm/llvm-project/commit/ff271d04a2fe0af0ad43e9c0bce1cbb10912dc32
  Author: Luke Lau <luke at igalia.com>
  Date:   2025-01-29 (Wed, 29 Jan 2025)

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

  Log Message:
  -----------
  [RISCV][VLOPT] Fix assertion failure across blocks (#124734)

Whilst adding a cross-block test, I encountered an assertion failure in
the second pass where we check the instruction popped off the worklist
is a candidate.

The leaf instruction %c in this case will be added to the worklist when
its VL is VLMAX, but during the first pass it will have its VL reduced
to 1.

Then in the second pass when its processed via the worklist, isCandidate
will no longer be true due to its VL == 1.

This fixes it by moving the VL == 1 check to tryReduceVL, keeping it
alongside the other VL check for bailing out early as an optimisation.


  Commit: fdadef9be33fb3f0844b85c35a63a8a4137382dd
      https://github.com/llvm/llvm-project/commit/fdadef9be33fb3f0844b85c35a63a8a4137382dd
  Author: Thurston Dang <thurston at google.com>
  Date:   2025-01-28 (Tue, 28 Jan 2025)

  Changed paths:
    M llvm/lib/Transforms/Instrumentation/MemorySanitizer.cpp
    M llvm/test/Instrumentation/MemorySanitizer/X86/avx512-intrinsics-upgrade.ll
    M llvm/test/Instrumentation/MemorySanitizer/X86/avx512-intrinsics.ll

  Log Message:
  -----------
  [msan] Handle x86_avx512_(min|max)_p[sd]_512 intrinsics (#124421)

The AVX/SSE variants are already handled heuristically (maybeHandleSimpleNomemIntrinsic via handleUnknownIntrinsic), but the AVX512 variants contain an additional parameter (the rounding method) which fails to match heuristically. This patch generalizes maybeHandleSimpleNomemIntrinsic to allow additional flags (ignored by MSan) and explicitly call it to handle AVX512 min/max ps/pd intrinsics.

It also updates the test added in https://github.com/llvm/llvm-project/pull/123980


  Commit: 8c2574832ed2064996389e4259eaf0bea0fa7951
      https://github.com/llvm/llvm-project/commit/8c2574832ed2064996389e4259eaf0bea0fa7951
  Author: Matheus Izvekov <mizvekov at gmail.com>
  Date:   2025-01-29 (Wed, 29 Jan 2025)

  Changed paths:
    M clang/lib/AST/StmtPrinter.cpp
    M clang/lib/AST/TextNodeDumper.cpp
    M clang/test/AST/HLSL/StructuredBuffers-AST.hlsl
    M clang/test/AST/HLSL/TypedBuffers-AST.hlsl
    M clang/test/AST/ast-dump-decl.c
    M clang/test/AST/ast-dump-records.c
    M clang/test/AST/ast-dump-records.cpp
    M clang/test/AST/attr-counted-by-late-parsed-struct-ptrs.c
    M clang/test/AST/attr-counted-by-or-null-late-parsed-struct-ptrs.c
    M clang/test/AST/attr-counted-by-or-null-struct-ptrs.c
    M clang/test/AST/attr-counted-by-struct-ptrs.c
    M clang/test/AST/attr-sized-by-late-parsed-struct-ptrs.c
    M clang/test/AST/attr-sized-by-or-null-late-parsed-struct-ptrs.c
    M clang/test/AST/attr-sized-by-or-null-struct-ptrs.c
    M clang/test/AST/attr-sized-by-struct-ptrs.c
    A clang/test/Analysis/anonymous-parameter.cpp
    M clang/test/Import/cxx-anon-namespace/test.cpp
    M clang/test/Modules/odr_hash.cpp
    M clang/test/SemaTemplate/aggregate-deduction-candidate.cpp
    M clang/test/SemaTemplate/deduction-crash.cpp
    M clang/test/SemaTemplate/deduction-guide.cpp

  Log Message:
  -----------
  Reland: [clang] improve print / dump of anonymous declarations (#124858)


  Commit: 3bd3e06f3fe418e24af65457877f40cee0544f9d
      https://github.com/llvm/llvm-project/commit/3bd3e06f3fe418e24af65457877f40cee0544f9d
  Author: Tom Stellard <tstellar at redhat.com>
  Date:   2025-01-28 (Tue, 28 Jan 2025)

  Changed paths:
    M clang-tools-extra/docs/ReleaseNotes.rst
    M clang/docs/ReleaseNotes.rst
    M cmake/Modules/LLVMVersion.cmake
    M libcxx/docs/ReleaseNotes.rst
    A libcxx/docs/ReleaseNotes/21.rst
    M libcxx/include/__config
    M lld/docs/ReleaseNotes.rst
    M llvm/docs/ReleaseNotes.md
    M llvm/utils/gn/secondary/llvm/version.gni
    M llvm/utils/lit/lit/__init__.py
    M openmp/docs/ReleaseNotes.rst
    M pstl/docs/ReleaseNotes.rst

  Log Message:
  -----------
  Bump version to 21.0.0git (#124870)

Also clear the release notes.


  Commit: 3a3377579f137a0a6e14b60d891a9736707e7e8d
      https://github.com/llvm/llvm-project/commit/3a3377579f137a0a6e14b60d891a9736707e7e8d
  Author: Hyunsung Lee <ita9naiwa at gmail.com>
  Date:   2025-01-28 (Tue, 28 Jan 2025)

  Changed paths:
    M mlir/lib/Dialect/Math/Transforms/ExpandPatterns.cpp
    M mlir/test/Dialect/Math/expand-math.mlir
    M mlir/test/mlir-runner/test-expand-math-approx.mlir

  Log Message:
  -----------
  [mlir][math]Update `convertPowfOp` `ExpandPatterns.cpp` (#124402)

The current implementation of `convertPowfOp` requires a calculation of
`a * a` but, max\<fp16\> ~= 65,504, and if `a` is about 16, it will
overflow so get INF in fp8 or fp16 easily.


Remove support when `a < 0`. Overhead of handling negative value of `a`
is large and easy to overflow;

- related issue in iree:
https://github.com/iree-org/iree/issues/15936


  Commit: 23763a1200edfe209d1e334d1d1ff71b2a992b3a
      https://github.com/llvm/llvm-project/commit/23763a1200edfe209d1e334d1d1ff71b2a992b3a
  Author: David CARLIER <devnexen at gmail.com>
  Date:   2025-01-29 (Wed, 29 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] mremap for Linux interception. (#124234)


  Commit: 4c7aa6f983685e93ebb8ad0cc41247bca0d6db9b
      https://github.com/llvm/llvm-project/commit/4c7aa6f983685e93ebb8ad0cc41247bca0d6db9b
  Author: Fangrui Song <i at maskray.me>
  Date:   2025-01-28 (Tue, 28 Jan 2025)

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

  Log Message:
  -----------
  [msan] Fix -Wunused-variable in non-assertion builds after #124421


  Commit: cdced8e5bc422a28b42d1bdfb74629cc720a4dfe
      https://github.com/llvm/llvm-project/commit/cdced8e5bc422a28b42d1bdfb74629cc720a4dfe
  Author: Alan Li <me at alanli.org>
  Date:   2025-01-29 (Wed, 29 Jan 2025)

  Changed paths:
    M mlir/lib/Dialect/Vector/Transforms/VectorEmulateNarrowType.cpp
    M mlir/test/Dialect/Vector/vector-emulate-narrow-type-unaligned.mlir

  Log Message:
  -----------
  [MLIR] Implement emulation of static indexing subbyte type vector stores (#115922)

This patch enables unaligned, statically indexed storing of vectors with
sub emulation width element types.

To illustrate the mechanism, consider the example of storing
vector<7xi2> into memref<3x7xi2>[1, 0].
In this case the linearized indices of those bits being overwritten are
[14, 28), which are:

* the last 2 bits of byte no.2
* byte no.3
* first 4 bits of byte no.4

Because memory accesses are in bytes, byte no.2 and no.4 in the above
example are only being modified partially.
In the case of multi-threading scenario, in order to avoid data
contention, these two bytes must be handled atomically.


  Commit: 8675cd3facc063673c47ed585bd4b7013119fe1f
      https://github.com/llvm/llvm-project/commit/8675cd3facc063673c47ed585bd4b7013119fe1f
  Author: Luke Lau <luke at igalia.com>
  Date:   2025-01-29 (Wed, 29 Jan 2025)

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

  Log Message:
  -----------
  [RISCV][VLOPT] Compute demanded VLs up front (#124530)

This replaces the worklist by instead computing what VL is demanded by
each instruction's users first, which is done via checkUsers.

The demanded VLs are stored in a DenseMap, and then we can just do a
single forward pass of tryReduceVL where we check if a candidate's
demanded VL is less than its VLOp.

This means the pass should now be linear in complexity, and allows us to
relax the restriction on tied operands in more easily as in #124066.


  Commit: 9052b37ab1aa67a039b34356f37236fecc42bac2
      https://github.com/llvm/llvm-project/commit/9052b37ab1aa67a039b34356f37236fecc42bac2
  Author: Lang Hames <lhames at gmail.com>
  Date:   2025-01-29 (Wed, 29 Jan 2025)

  Changed paths:
    M llvm/tools/lli/lli.cpp

  Log Message:
  -----------
  [ORC][LLI] Remove redundant eh-frame registration plugin construction from lli.

As of d0052ebbe2e the setUpGenericLLVMIRPlatform function will automatically
add an instance of the EHFrameRegistrationPlugin (for LLJIT instances whose
object linking layers are ObjectLinkingLayers, not RTDyldObjectLinkingLayers).

This commit removes the redundant plugin creation in the object linking
layer constructor function in lli.cpp to prevent duplicate registration of
eh-frames, which is likely the cause of recent bot failures, e.g.
https://lab.llvm.org/buildbot/#/builders/108/builds/8685.


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

  Changed paths:
    M flang/CMakeLists.txt
    M flang/include/flang/Optimizer/Builder/Runtime/Main.h
    A flang/include/flang/Runtime/CUDA/init.h
    M flang/lib/Lower/Bridge.cpp
    M flang/lib/Optimizer/Builder/Runtime/Main.cpp
    M flang/runtime/CUDA/CMakeLists.txt
    A flang/runtime/CUDA/init.cpp
    M flang/runtime/environment.cpp
    M flang/runtime/environment.h

  Log Message:
  -----------
  [flang][cuda] Allow to set the stack limit size (#124859)

This patch adds a call to the CUFInit function just after `ProgramStart`
when CUDA Fortran is enabled to initialize the CUDA context. This allows
us to set up some context information like the stack limit that can be
defined by an environment variable `ACC_OFFLOAD_STACKSIZE=<value>`.


  Commit: 9ec4f474c0f4846fccbd770adeec784c83a9a060
      https://github.com/llvm/llvm-project/commit/9ec4f474c0f4846fccbd770adeec784c83a9a060
  Author: Ellis Hoag <ellis.sparky.hoag at gmail.com>
  Date:   2025-01-28 (Tue, 28 Jan 2025)

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

  Log Message:
  -----------
  [GlobPattern] Fix doxygen docs (#124361)

Fix the docs for the `GlobPattern` class.
https://llvm.org/docs/doxygen/classllvm_1_1GlobPattern.html

I've tried to fix this a few times, but I finally got around to building
`doxygen-llvm` to verify that my fixed worked.

For some reason, `\p` does not work well with `/`. Instead I'm using
<code>`</code> to make a codespan, which is more correct anyway.
https://www.doxygen.nl/manual/markdown.html#md_codespan


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

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

  Log Message:
  -----------
  [clang-format] Simplify ConfigParseTest for int/unsigned options (#124704)

Also add a number of missing tests for unsigned options.


  Commit: ab6d41eae12b29bcb99ed66ca8edb48296ccfe42
      https://github.com/llvm/llvm-project/commit/ab6d41eae12b29bcb99ed66ca8edb48296ccfe42
  Author: Andarwinux <144242044+Andarwinux at users.noreply.github.com>
  Date:   2025-01-28 (Tue, 28 Jan 2025)

  Changed paths:
    M llvm/cmake/modules/AddLLVM.cmake

  Log Message:
  -----------
  Add llvm-driver to the list of toolchain tools (#123083)

If LLVM_TOOL_LLVM_DRIVER_BUILD is enabled, make sure
LLVM_TOOLCHAIN_TOOLS includes llvm-driver, otherwise with
LLVM_INSTALL_TOOLCHAIN_ONLY will install an invalid toolchain

Co-authored-by: Andarwinux <Andarwinux at users.noreply.github.com>


  Commit: d4159e2a1d1d640077b2e5cde66b0a284049955f
      https://github.com/llvm/llvm-project/commit/d4159e2a1d1d640077b2e5cde66b0a284049955f
  Author: Srinivasa Ravi <srinivasar at nvidia.com>
  Date:   2025-01-29 (Wed, 29 Jan 2025)

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

  Log Message:
  -----------
  [MLIR][NVVM] Add support for griddepcontrol Ops (#124603)

Adds `griddepcontrol.wait` and `griddepcontrol.launch.dependents`
MLIR Ops to generate griddepcontrol instructions.

`griddepcontrol` - Allows dependent and prerequisite grids as defined by
the runtime to control execution in the following ways:

- `griddepcontrol.wait` - causes the executing thread to wait until all
  prerequisite grids in flight have completed and all the memory
  operations from the prerequisite grids are performed and made visible
  to the current grid.

- `griddepcontrol.launch.dependents` - signals that specific dependents
  the runtime system designated to react to this instruction can be
  scheduled as soon as all other CTAs in the grid issue the same
  instruction or have completed.

PTX Spec Reference:

https://docs.nvidia.com/cuda/parallel-thread-execution/#parallel-synchronization-and-communication-instructions-griddepcontrol


  Commit: b0924ed64e0d814ab23fa474c2047030dd3a2f46
      https://github.com/llvm/llvm-project/commit/b0924ed64e0d814ab23fa474c2047030dd3a2f46
  Author: natedal <125322768+natedal at users.noreply.github.com>
  Date:   2025-01-29 (Wed, 29 Jan 2025)

  Changed paths:
    M llvm/test/Transforms/AggressiveInstCombine/memchr.ll

  Log Message:
  -----------
  [AggressiveInstCombine] Add tests for memchr inline threshold (NFC) (#121711)

This adds a test checking that, if length=2, memchr is called. This is
undesirable as it would be faster to directly compare the two array
elements with the target element, rather than calling the external
memchr function.


  Commit: 77e44e59665e6c12c3d74c57650040d82e1c7161
      https://github.com/llvm/llvm-project/commit/77e44e59665e6c12c3d74c57650040d82e1c7161
  Author: Nico Weber <thakis at chromium.org>
  Date:   2025-01-28 (Tue, 28 Jan 2025)

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

  Log Message:
  -----------
  [gn] port 60927405f561


  Commit: 3feb724496238ce10d32e8c2bd84b4ea50f9977e
      https://github.com/llvm/llvm-project/commit/3feb724496238ce10d32e8c2bd84b4ea50f9977e
  Author: Mingming Liu <mingmingl at google.com>
  Date:   2025-01-28 (Tue, 28 Jan 2025)

  Changed paths:
    M llvm/include/llvm/CodeGen/CommandFlags.h
    M llvm/include/llvm/CodeGen/TargetLoweringObjectFileImpl.h
    M llvm/include/llvm/Target/TargetLoweringObjectFile.h
    M llvm/include/llvm/Target/TargetMachine.h
    M llvm/include/llvm/Target/TargetOptions.h
    M llvm/lib/CodeGen/AsmPrinter/AsmPrinter.cpp
    M llvm/lib/CodeGen/CommandFlags.cpp
    M llvm/lib/CodeGen/StaticDataSplitter.cpp
    M llvm/lib/CodeGen/TargetLoweringObjectFileImpl.cpp
    M llvm/lib/CodeGen/TargetPassConfig.cpp
    M llvm/lib/Target/TargetLoweringObjectFile.cpp
    M llvm/test/CodeGen/X86/jump-table-partition.ll

  Log Message:
  -----------
  [AsmPrinter][ELF] Support profile-guided section prefix for jump tables' (read-only) data sections (#122215)

https://github.com/llvm/llvm-project/pull/122183 adds a codegen pass to
infer machine jump table entry's hotness from the MBB hotness. This is a
follow-up PR to produce `.hot` and or `.unlikely` section prefix for
jump table's (read-only) data sections in the relocatable `.o` files.

When this patch is enabled, linker will see {`.rodata`, `.rodata.hot`,
`.rodata.unlikely`} in input sections. It can map `.rodata.hot` and
`.rodata` in the input sections to `.rodata.hot` in the executable, and
map `.rodata.unlikely` into `.rodata` with a pending extension to
`--keep-text-section-prefix` like
https://github.com/llvm/llvm-project/commit/059e7cbb66a30ce35f3ee43197eed1a106b50c5b,
or with a linker script.

1. To partition hot and jump tables, the AsmPrinter pass slices a function's jump table indices into two groups, one for hot and the other for cold jump tables. It then emits hot jump tables into a `.hot`-prefixed data section and cold ones into a `.unlikely`-prefixed data section, retaining the relative order of `LJT<N>` labels within each group.

2. [ELF only] To have data sections with _dynamic_ names (e.g., `.rodata.hot[.func]`), we implement
`TargetLoweringObjectFile::getSectionForJumpTable` method that accepts a `MachineJumpTableEntry` parameter, and update `selectELFSectionForGlobal` to generate `.hot` or `.unlikely` based on
MJTE's hotness.
    - The dynamic JT section name doesn't depend on `-ffunction-section=true` or `-funique-section-names=true`, even though it leverages the similar underlying mechanism to have a MCSection with on-demand name as `-ffunction-section` does.

3. The new code path is off by default.
    - Typically, `TargetOptions` conveys clang or LLVM tools' options to code generation passes. To follow the pattern, add option `EnableStaticDataPartitioning` bit in `TargetOptions` and make it
readable through `TargetMachine`.
    - To enable the new code path in tools like `llc`, `partition-static-data-sections` option is introduced in
`CodeGen/CommandFlags.h/cpp`.
    -  A subsequent patch
([draft](https://github.com/llvm/llvm-project/commit/8f36a1374365862b3ca9be5615dd38f02a318c45)) will add a clang option to enable the new code path.

---------

Co-authored-by: Ellis Hoag <ellis.sparky.hoag at gmail.com>


  Commit: 1c3ea59daac23f17dadb30903ae1df085ce38a4a
      https://github.com/llvm/llvm-project/commit/1c3ea59daac23f17dadb30903ae1df085ce38a4a
  Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
  Date:   2025-01-29 (Wed, 29 Jan 2025)

  Changed paths:
    M llvm/utils/gn/secondary/llvm/unittests/Transforms/Vectorize/SandboxVectorizer/BUILD.gn

  Log Message:
  -----------
  [gn build] Port 79cbad188afd


  Commit: 2ec27848c00cda734697619047e640eadb254555
      https://github.com/llvm/llvm-project/commit/2ec27848c00cda734697619047e640eadb254555
  Author: Matthias Gehre <matthias.gehre at amd.com>
  Date:   2025-01-29 (Wed, 29 Jan 2025)

  Changed paths:
    M mlir/include/mlir/Dialect/Affine/Utils.h
    M mlir/lib/Dialect/Affine/Utils/Utils.cpp
    M mlir/lib/Dialect/MemRef/Transforms/NormalizeMemRefs.cpp
    M mlir/test/Dialect/MemRef/normalize-memrefs.mlir

  Log Message:
  -----------
  [MLIR] normalize-memrefs: Normalize memref.alloca (#123293)

The pass was only handling `memref.alloc` and this extends it to also
handle `memref.alloca`.


  Commit: d34462409757731e158909250d2a4be4f9d2de80
      https://github.com/llvm/llvm-project/commit/d34462409757731e158909250d2a4be4f9d2de80
  Author: Matthias Gehre <matthias.gehre at amd.com>
  Date:   2025-01-29 (Wed, 29 Jan 2025)

  Changed paths:
    M mlir/test/lit.cfg.py

  Log Message:
  -----------
  MLIR: asan: Fix python tests under asan on Linux (#123303)

Running MLIR python tests unders asan currently fails with
```
executed command: 'LD_PRELOAD=$(/usr/bin/clang++-17' '-print-file-name=libclang_rt.asan-x86_64.so)' /scratch/slx-llvm/.venv-3.10/bin/python3.10 /scratch/slx-llvm/mlir/test/python/ir/context_lifecycle.py

| 'LD_PRELOAD=$(/usr/bin/clang++-17': command not found
```
because lit doesn't quite understand the syntax.
To fix, we resolve the path to `libclang_rt.asan-x86_64.so` within the
lit configuration. This has the additional benefit that we don't have to
call `clang++` for every test.

Co-authored-by: Philipp-Jan Honysz <Philipp.Honysz at amd.com>


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

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

  Log Message:
  -----------
  [TableGen] Use MCRegister::id() to avoid an implicit conversion from MCRegister to unsigned. NFC


  Commit: 267e293510ad0e273443bc1b6c3655f6307e3992
      https://github.com/llvm/llvm-project/commit/267e293510ad0e273443bc1b6c3655f6307e3992
  Author: NAKAMURA Takumi <geek4civic at gmail.com>
  Date:   2025-01-29 (Wed, 29 Jan 2025)

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

  Log Message:
  -----------
  [bazel] Introduce MAX_CLANG_ABI_COMPAT_VERSION (for #123998)


  Commit: 71edfd6230268af93a2195896827cd45d203a250
      https://github.com/llvm/llvm-project/commit/71edfd6230268af93a2195896827cd45d203a250
  Author: Akshat Oke <Akshat.Oke at amd.com>
  Date:   2025-01-29 (Wed, 29 Jan 2025)

  Changed paths:
    M llvm/lib/Target/AMDGPU/AMDGPUPassRegistry.def

  Log Message:
  -----------
  [AMDGPU][NewPM] Sketch out a AMDGPUPassRegistry skeleton (#124785)

Add a dummy pass skeleton list to help track the progress in porting
passes to NPM.


  Commit: a3aa452a21f983237873fa85c866b9f0224789bd
      https://github.com/llvm/llvm-project/commit/a3aa452a21f983237873fa85c866b9f0224789bd
  Author: Akshat Oke <Akshat.Oke at amd.com>
  Date:   2025-01-29 (Wed, 29 Jan 2025)

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

  Log Message:
  -----------
  [CodeGen] RegisterCoalescer: Remove unused AliasAnalysis dependency (#124773)


  Commit: 07efe2c18a63423943a4f9d9daeada23601f84c8
      https://github.com/llvm/llvm-project/commit/07efe2c18a63423943a4f9d9daeada23601f84c8
  Author: Nikita Popov <npopov at redhat.com>
  Date:   2025-01-29 (Wed, 29 Jan 2025)

  Changed paths:
    M llvm/lib/Analysis/ScalarEvolution.cpp
    M llvm/test/Analysis/ScalarEvolution/pr123550.ll

  Log Message:
  -----------
  [SCEV] Check correct value for UB (#124302)

This is a followup to #117152. That patch introduced a check for
UB/poison on BEValue. However, the SCEV we're actually going to use is
Shifted. In some cases, it's possible for Shifted to contain UB, while
BEValue doesn't.

In the test case the values are:

BEValue: (-1 * (zext i8 (-83 + ((-83 /u {1,+,1}<%loop>) *
{-1,+,-1}<%loop>)) to i32))<nuw><nsw>
Shifted: (-173 + (-1 * (zext i8 ((-83 /u {0,+,1}<%loop>) *
{0,+,-1}<%loop>) to i32))<nuw><nsw>)<nuw><nsw>

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


  Commit: c836b8956d393f98e0d4e136799a33f1bd06e5f5
      https://github.com/llvm/llvm-project/commit/c836b8956d393f98e0d4e136799a33f1bd06e5f5
  Author: David Sherwood <david.sherwood at arm.com>
  Date:   2025-01-29 (Wed, 29 Jan 2025)

  Changed paths:
    M llvm/test/Transforms/LoopVectorize/AArch64/no_vector_instructions.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/scalable-vectorization-cost-tuning.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/scalable-vectorization.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/streaming-vectorization.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/sve2-histcnt-outerloop-scevaddrec.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/sve2-histcnt-vplan.ll
    M llvm/test/Transforms/LoopVectorize/ARM/arm-ieee-vectorize.ll
    M llvm/test/Transforms/LoopVectorize/RISCV/force-vect-msg.ll
    M llvm/test/Transforms/LoopVectorize/RISCV/reg-usage-bf16.ll
    M llvm/test/Transforms/LoopVectorize/RISCV/reg-usage-f16.ll
    M llvm/test/Transforms/LoopVectorize/RISCV/reg-usage.ll
    M llvm/test/Transforms/LoopVectorize/RISCV/riscv-interleaved.ll
    M llvm/test/Transforms/LoopVectorize/RISCV/vectorize-force-tail-with-evl-reduction-cost.ll
    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-f32-stride-5.ll
    M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-load-f32-stride-6.ll
    M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-load-f32-stride-7.ll
    M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-load-f32-stride-8.ll
    M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-load-f64-stride-2.ll
    M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-load-f64-stride-3.ll
    M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-load-f64-stride-4.ll
    M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-load-f64-stride-5.ll
    M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-load-f64-stride-6.ll
    M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-load-f64-stride-7.ll
    M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-load-f64-stride-8.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-5.ll
    M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-load-i16-stride-6.ll
    M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-load-i16-stride-7.ll
    M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-load-i16-stride-8.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-01uu.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-5.ll
    M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-load-i32-stride-6.ll
    M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-load-i32-stride-7.ll
    M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-load-i32-stride-8.ll
    M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-load-i64-stride-2.ll
    M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-load-i64-stride-3.ll
    M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-load-i64-stride-4.ll
    M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-load-i64-stride-5.ll
    M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-load-i64-stride-6.ll
    M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-load-i64-stride-7.ll
    M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-load-i64-stride-8.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-load-i8-stride-5.ll
    M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-load-i8-stride-6.ll
    M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-load-i8-stride-7.ll
    M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-load-i8-stride-8.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-f32-stride-8.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-f64-stride-8.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-i16-stride-8.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-i32-stride-8.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-i64-stride-8.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/interleaved-store-i8-stride-8.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-interleaved-load-i16.ll
    M llvm/test/Transforms/LoopVectorize/X86/CostModel/masked-interleaved-store-i16.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
    M llvm/test/Transforms/LoopVectorize/X86/CostModel/masked-scatter-i32-with-i8-index.ll
    M llvm/test/Transforms/LoopVectorize/X86/CostModel/masked-scatter-i64-with-i8-index.ll
    M llvm/test/Transforms/LoopVectorize/X86/CostModel/masked-store-i16.ll
    M llvm/test/Transforms/LoopVectorize/X86/CostModel/masked-store-i32.ll
    M llvm/test/Transforms/LoopVectorize/X86/CostModel/masked-store-i64.ll
    M llvm/test/Transforms/LoopVectorize/X86/CostModel/masked-store-i8.ll
    M llvm/test/Transforms/LoopVectorize/X86/CostModel/scatter-i16-with-i8-index.ll
    M llvm/test/Transforms/LoopVectorize/X86/CostModel/scatter-i32-with-i8-index.ll
    M llvm/test/Transforms/LoopVectorize/X86/CostModel/scatter-i64-with-i8-index.ll
    M llvm/test/Transforms/LoopVectorize/X86/CostModel/scatter-i8-with-i8-index.ll
    M llvm/test/Transforms/LoopVectorize/X86/CostModel/strided-load-i16.ll
    M llvm/test/Transforms/LoopVectorize/X86/CostModel/strided-load-i32.ll
    M llvm/test/Transforms/LoopVectorize/X86/CostModel/strided-load-i64.ll
    M llvm/test/Transforms/LoopVectorize/X86/CostModel/strided-load-i8.ll
    M llvm/test/Transforms/LoopVectorize/explicit_outer_detection.ll
    M llvm/test/Transforms/LoopVectorize/explicit_outer_nonuniform_inner.ll
    M llvm/test/Transforms/LoopVectorize/explicit_outer_uniform_diverg_branch.ll
    M llvm/test/Transforms/LoopVectorize/loop-vect-memdep.ll
    M llvm/test/Transforms/LoopVectorize/nounroll.ll
    M llvm/test/Transforms/LoopVectorize/optimal-epilog-vectorization-limitations.ll
    M llvm/test/Transforms/LoopVectorize/optimal-epilog-vectorization-scalable.ll
    M llvm/test/Transforms/LoopVectorize/scalable-vf-hint.ll
    M llvm/test/Transforms/LoopVectorize/scalarized-bitcast.ll
    M llvm/test/Transforms/LoopVectorize/uncountable-single-exit-loops.ll
    M llvm/test/Transforms/LoopVectorize/vect.stats.ll
    M llvm/test/Transforms/LoopVectorize/vplan-unused-interleave-group.ll

  Log Message:
  -----------
  [LoopVectorize][NFC] Disable output for tests that don't need it (#124747)

There are a lot of tests that do not depend upon the IR output
for validation, relying instead on the debug output. For these
tests we can add the -disable-output command line argument.


  Commit: 5d3ae5161210c068d01ffba36c8e0761e9971179
      https://github.com/llvm/llvm-project/commit/5d3ae5161210c068d01ffba36c8e0761e9971179
  Author: Matthias Gehre <matthias.gehre at amd.com>
  Date:   2025-01-29 (Wed, 29 Jan 2025)

  Changed paths:
    M mlir/include/mlir-c/BuiltinAttributes.h
    M mlir/lib/Bindings/Python/IRAttributes.cpp
    M mlir/lib/CAPI/IR/BuiltinAttributes.cpp
    M mlir/test/python/dialects/builtin.py
    M mlir/test/python/ir/array_attributes.py
    M mlir/test/python/ir/attributes.py

  Log Message:
  -----------
  Reapply "[mlir][python] allow DenseIntElementsAttr for index type (#118947)" (#124804)

This reapplies #118947 and adapts to nanobind.


  Commit: 9326633abd0e59fc77072488ee8cded4fe83c8a1
      https://github.com/llvm/llvm-project/commit/9326633abd0e59fc77072488ee8cded4fe83c8a1
  Author: Brad Smith <brad at comstyle.com>
  Date:   2025-01-29 (Wed, 29 Jan 2025)

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

  Log Message:
  -----------
  [lldb] Remove PATH workaround for Android (#124682)


  Commit: 51c7338cc671c90ba9345b53c7ca01dc461341ed
      https://github.com/llvm/llvm-project/commit/51c7338cc671c90ba9345b53c7ca01dc461341ed
  Author: Timm Baeder <tbaeder at redhat.com>
  Date:   2025-01-29 (Wed, 29 Jan 2025)

  Changed paths:
    M clang/lib/AST/ByteCode/Compiler.cpp
    M clang/lib/AST/ByteCode/Descriptor.cpp
    M clang/lib/AST/ByteCode/Interp.cpp
    M clang/lib/AST/ByteCode/InterpBuiltin.cpp
    M clang/lib/AST/ByteCode/Pointer.cpp
    M clang/lib/AST/ByteCode/Pointer.h
    M clang/test/AST/ByteCode/cxx2a.cpp
    M clang/test/SemaCXX/constant-expression-p2280r4.cpp

  Log Message:
  -----------
  [clang][bytecode] Fix dummy handling for p2280r4 (#124396)

This makes some other problems show up like the fact that we didn't
suppress diagnostics during __builtin_constant_p evaluation.


  Commit: e811cb00e533e9737db689e35ee6cb0d5af536cc
      https://github.com/llvm/llvm-project/commit/e811cb00e533e9737db689e35ee6cb0d5af536cc
  Author: Jean-Didier PAILLEUX <jean-di.pailleux at outlook.com>
  Date:   2025-01-29 (Wed, 29 Jan 2025)

  Changed paths:
    M flang/include/flang/Parser/dump-parse-tree.h
    M flang/include/flang/Parser/parse-tree.h
    M flang/lib/Lower/Bridge.cpp
    M flang/lib/Parser/Fortran-parsers.cpp
    M flang/lib/Parser/unparse.cpp
    M flang/lib/Semantics/canonicalize-directives.cpp
    M flang/lib/Semantics/resolve-names.cpp
    A flang/test/Integration/unroll.f90
    A flang/test/Lower/unroll.f90
    M flang/test/Parser/compiler-directives.f90
    M flang/test/Semantics/loop-directives.f90

  Log Message:
  -----------
  [flang] Implement !DIR$ UNROLL [N] (#123331)

This patch implements support for the UNROLL directive to control how
many times a loop should be unrolled.
It must be placed immediately before a `DO LOOP` and applies only to the
loop that follows. N is an integer that specifying the unrolling factor.
This is done by adding an attribute to the branch into the loop in LLVM
to indicate that the loop should unrolled.
The code pushed to support the directive `VECTOR ALWAYS` has been
modified to take account of the fact that several directives can be used
before a `DO LOOP`.


  Commit: 5a34e6fdceac40da3312d96273e4b5d767f4a481
      https://github.com/llvm/llvm-project/commit/5a34e6fdceac40da3312d96273e4b5d767f4a481
  Author: Jean-Didier PAILLEUX <jean-di.pailleux at outlook.com>
  Date:   2025-01-29 (Wed, 29 Jan 2025)

  Changed paths:
    M flang/docs/Intrinsics.md
    M flang/include/flang/Optimizer/Builder/IntrinsicCall.h
    M flang/include/flang/Optimizer/Builder/Runtime/Intrinsics.h
    M flang/include/flang/Runtime/extensions.h
    M flang/lib/Evaluate/intrinsics.cpp
    M flang/lib/Optimizer/Builder/IntrinsicCall.cpp
    M flang/lib/Optimizer/Builder/Runtime/Intrinsics.cpp
    M flang/runtime/extensions.cpp
    A flang/test/Lower/Intrinsics/chdir.f90

  Log Message:
  -----------
  [flang] Implement CHDIR intrinsic (#124280)

This intrinsic is a gnu extension
(https://gcc.gnu.org/onlinedocs/gfortran/CHDIR.html) and is used in
FLEUR (https://github.com/JuDFTteam/FLEUR).


  Commit: e902cf2df1718b46f83ff132bf4ec5f84b163209
      https://github.com/llvm/llvm-project/commit/e902cf2df1718b46f83ff132bf4ec5f84b163209
  Author: Jacek Caban <jacek at codeweavers.com>
  Date:   2025-01-29 (Wed, 29 Jan 2025)

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

  Log Message:
  -----------
  [LLD][COFF] Write both native and EC export symbols to the import library on ARM64X (#124833)


  Commit: 1ac3665e66c7ddb20ef26bc275ad005186ab09fb
      https://github.com/llvm/llvm-project/commit/1ac3665e66c7ddb20ef26bc275ad005186ab09fb
  Author: Fraser Cormack <fraser at codeplay.com>
  Date:   2025-01-29 (Wed, 29 Jan 2025)

  Changed paths:
    M clang/docs/LanguageExtensions.rst
    M clang/include/clang/Sema/Sema.h
    M clang/lib/Sema/SemaChecking.cpp
    M clang/lib/Sema/SemaExpr.cpp
    M clang/test/CodeGen/builtins-elementwise-math.c
    M clang/test/CodeGenHLSL/builtins/dot-builtin.hlsl
    M clang/test/CodeGenHLSL/implicit-norecurse-attrib.hlsl
    M clang/test/Sema/builtins-elementwise-math.c
    M clang/test/SemaHLSL/BuiltIns/mad-errors.hlsl

  Log Message:
  -----------
  [clang] Restrict the use of scalar types in vector builtins (#119423)

This commit restricts the use of scalar types in vector math builtins,
particularly the `__builtin_elementwise_*` builtins.

Previously, small scalar integer types would be promoted to `int`, as
per the usual conversions. This would silently do the wrong thing for
certain operations, such as `add_sat`, `popcount`, `bitreverse`, and
others. Similarly, since unsigned integer types were promoted to `int`,
something like `add_sat(unsigned char, unsigned char)` would perform a
*signed* operation.

With this patch, promotable scalar integer types are not promoted to
int, and are kept intact. If any of the types differ in the binary and
ternary builtins, an error is issued. Similarly an error is issued if
builtins are supplied integer types of different signs. Mixing enums of
different types in binary/ternary builtins now consistently raises an
error in all language modes.

This brings the behaviour surrounding scalar types more in line with
that of vector types. No change is made to vector types, which are both
not promoted and whose element types must match.

Fixes #84047.

RFC:
https://discourse.llvm.org/t/rfc-change-behaviour-of-elementwise-builtins-on-scalar-integer-types/83725


  Commit: 2a1f79582f93505020339d47b0963d616541a6ab
      https://github.com/llvm/llvm-project/commit/2a1f79582f93505020339d47b0963d616541a6ab
  Author: Henrich Lauko <xlauko at mail.muni.cz>
  Date:   2025-01-29 (Wed, 29 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/instructions.ll

  Log Message:
  -----------
  [MLIR] Fix import of invokes with mismatched variadic types (#124828)

This resolves the same issue addressed in
https://github.com/llvm/llvm-project/pull/124286, but for invoke
operations. The issue arose from duplicated logic for both imports. This
PR also refactors the common import code for call and invoke
instructions to mitigate issues in the future.


  Commit: 776ef9d1bec66875c554e8a5bd0e3ae8c9543d9a
      https://github.com/llvm/llvm-project/commit/776ef9d1bec66875c554e8a5bd0e3ae8c9543d9a
  Author: David Sherwood <david.sherwood at arm.com>
  Date:   2025-01-29 (Wed, 29 Jan 2025)

  Changed paths:
    M llvm/test/Transforms/LoopVectorize/AArch64/simple_early_exit.ll
    M llvm/test/Transforms/LoopVectorize/single_early_exit.ll
    M llvm/test/Transforms/LoopVectorize/single_early_exit_live_outs.ll

  Log Message:
  -----------
  [LoopVectorize][NFC] Regenerate some early exit test CHECK lines (#124900)


  Commit: 9ea64dd8781328d831d7c69a586f0c84dece1c11
      https://github.com/llvm/llvm-project/commit/9ea64dd8781328d831d7c69a586f0c84dece1c11
  Author: David Spickett <david.spickett at linaro.org>
  Date:   2025-01-29 (Wed, 29 Jan 2025)

  Changed paths:
    M lldb/docs/resources/build.rst
    M lldb/source/Plugins/ScriptInterpreter/Python/PythonDataObjects.cpp
    M lldb/source/Plugins/ScriptInterpreter/Python/ScriptInterpreterPython.cpp
    M lldb/source/Plugins/ScriptInterpreter/Python/lldb-python.h
    M lldb/unittests/ScriptInterpreter/Python/PythonDataObjectsTests.cpp
    M llvm/docs/ReleaseNotes.md

  Log Message:
  -----------
  [lldb] Make Python >= 3.8 required for LLDB 21 (#124735)

As decided on
https://discourse.llvm.org/t/rfc-lets-document-and-enforce-a-minimum-python-version-for-lldb/82731.

LLDB 20 recommended `>= 3.8` but did not remove support for anything
earlier. Now we are in what will become LLDB 21, so I'm removing that
support and making
`>= 3.8` required.

See https://docs.python.org/3/c-api/apiabiversion.html#c.PY_VERSION_HEX
for the format of PY_VERSION_HEX.


  Commit: db567eaca07133a374991153635a119d9eec066b
      https://github.com/llvm/llvm-project/commit/db567eaca07133a374991153635a119d9eec066b
  Author: David Spickett <david.spickett at linaro.org>
  Date:   2025-01-29 (Wed, 29 Jan 2025)

  Changed paths:
    M lldb/source/Plugins/ScriptInterpreter/Python/ScriptInterpreterPython.cpp

  Log Message:
  -----------
  [lldb][NFC] Format part of ScriptInterpreterPython.cpp

Was flagged in https://github.com/llvm/llvm-project/pull/124735
but done separately so it didn't get in the way of that.


  Commit: 89e767f1277b43862ca417810f23f70596536b81
      https://github.com/llvm/llvm-project/commit/89e767f1277b43862ca417810f23f70596536b81
  Author: Ryotaro Kasuga <kasuga.ryotaro at fujitsu.com>
  Date:   2025-01-29 (Wed, 29 Jan 2025)

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

  Log Message:
  -----------
  [LoopIdiom] Move up atomic checks for memcpy/memmove (NFC) (#124535)

This patch moves up the checks that verify if it is legal to replace the
atomic load/store with memcpy. Currently these checks are done after we
determine to convert the load/store to memcpy/memmove, which makes the
logic a bit confusing.

This patch is a prelude to #50892


  Commit: e80d934aa6c1a0adc18a1d7327eec5623fa68357
      https://github.com/llvm/llvm-project/commit/e80d934aa6c1a0adc18a1d7327eec5623fa68357
  Author: Alex Bradbury <asb at igalia.com>
  Date:   2025-01-29 (Wed, 29 Jan 2025)

  Changed paths:
    R llvm/test/ExecutionEngine/2010-01-15-UndefValue.ll
    A llvm/test/ExecutionEngine/Interpreter/2010-01-15-UndefValue.ll
    A llvm/test/ExecutionEngine/Interpreter/test-interp-target-ext-type.ll
    A llvm/test/ExecutionEngine/Interpreter/test-interp-vec-cast.ll
    A llvm/test/ExecutionEngine/Interpreter/test-interp-vec-insertelement.ll
    A llvm/test/ExecutionEngine/Interpreter/test-interp-vec-insertextractvalue.ll
    A llvm/test/ExecutionEngine/Interpreter/test-interp-vec-loadstore.ll
    A llvm/test/ExecutionEngine/Interpreter/test-interp-vec-select.ll
    A llvm/test/ExecutionEngine/Interpreter/test-interp-vec-shift.ll
    A llvm/test/ExecutionEngine/Interpreter/test-interp-vec-shuffle.ll
    R llvm/test/ExecutionEngine/test-interp-target-ext-type.ll
    R llvm/test/ExecutionEngine/test-interp-vec-cast.ll
    R llvm/test/ExecutionEngine/test-interp-vec-insertelement.ll
    R llvm/test/ExecutionEngine/test-interp-vec-insertextractvalue.ll
    R llvm/test/ExecutionEngine/test-interp-vec-loadstore.ll
    R llvm/test/ExecutionEngine/test-interp-vec-select.ll
    R llvm/test/ExecutionEngine/test-interp-vec-shift.ll
    R llvm/test/ExecutionEngine/test-interp-vec-shuffle.ll

  Log Message:
  -----------
  [MCJIT][test] Move remaining MCJIT interpreter tests to Interpreter/ subdirectory (#124744)

I left these alone in #124463 but I think it makes sense to clean these
up as well (which Philip also noted in #124464).


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

  Changed paths:
    M llvm/lib/Target/X86/X86TargetTransformInfo.cpp
    M llvm/test/Analysis/CostModel/X86/reduce-xor.ll
    M llvm/test/Analysis/CostModel/X86/reduction.ll
    M llvm/test/Analysis/CostModel/X86/shuffle-extract_subvector.ll
    M llvm/test/Analysis/CostModel/X86/shuffle-insert_subvector.ll
    M llvm/test/Analysis/CostModel/X86/shuffle-single-src.ll
    M llvm/test/Analysis/CostModel/X86/shuffle-transpose.ll
    M llvm/test/Analysis/CostModel/X86/shuffle-two-src.ll
    M llvm/test/Analysis/CostModel/X86/vector-insert-inseltpoison.ll
    M llvm/test/Analysis/CostModel/X86/vector-insert-value.ll
    M llvm/test/Analysis/CostModel/X86/vector-insert.ll
    M llvm/test/Transforms/PhaseOrdering/X86/hadd.ll
    M llvm/test/Transforms/PhaseOrdering/X86/hsub.ll
    M llvm/test/Transforms/SLPVectorizer/X86/load-partial-vector-shuffle.ll
    M llvm/test/Transforms/VectorCombine/X86/extract-cmp-binop.ll

  Log Message:
  -----------
  [CostModel][X86] Reduce worst case v8i16/v16i8 SSE2 shuffle costs (#124789)

These were based off instruction count, not throughput - we can probably improve these further, but these throughput numbers match the worse expanded shuffles we see in the vector-shuffle-128-v* codegen tests.


  Commit: 690f251063d64a59c0c8065dce7023f1916af17c
      https://github.com/llvm/llvm-project/commit/690f251063d64a59c0c8065dce7023f1916af17c
  Author: Ryotaro Kasuga <kasuga.ryotaro at fujitsu.com>
  Date:   2025-01-29 (Wed, 29 Jan 2025)

  Changed paths:
    M llvm/lib/Transforms/Scalar/LoopInterchange.cpp
    A llvm/test/Transforms/LoopInterchange/outer-dependency-lte.ll

  Log Message:
  -----------
  [LoopInterchange] Handle LE and GE correctly (#124901)

LoopInterchange have converted `DVEntry::LE` and `DVEntry::GE` in
direction vectors to '<' and '>' respectively. This handling is
incorrect because the information about the '=' it lost. This leads to
miscompilation in some cases. To resolve this issue, convert them to '*'
instead.

Resolve #123920


  Commit: f20b8e35b3bc276d09a6911746f9d44cbb5de297
      https://github.com/llvm/llvm-project/commit/f20b8e35b3bc276d09a6911746f9d44cbb5de297
  Author: Dmitriy Smirnov <dmitriy.smirnov at arm.com>
  Date:   2025-01-29 (Wed, 29 Jan 2025)

  Changed paths:
    M mlir/include/mlir/Dialect/Linalg/IR/LinalgOps.td
    M mlir/lib/Dialect/Linalg/IR/LinalgOps.cpp
    M mlir/lib/Dialect/Linalg/Transforms/WinogradConv2D.cpp
    M mlir/test/Dialect/Linalg/transform-tile-and-winograd-rewrite.mlir
    M mlir/test/Dialect/Linalg/transform-tile-winograd.mlir

  Log Message:
  -----------
  [MLIR][Linalg] Fixes for Winograd decomposition and for tiling (#123675)

The PR addresses issues with the filters of 1 x r and of r x 1 and with
the tiling.

---------

Signed-off-by: Dmitriy Smirnov <dmitriy.smirnov at arm.com>


  Commit: 5e43418e0edbc365a9fbf699b19573e0cae4bcf4
      https://github.com/llvm/llvm-project/commit/5e43418e0edbc365a9fbf699b19573e0cae4bcf4
  Author: Oliver Stannard <oliver.stannard at arm.com>
  Date:   2025-01-29 (Wed, 29 Jan 2025)

  Changed paths:
    M clang/lib/Basic/Targets/ARM.cpp
    A clang/test/Sema/arm-execute-only-tls.c

  Log Message:
  -----------
  [ARM] Forbid use of TLS with execute-only (#124806)

Thread-local code generation requires constant pools because most of the
relocations needed for it operate on data, so it cannot be used with
-mexecute-only (or -mpure-code, which is aliased in the driver).

Without this we hit an assertion in the backend when trying to generate
a constant pool.


  Commit: 36b3c43524c8ca86a5050496b8773f07c5ccddff
      https://github.com/llvm/llvm-project/commit/36b3c43524c8ca86a5050496b8773f07c5ccddff
  Author: Oliver Stannard <oliver.stannard at arm.com>
  Date:   2025-01-29 (Wed, 29 Jan 2025)

  Changed paths:
    M llvm/lib/Target/AArch64/AArch64InstrInfo.td
    A llvm/test/CodeGen/AArch64/pauthlr-prologue-duplication.mir

  Log Message:
  -----------
  [AArch64] PAUTH_PROLOGUE should not be duplicated with PAuthLR (#124775)

When using PAuthLR, the PAUTH_PROLOGUE expands into a sequence of
instructions which takes the address of one of those instructions, and
uses that address to compute the return address signature. If this is
duplicated, there will be two different addresses used in calculating
the signature, so the epilogue will only be correct for (at most) one of
them.

This change also restricts code generation when using v8.3-A return
address signing, without PAuthLR. This isn't strictly needed, as
duplicating the prologue there would be valid. We could fix this by
having two copies of PAUTH_PROLOGUE, with and without isNotDuplicable,
but I don't think it's worth adding the extra complexity to a security
feature for that.


  Commit: 2b55ef187cb6029eed43d7f4c0a3640c32691b31
      https://github.com/llvm/llvm-project/commit/2b55ef187cb6029eed43d7f4c0a3640c32691b31
  Author: Florian Hahn <flo at fhahn.com>
  Date:   2025-01-29 (Wed, 29 Jan 2025)

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

  Log Message:
  -----------
  [VPlan] Add helper to run VPlan passes, verify after run (NFC). (#123640)

Add new runPass helpers to run a VPlan transformation. This makes it
easier to add additional checks/functionality for each transform run. In
this patch, an option is added to run the verifier after each VPlan
transform.

Follow-ups will use the same helper to also support printing VPlans
after each transform.

Note that the verifier at the moment requires there to be a canonical IV
and vector loop region, so the final lowering transforms aren't run via
runPass yet.

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


  Commit: ecc71de53f8786269ce089501432ee555f98f55b
      https://github.com/llvm/llvm-project/commit/ecc71de53f8786269ce089501432ee555f98f55b
  Author: Jean-Didier PAILLEUX <jean-didier.pailleux at sipearl.com>
  Date:   2025-01-29 (Wed, 29 Jan 2025)

  Changed paths:
    M flang/docs/Intrinsics.md
    M flang/include/flang/Runtime/extensions.h
    M flang/runtime/extensions.cpp
    A flang/test/Lower/Intrinsics/ierrno.f90

  Log Message:
  -----------
  [flang] Implement IERRNO intrinsic (#124281)

Add the implementation of the IERRNO intrinsic to get the last system
error number, as given by the C errno variable.
This intrinsic is also used in RAMSES
(https://github.com/ramses-organisation/ramses/).


  Commit: 12cdf4330d32ce073f88dfaa1ab9a32327b9ef38
      https://github.com/llvm/llvm-project/commit/12cdf4330d32ce073f88dfaa1ab9a32327b9ef38
  Author: Fraser Cormack <fraser at codeplay.com>
  Date:   2025-01-29 (Wed, 29 Jan 2025)

  Changed paths:
    A libclc/clc/include/clc/integer/clc_add_sat.h
    A libclc/clc/include/clc/integer/clc_sub_sat.h
    M libclc/clc/lib/clspv/SOURCES
    M libclc/clc/lib/generic/SOURCES
    A libclc/clc/lib/generic/integer/clc_add_sat.cl
    A libclc/clc/lib/generic/integer/clc_sub_sat.cl
    M libclc/clc/lib/spirv/SOURCES
    M libclc/clc/lib/spirv64/SOURCES
    M libclc/generic/lib/integer/add_sat.cl
    M libclc/generic/lib/integer/sub_sat.cl
    M libclc/generic/lib/math/clc_ldexp.cl

  Log Message:
  -----------
  [libclc] Move (add|sub)_sat to CLC; optimize (#124903)

Using the `__builtin_elementwise_(add|sub)_sat` functions allows us to
directly optimize to the desired intrinsic, and avoid scalarization for
vector types.


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

  Changed paths:
    M llvm/test/CodeGen/X86/vector-idiv-sdiv-512.ll

  Log Message:
  -----------
  [X86] vector-idiv-sdiv-512.ll - regenerate VPTERNLOG comments


  Commit: 87782b216fd3e7a8f8b2de04d4af467b390e9a34
      https://github.com/llvm/llvm-project/commit/87782b216fd3e7a8f8b2de04d4af467b390e9a34
  Author: Adam Siemieniuk <adam.siemieniuk at intel.com>
  Date:   2025-01-29 (Wed, 29 Jan 2025)

  Changed paths:
    M mlir/include/mlir/Dialect/X86Vector/X86Vector.td
    M mlir/lib/Dialect/X86Vector/Transforms/LegalizeForLLVMExport.cpp
    A mlir/test/Dialect/X86Vector/dot-bf16.mlir
    M mlir/test/Dialect/X86Vector/legalize-for-llvm.mlir
    M mlir/test/Dialect/X86Vector/roundtrip.mlir
    M mlir/test/Target/LLVMIR/x86vector.mlir

  Log Message:
  -----------
  [mlir][x86vector] AVX512-BF16 Dot op (#124800)

Adds AVX512 bf16 dot-product operation and defines lowering to LLVM
intrinsics.

AVX512 intrinsic operation definition is extended with an optional
extension field that allows specifying necessary LLVM mnemonic suffix
e.g., `"bf16"` for `x86_avx512bf16_` intrinsics.


  Commit: 2f401458266ccd493802e603e3089dca61f8cf6e
      https://github.com/llvm/llvm-project/commit/2f401458266ccd493802e603e3089dca61f8cf6e
  Author: Alexey Bataev <a.bataev at outlook.com>
  Date:   2025-01-29 (Wed, 29 Jan 2025)

  Changed paths:
    M llvm/lib/Target/RISCV/RISCVTargetTransformInfo.cpp
    M llvm/test/Analysis/CostModel/RISCV/shuffle-exact-vlen.ll
    M llvm/test/Analysis/CostModel/RISCV/shuffle-extract_subvector.ll
    M llvm/test/Analysis/CostModel/RISCV/shuffle-insert_subvector.ll

  Log Message:
  -----------
  [RISCV][TTI]Use processShuffleMasks for cost estimations/actual per-register shuffles

Patch adds usage of processShuffleMasks in TTI for RISCV. This function is already used for X86
shuffles estimations and in DAGTypeLegalizer::SplitVecRes_VECTOR_SHUFFLE
functions and in RISCV codegen.
Patch allows better cost estimation for sparse masks and unifies
cost/codegen between different targets/passes

Reviewers: preames

Reviewed By: preames

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


  Commit: 8d6b24167b7bdc7ac9c969abe73be857bbcf2b5a
      https://github.com/llvm/llvm-project/commit/8d6b24167b7bdc7ac9c969abe73be857bbcf2b5a
  Author: Ingo Müller <ingomueller at google.com>
  Date:   2025-01-29 (Wed, 29 Jan 2025)

  Changed paths:
    M mlir/include/mlir/IR/CommonAttrConstraints.td
    M mlir/test/IR/attribute.mlir
    M mlir/test/lib/Dialect/Test/TestOps.td

  Log Message:
  -----------
  [mlir] Make `TypedStrAttr` actually enforce the string type. (#124770)

The tablgen definition `TypedStrAttr` is an attribute constraints that
is meant to restrict the type of a `StringAttr` to the type given as
parameter. However, the definition did not previously restrict the type;
any `StringAttr` was accepted. This PR makes the definition actually
enforce the type.

To test the constraints, the PR also changes the test op that was
previously used to test this constraint such that the enforced type is
`AnyInteger` instead of `AnyType`. The latter allowed any type, so not
enforcing that constraint had no observable effect. The PR then adds a
test case with a wrong type and ensures that diagnostics are produced.

Signed-off-by: Ingo Müller <ingomueller at google.com>


  Commit: 983562d8c521620e44e1e4080325193b4ff54a92
      https://github.com/llvm/llvm-project/commit/983562d8c521620e44e1e4080325193b4ff54a92
  Author: Ivan Kosarev <ivan.kosarev at amd.com>
  Date:   2025-01-29 (Wed, 29 Jan 2025)

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

  Log Message:
  -----------
  [AMDGPU][NFC] Simplify t16/fake16 TableGen definitions. (#122693)

Infer mnemonics from the names of the records.


  Commit: 66e0498dafbfa7f8fd7deaa88ae62bdf38a12113
      https://github.com/llvm/llvm-project/commit/66e0498dafbfa7f8fd7deaa88ae62bdf38a12113
  Author: David Green <david.green at arm.com>
  Date:   2025-01-29 (Wed, 29 Jan 2025)

  Changed paths:
    M llvm/lib/CodeGen/TargetPassConfig.cpp
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.mfma.gfx950.ll

  Log Message:
  -----------
  [GlobalISel] Do not run verifier after ResetMachineFunctionPass (#124799)

After we fall back from GlobalISel to SDAG, the verifier gets called,
which calls getReservedRegs which uses SIMachineFunctionInfo::usesAGPRs
which caches the result of UsesAGPRs. Because we have just fallen-back
the function is empty and it incorrectly gets cached to false. This
patch makes sure we don't try to run the verifier whilst the function is
empty.


  Commit: 978e0839ae2feb5ddda3e4e0b5a7ddba1727d2d8
      https://github.com/llvm/llvm-project/commit/978e0839ae2feb5ddda3e4e0b5a7ddba1727d2d8
  Author: Zahira Ammarguellat <zahira.ammarguellat at intel.com>
  Date:   2025-01-29 (Wed, 29 Jan 2025)

  Changed paths:
    M clang/lib/Frontend/CompilerInvocation.cpp
    M clang/lib/Frontend/InitPreprocessor.cpp
    M clang/test/OpenMP/declare_mapper_messages.c
    M clang/test/OpenMP/declare_target_ast_print.cpp
    M clang/test/OpenMP/declare_target_messages.cpp
    M clang/test/OpenMP/depobj_messages.cpp
    M clang/test/OpenMP/distribute_parallel_for_ast_print.cpp
    M clang/test/OpenMP/distribute_parallel_for_simd_ast_print.cpp
    M clang/test/OpenMP/distribute_simd_ast_print.cpp
    M clang/test/OpenMP/distribute_simd_misc_messages.c
    M clang/test/OpenMP/driver.c
    M clang/test/OpenMP/error_ast_print.cpp
    M clang/test/OpenMP/error_codegen.cpp
    M clang/test/OpenMP/error_message.cpp
    M clang/test/OpenMP/flush_ast_print.cpp
    M clang/test/OpenMP/flush_codegen.cpp
    M clang/test/OpenMP/for_linear_messages.cpp
    M clang/test/OpenMP/for_simd_ast_print.cpp

  Log Message:
  -----------
  [OpenMP] Allow OMP6.0 features. (#122108)

Add support for the `-fopenmp-version=60` command line argument. It is
needed for https://github.com/llvm/llvm-project/pull/119891 (`#pragma
omp stripe`) which will be the first OpenMP 6.0 directive implemented.
Add regression tests for Clang in `-fopenmp-version=60` mode.


  Commit: 3a29dfe37c585355dc70c7c614f5bbf071cd7efb
      https://github.com/llvm/llvm-project/commit/3a29dfe37c585355dc70c7c614f5bbf071cd7efb
  Author: Acim Maravic <Acim.Maravic at amd.com>
  Date:   2025-01-29 (Wed, 29 Jan 2025)

  Changed paths:
    M clang/include/clang/Basic/BuiltinsAMDGPU.def
    M clang/test/CodeGenOpenCL/builtins-amdgcn-gfx11-err.cl
    M clang/test/CodeGenOpenCL/builtins-amdgcn-gfx12.cl
    M llvm/include/llvm/IR/IntrinsicsAMDGPU.td
    M llvm/lib/Target/AMDGPU/AMDGPURegisterBankInfo.cpp
    M llvm/lib/Target/AMDGPU/DSInstructions.td
    A llvm/test/CodeGen/AMDGPU/llvm.amdgcn.ds.bpermute.fi.b32.ll
    M llvm/test/MC/AMDGPU/gfx11_unsupported.s

  Log Message:
  -----------
  [LLVM][AMDGPU] Add Intrinsic and Builtin for ds_bpermute_fi_b32 (#124616)


  Commit: 008e16242b86fcae41326b8937835cca1e991433
      https://github.com/llvm/llvm-project/commit/008e16242b86fcae41326b8937835cca1e991433
  Author: Adam Siemieniuk <adam.siemieniuk at intel.com>
  Date:   2025-01-29 (Wed, 29 Jan 2025)

  Changed paths:
    M mlir/test/Dialect/X86Vector/dot-bf16.mlir

  Log Message:
  -----------
  [mlir][x86vector] Restrict BF16 dot test to x86 (#124916)

Requires x86 target for the lit test to ensure required instructions are
available.


  Commit: d412fe531dce07fe69961cc4ae7e463c9e60c273
      https://github.com/llvm/llvm-project/commit/d412fe531dce07fe69961cc4ae7e463c9e60c273
  Author: Jan Patrick Lehr <JanPatrick.Lehr at amd.com>
  Date:   2025-01-29 (Wed, 29 Jan 2025)

  Changed paths:
    M offload/cmake/caches/AMDGPUBot.cmake

  Log Message:
  -----------
  [Offload] Enable mlir and flang in bot build (#124915)

This enables more projects in the CMake cache to add them to the
buildbot coverage in the AMDGPU buildbots.


  Commit: 86e20b00c313e96db3b69d440bfb2ca9063f08f0
      https://github.com/llvm/llvm-project/commit/86e20b00c313e96db3b69d440bfb2ca9063f08f0
  Author: Martin Storsjö <martin at martin.st>
  Date:   2025-01-29 (Wed, 29 Jan 2025)

  Changed paths:
    M libcxx/include/fstream
    M libcxx/test/std/input.output/file.streams/fstreams/ifstream.members/offset_range.pass.cpp

  Log Message:
  -----------
  [libcxx] Use _ftelli64/_fseeki64 on Windows (#123128)

This allows using the full 64 bit range for file offsets.

This should fix the issue reported downstream at
https://github.com/mstorsjo/llvm-mingw/issues/462.


  Commit: 058d183980a2f334d085a46c32abded0557aa789
      https://github.com/llvm/llvm-project/commit/058d183980a2f334d085a46c32abded0557aa789
  Author: Andrea Faulds <andrea.faulds at amd.com>
  Date:   2025-01-29 (Wed, 29 Jan 2025)

  Changed paths:
    R mlir/include/mlir/Conversion/ConvertToSPIRV/ConvertToSPIRVPass.h
    M mlir/include/mlir/Conversion/Passes.h
    M mlir/include/mlir/Conversion/Passes.td
    M mlir/lib/Conversion/CMakeLists.txt
    R mlir/lib/Conversion/ConvertToSPIRV/CMakeLists.txt
    R mlir/lib/Conversion/ConvertToSPIRV/ConvertToSPIRVPass.cpp
    M mlir/test/Conversion/ConvertToSPIRV/argmax-kernel.mlir
    M mlir/test/Conversion/ConvertToSPIRV/arith.mlir
    M mlir/test/Conversion/ConvertToSPIRV/combined.mlir
    M mlir/test/Conversion/ConvertToSPIRV/convert-gpu-modules-nested.mlir
    M mlir/test/Conversion/ConvertToSPIRV/convert-gpu-modules.mlir
    M mlir/test/Conversion/ConvertToSPIRV/gpu.mlir
    M mlir/test/Conversion/ConvertToSPIRV/index.mlir
    M mlir/test/Conversion/ConvertToSPIRV/memref.mlir
    M mlir/test/Conversion/ConvertToSPIRV/scf.mlir
    M mlir/test/Conversion/ConvertToSPIRV/simple.mlir
    M mlir/test/Conversion/ConvertToSPIRV/ub.mlir
    M mlir/test/Conversion/ConvertToSPIRV/vector.mlir
    M mlir/test/lib/Pass/CMakeLists.txt
    A mlir/test/lib/Pass/TestConvertToSPIRVPass.cpp
    M mlir/test/lib/Pass/TestVulkanRunnerPipeline.cpp
    M mlir/tools/mlir-opt/mlir-opt.cpp

  Log Message:
  -----------
  [mlir][spirv] Make ConvertToSPIRVPass into a test pass (non-public) (#124301)

With the removal of mlir-vulkan-runner (as part of #73457) in
e7e3c45bc70904e24e2b3221ac8521e67eb84668, this pass no longer has to be
public (previously it had to be so the runner could use it). This commit
makes it instead only available for use by mlir-opt.


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

  Changed paths:
    M llvm/lib/Transforms/InstCombine/InstCombineCalls.cpp
    M llvm/test/Transforms/InstCombine/intrinsic-select.ll

  Log Message:
  -----------
  [InstCombine] Add one-use check when folding fabs over selects (#122270)

Fixes multi-use issue introduced by
https://github.com/llvm/llvm-project/pull/86390.
It allows the folding of `fabs (select Cond, TrueC, FalseC)` to avoid performance regression in ocio


  Commit: 7441e87fe05376782d0ddb90a13e1756eb1b1976
      https://github.com/llvm/llvm-project/commit/7441e87fe05376782d0ddb90a13e1756eb1b1976
  Author: Fraser Cormack <fraser at codeplay.com>
  Date:   2025-01-29 (Wed, 29 Jan 2025)

  Changed paths:
    M libclc/amdgcn/lib/SOURCES
    R libclc/amdgcn/lib/integer/popcount.cl
    R libclc/amdgcn/lib/integer/popcount.inc
    A libclc/clc/include/clc/integer/clc_clz.h
    A libclc/clc/include/clc/integer/clc_hadd.h
    A libclc/clc/include/clc/integer/clc_mad24.h
    A libclc/clc/include/clc/integer/clc_mad_hi.h
    A libclc/clc/include/clc/integer/clc_mul24.h
    A libclc/clc/include/clc/integer/clc_mul_hi.h
    A libclc/clc/include/clc/integer/clc_popcount.h
    A libclc/clc/include/clc/integer/clc_rhadd.h
    A libclc/clc/include/clc/integer/clc_upsample.h
    A libclc/clc/include/clc/integer/definitions.h
    A libclc/clc/include/clc/integer/gentype24.inc
    M libclc/clc/include/clc/math/clc_mad.h
    R libclc/clc/include/clc/math/ternary_decl.inc
    A libclc/clc/include/clc/shared/ternary_decl.inc
    A libclc/clc/include/clc/shared/ternary_def.inc
    A libclc/clc/include/clc/shared/unary_decl.inc
    A libclc/clc/include/clc/shared/unary_def.inc
    M libclc/clc/lib/clspv/SOURCES
    M libclc/clc/lib/generic/SOURCES
    A libclc/clc/lib/generic/integer/clc_clz.cl
    A libclc/clc/lib/generic/integer/clc_hadd.cl
    A libclc/clc/lib/generic/integer/clc_hadd.inc
    A libclc/clc/lib/generic/integer/clc_mad24.cl
    A libclc/clc/lib/generic/integer/clc_mad24.inc
    A libclc/clc/lib/generic/integer/clc_mul24.cl
    A libclc/clc/lib/generic/integer/clc_mul24.inc
    A libclc/clc/lib/generic/integer/clc_mul_hi.cl
    A libclc/clc/lib/generic/integer/clc_popcount.cl
    A libclc/clc/lib/generic/integer/clc_rhadd.cl
    A libclc/clc/lib/generic/integer/clc_rhadd.inc
    A libclc/clc/lib/generic/integer/clc_upsample.cl
    M libclc/clc/lib/spirv/SOURCES
    M libclc/clc/lib/spirv64/SOURCES
    M libclc/generic/include/clc/integer/clz.h
    R libclc/generic/include/clc/integer/clz.inc
    R libclc/generic/include/clc/integer/definitions.h
    M libclc/generic/include/clc/integer/hadd.h
    R libclc/generic/include/clc/integer/hadd.inc
    M libclc/generic/include/clc/integer/mad24.h
    R libclc/generic/include/clc/integer/mad24.inc
    M libclc/generic/include/clc/integer/mad_hi.h
    M libclc/generic/include/clc/integer/mul24.h
    R libclc/generic/include/clc/integer/mul24.inc
    M libclc/generic/include/clc/integer/mul_hi.h
    R libclc/generic/include/clc/integer/mul_hi.inc
    M libclc/generic/include/clc/integer/popcount.h
    M libclc/generic/include/clc/integer/rhadd.h
    R libclc/generic/include/clc/integer/rhadd.inc
    M libclc/generic/include/clc/integer/upsample.h
    M libclc/generic/include/clc/math/fma.h
    M libclc/generic/include/clc/math/mad.h
    R libclc/generic/include/integer/popcount.h
    R libclc/generic/include/integer/unary_intrin.inc
    M libclc/generic/include/math/clc_fma.h
    M libclc/generic/lib/SOURCES
    M libclc/generic/lib/integer/clz.cl
    M libclc/generic/lib/integer/hadd.cl
    R libclc/generic/lib/integer/hadd.inc
    M libclc/generic/lib/integer/mad24.cl
    R libclc/generic/lib/integer/mad24.inc
    A libclc/generic/lib/integer/mad_hi.cl
    M libclc/generic/lib/integer/mul24.cl
    R libclc/generic/lib/integer/mul24.inc
    M libclc/generic/lib/integer/mul_hi.cl
    M libclc/generic/lib/integer/popcount.cl
    M libclc/generic/lib/integer/rhadd.cl
    R libclc/generic/lib/integer/rhadd.inc
    M libclc/generic/lib/integer/upsample.cl
    M libclc/generic/lib/math/clc_fma.cl
    M libclc/generic/lib/math/clc_fmod.cl
    M libclc/generic/lib/math/clc_remainder.cl
    M libclc/generic/lib/math/clc_remquo.cl
    M libclc/generic/lib/math/sincos_helpers.cl

  Log Message:
  -----------
  [libclc] Move several integer functions to CLC library (#116786)

This commit moves over the OpenCL clz, hadd, mad24, mad_hi, mul24,
mul_hi, popcount, rhadd, and upsample builtins to the CLC library.

This commit also optimizes the vector forms of the mul_hi and upsample
builtins to consistently remain in vector types, instead of recursively
splitting vectors down to the scalar form.

The OpenCL mad_hi builtin wasn't previously publicly available from the
CLC libraries, as it was hash-defined to mul_hi in the header files.
That issue has been fixed, and mad_hi is now exposed.

The custom AMD implementation/workaround for popcount has been removed
as it was only required for clang < 7.

There are still two integer functions which haven't been moved over. The
OpenCL mad_sat builtin uses many of the other integer builtins, and
would benefit from optimization for vector types. That can take place in
a follow-up commit. The rotate builtin could similarly use some more
dedicated focus, potentially using clang builtins.


  Commit: 4a1a697427bbec4a43f499c7b7aa38a05bf05727
      https://github.com/llvm/llvm-project/commit/4a1a697427bbec4a43f499c7b7aa38a05bf05727
  Author: Alexey Bataev <a.bataev at outlook.com>
  Date:   2025-01-29 (Wed, 29 Jan 2025)

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

  Log Message:
  -----------
  [SLP][NFC]Unify ScalarToTreeEntries and MultiNodeScalars, NFC

Currently, SLP has 2 distinct storages to manage mapping between
vectorized instructions and their corresponding vectorized TreeEntry
nodes. It leads to inefficient lookup for the matching TreeEntries and
makes it harder to correctly track instructions, associated with
multiple nodes.
There is a plan to extend this support for instructions, that require
scheduling, to allow support for copyable elements. Merging
ScalarToTreeEntry and MultiNodeScalars will allow reduce maintenance of
the feature

Reviewers: RKSimon

Reviewed By: RKSimon

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


  Commit: 4573c857da88b3210d497d9a88a89351a74b5964
      https://github.com/llvm/llvm-project/commit/4573c857da88b3210d497d9a88a89351a74b5964
  Author: Andrea Faulds <andrea.faulds at amd.com>
  Date:   2025-01-29 (Wed, 29 Jan 2025)

  Changed paths:
    A mlir/include/mlir/Conversion/ConvertToSPIRV/ConvertToSPIRVPass.h
    M mlir/include/mlir/Conversion/Passes.h
    M mlir/include/mlir/Conversion/Passes.td
    M mlir/lib/Conversion/CMakeLists.txt
    A mlir/lib/Conversion/ConvertToSPIRV/CMakeLists.txt
    A mlir/lib/Conversion/ConvertToSPIRV/ConvertToSPIRVPass.cpp
    M mlir/test/Conversion/ConvertToSPIRV/argmax-kernel.mlir
    M mlir/test/Conversion/ConvertToSPIRV/arith.mlir
    M mlir/test/Conversion/ConvertToSPIRV/combined.mlir
    M mlir/test/Conversion/ConvertToSPIRV/convert-gpu-modules-nested.mlir
    M mlir/test/Conversion/ConvertToSPIRV/convert-gpu-modules.mlir
    M mlir/test/Conversion/ConvertToSPIRV/gpu.mlir
    M mlir/test/Conversion/ConvertToSPIRV/index.mlir
    M mlir/test/Conversion/ConvertToSPIRV/memref.mlir
    M mlir/test/Conversion/ConvertToSPIRV/scf.mlir
    M mlir/test/Conversion/ConvertToSPIRV/simple.mlir
    M mlir/test/Conversion/ConvertToSPIRV/ub.mlir
    M mlir/test/Conversion/ConvertToSPIRV/vector.mlir
    M mlir/test/lib/Pass/CMakeLists.txt
    R mlir/test/lib/Pass/TestConvertToSPIRVPass.cpp
    M mlir/test/lib/Pass/TestVulkanRunnerPipeline.cpp
    M mlir/tools/mlir-opt/mlir-opt.cpp

  Log Message:
  -----------
  Revert "[mlir][spirv] Make ConvertToSPIRVPass into a test pass (non-public) (#124301)"

This reverts commit 058d183980a2f334d085a46c32abded0557aa789 due to
build failures (missing symbols when linking).


  Commit: ce96c26cd612d8821a6cb24cba25a82d54c92136
      https://github.com/llvm/llvm-project/commit/ce96c26cd612d8821a6cb24cba25a82d54c92136
  Author: David Blaikie <dblaikie at gmail.com>
  Date:   2025-01-29 (Wed, 29 Jan 2025)

  Changed paths:
    M llvm/lib/CodeGen/AsmPrinter/DwarfUnit.cpp
    M llvm/lib/CodeGen/AsmPrinter/DwarfUnit.h
    M llvm/test/DebugInfo/NVPTX/debug-info.ll
    M llvm/test/DebugInfo/X86/DW_AT_object_pointer.ll
    M llvm/test/DebugInfo/X86/dwarf-public-names.ll
    M llvm/test/tools/llvm-dwarfdump/X86/statistics.ll

  Log Message:
  -----------
  Revert "[llvm][DebugInfo] Attach object-pointer to DISubprogram declarations (#122742)" (#124853)

This introduces a substantial (5-10%) regression in .debug_info size, so
we're discussing alternatives in #122742 and #124790.

This reverts commit 7c729418d721147bf1f2b257afd30f84721888ad.


  Commit: 2e43f3922377d75966cc543f5b1fb01332d25d76
      https://github.com/llvm/llvm-project/commit/2e43f3922377d75966cc543f5b1fb01332d25d76
  Author: Juan Manuel Martinez Caamaño <jmartinezcaamao at gmail.com>
  Date:   2025-01-29 (Wed, 29 Jan 2025)

  Changed paths:
    M llvm/lib/Target/AMDGPU/SIWholeQuadMode.cpp

  Log Message:
  -----------
  [NFC][SIWholeQuadMode] Perform less lookups (#124927)


  Commit: 5a4945fa4d515b3209a5e181621bf828e678769f
      https://github.com/llvm/llvm-project/commit/5a4945fa4d515b3209a5e181621bf828e678769f
  Author: Michael Maitland <michaeltmaitland at gmail.com>
  Date:   2025-01-29 (Wed, 29 Jan 2025)

  Changed paths:
    M llvm/lib/Target/RISCV/RISCVSchedSiFive7.td
    M llvm/test/tools/llvm-mca/RISCV/SiFiveX280/vector-integer-arithmetic.s

  Log Message:
  -----------
  [RISCV][SIFIVE] Fix latencies for vector integer arithmetic long latency (#124855)

These instructions go through a longer latency pipeline of 8.


  Commit: 25ae1a266d50f24a8fffc57152d7f3c3fcb65517
      https://github.com/llvm/llvm-project/commit/25ae1a266d50f24a8fffc57152d7f3c3fcb65517
  Author: Andrea Faulds <andrea.faulds at amd.com>
  Date:   2025-01-29 (Wed, 29 Jan 2025)

  Changed paths:
    R mlir/include/mlir/Conversion/ConvertToSPIRV/ConvertToSPIRVPass.h
    M mlir/include/mlir/Conversion/Passes.h
    M mlir/include/mlir/Conversion/Passes.td
    M mlir/lib/Conversion/CMakeLists.txt
    R mlir/lib/Conversion/ConvertToSPIRV/CMakeLists.txt
    R mlir/lib/Conversion/ConvertToSPIRV/ConvertToSPIRVPass.cpp
    M mlir/test/Conversion/ConvertToSPIRV/argmax-kernel.mlir
    M mlir/test/Conversion/ConvertToSPIRV/arith.mlir
    M mlir/test/Conversion/ConvertToSPIRV/combined.mlir
    M mlir/test/Conversion/ConvertToSPIRV/convert-gpu-modules-nested.mlir
    M mlir/test/Conversion/ConvertToSPIRV/convert-gpu-modules.mlir
    M mlir/test/Conversion/ConvertToSPIRV/gpu.mlir
    M mlir/test/Conversion/ConvertToSPIRV/index.mlir
    M mlir/test/Conversion/ConvertToSPIRV/memref.mlir
    M mlir/test/Conversion/ConvertToSPIRV/scf.mlir
    M mlir/test/Conversion/ConvertToSPIRV/simple.mlir
    M mlir/test/Conversion/ConvertToSPIRV/ub.mlir
    M mlir/test/Conversion/ConvertToSPIRV/vector.mlir
    M mlir/test/lib/Pass/CMakeLists.txt
    A mlir/test/lib/Pass/TestConvertToSPIRVPass.cpp
    M mlir/test/lib/Pass/TestVulkanRunnerPipeline.cpp
    M mlir/tools/mlir-opt/mlir-opt.cpp

  Log Message:
  -----------
  [mlir][spirv] Make ConvertToSPIRVPass into a test pass (non-public)

With the removal of mlir-vulkan-runner (as part of #73457) in
e7e3c45bc70904e24e2b3221ac8521e67eb84668, this pass no longer has to be
public (previously it had to be so the runner could use it). This commit
makes it instead only available for use by mlir-opt.

This is a recommit of 058d183980a2f334d085a46c32abded0557aa789 (#124301)
which had been reverted in 4573c857da88b3210d497d9a88a89351a74b5964 due
to a missing linker dependency on MLIRSPIRVTransforms in
mlir/test/lib/Pass/CMakeLists.txt (fixed in this commit).


  Commit: e9c2e0acd747b7b5260cf022233fa9b5336d2d30
      https://github.com/llvm/llvm-project/commit/e9c2e0acd747b7b5260cf022233fa9b5336d2d30
  Author: Oliver Stannard <oliver.stannard at arm.com>
  Date:   2025-01-29 (Wed, 29 Jan 2025)

  Changed paths:
    M clang/lib/CodeGen/Targets/AArch64.cpp
    M clang/test/CodeGen/AArch64/args.cpp

  Log Message:
  -----------
  [AArch64] Match GCC behaviour for zero-size structs (#124760)

We had a test claiming that this empty struct type consumes a register
slot when passing it to a function with GCC, but that does not appear to
be the case, at least with GCC versions going back to 4.8.

This also caused a miscompilation when passing one of these structs to a
variadic function, but it turned out that our implementation of `va_arg`
matches GCC's ABI, so the one change fixes both bugs.


  Commit: 39a72be5e59c9a80570c1085a769593e2f26f054
      https://github.com/llvm/llvm-project/commit/39a72be5e59c9a80570c1085a769593e2f26f054
  Author: Sirraide <aeternalmail at gmail.com>
  Date:   2025-01-29 (Wed, 29 Jan 2025)

  Changed paths:
    M clang/include/clang/AST/DynamicRecursiveASTVisitor.h
    M clang/lib/AST/DynamicRecursiveASTVisitor.cpp
    M clang/lib/StaticAnalyzer/Checkers/WebKit/RawPtrRefMemberChecker.cpp

  Log Message:
  -----------
  [Clang] [NFC] Introduce `ConstDynamicRecursiveASTVisitor` (reland) (#124821)

This relands #122991 (eeefa72).

The last attempt at landing this caused some problems; I’m not entirely
sure what happened, but it might have been due to an unnecessary use
of the `template` keyword in a few places. This removes that and attempts
to land the change again.


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

  Changed paths:
    M llvm/include/llvm/IR/InstrTypes.h
    M llvm/lib/Analysis/ValueTracking.cpp
    M llvm/lib/IR/Instructions.cpp
    M llvm/test/Analysis/ValueTracking/known-nonnull-at.ll
    M llvm/test/Transforms/InstCombine/align-addr.ll
    M llvm/test/Transforms/InstCombine/memset_chk-1.ll
    M llvm/test/Transforms/InstCombine/sprintf-1.ll
    M llvm/test/Transforms/InstCombine/stpncpy-1.ll
    M llvm/test/Transforms/InstCombine/strlcpy-1.ll
    M llvm/test/Transforms/InstCombine/strncpy-4.ll
    M llvm/test/Transforms/InstCombine/strstr-1.ll
    M llvm/test/Transforms/InstSimplify/known-non-zero-opaque-ptrs.ll

  Log Message:
  -----------
  [ValueTracking] Handle nonnull attributes at callsite (#124908)

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


  Commit: a01097faca35a9a8927c8b0c514bc35dcebec00f
      https://github.com/llvm/llvm-project/commit/a01097faca35a9a8927c8b0c514bc35dcebec00f
  Author: Igor Wodiany <igor.wodiany at imgtec.com>
  Date:   2025-01-29 (Wed, 29 Jan 2025)

  Changed paths:
    M mlir/include/mlir/Dialect/SPIRV/IR/SPIRVBase.td
    M mlir/include/mlir/Dialect/SPIRV/IR/SPIRVMatrixOps.td
    M mlir/lib/Dialect/SPIRV/IR/SPIRVOps.cpp
    M mlir/test/Dialect/SPIRV/IR/matrix-ops.mlir
    M mlir/test/Target/SPIRV/matrix.mlir

  Log Message:
  -----------
  [mlir][spirv] Add definition for VectorTimesMatrixOp (#124571)

Adding op as defined in section 3.52.13. (Arithmetic Instructions) of
the SPIR-V specification.


  Commit: bfabd5be5359f482af462b587b761f7e07cc4075
      https://github.com/llvm/llvm-project/commit/bfabd5be5359f482af462b587b761f7e07cc4075
  Author: Nikolas Klauser <nikolasklauser at berlin.de>
  Date:   2025-01-29 (Wed, 29 Jan 2025)

  Changed paths:
    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++] Remove some private symbols from the ABI (#121497)

These symbols are never referenced directly outside the dylib, so we can
make them hidden instead. They are still in the dylib since can be
referenced through the `memory_resource*`, but dynamic linkers don't
have to do any work to deduplicate them.


  Commit: 540402c05badc59529b06e31c51c3f2e093a83b2
      https://github.com/llvm/llvm-project/commit/540402c05badc59529b06e31c51c3f2e093a83b2
  Author: Brad Smith <brad at comstyle.com>
  Date:   2025-01-29 (Wed, 29 Jan 2025)

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

  Log Message:
  -----------
  [sanitizer_common] Remove workarounds for older Android (#124881)

Anything supported has CPU_COUNT and sched_getaffinity().


  Commit: 349eab186986e56d3e314193733a0443f6575850
      https://github.com/llvm/llvm-project/commit/349eab186986e56d3e314193733a0443f6575850
  Author: Brad Smith <brad at comstyle.com>
  Date:   2025-01-29 (Wed, 29 Jan 2025)

  Changed paths:
    M compiler-rt/test/asan/TestCases/Posix/wait4.cpp

  Log Message:
  -----------
  [asan] Enable wait4 test on Android (#124879)


  Commit: 0c63ec5347d2c86ea00c77437dfaf65a360fdafd
      https://github.com/llvm/llvm-project/commit/0c63ec5347d2c86ea00c77437dfaf65a360fdafd
  Author: Juan Manuel Martinez Caamaño <jmartinezcaamao at gmail.com>
  Date:   2025-01-29 (Wed, 29 Jan 2025)

  Changed paths:
    M llvm/lib/Target/AMDGPU/SIWholeQuadMode.cpp

  Log Message:
  -----------
  [NFC][SIWholeQuadMode] Remove redundant arguments (#124930)


  Commit: a34a087fc59779c53512eda094e1ca914a4526f2
      https://github.com/llvm/llvm-project/commit/a34a087fc59779c53512eda094e1ca914a4526f2
  Author: Timm Baeder <tbaeder at redhat.com>
  Date:   2025-01-29 (Wed, 29 Jan 2025)

  Changed paths:
    M clang/lib/AST/ByteCode/Program.cpp
    A clang/test/AST/ByteCode/neon.c

  Log Message:
  -----------
  [clang][bytecode] Handle non-primitive vector element types (#124926)

By rejecting them. We would crash before.


  Commit: c583df46d404507f62c605b6f96cde22dcd9e948
      https://github.com/llvm/llvm-project/commit/c583df46d404507f62c605b6f96cde22dcd9e948
  Author: Kazu Hirata <kazu at google.com>
  Date:   2025-01-29 (Wed, 29 Jan 2025)

  Changed paths:
    M clang/lib/AST/ParentMapContext.cpp

  Log Message:
  -----------
  [AST] Migrate away from PointerUnion::dyn_cast (NFC) (#124882)

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

Literal migration would result in dyn_cast_if_present (see the
definition of PointerUnion::dyn_cast), but this patch uses dyn_cast
because we expect It->second to be nonnull.
getSingleDynTypedNodeFromParentMap ends with a deference of U.


  Commit: 7ab8f286b8e43a98dc5c0404f80d719c49446875
      https://github.com/llvm/llvm-project/commit/7ab8f286b8e43a98dc5c0404f80d719c49446875
  Author: Kazu Hirata <kazu at google.com>
  Date:   2025-01-29 (Wed, 29 Jan 2025)

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

  Log Message:
  -----------
  [Sema] Migrate away from PointerUnion::dyn_cast (NFC) (#124883)

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

This patch migrates the use of PointerUnion::dyn_cast to
dyn_cast_if_present because ShadowMapEntry::Add starts with:

  if (DeclOrVector.isNull()) {

implying that DeclOrVector is not guaranteed to be nonnull.


  Commit: 8e4c5cb0063e1c73a3f93073f5f85c8ec598613f
      https://github.com/llvm/llvm-project/commit/8e4c5cb0063e1c73a3f93073f5f85c8ec598613f
  Author: Kazu Hirata <kazu at google.com>
  Date:   2025-01-29 (Wed, 29 Jan 2025)

  Changed paths:
    M clang/lib/Serialization/ASTWriterStmt.cpp

  Log Message:
  -----------
  [Serialization] Migrate away from PointerUnion::dyn_cast (NFC) (#124884)

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

Literal migration would result in dyn_cast_if_present (see the
definition of PointerUnion::dyn_cast), but this patch uses dyn_cast
because we expect DetailRecord to be nonnull.


  Commit: 8baa0d9d545f9daf0d82596cb90f35456efb1153
      https://github.com/llvm/llvm-project/commit/8baa0d9d545f9daf0d82596cb90f35456efb1153
  Author: Kazu Hirata <kazu at google.com>
  Date:   2025-01-29 (Wed, 29 Jan 2025)

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

  Log Message:
  -----------
  [CodeGen] Avoid repeated hash lookups (NFC) (#124885)


  Commit: 3c3c850a45c8f1ea1e9d6aa514e2b6076d1a4534
      https://github.com/llvm/llvm-project/commit/3c3c850a45c8f1ea1e9d6aa514e2b6076d1a4534
  Author: Mikhail Gudim <mgudim at gmail.com>
  Date:   2025-01-29 (Wed, 29 Jan 2025)

  Changed paths:
    M llvm/include/llvm/CodeGen/ReachingDefAnalysis.h
    M llvm/lib/CodeGen/ReachingDefAnalysis.cpp
    A llvm/test/CodeGen/RISCV/rda-stack.mir
    A llvm/test/CodeGen/SystemZ/rda-stack-copy.mir

  Log Message:
  -----------
  [ReachingDefAnalysis] Extend the analysis to stack objects. (#118097)

We track definitions of stack objects, the implementation is identical
to tracking of registers.

Also, added printing of all found reaching definitions for testing
purposes.

---------

Co-authored-by: Michael Maitland <michaeltmaitland at gmail.com>


  Commit: 29441e4f5fa5f5c7709f7cf180815ba97f611297
      https://github.com/llvm/llvm-project/commit/29441e4f5fa5f5c7709f7cf180815ba97f611297
  Author: Nikita Popov <npopov at redhat.com>
  Date:   2025-01-29 (Wed, 29 Jan 2025)

  Changed paths:
    M clang/lib/CodeGen/CGCall.cpp
    M clang/lib/CodeGen/CGObjCGNU.cpp
    M clang/test/CodeGen/AArch64/pure-scalable-args.c
    M clang/test/CodeGen/AArch64/sve-acle-__ARM_FEATURE_SVE_VECTOR_OPERATORS.c
    M clang/test/CodeGen/PowerPC/aix-vaargs.c
    M clang/test/CodeGen/SystemZ/systemz-inline-asm.c
    M clang/test/CodeGen/arm-cmse-attr.c
    M clang/test/CodeGen/arm-vfp16-arguments.c
    M clang/test/CodeGen/arm-vfp16-arguments2.cpp
    M clang/test/CodeGen/attr-counted-by-pr110385.c
    M clang/test/CodeGen/attr-counted-by.c
    M clang/test/CodeGen/isfpclass.c
    M clang/test/CodeGen/math-libcalls-tbaa-indirect-args.c
    M clang/test/CodeGen/math-libcalls-tbaa.c
    M clang/test/CodeGen/nofpclass.c
    M clang/test/CodeGen/sanitize-metadata-nosanitize.c
    M clang/test/CodeGen/struct-copy.c
    M clang/test/CodeGen/tbaa-struct-bitfield-endianness.cpp
    M clang/test/CodeGen/transparent-union-type.c
    M clang/test/CodeGen/union-tbaa1.c
    M clang/test/CodeGenCUDA/amdgpu-kernel-arg-pointer-type.cu
    M clang/test/CodeGenCXX/bitfield-ir.cpp
    M clang/test/CodeGenCXX/inline-then-fold-variadics.cpp
    M clang/test/CodeGenCXX/noescape.cpp
    M clang/test/CodeGenCXX/wasm-args-returns.cpp
    M clang/test/CodeGenHLSL/inline-functions.hlsl
    M clang/test/CodeGenObjC/noescape.m
    M clang/test/CodeGenOpenCL/amdgpu-abi-struct-coerce.cl
    M clang/test/CodeGenOpenCL/amdgpu-call-kernel.cl
    M clang/test/CodeGenOpenCL/atomic-builtins-default-to-device-scope.cl
    M clang/test/CodeGenOpenCL/builtins-amdgcn-gfx950-read-tr.cl
    M clang/test/CodeGenOpenCL/kernel-param-alignment.cl
    M clang/test/CodeGenOpenCL/kernels-have-spir-cc-by-default.cl
    M clang/test/CodeGenOpenCL/preserve_vec3.cl
    M clang/test/CodeGenOpenCLCXX/array-type-infinite-loop.clcpp
    M clang/test/OpenMP/barrier_codegen.cpp
    M clang/test/OpenMP/bug54082.c
    M flang/test/Fir/arrayset.fir
    M flang/test/Fir/arrexp.fir
    M flang/test/Fir/box-offset-codegen.fir
    M flang/test/Fir/box.fir
    M flang/test/Fir/boxproc.fir
    M flang/test/Fir/commute.fir
    M flang/test/Fir/coordinateof.fir
    M flang/test/Fir/embox.fir
    M flang/test/Fir/field-index.fir
    M flang/test/Fir/ignore-missing-type-descriptor.fir
    M flang/test/Fir/polymorphic.fir
    M flang/test/Fir/struct-passing-x86-64-byval.fir
    M flang/test/Fir/target-rewrite-complex-10-x86.fir
    M flang/test/Fir/target.fir
    M flang/test/Integration/OpenMP/copyprivate.f90
    M flang/test/Integration/debug-local-var-2.f90
    M flang/test/Integration/unroll-loops.f90
    M flang/test/Lower/HLFIR/unroll-loops.fir
    M flang/test/Transforms/constant-argument-globalisation.fir
    M llvm/docs/LangRef.rst
    M llvm/docs/ReleaseNotes.md
    M llvm/include/llvm/AsmParser/LLToken.h
    M llvm/include/llvm/Frontend/OpenMP/OMPKinds.def
    M llvm/include/llvm/IR/Attributes.h
    M llvm/include/llvm/IR/Attributes.td
    M llvm/include/llvm/IR/InstrTypes.h
    M llvm/include/llvm/Support/ModRef.h
    M llvm/include/llvm/Transforms/IPO/Attributor.h
    M llvm/lib/AsmParser/LLLexer.cpp
    M llvm/lib/AsmParser/LLParser.cpp
    M llvm/lib/Bitcode/Reader/BitcodeReader.cpp
    M llvm/lib/Bitcode/Writer/BitcodeWriter.cpp
    M llvm/lib/IR/Attributes.cpp
    M llvm/lib/IR/Function.cpp
    M llvm/lib/IR/Instructions.cpp
    M llvm/lib/Target/DirectX/DXILPrepare.cpp
    M llvm/lib/Target/DirectX/DXILWriter/DXILBitcodeWriter.cpp
    M llvm/lib/Transforms/Coroutines/CoroFrame.cpp
    M llvm/lib/Transforms/Coroutines/SpillUtils.cpp
    M llvm/lib/Transforms/IPO/Attributor.cpp
    M llvm/lib/Transforms/IPO/AttributorAttributes.cpp
    M llvm/lib/Transforms/IPO/FunctionAttrs.cpp
    M llvm/lib/Transforms/Utils/BuildLibCalls.cpp
    M llvm/lib/Transforms/Utils/CodeExtractor.cpp
    M llvm/lib/Transforms/Utils/SimplifyLibCalls.cpp
    M llvm/test/Analysis/StackSafetyAnalysis/lifetime.ll
    M llvm/test/Analysis/TypeBasedAliasAnalysis/functionattrs.ll
    M llvm/test/Assembler/amdgcn-intrinsic-attributes.ll
    M llvm/test/Assembler/auto_upgrade_intrinsics.ll
    M llvm/test/Assembler/masked-load-store-intrinsics-attributes.ll
    M llvm/test/Bitcode/attributes-3.3.ll
    M llvm/test/Bitcode/attributes.ll
    M llvm/test/Bitcode/compatibility-3.6.ll
    M llvm/test/Bitcode/compatibility-3.7.ll
    M llvm/test/Bitcode/compatibility-3.8.ll
    M llvm/test/Bitcode/compatibility-3.9.ll
    M llvm/test/Bitcode/compatibility-4.0.ll
    M llvm/test/Bitcode/compatibility-5.0.ll
    M llvm/test/Bitcode/compatibility-6.0.ll
    M llvm/test/Bitcode/compatibility.ll
    M llvm/test/Bitcode/function-address-space-fwd-decl.ll
    M llvm/test/Bitcode/highLevelStructure.3.2.ll
    M llvm/test/Bitcode/upgrade-memory-intrinsics.ll
    M llvm/test/CodeGen/AArch64/sve2-vscale-sinking.ll
    M llvm/test/CodeGen/AMDGPU/amdgpu-libcall-sincos-pass-ordering.ll
    M llvm/test/CodeGen/AMDGPU/amdgpu-simplify-libcall-sincos.defined.ll
    M llvm/test/CodeGen/AMDGPU/amdgpu-simplify-libcall-sincos.defined.nobuiltin.ll
    M llvm/test/CodeGen/AMDGPU/amdgpu-simplify-libcall-sincos.defined.sin.cos.ll
    M llvm/test/CodeGen/AMDGPU/amdgpu-simplify-libcall-sincos.ll
    M llvm/test/CodeGen/AMDGPU/amdgpu-simplify-libcall-sincos.nobuiltins.ll
    M llvm/test/CodeGen/AMDGPU/amdgpu-simplify-libcall-sincos.weak.ll
    M llvm/test/CodeGen/AMDGPU/attributor-flatscratchinit.ll
    M llvm/test/CodeGen/AMDGPU/fract-match.ll
    M llvm/test/CodeGen/AMDGPU/inline-attr.ll
    M llvm/test/CodeGen/AMDGPU/lower-lds-struct-aa-memcpy.ll
    M llvm/test/CodeGen/AMDGPU/nested-loop-conditions.ll
    M llvm/test/CodeGen/AMDGPU/perfhint.ll
    M llvm/test/CodeGen/AMDGPU/promote-alloca-globals.ll
    M llvm/test/CodeGen/AMDGPU/rewrite-out-arguments.ll
    M llvm/test/CodeGen/AMDGPU/vni8-live-reg-opt.ll
    M llvm/test/CodeGen/BPF/loop-exit-cond.ll
    M llvm/test/CodeGen/BPF/preserve-static-offset/load-inline.ll
    M llvm/test/CodeGen/BPF/preserve-static-offset/load-simple.ll
    M llvm/test/CodeGen/BPF/preserve-static-offset/load-unroll-inline.ll
    M llvm/test/CodeGen/BPF/preserve-static-offset/load-unroll.ll
    M llvm/test/CodeGen/BPF/preserve-static-offset/store-align.ll
    M llvm/test/CodeGen/BPF/preserve-static-offset/store-atomic.ll
    M llvm/test/CodeGen/BPF/preserve-static-offset/store-chain-oob.ll
    M llvm/test/CodeGen/BPF/preserve-static-offset/store-chain-u8-oob.ll
    M llvm/test/CodeGen/BPF/preserve-static-offset/store-chain-u8.ll
    M llvm/test/CodeGen/BPF/preserve-static-offset/store-chain.ll
    M llvm/test/CodeGen/BPF/preserve-static-offset/store-simple.ll
    M llvm/test/CodeGen/BPF/preserve-static-offset/store-unroll-inline.ll
    M llvm/test/CodeGen/BPF/preserve-static-offset/store-volatile.ll
    M llvm/test/CodeGen/BPF/preserve-static-offset/store-zero.ll
    M llvm/test/CodeGen/Hexagon/autohvx/vector-align-bad-move2.ll
    M llvm/test/CodeGen/Hexagon/autohvx/vector-align-overapping-stores.ll
    M llvm/test/CodeGen/NVPTX/lower-args-gridconstant.ll
    M llvm/test/CodeGen/NVPTX/lower-byval-args.ll
    M llvm/test/CodeGen/X86/codegen-prepare-addrmode-sext.ll
    M llvm/test/CodeGen/X86/no-plt-libcalls.ll
    M llvm/test/Feature/OperandBundles/function-attrs.ll
    M llvm/test/Instrumentation/HWAddressSanitizer/mem-attr.ll
    M llvm/test/Instrumentation/MemorySanitizer/msan_basic.ll
    M llvm/test/Instrumentation/SanitizerCoverage/gep-tracing.ll
    M llvm/test/LTO/X86/mix-opaque-typed.ll
    M llvm/test/Other/cgscc-devirt-iteration.ll
    M llvm/test/Other/optimize-inrange-gep.ll
    M llvm/test/ThinLTO/X86/funcattrs-prop-unknown.ll
    M llvm/test/Transforms/AlignmentFromAssumptions/alignment-from-assumptions-track-users.ll
    M llvm/test/Transforms/AlignmentFromAssumptions/simple.ll
    M llvm/test/Transforms/AlignmentFromAssumptions/simple32.ll
    M llvm/test/Transforms/ArgumentPromotion/BPF/argpromotion.ll
    M llvm/test/Transforms/ArgumentPromotion/actual-arguments.ll
    M llvm/test/Transforms/ArgumentPromotion/aliasing-and-non-aliasing-loads-with-clobber.ll
    M llvm/test/Transforms/ArgumentPromotion/variadic.ll
    M llvm/test/Transforms/Attributor/ArgumentPromotion/2008-07-02-array-indexing.ll
    M llvm/test/Transforms/Attributor/ArgumentPromotion/2008-09-07-CGUpdate.ll
    M llvm/test/Transforms/Attributor/ArgumentPromotion/2008-09-08-CGUpdateSelfEdge.ll
    M llvm/test/Transforms/Attributor/ArgumentPromotion/X86/attributes.ll
    M llvm/test/Transforms/Attributor/ArgumentPromotion/X86/min-legal-vector-width.ll
    M llvm/test/Transforms/Attributor/ArgumentPromotion/X86/thiscall.ll
    M llvm/test/Transforms/Attributor/ArgumentPromotion/alignment.ll
    M llvm/test/Transforms/Attributor/ArgumentPromotion/array.ll
    M llvm/test/Transforms/Attributor/ArgumentPromotion/attrs.ll
    M llvm/test/Transforms/Attributor/ArgumentPromotion/basictest.ll
    M llvm/test/Transforms/Attributor/ArgumentPromotion/byval-2.ll
    M llvm/test/Transforms/Attributor/ArgumentPromotion/control-flow.ll
    M llvm/test/Transforms/Attributor/ArgumentPromotion/dbg.ll
    M llvm/test/Transforms/Attributor/ArgumentPromotion/inalloca.ll
    M llvm/test/Transforms/Attributor/ArgumentPromotion/live_called_from_dead_2.ll
    M llvm/test/Transforms/Attributor/ArgumentPromotion/musttail.ll
    M llvm/test/Transforms/Attributor/ArgumentPromotion/pr32917.ll
    M llvm/test/Transforms/Attributor/ArgumentPromotion/pr33641_remove_arg_dbgvalue.ll
    M llvm/test/Transforms/Attributor/ArgumentPromotion/sret.ll
    M llvm/test/Transforms/Attributor/ArgumentPromotion/tail.ll
    M llvm/test/Transforms/Attributor/ArgumentPromotion/variadic.ll
    M llvm/test/Transforms/Attributor/IPConstantProp/PR26044.ll
    M llvm/test/Transforms/Attributor/IPConstantProp/dangling-block-address.ll
    M llvm/test/Transforms/Attributor/IPConstantProp/openmp_parallel_for.ll
    M llvm/test/Transforms/Attributor/IPConstantProp/pthreads.ll
    M llvm/test/Transforms/Attributor/IPConstantProp/thread_local_acs.ll
    M llvm/test/Transforms/Attributor/address_space_info.ll
    M llvm/test/Transforms/Attributor/align.ll
    M llvm/test/Transforms/Attributor/allocator.ll
    M llvm/test/Transforms/Attributor/call-simplify-pointer-info.ll
    M llvm/test/Transforms/Attributor/callbacks.ll
    M llvm/test/Transforms/Attributor/callgraph.ll
    M llvm/test/Transforms/Attributor/convergent.ll
    M llvm/test/Transforms/Attributor/dereferenceable-1.ll
    M llvm/test/Transforms/Attributor/dereferenceable-2-inseltpoison.ll
    M llvm/test/Transforms/Attributor/dereferenceable-2.ll
    M llvm/test/Transforms/Attributor/heap_to_stack.ll
    M llvm/test/Transforms/Attributor/heap_to_stack_gpu.ll
    M llvm/test/Transforms/Attributor/internal-noalias.ll
    M llvm/test/Transforms/Attributor/issue87856.ll
    M llvm/test/Transforms/Attributor/liveness.ll
    M llvm/test/Transforms/Attributor/memory_locations.ll
    M llvm/test/Transforms/Attributor/misc.ll
    M llvm/test/Transforms/Attributor/misc_crash.ll
    M llvm/test/Transforms/Attributor/noalias.ll
    M llvm/test/Transforms/Attributor/nocapture-1.ll
    M llvm/test/Transforms/Attributor/nocapture-2.ll
    M llvm/test/Transforms/Attributor/nofpclass.ll
    M llvm/test/Transforms/Attributor/nofree.ll
    M llvm/test/Transforms/Attributor/nonnull.ll
    M llvm/test/Transforms/Attributor/norecurse.ll
    M llvm/test/Transforms/Attributor/nosync.ll
    M llvm/test/Transforms/Attributor/noundef.ll
    M llvm/test/Transforms/Attributor/openmp_parallel.ll
    M llvm/test/Transforms/Attributor/phi_bug_pointer_info.ll
    M llvm/test/Transforms/Attributor/pointer-info.ll
    M llvm/test/Transforms/Attributor/range.ll
    M llvm/test/Transforms/Attributor/read_write_returned_arguments_scc.ll
    M llvm/test/Transforms/Attributor/readattrs.ll
    M llvm/test/Transforms/Attributor/recursive_globals.ll
    M llvm/test/Transforms/Attributor/reduced/aapointer_info_map_invalidation.ll
    M llvm/test/Transforms/Attributor/reduced/clear_cached_analysis_for_deleted_functions.ll
    M llvm/test/Transforms/Attributor/reduced/missed_cached_entry_for_intra_reachability.ll
    M llvm/test/Transforms/Attributor/reduced/openmp_opt_constant_type_crash.ll
    M llvm/test/Transforms/Attributor/returned.ll
    M llvm/test/Transforms/Attributor/undefined_behavior.ll
    M llvm/test/Transforms/Attributor/value-simplify-assume.ll
    M llvm/test/Transforms/Attributor/value-simplify-dominance.ll
    M llvm/test/Transforms/Attributor/value-simplify-gpu.ll
    M llvm/test/Transforms/Attributor/value-simplify-instances.ll
    M llvm/test/Transforms/Attributor/value-simplify-local-remote.ll
    M llvm/test/Transforms/Attributor/value-simplify-pointer-info.ll
    M llvm/test/Transforms/Attributor/value-simplify-reachability.ll
    M llvm/test/Transforms/Attributor/value-simplify.ll
    M llvm/test/Transforms/Attributor/willreturn.ll
    M llvm/test/Transforms/CodeGenPrepare/AArch64/reduce-or-opt.ll
    M llvm/test/Transforms/Coroutines/coro-async.ll
    M llvm/test/Transforms/Coroutines/coro-noalias-param.ll
    M llvm/test/Transforms/DeadStoreElimination/trivial-dse-calls.ll
    M llvm/test/Transforms/ExpandMemCmp/AArch64/memcmp.ll
    M llvm/test/Transforms/FunctionAttrs/2009-01-02-LocalStores.ll
    M llvm/test/Transforms/FunctionAttrs/arg_returned.ll
    M llvm/test/Transforms/FunctionAttrs/argmemonly.ll
    M llvm/test/Transforms/FunctionAttrs/convergent.ll
    M llvm/test/Transforms/FunctionAttrs/initializes.ll
    M llvm/test/Transforms/FunctionAttrs/make-buffer-rsrc.ll
    M llvm/test/Transforms/FunctionAttrs/nocapture.ll
    M llvm/test/Transforms/FunctionAttrs/nofree-attributor.ll
    M llvm/test/Transforms/FunctionAttrs/nonnull.ll
    M llvm/test/Transforms/FunctionAttrs/norecurse.ll
    M llvm/test/Transforms/FunctionAttrs/optnone.ll
    M llvm/test/Transforms/FunctionAttrs/out-of-bounds-iterator-bug.ll
    M llvm/test/Transforms/FunctionAttrs/readattrs.ll
    M llvm/test/Transforms/FunctionAttrs/readnone.ll
    M llvm/test/Transforms/FunctionAttrs/willreturn.ll
    M llvm/test/Transforms/FunctionAttrs/writeonly.ll
    M llvm/test/Transforms/FunctionSpecialization/function-specialization2.ll
    M llvm/test/Transforms/GVN/PRE/invariant-load.ll
    M llvm/test/Transforms/GVNHoist/infinite-loop-indirect.ll
    M llvm/test/Transforms/IRCE/variable-loop-bounds.ll
    M llvm/test/Transforms/IndVarSimplify/ada-loops.ll
    M llvm/test/Transforms/IndVarSimplify/lftr.ll
    M llvm/test/Transforms/IndVarSimplify/preserve-nsw-during-expansion.ll
    M llvm/test/Transforms/InferAddressSpaces/AMDGPU/store-pointer-to-self.ll
    M llvm/test/Transforms/InferAddressSpaces/NVPTX/bug31948.ll
    M llvm/test/Transforms/InferFunctionAttrs/annotate.ll
    M llvm/test/Transforms/Inline/align.ll
    M llvm/test/Transforms/Inline/byref-align.ll
    M llvm/test/Transforms/Inline/byval-align.ll
    M llvm/test/Transforms/Inline/byval.ll
    M llvm/test/Transforms/Inline/noalias-calls.ll
    M llvm/test/Transforms/Inline/noalias.ll
    M llvm/test/Transforms/Inline/noalias2.ll
    M llvm/test/Transforms/InstCombine/AMDGPU/llvm.amdgcn.wavefrontsize.ll
    M llvm/test/Transforms/InstCombine/NVPTX/isspacep.ll
    M llvm/test/Transforms/InstCombine/RISCV/libcall-arg-exts.ll
    M llvm/test/Transforms/InstCombine/RISCV/memcmp.ll
    M llvm/test/Transforms/InstCombine/SystemZ/libcall-arg-exts.ll
    M llvm/test/Transforms/InstCombine/call-cast-attrs.ll
    M llvm/test/Transforms/InstCombine/compare-alloca.ll
    M llvm/test/Transforms/InstCombine/compare-unescaped.ll
    M llvm/test/Transforms/InstCombine/memcpy-from-global.ll
    M llvm/test/Transforms/InstCombine/memset2.ll
    M llvm/test/Transforms/InstCombine/simplify-libcalls-inreg.ll
    M llvm/test/Transforms/InstCombine/str-int-2.ll
    M llvm/test/Transforms/InstCombine/str-int.ll
    M llvm/test/Transforms/InstCombine/strcall-no-nul.ll
    M llvm/test/Transforms/InstCombine/strto-1.ll
    M llvm/test/Transforms/InstCombine/trivial-dse-calls.ll
    M llvm/test/Transforms/InstCombine/unused-nonnull.ll
    M llvm/test/Transforms/LICM/hoist-mustexec.ll
    M llvm/test/Transforms/LICM/strlen.ll
    M llvm/test/Transforms/LoopDataPrefetch/RISCV/basic.ll
    M llvm/test/Transforms/LoopIdiom/AArch64/ctlz.ll
    M llvm/test/Transforms/LoopInterchange/interchange-no-deps.ll
    M llvm/test/Transforms/LoopPredication/scale.ll
    M llvm/test/Transforms/LoopStrengthReduce/2011-10-06-ReusePhi.ll
    M llvm/test/Transforms/LoopStrengthReduce/ARM/illegal-addr-modes.ll
    M llvm/test/Transforms/LoopStrengthReduce/addrec-gep-address-space.ll
    M llvm/test/Transforms/LoopStrengthReduce/addrec-gep.ll
    M llvm/test/Transforms/LoopStrengthReduce/shl.ll
    M llvm/test/Transforms/LoopUnroll/unroll-cleanup.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/clamped-trip-count.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/deterministic-type-shrinkage.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/loop-vectorization-factors.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/low_trip_count_predicates.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/scalable-strict-fadd.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/sve-interleaved-masked-accesses.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/type-shrinkage-zext-costs.ll
    M llvm/test/Transforms/LoopVectorize/ARM/mve-hoist-runtime-checks.ll
    M llvm/test/Transforms/LoopVectorize/LoongArch/defaults.ll
    M llvm/test/Transforms/LoopVectorize/RISCV/vectorize-force-tail-with-evl-bin-unary-ops-args.ll
    M llvm/test/Transforms/LoopVectorize/RISCV/vectorize-force-tail-with-evl-uniform-store.ll
    M llvm/test/Transforms/LoopVectorize/SystemZ/zero_unroll.ll
    M llvm/test/Transforms/LoopVectorize/X86/slm-no-vectorize.ll
    M llvm/test/Transforms/LoopVectorize/if-reduction.ll
    M llvm/test/Transforms/LoopVectorize/induction-step.ll
    M llvm/test/Transforms/LoopVectorize/interleaved-accesses-2.ll
    M llvm/test/Transforms/LoopVectorize/interleaved-accesses-3.ll
    M llvm/test/Transforms/LoopVectorize/iv_outside_user.ll
    M llvm/test/Transforms/LoopVectorize/no_outside_user.ll
    M llvm/test/Transforms/LoopVectorize/pr33706.ll
    M llvm/test/Transforms/LoopVectorize/reduction-inloop-cond.ll
    M llvm/test/Transforms/LoopVectorize/reduction-inloop-min-max.ll
    M llvm/test/Transforms/LoopVectorize/remarks-reduction-inloop.ll
    M llvm/test/Transforms/LoopVectorize/runtime-checks-hoist.ll
    M llvm/test/Transforms/LowerMatrixIntrinsics/strided-store-double.ll
    M llvm/test/Transforms/MemCpyOpt/atomic.ll
    M llvm/test/Transforms/MemCpyOpt/callslot.ll
    M llvm/test/Transforms/MemCpyOpt/callslot_noalias.ll
    M llvm/test/Transforms/MemCpyOpt/memcpy.ll
    M llvm/test/Transforms/MemCpyOpt/pr29105.ll
    M llvm/test/Transforms/MemCpyOpt/stack-move.ll
    M llvm/test/Transforms/MergeFunc/inttoptr-address-space.ll
    M llvm/test/Transforms/MergeFunc/inttoptr.ll
    M llvm/test/Transforms/MergedLoadStoreMotion/st_sink_barrier_call.ll
    M llvm/test/Transforms/MergedLoadStoreMotion/st_sink_no_barrier_store.ll
    M llvm/test/Transforms/MergedLoadStoreMotion/st_sink_with_barrier.ll
    M llvm/test/Transforms/NewGVN/memory-handling.ll
    M llvm/test/Transforms/NewGVN/pr25440.ll
    M llvm/test/Transforms/NewGVN/volatile-nonvolatile.ll
    M llvm/test/Transforms/ObjCARC/basic.ll
    M llvm/test/Transforms/OpenMP/add_attributes.ll
    M llvm/test/Transforms/OpenMP/parallel_deletion.ll
    M llvm/test/Transforms/OpenMP/parallel_region_merging.ll
    M llvm/test/Transforms/OpenMP/reduced_pointer_info_assertion.ll
    M llvm/test/Transforms/OpenMP/spmdization.ll
    M llvm/test/Transforms/OpenMP/spmdization_assumes.ll
    M llvm/test/Transforms/OpenMP/spmdization_guarding.ll
    M llvm/test/Transforms/OpenMP/spmdization_indirect.ll
    M llvm/test/Transforms/PhaseOrdering/AArch64/block_scaling_decompr_8bit.ll
    M llvm/test/Transforms/PhaseOrdering/AArch64/constraint-elimination-placement.ll
    M llvm/test/Transforms/PhaseOrdering/AArch64/extra-unroll-simplifications.ll
    M llvm/test/Transforms/PhaseOrdering/AArch64/hoist-runtime-checks.ll
    M llvm/test/Transforms/PhaseOrdering/AArch64/indvars-vectorization.ll
    M llvm/test/Transforms/PhaseOrdering/AArch64/infer-align-from-assumption.ll
    M llvm/test/Transforms/PhaseOrdering/AArch64/memcpy-constant-size.ll
    M llvm/test/Transforms/PhaseOrdering/AArch64/predicated-reduction.ll
    M llvm/test/Transforms/PhaseOrdering/AArch64/quant_4x4.ll
    M llvm/test/Transforms/PhaseOrdering/AArch64/sinking-vs-if-conversion.ll
    M llvm/test/Transforms/PhaseOrdering/AArch64/slpordering.ll
    M llvm/test/Transforms/PhaseOrdering/X86/hoist-load-of-baseptr.ll
    M llvm/test/Transforms/PhaseOrdering/X86/loop-vectorizer-noalias.ll
    M llvm/test/Transforms/PhaseOrdering/X86/pr88239.ll
    M llvm/test/Transforms/PhaseOrdering/X86/preserve-access-group.ll
    M llvm/test/Transforms/PhaseOrdering/X86/spurious-peeling.ll
    M llvm/test/Transforms/PhaseOrdering/X86/unroll-vectorizer.ll
    M llvm/test/Transforms/PhaseOrdering/early-arg-attrs-inference.ll
    M llvm/test/Transforms/PhaseOrdering/gvn-replacement-vs-hoist.ll
    M llvm/test/Transforms/PhaseOrdering/loop-access-checks.ll
    M llvm/test/Transforms/PhaseOrdering/lto-argpromotion-ipsccp.ll
    M llvm/test/Transforms/PhaseOrdering/memcpy-offset.ll
    M llvm/test/Transforms/PhaseOrdering/pr95152.ll
    M llvm/test/Transforms/PhaseOrdering/pr98799-inline-simplifycfg-ub.ll
    M llvm/test/Transforms/PhaseOrdering/switch_with_geps.ll
    M llvm/test/Transforms/RewriteStatepointsForGC/call-argument-attributes.ll
    M llvm/test/Transforms/SCCP/pr45185-range-predinfo.ll
    M llvm/test/Transforms/SLPVectorizer/SystemZ/reductions-fadd.ll
    M llvm/test/Transforms/SLPVectorizer/SystemZ/reductions-fmin-fmax.ll
    M llvm/test/Transforms/SLPVectorizer/SystemZ/reductions-fmul.ll
    M llvm/test/Transforms/SROA/non-capturing-call-readonly.ll
    M llvm/test/Transforms/SeparateConstOffsetFromGEP/AMDGPU/split-gep-and-gvn-addrspace-addressing-modes.ll
    M llvm/test/Transforms/SeparateConstOffsetFromGEP/AMDGPU/split-gep-and-gvn.ll
    M llvm/test/Transforms/SeparateConstOffsetFromGEP/NVPTX/split-gep-and-gvn.ll
    M llvm/test/Transforms/SimpleLoopUnswitch/AMDGPU/uniform-unswitch.ll
    M llvm/test/Transforms/TailCallElim/accum_recursion.ll
    M llvm/test/Transforms/TailCallElim/tre-byval-parameter-2.ll
    M llvm/test/Transforms/TailCallElim/tre-byval-parameter.ll
    M llvm/unittests/Transforms/Utils/CloningTest.cpp
    M llvm/utils/TableGen/Basic/IntrinsicEmitter.cpp
    M mlir/lib/Target/LLVMIR/AttrKindDetail.h
    M mlir/lib/Target/LLVMIR/ModuleImport.cpp
    M mlir/test/Target/LLVMIR/Import/function-attributes.ll
    M mlir/test/Target/LLVMIR/attribute-alias-scopes.mlir
    M mlir/test/Target/LLVMIR/llvmir-intrinsics.mlir
    M mlir/test/Target/LLVMIR/llvmir.mlir

  Log Message:
  -----------
  [IR] Convert from nocapture to captures(none) (#123181)

This PR removes the old `nocapture` attribute, replacing it with the new
`captures` attribute introduced in #116990. This change is
intended to be essentially NFC, replacing existing uses of `nocapture`
with `captures(none)` without adding any new analysis capabilities.
Making use of non-`none` values is left for a followup.

Some notes:
* `nocapture` will be upgraded to `captures(none)` by the bitcode
   reader.
* `nocapture` will also be upgraded by the textual IR reader. This is to
   make it easier to use old IR files and somewhat reduce the test churn in
   this PR.
* Helper APIs like `doesNotCapture()` will check for `captures(none)`.
* MLIR import will convert `captures(none)` into an `llvm.nocapture`
   attribute. The representation in the LLVM IR dialect should be updated
   separately.


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

  Changed paths:
    M flang/lib/Optimizer/Transforms/CUFOpConversion.cpp
    M flang/test/Fir/CUDA/cuda-alloc-free.fir
    M flang/test/Fir/CUDA/cuda-allocate.fir
    M flang/test/Fir/CUDA/cuda-data-transfer.fir

  Log Message:
  -----------
  [flang][cuda] Propagate the data attribute on the converted calls (#124877)


  Commit: 4fc514af516f9434bf5ba3de404943a1f92817f7
      https://github.com/llvm/llvm-project/commit/4fc514af516f9434bf5ba3de404943a1f92817f7
  Author: Guojin <he.guojin at gmail.com>
  Date:   2025-01-29 (Wed, 29 Jan 2025)

  Changed paths:
    M mlir/lib/Target/LLVMIR/ModuleImport.cpp
    M mlir/test/Target/LLVMIR/Import/function-attributes.ll

  Log Message:
  -----------
  [MLIR][LLVM] Fix import of dso_local attribute (#124822)

The import of LLVM IR should use is isDSOLocal instead of
hasLocalLinkage to set the dso_local attribute.
Without this change, function definitions that mostly have external
linkage would be missing dso_local attribute during translation.

---------

Co-authored-by: Tobias Gysi <tobias.gysi at nextsilicon.com>


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

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

  Log Message:
  -----------
  [mlir][Conversion] Fix typos in MemRef descriptor comments (#124923)


  Commit: 3ce97e4aa98ad6a3502528818ff11eee89ef2fae
      https://github.com/llvm/llvm-project/commit/3ce97e4aa98ad6a3502528818ff11eee89ef2fae
  Author: Michael Maitland <michaeltmaitland at gmail.com>
  Date:   2025-01-29 (Wed, 29 Jan 2025)

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

  Log Message:
  -----------
  [ReachingDefAnalysis][NFC] Use at instead of lookup for DenseMap access

`at` has an assert that the key exists. Since we are assuming the key exists,
use `at` instead of `lookup`.


  Commit: 35defdf4707dfa58802188d2aad1298cddb44cb6
      https://github.com/llvm/llvm-project/commit/35defdf4707dfa58802188d2aad1298cddb44cb6
  Author: Michael Maitland <michaeltmaitland at gmail.com>
  Date:   2025-01-29 (Wed, 29 Jan 2025)

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

  Log Message:
  -----------
  Revert "[ReachingDefAnalysis][NFC] Use at instead of lookup for DenseMap access"

This reverts commit 3ce97e4aa98ad6a3502528818ff11eee89ef2fae. Pushed to main
prematurley.


  Commit: 8a43d0e8736cf5e0f95a5f02c9b6855a703b2e4e
      https://github.com/llvm/llvm-project/commit/8a43d0e8736cf5e0f95a5f02c9b6855a703b2e4e
  Author: Nikita Popov <npopov at redhat.com>
  Date:   2025-01-29 (Wed, 29 Jan 2025)

  Changed paths:
    M llvm/lib/Transforms/IPO/AttributorAttributes.cpp
    M llvm/test/Transforms/Attributor/liveness.ll
    M llvm/test/Transforms/Attributor/nonnull.ll

  Log Message:
  -----------
  [Attributor] Check correct IRPosition in AANoCapture::isImpliedByIR()

This case is intended to check the callee argument, not the call-site.

Fixes an issue introduced in #123181.


  Commit: 67752f61917994e4daa6f5d30e39e237c26a73de
      https://github.com/llvm/llvm-project/commit/67752f61917994e4daa6f5d30e39e237c26a73de
  Author: Peng Liu <winner245 at hotmail.com>
  Date:   2025-01-29 (Wed, 29 Jan 2025)

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

  Log Message:
  -----------
  [libc++] Simplify vector<bool>::__construct_at_end (#119632)

This patch simplifies the implementation of `__construct_at_end` in
`vector<bool>`, which currently contains duplicate initialization logic
across its two overloads.


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

  Changed paths:
    M flang/test/Integration/OpenMP/map-types-and-sizes.f90
    M mlir/lib/Target/LLVMIR/Dialect/OpenMP/OpenMPToLLVMIRTranslation.cpp
    M mlir/test/Target/LLVMIR/omptarget-nested-ptr-record-type-mapping-host.mlir
    A mlir/test/Target/LLVMIR/omptarget-nullary-record-ptr-member-map.mlir
    M mlir/test/Target/LLVMIR/omptarget-record-type-with-ptr-member-host.mlir
    A offload/test/offloading/fortran/target-map-nullary-pointer.f90

  Log Message:
  -----------
  [MLIR][OpenMP] Emit nullary check for mapped pointer members and appropriate size select based on results (#124604)

This PR aims to fix a mapping error when trying to map nullary elements
of a record type (primary example is allocatables/pointer types in
Fortran at the moment). This should be legal to map, just not write to
without pointing to anything within the target region. A common Fortran
OpenMP idiom/example where this is useful can be found in the added
Fortran offload example.

The runtime error arises when we try to map the pointer member utilising
a prescribed constant size that we receive from the lowered type,
resulting in mapping of data that will be non-existent when there is no
allocated data. The fix in this case is to emit a runtime check to see
if the data has been allocated, if it hasn't been we select a size of 0,
if it has we emit the usual type size.


  Commit: 9adc99bcc5645b7446262e89f59c9ff797c8d09b
      https://github.com/llvm/llvm-project/commit/9adc99bcc5645b7446262e89f59c9ff797c8d09b
  Author: Konstantina Mitropoulou <44334539+kmitropoulou at users.noreply.github.com>
  Date:   2025-01-29 (Wed, 29 Jan 2025)

  Changed paths:
    M llvm/lib/Target/AMDGPU/AMDGPU.td
    M llvm/lib/Target/AMDGPU/SIInstructions.td
    A llvm/test/CodeGen/AMDGPU/set_kill_i1_for_floation_point_comparison.ll

  Log Message:
  -----------
  [AMDGPU] Always emit SI_KILL_I1_PSEUDO for uniform floating point branches. (#124028)

- **[NFC] Use GCNPat instead of Pat.**
- **[AMDGPU] Always emit SI_KILL_I1_PSEUDO for uniform floating point
branches.**

---------

Co-authored-by: Konstantina Mitropoulou <KonstantinaMitropoulou at amd.com>


  Commit: d444558f51a86c623e4b108e19f8f2400ec28782
      https://github.com/llvm/llvm-project/commit/d444558f51a86c623e4b108e19f8f2400ec28782
  Author: Benjamin Kramer <benny.kra at googlemail.com>
  Date:   2025-01-29 (Wed, 29 Jan 2025)

  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 25ae1a266d50f24a8fffc57152d7f3c3fcb65517


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

  Changed paths:
    M llvm/test/Transforms/PhaseOrdering/X86/hadd.ll
    M llvm/test/Transforms/PhaseOrdering/X86/hsub.ll

  Log Message:
  -----------
  [PhaseOrdering][X86] Add additional hadd/hsub test coverage

Add v16i16 coverage and "reverse order hadd/hsub" tests


  Commit: 0d4efa27252cbbea4b5672d4d8ffc15a3ba51d83
      https://github.com/llvm/llvm-project/commit/0d4efa27252cbbea4b5672d4d8ffc15a3ba51d83
  Author: Rolf Morel <rolf.morel at intel.com>
  Date:   2025-01-29 (Wed, 29 Jan 2025)

  Changed paths:
    M mlir/include/mlir/Dialect/Linalg/IR/LinalgStructuredOps.td
    M mlir/lib/Dialect/Linalg/IR/LinalgOps.cpp
    M mlir/test/Dialect/Linalg/generalize-named-ops.mlir
    M mlir/test/Dialect/Linalg/generalize-named-polymorphic-ops.mlir
    M mlir/test/Dialect/Linalg/invalid.mlir
    M mlir/test/Dialect/Linalg/loops.mlir
    M mlir/test/Dialect/Linalg/named-ops.mlir
    M mlir/test/Dialect/Linalg/roundtrip.mlir
    M mlir/test/Dialect/Linalg/tile-tensors.mlir
    M mlir/test/Dialect/Linalg/vectorization-with-patterns.mlir

  Log Message:
  -----------
  [MLIR][Linalg] Introduce linalg.contract (#123618)

A new op that allows for representing arbitrary contractions on operands
of arbitrary rank, with arbitrary transposes and arbitrary broadcasts
specified through its indexing_maps attribute.

Supports the expected lowerings to linalg.generic and to
vector.contract.

Corresponding RFC is here:
https://discourse.llvm.org/t/mlir-rfc-introduce-linalg-contract/83589


  Commit: 15412d735a4f3e85b1c68025ca28d5671fde7b47
      https://github.com/llvm/llvm-project/commit/15412d735a4f3e85b1c68025ca28d5671fde7b47
  Author: Baranov Victor <70346889+vbvictor at users.noreply.github.com>
  Date:   2025-01-29 (Wed, 29 Jan 2025)

  Changed paths:
    M clang-tools-extra/docs/clang-tidy/checks/bugprone/assert-side-effect.rst
    M clang-tools-extra/docs/clang-tidy/checks/performance/for-range-copy.rst
    M clang-tools-extra/docs/clang-tidy/checks/performance/unnecessary-copy-initialization.rst
    M clang-tools-extra/docs/clang-tidy/checks/performance/unnecessary-value-param.rst

  Log Message:
  -----------
  [clang-tidy] Refactor: remove typos in 'AllowedTypes' option in various checks (#122957)


  Commit: 18f8106f310ee702046a11f360af47947c030d2e
      https://github.com/llvm/llvm-project/commit/18f8106f310ee702046a11f360af47947c030d2e
  Author: Joel E. Denny <jdenny.ornl at gmail.com>
  Date:   2025-01-29 (Wed, 29 Jan 2025)

  Changed paths:
    A llvm/docs/KernelInfo.rst
    M llvm/docs/Passes.rst
    A llvm/include/llvm/Analysis/KernelInfo.h
    M llvm/include/llvm/Analysis/TargetTransformInfo.h
    M llvm/include/llvm/Analysis/TargetTransformInfoImpl.h
    M llvm/include/llvm/IR/Function.h
    M llvm/include/llvm/Target/TargetMachine.h
    M llvm/lib/Analysis/CMakeLists.txt
    A llvm/lib/Analysis/KernelInfo.cpp
    M llvm/lib/Analysis/TargetTransformInfo.cpp
    M llvm/lib/Passes/PassBuilder.cpp
    M llvm/lib/Passes/PassRegistry.def
    M llvm/lib/Target/AMDGPU/AMDGPUTargetMachine.cpp
    M llvm/lib/Target/AMDGPU/AMDGPUTargetTransformInfo.cpp
    M llvm/lib/Target/AMDGPU/AMDGPUTargetTransformInfo.h
    M llvm/lib/Target/NVPTX/NVPTXTargetMachine.cpp
    M llvm/lib/Target/NVPTX/NVPTXTargetTransformInfo.cpp
    M llvm/lib/Target/NVPTX/NVPTXTargetTransformInfo.h
    M llvm/lib/Target/TargetMachine.cpp
    M llvm/lib/Transforms/IPO/OpenMPOpt.cpp
    A llvm/test/Analysis/KernelInfo/allocas.ll
    A llvm/test/Analysis/KernelInfo/calls.ll
    A llvm/test/Analysis/KernelInfo/enable-kernel-info/Inputs/test.ll
    A llvm/test/Analysis/KernelInfo/enable-kernel-info/amdgpu.test
    A llvm/test/Analysis/KernelInfo/enable-kernel-info/nvptx.test
    A llvm/test/Analysis/KernelInfo/flat-addrspace/Inputs/test.ll
    A llvm/test/Analysis/KernelInfo/flat-addrspace/amdgpu.test
    A llvm/test/Analysis/KernelInfo/flat-addrspace/nvptx.test
    A llvm/test/Analysis/KernelInfo/launch-bounds/amdgpu.ll
    A llvm/test/Analysis/KernelInfo/launch-bounds/nvptx.ll
    A llvm/test/Analysis/KernelInfo/linkage.ll
    A llvm/test/Analysis/KernelInfo/openmp/README.md
    A llvm/test/Analysis/KernelInfo/openmp/amdgpu.ll
    A llvm/test/Analysis/KernelInfo/openmp/nvptx.ll

  Log Message:
  -----------
  [KernelInfo] Implement new LLVM IR pass for GPU code analysis (#102944)

This patch implements an LLVM IR pass, named kernel-info, that reports
various statistics for codes compiled for GPUs. The ultimate goal of
these statistics to help identify bad code patterns and ways to mitigate
them. The pass operates at the LLVM IR level so that it can, in theory,
support any LLVM-based compiler for programming languages supporting
GPUs. It has been tested so far with LLVM IR generated by Clang for
OpenMP offload codes targeting NVIDIA GPUs and AMD GPUs.

By default, the pass runs at the end of LTO, and options like
``-Rpass=kernel-info`` enable its remarks. Example `opt` and `clang`
command lines appear in `llvm/docs/KernelInfo.rst`. Remarks include
summary statistics (e.g., total size of static allocas) and individual
occurrences (e.g., source location of each alloca). Examples of its
output appear in tests in `llvm/test/Analysis/KernelInfo`.


  Commit: 7fff2527f8a3c3d201136a6051cb9127e45f67a7
      https://github.com/llvm/llvm-project/commit/7fff2527f8a3c3d201136a6051cb9127e45f67a7
  Author: Craig Topper <craig.topper at sifive.com>
  Date:   2025-01-29 (Wed, 29 Jan 2025)

  Changed paths:
    M llvm/lib/Target/PowerPC/PPCISelLowering.cpp
    M llvm/lib/Target/PowerPC/PPCISelLowering.h

  Log Message:
  -----------
  [PowerPC] Use SelectionDAG::makeEquivalentMemoryOrdering(). NFC (#124889)


  Commit: 27e01d1d74bf5990e2ec69b8d588eb1baa401ed9
      https://github.com/llvm/llvm-project/commit/27e01d1d74bf5990e2ec69b8d588eb1baa401ed9
  Author: Craig Topper <craig.topper at sifive.com>
  Date:   2025-01-29 (Wed, 29 Jan 2025)

  Changed paths:
    M llvm/lib/Target/X86/X86FrameLowering.cpp
    M llvm/lib/Target/X86/X86InstrInfo.cpp

  Log Message:
  -----------
  [X86] Use new Flags argument to storeRegToStackSlot to simplify code. NFC (#124658)

Use the Flags argument to add FrameSetup directly instead of walking
backwards to add the flag after the call.


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

  Changed paths:
    M clang/lib/Headers/amxtf32transposeintrin.h
    M llvm/lib/Target/Hexagon/HexagonISelDAGToDAGHVX.cpp
    M mlir/docs/Canonicalization.md
    M mlir/include/mlir/Dialect/Linalg/TransformOps/LinalgTransformOps.td
    M mlir/include/mlir/Dialect/Vector/IR/VectorOps.td
    M mlir/lib/Conversion/VectorToArmSME/VectorToArmSME.cpp
    M mlir/lib/Conversion/VectorToXeGPU/VectorToXeGPU.cpp
    M mlir/lib/Dialect/ArmSME/Transforms/VectorLegalization.cpp
    M mlir/lib/Dialect/LLVMIR/IR/NVVMDialect.cpp
    M mlir/lib/Dialect/Linalg/IR/LinalgInterfaces.cpp
    M mlir/lib/Dialect/Linalg/Transforms/TransposeConv2D.cpp
    M mlir/lib/Dialect/SparseTensor/Transforms/SparseGPUCodegen.cpp
    M mlir/lib/Dialect/Vector/IR/VectorOps.cpp
    M mlir/lib/Dialect/Vector/Transforms/VectorDropLeadUnitDim.cpp
    M mlir/lib/Dialect/Vector/Transforms/VectorTransforms.cpp
    M mlir/test/Dialect/Vector/vector-unroll-options.mlir

  Log Message:
  -----------
  Fix typo "tranpose" (#124929)


  Commit: c8593239a3b5a8864c2a315db33bbcb7b68f3da0
      https://github.com/llvm/llvm-project/commit/c8593239a3b5a8864c2a315db33bbcb7b68f3da0
  Author: Krzysztof Parzyszek <Krzysztof.Parzyszek at amd.com>
  Date:   2025-01-29 (Wed, 29 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/Parser/unparse.cpp

  Log Message:
  -----------
  [flang][OpenMP] Make parsing of trait properties more context-sensitive (#122900)

A trait poperty can be one of serveral alternatives (name, expression,
etc.), and each property in a list was parsed as if it could be any of
these alternatives independently from other properties. This made the
parsing vulnerable to certain ambiguities in the trait grammar (provided
in the OpenMP spec).
At the same time the OpenMP spec gives the expected types of properties
for almost every trait: all properties listed for a given trait are
usually of the same type, e.g. names, clauses, etc.

Incorporate these restrictions into the parser, and additionally use
property extensions as the fallback if the parsing of the expected
property type failed. This is intended to allow the parser to succeed,
and instead let the semantic-checking code emit a more user-friendly
message.


  Commit: fa0f103678b84ae64c21ae18b3bbd570e5420037
      https://github.com/llvm/llvm-project/commit/fa0f103678b84ae64c21ae18b3bbd570e5420037
  Author: Krzysztof Parzyszek <Krzysztof.Parzyszek at amd.com>
  Date:   2025-01-29 (Wed, 29 Jan 2025)

  Changed paths:
    M .ci/generate-buildkite-pipeline-premerge
    M .ci/metrics/metrics.py
    M .ci/monolithic-windows.sh
    M .github/workflows/build-ci-container.yml
    M .github/workflows/containers/github-action-ci-windows/Dockerfile
    M .github/workflows/containers/github-action-ci/Dockerfile
    M .github/workflows/libc-fullbuild-tests.yml
    M .github/workflows/libc-overlay-tests.yml
    M .github/workflows/libclang-abi-tests.yml
    M .github/workflows/libcxx-build-and-test.yaml
    M .github/workflows/libcxx-restart-preempted-jobs.yaml
    M .github/workflows/llvm-tests.yml
    M .github/workflows/premerge.yaml
    M .github/workflows/release-binaries-all.yml
    M .github/workflows/release-binaries.yml
    M .github/workflows/release-documentation.yml
    M .github/workflows/spirv-tests.yml
    M bolt/CMakeLists.txt
    M bolt/include/bolt/Core/BinaryContext.h
    M bolt/include/bolt/Core/MCPlusBuilder.h
    M bolt/include/bolt/Profile/DataAggregator.h
    M bolt/lib/Core/BinaryFunction.cpp
    M bolt/lib/Passes/Inliner.cpp
    M bolt/lib/Passes/PLTCall.cpp
    M bolt/lib/Profile/DataAggregator.cpp
    M bolt/lib/Target/AArch64/AArch64MCPlusBuilder.cpp
    M bolt/lib/Target/X86/X86MCPlusBuilder.cpp
    M bolt/runtime/CMakeLists.txt
    A bolt/test/AArch64/exceptions-plt.cpp
    A bolt/test/AArch64/inline-small-function-1.s
    A bolt/test/AArch64/inline-small-function-2.s
    A bolt/test/AArch64/jump-table-heuristic-fail.s
    A bolt/test/AArch64/remove-nops.s
    M bolt/test/AArch64/test-indirect-branch.s
    M bolt/test/lit.local.cfg
    A bolt/test/runtime/exceptions-plt.cpp
    M clang-tools-extra/clang-reorder-fields/ReorderFieldsAction.cpp
    M clang-tools-extra/clang-tidy/ClangTidyProfiling.cpp
    M clang-tools-extra/clang-tidy/ClangTidyProfiling.h
    M clang-tools-extra/clang-tidy/misc/UnusedUsingDeclsCheck.cpp
    M clang-tools-extra/clang-tidy/misc/UnusedUsingDeclsCheck.h
    M clang-tools-extra/clang-tidy/modernize/RawStringLiteralCheck.cpp
    M clang-tools-extra/clang-tidy/modernize/RawStringLiteralCheck.h
    M clang-tools-extra/clang-tidy/modernize/UseIntegerSignComparisonCheck.cpp
    M clang-tools-extra/clang-tidy/modernize/UseIntegerSignComparisonCheck.h
    M clang-tools-extra/clang-tidy/utils/LexerUtils.cpp
    M clang-tools-extra/clangd/CMakeLists.txt
    M clang-tools-extra/clangd/Diagnostics.cpp
    M clang-tools-extra/clangd/Diagnostics.h
    M clang-tools-extra/clangd/FindTarget.cpp
    M clang-tools-extra/clangd/FindTarget.h
    M clang-tools-extra/clangd/GlobalCompilationDatabase.cpp
    M clang-tools-extra/clangd/GlobalCompilationDatabase.h
    R clang-tools-extra/clangd/HeuristicResolver.cpp
    R clang-tools-extra/clangd/HeuristicResolver.h
    M clang-tools-extra/clangd/Hover.cpp
    M clang-tools-extra/clangd/InlayHints.cpp
    M clang-tools-extra/clangd/ParsedAST.cpp
    M clang-tools-extra/clangd/ParsedAST.h
    M clang-tools-extra/clangd/Preamble.cpp
    M clang-tools-extra/clangd/ProjectModules.h
    M clang-tools-extra/clangd/ScanningProjectModules.cpp
    M clang-tools-extra/clangd/SemanticHighlighting.cpp
    M clang-tools-extra/clangd/XRefs.cpp
    M clang-tools-extra/clangd/index/SymbolCollector.cpp
    M clang-tools-extra/clangd/unittests/CMakeLists.txt
    M clang-tools-extra/clangd/unittests/ConfigCompileTests.cpp
    R clang-tools-extra/clangd/unittests/HeuristicResolverTests.cpp
    M clang-tools-extra/clangd/unittests/PrerequisiteModulesTest.cpp
    M clang-tools-extra/docs/ReleaseNotes.rst
    M clang-tools-extra/docs/clang-tidy/Contributing.rst
    M clang-tools-extra/docs/clang-tidy/checks/bugprone/assert-side-effect.rst
    M clang-tools-extra/docs/clang-tidy/checks/modernize/use-integer-sign-comparison.rst
    M clang-tools-extra/docs/clang-tidy/checks/performance/for-range-copy.rst
    M clang-tools-extra/docs/clang-tidy/checks/performance/unnecessary-copy-initialization.rst
    M clang-tools-extra/docs/clang-tidy/checks/performance/unnecessary-value-param.rst
    M clang-tools-extra/include-cleaner/include/clang-include-cleaner/Analysis.h
    M clang-tools-extra/include-cleaner/lib/Analysis.cpp
    M clang-tools-extra/include-cleaner/lib/AnalysisInternal.h
    M clang-tools-extra/include-cleaner/lib/FindHeaders.cpp
    M clang-tools-extra/include-cleaner/lib/HTMLReport.cpp
    M clang-tools-extra/include-cleaner/lib/LocateSymbol.cpp
    M clang-tools-extra/include-cleaner/tool/IncludeCleaner.cpp
    M clang-tools-extra/include-cleaner/unittests/FindHeadersTest.cpp
    M clang-tools-extra/include-cleaner/unittests/LocateSymbolTest.cpp
    M clang-tools-extra/modularize/CoverageChecker.cpp
    M clang-tools-extra/test/clang-reorder-fields/Comments.cpp
    M clang-tools-extra/test/clang-tidy/checkers/modernize/raw-string-literal.cpp
    A clang-tools-extra/test/clang-tidy/checkers/modernize/use-integer-sign-comparison-qt.cpp
    M clang/CMakeLists.txt
    M clang/cmake/caches/Fuchsia-stage2.cmake
    M clang/docs/BoundsSafety.rst
    A clang/docs/BoundsSafetyAdoptionGuide.rst
    M clang/docs/ClangFormatStyleOptions.rst
    M clang/docs/ClangOffloadBundler.rst
    M clang/docs/ClangTransformerTutorial.rst
    M clang/docs/ConstantInterpreter.rst
    M clang/docs/HIPSupport.rst
    M clang/docs/LanguageExtensions.rst
    M clang/docs/ReleaseNotes.rst
    A clang/docs/TypeSanitizer.rst
    M clang/docs/UsersManual.rst
    M clang/docs/index.rst
    M clang/include/clang/AST/APValue.h
    M clang/include/clang/AST/ASTContext.h
    M clang/include/clang/AST/ASTLambda.h
    M clang/include/clang/AST/ASTNodeTraverser.h
    M clang/include/clang/AST/Decl.h
    M clang/include/clang/AST/DeclBase.h
    M clang/include/clang/AST/DeclCXX.h
    M clang/include/clang/AST/DeclTemplate.h
    M clang/include/clang/AST/DynamicRecursiveASTVisitor.h
    M clang/include/clang/AST/Expr.h
    M clang/include/clang/AST/ExprCXX.h
    M clang/include/clang/AST/ExternalASTMerger.h
    M clang/include/clang/AST/ExternalASTSource.h
    M clang/include/clang/AST/RecursiveASTVisitor.h
    A clang/include/clang/AST/StmtSYCL.h
    M clang/include/clang/AST/StmtVisitor.h
    M clang/include/clang/AST/Type.h
    M clang/include/clang/AST/TypeLoc.h
    M clang/include/clang/AST/UnresolvedSet.h
    M clang/include/clang/ASTMatchers/ASTMatchersInternal.h
    M clang/include/clang/Analysis/Analyses/ExprMutationAnalyzer.h
    M clang/include/clang/Basic/AArch64SVEACLETypes.def
    M clang/include/clang/Basic/AddressSpaces.h
    A clang/include/clang/Basic/AllDiagnosticKinds.inc
    M clang/include/clang/Basic/Attr.td
    M clang/include/clang/Basic/AttrDocs.td
    M clang/include/clang/Basic/AttributeCommonInfo.h
    M clang/include/clang/Basic/Attributes.h
    M clang/include/clang/Basic/Builtins.td
    M clang/include/clang/Basic/BuiltinsAMDGPU.def
    R clang/include/clang/Basic/BuiltinsHexagon.def
    A clang/include/clang/Basic/BuiltinsHexagon.td
    R clang/include/clang/Basic/BuiltinsHexagonDep.def
    R clang/include/clang/Basic/BuiltinsNVPTX.def
    A clang/include/clang/Basic/BuiltinsNVPTX.td
    M clang/include/clang/Basic/BuiltinsSPIRV.td
    M clang/include/clang/Basic/BuiltinsSystemZ.def
    M clang/include/clang/Basic/BuiltinsX86.td
    M clang/include/clang/Basic/BuiltinsX86_64.td
    M clang/include/clang/Basic/CMakeLists.txt
    M clang/include/clang/Basic/CodeGenOptions.def
    M clang/include/clang/Basic/CodeGenOptions.h
    M clang/include/clang/Basic/Cuda.h
    M clang/include/clang/Basic/DeclNodes.td
    M clang/include/clang/Basic/Diagnostic.h
    M clang/include/clang/Basic/DiagnosticCategories.h
    M clang/include/clang/Basic/DiagnosticDriverKinds.td
    M clang/include/clang/Basic/DiagnosticGroups.td
    M clang/include/clang/Basic/DiagnosticIDs.h
    M clang/include/clang/Basic/DiagnosticLexKinds.td
    M clang/include/clang/Basic/DiagnosticSemaKinds.td
    M clang/include/clang/Basic/IdentifierTable.h
    M clang/include/clang/Basic/LangOptions.def
    M clang/include/clang/Basic/LangOptions.h
    M clang/include/clang/Basic/StmtNodes.td
    M clang/include/clang/Basic/TargetBuiltins.h
    M clang/include/clang/Basic/TokenKinds.def
    M clang/include/clang/Basic/Version.inc.in
    M clang/include/clang/Basic/arm_neon.td
    M clang/include/clang/Basic/arm_neon_incl.td
    M clang/include/clang/Basic/arm_sve.td
    M clang/include/clang/CodeGen/BackendUtil.h
    M clang/include/clang/Driver/OffloadBundler.h
    M clang/include/clang/Driver/Options.td
    M clang/include/clang/Format/Format.h
    M clang/include/clang/Lex/Lexer.h
    M clang/include/clang/Lex/Preprocessor.h
    M clang/include/clang/Sema/CMakeLists.txt
    A clang/include/clang/Sema/HeuristicResolver.h
    M clang/include/clang/Sema/MultiplexExternalSemaSource.h
    M clang/include/clang/Sema/Overload.h
    M clang/include/clang/Sema/Sema.h
    M clang/include/clang/Sema/SemaCodeCompletion.h
    M clang/include/clang/Sema/SemaInternal.h
    M clang/include/clang/Sema/SemaSYCL.h
    M clang/include/clang/Sema/Template.h
    M clang/include/clang/Sema/TemplateDeduction.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/module.modulemap
    M clang/lib/APINotes/APINotesManager.cpp
    M clang/lib/AST/APValue.cpp
    M clang/lib/AST/ASTContext.cpp
    M clang/lib/AST/ASTImporter.cpp
    M clang/lib/AST/ASTStructuralEquivalence.cpp
    M clang/lib/AST/ByteCode/ByteCodeEmitter.cpp
    M clang/lib/AST/ByteCode/Compiler.cpp
    M clang/lib/AST/ByteCode/Context.cpp
    M clang/lib/AST/ByteCode/Descriptor.cpp
    M clang/lib/AST/ByteCode/Disasm.cpp
    M clang/lib/AST/ByteCode/EvaluationResult.cpp
    M clang/lib/AST/ByteCode/FixedPoint.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/Pointer.cpp
    M clang/lib/AST/ByteCode/Pointer.h
    M clang/lib/AST/ByteCode/Program.cpp
    M clang/lib/AST/Decl.cpp
    M clang/lib/AST/DeclBase.cpp
    M clang/lib/AST/DeclCXX.cpp
    M clang/lib/AST/DeclTemplate.cpp
    M clang/lib/AST/DynamicRecursiveASTVisitor.cpp
    M clang/lib/AST/Expr.cpp
    M clang/lib/AST/ExprConstant.cpp
    M clang/lib/AST/ExternalASTMerger.cpp
    M clang/lib/AST/ExternalASTSource.cpp
    M clang/lib/AST/ItaniumMangle.cpp
    M clang/lib/AST/JSONNodeDumper.cpp
    M clang/lib/AST/ParentMapContext.cpp
    M clang/lib/AST/Stmt.cpp
    M clang/lib/AST/StmtPrinter.cpp
    M clang/lib/AST/StmtProfile.cpp
    M clang/lib/AST/TemplateBase.cpp
    M clang/lib/AST/TemplateName.cpp
    M clang/lib/AST/TextNodeDumper.cpp
    M clang/lib/AST/Type.cpp
    M clang/lib/AST/TypePrinter.cpp
    M clang/lib/AST/VTableBuilder.cpp
    M clang/lib/Analysis/ExprMutationAnalyzer.cpp
    M clang/lib/Analysis/UnsafeBufferUsage.cpp
    M clang/lib/Basic/Attributes.cpp
    M clang/lib/Basic/Cuda.cpp
    M clang/lib/Basic/Diagnostic.cpp
    M clang/lib/Basic/DiagnosticIDs.cpp
    M clang/lib/Basic/LangOptions.cpp
    M clang/lib/Basic/Targets.cpp
    M clang/lib/Basic/Targets/AArch64.h
    M clang/lib/Basic/Targets/AMDGPU.cpp
    M clang/lib/Basic/Targets/ARM.cpp
    M clang/lib/Basic/Targets/DirectX.h
    M clang/lib/Basic/Targets/Hexagon.cpp
    M clang/lib/Basic/Targets/LoongArch.cpp
    M clang/lib/Basic/Targets/LoongArch.h
    M clang/lib/Basic/Targets/NVPTX.cpp
    M clang/lib/Basic/Targets/NVPTX.h
    M clang/lib/Basic/Targets/OSTargets.cpp
    M clang/lib/Basic/Targets/OSTargets.h
    M clang/lib/Basic/Targets/RISCV.cpp
    M clang/lib/Basic/Targets/SPIR.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/WebAssembly.h
    M clang/lib/Basic/Targets/X86.h
    M clang/lib/CodeGen/ABIInfo.cpp
    M clang/lib/CodeGen/ABIInfo.h
    M clang/lib/CodeGen/BackendUtil.cpp
    M clang/lib/CodeGen/CGAtomic.cpp
    M clang/lib/CodeGen/CGBuiltin.cpp
    M clang/lib/CodeGen/CGCUDANV.cpp
    M clang/lib/CodeGen/CGCall.cpp
    M clang/lib/CodeGen/CGCleanup.cpp
    M clang/lib/CodeGen/CGCleanup.h
    M clang/lib/CodeGen/CGCoroutine.cpp
    M clang/lib/CodeGen/CGDebugInfo.cpp
    M clang/lib/CodeGen/CGDecl.cpp
    M clang/lib/CodeGen/CGDeclCXX.cpp
    M clang/lib/CodeGen/CGException.cpp
    M clang/lib/CodeGen/CGExpr.cpp
    M clang/lib/CodeGen/CGExprCXX.cpp
    M clang/lib/CodeGen/CGExprScalar.cpp
    M clang/lib/CodeGen/CGHLSLRuntime.cpp
    M clang/lib/CodeGen/CGHLSLRuntime.h
    M clang/lib/CodeGen/CGObjCGNU.cpp
    M clang/lib/CodeGen/CGObjCRuntime.cpp
    M clang/lib/CodeGen/CGOpenMPRuntime.cpp
    M clang/lib/CodeGen/CGOpenMPRuntimeGPU.cpp
    M clang/lib/CodeGen/CGStmt.cpp
    M clang/lib/CodeGen/CodeGenAction.cpp
    M clang/lib/CodeGen/CodeGenFunction.cpp
    M clang/lib/CodeGen/CodeGenFunction.h
    M clang/lib/CodeGen/CodeGenModule.cpp
    M clang/lib/CodeGen/CodeGenModule.h
    M clang/lib/CodeGen/CodeGenTypes.cpp
    M clang/lib/CodeGen/EHScopeStack.h
    M clang/lib/CodeGen/MicrosoftCXXABI.cpp
    M clang/lib/CodeGen/ObjectFilePCHContainerWriter.cpp
    M clang/lib/CodeGen/TargetInfo.h
    M clang/lib/CodeGen/Targets/AArch64.cpp
    M clang/lib/CodeGen/Targets/AMDGPU.cpp
    M clang/lib/CodeGen/Targets/Mips.cpp
    M clang/lib/Driver/OffloadBundler.cpp
    M clang/lib/Driver/SanitizerArgs.cpp
    M clang/lib/Driver/ToolChains/Arch/ARM.cpp
    M clang/lib/Driver/ToolChains/Arch/LoongArch.cpp
    M clang/lib/Driver/ToolChains/Arch/Mips.cpp
    M clang/lib/Driver/ToolChains/Arch/Mips.h
    M clang/lib/Driver/ToolChains/Clang.cpp
    M clang/lib/Driver/ToolChains/CommonArgs.cpp
    M clang/lib/Driver/ToolChains/Cuda.cpp
    M clang/lib/Driver/ToolChains/Darwin.cpp
    M clang/lib/Driver/ToolChains/Flang.cpp
    M clang/lib/Driver/ToolChains/FreeBSD.cpp
    M clang/lib/Driver/ToolChains/Gnu.cpp
    M clang/lib/Driver/ToolChains/HIPUtility.cpp
    M clang/lib/Driver/ToolChains/Linux.cpp
    M clang/lib/Driver/ToolChains/PS4CPU.cpp
    M clang/lib/Driver/ToolChains/WebAssembly.cpp
    M clang/lib/Format/ContinuationIndenter.cpp
    M clang/lib/Format/Format.cpp
    M clang/lib/Format/QualifierAlignmentFixer.cpp
    M clang/lib/Format/TokenAnnotator.cpp
    M clang/lib/Format/TokenAnnotator.h
    M clang/lib/Format/UnwrappedLineFormatter.cpp
    M clang/lib/Format/UnwrappedLineParser.cpp
    M clang/lib/Format/UnwrappedLineParser.h
    M clang/lib/Frontend/CompilerInvocation.cpp
    M clang/lib/Frontend/FrontendActions.cpp
    M clang/lib/Frontend/InitPreprocessor.cpp
    M clang/lib/Frontend/LogDiagnosticPrinter.cpp
    M clang/lib/Frontend/Rewrite/RewriteModernObjC.cpp
    M clang/lib/Frontend/SerializedDiagnosticPrinter.cpp
    M clang/lib/Frontend/TextDiagnosticPrinter.cpp
    M clang/lib/Headers/amdgpuintrin.h
    M clang/lib/Headers/amxavx512intrin.h
    M clang/lib/Headers/amxtf32transposeintrin.h
    M clang/lib/Headers/avx10_2_512bf16intrin.h
    M clang/lib/Headers/avx10_2_512convertintrin.h
    M clang/lib/Headers/avx10_2_512minmaxintrin.h
    M clang/lib/Headers/avx10_2_512satcvtintrin.h
    M clang/lib/Headers/avx10_2bf16intrin.h
    M clang/lib/Headers/avx10_2convertintrin.h
    M clang/lib/Headers/avx10_2minmaxintrin.h
    M clang/lib/Headers/avx10_2satcvtintrin.h
    M clang/lib/Headers/hlsl/hlsl_detail.h
    M clang/lib/Headers/hlsl/hlsl_intrinsics.h
    M clang/lib/Headers/nvptxintrin.h
    M clang/lib/Headers/vecintrin.h
    M clang/lib/Index/FileIndexRecord.cpp
    M clang/lib/Interpreter/CodeCompletion.cpp
    M clang/lib/Lex/Lexer.cpp
    M clang/lib/Lex/PPDirectives.cpp
    M clang/lib/Parse/ParseExpr.cpp
    M clang/lib/Sema/CMakeLists.txt
    M clang/lib/Sema/CheckExprLifetime.cpp
    M clang/lib/Sema/DeclSpec.cpp
    A clang/lib/Sema/HeuristicResolver.cpp
    M clang/lib/Sema/JumpDiagnostics.cpp
    M clang/lib/Sema/MultiplexExternalSemaSource.cpp
    M clang/lib/Sema/Sema.cpp
    M clang/lib/Sema/SemaAPINotes.cpp
    M clang/lib/Sema/SemaARM.cpp
    M clang/lib/Sema/SemaCUDA.cpp
    M clang/lib/Sema/SemaCast.cpp
    M clang/lib/Sema/SemaChecking.cpp
    M clang/lib/Sema/SemaCodeComplete.cpp
    M clang/lib/Sema/SemaConcept.cpp
    M clang/lib/Sema/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/SemaHLSL.cpp
    M clang/lib/Sema/SemaLambda.cpp
    M clang/lib/Sema/SemaLookup.cpp
    M clang/lib/Sema/SemaOpenACCClause.cpp
    M clang/lib/Sema/SemaOverload.cpp
    M clang/lib/Sema/SemaSPIRV.cpp
    M clang/lib/Sema/SemaSYCL.cpp
    M clang/lib/Sema/SemaStmt.cpp
    M clang/lib/Sema/SemaSystemZ.cpp
    M clang/lib/Sema/SemaTemplate.cpp
    M clang/lib/Sema/SemaTemplateDeduction.cpp
    M clang/lib/Sema/SemaTemplateDeductionGuide.cpp
    M clang/lib/Sema/SemaTemplateInstantiate.cpp
    M clang/lib/Sema/SemaTemplateInstantiateDecl.cpp
    M clang/lib/Sema/SemaType.cpp
    M clang/lib/Sema/SemaX86.cpp
    M clang/lib/Sema/TreeTransform.h
    M clang/lib/Serialization/ASTCommon.cpp
    M clang/lib/Serialization/ASTReader.cpp
    M clang/lib/Serialization/ASTReaderDecl.cpp
    M clang/lib/Serialization/ASTReaderInternals.h
    M clang/lib/Serialization/ASTReaderStmt.cpp
    M clang/lib/Serialization/ASTWriter.cpp
    M clang/lib/Serialization/ASTWriterDecl.cpp
    M clang/lib/Serialization/ASTWriterStmt.cpp
    M clang/lib/StaticAnalyzer/Checkers/WebKit/RawPtrRefMemberChecker.cpp
    M clang/lib/StaticAnalyzer/Core/ExprEngine.cpp
    M clang/lib/StaticAnalyzer/Core/TextDiagnostics.cpp
    M clang/lib/Tooling/Inclusions/Stdlib/StdSpecialSymbolMap.inc
    M clang/test/ARCMT/autoreleases.m
    M clang/test/ARCMT/autoreleases.m.result
    M clang/test/ARCMT/retains.m
    M clang/test/ARCMT/retains.m.result
    M clang/test/AST/ByteCode/c23.c
    M clang/test/AST/ByteCode/constexpr.c
    M clang/test/AST/ByteCode/cxx17.cpp
    M clang/test/AST/ByteCode/cxx20.cpp
    M clang/test/AST/ByteCode/cxx2a.cpp
    M clang/test/AST/ByteCode/cxx98.cpp
    M clang/test/AST/ByteCode/lifetimes.cpp
    M clang/test/AST/ByteCode/literals.cpp
    A clang/test/AST/ByteCode/neon.c
    M clang/test/AST/ByteCode/new-delete.cpp
    M clang/test/AST/ByteCode/records.cpp
    M clang/test/AST/HLSL/StructuredBuffers-AST.hlsl
    M clang/test/AST/HLSL/TypedBuffers-AST.hlsl
    R clang/test/AST/HLSL/ast-dump-comment-cbuffe-tbufferr.hlsl
    A clang/test/AST/HLSL/ast-dump-comment-cbuffer.hlsl
    A clang/test/AST/HLSL/cbuffer.hlsl
    A clang/test/AST/HLSL/cbuffer_and_namespaces.hlsl
    R clang/test/AST/HLSL/cbuffer_tbuffer.hlsl
    M clang/test/AST/HLSL/packoffset.hlsl
    M clang/test/AST/HLSL/pch_hlsl_buffer.hlsl
    M clang/test/AST/HLSL/resource_binding_attr.hlsl
    A clang/test/AST/ast-dump-APValue-lvalue.cpp
    M clang/test/AST/ast-dump-APValue-todo.cpp
    M clang/test/AST/ast-dump-cxx2b-deducing-this.cpp
    M clang/test/AST/ast-dump-decl.c
    M clang/test/AST/ast-dump-records.c
    M clang/test/AST/ast-dump-records.cpp
    M clang/test/AST/ast-dump-special-member-functions.cpp
    M clang/test/AST/attr-counted-by-late-parsed-struct-ptrs.c
    M clang/test/AST/attr-counted-by-or-null-late-parsed-struct-ptrs.c
    M clang/test/AST/attr-counted-by-or-null-struct-ptrs.c
    M clang/test/AST/attr-counted-by-struct-ptrs.c
    M clang/test/AST/attr-sized-by-late-parsed-struct-ptrs.c
    M clang/test/AST/attr-sized-by-or-null-late-parsed-struct-ptrs.c
    M clang/test/AST/attr-sized-by-or-null-struct-ptrs.c
    M clang/test/AST/attr-sized-by-struct-ptrs.c
    A clang/test/ASTSYCL/ast-dump-sycl-kernel-call-stmt.cpp
    M clang/test/ASTSYCL/ast-dump-sycl-kernel-entry-point.cpp
    A clang/test/Analysis/Inputs/ctu-test-import-failure-import.cpp
    A clang/test/Analysis/Inputs/ctu-test-import-failure-import.cpp.externalDefMap.ast-dump.txt
    M clang/test/Analysis/Inputs/expected-plists/plist-output.m.plist
    A clang/test/Analysis/anonymous-parameter.cpp
    M clang/test/Analysis/const-method-call.cpp
    A clang/test/Analysis/ctu-test-import-failure.cpp
    M clang/test/Analysis/inline-unique-reports.c
    M clang/test/Analysis/malloc.c
    M clang/test/Analysis/nil-receiver-undefined-larger-than-voidptr-ret.m
    M clang/test/Analysis/novoidtypecrash.c
    M clang/test/Analysis/plist-output.m
    M clang/test/Analysis/plist-stats-output.c
    M clang/test/Analysis/scopes-cfg-output.cpp
    M clang/test/Analysis/structured_bindings.cpp
    M clang/test/CXX/basic/basic.lookup/basic.lookup.argdep/p5-ex2.cpp
    M clang/test/CXX/basic/basic.scope/basic.scope.namespace/p2.cpp
    M clang/test/CXX/drs/cwg0xx.cpp
    M clang/test/CXX/drs/cwg12xx.cpp
    M clang/test/CXX/drs/cwg26xx.cpp
    M clang/test/CXX/drs/cwg3xx.cpp
    M clang/test/CXX/drs/cwg605.cpp
    M clang/test/CXX/expr/expr.const/p3-0x.cpp
    M clang/test/CXX/expr/expr.prim/expr.prim.lambda/p5.cpp
    M clang/test/CXX/expr/expr.prim/expr.prim.lambda/p7.cpp
    M clang/test/CXX/module/basic/basic.def.odr/p4.cppm
    M clang/test/CXX/module/basic/basic.link/p2.cppm
    M clang/test/CXX/module/module.import/p2.cpp
    M clang/test/CXX/module/module.interface/p7.cpp
    M clang/test/CXX/module/module.reach/p5.cpp
    M clang/test/CXX/temp/temp.arg/temp.arg.nontype/p1.cpp
    M clang/test/CXX/temp/temp.arg/temp.arg.template/p3-0x.cpp
    M clang/test/CXX/temp/temp.decls/temp.variadic/fixed-expansion.cpp
    M clang/test/CXX/temp/temp.param/p12.cpp
    M clang/test/CodeCompletion/member-access.cpp
    M clang/test/CodeGen/2003-06-26-CFECrash.c
    M clang/test/CodeGen/2003-08-18-SigSetJmp.c
    M clang/test/CodeGen/2003-08-23-LocalUnionTest.c
    M clang/test/CodeGen/2003-10-29-AsmRename.c
    M clang/test/CodeGen/2003-11-20-ComplexDivision.c
    M clang/test/CodeGen/2004-06-18-VariableLengthArrayOfStructures.c
    M clang/test/CodeGen/2004-11-27-StaticFunctionRedeclare.c
    M clang/test/CodeGen/2005-01-02-VAArgError-ICE.c
    M clang/test/CodeGen/2005-06-15-ExpandGotoInternalProblem.c
    M clang/test/CodeGen/2007-01-06-KNR-Proto.c
    M clang/test/CodeGen/2008-05-06-CFECrash.c
    M clang/test/CodeGen/2008-07-30-redef-of-bitcasted-decl.c
    M clang/test/CodeGen/2008-10-13-FrontendCrash.c
    M clang/test/CodeGen/2009-01-21-InvalidIterator.c
    M clang/test/CodeGen/2009-05-04-EnumInreg.c
    M clang/test/CodeGen/2009-07-15-pad-wchar_t-array.c
    M clang/test/CodeGen/AArch64/args.cpp
    A clang/test/CodeGen/AArch64/builtin-shufflevector-fp8.c
    M clang/test/CodeGen/AArch64/cpu-supports-target.c
    M clang/test/CodeGen/AArch64/cpu-supports.c
    M clang/test/CodeGen/AArch64/fmv-dependencies.c
    M clang/test/CodeGen/AArch64/fmv-features.c
    M clang/test/CodeGen/AArch64/fmv-priority.c
    A clang/test/CodeGen/AArch64/fp8-cast.c
    A clang/test/CodeGen/AArch64/fp8-intrinsics/acle_neon_fp8_cvt.c
    A clang/test/CodeGen/AArch64/fp8-intrinsics/acle_neon_fp8_fdot.c
    A clang/test/CodeGen/AArch64/fp8-intrinsics/acle_neon_fp8_fmla.c
    A clang/test/CodeGen/AArch64/fp8-intrinsics/acle_neon_fp8_reinterpret.c
    M clang/test/CodeGen/AArch64/pure-scalable-args.c
    M clang/test/CodeGen/AArch64/sve-acle-__ARM_FEATURE_SVE_VECTOR_OPERATORS.c
    M clang/test/CodeGen/AArch64/sve2p1-intrinsics/acle_sve2p1_dupq.c
    M clang/test/CodeGen/AArch64/sve2p1-intrinsics/acle_sve2p1_extq.c
    M clang/test/CodeGen/AArch64/sve2p1-intrinsics/acle_sve2p1_tblq.c
    M clang/test/CodeGen/AArch64/sve2p1-intrinsics/acle_sve2p1_tbxq.c
    M clang/test/CodeGen/AArch64/sve2p1-intrinsics/acle_sve2p1_uzpq1.c
    M clang/test/CodeGen/AArch64/sve2p1-intrinsics/acle_sve2p1_uzpq2.c
    M clang/test/CodeGen/AArch64/sve2p1-intrinsics/acle_sve2p1_zipq1.c
    M clang/test/CodeGen/AArch64/sve2p1-intrinsics/acle_sve2p1_zipq2.c
    M clang/test/CodeGen/AArch64/targetattr.c
    M clang/test/CodeGen/PowerPC/aix-vaargs.c
    M clang/test/CodeGen/RISCV/riscv-inline-asm.c
    A clang/test/CodeGen/SystemZ/builtins-systemz-bitop.c
    A clang/test/CodeGen/SystemZ/builtins-systemz-vector5-error.c
    A clang/test/CodeGen/SystemZ/builtins-systemz-vector5.c
    M clang/test/CodeGen/SystemZ/builtins-systemz-zvector-error.c
    M clang/test/CodeGen/SystemZ/builtins-systemz-zvector.c
    M clang/test/CodeGen/SystemZ/builtins-systemz-zvector2-error.c
    M clang/test/CodeGen/SystemZ/builtins-systemz-zvector2.c
    M clang/test/CodeGen/SystemZ/builtins-systemz-zvector3-error.c
    M clang/test/CodeGen/SystemZ/builtins-systemz-zvector3.c
    A clang/test/CodeGen/SystemZ/builtins-systemz-zvector5-error.c
    A clang/test/CodeGen/SystemZ/builtins-systemz-zvector5.c
    M clang/test/CodeGen/SystemZ/systemz-abi-vector.c
    M clang/test/CodeGen/SystemZ/systemz-abi.c
    M clang/test/CodeGen/SystemZ/systemz-inline-asm.c
    M clang/test/CodeGen/SystemZ/vec-abi-gnuattr-05.c
    M clang/test/CodeGen/SystemZ/zvector.c
    M clang/test/CodeGen/X86/amx_avx512_api.c
    M clang/test/CodeGen/X86/amxavx512-builtins.c
    M clang/test/CodeGen/X86/avx10_2_512bf16-builtins.c
    M clang/test/CodeGen/X86/avx10_2_512convert-builtins.c
    M clang/test/CodeGen/X86/avx10_2_512minmax-builtins.c
    M clang/test/CodeGen/X86/avx10_2_512minmax-error.c
    M clang/test/CodeGen/X86/avx10_2_512satcvt-builtins.c
    M clang/test/CodeGen/X86/avx10_2bf16-builtins.c
    M clang/test/CodeGen/X86/avx10_2convert-builtins.c
    M clang/test/CodeGen/X86/avx10_2minmax-builtins.c
    M clang/test/CodeGen/X86/avx10_2satcvt-builtins.c
    M clang/test/CodeGen/X86/avx512fp16-abi.c
    M clang/test/CodeGen/X86/ms-x86-intrinsics.c
    M clang/test/CodeGen/X86/x86_64-atomic-128.c
    M clang/test/CodeGen/align-local.c
    M clang/test/CodeGen/allow-ubsan-check.c
    M clang/test/CodeGen/arm-bf16-convert-intrinsics.c
    M clang/test/CodeGen/arm-cmse-attr.c
    M clang/test/CodeGen/arm-cmse-nonsecure.c
    M clang/test/CodeGen/arm-cmse-secure.c
    M clang/test/CodeGen/arm-mfp8.c
    M clang/test/CodeGen/arm-vfp16-arguments.c
    M clang/test/CodeGen/arm-vfp16-arguments2.cpp
    A clang/test/CodeGen/atomic-test-and-set.c
    M clang/test/CodeGen/attr-counted-by-pr110385.c
    M clang/test/CodeGen/attr-counted-by.c
    M clang/test/CodeGen/attr-noinline.cpp
    M clang/test/CodeGen/attr-noreturn.c
    M clang/test/CodeGen/attr-target-clones-aarch64.c
    M clang/test/CodeGen/attr-target-version.c
    M clang/test/CodeGen/block-copy.c
    M clang/test/CodeGen/builtin-memfns.c
    M clang/test/CodeGen/builtins-elementwise-math.c
    M clang/test/CodeGen/builtins-nvptx.c
    M clang/test/CodeGen/catch-undef-behavior.c
    M clang/test/CodeGen/cfi-unrelated-cast.cpp
    M clang/test/CodeGen/const-label-addr.c
    M clang/test/CodeGen/debug-info-crash.c
    M clang/test/CodeGen/debug-info.c
    M clang/test/CodeGen/empty-union-init.c
    M clang/test/CodeGen/exceptions-seh.c
    M clang/test/CodeGen/exprs.c
    M clang/test/CodeGen/ext-int-cc.c
    A clang/test/CodeGen/extend-variable-liveness-except.cpp
    A clang/test/CodeGen/extend-variable-liveness-wide-scalar.cpp
    A clang/test/CodeGen/extend-variable-liveness.c
    A clang/test/CodeGen/fake-use-determinism.c
    A clang/test/CodeGen/fake-use-lambda.cpp
    A clang/test/CodeGen/fake-use-landingpad.c
    A clang/test/CodeGen/fake-use-noreturn.cpp
    A clang/test/CodeGen/fake-use-return-line.c
    A clang/test/CodeGen/fake-use-sanitizer.cpp
    A clang/test/CodeGen/fake-use-scalar.c
    A clang/test/CodeGen/fake-use-this.cpp
    A clang/test/CodeGen/fake-use-while.c
    M clang/test/CodeGen/implicit-arg.c
    M clang/test/CodeGen/integer-overflow.c
    M clang/test/CodeGen/isfpclass.c
    M clang/test/CodeGen/math-libcalls-tbaa-indirect-args.c
    M clang/test/CodeGen/math-libcalls-tbaa.c
    M clang/test/CodeGen/mips-vector-return.c
    M clang/test/CodeGen/mips64-nontrivial-return.cpp
    M clang/test/CodeGen/ms-intrinsics-other.c
    M clang/test/CodeGen/ms-intrinsics.c
    M clang/test/CodeGen/msan-param-retval.c
    M clang/test/CodeGen/msan-param-retval.cpp
    M clang/test/CodeGen/nofpclass.c
    M clang/test/CodeGen/object-size.c
    A clang/test/CodeGen/pointer-overflow.c
    M clang/test/CodeGen/pragma-comment.c
    M clang/test/CodeGen/sanitize-metadata-nosanitize.c
    M clang/test/CodeGen/sparcv8-abi.c
    M clang/test/CodeGen/sret.c
    M clang/test/CodeGen/static-order.c
    M clang/test/CodeGen/staticinit.c
    M clang/test/CodeGen/struct-copy.c
    M clang/test/CodeGen/struct.c
    M clang/test/CodeGen/tbaa-struct-bitfield-endianness.cpp
    M clang/test/CodeGen/transparent-union-type.c
    M clang/test/CodeGen/ubsan-debuglog-return.c
    M clang/test/CodeGen/union-tbaa1.c
    M clang/test/CodeGen/union.c
    M clang/test/CodeGen/ve-abi.c
    M clang/test/CodeGenCUDA/amdgpu-kernel-arg-pointer-type.cu
    M clang/test/CodeGenCUDA/offloading-entries.cu
    M clang/test/CodeGenCXX/2007-01-06-PtrMethodInit.cpp
    M clang/test/CodeGenCXX/2007-09-10-RecursiveTypeResolution.cpp
    M clang/test/CodeGenCXX/2007-10-01-StructResize.cpp
    M clang/test/CodeGenCXX/2009-08-11-VectorRetTy.cpp
    M clang/test/CodeGenCXX/2010-07-23-DeclLoc.cpp
    M clang/test/CodeGenCXX/aarch64-mangle-neon-vectors.cpp
    M clang/test/CodeGenCXX/address-space-cast-coerce.cpp
    M clang/test/CodeGenCXX/array-value-initialize.cpp
    M clang/test/CodeGenCXX/attr-target-clones-aarch64.cpp
    M clang/test/CodeGenCXX/attr.cpp
    M clang/test/CodeGenCXX/bitfield-ir.cpp
    M clang/test/CodeGenCXX/c-linkage.cpp
    M clang/test/CodeGenCXX/catch-undef-behavior.cpp
    M clang/test/CodeGenCXX/conditional-gnu-ext.cpp
    M clang/test/CodeGenCXX/cxx1y-variable-template-linkage.cpp
    M clang/test/CodeGenCXX/debug-info-cxx0x.cpp
    A clang/test/CodeGenCXX/debug-info-ms-novtable.cpp
    M clang/test/CodeGenCXX/debug-info-object-pointer.cpp
    M clang/test/CodeGenCXX/debug-info-scoped-class.cpp
    M clang/test/CodeGenCXX/debug-lambda-this.cpp
    M clang/test/CodeGenCXX/dynamic-cast-address-space.cpp
    M clang/test/CodeGenCXX/expr.cpp
    A clang/test/CodeGenCXX/gh119046.cpp
    M clang/test/CodeGenCXX/inline-then-fold-variadics.cpp
    M clang/test/CodeGenCXX/lambda-expressions-nested-linkage.cpp
    M clang/test/CodeGenCXX/mangle-exprs.cpp
    M clang/test/CodeGenCXX/mangle-neon-vectors.cpp
    M clang/test/CodeGenCXX/mangle-variadic-templates.cpp
    M clang/test/CodeGenCXX/mangle.cpp
    M clang/test/CodeGenCXX/matrix-type-operators.cpp
    M clang/test/CodeGenCXX/matrix-type.cpp
    M clang/test/CodeGenCXX/matrix-vector-bit-int.cpp
    M clang/test/CodeGenCXX/microsoft-abi-static-initializers.cpp
    M clang/test/CodeGenCXX/new-alias.cpp
    M clang/test/CodeGenCXX/noescape.cpp
    M clang/test/CodeGenCXX/nrvo.cpp
    M clang/test/CodeGenCXX/ptrauth-member-function-pointer.cpp
    M clang/test/CodeGenCXX/reference-field.cpp
    M clang/test/CodeGenCXX/return.cpp
    M clang/test/CodeGenCXX/template-instantiation.cpp
    M clang/test/CodeGenCXX/trap-fnattr.cpp
    M clang/test/CodeGenCXX/ubsan-check-debuglocs.cpp
    M clang/test/CodeGenCXX/wasm-args-returns.cpp
    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
    A clang/test/CodeGenHLSL/builtins/WaveActiveMax.hlsl
    M clang/test/CodeGenHLSL/builtins/distance.hlsl
    M clang/test/CodeGenHLSL/builtins/dot-builtin.hlsl
    M clang/test/CodeGenHLSL/builtins/length.hlsl
    M clang/test/CodeGenHLSL/cbuf.hlsl
    M clang/test/CodeGenHLSL/cbuf_in_namespace.hlsl
    M clang/test/CodeGenHLSL/implicit-norecurse-attrib.hlsl
    M clang/test/CodeGenHLSL/inline-functions.hlsl
    M clang/test/CodeGenHLSL/resource-bindings.hlsl
    M clang/test/CodeGenHLSL/static_global_and_function_in_cb.hlsl
    M clang/test/CodeGenObjC/2007-10-18-ProDescriptor.m
    M clang/test/CodeGenObjC/2008-11-25-Blocks.m
    M clang/test/CodeGenObjC/debug-info-crash.m
    M clang/test/CodeGenObjC/encode-test.m
    M clang/test/CodeGenObjC/message-arrays.m
    M clang/test/CodeGenObjC/metadata-symbols-32.m
    M clang/test/CodeGenObjC/metadata-symbols-64.m
    M clang/test/CodeGenObjC/noescape.m
    M clang/test/CodeGenObjC/objc2-weak-compare.m
    M clang/test/CodeGenObjC/objc2-write-barrier-2.m
    M clang/test/CodeGenObjC/protocols-lazy.m
    M clang/test/CodeGenObjC/strong-in-c-struct.m
    M clang/test/CodeGenObjCXX/debug-info-line.mm
    M clang/test/CodeGenObjCXX/instantiate-return.mm
    M clang/test/CodeGenObjCXX/pr14474-gline-tables-only.mm
    M clang/test/CodeGenObjCXX/property-dot-reference.mm
    M clang/test/CodeGenObjCXX/return.mm
    M clang/test/CodeGenOpenCL/amdgpu-abi-struct-coerce.cl
    M clang/test/CodeGenOpenCL/amdgpu-alignment.cl
    M clang/test/CodeGenOpenCL/amdgpu-call-kernel.cl
    M clang/test/CodeGenOpenCL/atomic-builtins-default-to-device-scope.cl
    M clang/test/CodeGenOpenCL/builtins-amdgcn-gfx11-err.cl
    M clang/test/CodeGenOpenCL/builtins-amdgcn-gfx12.cl
    M clang/test/CodeGenOpenCL/builtins-amdgcn-gfx950-read-tr.cl
    M clang/test/CodeGenOpenCL/kernel-param-alignment.cl
    M clang/test/CodeGenOpenCL/kernels-have-spir-cc-by-default.cl
    M clang/test/CodeGenOpenCL/preserve_vec3.cl
    M clang/test/CodeGenOpenCLCXX/array-type-infinite-loop.clcpp
    A clang/test/CodeGenSPIRV/Builtins/length.c
    M clang/test/CoverageMapping/switch.cpp
    A clang/test/Driver/Inputs/multilib/multilib-custom-flags.yaml
    M clang/test/Driver/arm-mfpu.c
    M clang/test/Driver/cc-log-diagnostics.c
    M clang/test/Driver/clang-offload-bundler-zlib.c
    M clang/test/Driver/clang_wrapv_opts.c
    M clang/test/Driver/cuda-cross-compiling.c
    M clang/test/Driver/darwin-version.c
    A clang/test/Driver/extend-variable-liveness.c
    A clang/test/Driver/fno-plt.c
    M clang/test/Driver/freebsd.c
    A clang/test/Driver/fuse-lipo.c
    M clang/test/Driver/linker-wrapper-image.c
    M clang/test/Driver/linux-as.c
    M clang/test/Driver/loongarch-march.c
    A clang/test/Driver/loongarch-mscq.c
    A clang/test/Driver/loongarch-relax-features.c
    M clang/test/Driver/print-enabled-extensions/aarch64-ampere1b.c
    M clang/test/Driver/print-enabled-extensions/aarch64-apple-m4.c
    M clang/test/Driver/print-enabled-extensions/aarch64-cortex-a520.c
    M clang/test/Driver/print-enabled-extensions/aarch64-cortex-a520ae.c
    M clang/test/Driver/print-enabled-extensions/aarch64-fujitsu-monaka.c
    M clang/test/Driver/print-multi-selection-flags.c
    M clang/test/Driver/print-supported-extensions-riscv.c
    M clang/test/Driver/ps4-sdk-root.c
    M clang/test/Driver/ps5-linker.c
    M clang/test/Driver/ps5-sdk-root.c
    M clang/test/Driver/systemz-march.c
    M clang/test/Driver/wasm-toolchain.c
    M clang/test/FixIt/fixit-availability-maccatalyst.m
    M clang/test/FixIt/fixit-c++11.cpp
    M clang/test/Frontend/absolute-paths.c
    M clang/test/Frontend/ast-codegen.c
    M clang/test/Frontend/ast-main.cpp
    A clang/test/Frontend/custom-diag-werror-interaction.c
    A clang/test/Headers/crash-instantiated-in-scope-cxx-modules5.cpp
    M clang/test/Import/cxx-anon-namespace/test.cpp
    M clang/test/Index/crash-recovery-modules.m
    M clang/test/Misc/serialized-diags-stable.c
    M clang/test/Misc/target-invalid-cpu-note/nvptx.c
    M clang/test/Misc/target-invalid-cpu-note/systemz.c
    M clang/test/Modules/Reachability-template-default-arg.cpp
    M clang/test/Modules/cxx-templates.cpp
    M clang/test/Modules/cxx20-10-1-ex2.cpp
    M clang/test/Modules/deduction-guide3.cppm
    M clang/test/Modules/empty.modulemap
    A clang/test/Modules/gmodules-codegenopts.c
    A clang/test/Modules/gmodules-nodebug.cpp
    A clang/test/Modules/module-local-hidden-friend-2.cppm
    A clang/test/Modules/module-local-hidden-friend.cppm
    A clang/test/Modules/module-local-visibility-in-language-linkage.cppm
    A clang/test/Modules/module-local-with-templates.cppm
    M clang/test/Modules/odr_hash.cpp
    M clang/test/Modules/pr61067.cppm
    A clang/test/Modules/pr90154.cppm
    M clang/test/Modules/redecl-merge.m
    A clang/test/Modules/visibility-for-implicit-global-module.cppm
    A clang/test/Modules/vtable-in-explicit-instantiation.cppm
    M clang/test/OpenMP/assumes_include_nvptx.cpp
    M clang/test/OpenMP/barrier_codegen.cpp
    M clang/test/OpenMP/bug54082.c
    M clang/test/OpenMP/declare_mapper_codegen.cpp
    M clang/test/OpenMP/declare_mapper_messages.c
    M clang/test/OpenMP/declare_target_ast_print.cpp
    M clang/test/OpenMP/declare_target_codegen.cpp
    M clang/test/OpenMP/declare_target_link_codegen.cpp
    M clang/test/OpenMP/declare_target_messages.cpp
    M clang/test/OpenMP/depobj_messages.cpp
    M clang/test/OpenMP/distribute_parallel_for_ast_print.cpp
    M clang/test/OpenMP/distribute_parallel_for_simd_ast_print.cpp
    M clang/test/OpenMP/distribute_simd_ast_print.cpp
    M clang/test/OpenMP/distribute_simd_misc_messages.c
    M clang/test/OpenMP/driver.c
    M clang/test/OpenMP/error_ast_print.cpp
    M clang/test/OpenMP/error_codegen.cpp
    M clang/test/OpenMP/error_message.cpp
    M clang/test/OpenMP/flush_ast_print.cpp
    M clang/test/OpenMP/flush_codegen.cpp
    M clang/test/OpenMP/for_linear_messages.cpp
    M clang/test/OpenMP/for_simd_ast_print.cpp
    M clang/test/OpenMP/nvptx_target_firstprivate_codegen.cpp
    M clang/test/OpenMP/nvptx_target_requires_unified_shared_memory.cpp
    M clang/test/OpenMP/openmp_offload_registration.cpp
    M clang/test/OpenMP/target_codegen.cpp
    M clang/test/OpenMP/target_codegen_registration.cpp
    M clang/test/OpenMP/target_depend_codegen.cpp
    M clang/test/OpenMP/target_indirect_codegen.cpp
    M clang/test/OpenMP/target_parallel_codegen_registration.cpp
    M clang/test/OpenMP/target_parallel_depend_codegen.cpp
    M clang/test/OpenMP/target_parallel_for_codegen_registration.cpp
    M clang/test/OpenMP/target_parallel_for_depend_codegen.cpp
    M clang/test/OpenMP/target_parallel_for_simd_codegen_registration.cpp
    M clang/test/OpenMP/target_parallel_for_simd_depend_codegen.cpp
    M clang/test/OpenMP/target_simd_codegen.cpp
    M clang/test/OpenMP/target_simd_codegen_registration.cpp
    M clang/test/OpenMP/target_simd_depend_codegen.cpp
    M clang/test/OpenMP/target_teams_codegen_registration.cpp
    M clang/test/OpenMP/target_teams_depend_codegen.cpp
    M clang/test/OpenMP/target_teams_distribute_codegen_registration.cpp
    M clang/test/OpenMP/target_teams_distribute_depend_codegen.cpp
    M clang/test/OpenMP/target_teams_distribute_parallel_for_depend_codegen.cpp
    M clang/test/OpenMP/target_teams_distribute_parallel_for_simd_codegen_registration.cpp
    M clang/test/OpenMP/target_teams_distribute_parallel_for_simd_depend_codegen.cpp
    M clang/test/OpenMP/target_teams_distribute_simd_codegen_registration.cpp
    M clang/test/OpenMP/target_teams_distribute_simd_depend_codegen.cpp
    M clang/test/PCH/irgen-rdar13114142.mm
    M clang/test/PCH/late-parsed-instantiations.cpp
    M clang/test/PCH/pr4489.c
    M clang/test/PCH/va_arg.c
    M clang/test/PCH/va_arg.h
    M clang/test/Parser/promote_types_in_proto.c
    M clang/test/Preprocessor/arm-target-features.c
    A clang/test/Preprocessor/deprecate-threads-macro-definition-msvc1939.c
    M clang/test/Preprocessor/init-aarch64.c
    M clang/test/Preprocessor/init-arm.c
    M clang/test/Preprocessor/init-csky.c
    M clang/test/Preprocessor/init-loongarch.c
    M clang/test/Preprocessor/init-mips.c
    M clang/test/Preprocessor/init-ppc.c
    M clang/test/Preprocessor/init-ppc64.c
    M clang/test/Preprocessor/init-s390x.c
    M clang/test/Preprocessor/init-v7k-compat.c
    M clang/test/Preprocessor/init-ve.c
    M clang/test/Preprocessor/init-x86.c
    M clang/test/Preprocessor/init.c
    A clang/test/Preprocessor/macro-reserved-attrs-cxx11.cpp
    M clang/test/Preprocessor/predefined-arch-macros.c
    M clang/test/Rewriter/rewrite-extern-c.mm
    M clang/test/Sema/Inputs/lifetime-analysis.h
    A clang/test/Sema/aarch64-fp8-cast.c
    A clang/test/Sema/aarch64-fp8-intrinsics/acle_neon_fp8_cvt.c
    A clang/test/Sema/aarch64-fp8-intrinsics/acle_neon_fp8_fdot.c
    A clang/test/Sema/aarch64-fp8-intrinsics/acle_neon_fp8_fmla.c
    A clang/test/Sema/aarch64-sme-attrs-openmp-captured-region.c
    A clang/test/Sema/arm-execute-only-tls.c
    M clang/test/Sema/arm-mfp8.cpp
    M clang/test/Sema/atomic-ops.c
    M clang/test/Sema/attr-cpuspecific.c
    M clang/test/Sema/attr-nonblocking-constraints.cpp
    M clang/test/Sema/attr-target-mv.c
    M clang/test/Sema/attr-target-version.c
    M clang/test/Sema/builtins-elementwise-math.c
    M clang/test/Sema/diagnose_if.c
    M clang/test/Sema/freemain.c
    M clang/test/Sema/nullptr-prec2x.c
    M clang/test/Sema/nullptr.c
    M clang/test/Sema/pragma-clang-section.c
    M clang/test/Sema/return-type-mismatch.c
    M clang/test/Sema/tautological-pointer-comparison.c
    M clang/test/Sema/warn-infinity-nan-disabled-lnx.cpp
    M clang/test/Sema/warn-infinity-nan-disabled-win.cpp
    M clang/test/Sema/warn-lifetime-analysis-nocfg.cpp
    M clang/test/Sema/zvector.c
    M clang/test/SemaCXX/alias-template.cpp
    A clang/test/SemaCXX/array-type-trait-with-template.cpp
    M clang/test/SemaCXX/attr-noreturn.cpp
    M clang/test/SemaCXX/builtin-assume-aligned.cpp
    M clang/test/SemaCXX/constant-expression-cxx11.cpp
    M clang/test/SemaCXX/constant-expression-cxx14.cpp
    M clang/test/SemaCXX/constant-expression-cxx2a.cpp
    A clang/test/SemaCXX/constant-expression-p2280r4.cpp
    M clang/test/SemaCXX/constexpr-return-non-void-cxx2b.cpp
    M clang/test/SemaCXX/constructor.cpp
    M clang/test/SemaCXX/conversion-function.cpp
    M clang/test/SemaCXX/cxx1z-constexpr-lambdas.cpp
    M clang/test/SemaCXX/cxx2a-constexpr-dynalloc.cpp
    M clang/test/SemaCXX/cxx2b-consteval-propagate.cpp
    M clang/test/SemaCXX/destructor.cpp
    A clang/test/SemaCXX/diagnose_if-warning-group.cpp
    A clang/test/SemaCXX/err-missing-noreturn-1.cpp
    A clang/test/SemaCXX/err-missing-noreturn-2.cpp
    M clang/test/SemaCXX/fold_lambda_with_variadics.cpp
    M clang/test/SemaCXX/make_integer_seq.cpp
    A clang/test/SemaCXX/member-enum-declarations.cpp
    M clang/test/SemaCXX/reinterpret-cast.cpp
    M clang/test/SemaCXX/return-noreturn.cpp
    A clang/test/SemaCXX/warn-base-type-qualifiers.cpp
    M clang/test/SemaCXX/warn-missing-noreturn.cpp
    M clang/test/SemaCXX/warn-unsafe-buffer-usage-array.cpp
    M clang/test/SemaCXX/warn-unsafe-buffer-usage-fixits-add-assign.cpp
    M clang/test/SemaCXX/warn-unused-private-field.cpp
    A clang/test/SemaHLSL/BuiltIns/WaveActiveMax-errors.hlsl
    M clang/test/SemaHLSL/BuiltIns/lerp-errors.hlsl
    M clang/test/SemaHLSL/BuiltIns/mad-errors.hlsl
    M clang/test/SemaObjC/return-noreturn.m
    M clang/test/SemaObjC/try-catch.m
    M clang/test/SemaObjCXX/noescape.mm
    M clang/test/SemaOpenCL/invalid-block.cl
    A clang/test/SemaSPIRV/BuiltIns/length-errors.c
    M clang/test/SemaSYCL/sycl-kernel-entry-point-attr-appertainment.cpp
    M clang/test/SemaTemplate/address_space-dependent.cpp
    M clang/test/SemaTemplate/aggregate-deduction-candidate.cpp
    M clang/test/SemaTemplate/concepts-lambda.cpp
    M clang/test/SemaTemplate/concepts-out-of-line-def.cpp
    M clang/test/SemaTemplate/cwg2398.cpp
    M clang/test/SemaTemplate/deduction-crash.cpp
    M clang/test/SemaTemplate/deduction-guide.cpp
    M clang/test/SemaTemplate/default-arguments.cpp
    M clang/test/SemaTemplate/instantiate-template-template-parm.cpp
    M clang/test/SemaTemplate/instantiation-default-2.cpp
    M clang/test/SemaTemplate/late-parsing-eager-instantiation.cpp
    M clang/test/SemaTemplate/nested-template.cpp
    M clang/test/SemaTemplate/temp_arg_nontype.cpp
    M clang/test/SemaTemplate/temp_arg_nontype_cxx1z.cpp
    M clang/test/SemaTemplate/temp_arg_nontype_cxx20.cpp
    M clang/test/SemaTemplate/temp_arg_template.cpp
    M clang/test/SemaTemplate/temp_arg_template_p0522.cpp
    M clang/test/Templight/templight-empty-entries-fix.cpp
    M clang/test/Templight/templight-prior-template-arg.cpp
    M clang/test/lit.cfg.py
    M clang/tools/diagtool/DiagnosticNames.cpp
    M clang/tools/diagtool/ListWarnings.cpp
    M clang/tools/diagtool/ShowEnabledWarnings.cpp
    M clang/tools/driver/CMakeLists.txt
    M clang/tools/libclang/CIndex.cpp
    M clang/tools/libclang/CIndexDiagnostic.cpp
    M clang/tools/libclang/CXCursor.cpp
    M clang/tools/libclang/CXStoredDiagnostic.cpp
    M clang/tools/scan-build/bin/scan-build
    M clang/unittests/AST/ASTImporterTest.cpp
    M clang/unittests/AST/ExternalASTSourceTest.cpp
    M clang/unittests/ASTMatchers/ASTMatchersNarrowingTest.cpp
    M clang/unittests/ASTMatchers/ASTMatchersTraversalTest.cpp
    M clang/unittests/Analysis/CFGBuildResult.h
    M clang/unittests/Analysis/CFGTest.cpp
    M clang/unittests/Analysis/ExprMutationAnalyzerTest.cpp
    M clang/unittests/Format/ConfigParseTest.cpp
    M clang/unittests/Format/FormatTest.cpp
    M clang/unittests/Format/FormatTestTableGen.cpp
    M clang/unittests/Format/QualifierFixerTest.cpp
    M clang/unittests/Format/TokenAnnotatorTest.cpp
    M clang/unittests/Lex/LexerTest.cpp
    M clang/unittests/Sema/CMakeLists.txt
    A clang/unittests/Sema/HeuristicResolverTest.cpp
    M clang/unittests/Tooling/ASTSelectionTest.cpp
    M clang/unittests/Tooling/LexicallyOrderedRecursiveASTVisitorTest.cpp
    M clang/unittests/Tooling/Syntax/BuildTreeTest.cpp
    M clang/utils/TableGen/ClangAttrEmitter.cpp
    M clang/utils/TableGen/ClangBuiltinsEmitter.cpp
    M clang/utils/TableGen/ClangDiagnosticsEmitter.cpp
    M clang/utils/TableGen/MveEmitter.cpp
    M clang/utils/TableGen/NeonEmitter.cpp
    M clang/utils/TableGen/SveEmitter.cpp
    M clang/utils/TableGen/TableGen.cpp
    M clang/utils/TableGen/TableGenBackends.h
    M clang/utils/perf-training/CMakeLists.txt
    M clang/utils/perf-training/perf-helper.py
    M clang/www/OpenProjects.html
    M clang/www/cxx_dr_status.html
    M clang/www/cxx_status.html
    M cmake/Modules/LLVMVersion.cmake
    M compiler-rt/cmake/Modules/AllSupportedArchDefs.cmake
    M compiler-rt/lib/asan/asan_allocator.cpp
    M compiler-rt/lib/asan/asan_suppressions.cpp
    M compiler-rt/lib/asan/asan_suppressions.h
    M compiler-rt/lib/asan/tests/asan_test.cpp
    M compiler-rt/lib/builtins/arm/adddf3vfp.S
    M compiler-rt/lib/builtins/arm/aeabi_dcmp.S
    M compiler-rt/lib/builtins/arm/divdf3vfp.S
    M compiler-rt/lib/builtins/arm/eqdf2vfp.S
    M compiler-rt/lib/builtins/arm/extendsfdf2vfp.S
    M compiler-rt/lib/builtins/arm/fixdfsivfp.S
    M compiler-rt/lib/builtins/arm/fixunsdfsivfp.S
    M compiler-rt/lib/builtins/arm/floatsidfvfp.S
    M compiler-rt/lib/builtins/arm/floatunssidfvfp.S
    M compiler-rt/lib/builtins/arm/gedf2vfp.S
    M compiler-rt/lib/builtins/arm/gtdf2vfp.S
    M compiler-rt/lib/builtins/arm/ledf2vfp.S
    M compiler-rt/lib/builtins/arm/ltdf2vfp.S
    M compiler-rt/lib/builtins/arm/muldf3vfp.S
    M compiler-rt/lib/builtins/arm/nedf2vfp.S
    M compiler-rt/lib/builtins/arm/subdf3vfp.S
    M compiler-rt/lib/builtins/arm/truncdfsf2vfp.S
    M compiler-rt/lib/builtins/arm/unorddf2vfp.S
    M compiler-rt/lib/builtins/assembly.h
    M compiler-rt/lib/builtins/cpu_model/AArch64CPUFeatures.inc
    M compiler-rt/lib/builtins/cpu_model/aarch64/fmv/apple.inc
    M compiler-rt/lib/builtins/cpu_model/aarch64/fmv/mrs.inc
    M compiler-rt/lib/fuzzer/FuzzerFlags.def
    M compiler-rt/lib/interception/interception_win.cpp
    M compiler-rt/lib/interception/tests/interception_win_test.cpp
    M compiler-rt/lib/lsan/lsan_common_linux.cpp
    M compiler-rt/lib/rtsan/rtsan_interceptors_posix.cpp
    M compiler-rt/lib/rtsan/tests/rtsan_test_interceptors_posix.cpp
    M compiler-rt/lib/safestack/safestack_platform.h
    M compiler-rt/lib/sanitizer_common/sanitizer_common.h
    M compiler-rt/lib/sanitizer_common/sanitizer_getauxval.h
    M compiler-rt/lib/sanitizer_common/sanitizer_linux.cpp
    M compiler-rt/lib/sanitizer_common/sanitizer_linux_libcdep.cpp
    M compiler-rt/lib/sanitizer_common/sanitizer_mac.cpp
    M compiler-rt/lib/sanitizer_common/sanitizer_platform_limits_posix.cpp
    M compiler-rt/lib/sanitizer_common/sanitizer_platform_limits_posix.h
    M compiler-rt/lib/tsan/go/buildgo.sh
    M compiler-rt/lib/tsan/rtl/tsan_interceptors_mac.cpp
    R compiler-rt/lib/tsan/rtl/tsan_spinlock_defs_mac.h
    M compiler-rt/test/asan/TestCases/Posix/fake_stack_gc.cpp
    M compiler-rt/test/asan/TestCases/Posix/unpoison-alternate-stack.cpp
    M compiler-rt/test/asan/TestCases/Posix/wait4.cpp
    A compiler-rt/test/asan/TestCases/suppressions-alloc-dealloc-mismatch.cpp
    M compiler-rt/test/lsan/TestCases/leak_check_before_thread_started.cpp
    A compiler-rt/test/orc/TestCases/Linux/loongarch64/ehframe-default.cpp
    A compiler-rt/test/orc/TestCases/Linux/loongarch64/ehframe-libunwind.cpp
    A compiler-rt/test/orc/TestCases/Linux/loongarch64/lit.local.cfg.py
    A compiler-rt/test/orc/TestCases/Linux/loongarch64/lljit-ehframe.cpp
    A compiler-rt/test/orc/TestCases/Linux/loongarch64/lljit-initialize-deinitialize.ll
    A compiler-rt/test/orc/TestCases/Linux/loongarch64/priority-static-initializer.S
    A compiler-rt/test/orc/TestCases/Linux/loongarch64/trivial-atexit.S
    A compiler-rt/test/orc/TestCases/Linux/loongarch64/trivial-cxa-atexit.S
    A compiler-rt/test/orc/TestCases/Linux/loongarch64/trivial-static-initializer.S
    M compiler-rt/test/profile/Linux/Inputs/instrprof-value-merge.c
    M compiler-rt/test/profile/Linux/binary-id.c
    M compiler-rt/test/profile/Linux/profile-version.c
    M compiler-rt/test/profile/Windows/binary-id.c
    A compiler-rt/test/tysan/ignorelist.c
    A compiler-rt/test/tysan/ignorelist.h
    A compiler-rt/test/tysan/preprocessor.c
    M flang/CMakeLists.txt
    M flang/docs/Intrinsics.md
    M flang/docs/ModFiles.md
    M flang/docs/OpenACC-descriptor-management.md
    M flang/docs/ParameterizedDerivedTypes.md
    M flang/docs/PolymorphicEntities.md
    M flang/include/flang/Common/Fortran-features.h
    M flang/include/flang/Common/api-attrs.h
    M flang/include/flang/Evaluate/characteristics.h
    M flang/include/flang/Evaluate/shape.h
    M flang/include/flang/Evaluate/type.h
    M flang/include/flang/Lower/DirectivesCommon.h
    M flang/include/flang/Lower/LoweringOptions.def
    A flang/include/flang/Optimizer/Builder/DirectivesCommon.h
    M flang/include/flang/Optimizer/Builder/HLFIRTools.h
    M flang/include/flang/Optimizer/Builder/IntrinsicCall.h
    M flang/include/flang/Optimizer/Builder/Runtime/Intrinsics.h
    M flang/include/flang/Optimizer/Builder/Runtime/Main.h
    M flang/include/flang/Optimizer/Builder/Runtime/RTBuilder.h
    M flang/include/flang/Optimizer/Dialect/FIRType.h
    M flang/include/flang/Optimizer/Dialect/FIRTypes.td
    M flang/include/flang/Optimizer/HLFIR/HLFIROpBase.td
    M flang/include/flang/Optimizer/HLFIR/HLFIROps.td
    M flang/include/flang/Parser/dump-parse-tree.h
    M flang/include/flang/Parser/parse-tree.h
    A flang/include/flang/Runtime/CUDA/init.h
    M flang/include/flang/Runtime/CUDA/kernel.h
    A flang/include/flang/Runtime/CUDA/pointer.h
    M flang/include/flang/Runtime/extensions.h
    M flang/include/flang/Semantics/semantics.h
    M flang/include/flang/Semantics/symbol.h
    M flang/include/flang/Semantics/tools.h
    M flang/include/flang/Tools/TargetSetup.h
    M flang/lib/Common/default-kinds.cpp
    M flang/lib/Evaluate/characteristics.cpp
    M flang/lib/Evaluate/fold-implementation.h
    M flang/lib/Evaluate/intrinsics.cpp
    M flang/lib/Evaluate/shape.cpp
    M flang/lib/Evaluate/tools.cpp
    M flang/lib/Evaluate/type.cpp
    M flang/lib/Frontend/CompilerInstance.cpp
    M flang/lib/Frontend/CompilerInvocation.cpp
    M flang/lib/Frontend/TextDiagnosticPrinter.cpp
    M flang/lib/Lower/Bridge.cpp
    M flang/lib/Lower/CallInterface.cpp
    M flang/lib/Lower/ConvertVariable.cpp
    M flang/lib/Lower/HlfirIntrinsics.cpp
    M flang/lib/Lower/OpenACC.cpp
    M flang/lib/Lower/OpenMP/ClauseProcessor.cpp
    M flang/lib/Lower/OpenMP/OpenMP.cpp
    M flang/lib/Lower/OpenMP/Utils.cpp
    M flang/lib/Lower/Runtime.cpp
    M flang/lib/Optimizer/Builder/FIRBuilder.cpp
    M flang/lib/Optimizer/Builder/HLFIRTools.cpp
    M flang/lib/Optimizer/Builder/IntrinsicCall.cpp
    M flang/lib/Optimizer/Builder/Runtime/Inquiry.cpp
    M flang/lib/Optimizer/Builder/Runtime/Intrinsics.cpp
    M flang/lib/Optimizer/Builder/Runtime/Main.cpp
    M flang/lib/Optimizer/Builder/Runtime/Reduction.cpp
    M flang/lib/Optimizer/Builder/Runtime/Transformational.cpp
    M flang/lib/Optimizer/CodeGen/BoxedProcedure.cpp
    M flang/lib/Optimizer/CodeGen/CMakeLists.txt
    M flang/lib/Optimizer/CodeGen/CodeGen.cpp
    M flang/lib/Optimizer/Dialect/CUF/CUFToLLVMIRTranslation.cpp
    M flang/lib/Optimizer/Dialect/FIRType.cpp
    M flang/lib/Optimizer/HLFIR/IR/HLFIROps.cpp
    M flang/lib/Optimizer/HLFIR/Transforms/ConvertToFIR.cpp
    M flang/lib/Optimizer/HLFIR/Transforms/LowerHLFIRIntrinsics.cpp
    M flang/lib/Optimizer/HLFIR/Transforms/SimplifyHLFIRIntrinsics.cpp
    M flang/lib/Optimizer/OpenACC/FIROpenACCTypeInterfaces.cpp
    M flang/lib/Optimizer/OpenMP/CMakeLists.txt
    M flang/lib/Optimizer/OpenMP/GenericLoopConversion.cpp
    M flang/lib/Optimizer/OpenMP/MapInfoFinalization.cpp
    M flang/lib/Optimizer/Transforms/AddDebugInfo.cpp
    M flang/lib/Optimizer/Transforms/CUFDeviceGlobal.cpp
    M flang/lib/Optimizer/Transforms/CUFGPUToLLVMConversion.cpp
    M flang/lib/Optimizer/Transforms/CUFOpConversion.cpp
    M flang/lib/Optimizer/Transforms/DebugTypeGenerator.cpp
    M flang/lib/Optimizer/Transforms/DebugTypeGenerator.h
    M flang/lib/Parser/Fortran-parsers.cpp
    M flang/lib/Parser/openmp-parsers.cpp
    M flang/lib/Parser/unparse.cpp
    M flang/lib/Semantics/canonicalize-directives.cpp
    M flang/lib/Semantics/check-call.cpp
    M flang/lib/Semantics/check-coarray.cpp
    M flang/lib/Semantics/check-cuda.cpp
    M flang/lib/Semantics/check-declarations.cpp
    M flang/lib/Semantics/check-omp-structure.cpp
    M flang/lib/Semantics/check-omp-structure.h
    M flang/lib/Semantics/mod-file.cpp
    M flang/lib/Semantics/resolve-directives.cpp
    M flang/lib/Semantics/resolve-labels.cpp
    M flang/lib/Semantics/resolve-names.cpp
    M flang/lib/Semantics/symbol.cpp
    M flang/lib/Semantics/tools.cpp
    M flang/module/__cuda_device.f90
    M flang/module/cudadevice.f90
    M flang/runtime/CUDA/CMakeLists.txt
    A flang/runtime/CUDA/init.cpp
    M flang/runtime/CUDA/kernel.cpp
    A flang/runtime/CUDA/pointer.cpp
    M flang/runtime/environment.cpp
    M flang/runtime/environment.h
    M flang/runtime/exceptions.cpp
    M flang/runtime/extensions.cpp
    M flang/runtime/io-api.cpp
    M flang/runtime/stop.cpp
    M flang/test/Analysis/AliasAnalysis/ptr-component.fir
    M flang/test/Driver/fast-math.f90
    A flang/test/Driver/fno-zero-init.f90
    M flang/test/Driver/fsave-main-program.f90
    A flang/test/Evaluate/bug123766.f90
    A flang/test/Evaluate/bug124191.f90
    A flang/test/Evaluate/fold-arr-char-component.f90
    M flang/test/Fir/CUDA/cuda-alloc-free.fir
    M flang/test/Fir/CUDA/cuda-allocate.fir
    M flang/test/Fir/CUDA/cuda-code-gen.mlir
    M flang/test/Fir/CUDA/cuda-constructor-2.f90
    M flang/test/Fir/CUDA/cuda-data-transfer.fir
    M flang/test/Fir/CUDA/cuda-global-addr.mlir
    M flang/test/Fir/CUDA/cuda-gpu-launch-func.mlir
    M flang/test/Fir/CUDA/cuda-implicit-device-global.f90
    M flang/test/Fir/CUDA/cuda-launch.fir
    M flang/test/Fir/abstract-result-2.fir
    M flang/test/Fir/array-value-copy-3.fir
    M flang/test/Fir/array-value-copy-4.fir
    M flang/test/Fir/arrayset.fir
    M flang/test/Fir/arrexp.fir
    M flang/test/Fir/box-offset-codegen.fir
    M flang/test/Fir/box.fir
    M flang/test/Fir/boxproc-openmp.fir
    M flang/test/Fir/boxproc.fir
    M flang/test/Fir/commute.fir
    M flang/test/Fir/convert-to-llvm.fir
    M flang/test/Fir/coordinateof.fir
    M flang/test/Fir/embox.fir
    M flang/test/Fir/field-index.fir
    M flang/test/Fir/ignore-missing-type-descriptor.fir
    M flang/test/Fir/polymorphic.fir
    M flang/test/Fir/rebox_assumed_rank_codegen.fir
    M flang/test/Fir/struct-passing-x86-64-byval.fir
    M flang/test/Fir/target-rewrite-complex-10-x86.fir
    M flang/test/Fir/target.fir
    M flang/test/Fir/tbaa-codegen2.fir
    M flang/test/HLFIR/all-lowering.fir
    M flang/test/HLFIR/any-elemental.fir
    M flang/test/HLFIR/any-lowering.fir
    M flang/test/HLFIR/assign-codegen.fir
    M flang/test/HLFIR/assumed_shape_with_value_keyword.f90
    M flang/test/HLFIR/boxchar_emboxing.f90
    M flang/test/HLFIR/bufferize-destroy-for-derived.fir
    M flang/test/HLFIR/bufferize-end-associate-for-derived.fir
    M flang/test/HLFIR/bufferize-poly-expr.fir
    M flang/test/HLFIR/bufferize01.fir
    M flang/test/HLFIR/copy-in-out-codegen.fir
    M flang/test/HLFIR/count-lowering-default-int-kinds.fir
    M flang/test/HLFIR/count-lowering.fir
    M flang/test/HLFIR/cshift-lowering.fir
    M flang/test/HLFIR/elemental-codegen.fir
    A flang/test/HLFIR/getextent-codegen.fir
    M flang/test/HLFIR/invalid.fir
    M flang/test/HLFIR/matmul-lowering.fir
    M flang/test/HLFIR/maxloc-lowering.fir
    M flang/test/HLFIR/maxval-lowering.fir
    M flang/test/HLFIR/minloc-lowering.fir
    M flang/test/HLFIR/minval-lowering.fir
    M flang/test/HLFIR/optional_dummy.f90
    M flang/test/HLFIR/order_assignments/lhs-conflicts-codegen.fir
    M flang/test/HLFIR/order_assignments/runtime-stack-temp.fir
    M flang/test/HLFIR/order_assignments/user-defined-assignment-finalization.fir
    M flang/test/HLFIR/product-lowering.fir
    A flang/test/HLFIR/reshape-lowering.fir
    A flang/test/HLFIR/reshape.fir
    A flang/test/HLFIR/simplify-hlfir-intrinsics-dotproduct.fir
    M flang/test/HLFIR/sum-lowering.fir
    M flang/test/HLFIR/transpose-lowering.fir
    R flang/test/HLFIR/unroll-loops.fir
    M flang/test/Integration/OpenMP/copyprivate.f90
    M flang/test/Integration/OpenMP/map-types-and-sizes.f90
    M flang/test/Integration/OpenMP/parallel-private-reduction-worstcase.f90
    M flang/test/Integration/OpenMP/private-global.f90
    A flang/test/Integration/debug-common-block-1.f90
    A flang/test/Integration/debug-cyclic-derived-type-3.f90
    M flang/test/Integration/debug-local-var-2.f90
    M flang/test/Integration/unroll-loops.f90
    A flang/test/Integration/unroll.f90
    M flang/test/Lower/CUDA/cuda-allocatable.cuf
    M flang/test/Lower/CUDA/cuda-device-proc.cuf
    M flang/test/Lower/CUDA/cuda-devptr.cuf
    M flang/test/Lower/HLFIR/array-ctor-as-runtime-temp.f90
    M flang/test/Lower/HLFIR/array-ctor-character.f90
    M flang/test/Lower/HLFIR/array-ctor-derived.f90
    M flang/test/Lower/HLFIR/assumed-rank-inquiries-3.f90
    M flang/test/Lower/HLFIR/assumed-rank-inquiries.f90
    M flang/test/Lower/HLFIR/cray-pointers.f90
    M flang/test/Lower/HLFIR/elemental-intrinsics.f90
    M flang/test/Lower/HLFIR/function-return-as-expr.f90
    M flang/test/Lower/HLFIR/ignore-rank-unlimited-polymorphic.f90
    M flang/test/Lower/HLFIR/intentout-allocatable-components.f90
    M flang/test/Lower/HLFIR/internal-procedures-polymorphic.f90
    M flang/test/Lower/HLFIR/intrinsic-subroutines.f90
    M flang/test/Lower/HLFIR/local-end-of-scope-component-dealloc.f90
    A flang/test/Lower/HLFIR/reshape.f90
    M flang/test/Lower/HLFIR/structure-constructor.f90
    A flang/test/Lower/HLFIR/unroll-loops.fir
    M flang/test/Lower/Intrinsics/abort.f90
    M flang/test/Lower/Intrinsics/acos.f90
    M flang/test/Lower/Intrinsics/adjustl.f90
    M flang/test/Lower/Intrinsics/adjustr.f90
    M flang/test/Lower/Intrinsics/all.f90
    M flang/test/Lower/Intrinsics/any.f90
    M flang/test/Lower/Intrinsics/bessel_jn.f90
    M flang/test/Lower/Intrinsics/bessel_yn.f90
    A flang/test/Lower/Intrinsics/chdir.f90
    M flang/test/Lower/Intrinsics/count.f90
    M flang/test/Lower/Intrinsics/date_and_time.f90
    M flang/test/Lower/Intrinsics/dot_product.f90
    M flang/test/Lower/Intrinsics/eoshift.f90
    M flang/test/Lower/Intrinsics/etime-function.f90
    M flang/test/Lower/Intrinsics/etime.f90
    M flang/test/Lower/Intrinsics/execute_command_line-optional.f90
    M flang/test/Lower/Intrinsics/execute_command_line.f90
    M flang/test/Lower/Intrinsics/exit-2.f90
    M flang/test/Lower/Intrinsics/exit.f90
    M flang/test/Lower/Intrinsics/findloc.f90
    M flang/test/Lower/Intrinsics/free.f90
    M flang/test/Lower/Intrinsics/iall.f90
    M flang/test/Lower/Intrinsics/iand.f90
    M flang/test/Lower/Intrinsics/iany.f90
    M flang/test/Lower/Intrinsics/ieee_next.f90
    A flang/test/Lower/Intrinsics/ierrno.f90
    M flang/test/Lower/Intrinsics/index.f90
    M flang/test/Lower/Intrinsics/iparity.f90
    M flang/test/Lower/Intrinsics/matmul.f90
    M flang/test/Lower/Intrinsics/maxloc.f90
    M flang/test/Lower/Intrinsics/maxval.f90
    M flang/test/Lower/Intrinsics/minloc.f90
    M flang/test/Lower/Intrinsics/minval.f90
    M flang/test/Lower/Intrinsics/norm2.f90
    M flang/test/Lower/Intrinsics/pack.f90
    M flang/test/Lower/Intrinsics/parity.f90
    M flang/test/Lower/Intrinsics/product.f90
    M flang/test/Lower/Intrinsics/random.f90
    M flang/test/Lower/Intrinsics/random_number_real16.f90
    M flang/test/Lower/Intrinsics/rename.f90
    M flang/test/Lower/Intrinsics/repeat.f90
    M flang/test/Lower/Intrinsics/reshape.f90
    M flang/test/Lower/Intrinsics/scan.f90
    M flang/test/Lower/Intrinsics/sleep.f90
    M flang/test/Lower/Intrinsics/spread.f90
    M flang/test/Lower/Intrinsics/storage_size.f90
    M flang/test/Lower/Intrinsics/sum.f90
    M flang/test/Lower/Intrinsics/system-optional.f90
    M flang/test/Lower/Intrinsics/system.f90
    M flang/test/Lower/Intrinsics/transfer.f90
    M flang/test/Lower/Intrinsics/transpose.f90
    M flang/test/Lower/Intrinsics/trim.f90
    M flang/test/Lower/Intrinsics/ubound01.f90
    M flang/test/Lower/Intrinsics/verify.f90
    M flang/test/Lower/OpenACC/stop-stmt-in-region.f90
    M flang/test/Lower/OpenMP/DelayedPrivatization/wsloop.f90
    A flang/test/Lower/OpenMP/Todo/allocate-clause-align.f90
    A flang/test/Lower/OpenMP/Todo/allocate-clause-allocator.f90
    A flang/test/Lower/OpenMP/Todo/dispatch.f90
    M flang/test/Lower/OpenMP/Todo/omp-default-clause-inner-loop.f90
    R flang/test/Lower/OpenMP/Todo/task_untied.f90
    M flang/test/Lower/OpenMP/associate.f90
    M flang/test/Lower/OpenMP/copyin.f90
    M flang/test/Lower/OpenMP/critical.f90
    M flang/test/Lower/OpenMP/default-clause-byref.f90
    M flang/test/Lower/OpenMP/default-clause.f90
    M flang/test/Lower/OpenMP/delayed-privatization-default-init.f90
    M flang/test/Lower/OpenMP/derived-type-allocatable.f90
    M flang/test/Lower/OpenMP/hlfir-wsloop.f90
    M flang/test/Lower/OpenMP/lastprivate-allocatable.f90
    M flang/test/Lower/OpenMP/lastprivate-commonblock.f90
    M flang/test/Lower/OpenMP/lastprivate-iv.f90
    M flang/test/Lower/OpenMP/location.f90
    M flang/test/Lower/OpenMP/loop-directive.f90
    M flang/test/Lower/OpenMP/order-clause.f90
    M flang/test/Lower/OpenMP/parallel-lastprivate-clause-scalar.f90
    M flang/test/Lower/OpenMP/parallel-private-clause-fixes.f90
    M flang/test/Lower/OpenMP/parallel-private-clause.f90
    M flang/test/Lower/OpenMP/parallel-reduction-allocatable-array.f90
    M flang/test/Lower/OpenMP/parallel-reduction-pointer-array.f90
    M flang/test/Lower/OpenMP/parallel-reduction3.f90
    M flang/test/Lower/OpenMP/parallel-wsloop-firstpriv.f90
    M flang/test/Lower/OpenMP/parallel-wsloop-lastpriv.f90
    M flang/test/Lower/OpenMP/parallel-wsloop-reduction-byref.f90
    M flang/test/Lower/OpenMP/parallel-wsloop-reduction.f90
    M flang/test/Lower/OpenMP/parallel-wsloop.f90
    M flang/test/Lower/OpenMP/private-derived-type.f90
    M flang/test/Lower/OpenMP/same_var_first_lastprivate.f90
    M flang/test/Lower/OpenMP/stop-stmt-in-region.f90
    M flang/test/Lower/OpenMP/target.f90
    M flang/test/Lower/OpenMP/task.f90
    M flang/test/Lower/OpenMP/unstructured.f90
    M flang/test/Lower/OpenMP/wsloop-chunks.f90
    M flang/test/Lower/OpenMP/wsloop-collapse.f90
    M flang/test/Lower/OpenMP/wsloop-monotonic.f90
    M flang/test/Lower/OpenMP/wsloop-nonmonotonic.f90
    M flang/test/Lower/OpenMP/wsloop-ordered.f90
    M flang/test/Lower/OpenMP/wsloop-reduction-add-byref.f90
    M flang/test/Lower/OpenMP/wsloop-reduction-add.f90
    M flang/test/Lower/OpenMP/wsloop-reduction-allocatable-array-minmax.f90
    M flang/test/Lower/OpenMP/wsloop-reduction-allocatable.f90
    M flang/test/Lower/OpenMP/wsloop-reduction-array-assumed-shape.f90
    M flang/test/Lower/OpenMP/wsloop-reduction-array.f90
    M flang/test/Lower/OpenMP/wsloop-reduction-array2.f90
    M flang/test/Lower/OpenMP/wsloop-reduction-iand-byref.f90
    M flang/test/Lower/OpenMP/wsloop-reduction-iand.f90
    M flang/test/Lower/OpenMP/wsloop-reduction-ieor-byref.f90
    M flang/test/Lower/OpenMP/wsloop-reduction-ieor.f90
    M flang/test/Lower/OpenMP/wsloop-reduction-ior-byref.f90
    M flang/test/Lower/OpenMP/wsloop-reduction-ior.f90
    M flang/test/Lower/OpenMP/wsloop-reduction-logical-and-byref.f90
    M flang/test/Lower/OpenMP/wsloop-reduction-logical-and.f90
    M flang/test/Lower/OpenMP/wsloop-reduction-logical-eqv-byref.f90
    M flang/test/Lower/OpenMP/wsloop-reduction-logical-eqv.f90
    M flang/test/Lower/OpenMP/wsloop-reduction-logical-neqv-byref.f90
    M flang/test/Lower/OpenMP/wsloop-reduction-logical-neqv.f90
    M flang/test/Lower/OpenMP/wsloop-reduction-logical-or-byref.f90
    M flang/test/Lower/OpenMP/wsloop-reduction-logical-or.f90
    M flang/test/Lower/OpenMP/wsloop-reduction-max-2-byref.f90
    M flang/test/Lower/OpenMP/wsloop-reduction-max-2.f90
    M flang/test/Lower/OpenMP/wsloop-reduction-max-byref.f90
    M flang/test/Lower/OpenMP/wsloop-reduction-max.f90
    M flang/test/Lower/OpenMP/wsloop-reduction-min-byref.f90
    M flang/test/Lower/OpenMP/wsloop-reduction-min.f90
    M flang/test/Lower/OpenMP/wsloop-reduction-min2.f90
    M flang/test/Lower/OpenMP/wsloop-reduction-mul-byref.f90
    M flang/test/Lower/OpenMP/wsloop-reduction-mul.f90
    M flang/test/Lower/OpenMP/wsloop-reduction-multi.f90
    M flang/test/Lower/OpenMP/wsloop-reduction-multiple-clauses.f90
    M flang/test/Lower/OpenMP/wsloop-reduction-pointer.f90
    M flang/test/Lower/OpenMP/wsloop-schedule.f90
    M flang/test/Lower/OpenMP/wsloop-unstructured.f90
    M flang/test/Lower/OpenMP/wsloop-variable.f90
    M flang/test/Lower/OpenMP/wsloop.f90
    M flang/test/Lower/allocatable-assignment.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/allocate-source-allocatables-2.f90
    M flang/test/Lower/allocate-source-allocatables.f90
    M flang/test/Lower/allocate-source-pointers.f90
    M flang/test/Lower/array-derived-assignments.f90
    M flang/test/Lower/basic-function.f90
    M flang/test/Lower/call-by-value-attr.f90
    M flang/test/Lower/call-copy-in-out.f90
    M flang/test/Lower/default-initialization.f90
    M flang/test/Lower/derived-assignments.f90
    M flang/test/Lower/derived-type-finalization.f90
    M flang/test/Lower/derived-type-temp.f90
    M flang/test/Lower/do_concurrent_local_default_init.f90
    M flang/test/Lower/dummy-procedure.f90
    M flang/test/Lower/fail_image.f90
    M flang/test/Lower/forall/forall-allocatable-2.f90
    M flang/test/Lower/forall/forall-where.f90
    M flang/test/Lower/fsave-main-program.f90
    M flang/test/Lower/goto-statement.f90
    M flang/test/Lower/io-statement-big-unit-checks.f90
    M flang/test/Lower/module_use.f90
    M flang/test/Lower/nested-where.f90
    M flang/test/Lower/nullify-polymorphic.f90
    M flang/test/Lower/optional-value-caller.f90
    M flang/test/Lower/parent-component.f90
    M flang/test/Lower/pointer-association-polymorphic.f90
    M flang/test/Lower/pointer-disassociate.f90
    M flang/test/Lower/polymorphic-temp.f90
    M flang/test/Lower/polymorphic.f90
    M flang/test/Lower/select-type-2.fir
    M flang/test/Lower/stop-statement.f90
    M flang/test/Lower/structure-constructors-alloc-comp.f90
    M flang/test/Lower/structure-constructors.f90
    M flang/test/Lower/transformational-intrinsics.f90
    M flang/test/Lower/trigonometric-intrinsics.f90
    A flang/test/Lower/unroll.f90
    M flang/test/Lower/vector-subscript-io.f90
    A flang/test/Lower/zero_init.f90
    A flang/test/Lower/zero_init_default_init.f90
    A flang/test/Parser/OpenMP/dispatch.f90
    M flang/test/Parser/compiler-directives.f90
    A flang/test/Semantics/OpenMP/cray-pointer-usage.f90
    A flang/test/Semantics/OpenMP/declare-target08.f90
    A flang/test/Semantics/OpenMP/dispatch.f90
    M flang/test/Semantics/OpenMP/doconcurrent01.f90
    A flang/test/Semantics/OpenMP/forall.f90
    A flang/test/Semantics/OpenMP/task-untied01.f90
    M flang/test/Semantics/atomic01.f90
    M flang/test/Semantics/atomic02.f90
    M flang/test/Semantics/atomic03.f90
    M flang/test/Semantics/atomic04.f90
    M flang/test/Semantics/atomic05.f90
    M flang/test/Semantics/atomic06.f90
    M flang/test/Semantics/atomic07.f90
    M flang/test/Semantics/atomic08.f90
    M flang/test/Semantics/atomic09.f90
    M flang/test/Semantics/atomic10.f90
    M flang/test/Semantics/atomic11.f90
    M flang/test/Semantics/bind-c06.f90
    A flang/test/Semantics/bug123534.f90
    A flang/test/Semantics/bug123538.f90
    M flang/test/Semantics/call04.f90
    M flang/test/Semantics/call08.f90
    M flang/test/Semantics/call13.f90
    M flang/test/Semantics/call38.f90
    M flang/test/Semantics/complex01.f90
    M flang/test/Semantics/critical02.f90
    M flang/test/Semantics/cuf-device-procedures01.cuf
    M flang/test/Semantics/cuf09.cuf
    M flang/test/Semantics/doconcurrent01.f90
    M flang/test/Semantics/event01b.f90
    M flang/test/Semantics/event02b.f90
    M flang/test/Semantics/event_query.f90
    M flang/test/Semantics/kinds04_q10.f90
    A flang/test/Semantics/label19.f90
    M flang/test/Semantics/loop-directives.f90
    A flang/test/Semantics/modfile71.F90
    M flang/test/Semantics/reduce.cuf
    M flang/test/Semantics/sync-stat-list.f90
    M flang/test/Transforms/constant-argument-globalisation.fir
    A flang/test/Transforms/debug-common-block.fir
    M flang/test/Transforms/debug-module-1.fir
    M flang/test/Transforms/debug-module-2.fir
    M flang/test/Transforms/generic-loop-rewriting-todo.mlir
    M flang/test/Transforms/generic-loop-rewriting.mlir
    M flang/test/Transforms/omp-reduction-cfg-conversion.fir
    M flang/test/Transforms/simplifyintrinsics.fir
    M flang/test/Transforms/stack-arrays.fir
    M flang/tools/bbc/bbc.cpp
    M flang/unittests/Optimizer/CMakeLists.txt
    M libc/CMakeLists.txt
    M libc/benchmarks/distributions/README.md
    M libc/benchmarks/gpu/CMakeLists.txt
    A libc/cmake/caches/gpu.cmake
    A libc/cmake/modules/LLVMLibCCheckMPC.cmake
    M libc/cmake/modules/LLVMLibCCompileOptionRules.cmake
    M libc/cmake/modules/LLVMLibCTestRules.cmake
    M libc/config/baremetal/riscv/entrypoints.txt
    M libc/config/gpu/amdgpu/entrypoints.txt
    M libc/config/gpu/nvptx/entrypoints.txt
    M libc/config/linux/aarch64/entrypoints.txt
    M libc/config/linux/arm/entrypoints.txt
    M libc/config/linux/riscv/entrypoints.txt
    M libc/config/linux/x86_64/entrypoints.txt
    M libc/docs/CMakeLists.txt
    M libc/docs/dev/printf_behavior.rst
    M libc/docs/dev/undefined_behavior.rst
    M libc/docs/gpu/building.rst
    M libc/docs/gpu/rpc.rst
    M libc/docs/headers/index.rst
    M libc/docs/platform_support.rst
    M libc/fuzzing/__support/CMakeLists.txt
    M libc/include/__llvm-libc-common.h
    M libc/include/llvm-libc-macros/unistd-macros.h
    M libc/include/llvm-libc-types/CMakeLists.txt
    M libc/include/llvm-libc-types/sigset_t.h
    M libc/include/llvm-libc-types/struct_sigaction.h
    M libc/include/locale.h.def
    M libc/include/locale.yaml
    M libc/include/math.h.def
    M libc/include/pthread.yaml
    M libc/include/setjmp.h.def
    M libc/include/spawn.yaml
    M libc/include/stdfix.yaml
    M libc/include/stdlib.h.def
    M libc/include/stdlib.yaml
    M libc/include/string.h.def
    M libc/include/string.yaml
    M libc/include/strings.yaml
    M libc/include/sys/resource.yaml
    M libc/include/sys/time.h.def
    M libc/include/sys/time.yaml
    M libc/include/sys/uio.yaml
    M libc/include/wchar.h.def
    M libc/include/wchar.yaml
    M libc/src/__support/CMakeLists.txt
    M libc/src/__support/CPP/CMakeLists.txt
    M libc/src/__support/CPP/type_traits.h
    M libc/src/__support/FPUtil/except_value_utils.h
    M libc/src/__support/block.h
    A libc/src/__support/complex_basic_ops.h
    M libc/src/__support/complex_type.h
    M libc/src/__support/freelist_heap.h
    M libc/src/__support/freestore.h
    M libc/src/__support/macros/null_check.h
    M libc/src/__support/threads/linux/CMakeLists.txt
    M libc/src/__support/threads/spin_lock.h
    M libc/src/__support/time/windows/CMakeLists.txt
    M libc/src/complex/generic/CMakeLists.txt
    M libc/src/complex/generic/conj.cpp
    M libc/src/complex/generic/conjf.cpp
    M libc/src/complex/generic/conjf128.cpp
    M libc/src/complex/generic/conjf16.cpp
    M libc/src/complex/generic/conjl.cpp
    M libc/src/complex/generic/cproj.cpp
    M libc/src/complex/generic/cprojf.cpp
    M libc/src/complex/generic/cprojf128.cpp
    M libc/src/complex/generic/cprojf16.cpp
    M libc/src/complex/generic/cprojl.cpp
    M libc/src/math/nvptx/CMakeLists.txt
    M libc/src/stdlib/CMakeLists.txt
    M libc/src/stdlib/gpu/free.cpp
    M libc/src/stdlib/gpu/malloc.cpp
    M libc/src/string/CMakeLists.txt
    M libc/src/string/string_utils.h
    M libc/src/wchar/CMakeLists.txt
    A libc/src/wchar/wcslen.cpp
    A libc/src/wchar/wcslen.h
    M libc/test/UnitTest/FPMatcher.h
    M libc/test/src/CMakeLists.txt
    M libc/test/src/__support/File/CMakeLists.txt
    M libc/test/src/__support/block_test.cpp
    M libc/test/src/__support/freelist_heap_test.cpp
    M libc/test/src/__support/freestore_test.cpp
    M libc/test/src/complex/CMakeLists.txt
    M libc/test/src/complex/cprojf_test.cpp
    M libc/test/src/math/CMakeLists.txt
    M libc/test/src/math/exhaustive/exhaustive_test.h
    M libc/test/src/math/smoke/CMakeLists.txt
    M libc/test/src/math/smoke/cospif16_test.cpp
    M libc/test/src/math/smoke/exp2m1f16_test.cpp
    M libc/test/src/math/smoke/nan_test.cpp
    M libc/test/src/math/smoke/nanf128_test.cpp
    M libc/test/src/math/smoke/nanf16_test.cpp
    M libc/test/src/math/smoke/nanf_test.cpp
    M libc/test/src/math/smoke/nanl_test.cpp
    M libc/test/src/math/smoke/sinpif16_test.cpp
    M libc/test/src/signal/CMakeLists.txt
    M libc/test/src/stdfix/CMakeLists.txt
    M libc/test/src/stdlib/CMakeLists.txt
    M libc/test/src/sys/resource/CMakeLists.txt
    M libc/test/src/sys/select/CMakeLists.txt
    M libc/test/src/sys/sendfile/CMakeLists.txt
    M libc/test/src/sys/wait/CMakeLists.txt
    M libc/test/src/unistd/CMakeLists.txt
    M libc/test/src/unistd/getopt_test.cpp
    M libc/test/src/wchar/CMakeLists.txt
    A libc/test/src/wchar/wcslen_test.cpp
    M libc/utils/CMakeLists.txt
    A libc/utils/MPCWrapper/CMakeLists.txt
    A libc/utils/MPCWrapper/MPCUtils.cpp
    A libc/utils/MPCWrapper/MPCUtils.h
    A libc/utils/MPCWrapper/check_mpc.cpp
    M libc/utils/MPFRWrapper/CMakeLists.txt
    A libc/utils/MPFRWrapper/MPCommon.cpp
    A libc/utils/MPFRWrapper/MPCommon.h
    M libc/utils/MPFRWrapper/MPFRUtils.cpp
    M libc/utils/MPFRWrapper/MPFRUtils.h
    M libc/utils/docgen/aio.yaml
    A libc/utils/docgen/cpio.yaml
    M libc/utils/docgen/net/if.yaml
    M libc/utils/docgen/netinet/in.yaml
    M libc/utils/docgen/sys/resource.yaml
    A libc/utils/docgen/sys/stat.yaml
    A libc/utils/docgen/sys/time.yaml
    M libc/utils/docgen/sys/wait.yaml
    A libc/utils/docgen/termios.yaml
    A libc/utils/docgen/unistd.yaml
    M libc/utils/hdrgen/function.py
    M libc/utils/hdrgen/tests/expected_output/test_header.h
    M libc/utils/mathtools/worst_case.sollya
    M libclc/amdgcn/lib/SOURCES
    R libclc/amdgcn/lib/integer/popcount.cl
    R libclc/amdgcn/lib/integer/popcount.inc
    M libclc/amdgpu/lib/SOURCES
    R libclc/amdgpu/lib/math/nextafter.cl
    M libclc/clc/include/clc/clcmacro.h
    A libclc/clc/include/clc/common/clc_degrees.h
    A libclc/clc/include/clc/common/clc_radians.h
    A libclc/clc/include/clc/integer/clc_add_sat.h
    A libclc/clc/include/clc/integer/clc_clz.h
    A libclc/clc/include/clc/integer/clc_hadd.h
    A libclc/clc/include/clc/integer/clc_mad24.h
    A libclc/clc/include/clc/integer/clc_mad_hi.h
    A libclc/clc/include/clc/integer/clc_mul24.h
    A libclc/clc/include/clc/integer/clc_mul_hi.h
    A libclc/clc/include/clc/integer/clc_popcount.h
    A libclc/clc/include/clc/integer/clc_rhadd.h
    A libclc/clc/include/clc/integer/clc_sub_sat.h
    A libclc/clc/include/clc/integer/clc_upsample.h
    A libclc/clc/include/clc/integer/definitions.h
    A libclc/clc/include/clc/integer/gentype24.inc
    A libclc/clc/include/clc/math/binary_decl_with_scalar_second_arg.inc
    A libclc/clc/include/clc/math/clc_copysign.h
    A libclc/clc/include/clc/math/clc_mad.h
    A libclc/clc/include/clc/math/clc_nextafter.h
    A libclc/clc/include/clc/math/clc_subnormal_config.h
    A libclc/clc/include/clc/math/math.h
    A libclc/clc/include/clc/math/tables.h
    M libclc/clc/include/clc/relational/clc_isnan.h
    M libclc/clc/include/clc/relational/clc_select.h
    R libclc/clc/include/clc/relational/clc_select.inc
    A libclc/clc/include/clc/relational/clc_select_decl.inc
    A libclc/clc/include/clc/relational/clc_select_impl.inc
    M libclc/clc/include/clc/relational/relational.h
    A libclc/clc/include/clc/shared/binary_decl.inc
    A libclc/clc/include/clc/shared/binary_def.inc
    A libclc/clc/include/clc/shared/ternary_decl.inc
    A libclc/clc/include/clc/shared/ternary_def.inc
    A libclc/clc/include/clc/shared/unary_decl.inc
    A libclc/clc/include/clc/shared/unary_def.inc
    M libclc/clc/lib/clspv/SOURCES
    M libclc/clc/lib/generic/SOURCES
    A libclc/clc/lib/generic/common/clc_degrees.cl
    A libclc/clc/lib/generic/common/clc_radians.cl
    A libclc/clc/lib/generic/integer/clc_add_sat.cl
    A libclc/clc/lib/generic/integer/clc_clz.cl
    A libclc/clc/lib/generic/integer/clc_hadd.cl
    A libclc/clc/lib/generic/integer/clc_hadd.inc
    A libclc/clc/lib/generic/integer/clc_mad24.cl
    A libclc/clc/lib/generic/integer/clc_mad24.inc
    A libclc/clc/lib/generic/integer/clc_mul24.cl
    A libclc/clc/lib/generic/integer/clc_mul24.inc
    A libclc/clc/lib/generic/integer/clc_mul_hi.cl
    A libclc/clc/lib/generic/integer/clc_popcount.cl
    A libclc/clc/lib/generic/integer/clc_rhadd.cl
    A libclc/clc/lib/generic/integer/clc_rhadd.inc
    A libclc/clc/lib/generic/integer/clc_sub_sat.cl
    A libclc/clc/lib/generic/integer/clc_upsample.cl
    A libclc/clc/lib/generic/math/clc_copysign.cl
    A libclc/clc/lib/generic/math/clc_mad.cl
    A libclc/clc/lib/generic/math/clc_mad.inc
    A libclc/clc/lib/generic/math/clc_nextafter.cl
    M libclc/clc/lib/generic/relational/clc_all.cl
    M libclc/clc/lib/generic/relational/clc_any.cl
    M libclc/clc/lib/generic/relational/clc_bitselect.cl
    M libclc/clc/lib/generic/relational/clc_isequal.cl
    M libclc/clc/lib/generic/relational/clc_isfinite.cl
    M libclc/clc/lib/generic/relational/clc_isgreater.cl
    M libclc/clc/lib/generic/relational/clc_isgreaterequal.cl
    M libclc/clc/lib/generic/relational/clc_isinf.cl
    M libclc/clc/lib/generic/relational/clc_isless.cl
    M libclc/clc/lib/generic/relational/clc_islessequal.cl
    M libclc/clc/lib/generic/relational/clc_islessgreater.cl
    M libclc/clc/lib/generic/relational/clc_isnan.cl
    M libclc/clc/lib/generic/relational/clc_isnormal.cl
    M libclc/clc/lib/generic/relational/clc_isnotequal.cl
    M libclc/clc/lib/generic/relational/clc_isordered.cl
    M libclc/clc/lib/generic/relational/clc_isunordered.cl
    M libclc/clc/lib/generic/relational/clc_select.cl
    R libclc/clc/lib/generic/relational/clc_select.inc
    M libclc/clc/lib/generic/relational/clc_signbit.cl
    M libclc/clc/lib/spirv/SOURCES
    M libclc/clc/lib/spirv64/SOURCES
    M libclc/clspv/lib/SOURCES
    M libclc/clspv/lib/math/fma.cl
    R libclc/clspv/lib/math/nextafter.cl
    R libclc/clspv/lib/math/nextafter.inc
    M libclc/clspv/lib/subnormal_config.cl
    M libclc/generic/include/clc/integer/clz.h
    R libclc/generic/include/clc/integer/clz.inc
    R libclc/generic/include/clc/integer/definitions.h
    M libclc/generic/include/clc/integer/hadd.h
    R libclc/generic/include/clc/integer/hadd.inc
    M libclc/generic/include/clc/integer/mad24.h
    R libclc/generic/include/clc/integer/mad24.inc
    M libclc/generic/include/clc/integer/mad_hi.h
    M libclc/generic/include/clc/integer/mul24.h
    R libclc/generic/include/clc/integer/mul24.inc
    M libclc/generic/include/clc/integer/mul_hi.h
    R libclc/generic/include/clc/integer/mul_hi.inc
    M libclc/generic/include/clc/integer/popcount.h
    M libclc/generic/include/clc/integer/rhadd.h
    R libclc/generic/include/clc/integer/rhadd.inc
    M libclc/generic/include/clc/integer/upsample.h
    R libclc/generic/include/clc/math/binary_decl.inc
    M libclc/generic/include/clc/math/fma.h
    M libclc/generic/include/clc/math/fmax.h
    M libclc/generic/include/clc/math/fmin.h
    M libclc/generic/include/clc/math/mad.h
    R libclc/generic/include/clc/math/ternary_decl.inc
    M libclc/generic/include/clc/relational/select.h
    R libclc/generic/include/clc/relational/select.inc
    R libclc/generic/include/config.h
    R libclc/generic/include/integer/popcount.h
    R libclc/generic/include/integer/unary_intrin.inc
    M libclc/generic/include/math/clc_fma.h
    M libclc/generic/include/math/clc_ldexp.h
    R libclc/generic/include/math/clc_nextafter.h
    M libclc/generic/lib/SOURCES
    M libclc/generic/lib/common/degrees.cl
    M libclc/generic/lib/common/mix.cl
    M libclc/generic/lib/common/mix.inc
    M libclc/generic/lib/common/radians.cl
    M libclc/generic/lib/integer/add_sat.cl
    M libclc/generic/lib/integer/clz.cl
    M libclc/generic/lib/integer/hadd.cl
    R libclc/generic/lib/integer/hadd.inc
    M libclc/generic/lib/integer/mad24.cl
    R libclc/generic/lib/integer/mad24.inc
    A libclc/generic/lib/integer/mad_hi.cl
    M libclc/generic/lib/integer/mul24.cl
    R libclc/generic/lib/integer/mul24.inc
    M libclc/generic/lib/integer/mul_hi.cl
    M libclc/generic/lib/integer/popcount.cl
    M libclc/generic/lib/integer/rhadd.cl
    R libclc/generic/lib/integer/rhadd.inc
    M libclc/generic/lib/integer/sub_sat.cl
    M libclc/generic/lib/integer/upsample.cl
    M libclc/generic/lib/math/acos.cl
    M libclc/generic/lib/math/acosh.cl
    M libclc/generic/lib/math/acospi.cl
    M libclc/generic/lib/math/asin.cl
    M libclc/generic/lib/math/asinh.cl
    M libclc/generic/lib/math/asinpi.cl
    M libclc/generic/lib/math/atan.cl
    M libclc/generic/lib/math/atan2.cl
    M libclc/generic/lib/math/atan2pi.cl
    M libclc/generic/lib/math/atanh.cl
    M libclc/generic/lib/math/atanpi.cl
    M libclc/generic/lib/math/cbrt.cl
    M libclc/generic/lib/math/clc_exp10.cl
    M libclc/generic/lib/math/clc_fma.cl
    M libclc/generic/lib/math/clc_fmod.cl
    M libclc/generic/lib/math/clc_hypot.cl
    M libclc/generic/lib/math/clc_ldexp.cl
    R libclc/generic/lib/math/clc_nextafter.cl
    M libclc/generic/lib/math/clc_pow.cl
    M libclc/generic/lib/math/clc_pown.cl
    M libclc/generic/lib/math/clc_powr.cl
    M libclc/generic/lib/math/clc_remainder.cl
    M libclc/generic/lib/math/clc_remquo.cl
    M libclc/generic/lib/math/clc_rootn.cl
    M libclc/generic/lib/math/clc_tan.cl
    M libclc/generic/lib/math/clc_tanpi.cl
    M libclc/generic/lib/math/copysign.cl
    M libclc/generic/lib/math/cos.cl
    M libclc/generic/lib/math/cosh.cl
    M libclc/generic/lib/math/cospi.cl
    M libclc/generic/lib/math/ep_log.cl
    M libclc/generic/lib/math/ep_log.h
    M libclc/generic/lib/math/erf.cl
    M libclc/generic/lib/math/erfc.cl
    M libclc/generic/lib/math/exp.cl
    M libclc/generic/lib/math/exp2.cl
    M libclc/generic/lib/math/exp_helper.cl
    M libclc/generic/lib/math/expm1.cl
    M libclc/generic/lib/math/fdim.cl
    M libclc/generic/lib/math/fma.cl
    M libclc/generic/lib/math/ilogb.cl
    M libclc/generic/lib/math/ldexp.cl
    M libclc/generic/lib/math/lgamma.cl
    M libclc/generic/lib/math/lgamma_r.cl
    M libclc/generic/lib/math/log10.cl
    M libclc/generic/lib/math/log1p.cl
    M libclc/generic/lib/math/log2.cl
    M libclc/generic/lib/math/log_base.h
    M libclc/generic/lib/math/logb.cl
    M libclc/generic/lib/math/mad.cl
    R libclc/generic/lib/math/mad.inc
    R libclc/generic/lib/math/math.h
    M libclc/generic/lib/math/modf.cl
    M libclc/generic/lib/math/nextafter.cl
    M libclc/generic/lib/math/sin.cl
    M libclc/generic/lib/math/sincos_helpers.cl
    M libclc/generic/lib/math/sincos_helpers.h
    M libclc/generic/lib/math/sincospiF_piby4.h
    M libclc/generic/lib/math/sinh.cl
    M libclc/generic/lib/math/sinpi.cl
    M libclc/generic/lib/math/tables.cl
    R libclc/generic/lib/math/tables.h
    M libclc/generic/lib/math/tanh.cl
    M libclc/generic/lib/math/tgamma.cl
    M libclc/generic/lib/relational/bitselect.cl
    M libclc/generic/lib/relational/bitselect.inc
    M libclc/generic/lib/relational/select.cl
    R libclc/generic/lib/relational/select.inc
    M libclc/generic/lib/subnormal_config.cl
    R libclc/ptx/lib/SOURCES
    R libclc/ptx/lib/math/nextafter.cl
    M libclc/r600/lib/math/fmax.cl
    M libclc/r600/lib/math/fmin.cl
    M libclc/spirv/lib/subnormal_config.cl
    M libclc/spirv64/lib/subnormal_config.cl
    M libcxx/docs/CodingGuidelines.rst
    M libcxx/docs/FeatureTestMacroTable.rst
    M libcxx/docs/ReleaseNotes.rst
    M libcxx/docs/ReleaseNotes/20.rst
    A libcxx/docs/ReleaseNotes/21.rst
    M libcxx/docs/Status/Cxx20Issues.csv
    M libcxx/docs/Status/Cxx20Papers.csv
    M libcxx/docs/Status/Cxx23Papers.csv
    M libcxx/docs/Status/FormatPaper.csv
    M libcxx/docs/TestingLibcxx.rst
    M libcxx/include/CMakeLists.txt
    M libcxx/include/__algorithm/make_projected.h
    M libcxx/include/__algorithm/pstl.h
    M libcxx/include/__algorithm/radix_sort.h
    M libcxx/include/__atomic/atomic_sync.h
    M libcxx/include/__chrono/convert_to_tm.h
    M libcxx/include/__chrono/exception.h
    M libcxx/include/__chrono/formatter.h
    M libcxx/include/__chrono/leap_second.h
    M libcxx/include/__chrono/local_info.h
    M libcxx/include/__chrono/ostream.h
    M libcxx/include/__chrono/sys_info.h
    M libcxx/include/__chrono/time_zone.h
    M libcxx/include/__chrono/time_zone_link.h
    M libcxx/include/__chrono/tzdb.h
    M libcxx/include/__chrono/tzdb_list.h
    A libcxx/include/__chrono/utc_clock.h
    M libcxx/include/__chrono/zoned_time.h
    M libcxx/include/__compare/compare_three_way_result.h
    M libcxx/include/__config
    M libcxx/include/__configuration/compiler.h
    M libcxx/include/__cxx03/__locale_dir/locale_base_api/android.h
    M libcxx/include/__cxx03/__memory/uninitialized_algorithms.h
    M libcxx/include/__flat_map/flat_map.h
    A libcxx/include/__flat_map/flat_multimap.h
    A libcxx/include/__flat_map/sorted_equivalent.h
    A libcxx/include/__flat_map/utils.h
    M libcxx/include/__format/buffer.h
    M libcxx/include/__format/format_arg.h
    M libcxx/include/__format/format_functions.h
    M libcxx/include/__functional/bind.h
    M libcxx/include/__functional/function.h
    M libcxx/include/__functional/hash.h
    M libcxx/include/__functional/is_transparent.h
    M libcxx/include/__functional/mem_fn.h
    M libcxx/include/__functional/reference_wrapper.h
    M libcxx/include/__hash_table
    M libcxx/include/__locale
    M libcxx/include/__locale_dir/locale_base_api.h
    M libcxx/include/__locale_dir/locale_base_api/android.h
    M libcxx/include/__locale_dir/support/bsd_like.h
    M libcxx/include/__locale_dir/support/fuchsia.h
    M libcxx/include/__locale_dir/support/windows.h
    M libcxx/include/__memory/uninitialized_algorithms.h
    M libcxx/include/__new/allocate.h
    M libcxx/include/__numeric/pstl.h
    M libcxx/include/__ranges/range_adaptor.h
    M libcxx/include/__tree
    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/aligned_union.h
    M libcxx/include/__type_traits/alignment_of.h
    M libcxx/include/__type_traits/common_reference.h
    M libcxx/include/__type_traits/conditional.h
    M libcxx/include/__type_traits/conjunction.h
    M libcxx/include/__type_traits/copy_cvref.h
    M libcxx/include/__type_traits/datasizeof.h
    M libcxx/include/__type_traits/decay.h
    M libcxx/include/__type_traits/disjunction.h
    M libcxx/include/__type_traits/enable_if.h
    M libcxx/include/__type_traits/extent.h
    M libcxx/include/__type_traits/has_unique_object_representation.h
    M libcxx/include/__type_traits/has_virtual_destructor.h
    M libcxx/include/__type_traits/integral_constant.h
    M libcxx/include/__type_traits/invoke.h
    M libcxx/include/__type_traits/is_abstract.h
    M libcxx/include/__type_traits/is_aggregate.h
    M libcxx/include/__type_traits/is_always_bitcastable.h
    M libcxx/include/__type_traits/is_arithmetic.h
    M libcxx/include/__type_traits/is_array.h
    M libcxx/include/__type_traits/is_assignable.h
    M libcxx/include/__type_traits/is_base_of.h
    M libcxx/include/__type_traits/is_bounded_array.h
    M libcxx/include/__type_traits/is_class.h
    M libcxx/include/__type_traits/is_compound.h
    M libcxx/include/__type_traits/is_const.h
    M libcxx/include/__type_traits/is_constructible.h
    M libcxx/include/__type_traits/is_convertible.h
    M libcxx/include/__type_traits/is_destructible.h
    M libcxx/include/__type_traits/is_empty.h
    M libcxx/include/__type_traits/is_enum.h
    M libcxx/include/__type_traits/is_execution_policy.h
    M libcxx/include/__type_traits/is_final.h
    M libcxx/include/__type_traits/is_floating_point.h
    M libcxx/include/__type_traits/is_function.h
    M libcxx/include/__type_traits/is_fundamental.h
    M libcxx/include/__type_traits/is_implicit_lifetime.h
    M libcxx/include/__type_traits/is_integral.h
    M libcxx/include/__type_traits/is_literal_type.h
    M libcxx/include/__type_traits/is_member_pointer.h
    M libcxx/include/__type_traits/is_nothrow_assignable.h
    M libcxx/include/__type_traits/is_nothrow_constructible.h
    M libcxx/include/__type_traits/is_nothrow_convertible.h
    M libcxx/include/__type_traits/is_nothrow_destructible.h
    M libcxx/include/__type_traits/is_null_pointer.h
    M libcxx/include/__type_traits/is_object.h
    M libcxx/include/__type_traits/is_pod.h
    M libcxx/include/__type_traits/is_pointer.h
    M libcxx/include/__type_traits/is_polymorphic.h
    M libcxx/include/__type_traits/is_reference.h
    M libcxx/include/__type_traits/is_same.h
    M libcxx/include/__type_traits/is_scalar.h
    M libcxx/include/__type_traits/is_signed.h
    M libcxx/include/__type_traits/is_standard_layout.h
    M libcxx/include/__type_traits/is_swappable.h
    M libcxx/include/__type_traits/is_trivial.h
    M libcxx/include/__type_traits/is_trivially_assignable.h
    M libcxx/include/__type_traits/is_trivially_constructible.h
    M libcxx/include/__type_traits/is_trivially_copyable.h
    M libcxx/include/__type_traits/is_trivially_destructible.h
    M libcxx/include/__type_traits/is_unbounded_array.h
    M libcxx/include/__type_traits/is_union.h
    M libcxx/include/__type_traits/is_unsigned.h
    M libcxx/include/__type_traits/is_void.h
    M libcxx/include/__type_traits/is_volatile.h
    M libcxx/include/__type_traits/make_signed.h
    M libcxx/include/__type_traits/make_unsigned.h
    M libcxx/include/__type_traits/negation.h
    M libcxx/include/__type_traits/promote.h
    M libcxx/include/__type_traits/rank.h
    M libcxx/include/__type_traits/remove_all_extents.h
    M libcxx/include/__type_traits/remove_const.h
    M libcxx/include/__type_traits/remove_cv.h
    M libcxx/include/__type_traits/remove_cvref.h
    M libcxx/include/__type_traits/remove_extent.h
    M libcxx/include/__type_traits/remove_pointer.h
    M libcxx/include/__type_traits/remove_reference.h
    M libcxx/include/__type_traits/remove_volatile.h
    M libcxx/include/__type_traits/result_of.h
    M libcxx/include/__type_traits/type_identity.h
    M libcxx/include/__type_traits/type_list.h
    M libcxx/include/__type_traits/underlying_type.h
    M libcxx/include/__type_traits/unwrap_ref.h
    M libcxx/include/__vector/vector.h
    M libcxx/include/__vector/vector_bool.h
    M libcxx/include/atomic
    M libcxx/include/chrono
    M libcxx/include/execution
    M libcxx/include/flat_map
    M libcxx/include/fstream
    M libcxx/include/future
    M libcxx/include/iosfwd
    M libcxx/include/module.modulemap
    M libcxx/include/stdatomic.h
    M libcxx/include/streambuf
    M libcxx/include/string
    M libcxx/include/syncstream
    M libcxx/include/tuple
    M libcxx/include/unordered_map
    M libcxx/include/unordered_set
    M libcxx/include/variant
    M libcxx/include/version
    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/modules/std/chrono.inc
    M libcxx/modules/std/flat_map.inc
    M libcxx/modules/std/iosfwd.inc
    M libcxx/modules/std/syncstream.inc
    M libcxx/src/experimental/time_zone.cpp
    M libcxx/src/include/overridable_function.h
    M libcxx/src/iostream.cpp
    M libcxx/src/locale.cpp
    M libcxx/src/memory_resource.cpp
    M libcxx/src/new.cpp
    M libcxx/src/support/win32/locale_win32.cpp
    M libcxx/src/system_error.cpp
    M libcxx/src/verbose_abort.cpp
    R libcxx/test/benchmarks/atomic_wait.bench.cpp
    A libcxx/test/benchmarks/atomic_wait_1_waiter_1_notifier.bench.cpp
    A libcxx/test/benchmarks/atomic_wait_N_waiter_N_notifier.bench.cpp
    A libcxx/test/benchmarks/atomic_wait_helper.h
    A libcxx/test/benchmarks/atomic_wait_multi_waiter_1_notifier.bench.cpp
    M libcxx/test/benchmarks/containers/string.bench.cpp
    A libcxx/test/benchmarks/utc_clock.bench.cpp
    M libcxx/test/configs/stdlib-libstdc++.cfg.in
    A libcxx/test/libcxx/algorithms/no_specializations.verify.cpp
    M libcxx/test/libcxx/atomics/atomics.syn/compatible_with_stdatomic.compile.pass.cpp
    A libcxx/test/libcxx/atomics/atomics.syn/incompatible_with_stdatomic.verify.cpp
    M libcxx/test/libcxx/atomics/diagnose_invalid_memory_order.verify.cpp
    A libcxx/test/libcxx/atomics/stdatomic.h.syn/dont_hijack_header.compile.pass.cpp
    A libcxx/test/libcxx/atomics/stdatomic.h.syn/dont_hijack_header.cxx23.compile.pass.cpp
    M libcxx/test/libcxx/clang_tidy.gen.py
    M libcxx/test/libcxx/containers/associative/non_const_comparator.verify.cpp
    A libcxx/test/libcxx/containers/container.adaptors/flat.map/assert.input_range.pass.cpp
    A libcxx/test/libcxx/containers/container.adaptors/flat.map/assert.sorted_unique.pass.cpp
    A libcxx/test/libcxx/containers/container.adaptors/flat.multimap/assert.input_range.pass.cpp
    A libcxx/test/libcxx/containers/container.adaptors/flat.multimap/assert.sorted_equivalent.pass.cpp
    R libcxx/test/libcxx/containers/containers.adaptors/flat.map/assert.input_range.pass.cpp
    R libcxx/test/libcxx/containers/containers.adaptors/flat.map/assert.sorted_unique.pass.cpp
    M libcxx/test/libcxx/containers/unord/non_const_comparator.verify.cpp
    M libcxx/test/libcxx/diagnostics/chrono.nodiscard.verify.cpp
    M libcxx/test/libcxx/experimental/fexperimental-library.compile.pass.cpp
    M libcxx/test/libcxx/gdb/gdb_pretty_printer_test.sh.cpp
    A libcxx/test/libcxx/language.support/no_specializations.verify.cpp
    A libcxx/test/libcxx/ranges/no_specializations.verify.cpp
    M libcxx/test/libcxx/ranges/range.adaptors/range.lazy.split/no_unique_address.compile.pass.cpp
    M libcxx/test/libcxx/ranges/range.adaptors/range.split/no_unique_address.compile.pass.cpp
    M libcxx/test/libcxx/ranges/range.factories/range.istream.view/no_unique_address.compile.pass.cpp
    A libcxx/test/libcxx/time/time.clock/time.clock.utc/get_leap_second_info.pass.cpp
    A libcxx/test/libcxx/time/time.clock/time.clock.utc/time.clock.utc.members/from_sys.pass.cpp
    A libcxx/test/libcxx/time/time.clock/time.clock.utc/time.clock.utc.members/to_sys.pass.cpp
    M libcxx/test/libcxx/type_traits/is_specialization.verify.cpp
    A libcxx/test/libcxx/type_traits/no_specializations.verify.cpp
    A libcxx/test/libcxx/utilities/format/no_specializations.verify.cpp
    M libcxx/test/libcxx/utilities/function.objects/func.require/bullet_1_2_3.pass.cpp
    A libcxx/test/libcxx/utilities/no_specializations.verify.cpp
    M libcxx/test/std/atomics/atomics.types.generic/atomics.types.float/fetch_add.pass.cpp
    M libcxx/test/std/atomics/atomics.types.generic/atomics.types.float/fetch_sub.pass.cpp
    M libcxx/test/std/atomics/atomics.types.generic/atomics.types.float/operator.minus_equals.pass.cpp
    M libcxx/test/std/atomics/atomics.types.generic/atomics.types.float/operator.plus_equals.pass.cpp
    A libcxx/test/std/containers/container.adaptors/flat.map.syn/sorted_equivalent.pass.cpp
    M libcxx/test/std/containers/container.adaptors/flat.map/flat.map.capacity/empty.pass.cpp
    M libcxx/test/std/containers/container.adaptors/flat.map/flat.map.capacity/empty.verify.cpp
    A libcxx/test/std/containers/container.adaptors/flat.map/flat.map.cons/deduct.compile.pass.cpp
    M libcxx/test/std/containers/container.adaptors/flat.map/flat.map.cons/deduct.pass.cpp
    M libcxx/test/std/containers/container.adaptors/flat.map/flat.map.cons/deduct.verify.cpp
    M libcxx/test/std/containers/container.adaptors/flat.map/flat.map.cons/default_noexcept.pass.cpp
    M libcxx/test/std/containers/container.adaptors/flat.map/flat.map.cons/dtor_noexcept.pass.cpp
    A libcxx/test/std/containers/container.adaptors/flat.multimap/flat.multimap.capacity/empty.pass.cpp
    A libcxx/test/std/containers/container.adaptors/flat.multimap/flat.multimap.capacity/empty.verify.cpp
    A libcxx/test/std/containers/container.adaptors/flat.multimap/flat.multimap.capacity/max_size.pass.cpp
    A libcxx/test/std/containers/container.adaptors/flat.multimap/flat.multimap.capacity/size.pass.cpp
    A libcxx/test/std/containers/container.adaptors/flat.multimap/flat.multimap.cons/alloc.pass.cpp
    A libcxx/test/std/containers/container.adaptors/flat.multimap/flat.multimap.cons/assign_initializer_list.pass.cpp
    A libcxx/test/std/containers/container.adaptors/flat.multimap/flat.multimap.cons/compare.pass.cpp
    A libcxx/test/std/containers/container.adaptors/flat.multimap/flat.multimap.cons/containers.pass.cpp
    A libcxx/test/std/containers/container.adaptors/flat.multimap/flat.multimap.cons/copy.pass.cpp
    A libcxx/test/std/containers/container.adaptors/flat.multimap/flat.multimap.cons/copy_alloc.pass.cpp
    A libcxx/test/std/containers/container.adaptors/flat.multimap/flat.multimap.cons/copy_assign.addressof.compile.pass.cpp
    A libcxx/test/std/containers/container.adaptors/flat.multimap/flat.multimap.cons/copy_assign.pass.cpp
    A libcxx/test/std/containers/container.adaptors/flat.multimap/flat.multimap.cons/deduct.compile.pass.cpp
    A libcxx/test/std/containers/container.adaptors/flat.multimap/flat.multimap.cons/deduct.pass.cpp
    A libcxx/test/std/containers/container.adaptors/flat.multimap/flat.multimap.cons/deduct.verify.cpp
    A libcxx/test/std/containers/container.adaptors/flat.multimap/flat.multimap.cons/deduct_pmr.pass.cpp
    A libcxx/test/std/containers/container.adaptors/flat.multimap/flat.multimap.cons/default.pass.cpp
    A libcxx/test/std/containers/container.adaptors/flat.multimap/flat.multimap.cons/default_noexcept.pass.cpp
    A libcxx/test/std/containers/container.adaptors/flat.multimap/flat.multimap.cons/dtor_noexcept.pass.cpp
    A libcxx/test/std/containers/container.adaptors/flat.multimap/flat.multimap.cons/initializer_list.pass.cpp
    A libcxx/test/std/containers/container.adaptors/flat.multimap/flat.multimap.cons/iter_iter.pass.cpp
    A libcxx/test/std/containers/container.adaptors/flat.multimap/flat.multimap.cons/move.pass.cpp
    A libcxx/test/std/containers/container.adaptors/flat.multimap/flat.multimap.cons/move_alloc.pass.cpp
    A libcxx/test/std/containers/container.adaptors/flat.multimap/flat.multimap.cons/move_assign.pass.cpp
    A libcxx/test/std/containers/container.adaptors/flat.multimap/flat.multimap.cons/move_assign_clears.pass.cpp
    A libcxx/test/std/containers/container.adaptors/flat.multimap/flat.multimap.cons/move_assign_noexcept.pass.cpp
    A libcxx/test/std/containers/container.adaptors/flat.multimap/flat.multimap.cons/move_exceptions.pass.cpp
    A libcxx/test/std/containers/container.adaptors/flat.multimap/flat.multimap.cons/move_noexcept.pass.cpp
    A libcxx/test/std/containers/container.adaptors/flat.multimap/flat.multimap.cons/pmr.pass.cpp
    A libcxx/test/std/containers/container.adaptors/flat.multimap/flat.multimap.cons/range.pass.cpp
    A libcxx/test/std/containers/container.adaptors/flat.multimap/flat.multimap.cons/sorted_container.pass.cpp
    A libcxx/test/std/containers/container.adaptors/flat.multimap/flat.multimap.cons/sorted_initializer_list.pass.cpp
    A libcxx/test/std/containers/container.adaptors/flat.multimap/flat.multimap.cons/sorted_iter_iter.pass.cpp
    A libcxx/test/std/containers/container.adaptors/flat.multimap/flat.multimap.erasure/erase_if.pass.cpp
    A libcxx/test/std/containers/container.adaptors/flat.multimap/flat.multimap.erasure/erase_if_exceptions.pass.cpp
    A libcxx/test/std/containers/container.adaptors/flat.multimap/flat.multimap.iterators/iterator.pass.cpp
    A libcxx/test/std/containers/container.adaptors/flat.multimap/flat.multimap.iterators/iterator_comparison.pass.cpp
    A libcxx/test/std/containers/container.adaptors/flat.multimap/flat.multimap.iterators/iterator_concept_conformance.compile.pass.cpp
    A libcxx/test/std/containers/container.adaptors/flat.multimap/flat.multimap.iterators/range_concept_conformance.compile.pass.cpp
    A libcxx/test/std/containers/container.adaptors/flat.multimap/flat.multimap.iterators/reverse_iterator.pass.cpp
    A libcxx/test/std/containers/container.adaptors/flat.multimap/flat.multimap.modifiers/clear.pass.cpp
    A libcxx/test/std/containers/container.adaptors/flat.multimap/flat.multimap.modifiers/emplace.pass.cpp
    A libcxx/test/std/containers/container.adaptors/flat.multimap/flat.multimap.modifiers/emplace_hint.pass.cpp
    A libcxx/test/std/containers/container.adaptors/flat.multimap/flat.multimap.modifiers/erase_iter.pass.cpp
    A libcxx/test/std/containers/container.adaptors/flat.multimap/flat.multimap.modifiers/erase_iter_iter.pass.cpp
    A libcxx/test/std/containers/container.adaptors/flat.multimap/flat.multimap.modifiers/erase_key.pass.cpp
    A libcxx/test/std/containers/container.adaptors/flat.multimap/flat.multimap.modifiers/erase_key_transparent.pass.cpp
    A libcxx/test/std/containers/container.adaptors/flat.multimap/flat.multimap.modifiers/extract.pass.cpp
    A libcxx/test/std/containers/container.adaptors/flat.multimap/flat.multimap.modifiers/insert_cv.pass.cpp
    A libcxx/test/std/containers/container.adaptors/flat.multimap/flat.multimap.modifiers/insert_initializer_list.pass.cpp
    A libcxx/test/std/containers/container.adaptors/flat.multimap/flat.multimap.modifiers/insert_iter_cv.pass.cpp
    A libcxx/test/std/containers/container.adaptors/flat.multimap/flat.multimap.modifiers/insert_iter_iter.pass.cpp
    A libcxx/test/std/containers/container.adaptors/flat.multimap/flat.multimap.modifiers/insert_iter_rv.pass.cpp
    A libcxx/test/std/containers/container.adaptors/flat.multimap/flat.multimap.modifiers/insert_range.pass.cpp
    A libcxx/test/std/containers/container.adaptors/flat.multimap/flat.multimap.modifiers/insert_rv.pass.cpp
    A libcxx/test/std/containers/container.adaptors/flat.multimap/flat.multimap.modifiers/insert_sorted_initializer_list.pass.cpp
    A libcxx/test/std/containers/container.adaptors/flat.multimap/flat.multimap.modifiers/insert_sorted_iter_iter.pass.cpp
    A libcxx/test/std/containers/container.adaptors/flat.multimap/flat.multimap.modifiers/insert_transparent.pass.cpp
    A libcxx/test/std/containers/container.adaptors/flat.multimap/flat.multimap.modifiers/replace.pass.cpp
    A libcxx/test/std/containers/container.adaptors/flat.multimap/flat.multimap.modifiers/swap_exception.pass.cpp
    A libcxx/test/std/containers/container.adaptors/flat.multimap/flat.multimap.modifiers/swap_free.pass.cpp
    A libcxx/test/std/containers/container.adaptors/flat.multimap/flat.multimap.modifiers/swap_member.pass.cpp
    A libcxx/test/std/containers/container.adaptors/flat.multimap/flat.multimap.observers/comp.pass.cpp
    A libcxx/test/std/containers/container.adaptors/flat.multimap/flat.multimap.observers/keys_values.pass.cpp
    A libcxx/test/std/containers/container.adaptors/flat.multimap/flat.multimap.operations/contains.pass.cpp
    A libcxx/test/std/containers/container.adaptors/flat.multimap/flat.multimap.operations/contains_transparent.pass.cpp
    A libcxx/test/std/containers/container.adaptors/flat.multimap/flat.multimap.operations/count.pass.cpp
    A libcxx/test/std/containers/container.adaptors/flat.multimap/flat.multimap.operations/count_transparent.pass.cpp
    A libcxx/test/std/containers/container.adaptors/flat.multimap/flat.multimap.operations/equal_range.pass.cpp
    A libcxx/test/std/containers/container.adaptors/flat.multimap/flat.multimap.operations/equal_range_transparent.pass.cpp
    A libcxx/test/std/containers/container.adaptors/flat.multimap/flat.multimap.operations/find.pass.cpp
    A libcxx/test/std/containers/container.adaptors/flat.multimap/flat.multimap.operations/find_transparent.pass.cpp
    A libcxx/test/std/containers/container.adaptors/flat.multimap/flat.multimap.operations/lower_bound.pass.cpp
    A libcxx/test/std/containers/container.adaptors/flat.multimap/flat.multimap.operations/lower_bound_transparent.pass.cpp
    A libcxx/test/std/containers/container.adaptors/flat.multimap/flat.multimap.operations/upper_bound.pass.cpp
    A libcxx/test/std/containers/container.adaptors/flat.multimap/flat.multimap.operations/upper_bound_transparent.pass.cpp
    A libcxx/test/std/containers/container.adaptors/flat.multimap/helpers.h
    A libcxx/test/std/containers/container.adaptors/flat.multimap/incomplete_type.pass.cpp
    A libcxx/test/std/containers/container.adaptors/flat.multimap/op_compare.pass.cpp
    A libcxx/test/std/containers/container.adaptors/flat.multimap/types.compile.pass.cpp
    M libcxx/test/std/containers/sequences/vector.bool/assign_range.pass.cpp
    M libcxx/test/std/containers/sequences/vector.bool/construct_from_range.pass.cpp
    M libcxx/test/std/containers/sequences/vector.bool/insert_range.pass.cpp
    M libcxx/test/std/containers/sequences/vector.bool/shrink_to_fit.pass.cpp
    M libcxx/test/std/containers/sequences/vector/vector.cons/construct_from_range.pass.cpp
    M libcxx/test/std/containers/sequences/vector/vector.modifiers/assign_range.pass.cpp
    M libcxx/test/std/containers/sequences/vector/vector.modifiers/insert_range.pass.cpp
    M libcxx/test/std/containers/views/mdspan/mdspan/index_operator.pass.cpp
    M libcxx/test/std/containers/views/views.span/span.cons/array.pass.cpp
    M libcxx/test/std/experimental/simd/simd.class/simd_copy.pass.cpp
    M libcxx/test/std/experimental/simd/simd.class/simd_unary.pass.cpp
    M libcxx/test/std/input.output/file.streams/fstreams/ifstream.members/offset_range.pass.cpp
    M libcxx/test/std/input.output/iostream.format/print.fun/includes.compile.pass.cpp
    M libcxx/test/std/input.output/iostream.format/print.fun/no_file_description.pass.cpp
    M libcxx/test/std/language.support/support.dynamic/new.delete/new.delete.array/sized_delete_array.pass.cpp
    M libcxx/test/std/language.support/support.dynamic/new.delete/new.delete.single/sized_delete.pass.cpp
    A libcxx/test/std/language.support/support.limits/support.limits.general/flat_map.version.compile.pass.cpp
    M libcxx/test/std/language.support/support.limits/support.limits.general/syncstream.version.compile.pass.cpp
    M libcxx/test/std/language.support/support.limits/support.limits.general/version.version.compile.pass.cpp
    M libcxx/test/std/localization/locale.stdcvt/depr.verify.cpp
    M libcxx/test/std/localization/locales/locale.convenience/conversions/conversions.buffer/depr.verify.cpp
    M libcxx/test/std/localization/locales/locale.convenience/conversions/conversions.string/depr.verify.cpp
    M libcxx/test/std/numerics/c.math/signbit.pass.cpp
    M libcxx/test/std/strings/basic.string/string.capacity/reserve.deprecated_in_cxx20.verify.cpp
    M libcxx/test/std/strings/basic.string/string.cons/from_range.pass.cpp
    M libcxx/test/std/strings/basic.string/string.modifiers/string_insert/insert_range.pass.cpp
    A libcxx/test/std/time/time.clock/time.clock.utc/get_leap_second_info.pass.cpp
    A libcxx/test/std/time/time.clock/time.clock.utc/leap_second_info.members.pass.cpp
    A libcxx/test/std/time/time.clock/time.clock.utc/time.clock.utc.members/from_sys.pass.cpp
    A libcxx/test/std/time/time.clock/time.clock.utc/time.clock.utc.members/now.pass.cpp
    A libcxx/test/std/time/time.clock/time.clock.utc/time.clock.utc.members/to_sys.pass.cpp
    A libcxx/test/std/time/time.clock/time.clock.utc/types.compile.pass.cpp
    A libcxx/test/std/time/time.clock/time.clock.utc/utc_time.ostream.pass.cpp
    A libcxx/test/std/time/time.syn/formatter.utc_time.pass.cpp
    M libcxx/test/std/utilities/expected/expected.expected/ctor/ctor.copy.pass.cpp
    M libcxx/test/std/utilities/format/format.arguments/format.arg/visit.pass.cpp
    M libcxx/test/std/utilities/format/format.arguments/format.arg/visit.return_type.pass.cpp
    M libcxx/test/std/utilities/format/format.arguments/format.arg/visit_format_arg.deprecated.verify.cpp
    M libcxx/test/std/utilities/format/format.formattable/concept.formattable.compile.pass.cpp
    M libcxx/test/std/utilities/format/format.functions/format_tests.h
    M libcxx/test/std/utilities/format/format.range/format.range.fmtmap/format.functions.tests.h
    M libcxx/test/std/utilities/meta/meta.rel/is_virtual_base_of.pass.cpp
    M libcxx/test/std/utilities/meta/meta.unary/meta.unary.prop/is_implicit_lifetime.pass.cpp
    M libcxx/test/std/utilities/meta/meta.unary/meta.unary.prop/is_implicit_lifetime.verify.cpp
    M libcxx/test/std/utilities/utility/pairs/pairs.pair/nttp.equivalence.compile.pass.cpp
    M libcxx/test/std/utilities/utility/pairs/pairs.pair/nttp.verify.cpp
    M libcxx/test/std/utilities/variant/variant.visit.member/robust_against_adl.pass.cpp
    M libcxx/test/std/utilities/variant/variant.visit.member/visit.pass.cpp
    M libcxx/test/std/utilities/variant/variant.visit.member/visit_return_type.pass.cpp
    M libcxx/test/support/test_macros.h
    M libcxx/test/tools/clang_tidy_checks/internal_ftm_use.cpp
    M libcxx/test/tools/clang_tidy_checks/libcpp_module.cpp
    M libcxx/utils/generate_feature_test_macro_components.py
    M libcxx/utils/libcxx-compare-benchmarks
    M libcxx/utils/libcxx/test/params.py
    M libcxxabi/src/abort_message.cpp
    M libcxxabi/src/cxa_exception_storage.cpp
    M libcxxabi/src/stdlib_new_delete.cpp
    M libunwind/src/CMakeLists.txt
    M lld/COFF/COFFLinkerContext.h
    M lld/COFF/Chunks.cpp
    M lld/COFF/Chunks.h
    M lld/COFF/Config.h
    M lld/COFF/DLL.cpp
    M lld/COFF/DLL.h
    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/MapFile.cpp
    M lld/COFF/Options.td
    M lld/COFF/SymbolTable.cpp
    M lld/COFF/SymbolTable.h
    M lld/COFF/Symbols.cpp
    M lld/COFF/Writer.cpp
    R lld/Common/BPSectionOrdererBase.cpp
    M lld/Common/CMakeLists.txt
    M lld/Common/ErrorHandler.cpp
    M lld/ELF/Arch/AArch64.cpp
    M lld/ELF/Arch/ARM.cpp
    M lld/ELF/Arch/RISCV.cpp
    M lld/ELF/Config.h
    M lld/ELF/Driver.cpp
    M lld/ELF/EhFrame.cpp
    M lld/ELF/InputFiles.cpp
    M lld/ELF/InputSection.cpp
    M lld/ELF/Relocations.cpp
    M lld/ELF/Relocations.h
    M lld/ELF/ScriptParser.cpp
    M lld/ELF/Symbols.cpp
    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/Config.h
    M lld/MachO/Driver.cpp
    M lld/MachO/ObjC.cpp
    M lld/MachO/Options.td
    M lld/MachO/SyntheticSections.cpp
    M lld/MachO/SyntheticSections.h
    M lld/MachO/Writer.cpp
    M lld/docs/ReleaseNotes.rst
    R lld/include/lld/Common/BPSectionOrdererBase.h
    A lld/include/lld/Common/BPSectionOrdererBase.inc
    A lld/test/COFF/Inputs/stub63mz
    A lld/test/COFF/Inputs/stub64mz
    A lld/test/COFF/Inputs/stub64zz
    A lld/test/COFF/Inputs/stub68mz
    M lld/test/COFF/arm64ec-import.test
    A lld/test/COFF/arm64x-delayimport.test
    M lld/test/COFF/arm64x-entry.test
    A lld/test/COFF/arm64x-export.test
    A lld/test/COFF/arm64x-import.test
    M lld/test/COFF/empty-section-decl.yaml
    A lld/test/COFF/lto-arm64x.ll
    M lld/test/COFF/pdata-arm64ec.test
    M lld/test/COFF/start-lib.ll
    A lld/test/COFF/stub.test
    A lld/test/ELF/aarch64-tlsdesc-pauth.s
    M lld/test/ELF/archive-thin-missing-member.s
    M lld/test/ELF/arm-thumb-thunk-v6m-xo.s
    M lld/test/ELF/arm-thunk-section-too-large.s
    M lld/test/ELF/arm-thunk-toolargesection.s
    M lld/test/ELF/arm-v5-reloc-error.s
    M lld/test/ELF/bad-archive.s
    M lld/test/ELF/basic.s
    M lld/test/ELF/compressed-input-err.s
    M lld/test/ELF/fatlto/fatlto.invalid.s
    M lld/test/ELF/gc-sections.s
    M lld/test/ELF/gnustack.s
    R lld/test/ELF/hip-section-layout.s
    M lld/test/ELF/invalid-cie-reference.s
    M lld/test/ELF/invalid-eh-frame2.s
    M lld/test/ELF/invalid-eh-frame4.s
    M lld/test/ELF/invalid-eh-frame6.s
    M lld/test/ELF/invalid/bad-reloc-target.test
    M lld/test/ELF/invalid/comdat-broken.test
    M lld/test/ELF/invalid/data-encoding.test
    M lld/test/ELF/invalid/dynamic-section-broken.test
    M lld/test/ELF/invalid/invalid-elf.test
    M lld/test/ELF/invalid/invalid-file-class.test
    M lld/test/ELF/invalid/linkorder-invalid-sec.test
    M lld/test/ELF/invalid/merge-invalid-size.s
    M lld/test/ELF/invalid/merge-writable.s
    M lld/test/ELF/invalid/section-alignment.test
    M lld/test/ELF/invalid/section-alignment2.s
    M lld/test/ELF/invalid/section-index.test
    M lld/test/ELF/invalid/sht-group-wrong-section.test
    M lld/test/ELF/invalid/sht-group.test
    M lld/test/ELF/invalid/symbol-name.test
    M lld/test/ELF/invalid/symtab-sh-info.s
    M lld/test/ELF/invalid/verneed-shared.test
    M lld/test/ELF/linkerscript/diag.test
    M lld/test/ELF/linkerscript/operators.test
    M lld/test/ELF/lto/bitcode-nodatalayout.ll
    M lld/test/ELF/lto/bitcode-wrapper.ll
    M lld/test/ELF/lto/cache-warnings.ll
    M lld/test/ELF/lto/devirt_vcall_vis_export_dynamic.ll
    M lld/test/ELF/lto/internalize-exportdyn.ll
    M lld/test/ELF/lto/ltopasses-custom.ll
    M lld/test/ELF/lto/relocation-model-pic.ll
    M lld/test/ELF/lto/relocation-model-static.ll
    M lld/test/ELF/lto/verify-invalid.ll
    M lld/test/ELF/lto/version-script.ll
    M lld/test/ELF/lto/version-script2.ll
    R lld/test/ELF/merge-string-error.s
    M lld/test/ELF/mergeable-errors.s
    M lld/test/ELF/partition-errors.s
    M lld/test/ELF/partition-icf.s
    M lld/test/ELF/partition-move-to-main-startstop.s
    M lld/test/ELF/partition-thunk-reuse.s
    M lld/test/ELF/partitions.s
    M lld/test/ELF/relocation-past-merge-end.s
    M lld/test/ELF/riscv-gp.s
    M lld/test/ELF/stdout.s
    M lld/test/ELF/unsupported-emachine.test
    M lld/test/ELF/weak-undef-lib.s
    M lld/test/MachO/cfstring-dedup.s
    M lld/test/lit.cfg.py
    A lld/test/wasm/shared-lazy.s
    M lld/wasm/SymbolTable.cpp
    M lld/wasm/SyntheticSections.cpp
    M lldb/bindings/headers.swig
    A lldb/bindings/interface/SBProgressDocstrings.i
    M lldb/bindings/interface/SBSaveCoreOptionsDocstrings.i
    M lldb/bindings/interface/SBThreadExtensions.i
    M lldb/bindings/interfaces.swig
    M lldb/cmake/modules/LLDBConfig.cmake
    M lldb/docs/resources/build.rst
    M lldb/docs/use/aarch64-linux.md
    M lldb/docs/use/formatting.rst
    M lldb/include/lldb/API/LLDB.h
    M lldb/include/lldb/API/SBDebugger.h
    M lldb/include/lldb/API/SBDefines.h
    A lldb/include/lldb/API/SBProgress.h
    M lldb/include/lldb/API/SBSaveCoreOptions.h
    M lldb/include/lldb/API/SBThreadCollection.h
    M lldb/include/lldb/Core/FormatEntity.h
    M lldb/include/lldb/Host/Editline.h
    M lldb/include/lldb/Host/Time.h
    M lldb/include/lldb/Interpreter/Interfaces/OperatingSystemInterface.h
    M lldb/include/lldb/Symbol/Function.h
    M lldb/include/lldb/Symbol/SaveCoreOptions.h
    M lldb/include/lldb/Symbol/SymbolContext.h
    M lldb/include/lldb/Target/OperatingSystem.h
    M lldb/include/lldb/Utility/AnsiTerminal.h
    M lldb/include/lldb/Utility/LLDBAssert.h
    M lldb/include/lldb/lldb-forward.h
    M lldb/packages/Python/lldbsuite/test/lldbutil.py
    M lldb/source/API/CMakeLists.txt
    A lldb/source/API/SBProgress.cpp
    M lldb/source/API/SBSaveCoreOptions.cpp
    M lldb/source/API/SBThread.cpp
    M lldb/source/Core/Debugger.cpp
    M lldb/source/Core/FormatEntity.cpp
    M lldb/source/Core/IOHandler.cpp
    M lldb/source/Expression/DWARFExpression.cpp
    M lldb/source/Expression/LLVMUserExpression.cpp
    M lldb/source/Host/CMakeLists.txt
    R lldb/source/Host/android/LibcGlue.cpp
    M lldb/source/Host/common/Editline.cpp
    M lldb/source/Host/common/Host.cpp
    M lldb/source/Host/common/PseudoTerminal.cpp
    M lldb/source/Host/common/Socket.cpp
    M lldb/source/Host/posix/DomainSocket.cpp
    M lldb/source/Host/posix/HostInfoPosix.cpp
    M lldb/source/Host/posix/ProcessLauncherPosixFork.cpp
    M lldb/source/Host/windows/PipeWindows.cpp
    M lldb/source/Plugins/ABI/AArch64/ABISysV_arm64.cpp
    M lldb/source/Plugins/ExpressionParser/Clang/ASTUtils.h
    M lldb/source/Plugins/ExpressionParser/Clang/ClangASTSource.cpp
    M lldb/source/Plugins/ExpressionParser/Clang/ClangASTSource.h
    M lldb/source/Plugins/ExpressionParser/Clang/ClangExternalASTSourceCallbacks.cpp
    M lldb/source/Plugins/ExpressionParser/Clang/ClangExternalASTSourceCallbacks.h
    M lldb/source/Plugins/ExpressionParser/Clang/IRForTarget.cpp
    M lldb/source/Plugins/LanguageRuntime/ObjC/AppleObjCRuntime/AppleObjCDeclVendor.cpp
    M lldb/source/Plugins/ObjectContainer/BSD-Archive/ObjectContainerBSDArchive.cpp
    M lldb/source/Plugins/OperatingSystem/Python/OperatingSystemPython.cpp
    M lldb/source/Plugins/OperatingSystem/Python/OperatingSystemPython.h
    M lldb/source/Plugins/Platform/MacOSX/PlatformDarwin.cpp
    M lldb/source/Plugins/Process/Linux/NativeRegisterContextLinux_arm64.cpp
    M lldb/source/Plugins/Process/Linux/NativeRegisterContextLinux_arm64.h
    M lldb/source/Plugins/Process/Linux/NativeThreadLinux.cpp
    M lldb/source/Plugins/Process/Utility/LinuxSignals.cpp
    M lldb/source/Plugins/Process/Utility/RegisterContextPOSIX_arm64.cpp
    M lldb/source/Plugins/Process/Utility/RegisterContextPOSIX_arm64.h
    M lldb/source/Plugins/Process/Utility/RegisterFlagsDetector_arm64.cpp
    M lldb/source/Plugins/Process/Utility/RegisterFlagsDetector_arm64.h
    M lldb/source/Plugins/Process/Utility/RegisterInfoPOSIX_arm64.cpp
    M lldb/source/Plugins/Process/Utility/RegisterInfoPOSIX_arm64.h
    M lldb/source/Plugins/Process/elf-core/RegisterContextPOSIXCore_arm64.cpp
    M lldb/source/Plugins/Process/elf-core/RegisterContextPOSIXCore_arm64.h
    M lldb/source/Plugins/Process/elf-core/RegisterUtilities.h
    M lldb/source/Plugins/ScriptInterpreter/Python/Interfaces/OperatingSystemPythonInterface.cpp
    M lldb/source/Plugins/ScriptInterpreter/Python/Interfaces/OperatingSystemPythonInterface.h
    M lldb/source/Plugins/ScriptInterpreter/Python/PythonDataObjects.cpp
    M lldb/source/Plugins/ScriptInterpreter/Python/ScriptInterpreterPython.cpp
    M lldb/source/Plugins/ScriptInterpreter/Python/lldb-python.h
    M lldb/source/Plugins/SymbolFile/Breakpad/SymbolFileBreakpad.cpp
    M lldb/source/Plugins/SymbolFile/CTF/SymbolFileCTF.cpp
    M lldb/source/Plugins/SymbolFile/DWARF/DWARFASTParserClang.cpp
    M lldb/source/Plugins/SymbolFile/DWARF/DWARFASTParserClang.h
    M lldb/source/Plugins/SymbolFile/DWARF/DWARFDebugInfoEntry.cpp
    M lldb/source/Plugins/SymbolFile/DWARF/DWARFDebugInfoEntry.h
    M lldb/source/Plugins/SymbolFile/DWARF/SymbolFileDWARF.cpp
    M lldb/source/Plugins/SymbolFile/NativePDB/PdbAstBuilder.cpp
    M lldb/source/Plugins/SymbolFile/NativePDB/SymbolFileNativePDB.cpp
    M lldb/source/Plugins/SymbolFile/PDB/PDBASTParser.cpp
    M lldb/source/Plugins/SymbolFile/PDB/SymbolFilePDB.cpp
    M lldb/source/Plugins/SymbolFile/Symtab/SymbolFileSymtab.cpp
    M lldb/source/Plugins/TypeSystem/Clang/TypeSystemClang.cpp
    M lldb/source/Plugins/TypeSystem/Clang/TypeSystemClang.h
    M lldb/source/Symbol/Function.cpp
    M lldb/source/Symbol/SaveCoreOptions.cpp
    M lldb/source/Symbol/SymbolContext.cpp
    M lldb/source/Target/DynamicRegisterInfo.cpp
    M lldb/source/Target/Process.cpp
    M lldb/source/Target/TargetProperties.td
    M lldb/source/Target/UnixSignals.cpp
    M lldb/source/Utility/LLDBAssert.cpp
    M lldb/test/API/commands/expression/call-function/TestCallStopAndContinue.py
    M lldb/test/API/commands/expression/unwind_expression/TestUnwindExpression.py
    M lldb/test/API/commands/frame/diagnose/array/TestArray.py
    M lldb/test/API/commands/frame/diagnose/bad-reference/TestBadReference.py
    M lldb/test/API/commands/frame/diagnose/complicated-expression/TestComplicatedExpression.py
    M lldb/test/API/commands/frame/diagnose/dereference-argument/TestDiagnoseDereferenceArgument.py
    M lldb/test/API/commands/frame/diagnose/dereference-function-return/TestDiagnoseDereferenceFunctionReturn.py
    M lldb/test/API/commands/frame/diagnose/dereference-this/TestDiagnoseDereferenceThis.py
    M lldb/test/API/commands/frame/diagnose/inheritance/TestDiagnoseInheritance.py
    M lldb/test/API/commands/frame/diagnose/local-variable/TestLocalVariable.py
    M lldb/test/API/commands/frame/diagnose/virtual-method-call/TestDiagnoseDereferenceVirtualMethodCall.py
    M lldb/test/API/commands/frame/recognizer/TestFrameRecognizer.py
    M lldb/test/API/functionalities/data-formatter/data-formatter-stl/libcxx/atomic/TestLibCxxAtomic.py
    M lldb/test/API/functionalities/data-formatter/data-formatter-stl/libcxx/initializerlist/TestInitializerList.py
    M lldb/test/API/functionalities/location-list-lookup/TestLocationListLookup.py
    M lldb/test/API/functionalities/plugins/python_os_plugin/stepping_plugin_threads/TestOSPluginStepping.py
    M lldb/test/API/functionalities/plugins/python_os_plugin/stepping_plugin_threads/operating_system.py
    A lldb/test/API/functionalities/thread/step_until/TestStepUntilAPI.py
    A lldb/test/API/functionalities/thread/step_until/function.list
    M lldb/test/API/functionalities/thread/step_until/main.c
    A lldb/test/API/functionalities/thread/step_until/symbol.order
    M lldb/test/API/lang/cpp/std-function-recognizer/TestStdFunctionRecognizer.py
    M lldb/test/API/lang/objc/print-obj/TestPrintObj.py
    M lldb/test/API/linux/aarch64/gcs/TestAArch64LinuxGCS.py
    A lldb/test/API/linux/aarch64/gcs/corefile
    M lldb/test/API/linux/aarch64/gcs/main.c
    M lldb/test/API/linux/aarch64/mte_core_file/TestAArch64LinuxMTEMemoryTagCoreFile.py
    M lldb/test/API/linux/aarch64/mte_tag_faults/TestAArch64LinuxMTEMemoryTagFaults.py
    M lldb/test/API/linux/aarch64/non_address_bit_memory_access/TestAArch64LinuxNonAddressBitMemoryAccess.py
    M lldb/test/API/macosx/universal/TestUniversal.py
    A lldb/test/API/python_api/sbprogress/TestSBProgress.py
    M lldb/test/API/python_api/sbsavecoreoptions/TestSBSaveCoreOptions.py
    M lldb/test/API/python_api/sbsavecoreoptions/basic_minidump.yaml
    M lldb/test/API/terminal/TestEditline.py
    A lldb/test/API/tools/lldb-dap/progress/Makefile
    A lldb/test/API/tools/lldb-dap/progress/Progress_emitter.py
    A lldb/test/API/tools/lldb-dap/progress/TestDAP_Progress.py
    A lldb/test/API/tools/lldb-dap/progress/main.cpp
    M lldb/test/API/tools/lldb-dap/variables/TestDAP_variables.py
    M lldb/test/Shell/Register/Core/x86-32-linux-multithread.test
    M lldb/test/Shell/Register/Core/x86-64-linux-multithread.test
    M lldb/test/Shell/SymbolFile/DWARF/x86/discontinuous-function.s
    M lldb/tools/lldb-dap/CMakeLists.txt
    M lldb/tools/lldb-dap/DAP.cpp
    M lldb/tools/lldb-dap/DAP.h
    M lldb/tools/lldb-dap/IOStream.h
    M lldb/tools/lldb-dap/OutputRedirector.cpp
    M lldb/tools/lldb-dap/OutputRedirector.h
    M lldb/tools/lldb-dap/ProgressEvent.cpp
    M lldb/tools/lldb-dap/ProgressEvent.h
    M lldb/tools/lldb-dap/lldb-dap.cpp
    M lldb/unittests/Core/FormatEntityTest.cpp
    M lldb/unittests/Editline/EditlineTest.cpp
    M lldb/unittests/ScriptInterpreter/Python/PythonDataObjectsTests.cpp
    M lldb/unittests/Signals/UnixSignalsTest.cpp
    M lldb/unittests/Symbol/TestTypeSystemClang.cpp
    M lldb/unittests/SymbolFile/DWARF/DWARFASTParserClangTests.cpp
    M lldb/unittests/SymbolFile/DWARF/DWARFDIETest.cpp
    M lldb/unittests/Utility/AnsiTerminalTest.cpp
    M lldb/utils/lldb-dotest/lldb-dotest.in
    M llvm/CMakeLists.txt
    M llvm/Maintainers.md
    M llvm/bindings/ocaml/debuginfo/debuginfo_ocaml.c
    M llvm/bindings/ocaml/debuginfo/llvm_debuginfo.ml
    M llvm/bindings/ocaml/debuginfo/llvm_debuginfo.mli
    M llvm/cmake/config-ix.cmake
    M llvm/cmake/modules/AddLLVM.cmake
    M llvm/cmake/modules/HandleLLVMOptions.cmake
    M llvm/docs/AMDGPUUsage.rst
    M llvm/docs/CommandGuide/llvm-objcopy.rst
    M llvm/docs/Contributing.rst
    M llvm/docs/DeveloperPolicy.rst
    M llvm/docs/Docker.rst
    M llvm/docs/GitHub.rst
    A llvm/docs/KernelInfo.rst
    M llvm/docs/LangRef.rst
    M llvm/docs/MyFirstTypoFix.rst
    M llvm/docs/NVPTXUsage.rst
    M llvm/docs/Passes.rst
    M llvm/docs/RISCVUsage.rst
    M llvm/docs/ReleaseNotes.md
    M llvm/docs/RemoveDIsDebugInfo.md
    M llvm/docs/SandboxIR.md
    M llvm/docs/TestingGuide.rst
    M llvm/examples/BrainF/BrainF.cpp
    M llvm/examples/ExceptionDemo/CMakeLists.txt
    M llvm/examples/ExceptionDemo/ExceptionDemo.cpp
    M llvm/examples/IRTransforms/SimplifyCFG.cpp
    M llvm/examples/Kaleidoscope/BuildingAJIT/Chapter1/toy.cpp
    M llvm/examples/Kaleidoscope/BuildingAJIT/Chapter2/toy.cpp
    M llvm/examples/Kaleidoscope/BuildingAJIT/Chapter3/toy.cpp
    M llvm/examples/Kaleidoscope/BuildingAJIT/Chapter4/toy.cpp
    M llvm/examples/Kaleidoscope/Chapter4/toy.cpp
    M llvm/examples/Kaleidoscope/Chapter5/toy.cpp
    M llvm/examples/Kaleidoscope/Chapter6/toy.cpp
    M llvm/examples/Kaleidoscope/Chapter7/toy.cpp
    M llvm/include/llvm-c/DebugInfo.h
    M llvm/include/llvm/ADT/APInt.h
    M llvm/include/llvm/ADT/StringTable.h
    M llvm/include/llvm/Analysis/AliasAnalysis.h
    M llvm/include/llvm/Analysis/BlockFrequencyInfoImpl.h
    A llvm/include/llvm/Analysis/KernelInfo.h
    M llvm/include/llvm/Analysis/LoopAccessAnalysis.h
    M llvm/include/llvm/Analysis/MemoryProfileInfo.h
    M llvm/include/llvm/Analysis/TargetTransformInfo.h
    M llvm/include/llvm/Analysis/TargetTransformInfoImpl.h
    M llvm/include/llvm/AsmParser/LLToken.h
    M llvm/include/llvm/BinaryFormat/DXContainerConstants.def
    M llvm/include/llvm/BinaryFormat/ELF.h
    M llvm/include/llvm/BinaryFormat/Wasm.h
    M llvm/include/llvm/CodeGen/AsmPrinter.h
    M llvm/include/llvm/CodeGen/BasicTTIImpl.h
    M llvm/include/llvm/CodeGen/CallingConvLower.h
    M llvm/include/llvm/CodeGen/CommandFlags.h
    M llvm/include/llvm/CodeGen/GlobalISel/CombinerHelper.h
    M llvm/include/llvm/CodeGen/GlobalISel/MachineIRBuilder.h
    M llvm/include/llvm/CodeGen/ISDOpcodes.h
    M llvm/include/llvm/CodeGen/LiveIntervals.h
    M llvm/include/llvm/CodeGen/LivePhysRegs.h
    M llvm/include/llvm/CodeGen/LiveRegMatrix.h
    M llvm/include/llvm/CodeGen/MachineBasicBlock.h
    M llvm/include/llvm/CodeGen/MachineFunction.h
    M llvm/include/llvm/CodeGen/MachineInstr.h
    M llvm/include/llvm/CodeGen/MachineJumpTableInfo.h
    M llvm/include/llvm/CodeGen/MachineOperand.h
    M llvm/include/llvm/CodeGen/MachineRegisterInfo.h
    M llvm/include/llvm/CodeGen/MachineScheduler.h
    M llvm/include/llvm/CodeGen/Passes.h
    M llvm/include/llvm/CodeGen/ReachingDefAnalysis.h
    M llvm/include/llvm/CodeGen/Register.h
    M llvm/include/llvm/CodeGen/RegisterPressure.h
    M llvm/include/llvm/CodeGen/SDPatternMatch.h
    M llvm/include/llvm/CodeGen/ScheduleDAGInstrs.h
    M llvm/include/llvm/CodeGen/SelectionDAG.h
    M llvm/include/llvm/CodeGen/SelectionDAGISel.h
    M llvm/include/llvm/CodeGen/SelectionDAGNodes.h
    M llvm/include/llvm/CodeGen/TargetInstrInfo.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/CodeGen/TargetSubtargetInfo.h
    M llvm/include/llvm/CodeGen/VirtRegMap.h
    M llvm/include/llvm/Config/config.h.cmake
    M llvm/include/llvm/DebugInfo/CodeView/CodeViewRegisters.def
    M llvm/include/llvm/DebugInfo/GSYM/CallSiteInfo.h
    M llvm/include/llvm/DebugInfo/GSYM/LookupResult.h
    M llvm/include/llvm/ExecutionEngine/JITLink/ELF_loongarch.h
    M llvm/include/llvm/ExecutionEngine/JITLink/JITLink.h
    M llvm/include/llvm/ExecutionEngine/JITLink/MachO.h
    M llvm/include/llvm/ExecutionEngine/JITLink/loongarch.h
    A llvm/include/llvm/ExecutionEngine/Orc/EHFrameRegistrationPlugin.h
    M llvm/include/llvm/ExecutionEngine/Orc/LLJIT.h
    M llvm/include/llvm/ExecutionEngine/Orc/LinkGraphLinkingLayer.h
    M llvm/include/llvm/ExecutionEngine/Orc/MachOPlatform.h
    M llvm/include/llvm/ExecutionEngine/Orc/Shared/ExecutorSymbolDef.h
    M llvm/include/llvm/Frontend/Offloading/Utility.h
    M llvm/include/llvm/Frontend/OpenMP/OMPKinds.def
    M llvm/include/llvm/FuzzMutate/OpDescriptor.h
    M llvm/include/llvm/IR/Attributes.h
    M llvm/include/llvm/IR/Attributes.td
    M llvm/include/llvm/IR/BasicBlock.h
    M llvm/include/llvm/IR/DIBuilder.h
    M llvm/include/llvm/IR/DebugProgramInstruction.h
    M llvm/include/llvm/IR/Function.h
    M llvm/include/llvm/IR/GlobalValue.h
    M llvm/include/llvm/IR/InstrTypes.h
    M llvm/include/llvm/IR/Instruction.h
    M llvm/include/llvm/IR/IntrinsicsAArch64.td
    M llvm/include/llvm/IR/IntrinsicsAMDGPU.td
    M llvm/include/llvm/IR/IntrinsicsDirectX.td
    M llvm/include/llvm/IR/IntrinsicsNVVM.td
    M llvm/include/llvm/IR/IntrinsicsSPIRV.td
    M llvm/include/llvm/IR/IntrinsicsSystemZ.td
    M llvm/include/llvm/IR/IntrinsicsX86.td
    M llvm/include/llvm/IR/Metadata.h
    M llvm/include/llvm/IR/PassManagerInternal.h
    M llvm/include/llvm/IR/PatternMatch.h
    M llvm/include/llvm/IR/PrintPasses.h
    M llvm/include/llvm/InitializePasses.h
    M llvm/include/llvm/MC/MCAsmBackend.h
    M llvm/include/llvm/MC/MCELFStreamer.h
    M llvm/include/llvm/MC/MCRegister.h
    M llvm/include/llvm/MC/MCRegisterInfo.h
    M llvm/include/llvm/ObjCopy/CommonConfig.h
    M llvm/include/llvm/ObjCopy/ELF/ELFConfig.h
    M llvm/include/llvm/Object/COFF.h
    M llvm/include/llvm/Object/SymbolicFile.h
    M llvm/include/llvm/Option/OptTable.h
    M llvm/include/llvm/Passes/DroppedVariableStatsIR.h
    M llvm/include/llvm/Passes/MachinePassRegistry.def
    M llvm/include/llvm/ProfileData/Coverage/CoverageMapping.h
    M llvm/include/llvm/SandboxIR/Context.h
    M llvm/include/llvm/SandboxIR/Instruction.h
    M llvm/include/llvm/SandboxIR/Region.h
    M llvm/include/llvm/SandboxIR/Type.h
    M llvm/include/llvm/SandboxIR/Utils.h
    M llvm/include/llvm/SandboxIR/Value.h
    A llvm/include/llvm/Support/AArch64BuildAttributes.h
    M llvm/include/llvm/Support/FileSystem.h
    M llvm/include/llvm/Support/GenericDomTree.h
    M llvm/include/llvm/Support/GlobPattern.h
    M llvm/include/llvm/Support/MathExtras.h
    M llvm/include/llvm/Support/ModRef.h
    M llvm/include/llvm/Support/Threading.h
    M llvm/include/llvm/Support/YAMLTraits.h
    M llvm/include/llvm/TableGen/StringToOffsetTable.h
    M llvm/include/llvm/Target/GlobalISel/Combine.td
    M llvm/include/llvm/Target/Target.td
    M llvm/include/llvm/Target/TargetLoweringObjectFile.h
    M llvm/include/llvm/Target/TargetMachine.h
    M llvm/include/llvm/Target/TargetOptions.h
    M llvm/include/llvm/Target/TargetSelectionDAG.td
    M llvm/include/llvm/TargetParser/AArch64CPUFeatures.inc
    M llvm/include/llvm/TargetParser/AArch64TargetParser.h
    M llvm/include/llvm/TargetParser/LoongArchTargetParser.def
    M llvm/include/llvm/TargetParser/LoongArchTargetParser.h
    M llvm/include/llvm/TargetParser/Triple.h
    M llvm/include/llvm/Transforms/Coroutines/CoroInstr.h
    M llvm/include/llvm/Transforms/IPO/Attributor.h
    M llvm/include/llvm/Transforms/Instrumentation/LowerAllowCheckPass.h
    M llvm/include/llvm/Transforms/Utils/BasicBlockUtils.h
    M llvm/include/llvm/Transforms/Utils/Cloning.h
    M llvm/include/llvm/Transforms/Utils/Instrumentation.h
    A llvm/include/llvm/Transforms/Utils/LowerVectorIntrinsics.h
    M llvm/include/llvm/Transforms/Utils/SSAUpdater.h
    M llvm/include/llvm/Transforms/Utils/UnrollLoop.h
    M llvm/include/llvm/Transforms/Utils/ValueMapper.h
    M llvm/include/llvm/Transforms/Vectorize/LoopVectorizationLegality.h
    M llvm/include/llvm/Transforms/Vectorize/SandboxVectorizer/DependencyGraph.h
    A llvm/include/llvm/Transforms/Vectorize/SandboxVectorizer/InstrMaps.h
    M llvm/include/llvm/Transforms/Vectorize/SandboxVectorizer/Legality.h
    M llvm/include/llvm/Transforms/Vectorize/SandboxVectorizer/Passes/BottomUpVec.h
    M llvm/include/llvm/Transforms/Vectorize/SandboxVectorizer/SandboxVectorizer.h
    M llvm/include/llvm/Transforms/Vectorize/SandboxVectorizer/Scheduler.h
    M llvm/include/llvm/Transforms/Vectorize/SandboxVectorizer/VecUtils.h
    M llvm/lib/Analysis/BranchProbabilityInfo.cpp
    M llvm/lib/Analysis/CMakeLists.txt
    M llvm/lib/Analysis/ConstantFolding.cpp
    M llvm/lib/Analysis/InlineCost.cpp
    A llvm/lib/Analysis/KernelInfo.cpp
    M llvm/lib/Analysis/Loads.cpp
    M llvm/lib/Analysis/LoopAccessAnalysis.cpp
    M llvm/lib/Analysis/LoopInfo.cpp
    M llvm/lib/Analysis/LoopNestAnalysis.cpp
    M llvm/lib/Analysis/MemoryProfileInfo.cpp
    M llvm/lib/Analysis/MustExecute.cpp
    M llvm/lib/Analysis/ScalarEvolution.cpp
    M llvm/lib/Analysis/TargetTransformInfo.cpp
    M llvm/lib/Analysis/ValueTracking.cpp
    M llvm/lib/AsmParser/LLLexer.cpp
    M llvm/lib/AsmParser/LLParser.cpp
    M llvm/lib/Bitcode/Reader/BitcodeReader.cpp
    M llvm/lib/Bitcode/Writer/BitcodeWriter.cpp
    M llvm/lib/CodeGen/AggressiveAntiDepBreaker.cpp
    M llvm/lib/CodeGen/AsmPrinter/AsmPrinter.cpp
    M llvm/lib/CodeGen/AsmPrinter/CodeViewDebug.cpp
    M llvm/lib/CodeGen/AsmPrinter/WinCFGuard.cpp
    M llvm/lib/CodeGen/AsmPrinter/WinException.cpp
    M llvm/lib/CodeGen/AssignmentTrackingAnalysis.cpp
    M llvm/lib/CodeGen/BranchFolding.cpp
    M llvm/lib/CodeGen/CMakeLists.txt
    M llvm/lib/CodeGen/CallingConvLower.cpp
    M llvm/lib/CodeGen/CodeGen.cpp
    M llvm/lib/CodeGen/CodeGenPrepare.cpp
    M llvm/lib/CodeGen/CommandFlags.cpp
    M llvm/lib/CodeGen/CriticalAntiDepBreaker.cpp
    M llvm/lib/CodeGen/DeadMachineInstructionElim.cpp
    M llvm/lib/CodeGen/EarlyIfConversion.cpp
    M llvm/lib/CodeGen/ExecutionDomainFix.cpp
    M llvm/lib/CodeGen/FixupStatepointCallerSaved.cpp
    M llvm/lib/CodeGen/GlobalISel/CSEInfo.cpp
    M llvm/lib/CodeGen/GlobalISel/CallLowering.cpp
    M llvm/lib/CodeGen/GlobalISel/CombinerHelper.cpp
    M llvm/lib/CodeGen/GlobalISel/IRTranslator.cpp
    M llvm/lib/CodeGen/GlobalISel/MachineIRBuilder.cpp
    M llvm/lib/CodeGen/GlobalMerge.cpp
    M llvm/lib/CodeGen/InlineSpiller.cpp
    M llvm/lib/CodeGen/InterferenceCache.cpp
    M llvm/lib/CodeGen/InterleavedAccessPass.cpp
    M llvm/lib/CodeGen/LiveDebugValues/InstrRefBasedImpl.cpp
    M llvm/lib/CodeGen/LiveDebugValues/VarLocBasedImpl.cpp
    M llvm/lib/CodeGen/LiveIntervals.cpp
    M llvm/lib/CodeGen/LivePhysRegs.cpp
    M llvm/lib/CodeGen/LiveRegMatrix.cpp
    M llvm/lib/CodeGen/LiveVariables.cpp
    M llvm/lib/CodeGen/MIRParser/MIParser.cpp
    M llvm/lib/CodeGen/MLRegAllocEvictAdvisor.cpp
    M llvm/lib/CodeGen/MachineBasicBlock.cpp
    M llvm/lib/CodeGen/MachineBlockPlacement.cpp
    M llvm/lib/CodeGen/MachineCSE.cpp
    M llvm/lib/CodeGen/MachineCopyPropagation.cpp
    M llvm/lib/CodeGen/MachineFunction.cpp
    M llvm/lib/CodeGen/MachineInstr.cpp
    M llvm/lib/CodeGen/MachineLoopUtils.cpp
    M llvm/lib/CodeGen/MachineOperand.cpp
    M llvm/lib/CodeGen/MachinePipeliner.cpp
    M llvm/lib/CodeGen/MachineRegisterInfo.cpp
    M llvm/lib/CodeGen/MachineSSAContext.cpp
    M llvm/lib/CodeGen/MachineScheduler.cpp
    M llvm/lib/CodeGen/MachineSink.cpp
    M llvm/lib/CodeGen/MachineVerifier.cpp
    M llvm/lib/CodeGen/ModuloSchedule.cpp
    M llvm/lib/CodeGen/PeepholeOptimizer.cpp
    M llvm/lib/CodeGen/PreISelIntrinsicLowering.cpp
    M llvm/lib/CodeGen/PrologEpilogInserter.cpp
    M llvm/lib/CodeGen/RDFLiveness.cpp
    M llvm/lib/CodeGen/ReachingDefAnalysis.cpp
    M llvm/lib/CodeGen/RegAllocFast.cpp
    M llvm/lib/CodeGen/RegAllocGreedy.cpp
    M llvm/lib/CodeGen/RegUsageInfoCollector.cpp
    M llvm/lib/CodeGen/RegisterClassInfo.cpp
    M llvm/lib/CodeGen/RegisterCoalescer.cpp
    M llvm/lib/CodeGen/RegisterCoalescer.h
    M llvm/lib/CodeGen/RegisterPressure.cpp
    M llvm/lib/CodeGen/RemoveLoadsIntoFakeUses.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/FunctionLoweringInfo.cpp
    M llvm/lib/CodeGen/SelectionDAG/InstrEmitter.cpp
    M llvm/lib/CodeGen/SelectionDAG/LegalizeIntegerTypes.cpp
    M llvm/lib/CodeGen/SelectionDAG/LegalizeTypes.h
    M llvm/lib/CodeGen/SelectionDAG/LegalizeVectorOps.cpp
    M llvm/lib/CodeGen/SelectionDAG/LegalizeVectorTypes.cpp
    M llvm/lib/CodeGen/SelectionDAG/ScheduleDAGFast.cpp
    M llvm/lib/CodeGen/SelectionDAG/ScheduleDAGRRList.cpp
    M llvm/lib/CodeGen/SelectionDAG/ScheduleDAGSDNodes.cpp
    M llvm/lib/CodeGen/SelectionDAG/ScheduleDAGSDNodes.h
    M llvm/lib/CodeGen/SelectionDAG/ScheduleDAGVLIW.cpp
    M llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp
    M llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp
    M llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.h
    M llvm/lib/CodeGen/SelectionDAG/SelectionDAGDumper.cpp
    M llvm/lib/CodeGen/SelectionDAG/SelectionDAGISel.cpp
    M llvm/lib/CodeGen/SelectionDAG/StatepointLowering.cpp
    M llvm/lib/CodeGen/SelectionDAG/TargetLowering.cpp
    M llvm/lib/CodeGen/ShadowStackGCLowering.cpp
    M llvm/lib/CodeGen/ShrinkWrap.cpp
    M llvm/lib/CodeGen/SjLjEHPrepare.cpp
    M llvm/lib/CodeGen/StackColoring.cpp
    A llvm/lib/CodeGen/StaticDataSplitter.cpp
    M llvm/lib/CodeGen/TailDuplicator.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/TypePromotion.cpp
    M llvm/lib/CodeGen/VirtRegMap.cpp
    M llvm/lib/CodeGen/WasmEHPrepare.cpp
    M llvm/lib/CodeGen/WinEHPrepare.cpp
    M llvm/lib/DebugInfo/GSYM/FunctionInfo.cpp
    M llvm/lib/DebugInfo/GSYM/LookupResult.cpp
    M llvm/lib/ExecutionEngine/JITLink/ELF_loongarch.cpp
    M llvm/lib/ExecutionEngine/JITLink/MachO.cpp
    M llvm/lib/ExecutionEngine/JITLink/aarch64.cpp
    M llvm/lib/ExecutionEngine/JITLink/loongarch.cpp
    M llvm/lib/ExecutionEngine/Orc/CMakeLists.txt
    M llvm/lib/ExecutionEngine/Orc/Debugging/CMakeLists.txt
    M llvm/lib/ExecutionEngine/Orc/Debugging/DebuggerSupportPlugin.cpp
    A llvm/lib/ExecutionEngine/Orc/EHFrameRegistrationPlugin.cpp
    M llvm/lib/ExecutionEngine/Orc/ELFNixPlatform.cpp
    M llvm/lib/ExecutionEngine/Orc/IndirectionUtils.cpp
    M llvm/lib/ExecutionEngine/Orc/LLJIT.cpp
    M llvm/lib/ExecutionEngine/Orc/LinkGraphLinkingLayer.cpp
    M llvm/lib/ExecutionEngine/Orc/MachOPlatform.cpp
    M llvm/lib/ExecutionEngine/Orc/TargetProcess/JITLoaderVTune.cpp
    M llvm/lib/FileCheck/FileCheck.cpp
    M llvm/lib/FileCheck/FileCheckImpl.h
    M llvm/lib/Frontend/Offloading/OffloadWrapper.cpp
    M llvm/lib/Frontend/Offloading/Utility.cpp
    M llvm/lib/Frontend/OpenMP/OMPIRBuilder.cpp
    M llvm/lib/FuzzMutate/IRMutator.cpp
    M llvm/lib/FuzzMutate/RandomIRBuilder.cpp
    M llvm/lib/IR/Assumptions.cpp
    M llvm/lib/IR/Attributes.cpp
    M llvm/lib/IR/AutoUpgrade.cpp
    M llvm/lib/IR/BasicBlock.cpp
    M llvm/lib/IR/Constants.cpp
    M llvm/lib/IR/ConstantsContext.h
    M llvm/lib/IR/Core.cpp
    M llvm/lib/IR/DIBuilder.cpp
    M llvm/lib/IR/DataLayout.cpp
    M llvm/lib/IR/DebugInfo.cpp
    M llvm/lib/IR/DebugProgramInstruction.cpp
    M llvm/lib/IR/EHPersonalities.cpp
    M llvm/lib/IR/Function.cpp
    M llvm/lib/IR/InlineAsm.cpp
    M llvm/lib/IR/Instruction.cpp
    M llvm/lib/IR/Instructions.cpp
    M llvm/lib/IR/Intrinsics.cpp
    M llvm/lib/IR/PrintPasses.cpp
    M llvm/lib/IR/ProfileSummary.cpp
    M llvm/lib/IR/Type.cpp
    M llvm/lib/IR/Value.cpp
    M llvm/lib/IR/Verifier.cpp
    M llvm/lib/Linker/IRMover.cpp
    M llvm/lib/MC/ELFObjectWriter.cpp
    M llvm/lib/MC/MCAssembler.cpp
    M llvm/lib/MC/MCContext.cpp
    M llvm/lib/MC/MCELFStreamer.cpp
    M llvm/lib/MC/MCParser/COFFMasmParser.cpp
    M llvm/lib/MC/MCParser/MasmParser.cpp
    M llvm/lib/MC/TargetRegistry.cpp
    M llvm/lib/MC/WasmObjectWriter.cpp
    M llvm/lib/MC/WinCOFFObjectWriter.cpp
    M llvm/lib/MCA/InstrBuilder.cpp
    M llvm/lib/ObjCopy/ELF/ELFObjcopy.cpp
    M llvm/lib/ObjCopy/ELF/ELFObject.cpp
    M llvm/lib/ObjCopy/ELF/ELFObject.h
    M llvm/lib/Object/GOFFObjectFile.cpp
    M llvm/lib/Object/WasmObjectFile.cpp
    M llvm/lib/ObjectYAML/ELFEmitter.cpp
    M llvm/lib/ObjectYAML/ELFYAML.cpp
    M llvm/lib/ObjectYAML/MachOYAML.cpp
    M llvm/lib/ObjectYAML/WasmEmitter.cpp
    M llvm/lib/ObjectYAML/WasmYAML.cpp
    M llvm/lib/Option/OptTable.cpp
    M llvm/lib/Passes/DroppedVariableStatsIR.cpp
    M llvm/lib/Passes/PassBuilder.cpp
    M llvm/lib/Passes/PassBuilderPipelines.cpp
    M llvm/lib/Passes/PassRegistry.def
    M llvm/lib/ProfileData/Coverage/CoverageMapping.cpp
    M llvm/lib/SandboxIR/Context.cpp
    M llvm/lib/SandboxIR/Instruction.cpp
    M llvm/lib/SandboxIR/Region.cpp
    M llvm/lib/SandboxIR/Tracker.cpp
    M llvm/lib/SandboxIR/Type.cpp
    A llvm/lib/Support/AArch64BuildAttributes.cpp
    M llvm/lib/Support/APInt.cpp
    A llvm/lib/Support/ARMBuildAttributes.cpp
    R llvm/lib/Support/ARMBuildAttrs.cpp
    M llvm/lib/Support/CMakeLists.txt
    M llvm/lib/Support/ErrorHandling.cpp
    M llvm/lib/Support/MemAlloc.cpp
    M llvm/lib/Support/Unix/DynamicLibrary.inc
    M llvm/lib/Support/Unix/Path.inc
    M llvm/lib/Support/Unix/Process.inc
    M llvm/lib/Support/Unix/Program.inc
    M llvm/lib/Support/Unix/Signals.inc
    M llvm/lib/Support/Unix/Threading.inc
    M llvm/lib/Support/Unix/Unix.h
    M llvm/lib/Support/VirtualFileSystem.cpp
    M llvm/lib/Support/YAMLTraits.cpp
    M llvm/lib/TableGen/Main.cpp
    M llvm/lib/TableGen/Record.cpp
    M llvm/lib/TableGen/TGParser.cpp
    M llvm/lib/Target/AArch64/AArch64.td
    M llvm/lib/Target/AArch64/AArch64Arm64ECCallLowering.cpp
    M llvm/lib/Target/AArch64/AArch64AsmPrinter.cpp
    M llvm/lib/Target/AArch64/AArch64CallingConvention.cpp
    M llvm/lib/Target/AArch64/AArch64CollectLOH.cpp
    M llvm/lib/Target/AArch64/AArch64FMV.td
    M llvm/lib/Target/AArch64/AArch64Features.td
    M llvm/lib/Target/AArch64/AArch64FrameLowering.cpp
    M llvm/lib/Target/AArch64/AArch64FrameLowering.h
    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/AArch64InstrAtomics.td
    M llvm/lib/Target/AArch64/AArch64InstrFormats.td
    M llvm/lib/Target/AArch64/AArch64InstrInfo.cpp
    M llvm/lib/Target/AArch64/AArch64InstrInfo.h
    M llvm/lib/Target/AArch64/AArch64InstrInfo.td
    M llvm/lib/Target/AArch64/AArch64Processors.td
    M llvm/lib/Target/AArch64/AArch64SMEInstrInfo.td
    M llvm/lib/Target/AArch64/AArch64SVEInstrInfo.td
    M llvm/lib/Target/AArch64/AArch64Subtarget.cpp
    M llvm/lib/Target/AArch64/AArch64Subtarget.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/MCTargetDesc/AArch64AsmBackend.cpp
    M llvm/lib/Target/AArch64/MCTargetDesc/AArch64ELFStreamer.cpp
    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/AMDGPU/AMDGPU.h
    M llvm/lib/Target/AMDGPU/AMDGPU.td
    M llvm/lib/Target/AMDGPU/AMDGPUAliasAnalysis.cpp
    M llvm/lib/Target/AMDGPU/AMDGPUAsanInstrumentation.cpp
    M llvm/lib/Target/AMDGPU/AMDGPUAsmPrinter.cpp
    M llvm/lib/Target/AMDGPU/AMDGPUAtomicOptimizer.cpp
    M llvm/lib/Target/AMDGPU/AMDGPUGlobalISelUtils.cpp
    M llvm/lib/Target/AMDGPU/AMDGPUGlobalISelUtils.h
    M llvm/lib/Target/AMDGPU/AMDGPUISelDAGToDAG.cpp
    M llvm/lib/Target/AMDGPU/AMDGPUISelDAGToDAG.h
    M llvm/lib/Target/AMDGPU/AMDGPUInstructionSelector.cpp
    M llvm/lib/Target/AMDGPU/AMDGPUInstructionSelector.h
    M llvm/lib/Target/AMDGPU/AMDGPULegalizerInfo.cpp
    M llvm/lib/Target/AMDGPU/AMDGPULowerBufferFatPointers.cpp
    M llvm/lib/Target/AMDGPU/AMDGPUMCResourceInfo.cpp
    M llvm/lib/Target/AMDGPU/AMDGPUMCResourceInfo.h
    M llvm/lib/Target/AMDGPU/AMDGPUMemoryUtils.cpp
    M llvm/lib/Target/AMDGPU/AMDGPUPassRegistry.def
    M llvm/lib/Target/AMDGPU/AMDGPUPrintfRuntimeBinding.cpp
    M llvm/lib/Target/AMDGPU/AMDGPUPromoteAlloca.cpp
    M llvm/lib/Target/AMDGPU/AMDGPURegBankLegalize.cpp
    A llvm/lib/Target/AMDGPU/AMDGPURegBankLegalizeHelper.cpp
    A llvm/lib/Target/AMDGPU/AMDGPURegBankLegalizeHelper.h
    A llvm/lib/Target/AMDGPU/AMDGPURegBankLegalizeRules.cpp
    A llvm/lib/Target/AMDGPU/AMDGPURegBankLegalizeRules.h
    M llvm/lib/Target/AMDGPU/AMDGPURegBankSelect.cpp
    M llvm/lib/Target/AMDGPU/AMDGPURegisterBankInfo.cpp
    M llvm/lib/Target/AMDGPU/AMDGPUSubtarget.cpp
    M llvm/lib/Target/AMDGPU/AMDGPUSubtarget.h
    M llvm/lib/Target/AMDGPU/AMDGPUTargetMachine.cpp
    M llvm/lib/Target/AMDGPU/AMDGPUTargetMachine.h
    M llvm/lib/Target/AMDGPU/AMDGPUTargetTransformInfo.cpp
    M llvm/lib/Target/AMDGPU/AMDGPUTargetTransformInfo.h
    M llvm/lib/Target/AMDGPU/CMakeLists.txt
    M llvm/lib/Target/AMDGPU/DSInstructions.td
    M llvm/lib/Target/AMDGPU/GCNHazardRecognizer.cpp
    M llvm/lib/Target/AMDGPU/GCNRegPressure.cpp
    M llvm/lib/Target/AMDGPU/GCNRegPressure.h
    M llvm/lib/Target/AMDGPU/GCNSchedStrategy.cpp
    M llvm/lib/Target/AMDGPU/GCNSubtarget.cpp
    M llvm/lib/Target/AMDGPU/GCNSubtarget.h
    M llvm/lib/Target/AMDGPU/MCTargetDesc/AMDGPUAsmBackend.cpp
    M llvm/lib/Target/AMDGPU/R600ISelLowering.cpp
    M llvm/lib/Target/AMDGPU/SIAnnotateControlFlow.cpp
    M llvm/lib/Target/AMDGPU/SIFixVGPRCopies.cpp
    A llvm/lib/Target/AMDGPU/SIFixVGPRCopies.h
    M llvm/lib/Target/AMDGPU/SIFrameLowering.cpp
    M llvm/lib/Target/AMDGPU/SIISelLowering.cpp
    M llvm/lib/Target/AMDGPU/SIISelLowering.h
    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/SILowerWWMCopies.cpp
    A llvm/lib/Target/AMDGPU/SILowerWWMCopies.h
    M llvm/lib/Target/AMDGPU/SIMachineFunctionInfo.cpp
    M llvm/lib/Target/AMDGPU/SIMachineScheduler.cpp
    M llvm/lib/Target/AMDGPU/SIMachineScheduler.h
    M llvm/lib/Target/AMDGPU/SIOptimizeExecMasking.cpp
    A llvm/lib/Target/AMDGPU/SIOptimizeExecMasking.h
    M llvm/lib/Target/AMDGPU/SIPeepholeSDWA.cpp
    M llvm/lib/Target/AMDGPU/SIRegisterInfo.cpp
    M llvm/lib/Target/AMDGPU/SIWholeQuadMode.cpp
    M llvm/lib/Target/AMDGPU/Utils/AMDGPUBaseInfo.cpp
    M llvm/lib/Target/AMDGPU/Utils/AMDGPUPALMetadata.cpp
    M llvm/lib/Target/AMDGPU/VOP1Instructions.td
    M llvm/lib/Target/AMDGPU/VOP2Instructions.td
    M llvm/lib/Target/AMDGPU/VOP3Instructions.td
    M llvm/lib/Target/AMDGPU/VOPCInstructions.td
    M llvm/lib/Target/AMDGPU/VOPInstructions.td
    M llvm/lib/Target/ARC/ARCISelLowering.cpp
    M llvm/lib/Target/ARC/ARCISelLowering.h
    M llvm/lib/Target/ARC/ARCInstrInfo.cpp
    M llvm/lib/Target/ARC/ARCInstrInfo.h
    M llvm/lib/Target/ARM/A15SDOptimizer.cpp
    M llvm/lib/Target/ARM/ARMBaseInstrInfo.cpp
    M llvm/lib/Target/ARM/ARMBaseInstrInfo.h
    M llvm/lib/Target/ARM/ARMBaseRegisterInfo.cpp
    M llvm/lib/Target/ARM/ARMBaseRegisterInfo.h
    M llvm/lib/Target/ARM/ARMCallingConv.cpp
    M llvm/lib/Target/ARM/ARMExpandPseudoInsts.cpp
    M llvm/lib/Target/ARM/ARMFrameLowering.cpp
    M llvm/lib/Target/ARM/ARMISelLowering.cpp
    M llvm/lib/Target/ARM/ARMISelLowering.h
    M llvm/lib/Target/ARM/ARMParallelDSP.cpp
    M llvm/lib/Target/ARM/ARMSubtarget.cpp
    M llvm/lib/Target/ARM/ARMSubtarget.h
    M llvm/lib/Target/ARM/ARMTargetTransformInfo.cpp
    M llvm/lib/Target/ARM/MCTargetDesc/ARMAsmBackend.cpp
    M llvm/lib/Target/ARM/MCTargetDesc/ARMAsmBackend.h
    M llvm/lib/Target/ARM/Thumb1InstrInfo.cpp
    M llvm/lib/Target/ARM/Thumb1InstrInfo.h
    M llvm/lib/Target/ARM/Thumb2InstrInfo.cpp
    M llvm/lib/Target/ARM/Thumb2InstrInfo.h
    M llvm/lib/Target/AVR/AVRISelLowering.cpp
    M llvm/lib/Target/AVR/AVRISelLowering.h
    M llvm/lib/Target/AVR/AVRInstrInfo.cpp
    M llvm/lib/Target/AVR/AVRInstrInfo.h
    M llvm/lib/Target/AVR/MCTargetDesc/AVRAsmBackend.cpp
    M llvm/lib/Target/AVR/MCTargetDesc/AVRAsmBackend.h
    M llvm/lib/Target/BPF/BPFASpaceCastSimplifyPass.cpp
    M llvm/lib/Target/BPF/BPFAbstractMemberAccess.cpp
    M llvm/lib/Target/BPF/BPFAdjustOpt.cpp
    M llvm/lib/Target/BPF/BPFCheckAndAdjustIR.cpp
    M llvm/lib/Target/BPF/BPFInstrInfo.cpp
    M llvm/lib/Target/BPF/BPFInstrInfo.h
    M llvm/lib/Target/BPF/BPFMIPeephole.cpp
    M llvm/lib/Target/BPF/BPFPreserveStaticOffset.cpp
    M llvm/lib/Target/CSKY/CSKYISelLowering.cpp
    M llvm/lib/Target/CSKY/CSKYISelLowering.h
    M llvm/lib/Target/CSKY/CSKYInstrInfo.cpp
    M llvm/lib/Target/CSKY/CSKYInstrInfo.h
    M llvm/lib/Target/CSKY/MCTargetDesc/CSKYAsmBackend.cpp
    M llvm/lib/Target/CSKY/MCTargetDesc/CSKYAsmBackend.h
    M llvm/lib/Target/DirectX/DXIL.td
    M llvm/lib/Target/DirectX/DXILConstants.h
    M llvm/lib/Target/DirectX/DXILOpBuilder.cpp
    M llvm/lib/Target/DirectX/DXILPrepare.cpp
    M llvm/lib/Target/DirectX/DXILResourceAccess.cpp
    M llvm/lib/Target/DirectX/DXILShaderFlags.cpp
    M llvm/lib/Target/DirectX/DXILWriter/DXILBitcodeWriter.cpp
    M llvm/lib/Target/DirectX/DirectXTargetTransformInfo.cpp
    M llvm/lib/Target/Hexagon/HexagonISelDAGToDAGHVX.cpp
    M llvm/lib/Target/Hexagon/HexagonISelLowering.cpp
    M llvm/lib/Target/Hexagon/HexagonISelLowering.h
    M llvm/lib/Target/Hexagon/HexagonInstrInfo.cpp
    M llvm/lib/Target/Hexagon/HexagonInstrInfo.h
    M llvm/lib/Target/Hexagon/HexagonLoopIdiomRecognition.cpp
    M llvm/lib/Target/Hexagon/HexagonOptimizeSZextends.cpp
    M llvm/lib/Target/Hexagon/HexagonVectorCombine.cpp
    M llvm/lib/Target/Hexagon/HexagonVectorLoopCarriedReuse.cpp
    M llvm/lib/Target/Hexagon/MCTargetDesc/HexagonAsmBackend.cpp
    M llvm/lib/Target/Lanai/LanaiISelLowering.cpp
    M llvm/lib/Target/Lanai/LanaiISelLowering.h
    M llvm/lib/Target/Lanai/LanaiInstrInfo.cpp
    M llvm/lib/Target/Lanai/LanaiInstrInfo.h
    M llvm/lib/Target/LoongArch/AsmParser/LoongArchAsmParser.cpp
    M llvm/lib/Target/LoongArch/LoongArch.td
    M llvm/lib/Target/LoongArch/LoongArchExpandAtomicPseudoInsts.cpp
    M llvm/lib/Target/LoongArch/LoongArchExpandPseudoInsts.cpp
    M llvm/lib/Target/LoongArch/LoongArchISelDAGToDAG.cpp
    M llvm/lib/Target/LoongArch/LoongArchISelDAGToDAG.h
    M llvm/lib/Target/LoongArch/LoongArchISelLowering.cpp
    M llvm/lib/Target/LoongArch/LoongArchISelLowering.h
    M llvm/lib/Target/LoongArch/LoongArchInstrInfo.cpp
    M llvm/lib/Target/LoongArch/LoongArchInstrInfo.h
    M llvm/lib/Target/LoongArch/LoongArchInstrInfo.td
    M llvm/lib/Target/LoongArch/LoongArchLASXInstrInfo.td
    M llvm/lib/Target/LoongArch/LoongArchLSXInstrInfo.td
    M llvm/lib/Target/LoongArch/LoongArchMCInstLower.cpp
    M llvm/lib/Target/LoongArch/LoongArchMergeBaseOffset.cpp
    M llvm/lib/Target/LoongArch/LoongArchTargetMachine.cpp
    M llvm/lib/Target/LoongArch/LoongArchTargetTransformInfo.cpp
    M llvm/lib/Target/LoongArch/LoongArchTargetTransformInfo.h

  Log Message:
  -----------
  Merge branch 'main' into users/kparzysz/spr/m03-meta-simple


Compare: https://github.com/llvm/llvm-project/compare/205a76074876...fa0f103678b8

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