[all-commits] [llvm/llvm-project] ba44d7: [MLIR][test] Fixup for checking for ml_dtypes (#12...

Alexey Bataev via All-commits all-commits at lists.llvm.org
Tue Jan 21 07:03:55 PST 2025


  Branch: refs/heads/users/alexey-bataev/spr/slpreduce-number-of-alternate-instruction-where-possible
  Home:   https://github.com/llvm/llvm-project
  Commit: ba44d7ba1fb3e27f51d65ea1af280e00382e09e0
      https://github.com/llvm/llvm-project/commit/ba44d7ba1fb3e27f51d65ea1af280e00382e09e0
  Author: Konrad Kleine <kkleine at redhat.com>
  Date:   2025-01-17 (Fri, 17 Jan 2025)

  Changed paths:
    M mlir/test/python/execution_engine.py

  Log Message:
  -----------
  [MLIR][test] Fixup for checking for ml_dtypes (#123240)

In order to optionally run some checks that depend on the `ml_dtypes`
python module we have to remove the `CHECK` lines for those tests or
they will be required and missed in the test output.

I've changed to use asserts as recommended in [1].

[1]:
https://github.com/llvm/llvm-project/pull/123061#issuecomment-2596116023


  Commit: 7c729418d721147bf1f2b257afd30f84721888ad
      https://github.com/llvm/llvm-project/commit/7c729418d721147bf1f2b257afd30f84721888ad
  Author: Michael Buch <michaelbuch12 at gmail.com>
  Date:   2025-01-17 (Fri, 17 Jan 2025)

  Changed paths:
    M llvm/lib/CodeGen/AsmPrinter/DwarfUnit.cpp
    M llvm/lib/CodeGen/AsmPrinter/DwarfUnit.h
    M llvm/test/DebugInfo/NVPTX/debug-info.ll
    M llvm/test/DebugInfo/X86/DW_AT_object_pointer.ll
    M llvm/test/DebugInfo/X86/dwarf-public-names.ll
    M llvm/test/tools/llvm-dwarfdump/X86/statistics.ll

  Log Message:
  -----------
  [llvm][DebugInfo] Attach object-pointer to DISubprogram declarations (#122742)

Currently Clang only attaches `DW_AT_object_pointer` to
`DW_TAG_subprogram` definitions. LLDB constructs C++ method types from
their `DW_TAG_subprogram` declaration, which is also the point at which
it needs to determine whether a method is static or not. LLDB's
heuristic for this could be very simple if we emitted
`DW_AT_object_pointer` on declarations. But since we don't, LLDB has to
guess whether an argument is an implicit object parameter based on the
DW_AT_name and DW_AT_type.

To simplify LLDB's job (and to eventually support C++23's explicit
object parameters), this patch adds the `DIFlagObjectPointer` to
`DISubprogram` declarations.

For reference, GCC attaches the object-pointer DIE to both the
definition and declaration: https://godbolt.org/z/3TWjTfWon

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


  Commit: c9f72b2873d2b3ea777c3ee512696f2259252bce
      https://github.com/llvm/llvm-project/commit/c9f72b2873d2b3ea777c3ee512696f2259252bce
  Author: Keyi Zhang <Kuree at users.noreply.github.com>
  Date:   2025-01-17 (Fri, 17 Jan 2025)

  Changed paths:
    M mlir/lib/Dialect/LLVMIR/IR/LLVMAttrs.cpp
    M mlir/test/Dialect/LLVMIR/func.mlir

  Log Message:
  -----------
  [MLIR][LLVM] Fix #llvm.constant_range parsing (#123009)

When `APInt` parses negative numbers, it may extend the bit width. This
patch ensures the bit width matches with the attribute.

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


  Commit: 71ad9a958ac192599a46d86724a8084c8c4aff1c
      https://github.com/llvm/llvm-project/commit/71ad9a958ac192599a46d86724a8084c8c4aff1c
  Author: Paul Kirth <paulkirth at google.com>
  Date:   2025-01-17 (Fri, 17 Jan 2025)

  Changed paths:
    M clang/cmake/caches/Fuchsia-stage2.cmake

  Log Message:
  -----------
  [fuchsia][cmake] Add runtimes for cortex-m4 for the Fuchsia toolchain (#123258)


  Commit: 89305c371552adba2bd10394d2c645c9792840b2
      https://github.com/llvm/llvm-project/commit/89305c371552adba2bd10394d2c645c9792840b2
  Author: Sean Perry <perry at ca.ibm.com>
  Date:   2025-01-17 (Fri, 17 Jan 2025)

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

  Log Message:
  -----------
  [z/OS] add tail padding to TypeLoc if needed (#122761)

The code in getLocalDataSize() returns the sum of the size of the
LocalData plus the size of the extra data. The start of the extra data
is padded so it starts on a multiple of it's alignment. We also need to
be adding tail padding so the final size is a multiple of the alignment
of the LocalData. On most systems the alignment of the extra data is the
same or greater than the alignment of the LocalData so you don't need
the tail padding. However, on z/OS, the alignment of the extra data is
less than the alignment of the LocalData and thus you do need the tail
padding to make the final size a multiple of the LocalData alignment.

The extra data is the WrittenBuiltinSpecs struct. This struct is just a
struct of bitfields. On most systems the alignment of the struct is
determined by the type of the bitfields (eg. unsigned int -> align of
4). On z/OS, all bitfields are 1 byte aligned. Thus on z/OS
WrittenBuiltinSpecs is only size 2 with alignment of 1 (verses 4 & 4).


  Commit: 9f627cf540e9f0da1be17581af8d162a78820e6f
      https://github.com/llvm/llvm-project/commit/9f627cf540e9f0da1be17581af8d162a78820e6f
  Author: Prashanth <TheStarOne01 at proton.me>
  Date:   2025-01-17 (Fri, 17 Jan 2025)

  Changed paths:
    M libc/docs/CMakeLists.txt
    M libc/docs/headers/index.rst
    A libc/utils/docgen/sys/time.yaml

  Log Message:
  -----------
  [libc][docs] Add sys/time page to the status of implementations docs (#123000)

These changes ensure that the sys/time header is documented properly
with respect to the issue ( #122006 ) .


  Commit: 3f07af93dc013621176f5931ebc8dd07d299b277
      https://github.com/llvm/llvm-project/commit/3f07af93dc013621176f5931ebc8dd07d299b277
  Author: Kazu Hirata <kazu at google.com>
  Date:   2025-01-17 (Fri, 17 Jan 2025)

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

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

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

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

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


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

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

  Log Message:
  -----------
  [Sema] Migrate away from PointerUnion::dyn_cast (NFC) (#123284)

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

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

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


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

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

  Log Message:
  -----------
  [AST] Avoid repeated hash lookups (NFC) (#123285)


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

  Changed paths:
    M llvm/include/llvm/Analysis/BlockFrequencyInfoImpl.h

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


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

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

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


  Commit: f719771f251d7c30eca448133fe85730f19a6bd1
      https://github.com/llvm/llvm-project/commit/f719771f251d7c30eca448133fe85730f19a6bd1
  Author: Cullen Rhodes <cullen.rhodes at arm.com>
  Date:   2025-01-17 (Fri, 17 Jan 2025)

  Changed paths:
    M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
    M llvm/test/CodeGen/AArch64/const-shift-of-constmasked.ll
    M llvm/test/CodeGen/AArch64/extract-bits.ll
    M llvm/test/CodeGen/AArch64/fpenv.ll
    M llvm/test/CodeGen/AArch64/xbfiz.ll

  Log Message:
  -----------
  Revert "[AArch64] Combine and and lsl into ubfiz" (#123356)

Reverts llvm/llvm-project#118974


  Commit: d54d8d7e5a47d576d46dbc9fe60a0c927d05a648
      https://github.com/llvm/llvm-project/commit/d54d8d7e5a47d576d46dbc9fe60a0c927d05a648
  Author: Prashanth <TheStarOne01 at proton.me>
  Date:   2025-01-17 (Fri, 17 Jan 2025)

  Changed paths:
    M libc/docs/CMakeLists.txt
    M libc/docs/headers/index.rst
    A libc/utils/docgen/termios.yaml

  Log Message:
  -----------
  [libc][docs] Add termios page to the status of implementations docs (#123004)

These changes ensure that the termios header is documented properly with
respect to the issue ( https://github.com/llvm/llvm-project/issues/122006 ) .


  Commit: c83e5e85a382083d13933805b994c45d412c568f
      https://github.com/llvm/llvm-project/commit/c83e5e85a382083d13933805b994c45d412c568f
  Author: Nikolas Klauser <nikolasklauser at berlin.de>
  Date:   2025-01-17 (Fri, 17 Jan 2025)

  Changed paths:
    M libcxx/include/__config
    M libcxx/test/tools/clang_tidy_checks/libcpp_module.cpp

  Log Message:
  -----------
  [libc++] Enable _LIBCPP_NODEBUG again (#123318)

`_LIBCPP_NODEBUG` has been disabled temporarily, since there were a few
problems when adding a bunch of annotations throughout the code base.
They have been resolved now, so we can enable all the annotations again.

Reverts llvm/llvm-project#122393


  Commit: 4b692a95d103f3ad30d6be1ce6d5dda0bd90bc1f
      https://github.com/llvm/llvm-project/commit/4b692a95d103f3ad30d6be1ce6d5dda0bd90bc1f
  Author: Steven Perron <stevenperron at google.com>
  Date:   2025-01-17 (Fri, 17 Jan 2025)

  Changed paths:
    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/SPIRVModuleAnalysis.cpp
    A llvm/test/CodeGen/SPIRV/hlsl-resources/BufferLoadStore.ll
    M llvm/test/CodeGen/SPIRV/hlsl-resources/BufferStore.ll
    R llvm/test/CodeGen/SPIRV/hlsl-resources/CombinedSamplerImageDynIdx.ll
    R llvm/test/CodeGen/SPIRV/hlsl-resources/CombinedSamplerImageNonUniformIdx.ll
    R llvm/test/CodeGen/SPIRV/hlsl-resources/InputAttachmentImageDynIdx.ll
    R llvm/test/CodeGen/SPIRV/hlsl-resources/InputAttachmentImageNonUniformIdx.ll
    R llvm/test/CodeGen/SPIRV/hlsl-resources/SampledImageDynIdx.ll
    R llvm/test/CodeGen/SPIRV/hlsl-resources/SampledImageNonUniformIdx.ll
    R llvm/test/CodeGen/SPIRV/hlsl-resources/SamplerArrayDynIdx.ll
    R llvm/test/CodeGen/SPIRV/hlsl-resources/SamplerArrayNonUniformIdx.ll
    M llvm/test/CodeGen/SPIRV/hlsl-resources/ScalarResourceType.ll
    M llvm/test/CodeGen/SPIRV/hlsl-resources/StorageImageDynIdx.ll
    M llvm/test/CodeGen/SPIRV/hlsl-resources/StorageImageNonUniformIdx.ll
    R llvm/test/CodeGen/SPIRV/hlsl-resources/StorageTexelBufferDynIdx.ll
    R llvm/test/CodeGen/SPIRV/hlsl-resources/StorageTexelBufferNonUniformIdx.ll
    R llvm/test/CodeGen/SPIRV/hlsl-resources/UniformTexelBufferDynIdx.ll
    R llvm/test/CodeGen/SPIRV/hlsl-resources/UniformTexelBufferNonUniformIdx.ll
    M llvm/test/CodeGen/SPIRV/hlsl-resources/UnknownBufferStore.ll

  Log Message:
  -----------
  [SPIRV] Expand RWBuffer load and store from HLSL (#122355)

The code pattern that clang will generate for HLSL has changed from the
original plan. This allows the SPIR-V backend to generate code for the
current code generation.

It looks for patterns of the form:

```
%1 = @llvm.spv.resource.handlefrombinding
%2 = @llvm.spv.resource.getpointer(%1, index)
load/store %2
```

These three llvm-ir instruction are treated as a single unit that will

1. Generate or find the global variable identified by the call to
   `resource.handlefrombinding`.
2. Generate an OpLoad of the variable to get the handle to the image.
3. Generate an OpImageRead or OpImageWrite using that handle with the
   given index.

This will generate the OpLoad in the same BB as the read/write.

Note: Now that `resource.handlefrombinding` is not processed on its own,
many existing tests had to be removed. We do not have intrinsics that
are able to use handles to sampled images, input attachments, etc., so
we cannot generate the load of the handle. These tests are removed for
now, and will be added when those resource types are fully implemented.


  Commit: ee1c85225235c4353555a17b73ba16a2f177265b
      https://github.com/llvm/llvm-project/commit/ee1c85225235c4353555a17b73ba16a2f177265b
  Author: Shubham Sandeep Rastogi <srastogi22 at apple.com>
  Date:   2025-01-17 (Fri, 17 Jan 2025)

  Changed paths:
    M llvm/lib/Target/AArch64/AArch64InstrInfo.cpp
    A llvm/test/CodeGen/AArch64/instr-ref-ldv.ll

  Log Message:
  -----------
  [DebugInfo][InstrRef] Treat ORRWrr as a copy instr (#123102)

The insturction selector uses the `MachineFunction::copySalvageSSA`
function to insert `DBG_PHIs` or identify a defining instruction for a
copy-like instruction when finalizing Instruction References.

AArch64 has the ORR instruction which is a logical OR with the variants
ORRWrr which refers to a register to register variant, and ORRWrs which
is a register to a shifted register variant.

An ORRWrs where the shift amount is 0, and the zero register ($wzr) is
used is considered a copy, for example:

`$w0 = ORRWrs $wzr, killed $w3, 0`

However an ORRWrr with a zero register is not considered a copy

`$w0 = ORRWrr $wzr, killed $w3`

This causes an issue in the livedebugvalues pass because in aarch64-isel
the instruction is the ORRWrr variant, but is then changed to the ORRWrs
variant before the livedebugvalues pass.

This causes a mismatch between the two passes which leads to a crash in
the livedebugvalues pass.

This patch fixes the issue.


  Commit: 3065cf238ca3fddd74cba0bd660afe5fd4e7da03
      https://github.com/llvm/llvm-project/commit/3065cf238ca3fddd74cba0bd660afe5fd4e7da03
  Author: Jorge Gorbe Moya <jgorbe at google.com>
  Date:   2025-01-17 (Fri, 17 Jan 2025)

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

  Log Message:
  -----------
  [bazel] Remove //clang:basic_internal_headers target (NFC) (#123230)

This target exists to allow `#include "Header.h"` for headers in
lib/Basic rather than using file-relative inclusion. This is rather
hacky and results in having two targets that claim the same headers.

Instead, we can pass a `-I` flag in the `copts` for //clang:basic, to
adjust the include path to keep those `#include "Header.h"` directives
working. There are other targets in this file already doing a similar
thing for generated files.


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

  Changed paths:
    M llvm/test/Transforms/SLPVectorizer/AArch64/vectorize-free-extracts-inserts.ll
    M llvm/test/Transforms/SLPVectorizer/X86/hadd.ll
    M llvm/test/Transforms/SLPVectorizer/X86/sitofp.ll
    M llvm/test/Transforms/SLPVectorizer/X86/value-bug.ll
    M llvm/test/Transforms/SLPVectorizer/X86/vectorize-widest-phis.ll
    R llvm/test/Transforms/SLPVectorizer/insert-element-build-vector-const-undef.ll
    A llvm/test/Transforms/SLPVectorizer/insert-element-build-vector-const.ll
    M llvm/test/Transforms/SLPVectorizer/insert-element-build-vector.ll

  Log Message:
  -----------
  [SLP][NFC]Replace undef with constant zero in tests, NFC


  Commit: c7ea4c18afa84875ac22b2c98930c793eefd24b2
      https://github.com/llvm/llvm-project/commit/c7ea4c18afa84875ac22b2c98930c793eefd24b2
  Author: Timm Baeder <tbaeder at redhat.com>
  Date:   2025-01-17 (Fri, 17 Jan 2025)

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

  Log Message:
  -----------
  [clang][bytecode] Revisit global variables separately (#123358)

Call `EvaluateAsInitializer()` explicitly here, so we don't abort the
evaluation of the `DeflRefExpr` just because the initializer of that
global variable failed.


  Commit: 8815c505be90edf0168e931d77f2b68e393031d3
      https://github.com/llvm/llvm-project/commit/8815c505be90edf0168e931d77f2b68e393031d3
  Author: JoelWee <32009741+JoelWee at users.noreply.github.com>
  Date:   2025-01-17 (Fri, 17 Jan 2025)

  Changed paths:
    M mlir/include/mlir/IR/Diagnostics.h
    M mlir/lib/IR/Diagnostics.cpp

  Log Message:
  -----------
  [MLIR] Allow setting call stack limit for SourceMgrDiagnosticHandler (#123373)

Otherwise for deeply nested code, the callstack will always be truncated


  Commit: fbea21aa52f96fc12e19fa4b1063209bc4d19f99
      https://github.com/llvm/llvm-project/commit/fbea21aa52f96fc12e19fa4b1063209bc4d19f99
  Author: Stanislav Mekhanoshin <rampitec at users.noreply.github.com>
  Date:   2025-01-17 (Fri, 17 Jan 2025)

  Changed paths:
    A llvm/test/CodeGen/AMDGPU/licm-wwm.mir

  Log Message:
  -----------
  [AMDGPU] Add test for VALU hoisiting from WWM region. NFC. (#123234)

The test demonstraits a suboptimal VALU hoisting from a WWM
region. As a result we have 2 WWM regions instead of one.


  Commit: f12e0c9c3a45065543bea89c5545e26690ac3e59
      https://github.com/llvm/llvm-project/commit/f12e0c9c3a45065543bea89c5545e26690ac3e59
  Author: Prashanth <TheStarOne01 at proton.me>
  Date:   2025-01-17 (Fri, 17 Jan 2025)

  Changed paths:
    M libc/docs/CMakeLists.txt
    M libc/docs/headers/index.rst
    A libc/utils/docgen/sys/stat.yaml

  Log Message:
  -----------
  [libc][docs] Add sys/stat page to the status of implementations docs (#122997)

These changes ensure that the sys/stat header is documented properly
with respect to the issue ( #122006 ) .


  Commit: 1c3c65590d1635ab1b50c89dc8379c42a5d535bd
      https://github.com/llvm/llvm-project/commit/1c3c65590d1635ab1b50c89dc8379c42a5d535bd
  Author: alx32 <103613512+alx32 at users.noreply.github.com>
  Date:   2025-01-17 (Fri, 17 Jan 2025)

  Changed paths:
    M lld/MachO/Options.td

  Log Message:
  -----------
  [lld-macho] Document '-icf' flag options (#123372)

Adding the `safe_thunks` option in `Options.td` as it was missing there
- mentioned by @Colibrow in
https://github.com/llvm/llvm-project/pull/106573
Also documenting what the various options mean. 

Help now looks like this:
```
..........
  --error-limit=<value>   Maximum number of errors to print before exiting (default: 20)
  --help-hidden           Display help for hidden options
  --icf=[none,safe,safe_thunks,all]
                          Set level for identical code folding (default: none). Possible values:
                            none        - Disable ICF
                            safe        - Only folds non-address significant functions (as described by `__addrsig` section)
                            safe_thunks - Like safe, but replaces address-significant functions with thunks
                            all         - Fold all identical functions
  --ignore-auto-link-option=<value>
                          Ignore a single auto-linked library or framework. Useful to ignore invalid options that ld64 ignores
  --irpgo-profile-sort=<profile>
                          Deprecated. Please use --irpgo-profile and --bp-startup-sort=function
..........
```


  Commit: 2dc5682dacab2dbb52a771746fdede0e938fc6e9
      https://github.com/llvm/llvm-project/commit/2dc5682dacab2dbb52a771746fdede0e938fc6e9
  Author: David Blaikie <dblaikie at gmail.com>
  Date:   2025-01-17 (Fri, 17 Jan 2025)

  Changed paths:
    M llvm/lib/IR/Verifier.cpp
    A llvm/test/Verifier/dicompositetype-elements-null.ll

  Log Message:
  -----------
  Verifier: Add check for DICompositeType elements being null

Came up recently with some nodebug case on codeview, that caused a null
entry in elements and crashed LLVM.

Original clang fix to avoid generating IR like this: 504dd577675e8c85cdc8525990a7c8b517a38a89


  Commit: bbd871e2baad2e74dbde202823b3439d2a96d3f8
      https://github.com/llvm/llvm-project/commit/bbd871e2baad2e74dbde202823b3439d2a96d3f8
  Author: Louis Dionne <ldionne.2 at gmail.com>
  Date:   2025-01-17 (Fri, 17 Jan 2025)

  Changed paths:
    M libcxx/include/atomic
    M libcxx/include/stdatomic.h
    M libcxx/test/libcxx/atomics/atomics.syn/compatible_with_stdatomic.compile.pass.cpp
    A libcxx/test/libcxx/atomics/atomics.syn/incompatible_with_stdatomic.verify.cpp
    A libcxx/test/libcxx/atomics/stdatomic.h.syn/dont_hijack_header.compile.pass.cpp
    A libcxx/test/libcxx/atomics/stdatomic.h.syn/dont_hijack_header.cxx23.compile.pass.cpp

  Log Message:
  -----------
  [libc++] Don't implement <stdatomic.h> before C++23 (#123130)

https://github.com/llvm/llvm-project/pull/95498 implemented a libc++
extension where <stdatomic.h> would forward to <atomic> even before
C++23. Unfortunately, this was found to be a breaking change (with
fairly widespread impact) since that changes whether _Atomic(T) is a C
style atomic or std::atomic<T>. In principle, this can even be an ABI
break.

We generally don't implement extensions in libc++ because they cause so
many problems, and that extension had been accepted because it was
deemed pretty small and only a quality of life improvement. Since it has
widespread impact on valid C++20 (and before) code, this patch removes
the extension before we ship it in any public release.


  Commit: 58a70dffcc096b54537aa99a045346ee28ad2592
      https://github.com/llvm/llvm-project/commit/58a70dffcc096b54537aa99a045346ee28ad2592
  Author: Thurston Dang <thurston at google.com>
  Date:   2025-01-17 (Fri, 17 Jan 2025)

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

  Log Message:
  -----------
  [msan] Add debugging for handleUnknownIntrinsic (#123381)

This adds an experimental flag, msan-dump-strict-intrinsics (modeled
after msan-dump-strict-instructions), which prints out any intrinsics
that are heuristically handled. Additionally, MSan will print out
heuristically handled intrinsics when -debug is passed as a flag in
debug builds.

MSan's intrinsic handling can be broken down into:

1) special cases (usually highly accurate)
2) heuristic handling (sometimes erroneous)
3) not handled

This patch's -msan-dump-strict-intrinsics is intended to help debug Case
2. Case 3) (which includes all the heuristics that are not handled by
special cases nor heuristics) can be debugged using the existing
-msan-dump-strict-instructions.


  Commit: 6716ce8b641f0e42e2343e1694ee578b027be0c4
      https://github.com/llvm/llvm-project/commit/6716ce8b641f0e42e2343e1694ee578b027be0c4
  Author: David Blaikie <dblaikie at gmail.com>
  Date:   2025-01-17 (Fri, 17 Jan 2025)

  Changed paths:
    M llvm/lib/IR/Verifier.cpp
    R llvm/test/Verifier/dicompositetype-elements-null.ll

  Log Message:
  -----------
  Revert "Verifier: Add check for DICompositeType elements being null"

Asserts on various tests/buildbots, at least one example is
DebugInfo/X86/set.ll

This reverts commit 2dc5682dacab2dbb52a771746fdede0e938fc6e9.


  Commit: eddeb36cf1ced0e14e17ac90f60922366e382100
      https://github.com/llvm/llvm-project/commit/eddeb36cf1ced0e14e17ac90f60922366e382100
  Author: Farzon Lotfi <farzonlotfi at microsoft.com>
  Date:   2025-01-17 (Fri, 17 Jan 2025)

  Changed paths:
    M clang/include/clang/Basic/BuiltinsSPIRV.td
    M clang/lib/CodeGen/CGBuiltin.cpp
    M clang/lib/Headers/hlsl/hlsl_detail.h
    M clang/lib/Sema/SemaSPIRV.cpp
    M clang/test/CodeGenHLSL/builtins/distance.hlsl
    M clang/test/CodeGenHLSL/builtins/length.hlsl
    A clang/test/CodeGenSPIRV/Builtins/length.c
    A clang/test/SemaSPIRV/BuiltIns/length-errors.c
    M llvm/lib/Target/SPIRV/CMakeLists.txt
    M llvm/lib/Target/SPIRV/SPIRV.h
    M llvm/lib/Target/SPIRV/SPIRV.td
    A llvm/lib/Target/SPIRV/SPIRVCombine.td
    M llvm/lib/Target/SPIRV/SPIRVPreLegalizer.cpp
    A llvm/lib/Target/SPIRV/SPIRVPreLegalizerCombiner.cpp
    M llvm/lib/Target/SPIRV/SPIRVTargetMachine.cpp
    A llvm/test/CodeGen/SPIRV/GlobalISel/InstCombine/prelegalizercombiner-length-to-distance.mir
    M llvm/test/CodeGen/SPIRV/hlsl-intrinsics/distance.ll
    M llvm/test/CodeGen/SPIRV/opencl/distance.ll

  Log Message:
  -----------
  [SPIRV] add pre legalization instruction combine (#122839)

- Add the boilerplate to support instcombine in SPIRV
- instcombine length(X-Y) to distance(X,Y)
- switch HLSL's distance intrinsic to not special case for SPIRV.
- fixes #122766
- This RFC we were requested to add in the infra for pattern matching:
https://discourse.llvm.org/t/rfc-add-targetbuiltins-for-spirv-to-support-hlsl/83329/13


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

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

  Log Message:
  -----------
  [SLP][NFC]Add safe createExtractVector and use instead Builder.CreateExtractVector


  Commit: 10fdd09c3bda8bfc532cecf4f11babaf356554f3
      https://github.com/llvm/llvm-project/commit/10fdd09c3bda8bfc532cecf4f11babaf356554f3
  Author: Michael Buch <michaelbuch12 at gmail.com>
  Date:   2025-01-17 (Fri, 17 Jan 2025)

  Changed paths:
    M clang/lib/CodeGen/CGDebugInfo.cpp
    M clang/test/CodeGenCXX/debug-info-object-pointer.cpp
    M llvm/include/llvm-c/DebugInfo.h
    M llvm/include/llvm/IR/DIBuilder.h
    M llvm/lib/IR/DIBuilder.cpp
    M llvm/lib/IR/DebugInfo.cpp

  Log Message:
  -----------
  [clang][DebugInfo] Emit DW_AT_object_pointer on function declarations with explicit `this` (#122928)

In https://github.com/llvm/llvm-project/pull/122897 we started attaching
`DW_AT_object_pointer` to function definitions. This patch does the same
but for function declarations (which we do for implicit object pointers
already).

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


  Commit: 128e2e446e90c3b1827cfc7d4d19e3c0976beff3
      https://github.com/llvm/llvm-project/commit/128e2e446e90c3b1827cfc7d4d19e3c0976beff3
  Author: Vasileios Porpodas <vporpodas at google.com>
  Date:   2025-01-17 (Fri, 17 Jan 2025)

  Changed paths:
    M llvm/include/llvm/Transforms/Vectorize/SandboxVectorizer/VecUtils.h
    M llvm/lib/Transforms/Vectorize/CMakeLists.txt
    A llvm/lib/Transforms/Vectorize/SandboxVectorizer/VecUtils.cpp

  Log Message:
  -----------
  [SandboxVec][VecUtils][NFC] Move functions to VecUtils.cpp and add a VecUtils::dump()


  Commit: 6b048aeaf837e0e16fece94610f0871d17cefe4c
      https://github.com/llvm/llvm-project/commit/6b048aeaf837e0e16fece94610f0871d17cefe4c
  Author: Jacob Lalonde <jalalonde at fb.com>
  Date:   2025-01-17 (Fri, 17 Jan 2025)

  Changed paths:
    M lldb/bindings/headers.swig
    A lldb/bindings/interface/SBProgressDocstrings.i
    M lldb/bindings/interfaces.swig
    M lldb/include/lldb/API/SBDebugger.h
    A lldb/include/lldb/API/SBProgress.h
    M lldb/include/lldb/lldb-forward.h
    M lldb/source/API/CMakeLists.txt
    A lldb/source/API/SBProgress.cpp
    M lldb/source/Core/Debugger.cpp
    A lldb/test/API/python_api/sbprogress/TestSBProgress.py

  Log Message:
  -----------
  [LLDB] Add SBProgress so Python scripts can also report progress (#119052)

Recently I've been working on a lot of internal Python tooling, and in
certain cases I want to report async to the script over DAP. Progress.h
already handles this, so I've exposed Progress via the SB API so Python
scripts can also update progress objects.

I actually have no idea how to test this, so I just wrote a [toy command
to test
it](https://gist.github.com/Jlalond/48d85e75a91f7a137e3142e6a13d0947)


![image](https://github.com/user-attachments/assets/7317cbb8-9145-4fdb-bacf-9864bf50c467)

I also copied the first section of the extensive Progress.h class
documentation to the docstrings.


  Commit: a807b2feb8bd2bcb4c611599d52d287c443c7e0b
      https://github.com/llvm/llvm-project/commit/a807b2feb8bd2bcb4c611599d52d287c443c7e0b
  Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
  Date:   2025-01-17 (Fri, 17 Jan 2025)

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

  Log Message:
  -----------
  [gn build] Port 128e2e446e90


  Commit: 580ba2eed29a18c75727e1cad910b8cfb4cfca59
      https://github.com/llvm/llvm-project/commit/580ba2eed29a18c75727e1cad910b8cfb4cfca59
  Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
  Date:   2025-01-17 (Fri, 17 Jan 2025)

  Changed paths:
    M llvm/utils/gn/secondary/lldb/source/API/BUILD.gn

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


  Commit: 71ff486bee1b089c78f5b8175fef16f99fcebe19
      https://github.com/llvm/llvm-project/commit/71ff486bee1b089c78f5b8175fef16f99fcebe19
  Author: Slava Zakharin <szakharin at nvidia.com>
  Date:   2025-01-17 (Fri, 17 Jan 2025)

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

  Log Message:
  -----------
  Reland "[flang] Inline hlfir.dot_product. (#123143)" (#123385)

This reverts commit afc43a7b626ae07f56e6534320e0b46d26070750.
+Fixed declaration of hlfir::genExtentsVector().

Some good results for induct2, where dot_product is applied
to a vector of unknow size and a known 3-element vector:
the inlining ends up generating a 3-iteration loop, which
is then fully unrolled. With late FIR simplification
it is not happening even when the simplified intrinsics
implementation is inlined by LLVM (because the loop bounds
are not known).

This change just follows the current approach to expose
the loops for later worksharing application.


  Commit: ce6e66ddecbd1ddfa3be9be2ac881931d5ae71a4
      https://github.com/llvm/llvm-project/commit/ce6e66ddecbd1ddfa3be9be2ac881931d5ae71a4
  Author: Philip Reames <preames at rivosinc.com>
  Date:   2025-01-17 (Fri, 17 Jan 2025)

  Changed paths:
    A llvm/test/CodeGen/RISCV/rvv/fixed-vectors-select-addsub.ll

  Log Message:
  -----------
  [RISCV] Add coverage for an upcoming select lowering change

A select between an add and a sub can be either a vrsub followed by
add (reducing register pressure), or a vmacc.  The former will be
implemented in an upcoming review.


  Commit: 5a735a28c8bf916a4a6d9068f01d80fdf1affa8a
      https://github.com/llvm/llvm-project/commit/5a735a28c8bf916a4a6d9068f01d80fdf1affa8a
  Author: Farzon Lotfi <farzonlotfi at microsoft.com>
  Date:   2025-01-17 (Fri, 17 Jan 2025)

  Changed paths:
    M clang/lib/Sema/SemaHLSL.cpp
    M clang/test/SemaHLSL/BuiltIns/lerp-errors.hlsl

  Log Message:
  -----------
  [HLSL][Sema] Fixed Diagnostics that assumed only two arguments (#122772)

In the below code B varies over the arg list via a loop. However, the
diagnostics do not vary with the loop.
Fix so that diagnostics can vary with B.


  Commit: e237e37c62804b5caa7ca5501d7372d7b01167ad
      https://github.com/llvm/llvm-project/commit/e237e37c62804b5caa7ca5501d7372d7b01167ad
  Author: Daniel Thornburgh <dthorn at google.com>
  Date:   2025-01-17 (Fri, 17 Jan 2025)

  Changed paths:
    M libc/src/__support/block.h

  Log Message:
  -----------
  [libc] Fix riscv32 Block assertion failure on #117815


  Commit: dce5d1fcb956e0218268dc1bf3e128bd2586df77
      https://github.com/llvm/llvm-project/commit/dce5d1fcb956e0218268dc1bf3e128bd2586df77
  Author: Alexandros Lamprineas <alexandros.lamprineas at arm.com>
  Date:   2025-01-17 (Fri, 17 Jan 2025)

  Changed paths:
    M llvm/lib/Transforms/IPO/GlobalOpt.cpp
    M llvm/test/Transforms/GlobalOpt/resolve-fmv-ifunc.ll

  Log Message:
  -----------
  [FMV][GlobalOpt] Do not statically resolve non-FMV callers. (#123383)

This fixes a runtime regression in the llvm testsuite:

https://lab.llvm.org/buildbot/#/builders/198/builds/1237

On clang-aarch64-sve2-vla:

predres
        FAIL

A 'predres' version is unexpectedly trapping on GravitonG4. My
explanation is that when the caller in not a versioned function, the
compiler exclusively relies on the command line option, or target
attribute to deduce whether a feature is available. However, there is no
guarantee that in reality the host supports those implied features.

This is a quickfix. We may rather change the mcpu option in the llvm
testsuite build instead.


  Commit: 7b3a3530163f576708530dc6bcd6a0196a5423ae
      https://github.com/llvm/llvm-project/commit/7b3a3530163f576708530dc6bcd6a0196a5423ae
  Author: mishaobu <46725114+mishaobu at users.noreply.github.com>
  Date:   2025-01-17 (Fri, 17 Jan 2025)

  Changed paths:
    M mlir/include/mlir/Dialect/SPIRV/IR/SPIRVGLOps.td
    M mlir/test/Dialect/SPIRV/IR/gl-ops.mlir
    M mlir/test/Target/SPIRV/gl-ops.mlir

  Log Message:
  -----------
  [mlir][spirv] Add common SPIRV Extended Ops for Vectors (#122322)

Support for the following SPIR-V Extended Ops: 
* 67: Distance
* 68: Cross
* 69: Normalize
* 71: Reflect


(Found here:
https://registry.khronos.org/SPIR-V/specs/1.0/GLSL.std.450.html)


  Commit: e5a28a3b4d09a3ab128439a0f4eb2659e0b1978b
      https://github.com/llvm/llvm-project/commit/e5a28a3b4d09a3ab128439a0f4eb2659e0b1978b
  Author: mishaobu <46725114+mishaobu at users.noreply.github.com>
  Date:   2025-01-17 (Fri, 17 Jan 2025)

  Changed paths:
    M mlir/include/mlir/Dialect/SPIRV/IR/SPIRVBase.td
    M mlir/include/mlir/Dialect/SPIRV/IR/SPIRVMatrixOps.td
    M mlir/lib/Dialect/SPIRV/IR/SPIRVOps.cpp
    M mlir/test/Dialect/SPIRV/IR/matrix-ops.mlir
    M mlir/test/Target/SPIRV/matrix.mlir

  Log Message:
  -----------
  [mlir][spirv] Add MatrixTimesVector Op (#122302)

(From SPIRV reference here :
https://registry.khronos.org/SPIR-V/specs/unified1/SPIRV.html#OpMatrixTimesVector)


  Commit: b1bf95c081297305b2c9810ff04a9dac7216b434
      https://github.com/llvm/llvm-project/commit/b1bf95c081297305b2c9810ff04a9dac7216b434
  Author: George Chaltas <george.chaltas at intel.com>
  Date:   2025-01-17 (Fri, 17 Jan 2025)

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

  Log Message:
  -----------
  ReduxWidth check for 0 (#123257)

Added assert to check for underflow of ReduxWidth

	modified:   llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp


Source code analysis flagged the operation (ReduxWwidth - 1) as
potential underflow, since ReduxWidth is unsigned.
Realize that this should never happen if everything is working right,
but added an assert to check for it just in case.


  Commit: 078dfd825309480b6a9df3ea44f6adf04913b339
      https://github.com/llvm/llvm-project/commit/078dfd825309480b6a9df3ea44f6adf04913b339
  Author: Philip Reames <preames at rivosinc.com>
  Date:   2025-01-17 (Fri, 17 Jan 2025)

  Changed paths:
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-select-addsub.ll

  Log Message:
  -----------
  [RISCV] Fix variable naming in recently pre-committed test

I'd swapped the %add/%sub names, and then copied that repeatedly.
Oops.  While updating, remove the nsw as those should be irrelevant
and is another copy-paste mistake on my part.


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

  Changed paths:
    M lld/MachO/Options.td

  Log Message:
  -----------
  [lld][InstrProf][NFC] Fix typo in help message (#123390)


  Commit: 5db28679da38bee65feb55b803a23aceee568f44
      https://github.com/llvm/llvm-project/commit/5db28679da38bee65feb55b803a23aceee568f44
  Author: Daniel Thornburgh <dthorn at google.com>
  Date:   2025-01-17 (Fri, 17 Jan 2025)

  Changed paths:
    M libc/test/src/__support/block_test.cpp
    M libc/test/src/__support/freestore_test.cpp

  Log Message:
  -----------
  [libc] Fix malloc riscv32 test failures from #117815


  Commit: a440c3ea89ea25a88ec265fe6130a6eb04840423
      https://github.com/llvm/llvm-project/commit/a440c3ea89ea25a88ec265fe6130a6eb04840423
  Author: Daniel Thornburgh <dthorn at google.com>
  Date:   2025-01-17 (Fri, 17 Jan 2025)

  Changed paths:
    M libc/test/src/__support/freestore_test.cpp

  Log Message:
  -----------
  [libc] Correct previous malloc fix


  Commit: 98067a322596a5fd1d850b2645250a082e8b18f2
      https://github.com/llvm/llvm-project/commit/98067a322596a5fd1d850b2645250a082e8b18f2
  Author: Daniel Thornburgh <dthorn at google.com>
  Date:   2025-01-17 (Fri, 17 Jan 2025)

  Changed paths:
    M libc/test/src/__support/freestore_test.cpp

  Log Message:
  -----------
  [libc] Outer size, not inner size


  Commit: 8f18f36b4906872ee0838ade2c0367c77b6f5bc0
      https://github.com/llvm/llvm-project/commit/8f18f36b4906872ee0838ade2c0367c77b6f5bc0
  Author: Adrian Prantl <aprantl at apple.com>
  Date:   2025-01-17 (Fri, 17 Jan 2025)

  Changed paths:
    M lldb/test/API/tools/lldb-dap/variables/TestDAP_variables.py

  Log Message:
  -----------
  [lldb] Skip unreliable test under ASAN


  Commit: 04383d63130a72c1280d80ec3f5a09dfdf607462
      https://github.com/llvm/llvm-project/commit/04383d63130a72c1280d80ec3f5a09dfdf607462
  Author: Ryosuke Niwa <rniwa at webkit.org>
  Date:   2025-01-17 (Fri, 17 Jan 2025)

  Changed paths:
    M clang/tools/scan-build/bin/scan-build

  Log Message:
  -----------
  [Static analysis] Encodes a filename before inserting it into a URL. (#120810)

This fixes a bug where report links generated from files such as
StylePrimitiveNumericTypes+Conversions.h in WebKit result in an error.

---------

Co-authored-by: Brianna Fan <bfan2 at apple.com>


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

  Changed paths:
    M llvm/include/llvm/Transforms/Vectorize/SandboxVectorizer/InstrMaps.h
    M llvm/include/llvm/Transforms/Vectorize/SandboxVectorizer/Passes/BottomUpVec.h
    M llvm/lib/Transforms/Vectorize/SandboxVectorizer/Passes/BottomUpVec.cpp
    M llvm/unittests/Transforms/Vectorize/SandboxVectorizer/InstrMapsTest.cpp
    M llvm/unittests/Transforms/Vectorize/SandboxVectorizer/LegalityTest.cpp

  Log Message:
  -----------
  [SandboxVec][InstrMaps] EraseInstr callback (#123256)

This patch hooks up InstrMaps to the Sandbox IR callbacks such that it
gets updated when instructions get erased.


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

  Changed paths:
    M clang-tools-extra/clangd/CMakeLists.txt
    M clang-tools-extra/clangd/FindTarget.cpp
    M clang-tools-extra/clangd/FindTarget.h
    R clang-tools-extra/clangd/HeuristicResolver.cpp
    R clang-tools-extra/clangd/HeuristicResolver.h
    M clang-tools-extra/clangd/InlayHints.cpp
    M clang-tools-extra/clangd/ParsedAST.cpp
    M clang-tools-extra/clangd/ParsedAST.h
    M clang-tools-extra/clangd/SemanticHighlighting.cpp
    M clang-tools-extra/clangd/XRefs.cpp
    M clang-tools-extra/clangd/unittests/CMakeLists.txt
    R clang-tools-extra/clangd/unittests/HeuristicResolverTests.cpp
    A clang/include/clang/Sema/HeuristicResolver.h
    M clang/lib/Sema/CMakeLists.txt
    A clang/lib/Sema/HeuristicResolver.cpp
    M clang/unittests/Sema/CMakeLists.txt
    A clang/unittests/Sema/HeuristicResolverTest.cpp

  Log Message:
  -----------
  [clang][Sema] Upstream HeuristicResolver from clangd (#121314)

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


  Commit: 358d65463b215a18e731b3a5494d51e1bcbd1356
      https://github.com/llvm/llvm-project/commit/358d65463b215a18e731b3a5494d51e1bcbd1356
  Author: Kazu Hirata <kazu at google.com>
  Date:   2025-01-17 (Fri, 17 Jan 2025)

  Changed paths:
    M llvm/unittests/Transforms/Vectorize/SandboxVectorizer/InstrMapsTest.cpp

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

This patch fixes:

  third-party/unittest/googletest/include/gtest/gtest.h:1379:11:
  error: comparison of integers of different signs: 'const unsigned
  int' and 'const int' [-Werror,-Wsign-compare]


  Commit: 18eec97f092311373163216419a2e4606fe51ba2
      https://github.com/llvm/llvm-project/commit/18eec97f092311373163216419a2e4606fe51ba2
  Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
  Date:   2025-01-17 (Fri, 17 Jan 2025)

  Changed paths:
    M llvm/utils/gn/secondary/clang-tools-extra/clangd/BUILD.gn
    M llvm/utils/gn/secondary/clang-tools-extra/clangd/unittests/BUILD.gn
    M llvm/utils/gn/secondary/clang/lib/Sema/BUILD.gn
    M llvm/utils/gn/secondary/clang/unittests/Sema/BUILD.gn

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


  Commit: 65cd9e4c2f85bd119eb039df1c90e8c97cbffb0c
      https://github.com/llvm/llvm-project/commit/65cd9e4c2f85bd119eb039df1c90e8c97cbffb0c
  Author: Florian Hahn <flo at fhahn.com>
  Date:   2025-01-17 (Fri, 17 Jan 2025)

  Changed paths:
    M llvm/lib/Transforms/Vectorize/VPlanValue.h
    M llvm/unittests/Transforms/Vectorize/VPlanTest.cpp

  Log Message:
  -----------
  [VPlan] Make VPValue constructors protected. (NFC)

Tighten access to constructors similar to ef1260acc0. VPValues should
either be constructed by constructors of recipes defining them or should
be live-ins created by VPlan (via getOrAddLiveIn).


  Commit: 0c6e03eea04b93984d5fe562f64f1ce31f5cca09
      https://github.com/llvm/llvm-project/commit/0c6e03eea04b93984d5fe562f64f1ce31f5cca09
  Author: Craig Topper <craig.topper at sifive.com>
  Date:   2025-01-17 (Fri, 17 Jan 2025)

  Changed paths:
    M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
    A llvm/test/CodeGen/RISCV/rvv/vp-combine-store-reverse.ll

  Log Message:
  -----------
  [RISCV] Fold vp.store(vp.reverse(VAL), ADDR, MASK) -> vp.strided.store(VAL, NEW_ADDR, -1, MASK) (#123123)

Co-authored-by: Brandon Wu <brandon.wu at sifive.com>


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

  Changed paths:
    M flang/include/flang/Optimizer/Dialect/FIRType.h
    M flang/lib/Optimizer/Builder/FIRBuilder.cpp
    M flang/test/Lower/CUDA/cuda-devptr.cuf

  Log Message:
  -----------
  [flang][cuda] Perform scalar assignment of c_devptr inlined (#123407)

Because `c_devptr` has a `c_ptr` field, any assignment were done via the
Assign runtime function. This leads to stack overflow on the device and
taking too much memory. As we know the c_devptr can be directly copied
on assignment, make it a special case.


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

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

  Log Message:
  -----------
  [SandboxIR] Fix CmpInst::create() when it gets folded (#123408)

If the operands of a CmpInst are constants then it gets folded into a
constant. Therefore CmpInst::create() should return a Value*, not a
Constant* and should handle the creation of the constant correctly.


  Commit: 87e4b68195adc81fae40a4fa27e33458a9586fe5
      https://github.com/llvm/llvm-project/commit/87e4b68195adc81fae40a4fa27e33458a9586fe5
  Author: vporpo <vporpodas at google.com>
  Date:   2025-01-17 (Fri, 17 Jan 2025)

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

  Log Message:
  -----------
  [SandboxVec][Legality] Implement ShuffleMask (#123404)

This patch implements a helper ShuffleMask data structure that helps
describe shuffles of elements across lanes.


  Commit: 9fdc38c81c7d1b61cb0750e5f5b273d6d1877513
      https://github.com/llvm/llvm-project/commit/9fdc38c81c7d1b61cb0750e5f5b273d6d1877513
  Author: Derek Schuff <dschuff at chromium.org>
  Date:   2025-01-17 (Fri, 17 Jan 2025)

  Changed paths:
    M lld/wasm/SyntheticSections.cpp
    M llvm/include/llvm/BinaryFormat/Wasm.h
    M llvm/lib/MC/WasmObjectWriter.cpp
    M llvm/lib/Object/WasmObjectFile.cpp
    M llvm/lib/ObjectYAML/WasmEmitter.cpp
    M llvm/lib/ObjectYAML/WasmYAML.cpp
    M llvm/test/Object/Inputs/WASM/multi-table.wasm

  Log Message:
  -----------
  [WebAssembly][Object] Support more elem segment flags (#123427)

Some tools (e.g. Rust tooling) produce element segment descriptors with
neither
elemkind or element type descriptors, but with init exprs instead of
func indices
(this is with the flags value of 4 in

https://webassembly.github.io/spec/core/binary/modules.html#element-section).
LLVM doesn't fully model reference types or the various ways to
initialize element
segments, but we do want to correctly parse and skip over all type
sections, so
this change updates the object parser to handle that case, and refactors
for more
clarity.

The test file is updated to include one additional elem segment with a
flags value
of 4, an initializer value of (32.const 0) and an empty vector. 

Also support parsing files that export imported (undefined) functions.


  Commit: 5b6a26ccdd98da7c5246d4c23ef7cc596189b52c
      https://github.com/llvm/llvm-project/commit/5b6a26ccdd98da7c5246d4c23ef7cc596189b52c
  Author: Akshay Deodhar <adeodhar at nvidia.com>
  Date:   2025-01-17 (Fri, 17 Jan 2025)

  Changed paths:
    M llvm/include/llvm/IR/PrintPasses.h
    M llvm/lib/Analysis/LoopInfo.cpp
    M llvm/lib/IR/PrintPasses.cpp
    A llvm/test/Other/print-loop-func-scope.ll

  Log Message:
  -----------
  Add option to print entire function instead of just the loops for loo… (#123229)

print-after-all is useful for diffing IR between two passes. When one of
the two is a function pass, and the other is a loop pass, the diff
becomes useless. Add an option which prints the entire function for loop
passes.


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

  Changed paths:
    M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
    A llvm/test/Transforms/SLPVectorizer/AArch64/InstructionsState-is-invalid-0.ll
    A llvm/test/Transforms/SLPVectorizer/InstructionsState-is-invalid-2.ll
    A llvm/test/Transforms/SLPVectorizer/X86/InstructionsState-is-invalid-1.ll

  Log Message:
  -----------
  [SLP] Replace MainOp and AltOp in TreeEntry with InstructionsState. (#122443)

Add TreeEntry::hasState.
Add assert for getTreeEntry.
Remove the OpValue parameter from the canReuseExtract function.
Remove the Opcode parameter from the ComputeMaxBitWidth lambda function.


  Commit: 143c33c6dfd68f4e61d8e75c512bfdff02a7c687
      https://github.com/llvm/llvm-project/commit/143c33c6dfd68f4e61d8e75c512bfdff02a7c687
  Author: Philip Reames <preames at rivosinc.com>
  Date:   2025-01-17 (Fri, 17 Jan 2025)

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

  Log Message:
  -----------
  [RISCV] Consider only legally typed splats to be legal shuffles (#123415)

Given the comment, I'd expected test coverage. There was none so let's
do the simple thing which benefits the one thing we have tests for.


  Commit: a7bca1861bfcd1490319115c1027166e27f4ae27
      https://github.com/llvm/llvm-project/commit/a7bca1861bfcd1490319115c1027166e27f4ae27
  Author: Owen Pan <owenpiano at gmail.com>
  Date:   2025-01-17 (Fri, 17 Jan 2025)

  Changed paths:
    M clang/lib/Format/UnwrappedLineParser.cpp
    M clang/unittests/Format/FormatTest.cpp
    M clang/unittests/Format/TokenAnnotatorTest.cpp

  Log Message:
  -----------
  [clang-format] Correctly annotate braces in macro definitions (#123279)

Fixes #123179.


  Commit: b62e55803c52ca04093a0eea361407e849dc23e1
      https://github.com/llvm/llvm-project/commit/b62e55803c52ca04093a0eea361407e849dc23e1
  Author: Wanyi <wanyi at meta.com>
  Date:   2025-01-17 (Fri, 17 Jan 2025)

  Changed paths:
    M lldb/test/API/commands/expression/import-std-module/vector-dbg-info-content/TestDbgInfoContentVectorFromStdModule.py
    M lldb/test/API/commands/expression/import-std-module/vector-of-vectors/TestVectorOfVectorsFromStdModule.py

  Log Message:
  -----------
  [lldb][test] Remove compiler version check and use regex (#123393)

The test checks specific compiler version to determine the output.
However, the compiler version string is always set to 15.0.0 for our
local build. Remove this check and use regex match instead.

## Test Plan
```
./bin/llvm-lit -sva /home/wanyi/llvm-sand/external/llvm-project/lldb/test/API/commands/expression/import-std-module/vector-of-vectors/TestVectorOfVectorsFromStdModule.py
...
Skipping the following test categories: ['dsym', 'gmodules', 'debugserver', 'objc']

--
Command Output (stderr):
--
UNSUPPORTED: LLDB (/home/wanyi/llvm-sand/build/Release+Distribution/fbcode-x86_64/toolchain/bin/clang-x86_64) :: test_dsym (TestVectorOfVectorsFromStdModule.TestVectorOfVectors) (test case does not fall in any category of interest for this run) 
PASS: LLDB (/home/wanyi/llvm-sand/build/Release+Distribution/fbcode-x86_64/toolchain/bin/clang-x86_64) :: test_dwarf (TestVectorOfVectorsFromStdModule.TestVectorOfVectors)
PASS: LLDB (/home/wanyi/llvm-sand/build/Release+Distribution/fbcode-x86_64/toolchain/bin/clang-x86_64) :: test_dwo (TestVectorOfVectorsFromStdModule.TestVectorOfVectors)
----------------------------------------------------------------------
Ran 3 tests in 4.636s

OK (skipped=1)

--

********************

Testing Time: 4.97s

Total Discovered Tests: 1
  Passed: 1 (100.00%)
```


  Commit: e2402615a5a76d46a433dfcc1de10b38a1263c9d
      https://github.com/llvm/llvm-project/commit/e2402615a5a76d46a433dfcc1de10b38a1263c9d
  Author: Ander <github32 at anderg.fastmail.com>
  Date:   2025-01-17 (Fri, 17 Jan 2025)

  Changed paths:
    M clang/lib/Format/ContinuationIndenter.cpp
    M clang/unittests/Format/FormatTest.cpp

  Log Message:
  -----------
  [clang-format] Fix option `BreakBinaryOperations` for operator `>>` (#122282)

Fixes #106228.


  Commit: 90696d17f2d6fda87d1cb4f75cc35015ba2795c9
      https://github.com/llvm/llvm-project/commit/90696d17f2d6fda87d1cb4f75cc35015ba2795c9
  Author: Timm Baeder <tbaeder at redhat.com>
  Date:   2025-01-18 (Sat, 18 Jan 2025)

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

  Log Message:
  -----------
  [clang][bytecode][NFC] Simplify visitDeclRef (#123380)

Try to reduce indentation here.


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

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

  Log Message:
  -----------
  [TableGen] Inline a helper function that didn't seem necessary. NFC (#123440)

The function called find_if and converted the iterator to an index.
The caller then had to check the index being non-zero to know if the
find succeeded.

Seems better to just do the find and distance in the caller.


  Commit: 23746c2f6d12a039a79625a40e6727bb67b87a3c
      https://github.com/llvm/llvm-project/commit/23746c2f6d12a039a79625a40e6727bb67b87a3c
  Author: Craig Topper <craig.topper at sifive.com>
  Date:   2025-01-17 (Fri, 17 Jan 2025)

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

  Log Message:
  -----------
  [TableGen] Use vector constructor instead of calling append or emplace_back on an empty vector. NFC (#123442)


  Commit: 6628b5934df8209396b5946e268301416ad7d9f6
      https://github.com/llvm/llvm-project/commit/6628b5934df8209396b5946e268301416ad7d9f6
  Author: Craig Topper <craig.topper at sifive.com>
  Date:   2025-01-17 (Fri, 17 Jan 2025)

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

  Log Message:
  -----------
  [TableGen] Use a range-based for loop. NFC (#123443)


  Commit: 909bf38c1fea56aab91b1eb43b8c00c515157a53
      https://github.com/llvm/llvm-project/commit/909bf38c1fea56aab91b1eb43b8c00c515157a53
  Author: Congcong Cai <congcongcai0907 at 163.com>
  Date:   2025-01-18 (Sat, 18 Jan 2025)

  Changed paths:
    M clang-tools-extra/clang-tidy/misc/UnusedUsingDeclsCheck.h

  Log Message:
  -----------
  [clang-tidy][NFC] remove unused field in UnusedUsingDeclsCheck (#123451)


  Commit: d79e3af8ad126e352338d4fe4e3b2a13c8d587dc
      https://github.com/llvm/llvm-project/commit/d79e3af8ad126e352338d4fe4e3b2a13c8d587dc
  Author: Jie Fu <jiefu at tencent.com>
  Date:   2025-01-18 (Sat, 18 Jan 2025)

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

  Log Message:
  -----------
  [TableGen] Fix unused-variable warnings in CodeGenSchedule.cpp (NFC)

/llvm-project/llvm/utils/TableGen/Common/CodeGenSchedule.cpp:1704:32:
 error: unused variable 'Seq' [-Werror,-Wunused-variable]
    SmallVectorImpl<unsigned> &Seq =
                               ^
/llvm-project/llvm/utils/TableGen/Common/CodeGenSchedule.cpp:1713:32:
 error: unused variable 'Seq' [-Werror,-Wunused-variable]
    SmallVectorImpl<unsigned> &Seq =
                               ^
2 errors generated.


  Commit: c3aa86c9de5dfcc40abad01eabb7f9a301b90a2e
      https://github.com/llvm/llvm-project/commit/c3aa86c9de5dfcc40abad01eabb7f9a301b90a2e
  Author: Craig Topper <craig.topper at sifive.com>
  Date:   2025-01-17 (Fri, 17 Jan 2025)

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

  Log Message:
  -----------
  [TableGen] const-correct a couple CodeGenSchedule methods. NFC


  Commit: 10cfd54e6aedc9c97bad84d6f8d32910f591cd26
      https://github.com/llvm/llvm-project/commit/10cfd54e6aedc9c97bad84d6f8d32910f591cd26
  Author: Kristof Beyls <kristof.beyls at arm.com>
  Date:   2025-01-18 (Sat, 18 Jan 2025)

  Changed paths:
    M llvm/lib/Target/AArch64/AArch64InstrInfo.td

  Log Message:
  -----------
  [AArch64] Correct defs and uses on {PAC,AUT}I{A,B}171615 (#123354)

I'm not adding tests for this, as I don't think we usually have tests to
verify correct description of defs and uses in instructions?

This fix will be tested when #122304 lands, as one of the regression
tests in that PR fails without this fix.


  Commit: 4aedb970097b7ade93127021206199dbb17a4134
      https://github.com/llvm/llvm-project/commit/4aedb970097b7ade93127021206199dbb17a4134
  Author: David CARLIER <devnexen at gmail.com>
  Date:   2025-01-18 (Sat, 18 Jan 2025)

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

  Log Message:
  -----------
  [compiler-rt][rtsan] getsockname interception. (#123409)


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

  Changed paths:
    M clang/lib/CodeGen/CGDebugInfo.cpp
    M clang/test/CodeGenCXX/debug-info-object-pointer.cpp
    M llvm/include/llvm-c/DebugInfo.h
    M llvm/include/llvm/IR/DIBuilder.h
    M llvm/lib/IR/DIBuilder.cpp
    M llvm/lib/IR/DebugInfo.cpp

  Log Message:
  -----------
  Revert "[clang][DebugInfo] Emit DW_AT_object_pointer on function declarations with explicit `this`" (#123455)

Reverts llvm/llvm-project#122928


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

  Changed paths:
    M llvm/lib/Target/X86/X86ISelLowering.cpp
    M llvm/test/CodeGen/X86/canonicalize-vars-f16-type.ll
    M llvm/test/CodeGen/X86/cvt16.ll
    M llvm/test/CodeGen/X86/fp-strict-scalar-fp16.ll
    M llvm/test/CodeGen/X86/fp16-libcalls.ll
    M llvm/test/CodeGen/X86/half-constrained.ll
    M llvm/test/CodeGen/X86/half-darwin.ll
    M llvm/test/CodeGen/X86/half.ll
    M llvm/test/CodeGen/X86/pr91005.ll
    M llvm/test/CodeGen/X86/pr95278.ll
    M llvm/test/CodeGen/X86/vector-half-conversions.ll

  Log Message:
  -----------
  [X86] mayFoldIntoStore - peek through oneuse bitcase users to find a store node (#123366)

mayFoldIntoStore currently just checks the direct (oneuse) user of a
SDValue to check its stored, which prevents cases where we bitcast the
value prior to storing (usually the bitcast will be removed later).

This patch peeks up through oneuse BITCAST nodes chain to see if its
eventually stored.

The main use of mayFoldIntoStore is v8i16 EXTRACT_VECTOR_ELT lowering
which will only use PEXTRW/PEXTRB for index0 extractions (vs the faster
MOVD) if the extracted value will be folded into a store on SSE41+
targets.

Fixes #107086


  Commit: f4943464d769e2eacd5c54dfaaf0468788abeb84
      https://github.com/llvm/llvm-project/commit/f4943464d769e2eacd5c54dfaaf0468788abeb84
  Author: Matthias Springer <me at m-sp.org>
  Date:   2025-01-18 (Sat, 18 Jan 2025)

  Changed paths:
    M mlir/include/mlir/IR/Builders.h
    M mlir/include/mlir/IR/BuiltinTypes.td
    M mlir/include/mlir/IR/CommonTypeConstraints.td
    M mlir/lib/AsmParser/TypeParser.cpp
    M mlir/lib/Dialect/Arith/Utils/Utils.cpp
    M mlir/lib/IR/Builders.cpp
    M mlir/lib/IR/MLIRContext.cpp

  Log Message:
  -----------
  [mlir][IR] Remove builder API + caching for low-precision FP types (#123321)

Remove builder API (e.g., `b.getFloat4E2M1FNType()`) and caching in
`MLIRContext` for low-precision FP types. Types are still cached in the
type uniquer.

For details, see:
https://discourse.llvm.org/t/rethink-on-approach-to-low-precision-fp-types/82361/28

Note for LLVM integration: Use `b.getType<Float4E2M1FNType>()` or
`Float4E2M1FNType::get(b.getContext())` instead of
`b.getFloat4E2M1FNType()`.


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

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

  Log Message:
  -----------
  [X86] Only call combineBitcastToBoolVector after legalization (#123386)

Prevents infinite loop between combineBitcastToBoolVector and hoistLogicOpWithSameOpcodeHands, which only performs the "logicop(bitcast(A),bitcast(B)) -> bitcast(logicop(A,B))" upto type legalization.

combineBitcastToBoolVector doesn't care much as its mainly for AVX512 cleanup that X86DomainReassignment can't handle for us.

Fixes #123333


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

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

  Log Message:
  -----------
  [X86] Consistently use getVectorIdxConstant for element/subvector extract/insertion nodes. NFC. (#123312)

Avoid the use of getIntPtrConstant for anything other than address pointer related code.

Noticed while trying to use getVectorIdxConstant as a breakpoint.


  Commit: d6666168041e5c2b66205d307a371bab03fb72fb
      https://github.com/llvm/llvm-project/commit/d6666168041e5c2b66205d307a371bab03fb72fb
  Author: David Green <david.green at arm.com>
  Date:   2025-01-18 (Sat, 18 Jan 2025)

  Changed paths:
    M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
    M llvm/lib/Target/AArch64/Utils/AArch64BaseInfo.h
    M llvm/test/CodeGen/AArch64/adds_cmn.ll
    M llvm/test/CodeGen/AArch64/csel-subs-swapped.ll

  Log Message:
  -----------
  [AArch64] Fold swapped sub/SUBS conditions (#121412)

This fold already exists in a couple places (DAG and CGP), where an
icmps operands are swapped to allow CSE with a sub. They do not handle
constants though. This patch adds an AArch64 version that can be more
precise.


  Commit: c2d15ac4d4432788557e77c15ce572ac655a8fec
      https://github.com/llvm/llvm-project/commit/c2d15ac4d4432788557e77c15ce572ac655a8fec
  Author: Florian Hahn <flo at fhahn.com>
  Date:   2025-01-18 (Sat, 18 Jan 2025)

  Changed paths:
    M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
    M llvm/lib/Transforms/Vectorize/VPlan.h
    M llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
    M llvm/lib/Transforms/Vectorize/VPlanTransforms.h
    M llvm/lib/Transforms/Vectorize/VPlanUtils.h
    M llvm/test/Transforms/LoopVectorize/RISCV/riscv-vector-reverse.ll
    M llvm/test/Transforms/LoopVectorize/X86/multi-exit-cost.ll
    M llvm/test/Transforms/LoopVectorize/iv_outside_user.ll
    M llvm/test/Transforms/LoopVectorize/single_early_exit_live_outs.ll
    M llvm/test/Transforms/LoopVectorize/unused-blend-mask-for-first-operand.ll

  Log Message:
  -----------
  [VPlan] Update final IV exit value via VPlan. (#112147)

Model updating IV users directly in VPlan, replace fixupIVUsers.

Now simple extracts are created for all phis in the exit block during
initial VPlan construction. A later VPlan transform 
(optimizeInductionExitUsers) replaces extracts of inductions with 
their pre-computed values if possible.

This completes the transition towards modeling all live-outs directly in
VPlan.

There are a few follow-ups:
* emit extracts initially also for resume phis, and optimize them 
   tougher with IV exit users
* support for VPlans with multiple exits in optimizeInductionExitUsers.


Depends on https://github.com/llvm/llvm-project/pull/110004,
https://github.com/llvm/llvm-project/pull/109975 and
https://github.com/llvm/llvm-project/pull/112145.


  Commit: 58326f1d5b5b379590af92dd129b2f3b3e96af46
      https://github.com/llvm/llvm-project/commit/58326f1d5b5b379590af92dd129b2f3b3e96af46
  Author: Florian Hahn <flo at fhahn.com>
  Date:   2025-01-18 (Sat, 18 Jan 2025)

  Changed paths:
    M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
    M llvm/lib/Transforms/Vectorize/VPlan.h
    M llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
    M llvm/lib/Transforms/Vectorize/VPlanTransforms.h
    M llvm/lib/Transforms/Vectorize/VPlanUtils.h
    M llvm/test/Transforms/LoopVectorize/RISCV/riscv-vector-reverse.ll
    M llvm/test/Transforms/LoopVectorize/X86/multi-exit-cost.ll
    M llvm/test/Transforms/LoopVectorize/iv_outside_user.ll
    M llvm/test/Transforms/LoopVectorize/single_early_exit_live_outs.ll
    M llvm/test/Transforms/LoopVectorize/unused-blend-mask-for-first-operand.ll

  Log Message:
  -----------
  Revert "[VPlan] Update final IV exit value via VPlan. (#112147)"

This reverts commit c2d15ac4d4432788557e77c15ce572ac655a8fec.

Causes build failures on PPC stage2 & fuchsia bots
    https://lab.llvm.org/buildbot/#/builders/168/builds/7650
    https://lab.llvm.org/buildbot/#/builders/11/builds/11248


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

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

  Log Message:
  -----------
  [X86] X86FixupVectorConstants - split ConvertToBroadcastAVX512 helper to handle single bitwidth at a time.

Attempt 32-bit broadcasts first, and then fallback to 64-bit broadcasts on failure.

We lose an explicit assertion for matching operand numbers but X86InstrFoldTables already does something similar.

Pulled out of WIP patch #73509


  Commit: 699f19605579f25083152a9ad21e14c2751d5d66
      https://github.com/llvm/llvm-project/commit/699f19605579f25083152a9ad21e14c2751d5d66
  Author: Hui <hui.xie1990 at gmail.com>
  Date:   2025-01-18 (Sat, 18 Jan 2025)

  Changed paths:
    M libcxx/include/__atomic/atomic_sync.h
    R libcxx/test/benchmarks/atomic_wait.bench.cpp
    A libcxx/test/benchmarks/atomic_wait_1_waiter_1_notifier.bench.cpp
    A libcxx/test/benchmarks/atomic_wait_N_waiter_N_notifier.bench.cpp
    A libcxx/test/benchmarks/atomic_wait_helper.h
    A libcxx/test/benchmarks/atomic_wait_multi_waiter_1_notifier.bench.cpp

  Log Message:
  -----------
  [libc++] remove yield from atomic::wait (#120012)

This is to address the issue where `yield` can cause the thread to be
assigned to the lowest priority.
I have done lots of experiments: see the comments here:
https://github.com/llvm/llvm-project/pull/84471#issuecomment-2522723549

And for this patch, the benchmark has been performed on a 16 core M4 MAX
CPU MacBook Pro.
dylib compiled with Release mode and the test compiled with
optimization=speed

```
Comparing ../../../build_atomic_yield2/ref_new2.json to ../../../build_atomic_yield2/no_yield_new2.json
Benchmark                                                                                                                  Time             CPU      Time Old      Time New       CPU Old       CPU New
-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
BM_1_atomic_1_waiter_1_notifier<KeepNotifying, NumHighPrioTasks<0>>/262144                                              +0.0460         +0.0392      14949926      15637503      13633314      14167327
BM_1_atomic_1_waiter_1_notifier<KeepNotifying, NumHighPrioTasks<0>>/524288                                              +0.0299         +0.0290      24369327      25099004      24367214      25073900
BM_1_atomic_1_waiter_1_notifier<KeepNotifying, NumHighPrioTasks<0>>/1048576                                             +0.0648         +0.0640      48149060      51268517      48144857      51226733
BM_1_atomic_1_waiter_1_notifier<NotifyEveryNus<50>, NumHighPrioTasks<0>>/4096                                           +0.0000         -0.8765     204815500     204823427     204514333      25265071
BM_1_atomic_1_waiter_1_notifier<NotifyEveryNus<50>, NumHighPrioTasks<0>>/8192                                           +0.0000         -0.8747     409637520     409640821     408997500      51228071
BM_1_atomic_1_waiter_1_notifier<NotifyEveryNus<50>, NumHighPrioTasks<0>>/16384                                          +0.0001         -0.8737     819244417     819351256     817022000     103217000
BM_1_atomic_1_waiter_1_notifier<NotifyEveryNus<100>, NumHighPrioTasks<0>>/4096                                          +0.0000         -0.9029     409607694     409624937     271866333      26410600
BM_1_atomic_1_waiter_1_notifier<NotifyEveryNus<100>, NumHighPrioTasks<0>>/8192                                          +0.0001         -0.9017     819168417     819269339     542784000      53352429
BM_1_atomic_1_waiter_1_notifier<NotifyEveryNus<100>, NumHighPrioTasks<0>>/16384                                         +0.0001         -0.9012    1638361750    1638522929    1089486000     107684571
BM_1_atomic_1_waiter_1_notifier<KeepNotifying, NumHighPrioTasks<4>>/262144                                              +0.3178         +0.3068      12777744      16838266      12764732      16681233
BM_1_atomic_1_waiter_1_notifier<KeepNotifying, NumHighPrioTasks<4>>/524288                                              +0.2231         +0.2225      26889415      32887842      26864138      32840550
BM_1_atomic_1_waiter_1_notifier<KeepNotifying, NumHighPrioTasks<4>>/1048576                                             +0.1809         +0.1799      56103004      66251660      56048000      66129583
BM_1_atomic_1_waiter_1_notifier<NotifyEveryNus<50>, NumHighPrioTasks<4>>/4096                                           -0.0029         -0.8708     205509986     204906011     204277333      26399538
BM_1_atomic_1_waiter_1_notifier<NotifyEveryNus<50>, NumHighPrioTasks<4>>/8192                                           +0.0001         -0.8711     410286709     410314199     408608000      52667692
BM_1_atomic_1_waiter_1_notifier<NotifyEveryNus<50>, NumHighPrioTasks<4>>/16384                                          -0.0019         -0.8713     821042916     819476441     816274000     105077000
BM_1_atomic_1_waiter_1_notifier<NotifyEveryNus<100>, NumHighPrioTasks<4>>/4096                                          -0.0005         -0.9015     409825792     409638429     273145333      26896400
BM_1_atomic_1_waiter_1_notifier<NotifyEveryNus<100>, NumHighPrioTasks<4>>/8192                                          -0.0027         -0.9014     821528125     819285433     545661000      53775308
BM_1_atomic_1_waiter_1_notifier<NotifyEveryNus<100>, NumHighPrioTasks<4>>/16384                                         -0.0041         -0.9014    1645204459    1638538077    1091726000     107647000
BM_1_atomic_1_waiter_1_notifier<KeepNotifying, NumHighPrioTasks<7>>/16                                                  -0.4835         -0.4836          1609           831          1609           831
BM_1_atomic_1_waiter_1_notifier<KeepNotifying, NumHighPrioTasks<7>>/32                                                  -0.4398         -0.4399          3167          1774          3166          1773
BM_1_atomic_1_waiter_1_notifier<KeepNotifying, NumHighPrioTasks<7>>/64                                                  -0.4705         -0.4705          6323          3348          6323          3348
BM_1_atomic_1_waiter_1_notifier<NotifyEveryNus<50>, NumHighPrioTasks<7>>/8                                              +0.0005         -0.8683        400109        400314        399256         52575
BM_1_atomic_1_waiter_1_notifier<NotifyEveryNus<50>, NumHighPrioTasks<7>>/16                                             +0.0005         -0.8683        800055        800483        798797        105165
BM_1_atomic_1_waiter_1_notifier<NotifyEveryNus<50>, NumHighPrioTasks<7>>/32                                             +0.0003         -0.8680       1600058       1600585       1597266        210903
BM_1_atomic_1_waiter_1_notifier<NotifyEveryNus<100>, NumHighPrioTasks<7>>/8                                             +0.0004         -0.8976        800006        800365        531802         54441
BM_1_atomic_1_waiter_1_notifier<NotifyEveryNus<100>, NumHighPrioTasks<7>>/16                                            +0.0005         -0.8982       1599965       1600765       1064885        108429
BM_1_atomic_1_waiter_1_notifier<NotifyEveryNus<100>, NumHighPrioTasks<7>>/32                                            +0.0005         -0.8993       3199905       3201437       2129243        214343
BM_1_atomic_multi_waiter_1_notifier<KeepNotifying, NumWaitingThreads<3>, NumHighPrioTasks<0>>/16384                     -0.0226         -0.0261        972539        950519        971198        945828
BM_1_atomic_multi_waiter_1_notifier<KeepNotifying, NumWaitingThreads<3>, NumHighPrioTasks<0>>/32768                     -0.0198         -0.0221       1933294       1895054       1930720       1888094
BM_1_atomic_multi_waiter_1_notifier<KeepNotifying, NumWaitingThreads<3>, NumHighPrioTasks<0>>/65536                     -0.0031         -0.0039       3835138       3823094       3827785       3812836
BM_1_atomic_multi_waiter_1_notifier<KeepNotifying, NumWaitingThreads<7>, NumHighPrioTasks<0>>/4096                      +0.4380         +0.4294        571762        822185        570245        815115
BM_1_atomic_multi_waiter_1_notifier<KeepNotifying, NumWaitingThreads<7>, NumHighPrioTasks<0>>/8192                      +0.0735         +0.0680       1223881       1313880       1221350       1304439
BM_1_atomic_multi_waiter_1_notifier<KeepNotifying, NumWaitingThreads<7>, NumHighPrioTasks<0>>/16384                     +0.1222         +0.1205       2442071       2740519       2433105       2726274
BM_1_atomic_multi_waiter_1_notifier<KeepNotifying, NumWaitingThreads<15>, NumHighPrioTasks<0>>/1024                     +0.1527         +1.2188        196081        226031         62647        139001
BM_1_atomic_multi_waiter_1_notifier<KeepNotifying, NumWaitingThreads<15>, NumHighPrioTasks<0>>/2048                     +0.0757         +0.4838        387858        417228        129250        191780
BM_1_atomic_multi_waiter_1_notifier<KeepNotifying, NumWaitingThreads<15>, NumHighPrioTasks<0>>/4096                     -0.0355         -0.2443        812827        784003        378109        285722
BM_1_atomic_multi_waiter_1_notifier<NotifyEveryNus<50>, NumWaitingThreads<3>, NumHighPrioTasks<0>>/1024                 +0.0002         -0.0873      51202059      51211089      51135714      46670867
BM_1_atomic_multi_waiter_1_notifier<NotifyEveryNus<50>, NumWaitingThreads<3>, NumHighPrioTasks<0>>/2048                 +0.0001         -0.0864     102424970     102432359     102287571      93452000
BM_1_atomic_multi_waiter_1_notifier<NotifyEveryNus<50>, NumWaitingThreads<3>, NumHighPrioTasks<0>>/4096                 +0.0000         -0.0865     204828250     204834229     204528667     186845250
BM_1_atomic_multi_waiter_1_notifier<NotifyEveryNus<50>, NumWaitingThreads<7>, NumHighPrioTasks<0>>/256                  +0.0003         -0.1681      12801752      12805016      12786382      10636485
BM_1_atomic_multi_waiter_1_notifier<NotifyEveryNus<50>, NumWaitingThreads<7>, NumHighPrioTasks<0>>/512                  +0.0001         -0.1686      25601940      25604893      25565481      21254515
BM_1_atomic_multi_waiter_1_notifier<NotifyEveryNus<50>, NumWaitingThreads<7>, NumHighPrioTasks<0>>/1024                 +0.0000         -0.1569      51210789      51211539      51150143      43122500
BM_1_atomic_multi_waiter_1_notifier<NotifyEveryNus<50>, NumWaitingThreads<15>, NumHighPrioTasks<0>>/64                  +0.0064         -0.3503       3210430       3230869       2856780       1856063
BM_1_atomic_multi_waiter_1_notifier<NotifyEveryNus<50>, NumWaitingThreads<15>, NumHighPrioTasks<0>>/128                 +0.0034         -0.3534       6410529       6432308       5704792       3688942
BM_1_atomic_multi_waiter_1_notifier<NotifyEveryNus<50>, NumWaitingThreads<15>, NumHighPrioTasks<0>>/256                 +0.0011         -0.3600      12821419      12835646      11455934       7331250
BM_1_atomic_multi_waiter_1_notifier<NotifyEveryNus<100>, NumWaitingThreads<3>, NumHighPrioTasks<0>>/256                 +0.0003         +0.0034      25600089      25608062      24375034      24457172
BM_1_atomic_multi_waiter_1_notifier<NotifyEveryNus<100>, NumWaitingThreads<3>, NumHighPrioTasks<0>>/512                 +0.0002         -0.0000      51203798      51211795      48859857      48858500
BM_1_atomic_multi_waiter_1_notifier<NotifyEveryNus<100>, NumWaitingThreads<3>, NumHighPrioTasks<0>>/1024                +0.0003         +0.0008     102411321     102437524      97694429      97777286
BM_1_atomic_multi_waiter_1_notifier<NotifyEveryNus<100>, NumWaitingThreads<7>, NumHighPrioTasks<0>>/64                  +0.0002         -0.0464       6399846       6401009       6070487       5789091
BM_1_atomic_multi_waiter_1_notifier<NotifyEveryNus<100>, NumWaitingThreads<7>, NumHighPrioTasks<0>>/128                 +0.0002         -0.0457      12799914      12802544      12069966      11518836
BM_1_atomic_multi_waiter_1_notifier<NotifyEveryNus<100>, NumWaitingThreads<7>, NumHighPrioTasks<0>>/256                 +0.0001         -0.0513      25599724      25602105      24202862      22962032
BM_1_atomic_multi_waiter_1_notifier<NotifyEveryNus<100>, NumWaitingThreads<15>, NumHighPrioTasks<0>>/16                 -0.0060         +0.2575       1611779       1602148        956236       1202492
BM_1_atomic_multi_waiter_1_notifier<NotifyEveryNus<100>, NumWaitingThreads<15>, NumHighPrioTasks<0>>/32                 -0.0064         +0.2964       3221485       3200918       1883540       2441728
BM_1_atomic_multi_waiter_1_notifier<NotifyEveryNus<100>, NumWaitingThreads<15>, NumHighPrioTasks<0>>/64                 -0.0046         +0.3087       6432692       6403368       3701725       4844611
BM_1_atomic_multi_waiter_1_notifier<KeepNotifying, NumWaitingThreads<3>, NumHighPrioTasks<4>>/256                       -0.0536         -0.0592         27458         25988         27402         25780
BM_1_atomic_multi_waiter_1_notifier<KeepNotifying, NumWaitingThreads<3>, NumHighPrioTasks<4>>/512                       -0.0469         -0.0527         54745         52175         54628         51750
BM_1_atomic_multi_waiter_1_notifier<KeepNotifying, NumWaitingThreads<3>, NumHighPrioTasks<4>>/1024                      -0.0297         -0.0340        108312        105095        108047        104378
BM_1_atomic_multi_waiter_1_notifier<KeepNotifying, NumWaitingThreads<7>, NumHighPrioTasks<4>>/64                        -0.2445         -0.2722         15109         11414         14711         10708
BM_1_atomic_multi_waiter_1_notifier<KeepNotifying, NumWaitingThreads<7>, NumHighPrioTasks<4>>/128                       -0.3132         -0.3515         32494         22317         32063         20794
BM_1_atomic_multi_waiter_1_notifier<KeepNotifying, NumWaitingThreads<7>, NumHighPrioTasks<4>>/256                       -0.1397         -0.1834         52801         45424         52170         42602
BM_1_atomic_multi_waiter_1_notifier<KeepNotifying, NumWaitingThreads<15>, NumHighPrioTasks<4>>/16                       +0.1679         +1.0248         28973         33837         13243         26814
BM_1_atomic_multi_waiter_1_notifier<KeepNotifying, NumWaitingThreads<15>, NumHighPrioTasks<4>>/32                       -0.0481         +0.7901         39155         37273         16072         28771
BM_1_atomic_multi_waiter_1_notifier<KeepNotifying, NumWaitingThreads<15>, NumHighPrioTasks<4>>/64                       -0.2075         +0.7568         57547         45606         19582         34402
BM_1_atomic_multi_waiter_1_notifier<NotifyEveryNus<50>, NumWaitingThreads<3>, NumHighPrioTasks<4>>/256                  -0.0001         -0.0807      12802693      12800886      12775327      11744119
BM_1_atomic_multi_waiter_1_notifier<NotifyEveryNus<50>, NumWaitingThreads<3>, NumHighPrioTasks<4>>/512                  -0.0021         -0.0867      25655056      25601315      25590407      23371667
BM_1_atomic_multi_waiter_1_notifier<NotifyEveryNus<50>, NumWaitingThreads<3>, NumHighPrioTasks<4>>/1024                 -0.0007         -0.0832      51238801      51201975      51099071      46845733
BM_1_atomic_multi_waiter_1_notifier<NotifyEveryNus<50>, NumWaitingThreads<7>, NumHighPrioTasks<4>>/64                   +0.0016         -0.2411       3200714       3205846       3176841       2410756
BM_1_atomic_multi_waiter_1_notifier<NotifyEveryNus<50>, NumWaitingThreads<7>, NumHighPrioTasks<4>>/128                  +0.0008         -0.2373       6404239       6409102       6359649       4850544
BM_1_atomic_multi_waiter_1_notifier<NotifyEveryNus<50>, NumWaitingThreads<7>, NumHighPrioTasks<4>>/256                  +0.0000         -0.2286      12805839      12806032      12713018       9806653
BM_1_atomic_multi_waiter_1_notifier<NotifyEveryNus<50>, NumWaitingThreads<15>, NumHighPrioTasks<4>>/16                  +0.0272         +0.0563        811198        833264        482220        509345
BM_1_atomic_multi_waiter_1_notifier<NotifyEveryNus<50>, NumWaitingThreads<15>, NumHighPrioTasks<4>>/32                  +0.0097         +0.0454       1617205       1632962        957801       1001264
BM_1_atomic_multi_waiter_1_notifier<NotifyEveryNus<50>, NumWaitingThreads<15>, NumHighPrioTasks<4>>/64                  +0.0050         +0.0389       3217997       3234130       1927921       2002868
BM_1_atomic_multi_waiter_1_notifier<NotifyEveryNus<100>, NumWaitingThreads<3>, NumHighPrioTasks<4>>/256                 +0.0000         -0.0009      25599763      25601039      24520071      24497071
BM_1_atomic_multi_waiter_1_notifier<NotifyEveryNus<100>, NumWaitingThreads<3>, NumHighPrioTasks<4>>/512                 +0.0001         -0.0017      51200354      51203628      49086786      49005500
BM_1_atomic_multi_waiter_1_notifier<NotifyEveryNus<100>, NumWaitingThreads<3>, NumHighPrioTasks<4>>/1024                +0.0001         +0.0013     102400369     102409744      97931143      98060857
BM_1_atomic_multi_waiter_1_notifier<NotifyEveryNus<100>, NumWaitingThreads<7>, NumHighPrioTasks<4>>/64                  -0.0017         +0.0128       6410821       6400104       5529150       5600008
BM_1_atomic_multi_waiter_1_notifier<NotifyEveryNus<100>, NumWaitingThreads<7>, NumHighPrioTasks<4>>/128                 -0.0011         +0.0215      12817263      12803569      11025889      11263032
BM_1_atomic_multi_waiter_1_notifier<NotifyEveryNus<100>, NumWaitingThreads<7>, NumHighPrioTasks<4>>/256                 -0.0005         +0.0193      25612704      25600332      22089065      22515677
BM_1_atomic_multi_waiter_1_notifier<NotifyEveryNus<100>, NumWaitingThreads<15>, NumHighPrioTasks<4>>/16                 -0.0164         +0.7969       1627422       1600798        665736       1196236
BM_1_atomic_multi_waiter_1_notifier<NotifyEveryNus<100>, NumWaitingThreads<15>, NumHighPrioTasks<4>>/32                 -0.0095         +0.8362       3231500       3200840       1290017       2368789
BM_1_atomic_multi_waiter_1_notifier<NotifyEveryNus<100>, NumWaitingThreads<15>, NumHighPrioTasks<4>>/64                 -0.0050         +0.7319       6433401       6401180       2747936       4759115
BM_1_atomic_multi_waiter_1_notifier<KeepNotifying, NumWaitingThreads<3>, NumHighPrioTasks<7>>/16                        +0.0155         +0.0092          1177          1195          1171          1181
BM_1_atomic_multi_waiter_1_notifier<KeepNotifying, NumWaitingThreads<3>, NumHighPrioTasks<7>>/32                        -0.0135         -0.0145          2103          2074          2095          2064
BM_1_atomic_multi_waiter_1_notifier<KeepNotifying, NumWaitingThreads<3>, NumHighPrioTasks<7>>/64                        +0.0022         +0.0009          3832          3841          3820          3823
BM_1_atomic_multi_waiter_1_notifier<KeepNotifying, NumWaitingThreads<7>, NumHighPrioTasks<7>>/8                        +13.9131         +9.5298          2074         30931          2041         21495
BM_1_atomic_multi_waiter_1_notifier<KeepNotifying, NumWaitingThreads<7>, NumHighPrioTasks<7>>/16                        +5.9980         +3.9816          3168         22172          3124         15563
BM_1_atomic_multi_waiter_1_notifier<KeepNotifying, NumWaitingThreads<7>, NumHighPrioTasks<7>>/32                        +3.8681         +2.3515          5412         26348          5321         17833
BM_1_atomic_multi_waiter_1_notifier<KeepNotifying, NumWaitingThreads<15>, NumHighPrioTasks<7>>/4                        +0.1312         +0.4845         31938         36127         12666         18803
BM_1_atomic_multi_waiter_1_notifier<KeepNotifying, NumWaitingThreads<15>, NumHighPrioTasks<7>>/8                        -0.0475         +0.0775         39196         37336         18078         19479
BM_1_atomic_multi_waiter_1_notifier<KeepNotifying, NumWaitingThreads<15>, NumHighPrioTasks<7>>/16                       -0.3146         -0.3853         57548         39441         31743         19513
BM_1_atomic_multi_waiter_1_notifier<NotifyEveryNus<50>, NumWaitingThreads<3>, NumHighPrioTasks<7>>/8                    -0.0012         -0.0916        400610        400149        399248        362679
BM_1_atomic_multi_waiter_1_notifier<NotifyEveryNus<50>, NumWaitingThreads<3>, NumHighPrioTasks<7>>/16                   -0.0032         -0.0904        802940        800342        798964        726744
BM_1_atomic_multi_waiter_1_notifier<NotifyEveryNus<50>, NumWaitingThreads<3>, NumHighPrioTasks<7>>/32                   -0.0030         -0.0911       1604860       1600044       1598235       1452647
BM_1_atomic_multi_waiter_1_notifier<NotifyEveryNus<50>, NumWaitingThreads<7>, NumHighPrioTasks<7>>/4                    +0.0348         -0.3515        202073        209107        199452        129352
BM_1_atomic_multi_waiter_1_notifier<NotifyEveryNus<50>, NumWaitingThreads<7>, NumHighPrioTasks<7>>/8                    -0.0004         -0.3628        406727        406545        400942        255464
BM_1_atomic_multi_waiter_1_notifier<NotifyEveryNus<50>, NumWaitingThreads<7>, NumHighPrioTasks<7>>/16                   -0.0176         -0.3705        821725        807256        803722        505959
BM_1_atomic_multi_waiter_1_notifier<NotifyEveryNus<50>, NumWaitingThreads<15>, NumHighPrioTasks<7>>/2                   +0.0575         +0.0699        138530        146498         79463         85020
BM_1_atomic_multi_waiter_1_notifier<NotifyEveryNus<50>, NumWaitingThreads<15>, NumHighPrioTasks<7>>/4                   -0.2307         -0.4182        327417        251885        222502        129448
BM_1_atomic_multi_waiter_1_notifier<NotifyEveryNus<50>, NumWaitingThreads<15>, NumHighPrioTasks<7>>/8                   -0.4166         -0.5733        765495        446598        535265        228384
BM_1_atomic_multi_waiter_1_notifier<NotifyEveryNus<100>, NumWaitingThreads<3>, NumHighPrioTasks<7>>/8                   +0.0001         +0.0022        800108        800227        759501        761200
BM_1_atomic_multi_waiter_1_notifier<NotifyEveryNus<100>, NumWaitingThreads<3>, NumHighPrioTasks<7>>/16                  +0.0002         +0.0052       1599998       1600327       1515336       1523162
BM_1_atomic_multi_waiter_1_notifier<NotifyEveryNus<100>, NumWaitingThreads<3>, NumHighPrioTasks<7>>/32                  -0.0004         +0.0029       3201730       3200529       3037191       3045996
BM_1_atomic_multi_waiter_1_notifier<NotifyEveryNus<100>, NumWaitingThreads<7>, NumHighPrioTasks<7>>/4                   -0.0063         +0.3625        402752        400231        231304        315156
BM_1_atomic_multi_waiter_1_notifier<NotifyEveryNus<100>, NumWaitingThreads<7>, NumHighPrioTasks<7>>/8                   -0.0029         +0.5760        802313        799998        401474        632716
BM_1_atomic_multi_waiter_1_notifier<NotifyEveryNus<100>, NumWaitingThreads<7>, NumHighPrioTasks<7>>/16                  -0.0014         +0.4607       1602184       1600012        877859       1282310
BM_1_atomic_multi_waiter_1_notifier<NotifyEveryNus<100>, NumWaitingThreads<15>, NumHighPrioTasks<7>>/2                  -0.0492         +0.3586        212875        202398        100437        136457
BM_1_atomic_multi_waiter_1_notifier<NotifyEveryNus<100>, NumWaitingThreads<15>, NumHighPrioTasks<7>>/4                  -0.0927         +0.4432        444857        403606        181089        261350
BM_1_atomic_multi_waiter_1_notifier<NotifyEveryNus<100>, NumWaitingThreads<15>, NumHighPrioTasks<7>>/8                  -0.0704         +0.8210        861808        801099        318774        580489
BM_N_atomics_N_waiter_N_notifier<KeepNotifying, NumberOfAtomics<2>, NumHighPrioTasks<0>>/4096                           -0.0730         -0.0762        333804        309427        333180        307803
BM_N_atomics_N_waiter_N_notifier<KeepNotifying, NumberOfAtomics<2>, NumHighPrioTasks<0>>/8192                           -0.0775         -0.0795        701228        646853        700065        644381
BM_N_atomics_N_waiter_N_notifier<KeepNotifying, NumberOfAtomics<2>, NumHighPrioTasks<0>>/16384                          +0.0245         +0.0229       1328777       1361291       1326360       1356745
BM_N_atomics_N_waiter_N_notifier<KeepNotifying, NumberOfAtomics<3>, NumHighPrioTasks<0>>/1024                           -0.0541         -0.0562        201559        190662        201259        189940
BM_N_atomics_N_waiter_N_notifier<KeepNotifying, NumberOfAtomics<3>, NumHighPrioTasks<0>>/2048                           -0.1959         -0.1986        416092        334584        415412        332927
BM_N_atomics_N_waiter_N_notifier<KeepNotifying, NumberOfAtomics<3>, NumHighPrioTasks<0>>/4096                           -0.1699         -0.1710        811966        674040        810157        671584
BM_N_atomics_N_waiter_N_notifier<KeepNotifying, NumberOfAtomics<5>, NumHighPrioTasks<0>>/1024                           +0.1383         +0.1301        379893        432426        377756        426885
BM_N_atomics_N_waiter_N_notifier<KeepNotifying, NumberOfAtomics<5>, NumHighPrioTasks<0>>/2048                           +0.0396         +0.0339        822384        854937        818110        845866
BM_N_atomics_N_waiter_N_notifier<KeepNotifying, NumberOfAtomics<5>, NumHighPrioTasks<0>>/4096                           +0.2499         +0.2451       1350161       1687588       1345121       1674845
BM_N_atomics_N_waiter_N_notifier<KeepNotifying, NumberOfAtomics<7>, NumHighPrioTasks<0>>/256                            +0.0042         +0.0101        213598        214487        199282        201303
BM_N_atomics_N_waiter_N_notifier<KeepNotifying, NumberOfAtomics<7>, NumHighPrioTasks<0>>/512                            -0.1034         -0.1065        428033        383755        409546        365945
BM_N_atomics_N_waiter_N_notifier<KeepNotifying, NumberOfAtomics<7>, NumHighPrioTasks<0>>/1024                           -0.0972         -0.1064        833189        752165        810146        723952
BM_N_atomics_N_waiter_N_notifier<NotifyEveryNus<50>, NumberOfAtomics<2>, NumHighPrioTasks<0>>/1024                      +0.0001         -0.1103      51201684      51204581      51124714      45485867
BM_N_atomics_N_waiter_N_notifier<NotifyEveryNus<50>, NumberOfAtomics<2>, NumHighPrioTasks<0>>/2048                      -0.0000         -0.1202     102409167     102405120     102243857      89953750
BM_N_atomics_N_waiter_N_notifier<NotifyEveryNus<50>, NumberOfAtomics<2>, NumHighPrioTasks<0>>/4096                      +0.0000         -0.1166     204807125     204813833     204453333     180618500
BM_N_atomics_N_waiter_N_notifier<NotifyEveryNus<50>, NumberOfAtomics<3>, NumHighPrioTasks<0>>/256                       +0.0002         -0.1623      12803624      12806161      12778727      10704806
BM_N_atomics_N_waiter_N_notifier<NotifyEveryNus<50>, NumberOfAtomics<3>, NumHighPrioTasks<0>>/512                       -0.0002         -0.1414      25607327      25603223      25551852      21939152
BM_N_atomics_N_waiter_N_notifier<NotifyEveryNus<50>, NumberOfAtomics<3>, NumHighPrioTasks<0>>/1024                      -0.0002         -0.1653      51212196      51202776      51126643      42673625
BM_N_atomics_N_waiter_N_notifier<NotifyEveryNus<50>, NumberOfAtomics<5>, NumHighPrioTasks<0>>/256                       -0.0002         -0.0709      12805016      12802157      12784636      11878785
BM_N_atomics_N_waiter_N_notifier<NotifyEveryNus<50>, NumberOfAtomics<5>, NumHighPrioTasks<0>>/512                       -0.0002         -0.1182      25611565      25606346      25560815      22540033
BM_N_atomics_N_waiter_N_notifier<NotifyEveryNus<50>, NumberOfAtomics<5>, NumHighPrioTasks<0>>/1024                      -0.0002         -0.0813      51220762      51208122      51121071      46963571
BM_N_atomics_N_waiter_N_notifier<NotifyEveryNus<50>, NumberOfAtomics<7>, NumHighPrioTasks<0>>/64                        +0.0012         -0.2125       3219858       3223858       3194027       2515373
BM_N_atomics_N_waiter_N_notifier<NotifyEveryNus<50>, NumberOfAtomics<7>, NumHighPrioTasks<0>>/128                       -0.0370         -0.2643       6668396       6421601       6563402       4828970
BM_N_atomics_N_waiter_N_notifier<NotifyEveryNus<50>, NumberOfAtomics<7>, NumHighPrioTasks<0>>/256                       -0.0288         -0.2220      13220067      12839487      13073964      10172062
BM_N_atomics_N_waiter_N_notifier<NotifyEveryNus<100>, NumberOfAtomics<2>, NumHighPrioTasks<0>>/256                      -0.0000         -0.0105      25602159      25600917      24178138      23923759
BM_N_atomics_N_waiter_N_notifier<NotifyEveryNus<100>, NumberOfAtomics<2>, NumHighPrioTasks<0>>/512                      +0.0000         -0.0175      51201819      51203125      48569867      47718143
BM_N_atomics_N_waiter_N_notifier<NotifyEveryNus<100>, NumberOfAtomics<2>, NumHighPrioTasks<0>>/1024                     +0.0001         -0.0118     102404155     102414482      96908714      95760857
BM_N_atomics_N_waiter_N_notifier<NotifyEveryNus<100>, NumberOfAtomics<3>, NumHighPrioTasks<0>>/256                      +0.0000         -0.0574      25599943      25600621      25326679      23871733
BM_N_atomics_N_waiter_N_notifier<NotifyEveryNus<100>, NumberOfAtomics<3>, NumHighPrioTasks<0>>/512                      +0.0001         -0.0813      51200525      51206978      50459500      46355867
BM_N_atomics_N_waiter_N_notifier<NotifyEveryNus<100>, NumberOfAtomics<3>, NumHighPrioTasks<0>>/1024                     +0.0001         -0.0774     102400405     102409875     101483571      93631000
BM_N_atomics_N_waiter_N_notifier<NotifyEveryNus<100>, NumberOfAtomics<5>, NumHighPrioTasks<0>>/128                      -0.0002         +0.0456      12802792      12800864      11731131      12265881
BM_N_atomics_N_waiter_N_notifier<NotifyEveryNus<100>, NumberOfAtomics<5>, NumHighPrioTasks<0>>/256                      -0.0000         +0.0649      25601667      25601070      22686065      24157862
BM_N_atomics_N_waiter_N_notifier<NotifyEveryNus<100>, NumberOfAtomics<5>, NumHighPrioTasks<0>>/512                      -0.0005         +0.0513      51224453      51200650      45549867      47885533
BM_N_atomics_N_waiter_N_notifier<NotifyEveryNus<100>, NumberOfAtomics<7>, NumHighPrioTasks<0>>/64                       -0.0014         +0.2205       6408711       6400039       4698868       5734934
BM_N_atomics_N_waiter_N_notifier<NotifyEveryNus<100>, NumberOfAtomics<7>, NumHighPrioTasks<0>>/128                      +0.0155         +0.2459      12810413      13009276       9163080      11416117
BM_N_atomics_N_waiter_N_notifier<NotifyEveryNus<100>, NumberOfAtomics<7>, NumHighPrioTasks<0>>/256                      +0.0081         +0.2304      25603646      25811111      18779784      23106867
BM_N_atomics_N_waiter_N_notifier<KeepNotifying, NumberOfAtomics<2>, NumHighPrioTasks<4>>/128                            -0.1103         -0.1108         24307         21625         24256         21568
BM_N_atomics_N_waiter_N_notifier<KeepNotifying, NumberOfAtomics<2>, NumHighPrioTasks<4>>/256                            +0.0637         +0.0574         45588         48491         45498         48112
BM_N_atomics_N_waiter_N_notifier<KeepNotifying, NumberOfAtomics<2>, NumHighPrioTasks<4>>/512                            -0.0519         -0.0539         90764         86054         90527         85648
BM_N_atomics_N_waiter_N_notifier<KeepNotifying, NumberOfAtomics<3>, NumHighPrioTasks<4>>/128                            +0.1161         +0.1083         28810         32155         28722         31832
BM_N_atomics_N_waiter_N_notifier<KeepNotifying, NumberOfAtomics<3>, NumHighPrioTasks<4>>/256                            +0.1152         +0.1094         64670         72123         64461         71512
BM_N_atomics_N_waiter_N_notifier<KeepNotifying, NumberOfAtomics<3>, NumHighPrioTasks<4>>/512                            -0.0804         -0.0993        125916        115796        125476        113010
BM_N_atomics_N_waiter_N_notifier<KeepNotifying, NumberOfAtomics<5>, NumHighPrioTasks<4>>/64                             +0.2682         -0.2446         53787         68210         51896         39203
BM_N_atomics_N_waiter_N_notifier<KeepNotifying, NumberOfAtomics<5>, NumHighPrioTasks<4>>/128                            +0.5732         -0.4832        103915        163474        100825         52105
BM_N_atomics_N_waiter_N_notifier<KeepNotifying, NumberOfAtomics<5>, NumHighPrioTasks<4>>/256                            +0.1283         -0.4606        211518        238645        203852        109957
BM_N_atomics_N_waiter_N_notifier<KeepNotifying, NumberOfAtomics<7>, NumHighPrioTasks<4>>/16                             -0.1526         +0.1523         59673         50567         23275         26819
BM_N_atomics_N_waiter_N_notifier<KeepNotifying, NumberOfAtomics<7>, NumHighPrioTasks<4>>/32                             -0.0492         +0.7075         82796         78719         24187         41298
BM_N_atomics_N_waiter_N_notifier<KeepNotifying, NumberOfAtomics<7>, NumHighPrioTasks<4>>/64                             -0.0712         +0.0764        150268        139570         55304         59527
BM_N_atomics_N_waiter_N_notifier<NotifyEveryNus<50>, NumberOfAtomics<2>, NumHighPrioTasks<4>>/128                       -0.0004         -0.0828       6402859       6400308       6380145       5851557
BM_N_atomics_N_waiter_N_notifier<NotifyEveryNus<50>, NumberOfAtomics<2>, NumHighPrioTasks<4>>/256                       -0.0002         -0.0370      12802978      12801020      12769107      12296293
BM_N_atomics_N_waiter_N_notifier<NotifyEveryNus<50>, NumberOfAtomics<2>, NumHighPrioTasks<4>>/512                       -0.0028         -0.0799      25674170      25601862      25612667      23566586
BM_N_atomics_N_waiter_N_notifier<NotifyEveryNus<50>, NumberOfAtomics<3>, NumHighPrioTasks<4>>/128                       -0.0004         -0.0672       6402990       6400344       6382100       5953248
BM_N_atomics_N_waiter_N_notifier<NotifyEveryNus<50>, NumberOfAtomics<3>, NumHighPrioTasks<4>>/256                       -0.0004         -0.0841      12806197      12801334      12765891      11691661
BM_N_atomics_N_waiter_N_notifier<NotifyEveryNus<50>, NumberOfAtomics<3>, NumHighPrioTasks<4>>/512                       -0.0006         -0.0574      25615708      25601085      25533250      24067828
BM_N_atomics_N_waiter_N_notifier<NotifyEveryNus<50>, NumberOfAtomics<5>, NumHighPrioTasks<4>>/32                        -0.0163         -0.2801       1645647       1618805       1614735       1162471
BM_N_atomics_N_waiter_N_notifier<NotifyEveryNus<50>, NumberOfAtomics<5>, NumHighPrioTasks<4>>/64                        -0.0211         -0.2501       3285234       3216045       3217295       2412509
BM_N_atomics_N_waiter_N_notifier<NotifyEveryNus<50>, NumberOfAtomics<5>, NumHighPrioTasks<4>>/128                       -0.0502         -0.2956       6755976       6416549       6653264       4686407
BM_N_atomics_N_waiter_N_notifier<NotifyEveryNus<50>, NumberOfAtomics<7>, NumHighPrioTasks<4>>/8                         -0.0815         -0.2227        534476        490942        337482        262341
BM_N_atomics_N_waiter_N_notifier<NotifyEveryNus<50>, NumberOfAtomics<7>, NumHighPrioTasks<4>>/16                        +0.0973         -0.0629       1071127       1175390        664897        623053
BM_N_atomics_N_waiter_N_notifier<NotifyEveryNus<50>, NumberOfAtomics<7>, NumHighPrioTasks<4>>/32                        -0.2263         -0.3717       2297477       1777444       1488023        934861
BM_N_atomics_N_waiter_N_notifier<NotifyEveryNus<100>, NumberOfAtomics<2>, NumHighPrioTasks<4>>/64                       -0.0000         +0.0183       6400348       6400261       6145171       6257342
BM_N_atomics_N_waiter_N_notifier<NotifyEveryNus<100>, NumberOfAtomics<2>, NumHighPrioTasks<4>>/128                      +0.0000         +0.0194      12800545      12800759      12279474      12517804
BM_N_atomics_N_waiter_N_notifier<NotifyEveryNus<100>, NumberOfAtomics<2>, NumHighPrioTasks<4>>/256                      +0.0001         +0.0111      25601568      25602976      24636179      24909821
BM_N_atomics_N_waiter_N_notifier<NotifyEveryNus<100>, NumberOfAtomics<3>, NumHighPrioTasks<4>>/64                       -0.0000         +0.0545       6400600       6400444       5795288       6111077
BM_N_atomics_N_waiter_N_notifier<NotifyEveryNus<100>, NumberOfAtomics<3>, NumHighPrioTasks<4>>/128                      +0.0001         +0.0474      12800507      12801355      11566729      12114860
BM_N_atomics_N_waiter_N_notifier<NotifyEveryNus<100>, NumberOfAtomics<3>, NumHighPrioTasks<4>>/256                      +0.0000         +0.0423      25601503      25601760      23281967      24267276
BM_N_atomics_N_waiter_N_notifier<NotifyEveryNus<100>, NumberOfAtomics<5>, NumHighPrioTasks<4>>/32                       +0.0005         +0.2842       3201968       3203421       2175379       2793615
BM_N_atomics_N_waiter_N_notifier<NotifyEveryNus<100>, NumberOfAtomics<5>, NumHighPrioTasks<4>>/64                       -0.0003         +0.3807       6402555       6400496       4052465       5595309
BM_N_atomics_N_waiter_N_notifier<NotifyEveryNus<100>, NumberOfAtomics<5>, NumHighPrioTasks<4>>/128                      -0.0003         +0.3827      12804155      12800925       8114370      11219400
BM_N_atomics_N_waiter_N_notifier<NotifyEveryNus<100>, NumberOfAtomics<7>, NumHighPrioTasks<4>>/8                        +0.0262         +0.1272        821954        843475        503297        567320
BM_N_atomics_N_waiter_N_notifier<NotifyEveryNus<100>, NumberOfAtomics<7>, NumHighPrioTasks<4>>/16                       +0.0298         +0.3134       1634476       1683172        901978       1184619
BM_N_atomics_N_waiter_N_notifier<NotifyEveryNus<100>, NumberOfAtomics<7>, NumHighPrioTasks<4>>/32                       +0.0147         +0.2925       3244262       3291994       1721000       2224350
OVERALL_GEOMEAN                                                                                                         +0.0185         -0.1876             0             0             0             0

```

---------

Co-authored-by: Hui Xie <huixie at Huis-MacBook-Pro.local>
Co-authored-by: Hui Xie <huixie at Mac.broadband>


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

  Changed paths:
    M llvm/test/CodeGen/X86/combine-ptest.ll

  Log Message:
  -----------
  [X86] Add test coverage for #123456


  Commit: 55f7491ddec7e65f6dfc50dcb8f6529719d7a057
      https://github.com/llvm/llvm-project/commit/55f7491ddec7e65f6dfc50dcb8f6529719d7a057
  Author: Alexey Bataev <a.bataev at outlook.com>
  Date:   2025-01-18 (Sat, 18 Jan 2025)

  Changed paths:
    A llvm/test/Transforms/SLPVectorizer/X86/insert-subvector.ll

  Log Message:
  -----------
  [SLP][NFC]Add a test with incomplete insertion mask, NFC


  Commit: 2a4c4b554b23f2a7180502c1a635d8aae4dca027
      https://github.com/llvm/llvm-project/commit/2a4c4b554b23f2a7180502c1a635d8aae4dca027
  Author: Craig Topper <craig.topper at sifive.com>
  Date:   2025-01-18 (Sat, 18 Jan 2025)

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

  Log Message:
  -----------
  [TableGen] Use const getter to implement non-const getter instead of the other way around. NFC (#123452)

It's better to cast away constness on the reference being returned than
to cast away constness on the this pointer.


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

  Changed paths:
    M llvm/lib/CodeGen/SelectionDAG/LegalizeIntegerTypes.cpp
    M llvm/test/CodeGen/LoongArch/smul-with-overflow.ll
    M llvm/test/CodeGen/SPARC/smulo-128-legalisation-lowering.ll
    M llvm/test/CodeGen/X86/smul-with-overflow.ll
    M llvm/test/CodeGen/X86/smulo-128-legalisation-lowering.ll

  Log Message:
  -----------
  [LegalizeIntegerTypes] Use forceExpandWideMUL in ExpandIntRes_XMULO. (#123432)

This generates basically the same code with the operands commuted, but
gets there with less legalization steps.


  Commit: bc386a82686d5f40f9f7325cc41aadc43f09cc79
      https://github.com/llvm/llvm-project/commit/bc386a82686d5f40f9f7325cc41aadc43f09cc79
  Author: Craig Topper <craig.topper at sifive.com>
  Date:   2025-01-18 (Sat, 18 Jan 2025)

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

  Log Message:
  -----------
  [TableGen] Replace some uses of make_range with methods that already return a range. NFC (#123453)


  Commit: 0a33532500a90668f5cfe485134e9c9c388d3614
      https://github.com/llvm/llvm-project/commit/0a33532500a90668f5cfe485134e9c9c388d3614
  Author: goldsteinn <35538541+goldsteinn at users.noreply.github.com>
  Date:   2025-01-18 (Sat, 18 Jan 2025)

  Changed paths:
    M llvm/include/llvm/IR/PatternMatch.h
    M llvm/unittests/IR/PatternMatch.cpp

  Log Message:
  -----------
  [PatternMatch] Add `m_c_XorLike` matcher; NFC (#122642)

`m_c_XorLike` matches either:
    `(xor L, R)`, `(xor R, L)`, or `(sub nuw R, L)` iff `R.isMask()`.

This is in preperation for dropping the fold from:
    `(sub C_Mask, X)` -> `(xor X, C_Mask)`


  Commit: 02a56c4d01c1621846d7342982d62468e45cede0
      https://github.com/llvm/llvm-project/commit/02a56c4d01c1621846d7342982d62468e45cede0
  Author: Kazu Hirata <kazu at google.com>
  Date:   2025-01-18 (Sat, 18 Jan 2025)

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

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

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

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

Literal migration would result in dyn_cast_if_present (see the
definition of PointerUnion::dyn_cast), but this patch uses dyn_cast
because we expect ValueOrInherited to be nonnull.  Note that isSet
checks to see if ValueOrInherited is nonnull.


  Commit: 80e0cbafba56d428571f4e05e5dfe305b85b809a
      https://github.com/llvm/llvm-project/commit/80e0cbafba56d428571f4e05e5dfe305b85b809a
  Author: Kazu Hirata <kazu at google.com>
  Date:   2025-01-18 (Sat, 18 Jan 2025)

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

  Log Message:
  -----------
  [ByteCode] Migrate away from PointerUnion::dyn_cast (NFC) (#123445)

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

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

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


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

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

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


  Commit: 3f1be86a1acd5286bac16cae833481ee3f80dcbb
      https://github.com/llvm/llvm-project/commit/3f1be86a1acd5286bac16cae833481ee3f80dcbb
  Author: Kazu Hirata <kazu at google.com>
  Date:   2025-01-18 (Sat, 18 Jan 2025)

  Changed paths:
    M llvm/lib/Object/GOFFObjectFile.cpp

  Log Message:
  -----------
  [Object] Avoid repeated hash lookups (NFC) (#123448)


  Commit: a5fb2bbb2ad8488482843e2298fbe6f6a1d45bbd
      https://github.com/llvm/llvm-project/commit/a5fb2bbb2ad8488482843e2298fbe6f6a1d45bbd
  Author: Michael Buch <michaelbuch12 at gmail.com>
  Date:   2025-01-18 (Sat, 18 Jan 2025)

  Changed paths:
    M clang/lib/CodeGen/CGDebugInfo.cpp
    M clang/test/CodeGenCXX/debug-info-object-pointer.cpp
    M llvm/bindings/ocaml/debuginfo/debuginfo_ocaml.c
    M llvm/bindings/ocaml/debuginfo/llvm_debuginfo.ml
    M llvm/bindings/ocaml/debuginfo/llvm_debuginfo.mli
    M llvm/include/llvm-c/DebugInfo.h
    M llvm/include/llvm/IR/DIBuilder.h
    M llvm/lib/IR/DIBuilder.cpp
    M llvm/lib/IR/DebugInfo.cpp

  Log Message:
  -----------
  Reapply "[clang][DebugInfo] Emit DW_AT_object_pointer on function declarations with explicit `this`" (#123455)

This reverts commit c3a935e3f967f8f22f5db240d145459ee621c1e0.

The only change to the reverted commit is that this also updates
the OCaml bindings according to the C debug-info API changes.

The build failure originally introduced was:
```
FAILED: bindings/ocaml/debuginfo/debuginfo_ocaml.o /b/1/llvm-clang-x86_64-expensive-checks-debian/build/bindings/ocaml/debuginfo/debuginfo_ocaml.o
cd /b/1/llvm-clang-x86_64-expensive-checks-debian/build/bindings/ocaml/debuginfo && /usr/bin/ocamlfind ocamlc -c /b/1/llvm-clang-x86_64-expensive-checks-debian/build/bindings/ocaml/debuginfo/debuginfo_ocaml.c -ccopt "-I/b/1/llvm-clang-x86_64-expensive-checks-debian/llvm-project/llvm/bindings/ocaml/debuginfo/../llvm -D_GNU_SOURCE -D_DEBUG -D_GLIBCXX_ASSERTIONS -DEXPENSIVE_CHECKS -D_GLIBCXX_DEBUG -D__STDC_CONSTANT_MACROS -D__STDC_FORMAT_MACROS -D__STDC_LIMIT_MACROS -I/b/1/llvm-clang-x86_64-expensive-checks-debian/build/include -I/b/1/llvm-clang-x86_64-expensive-checks-debian/llvm-project/llvm/include  -DNDEBUG "
/b/1/llvm-clang-x86_64-expensive-checks-debian/build/bindings/ocaml/debuginfo/debuginfo_ocaml.c: In function ‘llvm_dibuild_create_object_pointer_type’:
/b/1/llvm-clang-x86_64-expensive-checks-debian/build/bindings/ocaml/debuginfo/debuginfo_ocaml.c:620:30: error: too few arguments to function ‘LLVMDIBuilderCreateObjectPointerType’
  620 |   LLVMMetadataRef Metadata = LLVMDIBuilderCreateObjectPointerType(
      |                              ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from /b/1/llvm-clang-x86_64-expensive-checks-debian/build/bindings/ocaml/debuginfo/debuginfo_ocaml.c:23:
/b/1/llvm-clang-x86_64-expensive-checks-debian/llvm-project/llvm/include/llvm-c/DebugInfo.h:880:17: note: declared here
  880 | LLVMMetadataRef LLVMDIBuilderCreateObjectPointerType(LLVMDIBuilderRef Builder,
      |                 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```


  Commit: 12f78e740c5419f7d1fbcf8f2106e7a40cd1d6f7
      https://github.com/llvm/llvm-project/commit/12f78e740c5419f7d1fbcf8f2106e7a40cd1d6f7
  Author: Sirraide <aeternalmail at gmail.com>
  Date:   2025-01-18 (Sat, 18 Jan 2025)

  Changed paths:
    M clang/test/ARCMT/autoreleases.m
    M clang/test/ARCMT/autoreleases.m.result
    M clang/test/ARCMT/retains.m
    M clang/test/ARCMT/retains.m.result
    M clang/test/AST/ast-dump-cxx2b-deducing-this.cpp
    M clang/test/AST/ast-dump-special-member-functions.cpp
    M clang/test/Analysis/Inputs/expected-plists/plist-output.m.plist
    M clang/test/Analysis/const-method-call.cpp
    M clang/test/Analysis/inline-unique-reports.c
    M clang/test/Analysis/malloc.c
    M clang/test/Analysis/nil-receiver-undefined-larger-than-voidptr-ret.m
    M clang/test/Analysis/novoidtypecrash.c
    M clang/test/Analysis/plist-output.m
    M clang/test/Analysis/plist-stats-output.c
    M clang/test/Analysis/scopes-cfg-output.cpp
    M clang/test/Analysis/structured_bindings.cpp
    M clang/test/CXX/drs/cwg605.cpp
    M clang/test/CXX/expr/expr.prim/expr.prim.lambda/p5.cpp
    M clang/test/CXX/expr/expr.prim/expr.prim.lambda/p7.cpp
    M clang/test/CodeGen/2003-06-26-CFECrash.c
    M clang/test/CodeGen/2003-08-18-SigSetJmp.c
    M clang/test/CodeGen/2003-08-23-LocalUnionTest.c
    M clang/test/CodeGen/2003-10-29-AsmRename.c
    M clang/test/CodeGen/2003-11-20-ComplexDivision.c
    M clang/test/CodeGen/2004-06-18-VariableLengthArrayOfStructures.c
    M clang/test/CodeGen/2004-11-27-StaticFunctionRedeclare.c
    M clang/test/CodeGen/2005-01-02-VAArgError-ICE.c
    M clang/test/CodeGen/2005-06-15-ExpandGotoInternalProblem.c
    M clang/test/CodeGen/2007-01-06-KNR-Proto.c
    M clang/test/CodeGen/2008-05-06-CFECrash.c
    M clang/test/CodeGen/2008-07-30-redef-of-bitcasted-decl.c
    M clang/test/CodeGen/2008-10-13-FrontendCrash.c
    M clang/test/CodeGen/2009-01-21-InvalidIterator.c
    M clang/test/CodeGen/2009-05-04-EnumInreg.c
    M clang/test/CodeGen/2009-07-15-pad-wchar_t-array.c
    M clang/test/CodeGen/SystemZ/vec-abi-gnuattr-05.c
    M clang/test/CodeGen/X86/avx512fp16-abi.c
    M clang/test/CodeGen/X86/x86_64-atomic-128.c
    M clang/test/CodeGen/align-local.c
    M clang/test/CodeGen/arm-cmse-nonsecure.c
    M clang/test/CodeGen/arm-cmse-secure.c
    M clang/test/CodeGen/attr-noinline.cpp
    M clang/test/CodeGen/attr-noreturn.c
    M clang/test/CodeGen/block-copy.c
    M clang/test/CodeGen/builtin-memfns.c
    M clang/test/CodeGen/catch-undef-behavior.c
    M clang/test/CodeGen/cfi-unrelated-cast.cpp
    M clang/test/CodeGen/const-label-addr.c
    M clang/test/CodeGen/debug-info-crash.c
    M clang/test/CodeGen/debug-info.c
    M clang/test/CodeGen/empty-union-init.c
    M clang/test/CodeGen/exceptions-seh.c
    M clang/test/CodeGen/exprs.c
    M clang/test/CodeGen/ext-int-cc.c
    M clang/test/CodeGen/implicit-arg.c
    M clang/test/CodeGen/msan-param-retval.c
    M clang/test/CodeGen/msan-param-retval.cpp
    M clang/test/CodeGen/object-size.c
    M clang/test/CodeGen/sparcv8-abi.c
    M clang/test/CodeGen/sret.c
    M clang/test/CodeGen/static-order.c
    M clang/test/CodeGen/staticinit.c
    M clang/test/CodeGen/struct.c
    M clang/test/CodeGen/ubsan-debuglog-return.c
    M clang/test/CodeGen/union.c
    M clang/test/CodeGen/ve-abi.c
    M clang/test/CodeGenCXX/2007-01-06-PtrMethodInit.cpp
    M clang/test/CodeGenCXX/2007-09-10-RecursiveTypeResolution.cpp
    M clang/test/CodeGenCXX/2007-10-01-StructResize.cpp
    M clang/test/CodeGenCXX/2009-08-11-VectorRetTy.cpp
    M clang/test/CodeGenCXX/2010-07-23-DeclLoc.cpp
    M clang/test/CodeGenCXX/address-space-cast-coerce.cpp
    M clang/test/CodeGenCXX/array-value-initialize.cpp
    M clang/test/CodeGenCXX/attr.cpp
    M clang/test/CodeGenCXX/c-linkage.cpp
    M clang/test/CodeGenCXX/catch-undef-behavior.cpp
    M clang/test/CodeGenCXX/conditional-gnu-ext.cpp
    M clang/test/CodeGenCXX/cxx1y-variable-template-linkage.cpp
    M clang/test/CodeGenCXX/debug-info-cxx0x.cpp
    M clang/test/CodeGenCXX/debug-info-scoped-class.cpp
    M clang/test/CodeGenCXX/debug-lambda-this.cpp
    M clang/test/CodeGenCXX/expr.cpp
    M clang/test/CodeGenCXX/lambda-expressions-nested-linkage.cpp
    M clang/test/CodeGenCXX/mangle-exprs.cpp
    M clang/test/CodeGenCXX/mangle-variadic-templates.cpp
    M clang/test/CodeGenCXX/mangle.cpp
    M clang/test/CodeGenCXX/matrix-type-operators.cpp
    M clang/test/CodeGenCXX/matrix-type.cpp
    M clang/test/CodeGenCXX/microsoft-abi-static-initializers.cpp
    M clang/test/CodeGenCXX/new-alias.cpp
    M clang/test/CodeGenCXX/nrvo.cpp
    M clang/test/CodeGenCXX/reference-field.cpp
    M clang/test/CodeGenCXX/return.cpp
    M clang/test/CodeGenCXX/template-instantiation.cpp
    M clang/test/CodeGenCXX/trap-fnattr.cpp
    M clang/test/CodeGenCXX/ubsan-check-debuglocs.cpp
    M clang/test/CodeGenObjC/2007-10-18-ProDescriptor.m
    M clang/test/CodeGenObjC/2008-11-25-Blocks.m
    M clang/test/CodeGenObjC/debug-info-crash.m
    M clang/test/CodeGenObjC/encode-test.m
    M clang/test/CodeGenObjC/message-arrays.m
    M clang/test/CodeGenObjC/metadata-symbols-32.m
    M clang/test/CodeGenObjC/metadata-symbols-64.m
    M clang/test/CodeGenObjC/objc2-weak-compare.m
    M clang/test/CodeGenObjC/objc2-write-barrier-2.m
    M clang/test/CodeGenObjC/protocols-lazy.m
    M clang/test/CodeGenObjC/strong-in-c-struct.m
    M clang/test/CodeGenObjCXX/debug-info-line.mm
    M clang/test/CodeGenObjCXX/instantiate-return.mm
    M clang/test/CodeGenObjCXX/pr14474-gline-tables-only.mm
    M clang/test/CodeGenObjCXX/property-dot-reference.mm
    M clang/test/CodeGenObjCXX/return.mm
    M clang/test/CoverageMapping/switch.cpp
    M clang/test/Driver/cc-log-diagnostics.c
    M clang/test/FixIt/fixit-availability-maccatalyst.m
    M clang/test/FixIt/fixit-c++11.cpp
    M clang/test/Frontend/absolute-paths.c
    M clang/test/Frontend/ast-codegen.c
    M clang/test/Frontend/ast-main.cpp
    M clang/test/Misc/serialized-diags-stable.c
    M clang/test/Modules/pr61067.cppm
    M clang/test/Modules/redecl-merge.m
    M clang/test/PCH/irgen-rdar13114142.mm
    M clang/test/PCH/late-parsed-instantiations.cpp
    M clang/test/PCH/pr4489.c
    M clang/test/PCH/va_arg.c
    M clang/test/PCH/va_arg.h
    M clang/test/Parser/promote_types_in_proto.c
    M clang/test/Rewriter/rewrite-extern-c.mm
    M clang/test/Sema/freemain.c
    M clang/test/Sema/return-type-mismatch.c
    M clang/test/SemaCXX/attr-noreturn.cpp
    M clang/test/SemaCXX/constant-expression-cxx14.cpp
    M clang/test/SemaCXX/constexpr-return-non-void-cxx2b.cpp
    A clang/test/SemaCXX/err-missing-noreturn-1.cpp
    A clang/test/SemaCXX/err-missing-noreturn-2.cpp
    M clang/test/SemaCXX/return-noreturn.cpp
    M clang/test/SemaCXX/warn-missing-noreturn.cpp
    M clang/test/SemaCXX/warn-unsafe-buffer-usage-fixits-add-assign.cpp
    M clang/test/SemaObjC/return-noreturn.m
    M clang/test/SemaObjC/try-catch.m
    M clang/test/SemaTemplate/late-parsing-eager-instantiation.cpp
    M clang/unittests/ASTMatchers/ASTMatchersNarrowingTest.cpp
    M clang/unittests/ASTMatchers/ASTMatchersTraversalTest.cpp
    M clang/unittests/Tooling/ASTSelectionTest.cpp
    M clang/unittests/Tooling/LexicallyOrderedRecursiveASTVisitorTest.cpp
    M clang/unittests/Tooling/Syntax/BuildTreeTest.cpp

  Log Message:
  -----------
  [Clang] [NFC] Fix unintended `-Wreturn-type` warnings everywhere in the test suite (#123464)

In preparation of making `-Wreturn-type` default to an error (as there
is virtually no situation where you’d *want* to fall off the end of a
function that is supposed to return a value), this patch fixes tests
that have relied on this being only a warning, of which there seem 
to be 3 kinds:

1. Tests which for no apparent reason have a function that triggers the
warning.

I suspect that a lot of these were on accident (or from before the
warning was introduced), since a lot of people will open issues w/ their
problematic code in the `main` function (which is the one case where you
don’t need to return from a non-void function, after all...), which
someone will then copy, possibly into a namespace, possibly renaming it,
the end result of that being that you end up w/ something that
definitely is not `main` anymore, but which still is declared as
returning `int`, and which still has no return statement (another reason
why I think this might apply to a lot of these is because usually the
actual return type of such problematic functions is quite literally
`int`).
  
A lot of these are really old tests that don’t use `-verify`, which is
why no-one noticed or had to care about the extra warning that was
already being emitted by them until now.

2. Tests which test either `-Wreturn-type`, `[[noreturn]]`, or what
codegen and sanitisers do whenever you do fall off the end of a
function.

3. Tests where I struggle to figure out what is even being tested
(usually because they’re Objective-C tests, and I don’t know
Objective-C), whether falling off the end of a function matters in the
first place, and tests where actually spelling out an expression to
return would be rather cumbersome (e.g. matrix types currently don’t
support list initialisation, so I can’t write e.g. `return {}`).

For tests that fall into categories 2 and 3, I just added
`-Wno-error=return-type` to the `RUN` lines and called it a day. This
was especially necessary for the former since `-Wreturn-type` is an
analysis-based warning, meaning that it is currently impossible to test
for more than one occurrence of it in the same compilation if it
defaults to an error since the analysis pass is skipped for subsequent
functions as soon as an error is emitted.

I’ve also added `-Werror=return-type` to a few tests that I had already
updated as this patch was previously already making the warning an error
by default, but we’ve decided to split that into two patches instead.


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

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

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

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


  Commit: 92a6eff62badaf20095848e1777840bc3ffc2022
      https://github.com/llvm/llvm-project/commit/92a6eff62badaf20095848e1777840bc3ffc2022
  Author: Alexey Bataev <a.bataev at outlook.com>
  Date:   2025-01-18 (Sat, 18 Jan 2025)

  Changed paths:
    M llvm/test/Transforms/SLPVectorizer/X86/insert-subvector.ll

  Log Message:
  -----------
  [SLP][NFC]Fix the test to use poison and update to show the error


  Commit: 2b1e037adb274c515b6ebe7808cc7da6a5b9c3b3
      https://github.com/llvm/llvm-project/commit/2b1e037adb274c515b6ebe7808cc7da6a5b9c3b3
  Author: Alexey Bataev <a.bataev at outlook.com>
  Date:   2025-01-18 (Sat, 18 Jan 2025)

  Changed paths:
    M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
    M llvm/test/Transforms/SLPVectorizer/X86/insert-subvector.ll

  Log Message:
  -----------
  [SLP]Fix createInsertVector mask emission


  Commit: 4233a15c9f8e6f77a00a5770a35b70ab8a2705c6
      https://github.com/llvm/llvm-project/commit/4233a15c9f8e6f77a00a5770a35b70ab8a2705c6
  Author: Florian Hahn <flo at fhahn.com>
  Date:   2025-01-18 (Sat, 18 Jan 2025)

  Changed paths:
    M llvm/lib/Transforms/IPO/FunctionAttrs.cpp
    M llvm/test/Transforms/FunctionAttrs/initializes.ll

  Log Message:
  -----------
  [FunctionAttrs] Handle zero writes in initializes inference.

ConstantRange's constructor asserts that the range not empty, except if
lower/upper are min or max values.

Check if the length is strictly positive instead of just non-negative so
std::nullopt is returned when the size is 0. If that's the case, the
access doesn't initialize anything.

This should fix a crash when building on macOS with ASan & UBsan after
https://github.com/llvm/llvm-project/pull/97373 /
https://github.com/llvm/llvm-project/pull/117104 landed:
https://green.lab.llvm.org/job/llvm.org/job/clang-stage2-cmake-RgSan/664/console


  Commit: bb59eb8ed534da2bd03117cfde594321add4d60c
      https://github.com/llvm/llvm-project/commit/bb59eb8ed534da2bd03117cfde594321add4d60c
  Author: Jacob Young <jacobly.alt at gmail.com>
  Date:   2025-01-18 (Sat, 18 Jan 2025)

  Changed paths:
    M llvm/lib/Transforms/InstCombine/InstCombineCompares.cpp
    M llvm/test/Transforms/InstCombine/add.ll
    A llvm/test/Transforms/InstCombine/icmp-srem.ll

  Log Message:
  -----------
  [InstCombine] fold unsigned predicates on srem result (#122520)

This allows optimization of more signed floor implementations when the
divisor is a known power of two to an arithmetic shift.

Proof for the implemented optimizations:
https://alive2.llvm.org/ce/z/j6C-Nz

Proof for the test cases:
https://alive2.llvm.org/ce/z/M_PBjw

---------

Co-authored-by: Jacob Young <jacobly0 at users.noreply.github.com>


  Commit: eae5ca9b45bf1232f30d92ce50c19c1ea82c0f0b
      https://github.com/llvm/llvm-project/commit/eae5ca9b45bf1232f30d92ce50c19c1ea82c0f0b
  Author: Diego Caballero <dieg0ca6aller0 at gmail.com>
  Date:   2025-01-18 (Sat, 18 Jan 2025)

  Changed paths:
    M mlir/include/mlir/Dialect/Vector/IR/VectorOps.td
    M mlir/lib/Dialect/Vector/IR/VectorOps.cpp
    M mlir/test/Conversion/VectorToLLVM/vector-to-llvm.mlir
    M mlir/test/Conversion/VectorToSPIRV/vector-to-spirv.mlir
    M mlir/test/Dialect/Vector/ops.mlir

  Log Message:
  -----------
  [mlir][Vector] Support poison in `vector.shuffle` mask (#122188)

This PR extends the existing poison support in
https://mlir.llvm.org/docs/Dialects/UBOps/ by representing poison mask
values in `vector.shuffle`. Similar to LLVM (see
https://github.com/llvm/llvm-project/blob/main/llvm/include/llvm/IR/Instructions.h#L1884)
this requires defining an integer value (`-1`) to represent poison in
the `vector.shuffle` mask.


  Commit: 106c483a102e1328f11e2b1d9398f4ad2826b59f
      https://github.com/llvm/llvm-project/commit/106c483a102e1328f11e2b1d9398f4ad2826b59f
  Author: Sirraide <aeternalmail at gmail.com>
  Date:   2025-01-19 (Sun, 19 Jan 2025)

  Changed paths:
    M clang/docs/ClangFormatStyleOptions.rst
    M clang/docs/ReleaseNotes.rst
    M clang/include/clang/Format/Format.h
    M clang/lib/Format/Format.cpp
    M clang/lib/Format/TokenAnnotator.h
    M clang/lib/Format/UnwrappedLineFormatter.cpp
    M clang/lib/Format/UnwrappedLineParser.cpp
    M clang/lib/Format/UnwrappedLineParser.h
    M clang/unittests/Format/FormatTest.cpp

  Log Message:
  -----------
  [clang-format] Improve brace wrapping and add an option to control indentation of `export { ... }` (#110381)

`export { ... }` blocks can get a bit long, so I thought it would make
sense to have an option that makes it so their contents are not indented
(basically the same argument as for namespaces).

This is based on the `NamespaceIndentation` option, except that there is
no option to control the behaviour of `export` blocks when nested because
nesting them doesn’t really make sense.

Additionally, brace wrapping of short `export { ... }` blocks is now controlled by the
`AllowShortBlocksOnASingleLine` option. There is no separate option just for `export`
blocks because you can just write e.g. `export int x;` instead of `export { int x; }`.

This closes #121723.


  Commit: 30e517c0c70be42686ec10c2960813302f2a9654
      https://github.com/llvm/llvm-project/commit/30e517c0c70be42686ec10c2960813302f2a9654
  Author: Vladimir Vereschaka <vvereschaka at accesssoftek.com>
  Date:   2025-01-18 (Sat, 18 Jan 2025)

  Changed paths:
    M libcxx/test/std/input.output/file.streams/fstreams/ifstream.members/offset_range.pass.cpp

  Log Message:
  -----------
  [libcxx][test] Fix a test for the range of file offsets on ARMv7 Linux targets. (#123449)

Mark the `offset_range` test as UNSUPPORTED for the
`armv7-unknown-linux-gnueabihf` target (32-bit).

Ref PR #122798


  Commit: 6789442eb2e1ed92b2157e96e9e9eafed5c53f17
      https://github.com/llvm/llvm-project/commit/6789442eb2e1ed92b2157e96e9e9eafed5c53f17
  Author: ssijaric-nv <ssijaric at nvidia.com>
  Date:   2025-01-18 (Sat, 18 Jan 2025)

  Changed paths:
    M llvm/lib/Target/AArch64/AArch64FrameLowering.cpp
    M llvm/lib/Target/AArch64/AArch64FrameLowering.h
    A llvm/test/CodeGen/AArch64/aarch64-large-stack-spbump.mir

  Log Message:
  -----------
  [AArch64] Fix a corner case with large stack allocation (#122038)

In the unlikely case where the stack size is greater than 4GB, we may run into
the situation where the local stack size and the callee saved registers stack
size get combined incorrectly when restoring the callee saved registers. This
happens because the stack size in shouldCombineCSRLocalStackBumpInEpilogue
is represented as an 'unsigned', but is passed in as an 'int64_t'. We end up with
something like

$fp, $lr = frame-destroy LDPXi $sp, 536870912

This change just makes 'shouldCombineCSRLocalStackBumpInEpilogue' match
'shouldCombineCSRLocalStackBump' where 'StackBumpBytes' is an 'uint64_t'


  Commit: 24ab0125ba86ea49bb046eb434c1b3861b2d3dd2
      https://github.com/llvm/llvm-project/commit/24ab0125ba86ea49bb046eb434c1b3861b2d3dd2
  Author: Craig Topper <craig.topper at sifive.com>
  Date:   2025-01-18 (Sat, 18 Jan 2025)

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

  Log Message:
  -----------
  [CodeGen] Rewrite assert in Register::asMCReg() using member functions. NFC


  Commit: 0e4a10dff8eac9ac38d7dbed0c0d32d4a68a5a69
      https://github.com/llvm/llvm-project/commit/0e4a10dff8eac9ac38d7dbed0c0d32d4a68a5a69
  Author: Craig Topper <craig.topper at sifive.com>
  Date:   2025-01-18 (Sat, 18 Jan 2025)

  Changed paths:
    M llvm/include/llvm/MC/MCRegister.h
    M llvm/include/llvm/MC/MCRegisterInfo.h
    M llvm/utils/TableGen/AsmMatcherEmitter.cpp

  Log Message:
  -----------
  [MC] Add MCRegister::isPhysical. NFC


  Commit: f811482a744454c442456dd4275929b1eb1871b6
      https://github.com/llvm/llvm-project/commit/f811482a744454c442456dd4275929b1eb1871b6
  Author: Carl Ritson <carl.ritson at amd.com>
  Date:   2025-01-19 (Sun, 19 Jan 2025)

  Changed paths:
    M llvm/lib/Target/AMDGPU/SIWholeQuadMode.cpp
    M llvm/test/CodeGen/AMDGPU/dagcombine-fma-fmad.ll
    M llvm/test/CodeGen/AMDGPU/wqm.ll

  Log Message:
  -----------
  [AMDGPU] SIWholeQuadMode: Ensure earliest WQM entry point for PS (#123266)

Ensure shaders running WQM (PS) enter at the earliest point irrespective
of WQM marking.


  Commit: f8b27949a8c4fa8d8e15f9858e2ed38d7267f7dd
      https://github.com/llvm/llvm-project/commit/f8b27949a8c4fa8d8e15f9858e2ed38d7267f7dd
  Author: Aviad Cohen <aviadcohen7 at gmail.com>
  Date:   2025-01-19 (Sun, 19 Jan 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 between scf for loop yield and result (#123200)

We can prove that:
%result == %init_arg + trip_count * (%yielded_value - %iter_arg). Where
trip_count is (ub - lb) / step.


  Commit: 0a44d3a57f03e8263f1509eb397201c9e07b21aa
      https://github.com/llvm/llvm-project/commit/0a44d3a57f03e8263f1509eb397201c9e07b21aa
  Author: Craig Topper <craig.topper at sifive.com>
  Date:   2025-01-18 (Sat, 18 Jan 2025)

  Changed paths:
    M llvm/include/llvm/CodeGen/VirtRegMap.h
    M llvm/lib/CodeGen/VirtRegMap.cpp

  Log Message:
  -----------
  [CodeGen] Use MCRegister instead of MCPhysReg in VirtRegMap. NFC

The callers of these methods already use MCRegister.


  Commit: 81357627deba3411d4dfd2c819639195cdf80770
      https://github.com/llvm/llvm-project/commit/81357627deba3411d4dfd2c819639195cdf80770
  Author: Madhur Amilkanthwar <madhura at nvidia.com>
  Date:   2025-01-19 (Sun, 19 Jan 2025)

  Changed paths:
    M llvm/Maintainers.md

  Log Message:
  -----------
  Volunteer for loop interchange transform (#120824)

After our talk on LoopVectorization, we are looking at various loop
transformations. I would like to volunteer myself for LoopInterchange
transform.


  Commit: 4a486e773e0ef1add4515ee47b038c274ced2e76
      https://github.com/llvm/llvm-project/commit/4a486e773e0ef1add4515ee47b038c274ced2e76
  Author: Craig Topper <craig.topper at sifive.com>
  Date:   2025-01-18 (Sat, 18 Jan 2025)

  Changed paths:
    M llvm/lib/CodeGen/EarlyIfConversion.cpp
    M llvm/lib/CodeGen/MachineBasicBlock.cpp
    M llvm/lib/CodeGen/MachineOperand.cpp
    M llvm/lib/CodeGen/MachinePipeliner.cpp
    M llvm/lib/CodeGen/MachineRegisterInfo.cpp
    M llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp
    M llvm/lib/CodeGen/TargetRegisterInfo.cpp
    M llvm/lib/Target/AArch64/AArch64InstrInfo.cpp
    M llvm/lib/Target/AMDGPU/AMDGPULegalizerInfo.cpp
    M llvm/lib/Target/NVPTX/NVPTXRegisterInfo.cpp
    M llvm/lib/Target/PowerPC/PPCRegisterInfo.cpp
    M llvm/lib/Target/X86/X86ArgumentStackSlotRebase.cpp
    M llvm/lib/Target/X86/X86RegisterInfo.cpp

  Log Message:
  -----------
  [CodeGen] Use Register/MCRegister::isPhysical. NFC


  Commit: 7a7d12bba9557aca1e1c5251ac5815bb911bd5ca
      https://github.com/llvm/llvm-project/commit/7a7d12bba9557aca1e1c5251ac5815bb911bd5ca
  Author: Aiden Grossman <aidengrossman at google.com>
  Date:   2025-01-19 (Sun, 19 Jan 2025)

  Changed paths:
    M .github/workflows/premerge.yaml

  Log Message:
  -----------
  [Github] Bump max ccache size for premerge

This patch bumps the max ccache size for premerge jobs to 2GB. Doing a manual
invocation against changes in LLVM produces about 1GB of cache. The default
is 500MB, which we feel might be contributing to the very poor cache
utilization.


  Commit: 0cb2fe5183c9b25bb96140c27d12b1ad4a80aa92
      https://github.com/llvm/llvm-project/commit/0cb2fe5183c9b25bb96140c27d12b1ad4a80aa92
  Author: Nikolas Klauser <nikolasklauser at berlin.de>
  Date:   2025-01-19 (Sun, 19 Jan 2025)

  Changed paths:
    M clang/docs/LanguageExtensions.rst
    M clang/docs/ReleaseNotes.rst

  Log Message:
  -----------
  [Clang] Deprecate __is_referenceable (#123185)

`__is_referenceable` is almost unused in the wild, and the few cases I
was able to find had checks around them. Since The places in the
standard library where `__is_referenceable` is used have bespoke
builtins, it doesn't make a ton of sense to keep this builtin around.

See #123078


  Commit: b5df0e71082fc9b11a9ecf85599a453d21f1025a
      https://github.com/llvm/llvm-project/commit/b5df0e71082fc9b11a9ecf85599a453d21f1025a
  Author: klensy <klensy at users.noreply.github.com>
  Date:   2025-01-19 (Sun, 19 Jan 2025)

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

  Log Message:
  -----------
  [SelectionDAG] late init DeferredNodes (#123461)

No need to init `SmallVector` (even stack allocated) if we can exit
literally on next line.

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


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

  Changed paths:
    M llvm/lib/Target/X86/X86ISelLowering.cpp
    M llvm/test/CodeGen/X86/combine-ptest.ll

  Log Message:
  -----------
  [X86] combinePTESTCC - fold PTESTC(PCMPEQ(X,0),-1) == PTESTZ(X,X) (#123466)

Simplifies the hidden "all_of(X == 0)" pattern

Fixes #123456


  Commit: 0d39fe6f5bb3edf0bddec09a8c6417377390aeac
      https://github.com/llvm/llvm-project/commit/0d39fe6f5bb3edf0bddec09a8c6417377390aeac
  Author: Florian Hahn <flo at fhahn.com>
  Date:   2025-01-19 (Sun, 19 Jan 2025)

  Changed paths:
    M llvm/lib/Transforms/Vectorize/VPlanUtils.h

  Log Message:
  -----------
  [VPlan] Handle VPDerivedIV and more VPInsts in isUniformAfterVector.

In preparation for re-landing
https://github.com/llvm/llvm-project/pull/112147, also consider
VPDerivedIVRecipe and VPInstructions with binary opcodes and PtrAdd with
all uniform operands as uniform themselves.

Effectively NFC, but will be exercised once #112147 re-lands.


  Commit: ddfd89ae442618e86d30a260a854f89512b58167
      https://github.com/llvm/llvm-project/commit/ddfd89ae442618e86d30a260a854f89512b58167
  Author: A. Jiang <de34 at live.cn>
  Date:   2025-01-19 (Sun, 19 Jan 2025)

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

  Log Message:
  -----------
  [libc++][Docs] Mark P1353R0 as complete (#123020)

Library feature-test macros added by P1353R0 are already implemented.
- `__cpp_lib_destroying_delete` was added by
ae02e8944807c7b611ca3645a983c62d464f27a4
(https://reviews.llvm.org/D55840) in LLVM 9.
- `__cpp_lib_three_way_comparison` was added by #91515 in LLVM 19.


  Commit: 0ab1f5772cbe6855d55bade566d885b7504c32ee
      https://github.com/llvm/llvm-project/commit/0ab1f5772cbe6855d55bade566d885b7504c32ee
  Author: Timm Baeder <tbaeder at redhat.com>
  Date:   2025-01-19 (Sun, 19 Jan 2025)

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

  Log Message:
  -----------
  [clang][bytecode] Register decomposition holding vars (#123515)


  Commit: 293dbea8b0169525d93a4ee4b7d6c53aa9d4bee0
      https://github.com/llvm/llvm-project/commit/293dbea8b0169525d93a4ee4b7d6c53aa9d4bee0
  Author: DeNiCoN <denicon1234 at gmail.com>
  Date:   2025-01-19 (Sun, 19 Jan 2025)

  Changed paths:
    M clang-tools-extra/docs/clang-tidy/Contributing.rst
    M clang/docs/ClangTransformerTutorial.rst
    M llvm/docs/DeveloperPolicy.rst
    M llvm/docs/GitHub.rst
    M llvm/docs/MyFirstTypoFix.rst

  Log Message:
  -----------
  Fix some typos (#123506)

Fixes some typos in the documentation


  Commit: 471cec3b247645405ae430457f7a016ab57170a8
      https://github.com/llvm/llvm-project/commit/471cec3b247645405ae430457f7a016ab57170a8
  Author: Aiden Grossman <aidengrossman at google.com>
  Date:   2025-01-19 (Sun, 19 Jan 2025)

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

  Log Message:
  -----------
  [Github] Bump Windows Actions Runner to v2.321.0 (#123508)

The current container is on an old version that can no longer recieve
messages from Github, which causes the runner to just be recreated every
couple seconds rather than performing any useful work.


  Commit: f7ebb138c298fdf4a972083f3d794fab1e1d83ef
      https://github.com/llvm/llvm-project/commit/f7ebb138c298fdf4a972083f3d794fab1e1d83ef
  Author: David Green <david.green at arm.com>
  Date:   2025-01-19 (Sun, 19 Jan 2025)

  Changed paths:
    A llvm/test/CodeGen/AArch64/fsh.ll

  Log Message:
  -----------
  [AArch64] Add more funnel shift test coverage. NFC


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

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

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

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

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

Literal migration would result in dyn_cast_if_present (see the
definition of PointerUnion::dyn_cast), but this patch uses dyn_cast
because we expect Init to be nonnull.  Note that hasInit returns true
only if Init is nonnull among other conditions.


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

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

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


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

  Changed paths:
    M llvm/lib/Transforms/Coroutines/MaterializationUtils.cpp

  Log Message:
  -----------
  [Coroutines] Avoid repeated hash looksup (NFC) (#123501)


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

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

  Log Message:
  -----------
  [MC] Avoid repeated hash lookups (NFC) (#123502)


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

  Changed paths:
    M llvm/lib/Support/VirtualFileSystem.cpp

  Log Message:
  -----------
  [Support] Avoid repeated hash lookups (NFC) (#123503)


  Commit: 8d90473c3e8f25d7bf1f27275c2354161e47cb0c
      https://github.com/llvm/llvm-project/commit/8d90473c3e8f25d7bf1f27275c2354161e47cb0c
  Author: Florian Hahn <flo at fhahn.com>
  Date:   2025-01-19 (Sun, 19 Jan 2025)

  Changed paths:
    A llvm/test/Transforms/LoopVectorize/vector-loop-backedge-elimination-outside-iv-users.ll

  Log Message:
  -----------
  [LV] Add tests with outisde IV users where vector region can e removed.

Tests for crash caused by initial version of
https://github.com/llvm/llvm-project/pull/112147.


  Commit: 2c87133c6212d4bd02b5e64adbb51f4e66bc2351
      https://github.com/llvm/llvm-project/commit/2c87133c6212d4bd02b5e64adbb51f4e66bc2351
  Author: Florian Hahn <flo at fhahn.com>
  Date:   2025-01-19 (Sun, 19 Jan 2025)

  Changed paths:
    M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
    M llvm/lib/Transforms/Vectorize/VPlan.h
    M llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
    M llvm/lib/Transforms/Vectorize/VPlanTransforms.h
    M llvm/lib/Transforms/Vectorize/VPlanUtils.h
    M llvm/test/Transforms/LoopVectorize/RISCV/riscv-vector-reverse.ll
    M llvm/test/Transforms/LoopVectorize/X86/multi-exit-cost.ll
    M llvm/test/Transforms/LoopVectorize/iv_outside_user.ll
    M llvm/test/Transforms/LoopVectorize/single_early_exit_live_outs.ll
    M llvm/test/Transforms/LoopVectorize/unused-blend-mask-for-first-operand.ll

  Log Message:
  -----------
  Reapply "[VPlan] Update final IV exit value via VPlan. (#112147)"

This reverts the revert commit 58326f1d5b5b379590af92dd129b2f3b3e96af46.

The build failure in sanitizer stage2 builds has been fixed with
0d39fe6f5bb3edf0bddec09a8c6417377390aeac.

Original commit message:
Model updating IV users directly in VPlan, replace fixupIVUsers.

Now simple extracts are created for all phis in the exit block during
initial VPlan construction. A later VPlan transform
(optimizeInductionExitUsers) replaces extracts of inductions with
their pre-computed values if possible.

This completes the transition towards modeling all live-outs directly in
VPlan.

There are a few follow-ups:
* emit extracts initially also for resume phis, and optimize them
   tougher with IV exit users
* support for VPlans with multiple exits in optimizeInductionExitUsers.

Depends on https://github.com/llvm/llvm-project/pull/110004,
https://github.com/llvm/llvm-project/pull/109975 and
https://github.com/llvm/llvm-project/pull/112145.


  Commit: 04034f0549d4313c556c857f1e60e70ce87d8076
      https://github.com/llvm/llvm-project/commit/04034f0549d4313c556c857f1e60e70ce87d8076
  Author: Michał Górny <mgorny at gentoo.org>
  Date:   2025-01-19 (Sun, 19 Jan 2025)

  Changed paths:
    M flang/unittests/Optimizer/CMakeLists.txt

  Log Message:
  -----------
  [flang] [unittests] Link to libMLIR in optimizer tests (#123476)

Handle the one unittest executable that I've missed in #120966.


  Commit: 69d3ba3db922fca8cfc47b5f115b6bea6a737aab
      https://github.com/llvm/llvm-project/commit/69d3ba3db922fca8cfc47b5f115b6bea6a737aab
  Author: Théo Degioanni <theo.degioanni.llvm.deluge062 at simplelogin.fr>
  Date:   2025-01-19 (Sun, 19 Jan 2025)

  Changed paths:
    M mlir/include/mlir/Dialect/IRDL/IR/IRDLOps.td
    M mlir/lib/Dialect/IRDL/IR/IRDL.cpp
    M mlir/test/CAPI/irdl.c
    M mlir/test/Dialect/IRDL/cmath.irdl.mlir
    M mlir/test/Dialect/IRDL/cpred.irdl.mlir
    M mlir/test/Dialect/IRDL/cyclic-types.irdl.mlir
    M mlir/test/Dialect/IRDL/invalid.irdl.mlir
    M mlir/test/Dialect/IRDL/regions-ops.irdl.mlir
    M mlir/test/Dialect/IRDL/test-type.irdl.mlir
    M mlir/test/Dialect/IRDL/testd.irdl.mlir
    M mlir/test/Dialect/IRDL/variadics-error.irdl.mlir
    M mlir/test/Dialect/IRDL/variadics.irdl.mlir
    M mlir/test/Dialect/Transform/irdl.mlir
    M mlir/test/tblgen-to-irdl/CMathDialect.td
    M mlir/test/tblgen-to-irdl/TestDialect.td
    M mlir/tools/tblgen-to-irdl/OpDefinitionsGen.cpp

  Log Message:
  -----------
  [mlir][irdl] Introduce names in IRDL value lists (#123525)

In order to meaningfully generate getters and setters from IRDL, it
makes sense to embed the names of operands, results, etc. in the IR
definition. This PR introduces this feature. Names are constrained
similarly to TableGen names.


  Commit: b7eee2c3fe953df5f5aa1f543759d9a1e54d5ef7
      https://github.com/llvm/llvm-project/commit/b7eee2c3fe953df5f5aa1f543759d9a1e54d5ef7
  Author: Craig Topper <craig.topper at sifive.com>
  Date:   2025-01-19 (Sun, 19 Jan 2025)

  Changed paths:
    M llvm/include/llvm/CodeGen/CallingConvLower.h
    M llvm/include/llvm/CodeGen/LivePhysRegs.h
    M llvm/include/llvm/CodeGen/MachineOperand.h
    M llvm/include/llvm/CodeGen/MachineRegisterInfo.h
    M llvm/include/llvm/CodeGen/Register.h
    M llvm/lib/CodeGen/AggressiveAntiDepBreaker.cpp
    M llvm/lib/CodeGen/CallingConvLower.cpp
    M llvm/lib/CodeGen/CriticalAntiDepBreaker.cpp
    M llvm/lib/CodeGen/ExecutionDomainFix.cpp
    M llvm/lib/CodeGen/InterferenceCache.cpp
    M llvm/lib/CodeGen/LiveDebugValues/InstrRefBasedImpl.cpp
    M llvm/lib/CodeGen/LiveDebugValues/VarLocBasedImpl.cpp
    M llvm/lib/CodeGen/LiveRegMatrix.cpp
    M llvm/lib/CodeGen/MachineRegisterInfo.cpp
    M llvm/lib/CodeGen/PrologEpilogInserter.cpp
    M llvm/lib/CodeGen/RDFLiveness.cpp
    M llvm/lib/CodeGen/RegAllocGreedy.cpp
    M llvm/lib/CodeGen/RegUsageInfoCollector.cpp
    M llvm/lib/CodeGen/RegisterClassInfo.cpp

  Log Message:
  -----------
  [CodeGen] Remove some implict conversions of MCRegister to unsigned by using(). NFC

Many of these are indexing BitVectors or something where we can't
using MCRegister and need the register number.


  Commit: c46df8538034d706d4e5927314950f2a1b79e771
      https://github.com/llvm/llvm-project/commit/c46df8538034d706d4e5927314950f2a1b79e771
  Author: Michal Paszkowski <michal at michalpaszkowski.com>
  Date:   2025-01-20 (Mon, 20 Jan 2025)

  Changed paths:
    M .github/workflows/spirv-tests.yml
    M llvm/CMakeLists.txt
    M llvm/Maintainers.md
    M llvm/docs/ReleaseNotes.md

  Log Message:
  -----------
  [SPIR-V] Add SPIRV to LLVM_ALL_TARGETS (#119653)

This commit promotes the SPIR-V backend from experimental to official
status. As a result, SPIR-V will be built by default, simplifying
integration and increasing accessibility for downstream projects.

Discussion and RFC on Discourse:
https://discourse.llvm.org/t/rfc-promoting-spir-v-to-an-official-target/83614


  Commit: de586937648d360d8c4741cd34f633ea92316874
      https://github.com/llvm/llvm-project/commit/de586937648d360d8c4741cd34f633ea92316874
  Author: Lang Hames <lhames at gmail.com>
  Date:   2025-01-20 (Mon, 20 Jan 2025)

  Changed paths:
    M llvm/lib/ExecutionEngine/Orc/MachOPlatform.cpp

  Log Message:
  -----------
  [ORC][MachO] Add a TODO comment.


  Commit: 630139460ea7fe8c4b6e6ea2973830117a8048ee
      https://github.com/llvm/llvm-project/commit/630139460ea7fe8c4b6e6ea2973830117a8048ee
  Author: Lang Hames <lhames at gmail.com>
  Date:   2025-01-20 (Mon, 20 Jan 2025)

  Changed paths:
    M llvm/lib/ExecutionEngine/Orc/Debugging/DebuggerSupportPlugin.cpp

  Log Message:
  -----------
  [ORC] Use BinaryFormat to convert Triple to MachO cputype / cpusubtype values.


  Commit: 5af79053023b58e1f7bf173d6cc91a654554a267
      https://github.com/llvm/llvm-project/commit/5af79053023b58e1f7bf173d6cc91a654554a267
  Author: Michal Paszkowski <michal at michalpaszkowski.com>
  Date:   2025-01-20 (Mon, 20 Jan 2025)

  Changed paths:
    M .github/workflows/spirv-tests.yml
    M llvm/CMakeLists.txt
    M llvm/Maintainers.md
    M llvm/docs/ReleaseNotes.md

  Log Message:
  -----------
  Revert "[SPIR-V] Add SPIRV to LLVM_ALL_TARGETS" (#123532)

Reverts llvm/llvm-project#119653


  Commit: dd42651295d0e1566b34104b007ad19865c57fcc
      https://github.com/llvm/llvm-project/commit/dd42651295d0e1566b34104b007ad19865c57fcc
  Author: Lang Hames <lhames at gmail.com>
  Date:   2025-01-20 (Mon, 20 Jan 2025)

  Changed paths:
    M llvm/lib/ExecutionEngine/Orc/Debugging/CMakeLists.txt

  Log Message:
  -----------
  [ORC] Add BinaryFormat dependence to the LLVMOrcDebugging library.

This is needed as of 630139460ea7 for MachO::getCPUType and
MachO::getCPUSubType.


  Commit: 814b34f31e163e76b816194004689985f5b9fd7b
      https://github.com/llvm/llvm-project/commit/814b34f31e163e76b816194004689985f5b9fd7b
  Author: Patryk Wychowaniec <pwychowaniec at pm.me>
  Date:   2025-01-20 (Mon, 20 Jan 2025)

  Changed paths:
    M llvm/include/llvm/MC/MCAsmBackend.h
    M llvm/lib/MC/MCAssembler.cpp
    M llvm/lib/Target/AArch64/MCTargetDesc/AArch64AsmBackend.cpp
    M llvm/lib/Target/AMDGPU/MCTargetDesc/AMDGPUAsmBackend.cpp
    M llvm/lib/Target/ARM/MCTargetDesc/ARMAsmBackend.cpp
    M llvm/lib/Target/ARM/MCTargetDesc/ARMAsmBackend.h
    M llvm/lib/Target/AVR/MCTargetDesc/AVRAsmBackend.cpp
    M llvm/lib/Target/AVR/MCTargetDesc/AVRAsmBackend.h
    M llvm/lib/Target/CSKY/MCTargetDesc/CSKYAsmBackend.cpp
    M llvm/lib/Target/CSKY/MCTargetDesc/CSKYAsmBackend.h
    M llvm/lib/Target/Hexagon/MCTargetDesc/HexagonAsmBackend.cpp
    M llvm/lib/Target/LoongArch/MCTargetDesc/LoongArchAsmBackend.cpp
    M llvm/lib/Target/LoongArch/MCTargetDesc/LoongArchAsmBackend.h
    M llvm/lib/Target/Mips/MCTargetDesc/MipsAsmBackend.cpp
    M llvm/lib/Target/Mips/MCTargetDesc/MipsAsmBackend.h
    M llvm/lib/Target/PowerPC/MCTargetDesc/PPCAsmBackend.cpp
    M llvm/lib/Target/RISCV/MCTargetDesc/RISCVAsmBackend.cpp
    M llvm/lib/Target/RISCV/MCTargetDesc/RISCVAsmBackend.h
    M llvm/lib/Target/Sparc/MCTargetDesc/SparcAsmBackend.cpp
    M llvm/lib/Target/SystemZ/MCTargetDesc/SystemZMCAsmBackend.cpp
    M llvm/lib/Target/VE/MCTargetDesc/VEAsmBackend.cpp
    M llvm/lib/Target/X86/MCTargetDesc/X86AsmBackend.cpp
    M llvm/test/CodeGen/AVR/branch-relaxation-long-backward.ll
    M llvm/test/CodeGen/AVR/branch-relaxation-long-forward.ll

  Log Message:
  -----------
  [AVR] Force relocations for non-encodable jumps (#121498)

This commit changes the branch emission logic so that instead of
throwing the "branch target out of range" error, we emit a relocation
instead.


  Commit: 0288d065eecb1208971dc4cdcc71731e34c6fca0
      https://github.com/llvm/llvm-project/commit/0288d065eecb1208971dc4cdcc71731e34c6fca0
  Author: ZhaoQi <zhaoqi01 at loongson.cn>
  Date:   2025-01-20 (Mon, 20 Jan 2025)

  Changed paths:
    M llvm/lib/Target/LoongArch/LoongArchExpandPseudoInsts.cpp
    M llvm/lib/Target/LoongArch/LoongArchInstrInfo.cpp
    M llvm/lib/Target/LoongArch/LoongArchInstrInfo.h
    M llvm/lib/Target/LoongArch/LoongArchMCInstLower.cpp
    M llvm/lib/Target/LoongArch/LoongArchMergeBaseOffset.cpp
    M llvm/lib/Target/LoongArch/LoongArchTargetMachine.cpp
    M llvm/lib/Target/LoongArch/MCTargetDesc/LoongArchBaseInfo.h
    M llvm/lib/Target/LoongArch/MCTargetDesc/LoongArchMCCodeEmitter.cpp
    A llvm/test/CodeGen/LoongArch/linker-relaxation.ll
    A llvm/test/CodeGen/LoongArch/mir-relax-flags.ll
    M llvm/test/CodeGen/LoongArch/mir-target-flags.ll

  Log Message:
  -----------
  [LoongArch] Avoid scheduling relaxable code sequence and attach relax relocs (#121330)

If linker relaxation enabled, relaxable code sequence expanded from
pseudos should avoid being separated by instruction scheduling. This
commit tags scheduling boundary for them to avoid being scheduled.
(Except for `tls_le/tls_ie` and `call36/tail36`. Because `tls_le/tls_ie`
can be scheduled and have no influence to relax, `call36/tail36` are
expanded later in `LoongArchExpandPseudo` pass.)

A new mask target-flag is added to attach relax relocs to the relaxable
code sequence. (No need to add it for `tls_le` and `call36/tail36`
because we can simply add relax relocs for them according to their
relocs. But for other code sequence, such as `PCALA_{HI20/LO12}`, we
must use the mask flag, mainly because relax should not be added when
code model is large.)

Because of the new mask target-flag, get "direct" flags is necessary
when using their target-flags. In addition, code sequence after being
optimized by `MergeBaseOffset` pass may not relaxable any more, so the
relax "bitmask" flag should be removed.


  Commit: b08b56381cb4c24f37afba793dc872b6d721d9f7
      https://github.com/llvm/llvm-project/commit/b08b56381cb4c24f37afba793dc872b6d721d9f7
  Author: Alex Voicu <alexandru.voicu at amd.com>
  Date:   2025-01-20 (Mon, 20 Jan 2025)

  Changed paths:
    M clang/test/CodeGenCXX/dynamic-cast-address-space.cpp
    M llvm/lib/TargetParser/TargetParser.cpp

  Log Message:
  -----------
  [NFC][AMDGPU] Clean-up feature parsing for AMDGCNSPIRV. (#123519)

When we did the initial AMDGCNSPIRV commits we left the initialisation
of the feature map in a relatively disorderly state. This change
corrects that oversight:

- We make sure that AMDGCNSPIRV actually advertises the union of all
AMDGCN features, as some were not included;
- We keep feature initialisation in sorted order to make it easy to pick
an insertion point when features are added in the future.


  Commit: ad599c25d91c668391bfae71d813164c4b412d76
      https://github.com/llvm/llvm-project/commit/ad599c25d91c668391bfae71d813164c4b412d76
  Author: Alexey Moksyakov <yavtuk at yandex.ru>
  Date:   2025-01-20 (Mon, 20 Jan 2025)

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

  Log Message:
  -----------
  [BOLT][AArch64] Add isPush & isPop (#120713)

This functionality is needed for inliner pass and also for correct dyno
stats.

Needed for [PR](https://github.com/llvm/llvm-project/pull/120187)


  Commit: 7bf8190a36e73456d1b79ee6621c0fe10a67baba
      https://github.com/llvm/llvm-project/commit/7bf8190a36e73456d1b79ee6621c0fe10a67baba
  Author: Lang Hames <lhames at gmail.com>
  Date:   2025-01-20 (Mon, 20 Jan 2025)

  Changed paths:
    M llvm/lib/ExecutionEngine/Orc/LinkGraphLinkingLayer.cpp

  Log Message:
  -----------
  Fix typo in comment


  Commit: 6d12b954a7df11e32acf110950d88bac282079b8
      https://github.com/llvm/llvm-project/commit/6d12b954a7df11e32acf110950d88bac282079b8
  Author: Lang Hames <lhames at gmail.com>
  Date:   2025-01-20 (Mon, 20 Jan 2025)

  Changed paths:
    A llvm/include/llvm/ExecutionEngine/Orc/EHFrameRegistrationPlugin.h
    M llvm/include/llvm/ExecutionEngine/Orc/LinkGraphLinkingLayer.h
    M llvm/lib/ExecutionEngine/Orc/CMakeLists.txt
    A llvm/lib/ExecutionEngine/Orc/EHFrameRegistrationPlugin.cpp
    M llvm/lib/ExecutionEngine/Orc/LLJIT.cpp
    M llvm/lib/ExecutionEngine/Orc/LinkGraphLinkingLayer.cpp
    M llvm/tools/lli/lli.cpp
    M llvm/tools/llvm-jitlink/llvm-jitlink.cpp

  Log Message:
  -----------
  [ORC] Move EHFrameRegistrationPlugin into its own header + source file. NFC.


  Commit: a0345550974b21be862848cf9933868723b9c765
      https://github.com/llvm/llvm-project/commit/a0345550974b21be862848cf9933868723b9c765
  Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
  Date:   2025-01-20 (Mon, 20 Jan 2025)

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

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


  Commit: 4294fe173e9696a4c090857fa0766cd44c1964dc
      https://github.com/llvm/llvm-project/commit/4294fe173e9696a4c090857fa0766cd44c1964dc
  Author: Brad Smith <brad at comstyle.com>
  Date:   2025-01-19 (Sun, 19 Jan 2025)

  Changed paths:
    M clang/lib/Basic/Targets.cpp
    M clang/lib/Basic/Targets/OSTargets.h
    M clang/lib/Driver/ToolChains/FreeBSD.cpp
    M clang/test/Driver/freebsd.c

  Log Message:
  -----------
  [Driver][FreeBSD] Remove FreeBSD/loongarch32 support (#122515)

FreeBSD going forward will not have 32-bit arch support.

Also missed a spot with removing riscv32 support.


  Commit: cd9ca423b7400000b4e0199450283439fcc1bbd9
      https://github.com/llvm/llvm-project/commit/cd9ca423b7400000b4e0199450283439fcc1bbd9
  Author: Hyunsung Lee <hlee at octo.ai>
  Date:   2025-01-20 (Mon, 20 Jan 2025)

  Changed paths:
    M mlir/lib/Transforms/InlinerPass.cpp

  Log Message:
  -----------
  Remove unnecessary return in InlinerPass.cpp (#123507)

`void InlinerPass::runOnOperation()` doesn't need to have `return;` at
the end of the procedure.


  Commit: 295d1c361e7b6a0f4dc1294f23fbb4f4f490d091
      https://github.com/llvm/llvm-project/commit/295d1c361e7b6a0f4dc1294f23fbb4f4f490d091
  Author: Guy David <49722543+guy-david at users.noreply.github.com>
  Date:   2025-01-20 (Mon, 20 Jan 2025)

  Changed paths:
    M llvm/lib/Target/AArch64/AArch64Processors.td

  Log Message:
  -----------
  [AArch64] apple-m4 & apple-a15 have ADRP+ADD fusion (#123504)


  Commit: 84c89d0aa4beff4a4d6c36eda125278c48e41128
      https://github.com/llvm/llvm-project/commit/84c89d0aa4beff4a4d6c36eda125278c48e41128
  Author: Mel Chen <mel.chen at sifive.com>
  Date:   2025-01-20 (Mon, 20 Jan 2025)

  Changed paths:
    M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
    M llvm/test/Transforms/LoopVectorize/RISCV/vectorize-force-tail-with-evl-fixed-order-recurrence.ll

  Log Message:
  -----------
  [LV][EVL] Address post-commit comments for 9720be9. (NFC) (#123311)


  Commit: 3b67383c6cb777e4f37dd1a5af0872843c9ab35a
      https://github.com/llvm/llvm-project/commit/3b67383c6cb777e4f37dd1a5af0872843c9ab35a
  Author: Hervé Poussineau <hpoussin at reactos.org>
  Date:   2025-01-20 (Mon, 20 Jan 2025)

  Changed paths:
    M llvm/lib/MC/WinCOFFObjectWriter.cpp
    M llvm/test/MC/Mips/coff-relocs.ll

  Log Message:
  -----------
  [MC][Mips] Generate required IMAGE_REL_MIPS_PAIR relocation (#120876)

Add the required IMAGE_REL_MIPS_PAIR relocation after
IMAGE_REL_MIPS_REFHI/IMAGE_REL_MIPS_SECRELHI

Microsoft PE/COFF specification says that the IMAGE_REL_MIPS_REFHI
relocation contains "the high 16 bits of the target's 32-bit virtual
address. [...] This relocation must be immediately followed by a PAIR
relocation whose SymbolTableIndex contains a 16-bit displacement which
is added to the upper 16 bits taken from the location being relocated."

Microsoft PE/COFF specification says that the IMAGE_REL_MIPS_SECRELHI
relocation contains "the high 16 bits of the 32-bit offset of the target
from the beginning of its section. A PAIR relocation must immediately
follow this on. The SymbolTableIndex of the PAIR relocation contains a
16-bit displacement, which is added to the upper 16 bits taken from the
location being relocated."

Behavior has been checked against Microsoft C compiler for MIPS.


  Commit: be68f35bf55baf6150180170ec17371f0be90689
      https://github.com/llvm/llvm-project/commit/be68f35bf55baf6150180170ec17371f0be90689
  Author: Hervé Poussineau <hpoussin at reactos.org>
  Date:   2025-01-20 (Mon, 20 Jan 2025)

  Changed paths:
    M llvm/include/llvm/DebugInfo/CodeView/CodeViewRegisters.def
    M llvm/lib/CodeGen/AsmPrinter/CodeViewDebug.cpp
    M llvm/lib/Target/Mips/MCTargetDesc/MipsMCTargetDesc.cpp
    M llvm/lib/Target/Mips/MCTargetDesc/MipsMCTargetDesc.h
    M llvm/lib/Target/Mips/MCTargetDesc/MipsWinCOFFObjectWriter.cpp
    M llvm/lib/Target/Mips/MipsRegisterInfo.cpp
    M llvm/test/MC/Mips/coff-relocs.ll

  Log Message:
  -----------
  [MC][CodeGen][Mips] Add CodeView mapping (#120877)

Also add support for new relocation types required by debug information.

Constants have been taken from CodeView Symbolic Debug Information
Specification.


  Commit: 71d6287f5b1e65466de5fe5c093852fa7903cdbe
      https://github.com/llvm/llvm-project/commit/71d6287f5b1e65466de5fe5c093852fa7903cdbe
  Author: Hervé Poussineau <hpoussin at reactos.org>
  Date:   2025-01-20 (Mon, 20 Jan 2025)

  Changed paths:
    M clang/lib/CodeGen/CodeGenModule.cpp
    M clang/lib/CodeGen/TargetInfo.h
    M clang/lib/CodeGen/Targets/Mips.cpp
    M clang/test/CodeGen/pragma-comment.c

  Log Message:
  -----------
  [Clang][MIPS] Create correct linker arguments for Windows toolchains (#121041)


  Commit: 046b064df0ac9d4530e79f11077a768383b1ca16
      https://github.com/llvm/llvm-project/commit/046b064df0ac9d4530e79f11077a768383b1ca16
  Author: Timm Baeder <tbaeder at redhat.com>
  Date:   2025-01-20 (Mon, 20 Jan 2025)

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

  Log Message:
  -----------
  [clang][bytecode][NFC] Use FixedPoint opaque int API (#123522)

Now that we have it, use it.


  Commit: 5c6db8c9e0c488585e642e0c17582ba3aaab7518
      https://github.com/llvm/llvm-project/commit/5c6db8c9e0c488585e642e0c17582ba3aaab7518
  Author: Matthias Gehre <matthias.gehre at amd.com>
  Date:   2025-01-20 (Mon, 20 Jan 2025)

  Changed paths:
    M mlir/lib/Conversion/TosaToLinalg/TosaToLinalg.cpp
    M mlir/test/Conversion/TosaToLinalg/tosa-to-linalg.mlir

  Log Message:
  -----------
  [MLIR] TosaToLinalg: Prefer to emit identity maps (#123295)

When deciding whether to emit a map like
`#map = affine_map<(d0, d1, d2, d3) -> (0, d1, d2, d3)>` or `#map =
affine_map<(d0, d1, d2, d3) -> (d0, d1, d2, d3)>` for an operand of a
`linalg.generic` when lowering element-wise TOSA ops, prefer the latter
unless broadcasting of the operand is really needed.

This helps later transformations which often require the affine map to
be a projected permuatation.


  Commit: 02909a4046fbfffbe4332f796ea2089854c12bab
      https://github.com/llvm/llvm-project/commit/02909a4046fbfffbe4332f796ea2089854c12bab
  Author: David CARLIER <devnexen at gmail.com>
  Date:   2025-01-20 (Mon, 20 Jan 2025)

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

  Log Message:
  -----------
  [compiler-rt] rtsan pipe2 interception for Linux. (#123517)

completing fpurge interception for mac too.


  Commit: 6972788bf3d330b7a6136e2ddd840782882b8dd0
      https://github.com/llvm/llvm-project/commit/6972788bf3d330b7a6136e2ddd840782882b8dd0
  Author: Timm Baeder <tbaeder at redhat.com>
  Date:   2025-01-20 (Mon, 20 Jan 2025)

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

  Log Message:
  -----------
  [clang][bytecode] Fix discarding DerivedToBase casts (#123523)


  Commit: 84220eccb6ce5413f9782590b3877bd689c9b43c
      https://github.com/llvm/llvm-project/commit/84220eccb6ce5413f9782590b3877bd689c9b43c
  Author: ZhaoQi <zhaoqi01 at loongson.cn>
  Date:   2025-01-20 (Mon, 20 Jan 2025)

  Changed paths:
    M llvm/lib/Target/LoongArch/LoongArchISelDAGToDAG.cpp
    M llvm/lib/Target/LoongArch/LoongArchISelDAGToDAG.h
    M llvm/lib/Target/LoongArch/LoongArchISelLowering.cpp
    M llvm/lib/Target/LoongArch/LoongArchInstrInfo.td
    A llvm/test/CodeGen/LoongArch/preld.ll

  Log Message:
  -----------
  [LoongArch] Add generation support for `preld` instruction (#118436)

Instruction `preld` is used to prefetch one cache-line of data from
memory in advance into the cache.

This commit allows it to be generated automatically.


  Commit: 18d5d84d761d9f6c12dcfd3d23a965203cd5f886
      https://github.com/llvm/llvm-project/commit/18d5d84d761d9f6c12dcfd3d23a965203cd5f886
  Author: David CARLIER <devnexen at gmail.com>
  Date:   2025-01-20 (Mon, 20 Jan 2025)

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

  Log Message:
  -----------
  [compiler-rt][rtsan] intercept getpeername/recvmmsg/sendmmsg (#123484)


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

  Changed paths:
    M llvm/lib/Target/LoongArch/LoongArchTargetTransformInfo.cpp
    M llvm/lib/Target/LoongArch/LoongArchTargetTransformInfo.h
    M llvm/test/Transforms/LoopDataPrefetch/LoongArch/basic.ll

  Log Message:
  -----------
  [LoongArch] Impl TTI hooks for LoongArch to support LoopDataPrefetch pass (#118437)

Inspired by https://reviews.llvm.org/D146600, this commit adds
some TTI hooks for LoongArch to make LoopDataPrefetch pass
really work. Including:

- `getCacheLineSize()`: 64 for loongarch64.
- `getPrefetchDistance()`: After testing SPEC CPU 2017, improvements
taken by prefetching are more obvious when set PrefetchDistance to
200(results shown blow), although different benchmarks fit for different
best choice.
- `enableWritePrefetching()`: store prefetch is supported by LoongArch,
so set WritePrefetching to true in default.
- `getMinPrefetchStride()` and `getMaxPrefetchIterationsAhead()` still
use default values: 1 and UINT_MAX, so not override them.

After this commit, the test added by https://reviews.llvm.org/D146600
can generate llvm.prefetch intrinsic IR correctly.

Results of spec2017rate benchmarks (testing date: ref, copies: 1):
- For all C/C++ benchmarks, compared to O3+novec/lsx/lasx, prefetch can
bring about -1.58%/0.31%/0.07% performance improvement for int
benchmarks and 3.26%/3.73%/3.78% improvement for floating point
benchmarks. (Only O3+novec+prefetch decreases when testing intrate.)
- But prefetch results in performance reduction almost for every Fortran
benchmark compiled by flang. While considering all C/C++/Fortran
benchmarks, prefetch performance will decrease about 1% ~ 5%.

FIXME: Keep `loongarch-enable-loop-data-prefetch` option default to
false for now due to the bad effect for Fortran.


  Commit: a6bb8a707c4fb7c0953cfd8ae6c5aeb4f3a1feb8
      https://github.com/llvm/llvm-project/commit/a6bb8a707c4fb7c0953cfd8ae6c5aeb4f3a1feb8
  Author: Nikita Popov <npopov at redhat.com>
  Date:   2025-01-20 (Mon, 20 Jan 2025)

  Changed paths:
    M mlir/include/mlir/Target/SPIRV/Serialization.h

  Log Message:
  -----------
  [MLIR] Add missing include (NFC)

Needed for libstdc++ 15 compatibility.


  Commit: 7a77f14c0abfbecbfb800ea8d974e66d81ee516a
      https://github.com/llvm/llvm-project/commit/7a77f14c0abfbecbfb800ea8d974e66d81ee516a
  Author: Matthias Springer <me at m-sp.org>
  Date:   2025-01-20 (Mon, 20 Jan 2025)

  Changed paths:
    M mlir/include/mlir/IR/CommonTypeConstraints.td
    M mlir/include/mlir/IR/Types.h
    M mlir/lib/CAPI/IR/BuiltinTypes.cpp
    M mlir/lib/Conversion/AMDGPUToROCDL/AMDGPUToROCDL.cpp
    M mlir/lib/Conversion/ArithToAMDGPU/ArithToAMDGPU.cpp
    M mlir/lib/Conversion/LLVMCommon/TypeConverter.cpp
    M mlir/lib/Conversion/NVGPUToNVVM/NVGPUToNVVM.cpp
    M mlir/lib/Dialect/AMDGPU/IR/AMDGPUDialect.cpp
    M mlir/lib/Dialect/NVGPU/IR/NVGPUDialect.cpp
    M mlir/lib/Dialect/Tosa/IR/TosaOps.cpp
    M mlir/lib/IR/Types.cpp

  Log Message:
  -----------
  [mlir][IR] Remove `isF...()` type API for low-precision FP types (#123326)

Remove `type.isFloat4E2M1FN()` etc. Use `isa<Float4E2M1FNType>(type)`
instead.

For details, see:
https://discourse.llvm.org/t/rethink-on-approach-to-low-precision-fp-types/82361/28


  Commit: c0055ec434cbb132d7776f8b4c39e99b69fa97ea
      https://github.com/llvm/llvm-project/commit/c0055ec434cbb132d7776f8b4c39e99b69fa97ea
  Author: Tomer Solomon <tomsol2009 at gmail.com>
  Date:   2025-01-20 (Mon, 20 Jan 2025)

  Changed paths:
    A mlir/include/mlir/Conversion/MathToEmitC/MathToEmitC.h
    A mlir/include/mlir/Conversion/MathToEmitC/MathToEmitCPass.h
    M mlir/include/mlir/Conversion/Passes.h
    M mlir/include/mlir/Conversion/Passes.td
    M mlir/lib/Conversion/CMakeLists.txt
    A mlir/lib/Conversion/MathToEmitC/CMakeLists.txt
    A mlir/lib/Conversion/MathToEmitC/MathToEmitC.cpp
    A mlir/lib/Conversion/MathToEmitC/MathToEmitCPass.cpp
    A mlir/test/Conversion/MathToEmitC/math-to-emitc-failed.mlir
    A mlir/test/Conversion/MathToEmitC/math-to-emitc.mlir
    M utils/bazel/llvm-project-overlay/mlir/BUILD.bazel

  Log Message:
  -----------
  [mlir][EmitC] Add MathToEmitC pass for math function lowering to EmitC (#113799)

This commit introduces a new MathToEmitC conversion pass that lowers
selected math operations from the Math dialect to the emitc.call_opaque
operation in the EmitC dialect.

**Supported Math Operations:**
The following operations are converted:

- math.floor -> emitc.call_opaque<"floor">
- math.round -> emitc.call_opaque<"round">
- math.exp -> emitc.call_opaque<"exp">
- math.cos -> emitc.call_opaque<"cos">
- math.sin -> emitc.call_opaque<"sin">
- math.acos -> emitc.call_opaque<"acos">
- math.asin -> emitc.call_opaque<"asin">
- math.atan2 -> emitc.call_opaque<"atan2">
- math.ceil -> emitc.call_opaque<"ceil">
- math.absf -> emitc.call_opaque<"fabs">
- math.powf -> emitc.call_opaque<"pow">

**Target Language Standards:**
The pass supports targeting different language standards:

- C99: Generates calls with suffixes (e.g., floorf, fabsf) for
single-precision floats.
- CPP11: Prepends std:: to functions (e.g., std::floor, std::fabs).

**Design Decisions:**
The pass uses emitc.call_opaque instead of emitc.call to better emulate
C-style function overloading.
emitc.call_opaque does not require a unique type signature, making it
more suitable for operations like <math.h> functions that may be
overloaded for different types.
This design choice ensures compatibility with C/C++ conventions.


  Commit: d0c9e70bcc40948821e83eb0ec32e6e15fb0dd4b
      https://github.com/llvm/llvm-project/commit/d0c9e70bcc40948821e83eb0ec32e6e15fb0dd4b
  Author: Tobias Gysi <tobias.gysi at nextsilicon.com>
  Date:   2025-01-20 (Mon, 20 Jan 2025)

  Changed paths:
    M mlir/lib/Dialect/LLVMIR/Transforms/InlinerInterfaceImpl.cpp
    A mlir/test/Dialect/LLVMIR/inlining-debuginfo.mlir

  Log Message:
  -----------
  [MLIR][LLVM] Improve inlining debug information (#123520)

This commit improves the debug information for `alloca` and `memcpy`
operations generated by the LLVM dialect inlining interface.

When inlining by value parameters, the inliner creates `alloca` and
`memcpy` operations. This revision sets the location of these created
operations to the respective argument locations instead of the function
location. This change enables users to better identify the source code
location of the copied variables.


  Commit: 333562e7ec0393ba0110100ac7bea9bcf7150d03
      https://github.com/llvm/llvm-project/commit/333562e7ec0393ba0110100ac7bea9bcf7150d03
  Author: ZhaoQi <zhaoqi01 at loongson.cn>
  Date:   2025-01-20 (Mon, 20 Jan 2025)

  Changed paths:
    M llvm/lib/Target/LoongArch/LoongArchISelLowering.cpp

  Log Message:
  -----------
  [LoongArch] Avoid compilation warning. NFC (#123553)

Avoid `warning: enumerated mismatch in conditional expression:
'llvm::LoongArchISD::NodeType' vs 'llvm::ISD::NodeType'` while compiling
`LoongArchISelLowering.cpp`.


  Commit: 754ed95b6672b9a678a994cc652862a91cdc4406
      https://github.com/llvm/llvm-project/commit/754ed95b6672b9a678a994cc652862a91cdc4406
  Author: yingopq <115543042+yingopq at users.noreply.github.com>
  Date:   2025-01-20 (Mon, 20 Jan 2025)

  Changed paths:
    M llvm/include/llvm/CodeGen/TargetLowering.h
    M llvm/lib/CodeGen/SelectionDAG/FastISel.cpp
    M llvm/lib/CodeGen/SelectionDAG/FunctionLoweringInfo.cpp
    M llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp
    M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
    M llvm/lib/Target/AArch64/AArch64ISelLowering.h
    M llvm/lib/Target/AMDGPU/SIISelLowering.cpp
    M llvm/lib/Target/AMDGPU/SIISelLowering.h
    M llvm/lib/Target/ARC/ARCISelLowering.cpp
    M llvm/lib/Target/ARC/ARCISelLowering.h
    M llvm/lib/Target/ARM/ARMISelLowering.cpp
    M llvm/lib/Target/ARM/ARMISelLowering.h
    M llvm/lib/Target/AVR/AVRISelLowering.cpp
    M llvm/lib/Target/AVR/AVRISelLowering.h
    M llvm/lib/Target/CSKY/CSKYISelLowering.cpp
    M llvm/lib/Target/CSKY/CSKYISelLowering.h
    M llvm/lib/Target/Hexagon/HexagonISelLowering.cpp
    M llvm/lib/Target/Hexagon/HexagonISelLowering.h
    M llvm/lib/Target/Lanai/LanaiISelLowering.cpp
    M llvm/lib/Target/Lanai/LanaiISelLowering.h
    M llvm/lib/Target/LoongArch/LoongArchISelLowering.cpp
    M llvm/lib/Target/LoongArch/LoongArchISelLowering.h
    M llvm/lib/Target/M68k/M68kISelLowering.cpp
    M llvm/lib/Target/M68k/M68kISelLowering.h
    M llvm/lib/Target/MSP430/MSP430ISelLowering.cpp
    M llvm/lib/Target/MSP430/MSP430ISelLowering.h
    M llvm/lib/Target/Mips/MipsCCState.cpp
    M llvm/lib/Target/Mips/MipsCCState.h
    M llvm/lib/Target/Mips/MipsISelLowering.cpp
    M llvm/lib/Target/Mips/MipsISelLowering.h
    M llvm/lib/Target/PowerPC/PPCISelLowering.cpp
    M llvm/lib/Target/PowerPC/PPCISelLowering.h
    M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
    M llvm/lib/Target/RISCV/RISCVISelLowering.h
    M llvm/lib/Target/Sparc/SparcISelLowering.cpp
    M llvm/lib/Target/Sparc/SparcISelLowering.h
    M llvm/lib/Target/SystemZ/SystemZISelLowering.cpp
    M llvm/lib/Target/SystemZ/SystemZISelLowering.h
    M llvm/lib/Target/VE/VEISelLowering.cpp
    M llvm/lib/Target/VE/VEISelLowering.h
    M llvm/lib/Target/WebAssembly/WebAssemblyISelLowering.cpp
    M llvm/lib/Target/WebAssembly/WebAssemblyISelLowering.h
    M llvm/lib/Target/X86/X86ISelLowering.h
    M llvm/lib/Target/X86/X86ISelLoweringCall.cpp
    M llvm/lib/Target/XCore/XCoreISelLowering.cpp
    M llvm/lib/Target/XCore/XCoreISelLowering.h
    M llvm/lib/Target/Xtensa/XtensaISelLowering.cpp
    M llvm/lib/Target/Xtensa/XtensaISelLowering.h
    M llvm/test/CodeGen/Mips/mips64-f128.ll

  Log Message:
  -----------
  [Mips] Fix compiler crash when returning fp128 after calling a functi… (#117525)

…on returning { i8, i128 }

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


  Commit: 0b1ae8963eb4accf8e85b73b834c84c1a73346ba
      https://github.com/llvm/llvm-project/commit/0b1ae8963eb4accf8e85b73b834c84c1a73346ba
  Author: Nikita Popov <npopov at redhat.com>
  Date:   2025-01-20 (Mon, 20 Jan 2025)

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

  Log Message:
  -----------
  [AutoUpgrade] Avoid unnecessary pointer bitcasts (NFCI)

Not needed with opaque pointers.


  Commit: 6f0a627dd3c21209ea45f355ecedd15d739418a1
      https://github.com/llvm/llvm-project/commit/6f0a627dd3c21209ea45f355ecedd15d739418a1
  Author: Younan Zhang <zyn7109 at gmail.com>
  Date:   2025-01-20 (Mon, 20 Jan 2025)

  Changed paths:
    M clang/docs/ReleaseNotes.rst
    M clang/lib/Sema/TreeTransform.h
    M clang/test/SemaCXX/fold_lambda_with_variadics.cpp

  Log Message:
  -----------
  [Clang] Correctly propagate type aliases' unexpanded flags up to lambda (#122875)

We should have been checking desugar() for the type of the right-hand
side of a typedef declaration, instead of using getCanonicalType(),
which points to the end of the type alias chain.

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


  Commit: d049db83627d164e4353f59a5f0b4f87dd74b138
      https://github.com/llvm/llvm-project/commit/d049db83627d164e4353f59a5f0b4f87dd74b138
  Author: Arseniy Zaostrovnykh <necto.ne at gmail.com>
  Date:   2025-01-20 (Mon, 20 Jan 2025)

  Changed paths:
    M clang/docs/ReleaseNotes.rst
    M clang/lib/Sema/SemaCast.cpp
    M clang/test/SemaCXX/reinterpret-cast.cpp

  Log Message:
  -----------
  [clang] Fix false warning on reinterpret_casting unknown template type (#109430)

After 1595988ee6f9732e7ea79928af8a470ad5ef7dbe
diag::warn_undefined_reinterpret_cast started raising on
non-instantiated template functions without sufficient knowledge whether
the reinterpret_cast is indeed UB.


  Commit: 1297c1125f9c284e0cc0f2bf50d4b7ba519f7309
      https://github.com/llvm/llvm-project/commit/1297c1125f9c284e0cc0f2bf50d4b7ba519f7309
  Author: Christian Sigg <csigg at google.com>
  Date:   2025-01-20 (Mon, 20 Jan 2025)

  Changed paths:
    M mlir/include/mlir/IR/BlockSupport.h
    M mlir/include/mlir/IR/Region.h
    M mlir/include/mlir/IR/TypeRange.h
    M mlir/include/mlir/IR/ValueRange.h

  Log Message:
  -----------
  [mlir] Add `[[lifetimebound]]` to Range classes. (#123091)

This prevents creating range class instances from temporaries.


  Commit: 4b3c17850bd2ca9971084c9945b51b214c1d89a9
      https://github.com/llvm/llvm-project/commit/4b3c17850bd2ca9971084c9945b51b214c1d89a9
  Author: Jan Patrick Lehr <JanPatrick.Lehr at amd.com>
  Date:   2025-01-20 (Mon, 20 Jan 2025)

  Changed paths:
    M offload/cmake/caches/AMDGPUBot.cmake

  Log Message:
  -----------
  [Offload] Enable shared-libs; compiler-rt as default RTLIB (#123568)

This is the next step to move the CMake cache file builder closer to the
build configuration we care about downstream.


  Commit: 1be64c27f1773e7cc87f9a7efdf5bab36c6beaf5
      https://github.com/llvm/llvm-project/commit/1be64c27f1773e7cc87f9a7efdf5bab36c6beaf5
  Author: Timm Baeder <tbaeder at redhat.com>
  Date:   2025-01-20 (Mon, 20 Jan 2025)

  Changed paths:
    M clang/lib/AST/ByteCode/Interp.cpp
    M clang/test/AST/ByteCode/lifetimes.cpp

  Log Message:
  -----------
  [clang][bytecode] Fix diagnostic mismatch with current interpreter (#123571)

Don't report dead pointers if we've checking for a potential constant
expression.


  Commit: 5139c90dfcacfba3d6ddc16ccb377a086abac7aa
      https://github.com/llvm/llvm-project/commit/5139c90dfcacfba3d6ddc16ccb377a086abac7aa
  Author: Nikita Popov <npopov at redhat.com>
  Date:   2025-01-20 (Mon, 20 Jan 2025)

  Changed paths:
    M llvm/lib/AsmParser/LLParser.cpp

  Log Message:
  -----------
  [LLParser] Avoid PointerType::get() with type argument (NFC)

Use the methods accepting LLVMContext instead.


  Commit: 5a7a3242639a17b049d70ee00798957ea21eb182
      https://github.com/llvm/llvm-project/commit/5a7a3242639a17b049d70ee00798957ea21eb182
  Author: Vlad Serebrennikov <serebrennikov.vladislav at gmail.com>
  Date:   2025-01-20 (Mon, 20 Jan 2025)

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

  Log Message:
  -----------
  [clang][NFC] Migrate bit-fields of OverloadCandidate to LLVM_PREFERRED_TYPE


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

  Changed paths:
    M lld/COFF/Chunks.cpp
    M lld/COFF/Chunks.h
    M lld/COFF/Symbols.cpp
    M lld/COFF/Writer.cpp
    M lld/test/COFF/arm64x-entry.test

  Log Message:
  -----------
  [LLD][COFF] Add support for alternate entry point in CHPE metadata on ARM64X (#123346)

Includes handling for ARM64X relocations relative to a symbol.


  Commit: 0f8297ae0b27489048700a1314fff12fe554c999
      https://github.com/llvm/llvm-project/commit/0f8297ae0b27489048700a1314fff12fe554c999
  Author: Benjamin Kramer <benny.kra at googlemail.com>
  Date:   2025-01-20 (Mon, 20 Jan 2025)

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

  Log Message:
  -----------
  [bazel] Fix dependencies for 69d3ba3db922fca8cfc47b5f115b6bea6a737aab


  Commit: 96c4f978d0fd1339262a350e118375ee4bf5fc57
      https://github.com/llvm/llvm-project/commit/96c4f978d0fd1339262a350e118375ee4bf5fc57
  Author: Akshat Oke <Akshat.Oke at amd.com>
  Date:   2025-01-20 (Mon, 20 Jan 2025)

  Changed paths:
    M llvm/lib/Target/AMDGPU/AMDGPU.h
    M llvm/lib/Target/AMDGPU/AMDGPUPassRegistry.def
    M llvm/lib/Target/AMDGPU/AMDGPUTargetMachine.cpp
    M llvm/lib/Target/AMDGPU/AMDGPUTargetMachine.h
    M llvm/lib/Target/AMDGPU/SIOptimizeExecMasking.cpp
    A llvm/lib/Target/AMDGPU/SIOptimizeExecMasking.h
    M llvm/test/CodeGen/AMDGPU/lower-term-opcodes.mir
    M llvm/test/CodeGen/AMDGPU/optimize-exec-copies-extra-insts-after-copy.mir

  Log Message:
  -----------
  [AMDGPU][NewPM] Port SIOptimizeExecMasking to NPM (#123572)


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

  Changed paths:
    M llvm/lib/Target/SPIRV/SPIRVBuiltins.cpp
    M llvm/lib/Target/SPIRV/SPIRVPrepareFunctions.cpp
    M llvm/lib/Target/SPIRV/SPIRVUtils.h

  Log Message:
  -----------
  [SPIR-V] Improve portability of the code (#123584)

Adding SPIRV to LLVM_ALL_TARGETS
(https://github.com/llvm/llvm-project/pull/119653) revealed a series of
minor compilation problems and sanitizer complaints. This PR is to
address the problem.


  Commit: 8b7bfb417a220822ddd8231e58dcd785d8d96aed
      https://github.com/llvm/llvm-project/commit/8b7bfb417a220822ddd8231e58dcd785d8d96aed
  Author: Fraser Cormack <fraser at codeplay.com>
  Date:   2025-01-20 (Mon, 20 Jan 2025)

  Changed paths:
    M libclc/clc/include/clc/common/clc_degrees.h
    M libclc/clc/include/clc/common/clc_radians.h

  Log Message:
  -----------
  [libclc] Rename include guards. NFC.


  Commit: 3ace18d5c08d0bb2c74c77562ee488c9e5049737
      https://github.com/llvm/llvm-project/commit/3ace18d5c08d0bb2c74c77562ee488c9e5049737
  Author: Akshat Oke <Akshat.Oke at amd.com>
  Date:   2025-01-20 (Mon, 20 Jan 2025)

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

  Log Message:
  -----------
  [CodeGen] MachineFunctionSplitter: Add missing initializer (#123564)

This registers the pass with PassRegistry so we can use -start-before
and other options for machine-function-splitter.


  Commit: 4d21096c207847463a0253e0876c95c92e74adc3
      https://github.com/llvm/llvm-project/commit/4d21096c207847463a0253e0876c95c92e74adc3
  Author: Kiran Chandramohan <kiran.chandramohan at arm.com>
  Date:   2025-01-20 (Mon, 20 Jan 2025)

  Changed paths:
    M flang/test/Lower/module_use.f90

  Log Message:
  -----------
  [Flang] Modify module test to run in a sub-directory (#123364)

This is to avoid race conditions with other tests.


  Commit: 2d6d476ffbfc207aae2bf9f12be14483b31d100a
      https://github.com/llvm/llvm-project/commit/2d6d476ffbfc207aae2bf9f12be14483b31d100a
  Author: Nikita Popov <npopov at redhat.com>
  Date:   2025-01-20 (Mon, 20 Jan 2025)

  Changed paths:
    M llvm/cmake/modules/AddLLVM.cmake
    M polly/CMakeLists.txt
    M polly/cmake/polly_macros.cmake

  Log Message:
  -----------
  [Polly][CMake] Fix exports (#122123)

If Polly is built with LLVM_POLLY_LINK_INTO_TOOLS=ON (the default for
monorepo builds), then Polly will become a dependency of the
LLVMExtensions component, which is part of LLVMExports. As such, all the
Polly libraries also have to be part of LLVMExports.

However, if Polly is built with LLVM_POLLY_LINK_INTO_TOOLS=OFF, we also
end up adding Polly libraries to LLVMExports. This is undesirable, as it
adds a hard dependency from llvm on polly.

Fix this by only exporting polly libraries from LLVMExports if
LLVM_POLLY_LINK_INTO_TOOLS is enabled.


  Commit: bd96295e090b62687c2e55f54a918425d035568a
      https://github.com/llvm/llvm-project/commit/bd96295e090b62687c2e55f54a918425d035568a
  Author: Nikita Popov <npopov at redhat.com>
  Date:   2025-01-20 (Mon, 20 Jan 2025)

  Changed paths:
    M clang/test/CodeGen/X86/ms-x86-intrinsics.c
    M clang/test/CodeGen/ms-intrinsics-other.c
    M clang/test/CodeGen/ms-intrinsics.c

  Log Message:
  -----------
  [Clang] Use more liberal pointer attribute wildcard in ms-intrinsics tests (NFC)

Allow arbitrary attributes, including those with arguments.


  Commit: a4d9a8de0820f3ccc2eb35870cac199e8dacd9e6
      https://github.com/llvm/llvm-project/commit/a4d9a8de0820f3ccc2eb35870cac199e8dacd9e6
  Author: Nikita Popov <npopov at redhat.com>
  Date:   2025-01-20 (Mon, 20 Jan 2025)

  Changed paths:
    M clang/test/CodeGen/mips-vector-return.c
    M clang/test/CodeGen/mips64-nontrivial-return.cpp

  Log Message:
  -----------
  [Clang] Don't match irrelevant attributes in mips return tests (NFC)

The only thing these tests care about from an ABI perspective is sret,
don't also test all the optimization attributes.


  Commit: 27a2d3d0887ef8a61bc953e76a22bb8a628a1ea0
      https://github.com/llvm/llvm-project/commit/27a2d3d0887ef8a61bc953e76a22bb8a628a1ea0
  Author: David Green <david.green at arm.com>
  Date:   2025-01-20 (Mon, 20 Jan 2025)

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

  Log Message:
  -----------
  [AArch64] Build v2i64 Mul cost out of getArithmeticInstrCost and getVectorInstrCost. NFCI

This should not effect the result, unless the getArithmeticInstrCost and
getVectorInstrCost routines learn to produce different costs (with CostKind =
CodeSize for example). The -1 lanes prevent 0 lanes from (incorrectly) being
marked as free.


  Commit: a79ae862ab2999cad89879743335423b985ae3fd
      https://github.com/llvm/llvm-project/commit/a79ae862ab2999cad89879743335423b985ae3fd
  Author: Nikita Popov <npopov at redhat.com>
  Date:   2025-01-20 (Mon, 20 Jan 2025)

  Changed paths:
    M clang/test/CodeGen/attr-counted-by-pr110385.c
    M clang/test/CodeGen/attr-counted-by.c
    M clang/test/CodeGen/sanitize-metadata-nosanitize.c
    M clang/test/CodeGenCXX/inline-then-fold-variadics.cpp

  Log Message:
  -----------
  [Clang] Regenerate test checks (NFC)

To reduce diffs in an upcoming change.


  Commit: af91372b75613d5654e68d393477e8621cb93da7
      https://github.com/llvm/llvm-project/commit/af91372b75613d5654e68d393477e8621cb93da7
  Author: Abid Qadeer <haqadeer at amd.com>
  Date:   2025-01-20 (Mon, 20 Jan 2025)

  Changed paths:
    M flang/lib/Optimizer/Dialect/FIRType.cpp
    M flang/lib/Optimizer/Transforms/DebugTypeGenerator.cpp
    A flang/test/Integration/debug-cyclic-derived-type-3.f90

  Log Message:
  -----------
  [flang][debug] Improve handling of cyclic derived types. (#122770)

When `RecordType` is converted to corresponding `DIType`, we cache the
information to avoid doing the conversion again.

Our conversion of `RecordType` looks like this:

`ConvertRecordType(RecordType Ty)`
1. If type `Ty` is already in the cache, then return the corresponding
item.
2. Create a place holder `DICompositeTypeAttr` (called `ty_self` below)
for `Ty`
3. Put `Ty->ty_self` in the cache
4. Convert members of `Ty`. This may cause `ConvertRecordType` to be
called again with other types.
5. Create final `DICompositeTypeAttr`
6. Replace the `ty_self` in the cache with one created in step 5 end


The purpose of creating `ty_self` is to handle cases where a member may
have reference to parent type.

Now consider the code below:

```
type t1
  type(t2), pointer :: p1
end type
type t2
   type(t1), pointer :: p2
end type
```

While processing t1, we could have a structure like below. `t1 -> t2 ->
t1_self`

The `t2` created during handling of `t1` cant be cached on its own as it
contains a place holder reference. It will fail an assert in MLIR if it
is processed standalone. To avoid this problem, we have a check in the
step 6 above to not cache such types. But this check was not tight
enough. It just checked if a type should not have a place holder
reference to another type. It missed the following case where the place
holder reference can be in a type further down the line.

```
type t1
  type(t2), pointer :: p1
end type
type t2
  type(t3), pointer :: p2
end type
type t3
  type(t1), pointer :: p3
end type
```

So while processing `t1`, we have to stop caching of not only `t3` but
also of `t2`. This PR improves the check and moves the logic inside
`convertRecordType`.

Please note that this limitation of why a type cant have a placeholder
reference is because of how such references are resolved in the mlir.
Please see the discussion at the end of this
[PR](https://github.com/llvm/llvm-project/pull/106571).

I have to change `getDerivedType` so that it will also get the derived
type for things like `type(t2), pointer :: p1` which are wrapped in
`BoxType`. Happy to move it to a new function or a local helper in case
this change is problematic.

Fixes #122024.


  Commit: 0ec153b9fde70da3b46292d0627b3896e0bdceab
      https://github.com/llvm/llvm-project/commit/0ec153b9fde70da3b46292d0627b3896e0bdceab
  Author: Abid Qadeer <haqadeer at amd.com>
  Date:   2025-01-20 (Mon, 20 Jan 2025)

  Changed paths:
    M flang/lib/Optimizer/Transforms/DebugTypeGenerator.cpp

  Log Message:
  -----------
  [flang][debug] Remove an unused function to fix build. (#123602)


  Commit: d70f54f248853f4d5f9e71a51dfda53a47f0b7d3
      https://github.com/llvm/llvm-project/commit/d70f54f248853f4d5f9e71a51dfda53a47f0b7d3
  Author: Timm Baeder <tbaeder at redhat.com>
  Date:   2025-01-20 (Mon, 20 Jan 2025)

  Changed paths:
    M clang/lib/AST/ByteCode/Interp.cpp
    M clang/test/AST/ByteCode/c23.c
    M clang/test/AST/ByteCode/literals.cpp

  Log Message:
  -----------
  [clang][bytecode] Fix reporting failed local constexpr initializers (#123588)

We need to emit the 'initializer of X is not a constant expression' note
for local constexpr variables as well.


  Commit: 5ce271ef74dd3325993c827f496e460ced41af11
      https://github.com/llvm/llvm-project/commit/5ce271ef74dd3325993c827f496e460ced41af11
  Author: Matthias Gehre <matthias.gehre at amd.com>
  Date:   2025-01-20 (Mon, 20 Jan 2025)

  Changed paths:
    M mlir/include/mlir/Conversion/TosaToLinalg/TosaToLinalg.h
    M mlir/lib/Conversion/TosaToLinalg/TosaToLinalgNamed.cpp
    M mlir/lib/Conversion/TosaToLinalg/TosaToLinalgNamedPass.cpp
    M mlir/test/Conversion/TosaToLinalg/tosa-to-linalg-named.mlir

  Log Message:
  -----------
  [MLIR] TosaToLinalgNamed: Lower unsigned tosa.max_pool2d (#123290)

This PR allows to lower **unsigned** `tosa.max_pool2d` to linalg.
```
// CHECK-LABEL: @max_pool_ui8
func.func @max_pool_ui8(%arg0: tensor<1x6x34x62xui8>) -> tensor<1x4x32x62xui8> {
  // CHECK: builtin.unrealized_conversion_cast {{.*}} : tensor<1x6x34x62xui8> to tensor<1x6x34x62xi8>
  // CHECK: arith.constant 0
  // CHECK: linalg.pooling_nhwc_max_unsigned {{.*}} : (tensor<1x4x32x62xi8>) -> tensor<1x4x32x62xi8>
  // CHECK: builtin.unrealized_conversion_cast {{.*}} : tensor<1x4x32x62xi8> to tensor<1x4x32x62xui8>
  %0 = tosa.max_pool2d %arg0 {pad = array<i64: 0, 0, 0, 0>, kernel = array<i64: 3, 3>, stride = array<i64: 1, 1>} : (tensor<1x6x34x62xui8>) -> tensor<1x4x32x62xui8>
  return %0 : tensor<1x4x32x62xui8>
}
```
It does this by
- converting the MaxPool2dConverter from OpRewriterPattern to
OpConversion Pattern
- adjusting the padding value to the the minimum unsigned value when the
max_pool is unsigned
- lowering to `linalg.pooling_nhwc_max_unsigned` (which uses
`arith.maxui`) when the max_pool is unsigned


  Commit: d9f165ddea3223217a959c3cea3d2c613b132935
      https://github.com/llvm/llvm-project/commit/d9f165ddea3223217a959c3cea3d2c613b132935
  Author: Graham Hunter <graham.hunter at arm.com>
  Date:   2025-01-20 (Mon, 20 Jan 2025)

  Changed paths:
    M llvm/include/llvm/CodeGen/ISDOpcodes.h
    M llvm/include/llvm/CodeGen/TargetLowering.h
    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/SelectionDAGBuilder.cpp
    M llvm/lib/CodeGen/SelectionDAG/SelectionDAGDumper.cpp
    M llvm/lib/CodeGen/SelectionDAG/TargetLowering.cpp
    M llvm/lib/CodeGen/TargetLoweringBase.cpp
    M llvm/test/CodeGen/AArch64/vector-extract-last-active.ll
    M llvm/test/CodeGen/RISCV/rvv/vector-extract-last-active.ll

  Log Message:
  -----------
  [SDAG] Add an ISD node to help lower vector.extract.last.active (#118810)

Based on feedback from the clastb codegen PR, I'm refactoring basic codegen for the vector.extract.last.active intrinsic to lower to an ISD node in SelectionDAGBuilder then expand in LegalizeVectorOps, instead of doing everything in the builder.

The new ISD node (vector_find_last_active) only covers finding the index of the last active element of the mask, and extracting the element + handling passthru is left to existing ISD nodes.


  Commit: 1c5b12257d19681d72a52e39eb2247dc6ab6af3b
      https://github.com/llvm/llvm-project/commit/1c5b12257d19681d72a52e39eb2247dc6ab6af3b
  Author: Alexey Bataev <a.bataev at outlook.com>
  Date:   2025-01-20 (Mon, 20 Jan 2025)

  Changed paths:
    M llvm/test/DebugInfo/NVPTX/debug-info.ll

  Log Message:
  -----------
  [NVPTX][DEBUGINFO][NFC]Reduce test file to ease maintenance


  Commit: 456ec1c2f4e487de235c953e8f2832b97372e7b0
      https://github.com/llvm/llvm-project/commit/456ec1c2f4e487de235c953e8f2832b97372e7b0
  Author: Sjoerd Meijer <smeijer at nvidia.com>
  Date:   2025-01-20 (Mon, 20 Jan 2025)

  Changed paths:
    M llvm/lib/Transforms/Scalar/LoopInterchange.cpp
    M llvm/test/Transforms/LoopInterchange/gh54176-scalar-deps.ll
    M llvm/test/Transforms/LoopInterchange/inner-only-reductions.ll
    M llvm/test/Transforms/LoopInterchange/innermost-latch-uses-values-in-middle-header.ll
    M llvm/test/Transforms/LoopInterchange/interchange-flow-dep-outer.ll
    M llvm/test/Transforms/LoopInterchange/lcssa.ll
    M llvm/test/Transforms/LoopInterchange/outer-header-jump-to-inner-latch.ll
    M llvm/test/Transforms/LoopInterchange/pr43176-move-to-new-latch.ll
    M llvm/test/Transforms/LoopInterchange/pr43797-lcssa-for-multiple-outer-loop-blocks.ll
    M llvm/test/Transforms/LoopInterchange/profitability.ll
    M llvm/test/Transforms/LoopInterchange/reductions-across-inner-and-outer-loop.ll
    M llvm/test/Transforms/LoopInterchange/unique-dep-matrix.ll
    M llvm/test/Transforms/LoopInterchange/vector-gep-operand.ll

  Log Message:
  -----------
  [LoopInterchange] Remove 'S' Scalar Dependencies (#119345)

We are not handling 'S' scalar dependencies correctly and have at least
the following miscompiles related to that:

[LoopInterchange] incorrect handling of scalar dependencies and dependence vectors starting with ">" #54176
[LoopInterchange] Interchange breaks program correctness #46867
[LoopInterchange] Loops should not interchanged due to dependencies #47259
[LoopInterchange] Loops should not interchanged due to control flow #47401

This patch does no longer insert the "S" dependency/direction into the
dependency matrix, so a dependency is never "S". We seem to have
forgotten what the exact meaning is of this dependency type, and don't
see why it should be treated differently.

We prefer correctness over incorrect and more aggressive results. I.e.,
this prevents the miscompiles at the expense of handling less cases,
i.e. making interchange more pessimistic. However, some of the cases
that are now rejected for dependence analysis reasons, were rejected
before too but for other reasons (e.g. profitability). So at least for
the llvm regression tests, the number of regression are very reasonable.
This should be a stopgap. We would like to get interchange enabled by
default and thus prefer correctness over unsafe transforms, and later
see if we can get solve the regressions.


  Commit: 57466db7a459ce285f053ecac3c309f49f2cce6a
      https://github.com/llvm/llvm-project/commit/57466db7a459ce285f053ecac3c309f49f2cce6a
  Author: bernhardu <bernhardu at mailbox.org>
  Date:   2025-01-20 (Mon, 20 Jan 2025)

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

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

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

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

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

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


  Commit: 977d744b21d06415ac872258bf86e026d8eb487f
      https://github.com/llvm/llvm-project/commit/977d744b21d06415ac872258bf86e026d8eb487f
  Author: Kirill Chibisov <contact at kchibisov.com>
  Date:   2025-01-20 (Mon, 20 Jan 2025)

  Changed paths:
    M mlir/include/mlir/Dialect/EmitC/IR/EmitC.td
    M mlir/test/Conversion/ArithToEmitC/arith-to-emitc.mlir
    M mlir/test/Conversion/SCFToEmitC/for.mlir
    M mlir/test/Conversion/SCFToEmitC/if.mlir
    M mlir/test/Conversion/SCFToEmitC/switch.mlir
    M mlir/test/Dialect/EmitC/transforms.mlir

  Log Message:
  -----------
  [mlir][emitc] Set default dialect to emitc in ops with block (#123036)

This is a follow up to 68a3908148c (func: Set default dialect to
'emitc'), but for other instructions with blocks to make it look
consistent.


  Commit: 9b853f63bef20fd1f19ec933667b1f619afc0f1d
      https://github.com/llvm/llvm-project/commit/9b853f63bef20fd1f19ec933667b1f619afc0f1d
  Author: Dominic Chen <1108560+ddcc at users.noreply.github.com>
  Date:   2025-01-20 (Mon, 20 Jan 2025)

  Changed paths:
    M libcxx/include/__vector/vector.h

  Log Message:
  -----------
  [libc++] Fix vector sanitization annotations on destruction (#121031)

In https://reviews.llvm.org/D136765 / https://reviews.llvm.org/D144155,
the asan annotations for `std::vector` were modified to unpoison freed
backing memory on destruction, instead of leaving it poisoned. However,
calling `__clear()` instead of `clear()` skips informing the asan runtime
of this decrease in the accessible container size, which breaks the
invariant that the value of `old_mid` should match the value of `new_mid`
from the previous call to `__sanitizer_annotate_contiguous_container`, which
can trip the sanity checks for the partial poison between [d1, d2) and the
container redzone between [d2, c), if enabled. To fix this, ensure that
`clear()` is called instead, as is already done by `__vdeallocate()`.
Also remove `__clear()`, since it is no longer called.


  Commit: a733c1fa90f3d26dbf399f7676e11fad0e3f5eeb
      https://github.com/llvm/llvm-project/commit/a733c1fa90f3d26dbf399f7676e11fad0e3f5eeb
  Author: David Sherwood <david.sherwood at arm.com>
  Date:   2025-01-20 (Mon, 20 Jan 2025)

  Changed paths:
    M llvm/lib/Target/AArch64/AArch64TargetTransformInfo.cpp
    M llvm/lib/Target/AArch64/AArch64TargetTransformInfo.h

  Log Message:
  -----------
  [AArch64][NFC] Move getPartialReductionCost into cpp file (#123370)

The function getPartialReductionCost is already quite large and
is likely to grow in size as we add support for more cases in
future. Therefore, I think it's best to move this into the cpp
file.


  Commit: b5c9cba3f33512014a18622a0e3479851faf4ce9
      https://github.com/llvm/llvm-project/commit/b5c9cba3f33512014a18622a0e3479851faf4ce9
  Author: Timm Baeder <tbaeder at redhat.com>
  Date:   2025-01-20 (Mon, 20 Jan 2025)

  Changed paths:
    M clang/lib/AST/ByteCode/ByteCodeEmitter.cpp
    M clang/lib/AST/ByteCode/Disasm.cpp
    M clang/lib/AST/ByteCode/FixedPoint.h
    M clang/lib/AST/ByteCode/Interp.h

  Log Message:
  -----------
  [clang][bytecode] Don't memcpy() FixedPoint values (#123599)

llvm::FixedPoint is not trivially copyable.


  Commit: 58af82b4623c1871a78a53ef86f64d4891dcc2da
      https://github.com/llvm/llvm-project/commit/58af82b4623c1871a78a53ef86f64d4891dcc2da
  Author: Joseph Huber <huberjn at outlook.com>
  Date:   2025-01-20 (Mon, 20 Jan 2025)

  Changed paths:
    M offload/DeviceRTL/CMakeLists.txt
    M offload/DeviceRTL/include/DeviceTypes.h
    M offload/DeviceRTL/include/Synchronization.h

  Log Message:
  -----------
  [OpenMP] Remove 'omp assumes' scopes now that we have no inline ASM (#123611)

Summary:
We used this globally scoped `ext_no_call_asm` as a sort of hack around
the compiler that allowed the attributor to optimize out inline assembly
calls to PTX instructions. Quite some time ago I got rid of every inline
assembly call and replaced it with a builitin, so this can just be
deleted.

Furthermore, I use the `[[omp::assume]]` attribute directly for the
aligned barrier usage. This prints an unknown assumption warning (even
though it isn't) so I'm just silencing that for now until I fix it
later.

---------

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


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

  Changed paths:
    M llvm/lib/Target/AMDGPU/AMDGPUAliasAnalysis.cpp
    M llvm/test/CodeGen/AMDGPU/amdgpu-alias-analysis.ll

  Log Message:
  -----------
  [AMDGPU] Fix spurious NoAlias results (#122309)

After a30e50fc, AMDGPUAAResult is being called in more situations where
BasicAA isn't sure. This exposed some regressions where NoAlias is being
incorrectly returned for two identical pointers.

The fix is to check the underlying objects for equality before returning
NoAlias.


  Commit: b92cc780606ea7fa1afdff49a2c84934841ece6f
      https://github.com/llvm/llvm-project/commit/b92cc780606ea7fa1afdff49a2c84934841ece6f
  Author: zhijian lin <zhijian at ca.ibm.com>
  Date:   2025-01-20 (Mon, 20 Jan 2025)

  Changed paths:
    A llvm/test/tools/llvm-objdump/XCOFF/private-headers-option.test
    M llvm/tools/llvm-objdump/XCOFFDump.cpp

  Log Message:
  -----------
  [llvm-objdump] Print out xcoff load section of xcoff object file with option private-headers (#121226)

[llvm-objdump] Print out xcoff load section of xcoff object file with
option private-headers


  Commit: 3b001db4f9668cfa29572e5f1911ec7cef8b0ac2
      https://github.com/llvm/llvm-project/commit/3b001db4f9668cfa29572e5f1911ec7cef8b0ac2
  Author: Andrzej Warzyński <andrzej.warzynski at arm.com>
  Date:   2025-01-20 (Mon, 20 Jan 2025)

  Changed paths:
    M mlir/test/Dialect/Vector/vector-transfer-permutation-lowering.mlir

  Log Message:
  -----------
  [mlir][vector] Update tests for xfer permutation lowering (1/N) (#123076)

1. Remove `%c0 = arith.constant 0 : index` from testt functions. This
   extra Op is not needed (the index can be passed as an argument), so
   this is just noise.
2. Replaced `%cst_0` with `%pad` to communicate what the underlying SSA
   value is intended for.
3. Unified some comments.


  Commit: 723a3e746ab7f130d448343e6a7b61e146954b60
      https://github.com/llvm/llvm-project/commit/723a3e746ab7f130d448343e6a7b61e146954b60
  Author: Joseph Huber <huberjn at outlook.com>
  Date:   2025-01-20 (Mon, 20 Jan 2025)

  Changed paths:
    M llvm/lib/IR/Assumptions.cpp
    M offload/DeviceRTL/CMakeLists.txt
    M offload/DeviceRTL/include/Synchronization.h
    M offload/test/jit/empty_kernel.inc

  Log Message:
  -----------
  [OpenMP] Fix mispelled attribute and warning

Summary:
This is spelled `ompx_aligned_barrier` when used directly, but wasn't
included in the list of known assumptions. Fix that so now th test
works.


  Commit: fcec8756e25333b6f49472f00e043f2389736c0b
      https://github.com/llvm/llvm-project/commit/fcec8756e25333b6f49472f00e043f2389736c0b
  Author: David Sherwood <david.sherwood at arm.com>
  Date:   2025-01-20 (Mon, 20 Jan 2025)

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

  Log Message:
  -----------
  [LoopVectorize][NFC] Simplify ScaledReductionExitInstrs map (#123368)

For the following variable

DenseMap<const Instruction *, std::pair<PartialReductionChain,
unsigned>>
  ScaledReductionExitInstrs;

we never actually need the PartialReductionChain when using the map.
I've cleaned this up so that this now becomes

  DenseMap<const Instruction *, unsigned> ScaledReductionMap;


  Commit: cc5eba1737146a727a61b5dbe16d8c2ac453981e
      https://github.com/llvm/llvm-project/commit/cc5eba1737146a727a61b5dbe16d8c2ac453981e
  Author: Fabian Ritter <fabian.ritter at amd.com>
  Date:   2025-01-20 (Mon, 20 Jan 2025)

  Changed paths:
    M llvm/lib/Target/AMDGPU/SIISelLowering.cpp
    M llvm/test/CodeGen/AMDGPU/inlineasm-mismatched-size-error.ll

  Log Message:
  -----------
  [AMDGPU] Reject misaligned SGPR constraints for inline asm (#123590)

The indices of SGPR register pairs need to be 2-aligned and SGPR
quadruplets need to be 4-aligned. With this patch, we report an error
when inline asm register constraints specify a misaligned register
index, instead of silently dropping the specified index.

Fixes #123208

---------

Co-authored-by: Matt Arsenault <arsenm2 at gmail.com>


  Commit: aa3c31a86f39552d11f0d5bae8b50541d73aa442
      https://github.com/llvm/llvm-project/commit/aa3c31a86f39552d11f0d5bae8b50541d73aa442
  Author: Renat Idrisov <4032256+parsifal-47 at users.noreply.github.com>
  Date:   2025-01-20 (Mon, 20 Jan 2025)

  Changed paths:
    M mlir/lib/Transforms/RemoveDeadValues.cpp
    M mlir/test/Transforms/remove-dead-values.mlir

  Log Message:
  -----------
  [MLIR] Prevent invalid IR from being passed outside of RemoveDeadValues (#121079)

This is a follow-up for https://github.com/llvm/llvm-project/pull/119110
and a fix for https://github.com/llvm/llvm-project/issues/118450

RemoveDeadValues used to delete Values and analyzing the IR at the same
time, because of that, `isMemoryEffectFree` got invalid IR with
half-deleted linalg.generic operation. This PR separates analysis and
cleanup to prevent such situation.

Thank you!

---------

Co-authored-by: Renat Idrisov <parsifal-47 at users.noreply.github.com>
Co-authored-by: Andrzej Warzyński <andrzej.warzynski at gmail.com>


  Commit: 8552c490462eb4180733d1f80d7b381e1518e29f
      https://github.com/llvm/llvm-project/commit/8552c490462eb4180733d1f80d7b381e1518e29f
  Author: David Green <david.green at arm.com>
  Date:   2025-01-20 (Mon, 20 Jan 2025)

  Changed paths:
    M llvm/lib/Target/AArch64/AArch64Processors.td
    M llvm/test/Transforms/LoopVectorize/AArch64/prefer-fixed-if-equal-to-scalable.ll

  Log Message:
  -----------
  [AArch64] Enable UseFixedOverScalableIfEqualCost for more Cortex-x cpus. (#122807)

For similar reasons for fixed-width being prefered to scalable for
Neoverse V2, this patch enables the UseFixedOverScalableIfEqualCost
feature when using -mcpu=cortex-x2, x3, x4 and x925 that are similar to
Neoverse V2.


  Commit: 9c7e02d579db7ba81a414cd2212ce2b48b927941
      https://github.com/llvm/llvm-project/commit/9c7e02d579db7ba81a414cd2212ce2b48b927941
  Author: Ruhung <143302514+Ruhung at users.noreply.github.com>
  Date:   2025-01-20 (Mon, 20 Jan 2025)

  Changed paths:
    M llvm/lib/Transforms/InstCombine/InstCombineCalls.cpp
    A llvm/test/Transforms/InstCombine/add-shl-mul-umax.ll

  Log Message:
  -----------
  [InstCombine] Fold umax(nuw_mul(x, C0), x + 1) into (x == 0 ? 1 : nuw_mul(x, C0)) (#123468)

This PR introduces the following transformations:

- If C0 is not 0:  
umax(nuw_shl(x, C0), x + 1) -> x == 0 ? 1 : nuw_shl(x, C0)  
- If C0 is not 0 or 1:  
umax(nuw_mul(x, C0), x + 1) -> x == 0 ? 1 : nuw_mul(x, C0)  

Fixes #122388.
Alive2 proof: https://alive2.llvm.org/ce/z/rkp_8U


  Commit: 416f1c465db62d829283f6902ef35e027e127aa7
      https://github.com/llvm/llvm-project/commit/416f1c465db62d829283f6902ef35e027e127aa7
  Author: Mats Jun Larsen <mats at jun.codes>
  Date:   2025-01-21 (Tue, 21 Jan 2025)

  Changed paths:
    M llvm/include/llvm/CodeGen/BasicTTIImpl.h
    M llvm/include/llvm/IR/GlobalValue.h
    M llvm/include/llvm/SandboxIR/Type.h
    M llvm/lib/Bitcode/Reader/BitcodeReader.cpp
    M llvm/lib/CodeGen/GlobalISel/CallLowering.cpp
    M llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp
    M llvm/lib/ExecutionEngine/Orc/IndirectionUtils.cpp
    M llvm/lib/FuzzMutate/RandomIRBuilder.cpp
    M llvm/lib/IR/Core.cpp
    M llvm/lib/IR/Instructions.cpp
    M llvm/lib/IR/Type.cpp
    M llvm/lib/Linker/IRMover.cpp
    M llvm/lib/SandboxIR/Type.cpp
    M llvm/lib/Target/AArch64/AArch64Arm64ECCallLowering.cpp
    M llvm/lib/Target/AMDGPU/AMDGPUAsanInstrumentation.cpp
    M llvm/lib/Target/AMDGPU/AMDGPUPrintfRuntimeBinding.cpp
    M llvm/lib/Target/AMDGPU/R600ISelLowering.cpp
    M llvm/lib/Target/AMDGPU/SIISelLowering.cpp
    M llvm/lib/Target/ARM/ARMTargetTransformInfo.cpp
    M llvm/lib/Target/NVPTX/NVPTXGenericToNVVM.cpp
    M llvm/lib/Target/NVPTX/NVPTXISelLowering.cpp
    M llvm/lib/Target/NVPTX/NVPTXLowerAlloca.cpp
    M llvm/lib/Target/NVPTX/NVPTXLowerArgs.cpp
    M llvm/lib/Target/X86/X86ISelLowering.cpp
    M llvm/lib/Target/X86/X86InstCombineIntrinsic.cpp
    M llvm/lib/Transforms/CFGuard/CFGuard.cpp
    M llvm/lib/Transforms/IPO/AttributorAttributes.cpp
    M llvm/lib/Transforms/Instrumentation/AddressSanitizer.cpp
    M llvm/lib/Transforms/Instrumentation/DataFlowSanitizer.cpp
    M llvm/lib/Transforms/Instrumentation/GCOVProfiling.cpp
    M llvm/lib/Transforms/Instrumentation/MemProfiler.cpp
    M llvm/lib/Transforms/Instrumentation/MemorySanitizer.cpp
    M llvm/lib/Transforms/Instrumentation/TypeSanitizer.cpp
    M llvm/lib/Transforms/Utils/CodeExtractor.cpp
    M llvm/lib/Transforms/Utils/LowerGlobalDtors.cpp
    M llvm/lib/Transforms/Utils/ModuleUtils.cpp
    M llvm/tools/llvm-exegesis/lib/Assembler.cpp
    M llvm/tools/llvm-reduce/deltas/ReduceOpcodes.cpp
    M llvm/tools/llvm-stress/llvm-stress.cpp

  Log Message:
  -----------
  [IR] Replace of PointerType::get(Type) with opaque version (NFC) (#123617)

In accordance with https://github.com/llvm/llvm-project/issues/123569

In order to keep the patch at reasonable size, this PR only covers for
the llvm subproject, unittests excluded.


  Commit: 9da7c3ba17681a875d743a6709f3f56324ee6042
      https://github.com/llvm/llvm-project/commit/9da7c3ba17681a875d743a6709f3f56324ee6042
  Author: Mats Petersson <mats.petersson at arm.com>
  Date:   2025-01-20 (Mon, 20 Jan 2025)

  Changed paths:
    A flang/test/Lower/OpenMP/Todo/allocate-clause-align.f90
    A flang/test/Lower/OpenMP/Todo/allocate-clause-allocator.f90

  Log Message:
  -----------
  [Flang][OpenMP][NFC] Add tests for align and allocator in allocate clauses (#121356)

No functional change.

(Also, tried to filter out all ALLOCATOR modifiers, but that makes some
other tests fail).


  Commit: 8368018f2097e330a6b6ec0a9372487df020c511
      https://github.com/llvm/llvm-project/commit/8368018f2097e330a6b6ec0a9372487df020c511
  Author: Victor Campos <victor.campos at arm.com>
  Date:   2025-01-20 (Mon, 20 Jan 2025)

  Changed paths:
    A clang/test/Driver/Inputs/multilib/multilib-custom-flags.yaml
    M clang/test/Driver/print-multi-selection-flags.c

  Log Message:
  -----------
  Fix test of `-print-multi-flags-experimental` in case of multilib custom flags (#123577)

The test was failing in the case where a `multilib.yaml` file was
present in the installation. This is because the presence of a multilib
YAML file leads to the diagnosing of validity of the multilib custom
flags.

This patch fixes the test by creating a new YAML file with multilib
custom flags to be used by the test.


  Commit: c8eb865747ea0006470a0ab130056293fcb536cb
      https://github.com/llvm/llvm-project/commit/c8eb865747ea0006470a0ab130056293fcb536cb
  Author: Fraser Cormack <fraser at codeplay.com>
  Date:   2025-01-20 (Mon, 20 Jan 2025)

  Changed paths:
    M libclc/clc/include/clc/clcmacro.h
    A libclc/clc/include/clc/math/clc_mad.h
    A libclc/clc/include/clc/math/ternary_decl.inc
    M libclc/clc/lib/clspv/SOURCES
    M libclc/clc/lib/generic/SOURCES
    A libclc/clc/lib/generic/math/clc_mad.cl
    A libclc/clc/lib/generic/math/clc_mad.inc
    M libclc/clc/lib/spirv/SOURCES
    M libclc/clc/lib/spirv64/SOURCES
    R libclc/generic/include/clc/math/ternary_decl.inc
    M libclc/generic/lib/common/mix.cl
    M libclc/generic/lib/common/mix.inc
    M libclc/generic/lib/math/clc_exp10.cl
    M libclc/generic/lib/math/clc_hypot.cl
    M libclc/generic/lib/math/clc_pow.cl
    M libclc/generic/lib/math/clc_pown.cl
    M libclc/generic/lib/math/clc_powr.cl
    M libclc/generic/lib/math/clc_rootn.cl
    M libclc/generic/lib/math/mad.cl
    R libclc/generic/lib/math/mad.inc
    M libclc/generic/lib/math/sincos_helpers.cl
    M libclc/generic/lib/math/sincospiF_piby4.h

  Log Message:
  -----------
  [libclc] Move mad to the CLC library (#123607)

All targets build `__clc_mad` -- even SPIR-V targets -- since it
compiles to the optimal `llvm.fmuladd` intrinsic. There is no change to
the bytecode generated for non-SPIR-V targets.

The `mix` builtin, which is implemented as a wrapper around `mad`, is
left as an OpenCL-layer wrapper of `__clc_mad`. I don't know if it's
worth having a specific CLC version of `mix`.

The changes to the other CLC files/functions are moving uses of `mad` to
`__clc_mad`, and reformatting. There is an additional instance of
`trunc` becoming `__clc_trunc`, which was missed before.


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

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

  Log Message:
  -----------
  [AMDGPU] Fix DAG types for V_MAD_I64_I32 and V_MAD_U64_U32. NFC. (#123629)

These instructions return a 64-bit result and a 1-bit carry, unlike
smul_lohi and umul_lohi which return a pair of 32-bit results.

This does not appear to make any difference in practice because the DAG
types are not used for anything before these nodes are converted to
MachineInstrs.


  Commit: e8674af6f41b2e78ceebabb23e40588c41da5a23
      https://github.com/llvm/llvm-project/commit/e8674af6f41b2e78ceebabb23e40588c41da5a23
  Author: Timm Baeder <tbaeder at redhat.com>
  Date:   2025-01-20 (Mon, 20 Jan 2025)

  Changed paths:
    M clang/lib/AST/ByteCode/Interp.h
    M clang/test/AST/ByteCode/constexpr.c
    M clang/test/SemaCXX/builtin-assume-aligned.cpp

  Log Message:
  -----------
  [clang][bytecode] Diagnose IntegralToPointer casts to non-void (#123619)

But keep evaluating. This is what the current interpreter does as well.


  Commit: b95ed30ea2307dbcbe6199374c1e9a9b7a802ad0
      https://github.com/llvm/llvm-project/commit/b95ed30ea2307dbcbe6199374c1e9a9b7a802ad0
  Author: Mats Larsen <mats at jun.codes>
  Date:   2025-01-21 (Tue, 21 Jan 2025)

  Changed paths:
    M llvm/lib/Transforms/Instrumentation/DataFlowSanitizer.cpp
    M llvm/lib/Transforms/Utils/ModuleUtils.cpp

  Log Message:
  -----------
  [IR] Remove unused variables from #123617

Failed to notice them when landing that patch - apologies!


  Commit: 7abf44069aec61eee147ca67a6333fc34583b524
      https://github.com/llvm/llvm-project/commit/7abf44069aec61eee147ca67a6333fc34583b524
  Author: Stephan Hageboeck <stephan.hageboeck at cern.ch>
  Date:   2025-01-20 (Mon, 20 Jan 2025)

  Changed paths:
    M llvm/lib/Target/X86/MCTargetDesc/X86MCTargetDesc.h

  Log Message:
  -----------
  Add missing include to X86MCTargetDesc.h (#123320)

In gcc-15, explicit includes of `<cstdint>` are required when fixed-size
integers are used. In this file, this include only happened as a side
effect of including SmallVector.h

Although llvm compiles fine, the root-project would benefit from
explicitly including it here, so we can backport the patch.

Maybe interesting for @hahnjo and @vgvassilev


  Commit: c248fc1880af60737ef7e18dfe6becb1db93fde3
      https://github.com/llvm/llvm-project/commit/c248fc1880af60737ef7e18dfe6becb1db93fde3
  Author: Nikolas Klauser <nikolasklauser at berlin.de>
  Date:   2025-01-20 (Mon, 20 Jan 2025)

  Changed paths:
    M clang/docs/LanguageExtensions.rst

  Log Message:
  -----------
  [Clang] Document some of the implementation-defined keywords (#84591)


  Commit: 0fa05456a8dc468961c33bd8149b157194672c71
      https://github.com/llvm/llvm-project/commit/0fa05456a8dc468961c33bd8149b157194672c71
  Author: Nikolas Klauser <nikolasklauser at berlin.de>
  Date:   2025-01-20 (Mon, 20 Jan 2025)

  Changed paths:
    M libcxx/include/__algorithm/make_projected.h
    M libcxx/include/__algorithm/radix_sort.h
    M libcxx/include/__functional/bind.h
    M libcxx/include/__functional/function.h
    M libcxx/include/__functional/hash.h
    M libcxx/include/__functional/mem_fn.h
    M libcxx/include/__functional/reference_wrapper.h
    M libcxx/include/__hash_table
    M libcxx/include/__tree
    M libcxx/include/__type_traits/invoke.h
    M libcxx/include/__type_traits/result_of.h
    M libcxx/include/future
    M libcxx/include/unordered_map
    M libcxx/include/unordered_set
    M libcxx/test/libcxx/containers/associative/non_const_comparator.verify.cpp
    M libcxx/test/libcxx/containers/unord/non_const_comparator.verify.cpp
    M libcxx/test/libcxx/utilities/function.objects/func.require/bullet_1_2_3.pass.cpp

  Log Message:
  -----------
  [libc++] Define an internal API for std::invoke and friends (#116637)

Currently we're using quite different internal names for the
`std::invoke` family of type traits. This adds a layer around the
current implementation to make it easier to understand when it is used
and makes it easier to define multiple implementations of it.


  Commit: 3606876b67bbd42d6ee0e04548611834467af806
      https://github.com/llvm/llvm-project/commit/3606876b67bbd42d6ee0e04548611834467af806
  Author: Alex MacLean <amaclean at nvidia.com>
  Date:   2025-01-20 (Mon, 20 Jan 2025)

  Changed paths:
    M llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp
    A llvm/test/CodeGen/NVPTX/addrspacecast-cse.ll

  Log Message:
  -----------
  [SDAG] Fix CSE for ADDRSPACECAST nodes (#122912)

Correct CSE in SelectionDAG can make DAG combining more effective and
reduces the size of the DAG and thus should improve compile time.


  Commit: 19bd2d610286300707b51135d3cff8bfb74322f0
      https://github.com/llvm/llvm-project/commit/19bd2d610286300707b51135d3cff8bfb74322f0
  Author: Kshitij Paranjape <kshitijvparanjape at gmail.com>
  Date:   2025-01-20 (Mon, 20 Jan 2025)

  Changed paths:
    M llvm/lib/Analysis/ConstantFolding.cpp
    A llvm/test/Transforms/InstSimplify/pr122582.ll

  Log Message:
  -----------
  [ConstantFolding] Add ilogb in isMathLibCallNoop (#122582)

ilogb libcall was not being constant folded correctly. This patch adds 
ilogb case in isMathLibCallNoop with correct error condition.

Fixes #101873


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

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

  Log Message:
  -----------
  SIISelLowering.cpp - remove unused variable missed in #123617


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

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

  Log Message:
  -----------
  X86ISelLowering.cpp - remove unused variable missed in #123617


  Commit: 5810f157cd048fd7e2fc20f4f782462164279eba
      https://github.com/llvm/llvm-project/commit/5810f157cd048fd7e2fc20f4f782462164279eba
  Author: Michal Paszkowski <michal at michalpaszkowski.com>
  Date:   2025-01-20 (Mon, 20 Jan 2025)

  Changed paths:
    M llvm/lib/Target/SPIRV/SPIRVCallLowering.cpp
    M llvm/lib/Target/SPIRV/SPIRVEmitIntrinsics.cpp
    M llvm/lib/Target/SPIRV/SPIRVSubtarget.cpp
    M llvm/lib/Target/SPIRV/SPIRVSubtarget.h

  Log Message:
  -----------
  [SPIR-V] Fix SPIRVEmitIntrinsics undefined behavior (#123625)

Before this change InstrSet in SPIRVEmitIntrinsics was uninitialized
before running runOnFunction. This change adds a new function
getPreferredInstructionSet in SPIRVSubtarget.


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

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

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

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

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


  Commit: 9cbd705e32bbb869c897696f4a6659f2ce00b64a
      https://github.com/llvm/llvm-project/commit/9cbd705e32bbb869c897696f4a6659f2ce00b64a
  Author: Amr Hesham <amr96 at programmer.net>
  Date:   2025-01-20 (Mon, 20 Jan 2025)

  Changed paths:
    M llvm/tools/llvm-cgdata/llvm-cgdata.cpp

  Log Message:
  -----------
  [NFC] llvm-cgdata use StringRef in exitWithError to reduce construction (#120771)

Replace `static void exitWithError(Twine Message, std::string Whence =
"", std::string Hint = "")` std::string with StringRef to remove
constructing Strings on every call or passing by value

Fixes: #100065


  Commit: 3805355ef69a33fc6b32e4a4de0ad3ef22584c65
      https://github.com/llvm/llvm-project/commit/3805355ef69a33fc6b32e4a4de0ad3ef22584c65
  Author: Krzysztof Drewniak <Krzysztof.Drewniak at amd.com>
  Date:   2025-01-20 (Mon, 20 Jan 2025)

  Changed paths:
    M llvm/lib/Target/AMDGPU/AMDGPULowerBufferFatPointers.cpp
    A llvm/test/CodeGen/AMDGPU/buffer-fat-pointers-contents-legalization.ll
    A llvm/test/CodeGen/AMDGPU/llvm.amdgcn.raw.ptr.buffer.store.nxv2i32.fail.ll
    M llvm/test/CodeGen/AMDGPU/lower-buffer-fat-pointers-calls.ll
    M llvm/test/CodeGen/AMDGPU/lower-buffer-fat-pointers-contents-legalization.ll
    M llvm/test/CodeGen/AMDGPU/lower-buffer-fat-pointers-unoptimized-debug-data.ll

  Log Message:
  -----------
  [AMDGPU] Handle natively unsupported types in addrspace(7) lowering (#110572)

The current lowering for ptr addrspace(7) assumed that the instruction
selector can handle arbtrary LLVM types, which is not the case. Code
generation can't deal with
- Values that aren't 8, 16, 32, 64, 96, or 128 bits long
- Aggregates (this commit only handles arrays of scalars, more may come)
- Vectors of more than one byte
- 3-word values that aren't a vector of 3 32-bit values (for axample, a
<6 x half>)

This commit adds a buffer contents type legalizer that adds the needed
bitcasts, zero-extensions, and splits into subcompnents needed to
convert a load or store operation into one that can be successfully
lowered through code generation.

In the long run, some of the involved bitcasts (though potentially not
the buffer operation splitting) ought to be handled by the instruction
legalizer, but SelectionDAG makes this difficult.

It also takes advantage of the new `nuw` flag on `getelementptr` when
lowering GEPs to offset additions.

We don't currently plumb through `nsw` on GEPs since that should likely
be a separate change and would require declaring what we mean by "the
address" in the context of the GEP guarantees.


  Commit: 0fbec1e1eedf7f6a758d3aba3dfc8d77a824d80e
      https://github.com/llvm/llvm-project/commit/0fbec1e1eedf7f6a758d3aba3dfc8d77a824d80e
  Author: Vasileios Porpodas <vporpodas at google.com>
  Date:   2025-01-20 (Mon, 20 Jan 2025)

  Changed paths:
    M llvm/include/llvm/Transforms/Vectorize/SandboxVectorizer/Passes/BottomUpVec.h

  Log Message:
  -----------
  [SandboxVec][BottomUpVec][NFC] Add comments


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

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

  Log Message:
  -----------
  [memprof] Add simplify_type (NFC) (#123556)

IndexCall is a simple wrapper around:

  PointerUnion<CallsiteInfo *, AllocInfo *>

Now, because we don't have CastInfo for IndexCall, we would have to
use getBase like so:

  dyn_cast_if_present<CallsiteInfo *>(Call.getBase())

This patch adds simplify_type<IndexCall>, which in turn enables
CastInfo for IndexCall, so we can drop getBase like so::

  dyn_cast_if_present<CallsiteInfo *>(Call)


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

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

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


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

  Changed paths:
    M llvm/lib/Transforms/HipStdPar/HipStdPar.cpp

  Log Message:
  -----------
  [HipStdPar] Avoid repeated hash lookups (NFC) (#123558)


  Commit: 64749fb01538fba2b56d9850497d5f3a626cabc2
      https://github.com/llvm/llvm-project/commit/64749fb01538fba2b56d9850497d5f3a626cabc2
  Author: Krzysztof Drewniak <Krzysztof.Drewniak at amd.com>
  Date:   2025-01-20 (Mon, 20 Jan 2025)

  Changed paths:
    M llvm/lib/Target/AMDGPU/AMDGPULowerBufferFatPointers.cpp
    R llvm/test/CodeGen/AMDGPU/buffer-fat-pointers-contents-legalization.ll
    R llvm/test/CodeGen/AMDGPU/llvm.amdgcn.raw.ptr.buffer.store.nxv2i32.fail.ll
    M llvm/test/CodeGen/AMDGPU/lower-buffer-fat-pointers-calls.ll
    M llvm/test/CodeGen/AMDGPU/lower-buffer-fat-pointers-contents-legalization.ll
    M llvm/test/CodeGen/AMDGPU/lower-buffer-fat-pointers-unoptimized-debug-data.ll

  Log Message:
  -----------
  Revert "[AMDGPU] Handle natively unsupported types in addrspace(7) lowering" (#123657)

Reverts llvm/llvm-project#110572

Seem to have broken a buildbot, not sure why
https://lab.llvm.org/buildbot/#/builders/108/builds/8346


  Commit: 7fa1936947194ec7425d5d21ce43d69d5b09dd2d
      https://github.com/llvm/llvm-project/commit/7fa1936947194ec7425d5d21ce43d69d5b09dd2d
  Author: Kazu Hirata <kazu at google.com>
  Date:   2025-01-20 (Mon, 20 Jan 2025)

  Changed paths:
    M llvm/lib/Transforms/InstCombine/InstCombineCalls.cpp

  Log Message:
  -----------
  [InstCombine] Avoid repeated hash lookups (NFC) (#123559)


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

  Changed paths:
    M llvm/lib/CodeGen/MIRParser/MIParser.cpp

  Log Message:
  -----------
  [MIRParser] Avoid repeated map lookups (NFC) (#123561)


  Commit: 818d6e56654a37d365928513f39113fe6a1f6cb9
      https://github.com/llvm/llvm-project/commit/818d6e56654a37d365928513f39113fe6a1f6cb9
  Author: Kazu Hirata <kazu at google.com>
  Date:   2025-01-20 (Mon, 20 Jan 2025)

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

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


  Commit: 64edde6648cc772c299dc4b39bb2ae7e4e294127
      https://github.com/llvm/llvm-project/commit/64edde6648cc772c299dc4b39bb2ae7e4e294127
  Author: Louis Dionne <ldionne.2 at gmail.com>
  Date:   2025-01-20 (Mon, 20 Jan 2025)

  Changed paths:
    M clang/include/clang/Basic/AttrDocs.td

  Log Message:
  -----------
  [clang] Improve the documentation for the init_priority attribute (#123098)

The documentation wasn't very clear about whether ordering is controlled
within or across TUs, and same for dylibs. Clarify that, and also add
mentions for the state of support on Mach-O platforms.


  Commit: 8424bf207efd89eacf2fe893b67be98d535e1db6
      https://github.com/llvm/llvm-project/commit/8424bf207efd89eacf2fe893b67be98d535e1db6
  Author: Ulrich Weigand <ulrich.weigand at de.ibm.com>
  Date:   2025-01-20 (Mon, 20 Jan 2025)

  Changed paths:
    M clang/include/clang/Basic/BuiltinsSystemZ.def
    M clang/lib/Basic/Targets/SystemZ.cpp
    M clang/lib/Basic/Targets/SystemZ.h
    M clang/lib/CodeGen/CGBuiltin.cpp
    M clang/lib/Headers/vecintrin.h
    M clang/lib/Sema/DeclSpec.cpp
    M clang/lib/Sema/SemaSystemZ.cpp
    A clang/test/CodeGen/SystemZ/builtins-systemz-bitop.c
    A clang/test/CodeGen/SystemZ/builtins-systemz-vector5-error.c
    A clang/test/CodeGen/SystemZ/builtins-systemz-vector5.c
    M clang/test/CodeGen/SystemZ/builtins-systemz-zvector-error.c
    M clang/test/CodeGen/SystemZ/builtins-systemz-zvector.c
    M clang/test/CodeGen/SystemZ/builtins-systemz-zvector2-error.c
    M clang/test/CodeGen/SystemZ/builtins-systemz-zvector2.c
    M clang/test/CodeGen/SystemZ/builtins-systemz-zvector3-error.c
    M clang/test/CodeGen/SystemZ/builtins-systemz-zvector3.c
    A clang/test/CodeGen/SystemZ/builtins-systemz-zvector5-error.c
    A clang/test/CodeGen/SystemZ/builtins-systemz-zvector5.c
    M clang/test/CodeGen/SystemZ/systemz-abi-vector.c
    M clang/test/CodeGen/SystemZ/systemz-abi.c
    M clang/test/CodeGen/SystemZ/zvector.c
    M clang/test/Driver/systemz-march.c
    M clang/test/Misc/target-invalid-cpu-note/systemz.c
    M clang/test/Preprocessor/predefined-arch-macros.c
    M clang/test/Sema/zvector.c
    M llvm/include/llvm/IR/IntrinsicsSystemZ.td
    M llvm/lib/Target/SystemZ/AsmParser/SystemZAsmParser.cpp
    M llvm/lib/Target/SystemZ/MCTargetDesc/SystemZInstPrinterCommon.cpp
    M llvm/lib/Target/SystemZ/MCTargetDesc/SystemZInstPrinterCommon.h
    M llvm/lib/Target/SystemZ/SystemZFeatures.td
    M llvm/lib/Target/SystemZ/SystemZISelDAGToDAG.cpp
    M llvm/lib/Target/SystemZ/SystemZISelLowering.cpp
    M llvm/lib/Target/SystemZ/SystemZISelLowering.h
    M llvm/lib/Target/SystemZ/SystemZInstrFormats.td
    M llvm/lib/Target/SystemZ/SystemZInstrInfo.td
    M llvm/lib/Target/SystemZ/SystemZInstrVector.td
    M llvm/lib/Target/SystemZ/SystemZOperands.td
    M llvm/lib/Target/SystemZ/SystemZOperators.td
    M llvm/lib/Target/SystemZ/SystemZProcessors.td
    M llvm/lib/Target/SystemZ/SystemZSubtarget.cpp
    M llvm/lib/Target/SystemZ/SystemZTargetTransformInfo.cpp
    M llvm/lib/TargetParser/Host.cpp
    M llvm/test/Analysis/CostModel/SystemZ/divrem-reg.ll
    M llvm/test/Analysis/CostModel/SystemZ/i128-cmp-ext-conv.ll
    M llvm/test/Analysis/CostModel/SystemZ/int-arith.ll
    M llvm/test/CodeGen/SystemZ/args-12.ll
    M llvm/test/CodeGen/SystemZ/args-13.ll
    A llvm/test/CodeGen/SystemZ/bitop-intrinsics.ll
    A llvm/test/CodeGen/SystemZ/int-abs-03.ll
    M llvm/test/CodeGen/SystemZ/int-add-19.ll
    A llvm/test/CodeGen/SystemZ/int-cmp-64.ll
    A llvm/test/CodeGen/SystemZ/int-conv-15.ll
    A llvm/test/CodeGen/SystemZ/int-div-08.ll
    A llvm/test/CodeGen/SystemZ/int-max-02.ll
    A llvm/test/CodeGen/SystemZ/int-min-02.ll
    A llvm/test/CodeGen/SystemZ/int-mul-14.ll
    A llvm/test/CodeGen/SystemZ/int-mul-15.ll
    A llvm/test/CodeGen/SystemZ/int-mul-16.ll
    A llvm/test/CodeGen/SystemZ/int-neg-04.ll
    M llvm/test/CodeGen/SystemZ/int-sub-12.ll
    A llvm/test/CodeGen/SystemZ/llxa-01.ll
    A llvm/test/CodeGen/SystemZ/llxa-02.ll
    A llvm/test/CodeGen/SystemZ/llxa-03.ll
    A llvm/test/CodeGen/SystemZ/llxa-04.ll
    A llvm/test/CodeGen/SystemZ/llxa-05.ll
    A llvm/test/CodeGen/SystemZ/lxa-01.ll
    A llvm/test/CodeGen/SystemZ/lxa-02.ll
    A llvm/test/CodeGen/SystemZ/lxa-03.ll
    A llvm/test/CodeGen/SystemZ/lxa-04.ll
    A llvm/test/CodeGen/SystemZ/lxa-05.ll
    A llvm/test/CodeGen/SystemZ/scalar-ctlz-03.ll
    A llvm/test/CodeGen/SystemZ/scalar-ctlz-04.ll
    A llvm/test/CodeGen/SystemZ/scalar-cttz-03.ll
    A llvm/test/CodeGen/SystemZ/scalar-cttz-04.ll
    A llvm/test/CodeGen/SystemZ/vec-cmp-09.ll
    A llvm/test/CodeGen/SystemZ/vec-div-03.ll
    A llvm/test/CodeGen/SystemZ/vec-eval.ll
    A llvm/test/CodeGen/SystemZ/vec-intrinsics-05.ll
    A llvm/test/CodeGen/SystemZ/vec-mul-06.ll
    A llvm/test/MC/Disassembler/SystemZ/insns-arch15.txt
    A llvm/test/MC/SystemZ/insn-bad-arch15.s
    M llvm/test/MC/SystemZ/insn-bad-z16.s
    A llvm/test/MC/SystemZ/insn-good-arch15.s
    M llvm/unittests/TargetParser/Host.cpp

  Log Message:
  -----------
  [SystemZ] Add support for new cpu architecture - arch15

This patch adds support for the next-generation arch15
CPU architecture to the SystemZ backend.

This includes:
- Basic support for the new processor and its features.
- Detection of arch15 as host processor.
- Assembler/disassembler support for new instructions.
- Exploitation of new instructions for code generation.
- New vector (signed|unsigned|bool) __int128 data types.
- New LLVM intrinsics for certain new instructions.
- Support for low-level builtins mapped to new LLVM intrinsics.
- New high-level intrinsics in vecintrin.h.
- Indicate support by defining  __VEC__ == 10305.

Note: No currently available Z system supports the arch15
architecture.  Once new systems become available, the
official system name will be added as supported -march name.


  Commit: 8b879d106bc578151392fa12e5ddf800edb515cc
      https://github.com/llvm/llvm-project/commit/8b879d106bc578151392fa12e5ddf800edb515cc
  Author: Michał Górny <mgorny at gentoo.org>
  Date:   2025-01-20 (Mon, 20 Jan 2025)

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

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

This reverts commit af6616676fb7f9dd4898290ea684ee0c90f1701d.  It broke
builds with `-DBUILD_SHARED_LIBS=ON`.


  Commit: 623ba9bb3bbde3bd055f336ffc67d3f5c725903a
      https://github.com/llvm/llvm-project/commit/623ba9bb3bbde3bd055f336ffc67d3f5c725903a
  Author: Louis Dionne <ldionne.2 at gmail.com>
  Date:   2025-01-20 (Mon, 20 Jan 2025)

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

  Log Message:
  -----------
  [libc++] Add missing _LIBCPP_NODEBUG on internal alias


  Commit: 9c464e60d2c74094e3782d363e482c98762036ee
      https://github.com/llvm/llvm-project/commit/9c464e60d2c74094e3782d363e482c98762036ee
  Author: Leandro Lupori <leandro.lupori at linaro.org>
  Date:   2025-01-20 (Mon, 20 Jan 2025)

  Changed paths:
    M flang/lib/Semantics/resolve-directives.cpp
    M flang/test/Semantics/OpenMP/doconcurrent01.f90
    A flang/test/Semantics/OpenMP/forall.f90

  Log Message:
  -----------
  [flang][OpenMP] Don't try to privatize FORALL/DO CONCURRENT indices (#123341)

FORALL/DO CONCURRENT indices have predetermined private DSA (OpenMP 5.2
5.1.1).

As FORALL/DO CONCURRENT indices are defined in the construct itself, and
OpenMP
directives may not appear in it, they are already private and don't need
to be modified.

Fixes https://github.com/llvm/llvm-project/issues/100919
Fixes https://github.com/llvm/llvm-project/issues/120023
Fixes https://github.com/llvm/llvm-project/issues/123537


  Commit: 4df28af7134518981d40cb3242b2a90af867fdae
      https://github.com/llvm/llvm-project/commit/4df28af7134518981d40cb3242b2a90af867fdae
  Author: Oleksandr "Alex" Zinenko <git at ozinenko.com>
  Date:   2025-01-20 (Mon, 20 Jan 2025)

  Changed paths:
    M mlir/lib/Conversion/GPUCommon/OpToFuncCallLowering.h
    M mlir/lib/Conversion/GPUToNVVM/LowerGpuOpsToNVVMOps.cpp
    M mlir/test/Conversion/GPUToNVVM/gpu-to-nvvm.mlir

  Log Message:
  -----------
  [mlir] Add lowering of absi and fpowi to libdevice (#123644)

More concise version of #123422.

---------

Co-authored-by: William S. Moses <gh at wsmoses.com>


  Commit: 2c9cc7806ed5f07230ab509ce46e8160ff0a2e53
      https://github.com/llvm/llvm-project/commit/2c9cc7806ed5f07230ab509ce46e8160ff0a2e53
  Author: Nikita Popov <npopov at redhat.com>
  Date:   2025-01-20 (Mon, 20 Jan 2025)

  Changed paths:
    M llvm/Maintainers.md

  Log Message:
  -----------
  [LLVM] Update cmake and library layering maintainers (#120542)

Currently @chandlerc is listed as the maintainer for "CMake and library
layering", but he has not been active in that area in while.
Consequently, this patch updates the maintainers for CMake and
library layering to folks who are working more actively in these
areas.

See https://llvm.org/docs/DeveloperPolicy.html#maintainers for
context on the maintainers terminology.


  Commit: 1434313bd8c425b2aadc301ddaf42a91552e609e
      https://github.com/llvm/llvm-project/commit/1434313bd8c425b2aadc301ddaf42a91552e609e
  Author: Craig Topper <craig.topper at sifive.com>
  Date:   2025-01-20 (Mon, 20 Jan 2025)

  Changed paths:
    M llvm/include/llvm/CodeGen/LiveRegMatrix.h
    M llvm/lib/CodeGen/LiveRegMatrix.cpp

  Log Message:
  -----------
  [LiveRegMatrix] Use MCRegUnit instead of MCRegister for register unit. NFC

MCRegister should be used for registers, not register units.


  Commit: 3d08fa25824cafc748086d06e0b51b7f0f334b8e
      https://github.com/llvm/llvm-project/commit/3d08fa25824cafc748086d06e0b51b7f0f334b8e
  Author: Louis Dionne <ldionne.2 at gmail.com>
  Date:   2025-01-20 (Mon, 20 Jan 2025)

  Changed paths:
    M libcxx/include/future

  Log Message:
  -----------
  [libc++] Another _LIBCPP_NODEBUG fix


  Commit: e68d18c34e3e7afef01d5a906403d633ab21c6de
      https://github.com/llvm/llvm-project/commit/e68d18c34e3e7afef01d5a906403d633ab21c6de
  Author: Aiden Grossman <aidengrossman at google.com>
  Date:   2025-01-20 (Mon, 20 Jan 2025)

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

  Log Message:
  -----------
  [Github] Add Zlib at build time to CI container (#123489)

This patch adds zlib at build time to the CI container. This is needed
to make an lldb test pass that defaults to using the system lld if it is
not explicitly enabled in LLVM_ENABLE_PROJECTS.

Fixes #123479 (by fixing the proximal cause).


  Commit: d35d7f4b13c079f962be2c866339b0ab3ad8c452
      https://github.com/llvm/llvm-project/commit/d35d7f4b13c079f962be2c866339b0ab3ad8c452
  Author: Aiden Grossman <aidengrossman at google.com>
  Date:   2025-01-20 (Mon, 20 Jan 2025)

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

  Log Message:
  -----------
  [Github] Add Agent Container Image (#123486)

This patch adds an agent container image on top of the normal CI
container image. They are the exact same except that the agent container
image also contains Github Runner binaries. I've split it into a
separate container as only one user of these images (the new premerge)
needs this binary installed, and it bloats the container image size
significantly (900MB->1.3GB or so).


  Commit: 2f1bc68580e3fecc6dd57dd5aabdd77f5d6559b0
      https://github.com/llvm/llvm-project/commit/2f1bc68580e3fecc6dd57dd5aabdd77f5d6559b0
  Author: Henry Jiang <h243jian at uwaterloo.ca>
  Date:   2025-01-20 (Mon, 20 Jan 2025)

  Changed paths:
    M flang/test/HLFIR/unroll-loops.fir
    M flang/test/Integration/unroll-loops.f90

  Log Message:
  -----------
  [flang][PPC] XFAIL unroll-loops on PPC (#123661)

xfail the following 2 test cases that are failing on PowerPC buildbots
`ppc64-flang-aix` and `ppc64le-flang-rhel-clang` due toPR #122906.
Defect opened:  #123668.

FAIL: Flang::unroll-loops.fir
FAIL: Flang::unroll-loops.f90


  Commit: 28ae363ec03e565eaa70393027da70f389e6ca43
      https://github.com/llvm/llvm-project/commit/28ae363ec03e565eaa70393027da70f389e6ca43
  Author: Brox Chen <guochen2 at amd.com>
  Date:   2025-01-20 (Mon, 20 Jan 2025)

  Changed paths:
    M llvm/lib/Target/AMDGPU/VOPCInstructions.td
    M llvm/test/MC/AMDGPU/gfx11_asm_vop3_dpp16_from_vopc.s
    M llvm/test/MC/AMDGPU/gfx11_asm_vop3_dpp8_from_vopc.s
    M llvm/test/MC/AMDGPU/gfx11_asm_vop3_from_vopc.s
    M llvm/test/MC/AMDGPU/gfx11_asm_vopc.s
    M llvm/test/MC/AMDGPU/gfx11_asm_vopc_dpp16.s
    M llvm/test/MC/AMDGPU/gfx11_asm_vopc_dpp8.s
    M llvm/test/MC/AMDGPU/gfx11_asm_vopc_t16_err.s
    M llvm/test/MC/AMDGPU/gfx11_asm_vopc_t16_promote.s
    M llvm/test/MC/AMDGPU/gfx12_asm_vop3c.s
    M llvm/test/MC/AMDGPU/gfx12_asm_vop3c_dpp16.s
    M llvm/test/MC/AMDGPU/gfx12_asm_vop3c_dpp8.s
    M llvm/test/MC/AMDGPU/gfx12_asm_vopc.s
    M llvm/test/MC/AMDGPU/gfx12_asm_vopc_dpp16.s
    M llvm/test/MC/AMDGPU/gfx12_asm_vopc_dpp8.s
    M llvm/test/MC/AMDGPU/gfx12_asm_vopc_t16_err.s
    M llvm/test/MC/AMDGPU/gfx12_asm_vopc_t16_promote.s
    M llvm/test/MC/Disassembler/AMDGPU/gfx11_dasm_vop3_dpp16_from_vopc.txt
    M llvm/test/MC/Disassembler/AMDGPU/gfx11_dasm_vop3_dpp8_from_vopc.txt
    M llvm/test/MC/Disassembler/AMDGPU/gfx11_dasm_vop3_from_vopc.txt
    M llvm/test/MC/Disassembler/AMDGPU/gfx11_dasm_vopc.txt
    M llvm/test/MC/Disassembler/AMDGPU/gfx11_dasm_vopc_dpp16.txt
    M llvm/test/MC/Disassembler/AMDGPU/gfx11_dasm_vopc_dpp8.txt
    M llvm/test/MC/Disassembler/AMDGPU/gfx12_dasm_vop3c.txt
    M llvm/test/MC/Disassembler/AMDGPU/gfx12_dasm_vop3c_dpp16.txt
    M llvm/test/MC/Disassembler/AMDGPU/gfx12_dasm_vop3c_dpp8.txt
    M llvm/test/MC/Disassembler/AMDGPU/gfx12_dasm_vopc.txt
    M llvm/test/MC/Disassembler/AMDGPU/gfx12_dasm_vopc_dpp16.txt
    M llvm/test/MC/Disassembler/AMDGPU/gfx12_dasm_vopc_dpp8.txt

  Log Message:
  -----------
  [AMDGPU][True16][MC] true16 for v_cmp_xx_i/u16 (#122968)

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

v_cmp_lt_i16
v_cmp_eq_i16
v_cmp_le_i16
v_cmp_gt_i16
v_cmp_ne_i16
v_cmp_ge_i16
v_cmp_lt_u16
v_cmp_eq_u16
v_cmp_le_u16
v_cmp_gt_u16
v_cmp_ne_u16
v_cmp_ge_u16


  Commit: e5992b686bb06dd53a4ff1e9586fa350d3ff43b5
      https://github.com/llvm/llvm-project/commit/e5992b686bb06dd53a4ff1e9586fa350d3ff43b5
  Author: Amr Hesham <amr96 at programmer.net>
  Date:   2025-01-20 (Mon, 20 Jan 2025)

  Changed paths:
    M clang/docs/ReleaseNotes.rst
    M clang/lib/Sema/SemaChecking.cpp
    M clang/test/Sema/warn-infinity-nan-disabled-lnx.cpp
    M clang/test/Sema/warn-infinity-nan-disabled-win.cpp

  Log Message:
  -----------
  [Clang] Fix warning for non std functions with name `infinity` (#123417)

Fix reporting diagnostic for non std functions that has the name
`infinity`

Fixes: #123231


  Commit: fb974e89095af01a15cf959ba0694c0beb404b9f
      https://github.com/llvm/llvm-project/commit/fb974e89095af01a15cf959ba0694c0beb404b9f
  Author: kkent030315 <hrn832 at gmail.com>
  Date:   2025-01-20 (Mon, 20 Jan 2025)

  Changed paths:
    M lld/COFF/Config.h
    M lld/COFF/Driver.cpp
    M lld/COFF/Driver.h
    M lld/COFF/DriverUtils.cpp
    M lld/COFF/Writer.cpp
    A lld/test/COFF/Inputs/stub63mz
    A lld/test/COFF/Inputs/stub64mz
    A lld/test/COFF/Inputs/stub64zz
    A lld/test/COFF/Inputs/stub68mz
    A lld/test/COFF/stub.test

  Log Message:
  -----------
  [LLD][COFF] Add support for custom DOS stub (#122561)

This change implements support for the /stub flag to align with MS
link.exe. This option is useful when a program needs to optimize the DOS
program that executes when the PE runs on DOS, avoiding the traditional
hardcoded DOS program in LLD.


  Commit: 2cfddda1f5c6afdc626eb07304c25ecec4376b0b
      https://github.com/llvm/llvm-project/commit/2cfddda1f5c6afdc626eb07304c25ecec4376b0b
  Author: Jacek Caban <jacek at codeweavers.com>
  Date:   2025-01-20 (Mon, 20 Jan 2025)

  Changed paths:
    M lld/COFF/DLL.cpp
    M lld/COFF/DLL.h
    M lld/COFF/Writer.cpp

  Log Message:
  -----------
  [LLD][COFF] Simplify creation of .edata chunks (NFC) (#123651)

Since commit dadc6f2488684, only the constructor of the `EdataContents`
class is used. Replace it with a function and skip the call when using a
custom `.edata` section.


  Commit: bd5e12e6a08d60015102a2a2a763353399499ccc
      https://github.com/llvm/llvm-project/commit/bd5e12e6a08d60015102a2a2a763353399499ccc
  Author: Florian Hahn <flo at fhahn.com>
  Date:   2025-01-20 (Mon, 20 Jan 2025)

  Changed paths:
    M llvm/lib/Transforms/Vectorize/VPlanUtils.h

  Log Message:
  -----------
  [VPlan] Don't retrieve Def unnecessarily in isUniformAfterVector (NFC).

dyn_cast for recipes take VPValues, avoid calling getDefiningRecipe
unnecessarily.


  Commit: 697c1883f15b81cc526ed2d72cf00f9eaea2502f
      https://github.com/llvm/llvm-project/commit/697c1883f15b81cc526ed2d72cf00f9eaea2502f
  Author: Krzysztof Drewniak <Krzysztof.Drewniak at amd.com>
  Date:   2025-01-20 (Mon, 20 Jan 2025)

  Changed paths:
    M llvm/lib/Target/AMDGPU/AMDGPULowerBufferFatPointers.cpp
    A llvm/test/CodeGen/AMDGPU/buffer-fat-pointers-contents-legalization.ll
    A llvm/test/CodeGen/AMDGPU/llvm.amdgcn.raw.ptr.buffer.store.nxv2i32.fail.ll
    M llvm/test/CodeGen/AMDGPU/lower-buffer-fat-pointers-calls.ll
    M llvm/test/CodeGen/AMDGPU/lower-buffer-fat-pointers-contents-legalization.ll
    M llvm/test/CodeGen/AMDGPU/lower-buffer-fat-pointers-unoptimized-debug-data.ll

  Log Message:
  -----------
  Reapply "[AMDGPU] Handle natively unsupported types in addrspace(7) lowering" (#123660)

(#123657)

This reverts commit 64749fb01538fba2b56d9850497d5f3a626cabc2.

Adds a constructor to VecSlice to address the failure


  Commit: 5e4c34a9b67d9ce15d14f83bcea96ccb69de1eae
      https://github.com/llvm/llvm-project/commit/5e4c34a9b67d9ce15d14f83bcea96ccb69de1eae
  Author: Alexey Bataev <a.bataev at outlook.com>
  Date:   2025-01-20 (Mon, 20 Jan 2025)

  Changed paths:
    A llvm/test/Transforms/SLPVectorizer/X86/multi-node-reuse-in-bv.ll

  Log Message:
  -----------
  [SLP][NFC]Add a test with incorrect length and cost for repeated matching node


  Commit: 7d01a8f2b9ac28ffe73bef4b513d383d3edf34b5
      https://github.com/llvm/llvm-project/commit/7d01a8f2b9ac28ffe73bef4b513d383d3edf34b5
  Author: Alexey Bataev <a.bataev at outlook.com>
  Date:   2025-01-20 (Mon, 20 Jan 2025)

  Changed paths:
    M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
    M llvm/test/Transforms/SLPVectorizer/X86/multi-node-reuse-in-bv.ll

  Log Message:
  -----------
  [SLP]Fix vector factor for repeated node for bv

When adding a node vector, when it is used already in the shuffle for
buildvector, need to calculate vector factor from all vector, not only
this single vector, to avoid incorrect result. Also, need to increase
stability of the reused entries detection to avoid mismatch in cost
estimation/codegen.

Fixes #123639


  Commit: f427fef09265fe3e0d1a8b38eb960403377fb772
      https://github.com/llvm/llvm-project/commit/f427fef09265fe3e0d1a8b38eb960403377fb772
  Author: Michal Paszkowski <michal at michalpaszkowski.com>
  Date:   2025-01-20 (Mon, 20 Jan 2025)

  Changed paths:
    M .github/workflows/spirv-tests.yml
    M llvm/CMakeLists.txt
    M llvm/Maintainers.md
    M llvm/docs/ReleaseNotes.md

  Log Message:
  -----------
  [SPIR-V] Add SPIRV to LLVM_ALL_TARGETS (reapply) (#123654)

This commit promotes the SPIR-V backend from experimental to official
status. As a result, SPIR-V will be built by default, simplifying
integration and increasing accessibility for downstream projects.

Discussion and RFC on Discourse:
https://discourse.llvm.org/t/rfc-promoting-spir-v-to-an-official-target/83614

The PR reapplies the original patch
https://github.com/llvm/llvm-project/pull/119653, reverted due to
buildbot failures.


  Commit: 3f0ac4653be567bb252759735884daee0dd99153
      https://github.com/llvm/llvm-project/commit/3f0ac4653be567bb252759735884daee0dd99153
  Author: Michal Paszkowski <michal at michalpaszkowski.com>
  Date:   2025-01-20 (Mon, 20 Jan 2025)

  Changed paths:
    M .github/workflows/spirv-tests.yml
    M llvm/CMakeLists.txt
    M llvm/Maintainers.md
    M llvm/docs/ReleaseNotes.md

  Log Message:
  -----------
  Revert "[SPIR-V] Add SPIRV to LLVM_ALL_TARGETS (reapply)" (#123674)

Reverts llvm/llvm-project#123654 due to buildbot issue


  Commit: 06c54bc1a200fd87bbf4b81db70f52159c79f5bf
      https://github.com/llvm/llvm-project/commit/06c54bc1a200fd87bbf4b81db70f52159c79f5bf
  Author: Jonas Devlieghere <jonas at devlieghere.com>
  Date:   2025-01-20 (Mon, 20 Jan 2025)

  Changed paths:
    M lldb/docs/use/formatting.rst
    M lldb/include/lldb/Core/FormatEntity.h
    M lldb/source/Core/FormatEntity.cpp
    M lldb/unittests/Core/FormatEntityTest.cpp

  Log Message:
  -----------
  [lldb] Implement ${target.file} format variable (#123431)

Implements a format variable to print the basename and full path to the
current target.


  Commit: b6287fd9714d2a34b27e7ef4953f6e68f39463a4
      https://github.com/llvm/llvm-project/commit/b6287fd9714d2a34b27e7ef4953f6e68f39463a4
  Author: Justin Bogner <mail at justinbogner.com>
  Date:   2025-01-20 (Mon, 20 Jan 2025)

  Changed paths:
    M llvm/include/llvm/BinaryFormat/DXContainerConstants.def
    M llvm/lib/Target/DirectX/DXILShaderFlags.cpp
    A llvm/test/CodeGen/DirectX/ShaderFlags/raw-and-structured-buffers.ll

  Log Message:
  -----------
  [DirectX] Set the EnableRawAndStructuredBuffers shader flag (#122667)

When raw or structured buffers are used, we need to set the DXIL flag
saying so.

Fixes #122663.


  Commit: a3beb7db36dfc8fee9b42ff8ed5adb37588d6839
      https://github.com/llvm/llvm-project/commit/a3beb7db36dfc8fee9b42ff8ed5adb37588d6839
  Author: Tom Stellard <tstellar at redhat.com>
  Date:   2025-01-20 (Mon, 20 Jan 2025)

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

  Log Message:
  -----------
  Workflows: Drop Windows release builds and use more powerful runners for others (#117111)

We have community provided Windows builds that are better than what we
can build on GitHub. For the Linux/X86 builds and Mac/Aarch64 builds we
will use depot runners, for Mac/X86 we will use the larger GitHub
runners.


  Commit: a0c68119bdf0a57487fb95e2d735f2c84c498972
      https://github.com/llvm/llvm-project/commit/a0c68119bdf0a57487fb95e2d735f2c84c498972
  Author: Aiden Grossman <aidengrossman at google.com>
  Date:   2025-01-21 (Tue, 21 Jan 2025)

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

  Log Message:
  -----------
  [Github] Fix container push job

This patch fixes a typo impacting functionality and also adds the relevant
variables to the step outputs list so they can actually get picked up by the
push container step.


  Commit: 271b3383d7d86d5945b13117558cfe600aac3528
      https://github.com/llvm/llvm-project/commit/271b3383d7d86d5945b13117558cfe600aac3528
  Author: Jason Eckhardt <jeckhardt at nvidia.com>
  Date:   2025-01-20 (Mon, 20 Jan 2025)

  Changed paths:
    M llvm/test/TableGen/generic-tables-instruction.td
    M llvm/test/TableGen/generic-tables.td
    M llvm/utils/TableGen/SearchableTableEmitter.cpp

  Log Message:
  -----------
  [TableGen][NFC] Factor early-out range check. (#123645)

Combine the EarlyOut and IsContiguous range check.
Also avoid "comparison is always false" warnings in emitted code when
the lower-bound check is against 0.


  Commit: 4e2efc3bd500836d0fa977d6e257ffee2c92e178
      https://github.com/llvm/llvm-project/commit/4e2efc3bd500836d0fa977d6e257ffee2c92e178
  Author: Yaxun (Sam) Liu <yaxun.liu at amd.com>
  Date:   2025-01-20 (Mon, 20 Jan 2025)

  Changed paths:
    M clang/docs/ClangOffloadBundler.rst
    M clang/docs/ReleaseNotes.rst
    M clang/include/clang/Driver/OffloadBundler.h
    M clang/lib/Driver/OffloadBundler.cpp
    M clang/test/Driver/clang-offload-bundler-zlib.c

  Log Message:
  -----------
  [OffloadBundler] Compress bundles over 4GB (#122307)

Added initial support for version 3 of the compressed offload bundle
format, which uses 64-bit fields for Total File Size and Uncompressed
Binary Size. This enables support for files larger than 4GB. The support
is currently experimental and can be enabled by setting the environment
variable `COMPRESSED_BUNDLE_FORMAT_VERSION=3`.


  Commit: 72c560da4b923b42114490093794e585144879f4
      https://github.com/llvm/llvm-project/commit/72c560da4b923b42114490093794e585144879f4
  Author: Yaxun (Sam) Liu <yaxun.liu at amd.com>
  Date:   2025-01-20 (Mon, 20 Jan 2025)

  Changed paths:
    M clang/docs/ClangOffloadBundler.rst
    M clang/docs/ReleaseNotes.rst
    M clang/include/clang/Driver/OffloadBundler.h
    M clang/lib/Driver/OffloadBundler.cpp
    M clang/test/Driver/clang-offload-bundler-zlib.c

  Log Message:
  -----------
  Revert "[OffloadBundler] Compress bundles over 4GB (#122307)"

revert due to failure in buildbot

 https://lab.llvm.org/buildbot/#/builders/144/builds/16114

This reverts commit 4e2efc3bd500836d0fa977d6e257ffee2c92e178.


  Commit: b45072d9c0bff27a8943b9ecea061f5286b0aab5
      https://github.com/llvm/llvm-project/commit/b45072d9c0bff27a8943b9ecea061f5286b0aab5
  Author: Michal Paszkowski <michal at michalpaszkowski.com>
  Date:   2025-01-21 (Tue, 21 Jan 2025)

  Changed paths:
    M llvm/lib/Target/SPIRV/SPIRVBuiltins.cpp

  Log Message:
  -----------
  [SPIR-V] Fix type compatibility in memory order comparisons (#123676)

Fixed a type mismatch issue in the comparison of std::memory_order with
integers.

This fixes an issue reported by clang-debian-cpp20 buildbot for
https://github.com/llvm/llvm-project/pull/123654


  Commit: abbfed9be7e0a247ac0ca248b4b7304d879b026a
      https://github.com/llvm/llvm-project/commit/abbfed9be7e0a247ac0ca248b4b7304d879b026a
  Author: Feng Zou <feng.zou at intel.com>
  Date:   2025-01-21 (Tue, 21 Jan 2025)

  Changed paths:
    M llvm/lib/Target/X86/X86LowerAMXType.cpp
    M llvm/test/CodeGen/X86/amx-fp8-internal.ll

  Log Message:
  -----------
  [X86][AMX] Fix handling of AMX-FP8 internal intrinsics (#123540)

This is to fix #123410.


  Commit: e87b843811e147db8d1edd7fe2dd52bb90be6ebc
      https://github.com/llvm/llvm-project/commit/e87b843811e147db8d1edd7fe2dd52bb90be6ebc
  Author: Yaxun (Sam) Liu <yaxun.liu at amd.com>
  Date:   2025-01-20 (Mon, 20 Jan 2025)

  Changed paths:
    M clang/docs/ClangOffloadBundler.rst
    M clang/docs/ReleaseNotes.rst
    M clang/include/clang/Driver/OffloadBundler.h
    M clang/lib/Driver/OffloadBundler.cpp
    M clang/test/Driver/clang-offload-bundler-zlib.c

  Log Message:
  -----------
  Reland [OffloadBundler] Compress bundles over 4GB (#122307)

Reland the patch after fixing the lit test.


  Commit: 7786266dc7b4e89feadcb01ff21f9e3cf2022a6b
      https://github.com/llvm/llvm-project/commit/7786266dc7b4e89feadcb01ff21f9e3cf2022a6b
  Author: Matt Arsenault <Matthew.Arsenault at amd.com>
  Date:   2025-01-21 (Tue, 21 Jan 2025)

  Changed paths:
    A llvm/test/CodeGen/AMDGPU/shufflevector.v2bf16.v2bf16.ll
    A llvm/test/CodeGen/AMDGPU/shufflevector.v2bf16.v3bf16.ll
    A llvm/test/CodeGen/AMDGPU/shufflevector.v2bf16.v4bf16.ll
    A llvm/test/CodeGen/AMDGPU/shufflevector.v2bf16.v8bf16.ll
    A llvm/test/CodeGen/AMDGPU/shufflevector.v2f16.v2f16.ll
    A llvm/test/CodeGen/AMDGPU/shufflevector.v2f16.v3f16.ll
    A llvm/test/CodeGen/AMDGPU/shufflevector.v2f16.v4f16.ll
    A llvm/test/CodeGen/AMDGPU/shufflevector.v2f16.v8f16.ll
    A llvm/test/CodeGen/AMDGPU/shufflevector.v2f32.v2f32.ll
    A llvm/test/CodeGen/AMDGPU/shufflevector.v2f32.v3f32.ll
    A llvm/test/CodeGen/AMDGPU/shufflevector.v2f32.v4f32.ll
    A llvm/test/CodeGen/AMDGPU/shufflevector.v2f32.v8f32.ll
    A llvm/test/CodeGen/AMDGPU/shufflevector.v2i16.v2i16.ll
    A llvm/test/CodeGen/AMDGPU/shufflevector.v2i16.v3i16.ll
    A llvm/test/CodeGen/AMDGPU/shufflevector.v2i16.v4i16.ll
    A llvm/test/CodeGen/AMDGPU/shufflevector.v2i16.v8i16.ll
    A llvm/test/CodeGen/AMDGPU/shufflevector.v2i32.v2i32.ll
    A llvm/test/CodeGen/AMDGPU/shufflevector.v2i32.v3i32.ll
    A llvm/test/CodeGen/AMDGPU/shufflevector.v2i32.v4i32.ll
    A llvm/test/CodeGen/AMDGPU/shufflevector.v2i32.v8i32.ll
    A llvm/test/CodeGen/AMDGPU/shufflevector.v2i64.v2i64.ll
    A llvm/test/CodeGen/AMDGPU/shufflevector.v2i64.v3i64.ll
    A llvm/test/CodeGen/AMDGPU/shufflevector.v2i64.v4i64.ll
    A llvm/test/CodeGen/AMDGPU/shufflevector.v2i64.v8i64.ll
    A llvm/test/CodeGen/AMDGPU/shufflevector.v2p0.v2p0.ll
    A llvm/test/CodeGen/AMDGPU/shufflevector.v2p0.v3p0.ll
    A llvm/test/CodeGen/AMDGPU/shufflevector.v2p0.v4p0.ll
    A llvm/test/CodeGen/AMDGPU/shufflevector.v2p3.v2p3.ll
    A llvm/test/CodeGen/AMDGPU/shufflevector.v2p3.v3p3.ll
    A llvm/test/CodeGen/AMDGPU/shufflevector.v2p3.v4p3.ll
    A llvm/test/CodeGen/AMDGPU/shufflevector.v2p3.v8p3.ll
    A llvm/test/CodeGen/AMDGPU/shufflevector.v3bf16.v2bf16.ll
    A llvm/test/CodeGen/AMDGPU/shufflevector.v3bf16.v3bf16.ll
    A llvm/test/CodeGen/AMDGPU/shufflevector.v3bf16.v4bf16.ll
    A llvm/test/CodeGen/AMDGPU/shufflevector.v3f16.v2f16.ll
    A llvm/test/CodeGen/AMDGPU/shufflevector.v3f16.v3f16.ll
    A llvm/test/CodeGen/AMDGPU/shufflevector.v3f16.v4f16.ll
    A llvm/test/CodeGen/AMDGPU/shufflevector.v3f32.v2f32.ll
    A llvm/test/CodeGen/AMDGPU/shufflevector.v3f32.v3f32.ll
    A llvm/test/CodeGen/AMDGPU/shufflevector.v3f32.v4f32.ll
    A llvm/test/CodeGen/AMDGPU/shufflevector.v3i16.v2i16.ll
    A llvm/test/CodeGen/AMDGPU/shufflevector.v3i16.v3i16.ll
    A llvm/test/CodeGen/AMDGPU/shufflevector.v3i16.v4i16.ll
    A llvm/test/CodeGen/AMDGPU/shufflevector.v3i32.v2i32.ll
    A llvm/test/CodeGen/AMDGPU/shufflevector.v3i32.v3i32.ll
    A llvm/test/CodeGen/AMDGPU/shufflevector.v3i32.v4i32.ll
    A llvm/test/CodeGen/AMDGPU/shufflevector.v3i64.v2i64.ll
    A llvm/test/CodeGen/AMDGPU/shufflevector.v3i64.v3i64.ll
    A llvm/test/CodeGen/AMDGPU/shufflevector.v3i64.v4i64.ll
    A llvm/test/CodeGen/AMDGPU/shufflevector.v3p0.v2p0.ll
    A llvm/test/CodeGen/AMDGPU/shufflevector.v3p0.v3p0.ll
    A llvm/test/CodeGen/AMDGPU/shufflevector.v3p0.v4p0.ll
    A llvm/test/CodeGen/AMDGPU/shufflevector.v3p3.v2p3.ll
    A llvm/test/CodeGen/AMDGPU/shufflevector.v3p3.v3p3.ll
    A llvm/test/CodeGen/AMDGPU/shufflevector.v3p3.v4p3.ll
    A llvm/test/CodeGen/AMDGPU/shufflevector.v4bf16.v2bf16.ll
    A llvm/test/CodeGen/AMDGPU/shufflevector.v4bf16.v3bf16.ll
    A llvm/test/CodeGen/AMDGPU/shufflevector.v4bf16.v4bf16.ll
    A llvm/test/CodeGen/AMDGPU/shufflevector.v4f16.v2f16.ll
    A llvm/test/CodeGen/AMDGPU/shufflevector.v4f16.v3f16.ll
    A llvm/test/CodeGen/AMDGPU/shufflevector.v4f16.v4f16.ll
    A llvm/test/CodeGen/AMDGPU/shufflevector.v4f32.v2f32.ll
    A llvm/test/CodeGen/AMDGPU/shufflevector.v4f32.v3f32.ll
    A llvm/test/CodeGen/AMDGPU/shufflevector.v4f32.v4f32.ll
    A llvm/test/CodeGen/AMDGPU/shufflevector.v4i16.v2i16.ll
    A llvm/test/CodeGen/AMDGPU/shufflevector.v4i16.v3i16.ll
    A llvm/test/CodeGen/AMDGPU/shufflevector.v4i16.v4i16.ll
    A llvm/test/CodeGen/AMDGPU/shufflevector.v4i32.v2i32.ll
    A llvm/test/CodeGen/AMDGPU/shufflevector.v4i32.v3i32.ll
    A llvm/test/CodeGen/AMDGPU/shufflevector.v4i32.v4i32.ll
    A llvm/test/CodeGen/AMDGPU/shufflevector.v4i64.v2i64.ll
    A llvm/test/CodeGen/AMDGPU/shufflevector.v4i64.v3i64.ll
    A llvm/test/CodeGen/AMDGPU/shufflevector.v4i64.v4i64.ll
    A llvm/test/CodeGen/AMDGPU/shufflevector.v4p0.v2p0.ll
    A llvm/test/CodeGen/AMDGPU/shufflevector.v4p0.v3p0.ll
    A llvm/test/CodeGen/AMDGPU/shufflevector.v4p0.v4p0.ll
    A llvm/test/CodeGen/AMDGPU/shufflevector.v4p3.v2p3.ll
    A llvm/test/CodeGen/AMDGPU/shufflevector.v4p3.v3p3.ll
    A llvm/test/CodeGen/AMDGPU/shufflevector.v4p3.v4p3.ll

  Log Message:
  -----------
  AMDGPU: Expand shuffle testing with generated tests (#123574)

Add some generated tests with every shuffle permutation
for relevant vector element types and sizes. Not sure if this
is going overboard with the number of tests. I pruned out the largest
cases (16 and 32-bit cases are impractically large), and there's
redundancy when testing the pointer cases (at least for SelectionDAG).

This uses inline assembly to produce sample values because of how the
ABI is lowered when using a function argument. Since we break all
arguments into 32-bit pieces, a shuffle never ends up forming. We
need separate handling to reconstruct shuffles in contexts involving
physical registers in ABI contexts.

I wrote a small tool to generate these, so I can easily change the
exact test body. Not sure if it's worth posting anywhere.

This is in preparation for making better use of v_pk_mov_b32,
v_mov_b64 and s_mov_b64 in shuffles.


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

  Changed paths:
    M llvm/lib/Target/ARM/A15SDOptimizer.cpp
    M llvm/lib/Target/ARM/ARMBaseInstrInfo.cpp
    M llvm/lib/Target/ARM/ARMBaseInstrInfo.h
    M llvm/lib/Target/ARM/ARMBaseRegisterInfo.cpp
    M llvm/lib/Target/ARM/ARMBaseRegisterInfo.h
    M llvm/lib/Target/ARM/ARMExpandPseudoInsts.cpp
    M llvm/lib/Target/ARM/ARMFrameLowering.cpp

  Log Message:
  -----------
  [ARM] Use MCRegister instead of unsigned. NFC

Primarily around uses of getSubReg/getSuperReg.


  Commit: c2aa11d148679b7d49cdff3819d5c8bdbd807777
      https://github.com/llvm/llvm-project/commit/c2aa11d148679b7d49cdff3819d5c8bdbd807777
  Author: Thirumalai Shaktivel <74826228+Thirumalai-Shaktivel at users.noreply.github.com>
  Date:   2025-01-21 (Tue, 21 Jan 2025)

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

  Log Message:
  -----------
  [Flang] Add LLVM lowering support for UNTIED clause in Task (#121052)

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


Resubmitting the PR with fix for the failure, as it was reverted here:
927a70daf31b1610627f346b0dc140eda72144b9
and previously merged here: https://github.com/llvm/llvm-project/pull/115283


  Commit: 585858aeb6247b3892218edb9d353c63f1c33186
      https://github.com/llvm/llvm-project/commit/585858aeb6247b3892218edb9d353c63f1c33186
  Author: Matt Arsenault <Matthew.Arsenault at amd.com>
  Date:   2025-01-21 (Tue, 21 Jan 2025)

  Changed paths:
    M llvm/test/CodeGen/AMDGPU/shufflevector.v2bf16.v2bf16.ll
    M llvm/test/CodeGen/AMDGPU/shufflevector.v2bf16.v3bf16.ll
    M llvm/test/CodeGen/AMDGPU/shufflevector.v2bf16.v4bf16.ll
    M llvm/test/CodeGen/AMDGPU/shufflevector.v2bf16.v8bf16.ll
    M llvm/test/CodeGen/AMDGPU/shufflevector.v2f16.v2f16.ll
    M llvm/test/CodeGen/AMDGPU/shufflevector.v2f16.v3f16.ll
    M llvm/test/CodeGen/AMDGPU/shufflevector.v2f16.v4f16.ll
    M llvm/test/CodeGen/AMDGPU/shufflevector.v2f16.v8f16.ll
    M llvm/test/CodeGen/AMDGPU/shufflevector.v2f32.v2f32.ll
    M llvm/test/CodeGen/AMDGPU/shufflevector.v2f32.v3f32.ll
    M llvm/test/CodeGen/AMDGPU/shufflevector.v2f32.v4f32.ll
    M llvm/test/CodeGen/AMDGPU/shufflevector.v2f32.v8f32.ll
    M llvm/test/CodeGen/AMDGPU/shufflevector.v2i16.v2i16.ll
    M llvm/test/CodeGen/AMDGPU/shufflevector.v2i16.v3i16.ll
    M llvm/test/CodeGen/AMDGPU/shufflevector.v2i16.v4i16.ll
    M llvm/test/CodeGen/AMDGPU/shufflevector.v2i16.v8i16.ll
    M llvm/test/CodeGen/AMDGPU/shufflevector.v2i32.v2i32.ll
    M llvm/test/CodeGen/AMDGPU/shufflevector.v2i32.v3i32.ll
    M llvm/test/CodeGen/AMDGPU/shufflevector.v2i32.v4i32.ll
    M llvm/test/CodeGen/AMDGPU/shufflevector.v2i32.v8i32.ll
    M llvm/test/CodeGen/AMDGPU/shufflevector.v2i64.v2i64.ll
    M llvm/test/CodeGen/AMDGPU/shufflevector.v2i64.v3i64.ll
    M llvm/test/CodeGen/AMDGPU/shufflevector.v2i64.v4i64.ll
    M llvm/test/CodeGen/AMDGPU/shufflevector.v2i64.v8i64.ll
    M llvm/test/CodeGen/AMDGPU/shufflevector.v2p0.v2p0.ll
    M llvm/test/CodeGen/AMDGPU/shufflevector.v2p0.v3p0.ll
    M llvm/test/CodeGen/AMDGPU/shufflevector.v2p0.v4p0.ll
    M llvm/test/CodeGen/AMDGPU/shufflevector.v2p3.v2p3.ll
    M llvm/test/CodeGen/AMDGPU/shufflevector.v2p3.v3p3.ll
    M llvm/test/CodeGen/AMDGPU/shufflevector.v2p3.v4p3.ll
    M llvm/test/CodeGen/AMDGPU/shufflevector.v2p3.v8p3.ll
    M llvm/test/CodeGen/AMDGPU/shufflevector.v3bf16.v2bf16.ll
    M llvm/test/CodeGen/AMDGPU/shufflevector.v3bf16.v3bf16.ll
    M llvm/test/CodeGen/AMDGPU/shufflevector.v3bf16.v4bf16.ll
    M llvm/test/CodeGen/AMDGPU/shufflevector.v3f16.v2f16.ll
    M llvm/test/CodeGen/AMDGPU/shufflevector.v3f16.v3f16.ll
    M llvm/test/CodeGen/AMDGPU/shufflevector.v3f16.v4f16.ll
    M llvm/test/CodeGen/AMDGPU/shufflevector.v3f32.v2f32.ll
    M llvm/test/CodeGen/AMDGPU/shufflevector.v3f32.v3f32.ll
    M llvm/test/CodeGen/AMDGPU/shufflevector.v3f32.v4f32.ll
    M llvm/test/CodeGen/AMDGPU/shufflevector.v3i16.v2i16.ll
    M llvm/test/CodeGen/AMDGPU/shufflevector.v3i16.v3i16.ll
    M llvm/test/CodeGen/AMDGPU/shufflevector.v3i16.v4i16.ll
    M llvm/test/CodeGen/AMDGPU/shufflevector.v3i32.v2i32.ll
    M llvm/test/CodeGen/AMDGPU/shufflevector.v3i32.v3i32.ll
    M llvm/test/CodeGen/AMDGPU/shufflevector.v3i32.v4i32.ll
    M llvm/test/CodeGen/AMDGPU/shufflevector.v3i64.v2i64.ll
    M llvm/test/CodeGen/AMDGPU/shufflevector.v3i64.v3i64.ll
    M llvm/test/CodeGen/AMDGPU/shufflevector.v3i64.v4i64.ll
    M llvm/test/CodeGen/AMDGPU/shufflevector.v3p0.v2p0.ll
    M llvm/test/CodeGen/AMDGPU/shufflevector.v3p0.v3p0.ll
    M llvm/test/CodeGen/AMDGPU/shufflevector.v3p0.v4p0.ll
    M llvm/test/CodeGen/AMDGPU/shufflevector.v3p3.v2p3.ll
    M llvm/test/CodeGen/AMDGPU/shufflevector.v3p3.v3p3.ll
    M llvm/test/CodeGen/AMDGPU/shufflevector.v3p3.v4p3.ll
    M llvm/test/CodeGen/AMDGPU/shufflevector.v4bf16.v2bf16.ll
    M llvm/test/CodeGen/AMDGPU/shufflevector.v4bf16.v3bf16.ll
    M llvm/test/CodeGen/AMDGPU/shufflevector.v4bf16.v4bf16.ll
    M llvm/test/CodeGen/AMDGPU/shufflevector.v4f16.v2f16.ll
    M llvm/test/CodeGen/AMDGPU/shufflevector.v4f16.v3f16.ll
    M llvm/test/CodeGen/AMDGPU/shufflevector.v4f16.v4f16.ll
    M llvm/test/CodeGen/AMDGPU/shufflevector.v4f32.v2f32.ll
    M llvm/test/CodeGen/AMDGPU/shufflevector.v4f32.v3f32.ll
    M llvm/test/CodeGen/AMDGPU/shufflevector.v4f32.v4f32.ll
    M llvm/test/CodeGen/AMDGPU/shufflevector.v4i16.v2i16.ll
    M llvm/test/CodeGen/AMDGPU/shufflevector.v4i16.v3i16.ll
    M llvm/test/CodeGen/AMDGPU/shufflevector.v4i16.v4i16.ll
    M llvm/test/CodeGen/AMDGPU/shufflevector.v4i32.v2i32.ll
    M llvm/test/CodeGen/AMDGPU/shufflevector.v4i32.v3i32.ll
    M llvm/test/CodeGen/AMDGPU/shufflevector.v4i32.v4i32.ll
    M llvm/test/CodeGen/AMDGPU/shufflevector.v4i64.v2i64.ll
    M llvm/test/CodeGen/AMDGPU/shufflevector.v4i64.v3i64.ll
    M llvm/test/CodeGen/AMDGPU/shufflevector.v4i64.v4i64.ll
    M llvm/test/CodeGen/AMDGPU/shufflevector.v4p0.v2p0.ll
    M llvm/test/CodeGen/AMDGPU/shufflevector.v4p0.v3p0.ll
    M llvm/test/CodeGen/AMDGPU/shufflevector.v4p0.v4p0.ll
    M llvm/test/CodeGen/AMDGPU/shufflevector.v4p3.v2p3.ll
    M llvm/test/CodeGen/AMDGPU/shufflevector.v4p3.v3p3.ll
    M llvm/test/CodeGen/AMDGPU/shufflevector.v4p3.v4p3.ll

  Log Message:
  -----------
  AMDGPU: Fix asm constrains in new shuffle tests

These passed prechecks but failed after cc5eba1737146a727a61b5dbe16d8c2ac453981e


  Commit: 2d9f40694324a72c2b7a3d6a9cfcc7ce8069afc1
      https://github.com/llvm/llvm-project/commit/2d9f40694324a72c2b7a3d6a9cfcc7ce8069afc1
  Author: Joseph Huber <huberjn at outlook.com>
  Date:   2025-01-20 (Mon, 20 Jan 2025)

  Changed paths:
    M offload/DeviceRTL/include/Debug.h
    M offload/DeviceRTL/include/LibC.h
    M offload/DeviceRTL/src/Debug.cpp
    M offload/DeviceRTL/src/LibC.cpp
    M offload/DeviceRTL/src/Parallelism.cpp
    M offload/DeviceRTL/src/State.cpp

  Log Message:
  -----------
  [OpenMP] Adjust 'printf' handling in the OpenMP runtime (#123670)

Summary:
We used to avoid a lot of this stuff because we didn't properly handle
variadics in device code. That's been solved for now, so we can just
make an internal printf handler that forwards to the external `vprintf`
function. This is either provided by NVIDIA's SDK or by the GPU libc
implementation.

The main reason for doing this is because it prevents the stupid AMDGPU
printf pass from mangling our beautiful printfs!


  Commit: 3274bf6b4282a0dafd4b5a2efa09824e5ca417d0
      https://github.com/llvm/llvm-project/commit/3274bf6b4282a0dafd4b5a2efa09824e5ca417d0
  Author: Joseph Huber <huberjn at outlook.com>
  Date:   2025-01-20 (Mon, 20 Jan 2025)

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

  Log Message:
  -----------
  [OpenMP] Make each atomic helper take an atomic scope argument (#122786)

Summary:
Right now we just default to device for each type, and mix an ad-hoc
scope with the one used by the compiler's builtins. Unify this can make
each version take the scope optionally.

For @ronlieb, this will remove the need for `add_system` in the fork as
well as the extra `cas` with system scope, just pass `system`.


  Commit: afced70e697e66fb6920b53d489d3fa4498e22dc
      https://github.com/llvm/llvm-project/commit/afced70e697e66fb6920b53d489d3fa4498e22dc
  Author: Jan Patrick Lehr <JanPatrick.Lehr at amd.com>
  Date:   2025-01-20 (Mon, 20 Jan 2025)

  Changed paths:
    M flang/test/Lower/OpenMP/Todo/allocate-clause-allocator.f90

  Log Message:
  -----------
  [OpenMP][Flang] Workaround omp_lib error (#123666)

It appears that omp_lib is not correctly (or maybe not at all?) found
from the build directory. This made a few buildbots break after
[PR#121356](https://github.com/llvm/llvm-project/pull/121356) landed.
This is a workaround to unblock the buildbots.

https://lab.llvm.org/staging/#/builders/130/builds/12654
https://lab.llvm.org/buildbot/#/builders/140/builds/15102
https://lab.llvm.org/staging/#/builders/105/builds/13855


  Commit: 5d281a480e5caae09962b863960d7d057e908a3c
      https://github.com/llvm/llvm-project/commit/5d281a480e5caae09962b863960d7d057e908a3c
  Author: Madhur Amilkanthwar <madhura at nvidia.com>
  Date:   2025-01-21 (Tue, 21 Jan 2025)

  Changed paths:
    M llvm/lib/Transforms/Scalar/LoopInterchange.cpp
    A llvm/test/Transforms/LoopInterchange/many-load-stores.ll

  Log Message:
  -----------
  [LoopInterchange] Constrain number of  load/stores in a loop (#118973)

In the current state of the code, the transform computes entries for the
dependency matrix until `MaxMemInstrCount` which is 100. After 99th
entry, it terminates and thus overall wastes compile-time.

It would be nice if we can compute total number of entries upfront and
early exit if the number of entries > 100. However, computing the number
of entries is not always possible as it depends on two factors:
1. Number of load-store pairs in a loop.
2. Number of common loop levels for each of the pair.

This patch constrains the whole computation on the number of loads and
stores instructions in the loop.

In another approach, I experimented with computing 1 and constraining
the number of pairs, but that did not lead to any additional benefit in
terms of compile time. However, when other issues are fixed, I can
revisit this approach.


  Commit: 5cde6d2fdf1e2ededf10ac0a30187c3359a93828
      https://github.com/llvm/llvm-project/commit/5cde6d2fdf1e2ededf10ac0a30187c3359a93828
  Author: Mikhail Gudim <mgudim at gmail.com>
  Date:   2025-01-21 (Tue, 21 Jan 2025)

  Changed paths:
    M llvm/include/llvm/CodeGen/ReachingDefAnalysis.h
    M llvm/lib/CodeGen/ReachingDefAnalysis.cpp

  Log Message:
  -----------
  [ReachingDefAnalysis][NFC] Replace MCRegister with Register (#123626)

This is preparation for extending ReachingDefAnalysis to stack slots. We
should use `Register`, not `MCRegister` for something that can be a
physical register or a stack slot.


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

  Changed paths:
    M clang/docs/ReleaseNotes.rst
    M clang/include/clang/Sema/Sema.h
    M clang/lib/Sema/SemaConcept.cpp
    M clang/lib/Sema/SemaLambda.cpp
    M clang/test/SemaTemplate/concepts-lambda.cpp

  Log Message:
  -----------
  [Clang] Delegate part of SetupConstraintScope's job to LambdaScopeForCallOperatorInstantiationRAII (#123687)

Now that the RAII object has a dedicate logic for handling nested
lambdas, where the inner lambda could reference any
captures/variables/parameters from the outer lambda, we can shift the
responsibility for managing lambdas away from SetupConstraintScope().

I think this also makes the structure clearer.

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


  Commit: 79231a86846b7dff09497fc58ea1e82e892052bd
      https://github.com/llvm/llvm-project/commit/79231a86846b7dff09497fc58ea1e82e892052bd
  Author: Ami-zhang <zhanglimin at loongson.cn>
  Date:   2025-01-21 (Tue, 21 Jan 2025)

  Changed paths:
    M compiler-rt/cmake/Modules/AllSupportedArchDefs.cmake
    A compiler-rt/test/orc/TestCases/Linux/loongarch64/ehframe-default.cpp
    A compiler-rt/test/orc/TestCases/Linux/loongarch64/ehframe-libunwind.cpp
    A compiler-rt/test/orc/TestCases/Linux/loongarch64/lit.local.cfg.py
    A compiler-rt/test/orc/TestCases/Linux/loongarch64/lljit-ehframe.cpp
    A compiler-rt/test/orc/TestCases/Linux/loongarch64/lljit-initialize-deinitialize.ll
    A compiler-rt/test/orc/TestCases/Linux/loongarch64/priority-static-initializer.S
    A compiler-rt/test/orc/TestCases/Linux/loongarch64/trivial-atexit.S
    A compiler-rt/test/orc/TestCases/Linux/loongarch64/trivial-cxa-atexit.S
    A compiler-rt/test/orc/TestCases/Linux/loongarch64/trivial-static-initializer.S
    M llvm/lib/ExecutionEngine/Orc/ELFNixPlatform.cpp

  Log Message:
  -----------
  [ORC-RT][LoongArch] Add initial support for loongarch64 in ELFNixPlatform (#123575)

Enable ELFNixPlatform support for loongarch64. These are few simple
changes, but it allows us to use the orc runtime in ELF/LoongArch64
backend.

This change adds test cases targeting the LoongArch64 Linux platform to
the ORC runtime integration test suite. Since jitlink for loongarch64 is
ready for general use, and ELF-based platforms support defining multiple
static initializer table sections with differing priorities, some
relevant test cases in compiler-rt for ELFNixPlatform support can be
enabled.


  Commit: 6aaa8f25b66dc1fef4e465f274ee40b82d632988
      https://github.com/llvm/llvm-project/commit/6aaa8f25b66dc1fef4e465f274ee40b82d632988
  Author: Matthias Springer <me at m-sp.org>
  Date:   2025-01-21 (Tue, 21 Jan 2025)

  Changed paths:
    M mlir/include/mlir/Dialect/XeGPU/IR/XeGPUOps.td
    M mlir/include/mlir/IR/BuiltinTypes.h
    M mlir/include/mlir/IR/BuiltinTypes.td
    M mlir/include/mlir/IR/CommonTypeConstraints.td
    M mlir/lib/CAPI/IR/BuiltinTypes.cpp
    M mlir/lib/Conversion/AMDGPUToROCDL/AMDGPUToROCDL.cpp
    M mlir/lib/Conversion/LLVMCommon/MemRefBuilder.cpp
    M mlir/lib/Conversion/LLVMCommon/Pattern.cpp
    M mlir/lib/Conversion/LLVMCommon/TypeConverter.cpp
    M mlir/lib/Conversion/MemRefToLLVM/MemRefToLLVM.cpp
    M mlir/lib/Conversion/VectorToGPU/VectorToGPU.cpp
    M mlir/lib/Conversion/VectorToLLVM/ConvertVectorToLLVM.cpp
    M mlir/lib/Conversion/VectorToSCF/VectorToSCF.cpp
    M mlir/lib/Conversion/VectorToXeGPU/VectorToXeGPU.cpp
    M mlir/lib/Dialect/AMDGPU/IR/AMDGPUDialect.cpp
    M mlir/lib/Dialect/AMX/Transforms/LegalizeForLLVMExport.cpp
    M mlir/lib/Dialect/Bufferization/IR/BufferizationOps.cpp
    M mlir/lib/Dialect/Bufferization/Transforms/BufferResultsToOutParams.cpp
    M mlir/lib/Dialect/GPU/IR/GPUDialect.cpp
    M mlir/lib/Dialect/GPU/Transforms/DecomposeMemRefs.cpp
    M mlir/lib/Dialect/MemRef/IR/MemRefOps.cpp
    M mlir/lib/Dialect/MemRef/Transforms/EmulateNarrowType.cpp
    M mlir/lib/Dialect/MemRef/Transforms/ExpandStridedMetadata.cpp
    M mlir/lib/Dialect/MemRef/Transforms/RuntimeOpVerification.cpp
    M mlir/lib/Dialect/MemRef/Utils/MemRefUtils.cpp
    M mlir/lib/Dialect/NVGPU/IR/NVGPUDialect.cpp
    M mlir/lib/Dialect/NVGPU/Transforms/CreateAsyncGroups.cpp
    M mlir/lib/Dialect/NVGPU/Utils/MMAUtils.cpp
    M mlir/lib/Dialect/SPIRV/Transforms/SPIRVConversion.cpp
    M mlir/lib/Dialect/Tensor/Transforms/BufferizableOpInterfaceImpl.cpp
    M mlir/lib/Dialect/Vector/IR/VectorOps.cpp
    M mlir/lib/Dialect/Vector/Transforms/LowerVectorTransfer.cpp
    M mlir/lib/Dialect/Vector/Transforms/VectorTransferOpTransforms.cpp
    M mlir/lib/Dialect/Vector/Transforms/VectorTransferSplitRewritePatterns.cpp
    M mlir/lib/Dialect/Vector/Transforms/VectorTransforms.cpp
    M mlir/lib/Dialect/Vector/Utils/VectorUtils.cpp
    M mlir/lib/IR/BuiltinTypes.cpp
    M mlir/test/lib/Analysis/TestMemRefStrideCalculation.cpp

  Log Message:
  -----------
  [mlir][IR][NFC] Move free-standing functions to `MemRefType` (#123465)

Turn free-standing `MemRefType`-related helper functions in
`BuiltinTypes.h` into member functions.


  Commit: 385f776b639097503eb43b124a3f68570c8c6beb
      https://github.com/llvm/llvm-project/commit/385f776b639097503eb43b124a3f68570c8c6beb
  Author: Cinhi Young <cyan at cyano.uk>
  Date:   2025-01-21 (Tue, 21 Jan 2025)

  Changed paths:
    M llvm/lib/Target/Mips/MipsSEISelLowering.cpp
    M llvm/test/CodeGen/Mips/msa/shuffle.ll

  Log Message:
  -----------
  [MIPS][MSA] Invert operand order of `ILVOD` when lowering `VECTOR_SHUFFLE` (#123555)

This PR fixes operand order of `ILVOD.df` when lowering
`VECTOR_SHUFFLE`, the result was `<y[1], x[1]>` while it should be
`<x[1], y[1]>`.

* This PR is split from #123040.


  Commit: ce32625966a922fe96aababe0ed975ada004901f
      https://github.com/llvm/llvm-project/commit/ce32625966a922fe96aababe0ed975ada004901f
  Author: Kiran Chandramohan <kiran.chandramohan at arm.com>
  Date:   2025-01-21 (Tue, 21 Jan 2025)

  Changed paths:
    M clang/include/clang/Driver/Options.td
    M clang/lib/Driver/ToolChains/Flang.cpp
    M flang/include/flang/Lower/LoweringOptions.def
    M flang/lib/Frontend/CompilerInvocation.cpp
    M flang/lib/Lower/ConvertVariable.cpp
    A flang/test/Driver/fno-zero-init.f90
    A flang/test/Lower/zero_init.f90
    A flang/test/Lower/zero_init_default_init.f90
    M flang/tools/bbc/bbc.cpp

  Log Message:
  -----------
  Reland "[Flang][Driver] Add a flag to control zero initialization" (#123606)

Reverts llvm/llvm-project#123330


  Commit: 7bb363bdd4e87ee0b1ded74ef2616643153ff756
      https://github.com/llvm/llvm-project/commit/7bb363bdd4e87ee0b1ded74ef2616643153ff756
  Author: Craig Topper <craig.topper at sifive.com>
  Date:   2025-01-21 (Tue, 21 Jan 2025)

  Changed paths:
    M llvm/include/llvm/CodeGen/TargetSubtargetInfo.h
    M llvm/lib/Target/ARM/ARMSubtarget.cpp
    M llvm/lib/Target/ARM/ARMSubtarget.h

  Log Message:
  -----------
  [CodeGen] Use MCRegister for ignoreCSRForAllocationOrder. (#123685)


  Commit: 26b87aad9e2d34d53df67522dc5aea5f7c54a458
      https://github.com/llvm/llvm-project/commit/26b87aad9e2d34d53df67522dc5aea5f7c54a458
  Author: Hervé Poussineau <hpoussin at reactos.org>
  Date:   2025-01-21 (Tue, 21 Jan 2025)

  Changed paths:
    M llvm/lib/Target/Mips/MCTargetDesc/MipsBaseInfo.h
    M llvm/lib/Target/Mips/MipsISelLowering.cpp
    M llvm/lib/Target/Mips/MipsISelLowering.h
    M llvm/lib/Target/Mips/MipsMCInstLower.cpp
    M llvm/lib/Target/Mips/MipsSubtarget.h
    A llvm/test/CodeGen/Mips/dllimport.ll
    A llvm/test/MC/Mips/coff-relocs-dllimport.ll

  Log Message:
  -----------
  [Mips] Handle declspec(dllimport) on mipsel-windows-* triples (#120912)

On Windows, imported symbols must be searched with '__imp_' prefix.
Support imported global variables and imported functions.


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

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

  Log Message:
  -----------
  [MC] Avoid repeated hash lookups (NFC) (#123698)


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

  Changed paths:
    M llvm/utils/TableGen/Basic/VTEmitter.cpp

  Log Message:
  -----------
  [TableGen] Avoid repeated map lookups (NFC) (#123699)


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

  Changed paths:
    M clang/lib/Frontend/Rewrite/RewriteModernObjC.cpp

  Log Message:
  -----------
  [Rewrite] Avoid repeated hash lookups (NFC) (#123696)


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

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

  Log Message:
  -----------
  [SelectionDAG] Avoid repeated hash lookups (NFC) (#123697)


  Commit: 0f9e913466982b92776d6ff748df48af28631517
      https://github.com/llvm/llvm-project/commit/0f9e913466982b92776d6ff748df48af28631517
  Author: Durgadoss R <durgadossr at nvidia.com>
  Date:   2025-01-21 (Tue, 21 Jan 2025)

  Changed paths:
    M mlir/include/mlir/Dialect/LLVMIR/NVVMOps.td
    A mlir/test/Target/LLVMIR/nvvm/tma_bulk_copy.mlir

  Log Message:
  -----------
  [MLIR][NVVM] Add TMA Bulk Copy Ops (#123186)

PR #122344 adds intrinsics for Bulk Async Copy
(non-tensor variants) using TMA. This patch
adds the corresponding NVVM Dialect Ops.

lit tests are added to verify the lowering to all
variants of the intrinsics.

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


  Commit: 97d691b4b3f5ba446d6827fc29fbe15e44a7adac
      https://github.com/llvm/llvm-project/commit/97d691b4b3f5ba446d6827fc29fbe15e44a7adac
  Author: Mats Jun Larsen <mats at jun.codes>
  Date:   2025-01-21 (Tue, 21 Jan 2025)

  Changed paths:
    M llvm/unittests/CodeGen/LowLevelTypeTest.cpp
    M llvm/unittests/FuzzMutate/OperationsTest.cpp
    M llvm/unittests/FuzzMutate/RandomIRBuilderTest.cpp
    M llvm/unittests/IR/ConstantsTest.cpp
    M llvm/unittests/IR/InstructionsTest.cpp
    M llvm/unittests/IR/VerifierTest.cpp
    M llvm/unittests/Linker/LinkModulesTest.cpp
    M llvm/unittests/Transforms/Vectorize/VPlanTest.cpp

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

In accordance with https://github.com/llvm/llvm-project/issues/123569


  Commit: 4740e097031d231cd39680c16a31771d22fe84c9
      https://github.com/llvm/llvm-project/commit/4740e097031d231cd39680c16a31771d22fe84c9
  Author: Nathan Ridge <zeratul976 at hotmail.com>
  Date:   2025-01-21 (Tue, 21 Jan 2025)

  Changed paths:
    M clang-tools-extra/clangd/FindTarget.cpp
    M clang-tools-extra/clangd/XRefs.cpp
    M clang/include/clang/Sema/HeuristicResolver.h
    M clang/lib/Sema/HeuristicResolver.cpp
    M clang/unittests/Sema/HeuristicResolverTest.cpp

  Log Message:
  -----------
  [clang][Sema] Respect qualification of methods in heuristic results (#123551)

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


  Commit: c22364a4324218e29512740466a2b2cb1a406d8b
      https://github.com/llvm/llvm-project/commit/c22364a4324218e29512740466a2b2cb1a406d8b
  Author: Marius Kamp <msk at posteo.org>
  Date:   2025-01-21 (Tue, 21 Jan 2025)

  Changed paths:
    M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
    M llvm/test/CodeGen/AArch64/csel-cmp-cse.ll

  Log Message:
  -----------
  [AArch64] Eliminate Common SUBS by Reassociating Non-Constants (#123344)

Commit 1eed46960c217f9480865702f06fb730c7521e61 added logic to
reassociate a (add (add x y) -c) operand to a CSEL instruction with a
comparison involving x and c (or a similar constant) in order to obtain
a common (SUBS x c) instruction.
    
This commit extends this logic to non-constants. In this way, we also
reassociate a (sub (add x y) z) operand of a CSEL instruction to
(add (sub x z) y) if the CSEL compares x and z, for example.
    
Alive proof: https://alive2.llvm.org/ce/z/SEVpR


  Commit: 547bfda56b2e3f3a4c6d2357d3566dcd3fa996ad
      https://github.com/llvm/llvm-project/commit/547bfda56b2e3f3a4c6d2357d3566dcd3fa996ad
  Author: David Green <david.green at arm.com>
  Date:   2025-01-21 (Tue, 21 Jan 2025)

  Changed paths:
    M clang/include/clang/Basic/arm_neon.td
    M clang/lib/CodeGen/CGBuiltin.cpp
    M clang/test/CodeGen/arm-bf16-convert-intrinsics.c
    M llvm/include/llvm/IR/IntrinsicsAArch64.td
    M llvm/lib/IR/AutoUpgrade.cpp
    M llvm/lib/Target/AArch64/AArch64InstrFormats.td
    M llvm/lib/Target/AArch64/AArch64InstrInfo.td
    M llvm/test/CodeGen/AArch64/bf16-convert-intrinsics.ll
    M llvm/test/CodeGen/AArch64/bf16-v4-instructions.ll
    M llvm/test/CodeGen/AArch64/bf16-v8-instructions.ll

  Log Message:
  -----------
  [AArch64] Improve bcvtn2 and remove aarch64_neon_bfcvt intrinsics (#120363)

This started out as trying to combine bf16 fpround to BFCVT2
instructions, but ended up removing the aarch64.neon.nfcvt intrinsics in
favour of generating fpround instructions directly. This simplifies the
patterns and can lead to other optimizations. The BFCVT2 instruction is
adjusted to makes sure the types are valid, and a bfcvt2 is now
generated in more place. The old intrinsics are auto-upgraded to fptrunc
instructions too.


  Commit: 5658bc4ae75497edc5ec7c934931c8681d33fac8
      https://github.com/llvm/llvm-project/commit/5658bc4ae75497edc5ec7c934931c8681d33fac8
  Author: David Spickett <david.spickett at linaro.org>
  Date:   2025-01-21 (Tue, 21 Jan 2025)

  Changed paths:
    M lldb/source/Plugins/Process/Utility/LinuxSignals.cpp
    M lldb/test/API/linux/aarch64/gcs/TestAArch64LinuxGCS.py
    M lldb/test/API/linux/aarch64/gcs/main.c

  Log Message:
  -----------
  [lldb][Linux] Add Control Protection Fault signal (#122917)

This will be sent by Arm's Guarded Control Stack extension when an
invalid return is executed.

The signal does have an address we could show, but it's the PC at which
the fault occured. The debugger has plenty of ways to show you that
already, so I've left it out.

```
(lldb) c
Process 460 resuming
Process 460 stopped
* thread #1, name = 'test', stop reason = signal SIGSEGV: control protection fault
    frame #0: 0x0000000000400784 test`main at main.c:57:1
   54  	  afunc();
   55  	  printf("return from main\n");
   56  	  return 0;
-> 57  	}
(lldb) dis
<...>
->  0x400784 <+100>: ret
```

The new test case generates the signal by corrupting the link register
then attempting to return. This will work whether we manually enable GCS
or the C library does it for us.

(in the former case you could just return from main and it would fault)


  Commit: 2a8c12b29f8dc777a62868512bed1a2dae1ef8b2
      https://github.com/llvm/llvm-project/commit/2a8c12b29f8dc777a62868512bed1a2dae1ef8b2
  Author: Malavika Samak <malavika.samak at gmail.com>
  Date:   2025-01-21 (Tue, 21 Jan 2025)

  Changed paths:
    M clang/lib/Analysis/UnsafeBufferUsage.cpp
    M clang/test/SemaCXX/warn-unsafe-buffer-usage-array.cpp

  Log Message:
  -----------
  "Reland "[Wunsafe-buffer-usage] Fix false positive when const sized array is indexed by const evaluatable expressions (#119340)"" (#123713)

This reverts commit 7dd34baf5505d689161c3a8678322a394d7a2929.

Fixed the assertion violation reported by
7dd34baf5505d689161c3a8678322a394d7a2929

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


  Commit: 67b9d3ffc2104e9c718510d83e93b3d26cb0872d
      https://github.com/llvm/llvm-project/commit/67b9d3ffc2104e9c718510d83e93b3d26cb0872d
  Author: Matthias Gehre <matthias.gehre at amd.com>
  Date:   2025-01-21 (Tue, 21 Jan 2025)

  Changed paths:
    M mlir/lib/Dialect/Linalg/Utils/Utils.cpp
    A mlir/test/Dialect/Linalg/tile-offset.mlir

  Log Message:
  -----------
  [mlir] computeSliceParameters: Fix offset when m(0) != 0 (#122492)

For affine maps where `m(0) != 0`,
like `affine_map<(d0) -> (d0 + 3)` in
```
  %generic = linalg.generic
    {indexing_maps = [affine_map<(d0) -> (d0 + 3)>,
                      affine_map<(d0) -> (d0)>],
     iterator_types = ["parallel"]} ins(%arg0: tensor<9xf32>) outs(%empty : tensor<6xf32>) {
    ^bb0(%in : f32, %out: f32):
      linalg.yield %in : f32
    } -> tensor<6xf32>
```
tiling currently computes the wrong slice offsets. When tiling above
example with a size of 3, it would compute
```
scf.for %i = ...
  %slice = tensor.extract_slice %arg0[%i + 3] [6] [1]
  linalg.generic
    {indexing_maps = [affine_map<(d0) -> (d0 + 3)>,
                      affine_map<(d0) -> (d0)>],
     iterator_types = ["parallel"]} ins(%slice: tensor<6xf32>)
```
and thus apply the `+3` twice (once in the extract slice and a second
time in the linalg.generic).

This PR fixes this to yield an offset of
`tensor.extract_slice %arg0[%i] [6] [1]` instead.


  Commit: ebc502056448e950d41f4e2df7bae4e2bc60819e
      https://github.com/llvm/llvm-project/commit/ebc502056448e950d41f4e2df7bae4e2bc60819e
  Author: David Stuttard <david.stuttard at amd.com>
  Date:   2025-01-21 (Tue, 21 Jan 2025)

  Changed paths:
    M llvm/lib/Target/AMDGPU/Utils/AMDGPUPALMetadata.cpp
    M llvm/test/CodeGen/AMDGPU/amdpal-cs.ll
    M llvm/test/CodeGen/AMDGPU/amdpal-es.ll
    M llvm/test/CodeGen/AMDGPU/amdpal-gs.ll
    M llvm/test/CodeGen/AMDGPU/amdpal-hs.ll
    M llvm/test/CodeGen/AMDGPU/amdpal-ls.ll
    M llvm/test/CodeGen/AMDGPU/amdpal-psenable.ll
    M llvm/test/CodeGen/AMDGPU/amdpal-vs.ll
    M llvm/test/CodeGen/AMDGPU/amdpal.ll
    M llvm/test/CodeGen/AMDGPU/elf-notes.ll
    M llvm/test/CodeGen/AMDGPU/pal-metadata-3.0.ll
    M llvm/test/CodeGen/AMDGPU/wave_dispatch_regs.ll

  Log Message:
  -----------
  [AMDGPU] Update entry point name for PAL metadata (#123581)

Old entry-point metadata being updated. Nothing is required
to account for deprecation as nothing uses the old style


  Commit: 455b3d6df20c9bb50cdba66fd2f3202bc43eb4ac
      https://github.com/llvm/llvm-project/commit/455b3d6df20c9bb50cdba66fd2f3202bc43eb4ac
  Author: Jacek Caban <jacek at codeweavers.com>
  Date:   2025-01-21 (Tue, 21 Jan 2025)

  Changed paths:
    M lld/COFF/Config.h
    M lld/COFF/DLL.cpp
    M lld/COFF/DLL.h
    M lld/COFF/Driver.cpp
    M lld/COFF/Driver.h
    M lld/COFF/DriverUtils.cpp
    M lld/COFF/MapFile.cpp
    M lld/COFF/SymbolTable.cpp
    M lld/COFF/SymbolTable.h
    M lld/COFF/Writer.cpp
    A lld/test/COFF/arm64x-export.test

  Log Message:
  -----------
  [LLD][COFF] Separate EC and native exports for ARM64X (#123652)

Store exports in SymbolTable instead of Configuration.


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

  Changed paths:
    M llvm/lib/Transforms/Scalar/Reassociate.cpp
    M llvm/test/Transforms/Reassociate/reassoc_bool_vec.ll

  Log Message:
  -----------
  [Reassociate] Don't reassociate vXi1 logical expressions (#123329)

Extends what we already do for i1 types and don't serialize vXi1 logical expressions to improve ILP.

llvm-test-suite numbers
https://github.com/llvm/llvm-project/issues/64840#issuecomment-2053621740
indicate that both reassociations are a net win.

Fixes #64840
Fixes #63946


  Commit: 9b6e8df89689c37821e0ec37c63ac3fd40ea5339
      https://github.com/llvm/llvm-project/commit/9b6e8df89689c37821e0ec37c63ac3fd40ea5339
  Author: Akshat Oke <Akshat.Oke at amd.com>
  Date:   2025-01-21 (Tue, 21 Jan 2025)

  Changed paths:
    M llvm/lib/Target/AMDGPU/AMDGPU.h
    M llvm/lib/Target/AMDGPU/AMDGPUPassRegistry.def
    M llvm/lib/Target/AMDGPU/AMDGPUTargetMachine.cpp
    M llvm/lib/Target/AMDGPU/SIFixVGPRCopies.cpp
    A llvm/lib/Target/AMDGPU/SIFixVGPRCopies.h
    M llvm/test/CodeGen/AMDGPU/fix-vgpr-copies.mir

  Log Message:
  -----------
  [AMDGPU][NewPM] Port SIFixVGPRCopies to NPM (#123592)

Extends NPM pipeline support till PostRegAlloc passes (greedy is in the
works)


  Commit: 616979ebd7dc9ae63522788750ea3dc6a96aa69f
      https://github.com/llvm/llvm-project/commit/616979ebd7dc9ae63522788750ea3dc6a96aa69f
  Author: Sergey Kozub <skozub at nvidia.com>
  Date:   2025-01-21 (Tue, 21 Jan 2025)

  Changed paths:
    M clang/include/clang/Basic/BuiltinsNVPTX.def
    M clang/include/clang/Basic/Cuda.h
    M clang/lib/Basic/Cuda.cpp
    M clang/lib/Basic/Targets/NVPTX.cpp
    M clang/lib/CodeGen/CGOpenMPRuntimeGPU.cpp
    M clang/lib/Driver/ToolChains/Cuda.cpp
    M clang/test/Misc/target-invalid-cpu-note/nvptx.c
    M llvm/lib/Target/NVPTX/NVPTX.td

  Log Message:
  -----------
  [NVPTX] Add support for PTX 8.6 and CUDA 12.6 (12.8) (#123398)

Add CUDA versions 12.7, 12.8, 12.9 which support PTX8.6+ (enables using Blackwell-specific instructions).


  Commit: 7acad6893b9b3b43e5e4a8e56404b1b19c07c79f
      https://github.com/llvm/llvm-project/commit/7acad6893b9b3b43e5e4a8e56404b1b19c07c79f
  Author: Akshat Oke <Akshat.Oke at amd.com>
  Date:   2025-01-21 (Tue, 21 Jan 2025)

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

  Log Message:
  -----------
  [AMDGPU][CodeGen] SILowerWWMCopies: Declare used analyses (#123710)

This prevents legacy PM from mistakenly removing these analyses if
`SILowerWWMCopies` is the last user of them. (it removes dead analyses
after its last use)


  Commit: d96ec48068e03d1058b1c31581f7bc8738e12ee0
      https://github.com/llvm/llvm-project/commit/d96ec48068e03d1058b1c31581f7bc8738e12ee0
  Author: Fraser Cormack <fraser at codeplay.com>
  Date:   2025-01-21 (Tue, 21 Jan 2025)

  Changed paths:
    M libclc/clc/include/clc/relational/clc_select.h
    R libclc/clc/include/clc/relational/clc_select.inc
    A libclc/clc/include/clc/relational/clc_select_decl.inc
    A libclc/clc/include/clc/relational/clc_select_impl.inc
    M libclc/clc/lib/clspv/SOURCES
    M libclc/clc/lib/generic/relational/clc_select.cl
    R libclc/clc/lib/generic/relational/clc_select.inc
    M libclc/clc/lib/spirv/SOURCES
    M libclc/clc/lib/spirv64/SOURCES
    M libclc/generic/include/clc/relational/select.h
    R libclc/generic/include/clc/relational/select.inc
    M libclc/generic/lib/relational/select.cl
    R libclc/generic/lib/relational/select.inc

  Log Message:
  -----------
  [libclc] Route select through __clc_select (#123647)

This was missed during the introduction of select. This also unifies the
various .inc files used for each, as they were essentially identical.

The __clc_select function is now also built for SPIR-V targets.


  Commit: eaf3e1b0d1ebae590c9be94eafaa10da9e192a37
      https://github.com/llvm/llvm-project/commit/eaf3e1b0d1ebae590c9be94eafaa10da9e192a37
  Author: Fraser Cormack <fraser at codeplay.com>
  Date:   2025-01-21 (Tue, 21 Jan 2025)

  Changed paths:
    M libclc/clc/lib/generic/relational/clc_bitselect.cl
    M libclc/generic/lib/relational/bitselect.cl
    M libclc/generic/lib/relational/bitselect.inc

  Log Message:
  -----------
  [libclc] Route int bitselect through CLC; add half (#123653)

The half variants were missing. The integer bitselect builtins weren't
going through __clc_bitselect due to an oversight when the CLC version
was introduced.


  Commit: 84fa1755a5b7845ddaeaa513a3786013c76c9c88
      https://github.com/llvm/llvm-project/commit/84fa1755a5b7845ddaeaa513a3786013c76c9c88
  Author: Oliver Stannard <oliver.stannard at arm.com>
  Date:   2025-01-21 (Tue, 21 Jan 2025)

  Changed paths:
    M clang/test/CodeGen/AArch64/targetattr.c
    M clang/test/Driver/print-enabled-extensions/aarch64-ampere1b.c
    M clang/test/Driver/print-enabled-extensions/aarch64-cortex-a520.c
    M clang/test/Driver/print-enabled-extensions/aarch64-cortex-a520ae.c
    M clang/test/Driver/print-enabled-extensions/aarch64-fujitsu-monaka.c
    M llvm/lib/Target/AArch64/AArch64Features.td
    M llvm/lib/Target/AArch64/AArch64Processors.td
    M llvm/test/MC/AArch64/spe.s

  Log Message:
  -----------
  [AArch64] FEAT_SPEv1p2 is optional in v8.7-A and v9.2-A (#123336)

The FEAT_SPEv1p2 feature (known to LLVM as FeatureSPE_EEF and +spe-eef)
was incorrectly marked as a required feature of Armv8.7-A (and later),
which is incorrect because it is optional, and some CPUs do not
implement it. This moves it to the default features list, so that it is
still enabled by -march=armv8.7-a, but can be configured individually
for each processor.

For Cortex-A520 and Cortex-A520AE, I've checked that these do not have any of
the FEAT_SPE* features, so updated the tests accordingly. All other
Arm-designed v8.7A+ and v9.2A+ CPUs should continue to have it enabled. For
Ampere1B and Fujitsu Monaka, these CPUs do not have the feature, so I've
removed it from their tests. For Apple M4, I haven't found any reference for
whether that CPU should have this feature, so I've added it to the CPU
definition to avoid this being a functional change.


  Commit: 50bfa85d7968690aa305ae1b30f0214ced64c4d7
      https://github.com/llvm/llvm-project/commit/50bfa85d7968690aa305ae1b30f0214ced64c4d7
  Author: David Sherwood <david.sherwood at arm.com>
  Date:   2025-01-21 (Tue, 21 Jan 2025)

  Changed paths:
    M llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
    M llvm/test/CodeGen/AArch64/extract-vector-cmp.ll

  Log Message:
  -----------
  [DAGCombiner] Fix scalarizeExtractedBinOp for some SETCC cases (#123071)

PR https://github.com/llvm/llvm-project/pull/118823 added a
DAG combine for extracting elements of a vector returned from
SETCC, however it doesn't correctly deal with the case where
the vector element type is not i1. In this case we have to
take account of the boolean contents, which are represented
differently between vectors and scalars. The code now
explicitly performs an inreg sign extend in order to get the
same result.

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


  Commit: 6dc356d6985fc49d1b69c20cc27f6b066742144a
      https://github.com/llvm/llvm-project/commit/6dc356d6985fc49d1b69c20cc27f6b066742144a
  Author: David Green <david.green at arm.com>
  Date:   2025-01-21 (Tue, 21 Jan 2025)

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

  Log Message:
  -----------
  [Clang] Add numeric for iota.

Hopefuly fixes MSVC build after 547bfda56b2e3f3a4c6d2357d3566dcd3fa996ad.


  Commit: 3ff9368e58a9e73015cc2284788394e94e28e3bb
      https://github.com/llvm/llvm-project/commit/3ff9368e58a9e73015cc2284788394e94e28e3bb
  Author: Vyacheslav Levytskyy <vyacheslav.levytskyy at intel.com>
  Date:   2025-01-21 (Tue, 21 Jan 2025)

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

  Log Message:
  -----------
  [SPIR-V] Ensure that Module resource is managed locally wrt. a unit test case and fix a memory leak (#123725)

Adding SPIRV to LLVM_ALL_TARGETS
(https://github.com/llvm/llvm-project/pull/119653) revealed a series of
minor compilation problems and sanitizer complaints. This PR is to move
unit tests resources (a Module ptr) from the class-scope to a local
scope of the class member function to be sure that before the test env
is teared down the ptr is released.


  Commit: cda81b1ec96e26cb7e47acc5656fe219383ffbc5
      https://github.com/llvm/llvm-project/commit/cda81b1ec96e26cb7e47acc5656fe219383ffbc5
  Author: Michal Paszkowski <michal at michalpaszkowski.com>
  Date:   2025-01-21 (Tue, 21 Jan 2025)

  Changed paths:
    M .github/workflows/spirv-tests.yml
    M llvm/CMakeLists.txt
    M llvm/Maintainers.md
    M llvm/docs/ReleaseNotes.md

  Log Message:
  -----------
  [SPIR-V] Add SPIRV to LLVM_ALL_TARGETS (reapply) (#123733)

This commit promotes the SPIR-V backend from experimental to official
status. As a result, SPIR-V will be built by default, simplifying
integration and increasing accessibility for downstream projects.

Discussion and RFC on Discourse:
https://discourse.llvm.org/t/rfc-promoting-spir-v-to-an-official-target/83614

The PR reapplies the original patch
https://github.com/llvm/llvm-project/pull/119653 and consecutive
https://github.com/llvm/llvm-project/pull/123654, reverted due to
buildbot failures.


  Commit: c7de642ece5745b5ade04e910ba4ff54728a1cd1
      https://github.com/llvm/llvm-project/commit/c7de642ece5745b5ade04e910ba4ff54728a1cd1
  Author: Momchil Velikov <momchil.velikov at arm.com>
  Date:   2025-01-21 (Tue, 21 Jan 2025)

  Changed paths:
    M llvm/lib/Target/AArch64/AArch64SVEInstrInfo.td
    M llvm/lib/Target/AArch64/SVEInstrFormats.td
    A llvm/test/CodeGen/AArch64/zeroing-forms-uscvtf.ll

  Log Message:
  -----------
  [AArch64] Generate zeroing forms of certain SVE2.2 instructions (5/11) (#116831)

SVE2.2 introduces instructions with predicated forms with zeroing of
the inactive lanes. This allows in some cases to save a `movprfx` or
a `mov` instruction when emitting code for `_x` or `_z` variants of
intrinsics.

This patch adds support for emitting the zeroing forms of certain
`SCVTF`, and `UCVTF` instructions.


  Commit: 1bb2e5039638311eb0ed5841e47b9619bcd93b1f
      https://github.com/llvm/llvm-project/commit/1bb2e5039638311eb0ed5841e47b9619bcd93b1f
  Author: Alexey Bataev <a.bataev at outlook.com>
  Date:   2025-01-21 (Tue, 21 Jan 2025)

  Changed paths:
    M .github/workflows/build-ci-container.yml
    M .github/workflows/containers/github-action-ci-windows/Dockerfile
    M .github/workflows/containers/github-action-ci/Dockerfile
    M .github/workflows/premerge.yaml
    M .github/workflows/release-binaries-all.yml
    M .github/workflows/release-binaries.yml
    M .github/workflows/spirv-tests.yml
    M bolt/lib/Target/AArch64/AArch64MCPlusBuilder.cpp
    M clang-tools-extra/clang-tidy/misc/UnusedUsingDeclsCheck.h
    M clang-tools-extra/clangd/CMakeLists.txt
    M clang-tools-extra/clangd/FindTarget.cpp
    M clang-tools-extra/clangd/FindTarget.h
    R clang-tools-extra/clangd/HeuristicResolver.cpp
    R clang-tools-extra/clangd/HeuristicResolver.h
    M clang-tools-extra/clangd/InlayHints.cpp
    M clang-tools-extra/clangd/ParsedAST.cpp
    M clang-tools-extra/clangd/ParsedAST.h
    M clang-tools-extra/clangd/SemanticHighlighting.cpp
    M clang-tools-extra/clangd/XRefs.cpp
    M clang-tools-extra/clangd/unittests/CMakeLists.txt
    R clang-tools-extra/clangd/unittests/HeuristicResolverTests.cpp
    M clang-tools-extra/docs/clang-tidy/Contributing.rst
    M clang/cmake/caches/Fuchsia-stage2.cmake
    M clang/docs/ClangFormatStyleOptions.rst
    M clang/docs/ClangOffloadBundler.rst
    M clang/docs/ClangTransformerTutorial.rst
    M clang/docs/LanguageExtensions.rst
    M clang/docs/ReleaseNotes.rst
    M clang/include/clang/AST/DeclTemplate.h
    M clang/include/clang/AST/TypeLoc.h
    M clang/include/clang/Basic/AttrDocs.td
    M clang/include/clang/Basic/BuiltinsNVPTX.def
    M clang/include/clang/Basic/BuiltinsSPIRV.td
    M clang/include/clang/Basic/BuiltinsSystemZ.def
    M clang/include/clang/Basic/Cuda.h
    M clang/include/clang/Basic/arm_neon.td
    M clang/include/clang/Driver/OffloadBundler.h
    M clang/include/clang/Driver/Options.td
    M clang/include/clang/Format/Format.h
    A clang/include/clang/Sema/HeuristicResolver.h
    M clang/include/clang/Sema/Overload.h
    M clang/include/clang/Sema/Sema.h
    M clang/lib/AST/ByteCode/ByteCodeEmitter.cpp
    M clang/lib/AST/ByteCode/Compiler.cpp
    M clang/lib/AST/ByteCode/Disasm.cpp
    M clang/lib/AST/ByteCode/EvaluationResult.cpp
    M clang/lib/AST/ByteCode/FixedPoint.h
    M clang/lib/AST/ByteCode/Interp.cpp
    M clang/lib/AST/ByteCode/Interp.h
    M clang/lib/AST/ByteCode/Program.cpp
    M clang/lib/AST/Decl.cpp
    M clang/lib/AST/VTableBuilder.cpp
    M clang/lib/Analysis/UnsafeBufferUsage.cpp
    M clang/lib/Basic/Cuda.cpp
    M clang/lib/Basic/Targets.cpp
    M clang/lib/Basic/Targets/NVPTX.cpp
    M clang/lib/Basic/Targets/OSTargets.h
    M clang/lib/Basic/Targets/SystemZ.cpp
    M clang/lib/Basic/Targets/SystemZ.h
    M clang/lib/CodeGen/CGBuiltin.cpp
    M clang/lib/CodeGen/CGDebugInfo.cpp
    M clang/lib/CodeGen/CGOpenMPRuntimeGPU.cpp
    M clang/lib/CodeGen/CodeGenModule.cpp
    M clang/lib/CodeGen/TargetInfo.h
    M clang/lib/CodeGen/Targets/Mips.cpp
    M clang/lib/Driver/OffloadBundler.cpp
    M clang/lib/Driver/ToolChains/Cuda.cpp
    M clang/lib/Driver/ToolChains/Flang.cpp
    M clang/lib/Driver/ToolChains/FreeBSD.cpp
    M clang/lib/Format/ContinuationIndenter.cpp
    M clang/lib/Format/Format.cpp
    M clang/lib/Format/TokenAnnotator.h
    M clang/lib/Format/UnwrappedLineFormatter.cpp
    M clang/lib/Format/UnwrappedLineParser.cpp
    M clang/lib/Format/UnwrappedLineParser.h
    M clang/lib/Frontend/Rewrite/RewriteModernObjC.cpp
    M clang/lib/Headers/hlsl/hlsl_detail.h
    M clang/lib/Headers/vecintrin.h
    M clang/lib/Sema/CMakeLists.txt
    M clang/lib/Sema/DeclSpec.cpp
    A clang/lib/Sema/HeuristicResolver.cpp
    M clang/lib/Sema/SemaCast.cpp
    M clang/lib/Sema/SemaChecking.cpp
    M clang/lib/Sema/SemaConcept.cpp
    M clang/lib/Sema/SemaHLSL.cpp
    M clang/lib/Sema/SemaLambda.cpp
    M clang/lib/Sema/SemaOverload.cpp
    M clang/lib/Sema/SemaSPIRV.cpp
    M clang/lib/Sema/SemaSystemZ.cpp
    M clang/lib/Sema/SemaTemplateInstantiate.cpp
    M clang/lib/Sema/TreeTransform.h
    M clang/test/ARCMT/autoreleases.m
    M clang/test/ARCMT/autoreleases.m.result
    M clang/test/ARCMT/retains.m
    M clang/test/ARCMT/retains.m.result
    M clang/test/AST/ByteCode/c23.c
    M clang/test/AST/ByteCode/constexpr.c
    M clang/test/AST/ByteCode/cxx17.cpp
    M clang/test/AST/ByteCode/cxx98.cpp
    M clang/test/AST/ByteCode/lifetimes.cpp
    M clang/test/AST/ByteCode/literals.cpp
    M clang/test/AST/ByteCode/records.cpp
    M clang/test/AST/ast-dump-cxx2b-deducing-this.cpp
    M clang/test/AST/ast-dump-special-member-functions.cpp
    M clang/test/Analysis/Inputs/expected-plists/plist-output.m.plist
    M clang/test/Analysis/const-method-call.cpp
    M clang/test/Analysis/inline-unique-reports.c
    M clang/test/Analysis/malloc.c
    M clang/test/Analysis/nil-receiver-undefined-larger-than-voidptr-ret.m
    M clang/test/Analysis/novoidtypecrash.c
    M clang/test/Analysis/plist-output.m
    M clang/test/Analysis/plist-stats-output.c
    M clang/test/Analysis/scopes-cfg-output.cpp
    M clang/test/Analysis/structured_bindings.cpp
    M clang/test/CXX/drs/cwg605.cpp
    M clang/test/CXX/expr/expr.prim/expr.prim.lambda/p5.cpp
    M clang/test/CXX/expr/expr.prim/expr.prim.lambda/p7.cpp
    M clang/test/CodeGen/2003-06-26-CFECrash.c
    M clang/test/CodeGen/2003-08-18-SigSetJmp.c
    M clang/test/CodeGen/2003-08-23-LocalUnionTest.c
    M clang/test/CodeGen/2003-10-29-AsmRename.c
    M clang/test/CodeGen/2003-11-20-ComplexDivision.c
    M clang/test/CodeGen/2004-06-18-VariableLengthArrayOfStructures.c
    M clang/test/CodeGen/2004-11-27-StaticFunctionRedeclare.c
    M clang/test/CodeGen/2005-01-02-VAArgError-ICE.c
    M clang/test/CodeGen/2005-06-15-ExpandGotoInternalProblem.c
    M clang/test/CodeGen/2007-01-06-KNR-Proto.c
    M clang/test/CodeGen/2008-05-06-CFECrash.c
    M clang/test/CodeGen/2008-07-30-redef-of-bitcasted-decl.c
    M clang/test/CodeGen/2008-10-13-FrontendCrash.c
    M clang/test/CodeGen/2009-01-21-InvalidIterator.c
    M clang/test/CodeGen/2009-05-04-EnumInreg.c
    M clang/test/CodeGen/2009-07-15-pad-wchar_t-array.c
    M clang/test/CodeGen/AArch64/targetattr.c
    A clang/test/CodeGen/SystemZ/builtins-systemz-bitop.c
    A clang/test/CodeGen/SystemZ/builtins-systemz-vector5-error.c
    A clang/test/CodeGen/SystemZ/builtins-systemz-vector5.c
    M clang/test/CodeGen/SystemZ/builtins-systemz-zvector-error.c
    M clang/test/CodeGen/SystemZ/builtins-systemz-zvector.c
    M clang/test/CodeGen/SystemZ/builtins-systemz-zvector2-error.c
    M clang/test/CodeGen/SystemZ/builtins-systemz-zvector2.c
    M clang/test/CodeGen/SystemZ/builtins-systemz-zvector3-error.c
    M clang/test/CodeGen/SystemZ/builtins-systemz-zvector3.c
    A clang/test/CodeGen/SystemZ/builtins-systemz-zvector5-error.c
    A clang/test/CodeGen/SystemZ/builtins-systemz-zvector5.c
    M clang/test/CodeGen/SystemZ/systemz-abi-vector.c
    M clang/test/CodeGen/SystemZ/systemz-abi.c
    M clang/test/CodeGen/SystemZ/vec-abi-gnuattr-05.c
    M clang/test/CodeGen/SystemZ/zvector.c
    M clang/test/CodeGen/X86/avx512fp16-abi.c
    M clang/test/CodeGen/X86/ms-x86-intrinsics.c
    M clang/test/CodeGen/X86/x86_64-atomic-128.c
    M clang/test/CodeGen/align-local.c
    M clang/test/CodeGen/arm-bf16-convert-intrinsics.c
    M clang/test/CodeGen/arm-cmse-nonsecure.c
    M clang/test/CodeGen/arm-cmse-secure.c
    M clang/test/CodeGen/attr-counted-by-pr110385.c
    M clang/test/CodeGen/attr-counted-by.c
    M clang/test/CodeGen/attr-noinline.cpp
    M clang/test/CodeGen/attr-noreturn.c
    M clang/test/CodeGen/block-copy.c
    M clang/test/CodeGen/builtin-memfns.c
    M clang/test/CodeGen/catch-undef-behavior.c
    M clang/test/CodeGen/cfi-unrelated-cast.cpp
    M clang/test/CodeGen/const-label-addr.c
    M clang/test/CodeGen/debug-info-crash.c
    M clang/test/CodeGen/debug-info.c
    M clang/test/CodeGen/empty-union-init.c
    M clang/test/CodeGen/exceptions-seh.c
    M clang/test/CodeGen/exprs.c
    M clang/test/CodeGen/ext-int-cc.c
    M clang/test/CodeGen/implicit-arg.c
    M clang/test/CodeGen/mips-vector-return.c
    M clang/test/CodeGen/mips64-nontrivial-return.cpp
    M clang/test/CodeGen/ms-intrinsics-other.c
    M clang/test/CodeGen/ms-intrinsics.c
    M clang/test/CodeGen/msan-param-retval.c
    M clang/test/CodeGen/msan-param-retval.cpp
    M clang/test/CodeGen/object-size.c
    M clang/test/CodeGen/pragma-comment.c
    M clang/test/CodeGen/sanitize-metadata-nosanitize.c
    M clang/test/CodeGen/sparcv8-abi.c
    M clang/test/CodeGen/sret.c
    M clang/test/CodeGen/static-order.c
    M clang/test/CodeGen/staticinit.c
    M clang/test/CodeGen/struct.c
    M clang/test/CodeGen/ubsan-debuglog-return.c
    M clang/test/CodeGen/union.c
    M clang/test/CodeGen/ve-abi.c
    M clang/test/CodeGenCXX/2007-01-06-PtrMethodInit.cpp
    M clang/test/CodeGenCXX/2007-09-10-RecursiveTypeResolution.cpp
    M clang/test/CodeGenCXX/2007-10-01-StructResize.cpp
    M clang/test/CodeGenCXX/2009-08-11-VectorRetTy.cpp
    M clang/test/CodeGenCXX/2010-07-23-DeclLoc.cpp
    M clang/test/CodeGenCXX/address-space-cast-coerce.cpp
    M clang/test/CodeGenCXX/array-value-initialize.cpp
    M clang/test/CodeGenCXX/attr.cpp
    M clang/test/CodeGenCXX/c-linkage.cpp
    M clang/test/CodeGenCXX/catch-undef-behavior.cpp
    M clang/test/CodeGenCXX/conditional-gnu-ext.cpp
    M clang/test/CodeGenCXX/cxx1y-variable-template-linkage.cpp
    M clang/test/CodeGenCXX/debug-info-cxx0x.cpp
    M clang/test/CodeGenCXX/debug-info-object-pointer.cpp
    M clang/test/CodeGenCXX/debug-info-scoped-class.cpp
    M clang/test/CodeGenCXX/debug-lambda-this.cpp
    M clang/test/CodeGenCXX/dynamic-cast-address-space.cpp
    M clang/test/CodeGenCXX/expr.cpp
    M clang/test/CodeGenCXX/inline-then-fold-variadics.cpp
    M clang/test/CodeGenCXX/lambda-expressions-nested-linkage.cpp
    M clang/test/CodeGenCXX/mangle-exprs.cpp
    M clang/test/CodeGenCXX/mangle-variadic-templates.cpp
    M clang/test/CodeGenCXX/mangle.cpp
    M clang/test/CodeGenCXX/matrix-type-operators.cpp
    M clang/test/CodeGenCXX/matrix-type.cpp
    M clang/test/CodeGenCXX/microsoft-abi-static-initializers.cpp
    M clang/test/CodeGenCXX/new-alias.cpp
    M clang/test/CodeGenCXX/nrvo.cpp
    M clang/test/CodeGenCXX/reference-field.cpp
    M clang/test/CodeGenCXX/return.cpp
    M clang/test/CodeGenCXX/template-instantiation.cpp
    M clang/test/CodeGenCXX/trap-fnattr.cpp
    M clang/test/CodeGenCXX/ubsan-check-debuglocs.cpp
    M clang/test/CodeGenHLSL/builtins/distance.hlsl
    M clang/test/CodeGenHLSL/builtins/length.hlsl
    M clang/test/CodeGenObjC/2007-10-18-ProDescriptor.m
    M clang/test/CodeGenObjC/2008-11-25-Blocks.m
    M clang/test/CodeGenObjC/debug-info-crash.m
    M clang/test/CodeGenObjC/encode-test.m
    M clang/test/CodeGenObjC/message-arrays.m
    M clang/test/CodeGenObjC/metadata-symbols-32.m
    M clang/test/CodeGenObjC/metadata-symbols-64.m
    M clang/test/CodeGenObjC/objc2-weak-compare.m
    M clang/test/CodeGenObjC/objc2-write-barrier-2.m
    M clang/test/CodeGenObjC/protocols-lazy.m
    M clang/test/CodeGenObjC/strong-in-c-struct.m
    M clang/test/CodeGenObjCXX/debug-info-line.mm
    M clang/test/CodeGenObjCXX/instantiate-return.mm
    M clang/test/CodeGenObjCXX/pr14474-gline-tables-only.mm
    M clang/test/CodeGenObjCXX/property-dot-reference.mm
    M clang/test/CodeGenObjCXX/return.mm
    A clang/test/CodeGenSPIRV/Builtins/length.c
    M clang/test/CoverageMapping/switch.cpp
    A clang/test/Driver/Inputs/multilib/multilib-custom-flags.yaml
    M clang/test/Driver/cc-log-diagnostics.c
    M clang/test/Driver/clang-offload-bundler-zlib.c
    M clang/test/Driver/freebsd.c
    M clang/test/Driver/print-enabled-extensions/aarch64-ampere1b.c
    M clang/test/Driver/print-enabled-extensions/aarch64-cortex-a520.c
    M clang/test/Driver/print-enabled-extensions/aarch64-cortex-a520ae.c
    M clang/test/Driver/print-enabled-extensions/aarch64-fujitsu-monaka.c
    M clang/test/Driver/print-multi-selection-flags.c
    M clang/test/Driver/systemz-march.c
    M clang/test/FixIt/fixit-availability-maccatalyst.m
    M clang/test/FixIt/fixit-c++11.cpp
    M clang/test/Frontend/absolute-paths.c
    M clang/test/Frontend/ast-codegen.c
    M clang/test/Frontend/ast-main.cpp
    M clang/test/Misc/serialized-diags-stable.c
    M clang/test/Misc/target-invalid-cpu-note/nvptx.c
    M clang/test/Misc/target-invalid-cpu-note/systemz.c
    M clang/test/Modules/pr61067.cppm
    M clang/test/Modules/redecl-merge.m
    M clang/test/PCH/irgen-rdar13114142.mm
    M clang/test/PCH/late-parsed-instantiations.cpp
    M clang/test/PCH/pr4489.c
    M clang/test/PCH/va_arg.c
    M clang/test/PCH/va_arg.h
    M clang/test/Parser/promote_types_in_proto.c
    M clang/test/Preprocessor/predefined-arch-macros.c
    M clang/test/Rewriter/rewrite-extern-c.mm
    M clang/test/Sema/freemain.c
    M clang/test/Sema/return-type-mismatch.c
    M clang/test/Sema/warn-infinity-nan-disabled-lnx.cpp
    M clang/test/Sema/warn-infinity-nan-disabled-win.cpp
    M clang/test/Sema/zvector.c
    M clang/test/SemaCXX/attr-noreturn.cpp
    M clang/test/SemaCXX/builtin-assume-aligned.cpp
    M clang/test/SemaCXX/constant-expression-cxx14.cpp
    M clang/test/SemaCXX/constexpr-return-non-void-cxx2b.cpp
    A clang/test/SemaCXX/err-missing-noreturn-1.cpp
    A clang/test/SemaCXX/err-missing-noreturn-2.cpp
    M clang/test/SemaCXX/fold_lambda_with_variadics.cpp
    M clang/test/SemaCXX/reinterpret-cast.cpp
    M clang/test/SemaCXX/return-noreturn.cpp
    M clang/test/SemaCXX/warn-missing-noreturn.cpp
    M clang/test/SemaCXX/warn-unsafe-buffer-usage-array.cpp
    M clang/test/SemaCXX/warn-unsafe-buffer-usage-fixits-add-assign.cpp
    M clang/test/SemaHLSL/BuiltIns/lerp-errors.hlsl
    M clang/test/SemaObjC/return-noreturn.m
    M clang/test/SemaObjC/try-catch.m
    A clang/test/SemaSPIRV/BuiltIns/length-errors.c
    M clang/test/SemaTemplate/concepts-lambda.cpp
    M clang/test/SemaTemplate/late-parsing-eager-instantiation.cpp
    M clang/tools/scan-build/bin/scan-build
    M clang/unittests/ASTMatchers/ASTMatchersNarrowingTest.cpp
    M clang/unittests/ASTMatchers/ASTMatchersTraversalTest.cpp
    M clang/unittests/Format/FormatTest.cpp
    M clang/unittests/Format/TokenAnnotatorTest.cpp
    M clang/unittests/Sema/CMakeLists.txt
    A clang/unittests/Sema/HeuristicResolverTest.cpp
    M clang/unittests/Tooling/ASTSelectionTest.cpp
    M clang/unittests/Tooling/LexicallyOrderedRecursiveASTVisitorTest.cpp
    M clang/unittests/Tooling/Syntax/BuildTreeTest.cpp
    M compiler-rt/cmake/Modules/AllSupportedArchDefs.cmake
    M compiler-rt/lib/interception/interception_win.cpp
    M compiler-rt/lib/interception/tests/interception_win_test.cpp
    M compiler-rt/lib/rtsan/rtsan_interceptors_posix.cpp
    M compiler-rt/lib/rtsan/tests/rtsan_test_interceptors_posix.cpp
    A compiler-rt/test/orc/TestCases/Linux/loongarch64/ehframe-default.cpp
    A compiler-rt/test/orc/TestCases/Linux/loongarch64/ehframe-libunwind.cpp
    A compiler-rt/test/orc/TestCases/Linux/loongarch64/lit.local.cfg.py
    A compiler-rt/test/orc/TestCases/Linux/loongarch64/lljit-ehframe.cpp
    A compiler-rt/test/orc/TestCases/Linux/loongarch64/lljit-initialize-deinitialize.ll
    A compiler-rt/test/orc/TestCases/Linux/loongarch64/priority-static-initializer.S
    A compiler-rt/test/orc/TestCases/Linux/loongarch64/trivial-atexit.S
    A compiler-rt/test/orc/TestCases/Linux/loongarch64/trivial-cxa-atexit.S
    A compiler-rt/test/orc/TestCases/Linux/loongarch64/trivial-static-initializer.S
    M flang/include/flang/Lower/LoweringOptions.def
    M flang/include/flang/Optimizer/Builder/HLFIRTools.h
    M flang/include/flang/Optimizer/Dialect/FIRType.h
    M flang/lib/Frontend/CompilerInvocation.cpp
    M flang/lib/Lower/ConvertVariable.cpp
    M flang/lib/Lower/OpenMP/OpenMP.cpp
    M flang/lib/Optimizer/Builder/FIRBuilder.cpp
    M flang/lib/Optimizer/Builder/HLFIRTools.cpp
    M flang/lib/Optimizer/Dialect/FIRType.cpp
    M flang/lib/Optimizer/HLFIR/Transforms/SimplifyHLFIRIntrinsics.cpp
    M flang/lib/Optimizer/Transforms/DebugTypeGenerator.cpp
    M flang/lib/Semantics/check-omp-structure.cpp
    M flang/lib/Semantics/resolve-directives.cpp
    A flang/test/Driver/fno-zero-init.f90
    A flang/test/HLFIR/simplify-hlfir-intrinsics-dotproduct.fir
    M flang/test/HLFIR/unroll-loops.fir
    A flang/test/Integration/debug-cyclic-derived-type-3.f90
    M flang/test/Integration/unroll-loops.f90
    M flang/test/Lower/CUDA/cuda-devptr.cuf
    A flang/test/Lower/OpenMP/Todo/allocate-clause-align.f90
    A flang/test/Lower/OpenMP/Todo/allocate-clause-allocator.f90
    R flang/test/Lower/OpenMP/Todo/task_untied.f90
    M flang/test/Lower/OpenMP/task.f90
    M flang/test/Lower/module_use.f90
    A flang/test/Lower/zero_init.f90
    A flang/test/Lower/zero_init_default_init.f90
    M flang/test/Semantics/OpenMP/doconcurrent01.f90
    A flang/test/Semantics/OpenMP/forall.f90
    A flang/test/Semantics/OpenMP/task-untied01.f90
    M flang/tools/bbc/bbc.cpp
    M flang/unittests/Optimizer/CMakeLists.txt
    M libc/docs/CMakeLists.txt
    M libc/docs/headers/index.rst
    M libc/src/__support/block.h
    M libc/test/src/__support/block_test.cpp
    M libc/test/src/__support/freestore_test.cpp
    A libc/utils/docgen/sys/stat.yaml
    A libc/utils/docgen/sys/time.yaml
    A libc/utils/docgen/termios.yaml
    M libclc/clc/include/clc/clcmacro.h
    M libclc/clc/include/clc/common/clc_degrees.h
    M libclc/clc/include/clc/common/clc_radians.h
    A libclc/clc/include/clc/math/clc_mad.h
    A libclc/clc/include/clc/math/ternary_decl.inc
    M libclc/clc/include/clc/relational/clc_select.h
    R libclc/clc/include/clc/relational/clc_select.inc
    A libclc/clc/include/clc/relational/clc_select_decl.inc
    A libclc/clc/include/clc/relational/clc_select_impl.inc
    M libclc/clc/lib/clspv/SOURCES
    M libclc/clc/lib/generic/SOURCES
    A libclc/clc/lib/generic/math/clc_mad.cl
    A libclc/clc/lib/generic/math/clc_mad.inc
    M libclc/clc/lib/generic/relational/clc_bitselect.cl
    M libclc/clc/lib/generic/relational/clc_select.cl
    R libclc/clc/lib/generic/relational/clc_select.inc
    M libclc/clc/lib/spirv/SOURCES
    M libclc/clc/lib/spirv64/SOURCES
    R libclc/generic/include/clc/math/ternary_decl.inc
    M libclc/generic/include/clc/relational/select.h
    R libclc/generic/include/clc/relational/select.inc
    M libclc/generic/lib/common/mix.cl
    M libclc/generic/lib/common/mix.inc
    M libclc/generic/lib/math/clc_exp10.cl
    M libclc/generic/lib/math/clc_hypot.cl
    M libclc/generic/lib/math/clc_pow.cl
    M libclc/generic/lib/math/clc_pown.cl
    M libclc/generic/lib/math/clc_powr.cl
    M libclc/generic/lib/math/clc_rootn.cl
    M libclc/generic/lib/math/mad.cl
    R libclc/generic/lib/math/mad.inc
    M libclc/generic/lib/math/sincos_helpers.cl
    M libclc/generic/lib/math/sincospiF_piby4.h
    M libclc/generic/lib/relational/bitselect.cl
    M libclc/generic/lib/relational/bitselect.inc
    M libclc/generic/lib/relational/select.cl
    R libclc/generic/lib/relational/select.inc
    M libcxx/docs/Status/Cxx20Papers.csv
    M libcxx/include/__algorithm/make_projected.h
    M libcxx/include/__algorithm/radix_sort.h
    M libcxx/include/__atomic/atomic_sync.h
    M libcxx/include/__config
    M libcxx/include/__functional/bind.h
    M libcxx/include/__functional/function.h
    M libcxx/include/__functional/hash.h
    M libcxx/include/__functional/mem_fn.h
    M libcxx/include/__functional/reference_wrapper.h
    M libcxx/include/__hash_table
    M libcxx/include/__tree
    M libcxx/include/__type_traits/invoke.h
    M libcxx/include/__type_traits/result_of.h
    M libcxx/include/__vector/vector.h
    M libcxx/include/atomic
    M libcxx/include/future
    M libcxx/include/stdatomic.h
    M libcxx/include/unordered_map
    M libcxx/include/unordered_set
    R libcxx/test/benchmarks/atomic_wait.bench.cpp
    A libcxx/test/benchmarks/atomic_wait_1_waiter_1_notifier.bench.cpp
    A libcxx/test/benchmarks/atomic_wait_N_waiter_N_notifier.bench.cpp
    A libcxx/test/benchmarks/atomic_wait_helper.h
    A libcxx/test/benchmarks/atomic_wait_multi_waiter_1_notifier.bench.cpp
    M libcxx/test/libcxx/atomics/atomics.syn/compatible_with_stdatomic.compile.pass.cpp
    A libcxx/test/libcxx/atomics/atomics.syn/incompatible_with_stdatomic.verify.cpp
    A libcxx/test/libcxx/atomics/stdatomic.h.syn/dont_hijack_header.compile.pass.cpp
    A libcxx/test/libcxx/atomics/stdatomic.h.syn/dont_hijack_header.cxx23.compile.pass.cpp
    M libcxx/test/libcxx/containers/associative/non_const_comparator.verify.cpp
    M libcxx/test/libcxx/containers/unord/non_const_comparator.verify.cpp
    M libcxx/test/libcxx/utilities/function.objects/func.require/bullet_1_2_3.pass.cpp
    M libcxx/test/std/input.output/file.streams/fstreams/ifstream.members/offset_range.pass.cpp
    M libcxx/test/tools/clang_tidy_checks/libcpp_module.cpp
    M lld/COFF/Chunks.cpp
    M lld/COFF/Chunks.h
    M lld/COFF/Config.h
    M lld/COFF/DLL.cpp
    M lld/COFF/DLL.h
    M lld/COFF/Driver.cpp
    M lld/COFF/Driver.h
    M lld/COFF/DriverUtils.cpp
    M lld/COFF/MapFile.cpp
    M lld/COFF/SymbolTable.cpp
    M lld/COFF/SymbolTable.h
    M lld/COFF/Symbols.cpp
    M lld/COFF/Writer.cpp
    M lld/MachO/Options.td
    A lld/test/COFF/Inputs/stub63mz
    A lld/test/COFF/Inputs/stub64mz
    A lld/test/COFF/Inputs/stub64zz
    A lld/test/COFF/Inputs/stub68mz
    M lld/test/COFF/arm64x-entry.test
    A lld/test/COFF/arm64x-export.test
    A lld/test/COFF/stub.test
    M lld/wasm/SyntheticSections.cpp
    M lldb/bindings/headers.swig
    A lldb/bindings/interface/SBProgressDocstrings.i
    M lldb/bindings/interfaces.swig
    M lldb/docs/use/formatting.rst
    M lldb/include/lldb/API/SBDebugger.h
    A lldb/include/lldb/API/SBProgress.h
    M lldb/include/lldb/Core/FormatEntity.h
    M lldb/include/lldb/lldb-forward.h
    M lldb/source/API/CMakeLists.txt
    A lldb/source/API/SBProgress.cpp
    M lldb/source/Core/Debugger.cpp
    M lldb/source/Core/FormatEntity.cpp
    M lldb/source/Plugins/Process/Utility/LinuxSignals.cpp
    M lldb/test/API/commands/expression/import-std-module/vector-dbg-info-content/TestDbgInfoContentVectorFromStdModule.py
    M lldb/test/API/commands/expression/import-std-module/vector-of-vectors/TestVectorOfVectorsFromStdModule.py
    M lldb/test/API/linux/aarch64/gcs/TestAArch64LinuxGCS.py
    M lldb/test/API/linux/aarch64/gcs/main.c
    A lldb/test/API/python_api/sbprogress/TestSBProgress.py
    M lldb/test/API/tools/lldb-dap/variables/TestDAP_variables.py
    M lldb/unittests/Core/FormatEntityTest.cpp
    M llvm/CMakeLists.txt
    M llvm/Maintainers.md
    M llvm/bindings/ocaml/debuginfo/debuginfo_ocaml.c
    M llvm/bindings/ocaml/debuginfo/llvm_debuginfo.ml
    M llvm/bindings/ocaml/debuginfo/llvm_debuginfo.mli
    M llvm/cmake/modules/AddLLVM.cmake
    M llvm/docs/DeveloperPolicy.rst
    M llvm/docs/GitHub.rst
    M llvm/docs/MyFirstTypoFix.rst
    M llvm/docs/ReleaseNotes.md
    M llvm/include/llvm-c/DebugInfo.h
    M llvm/include/llvm/Analysis/BlockFrequencyInfoImpl.h
    M llvm/include/llvm/BinaryFormat/DXContainerConstants.def
    M llvm/include/llvm/BinaryFormat/Wasm.h
    M llvm/include/llvm/CodeGen/BasicTTIImpl.h
    M llvm/include/llvm/CodeGen/CallingConvLower.h
    M llvm/include/llvm/CodeGen/ISDOpcodes.h
    M llvm/include/llvm/CodeGen/LivePhysRegs.h
    M llvm/include/llvm/CodeGen/LiveRegMatrix.h
    M llvm/include/llvm/CodeGen/MachineOperand.h
    M llvm/include/llvm/CodeGen/MachineRegisterInfo.h
    M llvm/include/llvm/CodeGen/ReachingDefAnalysis.h
    M llvm/include/llvm/CodeGen/Register.h
    M llvm/include/llvm/CodeGen/SelectionDAGNodes.h
    M llvm/include/llvm/CodeGen/TargetLowering.h
    M llvm/include/llvm/CodeGen/TargetSubtargetInfo.h
    M llvm/include/llvm/CodeGen/VirtRegMap.h
    M llvm/include/llvm/DebugInfo/CodeView/CodeViewRegisters.def
    A llvm/include/llvm/ExecutionEngine/Orc/EHFrameRegistrationPlugin.h
    M llvm/include/llvm/ExecutionEngine/Orc/LinkGraphLinkingLayer.h
    M llvm/include/llvm/IR/DIBuilder.h
    M llvm/include/llvm/IR/GlobalValue.h
    M llvm/include/llvm/IR/IntrinsicsAArch64.td
    M llvm/include/llvm/IR/IntrinsicsSystemZ.td
    M llvm/include/llvm/IR/PatternMatch.h
    M llvm/include/llvm/IR/PrintPasses.h
    M llvm/include/llvm/MC/MCAsmBackend.h
    M llvm/include/llvm/MC/MCRegister.h
    M llvm/include/llvm/MC/MCRegisterInfo.h
    M llvm/include/llvm/SandboxIR/Instruction.h
    M llvm/include/llvm/SandboxIR/Type.h
    M llvm/include/llvm/Transforms/Vectorize/SandboxVectorizer/InstrMaps.h
    M llvm/include/llvm/Transforms/Vectorize/SandboxVectorizer/Legality.h
    M llvm/include/llvm/Transforms/Vectorize/SandboxVectorizer/Passes/BottomUpVec.h
    M llvm/include/llvm/Transforms/Vectorize/SandboxVectorizer/VecUtils.h
    M llvm/lib/Analysis/ConstantFolding.cpp
    M llvm/lib/Analysis/InlineCost.cpp
    M llvm/lib/Analysis/LoopInfo.cpp
    M llvm/lib/AsmParser/LLParser.cpp
    M llvm/lib/Bitcode/Reader/BitcodeReader.cpp
    M llvm/lib/CodeGen/AggressiveAntiDepBreaker.cpp
    M llvm/lib/CodeGen/AsmPrinter/CodeViewDebug.cpp
    M llvm/lib/CodeGen/AsmPrinter/DwarfUnit.cpp
    M llvm/lib/CodeGen/AsmPrinter/DwarfUnit.h
    M llvm/lib/CodeGen/AssignmentTrackingAnalysis.cpp
    M llvm/lib/CodeGen/CallingConvLower.cpp
    M llvm/lib/CodeGen/CodeGen.cpp
    M llvm/lib/CodeGen/CriticalAntiDepBreaker.cpp
    M llvm/lib/CodeGen/EarlyIfConversion.cpp
    M llvm/lib/CodeGen/ExecutionDomainFix.cpp
    M llvm/lib/CodeGen/FixupStatepointCallerSaved.cpp
    M llvm/lib/CodeGen/GlobalISel/CallLowering.cpp
    M llvm/lib/CodeGen/InterferenceCache.cpp
    M llvm/lib/CodeGen/LiveDebugValues/InstrRefBasedImpl.cpp
    M llvm/lib/CodeGen/LiveDebugValues/VarLocBasedImpl.cpp
    M llvm/lib/CodeGen/LiveRegMatrix.cpp
    M llvm/lib/CodeGen/MIRParser/MIParser.cpp
    M llvm/lib/CodeGen/MachineBasicBlock.cpp
    M llvm/lib/CodeGen/MachineCopyPropagation.cpp
    M llvm/lib/CodeGen/MachineOperand.cpp
    M llvm/lib/CodeGen/MachinePipeliner.cpp
    M llvm/lib/CodeGen/MachineRegisterInfo.cpp
    M llvm/lib/CodeGen/MachineSink.cpp
    M llvm/lib/CodeGen/PrologEpilogInserter.cpp
    M llvm/lib/CodeGen/RDFLiveness.cpp
    M llvm/lib/CodeGen/ReachingDefAnalysis.cpp
    M llvm/lib/CodeGen/RegAllocGreedy.cpp
    M llvm/lib/CodeGen/RegUsageInfoCollector.cpp
    M llvm/lib/CodeGen/RegisterClassInfo.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/LegalizeIntegerTypes.cpp
    M llvm/lib/CodeGen/SelectionDAG/LegalizeTypes.h
    M llvm/lib/CodeGen/SelectionDAG/LegalizeVectorOps.cpp
    M llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp
    M llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp
    M llvm/lib/CodeGen/SelectionDAG/SelectionDAGDumper.cpp
    M llvm/lib/CodeGen/SelectionDAG/StatepointLowering.cpp
    M llvm/lib/CodeGen/SelectionDAG/TargetLowering.cpp
    M llvm/lib/CodeGen/TargetLoweringBase.cpp
    M llvm/lib/CodeGen/TargetRegisterInfo.cpp
    M llvm/lib/CodeGen/VirtRegMap.cpp
    M llvm/lib/ExecutionEngine/Orc/CMakeLists.txt
    M llvm/lib/ExecutionEngine/Orc/Debugging/CMakeLists.txt
    M llvm/lib/ExecutionEngine/Orc/Debugging/DebuggerSupportPlugin.cpp
    A llvm/lib/ExecutionEngine/Orc/EHFrameRegistrationPlugin.cpp
    M llvm/lib/ExecutionEngine/Orc/ELFNixPlatform.cpp
    M llvm/lib/ExecutionEngine/Orc/IndirectionUtils.cpp
    M llvm/lib/ExecutionEngine/Orc/LLJIT.cpp
    M llvm/lib/ExecutionEngine/Orc/LinkGraphLinkingLayer.cpp
    M llvm/lib/ExecutionEngine/Orc/MachOPlatform.cpp
    M llvm/lib/FuzzMutate/RandomIRBuilder.cpp
    M llvm/lib/IR/Assumptions.cpp
    M llvm/lib/IR/AutoUpgrade.cpp
    M llvm/lib/IR/Core.cpp
    M llvm/lib/IR/DIBuilder.cpp
    M llvm/lib/IR/DebugInfo.cpp
    M llvm/lib/IR/Instructions.cpp
    M llvm/lib/IR/PrintPasses.cpp
    M llvm/lib/IR/Type.cpp
    M llvm/lib/Linker/IRMover.cpp
    M llvm/lib/MC/ELFObjectWriter.cpp
    M llvm/lib/MC/MCAssembler.cpp
    M llvm/lib/MC/WasmObjectWriter.cpp
    M llvm/lib/MC/WinCOFFObjectWriter.cpp
    M llvm/lib/Object/GOFFObjectFile.cpp
    M llvm/lib/Object/WasmObjectFile.cpp
    M llvm/lib/ObjectYAML/WasmEmitter.cpp
    M llvm/lib/ObjectYAML/WasmYAML.cpp
    M llvm/lib/SandboxIR/Instruction.cpp
    M llvm/lib/SandboxIR/Type.cpp
    M llvm/lib/Support/VirtualFileSystem.cpp
    M llvm/lib/Target/AArch64/AArch64Arm64ECCallLowering.cpp
    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/AArch64ISelLowering.cpp
    M llvm/lib/Target/AArch64/AArch64ISelLowering.h
    M llvm/lib/Target/AArch64/AArch64InstrFormats.td
    M llvm/lib/Target/AArch64/AArch64InstrInfo.cpp
    M llvm/lib/Target/AArch64/AArch64InstrInfo.td
    M llvm/lib/Target/AArch64/AArch64Processors.td
    M llvm/lib/Target/AArch64/AArch64SVEInstrInfo.td
    M llvm/lib/Target/AArch64/AArch64TargetTransformInfo.cpp
    M llvm/lib/Target/AArch64/AArch64TargetTransformInfo.h
    M llvm/lib/Target/AArch64/MCTargetDesc/AArch64AsmBackend.cpp
    M llvm/lib/Target/AArch64/SVEInstrFormats.td
    M llvm/lib/Target/AArch64/Utils/AArch64BaseInfo.h
    M llvm/lib/Target/AMDGPU/AMDGPU.h
    M llvm/lib/Target/AMDGPU/AMDGPUAliasAnalysis.cpp
    M llvm/lib/Target/AMDGPU/AMDGPUAsanInstrumentation.cpp
    M llvm/lib/Target/AMDGPU/AMDGPUISelDAGToDAG.cpp
    M llvm/lib/Target/AMDGPU/AMDGPULegalizerInfo.cpp
    M llvm/lib/Target/AMDGPU/AMDGPULowerBufferFatPointers.cpp
    M llvm/lib/Target/AMDGPU/AMDGPUPassRegistry.def
    M llvm/lib/Target/AMDGPU/AMDGPUPrintfRuntimeBinding.cpp
    M llvm/lib/Target/AMDGPU/AMDGPUTargetMachine.cpp
    M llvm/lib/Target/AMDGPU/AMDGPUTargetMachine.h
    M llvm/lib/Target/AMDGPU/MCTargetDesc/AMDGPUAsmBackend.cpp
    M llvm/lib/Target/AMDGPU/R600ISelLowering.cpp
    M llvm/lib/Target/AMDGPU/SIFixVGPRCopies.cpp
    A llvm/lib/Target/AMDGPU/SIFixVGPRCopies.h
    M llvm/lib/Target/AMDGPU/SIISelLowering.cpp
    M llvm/lib/Target/AMDGPU/SIISelLowering.h
    M llvm/lib/Target/AMDGPU/SILowerWWMCopies.cpp
    M llvm/lib/Target/AMDGPU/SIOptimizeExecMasking.cpp
    A llvm/lib/Target/AMDGPU/SIOptimizeExecMasking.h
    M llvm/lib/Target/AMDGPU/SIWholeQuadMode.cpp
    M llvm/lib/Target/AMDGPU/Utils/AMDGPUPALMetadata.cpp
    M llvm/lib/Target/AMDGPU/VOPCInstructions.td
    M llvm/lib/Target/ARC/ARCISelLowering.cpp
    M llvm/lib/Target/ARC/ARCISelLowering.h
    M llvm/lib/Target/ARM/A15SDOptimizer.cpp
    M llvm/lib/Target/ARM/ARMBaseInstrInfo.cpp
    M llvm/lib/Target/ARM/ARMBaseInstrInfo.h
    M llvm/lib/Target/ARM/ARMBaseRegisterInfo.cpp
    M llvm/lib/Target/ARM/ARMBaseRegisterInfo.h
    M llvm/lib/Target/ARM/ARMExpandPseudoInsts.cpp
    M llvm/lib/Target/ARM/ARMFrameLowering.cpp
    M llvm/lib/Target/ARM/ARMISelLowering.cpp
    M llvm/lib/Target/ARM/ARMISelLowering.h
    M llvm/lib/Target/ARM/ARMSubtarget.cpp
    M llvm/lib/Target/ARM/ARMSubtarget.h
    M llvm/lib/Target/ARM/ARMTargetTransformInfo.cpp
    M llvm/lib/Target/ARM/MCTargetDesc/ARMAsmBackend.cpp
    M llvm/lib/Target/ARM/MCTargetDesc/ARMAsmBackend.h
    M llvm/lib/Target/AVR/AVRISelLowering.cpp
    M llvm/lib/Target/AVR/AVRISelLowering.h
    M llvm/lib/Target/AVR/MCTargetDesc/AVRAsmBackend.cpp
    M llvm/lib/Target/AVR/MCTargetDesc/AVRAsmBackend.h
    M llvm/lib/Target/CSKY/CSKYISelLowering.cpp
    M llvm/lib/Target/CSKY/CSKYISelLowering.h
    M llvm/lib/Target/CSKY/MCTargetDesc/CSKYAsmBackend.cpp
    M llvm/lib/Target/CSKY/MCTargetDesc/CSKYAsmBackend.h
    M llvm/lib/Target/DirectX/DXILShaderFlags.cpp
    M llvm/lib/Target/Hexagon/HexagonISelLowering.cpp
    M llvm/lib/Target/Hexagon/HexagonISelLowering.h
    M llvm/lib/Target/Hexagon/MCTargetDesc/HexagonAsmBackend.cpp
    M llvm/lib/Target/Lanai/LanaiISelLowering.cpp
    M llvm/lib/Target/Lanai/LanaiISelLowering.h
    M llvm/lib/Target/LoongArch/LoongArchExpandPseudoInsts.cpp
    M llvm/lib/Target/LoongArch/LoongArchISelDAGToDAG.cpp
    M llvm/lib/Target/LoongArch/LoongArchISelDAGToDAG.h
    M llvm/lib/Target/LoongArch/LoongArchISelLowering.cpp
    M llvm/lib/Target/LoongArch/LoongArchISelLowering.h
    M llvm/lib/Target/LoongArch/LoongArchInstrInfo.cpp
    M llvm/lib/Target/LoongArch/LoongArchInstrInfo.h
    M llvm/lib/Target/LoongArch/LoongArchInstrInfo.td
    M llvm/lib/Target/LoongArch/LoongArchMCInstLower.cpp
    M llvm/lib/Target/LoongArch/LoongArchMergeBaseOffset.cpp
    M llvm/lib/Target/LoongArch/LoongArchTargetMachine.cpp
    M llvm/lib/Target/LoongArch/LoongArchTargetTransformInfo.cpp
    M llvm/lib/Target/LoongArch/LoongArchTargetTransformInfo.h
    M llvm/lib/Target/LoongArch/MCTargetDesc/LoongArchAsmBackend.cpp
    M llvm/lib/Target/LoongArch/MCTargetDesc/LoongArchAsmBackend.h
    M llvm/lib/Target/LoongArch/MCTargetDesc/LoongArchBaseInfo.h
    M llvm/lib/Target/LoongArch/MCTargetDesc/LoongArchMCCodeEmitter.cpp
    M llvm/lib/Target/M68k/M68kISelLowering.cpp
    M llvm/lib/Target/M68k/M68kISelLowering.h
    M llvm/lib/Target/MSP430/MSP430ISelLowering.cpp
    M llvm/lib/Target/MSP430/MSP430ISelLowering.h
    M llvm/lib/Target/Mips/MCTargetDesc/MipsAsmBackend.cpp
    M llvm/lib/Target/Mips/MCTargetDesc/MipsAsmBackend.h
    M llvm/lib/Target/Mips/MCTargetDesc/MipsBaseInfo.h
    M llvm/lib/Target/Mips/MCTargetDesc/MipsMCTargetDesc.cpp
    M llvm/lib/Target/Mips/MCTargetDesc/MipsMCTargetDesc.h
    M llvm/lib/Target/Mips/MCTargetDesc/MipsWinCOFFObjectWriter.cpp
    M llvm/lib/Target/Mips/MipsCCState.cpp
    M llvm/lib/Target/Mips/MipsCCState.h
    M llvm/lib/Target/Mips/MipsISelLowering.cpp
    M llvm/lib/Target/Mips/MipsISelLowering.h
    M llvm/lib/Target/Mips/MipsMCInstLower.cpp
    M llvm/lib/Target/Mips/MipsRegisterInfo.cpp
    M llvm/lib/Target/Mips/MipsSEISelLowering.cpp
    M llvm/lib/Target/Mips/MipsSubtarget.h
    M llvm/lib/Target/NVPTX/NVPTX.td
    M llvm/lib/Target/NVPTX/NVPTXGenericToNVVM.cpp
    M llvm/lib/Target/NVPTX/NVPTXISelLowering.cpp
    M llvm/lib/Target/NVPTX/NVPTXLowerAlloca.cpp
    M llvm/lib/Target/NVPTX/NVPTXLowerArgs.cpp
    M llvm/lib/Target/NVPTX/NVPTXRegisterInfo.cpp
    M llvm/lib/Target/PowerPC/MCTargetDesc/PPCAsmBackend.cpp
    M llvm/lib/Target/PowerPC/PPCISelLowering.cpp
    M llvm/lib/Target/PowerPC/PPCISelLowering.h
    M llvm/lib/Target/PowerPC/PPCRegisterInfo.cpp
    M llvm/lib/Target/RISCV/MCTargetDesc/RISCVAsmBackend.cpp
    M llvm/lib/Target/RISCV/MCTargetDesc/RISCVAsmBackend.h
    M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
    M llvm/lib/Target/RISCV/RISCVISelLowering.h
    M llvm/lib/Target/SPIRV/CMakeLists.txt
    M llvm/lib/Target/SPIRV/SPIRV.h
    M llvm/lib/Target/SPIRV/SPIRV.td
    M llvm/lib/Target/SPIRV/SPIRVAPI.cpp
    M llvm/lib/Target/SPIRV/SPIRVBuiltins.cpp
    M llvm/lib/Target/SPIRV/SPIRVCallLowering.cpp
    A llvm/lib/Target/SPIRV/SPIRVCombine.td
    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/SPIRVModuleAnalysis.cpp
    M llvm/lib/Target/SPIRV/SPIRVPreLegalizer.cpp
    A llvm/lib/Target/SPIRV/SPIRVPreLegalizerCombiner.cpp
    M llvm/lib/Target/SPIRV/SPIRVPrepareFunctions.cpp
    M llvm/lib/Target/SPIRV/SPIRVSubtarget.cpp
    M llvm/lib/Target/SPIRV/SPIRVSubtarget.h
    M llvm/lib/Target/SPIRV/SPIRVTargetMachine.cpp
    M llvm/lib/Target/SPIRV/SPIRVUtils.h
    M llvm/lib/Target/Sparc/MCTargetDesc/SparcAsmBackend.cpp
    M llvm/lib/Target/Sparc/SparcISelLowering.cpp
    M llvm/lib/Target/Sparc/SparcISelLowering.h
    M llvm/lib/Target/SystemZ/AsmParser/SystemZAsmParser.cpp
    M llvm/lib/Target/SystemZ/MCTargetDesc/SystemZInstPrinterCommon.cpp
    M llvm/lib/Target/SystemZ/MCTargetDesc/SystemZInstPrinterCommon.h
    M llvm/lib/Target/SystemZ/MCTargetDesc/SystemZMCAsmBackend.cpp
    M llvm/lib/Target/SystemZ/SystemZFeatures.td
    M llvm/lib/Target/SystemZ/SystemZISelDAGToDAG.cpp
    M llvm/lib/Target/SystemZ/SystemZISelLowering.cpp
    M llvm/lib/Target/SystemZ/SystemZISelLowering.h
    M llvm/lib/Target/SystemZ/SystemZInstrFormats.td
    M llvm/lib/Target/SystemZ/SystemZInstrInfo.td
    M llvm/lib/Target/SystemZ/SystemZInstrVector.td
    M llvm/lib/Target/SystemZ/SystemZOperands.td
    M llvm/lib/Target/SystemZ/SystemZOperators.td
    M llvm/lib/Target/SystemZ/SystemZProcessors.td
    M llvm/lib/Target/SystemZ/SystemZSubtarget.cpp
    M llvm/lib/Target/SystemZ/SystemZTargetTransformInfo.cpp
    M llvm/lib/Target/VE/MCTargetDesc/VEAsmBackend.cpp
    M llvm/lib/Target/VE/VEISelLowering.cpp
    M llvm/lib/Target/VE/VEISelLowering.h
    M llvm/lib/Target/WebAssembly/WebAssemblyISelLowering.cpp
    M llvm/lib/Target/WebAssembly/WebAssemblyISelLowering.h
    M llvm/lib/Target/X86/MCTargetDesc/X86AsmBackend.cpp
    M llvm/lib/Target/X86/MCTargetDesc/X86MCTargetDesc.h
    M llvm/lib/Target/X86/X86ArgumentStackSlotRebase.cpp
    M llvm/lib/Target/X86/X86FixupVectorConstants.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/X86InstCombineIntrinsic.cpp
    M llvm/lib/Target/X86/X86LowerAMXType.cpp
    M llvm/lib/Target/X86/X86RegisterInfo.cpp
    M llvm/lib/Target/XCore/XCoreISelLowering.cpp
    M llvm/lib/Target/XCore/XCoreISelLowering.h
    M llvm/lib/Target/Xtensa/XtensaISelLowering.cpp
    M llvm/lib/Target/Xtensa/XtensaISelLowering.h
    M llvm/lib/TargetParser/Host.cpp
    M llvm/lib/TargetParser/TargetParser.cpp
    M llvm/lib/Transforms/CFGuard/CFGuard.cpp
    M llvm/lib/Transforms/Coroutines/MaterializationUtils.cpp
    M llvm/lib/Transforms/HipStdPar/HipStdPar.cpp
    M llvm/lib/Transforms/IPO/AttributorAttributes.cpp
    M llvm/lib/Transforms/IPO/FunctionAttrs.cpp
    M llvm/lib/Transforms/IPO/GlobalOpt.cpp
    M llvm/lib/Transforms/IPO/MemProfContextDisambiguation.cpp
    M llvm/lib/Transforms/InstCombine/InstCombineCalls.cpp
    M llvm/lib/Transforms/InstCombine/InstCombineCompares.cpp
    M llvm/lib/Transforms/Instrumentation/AddressSanitizer.cpp
    M llvm/lib/Transforms/Instrumentation/DataFlowSanitizer.cpp
    M llvm/lib/Transforms/Instrumentation/GCOVProfiling.cpp
    M llvm/lib/Transforms/Instrumentation/MemProfiler.cpp
    M llvm/lib/Transforms/Instrumentation/MemorySanitizer.cpp
    M llvm/lib/Transforms/Instrumentation/TypeSanitizer.cpp
    M llvm/lib/Transforms/Scalar/LoopInterchange.cpp
    M llvm/lib/Transforms/Scalar/Reassociate.cpp
    M llvm/lib/Transforms/Utils/CodeExtractor.cpp
    M llvm/lib/Transforms/Utils/LowerGlobalDtors.cpp
    M llvm/lib/Transforms/Utils/ModuleUtils.cpp
    M llvm/lib/Transforms/Vectorize/CMakeLists.txt
    M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
    M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
    M llvm/lib/Transforms/Vectorize/SandboxVectorizer/Legality.cpp
    M llvm/lib/Transforms/Vectorize/SandboxVectorizer/Passes/BottomUpVec.cpp
    A llvm/lib/Transforms/Vectorize/SandboxVectorizer/VecUtils.cpp
    M llvm/lib/Transforms/Vectorize/VPRecipeBuilder.h
    M llvm/lib/Transforms/Vectorize/VPlan.h
    M llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
    M llvm/lib/Transforms/Vectorize/VPlanTransforms.h
    M llvm/lib/Transforms/Vectorize/VPlanUtils.h
    M llvm/lib/Transforms/Vectorize/VPlanValue.h
    M llvm/test/Analysis/CostModel/SystemZ/divrem-reg.ll
    M llvm/test/Analysis/CostModel/SystemZ/i128-cmp-ext-conv.ll
    M llvm/test/Analysis/CostModel/SystemZ/int-arith.ll
    A llvm/test/CodeGen/AArch64/aarch64-large-stack-spbump.mir
    M llvm/test/CodeGen/AArch64/adds_cmn.ll
    M llvm/test/CodeGen/AArch64/bf16-convert-intrinsics.ll
    M llvm/test/CodeGen/AArch64/bf16-v4-instructions.ll
    M llvm/test/CodeGen/AArch64/bf16-v8-instructions.ll
    M llvm/test/CodeGen/AArch64/const-shift-of-constmasked.ll
    M llvm/test/CodeGen/AArch64/csel-cmp-cse.ll
    M llvm/test/CodeGen/AArch64/csel-subs-swapped.ll
    M llvm/test/CodeGen/AArch64/extract-bits.ll
    M llvm/test/CodeGen/AArch64/extract-vector-cmp.ll
    M llvm/test/CodeGen/AArch64/fpenv.ll
    A llvm/test/CodeGen/AArch64/fsh.ll
    A llvm/test/CodeGen/AArch64/instr-ref-ldv.ll
    M llvm/test/CodeGen/AArch64/vector-extract-last-active.ll
    M llvm/test/CodeGen/AArch64/xbfiz.ll
    A llvm/test/CodeGen/AArch64/zeroing-forms-uscvtf.ll
    M llvm/test/CodeGen/AMDGPU/amdgpu-alias-analysis.ll
    M llvm/test/CodeGen/AMDGPU/amdpal-cs.ll
    M llvm/test/CodeGen/AMDGPU/amdpal-es.ll
    M llvm/test/CodeGen/AMDGPU/amdpal-gs.ll
    M llvm/test/CodeGen/AMDGPU/amdpal-hs.ll
    M llvm/test/CodeGen/AMDGPU/amdpal-ls.ll
    M llvm/test/CodeGen/AMDGPU/amdpal-psenable.ll
    M llvm/test/CodeGen/AMDGPU/amdpal-vs.ll
    M llvm/test/CodeGen/AMDGPU/amdpal.ll
    A llvm/test/CodeGen/AMDGPU/buffer-fat-pointers-contents-legalization.ll
    M llvm/test/CodeGen/AMDGPU/dagcombine-fma-fmad.ll
    M llvm/test/CodeGen/AMDGPU/elf-notes.ll
    M llvm/test/CodeGen/AMDGPU/fix-vgpr-copies.mir
    M llvm/test/CodeGen/AMDGPU/inlineasm-mismatched-size-error.ll
    A llvm/test/CodeGen/AMDGPU/licm-wwm.mir
    A llvm/test/CodeGen/AMDGPU/llvm.amdgcn.raw.ptr.buffer.store.nxv2i32.fail.ll
    M llvm/test/CodeGen/AMDGPU/lower-buffer-fat-pointers-calls.ll
    M llvm/test/CodeGen/AMDGPU/lower-buffer-fat-pointers-contents-legalization.ll
    M llvm/test/CodeGen/AMDGPU/lower-buffer-fat-pointers-unoptimized-debug-data.ll
    M llvm/test/CodeGen/AMDGPU/lower-term-opcodes.mir
    M llvm/test/CodeGen/AMDGPU/optimize-exec-copies-extra-insts-after-copy.mir
    M llvm/test/CodeGen/AMDGPU/pal-metadata-3.0.ll
    A llvm/test/CodeGen/AMDGPU/shufflevector.v2bf16.v2bf16.ll
    A llvm/test/CodeGen/AMDGPU/shufflevector.v2bf16.v3bf16.ll
    A llvm/test/CodeGen/AMDGPU/shufflevector.v2bf16.v4bf16.ll
    A llvm/test/CodeGen/AMDGPU/shufflevector.v2bf16.v8bf16.ll
    A llvm/test/CodeGen/AMDGPU/shufflevector.v2f16.v2f16.ll
    A llvm/test/CodeGen/AMDGPU/shufflevector.v2f16.v3f16.ll
    A llvm/test/CodeGen/AMDGPU/shufflevector.v2f16.v4f16.ll
    A llvm/test/CodeGen/AMDGPU/shufflevector.v2f16.v8f16.ll
    A llvm/test/CodeGen/AMDGPU/shufflevector.v2f32.v2f32.ll
    A llvm/test/CodeGen/AMDGPU/shufflevector.v2f32.v3f32.ll
    A llvm/test/CodeGen/AMDGPU/shufflevector.v2f32.v4f32.ll
    A llvm/test/CodeGen/AMDGPU/shufflevector.v2f32.v8f32.ll
    A llvm/test/CodeGen/AMDGPU/shufflevector.v2i16.v2i16.ll
    A llvm/test/CodeGen/AMDGPU/shufflevector.v2i16.v3i16.ll
    A llvm/test/CodeGen/AMDGPU/shufflevector.v2i16.v4i16.ll
    A llvm/test/CodeGen/AMDGPU/shufflevector.v2i16.v8i16.ll
    A llvm/test/CodeGen/AMDGPU/shufflevector.v2i32.v2i32.ll
    A llvm/test/CodeGen/AMDGPU/shufflevector.v2i32.v3i32.ll
    A llvm/test/CodeGen/AMDGPU/shufflevector.v2i32.v4i32.ll
    A llvm/test/CodeGen/AMDGPU/shufflevector.v2i32.v8i32.ll
    A llvm/test/CodeGen/AMDGPU/shufflevector.v2i64.v2i64.ll
    A llvm/test/CodeGen/AMDGPU/shufflevector.v2i64.v3i64.ll
    A llvm/test/CodeGen/AMDGPU/shufflevector.v2i64.v4i64.ll
    A llvm/test/CodeGen/AMDGPU/shufflevector.v2i64.v8i64.ll
    A llvm/test/CodeGen/AMDGPU/shufflevector.v2p0.v2p0.ll
    A llvm/test/CodeGen/AMDGPU/shufflevector.v2p0.v3p0.ll
    A llvm/test/CodeGen/AMDGPU/shufflevector.v2p0.v4p0.ll
    A llvm/test/CodeGen/AMDGPU/shufflevector.v2p3.v2p3.ll
    A llvm/test/CodeGen/AMDGPU/shufflevector.v2p3.v3p3.ll
    A llvm/test/CodeGen/AMDGPU/shufflevector.v2p3.v4p3.ll
    A llvm/test/CodeGen/AMDGPU/shufflevector.v2p3.v8p3.ll
    A llvm/test/CodeGen/AMDGPU/shufflevector.v3bf16.v2bf16.ll
    A llvm/test/CodeGen/AMDGPU/shufflevector.v3bf16.v3bf16.ll
    A llvm/test/CodeGen/AMDGPU/shufflevector.v3bf16.v4bf16.ll
    A llvm/test/CodeGen/AMDGPU/shufflevector.v3f16.v2f16.ll
    A llvm/test/CodeGen/AMDGPU/shufflevector.v3f16.v3f16.ll
    A llvm/test/CodeGen/AMDGPU/shufflevector.v3f16.v4f16.ll
    A llvm/test/CodeGen/AMDGPU/shufflevector.v3f32.v2f32.ll
    A llvm/test/CodeGen/AMDGPU/shufflevector.v3f32.v3f32.ll
    A llvm/test/CodeGen/AMDGPU/shufflevector.v3f32.v4f32.ll
    A llvm/test/CodeGen/AMDGPU/shufflevector.v3i16.v2i16.ll
    A llvm/test/CodeGen/AMDGPU/shufflevector.v3i16.v3i16.ll
    A llvm/test/CodeGen/AMDGPU/shufflevector.v3i16.v4i16.ll
    A llvm/test/CodeGen/AMDGPU/shufflevector.v3i32.v2i32.ll
    A llvm/test/CodeGen/AMDGPU/shufflevector.v3i32.v3i32.ll
    A llvm/test/CodeGen/AMDGPU/shufflevector.v3i32.v4i32.ll
    A llvm/test/CodeGen/AMDGPU/shufflevector.v3i64.v2i64.ll
    A llvm/test/CodeGen/AMDGPU/shufflevector.v3i64.v3i64.ll
    A llvm/test/CodeGen/AMDGPU/shufflevector.v3i64.v4i64.ll
    A llvm/test/CodeGen/AMDGPU/shufflevector.v3p0.v2p0.ll
    A llvm/test/CodeGen/AMDGPU/shufflevector.v3p0.v3p0.ll
    A llvm/test/CodeGen/AMDGPU/shufflevector.v3p0.v4p0.ll
    A llvm/test/CodeGen/AMDGPU/shufflevector.v3p3.v2p3.ll
    A llvm/test/CodeGen/AMDGPU/shufflevector.v3p3.v3p3.ll
    A llvm/test/CodeGen/AMDGPU/shufflevector.v3p3.v4p3.ll
    A llvm/test/CodeGen/AMDGPU/shufflevector.v4bf16.v2bf16.ll
    A llvm/test/CodeGen/AMDGPU/shufflevector.v4bf16.v3bf16.ll
    A llvm/test/CodeGen/AMDGPU/shufflevector.v4bf16.v4bf16.ll
    A llvm/test/CodeGen/AMDGPU/shufflevector.v4f16.v2f16.ll
    A llvm/test/CodeGen/AMDGPU/shufflevector.v4f16.v3f16.ll
    A llvm/test/CodeGen/AMDGPU/shufflevector.v4f16.v4f16.ll
    A llvm/test/CodeGen/AMDGPU/shufflevector.v4f32.v2f32.ll
    A llvm/test/CodeGen/AMDGPU/shufflevector.v4f32.v3f32.ll
    A llvm/test/CodeGen/AMDGPU/shufflevector.v4f32.v4f32.ll
    A llvm/test/CodeGen/AMDGPU/shufflevector.v4i16.v2i16.ll
    A llvm/test/CodeGen/AMDGPU/shufflevector.v4i16.v3i16.ll
    A llvm/test/CodeGen/AMDGPU/shufflevector.v4i16.v4i16.ll
    A llvm/test/CodeGen/AMDGPU/shufflevector.v4i32.v2i32.ll
    A llvm/test/CodeGen/AMDGPU/shufflevector.v4i32.v3i32.ll
    A llvm/test/CodeGen/AMDGPU/shufflevector.v4i32.v4i32.ll
    A llvm/test/CodeGen/AMDGPU/shufflevector.v4i64.v2i64.ll
    A llvm/test/CodeGen/AMDGPU/shufflevector.v4i64.v3i64.ll
    A llvm/test/CodeGen/AMDGPU/shufflevector.v4i64.v4i64.ll
    A llvm/test/CodeGen/AMDGPU/shufflevector.v4p0.v2p0.ll
    A llvm/test/CodeGen/AMDGPU/shufflevector.v4p0.v3p0.ll
    A llvm/test/CodeGen/AMDGPU/shufflevector.v4p0.v4p0.ll
    A llvm/test/CodeGen/AMDGPU/shufflevector.v4p3.v2p3.ll
    A llvm/test/CodeGen/AMDGPU/shufflevector.v4p3.v3p3.ll
    A llvm/test/CodeGen/AMDGPU/shufflevector.v4p3.v4p3.ll
    M llvm/test/CodeGen/AMDGPU/wave_dispatch_regs.ll
    M llvm/test/CodeGen/AMDGPU/wqm.ll
    M llvm/test/CodeGen/AVR/branch-relaxation-long-backward.ll
    M llvm/test/CodeGen/AVR/branch-relaxation-long-forward.ll
    A llvm/test/CodeGen/DirectX/ShaderFlags/raw-and-structured-buffers.ll
    A llvm/test/CodeGen/LoongArch/linker-relaxation.ll
    A llvm/test/CodeGen/LoongArch/mir-relax-flags.ll
    M llvm/test/CodeGen/LoongArch/mir-target-flags.ll
    A llvm/test/CodeGen/LoongArch/preld.ll
    M llvm/test/CodeGen/LoongArch/smul-with-overflow.ll
    A llvm/test/CodeGen/Mips/dllimport.ll
    M llvm/test/CodeGen/Mips/mips64-f128.ll
    M llvm/test/CodeGen/Mips/msa/shuffle.ll
    A llvm/test/CodeGen/NVPTX/addrspacecast-cse.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-int-shuffles.ll
    A llvm/test/CodeGen/RISCV/rvv/fixed-vectors-select-addsub.ll
    M llvm/test/CodeGen/RISCV/rvv/vector-extract-last-active.ll
    A llvm/test/CodeGen/RISCV/rvv/vp-combine-store-reverse.ll
    M llvm/test/CodeGen/SPARC/smulo-128-legalisation-lowering.ll
    A llvm/test/CodeGen/SPIRV/GlobalISel/InstCombine/prelegalizercombiner-length-to-distance.mir
    M llvm/test/CodeGen/SPIRV/hlsl-intrinsics/distance.ll
    A llvm/test/CodeGen/SPIRV/hlsl-resources/BufferLoadStore.ll
    M llvm/test/CodeGen/SPIRV/hlsl-resources/BufferStore.ll
    R llvm/test/CodeGen/SPIRV/hlsl-resources/CombinedSamplerImageDynIdx.ll
    R llvm/test/CodeGen/SPIRV/hlsl-resources/CombinedSamplerImageNonUniformIdx.ll
    R llvm/test/CodeGen/SPIRV/hlsl-resources/InputAttachmentImageDynIdx.ll
    R llvm/test/CodeGen/SPIRV/hlsl-resources/InputAttachmentImageNonUniformIdx.ll
    R llvm/test/CodeGen/SPIRV/hlsl-resources/SampledImageDynIdx.ll
    R llvm/test/CodeGen/SPIRV/hlsl-resources/SampledImageNonUniformIdx.ll
    R llvm/test/CodeGen/SPIRV/hlsl-resources/SamplerArrayDynIdx.ll
    R llvm/test/CodeGen/SPIRV/hlsl-resources/SamplerArrayNonUniformIdx.ll
    M llvm/test/CodeGen/SPIRV/hlsl-resources/ScalarResourceType.ll
    M llvm/test/CodeGen/SPIRV/hlsl-resources/StorageImageDynIdx.ll
    M llvm/test/CodeGen/SPIRV/hlsl-resources/StorageImageNonUniformIdx.ll
    R llvm/test/CodeGen/SPIRV/hlsl-resources/StorageTexelBufferDynIdx.ll
    R llvm/test/CodeGen/SPIRV/hlsl-resources/StorageTexelBufferNonUniformIdx.ll
    R llvm/test/CodeGen/SPIRV/hlsl-resources/UniformTexelBufferDynIdx.ll
    R llvm/test/CodeGen/SPIRV/hlsl-resources/UniformTexelBufferNonUniformIdx.ll
    M llvm/test/CodeGen/SPIRV/hlsl-resources/UnknownBufferStore.ll
    M llvm/test/CodeGen/SPIRV/opencl/distance.ll
    M llvm/test/CodeGen/SystemZ/args-12.ll
    M llvm/test/CodeGen/SystemZ/args-13.ll
    A llvm/test/CodeGen/SystemZ/bitop-intrinsics.ll
    A llvm/test/CodeGen/SystemZ/int-abs-03.ll
    M llvm/test/CodeGen/SystemZ/int-add-19.ll
    A llvm/test/CodeGen/SystemZ/int-cmp-64.ll
    A llvm/test/CodeGen/SystemZ/int-conv-15.ll
    A llvm/test/CodeGen/SystemZ/int-div-08.ll
    A llvm/test/CodeGen/SystemZ/int-max-02.ll
    A llvm/test/CodeGen/SystemZ/int-min-02.ll
    A llvm/test/CodeGen/SystemZ/int-mul-14.ll
    A llvm/test/CodeGen/SystemZ/int-mul-15.ll
    A llvm/test/CodeGen/SystemZ/int-mul-16.ll
    A llvm/test/CodeGen/SystemZ/int-neg-04.ll
    M llvm/test/CodeGen/SystemZ/int-sub-12.ll
    A llvm/test/CodeGen/SystemZ/llxa-01.ll
    A llvm/test/CodeGen/SystemZ/llxa-02.ll
    A llvm/test/CodeGen/SystemZ/llxa-03.ll
    A llvm/test/CodeGen/SystemZ/llxa-04.ll
    A llvm/test/CodeGen/SystemZ/llxa-05.ll
    A llvm/test/CodeGen/SystemZ/lxa-01.ll
    A llvm/test/CodeGen/SystemZ/lxa-02.ll
    A llvm/test/CodeGen/SystemZ/lxa-03.ll
    A llvm/test/CodeGen/SystemZ/lxa-04.ll
    A llvm/test/CodeGen/SystemZ/lxa-05.ll
    A llvm/test/CodeGen/SystemZ/scalar-ctlz-03.ll
    A llvm/test/CodeGen/SystemZ/scalar-ctlz-04.ll
    A llvm/test/CodeGen/SystemZ/scalar-cttz-03.ll
    A llvm/test/CodeGen/SystemZ/scalar-cttz-04.ll
    A llvm/test/CodeGen/SystemZ/vec-cmp-09.ll
    A llvm/test/CodeGen/SystemZ/vec-div-03.ll
    A llvm/test/CodeGen/SystemZ/vec-eval.ll
    A llvm/test/CodeGen/SystemZ/vec-intrinsics-05.ll
    A llvm/test/CodeGen/SystemZ/vec-mul-06.ll
    M llvm/test/CodeGen/X86/amx-fp8-internal.ll
    M llvm/test/CodeGen/X86/canonicalize-vars-f16-type.ll
    M llvm/test/CodeGen/X86/combine-ptest.ll
    M llvm/test/CodeGen/X86/cvt16.ll
    M llvm/test/CodeGen/X86/fp-strict-scalar-fp16.ll
    M llvm/test/CodeGen/X86/fp16-libcalls.ll
    M llvm/test/CodeGen/X86/half-constrained.ll
    M llvm/test/CodeGen/X86/half-darwin.ll
    M llvm/test/CodeGen/X86/half.ll
    A llvm/test/CodeGen/X86/pr123333.ll
    M llvm/test/CodeGen/X86/pr91005.ll
    M llvm/test/CodeGen/X86/pr95278.ll
    M llvm/test/CodeGen/X86/smul-with-overflow.ll
    M llvm/test/CodeGen/X86/smulo-128-legalisation-lowering.ll
    M llvm/test/CodeGen/X86/vector-half-conversions.ll
    M llvm/test/DebugInfo/NVPTX/debug-info.ll
    M llvm/test/DebugInfo/X86/DW_AT_object_pointer.ll
    M llvm/test/DebugInfo/X86/dwarf-public-names.ll
    M llvm/test/MC/AArch64/spe.s
    M llvm/test/MC/AMDGPU/gfx11_asm_vop3_dpp16_from_vopc.s
    M llvm/test/MC/AMDGPU/gfx11_asm_vop3_dpp8_from_vopc.s
    M llvm/test/MC/AMDGPU/gfx11_asm_vop3_from_vopc.s
    M llvm/test/MC/AMDGPU/gfx11_asm_vopc.s
    M llvm/test/MC/AMDGPU/gfx11_asm_vopc_dpp16.s
    M llvm/test/MC/AMDGPU/gfx11_asm_vopc_dpp8.s
    M llvm/test/MC/AMDGPU/gfx11_asm_vopc_t16_err.s
    M llvm/test/MC/AMDGPU/gfx11_asm_vopc_t16_promote.s
    M llvm/test/MC/AMDGPU/gfx12_asm_vop3c.s
    M llvm/test/MC/AMDGPU/gfx12_asm_vop3c_dpp16.s
    M llvm/test/MC/AMDGPU/gfx12_asm_vop3c_dpp8.s
    M llvm/test/MC/AMDGPU/gfx12_asm_vopc.s
    M llvm/test/MC/AMDGPU/gfx12_asm_vopc_dpp16.s
    M llvm/test/MC/AMDGPU/gfx12_asm_vopc_dpp8.s
    M llvm/test/MC/AMDGPU/gfx12_asm_vopc_t16_err.s
    M llvm/test/MC/AMDGPU/gfx12_asm_vopc_t16_promote.s
    M llvm/test/MC/Disassembler/AMDGPU/gfx11_dasm_vop3_dpp16_from_vopc.txt
    M llvm/test/MC/Disassembler/AMDGPU/gfx11_dasm_vop3_dpp8_from_vopc.txt
    M llvm/test/MC/Disassembler/AMDGPU/gfx11_dasm_vop3_from_vopc.txt
    M llvm/test/MC/Disassembler/AMDGPU/gfx11_dasm_vopc.txt
    M llvm/test/MC/Disassembler/AMDGPU/gfx11_dasm_vopc_dpp16.txt
    M llvm/test/MC/Disassembler/AMDGPU/gfx11_dasm_vopc_dpp8.txt
    M llvm/test/MC/Disassembler/AMDGPU/gfx12_dasm_vop3c.txt
    M llvm/test/MC/Disassembler/AMDGPU/gfx12_dasm_vop3c_dpp16.txt
    M llvm/test/MC/Disassembler/AMDGPU/gfx12_dasm_vop3c_dpp8.txt
    M llvm/test/MC/Disassembler/AMDGPU/gfx12_dasm_vopc.txt
    M llvm/test/MC/Disassembler/AMDGPU/gfx12_dasm_vopc_dpp16.txt
    M llvm/test/MC/Disassembler/AMDGPU/gfx12_dasm_vopc_dpp8.txt
    A llvm/test/MC/Disassembler/SystemZ/insns-arch15.txt
    A llvm/test/MC/Mips/coff-relocs-dllimport.ll
    M llvm/test/MC/Mips/coff-relocs.ll
    A llvm/test/MC/SystemZ/insn-bad-arch15.s
    M llvm/test/MC/SystemZ/insn-bad-z16.s
    A llvm/test/MC/SystemZ/insn-good-arch15.s
    M llvm/test/Object/Inputs/WASM/multi-table.wasm
    A llvm/test/Other/print-loop-func-scope.ll
    M llvm/test/TableGen/generic-tables-instruction.td
    M llvm/test/TableGen/generic-tables.td
    M llvm/test/Transforms/FunctionAttrs/initializes.ll
    M llvm/test/Transforms/GlobalOpt/resolve-fmv-ifunc.ll
    A llvm/test/Transforms/InstCombine/add-shl-mul-umax.ll
    M llvm/test/Transforms/InstCombine/add.ll
    A llvm/test/Transforms/InstCombine/icmp-srem.ll
    A llvm/test/Transforms/InstSimplify/pr122582.ll
    M llvm/test/Transforms/LoopDataPrefetch/LoongArch/basic.ll
    M llvm/test/Transforms/LoopInterchange/gh54176-scalar-deps.ll
    M llvm/test/Transforms/LoopInterchange/inner-only-reductions.ll
    M llvm/test/Transforms/LoopInterchange/innermost-latch-uses-values-in-middle-header.ll
    M llvm/test/Transforms/LoopInterchange/interchange-flow-dep-outer.ll
    M llvm/test/Transforms/LoopInterchange/lcssa.ll
    A llvm/test/Transforms/LoopInterchange/many-load-stores.ll
    M llvm/test/Transforms/LoopInterchange/outer-header-jump-to-inner-latch.ll
    M llvm/test/Transforms/LoopInterchange/pr43176-move-to-new-latch.ll
    M llvm/test/Transforms/LoopInterchange/pr43797-lcssa-for-multiple-outer-loop-blocks.ll
    M llvm/test/Transforms/LoopInterchange/profitability.ll
    M llvm/test/Transforms/LoopInterchange/reductions-across-inner-and-outer-loop.ll
    M llvm/test/Transforms/LoopInterchange/unique-dep-matrix.ll
    M llvm/test/Transforms/LoopInterchange/vector-gep-operand.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/prefer-fixed-if-equal-to-scalable.ll
    M llvm/test/Transforms/LoopVectorize/RISCV/riscv-vector-reverse.ll
    M llvm/test/Transforms/LoopVectorize/RISCV/vectorize-force-tail-with-evl-fixed-order-recurrence.ll
    M llvm/test/Transforms/LoopVectorize/X86/multi-exit-cost.ll
    M llvm/test/Transforms/LoopVectorize/iv_outside_user.ll
    M llvm/test/Transforms/LoopVectorize/single_early_exit_live_outs.ll
    M llvm/test/Transforms/LoopVectorize/unused-blend-mask-for-first-operand.ll
    A llvm/test/Transforms/LoopVectorize/vector-loop-backedge-elimination-outside-iv-users.ll
    M llvm/test/Transforms/Reassociate/reassoc_bool_vec.ll
    A llvm/test/Transforms/SLPVectorizer/AArch64/InstructionsState-is-invalid-0.ll
    M llvm/test/Transforms/SLPVectorizer/AArch64/vectorize-free-extracts-inserts.ll
    A llvm/test/Transforms/SLPVectorizer/InstructionsState-is-invalid-2.ll
    M llvm/test/Transforms/SLPVectorizer/RISCV/complex-loads.ll
    A llvm/test/Transforms/SLPVectorizer/X86/InstructionsState-is-invalid-1.ll
    M llvm/test/Transforms/SLPVectorizer/X86/hadd.ll
    A llvm/test/Transforms/SLPVectorizer/X86/insert-subvector.ll
    M llvm/test/Transforms/SLPVectorizer/X86/matched-shuffled-entries.ll
    A llvm/test/Transforms/SLPVectorizer/X86/multi-node-reuse-in-bv.ll
    M llvm/test/Transforms/SLPVectorizer/X86/sitofp.ll
    M llvm/test/Transforms/SLPVectorizer/X86/value-bug.ll
    M llvm/test/Transforms/SLPVectorizer/X86/vectorize-widest-phis.ll
    R llvm/test/Transforms/SLPVectorizer/insert-element-build-vector-const-undef.ll
    A llvm/test/Transforms/SLPVectorizer/insert-element-build-vector-const.ll
    M llvm/test/Transforms/SLPVectorizer/insert-element-build-vector.ll
    M llvm/test/Transforms/SandboxVectorizer/bottomup_basic.ll
    M llvm/test/tools/llvm-dwarfdump/X86/statistics.ll
    A llvm/test/tools/llvm-objdump/XCOFF/private-headers-option.test
    M llvm/tools/lli/lli.cpp
    M llvm/tools/llvm-cgdata/llvm-cgdata.cpp
    M llvm/tools/llvm-exegesis/lib/Assembler.cpp
    M llvm/tools/llvm-jitlink/llvm-jitlink.cpp
    M llvm/tools/llvm-objdump/XCOFFDump.cpp
    M llvm/tools/llvm-reduce/deltas/ReduceOpcodes.cpp
    M llvm/tools/llvm-stress/llvm-stress.cpp
    M llvm/unittests/CodeGen/LowLevelTypeTest.cpp
    M llvm/unittests/FuzzMutate/OperationsTest.cpp
    M llvm/unittests/FuzzMutate/RandomIRBuilderTest.cpp
    M llvm/unittests/IR/ConstantsTest.cpp
    M llvm/unittests/IR/InstructionsTest.cpp
    M llvm/unittests/IR/PatternMatch.cpp
    M llvm/unittests/IR/VerifierTest.cpp
    M llvm/unittests/Linker/LinkModulesTest.cpp
    M llvm/unittests/SandboxIR/SandboxIRTest.cpp
    M llvm/unittests/Target/SPIRV/SPIRVAPITest.cpp
    M llvm/unittests/TargetParser/Host.cpp
    M llvm/unittests/Transforms/Vectorize/SandboxVectorizer/InstrMapsTest.cpp
    M llvm/unittests/Transforms/Vectorize/SandboxVectorizer/LegalityTest.cpp
    M llvm/unittests/Transforms/Vectorize/VPlanTest.cpp
    M llvm/utils/TableGen/AsmMatcherEmitter.cpp
    M llvm/utils/TableGen/Basic/VTEmitter.cpp
    M llvm/utils/TableGen/Common/CodeGenSchedule.cpp
    M llvm/utils/TableGen/Common/CodeGenSchedule.h
    M llvm/utils/TableGen/SearchableTableEmitter.cpp
    M llvm/utils/TableGen/SubtargetEmitter.cpp
    M llvm/utils/gn/secondary/clang-tools-extra/clangd/BUILD.gn
    M llvm/utils/gn/secondary/clang-tools-extra/clangd/unittests/BUILD.gn
    M llvm/utils/gn/secondary/clang/lib/Sema/BUILD.gn
    M llvm/utils/gn/secondary/clang/unittests/Sema/BUILD.gn
    M llvm/utils/gn/secondary/lldb/source/API/BUILD.gn
    M llvm/utils/gn/secondary/llvm/lib/ExecutionEngine/Orc/BUILD.gn
    M llvm/utils/gn/secondary/llvm/lib/Transforms/Vectorize/BUILD.gn
    A mlir/include/mlir/Conversion/MathToEmitC/MathToEmitC.h
    A mlir/include/mlir/Conversion/MathToEmitC/MathToEmitCPass.h
    M mlir/include/mlir/Conversion/Passes.h
    M mlir/include/mlir/Conversion/Passes.td
    M mlir/include/mlir/Conversion/TosaToLinalg/TosaToLinalg.h
    M mlir/include/mlir/Dialect/EmitC/IR/EmitC.td
    M mlir/include/mlir/Dialect/IRDL/IR/IRDLOps.td
    M mlir/include/mlir/Dialect/LLVMIR/NVVMOps.td
    M mlir/include/mlir/Dialect/SPIRV/IR/SPIRVBase.td
    M mlir/include/mlir/Dialect/SPIRV/IR/SPIRVGLOps.td
    M mlir/include/mlir/Dialect/SPIRV/IR/SPIRVMatrixOps.td
    M mlir/include/mlir/Dialect/Vector/IR/VectorOps.td
    M mlir/include/mlir/Dialect/XeGPU/IR/XeGPUOps.td
    M mlir/include/mlir/IR/BlockSupport.h
    M mlir/include/mlir/IR/Builders.h
    M mlir/include/mlir/IR/BuiltinTypes.h
    M mlir/include/mlir/IR/BuiltinTypes.td
    M mlir/include/mlir/IR/CommonTypeConstraints.td
    M mlir/include/mlir/IR/Diagnostics.h
    M mlir/include/mlir/IR/Region.h
    M mlir/include/mlir/IR/TypeRange.h
    M mlir/include/mlir/IR/Types.h
    M mlir/include/mlir/IR/ValueRange.h
    M mlir/include/mlir/Target/SPIRV/Serialization.h
    M mlir/lib/AsmParser/TypeParser.cpp
    M mlir/lib/CAPI/IR/BuiltinTypes.cpp
    M mlir/lib/Conversion/AMDGPUToROCDL/AMDGPUToROCDL.cpp
    M mlir/lib/Conversion/ArithToAMDGPU/ArithToAMDGPU.cpp
    M mlir/lib/Conversion/CMakeLists.txt
    M mlir/lib/Conversion/GPUCommon/OpToFuncCallLowering.h
    M mlir/lib/Conversion/GPUToNVVM/LowerGpuOpsToNVVMOps.cpp
    M mlir/lib/Conversion/LLVMCommon/MemRefBuilder.cpp
    M mlir/lib/Conversion/LLVMCommon/Pattern.cpp
    M mlir/lib/Conversion/LLVMCommon/TypeConverter.cpp
    A mlir/lib/Conversion/MathToEmitC/CMakeLists.txt
    A mlir/lib/Conversion/MathToEmitC/MathToEmitC.cpp
    A mlir/lib/Conversion/MathToEmitC/MathToEmitCPass.cpp
    M mlir/lib/Conversion/MemRefToLLVM/MemRefToLLVM.cpp
    M mlir/lib/Conversion/NVGPUToNVVM/NVGPUToNVVM.cpp
    M mlir/lib/Conversion/TosaToLinalg/TosaToLinalg.cpp
    M mlir/lib/Conversion/TosaToLinalg/TosaToLinalgNamed.cpp
    M mlir/lib/Conversion/TosaToLinalg/TosaToLinalgNamedPass.cpp
    M mlir/lib/Conversion/VectorToGPU/VectorToGPU.cpp
    M mlir/lib/Conversion/VectorToLLVM/ConvertVectorToLLVM.cpp
    M mlir/lib/Conversion/VectorToSCF/VectorToSCF.cpp
    M mlir/lib/Conversion/VectorToXeGPU/VectorToXeGPU.cpp
    M mlir/lib/Dialect/AMDGPU/IR/AMDGPUDialect.cpp
    M mlir/lib/Dialect/AMX/Transforms/LegalizeForLLVMExport.cpp
    M mlir/lib/Dialect/Arith/Utils/Utils.cpp
    M mlir/lib/Dialect/Bufferization/IR/BufferizationOps.cpp
    M mlir/lib/Dialect/Bufferization/Transforms/BufferResultsToOutParams.cpp
    M mlir/lib/Dialect/GPU/IR/GPUDialect.cpp
    M mlir/lib/Dialect/GPU/Transforms/DecomposeMemRefs.cpp
    M mlir/lib/Dialect/IRDL/IR/IRDL.cpp
    M mlir/lib/Dialect/LLVMIR/IR/LLVMAttrs.cpp
    M mlir/lib/Dialect/LLVMIR/Transforms/InlinerInterfaceImpl.cpp
    M mlir/lib/Dialect/Linalg/Utils/Utils.cpp
    M mlir/lib/Dialect/MemRef/IR/MemRefOps.cpp
    M mlir/lib/Dialect/MemRef/Transforms/EmulateNarrowType.cpp
    M mlir/lib/Dialect/MemRef/Transforms/ExpandStridedMetadata.cpp
    M mlir/lib/Dialect/MemRef/Transforms/RuntimeOpVerification.cpp
    M mlir/lib/Dialect/MemRef/Utils/MemRefUtils.cpp
    M mlir/lib/Dialect/NVGPU/IR/NVGPUDialect.cpp
    M mlir/lib/Dialect/NVGPU/Transforms/CreateAsyncGroups.cpp
    M mlir/lib/Dialect/NVGPU/Utils/MMAUtils.cpp
    M mlir/lib/Dialect/SCF/IR/ValueBoundsOpInterfaceImpl.cpp
    M mlir/lib/Dialect/SPIRV/IR/SPIRVOps.cpp
    M mlir/lib/Dialect/SPIRV/Transforms/SPIRVConversion.cpp
    M mlir/lib/Dialect/Tensor/Transforms/BufferizableOpInterfaceImpl.cpp
    M mlir/lib/Dialect/Tosa/IR/TosaOps.cpp
    M mlir/lib/Dialect/Vector/IR/VectorOps.cpp
    M mlir/lib/Dialect/Vector/Transforms/LowerVectorTransfer.cpp
    M mlir/lib/Dialect/Vector/Transforms/VectorTransferOpTransforms.cpp
    M mlir/lib/Dialect/Vector/Transforms/VectorTransferSplitRewritePatterns.cpp
    M mlir/lib/Dialect/Vector/Transforms/VectorTransforms.cpp
    M mlir/lib/Dialect/Vector/Utils/VectorUtils.cpp
    M mlir/lib/IR/Builders.cpp
    M mlir/lib/IR/BuiltinTypes.cpp
    M mlir/lib/IR/Diagnostics.cpp
    M mlir/lib/IR/MLIRContext.cpp
    M mlir/lib/IR/Types.cpp
    M mlir/lib/Target/LLVMIR/Dialect/OpenMP/OpenMPToLLVMIRTranslation.cpp
    M mlir/lib/Transforms/InlinerPass.cpp
    M mlir/lib/Transforms/RemoveDeadValues.cpp
    M mlir/test/CAPI/irdl.c
    M mlir/test/Conversion/ArithToEmitC/arith-to-emitc.mlir
    M mlir/test/Conversion/GPUToNVVM/gpu-to-nvvm.mlir
    A mlir/test/Conversion/MathToEmitC/math-to-emitc-failed.mlir
    A mlir/test/Conversion/MathToEmitC/math-to-emitc.mlir
    M mlir/test/Conversion/SCFToEmitC/for.mlir
    M mlir/test/Conversion/SCFToEmitC/if.mlir
    M mlir/test/Conversion/SCFToEmitC/switch.mlir
    M mlir/test/Conversion/TosaToLinalg/tosa-to-linalg-named.mlir
    M mlir/test/Conversion/TosaToLinalg/tosa-to-linalg.mlir
    M mlir/test/Conversion/VectorToLLVM/vector-to-llvm.mlir
    M mlir/test/Conversion/VectorToSPIRV/vector-to-spirv.mlir
    M mlir/test/Dialect/EmitC/transforms.mlir
    M mlir/test/Dialect/IRDL/cmath.irdl.mlir
    M mlir/test/Dialect/IRDL/cpred.irdl.mlir
    M mlir/test/Dialect/IRDL/cyclic-types.irdl.mlir
    M mlir/test/Dialect/IRDL/invalid.irdl.mlir
    M mlir/test/Dialect/IRDL/regions-ops.irdl.mlir
    M mlir/test/Dialect/IRDL/test-type.irdl.mlir
    M mlir/test/Dialect/IRDL/testd.irdl.mlir
    M mlir/test/Dialect/IRDL/variadics-error.irdl.mlir
    M mlir/test/Dialect/IRDL/variadics.irdl.mlir
    M mlir/test/Dialect/LLVMIR/func.mlir
    A mlir/test/Dialect/LLVMIR/inlining-debuginfo.mlir
    A mlir/test/Dialect/Linalg/tile-offset.mlir
    M mlir/test/Dialect/SCF/value-bounds-op-interface-impl.mlir
    M mlir/test/Dialect/SPIRV/IR/gl-ops.mlir
    M mlir/test/Dialect/SPIRV/IR/matrix-ops.mlir
    M mlir/test/Dialect/Transform/irdl.mlir
    M mlir/test/Dialect/Vector/ops.mlir
    M mlir/test/Dialect/Vector/vector-transfer-permutation-lowering.mlir
    A mlir/test/Target/LLVMIR/nvvm/tma_bulk_copy.mlir
    M mlir/test/Target/LLVMIR/openmp-llvm.mlir
    M mlir/test/Target/LLVMIR/openmp-todo.mlir
    M mlir/test/Target/SPIRV/gl-ops.mlir
    M mlir/test/Target/SPIRV/matrix.mlir
    M mlir/test/Transforms/remove-dead-values.mlir
    M mlir/test/lib/Analysis/TestMemRefStrideCalculation.cpp
    M mlir/test/python/execution_engine.py
    M mlir/test/tblgen-to-irdl/CMathDialect.td
    M mlir/test/tblgen-to-irdl/TestDialect.td
    M mlir/tools/tblgen-to-irdl/OpDefinitionsGen.cpp
    M offload/DeviceRTL/include/Debug.h
    M offload/DeviceRTL/include/DeviceTypes.h
    M offload/DeviceRTL/include/LibC.h
    M offload/DeviceRTL/include/Synchronization.h
    M offload/DeviceRTL/src/Debug.cpp
    M offload/DeviceRTL/src/LibC.cpp
    M offload/DeviceRTL/src/Parallelism.cpp
    M offload/DeviceRTL/src/State.cpp
    M offload/DeviceRTL/src/Synchronization.cpp
    M offload/cmake/caches/AMDGPUBot.cmake
    M offload/test/jit/empty_kernel.inc
    M polly/CMakeLists.txt
    M polly/cmake/polly_macros.cmake
    M utils/bazel/llvm-project-overlay/clang/BUILD.bazel
    M utils/bazel/llvm-project-overlay/mlir/BUILD.bazel

  Log Message:
  -----------
  Rebase

Created using spr 1.3.5


Compare: https://github.com/llvm/llvm-project/compare/ba03acd7f6b0...1bb2e5039638

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