[all-commits] [llvm/llvm-project] 997f98: [clang][deps] Update header guard (#170769)

Peter Collingbourne via All-commits all-commits at lists.llvm.org
Fri Dec 12 17:45:59 PST 2025


  Branch: refs/heads/users/pcc/spr/main.implement-a-simple-e2e-test-for-pfp
  Home:   https://github.com/llvm/llvm-project
  Commit: 997f981d713fff4258198c75b2665edb420c3ba0
      https://github.com/llvm/llvm-project/commit/997f981d713fff4258198c75b2665edb420c3ba0
  Author: Jan Svoboda <jan_svoboda at apple.com>
  Date:   2025-12-04 (Thu, 04 Dec 2025)

  Changed paths:
    M clang/include/clang/DependencyScanning/DependencyScannerImpl.h

  Log Message:
  -----------
  [clang][deps] Update header guard (#170769)


  Commit: 772ff0436d8a00c71e8ab026800fe77eeaba6c49
      https://github.com/llvm/llvm-project/commit/772ff0436d8a00c71e8ab026800fe77eeaba6c49
  Author: Maksim Levental <maksim.levental at gmail.com>
  Date:   2025-12-04 (Thu, 04 Dec 2025)

  Changed paths:
    M mlir/lib/CAPI/ExecutionEngine/ExecutionEngine.cpp
    M mlir/test/python/execution_engine.py

  Log Message:
  -----------
  [mlir][ExecutionEngine] propagate errors in mlirExecutionEngineCreate (#170592)


  Commit: e067be3389726a5185dd0f1c37d5ba843101f4e8
      https://github.com/llvm/llvm-project/commit/e067be3389726a5185dd0f1c37d5ba843101f4e8
  Author: Andy Kaylor <akaylor at nvidia.com>
  Date:   2025-12-04 (Thu, 04 Dec 2025)

  Changed paths:
    M clang/include/clang/CIR/MissingFeatures.h
    M clang/lib/CIR/CodeGen/CIRGenClass.cpp
    M clang/lib/CIR/CodeGen/CIRGenCleanup.cpp
    M clang/lib/CIR/CodeGen/CIRGenCleanup.h
    M clang/lib/CIR/CodeGen/CIRGenDecl.cpp
    M clang/lib/CIR/CodeGen/CIRGenDeclOpenACC.cpp
    M clang/lib/CIR/CodeGen/CIRGenExprCXX.cpp
    M clang/lib/CIR/CodeGen/EHScopeStack.h

  Log Message:
  -----------
  [CIR][NFC] Add flag support for eh cleanups (#170753)

This adds the `flags` variable to the EHScopeStack::Cleanup class and
routes it through the existing handlers. None of the currently
implemented handlers use these flags, but the flag will be needed for
array and NRVO variable cleanup handling.


  Commit: bdea6a2dc2f549bb0a2056a5964d9b2853aca1a0
      https://github.com/llvm/llvm-project/commit/bdea6a2dc2f549bb0a2056a5964d9b2853aca1a0
  Author: Stanislav Mekhanoshin <Stanislav.Mekhanoshin at amd.com>
  Date:   2025-12-04 (Thu, 04 Dec 2025)

  Changed paths:
    M llvm/lib/Target/AMDGPU/SIInstrInfo.cpp
    A llvm/test/MachineVerifier/AMDGPU/hazard-gfx1250-flat-src-hi.mir

  Log Message:
  -----------
  [AMDGPU] Add verifier for flat_scr_base_hi read hazard (#170550)


  Commit: 421399d9d36538061a50040ed59c46464870827b
      https://github.com/llvm/llvm-project/commit/421399d9d36538061a50040ed59c46464870827b
  Author: Kees Cook <kees at kernel.org>
  Date:   2025-12-04 (Thu, 04 Dec 2025)

  Changed paths:
    M clang/lib/CodeGen/CodeGenModule.cpp
    M clang/test/CodeGen/cfi-salt.c
    M clang/test/CodeGen/kcfi.c

  Log Message:
  -----------
  [CodeGen][KCFI] Fix asm comment style (#170739)

We can't use "#" in the middle of the asm output, so switch to a /* */
pair instead.


  Commit: 9349cb1523ddb88ca9d82bad497bb98082eb6c8d
      https://github.com/llvm/llvm-project/commit/9349cb1523ddb88ca9d82bad497bb98082eb6c8d
  Author: Paul Kirth <paulkirth at google.com>
  Date:   2025-12-04 (Thu, 04 Dec 2025)

  Changed paths:
    M clang-tools-extra/clang-doc/BitcodeReader.cpp
    M clang-tools-extra/clang-doc/BitcodeReader.h
    M clang-tools-extra/clang-doc/BitcodeWriter.cpp
    M clang-tools-extra/clang-doc/BitcodeWriter.h
    M clang-tools-extra/clang-doc/Generators.cpp
    M clang-tools-extra/clang-doc/HTMLMustacheGenerator.cpp
    M clang-tools-extra/clang-doc/Mapper.cpp
    M clang-tools-extra/clang-doc/Representation.cpp
    M clang-tools-extra/clang-doc/Representation.h
    M clang-tools-extra/clang-doc/Serialize.cpp
    M clang-tools-extra/clang-doc/Serialize.h
    M clang-tools-extra/clang-doc/tool/ClangDocMain.cpp
    M clang-tools-extra/unittests/clang-doc/BitcodeTest.cpp
    M clang-tools-extra/unittests/clang-doc/ClangDocTest.cpp
    M clang-tools-extra/unittests/clang-doc/ClangDocTest.h
    M clang-tools-extra/unittests/clang-doc/HTMLGeneratorTest.cpp
    M clang-tools-extra/unittests/clang-doc/HTMLMustacheGeneratorTest.cpp
    M clang-tools-extra/unittests/clang-doc/JSONGeneratorTest.cpp
    M clang-tools-extra/unittests/clang-doc/MDGeneratorTest.cpp
    M clang-tools-extra/unittests/clang-doc/MergeTest.cpp
    M clang-tools-extra/unittests/clang-doc/SerializeTest.cpp
    M clang-tools-extra/unittests/clang-doc/YAMLGeneratorTest.cpp

  Log Message:
  -----------
  [clang-doc] Use DiagnosticsEngine to handle diagnostic output (#170219)

[clang-doc] Use DiagnosticsEngine to handle diagnostic output

Right now we use a combination of outs() and errs() to handle tool
output. Instead, we can use existing diagnostic support in clang and
LLVM to ensure our tool has a consistent behavior with other tools.


  Commit: a992999a001ce1a5e5fff016896a873cdad8c698
      https://github.com/llvm/llvm-project/commit/a992999a001ce1a5e5fff016896a873cdad8c698
  Author: Vy Nguyen <vyng at google.com>
  Date:   2025-12-04 (Thu, 04 Dec 2025)

  Changed paths:
    M lld/MachO/ConcatOutputSection.cpp
    M lld/MachO/Config.h
    M lld/MachO/Driver.cpp
    M lld/MachO/Options.td
    A lld/test/MachO/set-slop-scale.s

  Log Message:
  -----------
  [lld-macho]Define a flag for adjusting slop scale (#164295)

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


  Commit: c8fc766aaae3210f0b19704cbdfad23ea5bf2826
      https://github.com/llvm/llvm-project/commit/c8fc766aaae3210f0b19704cbdfad23ea5bf2826
  Author: Paul Kirth <paulkirth at google.com>
  Date:   2025-12-04 (Thu, 04 Dec 2025)

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

  Log Message:
  -----------
  [clang-doc] Use static functions over the anonymous namespace (#170221)


  Commit: 02ca50e56063e3730731c75e40e1b6048a6de9f1
      https://github.com/llvm/llvm-project/commit/02ca50e56063e3730731c75e40e1b6048a6de9f1
  Author: Jin Huang <jinhuang1102 at gmail.com>
  Date:   2025-12-04 (Thu, 04 Dec 2025)

  Changed paths:
    M llvm/lib/CodeGen/ExpandMemCmp.cpp
    M llvm/test/Transforms/ExpandMemCmp/AArch64/memcmp.ll
    M llvm/test/Transforms/ExpandMemCmp/X86/memcmp-x32.ll
    M llvm/test/Transforms/ExpandMemCmp/X86/memcmp.ll
    M llvm/utils/profcheck-xfail.txt

  Log Message:
  -----------
  [profcheck] Fix missing profile metadata in ExpandMemCmp (#169979)

This patch fixes a profile metadata missing in the `ExpandMemCmp` pass
when it expanding `memcmp` calls. This would cause branches between
different blocks to lose their profile data, potentially leading to
suboptimal code generation.

The patch updates the `ExpandMemCmp` pass to set branch weights to a
default `unknown`(50/50 weights) value when a profile is available. This
prevents the expansion from making a previously profiled branch
unprofiled.

The patch also includes updates to the tests to reflect the new branch
weights.

Co-authored-by: Jin Huang <jingold at google.com>


  Commit: 834b8b7221b3be7d057a0dd1413158948bba41cc
      https://github.com/llvm/llvm-project/commit/834b8b7221b3be7d057a0dd1413158948bba41cc
  Author: Razvan Lupusoru <razvan.lupusoru at gmail.com>
  Date:   2025-12-04 (Thu, 04 Dec 2025)

  Changed paths:
    M mlir/include/mlir/Dialect/OpenACC/OpenACC.h
    M mlir/include/mlir/Dialect/OpenACC/OpenACCOps.td
    M mlir/lib/Dialect/OpenACC/Transforms/ACCImplicitDeclare.cpp
    M mlir/test/Dialect/OpenACC/ops.mlir

  Log Message:
  -----------
  [acc] Add acc.specialized_routine attribute (#170766)

Introduce a new attribute `acc.specialized_routine` to mark functions
that have been specialized from a host function marked with
`acc.routine_info`.

The new attribute captures:
- A SymbolRefAttr referencing the original `acc.routine` operation
- The parallelism level via the new `ParLevel` enum
- The original function name (since specialized functions may be
renamed)

Example - before specialization:
```
acc.routine @routine_gang func(@foo) gang
acc.routine @routine_vector func(@foo) vector

func.func @foo() attributes {
  acc.routine_info = #acc.routine_info<[@routine_gang, @routine_vector]>
} { ... }
```

After specialization, there are three functions:
the original function and two specialized versions (one per parallelism
level):
```
acc.routine @routine_gang func(@foo) gang
acc.routine @routine_vector func(@foo) vector

// Original function (unchanged)
func.func @foo() attributes {
  acc.routine_info = #acc.routine_info<[@routine_gang, @routine_vector]>
} { ... }

// Specialized for gang parallelism
func.func @foo_gang() attributes {
  acc.specialized_routine = #acc.specialized_routine<@routine_gang,
<gang_dim1>, "foo">
} { ... }

// Specialized for vector parallelism
func.func @foo_vector() attributes {
  acc.specialized_routine = #acc.specialized_routine<@routine_vector,
<vector>, "foo">
} { ... }
```


  Commit: 5defa851bd739d3796816bb412f5855d477bb9e7
      https://github.com/llvm/llvm-project/commit/5defa851bd739d3796816bb412f5855d477bb9e7
  Author: Razvan Lupusoru <razvan.lupusoru at gmail.com>
  Date:   2025-12-04 (Thu, 04 Dec 2025)

  Changed paths:
    M mlir/lib/Dialect/OpenACC/IR/OpenACC.cpp
    M mlir/test/Dialect/OpenACC/invalid.mlir

  Log Message:
  -----------
  [mlir][acc] Improve verifier messages for device_type duplicates (#170773)

This improves the acc dialect IR verifier messages when duplicate
device_types are found by also noting which device_type is the one
causing the error.


  Commit: ed7e66a41d084ca442e6425a29dddfab1e647751
      https://github.com/llvm/llvm-project/commit/ed7e66a41d084ca442e6425a29dddfab1e647751
  Author: Sterling-Augustine <saugustine at google.com>
  Date:   2025-12-04 (Thu, 04 Dec 2025)

  Changed paths:
    M libc/cmake/modules/LLVMLibCCompileOptionRules.cmake
    M libc/config/config.json
    M libc/config/linux/arm/config.json
    M libc/config/linux/config.json
    M libc/config/linux/riscv/config.json
    M libc/docs/configure.rst
    M libc/src/string/memory_utils/aarch64/inline_strlen.h
    M libc/src/string/memory_utils/generic/inline_strlen.h
    M libc/src/string/memory_utils/x86_64/inline_strlen.h
    A libc/src/string/string_length.h
    M libc/src/string/string_utils.h
    M utils/bazel/llvm-project-overlay/libc/BUILD.bazel
    M utils/bazel/llvm-project-overlay/libc/libc_configure_options.bzl

  Log Message:
  -----------
  Reland Refactor WIDE_READ to allow finer control over high-performance function selection (#165613) (#170738)

[Previous commit had an incorrect default case when
FIND_FIRST_CHARACTER_WIDE_READ_IMPL was not specified in config.json.
This PR is identical to that one with one line fixed.]

As we implement more high-performance string-related functions, we have
found a need for better control over their selection than the big-hammer
LIBC_CONF_STRING_LENGTH_WIDE_READ. For example, I have a memchr
implementation coming, and unless I implement it in every variant, a
simple binary value doesn't work.

This PR makes gives finer-grained control over high-performance
functions than the generic LIBC_CONF_UNSAFE_WIDE_READ option. For any
function they like, the user can now select one of four implementations
at build time:

1. element, which reads byte-by-byte (or wchar by wchar)
2. wide, which reads by unsigned long
3. generic, which uses standard clang vector implemenations, if
available
4. arch, which uses an architecture-specific implemenation

(Reading the code carefully, you may note that a user can actually
specify any namespace they want, so we aren't technically limited to
those 4.)

We may also want to switch from command-line #defines as it is currently
done, to something more like
llvm-project/llvm/include/llvm/Config/llvm-config.h.cmake, and
complexity out of the command-line. But that's a future problem.


  Commit: 89ae817ee06428da9b6d4e4b79f12ba86d76f9e8
      https://github.com/llvm/llvm-project/commit/89ae817ee06428da9b6d4e4b79f12ba86d76f9e8
  Author: Sterling-Augustine <saugustine at google.com>
  Date:   2025-12-04 (Thu, 04 Dec 2025)

  Changed paths:
    M libc/config/linux/arm/config.json
    M libc/config/linux/riscv/config.json

  Log Message:
  -----------
  Add commas for riscv and arm configs. (#170776)

Fix for breakage introduced by pr170738


  Commit: 8f9ef4b52d31044edcff1ca46151052ccc26cee8
      https://github.com/llvm/llvm-project/commit/8f9ef4b52d31044edcff1ca46151052ccc26cee8
  Author: Craig Topper <craig.topper at sifive.com>
  Date:   2025-12-04 (Thu, 04 Dec 2025)

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

  Log Message:
  -----------
  [RISCV] Add OPERAND_AVL to RISCVInstrInfo::verifyInstruction. (#170770)


  Commit: d3b9fd0f86d2936b7ed8446f6d54817772753f52
      https://github.com/llvm/llvm-project/commit/d3b9fd0f86d2936b7ed8446f6d54817772753f52
  Author: Demetrius Kanios <demetrius at kanios.net>
  Date:   2025-12-04 (Thu, 04 Dec 2025)

  Changed paths:
    M llvm/lib/Target/WebAssembly/WebAssemblyISelLowering.cpp
    M llvm/lib/Target/WebAssembly/WebAssemblyISelLowering.h
    M llvm/lib/Target/WebAssembly/WebAssemblyInstrRef.td
    A llvm/test/CodeGen/WebAssembly/addrspacecast-funcref.ll

  Log Message:
  -----------
  [WebAssembly] Implement addrspacecast to funcref (#166820)

Adds lowering of `addrspacecast [0 -> 20]` to allow easy conversion of
function pointers to Wasm `funcref`

When given a constant function pointer, it lowers to a direct
`ref.func`. Otherwise it lowers to a `table.get` from
`__indirect_function_table` using the provided pointer as the index.


  Commit: be79a0d90ff700b717e72d7c200f58c5918e4301
      https://github.com/llvm/llvm-project/commit/be79a0d90ff700b717e72d7c200f58c5918e4301
  Author: theRonShark <ron.lieberman at amd.com>
  Date:   2025-12-04 (Thu, 04 Dec 2025)

  Changed paths:
    M flang/lib/Lower/OpenMP/ClauseProcessor.cpp
    M flang/lib/Lower/OpenMP/ClauseProcessor.h
    M flang/lib/Lower/OpenMP/OpenMP.cpp
    M flang/test/Integration/OpenMP/map-types-and-sizes.f90
    M flang/test/Lower/OpenMP/target.f90
    M mlir/include/mlir/Dialect/OpenMP/OpenMPEnums.td
    M mlir/lib/Dialect/OpenMP/IR/OpenMPDialect.cpp
    M mlir/lib/Target/LLVMIR/Dialect/OpenMP/OpenMPToLLVMIRTranslation.cpp
    M mlir/test/Target/LLVMIR/omptarget-llvm.mlir
    M mlir/test/Target/LLVMIR/openmp-todo.mlir
    R offload/test/offloading/fortran/target-is-device-ptr.f90

  Log Message:
  -----------
  Revert "[Flang][OpenMP] Add lowering support for is_device_ptr clause" (#170778)

Reverts llvm/llvm-project#169331


  Commit: da06d9eeafe29af089fb16ad2af5731205f7e56c
      https://github.com/llvm/llvm-project/commit/da06d9eeafe29af089fb16ad2af5731205f7e56c
  Author: Philip Reames <preames at rivosinc.com>
  Date:   2025-12-04 (Thu, 04 Dec 2025)

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

  Log Message:
  -----------
  [CodeGen] Use insert idiom in CFIInstrInserter instead of find [nfc] (#170760)


  Commit: 8126baa6d710e064671e2321067eb89e914bcbe3
      https://github.com/llvm/llvm-project/commit/8126baa6d710e064671e2321067eb89e914bcbe3
  Author: Paul Kirth <paulkirth at google.com>
  Date:   2025-12-04 (Thu, 04 Dec 2025)

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

  Log Message:
  -----------
  [clang-doc] Remove uses of consumeError (#168759)

In BitcodeReader, we were using consumeError(), which drops the error
and hides it from normal usage. To avoid that, we can just slightly
tweak the API to return an Expected<T>, and propagate the error
accordingly.


  Commit: a2032f574d6f7e01d3035a66cb64a70c66ea25be
      https://github.com/llvm/llvm-project/commit/a2032f574d6f7e01d3035a66cb64a70c66ea25be
  Author: Paul Kirth <paulkirth at google.com>
  Date:   2025-12-04 (Thu, 04 Dec 2025)

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

  Log Message:
  -----------
  [clang-doc] Reorder struct fields to have less padding (#170222)


  Commit: b75e5649cf46fb5edb9e5659b1b1e2a199a6194f
      https://github.com/llvm/llvm-project/commit/b75e5649cf46fb5edb9e5659b1b1e2a199a6194f
  Author: Mark Zhuang <mark.zhuang at spacemit.com>
  Date:   2025-12-05 (Fri, 05 Dec 2025)

  Changed paths:
    M llvm/docs/RISCVUsage.rst

  Log Message:
  -----------
  [RISCV][docs] Update url for SpacemiT xsmtvdot (#170598)


  Commit: 6d60d3d7e408820f8406bda63226f187e3fd626b
      https://github.com/llvm/llvm-project/commit/6d60d3d7e408820f8406bda63226f187e3fd626b
  Author: Derek Schuff <dschuff at chromium.org>
  Date:   2025-12-04 (Thu, 04 Dec 2025)

  Changed paths:
    M llvm/lib/Target/WebAssembly/WebAssemblyISelLowering.cpp
    M llvm/lib/Target/WebAssembly/WebAssemblyISelLowering.h
    M llvm/lib/Target/WebAssembly/WebAssemblyInstrRef.td
    R llvm/test/CodeGen/WebAssembly/addrspacecast-funcref.ll

  Log Message:
  -----------
  Revert "[WebAssembly] Implement addrspacecast to funcref" (#170785)

Reverts llvm/llvm-project#166820
There was a failure in the ENABLE_EXPENSIVE_CHECKS configuration.


  Commit: 5c289dac3031e4b4fbaf8604c4520965d8656424
      https://github.com/llvm/llvm-project/commit/5c289dac3031e4b4fbaf8604c4520965d8656424
  Author: Victor Mustya <victor.mustya at intel.com>
  Date:   2025-12-04 (Thu, 04 Dec 2025)

  Changed paths:
    M clang/lib/Headers/opencl-c.h

  Log Message:
  -----------
  [Clang][OpenCL] Add support for the cl_intel_subgroup_buffer_prefetch (#170532)

The commit adds support for the cl_intel_subgroup_buffer_prefetch OpenCL
extension. The extension introduces a new built-in functions that allow
prefetching data from a global memory to caches as a subgroup-level
operation.

The extension is defined here:
https://registry.khronos.org/OpenCL/extensions/intel/cl_intel_subgroup_buffer_prefetch.html

---------

Co-authored-by: Mészáros Gergely <maetveis at gmail.com>


  Commit: f50a0792bea92387f23d314ee50d2be75437d02a
      https://github.com/llvm/llvm-project/commit/f50a0792bea92387f23d314ee50d2be75437d02a
  Author: Tom Stellard <tstellar at redhat.com>
  Date:   2025-12-04 (Thu, 04 Dec 2025)

  Changed paths:
    M llvm/utils/release/build_llvm_release.bat

  Log Message:
  -----------
  build_llvm_release.bat: Use absolute path when building the tarball (#169951)

The rest of the script uses an absolute path for the llvm source
directory too.


  Commit: 2110db0f495932c9d4439c433eb85f6a07838220
      https://github.com/llvm/llvm-project/commit/2110db0f495932c9d4439c433eb85f6a07838220
  Author: jimingham <jingham at apple.com>
  Date:   2025-12-04 (Thu, 04 Dec 2025)

  Changed paths:
    M lldb/include/lldb/Interpreter/CommandOptionArgumentTable.h
    M lldb/include/lldb/Interpreter/OptionValueFileColonLine.h
    M lldb/include/lldb/Target/Language.h
    M lldb/include/lldb/lldb-enumerations.h
    M lldb/packages/Python/lldbsuite/test/lldbutil.py
    M lldb/source/Commands/CommandObjectBreakpoint.cpp
    M lldb/source/Commands/Options.td
    M lldb/source/Interpreter/Options.cpp
    M lldb/source/Target/Language.cpp
    M lldb/test/API/symbol_ondemand/breakpoint_source_regex/TestSourceTextRegexBreakpoint.py
    M lldb/test/Shell/Breakpoint/condition-lang.test
    M lldb/test/Shell/Commands/command-wrong-subcommand-error-msg.test
    M lldb/unittests/Interpreter/TestOptions.cpp

  Log Message:
  -----------
  Add a `breakpoint add` command to fix the option-madness that is `breakpoint set` (#156067)

Someone came up with a clever idea for a new breakpoint type, but we
couldn't figure out how to add it in an ergonomic way because
`breakpoint set` has used up all the short-option characters. And even
if they did find a way to add it, the help for `break set` is so
confusing - because of the way it is implemented - that very few people
would detect the addition.

The basic problem is that `break set` distinguishes amongst the
fundamental breakpoint types it offers by which "required option" you
provide. If you pass a `-a` you are setting an address breakpoint, if
`-n`, `-F`, etc. a symbol name based breakpoint. And so forth. That is
however pretty hard to discern from the option grouping printing from
`help break set`. `break set` also suffers from the problem that it uses
common options in different ways depending on which "required" option is
present, which makes documenting the various behaviors difficult. And as
we run out of single letters it makes extending it difficult to
impossible.

This PR fixes that situation by adding a new command for adding
breakpoints - `break add`. The new command specifies the "breakpoint
types" as subcommands of `break add` rather than distinguishing them by
their being one of the "required" options the way `break set` does. That
both makes it much clearer what the breakpoint types actually are, and
means that the option set can be dedicated to that particular breakpoint
type, and so the help for each is less cluttered, and can be documented
properly for each usage.

Instead of trying to parse the meaning of:

```
(lldb) help break set
Sets a breakpoint or set of breakpoints in the executable.

Syntax: breakpoint set <cmd-options>

Command Options Usage:
  breakpoint set [-DHd] -l <linenum> [-G <boolean>] [-C <command>] [-c <expr>] [-Y <source-language>] [-i <count>] [-o <boolean>] [-q <queue-name>] [-t <thread-id>] [-x <thread-index>] [-T <thread-name>] [-R <address>] [-N <breakpoint-name>] [-u <column>] [-f <filename>] [-m <boolean>] [-s <shlib-name>] [-K <boolean>]
  breakpoint set [-DHd] -a <address-expression> [-G <boolean>] [-C <command>] [-c <expr>] [-Y <source-language>] [-i <count>] [-o <boolean>] [-q <queue-name>] [-t <thread-id>] [-x <thread-index>] [-T <thread-name>] [-N <breakpoint-name>] [-s <shlib-name>]
  breakpoint set [-DHd] -n <function-name> [-G <boolean>] [-C <command>] [-c <expr>] [-Y <source-language>] [-i <count>] [-o <boolean>] [-q <queue-name>] [-t <thread-id>] [-x <thread-index>] [-T <thread-name>] [-R <address>] [-N <breakpoint-name>] [-f <filename>] [-L <source-language>] [-s <shlib-name>] [-K <boolean>]
  breakpoint set [-DHd] -F <fullname> [-G <boolean>] [-C <command>] [-c <expr>] [-Y <source-language>] [-i <count>] [-o <boolean>] [-q <queue-name>] [-t <thread-id>] [-x <thread-index>] [-T <thread-name>] [-R <address>] [-N <breakpoint-name>] [-f <filename>] [-L <source-language>] [-s <shlib-name>] [-K <boolean>]
  breakpoint set [-DHd] -S <selector> [-G <boolean>] [-C <command>] [-c <expr>] [-Y <source-language>] [-i <count>] [-o <boolean>] [-q <queue-name>] [-t <thread-id>] [-x <thread-index>] [-T <thread-name>] [-R <address>] [-N <breakpoint-name>] [-f <filename>] [-L <source-language>] [-s <shlib-name>] [-K <boolean>]
  breakpoint set [-DHd] -M <method> [-G <boolean>] [-C <command>] [-c <expr>] [-Y <source-language>] [-i <count>] [-o <boolean>] [-q <queue-name>] [-t <thread-id>] [-x <thread-index>] [-T <thread-name>] [-R <address>] [-N <breakpoint-name>] [-f <filename>] [-L <source-language>] [-s <shlib-name>] [-K <boolean>]
  breakpoint set [-DHd] -r <regular-expression> [-G <boolean>] [-C <command>] [-c <expr>] [-Y <source-language>] [-i <count>] [-o <boolean>] [-q <queue-name>] [-t <thread-id>] [-x <thread-index>] [-T <thread-name>] [-R <address>] [-N <breakpoint-name>] [-f <filename>] [-L <source-language>] [-s <shlib-name>] [-K <boolean>]
  breakpoint set [-DHd] -b <function-name> [-G <boolean>] [-C <command>] [-c <expr>] [-Y <source-language>] [-i <count>] [-o <boolean>] [-q <queue-name>] [-t <thread-id>] [-x <thread-index>] [-T <thread-name>] [-R <address>] [-N <breakpoint-name>] [-f <filename>] [-L <source-language>] [-s <shlib-name>] [-K <boolean>]
  breakpoint set [-ADHd] -p <regular-expression> [-G <boolean>] [-C <command>] [-c <expr>] [-Y <source-language>] [-i <count>] [-o <boolean>] [-q <queue-name>] [-t <thread-id>] [-x <thread-index>] [-T <thread-name>] [-N <breakpoint-name>] [-f <filename>] [-m <boolean>] [-s <shlib-name>] [-X <function-name>]
  breakpoint set [-DHd] -E <source-language> [-G <boolean>] [-C <command>] [-c <expr>] [-Y <source-language>] [-i <count>] [-o <boolean>] [-q <queue-name>] [-t <thread-id>] [-x <thread-index>] [-T <thread-name>] [-N <breakpoint-name>] [-h <boolean>] [-w <boolean>]
  breakpoint set [-DHd] -P <python-class> [-k <none>] [-v <none>] [-G <boolean>] [-C <command>] [-c <expr>] [-Y <source-language>] [-i <count>] [-o <boolean>] [-q <queue-name>] [-t <thread-id>] [-x <thread-index>] [-T <thread-name>] [-N <breakpoint-name>] [-f <filename>] [-s <shlib-name>]
  breakpoint set [-DHd] -y <linespec> [-G <boolean>] [-C <command>] [-c <expr>] [-Y <source-language>] [-i <count>] [-o <boolean>] [-q <queue-name>] [-t <thread-id>] [-x <thread-index>] [-T <thread-name>] [-R <address>] [-N <breakpoint-name>] [-m <boolean>] [-s <shlib-name>] [-K <boolean>]

```

We instead offer:

```
(lldb) help break add
Commands to add breakpoints of various types

Syntax: breakpoint add

Access the breakpoint search kernels built into lldb.  Along with specifying the
search kernel, each breakpoint add operation can specify a common set of 
"reaction" options for each breakpoint.  The reaction options can also be
modified after breakpoint creation using the "breakpoint modify" command.       
        

The following subcommands are supported:

      address   -- Add breakpoints by raw address
      exception -- Add breakpoints on language exceptions.  If no language is specified, break on exceptions for all supported languages
      file      -- Add breakpoints on lines in specified source files
      name      -- Add breakpoints matching function or symbol names
      pattern   -- Add breakpoints matching patterns in the source text  Expects 'raw' input (see 'help raw-input'.)
      scripted  -- Add breakpoints using a scripted breakpoint resolver.

For more help on any particular subcommand, type 'help <command> <subcommand>'.

```

The individual subcommand helps are also easier to read. They are still
a little too verbose because they all repeat the options for the
`reactions`. A general fix for our help system would be when a command
incorporates an OptionGroup whole into the command options, help would
show the option group name - which you could separately look up. But
even without that:

```
(lldb) help br a a
Add breakpoints by raw address

Syntax: breakpoint add address <cmd-options> <address> [<address> [...]]

Command Options Usage:
  breakpoint add address [-DHde] [-G <boolean>] [-C <command>] [-c <expr>] [-Y <source-language>] [-i <count>] [-o <boolean>] [-q <queue-name>] [-t <thread-id>] [-x <thread-index>] [-T <thread-name>] [-N <breakpoint-name>] [-s <shlib-name>] <address> [<address> [...]]

       -C <command> ( --command <command> )
            A command to run when the breakpoint is hit, can be provided more than once, the commands will be run in left-to-right order.

       -D ( --dummy-breakpoints )
            Act on Dummy breakpoints - i.e. breakpoints set before a file is provided, which prime new targets.

       -G <boolean> ( --auto-continue <boolean> )
            The breakpoint will auto-continue after running its commands.

       -H ( --hardware )
            Require the breakpoint to use hardware breakpoints.

       -N <breakpoint-name> ( --breakpoint-name <breakpoint-name> )
            Adds this name to the list of names for this breakpoint.  Can be specified more than once.

       -T <thread-name> ( --thread-name <thread-name> )
            The breakpoint stops only for the thread whose thread name matches this argument.

       -Y <source-language> ( --condition-language <source-language> )
            Specifies the Language to use when executing the breakpoint's condition expression.

       -c <expr> ( --condition <expr> )
            The breakpoint stops only if this condition expression evaluates to true.

       -d ( --disable )
            Disable the breakpoint.

       -e ( --enable )
            Enable the breakpoint.

       -i <count> ( --ignore-count <count> )
            Set the number of times this breakpoint is skipped before stopping.

       -o <boolean> ( --one-shot <boolean> )
            The breakpoint is deleted the first time it stop causes a stop.

       -q <queue-name> ( --queue-name <queue-name> )
            The breakpoint stops only for threads in the queue whose name is given by this argument.

       -s <shlib-name> ( --shlib <shlib-name> )
            Set the breakpoint at an address relative to sections in this shared library.

       -t <thread-id> ( --thread-id <thread-id> )
            The breakpoint stops only for the thread whose TID matches this argument.  The token 'current' resolves to the current thread's ID.

       -x <thread-index> ( --thread-index <thread-index> )
            The breakpoint stops only for the thread whose index matches this argument.
     
     This command takes options and free-form arguments.  If your arguments resemble option specifiers (i.e., they start with a - or --), you must use ' --
     ' between the end of the command options and the beginning of the arguments.

```

is pretty readable.


  Commit: 9342d03f90ec42ca643f82a3e0654f71173a843f
      https://github.com/llvm/llvm-project/commit/9342d03f90ec42ca643f82a3e0654f71173a843f
  Author: mitchell <mitchell.xu2 at gmail.com>
  Date:   2025-12-05 (Fri, 05 Dec 2025)

  Changed paths:
    M clang-tools-extra/clang-tidy/readability/UseStdMinMaxCheck.cpp
    M clang-tools-extra/docs/ReleaseNotes.rst
    M clang-tools-extra/test/clang-tidy/checkers/readability/use-std-min-max.cpp

  Log Message:
  -----------
  [clang-tidy] Preserve comments in `readability-use-std-min-max` (#169908)

Closes [#121613](https://github.com/llvm/llvm-project/issues/121613)


  Commit: 7f01d721083660116bc288d99a5dc7e86bb219c1
      https://github.com/llvm/llvm-project/commit/7f01d721083660116bc288d99a5dc7e86bb219c1
  Author: Vitaly Buka <vitalybuka at google.com>
  Date:   2025-12-05 (Fri, 05 Dec 2025)

  Changed paths:
    M llvm/unittests/IR/ConstantsTest.cpp

  Log Message:
  -----------
  [NFC] Fix memory leak in ConstantsTest (#170789)

Leak introduced with #164381.


  Commit: 79620d8ac094f2ab65b4c65376b710d04bba212f
      https://github.com/llvm/llvm-project/commit/79620d8ac094f2ab65b4c65376b710d04bba212f
  Author: Wenju He <wenju.he at intel.com>
  Date:   2025-12-05 (Fri, 05 Dec 2025)

  Changed paths:
    M libclc/CMakeLists.txt
    M libclc/clc/include/clc/atomic/atomic_decl.inc
    M libclc/clc/include/clc/float/definitions.h
    M libclc/clc/include/clc/integer/definitions.h
    M libclc/clc/lib/generic/atomic/clc_atomic_compare_exchange.inc
    M libclc/clc/lib/generic/atomic/clc_atomic_def.inc
    M libclc/cmake/modules/AddLibclc.cmake
    R libclc/opencl/include/clc/opencl/as_type.h
    M libclc/opencl/include/clc/opencl/atomic/atomic_compare_exchange_strong.h
    M libclc/opencl/include/clc/opencl/atomic/atomic_compare_exchange_weak.h
    M libclc/opencl/include/clc/opencl/atomic/atomic_decl.inc
    M libclc/opencl/include/clc/opencl/atomic/atomic_exchange.h
    M libclc/opencl/include/clc/opencl/atomic/atomic_fetch_add.h
    M libclc/opencl/include/clc/opencl/atomic/atomic_fetch_and.h
    M libclc/opencl/include/clc/opencl/atomic/atomic_fetch_max.h
    M libclc/opencl/include/clc/opencl/atomic/atomic_fetch_min.h
    M libclc/opencl/include/clc/opencl/atomic/atomic_fetch_or.h
    M libclc/opencl/include/clc/opencl/atomic/atomic_fetch_sub.h
    M libclc/opencl/include/clc/opencl/atomic/atomic_fetch_xor.h
    M libclc/opencl/include/clc/opencl/atomic/atomic_flag_clear.h
    M libclc/opencl/include/clc/opencl/atomic/atomic_flag_test_and_set.h
    M libclc/opencl/include/clc/opencl/atomic/atomic_load.h
    M libclc/opencl/include/clc/opencl/atomic/atomic_store.h
    M libclc/opencl/include/clc/opencl/explicit_fence/explicit_memory_fence.h
    M libclc/opencl/include/clc/opencl/synchronization/barrier.h
    R libclc/opencl/include/clc/opencl/synchronization/cl_mem_fence_flags.h
    M libclc/opencl/include/clc/opencl/synchronization/utils.h
    R libclc/opencl/include/clc/opencl/types.h
    M libclc/opencl/include/clc/opencl/utils.h
    M libclc/opencl/lib/clspv/shared/vstore_half.cl
    M libclc/opencl/lib/generic/atomic/atom_add.cl
    M libclc/opencl/lib/generic/atomic/atom_and.cl
    M libclc/opencl/lib/generic/atomic/atom_cmpxchg.cl
    M libclc/opencl/lib/generic/atomic/atom_dec.cl
    M libclc/opencl/lib/generic/atomic/atom_inc.cl
    M libclc/opencl/lib/generic/atomic/atom_max.cl
    M libclc/opencl/lib/generic/atomic/atom_min.cl
    M libclc/opencl/lib/generic/atomic/atom_or.cl
    M libclc/opencl/lib/generic/atomic/atom_sub.cl
    M libclc/opencl/lib/generic/atomic/atom_xchg.cl
    M libclc/opencl/lib/generic/atomic/atom_xor.cl
    M libclc/opencl/lib/generic/atomic/atomic_add.cl
    M libclc/opencl/lib/generic/atomic/atomic_and.cl
    M libclc/opencl/lib/generic/atomic/atomic_cmpxchg.cl
    M libclc/opencl/lib/generic/atomic/atomic_compare_exchange_strong.cl
    M libclc/opencl/lib/generic/atomic/atomic_compare_exchange_weak.cl
    M libclc/opencl/lib/generic/atomic/atomic_def.inc
    M libclc/opencl/lib/generic/atomic/atomic_exchange.cl
    M libclc/opencl/lib/generic/atomic/atomic_fetch_add.cl
    M libclc/opencl/lib/generic/atomic/atomic_fetch_and.cl
    M libclc/opencl/lib/generic/atomic/atomic_fetch_max.cl
    M libclc/opencl/lib/generic/atomic/atomic_fetch_min.cl
    M libclc/opencl/lib/generic/atomic/atomic_fetch_or.cl
    M libclc/opencl/lib/generic/atomic/atomic_fetch_sub.cl
    M libclc/opencl/lib/generic/atomic/atomic_fetch_xor.cl
    M libclc/opencl/lib/generic/atomic/atomic_inc_dec.inc
    M libclc/opencl/lib/generic/atomic/atomic_load.cl
    M libclc/opencl/lib/generic/atomic/atomic_max.cl
    M libclc/opencl/lib/generic/atomic/atomic_min.cl
    M libclc/opencl/lib/generic/atomic/atomic_or.cl
    M libclc/opencl/lib/generic/atomic/atomic_store.cl
    M libclc/opencl/lib/generic/atomic/atomic_sub.cl
    M libclc/opencl/lib/generic/atomic/atomic_xchg.cl
    M libclc/opencl/lib/generic/atomic/atomic_xor.cl

  Log Message:
  -----------
  [libclc] Add OpenCL atomic_*_explicit builtins (#168318)

Implement atomic_*_explicit (e.g. atomic_store_explicit) with
memory_order plus optional memory_scope.

OpenCL memory_order maps 1:1 to Clang (e.g. OpenCL memory_order_relaxed
== Clang __ATOMIC_RELAXED), so we pass it unchanged to clc_atomic_*
function which forwards to Clang _scoped_atomic* builtins.

Other changes:
* Add __opencl_get_clang_memory_scope helper in opencl/utils.h (OpenCL
scope -> Clang scope).
* Correct atomic_compare_exchange return type to bool.
* Fix atomic_compare_exchange to return true when value stored in the
pointer equals expected value.
* Remove volatile from CLC functions so that volatile isn't present in
LLVM IR.
* Add '-fdeclare-opencl-builtins -finclude-default-header' flag to
include
declaration of memory_scope. Some constants in libclc are already
provided
  by Clang’s OpenCL header; disable those in OpenCL library build and
  enable them only for CLC library build.


  Commit: b32e067e97003db47aed52edc9ef8c3c30899b91
      https://github.com/llvm/llvm-project/commit/b32e067e97003db47aed52edc9ef8c3c30899b91
  Author: Florian Mayer <fmayer at google.com>
  Date:   2025-12-04 (Thu, 04 Dec 2025)

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

  Log Message:
  -----------
  [compiler-rt] [UBSan] Fix missing preserve handlers (#170788)


  Commit: 45af50d9cac951234617b0f91325daec57bbaabe
      https://github.com/llvm/llvm-project/commit/45af50d9cac951234617b0f91325daec57bbaabe
  Author: Quinn Dawkins <quinn.dawkins at gmail.com>
  Date:   2025-12-04 (Thu, 04 Dec 2025)

  Changed paths:
    M mlir/include/mlir/Interfaces/TilingInterface.td
    M mlir/lib/Dialect/Linalg/Transforms/Tiling.cpp
    M mlir/lib/Dialect/Linalg/Transforms/TilingInterfaceImpl.cpp
    A mlir/test/Interfaces/TilingInterface/query-fusability.mlir
    M mlir/test/lib/Interfaces/TilingInterface/TestTilingInterfaceTransformOps.cpp
    M mlir/test/lib/Interfaces/TilingInterface/TestTilingInterfaceTransformOps.td

  Log Message:
  -----------
  [MLIR] Add fusability query to TilingInterface (#166502)

This introduces `isOpFusableWithProducer/Consumer` methods to the
TilingInterface that enable querying whether a tilable op can be fused
into a given set of producer slices or consumer slice without generating
IR. This is needed to enable use of the tiling interface in pattern
rewrites, as without this any pattern rewrite that tries to invoke the
method to tile is allowed to generate IR and fail.


  Commit: c2242bdea9cc4593ad46689e1dcc05645045f908
      https://github.com/llvm/llvm-project/commit/c2242bdea9cc4593ad46689e1dcc05645045f908
  Author: Jordan Rupprecht <rupprecht at google.com>
  Date:   2025-12-05 (Fri, 05 Dec 2025)

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

  Log Message:
  -----------
  [bazel][clang-doc] Port 9349cb1523ddb88ca9d82bad497bb98082eb6c8d (#170797)


  Commit: d8ad3c1df985b4cbc013c9f963796190d5c47c41
      https://github.com/llvm/llvm-project/commit/d8ad3c1df985b4cbc013c9f963796190d5c47c41
  Author: Han-Chung Wang <hanhan0912 at gmail.com>
  Date:   2025-12-05 (Fri, 05 Dec 2025)

  Changed paths:
    M .github/CODEOWNERS

  Log Message:
  -----------
  Remove myself from CODEOWNERS (#170799)


  Commit: 71de78315fd011e8e470bcf19ecd2c9e9abb2a1c
      https://github.com/llvm/llvm-project/commit/71de78315fd011e8e470bcf19ecd2c9e9abb2a1c
  Author: Jesse Huang <jesse.huang at sifive.com>
  Date:   2025-12-05 (Fri, 05 Dec 2025)

  Changed paths:
    M llvm/lib/Target/RISCV/RISCVInstrInfo.cpp
    M llvm/test/CodeGen/RISCV/branch-relaxation-rv32.ll
    M llvm/test/CodeGen/RISCV/branch-relaxation-rv64.ll

  Log Message:
  -----------
  [RISCV] Inserting indirect jumps with X7 for Zicfilp (#170683)

`BranchRelxation` uses `RISCVInstrInfo::insertIndirectBranch` to insert
an indirect branch if the jump target is out of range. Currently it uses
register scavenging to find a free register to use for the indirect
target. If Zicfilp is enabled, we need to use X7 so that the jump will
be treated as a software guarded branch.

Co-authored-by: Yeting Kuo <46629943+yetingk at users.noreply.github.com>


  Commit: af4098b45a753a317d6a36aa76235fe30a401733
      https://github.com/llvm/llvm-project/commit/af4098b45a753a317d6a36aa76235fe30a401733
  Author: Brandon Wu <brandon.wu at sifive.com>
  Date:   2025-12-05 (Fri, 05 Dec 2025)

  Changed paths:
    M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
    M llvm/lib/Target/RISCV/RISCVInstrInfoP.td
    M llvm/test/CodeGen/RISCV/rvp-ext-rv32.ll
    M llvm/test/CodeGen/RISCV/rvp-ext-rv64.ll

  Log Message:
  -----------
  [RISCV][llvm] Support PSLL codegen for P extension (#170074)

There's no instruciton for vector shift amount, so we have to scalarize
it and rebuild the vector.


  Commit: e48d49fd6d09dd7082590360544f801460aee96a
      https://github.com/llvm/llvm-project/commit/e48d49fd6d09dd7082590360544f801460aee96a
  Author: Brandon Wu <brandon.wu at sifive.com>
  Date:   2025-12-05 (Fri, 05 Dec 2025)

  Changed paths:
    M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
    M llvm/lib/Target/RISCV/RISCVInstrInfoVSDPatterns.td
    M llvm/lib/Target/RISCV/RISCVInstrInfoVVLPatterns.td
    M llvm/lib/Target/RISCV/RISCVInstrInfoZvfbf.td
    A llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vfadd-sdnode.ll
    A llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vfmul-sdnode.ll
    A llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vfrsub-sdnode.ll
    A llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vfsub-sdnode.ll
    M llvm/test/CodeGen/RISCV/rvv/vfadd-sdnode.ll
    M llvm/test/CodeGen/RISCV/rvv/vfmul-sdnode.ll
    A llvm/test/CodeGen/RISCV/rvv/vfrsub-sdnode.ll
    M llvm/test/CodeGen/RISCV/rvv/vfsub-sdnode.ll

  Log Message:
  -----------
  [RISCV][llvm] Support VFADD, VFSUB, VFMUL codegen for Zvfbfa (#170612)

Support both fixed-length vectors and scalable vectors.

Note: VP version is not gonna be supported for trivial instructions
since they're going to be removed soon.


  Commit: 290b32a699aefbd1f18fe78351655dd42ce98f1e
      https://github.com/llvm/llvm-project/commit/290b32a699aefbd1f18fe78351655dd42ce98f1e
  Author: NimishMishra <42909663+NimishMishra at users.noreply.github.com>
  Date:   2025-12-04 (Thu, 04 Dec 2025)

  Changed paths:
    M flang/lib/Lower/OpenMP/ClauseProcessor.cpp
    M flang/lib/Lower/OpenMP/OpenMP.cpp
    R flang/test/Lower/OpenMP/Todo/omp-do-simd-linear.f90
    A flang/test/Lower/OpenMP/simd-linear.f90
    A flang/test/Lower/OpenMP/wsloop-linear.f90
    M mlir/include/mlir/Dialect/OpenMP/OpenMPClauses.td
    M mlir/lib/Dialect/OpenMP/IR/OpenMPDialect.cpp
    M mlir/lib/Target/LLVMIR/Dialect/OpenMP/OpenMPToLLVMIRTranslation.cpp
    M mlir/test/Target/LLVMIR/openmp-llvm.mlir
    M mlir/test/Target/LLVMIR/openmp-todo.mlir

  Log Message:
  -----------
  [llvm][mlir][OpenMP] Support translation for linear clause in omp.wsloop and omp.simd (#139386)

This patch adds support for LLVM translation of linear clause on
omp.wsloop (except for linear modifiers).


  Commit: eecdd4be8aaabcc326dfb2b689dcbfb5c172c98b
      https://github.com/llvm/llvm-project/commit/eecdd4be8aaabcc326dfb2b689dcbfb5c172c98b
  Author: higher-performance <higher.performance.github at gmail.com>
  Date:   2025-12-04 (Thu, 04 Dec 2025)

  Changed paths:
    M clang-tools-extra/clang-tidy/bugprone/UseAfterMoveCheck.cpp
    M clang-tools-extra/clang-tidy/bugprone/UseAfterMoveCheck.h
    M clang-tools-extra/docs/ReleaseNotes.rst
    M clang-tools-extra/docs/clang-tidy/checks/bugprone/use-after-move.rst
    M clang-tools-extra/test/clang-tidy/checkers/bugprone/use-after-move.cpp

  Log Message:
  -----------
  [clang-tidy] Extend `bugprone-use-after-move` to allow custom invalidation functions (#170346)


  Commit: 14bf95b06a18b9b59c89601cbc0e5a6f2176b118
      https://github.com/llvm/llvm-project/commit/14bf95b06a18b9b59c89601cbc0e5a6f2176b118
  Author: lntue <lntue at google.com>
  Date:   2025-12-05 (Fri, 05 Dec 2025)

  Changed paths:
    M libc/config/linux/config.json

  Log Message:
  -----------
  [libc] Remove extra commas in linux/config.json. (#170801)


  Commit: 785cadd1ccf4a9c7d3b4823fa3a58311df94ddda
      https://github.com/llvm/llvm-project/commit/785cadd1ccf4a9c7d3b4823fa3a58311df94ddda
  Author: Timm Baeder <tbaeder at redhat.com>
  Date:   2025-12-05 (Fri, 05 Dec 2025)

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

  Log Message:
  -----------
  [clang][bytecode] Fix InterpFrame::dump() (#170682)

We should only call getThis() and getRVOPtr() if the frame has them.


  Commit: 5911754a3085e1c95cec12971f075ab3f024d71d
      https://github.com/llvm/llvm-project/commit/5911754a3085e1c95cec12971f075ab3f024d71d
  Author: wdx727 <wudexin at kuaishou.com>
  Date:   2025-12-05 (Fri, 05 Dec 2025)

  Changed paths:
    A llvm/include/llvm/CodeGen/BasicBlockMatchingAndInference.h
    M llvm/include/llvm/CodeGen/BasicBlockSectionsProfileReader.h
    M llvm/include/llvm/CodeGen/MachineBlockHashInfo.h
    M llvm/include/llvm/CodeGen/Passes.h
    M llvm/include/llvm/InitializePasses.h
    M llvm/include/llvm/Transforms/Utils/SampleProfileInference.h
    A llvm/lib/CodeGen/BasicBlockMatchingAndInference.cpp
    M llvm/lib/CodeGen/BasicBlockSections.cpp
    M llvm/lib/CodeGen/BasicBlockSectionsProfileReader.cpp
    M llvm/lib/CodeGen/CMakeLists.txt
    M llvm/lib/CodeGen/TargetPassConfig.cpp
    M llvm/lib/Transforms/Utils/SampleProfileInference.cpp
    A llvm/test/CodeGen/X86/basic-block-sections-clusters-bb-hash.ll

  Log Message:
  -----------
  Adding Matching and Inference Functionality to Propeller-PR4: Implement matching and inference and create clusters (#167622)

This PR re-submits the previously reverted
PR(https://github.com/llvm/llvm-project/pull/165868) and fixes the
return type mismatch error.

Co-authored-by: lifengxiang1025 <lifengxiang at kuaishou.com>
Co-authored-by: zcfh <wuminghui03 at kuaishou.com>


  Commit: 722026886fb65f0d61e0384886ffc30e83623edf
      https://github.com/llvm/llvm-project/commit/722026886fb65f0d61e0384886ffc30e83623edf
  Author: Kees Cook <kees at kernel.org>
  Date:   2025-12-04 (Thu, 04 Dec 2025)

  Changed paths:
    M clang/docs/LanguageExtensions.rst
    M clang/include/clang/Basic/DiagnosticSemaKinds.td
    M clang/lib/CodeGen/CGBuiltin.cpp
    M clang/lib/Sema/SemaChecking.cpp
    M clang/test/CodeGen/builtin-counted-by-ref.c
    M clang/test/Sema/builtin-counted-by-ref.c

  Log Message:
  -----------
  [Clang] Extend __builtin_counted_by_ref to support pointers with 'counted_by' (#170750)

The __builtin_counted_by_ref builtin was previously limited to flexible
array members (FAMs). This change extends it to also support pointer
members that have the 'counted_by' attribute.

The 'counted_by' attribute can be applied to both FAMs and pointer
members:

    struct fam_struct {
        int count;
        int array[] __attribute__((counted_by(count)));
    };

    struct ptr_struct {
        int count;
        int *buf __attribute__((counted_by(count)));
    };

With this change, __builtin_counted_by_ref works with both:

    *__builtin_counted_by_ref(p->array) = size;  // FAM - already worked
    *__builtin_counted_by_ref(p->buf) = size;    // pointer - now works

This enables the same allocation pattern for pointer members that was
previously only available for FAMs:

    #define alloc_buf(P, MEMBER, COUNT) ({                           \
        typeof(P) __p = malloc(sizeof(*__p));                        \
        __p->MEMBER = malloc(sizeof(*__p->MEMBER) * COUNT);          \
        *_Generic(__builtin_counted_by_ref(__p->MEMBER),             \
            void *: &(size_t){0},                                    \
            default: __builtin_counted_by_ref(__p->MEMBER)) = COUNT; \
        __p;                                                         \
    })

The builtin returns:
- A pointer to the count field if the member has 'counted_by'
- void* (null) if the member is an array or pointer without 'counted_by'
- An error for other member types (e.g., int, struct)

This was requested by upstream Linux kernel devs:

https://lore.kernel.org/linux-hardening/202512041215.44484FCACD@keescook/


  Commit: c9ebc890980bd0b40159b0db0e71dbbf7dbf3e2f
      https://github.com/llvm/llvm-project/commit/c9ebc890980bd0b40159b0db0e71dbbf7dbf3e2f
  Author: Lang Hames <lhames at gmail.com>
  Date:   2025-12-05 (Fri, 05 Dec 2025)

  Changed paths:
    M llvm/include/llvm/ExecutionEngine/Orc/CallSPSViaEPC.h
    M llvm/include/llvm/ExecutionEngine/Orc/CallViaEPC.h
    M llvm/unittests/ExecutionEngine/Orc/CallSPSViaEPCTest.cpp

  Log Message:
  -----------
  [ORC] Add void function support to CallViaEPC, CallSPSViaEPC. (#170800)

Adds support for calling void functions. Calls to void functions return
Error to capture any IPC/RPC failure.


  Commit: 4c6b8825e84067c44780b2720429032d054af59a
      https://github.com/llvm/llvm-project/commit/4c6b8825e84067c44780b2720429032d054af59a
  Author: David Green <david.green at arm.com>
  Date:   2025-12-05 (Fri, 05 Dec 2025)

  Changed paths:
    M llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp
    M llvm/test/CodeGen/AArch64/combine-sdiv.ll
    M llvm/test/CodeGen/AArch64/rem-by-const.ll
    M llvm/test/CodeGen/AArch64/srem-lkk.ll
    M llvm/test/CodeGen/RISCV/mul.ll
    M llvm/test/CodeGen/Thumb/umulo-128-legalisation-lowering.ll

  Log Message:
  -----------
  [DAG] Fold mul 0 -> 0 when expanding mul into parts. (#168780)

If the upper bits are zero, but we expand multiply then immediately
convert the multiple into a libcall, there is no opportunity to optimize
away the mul. Do so in getNode to make sure extending multiplies
optimise cleanly.


  Commit: eb48a61cc17ef6e626a4c4e7c866738225d9870a
      https://github.com/llvm/llvm-project/commit/eb48a61cc17ef6e626a4c4e7c866738225d9870a
  Author: Ingo Müller <ingomueller at google.com>
  Date:   2025-12-05 (Fri, 05 Dec 2025)

  Changed paths:
    M mlir/include/mlir/Bindings/Python/Nanobind.h
    M mlir/lib/Bindings/Python/MainModule.cpp

  Log Message:
  -----------
  [mlir:python] Add manual typing annotations to `mlir.register_*` functions. (#170627)

This PR adds a manual typing annotations to the `register_operation` and
`register_(type|value)_caster` functions in the main `mlir` module.
Since those functions return the result `nb::cpp_function`, which is of
type `nb::object`, the automatic typing annocations are of the form `def
f() -> object`. This isn't particularly precise and leads to type
checking errors when the functions are used. Manually defining the
annotation with `nb::sig` solves the problem.

Signed-off-by: Ingo Müller <ingomueller at google.com>


  Commit: cc5b07c7618538b6065f6793524c10bdb34dd510
      https://github.com/llvm/llvm-project/commit/cc5b07c7618538b6065f6793524c10bdb34dd510
  Author: Luke Lau <luke at igalia.com>
  Date:   2025-12-05 (Fri, 05 Dec 2025)

  Changed paths:
    M llvm/lib/IR/Verifier.cpp
    M llvm/test/Verifier/invalid-splice.ll

  Log Message:
  -----------
  [IR] Fix vector.splice verifier scaling by vscale for fixed length vectors (#170807)

Currently we multiply the known minimum number of elements by vscale
even if the vector in question is fixed, so sometimes we miss some fixed
vectors with out of bounds indices.


  Commit: 5b2eb0dcb717c7218f691e2a10f76b60ed039ecd
      https://github.com/llvm/llvm-project/commit/5b2eb0dcb717c7218f691e2a10f76b60ed039ecd
  Author: Timm Baeder <tbaeder at redhat.com>
  Date:   2025-12-05 (Fri, 05 Dec 2025)

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

  Log Message:
  -----------
  [clang][bytecode][NFC] Add FullExpression scopes (#170705)

And use them instead of the extending decl. This is close to what the
current interpreter is doing.

This is NFC right now but fixes a problem I encountered while looking
into the expansion statement stuff.


  Commit: 5a74f7ea99385f1a02d86a76812cfa0508c7be1a
      https://github.com/llvm/llvm-project/commit/5a74f7ea99385f1a02d86a76812cfa0508c7be1a
  Author: Kashika Akhouri <akhourik at google.com>
  Date:   2025-12-05 (Fri, 05 Dec 2025)

  Changed paths:
    M clang/include/clang/Analysis/Analyses/LifetimeSafety/FactsGenerator.h
    M clang/include/clang/Analysis/Analyses/LifetimeSafety/LifetimeSafety.h
    M clang/include/clang/Analysis/Analyses/LifetimeSafety/Loans.h
    M clang/include/clang/Basic/DiagnosticGroups.td
    M clang/include/clang/Basic/DiagnosticSemaKinds.td
    M clang/lib/Analysis/LifetimeSafety/Checker.cpp
    M clang/lib/Analysis/LifetimeSafety/Facts.cpp
    M clang/lib/Analysis/LifetimeSafety/FactsGenerator.cpp
    M clang/lib/Analysis/LifetimeSafety/Loans.cpp
    M clang/lib/Sema/AnalysisBasedWarnings.cpp
    A clang/test/Sema/warn-lifetime-safety-suggestions.cpp
    M clang/unittests/Analysis/LifetimeSafetyTest.cpp

  Log Message:
  -----------
  [LifetimeSafety] Suggest lifetime annotations (#169767)

Add lifetime annotation suggestion in lifetime analysis.

This PR introduces a new feature to Clang's lifetime analysis to detect
and suggest missing `[[clang::lifetimebound]]` annotations on function
parameters.
It introduces the concept of `placeholder loans`. At the entry of a
function, a special placeholder loan is created for each pointer or
reference parameter. The analysis then tracks these loans using
`OriginFlow` facts. If an `OriginEscapesFact` shows that an origin
holding a placeholder loan escapes the function's scope (e.g., via a
return statement), a new warning is issued.

This warning, controlled by the warning flag
`-Wexperimental-lifetime-safety-suggestions`, suggests adding the
`[[clang::lifetimebound]]` attribute to the corresponding parameter.

Example:

```cpp
std::string_view foo(std::string_view a) {
  return a;
}
```

Facts:

```
Function: foo
  Block B2:
    Issue (0 (Placeholder loan) , ToOrigin: 0 (Decl: a))
  End of Block
  Block B1:
    Use (0 (Decl: a), Read)
    OriginFlow (Dest: 1 (Expr: ImplicitCastExpr), Src: 0 (Decl: a))
    OriginFlow (Dest: 2 (Expr: CXXConstructExpr), Src: 1 (Expr: ImplicitCastExpr))
    OriginEscapes (2 (Expr: CXXConstructExpr))
  End of Block
  Block B0:
  End of Block
```

Sample warning:

```
o.cpp:61:39: warning: param should be marked [[clang::lifetimebound]] [-Wexperimental-lifetime-safety-suggestions]
   61 | std::string_view foo(std::string_view a) {
      |                      ~~~~~~~~~~~~~~~~~^
      |                      [[clang::lifetimebound]] 
o.cpp:62:9: note: param escapes here
   62 |  return a;
```

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


  Commit: 2612dc9b5faeaeb180c5a5e0c282642faef8891b
      https://github.com/llvm/llvm-project/commit/2612dc9b5faeaeb180c5a5e0c282642faef8891b
  Author: Phoebe Wang <phoebe.wang at intel.com>
  Date:   2025-12-05 (Fri, 05 Dec 2025)

  Changed paths:
    M llvm/lib/Target/X86/X86InstrCMovSetCC.td
    M llvm/test/CodeGen/X86/apx/setzucc.ll

  Log Message:
  -----------
  [X86][APX] Add pattern for zext(X86setcc ..) -> SETZUCCr (#170806)


  Commit: 23173475c166e0480cc25d430ddda9461cb19b71
      https://github.com/llvm/llvm-project/commit/23173475c166e0480cc25d430ddda9461cb19b71
  Author: David Spickett <david.spickett at linaro.org>
  Date:   2025-12-05 (Fri, 05 Dec 2025)

  Changed paths:
    M lldb/source/Plugins/Process/gdb-remote/ProcessGDBRemote.cpp
    M lldb/source/Plugins/Process/gdb-remote/ProcessGDBRemote.h

  Log Message:
  -----------
  [lldb] Improve logging of failure to get register information from Target XML (#170478)

In
https://discourse.llvm.org/t/does-lldb-qemu-support-dumping-x64-control-registers-such-as-cr3/89031
a user was not seeing certain registers when connected to QEMU. Turns
out their LLDB build did not have libxml2 enabled.

While logging is not the first thing most users will think of, it is
something an expert can ask for to confirm whether they have XML support
enabled.

So in this PR I've shuffled the logic GetGDBServerRegisterInfo to better
report problems in the log.

The key one is when lldb does not have libxml2 but the server did say it
supports qxfer:features. In this case we would have used it if we could,
and the debug session will likely be degraded because we are not able
to.

https://sourceware.org/gdb/current/onlinedocs/gdb.html/General-Query-Packets.html#qXfer-target-description-read


  Commit: 8ce5d8545d2e79e8bac5e6c6c39ef2d0f8c54181
      https://github.com/llvm/llvm-project/commit/8ce5d8545d2e79e8bac5e6c6c39ef2d0f8c54181
  Author: Benjamin Maxwell <benjamin.maxwell at arm.com>
  Date:   2025-12-05 (Fri, 05 Dec 2025)

  Changed paths:
    M clang/include/clang/Basic/DiagnosticSemaKinds.td
    M clang/lib/Sema/SemaExprCXX.cpp
    M clang/test/Sema/AArch64/sve-vector-conditional-op.cpp

  Log Message:
  -----------
  [clang] Only use CheckVectorOperands for fixed-length vector operands (#170485)

Fixes #170279


  Commit: ccfe7e09540f94e0419c607396e270f8d456e608
      https://github.com/llvm/llvm-project/commit/ccfe7e09540f94e0419c607396e270f8d456e608
  Author: Damian Heaton <Damian.Heaton at arm.com>
  Date:   2025-12-05 (Fri, 05 Dec 2025)

  Changed paths:
    M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
    M llvm/lib/Target/AArch64/AArch64ISelLowering.h
    M llvm/lib/Target/AArch64/AArch64SVEInstrInfo.td
    A llvm/test/CodeGen/AArch64/sve-fmsub.ll

  Log Message:
  -----------
  [AArch64] Combine vector FNEG+FMA into `FNML[A|S]` (#167900)

This allows for FNEG + FMA sequences to be combined into a single
operation, with `FNML[A|S]`, `FNMAD`, or `FNMSB` selected depending on
the operand order, similarly to how `performSVEMulAddSubCombine` enables
generating `ML[A|S]` instructions by converting the ADD/SUB intrinsics
to scalable vectors.


  Commit: d4cc0072b3fbdeb07560bf961997ef05cee4fda0
      https://github.com/llvm/llvm-project/commit/d4cc0072b3fbdeb07560bf961997ef05cee4fda0
  Author: Marco Elver <elver at google.com>
  Date:   2025-12-05 (Fri, 05 Dec 2025)

  Changed paths:
    A clang/test/Driver/fsanitize-annotate-debug-info.c
    A clang/test/Driver/fsanitize-baremetal.c
    A clang/test/Driver/fsanitize-cfi.c
    A clang/test/Driver/fsanitize-leak.c
    A clang/test/Driver/fsanitize-memtag.c
    A clang/test/Driver/fsanitize-merge.c
    A clang/test/Driver/fsanitize-minimal-runtime.c
    A clang/test/Driver/fsanitize-numerical.c
    A clang/test/Driver/fsanitize-realtime.c
    A clang/test/Driver/fsanitize-recover.c
    A clang/test/Driver/fsanitize-safe-stack.c
    A clang/test/Driver/fsanitize-scudo.c
    A clang/test/Driver/fsanitize-skip-hot-cutoff.c
    A clang/test/Driver/fsanitize-trap.c
    A clang/test/Driver/fsanitize-undefined.c
    M clang/test/Driver/fsanitize.c

  Log Message:
  -----------
  [Clang][Driver] Split fsanitize.c test (#169952)

The fsanitize.c test is one of the slowest tests we have:
```
-- Testing: 1 tests, 1 workers --
PASS: Clang :: Driver/fsanitize.c (1 of 1)

Testing Time: 18.42s
```

It has become the single monolithic test for almost all -fsanitize=
options. Given its current size, it makes sense to split it up into
smaller focused tests to allow for better parallelization but also help
the FileCheck tool by reducing number of lines to check.

The new test time with parallelization on my machine is:
```
-- Testing: 16 tests, 16 workers --
PASS: Clang :: Driver/fsanitize-numerical.c (1 of 16)
PASS: Clang :: Driver/fsanitize-safe-stack.c (2 of 16)
PASS: Clang :: Driver/fsanitize-memtag.c (3 of 16)
PASS: Clang :: Driver/fsanitize-realtime.c (4 of 16)
PASS: Clang :: Driver/fsanitize-baremetal.c (5 of 16)
PASS: Clang :: Driver/fsanitize-scudo.c (6 of 16)
PASS: Clang :: Driver/fsanitize-trap.c (7 of 16)
PASS: Clang :: Driver/fsanitize-leak.c (8 of 16)
PASS: Clang :: Driver/fsanitize-recover.c (9 of 16)
PASS: Clang :: Driver/fsanitize-skip-hot-cutoff.c (10 of 16)
PASS: Clang :: Driver/fsanitize-minimal-runtime.c (11 of 16)
PASS: Clang :: Driver/fsanitize-cfi.c (12 of 16)
PASS: Clang :: Driver/fsanitize-merge.c (13 of 16)
PASS: Clang :: Driver/fsanitize-annotate-debug-info.c (14 of 16)
PASS: Clang :: Driver/fsanitize-undefined.c (15 of 16)
PASS: Clang :: Driver/fsanitize.c (16 of 16)

Testing Time: 7.10s
```

The original Driver/fsanitize.c test remains for tests where it is
unclear that a single feature is being tested in isolation.

NFC.


  Commit: 7dc87cbd675dc8696ed22f832514fa7b7182f8ff
      https://github.com/llvm/llvm-project/commit/7dc87cbd675dc8696ed22f832514fa7b7182f8ff
  Author: valadaptive <79560998+valadaptive at users.noreply.github.com>
  Date:   2025-12-05 (Fri, 05 Dec 2025)

  Changed paths:
    M llvm/lib/Transforms/Utils/BuildLibCalls.cpp
    M llvm/test/Transforms/InferFunctionAttrs/annotate.ll

  Log Message:
  -----------
  [InferAttrs] Handle f[min/max]imum_num like other libm functions (#170697)

These behave like fmin and fmax.


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

  Changed paths:
    M llvm/test/Transforms/InferFunctionAttrs/annotate.ll

  Log Message:
  -----------
  [InferFunctionAttrs] Fix check lines

Only the first occurence of an attribute group should capture it,
the rest should match it. Otherwise we're not actually checking
that the attributes are correct.


  Commit: bae2401295bc04dd57354c79e22a0cf58fd3b86b
      https://github.com/llvm/llvm-project/commit/bae2401295bc04dd57354c79e22a0cf58fd3b86b
  Author: valadaptive <79560998+valadaptive at users.noreply.github.com>
  Date:   2025-12-05 (Fri, 05 Dec 2025)

  Changed paths:
    M llvm/test/Transforms/InstCombine/float-shrink-compare.ll

  Log Message:
  -----------
  [InstCombine] Add regression tests for f[min][max]imum_num libcalls (#170695)

Add tests corresponding to the existing fmin/fmax tests, as we'll later
begin optimizing these into intrinsics.


  Commit: 63e9d607866f70d25d93fbdf4c4cd217efba195f
      https://github.com/llvm/llvm-project/commit/63e9d607866f70d25d93fbdf4c4cd217efba195f
  Author: Matt Arsenault <Matthew.Arsenault at amd.com>
  Date:   2025-12-05 (Fri, 05 Dec 2025)

  Changed paths:
    M llvm/lib/Target/AMDGPU/AMDGPUISelLowering.cpp
    M llvm/lib/Target/AMDGPU/AMDGPUISelLowering.h
    M llvm/test/CodeGen/AMDGPU/llvm.exp10.ll

  Log Message:
  -----------
  AMDGPU: Improve exp10 lowering for f16 (#170771)


  Commit: 352b90182839024a87e2234092f6b3ea49bf8c23
      https://github.com/llvm/llvm-project/commit/352b90182839024a87e2234092f6b3ea49bf8c23
  Author: valadaptive <79560998+valadaptive at users.noreply.github.com>
  Date:   2025-12-05 (Fri, 05 Dec 2025)

  Changed paths:
    M llvm/lib/Analysis/ConstantFolding.cpp
    M llvm/test/Transforms/InstSimplify/ConstProp/roundeven.ll

  Log Message:
  -----------
  [ConstantFolding] Handle roundeven libcalls (#170692)

Basically identical to nearbyint and rint, which we already treat as
rounding to nearest with ties to even during constant folding.


  Commit: 113f058d73ec9850cdeb476c987971ca02a57350
      https://github.com/llvm/llvm-project/commit/113f058d73ec9850cdeb476c987971ca02a57350
  Author: Florian Hahn <flo at fhahn.com>
  Date:   2025-12-05 (Fri, 05 Dec 2025)

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

  Log Message:
  -----------
  [SCEV] Add m_scev_UndefOrPoison (NFC). (#170740)

Add matcher for SCEVUnknown wrapping undef or poison.

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


  Commit: f1998360c3b1613440103101bce2b24b71695a4a
      https://github.com/llvm/llvm-project/commit/f1998360c3b1613440103101bce2b24b71695a4a
  Author: Paul Walker <paul.walker at arm.com>
  Date:   2025-12-05 (Fri, 05 Dec 2025)

  Changed paths:
    M clang/include/clang/Basic/arm_sve.td
    M clang/test/CodeGen/AArch64/sve2-intrinsics/acle_sve2_qrshl.c
    M clang/test/CodeGen/AArch64/sve2-intrinsics/acle_sve2_qshl.c
    M clang/test/CodeGen/AArch64/sve2-intrinsics/acle_sve2_rshl.c
    M llvm/include/llvm/IR/IntrinsicsAArch64.td
    M llvm/lib/Target/AArch64/AArch64SVEInstrInfo.td
    M llvm/lib/Target/AArch64/AArch64TargetTransformInfo.cpp
    M llvm/test/CodeGen/AArch64/sve2-intrinsics-uniform-dsp-undef.ll
    M llvm/test/CodeGen/AArch64/sve2-intrinsics-uniform-dsp.ll
    M llvm/test/Transforms/InstCombine/AArch64/sve-intrinsic-comb-no-active-lanes.ll
    M llvm/test/Transforms/InstCombine/AArch64/sve-intrinsic-simplify-to-u-form.ll

  Log Message:
  -----------
  [LLVM][AArch64] Add "u" variants of SVE saturating/rounding shift left intrinsics. (#170503)

This follows the same path used for regular shift intrinsics whereby the
"don't care about the result of inactive lanes" property of the
associated _x builtins is preserved. In doing this we gain the ability
to switch between reversed and movprfx variants depending on what best
fits register allocation.


  Commit: d02471ae5e5f593d564dbaafd83535062d6f72af
      https://github.com/llvm/llvm-project/commit/d02471ae5e5f593d564dbaafd83535062d6f72af
  Author: Mehdi Amini <joker.eph at gmail.com>
  Date:   2025-12-05 (Fri, 05 Dec 2025)

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

  Log Message:
  -----------
  [MLIR] Partially disable test/Integration/GPU/CUDA/async.mlir

This test is flaky, needs investigation.

See #170833


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

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

  Log Message:
  -----------
  [X86] LowerShuffle - don't call canonicalizeShuffleMaskWithHorizOp if we could shuffle whole lanes (#170838)

canonicalizeShuffleMaskWithHorizOp was getting stuck as it was
canonicalizing a SHUFFLE(HADD(X,X)) to only refer to the results of the
LHS X, but the original shuffle was shuffling entire lanes (with
VPERM2F128), and the canonicalised shuffle was then attempting to
lowering back to the original VPERM2F128 pattern.

I think we can drop this call to canonicalizeShuffleMaskWithHorizOp once
#143000 is addressed as vectorcombine should fold away all the patterns
this addresses.

Fixes #167793


  Commit: d17284ae2994bf76f00494f92445ea038701283e
      https://github.com/llvm/llvm-project/commit/d17284ae2994bf76f00494f92445ea038701283e
  Author: James Molloy <james at jamesmolloy.co.uk>
  Date:   2025-12-05 (Fri, 05 Dec 2025)

  Changed paths:
    M mlir/python/mlir/ir.py
    M mlir/test/python/ir/auto_location.py

  Log Message:
  -----------
  [python] Fix loc_tracebacks() (#170831)

There were two bugs lurking in mlir.ir.loc_tracebacks():
  1) The default None parameter was not handled correctly (passed to a
     C++ function that expects ints.
  2) The `yield` was incorrectly indented meaning loc_tracebacks()
     could not be nested (a "generator didn't yield" exception would be
     raised).

Added testing of loc_tracebacks by replacing the custom contextmanager
in the auto_location.py test with the loc_tracebacks() API.

Had to harden the test to line number differences.

---------

Co-authored-by: James Molloy <jmolloy at google.com>


  Commit: db849604bb785fc4489810be6738ba3541a1cbc1
      https://github.com/llvm/llvm-project/commit/db849604bb785fc4489810be6738ba3541a1cbc1
  Author: Lukacma <Marian.Lukac at arm.com>
  Date:   2025-12-05 (Fri, 05 Dec 2025)

  Changed paths:
    M clang/include/clang/Basic/arm_sve.td
    A clang/test/CodeGen/AArch64/sme2-intrinsics/acle_sme2_bfmul.c
    A clang/test/CodeGen/AArch64/sme2-intrinsics/acle_sme2_bfscale.c
    M llvm/include/llvm/IR/IntrinsicsAArch64.td
    M llvm/lib/Target/AArch64/AArch64ISelDAGToDAG.cpp
    A llvm/test/CodeGen/AArch64/sme2-intrinsics-bfmul.ll
    A llvm/test/CodeGen/AArch64/sme2-intrinsics-bfscale.ll

  Log Message:
  -----------
  [AArch64] Add intrinsics for multi-vector FEAT_SVE_BFSCALE instructions (#163536)

These are the intrinsics prototype implemented, according to [1]
//BFMUL:
svbfloat16x2_t svmul[_bf16_x2](svbfloat16x2_t zd, svbfloat16x2_t zm) __arm_streaming;
svbfloat16x2_t svmul[_single_bf16_x2](svbfloat16x2_t zd, svbfloat16_t zm) __arm_streaming;
svbfloat16x4_t svmul[_bf16_x4](svbfloat16x4_t zd, svbfloat16x4_t zm) __arm_streaming;
svbfloat16x4_t svmul[_single_bf16_x4](svbfloat16x4_t zd, svbfloat16_t zm) __arm_streaming;

//BFSCALE
svbfloat16x2_t svscale[_bf16_x2](svbfloat16x2_t zdn, svint16x2_t zm) __arm_streaming;
svbfloat16x2_t svscale[_single_bf16_x2](svbfloat16x2_t zn, svint16_t zm) __arm_streaming;
svbfloat16x4_t svscale[_bf16_x4](svbfloat16x4_t zdn, svint16x4_t zm) __arm_streaming;
svbfloat16x4_t svscale[_single_bf16_x4](svbfloat16x4_t zn, svint16_t zm) __arm_streaming;
[1]ARM-software/acle#410


  Commit: 740a3ad1f744034275297d8ae315abbd904eac8c
      https://github.com/llvm/llvm-project/commit/740a3ad1f744034275297d8ae315abbd904eac8c
  Author: anjenner <161845516+anjenner at users.noreply.github.com>
  Date:   2025-12-05 (Fri, 05 Dec 2025)

  Changed paths:
    M llvm/include/llvm/IR/IntrinsicsAMDGPU.td
    M llvm/lib/Target/AMDGPU/AMDGPU.td
    M llvm/lib/Target/AMDGPU/AMDGPUGISel.td
    M llvm/lib/Target/AMDGPU/AMDGPUInstructionSelector.cpp
    M llvm/lib/Target/AMDGPU/AMDGPUInstructions.td
    M llvm/lib/Target/AMDGPU/AMDGPULegalizerInfo.cpp
    M llvm/lib/Target/AMDGPU/AMDGPULowerBufferFatPointers.cpp
    M llvm/lib/Target/AMDGPU/AMDGPURegisterBankInfo.cpp
    M llvm/lib/Target/AMDGPU/DSInstructions.td
    M llvm/lib/Target/AMDGPU/FLATInstructions.td
    M llvm/lib/Target/AMDGPU/GCNSubtarget.h
    M llvm/lib/Target/AMDGPU/R600ISelLowering.cpp
    M llvm/lib/Target/AMDGPU/SIISelLowering.cpp
    M llvm/lib/Target/AMDGPU/SIInstrInfo.td
    M llvm/lib/Target/AMDGPU/SIInstructions.td
    M llvm/lib/Target/AMDGPU/Utils/AMDGPUBaseInfo.cpp
    M llvm/test/Analysis/UniformityAnalysis/AMDGPU/MIR/atomics-gmir.mir
    M llvm/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.global.atomic.csub.ll
    A llvm/test/CodeGen/AMDGPU/atomicrmw_usub_cond.ll
    A llvm/test/CodeGen/AMDGPU/atomicrmw_usub_sat.ll
    M llvm/test/CodeGen/AMDGPU/atomics_cond_sub.ll
    A llvm/test/CodeGen/AMDGPU/buffer-fat-pointer-atomicrmw-usub_cond.ll
    A llvm/test/CodeGen/AMDGPU/buffer-fat-pointer-atomicrmw-usub_sat.ll
    M llvm/test/CodeGen/AMDGPU/cgp-addressing-modes-gfx1030.ll
    M llvm/test/CodeGen/AMDGPU/global-saddr-atomics.gfx1030.ll
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.global.atomic.csub.ll
    M llvm/test/CodeGen/AMDGPU/private-memory-atomics.ll
    M llvm/test/CodeGen/AMDGPU/shl_add_ptr_csub.ll
    M llvm/test/Transforms/AtomicExpand/AMDGPU/expand-atomic-i16-system.ll
    M llvm/test/Transforms/AtomicExpand/AMDGPU/expand-atomic-i16.ll
    M llvm/test/Transforms/AtomicExpand/AMDGPU/expand-atomic-i32-agent.ll
    M llvm/test/Transforms/AtomicExpand/AMDGPU/expand-atomic-i32-system.ll
    M llvm/test/Transforms/AtomicExpand/AMDGPU/expand-atomic-i64-agent.ll
    M llvm/test/Transforms/AtomicExpand/AMDGPU/expand-atomic-i64-system.ll
    M llvm/test/Transforms/AtomicExpand/AMDGPU/expand-atomic-i8-system.ll
    M llvm/test/Transforms/AtomicExpand/AMDGPU/expand-atomic-i8.ll

  Log Message:
  -----------
  AMDGPU: Add codegen for atomicrmw operations usub_cond and usub_sat (#141068)

Split off from https://github.com/llvm/llvm-project/pull/105553 as per
discussion there.


  Commit: b36f89faed59cc37da969a3515b8b2f1539667bd
      https://github.com/llvm/llvm-project/commit/b36f89faed59cc37da969a3515b8b2f1539667bd
  Author: Jay Foad <jay.foad at amd.com>
  Date:   2025-12-05 (Fri, 05 Dec 2025)

  Changed paths:
    M llvm/lib/Target/AMDGPU/AMDGPUISelLowering.cpp
    M llvm/lib/Target/AMDGPU/AMDGPUInstructions.td
    M llvm/lib/Target/AMDGPU/EvergreenInstructions.td
    M llvm/lib/Target/AMDGPU/SIISelLowering.cpp
    M llvm/lib/Target/AMDGPU/SIInstructions.td
    M llvm/test/CodeGen/AMDGPU/packetizer.ll
    M llvm/test/CodeGen/AMDGPU/permute.ll
    M llvm/test/CodeGen/AMDGPU/rotl.ll
    M llvm/test/CodeGen/AMDGPU/rotr.ll
    M llvm/test/CodeGen/AMDGPU/shl.ll

  Log Message:
  -----------
  [AMDGPU] Make rotr illegal (#166558)

fshr is already legal and is strictly more powerful than rotr, so we
should only need selection patterns for fshr.


  Commit: f827e4d1cf659da350f49911dcee2ac5f88ae5a2
      https://github.com/llvm/llvm-project/commit/f827e4d1cf659da350f49911dcee2ac5f88ae5a2
  Author: Ebuka Ezike <yerimyah1 at gmail.com>
  Date:   2025-12-05 (Fri, 05 Dec 2025)

  Changed paths:
    M lldb/tools/lldb-dap/DAPLog.cpp

  Log Message:
  -----------
  [lldb-dap] show a useful timestamp in log messages (#170737)

It becomes easier to see the time difference between requests and
responses


  Commit: 64e3bcdd1ff18aebf32156f7bf4f89d3f320447c
      https://github.com/llvm/llvm-project/commit/64e3bcdd1ff18aebf32156f7bf4f89d3f320447c
  Author: Jay Foad <jay.foad at amd.com>
  Date:   2025-12-05 (Fri, 05 Dec 2025)

  Changed paths:
    M llvm/lib/Target/AMDGPU/SIInsertWaitcnts.cpp

  Log Message:
  -----------
  [AMDGPU] Add an assertion. NFCI.


  Commit: 4ada42ede21cf54019d91f595d3a42f93ed7d3fa
      https://github.com/llvm/llvm-project/commit/4ada42ede21cf54019d91f595d3a42f93ed7d3fa
  Author: Mehdi Amini <joker.eph at gmail.com>
  Date:   2025-12-05 (Fri, 05 Dec 2025)

  Changed paths:
    M mlir/lib/Conversion/XeVMToLLVM/XeVMToLLVM.cpp

  Log Message:
  -----------
  [MLIR] Apply clang-tidy fixes for llvm-qualified-auto in XeVMToLLVM.cpp (NFC)


  Commit: 90a14d23f306f3e879ef04ea0058927294018b33
      https://github.com/llvm/llvm-project/commit/90a14d23f306f3e879ef04ea0058927294018b33
  Author: Koakuma <koachan at protonmail.com>
  Date:   2025-12-05 (Fri, 05 Dec 2025)

  Changed paths:
    M llvm/test/CodeGen/SPARC/optcompare.ll

  Log Message:
  -----------
  [SPARC][NFC] Update optcompare test that always returns false (#170025)


  Commit: 0ecac6d5b9a9907e534e6d0d43d4838be288363b
      https://github.com/llvm/llvm-project/commit/0ecac6d5b9a9907e534e6d0d43d4838be288363b
  Author: Jay Foad <jay.foad at amd.com>
  Date:   2025-12-05 (Fri, 05 Dec 2025)

  Changed paths:
    M llvm/lib/Target/AMDGPU/SIInsertWaitcnts.cpp

  Log Message:
  -----------
  [AMDGPU] Inherit constructors from WaitcntGenerator. NFC. (#170845)


  Commit: e6d1deae3e538ff84e8ef0a4fa2c711da8ce009c
      https://github.com/llvm/llvm-project/commit/e6d1deae3e538ff84e8ef0a4fa2c711da8ce009c
  Author: Maksim Levental <maksim.levental at gmail.com>
  Date:   2025-12-05 (Fri, 05 Dec 2025)

  Changed paths:
    M mlir/lib/Bindings/Python/NanobindUtils.h
    M mlir/test/python/ir/operation.py

  Log Message:
  -----------
  [MLIR][Python] make Sliceable inherit from Sequence (#170551)

Generates type stubs like

```python
class RegionSequence(Sequence[Region]):
    def __add__(self, arg: RegionSequence, /) -> list[Region]: ...

    def __iter__(self) -> RegionIterator:
        """Returns an iterator over the regions in the sequence."""
```


  Commit: 691893ea457a5db4803620f763dd0df91981bc58
      https://github.com/llvm/llvm-project/commit/691893ea457a5db4803620f763dd0df91981bc58
  Author: Mehdi Amini <joker.eph at gmail.com>
  Date:   2025-12-05 (Fri, 05 Dec 2025)

  Changed paths:
    M mlir/lib/Dialect/ArmSME/Transforms/OuterProductFusion.cpp

  Log Message:
  -----------
  [MLIR] Apply clang-tidy fixes for llvm-qualified-auto in OuterProductFusion.cpp (NFC)


  Commit: 39429dd3522f16aa5670265a1df6fbe63edcda84
      https://github.com/llvm/llvm-project/commit/39429dd3522f16aa5670265a1df6fbe63edcda84
  Author: mitchell <mitchell.xu2 at gmail.com>
  Date:   2025-12-05 (Fri, 05 Dec 2025)

  Changed paths:
    A clang-tools-extra/clang-tidy/tool/check_alphabetical_order.py
    A clang-tools-extra/clang-tidy/tool/check_alphabetical_order_test.py
    A clang-tools-extra/test/clang-tidy/infrastructure/alphabetical-order.test
    M clang-tools-extra/test/lit.cfg.py

  Log Message:
  -----------
  [clang-tidy] Implement alphabetical order check (#166072)

The patch implements `clang-tidy-alphabetical-order-check.py`, a small
Python tool to normalize clang-tidy docs with deterministic ordering.

It currently checks these two files:
-
https://github.com/llvm/llvm-project/blob/main/clang-tools-extra/docs/clang-tidy/checks/list.rst?plain=1
-
https://github.com/llvm/llvm-project/blob/main/clang-tools-extra/docs/ReleaseNotes.rst?plain=1

Closes #166021

---------

Co-authored-by: EugeneZelenko <eugene.zelenko at gmail.com>


  Commit: 17e0bacb1799c7d6d7fd35f503f5ed61735c6894
      https://github.com/llvm/llvm-project/commit/17e0bacb1799c7d6d7fd35f503f5ed61735c6894
  Author: Nico Weber <thakis at chromium.org>
  Date:   2025-12-05 (Fri, 05 Dec 2025)

  Changed paths:
    M llvm/utils/gn/secondary/clang-tools-extra/clangd/BUILD.gn
    A llvm/utils/gn/secondary/clang/lib/DependencyScanning/BUILD.gn
    M llvm/utils/gn/secondary/clang/lib/Tooling/BUILD.gn
    R llvm/utils/gn/secondary/clang/lib/Tooling/DependencyScanning/BUILD.gn
    M llvm/utils/gn/secondary/clang/tools/clang-scan-deps/BUILD.gn
    M llvm/utils/gn/secondary/clang/unittests/BUILD.gn
    A llvm/utils/gn/secondary/clang/unittests/DependencyScanning/BUILD.gn
    M llvm/utils/gn/secondary/clang/unittests/Tooling/BUILD.gn

  Log Message:
  -----------
  [gn] port b70be3dc14c1f54 (clang/lib/DependencyScanning)


  Commit: b01b273409235116c35c3598e1700bd510f8a603
      https://github.com/llvm/llvm-project/commit/b01b273409235116c35c3598e1700bd510f8a603
  Author: Pavel Rosický <pdahorek at seznam.cz>
  Date:   2025-12-05 (Fri, 05 Dec 2025)

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

  Log Message:
  -----------
  [Support][Windows] disk_space handle unicode paths (#170716)

replaces GetDiskFreeSpaceExA with GetDiskFreeSpaceExW to handle user
paths with Unicode characters

fixes: https://github.com/llvm/llvm-project/issues/170571

I’m not entirely sure the fix is correct, so I’d appreciate it if
someone more familiar with the code could review it. Thanks!


  Commit: 6b040b4b4f69b99c33281e8da4d93d487a2d2588
      https://github.com/llvm/llvm-project/commit/6b040b4b4f69b99c33281e8da4d93d487a2d2588
  Author: David Spickett <david.spickett at linaro.org>
  Date:   2025-12-05 (Fri, 05 Dec 2025)

  Changed paths:
    M lldb/source/Plugins/Process/gdb-remote/ProcessGDBRemote.cpp

  Log Message:
  -----------
  [lldb] Issue a warning when Target XML should have been used but we do not have libxml2 (#170663)

If you connect lldb without libxml2 enabled, to a debug stub,
that server may offer Target XML but lldb will not use it. This
often causes incorrect or missing registers.

So much so that I think users should be made aware of this so
they can find an lldb with libxml2 enabled.

This warning will only be printed when:
* The debug server offered us Target XML but lldb does not have libxml2,
and -
* qRegisterInfo was not supported by the debug server.

This means that (lldb without libxml2) -> (lldb-server or debugserver)
will not warn as we'll fall back to qRegisterInfo. All that's
potentially
missing is advanced register formatting information, which most people
won't notice is missing anyway. If they do, the logs contain information
about this.

If you connect (lldb without libxml2) > (gdbserver, or a stub inspired
by it)
you will see this warning. As they do not support qRegisterInfo.

```
$ ./bin/lldb /tmp/test.o -o "gdb-remote 1234"
(lldb) target create "/tmp/test.o"
Current executable set to '/tmp/test.o' (aarch64).
(lldb) gdb-remote 1234
warning: the debug server supports Target Description XML but LLDB does not have XML parsing enabled. Using "qRegisterInfo" was also not possible. Register information may be incorrect or missing.
```

When qRegisterInfo is not supported, there are 4 possible situations.

1. The debug server offered Target XML and we do not have libxml2

We should warn the user so they can find an lldb with libxml2.

2. The debug server offered Target XML but it was not valid XML

Ideally we'd warn here too, but the error handling needs more
work to implement this, and there is logging for it if you know
where to look.

3. The debug server did not offer Target XML and we have libxml2
4. The debug server did not offer Target XML and we do have libxml2

There's no XML to parse, so no reason to warn. The user is not getting
a worse debug experience because we lack libxml2.

Their only course of action here would be to replace the debug stub.
Given that this occurs a lot with stubs embedded in kernels or debug
hardware, they may not have a choice either.


  Commit: 1df7b512bde79a2580e1599b9e5a01b3505f7659
      https://github.com/llvm/llvm-project/commit/1df7b512bde79a2580e1599b9e5a01b3505f7659
  Author: Vladimir Vuksanovic <109677816+vvuksanovic at users.noreply.github.com>
  Date:   2025-12-05 (Fri, 05 Dec 2025)

  Changed paths:
    M clang/docs/ReleaseNotes.rst
    M clang/include/clang/Basic/DiagnosticGroups.td
    M clang/include/clang/Basic/DiagnosticSemaKinds.td
    M clang/include/clang/Sema/Sema.h
    M clang/lib/Sema/SemaChecking.cpp
    M clang/lib/Sema/SemaDeclAttr.cpp
    A clang/test/Sema/format-attr-missing-gnu.c
    A clang/test/Sema/format-attr-missing.c
    A clang/test/Sema/format-attr-missing.cpp
    A clang/test/Sema/format-attr-missing.m
    M clang/test/Sema/format-strings-scanf.c
    M clang/test/Sema/format-strings.c
    M clang/test/SemaCXX/format-strings.cpp
    M clang/test/SemaObjC/format-strings-objc.m

  Log Message:
  -----------
  [Sema] Suggest missing format attributes (#166738)

Implements the `-Wmissing-format-attribute` diagnostic as a subgroup of
`-Wformat-nonliteral`. It suggests adding format attributes to function
declarations that call other format functions and pass the format string
to them.

This is an updated implementation of #105479.

---------

Co-authored-by: Budimir Arandjelovic <budimir.arandjelovic at htecgroup.com>


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

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

  Log Message:
  -----------
  [X86] EltsFromConsecutiveLoads - only attempt to recognise reverse patterns from all load element patterns (#170852)

Noticed while investigating a regression reported after #168706 - don't
attempt this if any elements are zero/undef - there is a potential issue
with reverse(insert_subvector(undef,load(),0)) patterns - but I haven't
managed to create a fail case.


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

  Changed paths:
    M libcxx/docs/VendorDocumentation.rst
    M libcxx/include/__configuration/availability.h

  Log Message:
  -----------
  [libc++] Move the documentation for availability to our RST docs (#169371)

We have quite a bit of documentation inside <__configuration/availability.h>
about the availability markups. This documentation would be better to have as
part of our general documentation to improve discoverability. A link to the
new location is added to <__configuration/availability.h> as well.


  Commit: 0064f764430bef44c0021c50cac509fbe6488157
      https://github.com/llvm/llvm-project/commit/0064f764430bef44c0021c50cac509fbe6488157
  Author: Nico Weber <thakis at chromium.org>
  Date:   2025-12-05 (Fri, 05 Dec 2025)

  Changed paths:
    M llvm/utils/gn/build/sync_source_lists_from_cmake.py

  Log Message:
  -----------
  [gn] Make sync script handle removing singular sources

Without this, syncing the unittests/Passes change in a25e3674ae65
didn't work right: it'd add the new file, but not remove the old one,
because it wasn't followed by a `,` due to being a one-element list.


  Commit: fb1c5638ce9d22dddb13517945ca1e6e2b751909
      https://github.com/llvm/llvm-project/commit/fb1c5638ce9d22dddb13517945ca1e6e2b751909
  Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
  Date:   2025-12-05 (Fri, 05 Dec 2025)

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

  Log Message:
  -----------
  [gn build] Port 1a09ac584cee


  Commit: 78fb0f875dae392389abd9f5f2181e8ebed166ba
      https://github.com/llvm/llvm-project/commit/78fb0f875dae392389abd9f5f2181e8ebed166ba
  Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
  Date:   2025-12-05 (Fri, 05 Dec 2025)

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

  Log Message:
  -----------
  [gn build] Port 5911754a3085


  Commit: 03afb4f528b2d6edc04853b784d555653e803d9e
      https://github.com/llvm/llvm-project/commit/03afb4f528b2d6edc04853b784d555653e803d9e
  Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
  Date:   2025-12-05 (Fri, 05 Dec 2025)

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

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


  Commit: accf0de9902b6031d6a5eaa1cccd23ec2b820dc2
      https://github.com/llvm/llvm-project/commit/accf0de9902b6031d6a5eaa1cccd23ec2b820dc2
  Author: Jack <30296634+jack-slingsby at users.noreply.github.com>
  Date:   2025-12-05 (Fri, 05 Dec 2025)

  Changed paths:
    M mlir/lib/Dialect/Index/IR/IndexDialect.cpp
    A mlir/test/Dialect/Index/inliner-interface.mlir

  Log Message:
  -----------
  [mlir] Add inliner interface to the index dialect (#170459)

Add the inliner interface to the index dialect allowing the `inline`
pass to inline all index operations.


  Commit: 5e10d2106ab48918325e4839820cdb959ddde5bb
      https://github.com/llvm/llvm-project/commit/5e10d2106ab48918325e4839820cdb959ddde5bb
  Author: Nikita Popov <npopov at redhat.com>
  Date:   2025-12-05 (Fri, 05 Dec 2025)

  Changed paths:
    M llvm/lib/Transforms/Utils/SimplifyLibCalls.cpp

  Log Message:
  -----------
  [SimplifyLibCalls] Use ConstantInt::getSigned() in some places

This ensures proper sign extension. Doesn't matter in practice right
now, but will once ConstantInt::get() becomes stricter.


  Commit: fde7819ad10001542d41e72ffd29b34f828c0794
      https://github.com/llvm/llvm-project/commit/fde7819ad10001542d41e72ffd29b34f828c0794
  Author: Matt Arsenault <Matthew.Arsenault at amd.com>
  Date:   2025-12-05 (Fri, 05 Dec 2025)

  Changed paths:
    M llvm/include/llvm/CodeGen/TargetLowering.h
    M llvm/lib/CodeGen/SelectionDAG/LegalizeFloatTypes.cpp
    M llvm/lib/CodeGen/SelectionDAG/LegalizeIntegerTypes.cpp
    M llvm/lib/CodeGen/SelectionDAG/TargetLowering.cpp

  Log Message:
  -----------
  DAG: Add overload of makeLibCall which calls an RTLIB::LibcallImpl (#170584)


  Commit: 01ce3e296b7bb5cca3f9aee5e9b3517312c58736
      https://github.com/llvm/llvm-project/commit/01ce3e296b7bb5cca3f9aee5e9b3517312c58736
  Author: Radovan Božić <radovan.bozic at htecgroup.com>
  Date:   2025-12-05 (Fri, 05 Dec 2025)

  Changed paths:
    M clang/include/clang/Basic/Builtins.h
    M clang/include/clang/Basic/Builtins.td
    M clang/include/clang/Basic/BuiltinsBase.td
    M clang/lib/Basic/Builtins.cpp
    M clang/lib/Sema/SemaDecl.cpp
    A clang/test/Sema/format-strings-nonnull.c
    A clang/test/Sema/format-strings-nonnull.cpp
    M clang/test/Sema/format-strings.c
    M clang/test/Sema/warn-fortify-scanf.c
    M clang/test/SemaCXX/format-strings-0x.cpp
    M clang/test/SemaObjC/format-strings-objc.m

  Log Message:
  -----------
  [clang][sema] Add nonnull attribute to builtin format functions (#160988)

Annotate printf/scanf and related builtins with the nonnull attribute on
their format string parameters. This enables diagnostics when NULL is
passed, matching GCC behavior. Updated existing Sema tests and added new
ones for coverage. Closes issue #33923


  Commit: 5ca9822fa8362ffe77469920fdbfbab5c8f684cf
      https://github.com/llvm/llvm-project/commit/5ca9822fa8362ffe77469920fdbfbab5c8f684cf
  Author: Matt Arsenault <Matthew.Arsenault at amd.com>
  Date:   2025-12-05 (Fri, 05 Dec 2025)

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

  Log Message:
  -----------
  DAG: Avoid asserting on libcall action if function is unavailable (#170585)


  Commit: 3ea796e02362b3dfe4cac4cb8517ec3484675c5d
      https://github.com/llvm/llvm-project/commit/3ea796e02362b3dfe4cac4cb8517ec3484675c5d
  Author: Sergei Barannikov <barannikov88 at gmail.com>
  Date:   2025-12-05 (Fri, 05 Dec 2025)

  Changed paths:
    M llvm/lib/Target/Mips/CMakeLists.txt
    M llvm/lib/Target/Mips/Mips32r6InstrInfo.td
    M llvm/lib/Target/Mips/MipsDSPInstrInfo.td
    M llvm/lib/Target/Mips/MipsISelLowering.cpp
    M llvm/lib/Target/Mips/MipsISelLowering.h
    M llvm/lib/Target/Mips/MipsInstrFPU.td
    M llvm/lib/Target/Mips/MipsInstrInfo.td
    M llvm/lib/Target/Mips/MipsMSAInstrInfo.td
    M llvm/lib/Target/Mips/MipsRegisterInfo.td
    M llvm/lib/Target/Mips/MipsSelectionDAGInfo.cpp
    M llvm/lib/Target/Mips/MipsSelectionDAGInfo.h

  Log Message:
  -----------
  [Mips] TableGen-erate SDNode descriptions (#168307)

This allows SDNodes to be validated against their expected type profiles
and reduces the number of changes required to add a new node.

Many DSP nodes were failing validation, this is fixed as part of this
PR.

Part of #119709.

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


  Commit: 72402e8b6709818915debf8cbd6a78faf8849df8
      https://github.com/llvm/llvm-project/commit/72402e8b6709818915debf8cbd6a78faf8849df8
  Author: Chenguang Wang <w3cing at gmail.com>
  Date:   2025-12-05 (Fri, 05 Dec 2025)

  Changed paths:
    M libcxx/include/CMakeLists.txt
    M libcxx/include/__locale_dir/locale_base_api.h
    A libcxx/include/__locale_dir/support/newlib.h
    M libcxx/include/module.modulemap.in

  Log Message:
  -----------
  [libc++] Support using Newlib as libc with locale support. (#167962)

Tested on Newlib v4.5.0. The newlib.h was mostly copied from linux.h
within the same directory.

Newlib locale support was initially added in http://llvm.org/D5385,
but removed in #113721 , because of revision http://llvm.org/D49927.


  Commit: c1e17e59922b52afc548f59ed2f4e2a2121f10db
      https://github.com/llvm/llvm-project/commit/c1e17e59922b52afc548f59ed2f4e2a2121f10db
  Author: Utkarsh Saxena <usx at google.com>
  Date:   2025-12-05 (Fri, 05 Dec 2025)

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

  Log Message:
  -----------
  [ThreadSafety] Ignore parameter destructors (#170843)

Fixes a false positive in thread safety analysis when function
parameters have lock/unlock annotations in their constructor/destructor.

PR #169320 added destructors to the CFG, which introduced false
positives in thread safety analysis for function parameters. According
to [expr.call#6](https://eel.is/c++draft/expr.call#6), parameter
initialization occurs in the caller's context while destruction occurs
in the callee's context.

```cpp
class A {
 public:
  A() EXCLUSIVE_LOCK_FUNCTION(mu_) { mu_.Lock(); }
  ~A() UNLOCK_FUNCTION(mu_) { mu_.Unlock(); }
 private:
  Mutex mu_;
};

int do_something(A a) {  // Previously: false positive warning
  return 0;
}
```

Previously, thread safety analysis would see the destructor (unlock) in
`do_something` but not the corresponding constructor (lock) that
happened in the caller's context, causing a false positive.


  Commit: d8171e633062eaac2a8a22caf2c256744cd6512a
      https://github.com/llvm/llvm-project/commit/d8171e633062eaac2a8a22caf2c256744cd6512a
  Author: Piotr Fusik <p.fusik at samsung.com>
  Date:   2025-12-05 (Fri, 05 Dec 2025)

  Changed paths:
    M llvm/include/llvm/CodeGen/TargetInstrInfo.h

  Log Message:
  -----------
  [CodeGen][NFC] Update Doxygen references to renamed parameters (#170253)

The parameters were renamed in cfe0393b8269b85e199025b2350277563f43cd29
and 6e70c370e5e8eb5d9035c65d6c4f2a2687e099b6.


  Commit: f47bf010587fd5c9ea418468bb1f71395cc21788
      https://github.com/llvm/llvm-project/commit/f47bf010587fd5c9ea418468bb1f71395cc21788
  Author: Jordan Rupprecht <rupprecht at google.com>
  Date:   2025-12-05 (Fri, 05 Dec 2025)

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

  Log Message:
  -----------
  [bazel][mlir] Port accf0de9902b6031d6a5eaa1cccd23ec2b820dc2: index dialect deps (#170866)


  Commit: 03e42c97c7c0f6df51e3298cafa60b1f1e59c0b9
      https://github.com/llvm/llvm-project/commit/03e42c97c7c0f6df51e3298cafa60b1f1e59c0b9
  Author: Yaxun (Sam) Liu <yaxun.liu at amd.com>
  Date:   2025-12-05 (Fri, 05 Dec 2025)

  Changed paths:
    M clang/docs/HIPSupport.rst
    M clang/docs/ReleaseNotes.rst
    M clang/include/clang/Basic/DiagnosticSemaKinds.td
    M clang/lib/Sema/SemaCUDA.cpp
    M clang/lib/Sema/SemaDeclAttr.cpp
    M clang/lib/Sema/SemaTemplateDeductionGuide.cpp
    A clang/test/SemaCUDA/deduction-guide-attrs.cu
    A clang/test/SemaCUDA/deduction-guide-overload.cu
    A clang/test/SemaCUDA/deduction-guide.cu

  Log Message:
  -----------
  Reland [CUDA][HIP] Fix CTAD for host/device constructors (#168711) (#170481)

Clang currently does not allow using CTAD in CUDA/HIP device functions
since deduction guides are treated as host-only. This patch fixes that
by treating deduction guides as host+device. The rationale is that
deduction guides do not actually generate code in IR, and there is an
existing check for device/host correctness for constructors.

The patch also suppresses duplicate implicit deduction guides from
host/device constructors with identical signatures and constraints to
prevent ambiguity.

For CUDA/HIP, deduction guides are now always implicitly enabled for
both host and device, which matches nvcc's effective behavior. Unlike
nvcc, which silently ignores explicit CUDA/HIP target attributes on
deduction guides, Clang diagnoses device- and host-only attributes as
errors to keep the syntax clean and avoid confusion.

This ensures CTAD works correctly in CUDA/HIP for constructors with
different target attributes and provides clearer diagnostics when users
attempt to annotate deduction guides with CUDA/HIP target attributes.

Example:

```
  #include <tuple>

  __host__ __device__ void func()
  {
    std::tuple<int, int> t = std::tuple(1, 1);
  }
```

This compiles with nvcc but fails with clang for CUDA/HIP without this
fix.

Reference: https://godbolt.org/z/WhT1GrhWE

Fixes: https://github.com/ROCm/ROCm/issues/5646

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


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

  Changed paths:
    M clang/include/clang/AST/PrettyPrinter.h
    M clang/lib/AST/Decl.cpp
    M clang/lib/ASTMatchers/ASTMatchersInternal.cpp
    M clang/lib/CIR/CodeGen/CIRGenTypes.cpp
    M clang/lib/CodeGen/CGDebugInfo.cpp
    M clang/lib/CodeGen/CodeGenTypes.cpp
    M lldb/source/Plugins/TypeSystem/Clang/TypeSystemClang.cpp

  Log Message:
  -----------
  [clang][TypePrinter][NFC] Make SuppressInlineNamespaceMode an enum class (#170802)

The enum cases for `SuppressInlineNamespaceMode` leaked into the rest of
`PrintingPolicy`, meaning if we wanted to introduce another enum (which
I'm planning on doing in an unrelated PR), then `All`/`None`/`Redundant`
are all already taken, which are quite useful names.

This patch turns `SuppressInlineNamespaceMode` into an `enum class`,
freeing up the names for use by other future enums in `PrintingPolicy`.

Unfortunately that means we have to cast the values when assigning to
`PrintingPolicy::SuppressInlineNamespace`, because its actual type is
`unsigned`. But if we ever make the bitfields have proper enumeration
types (which AFAIU is dependent on an MSVC codegen fix), then we can get
rid of those casts.

While doing this I found three instances of assigning booleans to
`SuppressInlineNamespace`. I added a FIXME in LLDB to check what the
intended value of the enum should be.


  Commit: 2833d9f15ad9443594e1a23878f7e531116aeaa5
      https://github.com/llvm/llvm-project/commit/2833d9f15ad9443594e1a23878f7e531116aeaa5
  Author: Jake Egan <Jake.egan at ibm.com>
  Date:   2025-12-05 (Fri, 05 Dec 2025)

  Changed paths:
    M compiler-rt/lib/asan/asan_interceptors.h

  Log Message:
  -----------
  [NFC][asan] Fix formatting of asan_interceptors.h (#170361)

Format the whole `asan_interceptors.h` file to prepare for some changes
in PR https://github.com/llvm/llvm-project/pull/131870.


  Commit: d743616c87ffc0347785f851e46534fcc675382a
      https://github.com/llvm/llvm-project/commit/d743616c87ffc0347785f851e46534fcc675382a
  Author: Jordan Rupprecht <rupprecht at google.com>
  Date:   2025-12-05 (Fri, 05 Dec 2025)

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

  Log Message:
  -----------
  [bazel][Mips] Port 3ea796e02362b3dfe4cac4cb8517ec3484675c5d: sdnode tablegen (#170869)


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

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

  Log Message:
  -----------
  [gn] port 3ea796e0236 (Mips SDNodeInfo)


  Commit: 58b71403868ca3dc20d01f0c7e66b8ec5b31a162
      https://github.com/llvm/llvm-project/commit/58b71403868ca3dc20d01f0c7e66b8ec5b31a162
  Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
  Date:   2025-12-05 (Fri, 05 Dec 2025)

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

  Log Message:
  -----------
  [gn build] Port 72402e8b6709


  Commit: 716fffe53059456011619549b1330490ec3cf7f8
      https://github.com/llvm/llvm-project/commit/716fffe53059456011619549b1330490ec3cf7f8
  Author: Matt Arsenault <Matthew.Arsenault at amd.com>
  Date:   2025-12-05 (Fri, 05 Dec 2025)

  Changed paths:
    M llvm/include/llvm/IR/RuntimeLibcalls.td
    A llvm/test/Transforms/Util/DeclareRuntimeLibcalls/aix.ll

  Log Message:
  -----------
  PowerPC: Add vec_malloc functions to AIX in RuntimeLibcalls (#167089)


  Commit: 23f09fd3e9efd43c58dcc42f001aeda139f429f8
      https://github.com/llvm/llvm-project/commit/23f09fd3e9efd43c58dcc42f001aeda139f429f8
  Author: Jerry Dang <kuroyukiasuna at gmail.com>
  Date:   2025-12-05 (Fri, 05 Dec 2025)

  Changed paths:
    M llvm/lib/Transforms/Vectorize/VectorCombine.cpp
    A llvm/test/Transforms/VectorCombine/AArch64/shuffle-of-intrinsic-permute.ll
    M llvm/test/Transforms/VectorCombine/AArch64/shuffletoidentity.ll
    M llvm/test/Transforms/VectorCombine/X86/shuffle-of-fma-const.ll

  Log Message:
  -----------
  [VectorCombine] Fold permute of intrinsics into intrinsic of permutes: shuffle(intrinsic, poison/undef) -> intrinsic(shuffle) (#170052)

[VectorCombine] Fold permute of intrinsics into intrinsic of permutes

Add foldPermuteOfIntrinsic to transform:
  shuffle(intrinsic(args), poison) -> intrinsic(shuffle(args))
when the shuffle is a permute (operates on single vector) and the cost
model determines the transformation is profitable.

This optimization is particularly beneficial for subvector extractions
where we can avoid computing unused elements.

For example:
  %fma = call <8 x float> @llvm.fma.v8f32(<8 x float> %a, %b, %c)
  %result = shufflevector <8 x float> %fma, poison, <4 x i32> <0,1,2,3>
transforms to:
  %a_low = shufflevector <8 x float> %a, poison, <4 x i32> <0,1,2,3>
  %b_low = shufflevector <8 x float> %b, poison, <4 x i32> <0,1,2,3>
  %c_low = shufflevector <8 x float> %c, poison, <4 x i32> <0,1,2,3>
  %result = call <4 x float> @llvm.fma.v4f32(%a_low, %b_low, %c_low)

The transformation creates one shuffle per vector argument and calls the
intrinsic with smaller vector types, reducing computation when only a
subset of elements is needed.

The existing foldShuffleOfIntrinsics handled the blend case (two
intrinsic inputs), this adds support for the permute case (single
intrinsic input).

Fixes #170002


  Commit: d98412572142ce759a4462fadc528ac733c93b40
      https://github.com/llvm/llvm-project/commit/d98412572142ce759a4462fadc528ac733c93b40
  Author: Gergely Bálint <gergely.balint at arm.com>
  Date:   2025-12-05 (Fri, 05 Dec 2025)

  Changed paths:
    M bolt/include/bolt/Core/MCPlusBuilder.h
    M bolt/lib/Passes/Instrumentation.cpp
    M bolt/lib/Target/AArch64/AArch64MCPlusBuilder.cpp
    M bolt/runtime/instr.cpp
    M bolt/runtime/sys_aarch64.h
    M bolt/test/runtime/AArch64/instrumentation-ind-call.c

  Log Message:
  -----------
  Revert "[BOLT][AArch64] Fixed indirect call instrumentation snippet" (#170874)

Reverts llvm/llvm-project#141918

The patch broke a buildbot while applying instrumentation:
https://lab.llvm.org/buildbot/#/builders/128/builds/8866

Reverting until the issue is triaged.

Co-authored-by: Paschalis Mpeis <paschalis.mpeis at arm.com>


  Commit: 7f2e6f128d2e8bc20bb95ddd9af9e23ea8fea5d2
      https://github.com/llvm/llvm-project/commit/7f2e6f128d2e8bc20bb95ddd9af9e23ea8fea5d2
  Author: Amina Chabane <amina.chabane at arm.com>
  Date:   2025-12-05 (Fri, 05 Dec 2025)

  Changed paths:
    M clang/include/clang/Basic/TargetBuiltins.h
    M clang/include/clang/Basic/arm_sve.td
    M clang/include/clang/Basic/arm_sve_sme_incl.td
    M clang/lib/CodeGen/TargetBuiltins/ARM.cpp
    A clang/test/CodeGen/AArch64/sve-intrinsics/acle_sve_fmmla-f32f16.c
    M clang/test/CodeGen/AArch64/sve-intrinsics/acle_sve_matmul_fp32.c
    M clang/test/CodeGen/AArch64/sve-intrinsics/acle_sve_matmul_fp64.c
    A clang/test/CodeGen/AArch64/sve2-intrinsics/acle_sve2_fmmla-f16mf8.c
    A clang/test/CodeGen/AArch64/sve2-intrinsics/acle_sve2_fmmla-f32mf8.c
    M llvm/include/llvm/IR/IntrinsicsAArch64.td
    M llvm/lib/Target/AArch64/AArch64SVEInstrInfo.td
    M llvm/lib/Target/AArch64/SVEInstrFormats.td
    A llvm/test/CodeGen/AArch64/sve-fmmla-f32f16.ll
    A llvm/test/CodeGen/AArch64/sve2-fmmla-f16mf8.ll
    A llvm/test/CodeGen/AArch64/sve2-fmmla-f32mf8.ll

  Log Message:
  -----------
  [Clang][AArch64] Implement widening FMMLA intrinsics (#165282)

Proposed in [this ACLE
proposal](https://github.com/ARM-software/acle/pull/409), this PR
implements widening FMMLA intrinsics.

- F16 to F32
- MF8 to F32
- MF8 to F16

Additional changes:
- IsOverloadCvt flag renamed to IsOverloadFirstandLast for clarity, as
the name implies conversion. Implementation remains unchanged.


  Commit: 41f00cb3dec39f13a21cf635528bbc36c2c0c965
      https://github.com/llvm/llvm-project/commit/41f00cb3dec39f13a21cf635528bbc36c2c0c965
  Author: AidinT <at.aidin at gmail.com>
  Date:   2025-12-05 (Fri, 05 Dec 2025)

  Changed paths:
    M mlir/docs/Interfaces.md
    M mlir/include/mlir/IR/Interfaces.td
    M mlir/include/mlir/TableGen/Interfaces.h
    M mlir/include/mlir/Transforms/CMakeLists.txt
    A mlir/include/mlir/Transforms/DialectInlinerInterface.td
    M mlir/include/mlir/Transforms/InliningUtils.h
    M mlir/lib/TableGen/Interfaces.cpp
    M mlir/lib/Transforms/CMakeLists.txt
    A mlir/test/mlir-tblgen/dialect-interface.td
    M mlir/tools/mlir-tblgen/CMakeLists.txt
    A mlir/tools/mlir-tblgen/DialectInterfacesGen.cpp

  Log Message:
  -----------
  [MLIR] feat(mlir-tblgen): Add support for dialect interfaces (#170046)

Currently, Dialect Interfaces can't be defined in ODS. This PR adds the
support for dialect interfaces. It follows the same approach with other
interfaces and extends on top of `Interface` class defined in
`mlir/TableGen/Interfaces.h`.

Given the following input:

```tablegen
#ifndef MY_INTERFACES
#define MY_INTERFACES

include "mlir/IR/Interfaces.td"

def DialectInlinerInterface : DialectInterface<"DialectInlinerInterface"> {
  let description = [{
     Define a base inlining interface class to allow for dialects to opt-in to the inliner.
  }];

  let cppNamespace = "::mlir";

  let methods = [
    InterfaceMethod<
      /*desc=*/        [{
        Returns true if the given region 'src' can be inlined into the region
        'dest' that is attached to an operation registered to the current dialect.
        'valueMapping' contains any remapped values from within the 'src' region.
        This can be used to examine what values will replace entry arguments into
        the 'src' region, for example.
      }],
      /*returnType=*/  "bool",
      /*methodName=*/  "isLegalToInline",
      /*args=*/        (ins "::mlir::Region *":$dest, "::mlir::Region *":$src, "::mlir::IRMapping &":$valueMapping),
      /*methodBody=*/  [{
        return true;
      }]
      >
  ];
}


#endif
```

It will generate the following code:

```cpp
/*===- TableGen'erated file -------------------------------------*- C++ -*-===*\
|*                                                                            *|
|* Dialect Interface Declarations                                             *|
|*                                                                            *|
|* Automatically generated file, do not edit!                                 *|
|*                                                                            *|
\*===----------------------------------------------------------------------===*/

namespace mlir {

/// Define a base inlining interface class to allow for dialects to opt-in to the inliner.
class DialectInlinerInterface : public ::mlir::DialectInterface::Base<DialectInlinerInterface> {
public:

  /// Returns true if the given region 'src' can be inlined into the region
  /// 'dest' that is attached to an operation registered to the current dialect.
  /// 'valueMapping' contains any remapped values from within the 'src' region.
  /// This can be used to examine what values will replace entry arguments into
  /// the 'src' region, for example.
  virtual bool isLegalToInline(::mlir::Region * dest, ::mlir::Region * src, ::mlir::IRMapping & valueMapping) const;

protected:
  DialectInlinerInterface(::mlir::Dialect *dialect) : Base(dialect) {}
};

} // namespace mlir

bool ::mlir::DialectInlinerInterface::isLegalToInline(::mlir::Region * dest, ::mlir::Region * src, ::mlir::IRMapping & valueMapping) const {
  return true;
}
```


  Commit: 38e5878853d3d9a259cea4a2e9ff07b5f1c3859a
      https://github.com/llvm/llvm-project/commit/38e5878853d3d9a259cea4a2e9ff07b5f1c3859a
  Author: Jordan Rupprecht <rupprecht at google.com>
  Date:   2025-12-05 (Fri, 05 Dec 2025)

  Changed paths:
    M llvm/test/Transforms/PGOProfile/prof-verify-known-cold.ll
    M llvm/test/Transforms/PGOProfile/prof-verify.ll

  Log Message:
  -----------
  [profcheck][test] Use quotes for when not using the internal lit shell (#170873)

Using `-passes=function(prof-inject),module(prof-verify)` needs to be
quoted when using a non-lit shell.

Fixes tests in 4b4294473280a8e37d818a9362e33544799cb4e4 when not using
lit's shell


  Commit: 80760b0b1d05acd964fa9175b5cdd764a2ee798d
      https://github.com/llvm/llvm-project/commit/80760b0b1d05acd964fa9175b5cdd764a2ee798d
  Author: valadaptive <79560998+valadaptive at users.noreply.github.com>
  Date:   2025-12-05 (Fri, 05 Dec 2025)

  Changed paths:
    M llvm/include/llvm/Transforms/Utils/SimplifyLibCalls.h
    M llvm/lib/Transforms/Utils/SimplifyLibCalls.cpp
    M llvm/test/Transforms/InstCombine/float-shrink-compare.ll

  Log Message:
  -----------
  [SimplifyLibCalls] Recognize and simplify f[min/max]imumnum (#170699)

Unlike fmin and fmax, these are deterministic with regards to signed
zero.


  Commit: f26360f2150e7ff916f2aa5d5fe3ff32d1780c8c
      https://github.com/llvm/llvm-project/commit/f26360f2150e7ff916f2aa5d5fe3ff32d1780c8c
  Author: Alexis Engelke <engelke at in.tum.de>
  Date:   2025-12-05 (Fri, 05 Dec 2025)

  Changed paths:
    M llvm/docs/ReleaseNotes.md
    M llvm/include/llvm-c/Core.h
    M llvm/include/llvm/IR/Instructions.h
    M llvm/include/llvm/IR/User.h
    M llvm/lib/Bitcode/Writer/ValueEnumerator.cpp
    M llvm/lib/CodeGen/TypePromotion.cpp
    M llvm/lib/IR/Core.cpp
    M llvm/lib/IR/Instructions.cpp
    M llvm/lib/IR/User.cpp
    M llvm/lib/IR/Verifier.cpp
    M llvm/lib/Target/SPIRV/SPIRVEmitIntrinsics.cpp
    M llvm/unittests/IR/InstructionsTest.cpp
    M llvm/unittests/IR/VerifierTest.cpp

  Log Message:
  -----------
  [IR] Don't store switch case values as operands (#166842)

SwitchInst case values must be ConstantInt, which have no use list.
Therefore it is not necessary to store these as Use, instead store them
more efficiently as a simple array of pointers after the uses, similar
to how PHINode stores basic blocks.

After this change, the successors of all terminators are stored
consecutively in the operand list. This is preparatory work for
improving the performance of successor access.


  Commit: 94a2bc9ed747aefeaa4ef2fae8470c69dc4fe29a
      https://github.com/llvm/llvm-project/commit/94a2bc9ed747aefeaa4ef2fae8470c69dc4fe29a
  Author: Baranov Victor <bar.victor.2002 at gmail.com>
  Date:   2025-12-05 (Fri, 05 Dec 2025)

  Changed paths:
    M clang-tools-extra/Maintainers.rst

  Log Message:
  -----------
  [clang-tidy] Add vbvictor to list of maintainers (#167407)

I've been actively contributing to the `clang-tidy` project this year
and was reviewing patches practically daily for the past half a year.
[As per LLVM
policy](https://llvm.org/docs/DeveloperPolicy.html#maintainers), I
believe I've successfully carried out maintainer responsibilities, thus
I volunteer to become one.
I'm looking forward to staying engaged with LLVM community, help
newcomers and develop `clang-tidy` as well as other LLVM projects.


  Commit: f71be4038910e897b0ed78a963e00ac1fdc9b6cc
      https://github.com/llvm/llvm-project/commit/f71be4038910e897b0ed78a963e00ac1fdc9b6cc
  Author: Jordan Rupprecht <rupprecht at google.com>
  Date:   2025-12-05 (Fri, 05 Dec 2025)

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

  Log Message:
  -----------
  [bazel][mlir] Port 41f00cb3dec39f13a21cf635528bbc36c2c0c965: tablegen dialect interfaces (#170884)


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

  Changed paths:
    M llvm/lib/Transforms/InstCombine/InstCombineSelect.cpp
    M llvm/test/Transforms/InstCombine/select-safe-impliedcond-transforms.ll

  Log Message:
  -----------
  [InstCombine] Fix profile metadata when folding implied conditionals (#170756)

\#163412 touched this last and directly propagated the profile
information. This was not correct for the motivating example:

  %a = icmp eq i32 %z, 0
  %b = icmp eq i32 %z, 1
  %v2 = select i1 %b, i1 true, i1 %pred, !prof !18
  %v3 = and i1 %a, %v2

to

  %a = icmp eq i32 %z, 0
  %v3 = select i1 %a, i1 %pred, i1 false

z == 1 does not imply that z == 0 for i8. In general for the and case,
we need a => b, which means that b must be equivalent or more
restrictive than a, which means we cannot propagate profile information
without additional information on the value distribution of z. For the
or case we need !a => b. We again cannot derive profile information for
a/!a without additional value distribution information.


  Commit: 69721ac37c0c741337f65c9d451a1c4d41e83114
      https://github.com/llvm/llvm-project/commit/69721ac37c0c741337f65c9d451a1c4d41e83114
  Author: Alexander Richardson <alexrichardson at google.com>
  Date:   2025-12-05 (Fri, 05 Dec 2025)

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

  Log Message:
  -----------
  [TableGen] Report a better error when an InstAlias does not use a RegClass

Also fix the missing space in the error message. I notice while changing
RISC-V's loads and stores to use RegClassByHwMode and got a non-descriptive
error from `T.getRegisterClass(OpRC)` when parsing the InstAliases.

Reviewed By: arsenm

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


  Commit: 8505a879e57f7fa978576b25b6d0d1b8304009eb
      https://github.com/llvm/llvm-project/commit/8505a879e57f7fa978576b25b6d0d1b8304009eb
  Author: Alexander Richardson <alexrichardson at google.com>
  Date:   2025-12-05 (Fri, 05 Dec 2025)

  Changed paths:
    M llvm/utils/TableGen/Common/CodeGenInstAlias.cpp
    M llvm/utils/TableGen/Common/CodeGenTarget.cpp
    M llvm/utils/TableGen/Common/CodeGenTarget.h

  Log Message:
  -----------
  [TableGen] CodeGenInstAlias: reduce calls to isSubClassOf. NFCI

Add a `getAsRegClassLike()` helper to CodeGenTarget that handles the
`isSubClassOf` calls internally. This slightly reduces duplicated code
since it can be shared with `getInitValueAsRegClassLike()`.
Also change the llvm_unreachable at the end of this function to an
actual error since it could be reachable with bad inputs.

Reviewed By: s-barannikov, arsenm

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


  Commit: c2cb493824251432184cd9dfafb09fcfbcce6d28
      https://github.com/llvm/llvm-project/commit/c2cb493824251432184cd9dfafb09fcfbcce6d28
  Author: Razvan Lupusoru <razvan.lupusoru at gmail.com>
  Date:   2025-12-05 (Fri, 05 Dec 2025)

  Changed paths:
    M mlir/include/mlir/IR/Remarks.h
    M mlir/lib/IR/Remarks.cpp
    M mlir/unittests/IR/RemarkTest.cpp

  Log Message:
  -----------
  [mlir][remarks] Add support for Attributes in Remark Args (#170882)

Extend Remark::Arg to optionally store the original Attribute when
constructed from one. This allows custom remark streamers to access the
underlying attribute for type-specific handling, rather than being
limited to the string representation.

For example, a streamer processing an ArrayAttr argument can iterate
over its elements, or a streamer can check the specific attribute type
to apply custom formatting.

Changes:
- Add std::optional<Attribute> member to Remark::Arg
- Update Arg(StringRef, Attribute) constructor to store the attribute
- Add hasAttribute() and getAttribute() accessors
- Add unit test for Arg with ArrayAttr


  Commit: 85e7860319844308372ef7eea22ba88295989f5f
      https://github.com/llvm/llvm-project/commit/85e7860319844308372ef7eea22ba88295989f5f
  Author: nvptm <pmathew at nvidia.com>
  Date:   2025-12-05 (Fri, 05 Dec 2025)

  Changed paths:
    M mlir/include/mlir/Dialect/OpenACC/OpenACCUtils.h
    M mlir/lib/Dialect/OpenACC/Transforms/ACCImplicitData.cpp
    M mlir/lib/Dialect/OpenACC/Utils/OpenACCUtils.cpp
    M mlir/unittests/Dialect/OpenACC/OpenACCUtilsTest.cpp

  Log Message:
  -----------
  [mlir][acc] Make getDominatingDataClauses an OpenACC utility (#170549)

Moving getDominatingDataClauses to OpenACCUtils allows reuse.


  Commit: 35c664d7ea25fd95e67b88c4a2d2f336690f1286
      https://github.com/llvm/llvm-project/commit/35c664d7ea25fd95e67b88c4a2d2f336690f1286
  Author: jimingham <jingham at apple.com>
  Date:   2025-12-05 (Fri, 05 Dec 2025)

  Changed paths:
    M lldb/source/Commands/CommandObjectBreakpoint.cpp

  Log Message:
  -----------
  Move checking m_dummy_target to after raw-plus-option parsing. (#170888)

CommandObjectBreakpointAddPattern is a raw command. I was adjusting the
patch for changes to handle the dummy target changes done while the
patch was in review, and I copied the lines to the beginning of the
DoExecute, but in the case of raw commands, you have to do the option
parsing by hand, and this was before the parsing was done so the state
wasn't determined yet.


  Commit: 4bc783be2dab2b0b2b3010158891e44a2b4ee991
      https://github.com/llvm/llvm-project/commit/4bc783be2dab2b0b2b3010158891e44a2b4ee991
  Author: Aiden Grossman <aidengrossman at google.com>
  Date:   2025-12-05 (Fri, 05 Dec 2025)

  Changed paths:
    M compiler-rt/test/asan/TestCases/Posix/deep_call_stack.cpp

  Log Message:
  -----------
  [ASan] Disable test that sets call stack on Darwin (#170786)

This test fails with the internal shell as we implement ulimit with a
python wrapper. This python wrapper fails on recent versions of MacOS to
set the stack size limit lower, or even to the current values. More
discussion is in https://github.com/python/cpython/issues/78783 towards
the bottom (it seems like a new issue should be opened).

It does not seem like we lose significant test coverage by disabling
this on MacOS as the test running on Linux should catch any major
regressions. We can also simply reenable once the issue is fixed
(although writing a simple c program with calls setrlimit directly also
fails in the smae manner).


  Commit: b360a782ca5da938d5e4f7c791508932a0bfc328
      https://github.com/llvm/llvm-project/commit/b360a782ca5da938d5e4f7c791508932a0bfc328
  Author: Akash Banerjee <akash.banerjee at amd.com>
  Date:   2025-12-05 (Fri, 05 Dec 2025)

  Changed paths:
    M flang/lib/Lower/OpenMP/ClauseProcessor.cpp
    M flang/lib/Lower/OpenMP/ClauseProcessor.h
    M flang/lib/Lower/OpenMP/OpenMP.cpp
    M flang/test/Integration/OpenMP/map-types-and-sizes.f90
    M flang/test/Lower/OpenMP/target.f90
    M mlir/include/mlir/Dialect/OpenMP/OpenMPEnums.td
    M mlir/lib/Dialect/OpenMP/IR/OpenMPDialect.cpp
    M mlir/lib/Target/LLVMIR/Dialect/OpenMP/OpenMPToLLVMIRTranslation.cpp
    M mlir/test/Target/LLVMIR/omptarget-llvm.mlir
    M mlir/test/Target/LLVMIR/openmp-todo.mlir
    A offload/test/offloading/fortran/target-is-device-ptr.f90

  Log Message:
  -----------
  Reland "[Flang][OpenMP] Add lowering support for is_device_ptr clause (#169331)" (#170851)

Add support for OpenMP is_device_ptr clause for target directives.

[MLIR][OpenMP] Add OpenMPToLLVMIRTranslation support for is_device_ptr
#169367 This PR adds support for the OpenMP is_device_ptr clause in the
MLIR to LLVM IR translation for target regions. The is_device_ptr clause
allows device pointers (allocated via OpenMP runtime APIs) to be used
directly in target regions without implicit mapping.


  Commit: 82f7d3c7660c9edb871858e066a78b504a74404b
      https://github.com/llvm/llvm-project/commit/82f7d3c7660c9edb871858e066a78b504a74404b
  Author: Peter Rong <peterrong96 at gmail.com>
  Date:   2025-12-05 (Fri, 05 Dec 2025)

  Changed paths:
    M llvm/include/llvm/IR/Module.h
    M llvm/tools/llvm-ir2vec/llvm-ir2vec.cpp
    M llvm/unittests/IR/ModuleTest.cpp

  Log Message:
  -----------
  [RFC] [IR] Modules can make filtered range to iterate function definitions only (#167972)

We often wish to iterate over all function definitions in a module for
transformations.
Such API doesn't exists yet, so what people normally used is to iterate
over all functions and skip the declarations:

```cpp
for (auto& F: M) {
    if (F.isDeclaration()) continue;
}
```

A regex search of the following pattern shows 100+ hits inside llvm, let
along other patterns, e.g. collect all definitions in a module into a
worklist.

```
for \(.*F.*\).*\n.*if \(F.isDeclaration\(\)\).*\n.*continue;
```

This pattern is verbose and hard to review in a long loop. 
As an alternative, this patch provides a new API that iterates over
definitions only.

Tests:

1. Added unit test
2. Touching @svkeerthy 's tool (also to show the cleanness of the new
API).

Note: `function_definitions` seems a bit long, I'm open to suggestions
to other names.


  Commit: 26f511626611c2b4ae1410b736158ea82c57c8ce
      https://github.com/llvm/llvm-project/commit/26f511626611c2b4ae1410b736158ea82c57c8ce
  Author: David Green <david.green at arm.com>
  Date:   2025-12-05 (Fri, 05 Dec 2025)

  Changed paths:
    M llvm/lib/Target/AArch64/AArch64.h
    A llvm/lib/Target/AArch64/AArch64RedundantCondBranchPass.cpp
    M llvm/lib/Target/AArch64/AArch64TargetMachine.cpp
    M llvm/lib/Target/AArch64/CMakeLists.txt
    M llvm/test/CodeGen/AArch64/O3-pipeline.ll
    M llvm/test/CodeGen/AArch64/arm64-rev.ll
    M llvm/test/CodeGen/AArch64/arm64-shrink-wrapping.ll
    M llvm/test/CodeGen/AArch64/block-placement-optimize-branches.ll
    M llvm/test/CodeGen/AArch64/cbz_wzr.mir
    M llvm/test/CodeGen/AArch64/pr164181.ll
    M llvm/test/CodeGen/AArch64/pr166870.ll
    M llvm/test/CodeGen/AArch64/tbz-tbnz.ll
    M llvm/test/tools/UpdateTestChecks/update_llc_test_checks/Inputs/aarch64_generated_funcs.ll.generated.expected
    M llvm/test/tools/UpdateTestChecks/update_llc_test_checks/Inputs/aarch64_generated_funcs.ll.nogenerated.expected

  Log Message:
  -----------
  [AArch64] Optimize CBZ wzr and friends. (#161508)

In certain situations, especially with zero phi operands propagated after tail
duplications, we can end up with CBZ/CBNZ/TBZ/TBNZ with a zero register. It
can can be introduced late in the pipeline.

This patch adds a basic pass to fold them away to either a direct branch or
removing the instruction entirely. It runs quite late n the pipeline, so doesnt
fit into any of the existing passes. It only needs to look at the terminators
to each BB, so the new pass should have a limited in compile-time impact.


  Commit: 74f49a240edff4570189b139dc19a22b86ce54b7
      https://github.com/llvm/llvm-project/commit/74f49a240edff4570189b139dc19a22b86ce54b7
  Author: Ebin Jose <ebin371 at gmail.com>
  Date:   2025-12-05 (Fri, 05 Dec 2025)

  Changed paths:
    M clang/lib/CodeGen/CGBuiltin.cpp
    M clang/test/CodeGen/builtins.c

  Log Message:
  -----------
  [clang codegen] Fix __builtin_bswapg with bool operand (#169285)

Prevents assertion in CGBuiltin for i1 - returns identity. Created test
file for the same.

Fixes #168690.


  Commit: fb6513130de7578c847aaaf6c278809b6c2476c3
      https://github.com/llvm/llvm-project/commit/fb6513130de7578c847aaaf6c278809b6c2476c3
  Author: happyCoder92 <wiktorg at google.com>
  Date:   2025-12-05 (Fri, 05 Dec 2025)

  Changed paths:
    M compiler-rt/include/sanitizer/asan_interface.h
    M compiler-rt/lib/asan/asan_fake_stack.cpp
    M compiler-rt/lib/asan/asan_interface.inc
    M compiler-rt/lib/asan/asan_thread.cpp
    M compiler-rt/lib/asan/asan_thread.h
    M compiler-rt/lib/asan_abi/asan_abi.cpp
    M compiler-rt/lib/asan_abi/asan_abi.h
    M compiler-rt/lib/asan_abi/asan_abi_shim.cpp
    A compiler-rt/test/asan/TestCases/suppress_fake_stack.cpp
    A compiler-rt/test/asan/TestCases/suppress_fake_stack_force_disabled.cpp

  Log Message:
  -----------
  Add API to temporalily suppress usage of ASAN's fake stack (#160135)

Intended use-case is for threads that use (or switch to) stack with
special properties e.g. backed by MADV_DONTDUMP memory.

---------

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


  Commit: a5c751e3253f09567cef180edee60cc19cc5e366
      https://github.com/llvm/llvm-project/commit/a5c751e3253f09567cef180edee60cc19cc5e366
  Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
  Date:   2025-12-05 (Fri, 05 Dec 2025)

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

  Log Message:
  -----------
  [gn build] Port 26f511626611


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

  Changed paths:
    M llvm/test/CodeGen/X86/merge-consecutive-loads-128.ll

  Log Message:
  -----------
  [X86] Add EltsFromConsecutiveLoads test for infinite loop if we match reverse(vzload(ptr)) patterns (#170889)

This was fixed by #170852 - previously we're get stuck in a loop:
shuffle(movq(p),undef,1,0) -> bulid_vector(0, p[0]) -> shuffle(movq(p),1,0) .....


  Commit: 190b8d0b4f19e1c3d68c5d153ec7be71a9969192
      https://github.com/llvm/llvm-project/commit/190b8d0b4f19e1c3d68c5d153ec7be71a9969192
  Author: Louis Dionne <ldionne.2 at gmail.com>
  Date:   2025-12-05 (Fri, 05 Dec 2025)

  Changed paths:
    M clang/lib/Driver/ToolChains/Darwin.cpp
    A clang/test/Driver/Inputs/basic_darwin_toolchain/usr/lib/libc++.dylib
    A clang/test/Driver/Inputs/basic_darwin_toolchain/usr/lib/libc++experimental.a
    A clang/test/Driver/Inputs/basic_darwin_toolchain_static/usr/bin/.keep
    A clang/test/Driver/Inputs/basic_darwin_toolchain_static/usr/include/c++/v1/.keep
    A clang/test/Driver/Inputs/basic_darwin_toolchain_static/usr/lib/libc++.a
    A clang/test/Driver/Inputs/basic_darwin_toolchain_static/usr/lib/libc++experimental.a
    M clang/test/Driver/darwin-header-search-libcxx.cpp
    A clang/test/Driver/darwin-link-libcxx.cpp
    M clang/test/Driver/experimental-library-flag.cpp
    M compiler-rt/cmake/config-ix.cmake

  Log Message:
  -----------
  [clang][Darwin] Prefer the toolchain-provided libc++.dylib if there is one (#170303)

When libc++ is bootstrapped with clang, the resulting clang uses the just-built libc++
headers from <install>/bin/../include/c++/v1. However, before this patch, clang would
still use the system-provided libc++.dylib (usually in the Apple SDK) because it would
fail to add the corresponding linker flag to find the just-built libc++. After this
patch, Clang will instead link against the toolchain provided `libc++.dylib` in
`<install>/lib` if it exists, which will result in programs being linked against
corresponding libc++ headers and dylib.

Fixes #77653
rdar://107060541


  Commit: 67bd96661fa06248583b74989c713162e85998fd
      https://github.com/llvm/llvm-project/commit/67bd96661fa06248583b74989c713162e85998fd
  Author: Erich Keane <ekeane at nvidia.com>
  Date:   2025-12-05 (Fri, 05 Dec 2025)

  Changed paths:
    M clang/lib/CIR/CodeGen/CIRGenDeclOpenACC.cpp
    M clang/lib/CIR/CodeGen/CIRGenOpenACCClause.cpp
    M clang/lib/CIR/CodeGen/CIRGenOpenACCHelpers.h
    A clang/test/CIR/CodeGenOpenACC/routine-device_type.cpp

  Log Message:
  -----------
  [OpenACC][CIR] Implement 'device_type' lowering for Routine (#170893)

The 'device_type' clause modifies how the clauses that are legal after
it (seq, worker, vector, gang, bind) work. Previous patches were aware
of how that was going to happen, thanks to experience with doing the
same work on other constructs/clauses, so this is mostly just a repeat
of those.

Tests for the first 4 and interactions with them are included, but
'bind' is not yet implemented, so its device_type tests will be added
when it is lowered.


  Commit: 2d98a366b79e9cc657a3cf0ee3203f046eab457a
      https://github.com/llvm/llvm-project/commit/2d98a366b79e9cc657a3cf0ee3203f046eab457a
  Author: Craig Topper <craig.topper at sifive.com>
  Date:   2025-12-05 (Fri, 05 Dec 2025)

  Changed paths:
    M llvm/lib/Transforms/Utils/LoopPeel.cpp

  Log Message:
  -----------
  [LoopPeel] Fix typo Derefencebale -> Dereferenceable. NFC (#170791)

Co-authored-by: Nikita Popov <github at npopov.com>


  Commit: 665bc49c138a48075c54fe377d49481ad65f1135
      https://github.com/llvm/llvm-project/commit/665bc49c138a48075c54fe377d49481ad65f1135
  Author: Jin Huang <jinhuang1102 at gmail.com>
  Date:   2025-12-05 (Fri, 05 Dec 2025)

  Changed paths:
    M llvm/utils/profcheck-xfail.txt

  Log Message:
  -----------
  [profcheck] Remove test cases fixed in #168161 from xfail list. (#170787)

The expected failed test cases 
```
  Transforms/ExpandVariadics/expand-va-intrinsic-split-linkage.ll
  Transforms/ExpandVariadics/expand-va-intrinsic-split-simple.ll
  Transforms/ExpandVariadics/intrinsics.ll
```
have been fixed by https://github.com/llvm/llvm-project/pull/168161.

Co-authored-by: Jin Huang <jingold at google.com>


  Commit: 3de977cdde85847b89f443ad13a0d591e87e8871
      https://github.com/llvm/llvm-project/commit/3de977cdde85847b89f443ad13a0d591e87e8871
  Author: Amr Hesham <amr96 at programmer.net>
  Date:   2025-12-05 (Fri, 05 Dec 2025)

  Changed paths:
    M clang/include/clang/CIR/Dialect/IR/CIROps.td
    M clang/test/CIR/IR/try-catch.cir

  Log Message:
  -----------
  [CIR] Add structured ResumeOp (#170042)

Add SCF Resume op to be used before the CFG flattening pass

Issue https://github.com/llvm/llvm-project/issues/154992


  Commit: db4e6e6911b0cb3b26c377859beaf3a9d5c162cb
      https://github.com/llvm/llvm-project/commit/db4e6e6911b0cb3b26c377859beaf3a9d5c162cb
  Author: Vijay Kandiah <vkandiah at nvidia.com>
  Date:   2025-12-05 (Fri, 05 Dec 2025)

  Changed paths:
    M mlir/test/Examples/NVGPU/lit.local.cfg

  Log Message:
  -----------
  [NVGPU] Disable nvdsl lit tests if python bindings not enabled (#170898)

A recent change https://github.com/llvm/llvm-project/pull/167321 enabled
nvdsl examples to be run by default. These examples require MLIR python
bindings to be enabled, and this PR makes sure they're skipped if
`config.enable_bindings_python` is not enabled.


  Commit: 11056c3fc35ed6fa04b7127db289cf42fd7e0bb5
      https://github.com/llvm/llvm-project/commit/11056c3fc35ed6fa04b7127db289cf42fd7e0bb5
  Author: Martin Storsjö <martin at martin.st>
  Date:   2025-12-05 (Fri, 05 Dec 2025)

  Changed paths:
    M llvm/test/MC/AArch64/seh-large-func.s
    M llvm/test/MC/AArch64/seh-optimize.s
    M llvm/test/MC/AArch64/seh-packed-unwind.s

  Log Message:
  -----------
  [AArch64] [test] Make unwind info tests actually use the right instructions

This makes them match the expected decoding of the unwind info
opcodes, avoiding mismatch indications from "dumpbin -unwindinfo".

This is a follow up to 458035027c80e984bf5862140aed20d5e50dd22a;
these cases were missed in that commit.


  Commit: 35203a6a86c79b75b94a5f48b38ab75e90b3f40a
      https://github.com/llvm/llvm-project/commit/35203a6a86c79b75b94a5f48b38ab75e90b3f40a
  Author: Aiden Grossman <aidengrossman at google.com>
  Date:   2025-12-05 (Fri, 05 Dec 2025)

  Changed paths:
    M compiler-rt/lib/asan_abi/asan_abi.h
    M compiler-rt/lib/asan_abi/asan_abi_shim.cpp

  Log Message:
  -----------
  [ASan] Do not return from void functions in asan_abi_shim.cpp (#170897)

This was causing compilation failures on MacOS.


  Commit: 94984d5cdbceafa786e26a9dc1f70167e574d945
      https://github.com/llvm/llvm-project/commit/94984d5cdbceafa786e26a9dc1f70167e574d945
  Author: Aiden Grossman <aidengrossman at google.com>
  Date:   2025-12-05 (Fri, 05 Dec 2025)

  Changed paths:
    M compiler-rt/test/lit.common.cfg.py

  Log Message:
  -----------
  Reapply "[compiler-rt] Default to Lit's Internal Shell (#168232)"

This reverts commit c90fb56b41cfaaee448700f6b068c830d8d0b5bd.

The failures identified in the revert commit have noe been fixed:
1. 4bc783be2dab2b0b2b3010158891e44a2b4ee991
2. 126462035a1eb7adeb97f6beac48b6bddac65d09
3. d7307f458cd3522470859ce0cee8d47d37a70670


  Commit: 97c4f367b81022ce8bb7cf21b0682842c59b5d59
      https://github.com/llvm/llvm-project/commit/97c4f367b81022ce8bb7cf21b0682842c59b5d59
  Author: Maksim Panchenko <maks at fb.com>
  Date:   2025-12-05 (Fri, 05 Dec 2025)

  Changed paths:
    M bolt/include/bolt/Core/BinaryContext.h
    M bolt/lib/Core/BinaryContext.cpp

  Log Message:
  -----------
  [BOLT] Fix comments for interprocedural branches. NFC (#170745)


  Commit: 5e4974fbd330733ceaabba988b632cd8906e892a
      https://github.com/llvm/llvm-project/commit/5e4974fbd330733ceaabba988b632cd8906e892a
  Author: google-yfyang <yfyang at google.com>
  Date:   2025-12-05 (Fri, 05 Dec 2025)

  Changed paths:
    M clang-tools-extra/test/clang-tidy/infrastructure/empty-database.cpp
    M clang-tools-extra/test/clang-tidy/infrastructure/invalid-database.cpp

  Log Message:
  -----------
  [clang-tidy][NFC] Add checks to tests that have no checks specified. (#170895)

#157306 removes some default checks and this breaks a few tests where no
checks were explicitly specified.


  Commit: ad1edc9cbcc9ac4e86931da3e676a7b7caef1be3
      https://github.com/llvm/llvm-project/commit/ad1edc9cbcc9ac4e86931da3e676a7b7caef1be3
  Author: Krzysztof Drewniak <Krzysztof.Drewniak at amd.com>
  Date:   2025-12-05 (Fri, 05 Dec 2025)

  Changed paths:
    M mlir/lib/Analysis/DataFlow/IntegerRangeAnalysis.cpp
    M mlir/test/Interfaces/InferIntRangeInterface/infer-int-range-test-ops.mlir

  Log Message:
  -----------
  [mlir][IntegerRangeAnalysis] Handle multi-dimensional loops (#170765)

Since LoopLikeInterface has (for some time) been extended to handle
multiple induction variables (and thus lower and upper bounds), handle
those bounds one at a time.


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

  Changed paths:
    M flang/include/flang/Lower/CUDA.h
    M flang/include/flang/Optimizer/Dialect/CUF/CUFOps.td
    M flang/lib/Lower/Allocatable.cpp
    M flang/lib/Lower/CUDA.cpp
    M flang/lib/Optimizer/Transforms/CUDA/CUFAllocationConversion.cpp
    M flang/test/Fir/CUDA/cuda-allocate.fir
    M flang/test/Lower/CUDA/cuda-allocatable.cuf

  Log Message:
  -----------
  [flang][cuda] Add double descriptor information in allocate/deallocate operations (#170901)

After https://github.com/llvm/llvm-project/pull/169740, the allocate and
deallocate cuf operation can be converted later. Update the way to
recognize double descriptor case by adding this information directly on
the operation itself.


  Commit: c5bdc21ff7996d2db8b133ff36f4de0ca569f98d
      https://github.com/llvm/llvm-project/commit/c5bdc21ff7996d2db8b133ff36f4de0ca569f98d
  Author: Rahul Joshi <rjoshi at nvidia.com>
  Date:   2025-12-05 (Fri, 05 Dec 2025)

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

  Log Message:
  -----------
  [NFC][LLVM] Minor code cleanup in DebugLoc (#170757)

Remove indentation of code in llvm namespace in header file. Remove {}
around single statement if in .cpp file.


  Commit: 6b51e26d39fa6ed5cf4a204921701e8168b39099
      https://github.com/llvm/llvm-project/commit/6b51e26d39fa6ed5cf4a204921701e8168b39099
  Author: Alex Langford <alangford at apple.com>
  Date:   2025-12-05 (Fri, 05 Dec 2025)

  Changed paths:
    M lldb/include/lldb/Host/FileAction.h
    M lldb/source/Host/common/FileAction.cpp
    M lldb/source/Host/macosx/objcxx/Host.mm
    M lldb/source/Host/posix/ProcessLauncherPosixFork.cpp
    M lldb/source/Target/Target.cpp

  Log Message:
  -----------
  [lldb][NFCI] Remove FileAction::GetPath (#170764)

This method puts strings into the ConstString pool and vends them as
llvm::StringRefs. Most of the uses only require a `std::string` or a
`const char *`. This can be achieved without wasting memory.


  Commit: 5dfd9c4f841fb183580b02b5d252e630eeda3c5e
      https://github.com/llvm/llvm-project/commit/5dfd9c4f841fb183580b02b5d252e630eeda3c5e
  Author: Erick Ochoa Lopez <erick.ochoalopez at amd.com>
  Date:   2025-12-05 (Fri, 05 Dec 2025)

  Changed paths:
    M mlir/include/mlir/Dialect/AMDGPU/IR/AMDGPU.td
    M mlir/lib/Conversion/AMDGPUToROCDL/AMDGPUToROCDL.cpp
    M mlir/lib/Dialect/AMDGPU/IR/AMDGPUDialect.cpp
    M mlir/test/Conversion/AMDGPUToROCDL/gfx1250.mlir
    A mlir/test/Dialect/AMDGPU/amdgpu-make-dma-descriptor-fold.mlir
    M mlir/test/Dialect/AMDGPU/invalid.mlir
    M mlir/test/Dialect/AMDGPU/ops.mlir

  Log Message:
  -----------
  [mlir][amdgpu] Add lowering for make_dma_descriptor (#169955)

* Adds initial lowering for make_dma_descriptor supporting tensors of
rank 2.
* Adds folders for make_dma_descriptor allowing statically known
operands to be folded into attributes.
* Add AllElementTypesMatch<["lds", "global"]> to make_dma_base.
* Rename pad to pad_amount
* Rename pad_every to pad_interval


  Commit: 29fa151a077221ee8a28fa49a746a91893741b2b
      https://github.com/llvm/llvm-project/commit/29fa151a077221ee8a28fa49a746a91893741b2b
  Author: Kazu Hirata <kazu at google.com>
  Date:   2025-12-05 (Fri, 05 Dec 2025)

  Changed paths:
    M mlir/lib/Conversion/AMDGPUToROCDL/AMDGPUToROCDL.cpp

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

This patch fixes:

  mlir/lib/Conversion/AMDGPUToROCDL/AMDGPUToROCDL.cpp:2666:10: error:
  unused variable 'v4i32' [-Werror,-Wunused-variable]


  Commit: bb17dfa7d149be7a051fe9687af4093d968fb52b
      https://github.com/llvm/llvm-project/commit/bb17dfa7d149be7a051fe9687af4093d968fb52b
  Author: Quinn Dawkins <quinn.dawkins at gmail.com>
  Date:   2025-12-05 (Fri, 05 Dec 2025)

  Changed paths:
    M mlir/include/mlir/Transforms/RegionUtils.h
    M mlir/lib/Dialect/Bufferization/Transforms/EmptyTensorElimination.cpp
    M mlir/lib/Transforms/Utils/RegionUtils.cpp
    M mlir/test/Dialect/Bufferization/Transforms/one-shot-bufferize-empty-tensor-elimination.mlir
    M mlir/test/Transforms/move-operation-deps.mlir
    M mlir/test/lib/Transforms/TestTransformsOps.td

  Log Message:
  -----------
  [mlir][bufferization] Enable moving dependent values in eliminate-empty-tensors (#169718)

Currently empty tensor elimination by constructing a SubsetExtractionOp
to match a SubsetInsertionOp at the end of a DPS chain will fail if any
operands required by the insertion op don't dominate the insertion point
for the extraction op.

This change improves the transformation by attempting to move all pure
producers of required operands to the insertion point of the extraction
op. In the process this improves a number of tests for empty tensor
elimination.


  Commit: 5daad5bf45b3c7280f7b06979fb580f70e2c4fd0
      https://github.com/llvm/llvm-project/commit/5daad5bf45b3c7280f7b06979fb580f70e2c4fd0
  Author: Paul Kirth <paulkirth at google.com>
  Date:   2025-12-05 (Fri, 05 Dec 2025)

  Changed paths:
    M clang/docs/ReleaseNotes.rst
    M clang/include/clang/Basic/CodeGenOptions.def
    M clang/include/clang/Options/Options.td
    M clang/lib/CodeGen/CGCall.cpp
    A clang/test/CodeGen/lifetime-call-temp.c
    A clang/test/CodeGen/lifetime-invoke-c.c
    A clang/test/CodeGenCXX/aggregate-lifetime-invoke.cpp
    A clang/test/CodeGenCXX/amdgcn-call-with-aggarg.cc
    M clang/test/CodeGenCXX/stack-reuse-miscompile.cpp
    M clang/test/CodeGenCoroutines/pr59181.cpp

  Log Message:
  -----------
  [clang] Limit lifetimes of temporaries to the full expression (#170517)

We have several issues describing suboptimal stack usage related to the
lifetimes of temporary objects, such as #68747, #43598, and #109204.

Previously, https://reviews.llvm.org/D74094 tried to address this. In
that review, a few issues were brought up, particularly a concern about
the lifetimes of the temporaries needing to be extended to end of the
full expression. While there are arguably more optimal lifetime bounds
we could enforce, for now we can conservatively make them extend to the
end of the full expression, and later refine the optimization to use
tighter bounds (or perhaps a better mechanism in the middle end?).

Fixes #68747

Co-authored-by: Nick Desaulniers <nick.desaulniers at gmail.com>
Co-authored-by: Erik Pilkington <erik.pilkington at gmail.com>

---------

Co-authored-by: Nick Desaulniers <nick.desaulniers at gmail.com>
Co-authored-by: Erik Pilkington <erik.pilkington at gmail.com>


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

  Changed paths:
    M lldb/source/Commands/CommandObjectBreakpoint.cpp

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

This patch fixes:

  lldb/source/Commands/CommandObjectBreakpoint.cpp:1266:21: error:
  unused variable 'expr' [-Werror,-Wunused-variable]


  Commit: 03c37160a1735c12e4acbac70a593ff3e68d5ad7
      https://github.com/llvm/llvm-project/commit/03c37160a1735c12e4acbac70a593ff3e68d5ad7
  Author: Krzysztof Parzyszek <Krzysztof.Parzyszek at amd.com>
  Date:   2025-12-05 (Fri, 05 Dec 2025)

  Changed paths:
    M flang/include/flang/Parser/parse-tree.h
    M flang/lib/Semantics/canonicalize-do.cpp
    M flang/lib/Semantics/check-omp-loop.cpp
    M flang/test/Parser/OpenMP/atomic-label-do.f90
    M flang/test/Parser/OpenMP/cross-label-do.f90
    M flang/test/Semantics/OpenMP/loop-association.f90

  Log Message:
  -----------
  [flang][OpenMP] Reject END DO on construct that crosses label-DO (#169714)

In a label-DO construct where two or more loops share the same
teminator, an OpenMP construct must enclose all the loops if an
end-directive is present. E.g.

```
  do 100 i = 1,10
!$omp do
    do 100 j = 1,10
    100 continue
!$omp end do    ! Error, but ok if this line is removed
```

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


  Commit: 7470d721c65d7924c5e1743ec73aa44fa858717c
      https://github.com/llvm/llvm-project/commit/7470d721c65d7924c5e1743ec73aa44fa858717c
  Author: Florian Hahn <flo at fhahn.com>
  Date:   2025-12-05 (Fri, 05 Dec 2025)

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

  Log Message:
  -----------
  [AArch64] Add isAppleMLike helper to check for M cores and aligned CPUs. (#170553)

Add a new isAppleMLike helper, that returns true if the core is part of
the Apple M core family or Apple A14 or later. Used to apply cost
decisions consistently to those groups of cores.

The function is now a single place to update when new cores are added.
It also makes sure we apply unrolling decisions for newer Apple cores to
Apple A17.

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


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

  Changed paths:
    M .github/CODEOWNERS

  Log Message:
  -----------
  [NFC] Become CODEOWNER of AMDGPULowerBufferFatPointers (#167953)


  Commit: 93d64a5c4d912e8898d1e7c7e5a95f6f44f7e983
      https://github.com/llvm/llvm-project/commit/93d64a5c4d912e8898d1e7c7e5a95f6f44f7e983
  Author: Alex Voicu <alexandru.voicu at amd.com>
  Date:   2025-12-05 (Fri, 05 Dec 2025)

  Changed paths:
    M llvm/docs/SPIRVUsage.rst
    M llvm/lib/Target/SPIRV/SPIRVCommandLine.cpp
    M llvm/lib/Target/SPIRV/SPIRVInstructionSelector.cpp
    M llvm/lib/Target/SPIRV/SPIRVLegalizerInfo.cpp
    M llvm/lib/Target/SPIRV/SPIRVModuleAnalysis.cpp
    M llvm/lib/Target/SPIRV/SPIRVSymbolicOperands.td
    A llvm/test/CodeGen/SPIRV/extensions/SPV_NV_shader_atomic_fp16_vector/atomicrmw_faddfsub_vec_float16.ll
    A llvm/test/CodeGen/SPIRV/extensions/SPV_NV_shader_atomic_fp16_vector/atomicrmw_fminfmax_vec_float16.ll

  Log Message:
  -----------
  [SPIRV] Add `<2 x half>` and `<4 x half>` atomics via `SPV_NV_shader_atomic_fp16_vector` (#170213)

This adds support for the `SPV_NV_shader_atomic_fp16_vector` extension,
and then uses it to enable lowering of atomic add, sub, min and max on 2
and 4 component vectors of FP16, which are rather common options in ML
workloads. Even though `bfloat16` also works in practice, we do not
enable it since it's not specified in the extension (which might need
updating / promoting to KHR at least). A `TODO` is also inserted in
`SPIRVModuleAnalysis.cpp' regarding the need to upgrade its ample usage
of `report_fatal_error`; I have a WiP patch for that, but it still needs
a bit of baking. Finally, a paired patch will be necessary in the
Translator, as it's not aware of the extension either - I'll update this
review to reference the PR once I create it.


  Commit: ecf492761e5385b6d94c8c87c62d2dbf9c565add
      https://github.com/llvm/llvm-project/commit/ecf492761e5385b6d94c8c87c62d2dbf9c565add
  Author: Alex Langford <alangford at apple.com>
  Date:   2025-12-05 (Fri, 05 Dec 2025)

  Changed paths:
    M lldb/source/Host/windows/ProcessLauncherWindows.cpp

  Log Message:
  -----------
  [lldb] Fix Windows build after 6b51e26d39fa (#170917)


  Commit: bad1a88963f35ec57d27be4450a9c7074ec095d7
      https://github.com/llvm/llvm-project/commit/bad1a88963f35ec57d27be4450a9c7074ec095d7
  Author: Kewen Meng <Kewen.Meng at amd.com>
  Date:   2025-12-05 (Fri, 05 Dec 2025)

  Changed paths:
    M clang/test/Driver/darwin-link-libcxx.cpp

  Log Message:
  -----------
  [clang] Temporarily disable Darwin test for linking against libc++ on non-darwin systems (#170912)

Disable the test added in #170303, which breaks bots that don't use ld
as their linker. This is a temporary and narrow disablement of the test
until we can make it more general again, to get the bots green.

Co-authored-by: Louis Dionne <ldionne.2 at gmail.com>


  Commit: 22a2c27a0aa0d3aa5d4222f6e766646166450543
      https://github.com/llvm/llvm-project/commit/22a2c27a0aa0d3aa5d4222f6e766646166450543
  Author: Nicolai Hähnle <nicolai.haehnle at amd.com>
  Date:   2025-12-05 (Fri, 05 Dec 2025)

  Changed paths:
    M llvm/lib/Target/AMDGPU/AMDGPUPromoteAlloca.cpp

  Log Message:
  -----------
  AMDGPU/PromoteAlloca: Simplify how deferred loads work (#170510)

The second pass of promotion to vector can be quite simple. Reflect that
simplicity in the code for better maintainability.


  Commit: f558c30146e51d5ef72bf3d4b3f0e86ca19e4b99
      https://github.com/llvm/llvm-project/commit/f558c30146e51d5ef72bf3d4b3f0e86ca19e4b99
  Author: Nicolai Hähnle <nicolai.haehnle at amd.com>
  Date:   2025-12-05 (Fri, 05 Dec 2025)

  Changed paths:
    M llvm/lib/Target/AMDGPU/AMDGPUPromoteAlloca.cpp
    M llvm/test/CodeGen/AMDGPU/promote-alloca-multidim.ll
    M llvm/test/CodeGen/AMDGPU/promote-alloca-negative-index.ll
    M llvm/test/CodeGen/AMDGPU/promote-alloca-vector-to-vector.ll

  Log Message:
  -----------
  AMDGPU/PromoteAlloca: Always use i32 for indexing (#170511)

Create more canonical code that may even lead to slightly better
codegen.


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

  Changed paths:
    M libc/cmake/modules/LLVMLibCCompileOptionRules.cmake
    M libc/config/config.json
    M libc/docs/configure.rst
    M libc/include/llvm-libc-macros/fenv-macros.h
    M libc/src/__support/CPP/bit.h
    M libc/src/__support/FPUtil/CMakeLists.txt
    M libc/src/__support/FPUtil/FEnvImpl.h
    M libc/src/__support/FPUtil/x86_64/FEnvImpl.h
    A libc/src/__support/FPUtil/x86_64/fenv_mxcsr_utils.h
    A libc/src/__support/FPUtil/x86_64/fenv_x86_common.h
    A libc/src/__support/FPUtil/x86_64/fenv_x87_only.h
    A libc/src/__support/FPUtil/x86_64/fenv_x87_utils.h
    M libc/src/__support/macros/properties/compiler.h
    M libc/test/UnitTest/FEnvSafeTest.cpp
    M libc/test/src/fenv/enabled_exceptions_test.cpp
    M libc/test/src/fenv/feholdexcept_test.cpp
    M libc/test/src/fenv/getenv_and_setenv_test.cpp
    M libc/test/src/math/FModTest.h
    M libc/test/src/math/smoke/FModTest.h
    M utils/bazel/llvm-project-overlay/libc/BUILD.bazel

  Log Message:
  -----------
  [libc][fenv] Refactor x86 fenv implementations to make it work for various fenv_t. (#165015)


  Commit: b464d772e5a262565ec65dd125be3036e42d2b9d
      https://github.com/llvm/llvm-project/commit/b464d772e5a262565ec65dd125be3036e42d2b9d
  Author: Petr Penzin <ppenzin at oss.tenstorrent.com>
  Date:   2025-12-05 (Fri, 05 Dec 2025)

  Changed paths:
    M llvm/lib/Target/RISCV/RISCVSchedSiFive7.td
    M llvm/lib/Target/RISCV/RISCVSchedTTAscalonD8.td
    M llvm/lib/Target/RISCV/RISCVScheduleV.td

  Log Message:
  -----------
  [RISCV] LMUL lists for indexed and strided loads (#169756)

Create additional lists representing valid LMULs for strided and indexed
load of particular element sizes.


  Commit: a1eff73a8ef24729ee1d0f0fd639fb79403c3686
      https://github.com/llvm/llvm-project/commit/a1eff73a8ef24729ee1d0f0fd639fb79403c3686
  Author: Sterling-Augustine <saugustine at google.com>
  Date:   2025-12-05 (Fri, 05 Dec 2025)

  Changed paths:
    M libc/src/string/string_length.h

  Log Message:
  -----------
  Include inline_strlen.h on aarch64 only if the target has vector instrucions (#170892)


  Commit: b78fd58d22c38b8b199760ebaa93dbd42509ab7e
      https://github.com/llvm/llvm-project/commit/b78fd58d22c38b8b199760ebaa93dbd42509ab7e
  Author: Tarun Prabhu <tarun at lanl.gov>
  Date:   2025-12-05 (Fri, 05 Dec 2025)

  Changed paths:
    M flang/test/Semantics/OpenACC/acc-atomic-validity.f90
    M flang/test/Semantics/OpenACC/acc-default-none-function.f90
    M flang/test/Semantics/OpenACC/acc-error.f90
    M flang/test/Semantics/OpenACC/acc-parallel.f90
    M flang/test/Semantics/OpenACC/acc-reduction-validity.f90
    M flang/test/Semantics/allocate14.f90
    M flang/test/Semantics/bindings01.f90
    M flang/test/Semantics/collectives05.f90
    M flang/test/Semantics/data03.f90
    M flang/test/Semantics/doconcurrent01.f90
    M flang/test/Semantics/doconcurrent05.f90
    M flang/test/Semantics/doconcurrent06.f90
    M flang/test/Semantics/doconcurrent08.f90
    M flang/test/Semantics/dosemantics05.f90
    M flang/test/Semantics/dosemantics08.f90
    M flang/test/Semantics/dosemantics09.f90
    M flang/test/Semantics/dosemantics11.f90
    M flang/test/Semantics/dosemantics12.f90
    M flang/test/Semantics/etime.f90
    M flang/test/Semantics/getcwd.f90
    M flang/test/Semantics/getdefinition05.f90
    M flang/test/Semantics/io11.f90
    M flang/test/Semantics/kinds02.f90

  Log Message:
  -----------
  [flang][NFC] Strip trailing whitespace from tests (11 of 14)

Only some fortran source files in flang/test/Semantics have been
modified. The remaining files will be cleaned up in subsequent commits.


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

  Changed paths:
    M llvm/test/Transforms/LoopVectorize/vplan-printing.ll

  Log Message:
  -----------
  [VPlan] Use strict whitespace checks for VPlan printing test.

Use --strict-whitespace for vplan-printing.ll to catch stray
whitespaces. The test updates show a few places where we currently emit
those.


  Commit: de86696dba5ae5da02b3de7df5b8aaa8e1371893
      https://github.com/llvm/llvm-project/commit/de86696dba5ae5da02b3de7df5b8aaa8e1371893
  Author: Nicolai Hähnle <nicolai.haehnle at amd.com>
  Date:   2025-12-05 (Fri, 05 Dec 2025)

  Changed paths:
    M llvm/lib/Target/AMDGPU/AMDGPUPromoteAlloca.cpp
    M llvm/test/CodeGen/AMDGPU/promote-alloca-multidim.ll
    M llvm/test/CodeGen/AMDGPU/promote-alloca-negative-index.ll
    M llvm/test/CodeGen/AMDGPU/promote-alloca-vector-to-vector.ll

  Log Message:
  -----------
  Revert "AMDGPU/PromoteAlloca: Always use i32 for indexing (#170511)"

This reverts commit f558c30146e51d5ef72bf3d4b3f0e86ca19e4b99.

Failure on clang-hip-vega20: https://lab.llvm.org/buildbot/#/builders/123/builds/31779


  Commit: 0e0ec4c348670864e18224dc99dd615c0d7e72f8
      https://github.com/llvm/llvm-project/commit/0e0ec4c348670864e18224dc99dd615c0d7e72f8
  Author: Nicolai Hähnle <nicolai.haehnle at amd.com>
  Date:   2025-12-05 (Fri, 05 Dec 2025)

  Changed paths:
    M llvm/lib/Target/AMDGPU/AMDGPUPromoteAlloca.cpp

  Log Message:
  -----------
  Revert "AMDGPU/PromoteAlloca: Simplify how deferred loads work (#170510)"

This reverts commit 22a2c27a0aa0d3aa5d4222f6e766646166450543.

Failure on clang-hip-vega20: https://lab.llvm.org/buildbot/#/builders/123/builds/31779


  Commit: 58c8f5768102751ce932b597563aaa4a3b7fa430
      https://github.com/llvm/llvm-project/commit/58c8f5768102751ce932b597563aaa4a3b7fa430
  Author: Eli Friedman <efriedma at qti.qualcomm.com>
  Date:   2025-12-05 (Fri, 05 Dec 2025)

  Changed paths:
    M compiler-rt/CMakeLists.txt

  Log Message:
  -----------
  [compiler-rt] Add CMake flag for AArch64 Linux with 39-bit VA. (#167028)

Sanitizers currently assume AArch64 Linux has 48-bit VA. Followup
patches will add checks for this flag to asan and hwasan.


  Commit: 7982688b69c75ff40f34184438d3ef7e905ff006
      https://github.com/llvm/llvm-project/commit/7982688b69c75ff40f34184438d3ef7e905ff006
  Author: Aiden Grossman <aidengrossman at google.com>
  Date:   2025-12-05 (Fri, 05 Dec 2025)

  Changed paths:
    M compiler-rt/test/profile/Linux/instrprof-debug-info-correlate-debuginfod.c

  Log Message:
  -----------
  [Profile] Fix debuginfod test with internal shell

The recent relanding of the internal shell broke one of the debuginfod
tests as it is not tested by any upstream buildbot due to the use of
curl. Rewriting the test to not use subshells is pretty simple.


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

  Changed paths:
    M clang/lib/Driver/ToolChains/Darwin.cpp
    R clang/test/Driver/Inputs/basic_darwin_toolchain/usr/lib/libc++.dylib
    R clang/test/Driver/Inputs/basic_darwin_toolchain/usr/lib/libc++experimental.a
    R clang/test/Driver/Inputs/basic_darwin_toolchain_static/usr/bin/.keep
    R clang/test/Driver/Inputs/basic_darwin_toolchain_static/usr/include/c++/v1/.keep
    R clang/test/Driver/Inputs/basic_darwin_toolchain_static/usr/lib/libc++.a
    R clang/test/Driver/Inputs/basic_darwin_toolchain_static/usr/lib/libc++experimental.a
    M clang/test/Driver/darwin-header-search-libcxx.cpp
    R clang/test/Driver/darwin-link-libcxx.cpp
    M clang/test/Driver/experimental-library-flag.cpp
    M compiler-rt/cmake/config-ix.cmake

  Log Message:
  -----------
  [clang] Revert changes to prefer the toolchain-provided libc++.dylib

This patch reverts the change that made clang prefer the toolchain
libc++.dylib when there is one (#170303), and the subsequent test
workaround we landed to fix bots (#170912).

We are seeing some failure on macOS LLDB bots that need to be
investigated, and that will require more time than I can spare
before the end of today.

This reverts commits bad1a88963 and 190b8d0b.


  Commit: 7afeea414d57300399bf917eaba7efe1fd821bae
      https://github.com/llvm/llvm-project/commit/7afeea414d57300399bf917eaba7efe1fd821bae
  Author: Eli Friedman <efriedma at qti.qualcomm.com>
  Date:   2025-12-05 (Fri, 05 Dec 2025)

  Changed paths:
    M llvm/test/CodeGen/AArch64/wineh-pac.ll

  Log Message:
  -----------
  Autogenerate llvm/test/CodeGen/AArch64/wineh-pac.ll (#170925)

Using custom CHECK lines doesn't really help here.


  Commit: 0cb237d69e16a8c5d234a5c5ab1b1ebcf6f94cd3
      https://github.com/llvm/llvm-project/commit/0cb237d69e16a8c5d234a5c5ab1b1ebcf6f94cd3
  Author: Hendrik Hübner <117831077+HendrikHuebner at users.noreply.github.com>
  Date:   2025-12-05 (Fri, 05 Dec 2025)

  Changed paths:
    M clang/include/clang/CIR/Dialect/IR/CIROps.td
    M clang/lib/CIR/CodeGen/CIRGenBuiltin.cpp
    M clang/lib/CIR/Lowering/DirectToLLVM/LowerToLLVM.cpp
    A clang/test/CIR/CodeGen/atomic-thread-fence.c

  Log Message:
  -----------
  [CIR] Add AtomicFenceOp and signal/thread fence builtins and required helpers (#168346)

This PR adds the AtomicFenceOp and signal/thread fence builtins.


  Commit: 27bf5fdcc69364f991756e978d184f2dbee04a19
      https://github.com/llvm/llvm-project/commit/27bf5fdcc69364f991756e978d184f2dbee04a19
  Author: Matt Arsenault <Matthew.Arsenault at amd.com>
  Date:   2025-12-05 (Fri, 05 Dec 2025)

  Changed paths:
    M llvm/include/llvm/CodeGen/SelectionDAG.h
    M llvm/lib/CodeGen/SelectionDAG/LegalizeDAG.cpp
    M llvm/lib/CodeGen/SelectionDAG/LegalizeIntegerTypes.cpp
    M llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp
    M llvm/lib/CodeGen/SelectionDAG/TargetLowering.cpp

  Log Message:
  -----------
  DAG: Add overload of getExternalSymbol using RTLIB::LibcallImpl (#170587)


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

  Changed paths:
    M flang/include/flang/Optimizer/Dialect/CUF/CUFOps.td
    M flang/lib/Lower/Allocatable.cpp
    M flang/lib/Optimizer/Transforms/CUDA/CUFAllocationConversion.cpp
    M flang/test/Fir/CUDA/cuda-allocate.fir
    M flang/test/Lower/CUDA/cuda-allocatable.cuf

  Log Message:
  -----------
  [flang][cuda] Add pointer attribute to allocate/deallocate ops (#170937)

Similar for the double descriptor information added in
https://github.com/llvm/llvm-project/pull/170901, we need to carry over
the pointer information until the op can be converted. The correct
detection would fail if the op is converted late.


  Commit: 2e2fe683af53884ce1f371dc8162db22a0ebbbe8
      https://github.com/llvm/llvm-project/commit/2e2fe683af53884ce1f371dc8162db22a0ebbbe8
  Author: Naveen Seth Hanig <naveen.hanig at outlook.com>
  Date:   2025-12-05 (Fri, 05 Dec 2025)

  Changed paths:
    M clang/include/clang/DependencyScanning/DependencyScanningWorker.h
    M clang/include/clang/Tooling/DependencyScanningTool.h
    M clang/lib/DependencyScanning/DependencyScannerImpl.cpp
    M clang/lib/DependencyScanning/DependencyScanningWorker.cpp
    M clang/lib/Tooling/DependencyScanningTool.cpp

  Log Message:
  -----------
  [clang][DependencyScanning] Use ArrayRef in function signatures over const std::vector& (NFC) (#170941)

This updates the dependency-scanning tooling to consistently use
`ArrayRef<std::string>` rather than `const std::vector<std::string>&` in
function signatures.

This is done to help break PR #169964 into smaller, more manageable
pieces.


  Commit: 8d57635c59cbe535258dc3b7c69daf6b68b9e2a2
      https://github.com/llvm/llvm-project/commit/8d57635c59cbe535258dc3b7c69daf6b68b9e2a2
  Author: John Harrison <harjohn at google.com>
  Date:   2025-12-05 (Fri, 05 Dec 2025)

  Changed paths:
    M lldb/tools/lldb-dap/DAP.cpp
    M lldb/tools/lldb-dap/DAP.h
    M lldb/tools/lldb-dap/DAPLog.cpp
    M lldb/tools/lldb-dap/DAPLog.h
    M lldb/tools/lldb-dap/DAPSessionManager.cpp
    M lldb/tools/lldb-dap/EventHelper.cpp
    M lldb/tools/lldb-dap/EventHelper.h
    M lldb/tools/lldb-dap/Transport.cpp
    M lldb/tools/lldb-dap/Transport.h
    M lldb/tools/lldb-dap/tool/lldb-dap.cpp
    M lldb/unittests/DAP/CMakeLists.txt
    A lldb/unittests/DAP/DAPLogTest.cpp
    M lldb/unittests/DAP/TestBase.cpp
    M lldb/unittests/DAP/TestBase.h

  Log Message:
  -----------
  [lldb-dap] Improving logging support and formatting. (#170731)

Adjusting logs in a few ways:

* The `DAP_LOG` and `DAP_LOG_ERROR` macros now include the file/line of
the log statement.
* Added support for creating a log with a prefix. This simplifies how we
create logs for the `lldb_dap::DAP` instance and `lldb_dap::Transport`
instance, allowing us to not have to pass the client name around as
much.
* Updated logging usage to take the `lldb_dap::Log` as a reference but
it now defaults to `llvm::raw_null_stream` if not configured. This
ensures more uniform access to the logger, even if its not written
anywhere.

The logs now look like:

```
1764896564.038788080 (stdio) --> {"command":"initialize","arguments":{...},"type":"request","seq":1}
1764896564.039064884 DAP.cpp:1007 (stdio) queued (command=initialize seq=1)
1764896564.039768934 (stdio) <-- {"body":{...},"command":"initialize","request_seq":1,"seq":1,"success":true,"type":"response"}
```


  Commit: 113b2d7f0778cec0eb1b5d5813301ffb1ed67b59
      https://github.com/llvm/llvm-project/commit/113b2d7f0778cec0eb1b5d5813301ffb1ed67b59
  Author: Teresa Johnson <tejohnson at google.com>
  Date:   2025-12-05 (Fri, 05 Dec 2025)

  Changed paths:
    M llvm/lib/Transforms/Instrumentation/MemProfUse.cpp
    M llvm/test/Transforms/PGOProfile/memprof-dump-matched-alloc-site.ll
    M llvm/test/Transforms/PGOProfile/memprof-dump-matched-call-sites.ll

  Log Message:
  -----------
  [MemProf] Add remarks for matched allocs and calls (#170379)

The new remarks are somewhat equivalent to the -memprof-print-match-info
messages, however, are not deduplicated across the module so will be
generally more verbose.


  Commit: 96c733e0dbc1d1426ec2ea23898e23ff9851fde0
      https://github.com/llvm/llvm-project/commit/96c733e0dbc1d1426ec2ea23898e23ff9851fde0
  Author: Med Ismail Bennani <ismail at bennani.ma>
  Date:   2025-12-05 (Fri, 05 Dec 2025)

  Changed paths:
    M lldb/include/lldb/Target/StackID.h
    M lldb/source/Core/CoreProperties.td
    M lldb/source/Core/FormatEntity.cpp
    M lldb/source/Plugins/Process/scripted/ScriptedFrame.cpp
    M lldb/source/Plugins/Process/scripted/ScriptedFrame.h
    M lldb/source/Target/StackFrame.cpp
    M lldb/source/Target/StackFrameList.cpp
    M lldb/test/API/functionalities/scripted_frame_provider/TestScriptedFrameProvider.py
    A lldb/test/API/functionalities/scripted_frame_provider/python_helper.py
    M lldb/test/API/functionalities/scripted_frame_provider/test_frame_providers.py
    M lldb/test/API/functionalities/scripted_process/dummy_scripted_process.py

  Log Message:
  -----------
  [lldb] Add support for PC-less scripted frames (#170805)

Scripted frames that materialize Python functions or other non-native
code are PC-less by design, meaning they don't have valid program
counter values. Previously, these frames would display invalid addresses
(`0xffffffffffffffff`) in backtrace output.

This patch updates `FormatEntity` to detect and suppress invalid address
display for PC-less frames, adds fallback to frame methods when symbol
context is unavailable, and modifies `StackFrame::GetSymbolContext` to
skip PC-based symbol resolution for invalid addresses.

The changes enable PC-less frames to display cleanly with proper
function names, file paths, and line numbers, and allow for source
display of foreign sources (like Python). Includes comprehensive test
coverage demonstrating frames pointing to Python source files.

Signed-off-by: Med Ismail Bennani <ismail at bennani.ma>


  Commit: dedcf88569c4b45b1ab78d05304045326336de0c
      https://github.com/llvm/llvm-project/commit/dedcf88569c4b45b1ab78d05304045326336de0c
  Author: Andy Kaylor <akaylor at nvidia.com>
  Date:   2025-12-05 (Fri, 05 Dec 2025)

  Changed paths:
    M clang/include/clang/CIR/Dialect/Builder/CIRBaseBuilder.h
    M clang/include/clang/CIR/MissingFeatures.h
    M clang/lib/CIR/CodeGen/CIRGenDecl.cpp
    M clang/test/CIR/CodeGen/nrvo.cpp

  Log Message:
  -----------
  [CIR] Implement NRVO variable cleanup (#170774)

This implements the cleanup handling for C++ NRVO variables. Because
exception handling is still incomplete, this doesn't behave any
differently with exceptions enabled yet, but the NRVO-specific code for
that case is trivial.


  Commit: ce2518f59d9bc67553f05536ac9bb200827c36da
      https://github.com/llvm/llvm-project/commit/ce2518f59d9bc67553f05536ac9bb200827c36da
  Author: Jin Huang <jinhuang1102 at gmail.com>
  Date:   2025-12-05 (Fri, 05 Dec 2025)

  Changed paths:
    M llvm/lib/Analysis/AliasAnalysis.cpp
    R llvm/test/Transforms/DeadStoreElimination/atomic-todo.ll
    M llvm/test/Transforms/DeadStoreElimination/atomic.ll

  Log Message:
  -----------
  [AA] Improve precision for monotonic atomic load/store operations (#158169)

Refines `getModRefInfo` for `Monotonic` and `Unordered` atomic
operations to perform a full alias evaluation instead of conservatively
returning `ModRef`.

This allows AA to return more precise results (e.g., `NoModRef`),
unblocking optimizations in passes like DSE/PRE when the pointers are
proven not to alias.

LIT testing: 
1. Fixed the `XFAIL` test `@test9` in `DSE/atomic-todo.ll`, where the
improved AA now allows DSE to correctly remove a dead store.
2. Added test `@test9a` to the same file to ensure DSE is still blocked
when pointers may alias.
3. I am also reviewing tests in GVN/PRE to see where this change may be
beneficial. While all existing tests pass, I will update this PR with
any new GVN test cases in a follow-up commit.

---------

Co-authored-by: Jin Huang <jingold at google.com>


  Commit: 762a171b3d6f6eb64dc5a844fcb25caa4ece7d00
      https://github.com/llvm/llvm-project/commit/762a171b3d6f6eb64dc5a844fcb25caa4ece7d00
  Author: Andres-Salamanca <andrealebarbaritos at gmail.com>
  Date:   2025-12-05 (Fri, 05 Dec 2025)

  Changed paths:
    M clang/include/clang/CIR/Dialect/IR/CIROps.td
    M clang/lib/CIR/CodeGen/CIRGenExprScalar.cpp
    M clang/lib/CIR/CodeGen/CIRGenFunction.cpp
    M clang/lib/CIR/CodeGen/CIRGenFunction.h
    M clang/lib/CIR/CodeGen/CIRGenModule.cpp
    M clang/lib/CIR/CodeGen/CIRGenModule.h
    M clang/lib/CIR/CodeGen/CIRGenStmt.cpp
    M clang/lib/CIR/Dialect/IR/CIRDialect.cpp
    M clang/lib/CIR/Dialect/Transforms/CIRCanonicalize.cpp
    M clang/lib/CIR/Lowering/DirectToLLVM/LowerToLLVM.cpp
    M clang/test/CIR/CodeGen/label-values.c
    A clang/test/CIR/IR/indirect-br.cir

  Log Message:
  -----------
  [CIR] Upstream support for cir.indirectbr (#169967)

This PR upstreams support for the `cir.indirectBr` operation, which is
used to implement GCC’s labels-as-values `indirect goto`.
To ensure correct lowering, we introduce precise bookkeeping to
associate each `block_address` operation with its corresponding `label`
op. This is required because a `block_address` may be emitted before the
`label` it refers to. In such cases, the reference is deferred and later
resolved by `resolveBlockAddresses`, which guarantees that all
`indirectBr` successors are emitted in the correct and fully resolved
order.


  Commit: ee77c58e5b592379db7f50031fb41c15ba72118b
      https://github.com/llvm/llvm-project/commit/ee77c58e5b592379db7f50031fb41c15ba72118b
  Author: Nicolai Hähnle <nicolai.haehnle at amd.com>
  Date:   2025-12-06 (Sat, 06 Dec 2025)

  Changed paths:
    M llvm/lib/Target/AMDGPU/AMDGPUPromoteAlloca.cpp
    A llvm/test/CodeGen/AMDGPU/promote-alloca-cfg.ll

  Log Message:
  -----------
  Reland "AMDGPU/PromoteAlloca: Simplify how deferred loads work (#170510)" (#170955)

The second pass of promotion to vector can be quite simple. Reflect that
simplicity in the code for better maintainability.

v2:
- don't put placeholders into the SSAUpdater, and add a test that shows
the problem


  Commit: 6d8714b52375b3b7a7f269cd1ec4cc73baece38b
      https://github.com/llvm/llvm-project/commit/6d8714b52375b3b7a7f269cd1ec4cc73baece38b
  Author: Andy Kaylor <akaylor at nvidia.com>
  Date:   2025-12-05 (Fri, 05 Dec 2025)

  Changed paths:
    A clang/docs/ClangIRCodeDuplication.rst
    M clang/docs/index.rst

  Log Message:
  -----------
  [Clang][CIR][Doc] Document CIR code duplication plans (#166457)

This adds a document describing known problems with code duplication in
the CIR codegen implementation, strategies to mitigate the risks caused
by that code duplication, and a general long-term plan for minimizing
the problem.


  Commit: b1ee4d08be7b53eb4676df5833127adbb778a487
      https://github.com/llvm/llvm-project/commit/b1ee4d08be7b53eb4676df5833127adbb778a487
  Author: Sudharsan Veeravalli <svs at qti.qualcomm.com>
  Date:   2025-12-06 (Sat, 06 Dec 2025)

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

  Log Message:
  -----------
  [RISCV] Refactor some code in RISCVMergeBaseOffset.NFC (#170839)


  Commit: e546d0f5d4179ac95e464ea968f7759e61aea8a3
      https://github.com/llvm/llvm-project/commit/e546d0f5d4179ac95e464ea968f7759e61aea8a3
  Author: Sudharsan Veeravalli <svs at qti.qualcomm.com>
  Date:   2025-12-06 (Sat, 06 Dec 2025)

  Changed paths:
    M llvm/lib/Target/RISCV/RISCVTargetTransformInfo.cpp
    A llvm/test/Analysis/CostModel/RISCV/fshl_fshr.ll

  Log Message:
  -----------
  [RISCV][TTI] Add cost model for ROTL/ROTR (#170824)

A funnel shift with the same first two operands is a rotate. When
`Zbb/Zbkb` is enabled we can use the `ROL(W)/ROR(I)(W)` instruction to
represent this. Add cost model support for this.

Similar to https://github.com/llvm/llvm-project/pull/169335 for AArch64.


  Commit: 472fd70ace5d8522452b98e803e11676cad8753f
      https://github.com/llvm/llvm-project/commit/472fd70ace5d8522452b98e803e11676cad8753f
  Author: mitchell <mitchell.xu2 at gmail.com>
  Date:   2025-12-06 (Sat, 06 Dec 2025)

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

  Log Message:
  -----------
  [Github][CI] Introduce `LintHelper` class in `code-lint-helper.py`  (#168827)

This commit introduces a new `LintHelper` class to
`llvm/utils/git/code-lint-helper.py`, which lays the groundwork for
integrating additional linters (`doc8`) into Github Action workflow.

---------

Co-authored-by: EugeneZelenko <eugene.zelenko at gmail.com>


  Commit: 72d5fe5ec4d400b1e9444d78f2022f486aa19af1
      https://github.com/llvm/llvm-project/commit/72d5fe5ec4d400b1e9444d78f2022f486aa19af1
  Author: Katya Romanova <56653669+romanova-ekaterina at users.noreply.github.com>
  Date:   2025-12-05 (Fri, 05 Dec 2025)

  Changed paths:
    M clang/lib/Headers/cpuid.h

  Log Message:
  -----------
  [clang] [doc] Added documentation to intrinsics in cpuid.h (#170507)

Added doxygen comments to 4 intrinsincs in cpuid.h


  Commit: 90e3ac6c55e61f0cc9ec9921dfa9d85b8a582a5d
      https://github.com/llvm/llvm-project/commit/90e3ac6c55e61f0cc9ec9921dfa9d85b8a582a5d
  Author: Vitaly Buka <vitalybuka at google.com>
  Date:   2025-12-06 (Sat, 06 Dec 2025)

  Changed paths:
    M llvm/docs/ReleaseNotes.md
    M llvm/include/llvm-c/Core.h
    M llvm/include/llvm/IR/Instructions.h
    M llvm/include/llvm/IR/User.h
    M llvm/lib/Bitcode/Writer/ValueEnumerator.cpp
    M llvm/lib/CodeGen/TypePromotion.cpp
    M llvm/lib/IR/Core.cpp
    M llvm/lib/IR/Instructions.cpp
    M llvm/lib/IR/User.cpp
    M llvm/lib/IR/Verifier.cpp
    M llvm/lib/Target/SPIRV/SPIRVEmitIntrinsics.cpp
    M llvm/unittests/IR/InstructionsTest.cpp
    M llvm/unittests/IR/VerifierTest.cpp

  Log Message:
  -----------
  Revert "[IR] Don't store switch case values as operands" (#170962)

Reverts llvm/llvm-project#166842

Breaks Mips LLVM tests, and LLD on bots.
See llvm/llvm-project#166842


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

  Changed paths:
    M llvm/lib/Transforms/Instrumentation/MemProfUse.cpp
    M llvm/test/Transforms/PGOProfile/memprof-dump-matched-alloc-site.ll

  Log Message:
  -----------
  [MemProf] Add option to print function GUIDs during matching (#170946)

For debugging, add -memprof-print-function-guids option that will cause
memprof matching to emit the computed function GUID for every function
definition in the module to stderr. This is helpful because the profile
only contains the function GUID and not the names.


  Commit: 9e9e64af48bce45c8f569e02d568ec58a855aadb
      https://github.com/llvm/llvm-project/commit/9e9e64af48bce45c8f569e02d568ec58a855aadb
  Author: Sairudra More <sairudra60 at gmail.com>
  Date:   2025-12-06 (Sat, 06 Dec 2025)

  Changed paths:
    M clang/lib/CodeGen/CGOpenMPRuntime.cpp
    M clang/test/OpenMP/target_defaultmap_codegen_01.cpp
    A clang/test/OpenMP/target_firstprivate_pointer_codegen.cpp
    M clang/test/OpenMP/target_map_codegen_26.cpp

  Log Message:
  -----------
  [OpenMP] Fix defaultmap(firstprivate:pointer) handling  (#169622)

This fixes a bug where pointers from defaultmap(firstprivate:pointer)
were incorrectly treated as firstprivate literals, causing
OMP_MAP_LITERAL to be set. This prevented the runtime from performing
device address lookup.
Realted PR https://github.com/llvm/llvm-project/pull/167879

Co-authored-by: Sairudra More <moresair at pe31.hpc.amslabs.hpecorp.net>


  Commit: 75aa7bdf45fc810bbf5efd3d029948857ded4de5
      https://github.com/llvm/llvm-project/commit/75aa7bdf45fc810bbf5efd3d029948857ded4de5
  Author: Aiden Grossman <aidengrossman at google.com>
  Date:   2025-12-06 (Sat, 06 Dec 2025)

  Changed paths:
    M compiler-rt/test/asan/TestCases/scariness_score_test.cpp

  Log Message:
  -----------
  [ASan] Disable another test on Darwin due to ulimit stack issues

Similar to #170786.


  Commit: 8fe38c4c9c71c7a86ecdba476ee5bae4c02c0dfe
      https://github.com/llvm/llvm-project/commit/8fe38c4c9c71c7a86ecdba476ee5bae4c02c0dfe
  Author: Timm Baeder <tbaeder at redhat.com>
  Date:   2025-12-06 (Sat, 06 Dec 2025)

  Changed paths:
    M clang/lib/AST/ByteCode/Descriptor.cpp
    M clang/lib/AST/ByteCode/Descriptor.h
    M clang/lib/AST/ByteCode/Disasm.cpp
    M clang/lib/AST/ByteCode/EvaluationResult.cpp
    M clang/lib/AST/ByteCode/Interp.cpp
    M clang/lib/AST/ByteCode/Interp.h
    M clang/lib/AST/ByteCode/InterpBuiltin.cpp
    M clang/lib/AST/ByteCode/InterpBuiltinBitCast.cpp
    M clang/lib/AST/ByteCode/InterpBuiltinBitCast.h
    M clang/lib/AST/ByteCode/Pointer.cpp
    M clang/lib/AST/ByteCode/Pointer.h
    M clang/test/AST/ByteCode/const-eval.c

  Log Message:
  -----------
  [clang][bytecode] Allocate InitMaps via Program/InterpState allocators (#170272)

Save them as a pointer intead of using a shared_ptr. This we we can use
the pointer integer value to differentiate the "no initmap yet" and "all
values initialzed" cases.

This regresses one test case in const-eval.c, but as it turns out, that
only worked coincidentally before.


  Commit: 5fc8e87fe20d41654d8efc6bc93f7503b3bfdd36
      https://github.com/llvm/llvm-project/commit/5fc8e87fe20d41654d8efc6bc93f7503b3bfdd36
  Author: Nishant Patel <nishant.b.patel at intel.com>
  Date:   2025-12-05 (Fri, 05 Dec 2025)

  Changed paths:
    M mlir/include/mlir/Dialect/XeGPU/IR/XeGPUOps.td
    M mlir/lib/Conversion/VectorToXeGPU/VectorToXeGPU.cpp
    M mlir/lib/Dialect/XeGPU/IR/XeGPUOps.cpp
    M mlir/lib/Dialect/XeGPU/TransformOps/XeGPUTransformOps.cpp
    M mlir/lib/Dialect/XeGPU/Transforms/XeGPUOptimizeBlockLoads.cpp
    M mlir/lib/Dialect/XeGPU/Transforms/XeGPUUnroll.cpp
    M mlir/lib/Dialect/XeGPU/Transforms/XeGPUWgToSgDistribute.cpp
    M mlir/test/Dialect/XeGPU/xegpu-wg-to-sg-unify-ops.mlir

  Log Message:
  -----------
  [MLIR][XeGPU] Retain anchor op layouts for XeGPU nD ops (#170934)

This PR adds support to retain the anchor op layouts (after dropping
what's not required) for xegpu nD ops during workgroup to subgroup &
unroll transformation


  Commit: fa2eabd7706d2f47064c980b456d3a255e9ea3f3
      https://github.com/llvm/llvm-project/commit/fa2eabd7706d2f47064c980b456d3a255e9ea3f3
  Author: Kunqiu Chen <camsyn at foxmail.com>
  Date:   2025-12-06 (Sat, 06 Dec 2025)

  Changed paths:
    M clang/test/Headers/__clang_hip_math.hip
    M llvm/lib/Transforms/Utils/SimplifyCFG.cpp
    M llvm/test/Transforms/SimplifyCFG/hoist-common-code.ll

  Log Message:
  -----------
  [SimplifyCFG] Hoist common code for switch multi-case destinations (#165700)

Previously, hoistCommonCodeFromSuccessors did not support hoisting
common code for multi-case destinations of `switch`.

However, if all the predecessors of a given Succ are the same (i.e.,
multi-case destination), it is safe to hoist the common code from Succ
to Pred, which is what this PR does.

See discussion
https://github.com/llvm/llvm-project/pull/165570#discussion_r2473290327.
Alive2 proof: https://alive2.llvm.org/ce/z/cYuczq
Optimization Impact:
https://github.com/dtcxzyw/llvm-opt-benchmark/pull/3003


  Commit: 979462c876c96c3023c0b5e42c8eda88323fd745
      https://github.com/llvm/llvm-project/commit/979462c876c96c3023c0b5e42c8eda88323fd745
  Author: Jay Foad <jay.foad at amd.com>
  Date:   2025-12-06 (Sat, 06 Dec 2025)

  Changed paths:
    M llvm/lib/Target/AMDGPU/AMDGPUInstCombineIntrinsic.cpp
    M llvm/lib/Target/AMDGPU/AMDGPUSearchableTables.td
    M llvm/lib/Target/AMDGPU/CMakeLists.txt
    R llvm/lib/Target/AMDGPU/InstCombineTables.td
    M llvm/utils/gn/secondary/llvm/lib/Target/AMDGPU/BUILD.gn

  Log Message:
  -----------
  [AMDGPU] Eliminate InstCombineTables.td. NFC. (#170857)

This also eliminates the generated file InstCombineTables.inc which was
99% identical to the existing AMDGPUGenSearchableTables.inc.


  Commit: 9dc8caef09d9d0b631639e54de097b4603b9c369
      https://github.com/llvm/llvm-project/commit/9dc8caef09d9d0b631639e54de097b4603b9c369
  Author: Benjamin Kramer <benny.kra at googlemail.com>
  Date:   2025-12-06 (Sat, 06 Dec 2025)

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

  Log Message:
  -----------
  [bazel] Port 979462c876c96c3023c0b5e42c8eda88323fd745


  Commit: dda048665317077d677cea0a15894be4d021b9c7
      https://github.com/llvm/llvm-project/commit/dda048665317077d677cea0a15894be4d021b9c7
  Author: Alexander Root <32245479+rootjalex at users.noreply.github.com>
  Date:   2025-12-06 (Sat, 06 Dec 2025)

  Changed paths:
    M mlir/docs/LangRef.md

  Log Message:
  -----------
  [MLIR] Update broken link in LangRef.md (#170938)

Noticed the link was dead when reading the docs. According to the
wayback machine, it was a link to "Revisiting Out-of-SSA Translation for
Correctness, Code Quality, and Efficiency" by Boissinot et al., so
providing a more permanent link.


  Commit: af27159e17b91cc5f49c2b6ed24f3d422312d6ec
      https://github.com/llvm/llvm-project/commit/af27159e17b91cc5f49c2b6ed24f3d422312d6ec
  Author: Baranov Victor <bar.victor.2002 at gmail.com>
  Date:   2025-12-06 (Sat, 06 Dec 2025)

  Changed paths:
    M clang-tools-extra/test/clang-tidy/infrastructure/alphabetical-order.test

  Log Message:
  -----------
  [clang-tidy] Show correct diff instructions when check_alphabetical_order.py fails (#170971)

Before the change, when given such incorrect ordering:
```
   :doc:`modernize-use-designated-initializers <modernize/use-designated-initializers>`, "Yes"
   :doc:`modernize-use-equals-default <modernize/use-equals-default>`, "Yes"
   :doc:`modernize-use-emplace <modernize/use-emplace>`, "Yes"
   :doc:`modernize-use-equals-delete <modernize/use-equals-delete>`, "Yes"
   :doc:`modernize-use-integer-sign-comparison <modernize/use-integer-sign-comparison>`, "Yes"
```
Script output suggested removing `modernize-use-equals-default` line
that came after `modernize-use-emplace` but in my actual file, we can
see that current ordering is different (same as 2nd part of the diff):
```
# |      :doc:`modernize-use-constraints <modernize/use-constraints>`, "Yes"
# |      :doc:`modernize-use-default-member-init <modernize/use-default-member-init>`, "Yes"
# |      :doc:`modernize-use-designated-initializers <modernize/use-designated-initializers>`, "Yes"
# |      :doc:`modernize-use-emplace <modernize/use-emplace>`, "Yes"
# | -    :doc:`modernize-use-equals-default <modernize/use-equals-default>`, "Yes"
# |      :doc:`modernize-use-equals-delete <modernize/use-equals-delete>`, "Yes"
# |      :doc:`modernize-use-integer-sign-comparison <modernize/use-integer-sign-comparison>`, "Yes"
# |      :doc:`modernize-use-nodiscard <modernize/use-nodiscard>`, "Yes"
# | --- 316,323 ----
# |      :doc:`modernize-use-constraints <modernize/use-constraints>`, "Yes"
# |      :doc:`modernize-use-default-member-init <modernize/use-default-member-init>`, "Yes"
# |      :doc:`modernize-use-designated-initializers <modernize/use-designated-initializers>`, "Yes"
# | +    :doc:`modernize-use-equals-default <modernize/use-equals-default>`, "Yes"
# |      :doc:`modernize-use-emplace <modernize/use-emplace>`, "Yes"
# |      :doc:`modernize-use-equals-delete <modernize/use-equals-delete>`, "Yes"
```

We need to invert the diff, so the user can correctly follow its
recommendations.


  Commit: 830ef4e4e2d0f181ed1cfacbc3daacb2555ff9e4
      https://github.com/llvm/llvm-project/commit/830ef4e4e2d0f181ed1cfacbc3daacb2555ff9e4
  Author: Michael Kruse <llvm-project at meinersbur.de>
  Date:   2025-12-06 (Sat, 06 Dec 2025)

  Changed paths:
    M openmp/CMakeLists.txt
    A openmp/cmake/modules/LibompCheckFortranFlag.cmake
    A openmp/cmake/modules/LibompHandleFlags.cmake
    A openmp/cmake/modules/LibompUtils.cmake
    A openmp/module/CMakeLists.txt
    A openmp/module/omp_lib.F90.var
    A openmp/module/omp_lib.h.var
    M openmp/runtime/CMakeLists.txt
    R openmp/runtime/cmake/LibompCheckFortranFlag.cmake
    M openmp/runtime/cmake/LibompExports.cmake
    R openmp/runtime/cmake/LibompHandleFlags.cmake
    R openmp/runtime/cmake/LibompUtils.cmake
    M openmp/runtime/cmake/config-ix.cmake
    M openmp/runtime/src/CMakeLists.txt
    R openmp/runtime/src/include/omp_lib.F90.var
    R openmp/runtime/src/include/omp_lib.h.var

  Log Message:
  -----------
  [openmp][NFCI] Move .mod code out of runtimes subdir (#169909)

Extracted out of #169638. The motivation is that we want to build
Fortran module files for device triples (amdgpu-amd-amdhsa and
nvptx64-nvidia-cuda) as well, but the runtimes/ directory is only
included for host devices.

This PR itself should not change anything, including that omp_lib.mod is
only built on host devices triple. Some dependencies used for building
omp_lib.mod are hoisted out of runtimes/ as well. IMHO they all make
sense to hoist, e.g. LIBOMP_VERSION_MAJOR/LIBOMP_VERSION_MINOR should be
usable in the entire OpenMP subproject.


  Commit: 404a9032c78f85241c952a97d1d363b9ae865cc1
      https://github.com/llvm/llvm-project/commit/404a9032c78f85241c952a97d1d363b9ae865cc1
  Author: Baranov Victor <bar.victor.2002 at gmail.com>
  Date:   2025-12-06 (Sat, 06 Dec 2025)

  Changed paths:
    M clang-tools-extra/clang-tidy/tool/check_alphabetical_order.py
    M clang-tools-extra/clang-tidy/tool/check_alphabetical_order_test.py

  Log Message:
  -----------
  [clang-tidy] Show descriptive error message when check_alphabetical_order.py fails (#170975)

Now we give clearer instructions on how to interpret the output of the
script to fix issues it reported


  Commit: 6d38c876478dac4a42f9d6e37692348deabf6a25
      https://github.com/llvm/llvm-project/commit/6d38c876478dac4a42f9d6e37692348deabf6a25
  Author: Martin Storsjö <martin at martin.st>
  Date:   2025-12-06 (Sat, 06 Dec 2025)

  Changed paths:
    M clang/docs/ReleaseNotes.rst
    M clang/include/clang/Basic/CodeGenOptions.def
    M clang/include/clang/Options/Options.td
    M clang/lib/CodeGen/CGCall.cpp
    R clang/test/CodeGen/lifetime-call-temp.c
    R clang/test/CodeGen/lifetime-invoke-c.c
    R clang/test/CodeGenCXX/aggregate-lifetime-invoke.cpp
    R clang/test/CodeGenCXX/amdgcn-call-with-aggarg.cc
    M clang/test/CodeGenCXX/stack-reuse-miscompile.cpp
    M clang/test/CodeGenCoroutines/pr59181.cpp

  Log Message:
  -----------
  Revert "[clang] Limit lifetimes of temporaries to the full expression (#170517)"

This reverts commit 5daad5bf45b3c7280f7b06979fb580f70e2c4fd0.

That commit caused broken compilation for some cases, see
https://github.com/llvm/llvm-project/pull/170517#issuecomment-3620079591.


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

  Changed paths:
    M llvm/lib/Transforms/Vectorize/VPlanRecipes.cpp
    M llvm/test/Transforms/LoopVectorize/vplan-printing.ll

  Log Message:
  -----------
  [VPlan] Remove stray space before ops when printing vector-ptr (NFC)


  Commit: 9031544772dc3a39c27feccf845a43ec38925bc0
      https://github.com/llvm/llvm-project/commit/9031544772dc3a39c27feccf845a43ec38925bc0
  Author: Hristo Hristov <hghristov.rmm at gmail.com>
  Date:   2025-12-06 (Sat, 06 Dec 2025)

  Changed paths:
    M libcxx/include/__bit_reference
    M libcxx/include/bitset
    A libcxx/test/libcxx/utilities/template.bitset/nodiscard.verify.cpp

  Log Message:
  -----------
  [libc++][bitset] Applied `[[nodiscard]]` (#170623)

`[[nodiscard]]` should be applied to functions where discarding the
return value is most likely a correctness issue.

- https://libcxx.llvm.org/CodingGuidelines.html
- https://wg21.link/bitset


  Commit: 6bb786398efdbc496edd517e682caeaaefd46f6e
      https://github.com/llvm/llvm-project/commit/6bb786398efdbc496edd517e682caeaaefd46f6e
  Author: Amr Hesham <amr96 at programmer.net>
  Date:   2025-12-06 (Sat, 06 Dec 2025)

  Changed paths:
    M clang/include/clang/CIR/Dialect/IR/CIROps.td
    A clang/test/CIR/IR/catch-param.cir

  Log Message:
  -----------
  [CIR] Add structured CatchParamOp (#165110)

Upstream, the structured CatchParamOp as a prerequisite for implementing
exception handlers

Issue https://github.com/llvm/llvm-project/issues/154992


  Commit: ddd770d97b2c4a071d4cd9cb471ed9a397e0135c
      https://github.com/llvm/llvm-project/commit/ddd770d97b2c4a071d4cd9cb471ed9a397e0135c
  Author: Hristo Hristov <hghristov.rmm at gmail.com>
  Date:   2025-12-06 (Sat, 06 Dec 2025)

  Changed paths:
    M libcxx/include/__exception/exception.h
    M libcxx/include/__exception/nested_exception.h
    M libcxx/include/__exception/operations.h
    M libcxx/include/__system_error/error_category.h
    M libcxx/include/__system_error/error_code.h
    M libcxx/include/__system_error/error_condition.h
    M libcxx/include/__system_error/system_error.h
    M libcxx/include/stdexcept
    A libcxx/test/libcxx/diagnostics/syserr/nodiscard.verify.cpp
    M libcxx/test/libcxx/language.support/nodiscard.verify.cpp

  Log Message:
  -----------
  [libc++] Applied `[[nodiscard]]` to `<exception>`, `<stdexcept>` and `<system_error>` (#170837)

[[nodiscard]] should be applied to functions where discarding the return
value is most likely a correctness issue.

- https://libcxx.llvm.org/CodingGuidelines.html


  Commit: 0cd523e55244db709987b619a7a9a2add94869fc
      https://github.com/llvm/llvm-project/commit/0cd523e55244db709987b619a7a9a2add94869fc
  Author: Dark Steve <Prasoon.Mishra at amd.com>
  Date:   2025-12-06 (Sat, 06 Dec 2025)

  Changed paths:
    M llvm/lib/CodeGen/PHIElimination.cpp
    A llvm/test/CodeGen/AMDGPU/phi-elim-mli-available.mir

  Log Message:
  -----------
  [PHIElimination] Declare MachineLoopInfo dependency for Legacy PM (#169693)

PHIElimination uses MachineLoopInfo for loop-exiting critical edge
splitting but wasn't declaring this dependency via addUsedIfAvailable()
in getAnalysisUsage(). Without this declaration, the pass manager does
not make MachineLoopInfo accessible to PHIElimination, causing
getAnalysisIfAvailable() to return nullptr.

Without MachineLoopInfo, the loop-exiting edge optimization doesn't
fire, resulting in fewer critical edge splits and potentially suboptimal
code placement.

This patch adds:
- MachineLoopInfo as an optional dependency
- A test that verifies the optimization fires when MLI is accessible


  Commit: 0e5fd438f407712b220510a2fd2e094d3b49d43e
      https://github.com/llvm/llvm-project/commit/0e5fd438f407712b220510a2fd2e094d3b49d43e
  Author: Baranov Victor <bar.victor.2002 at gmail.com>
  Date:   2025-12-06 (Sat, 06 Dec 2025)

  Changed paths:
    M clang-tools-extra/clang-tidy/.clang-tidy
    M clang-tools-extra/clang-tidy/bugprone/UnsafeFunctionsCheck.cpp
    M clang-tools-extra/clang-tidy/utils/UseRangesCheck.cpp

  Log Message:
  -----------
  [clang-tidy][NFC] Add a few cppcoreguidelines checks to codebase (#170977)


  Commit: a805147ac1ba123916de182babb0831fbb148756
      https://github.com/llvm/llvm-project/commit/a805147ac1ba123916de182babb0831fbb148756
  Author: Baranov Victor <bar.victor.2002 at gmail.com>
  Date:   2025-12-06 (Sat, 06 Dec 2025)

  Changed paths:
    M clang-tools-extra/clang-tidy/NoLintDirectiveHandler.cpp
    M clang-tools-extra/clang-tidy/bugprone/ChainedComparisonCheck.cpp
    M clang-tools-extra/clang-tidy/bugprone/DanglingHandleCheck.cpp
    M clang-tools-extra/clang-tidy/bugprone/NonZeroEnumToBoolConversionCheck.cpp
    M clang-tools-extra/clang-tidy/llvm/UseNewMLIROpBuilderCheck.cpp
    M clang-tools-extra/clang-tidy/modernize/MakeSmartPtrCheck.cpp
    M clang-tools-extra/clang-tidy/readability/RedundantInlineSpecifierCheck.cpp
    M clang-tools-extra/clang-tidy/readability/RedundantStringInitCheck.cpp
    M clang-tools-extra/clang-tidy/utils/LexerUtils.cpp
    M clang-tools-extra/clang-tidy/utils/TransformerClangTidyCheck.cpp

  Log Message:
  -----------
  [clang-tidy][NFC] Remove unused headers (flagged by misc-include-cleaner) (#170982)

But `misc-include-cleaner` still has reasonable amount of FP in
codebase, so we can't enable it clang-tidy.


  Commit: ff05da6042f0fba9fca6c6c18d0337ccf499b60d
      https://github.com/llvm/llvm-project/commit/ff05da6042f0fba9fca6c6c18d0337ccf499b60d
  Author: Baranov Victor <bar.victor.2002 at gmail.com>
  Date:   2025-12-06 (Sat, 06 Dec 2025)

  Changed paths:
    M clang-tools-extra/clang-tidy/.clang-tidy
    M clang-tools-extra/clang-tidy/ClangTidyDiagnosticConsumer.cpp
    M clang-tools-extra/clang-tidy/altera/StructPackAlignCheck.cpp
    M clang-tools-extra/clang-tidy/altera/UnrollLoopsCheck.cpp
    M clang-tools-extra/clang-tidy/bugprone/SuspiciousMissingCommaCheck.cpp
    M clang-tools-extra/clang-tidy/misc/ConfusableIdentifierCheck.cpp
    M clang-tools-extra/clang-tidy/misc/MisleadingBidirectionalCheck.cpp
    M clang-tools-extra/clang-tidy/misc/MisleadingIdentifierCheck.cpp
    M clang-tools-extra/clang-tidy/openmp/UseDefaultNoneCheck.cpp
    M clang-tools-extra/clang-tidy/readability/FunctionCognitiveComplexityCheck.cpp

  Log Message:
  -----------
  [clang-tidy][NFC] Add google-readability-casting check to codebase (#170980)


  Commit: 8dee997a8558b460b82b23fb43b197d68258baac
      https://github.com/llvm/llvm-project/commit/8dee997a8558b460b82b23fb43b197d68258baac
  Author: Nicolai Hähnle <nicolai.haehnle at amd.com>
  Date:   2025-12-06 (Sat, 06 Dec 2025)

  Changed paths:
    M llvm/lib/Target/AMDGPU/AMDGPUPromoteAlloca.cpp
    M llvm/test/CodeGen/AMDGPU/promote-alloca-multidim.ll
    M llvm/test/CodeGen/AMDGPU/promote-alloca-negative-index.ll
    M llvm/test/CodeGen/AMDGPU/promote-alloca-vector-to-vector.ll

  Log Message:
  -----------
  Reland "AMDGPU/PromoteAlloca: Always use i32 for indexing (#170511)" (#170956)

Create more canonical code that may even lead to slightly better
codegen.


  Commit: 4930e94011f6c62231de880273821d453dae0f14
      https://github.com/llvm/llvm-project/commit/4930e94011f6c62231de880273821d453dae0f14
  Author: owenca <owenpiano at gmail.com>
  Date:   2025-12-06 (Sat, 06 Dec 2025)

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

  Log Message:
  -----------
  [clang-format] Fix a regression in annotating star before lambda (#170969)

Fixes #170573


  Commit: 49a7772be5bfc86a64103a08a190133f7e4ea823
      https://github.com/llvm/llvm-project/commit/49a7772be5bfc86a64103a08a190133f7e4ea823
  Author: Philip Reames <preames at rivosinc.com>
  Date:   2025-12-06 (Sat, 06 Dec 2025)

  Changed paths:
    M llvm/include/llvm/CodeGen/MachineFrameInfo.h
    M llvm/include/llvm/CodeGen/TargetFrameLowering.h
    M llvm/lib/CodeGen/PrologEpilogInserter.cpp
    M llvm/lib/Target/AArch64/AArch64FrameLowering.cpp
    M llvm/lib/Target/AArch64/AArch64FrameLowering.h
    M llvm/lib/Target/AMDGPU/SIFrameLowering.cpp
    M llvm/lib/Target/AMDGPU/SIFrameLowering.h
    M llvm/lib/Target/RISCV/RISCVFrameLowering.cpp
    M llvm/lib/Target/RISCV/RISCVFrameLowering.h

  Log Message:
  -----------
  [CodeGen] Replace (Min,Max)CSFrameIndex with flag on frame object [NFCI] (#170905)

This removes the tracking of the MinCSFrameIndex, and MaxCSFrameIndex markers, simplifying the target API. This brings the tracking for callee save spill slots in line with how we handle other properties of stack locations.

A couple notes:
1) This requires doing scans of the entire object range, but we have other such instances in the code already, so I doubt this will matter in practice.
2) This removes the requirement that callee saved spill slots be contiguous in the frame index identified space.

I marked this as NFCI because if prior code violated the contiguous range assumption - I can't find a case where we did - then this change might adjust frame layout in some edge cases.

The motivation for this is mostly code readability, but I might use this as a primitive for something in an upcoming patch series around shrink wrapping. Haven't decided yet.


  Commit: 02482f42739e5b16035f4169923cb6abe0bb9698
      https://github.com/llvm/llvm-project/commit/02482f42739e5b16035f4169923cb6abe0bb9698
  Author: Maksim Panchenko <maks at fb.com>
  Date:   2025-12-06 (Sat, 06 Dec 2025)

  Changed paths:
    M bolt/include/bolt/Core/BinaryFunction.h
    M bolt/lib/Core/BinaryFunction.cpp
    M bolt/test/X86/unclaimed-jt-entries.s
    M bolt/test/runtime/X86/unclaimed-jt-entries.s

  Log Message:
  -----------
  [BOLT] Properly validate relocations against internals of a function (#167451)

Validation of data relocations targeting internals of a function was
happening based on offsets inside a function. As a result, if multiple
relocations were targeting the same offset, and one of the relocations
was verified, e.g. as belonging to a jump table, then all relocations
targeting the offset would be considered verified and valid.

Now that we are tracking relocations pointing inside every function, we
can do a better validation based on the location of the relocation.
E.g., if a relocation belongs to a jump table only that relocation will
be accounted for and other relocations pointing to the same address will
be evaluated independently.


  Commit: 315c904e3e1c00ea1ec7f0757e4c538ec2513624
      https://github.com/llvm/llvm-project/commit/315c904e3e1c00ea1ec7f0757e4c538ec2513624
  Author: Victor Chernyakin <chernyakin.victor.j at outlook.com>
  Date:   2025-12-06 (Sat, 06 Dec 2025)

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

  Log Message:
  -----------
  [clang][NFC] Simplify implementation of `IgnoreExprNodes` (#164193)

Using a fold instead of template recursion.


  Commit: 0dff5b5824f2fb958039da7f55b501127476a7c3
      https://github.com/llvm/llvm-project/commit/0dff5b5824f2fb958039da7f55b501127476a7c3
  Author: Feng Zou <feng.zou at intel.com>
  Date:   2025-12-07 (Sun, 07 Dec 2025)

  Changed paths:
    M llvm/lib/Target/X86/X86CompressEVEX.cpp
    M llvm/test/CodeGen/X86/apx/compress-evex.mir
    M llvm/test/TableGen/x86-instr-mapping.inc
    M llvm/utils/TableGen/X86InstrMappingEmitter.cpp
    M llvm/utils/TableGen/X86ManualInstrMapping.def

  Log Message:
  -----------
  [X86][APX] Compress setzucc with memory operand to setcc (#170842)

setzucc with memory operand is same as setcc but the later is shorter.


  Commit: 3b355b26bf4e8d5706a0a920698c1611357479f4
      https://github.com/llvm/llvm-project/commit/3b355b26bf4e8d5706a0a920698c1611357479f4
  Author: Jacques Pienaar <jpienaar at google.com>
  Date:   2025-12-07 (Sun, 07 Dec 2025)

  Changed paths:
    M mlir/tools/mlir-tblgen/PassGen.cpp

  Log Message:
  -----------
  [mlir] Remove deprecated GEN_PASS_CLASSES. (#166904)

This was marked as deprecated in 2022, but as comment. Switch to error
to make visible and stop generating. Will remove the error message in
follow up, just felt this was easier for folks to understand compilation
errors. The change required to new form is rather minimal.


  Commit: bdb918e10a0856080b697ca7fce13263b6b63867
      https://github.com/llvm/llvm-project/commit/bdb918e10a0856080b697ca7fce13263b6b63867
  Author: Matthias Springer <me at m-sp.org>
  Date:   2025-12-07 (Sun, 07 Dec 2025)

  Changed paths:
    M mlir/lib/Conversion/ArithToAPFloat/ArithToAPFloat.cpp
    M mlir/test/Conversion/ArithToApfloat/arith-to-apfloat.mlir

  Log Message:
  -----------
  [mlir][arith] `arith-to-apfloat`: Bail on unsupported bitwidth (#170994)

Bitwidths greater than 64 are not supported by `arith-to-apfloat`.


  Commit: a1ba1fa5788c4cc0e72b7af6a555eb046510e86c
      https://github.com/llvm/llvm-project/commit/a1ba1fa5788c4cc0e72b7af6a555eb046510e86c
  Author: Gil Rapaport <gil.rapaport at mobileye.com>
  Date:   2025-12-07 (Sun, 07 Dec 2025)

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

  Log Message:
  -----------
  [mlir][emitc] Simplify inlining logic (NFCI) (#169978)

This change makes inlining logic in the translator simpler and more
consistent by

(a) Extending the inlining concept to include CExpression ops, which by
    definition are inlined if and only if they reside within an
    ExpressionOp.

(b) Concentraing all inlining decisions in `shouldBeInlined()` to make
    sure that ops get the same decision when queried as operations and
    as operands.


  Commit: fb0400fe1f1f9e83f3148db8ce2c72ab5bc6728e
      https://github.com/llvm/llvm-project/commit/fb0400fe1f1f9e83f3148db8ce2c72ab5bc6728e
  Author: Gil Rapaport <gil.rapaport at mobileye.com>
  Date:   2025-12-07 (Sun, 07 Dec 2025)

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

  Log Message:
  -----------
  [mlir][emitc] Fix bug in dereference translation (#171028)

The op was not added to `hasDeferredEmission()` when introduced by
f17abc280c70, causing incorrect translation.


  Commit: 73a13839d3ec4dab9330b3909890105efad9b3bd
      https://github.com/llvm/llvm-project/commit/73a13839d3ec4dab9330b3909890105efad9b3bd
  Author: Hui <hui.xie1990 at gmail.com>
  Date:   2025-12-07 (Sun, 07 Dec 2025)

  Changed paths:
    M libcxx/docs/ABIGuarantees.rst
    M libcxx/docs/ReleaseNotes/22.rst
    M libcxx/include/__atomic/atomic.h
    M libcxx/include/__atomic/atomic_flag.h
    M libcxx/include/__atomic/atomic_ref.h
    M libcxx/include/__atomic/atomic_sync.h
    M libcxx/include/__atomic/contention_t.h
    M libcxx/include/__configuration/abi.h
    M libcxx/include/__configuration/availability.h
    M libcxx/lib/abi/CHANGELOG.TXT
    M libcxx/lib/abi/arm64-apple-darwin.libcxxabi.v1.stable.exceptions.nonew.abilist
    M libcxx/lib/abi/i686-linux-android21.libcxxabi.v1.stable.exceptions.nonew.abilist
    M libcxx/lib/abi/powerpc-ibm-aix.libcxxabi.v1.stable.exceptions.nonew.abilist
    M libcxx/lib/abi/powerpc64-ibm-aix.libcxxabi.v1.stable.exceptions.nonew.abilist
    M libcxx/lib/abi/x86_64-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/atomic.cpp
    M libcxx/test/libcxx/atomics/atomics.syn/wait.issue_85107.pass.cpp
    A libcxx/test/std/atomics/atomics.types.operations/atomics.types.operations.wait/lost_wakeup.pass.cpp

  Log Message:
  -----------
  [libc++] Allows any types of size 4 and 8 to use native platform ulock_wait (#161086)

This is to address #146145

The issue before was that, for `std::atomic::wait/notify`, we only
support `uint64_t` to go through the native `ulock_wait` directly. Any
other types will go through the global contention table's `atomic`,
increasing the chances of spurious wakeup. This PR tries to allow any
types that are of size 4 or 8 to directly go to the `ulock_wait`.

This PR is just proof of concept. If we like this idea, I can go further
to update the Linux/FreeBSD branch and add ABI macros so the existing
behaviours are reserved under the stable ABI

Here are some benchmark results

```
Benchmark                                                               Time             CPU      Time Old      Time New       CPU Old       CPU New
----------------------------------------------------------------------------------------------------------------------------------------------------
BM_stop_token_single_thread_reg_unreg_callback/1024                  -0.1113         -0.1165         51519         45785         51397         45408
BM_stop_token_single_thread_reg_unreg_callback/4096                  -0.2727         -0.1447        249685        181608        211865        181203
BM_stop_token_single_thread_reg_unreg_callback/65536                 -0.1241         -0.1237       3308930       2898396       3300986       2892608
BM_stop_token_single_thread_reg_unreg_callback/262144                +0.0335         -0.1920      13237682      13681632      13208849      10673254
OVERALL_GEOMEAN                                                      -0.1254         -0.1447             0             0             0             0
```

```
Benchmark                                                                                    Time             CPU      Time Old      Time New       CPU Old       CPU New
-------------------------------------------------------------------------------------------------------------------------------------------------------------------------
BM_1_atomic_1_waiter_1_notifier<KeepNotifying, NumHighPrioTasks<0>>/65536                 -0.3344         -0.2424       5960741       3967212       5232250       3964085
BM_1_atomic_1_waiter_1_notifier<KeepNotifying, NumHighPrioTasks<0>>/131072                -0.1474         -0.1475       9144356       7796745       9137547       7790193
BM_1_atomic_1_waiter_1_notifier<KeepNotifying, NumHighPrioTasks<0>>/262144                -0.1336         -0.1340      18333441      15883805      18323711      15868500
OVERALL_GEOMEAN                                                                           -0.2107         -0.1761             0             0             0             0
```

```
Benchmark                                                                                                             Time             CPU      Time Old      Time New       CPU Old       CPU New
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
BM_1_atomic_multi_waiter_1_notifier<KeepNotifying, NumWaitingThreads<2>, NumHighPrioTasks<0>>/16384                +0.2321         -0.0081        836618       1030772        833197        826476
BM_1_atomic_multi_waiter_1_notifier<KeepNotifying, NumWaitingThreads<2>, NumHighPrioTasks<0>>/32768                -0.3034         -0.1329       2182721       1520569       1747211       1515028
BM_1_atomic_multi_waiter_1_notifier<KeepNotifying, NumWaitingThreads<2>, NumHighPrioTasks<0>>/65536                -0.0924         -0.0924       3389098       3075897       3378486       3066448
BM_1_atomic_multi_waiter_1_notifier<KeepNotifying, NumWaitingThreads<8>, NumHighPrioTasks<0>>/4096                 +0.0464         +0.0474        664233        695080        657736        688892
BM_1_atomic_multi_waiter_1_notifier<KeepNotifying, NumWaitingThreads<8>, NumHighPrioTasks<0>>/8192                 -0.0279         -0.0267       1336041       1298794       1324270       1288953
BM_1_atomic_multi_waiter_1_notifier<KeepNotifying, NumWaitingThreads<8>, NumHighPrioTasks<0>>/16384                +0.0270         +0.0304       2543004       2611786       2517471       2593975
BM_1_atomic_multi_waiter_1_notifier<KeepNotifying, NumWaitingThreads<32>, NumHighPrioTasks<0>>/1024                +0.0423         +0.0941        473621        493657        325604        356245
BM_1_atomic_multi_waiter_1_notifier<KeepNotifying, NumWaitingThreads<32>, NumHighPrioTasks<0>>/2048                +0.0420         +0.0675        906266        944349        636253        679169
BM_1_atomic_multi_waiter_1_notifier<KeepNotifying, NumWaitingThreads<32>, NumHighPrioTasks<0>>/4096                +0.0359         +0.0378       1761584       1824783       1015092       1053439
OVERALL_GEOMEAN                                                                                                    -0.0097         -0.0007             0             0             0             0
```

```
Benchmark                                                                                                        Time             CPU      Time Old      Time New       CPU Old       CPU New
---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
BM_N_atomics_N_waiter_N_notifier<KeepNotifying, NumberOfAtomics<2>, NumHighPrioTasks<0>>/4096                 -0.0990         -0.1001        371100        334370        369984        332955
BM_N_atomics_N_waiter_N_notifier<KeepNotifying, NumberOfAtomics<2>, NumHighPrioTasks<0>>/8192                 -0.0305         -0.0314        698228        676908        696418        674585
BM_N_atomics_N_waiter_N_notifier<KeepNotifying, NumberOfAtomics<2>, NumHighPrioTasks<0>>/16384                -0.0258         -0.0268       1383530       1347894       1380665       1343680
BM_N_atomics_N_waiter_N_notifier<KeepNotifying, NumberOfAtomics<8>, NumHighPrioTasks<0>>/1024                 +0.0465         +0.4702        937821        981388        472087        694082
BM_N_atomics_N_waiter_N_notifier<KeepNotifying, NumberOfAtomics<8>, NumHighPrioTasks<0>>/2048                 +0.1596         +0.9140       1704819       1976899        616419       1179852
BM_N_atomics_N_waiter_N_notifier<KeepNotifying, NumberOfAtomics<8>, NumHighPrioTasks<0>>/4096                 -0.1018         -0.2316       3793976       3407609       1912209       1469331
BM_N_atomics_N_waiter_N_notifier<KeepNotifying, NumberOfAtomics<32>, NumHighPrioTasks<0>>/256                 +0.0395         +0.5818      30102662      31292982        174650        276270
BM_N_atomics_N_waiter_N_notifier<KeepNotifying, NumberOfAtomics<32>, NumHighPrioTasks<0>>/512                 -0.0065         +1.2860      33079634      32863968        162150        370680
BM_N_atomics_N_waiter_N_notifier<KeepNotifying, NumberOfAtomics<32>, NumHighPrioTasks<0>>/1024                -0.0325         +0.4683      36581740      35392385        282320        414520
OVERALL_GEOMEAN                                                                                               -0.0084         +0.2878             0             0             0             0
```

---------

Co-authored-by: Louis Dionne <ldionne.2 at gmail.com>


  Commit: 1226a6d8c34ca007c4192e6039866a65b98b2625
      https://github.com/llvm/llvm-project/commit/1226a6d8c34ca007c4192e6039866a65b98b2625
  Author: mitchell <mitchell.xu2 at gmail.com>
  Date:   2025-12-07 (Sun, 07 Dec 2025)

  Changed paths:
    M clang-tools-extra/test/clang-tidy/infrastructure/Inputs/param/parameters.txt

  Log Message:
  -----------
  [clang-tidy] Fix fragile test in `read-parameters-from-file` (#171033)

[CommandLine.cpp](https://github.com/llvm/llvm-project/blob/fb0400fe1f1f9e83f3148db8ce2c72ab5bc6728e/llvm/lib/Support/CommandLine.cpp#L940)
treats single quote as literal characters on Windows, so the argument is
parsed as a check named `' -*,llvm-namespace-comment '`, which matches
no existing checks, so no checks are enabled via the command line.

Previously, the test passed because it fell back to the root
`.clang-tidy` configuration which enables `llvm-*`.


  Commit: 9e7ce77573b2fad126a367475cbe807c10826691
      https://github.com/llvm/llvm-project/commit/9e7ce77573b2fad126a367475cbe807c10826691
  Author: Hassnaa Hamdi <hassnaa.hamdi at arm.com>
  Date:   2025-12-07 (Sun, 07 Dec 2025)

  Changed paths:
    M clang/docs/ReleaseNotes.rst
    M clang/docs/UsersManual.rst
    M clang/include/clang/Basic/CodeGenOptions.def
    M clang/include/clang/Options/Options.td
    M clang/lib/CodeGen/BackendUtil.cpp
    M clang/lib/CodeGen/CGClass.cpp
    M clang/lib/CodeGen/CGVTables.cpp
    M clang/lib/CodeGen/ItaniumCXXABI.cpp
    M clang/lib/Driver/ToolChains/Clang.cpp
    A clang/test/CodeGenCXX/speculative-devirt-metadata.cpp
    M clang/test/Driver/clang_f_opts.c
    M llvm/include/llvm/Passes/PassBuilder.h
    M llvm/include/llvm/Transforms/IPO/WholeProgramDevirt.h
    M llvm/lib/Passes/PassBuilderPipelines.cpp
    M llvm/lib/Transforms/IPO/WholeProgramDevirt.cpp
    A llvm/test/Transforms/PhaseOrdering/speculative-devirt-then-inliner.ll
    A llvm/test/Transforms/WholeProgramDevirt/devirt-metadata.ll

  Log Message:
  -----------
  [Clang]: Support opt-in speculative devirtualization (#159685)

This patch adds Clang support for speculative devirtualization and
integrates the related pass into the pass pipeline.
It's building on the LLVM backend implementation from PR #159048.
Speculative devirtualization transforms an indirect call (the virtual
function) to a guarded direct call.
It is guarded by a comparison of the virtual function pointer to the
expected target.
This optimization is still safe without LTO because it doesn't do direct
calls, it's conditional according to the function ptr.
This optimization:
- Opt-in: Disabled by default, enabled via `-fdevirtualize-speculatively`
- Works in non-LTO mode
- Handles publicly-visible objects.
- Uses guarded devirtualization with fallback to indirect calls when the
speculation is incorrect.

For this C++ example:
```
class Base {
public:
    __attribute__((noinline))
    virtual void virtual_function1() { asm volatile("NOP"); }
    virtual void virtual_function2() { asm volatile("NOP"); }
};
class Derived : public Base {
public:
    void virtual_function2() override { asm volatile("NOP"); }
};
__attribute__((noinline))
void foo(Base *BV) {
    BV->virtual_function1();
}
void bar() {
    Base *b = new Derived();
    foo(b);
}
```
Here is the IR without enabling speculative devirtualization:
```
define dso_local void @_Z3fooP4Base(ptr noundef %BV) local_unnamed_addr #0 {
entry:
  %vtable = load ptr, ptr %BV, align 8, !tbaa !6
  %0 = load ptr, ptr %vtable, align 8
  tail call void %0(ptr noundef nonnull align 8 dereferenceable(8) %BV)
  ret void
}
```
IR after enabling speculative devirtualization:
```
define dso_local void @_Z3fooP4Base(ptr noundef %BV) local_unnamed_addr #0 {
entry:
  %vtable = load ptr, ptr %BV, align 8, !tbaa !12
  %0 = load ptr, ptr %vtable, align 8
  %1 = icmp eq ptr %0, @_ZN4Base17virtual_function1Ev
  br i1 %1, label %if.true.direct_targ, label %if.false.orig_indirect, !prof !15

if.true.direct_targ:                              ; preds = %entry
  tail call void @_ZN4Base17virtual_function1Ev(ptr noundef nonnull align 8 dereferenceable(8) %BV)
  br label %if.end.icp

if.false.orig_indirect:                           ; preds = %entry
  tail call void %0(ptr noundef nonnull align 8 dereferenceable(8) %BV)
  br label %if.end.icp

if.end.icp:                                       ; preds = %if.false.orig_indirect, %if.true.direct_targ
  ret void
}
```


  Commit: 3fc741923643040cc17ef9562983994e73c74efb
      https://github.com/llvm/llvm-project/commit/3fc741923643040cc17ef9562983994e73c74efb
  Author: Florian Hahn <flo at fhahn.com>
  Date:   2025-12-07 (Sun, 07 Dec 2025)

  Changed paths:
    M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
    M llvm/lib/Transforms/Vectorize/VPlan.h
    M llvm/lib/Transforms/Vectorize/VPlanAnalysis.cpp
    M llvm/lib/Transforms/Vectorize/VPlanConstruction.cpp
    M llvm/lib/Transforms/Vectorize/VPlanPatternMatch.h
    M llvm/lib/Transforms/Vectorize/VPlanPredicator.cpp
    M llvm/lib/Transforms/Vectorize/VPlanRecipes.cpp
    M llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
    M llvm/lib/Transforms/Vectorize/VPlanUnroll.cpp
    M llvm/test/Transforms/LoopVectorize/first-order-recurrence-chains-vplan.ll
    M llvm/test/Transforms/LoopVectorize/interleave-and-scalarize-only.ll
    M llvm/test/Transforms/LoopVectorize/vplan-printing-reductions.ll
    M llvm/test/Transforms/LoopVectorize/vplan-printing.ll
    M llvm/unittests/Transforms/Vectorize/VPlanVerifierTest.cpp

  Log Message:
  -----------
  [VPlan] Replace ExtractLast(Elem|LanePerPart) with ExtractLast(Lane/Part) (#164124)

Replace ExtractLastElement and ExtractLastLanePerPart with more generic
and specific ExtractLastLane and ExtractLastPart, which model distinct
parts of extracting across parts and lanes. ExtractLastElement ==
ExtractLastLane(ExtractLastPart) and ExtractLastLanePerPart ==
ExtractLastLane, the latter clarifying the name of the opcode. A new
m_ExtractLastElement matcher is provided for convenience.

The patch should be NFC modulo printing changes.

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


  Commit: 11fd760e3a13b5c519e49abc7c9e3b684a94e6f8
      https://github.com/llvm/llvm-project/commit/11fd760e3a13b5c519e49abc7c9e3b684a94e6f8
  Author: Tianqi Chen <tqchen at users.noreply.github.com>
  Date:   2025-12-07 (Sun, 07 Dec 2025)

  Changed paths:
    M mlir/include/mlir-c/ExecutionEngine.h
    M mlir/lib/Bindings/Python/ExecutionEngineModule.cpp
    M mlir/lib/CAPI/ExecutionEngine/ExecutionEngine.cpp
    M mlir/test/CAPI/execution_engine.c
    M mlir/test/CAPI/global_constructors.c
    M mlir/test/python/execution_engine.py

  Log Message:
  -----------
  [MLIR][ExecutionEngine] Enable PIC option (#170995)

This PR enables the MLIR execution engine to dump object file as PIC
code, which is needed when the object file is later bundled into a dynamic
shared library.

---------

Co-authored-by: Mehdi Amini <joker.eph at gmail.com>


  Commit: 68fea00dfb736656ded58e1017733019b9664d88
      https://github.com/llvm/llvm-project/commit/68fea00dfb736656ded58e1017733019b9664d88
  Author: Alex Voicu <alexandru.voicu at amd.com>
  Date:   2025-12-07 (Sun, 07 Dec 2025)

  Changed paths:
    M clang/lib/CodeGen/Targets/SPIR.cpp
    M clang/test/CodeGenCUDA/amdgpu-kernel-arg-pointer-type.cu
    M clang/test/CodeGenCUDA/kernel-args.cu
    A clang/test/CodeGenHIP/amdgcnspirv-uses-amdgpu-abi.cpp
    M llvm/lib/Target/SPIRV/SPIRVCallLowering.cpp
    A llvm/test/CodeGen/SPIRV/pointers/ptr-argument-byref-amdgcnspirv.ll

  Log Message:
  -----------
  [SPIRV] Use AMDGPU ABI for AMDGCN flavoured SPIRV (#169865)

At the moment AMDGCN flavoured SPIRV uses the SPIRV ABI with some tweaks
revolving around passing aggregates as direct. This is problematic in
multiple ways:

- it leads to divergence from code compiled for a concrete target, which
makes it difficult to debug;
- it incurs a run time cost, when dealing with larger aggregates;
- it incurs a compile time cost, when dealing with larger aggregates.

This patch switches over AMDGCN flavoured SPIRV to implement the AMDGPU
ABI (except for dealing with variadic functions, which will be added in
the future). One additional complication (and the primary motivation
behind the current less than ideal state of affairs) stems from `byref`,
which AMDGPU uses, not being expressible in SPIR-V. We deal with this by
CodeGen-ing for `byref`, lowering it to the `FuncParamAttr ByVal` in
SPIR-V, and restoring it when doing reverse translation from AMDGCN
flavoured SPIR-V.


  Commit: 7bfdaa51f155432346e507d8ce389802c92eb530
      https://github.com/llvm/llvm-project/commit/7bfdaa51f155432346e507d8ce389802c92eb530
  Author: Aiden Grossman <aidengrossman at google.com>
  Date:   2025-12-07 (Sun, 07 Dec 2025)

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

  Log Message:
  -----------
  [VPlan] Fix unused variable warning

llvm-project/llvm/lib/Transforms/Vectorize/VPlanPredicator.cpp:312:19: warning: unused variable 'EB' [-Wunused-variable]
  312 |     VPBasicBlock *EB = Plan.getExitBlocks().front();
      |                   ^~

This showed up in a non-assertions build.


  Commit: 5dbd049662001535a475cdb7d290dfb63a0515fc
      https://github.com/llvm/llvm-project/commit/5dbd049662001535a475cdb7d290dfb63a0515fc
  Author: Matthias Springer <me at m-sp.org>
  Date:   2025-12-07 (Sun, 07 Dec 2025)

  Changed paths:
    M mlir/include/mlir/Conversion/Passes.td
    M mlir/lib/Conversion/ArithToAPFloat/ArithToAPFloat.cpp
    M mlir/lib/Conversion/ArithToAPFloat/CMakeLists.txt
    M mlir/test/Conversion/ArithToApfloat/arith-to-apfloat.mlir
    A mlir/test/Integration/Dialect/Arith/CPU/test-apfloat-emulation-vector.mlir

  Log Message:
  -----------
  [mlir][arith] `arith-to-apfloat`: Add vector support (#171024)

Add support for vectorized operations such as `arith.addf ... :
vector<4xf4E2M1FN>`. The computation is scalarized: scalar operands are
extracted with `vector.to_elements`, multiple scalar computations are
performed and the result is inserted back into a vector with
`vector.from_elements`.


  Commit: ffc55815ef3208a3802513c33ac66a122d2fb680
      https://github.com/llvm/llvm-project/commit/ffc55815ef3208a3802513c33ac66a122d2fb680
  Author: Alex Voicu <alexandru.voicu at amd.com>
  Date:   2025-12-07 (Sun, 07 Dec 2025)

  Changed paths:
    M llvm/lib/Target/SPIRV/SPIRVCallLowering.cpp
    M llvm/lib/Target/SPIRV/SPIRVEmitIntrinsics.cpp
    M llvm/lib/Target/SPIRV/SPIRVGlobalRegistry.h
    M llvm/lib/Target/SPIRV/SPIRVPreLegalizer.cpp
    M llvm/lib/Target/SPIRV/SPIRVPrepareFunctions.cpp
    M llvm/lib/Target/SPIRV/SPIRVUtils.cpp
    M llvm/lib/Target/SPIRV/SPIRVUtils.h
    A llvm/test/CodeGen/SPIRV/pointers/fun-with-aggregate-arg-in-const-init.ll

  Log Message:
  -----------
  [SPIRV] Add support for pointers to functions with aggregate args/returns as global variables / constant initialisers (#169595)

This patch does two things:

1. it extends the aggregate arg / ret replacement transform to work on
indirect calls / pointers to function. It is somewhat spread out as
retrieving the original function type is needed in a few places. In
general, we should rethink / rework the entire infrastructure around
aggregate arg/ret handling, using an opaque target specific type rather
than i32;
2. it enables global variables of pointer to function type, and, more
specifically, global variables of a aggregate type (arrays / structures)
with pointer to function elements.

This also exposes some issues in how we handle pointers to function and
lowering indirect function calls, primarily around not using the program
address space. These will be handled in a subsequent patch as they'll
require somewhat more intrusive surgery, possibly involving modifying
the data layout.


  Commit: 359cac491195af10e7481f5a322be689ba01a267
      https://github.com/llvm/llvm-project/commit/359cac491195af10e7481f5a322be689ba01a267
  Author: Victor Chernyakin <chernyakin.victor.j at outlook.com>
  Date:   2025-12-07 (Sun, 07 Dec 2025)

  Changed paths:
    M clang-tools-extra/clang-tidy/fuchsia/MultipleInheritanceCheck.cpp
    M clang-tools-extra/clang-tidy/fuchsia/MultipleInheritanceCheck.h
    M clang-tools-extra/docs/ReleaseNotes.rst
    M clang-tools-extra/test/clang-tidy/checkers/fuchsia/multiple-inheritance.cpp

  Log Message:
  -----------
  [clang-tidy] Don't cache classes by name in `fuchsia-multiple-inheritance` (#171016)

Context: for every class, this check needs to compute whether that class
is an interface (i.e. only has pure virtual methods). This is expensive,
so the check caches the computation. But it caches by class name, which
is problematic, because the same name can refer to different classes at
different scopes. Here's for example a false negative it causes:
https://godbolt.org/z/bMGc5sYqh. This PR changes it to cache by
`CXXRecordDecl *` instead.


  Commit: 8378a6fa4f5c83298fb0b5e240bb7f254f7b1137
      https://github.com/llvm/llvm-project/commit/8378a6fa4f5c83298fb0b5e240bb7f254f7b1137
  Author: Matthias Springer <me at m-sp.org>
  Date:   2025-12-07 (Sun, 07 Dec 2025)

  Changed paths:
    M mlir/test/Integration/Dialect/Arith/CPU/test-apfloat-emulation-vector.mlir

  Log Message:
  -----------
  [mlir][arith] Fix build after #171024 (#171057)

Fix build after #171024.


  Commit: 72b4a5d3b05d25f2442d1f6cb9105cf2cc29d4de
      https://github.com/llvm/llvm-project/commit/72b4a5d3b05d25f2442d1f6cb9105cf2cc29d4de
  Author: Vojtěch Michal <50836015+vmichal at users.noreply.github.com>
  Date:   2025-12-08 (Mon, 08 Dec 2025)

  Changed paths:
    M libcxx/test/std/containers/container.adaptors/flat.map/flat.map.cons/copy_assign.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_pmr.pass.cpp
    M libcxx/test/std/containers/container.adaptors/flat.map/flat.map.cons/initializer_list.pass.cpp
    M libcxx/test/std/containers/container.adaptors/flat.map/flat.map.cons/iter_iter.pass.cpp
    M libcxx/test/std/containers/container.adaptors/flat.map/flat.map.cons/move_assign.pass.cpp
    M libcxx/test/std/containers/container.adaptors/flat.map/flat.map.cons/pmr.pass.cpp
    M libcxx/test/std/containers/container.adaptors/flat.map/flat.map.cons/range.pass.cpp
    M libcxx/test/std/containers/container.adaptors/flat.map/flat.map.cons/sorted_container.pass.cpp
    M libcxx/test/std/containers/container.adaptors/flat.map/flat.map.cons/sorted_initializer_list.pass.cpp
    M libcxx/test/std/containers/container.adaptors/flat.map/flat.map.cons/sorted_iter_iter.pass.cpp
    M libcxx/test/std/containers/container.adaptors/flat.map/flat.map.modifiers/erase_key.pass.cpp
    M libcxx/test/std/containers/container.adaptors/flat.map/flat.map.observers/comp.pass.cpp
    M libcxx/test/std/containers/container.adaptors/flat.multimap/flat.multimap.cons/copy_assign.pass.cpp
    M libcxx/test/std/containers/container.adaptors/flat.multimap/flat.multimap.cons/deduct.pass.cpp
    M libcxx/test/std/containers/container.adaptors/flat.multimap/flat.multimap.cons/deduct_pmr.pass.cpp
    M libcxx/test/std/containers/container.adaptors/flat.multimap/flat.multimap.cons/initializer_list.pass.cpp
    M libcxx/test/std/containers/container.adaptors/flat.multimap/flat.multimap.cons/iter_iter.pass.cpp
    M libcxx/test/std/containers/container.adaptors/flat.multimap/flat.multimap.cons/move_assign.pass.cpp
    M libcxx/test/std/containers/container.adaptors/flat.multimap/flat.multimap.cons/pmr.pass.cpp
    M libcxx/test/std/containers/container.adaptors/flat.multimap/flat.multimap.cons/range.pass.cpp
    M libcxx/test/std/containers/container.adaptors/flat.multimap/flat.multimap.cons/sorted_container.pass.cpp
    M libcxx/test/std/containers/container.adaptors/flat.multimap/flat.multimap.cons/sorted_initializer_list.pass.cpp
    M libcxx/test/std/containers/container.adaptors/flat.multimap/flat.multimap.cons/sorted_iter_iter.pass.cpp
    M libcxx/test/std/containers/container.adaptors/flat.multimap/flat.multimap.modifiers/erase_key.pass.cpp
    M libcxx/test/std/containers/container.adaptors/flat.multimap/flat.multimap.observers/comp.pass.cpp
    M libcxx/test/std/containers/container.adaptors/flat.multiset/flat.multiset.cons/move.pass.cpp
    M libcxx/test/std/containers/container.adaptors/flat.multiset/flat.multiset.cons/move_assign.pass.cpp
    M libcxx/test/std/containers/container.adaptors/flat.multiset/flat.multiset.cons/sorted_iter_iter.pass.cpp
    M libcxx/test/std/containers/container.adaptors/flat.multiset/flat.multiset.iterators/iterator.pass.cpp
    M libcxx/test/std/containers/container.adaptors/flat.set/flat.set.cons/move.pass.cpp
    M libcxx/test/std/containers/container.adaptors/flat.set/flat.set.cons/move_assign.pass.cpp
    M libcxx/test/std/containers/container.adaptors/flat.set/flat.set.cons/sorted_iter_iter.pass.cpp
    M libcxx/test/std/containers/container.adaptors/flat.set/flat.set.iterators/iterator.pass.cpp

  Log Message:
  -----------
  [libcxx] Removal of narrowing conversions in `flat_[multi]{set, map}` tests for compatibility with MSVC (#170909)

Impacts files in `test/std/containers/container.adaptors/flat.xxx`. No
meaning is changed; only appropriate types are spelled out to prevent
compiler warnings.

- Replace `char`s and `short`s used in tests of `flat_[multi]{set, map}`
with `long`s to prevent warnings about narrowing conversions when
running tests. Allow increased test coverage for MSVC STL.
- Make test code robust against evil overloads of operator comma .(2
files)
- Add `[[maybe_unused]]` to some local `typedef`s that are sometimes
unused due to usage of `LIBCPP_STATIC_ASSERT`.

For discussion and suggested changes, see the LLVM Discord
https://discord.com/channels/636084430946959380/636732894974312448/1445901676400742533


  Commit: 000e46219ba1ee53fc42d35e00c314c2807e8b14
      https://github.com/llvm/llvm-project/commit/000e46219ba1ee53fc42d35e00c314c2807e8b14
  Author: Jorge Gorbe Moya <jgorbe at slackito.com>
  Date:   2025-12-08 (Mon, 08 Dec 2025)

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

  Log Message:
  -----------
  [bazel] Fix mlir build after #171024 (#171068)


  Commit: fc92e4dec9a6dfcb4fb77d863d0bf1dbc53033e5
      https://github.com/llvm/llvm-project/commit/fc92e4dec9a6dfcb4fb77d863d0bf1dbc53033e5
  Author: Mingjie Xu <xumingjie.enna1 at bytedance.com>
  Date:   2025-12-08 (Mon, 08 Dec 2025)

  Changed paths:
    M llvm/lib/Transforms/InstCombine/InstCombinePHI.cpp

  Log Message:
  -----------
  [InstCombine] Fix bail-out in `PHIsEqualValue()` (#170650)

We encountered a such case: `PHIsEqualValue()` is called with a PHI node
`PN` whose incoming values are all PHI nodes, and `NonPhiInVal` is
nullptr. When the size of `ValueEqualPHIs` reaches 16, `NonPhiInVal` is
still nullptr, then we keep scanning PHI node operands, this time the
recursion won't bail out even if we have visited too many PHI nodes.

In our case, the recursion ends with ~1700 PHI nodes visited, causes
InstCombine time-consuming.


  Commit: 62355f19edd7435bbf6fdae512db3e725a0f6647
      https://github.com/llvm/llvm-project/commit/62355f19edd7435bbf6fdae512db3e725a0f6647
  Author: Mend Renovate <bot at renovateapp.com>
  Date:   2025-12-07 (Sun, 07 Dec 2025)

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

  Log Message:
  -----------
  Update actions/checkout action to v6 (#171065)

This PR contains the following updates:

| Package | Type | Update | Change |
|---|---|---|---|
| [actions/checkout](https://redirect.github.com/actions/checkout) |
action | major | `v5.0.0` -> `v6.0.1` |


  Commit: 2d80486656b75ed80490d27667a5e8191bb40079
      https://github.com/llvm/llvm-project/commit/2d80486656b75ed80490d27667a5e8191bb40079
  Author: Craig Topper <craig.topper at sifive.com>
  Date:   2025-12-07 (Sun, 07 Dec 2025)

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

  Log Message:
  -----------
  [RISCV] Use a switch in RISCVInstrInfo::verifyInstruction. NFC (#170961)

The immediate only operands handled with a range check and a switch
nested under the default case.


  Commit: b0e98426f390c3f0d86c3a2c860a6d980a91e5de
      https://github.com/llvm/llvm-project/commit/b0e98426f390c3f0d86c3a2c860a6d980a91e5de
  Author: Brad Smith <brad at comstyle.com>
  Date:   2025-12-07 (Sun, 07 Dec 2025)

  Changed paths:
    M compiler-rt/lib/builtins/cpu_model/aarch64.c
    M compiler-rt/lib/builtins/cpu_model/aarch64/fmv/android.inc
    M compiler-rt/lib/builtins/cpu_model/aarch64/fmv/elf_aux_info.inc
    M compiler-rt/lib/builtins/cpu_model/aarch64/fmv/getauxval.inc
    M compiler-rt/lib/builtins/cpu_model/aarch64/hwcap.inc

  Log Message:
  -----------
  Revert "[FMV][AArch64] Add initial AT_HWCAP3 / AT_HWCAP4 support (#161595)" (#171071)

Crashing with older glibc.

This reverts commit edb43192516a55165cc4c158eb4fd4b2d81a8fce,
57b5ba00cb421b9be17bac10036763f42fbe9298 and
9715ccae1f98162f03ac0884a3dce5045b6b9a6e.


  Commit: 6ec8c4351cfc1d0627d1633b02ea787bd29c77d8
      https://github.com/llvm/llvm-project/commit/6ec8c4351cfc1d0627d1633b02ea787bd29c77d8
  Author: Harrison Hao <57025411+harrisonGPU at users.noreply.github.com>
  Date:   2025-12-08 (Mon, 08 Dec 2025)

  Changed paths:
    M llvm/lib/Target/AMDGPU/AMDGPUPromoteAlloca.cpp
    M llvm/test/CodeGen/AMDGPU/promote-alloca-vector-gep.ll

  Log Message:
  -----------
  [AMDGPU] Enable i8 GEP promotion for vector allocas (#166132)

This patch adds support for the pattern:
```llvm
  %index = select i1 %idx_sel, i32 0, i32 4
  %elt = getelementptr inbounds i8, ptr addrspace(5) %alloca, i32 %index
```
by scaling the byte offset to an element index (index >>
log2(ElemSize)),
allowing the vector element to be updated with insertelement instead of
using
scratch memory.


  Commit: e442904e706b9957bbe81389f05e137d141a2c85
      https://github.com/llvm/llvm-project/commit/e442904e706b9957bbe81389f05e137d141a2c85
  Author: Shoreshen <372660931 at qq.com>
  Date:   2025-12-08 (Mon, 08 Dec 2025)

  Changed paths:
    M llvm/lib/Target/AMDGPU/AMDGPUAttributor.cpp
    M llvm/lib/Transforms/IPO/AttributorAttributes.cpp
    A llvm/test/CodeGen/AMDGPU/attr-amdgpu-align.ll
    M llvm/test/Transforms/Attributor/AMDGPU/tag-invariant-loads.ll

  Log Message:
  -----------
  [AMDGPU] Apply alignment attr for make.buffer.rsrc (#166914)

Calculating alignment for `make.buffer.rsrc` intrinsic. The logic is the
alignment on use of return value of `make.buffer.rsrc` should be capped
by the base operand's alignment of `make.buffer.rsrc`.

For example:
```ll
define float @foo(ptr addrspace(1) align X %ptr) {
  %fat.ptr = call ptr addrspace(7) @llvm.amdgcn.make.buffer.rsrc.p7.p1(ptr addrspace(1) %ptr, i16 0, i32 C, i32 0)
  %y = load float, ptr addrspace(7) %fat.ptr, align Y
  ret float %y
}
```

We hopes that `Y = min(X, Y)`

---

After discussion, it seems improper for letting `Y = min(X, Y)` since it
contradict with the semantic of align on load.

So we would apply the origin behavior of align, which is letting `X` and
`Y` both equal to `max(X, Y)`

---------

Co-authored-by: Shilei Tian <i at tianshilei.me>


  Commit: 4125e73cdc6188cca4c1c72b72e2b2d85c157483
      https://github.com/llvm/llvm-project/commit/4125e73cdc6188cca4c1c72b72e2b2d85c157483
  Author: Hristo Hristov <hghristov.rmm at gmail.com>
  Date:   2025-12-08 (Mon, 08 Dec 2025)

  Changed paths:
    M libcxx/include/__functional/hash.h
    M libcxx/include/__memory/shared_ptr.h
    M libcxx/include/__memory/unique_ptr.h
    M libcxx/include/__utility/integer_sequence.h
    M libcxx/include/module.modulemap.in
    M libcxx/test/libcxx/diagnostics/functional.nodiscard.verify.cpp
    M libcxx/test/libcxx/language.support/nodiscard.verify.cpp
    A libcxx/test/libcxx/utilities/intseq/nodiscard.verify.cpp
    M libcxx/test/libcxx/utilities/smartptr/nodiscard.verify.cpp

  Log Message:
  -----------
  [libc++] Applied `[[nodiscard]]` to `hash<shared_ptr>`, `hash<unique_ptr>`, etc. (#170674)

`[[nodiscard]]` should be applied to functions where discarding the
return value is most likely a correctness issue.

- https://libcxx.llvm.org/CodingGuidelines.html


1. `hash<shared_ptr>`, `hash<unique_ptr>`, `std::integer_sequence<>`
etc.
2. Also implements fixes to
https://github.com/llvm/llvm-project/issues/169634 on the go (issues
discovered during current implementation)

---------

Co-authored-by: A. Jiang <de34 at live.cn>
Co-authored-by: Hristo Hristov <zingam at outlook.com>


  Commit: c6f45f51fbb93fd6d38f2a22e61053831fc553d4
      https://github.com/llvm/llvm-project/commit/c6f45f51fbb93fd6d38f2a22e61053831fc553d4
  Author: YunQiang Su <yunqiang at isrc.iscas.ac.cn>
  Date:   2025-12-08 (Mon, 08 Dec 2025)

  Changed paths:
    M llvm/lib/Target/PowerPC/PPCISelLowering.cpp
    M llvm/lib/Target/PowerPC/PPCInstrVSX.td
    M llvm/test/CodeGen/PowerPC/fminimum-fmaximum.ll
    M llvm/test/CodeGen/PowerPC/scalar-min-max.ll

  Log Message:
  -----------
  PowerPC/VSX: Select FMINNUM and FMAXNUM (#135739)

In LangRef, we claim that FMINNUM and FMAXNUM should follow the minNum
and maxNum operators in IEEE754-2008.

PowerPC/VSX does have these instructions XSMINDP and XSMAXDP.

Now we use FMINNUM_IEEE and FMAXNUM_IEEE, since they are used by the
non-arch expand codes now.
In future, we may replace all FMINNUM_IEEE/FMAXNUM_IEEE with FMINNUM and
FMAXNUM.

---------

Co-authored-by: Your Name <you at example.com>


  Commit: 8e39bcd9c37f7d35cf34dd78e7b57b7fbc2b4312
      https://github.com/llvm/llvm-project/commit/8e39bcd9c37f7d35cf34dd78e7b57b7fbc2b4312
  Author: Mingming Liu <mingmingl at google.com>
  Date:   2025-12-07 (Sun, 07 Dec 2025)

  Changed paths:
    M lld/docs/ELF/linker_script.rst

  Log Message:
  -----------
  [lld][docs] Document two linker-script related options for lld ELF (#166313)

This is a follow up of the discussions in
https://github.com/llvm/llvm-project/pull/163497


  Commit: 4b800d309920889504ff04b57cb818a45b28d748
      https://github.com/llvm/llvm-project/commit/4b800d309920889504ff04b57cb818a45b28d748
  Author: Luke Lau <luke at igalia.com>
  Date:   2025-12-08 (Mon, 08 Dec 2025)

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

  Log Message:
  -----------
  [RISCV] Remove last use of @llvm.experimental.vp.splat in RISCVCodeGenPrepare. NFCI (#170543)

RISCVCodeGenPrepare is the last user of the vp.splat intrinsic, where it
uses it to expand a zero strided load into a scalar load and splat.
Originally this was to avoid vl toggles inside vectorized loops, but
nowadays this shouldn't be necessary because we have RISCVVLOptimizer.
To preserve the test cases where there's no store with VL, this replaces
it with a regular splat followed by a vp_merge to set the lanes past EVL
as poison. We need to set the EVL here because RISCVISelDAGToDAG will
try and recombine it back into a zero strided load, and we want to
preserve the original VL.


  Commit: 446a3a19ed93449a9b50533f924f4bb658fd113e
      https://github.com/llvm/llvm-project/commit/446a3a19ed93449a9b50533f924f4bb658fd113e
  Author: Craig Topper <craig.topper at sifive.com>
  Date:   2025-12-07 (Sun, 07 Dec 2025)

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

  Log Message:
  -----------
  [RISCV] Use GPRNoX0 instead of AVL for Xsfmm pseudos. NFC (#170726)

AVL allows immediates, but we don't have an equivalent of vsetivli for
XSfmm.


  Commit: 46341d5938a060834f92da6e507fcd5fddf0155b
      https://github.com/llvm/llvm-project/commit/46341d5938a060834f92da6e507fcd5fddf0155b
  Author: Craig Topper <craig.topper at sifive.com>
  Date:   2025-12-07 (Sun, 07 Dec 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/RISCVISelDAGToDAG.cpp
    M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
    M llvm/lib/Target/RISCV/RISCVInstrInfoP.td
    M llvm/lib/Target/RISCV/RISCVInstrInfoZb.td
    M llvm/lib/Target/RISCV/RISCVSubtarget.h
    M llvm/test/CodeGen/RISCV/attributes.ll
    M llvm/test/CodeGen/RISCV/rv32p.ll
    M llvm/test/CodeGen/RISCV/rv64p.ll
    M llvm/test/CodeGen/RISCV/rvp-ext-rv32.ll
    M llvm/test/CodeGen/RISCV/rvp-ext-rv64.ll
    M llvm/test/MC/RISCV/attribute-arch.s
    M llvm/test/MC/RISCV/rv32i-invalid.s
    M llvm/test/MC/RISCV/rv32p-invalid.s
    M llvm/test/MC/RISCV/rv32p-valid.s
    M llvm/test/MC/RISCV/rv64p-valid.s
    M llvm/unittests/TargetParser/RISCVISAInfoTest.cpp

  Log Message:
  -----------
  [RISCV] Update P extension to the 018 version of the spec. (#170399)

Rename the PPACK* instructions to PPAIR*. Rename PDIF* to PABD*. Remove
Zba/Zbb instructions from P.

https://www.jhauser.us/RISCV/ext-P/


  Commit: 9c60d70df9212734d0cf332b4b687a4942cc7257
      https://github.com/llvm/llvm-project/commit/9c60d70df9212734d0cf332b4b687a4942cc7257
  Author: Craig Topper <craig.topper at sifive.com>
  Date:   2025-12-07 (Sun, 07 Dec 2025)

  Changed paths:
    M llvm/test/CodeGen/RISCV/rvp-ext-rv32.ll

  Log Message:
  -----------
  [RISCV] Re-generate rvp-ext-rv32.ll after #170399. NFC

Some instructions got renamed by #170399, but new tests cases were
added after that PR was created.


  Commit: 3d24efd85a62e22115a8582aea147f208bf8095f
      https://github.com/llvm/llvm-project/commit/3d24efd85a62e22115a8582aea147f208bf8095f
  Author: Baranov Victor <bar.victor.2002 at gmail.com>
  Date:   2025-12-08 (Mon, 08 Dec 2025)

  Changed paths:
    A clang-tools-extra/test/clang-tidy/.clang-tidy

  Log Message:
  -----------
  [clang-tidy][NFC] Add empty '.clang-tidy' file in tests dir to silent warnings in IDE (#171029)

When working on tests, `clangd` with option `--clang-tidy` will report
warnings from
[root](https://github.com/llvm/llvm-project/blob/main/.clang-tidy)
clang-tidy config.
I believe these warnings serve no purpose in tests, so we better disable
them to silent warnings in IDE.


  Commit: 7b652195d79bf79dab3d40f962e3b8063a39e20f
      https://github.com/llvm/llvm-project/commit/7b652195d79bf79dab3d40f962e3b8063a39e20f
  Author: Nikita Popov <npopov at redhat.com>
  Date:   2025-12-08 (Mon, 08 Dec 2025)

  Changed paths:
    M llvm/include/llvm/IR/Constants.h
    M llvm/lib/IR/Constants.cpp
    M llvm/lib/Transforms/InstCombine/InstCombineCalls.cpp

  Log Message:
  -----------
  [IR] Add ImplicitTrunc argument to ConstantInt::get() (#170865)

Add an ImplicitTrunc argument to ConstantInt::get(), which allows
controlling whether implicit truncation of the value is permitted.
    
This argument currently defaults to true, but will be switched to false
in the future to guard against signed/unsigned confusion, similar to
what has already happened for APInt.
    
The argument gives an opt-out for cases where the truncation is
intended. The patch contains one illustrative example where this
happens.


  Commit: 95470b6c620d75cdfe5a2a6b2388a90cc53e66c3
      https://github.com/llvm/llvm-project/commit/95470b6c620d75cdfe5a2a6b2388a90cc53e66c3
  Author: adbox53 <123413623+adbox53 at users.noreply.github.com>
  Date:   2025-12-08 (Mon, 08 Dec 2025)

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

  Log Message:
  -----------
  Replace interp__builtin_blend with interp__builtin_ia32_shuffle_gener… (#170217)

Fixes #169994

---------

Co-authored-by: Timm Baeder <tbaeder at redhat.com>


  Commit: ec787501dc3d60f2927abfcf4c8d322ea6baa82a
      https://github.com/llvm/llvm-project/commit/ec787501dc3d60f2927abfcf4c8d322ea6baa82a
  Author: Jan Patrick Lehr <JanPatrick.Lehr at amd.com>
  Date:   2025-12-08 (Mon, 08 Dec 2025)

  Changed paths:
    M llvm/lib/Target/AMDGPU/AMDGPUPromoteAlloca.cpp
    M llvm/test/CodeGen/AMDGPU/promote-alloca-vector-gep.ll

  Log Message:
  -----------
  Revert "[AMDGPU] Enable i8 GEP promotion for vector allocas" (#171087)

Reverts llvm/llvm-project#166132

Broke libc on GPU tests.
https://lab.llvm.org/buildbot/#/builders/10/builds/18635


  Commit: ec1ea0a4ca02451731036ce04915e30aad0c81dd
      https://github.com/llvm/llvm-project/commit/ec1ea0a4ca02451731036ce04915e30aad0c81dd
  Author: Nikita Popov <npopov at redhat.com>
  Date:   2025-12-08 (Mon, 08 Dec 2025)

  Changed paths:
    M llvm/bindings/ocaml/llvm/llvm_ocaml.c
    M llvm/docs/ReleaseNotes.md
    M llvm/examples/OrcV2Examples/OrcV2CBindingsAddObjectFile/OrcV2CBindingsAddObjectFile.c
    M llvm/examples/OrcV2Examples/OrcV2CBindingsBasicUsage/OrcV2CBindingsBasicUsage.c
    M llvm/examples/OrcV2Examples/OrcV2CBindingsDumpObjects/OrcV2CBindingsDumpObjects.c
    M llvm/examples/OrcV2Examples/OrcV2CBindingsIRTransforms/OrcV2CBindingsIRTransforms.c
    M llvm/examples/OrcV2Examples/OrcV2CBindingsMCJITLikeMemoryManager/OrcV2CBindingsMCJITLikeMemoryManager.c
    M llvm/examples/OrcV2Examples/OrcV2CBindingsRemovableCode/OrcV2CBindingsRemovableCode.c
    M llvm/include/llvm-c/BitReader.h
    M llvm/include/llvm-c/Core.h
    M llvm/include/llvm-c/Target.h
    M llvm/include/llvm/IR/LLVMContext.h
    M llvm/lib/Bitcode/Reader/BitReader.cpp
    M llvm/lib/IR/Core.cpp
    M llvm/lib/Target/Target.cpp
    M llvm/tools/llvm-c-test/attributes.c
    M llvm/tools/llvm-c-test/calc.c
    M llvm/tools/llvm-c-test/debuginfo.c
    M llvm/tools/llvm-c-test/diagnostic.c
    M llvm/tools/llvm-c-test/echo.cpp
    M llvm/tools/llvm-c-test/metadata.c
    M llvm/tools/llvm-c-test/module.c
    M llvm/tools/llvm-c-test/object.c
    M llvm/unittests/ExecutionEngine/MCJIT/MCJITCAPITest.cpp
    M llvm/unittests/IR/ConstantsTest.cpp

  Log Message:
  -----------
  [llvm-c] Deprecate functions working on the global context (#163979)

One of the most common mistakes when working with the LLVM C API is to
mix functions that work on the global context and those that work on an
explicit context. This often results in seemingly nonsensical errors
because types from different contexts are mixed.

We have considered the APIs working on the global context to be obsolete
for a long time already, and do not add any new APIs using the global
context. However, the fact that these still exist (and have shorter
names) continues to cause issues.

This PR proposes to deprecate these APIs, with intent to remove them at
some point in the future.

RFC:
https://discourse.llvm.org/t/rfc-deprecate-c-api-functions-using-the-global-context/88639


  Commit: bd1bd178f8e3770b296f9b042bef1d45bd736e51
      https://github.com/llvm/llvm-project/commit/bd1bd178f8e3770b296f9b042bef1d45bd736e51
  Author: Dan Blackwell <dan_blackwell at apple.com>
  Date:   2025-12-08 (Mon, 08 Dec 2025)

  Changed paths:
    M compiler-rt/test/fuzzer/reduce_inputs.test

  Log Message:
  -----------
  [fuzzer][test-only] Bump runs for reduce_inputs.test unseeded run (#169641)

I have seen a failure whereby the fuzzer failed to reach the expected
input and thus failed the test.

This patch bumps the max executions to 10,000,000 in order to give the
fuzzer a better chance of reaching the expected input. Most runs
complete successfully, so I do not see this adding test time in the
general case; I believe it's a fair tradeoff for the unlucky seed to run
for longer if it reduces the noise from false positives. Note, this
updates a different `RUN:` to
https://github.com/llvm/llvm-project/pull/165402.

rdar://162122184


  Commit: c347b2669bc82385d6269a26e57f8dedc2a802d9
      https://github.com/llvm/llvm-project/commit/c347b2669bc82385d6269a26e57f8dedc2a802d9
  Author: Stefan Gränitz <stefan.graenitz at gmail.com>
  Date:   2025-12-08 (Mon, 08 Dec 2025)

  Changed paths:
    M llvm/include/llvm/Analysis/RuntimeLibcallInfo.h

  Log Message:
  -----------
  Remove LLVM_ABI from members of RuntimeLibraryAnalysis (NFC) (#170850)

Fix Windows build error: attribute 'dllexport' cannot be applied to member of 'dllexport' class


  Commit: 448ac1fb00df7aadc207dc3f5e87d7dcb5b933c5
      https://github.com/llvm/llvm-project/commit/448ac1fb00df7aadc207dc3f5e87d7dcb5b933c5
  Author: Petar Avramovic <Petar.Avramovic at amd.com>
  Date:   2025-12-08 (Mon, 08 Dec 2025)

  Changed paths:
    M llvm/lib/Target/AMDGPU/AMDGPULegalizerInfo.cpp
    M llvm/lib/Target/AMDGPU/AMDGPULegalizerInfo.h
    M llvm/test/CodeGen/AMDGPU/llvm.exp10.ll

  Log Message:
  -----------
  AMDGPU/GlobalISel: Fix broken exp10 lowering for f16 (#170708)


  Commit: 7a59ab0e1a0c51c06b61eb66b37aeb592924a963
      https://github.com/llvm/llvm-project/commit/7a59ab0e1a0c51c06b61eb66b37aeb592924a963
  Author: Jay Foad <jay.foad at amd.com>
  Date:   2025-12-08 (Mon, 08 Dec 2025)

  Changed paths:
    M llvm/lib/Target/AMDGPU/AMDGPUISelLowering.cpp

  Log Message:
  -----------
  [AMDGPU] Common up some unsafe fexp lowering. NFC. (#170841)


  Commit: 8aa82eff569388f50a2fec60b61d9771b0912f0e
      https://github.com/llvm/llvm-project/commit/8aa82eff569388f50a2fec60b61d9771b0912f0e
  Author: Pierre van Houtryve <pierre.vanhoutryve at amd.com>
  Date:   2025-12-08 (Mon, 08 Dec 2025)

  Changed paths:
    M llvm/lib/Target/AMDGPU/SIInsertWaitcnts.cpp
    M llvm/test/CodeGen/AMDGPU/lds-dma-waits.ll

  Log Message:
  -----------
  [AMDGPU][SIInsertWaitcnts] Wait on all LDS DMA operations when no aliasing store is found (#170660)

Previously, we would miss inserting a wait if the ds_read had AA info,
but it didn't match
any LDS DMA op, for example if we didn't track the LDS DMA op it aliases
with because it exceeded the tracking limit.


  Commit: 2e238bfa36decb416d7245850261e7e5246f9056
      https://github.com/llvm/llvm-project/commit/2e238bfa36decb416d7245850261e7e5246f9056
  Author: Hans Wennborg <hans at hanshq.net>
  Date:   2025-12-08 (Mon, 08 Dec 2025)

  Changed paths:
    M llvm/utils/release/build_llvm_release.bat

  Log Message:
  -----------
  Build win release packages with LLDB_ENABLE_LIBXML2 (#170513)

Fixes #170461


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

  Changed paths:
    M llvm/test/CodeGen/X86/bitcnt-big-integer.ll

  Log Message:
  -----------
  [X86] bitcnt-big-integer.ll - add test coverage for AVX512 targets with no VLX support (#171104)


  Commit: 49496c531da2d1acf0d1e2e74dd84c190347c039
      https://github.com/llvm/llvm-project/commit/49496c531da2d1acf0d1e2e74dd84c190347c039
  Author: Mehdi Amini <joker.eph at gmail.com>
  Date:   2025-12-08 (Mon, 08 Dec 2025)

  Changed paths:
    M mlir/tools/mlir-tblgen/LLVMIRIntrinsicGen.cpp

  Log Message:
  -----------
  [MLIR] Apply clang-tidy fixes for misc-use-internal-linkage in LLVMIRIntrinsicGen.cpp (NFC)


  Commit: f9e0fa8ba4100e8acb8907a5a32c0175d0711162
      https://github.com/llvm/llvm-project/commit/f9e0fa8ba4100e8acb8907a5a32c0175d0711162
  Author: guillem-bartrina-sonarsource <guillem.bartrina at sonarsource.com>
  Date:   2025-12-08 (Mon, 08 Dec 2025)

  Changed paths:
    M clang/lib/StaticAnalyzer/Checkers/MoveChecker.cpp
    A clang/test/Analysis/use-after-move-invalidation.cpp

  Log Message:
  -----------
  [analyzer] MoveChecker: correct invalidation of this-regions (#169626)

By completely omitting invalidation in the case of InstanceCall, we do
not clear the moved state of the fields of the this object after an
opaque call to a member function of the object itself.


  Commit: 405403c8ed4b2956dc03c270373fac2576a23a65
      https://github.com/llvm/llvm-project/commit/405403c8ed4b2956dc03c270373fac2576a23a65
  Author: David Spickett <david.spickett at linaro.org>
  Date:   2025-12-08 (Mon, 08 Dec 2025)

  Changed paths:
    M mlir/lib/Dialect/Transform/TuneExtension/TuneExtensionOps.cpp

  Log Message:
  -----------
  [mlir] Fix GCC compilation warning in TuneExtensionOps.cpp (#168850)

Building with GCC produces:
```
<...>/TuneExtensionOps.cpp:180:26: warning: comparison of unsigned expression in ‘< 0’ is always false [-Wtype-limits]
  180 |   if (*selectedRegionIdx < 0 || *selectedRegionIdx >= getNumRegions())
      |       ~~~~~~~~~~~~~~~~~~~^~~
<...>/TuneExtensionOps.cpp: In member function ‘llvm::LogicalResult mlir::transform::tune::AlternativesOp::verify()’:
/home/david.spickett/llvm-project/mlir/lib/Dialect/Transform/TuneExtension/TuneExtensionOps.cpp:236:19: warning: comparison of unsigned expression in ‘< 0’ is always false [-Wtype-limits]
  236 |     if (regionIdx < 0 || regionIdx >= getNumRegions())
      |         ~~~~~~~~~~^~~
```

As we are sign extending these variables, use int64_t instead of size_t
for their type.


  Commit: e52cddc4326031cc78db370c150384c12157d3b7
      https://github.com/llvm/llvm-project/commit/e52cddc4326031cc78db370c150384c12157d3b7
  Author: Tom Stellard <tstellar at redhat.com>
  Date:   2025-12-08 (Mon, 08 Dec 2025)

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

  Log Message:
  -----------
  workflows/release-binaries: Use upload-release-artifact action for uploading (#170528)


  Commit: 56beac9f0c2629b34d65dff2ea63605cc43dad39
      https://github.com/llvm/llvm-project/commit/56beac9f0c2629b34d65dff2ea63605cc43dad39
  Author: Manuel Carrasco <Manuel.Carrasco at amd.com>
  Date:   2025-12-08 (Mon, 08 Dec 2025)

  Changed paths:
    M llvm/lib/Target/SPIRV/SPIRVEmitIntrinsics.cpp
    A llvm/test/CodeGen/SPIRV/const-array-gep.ll

  Log Message:
  -----------
  [SPIRV] Fix assertion violation caused by unexpected ConstantExpr. (#170524)

`SPIRVEmitIntrinsics::simplifyZeroLengthArrayGepInst` asserted that it
always expected a `GetElementPtrInst` from `IRBuilder::CreateGEP` (which
returns a `Value`). `IRBuilder` can fold and return a `ConstantExpr`
instead, thus violating the assertion. The patch fixes this by using
`GetElementPtrInst::Create` to always return a `GetElementPtrInst`.

This LLVM defect was identified via the AMD Fuzzing project.


  Commit: f41edb3fb9143e1fdc0bd326241af12d4a3cf56b
      https://github.com/llvm/llvm-project/commit/f41edb3fb9143e1fdc0bd326241af12d4a3cf56b
  Author: Jay Foad <jay.foad at amd.com>
  Date:   2025-12-08 (Mon, 08 Dec 2025)

  Changed paths:
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.fma.legacy.ll

  Log Message:
  -----------
  [AMDGPU] Add test cases for v_fmac_dx9_zero_f32 aka v_fmac_legacy_f32 (#171108)


  Commit: 5e3ffd66e7c434ac615432cdfbfb0d6ed47b643c
      https://github.com/llvm/llvm-project/commit/5e3ffd66e7c434ac615432cdfbfb0d6ed47b643c
  Author: Mehdi Amini <joker.eph at gmail.com>
  Date:   2025-12-08 (Mon, 08 Dec 2025)

  Changed paths:
    M mlir/lib/ExecutionEngine/ArmRunnerUtils.cpp

  Log Message:
  -----------
  [MLIR] Apply clang-tidy fixes for readability-identifier-naming in ArmRunnerUtils.cpp (NFC)


  Commit: 32ff7100d737bcfce2f713dd9838df88bdd3b631
      https://github.com/llvm/llvm-project/commit/32ff7100d737bcfce2f713dd9838df88bdd3b631
  Author: Benjamin Maxwell <benjamin.maxwell at arm.com>
  Date:   2025-12-08 (Mon, 08 Dec 2025)

  Changed paths:
    M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
    M llvm/test/CodeGen/AArch64/bf16-v8-instructions.ll
    M llvm/test/CodeGen/AArch64/fixed-length-bf16-arith.ll

  Log Message:
  -----------
  [AArch64] Lower v8bf16 FMUL to BFMLAL top/bottom with +sve (#169655)

Assuming the predicate is hoisted, this should have a slightly better
throughput: https://godbolt.org/z/jb7aP7Efc

Note: SVE must be used to convert back to bf16 as the bfmlalb/t
instructions operate on even/odd lanes, but the neon bfcvtn/2 process
the top/bottom halves of vectors.


  Commit: 3a6781ea4d21ce9c21c227131141fcf9665cdf6d
      https://github.com/llvm/llvm-project/commit/3a6781ea4d21ce9c21c227131141fcf9665cdf6d
  Author: Simon Pilgrim <llvm-dev at redking.me.uk>
  Date:   2025-12-08 (Mon, 08 Dec 2025)

  Changed paths:
    M llvm/test/CodeGen/X86/vector-shuffle-combining-avx512f.ll

  Log Message:
  -----------
  [X86] vector-shuffle-combining-avx512f.ll - add tests showing failure to simplify expand/compress nodes (#171113)


  Commit: d94958b2f27affe00c42c1338f99674d2f6271c8
      https://github.com/llvm/llvm-project/commit/d94958b2f27affe00c42c1338f99674d2f6271c8
  Author: Tirthankar Mazumder <63574588+wermos at users.noreply.github.com>
  Date:   2025-12-08 (Mon, 08 Dec 2025)

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

  Log Message:
  -----------
  [InstCombine] Fold `icmp samesign u{gt/lt} (X +nsw C2), C` -> `icmp s{gt/lt} X, (C - C2)` (#169960)

Fixes #166973

Partially addresses #134028

Alive2 proof: https://alive2.llvm.org/ce/z/BqHQNN


  Commit: 1bbff7290f481388e5ec915436181deb4972819e
      https://github.com/llvm/llvm-project/commit/1bbff7290f481388e5ec915436181deb4972819e
  Author: Mehdi Amini <joker.eph at gmail.com>
  Date:   2025-12-08 (Mon, 08 Dec 2025)

  Changed paths:
    M mlir/lib/ExecutionEngine/VulkanRuntimeWrappers.cpp

  Log Message:
  -----------
  [MLIR] Apply clang-tidy fixes for llvm-qualified-auto in VulkanRuntimeWrappers.cpp (NFC)


  Commit: 60492898f8d4143f99f1dc2d3015e97f56acc870
      https://github.com/llvm/llvm-project/commit/60492898f8d4143f99f1dc2d3015e97f56acc870
  Author: Mehdi Amini <joker.eph at gmail.com>
  Date:   2025-12-08 (Mon, 08 Dec 2025)

  Changed paths:
    M mlir/lib/Dialect/Shard/IR/ShardOps.cpp

  Log Message:
  -----------
  [MLIR] Apply clang-tidy fixes for readability-identifier-naming in ShardOps.cpp (NFC)


  Commit: a5e8e77f7ccd15945eb432a3619e57f9600c142a
      https://github.com/llvm/llvm-project/commit/a5e8e77f7ccd15945eb432a3619e57f9600c142a
  Author: Gergely Bálint <gergely.balint at arm.com>
  Date:   2025-12-08 (Mon, 08 Dec 2025)

  Changed paths:
    M bolt/lib/Passes/PointerAuthCFIAnalyzer.cpp
    M bolt/test/AArch64/pacret-cfi-incorrect.s
    A bolt/test/runtime/AArch64/pacret-synchronous-unwind.cpp

  Log Message:
  -----------
  [BOLT][PAC] Warn about synchronous unwind tables (#165227)

BOLT currently ignores functions with synchronous PAuth DWARF info.
If more than 10% of functions get ignored for inconsistencies, we
should emit a warning to only use asynchronous unwind tables.

See related issue: #165215


  Commit: 7c832fca5374cde2804cebc2ba3c5ad635fb76a1
      https://github.com/llvm/llvm-project/commit/7c832fca5374cde2804cebc2ba3c5ad635fb76a1
  Author: Adrian Vogelsgesang <avogelsgesang at salesforce.com>
  Date:   2025-12-08 (Mon, 08 Dec 2025)

  Changed paths:
    M lldb/source/Commands/CommandObjectTarget.cpp

  Log Message:
  -----------
  [lldb] Fix command line of `target frame-provider register` (#167803)

So far, the syntax was `target frame-provider register <cmd-options>
[<run-args>]`. Note the optional `run-args` at the end. They are
completely ignored by the actual command, but the command line parser
still accepts them.

This commit removes them.

This was probably a copy-paste error from `CommandObjectProcessLaunch`
which was probably used as a blue-print for `target frame-provider
register`.


  Commit: 33d779dfbf258eac826b2a22b4fece602cce321f
      https://github.com/llvm/llvm-project/commit/33d779dfbf258eac826b2a22b4fece602cce321f
  Author: Robert Imschweiler <robert.imschweiler at amd.com>
  Date:   2025-12-08 (Mon, 08 Dec 2025)

  Changed paths:
    M openmp/runtime/src/kmp_ftn_entry.h

  Log Message:
  -----------
  [OpenMP] Fix undefined symbol for Darwin builds (#170999)

cf.
https://github.com/llvm/llvm-project/pull/168554#issuecomment-3617253169


  Commit: 07bafab83de2ba9f7d15fb194e0d34cd71f17af2
      https://github.com/llvm/llvm-project/commit/07bafab83de2ba9f7d15fb194e0d34cd71f17af2
  Author: Jay Foad <jay.foad at amd.com>
  Date:   2025-12-08 (Mon, 08 Dec 2025)

  Changed paths:
    M llvm/lib/Target/AMDGPU/AMDGPU.td
    M llvm/lib/Target/AMDGPU/SIInstructions.td
    M llvm/lib/Target/AMDGPU/VOP2Instructions.td
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.fma.legacy.ll

  Log Message:
  -----------
  [AMDGPU] Do not generate V_FMAC_DX9_ZERO_F32 on GFX12 (#171116)

GFX12 does not have the FMAC form of this instruction, only the FMA
form.

Fixes: #170437


  Commit: c1d030e9a48c2167b52b8b296c9e30ecfb7adb40
      https://github.com/llvm/llvm-project/commit/c1d030e9a48c2167b52b8b296c9e30ecfb7adb40
  Author: Mehdi Amini <joker.eph at gmail.com>
  Date:   2025-12-08 (Mon, 08 Dec 2025)

  Changed paths:
    M mlir/lib/ExecutionEngine/ExecutionEngine.cpp

  Log Message:
  -----------
  [MLIR][ExecutionEngine] Don't create a `_mlir_` wrapper function for internal linkage (#171115)

This is somehow NFC, we were creating wrapper for interal functions,
which are de-facto not callable.


  Commit: 7fbd443491db62a3fe316f9cc4e3e47036f5730b
      https://github.com/llvm/llvm-project/commit/7fbd443491db62a3fe316f9cc4e3e47036f5730b
  Author: David Spickett <david.spickett at linaro.org>
  Date:   2025-12-08 (Mon, 08 Dec 2025)

  Changed paths:
    M lldb/source/Commands/CommandObjectBreakpoint.cpp

  Log Message:
  -----------
  [lldb] Remove printf in breakpoint add command

Added in 2110db0f49593 / #156067.


  Commit: f29f01db8fa0be64e8de66adc2c0037f3e18d448
      https://github.com/llvm/llvm-project/commit/f29f01db8fa0be64e8de66adc2c0037f3e18d448
  Author: Aiden Grossman <aidengrossman at google.com>
  Date:   2025-12-08 (Mon, 08 Dec 2025)

  Changed paths:
    M compiler-rt/test/sanitizer_common/TestCases/Linux/soft_rss_limit_mb_test.cpp

  Log Message:
  -----------
  [Sanitizer] Bump soft_rss_limit_mb in test (#170911)

This test is failing on some buildbots now that the internal shell has
been turned on and was failing previously on some ppc bots when turning
it on a while back (before it got reverted).

At least one X86 bot is barely hitting the limit
(https://lab.llvm.org/buildbot/#/builders/174/builds/28487 224MB-235MB).

This likely needs to be bumped due to changes in the process tree (now
that we invoke things through python rather than a bash shell) with the
enablement of the internal shell.


  Commit: f1af9b027eaf41f884e63b7121f6b6af6dd81126
      https://github.com/llvm/llvm-project/commit/f1af9b027eaf41f884e63b7121f6b6af6dd81126
  Author: Mend Renovate <bot at renovateapp.com>
  Date:   2025-12-08 (Mon, 08 Dec 2025)

  Changed paths:
    M .github/workflows/bazel-checks.yml
    M .github/workflows/build-ci-container-tooling.yml
    M .github/workflows/build-ci-container-windows.yml
    M .github/workflows/build-ci-container.yml
    M .github/workflows/build-metrics-container.yml
    M .github/workflows/check-ci.yml
    M .github/workflows/ci-post-commit-analyzer.yml
    M .github/workflows/commit-access-greeter.yml
    M .github/workflows/commit-access-review.yml
    M .github/workflows/docs.yml
    M .github/workflows/email-check.yaml
    M .github/workflows/gha-codeql.yml
    M .github/workflows/hlsl-test-all.yaml
    M .github/workflows/issue-release-workflow.yml
    M .github/workflows/issue-subscriber.yml
    M .github/workflows/issue-write.yml
    M .github/workflows/libc-fullbuild-tests.yml
    M .github/workflows/libc-overlay-tests.yml
    M .github/workflows/libclang-abi-tests.yml
    M .github/workflows/libclang-python-tests.yml
    M .github/workflows/libcxx-build-and-test.yaml
    M .github/workflows/libcxx-build-containers.yml
    M .github/workflows/libcxx-check-generated-files.yml
    M .github/workflows/libcxx-run-benchmarks.yml
    M .github/workflows/llvm-abi-tests.yml
    M .github/workflows/llvm-bugs.yml
    M .github/workflows/merged-prs.yml
    M .github/workflows/mlir-spirv-tests.yml
    M .github/workflows/new-prs.yml
    M .github/workflows/pr-code-format.yml
    M .github/workflows/pr-code-lint.yml
    M .github/workflows/pr-request-release-note.yml
    M .github/workflows/pr-subscriber.yml
    M .github/workflows/premerge.yaml
    M .github/workflows/release-asset-audit.yml
    M .github/workflows/release-binaries.yml
    M .github/workflows/release-documentation.yml
    M .github/workflows/release-doxygen.yml
    M .github/workflows/release-lit.yml
    M .github/workflows/release-sources.yml
    M .github/workflows/release-tasks.yml
    M .github/workflows/scorecard.yml
    M .github/workflows/spirv-tests.yml
    M .github/workflows/test-unprivileged-download-artifact.yml
    M .github/workflows/version-check.yml

  Log Message:
  -----------
  Update [Github] Update GHA Dependencies (#171064)

This PR contains the following updates:

| Package | Type | Update | Change | Pending |
|---|---|---|---|---|
| [actions/checkout](https://redirect.github.com/actions/checkout) |
action | patch | `v6.0.0` -> `v6.0.1` | |
| [actions/setup-node](https://redirect.github.com/actions/setup-node) |
action | minor | `v6.0.0` -> `v6.1.0` | |
|
[github/codeql-action](https://redirect.github.com/github/codeql-action)
| action | patch | `v4.31.5` -> `v4.31.6` | `v4.31.7` |


  Commit: 11866c499b06ae2f259ef870c8ea15c560bee04d
      https://github.com/llvm/llvm-project/commit/11866c499b06ae2f259ef870c8ea15c560bee04d
  Author: Hongyu Chen <xxs_chy at outlook.com>
  Date:   2025-12-08 (Mon, 08 Dec 2025)

  Changed paths:
    M llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
    M llvm/test/CodeGen/RISCV/mul.ll

  Log Message:
  -----------
  [DAGCombiner] Don't peek through bitcast when checking isMulAddWithConstProfitable (#171056)

Fixes https://github.com/llvm/llvm-project/issues/171035
Peeking through bitcast may cause type mismatch between `AddNode` and
`ConstNode` in `isMulAddWithConstProfitable`.


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

  Changed paths:
    M llvm/test/CodeGen/X86/shift-i512.ll

  Log Message:
  -----------
  [X86] shift-i512.ll - extend test coverage (#171125)

Remove v8i64 dependency from original shift-by-1 tests - this was added for #132601 but is unlikely to be necessary

Add tests for general shifts as well as shift-by-constant and shift-of-constant examples


  Commit: dd06214394977729a3f2715bfadf1b31467551b8
      https://github.com/llvm/llvm-project/commit/dd06214394977729a3f2715bfadf1b31467551b8
  Author: Erich Keane <ekeane at nvidia.com>
  Date:   2025-12-08 (Mon, 08 Dec 2025)

  Changed paths:
    M clang/lib/CIR/CodeGen/CIRGenDeclOpenACC.cpp
    A clang/test/CIR/CodeGenOpenACC/routine-bind.c
    A clang/test/CIR/CodeGenOpenACC/routine-bind.cpp
    M mlir/include/mlir/Dialect/OpenACC/OpenACCOps.td
    M mlir/lib/Dialect/OpenACC/IR/OpenACC.cpp

  Log Message:
  -----------
  [OpenACC][CIR] Implement routine 'bind'-with-a-string lowering (#170916)

The 'bind' clause emits an attribute on the RoutineOp that states which
function it should call on the device side. When provided in
double-quotes, the function on the device side should be the exact name
given. This patch emits the IR to do that.

As a part of that, we add a helper function to the OpenACC dialect to do
so, as well as a version that adds the ID version (though we don't
    exercise th at yet).

The 'bind' with an ID should do the MANGLED name, but it isn't quite
clear what that name SHOULD be yet. Since the signature of a function is
included in its mangling, and we're not providing said signature, we
have to come up with something. This is left as an exercise for a future
patch.


  Commit: e8219e5ce84db26fd521ce5091d18e75c7afbc6a
      https://github.com/llvm/llvm-project/commit/e8219e5ce84db26fd521ce5091d18e75c7afbc6a
  Author: Luke Lau <luke at igalia.com>
  Date:   2025-12-08 (Mon, 08 Dec 2025)

  Changed paths:
    M llvm/include/llvm/Transforms/Vectorize/LoopVectorizationLegality.h
    M llvm/include/llvm/Transforms/Vectorize/LoopVectorize.h
    M llvm/lib/Transforms/Vectorize/LoopVectorizationLegality.cpp
    M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
    M llvm/test/Transforms/LoopVectorize/AArch64/early_exit_costs.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/predicated-costs.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/simple_early_exit.ll
    A llvm/test/Transforms/LoopVectorize/AArch64/sve-predicated-costs.ll
    A llvm/test/Transforms/LoopVectorize/RISCV/predicated-costs.ll
    M llvm/test/Transforms/PhaseOrdering/AArch64/std-find.ll
    A llvm/test/Transforms/PhaseOrdering/loop-vectorize-bfi.ll

  Log Message:
  -----------
  [VPlan] Use BlockFrequencyInfo in getPredBlockCostDivisor (#158690)

In 531.deepsjeng_r from SPEC CPU 2017 there's a loop that we
unprofitably loop vectorize on RISC-V.

The loop looks something like:

```c
  for (int i = 0; i < n; i++) {
    if (x0[i] == a)
      if (x1[i] == b)
        if (x2[i] == c)
          // do stuff...
  }
```

Because it's so deeply nested the actual inner level of the loop rarely
gets executed. However we still deem it profitable to vectorize, which
due to the if-conversion means we now always execute the body.

This stems from the fact that `getPredBlockCostDivisor` currently
assumes that blocks have 50% chance of being executed as a heuristic.

We can fix this by using BlockFrequencyInfo, which gives a more accurate
estimate of the innermost block being executed 12.5% of the time. We can
then calculate the probability as `HeaderFrequency / BlockFrequency`.

Fixing the cost here gives a 7% speedup for 531.deepsjeng_r on RISC-V.

Whilst there's a lot of changes in the in-tree tests, this doesn't
affect llvm-test-suite or SPEC CPU 2017 that much:

- On armv9-a -flto -O3 there's 0.0%/0.2% more geomean loops vectorized
on llvm-test-suite/SPEC CPU 2017.
- On x86-64 -flto -O3 **with PGO** there's 0.9%/0% less geomean loops
vectorized on llvm-test-suite/SPEC CPU 2017.

Overall geomean compile time impact is 0.03% on stage1-ReleaseLTO:
https://llvm-compile-time-tracker.com/compare.php?from=9eee396c58d2e24beb93c460141170def328776d&to=32fbff48f965d03b51549fdf9bbc4ca06473b623&stat=instructions%3Au


  Commit: 048715458855222919cd2632d740e9221ef3cb50
      https://github.com/llvm/llvm-project/commit/048715458855222919cd2632d740e9221ef3cb50
  Author: Tim Gymnich <tim at gymni.ch>
  Date:   2025-12-08 (Mon, 08 Dec 2025)

  Changed paths:
    M mlir/include/mlir/Dialect/AMDGPU/IR/AMDGPU.td
    M mlir/lib/Conversion/AMDGPUToROCDL/AMDGPUToROCDL.cpp
    M mlir/lib/Dialect/AMDGPU/IR/AMDGPUDialect.cpp
    M mlir/test/Conversion/AMDGPUToROCDL/gfx1250.mlir
    M mlir/test/Dialect/AMDGPU/ops.mlir

  Log Message:
  -----------
  [mlir][amdgpu] Add workgroup_mask to MakeDmaDescriptorOp (#171103)

- add `workgroup_mask` and `early_timeout`


  Commit: cc19f420b99fcda4ab4252fcf857d0e7ed6339e7
      https://github.com/llvm/llvm-project/commit/cc19f420b99fcda4ab4252fcf857d0e7ed6339e7
  Author: Dark Steve <Prasoon.Mishra at amd.com>
  Date:   2025-12-08 (Mon, 08 Dec 2025)

  Changed paths:
    M llvm/lib/Target/AMDGPU/AMDGPU.h
    M llvm/lib/Target/AMDGPU/AMDGPUArgumentUsageInfo.cpp
    M llvm/lib/Target/AMDGPU/AMDGPUArgumentUsageInfo.h
    M llvm/lib/Target/AMDGPU/AMDGPUISelDAGToDAG.cpp
    M llvm/lib/Target/AMDGPU/AMDGPUPassRegistry.def
    M llvm/lib/Target/AMDGPU/AMDGPUTargetMachine.cpp
    M llvm/lib/Target/AMDGPU/SIISelLowering.cpp
    M llvm/test/CodeGen/AMDGPU/llc-pipeline-npm.ll

  Log Message:
  -----------
  [AMDGPU][NPM] Port AMDGPUArgumentUsageInfo to NPM (#170886)

Port AMDGPUArgumentUsageInfo analysis to the NPM to fix suboptimal code
generation when NPM is enabled by default.

Previously, DAG.getPass() returns nullptr when using NPM, causing the
argument usage info to be unavailable during ISel. This resulted in
fallback to FixedABIFunctionInfo which assumes all implicit arguments
are needed, generating unnecessary register setup code for entry
functions.

Fixes LLVM::CodeGen/AMDGPU/cc-entry.ll

Changes:
- Split AMDGPUArgumentUsageInfo into a data class and NPM analysis
wrapper
- Update SIISelLowering to use DAG.getMFAM() for NPM path
- Add RequireAnalysisPass in addPreISel() to ensure analysis
availability

This follows the same pattern used for PhysicalRegisterUsageInfo.


  Commit: ce73cbb6abdcd3188150c9063933bfe15c73f523
      https://github.com/llvm/llvm-project/commit/ce73cbb6abdcd3188150c9063933bfe15c73f523
  Author: Matt Arsenault <Matthew.Arsenault at amd.com>
  Date:   2025-12-08 (Mon, 08 Dec 2025)

  Changed paths:
    M clang/lib/Headers/__clang_cuda_complex_builtins.h
    M clang/test/Headers/amdgcn-openmp-device-math-complex.c
    M clang/test/Headers/amdgcn-openmp-device-math-complex.cpp
    M clang/test/Headers/nvptx_device_math_complex.c
    M clang/test/Headers/nvptx_device_math_complex.cpp

  Log Message:
  -----------
  clang: Use generic builtins in cuda complex builtins header (#171106)

There's no reason to use the ocml or nv prefixed functions and
maintain this list of alias macros. I left these macros in for
NVPTX in the scalbn and logb case, since those have a special
case hack in the AMDGPU codegen and probably do not work on ptx.


  Commit: a6fc5a1d77e78333f26a44b145ad43149e9ada17
      https://github.com/llvm/llvm-project/commit/a6fc5a1d77e78333f26a44b145ad43149e9ada17
  Author: Victor Chernyakin <chernyakin.victor.j at outlook.com>
  Date:   2025-12-08 (Mon, 08 Dec 2025)

  Changed paths:
    M clang-tools-extra/clang-tidy/fuchsia/MultipleInheritanceCheck.cpp
    M clang-tools-extra/clang-tidy/fuchsia/MultipleInheritanceCheck.h

  Log Message:
  -----------
  [clang-tidy][NFC] Refactor `fuchsia-multiple-inheritance` (#171059)


  Commit: 1ae957515cccf8825733fbe100ff32864543d248
      https://github.com/llvm/llvm-project/commit/1ae957515cccf8825733fbe100ff32864543d248
  Author: Sameer Sahasrabuddhe <sameer.sahasrabuddhe at amd.com>
  Date:   2025-12-08 (Mon, 08 Dec 2025)

  Changed paths:
    M llvm/lib/Target/AMDGPU/SIInsertWaitcnts.cpp

  Log Message:
  -----------
  [AMDGPU][NFC] Update a comment about FLAT v/s LDSDMA

The change in #170263 does not do justice to common knowledge in the backend.
Fix the comment to reflect the relation between FLAT encoding, flat pointer
access, and LDSDMA operations.


  Commit: 886f54a04c04d1b7c4649ae9d00f85cf7655269a
      https://github.com/llvm/llvm-project/commit/886f54a04c04d1b7c4649ae9d00f85cf7655269a
  Author: Matt Arsenault <Matthew.Arsenault at amd.com>
  Date:   2025-12-08 (Mon, 08 Dec 2025)

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

  Log Message:
  -----------
  DAG: Set MachinePointerInfo for stack when expanding divrem libcall (#170537)


  Commit: 9a5fa3075ac670e7d748b693895d4d347af5f83d
      https://github.com/llvm/llvm-project/commit/9a5fa3075ac670e7d748b693895d4d347af5f83d
  Author: Benjamin Maxwell <macdue at dueutil.tech>
  Date:   2025-12-08 (Mon, 08 Dec 2025)

  Changed paths:
    M llvm/include/llvm/ADT/STLExtras.h
    M llvm/unittests/ADT/STLExtrasTest.cpp

  Log Message:
  -----------
  [ADT] Add `llvm::reverse_conditionally()` iterator (#171040)

This patch adds a simple iterator range that allows conditionally
iterating a collection in reverse. It works with any collection
supported by `llvm::reverse(Collection)`.

```
void foo(bool Reverse, std::vector<int>& C) {
  for (int I : reverse_conditionally(C, Reverse)) {
    // ...
  }
}
```


  Commit: c5b90103da58c261fcc9720e8700a06fac7e0388
      https://github.com/llvm/llvm-project/commit/c5b90103da58c261fcc9720e8700a06fac7e0388
  Author: Ramkumar Ramachandra <ramkumar.ramachandra at codasip.com>
  Date:   2025-12-08 (Mon, 08 Dec 2025)

  Changed paths:
    M llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
    M llvm/test/Transforms/LoopVectorize/AArch64/pr60831-sve-inv-store-crash.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/sve-inductions-unusual-types.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/sve-vector-reverse.ll
    M llvm/test/Transforms/LoopVectorize/RISCV/riscv-vector-reverse.ll
    M llvm/test/Transforms/LoopVectorize/RISCV/strided-accesses.ll
    M llvm/test/Transforms/LoopVectorize/scalable-assume.ll
    M llvm/test/Transforms/LoopVectorize/scalable-first-order-recurrence.ll
    M llvm/test/Transforms/LoopVectorize/scalable-inductions.ll
    M llvm/test/Transforms/LoopVectorize/scalable-iv-outside-user.ll

  Log Message:
  -----------
  [VPlan] Use nuw when computing {VF,VScale}xUF (#170710)

These quantities should never unsigned-wrap. This matches the behavior
if only VFxUF is used (and not VF): when computing both VF and VFxUF,
nuw should hold for each step separately.


  Commit: b08c72b26c95cf8e76cfb1af46a1ed7cab9d721e
      https://github.com/llvm/llvm-project/commit/b08c72b26c95cf8e76cfb1af46a1ed7cab9d721e
  Author: Anchu Rajendran S <asudhaku at amd.com>
  Date:   2025-12-08 (Mon, 08 Dec 2025)

  Changed paths:
    M flang/lib/Parser/openmp-parsers.cpp
    M flang/lib/Parser/unparse.cpp
    A flang/test/Lower/OpenMP/Todo/threadset.f90
    A flang/test/Parser/OpenMP/threadset-clause.f90
    A flang/test/Semantics/OpenMP/threadset-clause.f90

  Log Message:
  -----------
  [Flang][OpenMP] Enables parsing of threadset clause (#169856)


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

  Changed paths:
    M llvm/lib/Target/X86/X86ISelLowering.cpp
    M llvm/test/CodeGen/X86/compress-undef-float-passthrough.ll
    M llvm/test/CodeGen/X86/vector-shuffle-combining-avx512f.ll

  Log Message:
  -----------
  [X86] Handle X86ISD::EXPAND/COMPRESS nodes as target shuffles (#171119)

Allows for shuffle simplification

Required a minor fix to the overly reduced compress-undef-float-passthrough.ll regression test


  Commit: ca8419d6cc59c14e20d8de5c73ed3c51d739eb93
      https://github.com/llvm/llvm-project/commit/ca8419d6cc59c14e20d8de5c73ed3c51d739eb93
  Author: Ivan Butygin <ivan.butygin at gmail.com>
  Date:   2025-12-08 (Mon, 08 Dec 2025)

  Changed paths:
    M mlir/include/mlir/Dialect/AMDGPU/IR/AMDGPU.td
    M mlir/lib/Dialect/AMDGPU/IR/AMDGPUDialect.cpp
    M mlir/test/Dialect/AMDGPU/canonicalize.mlir

  Log Message:
  -----------
  [mlir][amdgpu] Fuse adjacent `MemoryCounterWaitOp` (#171148)

Taking the minimum value.


  Commit: b8ddbc4f0398e363ba74276b8c9e299110d1b6e8
      https://github.com/llvm/llvm-project/commit/b8ddbc4f0398e363ba74276b8c9e299110d1b6e8
  Author: Sang Ik Lee <sang.ik.lee at intel.com>
  Date:   2025-12-08 (Mon, 08 Dec 2025)

  Changed paths:
    M mlir/test/Integration/Dialect/XeVM/GPU/gpu_printf.mlir

  Log Message:
  -----------
  [MLIR][XeVM] gpu.printf test: use correct runtime. (#170754)

gpu printf test was not using the runtime required by lit.local.cfg
All other tests in the directory are correctly using level zero runtime.
But gpu printf test is using sycl runtime.


  Commit: 447af32fbb8c9522bc01948caadd1ae562c01373
      https://github.com/llvm/llvm-project/commit/447af32fbb8c9522bc01948caadd1ae562c01373
  Author: Sang Ik Lee <sang.ik.lee at intel.com>
  Date:   2025-12-08 (Mon, 08 Dec 2025)

  Changed paths:
    M mlir/lib/Conversion/XeGPUToXeVM/XeGPUToXeVM.cpp
    M mlir/test/Conversion/XeGPUToXeVM/create_nd_tdesc.mlir
    M mlir/test/Conversion/XeGPUToXeVM/loadstore_nd.mlir
    M mlir/test/Conversion/XeGPUToXeVM/prefetch_nd.mlir

  Log Message:
  -----------
  [MLIR][XeGPU][XeVM] create_nd_tdesc: use correct pitch from strides. (#170384)

Base memory pitch should be derived from base stride, not base width.
Remove offset fields from tensor descriptor payload and add pitch field.


  Commit: d1ad0856f8264543f8814150889a13bb27839a17
      https://github.com/llvm/llvm-project/commit/d1ad0856f8264543f8814150889a13bb27839a17
  Author: zhijian lin <zhijian at ca.ibm.com>
  Date:   2025-12-08 (Mon, 08 Dec 2025)

  Changed paths:
    M llvm/lib/Target/PowerPC/PPCMIPeephole.cpp
    A llvm/test/CodeGen/PowerPC/splat-after-xxsldwi.ll

  Log Message:
  -----------
  Fix [PowerPC] llc crashed at -O1/O2/O3: Assertion `isImm() && "Wrong MachineOperand mutator"' failed. (#170548)

Fixed issue 
[[PowerPC] llc crashed at -O1/O2/O3: Assertion `isImm() && "Wrong
MachineOperand mutator"'
failed.](https://github.com/llvm/llvm-project/issues/167672)

the root cause of the crash, the IMM operand is in different operand num
of the instruction PPC::XXSPLTW and PPC::XXSPLTB/PPC::XXSPLTH.

and the patch also fix a potential bug that the new element index of
PPC::XXSPLTB/PPC::XXSPLTH/XXSPLTW use the same logic. It should be
different .We need to convert the element index into the proper unit
(byte for VSPLTB, halfword for VSPLTH, word for VSPLTW) because
PPC::XXSLDWI interprets its ShiftImm in 32-bit word units.


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

  Changed paths:
    M llvm/lib/Target/Hexagon/HexagonGenWideningVecInstr.cpp

  Log Message:
  -----------
  HexagonGenWideningVecInstr.cpp - fix MSVC "result of 32-bit shift implicitly converted to 64 bits" warning. NFC. (#171095)


  Commit: fccb65ef8f0faf40ca5dfaaa0ef70821f8843821
      https://github.com/llvm/llvm-project/commit/fccb65ef8f0faf40ca5dfaaa0ef70821f8843821
  Author: Michael Liao <michael.hliao at gmail.com>
  Date:   2025-12-08 (Mon, 08 Dec 2025)

  Changed paths:
    M mlir/lib/Pass/PassRegistry.cpp

  Log Message:
  -----------
  [mlir] Fix '-Wtemplate-id-cdtor'. NFC


  Commit: b32a2f418ac21cba03d73a87b89cd82bf7b318a6
      https://github.com/llvm/llvm-project/commit/b32a2f418ac21cba03d73a87b89cd82bf7b318a6
  Author: Rana Pratap Reddy <109514914+ranapratap55 at users.noreply.github.com>
  Date:   2025-12-08 (Mon, 08 Dec 2025)

  Changed paths:
    M clang/include/clang/Basic/BuiltinsAMDGPU.def
    M clang/lib/AST/ASTContext.cpp
    M clang/lib/Sema/SemaExpr.cpp
    A clang/test/CodeGen/half-float16-vector-compatibility.cl
    A clang/test/SemaOpenCL/half-float16-vector-compatibility.cl

  Log Message:
  -----------
  [Clang][OpenCL][AMDGPU] Allow _Float16 and half vector type compatibility (#170605)

## Summary
Allowing implicit compatibility between `_Float16` vector types and
`half` vector types in OpenCL mode. This enables AMDGPU builtins to work
correctly across OpenCL, HIP, and C++ without requiring separate builtin
definitions.
## Problem Statement
When using AMDGPU image builtins that return half-precision vectors in
OpenCL, users encounter type incompatibility errors:
**Builtin Definition:**
`TARGET_BUILTIN(__builtin_amdgcn_image_load_1d_v4f16_i32, "V4xiiQtii",
"nc", "image-insts")`

**Test Case:**
```
typedef half half4 __attribute__((ext_vector_type(4)));
half4 test_builtin_image_load_1d_2(half4 v4f16, int i32, __amdgpu_texture_t tex) {
  return __builtin_amdgcn_image_load_1d_v4f16_i32(100, i32, tex, 120, i32);
}
```
**Error:**
```
error: returning '__attribute__((__vector_size__(4 * sizeof(_Float16)))) _Float16' 
(vector of 4 '_Float16' values) from a function with incompatible result type 
'half4' (vector of 4 'half' values)
```
## Solution
In OpenCL, allow implicit compatibility between `_Float16` vector types
and `half` vector types. This is needed for AMDGPU builtins that may
return _Float16 vectors to work correctly with OpenCL half vector types.


  Commit: 614fe6da145e883cb0aa1b1406bbd5e5d103747b
      https://github.com/llvm/llvm-project/commit/614fe6da145e883cb0aa1b1406bbd5e5d103747b
  Author: Men-cotton <mencotton0410 at gmail.com>
  Date:   2025-12-08 (Mon, 08 Dec 2025)

  Changed paths:
    M mlir/lib/Conversion/OpenMPToLLVM/OpenMPToLLVM.cpp
    A mlir/test/Conversion/OpenMPToLLVM/map-info-type-conversion-fail.mlir

  Log Message:
  -----------
  [mlir][OpenMP] Fix crash in MapInfoOp conversion when type conversion fails (#171045)

Check the result of `convertType` before calling `TypeAttr::get`. This
prevents a crash on unsupported types (e.g. `tensor`) by ensuring the
pattern fails gracefully.

Added regression test: map-info-type-conversion-fail.mlir

Fixes: #108159


  Commit: 2a5420ea5184a334c2af9f2f9f43de4dfc6b76d3
      https://github.com/llvm/llvm-project/commit/2a5420ea5184a334c2af9f2f9f43de4dfc6b76d3
  Author: Shreeyash Pandey <shreeyash335 at gmail.com>
  Date:   2025-12-08 (Mon, 08 Dec 2025)

  Changed paths:
    M libc/hdr/errno_macros.h
    M libc/include/errno.h.def
    M libc/src/__support/threads/linux/CMakeLists.txt
    M libc/src/__support/threads/linux/futex_utils.h
    M libc/src/__support/threads/linux/raw_mutex.h
    M libc/src/__support/threads/linux/rwlock.h
    M libc/src/__support/time/CMakeLists.txt
    A libc/src/__support/time/abs_timeout.h
    M libc/src/__support/time/linux/CMakeLists.txt
    R libc/src/__support/time/linux/abs_timeout.h
    R libc/src/__support/time/linux/monotonicity.h
    A libc/src/__support/time/monotonicity.h
    M libc/src/pthread/pthread_rwlock_clockwrlock.cpp
    M libc/src/pthread/pthread_rwlock_timedrdlock.cpp
    M libc/src/pthread/pthread_rwlock_timedwrlock.cpp
    M libc/test/src/__support/time/linux/CMakeLists.txt
    M libc/test/src/__support/time/linux/timeout_test.cpp

  Log Message:
  -----------
  [libc] move abs_timesout and monotonicity out of linux dir (#167719)

This patch moves abs_timeout and monotonicity out of the linux dir into
common. Both of these functions depend on clock_gettime which is the
actual os-dependent component. As other features in `__support/threads`
may want to use these, it's better to share it in common.


  Commit: 58cb4873f965271956ca32f0a9dfdad20012a6c5
      https://github.com/llvm/llvm-project/commit/58cb4873f965271956ca32f0a9dfdad20012a6c5
  Author: Krzysztof Parzyszek <Krzysztof.Parzyszek at amd.com>
  Date:   2025-12-08 (Mon, 08 Dec 2025)

  Changed paths:
    M mlir/lib/Pass/PassRegistry.cpp

  Log Message:
  -----------
  Revert "[mlir] Fix '-Wtemplate-id-cdtor'. NFC"

This reverts commit fccb65ef8f0faf40ca5dfaaa0ef70821f8843821.

It breaks pre-merge CI:
```
2025-12-08T16:35:11.7239054Z /home/gha/actions-runner/_work/llvm-project/llvm-project/mlir/lib/Pass/PassRegistry.cpp:439:37: error: ISO C++ requires the name after '::~' to be found in the same scope as the name before '::~' [-Werror,-Wdtor-name]
2025-12-08T16:35:11.7240458Z   439 | llvm::cl::OptionValue<OpPassManager>::~OptionValue() = default;
2025-12-08T16:35:11.7241014Z       | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~
2025-12-08T16:35:11.7241494Z       |                                     ::OptionValue
2025-12-08T16:35:11.7241903Z 1 error generated.
```


  Commit: cbce30e0f862099758c4f375cc35fb214fb1b513
      https://github.com/llvm/llvm-project/commit/cbce30e0f862099758c4f375cc35fb214fb1b513
  Author: Anutosh Bhat <andersonbhat491 at gmail.com>
  Date:   2025-12-08 (Mon, 08 Dec 2025)

  Changed paths:
    M clang/lib/Interpreter/IncrementalAction.cpp
    M clang/test/Interpreter/pretty-print.c

  Log Message:
  -----------
  [clang-repl] Skip CodeGen for top-level decls when diagnostics report errors (#169989)

We can see the following while running clang-repl in C mode 
```
anutosh491 at vv-nuc:/build/anutosh491/llvm-project/build/bin$ ./clang-repl --Xcc=-x --Xcc=c --Xcc=-std=c23
clang-repl> printf("hi\n");
In file included from <<< inputs >>>:1:
input_line_1:1:1: error: call to undeclared library function 'printf' with type 'int (const char *, ...)'; ISO C99 and
      later do not support implicit function declarations [-Wimplicit-function-declaration]
    1 | printf("hi\n");
      | ^
input_line_1:1:1: note: include the header <stdio.h> or explicitly provide a declaration for 'printf'
error: Parsing failed.
clang-repl> #include <stdio.h>
hi
```

In debug mode while dumping the generated Module, i see this 
```
clang-repl> printf("hi\n");
In file included from <<< inputs >>>:1:
input_line_1:1:1: error: call to undeclared library function 'printf' with type 'int (const char *, ...)'; ISO C99 and
      later do not support implicit function declarations [-Wimplicit-function-declaration]
    1 | printf("hi\n");
      | ^
input_line_1:1:1: note: include the header <stdio.h> or explicitly provide a declaration for 'printf'
error: Parsing failed.
clang-repl> #include <stdio.h>

=== compile-ptu 1 ===
[TU=0x55556cfbf830, M=0x55556cfc13a0 (incr_module_1)]
[LLVM IR]
; ModuleID = 'incr_module_1'
source_filename = "incr_module_1"
target datalayout = "e-m:e-p270:32:32-p271:32:32-p272:64:64-i64:64-i128:128-f80:128-n8:16:32:64-S128"
target triple = "x86_64-unknown-linux-gnu"

@.str = private unnamed_addr constant [4 x i8] c"hi\0A\00", align 1
@llvm.global_ctors = appending global [1 x { i32, ptr, ptr }] [{ i32, ptr, ptr } { i32 65535, ptr @_GLOBAL__sub_I_incr_module_1, ptr null }]

define internal void @__stmts__0() #0 {
entry:
  %call = call i32 (ptr, ...) @printf(ptr noundef @.str)
  ret void
}

declare i32 @printf(ptr noundef, ...) #1

; Function Attrs: noinline nounwind uwtable
define internal void @_GLOBAL__sub_I_incr_module_1() #2 section ".text.startup" {
entry:
  call void @__stmts__0()
  ret void
}

attributes #0 = { "min-legal-vector-width"="0" }
attributes #1 = { "frame-pointer"="all" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cmov,+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" }
attributes #2 = { noinline nounwind uwtable "frame-pointer"="all" "min-legal-vector-width"="0" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cmov,+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" }

!llvm.module.flags = !{!0, !1, !2, !3, !4}
!llvm.ident = !{!5}

!0 = !{i32 1, !"wchar_size", i32 4}
!1 = !{i32 8, !"PIC Level", i32 2}
!2 = !{i32 7, !"PIE Level", i32 2}
!3 = !{i32 7, !"uwtable", i32 2}
!4 = !{i32 7, !"frame-pointer", i32 2}
!5 = !{!"clang version 22.0.0git (https://github.com/anutosh491/llvm-project.git 81ad8fbc2bb09bae61ed59316468011e4a42cf47)"}
=== end compile-ptu ===

execute-ptu 1: [TU=0x55556cfbf830, M=0x55556cfc13a0 (incr_module_1)]
hi
```

Basically I see that CodeGen emits IR for a cell before we know whether
DiagnosticsEngine has an error. For C code like `printf("hi\n");`
without <stdio.h>, Sema emits a diagnostic but still produces a
"codegen-able" `TopLevelStmt`, so the `printf` call is IR-generated into
the current module.

Previously, when `Diags.hasErrorOccurred()` was true, we only cleaned up
the PTU AST and left the CodeGen module untouched. The next successful
cell then called `GenModule()`, which returned that same module (now
also containing the next cell’s IR), causing side effects from the
failed cell (e.g. printf)


  Commit: f27fbca37c4a66d4e237bae1256d775ca7471cb9
      https://github.com/llvm/llvm-project/commit/f27fbca37c4a66d4e237bae1256d775ca7471cb9
  Author: Felipe de Azevedo Piovezan <fpiovezan at apple.com>
  Date:   2025-12-08 (Mon, 08 Dec 2025)

  Changed paths:
    M lldb/include/lldb/Core/Module.h
    M lldb/include/lldb/Symbol/SymbolFile.h
    M lldb/source/Core/Module.cpp
    M lldb/source/Symbol/SymbolFile.cpp

  Log Message:
  -----------
  [lldb][NFC] Replace const std::vector& with ArrayRef in APIs (#170834)

Inside the LLVM codebase, const vector& should just be ArrayRef, as this
more general API works both with vectors, SmallVectors and
SmallVectorImpl, as well as with single elements.

This commit replaces two uses introduced in
https://github.com/llvm/llvm-project/pull/168797 .


  Commit: f88d060c4176d17df56587a083944637ca865cb3
      https://github.com/llvm/llvm-project/commit/f88d060c4176d17df56587a083944637ca865cb3
  Author: Ivan Butygin <ivan.butygin at gmail.com>
  Date:   2025-12-08 (Mon, 08 Dec 2025)

  Changed paths:
    M mlir/include/mlir/Dialect/AMDGPU/IR/AMDGPU.td
    M mlir/lib/Conversion/AMDGPUToROCDL/AMDGPUToROCDL.cpp
    M mlir/lib/Dialect/AMDGPU/IR/AMDGPUDialect.cpp
    M mlir/test/Conversion/AMDGPUToROCDL/memory_counter_wait.mlir
    A mlir/test/Conversion/AMDGPUToROCDL/memory_counter_wait_tensor.mlir
    A mlir/test/Conversion/AMDGPUToROCDL/memory_counter_wait_unsupported.mlir
    M mlir/test/Dialect/AMDGPU/canonicalize.mlir
    M mlir/test/Dialect/AMDGPU/ops.mlir

  Log Message:
  -----------
  [mlir][amdgpu] `memory_counter_wait` tensor counter support (#171153)


  Commit: c3579f01996a0ac018b9d452b8ae1cc2cac36acf
      https://github.com/llvm/llvm-project/commit/c3579f01996a0ac018b9d452b8ae1cc2cac36acf
  Author: Sang Ik Lee <sang.ik.lee at intel.com>
  Date:   2025-12-08 (Mon, 08 Dec 2025)

  Changed paths:
    M mlir/include/mlir/Dialect/XeGPU/IR/XeGPUTypes.td
    M mlir/lib/Conversion/XeGPUToXeVM/XeGPUToXeVM.cpp
    A mlir/test/Conversion/XeGPUToXeVM/loadstore_nd_sub_byte.mlir
    A mlir/test/Conversion/XeGPUToXeVM/prefetch_nd_sub_byte.mlir

  Log Message:
  -----------
  [MLIR][XeGPU][Conversion] Add 2D block op support for sub byte types (#169099)

Some usage case or shapes for 2D block op with sub byte types can be
emulated with 2D block operations for non-sub byte types. Add sub byte
type i4 as a valid XeGPU type. And add lowering of certain 2D
block operations by emulating with larger element types.


  Commit: fdd0d53430e87b6ee792735ee714e756235978ba
      https://github.com/llvm/llvm-project/commit/fdd0d53430e87b6ee792735ee714e756235978ba
  Author: Folkert de Vries <folkert at folkertdev.nl>
  Date:   2025-12-08 (Mon, 08 Dec 2025)

  Changed paths:
    M llvm/lib/Target/ARM/ARMAsmPrinter.cpp
    M llvm/lib/Target/ARM/ARMAsmPrinter.h
    A llvm/test/CodeGen/ARM/cmse-entry-alias.ll

  Log Message:
  -----------
  cmse: emit `__acle_se_` symbol for aliases to entry functions (#162109)

Emitting the symbol in `emitGlobalAlias` seemed most efficient,
otherwise I think you'd have to traverse all aliases. I have verified
that the additional symbol is picked up by `arm-none-eabi-ld` and
correctly generates an entry in `veneers.o`.

Fixes #162084


  Commit: 8c8074f0fa516210011c7b3beb63807ffbe5c5f7
      https://github.com/llvm/llvm-project/commit/8c8074f0fa516210011c7b3beb63807ffbe5c5f7
  Author: Michael Klemm <michael.klemm at amd.com>
  Date:   2025-12-08 (Mon, 08 Dec 2025)

  Changed paths:
    M clang/test/OpenMP/irbuilder_for_unsigned_static_chunked.c
    M llvm/lib/Frontend/OpenMP/OMPIRBuilder.cpp

  Log Message:
  -----------
  [Flang][OpenMP] Fix OpenMP static scheduling when trip count is zero (#170863)

Code-gen produced incorrect code for cases when the trip count an
associated DO loop was zero. The generated code evaluated the trip count
of the loop and substracted 1 from it. When this was passed to
__kmpc_for_static_init_4u, the value was interpreted as unsigned, which
made the upper bound of the worksharing loop 2^32-1 and caused a
division by zero in the calculation of the loop bounds for the threads.


  Commit: 66134e7136154cbb839484afd8f356cc4ed4a021
      https://github.com/llvm/llvm-project/commit/66134e7136154cbb839484afd8f356cc4ed4a021
  Author: Artem Kroviakov <71938912+akroviakov at users.noreply.github.com>
  Date:   2025-12-08 (Mon, 08 Dec 2025)

  Changed paths:
    M mlir/lib/Conversion/XeGPUToXeVM/XeGPUToXeVM.cpp
    M mlir/test/Conversion/XeGPUToXeVM/loadstore_matrix.mlir

  Log Message:
  -----------
  [MLIR][XeVM] Improve matrix ops lowering (#170268)


  Commit: 039c834b031b52f6a316e9ec0eadd2c42fc71cef
      https://github.com/llvm/llvm-project/commit/039c834b031b52f6a316e9ec0eadd2c42fc71cef
  Author: Michael Liao <michael.hliao at gmail.com>
  Date:   2025-12-08 (Mon, 08 Dec 2025)

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

  Log Message:
  -----------
  [scavenger] Remove unused iterator. NFC


  Commit: 0e92beb0c0f050e1180c88aa31713f3d6ba9d34e
      https://github.com/llvm/llvm-project/commit/0e92beb0c0f050e1180c88aa31713f3d6ba9d34e
  Author: Kevin Sala Penades <salapenades1 at llnl.gov>
  Date:   2025-12-08 (Mon, 08 Dec 2025)

  Changed paths:
    M clang/lib/CodeGen/CGOpenMPRuntimeGPU.cpp
    M clang/test/OpenMP/amdgcn_target_device_vla.cpp
    M clang/test/OpenMP/amdgpu_target_with_aligned_attribute.c
    M clang/test/OpenMP/declare_target_codegen_globalization.cpp
    M clang/test/OpenMP/metadirective_device_arch_codegen.cpp
    M clang/test/OpenMP/metadirective_device_isa_codegen_amdgcn.cpp
    M clang/test/OpenMP/nvptx_SPMD_codegen.cpp
    M clang/test/OpenMP/nvptx_allocate_codegen.cpp
    M clang/test/OpenMP/nvptx_data_sharing.cpp
    M clang/test/OpenMP/nvptx_distribute_parallel_generic_mode_codegen.cpp
    M clang/test/OpenMP/nvptx_lambda_capturing.cpp
    M clang/test/OpenMP/nvptx_multi_target_parallel_codegen.cpp
    M clang/test/OpenMP/nvptx_nested_parallel_codegen.cpp
    M clang/test/OpenMP/nvptx_parallel_codegen.cpp
    M clang/test/OpenMP/nvptx_parallel_for_codegen.cpp
    M clang/test/OpenMP/nvptx_target_codegen.cpp
    M clang/test/OpenMP/nvptx_target_parallel_codegen.cpp
    M clang/test/OpenMP/nvptx_target_parallel_num_threads_codegen.cpp
    M clang/test/OpenMP/nvptx_target_parallel_proc_bind_codegen.cpp
    M clang/test/OpenMP/nvptx_target_parallel_reduction_codegen.cpp
    M clang/test/OpenMP/nvptx_target_parallel_reduction_codegen_tbaa_PR46146.cpp
    M clang/test/OpenMP/nvptx_target_teams_codegen.cpp
    M clang/test/OpenMP/nvptx_target_teams_distribute_codegen.cpp
    M clang/test/OpenMP/nvptx_target_teams_distribute_parallel_for_codegen.cpp
    M clang/test/OpenMP/nvptx_target_teams_distribute_parallel_for_generic_mode_codegen.cpp
    M clang/test/OpenMP/nvptx_target_teams_distribute_parallel_for_simd_codegen.cpp
    M clang/test/OpenMP/nvptx_target_teams_generic_loop_codegen.cpp
    M clang/test/OpenMP/nvptx_teams_reduction_codegen.cpp
    M clang/test/OpenMP/reduction_implicit_map.cpp
    M clang/test/OpenMP/target_parallel_debug_codegen.cpp
    M clang/test/OpenMP/target_parallel_for_debug_codegen.cpp
    M clang/test/OpenMP/target_parallel_generic_loop_codegen-3.cpp
    M clang/test/OpenMP/target_parallel_generic_loop_codegen.cpp
    M clang/test/OpenMP/target_teams_generic_loop_codegen.cpp
    M clang/test/OpenMP/target_teams_generic_loop_codegen_as_parallel_for.cpp
    M llvm/include/llvm/Frontend/OpenMP/OMPKinds.def
    M llvm/lib/Frontend/OpenMP/OMPIRBuilder.cpp
    M llvm/lib/Transforms/IPO/OpenMPOpt.cpp
    M llvm/test/Transforms/OpenMP/add_attributes.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/get_hardware_num_threads_in_block_fold.ll
    M llvm/test/Transforms/OpenMP/gpu_state_machine_function_ptr_replacement.ll
    M llvm/test/Transforms/OpenMP/indirect_call_kernel_info_crash.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/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/unittests/Frontend/OpenMPIRBuilderTest.cpp
    M mlir/test/Target/LLVMIR/omptarget-multi-block-reduction.mlir
    M mlir/test/Target/LLVMIR/omptarget-parallel-llvm.mlir
    M mlir/test/Target/LLVMIR/omptarget-parallel-wsloop.mlir
    M mlir/test/Target/LLVMIR/openmp-target-generic-spmd.mlir
    M mlir/test/Target/LLVMIR/openmp-target-spmd.mlir
    M openmp/device/src/Parallelism.cpp

  Log Message:
  -----------
  [Clang][OpenMP] Switch to __kmpc_parallel_60 with strict parameter (#171082)

This commit switches the `__kmpc_parallel_51` to `__kmpc_parallel_60`,
and adds the strict boolean for the number of threads.


  Commit: f8d0c355f5f8d373b1c31161d31d490b771aa03e
      https://github.com/llvm/llvm-project/commit/f8d0c355f5f8d373b1c31161d31d490b771aa03e
  Author: Alexey Bataev <a.bataev at outlook.com>
  Date:   2025-12-08 (Mon, 08 Dec 2025)

  Changed paths:
    M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
    M llvm/test/Transforms/SLPVectorizer/X86/copyable-child-node-used-outside.ll
    A llvm/test/Transforms/SLPVectorizer/X86/copyable-with-used-outside-bb.ll

  Log Message:
  -----------
  [SLP]Prefer instructions, ued outside the block, as the initial main copyable instructions

Instructions, used outside the block, must be considered the first
choice for the main instructionsin the copyable nodes, to avoid
use-before-def.

Fixes #171055


  Commit: da7174958be43d69b2ed6b581c8ac8a382b59180
      https://github.com/llvm/llvm-project/commit/da7174958be43d69b2ed6b581c8ac8a382b59180
  Author: Tarun Prabhu <tarun at lanl.gov>
  Date:   2025-12-08 (Mon, 08 Dec 2025)

  Changed paths:
    M clang/include/clang/Options/Options.td
    M clang/lib/Driver/ToolChains/Flang.cpp
    M flang/test/Driver/flang-f-opts.f90

  Log Message:
  -----------
  [flang][Driver] Accept (and ignore) some gfortran-specific options

Enable the clang_ignored_gcc_optimization_f_group in flang. These
options are accepted by clang, but ignored after emitting a warning
message. flang's behavior now mirrors both clang and gfortran.

Fixes #158436


  Commit: c7f62d28eac6fe0e9e9219cf57e32a1c8e61be15
      https://github.com/llvm/llvm-project/commit/c7f62d28eac6fe0e9e9219cf57e32a1c8e61be15
  Author: Aiden Grossman <aidengrossman at google.com>
  Date:   2025-12-08 (Mon, 08 Dec 2025)

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

  Log Message:
  -----------
  [bazel] Port 2a5420ea5184a334c2af9f2f9f43de4dfc6b76d3 (#171161)

Move some headers into the common __support_time library now that they
are no longer platform specific.


  Commit: 57607e2b51e318519c171801ebce99d8ee01a2da
      https://github.com/llvm/llvm-project/commit/57607e2b51e318519c171801ebce99d8ee01a2da
  Author: anonymous <shyeyian at icloud.com>
  Date:   2025-12-08 (Mon, 08 Dec 2025)

  Changed paths:
    M clang/docs/ReleaseNotes.rst
    M clang/include/clang/Basic/Sarif.h
    M clang/include/clang/Frontend/SARIFDiagnostic.h
    M clang/lib/Basic/Sarif.cpp
    M clang/lib/Frontend/SARIFDiagnostic.cpp
    M clang/lib/StaticAnalyzer/Core/SarifDiagnostics.cpp
    M clang/unittests/Basic/SarifTest.cpp

  Log Message:
  -----------
  [Clang][Diagnose] Minimal support on emit-include-location in sarif mode (#170415)

Currently, invoking `clang++` with `-fdiagnostics-format=sarif` causes a
crash, with stack traces indicating that
`SARIFDiagnostic::emitIncludeLocation` is unimplemented.

This PR adds minimal support for converting `In file included from ...`
and `In module ...` into `SARIF.result.relatedLocations`. With this
change, `clang++ -fdiagnostics-format=sarif` no longer crashes and now
provides a minimal amount of useful information.

Thank you.


  Commit: 3e008cb333d1824a1f69b01d0fab9ee69ce3d9ed
      https://github.com/llvm/llvm-project/commit/3e008cb333d1824a1f69b01d0fab9ee69ce3d9ed
  Author: Chow <Shaochi.Zhou at amd.com>
  Date:   2025-12-08 (Mon, 08 Dec 2025)

  Changed paths:
    M llvm/lib/Transforms/Scalar/Scalarizer.cpp
    M llvm/test/Transforms/Scalarizer/min-bits.ll
    A llvm/test/Transforms/Scalarizer/vector-bool-not-aligned-min-bits.ll

  Log Message:
  -----------
  Scalarizer : Fix vector shuffle issue when can't aligned to customized minBits. (#163912)

When set a value to minBits, and doing scalarizer pass, if last remained
boolean vector size can't be aligned to min bits, remained bits should
be processed each by each, and not allowed to do a direct shuffle during
packing.

Problem:
In 'concatenate' step, when processing a boolean vector, if last
remained bits (fragment) can't be aligned to minBits, but required to be
packed, those bits should be processed each by each.

A direct call to vector shuffle is to assume those remained boolean bits
can be packed to target pack size. For example, when processing a
boolean vector with `size = 7`, but set `min bits = 4`, first fragment
with `4` bits can be packed correctly, but there are still `3` bits
remained which can't be used in a vector shuffle call.

Solution:
If remained bits can't be aligned to required target (min bits) pack
size, process them each by each.
(This will mostly only influence boolean vector as they have bit width
not aligned to pow(2).)

---------

Co-authored-by: Zhou, Shaochi(AMD) <shaozhou at amd.com>


  Commit: bc9f96a5e62d0b89588092343d137995811a9b80
      https://github.com/llvm/llvm-project/commit/bc9f96a5e62d0b89588092343d137995811a9b80
  Author: Jonas Devlieghere <jonas at devlieghere.com>
  Date:   2025-12-08 (Mon, 08 Dec 2025)

  Changed paths:
    M lldb/include/lldb/Core/Debugger.h
    M lldb/source/API/SBDebugger.cpp
    M lldb/source/Commands/CommandObjectVersion.cpp
    M lldb/source/Commands/CommandObjectVersion.h
    M lldb/source/Commands/Options.td
    M lldb/source/Core/Debugger.cpp
    A lldb/test/Shell/Commands/command-version.test

  Log Message:
  -----------
  [lldb] Dump build configuration with `version -v` (#170772)

Add a verbose option to the version command and include the "build
configuration" in the command output. This allows users to quickly
identify if their version of LLDB was built with support for
xml/curl/python/lua etc. This data is already available through the SB
API using SBDebugger::GetBuildConfiguration, but this makes it more
discoverable.

```
(lldb) version -v
lldb version 22.0.0git (git at github.com:llvm/llvm-project.git revision 21a2aac5e5456f9181384406f3b3fcad621a7076)
  clang revision 21a2aac5e5456f9181384406f3b3fcad621a7076
  llvm revision 21a2aac5e5456f9181384406f3b3fcad621a7076
  editline_wchar: yes
  lzma: yes
  curses: yes
  editline: yes
  fbsdvmcore: yes
  xml: yes
  lua: yes
  python: yes
  targets: [AArch64, AMDGPU, ARM, AVR, BPF, Hexagon, Lanai, LoongArch, Mips, MSP430, NVPTX, PowerPC, RISCV, Sparc, SPIRV, SystemZ, VE, WebAssembly, X86, XCore]
  curl: yes
```

Resolves #170727


  Commit: c6e23ab80753a01dce270f5f8a133fbec942315d
      https://github.com/llvm/llvm-project/commit/c6e23ab80753a01dce270f5f8a133fbec942315d
  Author: Aiden Grossman <aidengrossman at google.com>
  Date:   2025-12-08 (Mon, 08 Dec 2025)

  Changed paths:
    M mlir/lib/Conversion/XeGPUToXeVM/XeGPUToXeVM.cpp

  Log Message:
  -----------
  [MLIR][XeVM] Fix unused variable warning in 66134e7 (#171171)

Inline the variable only used in an assert per the LLVM coding
standards.


  Commit: 7305ed7e1554d5af652bdf7afc731f217cc49f09
      https://github.com/llvm/llvm-project/commit/7305ed7e1554d5af652bdf7afc731f217cc49f09
  Author: Ravil Dorozhinskii <ravil.aviva.com at gmail.com>
  Date:   2025-12-08 (Mon, 08 Dec 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:
  -----------
  [ROCDL] added math instructions to the ROCDL dialect (#169672)

Exposed llvm amdgcn math intrinsic calls through ROCDL


  Commit: 371da58cfa05caa6ff654e538b913b059d9a1f44
      https://github.com/llvm/llvm-project/commit/371da58cfa05caa6ff654e538b913b059d9a1f44
  Author: Sergei Druzhkov <serzhdruzhok at gmail.com>
  Date:   2025-12-08 (Mon, 08 Dec 2025)

  Changed paths:
    M lldb/tools/lldb-dap/Handler/PauseRequestHandler.cpp
    M lldb/tools/lldb-dap/Handler/RequestHandler.h
    M lldb/tools/lldb-dap/Protocol/ProtocolRequests.cpp
    M lldb/tools/lldb-dap/Protocol/ProtocolRequests.h
    M lldb/unittests/DAP/ProtocolRequestsTest.cpp

  Log Message:
  -----------
  [lldb-dap] Migrate pause request to structured types (#171096)

This patch migrates `pause` request into structured types and adds test
for it.


  Commit: 4709018c8c8632093337ddcd67ddba1dbf17d718
      https://github.com/llvm/llvm-project/commit/4709018c8c8632093337ddcd67ddba1dbf17d718
  Author: Stefan Weigl-Bosker <stefan at s00.xyz>
  Date:   2025-12-08 (Mon, 08 Dec 2025)

  Changed paths:
    M mlir/lib/Dialect/SPIRV/Transforms/SPIRVConversion.cpp
    M mlir/test/Conversion/TensorToSPIRV/tensor-ops-to-spirv.mlir

  Log Message:
  -----------
  [MLIR][Spirv] Don't lower tensors that can't be represented by an ArrayType (#171002)

I noticed this because of
https://github.com/llvm/llvm-project/issues/159738, though it was only
caught by his fuzzer because it wrapped to 0.
Also, is there a reason for the usage of `unsigned` for sizes in spirv
types? I believe most of the builtin types use `int64_t` for sizes, so
it may make sense to do the same for spirv.


  Commit: c9a3ab293bda9b73e9df03459ea26ee536d78d64
      https://github.com/llvm/llvm-project/commit/c9a3ab293bda9b73e9df03459ea26ee536d78d64
  Author: Robert Imschweiler <robert.imschweiler at amd.com>
  Date:   2025-12-08 (Mon, 08 Dec 2025)

  Changed paths:
    M llvm/lib/Transforms/Utils/BasicBlockUtils.cpp
    M llvm/test/Transforms/UnifyLoopExits/basic.ll

  Log Message:
  -----------
  [AMDGPU][UnifyLoopExits] Fix duplicate successor handling (#170759)

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

Maybe I can also come up with a more elegant solution. But I think it
wouldn't make a lot of sense trying to avoid multiple "fake" target
blocks. Would require a mapping between original and fake target
blocks...


  Commit: fa511cde48ea218dadfa8b35658ac06368f34607
      https://github.com/llvm/llvm-project/commit/fa511cde48ea218dadfa8b35658ac06368f34607
  Author: Aiden Grossman <aidengrossman at google.com>
  Date:   2025-12-08 (Mon, 08 Dec 2025)

  Changed paths:
    M .ci/premerge_advisor_explain.py

  Log Message:
  -----------
  [CI] Make premerge advisor log comments path

This is necessary to debug a problem where Windows comments are not
being uploaded correctly. This should also make future debugging easier
if a similar issue ever comes up again.


  Commit: c5d17bdf0cec7b0cfd9bb497228bad160be361af
      https://github.com/llvm/llvm-project/commit/c5d17bdf0cec7b0cfd9bb497228bad160be361af
  Author: Andrew Haberlandt <ndrewh at users.noreply.github.com>
  Date:   2025-12-08 (Mon, 08 Dec 2025)

  Changed paths:
    M compiler-rt/cmake/Modules/CompilerRTDarwinUtils.cmake
    M compiler-rt/cmake/builtin-config-ix.cmake
    M compiler-rt/lib/builtins/CMakeLists.txt
    M compiler-rt/test/CMakeLists.txt
    M compiler-rt/test/builtins/CMakeLists.txt
    M llvm/runtimes/CMakeLists.txt

  Log Message:
  -----------
  [compiler-rt] Add check-builtins target for LLVM_ENABLE_RUNTIMES builds (#166837)

When doing a LLVM_ENABLE_RUNTIMES-based build of clang+compiler_rt, the
`check-builtins` target is missing and builtins tests are not run
(#112105, #144090).

This provides one possible path forward for enabling these tests.

The approach taken here is to test the builtins with the `compiler-rt`
runtime build (i.e. only if you pass
`LLVM_ENABLE_RUNTIMES='compiler-rt'`). The builtins tests currently rely
on shared test infrastructure in `compiler-rt/`, so this is probably the
easiest solution without relocating the builtins and their tests outside
of `compiler-rt/`.

The main challenge is that the built-ins test configuration expects to
be able to inspect the builtin target and see the sources used to build
it:
```
    get_target_property(BUILTIN_LIB_SOURCES "${BUILTIN_LIB_TARGET_NAME}" SOURCES)
```

Since the builtins build and runtimes build are separate under
LLVM_ENABLE_RUNTIMES, this target inspection is not possible. To get
around this, we write a temporary file alongside each builtins library
containing the list of sources (e.g.
`"${CMAKE_BINARY_DIR}/clang_rt.builtins-${arch}.sources.txt"`). Then, we
introduce an undocumented compiler-rt option
`COMPILER_RT_FORCE_TEST_BUILTINS_DIR` (which is only intended to be used
by the LLVM_ENABLE_RUNTIMES build, and could be removed after builtins
re relocated) that passes the path to the directory containing this
file, and configures builtins tests (even though the runtimes build has
`COMPILER_RT_BUILD_BUILTINS=OFF`)

rdar://163518748


  Commit: 2ac832bac344a4b73dd2d8b7e3c02ba05629b914
      https://github.com/llvm/llvm-project/commit/2ac832bac344a4b73dd2d8b7e3c02ba05629b914
  Author: Matt Arsenault <Matthew.Arsenault at amd.com>
  Date:   2025-12-08 (Mon, 08 Dec 2025)

  Changed paths:
    M clang/test/Headers/__clang_hip_math.hip

  Log Message:
  -----------
  clang/HIP: Regenerate __clang_hip_math test checks (#171185)


  Commit: de53b1a4ef4cd7c641b3ec7ca6ac272a1b292185
      https://github.com/llvm/llvm-project/commit/de53b1a4ef4cd7c641b3ec7ca6ac272a1b292185
  Author: Florian Hahn <flo at fhahn.com>
  Date:   2025-12-08 (Mon, 08 Dec 2025)

  Changed paths:
    M llvm/test/Transforms/LoopVectorize/AArch64/gather-cost.ll
    M llvm/test/Transforms/LoopVectorize/ARM/gather-cost.ll
    M llvm/test/Transforms/LoopVectorize/X86/gather-cost.ll

  Log Message:
  -----------
  [LV] Simplify IR for gather-cost.ll, auto-generate checks. (NFC)

Simplify tests and auto-generate check in preparation for further
updates.


  Commit: a38f84718713b5c6fedb1ca0f2e800c2f1851fa1
      https://github.com/llvm/llvm-project/commit/a38f84718713b5c6fedb1ca0f2e800c2f1851fa1
  Author: Steven Wu <stevenwu at apple.com>
  Date:   2025-12-08 (Mon, 08 Dec 2025)

  Changed paths:
    M llvm/lib/CAS/OnDiskCommon.cpp
    M llvm/lib/CAS/OnDiskCommon.h
    M llvm/lib/CAS/UnifiedOnDiskCache.cpp

  Log Message:
  -----------
  [CAS] Fix deprecation warning in `getBootTime` (#171168)

For some older Linux distro that still ships deprecated sysctl header,
there can be deprecation warnings when building LLVMCAS. This also
results LLVMCAS to use the deprecated sysctl function, while it is only
intended to be used on Darwin platforms.

Fix the issue by only including sysctl on Apple platforms. Also move the
platform dependent `getBootTime` code into OnDiskCommon.cpp.


  Commit: 7c9aa14b964ceab0ff9d06042f9d57b7979893f8
      https://github.com/llvm/llvm-project/commit/7c9aa14b964ceab0ff9d06042f9d57b7979893f8
  Author: David Green <david.green at arm.com>
  Date:   2025-12-08 (Mon, 08 Dec 2025)

  Changed paths:
    M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
    M llvm/test/CodeGen/AArch64/sve-int-mulh-pred.ll
    M llvm/test/CodeGen/AArch64/sve2-int-mulh.ll

  Log Message:
  -----------
  [AArch64] Use sve instructions for fixed-width smulh/umulh. (#166168)

Like v2i64 mul and operations like divide, we should be able to use the SVE
umulh and smulh instructions with 128bit vectors, providing that we have
SVE/SVE2. There are a number of other instructions that look like they should
presumably be treated the same way.


  Commit: 7be3973a27e7ff231135687c8705e84a19987aab
      https://github.com/llvm/llvm-project/commit/7be3973a27e7ff231135687c8705e84a19987aab
  Author: Vladislav Dzhidzhoev <vdzhidzhoev at accesssoftek.com>
  Date:   2025-12-08 (Mon, 08 Dec 2025)

  Changed paths:
    M llvm/test/ThinLTO/X86/pr35472.ll

  Log Message:
  -----------
  [DebugInfo][test] Fix llvm/test/ThinLTO/X86/pr35472.ll (NFC) (#170952)

The test is intended to verify lazy loading of debug-location scope
metadata. However, after d5d3eb16b7ab72529c83dacb2889811491e48909,
DILexicalScope that was expected to be lazily loaded was not used in IR,
so lazy loading did not occur.

This patch fixes that, and adds an extra bcanalyzer check to ensure that
DILexicalScope record is emitted.


  Commit: 0959bb30016f439e8f9e975e770c49b2eb0dd129
      https://github.com/llvm/llvm-project/commit/0959bb30016f439e8f9e975e770c49b2eb0dd129
  Author: David Green <david.green at arm.com>
  Date:   2025-12-08 (Mon, 08 Dec 2025)

  Changed paths:
    M llvm/include/llvm/CodeGen/TargetLowering.h
    M llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
    M llvm/test/CodeGen/Thumb2/mve-vmulh.ll

  Log Message:
  -----------
  [DAG] Generate UMULH/SMULH with wider vector types (#170283)

The existing code for generating umulh/smulh was checking that that the
getTypeToTransformTo was a LegalOrCustom operation. This only takes a
single legalization step though, so if v4i32 was legal, a v8i32 would be
transformed but a v16i32 would not.

This patch introduces a getLegalTypeToTransformTo that performs
getTypeToTransformTo until a legal type is reached. The umulh/smulh code
can then use it to check if the final resultant type will be legal.


  Commit: 7dfe599bda5bd2b6644ca2ec339565d53d20a718
      https://github.com/llvm/llvm-project/commit/7dfe599bda5bd2b6644ca2ec339565d53d20a718
  Author: Sean Fertile <sd.fertile at gmail.com>
  Date:   2025-12-08 (Mon, 08 Dec 2025)

  Changed paths:
    M llvm/lib/Target/PowerPC/PPCISelLowering.cpp
    M llvm/test/CodeGen/PowerPC/aix32-cc-abi-vaarg-mir.ll
    M llvm/test/CodeGen/PowerPC/aix32-cc-abi-vaarg.ll
    M llvm/test/CodeGen/PowerPC/aix32-vector-vararg-callee.ll
    M llvm/test/CodeGen/PowerPC/aix64-cc-abi-vaarg-mir.ll
    M llvm/test/CodeGen/PowerPC/aix64-cc-abi-vaarg.ll
    M llvm/test/CodeGen/PowerPC/aix64-vector-vararg-callee.ll
    M llvm/test/CodeGen/PowerPC/aix64-vector-vararg-fixed-callee.ll

  Log Message:
  -----------
  Fix VarArgs FixedStack object on AIX. (#170240)

Create a mutable aliased fixed stack object for the va_list when any of
the optional arguments are passed in gprs. Since we need to spill the
gpr registers into the parameter save area the stack object is not
immutable, and since the values will almost certainly be accessed
through the IR value for a va_list make the stack object aliased as
well.


  Commit: b8a50c7cdb08ad757a931e6b6005e758258e1781
      https://github.com/llvm/llvm-project/commit/b8a50c7cdb08ad757a931e6b6005e758258e1781
  Author: Matt Arsenault <Matthew.Arsenault at amd.com>
  Date:   2025-12-08 (Mon, 08 Dec 2025)

  Changed paths:
    M clang/lib/Headers/__clang_hip_math.h
    M clang/test/Headers/__clang_hip_math.hip

  Log Message:
  -----------
  clang/HIP: Avoid using ocml logb (#171186)

We have special case handling for the logb builtins, so use them.


  Commit: 3ccd67295bfb9bf6f88e3315506fda8359df2668
      https://github.com/llvm/llvm-project/commit/3ccd67295bfb9bf6f88e3315506fda8359df2668
  Author: Shilei Tian <i at tianshilei.me>
  Date:   2025-12-08 (Mon, 08 Dec 2025)

  Changed paths:
    M llvm/lib/Target/AMDGPU/SIISelLowering.cpp
    M llvm/test/CodeGen/AMDGPU/inlineasm-mismatched-size-error.ll

  Log Message:
  -----------
  [AMDGPU] Fix a crash when a bool variable is used in inline asm (#171004)

Fixes SWDEV-570184.


  Commit: 83fd2c994a82119edf249ac3c169250c26f0b21c
      https://github.com/llvm/llvm-project/commit/83fd2c994a82119edf249ac3c169250c26f0b21c
  Author: Jonas Devlieghere <jonas at devlieghere.com>
  Date:   2025-12-08 (Mon, 08 Dec 2025)

  Changed paths:
    M llvm/tools/dsymutil/dsymutil.cpp

  Log Message:
  -----------
  [dsymutil] Remove spurious exit when falling back to fat64 header (#171189)

In #118898 I changed dsymutil to emit a warning instead of an error when
exceeding the 4GB limit for a slice and automatically fall back to using
the fat64 header. However, while doing so, I forgot to remove the return
which defeats the whole purpose.

rdar://140998416


  Commit: 56fdc61e3a73cad6acb3e7f52c30590b215506b4
      https://github.com/llvm/llvm-project/commit/56fdc61e3a73cad6acb3e7f52c30590b215506b4
  Author: Mehdi Amini <joker.eph at gmail.com>
  Date:   2025-12-08 (Mon, 08 Dec 2025)

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

  Log Message:
  -----------
  [MLIR] Apply clang-tidy fixes for llvm-qualified-auto in SCF.cpp (NFC)


  Commit: 5d53085d7aa832452efcfae3a187724a0456ac7e
      https://github.com/llvm/llvm-project/commit/5d53085d7aa832452efcfae3a187724a0456ac7e
  Author: Florian Mayer <fmayer at google.com>
  Date:   2025-12-08 (Mon, 08 Dec 2025)

  Changed paths:
    M clang/unittests/Analysis/FlowSensitive/MockHeaders.cpp

  Log Message:
  -----------
  [NFC] [FlowSensitive] Fix missing namespace in MockHeaders (#170954)

This happened to work because we were missing both a namespace close and
open and things happened to be included in the correct order.


  Commit: 863a4e410b0ac1c734291b79ddb84cbe19936220
      https://github.com/llvm/llvm-project/commit/863a4e410b0ac1c734291b79ddb84cbe19936220
  Author: Krzysztof Drewniak <Krzysztof.Drewniak at amd.com>
  Date:   2025-12-08 (Mon, 08 Dec 2025)

  Changed paths:
    M llvm/include/llvm/IR/IntrinsicsAMDGPU.td
    A llvm/test/Verifier/AMDGPU/test-cvt-fp4f6f8-immarg-ranges.ll

  Log Message:
  -----------
  [AMDGPU] Add argument range annotations to intrinsics where applicable (#170958)

This commit adds annotations to AMDGPU intrinscis that take arguments
which are documented to lie within a specified range, ensuring that
invalid instances of these intrinsics don't pass verification.

(Note that certain intrinsics that could have range annothations don't,
as their existing behavior is to clamp out-of-range values silently.)

Disclaimer: tests generated by LLM (code is mine)


  Commit: 7ecc9ee9198931ceabbd85cc4a39c5f07a5437a2
      https://github.com/llvm/llvm-project/commit/7ecc9ee9198931ceabbd85cc4a39c5f07a5437a2
  Author: Evgenii Kudriashov <evgenii.kudriashov at intel.com>
  Date:   2025-12-08 (Mon, 08 Dec 2025)

  Changed paths:
    M llvm/lib/CodeGen/GlobalISel/LegalizerHelper.cpp
    M llvm/lib/Target/X86/GISel/X86LegalizerInfo.cpp
    M llvm/test/CodeGen/X86/isel-icmp.ll

  Log Message:
  -----------
  [X86][GlobalISel] Set Dst register correctly when narrowing G_ICMP (#169947)

Due to untested branch in #119335

Fixes #167326


  Commit: b802fdbe76ae52f2e66fd6aea32b3299136a6f31
      https://github.com/llvm/llvm-project/commit/b802fdbe76ae52f2e66fd6aea32b3299136a6f31
  Author: Craig Topper <craig.topper at sifive.com>
  Date:   2025-12-08 (Mon, 08 Dec 2025)

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

  Log Message:
  -----------
  [RISCV] Remove unnecesary override of getVectorTypeBreakdownForCallingConv. NFC (#171155)

There used to be code in here to make i32 legal on RV64, but it was
removed.

Also remove unnecessary temporary variable from
getRegisterTypeForCallingConv.


  Commit: bb79b350681493ce0718d0ae70a080c981010e6a
      https://github.com/llvm/llvm-project/commit/bb79b350681493ce0718d0ae70a080c981010e6a
  Author: Florian Mayer <fmayer at google.com>
  Date:   2025-12-08 (Mon, 08 Dec 2025)

  Changed paths:
    M clang/include/clang/Analysis/FlowSensitive/Models/UncheckedStatusOrAccessModel.h
    M clang/lib/Analysis/FlowSensitive/Models/UncheckedStatusOrAccessModel.cpp
    M clang/unittests/Analysis/FlowSensitive/UncheckedStatusOrAccessModelTestFixture.cpp

  Log Message:
  -----------
  [FlowSensitive] [StatusOr] [11/N] Assume const accessor calls are stable (#170935)

This is not necessarily correct, but prevents us from flagging lots of
false positives because code usually abides by this.


  Commit: 41363b40bebaad3e04fa128a177b85224ef66214
      https://github.com/llvm/llvm-project/commit/41363b40bebaad3e04fa128a177b85224ef66214
  Author: Florian Mayer <fmayer at google.com>
  Date:   2025-12-08 (Mon, 08 Dec 2025)

  Changed paths:
    M clang/unittests/Analysis/FlowSensitive/MockHeaders.cpp

  Log Message:
  -----------
  [NFC] [FlowSensitive] Add mock unique_ptr header (#170942)


  Commit: d17f3b53e913a9ceb0b3747bb83eeb6dbe3d727b
      https://github.com/llvm/llvm-project/commit/d17f3b53e913a9ceb0b3747bb83eeb6dbe3d727b
  Author: Aiden Grossman <aidengrossman at google.com>
  Date:   2025-12-08 (Mon, 08 Dec 2025)

  Changed paths:
    M compiler-rt/test/xray/TestCases/Posix/basic-filtering.cpp
    M compiler-rt/test/xray/TestCases/Posix/fdr-mode.cpp

  Log Message:
  -----------
  [XRay] Disable two more tests on armhf

Similar to d6f92050c0c2f60e78f3c8bcf557c5e69b025d7a. Needed now that
these tests are actually running more broadly.


  Commit: 1e16f4e43d4bda3dc21b4a66dd0ce95e8dac8fd5
      https://github.com/llvm/llvm-project/commit/1e16f4e43d4bda3dc21b4a66dd0ce95e8dac8fd5
  Author: stomfaig <55883018+stomfaig at users.noreply.github.com>
  Date:   2025-12-08 (Mon, 08 Dec 2025)

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

  Log Message:
  -----------
  [flang] add simplification for ProductOp intrinsic (#169575)

Add simplification for `ProductOp`, by implementing support for
`ReductionConversion` and adding it to the pattern list in
`SimplifyHLFIRIntrinsics` pass.

Closes:
https://github.com/issues/recent?issue=llvm%7Cllvm-project%7C169433

---------

Co-authored-by: Eugene Epshteyn <eepshteyn at nvidia.com>


  Commit: e3905a4aa6aaeef643f4e0c64fc6402186548057
      https://github.com/llvm/llvm-project/commit/e3905a4aa6aaeef643f4e0c64fc6402186548057
  Author: Teresa Johnson <tejohnson at google.com>
  Date:   2025-12-08 (Mon, 08 Dec 2025)

  Changed paths:
    M llvm/lib/Transforms/Instrumentation/MemProfUse.cpp
    M llvm/test/Transforms/PGOProfile/memprof_annotate_indirect_call.test

  Log Message:
  -----------
  [MemProf] Merge all callee guids for indirect call VP metadata (#170964)

When matching memprof profiles, for indirect calls we use the callee
guids recorded on callsites in the profile to synthesize indirect call
VP metadata when none exists. However, we only do this for the first
matching CallSiteEntry from the profile.

In some case there can be multiple, for example when the current
function was eventually inlined into multiple callers. Profile
generation propagates the CallSiteEntry from those callers into the
inlined callee's profile as it may not yet have been inlined in the
new compile.

To capture all of these potential indirect call targets, merge callee
guids across all matching CallSiteEntries.


  Commit: f6971bf25daff242590ea025ae3b37603845c0b4
      https://github.com/llvm/llvm-project/commit/f6971bf25daff242590ea025ae3b37603845c0b4
  Author: Florian Mayer <fmayer at google.com>
  Date:   2025-12-08 (Mon, 08 Dec 2025)

  Changed paths:
    M clang/lib/Analysis/FlowSensitive/Models/UncheckedStatusOrAccessModel.cpp
    M clang/unittests/Analysis/FlowSensitive/UncheckedStatusOrAccessModelTestFixture.cpp

  Log Message:
  -----------
  [FlowSensitive] [StatusOr] [12/N] Add support for smart pointers (#170943)


  Commit: d33d9ac0ed2f548e53b8266fff35662054b44486
      https://github.com/llvm/llvm-project/commit/d33d9ac0ed2f548e53b8266fff35662054b44486
  Author: Aiden Grossman <aidengrossman at google.com>
  Date:   2025-12-08 (Mon, 08 Dec 2025)

  Changed paths:
    M .github/workflows/premerge.yaml

  Log Message:
  -----------
  [Github] Make premerge update correct comments file for Windows

platform.machine() on x86_64 on Windows returns AMD64 rather than
x86_64. Make premerge.yaml reflect this.


  Commit: 65dd29b335ce67ff815c539a4f6836a1f0dd4a63
      https://github.com/llvm/llvm-project/commit/65dd29b335ce67ff815c539a4f6836a1f0dd4a63
  Author: Florian Hahn <flo at fhahn.com>
  Date:   2025-12-08 (Mon, 08 Dec 2025)

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

  Log Message:
  -----------
  [LV] Compare induction start values via SCEV in assertion (NFCI).

Instead of comparing plain VPValue in the assertion checking the start
values, directly compare the SCEV's. This future-proofs the code in
preparation of performing more simplifications/canonicalizations for
live-ins.


  Commit: e7f6038e897368840e2778a93f8de093f7d7512a
      https://github.com/llvm/llvm-project/commit/e7f6038e897368840e2778a93f8de093f7d7512a
  Author: Daniel Thornburgh <dthorn at google.com>
  Date:   2025-12-08 (Mon, 08 Dec 2025)

  Changed paths:
    M llvm/test/CodeGen/Generic/reloc-none.ll

  Log Message:
  -----------
  [LLVM] Mark reloc-none test unsupported on Hexagon (#171205)

Prevents infinite loop issue recorded in #147427. More work will be
required to make @llvm.reloc_none work correctly on Hexagon.


  Commit: 89bc5fff54b750c145c27d44e70692c7af7aba3b
      https://github.com/llvm/llvm-project/commit/89bc5fff54b750c145c27d44e70692c7af7aba3b
  Author: Henrich Lauko <xlauko at mail.muni.cz>
  Date:   2025-12-08 (Mon, 08 Dec 2025)

  Changed paths:
    M clang/lib/CIR/Lowering/DirectToLLVM/LowerToLLVM.cpp

  Log Message:
  -----------
  [CIR] Clean up visibility conversion (NFC) (#171000)


  Commit: 5c8c7f3d21ce37bfecd671de4e139a4d933f9be9
      https://github.com/llvm/llvm-project/commit/5c8c7f3d21ce37bfecd671de4e139a4d933f9be9
  Author: Drew Kersnar <dkersnar at nvidia.com>
  Date:   2025-12-08 (Mon, 08 Dec 2025)

  Changed paths:
    M llvm/lib/Transforms/Vectorize/LoadStoreVectorizer.cpp
    M llvm/test/CodeGen/NVPTX/LoadStoreVectorizer.ll
    A llvm/test/CodeGen/NVPTX/masked-load-3xhalf.ll
    M llvm/test/CodeGen/NVPTX/param-vectorize-device.ll
    M llvm/test/Transforms/LoadStoreVectorizer/NVPTX/4x2xhalf.ll
    A llvm/test/Transforms/LoadStoreVectorizer/NVPTX/extend-chain.ll
    A llvm/test/Transforms/LoadStoreVectorizer/NVPTX/gap-fill-cleanup.ll
    A llvm/test/Transforms/LoadStoreVectorizer/NVPTX/gap-fill-invariant.ll
    A llvm/test/Transforms/LoadStoreVectorizer/NVPTX/gap-fill-vectors.ll
    A llvm/test/Transforms/LoadStoreVectorizer/NVPTX/gap-fill-with-redundant-elements.ll
    A llvm/test/Transforms/LoadStoreVectorizer/NVPTX/gap-fill.ll
    M llvm/test/Transforms/LoadStoreVectorizer/NVPTX/many_loads_stores.ll
    A llvm/test/Transforms/LoadStoreVectorizer/NVPTX/masked-store.ll
    M llvm/test/Transforms/LoadStoreVectorizer/NVPTX/vectorize_i8.ll

  Log Message:
  -----------
  [LoadStoreVectorizer] Fill gaps in load/store chains to enable vectorization (#159388)

This change introduces Gap Filling, an optimization that aims to fill in
holes in otherwise contiguous load/store chains to enable vectorization.
It also introduces Chain Extending, which extends the end of a chain to
the closest power of 2.

This was originally motivated by the NVPTX target, but I tried to
generalize it to be universally applicable to all targets that may use
the LSV. I'm more than willing to make adjustments to improve the
target-agnostic-ness of this change. I fully expect there are some
issues and encourage feedback on how to improve things.

For both loads and stores we only perform the optimization when we can
generate a legal llvm masked load/store intrinsic, masking off the
"extra" elements. Determining legality for stores is a little tricky
from the NVPTX side, because these intrinsics are only supported for
256-bit vectors. See the other PR I opened for the implementation of the
NVPTX lowering of masked store intrinsics, which include NVPTX TTI
changes that return true for isLegalMaskedStore under certain
conditions: https://github.com/llvm/llvm-project/pull/159387. This
change is dependent on that backend change, but I predict this change
will require more discussion, so I am putting them both up at the same
time. The backend change will be merged first assuming both are
approved.

Edited: both stores _and loads_ must use masked intrinsics for this
optimization to be legal.

---------

Co-authored-by: Matt Arsenault <arsenm2 at gmail.com>


  Commit: b71eb53cd4399cea26c4aebdefb238e80c22ba95
      https://github.com/llvm/llvm-project/commit/b71eb53cd4399cea26c4aebdefb238e80c22ba95
  Author: Eli Friedman <efriedma at qti.qualcomm.com>
  Date:   2025-12-08 (Mon, 08 Dec 2025)

  Changed paths:
    M compiler-rt/lib/asan/asan_allocator.h

  Log Message:
  -----------
  [asan] Add config for AArch64 Linux with 39-bit VA. (#170929)

This is leveraging work which has already been done for Android, which
ships 39-bit VA kernels, and extending it to other embedded Linux
targets.

(SANITIZER_AARCH64_39BIT_VA was added in 58c8f57681.)


  Commit: c3acafcda289ffa09f1bcae93221eaaf8fcffe79
      https://github.com/llvm/llvm-project/commit/c3acafcda289ffa09f1bcae93221eaaf8fcffe79
  Author: Eli Friedman <efriedma at qti.qualcomm.com>
  Date:   2025-12-08 (Mon, 08 Dec 2025)

  Changed paths:
    M compiler-rt/lib/hwasan/hwasan_allocator.h

  Log Message:
  -----------
  [hwasan] Add config for AArch64 Linux with 39-bit VA. (#170927)

This is leveraging work which has already been done for Android, which
ships 39-bit VA kernels, and extending it to other embedded Linux
targets.

(SANITIZER_AARCH64_39BIT_VA was added in 58c8f57681.)


  Commit: f803e463f921f9cf460f4c3e96372fb3755cc934
      https://github.com/llvm/llvm-project/commit/f803e463f921f9cf460f4c3e96372fb3755cc934
  Author: Fei Peng <feip at nvidia.com>
  Date:   2025-12-08 (Mon, 08 Dec 2025)

  Changed paths:
    M llvm/lib/Transforms/Scalar/StraightLineStrengthReduce.cpp
    M llvm/test/CodeGen/AMDGPU/agpr-copy-no-free-registers.ll
    M llvm/test/CodeGen/AMDGPU/dagcombine-reassociate-bug.ll
    M llvm/test/CodeGen/AMDGPU/idot2.ll
    M llvm/test/CodeGen/AMDGPU/idot4s.ll
    M llvm/test/CodeGen/AMDGPU/idot8u.ll
    M llvm/test/CodeGen/AMDGPU/promote-constOffset-to-imm.ll
    M llvm/test/CodeGen/AMDGPU/splitkit-getsubrangeformask.ll
    M llvm/test/CodeGen/AMDGPU/waitcnt-vscnt.ll
    M llvm/test/Transforms/StraightLineStrengthReduce/AMDGPU/pr23975.ll
    M llvm/test/Transforms/StraightLineStrengthReduce/AMDGPU/reassociate-geps-and-slsr-addrspace.ll
    A llvm/test/Transforms/StraightLineStrengthReduce/NVPTX/slsr-i8-gep.ll
    A llvm/test/Transforms/StraightLineStrengthReduce/NVPTX/slsr-invalid.ll
    A llvm/test/Transforms/StraightLineStrengthReduce/NVPTX/slsr-var-delta.ll
    A llvm/test/Transforms/StraightLineStrengthReduce/path-compression.ll
    A llvm/test/Transforms/StraightLineStrengthReduce/pick-candidate.ll
    M llvm/test/Transforms/StraightLineStrengthReduce/slsr-add.ll
    M llvm/test/Transforms/StraightLineStrengthReduce/slsr-gep.ll

  Log Message:
  -----------
  Reland "Redesign Straight-Line Strength Reduction (SLSR) (#162930)" (#169614)

This PR implements parts of
https://github.com/llvm/llvm-project/issues/162376

- **Broader equivalence than constant index deltas**:
- Add Base-delta and Stride-delta matching for Add and GEP forms using
ScalarEvolution deltas.
- Reuse enabled for both constant and variable deltas when an available
IR value dominates the user.
- **Dominance-aware dictionary instead of linear scans**:
  - Tuple-keyed candidate dictionary grouped by basic block.
- Walk the immediate-dominator chain to find the nearest dominating
basis quickly and deterministically.
- **Simple cost model and best-rewrite selection**:
- Score candidate expressions and rewrites; select the highest-profit
rewrite per instruction.
- Skip rewriting when expressions are already foldable or
high-efficiency.
- **Path compression for better ILP**:
- Compress chains of rewrites to a deeper dominating basis when a
constant delta exists along the path, reducing dependent bumps on
critical paths.
- **Dependency-aware rewrite ordering**:
- Build a dependency graph (basis, stride, variable delta producers) and
rewrite in topological order.
- This dependency graph will be needed by the next PR that adds partial
strength reduction.
- **Correctness enhencment**
- Fix a correctness issue that reusing instructions with the same SCEV
may introduce poison.

---------

Co-authored-by: Kazu Hirata <kazu at google.com>


  Commit: 1911ce132659222aee353882bd5570d689745a7d
      https://github.com/llvm/llvm-project/commit/1911ce132659222aee353882bd5570d689745a7d
  Author: NagaChaitanya Vellanki <pnagato at protonmail.com>
  Date:   2025-12-08 (Mon, 08 Dec 2025)

  Changed paths:
    M clang/include/clang/Basic/BuiltinsX86.td
    M clang/lib/AST/ByteCode/InterpBuiltin.cpp
    M clang/lib/AST/ExprConstShared.h
    M clang/lib/AST/ExprConstant.cpp
    M clang/lib/Headers/gfniintrin.h
    M clang/test/CodeGen/X86/gfni-builtins.c

  Log Message:
  -----------
  [Clang] VectorExprEvaluator::VisitCallExpr / InterpretBuiltin - Allow GFNI intrinsics to be used in constexpr (#169619)

Resolves #169295


  Commit: 2ab198fd15ccbc7f79d11af2383c4534e762fb60
      https://github.com/llvm/llvm-project/commit/2ab198fd15ccbc7f79d11af2383c4534e762fb60
  Author: Nicolai Hähnle <nicolai.haehnle at amd.com>
  Date:   2025-12-08 (Mon, 08 Dec 2025)

  Changed paths:
    A llvm/test/Transforms/VectorCombine/AMDGPU/shuffles-of-length-changing-shuffles.ll

  Log Message:
  -----------
  AMDGPU: Precommit a test (#171208)


  Commit: 0ce6d5699632cb2821f53978afb22e2466ec85c3
      https://github.com/llvm/llvm-project/commit/0ce6d5699632cb2821f53978afb22e2466ec85c3
  Author: jimingham <jingham at apple.com>
  Date:   2025-12-08 (Mon, 08 Dec 2025)

  Changed paths:
    M lldb/source/Commands/CommandObjectBreakpoint.cpp
    M lldb/test/API/functionalities/breakpoint/breakpoint_by_line_and_column/TestBreakpointByLineAndColumn.py

  Log Message:
  -----------
  Fix a typo in "breakpoint add file" and add a test (#171206)

lldbutil.run_to_line_breakpoint had usages that set column breakpoints,
so I thought there was coverage of that on the command-line, but
actually all the `run_to` utilities use the SB API's, and there weren't
any tests of setting file line & column breakpoint through
`run_break_set`. So I missed that I had typed the column option `c` -
that's taken by `--command`.

This patch fixes that typo and adds a CLI test for file + line + column.


  Commit: 786498b2816368b02f51514e71f6c6f6ceceba1a
      https://github.com/llvm/llvm-project/commit/786498b2816368b02f51514e71f6c6f6ceceba1a
  Author: Matt Arsenault <Matthew.Arsenault at amd.com>
  Date:   2025-12-08 (Mon, 08 Dec 2025)

  Changed paths:
    M llvm/lib/Target/AMDGPU/AMDGPUISelLowering.cpp
    M llvm/test/CodeGen/AMDGPU/fp_trunc_store_fp32_to_bf16.ll
    M llvm/test/CodeGen/AMDGPU/trunc-store-f64-to-f16.ll
    M llvm/test/CodeGen/AMDGPU/trunc-store.ll

  Log Message:
  -----------
  AMDGPU: Fix truncstore from v6f32 to v6f16 (#171212)

The v6bf16 cases work, but that's likely because v6bf16 isn't
currently an MVT.

Fixes: SWDEV-570985


  Commit: 05b7720ccafaca5269dae44254547d1622607485
      https://github.com/llvm/llvm-project/commit/05b7720ccafaca5269dae44254547d1622607485
  Author: Priyanshu Kumar <10b.priyanshu at gmail.com>
  Date:   2025-12-08 (Mon, 08 Dec 2025)

  Changed paths:
    M clang/include/clang/CIR/Dialect/IR/CIROps.td
    M clang/lib/CIR/CodeGen/CIRGenBuiltinX86.cpp
    M clang/lib/CIR/Lowering/DirectToLLVM/LowerToLLVM.cpp
    A clang/test/CIR/CodeGen/X86/cir-sqrt-builtins.c

  Log Message:
  -----------
  [CIR][X86] Implement lowering for sqrt builtins (#169310)

Implements CIR IR generation for X86-specific sqrt builtin functions,
addressing issue #167765.

## Test Results 

Successfully tested the implementation locally. All tests pass:

```bash
$ ./bin/llvm-lit -v ../clang/test/CIR/CodeGen/X86/cir-sqrt-builtins.c

Testing: 1 tests, 1 workers
PASS: Clang :: CIR/CodeGen/X86/cir-sqrt-builtins.c (1 of 1)

Testing Time: 1.18s
Total Discovered Tests: 1
  Passed: 1 (100.00%)
```

---------

Co-authored-by: Copilot <175728472+Copilot at users.noreply.github.com>
Co-authored-by: Andy Kaylor <akaylor at nvidia.com>


  Commit: 392c302d790d82fdbf22ebeeaa7e97a261cb23fe
      https://github.com/llvm/llvm-project/commit/392c302d790d82fdbf22ebeeaa7e97a261cb23fe
  Author: Aiden Grossman <aidengrossman at google.com>
  Date:   2025-12-08 (Mon, 08 Dec 2025)

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

  Log Message:
  -----------
  [Clang] Fix unused variable warning from 1911ce132659222aee353882bd55… (#171223)

…70d689745a7d

These are only used in assertions so trigger warnings in release builds.
Fix this per the LLVM programming standards.


  Commit: c595282f7d281012a21467655dd310826d86ddb9
      https://github.com/llvm/llvm-project/commit/c595282f7d281012a21467655dd310826d86ddb9
  Author: Maksim Levental <maksim.levental at gmail.com>
  Date:   2025-12-08 (Mon, 08 Dec 2025)

  Changed paths:
    M mlir/CMakeLists.txt

  Log Message:
  -----------
  [mlir][CMake] enable disabling MLIR_ENABLE_EXECUTION_ENGINE (#171060)

Currently if you pass MLIR_ENABLE_EXECUTION_ENGINE=OFF it's overwritten.


  Commit: 3686ff2b15be36b510e8efef2d3f95968f716b68
      https://github.com/llvm/llvm-project/commit/3686ff2b15be36b510e8efef2d3f95968f716b68
  Author: Harald van Dijk <hdijk at accesssoftek.com>
  Date:   2025-12-09 (Tue, 09 Dec 2025)

  Changed paths:
    M bolt/lib/Target/AArch64/AArch64MCPlusBuilder.cpp
    M llvm/lib/Target/AArch64/AArch64A53Fix835769.cpp
    M llvm/lib/Target/AArch64/AArch64AsmPrinter.cpp
    M llvm/lib/Target/AArch64/AArch64InstrInfo.cpp
    M llvm/lib/Target/AArch64/AArch64InstrInfo.td
    M llvm/test/tools/llvm-mca/AArch64/Cortex/A55-load-store-alias.s
    M llvm/test/tools/llvm-mca/AArch64/Cortex/A55-load-store-noalias.s

  Log Message:
  -----------
  [AArch64] Treat NOP as a separate instruction. (#170968)

Previously, nop was treated as just an alias for hint #0. The
consequence of that was that all the general rules for hint instructions
applied to nop too, in particular that during binary analysis, they were
assumed to have unknown effects. This commit adds AArch64::NOP as a
standalone instruction with no side effects.

The scheduling update in A55-load-store-alias.s is probably not entirely
accurate, but should be more accurate than the previous result.


  Commit: a1f948947ddcd53c8459c978f67c4dd207a43550
      https://github.com/llvm/llvm-project/commit/a1f948947ddcd53c8459c978f67c4dd207a43550
  Author: Ming Yan <ming.yan at terapines.com>
  Date:   2025-12-09 (Tue, 09 Dec 2025)

  Changed paths:
    M flang/lib/Optimizer/Transforms/FIRToSCF.cpp
    M flang/test/Fir/FirToSCF/iter-while.fir

  Log Message:
  -----------
  [Flang][Fir] Fix the comparison when lowering `fir.iterate_while` to `scf.while`. (#171080)

The comparison depends on the sign of the `step`, and when `step == 0` it always returns `false`.


  Commit: c05ba635c4818816d704096197abeb00bad7bf99
      https://github.com/llvm/llvm-project/commit/c05ba635c4818816d704096197abeb00bad7bf99
  Author: paperchalice <liujunchang97 at outlook.com>
  Date:   2025-12-09 (Tue, 09 Dec 2025)

  Changed paths:
    M llvm/lib/Target/PowerPC/PPCISelLowering.cpp
    M llvm/test/CodeGen/PowerPC/vec_rounding.ll

  Log Message:
  -----------
  [PowerPC] Use the same lowering rule for vector rounding instructions (#166307)

They should have the same lowering rule.


  Commit: cdb525d2e420de1348e4f7a6b75ca07664f4ca43
      https://github.com/llvm/llvm-project/commit/cdb525d2e420de1348e4f7a6b75ca07664f4ca43
  Author: Drew Kersnar <dkersnar at nvidia.com>
  Date:   2025-12-08 (Mon, 08 Dec 2025)

  Changed paths:
    M llvm/lib/Target/NVPTX/NVPTXISelLowering.cpp
    M llvm/lib/Target/NVPTX/NVPTXSubtarget.h
    M llvm/test/CodeGen/NVPTX/LoadStoreVectorizer.ll
    M llvm/test/CodeGen/NVPTX/param-vectorize-device.ll
    A llvm/test/CodeGen/NVPTX/used-bytes-mask.ll

  Log Message:
  -----------
  [NVPTX] Fix lit test issue from used_bytes_mask (#171220)

Whoops, I made the same mistake as
https://github.com/llvm/llvm-project/pull/169535/files again, so
https://github.com/llvm/llvm-project/commit/5c8c7f3d21ce37bfecd671de4e139a4d933f9be9
is causing build issues.


  Commit: 1e33e12f252f55245d78e01fc25a99147c794247
      https://github.com/llvm/llvm-project/commit/1e33e12f252f55245d78e01fc25a99147c794247
  Author: Sameer Sahasrabuddhe <sameer.sahasrabuddhe at amd.com>
  Date:   2025-12-09 (Tue, 09 Dec 2025)

  Changed paths:
    M llvm/lib/Target/AMDGPU/SIInsertWaitcnts.cpp

  Log Message:
  -----------
  [AMDGPU][NFC] fix function names in debug log for SIInsertWaitcnts


  Commit: 8c8196c8021f21fd39145d03337bf0e8fd214857
      https://github.com/llvm/llvm-project/commit/8c8196c8021f21fd39145d03337bf0e8fd214857
  Author: Sameer Sahasrabuddhe <sameer.sahasrabuddhe at amd.com>
  Date:   2025-12-09 (Tue, 09 Dec 2025)

  Changed paths:
    M llvm/lib/Target/AMDGPU/SIInsertWaitcnts.cpp

  Log Message:
  -----------
  [AMDGPU][NFC] cleanup whitespace in debug log of SIInsertWaitcnts


  Commit: 9fc1c49e4a98e1c312e7ff6028eb4e74787ebfdf
      https://github.com/llvm/llvm-project/commit/9fc1c49e4a98e1c312e7ff6028eb4e74787ebfdf
  Author: Wenju He <wenju.he at intel.com>
  Date:   2025-12-09 (Tue, 09 Dec 2025)

  Changed paths:
    R libclc/opencl/include/clc/opencl/async/async_work_group_copy.h
    R libclc/opencl/include/clc/opencl/async/async_work_group_copy.inc
    R libclc/opencl/include/clc/opencl/async/async_work_group_strided_copy.h
    R libclc/opencl/include/clc/opencl/async/async_work_group_strided_copy.inc
    R libclc/opencl/include/clc/opencl/async/prefetch.h
    R libclc/opencl/include/clc/opencl/async/prefetch.inc
    R libclc/opencl/include/clc/opencl/async/wait_group_events.h
    R libclc/opencl/include/clc/opencl/atomic/atom_add.h
    R libclc/opencl/include/clc/opencl/atomic/atom_and.h
    R libclc/opencl/include/clc/opencl/atomic/atom_cmpxchg.h
    R libclc/opencl/include/clc/opencl/atomic/atom_dec.h
    R libclc/opencl/include/clc/opencl/atomic/atom_decl_int32.inc
    R libclc/opencl/include/clc/opencl/atomic/atom_decl_int64.inc
    R libclc/opencl/include/clc/opencl/atomic/atom_inc.h
    R libclc/opencl/include/clc/opencl/atomic/atom_max.h
    R libclc/opencl/include/clc/opencl/atomic/atom_min.h
    R libclc/opencl/include/clc/opencl/atomic/atom_or.h
    R libclc/opencl/include/clc/opencl/atomic/atom_sub.h
    R libclc/opencl/include/clc/opencl/atomic/atom_xchg.h
    R libclc/opencl/include/clc/opencl/atomic/atom_xor.h
    R libclc/opencl/include/clc/opencl/atomic/atomic_add.h
    R libclc/opencl/include/clc/opencl/atomic/atomic_and.h
    R libclc/opencl/include/clc/opencl/atomic/atomic_cmpxchg.h
    R libclc/opencl/include/clc/opencl/atomic/atomic_compare_exchange_strong.h
    R libclc/opencl/include/clc/opencl/atomic/atomic_compare_exchange_weak.h
    R libclc/opencl/include/clc/opencl/atomic/atomic_dec.h
    R libclc/opencl/include/clc/opencl/atomic/atomic_decl.inc
    R libclc/opencl/include/clc/opencl/atomic/atomic_decl_legacy.inc
    R libclc/opencl/include/clc/opencl/atomic/atomic_exchange.h
    R libclc/opencl/include/clc/opencl/atomic/atomic_fetch_add.h
    R libclc/opencl/include/clc/opencl/atomic/atomic_fetch_and.h
    R libclc/opencl/include/clc/opencl/atomic/atomic_fetch_max.h
    R libclc/opencl/include/clc/opencl/atomic/atomic_fetch_min.h
    R libclc/opencl/include/clc/opencl/atomic/atomic_fetch_or.h
    R libclc/opencl/include/clc/opencl/atomic/atomic_fetch_sub.h
    R libclc/opencl/include/clc/opencl/atomic/atomic_fetch_xor.h
    R libclc/opencl/include/clc/opencl/atomic/atomic_flag_clear.h
    R libclc/opencl/include/clc/opencl/atomic/atomic_flag_test_and_set.h
    R libclc/opencl/include/clc/opencl/atomic/atomic_inc.h
    R libclc/opencl/include/clc/opencl/atomic/atomic_init.h
    R libclc/opencl/include/clc/opencl/atomic/atomic_init.inc
    R libclc/opencl/include/clc/opencl/atomic/atomic_load.h
    R libclc/opencl/include/clc/opencl/atomic/atomic_max.h
    R libclc/opencl/include/clc/opencl/atomic/atomic_min.h
    R libclc/opencl/include/clc/opencl/atomic/atomic_or.h
    R libclc/opencl/include/clc/opencl/atomic/atomic_store.h
    R libclc/opencl/include/clc/opencl/atomic/atomic_sub.h
    R libclc/opencl/include/clc/opencl/atomic/atomic_xchg.h
    R libclc/opencl/include/clc/opencl/atomic/atomic_xor.h
    R libclc/opencl/include/clc/opencl/common/degrees.h
    R libclc/opencl/include/clc/opencl/common/mix.h
    R libclc/opencl/include/clc/opencl/common/mix.inc
    R libclc/opencl/include/clc/opencl/common/radians.h
    R libclc/opencl/include/clc/opencl/common/sign.h
    R libclc/opencl/include/clc/opencl/common/smoothstep.h
    R libclc/opencl/include/clc/opencl/common/smoothstep.inc
    R libclc/opencl/include/clc/opencl/common/step.h
    R libclc/opencl/include/clc/opencl/common/step.inc
    R libclc/opencl/include/clc/opencl/explicit_fence/explicit_memory_fence.h
    R libclc/opencl/include/clc/opencl/geometric/cross.h
    R libclc/opencl/include/clc/opencl/geometric/distance.h
    R libclc/opencl/include/clc/opencl/geometric/dot.h
    R libclc/opencl/include/clc/opencl/geometric/fast_distance.h
    R libclc/opencl/include/clc/opencl/geometric/fast_length.h
    R libclc/opencl/include/clc/opencl/geometric/fast_normalize.h
    R libclc/opencl/include/clc/opencl/geometric/length.h
    R libclc/opencl/include/clc/opencl/geometric/normalize.h
    R libclc/opencl/include/clc/opencl/image/image.h
    R libclc/opencl/include/clc/opencl/image/image_defines.h
    R libclc/opencl/include/clc/opencl/integer/abs.h
    R libclc/opencl/include/clc/opencl/integer/abs.inc
    R libclc/opencl/include/clc/opencl/integer/abs_diff.h
    R libclc/opencl/include/clc/opencl/integer/abs_diff.inc
    R libclc/opencl/include/clc/opencl/integer/add_sat.h
    R libclc/opencl/include/clc/opencl/integer/bit_reverse.h
    R libclc/opencl/include/clc/opencl/integer/bitfield_extract_signed.h
    R libclc/opencl/include/clc/opencl/integer/bitfield_extract_unsigned.h
    R libclc/opencl/include/clc/opencl/integer/bitfield_insert.h
    R libclc/opencl/include/clc/opencl/integer/clz.h
    R libclc/opencl/include/clc/opencl/integer/ctz.h
    R libclc/opencl/include/clc/opencl/integer/hadd.h
    R libclc/opencl/include/clc/opencl/integer/mad24.h
    R libclc/opencl/include/clc/opencl/integer/mad_hi.h
    R libclc/opencl/include/clc/opencl/integer/mad_sat.h
    R libclc/opencl/include/clc/opencl/integer/mul24.h
    R libclc/opencl/include/clc/opencl/integer/mul_hi.h
    R libclc/opencl/include/clc/opencl/integer/popcount.h
    R libclc/opencl/include/clc/opencl/integer/rhadd.h
    R libclc/opencl/include/clc/opencl/integer/rotate.h
    R libclc/opencl/include/clc/opencl/integer/sub_sat.h
    R libclc/opencl/include/clc/opencl/integer/upsample.h
    R libclc/opencl/include/clc/opencl/math/acos.h
    R libclc/opencl/include/clc/opencl/math/acosh.h
    R libclc/opencl/include/clc/opencl/math/acospi.h
    R libclc/opencl/include/clc/opencl/math/asin.h
    R libclc/opencl/include/clc/opencl/math/asinh.h
    R libclc/opencl/include/clc/opencl/math/asinpi.h
    R libclc/opencl/include/clc/opencl/math/atan.h
    R libclc/opencl/include/clc/opencl/math/atan2.h
    R libclc/opencl/include/clc/opencl/math/atan2pi.h
    R libclc/opencl/include/clc/opencl/math/atanh.h
    R libclc/opencl/include/clc/opencl/math/atanpi.h
    R libclc/opencl/include/clc/opencl/math/cbrt.h
    R libclc/opencl/include/clc/opencl/math/ceil.h
    R libclc/opencl/include/clc/opencl/math/copysign.h
    R libclc/opencl/include/clc/opencl/math/cos.h
    R libclc/opencl/include/clc/opencl/math/cosh.h
    R libclc/opencl/include/clc/opencl/math/cospi.h
    R libclc/opencl/include/clc/opencl/math/erf.h
    R libclc/opencl/include/clc/opencl/math/erfc.h
    R libclc/opencl/include/clc/opencl/math/exp.h
    R libclc/opencl/include/clc/opencl/math/exp10.h
    R libclc/opencl/include/clc/opencl/math/exp2.h
    R libclc/opencl/include/clc/opencl/math/expm1.h
    R libclc/opencl/include/clc/opencl/math/fabs.h
    R libclc/opencl/include/clc/opencl/math/fdim.h
    R libclc/opencl/include/clc/opencl/math/floor.h
    R libclc/opencl/include/clc/opencl/math/fma.h
    R libclc/opencl/include/clc/opencl/math/fmax.h
    R libclc/opencl/include/clc/opencl/math/fmin.h
    R libclc/opencl/include/clc/opencl/math/fmod.h
    R libclc/opencl/include/clc/opencl/math/fract.h
    R libclc/opencl/include/clc/opencl/math/frexp.h
    R libclc/opencl/include/clc/opencl/math/half_cos.h
    R libclc/opencl/include/clc/opencl/math/half_divide.h
    R libclc/opencl/include/clc/opencl/math/half_exp.h
    R libclc/opencl/include/clc/opencl/math/half_exp10.h
    R libclc/opencl/include/clc/opencl/math/half_exp2.h
    R libclc/opencl/include/clc/opencl/math/half_log.h
    R libclc/opencl/include/clc/opencl/math/half_log10.h
    R libclc/opencl/include/clc/opencl/math/half_log2.h
    R libclc/opencl/include/clc/opencl/math/half_powr.h
    R libclc/opencl/include/clc/opencl/math/half_recip.h
    R libclc/opencl/include/clc/opencl/math/half_rsqrt.h
    R libclc/opencl/include/clc/opencl/math/half_sin.h
    R libclc/opencl/include/clc/opencl/math/half_sqrt.h
    R libclc/opencl/include/clc/opencl/math/half_tan.h
    R libclc/opencl/include/clc/opencl/math/hypot.h
    R libclc/opencl/include/clc/opencl/math/ilogb.h
    R libclc/opencl/include/clc/opencl/math/ldexp.h
    R libclc/opencl/include/clc/opencl/math/ldexp.inc
    R libclc/opencl/include/clc/opencl/math/lgamma.h
    R libclc/opencl/include/clc/opencl/math/lgamma_r.h
    R libclc/opencl/include/clc/opencl/math/log.h
    R libclc/opencl/include/clc/opencl/math/log10.h
    R libclc/opencl/include/clc/opencl/math/log1p.h
    R libclc/opencl/include/clc/opencl/math/log2.h
    R libclc/opencl/include/clc/opencl/math/logb.h
    R libclc/opencl/include/clc/opencl/math/mad.h
    R libclc/opencl/include/clc/opencl/math/maxmag.h
    R libclc/opencl/include/clc/opencl/math/minmag.h
    R libclc/opencl/include/clc/opencl/math/modf.h
    R libclc/opencl/include/clc/opencl/math/nan.h
    R libclc/opencl/include/clc/opencl/math/nan.inc
    R libclc/opencl/include/clc/opencl/math/native_cos.h
    R libclc/opencl/include/clc/opencl/math/native_divide.h
    R libclc/opencl/include/clc/opencl/math/native_exp.h
    R libclc/opencl/include/clc/opencl/math/native_exp10.h
    R libclc/opencl/include/clc/opencl/math/native_exp2.h
    R libclc/opencl/include/clc/opencl/math/native_log.h
    R libclc/opencl/include/clc/opencl/math/native_log10.h
    R libclc/opencl/include/clc/opencl/math/native_log2.h
    R libclc/opencl/include/clc/opencl/math/native_powr.h
    R libclc/opencl/include/clc/opencl/math/native_recip.h
    R libclc/opencl/include/clc/opencl/math/native_rsqrt.h
    R libclc/opencl/include/clc/opencl/math/native_sin.h
    R libclc/opencl/include/clc/opencl/math/native_sqrt.h
    R libclc/opencl/include/clc/opencl/math/native_tan.h
    R libclc/opencl/include/clc/opencl/math/nextafter.h
    R libclc/opencl/include/clc/opencl/math/pow.h
    R libclc/opencl/include/clc/opencl/math/pown.h
    R libclc/opencl/include/clc/opencl/math/powr.h
    R libclc/opencl/include/clc/opencl/math/remainder.h
    R libclc/opencl/include/clc/opencl/math/remquo.h
    R libclc/opencl/include/clc/opencl/math/rint.h
    R libclc/opencl/include/clc/opencl/math/rootn.h
    R libclc/opencl/include/clc/opencl/math/round.h
    R libclc/opencl/include/clc/opencl/math/rsqrt.h
    R libclc/opencl/include/clc/opencl/math/sin.h
    R libclc/opencl/include/clc/opencl/math/sincos.h
    R libclc/opencl/include/clc/opencl/math/sinh.h
    R libclc/opencl/include/clc/opencl/math/sinpi.h
    R libclc/opencl/include/clc/opencl/math/sqrt.h
    R libclc/opencl/include/clc/opencl/math/tan.h
    R libclc/opencl/include/clc/opencl/math/tanh.h
    R libclc/opencl/include/clc/opencl/math/tanpi.h
    R libclc/opencl/include/clc/opencl/math/tgamma.h
    R libclc/opencl/include/clc/opencl/math/trunc.h
    R libclc/opencl/include/clc/opencl/misc/shuffle.h
    R libclc/opencl/include/clc/opencl/misc/shuffle2.h
    R libclc/opencl/include/clc/opencl/relational/all.h
    R libclc/opencl/include/clc/opencl/relational/any.h
    R libclc/opencl/include/clc/opencl/relational/bitselect.h
    R libclc/opencl/include/clc/opencl/relational/bitselect.inc
    R libclc/opencl/include/clc/opencl/relational/isequal.h
    R libclc/opencl/include/clc/opencl/relational/isfinite.h
    R libclc/opencl/include/clc/opencl/relational/isgreater.h
    R libclc/opencl/include/clc/opencl/relational/isgreaterequal.h
    R libclc/opencl/include/clc/opencl/relational/isinf.h
    R libclc/opencl/include/clc/opencl/relational/isless.h
    R libclc/opencl/include/clc/opencl/relational/islessequal.h
    R libclc/opencl/include/clc/opencl/relational/islessgreater.h
    R libclc/opencl/include/clc/opencl/relational/isnan.h
    R libclc/opencl/include/clc/opencl/relational/isnormal.h
    R libclc/opencl/include/clc/opencl/relational/isnotequal.h
    R libclc/opencl/include/clc/opencl/relational/isordered.h
    R libclc/opencl/include/clc/opencl/relational/isunordered.h
    R libclc/opencl/include/clc/opencl/relational/select.h
    R libclc/opencl/include/clc/opencl/relational/signbit.h
    R libclc/opencl/include/clc/opencl/shared/clamp.h
    R libclc/opencl/include/clc/opencl/shared/clamp.inc
    R libclc/opencl/include/clc/opencl/shared/max.h
    R libclc/opencl/include/clc/opencl/shared/max.inc
    R libclc/opencl/include/clc/opencl/shared/min.h
    R libclc/opencl/include/clc/opencl/shared/min.inc
    R libclc/opencl/include/clc/opencl/shared/vload.h
    R libclc/opencl/include/clc/opencl/shared/vstore.h
    R libclc/opencl/include/clc/opencl/synchronization/barrier.h
    R libclc/opencl/include/clc/opencl/workitem/get_global_id.h
    R libclc/opencl/include/clc/opencl/workitem/get_global_offset.h
    R libclc/opencl/include/clc/opencl/workitem/get_global_size.h
    R libclc/opencl/include/clc/opencl/workitem/get_group_id.h
    R libclc/opencl/include/clc/opencl/workitem/get_local_id.h
    R libclc/opencl/include/clc/opencl/workitem/get_local_linear_id.h
    R libclc/opencl/include/clc/opencl/workitem/get_local_size.h
    R libclc/opencl/include/clc/opencl/workitem/get_max_sub_group_size.h
    R libclc/opencl/include/clc/opencl/workitem/get_num_groups.h
    R libclc/opencl/include/clc/opencl/workitem/get_num_sub_groups.h
    R libclc/opencl/include/clc/opencl/workitem/get_sub_group_id.h
    R libclc/opencl/include/clc/opencl/workitem/get_sub_group_local_id.h
    R libclc/opencl/include/clc/opencl/workitem/get_sub_group_size.h
    R libclc/opencl/include/clc/opencl/workitem/get_work_dim.h
    M libclc/opencl/lib/amdgcn-amdhsa/workitem/get_global_size.cl
    M libclc/opencl/lib/amdgcn-amdhsa/workitem/get_local_size.cl
    M libclc/opencl/lib/amdgcn-amdhsa/workitem/get_num_groups.cl
    M libclc/opencl/lib/amdgcn/mem_fence/fence.cl
    M libclc/opencl/lib/amdgcn/synchronization/barrier.cl
    M libclc/opencl/lib/amdgcn/workitem/get_global_offset.cl
    M libclc/opencl/lib/amdgcn/workitem/get_global_size.cl
    M libclc/opencl/lib/amdgcn/workitem/get_group_id.cl
    M libclc/opencl/lib/amdgcn/workitem/get_local_id.cl
    M libclc/opencl/lib/amdgcn/workitem/get_local_size.cl
    M libclc/opencl/lib/amdgcn/workitem/get_num_groups.cl
    M libclc/opencl/lib/amdgcn/workitem/get_work_dim.cl
    M libclc/opencl/lib/clspv/math/fma.cl
    M libclc/opencl/lib/clspv/shared/vstore_half.cl
    M libclc/opencl/lib/generic/async/async_work_group_copy.cl
    M libclc/opencl/lib/generic/async/async_work_group_strided_copy.cl
    M libclc/opencl/lib/generic/async/prefetch.cl
    M libclc/opencl/lib/generic/async/wait_group_events.cl
    M libclc/opencl/lib/generic/atomic/atom_add.cl
    M libclc/opencl/lib/generic/atomic/atom_and.cl
    M libclc/opencl/lib/generic/atomic/atom_cmpxchg.cl
    M libclc/opencl/lib/generic/atomic/atom_dec.cl
    M libclc/opencl/lib/generic/atomic/atom_inc.cl
    M libclc/opencl/lib/generic/atomic/atom_max.cl
    M libclc/opencl/lib/generic/atomic/atom_min.cl
    M libclc/opencl/lib/generic/atomic/atom_or.cl
    M libclc/opencl/lib/generic/atomic/atom_sub.cl
    M libclc/opencl/lib/generic/atomic/atom_xchg.cl
    M libclc/opencl/lib/generic/atomic/atom_xor.cl
    M libclc/opencl/lib/generic/atomic/atomic_add.cl
    M libclc/opencl/lib/generic/atomic/atomic_and.cl
    M libclc/opencl/lib/generic/atomic/atomic_cmpxchg.cl
    M libclc/opencl/lib/generic/atomic/atomic_compare_exchange_strong.cl
    M libclc/opencl/lib/generic/atomic/atomic_compare_exchange_weak.cl
    M libclc/opencl/lib/generic/atomic/atomic_dec.cl
    M libclc/opencl/lib/generic/atomic/atomic_exchange.cl
    M libclc/opencl/lib/generic/atomic/atomic_fetch_add.cl
    M libclc/opencl/lib/generic/atomic/atomic_fetch_and.cl
    M libclc/opencl/lib/generic/atomic/atomic_fetch_max.cl
    M libclc/opencl/lib/generic/atomic/atomic_fetch_min.cl
    M libclc/opencl/lib/generic/atomic/atomic_fetch_or.cl
    M libclc/opencl/lib/generic/atomic/atomic_fetch_sub.cl
    M libclc/opencl/lib/generic/atomic/atomic_fetch_xor.cl
    M libclc/opencl/lib/generic/atomic/atomic_flag_clear.cl
    M libclc/opencl/lib/generic/atomic/atomic_flag_test_and_set.cl
    M libclc/opencl/lib/generic/atomic/atomic_inc.cl
    M libclc/opencl/lib/generic/atomic/atomic_init.cl
    M libclc/opencl/lib/generic/atomic/atomic_load.cl
    M libclc/opencl/lib/generic/atomic/atomic_max.cl
    M libclc/opencl/lib/generic/atomic/atomic_min.cl
    M libclc/opencl/lib/generic/atomic/atomic_or.cl
    M libclc/opencl/lib/generic/atomic/atomic_store.cl
    M libclc/opencl/lib/generic/atomic/atomic_sub.cl
    M libclc/opencl/lib/generic/atomic/atomic_xchg.cl
    M libclc/opencl/lib/generic/atomic/atomic_xor.cl
    M libclc/opencl/lib/generic/common/degrees.cl
    M libclc/opencl/lib/generic/common/mix.cl
    M libclc/opencl/lib/generic/common/radians.cl
    M libclc/opencl/lib/generic/common/sign.cl
    M libclc/opencl/lib/generic/common/smoothstep.cl
    M libclc/opencl/lib/generic/common/step.cl
    M libclc/opencl/lib/generic/geometric/cross.cl
    M libclc/opencl/lib/generic/geometric/distance.cl
    M libclc/opencl/lib/generic/geometric/dot.cl
    M libclc/opencl/lib/generic/geometric/fast_distance.cl
    M libclc/opencl/lib/generic/geometric/fast_length.cl
    M libclc/opencl/lib/generic/geometric/fast_normalize.cl
    M libclc/opencl/lib/generic/geometric/length.cl
    M libclc/opencl/lib/generic/geometric/normalize.cl
    M libclc/opencl/lib/generic/integer/abs.cl
    M libclc/opencl/lib/generic/integer/abs_diff.cl
    M libclc/opencl/lib/generic/integer/add_sat.cl
    M libclc/opencl/lib/generic/integer/bit_reverse.cl
    M libclc/opencl/lib/generic/integer/bitfield_extract_signed.cl
    M libclc/opencl/lib/generic/integer/bitfield_extract_unsigned.cl
    M libclc/opencl/lib/generic/integer/bitfield_insert.cl
    M libclc/opencl/lib/generic/integer/clz.cl
    M libclc/opencl/lib/generic/integer/ctz.cl
    M libclc/opencl/lib/generic/integer/hadd.cl
    M libclc/opencl/lib/generic/integer/mad24.cl
    M libclc/opencl/lib/generic/integer/mad_hi.cl
    M libclc/opencl/lib/generic/integer/mad_sat.cl
    M libclc/opencl/lib/generic/integer/mul24.cl
    M libclc/opencl/lib/generic/integer/mul_hi.cl
    M libclc/opencl/lib/generic/integer/popcount.cl
    M libclc/opencl/lib/generic/integer/rhadd.cl
    M libclc/opencl/lib/generic/integer/rotate.cl
    M libclc/opencl/lib/generic/integer/sub_sat.cl
    M libclc/opencl/lib/generic/integer/upsample.cl
    M libclc/opencl/lib/generic/math/acos.cl
    M libclc/opencl/lib/generic/math/acosh.cl
    M libclc/opencl/lib/generic/math/acospi.cl
    M libclc/opencl/lib/generic/math/asin.cl
    M libclc/opencl/lib/generic/math/asinh.cl
    M libclc/opencl/lib/generic/math/asinpi.cl
    M libclc/opencl/lib/generic/math/atan.cl
    M libclc/opencl/lib/generic/math/atan2.cl
    M libclc/opencl/lib/generic/math/atan2pi.cl
    M libclc/opencl/lib/generic/math/atanh.cl
    M libclc/opencl/lib/generic/math/atanpi.cl
    M libclc/opencl/lib/generic/math/cbrt.cl
    M libclc/opencl/lib/generic/math/ceil.cl
    M libclc/opencl/lib/generic/math/copysign.cl
    M libclc/opencl/lib/generic/math/cos.cl
    M libclc/opencl/lib/generic/math/cosh.cl
    M libclc/opencl/lib/generic/math/cospi.cl
    M libclc/opencl/lib/generic/math/erf.cl
    M libclc/opencl/lib/generic/math/erfc.cl
    M libclc/opencl/lib/generic/math/exp.cl
    M libclc/opencl/lib/generic/math/exp10.cl
    M libclc/opencl/lib/generic/math/exp2.cl
    M libclc/opencl/lib/generic/math/expm1.cl
    M libclc/opencl/lib/generic/math/fabs.cl
    M libclc/opencl/lib/generic/math/fdim.cl
    M libclc/opencl/lib/generic/math/floor.cl
    M libclc/opencl/lib/generic/math/fma.cl
    M libclc/opencl/lib/generic/math/fmax.cl
    M libclc/opencl/lib/generic/math/fmin.cl
    M libclc/opencl/lib/generic/math/fmod.cl
    M libclc/opencl/lib/generic/math/fract.cl
    M libclc/opencl/lib/generic/math/frexp.cl
    M libclc/opencl/lib/generic/math/half_cos.cl
    M libclc/opencl/lib/generic/math/half_divide.cl
    M libclc/opencl/lib/generic/math/half_exp.cl
    M libclc/opencl/lib/generic/math/half_exp10.cl
    M libclc/opencl/lib/generic/math/half_exp2.cl
    M libclc/opencl/lib/generic/math/half_log.cl
    M libclc/opencl/lib/generic/math/half_log10.cl
    M libclc/opencl/lib/generic/math/half_log2.cl
    M libclc/opencl/lib/generic/math/half_powr.cl
    M libclc/opencl/lib/generic/math/half_recip.cl
    M libclc/opencl/lib/generic/math/half_rsqrt.cl
    M libclc/opencl/lib/generic/math/half_sin.cl
    M libclc/opencl/lib/generic/math/half_sqrt.cl
    M libclc/opencl/lib/generic/math/half_tan.cl
    M libclc/opencl/lib/generic/math/hypot.cl
    M libclc/opencl/lib/generic/math/ilogb.cl
    M libclc/opencl/lib/generic/math/ldexp.cl
    M libclc/opencl/lib/generic/math/lgamma.cl
    M libclc/opencl/lib/generic/math/lgamma_r.cl
    M libclc/opencl/lib/generic/math/log.cl
    M libclc/opencl/lib/generic/math/log10.cl
    M libclc/opencl/lib/generic/math/log1p.cl
    M libclc/opencl/lib/generic/math/log2.cl
    M libclc/opencl/lib/generic/math/logb.cl
    M libclc/opencl/lib/generic/math/mad.cl
    M libclc/opencl/lib/generic/math/maxmag.cl
    M libclc/opencl/lib/generic/math/minmag.cl
    M libclc/opencl/lib/generic/math/modf.cl
    M libclc/opencl/lib/generic/math/native_cos.cl
    M libclc/opencl/lib/generic/math/native_divide.cl
    M libclc/opencl/lib/generic/math/native_exp.cl
    M libclc/opencl/lib/generic/math/native_exp10.cl
    M libclc/opencl/lib/generic/math/native_exp2.cl
    M libclc/opencl/lib/generic/math/native_log.cl
    M libclc/opencl/lib/generic/math/native_log10.cl
    M libclc/opencl/lib/generic/math/native_log2.cl
    M libclc/opencl/lib/generic/math/native_powr.cl
    M libclc/opencl/lib/generic/math/native_recip.cl
    M libclc/opencl/lib/generic/math/native_rsqrt.cl
    M libclc/opencl/lib/generic/math/native_sin.cl
    M libclc/opencl/lib/generic/math/native_sqrt.cl
    M libclc/opencl/lib/generic/math/native_tan.cl
    M libclc/opencl/lib/generic/math/nextafter.cl
    M libclc/opencl/lib/generic/math/pow.cl
    M libclc/opencl/lib/generic/math/pown.cl
    M libclc/opencl/lib/generic/math/powr.cl
    M libclc/opencl/lib/generic/math/remainder.cl
    M libclc/opencl/lib/generic/math/remquo.cl
    M libclc/opencl/lib/generic/math/rint.cl
    M libclc/opencl/lib/generic/math/rootn.cl
    M libclc/opencl/lib/generic/math/round.cl
    M libclc/opencl/lib/generic/math/rsqrt.cl
    M libclc/opencl/lib/generic/math/sin.cl
    M libclc/opencl/lib/generic/math/sincos.cl
    M libclc/opencl/lib/generic/math/sinh.cl
    M libclc/opencl/lib/generic/math/sinpi.cl
    M libclc/opencl/lib/generic/math/sqrt.cl
    M libclc/opencl/lib/generic/math/tan.cl
    M libclc/opencl/lib/generic/math/tanh.cl
    M libclc/opencl/lib/generic/math/tanpi.cl
    M libclc/opencl/lib/generic/math/tgamma.cl
    M libclc/opencl/lib/generic/math/trunc.cl
    M libclc/opencl/lib/generic/misc/shuffle.cl
    M libclc/opencl/lib/generic/misc/shuffle2.cl
    M libclc/opencl/lib/generic/relational/all.cl
    M libclc/opencl/lib/generic/relational/any.cl
    M libclc/opencl/lib/generic/relational/bitselect.cl
    M libclc/opencl/lib/generic/relational/isequal.cl
    M libclc/opencl/lib/generic/relational/isfinite.cl
    M libclc/opencl/lib/generic/relational/isgreater.cl
    M libclc/opencl/lib/generic/relational/isgreaterequal.cl
    M libclc/opencl/lib/generic/relational/isinf.cl
    M libclc/opencl/lib/generic/relational/isless.cl
    M libclc/opencl/lib/generic/relational/islessequal.cl
    M libclc/opencl/lib/generic/relational/islessgreater.cl
    M libclc/opencl/lib/generic/relational/isnan.cl
    M libclc/opencl/lib/generic/relational/isnormal.cl
    M libclc/opencl/lib/generic/relational/isnotequal.cl
    M libclc/opencl/lib/generic/relational/isordered.cl
    M libclc/opencl/lib/generic/relational/isunordered.cl
    M libclc/opencl/lib/generic/relational/select.cl
    M libclc/opencl/lib/generic/relational/signbit.cl
    M libclc/opencl/lib/generic/shared/clamp.cl
    M libclc/opencl/lib/generic/shared/max.cl
    M libclc/opencl/lib/generic/shared/min.cl
    M libclc/opencl/lib/generic/shared/vload.cl
    M libclc/opencl/lib/generic/shared/vstore.cl
    M libclc/opencl/lib/generic/workitem/get_global_id.cl
    M libclc/opencl/lib/generic/workitem/get_global_size.cl
    M libclc/opencl/lib/ptx-nvidiacl/mem_fence/fence.cl
    M libclc/opencl/lib/ptx-nvidiacl/synchronization/barrier.cl
    M libclc/opencl/lib/ptx-nvidiacl/workitem/get_global_id.cl
    M libclc/opencl/lib/ptx-nvidiacl/workitem/get_group_id.cl
    M libclc/opencl/lib/ptx-nvidiacl/workitem/get_local_id.cl
    M libclc/opencl/lib/ptx-nvidiacl/workitem/get_local_linear_id.cl
    M libclc/opencl/lib/ptx-nvidiacl/workitem/get_local_size.cl
    M libclc/opencl/lib/ptx-nvidiacl/workitem/get_max_sub_group_size.cl
    M libclc/opencl/lib/ptx-nvidiacl/workitem/get_num_groups.cl
    M libclc/opencl/lib/ptx-nvidiacl/workitem/get_num_sub_groups.cl
    M libclc/opencl/lib/ptx-nvidiacl/workitem/get_sub_group_id.cl
    M libclc/opencl/lib/ptx-nvidiacl/workitem/get_sub_group_local_id.cl
    M libclc/opencl/lib/ptx-nvidiacl/workitem/get_sub_group_size.cl
    M libclc/opencl/lib/r600/image/get_image_channel_data_type.cl
    M libclc/opencl/lib/r600/image/get_image_channel_order.cl
    M libclc/opencl/lib/r600/image/get_image_depth.cl
    M libclc/opencl/lib/r600/image/get_image_dim.cl
    M libclc/opencl/lib/r600/image/get_image_height.cl
    M libclc/opencl/lib/r600/image/get_image_width.cl
    M libclc/opencl/lib/r600/image/read_imagef.cl
    M libclc/opencl/lib/r600/image/read_imagei.cl
    M libclc/opencl/lib/r600/image/read_imageui.cl
    M libclc/opencl/lib/r600/image/write_imagef.cl
    M libclc/opencl/lib/r600/image/write_imagei.cl
    M libclc/opencl/lib/r600/image/write_imageui.cl
    M libclc/opencl/lib/r600/synchronization/barrier.cl
    M libclc/opencl/lib/r600/workitem/get_global_offset.cl
    M libclc/opencl/lib/r600/workitem/get_global_size.cl
    M libclc/opencl/lib/r600/workitem/get_group_id.cl
    M libclc/opencl/lib/r600/workitem/get_local_id.cl
    M libclc/opencl/lib/r600/workitem/get_local_size.cl
    M libclc/opencl/lib/r600/workitem/get_num_groups.cl
    M libclc/opencl/lib/r600/workitem/get_work_dim.cl
    M libclc/opencl/lib/spirv/math/fma.cl

  Log Message:
  -----------
  [NFC][libclc] Delete OpenCL builtin declarations (#170803)

This is follow-up of comment
https://github.com/llvm/llvm-project/pull/168318#discussion_r2588117855

libclc OpenCL library is already compiled with flag
`-fdeclare-opencl-builtins -finclude-default-header`.


  Commit: 898963b029619ee399393e49b547f3e80386d746
      https://github.com/llvm/llvm-project/commit/898963b029619ee399393e49b547f3e80386d746
  Author: Zhaoxuan Jiang <jiangzhaoxuan94 at gmail.com>
  Date:   2025-12-08 (Mon, 08 Dec 2025)

  Changed paths:
    M llvm/lib/Target/AArch64/AArch64LowerHomogeneousPrologEpilog.cpp
    A llvm/test/CodeGen/AArch64/arm64-homogeneous-prolog-epilog-tail-call.mir

  Log Message:
  -----------
  [AArch64] Fix missing register definitions in homogeneous epilog lowering (#171118)

The lowering for HOM_Epilog did not transfer explicit register defs from
the pseudo-instruction to the generated helper calls. MachineVerifier
would complain if a following tail call uses one of the restored CSRs.
This scenario occurs in code generated by the Swift compiler, where X20
is used to pass swiftself.

This patch fixes the issue by adding the missing defs back to the helper
call as implicit defs.


  Commit: f2ddc7b0be83b1c9b247f0c3d5dcce189568e5e9
      https://github.com/llvm/llvm-project/commit/f2ddc7b0be83b1c9b247f0c3d5dcce189568e5e9
  Author: Mircea Trofin <mtrofin at google.com>
  Date:   2025-12-08 (Mon, 08 Dec 2025)

  Changed paths:
    M llvm/test/Transforms/LowerTypeTests/import.ll

  Log Message:
  -----------
  [NFC] Run UTC --check-globals on LowerTypeTests/import.ll (#170755)


  Commit: 893479adcc03e8ce0ed5e0b550cae7d32724cd9a
      https://github.com/llvm/llvm-project/commit/893479adcc03e8ce0ed5e0b550cae7d32724cd9a
  Author: Pengcheng Wang <wangpengcheng.pp at bytedance.com>
  Date:   2025-12-09 (Tue, 09 Dec 2025)

  Changed paths:
    M llvm/test/Transforms/LoopUnroll/RISCV/vector.ll

  Log Message:
  -----------
  [RISCV] Precommit test for unrolling loops with vector operands


  Commit: e5a1821f5b345d278a3fadee0a975dbd228f9a65
      https://github.com/llvm/llvm-project/commit/e5a1821f5b345d278a3fadee0a975dbd228f9a65
  Author: Wenju He <wenju.he at intel.com>
  Date:   2025-12-09 (Tue, 09 Dec 2025)

  Changed paths:
    M clang/include/clang/Basic/OpenCLExtensions.def
    M clang/test/SemaOpenCL/extension-version.cl

  Log Message:
  -----------
  [OpenCL] Add missing Intel extensions to OpenCLExtensions.def (#169875)

Add following extensions:
cl_intel_bfloat16_conversion
cl_intel_subgroup_buffer_prefetch
cl_intel_subgroup_local_block_io
cl_intel_subgroups_char
cl_intel_subgroups_long

This allows targets to expose these extensions via
getSupportedOpenCLOpts and ensures macros are defined when enabled.


  Commit: a0b6638c85065b6a098a9a4b1bc468652e8cddc5
      https://github.com/llvm/llvm-project/commit/a0b6638c85065b6a098a9a4b1bc468652e8cddc5
  Author: Pengcheng Wang <wangpengcheng.pp at bytedance.com>
  Date:   2025-12-09 (Tue, 09 Dec 2025)

  Changed paths:
    M llvm/lib/Target/RISCV/RISCVTargetTransformInfo.cpp
    M llvm/test/Transforms/LoopUnroll/RISCV/vector.ll

  Log Message:
  -----------
  [RISCV] Don't unroll vectorized loops with vector operands (#171089)

We have disabled unrolling for vectorized loops in #151525 but this
PR only checked the instruction type.

For some loops, there is no instruction with vector type but they
are still vector operations (just like the memset zero test in the
precommit test).

Here we check the operands as well to cover these cases.


  Commit: ba3208e19f7dcaf8c8a95f47f03c46a5b3acf57d
      https://github.com/llvm/llvm-project/commit/ba3208e19f7dcaf8c8a95f47f03c46a5b3acf57d
  Author: Owen Anderson <resistor at mac.com>
  Date:   2025-12-08 (Mon, 08 Dec 2025)

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

  Log Message:
  -----------
  [LLVM/CodeGen] Use the correct address space when building structor tables. (#171247)

No in-tree target exercises this, but it's needed for CHERI, and I
believe its correctness is verifiable by inspection.

Co-authored-by: Alex Richardson <alexrichardson at google.com>


  Commit: ce76c393ce749f854e51e1d32a1bb2e5e092e106
      https://github.com/llvm/llvm-project/commit/ce76c393ce749f854e51e1d32a1bb2e5e092e106
  Author: Mircea Trofin <mtrofin at google.com>
  Date:   2025-12-08 (Mon, 08 Dec 2025)

  Changed paths:
    M llvm/test/CodeGen/AArch64/arm64-homogeneous-prolog-epilog-tail-call.mir

  Log Message:
  -----------
  Fix test outputting to test dir (#171255)

The test introduced in #171118 has `llc` inadvertently producing an
output into the same dir as the test file itself. Most build bots don't
clean up the local git repo, which is assumed to not be written by build
+ test, and patch on top (for build performance reasons), which means
the produced output from the aforementioned PR is treated as a test from
here onwards, by all bots. Since it's missing `RUN` lines, we get
errors, for example
 https://lab.llvm.org/buildbot/#/builders/108/builds/20674

This patch fixes the `llc` line and also removes the `.s`. This avoids
all bot maintainers go restart their bots. Then, the cleanup is removed
in #171256.


  Commit: 93c7ad188042bfade0af38754ab87426a17e059c
      https://github.com/llvm/llvm-project/commit/93c7ad188042bfade0af38754ab87426a17e059c
  Author: Mircea Trofin <mtrofin at google.com>
  Date:   2025-12-08 (Mon, 08 Dec 2025)

  Changed paths:
    M llvm/lib/Transforms/IPO/LowerTypeTests.cpp
    M llvm/test/Transforms/LowerTypeTests/import.ll
    M llvm/utils/profcheck-xfail.txt

  Log Message:
  -----------
  [LTT] Bias branch weights as "expected" when lowering type tests with conditional (#170752)

We expect the type test to succeed.


  Commit: 0df8306479aba5a51971e9d358508ad8b65393ca
      https://github.com/llvm/llvm-project/commit/0df8306479aba5a51971e9d358508ad8b65393ca
  Author: Rajat Bajpai <rbajpai at nvidia.com>
  Date:   2025-12-09 (Tue, 09 Dec 2025)

  Changed paths:
    M clang/include/clang/Basic/BuiltinsNVPTX.td
    M clang/include/clang/Basic/Cuda.h
    M clang/include/clang/Basic/OffloadArch.h
    M clang/lib/Basic/Cuda.cpp
    M clang/lib/Basic/OffloadArch.cpp
    M clang/lib/Basic/Targets/NVPTX.cpp
    M clang/lib/CodeGen/CGOpenMPRuntimeGPU.cpp
    M clang/test/Misc/target-invalid-cpu-note/nvptx.c

  Log Message:
  -----------
  [Clang][CUDA] Add support for SM_88, SM_110, and SM_110a architectures (#170258)

This patch adds support for new GPU architectures introduced in CUDA
13.0 in Clang:
- SM_88: Ampere architecture variant
- SM_110/SM_110a: Blackwell architecture variants

Additionally, this patch deprecates SM_101/SM_101a support for CUDA 13.0
and later versions. The SM_101 architecture is superseded by SM_110 and
is no longer supported by CUDA 13.0+ toolchain components.


  Commit: 773a6a9cc8b659c3790d430699e8a8b93ec27317
      https://github.com/llvm/llvm-project/commit/773a6a9cc8b659c3790d430699e8a8b93ec27317
  Author: Timm Bäder <tbaeder at redhat.com>
  Date:   2025-12-09 (Tue, 09 Dec 2025)

  Changed paths:
    M clang/lib/AST/ByteCode/Descriptor.cpp
    M clang/lib/AST/ByteCode/Descriptor.h
    M clang/lib/AST/ByteCode/Disasm.cpp
    M clang/lib/AST/ByteCode/EvaluationResult.cpp
    M clang/lib/AST/ByteCode/Interp.cpp
    M clang/lib/AST/ByteCode/Interp.h
    M clang/lib/AST/ByteCode/InterpBuiltin.cpp
    M clang/lib/AST/ByteCode/InterpBuiltinBitCast.cpp
    M clang/lib/AST/ByteCode/InterpBuiltinBitCast.h
    M clang/lib/AST/ByteCode/Pointer.cpp
    M clang/lib/AST/ByteCode/Pointer.h
    M clang/test/AST/ByteCode/const-eval.c

  Log Message:
  -----------
  Revert "[clang][bytecode] Allocate InitMaps via Program/InterpState allocators (#170272)"

This reverts commit 8fe38c4c9c71c7a86ecdba476ee5bae4c02c0dfe.

This breaks the clang-armv7-2stage build bot:
https://lab.llvm.org/buildbot/#/builders/79/builds/2531


  Commit: 9baf76a9f8603e8f5c40aec6a1b755c46d279e00
      https://github.com/llvm/llvm-project/commit/9baf76a9f8603e8f5c40aec6a1b755c46d279e00
  Author: Alexander Richardson <alexrichardson at google.com>
  Date:   2025-12-08 (Mon, 08 Dec 2025)

  Changed paths:
    M llvm/lib/MC/MCAsmStreamer.cpp
    M llvm/test/CodeGen/Mips/llvm-ir/fptosi.ll
    M llvm/test/CodeGen/Mips/llvm-ir/load.ll
    M llvm/test/CodeGen/Mips/llvm-ir/store.ll
    M llvm/test/CodeGen/Mips/micromips-pseudo-mtlohi-expand.ll
    M llvm/test/CodeGen/Mips/setcc-se.ll
    M llvm/test/MC/AMDGPU/buffer-op-swz-operand.s
    M llvm/test/MC/Disassembler/ARM/sub-sp-imm-thumb2.txt
    M llvm/test/MC/Lanai/conditional_inst.s
    M llvm/test/MC/Lanai/memory.s
    M llvm/test/tools/UpdateTestChecks/update_llc_test_checks/Inputs/asm-show-inst.ll.expected

  Log Message:
  -----------
  [MCAsmStreamer] Print register names in --show-inst mode

Passing the context to `Inst.dump_pretty()` allows printing symbolic
register names instead of `<MCOperand Reg:1234>` in the output.
I plan to use this in a future RVY test cases where we have register
class with the same name in assembly syntax, but different underlying
register enum values. Printing the name of the enum value makes it
easier to test that we selected the correct register.

Reviewed By: lenary

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


  Commit: 5079260ec73506e57f8cd8baf903595efca34c73
      https://github.com/llvm/llvm-project/commit/5079260ec73506e57f8cd8baf903595efca34c73
  Author: Alexander Richardson <alexrichardson at google.com>
  Date:   2025-12-08 (Mon, 08 Dec 2025)

  Changed paths:
    A llvm/test/TableGen/Common/RegClassByHwModeCommon.td
    M llvm/test/TableGen/RegClassByHwMode.td
    A llvm/test/TableGen/RegClassByHwModeErrors.td
    M llvm/utils/TableGen/Common/CodeGenInstAlias.cpp
    M llvm/utils/TableGen/Common/CodeGenRegisters.cpp
    M llvm/utils/TableGen/Common/CodeGenRegisters.h
    M llvm/utils/TableGen/Common/CodeGenTarget.cpp
    M llvm/utils/TableGen/Common/CodeGenTarget.h
    M llvm/utils/TableGen/CompressInstEmitter.cpp

  Log Message:
  -----------
  [TableGen] Slightly improve error location for a fatal error

I was hitting this error and the error location was pointing to the
register class definition instead of the incorrect InstAlias. Pass in
the InstAlias location to make it easier to debug.

Happens with `def : InstAlias<"foo", (Inst X0)>`, where `Inst` takes
a RegClassByHwMode operand that is not necessarily satisfied by
register X0. Similar problem with the CompressPat backend.

Reviewed By: arsenm

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


  Commit: 86c5539aa89ac61058e3ba4fc0ae578c2879bf9e
      https://github.com/llvm/llvm-project/commit/86c5539aa89ac61058e3ba4fc0ae578c2879bf9e
  Author: Luke Lau <luke at igalia.com>
  Date:   2025-12-09 (Tue, 09 Dec 2025)

  Changed paths:
    M llvm/docs/LangRef.rst
    M llvm/include/llvm/IR/Intrinsics.td
    M llvm/include/llvm/IR/VPIntrinsics.def
    M llvm/lib/CodeGen/SelectionDAG/LegalizeIntegerTypes.cpp
    M llvm/lib/CodeGen/SelectionDAG/LegalizeTypes.h
    M llvm/lib/CodeGen/SelectionDAG/LegalizeVectorTypes.cpp
    M llvm/lib/IR/IntrinsicInst.cpp
    M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
    M llvm/lib/Target/RISCV/RISCVISelLowering.h
    M llvm/lib/Target/RISCV/RISCVTargetTransformInfo.cpp
    M llvm/test/Analysis/CostModel/RISCV/vp-intrinsics.ll
    R llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vp-splat.ll
    M llvm/test/CodeGen/RISCV/rvv/sink-splat-operands.ll
    R llvm/test/CodeGen/RISCV/rvv/vp-splat-mask.ll
    R llvm/test/CodeGen/RISCV/rvv/vp-splat.ll
    M llvm/unittests/IR/VPIntrinsicTest.cpp

  Log Message:
  -----------
  [IR][RISCV] Remove @llvm.experimental.vp.splat (#171084)

@llvm.experimental.vp.splat was originally added in #98731 in order to
prevent VL toggles when optimizing a zero strided load to a scalar load
+ splat on RISC-V: #101329

However, the need to explicitly set the VL operand has been superseded
by RISCVVLOptimizer which can infer this automatically based on the
splat's users, and the use of the vp.splat intrinsic was removed in
#170543.

Now that there are no users of @llvm.experimental.vp.splat internal to
LLVM and it's unlikely we will need it in future due to
RISCVVLOptimizer, this patch removes the intrinsic. I couldn't find any
publicly available out-of-tree users of the intrinsic with a quick
search on GitHub.


  Commit: ad29ee51f4269bb9838ab7428ccc59dbfbd232e4
      https://github.com/llvm/llvm-project/commit/ad29ee51f4269bb9838ab7428ccc59dbfbd232e4
  Author: Timm Baeder <tbaeder at redhat.com>
  Date:   2025-12-09 (Tue, 09 Dec 2025)

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

  Log Message:
  -----------
  [clang][bytecode] Always initialize scope before conditional operator (#171133)

Otherwise, the scope might be (lazily) initialized in one of the arms of
the conditional operator, which means the will NOT be intialized in the
other arm.

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


  Commit: d46d99cb4126b2f956a3b43e7d8ea95fdda6886b
      https://github.com/llvm/llvm-project/commit/d46d99cb4126b2f956a3b43e7d8ea95fdda6886b
  Author: Nikita Popov <npopov at redhat.com>
  Date:   2025-12-09 (Tue, 09 Dec 2025)

  Changed paths:
    M llvm/lib/Transforms/Scalar/InferAlignment.cpp
    M llvm/test/Transforms/InferAlignment/ptrtoint.ll

  Log Message:
  -----------
  [InferAlign] Eliminate `and ptr, -align` pattern (#171147)

To complement the `and ptr, align-1 -> 0` pattern, also fold
`and ptr, -align` to `ptr`.

Proof: https://alive2.llvm.org/ce/z/TbeG6d


  Commit: 2fa492726e774c050d6f21d57990c8bfbd7f1400
      https://github.com/llvm/llvm-project/commit/2fa492726e774c050d6f21d57990c8bfbd7f1400
  Author: Dominicentek <69892109+Dominicentek at users.noreply.github.com>
  Date:   2025-12-09 (Tue, 09 Dec 2025)

  Changed paths:
    M clang-tools-extra/clangd/ClangdLSPServer.cpp
    M clang-tools-extra/clangd/ClangdServer.h
    M clang-tools-extra/clangd/GlobalCompilationDatabase.cpp
    M clang-tools-extra/clangd/GlobalCompilationDatabase.h
    M clang-tools-extra/clangd/tool/Check.cpp
    M clang-tools-extra/clangd/tool/ClangdMain.cpp
    M clang-tools-extra/clangd/unittests/GlobalCompilationDatabaseTests.cpp

  Log Message:
  -----------
  [clangd] Add a (currently hidden) --strong-workspace-mode flag (#155905)

Its current effect is to use the `rootUri` provided by the client as the
working directory for fallback commands.

Future effects will include other behaviors appropriate for cases
where clangd is being run in the context of editing a single
workspace, such as using the `compile_commands.json` file in the
workspace root for all opened files.

The flag is hidden until other behaviors are implemented and they
constitute a cohesive "mode" for users.

---------

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


  Commit: d040667dbe616ecd1d3359e7460073873e195b2e
      https://github.com/llvm/llvm-project/commit/d040667dbe616ecd1d3359e7460073873e195b2e
  Author: Richard Thomson <legalize at xmission.com>
  Date:   2025-12-09 (Tue, 09 Dec 2025)

  Changed paths:
    A llvm/CMakePresets.json

  Log Message:
  -----------
  Add CMake configure preset building blocks (#170019)

All of these presets are hidden and won't be shown with --list-presets.
They are intended to be used as building blocks to be combined through
inheritance to create customized user presets.

All of these presets begin with "llvm-" to avoid clashing with user
defined presets.


  Commit: d5b3ba6596b7946b691a6e2db862d6e70f39cb75
      https://github.com/llvm/llvm-project/commit/d5b3ba6596b7946b691a6e2db862d6e70f39cb75
  Author: Nikita Popov <npopov at redhat.com>
  Date:   2025-12-09 (Tue, 09 Dec 2025)

  Changed paths:
    M llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp
    M llvm/test/CodeGen/AArch64/arm64-rounding.ll
    M llvm/test/CodeGen/AArch64/floatdp_1source.ll
    M llvm/test/CodeGen/ARM/arm32-rounding.ll
    M llvm/test/CodeGen/Mips/mips64-f128.ll
    M llvm/test/CodeGen/RISCV/double-zfa.ll
    M llvm/test/CodeGen/RISCV/float-zfa.ll
    M llvm/test/CodeGen/X86/rounding-ops.ll

  Log Message:
  -----------
  [SDAG] Don't handle non-canonical libcalls in SDAG lowering (#171114)

SDAG currently tries to lower certain libcalls to ISD opcodes. However,
many of these are already canonicalized from libcalls to intrinsic in
the middle-end (and often already emitted as intrinsics in the
front-end).

I believe that SDAG should not be doing anything for such libcalls. This
PR just drops a single libcall to get consensus on the direction, as
these changes need a non-trivial amount of test updates.

A lot of the remaining libcalls *should* probably also be canonicalized
to intrinsics in the middle-end when annotated with `memory(none)`, but
that would require additional work in SimplifyLibCalls.


  Commit: f1f3160fa710248c1d93a32c03a58dae475dc2f4
      https://github.com/llvm/llvm-project/commit/f1f3160fa710248c1d93a32c03a58dae475dc2f4
  Author: hstk30-hw <hanwei62 at huawei.com>
  Date:   2025-12-09 (Tue, 09 Dec 2025)

  Changed paths:
    A llvm/test/CodeGen/AArch64/apply-terminal-rule.mir

  Log Message:
  -----------
  [RegAlloc][AArch64] Add test case for terminal rule. NFC (#170035)

Add testcase for terminal
rule(https://github.com/llvm/llvm-project/pull/169219)


  Commit: 9dc3255cb9711279dfd8262ed3c027c4db9b4288
      https://github.com/llvm/llvm-project/commit/9dc3255cb9711279dfd8262ed3c027c4db9b4288
  Author: Nikita Popov <npopov at redhat.com>
  Date:   2025-12-09 (Tue, 09 Dec 2025)

  Changed paths:
    M clang/include/clang/Basic/TargetInfo.h
    M clang/lib/Basic/TargetInfo.cpp
    M clang/lib/Basic/Targets/AArch64.cpp
    M clang/lib/Basic/Targets/AArch64.h
    M clang/lib/Basic/Targets/AMDGPU.cpp
    M clang/lib/Basic/Targets/ARC.h
    M clang/lib/Basic/Targets/ARM.cpp
    M clang/lib/Basic/Targets/AVR.h
    M clang/lib/Basic/Targets/BPF.h
    M clang/lib/Basic/Targets/CSKY.h
    M clang/lib/Basic/Targets/DirectX.h
    M clang/lib/Basic/Targets/Hexagon.h
    M clang/lib/Basic/Targets/Lanai.h
    M clang/lib/Basic/Targets/LoongArch.h
    M clang/lib/Basic/Targets/M68k.cpp
    M clang/lib/Basic/Targets/MSP430.h
    M clang/lib/Basic/Targets/Mips.h
    M clang/lib/Basic/Targets/NVPTX.cpp
    M clang/lib/Basic/Targets/OSTargets.h
    M clang/lib/Basic/Targets/PPC.h
    M clang/lib/Basic/Targets/RISCV.h
    M clang/lib/Basic/Targets/SPIR.h
    M clang/lib/Basic/Targets/Sparc.h
    M clang/lib/Basic/Targets/SystemZ.h
    M clang/lib/Basic/Targets/VE.h
    M clang/lib/Basic/Targets/WebAssembly.h
    M clang/lib/Basic/Targets/X86.h
    M clang/lib/Basic/Targets/XCore.h
    M clang/lib/Basic/Targets/Xtensa.h
    M llvm/lib/Target/XCore/XCoreTargetMachine.cpp
    M llvm/lib/TargetParser/TargetDataLayout.cpp

  Log Message:
  -----------
  [Clang] Use DataLayout from TargetParser (#171135)

This switches clang to use the data layouts from TargetParser, instead
of maintaining its own copy of data layouts, which are required to match
the backend data layouts.

For now I've kept explicit calls to resetDataLayout(), just with the
argument implied by the triple and ABI. Ideally this would happen
automatically, but the way these classes are initialized currently
doesn't offer a great place to do this.

Previously resetDataLayout() also set the UserLabelPrefix. I've
separated this out, with a reasonable default so that most targets don't
need to worry about it.

I've kept the explicit data layouts for TCE and SPIR (without the V).
These seem to not correspond to real LLVM targets.

I've also fixed the XCore data layout in TargetParser, which was
incorrectly set to the same one as Xtensa. It was previously unused.


  Commit: 0fbb45e7d6dcccf88248d6be5e4f167ddb3e3fa8
      https://github.com/llvm/llvm-project/commit/0fbb45e7d6dcccf88248d6be5e4f167ddb3e3fa8
  Author: Luke Lau <luke at igalia.com>
  Date:   2025-12-09 (Tue, 09 Dec 2025)

  Changed paths:
    M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
    M llvm/test/Transforms/LoopVectorize/AArch64/predicated-costs.ll

  Log Message:
  -----------
  [LV] Return getPredBlockCostDivisor in uint64_t

When the probability of a block is extremely low, HeaderFreq / BBFreq
may be larger than 32 bits. Previously this got truncated to uint32_t
which could cause division by zero exceptions on x86. Widen the return
type to uint64_t which should fit the entire range of BlockFrequency
values.

It's also worth noting that a frequency can never be zero according to
BlockFrequency.h, so we shouldn't need to worry about divide by zero in
getPredBlockCostDivisor itself.


  Commit: 0bb0e26aaf25f0f34bd2c5f2bc90540639fda4b7
      https://github.com/llvm/llvm-project/commit/0bb0e26aaf25f0f34bd2c5f2bc90540639fda4b7
  Author: Michael Buch <michaelbuch12 at gmail.com>
  Date:   2025-12-09 (Tue, 09 Dec 2025)

  Changed paths:
    M lldb/source/Plugins/TypeSystem/Clang/TypeSystemClang.cpp
    A lldb/test/API/lang/cpp/inline-namespace-in-typename/Makefile
    A lldb/test/API/lang/cpp/inline-namespace-in-typename/TestInlineNamespaceInTypename.py
    A lldb/test/API/lang/cpp/inline-namespace-in-typename/main.cpp

  Log Message:
  -----------
  [lldb][TypeSystemClang] Set SuppressInlineNamespace to 'All' (#171138)

We used to set it to `true` up until recently, see
[here](https://github.com/llvm/llvm-project/pull/170802). That's
incorrect because `SuppressInlineNamespace` is actually an enum. What
probably happened is that `SuppressInlineNamespace` used to be a boolean
but got turned into an enum. But the assignment in LLDB wasn't updated.
But because the bitfield is an `unsigned`, the compiler never
complained.

This meant that ever since `SuppressInlineNamespace` became an enum,
we've been setting it to `SuppressInlineNamespaceMode::Redundant`. Which
means we would only omit the inline namespace when displaying typenames
if Clang deemed it unambiguous. This is probably a rare situtation but
the attached test-case is one such scenario. Here, `target var t1`
followed by `target var t2` would print the inline namespace for `t2`,
because in that context, the type is otherwise ambiguous. But because
LLDB's context is lazily constructed, evaluating `t2` first would omit
the inline namespace, because `t1` isn't in the context yet to make it
ambiguous.

This patch sets the `SuppressInlineNamespace` to
`SuppressInlineNamespaceMode::All`, which is most likely what was
intended in the first place, and also removes the above-mentioned
non-determinism from our typename printing.


  Commit: f53f6f725085996662055a669407f388c3ba2486
      https://github.com/llvm/llvm-project/commit/f53f6f725085996662055a669407f388c3ba2486
  Author: Michael Buch <michaelbuch12 at gmail.com>
  Date:   2025-12-09 (Tue, 09 Dec 2025)

  Changed paths:
    A lldb/test/API/lang/cpp/template-alias/Makefile
    A lldb/test/API/lang/cpp/template-alias/TestTemplateAlias.py
    A lldb/test/API/lang/cpp/template-alias/main.cpp

  Log Message:
  -----------
  [lldb][test] Add basic API tests for DW_TAG_template_alias (#170804)

Basic API tests to check how template aliases are rendered by LLDB
(using both `DW_TAG_template_alias` and `DW_TAG_typedef`, with and
without `-gsimple-template-names`).


  Commit: 33e0301b072860259cfd0a5032e69f92d7e2784c
      https://github.com/llvm/llvm-project/commit/33e0301b072860259cfd0a5032e69f92d7e2784c
  Author: Jinjie Huang <huangjinjie at bytedance.com>
  Date:   2025-12-09 (Tue, 09 Dec 2025)

  Changed paths:
    M bolt/include/bolt/Core/BinaryContext.h
    M bolt/include/bolt/Core/BinaryFunction.h
    M bolt/lib/Core/BinaryContext.cpp
    M bolt/lib/Core/BinaryFunction.cpp
    M bolt/lib/Rewrite/RewriteInstance.cpp
    M bolt/test/AArch64/constant-island-alignment.s
    A bolt/test/AArch64/validate-branch-target.s
    A bolt/test/X86/validate-branch-target.s

  Log Message:
  -----------
  [BOLT] Add validation for direct call/branch targets (#165406)

In some edge cases, a binary may contain direct `branch` or `call`
instructions whose target do not point to a valid executable
instruction. This can occur due to compiler bugs, hand-written assembly,
obfuscation technique, **or when control flow targets a data by
mistake.**

We also encountered the problems as described in this
[issue](https://github.com/llvm/llvm-project/issues/149382), where "data
in code" within OpenSSL's hand-written assembly was misidentified as
instructions(island identification seems fail due to the absence of a
corresponding data symbol). The problem occurred because a data sequence
was incorrectly disassembled as a "jb" instruction.

The point here is that the data should not be pointed to by any edge, so
this patch tries to address this by validating the destination address
for **direct branches and calls**. If the target instruction is
invalid(implies a corrupted control flow), this function will be set
ignored.

Although this approach appears helpful for addressing the 'data in code'
problem, its validation might be compromised if the data can be
disassembled as normal instruction.


  Commit: 13012fe20816c7ce7a4eec62b325a131b6570593
      https://github.com/llvm/llvm-project/commit/13012fe20816c7ce7a4eec62b325a131b6570593
  Author: yingopq <115543042+yingopq at users.noreply.github.com>
  Date:   2025-12-09 (Tue, 09 Dec 2025)

  Changed paths:
    M llvm/lib/Target/Mips/MipsISelLowering.cpp
    M llvm/lib/Target/Mips/MipsISelLowering.h
    M llvm/test/CodeGen/Mips/named-register-n32.ll
    M llvm/test/CodeGen/Mips/named-register-n64.ll
    M llvm/test/CodeGen/Mips/named-register-o32.ll

  Log Message:
  -----------
  [Mips] Support "$sp" named register (#136821)

Fix #47656.


  Commit: c590b35f0f0417d97129cdb71ee83f85be0c1dcc
      https://github.com/llvm/llvm-project/commit/c590b35f0f0417d97129cdb71ee83f85be0c1dcc
  Author: Vikram Hegde <Vikram.Hegde at amd.com>
  Date:   2025-12-09 (Tue, 09 Dec 2025)

  Changed paths:
    M llvm/lib/Target/AMDGPU/AMDGPUTargetMachine.cpp
    M llvm/test/CodeGen/AMDGPU/llc-pipeline-npm.ll

  Log Message:
  -----------
  [AMDGPU][NPM] Enable SIModeRegister and SIInsertHardclauses passes (#168831)

Passes already ported.


  Commit: 60bb4500f25b21854152eaaaa1461c569ed01065
      https://github.com/llvm/llvm-project/commit/60bb4500f25b21854152eaaaa1461c569ed01065
  Author: Simon Pilgrim <llvm-dev at redking.me.uk>
  Date:   2025-12-09 (Tue, 09 Dec 2025)

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

  Log Message:
  -----------
  [X86] LowerAsmOperandForConstraint - ensure we treat L constraint immediates as signed constants (#171098)

getTargetConstant no longer tolerates sign-extended values that can't be
represented by the appropriate APInt bitwidth, which defaults to
unsigned behaviour.

Fixes #166058


  Commit: 6061b909453991001a77bebe30982d754943e4e0
      https://github.com/llvm/llvm-project/commit/6061b909453991001a77bebe30982d754943e4e0
  Author: Mészáros Gergely <gergely.meszaros at intel.com>
  Date:   2025-12-09 (Tue, 09 Dec 2025)

  Changed paths:
    M compiler-rt/test/lit.common.cfg.py

  Log Message:
  -----------
  [compiler-rt] [test] refine target_page_size() in lit.common.cfg.py (NFC) (#170475)

Use mmap.PAGESIZE and fallback to os.sysconf if it is not available.
This allows to query the page size on Windows too, which has mmap but
not sysconf.

This is a pedantic change because Windows has a fixed page size of 4KiB.
I found this solution independently of #168857, and thought it might be
worth committing, since this is technically more correct.

[mmap.PAGESIZE implementation in
CPython](https://github.com/python/cpython/blob/88cd5d9850d2dc51abe43eb84198904d9870c26e/Modules/mmapmodule.c#L47)


  Commit: 1ef0a56b55e69cfe8f43b32688c9ce33f31b1969
      https://github.com/llvm/llvm-project/commit/1ef0a56b55e69cfe8f43b32688c9ce33f31b1969
  Author: Pengcheng Wang <wangpengcheng.pp at bytedance.com>
  Date:   2025-12-09 (Tue, 09 Dec 2025)

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

  Log Message:
  -----------
  [LV][NFC] Use foldTailWithEVL() (#171282)


  Commit: 9f7fff19a1da1041f841c6ced80726ec3777b855
      https://github.com/llvm/llvm-project/commit/9f7fff19a1da1041f841c6ced80726ec3777b855
  Author: YunQiang Su <yunqiang at isrc.iscas.ac.cn>
  Date:   2025-12-09 (Tue, 09 Dec 2025)

  Changed paths:
    M llvm/lib/Target/Mips/MipsISelLowering.cpp
    M llvm/lib/Target/Mips/MipsISelLowering.h
    M llvm/test/CodeGen/Mips/named-register-n32.ll
    M llvm/test/CodeGen/Mips/named-register-n64.ll
    M llvm/test/CodeGen/Mips/named-register-o32.ll

  Log Message:
  -----------
  Revert "[Mips] Support "$sp" named register (#136821)"

This reverts commit 13012fe20816c7ce7a4eec62b325a131b6570593.


  Commit: ca927e564dfb3230480e5874ce4484dd73b32d2c
      https://github.com/llvm/llvm-project/commit/ca927e564dfb3230480e5874ce4484dd73b32d2c
  Author: David Green <david.green at arm.com>
  Date:   2025-12-09 (Tue, 09 Dec 2025)

  Changed paths:
    M llvm/lib/CodeGen/ShrinkWrap.cpp
    M llvm/lib/Target/AArch64/AArch64InstrInfo.cpp
    M llvm/lib/Target/AArch64/AArch64InstrInfo.h
    M llvm/lib/Target/AArch64/AArch64RedundantCondBranchPass.cpp
    M llvm/lib/Target/AArch64/AArch64RedundantCopyElimination.cpp
    M llvm/test/CodeGen/AArch64/arm64-shrink-wrapping.ll
    M llvm/test/CodeGen/AArch64/block-placement-optimize-branches.ll
    M llvm/test/CodeGen/AArch64/lr-reserved-for-ra-live-in.ll
    M llvm/test/CodeGen/AArch64/pr164181.ll
    M llvm/test/CodeGen/AArch64/pr166870.ll
    M llvm/test/tools/UpdateTestChecks/update_llc_test_checks/Inputs/aarch64_generated_funcs.ll.generated.expected
    M llvm/test/tools/UpdateTestChecks/update_llc_test_checks/Inputs/aarch64_generated_funcs.ll.nogenerated.expected

  Log Message:
  -----------
  [AArch64] Run optimizeTerminators earlier too. (#170907)

Running optimizeTerminators prior to other optimizations like branch
layout can lead to more folding and better codegen, but is not on its
own able to capture all cases. There is benefit to running it in both
places. This adds the existing code from #161508 into the
AArch64RedundantCopyElimination pass, which sounds like a sensible
enough place for it.


  Commit: 085dc63e3a4490a67f5e1916d686fdba4504ea44
      https://github.com/llvm/llvm-project/commit/085dc63e3a4490a67f5e1916d686fdba4504ea44
  Author: Benjamin Maxwell <macdue at dueutil.tech>
  Date:   2025-12-09 (Tue, 09 Dec 2025)

  Changed paths:
    M llvm/lib/CodeGen/PrologEpilogInserter.cpp
    M llvm/lib/CodeGen/RegisterClassInfo.cpp
    M llvm/lib/MC/MCWin64EH.cpp

  Log Message:
  -----------
  [llvm] Make use of `llvm::reverse_conditionally()` in a few places (NFCI) (#171150)


  Commit: ccd76c550371ca47032732cef8dbef0df4aed013
      https://github.com/llvm/llvm-project/commit/ccd76c550371ca47032732cef8dbef0df4aed013
  Author: Victor Chernyakin <chernyakin.victor.j at outlook.com>
  Date:   2025-12-09 (Tue, 09 Dec 2025)

  Changed paths:
    M clang-tools-extra/test/clang-tidy/checkers/readability/redundant-control-flow.cpp

  Log Message:
  -----------
  [clang-tidy][NFC] Remove regex hacks to match full lines in `readability-redundant-control-flow`'s tests (#171298)

I think I just missed this file when doing #162293. Also, I took the
opportunity to make the `CHECK-FIXES` lines a bit more nicely indented.


  Commit: 4ef5cef58134d14ee0273f6ad24403b6c794b133
      https://github.com/llvm/llvm-project/commit/4ef5cef58134d14ee0273f6ad24403b6c794b133
  Author: Romaric Jodin <rjodin at google.com>
  Date:   2025-12-09 (Tue, 09 Dec 2025)

  Changed paths:
    M libclc/opencl/lib/clspv/shared/vstore_half.cl

  Log Message:
  -----------
  [libclc] fix clspv/shared/vstore_half.cl (#171105)

Update as_type functions


  Commit: 88273a063c5a395f96e76d023aabb46b60ea223f
      https://github.com/llvm/llvm-project/commit/88273a063c5a395f96e76d023aabb46b60ea223f
  Author: David Green <david.green at arm.com>
  Date:   2025-12-09 (Tue, 09 Dec 2025)

  Changed paths:
    M clang/lib/Driver/ToolChains/Arch/AArch64.cpp
    M clang/test/CodeGen/AArch64/fix-cortex-a53-835769.c
    M clang/test/Driver/aarch64-fix-cortex-a53-835769.c

  Log Message:
  -----------
  [AArch64] Disable cortex-a53-835769 when compiling for armv8.1-a or later (#170649)

Any code compiled with armv8.1-a or later cannot run on a cortex-a53, so
does not need to enable the 835769 errata fix. This patch disables the
+fix-cortex-a53-835769 feature when the architecture is later than
armv8.0-a. The command line flag -mfix_cortex_a53_835769 will still
enable it.


  Commit: 3a81e0308845151df9c9e9462a032997d245d467
      https://github.com/llvm/llvm-project/commit/3a81e0308845151df9c9e9462a032997d245d467
  Author: Artur Bermond Torres <git-arturbtorres at proton.me>
  Date:   2025-12-09 (Tue, 09 Dec 2025)

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

  Log Message:
  -----------
  [DAG] SDPatternMatch - Fix m_Reassociatable mismatching (#170061)

Fixes #169645

The issue was caused by a for-loop improperly overwriting SDValue binds
when m_Reassociatable is given two or more patterns that (1) call
m_Value with an SDValue parameter and (2) differ by that parameter. This
fix comes with added unit tests relevant to SDValue bindings inside
m_Reassociatable patterns.

Essentially, the original implementation first tried to match every
combination of leaf node and pattern possible and stored that in a
matrix-like structure, and then did a recursive search on that matrix to
check if it's possible to pair every leaf with a pattern. The problem is
that m_Value has a side effect where it changes an SDValue, and the
creation of this matrix was corrupting these values. Below is an example
of this, following the order of execution in the original implementation
and using the case brought by issue #169645, where this behavior was
found. The example tries to match ((a >> 1) + (b >> 1) + (a & b & 1)),
using uppercase letters for the SDValue variables themselves and
lowercase for their values. The result is that the pattern matches the
same value for A and B, which was the behavior observed in the issue:

| Line | Leaf | Pattern | Match? | Effect |
|--------|--------|--------|--------|--------|
| 1 | a >> 1 | m_Srl(m_Value(A), m_One()) | Yes | A <- a |
| 2 | a >> 1 | m_Srl(m_Value(B), m_One()) | Yes | B <- a |
| 3 | a >> 1 | m_ReassociableAnd(m_Deferred(A), m_Deferred(B), m_One())
| No | -- |
| 4 | b >> 1 | m_Srl(m_Value(A), m_One()) | Yes | A <- b |
| 5 | b >> 1 | m_Srl(m_Value(B), m_One()) | Yes | B <- b |
| 6 | b >> 1 | m_ReassociableAnd(m_Deferred(A), m_Deferred(B), m_One())
| No | -- |
| 7 | a & b & 1 | m_Srl(m_Value(A), m_One()) | No | -- |
| 8 | a & b & 1 | m_Srl(m_Value(B), m_One()) | No | -- |
| 9 | a & b & 1 | m_ReassociableAnd(m_Deferred(A), m_Deferred(B),
m_One()) | a == b | -- |

To fix this, the function now matches the patterns during the recursive
search itself, instead of preparing the matrix beforehand. Although this
does fix the issue, it does mean that we're performing a best case of n
and worst case of n! matching attempts, instead of the fixed nˆ2 in the
original, where n is the number of patterns provided. Going back to the
table above, using this fix the lines 2, 3, 4, 6, 7, and 8 do not
happen, and so the only effects happening are A <- a and B <- b, which
then will result in line 9 matching correctly.


  Commit: 41a8d9b324e318c030e14e0337609bdc0f4e15ec
      https://github.com/llvm/llvm-project/commit/41a8d9b324e318c030e14e0337609bdc0f4e15ec
  Author: Paschalis Mpeis <paschalis.mpeis at arm.com>
  Date:   2025-12-09 (Tue, 09 Dec 2025)

  Changed paths:
    M bolt/test/AArch64/safe-icf.s

  Log Message:
  -----------
  [BOLT] Fix typo in adrp/add sequence (#171315)

RHEL-8 fails to link against a non-existing symbol. ld.lld: error:
relocation R_AARCH64_ADD_ABS_LO12_NC cannot be used against symbol 'goo'


  Commit: c15a3dd932b681df084436f164dcf5237002104a
      https://github.com/llvm/llvm-project/commit/c15a3dd932b681df084436f164dcf5237002104a
  Author: Nikita Popov <npopov at redhat.com>
  Date:   2025-12-09 (Tue, 09 Dec 2025)

  Changed paths:
    M llvm/test/CodeGen/SystemZ/vec-max-05.ll
    M llvm/test/CodeGen/SystemZ/vec-min-05.ll

  Log Message:
  -----------
  [SystemZ] Generate test checks (NFC)


  Commit: a94f01a6f868bf8ead1de190d1461dd5ced81a2f
      https://github.com/llvm/llvm-project/commit/a94f01a6f868bf8ead1de190d1461dd5ced81a2f
  Author: Amr Hesham <amr96 at programmer.net>
  Date:   2025-12-09 (Tue, 09 Dec 2025)

  Changed paths:
    M clang/lib/CIR/CodeGen/CIRGenExprComplex.cpp
    M clang/test/CIR/CodeGen/stmt-expr.cpp

  Log Message:
  -----------
  [CIR] Implement StmtExpr for ComplexType (#171196)

Implement StmtExpr for ComplexType


  Commit: 29611f4cbea0e867a3e55516f8dfdeca595be436
      https://github.com/llvm/llvm-project/commit/29611f4cbea0e867a3e55516f8dfdeca595be436
  Author: Guy David <guyda96 at gmail.com>
  Date:   2025-12-09 (Tue, 09 Dec 2025)

  Changed paths:
    M llvm/include/llvm/CodeGen/SelectionDAG.h
    M llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
    M llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp
    A llvm/test/CodeGen/AArch64/ignore-signed-zero.ll
    M llvm/test/CodeGen/AMDGPU/fcanonicalize-elimination.ll
    M llvm/test/CodeGen/AMDGPU/swdev380865.ll

  Log Message:
  -----------
  [DAGCombiner] Relax nsz constraint for FP optimizations (#165011)

Some floating-point optimization don't trigger because they can produce
incorrect results around signed zeros, and rely on the existence of the
nsz flag which commonly appears when fast-math is enabled.
However, this flag is not a hard requirement when all of the users of
the combined value are either guaranteed to overwrite the sign-bit or
simply ignore it (comparisons, etc.).

The optimizations affected:
- fadd x, +0.0 -> x
- fsub x, -0.0 -> x
- fsub +0.0, x -> fneg x
- fdiv(x, sqrt(x)) -> sqrt(x)
- frem lowering with power-of-2 divisors


  Commit: ca12d1d8f1809ab69b5536ef619ab971e746c2e6
      https://github.com/llvm/llvm-project/commit/ca12d1d8f1809ab69b5536ef619ab971e746c2e6
  Author: Dominik Steenken <dost at de.ibm.com>
  Date:   2025-12-09 (Tue, 09 Dec 2025)

  Changed paths:
    M llvm/lib/Target/SystemZ/SystemZISelLowering.cpp
    A llvm/test/CodeGen/SystemZ/condfolding.ll

  Log Message:
  -----------
  [SystemZ] Improve CCMask optimization (#171137)

This commit addresses a shortcoming in the implementation of
`combineBR_CCMASK` and `combineSELECT_CCMASK`. In cases where
`combineCCMask` was able to reduce the ccmask going into the select or
branch to either true (`ccvalid`) or false (`0`), a trivial instruction
would be emitted (i.e. either a select that would only ever select one
side, or a conditional branch with `true` or `false` as the branch
condition).
This led under certain circumstances to, e.g., `BRC` instructions being
emitted that triggered an assert in the AsmPrinter meant to exclude such
branch conditions.
For the select case, this commit introduces an early bailout that simply
returns the value that would "always" be selected. For the branch case,
the commit introduces an additional guard that prevents the DAGCombine
from taking effect, thereby preventing the illegal instruction from
being emitted.


  Commit: ff59ecd8856f5501ba90850baa4b0f0d4d309bad
      https://github.com/llvm/llvm-project/commit/ff59ecd8856f5501ba90850baa4b0f0d4d309bad
  Author: Islam Imad <143586474+Islam-Imad at users.noreply.github.com>
  Date:   2025-12-09 (Tue, 09 Dec 2025)

  Changed paths:
    R clang-tools-extra/clang-tidy/google/AvoidCStyleCastsCheck.cpp
    R clang-tools-extra/clang-tidy/google/AvoidCStyleCastsCheck.h
    M clang-tools-extra/clang-tidy/google/CMakeLists.txt
    M clang-tools-extra/clang-tidy/google/GoogleTidyModule.cpp
    A clang-tools-extra/clang-tidy/modernize/AvoidCStyleCastCheck.cpp
    A clang-tools-extra/clang-tidy/modernize/AvoidCStyleCastCheck.h
    M clang-tools-extra/clang-tidy/modernize/CMakeLists.txt
    M clang-tools-extra/clang-tidy/modernize/ModernizeTidyModule.cpp
    M clang-tools-extra/docs/ReleaseNotes.rst
    M clang-tools-extra/docs/clang-tidy/checks/google/readability-casting.rst
    M clang-tools-extra/docs/clang-tidy/checks/list.rst
    A clang-tools-extra/docs/clang-tidy/checks/modernize/avoid-c-style-cast.rst
    R clang-tools-extra/test/clang-tidy/checkers/google/readability-casting.c
    R clang-tools-extra/test/clang-tidy/checkers/google/readability-casting.cpp
    A clang-tools-extra/test/clang-tidy/checkers/modernize/avoid-c-style-cast.c
    A clang-tools-extra/test/clang-tidy/checkers/modernize/avoid-c-style-cast.cpp
    M clang-tools-extra/test/clang-tidy/infrastructure/nolintbeginend-LIFO.cpp
    M clang-tools-extra/test/clang-tidy/infrastructure/nolintbeginend-begin-multiple-end-single.cpp
    M clang-tools-extra/test/clang-tidy/infrastructure/nolintbeginend-begin-single-end-multiple.cpp
    M clang-tools-extra/test/clang-tidy/infrastructure/nolintbeginend-mismatched-check-names.cpp

  Log Message:
  -----------
  [clang-tidy] Rename `google-readability-casting` to `modernize-avoid-c-style-cast` (#171058)

Rename `google-readability-casting` to `modernize-avoid-c-style-cast`

The old name is kept as an alias for backward compatibility.

Fixes #170978


  Commit: 2c3ca1025aaa0dc3156f190544adcd860e54cf2c
      https://github.com/llvm/llvm-project/commit/2c3ca1025aaa0dc3156f190544adcd860e54cf2c
  Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
  Date:   2025-12-09 (Tue, 09 Dec 2025)

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

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


  Commit: 86755dd0bf559ec64fafc753142ca7e1d5c247f7
      https://github.com/llvm/llvm-project/commit/86755dd0bf559ec64fafc753142ca7e1d5c247f7
  Author: Nikita Popov <npopov at redhat.com>
  Date:   2025-12-09 (Tue, 09 Dec 2025)

  Changed paths:
    M llvm/lib/Analysis/LoopAccessAnalysis.cpp
    M llvm/lib/Analysis/MemoryBuiltins.cpp
    M llvm/lib/Frontend/Offloading/OffloadWrapper.cpp
    M llvm/lib/Target/AMDGPU/AMDGPUAsanInstrumentation.cpp
    M llvm/lib/Target/AMDGPU/AMDGPUAtomicOptimizer.cpp
    M llvm/lib/Target/Hexagon/HexagonVectorCombine.cpp
    M llvm/lib/Target/NVPTX/NVPTXCtorDtorLowering.cpp
    M llvm/lib/Transforms/IPO/OpenMPOpt.cpp
    M llvm/lib/Transforms/Instrumentation/AddressSanitizer.cpp
    M llvm/lib/Transforms/Instrumentation/SanitizerCoverage.cpp

  Log Message:
  -----------
  [llvm] Use ConstantInt::getAllOnesValue()

Prefer getAllOnesValue() over get(-1). This is good practice to
avoid issues with sign extension for large types.


  Commit: e60a3325a387be9bea9a8c558b7fa19e7475f9f1
      https://github.com/llvm/llvm-project/commit/e60a3325a387be9bea9a8c558b7fa19e7475f9f1
  Author: anoopkg6 <anoop.kumar6 at ibm.com>
  Date:   2025-12-09 (Tue, 09 Dec 2025)

  Changed paths:
    M compiler-rt/cmake/Modules/AllSupportedArchDefs.cmake
    A compiler-rt/test/orc/TestCases/Linux/systemz/ehframe-default.cpp
    A compiler-rt/test/orc/TestCases/Linux/systemz/ehframe-libunwind.cpp
    A compiler-rt/test/orc/TestCases/Linux/systemz/lit.local.cfg.py
    A compiler-rt/test/orc/TestCases/Linux/systemz/lljit-ehframe.cpp
    A compiler-rt/test/orc/TestCases/Linux/systemz/lljit-initialize-deinitialize.ll
    A compiler-rt/test/orc/TestCases/Linux/systemz/priority-static-initializer.S
    A compiler-rt/test/orc/TestCases/Linux/systemz/trivial-atexit.S
    A compiler-rt/test/orc/TestCases/Linux/systemz/trivial-cxa-atexit.S
    A compiler-rt/test/orc/TestCases/Linux/systemz/trivial-static-initializer.S
    M llvm/include/llvm/ExecutionEngine/JITLink/systemz.h
    M llvm/lib/ExecutionEngine/Orc/ELFNixPlatform.cpp

  Log Message:
  -----------
   [JITLink] Add orc-runtime support for SystemZ (#171062)

Add orc-runtime support and tests for SystemZ.

Co-authored-by: anoopkg6 <anoopkg6 at github.com>


  Commit: 6b59a95506cd9b56c9c74f1f5c05059245fa110e
      https://github.com/llvm/llvm-project/commit/6b59a95506cd9b56c9c74f1f5c05059245fa110e
  Author: mitchell <mitchell.xu2 at gmail.com>
  Date:   2025-12-09 (Tue, 09 Dec 2025)

  Changed paths:
    M clang-tools-extra/docs/clang-tidy/checks/google/readability-casting.rst
    M clang-tools-extra/docs/clang-tidy/checks/modernize/avoid-c-style-cast.rst

  Log Message:
  -----------
  [clang-tidy] Fix documentation in `modernize-avoid-c-style-cast` (#171413)

Related discussion:
https://github.com/llvm/llvm-project/pull/171058#discussion_r2602100364


  Commit: 9bfb3be8c82cf5cb5c564d628f3ea7e2b31c792f
      https://github.com/llvm/llvm-project/commit/9bfb3be8c82cf5cb5c564d628f3ea7e2b31c792f
  Author: Joshua Rodriguez <josh.rodriguez at arm.com>
  Date:   2025-12-09 (Tue, 09 Dec 2025)

  Changed paths:
    M llvm/lib/Target/AArch64/GISel/AArch64RegisterBankInfo.cpp
    M llvm/test/CodeGen/AArch64/arm64-int-neon.ll
    M llvm/test/CodeGen/AArch64/arm64-vshift.ll
    M llvm/test/CodeGen/AArch64/neon-addlv.ll

  Log Message:
  -----------
  [AArch64][GlobalISel] Added support for neon left shift intrinsics on single-element vector types (#170827)

Previously, the left shift family of intrinsics would fail to lower for
<1 x i64> / <1 x i32> vector types, as IRTranslation lowers these to
scalars. Marking these intrinsics as only using fp operands ensures the
RegBankSelect phase places the vector on an fpr bank, instead of a gpr
bank.


  Commit: 5446eb9275b77d4a768c594aef83257f334074fd
      https://github.com/llvm/llvm-project/commit/5446eb9275b77d4a768c594aef83257f334074fd
  Author: Stephen Tozer <stephen.tozer at sony.com>
  Date:   2025-12-09 (Tue, 09 Dec 2025)

  Changed paths:
    M cross-project-tests/debuginfo-tests/dexter/dex/debugger/DAP.py

  Log Message:
  -----------
  [Dexter] Adjust launch sequencing to align closer with DAP spec (#170523)

Following PR #169744 the DAP launch sequencing of Dexter was changed to
complete a launch request/response before performing configuration
steps. This matches LLDB's current behaviour, but is not compatible with
the DAP specification and causes issues interfacing with other
debuggers.

This patch tries to bridge the gap by using a sequencing that is mostly
DAP-compliant while still interfacing correctly with lldb-dap: we send a
launch request first, then perform all configuration steps and send
configurationDone, and then await the launch response. For lldb-dap, we
do not wait for the launch response and may send configuration requests
before it is received, but lldb-dap appears to handle this without
issue. For other debug adapters, the launch request will be ignored
until the configurationDone request is received and responded to, at
which point the launch request will be acted upon and responded to.

As an additional note, the initialized event should be sent after the
initialize response and before the launch request according to the spec,
but as LLDB currently sends it after the launch response Dexter has
avoided checking for it. Since the initialized event is now being sent
after the launch response by LLDB, we can start checking for it earlier
in the sequence as well (though technically the client should receive
the initialized event before it sends the launch request).


  Commit: 358c4d85f99c6bfb1e3273dcda1c0229718cca7c
      https://github.com/llvm/llvm-project/commit/358c4d85f99c6bfb1e3273dcda1c0229718cca7c
  Author: Adrian Kuegel <akuegel at google.com>
  Date:   2025-12-09 (Tue, 09 Dec 2025)

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

  Log Message:
  -----------
  [clang-tidy][Bazel] Add missing dependency after ff59ecd8856f550


  Commit: edf80dce39b3c9f731423c1a1da4f99cbf768e7c
      https://github.com/llvm/llvm-project/commit/edf80dce39b3c9f731423c1a1da4f99cbf768e7c
  Author: Usha Gupta <usha.gupta at arm.com>
  Date:   2025-12-09 (Tue, 09 Dec 2025)

  Changed paths:
    M llvm/lib/LTO/LTOBackend.cpp
    M llvm/lib/LTO/ThinLTOCodeGenerator.cpp
    M llvm/lib/LTO/UpdateCompilerUsed.cpp
    A llvm/test/LTO/AArch64/frem-scalable-veclib.ll
    A llvm/test/LTO/AArch64/veclib-armpl-lto.ll
    A llvm/test/LTO/AArch64/veclib-armpl-lto2.ll

  Log Message:
  -----------
  [LTO][Veclib] Fix vector library handling with LTO (#170638)

Commit #167996 moved VecLib into TargetOptions and ensured clang
properly sets it. However, some LTO backend code paths were still
creating _TargetLibraryInfoImpl_ without passing the VecLib parameter
from `TargetMachine::Options`.

This PR completes the fix by ensuring that:

_LTOBackend.cpp, ThinLTOCodeGenerator.cpp, UpdateCompilerUsed.cpp_ all
pass `TM->Options.VecLib` when constructing _TargetLibraryInfoImpl_.

Without this fix, vector library information (e.g., -fveclib=ArmPL)
would not be properly recognized during LTO optimization and code
generation, potentially causing incorrect optimizations or linker errors
when vector library functions are referenced.


  Commit: ca9f43fe158d929e78d0443d075f07947eb86fcd
      https://github.com/llvm/llvm-project/commit/ca9f43fe158d929e78d0443d075f07947eb86fcd
  Author: Fabrice de Gans <Steelskin at users.noreply.github.com>
  Date:   2025-12-09 (Tue, 09 Dec 2025)

  Changed paths:
    M llvm/include/llvm/Transforms/Utils/SSAUpdaterBulk.h
    M llvm/lib/Transforms/Utils/SSAUpdaterBulk.cpp
    M llvm/unittests/Transforms/Utils/SSAUpdaterBulkTest.cpp

  Log Message:
  -----------
  llvm: Export EliminateNewDuplicatePHINodes (#169564)

This is needed for tests, when building with `LLVM_BUILD_LLVM_DYLIB` so
LLVM can be built as a DLL on Windows.

This effort is tracked in #109483.


  Commit: d8e651f37c8bf4b10a99568f7a5ab6c9b254715f
      https://github.com/llvm/llvm-project/commit/d8e651f37c8bf4b10a99568f7a5ab6c9b254715f
  Author: Lukacma <Marian.Lukac at arm.com>
  Date:   2025-12-09 (Tue, 09 Dec 2025)

  Changed paths:
    M clang/include/clang/Basic/arm_sve.td
    A clang/test/CodeGen/AArch64/sme2p2-intrinsics/acle_sme2p2_fmul.c
    M llvm/lib/Target/AArch64/AArch64ISelDAGToDAG.cpp
    A llvm/test/CodeGen/AArch64/sme2p2-intrinsics-fmul.ll

  Log Message:
  -----------
  [AArch64] Add intrinsics support for multi-vector FMUL (#163397)

This patch adds intrinsics for multi-vector FMUL instructions introduced
in armv9.6, based on
[this](https://github.com/ARM-software/acle/pull/412) ACLE proposal.

Depends on #163536

Intrinsics implemented:

//BFMUL:
svbfloat16x2_t svmul[_bf16_x2](svbfloat16x2_t zd, svbfloat16x2_t zm) __arm_streaming;
svbfloat16x2_t svmul[_single_bf16_x2](svbfloat16x2_t zd, svbfloat16_t zm) __arm_streaming;
svbfloat16x4_t svmul[_bf16_x4](svbfloat16x4_t zd, svbfloat16x4_t zm) __arm_streaming;
svbfloat16x4_t svmul[_single_bf16_x4](svbfloat16x4_t zd, svbfloat16_t zm) __arm_streaming;


  Commit: 7675fc79c802cf7f6a95660f6ee59bf6cb62102f
      https://github.com/llvm/llvm-project/commit/7675fc79c802cf7f6a95660f6ee59bf6cb62102f
  Author: Michael Kruse <llvm-project at meinersbur.de>
  Date:   2025-12-09 (Tue, 09 Dec 2025)

  Changed paths:
    M clang/include/clang/Driver/ToolChain.h
    M clang/include/clang/Options/Options.td
    M clang/lib/Driver/Driver.cpp
    M clang/lib/Driver/ToolChain.cpp
    M clang/lib/Driver/ToolChains/AMDGPU.cpp
    M clang/lib/Driver/ToolChains/Flang.cpp
    M clang/lib/Driver/ToolChains/HIPAMD.cpp
    M clang/lib/Driver/ToolChains/HIPSPV.cpp
    A cmake/Modules/GetToolchainDirs.cmake
    M flang-rt/CMakeLists.txt
    M flang-rt/cmake/modules/AddFlangRT.cmake
    M flang-rt/cmake/modules/AddFlangRTOffload.cmake
    A flang-rt/cmake/modules/FlangRTIntrospection.cmake
    R flang-rt/cmake/modules/GetToolchainDirs.cmake
    M flang-rt/lib/CMakeLists.txt
    M flang-rt/lib/runtime/CMakeLists.txt
    A flang-rt/lib/runtime/__cuda_builtins.f90
    A flang-rt/lib/runtime/__cuda_device.f90
    A flang-rt/lib/runtime/__fortran_builtins.f90
    A flang-rt/lib/runtime/__fortran_ieee_exceptions.f90
    A flang-rt/lib/runtime/__fortran_type_info.f90
    A flang-rt/lib/runtime/__ppc_intrinsics.f90
    A flang-rt/lib/runtime/__ppc_types.f90
    A flang-rt/lib/runtime/cooperative_groups.f90
    A flang-rt/lib/runtime/cudadevice.f90
    A flang-rt/lib/runtime/flang_debug.f90
    A flang-rt/lib/runtime/ieee_arithmetic.f90
    A flang-rt/lib/runtime/ieee_exceptions.f90
    A flang-rt/lib/runtime/ieee_features.f90
    A flang-rt/lib/runtime/iso_c_binding.f90
    A flang-rt/lib/runtime/iso_fortran_env.f90
    A flang-rt/lib/runtime/iso_fortran_env_impl.f90
    A flang-rt/lib/runtime/mma.f90
    M flang-rt/test/lit.site.cfg.py.in
    M flang-rt/unittests/CMakeLists.txt
    M flang/CMakeLists.txt
    M flang/include/flang/Frontend/CompilerInvocation.h
    M flang/lib/Frontend/CompilerInvocation.cpp
    M flang/lib/Semantics/semantics.cpp
    R flang/module/.clang-format
    R flang/module/__cuda_builtins.f90
    R flang/module/__cuda_device.f90
    R flang/module/__fortran_builtins.f90
    R flang/module/__fortran_ieee_exceptions.f90
    R flang/module/__fortran_type_info.f90
    R flang/module/__ppc_intrinsics.f90
    R flang/module/__ppc_types.f90
    R flang/module/cooperative_groups.f90
    R flang/module/cudadevice.f90
    R flang/module/flang_debug.f90
    R flang/module/ieee_arithmetic.f90
    R flang/module/ieee_exceptions.f90
    R flang/module/ieee_features.f90
    R flang/module/iso_c_binding.f90
    R flang/module/iso_fortran_env.f90
    R flang/module/iso_fortran_env_impl.f90
    R flang/module/mma.f90
    M flang/test/CMakeLists.txt
    M flang/test/Driver/Inputs/ieee_arithmetic.mod
    M flang/test/Driver/Inputs/iso_fortran_env.mod
    A flang/test/Driver/intrinsic-module-path.F90
    R flang/test/Driver/intrinsic-module-path.f90
    M flang/test/Driver/lto-fatlto.f90
    M flang/test/Driver/pp-fixed-form.f90
    M flang/test/Lower/HLFIR/type-bound-call-mismatch.f90
    M flang/test/Lower/OpenMP/simd_aarch64.f90
    M flang/test/Lower/OpenMP/target-enter-data-default-openmp52.f90
    M flang/test/Preprocessing/fixed-free.f
    M flang/test/Preprocessing/no-pp-if.f90
    M flang/test/Semantics/bug163242.f90
    M flang/test/Semantics/bug164303.f90
    M flang/test/lit.cfg.py
    M flang/test/lit.site.cfg.py.in
    M flang/tools/CMakeLists.txt
    M flang/tools/bbc/bbc.cpp
    R flang/tools/f18/CMakeLists.txt
    R flang/tools/f18/dump.cpp
    M llvm/runtimes/CMakeLists.txt
    M openmp/CMakeLists.txt
    M openmp/README.rst
    R openmp/cmake/modules/LibompCheckFortranFlag.cmake
    M openmp/cmake/modules/LibompHandleFlags.cmake
    M openmp/module/CMakeLists.txt
    M openmp/runtime/CMakeLists.txt
    M openmp/runtime/cmake/LibompExports.cmake
    M openmp/runtime/test/lit.cfg
    M openmp/runtime/test/lit.site.cfg.in
    M runtimes/CMakeLists.txt

  Log Message:
  -----------
  [Flang] Move builtin .mod generation into runtimes (Reapply #137828) (#169638)

Reapplication of #137828, changes:
* Workaround CMAKE_Fortran_PREPROCESS_SOURCE issue for CMake < 2.24: The
issue is that `try_compile` does not forward manually-defined compiler
flang variables to the test build environment; instead of just a
negative test result, it aborts the configuration step itself. To be
fair, manually defining these variables is deprecated since at least
CMake 3.6.
* Missing flang cmd line flags for CMake < 3.28 `-target=`, `-O2`, `-O3`
* It is now possible to set FLANG_RT_ENABLED_STATIC=OFF and
FLANG_RT_ENABLE_SHARED=OFF at the same and is the default for amdgpu and
nvptx targets. In this mode, only the .mod files are compiled --
necessary for module files in
lib/clang/22/finclude/flang/(nvptx64-nvidia-cuda|amdgpu-amd-amdhsa)/*.mod
to be available.
* For compiling omp_lib.mod for nvptx and amdgpu, the module build
functionality must be hoisted out if openmp's runtime/ directory which
is only included for host targets. This PR now requires #169909.
 

Move building the .mod files from openmp/flang to openmp/flang-rt using
a shared mechanism. Motivations to do so are:

1. Most modules are target-dependent and need to be re-compiled for each
target separately, which is something the LLVM_ENABLE_RUNTIMES system
already does. Prime example is `iso_c_binding.mod` which encodes the
target's ABI. Constants such as [`c_long_double` also have different
values](https://github.com/llvm/llvm-project/blob/d748c81218bee39dafb9cc0c00ed7831a3ed44c3/flang-rt/lib/runtime/iso_c_binding.f90#L77-L81).
Most other modules have `#ifdef`-enclosed code as well. For instance
this caused offload targets nvptx64-nvidia-cuda/amdgpu-amd-amdhsa to use
the modules files compiled for the host which may contrain uses of the
types REAL(10) or REAL(16) not available for nvptx/amdgpu.

#146876
#128015
#129742
#158790

3. CMake has support for Fortran that we should use. Among other things,
it automatically determines module dependencies so there is no need to
hardcode them in the CMakeLists.txt.

4. It allows using Fortran itself to implement Flang-RT. Currently, only
`iso_fortran_env_impl.f90` emits object files that are needed by Fortran
applications (#89403). The workaround of #95388 could be reverted (PR
#169525).


If using Flang for cross-compilation or target-offloading, flang-rt must
now be compiled for each target not only for the library, but also to
get the target-specific module files. For instance in a bootstrapping
runtime build, this can be done by adding:
`-DLLVM_RUNTIME_TARGETS=default;nvptx64-nvidia-cuda;amdgpu-amd-amdhsa`.


Some new dependencies come into play:
* openmp depends on flang-rt for building `lib_omp.mod` and
`lib_omp_kinds.mod`. Currently, if flang-rt is not found then the
modules are not built.
* check-flang depends on flang-rt: If not found, the majority of tests
are disabled. If not building in a bootstrpping build, the location of
the module files can be pointed to using
`-DFLANG_INTRINSIC_MODULES_DIR=<path>`, e.g. in a flang-standalone
build. Alternatively, the test needing any of the intrinsic modules
could be marked with `REQUIRES: flangrt-modules`.
* check-flang depends on openmp: Not a change; tests requiring
`lib_omp.mod` and `lib_omp_kinds.mod` those are already marked with
`openmp_runtime`.

As intrinsic are now specific to the target, their location is moved
from `include/flang` to `<resource-dir>/finclude/flang/<triple>`. The
mechnism to compute the location have been moved from flang-rt
(previously used to compute the location of `libflang_rt.*.a`) to common
locations in `cmake/GetToolchainDirs.cmake` and
`runtimes/CMakeLists.txt` so they can be used by both, openmp and
flang-rt. Potentially the mechnism could also be shared by other
libraries such as compiler-rt.

`finclude` was chosen because `gfortran` uses it as well and avoids
misuse such as `#include <flang/iso_c_binding.mod>`. The search location
is now determined by `ToolChain` in the driver, instead of by the
frontend. Another subdirectory `flang` avoids accidental inclusion of
gfortran-modules which due to compression would result in
user-unfriendly errors. Now the driver adds `-fintrinsic-module-path`
for that location to the frontend call (Just like gfortran does).
`-fintrinsic-module-path` had to be fixed for this because ironically it
was only added to `searchDirectories`, but not
`intrinsicModuleDirectories_`. Since the driver determines the location,
tests invoking `flang -fc1` and `bbc` must also be passed the location
by llvm-lit. This works like llvm-lit does for finding the include dirs
for Clang using `-print-file-name=...`.


  Commit: 0768068ff086999b49badbf31259afcfa04783ed
      https://github.com/llvm/llvm-project/commit/0768068ff086999b49badbf31259afcfa04783ed
  Author: Florian Hahn <flo at fhahn.com>
  Date:   2025-12-09 (Tue, 09 Dec 2025)

  Changed paths:
    M llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
    M llvm/lib/Transforms/Vectorize/VPlanUnroll.cpp
    M llvm/test/Transforms/LoopVectorize/interleave-and-scalarize-only.ll

  Log Message:
  -----------
  [VPlan] Remove ExtractLastLane for plans with scalar VFs. (#171145)

ExtractLastLane is a no-op for scalar VFs. Update simplifyRecipe to
remove them. This also requires adjusting the code in VPlanUnroll.cpp to
split off handling of ExtractLastLane/ExtractPenultimateElement for
scalar VFs, which now needs to match ExtractLastPart.

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


  Commit: 182a59d59abf6f865bc2b0474f66cf1a62259159
      https://github.com/llvm/llvm-project/commit/182a59d59abf6f865bc2b0474f66cf1a62259159
  Author: Matthias Springer <me at m-sp.org>
  Date:   2025-12-09 (Tue, 09 Dec 2025)

  Changed paths:
    M mlir/include/mlir/Dialect/Bufferization/Pipelines/Passes.h
    M mlir/lib/Dialect/Bufferization/Pipelines/BufferizationPipelines.cpp

  Log Message:
  -----------
  [mlir][bufferization][NFC] Add convenience overload for `buildBufferDeallocationPipeline` (#171305)

Add an overload that does not take any options and uses the default
options instead.


  Commit: 9c834286740aa4ee09d08006d2a7fc94231bb2ac
      https://github.com/llvm/llvm-project/commit/9c834286740aa4ee09d08006d2a7fc94231bb2ac
  Author: Baranov Victor <bar.victor.2002 at gmail.com>
  Date:   2025-12-09 (Tue, 09 Dec 2025)

  Changed paths:
    M clang-tools-extra/clang-tidy/google/CMakeLists.txt

  Log Message:
  -----------
  [clang-tidy] Add missing Modernize module to Google module link libs (#171427)

Fixes failures in
https://github.com/llvm/llvm-project/pull/171058#issuecomment-3631809933


  Commit: 31c03c93b1b8dbfa398185fc698066c0480f40e7
      https://github.com/llvm/llvm-project/commit/31c03c93b1b8dbfa398185fc698066c0480f40e7
  Author: David Spickett <david.spickett at linaro.org>
  Date:   2025-12-09 (Tue, 09 Dec 2025)

  Changed paths:
    M lldb/docs/use/variable.rst

  Log Message:
  -----------
  [lldb][docs] Fix plaintext marker in variables doc

Single backtick tries to make a reference to something
and if that fails, renders as plain text.

These 3 weren't finding a reference and so produced
a warning:
variable.rst:975: WARNING: 'any' reference target not found: max_children


  Commit: 4e94198c3c3aeb15539bac73221b0f34a3370f23
      https://github.com/llvm/llvm-project/commit/4e94198c3c3aeb15539bac73221b0f34a3370f23
  Author: Haojian Wu <hokein.wu at gmail.com>
  Date:   2025-12-09 (Tue, 09 Dec 2025)

  Changed paths:
    M clang-tools-extra/clangd/SemanticSelection.cpp
    M clang-tools-extra/clangd/SemanticSelection.h
    M clang-tools-extra/clangd/unittests/SemanticSelectionTests.cpp

  Log Message:
  -----------
  [clangd] Remove the unused AST-based code folding Implementation. (#166189)

In clangd, we use the non-ast version one.


  Commit: 870aa89fbc07956f8672740a5243d422dbf43b87
      https://github.com/llvm/llvm-project/commit/870aa89fbc07956f8672740a5243d422dbf43b87
  Author: David Spickett <david.spickett at linaro.org>
  Date:   2025-12-09 (Tue, 09 Dec 2025)

  Changed paths:
    M lldb/docs/use/tutorials/custom-frame-recognizers.md
    M lldb/docs/use/tutorials/script-driven-debugging.md
    M lldb/docs/use/tutorials/writing-custom-commands.md

  Log Message:
  -----------
  [lldb][docs] Remove syntax hint from some output blocks

This tries to parse the block as that language but in these
cases fails because they aren't purely that language. This
falls back to a permissive mode which is fine, but highlights
the invalid tokens like errors which isn't great.

Instead don't try to highlight these blocks. This fixes 4
warnings seen in the docs build:
lldb/docs/use/tutorials/custom-frame-recognizers.md:43: WARNING: Lexing literal_block <...> as "c++" resulted in an error at token: '#'. Retrying in relaxed mode.
lldb/docs/use/tutorials/script-driven-debugging.md:175: WARNING: Lexing literal_block <...> as "c++" resulted in an error at token: '#'. Retrying in relaxed mode.
lldb/docs/use/tutorials/script-driven-debugging.md:426: WARNING: Lexing literal_block <...> as "c++" resulted in an error at token: '#'. Retrying in relaxed mode.
lldb/docs/use/tutorials/writing-custom-commands.md:416: WARNING: Lexing literal_block <...> as "python3" resulted in an error at token: '$'. Retrying in relaxed mode.


  Commit: 95bd87848d7a62cd52ed73b198633ce776c64b95
      https://github.com/llvm/llvm-project/commit/95bd87848d7a62cd52ed73b198633ce776c64b95
  Author: Cullen Rhodes <cullen.rhodes at arm.com>
  Date:   2025-12-09 (Tue, 09 Dec 2025)

  Changed paths:
    A llvm/test/tools/llvm-mca/AArch64/Neoverse/Inputs/bf16-instructions.s
    A llvm/test/tools/llvm-mca/AArch64/Neoverse/Inputs/complxnum-instructions.s
    A llvm/test/tools/llvm-mca/AArch64/Neoverse/Inputs/fp16fml-instructions.s
    A llvm/test/tools/llvm-mca/AArch64/Neoverse/Inputs/fptoint-instructions.s
    A llvm/test/tools/llvm-mca/AArch64/Neoverse/Inputs/i8mm-instructions.s
    A llvm/test/tools/llvm-mca/AArch64/Neoverse/Inputs/neon-instructions.s
    M llvm/test/tools/llvm-mca/AArch64/Neoverse/N1-neon-instructions.s
    A llvm/test/tools/llvm-mca/AArch64/Neoverse/N2-bf16-instructions.s
    A llvm/test/tools/llvm-mca/AArch64/Neoverse/N2-complxnum-instructions.s
    A llvm/test/tools/llvm-mca/AArch64/Neoverse/N2-fp16fml-instructions.s
    A llvm/test/tools/llvm-mca/AArch64/Neoverse/N2-fptoint-instructions.s
    A llvm/test/tools/llvm-mca/AArch64/Neoverse/N2-i8mm-instructions.s
    M llvm/test/tools/llvm-mca/AArch64/Neoverse/N2-neon-instructions.s
    A llvm/test/tools/llvm-mca/AArch64/Neoverse/N3-bf16-instructions.s
    A llvm/test/tools/llvm-mca/AArch64/Neoverse/N3-complxnum-instructions.s
    A llvm/test/tools/llvm-mca/AArch64/Neoverse/N3-fp16fml-instructions.s
    A llvm/test/tools/llvm-mca/AArch64/Neoverse/N3-fptoint-instructions.s
    A llvm/test/tools/llvm-mca/AArch64/Neoverse/N3-i8mm-instructions.s
    M llvm/test/tools/llvm-mca/AArch64/Neoverse/N3-neon-instructions.s
    A llvm/test/tools/llvm-mca/AArch64/Neoverse/V1-bf16-instructions.s
    A llvm/test/tools/llvm-mca/AArch64/Neoverse/V1-complxnum-instructions.s
    A llvm/test/tools/llvm-mca/AArch64/Neoverse/V1-fp16fml-instructions.s
    A llvm/test/tools/llvm-mca/AArch64/Neoverse/V1-i8mm-instructions.s
    M llvm/test/tools/llvm-mca/AArch64/Neoverse/V1-neon-instructions.s
    A llvm/test/tools/llvm-mca/AArch64/Neoverse/V2-bf16-instructions.s
    A llvm/test/tools/llvm-mca/AArch64/Neoverse/V2-complxnum-instructions.s
    A llvm/test/tools/llvm-mca/AArch64/Neoverse/V2-fp16fml-instructions.s
    A llvm/test/tools/llvm-mca/AArch64/Neoverse/V2-fptoint-instructions.s
    A llvm/test/tools/llvm-mca/AArch64/Neoverse/V2-i8mm-instructions.s
    M llvm/test/tools/llvm-mca/AArch64/Neoverse/V2-neon-instructions.s
    A llvm/test/tools/llvm-mca/AArch64/Neoverse/V3-bf16-instructions.s
    A llvm/test/tools/llvm-mca/AArch64/Neoverse/V3-complxnum-instructions.s
    A llvm/test/tools/llvm-mca/AArch64/Neoverse/V3-fp16fml-instructions.s
    A llvm/test/tools/llvm-mca/AArch64/Neoverse/V3-fptoint-instructions.s
    A llvm/test/tools/llvm-mca/AArch64/Neoverse/V3-i8mm-instructions.s
    M llvm/test/tools/llvm-mca/AArch64/Neoverse/V3-neon-instructions.s
    A llvm/test/tools/llvm-mca/AArch64/Neoverse/V3AE-bf16-instructions.s
    A llvm/test/tools/llvm-mca/AArch64/Neoverse/V3AE-complxnum-instructions.s
    A llvm/test/tools/llvm-mca/AArch64/Neoverse/V3AE-fp16fml-instructions.s
    A llvm/test/tools/llvm-mca/AArch64/Neoverse/V3AE-fptoint-instructions.s
    A llvm/test/tools/llvm-mca/AArch64/Neoverse/V3AE-i8mm-instructions.s
    M llvm/test/tools/llvm-mca/AArch64/Neoverse/V3AE-neon-instructions.s

  Log Message:
  -----------
  [llvm-mca][AArch64] Merge Neoverse NEON tests (NFC) (#170881)

Follow-on from #170324 to also refactor the NEON tests to reuse the
input assembly across all Neoverse cores.

The approach is as follows:

- Inputs for Neoverse N1/N2/N3 NEON tests are already identical, so
  first combine those.
- Inputs for V2/V3/V3AE NEON tests are also already identical, but
  differ from N-cores, so combine those separately.
- Most significantly, input for V1 differs from all other cores
  primarily because of 24f0901 (#128892).
- Split out features that are not supported across all cores.
  - Split out FEAT_I8MM, FEAT_FHM, FEAT_FCMA. N1 doesn't have this
    feature but all other Neoverse cores do. Also adds coverage for
    N2/N3 since they were missing tests.
  - Split out FEAT_BF16. V1 doesn't have this feature but all other
    Neoverse cores do. Also adds coverage for N1/N2/N3 since they were
    missing tests.
  - Split out FEAT_FRINTTS. V1/N1 don't have this feature but all other
    Neoverse cores do. Also adds coverage for N2/N3 since they were
    missing tests.
- Bring Neoverse V2/V3/V3AE and N1/N2/N3 neon tests inline. Comparing
  N[1-3] against V[2-3] the only change the N cores have that V[2-3]
  dont is:
```
  < st4 { v0.d, v1.d, v2.d, v3.d }[1], [x0], x5
  ---
  > st4 { v0.b, v1.b, v2.b, v3.b }[9], [x0], x5
```
  So we take it for all cores. The rest of the diff is
  instructions in V[2-3] that arent in N cores, so we also take them.

  All Neoverse cores can optionally support the Cryptographic Extension.
The related features (AES, ...) are enabled by default for V1/N1 but not
  the other cores, so need to be explicitly enabled via -mattr.
- Finally bring Neoverse V1 inline with V2/V3/V3AE/N1/N2/N3
  - loads/stores are blended
  - duplicates with different spaces like `shll   v0.2d, v0.2s, #32` are
    removed
- the rest of the diff is instructions in V1 that are not tested in the
    other cores, so we add them for the other cores


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

  Changed paths:
    M lldb/docs/resources/contributing.rst

  Log Message:
  -----------
  [lldb][docs] Fix plain text markers in Contributing

RST tries to resolve things in single backticks to a reference,
which is not the intention here. Double backticks indicates
plain text formatting.

Fixes warnings in the docs build:
contributing.rst:92: WARNING: 'any' reference target not found: A1
contributing.rst:92: WARNING: 'any' reference target not found: B1
contributing.rst:92: WARNING: 'any' reference target not found: B2
contributing.rst:92: WARNING: 'any' reference target not found: A2
contributing.rst:95: WARNING: 'any' reference target not found: A1->B1
contributing.rst:95: WARNING: 'any' reference target not found: B2->C2
contributing.rst:95: WARNING: 'any' reference target not found: C3->A3
contributing.rst:100: WARNING: 'any' reference target not found: LLDB_ACCEPTABLE_PLUGIN_DEPENDENCIES
contributing.rst:100: WARNING: 'any' reference target not found: LLDB_TOLERATED_PLUGIN_DEPENDENCIES


  Commit: afb3852c8b089221dfc67f7b4f0cc4ec20d57043
      https://github.com/llvm/llvm-project/commit/afb3852c8b089221dfc67f7b4f0cc4ec20d57043
  Author: David Spickett <david.spickett at linaro.org>
  Date:   2025-12-09 (Tue, 09 Dec 2025)

  Changed paths:
    M lldb/docs/use/variable.rst

  Log Message:
  -----------
  [lldb][docs] Fix title formatting in Variable document


  Commit: b1ef2db4c681680d969c0e7d280b0e469ba877a9
      https://github.com/llvm/llvm-project/commit/b1ef2db4c681680d969c0e7d280b0e469ba877a9
  Author: David Spickett <david.spickett at linaro.org>
  Date:   2025-12-09 (Tue, 09 Dec 2025)

  Changed paths:
    M lldb/docs/use/tutorials/creating-custom-breakpoints.md
    M lldb/docs/use/tutorials/implementing-standalone-scripts.md
    M lldb/docs/use/tutorials/script-driven-debugging.md
    M lldb/docs/use/tutorials/writing-custom-commands.md

  Log Message:
  -----------
  [lldb][docs] Fix header level warnings in a few documents

All these are using H1 for the main heading but H3 for the
rest, Sphinx warns about this:
WARNING: Non-consecutive header level increase; H1 to H3 [myst.header]


  Commit: bf9344099c63549b2f19f8ede29f883669b0baca
      https://github.com/llvm/llvm-project/commit/bf9344099c63549b2f19f8ede29f883669b0baca
  Author: Pierre van Houtryve <pierre.vanhoutryve at amd.com>
  Date:   2025-12-09 (Tue, 09 Dec 2025)

  Changed paths:
    M llvm/lib/Target/AMDGPU/SIInsertWaitcnts.cpp
    M llvm/test/CodeGen/AMDGPU/lds-dma-waits.ll

  Log Message:
  -----------
  [AMDGPU][SIInsertWaitCnts] Use RegUnits-based tracking (#162077)

The pass was already "reinventing" the concept just to deal with 16 bit
registers. Clean up the entire tracking logic to only use register
units.

There are no test changes because functionality didn't change, except:
- We can now track more LDS DMA IDs if we need it (up to `1 << 16`)
- The debug prints also changed a bit because we now talk in terms of
register units.

This also changes the tracking to use a DenseMap instead of a massive
fixed size table. This trades a bit of access speed for a smaller memory
footprint. Allocating and memsetting a huge table to zero caused a
non-negligible performance impact (I've observed up to 50% of the time
in the pass spent in the `memcpy` built-in on a big test file).

I also think we don't access these often enough to really justify using
a vector. We do a few accesses per instruction, but not much more. In a
huge 120MB LL file, I can barely see the trace of the DenseMap accesses.


  Commit: 1cbed4fb94a0419934694824927d8e2cfa071928
      https://github.com/llvm/llvm-project/commit/1cbed4fb94a0419934694824927d8e2cfa071928
  Author: Mirko Brkušanin <Mirko.Brkusanin at amd.com>
  Date:   2025-12-09 (Tue, 09 Dec 2025)

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

  Log Message:
  -----------
  [NFC][AMDGPU] Remove unused TableGen generated enum (#171170)

This GenericEnum was just adding separate values for VOP3P_Pseudo
opcodes in the same namespace as existing opcodes that did not match.
They were defined in AMDGPUGenSearchableTables.inc by tablegen emitter
but were guarded out by #ifdef. Because of that, they were never
included in the code, so the compiler never reported the naming
conflict and the bug never had a chance to surface.


  Commit: 719d079382931edf366c578b39e26a4480121e51
      https://github.com/llvm/llvm-project/commit/719d079382931edf366c578b39e26a4480121e51
  Author: Luke Hutton <luke.hutton at arm.com>
  Date:   2025-12-09 (Tue, 09 Dec 2025)

  Changed paths:
    M mlir/include/mlir/Dialect/Tosa/IR/TosaComplianceData.h.inc
    M mlir/include/mlir/Dialect/Tosa/IR/TosaOps.td
    M mlir/test/Dialect/Tosa/availability.mlir
    M mlir/test/Dialect/Tosa/invalid_extension.mlir
    M mlir/test/Dialect/Tosa/tosa-validation-version-1p1-valid.mlir

  Log Message:
  -----------
  [mlir][tosa] Remove EXT_MXFP support for cast (#167301)

This was removed in the specification by:
https://github.com/arm/tosa-specification/pull/11


  Commit: 1b82c16fa8e017ff4de4f96c31af682e5a6ea649
      https://github.com/llvm/llvm-project/commit/1b82c16fa8e017ff4de4f96c31af682e5a6ea649
  Author: Alexandros Lamprineas <alexandros.lamprineas at arm.com>
  Date:   2025-12-09 (Tue, 09 Dec 2025)

  Changed paths:
    M clang/include/clang/Basic/DiagnosticSemaKinds.td
    M clang/include/clang/Sema/SemaARM.h
    M clang/include/clang/Sema/SemaRISCV.h
    M clang/lib/CodeGen/Targets/AArch64.cpp
    M clang/lib/Sema/SemaARM.cpp
    M clang/lib/Sema/SemaDeclAttr.cpp
    M clang/lib/Sema/SemaRISCV.cpp
    M clang/test/AST/attr-target-version.c
    M clang/test/CodeGen/AArch64/fmv-duplicate-mangled-name.c
    A clang/test/CodeGen/AArch64/fmv-explicit-priority.c
    M clang/test/Sema/attr-target-clones-aarch64.c
    M clang/test/Sema/attr-target-version.c
    M llvm/include/llvm/Analysis/TargetTransformInfo.h
    M llvm/include/llvm/Analysis/TargetTransformInfoImpl.h
    M llvm/include/llvm/TargetParser/AArch64FeatPriorities.inc
    M llvm/include/llvm/TargetParser/AArch64TargetParser.h
    M llvm/lib/Analysis/TargetTransformInfo.cpp
    M llvm/lib/Target/AArch64/AArch64FMV.td
    M llvm/lib/Target/AArch64/AArch64TargetTransformInfo.cpp
    M llvm/lib/Target/AArch64/AArch64TargetTransformInfo.h
    M llvm/lib/TargetParser/AArch64TargetParser.cpp
    M llvm/lib/Transforms/IPO/GlobalOpt.cpp
    M llvm/test/Transforms/GlobalOpt/resolve-fmv-ifunc.ll
    M llvm/utils/TableGen/Basic/ARMTargetDefEmitter.cpp

  Log Message:
  -----------
  [FMV][AArch64] Allow user to override version priority. (#150267)

Implements https://github.com/ARM-software/acle/pull/404

This allows the user to specify "featA+featB;priority=[1-255]" where
priority=255 means highest priority. If the explicit priority string is
omitted then the priority of "featA+featB" is implied, which is lower
than priority=1.

Internally this gets expanded using special FMV features P0 ... P7 which
can encode up to 256-1 priority levels (excluding all zeros). Those do
not have corresponding detection bit at pos FEAT_#enum so I made this
field optional in FMVInfo. Also they don't affect the codegen or name
mangling of versioned functions.


  Commit: 27660022743c560d266bb9c0c83454f663a2d7ad
      https://github.com/llvm/llvm-project/commit/27660022743c560d266bb9c0c83454f663a2d7ad
  Author: Lukacma <Marian.Lukac at arm.com>
  Date:   2025-12-09 (Tue, 09 Dec 2025)

  Changed paths:
    M llvm/lib/Target/AArch64/AArch64InstrInfo.td
    A llvm/test/CodeGen/AArch64/arm64-cvt-simd-round-rint-strictfp.ll
    A llvm/test/CodeGen/AArch64/arm64-cvt-simd-round-rint.ll

  Log Message:
  -----------
  [AArch64]SIMD fpcvt codegen for rounding nodes (#165546)

This is followup patch to
https://github.com/llvm/llvm-project/pull/157680, which allows simd
fpcvt instructions to be generated from l/llround and l/llrint nodes.


  Commit: 4572f4f5b197b184fbae8feeb62734719139be19
      https://github.com/llvm/llvm-project/commit/4572f4f5b197b184fbae8feeb62734719139be19
  Author: pvanhout <pierre.vanhoutryve at amd.com>
  Date:   2025-12-09 (Tue, 09 Dec 2025)

  Changed paths:
    M llvm/lib/Target/AMDGPU/SIInsertWaitcnts.cpp
    M llvm/test/CodeGen/AMDGPU/lds-dma-waits.ll

  Log Message:
  -----------
  Revert "[AMDGPU][SIInsertWaitCnts] Use RegUnits-based tracking (#162077)"

Fails on https://lab.llvm.org/buildbot/#/builders/123/builds/31922

This reverts commit bf9344099c63549b2f19f8ede29f883669b0baca.


  Commit: f90fe01f8580fa79979703d435d354c061aed503
      https://github.com/llvm/llvm-project/commit/f90fe01f8580fa79979703d435d354c061aed503
  Author: Mikael Holmen <mikael.holmen at ericsson.com>
  Date:   2025-12-09 (Tue, 09 Dec 2025)

  Changed paths:
    M llvm/lib/Frontend/OpenMP/OMPIRBuilder.cpp

  Log Message:
  -----------
  [OpenMP] Fix -Wparentheses warning [NFC]

Without this gcc warned
 ../lib/Frontend/OpenMP/OMPIRBuilder.cpp:5082:45: warning: suggest parentheses around '&&' within '||' [-Wparentheses]


  Commit: 7f6c907e80d3ef23267ab0c4541791b6efd51b86
      https://github.com/llvm/llvm-project/commit/7f6c907e80d3ef23267ab0c4541791b6efd51b86
  Author: Mikael Holmen <mikael.holmen at ericsson.com>
  Date:   2025-12-09 (Tue, 09 Dec 2025)

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

  Log Message:
  -----------
  [mlir] Fix -Wparentheses warning [NFC]

Without this gcc warned
 ../../mlir/lib/Dialect/SCF/IR/SCF.cpp:3748:70: warning: suggest parentheses around '&&' within '||' [-Wparentheses]


  Commit: e3cf462d4494694a0077512ceb1426e0df9cb4f4
      https://github.com/llvm/llvm-project/commit/e3cf462d4494694a0077512ceb1426e0df9cb4f4
  Author: Mehdi Amini <joker.eph at gmail.com>
  Date:   2025-12-09 (Tue, 09 Dec 2025)

  Changed paths:
    M mlir/lib/Dialect/Linalg/TransformOps/LinalgTransformOps.cpp

  Log Message:
  -----------
  [MLIR] Apply clang-tidy fixes for llvm-else-after-return in LinalgTransformOps.cpp (NFC)


  Commit: 257417eb9554a370fcec7c89b78db08a41be8905
      https://github.com/llvm/llvm-project/commit/257417eb9554a370fcec7c89b78db08a41be8905
  Author: Mehdi Amini <joker.eph at gmail.com>
  Date:   2025-12-09 (Tue, 09 Dec 2025)

  Changed paths:
    M mlir/tools/mlir-irdl-to-cpp/mlir-irdl-to-cpp.cpp

  Log Message:
  -----------
  [MLIR] Apply clang-tidy fixes for readability-container-size-empty in mlir-irdl-to-cpp.cpp (NFC)


  Commit: 95e6edc4f7bce7cf9506997f649e798ea445b82c
      https://github.com/llvm/llvm-project/commit/95e6edc4f7bce7cf9506997f649e798ea445b82c
  Author: Mehdi Amini <joker.eph at gmail.com>
  Date:   2025-12-09 (Tue, 09 Dec 2025)

  Changed paths:
    M mlir/lib/Dialect/NVGPU/TransformOps/NVGPUTransformOps.cpp

  Log Message:
  -----------
  [MLIR] Apply clang-tidy fixes for performance-unnecessary-copy-initialization in NVGPUTransformOps.cpp (NFC)


  Commit: d478baa238ddb0ef139b3d1be05336e6a954370b
      https://github.com/llvm/llvm-project/commit/d478baa238ddb0ef139b3d1be05336e6a954370b
  Author: Fabrice de Gans <Steelskin at users.noreply.github.com>
  Date:   2025-12-09 (Tue, 09 Dec 2025)

  Changed paths:
    M llvm/include/llvm-c/Core.h
    M llvm/include/llvm/CAS/ActionCache.h
    M llvm/include/llvm/CAS/BuiltinUnifiedCASDatabases.h
    M llvm/include/llvm/CAS/ObjectStore.h
    M llvm/include/llvm/IR/RuntimeLibcalls.h
    M llvm/include/llvm/SandboxIR/Instruction.h
    M llvm/lib/Transforms/Vectorize/VPlan.h

  Log Message:
  -----------
  Add more missing `LLVM_ABI` annotations (#168765)

This patch updates various LLVM headers to properly add the `LLVM_ABI`
and `LLVM_ABI_FOR_TEST` annotations ot build LLVM as a DLL on Windows.

This effort is tracked in #109483.


  Commit: fe68fb62eabf65995a2abe05c9710fce22b14620
      https://github.com/llvm/llvm-project/commit/fe68fb62eabf65995a2abe05c9710fce22b14620
  Author: David Green <david.green at arm.com>
  Date:   2025-12-09 (Tue, 09 Dec 2025)

  Changed paths:
    M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
    M llvm/test/CodeGen/AArch64/atomic-ops.ll

  Log Message:
  -----------
  [AArch64] Make the list of LSE supported operations explicit (#171126)

Similar to #167760 this makes the list of LSE atomics explicit in case
new operations are added in the future. UIncWrap, UDecWrap, USubCond and
USubSat are excluded.

Fixes #170450


  Commit: 734ea9a4052447414228570e4a83dad317367609
      https://github.com/llvm/llvm-project/commit/734ea9a4052447414228570e4a83dad317367609
  Author: Mehdi Amini <joker.eph at gmail.com>
  Date:   2025-12-09 (Tue, 09 Dec 2025)

  Changed paths:
    M mlir/lib/Target/LLVMIR/Dialect/GPU/SelectObjectAttr.cpp

  Log Message:
  -----------
  [MLIR] Apply clang-tidy fixes for llvm-qualified-auto in SelectObjectAttr.cpp (NFC)


  Commit: 2f502f37ae825aba9c5b605d7ad8bd9698cbb578
      https://github.com/llvm/llvm-project/commit/2f502f37ae825aba9c5b605d7ad8bd9698cbb578
  Author: Nikita Popov <npopov at redhat.com>
  Date:   2025-12-09 (Tue, 09 Dec 2025)

  Changed paths:
    M llvm/lib/Target/Hexagon/HexagonVectorCombine.cpp

  Log Message:
  -----------
  [Hexagon] Remove unnecessarily complicated helpers (NFC)

All the constant construction APIs already have native splat
support. They can be directly used with a vector. It's not
necessary to first create a scalar constant and then splat it
to the element count.


  Commit: bf41fd7558403c2720866db54fe01e28f5662674
      https://github.com/llvm/llvm-project/commit/bf41fd7558403c2720866db54fe01e28f5662674
  Author: Nikita Popov <npopov at redhat.com>
  Date:   2025-12-09 (Tue, 09 Dec 2025)

  Changed paths:
    M llvm/lib/Target/Hexagon/HexagonGenWideningVecInstr.cpp

  Log Message:
  -----------
  [Hexagon] Avoid unnecessary by reference passing (NFC)

SplatVal is not modified in these functions, so pass it by value.
This was probably a copy&paste mistake from checkConstantVector(),
which does modify SplatVal.


  Commit: a6fa720e72c8c514e97b7cf1fd1043fff52746ac
      https://github.com/llvm/llvm-project/commit/a6fa720e72c8c514e97b7cf1fd1043fff52746ac
  Author: Nikita Popov <npopov at redhat.com>
  Date:   2025-12-09 (Tue, 09 Dec 2025)

  Changed paths:
    M llvm/lib/Target/Hexagon/HexagonGenWideningVecInstr.cpp

  Log Message:
  -----------
  [Hexagon] Simplify creation of splat value (NFC)

ConstantInt::get() already knows how to create splats, no need to
do it manually.


  Commit: 45267ece8fabc9eda598af47b91418fec17d5204
      https://github.com/llvm/llvm-project/commit/45267ece8fabc9eda598af47b91418fec17d5204
  Author: Nikita Popov <npopov at redhat.com>
  Date:   2025-12-09 (Tue, 09 Dec 2025)

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

  Log Message:
  -----------
  [X86] Use getSigned() for segment offset

The offset here is a signed quantity.


  Commit: bd8c06387f1ca109c213967a7e5dad3cfb7537a3
      https://github.com/llvm/llvm-project/commit/bd8c06387f1ca109c213967a7e5dad3cfb7537a3
  Author: Nikita Popov <npopov at redhat.com>
  Date:   2025-12-09 (Tue, 09 Dec 2025)

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

  Log Message:
  -----------
  [SjLjEHPrepare] Use getSigned() for call site number

This may be -1.


  Commit: 53ce8502c6cfb7058c89f9e38f75934cab765eea
      https://github.com/llvm/llvm-project/commit/53ce8502c6cfb7058c89f9e38f75934cab765eea
  Author: Nikita Popov <npopov at redhat.com>
  Date:   2025-12-09 (Tue, 09 Dec 2025)

  Changed paths:
    M llvm/lib/Bitcode/Reader/BitcodeReader.cpp

  Log Message:
  -----------
  [Bitcode] Use ConstantInt::getSigned()

This is encoded as a signed value, so use getSigned().


  Commit: db59def3b88410f0abd66c601153c8db7cb2dc57
      https://github.com/llvm/llvm-project/commit/db59def3b88410f0abd66c601153c8db7cb2dc57
  Author: Nikita Popov <npopov at redhat.com>
  Date:   2025-12-09 (Tue, 09 Dec 2025)

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

  Log Message:
  -----------
  [ThumbRegisterInfo] Use getSigned() for constant pool loads

To match the signed int parameter for the value.


  Commit: 748e7af8dd6e9b4683a6402a0ca6598fe23a9c1e
      https://github.com/llvm/llvm-project/commit/748e7af8dd6e9b4683a6402a0ca6598fe23a9c1e
  Author: Krish Gupta <krishom70 at gmail.com>
  Date:   2025-12-09 (Tue, 09 Dec 2025)

  Changed paths:
    M flang/lib/Lower/OpenMP/OpenMP.cpp
    A flang/test/Integration/OpenMP/do-simd-firstprivate-lastprivate-runtime.f90
    A flang/test/Lower/OpenMP/do-simd-firstprivate-lastprivate.f90
    M flang/test/Lower/OpenMP/order-clause.f90
    M flang/test/Lower/OpenMP/wsloop-simd.f90

  Log Message:
  -----------
  [flang][OpenMP] Fix firstprivate not working with lastprivate in DO SIMD (#170163)

This fixes a bug where firstprivate was ignored when the same variable
had both firstprivate and lastprivate clauses in a do simd construct.

What was broken:
```
integer :: a
a = 10
!$omp do simd firstprivate(a) lastprivate(a)
do i = 1, 1
   print *, a  ! Should print 10, but printed garbage/0
   a = 20
end do
!$omp end do simd
print *, a  ! Correctly prints 20
```

Inside the loop, [a] wasn't being initialized from the firstprivate
clause—it just had whatever uninitialized value was there.

The fix:

In genCompositeDoSimd(), we were using simdItemDSP to handle
privatization for the whole loop nest. This only looked at SIMD clauses
and missed the firstprivate from the DO part. Changed it to use
wsloopItemDSP instead, which handles both DO clauses (firstprivate,
lastprivate) correctly.

One line change in OpenMP.cpp

Tests added:

Lowering test to check MLIR generation
Runtime test to verify the actual values are correct
<img width="740" height="440" alt="image"
src="https://github.com/user-attachments/assets/fa911ea8-2024-4edf-b710-52c10659742e"
/>


Fixes #168306

---------

Co-authored-by: Krish Gupta <krishgupta at Krishs-MacBook-Air.local>


  Commit: b0bd8bdbd89701173db0d446757aad1ad166f08d
      https://github.com/llvm/llvm-project/commit/b0bd8bdbd89701173db0d446757aad1ad166f08d
  Author: Nikita Popov <npopov at redhat.com>
  Date:   2025-12-09 (Tue, 09 Dec 2025)

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

  Log Message:
  -----------
  [AtomicExpand] Use getSigned() for negative value


  Commit: 80fc9bc17715cb4e68ec233ae1db668ac321e777
      https://github.com/llvm/llvm-project/commit/80fc9bc17715cb4e68ec233ae1db668ac321e777
  Author: Nikita Popov <npopov at redhat.com>
  Date:   2025-12-09 (Tue, 09 Dec 2025)

  Changed paths:
    M llvm/lib/Target/Hexagon/HexagonISelLowering.cpp

  Log Message:
  -----------
  [Hexagon] Use getSigned() for signed value


  Commit: cf9ba401e3fb2a9c3c728f1a0f49e75db372e704
      https://github.com/llvm/llvm-project/commit/cf9ba401e3fb2a9c3c728f1a0f49e75db372e704
  Author: Nikita Popov <npopov at redhat.com>
  Date:   2025-12-09 (Tue, 09 Dec 2025)

  Changed paths:
    M llvm/lib/Transforms/Utils/BypassSlowDivision.cpp

  Log Message:
  -----------
  [BypassSlowDivision] Explicitly create bit mask

Explicitly create the high bit mask using getBitsSetFrom() instead
of inverting an integer. This avoids relying on implicit
truncation.


  Commit: 005ef5cda00d4a5a03c9b7ebd2113b5f2314da89
      https://github.com/llvm/llvm-project/commit/005ef5cda00d4a5a03c9b7ebd2113b5f2314da89
  Author: Schrodinger ZHU Yifan <yifanzhu at rochester.edu>
  Date:   2025-12-09 (Tue, 09 Dec 2025)

  Changed paths:
    M .github/workflows/libc-overlay-tests.yml

  Log Message:
  -----------
  [libc][CI] update macOS version in workflow configuration (#171228)

upgrade macOS version to latest stable version in github action. We run
into a problem that timed `os_sync` API only becomes available in 14.4+.


  Commit: 6960b633ee7633d0ed7e9853baea296dbe201ab2
      https://github.com/llvm/llvm-project/commit/6960b633ee7633d0ed7e9853baea296dbe201ab2
  Author: Nikita Popov <npopov at redhat.com>
  Date:   2025-12-09 (Tue, 09 Dec 2025)

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

  Log Message:
  -----------
  [LSR] Use getSigned() for negated immediate


  Commit: 4afc92e43a1462df613e26997f64cb368d552648
      https://github.com/llvm/llvm-project/commit/4afc92e43a1462df613e26997f64cb368d552648
  Author: Jessica Clarke <jrtc27 at jrtc27.com>
  Date:   2025-12-09 (Tue, 09 Dec 2025)

  Changed paths:
    M lld/ELF/Relocations.cpp
    M lld/ELF/Symbols.h

  Log Message:
  -----------
  [NFC][ELF] Remove pointless NEEDS_TLSGD_TO_IE (#171046)

NEEDS_TLSGD_TO_IE is only ever set when the symbol is preeptible, in
which case addTpOffsetGotEntry will just add the symbol to the GOT and
emit a symbolic tlsGotRel anyway, so there is no need to give it its own
special case.

As well as simplifying the code upstream, this is useful downstream for
Morello, which doesn't really have a proper GD/IE-to-LE relaxation, and
so for GD-to-IE can benefit from being able to use the optimisations
addTpOffsetGotEntry has for non-preemptible symbols, rather than having
to reimplement them here.


  Commit: 51d928f0cff426c70d368afd09afd14cf9a67dfe
      https://github.com/llvm/llvm-project/commit/51d928f0cff426c70d368afd09afd14cf9a67dfe
  Author: Gergely Bálint <gergely.balint at arm.com>
  Date:   2025-12-09 (Tue, 09 Dec 2025)

  Changed paths:
    M bolt/test/runtime/AArch64/pacret-synchronous-unwind.cpp

  Log Message:
  -----------
  [BOLT] Fix pacret-synchronous-unwind.cpp test (#171395)

The test case build a binary from C++, and checks for the number of
functions the PointerAuthCFIFixup pass runs on.
This can change based on the platform. To account for this, the patch
changes the number to a regex.

The test failed when running on RHEL 9.


  Commit: b2ddb909cfd410ed22fee79511bd09e1ba3d9829
      https://github.com/llvm/llvm-project/commit/b2ddb909cfd410ed22fee79511bd09e1ba3d9829
  Author: Nikolas Klauser <nikolasklauser at berlin.de>
  Date:   2025-12-09 (Tue, 09 Dec 2025)

  Changed paths:
    M libcxx/src/include/refstring.h

  Log Message:
  -----------
  [libc++] Don't try to be compatible with libstdc++ in __libcpp_refstring on iOS (#170816)

iOS doesn't provide a libstdc++ dylib anymore, so we can remove the
compatiblity check whether we can load the dylib.


  Commit: 6b58449b2c813588f9c251d4f0963762d6746881
      https://github.com/llvm/llvm-project/commit/6b58449b2c813588f9c251d4f0963762d6746881
  Author: Aaron Ballman <aaron at aaronballman.com>
  Date:   2025-12-09 (Tue, 09 Dec 2025)

  Changed paths:
    M clang/utils/ClangVisualizers/clang.natvis

  Log Message:
  -----------
  Update the NATVIS file

ElaboratedType is no longer a thing.


  Commit: b3a5870c64c94c361b4144333066382aac0b6dc9
      https://github.com/llvm/llvm-project/commit/b3a5870c64c94c361b4144333066382aac0b6dc9
  Author: David Spickett <david.spickett at linaro.org>
  Date:   2025-12-09 (Tue, 09 Dec 2025)

  Changed paths:
    M llvm/docs/ReleaseNotes.md

  Log Message:
  -----------
  [llvm][docs] Add a release note for LLDB "version -v"

Added by #170772.


  Commit: c66eb25459279ce7663bcd51eabaeeffafae0366
      https://github.com/llvm/llvm-project/commit/c66eb25459279ce7663bcd51eabaeeffafae0366
  Author: Nikita Popov <npopov at redhat.com>
  Date:   2025-12-09 (Tue, 09 Dec 2025)

  Changed paths:
    M llvm/bindings/ocaml/llvm/llvm_ocaml.c

  Log Message:
  -----------
  [OCaml] Fix build

Fix a mistake introduced in https://github.com/llvm/llvm-project/pull/163979:

We should stick with the deprecated LLVMGetGlobalContext() API
in this file, as getGlobalContextForCAPI() is a C++ API that is
not available here.


  Commit: 7f2bbba60dce67c1eb8cc8b0633d04ca0adfff62
      https://github.com/llvm/llvm-project/commit/7f2bbba60dce67c1eb8cc8b0633d04ca0adfff62
  Author: valadaptive <79560998+valadaptive at users.noreply.github.com>
  Date:   2025-12-09 (Tue, 09 Dec 2025)

  Changed paths:
    M llvm/lib/Transforms/InstCombine/InstCombineCalls.cpp
    A llvm/test/Transforms/InstCombine/AArch64/tbl.ll
    R llvm/test/Transforms/InstCombine/AArch64/tbl1.ll
    A llvm/test/Transforms/InstCombine/ARM/tbl.ll
    R llvm/test/Transforms/InstCombine/ARM/tbl1.ll

  Log Message:
  -----------
  [AArch64][ARM] Optimize more `tbl`/`tbx` calls into `shufflevector` (#169748)

Resolves #169701.

This PR extends the existing InstCombine operation which folds `tbl1`
intrinsics to `shufflevector` if the mask operand is constant. Before
this change, it only handled 64-bit `tbl1` intrinsics with no
out-of-bounds indices. I've extended it to support both 64-bit and
128-bit vectors, and it now handles the full range of `tbl1`-`tbl4` and
`tbx1`-`tbx4`, as long as at most two of the input operands are actually
indexed into.

For the purposes of `tbl`, we need a dummy vector of zeroes if there are
any out-of-bounds indices, and for the purposes of `tbx`, we use the
"fallback" operand. Both of those take up an operand for the purposes of
`shufflevector`.

This works a lot like https://github.com/llvm/llvm-project/pull/169110,
with some added complexity because we need to handle multiple operands.
I raised a couple questions in that PR that still need to be answered:
- Is it correct to check `IsA<UndefValue>` for each mask index, and set
the output mask index to -1 if so? This is later folded to a poison
value, and I'm not sure about the subtle differences between poison and
undef and when you can substitute one for the other. As I mentioned in
#169110, the existing x86 pass (`simplifyX86vpermilvar`) already behaves
this way when it comes to undef.
- How can I write an Alive2 proof for this? It's very hard to find good
documentation or tutorials about Alive2.

As with #169110, most of the regression test cases were generated using
Claude. Everything else was written by me.


  Commit: 1a66474ca0f995868367fd4c22aa1259dcc6cf96
      https://github.com/llvm/llvm-project/commit/1a66474ca0f995868367fd4c22aa1259dcc6cf96
  Author: Alexandros Lamprineas <alexandros.lamprineas at arm.com>
  Date:   2025-12-09 (Tue, 09 Dec 2025)

  Changed paths:
    M clang/test/CodeGen/AArch64/fmv-explicit-priority.c

  Log Message:
  -----------
  [clang][FMV][AArch64] Remove O3 from failing test (#171457)

This fixes the buildbot failures from
https://github.com/llvm/llvm-project/pull/150267.

I could not reproduce them locally but my intuition suggests that the
-O3 option on the RUN line behaves incosistently on different hosts
judging from the error logs.

My intention was to run an integration test which will use llvm's
globalopt pass, but there's no need actually. We have unittests in place
for it.


  Commit: c61a481a231025a90ef12e4f9a04bedb04eeeb99
      https://github.com/llvm/llvm-project/commit/c61a481a231025a90ef12e4f9a04bedb04eeeb99
  Author: Florian Hahn <flo at fhahn.com>
  Date:   2025-12-09 (Tue, 09 Dec 2025)

  Changed paths:
    M llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
    M llvm/test/Transforms/LoopVectorize/hoist-predicated-loads-with-predicated-stores.ll

  Log Message:
  -----------
  [VPlan] Use SCEV to prove non-aliasing for stores at different offsets. (#170347)

Extend the logic add in https://github.com/llvm/llvm-project/pull/168771
to also allow sinking stores past stores in the same noalias set by
checking if we can prove no-alias via the distance between accesses,
checked via SCEV.

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


  Commit: 76cffd310ac45c43c95c879d1bfdc1580a3d591e
      https://github.com/llvm/llvm-project/commit/76cffd310ac45c43c95c879d1bfdc1580a3d591e
  Author: David Spickett <david.spickett at linaro.org>
  Date:   2025-12-09 (Tue, 09 Dec 2025)

  Changed paths:
    M .ci/generate_test_report_lib.py
    M .ci/generate_test_report_lib_test.py

  Log Message:
  -----------
  [CI] Tweak wording for builds with passing tests and build errors (#171436)

"All tests passed" is too easily interpreted as every possible test was
run and was fine. A lot of the time it means all the tests that didn't
fail to build ran and were fine.

Maybe the wording is still too subtle but at least it hints to the idea
that the tests run might be fewer than if the build had no compilation
errors.


  Commit: a03318360649c8b6f30b28e1ee5a76af1f559c51
      https://github.com/llvm/llvm-project/commit/a03318360649c8b6f30b28e1ee5a76af1f559c51
  Author: Aiden Grossman <aidengrossman at google.com>
  Date:   2025-12-09 (Tue, 09 Dec 2025)

  Changed paths:
    M compiler-rt/test/sanitizer_common/TestCases/Linux/soft_rss_limit_mb_test.cpp

  Log Message:
  -----------
  [compiler-rt] Try bumping soft_rss_limit again (#171469)

This is still failing on some of the bots. Try bumping the limit again
to see if this fixes things.


  Commit: 94ebcfd16dac67486bae624f74e1c5c789448bae
      https://github.com/llvm/llvm-project/commit/94ebcfd16dac67486bae624f74e1c5c789448bae
  Author: Men-cotton <mencotton0410 at gmail.com>
  Date:   2025-12-09 (Tue, 09 Dec 2025)

  Changed paths:
    M mlir/lib/Dialect/Vector/Transforms/VectorTransforms.cpp
    M mlir/test/Dialect/Vector/vector-sink.mlir

  Log Message:
  -----------
  [mlir][vector] Fix crash in ReorderCastOpsOnBroadcast with non-vector result (#170985)

Fixes a crash in `ReorderCastOpsOnBroadcast` by ensuring the cast result
is a `VectorType` before applying the pattern.
A regression test has been added to
mlir/test/Dialect/Vector/vector-sink.mlir.

Fixes: #126371


  Commit: 5236af88e5ed0a3449b2292ef02be28b8722b172
      https://github.com/llvm/llvm-project/commit/5236af88e5ed0a3449b2292ef02be28b8722b172
  Author: Jianhui Li <jian.hui.li at intel.com>
  Date:   2025-12-09 (Tue, 09 Dec 2025)

  Changed paths:
    M mlir/include/mlir/Dialect/XeGPU/IR/XeGPUAttrs.td
    M mlir/include/mlir/Dialect/XeGPU/IR/XeGPUOps.td
    M mlir/lib/Dialect/XeGPU/IR/XeGPUDialect.cpp
    M mlir/lib/Dialect/XeGPU/Transforms/XeGPUPropagateLayout.cpp
    M mlir/lib/Dialect/XeGPU/Transforms/XeGPUSubgroupDistribute.cpp
    M mlir/test/Dialect/XeGPU/propagate-layout.mlir
    M mlir/test/Dialect/XeGPU/subgroup-distribute-unit.mlir
    M mlir/test/Dialect/XeGPU/subgroup-distribute.mlir

  Log Message:
  -----------
  [MLIR][XeGPU] Extend propagation and sg_to_lane distribution pass support broadcast with low rank and scalar source input (#170409)

This PR extends XeGPU layout propagation and distribution for
vector.broadcast operation.
It relaxes the restriction of layout propagation to allow low-rank and
scalar source input, and adds a pattern in sg-to-wi distribution to
support the lowering.


  Commit: 0c0ed398ecef2d3840b4ebc11b41d638339d299b
      https://github.com/llvm/llvm-project/commit/0c0ed398ecef2d3840b4ebc11b41d638339d299b
  Author: Jonas Devlieghere <jonas at devlieghere.com>
  Date:   2025-12-09 (Tue, 09 Dec 2025)

  Changed paths:
    M lldb/source/Plugins/LanguageRuntime/ObjC/AppleObjCRuntime/AppleObjCClassDescriptorV2.cpp
    M lldb/source/Plugins/LanguageRuntime/ObjC/AppleObjCRuntime/AppleObjCClassDescriptorV2.h

  Log Message:
  -----------
  [lldb] Don't read firstSubclass and nextSiblingClass from class_rw_t (#171213)

We're considering modifying the ObjC runtime's class_rw_t structure to
remove the firstSubclass and nextSiblingClass fields in some cases. LLDB
is currently reading those but not actually using them. Stop doing that
to avoid issues if they are removed by the runtime.

rdar://166084122


  Commit: 2e16f24957eea220d09bdc869d369c80904eecaf
      https://github.com/llvm/llvm-project/commit/2e16f24957eea220d09bdc869d369c80904eecaf
  Author: Craig Topper <craig.topper at sifive.com>
  Date:   2025-12-09 (Tue, 09 Dec 2025)

  Changed paths:
    M llvm/lib/Target/RISCV/RISCVRegisterInfo.td
    M llvm/test/CodeGen/RISCV/GlobalISel/instruction-select/rvv/select.mir
    M llvm/test/CodeGen/RISCV/rvv/pass-fast-math-flags-sdnode.ll
    M llvm/test/CodeGen/RISCV/rvv/rvv-peephole-vmerge-to-vmv.mir
    M llvm/test/CodeGen/RISCV/rvv/strided-vpload-vpstore-output.ll
    M llvm/test/CodeGen/RISCV/rvv/vleff-vlseg2ff-output.ll
    M llvm/test/CodeGen/RISCV/rvv/vmerge-peephole.mir
    M llvm/test/CodeGen/RISCV/rvv/vmv.v.v-peephole.mir
    M llvm/test/CodeGen/RISCV/rvv/vsetvli-insert-crossbb.mir

  Log Message:
  -----------
  [RISCV] Add VMNoV0 register class with only the VMaskVTs. (#171231)

I plan to use this for inline assembly "vd" contraints with mask types
in a follow up patch. Due to the test changes I wanted to post this
separately.


  Commit: 632cbee244f31854c3d7320033471772a7a2f453
      https://github.com/llvm/llvm-project/commit/632cbee244f31854c3d7320033471772a7a2f453
  Author: Craig Topper <craig.topper at sifive.com>
  Date:   2025-12-09 (Tue, 09 Dec 2025)

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

  Log Message:
  -----------
  [RISCV] Use VM and VMNoV0 for "vr" and "vd" inline asm constraints with mask type. (#171235)

The inline assembly handling in SelectionDAG uses the first type
for the register class as the type at the input/output of the
inlineassembly. If this isn't the type for the surrounding DAG,
it needs to be converted.

nxv8i8 is the first type for the VR and VRNoV0 register classes.
So we currently generate insert/extract_subvector and bitcasts to
convert to/from nxv8i8.

I believe some of the special casing we have for this in
splitValueIntoRegisterParts and joinRegisterPartsIntoValue is causing
us to also generate incorrect code for arguments with nxv16i4 types
that should be any extended to nxv16i8. Instead we widen them to nxv32i4
and bitcast to nxv16i8.
    
This patch uses VM and VMNoV0 for masks which has nxv64i1 as their
first type. This means we will only emit an insert/extract_subvector
without any bitcasts. This will allow me to fix
splitValueIntoRegisterParts and joinRegisterPartsIntoValue to fix the
nxv16i4 argument issue without breaking inline assembly.
    
I may need to add more register classes to cover fractional LMULs,
but I'm not sure yet.


  Commit: b3b033bf7350e6a7cd581caa21f18471aad65c0f
      https://github.com/llvm/llvm-project/commit/b3b033bf7350e6a7cd581caa21f18471aad65c0f
  Author: Andy Kaylor <akaylor at nvidia.com>
  Date:   2025-12-09 (Tue, 09 Dec 2025)

  Changed paths:
    M clang/lib/CIR/CodeGen/CIRGenStmt.cpp

  Log Message:
  -----------
  [CIR][NFC] Fix bad switch fallthroughs in emitStmt (#171224)

This moves a couple of statement emitters that were incorrectly
implemented in the middle of a switch statement where all cases in the
final group are intended to fall through to a handler that emits an NYI
error message. The placement of these implementations was causing some
statement types that should have emitted the NYI error to instead go to
a handler for a different statement type.


  Commit: e6145e870977babfc599d8339675a2b8c56da730
      https://github.com/llvm/llvm-project/commit/e6145e870977babfc599d8339675a2b8c56da730
  Author: Andy Kaylor <akaylor at nvidia.com>
  Date:   2025-12-09 (Tue, 09 Dec 2025)

  Changed paths:
    M clang/lib/CIR/CodeGen/CIRGenExprScalar.cpp

  Log Message:
  -----------
  [CIR][NFC] Add stubs for missing visitors in ScalarExprEmitter (#171222)

This adds stubs that issue NYI errors for any visitor that is present in
the ClangIR incubator but missing in the upstream implementation. This
will make it easier to find to correct locations to implement missing
functionality.


  Commit: 9b12f8fcaeb4e9f8a03de6e982e94e525a9a4dc6
      https://github.com/llvm/llvm-project/commit/9b12f8fcaeb4e9f8a03de6e982e94e525a9a4dc6
  Author: nerix <nerixdev at outlook.de>
  Date:   2025-12-09 (Tue, 09 Dec 2025)

  Changed paths:
    M lldb/test/API/functionalities/data-formatter/data-formatter-stl/generic/shared_ptr/TestDataFormatterStdSharedPtr.py
    M lldb/test/API/functionalities/data-formatter/data-formatter-stl/generic/unique_ptr/TestDataFormatterStdUniquePtr.py

  Log Message:
  -----------
  [LLDB] Run MSVC STL smart pointer tests with PDB (#166946)

Runs the `std::shared/unique_ptr` tests with PDB with two changes:

- PDB uses the "full" name, so `std::string` is `std::basic_string<char,
std::char_traits<char>, std::allocator<char>>`
- The type of the pointer inside the shared/unique_ptr isn't the
`element_type` typedef


  Commit: 1bada0af22d878b2ec0cfefd655c09b801b44918
      https://github.com/llvm/llvm-project/commit/1bada0af22d878b2ec0cfefd655c09b801b44918
  Author: Rajat Bajpai <rbajpai at nvidia.com>
  Date:   2025-12-09 (Tue, 09 Dec 2025)

  Changed paths:
    M llvm/lib/Target/NVPTX/CMakeLists.txt
    M llvm/lib/Target/NVPTX/NVPTX.h
    A llvm/lib/Target/NVPTX/NVPTXIRPeephole.cpp
    M llvm/lib/Target/NVPTX/NVPTXPassRegistry.def
    M llvm/lib/Target/NVPTX/NVPTXTargetMachine.cpp
    A llvm/test/CodeGen/NVPTX/nvptx-fold-fma.ll

  Log Message:
  -----------
  [NVPTX] Add IR pass for FMA transformation in the llc pipeline (#154735)

This change introduces a new IR pass in the llc pipeline for NVPTX that
transforms sequences of FMUL followed by FADD or FSUB into a single FMA
instruction.

Currently, all FMA folding for NVPTX occurs at the DAGCombine stage,
which is too late for any IR-level passes that might want to optimize or
analyze FMAs. By moving this transformation earlier into the IR phase,
we enable more opportunities for FMA folding, including across basic
blocks.

Additionally, this new pass relies on the contract instruction level
fast-math flag to perform these transformations, rather than depending
on the -fp-contract=fast or -enable-unsafe-fp-math options passed to
llc.


  Commit: 4f79552d25c25606f5487076c109b2fe2a76a7e2
      https://github.com/llvm/llvm-project/commit/4f79552d25c25606f5487076c109b2fe2a76a7e2
  Author: BaiXilin <x53bai at uwaterloo.ca>
  Date:   2025-12-09 (Tue, 09 Dec 2025)

  Changed paths:
    M clang/include/clang/Basic/BuiltinsX86.td
    M clang/lib/Headers/avx10_2_512niintrin.h
    M clang/lib/Headers/avx512vlvnniintrin.h
    M clang/lib/Headers/avx512vnniintrin.h
    M clang/lib/Headers/avxvnniint16intrin.h
    M clang/lib/Headers/avxvnniintrin.h
    M clang/test/CodeGen/X86/avx10_2_512ni-builtins.c
    M clang/test/CodeGen/X86/avx10_2ni-builtins.c
    M clang/test/CodeGen/X86/avx512vlvnni-builtins.c
    M clang/test/CodeGen/X86/avx512vnni-builtins.c
    M clang/test/CodeGen/X86/avxvnni-builtins.c
    M clang/test/CodeGen/X86/avxvnniint16-builtins.c
    M llvm/include/llvm/IR/IntrinsicsX86.td
    M llvm/lib/IR/AutoUpgrade.cpp
    M llvm/lib/Transforms/Instrumentation/MemorySanitizer.cpp
    M llvm/test/CodeGen/X86/avx10.2-intrinsic-upgrade.ll
    M llvm/test/CodeGen/X86/avx10_2_512ni-intrinsics.ll
    M llvm/test/CodeGen/X86/avx10_2ni-intrinsics.ll
    M llvm/test/CodeGen/X86/avx512vl_vnni-intrinsics.ll
    M llvm/test/CodeGen/X86/avx512vnni-intrinsics-upgrade.ll
    M llvm/test/CodeGen/X86/avx512vnni-intrinsics.ll
    M llvm/test/CodeGen/X86/avx_vnni-intrinsics-upgrade.ll
    M llvm/test/CodeGen/X86/avx_vnni-intrinsics.ll
    A llvm/test/CodeGen/X86/avxvnniint16-intrinsics-upgrade.ll
    M llvm/test/CodeGen/X86/avxvnniint16-intrinsics.ll
    M llvm/test/CodeGen/X86/stack-folding-int-avxvnni.ll
    M llvm/test/CodeGen/X86/stack-folding-int-avxvnniint16.ll
    M llvm/test/Instrumentation/MemorySanitizer/X86/avx10_2_512ni-intrinsics.ll
    M llvm/test/Instrumentation/MemorySanitizer/X86/avx10_2ni-intrinsics.ll
    M llvm/test/Instrumentation/MemorySanitizer/X86/avx512vl_vnni-intrinsics-upgrade.ll
    M llvm/test/Instrumentation/MemorySanitizer/X86/avx512vl_vnni-intrinsics.ll
    M llvm/test/Instrumentation/MemorySanitizer/X86/avx512vnni-intrinsics-upgrade.ll
    M llvm/test/Instrumentation/MemorySanitizer/X86/avx512vnni-intrinsics.ll
    M llvm/test/Instrumentation/MemorySanitizer/X86/avx_vnni-intrinsics.ll
    M llvm/test/Instrumentation/MemorySanitizer/X86/avxvnniint16-intrinsics.ll

  Log Message:
  -----------
  [x86][AVX-VNNI] Fix VPDPWXXD Argument Types (#169456)

Fixed the argument types of the following intrinsics to match with the
ISA:
 - vpdpwssd_128, vpdpwssd_256, vpdpwssd_512,
 - vpdpwssds_128, vpdpwssds_256, vpdpwssds_512
 - vpdpwsud_128, vpdpwsud_256, vpdowsud_512
 - vpdpwsuds_128, vpdpwsuds_256, vpdpwsuds_512
 - vpdpwusd_128, vpdpwusd_256, vpdpwusd_512
 - vpdpwusds_128, vpdpwusds_256, vpdpwusds_512
 - vpdpwuud_128, vpdpwuud_256, vpdpwuud_512
 - vpdpwuuds_128, vpdpwuuds_256, vpdpwuuds_512

Fixes #97271. Note that this is the last PR for the issue.


  Commit: ef47462ce9f1ade501da011a18869ea2a653d2cb
      https://github.com/llvm/llvm-project/commit/ef47462ce9f1ade501da011a18869ea2a653d2cb
  Author: Alex Voicu <alexandru.voicu at amd.com>
  Date:   2025-12-09 (Tue, 09 Dec 2025)

  Changed paths:
    M llvm/lib/Target/SPIRV/MCTargetDesc/SPIRVInstPrinter.cpp
    M llvm/lib/Target/SPIRV/SPIRVCommandLine.cpp
    M llvm/lib/Target/SPIRV/SPIRVGlobalRegistry.cpp
    M llvm/lib/Target/SPIRV/SPIRVLegalizerInfo.cpp
    M llvm/lib/Target/SPIRV/SPIRVModuleAnalysis.cpp
    M llvm/lib/Target/SPIRV/SPIRVUtils.cpp
    A llvm/test/CodeGen/SPIRV/extensions/SPV_ALTERA_arbitrary_precision_integers/i128-addsub.ll
    A llvm/test/CodeGen/SPIRV/extensions/SPV_ALTERA_arbitrary_precision_integers/i128-arith.ll
    A llvm/test/CodeGen/SPIRV/extensions/SPV_ALTERA_arbitrary_precision_integers/i128-switch-lower.ll
    M llvm/test/CodeGen/SPIRV/extensions/enable-all-extensions-but-one.ll

  Log Message:
  -----------
  [SPIRV] Start adding support for `int128` (#170798)

LLVM has pretty thorough support for `int128`, and it has started seeing
some use. Even thouth we already have support for the
`SPV_ALTERA_arbitrary_precision_integers` extension, the BE was oddly
capping integer width to 64-bits. This patch adds partial support for
lowering 128-bit integers to `OpTypeInt 128`. Some work remains to be
done around legalisation support and validating constant uses (e.g.
cases that get lowered to `OpSpecConstantOp`).


  Commit: 04a5ee6065fe6f2955fece5e8db3ae95cfbcce1c
      https://github.com/llvm/llvm-project/commit/04a5ee6065fe6f2955fece5e8db3ae95cfbcce1c
  Author: Rana Pratap Reddy <109514914+ranapratap55 at users.noreply.github.com>
  Date:   2025-12-09 (Tue, 09 Dec 2025)

  Changed paths:
    M clang/include/clang/Basic/BuiltinsAMDGPU.def

  Log Message:
  -----------
  [AMDGPU] Modifies builtin def to take _Float16('x') for both HIP/C++ and for OpenCL (#167652)

For extended imges insts amdgcn_image_sample_*_/gather4_* builtins,
using 'x' in the builtin def so that it will take _Float16 for both
HIP/C++ and OpenCL.


  Commit: fa607658a2bdbb5b47e6243b3871d4d6aab09335
      https://github.com/llvm/llvm-project/commit/fa607658a2bdbb5b47e6243b3871d4d6aab09335
  Author: cs25resch11005-bhuvan <cs25resch11005 at iith.ac.in>
  Date:   2025-12-09 (Tue, 09 Dec 2025)

  Changed paths:
    M clang/lib/CIR/CodeGen/CIRGenBuiltinX86.cpp
    M clang/test/CIR/CodeGenBuiltins/X86/avx512vl-builtins.c
    A clang/test/CIR/CodeGenBuiltins/X86/avx512vlvbmi2-builtins.c

  Log Message:
  -----------
  [CIR][CIRGen][Builtin][X86] Masked compress Intrinsics (#169582)

Added masked compress builtin in CIR.
Note: This is my first PR to llvm. Looking forward to corrections

---------

Co-authored-by: bhuvan1527 <balabhuvanvarma at gmail.com>


  Commit: ab8208f4f13a256e923342e54439d17022befa01
      https://github.com/llvm/llvm-project/commit/ab8208f4f13a256e923342e54439d17022befa01
  Author: David Spickett <david.spickett at linaro.org>
  Date:   2025-12-09 (Tue, 09 Dec 2025)

  Changed paths:
    M lldb/docs/resources/build.rst

  Log Message:
  -----------
  [lldb][docs] Fix Visual Studio link in build doc

Fixes warning:
build.rst:107: WARNING: 'any' reference target not found: https://visualstudio.microsoft.com


  Commit: 0aa8b8292314be29b02c8d93335c7b04d0fc2221
      https://github.com/llvm/llvm-project/commit/0aa8b8292314be29b02c8d93335c7b04d0fc2221
  Author: David Spickett <david.spickett at linaro.org>
  Date:   2025-12-09 (Tue, 09 Dec 2025)

  Changed paths:
    M lldb/docs/use/map.rst

  Log Message:
  -----------
  [lldb][docs] Fix plaintext markers in command map

Single backticks RST tries to resolve to a reference.
Double means plaintext.

Fixes these warnings:
map.rst:803: WARNING: 'any' reference target not found: target.prefer-dynamic-value
map.rst:814: WARNING: 'any' reference target not found: expr


  Commit: 1dacdbe6669a5df92d7e2a4dcf11110eaaaa41ea
      https://github.com/llvm/llvm-project/commit/1dacdbe6669a5df92d7e2a4dcf11110eaaaa41ea
  Author: Tomohiro Kashiwada <kikairoya at gmail.com>
  Date:   2025-12-09 (Tue, 09 Dec 2025)

  Changed paths:
    M clang/include/clang/Basic/LangOptions.h
    M clang/lib/Sema/SemaDeclCXX.cpp
    M clang/test/CodeGenCXX/dllexport.cpp
    M clang/test/CodeGenCXX/dllimport.cpp
    M clang/test/CodeGenCXX/mingw-template-dllexport.cpp

  Log Message:
  -----------
  [Clang] Export inline move constructors in dllexport-ed template instantiations on non-MSVC targets (#168170)

Previously, even when MSVC compatibility was not requested, inline move
constructors in dllexport-ed templates were not exported, which was
seemingly unintended.
On non-MSVC targets (MinGW, Cygwin, and PS), such move constructors
should be exported consistently with copy constructors and with the
behavior of modern MSVC.


  Commit: 0a39d1ff9e4f8e8fb5138bdd21d88ed163aede3b
      https://github.com/llvm/llvm-project/commit/0a39d1ff9e4f8e8fb5138bdd21d88ed163aede3b
  Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
  Date:   2025-12-09 (Tue, 09 Dec 2025)

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

  Log Message:
  -----------
  [gn build] Port 1bada0af22d8


  Commit: c0eac77f3cc94a1671297b0ef09e1875f7f74dda
      https://github.com/llvm/llvm-project/commit/c0eac77f3cc94a1671297b0ef09e1875f7f74dda
  Author: Anatoly Trosinenko <atrosinenko at accesssoftek.com>
  Date:   2025-12-09 (Tue, 09 Dec 2025)

  Changed paths:
    M bolt/lib/Passes/PAuthGadgetScanner.cpp
    M llvm/include/llvm/ADT/BitVector.h
    M llvm/include/llvm/ADT/SmallBitVector.h
    M llvm/lib/Analysis/StackLifetime.cpp
    M llvm/lib/CodeGen/AsmPrinter/DwarfExpression.cpp
    M llvm/lib/CodeGen/StackColoring.cpp
    M llvm/lib/Target/Hexagon/HexagonBitSimplify.cpp
    M llvm/lib/Target/Hexagon/HexagonGenInsert.cpp
    M llvm/unittests/ADT/BitVectorTest.cpp

  Log Message:
  -----------
  [ADT] BitVector: give `subsetOf(RHS)` name to `!test(RHS)` (NFC) (#170875)

Define `LHS.subsetOf(RHS)` as a more descriptive name for `!LHS.test(RHS)`
and update the existing callers to use that name.

Co-authored-by: Jakub Kuderski <jakub at nod-labs.com>


  Commit: cd805a73737a951049a106de0f61b50e194d7241
      https://github.com/llvm/llvm-project/commit/cd805a73737a951049a106de0f61b50e194d7241
  Author: nerix <nerixdev at outlook.de>
  Date:   2025-12-09 (Tue, 09 Dec 2025)

  Changed paths:
    M lldb/source/Plugins/Language/CPlusPlus/GenericList.cpp
    M lldb/test/API/functionalities/data-formatter/data-formatter-stl/generic/forward_list/TestDataFormatterGenericForwardList.py
    M lldb/test/API/functionalities/data-formatter/data-formatter-stl/generic/list/TestDataFormatterGenericList.py
    M lldb/test/API/functionalities/data-formatter/data-formatter-stl/generic/list/loop/TestDataFormatterGenericListLoop.py

  Log Message:
  -----------
  [LLDB] Run MSVC STL (forward-)list test with PDB (#166953)

Since PDB doesn't have template information, we need to get the element
type from somewhere else. I'm using the type of `_Myval` in a list node,
which holds the element type.


  Commit: d796d73631a9c9cc8a0c6386dba20938b22d34c5
      https://github.com/llvm/llvm-project/commit/d796d73631a9c9cc8a0c6386dba20938b22d34c5
  Author: Mehdi Amini <joker.eph at gmail.com>
  Date:   2025-12-09 (Tue, 09 Dec 2025)

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

  Log Message:
  -----------
  [MLIR] Apply clang-tidy fixes for readability-identifier-naming in Inliner.cpp (NFC)


  Commit: 00bccfca7cc4aacbbef6127a411c22c0e08bc466
      https://github.com/llvm/llvm-project/commit/00bccfca7cc4aacbbef6127a411c22c0e08bc466
  Author: Simon Pilgrim <llvm-dev at redking.me.uk>
  Date:   2025-12-09 (Tue, 09 Dec 2025)

  Changed paths:
    M llvm/test/CodeGen/X86/bitcnt-big-integer.ll

  Log Message:
  -----------
  [X86] bitcnt-big-integer.ll - add additional test coverage where the source values are bitcast from vectors (#171481)


  Commit: 93d2ef105703254769a8f182300b329dad5ed976
      https://github.com/llvm/llvm-project/commit/93d2ef105703254769a8f182300b329dad5ed976
  Author: Jacques Pienaar <jpienaar at google.com>
  Date:   2025-12-09 (Tue, 09 Dec 2025)

  Changed paths:
    M mlir/lib/Bytecode/Reader/BytecodeReader.cpp
    M mlir/unittests/Bytecode/BytecodeTest.cpp

  Log Message:
  -----------
  [mlir][bytecode] Add support for deferred attribute/type parsing. (#170993)

Add ability to defer parsing and re-enqueueing oneself. This enables
changing CallSiteLoc parsing to not recurse as deeply: previously this
could fail (especially on large inputs in debug mode the recursion could
overflow). Add a default depth cutoff, this could be a parameter later
if needed.


  Commit: cc25ac424a856554edb152c09f8217e95b59a7b6
      https://github.com/llvm/llvm-project/commit/cc25ac424a856554edb152c09f8217e95b59a7b6
  Author: Krzysztof Parzyszek <Krzysztof.Parzyszek at amd.com>
  Date:   2025-12-09 (Tue, 09 Dec 2025)

  Changed paths:
    M flang/lib/Parser/openmp-parsers.cpp
    M flang/lib/Semantics/check-omp-loop.cpp
    M flang/lib/Semantics/check-omp-structure.cpp
    M flang/lib/Semantics/resolve-directives.cpp
    M flang/lib/Semantics/rewrite-parse-tree.cpp

  Log Message:
  -----------
  [flang][OpenMP] Use DirId() instead of DirName().v, NFC (#171484)


  Commit: 719826d33df18a2d386c008b11521275e9ec1d74
      https://github.com/llvm/llvm-project/commit/719826d33df18a2d386c008b11521275e9ec1d74
  Author: nerix <nerixdev at outlook.de>
  Date:   2025-12-09 (Tue, 09 Dec 2025)

  Changed paths:
    M lldb/test/API/functionalities/data-formatter/data-formatter-stl/generic/optional/TestDataFormatterGenericOptional.py

  Log Message:
  -----------
  [LLDB] Run MSVC STL optional test with PDB (#171486)

Similar to the other PRs, this runs the `std::optional` test with PDB.
Since we don't know that variables use typedefs, we check for the full
name when testing PDB.


  Commit: 03160c186e90463402786b611826a1702420e1c7
      https://github.com/llvm/llvm-project/commit/03160c186e90463402786b611826a1702420e1c7
  Author: Folkert de Vries <folkert at folkertdev.nl>
  Date:   2025-12-09 (Tue, 09 Dec 2025)

  Changed paths:
    M llvm/lib/Target/X86/X86IntrinsicsInfo.h
    M llvm/test/CodeGen/X86/avx10_2satcvtds-intrinsics.ll

  Log Message:
  -----------
  [X86] fix typo: `MCVTTP2SIS` -> `MCVTTP2UIS` (#171229)

This LLVM IR

https://godbolt.org/z/5bM1vrMY1

```llvm
define <4 x i32> @masked(<2 x double> %a, <4 x i32> %src, i8 noundef zeroext %mask) unnamed_addr #0 {
  %r = tail call <4 x i32> @llvm.x86.avx10.mask.vcvttpd2udqs.128(<2 x double> %a, <4 x i32> %src, i8 noundef %mask)
  ret <4 x i32> %r
}

define <4 x i32> @unmasked(<2 x double> %a) unnamed_addr #0 {
  %r = tail call <4 x i32> @llvm.x86.avx10.mask.vcvttpd2udqs.128(<2 x double> %a, <4 x i32> zeroinitializer, i8 noundef -1)
  ret <4 x i32> %r
}

declare <4 x i32> @llvm.x86.avx10.mask.vcvttpd2udqs.128(<2 x double>, <4 x i32>, i8) unnamed_addr

attributes #0 = { mustprogress nofree norecurse nosync nounwind nonlazybind willreturn memory(none) uwtable "probe-stack"="inline-asm" "target-cpu"="x86-64" "target-features"="+avx10.2-512" }
```

produces 

```asm
masked:                                 # @masked
        kmovd   k1, edi
        vcvttpd2dqs     xmm1 {k1}, xmm0
        vmovaps xmm0, xmm1
        ret
unmasked:                               # @unmasked
        vcvttpd2udqs    xmm0, xmm0
        ret
```

So, when a mask is used, somehow the signed version of this instruction
is selected. I suspect this is a typo.


  Commit: 5052b6ce1d3a1d1b36333f036525ec8cff6c9a10
      https://github.com/llvm/llvm-project/commit/5052b6ce1d3a1d1b36333f036525ec8cff6c9a10
  Author: Anshil Gandhi <95053726+gandhi56 at users.noreply.github.com>
  Date:   2025-12-09 (Tue, 09 Dec 2025)

  Changed paths:
    M llvm/lib/Target/AMDGPU/SIRegisterInfo.cpp
    A llvm/test/CodeGen/AMDGPU/flat-scratch-alloca-issue-155902.ll

  Log Message:
  -----------
  [AMDGPU] Scavenge a VGPR to eliminate a frame index (#166979)

If the subtarget supports flat scratch SVS mode and there is no SGPR
available to replace a frame index, convert a scratch instruction in SS
form into SV form and replace the frame index with a scavenged VGPR.
Resolves #155902

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


  Commit: 24117f75ad9d7bbb439e8e1bd596fdcf0aa8d6e2
      https://github.com/llvm/llvm-project/commit/24117f75ad9d7bbb439e8e1bd596fdcf0aa8d6e2
  Author: Erick Velez <erickvelez7 at gmail.com>
  Date:   2025-12-09 (Tue, 09 Dec 2025)

  Changed paths:
    M clang-tools-extra/clang-doc/CMakeLists.txt
    M clang-tools-extra/clang-doc/Generators.cpp
    M clang-tools-extra/clang-doc/Generators.h
    M clang-tools-extra/clang-doc/HTMLGenerator.cpp
    R clang-tools-extra/clang-doc/HTMLMustacheGenerator.cpp
    M clang-tools-extra/clang-doc/support/Utils.cpp
    M clang-tools-extra/clang-doc/support/Utils.h
    M clang-tools-extra/clang-doc/tool/ClangDocMain.cpp
    M clang-tools-extra/test/clang-doc/DR-131697.cpp
    M clang-tools-extra/test/clang-doc/assets.cpp
    M clang-tools-extra/test/clang-doc/basic-project.mustache.test
    M clang-tools-extra/test/clang-doc/basic-project.test
    M clang-tools-extra/test/clang-doc/comments-in-macros.cpp
    M clang-tools-extra/test/clang-doc/conversion_function.cpp
    M clang-tools-extra/test/clang-doc/enum.cpp
    M clang-tools-extra/test/clang-doc/long-name.cpp
    M clang-tools-extra/test/clang-doc/mustache-index.cpp
    M clang-tools-extra/test/clang-doc/mustache-separate-namespace.cpp
    M clang-tools-extra/test/clang-doc/namespace.cpp
    R clang-tools-extra/test/clang-doc/test-path-abs.cpp
    M clang-tools-extra/unittests/clang-doc/CMakeLists.txt
    M clang-tools-extra/unittests/clang-doc/HTMLGeneratorTest.cpp
    R clang-tools-extra/unittests/clang-doc/HTMLMustacheGeneratorTest.cpp

  Log Message:
  -----------
  [clang-doc] Replace HTML generation with Mustache backend (#170199)

Removes the legacy HTML backend and replaces it with the Mustache
backend.


  Commit: 4bff9fdb908b1f9a3710e4570d249e24bd2aae4d
      https://github.com/llvm/llvm-project/commit/4bff9fdb908b1f9a3710e4570d249e24bd2aae4d
  Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
  Date:   2025-12-09 (Tue, 09 Dec 2025)

  Changed paths:
    M llvm/utils/gn/secondary/clang-tools-extra/clang-doc/BUILD.gn
    M llvm/utils/gn/secondary/clang-tools-extra/unittests/clang-doc/BUILD.gn

  Log Message:
  -----------
  [gn build] Port 24117f75ad9d


  Commit: dc92bd03c965a200724a51ec6d5e89f2d449f1dd
      https://github.com/llvm/llvm-project/commit/dc92bd03c965a200724a51ec6d5e89f2d449f1dd
  Author: Andrew Haberlandt <ndrewh at users.noreply.github.com>
  Date:   2025-12-09 (Tue, 09 Dec 2025)

  Changed paths:
    M compiler-rt/lib/sanitizer_common/sanitizer_mac.cpp
    M compiler-rt/lib/sanitizer_common/sanitizer_posix.h
    M compiler-rt/lib/sanitizer_common/sanitizer_symbolizer_internal.h
    M compiler-rt/lib/sanitizer_common/sanitizer_symbolizer_libcdep.cpp
    M compiler-rt/lib/sanitizer_common/sanitizer_symbolizer_posix_libcdep.cpp

  Log Message:
  -----------
  [sanitizer_common] [Darwin] Replace pty with pipe on posix_spawn path for spawning symbolizer (#170809)

Due to a legacy incompatibility with `atos`, we were allocating a pty
whenever we spawned the symbolizer. This is no longer necessary and we
can use a regular ol' pipe.

This PR is split into two commits:
- The first removes the pty allocation and replaces it with a pipe. This
relocates the `CreateTwoHighNumberedPipes` call to be common to the
`posix_spawn` and `StartSubprocess` path.
- The second commit adds the `child_stdin_fd_` field to
`SymbolizerProcess`, storing the read end of the stdin pipe. By holding
on to this fd for the lifetime of the symbolizer, we are able to avoid
getting SIGPIPE (which would occur when we write to a pipe whose
read-end had been closed due to the death of the symbolizer). This will
be very close to solving #120915, but this PR is intentionally not
touching the non-posix_spawn path.

rdar://165894284


  Commit: 7a5e2c9358eabff3d9eb66141590ac453a2e0e08
      https://github.com/llvm/llvm-project/commit/7a5e2c9358eabff3d9eb66141590ac453a2e0e08
  Author: Florian Hahn <flo at fhahn.com>
  Date:   2025-12-09 (Tue, 09 Dec 2025)

  Changed paths:
    A llvm/test/Transforms/LoopVectorize/runtime-check-threshold-with-force-metadata.ll

  Log Message:
  -----------
  [LV] Add test with threshold=0 and metadata forcing vectorization.

Test case for the mis-compile mentioned in
https://github.com/llvm/llvm-project/pull/166247#issuecomment-3631471588

The issue is that we don't generate a runtime check even though it is
required to vectorize.


  Commit: b3d05e680709dbe7988c25c144dabdadc0c4cf27
      https://github.com/llvm/llvm-project/commit/b3d05e680709dbe7988c25c144dabdadc0c4cf27
  Author: Fateme Hosseini <quic_fhossein at quicinc.com>
  Date:   2025-12-09 (Tue, 09 Dec 2025)

  Changed paths:
    M clang/include/clang/Basic/BuiltinsHexagon.td

  Log Message:
  -----------
   [Hexagon] Add HVX V81 builtins (#170680)

Expose the HVXV81 abs, conversion, comparison, log2, negate and mixed
subtract intrinsics so Clang can emit the new instructions.


  Commit: 0eb00eff475dd3950d8a1e7db14f3905d67d119e
      https://github.com/llvm/llvm-project/commit/0eb00eff475dd3950d8a1e7db14f3905d67d119e
  Author: Ryosuke Niwa <rniwa at webkit.org>
  Date:   2025-12-09 (Tue, 09 Dec 2025)

  Changed paths:
    M clang/lib/StaticAnalyzer/Checkers/WebKit/RetainPtrCtorAdoptChecker.cpp
    M clang/test/Analysis/Checkers/WebKit/retain-ptr-ctor-adopt-use.mm

  Log Message:
  -----------
  [alpha.webkit.RetainPtrCtorAdoptChecker] Don't treat assignment to an +1 out argument as a leak (#161633)

Make RetainPtrCtorAdoptChecker recognize an assignment to an +1 out
argument so that it won't emit a memory leak warning.


  Commit: f9326ffb7ede55229a81907cc03aaa8c523520ab
      https://github.com/llvm/llvm-project/commit/f9326ffb7ede55229a81907cc03aaa8c523520ab
  Author: Ryosuke Niwa <rniwa at webkit.org>
  Date:   2025-12-09 (Tue, 09 Dec 2025)

  Changed paths:
    M clang/lib/StaticAnalyzer/Checkers/WebKit/RawPtrRefLambdaCapturesChecker.cpp
    M clang/lib/StaticAnalyzer/Checkers/WebKit/RawPtrRefLocalVarsChecker.cpp
    M clang/lib/StaticAnalyzer/Checkers/WebKit/RawPtrRefMemberChecker.cpp
    A clang/test/Analysis/Checkers/WebKit/unretained-lambda-captures-weak-arc.mm
    A clang/test/Analysis/Checkers/WebKit/unretained-lambda-captures-weak.mm
    A clang/test/Analysis/Checkers/WebKit/unretained-local-vars-weak-arc.mm
    A clang/test/Analysis/Checkers/WebKit/unretained-local-vars-weak.mm
    A clang/test/Analysis/Checkers/WebKit/unretained-members-weak-arc.mm
    A clang/test/Analysis/Checkers/WebKit/unretained-members-weak.mm

  Log Message:
  -----------
  [WebKit checkers] Treat a weak property / variable as safe (#163689)

Treat a weak Objective-C property, ivar, member variable, and local
variable as safe.


  Commit: 06f0758282bfa5457ea779e66c79fdff34e58320
      https://github.com/llvm/llvm-project/commit/06f0758282bfa5457ea779e66c79fdff34e58320
  Author: Ryosuke Niwa <rniwa at webkit.org>
  Date:   2025-12-09 (Tue, 09 Dec 2025)

  Changed paths:
    M clang/lib/StaticAnalyzer/Checkers/WebKit/ASTUtils.cpp
    M clang/lib/StaticAnalyzer/Checkers/WebKit/ASTUtils.h
    M clang/lib/StaticAnalyzer/Checkers/WebKit/RawPtrRefCallArgsChecker.cpp
    M clang/lib/StaticAnalyzer/Checkers/WebKit/RetainPtrCtorAdoptChecker.cpp
    M clang/test/Analysis/Checkers/WebKit/unretained-call-args.mm

  Log Message:
  -----------
  [alpha.webkit.UnretainedCallArgsChecker] Recognize [allocObj() init] pattern (#161019)

Generalize the check for recognizing [[Obj alloc] init] to also
recognize [allocObj() init]. We do this by utilizing isAllocInit
function in RetainPtrCtorAdoptChecker.


  Commit: 8a115b6934a90441d77ea54af73e7aaaa1394b38
      https://github.com/llvm/llvm-project/commit/8a115b6934a90441d77ea54af73e7aaaa1394b38
  Author: Florian Hahn <flo at fhahn.com>
  Date:   2025-12-09 (Tue, 09 Dec 2025)

  Changed paths:
    M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
    M llvm/test/Transforms/LoopVectorize/runtime-check-threshold-with-force-metadata.ll

  Log Message:
  -----------
  [LV] Mark checks as never succeeding for high cost cutoff.

When GeneratedRTChecks::create bails out due to exceeding the cost
threshold, no runtime checks are generated and we must not proceed
assuming checks have been generated.

Mark the checks as never succeeding, to make sure we don't try to
vectorize assuming the runtime checks hold. This fixes a case where we
previously incorrectly vectorized assuming runtime checks had been
generated when forcing vectorization via metadate.

Fixes the mis-compile mentioned in
https://github.com/llvm/llvm-project/pull/166247#issuecomment-3631471588


  Commit: af3c3ecb181994146df20c82c3046727b62bc269
      https://github.com/llvm/llvm-project/commit/af3c3ecb181994146df20c82c3046727b62bc269
  Author: Philip Ginsbach-Chen <philip.ginsbach at cantab.net>
  Date:   2025-12-09 (Tue, 09 Dec 2025)

  Changed paths:
    M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
    M llvm/lib/Target/AArch64/AArch64PerfectShuffle.h
    M llvm/lib/Target/AArch64/GISel/AArch64PostLegalizerLowering.cpp
    M llvm/test/CodeGen/AArch64/arm64-trn.ll
    M llvm/test/CodeGen/AArch64/fixed-vector-deinterleave.ll
    M llvm/test/CodeGen/AArch64/reduce-shuffle.ll

  Log Message:
  -----------
  [AArch64] recognise trn1/trn2 with flipped operands (#169858)

This PR is very similar to #167235, but applied to `trn` rather than
`zip`. There are two further differences:
- The `@combine_v8i16_8first` and `@combine_v8i16_8firstundef` test
  cases in `arm64-zip.ll` didn't have equivalents in `arm64-trn.ll`, so 
  this PR adds new test cases `@vtrni8_8first`, `@vtrni8_9first`, 
  `@vtrni8_89first_undef`.
- `AArch64TTIImpl::getShuffleCost` calls `isZIPMask`, but not
  `isTRNMask`. It relies on `Kind == TTI::SK_Transpose` instead (which 
  in turn is based on `ShuffleVectorInst::isTransposeMask` through
  `improveShuffleKindFromMask`).
Therefore, this PR does not itself influence the slp-vectorizer. In a 
follow-up PR, I intend to override 
`AArch64TTIImpl::improveShuffleKindFromMask` to ensure we get
`ShuffleKind::SK_Transpose` based on the new `isTRNMask`. In fact, that
follow-up change is the actual motivation for this PR, as it will result
in
  ```C++
  int8x16_t g(int8_t x)
  {
    return (int8x16_t) { 0, x, 1, x, 2, x, 3, x,
                         4, x, 5, x, 6, x, 7, x };
  }
  ```
  from #137447 being optimised by the slp-vectorizer.


  Commit: 0895163097b66f944b0e0a59960eab1deaf36684
      https://github.com/llvm/llvm-project/commit/0895163097b66f944b0e0a59960eab1deaf36684
  Author: Aiden Grossman <aidengrossman at google.com>
  Date:   2025-12-09 (Tue, 09 Dec 2025)

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

  Log Message:
  -----------
  [bazel] Port 24117f75ad9d7bbb439e8e1bd596fdcf0aa8d6e2 (#171497)

This patch removed some source files that were explicitly enumerated in
the bazel files. Remove them so that the build passes.


  Commit: 019a2947719b979a4192ad4baa96e155e240f145
      https://github.com/llvm/llvm-project/commit/019a2947719b979a4192ad4baa96e155e240f145
  Author: Medha Tiwari <75640645+medhatiwari at users.noreply.github.com>
  Date:   2025-12-09 (Tue, 09 Dec 2025)

  Changed paths:
    M clang/lib/CIR/CodeGen/CIRGenBuiltinX86.cpp
    A clang/test/CIR/CodeGenBuiltins/X86/xsave-builtins.c

  Log Message:
  -----------
  [CIR][X86] Implement xsave/xrstor builtins Fixes part of #167752 (#170877)

Handle xsave/xrstor family of X86 builtins in ClangIR

Part of #167752

---------

Signed-off-by: Medha Tiwari <medhatiwari at ibm.com>


  Commit: 87bf5ee23863bc0b467ee44b2184b2c134a98464
      https://github.com/llvm/llvm-project/commit/87bf5ee23863bc0b467ee44b2184b2c134a98464
  Author: Andy Kaylor <akaylor at nvidia.com>
  Date:   2025-12-09 (Tue, 09 Dec 2025)

  Changed paths:
    M clang/include/clang/CIR/Dialect/IR/CIRAttrs.h
    M clang/include/clang/CIR/Dialect/IR/CIRAttrs.td
    M clang/include/clang/CIR/Dialect/IR/CIRTypeConstraints.td
    M clang/include/clang/CIR/Dialect/IR/CIRTypes.td
    M clang/include/clang/CIR/MissingFeatures.h
    M clang/lib/CIR/CodeGen/CIRGenBuilder.h
    M clang/lib/CIR/CodeGen/CIRGenExprScalar.cpp
    M clang/lib/CIR/CodeGen/CIRGenModule.cpp
    M clang/lib/CIR/CodeGen/CIRGenModule.h
    M clang/lib/CIR/CodeGen/CIRGenTypes.cpp
    M clang/lib/CIR/Dialect/IR/CIRAttrs.cpp
    M clang/lib/CIR/Dialect/IR/CIRDialect.cpp
    M clang/lib/CIR/Dialect/IR/CIRTypes.cpp
    M clang/lib/CIR/Dialect/Transforms/CMakeLists.txt
    A clang/lib/CIR/Dialect/Transforms/TargetLowering/CIRCXXABI.cpp
    A clang/lib/CIR/Dialect/Transforms/TargetLowering/CIRCXXABI.h
    A clang/lib/CIR/Dialect/Transforms/TargetLowering/CMakeLists.txt
    A clang/lib/CIR/Dialect/Transforms/TargetLowering/LowerItaniumCXXABI.cpp
    A clang/lib/CIR/Dialect/Transforms/TargetLowering/LowerModule.cpp
    A clang/lib/CIR/Dialect/Transforms/TargetLowering/LowerModule.h
    M clang/lib/CIR/Lowering/DirectToLLVM/CMakeLists.txt
    M clang/lib/CIR/Lowering/DirectToLLVM/LowerToLLVM.cpp
    M clang/lib/CIR/Lowering/DirectToLLVM/LowerToLLVM.h
    A clang/test/CIR/CodeGen/pointer-to-data-member.cpp
    A clang/test/CIR/IR/invalid-data-member.cir
    M clang/utils/TableGen/CIRLoweringEmitter.cpp

  Log Message:
  -----------
  [CIR] Add basic support for data member pointers (#170939)

This adds the minimum support for C++ data member pointer variables.


  Commit: 8f3c8dabc64517132c9c438ff467e75f39fbf8a6
      https://github.com/llvm/llvm-project/commit/8f3c8dabc64517132c9c438ff467e75f39fbf8a6
  Author: Aiden Grossman <aidengrossman at google.com>
  Date:   2025-12-09 (Tue, 09 Dec 2025)

  Changed paths:
    M mlir/lib/Bytecode/Reader/BytecodeReader.cpp

  Log Message:
  -----------
  [MLIR][Bytecode] Use consistent types for resolveEntry (#171502)

uint64_t and size_t are not the same across all platforms. This was
causing build failures when building this file for wasm:

llvm-project/mlir/lib/Bytecode/Reader/BytecodeReader.cpp:1323:19: error:
out-of-line definition of 'resolveEntry' does not match any declaration
in '(anonymous namespace)::AttrTypeReader'
1323 | T AttrTypeReader::resolveEntry(SmallVectorImpl<Entry<T>>
&entries, size_t index,
      |                   ^~~~~~~~~~~~

third_party/llvm/llvm-project/mlir/lib/Bytecode/Reader/BytecodeReader.cpp:851:7:
note: AttrTypeReader defined here
  851 | class AttrTypeReader {
      |       ^~~~~~~~~~~~~~
1 error generated.

Use uint64_t everywhere to ensure portability.


  Commit: 926cbddc185e035a4266f25203e81eec8960f114
      https://github.com/llvm/llvm-project/commit/926cbddc185e035a4266f25203e81eec8960f114
  Author: Andrew Haberlandt <ndrewh at users.noreply.github.com>
  Date:   2025-12-09 (Tue, 09 Dec 2025)

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

  Log Message:
  -----------
  [sanitizer_common] child_stdin_fd_ should only be set on posix_spawn path (#171508)

#170809 added the child_stdin_fd_ field on SymbolizerProcess to allow
the parent process to hold on to the read in of the child's stdin pipe.
This was to avoid SIGPIPE.

However, the `StartSubprocess` path still closes the stdin fd in the
parent here:

https://github.com/llvm/llvm-project/blob/7f5ed91684c808444ede24eb01ad9af73b5806e5/compiler-rt/lib/sanitizer_common/sanitizer_posix_libcdep.cpp#L525-L535

This could cause a double-close of this fd (problematic in the case of
fd reuse).

This moves the `child_stdin_fd_` field to only be initialized on the
posix_spawn path. This should ensure #170809 only truly affects Darwin.


  Commit: 64ee4bf73411d1462fec0c2c2b5c44aaaa3a1903
      https://github.com/llvm/llvm-project/commit/64ee4bf73411d1462fec0c2c2b5c44aaaa3a1903
  Author: Christopher Ferris <cferris1000 at users.noreply.github.com>
  Date:   2025-12-09 (Tue, 09 Dec 2025)

  Changed paths:
    M compiler-rt/lib/scudo/standalone/tests/combined_test.cpp
    M compiler-rt/lib/scudo/standalone/tsd_exclusive.h
    M compiler-rt/lib/scudo/standalone/tsd_shared.h

  Log Message:
  -----------
  [scudo] Refactor initialization of TSDs. (#169738)

Instead of getting a lock and then checking/modifying the Initialization
variable, make it an atomic. Doing this, we can remove one of the
mutexes in shared TSDs and avoid any potential lock contention in both
shared TSDs and exclusive TSDs if multiple threads do allocation
operations at the same time.

Add two new tests that make sure no crashes occur if multiple threads
try and do allocations at the same time.


  Commit: f29d06029f1ccae7359440a5d33d06406d10df31
      https://github.com/llvm/llvm-project/commit/f29d06029f1ccae7359440a5d33d06406d10df31
  Author: Aiden Grossman <aidengrossman at google.com>
  Date:   2025-12-09 (Tue, 09 Dec 2025)

  Changed paths:
    M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
    M llvm/test/Transforms/LoopVectorize/runtime-check-threshold-with-force-metadata.ll

  Log Message:
  -----------
  Revert "[LV] Mark checks as never succeeding for high cost cutoff."

This reverts commit 8a115b6934a90441d77ea54af73e7aaaa1394b38.

This broke premerge. https://lab.llvm.org/staging/#/builders/192/builds/13326

/home/gha/llvm-project/clang/test/Frontend/optimization-remark-options.c:10:11: remark: loop not vectorized: cannot prove it is safe to reorder floating-point operations; allow reordering by specifying '#pragma clang loop vectorize(enable)' before the loop or by providing the compiler option '-ffast-math'


  Commit: d86bc19ad79896b956c828a8f9c2c0d94d131466
      https://github.com/llvm/llvm-project/commit/d86bc19ad79896b956c828a8f9c2c0d94d131466
  Author: Erick Velez <erickvelez7 at gmail.com>
  Date:   2025-12-09 (Tue, 09 Dec 2025)

  Changed paths:
    M clang-tools-extra/clang-doc/JSONGenerator.cpp
    M clang-tools-extra/test/clang-doc/basic-project.mustache.test
    M clang-tools-extra/test/clang-doc/json/class.cpp

  Log Message:
  -----------
  [clang-doc] Do not serialize empty text comments (#169087)


  Commit: 3310c0be583451e5770b6afbedd926ff3781356f
      https://github.com/llvm/llvm-project/commit/3310c0be583451e5770b6afbedd926ff3781356f
  Author: Ramkumar Ramachandra <ramkumar.ramachandra at codasip.com>
  Date:   2025-12-09 (Tue, 09 Dec 2025)

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

  Log Message:
  -----------
  [VPlan] Strip TODO to consolidate (ActiveLaneMask|Widen)PHI (#171392)

They cannot be consolidated, as WidenPHI is not a header PHI, while
ActtiveLaneMaskPHI is.


  Commit: d233e787f0adfa2acd2e6c67aa2c362f9cf47ab4
      https://github.com/llvm/llvm-project/commit/d233e787f0adfa2acd2e6c67aa2c362f9cf47ab4
  Author: Michael Kruse <llvm-project at meinersbur.de>
  Date:   2025-12-09 (Tue, 09 Dec 2025)

  Changed paths:
    M clang/include/clang/Driver/ToolChain.h
    M clang/include/clang/Options/Options.td
    M clang/lib/Driver/Driver.cpp
    M clang/lib/Driver/ToolChain.cpp
    M clang/lib/Driver/ToolChains/AMDGPU.cpp
    M clang/lib/Driver/ToolChains/Flang.cpp
    M clang/lib/Driver/ToolChains/HIPAMD.cpp
    M clang/lib/Driver/ToolChains/HIPSPV.cpp
    R cmake/Modules/GetToolchainDirs.cmake
    M flang-rt/CMakeLists.txt
    M flang-rt/cmake/modules/AddFlangRT.cmake
    M flang-rt/cmake/modules/AddFlangRTOffload.cmake
    R flang-rt/cmake/modules/FlangRTIntrospection.cmake
    A flang-rt/cmake/modules/GetToolchainDirs.cmake
    M flang-rt/lib/CMakeLists.txt
    M flang-rt/lib/runtime/CMakeLists.txt
    R flang-rt/lib/runtime/__cuda_builtins.f90
    R flang-rt/lib/runtime/__cuda_device.f90
    R flang-rt/lib/runtime/__fortran_builtins.f90
    R flang-rt/lib/runtime/__fortran_ieee_exceptions.f90
    R flang-rt/lib/runtime/__fortran_type_info.f90
    R flang-rt/lib/runtime/__ppc_intrinsics.f90
    R flang-rt/lib/runtime/__ppc_types.f90
    R flang-rt/lib/runtime/cooperative_groups.f90
    R flang-rt/lib/runtime/cudadevice.f90
    R flang-rt/lib/runtime/flang_debug.f90
    R flang-rt/lib/runtime/ieee_arithmetic.f90
    R flang-rt/lib/runtime/ieee_exceptions.f90
    R flang-rt/lib/runtime/ieee_features.f90
    R flang-rt/lib/runtime/iso_c_binding.f90
    R flang-rt/lib/runtime/iso_fortran_env.f90
    R flang-rt/lib/runtime/iso_fortran_env_impl.f90
    R flang-rt/lib/runtime/mma.f90
    M flang-rt/test/lit.site.cfg.py.in
    M flang-rt/unittests/CMakeLists.txt
    M flang/CMakeLists.txt
    M flang/include/flang/Frontend/CompilerInvocation.h
    M flang/lib/Frontend/CompilerInvocation.cpp
    M flang/lib/Semantics/semantics.cpp
    A flang/module/.clang-format
    A flang/module/__cuda_builtins.f90
    A flang/module/__cuda_device.f90
    A flang/module/__fortran_builtins.f90
    A flang/module/__fortran_ieee_exceptions.f90
    A flang/module/__fortran_type_info.f90
    A flang/module/__ppc_intrinsics.f90
    A flang/module/__ppc_types.f90
    A flang/module/cooperative_groups.f90
    A flang/module/cudadevice.f90
    A flang/module/flang_debug.f90
    A flang/module/ieee_arithmetic.f90
    A flang/module/ieee_exceptions.f90
    A flang/module/ieee_features.f90
    A flang/module/iso_c_binding.f90
    A flang/module/iso_fortran_env.f90
    A flang/module/iso_fortran_env_impl.f90
    A flang/module/mma.f90
    M flang/test/CMakeLists.txt
    M flang/test/Driver/Inputs/ieee_arithmetic.mod
    M flang/test/Driver/Inputs/iso_fortran_env.mod
    R flang/test/Driver/intrinsic-module-path.F90
    A flang/test/Driver/intrinsic-module-path.f90
    M flang/test/Driver/lto-fatlto.f90
    M flang/test/Driver/pp-fixed-form.f90
    M flang/test/Lower/HLFIR/type-bound-call-mismatch.f90
    M flang/test/Lower/OpenMP/simd_aarch64.f90
    M flang/test/Lower/OpenMP/target-enter-data-default-openmp52.f90
    M flang/test/Preprocessing/fixed-free.f
    M flang/test/Preprocessing/no-pp-if.f90
    M flang/test/Semantics/bug163242.f90
    M flang/test/Semantics/bug164303.f90
    M flang/test/lit.cfg.py
    M flang/test/lit.site.cfg.py.in
    M flang/tools/CMakeLists.txt
    M flang/tools/bbc/bbc.cpp
    A flang/tools/f18/CMakeLists.txt
    A flang/tools/f18/dump.cpp
    M llvm/runtimes/CMakeLists.txt
    M openmp/CMakeLists.txt
    M openmp/README.rst
    A openmp/cmake/modules/LibompCheckFortranFlag.cmake
    M openmp/cmake/modules/LibompHandleFlags.cmake
    M openmp/module/CMakeLists.txt
    M openmp/runtime/CMakeLists.txt
    M openmp/runtime/cmake/LibompExports.cmake
    M openmp/runtime/test/lit.cfg
    M openmp/runtime/test/lit.site.cfg.in
    M runtimes/CMakeLists.txt

  Log Message:
  -----------
  Revert "[Flang] Move builtin .mod generation into runtimes (Reapply #137828) (#169638)"

This reverts commit 7675fc79c802cf7f6a95660f6ee59bf6cb62102f.

Requested in PR:
https://github.com/llvm/llvm-project/pull/169638#issuecomment-3634227707


  Commit: 9e2b8b0254ccd26dc6f3c7abf053646429d9f15d
      https://github.com/llvm/llvm-project/commit/9e2b8b0254ccd26dc6f3c7abf053646429d9f15d
  Author: Jonas Devlieghere <jonas at devlieghere.com>
  Date:   2025-12-09 (Tue, 09 Dec 2025)

  Changed paths:
    M lldb/include/lldb/Interpreter/CommandReturnObject.h
    M lldb/source/Commands/CommandObjectMultiword.cpp
    M lldb/source/Interpreter/CommandInterpreter.cpp
    M lldb/source/Interpreter/CommandReturnObject.cpp
    M lldb/test/API/functionalities/abbreviation/TestAbbreviations.py
    M lldb/test/API/functionalities/ambigous_commands/TestAmbiguousCommands.py
    M lldb/test/API/functionalities/wrong_commands/TestWrongCommands.py
    M lldb/test/Shell/Commands/command-wrong-subcommand-error-msg.test

  Log Message:
  -----------
  [lldb] Remove CommandReturnObject::AppendRawError (#171517)

Remove `CommandReturnObject::AppendRawError` and replace its two uses
with `AppendError`, which correctly prefixes the message with `error:`.
The comment for the method is outdated and the prefixing is clearly
desired in both situations.


  Commit: 794218bc53a42bd87048317506e8794deb0dc8be
      https://github.com/llvm/llvm-project/commit/794218bc53a42bd87048317506e8794deb0dc8be
  Author: Prajwal Nadig <pnadig at apple.com>
  Date:   2025-12-09 (Tue, 09 Dec 2025)

  Changed paths:
    M clang/lib/ExtractAPI/DeclarationFragments.cpp
    M clang/test/ExtractAPI/typedef.c

  Log Message:
  -----------
  [ExtractAPI] Format typedef params correctly (#171516)

Typically, pointer types are formatted in a way where the identifier
comes right after the type definition without a space separating them,
e.g. `int *foo`, where the type is `int *` and the identifier is `foo`.
However, if a type alias to a pointer type is used, the emitted
declaration fragments are incorrect due to the missing space between the
type and identifier, like in the below example:

```
typedef int *T;
// The declaration fragment contains `Tbar` instead of `T bar`
void foo(T bar);
```

This patch checks if pointer types are aliased, and inserts the space
correctly if so.

rdar://132022003


  Commit: fb29a6e4075894e799dd2fb29399c478a4df4462
      https://github.com/llvm/llvm-project/commit/fb29a6e4075894e799dd2fb29399c478a4df4462
  Author: Craig Topper <craig.topper at sifive.com>
  Date:   2025-12-09 (Tue, 09 Dec 2025)

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

  Log Message:
  -----------
  [RISCV] Fix formatting in RISCVInstrInfoXSf.td. NFC (#171500)


  Commit: 84b9e444454a06ddf01f568164e3d5c8d956707d
      https://github.com/llvm/llvm-project/commit/84b9e444454a06ddf01f568164e3d5c8d956707d
  Author: adams381 <adams at nvidia.com>
  Date:   2025-12-09 (Tue, 09 Dec 2025)

  Changed paths:
    M clang/lib/CIR/CodeGen/CIRGenFunction.cpp
    M clang/lib/CIR/CodeGen/CIRGenFunction.h
    A clang/test/CIR/CodeGen/kr-func-promote.c

  Log Message:
  -----------
  [CIR] Add Function Argument Demotion support (#170915)

This PR migrates the Function Argument Demotion feature from the
incubator repository to upstream. The feature handles K&R-style function
parameters that are promoted (e.g., short->int, float->double) and
demotes them back to their declared types.

## Changes
- Add emitArgumentDemotion helper function for type demotion
- Create emitFunctionProlog function to handle function prologue setup
(addresses existing TODO to move parameter handling logic)
- Move parameter handling logic into emitFunctionProlog
- Add test case kr-func-promote.c to verify the feature

Tested: All CIR tests pass (320/321, 99.69%). The one unsupported test
is an expected failure.


  Commit: 0a2e56df64c936bacc746aeb94878d66ee00dec3
      https://github.com/llvm/llvm-project/commit/0a2e56df64c936bacc746aeb94878d66ee00dec3
  Author: adams381 <adams at nvidia.com>
  Date:   2025-12-09 (Tue, 09 Dec 2025)

  Changed paths:
    M clang/include/clang/CIR/Dialect/Builder/CIRBaseBuilder.h
    M clang/include/clang/CIR/Dialect/IR/CIROps.td
    M clang/lib/CIR/CodeGen/CIRGenDecl.cpp
    M clang/lib/CIR/CodeGen/CIRGenExpr.cpp
    M clang/lib/CIR/CodeGen/CIRGenModule.cpp
    M clang/lib/CIR/CodeGen/CIRGenModule.h
    M clang/lib/CIR/Dialect/IR/CIRDialect.cpp
    M clang/lib/CIR/Lowering/DirectToLLVM/LowerToLLVM.cpp
    A clang/test/CIR/CodeGen/tls.c
    A clang/test/CIR/IR/invalid-tls.cir

  Log Message:
  -----------
  [CIR] Add support for thread-local storage (TLS) (#168662)

This commit adds full support for thread-local storage variables in
ClangIR, including code generation, lowering to LLVM IR, and
comprehensive testing.

Changes include:
- Added CIR_TLSModel enum with 4 TLS models (GeneralDynamic,
LocalDynamic, InitialExec, LocalExec) to CIROps.td
- Extended GlobalOp with optional tls_model attribute
- Extended GetGlobalOp with thread_local unit attribute
- Added verification to ensure thread_local GetGlobalOp references
globals with tls_model set
- Implemented GetDefaultCIRTLSModel() and setTLSMode() in CIRGenModule
- Updated getAddrOfGlobalVar() to handle TLS access
- Removed MissingFeatures assertions for TLS operations
- Added lowering of GetGlobalOp with TLS to llvm.threadlocal.address
intrinsic
- Added lowering of GlobalOp with tls_model to LLVM thread_local globals
- Added comprehensive test with CIR, LLVM, and OGCG checks

Known limitations (matching incubator):
- Static local TLS variables not yet implemented
- TLS_Dynamic with wrapper functions not yet implemented

Fixes #153270


  Commit: 27651133e213a6a1eb4d0e47837625cee3613111
      https://github.com/llvm/llvm-project/commit/27651133e213a6a1eb4d0e47837625cee3613111
  Author: anjenner <161845516+anjenner at users.noreply.github.com>
  Date:   2025-12-09 (Tue, 09 Dec 2025)

  Changed paths:
    M llvm/docs/AMDGPUUsage.rst
    M llvm/docs/ReleaseNotes.md
    M llvm/include/llvm/IR/IntrinsicsAMDGPU.td
    M llvm/lib/IR/AutoUpgrade.cpp
    M llvm/lib/Target/AMDGPU/AMDGPUInstructions.td
    M llvm/lib/Target/AMDGPU/AMDGPURegisterBankInfo.cpp
    M llvm/lib/Target/AMDGPU/AMDGPUSearchableTables.td
    M llvm/lib/Target/AMDGPU/BUFInstructions.td
    M llvm/lib/Target/AMDGPU/DSInstructions.td
    M llvm/lib/Target/AMDGPU/FLATInstructions.td
    M llvm/lib/Target/AMDGPU/SIISelLowering.cpp
    M llvm/test/Analysis/UniformityAnalysis/AMDGPU/atomics.ll
    M llvm/test/Bitcode/amdgcn-atomic.ll
    R llvm/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.global.atomic.csub.ll
    M llvm/test/CodeGen/AMDGPU/atomics_cond_sub.ll
    R llvm/test/CodeGen/AMDGPU/llvm.amdgcn.atomic.cond.sub.ll

  Log Message:
  -----------
  AMDGPU: Drop and upgrade llvm.amdgcn.atomic.csub/cond.sub to atomicrmw (#105553)

These both perform conditional subtraction, returning the minuend and
zero respectively, if the difference is negative.


  Commit: 7062cd63d0c258ac499c82dc233259aecac29b06
      https://github.com/llvm/llvm-project/commit/7062cd63d0c258ac499c82dc233259aecac29b06
  Author: Farzon Lotfi <farzonlotfi at microsoft.com>
  Date:   2025-12-09 (Tue, 09 Dec 2025)

  Changed paths:
    M clang/docs/LanguageExtensions.rst
    M clang/docs/MatrixTypes.rst
    M clang/docs/ReleaseNotes.rst
    M clang/include/clang/Basic/DiagnosticDriverKinds.td
    M clang/include/clang/Basic/DiagnosticSemaKinds.td
    M clang/include/clang/Basic/LangOptions.def
    M clang/include/clang/Basic/LangOptions.h
    M clang/include/clang/Options/Options.td
    M clang/lib/Driver/ToolChains/Clang.cpp
    M clang/lib/Frontend/CompilerInvocation.cpp
    M clang/lib/Sema/SemaChecking.cpp
    A clang/test/Driver/fmatrix-memory-layout.c
    A clang/test/Sema/matrix-col-major-builtin-disable.c
    M clang/unittests/Frontend/CompilerInvocationTest.cpp

  Log Message:
  -----------
  [Matrix] Add a row\col major toggle in the clang driver (#167628)

fixes #167621

- define the new options in `Options.td` limit the naming to row-major
or column-major.
- In `ToolChains/Clang.cpp` limit the opt usage to only when
`-fenable-matrix` is used.

---------

Co-authored-by: Florian Hahn <flo at fhahn.com>


  Commit: a9bcedf49f813977a6ba5e770cf0041bfc2fa6b1
      https://github.com/llvm/llvm-project/commit/a9bcedf49f813977a6ba5e770cf0041bfc2fa6b1
  Author: Alex Voicu <alexandru.voicu at amd.com>
  Date:   2025-12-09 (Tue, 09 Dec 2025)

  Changed paths:
    M llvm/lib/Target/SPIRV/SPIRVLegalizerInfo.cpp
    M llvm/lib/Target/SPIRV/SPIRVPreLegalizer.cpp

  Log Message:
  -----------
  [NFC][SPIRV] Fix breakage introduced by #170798 (#171513)

Adding support for i128 missed a few quirks of legalisation, which were
masked previously by early erroring out on bitwidth > 64. i128 uses
should be legal, we decide whether or not the resulting module is viable
(i.e. if the required extensions are present) in the ModuleAnalysis
pass.


  Commit: 782f50792f99740f6cb371f66511f9778104f095
      https://github.com/llvm/llvm-project/commit/782f50792f99740f6cb371f66511f9778104f095
  Author: Derek Schuff <dschuff at chromium.org>
  Date:   2025-12-09 (Tue, 09 Dec 2025)

  Changed paths:
    M lldb/source/Plugins/ObjectFile/wasm/ObjectFileWasm.cpp
    M lldb/source/Plugins/ObjectFile/wasm/ObjectFileWasm.h
    M lldb/test/Shell/Symtab/Inputs/simple.wasm.yaml
    M lldb/test/Shell/Symtab/symtab-wasm.test

  Log Message:
  -----------
  [lldb][Wasm] Handle imports when parsing Wasm name sections (#170960)

LLDB can use the wasm name section to populate its symbol table and get
names for functions. However the index space used in the name section is
the "function index space" which includes imported as well as locally
defined functions.


  Commit: dda715df2d455e8fe0fcb8c2acef961933de1b7c
      https://github.com/llvm/llvm-project/commit/dda715df2d455e8fe0fcb8c2acef961933de1b7c
  Author: Maksim Panchenko <maks at fb.com>
  Date:   2025-12-09 (Tue, 09 Dec 2025)

  Changed paths:
    M bolt/lib/Core/BinaryContext.cpp
    A bolt/test/dwarf5-missing-dwo.c

  Log Message:
  -----------
  [BOLT][DWARF] Improve reporting on missing DWOs (#171506)

List all required missing DWO files and report a summary with
recommendations on how to proceed.


  Commit: 29760ce5d9b9eb54f85992c67408074e55f7ea6d
      https://github.com/llvm/llvm-project/commit/29760ce5d9b9eb54f85992c67408074e55f7ea6d
  Author: Jonas Devlieghere <jonas at devlieghere.com>
  Date:   2025-12-09 (Tue, 09 Dec 2025)

  Changed paths:
    M lldb/source/Interpreter/CommandInterpreter.cpp
    M lldb/test/API/functionalities/abbreviation/TestAbbreviations.py
    M lldb/test/API/functionalities/ambigous_commands/TestAmbiguousCommands.py
    M lldb/test/API/functionalities/wrong_commands/TestWrongCommands.py

  Log Message:
  -----------
  [lldb] Fix capitalization in ambiguous command error (#171519)

We follow LLVM's style guide for diagnostics, which instructs to start
the first sentence with a lowercase letter, and finish the last sentence
without a period, if it would end in one otherwise.


  Commit: 21147e7c95c03f554d4a7fb9b55b8e459357eb49
      https://github.com/llvm/llvm-project/commit/21147e7c95c03f554d4a7fb9b55b8e459357eb49
  Author: Razvan Lupusoru <razvan.lupusoru at gmail.com>
  Date:   2025-12-09 (Tue, 09 Dec 2025)

  Changed paths:
    A mlir/include/mlir/Dialect/OpenACC/OpenACCUtilsTiling.h
    M mlir/lib/Dialect/OpenACC/Utils/CMakeLists.txt
    A mlir/lib/Dialect/OpenACC/Utils/OpenACCUtilsTiling.cpp
    M mlir/unittests/Dialect/OpenACC/CMakeLists.txt
    A mlir/unittests/Dialect/OpenACC/OpenACCUtilsTilingTest.cpp

  Log Message:
  -----------
  [mlir][acc] Add loop tiling utilities for OpenACC (#171490)

Add utilities in OpenACCUtilsTiling.h/.cpp to support tiling
transformations on acc.loop operations:

- uncollapseLoops: Expand collapsed loops with multiple IVs into nested
loop structures when tile count exceeds collapse count
- tileACCLoops: Transform loop nests into tile and element loops based
on provided tile sizes, with automatic resolution of unknown tile sizes
(tile(*) represented as -1)

These utilities prepare for the ACCLoopTiling pass which handles the
OpenACC loop tile directive.

---------

Co-authored-by: Vijay Kandiah <vkandiah at nvidia.com>


  Commit: 687986eb50c10f5dab4b11aeb65bd1c03a102986
      https://github.com/llvm/llvm-project/commit/687986eb50c10f5dab4b11aeb65bd1c03a102986
  Author: Aiden Grossman <aidengrossman at google.com>
  Date:   2025-12-09 (Tue, 09 Dec 2025)

  Changed paths:
    M llvm/docs/CMake.rst

  Log Message:
  -----------
  [Docs] Add documentation for LLVM_ENABLE_CURL (#170928)


  Commit: 53cd4ab41373d07776dc46b75c6759d980f0fbef
      https://github.com/llvm/llvm-project/commit/53cd4ab41373d07776dc46b75c6759d980f0fbef
  Author: Arthur Eubanks <aeubanks at google.com>
  Date:   2025-12-10 (Wed, 10 Dec 2025)

  Changed paths:
    M llvm/lib/CodeGen/ShrinkWrap.cpp
    M llvm/lib/Target/AArch64/AArch64InstrInfo.cpp
    M llvm/lib/Target/AArch64/AArch64InstrInfo.h
    M llvm/lib/Target/AArch64/AArch64RedundantCondBranchPass.cpp
    M llvm/lib/Target/AArch64/AArch64RedundantCopyElimination.cpp
    M llvm/test/CodeGen/AArch64/arm64-shrink-wrapping.ll
    M llvm/test/CodeGen/AArch64/block-placement-optimize-branches.ll
    M llvm/test/CodeGen/AArch64/lr-reserved-for-ra-live-in.ll
    M llvm/test/CodeGen/AArch64/pr164181.ll
    M llvm/test/CodeGen/AArch64/pr166870.ll
    M llvm/test/tools/UpdateTestChecks/update_llc_test_checks/Inputs/aarch64_generated_funcs.ll.generated.expected
    M llvm/test/tools/UpdateTestChecks/update_llc_test_checks/Inputs/aarch64_generated_funcs.ll.nogenerated.expected

  Log Message:
  -----------
  Revert "[AArch64] Run optimizeTerminators earlier too." (#171505)

Reverts llvm/llvm-project#170907

Causes crashes, see
https://github.com/llvm/llvm-project/pull/170907#issuecomment-3634271414


  Commit: eab9394a45276f6eba9e0530b2964325efb725e5
      https://github.com/llvm/llvm-project/commit/eab9394a45276f6eba9e0530b2964325efb725e5
  Author: Naveen Seth Hanig <naveen.hanig at outlook.com>
  Date:   2025-12-10 (Wed, 10 Dec 2025)

  Changed paths:
    M clang/include/clang/DependencyScanning/DependencyScannerImpl.h
    M clang/lib/DependencyScanning/DependencyScannerImpl.cpp
    M clang/lib/DependencyScanning/DependencyScanningWorker.cpp

  Log Message:
  -----------
  [clang][DependencyScanning] Fix spelling mistake for DiagnosticsEngineWithDiagOpts (#171535)


  Commit: c155124bb5189cf0c7fd7db14e07cf3932a11796
      https://github.com/llvm/llvm-project/commit/c155124bb5189cf0c7fd7db14e07cf3932a11796
  Author: Razvan Lupusoru <razvan.lupusoru at gmail.com>
  Date:   2025-12-09 (Tue, 09 Dec 2025)

  Changed paths:
    M mlir/lib/Dialect/OpenACC/Utils/OpenACCUtilsTiling.cpp

  Log Message:
  -----------
  [mlir][acc] Fix build error for tiling API return value (#171546)

The build error looks like:
error: could not convert 'newLoops' from 'SmallVector<[...],3>' to
'SmallVector<[...],6>'
  310 |   return newLoops;

The fix is to remove the explicit size in the local declaration for the
SmallVector being returned.


  Commit: 2d0c14cfb5ca87f15269832269f9e240bad2601d
      https://github.com/llvm/llvm-project/commit/2d0c14cfb5ca87f15269832269f9e240bad2601d
  Author: Aiden Grossman <aidengrossman at google.com>
  Date:   2025-12-09 (Tue, 09 Dec 2025)

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

  Log Message:
  -----------
  [bazel] Port 21147e7c95c03f554d4a7fb9b55b8e459357eb49 (#171545)

Adds a couple additional deps to OpenACCUtils.


  Commit: b3a5ad14bff5888b6095dbfe31b6ff0bf1200d30
      https://github.com/llvm/llvm-project/commit/b3a5ad14bff5888b6095dbfe31b6ff0bf1200d30
  Author: Mike Urbach <mikeurbach at gmail.com>
  Date:   2025-12-09 (Tue, 09 Dec 2025)

  Changed paths:
    M mlir/include/mlir-c/Dialect/IRDL.h
    M mlir/lib/CAPI/Dialect/IRDL.cpp
    M mlir/test/CAPI/irdl.c

  Log Message:
  -----------
  [MLIR][IRDL] Add C API for IRDL Variadicity attributes. (#171076)

This add the basic APIs to create VariadicityAttr and
VariadicityArrayAttr attributes from the C API. This is necessary for
C API users that want to create IRDL dialect declarations.


  Commit: f309fabdfc3b6e70968de7e9deef40b3995911b5
      https://github.com/llvm/llvm-project/commit/f309fabdfc3b6e70968de7e9deef40b3995911b5
  Author: Jianjian Guan <jacquesguan at me.com>
  Date:   2025-12-10 (Wed, 10 Dec 2025)

  Changed paths:
    M llvm/lib/Target/RISCV/GISel/RISCVLegalizerInfo.cpp
    M llvm/test/CodeGen/RISCV/GlobalISel/legalizer/rvv/legalize-insert-subvector.mir

  Log Message:
  -----------
  [RISCV][GISel] Fix legalizer of G_INSERT_SUBVECTOR (#171091)

Fix early exit condition and use the right type as mask type of
vslideup.


  Commit: 17b13e9e3f43d7e1d7036e8b03451148e8250b45
      https://github.com/llvm/llvm-project/commit/17b13e9e3f43d7e1d7036e8b03451148e8250b45
  Author: KAWASHIMA Takahiro <t-kawashima at fujitsu.com>
  Date:   2025-12-10 (Wed, 10 Dec 2025)

  Changed paths:
    M flang/docs/Unsigned.md

  Log Message:
  -----------
  [flang][docs] Correct the title in Unsigned.md (#171553)

Probablly the original author copied `Extensions.md` and forgot to
change the title.


  Commit: 09eb25f1fa47b3776e291fb96bd8664e027de27d
      https://github.com/llvm/llvm-project/commit/09eb25f1fa47b3776e291fb96bd8664e027de27d
  Author: KAWASHIMA Takahiro <t-kawashima at fujitsu.com>
  Date:   2025-12-10 (Wed, 10 Dec 2025)

  Changed paths:
    M flang/docs/OptionComparison.md

  Log Message:
  -----------
  [flang][docs] Replace Flang to Classic Flang in old doc (#171558)

This document was written when Flang was known as F18 and Classic Flang
was known as Flang. The term "Flang" in this document refers to Classic
Flang, except in the first paragraph.

Also, a trivial HTML error is fixed.


  Commit: 468cffb72d1abc657f8c4fa24cb79a5fbe1f7fff
      https://github.com/llvm/llvm-project/commit/468cffb72d1abc657f8c4fa24cb79a5fbe1f7fff
  Author: Brandon Wu <brandon.wu at sifive.com>
  Date:   2025-12-10 (Wed, 10 Dec 2025)

  Changed paths:
    M llvm/test/CodeGen/RISCV/rvv/vfadd-sdnode.ll

  Log Message:
  -----------
  [NFC][RISCV] Make vfadd attribute list follow other tests (#170864)


  Commit: 01c4eb5b9b0690692638e8be353e1c6cf2da5d9a
      https://github.com/llvm/llvm-project/commit/01c4eb5b9b0690692638e8be353e1c6cf2da5d9a
  Author: Aiden Grossman <aidengrossman at google.com>
  Date:   2025-12-10 (Wed, 10 Dec 2025)

  Changed paths:
    M clang-tools-extra/clangd/ClangdLSPServer.cpp
    M clang-tools-extra/clangd/ClangdServer.h
    M clang-tools-extra/clangd/GlobalCompilationDatabase.cpp
    M clang-tools-extra/clangd/GlobalCompilationDatabase.h
    M clang-tools-extra/clangd/tool/Check.cpp
    M clang-tools-extra/clangd/tool/ClangdMain.cpp
    M clang-tools-extra/clangd/unittests/GlobalCompilationDatabaseTests.cpp

  Log Message:
  -----------
  Revert "[clangd] Add a (currently hidden) --strong-workspace-mode flag (#155905)"

This reverts commit 2fa492726e774c050d6f21d57990c8bfbd7f1400.

This caused sanitizer bots to fail and sanitizer errors to show up in
our downstream testing:

```
[ RUN      ] LSPTest.DiagnosticsHeaderSaved
<<< initialize: {}
<-- initialize(0)
third_party/llvm/llvm-project/clang-tools-extra/clangd/ClangdLSPServer.cpp:557:14: runtime error: load of value 112, which is not a valid value for type 'bool'
```

With ASan at -O1.


  Commit: 390f17f2db07f55716ad60b40192fa2049e4a8b3
      https://github.com/llvm/llvm-project/commit/390f17f2db07f55716ad60b40192fa2049e4a8b3
  Author: Peter Collingbourne <pcc at google.com>
  Date:   2025-12-09 (Tue, 09 Dec 2025)

  Changed paths:
    M llvm/lib/Target/AArch64/AArch64AsmPrinter.cpp
    M llvm/test/CodeGen/AArch64/ptrauth-irelative.ll

  Log Message:
  -----------
  AArch64: Emit PAuth ifuncs into the same comdat as the containing global.

PAuth ifuncs contain a relocation pointing to the section they are
relocating (the place), so they need to be in the same comdat in order
to avoid relocations pointing to discarded sections.

Reviewers: atrosinenko, kovdan01, fmayer

Reviewed By: fmayer

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


  Commit: c642fa034fd8c6c33b0932615e961bcc4d51979a
      https://github.com/llvm/llvm-project/commit/c642fa034fd8c6c33b0932615e961bcc4d51979a
  Author: Peter Collingbourne <pcc at google.com>
  Date:   2025-12-09 (Tue, 09 Dec 2025)

  Changed paths:
    M llvm/lib/Target/AArch64/AArch64AsmPrinter.cpp
    M llvm/test/CodeGen/AArch64/ptrauth-irelative.ll
    M llvm/test/CodeGen/AArch64/ptrauth-reloc.ll

  Log Message:
  -----------
  AArch64: Relax restriction on discriminator when PAuth ifunc used.

When a PAuth ifunc is being used, we can represent any discriminator that
we want in the code and don't need to be restricted to 16 bits. For now we
only need this capability for address discriminated ptrauth expressions,
so keep the restriction in place for other discriminators.

Reviewers: atrosinenko, fmayer

Reviewed By: fmayer

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


  Commit: 8b87edfa689a3d02ce85ab908fb510585759dde9
      https://github.com/llvm/llvm-project/commit/8b87edfa689a3d02ce85ab908fb510585759dde9
  Author: Craig Topper <craig.topper at sifive.com>
  Date:   2025-12-09 (Tue, 09 Dec 2025)

  Changed paths:
    M llvm/lib/Analysis/InstructionSimplify.cpp
    M llvm/test/Transforms/InstSimplify/vp-reverse.ll

  Log Message:
  -----------
  [InstSimplify] Ignore mask when combinining vp.reverse(vp.reverse). (#171542)

The mask doesn't really affect the reverse. It only poisons the masked
off elements in the results. It should be ok to ignore the mask if we
can eliminate the pair.

I don't have a specific use case for this, but it matches what I had
implemented in our downstream before the current upstream
implementation. Submitting upstream so I can remove the delta
in my downstream.


  Commit: a8a15515c99c5eeb77ad825474f818887ddc70e8
      https://github.com/llvm/llvm-project/commit/a8a15515c99c5eeb77ad825474f818887ddc70e8
  Author: Susan Tan (ス-ザン タン) <zujunt at nvidia.com>
  Date:   2025-12-09 (Tue, 09 Dec 2025)

  Changed paths:
    M mlir/include/mlir/Dialect/OpenACC/OpenACCOps.td
    M mlir/lib/Dialect/OpenACC/IR/OpenACC.cpp

  Log Message:
  -----------
  [acc] RegionBranchOpInterface for acc regions (#171533)

Defining RegionBranchOpInterface for acc regions will help dataflow
analysis to propagate IN/OUT sets without losing information


  Commit: ec84deac747b47dd530c4a0a1fbaa27584184962
      https://github.com/llvm/llvm-project/commit/ec84deac747b47dd530c4a0a1fbaa27584184962
  Author: Tom Stellard <tstellar at redhat.com>
  Date:   2025-12-09 (Tue, 09 Dec 2025)

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

  Log Message:
  -----------
  workflows/release-documentation: Fix pull request creation (#168981)


  Commit: e7015c9afb54d89f1a9df8d3f6bcbea322eac0a2
      https://github.com/llvm/llvm-project/commit/e7015c9afb54d89f1a9df8d3f6bcbea322eac0a2
  Author: Arthur Eubanks <aeubanks at google.com>
  Date:   2025-12-10 (Wed, 10 Dec 2025)

  Changed paths:
    M compiler-rt/lib/sanitizer_common/sanitizer_posix.h

  Log Message:
  -----------
  [compiler-rt] Fix usage of `stdin`/`stdout` (#171560)

>From #170809.

Causes compile errors when `stdin`/`stdout` are #defined in stdio.h.


  Commit: 0bac8f1729512a0b392908d6a57a00b0387a855f
      https://github.com/llvm/llvm-project/commit/0bac8f1729512a0b392908d6a57a00b0387a855f
  Author: Ben Dunkin <108952361+bdunkin at users.noreply.github.com>
  Date:   2025-12-09 (Tue, 09 Dec 2025)

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

  Log Message:
  -----------
  [clang-format] Handle templates in qualified typenames (#143194)

This fixes the `SpaceBeforeParensOptions.AfterFunctionDeclarationName`
and `SpaceBeforeParensOptions.AfterFunctionDefinitionName` options not
adding spaces when a template type's constructor or destructor is
forward declared or defined outside of the type definition.

Attribution Note - I have been authorized to contribute this change on
behalf of my company: ArenaNet LLC


  Commit: 21871bb650cde9386a4961329397ed36ba6bfe2b
      https://github.com/llvm/llvm-project/commit/21871bb650cde9386a4961329397ed36ba6bfe2b
  Author: Craig Topper <craig.topper at sifive.com>
  Date:   2025-12-09 (Tue, 09 Dec 2025)

  Changed paths:
    M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
    M llvm/lib/Target/RISCV/RISCVRegisterInfo.td
    A llvm/test/CodeGen/RISCV/rvv/pr171141.ll
    M llvm/test/CodeGen/RISCV/rvv/subregister-undef-early-clobber.mir

  Log Message:
  -----------
  [RISCV] Add fractional LMUL register classes for inline assembly. (#171278)

Inline assembly uses the first type from the register class to
connect to the rest of SelectionDAG. By adding fractional LMUL
register classes, we can ensure that this type is the size of the
types we use for fractional LMUL in the rest of SelectionDAG.

This allows us to remove some of the handling we had in
splitValueIntoRegisterParts/joinRegisterPartsIntoValue. This code
was incorrectly handling v16i4 arguments/returns which should be
any_extend to v16i8 to match type legalization. Instead we widened
v16i4 -> v32i4 then bitcasted to v16i8. This merged pairs of i4
elements into an i8 element instead of keeping them as separate
elements that have been extended to i8.

This is an alternative to #171243.
    
Fixes #171141.


  Commit: 570bceaa19829cb5943187b8ed5699a14a74042b
      https://github.com/llvm/llvm-project/commit/570bceaa19829cb5943187b8ed5699a14a74042b
  Author: Sadaf Ebrahimi <sadafebrahimi at google.com>
  Date:   2025-12-09 (Tue, 09 Dec 2025)

  Changed paths:
    M compiler-rt/lib/scudo/standalone/primary64.h

  Log Message:
  -----------
  [scudo] Add last release time info to getStats (#170902)

Knowing when the last page release happened can help us figure out if
the page release is skipped or not.


  Commit: aebab0578b8020cfc05542cfeae5220e408c4a21
      https://github.com/llvm/llvm-project/commit/aebab0578b8020cfc05542cfeae5220e408c4a21
  Author: Vikram Hegde <Vikram.Hegde at amd.com>
  Date:   2025-12-10 (Wed, 10 Dec 2025)

  Changed paths:
    M llvm/include/llvm/Passes/CodeGenPassBuilder.h
    M llvm/test/CodeGen/AMDGPU/llc-pipeline-npm.ll

  Log Message:
  -----------
  [NPM] Schedule PhysicalRegisterUsageAnalysis before RegUsageInfoCollectorPass (#168832)

RegUsageInfoCollectorPass requires PhysicalRegisterUsageAnalysis to be valid. this change is required since its a module analysis.


  Commit: 7464b860e240d76c45cdf0a648f68dbb73b27ea7
      https://github.com/llvm/llvm-project/commit/7464b860e240d76c45cdf0a648f68dbb73b27ea7
  Author: Kinoshita Kotaro <k.kotaro at fujitsu.com>
  Date:   2025-12-10 (Wed, 10 Dec 2025)

  Changed paths:
    M llvm/lib/Target/AArch64/AArch64Features.td
    M llvm/lib/Target/AArch64/AArch64InstrInfo.td
    M llvm/lib/Target/AArch64/AArch64Processors.td
    M llvm/lib/Target/AArch64/AArch64SVEInstrInfo.td
    M llvm/test/CodeGen/AArch64/sve-ld1-addressing-mode-reg-imm.ll
    M llvm/test/CodeGen/AArch64/sve-st1-addressing-mode-reg-imm.ll

  Log Message:
  -----------
  [AArch64][SVE] Add SubtargetFeature to disable lowering unpredicated loads/stores as LDR/STR (#170256)

PR #127837 changed the lowering for unpredicated loads/stores to use LDR/STR instead of LD1/ST1.
However, on some CPUs, such as A64FX, there is a performance difference between LD1/ST1 and LDR/STR.
As a result, the lowering introduced in #127837 can cause a performance regression on these targets.
This patch adds a SubtargetFeature `disable-unpredicated-ld-st-lower` to disable this lowering.
It is enabled for the A64FX target.


  Commit: 13d99e3e6ea583ffc26469de041bf5b7a55ba67b
      https://github.com/llvm/llvm-project/commit/13d99e3e6ea583ffc26469de041bf5b7a55ba67b
  Author: Pengcheng Wang <wangpengcheng.pp at bytedance.com>
  Date:   2025-12-10 (Wed, 10 Dec 2025)

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

  Log Message:
  -----------
  [RISCV] Fix wrong use of SiFiveP400GetVLMAX in RISCVSchedSiFiveP600 (#171562)

There is no difference of functionality and I believe this is a
copy-paste mistake. :-)


  Commit: fcdac8182b834fb9c99f16ce9e2198ba07b62178
      https://github.com/llvm/llvm-project/commit/fcdac8182b834fb9c99f16ce9e2198ba07b62178
  Author: Craig Topper <craig.topper at sifive.com>
  Date:   2025-12-09 (Tue, 09 Dec 2025)

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

  Log Message:
  -----------
  [RISCV] Use frmarg instead of ixlenimm in PseudoFROUND. NFC (#171563)

This is expanded with a custom inserter and this immediate will be
copied to the frm operand of a non-pseudo instruction.


  Commit: d18cdc99bc1a8814deec1de13c92a867cf8b83bd
      https://github.com/llvm/llvm-project/commit/d18cdc99bc1a8814deec1de13c92a867cf8b83bd
  Author: Craig Topper <craig.topper at sifive.com>
  Date:   2025-12-09 (Tue, 09 Dec 2025)

  Changed paths:
    M llvm/include/llvm/TargetParser/RISCVTargetParser.h
    M llvm/lib/Target/RISCV/MCA/RISCVCustomBehaviour.cpp
    M llvm/lib/Target/RISCV/RISCVInsertVSETVLI.cpp
    M llvm/lib/TargetParser/RISCVTargetParser.cpp
    M llvm/unittests/TargetParser/RISCVTargetParserTest.cpp

  Log Message:
  -----------
  [RISCVInsertVSETVLI] Don't allow getSEW/getLMUL to be called for hasSEWLMULRatioOnly(). NFC (#171554)

Refactor some logic in transferBefore to handle hasSEWLMULRatioOnly()
before calling getSEW/getLMUL.

Update adjustIncoming to use getSEWLMULRatio(). Update the interface of
RISCVVType::getSameRatioLMUL to take the ratio instead of SEW and LMUL.
Update the few other callers to call RISCVVType::getSEWLMULRatio first.


  Commit: efda519a909ff140518301c1235381d865dc4305
      https://github.com/llvm/llvm-project/commit/efda519a909ff140518301c1235381d865dc4305
  Author: Luke Lau <luke at igalia.com>
  Date:   2025-12-10 (Wed, 10 Dec 2025)

  Changed paths:
    M llvm/test/Transforms/LoopVectorize/AArch64/predicated-costs.ll

  Log Message:
  -----------
  [LV] Use branch_weights metadata in getPredBlockCostDivisor test. NFC (#171299)

This is more reliable in the event that the trivial fcmp gets folded
away.


  Commit: f40c8e752453fa08b46e21f69842dcf4c8d2422e
      https://github.com/llvm/llvm-project/commit/f40c8e752453fa08b46e21f69842dcf4c8d2422e
  Author: Fangrui Song <i at maskray.me>
  Date:   2025-12-09 (Tue, 09 Dec 2025)

  Changed paths:
    M lld/ELF/Target.h

  Log Message:
  -----------
  ELF: Remove stray ;. NFC


  Commit: dc8fde08211b361b96865cb6e4e7554ddaedeff9
      https://github.com/llvm/llvm-project/commit/dc8fde08211b361b96865cb6e4e7554ddaedeff9
  Author: Bala_Bhuvan_Varma <balabhuvanvarma at gmail.com>
  Date:   2025-12-10 (Wed, 10 Dec 2025)

  Changed paths:
    M mlir/lib/Target/LLVMIR/ModuleImport.cpp
    M mlir/test/Target/LLVMIR/Import/constant.ll
    M mlir/test/Target/LLVMIR/Import/exception.ll
    M mlir/test/Target/LLVMIR/Import/zeroinitializer.ll

  Log Message:
  -----------
  [MLIR][LLVMIR] Fix LLVM IR import of ZeroInitializers to constant zero (#171107)

Constant zero aggregate structures are imported to from llvm IR as
undef.
This includes for example LandingPad Instructions which have zero value
filters, structs.

This fixes the import to use the zeroOp to materialize a
zero-initialized constant.


  Commit: 548901000deeda7ae90c167cb77f43cd42d58304
      https://github.com/llvm/llvm-project/commit/548901000deeda7ae90c167cb77f43cd42d58304
  Author: Michael Klemm <michael.klemm at amd.com>
  Date:   2025-12-10 (Wed, 10 Dec 2025)

  Changed paths:
    M flang-rt/lib/runtime/assign.cpp

  Log Message:
  -----------
  [Flang-rt] Implement same behavior as -O3 for zero-length arrays (#171480)


  Commit: 1c7126d8dbeb542ec158665198c8106b8aaad180
      https://github.com/llvm/llvm-project/commit/1c7126d8dbeb542ec158665198c8106b8aaad180
  Author: Ramkumar Ramachandra <ramkumar.ramachandra at codasip.com>
  Date:   2025-12-10 (Wed, 10 Dec 2025)

  Changed paths:
    M llvm/lib/Transforms/Vectorize/VPlan.h
    M llvm/lib/Transforms/Vectorize/VPlanValue.h

  Log Message:
  -----------
  [VPlan] Combine LiveIns fields into MapVector (NFC) (#170220)

Combine Value2VPValue and VPLiveIns into a single MapVector LiveIns
field, simplifying users.


  Commit: 857b68f112ecb61c43a9aa5bc50fc1e0e7dcaf57
      https://github.com/llvm/llvm-project/commit/857b68f112ecb61c43a9aa5bc50fc1e0e7dcaf57
  Author: Jay Foad <jay.foad at amd.com>
  Date:   2025-12-10 (Wed, 10 Dec 2025)

  Changed paths:
    M llvm/include/llvm/MC/MCInstrDesc.h
    M llvm/test/TableGen/RegClassByHwMode.td
    M llvm/test/TableGen/target-specialized-pseudos.td
    M llvm/utils/TableGen/InstrInfoEmitter.cpp

  Log Message:
  -----------
  [MC] Reorder TARGETInstrTable to shrink MCInstrDesc::ImplicitOffset (#171199)

Put ImplicitOps[] before OperandInfo[] in the generated
TARGETInstrTable. This means that offsets to entries into the (small)
ImplicitOps table do not need to skip over the (large) OperandInfo
table.

This allows shrinking ImplicitOffset from 32 bits to 16 bits
(effectively reverting #138127) which will allow expanding Opcode
instead without increasing the size of MCInstrDesc.


  Commit: bd9651bf78f2b1713a8203e0bd5b97f7ff199924
      https://github.com/llvm/llvm-project/commit/bd9651bf78f2b1713a8203e0bd5b97f7ff199924
  Author: Oleksandr "Alex" Zinenko <git at ozinenko.com>
  Date:   2025-12-10 (Wed, 10 Dec 2025)

  Changed paths:
    M mlir/include/mlir/Bindings/Python/NanobindAdaptors.h
    M mlir/test/python/dialects/pdl_types.py

  Log Message:
  -----------
  [mlir][py] avoid crashing on None contexts in custom `get`s (#171140)

Following a series of refactorings, MLIR Python bindings would crash if
a
dialect object requiring a context defined using
mlir_attribute/type_subclass
was constructed outside of the `ir.Context` context manager. The type
caster
for `MlirContext` would try using `ir.Context.current` when the default
`None`
value was provided to the `get`, which would also just return `None`.
The
caster would then attempt to obtain the MLIR capsule for that `None`,
fail,
but access it anyway without checking, leading to a C++ assertion
failure or
segfault.

Guard against this case in nanobind adaptors. Also emit a warning to the
user
to clarify expectations, as the default message confusingly says that
`None` is
accepted as context and then fails with a type error. Using Python C API
is
currently recommended by nanobind in this case since the surrounding
function
must be marked `noexcept`.

The corresponding test is in the PDL dialect since it is where I first
observed
the behavior. Core types are not using the `mlir_type_subclass`
mechanism and
are immune to the problem, so cannot be used for checking.


  Commit: 43f0b6960e1816d1c1c5ec04ee2bc8c5638fb4e0
      https://github.com/llvm/llvm-project/commit/43f0b6960e1816d1c1c5ec04ee2bc8c5638fb4e0
  Author: Rana Pratap Reddy <109514914+ranapratap55 at users.noreply.github.com>
  Date:   2025-12-10 (Wed, 10 Dec 2025)

  Changed paths:
    M clang/include/clang/Basic/Builtins.def
    M clang/lib/AST/ASTContext.cpp

  Log Message:
  -----------
  [AMDGPU] Removal of language sensitive option for _Float16 and half('e') handling (#170443)

Removing the 'e' handling for the amdgcn builtins as we decided to use
_Float16 for both HIP/C++ and OpenCL


  Commit: 56e092c089ed6194b617593eadea45787a29564f
      https://github.com/llvm/llvm-project/commit/56e092c089ed6194b617593eadea45787a29564f
  Author: Chuan-Yue Yuan <84860242+circYuan at users.noreply.github.com>
  Date:   2025-12-10 (Wed, 10 Dec 2025)

  Changed paths:
    M llvm/lib/Target/RISCV/GISel/RISCVLegalizerInfo.cpp
    A llvm/test/CodeGen/RISCV/GlobalISel/fp-fcanonicalize.ll
    M llvm/test/CodeGen/RISCV/GlobalISel/legalizer-info-validation.mir

  Log Message:
  -----------
  [RISCV][GISel] Legalize the G_FCANONICALIZE instruction (#166162)


  Commit: 62dbe573cf05135875e36fc2a81f5f56c0db5820
      https://github.com/llvm/llvm-project/commit/62dbe573cf05135875e36fc2a81f5f56c0db5820
  Author: Brad Smith <brad at comstyle.com>
  Date:   2025-12-10 (Wed, 10 Dec 2025)

  Changed paths:
    M compiler-rt/lib/sanitizer_common/sanitizer_linux.cpp
    M compiler-rt/lib/sanitizer_common/sanitizer_platform_limits_posix.h

  Log Message:
  -----------
  [compiler-rt][sanitizer] fix i386 build for Haiku (#171075)

r13 does not provide the trap err.

Co-authored-by: Jerome Duval <jerome.duval at gmail.com>


  Commit: a108881b24ecfea8d194b33dd9fb211943065bca
      https://github.com/llvm/llvm-project/commit/a108881b24ecfea8d194b33dd9fb211943065bca
  Author: hev <wangrui at loongson.cn>
  Date:   2025-12-10 (Wed, 10 Dec 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
    M llvm/test/CodeGen/LoongArch/lasx/bitreverse.ll
    M llvm/test/CodeGen/LoongArch/lasx/ir-instruction/avg.ll
    A llvm/test/CodeGen/LoongArch/lasx/issue170976.ll
    M llvm/test/CodeGen/LoongArch/lsx/bitreverse.ll
    M llvm/test/CodeGen/LoongArch/lsx/ir-instruction/avg.ll
    A llvm/test/CodeGen/LoongArch/lsx/issue170976.ll

  Log Message:
  -----------
  [LoongArch] Custom lowering for vector logical right shifts of integers (#171097)

After PR #169491, the DAG combiner can still recreate vector UDIV in an
illegal type even after type legalization, which is the root cause of
issue #170976.

The optimization introduced in PR #169491 is still desirable, so this
patch adds custom lowering for vector integer logical right shifts to
prevent the DAG from producing nodes with illegal types.

Fixes #170976


  Commit: 804e768bda1697ce0449eec844bd9ac4f29aed64
      https://github.com/llvm/llvm-project/commit/804e768bda1697ce0449eec844bd9ac4f29aed64
  Author: Simon Pilgrim <llvm-dev at redking.me.uk>
  Date:   2025-12-10 (Wed, 10 Dec 2025)

  Changed paths:
    M llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
    M llvm/test/CodeGen/X86/avgfloors-scalar.ll
    M llvm/test/CodeGen/X86/avgflooru-scalar.ll

  Log Message:
  -----------
  [DAG] Recognise AVGFLOOR (((A >> 1) + (B >> 1)) + (A & B & 1)) patterns (#169644)

Recognise 'LSB' style AVGFLOOR patterns.

Alive2:
[https://alive2.llvm.org/ce/z/nfSSk_](https://alive2.llvm.org/ce/z/nfSSk_)

Fixes #53648


  Commit: 5759a3a7798a2c3b5535e0a6a0cd2e8f8632c48e
      https://github.com/llvm/llvm-project/commit/5759a3a7798a2c3b5535e0a6a0cd2e8f8632c48e
  Author: Mirko Brkušanin <Mirko.Brkusanin at amd.com>
  Date:   2025-12-10 (Wed, 10 Dec 2025)

  Changed paths:
    M clang/include/clang/Basic/BuiltinsAMDGPU.def
    M clang/test/CodeGenOpenCL/amdgpu-cluster-dims.cl
    M clang/test/CodeGenOpenCL/amdgpu-features.cl
    M clang/test/CodeGenOpenCL/builtins-amdgcn-gfx1250.cl
    M llvm/include/llvm/IR/IntrinsicsAMDGPU.td
    M llvm/lib/Target/AMDGPU/AMDGPU.td
    M llvm/lib/Target/AMDGPU/AMDGPUInstructionSelector.cpp
    M llvm/lib/Target/AMDGPU/AMDGPUMemoryUtils.cpp
    M llvm/lib/Target/AMDGPU/AMDGPURegisterBankInfo.cpp
    M llvm/lib/Target/AMDGPU/GCNSubtarget.h
    M llvm/lib/Target/AMDGPU/SIISelLowering.cpp
    M llvm/lib/Target/AMDGPU/SOPInstructions.td
    M llvm/lib/TargetParser/TargetParser.cpp
    M llvm/test/CodeGen/AMDGPU/amdgpu-lower-exec-sync-and-module-lds.ll
    M llvm/test/CodeGen/AMDGPU/amdgpu-lower-exec-sync.ll
    A llvm/test/CodeGen/AMDGPU/s-wakeup-barrier.ll
    M llvm/test/MC/AMDGPU/gfx1250_asm_sop1.s
    M llvm/test/MC/Disassembler/AMDGPU/gfx1250_dasm_sop1.txt

  Log Message:
  -----------
  [AMDGPU] Add s_wakeup_barrier instruction for gfx1250 (#170501)


  Commit: 52efe037cca529ed5f8e6ec8d0978f279c829eea
      https://github.com/llvm/llvm-project/commit/52efe037cca529ed5f8e6ec8d0978f279c829eea
  Author: Timm Baeder <tbaeder at redhat.com>
  Date:   2025-12-10 (Wed, 10 Dec 2025)

  Changed paths:
    M clang/test/AST/ByteCode/placement-new.cpp

  Log Message:
  -----------
  [clang][bytecode] Enable some placement-new tests (#171567)

They used to cause problems. Use the BYTECODE define to enable them at
least for the bytecode interpreter.


  Commit: 8c210640f6f43c8c0b2288d47f18d9a01bb98b7c
      https://github.com/llvm/llvm-project/commit/8c210640f6f43c8c0b2288d47f18d9a01bb98b7c
  Author: Benjamin Maxwell <benjamin.maxwell at arm.com>
  Date:   2025-12-10 (Wed, 10 Dec 2025)

  Changed paths:
    M llvm/lib/Target/AArch64/AArch64SelectionDAGInfo.cpp
    M llvm/lib/Target/AArch64/AArch64SelectionDAGInfo.h
    M llvm/test/CodeGen/AArch64/streaming-compatible-memory-ops.ll

  Log Message:
  -----------
  [AArch64][SME] Lower memchr to __arm_sc_memchr in streaming[-compatible] functions (#168896)

This allows us to avoid some streaming-mode switches.


  Commit: c567e28a9d1c8f184f9cfdc6f9e1c8a6bcb8d296
      https://github.com/llvm/llvm-project/commit/c567e28a9d1c8f184f9cfdc6f9e1c8a6bcb8d296
  Author: Nikolas Klauser <nikolasklauser at berlin.de>
  Date:   2025-12-10 (Wed, 10 Dec 2025)

  Changed paths:
    M libcxx/docs/ReleaseNotes/22.rst
    M libcxx/include/__vector/vector_bool.h
    M libcxx/test/benchmarks/containers/sequence/vector_bool.bench.cpp

  Log Message:
  -----------
  [libc++] Optimize vector<bool>::reserve (#170137)

Apple M4:
```
Benchmark                                                                      old        new    Difference    % Difference
--------------------------------------------------------------------------  ------  ----------  ------------  --------------
vector<bool>(const_vector<bool>&)                                            12.73       12.87          0.14           1.07%
vector<bool>(size_type,_const_value_type&)                                    9.39        9.41          0.02           0.22%
vector<bool>(vector<bool>&&,_const_allocator_type&)_(different_allocators)   16.87       15.22         -1.65          -9.80%
vector<bool>(vector<bool>&&,_const_allocator_type&)_(equal_allocators)        2.68        2.73          0.05           1.90%
vector<bool>::reserve()                                                      11.81        9.43         -2.38         -20.14%
Geomean                                                                       9.14        8.62         -0.53          -5.76%
```


  Commit: 5195daf50ae89982a13121db697cedb6b4462ec0
      https://github.com/llvm/llvm-project/commit/5195daf50ae89982a13121db697cedb6b4462ec0
  Author: Timm Baeder <tbaeder at redhat.com>
  Date:   2025-12-10 (Wed, 10 Dec 2025)

  Changed paths:
    M clang/test/AST/ByteCode/new-delete.cpp

  Log Message:
  -----------
  [clang][bytecode][NFC] Remove an outdated comment (#171569)

Both implementations emit the same diagnostics these days.


  Commit: d6e6661f69ccaa243bf300cc2797452894d2d6b1
      https://github.com/llvm/llvm-project/commit/d6e6661f69ccaa243bf300cc2797452894d2d6b1
  Author: Mehdi Amini <joker.eph at gmail.com>
  Date:   2025-12-10 (Wed, 10 Dec 2025)

  Changed paths:
    M mlir/lib/Bindings/Python/TransformInterpreter.cpp

  Log Message:
  -----------
  [MLIR] Apply clang-tidy fixes for llvm-include-order in TransformInterpreter.cpp (NFC)


  Commit: 6f1cab2e905f1bb9fb263de3b360753c73ee2922
      https://github.com/llvm/llvm-project/commit/6f1cab2e905f1bb9fb263de3b360753c73ee2922
  Author: Mehdi Amini <joker.eph at gmail.com>
  Date:   2025-12-10 (Wed, 10 Dec 2025)

  Changed paths:
    M mlir/unittests/Analysis/Presburger/PresburgerSetTest.cpp

  Log Message:
  -----------
  [MLIR] Apply clang-tidy fixes for misc-use-internal-linkage in PresburgerSetTest.cpp (NFC)


  Commit: 4ff1bd53c25e252b6bafd50efde2499281fe8309
      https://github.com/llvm/llvm-project/commit/4ff1bd53c25e252b6bafd50efde2499281fe8309
  Author: David Spickett <david.spickett at linaro.org>
  Date:   2025-12-10 (Wed, 10 Dec 2025)

  Changed paths:
    M bolt/README.md

  Log Message:
  -----------
  [BOLT][docs] Document commands to identify BOLT-ed binaries (#171458)

These have been useful to me in the past and I don't see any docs
referencing the `bolt_info` note either.

There is a test checking that it is emitted, so I assume it's something
we are ok with people looking for.


  Commit: 4c7b5dfbc26880c5683494476c208ebb8c95bb22
      https://github.com/llvm/llvm-project/commit/4c7b5dfbc26880c5683494476c208ebb8c95bb22
  Author: David Spickett <david.spickett at linaro.org>
  Date:   2025-12-10 (Wed, 10 Dec 2025)

  Changed paths:
    M flang/docs/GettingStarted.md

  Log Message:
  -----------
  [flang][docs] Do not recommend FLANG_ENABLE_WERROR=ON... (#171152)

...unless the reader is going to contribute to Flang.

Fixes #168911.

In which someone followed the getting started instructions but because
they were using GCC and it produced some warnings, those got upgraded to
errors and failed the build.

The GCC builds of anything in LLVM are always going to have some warning
of some kind, so while it would be nice to fix or silence them, let's
not inflict that on new developers.

This option defaults to `OFF` and is turned `ON` by a handful of bots,
so if the intent was to make developers more attentive to warnings, that
will still happen. Just a bit later, which that's better than putting
them off up front.

If they go on to contribute, they can switch to a Clang build and enable
the option to save themselves some post-commit hassle.


  Commit: 53674e2da437646591a6d20397cfd6c645dbf250
      https://github.com/llvm/llvm-project/commit/53674e2da437646591a6d20397cfd6c645dbf250
  Author: David Spickett <david.spickett at linaro.org>
  Date:   2025-12-10 (Wed, 10 Dec 2025)

  Changed paths:
    M lldb/docs/resources/formatterbytecode.rst

  Log Message:
  -----------
  [lldb][docs] Fix plaintext markers in Formatter bytecode doc (#171430)

RST uses double backtick for plain text. For single backtick it will try
to resolve it to a reference then fall back to plain text if it doesn't
resolve.

This leads to a lot of warnings like:
formatterbytecode.rst:7: WARNING: 'any' reference target not found:
~/.lldbinit

As seen on the publish-sphinx-docs bot.


  Commit: 951795abaf0dbb2f955b333ccb5ce5f71cb82d24
      https://github.com/llvm/llvm-project/commit/951795abaf0dbb2f955b333ccb5ce5f71cb82d24
  Author: Michael Buch <michaelbuch12 at gmail.com>
  Date:   2025-12-10 (Wed, 10 Dec 2025)

  Changed paths:
    M llvm/docs/CommandGuide/lit.rst
    M llvm/utils/lit/lit/TestTimes.py
    M llvm/utils/lit/lit/cl_arguments.py
    M llvm/utils/lit/lit/main.py
    A llvm/utils/lit/tests/Inputs/filter-failed/fail.txt
    A llvm/utils/lit/tests/Inputs/filter-failed/lit.cfg
    A llvm/utils/lit/tests/Inputs/filter-failed/pass.txt
    A llvm/utils/lit/tests/Inputs/filter-failed/unresolved.txt
    A llvm/utils/lit/tests/Inputs/filter-failed/xfail.txt
    A llvm/utils/lit/tests/Inputs/filter-failed/xpass.txt
    A llvm/utils/lit/tests/filter-failed-delete.py
    A llvm/utils/lit/tests/filter-failed-rerun.py
    A llvm/utils/lit/tests/filter-failed.py

  Log Message:
  -----------
  [llvm][lit] Add option to run only the failed tests (#158043)

This patch adds a new `--filter-failed` option to `llvm-lit`, which when
set, will only run the tests that have previously failed.


  Commit: 680c20d1e39392e67d91f210995f7d97446ac40a
      https://github.com/llvm/llvm-project/commit/680c20d1e39392e67d91f210995f7d97446ac40a
  Author: David Spickett <david.spickett at linaro.org>
  Date:   2025-12-10 (Wed, 10 Dec 2025)

  Changed paths:
    M lldb/docs/resources/sbapi.rst
    M lldb/include/lldb/API/SBError.h
    M lldb/source/API/SBDebugger.cpp
    M lldb/unittests/DAP/TestBase.cpp

  Log Message:
  -----------
  [lldb] Document the behaviour of IsValid for SBError (#170862)

This reverts commit d20d84fec5945fcc16aa6f63879e1458d4af9ea6.

Fixes #169788, but in a different way.

In which I changed an SBError use so that when the function succeeded,
IsValid on the SBError would be true.

This seemed to make sense but SBError acts differently to other SB
classes in this respect. For something like SBMemoryRegionInfo, if
IsValid() is false, you can't do anything with it.

However for SBError, IsValid() true only means there's some underlying
error object in there. If the SBError represents a success, there's no
need to put anything in there.

You can see this intent from a lot of its methods, many have handling
for IsValid() false.

This is not a bug but a misunderstanding of what IsValid means. Yes it
does function the way I expected for most classes, but it does not for
SBError and though that's not intuitive, it is consistent with how we
describe IsValid in the documentation.

So instead of changing that method's use of SBError I'm documenting this
initially counterintuitive behaviour in the SBError header and on the
website (https://lldb.llvm.org/resources/sbapi.html).


  Commit: 950f8a8d925d702b76c2f70bf950e5586b63f456
      https://github.com/llvm/llvm-project/commit/950f8a8d925d702b76c2f70bf950e5586b63f456
  Author: Wenju He <wenju.he at intel.com>
  Date:   2025-12-10 (Wed, 10 Dec 2025)

  Changed paths:
    M clang/include/clang/Basic/OpenCLExtensions.def
    M clang/lib/Basic/Targets/AMDGPU.h
    M clang/test/Misc/amdgcn.languageOptsOpenCL.cl

  Log Message:
  -----------
  [OpenCL] Re-enable corresponding __opencl_* feature macros for OpenCL 2.0 core extensions (#171529)

Commit 423bdb2bf257e removed OpenCL 2.0 __opencl_* feature macros
(https://github.com/llvm/llvm-project/blob/fd73bdd662da/clang/lib/Headers/opencl-c-base.h#L60-L72)
from header and thus they are disabled by default for non-SPIR/SPIRV
targets now.
This PR re-enables them for OpenCL 2.0, and shall restore previous
behavior that these features macros were always defined for OpenCL 2.0
core extensions. After this PR, targets that support OpenCL 2.0 must
enable these feature macros via setSupportedOpenCLOpts API.


  Commit: 365ae7afe26bd473f269be493ca5aaa5a5a596a4
      https://github.com/llvm/llvm-project/commit/365ae7afe26bd473f269be493ca5aaa5a5a596a4
  Author: Dan Blackwell <dan_blackwell at apple.com>
  Date:   2025-12-10 (Wed, 10 Dec 2025)

  Changed paths:
    M compiler-rt/test/sanitizer_common/CMakeLists.txt
    M compiler-rt/test/sanitizer_common/TestCases/Darwin/print-stack-trace-in-code-loaded-after-fork.cpp
    M compiler-rt/test/sanitizer_common/TestCases/Darwin/symbolizer-function-offset-atos.cpp
    M compiler-rt/test/sanitizer_common/TestCases/Posix/dedup_token_length_test.cpp
    M compiler-rt/test/sanitizer_common/TestCases/Posix/posix_spawn.c
    M compiler-rt/test/sanitizer_common/TestCases/sanitizer_coverage_trace_pc_guard.cpp
    M compiler-rt/test/sanitizer_common/lit.site.cfg.py.in

  Log Message:
  -----------
  [compiler-rt][sanitizer_common] Make sanitizer_common tests work for other Apple Platforms (#150994)

This commit addresses a longstanding TODO comment, by doing the
following:
* Modifies the CMakeLists to add the new test configs
* Modifies the relevant lit file to add the required envs
* Fixes the FileCheck match in
`Darwin/symbolizer-function-offset-atos.cpp`
* XFAILs any appropriate tests

rdar://107758331


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

  Changed paths:
    M lldb/docs/resources/formatterbytecode.rst

  Log Message:
  -----------
  [lldb][docs] Fix doc link syntax in bytecode formatter doc

This was flagged after the changes in 53674e2da437646591a6d20397cfd6c645dbf250.

Fixes warning:
formatterbytecode.rst:7: WARNING: 'any' reference target not found: ). To use custom data formatters, developers need to edit the global ``~/.lldbinit`


  Commit: 86849629ae15bed4cc1613a1d1e95ba1c9a7aa59
      https://github.com/llvm/llvm-project/commit/86849629ae15bed4cc1613a1d1e95ba1c9a7aa59
  Author: David Spickett <david.spickett at linaro.org>
  Date:   2025-12-10 (Wed, 10 Dec 2025)

  Changed paths:
    M lldb/docs/index.rst

  Log Message:
  -----------
  [lldb][docs] Remove dead link in toctree

Fixes warning:
index.rst:144: WARNING: toctree contains reference to nonexisting document 'use/python'

There used to be such a page but the URL now redirects
to "script-driven-debugging" which is in the "Python Reference"
section.


  Commit: 3847648e84d2ff5194f605a8a9a5c0a5e5174939
      https://github.com/llvm/llvm-project/commit/3847648e84d2ff5194f605a8a9a5c0a5e5174939
  Author: Michael Buch <michaelbuch12 at gmail.com>
  Date:   2025-12-10 (Wed, 10 Dec 2025)

  Changed paths:
    M llvm/docs/CommandGuide/lit.rst
    M llvm/utils/lit/lit/TestTimes.py
    M llvm/utils/lit/lit/cl_arguments.py
    M llvm/utils/lit/lit/main.py
    R llvm/utils/lit/tests/Inputs/filter-failed/fail.txt
    R llvm/utils/lit/tests/Inputs/filter-failed/lit.cfg
    R llvm/utils/lit/tests/Inputs/filter-failed/pass.txt
    R llvm/utils/lit/tests/Inputs/filter-failed/unresolved.txt
    R llvm/utils/lit/tests/Inputs/filter-failed/xfail.txt
    R llvm/utils/lit/tests/Inputs/filter-failed/xpass.txt
    R llvm/utils/lit/tests/filter-failed-delete.py
    R llvm/utils/lit/tests/filter-failed-rerun.py
    R llvm/utils/lit/tests/filter-failed.py

  Log Message:
  -----------
  Revert "[llvm][lit] Add option to run only the failed tests" (#171582)

Reverts llvm/llvm-project#158043

This was approved for earlier revisions but the tests were failing on
Windows. I pushed a speculative fix and that fixed the CI, which caused
auto-merge to merge the PR. But I'd like to have approval for the latest
revision. So reverting for now and resubmitting a new PR


  Commit: 578a26ada2e51e90733b50d048b0d74ac48ab21c
      https://github.com/llvm/llvm-project/commit/578a26ada2e51e90733b50d048b0d74ac48ab21c
  Author: Diana Picus <Diana-Magda.Picus at amd.com>
  Date:   2025-12-10 (Wed, 10 Dec 2025)

  Changed paths:
    M llvm/lib/IR/Verifier.cpp
    M llvm/test/CodeGen/AMDGPU/isel-amdgcn-cs-chain-intrinsic-w32.ll
    M llvm/test/Verifier/AMDGPU/intrinsic-amdgpu-cs-chain.ll

  Log Message:
  -----------
  [AMDGPU] Relax restrictions on amdgcn.cs.chain intrinsic (#169785)

We have a new use-case for chain functions, so slightly relax the
restriction on which calling conventions may contain calls to chain
functions.


  Commit: fd0fb05ae196cb664ebdd8940aad20f9606c62f7
      https://github.com/llvm/llvm-project/commit/fd0fb05ae196cb664ebdd8940aad20f9606c62f7
  Author: Ivan Butygin <ivan.butygin at gmail.com>
  Date:   2025-12-10 (Wed, 10 Dec 2025)

  Changed paths:
    M mlir/lib/Conversion/AMDGPUToROCDL/AMDGPUToROCDL.cpp
    M mlir/test/Conversion/AMDGPUToROCDL/load_lds.mlir

  Log Message:
  -----------
  [mlir][amdgpu] Add common gpu mem space conversions to `convert-amdgpu-to-rocdl` (#171543)

Without it `convert-amdgpu-to-rocdl` will fail to convert
`amdgpu.gather_to_lds` with `#gpu.address_space<workgroup>` mem space.


  Commit: 0c179aa6bd6490806d91b9fe8b9422907d5fe21b
      https://github.com/llvm/llvm-project/commit/0c179aa6bd6490806d91b9fe8b9422907d5fe21b
  Author: Ebuka Ezike <yerimyah1 at gmail.com>
  Date:   2025-12-10 (Wed, 10 Dec 2025)

  Changed paths:
    M lldb/packages/Python/lldbsuite/test/tools/lldb-dap/dap_server.py
    M lldb/packages/Python/lldbsuite/test/tools/lldb-dap/lldbdap_testcase.py

  Log Message:
  -----------
  [lldb-dap] Increase DAP default timeout (#170890)

DAP tests easily timeout when the computer is under-load.

This is easily noticeable if you run the test in a loop a compile llvm.
or running the test on slower CI/machines.

This affects mostly the `DAP_launch`, `DAP_attach`,
`DAP_restart_console` and occasionally `DAP_output` tests.

Would lead in the direction of enabling some of the test on windows. 

```  
File "/Volumes/workspace/Dev/llvm-project/lldb/packages/Python/lldbsuite/test/tools/lldb-dap/dap_server.py", line 1140, in request_launch
    return self._send_recv(command_dict)
  File "/Volumes/workspace/Dev/llvm-project/lldb/packages/Python/lldbsuite/test/tools/lldb-dap/dap_server.py", line 548, in _send_recv
    raise ValueError(f"no response for {request!r}")
ValueError: no response for {'command': 'launch', 'type': 'request', 'arguments': {'program': '/Volumes/workspace/Dev/llvm-build/release/lldb-test-build.noindex/tools/lldb-dap/restart/TestDAP_restart_console.test_basic_functionality/a.out', 'initCommands': ['settings clear --all', 'settings set symbols.enable-external-lookup false', 'settings set target.inherit-tcc true', 'settings set target.disable-aslr false', 'settings set target.detach-on-error false', 'settings set target.auto-apply-fixits false', 'settings set plugin.process.gdb-remote.packet-timeout 60', 'settings set symbols.clang-modules-cache-path "/Volumes/workspace/Dev/llvm-build/release/lldb-test-build.noindex/module-cache-lldb"', 'settings set use-color false', 'settings set show-statusline false'], 'console': 'integratedTerminal', 'disableASLR': False, 'enableAutoVariableSummaries': False, 'enableSyntheticChildDebugging': False, 'displayExtendedBacktrace': False}, 'seq': 2}
Config=arm64-/Volumes/workspace/Dev/llvm-build/release/bin/clang
----------------------------------------------------------------------
Ran 2 tests in 28.579s
```

Increase the DEFAULT_TIMEOUT from 10 to 50


  Commit: 5874ddffe705ae011825b8272da83e596da526ec
      https://github.com/llvm/llvm-project/commit/5874ddffe705ae011825b8272da83e596da526ec
  Author: Wenju He <wenju.he at intel.com>
  Date:   2025-12-10 (Wed, 10 Dec 2025)

  Changed paths:
    M clang/include/clang/Basic/OpenCLExtensions.def
    M clang/test/SemaOpenCL/extension-version.cl
    A clang/test/SemaOpenCL/intel-unsupported-extensions.cl

  Log Message:
  -----------
  [OpenCL] Add cl_khr_subgroup_named_barrier and cl_intel_required_subgroup_size to OpenCLExtensions.def (#171433)

Fix typo cl_intel_bfloat16_conversion.
Add test for checking intel extension functions.


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

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

  Log Message:
  -----------
  [SelectOptimize] Fix incorrect -1 immediate for large integers (#170860)

This was creating a -1 with zero extension, while it needs to use sign
extension.


  Commit: 036aed099e7e40dec3fb8b6557b242844dbd2523
      https://github.com/llvm/llvm-project/commit/036aed099e7e40dec3fb8b6557b242844dbd2523
  Author: Sirui Mu <msrlancern at gmail.com>
  Date:   2025-12-10 (Wed, 10 Dec 2025)

  Changed paths:
    M clang/include/clang/CIR/Dialect/Builder/CIRBaseBuilder.h
    M clang/include/clang/CIR/Dialect/IR/CIROps.td
    M clang/include/clang/CIR/MissingFeatures.h
    M clang/lib/CIR/CodeGen/CIRGenAtomic.cpp
    M clang/lib/CIR/CodeGen/CIRGenBuilder.h
    M clang/lib/CIR/Lowering/DirectToLLVM/LowerToLLVM.cpp
    A clang/test/CIR/CodeGen/atomic-scoped.c
    M clang/test/CIR/CodeGen/atomic.c

  Log Message:
  -----------
  [CIR] Add scoped atomic load operation (#171134)


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

  Changed paths:
    M llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp
    M llvm/test/CodeGen/AArch64/arm64-rounding.ll
    M llvm/test/CodeGen/AArch64/floatdp_1source.ll
    M llvm/test/CodeGen/AArch64/round-conv.ll
    M llvm/test/CodeGen/AArch64/round-fptosi-sat-scalar.ll
    M llvm/test/CodeGen/AArch64/round-fptoui-sat-scalar.ll
    M llvm/test/CodeGen/AMDGPU/floor.ll
    M llvm/test/CodeGen/ARM/arm32-round-conv.ll
    M llvm/test/CodeGen/ARM/arm32-rounding.ll
    M llvm/test/CodeGen/ARM/floorf.ll
    M llvm/test/CodeGen/Mips/mips64-f128.ll
    M llvm/test/CodeGen/PowerPC/ctr-minmaxnum.ll
    M llvm/test/CodeGen/PowerPC/fminnum.ll
    M llvm/test/CodeGen/PowerPC/rounding-ops.ll
    M llvm/test/CodeGen/RISCV/double-zfa.ll
    M llvm/test/CodeGen/RISCV/float-zfa.ll
    M llvm/test/CodeGen/SystemZ/vec-max-05.ll
    M llvm/test/CodeGen/SystemZ/vec-min-05.ll
    M llvm/test/CodeGen/X86/fmaxnum.ll
    M llvm/test/CodeGen/X86/fminnum.ll
    M llvm/test/CodeGen/X86/pr31143.ll
    M llvm/test/CodeGen/X86/rounding-ops.ll

  Log Message:
  -----------
  [SDAG] Remove most non-canonical libcall handing (#171288)

This is a followup to https://github.com/llvm/llvm-project/pull/171114,
removing the handling for most libcalls that are already canonicalized
to intrinsics in the middle-end. The only remaining one is fabs, which
has more test coverage than the others.


  Commit: 467af2715afc4d7fc2ae08b15b59556f7c30d2e7
      https://github.com/llvm/llvm-project/commit/467af2715afc4d7fc2ae08b15b59556f7c30d2e7
  Author: Ivan Butygin <ivan.butygin at gmail.com>
  Date:   2025-12-10 (Wed, 10 Dec 2025)

  Changed paths:
    M mlir/lib/Conversion/AMDGPUToROCDL/AMDGPUToROCDL.cpp
    M mlir/test/Conversion/AMDGPUToROCDL/load_lds.mlir

  Log Message:
  -----------
  Revert "[mlir][amdgpu] Add common gpu mem space conversions to `conve… (#171594)

…rt-amdgpu-to-rocdl` (#171543)"

This reverts commit fd0fb05ae196cb664ebdd8940aad20f9606c62f7.

Forgot to link GPU lib and shared lib build failed.


  Commit: 0e7adf2d724116a42f34169682595aad07dccc69
      https://github.com/llvm/llvm-project/commit/0e7adf2d724116a42f34169682595aad07dccc69
  Author: David Spickett <david.spickett at linaro.org>
  Date:   2025-12-10 (Wed, 10 Dec 2025)

  Changed paths:
    M lldb/docs/use/troubleshooting.rst

  Log Message:
  -----------
  [lldb][docs] Describe how to check enabled features (#171468)

This makes use of `version -v` added by #170772,
along with fallback methods for LLDB prior to 22.

1. version --verbose (won't work prior to 22)
2. Scripting to call GetBuildConfiguration (won't work if you don't have
a scripting language
3. readelf/other platform's equivalent utility

readelf is recommended for Linux due to security concerns with ldd.

https://man7.org/linux/man-pages/man1/ldd.1.html
"some versions of ldd may attempt to obtain the
dependency information by attempting to directly
execute the program"

The drawback to that is it doesn't show dependencies of dependencies, so
I've noted that. People can use ldd if they trust the binary, but I've
made it clear how to avoid that and why you should avoid it.


  Commit: 16aa79d444a32c8d8b4f2e60d58f785e47178987
      https://github.com/llvm/llvm-project/commit/16aa79d444a32c8d8b4f2e60d58f785e47178987
  Author: David Spickett <david.spickett at linaro.org>
  Date:   2025-12-10 (Wed, 10 Dec 2025)

  Changed paths:
    M lldb/docs/resources/formatterbytecode.rst

  Log Message:
  -----------
  [lldb][docs] Fix table formatting in bytecode docs

Me adding extra backticks caused all these to be misaligned.

This didn't show up on the docs buildbot but did error in
CI on a later PR of mine.


  Commit: 933960134b5951559d613f51d54e17d21c2ce809
      https://github.com/llvm/llvm-project/commit/933960134b5951559d613f51d54e17d21c2ce809
  Author: Folkert de Vries <folkert at folkertdev.nl>
  Date:   2025-12-10 (Wed, 10 Dec 2025)

  Changed paths:
    M llvm/lib/Target/AArch64/AArch64InstrInfo.td
    M llvm/lib/Target/AArch64/AsmParser/AArch64AsmParser.cpp
    M llvm/test/MC/AArch64/armv8.3a-complex_missing.s
    M llvm/test/MC/AArch64/directive-arch_extension.s

  Log Message:
  -----------
  [AArch64] support `.arch_extension` for features that the CLI also accepts (#169999)

fixes https://github.com/llvm/llvm-project/issues/146866

The CLI and `.arch_extension` use a different list of features, and some
features that the CLI supports cannot currently be toggled using
`.arch_extension`. This PR fixes that, adding support for
`.arch_extension` for the following features:

- `dit`
- `brbe`
- `bti`
- `fcma`
- `jscvt`
- `pauth`
- `ssve`
- `wfxt`

The issue discusses that it is unfortunate that command line flag
parsing and assembly parsing don't share the infrastructure for
recognizing features, which can lead to inconsistencies like here. I
don't really see how I can combine them though, so for now this change
will fix the immediate problem.

---------

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


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

  Changed paths:
    M llvm/lib/Target/X86/X86ISelLowering.cpp
    M llvm/test/CodeGen/X86/bitcnt-big-integer.ll

  Log Message:
  -----------
  [X86] Use vectorized i256 bit counts when we know the source originated from the vector unit (#171589)

Currently we only permit i256 CTTZ/CTLZ AVX512 lowering when the source
is loadable as GPR->FPU transition costs would outweigh the
vectorization benefit.

This patch checks for other cases where the source can avoid the GPR - a
mayFoldToVector helper checks for a bitcast originally from a vector
type, as well as constant values and the original mayFoldLoad check.

There will be other cases for the mayFoldToVector helper, but I've just
used this for CTTZ/CTLZ initially.


  Commit: 2d65bdb00bfed1ace3f5dfeb925b69eda53b381a
      https://github.com/llvm/llvm-project/commit/2d65bdb00bfed1ace3f5dfeb925b69eda53b381a
  Author: Charles Zablit <c_zablit at apple.com>
  Date:   2025-12-10 (Wed, 10 Dec 2025)

  Changed paths:
    M lldb/packages/Python/lldbsuite/test/decorators.py
    A lldb/test/API/functionalities/breakpoint/jit_loader_rtdyld_elf/Makefile
    A lldb/test/API/functionalities/breakpoint/jit_loader_rtdyld_elf/TestJitBreakPoint.py
    A lldb/test/API/functionalities/breakpoint/jit_loader_rtdyld_elf/jitbp.cpp
    R lldb/test/Shell/Breakpoint/jit-loader_rtdyld_elf.test

  Log Message:
  -----------
  [lldb] convert jit-loader_rtdyld_elf.test to an API test (#170333)

This patch converts the `jit-loader_rtdyld_elf.test` test from a Shell
test to an API test.

This test is timing out in CI on Windows and the hang cannot be
reproduced at desk. Converting it to an API test would allow us to
instrument it better in order to trace the failure.


  Commit: 5160a05b0e9f4c0d1df0ac8da41c6090955777cb
      https://github.com/llvm/llvm-project/commit/5160a05b0e9f4c0d1df0ac8da41c6090955777cb
  Author: Amr Hesham <amr96 at programmer.net>
  Date:   2025-12-10 (Wed, 10 Dec 2025)

  Changed paths:
    M clang/include/clang/CIR/MissingFeatures.h
    M clang/lib/CIR/CodeGen/CIRGenCXXABI.h
    M clang/lib/CIR/CodeGen/CIRGenException.cpp
    M clang/lib/CIR/CodeGen/CIRGenItaniumCXXABI.cpp
    M clang/test/CIR/CodeGen/try-catch-tmp.cpp

  Log Message:
  -----------
  [CIR] Emit CatchParamOp in the catch region (#171169)

Emit structured CatchParamOp in the catch region

Issue https://github.com/llvm/llvm-project/issues/154992


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

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

  Log Message:
  -----------
  [libunwind] Make sure libunwind test dependencies are installed before running tests (#171474)

This patch adds an installation step where we install libc++ in a fake
installation tree before testing libunwind. This is necessary because
some configurations (in particular "generic-merged") require libc++ to
be installed, since the libunwind tests are actually linking libc++.so
in which libc++abi.a and libunwind.a have been merged.

Without this, we were actually failing to find `libc++.so` to link
against and then linking against whatever system library we'd find in
the provided search directories. While this happens to work in the
current CI configuration, this breaks down when updating to newer build
tools.


  Commit: 844590974f7518147d6f809ae14116e5acbe19d7
      https://github.com/llvm/llvm-project/commit/844590974f7518147d6f809ae14116e5acbe19d7
  Author: Charles Zablit <c_zablit at apple.com>
  Date:   2025-12-10 (Wed, 10 Dec 2025)

  Changed paths:
    M lldb/include/lldb/Host/Terminal.h
    M lldb/include/lldb/Host/common/DiagnosticsRendering.h
    M lldb/source/Host/common/DiagnosticsRendering.cpp
    M lldb/source/Host/common/Terminal.cpp
    M lldb/unittests/Host/common/DiagnosticsRenderingTest.cpp

  Log Message:
  -----------
  [lldb] improve the heuristics for checking if a terminal supports Unicode (#171491)


  Commit: bfce02548d8ae3d20fd987c1b8aa56bd7578b1c9
      https://github.com/llvm/llvm-project/commit/bfce02548d8ae3d20fd987c1b8aa56bd7578b1c9
  Author: Krzysztof Parzyszek <Krzysztof.Parzyszek at amd.com>
  Date:   2025-12-10 (Wed, 10 Dec 2025)

  Changed paths:
    M flang/lib/Lower/OpenMP/ClauseProcessor.cpp
    M flang/lib/Lower/OpenMP/Clauses.cpp
    M llvm/include/llvm/Frontend/OpenMP/ClauseT.h

  Log Message:
  -----------
  [flang][OpenMP] Store list of expressions in InitializerT (#170923)

The INITIALIZER clause holds a stylized expression that can be
intiantiated with different types. Currently, the InitializerT class
only holds one expression, which happens to correspond to the first type
in the DECLARE_REDUCTION type list.

Change InitializerT to hold a list of expressions instead, one for each
type. Keep the lowering code unchanged by picking the first expression
from the list.


  Commit: f85494f6afeb52c18b0fd55fbe340b4b6df630bd
      https://github.com/llvm/llvm-project/commit/f85494f6afeb52c18b0fd55fbe340b4b6df630bd
  Author: Ahmed Bougacha <ahmed at bougacha.org>
  Date:   2025-12-10 (Wed, 10 Dec 2025)

  Changed paths:
    A clang/test/Driver/print-enabled-extensions/aarch64-apple-m5.c
    M clang/test/Driver/print-supported-cpus-aarch64.c
    M clang/test/Misc/target-invalid-cpu-note/aarch64.c
    M llvm/lib/Target/AArch64/AArch64Processors.td
    M llvm/lib/Target/AArch64/AArch64Subtarget.cpp
    M llvm/lib/Target/AArch64/AArch64Subtarget.h
    M llvm/unittests/TargetParser/TargetParserTest.cpp

  Log Message:
  -----------
  [AArch64] Define apple-m5/a19 CPUs. (#171187)

A19 and M5 have been released in fall 2025.
They add several features on top of M4/A18:
- MTE, CSSC, HBC
- SME2p1, SMEB16B16, SMEF16F16
- SPECRES2

This also bumps apple-latest to apple-m5.


  Commit: 36865a1bc761762835781b095a394705af71c3d6
      https://github.com/llvm/llvm-project/commit/36865a1bc761762835781b095a394705af71c3d6
  Author: Ebuka Ezike <yerimyah1 at gmail.com>
  Date:   2025-12-10 (Wed, 10 Dec 2025)

  Changed paths:
    M lldb/test/API/tools/lldb-dap/module/TestDAP_module.py

  Log Message:
  -----------
  [lldb-dap] enable TestDAP_module on linux (#171584)

The issue was fixed in https://github.com/llvm/llvm-project/pull/163821


  Commit: a7aa852ee55495379f52323e3729b32638182b21
      https://github.com/llvm/llvm-project/commit/a7aa852ee55495379f52323e3729b32638182b21
  Author: Amr Hesham <amr96 at programmer.net>
  Date:   2025-12-10 (Wed, 10 Dec 2025)

  Changed paths:
    M clang/lib/CIR/CodeGen/CIRGenExprScalar.cpp
    A clang/test/CIR/CodeGen/noexcept.cpp

  Log Message:
  -----------
  [CIR] Upstream CXXNoexceptExpr (#171462)

Upstream the support for CXXNoexceptExpr


  Commit: 617ba837eecf39a65ef4183c36892f8bf58a74cc
      https://github.com/llvm/llvm-project/commit/617ba837eecf39a65ef4183c36892f8bf58a74cc
  Author: Evgenii Podkorytov <epodkorytov at nvidia.com>
  Date:   2025-12-10 (Wed, 10 Dec 2025)

  Changed paths:
    M llvm/lib/Transforms/IPO/GlobalOpt.cpp
    M llvm/test/Transforms/GlobalOpt/global-opt-addrspace.ll

  Log Message:
  -----------
  [GlobalOpt] Preserve Address Space when recreating GV (#171211)

Fix for GlobalOpt pass: preserve Address Space when recreating GV
This fix prevents dropping `addrspace(1)` in the following code snippet
(see modified LIT-test) for `@llvm.compiler.used`:

Before global-opt
```
@_ZM2C = internal addrspace(1) global %struct.FakeDeviceGlobal zeroinitializer, align 8
@_ZL1C = internal addrspace(1) global %struct.FakeDeviceGlobal zeroinitializer, align 8

@llvm.compiler.used = appending addrspace(1) global [2 x ptr addrspace(4)] [ptr addrspace(4) addrspacecast (ptr addrspace(1) @_ZM2C to ptr addrspace(4)), ptr addrspace(4) addrspacecast (ptr addrspace(1) @_ZL1C to ptr addrspace(4))]
```

After global-opt
```
@_ZM2C = internal addrspace(1) global %struct.FakeDeviceGlobal zeroinitializer, align 8
@_ZL1C = internal addrspace(1) global %struct.FakeDeviceGlobal zeroinitializer, align 8

@llvm.compiler.used = appending global [2 x ptr addrspace(4)] [ptr addrspace(4) addrspacecast (ptr addrspace(1) @_ZM2C to ptr addrspace(4)), ptr addrspace(4) addrspacecast (ptr addrspace(1) @_ZL1C to ptr addrspace(4))]
```

With proposed fix `@llvm.compiler.used` will be re-created with
preserving original `addrspace(1)` as:
```
@llvm.compiler.used = appending addrspace(1) global [2 x ptr addrspace(4)] [ptr addrspace(4) addrspacecast (ptr addrspace(1) @_ZM2C to ptr addrspace(4)), ptr addrspace(4) addrspacecast (ptr addrspace(1) @_ZL1C to ptr addrspace(4))]
```


  Commit: 1d0d7da57cdf9f29ab5bb3aca7be46302ea2b9fe
      https://github.com/llvm/llvm-project/commit/1d0d7da57cdf9f29ab5bb3aca7be46302ea2b9fe
  Author: Jacques Pienaar <jpienaar at google.com>
  Date:   2025-12-10 (Wed, 10 Dec 2025)

  Changed paths:
    M mlir/include/mlir/IR/CMakeLists.txt
    M mlir/include/mlir/IR/SymbolInterfaces.td
    M mlir/include/mlir/IR/SymbolTable.h
    M mlir/lib/IR/SymbolTable.cpp
    A mlir/test/IR/test-verifiers-attr.mlir
    M mlir/test/lib/Dialect/Test/TestAttrDefs.td
    M mlir/test/lib/Dialect/Test/TestAttributes.cpp
    M mlir/test/lib/Dialect/Test/TestAttributes.h
    M utils/bazel/llvm-project-overlay/mlir/BUILD.bazel

  Log Message:
  -----------
  [mlir] Add symbol user attribute interface. (#153206)

Enables verification of attributes, independent of op, that references symbols.
This enables verifying Attribute with symbol usage independent of operation
attached to (e.g., the validity is on the Attribute independent of the operation).

---------

Co-authored-by: Mehdi Amini <joker.eph at gmail.com>


  Commit: 136e5e288402f5519fdba21c8838145399a27e07
      https://github.com/llvm/llvm-project/commit/136e5e288402f5519fdba21c8838145399a27e07
  Author: Ralf Jung <post at ralfj.de>
  Date:   2025-12-10 (Wed, 10 Dec 2025)

  Changed paths:
    M llvm/docs/LangRef.rst

  Log Message:
  -----------
  [LangRef] make consequences of NaN rules for pow(i) more explicit (#170177)

The NaN section says

> Floating-point math operations are allowed to treat all NaNs as if
they were quiet NaNs. For example, “pow(1.0, SNaN)” may be simplified to
1.0.

This seems worth also spelling out in the section for `pow` (and `powi`
which has a similar situation), to have everything concerning those
operations in a single place.


  Commit: 3ba0ff61390255764a66f4876e2d5a6f8259d4e8
      https://github.com/llvm/llvm-project/commit/3ba0ff61390255764a66f4876e2d5a6f8259d4e8
  Author: Amr Hesham <amr96 at programmer.net>
  Date:   2025-12-10 (Wed, 10 Dec 2025)

  Changed paths:
    M clang/lib/CIR/CodeGen/CIRGenExprScalar.cpp

  Log Message:
  -----------
  [CIR][NFC] Remove duplicate VisitCXXNoexceptExpr (#171624)

Remove duplicate VisitCXXNoexceptExpr to fix building ClangIR


  Commit: 8c4950951269ec58296afbeba14e99aef467f84d
      https://github.com/llvm/llvm-project/commit/8c4950951269ec58296afbeba14e99aef467f84d
  Author: Rose Hudson <rose at krx.sh>
  Date:   2025-12-10 (Wed, 10 Dec 2025)

  Changed paths:
    M clang/docs/ReleaseNotes.rst
    M clang/include/clang/AST/CanonicalType.h
    M clang/test/SemaCXX/type-traits.cpp

  Log Message:
  -----------
  [Clang] remove qualifiers in getCanonicalTypeUnqualified (#170271)

It was assumed that since this is a method on Type, there are no quals
present because usually you get a Type by using operator-> on a
QualType. However, quals aren't always stored in the outermost QualType.
For example, if const A is used as a template parameter, the outer
QualType does not have the const flag set. The const actually lives in
the canonical type inside a SubstTemplateTypeParmType. We therefore need
to explicitly remove quals before returning.

Fixes #135273

---

I've been looking at all the call sites as suggested in
https://github.com/llvm/llvm-project/pull/167881#discussion_r2535247632
to check that their usage of this method is sane. So far, most of the
sites seem to either want unqualified types or not care, so this patch
should handle some spooky edge cases of those. Some of them need more
thinking, which I'll do soon.

Supersedes #167881


  Commit: c9c4e6eb58c070d65abca68b77b783720de1d5d9
      https://github.com/llvm/llvm-project/commit/c9c4e6eb58c070d65abca68b77b783720de1d5d9
  Author: Ivan Butygin <ivan.butygin at gmail.com>
  Date:   2025-12-10 (Wed, 10 Dec 2025)

  Changed paths:
    M mlir/lib/Conversion/AMDGPUToROCDL/AMDGPUToROCDL.cpp
    M mlir/lib/Conversion/AMDGPUToROCDL/CMakeLists.txt
    M mlir/test/Conversion/AMDGPUToROCDL/load_lds.mlir

  Log Message:
  -----------
  Reland [mlir][amdgpu] Add common gpu mem space conversions to convert-amdgpu-to-rocdl (#171599)

Reland https://github.com/llvm/llvm-project/pull/171543

Added missing GPU lib `MLIRGPUToGPURuntimeTransforms`.


  Commit: cef490d94bcb96f78a1a7ccdad86acc9bfde4d46
      https://github.com/llvm/llvm-project/commit/cef490d94bcb96f78a1a7ccdad86acc9bfde4d46
  Author: natanelh-mobileye <natanelh at mobileye.com>
  Date:   2025-12-10 (Wed, 10 Dec 2025)

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

  Log Message:
  -----------
  [SDAG] Check context node for free truncates in DemandedBits (#171266)

Allow ShrinkDemandedOp to use Node-specific info


  Commit: 2acefcd9d5ab189ffc58d8257d5e2d273fe13218
      https://github.com/llvm/llvm-project/commit/2acefcd9d5ab189ffc58d8257d5e2d273fe13218
  Author: Amr Hesham <amr96 at programmer.net>
  Date:   2025-12-10 (Wed, 10 Dec 2025)

  Changed paths:
    M clang/lib/CIR/CodeGen/CIRGenExprScalar.cpp
    M clang/lib/CIR/CodeGen/CIRGenModule.cpp
    A clang/test/CIR/CodeGen/source-loc.cpp

  Log Message:
  -----------
  [CIR] Add support for SourceLocExpr (#171492)

Add support for the SourceLocExpr


  Commit: fec0a64daea642e699c1b31498a17b9718513774
      https://github.com/llvm/llvm-project/commit/fec0a64daea642e699c1b31498a17b9718513774
  Author: Ravil Dorozhinskii <ravil.aviva.com at gmail.com>
  Date:   2025-12-10 (Wed, 10 Dec 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:
  -----------
  [ROCDL] Added global/flag data prefetch ops (#171449)

This PR brings data prefetch ops to ROCDL for gfx1250 architecture.
Extended all necessary rocdl tests


  Commit: 130fa98a29291e559a1061f0684a71e4a150c0dc
      https://github.com/llvm/llvm-project/commit/130fa98a29291e559a1061f0684a71e4a150c0dc
  Author: Sameer Sahasrabuddhe <sameer.sahasrabuddhe at amd.com>
  Date:   2025-12-10 (Wed, 10 Dec 2025)

  Changed paths:
    M llvm/include/llvm/ADT/StringExtras.h
    M llvm/lib/Target/AMDGPU/SIInsertWaitcnts.cpp
    M llvm/lib/Target/AMDGPU/Utils/AMDGPUBaseInfo.cpp
    M llvm/lib/Target/AMDGPU/Utils/AMDGPUBaseInfo.h

  Log Message:
  -----------
  [AMDGPU][NFC] dump Waitcnt using an ostream operator (#171251)


  Commit: 02a908c4c914b1dcd5e2a7d3857716c20dcfeb9c
      https://github.com/llvm/llvm-project/commit/02a908c4c914b1dcd5e2a7d3857716c20dcfeb9c
  Author: Alex Duran <alejandro.duran at intel.com>
  Date:   2025-12-10 (Wed, 10 Dec 2025)

  Changed paths:
    M offload/include/Shared/Debug.h
    M offload/libomptarget/interface.cpp
    M offload/libomptarget/omptarget.cpp

  Log Message:
  -----------
  [OpenMP][Offload] Continue to update libomptarget debug messages (#170425)

* Add support to use lambdas to output debug messages (like LDBG_OS)
* Update messages for interface.cpp and omptarget.cpp


  Commit: 835aa48246d5e47b46261ad344c949cbe48eac3a
      https://github.com/llvm/llvm-project/commit/835aa48246d5e47b46261ad344c949cbe48eac3a
  Author: Aiden Grossman <aidengrossman at google.com>
  Date:   2025-12-10 (Wed, 10 Dec 2025)

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

  Log Message:
  -----------
  [bazel] Port c9c4e6eb58c070d65abca68b77b783720de1d5d9 (#171632)

Was missing a dep on the bazel side.


  Commit: c4ff1f36bf1f28fb56a9f5cfca8453ec3b21af60
      https://github.com/llvm/llvm-project/commit/c4ff1f36bf1f28fb56a9f5cfca8453ec3b21af60
  Author: Jasmine Tang <jjasmine at igalia.com>
  Date:   2025-12-10 (Wed, 10 Dec 2025)

  Changed paths:
    M clang/include/clang/CIR/Dialect/IR/CIROps.td
    M clang/include/clang/CIR/Dialect/IR/CIRTypeConstraints.td
    M clang/lib/CIR/CodeGen/CIRGenBuiltinX86.cpp
    M clang/lib/CIR/Dialect/IR/CIRDialect.cpp
    M clang/test/CIR/CodeGenBuiltins/X86/avx512f-builtins.c
    A clang/test/CIR/IR/select.cir

  Log Message:
  -----------
  [CIR] Implement builtin extractf (#170427)

Implement builtin extractf, tests are from
clang/test/CodeGen/X86/avx512f-builtins.c.

Added a new type constraint "element or vector of element" since
LLVMIR also has said constraint. The new getBoolMaskValue is because the
existing SelectOp already accepts only a boolean condition; it'd make
more sense for it to accept a vector of boolean instead of a vector of
i32.


  Commit: feef80cab325165fafe60da1d31c23c8ccfc5a4a
      https://github.com/llvm/llvm-project/commit/feef80cab325165fafe60da1d31c23c8ccfc5a4a
  Author: Eric Li <li.zhe.hua at gmail.com>
  Date:   2025-12-10 (Wed, 10 Dec 2025)

  Changed paths:
    M clang/lib/Tooling/Transformer/SourceCode.cpp
    M clang/unittests/Tooling/SourceCodeTest.cpp

  Log Message:
  -----------
  [clang][tooling] Fix `getFileRange` false negative (#171555)

When an expression is in a single macro argument but also contains a
macro, `getFileRange` would incorrectly reject that expression,
concluding that it came from two different macro arguments because they
came from two different expansions.

We adjust the logic to look at the full path of macro argument expansion
locations instead, tracking that if our traversal up the macro
expansions continues all the way through macro arguments all the way to
the top. This is similar to the technique used by `makeFileCharRange`.

We also add some test cases to ensure we don't introduce any false
positives.


  Commit: f8580c915f0b5205ddc3ae5e8286653ddc1d8d68
      https://github.com/llvm/llvm-project/commit/f8580c915f0b5205ddc3ae5e8286653ddc1d8d68
  Author: Victor Chernyakin <chernyakin.victor.j at outlook.com>
  Date:   2025-12-10 (Wed, 10 Dec 2025)

  Changed paths:
    M clang-tools-extra/clang-tidy/readability/RedundantControlFlowCheck.cpp
    M clang-tools-extra/docs/ReleaseNotes.rst
    M clang-tools-extra/test/clang-tidy/checkers/readability/redundant-control-flow.cpp

  Log Message:
  -----------
  [clang-tidy] Make `readability-redundant-control-flow` not suggest deleting unrelated lines (#171287)

Closes #171200.


  Commit: 54b4bd510a8cc90fac3d2071179d1424af894c9c
      https://github.com/llvm/llvm-project/commit/54b4bd510a8cc90fac3d2071179d1424af894c9c
  Author: Tom Eccles <tom.eccles at arm.com>
  Date:   2025-12-10 (Wed, 10 Dec 2025)

  Changed paths:
    M flang/docs/Aliasing.md
    M flang/include/flang/Optimizer/Analysis/AliasAnalysis.h
    M flang/include/flang/Optimizer/Dialect/FIRAttr.td
    M flang/include/flang/Optimizer/Dialect/FortranVariableInterface.td
    M flang/lib/Lower/ConvertVariable.cpp
    M flang/lib/Optimizer/Analysis/AliasAnalysis.cpp
    A flang/test/Analysis/AliasAnalysis/alias-analysis-cray-pointers.fir
    M flang/test/Lower/HLFIR/cray-pointers.f90
    M flang/test/Lower/Intrinsics/free.f90
    M flang/test/Lower/Intrinsics/malloc.f90
    M flang/test/Lower/OpenMP/cray-pointers01.f90

  Log Message:
  -----------
  [flang][AliasAnalysis] Cray pointers/pointees might alias with anything (#170900)

The LOC intrinsic allows a cray pointer to alias with ordinary variables
with no other attribute. See the new test for an example.

This is not enabled by default. The functionality can be used with
`-mmlir -funsafe-cray-pointers`.

First part of the un-revert of #169544. That will handle TBAA.


  Commit: 923974987abef24c5948eb3ade25e0a1c6626035
      https://github.com/llvm/llvm-project/commit/923974987abef24c5948eb3ade25e0a1c6626035
  Author: Ebuka Ezike <yerimyah1 at gmail.com>
  Date:   2025-12-10 (Wed, 10 Dec 2025)

  Changed paths:
    M lldb/test/API/tools/lldb-dap/runInTerminal/TestDAP_runInTerminal.py

  Log Message:
  -----------
  [lldb-dap] enable run-in-terminal test on linux arm. (#171598)

follow up to
https://github.com/llvm/llvm-project/pull/144954#issuecomment-2990767363


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

  Changed paths:
    M mlir/include/mlir/Dialect/OpenACC/Analysis/OpenACCSupport.h
    M mlir/lib/Dialect/OpenACC/Analysis/OpenACCSupport.cpp
    M mlir/lib/Dialect/OpenACC/Transforms/ACCImplicitData.cpp

  Log Message:
  -----------
  [mlir][acc] Add isValidValueUse to OpenACCSupport (#171538)

Add a new API `isValidValueUse ` to OpenACCSupport. This is used in
ACCImplicitData to check value that are already legal in the OpenACC
region and do not require implicit clause to be generated. An example
would be a CUDA Fortran device variable that is already on the GPU.


  Commit: 9848c03ef8e271bfbfc9b4749f4a0f537a2ed4db
      https://github.com/llvm/llvm-project/commit/9848c03ef8e271bfbfc9b4749f4a0f537a2ed4db
  Author: Andrew Haberlandt <ndrewh at users.noreply.github.com>
  Date:   2025-12-10 (Wed, 10 Dec 2025)

  Changed paths:
    M llvm/runtimes/CMakeLists.txt

  Log Message:
  -----------
  [cmake] LLVM_BUILTINS_TARGET='default' should bootstrap builtins without compiler-rt (#171536)


  Commit: f692ca145856c6b82160af2df94b9c7b3b549c02
      https://github.com/llvm/llvm-project/commit/f692ca145856c6b82160af2df94b9c7b3b549c02
  Author: Craig Topper <craig.topper at sifive.com>
  Date:   2025-12-10 (Wed, 10 Dec 2025)

  Changed paths:
    M llvm/lib/Target/RISCV/RISCVInstrInfoXSfmm.td
    M llvm/test/CodeGen/RISCV/rvv/sifive-xsfmm-vset-insert.mir

  Log Message:
  -----------
  [RISCV] Use 'sew' insead of ixlenimm in Xsfmm pseudos. (#171570)


  Commit: 8f1c593266225c9f5f1cf1a3ce4896a7ce9a1a47
      https://github.com/llvm/llvm-project/commit/8f1c593266225c9f5f1cf1a3ce4896a7ce9a1a47
  Author: Craig Topper <craig.topper at sifive.com>
  Date:   2025-12-10 (Wed, 10 Dec 2025)

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

  Log Message:
  -----------
  [RISCV] Reduce code duplication. NFC (#171577)

This code was only different in the opcodes of the nodes it created.


  Commit: 3a0c006054f79dbb2c921003898b7242a37a38cb
      https://github.com/llvm/llvm-project/commit/3a0c006054f79dbb2c921003898b7242a37a38cb
  Author: Tom Eccles <tom.eccles at arm.com>
  Date:   2025-12-10 (Wed, 10 Dec 2025)

  Changed paths:
    M flang/lib/Lower/OpenMP/OpenMP.cpp
    R flang/test/Integration/OpenMP/do-simd-firstprivate-lastprivate-runtime.f90
    R flang/test/Lower/OpenMP/do-simd-firstprivate-lastprivate.f90
    M flang/test/Lower/OpenMP/order-clause.f90
    M flang/test/Lower/OpenMP/wsloop-simd.f90

  Log Message:
  -----------
  Revert "[flang][OpenMP] Fix firstprivate not working with lastprivate in DO SIMD" (#171646)

Reverts llvm/llvm-project#170163

Regression in fujitsu test suite


  Commit: 8adcf0ad5a9ff8649e98120e9101cf48c1585ead
      https://github.com/llvm/llvm-project/commit/8adcf0ad5a9ff8649e98120e9101cf48c1585ead
  Author: Jianhui Li <jian.hui.li at intel.com>
  Date:   2025-12-10 (Wed, 10 Dec 2025)

  Changed paths:
    M mlir/lib/Conversion/XeGPUToXeVM/XeGPUToXeVM.cpp
    M mlir/test/Conversion/XeGPUToXeVM/create_nd_tdesc.mlir
    M mlir/test/Conversion/XeGPUToXeVM/loadstore_matrix.mlir
    M mlir/test/Conversion/XeGPUToXeVM/loadstoreprefetch.mlir

  Log Message:
  -----------
  [MLIR][XeGPU] Support subview memref: handling the base address during xegpu to xevm type conversion (#170541)

During the XeGPU-to-XeVM type conversion, a memref is lowered to its
base address. This PR extends the conversion to correctly handle memrefs
that include an offset, such as those generated by memref.subview.


  Commit: d162afa912300d7b91d5401c377b83838f4d87af
      https://github.com/llvm/llvm-project/commit/d162afa912300d7b91d5401c377b83838f4d87af
  Author: vangthao95 <vang.thao at amd.com>
  Date:   2025-12-10 (Wed, 10 Dec 2025)

  Changed paths:
    M llvm/lib/Target/AMDGPU/AMDGPURegBankLegalizeRules.cpp
    A llvm/test/CodeGen/AMDGPU/GlobalISel/fpext.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/regbankselect-fpext.mir

  Log Message:
  -----------
  [AMDGPU][GlobalISel] Add RegBankLegalize support for G_FPEXT (#171483)


  Commit: 5c98163246187f519e96d16de388183769817b3c
      https://github.com/llvm/llvm-project/commit/5c98163246187f519e96d16de388183769817b3c
  Author: David Spickett <david.spickett at linaro.org>
  Date:   2025-12-10 (Wed, 10 Dec 2025)

  Changed paths:
    M lldb/source/Plugins/Process/gdb-remote/ProcessGDBRemote.cpp

  Log Message:
  -----------
  [lldb] Log when we use fallback register information

These fallback layouts are essentially guesses. Used when there is
no other way to query register information from the debug server.

Therefore there is a risk that LLDB and the debug server disagree,
which can produce strange effects.

I have added a log message here so we have a clue when triaging
these problems.

Note that it's not wrong to assume a layout in some situations.
It's how some debug servers were built. However if you end up
using the fallback when the server expected you to use XML,
you're likely going to have a bad time.


  Commit: 16fbbac32f62b4f737ca30a3b107eff451f28e33
      https://github.com/llvm/llvm-project/commit/16fbbac32f62b4f737ca30a3b107eff451f28e33
  Author: Simon Pilgrim <llvm-dev at redking.me.uk>
  Date:   2025-12-10 (Wed, 10 Dec 2025)

  Changed paths:
    M llvm/test/CodeGen/X86/shift-i512.ll

  Log Message:
  -----------
  [X86] shift-i512.ll - add load test coverage (#171642)


  Commit: 05ef57fcb8cd72899dc57419045de2d58e1a5618
      https://github.com/llvm/llvm-project/commit/05ef57fcb8cd72899dc57419045de2d58e1a5618
  Author: Aiden Grossman <aidengrossman at google.com>
  Date:   2025-12-10 (Wed, 10 Dec 2025)

  Changed paths:
    M .github/workflows/libcxx-build-and-test.yaml

  Log Message:
  -----------
  [libc++][Github] Bump Runners to Next Group (#168122)

To start using the more recently built containers.


  Commit: 0ab6a63c4f754aee77903ec9ef66dcbe5d08fe3a
      https://github.com/llvm/llvm-project/commit/0ab6a63c4f754aee77903ec9ef66dcbe5d08fe3a
  Author: Rahul Joshi <rjoshi at nvidia.com>
  Date:   2025-12-10 (Wed, 10 Dec 2025)

  Changed paths:
    M llvm/docs/LangRef.rst
    M llvm/include/llvm/IR/DataLayout.h
    M llvm/lib/AsmParser/LLParser.cpp
    M llvm/lib/IR/AsmWriter.cpp
    M llvm/lib/IR/DataLayout.cpp
    A llvm/test/Assembler/symbolic-addrspace-datalayout.ll
    M llvm/unittests/IR/DataLayoutTest.cpp

  Log Message:
  -----------
  [LLVM][IR] Add support for address space names in DataLayout (#170559)

Add support for specifying the names of address spaces when specifying
pointer properties for an address space. Update LLVM's AsmPrinter and
LLParser to print and read these symbolic address space name.


  Commit: 6cacbdbc38e793720c8c6569097c682afd545ada
      https://github.com/llvm/llvm-project/commit/6cacbdbc38e793720c8c6569097c682afd545ada
  Author: Haocong Lu <haoconglu at qq.com>
  Date:   2025-12-10 (Wed, 10 Dec 2025)

  Changed paths:
    M clang/include/clang/CIR/Dialect/IR/CIROps.td
    M clang/lib/CIR/CodeGen/CIRGenBuiltin.cpp
    M clang/lib/CIR/Lowering/DirectToLLVM/LowerToLLVM.cpp

  Log Message:
  -----------
  [CIR][NFC] Rename AtomicFence to AtomicFenceOp (#171248)

This fixes missed suffix `Op` of `CIR_AtomicFence` defination and also
improves API `makeAtomicFenceValue`.


  Commit: 126748840d3524d2ef35b72352a0bcf46930aed2
      https://github.com/llvm/llvm-project/commit/126748840d3524d2ef35b72352a0bcf46930aed2
  Author: Krzysztof Parzyszek <Krzysztof.Parzyszek at amd.com>
  Date:   2025-12-10 (Wed, 10 Dec 2025)

  Changed paths:
    M flang/include/flang/Parser/dump-parse-tree.h
    M flang/include/flang/Parser/parse-tree.h
    M flang/include/flang/Semantics/openmp-modifiers.h
    M flang/lib/Lower/OpenMP/Clauses.cpp
    M flang/lib/Parser/openmp-parsers.cpp
    M flang/lib/Parser/unparse.cpp
    M flang/lib/Semantics/check-omp-structure.cpp
    M flang/lib/Semantics/check-omp-structure.h
    M flang/lib/Semantics/openmp-modifiers.cpp
    A flang/test/Parser/OpenMP/dims-modifier.f90
    A flang/test/Semantics/OpenMP/dims-modifier.f90
    M llvm/include/llvm/Frontend/OpenMP/OMP.td

  Log Message:
  -----------
  [flang][OpenMP] Frontend support for DIMS modifier (#171454)

Add parsing and semantic checks for DIMS modifier on NUM_TEAMS,
NUM_THREADS, and THREAD_LIMIT.


  Commit: 4c6aa8fd8abe7e4f072d067f43dee9a30fcd2f2f
      https://github.com/llvm/llvm-project/commit/4c6aa8fd8abe7e4f072d067f43dee9a30fcd2f2f
  Author: Jan Korous <jkorous at apple.com>
  Date:   2025-12-10 (Wed, 10 Dec 2025)

  Changed paths:
    A clang/include/clang/Analysis/Scalable/ASTEntityMapping.h
    A clang/include/clang/Analysis/Scalable/Model/BuildNamespace.h
    A clang/include/clang/Analysis/Scalable/Model/EntityName.h
    M clang/lib/Analysis/CMakeLists.txt
    A clang/lib/Analysis/Scalable/ASTEntityMapping.cpp
    A clang/lib/Analysis/Scalable/CMakeLists.txt
    A clang/lib/Analysis/Scalable/Model/BuildNamespace.cpp
    A clang/lib/Analysis/Scalable/Model/EntityName.cpp
    M clang/unittests/Analysis/CMakeLists.txt
    A clang/unittests/Analysis/Scalable/ASTEntityMappingTest.cpp
    A clang/unittests/Analysis/Scalable/BuildNamespaceTest.cpp
    A clang/unittests/Analysis/Scalable/CMakeLists.txt
    A clang/unittests/Analysis/Scalable/EntityNameTest.cpp

  Log Message:
  -----------
  [clang][ssaf] Introduce entity abstraction for SSAF (#169131)

Add core abstractions for identifying program entities across
compilation and link unit boundaries in the Scalable Static Analysis
Framework (SSAF).

Introduces three key components:
- BuildNamespace: Represents build artifacts (compilation units, link
units)
- EntityName: Globally unique entity identifiers across compilation
boundaries
- AST mapping: Functions to map Clang AST declarations to EntityNames

Entity identification uses Unified Symbol Resolution (USR) as the
underlying mechanism, with extensions for sub-entities (parameters,
return values) via suffixes. The abstraction allows whole-program
analysis by providing stable identifiers that persist across separately
compiled translation units.


  Commit: deac7915a42f2f1e13e8dbdc042be2b0e1f65e21
      https://github.com/llvm/llvm-project/commit/deac7915a42f2f1e13e8dbdc042be2b0e1f65e21
  Author: Alexey Bataev <a.bataev at outlook.com>
  Date:   2025-12-10 (Wed, 10 Dec 2025)

  Changed paths:
    M flang/lib/Frontend/FrontendActions.cpp
    A flang/test/Lower/memory-intrinsics-expansion.F90

  Log Message:
  -----------
  [Flang][Pass]Disable memory intrinsics expansions

Patch disables memory intrinsics expansion, enabled by default in
https://github.com/llvm/llvm-project/pull/168622. This patch does the
same in clang, but not in flang.

The expansion causes massive perf regressions, up to 2x times in
fortran code.

Reviewers: jeanPerier, vzakhari

Reviewed By: vzakhari

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


  Commit: 000279dcad334bf81ea2e0494f5e12d3564e8a31
      https://github.com/llvm/llvm-project/commit/000279dcad334bf81ea2e0494f5e12d3564e8a31
  Author: Pankaj Dwivedi <pankajkumar.divedi at amd.com>
  Date:   2025-12-10 (Wed, 10 Dec 2025)

  Changed paths:
    M llvm/include/llvm/Analysis/TargetTransformInfo.h
    M llvm/include/llvm/Analysis/TargetTransformInfoImpl.h
    M llvm/include/llvm/CodeGen/BasicTTIImpl.h
    M llvm/lib/Analysis/TargetTransformInfo.cpp
    M llvm/lib/Analysis/UniformityAnalysis.cpp
    M llvm/lib/CodeGen/MachineUniformityAnalysis.cpp
    M llvm/lib/Target/AMDGPU/AMDGPUTargetTransformInfo.cpp
    M llvm/lib/Target/AMDGPU/AMDGPUTargetTransformInfo.h
    M llvm/lib/Target/NVPTX/NVPTXTargetTransformInfo.cpp
    M llvm/lib/Target/NVPTX/NVPTXTargetTransformInfo.h

  Log Message:
  -----------
  [NFC][TTI] Introduce getInstructionUniformity API for uniformity analysis (#168903)

This patch introduces a new TargetTransformInfo hook
`getInstructionUniformity()`
that provides a unified interface for querying target-specific
uniformity
information about instructions and values.

The new hook returns an `InstructionUniformity` enum with three values:
- Default: Result is uniform if all operands are uniform (standard
propagation)
- AlwaysUniform: Result is always uniform regardless of operands
- NeverUniform: Result can never be assumed uniform

This API wraps the existing `isAlwaysUniform()` and
`isSourceOfDivergence()`
hooks, providing a single entry point for uniformity queries. Both LLVM
IR-level
(via TTI) and MIR-level (via TargetInstrInfo) uniformity analysis have
been
updated to use the new hook.

Target implementations:
- AMDGPU: Wraps existing `isAlwaysUniform()` and
`isSourceOfDivergence()` hooks
- NVPTX: Wraps existing `isSourceOfDivergence()` hook

This is an NFC change - all implementations return conservative defaults
or wrap
existing functionality.

Ref patch:https://github.com/llvm/llvm-project/pull/137639


  Commit: 36a95a5cb49bb723470c9c967a6bd54d08743834
      https://github.com/llvm/llvm-project/commit/36a95a5cb49bb723470c9c967a6bd54d08743834
  Author: Aiden Grossman <aidengrossman at google.com>
  Date:   2025-12-10 (Wed, 10 Dec 2025)

  Changed paths:
    M libcxx/utils/ci/docker/docker-compose.yml

  Log Message:
  -----------
  [libc++][Github] Bump Runner Version to v2.330.0 (#168753)

Bumps the runner version to keep things up to date (and prevent us from
falling below the support horizon).


  Commit: f5c28bdaa6658b9d3af5cf62ea899f41bac38d6a
      https://github.com/llvm/llvm-project/commit/f5c28bdaa6658b9d3af5cf62ea899f41bac38d6a
  Author: Mehdi Amini <joker.eph at gmail.com>
  Date:   2025-12-10 (Wed, 10 Dec 2025)

  Changed paths:
    M mlir/lib/Transforms/ViewOpGraph.cpp

  Log Message:
  -----------
  [MLIR] Apply clang-tidy fixes for misc-use-internal-linkage in ViewOpGraph.cpp (NFC)


  Commit: 097ac330c16405a4feedf08d22512b97fa7a38f5
      https://github.com/llvm/llvm-project/commit/097ac330c16405a4feedf08d22512b97fa7a38f5
  Author: Jonas Devlieghere <jonas at devlieghere.com>
  Date:   2025-12-10 (Wed, 10 Dec 2025)

  Changed paths:
    M lldb/source/Commands/CommandObjectMultiword.cpp

  Log Message:
  -----------
  [lldb] Stop emitting pointless newline (NFC) (#171531)

AppendError ends up trimming this "\n" from the end of the string, then
putting another on on. So there's no reason to keep appending the
newline in CommandObjectMultiword::Execute.


  Commit: 3ece6626cb25330852b4801101cd7669a4f034a6
      https://github.com/llvm/llvm-project/commit/3ece6626cb25330852b4801101cd7669a4f034a6
  Author: Charitha Saumya <136391709+charithaintc at users.noreply.github.com>
  Date:   2025-12-10 (Wed, 10 Dec 2025)

  Changed paths:
    M mlir/lib/Dialect/XeGPU/Transforms/XeGPUSubgroupDistribute.cpp
    M mlir/test/Dialect/XeGPU/subgroup-distribute-unit.mlir

  Log Message:
  -----------
  [mlir][xegpu] Add support for `vector.extract_strided_slice` XeGPU SIMT distribution with partial offsets.  (#171512)

`vector.extract_strided_slice` can have two forms when specifying
offsets.

Case 1:
```
%1 = vector.extract_strided_slice %0 { offsets = [8, 0], sizes = [8, 16], strides = [1, 1]}
      : vector<24x16xf32> to vector<8x16xf32>
```

Case 2:
```
%1 = vector.extract_strided_slice %0 { offsets = [8], sizes = [8], strides = [1]}
      : vector<24x16xf32> to vector<8x16xf32>
```

These two ops means the same thing, but case 2 is syntactic sugar to
avoid specifying offsets for fully extracted dims. Currently case 2
fails in XeGPU SIMT distribution. This PR fixes this issue.


  Commit: 28ff941a2cc302ced0bcc9b50b6ac51c9e6c0e4e
      https://github.com/llvm/llvm-project/commit/28ff941a2cc302ced0bcc9b50b6ac51c9e6c0e4e
  Author: Maksim Panchenko <maks at fb.com>
  Date:   2025-12-10 (Wed, 10 Dec 2025)

  Changed paths:
    M bolt/include/bolt/Core/BinaryFunction.h
    M bolt/lib/Core/BinaryFunction.cpp
    M bolt/lib/Passes/VeneerElimination.cpp
    M bolt/lib/Rewrite/RewriteInstance.cpp
    A bolt/test/AArch64/veneer-bolt.s

  Log Message:
  -----------
  [BOLT][AArch64] Always cover veneers in lite mode (#171534)

If a veneer is not disassembled in lite mode, the veneer elimination
pass will not recognize it as such and the call to such veneer will
remain unchanged.

Later, we may need to insert a new veneer for such code ending up with a
double veneer.

To avoid such suboptimal code generation, always disassemble veneers and
guarantee that they are converted to direct calls in BOLT.


  Commit: 49324cd28ca9ba66e55919b008396a7aa5ca1672
      https://github.com/llvm/llvm-project/commit/49324cd28ca9ba66e55919b008396a7aa5ca1672
  Author: Aiden Grossman <aidengrossman at google.com>
  Date:   2025-12-10 (Wed, 10 Dec 2025)

  Changed paths:
    M lldb/test/API/functionalities/breakpoint/jit_loader_rtdyld_elf/TestJitBreakPoint.py

  Log Message:
  -----------
  [lldb] Make TestJitBreakPoint.py use LLVM_TOOLS_DIR (#171656)

This seems the standard way to get the path to such tools within LLVM.
Calling findBuiltClang() has some annoying behavior like falling back to
CC when it cannot find anything else, which might point to anything or
not even be set.

We noticed this with our internal build system as the lli binary is not
in the same path as the clang binary.


  Commit: c5995e25ba6a32b839cefe86abf721f57f9bf615
      https://github.com/llvm/llvm-project/commit/c5995e25ba6a32b839cefe86abf721f57f9bf615
  Author: Dan Blackwell <dan_blackwell at apple.com>
  Date:   2025-12-10 (Wed, 10 Dec 2025)

  Changed paths:
    M compiler-rt/test/sanitizer_common/TestCases/Posix/popen.cpp

  Log Message:
  -----------
  [sanitizer_common][test-only] Specify full path for sort executable in popen.cpp (#171622)

This test has begun failing on iossim with 'sh: sort: command not found'
in the stderr. I believe this may be due to the change to the lit
internal shell not having 'sort' in it's path.

This patch adds the full path /usr/bin/sort to work around this.


  Commit: c1fd5ac50bfa5f58cdcdf106cbb29f5ae79d4d9d
      https://github.com/llvm/llvm-project/commit/c1fd5ac50bfa5f58cdcdf106cbb29f5ae79d4d9d
  Author: Mehdi Amini <joker.eph at gmail.com>
  Date:   2025-12-10 (Wed, 10 Dec 2025)

  Changed paths:
    M mlir/lib/Dialect/LLVMIR/IR/NVVMDialect.cpp

  Log Message:
  -----------
  [MLIR] Apply clang-tidy fixes for readability-simplify-boolean-expr in NVVMDialect.cpp (NFC)


  Commit: 6470d1bb981f02cd2a7f634a716e387b00e89726
      https://github.com/llvm/llvm-project/commit/6470d1bb981f02cd2a7f634a716e387b00e89726
  Author: Maksim Panchenko <maks at fb.com>
  Date:   2025-12-10 (Wed, 10 Dec 2025)

  Changed paths:
    M bolt/include/bolt/Core/BinaryFunction.h
    M bolt/lib/Core/BinaryContext.cpp
    M bolt/lib/Passes/BinaryPasses.cpp

  Log Message:
  -----------
  [BOLT] Exclude BOLT injected functions from AssignSections. NFCI (#171579)

Assign output sections for injected functions explicitly, and don't
reassign in AssignSections pass.

This change is a prerequisite for further PRs where veneer functions are
created as injected functions and their code section depends on their
placement.


  Commit: dde1990b01fa13087b0eab77579f528329555968
      https://github.com/llvm/llvm-project/commit/dde1990b01fa13087b0eab77579f528329555968
  Author: Victor Chernyakin <chernyakin.victor.j at outlook.com>
  Date:   2025-12-10 (Wed, 10 Dec 2025)

  Changed paths:
    M clang-tools-extra/clang-tidy/readability/RedundantControlFlowCheck.cpp
    M clang-tools-extra/clang-tidy/readability/RedundantControlFlowCheck.h

  Log Message:
  -----------
  [clang-tidy][NFC] Refactor `readability-redundant-control-flow` (#171639)

Besides simplifying the code, this refactor should also make it more
efficient: instead of using the `hasAnySubstatement` matcher to find
blocks we're interested in, which requires looking through every
substatement, this PR introduces a custom `hasFinalStmt` matcher which
only checks the last substatement.


  Commit: aca48a44d14d1b7a24fd88c06d21333441f5a836
      https://github.com/llvm/llvm-project/commit/aca48a44d14d1b7a24fd88c06d21333441f5a836
  Author: Ryosuke Niwa <rniwa at webkit.org>
  Date:   2025-12-10 (Wed, 10 Dec 2025)

  Changed paths:
    M clang/lib/StaticAnalyzer/Checkers/WebKit/ASTUtils.cpp
    M clang/lib/StaticAnalyzer/Checkers/WebKit/ForwardDeclChecker.cpp
    M clang/lib/StaticAnalyzer/Checkers/WebKit/PtrTypesSemantics.cpp
    M clang/lib/StaticAnalyzer/Checkers/WebKit/PtrTypesSemantics.h
    M clang/lib/StaticAnalyzer/Checkers/WebKit/RawPtrRefLambdaCapturesChecker.cpp
    M clang/test/Analysis/Checkers/WebKit/call-args-checked.cpp
    M clang/test/Analysis/Checkers/WebKit/forward-decl-checker.mm
    M clang/test/Analysis/Checkers/WebKit/mock-types.h
    M clang/test/Analysis/Checkers/WebKit/objc-mock-types.h
    M clang/test/Analysis/Checkers/WebKit/uncounted-lambda-captures.cpp
    M clang/test/Analysis/Checkers/WebKit/uncounted-obj-arg.cpp

  Log Message:
  -----------
  Add the support for recognizing WTF::move like std::move (#170820)

This PR adds support for treating WTF::move like std::move in various
WebKit checkers.


  Commit: 4427e34a6476721b53364e7dad97340dc38f5cb6
      https://github.com/llvm/llvm-project/commit/4427e34a6476721b53364e7dad97340dc38f5cb6
  Author: Alexey Bataev <a.bataev at outlook.com>
  Date:   2025-12-10 (Wed, 10 Dec 2025)

  Changed paths:
    M flang/lib/Frontend/FrontendActions.cpp

  Log Message:
  -----------
  [Flang][Pass]Remove dependence on CodeGen pass


  Commit: ec4aba382142c6f52699a4f8cd4862736ee42436
      https://github.com/llvm/llvm-project/commit/ec4aba382142c6f52699a4f8cd4862736ee42436
  Author: Amr Hesham <amr96 at programmer.net>
  Date:   2025-12-10 (Wed, 10 Dec 2025)

  Changed paths:
    M clang/lib/CIR/CodeGen/CIRGenExprScalar.cpp
    A clang/test/CIR/CodeGen/cxx-traits.cpp

  Log Message:
  -----------
  [CIR] Add support for ExpressionTraitExpr (#171634)

Add support for the ExpressionTraitExpr


  Commit: 48d942c7158af43094db1b5e6c59c6e6fcf1b5aa
      https://github.com/llvm/llvm-project/commit/48d942c7158af43094db1b5e6c59c6e6fcf1b5aa
  Author: Brian Cain <brian.cain at oss.qualcomm.com>
  Date:   2025-12-10 (Wed, 10 Dec 2025)

  Changed paths:
    M llvm/include/llvm/IR/IntrinsicsHexagon.td
    M llvm/include/llvm/IR/IntrinsicsHexagonDep.td
    M llvm/lib/Target/Hexagon/CMakeLists.txt
    M llvm/lib/Target/Hexagon/Hexagon.h
    M llvm/lib/Target/Hexagon/HexagonGenPredicate.cpp
    R llvm/lib/Target/Hexagon/HexagonGenWideningVecFloatInstr.cpp
    R llvm/lib/Target/Hexagon/HexagonGenWideningVecInstr.cpp
    M llvm/lib/Target/Hexagon/HexagonISelLowering.h
    M llvm/lib/Target/Hexagon/HexagonISelLoweringHVX.cpp
    M llvm/lib/Target/Hexagon/HexagonIntrinsics.td
    M llvm/lib/Target/Hexagon/HexagonNewValueJump.cpp
    R llvm/lib/Target/Hexagon/HexagonOptShuffleVector.cpp
    M llvm/lib/Target/Hexagon/HexagonPatternsHVX.td
    M llvm/lib/Target/Hexagon/HexagonTargetMachine.cpp
    M llvm/lib/Target/Hexagon/HexagonVectorCombine.cpp
    M llvm/lib/Target/Hexagon/MCTargetDesc/HexagonMCELFStreamer.cpp
    M llvm/test/CodeGen/Hexagon/autohvx/isel-vpackew.ll
    M llvm/test/CodeGen/Hexagon/autohvx/widen-setcc.ll
    R llvm/test/CodeGen/Hexagon/bug54537-vavg.ll
    R llvm/test/CodeGen/Hexagon/extend-multiply-for-output-fpext.ll
    R llvm/test/CodeGen/Hexagon/no_widening_of_bf16_vecmul.ll
    R llvm/test/CodeGen/Hexagon/shortvec-vasrsat.ll
    R llvm/test/CodeGen/Hexagon/shortvec-vavg.ll
    R llvm/test/CodeGen/Hexagon/shortvec-vmpy.ll
    R llvm/test/CodeGen/Hexagon/vadd-const.ll
    R llvm/test/CodeGen/Hexagon/vasr-sat.ll
    R llvm/test/CodeGen/Hexagon/vavg.ll
    R llvm/test/CodeGen/Hexagon/vec-shuff-invalid-operand.ll
    R llvm/test/CodeGen/Hexagon/vec-shuff-multi-uses.ll
    R llvm/test/CodeGen/Hexagon/vec-shuff2.ll
    R llvm/test/CodeGen/Hexagon/vmpa.ll
    R llvm/test/CodeGen/Hexagon/vmpy-const.ll
    R llvm/test/CodeGen/Hexagon/vmpy-qfp-const.ll
    R llvm/test/CodeGen/Hexagon/vsub-const.ll
    R llvm/test/CodeGen/Hexagon/widening-float-vec.ll
    R llvm/test/CodeGen/Hexagon/widening-vec.ll
    R llvm/test/CodeGen/Hexagon/widening-vec2.ll

  Log Message:
  -----------
  Revert "[Hexagon] Passes for widening vector operations and shuffle o… (#171647)

…pt (#169559)"

This reverts commit 4da31b6f579925e17314ad2de2826dc171cd95f4.


  Commit: 07b8aa8ea8d80843146f11b4335b17eedcf1fcb1
      https://github.com/llvm/llvm-project/commit/07b8aa8ea8d80843146f11b4335b17eedcf1fcb1
  Author: Daniel Thornburgh <mysterymath at gmail.com>
  Date:   2025-12-10 (Wed, 10 Dec 2025)

  Changed paths:
    M llvm/lib/Target/M68k/M68kExpandPseudo.cpp
    M llvm/lib/Target/M68k/M68kInstrData.td
    M llvm/lib/Target/M68k/M68kInstrInfo.cpp
    M llvm/lib/Target/M68k/M68kInstrInfo.h

  Log Message:
  -----------
  [NFC][M68k] Refactor away MOV8dc and MOV8cd (#169426)

This obsoletes the FIXME in #85686, but it doesn't address the issue
where moves from CCR will still be emitted on 68000. However, all such
moves will now be emitted as physreg copies, and the issue can thus be
handled there in a followup change.


  Commit: 62e00a03fba029f82d421fb3c814a6a02d59b8c8
      https://github.com/llvm/llvm-project/commit/62e00a03fba029f82d421fb3c814a6a02d59b8c8
  Author: Krzysztof Parzyszek <Krzysztof.Parzyszek at amd.com>
  Date:   2025-12-10 (Wed, 10 Dec 2025)

  Changed paths:
    M clang/unittests/Analysis/Scalable/CMakeLists.txt

  Log Message:
  -----------
  [clang][unittest] Fix build break with BUILD_SHARED_LIBS=ON

/usr/bin/ld: tools/clang/unittests/Analysis/Scalable/CMakeFiles/ClangSca
lableAnalysisFrameworkTests.dir/ASTEntityMappingTest.cpp.o: undefined re
ference to symbol '_ZN5clang7ASTUnitD1Ev


  Commit: 04dcb1b9ee82d7f7a3b0271920fe0059d7e32ae2
      https://github.com/llvm/llvm-project/commit/04dcb1b9ee82d7f7a3b0271920fe0059d7e32ae2
  Author: John Harrison <harjohn at google.com>
  Date:   2025-12-10 (Wed, 10 Dec 2025)

  Changed paths:
    M lldb/packages/Python/lldbsuite/test/tools/lldb-dap/dap_server.py

  Log Message:
  -----------
  [lldb-dap] Fix running dap_server.py directly for debugging tests. (#167754)

This adjusts the behavior of running dap_server.py directly to better
support the current state of development. A few parts of the 'main' body
were stale and not functional.

These improvements include:

* Instead of the custom tracefile / replay file parsing logic, I
adjusted the replay helper to handle parsing lldb-dap log files created
with the `LLDBDAP_LOG` env variable, allowing you to more easily run a
failing test like: `python3
lldb/packages/Python/lldbsuite/test/tools/lldb-dap/dap_server.py
--adapter lldb-dap -r
lldb-test-build.noindex/tools/lldb-dap/console/TestDAP_console.test_custom_escape_prefix/dap.txt`
* Migrated argument parsing to `argparse`, that is in all verisons of
py3+ and has a few improvements over `optparse`.
* Corrected the existing arguments and updated `run_vscode` >
`run_adapter`. You can use this for simple debugging like: `xcrun
python3 lldb/packages/Python/lldbsuite/test/tools/lldb-dap/dap_server.py
--adapter=lldb-dap --adapter-arg='--pre-init-command' --adapter-arg
'help' --program a.out --init-command 'help'`


  Commit: bc0d0bbc6b36445730067b6e302f332fa1e3fa35
      https://github.com/llvm/llvm-project/commit/bc0d0bbc6b36445730067b6e302f332fa1e3fa35
  Author: Eli Friedman <efriedma at qti.qualcomm.com>
  Date:   2025-12-10 (Wed, 10 Dec 2025)

  Changed paths:
    M compiler-rt/CMakeLists.txt
    M compiler-rt/cmake/config-ix.cmake
    M compiler-rt/lib/profile/CMakeLists.txt
    M compiler-rt/lib/profile/InstrProfiling.c
    M compiler-rt/lib/profile/InstrProfiling.h
    M compiler-rt/lib/profile/InstrProfilingMerge.c
    M compiler-rt/lib/profile/InstrProfilingMergeFile.c
    M compiler-rt/lib/profile/InstrProfilingPlatformLinux.c
    M compiler-rt/lib/profile/InstrProfilingPlatformOther.c
    M compiler-rt/lib/profile/InstrProfilingPort.h

  Log Message:
  -----------
  [compiler-rt] Add baremetal version of profile library. (#167998)

Adds a flag COMPILER_RT_PROFILE_BAREMETAL, which disables the parts of
the profile runtime which require a filesystem or malloc. This minimal
library only requires string.h from the C library.

This is useful for profiling or code coverage of baremetal images, which
don't have filesystem APIs, and might not have malloc configured (or
have limited heap space).

Expected usage:

- Add code to your project to call
`__llvm_profile_get_size_for_buffer()` and
`__llvm_profile_write_buffer()` to write the profile data to a buffer in
memory, and then copy that data off the device using target-specific
tools.
- If you're using a linker script, set up your linker script to map the
profiling and coverage input sections to corresponding output sections
with the same name, and mark them KEEP. `__llvm_covfun` and
`__llvm_covmap` are non-allocatable, `__llvm_prf_names` is read-only
allocatable, and `__llvm_prf_cnts` and `__llvm_prf_data` are read-write
allocatable.
- The resulting data is in same format as the non-baremetal profiles.

There's some room for improvement here in the future for doing profiling
and code coverage for baremetal. If we revised the profiling format, and
introduced some additional host tooling, we could move some of the
metadata into non-allocated sections, and construct the profraw file on
the host. But this patch is sufficient for some use-cases.


  Commit: c5ac7d66cb96f04287728691ce41fd6e3690295b
      https://github.com/llvm/llvm-project/commit/c5ac7d66cb96f04287728691ce41fd6e3690295b
  Author: Craig Topper <craig.topper at sifive.com>
  Date:   2025-12-10 (Wed, 10 Dec 2025)

  Changed paths:
    M llvm/lib/Target/RISCV/MCTargetDesc/RISCVBaseInfo.h
    M llvm/lib/Target/RISCV/RISCVInsertVSETVLI.cpp
    M llvm/lib/Target/RISCV/RISCVInstrInfo.cpp
    M llvm/lib/Target/RISCV/RISCVInstrInfoXSfmm.td
    M llvm/test/CodeGen/RISCV/rvv/sifive-xsfmm-vset-insert.mir

  Log Message:
  -----------
  [RISCV] Add OperandType for XSfmm TWiden. (#171572)

Use the same twiden format for PseudoSF_VSETTM and PseudoSF_VSETTK
as other XSfmm pseudos. Though I don't think we use the operand from
these instructions.


  Commit: ccc3835ffaacb2571deda8e9d536dbbbfd0c09fb
      https://github.com/llvm/llvm-project/commit/ccc3835ffaacb2571deda8e9d536dbbbfd0c09fb
  Author: Craig Topper <craig.topper at sifive.com>
  Date:   2025-12-10 (Wed, 10 Dec 2025)

  Changed paths:
    M llvm/lib/Transforms/Utils/LoopPeel.cpp
    M llvm/test/Transforms/LoopUnroll/peel-to-turn-invariant-accesses-dereferenceable.ll

  Log Message:
  -----------
  [LoopPeel] Ignore assume intrinsics for the mayWriteToMemory check in peelToTurnInvariantLoadsDereferenceable. (#171547)

llvm.assume intrinsics have the mayWriteToMemory property, but
won't prevent the load from becoming dereferenceable.


  Commit: b13aacee61605e17437fda93e897342c936e5586
      https://github.com/llvm/llvm-project/commit/b13aacee61605e17437fda93e897342c936e5586
  Author: Craig Topper <craig.topper at sifive.com>
  Date:   2025-12-10 (Wed, 10 Dec 2025)

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

  Log Message:
  -----------
  [RISCV] Use vec_rm for VPseudoSF_MatMul_FRM. (#171573)


  Commit: e61c2d40b615d72b3ab98ea22c48475502962f8c
      https://github.com/llvm/llvm-project/commit/e61c2d40b615d72b3ab98ea22c48475502962f8c
  Author: Rahul Joshi <rjoshi at nvidia.com>
  Date:   2025-12-10 (Wed, 10 Dec 2025)

  Changed paths:
    M llvm/docs/ProgrammersManual.rst

  Log Message:
  -----------
  [NFC][LLVM] Document variadic `isa` (#136869)

Add documentation for variadic `isa<>` in the LLVM Programmer's Manual.


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

  Changed paths:
    M flang-rt/lib/runtime/CMakeLists.txt
    M flang-rt/lib/runtime/exceptions.cpp
    M flang/include/flang/Runtime/exceptions.h

  Log Message:
  -----------
  [flang-rt][device] Enable MapException on the device with error message (#171705)

As it is done in `flang-rt/lib/runtime/edit-input.cpp`, emit a runtime
error message when trying to raise IEEE exception on the device.
`MapException` and `feraiseexcept` are used in the lowering of the
nearest intrinsic even on the device.


  Commit: 16ee5c7787f3e0065394ee60e664c0aba5dc67f2
      https://github.com/llvm/llvm-project/commit/16ee5c7787f3e0065394ee60e664c0aba5dc67f2
  Author: Dan Blackwell <dan_blackwell at apple.com>
  Date:   2025-12-10 (Wed, 10 Dec 2025)

  Changed paths:
    M compiler-rt/test/sanitizer_common/TestCases/Posix/popen.cpp

  Log Message:
  -----------
  Revert "[sanitizer_common][test-only] Specify full path for sort executable in popen.cpp" (#171706)

Reverts llvm/llvm-project#171622

Co-authored-by: Andrew Haberlandt <ndrewh at users.noreply.github.com>


  Commit: 182c61da17bfd4d06079fc96ed6d47669a2b7ff4
      https://github.com/llvm/llvm-project/commit/182c61da17bfd4d06079fc96ed6d47669a2b7ff4
  Author: Peter Collingbourne <pcc at google.com>
  Date:   2025-12-10 (Wed, 10 Dec 2025)

  Changed paths:
    M llvm/lib/Target/AArch64/AArch64AsmPrinter.cpp
    M llvm/test/CodeGen/AArch64/ptrauth-irelative.ll

  Log Message:
  -----------
  AArch64: Correctly emit large addends into PAuth ifunc.

Previously we would hit an assertion failure when a relocation represented
by a PAuth ifunc required a GOT and the addend of a relocation did not fit
into the immediate operand of an ADD instruction. Fix it by extracting a
function for materializing arbitrary addends and using it to materialize
the addend.

Reviewers: fmayer, hvdijk

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


  Commit: f672f32fa24aec5f440827b5beedcb6627769fcf
      https://github.com/llvm/llvm-project/commit/f672f32fa24aec5f440827b5beedcb6627769fcf
  Author: Alexander Richardson <alexrichardson at google.com>
  Date:   2025-12-10 (Wed, 10 Dec 2025)

  Changed paths:
    M llvm/test/TableGen/RegClassByHwModeErrors.td
    M llvm/utils/TableGen/Common/CodeGenDAGPatterns.cpp
    M llvm/utils/TableGen/Common/InfoByHwMode.cpp
    M llvm/utils/TableGen/Common/InfoByHwMode.h

  Log Message:
  -----------
  [TableGen] Improve error message for bad VTByHwMode in RegisterByHwMode

Previously we would assert when a ValueTypeByHwMode was missing a case
for the current mode, now we report an error instead. Interestingly this
error only ocurrs when the DAG patterns use RegClassByHwMode, but not
normal RegisterClass instances. Found while I added RegClassByHwMode
to RISC-V and was getting an assertion due to `XLenFVT`/`XLenVecI32VT`
not having an entry for the default mode.

Reviewed By: arsenm

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


  Commit: 625d5354c56bf710e11ef8d6ed2c7882190b8c85
      https://github.com/llvm/llvm-project/commit/625d5354c56bf710e11ef8d6ed2c7882190b8c85
  Author: Alexander Richardson <alexrichardson at google.com>
  Date:   2025-12-10 (Wed, 10 Dec 2025)

  Changed paths:
    M llvm/include/llvm/MC/MCInstPrinter.h
    M llvm/lib/MC/MCInstPrinter.cpp
    A llvm/test/TableGen/RegClassByHwModeAlias.td
    M llvm/utils/TableGen/AsmWriterEmitter.cpp

  Log Message:
  -----------
  [TableGen] Handle RegClassByHwMode in AsmWriter

Previously, we were emitting a broken AliasPatternCond array, outputting
`MyTarget::RegClassByHwModeRegClassID` which does not exist.
Instead, we now add a new predicate and pass the RegClassByHwMode index
as the value argument.

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


  Commit: d34c71744a58e07e8993114a12f310aacb002baa
      https://github.com/llvm/llvm-project/commit/d34c71744a58e07e8993114a12f310aacb002baa
  Author: Florian Mayer <fmayer at google.com>
  Date:   2025-12-10 (Wed, 10 Dec 2025)

  Changed paths:
    M clang/lib/Analysis/FlowSensitive/Models/UncheckedStatusOrAccessModel.cpp
    M clang/unittests/Analysis/FlowSensitive/UncheckedStatusOrAccessModelTestFixture.cpp

  Log Message:
  -----------
  [FlowSensitive] [StatusOr] [13/N] Add support for gtest ASSERTs



Reviewers: jvoung

Reviewed By: jvoung

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


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

  Changed paths:
    M llvm/lib/Transforms/Vectorize/VPlanRecipes.cpp
    M llvm/test/Transforms/LoopVectorize/vplan-printing.ll

  Log Message:
  -----------
  [VPlan] Strip stray whitespace when printing VPWidenSelectRecipe. (NFCI)

printFlags takes care of inserting the correct amount of spaces,
depending on whether there are flags to print or not.


  Commit: 575d6892bcc5cef926cfc1b95225148262c96a15
      https://github.com/llvm/llvm-project/commit/575d6892bcc5cef926cfc1b95225148262c96a15
  Author: Razvan Lupusoru <razvan.lupusoru at gmail.com>
  Date:   2025-12-10 (Wed, 10 Dec 2025)

  Changed paths:
    M mlir/include/mlir/Dialect/OpenACC/Analysis/OpenACCSupport.h
    M mlir/include/mlir/Dialect/OpenACC/OpenACCUtils.h
    M mlir/include/mlir/Dialect/OpenACC/Transforms/Passes.td
    M mlir/lib/Dialect/OpenACC/Analysis/OpenACCSupport.cpp
    A mlir/lib/Dialect/OpenACC/Transforms/ACCLoopTiling.cpp
    M mlir/lib/Dialect/OpenACC/Transforms/CMakeLists.txt
    M mlir/lib/Dialect/OpenACC/Utils/CMakeLists.txt
    M mlir/lib/Dialect/OpenACC/Utils/OpenACCUtils.cpp
    M mlir/lib/Dialect/OpenACC/Utils/OpenACCUtilsTiling.cpp
    A mlir/test/Dialect/OpenACC/acc-loop-tiling-invalid.mlir
    A mlir/test/Dialect/OpenACC/acc-loop-tiling-remarks.mlir
    A mlir/test/Dialect/OpenACC/acc-loop-tiling.mlir

  Log Message:
  -----------
  [mlir][acc] Introduce acc loop tiling pass (#171692)

This pass implements the OpenACC loop tiling transformation for acc.loop
operations that have the tile clause (OpenACC 3.4 spec, section 2.9.8).

The tile clause specifies that the iterations of the associated loops
should be divided into tiles (rectangular blocks). The pass transforms a
single or nested acc.loop with tile clauses into a structure of "tile
loops" (iterating over tiles) containing "element loops" (iterating
within tiles).

For example, tiling a 2-level nested loop with tile(T1, T2):
```
  // Before tiling:
  acc.loop tile(T1, T2) control(%i, %j) = ...

  // After tiling:
  acc.loop control(%i) step (s1*T1) {        // tile loop 1
    acc.loop control(%j) step (s2*T2) {      // tile loop 2
      acc.loop control(%ii) = (%i) to (min(ub1, %i+s1*T1)) {
        acc.loop control(%jj) = (%j) to (min(ub2, %j+s2*T2)) {
          // loop body using %ii, %jj
        }
      }
    }
  }
```

Key features:
- Handles constant tile sizes and wildcard tile sizes ('*') which use a
configurable default tile size
- Properly handles collapsed loops with tile counts exceeding collapse
count by uncollapsing loops before tiling
- Distributes gang/worker/vector attributes appropriately: gang -> tile
loops, vector -> element loops
- Validates that tile size types are not wider than loop IV types
- Emits optimization remarks for tiling decisions

Three test files are added:
- acc-loop-tiling.mlir: Tests single and nested loop tiling with
constant tile sizes, unknown tile sizes (*), and loops with collapse
attributes
- acc-loop-tiling-invalid.mlir: Tests error diagnostic when tile size
type is wider than the loop IV type
- acc-loop-tiling-remarks.mlir: Tests optimization remarks emitted for
tiling decisions including default tile size selection

Co-authored-by: Vijay Kandiah <vkandiah at nvidia.com>


  Commit: 6ae0b9f586de48ad190fc0843de87f689dbfd04e
      https://github.com/llvm/llvm-project/commit/6ae0b9f586de48ad190fc0843de87f689dbfd04e
  Author: Jay Foad <jay.foad at amd.com>
  Date:   2025-12-10 (Wed, 10 Dec 2025)

  Changed paths:
    M llvm/lib/Target/AMDGPU/SIISelLowering.cpp
    M llvm/lib/Target/AMDGPU/SOPInstructions.td
    M llvm/lib/Target/AMDGPU/VOP3Instructions.td
    M llvm/test/CodeGen/AMDGPU/bf16.ll
    M llvm/test/CodeGen/AMDGPU/fp_to_sint.ll
    M llvm/test/CodeGen/AMDGPU/fp_to_uint.ll

  Log Message:
  -----------
  [AMDGPU] Implement codegen for GFX11+ V_CVT_PK_[IU]16_F32 (#168719)


  Commit: ddc638c11d91f8efcb4a21a505865c138d593d79
      https://github.com/llvm/llvm-project/commit/ddc638c11d91f8efcb4a21a505865c138d593d79
  Author: Florian Mayer <fmayer at google.com>
  Date:   2025-12-10 (Wed, 10 Dec 2025)

  Changed paths:
    M clang/lib/Analysis/FlowSensitive/Models/UncheckedStatusOrAccessModel.cpp
    M clang/unittests/Analysis/FlowSensitive/UncheckedStatusOrAccessModelTestFixture.cpp

  Log Message:
  -----------
  [FlowSensitive] [StatusOr] [14/N] Support nested StatusOrs



Reviewers: jvoung

Reviewed By: jvoung

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


  Commit: 6b75eaea794f638fcf3eb99ee49ec7c1df1a6039
      https://github.com/llvm/llvm-project/commit/6b75eaea794f638fcf3eb99ee49ec7c1df1a6039
  Author: Jan Korous <jkorous at apple.com>
  Date:   2025-12-10 (Wed, 10 Dec 2025)

  Changed paths:
    M clang/unittests/Analysis/Scalable/CMakeLists.txt

  Log Message:
  -----------
  [clang][ssaf] Speculative fix of unittest build (#171720)

https://github.com/llvm/llvm-project/pull/169131

Should fix:
ASTEntityMappingTest.cpp.o: undefined reference to symbol
'_ZN4llvm3omp27isAllowedClauseForDirectiveENS0_9DirectiveENS0_6ClauseEj'

https://lab.llvm.org/buildbot/#/builders/10/builds/18851


  Commit: e603fac7cb2c4b32e14523d936bbe0365f70b0e6
      https://github.com/llvm/llvm-project/commit/e603fac7cb2c4b32e14523d936bbe0365f70b0e6
  Author: Florian Mayer <fmayer at google.com>
  Date:   2025-12-10 (Wed, 10 Dec 2025)

  Changed paths:
    M clang/lib/Analysis/FlowSensitive/Models/UncheckedStatusOrAccessModel.cpp
    M clang/unittests/Analysis/FlowSensitive/UncheckedStatusOrAccessModelTestFixture.cpp

  Log Message:
  -----------
  [FlowSensitive] [StatusOr] [15/15] Support references to Status(Or) ptrs

That hopefully concludes the initial upstreaming.

Reviewers: jvoung

Reviewed By: jvoung

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


  Commit: 2b958b9ee24b8ea36dcc777b2d1bcfb66c4972b6
      https://github.com/llvm/llvm-project/commit/2b958b9ee24b8ea36dcc777b2d1bcfb66c4972b6
  Author: Shubham Sandeep Rastogi <Shubham.Rastogi at sony.com>
  Date:   2025-12-10 (Wed, 10 Dec 2025)

  Changed paths:
    M llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
    A llvm/test/DebugInfo/X86/selectionDAG-load-sext-trunc.ll
    A llvm/test/DebugInfo/X86/selectionDAG-load-sext.ll

  Log Message:
  -----------
  [SelectionDAG] Salvage debuginfo when combining load and sext instrs. (#169779)

SelectionDAG uses the DAGCombiner to fold a load followed by a sext to a
load and sext instruction. For example, in x86 we will see that

```
%1 = load i32, ptr @GlobArr
  #dbg_value(i32 %1, !43, !DIExpression(), !52)
%2 = sext i32 %1 to i64, !dbg !53
```

is converted to:

```
%0:gr64_nosp = MOVSX64rm32 $rip, 1, $noreg, @GlobArr, $noreg, debug-instr-number 1, debug-location !51
DBG_VALUE $noreg, $noreg, !"Idx", !DIExpression(), debug-location !52
```

The `DBG_VALUE` needs to be transferred correctly to the new combined
instruction, and it needs to be appended with a `DIExpression` which
contains a `DW_OP_LLVM_fragment`, describing that the lower bits of the
virtual register contain the value.

This patch fixes the above described problem.


  Commit: 56fb92ae643a0ba4def920c347f47e80934314b5
      https://github.com/llvm/llvm-project/commit/56fb92ae643a0ba4def920c347f47e80934314b5
  Author: Florian Mayer <fmayer at google.com>
  Date:   2025-12-10 (Wed, 10 Dec 2025)

  Changed paths:
    M clang/include/clang/Analysis/FlowSensitive/Models/UncheckedStatusOrAccessModel.h
    M clang/lib/Analysis/FlowSensitive/Models/UncheckedStatusOrAccessModel.cpp

  Log Message:
  -----------
  [NFC] [FlowSensitive] [StatusOr] expose statusType in header (#171719)


  Commit: e305cf25cf3dbb8e7e4f203f432e2ec6e62921ab
      https://github.com/llvm/llvm-project/commit/e305cf25cf3dbb8e7e4f203f432e2ec6e62921ab
  Author: Aiden Grossman <aidengrossman at google.com>
  Date:   2025-12-10 (Wed, 10 Dec 2025)

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

  Log Message:
  -----------
  [bazel] Port 575d6892bcc5cef926cfc1b95225148262c96a15 (#171722)


  Commit: 871dabc8eadcf013df6475369ba7ce34c4c93ffe
      https://github.com/llvm/llvm-project/commit/871dabc8eadcf013df6475369ba7ce34c4c93ffe
  Author: Charles Zablit <c_zablit at apple.com>
  Date:   2025-12-10 (Wed, 10 Dec 2025)

  Changed paths:
    M lldb/test/Shell/Commands/command-dwim-print.test
    M lldb/test/Shell/Commands/command-expr-diagnostics.test
    M lldb/test/Shell/Commands/command-options.test

  Log Message:
  -----------
  [lldb] fix failing tests due to CI diagnostics rendering (#171685)

This patch fixes issues introduced by
https://github.com/llvm/llvm-project/pull/171491 when running tests in
CI.

The shell tests expect certain characters when matching diagnostics.
With https://github.com/llvm/llvm-project/pull/171491, those characters
can either be Unicode specific characters or their ASCII equivalent. The
tests were always expecting the ASCII version. This patch fixes this by
using a regex to match one or the other.


  Commit: 069d3aa923c7cd5ed0b9e550858a26e63c7ec940
      https://github.com/llvm/llvm-project/commit/069d3aa923c7cd5ed0b9e550858a26e63c7ec940
  Author: Bill Wendling <morbo at google.com>
  Date:   2025-12-10 (Wed, 10 Dec 2025)

  Changed paths:
    M clang/lib/CodeGen/CGExpr.cpp
    M clang/lib/CodeGen/CodeGenFunction.h
    M clang/test/CodeGen/attr-counted-by-for-pointers.c
    M clang/test/CodeGen/attr-counted-by.c
    M clang/test/DebugInfo/Generic/bounds-checking-debuginfo.c

  Log Message:
  -----------
  [Clang][counted_by] Correct signed counted_by values (#171260)

If the 'counted_by' value is signed, we will incorrectly allow accesses
when the value is negative. This has obvious bad effects as it will
allow accessing a huge swath of unallocated memory.

Also clarify and rearrange the parameters to make them more
perspicuous.

Fixes: #170987.


  Commit: 02b4dd04626c31f225db2bb8e9e0b82cddd28c25
      https://github.com/llvm/llvm-project/commit/02b4dd04626c31f225db2bb8e9e0b82cddd28c25
  Author: Amara Emerson <amara at apple.com>
  Date:   2025-12-10 (Wed, 10 Dec 2025)

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

  Log Message:
  -----------
  [AArch64] Restrict TBI to ignore top 4 bits for Darwin targets.

In order to allow arm64 code to run on MTE environments, we need to make the
compiler only assume the top 4 bits can be ignored as MTE occupies the lower 4.

rdar://164645323


  Commit: 6dafa096f417378e7e7b5540fca14d8a0b4b4e59
      https://github.com/llvm/llvm-project/commit/6dafa096f417378e7e7b5540fca14d8a0b4b4e59
  Author: jimingham <jingham at apple.com>
  Date:   2025-12-10 (Wed, 10 Dec 2025)

  Changed paths:
    M lldb/source/Interpreter/CommandInterpreter.cpp
    M lldb/test/API/functionalities/breakpoint/breakpoint_command/TestRegexpBreakCommand.py
    M lldb/test/API/terminal/TestEditlineCompletions.py

  Log Message:
  -----------
  Add a _regexp-break-add and some more tests for the b alias. (#171236)

This commit leaves "b" aliased to the old _regexp-break for now. The two
variants are identical except that `_regexp-break` allows you to say:

`(lldb) b <unrecognized_input> 
`
which gets translated to:

`break set <unrecognized_input>
`

So switching people to `_regexp-break-add` would be a surprising
behavior change. It would be wrong for `_regexp_break-add` have one
branch that call `break set`, so to avoid surprise, I'll add the command
and let people who are playing with `break add` instead of `break set`
can set the alias to the new one by hand for now.


  Commit: 3abaed8086fae30726b1ffb6fbbad69b1d42a7d0
      https://github.com/llvm/llvm-project/commit/3abaed8086fae30726b1ffb6fbbad69b1d42a7d0
  Author: Alexander Richardson <alexrichardson at google.com>
  Date:   2025-12-10 (Wed, 10 Dec 2025)

  Changed paths:
    M llvm/test/TableGen/RegClassByHwModeErrors.td
    M llvm/utils/TableGen/Common/InfoByHwMode.cpp

  Log Message:
  -----------
  [TableGen] Replace reachable assertion with error in *ByHwMode

Having duplicate mode entries previously asserted (or silently replaced
the last value with a new one in release builds). Report an error with
a helpful message instead.

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


  Commit: c5470e0f1f51291ac2b59c27a8278494e9f67ebd
      https://github.com/llvm/llvm-project/commit/c5470e0f1f51291ac2b59c27a8278494e9f67ebd
  Author: Alexander Richardson <alexrichardson at google.com>
  Date:   2025-12-10 (Wed, 10 Dec 2025)

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

  Log Message:
  -----------
  [RISC-V][MC] Fix tied operand register class mismatch in P-extension

I have a change to validate the operand classes emitted in the AsmParser
and that caused llvm/test/MC/RISCV/rv32p-valid.s to fail due to the rd_wb
register using a different register class from rd:
`PWADDA_H operand 1 register X6 is not a member of register class GPRPair`
This happens because tablegen's AsmMatcherEmitter emits code to literally
copy over the tied registers and does not feed them through the equivalent
of RISCVAsmParser::validateTargetOperandClass() which would allow adjusting
these operand classes.

Ideally we would handle this in tablegen (or at least add an error), but
the tied operand handling logic is rather complex and I don't understand
it yet. For now just update the rd register class to match rd_wb.

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


  Commit: 62aaa3a9ac04763b8a5ba91d6f3d8754e4db7e85
      https://github.com/llvm/llvm-project/commit/62aaa3a9ac04763b8a5ba91d6f3d8754e4db7e85
  Author: Wael Yehia <wmyehia2001 at yahoo.com>
  Date:   2025-12-10 (Wed, 10 Dec 2025)

  Changed paths:
    M llvm/runtimes/CMakeLists.txt

  Log Message:
  -----------
  [compiler-rt] follow-up to 166837, rename COMPILER_RT_FORCE_TEST_BUILTINS_DIR to COMPILER_RT_TEST_BUILTINS_DIR (#171741)

Co-authored-by: David Tenty <daltenty at ibm.com>


  Commit: 16e6055273e14bd9b8402a6c0e7f3793e287ea0e
      https://github.com/llvm/llvm-project/commit/16e6055273e14bd9b8402a6c0e7f3793e287ea0e
  Author: Shubham Sandeep Rastogi <Shubham.Rastogi at sony.com>
  Date:   2025-12-10 (Wed, 10 Dec 2025)

  Changed paths:
    M llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
    R llvm/test/DebugInfo/X86/selectionDAG-load-sext-trunc.ll
    R llvm/test/DebugInfo/X86/selectionDAG-load-sext.ll

  Log Message:
  -----------
  Revert "[SelectionDAG] Salvage debuginfo when combining load and sext… (#171745)

… instrs. (#169779)"

This reverts commit 2b958b9ee24b8ea36dcc777b2d1bcfb66c4972b6.

I might have broken the sanitizer-x86_64-linux bot


/home/b/sanitizer-x86_64-linux/build/llvm-project/compiler-rt/lib/sanitizer_common/sanitizer_procmaps_linux.cpp
clang++:
/home/b/sanitizer-x86_64-linux/build/llvm-project/llvm/include/llvm/ADT/ArrayRef.h:248:
const T &llvm::ArrayRef<llvm::DbgValueLocEntry>::operator[](size_t)
const [T = llvm::DbgValueLocEntry]: Assertion `Index < Length &&
"Invalid index!"' failed.


  Commit: ba73d60c43c1c2af5111669f5ec938f1c501fd4a
      https://github.com/llvm/llvm-project/commit/ba73d60c43c1c2af5111669f5ec938f1c501fd4a
  Author: Craig Topper <craig.topper at sifive.com>
  Date:   2025-12-10 (Wed, 10 Dec 2025)

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

  Log Message:
  -----------
  [RISCV] Use sew and vec_policy for Rivos vector instruction operands. (#171721)

This enables MachineVerifier and MachineIR printing support for these
operands.


  Commit: 76ae530407a42f50fa946ccaca5c1039fff5c7ca
      https://github.com/llvm/llvm-project/commit/76ae530407a42f50fa946ccaca5c1039fff5c7ca
  Author: Wael Yehia <wyehia at ca.ibm.com>
  Date:   2025-12-11 (Thu, 11 Dec 2025)

  Changed paths:
    M compiler-rt/test/builtins/Unit/ppc/fixtfti_test.c
    M compiler-rt/test/builtins/Unit/ppc/fixunstfti_test.c

  Log Message:
  -----------
  [PPC] XFAIL ppc/fixtfti_test.c and ppc/fixunstfti_test.c and track them under issue 171751


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

  Changed paths:
    M flang-rt/lib/cuda/allocatable.cpp
    M flang-rt/lib/cuda/pointer.cpp
    M flang/include/flang/Optimizer/Dialect/CUF/CUFOps.td
    M flang/include/flang/Runtime/CUDA/allocatable.h
    M flang/include/flang/Runtime/CUDA/pointer.h
    M flang/lib/Lower/Allocatable.cpp
    M flang/lib/Optimizer/Transforms/CUDA/CUFAllocationConversion.cpp
    M flang/test/Fir/CUDA/cuda-allocate.fir
    R flang/test/Lower/CUDA/TODO/cuda-allocate-source-device.cuf
    M flang/test/Lower/CUDA/cuda-allocatable.cuf

  Log Message:
  -----------
  [flang][cuda] Add support for allocate with device source (#171743)

Add support for allocate statement with a source that is a device
variable.


  Commit: 3fdce799cc184bf1b7c60a6845026df6c6e7630b
      https://github.com/llvm/llvm-project/commit/3fdce799cc184bf1b7c60a6845026df6c6e7630b
  Author: Brad Smith <brad at comstyle.com>
  Date:   2025-12-10 (Wed, 10 Dec 2025)

  Changed paths:
    M libunwind/src/UnwindCursor.hpp

  Log Message:
  -----------
  [libunwind] fix building on Haiku i386 (#171586)

Co-authored-by: Jérôme Duval <jerome.duval at gmail.com>


  Commit: 2614af08c1875e7928c6036237e434943730631a
      https://github.com/llvm/llvm-project/commit/2614af08c1875e7928c6036237e434943730631a
  Author: mitchell <mitchell.xu2 at gmail.com>
  Date:   2025-12-11 (Thu, 11 Dec 2025)

  Changed paths:
    M clang/lib/Tooling/Tooling.cpp
    M clang/unittests/Tooling/ToolingTest.cpp

  Log Message:
  -----------
  [Tooling] Fix misleading progress report when files have multiple compile commands (#169640)

This patch fixes an issue in progress reporting where the processed item
counter could exceed the total item count, leading to confusing outputs
like [22/18].

Closes [#169168](https://github.com/llvm/llvm-project/issues/169168)


  Commit: fa9247526a4f8f3cdb946f7ed9a39b4e6691a1aa
      https://github.com/llvm/llvm-project/commit/fa9247526a4f8f3cdb946f7ed9a39b4e6691a1aa
  Author: Craig Topper <craig.topper at sifive.com>
  Date:   2025-12-10 (Wed, 10 Dec 2025)

  Changed paths:
    M llvm/lib/Target/RISCV/MCTargetDesc/RISCVBaseInfo.h
    M llvm/lib/Target/RISCV/RISCVInstrInfo.cpp
    M llvm/lib/Target/RISCV/RISCVInstrInfoA.td

  Log Message:
  -----------
  [RISCV] Add an OperandType for ordering for atomic pseudos. (#171744)


  Commit: 18b61373d85a279ac08c8b77fedfc1cf991b3e4c
      https://github.com/llvm/llvm-project/commit/18b61373d85a279ac08c8b77fedfc1cf991b3e4c
  Author: Harald van Dijk <hdijk at accesssoftek.com>
  Date:   2025-12-11 (Thu, 11 Dec 2025)

  Changed paths:
    M clang/lib/Basic/Targets/PPC.h
    M llvm/include/llvm/TargetParser/Triple.h
    M llvm/lib/Target/AArch64/AArch64AsmPrinter.cpp
    M llvm/lib/Target/PowerPC/PPCInstrInfo.cpp
    M llvm/lib/Target/X86/X86ISelDAGToDAG.cpp
    M llvm/lib/Target/X86/X86ISelLoweringCall.cpp
    M llvm/lib/Target/X86/X86Subtarget.h

  Log Message:
  -----------
  [NFC] isOSGlibc: musl is not glibc. (#171734)

Previously, `isOSGlibc()` was returning true for musl triples as well.
This commit changes `isOSGlibc()` to return false for musl triples, and
updates all existing `isOSGlibc()` checks to call `isOSGlibc() ||
isMusl()`, in order to preserve existing behaviour.


  Commit: e795b8bdea598fb76f50519ae7d164eff8d1efb7
      https://github.com/llvm/llvm-project/commit/e795b8bdea598fb76f50519ae7d164eff8d1efb7
  Author: Craig Topper <craig.topper at sifive.com>
  Date:   2025-12-10 (Wed, 10 Dec 2025)

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

  Log Message:
  -----------
  [RISCV] Use GPR instead of ixlenimm for sextshamt in PseudoMaskedAMOMinMax. NFC (#171736)

This operand is always a register.


  Commit: 3b04094f36bf224d499e6a289b07ae193937e977
      https://github.com/llvm/llvm-project/commit/3b04094f36bf224d499e6a289b07ae193937e977
  Author: Craig Topper <craig.topper at sifive.com>
  Date:   2025-12-10 (Wed, 10 Dec 2025)

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

  Log Message:
  -----------
  [RISCV] Add Xsfmm vlte and vste intrinsics to getTgtMemIntrinsics. (#171747)

Replace dyn_cast with cast. The dyn_cast can never fail now. Previously
it never succeeded.


  Commit: 71bfdd13040328bc83b520d09eee847fd2b7f82c
      https://github.com/llvm/llvm-project/commit/71bfdd13040328bc83b520d09eee847fd2b7f82c
  Author: Sirraide <aeternalmail at gmail.com>
  Date:   2025-12-11 (Thu, 11 Dec 2025)

  Changed paths:
    M clang-tools-extra/clang-tidy/bugprone/BranchCloneCheck.cpp
    M clang/docs/ReleaseNotes.rst
    M clang/include/clang/AST/RecursiveASTVisitor.h
    M clang/include/clang/AST/Stmt.h
    M clang/include/clang/Basic/DiagnosticParseKinds.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/StmtNodes.td
    M clang/include/clang/Basic/TokenKinds.def
    M clang/include/clang/Options/Options.td
    M clang/include/clang/Parse/Parser.h
    M clang/include/clang/Sema/Sema.h
    M clang/include/clang/Serialization/ASTBitCodes.h
    M clang/lib/AST/Stmt.cpp
    M clang/lib/AST/StmtPrinter.cpp
    M clang/lib/AST/StmtProfile.cpp
    M clang/lib/Basic/IdentifierTable.cpp
    M clang/lib/CodeGen/CGStmt.cpp
    M clang/lib/CodeGen/CodeGenFunction.h
    M clang/lib/Driver/ToolChains/Clang.cpp
    M clang/lib/Frontend/InitPreprocessor.cpp
    A clang/lib/Headers/stddefer.h
    M clang/lib/Parse/ParseStmt.cpp
    M clang/lib/Sema/JumpDiagnostics.cpp
    M clang/lib/Sema/SemaExceptionSpec.cpp
    M clang/lib/Sema/SemaExpr.cpp
    M clang/lib/Sema/SemaStmt.cpp
    M clang/lib/Sema/TreeTransform.h
    M clang/lib/Serialization/ASTReaderStmt.cpp
    M clang/lib/Serialization/ASTWriterStmt.cpp
    M clang/lib/StaticAnalyzer/Core/ExprEngine.cpp
    A clang/test/AST/ast-dump-defer-ts.c
    A clang/test/AST/ast-print-defer-ts.c
    A clang/test/CodeGen/defer-ts-musttail.c
    A clang/test/CodeGen/defer-ts-nested-cleanups.c
    A clang/test/CodeGen/defer-ts-seh.c
    A clang/test/CodeGen/defer-ts.c
    A clang/test/Lexer/defer-keyword.cpp
    A clang/test/Parser/defer-ts.c
    A clang/test/Parser/defer-ts.cpp
    A clang/test/Preprocessor/defer-ts.c
    A clang/test/Sema/defer-ts-seh.c
    A clang/test/Sema/defer-ts-sjlj.c
    A clang/test/Sema/defer-ts.c
    M clang/tools/libclang/CXCursor.cpp

  Log Message:
  -----------
  [Clang] Add support for the C `_Defer` TS (#162848)

This implements WG14 N3734 (https://www.open-std.org/jtc1/sc22/wg14/www/docs/n3734.pdf),
aka `_Defer`; it is currently only supported in C if `-fdefer-ts` is passed.


  Commit: 426cedccd38502babad106fb0a9183750fae3092
      https://github.com/llvm/llvm-project/commit/426cedccd38502babad106fb0a9183750fae3092
  Author: hev <wangrui at loongson.cn>
  Date:   2025-12-11 (Thu, 11 Dec 2025)

  Changed paths:
    M llvm/lib/Target/LoongArch/Disassembler/LoongArchDisassembler.cpp
    M llvm/lib/Target/LoongArch/LoongArchInstrFormats.td
    M llvm/lib/Target/LoongArch/LoongArchInstrInfo.td
    M llvm/test/CodeGen/LoongArch/trap.ll
    M llvm/test/MC/LoongArch/Basic/Integer/misc.s

  Log Message:
  -----------
  [LoongArch] Add support for the ud macro instruction (#171583)

This patch adds support for the `ud ui5` macro instruction. The `ui5`
operand must be inthe range `0-31`. The macro expands to:

`amswap.w $rd, $r1, $rj`

where `ui5` specifies the register number used for `$rd` in the expanded
instruction, and `$rd` is the same as `$rj`.

Relevant binutils patch:

https://sourceware.org/pipermail/binutils/2025-December/146042.html


  Commit: 4f9d5a8bc85431b722e6f90744f3683adffc17b4
      https://github.com/llvm/llvm-project/commit/4f9d5a8bc85431b722e6f90744f3683adffc17b4
  Author: Sudharsan Veeravalli <svs at qti.qualcomm.com>
  Date:   2025-12-11 (Thu, 11 Dec 2025)

  Changed paths:
    M llvm/lib/Target/RISCV/RISCVLoadStoreOptimizer.cpp
    A llvm/test/CodeGen/RISCV/xqcilsm-lwmi-swmi.mir

  Log Message:
  -----------
  [RISCV] Generate Xqcilsm LWMI/SWMI load/store multiple instructions (#171079)

This patch adds support for generating the Xqcilsm load/store multiple
instructions as a part of the RISCVLoadStoreOptimizer pass. For now we
only combine two load/store instructions into a load/store multiple.
Support for converting more loads/stores will be added in follow-up
patches. These instructions are only applicable for 32-bit loads/stores
with an alignment of 4-bytes.


  Commit: cb4b6ad8171e9f3dd991b0d7fa1771bcafc3c0a6
      https://github.com/llvm/llvm-project/commit/cb4b6ad8171e9f3dd991b0d7fa1771bcafc3c0a6
  Author: Jasmine Tang <jjasmine at igalia.com>
  Date:   2025-12-10 (Wed, 10 Dec 2025)

  Changed paths:
    M clang/include/clang/CIR/Dialect/IR/CIROps.td
    M clang/lib/CIR/CodeGen/CIRGenStmt.cpp
    M clang/lib/CIR/Dialect/IR/CIRDialect.cpp
    M clang/test/CIR/CodeGen/atomic.c
    M clang/test/CIR/CodeGen/switch.cpp
    M clang/test/CIR/CodeGen/switch_flat_op.cpp
    M clang/test/CIR/IR/switch.cir
    M clang/test/CIR/Transforms/switch-fold.cir

  Log Message:
  -----------
  [CIR] Add the ability to detect if SwitchOp covers all the cases (#171246)


  Commit: 488202935ed9857ad2ad44cb25e99c4365eea2e0
      https://github.com/llvm/llvm-project/commit/488202935ed9857ad2ad44cb25e99c4365eea2e0
  Author: Adar Dagan <101581112+Adar-Dagan at users.noreply.github.com>
  Date:   2025-12-11 (Thu, 11 Dec 2025)

  Changed paths:
    M llvm/lib/Analysis/ValueTracking.cpp
    M llvm/test/Transforms/InstCombine/mul.ll

  Log Message:
  -----------
  [ValueTracking] Enhance overflow computation for unsigned mul (#171568)

Changed the range computation in computeOverflowForUnsignedMul to use
computeConstantRange as well.

This expands the patterns that InstCombine manages to narrow a mul that
has values that come from zext, for example if a value comes from a div
operation then the known bits doesn't give the narrowest possible range
for that value.

---------

Co-authored-by: Adar Dagan <adar.dagan at mobileye.com>


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

  Changed paths:
    M llvm/lib/IR/Verifier.cpp
    M llvm/test/Assembler/ptrtoaddr-invalid-constexpr.ll

  Log Message:
  -----------
  [Verifier] Make sure all constexprs in instructions are visited (#171643)

Previously this only happened for constants of some types and missed
incorrect ptrtoaddr.


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

  Changed paths:
    M llvm/lib/Analysis/ConstantFolding.cpp
    M llvm/test/Transforms/InstSimplify/ptrtoaddr.ll

  Log Message:
  -----------
  [ConstantFolding] Support ptrtoaddr in ConstantFoldCompareInstOperands (#162653)

This folds `icmp (ptrtoaddr x, ptrtoaddr y)` to `icmp (x, y)`, matching
the existing ptrtoint fold. Restrict both folds to only the case where
the result type matches the address type.
    
I think that all folds this can do in practice end up actually being
valid for ptrtoint to a type large than the address size as well, but I
don't really see a way to justify this generically without making
assumptions about what kind of folding the recursive calls may do.

This is based on the icmp semantics specified in
https://github.com/llvm/llvm-project/pull/163936.


  Commit: 39a723edbb66e881ae009fdf1c630c3909242a03
      https://github.com/llvm/llvm-project/commit/39a723edbb66e881ae009fdf1c630c3909242a03
  Author: Abhishek Varma <avarma094 at gmail.com>
  Date:   2025-12-10 (Wed, 10 Dec 2025)

  Changed paths:
    M mlir/lib/Dialect/Linalg/Transforms/Specialize.cpp
    M mlir/lib/Dialect/Linalg/Utils/Utils.cpp
    M mlir/test/Dialect/Linalg/convolution/roundtrip-convolution.mlir

  Log Message:
  -----------
  [Linalg] Add *Conv2D* matchers (#168362)

-- This commit is the fourth in the series of adding matchers
for linalg.*conv*/*pool*. Refer:
https://github.com/llvm/llvm-project/pull/163724
-- In this commit all variants of Conv2D convolution ops have been
   added.
-- It also refactors the way these matchers work to make adding more
matchers concise.

Signed-off-by: Abhishek Varma <abhvarma at amd.com>

---------

Signed-off-by: Abhishek Varma <abhvarma at amd.com>
Signed-off-by: hanhanW <hanhan0912 at gmail.com>
Co-authored-by: hanhanW <hanhan0912 at gmail.com>


  Commit: 2ce17ba3470bfc819ff6a2e5f98f5f7ed9bb38a2
      https://github.com/llvm/llvm-project/commit/2ce17ba3470bfc819ff6a2e5f98f5f7ed9bb38a2
  Author: Tirthankar Mazumder <tmazumder.github at gmail.com>
  Date:   2025-12-11 (Thu, 11 Dec 2025)

  Changed paths:
    M llvm/lib/Analysis/CmpInstAnalysis.cpp
    M llvm/lib/Transforms/InstCombine/InstCombineAndOrXor.cpp
    M llvm/lib/Transforms/InstCombine/InstCombineCompares.cpp

  Log Message:
  -----------
  [InstCombine][CmpInstAnalysis] Use consistent spelling and function names. NFC. (#171645)

Both `decomposeBitTestICmp` and `decomposeBitTest` have a parameter
called `lookThroughTrunc`. This was spelled in full (i.e. `lookThroughTrunc`)
in the header. However, in the implementation, it's written as `lookThruTrunc`.

I opted to convert all instances of `lookThruTrunc` into
`lookThroughTrunc` to reduce surprise while reading the code and for
conformity.

---

The other change in this PR is the renaming of the wrapper around
`decomposeBitTest()`. Even though it was a wrapper around
`CmpInstAnalysis.h`'s `decomposeBitTest`, the function was called
`decomposeBitTestICmp`. This is quite confusing because such a function
_also_ exists in `CmpInstAnalysis.h`, but it is _not_ the one actually
being used in `InstCombineAndOrXor.cpp`.


  Commit: aa31efcee107112c84af7993e9500849e7584f33
      https://github.com/llvm/llvm-project/commit/aa31efcee107112c84af7993e9500849e7584f33
  Author: Romaric Jodin <rjodin at google.com>
  Date:   2025-12-11 (Thu, 11 Dec 2025)

  Changed paths:
    M libclc/opencl/lib/clspv/shared/vstore_half.cl

  Log Message:
  -----------
  [libclc] use clc functions in clspv/shared/vstore_half.cl (#171770)


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

  Changed paths:
    M clang/lib/CodeGen/CodeGenModule.cpp
    M clang/test/CodeGen/2007-05-07-PaddingElements.c
    M llvm/lib/IR/AutoUpgrade.cpp
    M llvm/lib/TargetParser/TargetDataLayout.cpp
    M llvm/test/CodeGen/PowerPC/aix-cc-abi-mir.ll
    M llvm/test/CodeGen/PowerPC/aix-cc-abi.ll
    M llvm/test/CodeGen/PowerPC/aix-emit-tracebacktable.ll
    M llvm/test/CodeGen/PowerPC/aix-xcoff-data.ll
    M llvm/test/CodeGen/PowerPC/aix32-cc-abi-vaarg-mir.ll
    M llvm/test/CodeGen/PowerPC/aix32-cc-abi-vaarg.ll
    M llvm/test/CodeGen/PowerPC/aix64-cc-abi-vaarg-mir.ll
    M llvm/unittests/Bitcode/DataLayoutUpgradeTest.cpp

  Log Message:
  -----------
  [PowerPC][AIX] Specify correct ABI alignment for double (#144673)

Add `f64:32:64` to the data layout for AIX, to indicate that doubles
have a 32-bit ABI alignment and 64-bit preferred alignment.

Clang was already taking this into account, but it was not reflected in
LLVM's data layout.

A notable effect of this change is that `double` loads/stores with 4
byte alignment are no longer considered "unaligned" and avoid the
corresponding unaligned access legalization. I assume that this is
correct/desired for AIX. (The codegen previously already relied on this
in some places related to the call ABI simply by dint of assuming
certain stack locations were 8 byte aligned, even though they were only
actually 4 byte aligned.)

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


  Commit: 6ad0c7c6f1802abdde55f2c94e98a5fb445e0d3d
      https://github.com/llvm/llvm-project/commit/6ad0c7c6f1802abdde55f2c94e98a5fb445e0d3d
  Author: Brandon Wu <brandon.wu at sifive.com>
  Date:   2025-12-11 (Thu, 11 Dec 2025)

  Changed paths:
    M llvm/lib/Target/RISCV/RISCVFeatures.td
    M llvm/lib/Target/RISCV/RISCVInstrInfoV.td
    M llvm/lib/Target/RISCV/RISCVInstrInfoVPseudos.td
    M llvm/lib/Target/RISCV/RISCVInstrInfoVSDPatterns.td
    M llvm/lib/Target/RISCV/RISCVInstrInfoVVLPatterns.td
    M llvm/lib/Target/RISCV/RISCVInstrInfoZvfbf.td

  Log Message:
  -----------
  [NFC][RISCV] Unify all zvfbfa vl patterns and sd node patterns (#171072)

This patch try to move all vl patterns and sd node patterns to
RISCVInstrInfoVVLPatterns.td and RISCVInstrInfoVSDPatterns.td
respectively. It removes redefinition of pattern classes for zvfbfa and
make it easier to maintain and change.

Note: this does not include intrinsic patterns, if we want to also unify
intrinsic patterns we need to also move pseudo instruction definitions
of zvfbfa to RISCVInstrInfoVPseudos.td.


  Commit: 794551dbffc0910c5b56660f663daacffa1bcdaa
      https://github.com/llvm/llvm-project/commit/794551dbffc0910c5b56660f663daacffa1bcdaa
  Author: Brandon Wu <brandon.wu at sifive.com>
  Date:   2025-12-11 (Thu, 11 Dec 2025)

  Changed paths:
    M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
    M llvm/lib/Target/RISCV/RISCVInstrInfoP.td
    M llvm/test/CodeGen/RISCV/rvp-ext-rv32.ll
    M llvm/test/CodeGen/RISCV/rvp-ext-rv64.ll

  Log Message:
  -----------
  [RISCV][llvm] Support PSRA, PSRAI, PSRL, PSRLI codegen for P extension (#171460)


  Commit: f57abf519b8e3a58182a442a78a09de91105680c
      https://github.com/llvm/llvm-project/commit/f57abf519b8e3a58182a442a78a09de91105680c
  Author: Juan Manuel Martinez Caamaño <jmartinezcaamao at gmail.com>
  Date:   2025-12-11 (Thu, 11 Dec 2025)

  Changed paths:
    M llvm/lib/Target/SPIRV/SPIRVBuiltins.cpp
    M llvm/lib/Target/SPIRV/SPIRVRegularizer.cpp
    A llvm/test/CodeGen/SPIRV/transcoding/OpExtInst_vector_promotion.ll
    A llvm/test/CodeGen/SPIRV/transcoding/OpExtInst_vector_promotion_bug.ll
    R llvm/test/CodeGen/SPIRV/transcoding/OpMin.ll

  Log Message:
  -----------
  [SPIRV] Promote scalar arguments to vector for `OpExtInst` in `generateExtInst` instead of `SPIRVRegularizer` (#170155)

This patch consist of 2 parts:
* A first part that removes the scalar to vector promotion for built-ins
in the `SPIRVRegularizer`;
* and a second part that implements the promotion for built-ins from
scalar to vector in `generateExtInst`.

The implementation in `SPIRVRegularizer` had several issues:
* It rolled its own built-in pattern matching that was extremely
permissive
  * the compiler would crash if the built-in had a definition
  * the compiler would crash if the built-in had no arguments
* The compiler would crash if there were more than 2 function
definitions in the module.
* It'd be better if this was implemented as a module pass; where we
iterate over the users of the function, instead of scanning the whole
module for callers.

This patch does the scalar to vector promotion just before the
`OpExtInst` is generated. Without relying on the IR transformation.

One change in the generated code from the previous implementation is
that this version uses a single `OpCompositeConstruct` operation to
convert the scalar into a vector. The old implementation inserted an
element at the 0 position in an `undef` vector (using
`OpCompositeInsert`); then copied that element for every vector element
using `OpVectorShuffle`.

This patch also adds a test (`OpExtInst_vector_promotion_bug.ll`) that
highlights an issue in the builtin pattern matching that we're using:
our pattern matching doesn't consider the number of arguments, only the
demangled name, first and last arguments (`min(int,int,int)` matches the same builtin as `min(int, int)`).


  Commit: 15df9e701f1f1194a25e6123612cc735ad392ae4
      https://github.com/llvm/llvm-project/commit/15df9e701f1f1194a25e6123612cc735ad392ae4
  Author: Juan Manuel Martinez Caamaño <jmartinezcaamao at gmail.com>
  Date:   2025-12-11 (Thu, 11 Dec 2025)

  Changed paths:
    M llvm/lib/Target/AMDGPU/SIISelLowering.cpp
    M llvm/lib/Target/AMDGPU/SIInstructions.td
    M llvm/test/CodeGen/AMDGPU/extract_vector_dynelt.ll
    M llvm/test/CodeGen/AMDGPU/insert_vector_dynelt.ll

  Log Message:
  -----------
  [AMDGPU][SDAG] Add missing cases for SI_INDIRECT_SRC/DST (#170323)

Before this patch, `insertelement/extractelement` with dynamic indices
would
fail to select with `-O0` for vector 32-bit element types with sizes 3,
5, 6 and 7,
which did not map to a `SI_INDIRECT_SRC/DST` pattern.

Other "weird" sizes bigger than 8 (like 13) are properly handled
already.

To solve this issue we add the missing patterns for the problematic
sizes.

Solves SWDEV-568862


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

  Changed paths:
    M libcxx/include/__split_buffer
    M libcxx/include/__vector/vector.h
    M libcxx/include/deque

  Log Message:
  -----------
  [libc++] Don't instantiate __split_buffer with an allocator reference (#171651)

Allocators should be extremely cheap, if not free, to copy. Furthermore,
we have requirements on allocator types that copies must compare equal,
and that move and copy must be the same.

Hence, taking an allocator by reference should not provide benefits
beyond making a copy of it. However, taking the allocator by reference
leads to complexity in __split_buffer, which can be removed if we stop
using that pattern.


  Commit: db06ebbb9cdf2ff32e1f6900e441cefce23d4624
      https://github.com/llvm/llvm-project/commit/db06ebbb9cdf2ff32e1f6900e441cefce23d4624
  Author: Philip Ginsbach-Chen <philip.ginsbach at cantab.net>
  Date:   2025-12-11 (Thu, 11 Dec 2025)

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

  Log Message:
  -----------
  [AArch64][NFC] Add isTRNMask improvements to isZIPMask (#171532)

Some [ideas for
improvement](https://github.com/llvm/llvm-project/pull/169858#pullrequestreview-3525357470)
came up during review of recent changes to `isTRNMask`.
This PR applies them also to `isZIPMask`, which is implemented almost
identically.


  Commit: 59b13d6d9cdc5847af0b26732902a7d4af4707d3
      https://github.com/llvm/llvm-project/commit/59b13d6d9cdc5847af0b26732902a7d4af4707d3
  Author: Nikolas Klauser <nikolasklauser at berlin.de>
  Date:   2025-12-11 (Thu, 11 Dec 2025)

  Changed paths:
    M libcxx/include/__algorithm/find_end.h

  Log Message:
  -----------
  [libc++] Add `__find_end` optimizations back (#171374)

This essentially reverts #100685 and fixes the bidirectional and random
access specializations to be actually used.

```
Benchmark                                                                old             new    Difference    % Difference
------------------------------------------------------------  --------------  --------------  ------------  --------------
rng::find_end(deque<int>)_(match_near_end)/1000                       366.91           47.63       -319.28         -87.02%
rng::find_end(deque<int>)_(match_near_end)/1024                      3273.31           35.42      -3237.89         -98.92%
rng::find_end(deque<int>)_(match_near_end)/8192                    171608.41          285.04    -171323.38         -99.83%
rng::find_end(deque<int>)_(near_matches)/1000                       31808.40        19214.35     -12594.05         -39.59%
rng::find_end(deque<int>)_(near_matches)/1024                       37428.72        20773.87     -16654.85         -44.50%
rng::find_end(deque<int>)_(near_matches)/8192                     1719468.34      1213967.45    -505500.89         -29.40%
rng::find_end(deque<int>)_(process_all)/1000                          275.81          336.29         60.49          21.93%
rng::find_end(deque<int>)_(process_all)/1024                          258.88          320.36         61.47          23.74%
rng::find_end(deque<int>)_(process_all)/1048576                    277117.41       327640.37      50522.96          18.23%
rng::find_end(deque<int>)_(process_all)/8192                         2166.36         2533.52        367.16          16.95%
rng::find_end(deque<int>)_(same_length)/1000                         1280.06          362.53       -917.53         -71.68%
rng::find_end(deque<int>)_(same_length)/1024                         1419.99          417.58      -1002.40         -70.59%
rng::find_end(deque<int>)_(same_length)/8192                        11363.81         2870.63      -8493.18         -74.74%
rng::find_end(deque<int>)_(single_element)/1000                       277.22          363.52         86.31          31.13%
rng::find_end(deque<int>)_(single_element)/1024                       257.11          353.94         96.84          37.66%
rng::find_end(deque<int>)_(single_element)/8192                      2059.02         2762.29        703.27          34.16%
rng::find_end(deque<int>,_pred)_(match_near_end)/1000                 696.84           70.07       -626.77         -89.94%
rng::find_end(deque<int>,_pred)_(match_near_end)/1024                4774.82           70.75      -4704.07         -98.52%
rng::find_end(deque<int>,_pred)_(match_near_end)/8192              267492.37          549.57    -266942.81         -99.79%
rng::find_end(deque<int>,_pred)_(near_matches)/1000                 39414.88        31070.43      -8344.46         -21.17%
rng::find_end(deque<int>,_pred)_(near_matches)/1024                 38168.52        32362.18      -5806.34         -15.21%
rng::find_end(deque<int>,_pred)_(near_matches)/8192               2594717.16      1938056.79    -656660.38         -25.31%
rng::find_end(deque<int>,_pred)_(process_all)/1000                    600.88          586.92        -13.96          -2.32%
rng::find_end(deque<int>,_pred)_(process_all)/1024                    613.00          592.66        -20.33          -3.32%
rng::find_end(deque<int>,_pred)_(process_all)/1048576              600059.65       603440.98       3381.33           0.56%
rng::find_end(deque<int>,_pred)_(process_all)/8192                   4850.32         4764.56        -85.76          -1.77%
rng::find_end(deque<int>,_pred)_(same_length)/1000                   1514.90          700.34       -814.57         -53.77%
rng::find_end(deque<int>,_pred)_(same_length)/1024                   1561.14          705.80       -855.34         -54.79%
rng::find_end(deque<int>,_pred)_(same_length)/8192                  12544.84         5024.45      -7520.39         -59.95%
rng::find_end(deque<int>,_pred)_(single_element)/1000                 603.79          650.63         46.84           7.76%
rng::find_end(deque<int>,_pred)_(single_element)/1024                 614.93          656.43         41.50           6.75%
rng::find_end(deque<int>,_pred)_(single_element)/8192                4885.89         5225.71        339.82           6.96%
rng::find_end(forward_list<int>)_(match_near_end)/1000                770.05          769.32         -0.73          -0.09%
rng::find_end(forward_list<int>)_(match_near_end)/1024               4833.13         4733.24        -99.90          -2.07%
rng::find_end(forward_list<int>)_(match_near_end)/8192             259324.32       261066.84       1742.52           0.67%
rng::find_end(forward_list<int>)_(near_matches)/1000                38301.11        38608.61        307.50           0.80%
rng::find_end(forward_list<int>)_(near_matches)/1024                39370.54        39878.59        508.05           1.29%
rng::find_end(forward_list<int>)_(near_matches)/8192              2527338.50      2527722.47        383.97           0.02%
rng::find_end(forward_list<int>)_(process_all)/1000                   713.63          720.74          7.11           1.00%
rng::find_end(forward_list<int>)_(process_all)/1024                   727.81          731.60          3.79           0.52%
rng::find_end(forward_list<int>)_(process_all)/1048576             757728.47       766470.14       8741.67           1.15%
rng::find_end(forward_list<int>)_(process_all)/8192                  5821.05         5817.80         -3.25          -0.06%
rng::find_end(forward_list<int>)_(same_length)/1000                  1458.99         1454.50         -4.49          -0.31%
rng::find_end(forward_list<int>)_(same_length)/1024                  1507.73         1515.78          8.05           0.53%
rng::find_end(forward_list<int>)_(same_length)/8192                 20432.32        18658.93      -1773.39          -8.68%
rng::find_end(forward_list<int>)_(single_element)/1000                712.41          708.41         -4.00          -0.56%
rng::find_end(forward_list<int>)_(single_element)/1024                728.05          728.78          0.73           0.10%
rng::find_end(forward_list<int>)_(single_element)/8192               5795.48         6332.88        537.40           9.27%
rng::find_end(forward_list<int>,_pred)_(match_near_end)/1000          843.67          846.77          3.10           0.37%
rng::find_end(forward_list<int>,_pred)_(match_near_end)/1024         5267.90         5343.84         75.94           1.44%
rng::find_end(forward_list<int>,_pred)_(match_near_end)/8192       280912.75       286141.10       5228.35           1.86%
rng::find_end(forward_list<int>,_pred)_(near_matches)/1000          43386.35        44489.38       1103.03           2.54%
rng::find_end(forward_list<int>,_pred)_(near_matches)/1024          44929.84        45608.55        678.71           1.51%
rng::find_end(forward_list<int>,_pred)_(near_matches)/8192        2723281.29      2765369.43      42088.14           1.55%
rng::find_end(forward_list<int>,_pred)_(process_all)/1000             763.13          763.85          0.72           0.09%
rng::find_end(forward_list<int>,_pred)_(process_all)/1024             796.98          773.40        -23.58          -2.96%
rng::find_end(forward_list<int>,_pred)_(process_all)/1048576       858071.76       846166.06     -11905.69          -1.39%
rng::find_end(forward_list<int>,_pred)_(process_all)/8192            6282.19         6244.95        -37.24          -0.59%
rng::find_end(forward_list<int>,_pred)_(same_length)/1000            1560.18         1583.03         22.86           1.47%
rng::find_end(forward_list<int>,_pred)_(same_length)/1024            1603.94         1612.22          8.28           0.52%
rng::find_end(forward_list<int>,_pred)_(same_length)/8192           16907.98        15638.35      -1269.63          -7.51%
rng::find_end(forward_list<int>,_pred)_(single_element)/1000          746.72          754.08          7.36           0.99%
rng::find_end(forward_list<int>,_pred)_(single_element)/1024          761.27          771.75         10.48           1.38%
rng::find_end(forward_list<int>,_pred)_(single_element)/8192         6166.83         6687.87        521.04           8.45%
rng::find_end(list<int>)_(match_near_end)/1000                        793.99           67.06       -726.93         -91.55%
rng::find_end(list<int>)_(match_near_end)/1024                       4682.12           79.82      -4602.31         -98.30%
rng::find_end(list<int>)_(match_near_end)/8192                     263187.10          582.64    -262604.46         -99.78%
rng::find_end(list<int>)_(near_matches)/1000                        38066.70        34687.59      -3379.11          -8.88%
rng::find_end(list<int>)_(near_matches)/1024                        39721.77        36150.04      -3571.73          -8.99%
rng::find_end(list<int>)_(near_matches)/8192                      2543369.85      2247297.03    -296072.82         -11.64%
rng::find_end(list<int>)_(process_all)/1000                           716.89          726.65          9.76           1.36%
rng::find_end(list<int>)_(process_all)/1024                           742.41          744.05          1.64           0.22%
rng::find_end(list<int>)_(process_all)/1048576                     822449.08       873801.46      51352.38           6.24%
rng::find_end(list<int>)_(process_all)/8192                          7704.49         9766.50       2062.02          26.76%
rng::find_end(list<int>)_(same_length)/1000                          1508.19          710.90       -797.28         -52.86%
rng::find_end(list<int>)_(same_length)/1024                          1540.23          735.35       -804.88         -52.26%
rng::find_end(list<int>)_(same_length)/8192                         22786.44        10752.45     -12033.98         -52.81%
rng::find_end(list<int>)_(single_element)/1000                        699.16          734.76         35.60           5.09%
rng::find_end(list<int>)_(single_element)/1024                        717.09          750.91         33.82           4.72%
rng::find_end(list<int>)_(single_element)/8192                       9502.45        10289.21        786.76           8.28%
rng::find_end(list<int>,_pred)_(match_near_end)/1000                  841.98           83.86       -758.12         -90.04%
rng::find_end(list<int>,_pred)_(match_near_end)/1024                 5463.71           76.95      -5386.76         -98.59%
rng::find_end(list<int>,_pred)_(match_near_end)/8192               287070.76          647.14    -286423.62         -99.77%
rng::find_end(list<int>,_pred)_(near_matches)/1000                  43878.61        38899.00      -4979.61         -11.35%
rng::find_end(list<int>,_pred)_(near_matches)/1024                  45672.50        40520.68      -5151.82         -11.28%
rng::find_end(list<int>,_pred)_(near_matches)/8192                2764800.76      2495879.89    -268920.87          -9.73%
rng::find_end(list<int>,_pred)_(process_all)/1000                     764.46          774.78         10.32           1.35%
rng::find_end(list<int>,_pred)_(process_all)/1024                     786.81          793.05          6.24           0.79%
rng::find_end(list<int>,_pred)_(process_all)/1048576               934166.34       954637.60      20471.26           2.19%
rng::find_end(list<int>,_pred)_(process_all)/8192                    9509.24        10209.73        700.49           7.37%
rng::find_end(list<int>,_pred)_(same_length)/1000                    1545.67          782.96       -762.71         -49.34%
rng::find_end(list<int>,_pred)_(same_length)/1024                    1580.94          796.87       -784.08         -49.60%
rng::find_end(list<int>,_pred)_(same_length)/8192                   21558.41        13370.92      -8187.49         -37.98%
rng::find_end(list<int>,_pred)_(single_element)/1000                  766.49          762.81         -3.68          -0.48%
rng::find_end(list<int>,_pred)_(single_element)/1024                  784.75          781.47         -3.28          -0.42%
rng::find_end(list<int>,_pred)_(single_element)/8192                 9722.26        10399.11        676.85           6.96%
rng::find_end(vector<int>)_(match_near_end)/1000                      267.82           25.34       -242.48         -90.54%
rng::find_end(vector<int>)_(match_near_end)/1024                     2259.46           25.78      -2233.68         -98.86%
rng::find_end(vector<int>)_(match_near_end)/8192                   119747.92          214.53    -119533.39         -99.82%
rng::find_end(vector<int>)_(near_matches)/1000                      16913.73        14102.20      -2811.53         -16.62%
rng::find_end(vector<int>)_(near_matches)/1024                      16097.97        14767.26      -1330.71          -8.27%
rng::find_end(vector<int>)_(near_matches)/8192                    1102803.07       823463.30    -279339.78         -25.33%
rng::find_end(vector<int>)_(process_all)/1000                         233.43          380.28        146.85          62.91%
rng::find_end(vector<int>)_(process_all)/1024                         238.86          389.32        150.46          62.99%
rng::find_end(vector<int>)_(process_all)/1048576                   269619.36       391698.75     122079.39          45.28%
rng::find_end(vector<int>)_(process_all)/8192                        2011.46         3061.40       1049.94          52.20%
rng::find_end(vector<int>)_(same_length)/1000                         632.19          253.50       -378.69         -59.90%
rng::find_end(vector<int>)_(same_length)/1024                         556.53          254.87       -301.66         -54.20%
rng::find_end(vector<int>)_(same_length)/8192                        4597.26         2095.57      -2501.68         -54.42%
rng::find_end(vector<int>)_(single_element)/1000                      231.57          417.64        186.06          80.35%
rng::find_end(vector<int>)_(single_element)/1024                      236.41          427.03        190.62          80.63%
rng::find_end(vector<int>)_(single_element)/8192                     1918.95         3367.29       1448.33          75.48%
rng::find_end(vector<int>,_pred)_(match_near_end)/1000                581.49           52.67       -528.82         -90.94%
rng::find_end(vector<int>,_pred)_(match_near_end)/1024               3545.40           53.74      -3491.65         -98.48%
rng::find_end(vector<int>,_pred)_(match_near_end)/8192             190482.78          432.30    -190050.48         -99.77%
rng::find_end(vector<int>,_pred)_(near_matches)/1000                28878.24        24723.01      -4155.23         -14.39%
rng::find_end(vector<int>,_pred)_(near_matches)/1024                30035.85        25597.45      -4438.40         -14.78%
rng::find_end(vector<int>,_pred)_(near_matches)/8192              1858596.45      1584796.11    -273800.34         -14.73%
rng::find_end(vector<int>,_pred)_(process_all)/1000                   518.92          813.46        294.53          56.76%
rng::find_end(vector<int>,_pred)_(process_all)/1024                   531.17          710.20        179.03          33.70%
rng::find_end(vector<int>,_pred)_(process_all)/1048576             674064.13       905070.15     231006.01          34.27%
rng::find_end(vector<int>,_pred)_(process_all)/8192                  4254.34         6372.76       2118.43          49.79%
rng::find_end(vector<int>,_pred)_(same_length)/1000                  1106.96          526.23       -580.73         -52.46%
rng::find_end(vector<int>,_pred)_(same_length)/1024                  1133.60          539.70       -593.90         -52.39%
rng::find_end(vector<int>,_pred)_(same_length)/8192                  8988.10         4302.83      -4685.27         -52.13%
rng::find_end(vector<int>,_pred)_(single_element)/1000                528.11          523.69         -4.42          -0.84%
rng::find_end(vector<int>,_pred)_(single_element)/1024                539.58          838.49        298.91          55.40%
rng::find_end(vector<int>,_pred)_(single_element)/8192               4301.43         7313.22       3011.79          70.02%
std::find_end(deque<int>)_(match_near_end)/1000                       347.82           38.56       -309.26         -88.91%
std::find_end(deque<int>)_(match_near_end)/1024                      3340.80           34.54      -3306.27         -98.97%
std::find_end(deque<int>)_(match_near_end)/8192                    171599.83          281.87    -171317.96         -99.84%
std::find_end(deque<int>)_(near_matches)/1000                       29703.68        19712.27      -9991.41         -33.64%
std::find_end(deque<int>)_(near_matches)/1024                       32312.41        20008.21     -12304.20         -38.08%
std::find_end(deque<int>)_(near_matches)/8192                     1851286.99      1216112.34    -635174.65         -34.31%
std::find_end(deque<int>)_(process_all)/1000                          256.69          315.96         59.27          23.09%
std::find_end(deque<int>)_(process_all)/1024                          260.97          305.42         44.45          17.03%
std::find_end(deque<int>)_(process_all)/1048576                    273310.08       309499.13      36189.05          13.24%
std::find_end(deque<int>)_(process_all)/8192                         2071.33         2606.57        535.25          25.84%
std::find_end(deque<int>)_(same_length)/1000                         1422.58          441.07       -981.51         -68.99%
std::find_end(deque<int>)_(same_length)/1024                         1844.27          350.75      -1493.52         -80.98%
std::find_end(deque<int>)_(same_length)/8192                        14681.69         2839.26     -11842.43         -80.66%
std::find_end(deque<int>)_(single_element)/1000                       291.63          344.82         53.19          18.24%
std::find_end(deque<int>)_(single_element)/1024                       257.97          330.19         72.21          27.99%
std::find_end(deque<int>)_(single_element)/8192                      2220.10         2505.02        284.92          12.83%
std::find_end(deque<int>,_pred)_(match_near_end)/1000                 694.70           69.60       -625.11         -89.98%
std::find_end(deque<int>,_pred)_(match_near_end)/1024                4735.45           71.12      -4664.33         -98.50%
std::find_end(deque<int>,_pred)_(match_near_end)/8192              267417.02          561.03    -266855.99         -99.79%
std::find_end(deque<int>,_pred)_(near_matches)/1000                 42199.71        31597.49     -10602.22         -25.12%
std::find_end(deque<int>,_pred)_(near_matches)/1024                 38007.49        32362.16      -5645.33         -14.85%
std::find_end(deque<int>,_pred)_(near_matches)/8192               2607708.49      1935799.88    -671908.60         -25.77%
std::find_end(deque<int>,_pred)_(process_all)/1000                    599.65          552.71        -46.94          -7.83%
std::find_end(deque<int>,_pred)_(process_all)/1024                    615.88          554.17        -61.71         -10.02%
std::find_end(deque<int>,_pred)_(process_all)/1048576              598471.63       599441.79        970.16           0.16%
std::find_end(deque<int>,_pred)_(process_all)/8192                   4853.45         4394.20       -459.25          -9.46%
std::find_end(deque<int>,_pred)_(same_length)/1000                   1511.68          797.64       -714.04         -47.23%
std::find_end(deque<int>,_pred)_(same_length)/1024                   1568.63          810.85       -757.78         -48.31%
std::find_end(deque<int>,_pred)_(same_length)/8192                  12609.34         5092.02      -7517.32         -59.62%
std::find_end(deque<int>,_pred)_(single_element)/1000                 601.22          628.80         27.58           4.59%
std::find_end(deque<int>,_pred)_(single_element)/1024                 613.25          627.15         13.89           2.27%
std::find_end(deque<int>,_pred)_(single_element)/8192                4823.85         4795.25        -28.60          -0.59%
std::find_end(forward_list<int>)_(match_near_end)/1000                762.64          769.74          7.10           0.93%
std::find_end(forward_list<int>)_(match_near_end)/1024               4767.93         4840.87         72.94           1.53%
std::find_end(forward_list<int>)_(match_near_end)/8192             260275.68       260835.21        559.53           0.21%
std::find_end(forward_list<int>)_(near_matches)/1000                38020.76        38197.53        176.77           0.46%
std::find_end(forward_list<int>)_(near_matches)/1024                39028.86        39333.38        304.51           0.78%
std::find_end(forward_list<int>)_(near_matches)/8192              2524921.48      2523470.32      -1451.16          -0.06%
std::find_end(forward_list<int>)_(process_all)/1000                   699.95          699.93         -0.02          -0.00%
std::find_end(forward_list<int>)_(process_all)/1024                   715.24          712.07         -3.17          -0.44%
std::find_end(forward_list<int>)_(process_all)/1048576             755926.33       756976.31       1049.98           0.14%
std::find_end(forward_list<int>)_(process_all)/8192                  5696.72         5672.92        -23.81          -0.42%
std::find_end(forward_list<int>)_(same_length)/1000                  1485.84         1480.19         -5.65          -0.38%
std::find_end(forward_list<int>)_(same_length)/1024                  1493.62         1516.95         23.33           1.56%
std::find_end(forward_list<int>)_(same_length)/8192                 16833.75        13551.42      -3282.33         -19.50%
std::find_end(forward_list<int>)_(single_element)/1000                688.87          675.02        -13.85          -2.01%
std::find_end(forward_list<int>)_(single_element)/1024                688.89          691.59          2.69           0.39%
std::find_end(forward_list<int>)_(single_element)/8192               5735.87         6748.85       1012.98          17.66%
std::find_end(forward_list<int>,_pred)_(match_near_end)/1000          836.01          853.28         17.27           2.07%
std::find_end(forward_list<int>,_pred)_(match_near_end)/1024         5259.92         5299.30         39.39           0.75%
std::find_end(forward_list<int>,_pred)_(match_near_end)/8192       279479.85       285593.49       6113.65           2.19%
std::find_end(forward_list<int>,_pred)_(near_matches)/1000          42577.60        44550.54       1972.94           4.63%
std::find_end(forward_list<int>,_pred)_(near_matches)/1024          44374.19        45697.95       1323.76           2.98%
std::find_end(forward_list<int>,_pred)_(near_matches)/8192        2711138.03      2742988.33      31850.30           1.17%
std::find_end(forward_list<int>,_pred)_(process_all)/1000             752.03          762.75         10.72           1.43%
std::find_end(forward_list<int>,_pred)_(process_all)/1024             767.04          781.48         14.44           1.88%
std::find_end(forward_list<int>,_pred)_(process_all)/1048576       843453.35       861838.82      18385.47           2.18%
std::find_end(forward_list<int>,_pred)_(process_all)/8192            6241.65         6308.05         66.40           1.06%
std::find_end(forward_list<int>,_pred)_(same_length)/1000            2384.18         1589.21       -794.97         -33.34%
std::find_end(forward_list<int>,_pred)_(same_length)/1024            2428.97         1617.17       -811.80         -33.42%
std::find_end(forward_list<int>,_pred)_(same_length)/8192           16961.22        14972.86      -1988.36         -11.72%
std::find_end(forward_list<int>,_pred)_(single_element)/1000          743.31          752.77          9.47           1.27%
std::find_end(forward_list<int>,_pred)_(single_element)/1024          763.62          768.70          5.08           0.67%
std::find_end(forward_list<int>,_pred)_(single_element)/8192         6189.73         6934.04        744.31          12.02%
std::find_end(list<int>)_(match_near_end)/1000                        773.76           76.41       -697.35         -90.12%
std::find_end(list<int>)_(match_near_end)/1024                       4715.36           69.09      -4646.27         -98.53%
std::find_end(list<int>)_(match_near_end)/8192                     264864.51          584.19    -264280.32         -99.78%
std::find_end(list<int>)_(near_matches)/1000                        37650.69        35233.45      -2417.24          -6.42%
std::find_end(list<int>)_(near_matches)/1024                        39239.25        36699.13      -2540.13          -6.47%
std::find_end(list<int>)_(near_matches)/8192                      2543446.71      2252625.27    -290821.44         -11.43%
std::find_end(list<int>)_(process_all)/1000                           718.00          724.59          6.59           0.92%
std::find_end(list<int>)_(process_all)/1024                           735.14          746.70         11.57           1.57%
std::find_end(list<int>)_(process_all)/1048576                     812620.48       869606.78      56986.30           7.01%
std::find_end(list<int>)_(process_all)/8192                          8217.98         8462.53        244.55           2.98%
std::find_end(list<int>)_(same_length)/1000                          1500.85          716.45       -784.39         -52.26%
std::find_end(list<int>)_(same_length)/1024                          1534.13          736.62       -797.51         -51.98%
std::find_end(list<int>)_(same_length)/8192                         20274.06        10621.82      -9652.24         -47.61%
std::find_end(list<int>)_(single_element)/1000                        717.05          725.64          8.60           1.20%
std::find_end(list<int>)_(single_element)/1024                        732.87          742.44          9.57           1.31%
std::find_end(list<int>)_(single_element)/8192                       9835.11        11896.39       2061.28          20.96%
std::find_end(list<int>,_pred)_(match_near_end)/1000                  845.46           75.09       -770.37         -91.12%
std::find_end(list<int>,_pred)_(match_near_end)/1024                 5301.60           77.14      -5224.46         -98.54%
std::find_end(list<int>,_pred)_(match_near_end)/8192               281976.13          648.87    -281327.25         -99.77%
std::find_end(list<int>,_pred)_(near_matches)/1000                  44076.98        39576.32      -4500.67         -10.21%
std::find_end(list<int>,_pred)_(near_matches)/1024                  45531.64        41020.11      -4511.54          -9.91%
std::find_end(list<int>,_pred)_(near_matches)/8192                2756383.66      2503085.29    -253298.37          -9.19%
std::find_end(list<int>,_pred)_(process_all)/1000                     766.06          764.48         -1.58          -0.21%
std::find_end(list<int>,_pred)_(process_all)/1024                     780.35          799.51         19.15           2.45%
std::find_end(list<int>,_pred)_(process_all)/1048576               894643.71       898947.94       4304.24           0.48%
std::find_end(list<int>,_pred)_(process_all)/8192                    8436.41         9977.74       1541.33          18.27%
std::find_end(list<int>,_pred)_(same_length)/1000                    1545.22          784.29       -760.92         -49.24%
std::find_end(list<int>,_pred)_(same_length)/1024                    1583.27          808.52       -774.74         -48.93%
std::find_end(list<int>,_pred)_(same_length)/8192                   21850.99        10896.50     -10954.48         -50.13%
std::find_end(list<int>,_pred)_(single_element)/1000                  752.03          755.00          2.97           0.39%
std::find_end(list<int>,_pred)_(single_element)/1024                  774.22          784.14          9.92           1.28%
std::find_end(list<int>,_pred)_(single_element)/8192                10219.43        10396.49        177.05           1.73%
std::find_end(vector<int>)_(match_near_end)/1000                      277.37           28.45       -248.91         -89.74%
std::find_end(vector<int>)_(match_near_end)/1024                     2247.56           25.80      -2221.76         -98.85%
std::find_end(vector<int>)_(match_near_end)/8192                   119785.10          212.44    -119572.66         -99.82%
std::find_end(vector<int>)_(near_matches)/1000                      16351.34        14073.13      -2278.21         -13.93%
std::find_end(vector<int>)_(near_matches)/1024                      16656.33        14654.36      -2001.97         -12.02%
std::find_end(vector<int>)_(near_matches)/8192                    1181392.88       828918.96    -352473.91         -29.84%
std::find_end(vector<int>)_(process_all)/1000                         231.14          235.80          4.66           2.01%
std::find_end(vector<int>)_(process_all)/1024                         235.87          232.06         -3.81          -1.61%
std::find_end(vector<int>)_(process_all)/1048576                   239922.25       238229.38      -1692.87          -0.71%
std::find_end(vector<int>)_(process_all)/8192                        1837.43         1802.25        -35.19          -1.91%
std::find_end(vector<int>)_(same_length)/1000                         632.59          252.80       -379.79         -60.04%
std::find_end(vector<int>)_(same_length)/1024                         524.51          257.58       -266.94         -50.89%
std::find_end(vector<int>)_(same_length)/8192                        5159.01         2090.12      -3068.89         -59.49%
std::find_end(vector<int>)_(single_element)/1000                      229.56          250.47         20.91           9.11%
std::find_end(vector<int>)_(single_element)/1024                      234.86          252.18         17.32           7.37%
std::find_end(vector<int>)_(single_element)/8192                     1825.74         1981.90        156.16           8.55%
std::find_end(vector<int>,_pred)_(match_near_end)/1000                574.17           52.98       -521.19         -90.77%
std::find_end(vector<int>,_pred)_(match_near_end)/1024               3525.35           54.03      -3471.32         -98.47%
std::find_end(vector<int>,_pred)_(match_near_end)/8192             190155.81          423.41    -189732.40         -99.78%
std::find_end(vector<int>,_pred)_(near_matches)/1000                28541.98        24598.37      -3943.61         -13.82%
std::find_end(vector<int>,_pred)_(near_matches)/1024                29696.55        25675.27      -4021.28         -13.54%
std::find_end(vector<int>,_pred)_(near_matches)/8192              1846970.41      1596191.84    -250778.57         -13.58%
std::find_end(vector<int>,_pred)_(process_all)/1000                   519.71          592.14         72.43          13.94%
std::find_end(vector<int>,_pred)_(process_all)/1024                   529.74          491.07        -38.67          -7.30%
std::find_end(vector<int>,_pred)_(process_all)/1048576             631923.41       643729.57      11806.16           1.87%
std::find_end(vector<int>,_pred)_(process_all)/8192                  4215.05         3909.30       -305.75          -7.25%
std::find_end(vector<int>,_pred)_(same_length)/1000                  1095.46          524.99       -570.47         -52.08%
std::find_end(vector<int>,_pred)_(same_length)/1024                  1117.95          537.65       -580.31         -51.91%
std::find_end(vector<int>,_pred)_(same_length)/8192                  8923.95         4307.13      -4616.83         -51.74%
std::find_end(vector<int>,_pred)_(single_element)/1000                516.52          656.32        139.80          27.07%
std::find_end(vector<int>,_pred)_(single_element)/1024                528.82          673.72        144.90          27.40%
std::find_end(vector<int>,_pred)_(single_element)/8192               4210.37         5529.52       1319.15          31.33%
Geomean                                                              6995.43         3440.97      -3554.46         -50.81%
```


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

  Changed paths:
    M llvm/lib/Target/X86/X86ISelLowering.cpp
    M llvm/test/CodeGen/X86/atomic-fp.ll

  Log Message:
  -----------
  [X86] LowerATOMIC_STORE - on 32-bit targets see if i64 values were originally legal f64 values that we can store directly. (#171602)

Based off feedback from #171478


  Commit: 4d335cb5821b02bdc589b8483386a9ef91bbc070
      https://github.com/llvm/llvm-project/commit/4d335cb5821b02bdc589b8483386a9ef91bbc070
  Author: Cullen Rhodes <cullen.rhodes at arm.com>
  Date:   2025-12-11 (Thu, 11 Dec 2025)

  Changed paths:
    M llvm/lib/Target/AArch64/AArch64InstrFormats.td
    M llvm/test/tools/llvm-mca/AArch64/Neoverse/N2-rcpc-immo-instructions.s
    M llvm/test/tools/llvm-mca/AArch64/Neoverse/N3-rcpc-immo-instructions.s
    M llvm/test/tools/llvm-mca/AArch64/Neoverse/V1-rcpc-immo-instructions.s
    M llvm/test/tools/llvm-mca/AArch64/Neoverse/V2-rcpc-immo-instructions.s
    M llvm/test/tools/llvm-mca/AArch64/Neoverse/V3-rcpc-immo-instructions.s
    M llvm/test/tools/llvm-mca/AArch64/Neoverse/V3AE-rcpc-immo-instructions.s

  Log Message:
  -----------
  [AArch64] Fix scheduling info for Armv8.4-a LDAPUR* instructions (#171637)

They were using the wrong scheduler resource. They're also missing from
the optimisation guides, but WriteLD should be closer at least.


  Commit: df6c27e752e17bc68c1c962f159a8fde796071f3
      https://github.com/llvm/llvm-project/commit/df6c27e752e17bc68c1c962f159a8fde796071f3
  Author: Nikolas Klauser <nikolasklauser at berlin.de>
  Date:   2025-12-11 (Thu, 11 Dec 2025)

  Changed paths:
    M libcxx/docs/ReleaseNotes/22.rst
    M libcxx/include/__memory/allocator.h
    A libcxx/test/libcxx/memory/allocator_triviality.compile.pass.cpp
    A libcxx/test/libcxx/memory/allocator_triviality.deprecated_abi.compile.pass.cpp
    R libcxx/test/libcxx/memory/allocator_void.trivial.compile.pass.cpp
    M libcxx/test/std/utilities/optional/optional.specalg/make_optional_explicit.pass.cpp
    M libcxx/test/std/utilities/optional/optional.specalg/make_optional_explicit_initializer_list.pass.cpp

  Log Message:
  -----------
  [libc++] Make std::allocator always trivially default constructible (#169914)

This is technically ABI breaking, since `is_trivial` and
`is_trivially_default_constructible` now return different results.
However, I don't think that's a significant issue, since `allocator` is
almost always used in classes which own memory, making them non-trivial
anyways.


  Commit: 57cf1ff8d8a1acaf949d866b52b7c8841a49f46d
      https://github.com/llvm/llvm-project/commit/57cf1ff8d8a1acaf949d866b52b7c8841a49f46d
  Author: Nikolas Klauser <nikolasklauser at berlin.de>
  Date:   2025-12-11 (Thu, 11 Dec 2025)

  Changed paths:
    M libcxx/include/__tree
    M libcxx/include/map
    M libcxx/include/set

  Log Message:
  -----------
  [libc++] Remove initializer_list specific optimization in __tree (#169413)

We've seen in quite a few cases while optimizing `__tree`'s copy
construction that `_DetachedTreeCache` is actually quite slow and not
necessarily an optimization at all. This patch removes the code, since
it's now only used by `operator=(initializer_list)`, which should be
quite cold code. We might look into actually optimizing it again in the
future, but I doubt an optimization will be small enough compared to the
likely speedup in real-world code this would give.


  Commit: d15ff5980bf007d2d26258d65fdae4484efd273f
      https://github.com/llvm/llvm-project/commit/d15ff5980bf007d2d26258d65fdae4484efd273f
  Author: Nikolas Klauser <nikolasklauser at berlin.de>
  Date:   2025-12-11 (Thu, 11 Dec 2025)

  Changed paths:
    M libcxx/include/__algorithm/copy_backward.h
    M libcxx/include/__algorithm/for_each_segment.h
    M libcxx/include/__algorithm/move_backward.h

  Log Message:
  -----------
  [libc++] Merge the segmented iterator code for {copy,move}_backward (#165160)

This removes a bit of code duplication and might simplify future
segmented iterator optimitations.


  Commit: 86f8445293934b1730b8024ffacf14f20387a0fc
      https://github.com/llvm/llvm-project/commit/86f8445293934b1730b8024ffacf14f20387a0fc
  Author: Kashika Akhouri <akhourik at google.com>
  Date:   2025-12-11 (Thu, 11 Dec 2025)

  Changed paths:
    M clang/include/clang/Basic/LangOptions.def
    M clang/include/clang/Options/Options.td
    M clang/lib/Analysis/LifetimeSafety/Checker.cpp
    M clang/test/Sema/warn-lifetime-safety-suggestions.cpp

  Log Message:
  -----------
  [LifetimeSafety] Infer [[clang::lifetimebound]] annotation (#171081)

Adding Annotation Inference in Lifetime Analysis.

This PR implicitly adds lifetime bound annotations to the AST which is
then used by functions which are parsed later to detect UARs etc.
Example:

```cpp
std::string_view f1(std::string_view a) {
  return a;
}

std::string_view f2(std::string_view a) {
  return f1(a);
}

std::string_view ff(std::string_view a) {
  std::string stack = "something on stack";
  return f2(stack); // warning: address of stack memory is returned
}
```

Note:

1. We only add lifetime bound annotations to the functions being
analyzed currently.
2. Currently, both annotation suggestion and inference work
simultaneously. This can be modified based on requirements.
3. The current approach works given that functions are already present
in the correct order (callee-before-caller). For not so ideal cases, we
can create a CallGraph prior to calling the analysis. This can be done
in the next PR.


  Commit: 33fcfb37dad3dba7307186d0adeb58e2d825cce8
      https://github.com/llvm/llvm-project/commit/33fcfb37dad3dba7307186d0adeb58e2d825cce8
  Author: Tom Eccles <tom.eccles at arm.com>
  Date:   2025-12-11 (Thu, 11 Dec 2025)

  Changed paths:
    M flang/include/flang/Optimizer/Analysis/TBAAForest.h
    M flang/lib/Optimizer/Analysis/TBAAForest.cpp
    M flang/lib/Optimizer/Transforms/AddAliasTags.cpp
    M flang/test/Driver/tco-test-gen.fir
    M flang/test/Fir/tbaa-codegen2.fir
    A flang/test/Transforms/tbaa-cray-pointer.fir
    M flang/test/Transforms/tbaa-for-common-vars.fir
    M flang/test/Transforms/tbaa-for-global-equiv-vars.fir
    M flang/test/Transforms/tbaa-for-local-vars.fir
    M flang/test/Transforms/tbaa-with-dummy-scope.fir
    M flang/test/Transforms/tbaa-with-dummy-scope2.fir
    M flang/test/Transforms/tbaa2.fir
    M flang/test/Transforms/tbaa3.fir
    M flang/test/Transforms/tbaa4.fir

  Log Message:
  -----------
  [flang][TBAA] refine TARGET/POINTER encoding (#170908)

Depends upon https://github.com/llvm/llvm-project/pull/170900

Re-land https://github.com/llvm/llvm-project/pull/169544

Previously we were less specific for POINTER/TARGET: encoding that they
could alias with (almost) anything.

In the new system, the "target data" tree is now a sibling of the other
trees (e.g. "global data"). POITNTER variables go at the root of the
"target data" tree, whereas TARGET variables get their own nodes under
that tree. For example,

```
integer, pointer :: ip
real, pointer :: rp
integer, target :: it
integer, target :: it2(:)
real, target :: rt
integer :: i
real :: r
```
- `ip` and `rp` may alias with any variable except `i` and `r`.
- `it`, `it2`, and `rt` may alias only with `ip` or `rp`.
- `i` and `r` cannot alias with any other variable.

Fortran 2023 15.5.2.14 gives restrictions on entities associated with
dummy arguments. These do not allow non-target globals to be modified
through dummy arguments and therefore I don't think we need to make all
globals alias with dummy arguments.

I haven't implemented it in this patch, but I wonder whether it is ever
possible for `ip` to alias with `rt`.

While I was updating the tests I fixed up some tests that still assumed
that local alloc tbaa wasn't the default.

Cray pointers/pointees are (optionally) modelled as aliasing with all
non-descriptor data. This is not enabled by default.

I found no functional regressions in the gfortran test suite.


  Commit: c02978867e85a992df70aedd2fa41d7a41932375
      https://github.com/llvm/llvm-project/commit/c02978867e85a992df70aedd2fa41d7a41932375
  Author: Juan Manuel Martinez Caamaño <jmartinezcaamao at gmail.com>
  Date:   2025-12-11 (Thu, 11 Dec 2025)

  Changed paths:
    M llvm/lib/Target/AMDGPU/SIISelLowering.cpp
    M llvm/lib/Target/AMDGPU/SIInstructions.td
    M llvm/test/CodeGen/AMDGPU/extract_vector_dynelt.ll
    M llvm/test/CodeGen/AMDGPU/insert_vector_dynelt.ll

  Log Message:
  -----------
  Revert "[AMDGPU][SDAG] Add missing cases for SI_INDIRECT_SRC/DST (#170323) (#171787)

```
Step 7 (test-check-all) failure: Test just built components: check-all completed (failure)
******************** TEST 'LLVM :: CodeGen/AMDGPU/insert_vector_dynelt.ll' FAILED ********************
Exit Code: 1

Command Output (stdout):
--
# RUN: at line 2
/home/buildbot/worker/as-builder-4/ramdisk/expensive-checks/build/bin/llc -mtriple=amdgcn -mcpu=fiji < /home/buildbot/worker/as-builder-4/ramdisk/expensive-checks/llvm-project/llvm/test/CodeGen/AMDGPU/insert_vector_dynelt.ll | /home/buildbot/worker/as-builder-4/ramdisk/expensive-checks/build/bin/FileCheck -enable-var-scope -check-prefixes=GCN /home/buildbot/worker/as-builder-4/ramdisk/expensive-checks/llvm-project/llvm/test/CodeGen/AMDGPU/insert_vector_dynelt.ll
# executed command: /home/buildbot/worker/as-builder-4/ramdisk/expensive-checks/build/bin/llc -mtriple=amdgcn -mcpu=fiji
# executed command: /home/buildbot/worker/as-builder-4/ramdisk/expensive-checks/build/bin/FileCheck -enable-var-scope -check-prefixes=GCN /home/buildbot/worker/as-builder-4/ramdisk/expensive-checks/llvm-project/llvm/test/CodeGen/AMDGPU/insert_vector_dynelt.ll
# RUN: at line 3
/home/buildbot/worker/as-builder-4/ramdisk/expensive-checks/build/bin/llc -O0 -mtriple=amdgcn -mcpu=fiji < /home/buildbot/worker/as-builder-4/ramdisk/expensive-checks/llvm-project/llvm/test/CodeGen/AMDGPU/insert_vector_dynelt.ll | /home/buildbot/worker/as-builder-4/ramdisk/expensive-checks/build/bin/FileCheck --check-prefixes=GCN-O0 /home/buildbot/worker/as-builder-4/ramdisk/expensive-checks/llvm-project/llvm/test/CodeGen/AMDGPU/insert_vector_dynelt.ll
# executed command: /home/buildbot/worker/as-builder-4/ramdisk/expensive-checks/build/bin/llc -O0 -mtriple=amdgcn -mcpu=fiji
# .---command stderr------------
# |
# | # After Instruction Selection
# | # Machine code for function insert_dyn_i32_6: IsSSA, TracksLiveness
# | Function Live Ins: $sgpr16 in %8, $sgpr17 in %9, $sgpr18 in %10, $sgpr19 in %11, $sgpr20 in %12, $sgpr21 in %13, $vgpr0 in %14, $vgpr1 in %15
# |
# | bb.0 (%ir-block.0):
# |   successors: %bb.1(0x80000000); %bb.1(100.00%)
# |   liveins: $sgpr16, $sgpr17, $sgpr18, $sgpr19, $sgpr20, $sgpr21, $vgpr0, $vgpr1
# |   %15:vgpr_32 = COPY $vgpr1
# |   %14:vgpr_32 = COPY $vgpr0
# |   %13:sgpr_32 = COPY $sgpr21
# |   %12:sgpr_32 = COPY $sgpr20
# |   %11:sgpr_32 = COPY $sgpr19
# |   %10:sgpr_32 = COPY $sgpr18
# |   %9:sgpr_32 = COPY $sgpr17
# |   %8:sgpr_32 = COPY $sgpr16
# |   %17:sgpr_192 = REG_SEQUENCE %8:sgpr_32, %subreg.sub0, %9:sgpr_32, %subreg.sub1, %10:sgpr_32, %subreg.sub2, %11:sgpr_32, %subreg.sub3, %12:sgpr_32, %subreg.sub4, %13:sgpr_32, %subreg.sub5
# |   %16:sgpr_192 = COPY %17:sgpr_192
# |   %19:vreg_192 = COPY %17:sgpr_192
# |   %28:sreg_64_xexec = IMPLICIT_DEF
# |   %27:sreg_64_xexec = S_MOV_B64 $exec
# |
# | bb.1:
# | ; predecessors: %bb.1, %bb.0
# |   successors: %bb.1(0x40000000), %bb.3(0x40000000); %bb.1(50.00%), %bb.3(50.00%)
# |
# |   %26:vreg_192 = PHI %19:vreg_192, %bb.0, %18:vreg_192, %bb.1
# |   %29:sreg_64 = PHI %28:sreg_64_xexec, %bb.0, %30:sreg_64, %bb.1
# |   %31:sreg_32_xm0 = V_READFIRSTLANE_B32 %14:vgpr_32, implicit $exec
# |   %32:sreg_64 = V_CMP_EQ_U32_e64 %31:sreg_32_xm0, %14:vgpr_32, implicit $exec
# |   %30:sreg_64 = S_AND_SAVEEXEC_B64 killed %32:sreg_64, implicit-def $exec, implicit-def $scc, implicit $exec
# |   $m0 = COPY killed %31:sreg_32_xm0
# |   %18:vreg_192 = V_INDIRECT_REG_WRITE_MOVREL_B32_V8 %26:vreg_192(tied-def 0), %15:vgpr_32, 3, implicit $m0, implicit $exec
# |   $exec = S_XOR_B64_term $exec, %30:sreg_64, implicit-def $scc
# |   S_CBRANCH_EXECNZ %bb.1, implicit $exec
# |
# | bb.3:
```

This reverts commit 15df9e701f1f1194a25e6123612cc735ad392ae4.


  Commit: 0b522d9e8e450a38fea1ac14b7ec67f682f43725
      https://github.com/llvm/llvm-project/commit/0b522d9e8e450a38fea1ac14b7ec67f682f43725
  Author: Charles Zablit <c_zablit at apple.com>
  Date:   2025-12-11 (Thu, 11 Dec 2025)

  Changed paths:
    M lldb/include/lldb/Host/Terminal.h
    M lldb/include/lldb/Host/common/DiagnosticsRendering.h
    M lldb/source/Host/common/DiagnosticsRendering.cpp
    M lldb/source/Host/common/Terminal.cpp
    M lldb/test/Shell/Commands/command-dwim-print.test
    M lldb/test/Shell/Commands/command-expr-diagnostics.test
    M lldb/test/Shell/Commands/command-options.test
    M lldb/unittests/Host/common/DiagnosticsRenderingTest.cpp

  Log Message:
  -----------
  Revert "[lldb] fix failing tests due to CI diagnostics rendering (#171791)


  Commit: 4f5071ffe3772c4e04df81b2ee474548ea430815
      https://github.com/llvm/llvm-project/commit/4f5071ffe3772c4e04df81b2ee474548ea430815
  Author: Matt Arsenault <Matthew.Arsenault at amd.com>
  Date:   2025-12-11 (Thu, 11 Dec 2025)

  Changed paths:
    A llvm/test/Transforms/InstCombine/issue64967-reassoc-fmul.ll

  Log Message:
  -----------
  InstCombine: Add baseline test for #64697 fmul reassociation (#171725)

Currently fmul is not reassociated unless it has nsz, although
this should be unnecessary.


  Commit: f8d1f53bb68327c4beba83379385a25e3f1152f3
      https://github.com/llvm/llvm-project/commit/f8d1f53bb68327c4beba83379385a25e3f1152f3
  Author: Kunwar Grover <groverkss at gmail.com>
  Date:   2025-12-11 (Thu, 11 Dec 2025)

  Changed paths:
    M mlir/lib/Dialect/SCF/IR/ValueBoundsOpInterfaceImpl.cpp
    M mlir/test/Dialect/SCF/value-bounds-op-interface-impl.mlir

  Log Message:
  -----------
  [mlir][scf] Add value bound for computed upper bound of forall loop (#171158)

Add additional bound for the induction variable of the scf.forall such
that:
%iv <= %lower_bound + (%trip_count - 1) * step

Same as https://github.com/llvm/llvm-project/pull/126426 but for
scf.forall loop


  Commit: 8af88a45ca2720b0d32da19721d6a6e80a30d197
      https://github.com/llvm/llvm-project/commit/8af88a45ca2720b0d32da19721d6a6e80a30d197
  Author: Durgadoss R <durgadossr at nvidia.com>
  Date:   2025-12-11 (Thu, 11 Dec 2025)

  Changed paths:
    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
    A mlir/test/Target/LLVMIR/nvvm/pm_event.mlir
    A mlir/test/Target/LLVMIR/nvvm/pm_event_invalid.mlir
    M mlir/test/Target/LLVMIR/nvvmir-invalid.mlir
    M mlir/test/Target/LLVMIR/nvvmir.mlir

  Log Message:
  -----------
  [MLIR][NVVM] Update PMEvent lowering to intrinsics (#171649)

The patch updates the lowering of `id` based pmevent
also to intrinsics. The mask is simply (1 << event-id).

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


  Commit: fbc121ce1ee398176bdfeb482b0549e03a2bb5c8
      https://github.com/llvm/llvm-project/commit/fbc121ce1ee398176bdfeb482b0549e03a2bb5c8
  Author: Gergely Bálint <gergely.balint at arm.com>
  Date:   2025-12-11 (Thu, 11 Dec 2025)

  Changed paths:
    M bolt/include/bolt/Core/MCPlusBuilder.h
    M bolt/lib/Target/AArch64/AArch64MCPlusBuilder.cpp
    M bolt/unittests/Core/MCPlusBuilder.cpp

  Log Message:
  -----------
  [BOLT][BTI] Add MCPlusBuilder::insertBTI (#167329)

This function contains most of the logic for BTI:
- it takes the BasicBlock and the instruction used to jump to it.
- Then it checks if the first non-pseudo instruction is a sufficient
landing pad for the used call.
- if not, it generates the correct BTI instruction.

Also introduce the isCallCoveredByBTI helper to simplify the logic.


  Commit: 481ce8169539485fd506792f86c03329c50d4a06
      https://github.com/llvm/llvm-project/commit/481ce8169539485fd506792f86c03329c50d4a06
  Author: Matt Arsenault <Matthew.Arsenault at amd.com>
  Date:   2025-12-11 (Thu, 11 Dec 2025)

  Changed paths:
    M llvm/lib/IR/Instruction.cpp
    M llvm/test/Transforms/InstCombine/2006-10-26-VectorReassoc.ll
    M llvm/test/Transforms/InstCombine/fdiv.ll
    M llvm/test/Transforms/InstCombine/issue64967-reassoc-fmul.ll

  Log Message:
  -----------
  IR: Stop requiring nsz to reassociate fmul (#171726)

nsz can only change the behavior of the sign bit.
The sign bit for fmul can be implemented as xor,
which is associative. DAGCombiner already reassociates
the multiply by 2 constants without nsz.

Fixes #64967


  Commit: d0767e96f9c1f46de60ae6c592459f830af05cca
      https://github.com/llvm/llvm-project/commit/d0767e96f9c1f46de60ae6c592459f830af05cca
  Author: anoopkg6 <anoop.kumar6 at ibm.com>
  Date:   2025-12-11 (Thu, 11 Dec 2025)

  Changed paths:
    M compiler-rt/lib/orc/CMakeLists.txt
    A compiler-rt/lib/orc/elfnix_tls.systemz.S
    A compiler-rt/test/orc/TestCases/Linux/systemz/trivial-tls.S
    M llvm/include/llvm/ExecutionEngine/JITLink/systemz.h
    M llvm/lib/ExecutionEngine/JITLink/ELF_systemz.cpp
    M llvm/lib/ExecutionEngine/JITLink/systemz.cpp
    M llvm/lib/ExecutionEngine/Orc/ELFNixPlatform.cpp

  Log Message:
  -----------
  [JITLink] Add TLS support for SystemZ (#171559)

This patch adds TLS support for SystemZ on top of orc-runtime support. A
separate orc-runtime support #171062 has been created from earlier TLS
support #[170706](https://github.com/llvm/llvm-project/pull/170706).

See conversations in
[#170706](https://github.com/llvm/llvm-project/pull/170706)

---------

Co-authored-by: anoopkg6 <anoopkg6 at github.com>


  Commit: c89d87a512ed5b4bfeedb5d7ae22ae8cba1b123a
      https://github.com/llvm/llvm-project/commit/c89d87a512ed5b4bfeedb5d7ae22ae8cba1b123a
  Author: Omair Javaid <omair.javaid at linaro.org>
  Date:   2025-12-11 (Thu, 11 Dec 2025)

  Changed paths:
    M lldb/test/Shell/BuildScript/toolchain-msvc.test

  Log Message:
  -----------
  [lldb][test] Fix toolchain-msvc.test for native ARM64 MSVC environment (#171797)

This patch fixes toolchain-msvc.test on Windows ARM64 hosts running
under native ARM64 environment via vcvarsarm64.bat. Our lab buildbot
recently switched from using cross vcvarsamd64_arm64.bat environment to
native vcvarsarm64.bat. This patch updates FileCheck patterns to also
allow HostARM64 and arm64 PATH entries.

Changes:
-> Extend host regex to match HostARM64 (case-insensitive)
-> Allow arm64 in PATH tail.
-> Apply same fix in both 32-bit and 64-bit sections.


  Commit: 9b6b52b534ba592d7d6b5863e3d9a240119a74d9
      https://github.com/llvm/llvm-project/commit/9b6b52b534ba592d7d6b5863e3d9a240119a74d9
  Author: JaydeepChauhan14 <chauhan.jaydeep.ashwinbhai at intel.com>
  Date:   2025-12-11 (Thu, 11 Dec 2025)

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

  Log Message:
  -----------
  [AsmPrinter][NFC] Reuse Target Triple variable (#171612)


  Commit: 06aecdbebe4b300c577a3009d8c831221a42fad8
      https://github.com/llvm/llvm-project/commit/06aecdbebe4b300c577a3009d8c831221a42fad8
  Author: Men-cotton <mencotton0410 at gmail.com>
  Date:   2025-12-11 (Thu, 11 Dec 2025)

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

  Log Message:
  -----------
  [MLIR][SCF] Verify number of regions in scf.reduce (#171450)

This patch adds `ReduceOp::verifyRegions` to ensure that the number of
reduction regions equals the number of operands (`getReductions().size()
== getOperands().size()`).

Additionally, `ParallelOp::verify` is updated to gracefully handle cases
where the number of reduce operands differs from the initial values,
preventing verification logic crashes and relying on `ReduceOp` to
report structural inconsistencies.

Fixes: #118768


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

  Changed paths:
    M llvm/test/CodeGen/X86/vector-compare-results.ll

  Log Message:
  -----------
  [X86] vector-compare-results.ll - regenerate VPTERNLOG asm comments (#171803)


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

  Changed paths:
    M llvm/lib/Target/X86/X86ISelLowering.cpp
    M llvm/test/CodeGen/X86/elementwise-store-of-scalar-splat.ll
    M llvm/test/CodeGen/X86/pr166744.ll
    M llvm/test/CodeGen/X86/ptest.ll
    M llvm/test/CodeGen/X86/setcc-wide-types.ll
    M llvm/test/CodeGen/X86/subvectorwise-store-of-vector-splat.ll

  Log Message:
  -----------
  [X86] Allow handling of i128/256/512 AND/OR/XOR bitlogic on the FPU (#171616)

If the scalar integer sources are freely transferable to the FPU, then
perform the bitlogic op as a SSE/AVX operation.

Uses the mayFoldIntoVector helper added at #171589


  Commit: 4be3df8cf1392249b199ec30c0e30b1958f251d7
      https://github.com/llvm/llvm-project/commit/4be3df8cf1392249b199ec30c0e30b1958f251d7
  Author: Matt Arsenault <Matthew.Arsenault at amd.com>
  Date:   2025-12-11 (Thu, 11 Dec 2025)

  Changed paths:
    A llvm/test/Transforms/Attributor/nofpclass-fmul.ll

  Log Message:
  -----------
  ValueTracking: Add baseline test for fmul denormal scaling handling (#171729)


  Commit: f548902922953c4a08f4498c259ae6126daedd90
      https://github.com/llvm/llvm-project/commit/f548902922953c4a08f4498c259ae6126daedd90
  Author: Dan Blackwell <dan_blackwell at apple.com>
  Date:   2025-12-11 (Thu, 11 Dec 2025)

  Changed paths:
    M compiler-rt/test/sanitizer_common/TestCases/Posix/dedup_token_length_test.cpp

  Log Message:
  -----------
  [sanitizer_common][test-only] Remove xfail for darwin ubsan on dedup_token_length_test (#171812)

This test is currently XPASSing on the iossim CI.

rdar://166219043


  Commit: bb40d94721785379d6a6fcadd228a5eae0ed8f04
      https://github.com/llvm/llvm-project/commit/bb40d94721785379d6a6fcadd228a5eae0ed8f04
  Author: Mehdi Amini <joker.eph at gmail.com>
  Date:   2025-12-11 (Thu, 11 Dec 2025)

  Changed paths:
    M mlir/lib/Dialect/Linalg/Transforms/ElementwiseOpFusion.cpp

  Log Message:
  -----------
  [MLIR] Apply clang-tidy fixes for llvm-else-after-return in ElementwiseOpFusion.cpp (NFC)


  Commit: 3558537e281929706398659a92c91eb3a99917ec
      https://github.com/llvm/llvm-project/commit/3558537e281929706398659a92c91eb3a99917ec
  Author: Mehdi Amini <joker.eph at gmail.com>
  Date:   2025-12-11 (Thu, 11 Dec 2025)

  Changed paths:
    M mlir/lib/Dialect/Tosa/IR/TosaOps.cpp

  Log Message:
  -----------
  [MLIR] Apply clang-tidy fixes for readability-identifier-naming in TosaOps.cpp (NFC)


  Commit: de29f24bdee7d409b855445ff52db779d06d12e6
      https://github.com/llvm/llvm-project/commit/de29f24bdee7d409b855445ff52db779d06d12e6
  Author: Dan Blackwell <dan_blackwell at apple.com>
  Date:   2025-12-11 (Thu, 11 Dec 2025)

  Changed paths:
    M compiler-rt/test/sanitizer_common/TestCases/Posix/popen.cpp

  Log Message:
  -----------
  [sanitizer_common][test-only] Mark popen xfail on iossim (#171814)

rdar://166246774


  Commit: 0f2f9e1c80cdaa3f6beb3516b6e5c1f9519baeda
      https://github.com/llvm/llvm-project/commit/0f2f9e1c80cdaa3f6beb3516b6e5c1f9519baeda
  Author: Mehdi Amini <joker.eph at gmail.com>
  Date:   2025-12-11 (Thu, 11 Dec 2025)

  Changed paths:
    M mlir/lib/Dialect/Linalg/Transforms/DropUnitDims.cpp

  Log Message:
  -----------
  [MLIR] Apply clang-tidy fixes for performance-unnecessary-copy-initialization in DropUnitDims.cpp (NFC)


  Commit: 6b7b0ab530d5707e31b14333cda679dd99e01298
      https://github.com/llvm/llvm-project/commit/6b7b0ab530d5707e31b14333cda679dd99e01298
  Author: Jacques Pienaar <jpienaar at google.com>
  Date:   2025-12-11 (Thu, 11 Dec 2025)

  Changed paths:
    M mlir/include/mlir/Pass/Pass.h
    M mlir/include/mlir/Pass/PassInstrumentation.h
    M mlir/lib/Pass/Pass.cpp
    M mlir/unittests/Pass/PassManagerTest.cpp

  Log Message:
  -----------
  Enable pass instrumentation to signal failures. (#163126)

Enables adding instrumentation to pass manager that can track/flag
invariants. This would be useful for cases where one some tighter
requirements than the general dialects or for a phase of conversion that
elsewhere.

It would enable making verify also just a regular instrumentation I
believe, but also a non-goal as that is a first class concept and
baseline for the ops and passes.

Would have enabled some of the requirements of
https://discourse.llvm.org/t/pre-verification-logic-before-running-conversion-pass-in-mlir/88318/10
.


  Commit: a9a05dfa5d5f57ab9b32fb4dd122e847902d42f7
      https://github.com/llvm/llvm-project/commit/a9a05dfa5d5f57ab9b32fb4dd122e847902d42f7
  Author: Sirui Mu <msrlancern at gmail.com>
  Date:   2025-12-11 (Thu, 11 Dec 2025)

  Changed paths:
    M clang/include/clang/CIR/Dialect/Builder/CIRBaseBuilder.h
    M clang/include/clang/CIR/Dialect/IR/CIROps.td
    M clang/lib/CIR/CodeGen/CIRGenAtomic.cpp
    M clang/lib/CIR/CodeGen/CIRGenBuilder.h
    M clang/lib/CIR/Dialect/IR/CIRMemorySlot.cpp
    M clang/lib/CIR/Lowering/DirectToLLVM/LowerToLLVM.cpp
    M clang/test/CIR/CodeGen/atomic-scoped.c
    M clang/test/CIR/CodeGen/atomic.c

  Log Message:
  -----------
  [CIR] Scoped atomic store (#171627)

This patch adds support for `__scoped_atomic_store` and
`__scoped_atomic_store_n`.


  Commit: 4ea7488c277f137be0e3c585d1af7ef223430b06
      https://github.com/llvm/llvm-project/commit/4ea7488c277f137be0e3c585d1af7ef223430b06
  Author: Mehdi Amini <joker.eph at gmail.com>
  Date:   2025-12-11 (Thu, 11 Dec 2025)

  Changed paths:
    M mlir/lib/Tools/mlir-lsp-server/MLIRServer.cpp

  Log Message:
  -----------
  [MLIR] Apply clang-tidy fixes for readability-identifier-naming in MLIRServer.cpp (NFC)


  Commit: e463bf949fb5ca379e07395c4d4c69ddc7450dcd
      https://github.com/llvm/llvm-project/commit/e463bf949fb5ca379e07395c4d4c69ddc7450dcd
  Author: Paul Walker <paul.walker at arm.com>
  Date:   2025-12-11 (Thu, 11 Dec 2025)

  Changed paths:
    M llvm/lib/Target/AArch64/AArch64SchedA320.td
    M llvm/lib/Target/AArch64/AArch64SchedA510.td
    M llvm/lib/Target/AArch64/AArch64SchedNeoverseN2.td
    M llvm/lib/Target/AArch64/AArch64SchedNeoverseN3.td
    M llvm/lib/Target/AArch64/AArch64SchedNeoverseV1.td
    M llvm/lib/Target/AArch64/AArch64SchedNeoverseV2.td
    M llvm/lib/Target/AArch64/AArch64SchedNeoverseV3.td
    M llvm/lib/Target/AArch64/AArch64SchedNeoverseV3AE.td
    M llvm/lib/Target/AArch64/SVEInstrFormats.td
    M llvm/unittests/Target/AArch64/AArch64SVESchedPseudoTest.cpp

  Log Message:
  -----------
  [LLVM][AArch64] Remove hasNoSchedulingInfo from SVE pseudo instructions. (#171487)

These should always have the same schediling information as their real
instruction counterparts. Removing this property means we'll catch
missing entries when building the compiler.

Also extends AArch64SVESchedPseudoTest coverage to include all existing CPU that support SVE.


  Commit: 39fcd2cb81136a25fe7274044979957eb0619c4e
      https://github.com/llvm/llvm-project/commit/39fcd2cb81136a25fe7274044979957eb0619c4e
  Author: Matt Arsenault <Matthew.Arsenault at amd.com>
  Date:   2025-12-11 (Thu, 11 Dec 2025)

  Changed paths:
    M llvm/lib/Analysis/ValueTracking.cpp
    M llvm/test/Transforms/Attributor/nofpclass-fmul.ll
    M llvm/test/Transforms/Attributor/nofpclass-nan-fmul.ll

  Log Message:
  -----------
  ValueTracking: Teach computeKnownFPClass that multiply can avoid denormals (#171730)

Multiply by large constant can be used to scale denormal inputs into
a normal range. This pattern appears frequently in math function library
implementations to make use of hardware instructions that do not support
denormals. We already handle this case for ldexp, but now canonicalize
ldexp by a constant to an fmul.

The test cases are mostly the existing nofpclass test for ldexp,
run through the new instcombine to replace ldexp with fmul.


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

  Changed paths:
    M flang/test/Driver/gcc-triple.f90

  Log Message:
  -----------
  [flang] Fix gcc-triple.f90 test on Darwin (#171690)

On Darwin an explicit Linux target must be set to make
`Selected GCC installation:` appear in the output.


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

  Changed paths:
    M flang/test/Driver/lto-bc.f90

  Log Message:
  -----------
  [flang] Make lto-bc.f90 unsupported on Darwin (#171693)

It fails with the following error:

```
RUN: at line 23
/Users/leandro.lupori/home/git/flang/build/bin/flang -flto /Users/leandro.lupori/home/git/flang/llvm-project/flang/test/Driver/lto-bc.f90 -c -o - | llvm-dis -o - | /Users/leandro.lupori/home/git/flang/build/bin/FileCheck /Users/leandro.lupori/home/git/flang/llvm-project/flang/test/Driver/lto-bc.f90 --check-prefix=FULL
.---command stderr------------
| /Users/leandro.lupori/home/git/flang/llvm-project/flang/test/Driver/lto-bc.f90:27:9: error: FULL: expected string not found in input
| ! FULL: !{{.*}} = !{i32 1, !"ThinLTO", i32 0}
|         ^
| ...
| Input was:
| <<<<<<
| ...
|            24: !llvm.ident = !{!0}
| check:27'0     ~~~~~~~~~~~~~~~~~~~~
|            25: !llvm.module.flags = !{!1, !2}
| check:27'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|            26:
| check:27'0     ~
|            27: !0 = !{!"flang version 22.0.0 (git at github.com:llvm/llvm-project.git dde1990b01fa13087b0eab77579f528329555968)"}
| check:27'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|            28: !1 = !{i32 2, !"Debug Info Version", i32 3}
| check:27'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|            29: !2 = !{i32 8, !"PIC Level", i32 2}
| check:27'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
| check:27'1     ?                                   possible intended match
| >>>>>>
`-----------------------------
```


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

  Changed paths:
    M llvm/lib/Transforms/Vectorize/VPlan.h
    M llvm/lib/Transforms/Vectorize/VPlanPredicator.cpp
    M llvm/unittests/Transforms/Vectorize/VPlanVerifierTest.cpp

  Log Message:
  -----------
  [VPlan] Don't emit VPBlendRecipes with only one incoming value. NFC (#171804)

We can just directly use the incoming value. These single value blends
would get optimized later on in simplifyBlends, but by doing it early it
removes the notion of an "immediately normalized" blend, and simplifies
an upcoming patch.


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

  Changed paths:
    M llvm/lib/CodeGen/SelectionDAG/FastISel.cpp
    M llvm/test/CodeGen/X86/stack-protector-msvc-oz.ll
    M llvm/test/CodeGen/X86/stack-protector-msvc.ll

  Log Message:
  -----------
  [FastISel] Don't force SDAG fallback for libcalls (#171782)

The fast instruction selector should should not force an SDAG fallback
to potentially make use of optimized libcall implementations.

Looking at
https://github.com/llvm/llvm-project/commit/3e6fa462f3c617ca8202162da2a3990c97b9ec36,
part of the motivation was to avoid libcalls in unoptimized builds for
targets that don't have them, but I believe this should be handled by
Clang directly emitting intrinsics instead of libcalls (which it already
does). FastISel should not second guess this.

Followup to https://github.com/llvm/llvm-project/pull/171288.


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

  Changed paths:
    M llvm/lib/Target/AArch64/AArch64FrameLowering.cpp
    M llvm/lib/Target/AArch64/AArch64FrameLowering.h
    M llvm/lib/Target/AArch64/AArch64PrologueEpilogue.cpp
    M llvm/test/CodeGen/AArch64/arm64ec-reservedregs.ll
    M llvm/test/CodeGen/AArch64/framelayout-sve-win.mir
    M llvm/test/CodeGen/AArch64/llvm.frexp.ll
    M llvm/test/CodeGen/AArch64/preserve_mostcc.ll
    M llvm/test/CodeGen/AArch64/preserve_nonecc_varargs_win64.ll
    M llvm/test/CodeGen/AArch64/sme-lazy-save-windows.ll
    M llvm/test/CodeGen/AArch64/swift-async-win.ll
    M llvm/test/CodeGen/AArch64/win64-no-uwtable.ll

  Log Message:
  -----------
  [AArch64] Use Windows-style prologue/epilogue regardless of CFI. (#156467)

To reduce the number of combinations to support, always use the same 
prologue/epilogue lowering on windows regardless of whether unwind info
is required.

This also fixes an issue where a function with SVE callee-saves and 
`nounwind` led to a compilation failure, because the SVE lowering makes
assumptions that only hold when using the Windows style
prologue/epilogue.

---------

Co-authored-by: Benjamin Maxwell <benjamin.maxwell at arm.com>


  Commit: 7c328d8a0a6200a8a3b79fecedecf203a1cef339
      https://github.com/llvm/llvm-project/commit/7c328d8a0a6200a8a3b79fecedecf203a1cef339
  Author: Stephen Thomas <104134586+stepthomas at users.noreply.github.com>
  Date:   2025-12-11 (Thu, 11 Dec 2025)

  Changed paths:
    M llvm/lib/Target/AMDGPU/GCNHazardRecognizer.cpp
    M llvm/test/CodeGen/AMDGPU/hazards-gfx1250.mir

  Log Message:
  -----------
  [AMDGPU][GCNHazardRecognizer] Remove instances of hardcoded S_WAITCNT_DEPCTR operand values (#171811)

Two S_WAITCNT_DEPCTR instructions are constructed with hardcoded operand
values. Replace these with appropriate calls to
AMDGPU::DepCtr::encodeFieldVmVsrc().

NFC, except that the original code was setting reserved operand bits
that should-be-zero, and this is now corrected.


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

  Changed paths:
    M llvm/include/llvm/CodeGen/RuntimeLibcallUtil.h
    M llvm/include/llvm/IR/RuntimeLibcalls.td
    M llvm/lib/CodeGen/SelectionDAG/LegalizeVectorOps.cpp
    M llvm/lib/CodeGen/TargetLoweringBase.cpp
    M llvm/lib/IR/RuntimeLibcalls.cpp
    M llvm/test/Transforms/Util/DeclareRuntimeLibcalls/armpl.ll
    M llvm/test/Transforms/Util/DeclareRuntimeLibcalls/sleef.ll

  Log Message:
  -----------
  DAG: Use RuntimeLibcalls to legalize vector frem calls (#170719)

This continues the replacement of TargetLibraryInfo uses in codegen
with RuntimeLibcallsInfo started in
821d2825a4f782da3da3c03b8a002802bff4b95c.
The series there handled all of the multiple result calls. This
extends for the other handled case, which happened to be frem.

For some reason the Libcall for these are prefixed with "REM_", for
the instruction "frem", which maps to the libcall "fmod".


  Commit: 54b62d7a29198dec3669bf261ed446f9fe159ad9
      https://github.com/llvm/llvm-project/commit/54b62d7a29198dec3669bf261ed446f9fe159ad9
  Author: Louis Dionne <ldionne.2 at gmail.com>
  Date:   2025-12-11 (Thu, 11 Dec 2025)

  Changed paths:
    M libcxx/test/libcxx/clang_tidy.gen.py
    M libcxx/test/libcxx/clang_tidy.sh.py

  Log Message:
  -----------
  [libc++][NFC] Wrap line endings for clang-tidy tests (#171688)

Otherwise, the lines are extremely long and basically impossible to
read.


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

  Changed paths:
    M libcxx/src/CMakeLists.txt

  Log Message:
  -----------
  [libc++] Fix incorrect install component for the libc++ linker script (#171663)

This patch fixes the name of the install component for the libc++ linker
script. Every other target mentions the cxx component, and that one
mentions libcxx. I believe that was a typo in 4bd3d16c2d62.


  Commit: 87345d2ad48f6be87c98e748423a3b9de74dbef9
      https://github.com/llvm/llvm-project/commit/87345d2ad48f6be87c98e748423a3b9de74dbef9
  Author: Erick Ochoa Lopez <erick.ochoalopez at amd.com>
  Date:   2025-12-11 (Thu, 11 Dec 2025)

  Changed paths:
    M mlir/include/mlir/Conversion/AMDGPUToROCDL/AMDGPUToROCDL.h
    M mlir/lib/Conversion/AMDGPUToROCDL/AMDGPUToROCDL.cpp

  Log Message:
  -----------
  [mlir][amdgpu] Add type conversion to populate method (NFC) (#171708)

* Renames populateAMDGPUMemorySpaceAttributeConversions to
populateAMDGPUTypeAndAttributeConversions.
* Adds TDMBaseType conversion to
populateAMDGPUTypeAndAttributeConversions.


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

  Changed paths:
    M lldb/tools/lldb-dap/tool/lldb-dap.cpp

  Log Message:
  -----------
  [lldb][lldb-dap] Remove unused variable

Fixes warning:
C:\Users\tcwg\llvm-worker\lldb-aarch64-windows\llvm-project\lldb\tools\lldb-dap\tool\lldb-dap.cpp(446,27): warning: unused variable 'dap_sessions_condition' [-Wunused-variable]

Variable is unused since #163653 / 5ab3375b2cf461ab02704d129a1f4d5ba1a1e275.


  Commit: c28992a7a4018bc634464805de68b0abfd5c2ea6
      https://github.com/llvm/llvm-project/commit/c28992a7a4018bc634464805de68b0abfd5c2ea6
  Author: Nikolas Klauser <nikolasklauser at berlin.de>
  Date:   2025-12-11 (Thu, 11 Dec 2025)

  Changed paths:
    M clang/include/clang/Basic/Attr.td
    M clang/include/clang/Basic/DiagnosticGroups.td
    M clang/include/clang/Basic/DiagnosticSemaKinds.td
    M clang/lib/Sema/SemaDeclCXX.cpp
    M clang/lib/Sema/SemaTemplate.cpp
    A clang/test/SemaCXX/dllexport-explicit-instantiation.cpp
    M clang/test/SemaCXX/dllexport.cpp

  Log Message:
  -----------
  [Clang] Allow simpler visibility annotations when targeting win32 and mingw (#133699)

MinGW and Win32 disagree on where the `__declspec(dllexport)` should be
placed on extern template instantiations. However, there doesn't
fundamentally seem to be a problem with putting the annotation in both
places. This patch adds a new diagnostic group and `-Wattribute-ignored`
warnings about where the attribute is placed if the attribute is
different on the declaration and definition. There is another new
warning group `-Wdllexport-explicit-instantiation` that also diagnoses
places where the attribute is technically ignored, even though the
correct place is also annotated. This makes it possible to significantly
simplify libc++'s visibility annotations (see #133704).


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

  Changed paths:
    M lldb/unittests/Platform/Android/AdbClientTest.cpp

  Log Message:
  -----------
  [lldb[test] Fix compiler warning in AdbClientTest.cpp

C:\Users\tcwg\llvm-worker\lldb-aarch64-windows\llvm-project\lldb\unittests\Platform\Android\AdbClientTest.cpp(100,17): warning: unused function 'FindUnusedPort' [-Wunused-function]

Function is used by a test that is disabled on Windows.


  Commit: ce86d9df1a701821803fe1eef3b73263e8ce6084
      https://github.com/llvm/llvm-project/commit/ce86d9df1a701821803fe1eef3b73263e8ce6084
  Author: Nikolas Klauser <nikolasklauser at berlin.de>
  Date:   2025-12-11 (Thu, 11 Dec 2025)

  Changed paths:
    M clang/lib/Sema/SemaConcept.cpp
    M clang/unittests/Support/TimeProfilerTest.cpp

  Log Message:
  -----------
  [Clang] Add TimeTraceScope to Sema::CheckConstraintSatisfaction (#170264)

Evaluating concepts can take quite a bit of time and it's not
necessarily obvious what's part of that and what not. This scope makes
it clear which parts are concept evaluation and where they are invoked.


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

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

  Log Message:
  -----------
  [lldb][test] Skip all of JSONTransportTest.cpp file on Windows

We were cutting out the tests but leaving the utility functions,
leading to warnings like:
C:\Users\tcwg\llvm-worker\lldb-aarch64-windows\llvm-project\lldb\unittests\Host\JSONTransportTest.cpp(65,6): warning: unused function 'operator==' [-Wunused-function]
C:\Users\tcwg\llvm-worker\lldb-aarch64-windows\llvm-project\lldb\unittests\Host\JSONTransportTest.cpp(72,6): warning: unused function 'PrintTo' [-Wunused-function]

I've moved the ifndef to the start of the file to fix those.


  Commit: dd63dff83aedd1b39b75ae7ae7c7b0f1fdd544a0
      https://github.com/llvm/llvm-project/commit/dd63dff83aedd1b39b75ae7ae7c7b0f1fdd544a0
  Author: Krzysztof Parzyszek <Krzysztof.Parzyszek at amd.com>
  Date:   2025-12-11 (Thu, 11 Dec 2025)

  Changed paths:
    M flang/examples/FeatureList/FeatureList.cpp
    M flang/include/flang/Parser/dump-parse-tree.h
    M flang/include/flang/Parser/parse-tree.h
    M flang/include/flang/Semantics/openmp-modifiers.h
    M flang/lib/Parser/openmp-parsers.cpp
    M flang/lib/Parser/unparse.cpp
    M flang/lib/Semantics/openmp-modifiers.cpp
    M flang/test/Parser/OpenMP/interop-construct.f90

  Log Message:
  -----------
  [flang][OpenMP] Parse OpenMP 6.0 syntax of INIT clause (#171702)

This includes `FR(...)` for foreign runtime identifiers and `ATTR(...)`
for extensions. Do not store string runtime ids as character literals in
the AST. Use parser::Expr instead, since lowering would require
evaluate::Expr for these ids, and we get evaluate::Expr from
parser::Expr automatically.

Use OpenMP 6.0 naming for AST nodes (since it's the "current" one).


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

  Changed paths:
    M libcxx/include/CMakeLists.txt
    M libcxx/modules/CMakeLists.txt
    M libcxx/src/CMakeLists.txt
    M libcxxabi/include/CMakeLists.txt
    M libcxxabi/src/CMakeLists.txt
    M libunwind/include/CMakeLists.txt
    M libunwind/src/CMakeLists.txt

  Log Message:
  -----------
  [runtimes] Modernize installation targets (#171677)

This patch moves away from using cmake_install scripts to install the
various targets when building runtimes, since those have been deprecated
by CMake. Instead, we use `cmake --install` which is the prefered
method.

This patch also localizes how we set dependencies on the various
installation targets, allowing the removal of a few global variables
that were used as lists.

Finally, it makes the way we set up installation targets for libc++,
libc++abi and libunwind consistent again.


  Commit: e0387b78c451222828a85147d053b54db3527243
      https://github.com/llvm/llvm-project/commit/e0387b78c451222828a85147d053b54db3527243
  Author: Aiden Grossman <aidengrossman at google.com>
  Date:   2025-12-11 (Thu, 11 Dec 2025)

  Changed paths:
    M .github/workflows/libcxx-build-and-test.yaml

  Log Message:
  -----------
  [libc++][Github] Move back to main runner set (#171771)

This moves us back to the main runner set so that the next runner set
can be used for upgrading again when we want to do that. This also
captures the Github Runner version upgrade.


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

  Changed paths:
    M libcxx/test/CMakeLists.txt
    M libcxxabi/test/CMakeLists.txt

  Log Message:
  -----------
  [libc++] Simplify how we install test-suite dependencies (#171504)

Based on comments in #171474, it was brought to my attention that we can
modernize and simplify how we perform the test suite installation in
libc++ and libc++abi.


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

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

  Log Message:
  -----------
  [X86] isLoadBitCastBeneficial - its only beneficial to bitcast between vector types if the new type is legal (#171813)

Prevents us from attempting to store illegal types like <2 x i128> that will force scalarization/splitting

Noticed while trying to avoid some split stores mentioned in #171616


  Commit: 85fafd5db0fc0d1e38b3277b67f45ae6a5b74824
      https://github.com/llvm/llvm-project/commit/85fafd5db0fc0d1e38b3277b67f45ae6a5b74824
  Author: Ramkumar Ramachandra <ramkumar.ramachandra at codasip.com>
  Date:   2025-12-11 (Thu, 11 Dec 2025)

  Changed paths:
    M llvm/include/llvm/Transforms/Utils/ScalarEvolutionExpander.h
    M llvm/lib/CodeGen/HardwareLoops.cpp
    M llvm/lib/Target/ARM/MVETailPredication.cpp
    M llvm/lib/Target/Hexagon/HexagonLoopIdiomRecognition.cpp
    M llvm/lib/Target/PowerPC/PPCLoopInstrFormPrep.cpp
    M llvm/lib/Transforms/Scalar/IndVarSimplify.cpp
    M llvm/lib/Transforms/Scalar/LoopBoundSplit.cpp
    M llvm/lib/Transforms/Scalar/LoopDataPrefetch.cpp
    M llvm/lib/Transforms/Scalar/LoopFlatten.cpp
    M llvm/lib/Transforms/Scalar/LoopIdiomRecognize.cpp
    M llvm/lib/Transforms/Scalar/LoopLoadElimination.cpp
    M llvm/lib/Transforms/Scalar/LoopPredication.cpp
    M llvm/lib/Transforms/Scalar/LoopStrengthReduce.cpp
    M llvm/lib/Transforms/Scalar/LoopTermFold.cpp
    M llvm/lib/Transforms/Scalar/NaryReassociate.cpp
    M llvm/lib/Transforms/Utils/LoopConstrainer.cpp
    M llvm/lib/Transforms/Utils/LoopPeel.cpp
    M llvm/lib/Transforms/Utils/LoopUnrollRuntime.cpp
    M llvm/lib/Transforms/Utils/LoopVersioning.cpp
    M llvm/lib/Transforms/Utils/SimplifyIndVar.cpp
    M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
    M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
    M llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
    M llvm/unittests/Transforms/Utils/ScalarEvolutionExpanderTest.cpp
    M polly/lib/Support/ScopHelper.cpp

  Log Message:
  -----------
  [SCEVExp] Get DL from SE, strip constructor arg (NFC) (#171823)


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

  Changed paths:
    M llvm/lib/Target/X86/X86ISelLowering.cpp
    M llvm/lib/Target/X86/X86ISelLowering.h
    M llvm/test/CodeGen/X86/ptest.ll

  Log Message:
  -----------
  [X86] mayFoldIntoVector - relax load alignment requirements (#171830)

If we're trying to move big integers to vector types, relax the SSE alignment requirements - unlike regular uses of mayFoldLoad, we're not testing to confirm every load will fold into a vector op, just that it can move to the FPU.

Fixes #144861


  Commit: 16c0893f04c04faa8ac36495363344840f7c5db1
      https://github.com/llvm/llvm-project/commit/16c0893f04c04faa8ac36495363344840f7c5db1
  Author: Brox Chen <guochen2 at amd.com>
  Date:   2025-12-11 (Thu, 11 Dec 2025)

  Changed paths:
    M llvm/lib/Target/AMDGPU/SIInstructions.td
    M llvm/test/CodeGen/AMDGPU/dagcombine-fmul-sel.ll
    M llvm/test/CodeGen/AMDGPU/extract-subvector-16bit.ll
    M llvm/test/CodeGen/AMDGPU/fcanonicalize.f16.ll
    M llvm/test/CodeGen/AMDGPU/fcopysign.f16.ll
    M llvm/test/CodeGen/AMDGPU/fdiv.f16.ll
    M llvm/test/CodeGen/AMDGPU/fmaximum3.ll
    M llvm/test/CodeGen/AMDGPU/fminimum3.ll
    M llvm/test/CodeGen/AMDGPU/fmul-to-ldexp.ll
    M llvm/test/CodeGen/AMDGPU/fold-int-pow2-with-fmul-or-fdiv.ll
    M llvm/test/CodeGen/AMDGPU/fpow.ll
    M llvm/test/CodeGen/AMDGPU/fptrunc.f16.ll
    M llvm/test/CodeGen/AMDGPU/fract-match.ll
    M llvm/test/CodeGen/AMDGPU/half.ll
    M llvm/test/CodeGen/AMDGPU/llvm.ceil.f16.ll
    M llvm/test/CodeGen/AMDGPU/llvm.cos.f16.ll
    M llvm/test/CodeGen/AMDGPU/llvm.floor.f16.ll
    M llvm/test/CodeGen/AMDGPU/llvm.frexp.ll
    M llvm/test/CodeGen/AMDGPU/llvm.ldexp.ll
    M llvm/test/CodeGen/AMDGPU/llvm.log.ll
    M llvm/test/CodeGen/AMDGPU/llvm.log10.ll
    M llvm/test/CodeGen/AMDGPU/llvm.log2.ll
    M llvm/test/CodeGen/AMDGPU/llvm.rint.f16.ll
    M llvm/test/CodeGen/AMDGPU/llvm.round.ll
    M llvm/test/CodeGen/AMDGPU/llvm.sin.f16.ll
    M llvm/test/CodeGen/AMDGPU/llvm.sqrt.f16.ll
    M llvm/test/CodeGen/AMDGPU/llvm.trunc.f16.ll
    M llvm/test/CodeGen/AMDGPU/mad-mix-hi.ll
    M llvm/test/CodeGen/AMDGPU/mad-mix-lo.ll
    M llvm/test/CodeGen/AMDGPU/repeated-divisor.ll
    M llvm/test/CodeGen/AMDGPU/roundeven.ll
    M llvm/test/CodeGen/AMDGPU/select-fabs-fneg-extract.v2f16.ll
    M llvm/test/CodeGen/AMDGPU/sext-in-reg-vector-shuffle.ll
    M llvm/test/CodeGen/AMDGPU/sint_to_fp.i64.ll
    M llvm/test/CodeGen/AMDGPU/sitofp.f16.ll
    M llvm/test/CodeGen/AMDGPU/true16-imm-folded-to-0-regression.ll
    M llvm/test/CodeGen/AMDGPU/uint_to_fp.i64.ll
    M llvm/test/CodeGen/AMDGPU/uitofp.f16.ll
    M llvm/test/CodeGen/AMDGPU/v_pack.ll
    M llvm/test/CodeGen/AMDGPU/vector-reduce-fmax.ll
    M llvm/test/CodeGen/AMDGPU/vector-reduce-fmin.ll

  Log Message:
  -----------
  [AMDGPU][True16] remove pack32 pattern from true16 mode (#171756)

Remove pack32 so that isel use reg_sequence in true16 mode for
build_vector. This generates better code


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

  Changed paths:
    M mlir/include/mlir/Dialect/Vector/IR/VectorOps.td

  Log Message:
  -----------
  [mlir][vector] Remove hooks deprecated pre Release/22 branch (#171829)

As mentioned on Discourse,
  * https://discourse.llvm.org/t/psa-vector-standardise-operand-naming

I am removing the deprecated Vector hooks near the creation of the
release/22 branch. These hooks were introduced in #158258 (~September
'25, ~3 months ago), so I assume folks have enough time to transition
away.


  Commit: 8a4cc440f200154d6514df6db55789991aae5a4f
      https://github.com/llvm/llvm-project/commit/8a4cc440f200154d6514df6db55789991aae5a4f
  Author: David Green <david.green at arm.com>
  Date:   2025-12-11 (Thu, 11 Dec 2025)

  Changed paths:
    M llvm/lib/CodeGen/ShrinkWrap.cpp
    M llvm/lib/Target/AArch64/AArch64InstrInfo.cpp
    M llvm/lib/Target/AArch64/AArch64InstrInfo.h
    M llvm/lib/Target/AArch64/AArch64RedundantCondBranchPass.cpp
    M llvm/lib/Target/AArch64/AArch64RedundantCopyElimination.cpp
    M llvm/test/CodeGen/AArch64/arm64-shrink-wrapping.ll
    M llvm/test/CodeGen/AArch64/block-placement-optimize-branches.ll
    M llvm/test/CodeGen/AArch64/lr-reserved-for-ra-live-in.ll
    M llvm/test/CodeGen/AArch64/pr164181.ll
    M llvm/test/CodeGen/AArch64/pr166870.ll
    M llvm/test/tools/UpdateTestChecks/update_llc_test_checks/Inputs/aarch64_generated_funcs.ll.generated.expected
    M llvm/test/tools/UpdateTestChecks/update_llc_test_checks/Inputs/aarch64_generated_funcs.ll.nogenerated.expected

  Log Message:
  -----------
  [AArch64] Run optimizeTerminators earlier too. (#170907)

Running optimizeTerminators prior to other optimizations like branch
layout can lead to more folding and better codegen, but is not on its
own able to capture all cases. There is benefit to running it in both
places. This adds the existing code from #161508 into the
AArch64RedundantCopyElimination pass, which sounds like a sensible
enough place for it.

This is a recommit with an extra fix for shrink-wrapping domtree use.


  Commit: 9f8e0f66067d7cc8b4cffc0d9bddf701576b72be
      https://github.com/llvm/llvm-project/commit/9f8e0f66067d7cc8b4cffc0d9bddf701576b72be
  Author: Luke Hutton <luke.hutton at arm.com>
  Date:   2025-12-11 (Thu, 11 Dec 2025)

  Changed paths:
    M mlir/lib/Dialect/Tosa/Transforms/TosaNarrowI64ToI32.cpp
    M mlir/test/Dialect/Tosa/tosa-narrow-i64-to-i32-aggressive.mlir
    M mlir/test/Dialect/Tosa/tosa-narrow-i64-to-i32.mlir

  Log Message:
  -----------
  [mlir][tosa] Add clamp op support to `TosaNarrowI64ToI32` pass (#169308)

This commit allows the narrowing of `tosa.clamp` when the min/max
attributes are within the int32 range.


  Commit: 41ceaf968f0b9ceb256f2621312fd6e215fe04f9
      https://github.com/llvm/llvm-project/commit/41ceaf968f0b9ceb256f2621312fd6e215fe04f9
  Author: Krzysztof Parzyszek <Krzysztof.Parzyszek at amd.com>
  Date:   2025-12-11 (Thu, 11 Dec 2025)

  Changed paths:
    M flang/include/flang/Parser/openmp-utils.h
    M flang/lib/Parser/openmp-utils.cpp

  Log Message:
  -----------
  [flang][OpenMP] Implement loop construct iterator range (#170734)

Since we're trying to preserve compiler directives in loop constructs,
not every element of the associated parser::Block needs to be a loop or
an OpenMP loop construct. Implement a helper class `LoopRange` to make
it easy to iterate over elements of parser::Block that are loops or loop
constructs.


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

  Changed paths:
    M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
    M llvm/lib/Transforms/Vectorize/VPlanRecipes.cpp
    M llvm/test/Transforms/LoopVectorize/X86/replicate-uniform-call.ll

  Log Message:
  -----------
  [VPlan] Remove legacy costing inside VPBlendRecipe::computeCost (#171846)

A VPBlendRecipe always emits selects, even when the VF is scalar.

However the legacy cost model always costs all scalar non-header phis as
a phi, and the VPlan cost model has to account for this.

This can cause the cost to be a little off, for example not including
the cost of the select in @smax_call_uniform leading to unprofitable
vectorization.

This removes this from the VPlan cost model and handles checks for the
case in planContainsAdditionalSimplifications instead.

I considered trying to make the legacy cost model more accurate but I'm
not sure if it's possible. We need information as to whether or not the
scalar VF we are costing is the original loop in which case it's
actually a phi, or if it's a VPBlendRecipe that emits a select,
potentially from a VF=1, UF>=1 VPlan.


  Commit: 916d2068b3a40a84057544e27d64fd2de379d539
      https://github.com/llvm/llvm-project/commit/916d2068b3a40a84057544e27d64fd2de379d539
  Author: Fateme Hosseini <quic_fhossein at quicinc.com>
  Date:   2025-12-11 (Thu, 11 Dec 2025)

  Changed paths:
    M llvm/lib/Target/Hexagon/HexagonISelLoweringHVX.cpp
    M llvm/lib/Target/Hexagon/HexagonPatternsHVX.td
    M llvm/test/CodeGen/Hexagon/bfloat_vec.ll

  Log Message:
  -----------
  [Hexagon] Fix HWBF16 PatLeaf type (#170560)

Correct the definition of `HWBF16` to reference `VecPBF16` rather than
`VecBF16`, aligning it with the existing pattern-leaf conventions for
pointer vector types.

Co-authored-by: Muntasir Mallick <quic_mallick at quicinc.com>


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

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

  Log Message:
  -----------
  [KCFI] Use getSigned() for negative value


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

  Changed paths:
    M llvm/lib/Transforms/InstCombine/InstCombineCompares.cpp

  Log Message:
  -----------
  [InstCombine] Use getSigned() for negative numbers


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

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

  Log Message:
  -----------
  [LV] Use getSigned() for stride

The stride may be negative.


  Commit: a6ac5d48203763de9ce30816e6148318b49a3cb8
      https://github.com/llvm/llvm-project/commit/a6ac5d48203763de9ce30816e6148318b49a3cb8
  Author: Erick Velez <erickvelez7 at gmail.com>
  Date:   2025-12-11 (Thu, 11 Dec 2025)

  Changed paths:
    M clang-tools-extra/clang-doc/assets/class-template.mustache
    M clang-tools-extra/clang-doc/assets/namespace-template.mustache
    M clang-tools-extra/test/clang-doc/mustache-separate-namespace.cpp

  Log Message:
  -----------
  [clang-doc] Align indentation in templates (#171667)

Indentation was inconsistent between the namespace and class templates.
This patch assumes that `<body>` is not indented.


  Commit: 0096bda38a67a484f6ecbc8bec9be8829a840f86
      https://github.com/llvm/llvm-project/commit/0096bda38a67a484f6ecbc8bec9be8829a840f86
  Author: Krzysztof Parzyszek <Krzysztof.Parzyszek at amd.com>
  Date:   2025-12-11 (Thu, 11 Dec 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
    M flang/lib/Semantics/check-omp-structure.cpp
    M flang/test/Parser/OpenMP/error-unparse.f90
    M flang/test/Parser/OpenMP/interop-construct.f90

  Log Message:
  -----------
  [flang][OpenMP] Rename few types to spec names, NFC (#171845)

Change Severity to SevLevel and TargetSync to Targetsync.


  Commit: 4e9e7c5816bc130babd85e96916e515b4d02cf38
      https://github.com/llvm/llvm-project/commit/4e9e7c5816bc130babd85e96916e515b4d02cf38
  Author: Erick Velez <erickvelez7 at gmail.com>
  Date:   2025-12-11 (Thu, 11 Dec 2025)

  Changed paths:
    M clang-tools-extra/clang-doc/HTMLGenerator.cpp
    M clang-tools-extra/clang-doc/assets/class-template.mustache
    A clang-tools-extra/clang-doc/assets/head-template.mustache
    M clang-tools-extra/clang-doc/assets/namespace-template.mustache
    M clang-tools-extra/clang-doc/support/Utils.cpp
    M clang-tools-extra/clang-doc/tool/CMakeLists.txt

  Log Message:
  -----------
  [clang-doc] Create a partial for HTML <head> sections (#171668)

The <head> sections of the existing partials are already identical, so
creating a partial will help reduce lines in the templates. Now
changes to <head> sections can easily propogate and can easily be added
to future HTML pages.


  Commit: b0f1f77cfec297bd541baaf2d6490cdb91a381bc
      https://github.com/llvm/llvm-project/commit/b0f1f77cfec297bd541baaf2d6490cdb91a381bc
  Author: Arun Thangamani <arun.thangamani at intel.com>
  Date:   2025-12-11 (Thu, 11 Dec 2025)

  Changed paths:
    M mlir/include/mlir/Dialect/X86Vector/TransformOps/X86VectorTransformOps.td
    M mlir/include/mlir/Dialect/X86Vector/Transforms.h
    M mlir/lib/Dialect/X86Vector/TransformOps/X86VectorTransformOps.cpp
    M mlir/lib/Dialect/X86Vector/Transforms/CMakeLists.txt
    A mlir/lib/Dialect/X86Vector/Transforms/SinkVectorProducerOps.cpp
    A mlir/test/Dialect/X86Vector/sink-vector-producer-ops.mlir

  Log Message:
  -----------
  [mlir][x86vector] Sink Vector.transfer_reads and vector.load before the consumer (#169333)

Adds a pattern that sinks vector producer ops (`vector.load` and
`vector.transfer_read`) forward in a block to their earliest legal use,
reducing live ranges and improving scheduling opportunities.

**The lowering pattern**: `batch_reduce.matmul` (input) ->
register-tiling(M, N) -> Vectorization (to `vector.contract`) ->
`unroll` vector.contract (`unit` dims) -> `hoisting` transformation
(move `C` loads/store outside batch/k loop) -> **sink vector producers**
-> apply `licm`, `canonicalization`, and `bufferize` ->
`vector.contract` to `fma` -> **sink vector producers**.


  Commit: 1e57119cbb607256d99691426ed469f0f7f41383
      https://github.com/llvm/llvm-project/commit/1e57119cbb607256d99691426ed469f0f7f41383
  Author: Haocong Lu <haoconglu at qq.com>
  Date:   2025-12-11 (Thu, 11 Dec 2025)

  Changed paths:
    M clang/lib/CIR/CodeGen/CIRGenBuiltin.cpp
    M clang/lib/CIR/CodeGen/CIRGenBuiltinAArch64.cpp
    M clang/lib/CIR/CodeGen/CIRGenBuiltinX86.cpp
    M clang/lib/CIR/CodeGen/CIRGenFunction.h
    A clang/test/CIR/CodeGen/ms-barriers-intrinsics.c

  Log Message:
  -----------
  [CIR][X86] Implement lowering for `readwritebarrier` builtins (#171094)

- Support CIR codegen for follow X86 builtin: `_ReadWriteBarrier`
`_ReadBarrier` `_WriteBarrier` `__faststorefence`
- CIR dialect operations may have no results, no values will be returned
after `emitTargetBuiltinExpr` even if it executes successfully. Using
`std::optional<mlir::Value>` as return type to reslove this problem.
- Part of [#167765](https://github.com/llvm/llvm-project/issues/167765)


  Commit: c37c24a981fed30328fa9aecb708de4603345268
      https://github.com/llvm/llvm-project/commit/c37c24a981fed30328fa9aecb708de4603345268
  Author: Manuel Carrasco <Manuel.Carrasco at amd.com>
  Date:   2025-12-11 (Thu, 11 Dec 2025)

  Changed paths:
    M clang/lib/Driver/ToolChains/AMDGPU.cpp
    M clang/test/Driver/spirv-amd-toolchain.c

  Log Message:
  -----------
  [clang][Driver] SPIRVAMDToolChain must not require device libs. (#171815)

Prior to these changes, the SPIRVAMDToolChain was looking for device libs and failing. This is fixed by not looking for device libs (for SPIR-V). The device libs are never linked for SPIR-V.


  Commit: 7fdf800a91a37dc915fec2cca2d8539ec5070d8a
      https://github.com/llvm/llvm-project/commit/7fdf800a91a37dc915fec2cca2d8539ec5070d8a
  Author: nerix <nerixdev at outlook.de>
  Date:   2025-12-11 (Thu, 11 Dec 2025)

  Changed paths:
    M lldb/source/Plugins/Language/CPlusPlus/MsvcStlVariant.cpp
    M lldb/test/API/functionalities/data-formatter/data-formatter-stl/generic/variant/TestDataFormatterStdVariant.py

  Log Message:
  -----------
  [LLDB] Run MSVC variant test with PDB (#171858)

Split off from #171489. This only adds the lookup of the active type for
a `std::variant` based on the head type (since PDB doesn't have template
info).


  Commit: e94bf71928725b3c8213867f09c1f4fe82148d61
      https://github.com/llvm/llvm-project/commit/e94bf71928725b3c8213867f09c1f4fe82148d61
  Author: Jasmine Tang <jjasmine at igalia.com>
  Date:   2025-12-11 (Thu, 11 Dec 2025)

  Changed paths:
    M clang/lib/CIR/CodeGen/CIRGenStmt.cpp

  Log Message:
  -----------
  [CIR] Add newly implemented defer stmt class to nyi (#171773)

The following warning turns into an error on the ci/cd

```
/Users/jjasmine/Developer/igalia/llvm-project/clang/lib/CIR/CodeGen/CIRGenStmt.cpp:117:11: warning: enumeration value 'DeferStmtClass' not handled in switch [-Wswitch]
  117 |   switch (s->getStmtClass()) {
      |           ^~~~~~~~~~~~~~~~~
1 warning generated.
```


  Commit: 00b3a18550a2e23b40bc6d2b3364d327cd913aa0
      https://github.com/llvm/llvm-project/commit/00b3a18550a2e23b40bc6d2b3364d327cd913aa0
  Author: Eric Feng <55723758+efric at users.noreply.github.com>
  Date:   2025-12-11 (Thu, 11 Dec 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 gfx950 smfmac instructions to rocdl dialect (#171737)

Signed-off-by: Eric Feng <Eric.Feng at amd.com>


  Commit: 3d1f04425a8fe09d05b407b933414c497ab5c81b
      https://github.com/llvm/llvm-project/commit/3d1f04425a8fe09d05b407b933414c497ab5c81b
  Author: Erick Velez <erickvelez7 at gmail.com>
  Date:   2025-12-11 (Thu, 11 Dec 2025)

  Changed paths:
    M clang-tools-extra/clang-doc/HTMLGenerator.cpp
    M clang-tools-extra/clang-doc/assets/class-template.mustache
    M clang-tools-extra/clang-doc/assets/namespace-template.mustache
    A clang-tools-extra/clang-doc/assets/navbar-template.mustache
    M clang-tools-extra/clang-doc/support/Utils.cpp
    M clang-tools-extra/clang-doc/tool/CMakeLists.txt

  Log Message:
  -----------
  [clang-doc] Create a partial for the navbar (#171669)

Move navbar section to its own template to ensure consistency across
templates


  Commit: dfed044c67b8e01b552b0336adea77ae0da42d1f
      https://github.com/llvm/llvm-project/commit/dfed044c67b8e01b552b0336adea77ae0da42d1f
  Author: Andre Kuhlenschmidt <andre.kuhlenschmidt at gmail.com>
  Date:   2025-12-11 (Thu, 11 Dec 2025)

  Changed paths:
    M flang/lib/Semantics/check-data.cpp
    M flang/lib/Semantics/data-to-inits.cpp
    M flang/lib/Semantics/data-to-inits.h
    A flang/test/Semantics/equivalence02.f90
    A flang/test/Semantics/equivalence03.f90

  Log Message:
  -----------
  [flang][semantics] fix crash involving equivalences (#168909)

This PR fixes
[#166463](https://github.com/llvm/llvm-project/issues/166463) by only
running ProcessScopes at the end of the semantic analysis. ProcessScopes
does an analysis of the entire symbol table to determine which
equivalence statements have conflicting initializations, but it requires
that all symbols in the equivalence statement have valid sizes. Running
before computing the size and offset made this an invalid assumption.


  Commit: fc78d55398e4e8e2fabd74f0ec42f77b73f5f158
      https://github.com/llvm/llvm-project/commit/fc78d55398e4e8e2fabd74f0ec42f77b73f5f158
  Author: Ebin Jose <ebin371 at gmail.com>
  Date:   2025-12-11 (Thu, 11 Dec 2025)

  Changed paths:
    M clang/docs/ReleaseNotes.rst
    M clang/lib/Parse/ParsePragma.cpp
    A clang/test/Parser/pragma-loop-vectorize.cpp

  Log Message:
  -----------
  [CLANG] Resolves crash on invalid loop vectorize_width (#169473)

Diagnose malformed '#pragma clang loop vectorize_width' lists. Avoids
crash in HandlePragmaLoopHint, emit clear diagnostic and added
regression test.

Fixes #166325


  Commit: c814ac1928b264a5bdeb98ec9035412fa37fb243
      https://github.com/llvm/llvm-project/commit/c814ac1928b264a5bdeb98ec9035412fa37fb243
  Author: Jonas Devlieghere <jonas at devlieghere.com>
  Date:   2025-12-11 (Thu, 11 Dec 2025)

  Changed paths:
    M lldb/include/lldb/Host/StreamFile.h
    M lldb/source/Core/IOHandler.cpp
    M lldb/source/Host/common/Editline.cpp

  Log Message:
  -----------
  [lldb] Correct use_editline check in IOHandlerEditline (#171733)

Correct the use_editline check in IOHandlerEditline to prevent a crash
when we have an output and/or error file, but no stream. This fixes a
regression introduced by 58279d1 that results in a crash when calling
el_init with a NULL stream.

The original code was checking the stream: GetOutputFILE and
GetErrorFILE.

```
use_editline = GetInputFILE() && GetOutputFILE() && GetErrorFILE() &&
               m_input_sp && m_input_sp->GetIsRealTerminal();
```

The new code is checking the file: `m_output_sp` and `m_error_sp`.

```
use_editline = m_input_sp && m_output_sp && m_error_sp &&
               m_input_sp->GetIsRealTerminal();
```
The correct check is:

```
use_editline =
    m_input_sp && m_input_sp->GetIsRealTerminal() &&
    m_output_sp && m_output_sp->GetUnlockedFile().GetStream() &&
    m_error_sp && m_error_sp->GetUnlockedFile().GetStream();
```

We don't need to update the check for the input, because we're handling
the missing stream there correctly in the call to the constructor:

```
m_editline_up = std::make_unique<Editline>(
    editline_name, m_input_sp ? m_input_sp->GetStream() : nullptr,
    m_output_sp, m_error_sp, m_color);
```

We can't do the same for the output and error because we need to pass
the file, not the stream (to do proper locking).

As I was debugging this I added some more assertions. They're generally
useful so I'm keeping them.

Fixes #170891


  Commit: 1b7f272906dee31d505ed74e0514d2c04c1b5f97
      https://github.com/llvm/llvm-project/commit/1b7f272906dee31d505ed74e0514d2c04c1b5f97
  Author: Michael Buch <michaelbuch12 at gmail.com>
  Date:   2025-12-11 (Thu, 11 Dec 2025)

  Changed paths:
    M lldb/source/Core/Module.cpp

  Log Message:
  -----------
  [lldb][Module] Only log SDK search error once per debugger session (#171820)

Currently if we are debugging an app that was compiled against an SDK
that we don't know about on the host, then every time we evaluate an
expression we get following spam on the console:
```
error: Error while searching for Xcode SDK: Unrecognized SDK type: <some SDK>
error: Error while searching for Xcode SDK: Unrecognized SDK type: <some SDK>
error: Error while searching for Xcode SDK: Unrecognized SDK type: <some SDK>
error: Error while searching for Xcode SDK: Unrecognized SDK type: <some SDK>
error: Error while searching for Xcode SDK: Unrecognized SDK type: <some SDK>
error: Error while searching for Xcode SDK: Unrecognized SDK type: <some SDK>
error: Error while searching for Xcode SDK: Unrecognized SDK type: <some SDK>
error: Error while searching for Xcode SDK: Unrecognized SDK type: <some SDK>
error: Error while searching for Xcode SDK: Unrecognized SDK type: <some SDK>
error: Error while searching for Xcode SDK: Unrecognized SDK type: <some SDK>
error: Error while searching for Xcode SDK: Unrecognized SDK type: <some SDK>
error: Error while searching for Xcode SDK: Unrecognized SDK type: <some SDK>
error: Error while searching for Xcode SDK: Unrecognized SDK type: <some SDK>
```

It is not a fatal error but the way we spam it pretty much ruins the
debugging experience.

This patch makes it so we only log this error once per debugger session.

Not sure how to best test it since we'd need to build a program with a
particular SDK and then make it unrecognized by LLDB. Confirmed manually
that the error only gets reported once after this patch.


  Commit: 98aa84075d3d2eeea4296d1e1a69c23db70edab2
      https://github.com/llvm/llvm-project/commit/98aa84075d3d2eeea4296d1e1a69c23db70edab2
  Author: Michael Buch <michaelbuch12 at gmail.com>
  Date:   2025-12-11 (Thu, 11 Dec 2025)

  Changed paths:
    M lldb/source/Plugins/Language/CPlusPlus/CPlusPlusLanguage.cpp

  Log Message:
  -----------
  [lldb][Formatters] Simplify std::list libc++ formatter matching regex (#147709)

The history on this is a bit confusing. The libc++ regexes were adjusted
in https://reviews.llvm.org/D57466, and so did the order in which we
load the formatters. Then https://reviews.llvm.org/D66398 changed the
`std::list` regex, to make sure the libc++ formatters don't match the
`cxx11` libstdc++ [Dual ABI
namespace](https://gcc.gnu.org/onlinedocs/libstdc++/manual/using_dual_abi.html).

But we changed the order in which we load the formatters again in
https://github.com/llvm/llvm-project/pull/140727. The intention there
was to load libstdc++ first, because it may have inline namespaces that
would match relaxed the libc++ regexes. So that should technically make
this complicated regex workaround obsolete.

I didn't quite follow the entire thread in D66398 because some of the
links are dead. So it's possible something does rely on this. I'd like
to remove it and see. I *think* this should be resolved now by virtue of
how we load the formatters, but if it does break someone, there ought to
be a better solution (as Pavel hinted at in D66398).


  Commit: 2797688887217adefeb57fa589b803aceaea051d
      https://github.com/llvm/llvm-project/commit/2797688887217adefeb57fa589b803aceaea051d
  Author: Michael Jones <michaelrj at google.com>
  Date:   2025-12-11 (Thu, 11 Dec 2025)

  Changed paths:
    M libc/docs/CMakeLists.txt
    M libc/docs/porting.rst
    M libc/utils/docgen/docgen.py

  Log Message:
  -----------
  [libc][docs] Add a sunset policy to porting docs (#168936)

As discussed in the monthly meeting, update the porting docs to clarify
what's needed for a target and add a policy for sunsetting targets.


  Commit: 8471f36e28a4e837eefe3120564f667f0444a368
      https://github.com/llvm/llvm-project/commit/8471f36e28a4e837eefe3120564f667f0444a368
  Author: Prajwal Nadig <pnadig at apple.com>
  Date:   2025-12-11 (Thu, 11 Dec 2025)

  Changed paths:
    M .github/CODEOWNERS

  Log Message:
  -----------
  [ExtractAPI] Update CODEOWNERS (#171866)

Daniel Grumberg is no longer a maintainer for Clang ExtractAPI. I have
updated the code owners list accordingly and added myself in his stead.


  Commit: a451ff04d20021f6a15d22aef585903c434baa9e
      https://github.com/llvm/llvm-project/commit/a451ff04d20021f6a15d22aef585903c434baa9e
  Author: Ben Langmuir <blangmuir at apple.com>
  Date:   2025-12-11 (Thu, 11 Dec 2025)

  Changed paths:
    M llvm/include/llvm/CAS/OnDiskGraphDB.h
    M llvm/lib/CAS/ActionCaches.cpp
    M llvm/lib/CAS/OnDiskGraphDB.cpp
    M llvm/test/tools/llvm-cas/validation.test

  Log Message:
  -----------
  [llvm][cas] Improve UnifiedOnDiskActionCache validation to check cas refs (#171732)

Check that action cache references point to valid CAS objects by
ensuring they are contained within the corresponding CAS and also that
the offsets match. This prevents accidentally referencing "dead" index
records that were not properly flushed to disk, which can lead to the
action cache pointing to the wrong data or to garbage data.

rdar://126642956


  Commit: 6813f8f037124c53c54d5fe86abe50d71c81d42a
      https://github.com/llvm/llvm-project/commit/6813f8f037124c53c54d5fe86abe50d71c81d42a
  Author: Alexis Engelke <engelke at in.tum.de>
  Date:   2025-12-11 (Thu, 11 Dec 2025)

  Changed paths:
    M llvm/docs/ReleaseNotes.md
    M llvm/include/llvm-c/Core.h
    M llvm/include/llvm/IR/Instructions.h
    M llvm/include/llvm/IR/User.h
    M llvm/lib/Bitcode/Writer/ValueEnumerator.cpp
    M llvm/lib/CodeGen/TypePromotion.cpp
    M llvm/lib/IR/Core.cpp
    M llvm/lib/IR/Instruction.cpp
    M llvm/lib/IR/Instructions.cpp
    M llvm/lib/IR/User.cpp
    M llvm/lib/IR/Verifier.cpp
    M llvm/lib/Target/SPIRV/SPIRVEmitIntrinsics.cpp
    M llvm/lib/Transforms/Utils/FunctionComparator.cpp
    M llvm/lib/Transforms/Utils/SimplifyCFG.cpp
    A llvm/test/Transforms/MergeFunc/switch.ll
    A llvm/test/Transforms/SimplifyCFG/switch-dedup.ll
    M llvm/unittests/IR/InstructionsTest.cpp
    M llvm/unittests/IR/VerifierTest.cpp

  Log Message:
  -----------
  [IR] Don't store switch case values as operands

SwitchInst case values must be ConstantInt, which have no use list.
Therefore it is not necessary to store these as Use, instead store them
more efficiently as a simple array of pointers after the uses, similar
to how PHINode stores basic blocks.

After this change, the successors of all terminators are stored
consecutively in the operand list. This is preparatory work for
improving the performance of successor access.

Add new C API functions so that switch case values remain accessible
from bindings for other languages.

While this could also be achieved by merely changing the order of
operands (i.e., first all successors, then all constants), doing so
would increase the asymptotic runtime of addCase from O(1) to O(n)
(i.e., adding n cases would be O(n^2)), because it would need to shift
all constants by one slot. Having null/invalid operands is also a bad
idea and would cause much more breakage.

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


  Commit: 438573716dda1cad29fcaa13e2569a8e1555c632
      https://github.com/llvm/llvm-project/commit/438573716dda1cad29fcaa13e2569a8e1555c632
  Author: Alexandre Ganea <aganea at havenstudios.com>
  Date:   2025-12-11 (Thu, 11 Dec 2025)

  Changed paths:
    M llvm/lib/Support/rpmalloc/CACHE.md
    M llvm/lib/Support/rpmalloc/README.md
    M llvm/lib/Support/rpmalloc/malloc.c
    M llvm/lib/Support/rpmalloc/rpmalloc.c

  Log Message:
  -----------
  [Support] Convert CRLF->LF in rpmalloc. NFC.


  Commit: 3142e3ab15bb0485e1ac731cca3fb086b108eb06
      https://github.com/llvm/llvm-project/commit/3142e3ab15bb0485e1ac731cca3fb086b108eb06
  Author: Alexander Johnston <14348472+Alexander-Johnston at users.noreply.github.com>
  Date:   2025-12-11 (Thu, 11 Dec 2025)

  Changed paths:
    M clang/include/clang/Basic/BuiltinsSPIRVVK.td
    M clang/lib/CodeGen/TargetBuiltins/SPIR.cpp
    M clang/lib/Headers/hlsl/hlsl_intrinsic_helpers.h
    M clang/lib/Headers/hlsl/hlsl_intrinsics.h
    M clang/lib/Sema/SemaSPIRV.cpp
    A clang/test/CodeGenHLSL/builtins/ddx.hlsl
    A clang/test/CodeGenHLSL/builtins/ddy.hlsl
    A clang/test/CodeGenSPIRV/Builtins/ddx.c
    A clang/test/CodeGenSPIRV/Builtins/ddy.c
    A clang/test/SemaSPIRV/BuiltIns/ddx-errors.c
    A clang/test/SemaSPIRV/BuiltIns/ddy-errors.c
    M llvm/include/llvm/IR/IntrinsicsSPIRV.td
    M llvm/lib/Target/SPIRV/SPIRVInstructionSelector.cpp
    A llvm/test/CodeGen/SPIRV/hlsl-intrinsics/ddx.ll
    A llvm/test/CodeGen/SPIRV/hlsl-intrinsics/ddy.ll
    A llvm/test/CodeGen/SPIRV/opencl/ddx-error.ll
    A llvm/test/CodeGen/SPIRV/opencl/ddy-error.ll

  Log Message:
  -----------
  [HLSL] Implement ddx and ddy HLSL intrinsics (#168887)

Implements the ddx and ddy HLSL intrinsics. The DXIL intrinsics call the
ddx_coarse and ddy_builtins as they lower to the coarse variants.
The SPIRV intrinsics lower to their own opcodes OpDPdx and OpDPdy. Tests
are added to ensure the SPIRV builtins are not available outside of
shaders stage.

Closes https://github.com/llvm/llvm-project/issues/99096
Closes https://github.com/llvm/llvm-project/issues/99099


  Commit: e4c83b7b119c86070845b17c5070147ba84230de
      https://github.com/llvm/llvm-project/commit/e4c83b7b119c86070845b17c5070147ba84230de
  Author: Jason Molenda <jmolenda at apple.com>
  Date:   2025-12-11 (Thu, 11 Dec 2025)

  Changed paths:
    M lldb/include/lldb/Expression/ObjectFileJIT.h
    M lldb/include/lldb/Symbol/ObjectContainer.h
    M lldb/include/lldb/Symbol/ObjectFile.h
    M lldb/include/lldb/Utility/DataExtractor.h
    M lldb/include/lldb/lldb-private-interfaces.h
    M lldb/source/Core/Module.cpp
    M lldb/source/Expression/ObjectFileJIT.cpp
    M lldb/source/Plugins/ObjectContainer/BSD-Archive/ObjectContainerBSDArchive.cpp
    M lldb/source/Plugins/ObjectContainer/BSD-Archive/ObjectContainerBSDArchive.h
    M lldb/source/Plugins/ObjectContainer/Mach-O-Fileset/ObjectContainerMachOFileset.cpp
    M lldb/source/Plugins/ObjectContainer/Universal-Mach-O/ObjectContainerUniversalMachO.cpp
    M lldb/source/Plugins/ObjectFile/Breakpad/ObjectFileBreakpad.cpp
    M lldb/source/Plugins/ObjectFile/Breakpad/ObjectFileBreakpad.h
    M lldb/source/Plugins/ObjectFile/COFF/ObjectFileCOFF.cpp
    M lldb/source/Plugins/ObjectFile/COFF/ObjectFileCOFF.h
    M lldb/source/Plugins/ObjectFile/ELF/ObjectFileELF.cpp
    M lldb/source/Plugins/ObjectFile/ELF/ObjectFileELF.h
    M lldb/source/Plugins/ObjectFile/JSON/ObjectFileJSON.cpp
    M lldb/source/Plugins/ObjectFile/JSON/ObjectFileJSON.h
    M lldb/source/Plugins/ObjectFile/Mach-O/ObjectFileMachO.cpp
    M lldb/source/Plugins/ObjectFile/Mach-O/ObjectFileMachO.h
    M lldb/source/Plugins/ObjectFile/Minidump/ObjectFileMinidump.cpp
    M lldb/source/Plugins/ObjectFile/Minidump/ObjectFileMinidump.h
    M lldb/source/Plugins/ObjectFile/PDB/ObjectFilePDB.cpp
    M lldb/source/Plugins/ObjectFile/PDB/ObjectFilePDB.h
    M lldb/source/Plugins/ObjectFile/PECOFF/ObjectFilePECOFF.cpp
    M lldb/source/Plugins/ObjectFile/PECOFF/ObjectFilePECOFF.h
    M lldb/source/Plugins/ObjectFile/XCOFF/ObjectFileXCOFF.cpp
    M lldb/source/Plugins/ObjectFile/XCOFF/ObjectFileXCOFF.h
    M lldb/source/Plugins/ObjectFile/wasm/ObjectFileWasm.cpp
    M lldb/source/Plugins/ObjectFile/wasm/ObjectFileWasm.h
    M lldb/source/Plugins/Process/gdb-remote/GDBRemoteRegisterContext.cpp
    M lldb/source/Plugins/Process/scripted/ScriptedProcess.cpp
    M lldb/source/Plugins/SymbolFile/DWARF/SymbolFileDWARF.cpp
    M lldb/source/Plugins/SymbolVendor/ELF/SymbolVendorELF.cpp
    M lldb/source/Plugins/SymbolVendor/MacOSX/SymbolVendorMacOSX.cpp
    M lldb/source/Plugins/SymbolVendor/PECOFF/SymbolVendorPECOFF.cpp
    M lldb/source/Plugins/SymbolVendor/wasm/SymbolVendorWasm.cpp
    M lldb/source/Symbol/ObjectContainer.cpp
    M lldb/source/Symbol/ObjectFile.cpp
    M lldb/source/Symbol/SymbolVendor.cpp
    M lldb/source/Utility/DataExtractor.cpp

  Log Message:
  -----------
  [lldb][NFC] Change ObjectFile argument type (#171574)

The ObjectFile plugin interface accepts an optional DataBufferSP
argument. If the caller has the contents of the binary, it can provide
this in that DataBufferSP. The ObjectFile subclasses in their
CreateInstance methods will fill in the DataBufferSP with the actual
binary contents if it is not set.
ObjectFile base class creates an ivar DataExtractor from the
DataBufferSP passed in.

My next patch will be a caller that creates a VirtualDataExtractor with
the binary data, and needs to pass that in to the ObjectFile plugin,
instead of the bag-of-bytes DataBufferSP. It builds on the previous
patch changing ObjectFile's ivar from DataExtractor to DataExtractorSP
so I could pass in a subclass in the shared ptr. And it will be using
the VirtualDataExtractor that Jonas added in
https://github.com/llvm/llvm-project/pull/168802

No behavior is changed by the patch; we're simply moving the creation of
the DataExtractor to the caller, instead of a DataBuffer that is
immediately used to set up the ObjectFile DataExtractor. The patch is a
bit complicated because all of the ObjectFile subclasses have to
initialize their DataExtractor to pass in to the base class.

I ran the testsuite on macOS and on AArch64 Ubutnu. (btw David, I ran it
under qemu on my M4 mac with SME-no-SVE again, Ubuntu 25.10, checked
lshw(1) cpu capabilities, and qemu doesn't seem to be virtualizing the
SME, that explains why the testsuite passes)

rdar://148939795

---------

Co-authored-by: Jonas Devlieghere <jonas at devlieghere.com>


  Commit: 4c21e460ed39925bf5bc2e24ed90de004241b8e3
      https://github.com/llvm/llvm-project/commit/4c21e460ed39925bf5bc2e24ed90de004241b8e3
  Author: Andy Kaylor <akaylor at nvidia.com>
  Date:   2025-12-11 (Thu, 11 Dec 2025)

  Changed paths:
    M clang/include/clang/CIR/Dialect/IR/CIROps.td
    M clang/lib/CIR/CodeGen/CIRGenBuilder.h
    M clang/lib/CIR/CodeGen/CIRGenClass.cpp
    M clang/lib/CIR/CodeGen/CIRGenExpr.cpp
    M clang/lib/CIR/CodeGen/CIRGenExprScalar.cpp
    M clang/lib/CIR/CodeGen/CIRGenFunction.h
    M clang/lib/CIR/Dialect/IR/CIRDialect.cpp
    M clang/lib/CIR/Dialect/Transforms/TargetLowering/CIRCXXABI.h
    M clang/lib/CIR/Dialect/Transforms/TargetLowering/LowerItaniumCXXABI.cpp
    M clang/lib/CIR/Lowering/DirectToLLVM/LowerToLLVM.cpp
    M clang/test/CIR/CodeGen/pointer-to-data-member.cpp
    M clang/test/CIR/IR/invalid-data-member.cir

  Log Message:
  -----------
  [CIR] Add support for runtime data member pointer access (#171510)

This adds support for a CIR operation to represent runtime data member
access.


  Commit: 5eb2ec2179b2b95be16c7f855fe8460b4a98b5b1
      https://github.com/llvm/llvm-project/commit/5eb2ec2179b2b95be16c7f855fe8460b4a98b5b1
  Author: Matt Arsenault <Matthew.Arsenault at amd.com>
  Date:   2025-12-11 (Thu, 11 Dec 2025)

  Changed paths:
    M llvm/lib/Transforms/InstCombine/InstCombineCalls.cpp
    M llvm/test/Transforms/InstCombine/fold-select-fmul-if-zero.ll
    M llvm/test/Transforms/InstCombine/ldexp.ll

  Log Message:
  -----------
  InstCombine: Fold ldexp with constant exponent to fmul (#171731)

If we can represent this with an fmul, prefer it as a canonical
form. More optimizations will understand fmul, and allows contract to
fma.


  Commit: 0afd6eec3d2c36d0ac7b76a24a60851c72d77b38
      https://github.com/llvm/llvm-project/commit/0afd6eec3d2c36d0ac7b76a24a60851c72d77b38
  Author: Erick Velez <erickvelez7 at gmail.com>
  Date:   2025-12-11 (Thu, 11 Dec 2025)

  Changed paths:
    M clang-tools-extra/clang-doc/JSONGenerator.cpp
    M clang-tools-extra/clang-doc/assets/class-template.mustache
    M clang-tools-extra/test/clang-doc/basic-project.mustache.test
    M clang-tools-extra/test/clang-doc/json/class.cpp
    M clang-tools-extra/unittests/clang-doc/JSONGeneratorTest.cpp

  Log Message:
  -----------
  [clang-doc] Serialize "IsStatic" for fields (#171698)


  Commit: c22d82a1d43465912edeb0f67929245f40a8a822
      https://github.com/llvm/llvm-project/commit/c22d82a1d43465912edeb0f67929245f40a8a822
  Author: Ivan Butygin <ivan.butygin at gmail.com>
  Date:   2025-12-11 (Thu, 11 Dec 2025)

  Changed paths:
    M mlir/include/mlir/Conversion/AMDGPUToROCDL/AMDGPUToROCDL.h
    M mlir/lib/Conversion/AMDGPUToROCDL/AMDGPUToROCDL.cpp
    M mlir/lib/Conversion/GPUToROCDL/LowerGpuOpsToROCDLOps.cpp
    M mlir/lib/Dialect/GPU/TransformOps/CMakeLists.txt
    M mlir/lib/Dialect/GPU/TransformOps/GPUTransformOps.cpp

  Log Message:
  -----------
  [mlir][amdgpu] Move GPU memory spaces conversion to single place (#171876)


  Commit: 3a6c8c4e2ce708fd18b1c8bf49de8e08ee5715f1
      https://github.com/llvm/llvm-project/commit/3a6c8c4e2ce708fd18b1c8bf49de8e08ee5715f1
  Author: Fabrice de Gans <Steelskin at users.noreply.github.com>
  Date:   2025-12-11 (Thu, 11 Dec 2025)

  Changed paths:
    M llvm/include/llvm/CodeGen/LibcallLoweringInfo.h
    M llvm/include/llvm/SandboxIR/Constant.h
    M llvm/include/llvm/Support/Hash.h
    M llvm/include/llvm/Transforms/Utils/DebugSSAUpdater.h

  Log Message:
  -----------
  llvm: Add missing `LLVM_ABI` annotations (#171629)

This patch updates various LLVM headers to properly add the `LLVM_ABI`
and `LLVM_ABI_FOR_TEST` annotations to build LLVM as a DLL on Windows.

This effort is tracked in #109483.

---------

Co-authored-by: Nikita Popov <github at npopov.com>


  Commit: ca6eb2f5f8bb26b9cb210b1cea3420dbaabf0fb9
      https://github.com/llvm/llvm-project/commit/ca6eb2f5f8bb26b9cb210b1cea3420dbaabf0fb9
  Author: Erick Velez <erickvelez7 at gmail.com>
  Date:   2025-12-11 (Thu, 11 Dec 2025)

  Changed paths:
    M clang-tools-extra/clang-doc/JSONGenerator.cpp
    A clang-tools-extra/test/clang-doc/json/inheritance.cpp
    M clang-tools-extra/unittests/clang-doc/JSONGeneratorTest.cpp

  Log Message:
  -----------
  [clang-doc] Add JSON bools for parents, vparents and test (#171699)

Parents and virtual parents didn't have "Has" bools in JSON output. That
made it difficult to only create output conditionally.

Also add an explicit test for inheritance and parents, vparents, and
bases which actually weren't tested in JSON


  Commit: 75cd29b6d674f75d68d78181e60f1ae2aa3d7ba9
      https://github.com/llvm/llvm-project/commit/75cd29b6d674f75d68d78181e60f1ae2aa3d7ba9
  Author: Teresa Johnson <tejohnson at google.com>
  Date:   2025-12-11 (Thu, 11 Dec 2025)

  Changed paths:
    M llvm/lib/Transforms/Instrumentation/MemProfUse.cpp
    M llvm/test/Transforms/PGOProfile/memprof-dump-matched-alloc-site.ll

  Log Message:
  -----------
  [MemProf] Add option to emit full call context for matched allocations (#170516)

Add the -memprof-print-matched-alloc-stack option to enable emitting the
full allocation call context (of stack ids) for each matched allocation
reported by -memprof-print-match-info. Noop when the latter is not
enabled.


  Commit: 5e3549ab7a5fbdbd4ba4fec27997e0772684b01e
      https://github.com/llvm/llvm-project/commit/5e3549ab7a5fbdbd4ba4fec27997e0772684b01e
  Author: Erick Velez <erickvelez7 at gmail.com>
  Date:   2025-12-11 (Thu, 11 Dec 2025)

  Changed paths:
    M clang-tools-extra/clang-doc/JSONGenerator.cpp
    M clang-tools-extra/test/clang-doc/json/class.cpp

  Log Message:
  -----------
  [clang-doc] Serialize private members in JSON (#171700)


  Commit: f6c04cd58c3878c51bf4935f18fb7bb9c6a8c83c
      https://github.com/llvm/llvm-project/commit/f6c04cd58c3878c51bf4935f18fb7bb9c6a8c83c
  Author: Erick Velez <erickvelez7 at gmail.com>
  Date:   2025-12-11 (Thu, 11 Dec 2025)

  Changed paths:
    M clang-tools-extra/clang-doc/JSONGenerator.cpp
    M clang-tools-extra/clang-doc/assets/namespace-template.mustache
    M clang-tools-extra/test/clang-doc/json/concept.cpp
    M clang-tools-extra/test/clang-doc/json/namespace.cpp
    M clang-tools-extra/test/clang-doc/mustache-separate-namespace.cpp
    M clang-tools-extra/test/clang-doc/namespace.cpp
    M clang-tools-extra/unittests/clang-doc/JSONGeneratorTest.cpp

  Log Message:
  -----------
  [clang-doc] Serialize the global namespace name in JSON (#171701)

Previously, the global namespace's "Name" field was left empty. It could
be identified this way, but it could also be identified by its USR.
Actually populating the "Name" field allows for nicer output in the
future.


  Commit: 8d59cca1ab9cf4e39e43bf695e415de9ccd41115
      https://github.com/llvm/llvm-project/commit/8d59cca1ab9cf4e39e43bf695e415de9ccd41115
  Author: Jonas Devlieghere <jonas at devlieghere.com>
  Date:   2025-12-11 (Thu, 11 Dec 2025)

  Changed paths:
    M lldb/source/Plugins/Platform/CMakeLists.txt
    A lldb/source/Plugins/Platform/WebAssembly/CMakeLists.txt
    A lldb/source/Plugins/Platform/WebAssembly/PlatformWasm.cpp
    A lldb/source/Plugins/Platform/WebAssembly/PlatformWasm.h
    A lldb/source/Plugins/Platform/WebAssembly/PlatformWasmProperties.td
    M llvm/docs/ReleaseNotes.md

  Log Message:
  -----------
  [lldb] Add WebAssembly platform (#171507)

This PR adds a platform for WebAssembly. Heavily inspired by Pavel's
QemuUser, the platform lets you configure a WebAssembly runtime to run a
Wasm binary.

For example, the following configuration can be used to launch binaries
under the WebAssembly Micro Runtime (WARM):

```
settings set -- platform.plugin.wasm.runtime-args --heap-size=1048576
settings set -- platform.plugin.wasm.port-arg -g=127.0.0.1:
settings set -- platform.plugin.wasm.runtime-path /path/to/iwasm-2.4.0
```

With the settings above, you can now launch a binary directly under
WAMR:

```
❯ lldb simple.wasm
(lldb) target create "/Users/jonas/wasm-micro-runtime/product-mini/platforms/darwin/build/simple.wasm"
Current executable set to '/Users/jonas/wasm-micro-runtime/product-mini/platforms/darwin/build/simple.wasm' (wasm32).
(lldb) b main
Breakpoint 1: 2 locations.
(lldb) r
Process 1 launched: '/Users/jonas/wasm-micro-runtime/product-mini/platforms/darwin/build/simple.wasm' (wasm32)
2 locations added to breakpoint 1
[22:28:05:124 - 16FE27000]: control thread of debug object 0x1005e9020 start

[22:28:05:124 - 16FE27000]: Debug server listening on 127.0.0.1:49170

the module name is /Users/jonas/wasm-micro-runtime/product-mini/platforms/darwin/build/simple.wasm
Process 1 stopped
* thread #1, name = 'nobody', stop reason = breakpoint 1.3
    frame #0: 0x40000000000001d3 simple.wasm`main at simple.c:8:7
   5    }
   6
   7    int main() {
-> 8      int i = 1;
   9      int j = 2;
   10     return add(i, j);
   11   }
(lldb)
```


  Commit: 9a727af1c80c44262fe1694a9791dfae0f3bf242
      https://github.com/llvm/llvm-project/commit/9a727af1c80c44262fe1694a9791dfae0f3bf242
  Author: Aiden Grossman <aidengrossman at google.com>
  Date:   2025-12-11 (Thu, 11 Dec 2025)

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

  Log Message:
  -----------
  [bazel] Port c22d82a1d43465912edeb0f67929245f40a8a822 (#171885)


  Commit: 854ef8df06b9a4b4b473d9b00a5f6f1fa73df210
      https://github.com/llvm/llvm-project/commit/854ef8df06b9a4b4b473d9b00a5f6f1fa73df210
  Author: vangthao95 <vang.thao at amd.com>
  Date:   2025-12-11 (Thu, 11 Dec 2025)

  Changed paths:
    M llvm/lib/Target/AMDGPU/AMDGPURegBankLegalizeRules.cpp
    A llvm/test/CodeGen/AMDGPU/GlobalISel/fsub.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/regbankselect-fsub.mir
    M llvm/test/CodeGen/AMDGPU/fsub-as-fneg-src-modifier.ll

  Log Message:
  -----------
  [AMDGPU][GlobalISel] Add RegBankLegalize support for G_FSUB (#171244)


  Commit: 2f9b8b74280343fb1bc1918059c808811b4f1e90
      https://github.com/llvm/llvm-project/commit/2f9b8b74280343fb1bc1918059c808811b4f1e90
  Author: Erick Ochoa Lopez <erick.ochoalopez at amd.com>
  Date:   2025-12-11 (Thu, 11 Dec 2025)

  Changed paths:
    M mlir/include/mlir/Dialect/AMDGPU/IR/AMDGPU.td
    M mlir/lib/Conversion/AMDGPUToROCDL/AMDGPUToROCDL.cpp
    M mlir/test/Conversion/AMDGPUToROCDL/gfx1250.mlir
    M mlir/test/Dialect/AMDGPU/amdgpu-make-dma-descriptor-fold.mlir
    M mlir/test/Dialect/AMDGPU/ops.mlir

  Log Message:
  -----------
  [mlir][amdgpu] Continue lowering make_tdm_descriptor. (#171498)

* changes workgroup mask's type from i16 to vector<16xi1>
* changes pad_amount and pad_interval from Index to I32
* adds lit tests for padEnable, iteration and dynamic cases
* adds TODO for a future instrumentation pass to validate inputs
* adds descriptor groups 2 and 3


  Commit: 757c5b3bc70c6f0b55afa310f3fab07a4985e8b8
      https://github.com/llvm/llvm-project/commit/757c5b3bc70c6f0b55afa310f3fab07a4985e8b8
  Author: Matt Arsenault <Matthew.Arsenault at amd.com>
  Date:   2025-12-11 (Thu, 11 Dec 2025)

  Changed paths:
    M llvm/lib/Transforms/InstCombine/InstCombineCalls.cpp
    M llvm/test/Transforms/InstCombine/fold-select-fmul-if-zero.ll
    M llvm/test/Transforms/InstCombine/ldexp.ll

  Log Message:
  -----------
  Revert "InstCombine: Fold ldexp with constant exponent to fmul" (#171895)

Reverts llvm/llvm-project#171731

Fails on a libc test


  Commit: 71ee84acc4f7c93b9292af90ef5d79dd05687410
      https://github.com/llvm/llvm-project/commit/71ee84acc4f7c93b9292af90ef5d79dd05687410
  Author: Nishant Patel <nishant.b.patel at intel.com>
  Date:   2025-12-11 (Thu, 11 Dec 2025)

  Changed paths:
    M mlir/include/mlir/Dialect/Vector/IR/VectorOps.td
    M mlir/lib/Dialect/Vector/Transforms/VectorUnroll.cpp
    M mlir/test/Dialect/Vector/vector-unroll-options.mlir
    M mlir/test/lib/Dialect/Vector/TestVectorTransforms.cpp

  Log Message:
  -----------
  [MLIR][Vector] Add unroll pattern for vector.constant_mask (#171518)

This PR adds unrolling for vector.constant_mask op based on the
targetShape. Each unrolled vector computes its local mask size in each
dimension (d) as:
min(max(originalMaskSize[d] - offset[d], 0), unrolledMaskSize[d]).


  Commit: 98a8072a6599028aa9619e2a94ca7af5bd388c08
      https://github.com/llvm/llvm-project/commit/98a8072a6599028aa9619e2a94ca7af5bd388c08
  Author: Craig Topper <craig.topper at sifive.com>
  Date:   2025-12-11 (Thu, 11 Dec 2025)

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

  Log Message:
  -----------
  [FunctionLoweringInfo] Remove unnecesary check for isVectorTy when isIntegerTy is true. NFC (#171880)

isIntegerTy is only true for scalars.


  Commit: 3e414b940a70167af570567ddd3ecb1f2f240593
      https://github.com/llvm/llvm-project/commit/3e414b940a70167af570567ddd3ecb1f2f240593
  Author: Craig Topper <craig.topper at sifive.com>
  Date:   2025-12-11 (Thu, 11 Dec 2025)

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

  Log Message:
  -----------
  [FunctionLoweringInfo] Use KnownBits::intersectWith. NFC (#171893)


  Commit: dd6c14742b67d4fd0436fd3bfa24634fbc798741
      https://github.com/llvm/llvm-project/commit/dd6c14742b67d4fd0436fd3bfa24634fbc798741
  Author: Schrodinger ZHU Yifan <yifanzhu at rochester.edu>
  Date:   2025-12-11 (Thu, 11 Dec 2025)

  Changed paths:
    M libc/hdr/stdio_overlay.h

  Log Message:
  -----------
  [libc][darwin] avoid importing macros conflicting with function names in overlay mode (#171691)

MacOS SDK defines certain functions as macros in its stdio header. This
leads to problems in overlay mode.

This patch add undefs to macros that may conflict with function names in
overlay header. We don't expect to import them via overlay macro headers
anyway.

```bash
FAILED: [code=1] libc/src/__support/File/CMakeFiles/libc.src.__support.File.file.dir/file.cpp.o 
sccache /usr/bin/clang++ -DLIBC_NAMESPACE=__llvm_libc_22_0_0_git -D_DEBUG -I/Users/runner/work/llvm-project/llvm-project/libc -isystem /Users/runner/work/llvm-project/llvm-project/build/libc/include -fvisibility-inlines-hidden -Werror=date-time -Werror=unguarded-availability-new -Wall -Wextra -Wno-unused-parameter -Wwrite-strings -Wcast-qual -Wmissing-field-initializers -Wimplicit-fallthrough -Wcovered-switch-default -Wno-noexcept-type -Wnon-virtual-dtor -Wdelete-non-virtual-dtor -Wsuggest-override -Wstring-conversion -Wno-pass-failed -Wmisleading-indentation -Wctad-maybe-unsupported -fdiagnostics-color -g -std=gnu++17 -arch arm64 -I /Applications/Xcode_16.4.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX15.5.sdk/usr/include -DLIBC_QSORT_IMPL=LIBC_QSORT_QUICK_SORT -DLIBC_COPT_STRING_LENGTH_IMPL=element -DLIBC_COPT_FIND_FIRST_CHARACTER_IMPL=element -DLIBC_ADD_NULL_CHECKS -DLIBC_ERRNO_MODE=LIBC_ERRNO_MODE_DEFAULT -DLIBC_THREAD_MODE=LIBC_THREAD_MODE_PLATFORM -DLIBC_COPT_RAW_MUTEX_DEFAULT_SPIN_COUNT=100 -fpie -ffixed-point -fno-builtin -fno-exceptions -fno-lax-vector-conversions -fno-unwind-tables -fno-asynchronous-unwind-tables -fno-rtti -ftrivial-auto-var-init=pattern -fno-omit-frame-pointer -Wall -Wextra -Werror -Wconversion -Wno-sign-conversion -Wdeprecated -Wno-c99-extensions -Wno-gnu-imaginary-constant -Wno-pedantic -Wimplicit-fallthrough -Wwrite-strings -Wextra-semi -Wnewline-eof -Wnonportable-system-include-path -Wstrict-prototypes -Wthread-safety -Wglobal-constructors -MD -MT libc/src/__support/File/CMakeFiles/libc.src.__support.File.file.dir/file.cpp.o -MF libc/src/__support/File/CMakeFiles/libc.src.__support.File.file.dir/file.cpp.o.d -o libc/src/__support/File/CMakeFiles/libc.src.__support.File.file.dir/file.cpp.o -c /Users/runner/work/llvm-project/llvm-project/libc/src/__support/File/file.cpp
In file included from /Users/runner/work/llvm-project/llvm-project/libc/src/__support/File/file.cpp:9:
/Users/runner/work/llvm-project/llvm-project/libc/src/__support/File/file.h:260:8: error: expected member name or ';' after declaration specifiers
  260 |   void clearerr_unlocked() { err = false; }
      |   ~~~~ ^
/Applications/Xcode_16.4.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/usr/include/_stdio.h:495:30: note: expanded from macro 'clearerr_unlocked'
  495 | #define clearerr_unlocked(p)    __sclearerr(p)
      |                                 ^
/Applications/Xcode_16.4.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/usr/include/_stdio.h:383:26: note: expanded from macro '__sclearerr'
  383 | #define __sclearerr(p)  ((void)((p)->_flags &= ~(__SERR|__SEOF)))
      |                           ^
In file included from /Users/runner/work/llvm-project/llvm-project/libc/src/__support/File/file.cpp:9:
/Users/runner/work/llvm-project/llvm-project/libc/src/__support/File/file.h:260:8: error: expected ')'
/Applications/Xcode_16.4.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/usr/include/_stdio.h:495:30: note: expanded from macro 'clearerr_unlocked'
  495 | #define clearerr_unlocked(p)    __sclearerr(p)
      |                                 ^
/Applications/Xcode_16.4.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/usr/include/_stdio.h:383:26: note: expanded from macro '__sclearerr'
  383 | #define __sclearerr(p)  ((void)((p)->_flags &= ~(__SERR|__SEOF)))
      |                           ^
/Users/runner/work/llvm-project/llvm-project/libc/src/__support/File/file.h:260:8: note: to match this '('
/Applications/Xcode_16.4.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/usr/include/_stdio.h:495:30: note: expanded from macro 'clearerr_unlocked'
  495 | #define clearerr_unlocked(p)    __sclearerr(p)
      |                                 ^
/Applications/Xcode_16.4.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/usr/include/_stdio.h:383:25: note: expanded from macro '__sclearerr'
  383 | #define __sclearerr(p)  ((void)((p)->_flags &= ~(__SERR|__SEOF)))
      |                          ^
In file included from /Users/runner/work/llvm-project/llvm-project/libc/src/__support/File/file.cpp:9:
/Users/runner/work/llvm-project/llvm-project/libc/src/__support/File/file.h:260:8: error: unknown type name '_flags'
  260 |   void clearerr_unlocked() { err = false; }
      |        ^
/Applications/Xcode_16.4.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/usr/include/_stdio.h:495:30: note: expanded from macro 'clearerr_unlocked'
  495 | #define clearerr_unlocked(p)    __sclearerr(p)
      |                                 ^
/Applications/Xcode_16.4.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/usr/include/_stdio.h:383:37: note: expanded from macro '__sclearerr'
  383 | #define __sclearerr(p)  ((void)((p)->_flags &= ~(__SERR|__SEOF)))
      |                                      ^
In file included from /Users/runner/work/llvm-project/llvm-project/libc/src/__support/File/file.cpp:9:
/Users/runner/work/llvm-project/llvm-project/libc/src/__support/File/file.h:260:8: error: a type specifier is required for all declarations
/Applications/Xcode_16.4.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/usr/include/_stdio.h:495:30: note: expanded from macro 'clearerr_unlocked'
  495 | #define clearerr_unlocked(p)    __sclearerr(p)
      |                                 ^
/Applications/Xcode_16.4.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/usr/include/_stdio.h:383:34: note: expanded from macro '__sclearerr'
  383 | #define __sclearerr(p)  ((void)((p)->_flags &= ~(__SERR|__SEOF)))
      |                                   ^
In file included from /Users/runner/work/llvm-project/llvm-project/libc/src/__support/File/file.cpp:9:
/Users/runner/work/llvm-project/llvm-project/libc/src/__support/File/file.h:260:8: error: expected ')'
/Applications/Xcode_16.4.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/usr/include/_stdio.h:495:30: note: expanded from macro 'clearerr_unlocked'
  495 | #define clearerr_unlocked(p)    __sclearerr(p)
      |                                 ^
/Applications/Xcode_16.4.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/usr/include/_stdio.h:383:44: note: expanded from macro '__sclearerr'
  383 | #define __sclearerr(p)  ((void)((p)->_flags &= ~(__SERR|__SEOF)))
      |                                             ^
/Users/runner/work/llvm-project/llvm-project/libc/src/__support/File/file.h:260:8: note: to match this '('
/Applications/Xcode_16.4.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/usr/include/_stdio.h:495:30: note: expanded from macro 'clearerr_unlocked'
  495 | #define clearerr_unlocked(p)    __sclearerr(p)
      |                                 ^
/Applications/Xcode_16.4.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/usr/include/_stdio.h:383:31: note: expanded from macro '__sclearerr'
  383 | #define __sclearerr(p)  ((void)((p)->_flags &= ~(__SERR|__SEOF)))
      |                                ^
/Users/runner/work/llvm-project/llvm-project/libc/src/__support/File/file.cpp:426:23: error: out-of-line definition of 'mode_flags' does not match any declaration in '__llvm_libc_22_0_0_git::File'
  426 | File::ModeFlags File::mode_flags(const char *mode) {
      |                       ^~~~~~~~~~
6 errors generated.
```


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

  Changed paths:
    M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
    M llvm/test/Transforms/LoopVectorize/AArch64/early_exit_costs.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/induction-costs.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/low_trip_memcheck_cost.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/scalable-avoid-scalarization.ll

  Log Message:
  -----------
  [LV] Always include middle block cost in isOutsideLoopWorkProfitable. (#171102)

Always include the cost of the middle block in
isOutsideLoopWorkProfitable. This addresses the TODO from
https://github.com/llvm/llvm-project/pull/168949 and removes the
temporary restriction.

isOutsideLoopWorkProfitable already scales the cost outside loops
according the expected trip counts.

In practice this increases the minimum iteration threshold in a few
cases. On a large IR corpus based on C/C++ workloads, ~50 out of 179450
vector loops have their thresholds increased slightly.


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


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

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

  Log Message:
  -----------
  [VPlan] Remove vector type checking in inferScalartType (NFC).

inferScalarTypeForRecipe always infers a scalar type, so BaseTy must be
a scalar type. Remove unneeded cast.


  Commit: a50a7ea2e2909cf02fa6b855c3049b4a93b50d2e
      https://github.com/llvm/llvm-project/commit/a50a7ea2e2909cf02fa6b855c3049b4a93b50d2e
  Author: Sterling-Augustine <saugustine at google.com>
  Date:   2025-12-11 (Thu, 11 Dec 2025)

  Changed paths:
    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/unistd.yaml
    M libc/src/unistd/CMakeLists.txt
    A libc/src/unistd/getpagesize.h
    M libc/src/unistd/linux/CMakeLists.txt
    A libc/src/unistd/linux/getpagesize.cpp
    M libc/test/src/unistd/CMakeLists.txt
    A libc/test/src/unistd/getpagesize_test.cpp
    M libc/utils/docgen/unistd.yaml
    M utils/bazel/llvm-project-overlay/libc/BUILD.bazel
    M utils/bazel/llvm-project-overlay/libc/test/src/unistd/BUILD.bazel

  Log Message:
  -----------
  [libc] Add support for getpagesize. (#171713)

As in the description.


  Commit: 6344e3aa8106dfdfb30cac36c8ca02bc4c52ce24
      https://github.com/llvm/llvm-project/commit/6344e3aa8106dfdfb30cac36c8ca02bc4c52ce24
  Author: jimingham <jingham at apple.com>
  Date:   2025-12-11 (Thu, 11 Dec 2025)

  Changed paths:
    M lldb/include/lldb/Expression/ExpressionVariable.h
    M lldb/packages/Python/lldbsuite/test/lldbtest.py
    M lldb/source/Expression/ExpressionVariable.cpp
    M lldb/source/Expression/LLVMUserExpression.cpp
    M lldb/source/Expression/Materializer.cpp
    M lldb/source/Plugins/ExpressionParser/Clang/ClangExpressionVariable.cpp
    M lldb/source/Target/ABI.cpp
    A lldb/test/API/functionalities/expr-result-var/Makefile
    A lldb/test/API/functionalities/expr-result-var/TestCPPExprResult.py
    A lldb/test/API/functionalities/expr-result-var/two-bases.cpp

  Log Message:
  -----------
  Make result variables obey their dynamic values in subsequent expressions (#168611)

When you run an expression and the result has a dynamic type that is
different from the expression's static result type, we print the result
variable using the dynamic type, but at present when you use the result
variable in an expression later on, we only give you access to the
static type. For instance:

```
(lldb) expr MakeADerivedReportABase()
(Derived *) $0 = 0x00000001007e93e0
(lldb) expr $0->method_from_derived()
                ^
                error: no member named 'method_from_derived' in 'Base'
(lldb) 

```

The static return type of that function is `Base *`, but we printed that
the result was a `Derived *` and then only used the `Base *` part of it
in subsequent expressions. That's not very helpful, and forces you to
guess and then cast the result types to their dynamic type in order to
be able to access the full type you were returned, which is
inconvenient.

This patch makes lldb retain the dynamic type of the result variable
(and ditto for persistent result variables).

It also adds more testing of expression result variables with various
types of dynamic values, to ensure we can access both the ivars and
methods of the type we print the result as.


  Commit: bb12c435735ea0879cc68ae3031676a711d1de30
      https://github.com/llvm/llvm-project/commit/bb12c435735ea0879cc68ae3031676a711d1de30
  Author: Fateme Hosseini <quic_fhossein at quicinc.com>
  Date:   2025-12-11 (Thu, 11 Dec 2025)

  Changed paths:
    M llvm/lib/Target/Hexagon/HexagonPatterns.td
    M llvm/lib/Target/Hexagon/HexagonPatternsHVX.td
    M llvm/test/CodeGen/Hexagon/autohvx/arith.ll

  Log Message:
  -----------
  [Hexagon] Add HVX patterns for vector arithmetic (#170704)

This patch Introduces instruction selection patterns to generate the
vsub, vadd, vmpy, vmin, and vmax HVX vector instructions. These patterns
match on standard IR-level vector operations and lower them to the
corresponding Hexagon HVX intrinsics.

Patch By: Fateme Hosseini

Co-authored-by: Jyotsna Verma <jverma at qti.qualcomm.com>


  Commit: 02ab4bdecaad9772bd0280b54dbef160aa467773
      https://github.com/llvm/llvm-project/commit/02ab4bdecaad9772bd0280b54dbef160aa467773
  Author: Daniel Thornburgh <mysterymath at gmail.com>
  Date:   2025-12-11 (Thu, 11 Dec 2025)

  Changed paths:
    M llvm/lib/Target/M68k/M68kInstrData.td
    M llvm/lib/Target/M68k/M68kInstrInfo.cpp
    M llvm/lib/Target/M68k/M68kRegisterInfo.td
    M llvm/test/CodeGen/M68k/Control/non-cmov-switch.ll

  Log Message:
  -----------
  [M68k] Emit MOV16ds for moves from CCR on 68000 (#171703)

This also marks CCR as a subregister of SR, which allows the value of SR
to be tracked with respect to CCR. Finally, removes the 68010
requirement from moves from SR; this is a user mode instruction on
68000.

Fixes #85686


  Commit: 429dbce8d750981186e6b0494c47d9e0991d117f
      https://github.com/llvm/llvm-project/commit/429dbce8d750981186e6b0494c47d9e0991d117f
  Author: YongKang Zhu <yongzhu at fb.com>
  Date:   2025-12-11 (Thu, 11 Dec 2025)

  Changed paths:
    M bolt/lib/Target/AArch64/AArch64MCPlusBuilder.cpp
    M bolt/test/AArch64/epilogue-determination.s

  Log Message:
  -----------
  [BOLT][AArch64] Tweak heuristics for epilogue recognition (#169584)

If a basic block contains a load into LR from stack and has no
instruction saving LR onto stack, we just assume the basic block
is an epilogue.

This is not meant to accurately recognize epilogue in all possible
cases, but to have BOLT be conservative on treating basic block as
epilogue and then turning indirect branch with unknown control flow
to tail call.


  Commit: 20cc9fe95d53747f96bc8d56b8a5ca611fd7f157
      https://github.com/llvm/llvm-project/commit/20cc9fe95d53747f96bc8d56b8a5ca611fd7f157
  Author: Craig Topper <craig.topper at sifive.com>
  Date:   2025-12-11 (Thu, 11 Dec 2025)

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

  Log Message:
  -----------
  [RISCV] Remove now unused ixlenimm Operand. NFC (#171896)

Going forward I think we should add Operands with specific OperandType
so we no longer need a generic immediate Operand.


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

  Changed paths:
    M flang/lib/Optimizer/Builder/CUDAIntrinsicCall.cpp
    M flang/test/Lower/CUDA/cuda-device-proc.cuf

  Log Message:
  -----------
  [flang][cuda] Fix condition in barrier_try_wait lowering (#171916)

The condition should have been while 0 then try to wait and not the
opposite.


  Commit: 2f14fb3ddea94f1dd55ccc393fca644bcd6bc331
      https://github.com/llvm/llvm-project/commit/2f14fb3ddea94f1dd55ccc393fca644bcd6bc331
  Author: jimingham <jingham at apple.com>
  Date:   2025-12-11 (Thu, 11 Dec 2025)

  Changed paths:
    M lldb/test/API/functionalities/expr-result-var/TestCPPExprResult.py

  Log Message:
  -----------
  The C++ dynamic typing tests are failing on Windows, skip for now. (#171922)

This is a follow-on to:

https://github.com/llvm/llvm-project/pull/168611

which added a bunch of tests for detecting dynamic types of C++ result
variables. I don't actually know how well dynamic type detection works
on Windows if at all. It would require Windows support, since the
Linux/Darwin version is specific to the Itanium ABI.


  Commit: c1b60b96ec85f8d11e84da2c52f0aed35703ed43
      https://github.com/llvm/llvm-project/commit/c1b60b96ec85f8d11e84da2c52f0aed35703ed43
  Author: Tom Stellard <tstellar at redhat.com>
  Date:   2025-12-11 (Thu, 11 Dec 2025)

  Changed paths:
    M .github/workflows/upload-release-artifact/action.yml

  Log Message:
  -----------
  workflows/upload-release-artifact: Upload a separate attestation for each artifact (#171525)

This will simplify the process of verifying the assets, because the
attestation file for $file will be $file.jsonl. Otherwise, it's not
clear which attestation file goes with which asset.


  Commit: efd472c88d7bed50615eab6db844a766d8f1964f
      https://github.com/llvm/llvm-project/commit/efd472c88d7bed50615eab6db844a766d8f1964f
  Author: Christopher Ferris <cferris1000 at users.noreply.github.com>
  Date:   2025-12-11 (Thu, 11 Dec 2025)

  Changed paths:
    M compiler-rt/lib/scudo/standalone/common.h
    M compiler-rt/lib/scudo/standalone/fuchsia.cpp
    M compiler-rt/lib/scudo/standalone/linux.cpp
    M compiler-rt/lib/scudo/standalone/secondary.h
    M compiler-rt/lib/scudo/standalone/tests/common_test.cpp
    M compiler-rt/lib/scudo/standalone/trusty.cpp

  Log Message:
  -----------
  [scudo] Show the resident pages from the secondary cache. (#170568)

Move the test utility to get the resident pages into linux.cpp.

Add some specific tests for this function.

Add displaying of resident pages from in the secondary cache when
calling getStats.


  Commit: 5e63167965224e523ed69770754330c8cb22e90f
      https://github.com/llvm/llvm-project/commit/5e63167965224e523ed69770754330c8cb22e90f
  Author: Alexey Samsonov <vonosmas at gmail.com>
  Date:   2025-12-11 (Thu, 11 Dec 2025)

  Changed paths:
    M libc/src/__support/RPC/rpc_server.h
    M libc/src/stdio/baremetal/printf.cpp
    M libc/src/stdio/baremetal/vprintf.cpp
    M libc/src/stdio/printf_core/vasprintf_internal.h
    M libc/src/stdio/printf_core/vfprintf_internal.h
    M libc/src/stdio/printf_core/writer.h
    M libc/src/stdio/snprintf.cpp
    M libc/src/stdio/sprintf.cpp
    M libc/src/stdio/vsnprintf.cpp
    M libc/src/stdio/vsprintf.cpp
    M libc/src/stdlib/strfromd.cpp
    M libc/src/stdlib/strfromf.cpp
    M libc/src/stdlib/strfroml.cpp
    M libc/src/time/strftime.cpp
    M libc/src/time/strftime_l.cpp
    M libc/test/src/stdio/printf_core/converter_test.cpp
    M libc/test/src/stdio/printf_core/writer_test.cpp

  Log Message:
  -----------
  [libc] Refactor static polymorphism in WriteBuffer (NFC). (#169089)

There are three flavors of WriteBuffer currently, all of which could be
passed into `printf_core::Writer` class. It's a tricky class, since it
chooses a flavor-specific logic either based on runtime dispatch (to
save code size and prevent generating three versions of the entirety of
printf_core), or based on template arguments (to avoid dealing with
function pointers in codegen for `FILL_BUFF_AND_DROP_OVERFLOW` path).

Refactor this somewhat convoluted logic to have three concrete
subclasses inheriting from the templated base class, and use static
polymorphism with `reinterpret_cast` to implement dispatching above. Now
we can actually have flavor-specific fields, constructors, and methods
(e.g. `flush_to_stream` is now a method of `FlushingBuffer`), and the
code on the user side is cleaner: the complexity of enabling/disabling
runtime-dispatch and using proper template arguments is now localized in
`writer.h`.

This code will need to be further templatized to support buffers of type
`wchar_t` to implement `swprintf()` and friends. This change would make
it (ever so slightly) easier.


  Commit: f36792b2a391a1f8c5c83ad0770304ed25e249ce
      https://github.com/llvm/llvm-project/commit/f36792b2a391a1f8c5c83ad0770304ed25e249ce
  Author: Sadaf Ebrahimi <sadafebrahimi at google.com>
  Date:   2025-12-11 (Thu, 11 Dec 2025)

  Changed paths:
    M compiler-rt/lib/scudo/standalone/primary64.h
    M compiler-rt/lib/scudo/standalone/release.h
    M compiler-rt/lib/scudo/standalone/tests/checksum_test.cpp
    M compiler-rt/lib/scudo/standalone/tests/wrappers_cpp_test.cpp
    M compiler-rt/lib/scudo/standalone/trusty.h

  Log Message:
  -----------
  [scudo] Fix typo in multiple files (#171925)


  Commit: 8e999e3d7857ce131d03bab4fd5c42b0e8edd980
      https://github.com/llvm/llvm-project/commit/8e999e3d7857ce131d03bab4fd5c42b0e8edd980
  Author: Jan Svoboda <jan_svoboda at apple.com>
  Date:   2025-12-11 (Thu, 11 Dec 2025)

  Changed paths:
    M clang/lib/Basic/FileManager.cpp
    M clang/lib/CodeGen/BackendUtil.cpp
    M clang/lib/Driver/Driver.cpp
    M clang/lib/Driver/Job.cpp
    M clang/lib/Serialization/GlobalModuleIndex.cpp
    M clang/lib/Serialization/ModuleCache.cpp
    M clang/lib/StaticAnalyzer/Core/HTMLDiagnostics.cpp
    M clang/tools/driver/cc1_main.cpp
    M clang/tools/driver/cc1as_main.cpp
    M llvm/CMakeLists.txt
    M llvm/include/llvm/CodeGen/AsmPrinter.h
    M llvm/include/llvm/Config/llvm-config.h.cmake
    A llvm/include/llvm/Support/IOSandbox.h
    M llvm/include/llvm/Support/VirtualFileSystem.h
    M llvm/lib/CodeGen/AsmPrinter/AsmPrinter.cpp
    M llvm/lib/CodeGen/AsmPrinter/AsmPrinterInlineAsm.cpp
    M llvm/lib/Support/LockFileManager.cpp
    M llvm/lib/Support/MemoryBuffer.cpp
    M llvm/lib/Support/Path.cpp
    M llvm/lib/Support/Signals.cpp
    M llvm/lib/Support/Unix/Path.inc
    M llvm/lib/Support/Unix/Signals.inc
    M llvm/lib/Support/VirtualFileSystem.cpp
    M llvm/lib/Support/VirtualOutputBackends.cpp
    M llvm/lib/Support/Windows/Path.inc
    M llvm/lib/Support/Windows/Signals.inc
    M llvm/lib/Support/raw_ostream.cpp
    M llvm/lib/Target/BPF/BTFDebug.cpp

  Log Message:
  -----------
  [llvm][clang] Sandbox filesystem reads (#165350)

This PR introduces a new mechanism for enforcing a sandbox around
filesystem reads coming from the compiler. A fatal error is raised
whenever the `llvm::sys::fs`, `llvm::MemoryBuffer::getFile*()` APIs get
used directly instead of going through the "blessed" virtual interface
of `llvm::vfs::FileSystem`.


  Commit: 86cc934b4a897bdda17faf3707168b5f5727f6fa
      https://github.com/llvm/llvm-project/commit/86cc934b4a897bdda17faf3707168b5f5727f6fa
  Author: Hongzheng Chen <hc676 at cornell.edu>
  Date:   2025-12-11 (Thu, 11 Dec 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/python/ir/operation.py

  Log Message:
  -----------
  [python] Expose replaceUsesOfWith C API (#171892)

This PR exposes the `replaceUsesOfWith` C API to Python


  Commit: ee22217d1f37edfb4ef8a922345382926adf4096
      https://github.com/llvm/llvm-project/commit/ee22217d1f37edfb4ef8a922345382926adf4096
  Author: Florian Mayer <fmayer at google.com>
  Date:   2025-12-11 (Thu, 11 Dec 2025)

  Changed paths:
    M compiler-rt/lib/sanitizer_common/symbolizer/scripts/build_symbolizer.sh

  Log Message:
  -----------
  [Sanitizer] show configure.log for libz build (#171932)

This is for debugging the failures on the aarch64 buildbot


  Commit: e2818009243cda860bd538622621dd729536793b
      https://github.com/llvm/llvm-project/commit/e2818009243cda860bd538622621dd729536793b
  Author: Andrew Haberlandt <ndrewh at users.noreply.github.com>
  Date:   2025-12-11 (Thu, 11 Dec 2025)

  Changed paths:
    M compiler-rt/cmake/Modules/CompilerRTDarwinUtils.cmake
    M compiler-rt/cmake/builtin-config-ix.cmake
    M compiler-rt/lib/builtins/CMakeLists.txt
    M compiler-rt/test/CMakeLists.txt
    M compiler-rt/test/builtins/CMakeLists.txt
    M llvm/runtimes/CMakeLists.txt

  Log Message:
  -----------
  Revert: check-builtins target for LLVM_ENABLE_RUNTIMES (#171940)

Revert #171741 and #166837.

@petrhosek reported issues with some builders using this feature


  Commit: d8d87b594eb67c1f96cf59d645b660f8fd831bee
      https://github.com/llvm/llvm-project/commit/d8d87b594eb67c1f96cf59d645b660f8fd831bee
  Author: Andy Kaylor <akaylor at nvidia.com>
  Date:   2025-12-11 (Thu, 11 Dec 2025)

  Changed paths:
    M clang/lib/CIR/CodeGen/CIRGenExprConstant.cpp
    M clang/lib/CIR/Lowering/DirectToLLVM/LowerToLLVM.cpp
    M clang/test/CIR/CodeGen/pointer-to-data-member.cpp

  Log Message:
  -----------
  [CIR] Add support for global member pointer values (#171888)

This adds the handling necessary to support global variables that are
data member pointers in CIR.


  Commit: b2f36149d820ab8d2c74de328ced4821408eca7f
      https://github.com/llvm/llvm-project/commit/b2f36149d820ab8d2c74de328ced4821408eca7f
  Author: Henrich Lauko <xlauko at mail.muni.cz>
  Date:   2025-12-12 (Fri, 12 Dec 2025)

  Changed paths:
    M clang/include/clang/CIR/Dialect/IR/CIROps.td
    M clang/include/clang/CIR/MissingFeatures.h
    M clang/lib/CIR/CodeGen/CIRGenException.cpp
    M clang/lib/CIR/CodeGen/CIRGenModule.cpp
    M clang/lib/CIR/Dialect/IR/CIRDialect.cpp
    M clang/lib/CIR/Lowering/DirectToLLVM/LowerToLLVM.cpp
    M clang/test/CIR/IR/func.cir
    M clang/test/CIR/Lowering/eh-inflight.cir

  Log Message:
  -----------
  [CIR] Implement function personality attribute and its lowering (#171001)


  Commit: e760d0619fe573113fe5a08cc101aafe9ed3a56e
      https://github.com/llvm/llvm-project/commit/e760d0619fe573113fe5a08cc101aafe9ed3a56e
  Author: Nicolai Hähnle <nicolai.haehnle at amd.com>
  Date:   2025-12-12 (Fri, 12 Dec 2025)

  Changed paths:
    M llvm/lib/Target/AMDGPU/AMDGPUPromoteAlloca.cpp
    M llvm/test/CodeGen/AMDGPU/promote-alloca-negative-index.ll
    M llvm/test/CodeGen/AMDGPU/promote-alloca-scoring.ll

  Log Message:
  -----------
  AMDGPU/PromoteAlloca: Refactor into analysis / commit phases (#170512)

This change is motivated by the overall goal of finding alternative ways
to promote allocas to VGPRs. The current solution is effectively limited
to allocas whose size matches a register class, and we can't keep adding
more register classes. We have some downstream work in this direction,
and I'm currently looking at cleaning that up to bring it upstream.

This refactor paves the way to adding a third way of promoting allocas,
on top of the existing alloca-to-vector and alloca-to-LDS. Much of the
analysis can be shared between the different promotion techniques.

Additionally, the idea behind splitting the pass into an analysis
phase and a commit phase is that it ought to allow us to more easily
make
better "big picture" decision about which allocas to promote how in the
future.


  Commit: a1b35864925cde4db0d6393640abaa0f89a65309
      https://github.com/llvm/llvm-project/commit/a1b35864925cde4db0d6393640abaa0f89a65309
  Author: Aashcharya Gorakh <162886620+Aashcharya1 at users.noreply.github.com>
  Date:   2025-12-11 (Thu, 11 Dec 2025)

  Changed paths:
    M flang/docs/OptionComparison.md

  Log Message:
  -----------
  [flang][docs] Remove stale inline links to Intel and IBM compiler option

Remove all inline links to Intel and IBM compiler options from the
comparison tables, as these links have become stale (Intel links
redirect to generic pages, IBM links redirect to PDF-only pages).

Option names are preserved for readability. The Data sources section
still contains links to the main documentation pages.

Details:

- Removed 43 Intel compiler option links
- Removed 35 IBM compiler option links
- Removed 2 stale links in notes section
- Updated documentation text accordingly

Fixes #171464

---------

Co-authored-by: Tarun Prabhu <tarun at lanl.gov>


  Commit: e13998f1162f399df30e6c54cefd63e24be704a3
      https://github.com/llvm/llvm-project/commit/e13998f1162f399df30e6c54cefd63e24be704a3
  Author: Aiden Grossman <aidengrossman at google.com>
  Date:   2025-12-11 (Thu, 11 Dec 2025)

  Changed paths:
    M utils/bazel/llvm-project-overlay/llvm/include/llvm/Config/llvm-config.h
    M utils/bazel/llvm_configs/llvm-config.h.cmake

  Log Message:
  -----------
  [bazel] Port 8e999e3d7857ce131d03bab4fd5c42b0e8edd980 (#171946)

Added a new preprocessor macro to llvm-config.h which needs to be
reflected on the bazel side.


  Commit: 2b1fa68ad0f7ec270f1c876402eeb822e7e44cc7
      https://github.com/llvm/llvm-project/commit/2b1fa68ad0f7ec270f1c876402eeb822e7e44cc7
  Author: Farzon Lotfi <farzonlotfi at microsoft.com>
  Date:   2025-12-11 (Thu, 11 Dec 2025)

  Changed paths:
    M clang/include/clang/Basic/DiagnosticDriverKinds.td
    M clang/include/clang/Options/Options.td
    M clang/lib/Driver/ToolChains/Clang.cpp
    M clang/lib/Driver/ToolChains/HLSL.cpp
    A clang/test/Driver/hlsl_matrix_pack_order.hlsl

  Log Message:
  -----------
  [HLSL] Add the DXC matrix orientation flags (#171550)

fixes #58676

- Make /Zpr and /Zpc turn on the -fmatrix-memory-layout= row-major and
column-major flags
- Add the new DXC driver flags to Options.td
- Error in the HLSL toolchain when  both flags are specified
- Add the new error diagnostic to DiagnosticDriverKinds.td
- propogate the flag via the Clang toolchain


  Commit: b0d340557841e0c3f72d19be89aebef2a8ce02e5
      https://github.com/llvm/llvm-project/commit/b0d340557841e0c3f72d19be89aebef2a8ce02e5
  Author: Peter Collingbourne <pcc at google.com>
  Date:   2025-12-11 (Thu, 11 Dec 2025)

  Changed paths:
    M llvm/lib/Transforms/Scalar/SROA.cpp
    A llvm/test/Transforms/SROA/protected-field-pointer.ll

  Log Message:
  -----------
  SROA: Recognize llvm.protected.field.ptr intrinsics.

When an alloc slice's users include llvm.protected.field.ptr intrinsics
and their discriminators are consistent, drop the intrinsics in order
to avoid unnecessary pointer sign and auth operations.

Reviewers: nikic

Reviewed By: nikic

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


  Commit: 96b6594c901d0d92eec12c9e06388d7011049f69
      https://github.com/llvm/llvm-project/commit/96b6594c901d0d92eec12c9e06388d7011049f69
  Author: Younan Zhang <zyn7109 at gmail.com>
  Date:   2025-12-12 (Fri, 12 Dec 2025)

  Changed paths:
    M clang/docs/ReleaseNotes.rst
    M clang/lib/Sema/SemaDeclCXX.cpp
    M clang/test/SemaCXX/anonymous-struct.cpp
    M clang/test/SemaObjCXX/arc-0x.mm

  Log Message:
  -----------
  [Clang] Remove the early-check for anonymous struct in ShouldDeleteSpecialMember (#171799)

That check doesn't seem very useful. For non-dependent context records,
ShouldDeleteSpecialMember is called when checking implicitly defined
member functions, before the anonymous flag which the check relies on is
set. (One could notice that in ParseCXXClassMemberDeclaration,
ParseDeclarationSpecifiers ends up calling
ShouldDeleteSpecialMember, while the flag is only set later in
ParsedFreeStandingDeclSpec.)

For dependent contexts, this check actually breaks correctness: since we
don't create those special members until the template is instantiated,
their deletion checks are skipped because of the anonymity.

There's only one regression in ObjC test about notes; we are more
explanative now.

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


  Commit: 8378ec44ff96a46edb752d47ebe72813ab15acc5
      https://github.com/llvm/llvm-project/commit/8378ec44ff96a46edb752d47ebe72813ab15acc5
  Author: Hristo Hristov <hghristov.rmm at gmail.com>
  Date:   2025-12-12 (Fri, 12 Dec 2025)

  Changed paths:
    M libcxx/include/set
    M libcxx/test/libcxx/diagnostics/set.nodiscard.verify.cpp

  Log Message:
  -----------
  [libc++][set] Applied `[[nodiscard]]` (#169982)

`[[nodiscard]]` should be applied to functions where discarding the
return value is most likely a correctness issue.

- https://libcxx.llvm.org/CodingGuidelines.htm
- https://wg21.link/set


  Commit: 9d5403c8924b6b58c1f25bbb3830f64aecb152ec
      https://github.com/llvm/llvm-project/commit/9d5403c8924b6b58c1f25bbb3830f64aecb152ec
  Author: Jim Lin <jim at andestech.com>
  Date:   2025-12-12 (Fri, 12 Dec 2025)

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

  Log Message:
  -----------
  [RISCV] Fix incorrect chapter number in comments in RISCVSchedSpacemitX60.td. (#171765)


  Commit: 8deb4221e2bbb2f22df01e6bd16a28d2da7b4860
      https://github.com/llvm/llvm-project/commit/8deb4221e2bbb2f22df01e6bd16a28d2da7b4860
  Author: Craig Topper <craig.topper at sifive.com>
  Date:   2025-12-11 (Thu, 11 Dec 2025)

  Changed paths:
    M llvm/lib/Target/RISCV/RISCVInstrInfoVPseudos.td
    M llvm/lib/Target/RISCV/RISCVInstrInfoXAndes.td

  Log Message:
  -----------
  [RISCV] Use VMV0 instead of VMaskOp in masked vector pseudoinstructions. NFC (#171924)

VMaskOp primarily exists for parsing/printing in the MC layer where the
mask is optional. The vector pseudos are split into mask and unmasked
versions. The mask is always rquired for the mask version.


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

  Changed paths:
    M llvm/lib/Target/RISCV/MCTargetDesc/RISCVBaseInfo.h
    M llvm/lib/Target/RISCV/RISCVAsmPrinter.cpp
    M llvm/lib/Target/RISCV/RISCVInstrInfoV.td

  Log Message:
  -----------
  [RISCV] Add an OperandType to VMaskOp. NFC (#171926)

Use that instead of register class to detect the mask operand in
lowerRISCVVMachineInstrToMCInst.

There are other instructions like vmerge and vadc that have a VMV0
operand that isn't optional and do not reach this code. Having a
dedicated marker for the optional mask is more precise.


  Commit: ecaf673850beb241957352bd61e95ed34256635f
      https://github.com/llvm/llvm-project/commit/ecaf673850beb241957352bd61e95ed34256635f
  Author: Hristo Hristov <hghristov.rmm at gmail.com>
  Date:   2025-12-12 (Fri, 12 Dec 2025)

  Changed paths:
    M libcxx/include/__format/format_args.h
    M libcxx/include/__format/format_context.h
    M libcxx/include/__format/format_parse_context.h
    M libcxx/test/libcxx/diagnostics/format.nodiscard.verify.cpp

  Log Message:
  -----------
  [libc++][format] Applied `[[nodiscard]]` to more classes (#170808)

`[[nodiscard]]` should be applied to functions where discarding the
return value is most likely a correctness issue.

- https://libcxx.llvm.org/CodingGuidelines.html

Some classes in `<format>` were already annotated. This patch completes
the remaining.


  Commit: 1335a05ab8bc8339ce24be3a9da89d8c3f4e0571
      https://github.com/llvm/llvm-project/commit/1335a05ab8bc8339ce24be3a9da89d8c3f4e0571
  Author: Hongzheng Chen <hc676 at cornell.edu>
  Date:   2025-12-11 (Thu, 11 Dec 2025)

  Changed paths:
    M mlir/python/mlir/dialects/affine.py
    M mlir/test/python/dialects/affine.py

  Log Message:
  -----------
  [MLIR][Python] Fix AffineIfOp insertion point (#171957)

This bug was introduced by #108323, where the loc and ip were not
properly set. It may lead to errors when the operations are not linearly
asserted to the IR.


  Commit: c7ca7047a75892f89cb98516ebd274752f73f593
      https://github.com/llvm/llvm-project/commit/c7ca7047a75892f89cb98516ebd274752f73f593
  Author: Yusuke MINATO <minato.yusuke at fujitsu.com>
  Date:   2025-12-12 (Fri, 12 Dec 2025)

  Changed paths:
    M flang/docs/index.md

  Log Message:
  -----------
  [flang][docs] Reorganize the table of contents (#171240)

This patch creates a section for user guidance.


  Commit: cdfdb06c9155080ec97d6e4f4dd90b6e7cefb0ca
      https://github.com/llvm/llvm-project/commit/cdfdb06c9155080ec97d6e4f4dd90b6e7cefb0ca
  Author: Michael Pratt <michael at prattmic.com>
  Date:   2025-12-12 (Fri, 12 Dec 2025)

  Changed paths:
    M compiler-rt/lib/tsan/go/test.c
    M compiler-rt/lib/tsan/rtl/tsan_trace.h

  Log Message:
  -----------
  [TSan] Zero-initialize Trace.local_head

Trace.local_head is currently uninitialized when Trace is created. It is
first initialized when the first event is added to the trace, via the
first call to TraceSwitchPartImpl.

However, ThreadContext::OnFinished uses local_head, assuming that it is
initialized. If it has not been initialized, we have undefined behavior,
likely crashing if the contents are garbage. The allocator (Alloc)
reuses previously allocations, so the contents of the uninitialized
memory are arbitrary.

In a C/C++ TSAN binary it is likely very difficult for a thread to start
and exit without a single event inbetween. For Go programs, code running
in the Go runtime itself is not TSan-instrumented, so goroutines that
exclusively run runtime code (such as GC workers) can quite reasonably
have no TSan events.

The addition of such a goroutine to the Go test.c is sufficient to
trigger this case, though for reliable failure (segfault) I've found it
necessary to poison the ThreadContext allocation like so:

```
diff --git a/compiler-rt/lib/tsan/rtl/tsan_rtl.cpp b/compiler-rt/lib/tsan/rtl/tsan_rtl.cpp index feee566f44..352db9aa7c 100644
--- a/compiler-rt/lib/tsan/rtl/tsan_rtl.cpp
+++ b/compiler-rt/lib/tsan/rtl/tsan_rtl.cpp
@@ -392,7 +392,9 @@
       report_mtx(MutexTypeReport),
       nreported(),
       thread_registry([](Tid tid) -> ThreadContextBase* {
-        return new (Alloc(sizeof(ThreadContext))) ThreadContext(tid);
+        void* ptr = Alloc(sizeof(ThreadContext));
+        internal_memset(ptr, 0xde, sizeof(ThreadContext));
+        return new (ptr) ThreadContext(tid);
       }),
       racy_mtx(MutexTypeRacy),
       racy_stacks(),
```

The fix is trivial: local_head should be zero-initialized.


  Commit: c3e7a1ab8f60c797e320687a92a7a59af62dc242
      https://github.com/llvm/llvm-project/commit/c3e7a1ab8f60c797e320687a92a7a59af62dc242
  Author: Himadhith <79003240+Himadhith at users.noreply.github.com>
  Date:   2025-12-12 (Fri, 12 Dec 2025)

  Changed paths:
    A llvm/test/CodeGen/PowerPC/optimize-vector-not-equal.ll

  Log Message:
  -----------
  [NFC][PowerPC] Optimize vector compares for not equal to non zero vectors (#171635)

Lockdown instructions for vector compares `not equal to non-zero (Ex:
vec[i]!=7)`. Current implementation can be made better by removing the
negation and using the identity ``` 0XFFFF + 1 = 0 and 0 + 1 = 0 ```

Co-authored-by: himadhith <himadhith.v at ibm.com>


  Commit: 63ea393f969b9fe8be3f80b38eb2b47063aa6d40
      https://github.com/llvm/llvm-project/commit/63ea393f969b9fe8be3f80b38eb2b47063aa6d40
  Author: Hristo Hristov <hghristov.rmm at gmail.com>
  Date:   2025-12-12 (Fri, 12 Dec 2025)

  Changed paths:
    M libcxx/include/optional
    A libcxx/test/libcxx/utilities/optional/nodiscard.verify.cpp
    M libcxx/test/std/utilities/optional/optional.monadic/and_then.pass.cpp
    M libcxx/test/std/utilities/optional/optional.monadic/or_else.pass.cpp
    M libcxx/test/std/utilities/optional/optional.monadic/transform.pass.cpp

  Log Message:
  -----------
  [libc++][optional] Applied `[[nodiscard]]` (#170045)

`[[nodiscard]]` should be applied to functions where discarding the
return value is most likely a correctness issue.

- https://libcxx.llvm.org/CodingGuidelines.html
- https://wg21.link/optional

---------

Co-authored-by: William Tran-Viet <wtranviet at proton.me>


  Commit: 618b874d8495ca92be1e3e38175fc1f9bd4c47b2
      https://github.com/llvm/llvm-project/commit/618b874d8495ca92be1e3e38175fc1f9bd4c47b2
  Author: Craig Topper <craig.topper at sifive.com>
  Date:   2025-12-11 (Thu, 11 Dec 2025)

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

  Log Message:
  -----------
  [RISCV] Add OperandType to tsimm5 used by Xsfvcp. (#171964)


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

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

  Log Message:
  -----------
  [RISCV] Use OPERAND_MEMORY as the OperandType for CVrr. NFC (#171967)


  Commit: 727581773944e58739e1796169dfc5ecf8f7e640
      https://github.com/llvm/llvm-project/commit/727581773944e58739e1796169dfc5ecf8f7e640
  Author: Alexander Richardson <alexrichardson at google.com>
  Date:   2025-12-11 (Thu, 11 Dec 2025)

  Changed paths:
    M llvm/test/TableGen/RegClassByHwMode.td
    M llvm/utils/TableGen/AsmMatcherEmitter.cpp
    M llvm/utils/TableGen/InstrInfoEmitter.cpp

  Log Message:
  -----------
  [TableGen] Improve generated comments for RegClassByHwMode tables

Adding a comment for which RegClassByHwMode the entry refers to is
helpful when staring at this generated table.

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


  Commit: c05a3ac915ae3225c805c110531a85dfe86b4bee
      https://github.com/llvm/llvm-project/commit/c05a3ac915ae3225c805c110531a85dfe86b4bee
  Author: Hristo Hristov <hghristov.rmm at gmail.com>
  Date:   2025-12-12 (Fri, 12 Dec 2025)

  Changed paths:
    M libcxx/include/__filesystem/copy_options.h
    M libcxx/include/__filesystem/directory_entry.h
    M libcxx/include/__filesystem/directory_iterator.h
    M libcxx/include/__filesystem/directory_options.h
    M libcxx/include/__filesystem/file_status.h
    M libcxx/include/__filesystem/filesystem_error.h
    M libcxx/include/__filesystem/operations.h
    M libcxx/include/__filesystem/path.h
    M libcxx/include/__filesystem/path_iterator.h
    M libcxx/include/__filesystem/perm_options.h
    M libcxx/include/__filesystem/perms.h
    M libcxx/include/__filesystem/recursive_directory_iterator.h
    M libcxx/include/__filesystem/u8path.h
    M libcxx/test/libcxx/diagnostics/filesystem.nodiscard.verify.cpp
    M libcxx/test/std/input.output/filesystems/fs.op.funcs/fs.op.status/status.pass.cpp

  Log Message:
  -----------
  [libc++][filesystem] Applied `[[nodiscard]]` (#171085)

`[[nodiscard]]` should be applied to functions where discarding the
return value is most likely a correctness issue.

- https://libcxx.llvm.org/CodingGuidelines.html


  Commit: 3383004a958d51890443ec48e87f0f8e5a76d139
      https://github.com/llvm/llvm-project/commit/3383004a958d51890443ec48e87f0f8e5a76d139
  Author: mitchell <mitchell.xu2 at gmail.com>
  Date:   2025-12-12 (Fri, 12 Dec 2025)

  Changed paths:
    M clang-tools-extra/clang-tidy/ClangTidyOptions.cpp
    M clang-tools-extra/docs/ReleaseNotes.rst
    M clang-tools-extra/unittests/clang-tidy/ClangTidyOptionsTest.cpp

  Log Message:
  -----------
  [clang-tidy] Support comments in WarningsAsErrors (#171816)

Closes #171792

---------

Co-authored-by: Victor Chernyakin <chernyakin.victor.j at outlook.com>


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

  Changed paths:
    M llvm/lib/CodeGen/ExpandFp.cpp
    M llvm/test/Transforms/ExpandLargeFpConvert/X86/expand-large-fp-convert-si129tofp.ll
    M llvm/test/Transforms/ExpandLargeFpConvert/X86/expand-large-fp-convert-ui129tofp.ll

  Log Message:
  -----------
  [ExpandFp] Fix incorrect ConstantInt construction (#171861)

Explicitly cast the value to (int) before negating, so it gets properly
sign extended. Otherwise we end up with a large unsigned value instead
of a negative value for large bit widths.

This was found while working on
https://github.com/llvm/llvm-project/pull/171456.


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

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

  Log Message:
  -----------
  [SandboxIR] Fix ConstantInt::get() for vector types (#171852)

As the comment on the method indicates, this method is supposed to
produce a splat for vector types. However, currently it has a
ConstantInt return type that is incompatible with that. There is a
separate overload on IntegerType -- only that one should return
ConstantInt.

This also requires adjusting Type::getIntNTy() to return IntegerType
(matching the normal Type API), so it uses the right overload.


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

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

  Log Message:
  -----------
  [InstSimplify] Remove redundant icmp+ptrtoint fold (#171807)

There is a generic fold for recursively calling simplifyICmpInst with
the ptrtoint cast stripped:

https://github.com/llvm/llvm-project/blob/9b6b52b534ba592d7d6b5863e3d9a240119a74d9/llvm/lib/Analysis/InstructionSimplify.cpp#L3850-L3867

As such, we shouldn't have to explicitly do this for the
computePointerICmp() fold.

This is not strictly NFC because the recursion limit applies to the
generic fold, though I wouldn't expect this to matter in practice.


  Commit: 4fc5b6d8c4d8a27e8b6c32a112d865de4935d401
      https://github.com/llvm/llvm-project/commit/4fc5b6d8c4d8a27e8b6c32a112d865de4935d401
  Author: Nikolas Klauser <nikolasklauser at berlin.de>
  Date:   2025-12-12 (Fri, 12 Dec 2025)

  Changed paths:
    M libcxx/docs/ReleaseNotes/22.rst
    M libcxx/include/__algorithm/for_each.h
    M libcxx/include/__algorithm/ranges_for_each.h
    M libcxx/include/__algorithm/specialized_algorithms.h
    M libcxx/include/__tree
    M libcxx/include/map
    M libcxx/include/set
    M libcxx/test/benchmarks/algorithms/nonmodifying/for_each.bench.cpp
    A libcxx/test/std/algorithms/alg.nonmodifying/alg.foreach/for_each.associative.pass.cpp
    M libcxx/test/std/algorithms/alg.nonmodifying/alg.foreach/for_each.pass.cpp
    A libcxx/test/std/algorithms/alg.nonmodifying/alg.foreach/ranges.for_each.associative.pass copy.cpp

  Log Message:
  -----------
  [libc++] Optimize {std,ranges}::for_each for iterating over __trees (#164405)

This patch optimizes how `for_each` iterates over trees by using
recursion and storing pointers to the next nodes on the stack. This
avoids pointer chasing through the `__parent_` pointer, reducing cache
misses. It also makes use of the compiler being able tail-call optimize
the recursive function, removing back-tracking the iterators have to do.

```
Benchmark                                                      old             new    Difference    % Difference
--------------------------------------------------  --------------  --------------  ------------  --------------
rng::for_each(map<int>)/32                                   35.19           26.67         -8.52         -24.21%
rng::for_each(map<int>)/50                                   64.13           40.68        -23.45         -36.57%
rng::for_each(map<int>)/8                                     5.06            6.49          1.43          28.21%
rng::for_each(map<int>)/8192                              22893.89         9266.68     -13627.21         -59.52%
rng::for_each(map<int>::iterator)/32                         35.51           26.88         -8.63         -24.31%
rng::for_each(map<int>::iterator)/50                         64.39           41.24        -23.15         -35.95%
rng::for_each(map<int>::iterator)/8                           5.12            5.93          0.81          15.80%
rng::for_each(map<int>::iterator)/8192                    21283.14         9736.83     -11546.31         -54.25%
rng::for_each(multimap<int>)/32                              35.22           26.61         -8.61         -24.45%
rng::for_each(multimap<int>)/50                              64.10           40.07        -24.03         -37.49%
rng::for_each(multimap<int>)/8                                5.08            6.69          1.61          31.70%
rng::for_each(multimap<int>)/8192                         23130.44         9026.16     -14104.28         -60.98%
rng::for_each(multimap<int>::iterator)/32                    35.40           25.08        -10.32         -29.15%
rng::for_each(multimap<int>::iterator)/50                    64.19           38.15        -26.04         -40.56%
rng::for_each(multimap<int>::iterator)/8                      5.04            5.25          0.22           4.31%
rng::for_each(multimap<int>::iterator)/8192               22875.97         9392.08     -13483.89         -58.94%
rng::for_each(multiset<int>)/32                              35.82           27.11         -8.72         -24.33%
rng::for_each(multiset<int>)/50                              62.92           41.59        -21.32         -33.89%
rng::for_each(multiset<int>)/8                                4.79            6.79          2.00          41.70%
rng::for_each(multiset<int>)/8192                         22642.68         9280.95     -13361.73         -59.01%
rng::for_each(multiset<int>::iterator)/32                    35.76           26.71         -9.04         -25.28%
rng::for_each(multiset<int>::iterator)/50                    63.44           39.00        -24.44         -38.53%
rng::for_each(multiset<int>::iterator)/8                      4.90            5.21          0.30           6.18%
rng::for_each(multiset<int>::iterator)/8192               19930.45         9867.60     -10062.85         -50.49%
rng::for_each(set<int>)/32                                   35.90           27.30         -8.60         -23.96%
rng::for_each(set<int>)/50                                   63.15           40.75        -22.40         -35.47%
rng::for_each(set<int>)/8                                     4.77            6.83          2.06          43.23%
rng::for_each(set<int>)/8192                              20262.77         9381.57     -10881.20         -53.70%
rng::for_each(set<int>::iterator)/32                         36.02           26.42         -9.60         -26.64%
rng::for_each(set<int>::iterator)/50                         63.29           37.97        -25.32         -40.01%
rng::for_each(set<int>::iterator)/8                           4.72            5.22          0.50          10.50%
rng::for_each(set<int>::iterator)/8192                    20041.91         9831.91     -10210.00         -50.94%
```


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

  Changed paths:
    M libcxx/docs/ReleaseNotes/22.rst
    M libcxx/include/__cxx03/bitset
    M libcxx/include/bitset
    A libcxx/test/libcxx/utilities/template.bitset/index_const.pass.cpp
    M libcxx/test/std/utilities/template.bitset/bitset.members/index_const.pass.cpp

  Log Message:
  -----------
  [libc++] Always return bool from bitset::operator[](size_t) const (#169894)

This takes an ABI break unconditionally, since it's small enough that
nobody should be affected. This both simplifies `bitset` a bit and makes
us more conforming.


  Commit: 64dfc26237d9acd4ab4a01daa85f613f61c67498
      https://github.com/llvm/llvm-project/commit/64dfc26237d9acd4ab4a01daa85f613f61c67498
  Author: yingopq <115543042+yingopq at users.noreply.github.com>
  Date:   2025-12-12 (Fri, 12 Dec 2025)

  Changed paths:
    M llvm/lib/Target/Mips/MipsISelLowering.cpp
    M llvm/lib/Target/Mips/MipsISelLowering.h
    M llvm/test/CodeGen/Mips/named-register-n32.ll
    M llvm/test/CodeGen/Mips/named-register-n64.ll
    M llvm/test/CodeGen/Mips/named-register-o32.ll

  Log Message:
  -----------
  [Mips] Support "$sp" named register (#171793)

Because previous pr:
https://github.com/llvm/llvm-project/pull/136821 has test failures on
builder llvm-clang-x86_64-expensive-checks-ubuntu when enable
`-verify-machineinstrs`. So revert that pr.

This new pr change:
1. add `-verify-machineinstrs` in RUN command.
2. wirte register before reading to avoid error `Bad machine code: Using
an undefined physical register`.

Fix #47656.


  Commit: 5bc7b9d462f0bb0e731f55eaae24d382bd812a15
      https://github.com/llvm/llvm-project/commit/5bc7b9d462f0bb0e731f55eaae24d382bd812a15
  Author: Michael Buch <michaelbuch12 at gmail.com>
  Date:   2025-12-12 (Fri, 12 Dec 2025)

  Changed paths:
    M llvm/lib/DebugInfo/DWARF/DWARFDie.cpp
    M llvm/test/DebugInfo/Generic/import-inlined-declaration.ll
    M llvm/test/DebugInfo/Generic/namespace.ll
    M llvm/test/DebugInfo/Generic/split-dwarf-local-import3.ll
    M llvm/test/DebugInfo/X86/dimodule-external-fortran.ll
    M llvm/test/DebugInfo/X86/dwarfdump-DIImportedEntity_elements.ll
    M llvm/test/tools/dsymutil/X86/modules-empty.m
    A llvm/test/tools/llvm-dwarfdump/AArch64/DW_AT_import.yaml

  Log Message:
  -----------
  [llvm][dwarfdump] Print the name (if available) of entities referenced by DW_AT_import (#171859)

Instead of this:
```
0x00018cff:   DW_TAG_imported_declaration
                DW_AT_decl_line (12)
                DW_AT_import    (0x0000000000018cfb)
```
print:
```
0x00018cff:   DW_TAG_imported_declaration
                DW_AT_decl_line (12)
                DW_AT_import    (0x0000000000018cfb "platform")
```

Where `0x0000000000018cfb` in this example could be a `DW_TAG_module`
with `DW_AT_name ("platform")`


  Commit: 3e2a8e2effd19cc6271dd64578868696625bbe79
      https://github.com/llvm/llvm-project/commit/3e2a8e2effd19cc6271dd64578868696625bbe79
  Author: Hristo Hristov <hghristov.rmm at gmail.com>
  Date:   2025-12-12 (Fri, 12 Dec 2025)

  Changed paths:
    M libcxx/include/set
    A libcxx/test/libcxx/diagnostics/multiset.nodiscard.verify.cpp

  Log Message:
  -----------
  [libc++][multiset] Applied `[[nodiscard]]` (#171654)

`[[nodiscard]]` should be applied to functions where discarding the
return value is most likely a correctness issue.

- https://libcxx.llvm.org/CodingGuidelines.htm
- https://wg21.link/multiset


  Commit: b492b3523c4c695d33876ff4a12aff5084c3f4bd
      https://github.com/llvm/llvm-project/commit/b492b3523c4c695d33876ff4a12aff5084c3f4bd
  Author: Sjoerd Meijer <smeijer at nvidia.com>
  Date:   2025-12-12 (Fri, 12 Dec 2025)

  Changed paths:
    A llvm/test/Transforms/LoopInterchange/large-nested-4d.ll
    A llvm/test/Transforms/LoopInterchange/large-nested-6d.ll

  Log Message:
  -----------
  [LoopInterchange] Motivating example for interchange. NFC. (#171631)

This is precommitting a full reproducer of one of our motivating
examples. Looking at a full reproducer is helpful for further discussion
on DependenceAnalysis and Delinearization issues and the runtime
predicates discussion. I appreciate that this is a larger than usual
test case, but that is by design, because I think it is useful to look
at the whole thing with all of its complexities.

I have given useful names to all the relevant loop variables, and the
relevant blocks in these loops and their functions, but have
intentionally not done that for others as there are quite a few more.


  Commit: 025d0c0d1daa2e0335e5d31016eb04e68c3ac961
      https://github.com/llvm/llvm-project/commit/025d0c0d1daa2e0335e5d31016eb04e68c3ac961
  Author: Pierre van Houtryve <pierre.vanhoutryve at amd.com>
  Date:   2025-12-12 (Fri, 12 Dec 2025)

  Changed paths:
    M llvm/lib/Target/AMDGPU/SIInsertWaitcnts.cpp
    A llvm/test/CodeGen/AMDGPU/insert-waitcnts-merge.ll
    M llvm/test/CodeGen/AMDGPU/lds-dma-waits.ll

  Log Message:
  -----------
  (reland) [AMDGPU][SIInsertWaitCnts] Use RegUnits-based tracking (#162077) (#171779)

Fixed a crash in Blender due to some weird control flow.
The issue was with the "merge" function which was only looking at the
keys of the "Other" VMem/SGPR maps. It needs to look at the keys of both
maps and merge them.

Original commit message below
----

The pass was already "reinventing" the concept just to deal with 16 bit
registers. Clean up the entire tracking logic to only use register
units.

There are no test changes because functionality didn't change, except:
- We can now track more LDS DMA IDs if we need it (up to `1 << 16`)
- The debug prints also changed a bit because we now talk in terms of
register units.

This also changes the tracking to use a DenseMap instead of a massive
fixed size table. This trades a bit of access speed for a smaller memory
footprint. Allocating and memsetting a huge table to zero caused a
non-negligible performance impact (I've observed up to 50% of the time
in the pass spent in the `memcpy` built-in on a big test file).

I also think we don't access these often enough to really justify using
a vector. We do a few accesses per instruction, but not much more. In a
huge 120MB LL file, I can barely see the trace of the DenseMap accesses.


  Commit: fbde1dcfb3bcb9d0c7beb98aee274b3c1ba1383a
      https://github.com/llvm/llvm-project/commit/fbde1dcfb3bcb9d0c7beb98aee274b3c1ba1383a
  Author: jeanPerier <jperier at nvidia.com>
  Date:   2025-12-12 (Fri, 12 Dec 2025)

  Changed paths:
    M flang/include/flang/Lower/DirectivesCommon.h
    M flang/lib/Lower/OpenACC.cpp
    M flang/test/Lower/OpenACC/acc-bounds.f90
    M flang/test/Lower/OpenACC/acc-enter-data.f90

  Log Message:
  -----------
  [flang][OpenACC] do not load pointer and allocatables component in data clauses (#171445)

`gatherDataOperandAddrAndBounds` did not handle pointers and allocatable
pointer components (`obj%p`) in the same way as pointer and allocatable
whole objects (`p`).

The difference is that whole object are kept as a descriptor address
(`fir.ref<fir.box>`) in the acc data operation while components were
dereferenced (`fir.box<>`).

I do not think this was intentional, and is mainly a side effect of the
`genExprAddr` for components that generate a dereference for
pointer/allocatables.

In the work that I am doing on remapping components, this is an issue
because the data operation must return a fir.ref<fir.box> so that I can
remap any appearance to the component to it (which could be in a pointer
association statement for instance, requiring access to a descriptor
address as opposed to a value).


  Commit: 19e1011df51e3f88a02f5522073aa788e479a68b
      https://github.com/llvm/llvm-project/commit/19e1011df51e3f88a02f5522073aa788e479a68b
  Author: Sam Tebbs <samuel.tebbs at arm.com>
  Date:   2025-12-12 (Fri, 12 Dec 2025)

  Changed paths:
    M llvm/include/llvm/CodeGen/ISDOpcodes.h
    M llvm/include/llvm/Target/TargetSelectionDAG.td
    M llvm/lib/CodeGen/SelectionDAG/LegalizeVectorOps.cpp
    M llvm/lib/CodeGen/SelectionDAG/LegalizeVectorTypes.cpp
    M llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp
    M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
    M llvm/lib/Target/AArch64/SVEInstrFormats.td
    M llvm/test/CodeGen/AArch64/alias_mask.ll
    M llvm/test/CodeGen/AArch64/alias_mask_nosve.ll
    M llvm/test/CodeGen/AArch64/alias_mask_scalable.ll
    M llvm/test/CodeGen/AArch64/alias_mask_scalable_nosve2.ll
    R llvm/test/CodeGen/AArch64/loop-dependence-mask-ccmp.ll

  Log Message:
  -----------
  [SelectionDAG] Fix unsafe cases for loop.dependence.{war/raw}.mask (#168565)

Both `LOOP_DEPENDENCE_WAR_MASK` and `LOOP_DEPENDENCE_RAW_MASK` are
currently hard to split correctly, and there are a number of incorrect
cases.

The difficulty comes from how the intrinsics are defined. For example,
take `LOOP_DEPENDENCE_WAR_MASK`.

It is defined as the OR of:

* `(ptrB - ptrA) <= 0`
* `elementSize * lane < (ptrB - ptrA)`

Now, if we want to split a loop dependence mask for the high half of the
mask we want to compute:

* `(ptrB - ptrA) <= 0`
* `elementSize * (lane + LoVT.getElementCount()) < (ptrB - ptrA)`

However, with the current opcode definitions, we can only modify ptrA or
ptrB, which may change the result of the first case, which should be
invariant to the lane.

This patch resolves these cases by adding a "lane offset" to the ISD
opcodes. The lane offset is always a constant. For scalable masks, it is
implicitly multiplied by vscale.

This makes splitting trivial as we increment the lane offset by
`LoVT.getElementCount()` now.

Note: In the AArch64 backend, we only support zero lane offsets (as
other cases are tricky to lower to whilewr/rw).

---------

Co-authored-by: Benjamin Maxwell <benjamin.maxwell at arm.com>


  Commit: a318c501107102b0dc737b574478bb8b7c9bfd50
      https://github.com/llvm/llvm-project/commit/a318c501107102b0dc737b574478bb8b7c9bfd50
  Author: ShivaChen <32083954+ShivaChen at users.noreply.github.com>
  Date:   2025-12-12 (Fri, 12 Dec 2025)

  Changed paths:
    M mlir/lib/Conversion/TosaToLinalg/TosaToLinalg.cpp
    M mlir/test/Conversion/TosaToLinalg/tosa-to-linalg.mlir

  Log Message:
  -----------
  [mlir][tosa] Remove NegateOp to SubOp and 48-bit promotion in TosaToLinalg (#170622)

The patch motivated by Tosa Conformance test negate_32x45x49_i16_full failure.

TosaToLinalg pass has an optimization to transfer Tosa Negate to Sub if the zero points are zeros. However, when the input value is minimum negative number, the transformation will cause the underflow. By removing the transformation, if zp = 0 it would do the promotion to avoid the underflow.

Promotion types could be from int32 to int48. TOSA negate specification does not mention support for int48. Should we consider removing the promotion to int48 to stay aligned with the TOSA spec?


  Commit: d714a6c21062c6b85beeed1ce09c8761c4f58b71
      https://github.com/llvm/llvm-project/commit/d714a6c21062c6b85beeed1ce09c8761c4f58b71
  Author: Mariya Podchishchaeva <mariya.podchishchaeva at intel.com>
  Date:   2025-12-12 (Fri, 12 Dec 2025)

  Changed paths:
    M clang/docs/ReleaseNotes.rst
    M clang/include/clang/AST/ASTContext.h
    M clang/include/clang/AST/ASTMutationListener.h
    M clang/include/clang/AST/DeclCXX.h
    M clang/include/clang/AST/VTableBuilder.h
    M clang/include/clang/Basic/ABI.h
    M clang/include/clang/Basic/TargetInfo.h
    M clang/include/clang/Sema/Sema.h
    M clang/include/clang/Serialization/ASTWriter.h
    M clang/lib/AST/ASTContext.cpp
    M clang/lib/AST/DeclCXX.cpp
    M clang/lib/AST/Expr.cpp
    M clang/lib/AST/ItaniumMangle.cpp
    M clang/lib/AST/MicrosoftMangle.cpp
    M clang/lib/AST/VTableBuilder.cpp
    M clang/lib/Basic/TargetInfo.cpp
    M clang/lib/CIR/CodeGen/CIRGenExprCXX.cpp
    M clang/lib/CIR/CodeGen/CIRGenFunction.cpp
    M clang/lib/CIR/CodeGen/CIRGenVTables.cpp
    M clang/lib/CodeGen/CGCXX.cpp
    M clang/lib/CodeGen/CGCXXABI.cpp
    M clang/lib/CodeGen/CGCXXABI.h
    M clang/lib/CodeGen/CGClass.cpp
    M clang/lib/CodeGen/CGDebugInfo.cpp
    M clang/lib/CodeGen/CGExprCXX.cpp
    M clang/lib/CodeGen/CGVTables.cpp
    M clang/lib/CodeGen/CodeGenModule.h
    M clang/lib/CodeGen/ItaniumCXXABI.cpp
    M clang/lib/CodeGen/MicrosoftCXXABI.cpp
    M clang/lib/Sema/SemaDeclCXX.cpp
    M clang/lib/Sema/SemaExprCXX.cpp
    M clang/lib/Serialization/ASTCommon.h
    M clang/lib/Serialization/ASTReaderDecl.cpp
    M clang/lib/Serialization/ASTWriter.cpp
    M clang/lib/Serialization/ASTWriterDecl.cpp
    M clang/test/CodeGenCXX/dllexport.cpp
    M clang/test/CodeGenCXX/microsoft-abi-extern-template.cpp
    M clang/test/CodeGenCXX/microsoft-abi-structors.cpp
    M clang/test/CodeGenCXX/microsoft-abi-thunks.cpp
    M clang/test/CodeGenCXX/microsoft-abi-vftables.cpp
    M clang/test/CodeGenCXX/microsoft-abi-virtual-inheritance.cpp
    M clang/test/CodeGenCXX/microsoft-abi-vtables-multiple-nonvirtual-inheritance-vdtors.cpp
    M clang/test/CodeGenCXX/microsoft-abi-vtables-return-thunks.cpp
    M clang/test/CodeGenCXX/microsoft-abi-vtables-single-inheritance.cpp
    M clang/test/CodeGenCXX/microsoft-abi-vtables-virtual-inheritance-vtordisps.cpp
    M clang/test/CodeGenCXX/microsoft-abi-vtables-virtual-inheritance.cpp
    M clang/test/CodeGenCXX/microsoft-no-rtti-data.cpp
    A clang/test/CodeGenCXX/microsoft-vector-deleting-dtors.cpp
    A clang/test/CodeGenCXX/microsoft-vector-deleting-dtors2.cpp
    M clang/test/CodeGenCXX/vtable-consteval.cpp
    M clang/test/DebugInfo/CXX/ms-dtor-thunks.cpp
    M clang/test/DebugInfo/CXX/windows-dtor.cpp
    A clang/test/Modules/Inputs/msvc-vector-deleting-dtors/module.modulemap
    A clang/test/Modules/Inputs/msvc-vector-deleting-dtors/msvc-vector-deleting-dtors.h
    A clang/test/Modules/msvc-vector-deleting-destructors.cpp
    M clang/test/Modules/vtable-windows.cppm
    A clang/test/PCH/Inputs/msvc-vector-deleting-dtors.h
    A clang/test/PCH/msvc-vector-deleting-destructors.cpp
    M clang/test/Profile/cxx-abc-deleting-dtor.cpp
    A clang/test/SemaCXX/gh134265.cpp
    M lldb/source/Plugins/SymbolFile/DWARF/SymbolFileDWARF.cpp

  Log Message:
  -----------
  Reland [MS][clang] Add support for vector deleting destructors (#170337)

This reverts commit
https://github.com/llvm/llvm-project/commit/54a4da9df6906b63878ad6d0ea6da3ed7d2d8432.

MSVC supports an extension allowing to delete an array of objects via
pointer whose static type doesn't match its dynamic type. This is done
via generation of special destructors - vector deleting destructors.
MSVC's virtual tables always contain a pointer to the vector deleting
destructor for classes with virtual destructors, so not having this
extension implemented causes clang to generate code that is not
compatible with the code generated by MSVC, because clang always puts a
pointer to a scalar deleting destructor to the vtable. As a bonus the
deletion of an array of polymorphic object will work just like it does
with MSVC - no memory leaks and correct destructors are called.

This patch will cause clang to emit code that is compatible with code
produced by MSVC but not compatible with code produced with clang of
older versions, so the new behavior can be disabled via passing
-fclang-abi-compat=21 (or lower).

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


  Commit: 51bd0edb566e3b8efa99c39745b4e512bba010a7
      https://github.com/llvm/llvm-project/commit/51bd0edb566e3b8efa99c39745b4e512bba010a7
  Author: Hristo Hristov <hghristov.rmm at gmail.com>
  Date:   2025-12-12 (Fri, 12 Dec 2025)

  Changed paths:
    M libcxx/include/valarray
    A libcxx/test/libcxx/numerics/numarray/nodiscard.verify.cpp

  Log Message:
  -----------
  [libc++][valarray] Applied `[[nodiscard]]` (#170996)

`[[nodiscard]]` should be applied to functions where discarding the
return value is most likely a correctness issue.

- https://libcxx.llvm.org/CodingGuidelines.html


  Commit: 71c3acb18b9e9d11badd5a11945cb1afc2fb540f
      https://github.com/llvm/llvm-project/commit/71c3acb18b9e9d11badd5a11945cb1afc2fb540f
  Author: Sam Tebbs <samuel.tebbs at arm.com>
  Date:   2025-12-12 (Fri, 12 Dec 2025)

  Changed paths:
    M llvm/include/llvm/CodeGen/BasicTTIImpl.h
    M llvm/lib/Target/AArch64/AArch64TargetTransformInfo.cpp
    A llvm/test/Analysis/CostModel/AArch64/loop_dependence_mask.ll

  Log Message:
  -----------
  [Analysis][AArch64] Add cost model for loop.dependence.{war/raw}.mask (#167551)

This PR adds the cost model for the loop dependence mask intrinsics,
both for cases where they must be expanded and when they can be lowered
for AArch64.

---------

Co-authored-by: Benjamin Maxwell <benjamin.maxwell at arm.com>


  Commit: f0d7d833f53b5b22ada5ba8db325f6c0f7bd7b87
      https://github.com/llvm/llvm-project/commit/f0d7d833f53b5b22ada5ba8db325f6c0f7bd7b87
  Author: Sergei Druzhkov <serzhdruzhok at gmail.com>
  Date:   2025-12-12 (Fri, 12 Dec 2025)

  Changed paths:
    M lldb/test/API/tools/lldb-dap/disassemble/TestDAP_disassemble.py
    M lldb/tools/lldb-dap/Handler/DisassembleRequestHandler.cpp
    M lldb/tools/lldb-dap/JSONUtils.cpp
    M lldb/tools/lldb-dap/JSONUtils.h
    M lldb/tools/lldb-dap/Protocol/ProtocolRequests.cpp

  Log Message:
  -----------
  [lldb-dap] Allow empty memory reference in disassemble arguments (#162517)

This patch implements a workaround for a VSCode bug that causes it to
send disassemble requests with empty memory reference. You can find more
detailed description
[here](https://github.com/microsoft/vscode/pull/270361). I propose to
allow empty memory reference and return invalid instructions when this
occurs.

Error log example:
```
1759923554.517830610 (stdio) --> {"command":"disassemble","arguments":{"memoryReference":"","offset":0,"instructionOffset":-50,"instructionCount":50,"resolveSymbols":true},"type":"request","seq":3}
1759923554.518007517 (stdio) queued (command=disassemble seq=3)
1759923554.518254757 (stdio) <-- {"body":{"error":{"format":"invalid arguments for request 'disassemble': malformed memory reference at arguments.memoryReference\n{\n  \"instructionCount\": 50,\n  \"instructionOffset\": -50,\n  \"memoryReference\": /* error: malformed memory reference */ \"\",\n  \"offset\": 0,\n  \"resolveSymbols\": true\n}","id":3,"showUser":true}},"command":"disassemble","request_seq":3,"seq":0,"success":false,"type":"response"}
```

I am not sure that we should add workaround here when bug on VSCode
side, but I think this bug affects our users. WDYT?


  Commit: 2aa345054fa2975bd9d2e1ca03195e40c95058d7
      https://github.com/llvm/llvm-project/commit/2aa345054fa2975bd9d2e1ca03195e40c95058d7
  Author: jeanPerier <jperier at nvidia.com>
  Date:   2025-12-12 (Fri, 12 Dec 2025)

  Changed paths:
    M flang/include/flang/Lower/AbstractConverter.h
    M flang/include/flang/Lower/Support/Utils.h
    M flang/include/flang/Lower/SymbolMap.h
    M flang/lib/Lower/ConvertExprToHLFIR.cpp
    M flang/lib/Lower/OpenACC.cpp
    M flang/lib/Lower/Support/Utils.cpp
    M flang/lib/Lower/SymbolMap.cpp
    M flang/test/Lower/OpenACC/acc-host-data.f90
    A flang/test/Lower/OpenACC/acc-use-device-remapping.f90
    M flang/test/Lower/OpenACC/acc-use-device.f90
    M flang/test/Transforms/OpenACC/acc-implicit-data-derived-type-member.F90

  Log Message:
  -----------
  [flang][OpenACC] remap component references in structured constructs (#171501)

OpenACC data clauses of structured constructs may contain component
references (`obj%comp`, or `obj%array(i:j:k)`, ...).

This changes allows using the ACC dialect data operation result for such
clauses every time the component is referred to inside the scope of the
construct.

The bulk of the change is to add the ability to map
`evaluate::Component` to mlir values in the symbol map used in lowering.
This is done by adding the `ComponentMap` helper class to the lowering
symbol map, and using it to override `evaluate::Component` reference
lowering in expression lowering (ConvertExprToHLFIR.cpp).

Some changes are made in Lower/Support/Utils.h in order to set-up/expose
the hashing/equality helpers needed to use `evaluate::Component` in
llvm::DenseMap.

In OpenACC.cpp, `genPrivatizationRecipes` and `genDataOperandOperations`
are merged to unify the processing of Designator in data clauses.

New code is added to unwrap the rightmost `evaluate::Component`, if any,
and remap it.

Note that when the right most part is an array reference on a component
(`obj%array(i:j:k)`), the whole component `obj%array(` is remapped, and
the array reference is dealt with a bound operand like for whole object
array.

After this patch, all designators in data clauses on structured
constructs will be remapped, except for array reference in private/first
private/reduction (the result type of the related operation needs to be
changed and the recipe adapted to "offset back"), component reference in
reduction (this patch is adding a TODO for it), and device_ptr
(previously bypassed remapping because of issues with descriptors,
should be OK to lift it in a further patch).

Note that this patch assumes that it is illegal to have code with
intermediate variable indexing in the component reference (e.g.
`array(i)%comp`) where the value of the index would be changed inside
the region (e.g., `i` is assigned a new value), or where the component
would be used with different indices meant to have the same value as the
one used in the clause (e.g. `array(i)%comp` where `j` is meant to be
the same as `i`). I will try to add a warning in semantics for such
questionable/risky usages.


  Commit: 917e458b964418b17d969e3fa914846df4578004
      https://github.com/llvm/llvm-project/commit/917e458b964418b17d969e3fa914846df4578004
  Author: lonely eagle <2020382038 at qq.com>
  Date:   2025-12-12 (Fri, 12 Dec 2025)

  Changed paths:
    M mlir/lib/Conversion/LinalgToStandard/LinalgToStandard.cpp

  Log Message:
  -----------
  [mlir] Cleanup the addLegalOp of convert-linalg-to-std pass (NFC) (#171979)


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

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

  Log Message:
  -----------
  [SafeStack] Use getSigned() for negative value


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

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

  Log Message:
  -----------
  [WPD] Use getSigned() for offset

This offset is a signed int64_t which can take negative values.


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

  Changed paths:
    M llvm/lib/Target/AMDGPU/AMDGPUInstCombineIntrinsic.cpp

  Log Message:
  -----------
  [AMGGPUInstCombine] Use getSigned() for frexp exponent

It may be negative.


  Commit: 04ce013d7c87c361b14878b0038d41d37290151f
      https://github.com/llvm/llvm-project/commit/04ce013d7c87c361b14878b0038d41d37290151f
  Author: Michael Buch <michaelbuch12 at gmail.com>
  Date:   2025-12-12 (Fri, 12 Dec 2025)

  Changed paths:
    M llvm/docs/CommandGuide/lit.rst
    M llvm/utils/lit/lit/TestTimes.py
    M llvm/utils/lit/lit/cl_arguments.py
    M llvm/utils/lit/lit/main.py
    A llvm/utils/lit/tests/Inputs/filter-failed/fail.txt
    A llvm/utils/lit/tests/Inputs/filter-failed/lit.cfg
    A llvm/utils/lit/tests/Inputs/filter-failed/pass.txt
    A llvm/utils/lit/tests/Inputs/filter-failed/unresolved.txt
    A llvm/utils/lit/tests/Inputs/filter-failed/xfail.txt
    A llvm/utils/lit/tests/Inputs/filter-failed/xpass.txt
    A llvm/utils/lit/tests/filter-failed-delete.py
    A llvm/utils/lit/tests/filter-failed-rerun.py
    A llvm/utils/lit/tests/filter-failed.py

  Log Message:
  -----------
  Reapply "[llvm][lit] Add option to run only the failed tests" (#171588)

This reverts commit 3847648e84d2ff5194f605a8a9a5c0a5e5174939.

Relands https://github.com/llvm/llvm-project/pull/158043 which got
auto-merged on a revision which wasn't approved.

The only addition to the approved version was that we adjust how we set
the time for failed tests. We used to just assign it the negative value
of the elapsed time. But if the test failed with `0` seconds (which some
of the new tests do), we would mark it `-0`. But the check for whether
something failed checks for `time < 0`. That messed with the new
`--filter-failed` option of this PR. This was only an issue on Windows
CI, but presumably can happen on any platform. Happy to do this in a
separate PR.

---- Original PR

This patch adds a new --filter-failed option to llvm-lit, which when
set, will only run the tests that have previously failed.


  Commit: 9c5744cbc8fb971778c5595bef45d3eb911863c9
      https://github.com/llvm/llvm-project/commit/9c5744cbc8fb971778c5595bef45d3eb911863c9
  Author: jeanPerier <jperier at nvidia.com>
  Date:   2025-12-12 (Fri, 12 Dec 2025)

  Changed paths:
    M flang/include/flang/Lower/ConvertVariable.h

  Log Message:
  -----------
  [flang] add missing headers in ConvertVariable.h after #171501 (#171983)

Missing headers were caught by windows build bots:
-
https://lab.llvm.org/buildbot/#/builders/222/builds/817/steps/6/logs/stdio
-
https://lab.llvm.org/buildbot/#/builders/207/builds/10970/steps/5/logs/stdio

In #171501, I removed IterationSpace.h include from Utils.h, and
IterationSpace.h was itself including SymbolMap.h and FIRBuilder.h that
are required here.


  Commit: b123b7059f5a392441e47b4cfe51293e47718d50
      https://github.com/llvm/llvm-project/commit/b123b7059f5a392441e47b4cfe51293e47718d50
  Author: Wenju He <wenju.he at intel.com>
  Date:   2025-12-12 (Fri, 12 Dec 2025)

  Changed paths:
    M clang/lib/Headers/opencl-c.h

  Log Message:
  -----------
  [NFC] Fix build error: multi-line comment in opencl-c.h (#171953)

Fix build error after enabling cl_ext_float_atomics in downstream target:
opencl-c.h:13798:80: error: multi-line // comment [-Werror,-Wcomment]
13798 | #endif // defined(__opencl_c_ext_fp16_global_atomic_min_max) && \

Patch By: Jinsong Ji <jinsong.ji at intel.com>


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

  Changed paths:
    M clang/docs/Modules.rst

  Log Message:
  -----------
  Fix a typo in the Modules.rst doc.


  Commit: e4733424bc9f8dd6df2f2f3e35e6c4477b8755d7
      https://github.com/llvm/llvm-project/commit/e4733424bc9f8dd6df2f2f3e35e6c4477b8755d7
  Author: Kunwar Grover <groverkss at gmail.com>
  Date:   2025-12-12 (Fri, 12 Dec 2025)

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

  Log Message:
  -----------
  [mlir][Vector] Improve vector.transferx store-to-load-forwarding (#171840)

This patch changes the transfer_write -> transfer_read load store
forwarding canonicalization pattern to work based on permutation maps
and less on adhoc logic. The old logic couldn't canonicalize a simple
unit dim broadcast through transfer_write/transfer_read which is added
as a test in this patch.

This patch also details what would be needed to support cases which are
not yet implemented better.


  Commit: c18d9eabd4d558601dba8cc4e3b89e8d32259fcf
      https://github.com/llvm/llvm-project/commit/c18d9eabd4d558601dba8cc4e3b89e8d32259fcf
  Author: Benjamin Maxwell <benjamin.maxwell at arm.com>
  Date:   2025-12-12 (Fri, 12 Dec 2025)

  Changed paths:
    M llvm/lib/Target/AArch64/AArch64InstrFormats.td
    M llvm/lib/Target/AArch64/AArch64InstrInfo.td
    M llvm/test/CodeGen/AArch64/aarch64-bf16-dotprod-intrinsics.ll

  Log Message:
  -----------
  [AArch64] Generalize bfdotq_lane patterns to work for f32/i32 duplanes  (#171146)

This also removes an overly specific pattern that is redundant with this
change.

Fixes #170883


  Commit: 80ec43d455a5e47ba005112cd2b2c447bb40c42c
      https://github.com/llvm/llvm-project/commit/80ec43d455a5e47ba005112cd2b2c447bb40c42c
  Author: Jasmine Tang <jjasmine at igalia.com>
  Date:   2025-12-12 (Fri, 12 Dec 2025)

  Changed paths:
    M clang/lib/CIR/CodeGen/CIRGenBuiltinX86.cpp
    A clang/test/CIR/CodeGen/X86/avx512-reduceIntrin.c
    A clang/test/CIR/CodeGen/X86/avx512-reduceMinMaxIntrin.c
    M clang/test/CIR/CodeGenBuiltins/X86/avx512fp16-builtins.c
    A clang/test/CIR/CodeGenBuiltins/X86/avx512vlfp16-builtins.c

  Log Message:
  -----------
  [CIR] Implement builtin reduce fadd/fmul/fmax/fmin (#171633)

New files are created to match the structure over at OGs


  Commit: ad62c049b6796d555737512f255214fe99e51abc
      https://github.com/llvm/llvm-project/commit/ad62c049b6796d555737512f255214fe99e51abc
  Author: jeanPerier <jperier at nvidia.com>
  Date:   2025-12-12 (Fri, 12 Dec 2025)

  Changed paths:
    M flang/include/flang/Lower/AbstractConverter.h

  Log Message:
  -----------
  [flang] add includes to AbstractConverter.h after #171501 (#171987)

Utils.h included StatementContext.h and FIRBuilder.h indirectly in AbstractConverter.h.
Makes these includes direct.


  Commit: 54744bc0a608729cd09ca9c2d03474aa2be727b8
      https://github.com/llvm/llvm-project/commit/54744bc0a608729cd09ca9c2d03474aa2be727b8
  Author: Paul Walker <paul.walker at arm.com>
  Date:   2025-12-12 (Fri, 12 Dec 2025)

  Changed paths:
    M clang/include/clang/Basic/arm_sve.td
    M clang/test/CodeGen/AArch64/sve2-intrinsics/acle_sve2_hsub.c
    M clang/test/CodeGen/AArch64/sve2-intrinsics/acle_sve2_hsubr.c
    M llvm/include/llvm/IR/IntrinsicsAArch64.td
    M llvm/lib/Target/AArch64/AArch64SVEInstrInfo.td
    M llvm/lib/Target/AArch64/AArch64SchedA320.td
    M llvm/lib/Target/AArch64/AArch64SchedA510.td
    M llvm/lib/Target/AArch64/AArch64SchedNeoverseN2.td
    M llvm/lib/Target/AArch64/AArch64SchedNeoverseN3.td
    M llvm/lib/Target/AArch64/AArch64SchedNeoverseV2.td
    M llvm/lib/Target/AArch64/AArch64SchedNeoverseV3.td
    M llvm/lib/Target/AArch64/AArch64SchedNeoverseV3AE.td
    M llvm/lib/Target/AArch64/AArch64TargetTransformInfo.cpp
    M llvm/test/CodeGen/AArch64/sve2-intrinsics-uniform-dsp-undef.ll
    M llvm/test/Transforms/InstCombine/AArch64/sve-intrinsic-comb-no-active-lanes.ll
    M llvm/test/Transforms/InstCombine/AArch64/sve-intrinsic-simplify-to-u-form.ll

  Log Message:
  -----------
  [LLVM][AArch64] Add "u" variants of sve.[s,u]hsub intrinsics (#170894)


  Commit: f9a3076180bfa1ebffd518971eefd30939a5ced6
      https://github.com/llvm/llvm-project/commit/f9a3076180bfa1ebffd518971eefd30939a5ced6
  Author: Victor Chernyakin <chernyakin.victor.j at outlook.com>
  Date:   2025-12-12 (Fri, 12 Dec 2025)

  Changed paths:
    M clang-tools-extra/clang-tidy/readability/RedundantTypenameCheck.cpp
    M clang-tools-extra/test/clang-tidy/checkers/readability/redundant-typename.cpp

  Log Message:
  -----------
  [clang-tidy] Fix some false negatives in `readability-redundant-typename` (#171947)

#169166 reported some false positives in this check. They stemmed from
the fact that it assumed `TypedefTypeLoc`s and `TagTypeLoc`s couldn't be
dependent. Turns out, this incorrect assumption leads to some false
*negatives* as well: https://godbolt.org/z/K6EvfrE6a. This PR fixes
those.


  Commit: 975bda005ea42a0aa9920169d2709ae50b0fd527
      https://github.com/llvm/llvm-project/commit/975bda005ea42a0aa9920169d2709ae50b0fd527
  Author: Matt Arsenault <Matthew.Arsenault at amd.com>
  Date:   2025-12-12 (Fri, 12 Dec 2025)

  Changed paths:
    M llvm/test/Transforms/InstCombine/ldexp.ll

  Log Message:
  -----------
  InstCombine: Add more ldexp by constant tests (#171976)


  Commit: 6e47d4ef45f13d323687535da3411b642a5d4ab1
      https://github.com/llvm/llvm-project/commit/6e47d4ef45f13d323687535da3411b642a5d4ab1
  Author: Matt Arsenault <Matthew.Arsenault at amd.com>
  Date:   2025-12-12 (Fri, 12 Dec 2025)

  Changed paths:
    M llvm/lib/Transforms/InstCombine/InstCombineCalls.cpp
    M llvm/test/Transforms/InstCombine/fold-select-fmul-if-zero.ll
    M llvm/test/Transforms/InstCombine/ldexp.ll

  Log Message:
  -----------
  Reapply "InstCombine: Fold ldexp with constant exponent to fmul" (#171895) (#171977)


  Commit: 81a75b1af98ce3fc73907951d6a24e69626ddd10
      https://github.com/llvm/llvm-project/commit/81a75b1af98ce3fc73907951d6a24e69626ddd10
  Author: Mikołaj Piróg <mikolaj.maciej.pirog at intel.com>
  Date:   2025-12-12 (Fri, 12 Dec 2025)

  Changed paths:
    M clang/test/CodeGen/X86/amx_tf32.c
    M clang/test/CodeGen/X86/amx_tf32_api.c
    M clang/test/CodeGen/X86/amx_tf32_errors.c
    M clang/test/CodeGen/X86/amx_tf32_inline_asm.c
    M llvm/include/llvm/IR/IntrinsicsX86.td
    M llvm/lib/Target/X86/X86LowerAMXType.cpp

  Log Message:
  -----------
  [X86] Remove rest of AMX-TRANSPOSE (#171906)

This is a followup to https://github.com/llvm/llvm-project/pull/165556

I've missed some parts of amx-transpose during initial removal


  Commit: 04b197599e73f55624d3514480a7f829343e5b61
      https://github.com/llvm/llvm-project/commit/04b197599e73f55624d3514480a7f829343e5b61
  Author: Ryutaro Okada <140468571+sakupan102 at users.noreply.github.com>
  Date:   2025-12-12 (Fri, 12 Dec 2025)

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

  Log Message:
  -----------
  [MLIR] [Vector] Fix canonicalization for vector.scatter with tensor output (#168824)

Commit
https://github.com/llvm/llvm-project/commit/7e7ea9c5357efcdf9ba6bd7ea3669e607a9af400
added tensor support for scatter, but running the existing
canonicalization on tensors causes bugs, so we fix the canonicalization
with tensor output.

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

---------

Signed-off-by: Ryutaro Okada <1015ryu88 at gmail.com>


  Commit: df7b90b9dbf01e652e931f43f3717e567306c749
      https://github.com/llvm/llvm-project/commit/df7b90b9dbf01e652e931f43f3717e567306c749
  Author: Victor Chernyakin <chernyakin.victor.j at outlook.com>
  Date:   2025-12-12 (Fri, 12 Dec 2025)

  Changed paths:
    M clang-tools-extra/clang-tidy/bugprone/BranchCloneCheck.cpp

  Log Message:
  -----------
  [clang-tidy][NFC] Refactor `bugprone-branch-clone` (#171849)


  Commit: 07eb9fa43f4f4503aac0d8ac79dadc3cae563230
      https://github.com/llvm/llvm-project/commit/07eb9fa43f4f4503aac0d8ac79dadc3cae563230
  Author: Kirill Vedernikov <kvedernikov at nvidia.com>
  Date:   2025-12-12 (Fri, 12 Dec 2025)

  Changed paths:
    M mlir/include/mlir/Dialect/LLVMIR/NVVMOps.td
    M mlir/lib/Dialect/LLVMIR/IR/NVVMDialect.cpp
    A mlir/test/Dialect/LLVMIR/nvvm-mma-blockscale.mlir
    A mlir/test/Dialect/LLVMIR/nvvm-mma-sparse-blockscale.mlir
    M mlir/test/Target/LLVMIR/nvvm/tcgen05-mma-block-scale-shared.mlir
    M mlir/test/Target/LLVMIR/nvvm/tcgen05-mma-block-scale-tensor.mlir
    M mlir/test/Target/LLVMIR/nvvm/tcgen05-mma-invalid.mlir
    M mlir/test/Target/LLVMIR/nvvm/tcgen05-mma-sp-block-scale-shared.mlir
    M mlir/test/Target/LLVMIR/nvvm/tcgen05-mma-sp-block-scale-tensor.mlir

  Log Message:
  -----------
  [MLIR][NVVM] Support for dense and sparse MMA with block scaling (#170566)

This change adds dense and sparse MMA with block scaling intrinsics to
MLIR -> NVVM IR -> NVPTX flow. NVVM and NVPTX implementation is based on
PTX ISA 9.0.


  Commit: 87b3bf5b6615e36722e480e9d29ed926d90de4ed
      https://github.com/llvm/llvm-project/commit/87b3bf5b6615e36722e480e9d29ed926d90de4ed
  Author: Matt Arsenault <Matthew.Arsenault at amd.com>
  Date:   2025-12-12 (Fri, 12 Dec 2025)

  Changed paths:
    A llvm/test/Transforms/Attributor/AMDGPU/nofpclass-amdgcn-rsq.ll

  Log Message:
  -----------
  ValueTracking: Add baseline test for fpclass handling of amdgcn.rsq (#171836)


  Commit: e151434b0f059f844a4e4e73812083f5a34e6524
      https://github.com/llvm/llvm-project/commit/e151434b0f059f844a4e4e73812083f5a34e6524
  Author: Pankaj Dwivedi <pankajkumar.divedi at amd.com>
  Date:   2025-12-12 (Fri, 12 Dec 2025)

  Changed paths:
    M llvm/lib/Target/AMDGPU/SIInsertWaitcnts.cpp

  Log Message:
  -----------
  [AMDGPU][InsertWaitCnts][NFC] Merge VMEM_ACCESS and VMEM_READ_ACCESS into a single event type (#171973)


  Commit: 7d151cf170849d4f2481e1b09a4ec0a621303453
      https://github.com/llvm/llvm-project/commit/7d151cf170849d4f2481e1b09a4ec0a621303453
  Author: Felipe de Azevedo Piovezan <fpiovezan at apple.com>
  Date:   2025-12-12 (Fri, 12 Dec 2025)

  Changed paths:
    M lldb/source/API/SBFrame.cpp

  Log Message:
  -----------
  [LLDB][NFC] Remove redundant target/process checks in SBFrame (#153258)

This is a follow up to https://github.com/llvm/llvm-project/pull/152020,
continuing the removal of now-redundant `if(process && target)` checks.
Since this causes a diff in every line of the affected functions, this
commit also uses the opportunity to create some helper functions and
reduce nesting of the affected methods by rewriting all pre-condition
checks as early returns, while remaining strictly NFC.

This has exposed some odd behaviors:

1. `SBFrame::GetVariables` has a variable `num_produced` which is
clearly meant to be incremented on every iteration of the loop but it is
only incremented once, after the loop. So its value is always 0 or
   1. The variable now lives in `FetchVariablesUnlessInterrupted`.
2. `SBFrame::GetVariables` has an interruption mechanism for local
variables, but not for "recognized arguments". It's unclear if this is
by design or not, but it is now evident that there is a discrepancy
there.
3. In `SBFrame::EvaluateExpression` we only log some error paths, but
not all of them.

To stick to the strictly NFC nature of this patch, it does not address
any of these issues.


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

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

  Log Message:
  -----------
  [gn] port 4c6aa8fd8abe7e4f0 (clang/Analysis/Scalable)


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

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

  Log Message:
  -----------
  [gn] "port" 8e999e3d7857 (LLVM_ENABLE_IO_SANDBOX)


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

  Changed paths:
    M llvm/lib/ObjCopy/ConfigManager.cpp
    A llvm/test/tools/llvm-objcopy/COFF/strip-preserve-mtime.test

  Log Message:
  -----------
  [llvm-objcopy] Allow -p on COFF targets (#171237)

Binutils allows `-p`, which prevents it from modifying the timestamp.
`llvm-objcopy` already preserves the timestamp in the COFF header, so
the only missing piece is allowing the option in the config manager.


  Commit: 1dbff713127ad97c118a9ce64b12d014d3252b01
      https://github.com/llvm/llvm-project/commit/1dbff713127ad97c118a9ce64b12d014d3252b01
  Author: Erich Keane <ekeane at nvidia.com>
  Date:   2025-12-12 (Fri, 12 Dec 2025)

  Changed paths:
    M clang/lib/CIR/CodeGen/CIRGenDeclOpenACC.cpp
    M clang/lib/CIR/CodeGen/CIRGenModule.cpp
    M clang/lib/CIR/CodeGen/CIRGenModule.h
    M clang/test/CIR/CodeGenOpenACC/routine-bind.c
    M clang/test/CIR/CodeGenOpenACC/routine-bind.cpp

  Log Message:
  -----------
  [OpenACC][CIR] 'bind' lowering with identifier (#171749)

The bind clause specifies the name of the function to call on the
device, and takes either a string or identifier(per the standard):

"If the name is specified as an identifier, it is callled as if the name
were specified in the language being compiled. If the name is specified
as a string, the string is used for the procedure name unmodified".

The latter (as a string) is already implemented, this patch implements
the former. Unfortunately, no existing implementation of this in C++
seems to exist. Other languages, the 'name' of a function is sufficient
to identify it (in this case 'bind' can refer to undeclared functions),
so it is possible to figure out what the name should be. In C++ with
overloading (without a discriminator, ala-fortran), a name only names an
infinite overload set.

SO, in order to implement this, I've decided that the 'called as'
(bound) function must have the same signature as the one marked by the
'routine'. This is trivially sensible in non-member functions, however
requires a bit more thought for member(and thus lambda-call-operators)
functions. In this case, we 'promote' the type of the function to a
'free' function by turning the implicit 'this' to an explicit 'this'.

I believe this is the most sensible and reasonable way to implement
this, and really the only way to make something usable.


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

  Changed paths:
    M llvm/utils/gn/secondary/clang-tools-extra/clang-doc/tool/BUILD.gn

  Log Message:
  -----------
  [gn] port 4e9e7c5816bc1


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

  Changed paths:
    M llvm/utils/gn/secondary/clang-tools-extra/clang-doc/tool/BUILD.gn

  Log Message:
  -----------
  [gn] port 3d1f04425a8fe


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

  Changed paths:
    M flang/include/flang/Lower/OpenMP/Clauses.h
    M flang/include/flang/Semantics/openmp-utils.h
    M flang/lib/Lower/OpenMP/ClauseProcessor.cpp
    M flang/lib/Lower/OpenMP/ClauseProcessor.h
    M flang/lib/Lower/OpenMP/Clauses.cpp
    M flang/lib/Lower/OpenMP/OpenMP.cpp
    M flang/lib/Semantics/openmp-utils.cpp
    M llvm/include/llvm/Frontend/OpenMP/ClauseT.h

  Log Message:
  -----------
  [flang][OpenMP] Use StylizedInstance in converted clauses (#171907)

Invent `StylizedInstance` class to store special variables together with
the instantiated expression in omp::clause::Initializer. This will
eliminate the need for visiting the original AST nodes in lowering to
MLIR.


  Commit: 5ebb9285321157fe89496746d59b46fbc2480232
      https://github.com/llvm/llvm-project/commit/5ebb9285321157fe89496746d59b46fbc2480232
  Author: Erick Ochoa Lopez <erick.ochoalopez at amd.com>
  Date:   2025-12-12 (Fri, 12 Dec 2025)

  Changed paths:
    M mlir/include/mlir/Dialect/AMDGPU/IR/AMDGPU.td
    M mlir/lib/Conversion/AMDGPUToROCDL/AMDGPUToROCDL.cpp
    M mlir/lib/Dialect/AMDGPU/IR/AMDGPUDialect.cpp
    M mlir/test/Conversion/AMDGPUToROCDL/gfx1250.mlir
    M mlir/test/Dialect/AMDGPU/invalid.mlir

  Log Message:
  -----------
  [mlir][amdgpu] Adds make_dma_gather_base (#171857)

* Adds `tdm_gather_base` type.
* Adds `make_dma_gather_base` op.
* Adds `make_dma_gather_base` lowering to ROCDL.


  Commit: 42defcd39c4819c896ca09988fbdd6d4996ff46a
      https://github.com/llvm/llvm-project/commit/42defcd39c4819c896ca09988fbdd6d4996ff46a
  Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
  Date:   2025-12-12 (Fri, 12 Dec 2025)

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

  Log Message:
  -----------
  [gn build] Port 48d942c7158a


  Commit: 6f44be6f3e9fb6d373125b17b65bd6e09144b382
      https://github.com/llvm/llvm-project/commit/6f44be6f3e9fb6d373125b17b65bd6e09144b382
  Author: nerix <nerixdev at outlook.de>
  Date:   2025-12-12 (Fri, 12 Dec 2025)

  Changed paths:
    M lldb/source/Plugins/SymbolFile/NativePDB/UdtRecordCompleter.cpp
    M lldb/source/Plugins/SymbolFile/NativePDB/UdtRecordCompleter.h
    M lldb/test/Shell/SymbolFile/NativePDB/Inputs/ast-types.lldbinit
    M lldb/test/Shell/SymbolFile/NativePDB/ast-types.cpp

  Log Message:
  -----------
  [LLDB][NativePDB] Use original struct name when searching for constants (#166845)

We used to search for constants using the name we parsed. For C++, this
would mean using the demangled struct name (from the unique name). This
name is not always equal to the one used for the struct's name by the
compiler. For example:

```
  0x105E | LF_STRUCTURE [size = 120, hash = 0xF38F] ``anonymous namespace'::Anonymous<A::B::C<void> >::D`
           unique name: `.?AUD@?$Anonymous at U?$C at X@B at A@@@?A0x8C295248@@`
```
We would use the unique name and get to `(anonymous
namespace)::Anonymous<struct A::B::C<void>>::D`. Then, when finding the
constant in the field list, we'd search for `(anonymous
namespace)::Anonymous<struct A::B::C<void>>::D::StaticMember`. This
wouldn't yield any results, because the constant will use the demangled
name as given by the compiler.

With this PR, we use the struct's name as given in the PDB and append
the member name.


  Commit: 7d21334127fc5200effa77370e9e20f941418378
      https://github.com/llvm/llvm-project/commit/7d21334127fc5200effa77370e9e20f941418378
  Author: Tarun Prabhu <tarun at lanl.gov>
  Date:   2025-12-12 (Fri, 12 Dec 2025)

  Changed paths:
    M flang/test/Semantics/modfile73.f90
    M flang/test/Semantics/num_images02.f90
    M flang/test/Semantics/resolve102.f90
    M flang/test/Semantics/resolve104.f90
    M flang/test/Semantics/resolve33.f90
    M flang/test/Semantics/resolve58.f90
    M flang/test/Semantics/resolve70.f90
    M flang/test/Semantics/resolve71.f90
    M flang/test/Semantics/resolve72.f90
    M flang/test/Semantics/resolve74.f90
    M flang/test/Semantics/resolve75.f90
    M flang/test/Semantics/resolve78.f90
    M flang/test/Semantics/resolve79.f90
    M flang/test/Semantics/resolve82.f90
    M flang/test/Semantics/resolve83.f90
    M flang/test/Semantics/resolve84.f90
    M flang/test/Semantics/resolve86.f90
    M flang/test/Semantics/resolve87.f90
    M flang/test/Semantics/resolve88.f90
    M flang/test/Semantics/resolve89.f90
    M flang/test/Semantics/resolve90.f90
    M flang/test/Semantics/resolve94.f90
    M flang/test/Semantics/separate-mp01.f90
    M flang/test/Semantics/spec-expr.f90
    M flang/test/Semantics/this_image02.f90

  Log Message:
  -----------
  [flang][NFC] Strip trailing whitespace from tests (12 of 14)

Only some fortran sourcefiles in flang/test/Semantics have been
modified. The remaining files will be cleaned up in subsequent commits.


  Commit: 3a04e01f347e24a9d4bda2163c33a356e697ee37
      https://github.com/llvm/llvm-project/commit/3a04e01f347e24a9d4bda2163c33a356e697ee37
  Author: Muhammad Bassiouni <60100307+bassiounix at users.noreply.github.com>
  Date:   2025-12-12 (Fri, 12 Dec 2025)

  Changed paths:
    A libc/src/__support/wctype/lower_to_upper.inc
    A libc/src/__support/wctype/upper_to_lower.inc
    A libc/utils/wctype_utils/README.rst
    A libc/utils/wctype_utils/conversion/__init__.py
    A libc/utils/wctype_utils/conversion/gen_conversion_data.py
    A libc/utils/wctype_utils/conversion/hex_writer.py
    A libc/utils/wctype_utils/gen.py

  Log Message:
  -----------
  [libc][wctype][codegen] Add generation script for conversion data (#170868)

Closes #170871


  Commit: 568ce76c6e8134ab9b631e357c134091d2fd4aa8
      https://github.com/llvm/llvm-project/commit/568ce76c6e8134ab9b631e357c134091d2fd4aa8
  Author: Asher Mancinelli <ashermancinelli at gmail.com>
  Date:   2025-12-12 (Fri, 12 Dec 2025)

  Changed paths:
    M mlir/include/mlir/Dialect/LLVMIR/Transforms/Passes.td
    A mlir/include/mlir/Dialect/LLVMIR/Transforms/UseDefaultVisibilityPass.h
    M mlir/lib/Dialect/LLVMIR/Transforms/CMakeLists.txt
    A mlir/lib/Dialect/LLVMIR/Transforms/UseDefaultVisibilityPass.cpp
    A mlir/test/Dialect/LLVMIR/use-default-visibility.mlir

  Log Message:
  -----------
  [MLIR][LLVM] Add pass to update ops with default visibility (#171727)

To support the `-fvisibility=...` option in Flang, we need a pass to
rewrite all the global definitions in the LLVM dialect that have the
default visibility to have the specified visibility. This change adds
such a pass.

Note that I did not add an option for `visiblity=default`; I believe
this makes sense for compiler drivers since users may want to tack an
option on at the end of a compile line to override earlier options, but
I don't think it makes sense for this pass to accept
`visibility=default`--it would just be an early exit IIUC.


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

  Changed paths:
    M llvm/lib/Target/X86/X86ISelLowering.cpp
    M llvm/test/CodeGen/X86/vector-shuffle-combining-avx2.ll

  Log Message:
  -----------
  [X86] combineHorizOpWithShuffle - ensure we handle undef elements from widened shuffle (#172014)

Since #170838 we no longer canonicalise away whole-lane shuffles of
horizontal ops, so we need to better handle cases where widened shuffle
masks might still contain undefs.

Fixes #172010


  Commit: 7345233fb60198ec170791f418d5f1d5fc1a0e53
      https://github.com/llvm/llvm-project/commit/7345233fb60198ec170791f418d5f1d5fc1a0e53
  Author: Charles Zablit <c_zablit at apple.com>
  Date:   2025-12-12 (Fri, 12 Dec 2025)

  Changed paths:
    M lldb/include/lldb/Host/Terminal.h
    M lldb/include/lldb/Host/common/DiagnosticsRendering.h
    M lldb/source/Host/common/DiagnosticsRendering.cpp
    M lldb/source/Host/common/Terminal.cpp
    M lldb/test/Shell/Commands/command-dwim-print.test
    M lldb/test/Shell/Commands/command-expr-diagnostics.test
    M lldb/test/Shell/Commands/command-options.test
    M lldb/unittests/Host/common/DiagnosticsRenderingTest.cpp

  Log Message:
  -----------
  [lldb] improve the heuristics for checking if a terminal supports Unicode (#171832)

This patch improves the way lldb checks if the terminal it's opened in
(if any) supports Unicode or not.

On POSIX systems, we check if `LANG` contains `UTF-8`.

On Windows, we always return `true` since we use the `WriteToConsoleW`
api.

This is a relanding of https://github.com/llvm/llvm-project/pull/168603.

The tests failed because the bots support Unicode but the tests expect
ASCII. To avoid different outputs depending on the environment the tests
are running in, this patch always force ASCII in the tests.


  Commit: 7a43921af824ff39a4b9114dc9624f4ff008376d
      https://github.com/llvm/llvm-project/commit/7a43921af824ff39a4b9114dc9624f4ff008376d
  Author: Matthew Devereau <matthew.devereau at arm.com>
  Date:   2025-12-12 (Fri, 12 Dec 2025)

  Changed paths:
    M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
    A llvm/test/CodeGen/AArch64/sve-fixed-length-fptrunc.ll

  Log Message:
  -----------
  [AArch64][SVE] Fix -msve-vector-bits=256 fixed width vector crash (#171776)

This adds tests for and fixes an issue where v8bf16 ISD::FP_ROUND v8f32
cannot be lowered when -msve-vector-bits=256.


  Commit: 3ae5f2782e3cea9f0b19b86cf0b928e6e0adedf0
      https://github.com/llvm/llvm-project/commit/3ae5f2782e3cea9f0b19b86cf0b928e6e0adedf0
  Author: Ravil Dorozhinskii <ravil.aviva.com at gmail.com>
  Date:   2025-12-12 (Fri, 12 Dec 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:
  -----------
  [ROCDL] Added LDS barrier ops to ROCDL (gfx1250) (#171810)

Added `ds.atomic.barrier.arrive.rtn.b64` and
`ds.atomic.async.barrier.arrive.b64` to ROCDL. These are parts of the
LDS memory barrier concept in GFX1250. Also added alias analysis to
`global/flat` data prefetch ops. Extended rocdl tests.


  Commit: ec1bf9c56250803b434220d24d5035c121de72fa
      https://github.com/llvm/llvm-project/commit/ec1bf9c56250803b434220d24d5035c121de72fa
  Author: David Stone <davidfromonline at gmail.com>
  Date:   2025-12-12 (Fri, 12 Dec 2025)

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

  Log Message:
  -----------
  Use `llvm::SmallVector` instead of `OwningArrayRef` in `VTableLayout`. (#168768)

This simplifies the code by removing the manual optimization for size ==
1, and also gives us an optimization for other small sizes.

Accept a `llvm::SmallVector` by value for the constructor and move it
into the destination, rather than accepting `ArrayRef` that we copy
from. This also lets us not have to construct a reference to the
elements of a `std::initializer_list`, which requires reading the
implementation of the constructor to know whether it's safe.

Also explicitly document that the constructor requires the input indexes
to have a size of at least 1.


  Commit: 55c0e2e20f5b0d736bdd508d0a4c705c1bf3e796
      https://github.com/llvm/llvm-project/commit/55c0e2e20f5b0d736bdd508d0a4c705c1bf3e796
  Author: Juan Manuel Martinez Caamaño <jmartinezcaamao at gmail.com>
  Date:   2025-12-12 (Fri, 12 Dec 2025)

  Changed paths:
    M llvm/lib/Target/AMDGPU/SIInstrInfo.cpp
    M llvm/lib/Target/AMDGPU/SIInstructions.td
    M llvm/test/CodeGen/AMDGPU/GlobalISel/inst-select-extract-vector-elt.mir
    M llvm/test/CodeGen/AMDGPU/GlobalISel/inst-select-insert-vector-elt.mir

  Log Message:
  -----------
  [AMDGPU] Add missing cases for V_INDIRECT_REG_{READ/WRITE}_GPR_IDX and V/S_INDIRECT_REG_WRITE_MOVREL (#171835)

A buildbot failure in https://github.com/llvm/llvm-project/pull/170323
when expensive checks were used highlighted that some of these patterns
were missing.

This patch adds `V_INDIRECT_REG_{READ/WRITE}_GPR_IDX` and
`V/S_INDIRECT_REG_WRITE_MOVREL` for `V6` and `V7` vector sizes.


  Commit: 44c0469e5f5e7ff214690140a1142d4f05d782ce
      https://github.com/llvm/llvm-project/commit/44c0469e5f5e7ff214690140a1142d4f05d782ce
  Author: Matt Arsenault <Matthew.Arsenault at amd.com>
  Date:   2025-12-12 (Fri, 12 Dec 2025)

  Changed paths:
    M llvm/lib/Analysis/ValueTracking.cpp
    M llvm/test/Transforms/Attributor/AMDGPU/nofpclass-amdgcn-rsq.ll

  Log Message:
  -----------
  ValueTracking: Handle amdgcn.rsq intrinsic in computeKnownFPClass (#171837)

We have other target intrinsics already in ValueTracking functions,
and no access to TTI.


  Commit: 66f2b6625e14c2b424304d2d4f0867eccb3f352b
      https://github.com/llvm/llvm-project/commit/66f2b6625e14c2b424304d2d4f0867eccb3f352b
  Author: Felipe de Azevedo Piovezan <fpiovezan at apple.com>
  Date:   2025-12-12 (Fri, 12 Dec 2025)

  Changed paths:
    M lldb/source/Plugins/Process/gdb-remote/ProcessGDBRemote.cpp
    M lldb/source/Plugins/Process/gdb-remote/ProcessGDBRemote.h

  Log Message:
  -----------
  [lldb][nfc] Change ProcessGDBRemote::ParseMultiMemReadPacket signature (#172020)

Instead of returning an `Expected<vector<...>>` it now returns an Error,
and receives a vector argument to fill in. This will be useful to
support a change were ParseMultiMemReadPacket will be called multiple
times in a loop with the same vector; without this change, we would have
to concatenate vectors and copy memory around.


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

  Changed paths:
    M lldb/source/Plugins/InstrumentationRuntime/TSan/InstrumentationRuntimeTSan.cpp
    M lldb/source/Plugins/InstrumentationRuntime/UBSan/InstrumentationRuntimeUBSan.cpp
    M lldb/source/Plugins/InstrumentationRuntime/Utility/ReportRetriever.cpp

  Log Message:
  -----------
  [lldb][InstrumentationRuntime] Run sanitizer utility expressions as C (#172019)

The utility expressions in the `InstrumentationRuntime` plugins are just
plain C code, but we run them as `ObjC++`. That meant we were doing
redundant work (like looking up decls in the Objective-C runtime). The
sanitizer tests sporadically time out while looking up function symbols
in the Objective-C runtime. This patch switches the expression language
to `C`.

Didn't find a great way of testing this other than looking at the
expression log.

rdar://165656320


  Commit: 0570cab7c13f43145353b65f752a7df178a77f57
      https://github.com/llvm/llvm-project/commit/0570cab7c13f43145353b65f752a7df178a77f57
  Author: Mehdi Amini <joker.eph at gmail.com>
  Date:   2025-12-12 (Fri, 12 Dec 2025)

  Changed paths:
    M mlir/lib/Dialect/Utils/IndexingUtils.cpp

  Log Message:
  -----------
  [MLIR] Apply clang-tidy fixes for misc-use-internal-linkage in IndexingUtils.cpp (NFC)


  Commit: ff3dcd06a94ad1412d7e89b5c254adc2f1e8c3e4
      https://github.com/llvm/llvm-project/commit/ff3dcd06a94ad1412d7e89b5c254adc2f1e8c3e4
  Author: Mircea Trofin <mtrofin at google.com>
  Date:   2025-12-12 (Fri, 12 Dec 2025)

  Changed paths:
    M llvm/lib/Transforms/IPO/GlobalOpt.cpp
    M llvm/test/Transforms/GlobalOpt/disable-globals-aa.ll
    M llvm/utils/profcheck-xfail.txt

  Log Message:
  -----------
  [GlobalOpt][profcheck] Mark as `unknown` the branch weights of global shrunk to boolean (#171530)


  Commit: 4dbd16bb62ca18b0c588e2f387ac5cc94a782efb
      https://github.com/llvm/llvm-project/commit/4dbd16bb62ca18b0c588e2f387ac5cc94a782efb
  Author: Syadus Sefat <42645939+mssefat at users.noreply.github.com>
  Date:   2025-12-12 (Fri, 12 Dec 2025)

  Changed paths:
    M llvm/lib/Target/AMDGPU/AMDGPURegBankLegalizeRules.cpp
    A llvm/test/CodeGen/AMDGPU/GlobalISel/buffer-load-byte-short.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.raw.buffer.load.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.raw.ptr.buffer.load.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.struct.buffer.load.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.struct.ptr.buffer.load.ll

  Log Message:
  -----------
  [AMDGPU][GlobalISel] Add register bank legalization for buffer_load byte and short (#167798)

This patch adds register bank legalization support for buffer load byte
and short operations in the AMDGPU GlobalISel pipeline.


  Commit: dbd0122cf5669e6affa9c7bca1a06b47210e2c38
      https://github.com/llvm/llvm-project/commit/dbd0122cf5669e6affa9c7bca1a06b47210e2c38
  Author: Amr Hesham <amr96 at programmer.net>
  Date:   2025-12-12 (Fri, 12 Dec 2025)

  Changed paths:
    M clang/lib/CIR/CodeGen/CIRGenExprScalar.cpp
    A clang/test/CIR/CodeGen/choose-expr.cpp

  Log Message:
  -----------
  [CIR] Add support the ChooseExpr for scalar (#171882)

Add support the ChooseExpr for scalar expr


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

  Changed paths:
    M llvm/test/CodeGen/X86/any_extend_vector_inreg_of_broadcast_from_memory.ll
    M llvm/test/CodeGen/X86/zero_extend_vector_inreg_of_broadcast_from_memory.ll

  Log Message:
  -----------
  [X86] Cleanup check prefixes for any/zero_extend_vector_inreg_of_broadcast_from_memory.ll tests (#172043)

Remove all unused prefixes plus update_llc_test_checks.py will warn about prefix clashes, so we don't need fallback prefixes any more


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

  Changed paths:
    M libcxx/src/CMakeLists.txt
    M libcxx/test/CMakeLists.txt
    M libcxxabi/test/CMakeLists.txt
    M libunwind/test/CMakeLists.txt

  Log Message:
  -----------
  [runtimes] Remove dependencies on cxx_experimental for test-suite installs (#171678)

This patch removes explicit dependencies on cxx_experimental for
installations that are local to the test suite. Such dependencies
are not required anymore from the test-suite installation targets
since the proper dependency is now encoded between cxx and
cxx_experimental.


  Commit: 2af693bbec82860215284c70d290f89dcc7cafb6
      https://github.com/llvm/llvm-project/commit/2af693bbec82860215284c70d290f89dcc7cafb6
  Author: Matt Arsenault <Matthew.Arsenault at amd.com>
  Date:   2025-12-12 (Fri, 12 Dec 2025)

  Changed paths:
    M llvm/lib/Target/AMDGPU/SIISelLowering.cpp
    M llvm/test/CodeGen/AMDGPU/bf16.ll

  Log Message:
  -----------
  AMDGPU: Fix selection failure on bf16 inverse sqrt (#172044)

On !hasBF16TransInsts targets, an illegal rsq would form
and fail to select.


  Commit: 9dc6f18a3e4f25d769ae17d875e25e3e5f2c70ec
      https://github.com/llvm/llvm-project/commit/9dc6f18a3e4f25d769ae17d875e25e3e5f2c70ec
  Author: Durgadoss R <durgadossr at nvidia.com>
  Date:   2025-12-12 (Fri, 12 Dec 2025)

  Changed paths:
    M mlir/include/mlir/Dialect/LLVMIR/NVVMOps.td
    M mlir/test/Target/LLVMIR/nvvm/mbar_arrive.mlir

  Log Message:
  -----------
  [MLIR][NVVM] Fix results-check for mbarrier Op (#171657)

This patch fixes the lowering of the newly
added mbarrier.arrive Op w.r.t return value.
(Follow-up of PR #170545)

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


  Commit: 44aec0e768d986aa026e352188baccb0cd529a50
      https://github.com/llvm/llvm-project/commit/44aec0e768d986aa026e352188baccb0cd529a50
  Author: Amr Hesham <amr96 at programmer.net>
  Date:   2025-12-12 (Fri, 12 Dec 2025)

  Changed paths:
    M clang/lib/CIR/CodeGen/CIRGenExprScalar.cpp
    M clang/test/CIR/CodeGen/cxx-traits.cpp

  Log Message:
  -----------
  [CIR] Add support for TypeTraitExpr with bool result (#171687)

Add support for the TypeTraitExpr with a boolean result


  Commit: 1760effa337471d9944e26694bdcb7a60139a124
      https://github.com/llvm/llvm-project/commit/1760effa337471d9944e26694bdcb7a60139a124
  Author: Dan Klishch <30951924+DanShaders at users.noreply.github.com>
  Date:   2025-12-12 (Fri, 12 Dec 2025)

  Changed paths:
    M clang/docs/ReleaseNotes.rst
    M clang/include/clang/AST/ASTContext.h
    M clang/include/clang/Basic/Attr.td
    M clang/include/clang/Basic/AttrDocs.td
    M clang/include/clang/Basic/DiagnosticASTKinds.td
    M clang/include/clang/Basic/LangOptions.def
    M clang/include/clang/Basic/LangOptions.h
    M clang/include/clang/Options/Options.td
    M clang/lib/AST/Decl.cpp
    M clang/lib/AST/RecordLayoutBuilder.cpp
    M clang/lib/Driver/ToolChains/Clang.cpp
    M clang/lib/Sema/SemaDecl.cpp
    M clang/lib/Sema/SemaDeclAttr.cpp
    M clang/lib/Sema/SemaDeclCXX.cpp
    A clang/test/CodeGen/gcc_struct-msvc-todo-1.c
    A clang/test/CodeGen/gcc_struct-msvc-todo-2.c
    A clang/test/CodeGen/gcc_struct.c
    M clang/test/CodeGen/mingw-long-double.c
    M clang/test/CodeGen/mms-bitfields.c
    M clang/test/Driver/ms-bitfields.c
    M clang/test/Layout/itanium-union-bitfield.cpp
    M clang/test/Misc/pragma-attribute-supported-attributes-list.test
    A clang/test/Sema/gcc_ms_struct.c
    M clang/test/Sema/mms-bitfields.c
    M clang/test/SemaCXX/ms_struct-bitfield-padding.cpp
    M clang/test/SemaCXX/ms_struct.cpp
    M clang/test/SemaCXX/ms_wide_bitfield.cpp
    M clang/utils/TableGen/ClangDiagnosticsEmitter.cpp

  Log Message:
  -----------
  [clang] Implement gcc_struct attribute on Itanium targets (#71148)

This commit implements gcc_struct attribute with the behavior similar to
one in GCC. Current behavior is as follows:

When ItaniumRecordLayoutBuilder is used, [[gcc_struct]] will locally
cancel the effect of -mms-bitfields on a record. If -mms-bitfields is
not supplied and is not a default behavior on a target, [[gcc_struct]]
will be a no-op. This should provide enough compatibility with GCC.

If C++ ABI is "Microsoft", [[gcc_struct]] will currently always produce
a diagnostic, since support for it is not yet implemented in
MicrosoftRecordLayoutBuilder. Note, however, that all the infrastructure
is ready for the future implementation.

In particular, check for default value of -mms-bitfields is moved from a
driver to ASTContext, since it now non-trivially depends on other
supplied flags. This also, unfortunately, makes it impossible to use
usual argument parsing for `-m{no-,}ms-bitfields`.

The patch doesn't introduce any backwards-incompatible changes, except
for situations when cc1 is called directly with `-mms-bitfields` option.

Work towards #24757

---------

Co-authored-by: Martin Storsjö <martin at martin.st>


  Commit: c14c2561704c0c40983cda25ed952584c802d4bb
      https://github.com/llvm/llvm-project/commit/c14c2561704c0c40983cda25ed952584c802d4bb
  Author: jeanPerier <jperier at nvidia.com>
  Date:   2025-12-12 (Fri, 12 Dec 2025)

  Changed paths:
    M flang/lib/Optimizer/Transforms/AddAliasTags.cpp
    A flang/test/Transforms/tbaa-target-inlined-results.fir

  Log Message:
  -----------
  [flang][TBAA] fix unsafe optional deref after #170908 (#172033)

PR #170908 introduced an unconditional dereference of the local target
variable name, but in rare cases (I am not sure this can be reproduced
without `-mllvm -inline-all` currently), such variable may not have a
uniq name on the alloca. For instance, this can happen after a call to a
function with TARGET character result is inlined. The alloca is a temp
on the caller side, that gets the TARGET attribute in the inlined scope
via the result name.


  Commit: 8515ddaa2bf62b30b5b952265b3708ea4987c505
      https://github.com/llvm/llvm-project/commit/8515ddaa2bf62b30b5b952265b3708ea4987c505
  Author: Charles Zablit <c_zablit at apple.com>
  Date:   2025-12-12 (Fri, 12 Dec 2025)

  Changed paths:
    M lldb/test/Shell/Commands/command-expr-diagnostics.test

  Log Message:
  -----------
  [lldb] fix failing diagnostics test when Unicode is supported (#172038)

This patch fixes a test failure introduced by
https://github.com/llvm/llvm-project/pull/171832 due to a check which
was not properly updated.


  Commit: 4ca2caeab6b69db284dc845f3cfded8e6c2c7a1c
      https://github.com/llvm/llvm-project/commit/4ca2caeab6b69db284dc845f3cfded8e6c2c7a1c
  Author: Alexander Johnston <14348472+Alexander-Johnston at users.noreply.github.com>
  Date:   2025-12-12 (Fri, 12 Dec 2025)

  Changed paths:
    M clang/include/clang/Basic/Builtins.td
    M clang/lib/CodeGen/CGHLSLBuiltins.cpp
    M clang/lib/CodeGen/CGHLSLRuntime.h
    M clang/lib/Headers/hlsl/hlsl_alias_intrinsics.h
    M clang/lib/Sema/SemaHLSL.cpp
    A clang/test/CodeGenHLSL/builtins/ddx-fine-builtin.hlsl
    A clang/test/CodeGenHLSL/builtins/ddx-fine.hlsl
    A clang/test/CodeGenHLSL/builtins/ddy-fine-builtin.hlsl
    A clang/test/CodeGenHLSL/builtins/ddy-fine.hlsl
    A clang/test/SemaHLSL/BuiltIns/ddx-fine-errors.hlsl
    A clang/test/SemaHLSL/BuiltIns/ddy-fine-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
    M llvm/lib/Target/SPIRV/SPIRVModuleAnalysis.cpp
    A llvm/test/CodeGen/DirectX/ddx_fine-errors.ll
    A llvm/test/CodeGen/DirectX/ddx_fine.ll
    A llvm/test/CodeGen/DirectX/ddy_fine-errors.ll
    A llvm/test/CodeGen/DirectX/ddy_fine.ll
    A llvm/test/CodeGen/SPIRV/hlsl-intrinsics/ddx_fine.ll
    A llvm/test/CodeGen/SPIRV/hlsl-intrinsics/ddy_fine.ll
    A llvm/test/CodeGen/SPIRV/opencl/ddx_fine-error.ll
    A llvm/test/CodeGen/SPIRV/opencl/ddy_fine-error.ll

  Log Message:
  -----------
  [HLSL] Implement ddx/ddy_fine intrinsics (#168874)

Implements the HLSL ddx_fine and ddy_fine intrinsics.
For the SPIRV backend the intrinsics are ensured to be unavailable in
opencl (as they require fragment execution stage).

Closes https://github.com/llvm/llvm-project/issues/99098
Closes https://github.com/llvm/llvm-project/issues/99101


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

  Changed paths:
    M llvm/lib/Target/AMDGPU/AMDGPURegBankLegalizeRules.cpp
    R llvm/test/CodeGen/AMDGPU/GlobalISel/buffer-load-byte-short.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.raw.buffer.load.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.raw.ptr.buffer.load.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.struct.buffer.load.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.struct.ptr.buffer.load.ll

  Log Message:
  -----------
  Revert "[AMDGPU][GlobalISel] Add register bank legalization for buffer_load byte and short (#167798)"

This reverts commit 4dbd16bb62ca18b0c588e2f387ac5cc94a782efb.

This was causing buildbot failures, including on premerge when running
check-llvm.

https://lab.llvm.org/buildbot/#/builders/185/builds/30323


  Commit: 26ff16663777fc995e8c6b46fa2433610dab4f64
      https://github.com/llvm/llvm-project/commit/26ff16663777fc995e8c6b46fa2433610dab4f64
  Author: Michael Buch <michaelbuch12 at gmail.com>
  Date:   2025-12-12 (Fri, 12 Dec 2025)

  Changed paths:
    M lldb/source/Plugins/ExpressionParser/Clang/ClangExpressionParser.cpp
    A lldb/test/Shell/Expr/TestExprLanguageNote_NoDebug.cpp

  Log Message:
  -----------
  [lldb][ClangExpressionParser] Emit more accurate language note for Objective-C++ fallback (#172047)

We fall back to `Objective-C++` when running C++ expressions in frames
that don't have debug-info. But we were missing a fallback note for this
situation. We would now print following note on expression error:
```
note: Possibly stopped inside system library, so speculatively enabled Objective-C. Ran expression as 'Objective C++'.
```


  Commit: 366f3ac144a3d6c8d53ddf79f1391870f9a3663c
      https://github.com/llvm/llvm-project/commit/366f3ac144a3d6c8d53ddf79f1391870f9a3663c
  Author: Amr Hesham <amr96 at programmer.net>
  Date:   2025-12-12 (Fri, 12 Dec 2025)

  Changed paths:
    M clang/lib/CIR/CodeGen/CIRGenExprScalar.cpp
    A clang/test/CIR/CodeGen/concept-specialization.cpp

  Log Message:
  -----------
  [CIR] Add support for the ConceptSpecializationExpr (#171824)

Add support for the ConceptSpecializationExpr


  Commit: 5cdb757cc380f9cb655eca992a70234257ccd98d
      https://github.com/llvm/llvm-project/commit/5cdb757cc380f9cb655eca992a70234257ccd98d
  Author: Ryotaro Kasuga <kasuga.ryotaro at fujitsu.com>
  Date:   2025-12-12 (Fri, 12 Dec 2025)

  Changed paths:
    M llvm/include/llvm/Analysis/Delinearization.h
    M llvm/lib/Analysis/Delinearization.cpp
    M llvm/lib/Analysis/DependenceAnalysis.cpp

  Log Message:
  -----------
  [Delinearization] Remove `isKnownNonNegative` (#171817)

Delinearization has its own `isKnownNonNegative` function, which wraps
`ScalarEvolution::isKnownNonNegative` and adds additional logic. The
additional logic is that, for a pointer addrec `{a,+,b}`, if the pointer
has `inbounds` and both `a` and `b` are known to be non-negative, then
the addrec is also known non-negative (i.e., it doesn't wrap). This
reasoning is incorrect. If the GEP and/or load/store using the pointer
are not unconditionally executed in the loop, then the addrec can still
wrap. Even though no actual example has been found where this causes a
miscompilation (probably because the subsequent checks fail so the
validation also fails), simply replacing it with
`ScalarEvolution::isKnownNonNegative` is safer, especially it doesn't
cause any regressions in the existing tests.

Resolve #169811


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

  Changed paths:
    M llvm/lib/Transforms/Utils/LoopPeel.cpp
    M llvm/test/Transforms/LoopUnroll/peel-to-turn-invariant-accesses-dereferenceable.ll

  Log Message:
  -----------
  [LoopPeel] Check for onlyAccessesInaccessibleMemory instead of llvm.assume in peelToTurnInvariantLoadsDereferenceable. (#171910)

onlyAccessesInaccessibleMemory can't alias with a load. This allows us
to ignore more intrinsics than llvm.assume.

Follow up from #171547


  Commit: 858fa0e1edd8c6f512717de66bd20d647c68b9c8
      https://github.com/llvm/llvm-project/commit/858fa0e1edd8c6f512717de66bd20d647c68b9c8
  Author: Amr Hesham <amr96 at programmer.net>
  Date:   2025-12-12 (Fri, 12 Dec 2025)

  Changed paths:
    M clang/test/CIR/CodeGen/mms-bitfields.c

  Log Message:
  -----------
  [CIR][NFC] Fix the mms-bitfields test file (#172060)

Fix the args in the mms-bitfields test file to be aligned with the same
test in classical codegen (clang/test/CodeGen/mms-bitfields.c). After
#71148 is merged


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

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

  Log Message:
  -----------
  [bazel] Port 568ce76c6e8134ab9b631e357c134091d2fd4aa8 (#172059)


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

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

  Log Message:
  -----------
  [Delinearization] Fix unused variable from 5cdb757

Was only unused in an expression enabled at debug time.


  Commit: 112a6126ef1ca616c953bf0d53ae5ce99da79ce6
      https://github.com/llvm/llvm-project/commit/112a6126ef1ca616c953bf0d53ae5ce99da79ce6
  Author: Seraphimt <svet58585 at mail.ru>
  Date:   2025-12-12 (Fri, 12 Dec 2025)

  Changed paths:
    M llvm/lib/CodeGen/MachineFunction.cpp
    M llvm/lib/CodeGen/MachineInstr.cpp
    M llvm/lib/DebugInfo/LogicalView/Readers/LVDWARFReader.cpp
    M llvm/lib/Target/PowerPC/PPCInstrInfo.cpp
    M llvm/lib/Target/VE/AsmParser/VEAsmParser.cpp
    M llvm/lib/Transforms/Utils/SimplifyCFG.cpp

  Log Message:
  -----------
  Fixes non-functional changes found static analyzer (#171197)

As per @arsenm 's instructions, I've separated the non-functional
changes from https://github.com/llvm/llvm-project/pull/169958.
Afterwards I'll tackle the functional ones one by one. I hope I did
everything right this time.

Full descriptions in the article:
https://pvs-studio.com/en/blog/posts/cpp/1318/
3. Array overrun is possible.
The PVS-Studio warning: V557 Array overrun is possible. The value of
'regIdx' index could reach 31. VEAsmParser.cpp 696
10. Excessive check.
The PVS-Studio warning: V547 Expression 'IsLeaf' is always false.
PPCInstrInfo.cpp 419
11. Doubling the same check.
The PVS-Studio warning: V581 The conditional expressions of the 'if'
statements situated alongside each other are identical. Check lines:
5820, 5823. PPCInstrInfo.cpp 5823
15. Excessive check.
The PVS-Studio warning: V547 Expression 'i != e' is always true.
MachineFunction.cpp 1444
17. Excessive assignment.
The PVS-Studio warning: V1048 The 'FirstOp' variable was assigned the
same value. MachineInstr.cpp 1995
18. Excessive check.
The PVS-Studio warning: V547 Expression 'AllSame' is always true.
SimplifyCFG.cpp 1914
19. Excessive check.
The PVS-Studio warning: V547 Expression 'AbbrevDecl' is always true.
LVDWARFReader.cpp 398


  Commit: ed42c81bd69c9fa1a389d1fb619f47871c548162
      https://github.com/llvm/llvm-project/commit/ed42c81bd69c9fa1a389d1fb619f47871c548162
  Author: Erick Velez <erickvelez7 at gmail.com>
  Date:   2025-12-12 (Fri, 12 Dec 2025)

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

  Log Message:
  -----------
  [clang-doc] Add JSON output to existing template tests (#171936)

clang-doc has some useful, preexisting tests for templates, so we'll
reuse them to cover more cases.


  Commit: 53972216d1087552945e9a44f11b6a2a9d38a59c
      https://github.com/llvm/llvm-project/commit/53972216d1087552945e9a44f11b6a2a9d38a59c
  Author: Med Ismail Bennani <ismail at bennani.ma>
  Date:   2025-12-12 (Fri, 12 Dec 2025)

  Changed paths:
    M lldb/examples/python/templates/scripted_process.py
    M lldb/test/API/functionalities/scripted_frame_provider/TestScriptedFrameProvider.py
    M lldb/test/API/functionalities/scripted_frame_provider/circular_dependency/TestFrameProviderCircularDependency.py

  Log Message:
  -----------
  [lldb] Add arm32/thumb register layout to Scripted{Frame,Thread} (#172005)


  Commit: 76c3eed67321dc21a3bac493771da70b726ee883
      https://github.com/llvm/llvm-project/commit/76c3eed67321dc21a3bac493771da70b726ee883
  Author: ayank227 <ayank at nvidia.com>
  Date:   2025-12-12 (Fri, 12 Dec 2025)

  Changed paths:
    M llvm/lib/Target/AArch64/GISel/AArch64LegalizerInfo.cpp
    M llvm/test/CodeGen/AArch64/GlobalISel/legalizer-info-validation.mir
    M llvm/test/CodeGen/AArch64/vector-llrint.ll
    M llvm/test/CodeGen/AArch64/vector-lrint.ll

  Log Message:
  -----------
  [AArch64][GlobalISel] Fix vector lrint/llrint fallbacks (#170814)

Add .lower() to vector lrint/llrint to enable lowering instead of
falling back to SelectionDAG.


  Commit: e0e5b6e1f72ed1935f111fa013e2bbecda96df50
      https://github.com/llvm/llvm-project/commit/e0e5b6e1f72ed1935f111fa013e2bbecda96df50
  Author: KRM7 <Krisztian.Rugasi at hightec-rt.com>
  Date:   2025-12-12 (Fri, 12 Dec 2025)

  Changed paths:
    M llvm/lib/CodeGen/GlobalISel/InlineAsmLowering.cpp
    M llvm/test/CodeGen/AArch64/GlobalISel/irtranslator-inline-asm.ll

  Log Message:
  -----------
  [GISel][Inlineasm] Support inlineasm i/s constraint for symbols (#170094)


  Commit: 8f264586d7521b0e305ca7bb78825aa3382ffef7
      https://github.com/llvm/llvm-project/commit/8f264586d7521b0e305ca7bb78825aa3382ffef7
  Author: Erick Velez <erickvelez7 at gmail.com>
  Date:   2025-12-12 (Fri, 12 Dec 2025)

  Changed paths:
    M clang-tools-extra/clang-doc/JSONGenerator.cpp
    M clang-tools-extra/clang-doc/assets/class-template.mustache
    M clang-tools-extra/test/clang-doc/json/class-requires.cpp
    M clang-tools-extra/test/clang-doc/json/class-specialization.cpp
    M clang-tools-extra/test/clang-doc/json/class-template.cpp
    M clang-tools-extra/test/clang-doc/json/class.cpp
    M clang-tools-extra/test/clang-doc/json/concept.cpp
    M clang-tools-extra/test/clang-doc/json/function-requires.cpp
    M clang-tools-extra/test/clang-doc/json/method-template.cpp
    M clang-tools-extra/test/clang-doc/templates.cpp
    M clang-tools-extra/unittests/clang-doc/JSONGeneratorTest.cpp

  Log Message:
  -----------
  [clang-doc] Add class template to HTML (#171937)

Emit class template declaration info so that it appears above a record's name in the Mustache template.


  Commit: 8d5ade8feb0ef440781fb1258fc869fc21ca35b9
      https://github.com/llvm/llvm-project/commit/8d5ade8feb0ef440781fb1258fc869fc21ca35b9
  Author: Maksim Levental <maksim.levental at gmail.com>
  Date:   2025-12-12 (Fri, 12 Dec 2025)

  Changed paths:
    M mlir/lib/ExecutionEngine/CMakeLists.txt
    M mlir/test/Integration/Dialect/Arith/CPU/test-apfloat-emulation-vector.mlir
    M mlir/test/Integration/Dialect/Arith/CPU/test-apfloat-emulation.mlir
    M mlir/test/lit.cfg.py

  Log Message:
  -----------
  [mlir] enable APFloatWrappers on MacOS (#172070)


  Commit: a94920cdd56cfd70287cfba6f3ce2aed99079868
      https://github.com/llvm/llvm-project/commit/a94920cdd56cfd70287cfba6f3ce2aed99079868
  Author: Alex MacLean <amaclean at nvidia.com>
  Date:   2025-12-12 (Fri, 12 Dec 2025)

  Changed paths:
    M llvm/lib/Target/NVPTX/NVPTXISelDAGToDAG.cpp
    M llvm/lib/Target/NVPTX/NVPTXISelDAGToDAG.h
    M llvm/lib/Target/NVPTX/NVPTXISelLowering.cpp
    M llvm/lib/Target/NVPTX/NVPTXISelLowering.h
    M llvm/lib/Target/NVPTX/NVPTXInstrInfo.td
    M llvm/lib/Target/NVPTX/NVPTXSubtarget.h
    M llvm/test/CodeGen/NVPTX/jump-table.ll
    M llvm/test/CodeGen/NVPTX/switch.ll

  Log Message:
  -----------
  [NVPTX] Fixup and refactor brx.idx support (#171933)

Guard "brx.idx" generation to appropriate PTX ISA and SM version.

In addition, do some minor refactoring moving the expansion into ISel as
doing this during operation legalization is more complex and offers no
benefits.

fixes https://github.com/llvm/llvm-project/issues/171709


  Commit: d107b3c82a7abd1a6a0e2900e8cd01e2a7c46748
      https://github.com/llvm/llvm-project/commit/d107b3c82a7abd1a6a0e2900e8cd01e2a7c46748
  Author: Zhewen Yu <zhewenyu at amd.com>
  Date:   2025-12-12 (Fri, 12 Dec 2025)

  Changed paths:
    M mlir/include/mlir/Dialect/AMDGPU/IR/AMDGPU.td
    M mlir/lib/Dialect/AMDGPU/IR/AMDGPUDialect.cpp
    A mlir/test/Dialect/AMDGPU/resolve-shaped-type-result-dims.mlir

  Log Message:
  -----------
  [MLIR][AMDGPU] Implement reifyDimOfResult for FatRawBufferCastOp (#171839)

Since `FatRawBufferCastOp` preserves the shape of its source operand,
the result dimensions can be reified by querying the source's
dimensions.

---------

Signed-off-by: Yu-Zhewen <zhewenyu at amd.com>


  Commit: 5f6a5e02cd51708f460e6c4d2b18a2745b220b58
      https://github.com/llvm/llvm-project/commit/5f6a5e02cd51708f460e6c4d2b18a2745b220b58
  Author: Ryosuke Niwa <rniwa at webkit.org>
  Date:   2025-12-12 (Fri, 12 Dec 2025)

  Changed paths:
    M clang/lib/StaticAnalyzer/Checkers/WebKit/ForwardDeclChecker.cpp
    M clang/test/Analysis/Checkers/WebKit/forward-decl-checker.mm

  Log Message:
  -----------
  [alpha.webkit.ForwardDeclChecker] Add a missing nullptr check (#171740)


  Commit: c9ad896dd73382e7a453b6cd34413767a1341034
      https://github.com/llvm/llvm-project/commit/c9ad896dd73382e7a453b6cd34413767a1341034
  Author: Erick Velez <erickvelez7 at gmail.com>
  Date:   2025-12-12 (Fri, 12 Dec 2025)

  Changed paths:
    M clang-tools-extra/clang-doc/JSONGenerator.cpp
    M clang-tools-extra/clang-doc/assets/function-template.mustache
    M clang-tools-extra/clang-doc/assets/namespace-template.mustache
    M clang-tools-extra/test/clang-doc/json/namespace.cpp
    M clang-tools-extra/test/clang-doc/namespace.cpp
    M clang-tools-extra/test/clang-doc/templates.cpp
    M clang-tools-extra/unittests/clang-doc/JSONGeneratorTest.cpp

  Log Message:
  -----------
  [clang-doc] Add functions to namespace template (#171938)

Emit namespace-level (global) functions in HTML.


  Commit: d901485655b978874f22bf50d9d6fc01331fffcb
      https://github.com/llvm/llvm-project/commit/d901485655b978874f22bf50d9d6fc01331fffcb
  Author: ArielCPU <ariel.mataev at mobileye.com>
  Date:   2025-12-12 (Fri, 12 Dec 2025)

  Changed paths:
    M llvm/lib/Target/Mips/Mips.td
    M llvm/lib/Target/Mips/Mips32r6InstrInfo.td
    M llvm/lib/Target/Mips/Mips64r6InstrInfo.td
    M llvm/lib/Target/Mips/MipsDelaySlotFiller.cpp
    M llvm/lib/Target/Mips/MipsSubtarget.cpp
    M llvm/lib/Target/Mips/MipsSubtarget.h
    M llvm/test/CodeGen/Mips/branch-relaxation-with-hazard.ll
    A llvm/test/CodeGen/Mips/compact-branch-combine-never.ll
    A llvm/test/CodeGen/Mips/compact-branch-combine.ll
    M llvm/test/CodeGen/Mips/compactbranches/unsafe-in-forbidden-slot.ll
    M llvm/test/CodeGen/Mips/longbranch/compact-branches-long-branch.ll

  Log Message:
  -----------
  [Mips] Add compact branch patterns for MipsR6 (#171131)

Added patterns for combining set and branch into one compact branch

The patterns are disabled if -mips-compact-branches=never


  Commit: 0603d4af1d8fcd2ac4c08e39b128455ff728fee4
      https://github.com/llvm/llvm-project/commit/0603d4af1d8fcd2ac4c08e39b128455ff728fee4
  Author: Seraphimt <svet58585 at mail.ru>
  Date:   2025-12-12 (Fri, 12 Dec 2025)

  Changed paths:
    M llvm/lib/CodeGen/GlobalISel/GISelValueTracking.cpp
    M llvm/unittests/CodeGen/GlobalISel/KnownFPClassTest.cpp

  Log Message:
  -----------
  Fix misprint in computeKnownFPClass in GISelValueTracking.cpp (#171566)

Fix wrong value(from Instruction enum) in conditional and add test
check.
Related with https://github.com/llvm/llvm-project/issues/169959


  Commit: 9bc38df587def5e88cfb18ec7f912c9a588c5d4b
      https://github.com/llvm/llvm-project/commit/9bc38df587def5e88cfb18ec7f912c9a588c5d4b
  Author: Alireza Torabian <alireza.torabian at huawei.com>
  Date:   2025-12-12 (Fri, 12 Dec 2025)

  Changed paths:
    M llvm/include/llvm/Transforms/Utils/CodeMoverUtils.h
    M llvm/lib/Transforms/Scalar/LoopFuse.cpp
    M llvm/lib/Transforms/Utils/CodeMoverUtils.cpp
    M llvm/test/Transforms/LoopFusion/cannot_fuse.ll
    M llvm/test/Transforms/LoopFusion/diagnostics_missed.ll
    M llvm/unittests/Transforms/Utils/CodeMoverUtilsTest.cpp

  Log Message:
  -----------
  [LoopFusion] Simplifying the legality checks (#171889)

Considering that the current loop fusion only supports adjacent loops,
we are able to simplify the checks in this pass. By removing
`isControlFlowEquivalent` check, this patch fixes multiple issues
including #166560, #166535, #165031, #80301 and #168263.

Now only the sequential/adjacent candidates are collected in the same
list. This patch is the implementation of approach 2 discussed in post
#171207.


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

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

  Log Message:
  -----------
  [bazel] Port d107b3c82a7abd1a6a0e2900e8cd01e2a7c46748 (#172077)


  Commit: 1307b77de31f2a403b00750a3a9cca8bab96c638
      https://github.com/llvm/llvm-project/commit/1307b77de31f2a403b00750a3a9cca8bab96c638
  Author: Ryosuke Niwa <rniwa at webkit.org>
  Date:   2025-12-12 (Fri, 12 Dec 2025)

  Changed paths:
    M clang/lib/StaticAnalyzer/Checkers/WebKit/PtrTypesSemantics.cpp
    M clang/lib/StaticAnalyzer/Checkers/WebKit/PtrTypesSemantics.h

  Log Message:
  -----------
  Delete unused code in WebKit checkers (#171768)


  Commit: 0d53746eaa7e98b142b17a38d37bdb17dcd95eba
      https://github.com/llvm/llvm-project/commit/0d53746eaa7e98b142b17a38d37bdb17dcd95eba
  Author: Farzon Lotfi <farzonlotfi at microsoft.com>
  Date:   2025-12-12 (Fri, 12 Dec 2025)

  Changed paths:
    M clang/include/clang/Sema/Overload.h
    M clang/include/clang/Sema/Sema.h
    M clang/lib/Sema/SemaExpr.cpp
    M clang/lib/Sema/SemaExprCXX.cpp
    M clang/lib/Sema/SemaOverload.cpp
    A clang/test/CodeGenHLSL/BasicFeatures/MatrixSplat.hlsl
    M clang/test/SemaHLSL/MatrixElementOverloadResolution.hlsl
    A clang/test/SemaHLSL/Types/BuiltinMatrix/MatrixSplatErrors.hlsl

  Log Message:
  -----------
  [HLSL][Matrix] Add support for ICK_HLSL_Matrix_Splat to add splat cast of scalars (#170885)

fixes #168960

Adds `ICK_HLSL_Matrix_Splat` and hooks it up to
`PerformImplicitConversion` and `IsMatrixConversion`. Map these to
`CK_HLSLAggregateSplatCast`.


  Commit: f195d5278f6876e0374ddf20f94d696329702f03
      https://github.com/llvm/llvm-project/commit/f195d5278f6876e0374ddf20f94d696329702f03
  Author: adams381 <adams at nvidia.com>
  Date:   2025-12-12 (Fri, 12 Dec 2025)

  Changed paths:
    M clang/lib/CIR/CodeGen/CIRGenModule.cpp
    A clang/test/CIR/CodeGen/wide-string.cpp

  Log Message:
  -----------
  [CIR] Support wide string literals in CIR codegen (#171541)

This PR migrates support for wide string literals from the incubator to
upstream.

## Changes

- Implement wide string literal support in
`getConstantArrayFromStringLiteral`
- Handle wchar_t, char16_t, and char32_t string literals
- Collect code units and create constant arrays with IntAttr elements
- Use ZeroAttr for null-filled strings

## Testing

- Copied `wide-string.cpp` test file from incubator
- Expanded test to include wchar_t test cases (incubator only had
char16_t and char32_t)
- All tests pass

---------

Co-authored-by: Andy Kaylor <akaylor at nvidia.com>


  Commit: f3c16454b4f78f286e9b95a65b3c6be92465b948
      https://github.com/llvm/llvm-project/commit/f3c16454b4f78f286e9b95a65b3c6be92465b948
  Author: Syadus Sefat <42645939+mssefat at users.noreply.github.com>
  Date:   2025-12-12 (Fri, 12 Dec 2025)

  Changed paths:
    M llvm/lib/Target/AMDGPU/AMDGPURegBankLegalizeRules.cpp
    A llvm/test/CodeGen/AMDGPU/GlobalISel/buffer-load-byte-short.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.raw.buffer.load.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.raw.ptr.buffer.load.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.struct.buffer.load.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.struct.ptr.buffer.load.ll

  Log Message:
  -----------
  [Reland][AMDGPU][GlobalISel] Add register bank legalization for buffer_load byte and short (#172065)

This patch adds register bank legalization support for buffer load byte
and short operations in the AMDGPU GlobalISel pipeline.

This is a re-land of #167798. I have fixed the failing test
/CodeGen/AMDGPU/GlobalISel/buffer-load-byte-short.ll


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

  Changed paths:
    M llvm/lib/Transforms/Vectorize/VPlanRecipes.cpp
    M llvm/test/Transforms/LoopVectorize/vplan-printing.ll

  Log Message:
  -----------
  [VPlan] Strip stray whitespace when printing VPWidenIntOrFpInduction.

printFlags takes care of inserting the needed spaces, remove unneeded
extra stray whitespace


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

  Changed paths:
    M libcxx/utils/compare-benchmarks

  Log Message:
  -----------
  [libc++] Produce summary reports in compare-benchmarks

This patch adds the ability to produce a summary report with a few KPIs
in the compare-benchmarks script. This is useful to regularly monitor
the progress of the library on these KPIs.

Example usage:

     compare-benchmarks libstdcxx.lnt llvm-20.lnt llvm-21.lnt main.lnt     \
         --series-names "GNU,LLVM 20,LLVM 21,LLVM main"                    \
         --format kpi                                                      \
         --noise-threshold 0.1                                             \
         --meta-candidate 'LLVM'

This would produce a short report showing the evolution of benchmarks
in the given LLVM releases as compared to a GNU baseline.


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

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

  Log Message:
  -----------
  [LV] Update stale comment after 4e05d702f02a. (NFC)

Address post-commit suggestion, update stale comment after 4e05d702f.


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

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

  Log Message:
  -----------
  [VPlan] Re-add clarifying comment regarding part to extract. (NFC)

Re-add and emphasize comment regarding extracting from the last part, as
suggested post-commit in https://github.com/llvm/llvm-project/pull/171145.


  Commit: 54ae1222ef1fd63d075407160ad87924daaf743f
      https://github.com/llvm/llvm-project/commit/54ae1222ef1fd63d075407160ad87924daaf743f
  Author: Nicolai Hähnle <nicolai.haehnle at amd.com>
  Date:   2025-12-12 (Fri, 12 Dec 2025)

  Changed paths:
    M llvm/lib/Transforms/Vectorize/VectorCombine.cpp
    M llvm/test/Transforms/VectorCombine/AMDGPU/extract-insert-i8.ll
    M llvm/test/Transforms/VectorCombine/AMDGPU/shuffles-of-length-changing-shuffles.ll

  Log Message:
  -----------
  VectorCombine: Fold chains of shuffles fed by length-changing shuffles (#168819)

Such chains can arise from folding insert/extract chains.


  Commit: 560fe76506ef800f72f393e65c9fe7154d263fea
      https://github.com/llvm/llvm-project/commit/560fe76506ef800f72f393e65c9fe7154d263fea
  Author: Arthur Eubanks <aeubanks at google.com>
  Date:   2025-12-12 (Fri, 12 Dec 2025)

  Changed paths:
    M llvm/docs/GitBisecting.rst

  Log Message:
  -----------
  [docs] Point to `git bisect --first-parent` (#171728)

Introduced in Git 2.29 (Oct 2020).


  Commit: 536163650e1407aedf676fdbf9e946fb16ba54c8
      https://github.com/llvm/llvm-project/commit/536163650e1407aedf676fdbf9e946fb16ba54c8
  Author: Maksim Levental <maksim.levental at gmail.com>
  Date:   2025-12-12 (Fri, 12 Dec 2025)

  Changed paths:
    M mlir/include/mlir/Conversion/LLVMCommon/Pattern.h
    M mlir/include/mlir/Conversion/LLVMCommon/VectorPattern.h
    M mlir/lib/Conversion/LLVMCommon/Pattern.cpp
    M mlir/lib/Conversion/LLVMCommon/VectorPattern.cpp
    M mlir/lib/Conversion/MathToLLVM/MathToLLVM.cpp
    M mlir/test/Conversion/MathToLLVM/math-to-llvm.mlir

  Log Message:
  -----------
  [mlir][LLVM] refactor FailOnUnsupportedFP (#172054)

Enable `FailOnUnsupportedFP` for `ConvertToLLVMPattern` and set it to
`true` for all `math-to-llvm` patterns. This fixes various invalid
lowerings of `math` ops on `fp8`/`fp4` types.


  Commit: 13b4eb9452d37106b1143723e658010a9b58d344
      https://github.com/llvm/llvm-project/commit/13b4eb9452d37106b1143723e658010a9b58d344
  Author: Med Ismail Bennani <ismail at bennani.ma>
  Date:   2025-12-12 (Fri, 12 Dec 2025)

  Changed paths:
    M lldb/test/API/functionalities/scripted_frame_provider/circular_dependency/TestFrameProviderCircularDependency.py

  Log Message:
  -----------
  [lldb/test] Enable debug info for TestFrameProviderCircularDependency.py

This is necessary to get the function name in the test, following
20a6c59d8311d92bd8553b22b82a3874e0016edb.

Signed-off-by: Med Ismail Bennani <ismail at bennani.ma>


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

  Changed paths:
    M clang/lib/StaticAnalyzer/Checkers/WebKit/RawPtrRefLambdaCapturesChecker.cpp
    M clang/test/Analysis/Checkers/WebKit/uncounted-lambda-captures.cpp

  Log Message:
  -----------
  [webkit.UncountedLambdaCapturesChecker] Ignore a lambda which gets called immediately (#162977)

Recognize more ways in which a lambda can be declared and called
immediately.


  Commit: 6f1e3c396812dfc4b6fe3b77f10edf3b00aa8496
      https://github.com/llvm/llvm-project/commit/6f1e3c396812dfc4b6fe3b77f10edf3b00aa8496
  Author: Ryosuke Niwa <rniwa at webkit.org>
  Date:   2025-12-12 (Fri, 12 Dec 2025)

  Changed paths:
    M clang/lib/StaticAnalyzer/Checkers/WebKit/PtrTypesSemantics.cpp
    M clang/lib/StaticAnalyzer/Checkers/WebKit/RawPtrRefLocalVarsChecker.cpp
    M clang/test/Analysis/Checkers/WebKit/local-vars-checked-const-member.cpp
    M clang/test/Analysis/Checkers/WebKit/local-vars-counted-const-member.cpp
    M clang/test/Analysis/Checkers/WebKit/uncounted-local-vars.cpp

  Log Message:
  -----------
  [alpha.webkit.UncountedLocalVarsChecker] Ignore a VarDecl in "if" with trivial "then" (#171764)

Don't emit a warning when a variable declaration appears within the "if"
condition and if its "then" statement is trivial.


  Commit: 6a41acef89b417b71eaf99d041435af3bb87367f
      https://github.com/llvm/llvm-project/commit/6a41acef89b417b71eaf99d041435af3bb87367f
  Author: Peter Klausler <pklausler at nvidia.com>
  Date:   2025-12-12 (Fri, 12 Dec 2025)

  Changed paths:
    M flang/lib/Semantics/mod-file.cpp
    A flang/test/Semantics/modfile75.f90

  Log Message:
  -----------
  [flang] Initializers for proc pointers in module files (#170349)

Default initializers for procedure pointer components are missing from
module files; add them.

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


  Commit: cf4be781be86571d28b3c8081dbe6e184c2bdeb1
      https://github.com/llvm/llvm-project/commit/cf4be781be86571d28b3c8081dbe6e184c2bdeb1
  Author: Peter Klausler <pklausler at nvidia.com>
  Date:   2025-12-12 (Fri, 12 Dec 2025)

  Changed paths:
    M flang-rt/include/flang-rt/runtime/buffer.h
    M flang-rt/lib/runtime/pseudo-unit.cpp
    M flang-rt/lib/runtime/unit.h

  Log Message:
  -----------
  [flang][runtime] Debug PRINT *, "HI" on GPU (#172087)

Decrease memory allocation for buffers, allocate the pseudo-unit only
once on demand, and avoid using a "%*.s" format.


  Commit: 47b4c6a7d7f51806ec71bc13ab1d971c7e7b9cfc
      https://github.com/llvm/llvm-project/commit/47b4c6a7d7f51806ec71bc13ab1d971c7e7b9cfc
  Author: Susan Tan (ス-ザン タン) <zujunt at nvidia.com>
  Date:   2025-12-12 (Fri, 12 Dec 2025)

  Changed paths:
    A mlir/test/Dialect/OpenACC/region-branchop-interface.mlir

  Log Message:
  -----------
  [acc][test] add tests for RegionBranchOpInterface for acc regions (#172073)

use last modified analysis to test if RegionBranchOpInterface is correct
on acc regions


  Commit: eb501b211aadba07665c9af54b347b162f5b3e84
      https://github.com/llvm/llvm-project/commit/eb501b211aadba07665c9af54b347b162f5b3e84
  Author: Jonas Devlieghere <jonas at devlieghere.com>
  Date:   2025-12-12 (Fri, 12 Dec 2025)

  Changed paths:
    M lldb/source/Interpreter/CommandInterpreter.cpp
    A lldb/test/Shell/Settings/Inputs/FailedCommand.in
    A lldb/test/Shell/Settings/TestEchoFailedCommands.test

  Log Message:
  -----------
  [lldb] Still echo the command if we print the error. (#171931)

When the command interpreter is asked to not echo commands but still
print errors, a user has no idea what command caused the error.

For example, when I add `bogus` in my `~/.lldbinit`:

```
$ lldb
error: 'bogus' is not a valid command.
```

Things are even more confusing when we have inline diagnostics, which
point to nothing. For example, when I add `settings set target.run-args
-foo` to my `~/.lldbinit`:

```
❯ lldb
                                    ˄˜˜˜
                                    ╰─ error: unknown or ambiguous option
```

We should still echo the command if the command fails, making it obvious
which command caused the failure and fixing the inline diagnostics.

Fixes #171514


  Commit: ad2fca7513aa00cddb1c298e296d65193d38e1e4
      https://github.com/llvm/llvm-project/commit/ad2fca7513aa00cddb1c298e296d65193d38e1e4
  Author: Naveen Seth Hanig <naveen.hanig at outlook.com>
  Date:   2025-12-13 (Sat, 13 Dec 2025)

  Changed paths:
    M clang/include/clang/DependencyScanning/DependencyScannerImpl.h
    M clang/include/clang/DependencyScanning/DependencyScanningWorker.h
    M clang/include/clang/Tooling/DependencyScanningTool.h
    M clang/lib/DependencyScanning/DependencyScannerImpl.cpp
    M clang/lib/DependencyScanning/DependencyScanningWorker.cpp
    M clang/lib/Tooling/DependencyScanningTool.cpp
    M clang/test/ClangScanDeps/modules-full-by-mod-name.c
    M clang/test/ClangScanDeps/modules-full-by-mult-mod-names.c
    M clang/tools/clang-scan-deps/ClangScanDeps.cpp

  Log Message:
  -----------
  [clang][DependencyScanning] Move driver-command logic for by-name scanning into DependencyScanningTool (#171238)

This is the second patch in a series that removes the dependency of
clangDependencyScanning on clangDriver, splitting the work from
#169964 into smaller changes (see comment linked below).

This patch updates the by-name scanning interface in
DependencyScanningWorker to accept only -cc1 command lines directly
and moves the logic for handling driver-style command lines into
DependencyScanningTool in clangTooling.
Support for -cc1 command lines in by-name scanning is introduced in
this patch.

The next patch will update the remaining parts of
DependencyScanningWorker to operate only on -cc1 command lines,
allowing its dependency on clangDriver to be removed.

https://github.com/llvm/llvm-project/pull/169964#pullrequestreview-3545879529


  Commit: b50f6f24fe634540ca1f258acd7eda7394a0b089
      https://github.com/llvm/llvm-project/commit/b50f6f24fe634540ca1f258acd7eda7394a0b089
  Author: Michael Jones <michaelrj at google.com>
  Date:   2025-12-12 (Fri, 12 Dec 2025)

  Changed paths:
    M libc/src/__support/float_to_string.h
    M libc/test/src/stdio/sprintf_test.cpp

  Log Message:
  -----------
  [libc] Properly fix printf long double subnormals (#172103)

In a previous PR I fixed one case where subnormal long doubles would
cause an infinite loop in printf. It was an improper fix though. The
problem was that a shift on the fixed point representation would
sometimes go negative, since the effective exponent of a subnormal is
lower than the minimum allowed exponent value. This patch extends the
fixed point representation to have space for subnormals, and adds an
assert to check that lshifts are always positive. The previous fix of
sometimes shifting right instead of left caused a loss of precision
which also sometimes caused infinite loops in the %e code.


  Commit: 7927597860b505fd130c32e914bf2a428d68f09e
      https://github.com/llvm/llvm-project/commit/7927597860b505fd130c32e914bf2a428d68f09e
  Author: Med Ismail Bennani <ismail at bennani.ma>
  Date:   2025-12-13 (Sat, 13 Dec 2025)

  Changed paths:
    M lldb/test/API/functionalities/scripted_frame_provider/circular_dependency/TestFrameProviderCircularDependency.py

  Log Message:
  -----------
  Revert "[lldb/test] Enable debug info for TestFrameProviderCircularDependency.py"

This reverts commit 13b4eb9452d37106b1143723e658010a9b58d344 since it
doesn't fix the test failure.

Signed-off-by: Med Ismail Bennani <ismail at bennani.ma>


  Commit: 9878bac3a83b29e2970f2ce1b985e1afa78896d0
      https://github.com/llvm/llvm-project/commit/9878bac3a83b29e2970f2ce1b985e1afa78896d0
  Author: Jonas Devlieghere <jonas at devlieghere.com>
  Date:   2025-12-12 (Fri, 12 Dec 2025)

  Changed paths:
    M lldb/source/Interpreter/CommandInterpreter.cpp
    R lldb/test/Shell/Settings/Inputs/FailedCommand.in
    R lldb/test/Shell/Settings/TestEchoFailedCommands.test

  Log Message:
  -----------
  Revert "[lldb] Still echo the command if we print the error." (#172110)

Reverts llvm/llvm-project#171931 because the test is failing on Windows.


  Commit: a014906308f99832bfc2315b672f3e1dac039515
      https://github.com/llvm/llvm-project/commit/a014906308f99832bfc2315b672f3e1dac039515
  Author: Peter Collingbourne <pcc at google.com>
  Date:   2025-12-12 (Fri, 12 Dec 2025)

  Changed paths:
    M .ci/generate_test_report_lib.py
    M .ci/generate_test_report_lib_test.py
    M .ci/premerge_advisor_explain.py
    M .github/CODEOWNERS
    M .github/workflows/bazel-checks.yml
    M .github/workflows/build-ci-container-tooling.yml
    M .github/workflows/build-ci-container-windows.yml
    M .github/workflows/build-ci-container.yml
    M .github/workflows/build-metrics-container.yml
    M .github/workflows/check-ci.yml
    M .github/workflows/ci-post-commit-analyzer.yml
    M .github/workflows/commit-access-greeter.yml
    M .github/workflows/commit-access-review.yml
    M .github/workflows/docs.yml
    M .github/workflows/email-check.yaml
    M .github/workflows/gha-codeql.yml
    M .github/workflows/hlsl-test-all.yaml
    M .github/workflows/issue-release-workflow.yml
    M .github/workflows/issue-subscriber.yml
    M .github/workflows/issue-write.yml
    M .github/workflows/libc-fullbuild-tests.yml
    M .github/workflows/libc-overlay-tests.yml
    M .github/workflows/libclang-abi-tests.yml
    M .github/workflows/libclang-python-tests.yml
    M .github/workflows/libcxx-build-and-test.yaml
    M .github/workflows/libcxx-build-containers.yml
    M .github/workflows/libcxx-check-generated-files.yml
    M .github/workflows/libcxx-run-benchmarks.yml
    M .github/workflows/llvm-abi-tests.yml
    M .github/workflows/llvm-bugs.yml
    M .github/workflows/merged-prs.yml
    M .github/workflows/mlir-spirv-tests.yml
    M .github/workflows/new-prs.yml
    M .github/workflows/pr-code-format.yml
    M .github/workflows/pr-code-lint.yml
    M .github/workflows/pr-request-release-note.yml
    M .github/workflows/pr-subscriber.yml
    M .github/workflows/premerge.yaml
    M .github/workflows/release-asset-audit.yml
    M .github/workflows/release-binaries.yml
    M .github/workflows/release-documentation.yml
    M .github/workflows/release-doxygen.yml
    M .github/workflows/release-lit.yml
    M .github/workflows/release-sources.yml
    M .github/workflows/release-tasks.yml
    M .github/workflows/scorecard.yml
    M .github/workflows/spirv-tests.yml
    M .github/workflows/test-unprivileged-download-artifact.yml
    M .github/workflows/upload-release-artifact/action.yml
    M .github/workflows/version-check.yml
    M bolt/README.md
    M bolt/include/bolt/Core/BinaryContext.h
    M bolt/include/bolt/Core/BinaryFunction.h
    M bolt/include/bolt/Core/MCPlusBuilder.h
    M bolt/lib/Core/BinaryContext.cpp
    M bolt/lib/Core/BinaryFunction.cpp
    M bolt/lib/Passes/BinaryPasses.cpp
    M bolt/lib/Passes/Instrumentation.cpp
    M bolt/lib/Passes/PAuthGadgetScanner.cpp
    M bolt/lib/Passes/PointerAuthCFIAnalyzer.cpp
    M bolt/lib/Passes/VeneerElimination.cpp
    M bolt/lib/Rewrite/RewriteInstance.cpp
    M bolt/lib/Target/AArch64/AArch64MCPlusBuilder.cpp
    M bolt/runtime/instr.cpp
    M bolt/runtime/sys_aarch64.h
    M bolt/test/AArch64/constant-island-alignment.s
    M bolt/test/AArch64/epilogue-determination.s
    M bolt/test/AArch64/pacret-cfi-incorrect.s
    M bolt/test/AArch64/safe-icf.s
    A bolt/test/AArch64/validate-branch-target.s
    A bolt/test/AArch64/veneer-bolt.s
    M bolt/test/X86/unclaimed-jt-entries.s
    A bolt/test/X86/validate-branch-target.s
    A bolt/test/dwarf5-missing-dwo.c
    M bolt/test/runtime/AArch64/instrumentation-ind-call.c
    A bolt/test/runtime/AArch64/pacret-synchronous-unwind.cpp
    M bolt/test/runtime/X86/unclaimed-jt-entries.s
    M bolt/unittests/Core/MCPlusBuilder.cpp
    M clang-tools-extra/Maintainers.rst
    M clang-tools-extra/clang-doc/BitcodeReader.cpp
    M clang-tools-extra/clang-doc/BitcodeReader.h
    M clang-tools-extra/clang-doc/BitcodeWriter.cpp
    M clang-tools-extra/clang-doc/BitcodeWriter.h
    M clang-tools-extra/clang-doc/CMakeLists.txt
    M clang-tools-extra/clang-doc/Generators.cpp
    M clang-tools-extra/clang-doc/Generators.h
    M clang-tools-extra/clang-doc/HTMLGenerator.cpp
    R clang-tools-extra/clang-doc/HTMLMustacheGenerator.cpp
    M clang-tools-extra/clang-doc/JSONGenerator.cpp
    M clang-tools-extra/clang-doc/Mapper.cpp
    M clang-tools-extra/clang-doc/Representation.cpp
    M clang-tools-extra/clang-doc/Representation.h
    M clang-tools-extra/clang-doc/Serialize.cpp
    M clang-tools-extra/clang-doc/Serialize.h
    M clang-tools-extra/clang-doc/assets/class-template.mustache
    M clang-tools-extra/clang-doc/assets/function-template.mustache
    A clang-tools-extra/clang-doc/assets/head-template.mustache
    M clang-tools-extra/clang-doc/assets/namespace-template.mustache
    A clang-tools-extra/clang-doc/assets/navbar-template.mustache
    M clang-tools-extra/clang-doc/support/Utils.cpp
    M clang-tools-extra/clang-doc/support/Utils.h
    M clang-tools-extra/clang-doc/tool/CMakeLists.txt
    M clang-tools-extra/clang-doc/tool/ClangDocMain.cpp
    M clang-tools-extra/clang-tidy/.clang-tidy
    M clang-tools-extra/clang-tidy/ClangTidyDiagnosticConsumer.cpp
    M clang-tools-extra/clang-tidy/ClangTidyOptions.cpp
    M clang-tools-extra/clang-tidy/NoLintDirectiveHandler.cpp
    M clang-tools-extra/clang-tidy/altera/StructPackAlignCheck.cpp
    M clang-tools-extra/clang-tidy/altera/UnrollLoopsCheck.cpp
    M clang-tools-extra/clang-tidy/bugprone/BranchCloneCheck.cpp
    M clang-tools-extra/clang-tidy/bugprone/ChainedComparisonCheck.cpp
    M clang-tools-extra/clang-tidy/bugprone/DanglingHandleCheck.cpp
    M clang-tools-extra/clang-tidy/bugprone/NonZeroEnumToBoolConversionCheck.cpp
    M clang-tools-extra/clang-tidy/bugprone/SuspiciousMissingCommaCheck.cpp
    M clang-tools-extra/clang-tidy/bugprone/UnsafeFunctionsCheck.cpp
    M clang-tools-extra/clang-tidy/bugprone/UseAfterMoveCheck.cpp
    M clang-tools-extra/clang-tidy/bugprone/UseAfterMoveCheck.h
    M clang-tools-extra/clang-tidy/fuchsia/MultipleInheritanceCheck.cpp
    M clang-tools-extra/clang-tidy/fuchsia/MultipleInheritanceCheck.h
    R clang-tools-extra/clang-tidy/google/AvoidCStyleCastsCheck.cpp
    R clang-tools-extra/clang-tidy/google/AvoidCStyleCastsCheck.h
    M clang-tools-extra/clang-tidy/google/CMakeLists.txt
    M clang-tools-extra/clang-tidy/google/GoogleTidyModule.cpp
    M clang-tools-extra/clang-tidy/llvm/UseNewMLIROpBuilderCheck.cpp
    M clang-tools-extra/clang-tidy/misc/ConfusableIdentifierCheck.cpp
    M clang-tools-extra/clang-tidy/misc/MisleadingBidirectionalCheck.cpp
    M clang-tools-extra/clang-tidy/misc/MisleadingIdentifierCheck.cpp
    A clang-tools-extra/clang-tidy/modernize/AvoidCStyleCastCheck.cpp
    A clang-tools-extra/clang-tidy/modernize/AvoidCStyleCastCheck.h
    M clang-tools-extra/clang-tidy/modernize/CMakeLists.txt
    M clang-tools-extra/clang-tidy/modernize/MakeSmartPtrCheck.cpp
    M clang-tools-extra/clang-tidy/modernize/ModernizeTidyModule.cpp
    M clang-tools-extra/clang-tidy/openmp/UseDefaultNoneCheck.cpp
    M clang-tools-extra/clang-tidy/readability/FunctionCognitiveComplexityCheck.cpp
    M clang-tools-extra/clang-tidy/readability/RedundantControlFlowCheck.cpp
    M clang-tools-extra/clang-tidy/readability/RedundantControlFlowCheck.h
    M clang-tools-extra/clang-tidy/readability/RedundantInlineSpecifierCheck.cpp
    M clang-tools-extra/clang-tidy/readability/RedundantStringInitCheck.cpp
    M clang-tools-extra/clang-tidy/readability/RedundantTypenameCheck.cpp
    M clang-tools-extra/clang-tidy/readability/UseStdMinMaxCheck.cpp
    A clang-tools-extra/clang-tidy/tool/check_alphabetical_order.py
    A clang-tools-extra/clang-tidy/tool/check_alphabetical_order_test.py
    M clang-tools-extra/clang-tidy/utils/LexerUtils.cpp
    M clang-tools-extra/clang-tidy/utils/TransformerClangTidyCheck.cpp
    M clang-tools-extra/clang-tidy/utils/UseRangesCheck.cpp
    M clang-tools-extra/clangd/SemanticSelection.cpp
    M clang-tools-extra/clangd/SemanticSelection.h
    M clang-tools-extra/clangd/unittests/SemanticSelectionTests.cpp
    M clang-tools-extra/docs/ReleaseNotes.rst
    M clang-tools-extra/docs/clang-tidy/checks/bugprone/use-after-move.rst
    M clang-tools-extra/docs/clang-tidy/checks/google/readability-casting.rst
    M clang-tools-extra/docs/clang-tidy/checks/list.rst
    A clang-tools-extra/docs/clang-tidy/checks/modernize/avoid-c-style-cast.rst
    M clang-tools-extra/test/clang-doc/DR-131697.cpp
    M clang-tools-extra/test/clang-doc/assets.cpp
    M clang-tools-extra/test/clang-doc/basic-project.mustache.test
    M clang-tools-extra/test/clang-doc/basic-project.test
    M clang-tools-extra/test/clang-doc/comments-in-macros.cpp
    M clang-tools-extra/test/clang-doc/conversion_function.cpp
    M clang-tools-extra/test/clang-doc/enum.cpp
    M clang-tools-extra/test/clang-doc/json/class-requires.cpp
    M clang-tools-extra/test/clang-doc/json/class-specialization.cpp
    M clang-tools-extra/test/clang-doc/json/class-template.cpp
    M clang-tools-extra/test/clang-doc/json/class.cpp
    M clang-tools-extra/test/clang-doc/json/concept.cpp
    M clang-tools-extra/test/clang-doc/json/function-requires.cpp
    A clang-tools-extra/test/clang-doc/json/inheritance.cpp
    M clang-tools-extra/test/clang-doc/json/method-template.cpp
    M clang-tools-extra/test/clang-doc/json/namespace.cpp
    M clang-tools-extra/test/clang-doc/long-name.cpp
    M clang-tools-extra/test/clang-doc/mustache-index.cpp
    M clang-tools-extra/test/clang-doc/mustache-separate-namespace.cpp
    M clang-tools-extra/test/clang-doc/namespace.cpp
    M clang-tools-extra/test/clang-doc/templates.cpp
    R clang-tools-extra/test/clang-doc/test-path-abs.cpp
    A clang-tools-extra/test/clang-tidy/.clang-tidy
    M clang-tools-extra/test/clang-tidy/checkers/bugprone/use-after-move.cpp
    M clang-tools-extra/test/clang-tidy/checkers/fuchsia/multiple-inheritance.cpp
    R clang-tools-extra/test/clang-tidy/checkers/google/readability-casting.c
    R clang-tools-extra/test/clang-tidy/checkers/google/readability-casting.cpp
    A clang-tools-extra/test/clang-tidy/checkers/modernize/avoid-c-style-cast.c
    A clang-tools-extra/test/clang-tidy/checkers/modernize/avoid-c-style-cast.cpp
    M clang-tools-extra/test/clang-tidy/checkers/readability/redundant-control-flow.cpp
    M clang-tools-extra/test/clang-tidy/checkers/readability/redundant-typename.cpp
    M clang-tools-extra/test/clang-tidy/checkers/readability/use-std-min-max.cpp
    M clang-tools-extra/test/clang-tidy/infrastructure/Inputs/param/parameters.txt
    A clang-tools-extra/test/clang-tidy/infrastructure/alphabetical-order.test
    M clang-tools-extra/test/clang-tidy/infrastructure/empty-database.cpp
    M clang-tools-extra/test/clang-tidy/infrastructure/invalid-database.cpp
    M clang-tools-extra/test/clang-tidy/infrastructure/nolintbeginend-LIFO.cpp
    M clang-tools-extra/test/clang-tidy/infrastructure/nolintbeginend-begin-multiple-end-single.cpp
    M clang-tools-extra/test/clang-tidy/infrastructure/nolintbeginend-begin-single-end-multiple.cpp
    M clang-tools-extra/test/clang-tidy/infrastructure/nolintbeginend-mismatched-check-names.cpp
    M clang-tools-extra/test/lit.cfg.py
    M clang-tools-extra/unittests/clang-doc/BitcodeTest.cpp
    M clang-tools-extra/unittests/clang-doc/CMakeLists.txt
    M clang-tools-extra/unittests/clang-doc/ClangDocTest.cpp
    M clang-tools-extra/unittests/clang-doc/ClangDocTest.h
    M clang-tools-extra/unittests/clang-doc/HTMLGeneratorTest.cpp
    R clang-tools-extra/unittests/clang-doc/HTMLMustacheGeneratorTest.cpp
    M clang-tools-extra/unittests/clang-doc/JSONGeneratorTest.cpp
    M clang-tools-extra/unittests/clang-doc/MDGeneratorTest.cpp
    M clang-tools-extra/unittests/clang-doc/MergeTest.cpp
    M clang-tools-extra/unittests/clang-doc/SerializeTest.cpp
    M clang-tools-extra/unittests/clang-doc/YAMLGeneratorTest.cpp
    M clang-tools-extra/unittests/clang-tidy/ClangTidyOptionsTest.cpp
    A clang/docs/ClangIRCodeDuplication.rst
    M clang/docs/HIPSupport.rst
    M clang/docs/LanguageExtensions.rst
    M clang/docs/MatrixTypes.rst
    M clang/docs/Modules.rst
    M clang/docs/ReleaseNotes.rst
    M clang/docs/UsersManual.rst
    M clang/docs/index.rst
    M clang/include/clang/AST/ASTContext.h
    M clang/include/clang/AST/ASTMutationListener.h
    M clang/include/clang/AST/CanonicalType.h
    M clang/include/clang/AST/DeclCXX.h
    M clang/include/clang/AST/IgnoreExpr.h
    M clang/include/clang/AST/PrettyPrinter.h
    M clang/include/clang/AST/RecursiveASTVisitor.h
    M clang/include/clang/AST/Stmt.h
    M clang/include/clang/AST/VTableBuilder.h
    M clang/include/clang/Analysis/Analyses/LifetimeSafety/FactsGenerator.h
    M clang/include/clang/Analysis/Analyses/LifetimeSafety/LifetimeSafety.h
    M clang/include/clang/Analysis/Analyses/LifetimeSafety/Loans.h
    M clang/include/clang/Analysis/FlowSensitive/Models/UncheckedStatusOrAccessModel.h
    A clang/include/clang/Analysis/Scalable/ASTEntityMapping.h
    A clang/include/clang/Analysis/Scalable/Model/BuildNamespace.h
    A clang/include/clang/Analysis/Scalable/Model/EntityName.h
    M clang/include/clang/Basic/ABI.h
    M clang/include/clang/Basic/Attr.td
    M clang/include/clang/Basic/AttrDocs.td
    M clang/include/clang/Basic/Builtins.def
    M clang/include/clang/Basic/Builtins.h
    M clang/include/clang/Basic/Builtins.td
    M clang/include/clang/Basic/BuiltinsAMDGPU.def
    M clang/include/clang/Basic/BuiltinsBase.td
    M clang/include/clang/Basic/BuiltinsHexagon.td
    M clang/include/clang/Basic/BuiltinsNVPTX.td
    M clang/include/clang/Basic/BuiltinsSPIRVVK.td
    M clang/include/clang/Basic/BuiltinsX86.td
    M clang/include/clang/Basic/CodeGenOptions.def
    M clang/include/clang/Basic/Cuda.h
    M clang/include/clang/Basic/DiagnosticASTKinds.td
    M clang/include/clang/Basic/DiagnosticDriverKinds.td
    M clang/include/clang/Basic/DiagnosticGroups.td
    M clang/include/clang/Basic/DiagnosticParseKinds.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/OffloadArch.h
    M clang/include/clang/Basic/OpenCLExtensions.def
    M clang/include/clang/Basic/Sarif.h
    M clang/include/clang/Basic/StmtNodes.td
    M clang/include/clang/Basic/TargetBuiltins.h
    M clang/include/clang/Basic/TargetInfo.h
    M clang/include/clang/Basic/TokenKinds.def
    M clang/include/clang/Basic/arm_sve.td
    M clang/include/clang/Basic/arm_sve_sme_incl.td
    M clang/include/clang/CIR/Dialect/Builder/CIRBaseBuilder.h
    M clang/include/clang/CIR/Dialect/IR/CIRAttrs.h
    M clang/include/clang/CIR/Dialect/IR/CIRAttrs.td
    M clang/include/clang/CIR/Dialect/IR/CIROps.td
    M clang/include/clang/CIR/Dialect/IR/CIRTypeConstraints.td
    M clang/include/clang/CIR/Dialect/IR/CIRTypes.td
    M clang/include/clang/CIR/MissingFeatures.h
    M clang/include/clang/DependencyScanning/DependencyScannerImpl.h
    M clang/include/clang/DependencyScanning/DependencyScanningWorker.h
    M clang/include/clang/Frontend/SARIFDiagnostic.h
    M clang/include/clang/Options/Options.td
    M clang/include/clang/Parse/Parser.h
    M clang/include/clang/Sema/Overload.h
    M clang/include/clang/Sema/Sema.h
    M clang/include/clang/Sema/SemaARM.h
    M clang/include/clang/Sema/SemaRISCV.h
    M clang/include/clang/Serialization/ASTBitCodes.h
    M clang/include/clang/Serialization/ASTWriter.h
    M clang/include/clang/Tooling/DependencyScanningTool.h
    M clang/lib/AST/ASTContext.cpp
    M clang/lib/AST/ByteCode/Compiler.cpp
    M clang/lib/AST/ByteCode/Compiler.h
    M clang/lib/AST/ByteCode/Disasm.cpp
    M clang/lib/AST/ByteCode/InterpBuiltin.cpp
    M clang/lib/AST/Decl.cpp
    M clang/lib/AST/DeclCXX.cpp
    M clang/lib/AST/Expr.cpp
    M clang/lib/AST/ExprConstShared.h
    M clang/lib/AST/ExprConstant.cpp
    M clang/lib/AST/ItaniumMangle.cpp
    M clang/lib/AST/MicrosoftMangle.cpp
    M clang/lib/AST/RecordLayoutBuilder.cpp
    M clang/lib/AST/Stmt.cpp
    M clang/lib/AST/StmtPrinter.cpp
    M clang/lib/AST/StmtProfile.cpp
    M clang/lib/AST/VTableBuilder.cpp
    M clang/lib/ASTMatchers/ASTMatchersInternal.cpp
    M clang/lib/Analysis/CMakeLists.txt
    M clang/lib/Analysis/FlowSensitive/Models/UncheckedStatusOrAccessModel.cpp
    M clang/lib/Analysis/LifetimeSafety/Checker.cpp
    M clang/lib/Analysis/LifetimeSafety/Facts.cpp
    M clang/lib/Analysis/LifetimeSafety/FactsGenerator.cpp
    M clang/lib/Analysis/LifetimeSafety/Loans.cpp
    A clang/lib/Analysis/Scalable/ASTEntityMapping.cpp
    A clang/lib/Analysis/Scalable/CMakeLists.txt
    A clang/lib/Analysis/Scalable/Model/BuildNamespace.cpp
    A clang/lib/Analysis/Scalable/Model/EntityName.cpp
    M clang/lib/Analysis/ThreadSafety.cpp
    M clang/lib/Basic/Builtins.cpp
    M clang/lib/Basic/Cuda.cpp
    M clang/lib/Basic/FileManager.cpp
    M clang/lib/Basic/IdentifierTable.cpp
    M clang/lib/Basic/OffloadArch.cpp
    M clang/lib/Basic/Sarif.cpp
    M clang/lib/Basic/TargetInfo.cpp
    M clang/lib/Basic/Targets/AArch64.cpp
    M clang/lib/Basic/Targets/AArch64.h
    M clang/lib/Basic/Targets/AMDGPU.cpp
    M clang/lib/Basic/Targets/AMDGPU.h
    M clang/lib/Basic/Targets/ARC.h
    M clang/lib/Basic/Targets/ARM.cpp
    M clang/lib/Basic/Targets/AVR.h
    M clang/lib/Basic/Targets/BPF.h
    M clang/lib/Basic/Targets/CSKY.h
    M clang/lib/Basic/Targets/DirectX.h
    M clang/lib/Basic/Targets/Hexagon.h
    M clang/lib/Basic/Targets/Lanai.h
    M clang/lib/Basic/Targets/LoongArch.h
    M clang/lib/Basic/Targets/M68k.cpp
    M clang/lib/Basic/Targets/MSP430.h
    M clang/lib/Basic/Targets/Mips.h
    M clang/lib/Basic/Targets/NVPTX.cpp
    M clang/lib/Basic/Targets/OSTargets.h
    M clang/lib/Basic/Targets/PPC.h
    M clang/lib/Basic/Targets/RISCV.h
    M clang/lib/Basic/Targets/SPIR.h
    M clang/lib/Basic/Targets/Sparc.h
    M clang/lib/Basic/Targets/SystemZ.h
    M clang/lib/Basic/Targets/VE.h
    M clang/lib/Basic/Targets/WebAssembly.h
    M clang/lib/Basic/Targets/X86.h
    M clang/lib/Basic/Targets/XCore.h
    M clang/lib/Basic/Targets/Xtensa.h
    M clang/lib/CIR/CodeGen/CIRGenAtomic.cpp
    M clang/lib/CIR/CodeGen/CIRGenBuilder.h
    M clang/lib/CIR/CodeGen/CIRGenBuiltin.cpp
    M clang/lib/CIR/CodeGen/CIRGenBuiltinAArch64.cpp
    M clang/lib/CIR/CodeGen/CIRGenBuiltinX86.cpp
    M clang/lib/CIR/CodeGen/CIRGenCXXABI.h
    M clang/lib/CIR/CodeGen/CIRGenClass.cpp
    M clang/lib/CIR/CodeGen/CIRGenCleanup.cpp
    M clang/lib/CIR/CodeGen/CIRGenCleanup.h
    M clang/lib/CIR/CodeGen/CIRGenDecl.cpp
    M clang/lib/CIR/CodeGen/CIRGenDeclOpenACC.cpp
    M clang/lib/CIR/CodeGen/CIRGenException.cpp
    M clang/lib/CIR/CodeGen/CIRGenExpr.cpp
    M clang/lib/CIR/CodeGen/CIRGenExprCXX.cpp
    M clang/lib/CIR/CodeGen/CIRGenExprComplex.cpp
    M clang/lib/CIR/CodeGen/CIRGenExprConstant.cpp
    M clang/lib/CIR/CodeGen/CIRGenExprScalar.cpp
    M clang/lib/CIR/CodeGen/CIRGenFunction.cpp
    M clang/lib/CIR/CodeGen/CIRGenFunction.h
    M clang/lib/CIR/CodeGen/CIRGenItaniumCXXABI.cpp
    M clang/lib/CIR/CodeGen/CIRGenModule.cpp
    M clang/lib/CIR/CodeGen/CIRGenModule.h
    M clang/lib/CIR/CodeGen/CIRGenOpenACCClause.cpp
    M clang/lib/CIR/CodeGen/CIRGenOpenACCHelpers.h
    M clang/lib/CIR/CodeGen/CIRGenStmt.cpp
    M clang/lib/CIR/CodeGen/CIRGenTypes.cpp
    M clang/lib/CIR/CodeGen/CIRGenVTables.cpp
    M clang/lib/CIR/CodeGen/EHScopeStack.h
    M clang/lib/CIR/Dialect/IR/CIRAttrs.cpp
    M clang/lib/CIR/Dialect/IR/CIRDialect.cpp
    M clang/lib/CIR/Dialect/IR/CIRMemorySlot.cpp
    M clang/lib/CIR/Dialect/IR/CIRTypes.cpp
    M clang/lib/CIR/Dialect/Transforms/CIRCanonicalize.cpp
    M clang/lib/CIR/Dialect/Transforms/CMakeLists.txt
    A clang/lib/CIR/Dialect/Transforms/TargetLowering/CIRCXXABI.cpp
    A clang/lib/CIR/Dialect/Transforms/TargetLowering/CIRCXXABI.h
    A clang/lib/CIR/Dialect/Transforms/TargetLowering/CMakeLists.txt
    A clang/lib/CIR/Dialect/Transforms/TargetLowering/LowerItaniumCXXABI.cpp
    A clang/lib/CIR/Dialect/Transforms/TargetLowering/LowerModule.cpp
    A clang/lib/CIR/Dialect/Transforms/TargetLowering/LowerModule.h
    M clang/lib/CIR/Lowering/DirectToLLVM/CMakeLists.txt
    M clang/lib/CIR/Lowering/DirectToLLVM/LowerToLLVM.cpp
    M clang/lib/CIR/Lowering/DirectToLLVM/LowerToLLVM.h
    M clang/lib/CodeGen/BackendUtil.cpp
    M clang/lib/CodeGen/CGBuiltin.cpp
    M clang/lib/CodeGen/CGCXX.cpp
    M clang/lib/CodeGen/CGCXXABI.cpp
    M clang/lib/CodeGen/CGCXXABI.h
    M clang/lib/CodeGen/CGClass.cpp
    M clang/lib/CodeGen/CGDebugInfo.cpp
    M clang/lib/CodeGen/CGExpr.cpp
    M clang/lib/CodeGen/CGExprCXX.cpp
    M clang/lib/CodeGen/CGHLSLBuiltins.cpp
    M clang/lib/CodeGen/CGHLSLRuntime.h
    M clang/lib/CodeGen/CGOpenMPRuntime.cpp
    M clang/lib/CodeGen/CGOpenMPRuntimeGPU.cpp
    M clang/lib/CodeGen/CGStmt.cpp
    M clang/lib/CodeGen/CGVTables.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/ItaniumCXXABI.cpp
    M clang/lib/CodeGen/MicrosoftCXXABI.cpp
    M clang/lib/CodeGen/TargetBuiltins/ARM.cpp
    M clang/lib/CodeGen/TargetBuiltins/SPIR.cpp
    M clang/lib/CodeGen/Targets/AArch64.cpp
    M clang/lib/CodeGen/Targets/SPIR.cpp
    M clang/lib/DependencyScanning/DependencyScannerImpl.cpp
    M clang/lib/DependencyScanning/DependencyScanningWorker.cpp
    M clang/lib/Driver/Driver.cpp
    M clang/lib/Driver/Job.cpp
    M clang/lib/Driver/ToolChains/AMDGPU.cpp
    M clang/lib/Driver/ToolChains/Arch/AArch64.cpp
    M clang/lib/Driver/ToolChains/Clang.cpp
    M clang/lib/Driver/ToolChains/Flang.cpp
    M clang/lib/Driver/ToolChains/HLSL.cpp
    M clang/lib/ExtractAPI/DeclarationFragments.cpp
    M clang/lib/Format/TokenAnnotator.cpp
    M clang/lib/Format/UnwrappedLineParser.cpp
    M clang/lib/Frontend/CompilerInvocation.cpp
    M clang/lib/Frontend/InitPreprocessor.cpp
    M clang/lib/Frontend/SARIFDiagnostic.cpp
    M clang/lib/Headers/__clang_cuda_complex_builtins.h
    M clang/lib/Headers/__clang_hip_math.h
    M clang/lib/Headers/avx10_2_512niintrin.h
    M clang/lib/Headers/avx512vlvnniintrin.h
    M clang/lib/Headers/avx512vnniintrin.h
    M clang/lib/Headers/avxvnniint16intrin.h
    M clang/lib/Headers/avxvnniintrin.h
    M clang/lib/Headers/cpuid.h
    M clang/lib/Headers/gfniintrin.h
    M clang/lib/Headers/hlsl/hlsl_alias_intrinsics.h
    M clang/lib/Headers/hlsl/hlsl_intrinsic_helpers.h
    M clang/lib/Headers/hlsl/hlsl_intrinsics.h
    M clang/lib/Headers/opencl-c.h
    A clang/lib/Headers/stddefer.h
    M clang/lib/Interpreter/IncrementalAction.cpp
    M clang/lib/Parse/ParsePragma.cpp
    M clang/lib/Parse/ParseStmt.cpp
    M clang/lib/Sema/AnalysisBasedWarnings.cpp
    M clang/lib/Sema/JumpDiagnostics.cpp
    M clang/lib/Sema/SemaARM.cpp
    M clang/lib/Sema/SemaCUDA.cpp
    M clang/lib/Sema/SemaChecking.cpp
    M clang/lib/Sema/SemaConcept.cpp
    M clang/lib/Sema/SemaDecl.cpp
    M clang/lib/Sema/SemaDeclAttr.cpp
    M clang/lib/Sema/SemaDeclCXX.cpp
    M clang/lib/Sema/SemaExceptionSpec.cpp
    M clang/lib/Sema/SemaExpr.cpp
    M clang/lib/Sema/SemaExprCXX.cpp
    M clang/lib/Sema/SemaHLSL.cpp
    M clang/lib/Sema/SemaOverload.cpp
    M clang/lib/Sema/SemaRISCV.cpp
    M clang/lib/Sema/SemaSPIRV.cpp
    M clang/lib/Sema/SemaStmt.cpp
    M clang/lib/Sema/SemaTemplate.cpp
    M clang/lib/Sema/SemaTemplateDeductionGuide.cpp
    M clang/lib/Sema/TreeTransform.h
    M clang/lib/Serialization/ASTCommon.h
    M clang/lib/Serialization/ASTReaderDecl.cpp
    M clang/lib/Serialization/ASTReaderStmt.cpp
    M clang/lib/Serialization/ASTWriter.cpp
    M clang/lib/Serialization/ASTWriterDecl.cpp
    M clang/lib/Serialization/ASTWriterStmt.cpp
    M clang/lib/Serialization/GlobalModuleIndex.cpp
    M clang/lib/Serialization/ModuleCache.cpp
    M clang/lib/StaticAnalyzer/Checkers/MoveChecker.cpp
    M clang/lib/StaticAnalyzer/Checkers/WebKit/ASTUtils.cpp
    M clang/lib/StaticAnalyzer/Checkers/WebKit/ASTUtils.h
    M clang/lib/StaticAnalyzer/Checkers/WebKit/ForwardDeclChecker.cpp
    M clang/lib/StaticAnalyzer/Checkers/WebKit/PtrTypesSemantics.cpp
    M clang/lib/StaticAnalyzer/Checkers/WebKit/PtrTypesSemantics.h
    M clang/lib/StaticAnalyzer/Checkers/WebKit/RawPtrRefCallArgsChecker.cpp
    M clang/lib/StaticAnalyzer/Checkers/WebKit/RawPtrRefLambdaCapturesChecker.cpp
    M clang/lib/StaticAnalyzer/Checkers/WebKit/RawPtrRefLocalVarsChecker.cpp
    M clang/lib/StaticAnalyzer/Checkers/WebKit/RawPtrRefMemberChecker.cpp
    M clang/lib/StaticAnalyzer/Checkers/WebKit/RetainPtrCtorAdoptChecker.cpp
    M clang/lib/StaticAnalyzer/Core/ExprEngine.cpp
    M clang/lib/StaticAnalyzer/Core/HTMLDiagnostics.cpp
    M clang/lib/StaticAnalyzer/Core/SarifDiagnostics.cpp
    M clang/lib/Tooling/DependencyScanningTool.cpp
    M clang/lib/Tooling/Tooling.cpp
    M clang/lib/Tooling/Transformer/SourceCode.cpp
    M clang/test/AST/ByteCode/cxx20.cpp
    M clang/test/AST/ByteCode/new-delete.cpp
    M clang/test/AST/ByteCode/placement-new.cpp
    A clang/test/AST/ast-dump-defer-ts.c
    A clang/test/AST/ast-print-defer-ts.c
    M clang/test/AST/attr-target-version.c
    M clang/test/Analysis/Checkers/WebKit/call-args-checked.cpp
    M clang/test/Analysis/Checkers/WebKit/forward-decl-checker.mm
    M clang/test/Analysis/Checkers/WebKit/local-vars-checked-const-member.cpp
    M clang/test/Analysis/Checkers/WebKit/local-vars-counted-const-member.cpp
    M clang/test/Analysis/Checkers/WebKit/mock-types.h
    M clang/test/Analysis/Checkers/WebKit/objc-mock-types.h
    M clang/test/Analysis/Checkers/WebKit/retain-ptr-ctor-adopt-use.mm
    M clang/test/Analysis/Checkers/WebKit/uncounted-lambda-captures.cpp
    M clang/test/Analysis/Checkers/WebKit/uncounted-local-vars.cpp
    M clang/test/Analysis/Checkers/WebKit/uncounted-obj-arg.cpp
    M clang/test/Analysis/Checkers/WebKit/unretained-call-args.mm
    A clang/test/Analysis/Checkers/WebKit/unretained-lambda-captures-weak-arc.mm
    A clang/test/Analysis/Checkers/WebKit/unretained-lambda-captures-weak.mm
    A clang/test/Analysis/Checkers/WebKit/unretained-local-vars-weak-arc.mm
    A clang/test/Analysis/Checkers/WebKit/unretained-local-vars-weak.mm
    A clang/test/Analysis/Checkers/WebKit/unretained-members-weak-arc.mm
    A clang/test/Analysis/Checkers/WebKit/unretained-members-weak.mm
    A clang/test/Analysis/use-after-move-invalidation.cpp
    A clang/test/CIR/CodeGen/X86/avx512-reduceIntrin.c
    A clang/test/CIR/CodeGen/X86/avx512-reduceMinMaxIntrin.c
    A clang/test/CIR/CodeGen/X86/cir-sqrt-builtins.c
    A clang/test/CIR/CodeGen/atomic-scoped.c
    A clang/test/CIR/CodeGen/atomic-thread-fence.c
    M clang/test/CIR/CodeGen/atomic.c
    A clang/test/CIR/CodeGen/choose-expr.cpp
    A clang/test/CIR/CodeGen/concept-specialization.cpp
    A clang/test/CIR/CodeGen/cxx-traits.cpp
    A clang/test/CIR/CodeGen/kr-func-promote.c
    M clang/test/CIR/CodeGen/label-values.c
    M clang/test/CIR/CodeGen/mms-bitfields.c
    A clang/test/CIR/CodeGen/ms-barriers-intrinsics.c
    A clang/test/CIR/CodeGen/noexcept.cpp
    M clang/test/CIR/CodeGen/nrvo.cpp
    A clang/test/CIR/CodeGen/pointer-to-data-member.cpp
    A clang/test/CIR/CodeGen/source-loc.cpp
    M clang/test/CIR/CodeGen/stmt-expr.cpp
    M clang/test/CIR/CodeGen/switch.cpp
    M clang/test/CIR/CodeGen/switch_flat_op.cpp
    A clang/test/CIR/CodeGen/tls.c
    M clang/test/CIR/CodeGen/try-catch-tmp.cpp
    A clang/test/CIR/CodeGen/wide-string.cpp
    M clang/test/CIR/CodeGenBuiltins/X86/avx512f-builtins.c
    M clang/test/CIR/CodeGenBuiltins/X86/avx512fp16-builtins.c
    M clang/test/CIR/CodeGenBuiltins/X86/avx512vl-builtins.c
    A clang/test/CIR/CodeGenBuiltins/X86/avx512vlfp16-builtins.c
    A clang/test/CIR/CodeGenBuiltins/X86/avx512vlvbmi2-builtins.c
    A clang/test/CIR/CodeGenBuiltins/X86/xsave-builtins.c
    A clang/test/CIR/CodeGenOpenACC/routine-bind.c
    A clang/test/CIR/CodeGenOpenACC/routine-bind.cpp
    A clang/test/CIR/CodeGenOpenACC/routine-device_type.cpp
    A clang/test/CIR/IR/catch-param.cir
    M clang/test/CIR/IR/func.cir
    A clang/test/CIR/IR/indirect-br.cir
    A clang/test/CIR/IR/invalid-data-member.cir
    A clang/test/CIR/IR/invalid-tls.cir
    A clang/test/CIR/IR/select.cir
    M clang/test/CIR/IR/switch.cir
    M clang/test/CIR/IR/try-catch.cir
    M clang/test/CIR/Lowering/eh-inflight.cir
    M clang/test/CIR/Transforms/switch-fold.cir
    M clang/test/ClangScanDeps/modules-full-by-mod-name.c
    M clang/test/ClangScanDeps/modules-full-by-mult-mod-names.c
    M clang/test/CodeGen/2007-05-07-PaddingElements.c
    M clang/test/CodeGen/AArch64/fix-cortex-a53-835769.c
    M clang/test/CodeGen/AArch64/fmv-duplicate-mangled-name.c
    A clang/test/CodeGen/AArch64/fmv-explicit-priority.c
    A clang/test/CodeGen/AArch64/sme2-intrinsics/acle_sme2_bfmul.c
    A clang/test/CodeGen/AArch64/sme2-intrinsics/acle_sme2_bfscale.c
    A clang/test/CodeGen/AArch64/sme2p2-intrinsics/acle_sme2p2_fmul.c
    A clang/test/CodeGen/AArch64/sve-intrinsics/acle_sve_fmmla-f32f16.c
    M clang/test/CodeGen/AArch64/sve-intrinsics/acle_sve_matmul_fp32.c
    M clang/test/CodeGen/AArch64/sve-intrinsics/acle_sve_matmul_fp64.c
    A clang/test/CodeGen/AArch64/sve2-intrinsics/acle_sve2_fmmla-f16mf8.c
    A clang/test/CodeGen/AArch64/sve2-intrinsics/acle_sve2_fmmla-f32mf8.c
    M clang/test/CodeGen/AArch64/sve2-intrinsics/acle_sve2_hsub.c
    M clang/test/CodeGen/AArch64/sve2-intrinsics/acle_sve2_hsubr.c
    M clang/test/CodeGen/AArch64/sve2-intrinsics/acle_sve2_qrshl.c
    M clang/test/CodeGen/AArch64/sve2-intrinsics/acle_sve2_qshl.c
    M clang/test/CodeGen/AArch64/sve2-intrinsics/acle_sve2_rshl.c
    M clang/test/CodeGen/X86/amx_tf32.c
    M clang/test/CodeGen/X86/amx_tf32_api.c
    M clang/test/CodeGen/X86/amx_tf32_errors.c
    M clang/test/CodeGen/X86/amx_tf32_inline_asm.c
    M clang/test/CodeGen/X86/avx10_2_512ni-builtins.c
    M clang/test/CodeGen/X86/avx10_2ni-builtins.c
    M clang/test/CodeGen/X86/avx512vlvnni-builtins.c
    M clang/test/CodeGen/X86/avx512vnni-builtins.c
    M clang/test/CodeGen/X86/avxvnni-builtins.c
    M clang/test/CodeGen/X86/avxvnniint16-builtins.c
    M clang/test/CodeGen/X86/gfni-builtins.c
    M clang/test/CodeGen/attr-counted-by-for-pointers.c
    M clang/test/CodeGen/attr-counted-by.c
    M clang/test/CodeGen/builtin-counted-by-ref.c
    M clang/test/CodeGen/builtins.c
    M clang/test/CodeGen/cfi-salt.c
    A clang/test/CodeGen/defer-ts-musttail.c
    A clang/test/CodeGen/defer-ts-nested-cleanups.c
    A clang/test/CodeGen/defer-ts-seh.c
    A clang/test/CodeGen/defer-ts.c
    A clang/test/CodeGen/gcc_struct-msvc-todo-1.c
    A clang/test/CodeGen/gcc_struct-msvc-todo-2.c
    A clang/test/CodeGen/gcc_struct.c
    A clang/test/CodeGen/half-float16-vector-compatibility.cl
    M clang/test/CodeGen/kcfi.c
    M clang/test/CodeGen/mingw-long-double.c
    M clang/test/CodeGen/mms-bitfields.c
    M clang/test/CodeGenCUDA/amdgpu-kernel-arg-pointer-type.cu
    M clang/test/CodeGenCUDA/kernel-args.cu
    M clang/test/CodeGenCXX/dllexport.cpp
    M clang/test/CodeGenCXX/dllimport.cpp
    M clang/test/CodeGenCXX/microsoft-abi-extern-template.cpp
    M clang/test/CodeGenCXX/microsoft-abi-structors.cpp
    M clang/test/CodeGenCXX/microsoft-abi-thunks.cpp
    M clang/test/CodeGenCXX/microsoft-abi-vftables.cpp
    M clang/test/CodeGenCXX/microsoft-abi-virtual-inheritance.cpp
    M clang/test/CodeGenCXX/microsoft-abi-vtables-multiple-nonvirtual-inheritance-vdtors.cpp
    M clang/test/CodeGenCXX/microsoft-abi-vtables-return-thunks.cpp
    M clang/test/CodeGenCXX/microsoft-abi-vtables-single-inheritance.cpp
    M clang/test/CodeGenCXX/microsoft-abi-vtables-virtual-inheritance-vtordisps.cpp
    M clang/test/CodeGenCXX/microsoft-abi-vtables-virtual-inheritance.cpp
    M clang/test/CodeGenCXX/microsoft-no-rtti-data.cpp
    A clang/test/CodeGenCXX/microsoft-vector-deleting-dtors.cpp
    A clang/test/CodeGenCXX/microsoft-vector-deleting-dtors2.cpp
    M clang/test/CodeGenCXX/mingw-template-dllexport.cpp
    A clang/test/CodeGenCXX/speculative-devirt-metadata.cpp
    M clang/test/CodeGenCXX/vtable-consteval.cpp
    A clang/test/CodeGenHIP/amdgcnspirv-uses-amdgpu-abi.cpp
    A clang/test/CodeGenHLSL/BasicFeatures/MatrixSplat.hlsl
    A clang/test/CodeGenHLSL/builtins/ddx-fine-builtin.hlsl
    A clang/test/CodeGenHLSL/builtins/ddx-fine.hlsl
    A clang/test/CodeGenHLSL/builtins/ddx.hlsl
    A clang/test/CodeGenHLSL/builtins/ddy-fine-builtin.hlsl
    A clang/test/CodeGenHLSL/builtins/ddy-fine.hlsl
    A clang/test/CodeGenHLSL/builtins/ddy.hlsl
    M clang/test/CodeGenOpenCL/amdgpu-cluster-dims.cl
    M clang/test/CodeGenOpenCL/amdgpu-features.cl
    M clang/test/CodeGenOpenCL/builtins-amdgcn-gfx1250.cl
    A clang/test/CodeGenSPIRV/Builtins/ddx.c
    A clang/test/CodeGenSPIRV/Builtins/ddy.c
    M clang/test/DebugInfo/CXX/ms-dtor-thunks.cpp
    M clang/test/DebugInfo/CXX/windows-dtor.cpp
    M clang/test/DebugInfo/Generic/bounds-checking-debuginfo.c
    M clang/test/Driver/aarch64-fix-cortex-a53-835769.c
    M clang/test/Driver/clang_f_opts.c
    A clang/test/Driver/fmatrix-memory-layout.c
    A clang/test/Driver/fsanitize-annotate-debug-info.c
    A clang/test/Driver/fsanitize-baremetal.c
    A clang/test/Driver/fsanitize-cfi.c
    A clang/test/Driver/fsanitize-leak.c
    A clang/test/Driver/fsanitize-memtag.c
    A clang/test/Driver/fsanitize-merge.c
    A clang/test/Driver/fsanitize-minimal-runtime.c
    A clang/test/Driver/fsanitize-numerical.c
    A clang/test/Driver/fsanitize-realtime.c
    A clang/test/Driver/fsanitize-recover.c
    A clang/test/Driver/fsanitize-safe-stack.c
    A clang/test/Driver/fsanitize-scudo.c
    A clang/test/Driver/fsanitize-skip-hot-cutoff.c
    A clang/test/Driver/fsanitize-trap.c
    A clang/test/Driver/fsanitize-undefined.c
    M clang/test/Driver/fsanitize.c
    A clang/test/Driver/hlsl_matrix_pack_order.hlsl
    M clang/test/Driver/ms-bitfields.c
    A clang/test/Driver/print-enabled-extensions/aarch64-apple-m5.c
    M clang/test/Driver/print-supported-cpus-aarch64.c
    M clang/test/Driver/print-supported-extensions-riscv.c
    M clang/test/Driver/spirv-amd-toolchain.c
    M clang/test/ExtractAPI/typedef.c
    M clang/test/Headers/__clang_hip_math.hip
    M clang/test/Headers/amdgcn-openmp-device-math-complex.c
    M clang/test/Headers/amdgcn-openmp-device-math-complex.cpp
    M clang/test/Headers/nvptx_device_math_complex.c
    M clang/test/Headers/nvptx_device_math_complex.cpp
    M clang/test/Interpreter/pretty-print.c
    M clang/test/Layout/itanium-union-bitfield.cpp
    A clang/test/Lexer/defer-keyword.cpp
    M clang/test/Misc/amdgcn.languageOptsOpenCL.cl
    M clang/test/Misc/pragma-attribute-supported-attributes-list.test
    M clang/test/Misc/target-invalid-cpu-note/aarch64.c
    M clang/test/Misc/target-invalid-cpu-note/nvptx.c
    A clang/test/Modules/Inputs/msvc-vector-deleting-dtors/module.modulemap
    A clang/test/Modules/Inputs/msvc-vector-deleting-dtors/msvc-vector-deleting-dtors.h
    A clang/test/Modules/msvc-vector-deleting-destructors.cpp
    M clang/test/Modules/vtable-windows.cppm
    M clang/test/OpenMP/amdgcn_target_device_vla.cpp
    M clang/test/OpenMP/amdgpu_target_with_aligned_attribute.c
    M clang/test/OpenMP/declare_target_codegen_globalization.cpp
    M clang/test/OpenMP/irbuilder_for_unsigned_static_chunked.c
    M clang/test/OpenMP/metadirective_device_arch_codegen.cpp
    M clang/test/OpenMP/metadirective_device_isa_codegen_amdgcn.cpp
    M clang/test/OpenMP/nvptx_SPMD_codegen.cpp
    M clang/test/OpenMP/nvptx_allocate_codegen.cpp
    M clang/test/OpenMP/nvptx_data_sharing.cpp
    M clang/test/OpenMP/nvptx_distribute_parallel_generic_mode_codegen.cpp
    M clang/test/OpenMP/nvptx_lambda_capturing.cpp
    M clang/test/OpenMP/nvptx_multi_target_parallel_codegen.cpp
    M clang/test/OpenMP/nvptx_nested_parallel_codegen.cpp
    M clang/test/OpenMP/nvptx_parallel_codegen.cpp
    M clang/test/OpenMP/nvptx_parallel_for_codegen.cpp
    M clang/test/OpenMP/nvptx_target_codegen.cpp
    M clang/test/OpenMP/nvptx_target_parallel_codegen.cpp
    M clang/test/OpenMP/nvptx_target_parallel_num_threads_codegen.cpp
    M clang/test/OpenMP/nvptx_target_parallel_proc_bind_codegen.cpp
    M clang/test/OpenMP/nvptx_target_parallel_reduction_codegen.cpp
    M clang/test/OpenMP/nvptx_target_parallel_reduction_codegen_tbaa_PR46146.cpp
    M clang/test/OpenMP/nvptx_target_teams_codegen.cpp
    M clang/test/OpenMP/nvptx_target_teams_distribute_codegen.cpp
    M clang/test/OpenMP/nvptx_target_teams_distribute_parallel_for_codegen.cpp
    M clang/test/OpenMP/nvptx_target_teams_distribute_parallel_for_generic_mode_codegen.cpp
    M clang/test/OpenMP/nvptx_target_teams_distribute_parallel_for_simd_codegen.cpp
    M clang/test/OpenMP/nvptx_target_teams_generic_loop_codegen.cpp
    M clang/test/OpenMP/nvptx_teams_reduction_codegen.cpp
    M clang/test/OpenMP/reduction_implicit_map.cpp
    M clang/test/OpenMP/target_defaultmap_codegen_01.cpp
    A clang/test/OpenMP/target_firstprivate_pointer_codegen.cpp
    M clang/test/OpenMP/target_map_codegen_26.cpp
    M clang/test/OpenMP/target_parallel_debug_codegen.cpp
    M clang/test/OpenMP/target_parallel_for_debug_codegen.cpp
    M clang/test/OpenMP/target_parallel_generic_loop_codegen-3.cpp
    M clang/test/OpenMP/target_parallel_generic_loop_codegen.cpp
    M clang/test/OpenMP/target_teams_generic_loop_codegen.cpp
    M clang/test/OpenMP/target_teams_generic_loop_codegen_as_parallel_for.cpp
    A clang/test/PCH/Inputs/msvc-vector-deleting-dtors.h
    A clang/test/PCH/msvc-vector-deleting-destructors.cpp
    A clang/test/Parser/defer-ts.c
    A clang/test/Parser/defer-ts.cpp
    A clang/test/Parser/pragma-loop-vectorize.cpp
    A clang/test/Preprocessor/defer-ts.c
    M clang/test/Profile/cxx-abc-deleting-dtor.cpp
    M clang/test/Sema/AArch64/sve-vector-conditional-op.cpp
    M clang/test/Sema/attr-target-clones-aarch64.c
    M clang/test/Sema/attr-target-version.c
    M clang/test/Sema/builtin-counted-by-ref.c
    A clang/test/Sema/defer-ts-seh.c
    A clang/test/Sema/defer-ts-sjlj.c
    A clang/test/Sema/defer-ts.c
    A clang/test/Sema/format-attr-missing-gnu.c
    A clang/test/Sema/format-attr-missing.c
    A clang/test/Sema/format-attr-missing.cpp
    A clang/test/Sema/format-attr-missing.m
    A clang/test/Sema/format-strings-nonnull.c
    A clang/test/Sema/format-strings-nonnull.cpp
    M clang/test/Sema/format-strings-scanf.c
    M clang/test/Sema/format-strings.c
    A clang/test/Sema/gcc_ms_struct.c
    A clang/test/Sema/matrix-col-major-builtin-disable.c
    M clang/test/Sema/mms-bitfields.c
    M clang/test/Sema/warn-fortify-scanf.c
    A clang/test/Sema/warn-lifetime-safety-suggestions.cpp
    A clang/test/SemaCUDA/deduction-guide-attrs.cu
    A clang/test/SemaCUDA/deduction-guide-overload.cu
    A clang/test/SemaCUDA/deduction-guide.cu
    M clang/test/SemaCXX/anonymous-struct.cpp
    A clang/test/SemaCXX/dllexport-explicit-instantiation.cpp
    M clang/test/SemaCXX/dllexport.cpp
    M clang/test/SemaCXX/format-strings-0x.cpp
    M clang/test/SemaCXX/format-strings.cpp
    A clang/test/SemaCXX/gh134265.cpp
    M clang/test/SemaCXX/ms_struct-bitfield-padding.cpp
    M clang/test/SemaCXX/ms_struct.cpp
    M clang/test/SemaCXX/ms_wide_bitfield.cpp
    M clang/test/SemaCXX/type-traits.cpp
    M clang/test/SemaCXX/warn-thread-safety-analysis.cpp
    A clang/test/SemaHLSL/BuiltIns/ddx-fine-errors.hlsl
    A clang/test/SemaHLSL/BuiltIns/ddy-fine-errors.hlsl
    M clang/test/SemaHLSL/MatrixElementOverloadResolution.hlsl
    A clang/test/SemaHLSL/Types/BuiltinMatrix/MatrixSplatErrors.hlsl
    M clang/test/SemaObjC/format-strings-objc.m
    M clang/test/SemaObjCXX/arc-0x.mm
    M clang/test/SemaOpenCL/extension-version.cl
    A clang/test/SemaOpenCL/half-float16-vector-compatibility.cl
    A clang/test/SemaOpenCL/intel-unsupported-extensions.cl
    A clang/test/SemaSPIRV/BuiltIns/ddx-errors.c
    A clang/test/SemaSPIRV/BuiltIns/ddy-errors.c
    M clang/tools/clang-scan-deps/ClangScanDeps.cpp
    M clang/tools/driver/cc1_main.cpp
    M clang/tools/driver/cc1as_main.cpp
    M clang/tools/libclang/CXCursor.cpp
    M clang/unittests/Analysis/CMakeLists.txt
    M clang/unittests/Analysis/FlowSensitive/MockHeaders.cpp
    M clang/unittests/Analysis/FlowSensitive/UncheckedStatusOrAccessModelTestFixture.cpp
    M clang/unittests/Analysis/LifetimeSafetyTest.cpp
    A clang/unittests/Analysis/Scalable/ASTEntityMappingTest.cpp
    A clang/unittests/Analysis/Scalable/BuildNamespaceTest.cpp
    A clang/unittests/Analysis/Scalable/CMakeLists.txt
    A clang/unittests/Analysis/Scalable/EntityNameTest.cpp
    M clang/unittests/Basic/SarifTest.cpp
    M clang/unittests/Format/TokenAnnotatorTest.cpp
    M clang/unittests/Frontend/CompilerInvocationTest.cpp
    M clang/unittests/Support/TimeProfilerTest.cpp
    M clang/unittests/Tooling/SourceCodeTest.cpp
    M clang/unittests/Tooling/ToolingTest.cpp
    M clang/utils/ClangVisualizers/clang.natvis
    M clang/utils/TableGen/CIRLoweringEmitter.cpp
    M clang/utils/TableGen/ClangDiagnosticsEmitter.cpp
    M compiler-rt/CMakeLists.txt
    M compiler-rt/cmake/Modules/AllSupportedArchDefs.cmake
    M compiler-rt/cmake/config-ix.cmake
    M compiler-rt/include/sanitizer/asan_interface.h
    M compiler-rt/lib/asan/asan_allocator.h
    M compiler-rt/lib/asan/asan_fake_stack.cpp
    M compiler-rt/lib/asan/asan_interceptors.h
    M compiler-rt/lib/asan/asan_interface.inc
    M compiler-rt/lib/asan/asan_thread.cpp
    M compiler-rt/lib/asan/asan_thread.h
    M compiler-rt/lib/asan_abi/asan_abi.cpp
    M compiler-rt/lib/asan_abi/asan_abi.h
    M compiler-rt/lib/asan_abi/asan_abi_shim.cpp
    M compiler-rt/lib/builtins/cpu_model/aarch64.c
    M compiler-rt/lib/builtins/cpu_model/aarch64/fmv/android.inc
    M compiler-rt/lib/builtins/cpu_model/aarch64/fmv/elf_aux_info.inc
    M compiler-rt/lib/builtins/cpu_model/aarch64/fmv/getauxval.inc
    M compiler-rt/lib/builtins/cpu_model/aarch64/hwcap.inc
    M compiler-rt/lib/hwasan/hwasan_allocator.h
    M compiler-rt/lib/orc/CMakeLists.txt
    A compiler-rt/lib/orc/elfnix_tls.systemz.S
    M compiler-rt/lib/profile/CMakeLists.txt
    M compiler-rt/lib/profile/InstrProfiling.c
    M compiler-rt/lib/profile/InstrProfiling.h
    M compiler-rt/lib/profile/InstrProfilingMerge.c
    M compiler-rt/lib/profile/InstrProfilingMergeFile.c
    M compiler-rt/lib/profile/InstrProfilingPlatformLinux.c
    M compiler-rt/lib/profile/InstrProfilingPlatformOther.c
    M compiler-rt/lib/profile/InstrProfilingPort.h
    M compiler-rt/lib/sanitizer_common/sanitizer_linux.cpp
    M compiler-rt/lib/sanitizer_common/sanitizer_mac.cpp
    M compiler-rt/lib/sanitizer_common/sanitizer_platform_limits_posix.h
    M compiler-rt/lib/sanitizer_common/sanitizer_posix.h
    M compiler-rt/lib/sanitizer_common/sanitizer_symbolizer_internal.h
    M compiler-rt/lib/sanitizer_common/sanitizer_symbolizer_libcdep.cpp
    M compiler-rt/lib/sanitizer_common/sanitizer_symbolizer_posix_libcdep.cpp
    M compiler-rt/lib/sanitizer_common/symbolizer/scripts/build_symbolizer.sh
    M compiler-rt/lib/scudo/standalone/common.h
    M compiler-rt/lib/scudo/standalone/fuchsia.cpp
    M compiler-rt/lib/scudo/standalone/linux.cpp
    M compiler-rt/lib/scudo/standalone/primary64.h
    M compiler-rt/lib/scudo/standalone/release.h
    M compiler-rt/lib/scudo/standalone/secondary.h
    M compiler-rt/lib/scudo/standalone/tests/checksum_test.cpp
    M compiler-rt/lib/scudo/standalone/tests/combined_test.cpp
    M compiler-rt/lib/scudo/standalone/tests/common_test.cpp
    M compiler-rt/lib/scudo/standalone/tests/wrappers_cpp_test.cpp
    M compiler-rt/lib/scudo/standalone/trusty.cpp
    M compiler-rt/lib/scudo/standalone/trusty.h
    M compiler-rt/lib/scudo/standalone/tsd_exclusive.h
    M compiler-rt/lib/scudo/standalone/tsd_shared.h
    M compiler-rt/lib/tsan/go/test.c
    M compiler-rt/lib/tsan/rtl/tsan_trace.h
    M compiler-rt/lib/ubsan_minimal/ubsan_minimal_handlers.cpp
    M compiler-rt/test/asan/TestCases/Posix/deep_call_stack.cpp
    M compiler-rt/test/asan/TestCases/scariness_score_test.cpp
    A compiler-rt/test/asan/TestCases/suppress_fake_stack.cpp
    A compiler-rt/test/asan/TestCases/suppress_fake_stack_force_disabled.cpp
    M compiler-rt/test/builtins/Unit/ppc/fixtfti_test.c
    M compiler-rt/test/builtins/Unit/ppc/fixunstfti_test.c
    M compiler-rt/test/fuzzer/reduce_inputs.test
    M compiler-rt/test/lit.common.cfg.py
    A compiler-rt/test/orc/TestCases/Linux/systemz/ehframe-default.cpp
    A compiler-rt/test/orc/TestCases/Linux/systemz/ehframe-libunwind.cpp
    A compiler-rt/test/orc/TestCases/Linux/systemz/lit.local.cfg.py
    A compiler-rt/test/orc/TestCases/Linux/systemz/lljit-ehframe.cpp
    A compiler-rt/test/orc/TestCases/Linux/systemz/lljit-initialize-deinitialize.ll
    A compiler-rt/test/orc/TestCases/Linux/systemz/priority-static-initializer.S
    A compiler-rt/test/orc/TestCases/Linux/systemz/trivial-atexit.S
    A compiler-rt/test/orc/TestCases/Linux/systemz/trivial-cxa-atexit.S
    A compiler-rt/test/orc/TestCases/Linux/systemz/trivial-static-initializer.S
    A compiler-rt/test/orc/TestCases/Linux/systemz/trivial-tls.S
    M compiler-rt/test/profile/Linux/instrprof-debug-info-correlate-debuginfod.c
    M compiler-rt/test/sanitizer_common/CMakeLists.txt
    M compiler-rt/test/sanitizer_common/TestCases/Darwin/print-stack-trace-in-code-loaded-after-fork.cpp
    M compiler-rt/test/sanitizer_common/TestCases/Darwin/symbolizer-function-offset-atos.cpp
    M compiler-rt/test/sanitizer_common/TestCases/Linux/soft_rss_limit_mb_test.cpp
    M compiler-rt/test/sanitizer_common/TestCases/Posix/popen.cpp
    M compiler-rt/test/sanitizer_common/TestCases/Posix/posix_spawn.c
    M compiler-rt/test/sanitizer_common/TestCases/sanitizer_coverage_trace_pc_guard.cpp
    M compiler-rt/test/sanitizer_common/lit.site.cfg.py.in
    M compiler-rt/test/xray/TestCases/Posix/basic-filtering.cpp
    M compiler-rt/test/xray/TestCases/Posix/fdr-mode.cpp
    M cross-project-tests/debuginfo-tests/dexter/dex/debugger/DAP.py
    M flang-rt/include/flang-rt/runtime/buffer.h
    M flang-rt/lib/cuda/allocatable.cpp
    M flang-rt/lib/cuda/pointer.cpp
    M flang-rt/lib/runtime/CMakeLists.txt
    M flang-rt/lib/runtime/assign.cpp
    M flang-rt/lib/runtime/exceptions.cpp
    M flang-rt/lib/runtime/pseudo-unit.cpp
    M flang-rt/lib/runtime/unit.h
    M flang/docs/Aliasing.md
    M flang/docs/GettingStarted.md
    M flang/docs/OptionComparison.md
    M flang/docs/Unsigned.md
    M flang/docs/index.md
    M flang/examples/FeatureList/FeatureList.cpp
    M flang/include/flang/Lower/AbstractConverter.h
    M flang/include/flang/Lower/CUDA.h
    M flang/include/flang/Lower/ConvertVariable.h
    M flang/include/flang/Lower/DirectivesCommon.h
    M flang/include/flang/Lower/OpenMP/Clauses.h
    M flang/include/flang/Lower/Support/Utils.h
    M flang/include/flang/Lower/SymbolMap.h
    M flang/include/flang/Optimizer/Analysis/AliasAnalysis.h
    M flang/include/flang/Optimizer/Analysis/TBAAForest.h
    M flang/include/flang/Optimizer/Builder/FIRBuilder.h
    M flang/include/flang/Optimizer/Dialect/CUF/CUFOps.td
    M flang/include/flang/Optimizer/Dialect/FIRAttr.td
    M flang/include/flang/Optimizer/Dialect/FortranVariableInterface.td
    M flang/include/flang/Parser/dump-parse-tree.h
    M flang/include/flang/Parser/openmp-utils.h
    M flang/include/flang/Parser/parse-tree.h
    M flang/include/flang/Runtime/CUDA/allocatable.h
    M flang/include/flang/Runtime/CUDA/pointer.h
    M flang/include/flang/Runtime/exceptions.h
    M flang/include/flang/Semantics/openmp-modifiers.h
    M flang/include/flang/Semantics/openmp-utils.h
    M flang/lib/Frontend/FrontendActions.cpp
    M flang/lib/Lower/Allocatable.cpp
    M flang/lib/Lower/CUDA.cpp
    M flang/lib/Lower/ConvertExprToHLFIR.cpp
    M flang/lib/Lower/ConvertVariable.cpp
    M flang/lib/Lower/OpenACC.cpp
    M flang/lib/Lower/OpenMP/ClauseProcessor.cpp
    M flang/lib/Lower/OpenMP/ClauseProcessor.h
    M flang/lib/Lower/OpenMP/Clauses.cpp
    M flang/lib/Lower/OpenMP/OpenMP.cpp
    M flang/lib/Lower/Support/Utils.cpp
    M flang/lib/Lower/SymbolMap.cpp
    M flang/lib/Optimizer/Analysis/AliasAnalysis.cpp
    M flang/lib/Optimizer/Analysis/TBAAForest.cpp
    M flang/lib/Optimizer/Builder/CUDAIntrinsicCall.cpp
    M flang/lib/Optimizer/Builder/FIRBuilder.cpp
    M flang/lib/Optimizer/HLFIR/Transforms/SimplifyHLFIRIntrinsics.cpp
    M flang/lib/Optimizer/Transforms/AddAliasTags.cpp
    M flang/lib/Optimizer/Transforms/CUDA/CUFAllocationConversion.cpp
    M flang/lib/Optimizer/Transforms/FIRToSCF.cpp
    M flang/lib/Parser/openmp-parsers.cpp
    M flang/lib/Parser/openmp-utils.cpp
    M flang/lib/Parser/unparse.cpp
    M flang/lib/Semantics/canonicalize-do.cpp
    M flang/lib/Semantics/check-data.cpp
    M flang/lib/Semantics/check-omp-loop.cpp
    M flang/lib/Semantics/check-omp-structure.cpp
    M flang/lib/Semantics/check-omp-structure.h
    M flang/lib/Semantics/data-to-inits.cpp
    M flang/lib/Semantics/data-to-inits.h
    M flang/lib/Semantics/mod-file.cpp
    M flang/lib/Semantics/openmp-modifiers.cpp
    M flang/lib/Semantics/openmp-utils.cpp
    M flang/lib/Semantics/resolve-directives.cpp
    M flang/lib/Semantics/rewrite-parse-tree.cpp
    A flang/test/Analysis/AliasAnalysis/alias-analysis-cray-pointers.fir
    M flang/test/Driver/flang-f-opts.f90
    M flang/test/Driver/gcc-triple.f90
    M flang/test/Driver/lto-bc.f90
    M flang/test/Driver/tco-test-gen.fir
    M flang/test/Fir/CUDA/cuda-allocate.fir
    M flang/test/Fir/FirToSCF/iter-while.fir
    M flang/test/Fir/tbaa-codegen2.fir
    A flang/test/HLFIR/simplify-hlfir-intrinsics-product.fir
    R flang/test/Lower/CUDA/TODO/cuda-allocate-source-device.cuf
    M flang/test/Lower/CUDA/cuda-allocatable.cuf
    M flang/test/Lower/CUDA/cuda-device-proc.cuf
    M flang/test/Lower/HLFIR/cray-pointers.f90
    M flang/test/Lower/Intrinsics/free.f90
    M flang/test/Lower/Intrinsics/malloc.f90
    M flang/test/Lower/OpenACC/acc-bounds.f90
    M flang/test/Lower/OpenACC/acc-enter-data.f90
    M flang/test/Lower/OpenACC/acc-host-data.f90
    A flang/test/Lower/OpenACC/acc-use-device-remapping.f90
    M flang/test/Lower/OpenACC/acc-use-device.f90
    R flang/test/Lower/OpenMP/Todo/omp-do-simd-linear.f90
    A flang/test/Lower/OpenMP/Todo/threadset.f90
    M flang/test/Lower/OpenMP/cray-pointers01.f90
    A flang/test/Lower/OpenMP/simd-linear.f90
    A flang/test/Lower/OpenMP/wsloop-linear.f90
    A flang/test/Lower/memory-intrinsics-expansion.F90
    M flang/test/Parser/OpenMP/atomic-label-do.f90
    M flang/test/Parser/OpenMP/cross-label-do.f90
    A flang/test/Parser/OpenMP/dims-modifier.f90
    M flang/test/Parser/OpenMP/error-unparse.f90
    M flang/test/Parser/OpenMP/interop-construct.f90
    A flang/test/Parser/OpenMP/threadset-clause.f90
    M flang/test/Semantics/OpenACC/acc-atomic-validity.f90
    M flang/test/Semantics/OpenACC/acc-default-none-function.f90
    M flang/test/Semantics/OpenACC/acc-error.f90
    M flang/test/Semantics/OpenACC/acc-parallel.f90
    M flang/test/Semantics/OpenACC/acc-reduction-validity.f90
    A flang/test/Semantics/OpenMP/dims-modifier.f90
    M flang/test/Semantics/OpenMP/loop-association.f90
    A flang/test/Semantics/OpenMP/threadset-clause.f90
    M flang/test/Semantics/allocate14.f90
    M flang/test/Semantics/bindings01.f90
    M flang/test/Semantics/collectives05.f90
    M flang/test/Semantics/data03.f90
    M flang/test/Semantics/doconcurrent01.f90
    M flang/test/Semantics/doconcurrent05.f90
    M flang/test/Semantics/doconcurrent06.f90
    M flang/test/Semantics/doconcurrent08.f90
    M flang/test/Semantics/dosemantics05.f90
    M flang/test/Semantics/dosemantics08.f90
    M flang/test/Semantics/dosemantics09.f90
    M flang/test/Semantics/dosemantics11.f90
    M flang/test/Semantics/dosemantics12.f90
    A flang/test/Semantics/equivalence02.f90
    A flang/test/Semantics/equivalence03.f90
    M flang/test/Semantics/etime.f90
    M flang/test/Semantics/getcwd.f90
    M flang/test/Semantics/getdefinition05.f90
    M flang/test/Semantics/io11.f90
    M flang/test/Semantics/kinds02.f90
    M flang/test/Semantics/modfile73.f90
    A flang/test/Semantics/modfile75.f90
    M flang/test/Semantics/num_images02.f90
    M flang/test/Semantics/resolve102.f90
    M flang/test/Semantics/resolve104.f90
    M flang/test/Semantics/resolve33.f90
    M flang/test/Semantics/resolve58.f90
    M flang/test/Semantics/resolve70.f90
    M flang/test/Semantics/resolve71.f90
    M flang/test/Semantics/resolve72.f90
    M flang/test/Semantics/resolve74.f90
    M flang/test/Semantics/resolve75.f90
    M flang/test/Semantics/resolve78.f90
    M flang/test/Semantics/resolve79.f90
    M flang/test/Semantics/resolve82.f90
    M flang/test/Semantics/resolve83.f90
    M flang/test/Semantics/resolve84.f90
    M flang/test/Semantics/resolve86.f90
    M flang/test/Semantics/resolve87.f90
    M flang/test/Semantics/resolve88.f90
    M flang/test/Semantics/resolve89.f90
    M flang/test/Semantics/resolve90.f90
    M flang/test/Semantics/resolve94.f90
    M flang/test/Semantics/separate-mp01.f90
    M flang/test/Semantics/spec-expr.f90
    M flang/test/Semantics/this_image02.f90
    M flang/test/Transforms/OpenACC/acc-implicit-data-derived-type-member.F90
    A flang/test/Transforms/tbaa-cray-pointer.fir
    M flang/test/Transforms/tbaa-for-common-vars.fir
    M flang/test/Transforms/tbaa-for-global-equiv-vars.fir
    M flang/test/Transforms/tbaa-for-local-vars.fir
    A flang/test/Transforms/tbaa-target-inlined-results.fir
    M flang/test/Transforms/tbaa-with-dummy-scope.fir
    M flang/test/Transforms/tbaa-with-dummy-scope2.fir
    M flang/test/Transforms/tbaa2.fir
    M flang/test/Transforms/tbaa3.fir
    M flang/test/Transforms/tbaa4.fir
    M libc/cmake/modules/LLVMLibCCompileOptionRules.cmake
    M libc/config/config.json
    M libc/config/linux/aarch64/entrypoints.txt
    M libc/config/linux/arm/config.json
    M libc/config/linux/config.json
    M libc/config/linux/riscv/config.json
    M libc/config/linux/riscv/entrypoints.txt
    M libc/config/linux/x86_64/entrypoints.txt
    M libc/docs/CMakeLists.txt
    M libc/docs/configure.rst
    M libc/docs/porting.rst
    M libc/hdr/errno_macros.h
    M libc/hdr/stdio_overlay.h
    M libc/include/errno.h.def
    M libc/include/llvm-libc-macros/fenv-macros.h
    M libc/include/unistd.yaml
    M libc/src/__support/CPP/bit.h
    M libc/src/__support/FPUtil/CMakeLists.txt
    M libc/src/__support/FPUtil/FEnvImpl.h
    M libc/src/__support/FPUtil/x86_64/FEnvImpl.h
    A libc/src/__support/FPUtil/x86_64/fenv_mxcsr_utils.h
    A libc/src/__support/FPUtil/x86_64/fenv_x86_common.h
    A libc/src/__support/FPUtil/x86_64/fenv_x87_only.h
    A libc/src/__support/FPUtil/x86_64/fenv_x87_utils.h
    M libc/src/__support/RPC/rpc_server.h
    M libc/src/__support/float_to_string.h
    M libc/src/__support/macros/properties/compiler.h
    M libc/src/__support/threads/linux/CMakeLists.txt
    M libc/src/__support/threads/linux/futex_utils.h
    M libc/src/__support/threads/linux/raw_mutex.h
    M libc/src/__support/threads/linux/rwlock.h
    M libc/src/__support/time/CMakeLists.txt
    A libc/src/__support/time/abs_timeout.h
    M libc/src/__support/time/linux/CMakeLists.txt
    R libc/src/__support/time/linux/abs_timeout.h
    R libc/src/__support/time/linux/monotonicity.h
    A libc/src/__support/time/monotonicity.h
    A libc/src/__support/wctype/lower_to_upper.inc
    A libc/src/__support/wctype/upper_to_lower.inc
    M libc/src/pthread/pthread_rwlock_clockwrlock.cpp
    M libc/src/pthread/pthread_rwlock_timedrdlock.cpp
    M libc/src/pthread/pthread_rwlock_timedwrlock.cpp
    M libc/src/stdio/baremetal/printf.cpp
    M libc/src/stdio/baremetal/vprintf.cpp
    M libc/src/stdio/printf_core/vasprintf_internal.h
    M libc/src/stdio/printf_core/vfprintf_internal.h
    M libc/src/stdio/printf_core/writer.h
    M libc/src/stdio/snprintf.cpp
    M libc/src/stdio/sprintf.cpp
    M libc/src/stdio/vsnprintf.cpp
    M libc/src/stdio/vsprintf.cpp
    M libc/src/stdlib/strfromd.cpp
    M libc/src/stdlib/strfromf.cpp
    M libc/src/stdlib/strfroml.cpp
    M libc/src/string/memory_utils/aarch64/inline_strlen.h
    M libc/src/string/memory_utils/generic/inline_strlen.h
    M libc/src/string/memory_utils/x86_64/inline_strlen.h
    A libc/src/string/string_length.h
    M libc/src/string/string_utils.h
    M libc/src/time/strftime.cpp
    M libc/src/time/strftime_l.cpp
    M libc/src/unistd/CMakeLists.txt
    A libc/src/unistd/getpagesize.h
    M libc/src/unistd/linux/CMakeLists.txt
    A libc/src/unistd/linux/getpagesize.cpp
    M libc/test/UnitTest/FEnvSafeTest.cpp
    M libc/test/src/__support/time/linux/CMakeLists.txt
    M libc/test/src/__support/time/linux/timeout_test.cpp
    M libc/test/src/fenv/enabled_exceptions_test.cpp
    M libc/test/src/fenv/feholdexcept_test.cpp
    M libc/test/src/fenv/getenv_and_setenv_test.cpp
    M libc/test/src/math/FModTest.h
    M libc/test/src/math/smoke/FModTest.h
    M libc/test/src/stdio/printf_core/converter_test.cpp
    M libc/test/src/stdio/printf_core/writer_test.cpp
    M libc/test/src/stdio/sprintf_test.cpp
    M libc/test/src/unistd/CMakeLists.txt
    A libc/test/src/unistd/getpagesize_test.cpp
    M libc/utils/docgen/docgen.py
    M libc/utils/docgen/unistd.yaml
    A libc/utils/wctype_utils/README.rst
    A libc/utils/wctype_utils/conversion/__init__.py
    A libc/utils/wctype_utils/conversion/gen_conversion_data.py
    A libc/utils/wctype_utils/conversion/hex_writer.py
    A libc/utils/wctype_utils/gen.py
    M libclc/CMakeLists.txt
    M libclc/clc/include/clc/atomic/atomic_decl.inc
    M libclc/clc/include/clc/float/definitions.h
    M libclc/clc/include/clc/integer/definitions.h
    M libclc/clc/lib/generic/atomic/clc_atomic_compare_exchange.inc
    M libclc/clc/lib/generic/atomic/clc_atomic_def.inc
    M libclc/cmake/modules/AddLibclc.cmake
    R libclc/opencl/include/clc/opencl/as_type.h
    R libclc/opencl/include/clc/opencl/async/async_work_group_copy.h
    R libclc/opencl/include/clc/opencl/async/async_work_group_copy.inc
    R libclc/opencl/include/clc/opencl/async/async_work_group_strided_copy.h
    R libclc/opencl/include/clc/opencl/async/async_work_group_strided_copy.inc
    R libclc/opencl/include/clc/opencl/async/prefetch.h
    R libclc/opencl/include/clc/opencl/async/prefetch.inc
    R libclc/opencl/include/clc/opencl/async/wait_group_events.h
    R libclc/opencl/include/clc/opencl/atomic/atom_add.h
    R libclc/opencl/include/clc/opencl/atomic/atom_and.h
    R libclc/opencl/include/clc/opencl/atomic/atom_cmpxchg.h
    R libclc/opencl/include/clc/opencl/atomic/atom_dec.h
    R libclc/opencl/include/clc/opencl/atomic/atom_decl_int32.inc
    R libclc/opencl/include/clc/opencl/atomic/atom_decl_int64.inc
    R libclc/opencl/include/clc/opencl/atomic/atom_inc.h
    R libclc/opencl/include/clc/opencl/atomic/atom_max.h
    R libclc/opencl/include/clc/opencl/atomic/atom_min.h
    R libclc/opencl/include/clc/opencl/atomic/atom_or.h
    R libclc/opencl/include/clc/opencl/atomic/atom_sub.h
    R libclc/opencl/include/clc/opencl/atomic/atom_xchg.h
    R libclc/opencl/include/clc/opencl/atomic/atom_xor.h
    R libclc/opencl/include/clc/opencl/atomic/atomic_add.h
    R libclc/opencl/include/clc/opencl/atomic/atomic_and.h
    R libclc/opencl/include/clc/opencl/atomic/atomic_cmpxchg.h
    R libclc/opencl/include/clc/opencl/atomic/atomic_compare_exchange_strong.h
    R libclc/opencl/include/clc/opencl/atomic/atomic_compare_exchange_weak.h
    R libclc/opencl/include/clc/opencl/atomic/atomic_dec.h
    R libclc/opencl/include/clc/opencl/atomic/atomic_decl.inc
    R libclc/opencl/include/clc/opencl/atomic/atomic_decl_legacy.inc
    R libclc/opencl/include/clc/opencl/atomic/atomic_exchange.h
    R libclc/opencl/include/clc/opencl/atomic/atomic_fetch_add.h
    R libclc/opencl/include/clc/opencl/atomic/atomic_fetch_and.h
    R libclc/opencl/include/clc/opencl/atomic/atomic_fetch_max.h
    R libclc/opencl/include/clc/opencl/atomic/atomic_fetch_min.h
    R libclc/opencl/include/clc/opencl/atomic/atomic_fetch_or.h
    R libclc/opencl/include/clc/opencl/atomic/atomic_fetch_sub.h
    R libclc/opencl/include/clc/opencl/atomic/atomic_fetch_xor.h
    R libclc/opencl/include/clc/opencl/atomic/atomic_flag_clear.h
    R libclc/opencl/include/clc/opencl/atomic/atomic_flag_test_and_set.h
    R libclc/opencl/include/clc/opencl/atomic/atomic_inc.h
    R libclc/opencl/include/clc/opencl/atomic/atomic_init.h
    R libclc/opencl/include/clc/opencl/atomic/atomic_init.inc
    R libclc/opencl/include/clc/opencl/atomic/atomic_load.h
    R libclc/opencl/include/clc/opencl/atomic/atomic_max.h
    R libclc/opencl/include/clc/opencl/atomic/atomic_min.h
    R libclc/opencl/include/clc/opencl/atomic/atomic_or.h
    R libclc/opencl/include/clc/opencl/atomic/atomic_store.h
    R libclc/opencl/include/clc/opencl/atomic/atomic_sub.h
    R libclc/opencl/include/clc/opencl/atomic/atomic_xchg.h
    R libclc/opencl/include/clc/opencl/atomic/atomic_xor.h
    R libclc/opencl/include/clc/opencl/common/degrees.h
    R libclc/opencl/include/clc/opencl/common/mix.h
    R libclc/opencl/include/clc/opencl/common/mix.inc
    R libclc/opencl/include/clc/opencl/common/radians.h
    R libclc/opencl/include/clc/opencl/common/sign.h
    R libclc/opencl/include/clc/opencl/common/smoothstep.h
    R libclc/opencl/include/clc/opencl/common/smoothstep.inc
    R libclc/opencl/include/clc/opencl/common/step.h
    R libclc/opencl/include/clc/opencl/common/step.inc
    R libclc/opencl/include/clc/opencl/explicit_fence/explicit_memory_fence.h
    R libclc/opencl/include/clc/opencl/geometric/cross.h
    R libclc/opencl/include/clc/opencl/geometric/distance.h
    R libclc/opencl/include/clc/opencl/geometric/dot.h
    R libclc/opencl/include/clc/opencl/geometric/fast_distance.h
    R libclc/opencl/include/clc/opencl/geometric/fast_length.h
    R libclc/opencl/include/clc/opencl/geometric/fast_normalize.h
    R libclc/opencl/include/clc/opencl/geometric/length.h
    R libclc/opencl/include/clc/opencl/geometric/normalize.h
    R libclc/opencl/include/clc/opencl/image/image.h
    R libclc/opencl/include/clc/opencl/image/image_defines.h
    R libclc/opencl/include/clc/opencl/integer/abs.h
    R libclc/opencl/include/clc/opencl/integer/abs.inc
    R libclc/opencl/include/clc/opencl/integer/abs_diff.h
    R libclc/opencl/include/clc/opencl/integer/abs_diff.inc
    R libclc/opencl/include/clc/opencl/integer/add_sat.h
    R libclc/opencl/include/clc/opencl/integer/bit_reverse.h
    R libclc/opencl/include/clc/opencl/integer/bitfield_extract_signed.h
    R libclc/opencl/include/clc/opencl/integer/bitfield_extract_unsigned.h
    R libclc/opencl/include/clc/opencl/integer/bitfield_insert.h
    R libclc/opencl/include/clc/opencl/integer/clz.h
    R libclc/opencl/include/clc/opencl/integer/ctz.h
    R libclc/opencl/include/clc/opencl/integer/hadd.h
    R libclc/opencl/include/clc/opencl/integer/mad24.h
    R libclc/opencl/include/clc/opencl/integer/mad_hi.h
    R libclc/opencl/include/clc/opencl/integer/mad_sat.h
    R libclc/opencl/include/clc/opencl/integer/mul24.h
    R libclc/opencl/include/clc/opencl/integer/mul_hi.h
    R libclc/opencl/include/clc/opencl/integer/popcount.h
    R libclc/opencl/include/clc/opencl/integer/rhadd.h
    R libclc/opencl/include/clc/opencl/integer/rotate.h
    R libclc/opencl/include/clc/opencl/integer/sub_sat.h
    R libclc/opencl/include/clc/opencl/integer/upsample.h
    R libclc/opencl/include/clc/opencl/math/acos.h
    R libclc/opencl/include/clc/opencl/math/acosh.h
    R libclc/opencl/include/clc/opencl/math/acospi.h
    R libclc/opencl/include/clc/opencl/math/asin.h
    R libclc/opencl/include/clc/opencl/math/asinh.h
    R libclc/opencl/include/clc/opencl/math/asinpi.h
    R libclc/opencl/include/clc/opencl/math/atan.h
    R libclc/opencl/include/clc/opencl/math/atan2.h
    R libclc/opencl/include/clc/opencl/math/atan2pi.h
    R libclc/opencl/include/clc/opencl/math/atanh.h
    R libclc/opencl/include/clc/opencl/math/atanpi.h
    R libclc/opencl/include/clc/opencl/math/cbrt.h
    R libclc/opencl/include/clc/opencl/math/ceil.h
    R libclc/opencl/include/clc/opencl/math/copysign.h
    R libclc/opencl/include/clc/opencl/math/cos.h
    R libclc/opencl/include/clc/opencl/math/cosh.h
    R libclc/opencl/include/clc/opencl/math/cospi.h
    R libclc/opencl/include/clc/opencl/math/erf.h
    R libclc/opencl/include/clc/opencl/math/erfc.h
    R libclc/opencl/include/clc/opencl/math/exp.h
    R libclc/opencl/include/clc/opencl/math/exp10.h
    R libclc/opencl/include/clc/opencl/math/exp2.h
    R libclc/opencl/include/clc/opencl/math/expm1.h
    R libclc/opencl/include/clc/opencl/math/fabs.h
    R libclc/opencl/include/clc/opencl/math/fdim.h
    R libclc/opencl/include/clc/opencl/math/floor.h
    R libclc/opencl/include/clc/opencl/math/fma.h
    R libclc/opencl/include/clc/opencl/math/fmax.h
    R libclc/opencl/include/clc/opencl/math/fmin.h
    R libclc/opencl/include/clc/opencl/math/fmod.h
    R libclc/opencl/include/clc/opencl/math/fract.h
    R libclc/opencl/include/clc/opencl/math/frexp.h
    R libclc/opencl/include/clc/opencl/math/half_cos.h
    R libclc/opencl/include/clc/opencl/math/half_divide.h
    R libclc/opencl/include/clc/opencl/math/half_exp.h
    R libclc/opencl/include/clc/opencl/math/half_exp10.h
    R libclc/opencl/include/clc/opencl/math/half_exp2.h
    R libclc/opencl/include/clc/opencl/math/half_log.h
    R libclc/opencl/include/clc/opencl/math/half_log10.h
    R libclc/opencl/include/clc/opencl/math/half_log2.h
    R libclc/opencl/include/clc/opencl/math/half_powr.h
    R libclc/opencl/include/clc/opencl/math/half_recip.h
    R libclc/opencl/include/clc/opencl/math/half_rsqrt.h
    R libclc/opencl/include/clc/opencl/math/half_sin.h
    R libclc/opencl/include/clc/opencl/math/half_sqrt.h
    R libclc/opencl/include/clc/opencl/math/half_tan.h
    R libclc/opencl/include/clc/opencl/math/hypot.h
    R libclc/opencl/include/clc/opencl/math/ilogb.h
    R libclc/opencl/include/clc/opencl/math/ldexp.h
    R libclc/opencl/include/clc/opencl/math/ldexp.inc
    R libclc/opencl/include/clc/opencl/math/lgamma.h
    R libclc/opencl/include/clc/opencl/math/lgamma_r.h
    R libclc/opencl/include/clc/opencl/math/log.h
    R libclc/opencl/include/clc/opencl/math/log10.h
    R libclc/opencl/include/clc/opencl/math/log1p.h
    R libclc/opencl/include/clc/opencl/math/log2.h
    R libclc/opencl/include/clc/opencl/math/logb.h
    R libclc/opencl/include/clc/opencl/math/mad.h
    R libclc/opencl/include/clc/opencl/math/maxmag.h
    R libclc/opencl/include/clc/opencl/math/minmag.h
    R libclc/opencl/include/clc/opencl/math/modf.h
    R libclc/opencl/include/clc/opencl/math/nan.h
    R libclc/opencl/include/clc/opencl/math/nan.inc
    R libclc/opencl/include/clc/opencl/math/native_cos.h
    R libclc/opencl/include/clc/opencl/math/native_divide.h
    R libclc/opencl/include/clc/opencl/math/native_exp.h
    R libclc/opencl/include/clc/opencl/math/native_exp10.h
    R libclc/opencl/include/clc/opencl/math/native_exp2.h
    R libclc/opencl/include/clc/opencl/math/native_log.h
    R libclc/opencl/include/clc/opencl/math/native_log10.h
    R libclc/opencl/include/clc/opencl/math/native_log2.h
    R libclc/opencl/include/clc/opencl/math/native_powr.h
    R libclc/opencl/include/clc/opencl/math/native_recip.h
    R libclc/opencl/include/clc/opencl/math/native_rsqrt.h
    R libclc/opencl/include/clc/opencl/math/native_sin.h
    R libclc/opencl/include/clc/opencl/math/native_sqrt.h
    R libclc/opencl/include/clc/opencl/math/native_tan.h
    R libclc/opencl/include/clc/opencl/math/nextafter.h
    R libclc/opencl/include/clc/opencl/math/pow.h
    R libclc/opencl/include/clc/opencl/math/pown.h
    R libclc/opencl/include/clc/opencl/math/powr.h
    R libclc/opencl/include/clc/opencl/math/remainder.h
    R libclc/opencl/include/clc/opencl/math/remquo.h
    R libclc/opencl/include/clc/opencl/math/rint.h
    R libclc/opencl/include/clc/opencl/math/rootn.h
    R libclc/opencl/include/clc/opencl/math/round.h
    R libclc/opencl/include/clc/opencl/math/rsqrt.h
    R libclc/opencl/include/clc/opencl/math/sin.h
    R libclc/opencl/include/clc/opencl/math/sincos.h
    R libclc/opencl/include/clc/opencl/math/sinh.h
    R libclc/opencl/include/clc/opencl/math/sinpi.h
    R libclc/opencl/include/clc/opencl/math/sqrt.h
    R libclc/opencl/include/clc/opencl/math/tan.h
    R libclc/opencl/include/clc/opencl/math/tanh.h
    R libclc/opencl/include/clc/opencl/math/tanpi.h
    R libclc/opencl/include/clc/opencl/math/tgamma.h
    R libclc/opencl/include/clc/opencl/math/trunc.h
    R libclc/opencl/include/clc/opencl/misc/shuffle.h
    R libclc/opencl/include/clc/opencl/misc/shuffle2.h
    R libclc/opencl/include/clc/opencl/relational/all.h
    R libclc/opencl/include/clc/opencl/relational/any.h
    R libclc/opencl/include/clc/opencl/relational/bitselect.h
    R libclc/opencl/include/clc/opencl/relational/bitselect.inc
    R libclc/opencl/include/clc/opencl/relational/isequal.h
    R libclc/opencl/include/clc/opencl/relational/isfinite.h
    R libclc/opencl/include/clc/opencl/relational/isgreater.h
    R libclc/opencl/include/clc/opencl/relational/isgreaterequal.h
    R libclc/opencl/include/clc/opencl/relational/isinf.h
    R libclc/opencl/include/clc/opencl/relational/isless.h
    R libclc/opencl/include/clc/opencl/relational/islessequal.h
    R libclc/opencl/include/clc/opencl/relational/islessgreater.h
    R libclc/opencl/include/clc/opencl/relational/isnan.h
    R libclc/opencl/include/clc/opencl/relational/isnormal.h
    R libclc/opencl/include/clc/opencl/relational/isnotequal.h
    R libclc/opencl/include/clc/opencl/relational/isordered.h
    R libclc/opencl/include/clc/opencl/relational/isunordered.h
    R libclc/opencl/include/clc/opencl/relational/select.h
    R libclc/opencl/include/clc/opencl/relational/signbit.h
    R libclc/opencl/include/clc/opencl/shared/clamp.h
    R libclc/opencl/include/clc/opencl/shared/clamp.inc
    R libclc/opencl/include/clc/opencl/shared/max.h
    R libclc/opencl/include/clc/opencl/shared/max.inc
    R libclc/opencl/include/clc/opencl/shared/min.h
    R libclc/opencl/include/clc/opencl/shared/min.inc
    R libclc/opencl/include/clc/opencl/shared/vload.h
    R libclc/opencl/include/clc/opencl/shared/vstore.h
    R libclc/opencl/include/clc/opencl/synchronization/barrier.h
    R libclc/opencl/include/clc/opencl/synchronization/cl_mem_fence_flags.h
    M libclc/opencl/include/clc/opencl/synchronization/utils.h
    R libclc/opencl/include/clc/opencl/types.h
    M libclc/opencl/include/clc/opencl/utils.h
    R libclc/opencl/include/clc/opencl/workitem/get_global_id.h
    R libclc/opencl/include/clc/opencl/workitem/get_global_offset.h
    R libclc/opencl/include/clc/opencl/workitem/get_global_size.h
    R libclc/opencl/include/clc/opencl/workitem/get_group_id.h
    R libclc/opencl/include/clc/opencl/workitem/get_local_id.h
    R libclc/opencl/include/clc/opencl/workitem/get_local_linear_id.h
    R libclc/opencl/include/clc/opencl/workitem/get_local_size.h
    R libclc/opencl/include/clc/opencl/workitem/get_max_sub_group_size.h
    R libclc/opencl/include/clc/opencl/workitem/get_num_groups.h
    R libclc/opencl/include/clc/opencl/workitem/get_num_sub_groups.h
    R libclc/opencl/include/clc/opencl/workitem/get_sub_group_id.h
    R libclc/opencl/include/clc/opencl/workitem/get_sub_group_local_id.h
    R libclc/opencl/include/clc/opencl/workitem/get_sub_group_size.h
    R libclc/opencl/include/clc/opencl/workitem/get_work_dim.h
    M libclc/opencl/lib/amdgcn-amdhsa/workitem/get_global_size.cl
    M libclc/opencl/lib/amdgcn-amdhsa/workitem/get_local_size.cl
    M libclc/opencl/lib/amdgcn-amdhsa/workitem/get_num_groups.cl
    M libclc/opencl/lib/amdgcn/mem_fence/fence.cl
    M libclc/opencl/lib/amdgcn/synchronization/barrier.cl
    M libclc/opencl/lib/amdgcn/workitem/get_global_offset.cl
    M libclc/opencl/lib/amdgcn/workitem/get_global_size.cl
    M libclc/opencl/lib/amdgcn/workitem/get_group_id.cl
    M libclc/opencl/lib/amdgcn/workitem/get_local_id.cl
    M libclc/opencl/lib/amdgcn/workitem/get_local_size.cl
    M libclc/opencl/lib/amdgcn/workitem/get_num_groups.cl
    M libclc/opencl/lib/amdgcn/workitem/get_work_dim.cl
    M libclc/opencl/lib/clspv/math/fma.cl
    M libclc/opencl/lib/clspv/shared/vstore_half.cl
    M libclc/opencl/lib/generic/async/async_work_group_copy.cl
    M libclc/opencl/lib/generic/async/async_work_group_strided_copy.cl
    M libclc/opencl/lib/generic/async/prefetch.cl
    M libclc/opencl/lib/generic/async/wait_group_events.cl
    M libclc/opencl/lib/generic/atomic/atom_add.cl
    M libclc/opencl/lib/generic/atomic/atom_and.cl
    M libclc/opencl/lib/generic/atomic/atom_cmpxchg.cl
    M libclc/opencl/lib/generic/atomic/atom_dec.cl
    M libclc/opencl/lib/generic/atomic/atom_inc.cl
    M libclc/opencl/lib/generic/atomic/atom_max.cl
    M libclc/opencl/lib/generic/atomic/atom_min.cl
    M libclc/opencl/lib/generic/atomic/atom_or.cl
    M libclc/opencl/lib/generic/atomic/atom_sub.cl
    M libclc/opencl/lib/generic/atomic/atom_xchg.cl
    M libclc/opencl/lib/generic/atomic/atom_xor.cl
    M libclc/opencl/lib/generic/atomic/atomic_add.cl
    M libclc/opencl/lib/generic/atomic/atomic_and.cl
    M libclc/opencl/lib/generic/atomic/atomic_cmpxchg.cl
    M libclc/opencl/lib/generic/atomic/atomic_compare_exchange_strong.cl
    M libclc/opencl/lib/generic/atomic/atomic_compare_exchange_weak.cl
    M libclc/opencl/lib/generic/atomic/atomic_dec.cl
    M libclc/opencl/lib/generic/atomic/atomic_def.inc
    M libclc/opencl/lib/generic/atomic/atomic_exchange.cl
    M libclc/opencl/lib/generic/atomic/atomic_fetch_add.cl
    M libclc/opencl/lib/generic/atomic/atomic_fetch_and.cl
    M libclc/opencl/lib/generic/atomic/atomic_fetch_max.cl
    M libclc/opencl/lib/generic/atomic/atomic_fetch_min.cl
    M libclc/opencl/lib/generic/atomic/atomic_fetch_or.cl
    M libclc/opencl/lib/generic/atomic/atomic_fetch_sub.cl
    M libclc/opencl/lib/generic/atomic/atomic_fetch_xor.cl
    M libclc/opencl/lib/generic/atomic/atomic_flag_clear.cl
    M libclc/opencl/lib/generic/atomic/atomic_flag_test_and_set.cl
    M libclc/opencl/lib/generic/atomic/atomic_inc.cl
    M libclc/opencl/lib/generic/atomic/atomic_inc_dec.inc
    M libclc/opencl/lib/generic/atomic/atomic_init.cl
    M libclc/opencl/lib/generic/atomic/atomic_load.cl
    M libclc/opencl/lib/generic/atomic/atomic_max.cl
    M libclc/opencl/lib/generic/atomic/atomic_min.cl
    M libclc/opencl/lib/generic/atomic/atomic_or.cl
    M libclc/opencl/lib/generic/atomic/atomic_store.cl
    M libclc/opencl/lib/generic/atomic/atomic_sub.cl
    M libclc/opencl/lib/generic/atomic/atomic_xchg.cl
    M libclc/opencl/lib/generic/atomic/atomic_xor.cl
    M libclc/opencl/lib/generic/common/degrees.cl
    M libclc/opencl/lib/generic/common/mix.cl
    M libclc/opencl/lib/generic/common/radians.cl
    M libclc/opencl/lib/generic/common/sign.cl
    M libclc/opencl/lib/generic/common/smoothstep.cl
    M libclc/opencl/lib/generic/common/step.cl
    M libclc/opencl/lib/generic/geometric/cross.cl
    M libclc/opencl/lib/generic/geometric/distance.cl
    M libclc/opencl/lib/generic/geometric/dot.cl
    M libclc/opencl/lib/generic/geometric/fast_distance.cl
    M libclc/opencl/lib/generic/geometric/fast_length.cl
    M libclc/opencl/lib/generic/geometric/fast_normalize.cl
    M libclc/opencl/lib/generic/geometric/length.cl
    M libclc/opencl/lib/generic/geometric/normalize.cl
    M libclc/opencl/lib/generic/integer/abs.cl
    M libclc/opencl/lib/generic/integer/abs_diff.cl
    M libclc/opencl/lib/generic/integer/add_sat.cl
    M libclc/opencl/lib/generic/integer/bit_reverse.cl
    M libclc/opencl/lib/generic/integer/bitfield_extract_signed.cl
    M libclc/opencl/lib/generic/integer/bitfield_extract_unsigned.cl
    M libclc/opencl/lib/generic/integer/bitfield_insert.cl
    M libclc/opencl/lib/generic/integer/clz.cl
    M libclc/opencl/lib/generic/integer/ctz.cl
    M libclc/opencl/lib/generic/integer/hadd.cl
    M libclc/opencl/lib/generic/integer/mad24.cl
    M libclc/opencl/lib/generic/integer/mad_hi.cl
    M libclc/opencl/lib/generic/integer/mad_sat.cl
    M libclc/opencl/lib/generic/integer/mul24.cl
    M libclc/opencl/lib/generic/integer/mul_hi.cl
    M libclc/opencl/lib/generic/integer/popcount.cl
    M libclc/opencl/lib/generic/integer/rhadd.cl
    M libclc/opencl/lib/generic/integer/rotate.cl
    M libclc/opencl/lib/generic/integer/sub_sat.cl
    M libclc/opencl/lib/generic/integer/upsample.cl
    M libclc/opencl/lib/generic/math/acos.cl
    M libclc/opencl/lib/generic/math/acosh.cl
    M libclc/opencl/lib/generic/math/acospi.cl
    M libclc/opencl/lib/generic/math/asin.cl
    M libclc/opencl/lib/generic/math/asinh.cl
    M libclc/opencl/lib/generic/math/asinpi.cl
    M libclc/opencl/lib/generic/math/atan.cl
    M libclc/opencl/lib/generic/math/atan2.cl
    M libclc/opencl/lib/generic/math/atan2pi.cl
    M libclc/opencl/lib/generic/math/atanh.cl
    M libclc/opencl/lib/generic/math/atanpi.cl
    M libclc/opencl/lib/generic/math/cbrt.cl
    M libclc/opencl/lib/generic/math/ceil.cl
    M libclc/opencl/lib/generic/math/copysign.cl
    M libclc/opencl/lib/generic/math/cos.cl
    M libclc/opencl/lib/generic/math/cosh.cl
    M libclc/opencl/lib/generic/math/cospi.cl
    M libclc/opencl/lib/generic/math/erf.cl
    M libclc/opencl/lib/generic/math/erfc.cl
    M libclc/opencl/lib/generic/math/exp.cl
    M libclc/opencl/lib/generic/math/exp10.cl
    M libclc/opencl/lib/generic/math/exp2.cl
    M libclc/opencl/lib/generic/math/expm1.cl
    M libclc/opencl/lib/generic/math/fabs.cl
    M libclc/opencl/lib/generic/math/fdim.cl
    M libclc/opencl/lib/generic/math/floor.cl
    M libclc/opencl/lib/generic/math/fma.cl
    M libclc/opencl/lib/generic/math/fmax.cl
    M libclc/opencl/lib/generic/math/fmin.cl
    M libclc/opencl/lib/generic/math/fmod.cl
    M libclc/opencl/lib/generic/math/fract.cl
    M libclc/opencl/lib/generic/math/frexp.cl
    M libclc/opencl/lib/generic/math/half_cos.cl
    M libclc/opencl/lib/generic/math/half_divide.cl
    M libclc/opencl/lib/generic/math/half_exp.cl
    M libclc/opencl/lib/generic/math/half_exp10.cl
    M libclc/opencl/lib/generic/math/half_exp2.cl
    M libclc/opencl/lib/generic/math/half_log.cl
    M libclc/opencl/lib/generic/math/half_log10.cl
    M libclc/opencl/lib/generic/math/half_log2.cl
    M libclc/opencl/lib/generic/math/half_powr.cl
    M libclc/opencl/lib/generic/math/half_recip.cl
    M libclc/opencl/lib/generic/math/half_rsqrt.cl
    M libclc/opencl/lib/generic/math/half_sin.cl
    M libclc/opencl/lib/generic/math/half_sqrt.cl
    M libclc/opencl/lib/generic/math/half_tan.cl
    M libclc/opencl/lib/generic/math/hypot.cl
    M libclc/opencl/lib/generic/math/ilogb.cl
    M libclc/opencl/lib/generic/math/ldexp.cl
    M libclc/opencl/lib/generic/math/lgamma.cl
    M libclc/opencl/lib/generic/math/lgamma_r.cl
    M libclc/opencl/lib/generic/math/log.cl
    M libclc/opencl/lib/generic/math/log10.cl
    M libclc/opencl/lib/generic/math/log1p.cl
    M libclc/opencl/lib/generic/math/log2.cl
    M libclc/opencl/lib/generic/math/logb.cl
    M libclc/opencl/lib/generic/math/mad.cl
    M libclc/opencl/lib/generic/math/maxmag.cl
    M libclc/opencl/lib/generic/math/minmag.cl
    M libclc/opencl/lib/generic/math/modf.cl
    M libclc/opencl/lib/generic/math/native_cos.cl
    M libclc/opencl/lib/generic/math/native_divide.cl
    M libclc/opencl/lib/generic/math/native_exp.cl
    M libclc/opencl/lib/generic/math/native_exp10.cl
    M libclc/opencl/lib/generic/math/native_exp2.cl
    M libclc/opencl/lib/generic/math/native_log.cl
    M libclc/opencl/lib/generic/math/native_log10.cl
    M libclc/opencl/lib/generic/math/native_log2.cl
    M libclc/opencl/lib/generic/math/native_powr.cl
    M libclc/opencl/lib/generic/math/native_recip.cl
    M libclc/opencl/lib/generic/math/native_rsqrt.cl
    M libclc/opencl/lib/generic/math/native_sin.cl
    M libclc/opencl/lib/generic/math/native_sqrt.cl
    M libclc/opencl/lib/generic/math/native_tan.cl
    M libclc/opencl/lib/generic/math/nextafter.cl
    M libclc/opencl/lib/generic/math/pow.cl
    M libclc/opencl/lib/generic/math/pown.cl
    M libclc/opencl/lib/generic/math/powr.cl
    M libclc/opencl/lib/generic/math/remainder.cl
    M libclc/opencl/lib/generic/math/remquo.cl
    M libclc/opencl/lib/generic/math/rint.cl
    M libclc/opencl/lib/generic/math/rootn.cl
    M libclc/opencl/lib/generic/math/round.cl
    M libclc/opencl/lib/generic/math/rsqrt.cl
    M libclc/opencl/lib/generic/math/sin.cl
    M libclc/opencl/lib/generic/math/sincos.cl
    M libclc/opencl/lib/generic/math/sinh.cl
    M libclc/opencl/lib/generic/math/sinpi.cl
    M libclc/opencl/lib/generic/math/sqrt.cl
    M libclc/opencl/lib/generic/math/tan.cl
    M libclc/opencl/lib/generic/math/tanh.cl
    M libclc/opencl/lib/generic/math/tanpi.cl
    M libclc/opencl/lib/generic/math/tgamma.cl
    M libclc/opencl/lib/generic/math/trunc.cl
    M libclc/opencl/lib/generic/misc/shuffle.cl
    M libclc/opencl/lib/generic/misc/shuffle2.cl
    M libclc/opencl/lib/generic/relational/all.cl
    M libclc/opencl/lib/generic/relational/any.cl
    M libclc/opencl/lib/generic/relational/bitselect.cl
    M libclc/opencl/lib/generic/relational/isequal.cl
    M libclc/opencl/lib/generic/relational/isfinite.cl
    M libclc/opencl/lib/generic/relational/isgreater.cl
    M libclc/opencl/lib/generic/relational/isgreaterequal.cl
    M libclc/opencl/lib/generic/relational/isinf.cl
    M libclc/opencl/lib/generic/relational/isless.cl
    M libclc/opencl/lib/generic/relational/islessequal.cl
    M libclc/opencl/lib/generic/relational/islessgreater.cl
    M libclc/opencl/lib/generic/relational/isnan.cl
    M libclc/opencl/lib/generic/relational/isnormal.cl
    M libclc/opencl/lib/generic/relational/isnotequal.cl
    M libclc/opencl/lib/generic/relational/isordered.cl
    M libclc/opencl/lib/generic/relational/isunordered.cl
    M libclc/opencl/lib/generic/relational/select.cl
    M libclc/opencl/lib/generic/relational/signbit.cl
    M libclc/opencl/lib/generic/shared/clamp.cl
    M libclc/opencl/lib/generic/shared/max.cl
    M libclc/opencl/lib/generic/shared/min.cl
    M libclc/opencl/lib/generic/shared/vload.cl
    M libclc/opencl/lib/generic/shared/vstore.cl
    M libclc/opencl/lib/generic/workitem/get_global_id.cl
    M libclc/opencl/lib/generic/workitem/get_global_size.cl
    M libclc/opencl/lib/ptx-nvidiacl/mem_fence/fence.cl
    M libclc/opencl/lib/ptx-nvidiacl/synchronization/barrier.cl
    M libclc/opencl/lib/ptx-nvidiacl/workitem/get_global_id.cl
    M libclc/opencl/lib/ptx-nvidiacl/workitem/get_group_id.cl
    M libclc/opencl/lib/ptx-nvidiacl/workitem/get_local_id.cl
    M libclc/opencl/lib/ptx-nvidiacl/workitem/get_local_linear_id.cl
    M libclc/opencl/lib/ptx-nvidiacl/workitem/get_local_size.cl
    M libclc/opencl/lib/ptx-nvidiacl/workitem/get_max_sub_group_size.cl
    M libclc/opencl/lib/ptx-nvidiacl/workitem/get_num_groups.cl
    M libclc/opencl/lib/ptx-nvidiacl/workitem/get_num_sub_groups.cl
    M libclc/opencl/lib/ptx-nvidiacl/workitem/get_sub_group_id.cl
    M libclc/opencl/lib/ptx-nvidiacl/workitem/get_sub_group_local_id.cl
    M libclc/opencl/lib/ptx-nvidiacl/workitem/get_sub_group_size.cl
    M libclc/opencl/lib/r600/image/get_image_channel_data_type.cl
    M libclc/opencl/lib/r600/image/get_image_channel_order.cl
    M libclc/opencl/lib/r600/image/get_image_depth.cl
    M libclc/opencl/lib/r600/image/get_image_dim.cl
    M libclc/opencl/lib/r600/image/get_image_height.cl
    M libclc/opencl/lib/r600/image/get_image_width.cl
    M libclc/opencl/lib/r600/image/read_imagef.cl
    M libclc/opencl/lib/r600/image/read_imagei.cl
    M libclc/opencl/lib/r600/image/read_imageui.cl
    M libclc/opencl/lib/r600/image/write_imagef.cl
    M libclc/opencl/lib/r600/image/write_imagei.cl
    M libclc/opencl/lib/r600/image/write_imageui.cl
    M libclc/opencl/lib/r600/synchronization/barrier.cl
    M libclc/opencl/lib/r600/workitem/get_global_offset.cl
    M libclc/opencl/lib/r600/workitem/get_global_size.cl
    M libclc/opencl/lib/r600/workitem/get_group_id.cl
    M libclc/opencl/lib/r600/workitem/get_local_id.cl
    M libclc/opencl/lib/r600/workitem/get_local_size.cl
    M libclc/opencl/lib/r600/workitem/get_num_groups.cl
    M libclc/opencl/lib/r600/workitem/get_work_dim.cl
    M libclc/opencl/lib/spirv/math/fma.cl
    M libcxx/docs/ABIGuarantees.rst
    M libcxx/docs/ReleaseNotes/22.rst
    M libcxx/docs/VendorDocumentation.rst
    M libcxx/include/CMakeLists.txt
    M libcxx/include/__algorithm/copy_backward.h
    M libcxx/include/__algorithm/find_end.h
    M libcxx/include/__algorithm/for_each.h
    M libcxx/include/__algorithm/for_each_segment.h
    M libcxx/include/__algorithm/move_backward.h
    M libcxx/include/__algorithm/ranges_for_each.h
    M libcxx/include/__algorithm/specialized_algorithms.h
    M libcxx/include/__atomic/atomic.h
    M libcxx/include/__atomic/atomic_flag.h
    M libcxx/include/__atomic/atomic_ref.h
    M libcxx/include/__atomic/atomic_sync.h
    M libcxx/include/__atomic/contention_t.h
    M libcxx/include/__bit_reference
    M libcxx/include/__configuration/abi.h
    M libcxx/include/__configuration/availability.h
    M libcxx/include/__cxx03/bitset
    M libcxx/include/__exception/exception.h
    M libcxx/include/__exception/nested_exception.h
    M libcxx/include/__exception/operations.h
    M libcxx/include/__filesystem/copy_options.h
    M libcxx/include/__filesystem/directory_entry.h
    M libcxx/include/__filesystem/directory_iterator.h
    M libcxx/include/__filesystem/directory_options.h
    M libcxx/include/__filesystem/file_status.h
    M libcxx/include/__filesystem/filesystem_error.h
    M libcxx/include/__filesystem/operations.h
    M libcxx/include/__filesystem/path.h
    M libcxx/include/__filesystem/path_iterator.h
    M libcxx/include/__filesystem/perm_options.h
    M libcxx/include/__filesystem/perms.h
    M libcxx/include/__filesystem/recursive_directory_iterator.h
    M libcxx/include/__filesystem/u8path.h
    M libcxx/include/__format/format_args.h
    M libcxx/include/__format/format_context.h
    M libcxx/include/__format/format_parse_context.h
    M libcxx/include/__functional/hash.h
    M libcxx/include/__locale_dir/locale_base_api.h
    A libcxx/include/__locale_dir/support/newlib.h
    M libcxx/include/__memory/allocator.h
    M libcxx/include/__memory/shared_ptr.h
    M libcxx/include/__memory/unique_ptr.h
    M libcxx/include/__split_buffer
    M libcxx/include/__system_error/error_category.h
    M libcxx/include/__system_error/error_code.h
    M libcxx/include/__system_error/error_condition.h
    M libcxx/include/__system_error/system_error.h
    M libcxx/include/__tree
    M libcxx/include/__utility/integer_sequence.h
    M libcxx/include/__vector/vector.h
    M libcxx/include/__vector/vector_bool.h
    M libcxx/include/bitset
    M libcxx/include/deque
    M libcxx/include/map
    M libcxx/include/module.modulemap.in
    M libcxx/include/optional
    M libcxx/include/set
    M libcxx/include/stdexcept
    M libcxx/include/valarray
    M libcxx/lib/abi/CHANGELOG.TXT
    M libcxx/lib/abi/arm64-apple-darwin.libcxxabi.v1.stable.exceptions.nonew.abilist
    M libcxx/lib/abi/i686-linux-android21.libcxxabi.v1.stable.exceptions.nonew.abilist
    M libcxx/lib/abi/powerpc-ibm-aix.libcxxabi.v1.stable.exceptions.nonew.abilist
    M libcxx/lib/abi/powerpc64-ibm-aix.libcxxabi.v1.stable.exceptions.nonew.abilist
    M libcxx/lib/abi/x86_64-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/CMakeLists.txt
    M libcxx/src/CMakeLists.txt
    M libcxx/src/atomic.cpp
    M libcxx/src/include/refstring.h
    M libcxx/test/CMakeLists.txt
    M libcxx/test/benchmarks/algorithms/nonmodifying/for_each.bench.cpp
    M libcxx/test/benchmarks/containers/sequence/vector_bool.bench.cpp
    M libcxx/test/libcxx/atomics/atomics.syn/wait.issue_85107.pass.cpp
    M libcxx/test/libcxx/clang_tidy.gen.py
    M libcxx/test/libcxx/clang_tidy.sh.py
    M libcxx/test/libcxx/diagnostics/filesystem.nodiscard.verify.cpp
    M libcxx/test/libcxx/diagnostics/format.nodiscard.verify.cpp
    M libcxx/test/libcxx/diagnostics/functional.nodiscard.verify.cpp
    A libcxx/test/libcxx/diagnostics/multiset.nodiscard.verify.cpp
    M libcxx/test/libcxx/diagnostics/set.nodiscard.verify.cpp
    A libcxx/test/libcxx/diagnostics/syserr/nodiscard.verify.cpp
    M libcxx/test/libcxx/language.support/nodiscard.verify.cpp
    A libcxx/test/libcxx/memory/allocator_triviality.compile.pass.cpp
    A libcxx/test/libcxx/memory/allocator_triviality.deprecated_abi.compile.pass.cpp
    R libcxx/test/libcxx/memory/allocator_void.trivial.compile.pass.cpp
    A libcxx/test/libcxx/numerics/numarray/nodiscard.verify.cpp
    A libcxx/test/libcxx/utilities/intseq/nodiscard.verify.cpp
    A libcxx/test/libcxx/utilities/optional/nodiscard.verify.cpp
    M libcxx/test/libcxx/utilities/smartptr/nodiscard.verify.cpp
    A libcxx/test/libcxx/utilities/template.bitset/index_const.pass.cpp
    A libcxx/test/libcxx/utilities/template.bitset/nodiscard.verify.cpp
    A libcxx/test/std/algorithms/alg.nonmodifying/alg.foreach/for_each.associative.pass.cpp
    M libcxx/test/std/algorithms/alg.nonmodifying/alg.foreach/for_each.pass.cpp
    A libcxx/test/std/algorithms/alg.nonmodifying/alg.foreach/ranges.for_each.associative.pass copy.cpp
    A libcxx/test/std/atomics/atomics.types.operations/atomics.types.operations.wait/lost_wakeup.pass.cpp
    M libcxx/test/std/containers/container.adaptors/flat.map/flat.map.cons/copy_assign.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_pmr.pass.cpp
    M libcxx/test/std/containers/container.adaptors/flat.map/flat.map.cons/initializer_list.pass.cpp
    M libcxx/test/std/containers/container.adaptors/flat.map/flat.map.cons/iter_iter.pass.cpp
    M libcxx/test/std/containers/container.adaptors/flat.map/flat.map.cons/move_assign.pass.cpp
    M libcxx/test/std/containers/container.adaptors/flat.map/flat.map.cons/pmr.pass.cpp
    M libcxx/test/std/containers/container.adaptors/flat.map/flat.map.cons/range.pass.cpp
    M libcxx/test/std/containers/container.adaptors/flat.map/flat.map.cons/sorted_container.pass.cpp
    M libcxx/test/std/containers/container.adaptors/flat.map/flat.map.cons/sorted_initializer_list.pass.cpp
    M libcxx/test/std/containers/container.adaptors/flat.map/flat.map.cons/sorted_iter_iter.pass.cpp
    M libcxx/test/std/containers/container.adaptors/flat.map/flat.map.modifiers/erase_key.pass.cpp
    M libcxx/test/std/containers/container.adaptors/flat.map/flat.map.observers/comp.pass.cpp
    M libcxx/test/std/containers/container.adaptors/flat.multimap/flat.multimap.cons/copy_assign.pass.cpp
    M libcxx/test/std/containers/container.adaptors/flat.multimap/flat.multimap.cons/deduct.pass.cpp
    M libcxx/test/std/containers/container.adaptors/flat.multimap/flat.multimap.cons/deduct_pmr.pass.cpp
    M libcxx/test/std/containers/container.adaptors/flat.multimap/flat.multimap.cons/initializer_list.pass.cpp
    M libcxx/test/std/containers/container.adaptors/flat.multimap/flat.multimap.cons/iter_iter.pass.cpp
    M libcxx/test/std/containers/container.adaptors/flat.multimap/flat.multimap.cons/move_assign.pass.cpp
    M libcxx/test/std/containers/container.adaptors/flat.multimap/flat.multimap.cons/pmr.pass.cpp
    M libcxx/test/std/containers/container.adaptors/flat.multimap/flat.multimap.cons/range.pass.cpp
    M libcxx/test/std/containers/container.adaptors/flat.multimap/flat.multimap.cons/sorted_container.pass.cpp
    M libcxx/test/std/containers/container.adaptors/flat.multimap/flat.multimap.cons/sorted_initializer_list.pass.cpp
    M libcxx/test/std/containers/container.adaptors/flat.multimap/flat.multimap.cons/sorted_iter_iter.pass.cpp
    M libcxx/test/std/containers/container.adaptors/flat.multimap/flat.multimap.modifiers/erase_key.pass.cpp
    M libcxx/test/std/containers/container.adaptors/flat.multimap/flat.multimap.observers/comp.pass.cpp
    M libcxx/test/std/containers/container.adaptors/flat.multiset/flat.multiset.cons/move.pass.cpp
    M libcxx/test/std/containers/container.adaptors/flat.multiset/flat.multiset.cons/move_assign.pass.cpp
    M libcxx/test/std/containers/container.adaptors/flat.multiset/flat.multiset.cons/sorted_iter_iter.pass.cpp
    M libcxx/test/std/containers/container.adaptors/flat.multiset/flat.multiset.iterators/iterator.pass.cpp
    M libcxx/test/std/containers/container.adaptors/flat.set/flat.set.cons/move.pass.cpp
    M libcxx/test/std/containers/container.adaptors/flat.set/flat.set.cons/move_assign.pass.cpp
    M libcxx/test/std/containers/container.adaptors/flat.set/flat.set.cons/sorted_iter_iter.pass.cpp
    M libcxx/test/std/containers/container.adaptors/flat.set/flat.set.iterators/iterator.pass.cpp
    M libcxx/test/std/input.output/filesystems/fs.op.funcs/fs.op.status/status.pass.cpp
    M libcxx/test/std/utilities/optional/optional.monadic/and_then.pass.cpp
    M libcxx/test/std/utilities/optional/optional.monadic/or_else.pass.cpp
    M libcxx/test/std/utilities/optional/optional.monadic/transform.pass.cpp
    M libcxx/test/std/utilities/optional/optional.specalg/make_optional_explicit.pass.cpp
    M libcxx/test/std/utilities/optional/optional.specalg/make_optional_explicit_initializer_list.pass.cpp
    M libcxx/test/std/utilities/template.bitset/bitset.members/index_const.pass.cpp
    M libcxx/utils/ci/docker/docker-compose.yml
    M libcxx/utils/compare-benchmarks
    M libcxxabi/include/CMakeLists.txt
    M libcxxabi/src/CMakeLists.txt
    M libcxxabi/test/CMakeLists.txt
    M libunwind/CMakeLists.txt
    M libunwind/include/CMakeLists.txt
    M libunwind/src/CMakeLists.txt
    M libunwind/src/UnwindCursor.hpp
    M libunwind/test/CMakeLists.txt
    M lld/ELF/Relocations.cpp
    M lld/ELF/Symbols.h
    M lld/ELF/Target.h
    M lld/MachO/ConcatOutputSection.cpp
    M lld/MachO/Config.h
    M lld/MachO/Driver.cpp
    M lld/MachO/Options.td
    M lld/docs/ELF/linker_script.rst
    A lld/test/MachO/set-slop-scale.s
    M lldb/docs/index.rst
    M lldb/docs/resources/build.rst
    M lldb/docs/resources/contributing.rst
    M lldb/docs/resources/formatterbytecode.rst
    M lldb/docs/resources/sbapi.rst
    M lldb/docs/use/map.rst
    M lldb/docs/use/troubleshooting.rst
    M lldb/docs/use/tutorials/creating-custom-breakpoints.md
    M lldb/docs/use/tutorials/custom-frame-recognizers.md
    M lldb/docs/use/tutorials/implementing-standalone-scripts.md
    M lldb/docs/use/tutorials/script-driven-debugging.md
    M lldb/docs/use/tutorials/writing-custom-commands.md
    M lldb/docs/use/variable.rst
    M lldb/examples/python/templates/scripted_process.py
    M lldb/include/lldb/API/SBError.h
    M lldb/include/lldb/Core/Debugger.h
    M lldb/include/lldb/Core/Module.h
    M lldb/include/lldb/Expression/ExpressionVariable.h
    M lldb/include/lldb/Expression/ObjectFileJIT.h
    M lldb/include/lldb/Host/FileAction.h
    M lldb/include/lldb/Host/StreamFile.h
    M lldb/include/lldb/Host/Terminal.h
    M lldb/include/lldb/Host/common/DiagnosticsRendering.h
    M lldb/include/lldb/Interpreter/CommandOptionArgumentTable.h
    M lldb/include/lldb/Interpreter/CommandReturnObject.h
    M lldb/include/lldb/Interpreter/OptionValueFileColonLine.h
    M lldb/include/lldb/Symbol/ObjectContainer.h
    M lldb/include/lldb/Symbol/ObjectFile.h
    M lldb/include/lldb/Symbol/SymbolFile.h
    M lldb/include/lldb/Target/Language.h
    M lldb/include/lldb/Target/StackID.h
    M lldb/include/lldb/Utility/DataExtractor.h
    M lldb/include/lldb/lldb-enumerations.h
    M lldb/include/lldb/lldb-private-interfaces.h
    M lldb/packages/Python/lldbsuite/test/decorators.py
    M lldb/packages/Python/lldbsuite/test/lldbtest.py
    M lldb/packages/Python/lldbsuite/test/lldbutil.py
    M lldb/packages/Python/lldbsuite/test/tools/lldb-dap/dap_server.py
    M lldb/packages/Python/lldbsuite/test/tools/lldb-dap/lldbdap_testcase.py
    M lldb/source/API/SBDebugger.cpp
    M lldb/source/API/SBFrame.cpp
    M lldb/source/Commands/CommandObjectBreakpoint.cpp
    M lldb/source/Commands/CommandObjectMultiword.cpp
    M lldb/source/Commands/CommandObjectTarget.cpp
    M lldb/source/Commands/CommandObjectVersion.cpp
    M lldb/source/Commands/CommandObjectVersion.h
    M lldb/source/Commands/Options.td
    M lldb/source/Core/CoreProperties.td
    M lldb/source/Core/Debugger.cpp
    M lldb/source/Core/FormatEntity.cpp
    M lldb/source/Core/IOHandler.cpp
    M lldb/source/Core/Module.cpp
    M lldb/source/Expression/ExpressionVariable.cpp
    M lldb/source/Expression/LLVMUserExpression.cpp
    M lldb/source/Expression/Materializer.cpp
    M lldb/source/Expression/ObjectFileJIT.cpp
    M lldb/source/Host/common/DiagnosticsRendering.cpp
    M lldb/source/Host/common/Editline.cpp
    M lldb/source/Host/common/FileAction.cpp
    M lldb/source/Host/common/Terminal.cpp
    M lldb/source/Host/macosx/objcxx/Host.mm
    M lldb/source/Host/posix/ProcessLauncherPosixFork.cpp
    M lldb/source/Host/windows/ProcessLauncherWindows.cpp
    M lldb/source/Interpreter/CommandInterpreter.cpp
    M lldb/source/Interpreter/CommandReturnObject.cpp
    M lldb/source/Interpreter/Options.cpp
    M lldb/source/Plugins/ExpressionParser/Clang/ClangExpressionParser.cpp
    M lldb/source/Plugins/ExpressionParser/Clang/ClangExpressionVariable.cpp
    M lldb/source/Plugins/InstrumentationRuntime/TSan/InstrumentationRuntimeTSan.cpp
    M lldb/source/Plugins/InstrumentationRuntime/UBSan/InstrumentationRuntimeUBSan.cpp
    M lldb/source/Plugins/InstrumentationRuntime/Utility/ReportRetriever.cpp
    M lldb/source/Plugins/Language/CPlusPlus/CPlusPlusLanguage.cpp
    M lldb/source/Plugins/Language/CPlusPlus/GenericList.cpp
    M lldb/source/Plugins/Language/CPlusPlus/MsvcStlVariant.cpp
    M lldb/source/Plugins/LanguageRuntime/ObjC/AppleObjCRuntime/AppleObjCClassDescriptorV2.cpp
    M lldb/source/Plugins/LanguageRuntime/ObjC/AppleObjCRuntime/AppleObjCClassDescriptorV2.h
    M lldb/source/Plugins/ObjectContainer/BSD-Archive/ObjectContainerBSDArchive.cpp
    M lldb/source/Plugins/ObjectContainer/BSD-Archive/ObjectContainerBSDArchive.h
    M lldb/source/Plugins/ObjectContainer/Mach-O-Fileset/ObjectContainerMachOFileset.cpp
    M lldb/source/Plugins/ObjectContainer/Universal-Mach-O/ObjectContainerUniversalMachO.cpp
    M lldb/source/Plugins/ObjectFile/Breakpad/ObjectFileBreakpad.cpp
    M lldb/source/Plugins/ObjectFile/Breakpad/ObjectFileBreakpad.h
    M lldb/source/Plugins/ObjectFile/COFF/ObjectFileCOFF.cpp
    M lldb/source/Plugins/ObjectFile/COFF/ObjectFileCOFF.h
    M lldb/source/Plugins/ObjectFile/ELF/ObjectFileELF.cpp
    M lldb/source/Plugins/ObjectFile/ELF/ObjectFileELF.h
    M lldb/source/Plugins/ObjectFile/JSON/ObjectFileJSON.cpp
    M lldb/source/Plugins/ObjectFile/JSON/ObjectFileJSON.h
    M lldb/source/Plugins/ObjectFile/Mach-O/ObjectFileMachO.cpp
    M lldb/source/Plugins/ObjectFile/Mach-O/ObjectFileMachO.h
    M lldb/source/Plugins/ObjectFile/Minidump/ObjectFileMinidump.cpp
    M lldb/source/Plugins/ObjectFile/Minidump/ObjectFileMinidump.h
    M lldb/source/Plugins/ObjectFile/PDB/ObjectFilePDB.cpp
    M lldb/source/Plugins/ObjectFile/PDB/ObjectFilePDB.h
    M lldb/source/Plugins/ObjectFile/PECOFF/ObjectFilePECOFF.cpp
    M lldb/source/Plugins/ObjectFile/PECOFF/ObjectFilePECOFF.h
    M lldb/source/Plugins/ObjectFile/XCOFF/ObjectFileXCOFF.cpp
    M lldb/source/Plugins/ObjectFile/XCOFF/ObjectFileXCOFF.h
    M lldb/source/Plugins/ObjectFile/wasm/ObjectFileWasm.cpp
    M lldb/source/Plugins/ObjectFile/wasm/ObjectFileWasm.h
    M lldb/source/Plugins/Platform/CMakeLists.txt
    A lldb/source/Plugins/Platform/WebAssembly/CMakeLists.txt
    A lldb/source/Plugins/Platform/WebAssembly/PlatformWasm.cpp
    A lldb/source/Plugins/Platform/WebAssembly/PlatformWasm.h
    A lldb/source/Plugins/Platform/WebAssembly/PlatformWasmProperties.td
    M lldb/source/Plugins/Process/gdb-remote/GDBRemoteRegisterContext.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/ScriptedFrame.cpp
    M lldb/source/Plugins/Process/scripted/ScriptedFrame.h
    M lldb/source/Plugins/Process/scripted/ScriptedProcess.cpp
    M lldb/source/Plugins/SymbolFile/DWARF/SymbolFileDWARF.cpp
    M lldb/source/Plugins/SymbolFile/NativePDB/UdtRecordCompleter.cpp
    M lldb/source/Plugins/SymbolFile/NativePDB/UdtRecordCompleter.h
    M lldb/source/Plugins/SymbolVendor/ELF/SymbolVendorELF.cpp
    M lldb/source/Plugins/SymbolVendor/MacOSX/SymbolVendorMacOSX.cpp
    M lldb/source/Plugins/SymbolVendor/PECOFF/SymbolVendorPECOFF.cpp
    M lldb/source/Plugins/SymbolVendor/wasm/SymbolVendorWasm.cpp
    M lldb/source/Plugins/TypeSystem/Clang/TypeSystemClang.cpp
    M lldb/source/Symbol/ObjectContainer.cpp
    M lldb/source/Symbol/ObjectFile.cpp
    M lldb/source/Symbol/SymbolFile.cpp
    M lldb/source/Symbol/SymbolVendor.cpp
    M lldb/source/Target/ABI.cpp
    M lldb/source/Target/Language.cpp
    M lldb/source/Target/StackFrame.cpp
    M lldb/source/Target/StackFrameList.cpp
    M lldb/source/Target/Target.cpp
    M lldb/source/Utility/DataExtractor.cpp
    M lldb/test/API/functionalities/abbreviation/TestAbbreviations.py
    M lldb/test/API/functionalities/ambigous_commands/TestAmbiguousCommands.py
    M lldb/test/API/functionalities/breakpoint/breakpoint_by_line_and_column/TestBreakpointByLineAndColumn.py
    M lldb/test/API/functionalities/breakpoint/breakpoint_command/TestRegexpBreakCommand.py
    A lldb/test/API/functionalities/breakpoint/jit_loader_rtdyld_elf/Makefile
    A lldb/test/API/functionalities/breakpoint/jit_loader_rtdyld_elf/TestJitBreakPoint.py
    A lldb/test/API/functionalities/breakpoint/jit_loader_rtdyld_elf/jitbp.cpp
    M lldb/test/API/functionalities/data-formatter/data-formatter-stl/generic/forward_list/TestDataFormatterGenericForwardList.py
    M lldb/test/API/functionalities/data-formatter/data-formatter-stl/generic/list/TestDataFormatterGenericList.py
    M lldb/test/API/functionalities/data-formatter/data-formatter-stl/generic/list/loop/TestDataFormatterGenericListLoop.py
    M lldb/test/API/functionalities/data-formatter/data-formatter-stl/generic/optional/TestDataFormatterGenericOptional.py
    M lldb/test/API/functionalities/data-formatter/data-formatter-stl/generic/shared_ptr/TestDataFormatterStdSharedPtr.py
    M lldb/test/API/functionalities/data-formatter/data-formatter-stl/generic/unique_ptr/TestDataFormatterStdUniquePtr.py
    M lldb/test/API/functionalities/data-formatter/data-formatter-stl/generic/variant/TestDataFormatterStdVariant.py
    A lldb/test/API/functionalities/expr-result-var/Makefile
    A lldb/test/API/functionalities/expr-result-var/TestCPPExprResult.py
    A lldb/test/API/functionalities/expr-result-var/two-bases.cpp
    M lldb/test/API/functionalities/scripted_frame_provider/TestScriptedFrameProvider.py
    M lldb/test/API/functionalities/scripted_frame_provider/circular_dependency/TestFrameProviderCircularDependency.py
    A lldb/test/API/functionalities/scripted_frame_provider/python_helper.py
    M lldb/test/API/functionalities/scripted_frame_provider/test_frame_providers.py
    M lldb/test/API/functionalities/scripted_process/dummy_scripted_process.py
    M lldb/test/API/functionalities/wrong_commands/TestWrongCommands.py
    A lldb/test/API/lang/cpp/inline-namespace-in-typename/Makefile
    A lldb/test/API/lang/cpp/inline-namespace-in-typename/TestInlineNamespaceInTypename.py
    A lldb/test/API/lang/cpp/inline-namespace-in-typename/main.cpp
    A lldb/test/API/lang/cpp/template-alias/Makefile
    A lldb/test/API/lang/cpp/template-alias/TestTemplateAlias.py
    A lldb/test/API/lang/cpp/template-alias/main.cpp
    M lldb/test/API/symbol_ondemand/breakpoint_source_regex/TestSourceTextRegexBreakpoint.py
    M lldb/test/API/terminal/TestEditlineCompletions.py
    M lldb/test/API/tools/lldb-dap/disassemble/TestDAP_disassemble.py
    M lldb/test/API/tools/lldb-dap/module/TestDAP_module.py
    M lldb/test/API/tools/lldb-dap/runInTerminal/TestDAP_runInTerminal.py
    M lldb/test/Shell/Breakpoint/condition-lang.test
    R lldb/test/Shell/Breakpoint/jit-loader_rtdyld_elf.test
    M lldb/test/Shell/BuildScript/toolchain-msvc.test
    M lldb/test/Shell/Commands/command-dwim-print.test
    M lldb/test/Shell/Commands/command-expr-diagnostics.test
    M lldb/test/Shell/Commands/command-options.test
    A lldb/test/Shell/Commands/command-version.test
    M lldb/test/Shell/Commands/command-wrong-subcommand-error-msg.test
    A lldb/test/Shell/Expr/TestExprLanguageNote_NoDebug.cpp
    M lldb/test/Shell/SymbolFile/NativePDB/Inputs/ast-types.lldbinit
    M lldb/test/Shell/SymbolFile/NativePDB/ast-types.cpp
    M lldb/test/Shell/Symtab/Inputs/simple.wasm.yaml
    M lldb/test/Shell/Symtab/symtab-wasm.test
    M lldb/tools/lldb-dap/DAP.cpp
    M lldb/tools/lldb-dap/DAP.h
    M lldb/tools/lldb-dap/DAPLog.cpp
    M lldb/tools/lldb-dap/DAPLog.h
    M lldb/tools/lldb-dap/DAPSessionManager.cpp
    M lldb/tools/lldb-dap/EventHelper.cpp
    M lldb/tools/lldb-dap/EventHelper.h
    M lldb/tools/lldb-dap/Handler/DisassembleRequestHandler.cpp
    M lldb/tools/lldb-dap/Handler/PauseRequestHandler.cpp
    M lldb/tools/lldb-dap/Handler/RequestHandler.h
    M lldb/tools/lldb-dap/JSONUtils.cpp
    M lldb/tools/lldb-dap/JSONUtils.h
    M lldb/tools/lldb-dap/Protocol/ProtocolRequests.cpp
    M lldb/tools/lldb-dap/Protocol/ProtocolRequests.h
    M lldb/tools/lldb-dap/Transport.cpp
    M lldb/tools/lldb-dap/Transport.h
    M lldb/tools/lldb-dap/tool/lldb-dap.cpp
    M lldb/unittests/DAP/CMakeLists.txt
    A lldb/unittests/DAP/DAPLogTest.cpp
    M lldb/unittests/DAP/ProtocolRequestsTest.cpp
    M lldb/unittests/DAP/TestBase.cpp
    M lldb/unittests/DAP/TestBase.h
    M lldb/unittests/Host/JSONTransportTest.cpp
    M lldb/unittests/Host/common/DiagnosticsRenderingTest.cpp
    M lldb/unittests/Interpreter/TestOptions.cpp
    M lldb/unittests/Platform/Android/AdbClientTest.cpp
    M llvm/CMakeLists.txt
    A llvm/CMakePresets.json
    M llvm/bindings/ocaml/llvm/llvm_ocaml.c
    M llvm/docs/AMDGPUUsage.rst
    M llvm/docs/CMake.rst
    M llvm/docs/CommandGuide/lit.rst
    M llvm/docs/GitBisecting.rst
    M llvm/docs/LangRef.rst
    M llvm/docs/ProgrammersManual.rst
    M llvm/docs/RISCVUsage.rst
    M llvm/docs/ReleaseNotes.md
    M llvm/docs/SPIRVUsage.rst
    M llvm/examples/OrcV2Examples/OrcV2CBindingsAddObjectFile/OrcV2CBindingsAddObjectFile.c
    M llvm/examples/OrcV2Examples/OrcV2CBindingsBasicUsage/OrcV2CBindingsBasicUsage.c
    M llvm/examples/OrcV2Examples/OrcV2CBindingsDumpObjects/OrcV2CBindingsDumpObjects.c
    M llvm/examples/OrcV2Examples/OrcV2CBindingsIRTransforms/OrcV2CBindingsIRTransforms.c
    M llvm/examples/OrcV2Examples/OrcV2CBindingsMCJITLikeMemoryManager/OrcV2CBindingsMCJITLikeMemoryManager.c
    M llvm/examples/OrcV2Examples/OrcV2CBindingsRemovableCode/OrcV2CBindingsRemovableCode.c
    M llvm/include/llvm-c/BitReader.h
    M llvm/include/llvm-c/Core.h
    M llvm/include/llvm-c/Target.h
    M llvm/include/llvm/ADT/BitVector.h
    M llvm/include/llvm/ADT/STLExtras.h
    M llvm/include/llvm/ADT/SmallBitVector.h
    M llvm/include/llvm/ADT/StringExtras.h
    M llvm/include/llvm/Analysis/Delinearization.h
    M llvm/include/llvm/Analysis/RuntimeLibcallInfo.h
    M llvm/include/llvm/Analysis/ScalarEvolutionPatternMatch.h
    M llvm/include/llvm/Analysis/TargetTransformInfo.h
    M llvm/include/llvm/Analysis/TargetTransformInfoImpl.h
    M llvm/include/llvm/CAS/ActionCache.h
    M llvm/include/llvm/CAS/BuiltinUnifiedCASDatabases.h
    M llvm/include/llvm/CAS/ObjectStore.h
    M llvm/include/llvm/CAS/OnDiskGraphDB.h
    M llvm/include/llvm/CodeGen/AsmPrinter.h
    A llvm/include/llvm/CodeGen/BasicBlockMatchingAndInference.h
    M llvm/include/llvm/CodeGen/BasicBlockSectionsProfileReader.h
    M llvm/include/llvm/CodeGen/BasicTTIImpl.h
    M llvm/include/llvm/CodeGen/ISDOpcodes.h
    M llvm/include/llvm/CodeGen/LibcallLoweringInfo.h
    M llvm/include/llvm/CodeGen/MachineBlockHashInfo.h
    M llvm/include/llvm/CodeGen/MachineFrameInfo.h
    M llvm/include/llvm/CodeGen/Passes.h
    M llvm/include/llvm/CodeGen/RuntimeLibcallUtil.h
    M llvm/include/llvm/CodeGen/SDPatternMatch.h
    M llvm/include/llvm/CodeGen/SelectionDAG.h
    M llvm/include/llvm/CodeGen/TargetFrameLowering.h
    M llvm/include/llvm/CodeGen/TargetInstrInfo.h
    M llvm/include/llvm/CodeGen/TargetLowering.h
    M llvm/include/llvm/Config/llvm-config.h.cmake
    M llvm/include/llvm/ExecutionEngine/JITLink/systemz.h
    M llvm/include/llvm/ExecutionEngine/Orc/CallSPSViaEPC.h
    M llvm/include/llvm/ExecutionEngine/Orc/CallViaEPC.h
    M llvm/include/llvm/Frontend/OpenMP/ClauseT.h
    M llvm/include/llvm/Frontend/OpenMP/OMP.td
    M llvm/include/llvm/Frontend/OpenMP/OMPKinds.def
    M llvm/include/llvm/IR/Constants.h
    M llvm/include/llvm/IR/DataLayout.h
    M llvm/include/llvm/IR/DebugLoc.h
    M llvm/include/llvm/IR/Instructions.h
    M llvm/include/llvm/IR/Intrinsics.td
    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/IntrinsicsHexagon.td
    M llvm/include/llvm/IR/IntrinsicsHexagonDep.td
    M llvm/include/llvm/IR/IntrinsicsSPIRV.td
    M llvm/include/llvm/IR/IntrinsicsX86.td
    M llvm/include/llvm/IR/LLVMContext.h
    M llvm/include/llvm/IR/Module.h
    M llvm/include/llvm/IR/RuntimeLibcalls.h
    M llvm/include/llvm/IR/RuntimeLibcalls.td
    M llvm/include/llvm/IR/User.h
    M llvm/include/llvm/IR/VPIntrinsics.def
    M llvm/include/llvm/InitializePasses.h
    M llvm/include/llvm/MC/MCInstPrinter.h
    M llvm/include/llvm/MC/MCInstrDesc.h
    M llvm/include/llvm/Passes/CodeGenPassBuilder.h
    M llvm/include/llvm/Passes/PassBuilder.h
    M llvm/include/llvm/SandboxIR/Constant.h
    M llvm/include/llvm/SandboxIR/Instruction.h
    M llvm/include/llvm/SandboxIR/Type.h
    M llvm/include/llvm/Support/Hash.h
    A llvm/include/llvm/Support/IOSandbox.h
    M llvm/include/llvm/Support/VirtualFileSystem.h
    M llvm/include/llvm/Target/TargetSelectionDAG.td
    M llvm/include/llvm/TargetParser/AArch64FeatPriorities.inc
    M llvm/include/llvm/TargetParser/AArch64TargetParser.h
    M llvm/include/llvm/TargetParser/RISCVTargetParser.h
    M llvm/include/llvm/TargetParser/Triple.h
    M llvm/include/llvm/Transforms/IPO/WholeProgramDevirt.h
    M llvm/include/llvm/Transforms/Utils/CodeMoverUtils.h
    M llvm/include/llvm/Transforms/Utils/DebugSSAUpdater.h
    M llvm/include/llvm/Transforms/Utils/SSAUpdaterBulk.h
    M llvm/include/llvm/Transforms/Utils/SampleProfileInference.h
    M llvm/include/llvm/Transforms/Utils/ScalarEvolutionExpander.h
    M llvm/include/llvm/Transforms/Utils/SimplifyLibCalls.h
    M llvm/include/llvm/Transforms/Vectorize/LoopVectorizationLegality.h
    M llvm/include/llvm/Transforms/Vectorize/LoopVectorize.h
    M llvm/lib/Analysis/AliasAnalysis.cpp
    M llvm/lib/Analysis/CmpInstAnalysis.cpp
    M llvm/lib/Analysis/ConstantFolding.cpp
    M llvm/lib/Analysis/Delinearization.cpp
    M llvm/lib/Analysis/DependenceAnalysis.cpp
    M llvm/lib/Analysis/InstructionSimplify.cpp
    M llvm/lib/Analysis/LoopAccessAnalysis.cpp
    M llvm/lib/Analysis/MemoryBuiltins.cpp
    M llvm/lib/Analysis/ScalarEvolution.cpp
    M llvm/lib/Analysis/StackLifetime.cpp
    M llvm/lib/Analysis/TargetTransformInfo.cpp
    M llvm/lib/Analysis/UniformityAnalysis.cpp
    M llvm/lib/Analysis/ValueTracking.cpp
    M llvm/lib/AsmParser/LLParser.cpp
    M llvm/lib/Bitcode/Reader/BitReader.cpp
    M llvm/lib/Bitcode/Reader/BitcodeReader.cpp
    M llvm/lib/Bitcode/Writer/ValueEnumerator.cpp
    M llvm/lib/CAS/ActionCaches.cpp
    M llvm/lib/CAS/OnDiskCommon.cpp
    M llvm/lib/CAS/OnDiskCommon.h
    M llvm/lib/CAS/OnDiskGraphDB.cpp
    M llvm/lib/CAS/UnifiedOnDiskCache.cpp
    M llvm/lib/CodeGen/AsmPrinter/AsmPrinter.cpp
    M llvm/lib/CodeGen/AsmPrinter/AsmPrinterInlineAsm.cpp
    M llvm/lib/CodeGen/AsmPrinter/DwarfExpression.cpp
    M llvm/lib/CodeGen/AtomicExpandPass.cpp
    A llvm/lib/CodeGen/BasicBlockMatchingAndInference.cpp
    M llvm/lib/CodeGen/BasicBlockSections.cpp
    M llvm/lib/CodeGen/BasicBlockSectionsProfileReader.cpp
    M llvm/lib/CodeGen/CFIInstrInserter.cpp
    M llvm/lib/CodeGen/CMakeLists.txt
    M llvm/lib/CodeGen/ExpandFp.cpp
    M llvm/lib/CodeGen/ExpandMemCmp.cpp
    M llvm/lib/CodeGen/GlobalISel/GISelValueTracking.cpp
    M llvm/lib/CodeGen/GlobalISel/InlineAsmLowering.cpp
    M llvm/lib/CodeGen/GlobalISel/LegalizerHelper.cpp
    M llvm/lib/CodeGen/HardwareLoops.cpp
    M llvm/lib/CodeGen/MachineFunction.cpp
    M llvm/lib/CodeGen/MachineInstr.cpp
    M llvm/lib/CodeGen/MachineUniformityAnalysis.cpp
    M llvm/lib/CodeGen/PHIElimination.cpp
    M llvm/lib/CodeGen/PrologEpilogInserter.cpp
    M llvm/lib/CodeGen/RegisterClassInfo.cpp
    M llvm/lib/CodeGen/RegisterScavenging.cpp
    M llvm/lib/CodeGen/SafeStack.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/LegalizeDAG.cpp
    M llvm/lib/CodeGen/SelectionDAG/LegalizeFloatTypes.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/SelectionDAG.cpp
    M llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp
    M llvm/lib/CodeGen/SelectionDAG/TargetLowering.cpp
    M llvm/lib/CodeGen/ShrinkWrap.cpp
    M llvm/lib/CodeGen/SjLjEHPrepare.cpp
    M llvm/lib/CodeGen/StackColoring.cpp
    M llvm/lib/CodeGen/TargetLoweringBase.cpp
    M llvm/lib/CodeGen/TargetPassConfig.cpp
    M llvm/lib/CodeGen/TypePromotion.cpp
    M llvm/lib/DebugInfo/DWARF/DWARFDie.cpp
    M llvm/lib/DebugInfo/LogicalView/Readers/LVDWARFReader.cpp
    M llvm/lib/ExecutionEngine/JITLink/ELF_systemz.cpp
    M llvm/lib/ExecutionEngine/JITLink/systemz.cpp
    M llvm/lib/ExecutionEngine/Orc/ELFNixPlatform.cpp
    M llvm/lib/Frontend/Offloading/OffloadWrapper.cpp
    M llvm/lib/Frontend/OpenMP/OMPIRBuilder.cpp
    M llvm/lib/IR/AsmWriter.cpp
    M llvm/lib/IR/AutoUpgrade.cpp
    M llvm/lib/IR/Constants.cpp
    M llvm/lib/IR/Core.cpp
    M llvm/lib/IR/DataLayout.cpp
    M llvm/lib/IR/DebugLoc.cpp
    M llvm/lib/IR/Instruction.cpp
    M llvm/lib/IR/Instructions.cpp
    M llvm/lib/IR/IntrinsicInst.cpp
    M llvm/lib/IR/RuntimeLibcalls.cpp
    M llvm/lib/IR/User.cpp
    M llvm/lib/IR/Verifier.cpp
    M llvm/lib/LTO/LTOBackend.cpp
    M llvm/lib/LTO/ThinLTOCodeGenerator.cpp
    M llvm/lib/LTO/UpdateCompilerUsed.cpp
    M llvm/lib/MC/MCAsmStreamer.cpp
    M llvm/lib/MC/MCInstPrinter.cpp
    M llvm/lib/MC/MCWin64EH.cpp
    M llvm/lib/ObjCopy/ConfigManager.cpp
    M llvm/lib/Passes/PassBuilderPipelines.cpp
    M llvm/lib/SandboxIR/Constant.cpp
    M llvm/lib/SandboxIR/Type.cpp
    M llvm/lib/Support/CachePruning.cpp
    M llvm/lib/Support/LockFileManager.cpp
    M llvm/lib/Support/MemoryBuffer.cpp
    M llvm/lib/Support/Path.cpp
    M llvm/lib/Support/Signals.cpp
    M llvm/lib/Support/Unix/Path.inc
    M llvm/lib/Support/Unix/Signals.inc
    M llvm/lib/Support/VirtualFileSystem.cpp
    M llvm/lib/Support/VirtualOutputBackends.cpp
    M llvm/lib/Support/Windows/Path.inc
    M llvm/lib/Support/Windows/Signals.inc
    M llvm/lib/Support/raw_ostream.cpp
    M llvm/lib/Support/rpmalloc/CACHE.md
    M llvm/lib/Support/rpmalloc/README.md
    M llvm/lib/Support/rpmalloc/malloc.c
    M llvm/lib/Support/rpmalloc/rpmalloc.c
    M llvm/lib/Target/AArch64/AArch64.h
    M llvm/lib/Target/AArch64/AArch64A53Fix835769.cpp
    M llvm/lib/Target/AArch64/AArch64AsmPrinter.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/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/AArch64LowerHomogeneousPrologEpilog.cpp
    M llvm/lib/Target/AArch64/AArch64PerfectShuffle.h
    M llvm/lib/Target/AArch64/AArch64Processors.td
    M llvm/lib/Target/AArch64/AArch64PrologueEpilogue.cpp
    A llvm/lib/Target/AArch64/AArch64RedundantCondBranchPass.cpp
    M llvm/lib/Target/AArch64/AArch64RedundantCopyElimination.cpp
    M llvm/lib/Target/AArch64/AArch64SVEInstrInfo.td
    M llvm/lib/Target/AArch64/AArch64SchedA320.td
    M llvm/lib/Target/AArch64/AArch64SchedA510.td
    M llvm/lib/Target/AArch64/AArch64SchedNeoverseN2.td
    M llvm/lib/Target/AArch64/AArch64SchedNeoverseN3.td
    M llvm/lib/Target/AArch64/AArch64SchedNeoverseV1.td
    M llvm/lib/Target/AArch64/AArch64SchedNeoverseV2.td
    M llvm/lib/Target/AArch64/AArch64SchedNeoverseV3.td
    M llvm/lib/Target/AArch64/AArch64SchedNeoverseV3AE.td
    M llvm/lib/Target/AArch64/AArch64SelectionDAGInfo.cpp
    M llvm/lib/Target/AArch64/AArch64SelectionDAGInfo.h
    M llvm/lib/Target/AArch64/AArch64Subtarget.cpp
    M llvm/lib/Target/AArch64/AArch64Subtarget.h
    M llvm/lib/Target/AArch64/AArch64TargetMachine.cpp
    M llvm/lib/Target/AArch64/AArch64TargetTransformInfo.cpp
    M llvm/lib/Target/AArch64/AArch64TargetTransformInfo.h
    M llvm/lib/Target/AArch64/AsmParser/AArch64AsmParser.cpp
    M llvm/lib/Target/AArch64/CMakeLists.txt
    M llvm/lib/Target/AArch64/GISel/AArch64LegalizerInfo.cpp
    M llvm/lib/Target/AArch64/GISel/AArch64PostLegalizerLowering.cpp
    M llvm/lib/Target/AArch64/GISel/AArch64RegisterBankInfo.cpp
    M llvm/lib/Target/AArch64/SVEInstrFormats.td
    M llvm/lib/Target/AMDGPU/AMDGPU.h
    M llvm/lib/Target/AMDGPU/AMDGPU.td
    M llvm/lib/Target/AMDGPU/AMDGPUArgumentUsageInfo.cpp
    M llvm/lib/Target/AMDGPU/AMDGPUArgumentUsageInfo.h
    M llvm/lib/Target/AMDGPU/AMDGPUAsanInstrumentation.cpp
    M llvm/lib/Target/AMDGPU/AMDGPUAtomicOptimizer.cpp
    M llvm/lib/Target/AMDGPU/AMDGPUAttributor.cpp
    M llvm/lib/Target/AMDGPU/AMDGPUGISel.td
    M llvm/lib/Target/AMDGPU/AMDGPUISelDAGToDAG.cpp
    M llvm/lib/Target/AMDGPU/AMDGPUISelLowering.cpp
    M llvm/lib/Target/AMDGPU/AMDGPUISelLowering.h
    M llvm/lib/Target/AMDGPU/AMDGPUInstCombineIntrinsic.cpp
    M llvm/lib/Target/AMDGPU/AMDGPUInstructionSelector.cpp
    M llvm/lib/Target/AMDGPU/AMDGPUInstructions.td
    M llvm/lib/Target/AMDGPU/AMDGPULegalizerInfo.cpp
    M llvm/lib/Target/AMDGPU/AMDGPULegalizerInfo.h
    M llvm/lib/Target/AMDGPU/AMDGPULowerBufferFatPointers.cpp
    M llvm/lib/Target/AMDGPU/AMDGPUMemoryUtils.cpp
    M llvm/lib/Target/AMDGPU/AMDGPUPassRegistry.def
    M llvm/lib/Target/AMDGPU/AMDGPUPromoteAlloca.cpp
    M llvm/lib/Target/AMDGPU/AMDGPURegBankLegalizeRules.cpp
    M llvm/lib/Target/AMDGPU/AMDGPURegisterBankInfo.cpp
    M llvm/lib/Target/AMDGPU/AMDGPUSearchableTables.td
    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/AMDGPU/BUFInstructions.td
    M llvm/lib/Target/AMDGPU/CMakeLists.txt
    M llvm/lib/Target/AMDGPU/DSInstructions.td
    M llvm/lib/Target/AMDGPU/EvergreenInstructions.td
    M llvm/lib/Target/AMDGPU/FLATInstructions.td
    M llvm/lib/Target/AMDGPU/GCNHazardRecognizer.cpp
    M llvm/lib/Target/AMDGPU/GCNSubtarget.h
    R llvm/lib/Target/AMDGPU/InstCombineTables.td
    M llvm/lib/Target/AMDGPU/R600ISelLowering.cpp
    M llvm/lib/Target/AMDGPU/SIFrameLowering.cpp
    M llvm/lib/Target/AMDGPU/SIFrameLowering.h
    M llvm/lib/Target/AMDGPU/SIISelLowering.cpp
    M llvm/lib/Target/AMDGPU/SIInsertWaitcnts.cpp
    M llvm/lib/Target/AMDGPU/SIInstrInfo.cpp
    M llvm/lib/Target/AMDGPU/SIInstrInfo.td
    M llvm/lib/Target/AMDGPU/SIInstructions.td
    M llvm/lib/Target/AMDGPU/SIRegisterInfo.cpp
    M llvm/lib/Target/AMDGPU/SOPInstructions.td
    M llvm/lib/Target/AMDGPU/Utils/AMDGPUBaseInfo.cpp
    M llvm/lib/Target/AMDGPU/Utils/AMDGPUBaseInfo.h
    M llvm/lib/Target/AMDGPU/VOP2Instructions.td
    M llvm/lib/Target/AMDGPU/VOP3Instructions.td
    M llvm/lib/Target/AMDGPU/VOP3PInstructions.td
    M llvm/lib/Target/ARM/ARMAsmPrinter.cpp
    M llvm/lib/Target/ARM/ARMAsmPrinter.h
    M llvm/lib/Target/ARM/MVETailPredication.cpp
    M llvm/lib/Target/ARM/ThumbRegisterInfo.cpp
    M llvm/lib/Target/BPF/BTFDebug.cpp
    M llvm/lib/Target/DirectX/DXIL.td
    M llvm/lib/Target/DirectX/DirectXTargetTransformInfo.cpp
    M llvm/lib/Target/Hexagon/CMakeLists.txt
    M llvm/lib/Target/Hexagon/Hexagon.h
    M llvm/lib/Target/Hexagon/HexagonBitSimplify.cpp
    M llvm/lib/Target/Hexagon/HexagonGenInsert.cpp
    M llvm/lib/Target/Hexagon/HexagonGenPredicate.cpp
    R llvm/lib/Target/Hexagon/HexagonGenWideningVecFloatInstr.cpp
    R llvm/lib/Target/Hexagon/HexagonGenWideningVecInstr.cpp
    M llvm/lib/Target/Hexagon/HexagonISelLowering.cpp
    M llvm/lib/Target/Hexagon/HexagonISelLowering.h
    M llvm/lib/Target/Hexagon/HexagonISelLoweringHVX.cpp
    M llvm/lib/Target/Hexagon/HexagonIntrinsics.td
    M llvm/lib/Target/Hexagon/HexagonLoopIdiomRecognition.cpp
    M llvm/lib/Target/Hexagon/HexagonNewValueJump.cpp
    R llvm/lib/Target/Hexagon/HexagonOptShuffleVector.cpp
    M llvm/lib/Target/Hexagon/HexagonPatterns.td
    M llvm/lib/Target/Hexagon/HexagonPatternsHVX.td
    M llvm/lib/Target/Hexagon/HexagonTargetMachine.cpp
    M llvm/lib/Target/Hexagon/HexagonVectorCombine.cpp
    M llvm/lib/Target/Hexagon/MCTargetDesc/HexagonMCELFStreamer.cpp
    M llvm/lib/Target/LoongArch/Disassembler/LoongArchDisassembler.cpp
    M llvm/lib/Target/LoongArch/LoongArchISelLowering.cpp
    M llvm/lib/Target/LoongArch/LoongArchISelLowering.h
    M llvm/lib/Target/LoongArch/LoongArchInstrFormats.td
    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/M68k/M68kExpandPseudo.cpp
    M llvm/lib/Target/M68k/M68kInstrData.td
    M llvm/lib/Target/M68k/M68kInstrInfo.cpp
    M llvm/lib/Target/M68k/M68kInstrInfo.h
    M llvm/lib/Target/M68k/M68kRegisterInfo.td
    M llvm/lib/Target/Mips/CMakeLists.txt
    M llvm/lib/Target/Mips/Mips.td
    M llvm/lib/Target/Mips/Mips32r6InstrInfo.td
    M llvm/lib/Target/Mips/Mips64r6InstrInfo.td
    M llvm/lib/Target/Mips/MipsDSPInstrInfo.td
    M llvm/lib/Target/Mips/MipsDelaySlotFiller.cpp
    M llvm/lib/Target/Mips/MipsISelLowering.cpp
    M llvm/lib/Target/Mips/MipsISelLowering.h
    M llvm/lib/Target/Mips/MipsInstrFPU.td
    M llvm/lib/Target/Mips/MipsInstrInfo.td
    M llvm/lib/Target/Mips/MipsMSAInstrInfo.td
    M llvm/lib/Target/Mips/MipsRegisterInfo.td
    M llvm/lib/Target/Mips/MipsSelectionDAGInfo.cpp
    M llvm/lib/Target/Mips/MipsSelectionDAGInfo.h
    M llvm/lib/Target/Mips/MipsSubtarget.cpp
    M llvm/lib/Target/Mips/MipsSubtarget.h
    M llvm/lib/Target/NVPTX/CMakeLists.txt
    M llvm/lib/Target/NVPTX/NVPTX.h
    M llvm/lib/Target/NVPTX/NVPTXCtorDtorLowering.cpp
    A llvm/lib/Target/NVPTX/NVPTXIRPeephole.cpp
    M llvm/lib/Target/NVPTX/NVPTXISelDAGToDAG.cpp
    M llvm/lib/Target/NVPTX/NVPTXISelDAGToDAG.h
    M llvm/lib/Target/NVPTX/NVPTXISelLowering.cpp
    M llvm/lib/Target/NVPTX/NVPTXISelLowering.h
    M llvm/lib/Target/NVPTX/NVPTXInstrInfo.td
    M llvm/lib/Target/NVPTX/NVPTXPassRegistry.def
    M llvm/lib/Target/NVPTX/NVPTXSubtarget.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/PowerPC/PPCISelLowering.cpp
    M llvm/lib/Target/PowerPC/PPCInstrInfo.cpp
    M llvm/lib/Target/PowerPC/PPCInstrVSX.td
    M llvm/lib/Target/PowerPC/PPCLoopInstrFormPrep.cpp
    M llvm/lib/Target/PowerPC/PPCMIPeephole.cpp
    M llvm/lib/Target/RISCV/GISel/RISCVLegalizerInfo.cpp
    M llvm/lib/Target/RISCV/MCA/RISCVCustomBehaviour.cpp
    M llvm/lib/Target/RISCV/MCTargetDesc/RISCVBaseInfo.h
    M llvm/lib/Target/RISCV/RISCVAsmPrinter.cpp
    M llvm/lib/Target/RISCV/RISCVCodeGenPrepare.cpp
    M llvm/lib/Target/RISCV/RISCVFeatures.td
    M llvm/lib/Target/RISCV/RISCVFrameLowering.cpp
    M llvm/lib/Target/RISCV/RISCVFrameLowering.h
    M llvm/lib/Target/RISCV/RISCVISelDAGToDAG.cpp
    M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
    M llvm/lib/Target/RISCV/RISCVISelLowering.h
    M llvm/lib/Target/RISCV/RISCVInsertVSETVLI.cpp
    M llvm/lib/Target/RISCV/RISCVInstrInfo.cpp
    M llvm/lib/Target/RISCV/RISCVInstrInfo.td
    M llvm/lib/Target/RISCV/RISCVInstrInfoA.td
    M llvm/lib/Target/RISCV/RISCVInstrInfoF.td
    M llvm/lib/Target/RISCV/RISCVInstrInfoP.td
    M llvm/lib/Target/RISCV/RISCVInstrInfoV.td
    M llvm/lib/Target/RISCV/RISCVInstrInfoVPseudos.td
    M llvm/lib/Target/RISCV/RISCVInstrInfoVSDPatterns.td
    M llvm/lib/Target/RISCV/RISCVInstrInfoVVLPatterns.td
    M llvm/lib/Target/RISCV/RISCVInstrInfoXAndes.td
    M llvm/lib/Target/RISCV/RISCVInstrInfoXCV.td
    M llvm/lib/Target/RISCV/RISCVInstrInfoXRivos.td
    M llvm/lib/Target/RISCV/RISCVInstrInfoXSf.td
    M llvm/lib/Target/RISCV/RISCVInstrInfoXSfmm.td
    M llvm/lib/Target/RISCV/RISCVInstrInfoZb.td
    M llvm/lib/Target/RISCV/RISCVInstrInfoZvfbf.td
    M llvm/lib/Target/RISCV/RISCVLoadStoreOptimizer.cpp
    M llvm/lib/Target/RISCV/RISCVMergeBaseOffset.cpp
    M llvm/lib/Target/RISCV/RISCVRegisterInfo.td
    M llvm/lib/Target/RISCV/RISCVSchedSiFive7.td
    M llvm/lib/Target/RISCV/RISCVSchedSiFiveP600.td
    M llvm/lib/Target/RISCV/RISCVSchedSpacemitX60.td
    M llvm/lib/Target/RISCV/RISCVSchedTTAscalonD8.td
    M llvm/lib/Target/RISCV/RISCVScheduleV.td
    M llvm/lib/Target/RISCV/RISCVSubtarget.h
    M llvm/lib/Target/RISCV/RISCVTargetTransformInfo.cpp
    M llvm/lib/Target/SPIRV/MCTargetDesc/SPIRVInstPrinter.cpp
    M llvm/lib/Target/SPIRV/SPIRVBuiltins.cpp
    M llvm/lib/Target/SPIRV/SPIRVCallLowering.cpp
    M llvm/lib/Target/SPIRV/SPIRVCommandLine.cpp
    M llvm/lib/Target/SPIRV/SPIRVEmitIntrinsics.cpp
    M llvm/lib/Target/SPIRV/SPIRVGlobalRegistry.cpp
    M llvm/lib/Target/SPIRV/SPIRVGlobalRegistry.h
    M llvm/lib/Target/SPIRV/SPIRVInstructionSelector.cpp
    M llvm/lib/Target/SPIRV/SPIRVLegalizerInfo.cpp
    M llvm/lib/Target/SPIRV/SPIRVModuleAnalysis.cpp
    M llvm/lib/Target/SPIRV/SPIRVPreLegalizer.cpp
    M llvm/lib/Target/SPIRV/SPIRVPrepareFunctions.cpp
    M llvm/lib/Target/SPIRV/SPIRVRegularizer.cpp
    M llvm/lib/Target/SPIRV/SPIRVSymbolicOperands.td
    M llvm/lib/Target/SPIRV/SPIRVUtils.cpp
    M llvm/lib/Target/SPIRV/SPIRVUtils.h
    M llvm/lib/Target/SystemZ/SystemZISelLowering.cpp
    M llvm/lib/Target/Target.cpp
    M llvm/lib/Target/VE/AsmParser/VEAsmParser.cpp
    M llvm/lib/Target/X86/GISel/X86LegalizerInfo.cpp
    M llvm/lib/Target/X86/X86CompressEVEX.cpp
    M llvm/lib/Target/X86/X86ISelDAGToDAG.cpp
    M llvm/lib/Target/X86/X86ISelLowering.cpp
    M llvm/lib/Target/X86/X86ISelLowering.h
    M llvm/lib/Target/X86/X86ISelLoweringCall.cpp
    M llvm/lib/Target/X86/X86InstrCMovSetCC.td
    M llvm/lib/Target/X86/X86IntrinsicsInfo.h
    M llvm/lib/Target/X86/X86LowerAMXType.cpp
    M llvm/lib/Target/X86/X86Subtarget.h
    M llvm/lib/Target/XCore/XCoreTargetMachine.cpp
    M llvm/lib/TargetParser/AArch64TargetParser.cpp
    M llvm/lib/TargetParser/RISCVTargetParser.cpp
    M llvm/lib/TargetParser/TargetDataLayout.cpp
    M llvm/lib/TargetParser/TargetParser.cpp
    M llvm/lib/Transforms/IPO/AttributorAttributes.cpp
    M llvm/lib/Transforms/IPO/GlobalOpt.cpp
    M llvm/lib/Transforms/IPO/LowerTypeTests.cpp
    M llvm/lib/Transforms/IPO/OpenMPOpt.cpp
    M llvm/lib/Transforms/IPO/WholeProgramDevirt.cpp
    M llvm/lib/Transforms/InstCombine/InstCombineAndOrXor.cpp
    M llvm/lib/Transforms/InstCombine/InstCombineCalls.cpp
    M llvm/lib/Transforms/InstCombine/InstCombineCompares.cpp
    M llvm/lib/Transforms/InstCombine/InstCombinePHI.cpp
    M llvm/lib/Transforms/InstCombine/InstCombineSelect.cpp
    M llvm/lib/Transforms/Instrumentation/AddressSanitizer.cpp
    M llvm/lib/Transforms/Instrumentation/KCFI.cpp
    M llvm/lib/Transforms/Instrumentation/MemProfUse.cpp
    M llvm/lib/Transforms/Instrumentation/MemorySanitizer.cpp
    M llvm/lib/Transforms/Instrumentation/SanitizerCoverage.cpp
    M llvm/lib/Transforms/Scalar/IndVarSimplify.cpp
    M llvm/lib/Transforms/Scalar/InferAlignment.cpp
    M llvm/lib/Transforms/Scalar/LoopBoundSplit.cpp
    M llvm/lib/Transforms/Scalar/LoopDataPrefetch.cpp
    M llvm/lib/Transforms/Scalar/LoopFlatten.cpp
    M llvm/lib/Transforms/Scalar/LoopFuse.cpp
    M llvm/lib/Transforms/Scalar/LoopIdiomRecognize.cpp
    M llvm/lib/Transforms/Scalar/LoopLoadElimination.cpp
    M llvm/lib/Transforms/Scalar/LoopPredication.cpp
    M llvm/lib/Transforms/Scalar/LoopStrengthReduce.cpp
    M llvm/lib/Transforms/Scalar/LoopTermFold.cpp
    M llvm/lib/Transforms/Scalar/NaryReassociate.cpp
    M llvm/lib/Transforms/Scalar/Scalarizer.cpp
    M llvm/lib/Transforms/Scalar/StraightLineStrengthReduce.cpp
    M llvm/lib/Transforms/Utils/BasicBlockUtils.cpp
    M llvm/lib/Transforms/Utils/BuildLibCalls.cpp
    M llvm/lib/Transforms/Utils/BypassSlowDivision.cpp
    M llvm/lib/Transforms/Utils/CodeMoverUtils.cpp
    M llvm/lib/Transforms/Utils/FunctionComparator.cpp
    M llvm/lib/Transforms/Utils/LoopConstrainer.cpp
    M llvm/lib/Transforms/Utils/LoopPeel.cpp
    M llvm/lib/Transforms/Utils/LoopUnrollRuntime.cpp
    M llvm/lib/Transforms/Utils/LoopVersioning.cpp
    M llvm/lib/Transforms/Utils/SSAUpdaterBulk.cpp
    M llvm/lib/Transforms/Utils/SampleProfileInference.cpp
    M llvm/lib/Transforms/Utils/SimplifyCFG.cpp
    M llvm/lib/Transforms/Utils/SimplifyIndVar.cpp
    M llvm/lib/Transforms/Utils/SimplifyLibCalls.cpp
    M llvm/lib/Transforms/Vectorize/LoadStoreVectorizer.cpp
    M llvm/lib/Transforms/Vectorize/LoopVectorizationLegality.cpp
    M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
    M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
    M llvm/lib/Transforms/Vectorize/VPlan.h
    M llvm/lib/Transforms/Vectorize/VPlanAnalysis.cpp
    M llvm/lib/Transforms/Vectorize/VPlanConstruction.cpp
    M llvm/lib/Transforms/Vectorize/VPlanPatternMatch.h
    M llvm/lib/Transforms/Vectorize/VPlanPredicator.cpp
    M llvm/lib/Transforms/Vectorize/VPlanRecipes.cpp
    M llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
    M llvm/lib/Transforms/Vectorize/VPlanUnroll.cpp
    M llvm/lib/Transforms/Vectorize/VPlanValue.h
    M llvm/lib/Transforms/Vectorize/VectorCombine.cpp
    M llvm/runtimes/CMakeLists.txt
    A llvm/test/Analysis/CostModel/AArch64/loop_dependence_mask.ll
    A llvm/test/Analysis/CostModel/RISCV/fshl_fshr.ll
    M llvm/test/Analysis/CostModel/RISCV/vp-intrinsics.ll
    M llvm/test/Analysis/UniformityAnalysis/AMDGPU/MIR/atomics-gmir.mir
    M llvm/test/Analysis/UniformityAnalysis/AMDGPU/atomics.ll
    M llvm/test/Assembler/ptrtoaddr-invalid-constexpr.ll
    A llvm/test/Assembler/symbolic-addrspace-datalayout.ll
    M llvm/test/Bitcode/amdgcn-atomic.ll
    M llvm/test/CodeGen/AArch64/GlobalISel/irtranslator-inline-asm.ll
    M llvm/test/CodeGen/AArch64/GlobalISel/legalizer-info-validation.mir
    M llvm/test/CodeGen/AArch64/O3-pipeline.ll
    M llvm/test/CodeGen/AArch64/aarch64-bf16-dotprod-intrinsics.ll
    M llvm/test/CodeGen/AArch64/alias_mask.ll
    M llvm/test/CodeGen/AArch64/alias_mask_nosve.ll
    M llvm/test/CodeGen/AArch64/alias_mask_scalable.ll
    M llvm/test/CodeGen/AArch64/alias_mask_scalable_nosve2.ll
    A llvm/test/CodeGen/AArch64/apply-terminal-rule.mir
    A llvm/test/CodeGen/AArch64/arm64-cvt-simd-round-rint-strictfp.ll
    A llvm/test/CodeGen/AArch64/arm64-cvt-simd-round-rint.ll
    A llvm/test/CodeGen/AArch64/arm64-homogeneous-prolog-epilog-tail-call.mir
    M llvm/test/CodeGen/AArch64/arm64-int-neon.ll
    M llvm/test/CodeGen/AArch64/arm64-rev.ll
    M llvm/test/CodeGen/AArch64/arm64-rounding.ll
    M llvm/test/CodeGen/AArch64/arm64-shrink-wrapping.ll
    M llvm/test/CodeGen/AArch64/arm64-trn.ll
    M llvm/test/CodeGen/AArch64/arm64-vshift.ll
    M llvm/test/CodeGen/AArch64/arm64ec-reservedregs.ll
    M llvm/test/CodeGen/AArch64/atomic-ops.ll
    M llvm/test/CodeGen/AArch64/bf16-v8-instructions.ll
    M llvm/test/CodeGen/AArch64/block-placement-optimize-branches.ll
    M llvm/test/CodeGen/AArch64/cbz_wzr.mir
    M llvm/test/CodeGen/AArch64/combine-sdiv.ll
    M llvm/test/CodeGen/AArch64/fixed-length-bf16-arith.ll
    M llvm/test/CodeGen/AArch64/fixed-vector-deinterleave.ll
    M llvm/test/CodeGen/AArch64/floatdp_1source.ll
    M llvm/test/CodeGen/AArch64/framelayout-sve-win.mir
    A llvm/test/CodeGen/AArch64/ignore-signed-zero.ll
    M llvm/test/CodeGen/AArch64/llvm.frexp.ll
    R llvm/test/CodeGen/AArch64/loop-dependence-mask-ccmp.ll
    M llvm/test/CodeGen/AArch64/lr-reserved-for-ra-live-in.ll
    M llvm/test/CodeGen/AArch64/neon-addlv.ll
    M llvm/test/CodeGen/AArch64/pr164181.ll
    M llvm/test/CodeGen/AArch64/pr166870.ll
    M llvm/test/CodeGen/AArch64/preserve_mostcc.ll
    M llvm/test/CodeGen/AArch64/preserve_nonecc_varargs_win64.ll
    M llvm/test/CodeGen/AArch64/ptrauth-irelative.ll
    M llvm/test/CodeGen/AArch64/reduce-shuffle.ll
    M llvm/test/CodeGen/AArch64/rem-by-const.ll
    M llvm/test/CodeGen/AArch64/round-conv.ll
    M llvm/test/CodeGen/AArch64/round-fptosi-sat-scalar.ll
    M llvm/test/CodeGen/AArch64/round-fptoui-sat-scalar.ll
    M llvm/test/CodeGen/AArch64/selectopt-cast.ll
    M llvm/test/CodeGen/AArch64/sme-lazy-save-windows.ll
    A llvm/test/CodeGen/AArch64/sme2-intrinsics-bfmul.ll
    A llvm/test/CodeGen/AArch64/sme2-intrinsics-bfscale.ll
    A llvm/test/CodeGen/AArch64/sme2p2-intrinsics-fmul.ll
    M llvm/test/CodeGen/AArch64/srem-lkk.ll
    M llvm/test/CodeGen/AArch64/streaming-compatible-memory-ops.ll
    A llvm/test/CodeGen/AArch64/sve-fixed-length-fptrunc.ll
    A llvm/test/CodeGen/AArch64/sve-fmmla-f32f16.ll
    A llvm/test/CodeGen/AArch64/sve-fmsub.ll
    M llvm/test/CodeGen/AArch64/sve-int-mulh-pred.ll
    M llvm/test/CodeGen/AArch64/sve-ld1-addressing-mode-reg-imm.ll
    M llvm/test/CodeGen/AArch64/sve-st1-addressing-mode-reg-imm.ll
    A llvm/test/CodeGen/AArch64/sve2-fmmla-f16mf8.ll
    A llvm/test/CodeGen/AArch64/sve2-fmmla-f32mf8.ll
    M llvm/test/CodeGen/AArch64/sve2-int-mulh.ll
    M llvm/test/CodeGen/AArch64/sve2-intrinsics-uniform-dsp-undef.ll
    M llvm/test/CodeGen/AArch64/sve2-intrinsics-uniform-dsp.ll
    M llvm/test/CodeGen/AArch64/swift-async-win.ll
    M llvm/test/CodeGen/AArch64/tbi.ll
    M llvm/test/CodeGen/AArch64/tbz-tbnz.ll
    M llvm/test/CodeGen/AArch64/vector-llrint.ll
    M llvm/test/CodeGen/AArch64/vector-lrint.ll
    M llvm/test/CodeGen/AArch64/win64-no-uwtable.ll
    M llvm/test/CodeGen/AArch64/wineh-pac.ll
    A llvm/test/CodeGen/AMDGPU/GlobalISel/buffer-load-byte-short.ll
    A llvm/test/CodeGen/AMDGPU/GlobalISel/fpext.ll
    A llvm/test/CodeGen/AMDGPU/GlobalISel/fsub.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/inst-select-extract-vector-elt.mir
    M llvm/test/CodeGen/AMDGPU/GlobalISel/inst-select-insert-vector-elt.mir
    R llvm/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.global.atomic.csub.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.raw.buffer.load.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.raw.ptr.buffer.load.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.struct.buffer.load.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.struct.ptr.buffer.load.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/regbankselect-fpext.mir
    M llvm/test/CodeGen/AMDGPU/GlobalISel/regbankselect-fsub.mir
    M llvm/test/CodeGen/AMDGPU/agpr-copy-no-free-registers.ll
    M llvm/test/CodeGen/AMDGPU/amdgpu-lower-exec-sync-and-module-lds.ll
    M llvm/test/CodeGen/AMDGPU/amdgpu-lower-exec-sync.ll
    A llvm/test/CodeGen/AMDGPU/atomicrmw_usub_cond.ll
    A llvm/test/CodeGen/AMDGPU/atomicrmw_usub_sat.ll
    M llvm/test/CodeGen/AMDGPU/atomics_cond_sub.ll
    A llvm/test/CodeGen/AMDGPU/attr-amdgpu-align.ll
    M llvm/test/CodeGen/AMDGPU/bf16.ll
    A llvm/test/CodeGen/AMDGPU/buffer-fat-pointer-atomicrmw-usub_cond.ll
    A llvm/test/CodeGen/AMDGPU/buffer-fat-pointer-atomicrmw-usub_sat.ll
    M llvm/test/CodeGen/AMDGPU/cgp-addressing-modes-gfx1030.ll
    M llvm/test/CodeGen/AMDGPU/dagcombine-fmul-sel.ll
    M llvm/test/CodeGen/AMDGPU/dagcombine-reassociate-bug.ll
    M llvm/test/CodeGen/AMDGPU/extract-subvector-16bit.ll
    M llvm/test/CodeGen/AMDGPU/fcanonicalize-elimination.ll
    M llvm/test/CodeGen/AMDGPU/fcanonicalize.f16.ll
    M llvm/test/CodeGen/AMDGPU/fcopysign.f16.ll
    M llvm/test/CodeGen/AMDGPU/fdiv.f16.ll
    A llvm/test/CodeGen/AMDGPU/flat-scratch-alloca-issue-155902.ll
    M llvm/test/CodeGen/AMDGPU/floor.ll
    M llvm/test/CodeGen/AMDGPU/fmaximum3.ll
    M llvm/test/CodeGen/AMDGPU/fminimum3.ll
    M llvm/test/CodeGen/AMDGPU/fmul-to-ldexp.ll
    M llvm/test/CodeGen/AMDGPU/fold-int-pow2-with-fmul-or-fdiv.ll
    M llvm/test/CodeGen/AMDGPU/fp_to_sint.ll
    M llvm/test/CodeGen/AMDGPU/fp_to_uint.ll
    M llvm/test/CodeGen/AMDGPU/fp_trunc_store_fp32_to_bf16.ll
    M llvm/test/CodeGen/AMDGPU/fpow.ll
    M llvm/test/CodeGen/AMDGPU/fptrunc.f16.ll
    M llvm/test/CodeGen/AMDGPU/fract-match.ll
    M llvm/test/CodeGen/AMDGPU/fsub-as-fneg-src-modifier.ll
    M llvm/test/CodeGen/AMDGPU/global-saddr-atomics.gfx1030.ll
    M llvm/test/CodeGen/AMDGPU/half.ll
    M llvm/test/CodeGen/AMDGPU/hazards-gfx1250.mir
    M llvm/test/CodeGen/AMDGPU/idot2.ll
    M llvm/test/CodeGen/AMDGPU/idot4s.ll
    M llvm/test/CodeGen/AMDGPU/idot8u.ll
    M llvm/test/CodeGen/AMDGPU/inlineasm-mismatched-size-error.ll
    A llvm/test/CodeGen/AMDGPU/insert-waitcnts-merge.ll
    M llvm/test/CodeGen/AMDGPU/isel-amdgcn-cs-chain-intrinsic-w32.ll
    M llvm/test/CodeGen/AMDGPU/lds-dma-waits.ll
    M llvm/test/CodeGen/AMDGPU/llc-pipeline-npm.ll
    R llvm/test/CodeGen/AMDGPU/llvm.amdgcn.atomic.cond.sub.ll
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.fma.legacy.ll
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.global.atomic.csub.ll
    M llvm/test/CodeGen/AMDGPU/llvm.ceil.f16.ll
    M llvm/test/CodeGen/AMDGPU/llvm.cos.f16.ll
    M llvm/test/CodeGen/AMDGPU/llvm.exp10.ll
    M llvm/test/CodeGen/AMDGPU/llvm.floor.f16.ll
    M llvm/test/CodeGen/AMDGPU/llvm.frexp.ll
    M llvm/test/CodeGen/AMDGPU/llvm.ldexp.ll
    M llvm/test/CodeGen/AMDGPU/llvm.log.ll
    M llvm/test/CodeGen/AMDGPU/llvm.log10.ll
    M llvm/test/CodeGen/AMDGPU/llvm.log2.ll
    M llvm/test/CodeGen/AMDGPU/llvm.rint.f16.ll
    M llvm/test/CodeGen/AMDGPU/llvm.round.ll
    M llvm/test/CodeGen/AMDGPU/llvm.sin.f16.ll
    M llvm/test/CodeGen/AMDGPU/llvm.sqrt.f16.ll
    M llvm/test/CodeGen/AMDGPU/llvm.trunc.f16.ll
    M llvm/test/CodeGen/AMDGPU/mad-mix-hi.ll
    M llvm/test/CodeGen/AMDGPU/mad-mix-lo.ll
    M llvm/test/CodeGen/AMDGPU/packetizer.ll
    M llvm/test/CodeGen/AMDGPU/permute.ll
    A llvm/test/CodeGen/AMDGPU/phi-elim-mli-available.mir
    M llvm/test/CodeGen/AMDGPU/private-memory-atomics.ll
    A llvm/test/CodeGen/AMDGPU/promote-alloca-cfg.ll
    M llvm/test/CodeGen/AMDGPU/promote-alloca-multidim.ll
    M llvm/test/CodeGen/AMDGPU/promote-alloca-negative-index.ll
    M llvm/test/CodeGen/AMDGPU/promote-alloca-scoring.ll
    M llvm/test/CodeGen/AMDGPU/promote-alloca-vector-to-vector.ll
    M llvm/test/CodeGen/AMDGPU/promote-constOffset-to-imm.ll
    M llvm/test/CodeGen/AMDGPU/repeated-divisor.ll
    M llvm/test/CodeGen/AMDGPU/rotl.ll
    M llvm/test/CodeGen/AMDGPU/rotr.ll
    M llvm/test/CodeGen/AMDGPU/roundeven.ll
    A llvm/test/CodeGen/AMDGPU/s-wakeup-barrier.ll
    M llvm/test/CodeGen/AMDGPU/select-fabs-fneg-extract.v2f16.ll
    M llvm/test/CodeGen/AMDGPU/sext-in-reg-vector-shuffle.ll
    M llvm/test/CodeGen/AMDGPU/shl.ll
    M llvm/test/CodeGen/AMDGPU/shl_add_ptr_csub.ll
    M llvm/test/CodeGen/AMDGPU/sint_to_fp.i64.ll
    M llvm/test/CodeGen/AMDGPU/sitofp.f16.ll
    M llvm/test/CodeGen/AMDGPU/splitkit-getsubrangeformask.ll
    M llvm/test/CodeGen/AMDGPU/swdev380865.ll
    M llvm/test/CodeGen/AMDGPU/true16-imm-folded-to-0-regression.ll
    M llvm/test/CodeGen/AMDGPU/trunc-store-f64-to-f16.ll
    M llvm/test/CodeGen/AMDGPU/trunc-store.ll
    M llvm/test/CodeGen/AMDGPU/uint_to_fp.i64.ll
    M llvm/test/CodeGen/AMDGPU/uitofp.f16.ll
    M llvm/test/CodeGen/AMDGPU/v_pack.ll
    M llvm/test/CodeGen/AMDGPU/vector-reduce-fmax.ll
    M llvm/test/CodeGen/AMDGPU/vector-reduce-fmin.ll
    M llvm/test/CodeGen/AMDGPU/waitcnt-vscnt.ll
    M llvm/test/CodeGen/ARM/arm32-round-conv.ll
    M llvm/test/CodeGen/ARM/arm32-rounding.ll
    A llvm/test/CodeGen/ARM/cmse-entry-alias.ll
    M llvm/test/CodeGen/ARM/floorf.ll
    A llvm/test/CodeGen/DirectX/ddx_fine-errors.ll
    A llvm/test/CodeGen/DirectX/ddx_fine.ll
    A llvm/test/CodeGen/DirectX/ddy_fine-errors.ll
    A llvm/test/CodeGen/DirectX/ddy_fine.ll
    M llvm/test/CodeGen/Generic/reloc-none.ll
    M llvm/test/CodeGen/Hexagon/autohvx/arith.ll
    M llvm/test/CodeGen/Hexagon/autohvx/isel-vpackew.ll
    M llvm/test/CodeGen/Hexagon/autohvx/widen-setcc.ll
    M llvm/test/CodeGen/Hexagon/bfloat_vec.ll
    R llvm/test/CodeGen/Hexagon/bug54537-vavg.ll
    R llvm/test/CodeGen/Hexagon/extend-multiply-for-output-fpext.ll
    R llvm/test/CodeGen/Hexagon/no_widening_of_bf16_vecmul.ll
    R llvm/test/CodeGen/Hexagon/shortvec-vasrsat.ll
    R llvm/test/CodeGen/Hexagon/shortvec-vavg.ll
    R llvm/test/CodeGen/Hexagon/shortvec-vmpy.ll
    R llvm/test/CodeGen/Hexagon/vadd-const.ll
    R llvm/test/CodeGen/Hexagon/vasr-sat.ll
    R llvm/test/CodeGen/Hexagon/vavg.ll
    R llvm/test/CodeGen/Hexagon/vec-shuff-invalid-operand.ll
    R llvm/test/CodeGen/Hexagon/vec-shuff-multi-uses.ll
    R llvm/test/CodeGen/Hexagon/vec-shuff2.ll
    R llvm/test/CodeGen/Hexagon/vmpa.ll
    R llvm/test/CodeGen/Hexagon/vmpy-const.ll
    R llvm/test/CodeGen/Hexagon/vmpy-qfp-const.ll
    R llvm/test/CodeGen/Hexagon/vsub-const.ll
    R llvm/test/CodeGen/Hexagon/widening-float-vec.ll
    R llvm/test/CodeGen/Hexagon/widening-vec.ll
    R llvm/test/CodeGen/Hexagon/widening-vec2.ll
    M llvm/test/CodeGen/LoongArch/lasx/bitreverse.ll
    M llvm/test/CodeGen/LoongArch/lasx/ir-instruction/avg.ll
    A llvm/test/CodeGen/LoongArch/lasx/issue170976.ll
    M llvm/test/CodeGen/LoongArch/lsx/bitreverse.ll
    M llvm/test/CodeGen/LoongArch/lsx/ir-instruction/avg.ll
    A llvm/test/CodeGen/LoongArch/lsx/issue170976.ll
    M llvm/test/CodeGen/LoongArch/trap.ll
    M llvm/test/CodeGen/M68k/Control/non-cmov-switch.ll
    M llvm/test/CodeGen/Mips/branch-relaxation-with-hazard.ll
    A llvm/test/CodeGen/Mips/compact-branch-combine-never.ll
    A llvm/test/CodeGen/Mips/compact-branch-combine.ll
    M llvm/test/CodeGen/Mips/compactbranches/unsafe-in-forbidden-slot.ll
    M llvm/test/CodeGen/Mips/llvm-ir/fptosi.ll
    M llvm/test/CodeGen/Mips/llvm-ir/load.ll
    M llvm/test/CodeGen/Mips/llvm-ir/store.ll
    M llvm/test/CodeGen/Mips/longbranch/compact-branches-long-branch.ll
    M llvm/test/CodeGen/Mips/micromips-pseudo-mtlohi-expand.ll
    M llvm/test/CodeGen/Mips/mips64-f128.ll
    M llvm/test/CodeGen/Mips/named-register-n32.ll
    M llvm/test/CodeGen/Mips/named-register-n64.ll
    M llvm/test/CodeGen/Mips/named-register-o32.ll
    M llvm/test/CodeGen/Mips/setcc-se.ll
    M llvm/test/CodeGen/NVPTX/LoadStoreVectorizer.ll
    M llvm/test/CodeGen/NVPTX/jump-table.ll
    A llvm/test/CodeGen/NVPTX/masked-load-3xhalf.ll
    A llvm/test/CodeGen/NVPTX/nvptx-fold-fma.ll
    M llvm/test/CodeGen/NVPTX/param-vectorize-device.ll
    M llvm/test/CodeGen/NVPTX/switch.ll
    A llvm/test/CodeGen/NVPTX/used-bytes-mask.ll
    M llvm/test/CodeGen/PowerPC/aix-cc-abi-mir.ll
    M llvm/test/CodeGen/PowerPC/aix-cc-abi.ll
    M llvm/test/CodeGen/PowerPC/aix-emit-tracebacktable.ll
    M llvm/test/CodeGen/PowerPC/aix-xcoff-data.ll
    M llvm/test/CodeGen/PowerPC/aix32-cc-abi-vaarg-mir.ll
    M llvm/test/CodeGen/PowerPC/aix32-cc-abi-vaarg.ll
    M llvm/test/CodeGen/PowerPC/aix32-vector-vararg-callee.ll
    M llvm/test/CodeGen/PowerPC/aix64-cc-abi-vaarg-mir.ll
    M llvm/test/CodeGen/PowerPC/aix64-cc-abi-vaarg.ll
    M llvm/test/CodeGen/PowerPC/aix64-vector-vararg-callee.ll
    M llvm/test/CodeGen/PowerPC/aix64-vector-vararg-fixed-callee.ll
    M llvm/test/CodeGen/PowerPC/ctr-minmaxnum.ll
    M llvm/test/CodeGen/PowerPC/fminimum-fmaximum.ll
    M llvm/test/CodeGen/PowerPC/fminnum.ll
    A llvm/test/CodeGen/PowerPC/optimize-vector-not-equal.ll
    M llvm/test/CodeGen/PowerPC/rounding-ops.ll
    M llvm/test/CodeGen/PowerPC/scalar-min-max.ll
    A llvm/test/CodeGen/PowerPC/splat-after-xxsldwi.ll
    M llvm/test/CodeGen/PowerPC/vec_rounding.ll
    A llvm/test/CodeGen/RISCV/GlobalISel/fp-fcanonicalize.ll
    M llvm/test/CodeGen/RISCV/GlobalISel/instruction-select/rvv/select.mir
    M llvm/test/CodeGen/RISCV/GlobalISel/legalizer-info-validation.mir
    M llvm/test/CodeGen/RISCV/GlobalISel/legalizer/rvv/legalize-insert-subvector.mir
    M llvm/test/CodeGen/RISCV/attributes.ll
    M llvm/test/CodeGen/RISCV/branch-relaxation-rv32.ll
    M llvm/test/CodeGen/RISCV/branch-relaxation-rv64.ll
    M llvm/test/CodeGen/RISCV/double-zfa.ll
    M llvm/test/CodeGen/RISCV/float-zfa.ll
    M llvm/test/CodeGen/RISCV/mul.ll
    M llvm/test/CodeGen/RISCV/rv32p.ll
    M llvm/test/CodeGen/RISCV/rv64p.ll
    M llvm/test/CodeGen/RISCV/rvp-ext-rv32.ll
    M llvm/test/CodeGen/RISCV/rvp-ext-rv64.ll
    A llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vfadd-sdnode.ll
    A llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vfmul-sdnode.ll
    A llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vfrsub-sdnode.ll
    A llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vfsub-sdnode.ll
    R llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vp-splat.ll
    M llvm/test/CodeGen/RISCV/rvv/pass-fast-math-flags-sdnode.ll
    A llvm/test/CodeGen/RISCV/rvv/pr171141.ll
    M llvm/test/CodeGen/RISCV/rvv/rvv-peephole-vmerge-to-vmv.mir
    M llvm/test/CodeGen/RISCV/rvv/sifive-xsfmm-vset-insert.mir
    M llvm/test/CodeGen/RISCV/rvv/sink-splat-operands.ll
    M llvm/test/CodeGen/RISCV/rvv/strided-vpload-vpstore-output.ll
    M llvm/test/CodeGen/RISCV/rvv/subregister-undef-early-clobber.mir
    M llvm/test/CodeGen/RISCV/rvv/vfadd-sdnode.ll
    M llvm/test/CodeGen/RISCV/rvv/vfmul-sdnode.ll
    A llvm/test/CodeGen/RISCV/rvv/vfrsub-sdnode.ll
    M llvm/test/CodeGen/RISCV/rvv/vfsub-sdnode.ll
    M llvm/test/CodeGen/RISCV/rvv/vleff-vlseg2ff-output.ll
    M llvm/test/CodeGen/RISCV/rvv/vmerge-peephole.mir
    M llvm/test/CodeGen/RISCV/rvv/vmv.v.v-peephole.mir
    R llvm/test/CodeGen/RISCV/rvv/vp-splat-mask.ll
    R llvm/test/CodeGen/RISCV/rvv/vp-splat.ll
    M llvm/test/CodeGen/RISCV/rvv/vsetvli-insert-crossbb.mir
    A llvm/test/CodeGen/RISCV/xqcilsm-lwmi-swmi.mir
    M llvm/test/CodeGen/SPARC/optcompare.ll
    A llvm/test/CodeGen/SPIRV/const-array-gep.ll
    A llvm/test/CodeGen/SPIRV/extensions/SPV_ALTERA_arbitrary_precision_integers/i128-addsub.ll
    A llvm/test/CodeGen/SPIRV/extensions/SPV_ALTERA_arbitrary_precision_integers/i128-arith.ll
    A llvm/test/CodeGen/SPIRV/extensions/SPV_ALTERA_arbitrary_precision_integers/i128-switch-lower.ll
    A llvm/test/CodeGen/SPIRV/extensions/SPV_NV_shader_atomic_fp16_vector/atomicrmw_faddfsub_vec_float16.ll
    A llvm/test/CodeGen/SPIRV/extensions/SPV_NV_shader_atomic_fp16_vector/atomicrmw_fminfmax_vec_float16.ll
    M llvm/test/CodeGen/SPIRV/extensions/enable-all-extensions-but-one.ll
    A llvm/test/CodeGen/SPIRV/hlsl-intrinsics/ddx.ll
    A llvm/test/CodeGen/SPIRV/hlsl-intrinsics/ddx_fine.ll
    A llvm/test/CodeGen/SPIRV/hlsl-intrinsics/ddy.ll
    A llvm/test/CodeGen/SPIRV/hlsl-intrinsics/ddy_fine.ll
    A llvm/test/CodeGen/SPIRV/opencl/ddx-error.ll
    A llvm/test/CodeGen/SPIRV/opencl/ddx_fine-error.ll
    A llvm/test/CodeGen/SPIRV/opencl/ddy-error.ll
    A llvm/test/CodeGen/SPIRV/opencl/ddy_fine-error.ll
    A llvm/test/CodeGen/SPIRV/pointers/fun-with-aggregate-arg-in-const-init.ll
    A llvm/test/CodeGen/SPIRV/pointers/ptr-argument-byref-amdgcnspirv.ll
    A llvm/test/CodeGen/SPIRV/transcoding/OpExtInst_vector_promotion.ll
    A llvm/test/CodeGen/SPIRV/transcoding/OpExtInst_vector_promotion_bug.ll
    R llvm/test/CodeGen/SPIRV/transcoding/OpMin.ll
    A llvm/test/CodeGen/SystemZ/condfolding.ll
    M llvm/test/CodeGen/SystemZ/vec-max-05.ll
    M llvm/test/CodeGen/SystemZ/vec-min-05.ll
    M llvm/test/CodeGen/Thumb/umulo-128-legalisation-lowering.ll
    M llvm/test/CodeGen/Thumb2/mve-vmulh.ll
    M llvm/test/CodeGen/X86/any_extend_vector_inreg_of_broadcast_from_memory.ll
    M llvm/test/CodeGen/X86/apx/compress-evex.mir
    M llvm/test/CodeGen/X86/apx/setzucc.ll
    M llvm/test/CodeGen/X86/atomic-fp.ll
    M llvm/test/CodeGen/X86/avgfloors-scalar.ll
    M llvm/test/CodeGen/X86/avgflooru-scalar.ll
    M llvm/test/CodeGen/X86/avx10.2-intrinsic-upgrade.ll
    M llvm/test/CodeGen/X86/avx10_2_512ni-intrinsics.ll
    M llvm/test/CodeGen/X86/avx10_2ni-intrinsics.ll
    M llvm/test/CodeGen/X86/avx10_2satcvtds-intrinsics.ll
    M llvm/test/CodeGen/X86/avx512vl_vnni-intrinsics.ll
    M llvm/test/CodeGen/X86/avx512vnni-intrinsics-upgrade.ll
    M llvm/test/CodeGen/X86/avx512vnni-intrinsics.ll
    M llvm/test/CodeGen/X86/avx_vnni-intrinsics-upgrade.ll
    M llvm/test/CodeGen/X86/avx_vnni-intrinsics.ll
    A llvm/test/CodeGen/X86/avxvnniint16-intrinsics-upgrade.ll
    M llvm/test/CodeGen/X86/avxvnniint16-intrinsics.ll
    A llvm/test/CodeGen/X86/basic-block-sections-clusters-bb-hash.ll
    M llvm/test/CodeGen/X86/bitcnt-big-integer.ll
    M llvm/test/CodeGen/X86/compress-undef-float-passthrough.ll
    M llvm/test/CodeGen/X86/elementwise-store-of-scalar-splat.ll
    M llvm/test/CodeGen/X86/fmaxnum.ll
    M llvm/test/CodeGen/X86/fminnum.ll
    M llvm/test/CodeGen/X86/isel-icmp.ll
    M llvm/test/CodeGen/X86/merge-consecutive-loads-128.ll
    A llvm/test/CodeGen/X86/pr166058.ll
    M llvm/test/CodeGen/X86/pr166744.ll
    A llvm/test/CodeGen/X86/pr167793.ll
    M llvm/test/CodeGen/X86/pr31143.ll
    M llvm/test/CodeGen/X86/ptest.ll
    M llvm/test/CodeGen/X86/rounding-ops.ll
    M llvm/test/CodeGen/X86/setcc-wide-types.ll
    M llvm/test/CodeGen/X86/shift-i512.ll
    M llvm/test/CodeGen/X86/single_elt_vector_memory_operation.ll
    M llvm/test/CodeGen/X86/stack-folding-int-avxvnni.ll
    M llvm/test/CodeGen/X86/stack-folding-int-avxvnniint16.ll
    M llvm/test/CodeGen/X86/stack-protector-msvc-oz.ll
    M llvm/test/CodeGen/X86/stack-protector-msvc.ll
    M llvm/test/CodeGen/X86/subvectorwise-store-of-vector-splat.ll
    M llvm/test/CodeGen/X86/vector-compare-results.ll
    M llvm/test/CodeGen/X86/vector-shuffle-combining-avx2.ll
    M llvm/test/CodeGen/X86/vector-shuffle-combining-avx512f.ll
    M llvm/test/CodeGen/X86/zero_extend_vector_inreg_of_broadcast_from_memory.ll
    M llvm/test/DebugInfo/Generic/import-inlined-declaration.ll
    M llvm/test/DebugInfo/Generic/namespace.ll
    M llvm/test/DebugInfo/Generic/split-dwarf-local-import3.ll
    M llvm/test/DebugInfo/X86/dimodule-external-fortran.ll
    M llvm/test/DebugInfo/X86/dwarfdump-DIImportedEntity_elements.ll
    M llvm/test/Instrumentation/MemorySanitizer/X86/avx10_2_512ni-intrinsics.ll
    M llvm/test/Instrumentation/MemorySanitizer/X86/avx10_2ni-intrinsics.ll
    M llvm/test/Instrumentation/MemorySanitizer/X86/avx512vl_vnni-intrinsics-upgrade.ll
    M llvm/test/Instrumentation/MemorySanitizer/X86/avx512vl_vnni-intrinsics.ll
    M llvm/test/Instrumentation/MemorySanitizer/X86/avx512vnni-intrinsics-upgrade.ll
    M llvm/test/Instrumentation/MemorySanitizer/X86/avx512vnni-intrinsics.ll
    M llvm/test/Instrumentation/MemorySanitizer/X86/avx_vnni-intrinsics.ll
    M llvm/test/Instrumentation/MemorySanitizer/X86/avxvnniint16-intrinsics.ll
    A llvm/test/LTO/AArch64/frem-scalable-veclib.ll
    A llvm/test/LTO/AArch64/veclib-armpl-lto.ll
    A llvm/test/LTO/AArch64/veclib-armpl-lto2.ll
    M llvm/test/MC/AArch64/armv8.3a-complex_missing.s
    M llvm/test/MC/AArch64/directive-arch_extension.s
    M llvm/test/MC/AArch64/seh-large-func.s
    M llvm/test/MC/AArch64/seh-optimize.s
    M llvm/test/MC/AArch64/seh-packed-unwind.s
    M llvm/test/MC/AMDGPU/buffer-op-swz-operand.s
    M llvm/test/MC/AMDGPU/gfx1250_asm_sop1.s
    M llvm/test/MC/Disassembler/AMDGPU/gfx1250_dasm_sop1.txt
    M llvm/test/MC/Disassembler/ARM/sub-sp-imm-thumb2.txt
    M llvm/test/MC/Lanai/conditional_inst.s
    M llvm/test/MC/Lanai/memory.s
    M llvm/test/MC/LoongArch/Basic/Integer/misc.s
    M llvm/test/MC/RISCV/attribute-arch.s
    M llvm/test/MC/RISCV/rv32i-invalid.s
    M llvm/test/MC/RISCV/rv32p-invalid.s
    M llvm/test/MC/RISCV/rv32p-valid.s
    M llvm/test/MC/RISCV/rv64p-valid.s
    A llvm/test/MachineVerifier/AMDGPU/hazard-gfx1250-flat-src-hi.mir
    A llvm/test/TableGen/Common/RegClassByHwModeCommon.td
    M llvm/test/TableGen/RegClassByHwMode.td
    A llvm/test/TableGen/RegClassByHwModeAlias.td
    A llvm/test/TableGen/RegClassByHwModeErrors.td
    M llvm/test/TableGen/target-specialized-pseudos.td
    M llvm/test/TableGen/x86-instr-mapping.inc
    M llvm/test/ThinLTO/X86/pr35472.ll
    M llvm/test/Transforms/AtomicExpand/AMDGPU/expand-atomic-i16-system.ll
    M llvm/test/Transforms/AtomicExpand/AMDGPU/expand-atomic-i16.ll
    M llvm/test/Transforms/AtomicExpand/AMDGPU/expand-atomic-i32-agent.ll
    M llvm/test/Transforms/AtomicExpand/AMDGPU/expand-atomic-i32-system.ll
    M llvm/test/Transforms/AtomicExpand/AMDGPU/expand-atomic-i64-agent.ll
    M llvm/test/Transforms/AtomicExpand/AMDGPU/expand-atomic-i64-system.ll
    M llvm/test/Transforms/AtomicExpand/AMDGPU/expand-atomic-i8-system.ll
    M llvm/test/Transforms/AtomicExpand/AMDGPU/expand-atomic-i8.ll
    A llvm/test/Transforms/Attributor/AMDGPU/nofpclass-amdgcn-rsq.ll
    M llvm/test/Transforms/Attributor/AMDGPU/tag-invariant-loads.ll
    A llvm/test/Transforms/Attributor/nofpclass-fmul.ll
    M llvm/test/Transforms/Attributor/nofpclass-nan-fmul.ll
    R llvm/test/Transforms/DeadStoreElimination/atomic-todo.ll
    M llvm/test/Transforms/DeadStoreElimination/atomic.ll
    M llvm/test/Transforms/ExpandLargeFpConvert/X86/expand-large-fp-convert-si129tofp.ll
    M llvm/test/Transforms/ExpandLargeFpConvert/X86/expand-large-fp-convert-ui129tofp.ll
    M llvm/test/Transforms/ExpandMemCmp/AArch64/memcmp.ll
    M llvm/test/Transforms/ExpandMemCmp/X86/memcmp-x32.ll
    M llvm/test/Transforms/ExpandMemCmp/X86/memcmp.ll
    M llvm/test/Transforms/GlobalOpt/disable-globals-aa.ll
    M llvm/test/Transforms/GlobalOpt/global-opt-addrspace.ll
    M llvm/test/Transforms/GlobalOpt/resolve-fmv-ifunc.ll
    M llvm/test/Transforms/InferAlignment/ptrtoint.ll
    M llvm/test/Transforms/InferFunctionAttrs/annotate.ll
    M llvm/test/Transforms/InstCombine/2006-10-26-VectorReassoc.ll
    M llvm/test/Transforms/InstCombine/AArch64/sve-intrinsic-comb-no-active-lanes.ll
    M llvm/test/Transforms/InstCombine/AArch64/sve-intrinsic-simplify-to-u-form.ll
    A llvm/test/Transforms/InstCombine/AArch64/tbl.ll
    R llvm/test/Transforms/InstCombine/AArch64/tbl1.ll
    A llvm/test/Transforms/InstCombine/ARM/tbl.ll
    R llvm/test/Transforms/InstCombine/ARM/tbl1.ll
    M llvm/test/Transforms/InstCombine/fdiv.ll
    M llvm/test/Transforms/InstCombine/float-shrink-compare.ll
    M llvm/test/Transforms/InstCombine/fold-select-fmul-if-zero.ll
    M llvm/test/Transforms/InstCombine/icmp-add.ll
    A llvm/test/Transforms/InstCombine/issue64967-reassoc-fmul.ll
    M llvm/test/Transforms/InstCombine/ldexp.ll
    M llvm/test/Transforms/InstCombine/mul.ll
    M llvm/test/Transforms/InstCombine/select-safe-impliedcond-transforms.ll
    M llvm/test/Transforms/InstSimplify/ConstProp/roundeven.ll
    M llvm/test/Transforms/InstSimplify/ptrtoaddr.ll
    M llvm/test/Transforms/InstSimplify/vp-reverse.ll
    M llvm/test/Transforms/LoadStoreVectorizer/NVPTX/4x2xhalf.ll
    A llvm/test/Transforms/LoadStoreVectorizer/NVPTX/extend-chain.ll
    A llvm/test/Transforms/LoadStoreVectorizer/NVPTX/gap-fill-cleanup.ll
    A llvm/test/Transforms/LoadStoreVectorizer/NVPTX/gap-fill-invariant.ll
    A llvm/test/Transforms/LoadStoreVectorizer/NVPTX/gap-fill-vectors.ll
    A llvm/test/Transforms/LoadStoreVectorizer/NVPTX/gap-fill-with-redundant-elements.ll
    A llvm/test/Transforms/LoadStoreVectorizer/NVPTX/gap-fill.ll
    M llvm/test/Transforms/LoadStoreVectorizer/NVPTX/many_loads_stores.ll
    A llvm/test/Transforms/LoadStoreVectorizer/NVPTX/masked-store.ll
    M llvm/test/Transforms/LoadStoreVectorizer/NVPTX/vectorize_i8.ll
    M llvm/test/Transforms/LoopFusion/cannot_fuse.ll
    M llvm/test/Transforms/LoopFusion/diagnostics_missed.ll
    A llvm/test/Transforms/LoopInterchange/large-nested-4d.ll
    A llvm/test/Transforms/LoopInterchange/large-nested-6d.ll
    M llvm/test/Transforms/LoopUnroll/AArch64/apple-unrolling.ll
    M llvm/test/Transforms/LoopUnroll/RISCV/vector.ll
    M llvm/test/Transforms/LoopUnroll/peel-to-turn-invariant-accesses-dereferenceable.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/early_exit_costs.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/gather-cost.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/induction-costs.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/low_trip_memcheck_cost.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/pr60831-sve-inv-store-crash.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/predicated-costs.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/scalable-avoid-scalarization.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/simple_early_exit.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/sve-inductions-unusual-types.ll
    A llvm/test/Transforms/LoopVectorize/AArch64/sve-predicated-costs.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/sve-vector-reverse.ll
    M llvm/test/Transforms/LoopVectorize/ARM/gather-cost.ll
    A llvm/test/Transforms/LoopVectorize/RISCV/predicated-costs.ll
    M llvm/test/Transforms/LoopVectorize/RISCV/riscv-vector-reverse.ll
    M llvm/test/Transforms/LoopVectorize/RISCV/strided-accesses.ll
    M llvm/test/Transforms/LoopVectorize/X86/gather-cost.ll
    M llvm/test/Transforms/LoopVectorize/X86/replicate-uniform-call.ll
    M llvm/test/Transforms/LoopVectorize/first-order-recurrence-chains-vplan.ll
    M llvm/test/Transforms/LoopVectorize/hoist-predicated-loads-with-predicated-stores.ll
    M llvm/test/Transforms/LoopVectorize/interleave-and-scalarize-only.ll
    A llvm/test/Transforms/LoopVectorize/runtime-check-threshold-with-force-metadata.ll
    M llvm/test/Transforms/LoopVectorize/scalable-assume.ll
    M llvm/test/Transforms/LoopVectorize/scalable-first-order-recurrence.ll
    M llvm/test/Transforms/LoopVectorize/scalable-inductions.ll
    M llvm/test/Transforms/LoopVectorize/scalable-iv-outside-user.ll
    M llvm/test/Transforms/LoopVectorize/vplan-printing-reductions.ll
    M llvm/test/Transforms/LoopVectorize/vplan-printing.ll
    M llvm/test/Transforms/LowerTypeTests/import.ll
    A llvm/test/Transforms/MergeFunc/switch.ll
    M llvm/test/Transforms/OpenMP/add_attributes.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/get_hardware_num_threads_in_block_fold.ll
    M llvm/test/Transforms/OpenMP/gpu_state_machine_function_ptr_replacement.ll
    M llvm/test/Transforms/OpenMP/indirect_call_kernel_info_crash.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/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/PGOProfile/memprof-dump-matched-alloc-site.ll
    M llvm/test/Transforms/PGOProfile/memprof-dump-matched-call-sites.ll
    M llvm/test/Transforms/PGOProfile/memprof_annotate_indirect_call.test
    M llvm/test/Transforms/PGOProfile/prof-verify-known-cold.ll
    M llvm/test/Transforms/PGOProfile/prof-verify.ll
    M llvm/test/Transforms/PhaseOrdering/AArch64/std-find.ll
    A llvm/test/Transforms/PhaseOrdering/loop-vectorize-bfi.ll
    A llvm/test/Transforms/PhaseOrdering/speculative-devirt-then-inliner.ll
    M llvm/test/Transforms/SLPVectorizer/X86/copyable-child-node-used-outside.ll
    A llvm/test/Transforms/SLPVectorizer/X86/copyable-with-used-outside-bb.ll
    M llvm/test/Transforms/SROA/protected-field-pointer.ll
    M llvm/test/Transforms/Scalarizer/min-bits.ll

  Log Message:
  -----------
  [𝘀𝗽𝗿] changes introduced through rebase

Created using spr 1.3.6-beta.1

[skip ci]


Compare: https://github.com/llvm/llvm-project/compare/367ebaf0c63a...a014906308f9

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