[all-commits] [llvm/llvm-project] 508398: [libc] Add hardening for FixedVector data structur...

ZhaoQi via All-commits all-commits at lists.llvm.org
Fri Jan 17 01:54:22 PST 2025


  Branch: refs/heads/users/zhaoqi5/avoid-scheduling-and-attach-relax
  Home:   https://github.com/llvm/llvm-project
  Commit: 508398021d094ecfe6cea937d619c77121990e0d
      https://github.com/llvm/llvm-project/commit/508398021d094ecfe6cea937d619c77121990e0d
  Author: Alexey Samsonov <vonosmas at gmail.com>
  Date:   2025-01-08 (Wed, 08 Jan 2025)

  Changed paths:
    M libc/src/__support/CMakeLists.txt
    M libc/src/__support/fixedvector.h
    M libc/src/stdlib/exit_handler.h
    M utils/bazel/llvm-project-overlay/libc/BUILD.bazel

  Log Message:
  -----------
  [libc] Add hardening for FixedVector data structure and fix exposed bug. (#122159)

Add LIBC_ASSERT statements to FixedVector implementation, and zero out
the memory when the elements are removed to flag out-of-bound access and
dangling pointer/reference access.

This change unmasks the bug in one of FixedVector uses for atexit
handlers: dangling reference use, which was actually led to crashes in
the wild (with prod blockstore implementation). Fix it in this CL.


  Commit: 7453d7645c366e3b6b141789b49f10dc603a6abd
      https://github.com/llvm/llvm-project/commit/7453d7645c366e3b6b141789b49f10dc603a6abd
  Author: Peter Klausler <pklausler at nvidia.com>
  Date:   2025-01-08 (Wed, 08 Jan 2025)

  Changed paths:
    M flang/lib/Semantics/expression.cpp

  Log Message:
  -----------
  [flang] Silence inappropriate error message (#120614)

A recent patch added better compatibility checking for actual procedure
arguments, but it has led to a few failures in the Fujitsu Fortran test
suite in cases of NULL() actual arguments being associated with dummy
procedure pointers. As is the case with dummy data pointers, these must
always be accepted.

Fixes Fujitsu Fortran test cases 0249_0023 through 0028 and 0387_0047.


  Commit: b8513e439351b11a90b8aa69311cf57572405826
      https://github.com/llvm/llvm-project/commit/b8513e439351b11a90b8aa69311cf57572405826
  Author: Peter Klausler <pklausler at nvidia.com>
  Date:   2025-01-08 (Wed, 08 Jan 2025)

  Changed paths:
    M flang/lib/Semantics/pointer-assignment.cpp
    A flang/test/Semantics/assign16.f90

  Log Message:
  -----------
  [flang] Better handling of weird pointer assignment case (#120628)

F'2023 C1017 permits the assignment of an unlimited polymorphic data
target to a monomorphic LHS pointer when the LHS pointer has a sequence
derived type (BIND(C) or SEQUENCE attribute). We allowed for this in
pointer assignments that don't have a function reference as their RHS.
Extend this support to function references, and also ensure that rank
compatibility is still checked.


  Commit: 7463b46a34efedbc3a72d05721886284e80b5cce
      https://github.com/llvm/llvm-project/commit/7463b46a34efedbc3a72d05721886284e80b5cce
  Author: Peter Klausler <pklausler at nvidia.com>
  Date:   2025-01-08 (Wed, 08 Jan 2025)

  Changed paths:
    M flang/runtime/edit-input.cpp

  Log Message:
  -----------
  [flang][runtime] Fix use of empty optional in BOZ input (#120789)

Slava reported a valgrind result showing the use of uninitialized data
due to an unconditional dereference of an optional in BOZ formatted
input editing; fix.


  Commit: d1ea605ecd3b98c59e37d8e2261fcb5220151f4d
      https://github.com/llvm/llvm-project/commit/d1ea605ecd3b98c59e37d8e2261fcb5220151f4d
  Author: Peter Klausler <pklausler at nvidia.com>
  Date:   2025-01-08 (Wed, 08 Jan 2025)

  Changed paths:
    M flang/lib/Frontend/FrontendAction.cpp
    M flang/lib/Frontend/FrontendActions.cpp
    M flang/test/Integration/debug-local-var-2.f90
    M flang/test/Parser/at-process.f
    A flang/test/Parser/unparseable.f90

  Log Message:
  -----------
  [flang] Detect and report parsing failure (#121349)

The flang-new driver doesn't check for the case of the parser failing to
consume the entire input file. This is of course never an ideal outcome,
and usually signals a need to improve error recovery, but it is better
for the compiler to admit failure rather than to silently proceed with
compilation of what may well be an incomplete parse tree.


  Commit: 94963919011d77c2f3f9d867cb73067a4f50e87c
      https://github.com/llvm/llvm-project/commit/94963919011d77c2f3f9d867cb73067a4f50e87c
  Author: Peter Klausler <pklausler at nvidia.com>
  Date:   2025-01-08 (Wed, 08 Jan 2025)

  Changed paths:
    M flang/include/flang/Evaluate/shape.h
    M flang/lib/Evaluate/fold-integer.cpp
    M flang/lib/Evaluate/intrinsics.cpp
    M flang/lib/Evaluate/shape.cpp
    M flang/test/Semantics/lcobound.f90
    M flang/test/Semantics/ucobound.f90

  Log Message:
  -----------
  [flang] Fold LCOBOUND & UCOBOUND (#121411)

Implement constant folding for LCOBOUND and UCOBOUND intrinsic
functions. Moves some error detection code from intrinsics.cpp to
fold-integer.cpp so that erroneous calls get properly flagged and
converted into known errors.


  Commit: 07b3bba901e7d51b3173631d6af811eae9d84cda
      https://github.com/llvm/llvm-project/commit/07b3bba901e7d51b3173631d6af811eae9d84cda
  Author: Peter Klausler <pklausler at nvidia.com>
  Date:   2025-01-08 (Wed, 08 Jan 2025)

  Changed paths:
    M flang/lib/Semantics/assignment.cpp
    M flang/lib/Semantics/check-call.cpp
    M flang/lib/Semantics/definable.cpp
    M flang/lib/Semantics/definable.h
    M flang/test/Semantics/definable01.f90

  Log Message:
  -----------
  [flang] Allow LOCK_TYPE & al. to associate with INTENT(IN OUT) (#121413)

We're emitting a bogus semantic error message about an actual argument
being undefinable when associating LOCK_TYPE, EVENT_TYPE, and someday
NOTIFY_TYPE with an INTENT(IN OUT) dummy argument. These types indeed
make many definition contexts invalid, and the actual argument
associated with an INTENT(IN OUT) dummy argument must indeed be
definable, but the argument association itself is not a problem.


  Commit: b53bdc61013a4349283baa3eb21434f4f88b66d1
      https://github.com/llvm/llvm-project/commit/b53bdc61013a4349283baa3eb21434f4f88b66d1
  Author: Peter Klausler <pklausler at nvidia.com>
  Date:   2025-01-08 (Wed, 08 Jan 2025)

  Changed paths:
    M flang/module/__fortran_builtins.f90
    M flang/test/Semantics/get_team.f90

  Log Message:
  -----------
  [flang] Add default component initialization to some built-in types (#121416)

The standard requires EVENT_TYPE, LOCK_TYPE, NOTIFY_TYPE, and TEAM_TYPE
to have full default initialization for their nonallocatable private
components.


  Commit: 510285cd67a7f7626ba6d6733207480ca5b2b469
      https://github.com/llvm/llvm-project/commit/510285cd67a7f7626ba6d6733207480ca5b2b469
  Author: Peter Klausler <pklausler at nvidia.com>
  Date:   2025-01-08 (Wed, 08 Jan 2025)

  Changed paths:
    M flang/lib/Semantics/check-call.cpp
    M flang/test/Semantics/call04.f90

  Log Message:
  -----------
  [flang] Fix allocatable coarray INTENT(OUT) check (#121528)

An allocatable coarray being argument associated with a non-allocatable
INTENT(OUT) dummy argument is not an error.


  Commit: 9462ce885b2a067fdd20568ba9105489f3b34c53
      https://github.com/llvm/llvm-project/commit/9462ce885b2a067fdd20568ba9105489f3b34c53
  Author: Peter Klausler <pklausler at nvidia.com>
  Date:   2025-01-08 (Wed, 08 Jan 2025)

  Changed paths:
    M flang/lib/Semantics/resolve-names.cpp
    A flang/test/Semantics/bug121718.f90

  Log Message:
  -----------
  [flang] Fix crash when handling benign USE conflict (#121977)

When the same name is used for distinct derived types in two modules,
and at least one of those modules also defines a generic interface of
the same name, name resolution crashes when both modules are USE'd into
the same scope. The crash is due to some pointers into the symbol table
becoming invalid when a symbol is replaced with a UseErrorDetails; set
them to null. Also allow for extending a UseErrorDetails in place rather
than emitting a spurious error message.

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


  Commit: eb77f442b342a1bb234254e05759933bad9dfab1
      https://github.com/llvm/llvm-project/commit/eb77f442b342a1bb234254e05759933bad9dfab1
  Author: Peter Klausler <pklausler at nvidia.com>
  Date:   2025-01-08 (Wed, 08 Jan 2025)

  Changed paths:
    M flang/docs/Extensions.md
    M flang/include/flang/Common/format.h
    M flang/test/Semantics/io07.f90
    M flang/test/Semantics/io08.f90
    M flang/unittests/Runtime/LogicalFormatTest.cpp

  Log Message:
  -----------
  [flang] Accept L0 (#121998)

Accept a zero field width for formatted logical output (L0),
interpreting it as if it had been L1.


  Commit: 3a8a52f4a52e0c301a5f3d6acce684c7fd4a6d57
      https://github.com/llvm/llvm-project/commit/3a8a52f4a52e0c301a5f3d6acce684c7fd4a6d57
  Author: Peter Klausler <pklausler at nvidia.com>
  Date:   2025-01-08 (Wed, 08 Jan 2025)

  Changed paths:
    M flang/include/flang/Evaluate/call.h
    M flang/include/flang/Evaluate/characteristics.h
    M flang/include/flang/Evaluate/constant.h
    M flang/include/flang/Evaluate/expression.h
    M flang/include/flang/Evaluate/tools.h
    M flang/include/flang/Evaluate/variable.h
    M flang/include/flang/Semantics/symbol.h
    M flang/lib/Evaluate/characteristics.cpp
    M flang/lib/Evaluate/expression.cpp
    M flang/lib/Evaluate/intrinsics.cpp
    M flang/lib/Evaluate/shape.cpp
    M flang/lib/Evaluate/tools.cpp
    M flang/lib/Evaluate/variable.cpp
    M flang/lib/Optimizer/Builder/CMakeLists.txt
    M flang/lib/Semantics/check-call.cpp
    M flang/lib/Semantics/expression.cpp
    M flang/test/Semantics/resolve94.f90
    M flang/test/Semantics/this_image01.f90

  Log Message:
  -----------
  [flang] Make IsCoarray() more accurate (#121415)

A designator without cosubscripts can have subscripts, component
references, substrings, &c. and still have corank. The current
IsCoarray() predicate only seems to work for whole variable/component
references. This was breaking some cases of THIS_IMAGE().


  Commit: 3c2fc7a45ae230a32e473e093b4583079050a969
      https://github.com/llvm/llvm-project/commit/3c2fc7a45ae230a32e473e093b4583079050a969
  Author: Peter Klausler <pklausler at nvidia.com>
  Date:   2025-01-08 (Wed, 08 Jan 2025)

  Changed paths:
    M flang/lib/Parser/prescan.cpp
    A flang/test/Preprocessing/bug129131.F

  Log Message:
  -----------
  [flang] Refine tokenization trick that hid macro name (#121990)

In order to properly expose the Hollerith editing item in something like
FORMAT(3I9HHOLLERITH) as its own token, the tokenization routine in the
prescanner has special handling for digit strings followed by letters
("3I" above). This handler's effects are too broad, and prevent a macro
name from being recognized as such in a reported bug; make the test for
a hidden Hollerith more precise.

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


  Commit: 647e8d8dee8c2b68f0b9da7956e4af272b52149b
      https://github.com/llvm/llvm-project/commit/647e8d8dee8c2b68f0b9da7956e4af272b52149b
  Author: Brad Smith <brad at comstyle.com>
  Date:   2025-01-08 (Wed, 08 Jan 2025)

  Changed paths:
    M lldb/source/Host/openbsd/Host.cpp

  Log Message:
  -----------
  [lldb][OpenBSD] Make use of Environment class (#122040)


  Commit: ac08f0dfef27b7627bd975b7d096a6dfb43c0fe2
      https://github.com/llvm/llvm-project/commit/ac08f0dfef27b7627bd975b7d096a6dfb43c0fe2
  Author: Alina Sbirlea <asbirlea at google.com>
  Date:   2025-01-08 (Wed, 08 Jan 2025)

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

  Log Message:
  -----------
  [bazel] Port 8e65940161cd5a7dea5896fe4ae057d4cc07c703


  Commit: 2c2accbcc6b0f132182a35b65ac76c038912cd1e
      https://github.com/llvm/llvm-project/commit/2c2accbcc6b0f132182a35b65ac76c038912cd1e
  Author: erichkeane <ekeane at nvidia.com>
  Date:   2025-01-08 (Wed, 08 Jan 2025)

  Changed paths:
    M clang/include/clang/AST/OpenACCClause.h
    M clang/include/clang/Sema/SemaOpenACC.h
    M clang/lib/AST/OpenACCClause.cpp
    M clang/lib/AST/StmtProfile.cpp
    M clang/lib/Parse/ParseOpenACC.cpp
    M clang/lib/Sema/SemaOpenACC.cpp
    M clang/lib/Sema/TreeTransform.h
    M clang/lib/Serialization/ASTReader.cpp
    M clang/lib/Serialization/ASTWriter.cpp
    M clang/test/AST/ast-print-openacc-update-construct.cpp
    M clang/test/ParserOpenACC/parse-clauses.c
    M clang/test/SemaOpenACC/combined-construct-self-ast.cpp
    M clang/test/SemaOpenACC/compute-construct-clause-ast.cpp
    M clang/test/SemaOpenACC/update-construct-ast.cpp
    M clang/test/SemaOpenACC/update-construct.cpp
    M clang/tools/libclang/CIndex.cpp

  Log Message:
  -----------
  [OpenACC] Enable 'self' sema for 'update' construct

The 'self' clause is an unfortunately difficult one, as it has a
significantly different meaning between 'update' and the other
constructs.  This patch introduces a way for the 'self' clause to work
as both.  I considered making this two separate AST nodes (one for
'self' on 'update' and one for the others), however this makes the
automated macros/etc for supporting a clause break.

Instead, 'self' has the ability to act as either a condition or as a
var-list clause.  As this is the only one of its kind, it is implemented
all within it.  If in the future we have more that work like this, we
should consider rewriting a lot of the macros that we use to make
clauses work, and make them separate ast nodes.


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

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

  Log Message:
  -----------
  [libc++] Add _LIBCPP_NODEBUG to __unwrap_ref_decay_t

`__unwrap_ref_decay_t` should be marked `_LIBCPP_NODEBUG`, since it's
and internal type alias and this causes our CI to fail currently, since
we started enforcing this policy via clang-tidy.


  Commit: 5e9e1ffe8a0909c02b0ac5a51b1856eb9516b767
      https://github.com/llvm/llvm-project/commit/5e9e1ffe8a0909c02b0ac5a51b1856eb9516b767
  Author: Utkarsh Saxena <usx at google.com>
  Date:   2025-01-08 (Wed, 08 Jan 2025)

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

  Log Message:
  -----------
  [clang] Infer capture_by for insert_or_assign (#122109)

Useful for maps:
https://en.cppreference.com/w/cpp/container/map/insert_or_assign


  Commit: 891481ed82b8d17b9013b332754df171910fb115
      https://github.com/llvm/llvm-project/commit/891481ed82b8d17b9013b332754df171910fb115
  Author: erichkeane <ekeane at nvidia.com>
  Date:   2025-01-08 (Wed, 08 Jan 2025)

  Changed paths:
    M clang/test/SemaOpenACC/update-construct-ast.cpp

  Log Message:
  -----------
  [OpenACC] Add missing 'check' line to update-construct-ast test.

I must have deleted this by accident, and my local run's address managed
to have a '1' in the address, so it didn't catch it!  This corrects the
test.


  Commit: 89483403c34b39fd203111b4e37f629f2f76f0b4
      https://github.com/llvm/llvm-project/commit/89483403c34b39fd203111b4e37f629f2f76f0b4
  Author: David Green <david.green at arm.com>
  Date:   2025-01-08 (Wed, 08 Jan 2025)

  Changed paths:
    M llvm/test/Analysis/CostModel/AArch64/div.ll
    M llvm/test/Analysis/CostModel/AArch64/rem.ll

  Log Message:
  -----------
  [AArch64] Add additional div and rem test coverage. NFC


  Commit: 560b72c0408a8f7e4340a1d4197b164a14cd30b0
      https://github.com/llvm/llvm-project/commit/560b72c0408a8f7e4340a1d4197b164a14cd30b0
  Author: Alex MacLean <amaclean at nvidia.com>
  Date:   2025-01-08 (Wed, 08 Jan 2025)

  Changed paths:
    M llvm/lib/Target/NVPTX/NVPTXISelDAGToDAG.cpp
    A llvm/test/CodeGen/NVPTX/disjoint-or-addr.ll
    M llvm/test/CodeGen/NVPTX/lower-args-gridconstant.ll
    M llvm/test/CodeGen/NVPTX/variadics-backend.ll

  Log Message:
  -----------
  [NVPTX] Support address offsets added with disjoint or (#122042)

Sometime DAGCombiner gets a little too clever and converts an add of a
small constant offset to a highly aligned pointer into a 'disjoint or'.
When looking for address operands handle this case as well.


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

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

  Log Message:
  -----------
  [SLP][NFC]Introduce and use createInsertVector helper function, NFC


  Commit: 2b26ee6e790574e05c3c9a562bc37897daf0f384
      https://github.com/llvm/llvm-project/commit/2b26ee6e790574e05c3c9a562bc37897daf0f384
  Author: James Y Knight <jyknight at google.com>
  Date:   2025-01-08 (Wed, 08 Jan 2025)

  Changed paths:
    M libcxx/docs/ReleaseNotes/20.rst
    M libcxx/include/__filesystem/directory_entry.h
    M libcxx/include/__system_error/system_error.h
    M libcxx/src/filesystem/directory_iterator.cpp
    M libcxx/src/filesystem/error.h
    M libcxx/src/filesystem/file_descriptor.h
    M libcxx/src/filesystem/operations.cpp
    M libcxx/src/filesystem/posix_compat.h
    M libcxx/src/print.cpp
    M libcxx/src/system_error.cpp
    A libcxx/test/libcxx/diagnostics/system_error_win_codes.pass.cpp
    M libcxx/test/std/diagnostics/syserr/syserr.compare/eq_error_code_error_code.pass.cpp
    M libcxx/test/std/diagnostics/syserr/syserr.errcat/syserr.errcat.derived/message.pass.cpp
    M libcxx/test/std/diagnostics/syserr/syserr.errcat/syserr.errcat.objects/system_category.pass.cpp
    M libcxx/test/std/input.output/filesystems/class.directory_entry/directory_entry.obs/file_type_obs.pass.cpp
    M libcxx/test/std/input.output/filesystems/class.directory_entry/directory_entry.obs/status.pass.cpp
    M libcxx/test/std/input.output/filesystems/class.directory_entry/directory_entry.obs/symlink_status.pass.cpp
    M libcxx/test/support/filesystem_test_helper.h

  Log Message:
  -----------
  [libcxx] Handle windows system error code mapping in std::error_code. (#93101)

The `std::error_code`/`std::error_category` functionality is designed to
support multiple error domains. On Unix, both system calls and libc
functions return the same error codes, and thus, libc++ today treats
`generic_category()` and `system_category()` as being equivalent.

However, on Windows, libc functions return `errno.h` error codes in the
`errno` global, but system calls return the very different `winerror.h`
error codes via `GetLastError()`.

As such, there is a need to map the winerror.h error codes into generic
errno codes. In libc++, however, the system_error facility does not
implement this mapping; instead the mapping is hidden inside libc++,
used directly by the std::filesystem implementation.

That has a few problems:

1. For std::filesystem APIs, the concrete windows error number is lost,
before users can see it. The intent of the distinction between
std::error_code and std::error_condition is that the error_code return
has the original (potentially more detailed) error code.

2. User-written code which calls Windows system APIs requires this same
mapping, so it also can also return error_code objects that other
(cross-platform) code can understand.

After this commit, an `error_code` with `generic_category()` is used to
report an error from `errno`, and, on Windows only, an `error_code` with
`system_category()` is used to report an error from `GetLastError()`. On
Unix, system_category remains identity-mapped to generic_category, but
is never used by libc++ itself.

The windows error code mapping is moved into system_error, so that
conversion of an `error_code` to `error_condition` correctly translates
the `system_category()` code into a `generic_category()` code, when
appropriate.

This allows code like:
`error_code(GetLastError(), system_category()) == errc::invalid_argument`
to work as expected -- as it does with MSVC STL.

(Continued from old phabricator review [D151493](https://reviews.llvm.org/D151493))


  Commit: b9c932e5d6269fb0233ad5e70084e99e36ed4472
      https://github.com/llvm/llvm-project/commit/b9c932e5d6269fb0233ad5e70084e99e36ed4472
  Author: Ian Anderson <iana at apple.com>
  Date:   2025-01-08 (Wed, 08 Jan 2025)

  Changed paths:
    A clang/test/Driver/darwin-embedded-search-paths-libcxx.c
    M clang/test/Driver/darwin-embedded-search-paths.c

  Log Message:
  -----------
  [test][Driver][clang] Fix darwin-embedded-search-paths.c when CLANG_DEFAULT_CXX_STDLIB is libc++ (#122145)

Split darwin-embedded-search-paths.c into two tests for the different
values of CLANG_DEFAULT_CXX_STDLIB.


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

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

  Log Message:
  -----------
  [SLP]Correctly calculate mask for the inserted vector


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

  Changed paths:
    A llvm/test/CodeGen/AArch64/hwasan-zero-ptr.ll
    A llvm/test/Instrumentation/HWAddressSanitizer/zero-ptr.ll

  Log Message:
  -----------
  [hwasan] Add test case for null pointer dereference (#122186)

This shows that HWASan will emit a memaccess intrinsic for null pointer
dereferences, with or without a fixed shadow.

This is a simplification of an internal bug report by dvyukov.


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

  Changed paths:
    M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
    M llvm/test/CodeGen/RISCV/kcfi-isel-mir.ll
    M llvm/test/CodeGen/RISCV/kcfi-mir.ll

  Log Message:
  -----------
  [RISCV] Add call preserved regmask to tail calls. (#122181)

Every call should have regmask operand to indicate what registers are
preserved or clobbered by the call. VirtRegRewriter uses this to tell
MachineRegisterInfo what registers are clobbered by a function. If the
mask isn't present the registers potentially clobbered by a tail called
function aren't counted. I have checked ARM, AArch64, and X86 and they
all have a regmask operand on their tail calls.

I believe this fixes an issue I'm seeing with IPRA.


  Commit: 3cb9648420fde52a4bcd429f5c1d174cd06051e7
      https://github.com/llvm/llvm-project/commit/3cb9648420fde52a4bcd429f5c1d174cd06051e7
  Author: Lang Hames <lhames at gmail.com>
  Date:   2025-01-09 (Thu, 09 Jan 2025)

  Changed paths:
    M llvm/tools/llvm-jitlink/llvm-jitlink.cpp

  Log Message:
  -----------
  [llvm-jitlink] Shut down the session on an error return path.

Ensures cleanup of task dispatcher threads. This may address some of the
nondeterministic failures seen in llvm-jitlink regression tests recently.


  Commit: 831287620567559e7078cb7f4cd1962d35c49893
      https://github.com/llvm/llvm-project/commit/831287620567559e7078cb7f4cd1962d35c49893
  Author: Lang Hames <lhames at gmail.com>
  Date:   2025-01-09 (Thu, 09 Jan 2025)

  Changed paths:
    M llvm/include/llvm/ExecutionEngine/Orc/TaskDispatch.h
    M llvm/lib/ExecutionEngine/Orc/TaskDispatch.cpp

  Log Message:
  -----------
  [ORC] Fix Task cleanup during DynamicThreadPoolTaskDispatcher::shutdown.

Threads created by DynamicThreadPoolTaskDispatcher::dispatch had been holding a
unique_ptr to the most recent Task, meaning that the Task would be destroyed
when the thread object was destroyed, but this would happen *after* the thread
signaled the Dispatcher that it was finished. This could cause
DynamicThreadPoolTaskDispatcher::shutdown to return (and consequently
ExecutionSession to be destroyed) before all Tasks were destroyed, with Task
destructors accessing ExecutionSession and related objects after they were
freed.

The fix is to reset the Task pointer immediately after it is run to trigger
cleanup, *then* (if there are no other tasks to run) signal the Dispatcher that
the thread is finished.

This patch also updates DynamicThreadPoolTaskDispatcher::dispatch to reject any
new Tasks dispatched after DynamicThreadPoolTaskDispatcher::shutdown is called.


  Commit: cba9bd5cb07717daabcddd9850957b3a1cfe3e47
      https://github.com/llvm/llvm-project/commit/cba9bd5cb07717daabcddd9850957b3a1cfe3e47
  Author: Justin Bogner <mail at justinbogner.com>
  Date:   2025-01-08 (Wed, 08 Jan 2025)

  Changed paths:
    M llvm/docs/DirectX/DXILResources.rst
    M llvm/include/llvm/IR/IntrinsicsDirectX.td
    M llvm/lib/Target/DirectX/DXIL.td
    M llvm/lib/Target/DirectX/DXILOpBuilder.cpp
    M llvm/lib/Target/DirectX/DXILOpLowering.cpp
    A llvm/test/CodeGen/DirectX/BufferLoad-sm61.ll
    A llvm/test/CodeGen/DirectX/RawBufferLoad-error64.ll
    A llvm/test/CodeGen/DirectX/RawBufferLoad.ll
    M llvm/utils/TableGen/DXILEmitter.cpp

  Log Message:
  -----------
  [DirectX] Implement the resource.load.rawbuffer intrinsic (#121012)

This introduces `@llvm.dx.resource.load.rawbuffer` and generalizes the
buffer load docs under DirectX/DXILResources.

This resolves the "load" parts of #106188


  Commit: 160a408a870b6a7a46cebfd58f8e2a0893e21632
      https://github.com/llvm/llvm-project/commit/160a408a870b6a7a46cebfd58f8e2a0893e21632
  Author: Lang Hames <lhames at gmail.com>
  Date:   2025-01-09 (Thu, 09 Jan 2025)

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

  Log Message:
  -----------
  [ORC] Remove an unused typedef.


  Commit: fce0314c384f72cacbfcce148c9d110687c78261
      https://github.com/llvm/llvm-project/commit/fce0314c384f72cacbfcce148c9d110687c78261
  Author: Alexander Yermolovich <43973793+ayermolo at users.noreply.github.com>
  Date:   2025-01-08 (Wed, 08 Jan 2025)

  Changed paths:
    M llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
    M llvm/lib/CodeGen/AsmPrinter/DwarfUnit.h
    A llvm/test/DebugInfo/X86/dwarf5-debug-names-addr-tu-to-non-tu.ll

  Log Message:
  -----------
  [LLVM][DWARF] Create debug names entry for non-tu top level DIE (#121856)

When creating a Type Unit (TU), LLVM attempts to do so optimistically.
However, if this fails, it discards the TU state and creates the TU
within the Compilation Unit (CU). In such cases, an entry for the
top-level DIE is not created in the debug names table.
This can cause issues when running llvm-dwarfdump --debug-names
--verify, as the missing entry will result in verification failure.
To address this issue, this patch adds a call to the
updateAcceleratorTables when TU creation fails. This ensures that the
debug names table is updated correctly, even in cases where TU creation
fails.


  Commit: 5ae44bf718a460a2d5fd3636c8182093e1e27e7a
      https://github.com/llvm/llvm-project/commit/5ae44bf718a460a2d5fd3636c8182093e1e27e7a
  Author: wanglei <wanglei at loongson.cn>
  Date:   2025-01-09 (Thu, 09 Jan 2025)

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

  Log Message:
  -----------
  [LoongArch] Add debug location for register reload

Although the automatically inserted reload instruction in the `Epilogue`
is unrelated to the original code, in order to improve debugger
functionality, we have re-added debugging location information in the
reload instruction. When using an empty debugging location, the
following issue occurs:
```
loongson at linux:~$ cat -n test.c
 1  int printf(const char *, ...);
 2  int main(int argc, char **argv) {
 3    printf("%d\n", argc);
 4    return 0;
 5  }
 clang -g -O0 test.c -o test
```
Without this patch, the debugger is unable to correctly access the
current stack information when a breakpoint is set on line 4:

```
loongson at linux:~$ gdb -q ./test
Reading symbols from ./test...
(gdb) break 4
Breakpoint 1 at 0x7c0: file test.c, line 4.
(gdb) run
Starting program: /home/wanglei/test
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib/loongarch64-linux-gnu/libthread_db.so.1".
1

Breakpoint 1, main (argc=<error reading variable: Cannot access memory at address 0xffffffffffffffe8>,
    argv=<error reading variable: Cannot access memory at address 0xffffffffffffffe0>) at test.c:4
4         return 0;
```

Reviewed By: heiher, xen0n

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


  Commit: 91ab10e8d6c256d841da1a1a1b47c334e08d95b9
      https://github.com/llvm/llvm-project/commit/91ab10e8d6c256d841da1a1a1b47c334e08d95b9
  Author: Aiden Grossman <aidengrossman at google.com>
  Date:   2025-01-08 (Wed, 08 Jan 2025)

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

  Log Message:
  -----------
  [Github] Add sudo to CI container (#122036)

This patch adds sudo to the CI container and also adds the gha user as a
member of the sudo group along with making any member of the sudo group
able to run commands as root without a password. This is primarily
intended to enable installing new software through apt-get without
having to rebuild the container.


  Commit: 783dc59b3ba16a785f48d0b58bf8c9f26a744aac
      https://github.com/llvm/llvm-project/commit/783dc59b3ba16a785f48d0b58bf8c9f26a744aac
  Author: Tristan Ross <tristan.ross at midstall.com>
  Date:   2025-01-08 (Wed, 08 Jan 2025)

  Changed paths:
    M compiler-rt/cmake/Modules/AddCompilerRT.cmake

  Log Message:
  -----------
  [compiler-rt] Check codesign in path before using (#99837)

Fixes an issue discovered with Nix where codesign is executed but Nix
cannot use codesign without faults. Use `find_program` in CMake to
ensure it is in `$PATH`.

Can be tested on macOS and change your path in such a way that
`codesign` isn't in it.

Related: https://github.com/NixOS/nixpkgs/pull/329058


  Commit: c6b7bd42d58c166ed37cdd51bd46eaf2564b1f96
      https://github.com/llvm/llvm-project/commit/c6b7bd42d58c166ed37cdd51bd46eaf2564b1f96
  Author: Jack Huang <jackhuang1205 at gmail.com>
  Date:   2025-01-09 (Thu, 09 Jan 2025)

  Changed paths:
    M libc/src/__support/File/file.cpp
    M libc/src/__support/File/file.h

  Log Message:
  -----------
  [libc] Support _IONBF buffering for read_unlocked (#120677)

Support _IONBF buffering for read_unlocked. Add the functions
read_unlocked_nbf() and read_unlocked_fbf().

Fixes: #120155


  Commit: e438513f2e2ff7a19c671983ff22a14909c96859
      https://github.com/llvm/llvm-project/commit/e438513f2e2ff7a19c671983ff22a14909c96859
  Author: Hubert Tong <hubert.reinterpretcast at gmail.com>
  Date:   2025-01-09 (Thu, 09 Jan 2025)

  Changed paths:
    M llvm/lib/CodeGen/AsmPrinter/AsmPrinter.cpp
    A llvm/test/CodeGen/PowerPC/global-merge-aix-zero-size-struct.ll

  Log Message:
  -----------
  [AIX][AsmPrinter] Fix unsigned subtraction wrap-around (#122214)

Unsigned subtraction wrap-around occurs in `emitGlobalConstantImpl` on
an AIX-specific code path from 8e4423eb0888 when a structure type has
zero elements.

With assertions enabled, this manifests as:
```
TypeSize llvm::StructLayout::getElementOffset(unsigned int) const: Assertion `Idx < NumElements && "Invalid element idx!"' failed.
```


  Commit: 18de1db0cfbfbbf12d16338923b43077a87dce18
      https://github.com/llvm/llvm-project/commit/18de1db0cfbfbbf12d16338923b43077a87dce18
  Author: Dhruv Srivastava <dhruv.srivastava at ibm.com>
  Date:   2025-01-09 (Thu, 09 Jan 2025)

  Changed paths:
    M lldb/source/Host/posix/ConnectionFileDescriptorPosix.cpp
    M lldb/source/Plugins/Language/ObjC/Cocoa.cpp
    M lldb/source/Plugins/ObjectContainer/BSD-Archive/ObjectContainerBSDArchive.cpp

  Log Message:
  -----------
  [lldb][AIX] Some base #if _AIX changes of a minimal lldb build (#120979)

This PR is in reference to porting LLDB on AIX.

Link to discussions on llvm discourse and github:

1. https://discourse.llvm.org/t/port-lldb-to-ibm-aix/80640
2. https://github.com/llvm/llvm-project/issues/101657
The complete changes for porting are present in this draft PR:
https://github.com/llvm/llvm-project/pull/102601

Added some base #if _AIX changes for minimal lldb build.
Added a PR for clang-format changes separately, to rebase this on later:

- https://github.com/llvm/llvm-project/pull/120978

Review Request: @labath @DavidSpickett


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

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

  Log Message:
  -----------
  [PM] Remove is_analysis label for LoopSimplify (#121433)

This reverts part of the changes in #118779


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

  Changed paths:
    M clang/lib/CodeGen/BackendConsumer.h
    M clang/lib/CodeGen/CodeGenAction.cpp

  Log Message:
  -----------
  [clang] Simplify BackendConsumer. NFC


  Commit: 929b90be30c3a3063e29a94db2079ee4c4f44f0d
      https://github.com/llvm/llvm-project/commit/929b90be30c3a3063e29a94db2079ee4c4f44f0d
  Author: Aiden Grossman <aidengrossman at google.com>
  Date:   2025-01-08 (Wed, 08 Jan 2025)

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

  Log Message:
  -----------
  [Github] Add sccache to CI container (#122063)

This patch adds sccache to the CI container so that the
llvm-project-tests workflow does not fail due to missing sccache.


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

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

  Log Message:
  -----------
  [RISCV] Add -mcpu=sifive-p550. (#122164)

This is the CPU in SiFive's HiFive Premier P550 development board.

Scheduler model will come in a later patch.


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

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

  Log Message:
  -----------
  [CI][Github] Do not fail premerge job

The postcommit job is currently sending emails on failures. A lot of these
emails are useless noise as there are still some problems with the new
infrastructure that need to be fixed before the results are reliable.


  Commit: b30f9d74d6a0f735ef597b1acae73daac2d7df39
      https://github.com/llvm/llvm-project/commit/b30f9d74d6a0f735ef597b1acae73daac2d7df39
  Author: Alexey Samsonov <vonosmas at gmail.com>
  Date:   2025-01-08 (Wed, 08 Jan 2025)

  Changed paths:
    M libc/src/__support/threads/thread.cpp

  Log Message:
  -----------
  [libc] Fix return value of __cxa_thread_atexit_impl function. (#122171)

This has been added in 0071a79532e8d664b734956a431d8c8c942cc25e to
support TLS destructors. Return value of __cxa_thread_atexit is supposed
to be the same as std::atexit - zero on success, non-zero on failure.
Update the code to do just that (also be consistent with llvm-libc's
existing atexit / at_quick_exit implementations).


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

  Changed paths:
    M clang/lib/CodeGen/BackendConsumer.h
    M clang/lib/CodeGen/CodeGenAction.cpp

  Log Message:
  -----------
  [clang] Simplify BackendConsumer after #69371


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

  Changed paths:
    M clang/include/clang/CodeGen/BackendUtil.h

  Log Message:
  -----------
  Format BackendUtil.h. NFC

Prepare for a -ftime-report change that adds a forward declaration and
changes the signature of EmitBackendOutput.


  Commit: 9ba6e8dc91920b6db40ee76f4fb22c71e9b9cd97
      https://github.com/llvm/llvm-project/commit/9ba6e8dc91920b6db40ee76f4fb22c71e9b9cd97
  Author: Amr Hesham <amr96 at programmer.net>
  Date:   2025-01-09 (Thu, 09 Jan 2025)

  Changed paths:
    M clang/docs/LibASTMatchersReference.html
    M clang/docs/ReleaseNotes.rst
    M clang/include/clang/ASTMatchers/ASTMatchers.h
    M clang/include/clang/ASTMatchers/ASTMatchersInternal.h
    M clang/unittests/ASTMatchers/ASTMatchersNarrowingTest.cpp

  Log Message:
  -----------
  [Clang][ASTMatcher] Extend `hasDependentName` to match DependentNameType name (#121975)

Extend `hasDependentName` to be a polymorphic matcher that
matches the name of either `DependentNameType` or
`DependentScopeDeclRefExpr`


  Commit: b8337dc4b20bfd7cde8cf37df6c12df4f751201b
      https://github.com/llvm/llvm-project/commit/b8337dc4b20bfd7cde8cf37df6c12df4f751201b
  Author: Yingwei Zheng <dtcxzyw2333 at gmail.com>
  Date:   2025-01-09 (Thu, 09 Jan 2025)

  Changed paths:
    M llvm/lib/Transforms/InstCombine/InstructionCombining.cpp
    M llvm/test/Transforms/InstCombine/and-xor-or.ll

  Log Message:
  -----------
  [InstCombine] Handle commuted patterns in `foldBinOpShiftWithShift` (#122126)

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


  Commit: d80bdf7261e7d785b98f827eeed950b2147f70e6
      https://github.com/llvm/llvm-project/commit/d80bdf7261e7d785b98f827eeed950b2147f70e6
  Author: Yingwei Zheng <dtcxzyw2333 at gmail.com>
  Date:   2025-01-09 (Thu, 09 Jan 2025)

  Changed paths:
    M llvm/include/llvm/IR/IRBuilder.h
    M llvm/lib/Transforms/InstCombine/InstCombineAndOrXor.cpp
    M llvm/lib/Transforms/InstCombine/InstCombineCalls.cpp

  Log Message:
  -----------
  [IRBuilder] Add a helper function to intersect FMFs from two instructions (#122059)

Address review comment in
https://github.com/llvm/llvm-project/pull/121899#discussion_r1905765776


  Commit: 42b23257c5519b63a0516bac9f7986367e15e794
      https://github.com/llvm/llvm-project/commit/42b23257c5519b63a0516bac9f7986367e15e794
  Author: Lang Hames <lhames at gmail.com>
  Date:   2025-01-09 (Thu, 09 Jan 2025)

  Changed paths:
    M llvm/include/llvm/ExecutionEngine/Orc/Core.h
    M llvm/lib/ExecutionEngine/Orc/Core.cpp

  Log Message:
  -----------
  [ORC] Fail materialization in tasks that are destroyed before running.

If a MaterialiaztionTask is destroyed before running then we need to call
failMaterialization on the MaterializationResponsibility member.


  Commit: 24a92f509a4e9ebaf5ae431409520d30055ea6fc
      https://github.com/llvm/llvm-project/commit/24a92f509a4e9ebaf5ae431409520d30055ea6fc
  Author: NAKAMURA Takumi <geek4civic at gmail.com>
  Date:   2025-01-09 (Thu, 09 Jan 2025)

  Changed paths:
    M clang/include/clang/Tooling/DependencyScanning/DependencyScanningTool.h

  Log Message:
  -----------
  DependencyScanningTool.h: Use more robust `std::function` (fixup for #120699)


  Commit: 61b294aa15e9e2149398a641121fc3e977284a17
      https://github.com/llvm/llvm-project/commit/61b294aa15e9e2149398a641121fc3e977284a17
  Author: NAKAMURA Takumi <geek4civic at gmail.com>
  Date:   2025-01-09 (Thu, 09 Jan 2025)

  Changed paths:
    M llvm/include/llvm/ProfileData/Coverage/CoverageMapping.h
    M llvm/lib/ProfileData/Coverage/CoverageMapping.cpp
    M llvm/unittests/ProfileData/CoverageMappingTest.cpp

  Log Message:
  -----------
  Introduce CounterExpressionBuilder::subst(C, Map) (#112698)

This return a counter for each term in the expression replaced by
ReplaceMap.

At the moment, this doesn't update the Map, so Map is marked as `const`.


  Commit: f5cd181ffbb7cb61d582fe130d46580d5969d47a
      https://github.com/llvm/llvm-project/commit/f5cd181ffbb7cb61d582fe130d46580d5969d47a
  Author: NAKAMURA Takumi <geek4civic at gmail.com>
  Date:   2025-01-09 (Thu, 09 Jan 2025)

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

  Log Message:
  -----------
  [Coverage] Introduce `getBranchCounterPair()`. NFC. (#112702)

This aggregates the generation of branch counter pair as `ExecCnt` and
`SkipCnt`, to aggregate `CounterExpr::subtract`. At the moment:

- This change preserves the behavior of
`llvm::EnableSingleByteCoverage`. Almost of SingleByteCoverage will be
cleaned up by coming commits.

- `IsCounterEqual(Out, Par)` is introduced instead of
`Counter::operator==`. Tweaks would be required for the comparison for
additional counters.


https://discourse.llvm.org/t/rfc-integrating-singlebytecoverage-with-branch-coverage/82492


  Commit: d30a5fc5a2f88dee1198bd2285ddf1c55da51bb6
      https://github.com/llvm/llvm-project/commit/d30a5fc5a2f88dee1198bd2285ddf1c55da51bb6
  Author: Jonathan Thackray <jonathan.thackray at arm.com>
  Date:   2025-01-09 (Thu, 09 Jan 2025)

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

  Log Message:
  -----------
  [NFC][AArch64] Explicitly define undefined bits for instructions (#122129)

Explicitly define bits for the following instructions:
  * Bit 21 for stltxr/ldatxr (defaults to zero) wasn't defined.
  * Bits 16-20 for ldaxpx/ldxpx (unpredictable) weren't defined.
  * Bits 10-14 for smulh/umulh (unpredictable) weren't defined.


  Commit: 397ac44f623f891d8f05d6673a95984ac0a26671
      https://github.com/llvm/llvm-project/commit/397ac44f623f891d8f05d6673a95984ac0a26671
  Author: NAKAMURA Takumi <geek4civic at gmail.com>
  Date:   2025-01-09 (Thu, 09 Jan 2025)

  Changed paths:
    M clang/lib/CodeGen/CGDecl.cpp
    M clang/lib/CodeGen/CGExpr.cpp
    M clang/lib/CodeGen/CGExprScalar.cpp
    M clang/lib/CodeGen/CGStmt.cpp
    M clang/lib/CodeGen/CodeGenFunction.cpp
    M clang/lib/CodeGen/CodeGenFunction.h
    M clang/lib/CodeGen/CodeGenModule.h
    M clang/lib/CodeGen/CodeGenPGO.cpp
    M clang/lib/CodeGen/CodeGenPGO.h
    M clang/lib/CodeGen/CoverageMappingGen.cpp
    M clang/lib/CodeGen/CoverageMappingGen.h

  Log Message:
  -----------
  [Coverage] Introduce the type `CounterPair` for RegionCounterMap. NFC. (#112724)

`CounterPair` can hold `<uint32_t, uint32_t>` instead of current
`unsigned`, to hold also the counter number of SkipPath. For now, this
change provides the skeleton and only `CounterPair::Executed` is used.

Each counter number can have `None` to suppress emitting counter
increment. 2nd element `Skipped` is initialized as `None` by default,
since most `Stmt*` don't have a pair of counters.

This change also provides stubs for the verifier. I'll provide the impl
of verifier for `+Asserts` later.

`markStmtAsUsed(bool, Stmt*)` may be used to inform that other side
counter may not emitted.

`markStmtMaybeUsed(S)` may be used for the `Stmt` and its inner will be
excluded for emission in the case of skipping by constant folding. I put
it into places where I found.

`verifyCounterMap()` will check the coverage map and the counter map,
and can be used to report inconsistency.

These verifier methods shall be eliminated in `-Asserts`.


https://discourse.llvm.org/t/rfc-integrating-singlebytecoverage-with-branch-coverage/82492


  Commit: 4847395c5459f9c476808f9337abdae7fbd78a23
      https://github.com/llvm/llvm-project/commit/4847395c5459f9c476808f9337abdae7fbd78a23
  Author: Nikita Popov <npopov at redhat.com>
  Date:   2025-01-09 (Thu, 09 Jan 2025)

  Changed paths:
    M clang/docs/ReleaseNotes.rst
    M clang/docs/UndefinedBehaviorSanitizer.rst
    M clang/lib/CodeGen/CGExprScalar.cpp
    M clang/test/CodeGen/catch-nullptr-and-nonzero-offset-when-nullptr-is-defined.c
    M clang/test/CodeGen/catch-nullptr-and-nonzero-offset.c
    M clang/test/CodeGen/catch-pointer-overflow-volatile.c
    M clang/test/CodeGen/catch-pointer-overflow.c
    M clang/test/CodeGen/ubsan-pointer-overflow.c
    M compiler-rt/test/ubsan/TestCases/Pointer/nullptr-and-nonzero-offset-constants.cpp
    M compiler-rt/test/ubsan/TestCases/Pointer/nullptr-and-nonzero-offset-summary.cpp
    M compiler-rt/test/ubsan/TestCases/Pointer/nullptr-and-nonzero-offset-variable.cpp
    M compiler-rt/test/ubsan_minimal/TestCases/nullptr-and-nonzero-offset.c

  Log Message:
  -----------
  [Clang] Adjust pointer-overflow sanitizer for N3322 (#120719)

N3322 makes NULL + 0 well-defined in C, matching the C++ semantics.
Adjust the pointer-overflow sanitizer to no longer report NULL + 0 as a
pointer overflow in any language mode. NULL + nonzero will of course
continue to be reported.

As N3322 is part of
https://www.open-std.org/jtc1/sc22/wg14/www/previous.html, and we never
performed any optimizations based on NULL + 0 being undefined in the
first place, I'm applying this change to all C versions.


  Commit: 1b2943534fa20a61c07592a9bd90203e682ae0f4
      https://github.com/llvm/llvm-project/commit/1b2943534fa20a61c07592a9bd90203e682ae0f4
  Author: Nicholas Guy <nicholas.guy at arm.com>
  Date:   2025-01-09 (Thu, 09 Jan 2025)

  Changed paths:
    M llvm/lib/CodeGen/ComplexDeinterleavingPass.cpp
    A llvm/test/CodeGen/AArch64/complex-deinterleaving-opt-crash.ll

  Log Message:
  -----------
  [llvm] Fix crash caused by reprocessing complex reductions (#122077)

If a complex pattern had the shape of both a complex->complex reduction
and a complex->single reduction, the matching would recognise both and
deem the graph a valid transformation. Preventing this reprocessing
results in only one of these matching, meaning that in the case of an
invalid graph, we don't try to transform it anyway.


  Commit: 71f7b972c3a28269ae045c4d87b1ccb5a2860852
      https://github.com/llvm/llvm-project/commit/71f7b972c3a28269ae045c4d87b1ccb5a2860852
  Author: Nikita Popov <npopov at redhat.com>
  Date:   2025-01-09 (Thu, 09 Jan 2025)

  Changed paths:
    M llvm/include/llvm/Transforms/Utils/Local.h
    M llvm/lib/Transforms/Scalar/MemCpyOptimizer.cpp
    M llvm/lib/Transforms/Utils/Local.cpp

  Log Message:
  -----------
  [Local] Make combineAAMetadata() more principled (#122091)

This moves combineAAMetadata() into Local and implements it via a new
AAOnly flag, which will intersect only AA metadata and keep other known
metadata.

The existing KnownIDs list is dropped, because it is redundant with the
switch in combineMetadata(), which already drops unknown metadata.

I tried a few variants of this, and ultimately went with the AAOnly flag
because this way we make an explicit choice for each metadata kind
supported by combineMetadata(), and ignoring the flag gives you
conservatively correct behavior.

I checked that the memcpy tests still pass if we adjust the logic for
MD_memprof/MD_callsite to drop the metadata instead of arbitrarily
picking one.

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


  Commit: 38565da5259729898c2a552d54b72f3314241734
      https://github.com/llvm/llvm-project/commit/38565da5259729898c2a552d54b72f3314241734
  Author: Nikita Popov <npopov at redhat.com>
  Date:   2025-01-09 (Thu, 09 Jan 2025)

  Changed paths:
    M llvm/docs/LangRef.rst

  Log Message:
  -----------
  [LangRef] Add some documentation for ABI / call-site attributes (#121930)

Explicitly mention that attributes can be applied to call-sites, and
explain that ABI attributes between the call-site and called function
should match.

Companion lint change: https://github.com/llvm/llvm-project/pull/121929

Inspired by:
https://discourse.llvm.org/t/difference-between-call-site-attributes-and-declaration-attributes/83902


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

  Changed paths:
    A llvm/test/Analysis/CostModel/AArch64/sve-div.ll
    A llvm/test/Analysis/CostModel/AArch64/sve-rem.ll

  Log Message:
  -----------
  [AArch64] Add sve div and rem tests. NFC


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

  Changed paths:
    M llvm/include/llvm/Support/Recycler.h
    M llvm/unittests/Support/RecyclerTest.cpp

  Log Message:
  -----------
  [Support] Recycler: Match dealloc size and enforce min size (#121889)

Address sanitizer found mismatching deallocation size in Recycler.


  Commit: f88ef1bd1bd6ea27237d2abd03b8955e550f97c1
      https://github.com/llvm/llvm-project/commit/f88ef1bd1bd6ea27237d2abd03b8955e550f97c1
  Author: Benjamin Maxwell <benjamin.maxwell at arm.com>
  Date:   2025-01-09 (Thu, 09 Jan 2025)

  Changed paths:
    M llvm/include/llvm/IR/VectorTypeUtils.h
    M llvm/include/llvm/Transforms/Vectorize/LoopVectorizationLegality.h
    M llvm/lib/IR/VectorTypeUtils.cpp
    M llvm/lib/Transforms/Vectorize/LoopVectorizationLegality.cpp
    M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
    A llvm/test/Transforms/LoopVectorize/AArch64/scalable-struct-return.ll
    A llvm/test/Transforms/LoopVectorize/struct-return.ll

  Log Message:
  -----------
  [LV] Teach LoopVectorizationLegality about struct vector calls (#119221)

This is a split-off from #109833 and only adds code relating to checking
if a struct-returning call can be vectorized.

This initial patch only allows the case where all users of the struct
return are `extractvalue` operations that can be widened.

```
%call = tail call { float, float } @foo(float %in_val)
%extract_a = extractvalue { float, float } %call, 0
%extract_b = extractvalue { float, float } %call, 1
```

Note: The tests require the VFABI changes from #119000 to pass.


  Commit: 06673a9e9b186a65f5eb60a59a4ee9afba6637d4
      https://github.com/llvm/llvm-project/commit/06673a9e9b186a65f5eb60a59a4ee9afba6637d4
  Author: Peng Liu <winner245 at hotmail.com>
  Date:   2025-01-09 (Thu, 09 Jan 2025)

  Changed paths:
    M libcxx/docs/ReleaseNotes/20.rst
    M libcxx/include/bitset
    M libcxx/test/std/utilities/template.bitset/bitset.members/index_const.pass.cpp
    M libcxx/test/std/utilities/template.bitset/bitset.members/nonstdmem.uglified.compile.pass.cpp

  Log Message:
  -----------
  [libc++] Uglify non-standard member typedef const_reference in bitset (#121620)

According to
[[template.bitset.general]](https://eel.is/c++draft/template.bitset.general),
`std::bitset` is supposed to have only
one (public) member typedef, `reference`. However, libc++'s
implementation of `std::bitset` offers more that that. Specifically, it
offers a public typedef `const_reference` and two private typedefs
`size_type` and `difference_type`. These non-standard member typedefs,
despite being private, can cause potential ambiguities in name lookup in
user-defined classes, as demonstrated in issue #121618.

Fixing the public member typedef `const_reference` is straightforward:
we can simply replace it with an `__ugly_name` such as
`__const_reference`. However, fixing the private member typedefs
`size_type` and `difference_type` is not so straightforward as they are
required by the `__bit_iterator` class and the corresponding algorithms
optimized for `__bit_iterator`s (e.g., `ranges::fill`).
 
This PR fixes the member typedef `const_reference` by using uglified
name for it. Further work will be undertaken to address `size_type` and
`difference_type`.

Follows up #80706, #111127, and #112843,


  Commit: 6c06253b8557102c52e252f9025ea3d393603324
      https://github.com/llvm/llvm-project/commit/6c06253b8557102c52e252f9025ea3d393603324
  Author: Peng Liu <winner245 at hotmail.com>
  Date:   2025-01-09 (Thu, 09 Jan 2025)

  Changed paths:
    M libcxx/include/__vector/vector_bool.h
    M libcxx/test/std/containers/sequences/vector.bool/flip.pass.cpp

  Log Message:
  -----------
  [libc++] Fix erroneous internal capacity evaluation in vector<bool> (#120577)

This PR fixes the erroneous internal capacity evaluation in
`vector<bool>`, which caused a subsequent SIGSEGV error when calling
`flip()` on `vector<bool>`. By fixing the internal capacity evaluation,
the SIGSEGV is automatically resolved.


  Commit: a261eee61200cb6aa3eac0e7dc03940a6afd7d54
      https://github.com/llvm/llvm-project/commit/a261eee61200cb6aa3eac0e7dc03940a6afd7d54
  Author: Pavel Labath <pavel at labath.sk>
  Date:   2025-01-09 (Thu, 09 Jan 2025)

  Changed paths:
    M lldb/include/lldb/Symbol/Block.h
    M lldb/unittests/Utility/RangeMapTest.cpp

  Log Message:
  -----------
  [lldb] Store *signed* ranges in lldb_private::Block (#120224)

This is to support functions whose entry points aren't their lowest
address

(https://discourse.llvm.org/t/rfcish-support-for-discontinuous-functions/83244).
The alternative is to keep blocks relative to the lowest address, but
then introduce a separate concept for the function entry point, which I
think would be more confusing.

This patch just changes the type signedness, it doesn't create any
negative offsets yet. Since combining values with different signs can
sometimes produce unexpected results, and since this is the first use of
RangeVector with a signed type, I'm adding a test to verify that at
least the core functionality works correctly.


  Commit: 659cd2a48a25ec4deabf4c7937acbaec588a2724
      https://github.com/llvm/llvm-project/commit/659cd2a48a25ec4deabf4c7937acbaec588a2724
  Author: Chinmay Deshpande <chdeshpa at amd.com>
  Date:   2025-01-09 (Thu, 09 Jan 2025)

  Changed paths:
    A llvm/test/CodeGen/AMDGPU/prevent-fmul-hoist-ir.ll

  Log Message:
  -----------
  [NFC][AMDGPU] Pre-commit tests for IR variant - isFMAFasterThanFMulAdd (#121925)


  Commit: b79ed8729b3d6d5482481c41a7de2cd75b0f61df
      https://github.com/llvm/llvm-project/commit/b79ed8729b3d6d5482481c41a7de2cd75b0f61df
  Author: Sergio Afonso <safonsof at amd.com>
  Date:   2025-01-09 (Thu, 09 Jan 2025)

  Changed paths:
    M clang/lib/CodeGen/CGOpenMPRuntime.cpp
    M clang/lib/CodeGen/CGOpenMPRuntimeGPU.cpp
    M clang/lib/CodeGen/CGStmtOpenMP.cpp
    M llvm/lib/Frontend/OpenMP/OMPIRBuilder.cpp
    M llvm/lib/Transforms/IPO/OpenMPOpt.cpp
    M llvm/unittests/Frontend/OpenMPIRBuilderTest.cpp

  Log Message:
  -----------
  [OpenMP][OMPIRBuilder] Handle non-failing calls properly (#115863)

The preprocessor definition used to enable asserts and the one that
`llvm::Error` and `llvm::Expected` use to ensure all created instances are
checked are not the same. By making these checks inside of an `assert` in cases
where errors are not expected, certain build configurations would trigger
runtime failures (e.g. `-DLLVM_ENABLE_ASSERTIONS=OFF
-DLLVM_UNREACHABLE_OPTIMIZE=ON`).

The `llvm::cantFail()` function, which was intended for this use case, is used
by this patch in place of `assert` to prevent these runtime failures. In tests,
new preprocessor definitions based on `ASSERT_THAT_EXPECTED` and
`EXPECT_THAT_EXPECTED` are used instead, to avoid silent failures in release
builds.


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

  Changed paths:
    M clang/include/clang/Basic/DiagnosticASTKinds.td
    M clang/lib/AST/ExprConstant.cpp
    M clang/test/AST/ByteCode/builtin-functions.cpp
    M clang/test/AST/ByteCode/cxx20.cpp
    M clang/test/AST/ByteCode/functions.cpp
    M clang/test/AST/ByteCode/literals.cpp
    M clang/test/CXX/expr/expr.const/p2-0x.cpp
    M clang/test/SemaCXX/constant-expression-cxx11.cpp
    M clang/test/SemaCXX/constant-expression-cxx14.cpp

  Log Message:
  -----------
  [clang][ExprConst] Add diagnostics for invalid binary arithmetic (#118475)

... between unrelated declarations or literals.

Leaving this small (I haven't run the whole test suite locally) to get
some feedback on the wording and implementation first.

The output of the sample in
https://github.com/llvm/llvm-project/issues/117409 is now:
```console
./array.cpp:57:6: warning: expression result unused [-Wunused-value]
   57 |   am - aj.af();
      |   ~~ ^ ~~~~~~~
./array.cpp:70:8: error: call to consteval function 'L::L<bx>' is not a constant expression
   70 |   q(0, [] {
      |        ^
./array.cpp:57:6: note: arithmetic on addresses of literals has unspecified value
   57 |   am - aj.af();
      |      ^
./array.cpp:62:5: note: in call to 'al(&""[0], {&""[0]})'
   62 |     al(bp.af(), k);
      |     ^~~~~~~~~~~~~~
./array.cpp:70:8: note: in call to 'L<bx>({})'
   70 |   q(0, [] {
      |        ^~~~
   71 |     struct bx {
      |     ~~~~~~~~~~~
   72 |       constexpr operator ab<g<l<decltype(""[0])>::e>::e>() { return t(""); }
      |       ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   73 |     };
      |     ~~
   74 |     return bx();
      |     ~~~~~~~~~~~~
   75 |   }());
      |   ~~~
```

The output for 
```c++
int a, b;
constexpr int n = &b - &a
```

is now:
```console
./array.cpp:80:15: error: constexpr variable 'n' must be initialized by a constant expression
   80 | constexpr int n = &b - &a;
      |               ^   ~~~~~~~
./array.cpp:80:22: note: arithmetic involving '&b' and '&a' has unspecified value
   80 | constexpr int n = &b - &a;
      |                      ^
1 error generated.

```


  Commit: d3f1b864ae1b2c3fce343863d494a40fc231ca16
      https://github.com/llvm/llvm-project/commit/d3f1b864ae1b2c3fce343863d494a40fc231ca16
  Author: David Spickett <david.spickett at linaro.org>
  Date:   2025-01-09 (Thu, 09 Jan 2025)

  Changed paths:
    M lldb/include/lldb/Target/MemoryRegionInfo.h

  Log Message:
  -----------
  [lldb][NFC] clang-format MemoryRegionInfo.h

To clean up future changes for shadow stack regions.


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

  Changed paths:
    M llvm/test/CodeGen/X86/vector-shuffle-combining-avx2.ll

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


  Commit: aedb30fdc7cf83290b0f0d4246cf94fd62be749b
      https://github.com/llvm/llvm-project/commit/aedb30fdc7cf83290b0f0d4246cf94fd62be749b
  Author: CHANDRA GHALE <chandra.nitdgp at gmail.com>
  Date:   2025-01-09 (Thu, 09 Jan 2025)

  Changed paths:
    M clang/docs/OpenMPSupport.rst
    M clang/docs/ReleaseNotes.rst
    M clang/lib/CodeGen/CGStmt.cpp
    M clang/lib/CodeGen/CGStmtOpenMP.cpp
    M clang/lib/CodeGen/CodeGenFunction.h
    A clang/test/OpenMP/parallel_masked_taskloop_codegen.c

  Log Message:
  -----------
  [OpenMP] codegen support for masked combined construct parallel masked taskloop (#121741)

Added codegen support for combined masked constructs Parallel masked
taskloop.
Added implementation for EmitOMPParallelMaskedTaskLoopDirective.

---------

Co-authored-by: Chandra Ghale <ghale at pe31.hpc.amslabs.hpecorp.net>


  Commit: f1d5efe37ea7891b3fc9f78b6fdbbe1dc207bbd6
      https://github.com/llvm/llvm-project/commit/f1d5efe37ea7891b3fc9f78b6fdbbe1dc207bbd6
  Author: Cullen Rhodes <cullen.rhodes at arm.com>
  Date:   2025-01-09 (Thu, 09 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:
  -----------
  [AArch64] Combine and lsl into ubfiz (#118974)

Fixes #118132.


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

  Changed paths:
    M llvm/lib/Transforms/InstCombine/InstCombineSelect.cpp
    M llvm/test/Transforms/InstCombine/select.ll

  Log Message:
  -----------
  [InstCombine] Remove foldSelectICmpEq() fold (#122098)

This fold matches complex patterns, for which we have no proof of
real-world relevance, and which does not actually handle the originally
motivating cases from https://github.com/llvm/llvm-project/issues/71792
either.

In https://github.com/llvm/llvm-project/pull/121708 and
https://github.com/llvm/llvm-project/pull/121753 we have handled some
simpler variants by extending existing folds.

I propose to remove this code until we have evidence that it is useful
for something.


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

  Changed paths:
    M llvm/lib/Target/RISCV/RISCVVectorPeephole.cpp
    A llvm/test/CodeGen/RISCV/rvv/allone-masked-to-unmasked.mir

  Log Message:
  -----------
  [RISCV] Fix masked->unmasked peephole handling masked pseudos with no passthru (#122253)

Some masked pseudos like PseudoVCPOP_M_B8_MASK don't have a passthru,
but in the masked->unmasked peephole we assumed the masked pseudo always
had one.

This checks for a passthru first and fixes #122245.


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

  Changed paths:
    M llvm/lib/Transforms/Vectorize/LoopVectorizationLegality.cpp
    M llvm/test/Transforms/LoopVectorize/X86/vectorization-remarks-missed.ll
    M llvm/test/Transforms/LoopVectorize/early_exit_legality.ll
    M llvm/test/Transforms/LoopVectorize/uncountable-single-exit-loops.ll

  Log Message:
  -----------
  [LV] Only check isVectorizableEarlyExitLoop with multiple exits. (#121994)

Currently we emit early-exit related debug messages/remarks even when
there is a single exit. Update to only check isVectorizableEarlyExitLoop
if there isn't a single exit block.

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


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

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

  Log Message:
  -----------
  [AArch64] Fix sebvector -> subvector typo. NFC


  Commit: cdd652eb28d1dcec28fec289674940d11a92c4fa
      https://github.com/llvm/llvm-project/commit/cdd652eb28d1dcec28fec289674940d11a92c4fa
  Author: Pietro Ghiglio <pietro.ghiglio at codeplay.com>
  Date:   2025-01-09 (Thu, 09 Jan 2025)

  Changed paths:
    M mlir/lib/Conversion/GPUToLLVMSPV/GPUToLLVMSPV.cpp
    M mlir/test/Conversion/GPUToLLVMSPV/gpu-to-llvm-spv.mlir

  Log Message:
  -----------
  [MLIR][GPU] Support bf16 and i1 gpu::shuffles to LLVMSPIRV conversion (#119675)

This PR adds support to the `bf16` and `i1` data types when converting
`gpu::shuffle` to the `LLVMSPV` dialect, by inserting `bitcast` to/from
`i16` (for `bf16`) and extending/truncating to `i8` (for `i1`).


  Commit: 86440cbc742e42f7ee9d4656fe7c231a477e447b
      https://github.com/llvm/llvm-project/commit/86440cbc742e42f7ee9d4656fe7c231a477e447b
  Author: Vyacheslav Levytskyy <vyacheslav.levytskyy at intel.com>
  Date:   2025-01-09 (Thu, 09 Jan 2025)

  Changed paths:
    M llvm/lib/Target/SPIRV/SPIRVModuleAnalysis.cpp
    M llvm/test/CodeGen/SPIRV/extensions/SPV_EXT_optnone.ll

  Log Message:
  -----------
  [SPIR-V] Prefer SPV_INTEL_optnone over SPV_EXT_optnone when both extensions are available (#122082)

This PR fixes https://github.com/llvm/llvm-project/issues/122075. We
prefer SPV_INTEL_optnone over SPV_EXT_optnone when both extensions are
available, otherwise, when a target specifies a required extension
explicitly rather than allowing any of those (e.g., by providing
--spirv-ext=all command line argument), the Backend's behavior remains
unchanged. An existing test case is updated to check the case of 2
alternative extensions available at the same time.


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

  Changed paths:
    M clang-tools-extra/clang-tidy/bugprone/UnusedLocalNonTrivialVariableCheck.cpp

  Log Message:
  -----------
  [clang-tidy][NFC] clean `LangOpts` parameter in `explicitMarkUnused` matcher (#122170)

https://github.com/llvm/llvm-project/pull/121783#discussion_r1907847579


  Commit: c3d1a50d6a36ce19606226a352bf921cec02e265
      https://github.com/llvm/llvm-project/commit/c3d1a50d6a36ce19606226a352bf921cec02e265
  Author: Benjamin Kramer <benny.kra at googlemail.com>
  Date:   2025-01-09 (Thu, 09 Jan 2025)

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

  Log Message:
  -----------
  [bazel] Add missing dependency for b79ed8729b3d6d5482481c41a7de2cd75b0f61df


  Commit: 52c338daece1ea5556865373c777bdad79a05fd8
      https://github.com/llvm/llvm-project/commit/52c338daece1ea5556865373c777bdad79a05fd8
  Author: macurtis-amd <macurtis at amd.com>
  Date:   2025-01-09 (Thu, 09 Jan 2025)

  Changed paths:
    M clang/lib/Driver/OffloadBundler.cpp
    M llvm/include/llvm/Support/Timer.h
    M llvm/lib/Support/Timer.cpp

  Log Message:
  -----------
  [llvm][NFC] Rework Timer.cpp globals to ensure valid lifetimes (#121663)

This is intended to help with flang `-ftime-report` support:
- #107270.

With this change, I was able to cherry-pick #107270, uncomment
`llvm::TimePassesIsEnabled = true;` and compile with `-ftime-report`.

I also noticed that `clang/lib/Driver/OffloadBundler.cpp` was statically
constructing a `TimerGroup` and changed it to lazily construct via
ManagedStatic.


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

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

  Log Message:
  -----------
  [llvm] Remove extra ';' outside of a function (NFC)

/llvm-project/llvm/lib/Support/Timer.cpp:565:74:
error: extra ';' outside of a function is incompatible with C++98 [-Werror,-Wc++98-compat-extra-semi]
static bool mtg::TrackSpace() { return ManagedTimerGlobals->TrackSpace; };
                                                                         ^
1 error generated.


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

  Changed paths:
    M llvm/lib/CodeGen/MachineLICM.cpp
    M llvm/test/CodeGen/AMDGPU/GlobalISel/atomicrmw_fmax.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/atomicrmw_fmin.ll
    M llvm/test/CodeGen/AMDGPU/agpr-copy-no-free-registers.ll
    M llvm/test/CodeGen/AMDGPU/buffer-fat-pointer-atomicrmw-fadd.ll
    M llvm/test/CodeGen/AMDGPU/buffer-fat-pointer-atomicrmw-fmax.ll
    M llvm/test/CodeGen/AMDGPU/buffer-fat-pointer-atomicrmw-fmin.ll
    M llvm/test/CodeGen/AMDGPU/codegen-prepare-addrspacecast-non-null.ll
    M llvm/test/CodeGen/AMDGPU/exec-mask-opt-cannot-create-empty-or-backward-segment.ll
    M llvm/test/CodeGen/AMDGPU/flat-atomicrmw-fadd.ll
    M llvm/test/CodeGen/AMDGPU/flat-atomicrmw-fmax.ll
    M llvm/test/CodeGen/AMDGPU/flat-atomicrmw-fmin.ll
    M llvm/test/CodeGen/AMDGPU/flat-atomicrmw-fsub.ll
    M llvm/test/CodeGen/AMDGPU/flat_atomics_i32_system.ll
    M llvm/test/CodeGen/AMDGPU/flat_atomics_i64_system.ll
    M llvm/test/CodeGen/AMDGPU/flat_atomics_i64_system_noprivate.ll
    M llvm/test/CodeGen/AMDGPU/fp64-atomics-gfx90a.ll
    M llvm/test/CodeGen/AMDGPU/global-atomicrmw-fadd.ll
    M llvm/test/CodeGen/AMDGPU/global-atomicrmw-fmax.ll
    M llvm/test/CodeGen/AMDGPU/global-atomicrmw-fmin.ll
    M llvm/test/CodeGen/AMDGPU/global-atomicrmw-fsub.ll
    M llvm/test/CodeGen/AMDGPU/global-load-saddr-to-vaddr.ll
    M llvm/test/CodeGen/AMDGPU/global_atomics_i32_system.ll
    M llvm/test/CodeGen/AMDGPU/global_atomics_i64_system.ll
    M llvm/test/CodeGen/AMDGPU/global_atomics_scan_fmax.ll
    M llvm/test/CodeGen/AMDGPU/global_atomics_scan_fmin.ll
    M llvm/test/CodeGen/AMDGPU/insert-delay-alu-bug.ll
    M llvm/test/CodeGen/AMDGPU/licm-regpressure.mir
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.struct.atomic.buffer.load.ll
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.struct.ptr.atomic.buffer.load.ll
    M llvm/test/CodeGen/AMDGPU/local-atomicrmw-fadd.ll
    M llvm/test/CodeGen/AMDGPU/local-atomicrmw-fmax.ll
    M llvm/test/CodeGen/AMDGPU/local-atomicrmw-fmin.ll
    M llvm/test/CodeGen/AMDGPU/local-atomicrmw-fsub.ll
    M llvm/test/CodeGen/AMDGPU/memcpy-crash-issue63986.ll
    M llvm/test/CodeGen/AMDGPU/no-fold-accvgpr-mov.ll
    M llvm/test/CodeGen/AMDGPU/optimize-negated-cond.ll
    M llvm/test/CodeGen/AMDGPU/sdiv64.ll
    M llvm/test/CodeGen/AMDGPU/srem64.ll
    M llvm/test/CodeGen/AMDGPU/tuple-allocation-failure.ll
    M llvm/test/CodeGen/AMDGPU/udiv64.ll
    M llvm/test/CodeGen/AMDGPU/undefined-subreg-liverange.ll
    M llvm/test/CodeGen/AMDGPU/urem64.ll
    M llvm/test/CodeGen/AMDGPU/vgpr-descriptor-waterfall-loop-idom-update.ll
    M llvm/test/CodeGen/LoongArch/jr-without-ra.ll
    M llvm/test/CodeGen/RISCV/rvv/vxrm-insert-out-of-loop.ll
    M llvm/test/CodeGen/Thumb2/mve-blockplacement.ll
    M llvm/test/CodeGen/Thumb2/mve-gather-increment.ll
    M llvm/test/CodeGen/Thumb2/mve-gather-scatter-optimisation.ll
    M llvm/test/Transforms/InferAddressSpaces/AMDGPU/flat_atomic.ll

  Log Message:
  -----------
  [MachineLICM] Use `RegisterClassInfo::getRegPressureSetLimit` (#119826)

`RegisterClassInfo::getRegPressureSetLimit` is a wrapper of
`TargetRegisterInfo::getRegPressureSetLimit` with some logics to
adjust the limit by removing reserved registers.

It seems that we shouldn't use
`TargetRegisterInfo::getRegPressureSetLimit`
directly, just like the comment "This limit must be adjusted
dynamically for reserved registers" said.

Separate from https://github.com/llvm/llvm-project/pull/118787


  Commit: 5ff7f479a1f30d9c5393e4f94df6178a63cc2236
      https://github.com/llvm/llvm-project/commit/5ff7f479a1f30d9c5393e4f94df6178a63cc2236
  Author: Aaron Ballman <aaron at aaronballman.com>
  Date:   2025-01-09 (Thu, 09 Jan 2025)

  Changed paths:
    M clang/docs/ReleaseNotes.rst
    M clang/include/clang/AST/DeclCXX.h
    M clang/lib/AST/DeclCXX.cpp
    M clang/lib/Sema/SemaExceptionSpec.cpp
    M clang/lib/Sema/SemaExprCXX.cpp
    M clang/test/CXX/expr/expr.unary/expr.delete/p10.cpp
    M clang/test/SemaCXX/cxx2a-destroying-delete.cpp
    M clang/test/SemaCXX/noexcept-destroying-delete.cpp

  Log Message:
  -----------
  [C++20] Destroying delete and deleted destructors (#118800)

When a destroying delete overload is selected, the destructor is not
automatically called. Therefore, the destructor can be deleted without
causing the program to be ill-formed.

Fixes #46818


  Commit: a0d77492110cce44d563166ed7ce21fdb3670f64
      https://github.com/llvm/llvm-project/commit/a0d77492110cce44d563166ed7ce21fdb3670f64
  Author: Janis Heims <janis.heims at rohde-schwarz.com>
  Date:   2025-01-09 (Thu, 09 Jan 2025)

  Changed paths:
    M llvm/lib/Target/M68k/AsmParser/M68kAsmParser.cpp
    M llvm/lib/Target/M68k/Disassembler/M68kDisassembler.cpp
    M llvm/lib/Target/M68k/M68kInstrData.td
    A llvm/test/MC/M68k/Data/Classes/MxMoveSR.s

  Log Message:
  -----------
  [M68k] implement move to and from sr (#111145)

This PR enables the use of the status register in inline assembly.
This is necessary to, for example, set and retrieve the current
interrupt mask.

---------

Co-authored-by: kirk <knickish at gmail.com>


  Commit: 81ae6686ab026c820f2f23d3c18cdd65ecb2ae7c
      https://github.com/llvm/llvm-project/commit/81ae6686ab026c820f2f23d3c18cdd65ecb2ae7c
  Author: Louis Dionne <ldionne.2 at gmail.com>
  Date:   2025-01-09 (Thu, 09 Jan 2025)

  Changed paths:
    M libcxx/include/__locale_dir/locale_base_api.h
    M libcxx/include/__locale_dir/support/bsd_like.h
    M libcxx/include/__locale_dir/support/windows.h
    M libcxx/src/locale.cpp

  Log Message:
  -----------
  [libc++] Add __iswctype to the locale base API since it's required by <locale> (#122168)


  Commit: c85d5163b1d204d5886010e6640654721925a84e
      https://github.com/llvm/llvm-project/commit/c85d5163b1d204d5886010e6640654721925a84e
  Author: CatherineMoore <catmoore at amd.com>
  Date:   2025-01-09 (Thu, 09 Jan 2025)

  Changed paths:
    M clang/docs/OpenMPSupport.rst

  Log Message:
  -----------
  [Clang][OpenMP][Doc] Update OpenMPSupport.rst (#122174)

This patch adds a section for OpenMP 6.0 features.

---------

Co-authored-by: Joseph Huber <huberjn at outlook.com>


  Commit: f77a7dd875c7f20572fba9a86c7ff04a94206a07
      https://github.com/llvm/llvm-project/commit/f77a7dd875c7f20572fba9a86c7ff04a94206a07
  Author: Michael Maitland <michaeltmaitland at gmail.com>
  Date:   2025-01-09 (Thu, 09 Jan 2025)

  Changed paths:
    M llvm/lib/Target/RISCV/RISCVVLOptimizer.cpp
    M llvm/test/CodeGen/RISCV/rvv/vl-opt-op-info.mir

  Log Message:
  -----------
  [RISCV][VLOPT] Add getOperandInfo for integer and floating point widening reductions (#122176)


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

  Changed paths:
    M llvm/lib/Target/AMDGPU/SIISelLowering.cpp
    M llvm/test/CodeGen/AMDGPU/vector_shuffle.packed.ll

  Log Message:
  -----------
  AMDGPU: Custom lower bf16 shuffles (#122252)

We already custom lower the other 16-bit element type shuffles.


  Commit: d7235876867dd21b636868e242400271cca15109
      https://github.com/llvm/llvm-project/commit/d7235876867dd21b636868e242400271cca15109
  Author: Steven Perron <stevenperron at google.com>
  Date:   2025-01-09 (Thu, 09 Jan 2025)

  Changed paths:
    M clang/lib/Driver/Driver.cpp
    M clang/test/Driver/dxc_spirv.hlsl
    M llvm/lib/TargetParser/Triple.cpp

  Log Message:
  -----------
  [HLSL] Explicitly set the SPIR-V version with spv-target-env (#121961)

In DXC, setting the vulkan version automatically sets the target spir-v
version to the maximum spir-v version that the vulkan version must
support. So for Vulkan 1.2, we set the spir-v version to spirv 1.5
because every implementation of Vulkan 1.2 must support spirv 1.5, but
not spir-v 1.6.


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

  Changed paths:
    M lld/COFF/Writer.cpp
    A lld/test/COFF/baserel-sort.yaml

  Log Message:
  -----------
  [LLD][COFF] Sort base relocations (#121699)

This change ensures that base relocations are sorted in the output,
aligning with MSVC linker behavior. While input files typically provide
sorted relocations, this update guarantees correct sorting even if the
input relocations are unordered.


  Commit: cb04bc05ebab5f44b13639c0e3613506180bdbac
      https://github.com/llvm/llvm-project/commit/cb04bc05ebab5f44b13639c0e3613506180bdbac
  Author: Brad Smith <brad at comstyle.com>
  Date:   2025-01-09 (Thu, 09 Jan 2025)

  Changed paths:
    M lldb/source/Host/common/Host.cpp
    M lldb/source/Host/freebsd/Host.cpp
    M lldb/source/Host/linux/Host.cpp
    M lldb/source/Host/netbsd/HostNetBSD.cpp
    M lldb/source/Host/openbsd/Host.cpp

  Log Message:
  -----------
  [lldb] Move GetEnvironment function into common code (#122173)


  Commit: 550841f839bf88d8021b98844746c95df3aecff1
      https://github.com/llvm/llvm-project/commit/550841f839bf88d8021b98844746c95df3aecff1
  Author: Michael Maitland <michaeltmaitland at gmail.com>
  Date:   2025-01-09 (Thu, 09 Jan 2025)

  Changed paths:
    M llvm/lib/Target/RISCV/RISCVVLOptimizer.cpp
    M llvm/test/CodeGen/RISCV/rvv/vl-opt-op-info.mir

  Log Message:
  -----------
  [RISCV][VLOPT] Add fp-reductions to getOperandInfo (#122151)


  Commit: aa0191e3feccf8253f16594922ee924b38e7760d
      https://github.com/llvm/llvm-project/commit/aa0191e3feccf8253f16594922ee924b38e7760d
  Author: Balazs Benics <benicsbalazs at gmail.com>
  Date:   2025-01-09 (Thu, 09 Jan 2025)

  Changed paths:
    M clang/test/Analysis/z3/crosscheck-statistics.c

  Log Message:
  -----------
  [analyzer][NFC] Update stale test after #97265 (#122272)

In my patch there, I left a test expectation stale. Tests with
`REQUIRES: Z3` never run because no bots check such configurations.

Here I'm adjusting the test expectations to meet reality.


  Commit: 1a73654b3212b623ac21b9deb3aeaadc6906b7e4
      https://github.com/llvm/llvm-project/commit/1a73654b3212b623ac21b9deb3aeaadc6906b7e4
  Author: Oleksandr T. <oleksandr.tarasiuk at outlook.com>
  Date:   2025-01-09 (Thu, 09 Jan 2025)

  Changed paths:
    M clang/docs/ReleaseNotes.rst
    M clang/lib/Parse/ParseDeclCXX.cpp
    M clang/test/Parser/namespace-attributes.cpp

  Log Message:
  -----------
  [Clang] disallow attributes after namespace identifier (#121614)

Fixes #121407


  Commit: de12836f28a5c6b1a5464efcd15f28d3cfaabdaf
      https://github.com/llvm/llvm-project/commit/de12836f28a5c6b1a5464efcd15f28d3cfaabdaf
  Author: choikwa <5455710+choikwa at users.noreply.github.com>
  Date:   2025-01-09 (Thu, 09 Jan 2025)

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

  Log Message:
  -----------
  [AMDGPU] Rework getDivNumBits API (#119768)

Rework involves below:
- Return unsigned value, the number of div/rem bits actually needed.
- Change from AtLeast(SignBits) to MaxDivBits hint.
- Use MaxDivBits hint for unsigned case.
- Remove unnecessary second early exit.

Mostly NFC changes.


  Commit: 6f9e688203097b1fbeeb1ad498a9bae6c78231ab
      https://github.com/llvm/llvm-project/commit/6f9e688203097b1fbeeb1ad498a9bae6c78231ab
  Author: Kareem Ergawy <kareem.ergawy at amd.com>
  Date:   2025-01-09 (Thu, 09 Jan 2025)

  Changed paths:
    M flang/test/Integration/OpenMP/parallel-private-reduction-worstcase.f90
    M flang/test/Lower/OpenMP/parallel-reduction-mixed.f90
    M mlir/lib/Target/LLVMIR/Dialect/OpenMP/OpenMPToLLVMIRTranslation.cpp
    A mlir/test/Target/LLVMIR/openmp-parallel-reduction-init.mlir
    M mlir/test/Target/LLVMIR/openmp-parallel-reduction-multiblock.mlir
    M mlir/test/Target/LLVMIR/openmp-private.mlir
    M mlir/test/Target/LLVMIR/openmp-reduction-array-sections.mlir
    M mlir/test/Target/LLVMIR/openmp-reduction-init-arg.mlir
    M mlir/test/Target/LLVMIR/openmp-reduction-sections.mlir

  Log Message:
  -----------
  [flang][OpenMP] Fix reduction init region block management (#122079)

Replaces https://github.com/llvm/llvm-project/pull/121886
Fixes https://github.com/llvm/llvm-project/issues/120254 (hopefully 🤞)

## Problem

Consider the following example:
```fortran
program test
  real :: x(1)
  integer :: i
  !$omp parallel do reduction(+:x)
    do i = 1,1
      x = 1
    end do
  !$omp end parallel do
end program
```

The HLFIR+OMP IR for this example looks like this:
```mlir
  func.func @_QQmain() {
    ...
    omp.parallel {
      %5 = fir.embox %4#0(%3) : (!fir.ref<!fir.array<1xf32>>, !fir.shape<1>) -> !fir.box<!fir.array<1xf32>>
      %6 = fir.alloca !fir.box<!fir.array<1xf32>>
      ...
      omp.wsloop private(@_QFEi_private_ref_i32 %1#0 -> %arg0 : !fir.ref<i32>) reduction(byref @add_reduction_byref_box_1xf32 %6 -> %arg1 : !fir.ref<!fir.box<!fir.array<1xf32>>>) {
        omp.loop_nest (%arg2) : i32 = (%c1_i32) to (%c1_i32_0) inclusive step (%c1_i32_1) {
          ...
          omp.yield
        }
      }
      omp.terminator
    }
    return
  }
```

The problem addressed by this PR is related to: the `alloca` in the
`omp.parallel` region + the related `reduction` clause on the
`omp.wsloop` op. When we try translate the reduction from MLIR to LLVM,
we have to choose an `alloca` insertion point. This happens in
`convertOmpWsloop` where at entry to that function, this is what the
LLVM module looks like:

```llvm
define void @_QQmain() {
  %tid.addr = alloca i32, align 4
  ...

entry:
  %omp_global_thread_num = call i32 @__kmpc_global_thread_num(ptr @1)
  br label %omp.par.entry

omp.par.entry:
  %tid.addr.local = alloca i32, align 4
  ...
  br label %omp.par.region

omp.par.region:
  br label %omp.par.region1

omp.par.region1:
  ...
  %5 = alloca { ptr, i64, i32, i8, i8, i8, i8, [1 x [3 x i64]] }, align 8
```

Now, when we choose an `alloca` insertion point for the reduction, this
is the chosen block `omp.par.entry` (without the changes in this PR).
The problem is that the allocation needed for the reduction needs to
reference the `%5` SSA value. This results in inserting allocations in
`omp.par.entry` that reference allocations in a later block
`omp.par.region1` which causes the `Instruction does not dominate all
uses!` error.

## Possible solution - take 2:

This PR contains a more localized solution than
https://github.com/llvm/llvm-project/pull/121886. It makes sure that on
entry to `initReductionVars`, the IR builder is at a point where we can
starting inserting initialization region; to make things cleaner, we
still split the builder insertion point to a dedicated
`omp.reduction.init`. This way we avoid splitting after the latest
allocation block; which is what causing the issue.


  Commit: 21ba7aef3bb98aa02cf98b67f4cdea1e2fc4ce99
      https://github.com/llvm/llvm-project/commit/21ba7aef3bb98aa02cf98b67f4cdea1e2fc4ce99
  Author: Andrzej Warzyński <andrzej.warzynski at arm.com>
  Date:   2025-01-09 (Thu, 09 Jan 2025)

  Changed paths:
    M mlir/lib/Dialect/Vector/Transforms/VectorEmulateNarrowType.cpp

  Log Message:
  -----------
  [mlir][vector][nfc] Update `alignedConversionPrecondition` (#122136)

Adds some comments and re-name variables to clarify the usage.


  Commit: 644de6ad1c758d3bf754d7d50b98c555df5231b1
      https://github.com/llvm/llvm-project/commit/644de6ad1c758d3bf754d7d50b98c555df5231b1
  Author: Benjamin Kramer <benny.kra at googlemail.com>
  Date:   2025-01-09 (Thu, 09 Jan 2025)

  Changed paths:
    M llvm/lib/Target/NVPTX/NVPTXISelLowering.h
    M llvm/test/CodeGen/NVPTX/bf16x2-instructions.ll
    R llvm/test/CodeGen/NVPTX/fabs-fneg-free.ll

  Log Message:
  -----------
  Revert "[NVPTX] designate fabs and fneg as free (#121513)"

This reverts commit 45d46983bf7bda53bd7ee8e36a47571b3980fbd7.

NVPTX fabs & fneg are incompatible with LLVM's semantics as LLVM
guarantees the payload of NaNs to stay the same while PTX mangles NaNs.

The bad patterns are still in the NVPTX backend and should probably be
removed, since this change only exposed the bad behavior.


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

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

  Log Message:
  -----------
  [clang-tidy][doc] reorder release note


  Commit: 1374aa35a3f62c774548361276a87eb472893262
      https://github.com/llvm/llvm-project/commit/1374aa35a3f62c774548361276a87eb472893262
  Author: Haojian Wu <hokein.wu at gmail.com>
  Date:   2025-01-09 (Thu, 09 Jan 2025)

  Changed paths:
    M clang/lib/Sema/CheckExprLifetime.cpp
    M clang/lib/Sema/CheckExprLifetime.h
    M clang/lib/Sema/SemaAttr.cpp
    M clang/test/AST/attr-lifetime-capture-by.cpp
    M clang/test/Sema/warn-lifetime-analysis-capture-by.cpp

  Log Message:
  -----------
  [clang] Don't infer lifetime_capture-by for reference of raw pointer types. (#122240)

When a vector is instantiated with a pointer type (`T` being `const
Foo*`), the inferred annotation becomes `push_back(const Foo*& value
[[clang::lifetime_capture_by(this)]])`.

For reference parameters, the `lifetime_capture_by` attribute treats the
lifetime as referring to the referenced object -- in this case, the
**pointer** itself, not the pointee object. In the `push_back`, we copy
the pointer's value, which does not establish a reference to the
pointer. This behavior is safe and does not capture the pointer's
lifetime.

The annotation should not be inferred for cases where `T` is a pointer
type, as the intended semantics do not align with the annotation.

Fixes #121391


  Commit: 24203613a2d83028ea3bbb782fd390e36d1f344f
      https://github.com/llvm/llvm-project/commit/24203613a2d83028ea3bbb782fd390e36d1f344f
  Author: George Burgess IV <george.burgess.iv at gmail.com>
  Date:   2025-01-09 (Thu, 09 Jan 2025)

  Changed paths:
    M llvm/docs/GettingInvolved.rst

  Log Message:
  -----------
  [llvm][Docs] add discord bot calendar capability notes (#122140)

The LLVM Discord bot now has the ability to scrape the LLVM calendar &
send reminders about upcoming office hours events and sync-ups. Document
that here.

While I'm in the area, add a note about the bot's ability to @mention
people when they're on buildbot blamelists.

Related to llvm/Community.o#19


  Commit: dfa5ee2af27da2eee835560bd1f1c872991a558d
      https://github.com/llvm/llvm-project/commit/dfa5ee2af27da2eee835560bd1f1c872991a558d
  Author: Andrzej Warzyński <andrzej.warzynski at arm.com>
  Date:   2025-01-09 (Thu, 09 Jan 2025)

  Changed paths:
    M mlir/test/Integration/Dialect/Linalg/CPU/pack-dynamic-inner-tile.mlir
    A mlir/test/Integration/Dialect/Linalg/CPU/unpack-dynamic-inner-tile.mlir

  Log Message:
  -----------
  [mlir][tensor] Add e2e test for tensor.unpack with dynamic tile sizes (#121557)

Adds an end-to-end test for `tensor.unpack` with dynamic inner tile sizes.
While relatively simple (e.g., no vectorization), this example required a few
fixes in handling `tensor.unpack` (and similar fixes for `tensor.pack` before
that):

* #119379, #121393, #121400.

The end goal for this test is to incrementally increase its complexity
and to work towards scalable tile sizes.

Note, this PR complements #115698 in which similar test for
`tensor.pack` was added.


  Commit: 465a3ce9fac1fcf49d5772f70564973a73748d57
      https://github.com/llvm/llvm-project/commit/465a3ce9fac1fcf49d5772f70564973a73748d57
  Author: Yaxun (Sam) Liu <yaxun.liu at amd.com>
  Date:   2025-01-09 (Thu, 09 Jan 2025)

  Changed paths:
    M clang/lib/Headers/cuda_wrappers/cmath

  Log Message:
  -----------
  [CUDA][HIP] improve error message for missing cmath (#122155)

One common error seen in CUDA/HIP compilation is:

fatal error: 'cmath' file not found

which is due to inproper installation of standard C++ libraries.

Since it happens with #include_next, users may feel confusing which
cmath is not found and how to fix it.

Add an error directive to help users resolve this issue.


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

  Changed paths:
    M .github/workflows/libclang-python-tests.yml
    M .github/workflows/llvm-project-tests.yml

  Log Message:
  -----------
  [Github] Fix LLVM Project Tests Workflow on Linux (#122221)

This patch fixes the LLVM project tests workflow on Linux. Two changes
were needed. Firstly, some commands need to be performed with sudo now
that the container executes as a non-root user. Second, we needed to
change from `ubuntu-latest` to `ubuntu-22.04` as `ubuntu-latest` not
defaults to `ubuntu-24.04` which causes `setup-python` to install a
python executable linked against a newer version of glibc that is not
found on ubuntu 22.04, which causes failures when CMake cannot execute
the python interpreter that it finds.


  Commit: a429dfc167258cf023b2e4c20874a228298372e6
      https://github.com/llvm/llvm-project/commit/a429dfc167258cf023b2e4c20874a228298372e6
  Author: Nick Sarnie <nick.sarnie at intel.com>
  Date:   2025-01-09 (Thu, 09 Jan 2025)

  Changed paths:
    M clang/lib/Driver/ToolChains/SPIRV.cpp
    M clang/lib/Driver/ToolChains/SPIRV.h
    M clang/test/Driver/spirv-toolchain.cl

  Log Message:
  -----------
  [Driver][SPIR-V] Use consistent tools to convert between text and binary form (#120266)

Currently we produce SPIR-V text with `spirv-dis` but assemble it with
`llvm-spirv`. The SPIR-V text format is different between the tools so
the assemble fails. Use `spirv-as` for assembly as it uses the same
format.

---------

Signed-off-by: Sarnie, Nick <nick.sarnie at intel.com>


  Commit: 762f1b17b2815ccdfb4e5cb5412cb6210db92f73
      https://github.com/llvm/llvm-project/commit/762f1b17b2815ccdfb4e5cb5412cb6210db92f73
  Author: Sarah Spall <sarahspall at microsoft.com>
  Date:   2025-01-09 (Thu, 09 Jan 2025)

  Changed paths:
    M clang/include/clang/Driver/Options.td
    M clang/test/CodeGenHLSL/ArrayTemporary.hlsl
    M clang/test/CodeGenHLSL/BasicFeatures/OutputArguments.hlsl
    M clang/test/CodeGenHLSL/BasicFeatures/standard_conversion_sequences.hlsl
    M clang/test/CodeGenHLSL/builtins/ScalarSwizzles.hlsl
    M clang/test/CodeGenHLSL/builtins/StructuredBuffers-methods-lib.hlsl
    M clang/test/CodeGenHLSL/builtins/StructuredBuffers-methods-ps.hlsl
    M clang/test/CodeGenHLSL/builtins/WaveReadLaneAt.hlsl
    M clang/test/CodeGenHLSL/builtins/abs.hlsl
    M clang/test/CodeGenHLSL/builtins/acos.hlsl
    M clang/test/CodeGenHLSL/builtins/asdouble.hlsl
    M clang/test/CodeGenHLSL/builtins/asin.hlsl
    M clang/test/CodeGenHLSL/builtins/atan.hlsl
    M clang/test/CodeGenHLSL/builtins/atan2.hlsl
    M clang/test/CodeGenHLSL/builtins/ceil.hlsl
    M clang/test/CodeGenHLSL/builtins/clamp.hlsl
    M clang/test/CodeGenHLSL/builtins/clip.hlsl
    M clang/test/CodeGenHLSL/builtins/cos.hlsl
    M clang/test/CodeGenHLSL/builtins/cosh.hlsl
    M clang/test/CodeGenHLSL/builtins/cross.hlsl
    M clang/test/CodeGenHLSL/builtins/degrees.hlsl
    M clang/test/CodeGenHLSL/builtins/dot-builtin.hlsl
    M clang/test/CodeGenHLSL/builtins/dot.hlsl
    M clang/test/CodeGenHLSL/builtins/exp.hlsl
    M clang/test/CodeGenHLSL/builtins/exp2.hlsl
    M clang/test/CodeGenHLSL/builtins/floor.hlsl
    M clang/test/CodeGenHLSL/builtins/fmod.hlsl
    M clang/test/CodeGenHLSL/builtins/frac.hlsl
    M clang/test/CodeGenHLSL/builtins/length.hlsl
    M clang/test/CodeGenHLSL/builtins/lerp-builtin.hlsl
    M clang/test/CodeGenHLSL/builtins/lerp.hlsl
    M clang/test/CodeGenHLSL/builtins/log.hlsl
    M clang/test/CodeGenHLSL/builtins/log10.hlsl
    M clang/test/CodeGenHLSL/builtins/log2.hlsl
    M clang/test/CodeGenHLSL/builtins/mad.hlsl
    M clang/test/CodeGenHLSL/builtins/max.hlsl
    M clang/test/CodeGenHLSL/builtins/min.hlsl
    M clang/test/CodeGenHLSL/builtins/normalize.hlsl
    M clang/test/CodeGenHLSL/builtins/pow.hlsl
    M clang/test/CodeGenHLSL/builtins/radians.hlsl
    M clang/test/CodeGenHLSL/builtins/rcp.hlsl
    M clang/test/CodeGenHLSL/builtins/round.hlsl
    M clang/test/CodeGenHLSL/builtins/rsqrt.hlsl
    M clang/test/CodeGenHLSL/builtins/saturate.hlsl
    M clang/test/CodeGenHLSL/builtins/sin.hlsl
    M clang/test/CodeGenHLSL/builtins/sinh.hlsl
    M clang/test/CodeGenHLSL/builtins/sqrt.hlsl
    M clang/test/CodeGenHLSL/builtins/step.hlsl
    M clang/test/CodeGenHLSL/builtins/tan.hlsl
    M clang/test/CodeGenHLSL/builtins/tanh.hlsl
    M clang/test/CodeGenHLSL/builtins/trunc.hlsl
    M clang/test/CodeGenHLSL/float3.hlsl
    M clang/test/CodeGenHLSL/this-reference.hlsl

  Log Message:
  -----------
  [HLSL] Make fast math the default for HLSL (#119820)

Make fast math the default for HLSL
Repair test cases broken by this change.
Closes #108597


  Commit: 17912f336bd3d3db09b367c155fb44148ea4de24
      https://github.com/llvm/llvm-project/commit/17912f336bd3d3db09b367c155fb44148ea4de24
  Author: Ramkumar Ramachandra <ramkumar.ramachandra at codasip.com>
  Date:   2025-01-09 (Thu, 09 Jan 2025)

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

  Log Message:
  -----------
  LAA: refactor dependence class to prep for scaled strides (NFC) (#122113)

Rearrange the DepDistanceAndSizeInfo struct in preparation to scale
strides. getDependenceDistanceStrideAndSize now returns the data of
CommonStride, MaxStride, and clarifies when to retry with runtime
checks, in place of (unscaled) strides.


  Commit: fb03ce7aadd997486e2709051290756e09ad3d01
      https://github.com/llvm/llvm-project/commit/fb03ce7aadd997486e2709051290756e09ad3d01
  Author: LoS <kaffedesk at gmail.com>
  Date:   2025-01-09 (Thu, 09 Jan 2025)

  Changed paths:
    M libcxx/test/std/containers/sequences/vector/vector.data/data_const.pass.cpp

  Log Message:
  -----------
  [libc++] Fix test for vector data_const.pass.cpp (#122085)

The test contained some non-const accesses when we're really trying to test
that the method is const.


  Commit: d056c756aea3fc709cf7d6bc8acabe9a8c7218db
      https://github.com/llvm/llvm-project/commit/d056c756aea3fc709cf7d6bc8acabe9a8c7218db
  Author: Alexander Belyaev <32522095+pifon2a at users.noreply.github.com>
  Date:   2025-01-09 (Thu, 09 Jan 2025)

  Changed paths:
    M mlir/lib/Dialect/SCF/Utils/Utils.cpp
    M mlir/test/Dialect/SCF/loop-unroll.mlir

  Log Message:
  -----------
  [mlir][scf] Fix unrolling when the yielded value is defined above the loop. (#122177)


  Commit: 5e6c74d086848d8525b2bdd3b3e717c64b576193
      https://github.com/llvm/llvm-project/commit/5e6c74d086848d8525b2bdd3b3e717c64b576193
  Author: Nick Sarnie <nick.sarnie at intel.com>
  Date:   2025-01-09 (Thu, 09 Jan 2025)

  Changed paths:
    M clang/test/Driver/spirv-openmp-toolchain.c

  Log Message:
  -----------
  [clang] Fix SPIR-V OpenMP test assembler check (#122310)

Testing is failing in HEAD, Integration issue with the SPIR-V OpenMP
change and the SPIR-V change adding the assembler job.

I notice there is a consistency issue in the binding name "SPIRV" vs
"SPIR-V", I will fix that in a separate commit so we unbreak build ASAP.

Signed-off-by: Sarnie, Nick <nick.sarnie at intel.com>


  Commit: 473510abf5c6a2f9d74a0c19f0f5d8b483596e05
      https://github.com/llvm/llvm-project/commit/473510abf5c6a2f9d74a0c19f0f5d8b483596e05
  Author: Sv. Lockal <AngryLoki at users.noreply.github.com>
  Date:   2025-01-09 (Thu, 09 Jan 2025)

  Changed paths:
    M libcxx/test/libcxx/gdb/gdb_pretty_printer_test.py
    M libcxx/test/libcxx/gdb/gdb_pretty_printer_test.sh.cpp
    M libcxx/utils/gdb/libcxx/printers.py

  Log Message:
  -----------
  [libc++] Fix mi-mode in GDB pretty printers (#120951)

GDB/MI requires unique names for each child, otherwise fails with
"Duplicate variable object name". Also wrapped containers printers
were flattened for cleaner visualization in IDEs and CLI.

Fixes #62340


  Commit: 7724be972858477d9d4552f5fa2edb5222bff9e0
      https://github.com/llvm/llvm-project/commit/7724be972858477d9d4552f5fa2edb5222bff9e0
  Author: Andrea Faulds <andrea.faulds at amd.com>
  Date:   2025-01-09 (Thu, 09 Jan 2025)

  Changed paths:
    M mlir/include/mlir/Conversion/Passes.td
    M mlir/lib/Conversion/ConvertToSPIRV/ConvertToSPIRVPass.cpp
    M mlir/lib/Conversion/GPUToSPIRV/GPUToSPIRVPass.cpp
    M mlir/lib/Conversion/GPUToVulkan/ConvertGPULaunchFuncToVulkanLaunchFunc.cpp
    A mlir/test/Conversion/ConvertToSPIRV/convert-gpu-modules-nested.mlir
    M mlir/test/Conversion/GPUToVulkan/lower-gpu-launch-vulkan-launch.mlir
    M mlir/test/lib/Pass/TestVulkanRunnerPipeline.cpp
    M mlir/test/mlir-vulkan-runner/addui_extended.mlir
    M mlir/test/mlir-vulkan-runner/smul_extended.mlir
    M mlir/test/mlir-vulkan-runner/umul_extended.mlir

  Log Message:
  -----------
  [mlir][spirv] Do SPIR-V serialization in -test-vulkan-runner-pipeline (#121494)

This commit is a further incremental step toward moving the whole
mlir-vulkan-runner MLIR pass pipeline into mlir-opt (see #73457). The
previous step was b225b3adf7b78387c9fcb97a3ff0e0a1e26eafe2, which moved
all device passes prior to SPIR-V serialization into a new mlir-opt test
pass, `-test-vulkan-runner-pipeline`.

This commit changes how SPIR-V serialization is accomplished for Vulkan
runner tests. Until now, this was done by the Vulkan-specific
ConvertGpuLaunchFuncToVulkanLaunchFunc pass. With this commit, this
responsibility is removed from that pass, and is instead done with the
existing generic GpuModuleToBinaryPass. In addition, the SPIR-V
serialization step is no longer done inside mlir-vulkan-runner, but
rather inside mlir-opt (in the `-test-vulkan-runner-pipeline` pass).
Both of these changes represent a greater alignment between
mlir-vulkan-runner and the other GPU integration tests. Notably, the IR
shapes produced by the mlir-opt pipelines for the Vulkan and SYCL
runners are now much more similar, with both using a gpu.binary op for
the serialized SPIR-V kernel.

In order to enable this, this commit includes these supporting changes:

- ConvertToSPIRVPass is enhanced to support producing the IR shape where
a spirv.module is nested inside a gpu.module, since this is what
GpuModuleToBinaryPass expects.
- ConvertGPULaunchFuncToVulkanLaunchFunc is changed to remove its SPIR-V
serialization functionality, and instead now extracts the SPIR-V from a
gpu.binary operation (as produced by ConvertToSPIRVPass).
- `-test-vulkan-runner-pipeline` now attaches SPIR-V target information
required by GpuModuleToBinaryPass.
- The WebGPU pass option, which had been removed from mlir-vulkan-runner
in the previous commit in this series, is restored as an option to
`-test-vulkan-runner-pipeline` instead, so that the WebGPU pass
continues being inserted into the pipeline just before SPIR-V
serialization.


  Commit: 89499c666819d88c8abe85b58005fc8e5eb5f03f
      https://github.com/llvm/llvm-project/commit/89499c666819d88c8abe85b58005fc8e5eb5f03f
  Author: Vitaly Buka <vitalybuka at google.com>
  Date:   2025-01-09 (Thu, 09 Jan 2025)

  Changed paths:
    M llvm/test/Instrumentation/BoundsChecking/runtimes.ll

  Log Message:
  -----------
  [BoundsChecking][test] Reorder RUN lines (#122229)

To match output order of update_test_checks.py.


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

  Changed paths:
    M llvm/test/Instrumentation/BoundsChecking/runtimes.ll

  Log Message:
  -----------
  [BoundsChecking][test] Remove duplicate RUNS

Fixing failed conflict resolution in #122229.


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

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

  Log Message:
  -----------
  [SelectionDAG] Use SDNode::op_iterator instead of SDNodeIterator. NFC (#122147)

I think SDNodeIterator primarily exists because GraphTraits requires an
iterator that dereferences to SDNode*. op_iterator dereferences to
SDUse* which is implicitly convertible to SDValue.

This piece of code can use SDValue instead of SDNode* so we should
prefer to use the the more common op_iterator.


  Commit: c87ef146e1ceea3ebfcd0f59266043d53affced0
      https://github.com/llvm/llvm-project/commit/c87ef146e1ceea3ebfcd0f59266043d53affced0
  Author: Mikhail Gudim <mgudim at gmail.com>
  Date:   2025-01-09 (Thu, 09 Jan 2025)

  Changed paths:
    A llvm/test/Transforms/InstCombine/fold-binop-of-reductions.ll

  Log Message:
  -----------
  [InstCombine][NFC] Precommit a test for folding a binary op of reductions. (#121568)


  Commit: f8f8598fd886cddfd374fa43eb6d7d37d301b576
      https://github.com/llvm/llvm-project/commit/f8f8598fd886cddfd374fa43eb6d7d37d301b576
  Author: Min-Yih Hsu <min.hsu at sifive.com>
  Date:   2025-01-09 (Thu, 09 Jan 2025)

  Changed paths:
    M llvm/docs/CommandGuide/llvm-exegesis.rst
    A llvm/test/tools/llvm-exegesis/dry-run-measurement.test
    M llvm/tools/llvm-exegesis/lib/BenchmarkResult.h
    M llvm/tools/llvm-exegesis/lib/BenchmarkRunner.cpp
    M llvm/tools/llvm-exegesis/lib/Target.cpp
    M llvm/tools/llvm-exegesis/llvm-exegesis.cpp

  Log Message:
  -----------
  [Exegesis] Add the ability to dry-run the measurement phase (#121991)

With the new benchmark phase, `dry-run-measurement`, llvm-exegesis can
run everything except the actual snippet execution. It is useful when we
want to test some parts of the code between the `assemble-measured-code`
and `measure` phase without actually running on native platforms.


  Commit: be32621ce8cbffe674c62e87c0c51c9fc4a21e5f
      https://github.com/llvm/llvm-project/commit/be32621ce8cbffe674c62e87c0c51c9fc4a21e5f
  Author: erichkeane <ekeane at nvidia.com>
  Date:   2025-01-09 (Thu, 09 Jan 2025)

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

  Log Message:
  -----------
  [OpenACC] Implement 'device' and 'host' clauses for 'update'

These two clauses just take a 'var-list' and specify where the variables
should be copied from/to.  This patch implements the AST nodes for them
and ensures they properly take a var-list.


  Commit: 553fa204ed5ab4c48bc6080451df24310c00e69c
      https://github.com/llvm/llvm-project/commit/553fa204ed5ab4c48bc6080451df24310c00e69c
  Author: erichkeane <ekeane at nvidia.com>
  Date:   2025-01-09 (Thu, 09 Jan 2025)

  Changed paths:
    M clang/lib/Sema/SemaOpenACC.cpp
    M clang/test/AST/ast-print-openacc-update-construct.cpp
    M clang/test/ParserOpenACC/parse-clauses.c
    M clang/test/ParserOpenACC/parse-constructs.c
    M clang/test/SemaOpenACC/update-construct-ast.cpp
    M clang/test/SemaOpenACC/update-construct.cpp

  Log Message:
  -----------
  [OpenACC] Implement 'at least one of' restriction for 'update'

This completes the implementation of 'update' by implementing its last
restriction. This restriction requires at least 1 of the 'self', 'host',
  or 'device' clauses.


  Commit: 8ac6a6b81629840d2456e32ec4651440523718dc
      https://github.com/llvm/llvm-project/commit/8ac6a6b81629840d2456e32ec4651440523718dc
  Author: Benjamin Kramer <benny.kra at googlemail.com>
  Date:   2025-01-09 (Thu, 09 Jan 2025)

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

  Log Message:
  -----------
  Reorder fields so InitDeferredFlag is destroyed last

TimerGroup's dtor accesses this field.

once_flag has a trivial destructor so it doesn't really matter, but msan
checks that it's not accessed after destruction.


  Commit: 43e663d0fd82e226203b051d31fd3ce5388ca984
      https://github.com/llvm/llvm-project/commit/43e663d0fd82e226203b051d31fd3ce5388ca984
  Author: fahadnayyar <30953967+fahadnayyar at users.noreply.github.com>
  Date:   2025-01-09 (Thu, 09 Jan 2025)

  Changed paths:
    A clang/test/APINotes/Inputs/Headers/SwiftReturnOwnershipForObjC.apinotes
    A clang/test/APINotes/Inputs/Headers/SwiftReturnOwnershipForObjC.h
    M clang/test/APINotes/Inputs/Headers/module.modulemap
    A clang/test/APINotes/swift-return-ownership.m

  Log Message:
  -----------
  [APINotes] [NFC] Add tests for SWIFT_RETURNS_(UN)RETAINED for ObjC APIs (#122167)

Adding test case to verify that SwiftReturnOwnership works correctly for
ObjC functions and methods as well.

rdar://142504115


  Commit: 50ca2eff5fb2c239a373790bcbe384f629eb077a
      https://github.com/llvm/llvm-project/commit/50ca2eff5fb2c239a373790bcbe384f629eb077a
  Author: Stanislav Mekhanoshin <rampitec at users.noreply.github.com>
  Date:   2025-01-09 (Thu, 09 Jan 2025)

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

  Log Message:
  -----------
  Drop emitQuaternaryBuiltin from clang (#122169)

It was superceeded by the emitBuiltinWithOneOverloadedType() some
time ago.


  Commit: 69b54c1a05c0c63ee28de1279b3a689b7f026e94
      https://github.com/llvm/llvm-project/commit/69b54c1a05c0c63ee28de1279b3a689b7f026e94
  Author: Дмитрий Изволов <dmitriy at izvolov.ru>
  Date:   2025-01-09 (Thu, 09 Jan 2025)

  Changed paths:
    M libcxx/docs/ReleaseNotes/19.rst
    M libcxx/include/CMakeLists.txt
    A libcxx/include/__algorithm/radix_sort.h
    M libcxx/include/__algorithm/stable_sort.h
    M libcxx/include/__bit/bit_log2.h
    M libcxx/include/module.modulemap
    M libcxx/test/std/algorithms/alg.sorting/alg.sort/stable.sort/stable_sort.pass.cpp

  Log Message:
  -----------
  [libcxx][algorithm] Optimize std::stable_sort via radix sort algorithm (#104683)

The radix sort (LSD) algorithm allows to speed up std::stable_sort
dramatically in case we sort integers.
The speed up varies from a relatively small to x10 times, depending on
type of sorted elements and the initial state of the sorted array.

```
Running ./libcxx/test/benchmarks/stable_sort.bench.out
Run on (12 X 2600 MHz CPU s)
CPU Caches:
  L1 Data 32 KiB
  L1 Instruction 32 KiB
  L2 Unified 256 KiB (x6)
  L3 Unified 12288 KiB
Load Average: 3.48, 3.38, 3.08
---------------------------------------------------------------------------
Benchmark                                               After        Before 
---------------------------------------------------------------------------
BM_StableSort_int8_Random_1                           3.39 ns       3.58 ns 
BM_StableSort_int8_Random_4                           21.1 ns       21.9 ns 
BM_StableSort_int8_Random_16                           142 ns        147 ns 
BM_StableSort_int8_Random_64                           893 ns        903 ns 
BM_StableSort_int8_Random_256                          409 ns       5810 ns 
BM_StableSort_int8_Random_1024                        1235 ns      29973 ns 
BM_StableSort_int8_Random_4096                        4410 ns     141880 ns 
BM_StableSort_int8_Random_16384                      18044 ns     620540 ns 
BM_StableSort_int8_Random_65536                     144030 ns    2592013 ns 
BM_StableSort_int8_Random_262144                    858350 ns   10935814 ns 
BM_StableSort_int8_Random_524288                   2929988 ns   27060729 ns 
BM_StableSort_int8_Random_1048576                  6058292 ns   49622720 ns 
BM_StableSort_int8_Ascending_1                        3.42 ns       3.92 ns 
BM_StableSort_int8_Ascending_4                        5.86 ns       8.08 ns 
BM_StableSort_int8_Ascending_16                       10.6 ns       12.0 ns 
BM_StableSort_int8_Ascending_64                       28.9 ns       30.6 ns 
BM_StableSort_int8_Ascending_256                       415 ns        391 ns 
BM_StableSort_int8_Ascending_1024                     1666 ns       2309 ns 
BM_StableSort_int8_Ascending_4096                     7748 ns      12269 ns 
BM_StableSort_int8_Ascending_16384                   40588 ns      60181 ns 
BM_StableSort_int8_Ascending_65536                  178843 ns     298221 ns 
BM_StableSort_int8_Ascending_262144                 919959 ns    1402692 ns 
BM_StableSort_int8_Ascending_524288                2397397 ns    3036984 ns 
BM_StableSort_int8_Ascending_1048576               5080043 ns    7218581 ns 
BM_StableSort_int8_Descending_1                       3.44 ns       3.53 ns 
BM_StableSort_int8_Descending_4                       7.94 ns       8.29 ns 
BM_StableSort_int8_Descending_16                      59.6 ns       57.7 ns 
BM_StableSort_int8_Descending_64                      1051 ns       1027 ns 
BM_StableSort_int8_Descending_256                      422 ns       4718 ns 
BM_StableSort_int8_Descending_1024                    1676 ns      21044 ns 
BM_StableSort_int8_Descending_4096                    7766 ns      64827 ns 
BM_StableSort_int8_Descending_16384                  40230 ns      93981 ns 
BM_StableSort_int8_Descending_65536                 190978 ns     421151 ns 
BM_StableSort_int8_Descending_262144               1055141 ns    1918927 ns 
BM_StableSort_int8_Descending_524288               2875115 ns    3809153 ns 
BM_StableSort_int8_Descending_1048576              5854135 ns    8713690 ns 
BM_StableSort_int8_SingleElement_1                    3.52 ns       3.46 ns 
BM_StableSort_int8_SingleElement_4                    6.25 ns       5.79 ns 
BM_StableSort_int8_SingleElement_16                   10.7 ns       11.4 ns 
BM_StableSort_int8_SingleElement_64                   29.3 ns       30.3 ns 
BM_StableSort_int8_SingleElement_256                   858 ns        380 ns 
BM_StableSort_int8_SingleElement_1024                 3036 ns       2231 ns 
BM_StableSort_int8_SingleElement_4096                11580 ns      11866 ns 
BM_StableSort_int8_SingleElement_16384               44956 ns      59621 ns 
BM_StableSort_int8_SingleElement_65536              182006 ns     297853 ns 
BM_StableSort_int8_SingleElement_262144             962181 ns    1432857 ns 
BM_StableSort_int8_SingleElement_524288            2256687 ns    2975707 ns 
BM_StableSort_int8_SingleElement_1048576           4522556 ns    6949948 ns 
BM_StableSort_int8_PipeOrgan_1                        3.26 ns       3.64 ns 
BM_StableSort_int8_PipeOrgan_4                        6.21 ns       6.58 ns 
BM_StableSort_int8_PipeOrgan_16                       23.7 ns       25.4 ns 
BM_StableSort_int8_PipeOrgan_64                        250 ns        248 ns 
BM_StableSort_int8_PipeOrgan_256                       414 ns       2498 ns 
BM_StableSort_int8_PipeOrgan_1024                     1697 ns      10946 ns 
BM_StableSort_int8_PipeOrgan_4096                     7840 ns      37238 ns 
BM_StableSort_int8_PipeOrgan_16384                   41402 ns      74805 ns 
BM_StableSort_int8_PipeOrgan_65536                  180107 ns     357891 ns 
BM_StableSort_int8_PipeOrgan_262144                 988273 ns    1647296 ns 
BM_StableSort_int8_PipeOrgan_524288                2547374 ns    3245991 ns 
BM_StableSort_int8_PipeOrgan_1048576               5128783 ns    7342444 ns 
BM_StableSort_int8_QuickSortAdversary_1               3.14 ns       4.01 ns 
BM_StableSort_int8_QuickSortAdversary_4               6.05 ns       7.02 ns 
BM_StableSort_int8_QuickSortAdversary_16              10.5 ns       11.9 ns 
BM_StableSort_int8_QuickSortAdversary_64               520 ns        516 ns 
BM_StableSort_int8_QuickSortAdversary_256              920 ns        386 ns 
BM_StableSort_int8_QuickSortAdversary_1024            3083 ns       2299 ns 
BM_StableSort_int8_QuickSortAdversary_4096           11659 ns      12295 ns 
BM_StableSort_int8_QuickSortAdversary_16384          45721 ns      60931 ns 
BM_StableSort_int8_QuickSortAdversary_65536         186334 ns     295423 ns 
BM_StableSort_int8_QuickSortAdversary_262144        946262 ns    1399973 ns 
BM_StableSort_int8_QuickSortAdversary_524288       2282004 ns    2832266 ns 
BM_StableSort_int8_QuickSortAdversary_1048576      4691123 ns    6963253 ns 
BM_StableSort_uint8_Random_1                          3.11 ns       3.44 ns 
BM_StableSort_uint8_Random_4                          21.9 ns       23.1 ns 
BM_StableSort_uint8_Random_16                          154 ns        171 ns 
BM_StableSort_uint8_Random_64                         1000 ns       1051 ns 
BM_StableSort_uint8_Random_256                         402 ns       6498 ns 
BM_StableSort_uint8_Random_1024                       1176 ns      35310 ns 
BM_StableSort_uint8_Random_4096                       4415 ns     164087 ns 
BM_StableSort_uint8_Random_16384                     17849 ns     686769 ns 
BM_StableSort_uint8_Random_65536                    146109 ns    2932051 ns 
BM_StableSort_uint8_Random_262144                   876710 ns   12163988 ns 
BM_StableSort_uint8_Random_524288                  2858089 ns   26458830 ns 
BM_StableSort_uint8_Random_1048576                 5766942 ns   54836214 ns 
BM_StableSort_uint8_Ascending_1                       3.11 ns       3.43 ns 
BM_StableSort_uint8_Ascending_4                       6.18 ns       7.24 ns 
BM_StableSort_uint8_Ascending_16                      14.5 ns       17.0 ns 
BM_StableSort_uint8_Ascending_64                      50.7 ns       59.2 ns 
BM_StableSort_uint8_Ascending_256                      395 ns        536 ns 
BM_StableSort_uint8_Ascending_1024                    1752 ns       2956 ns 
BM_StableSort_uint8_Ascending_4096                    7785 ns      15146 ns 
BM_StableSort_uint8_Ascending_16384                  41442 ns      74136 ns 
BM_StableSort_uint8_Ascending_65536                 180879 ns     354261 ns 
BM_StableSort_uint8_Ascending_262144                945880 ns    1674256 ns 
BM_StableSort_uint8_Ascending_524288               2287832 ns    3138581 ns 
BM_StableSort_uint8_Ascending_1048576              4630290 ns    7296278 ns 
BM_StableSort_uint8_Descending_1                      3.19 ns       3.63 ns 
BM_StableSort_uint8_Descending_4                      9.60 ns       11.5 ns 
BM_StableSort_uint8_Descending_16                     78.3 ns       86.0 ns 
BM_StableSort_uint8_Descending_64                     1265 ns       1308 ns 
BM_StableSort_uint8_Descending_256                     395 ns       6556 ns 
BM_StableSort_uint8_Descending_1024                   1712 ns      24669 ns 
BM_StableSort_uint8_Descending_4096                   7748 ns      83407 ns 
BM_StableSort_uint8_Descending_16384                 40779 ns     104043 ns 
BM_StableSort_uint8_Descending_65536                181560 ns     467680 ns 
BM_StableSort_uint8_Descending_262144              1146627 ns    2102769 ns 
BM_StableSort_uint8_Descending_524288              2874096 ns    4572229 ns 
BM_StableSort_uint8_Descending_1048576             5873195 ns   10170663 ns 
BM_StableSort_uint8_SingleElement_1                   3.28 ns       3.58 ns 
BM_StableSort_uint8_SingleElement_4                   6.44 ns       7.40 ns 
BM_StableSort_uint8_SingleElement_16                  14.9 ns       16.4 ns 
BM_StableSort_uint8_SingleElement_64                  51.2 ns       52.9 ns 
BM_StableSort_uint8_SingleElement_256                  876 ns        490 ns 
BM_StableSort_uint8_SingleElement_1024                3041 ns       2750 ns 
BM_StableSort_uint8_SingleElement_4096               11947 ns      14326 ns 
BM_StableSort_uint8_SingleElement_16384              46669 ns      69984 ns 
BM_StableSort_uint8_SingleElement_65536             197903 ns     328961 ns 
BM_StableSort_uint8_SingleElement_262144           1031466 ns    1551436 ns 
BM_StableSort_uint8_SingleElement_524288           2447672 ns    3049553 ns 
BM_StableSort_uint8_SingleElement_1048576          4793087 ns    7615245 ns 
BM_StableSort_uint8_PipeOrgan_1                       3.38 ns       3.56 ns 
BM_StableSort_uint8_PipeOrgan_4                       7.16 ns       8.70 ns 
BM_StableSort_uint8_PipeOrgan_16                      31.7 ns       35.3 ns 
BM_StableSort_uint8_PipeOrgan_64                       326 ns        366 ns 
BM_StableSort_uint8_PipeOrgan_256                      409 ns       2942 ns 
BM_StableSort_uint8_PipeOrgan_1024                    1994 ns      12571 ns 
BM_StableSort_uint8_PipeOrgan_4096                    8086 ns      46278 ns 
BM_StableSort_uint8_PipeOrgan_16384                  41749 ns      79813 ns 
BM_StableSort_uint8_PipeOrgan_65536                 180697 ns     375120 ns 
BM_StableSort_uint8_PipeOrgan_262144               1004899 ns    1676143 ns 
BM_StableSort_uint8_PipeOrgan_524288               2456081 ns    3333949 ns 
BM_StableSort_uint8_PipeOrgan_1048576              5030857 ns    7591303 ns 
BM_StableSort_uint8_QuickSortAdversary_1              3.12 ns       3.46 ns 
BM_StableSort_uint8_QuickSortAdversary_4              7.25 ns       6.83 ns 
BM_StableSort_uint8_QuickSortAdversary_16             14.6 ns       16.2 ns 
BM_StableSort_uint8_QuickSortAdversary_64              650 ns        665 ns 
BM_StableSort_uint8_QuickSortAdversary_256             395 ns       2982 ns 
BM_StableSort_uint8_QuickSortAdversary_1024           3125 ns       2583 ns 
BM_StableSort_uint8_QuickSortAdversary_4096          11797 ns      13929 ns 
BM_StableSort_uint8_QuickSortAdversary_16384         45803 ns      66513 ns 
BM_StableSort_uint8_QuickSortAdversary_65536        190745 ns     313467 ns 
BM_StableSort_uint8_QuickSortAdversary_262144       974646 ns    1469014 ns 
BM_StableSort_uint8_QuickSortAdversary_524288      2317553 ns    3022065 ns 
BM_StableSort_uint8_QuickSortAdversary_1048576     4898703 ns    6854079 ns 
BM_StableSort_int16_Random_1                          3.94 ns       3.49 ns 
BM_StableSort_int16_Random_4                          20.8 ns       23.2 ns 
BM_StableSort_int16_Random_16                          133 ns        163 ns 
BM_StableSort_int16_Random_64                          903 ns        953 ns 
BM_StableSort_int16_Random_256                        5638 ns       6258 ns 
BM_StableSort_int16_Random_1024                       3056 ns      34587 ns 
BM_StableSort_int16_Random_4096                      10596 ns     168397 ns 
BM_StableSort_int16_Random_16384                     49908 ns     753031 ns 
BM_StableSort_int16_Random_65536                    444605 ns    3838368 ns 
BM_StableSort_int16_Random_262144                  2419345 ns   15657285 ns 
BM_StableSort_int16_Random_524288                  7984040 ns   32726933 ns 
BM_StableSort_int16_Random_1048576                16092424 ns   67999766 ns 
BM_StableSort_int16_Ascending_1                       3.40 ns       3.43 ns 
BM_StableSort_int16_Ascending_4                       5.45 ns       5.79 ns 
BM_StableSort_int16_Ascending_16                      12.0 ns       15.3 ns 
BM_StableSort_int16_Ascending_64                      39.6 ns       52.6 ns 
BM_StableSort_int16_Ascending_256                      470 ns        550 ns 
BM_StableSort_int16_Ascending_1024                    1686 ns       2707 ns 
BM_StableSort_int16_Ascending_4096                    5676 ns      14165 ns 
BM_StableSort_int16_Ascending_16384                  21413 ns      69483 ns 
BM_StableSort_int16_Ascending_65536                  88010 ns     334466 ns 
BM_StableSort_int16_Ascending_262144                567239 ns    1570620 ns 
BM_StableSort_int16_Ascending_524288               1553063 ns    3424666 ns 
BM_StableSort_int16_Ascending_1048576              3145577 ns    8499649 ns 
BM_StableSort_int16_Descending_1                      3.22 ns       3.54 ns 
BM_StableSort_int16_Descending_4                      6.85 ns       10.2 ns 
BM_StableSort_int16_Descending_16                     62.7 ns       62.2 ns 
BM_StableSort_int16_Descending_64                     1138 ns       1036 ns 
BM_StableSort_int16_Descending_256                    5541 ns       4696 ns 
BM_StableSort_int16_Descending_1024                   3046 ns      19577 ns 
BM_StableSort_int16_Descending_4096                  10962 ns      79149 ns 
BM_StableSort_int16_Descending_16384                 58182 ns     327709 ns 
BM_StableSort_int16_Descending_65536                447025 ns    1424896 ns 
BM_StableSort_int16_Descending_262144              1104973 ns    5921903 ns 
BM_StableSort_int16_Descending_524288              2547840 ns   17956789 ns 
BM_StableSort_int16_Descending_1048576             5093555 ns   17044318 ns 
BM_StableSort_int16_SingleElement_1                   3.56 ns       3.96 ns 
BM_StableSort_int16_SingleElement_4                   5.75 ns       6.72 ns 
BM_StableSort_int16_SingleElement_16                  12.4 ns       16.1 ns 
BM_StableSort_int16_SingleElement_64                  36.9 ns       54.4 ns 
BM_StableSort_int16_SingleElement_256                  473 ns        557 ns 
BM_StableSort_int16_SingleElement_1024                1828 ns       2826 ns 
BM_StableSort_int16_SingleElement_4096                6239 ns      14252 ns 
BM_StableSort_int16_SingleElement_16384              23695 ns      70369 ns 
BM_StableSort_int16_SingleElement_65536              93281 ns     361641 ns 
BM_StableSort_int16_SingleElement_262144            599078 ns    1640216 ns 
BM_StableSort_int16_SingleElement_524288           1659678 ns    3343087 ns 
BM_StableSort_int16_SingleElement_1048576          3184033 ns    7770271 ns 
BM_StableSort_int16_PipeOrgan_1                       3.75 ns       3.76 ns 
BM_StableSort_int16_PipeOrgan_4                       5.94 ns       7.74 ns 
BM_StableSort_int16_PipeOrgan_16                      26.7 ns       25.9 ns 
BM_StableSort_int16_PipeOrgan_64                       300 ns        263 ns 
BM_StableSort_int16_PipeOrgan_256                     2769 ns       2760 ns 
BM_StableSort_int16_PipeOrgan_1024                    2996 ns      10544 ns 
BM_StableSort_int16_PipeOrgan_4096                   11641 ns      44750 ns 
BM_StableSort_int16_PipeOrgan_16384                  57224 ns     200464 ns 
BM_StableSort_int16_PipeOrgan_65536                 416873 ns     887631 ns 
BM_StableSort_int16_PipeOrgan_262144                843264 ns    3588669 ns 
BM_StableSort_int16_PipeOrgan_524288               2027741 ns   11056924 ns 
BM_StableSort_int16_PipeOrgan_1048576              4223773 ns   13261276 ns 
BM_StableSort_int16_QuickSortAdversary_1              3.83 ns       3.68 ns 
BM_StableSort_int16_QuickSortAdversary_4              5.55 ns       6.93 ns 
BM_StableSort_int16_QuickSortAdversary_16             12.3 ns       15.2 ns 
BM_StableSort_int16_QuickSortAdversary_64              646 ns        632 ns 
BM_StableSort_int16_QuickSortAdversary_256            2751 ns       2542 ns 
BM_StableSort_int16_QuickSortAdversary_1024           3028 ns      16901 ns 
BM_StableSort_int16_QuickSortAdversary_4096          10862 ns      80222 ns 
BM_StableSort_int16_QuickSortAdversary_16384         57753 ns     317281 ns 
BM_StableSort_int16_QuickSortAdversary_65536         94064 ns     328502 ns 
BM_StableSort_int16_QuickSortAdversary_262144       557796 ns    1613208 ns 
BM_StableSort_int16_QuickSortAdversary_524288      1518451 ns    3479740 ns 
BM_StableSort_int16_QuickSortAdversary_1048576     3165129 ns    7655880 ns 
BM_StableSort_uint16_Random_1                         3.26 ns       3.44 ns 
BM_StableSort_uint16_Random_4                         21.1 ns       22.2 ns 
BM_StableSort_uint16_Random_16                         157 ns        156 ns 
BM_StableSort_uint16_Random_64                         955 ns        947 ns 
BM_StableSort_uint16_Random_256                       5886 ns       6097 ns 
BM_StableSort_uint16_Random_1024                      2787 ns      30776 ns 
BM_StableSort_uint16_Random_4096                      9973 ns     155652 ns 
BM_StableSort_uint16_Random_16384                    48628 ns     741072 ns 
BM_StableSort_uint16_Random_65536                   439609 ns    3478966 ns 
BM_StableSort_uint16_Random_262144                 2336983 ns   15197642 ns 
BM_StableSort_uint16_Random_524288                 7888701 ns   34234254 ns 
BM_StableSort_uint16_Random_1048576               14865180 ns   68516386 ns 
BM_StableSort_uint16_Ascending_1                      3.33 ns       4.00 ns 
BM_StableSort_uint16_Ascending_4                      5.79 ns       6.64 ns 
BM_StableSort_uint16_Ascending_16                     14.9 ns       15.5 ns 
BM_StableSort_uint16_Ascending_64                     50.2 ns       52.5 ns 
BM_StableSort_uint16_Ascending_256                     538 ns        546 ns 
BM_StableSort_uint16_Ascending_1024                   1645 ns       2652 ns 
BM_StableSort_uint16_Ascending_4096                   5559 ns      14517 ns 
BM_StableSort_uint16_Ascending_16384                 22803 ns      70275 ns 
BM_StableSort_uint16_Ascending_65536                 83109 ns     333446 ns 
BM_StableSort_uint16_Ascending_262144               562667 ns    1568670 ns 
BM_StableSort_uint16_Ascending_524288              1564646 ns    3059839 ns 
BM_StableSort_uint16_Ascending_1048576             3178826 ns    7048327 ns 
BM_StableSort_uint16_Descending_1                     3.34 ns       3.93 ns 
BM_StableSort_uint16_Descending_4                     8.75 ns       9.73 ns 
BM_StableSort_uint16_Descending_16                    55.9 ns       55.5 ns 
BM_StableSort_uint16_Descending_64                    1021 ns       1035 ns 
BM_StableSort_uint16_Descending_256                   4752 ns       4931 ns 
BM_StableSort_uint16_Descending_1024                  2982 ns      19727 ns 
BM_StableSort_uint16_Descending_4096                 10432 ns      83165 ns 
BM_StableSort_uint16_Descending_16384                56593 ns     326131 ns 
BM_StableSort_uint16_Descending_65536               439134 ns    1371346 ns 
BM_StableSort_uint16_Descending_262144             1220925 ns    5735665 ns 
BM_StableSort_uint16_Descending_524288             2767234 ns   16758330 ns 
BM_StableSort_uint16_Descending_1048576            5673769 ns   17541715 ns 
BM_StableSort_uint16_SingleElement_1                  3.53 ns       3.73 ns 
BM_StableSort_uint16_SingleElement_4                  6.27 ns       5.81 ns 
BM_StableSort_uint16_SingleElement_16                 14.8 ns       15.1 ns 
BM_StableSort_uint16_SingleElement_64                 51.5 ns       50.9 ns 
BM_StableSort_uint16_SingleElement_256                 536 ns        540 ns 
BM_StableSort_uint16_SingleElement_1024               1669 ns       2690 ns 
BM_StableSort_uint16_SingleElement_4096               5840 ns      14230 ns 
BM_StableSort_uint16_SingleElement_16384             22468 ns      68524 ns 
BM_StableSort_uint16_SingleElement_65536             89845 ns     332187 ns 
BM_StableSort_uint16_SingleElement_262144           590736 ns    1550868 ns 
BM_StableSort_uint16_SingleElement_524288          1573677 ns    3095703 ns 
BM_StableSort_uint16_SingleElement_1048576         3183421 ns    8251180 ns 
BM_StableSort_uint16_PipeOrgan_1                      3.70 ns       3.64 ns 
BM_StableSort_uint16_PipeOrgan_4                      7.01 ns       6.81 ns 
BM_StableSort_uint16_PipeOrgan_16                     25.7 ns       26.4 ns 
BM_StableSort_uint16_PipeOrgan_64                      283 ns        277 ns 
BM_StableSort_uint16_PipeOrgan_256                    2562 ns       2852 ns 
BM_StableSort_uint16_PipeOrgan_1024                   2863 ns      10892 ns 
BM_StableSort_uint16_PipeOrgan_4096                  10585 ns      45668 ns 
BM_StableSort_uint16_PipeOrgan_16384                 59151 ns     194358 ns 
BM_StableSort_uint16_PipeOrgan_65536                508579 ns     854692 ns 
BM_StableSort_uint16_PipeOrgan_262144               901294 ns    3606346 ns 
BM_StableSort_uint16_PipeOrgan_524288              2192498 ns   10449279 ns 
BM_StableSort_uint16_PipeOrgan_1048576             4204368 ns   11956606 ns 
BM_StableSort_uint16_QuickSortAdversary_1             3.20 ns       3.63 ns 
BM_StableSort_uint16_QuickSortAdversary_4             5.30 ns       6.38 ns 
BM_StableSort_uint16_QuickSortAdversary_16            14.5 ns       15.3 ns 
BM_StableSort_uint16_QuickSortAdversary_64             575 ns        611 ns 
BM_StableSort_uint16_QuickSortAdversary_256           2423 ns       2577 ns 
BM_StableSort_uint16_QuickSortAdversary_1024          2794 ns      16854 ns 
BM_StableSort_uint16_QuickSortAdversary_4096         10511 ns      75952 ns 
BM_StableSort_uint16_QuickSortAdversary_16384        56214 ns     333824 ns 
BM_StableSort_uint16_QuickSortAdversary_65536       422512 ns    1354867 ns 
BM_StableSort_uint16_QuickSortAdversary_262144      583301 ns    1564443 ns 
BM_StableSort_uint16_QuickSortAdversary_524288     1584319 ns    3265575 ns 
BM_StableSort_uint16_QuickSortAdversary_1048576    3197732 ns    7945245 ns 
BM_StableSort_int32_Random_1                          3.81 ns       3.70 ns 
BM_StableSort_int32_Random_4                          20.8 ns       23.4 ns 
BM_StableSort_int32_Random_16                          134 ns        161 ns 
BM_StableSort_int32_Random_64                          895 ns        984 ns 
BM_StableSort_int32_Random_256                        5640 ns       5897 ns 
BM_StableSort_int32_Random_1024                       6994 ns      32118 ns 
BM_StableSort_int32_Random_4096                      27367 ns     168960 ns 
BM_StableSort_int32_Random_16384                    183261 ns     843240 ns 
BM_StableSort_int32_Random_65536                    950914 ns    3953588 ns 
BM_StableSort_int32_Random_262144                  3673311 ns   16790171 ns 
BM_StableSort_int32_Random_524288                 11515700 ns   36023098 ns 
BM_StableSort_int32_Random_1048576                24492515 ns   78116028 ns 
BM_StableSort_int32_Ascending_1                       3.31 ns       4.48 ns 
BM_StableSort_int32_Ascending_4                       5.96 ns       6.99 ns 
BM_StableSort_int32_Ascending_16                      13.0 ns       16.0 ns 
BM_StableSort_int32_Ascending_64                      36.7 ns       53.0 ns 
BM_StableSort_int32_Ascending_256                      391 ns        471 ns 
BM_StableSort_int32_Ascending_1024                    2705 ns       2682 ns 
BM_StableSort_int32_Ascending_4096                    8773 ns      14231 ns 
BM_StableSort_int32_Ascending_16384                  34709 ns      70625 ns 
BM_StableSort_int32_Ascending_65536                 142907 ns     344482 ns 
BM_StableSort_int32_Ascending_262144                745483 ns    1591418 ns 
BM_StableSort_int32_Ascending_524288               1873701 ns    3190305 ns 
BM_StableSort_int32_Ascending_1048576              3851590 ns    7570095 ns 
BM_StableSort_int32_Descending_1                      3.22 ns       4.23 ns 
BM_StableSort_int32_Descending_4                      7.58 ns       11.2 ns 
BM_StableSort_int32_Descending_16                     63.9 ns       58.6 ns 
BM_StableSort_int32_Descending_64                     1133 ns       1017 ns 
BM_StableSort_int32_Descending_256                    4850 ns       4464 ns 
BM_StableSort_int32_Descending_1024                   7023 ns      18954 ns 
BM_StableSort_int32_Descending_4096                  28550 ns      75163 ns 
BM_StableSort_int32_Descending_16384                200880 ns     341104 ns 
BM_StableSort_int32_Descending_65536               1095910 ns    1398021 ns 
BM_StableSort_int32_Descending_262144              3818864 ns    5695486 ns 
BM_StableSort_int32_Descending_524288              5606779 ns   17593982 ns 
BM_StableSort_int32_Descending_1048576            16416366 ns   26649503 ns 
BM_StableSort_int32_SingleElement_1                   3.81 ns       3.71 ns 
BM_StableSort_int32_SingleElement_4                   6.57 ns       6.61 ns 
BM_StableSort_int32_SingleElement_16                  14.0 ns       15.8 ns 
BM_StableSort_int32_SingleElement_64                  38.7 ns       53.5 ns 
BM_StableSort_int32_SingleElement_256                  386 ns        554 ns 
BM_StableSort_int32_SingleElement_1024                2761 ns       3046 ns 
BM_StableSort_int32_SingleElement_4096                9179 ns      15188 ns 
BM_StableSort_int32_SingleElement_16384              34794 ns      70119 ns 
BM_StableSort_int32_SingleElement_65536             135190 ns     354755 ns 
BM_StableSort_int32_SingleElement_262144            760995 ns    1644072 ns 
BM_StableSort_int32_SingleElement_524288           1969575 ns    3343419 ns 
BM_StableSort_int32_SingleElement_1048576          4423816 ns    8346971 ns 
BM_StableSort_int32_PipeOrgan_1                       3.79 ns       3.63 ns 
BM_StableSort_int32_PipeOrgan_4                       6.21 ns       6.73 ns 
BM_StableSort_int32_PipeOrgan_16                      27.5 ns       26.0 ns 
BM_StableSort_int32_PipeOrgan_64                       291 ns        265 ns 
BM_StableSort_int32_PipeOrgan_256                     2557 ns       2518 ns 
BM_StableSort_int32_PipeOrgan_1024                    6765 ns      10976 ns 
BM_StableSort_int32_PipeOrgan_4096                   26373 ns      44537 ns 
BM_StableSort_int32_PipeOrgan_16384                 201466 ns     188582 ns 
BM_StableSort_int32_PipeOrgan_65536                1148533 ns     802368 ns 
BM_StableSort_int32_PipeOrgan_262144               2255177 ns    3477829 ns 
BM_StableSort_int32_PipeOrgan_524288               3947015 ns   10356637 ns 
BM_StableSort_int32_PipeOrgan_1048576             10274312 ns   16405366 ns 
BM_StableSort_int32_QuickSortAdversary_1              3.32 ns       4.36 ns 
BM_StableSort_int32_QuickSortAdversary_4              5.98 ns       7.44 ns 
BM_StableSort_int32_QuickSortAdversary_16             13.0 ns       16.3 ns 
BM_StableSort_int32_QuickSortAdversary_64              657 ns        616 ns 
BM_StableSort_int32_QuickSortAdversary_256            2569 ns       2483 ns 
BM_StableSort_int32_QuickSortAdversary_1024           6898 ns      19635 ns 
BM_StableSort_int32_QuickSortAdversary_4096          27092 ns      75108 ns 
BM_StableSort_int32_QuickSortAdversary_16384        190379 ns     316463 ns 
BM_StableSort_int32_QuickSortAdversary_65536       1109040 ns    1319018 ns 
BM_StableSort_int32_QuickSortAdversary_262144      4361925 ns    5472779 ns 
BM_StableSort_int32_QuickSortAdversary_524288      6528215 ns   17538983 ns 
BM_StableSort_int32_QuickSortAdversary_1048576    18345325 ns   27223926 ns 
BM_StableSort_uint32_Random_1                         3.67 ns       3.82 ns 
BM_StableSort_uint32_Random_4                         22.3 ns       21.8 ns 
BM_StableSort_uint32_Random_16                         155 ns        153 ns 
BM_StableSort_uint32_Random_64                         946 ns        976 ns 
BM_StableSort_uint32_Random_256                       5824 ns       6019 ns 
BM_StableSort_uint32_Random_1024                      4525 ns      32764 ns 
BM_StableSort_uint32_Random_4096                     17223 ns     158608 ns 
BM_StableSort_uint32_Random_16384                   134821 ns     748525 ns 
BM_StableSort_uint32_Random_65536                   716644 ns    3453325 ns 
BM_StableSort_uint32_Random_262144                 3628062 ns   16065414 ns 
BM_StableSort_uint32_Random_524288                10971334 ns   36567712 ns 
BM_StableSort_uint32_Random_1048576               22688377 ns   77533497 ns 
BM_StableSort_uint32_Ascending_1                      3.57 ns       3.44 ns 
BM_StableSort_uint32_Ascending_4                      5.73 ns       5.33 ns 
BM_StableSort_uint32_Ascending_16                     14.5 ns       14.0 ns 
BM_StableSort_uint32_Ascending_64                     50.3 ns       51.3 ns 
BM_StableSort_uint32_Ascending_256                     465 ns        467 ns 
BM_StableSort_uint32_Ascending_1024                   3042 ns       2530 ns 
BM_StableSort_uint32_Ascending_4096                   9842 ns      12207 ns 
BM_StableSort_uint32_Ascending_16384                 37994 ns      61726 ns 
BM_StableSort_uint32_Ascending_65536                148890 ns     294385 ns 
BM_StableSort_uint32_Ascending_262144               855080 ns    1422167 ns 
BM_StableSort_uint32_Ascending_524288              2154903 ns    3203018 ns 
BM_StableSort_uint32_Ascending_1048576             5002518 ns    7563817 ns 
BM_StableSort_uint32_Descending_1                     3.51 ns       3.40 ns 
BM_StableSort_uint32_Descending_4                     9.09 ns       7.95 ns 
BM_StableSort_uint32_Descending_16                    54.8 ns       74.4 ns 
BM_StableSort_uint32_Descending_64                    1003 ns       1305 ns 
BM_StableSort_uint32_Descending_256                   4545 ns       5300 ns 
BM_StableSort_uint32_Descending_1024                  4361 ns      21884 ns 
BM_StableSort_uint32_Descending_4096                 16018 ns      90534 ns 
BM_StableSort_uint32_Descending_16384               146274 ns     381943 ns 
BM_StableSort_uint32_Descending_65536               938248 ns    1536806 ns 
BM_StableSort_uint32_Descending_262144             3899300 ns    6387843 ns 
BM_StableSort_uint32_Descending_524288             5808157 ns   21959858 ns 
BM_StableSort_uint32_Descending_1048576           17520047 ns   26351912 ns 
BM_StableSort_uint32_SingleElement_1                  4.03 ns       3.97 ns 
BM_StableSort_uint32_SingleElement_4                  6.55 ns       6.41 ns 
BM_StableSort_uint32_SingleElement_16                 15.6 ns       15.8 ns 
BM_StableSort_uint32_SingleElement_64                 52.3 ns       58.7 ns 
BM_StableSort_uint32_SingleElement_256                 473 ns        485 ns 
BM_StableSort_uint32_SingleElement_1024               3020 ns       2407 ns 
BM_StableSort_uint32_SingleElement_4096               9998 ns      12527 ns 
BM_StableSort_uint32_SingleElement_16384             38072 ns      62228 ns 
BM_StableSort_uint32_SingleElement_65536            153706 ns     295662 ns 
BM_StableSort_uint32_SingleElement_262144           836532 ns    1477099 ns 
BM_StableSort_uint32_SingleElement_524288          2144900 ns    3157204 ns 
BM_StableSort_uint32_SingleElement_1048576         4995525 ns    7617233 ns 
BM_StableSort_uint32_PipeOrgan_1                      4.02 ns       3.99 ns 
BM_StableSort_uint32_PipeOrgan_4                      6.97 ns       6.84 ns 
BM_StableSort_uint32_PipeOrgan_16                     26.1 ns       29.7 ns 
BM_StableSort_uint32_PipeOrgan_64                      266 ns        333 ns 
BM_StableSort_uint32_PipeOrgan_256                    2462 ns       2892 ns 
BM_StableSort_uint32_PipeOrgan_1024                   4291 ns      12431 ns 
BM_StableSort_uint32_PipeOrgan_4096                  15638 ns      51449 ns 
BM_StableSort_uint32_PipeOrgan_16384                154563 ns     217460 ns 
BM_StableSort_uint32_PipeOrgan_65536                907724 ns     925873 ns 
BM_StableSort_uint32_PipeOrgan_262144              2394580 ns    4103575 ns 
BM_StableSort_uint32_PipeOrgan_524288              4177145 ns   13947158 ns 
BM_StableSort_uint32_PipeOrgan_1048576            11848224 ns   18807297 ns 
BM_StableSort_uint32_QuickSortAdversary_1             3.50 ns       3.43 ns 
BM_StableSort_uint32_QuickSortAdversary_4             5.88 ns       4.96 ns 
BM_StableSort_uint32_QuickSortAdversary_16            14.6 ns       14.0 ns 
BM_StableSort_uint32_QuickSortAdversary_64             576 ns        715 ns 
BM_StableSort_uint32_QuickSortAdversary_256           2353 ns       2797 ns 
BM_StableSort_uint32_QuickSortAdversary_1024          4176 ns      21775 ns 
BM_StableSort_uint32_QuickSortAdversary_4096         15565 ns      96188 ns 
BM_StableSort_uint32_QuickSortAdversary_16384       149092 ns     398332 ns 
BM_StableSort_uint32_QuickSortAdversary_65536       902488 ns    1552393 ns 
BM_StableSort_uint32_QuickSortAdversary_262144     3946517 ns    6560414 ns 
BM_StableSort_uint32_QuickSortAdversary_524288     6247114 ns   22420977 ns 
BM_StableSort_uint32_QuickSortAdversary_1048576   19892446 ns   26529576 ns 
BM_StableSort_int64_Random_1                          3.83 ns       3.98 ns 
BM_StableSort_int64_Random_4                          21.1 ns       24.0 ns 
BM_StableSort_int64_Random_16                          129 ns        136 ns 
BM_StableSort_int64_Random_64                          890 ns        906 ns 
BM_StableSort_int64_Random_256                        5542 ns       5901 ns 
BM_StableSort_int64_Random_1024                      16085 ns      33112 ns 
BM_StableSort_int64_Random_4096                      63895 ns     162181 ns 
BM_StableSort_int64_Random_16384                    348827 ns     790045 ns 
BM_StableSort_int64_Random_65536                   1488237 ns    3557506 ns 
BM_StableSort_int64_Random_262144                  8195713 ns   16315808 ns 
BM_StableSort_int64_Random_524288                 16586833 ns   38274075 ns 
BM_StableSort_int64_Random_1048576                40346644 ns   79182089 ns 
BM_StableSort_int64_Ascending_1                       3.76 ns       3.55 ns 
BM_StableSort_int64_Ascending_4                       5.82 ns       6.19 ns 
BM_StableSort_int64_Ascending_16                      11.7 ns       11.8 ns 
BM_StableSort_int64_Ascending_64                      32.9 ns       36.8 ns 
BM_StableSort_int64_Ascending_256                      415 ns        550 ns 
BM_StableSort_int64_Ascending_1024                    5352 ns       3347 ns 
BM_StableSort_int64_Ascending_4096                   17516 ns      19134 ns 
BM_StableSort_int64_Ascending_16384                  64147 ns      91099 ns 
BM_StableSort_int64_Ascending_65536                 322126 ns     434009 ns 
BM_StableSort_int64_Ascending_262144               1554669 ns    2057056 ns 
BM_StableSort_int64_Ascending_524288               3656527 ns    5016650 ns 
BM_StableSort_int64_Ascending_1048576             10469979 ns   12908613 ns 
BM_StableSort_int64_Descending_1                      4.09 ns       3.35 ns 
BM_StableSort_int64_Descending_4                      9.13 ns       8.01 ns 
BM_StableSort_int64_Descending_16                     76.8 ns       92.9 ns 
BM_StableSort_int64_Descending_64                     1336 ns       1417 ns 
BM_StableSort_int64_Descending_256                    5525 ns       5674 ns 
BM_StableSort_int64_Descending_1024                  17461 ns      22558 ns 
BM_StableSort_int64_Descending_4096                  64285 ns     102360 ns 
BM_StableSort_int64_Descending_16384                336946 ns     388940 ns 
BM_StableSort_int64_Descending_65536                837912 ns    1662169 ns 
BM_StableSort_int64_Descending_262144              3680806 ns    7494323 ns 
BM_StableSort_int64_Descending_524288             11023784 ns   24935033 ns 
BM_StableSort_int64_Descending_1048576            20023568 ns   33220712 ns 
BM_StableSort_int64_SingleElement_1                   3.37 ns       3.98 ns 
BM_StableSort_int64_SingleElement_4                   5.32 ns       6.92 ns 
BM_StableSort_int64_SingleElement_16                  10.9 ns       13.3 ns 
BM_StableSort_int64_SingleElement_64                  32.1 ns       43.8 ns 
BM_StableSort_int64_SingleElement_256                  420 ns        541 ns 
BM_StableSort_int64_SingleElement_1024                5689 ns       3381 ns 
BM_StableSort_int64_SingleElement_4096               19199 ns      17989 ns 
BM_StableSort_int64_SingleElement_16384              75754 ns      91963 ns 
BM_StableSort_int64_SingleElement_65536             357106 ns     500326 ns 
BM_StableSort_int64_SingleElement_262144           1672975 ns    2417734 ns 
BM_StableSort_int64_SingleElement_524288           3642891 ns    5200878 ns 
BM_StableSort_int64_SingleElement_1048576         11172007 ns   13729511 ns 
BM_StableSort_int64_PipeOrgan_1                       3.38 ns       3.94 ns 
BM_StableSort_int64_PipeOrgan_4                       5.73 ns       6.44 ns 
BM_StableSort_int64_PipeOrgan_16                      27.5 ns       29.0 ns 
BM_StableSort_int64_PipeOrgan_64                       310 ns        321 ns 
BM_StableSort_int64_PipeOrgan_256                     2761 ns       2918 ns 
BM_StableSort_int64_PipeOrgan_1024                   16105 ns      12525 ns 
BM_StableSort_int64_PipeOrgan_4096                   65289 ns      59990 ns 
BM_StableSort_int64_PipeOrgan_16384                 341757 ns     270636 ns 
BM_StableSort_int64_PipeOrgan_65536                 587452 ns    1126132 ns 
BM_StableSort_int64_PipeOrgan_262144               2837955 ns    5034180 ns 
BM_StableSort_int64_PipeOrgan_524288               6617313 ns   15267354 ns 
BM_StableSort_int64_PipeOrgan_1048576             15208796 ns   23162989 ns 
BM_StableSort_int64_QuickSortAdversary_1              3.77 ns       3.45 ns 
BM_StableSort_int64_QuickSortAdversary_4              5.55 ns       5.20 ns 
BM_StableSort_int64_QuickSortAdversary_16             12.5 ns       11.5 ns 
BM_StableSort_int64_QuickSortAdversary_64              646 ns        750 ns 
BM_StableSort_int64_QuickSortAdversary_256            2655 ns       3539 ns 
BM_StableSort_int64_QuickSortAdversary_1024          16373 ns      22349 ns 
BM_StableSort_int64_QuickSortAdversary_4096          62306 ns      97248 ns 
BM_StableSort_int64_QuickSortAdversary_16384        321755 ns     388084 ns 
BM_StableSort_int64_QuickSortAdversary_65536       1374694 ns    1596091 ns 
BM_StableSort_int64_QuickSortAdversary_262144      4374661 ns    6894139 ns 
BM_StableSort_int64_QuickSortAdversary_524288     12736074 ns   23932229 ns 
BM_StableSort_int64_QuickSortAdversary_1048576    22615219 ns   33355629 ns 
BM_StableSort_uint64_Random_1                         3.82 ns       3.49 ns 
BM_StableSort_uint64_Random_4                         22.4 ns       23.4 ns 
BM_StableSort_uint64_Random_16                         154 ns        146 ns 
BM_StableSort_uint64_Random_64                         924 ns        926 ns 
BM_StableSort_uint64_Random_256                       5864 ns       5913 ns 
BM_StableSort_uint64_Random_1024                      7168 ns      31746 ns 
BM_StableSort_uint64_Random_4096                     27668 ns     154224 ns 
BM_StableSort_uint64_Random_16384                   219526 ns     755205 ns 
BM_StableSort_uint64_Random_65536                   965251 ns    3490165 ns 
BM_StableSort_uint64_Random_262144                 6262162 ns   15889589 ns 
BM_StableSort_uint64_Random_524288                12530078 ns   36458581 ns 
BM_StableSort_uint64_Random_1048576               38462191 ns   75168445 ns 
BM_StableSort_uint64_Ascending_1                      3.30 ns       3.35 ns 
BM_StableSort_uint64_Ascending_4                      5.65 ns       5.84 ns 
BM_StableSort_uint64_Ascending_16                     14.7 ns       12.6 ns 
BM_StableSort_uint64_Ascending_64                     55.3 ns       34.6 ns 
BM_StableSort_uint64_Ascending_256                     513 ns        533 ns 
BM_StableSort_uint64_Ascending_1024                   5541 ns       3189 ns 
BM_StableSort_uint64_Ascending_4096                  17706 ns      20326 ns 
BM_StableSort_uint64_Ascending_16384                 66420 ns      93757 ns 
BM_StableSort_uint64_Ascending_65536                341425 ns     435016 ns 
BM_StableSort_uint64_Ascending_262144              1595691 ns    2088317 ns 
BM_StableSort_uint64_Ascending_524288              3808703 ns    5092832 ns 
BM_StableSort_uint64_Ascending_1048576            11060417 ns   13023250 ns 
BM_StableSort_uint64_Descending_1                     3.29 ns       3.35 ns 
BM_StableSort_uint64_Descending_4                     8.65 ns       7.92 ns 
BM_StableSort_uint64_Descending_16                    54.7 ns       80.2 ns 
BM_StableSort_uint64_Descending_64                    1028 ns       1307 ns 
BM_StableSort_uint64_Descending_256                   4521 ns       5635 ns 
BM_StableSort_uint64_Descending_1024                  7122 ns      23323 ns 
BM_StableSort_uint64_Descending_4096                 30538 ns      95892 ns 
BM_StableSort_uint64_Descending_16384               195565 ns     392721 ns 
BM_StableSort_uint64_Descending_65536               852002 ns    1720358 ns 
BM_StableSort_uint64_Descending_262144             3737884 ns    7484130 ns 
BM_StableSort_uint64_Descending_524288            11159345 ns   25690770 ns 
BM_StableSort_uint64_Descending_1048576           20648864 ns   33057383 ns 
BM_StableSort_uint64_SingleElement_1                  3.62 ns       4.10 ns 
BM_StableSort_uint64_SingleElement_4                  6.73 ns       6.64 ns 
BM_StableSort_uint64_SingleElement_16                 14.9 ns       11.3 ns 
BM_StableSort_uint64_SingleElement_64                 52.0 ns       33.0 ns 
BM_StableSort_uint64_SingleElement_256                 511 ns        582 ns 
BM_StableSort_uint64_SingleElement_1024               6499 ns       3287 ns 
BM_StableSort_uint64_SingleElement_4096              22190 ns      17616 ns 
BM_StableSort_uint64_SingleElement_16384             84378 ns      86885 ns 
BM_StableSort_uint64_SingleElement_65536            466257 ns     457144 ns 
BM_StableSort_uint64_SingleElement_262144          1993687 ns    2361999 ns 
BM_StableSort_uint64_SingleElement_524288          4759565 ns    5096771 ns 
BM_StableSort_uint64_SingleElement_1048576        12426111 ns   13468453 ns 
BM_StableSort_uint64_PipeOrgan_1                      3.73 ns       3.94 ns 
BM_StableSort_uint64_PipeOrgan_4                      7.18 ns       7.54 ns 
BM_StableSort_uint64_PipeOrgan_16                     25.2 ns       29.1 ns 
BM_StableSort_uint64_PipeOrgan_64                      260 ns        321 ns 
BM_StableSort_uint64_PipeOrgan_256                    2468 ns       2970 ns 
BM_StableSort_uint64_PipeOrgan_1024                   7025 ns      12912 ns 
BM_StableSort_uint64_PipeOrgan_4096                  28968 ns      53379 ns 
BM_StableSort_uint64_PipeOrgan_16384                194156 ns     239790 ns 
BM_StableSort_uint64_PipeOrgan_65536                599491 ns     993800 ns 
BM_StableSort_uint64_PipeOrgan_262144              2648585 ns    4689680 ns 
BM_StableSort_uint64_PipeOrgan_524288              7621109 ns   15401808 ns 
BM_StableSort_uint64_PipeOrgan_1048576            15608814 ns   23484821 ns 
BM_StableSort_uint64_QuickSortAdversary_1             3.38 ns       3.54 ns 
BM_StableSort_uint64_QuickSortAdversary_4             5.50 ns       6.03 ns 
BM_StableSort_uint64_QuickSortAdversary_16            14.2 ns       11.0 ns 
BM_StableSort_uint64_QuickSortAdversary_64             597 ns        688 ns 
BM_StableSort_uint64_QuickSortAdversary_256           2446 ns       2818 ns 
BM_StableSort_uint64_QuickSortAdversary_1024          7266 ns      20319 ns 
BM_StableSort_uint64_QuickSortAdversary_4096         31155 ns      89112 ns 
BM_StableSort_uint64_QuickSortAdversary_16384       201033 ns     390574 ns 
BM_StableSort_uint64_QuickSortAdversary_65536       871014 ns    1685639 ns 
BM_StableSort_uint64_QuickSortAdversary_262144     3978535 ns    7265830 ns 
BM_StableSort_uint64_QuickSortAdversary_524288    10279721 ns   25350004 ns 
BM_StableSort_uint64_QuickSortAdversary_1048576   20256585 ns   33054393 ns 
```


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

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

  Log Message:
  -----------
  [gn build] Port 69b54c1a05c0


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

  Changed paths:
    M clang/include/clang/Basic/Builtins.td
    M clang/lib/CodeGen/CGBuiltin.cpp
    M clang/lib/CodeGen/CGHLSLRuntime.h
    M clang/lib/Headers/hlsl/hlsl_detail.h
    M clang/lib/Headers/hlsl/hlsl_intrinsics.h
    M clang/lib/Sema/SemaHLSL.cpp
    M clang/test/CodeGenHLSL/builtins/length.hlsl
    M clang/test/SemaHLSL/BuiltIns/length-errors.hlsl
    M llvm/include/llvm/IR/IntrinsicsDirectX.td
    M llvm/lib/Target/DirectX/DXILIntrinsicExpansion.cpp
    R llvm/test/CodeGen/DirectX/length.ll
    R llvm/test/CodeGen/DirectX/length_error.ll
    R llvm/test/CodeGen/DirectX/length_invalid_intrinsic_error.ll
    R llvm/test/CodeGen/DirectX/length_invalid_intrinsic_error_scalar.ll

  Log Message:
  -----------
  [HLSL] Move length support out of the DirectX Backend  (#121611)

## Changes
- Delete DirectX length intrinsic
- Delete HLSL length lang builtin
- Implement length algorithm entirely in the header.

## History
- In the past if an HLSL intrinsic lowered to either a spirv op code or
a DXIL opcode we represented it with intrinsics

## Why we are moving away?
- To make HLSL apis more portable the team decided that it makes sense
for some intrinsics to be defined only in the header.
- Since there tends to be more SPIRV opcodes than DXIL opcodes the plan
is to support SPIRV opcodes either with target specific builtins or via
pattern matching.


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

  Changed paths:
    M llvm/lib/Analysis/Loads.cpp
    M llvm/test/Transforms/LoopVectorize/dereferenceable-info-from-assumption-constant-size.ll

  Log Message:
  -----------
  [Loads] Also consider getPointerAlignment when checking assumptions. (#120916)

Also use getPointerAlignment when trying to use alignment and
dereferenceable assumptions. This catches cases where dereferencable is
known via the assumption but alignment is known via getPointerAlignment
(e.g. via argument attribute or align of 1)

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


  Commit: 6beaa4552686685e93e31dcb6275e18c4c17acd9
      https://github.com/llvm/llvm-project/commit/6beaa4552686685e93e31dcb6275e18c4c17acd9
  Author: Michael Maitland <michaeltmaitland at gmail.com>
  Date:   2025-01-09 (Thu, 09 Jan 2025)

  Changed paths:
    M llvm/test/CodeGen/RISCV/rvv/vl-opt-op-info.mir

  Log Message:
  -----------
  [RISCV][VLOPT] Fix VCFCT incompatible EEW test (#122327)

https://github.com/llvm/llvm-project/pull/122151 added this test with an
invalid SEW. Use a valid SEW here.


  Commit: cbcb7ad32e6faca1f4c0f2f436e6076774104e17
      https://github.com/llvm/llvm-project/commit/cbcb7ad32e6faca1f4c0f2f436e6076774104e17
  Author: Razvan Lupusoru <razvan.lupusoru at gmail.com>
  Date:   2025-01-09 (Thu, 09 Jan 2025)

  Changed paths:
    M mlir/docs/Dialects/OpenACCDialect.md
    M mlir/include/mlir/Dialect/OpenACC/OpenACC.h
    M mlir/include/mlir/Dialect/OpenACC/OpenACCOps.td
    M mlir/include/mlir/Dialect/OpenACC/OpenACCTypeInterfaces.td
    M mlir/lib/Dialect/OpenACC/IR/OpenACC.cpp
    M mlir/unittests/Dialect/OpenACC/OpenACCOpsTest.cpp

  Log Message:
  -----------
  [mlir][acc] Introduce MappableType interface (#122146)

OpenACC data clause operations previously required that the variable
operand implemented PointerLikeType interface. This was a reasonable
constraint because the dialects currently mixed with `acc` do use
pointers to represent variables. However, this forces the "pointer"
abstraction to be exposed too early and some cases are not cleanly
representable through this approach (more specifically FIR's `fix.box`
abstraction).

Thus, relax this by allowing a variable to be a type which implements
either `PointerLikeType` interface or `MappableType` interface.


  Commit: d5145715f7e0866fe6526f9f09558dd698344d52
      https://github.com/llvm/llvm-project/commit/d5145715f7e0866fe6526f9f09558dd698344d52
  Author: Michael Maitland <michaeltmaitland at gmail.com>
  Date:   2025-01-09 (Thu, 09 Jan 2025)

  Changed paths:
    M llvm/lib/Target/RISCV/RISCVVLOptimizer.cpp
    M llvm/test/CodeGen/RISCV/rvv/vl-opt-op-info.mir

  Log Message:
  -----------
  [RISCV][VLOPT] Add vfirst and vcpop to getOperandInfo (#122295)


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

  Changed paths:
    M flang/CMakeLists.txt

  Log Message:
  -----------
  [flang] Fix finding system install of LLVM/Clang/MLIR in standalone builds (#120914)

The changes in #87822 introduced a regression where Flang could no
longer be built standalone without explicitly specifying all of
LLVM_DIR, CLANG_DIR and MLIR_DIR. Restore the earlier logic that used
these paths as hints, and supported finding system-wide LLVM install via
default paths. Instead, make paths absolute after locating the packages,
using the paths CMake determined.

-----

@vzakhari, could you confirm that this doesn't break your use case?


  Commit: 3ba46ddb7994c4fa63d3d34166b6f3dedb07a184
      https://github.com/llvm/llvm-project/commit/3ba46ddb7994c4fa63d3d34166b6f3dedb07a184
  Author: Brox Chen <guochen2 at amd.com>
  Date:   2025-01-09 (Thu, 09 Jan 2025)

  Changed paths:
    A llvm/test/MC/AMDGPU/gfx12_asm_vop3c_dpp16-fake16.s
    M llvm/test/MC/AMDGPU/gfx12_asm_vop3c_dpp16.s
    A llvm/test/MC/AMDGPU/gfx12_asm_vop3c_dpp8-fake16.s
    M llvm/test/MC/AMDGPU/gfx12_asm_vop3c_dpp8.s
    A llvm/test/MC/AMDGPU/gfx12_asm_vop3cx-fake16.s
    M llvm/test/MC/AMDGPU/gfx12_asm_vop3cx.s
    A llvm/test/MC/AMDGPU/gfx12_asm_vop3cx_dpp16-fake16.s
    M llvm/test/MC/AMDGPU/gfx12_asm_vop3cx_dpp16.s
    A llvm/test/MC/AMDGPU/gfx12_asm_vop3cx_dpp8-fake16.s
    M llvm/test/MC/AMDGPU/gfx12_asm_vop3cx_dpp8.s

  Log Message:
  -----------
  [AMDGPU][True16][MC][NFC] add true16/fake16 test for gfx12 vop3c/3cx (#122316)

This is a NFC. Duplicate mc test file for gfx12 vop3c/vop3cx to
true16/fake16 mode and update it with +real-true16/-real-true16 flag.

This is for the upcoming true16 changes


  Commit: 222ff186087f0f1d9976ac2512dca52d90e13472
      https://github.com/llvm/llvm-project/commit/222ff186087f0f1d9976ac2512dca52d90e13472
  Author: Brox Chen <guochen2 at amd.com>
  Date:   2025-01-09 (Thu, 09 Jan 2025)

  Changed paths:
    M llvm/lib/Target/AMDGPU/SIInstructions.td
    M llvm/test/CodeGen/AMDGPU/fmed3.ll

  Log Message:
  -----------
  [AMDGPU][True16][CodeGen] Update codegen pattern for v_med3_f16 (#121992)

true16 codegen pattern for v_med3_f16


  Commit: 031f33cca3c953dd09ac439fdb503fb3cb36af5e
      https://github.com/llvm/llvm-project/commit/031f33cca3c953dd09ac439fdb503fb3cb36af5e
  Author: Philip Reames <preames at rivosinc.com>
  Date:   2025-01-09 (Thu, 09 Jan 2025)

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

  Log Message:
  -----------
  [RISCV] Add tests for legalization of <N x i128> and <N x i256> shuffles


  Commit: c036a9a2c2130f6e80e2969d4a8fad96265e4a11
      https://github.com/llvm/llvm-project/commit/c036a9a2c2130f6e80e2969d4a8fad96265e4a11
  Author: Michael Maitland <michaeltmaitland at gmail.com>
  Date:   2025-01-09 (Thu, 09 Jan 2025)

  Changed paths:
    M llvm/lib/Target/RISCV/RISCVVLOptimizer.cpp
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-fp.ll
    M llvm/test/CodeGen/RISCV/rvv/vl-opt-instrs.ll

  Log Message:
  -----------
  [RISCV][VLOPT] Add vector single width floating point add subtract instructions to isSupportedInstr


  Commit: 8beb9d393deaafde5ce7323a71cd0b0b1553444d
      https://github.com/llvm/llvm-project/commit/8beb9d393deaafde5ce7323a71cd0b0b1553444d
  Author: Michael Maitland <michaeltmaitland at gmail.com>
  Date:   2025-01-09 (Thu, 09 Jan 2025)

  Changed paths:
    M llvm/lib/Target/RISCV/RISCVVLOptimizer.cpp
    M llvm/test/CodeGen/RISCV/rvv/vl-opt-instrs.ll

  Log Message:
  -----------
  [RISCV][VLOPT] Add vector widening floating point add subtract instructions to isSupportedInstr


  Commit: a484fa1d0a974680d609d3f08ee6d57c9e3d21f8
      https://github.com/llvm/llvm-project/commit/a484fa1d0a974680d609d3f08ee6d57c9e3d21f8
  Author: Michael Maitland <michaeltmaitland at gmail.com>
  Date:   2025-01-09 (Thu, 09 Jan 2025)

  Changed paths:
    M llvm/lib/Target/RISCV/RISCVVLOptimizer.cpp
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-fp.ll
    M llvm/test/CodeGen/RISCV/rvv/vl-opt-instrs.ll

  Log Message:
  -----------
  [RISCV][VLOPT] Add floating point multiply divide instructions to getSupportedInstr


  Commit: b419edeec34844cfc31665248d670d777499340d
      https://github.com/llvm/llvm-project/commit/b419edeec34844cfc31665248d670d777499340d
  Author: Michael Maitland <michaeltmaitland at gmail.com>
  Date:   2025-01-09 (Thu, 09 Jan 2025)

  Changed paths:
    M llvm/lib/Target/RISCV/RISCVVLOptimizer.cpp
    M llvm/test/CodeGen/RISCV/rvv/vl-opt-instrs.ll

  Log Message:
  -----------
  [RISCV][VLOPT] Add widening floating point multiply to isSupportedInstr


  Commit: 5f70fea79fdb947ab7820aa47e5a1885691ef73a
      https://github.com/llvm/llvm-project/commit/5f70fea79fdb947ab7820aa47e5a1885691ef73a
  Author: Michael Maitland <michaeltmaitland at gmail.com>
  Date:   2025-01-09 (Thu, 09 Jan 2025)

  Changed paths:
    M llvm/lib/Target/RISCV/RISCVVLOptimizer.cpp
    M llvm/test/CodeGen/RISCV/rvv/vl-opt-instrs.ll

  Log Message:
  -----------
  [RISCV][VLOPT] Add Vector Floating-Point Compare Instructions to getSupportedInstr


  Commit: ca10deaa72c37fb5eee8bf1c95466b12a8773e95
      https://github.com/llvm/llvm-project/commit/ca10deaa72c37fb5eee8bf1c95466b12a8773e95
  Author: Kai Nacke <kai.peter.nacke at ibm.com>
  Date:   2025-01-09 (Thu, 09 Jan 2025)

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

  Log Message:
  -----------
  [z/OS] Add backtrace support for z/OS. (#121826)

The system call `__CELQTBCK()` is used to build a backtrace like
on other systems. The collected information are the address of the PC,
the address of the entry point (EP), the difference between both
addresses (+EP), the dynamic storage area (DSA aka the stack
pointer), and the function name.
The system call is described here:

https://www.ibm.com/docs/en/zos/3.1.0?topic=cwicsa6a-celqtbck-also-known-as-celqtbck-64-bit-traceback-service


  Commit: c123d0c1df3363f309a2c0b7837297d3790d6ea5
      https://github.com/llvm/llvm-project/commit/c123d0c1df3363f309a2c0b7837297d3790d6ea5
  Author: Helena Kotas <hekotas at microsoft.com>
  Date:   2025-01-09 (Thu, 09 Jan 2025)

  Changed paths:
    M clang/include/clang/Basic/Attr.td
    M clang/lib/Sema/SemaHLSL.cpp

  Log Message:
  -----------
  [HLSL][NFC] Move packoffset validation to separate function and calculate offsets in bytes (#121989)

There will be more changes coming in to `SemaHLSL::ActOnFinishBuffer` so
it would be good to move the packoffset validation out to a separate
function. This change also unifies the units for cbuffer offset
calculations to bytes.


  Commit: 1c999072221371c9008cd0aec80e387777378de0
      https://github.com/llvm/llvm-project/commit/1c999072221371c9008cd0aec80e387777378de0
  Author: Yaxun (Sam) Liu <yaxun.liu at amd.com>
  Date:   2025-01-09 (Thu, 09 Jan 2025)

  Changed paths:
    M clang/docs/ReleaseNotes.rst
    M clang/lib/Sema/SemaOverload.cpp
    A clang/test/SemaCUDA/constexpr-virtual-func.cu

  Log Message:
  -----------
  [CUDA][HIP] Fix overriding of constexpr virtual function (#121986)

In C++20 constexpr virtual function is allowed. In C++17 although
non-pure virtual function is not allowed to be constexpr, pure virtual
function is allowed to be constexpr and is allowed to be overriden by
non-constexpr virtual function in the derived class.

The following code compiles as C++:

```
class A
{
public:
    constexpr virtual int f() = 0;
};

class B : public A
{
public:
    int f() override
    {
        return 42;
    }
};
```

However, it fails to compile as CUDA or HIP code. The reason: A::f() is
implicitly host device function whereas B::f() is a host function. Since
they have different targets, clang does not treat B::f() as an override
of A::f(). Instead, it treats B::f() as a name-hiding non-virtual
function for A::f(), and diagnoses it.

This causes any CUDA/HIP program using C++ standard header file
`<format>` from g++-13 to fail to compile since such usage patten show
up there:

```
/usr/lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/format:3564:34: error: non-virtual member function marked 'override' hides virtual member function
 3564 |       _M_format_arg(size_t __id) override
      |                                  ^
/usr/lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/format:3538:30: note: hidden overloaded virtual function 'std::__format::_Scanner<char>::_M_format_arg' declared here
 3538 |       constexpr virtual void _M_format_arg(size_t __id) = 0;
      |                              ^
```

This is a serious issue and there is no workaround.

This patch allows non-constexpr function to override constexpr virtual
function for CUDA and HIP. This should be OK since non-constexpr
function without explicit host or device attribute can only be called in
host functions.

Fixes: SWDEV-507350


  Commit: 9ec92873ecc1c268a1d05e36b7b52e378860ea5b
      https://github.com/llvm/llvm-project/commit/9ec92873ecc1c268a1d05e36b7b52e378860ea5b
  Author: Nico Weber <thakis at chromium.org>
  Date:   2025-01-09 (Thu, 09 Jan 2025)

  Changed paths:
    M clang/include/clang/Basic/Builtins.td
    M clang/lib/CodeGen/CGBuiltin.cpp
    M clang/lib/CodeGen/CGHLSLRuntime.h
    M clang/lib/Headers/hlsl/hlsl_detail.h
    M clang/lib/Headers/hlsl/hlsl_intrinsics.h
    M clang/lib/Sema/SemaHLSL.cpp
    M clang/test/CodeGenHLSL/builtins/length.hlsl
    M clang/test/SemaHLSL/BuiltIns/length-errors.hlsl
    M llvm/include/llvm/IR/IntrinsicsDirectX.td
    M llvm/lib/Target/DirectX/DXILIntrinsicExpansion.cpp
    A llvm/test/CodeGen/DirectX/length.ll
    A llvm/test/CodeGen/DirectX/length_error.ll
    A llvm/test/CodeGen/DirectX/length_invalid_intrinsic_error.ll
    A llvm/test/CodeGen/DirectX/length_invalid_intrinsic_error_scalar.ll

  Log Message:
  -----------
  Revert "[HLSL] Move length support out of the DirectX Backend  (#121611)"

This reverts commit a6b7181733c83523a39d4f4e788c6b7a227d477d.
Breaks Clang :: CodeGenHLSL/builtins/length.hlsl, see
https://github.com/llvm/llvm-project/pull/121611#issuecomment-2581004278


  Commit: 26aa20a3dd82e2ff5855bee04b22b35f6b1f026f
      https://github.com/llvm/llvm-project/commit/26aa20a3dd82e2ff5855bee04b22b35f6b1f026f
  Author: Reid Kleckner <rnk at google.com>
  Date:   2025-01-09 (Thu, 09 Jan 2025)

  Changed paths:
    M clang/include/clang/AST/Decl.h
    M clang/lib/AST/Decl.cpp
    M clang/lib/AST/RecordLayoutBuilder.cpp
    M clang/lib/CodeGen/CGRecordLayoutBuilder.cpp

  Log Message:
  -----------
  Use range-based for to iterate over fields in record layout, NFCI (#122029)

Move the common case of FieldDecl::getFieldIndex() inline to mitigate
the cost of removing the extra `FieldNo` induction variable.

Also rename isNoUniqueAddress parameter to isNonVirtualBaseType, which
appears to be more accurate. I think the current name is just a
consequence of autocomplete gone wrong.


  Commit: 5ff36748cfeee1d02da6512ad578e4014724f67e
      https://github.com/llvm/llvm-project/commit/5ff36748cfeee1d02da6512ad578e4014724f67e
  Author: Alexey Bataev <a.bataev at outlook.com>
  Date:   2025-01-09 (Thu, 09 Jan 2025)

  Changed paths:
    M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
    A llvm/test/Transforms/SLPVectorizer/X86/shuffle-mask-emission.ll

  Log Message:
  -----------
  [SLP]Fix mask processing for reused gathered scalars

Need to sync the mask between cost and actual emission to avoid bugs in
mask calculation

Fixes #122324


  Commit: 1842a3d833d934793012c717e98b10d51193fd0d
      https://github.com/llvm/llvm-project/commit/1842a3d833d934793012c717e98b10d51193fd0d
  Author: Paul Bowen-Huggett <paulhuggett at mac.com>
  Date:   2025-01-09 (Thu, 09 Jan 2025)

  Changed paths:
    M clang/cmake/modules/AddClang.cmake

  Log Message:
  -----------
  Fix a cmake error when using the Xcode generator. (#119403)

I’m seeing a series of errors when trying to run the cmake configure
step on macOS when the cmake generator is set to Xcode. All is well if I
use the Ninja or Unix Makefile generators. Messages are all of the form:
~~~
CMake Error at …llvm-project/clang/cmake/modules/AddClang.cmake:120
(target_compile_definitions):
  Cannot specify compile definitions for target "obj.clangBasic" which
  is not built by this project.
Call Stack (most recent call first):
  …llvm-project/clang/lib/Basic/CMakeLists.txt:57 (add_clang_library)
~~~
The remaining errors are similar but mention targets obj.clangAPINotes,
obj.clangLex, obj.clangParse, and so on.

The regression appears to have been introduced by commit 09fa2f012fcc
(Oct 14 2024) which added the code in this area.

My proposed solution is simply to add a test to ensure that the obj.x
target exists before setting its compile definitions. There is precedent
doing just this in both clang/cmake/modules/AddClang.cmake and
clang/lib/support/CMakeLists.txt as well as in the “MSVC AND NOT
CLANG_LINK_CLANG_DYLIB” path immediately above the offending line.

I’ve also made a couple of grammatical tweaks in the comments
surrounding this code.

In case it's relevant, the cmake settings and definitions I've used to
trigger these errors is:
~~~bash
GENERATOR="Xcode"
OUTDIR=build_macos
cmake \
-S "$SCRIPT_DIR/llvm" \
-B "$SCRIPT_DIR/$OUTDIR" \
-G "$GENERATOR" \
-D CMAKE_BUILD_TYPE=Release \
-D CMAKE_OSX_ARCHITECTURES=arm64 \
-D LLVM_PARALLEL_LINK_JOBS=1 \
-D LLVM_ENABLE_PROJECTS="clang;lld" \
-D LLVM_TARGETS_TO_BUILD=RISCV \
-D LLVM_DEFAULT_TARGET_TRIPLE=riscv32-unknown-elf \
-D LLVM_OPTIMIZED_TABLEGEN=Yes
~~~
(cmake v3.31.1, Xcode 16.1. I know that not all of these variables are
useful for the Xcode generator!)

Co-authored-by: Paul Bowen-Huggett <phuggett at keysom.io>


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

  Changed paths:
    M libcxx/docs/ReleaseNotes/20.rst

  Log Message:
  -----------
  [libc++][NFC] Remove trailing whitespace from release notes


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

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

  Log Message:
  -----------
  [RISCV] Return MILog2SEW for mask instructions getOperandLog2EEW. NFC (#122332)

The SEW operand for these instructions should have a value of 0. This
matches what was done for vcpop/vfirst.


  Commit: 876841b0e2aea4ae8dac58842242e311b8aef432
      https://github.com/llvm/llvm-project/commit/876841b0e2aea4ae8dac58842242e311b8aef432
  Author: Heejin Ahn <aheejin at gmail.com>
  Date:   2025-01-09 (Thu, 09 Jan 2025)

  Changed paths:
    M llvm/docs/ReleaseNotes.md

  Log Message:
  -----------
  [WebAssembly] Format WebAssembly ReleaseNote entries (#122203)


  Commit: 1b897f737df2097f8fee1b203676ea7f01dff06d
      https://github.com/llvm/llvm-project/commit/1b897f737df2097f8fee1b203676ea7f01dff06d
  Author: Maksim Ivanov <emaxx at google.com>
  Date:   2025-01-09 (Thu, 09 Jan 2025)

  Changed paths:
    M clang-tools-extra/clang-tidy/misc/UnusedParametersCheck.cpp
    M clang-tools-extra/test/clang-tidy/checkers/misc/unused-parameters.cpp

  Log Message:
  -----------
  [clang-tidy] Fix misc-unused-parameters on params with attrs (#122286)

Don't suggest to comment-out the parameter name if the parameter has an
attribute that's spelled after the parameter name.

This prevents the parameter's attributes from being wrongly applied to
the parameter's type.

This fixes #122191.


  Commit: 0aa831e0edb1c1deabb96ce2435667cc82bac79b
      https://github.com/llvm/llvm-project/commit/0aa831e0edb1c1deabb96ce2435667cc82bac79b
  Author: Krzysztof Drewniak <Krzysztof.Drewniak at amd.com>
  Date:   2025-01-09 (Thu, 09 Jan 2025)

  Changed paths:
    A mlir/include/mlir/Dialect/GPU/IR/ValueBoundsOpInterfaceImpl.h
    M mlir/include/mlir/InitAllDialects.h
    M mlir/lib/Dialect/GPU/CMakeLists.txt
    M mlir/lib/Dialect/GPU/IR/GPUDialect.cpp
    A mlir/lib/Dialect/GPU/IR/ValueBoundsOpInterfaceImpl.cpp
    M mlir/test/Dialect/Affine/value-bounds-op-interface-impl.mlir
    M mlir/test/Dialect/Affine/value-bounds-reification.mlir
    M mlir/test/Dialect/Arith/value-bounds-op-interface-impl.mlir
    A mlir/test/Dialect/GPU/value-bounds-op-interface-impl.mlir
    M mlir/test/Dialect/Linalg/value-bounds-op-interface-impl.mlir
    M mlir/test/Dialect/MemRef/value-bounds-op-interface-impl.mlir
    M mlir/test/Dialect/SCF/value-bounds-op-interface-impl.mlir
    M mlir/test/Dialect/Tensor/value-bounds-op-interface-impl.mlir
    M mlir/test/Dialect/Vector/test-scalable-bounds.mlir
    M mlir/test/Dialect/Vector/value-bounds-op-interface-impl.mlir
    M mlir/test/lib/Dialect/Affine/TestReifyValueBounds.cpp

  Log Message:
  -----------
  [mlir][GPU] Implement ValueBoundsOpInterface for GPU ID operations (#122190)

The GPU ID operations already implement InferIntRangeInterface, which
gives constant lower and upper bounds on those IDs when appropriate
metadata is prentent on the operations or in the surrounding context.

This commit uses that existing code to implement the
ValueBoundsOpInterface, which is used when analyzing affine operations
(unlike the integer range interface, which is used for arithmetic
optimization).

It also implements the interface for gpu.launch, where we can use it to
express the constraint that block/grid sizes are equal to their value
from outside the launch op and that the corresponding IDs are bounded
above by that size.

As a consequence, the test pass for this inference is updated to work on
a FunctionOpInterface and not a func.func, creating minor churn in other
tests.


  Commit: 6312beef788a209dc7d73c2c10b36197dab1cff3
      https://github.com/llvm/llvm-project/commit/6312beef788a209dc7d73c2c10b36197dab1cff3
  Author: vporpo <vporpodas at google.com>
  Date:   2025-01-09 (Thu, 09 Jan 2025)

  Changed paths:
    M llvm/include/llvm/SandboxIR/Pass.h
    M llvm/include/llvm/SandboxIR/Utils.h
    M llvm/include/llvm/Transforms/Vectorize/SandboxVectorizer/Legality.h
    M llvm/include/llvm/Transforms/Vectorize/SandboxVectorizer/Scheduler.h
    M llvm/include/llvm/Transforms/Vectorize/SandboxVectorizer/SeedCollector.h
    M llvm/include/llvm/Transforms/Vectorize/SandboxVectorizer/VecUtils.h
    M llvm/lib/Transforms/Vectorize/SandboxVectorizer/Passes/BottomUpVec.cpp
    M llvm/lib/Transforms/Vectorize/SandboxVectorizer/SandboxVectorizer.cpp
    M llvm/lib/Transforms/Vectorize/SandboxVectorizer/SeedCollector.cpp
    M llvm/test/Transforms/SandboxVectorizer/bottomup_basic.ll
    A llvm/test/Transforms/SandboxVectorizer/bottomup_seed_slice.ll
    A llvm/test/Transforms/SandboxVectorizer/bottomup_seed_slice_pow2.ll
    M llvm/unittests/Transforms/Vectorize/SandboxVectorizer/VecUtilsTest.cpp

  Log Message:
  -----------
  [SandboxVec][BottomUpVec] Use SeedCollector and slice seeds (#120826)

With this patch we switch from the temporary dummy seeds to actual seeds
provided by the seed collector.
The seeds get sliced and each slice is used as the starting point for
vectorization.


  Commit: 1739ba9bb5b5e0b2f3c7b381f7852b77a53ef3ba
      https://github.com/llvm/llvm-project/commit/1739ba9bb5b5e0b2f3c7b381f7852b77a53ef3ba
  Author: Johannes Doerfert <johannes at jdoerfert.de>
  Date:   2025-01-09 (Thu, 09 Jan 2025)

  Changed paths:
    M offload/test/sanitizer/kernel_crash_async.c

  Log Message:
  -----------
  [OpenMP][FIX] Adjust test to be non-flaky (#122331)

The test runs asynchronous kernels and depending on the timing the
output is slightly different. We now only check for the common parts of
the output.


  Commit: b57c0bac81fe4f5c85c6554ca574cf2d5648e0c5
      https://github.com/llvm/llvm-project/commit/b57c0bac81fe4f5c85c6554ca574cf2d5648e0c5
  Author: Joseph Huber <huberjn at outlook.com>
  Date:   2025-01-09 (Thu, 09 Jan 2025)

  Changed paths:
    M offload/DeviceRTL/CMakeLists.txt
    M offload/DeviceRTL/include/DeviceUtils.h
    M offload/DeviceRTL/include/Synchronization.h
    M offload/DeviceRTL/src/Synchronization.cpp

  Log Message:
  -----------
  [OpenMP] Update atomic helpers to just use headers (#122185)

Summary:
Previously we had some indirection here, this patch updates these
utilities to just be normal template functions. We use SFINAE to manage
the special case handling for floats. Also this strips address spaces so
it can be used more generally.


  Commit: f53cb84df6b80458cb4d5ab7398a590356a3a952
      https://github.com/llvm/llvm-project/commit/f53cb84df6b80458cb4d5ab7398a590356a3a952
  Author: Joseph Huber <huberjn at outlook.com>
  Date:   2025-01-09 (Thu, 09 Jan 2025)

  Changed paths:
    M offload/DeviceRTL/include/DeviceUtils.h
    M offload/DeviceRTL/include/Synchronization.h
    M offload/DeviceRTL/src/Mapping.cpp
    M offload/include/Shared/Utils.h

  Log Message:
  -----------
  [OpenMP] Use __builtin_bit_cast instead of UB type punning (#122325)

Summary:
Use a normal bitcast, remove from the shared utils since it's not
available in
GCC 7.4


  Commit: 3055e86c719c6cc72e50bb74a0e3b9cffebb41b5
      https://github.com/llvm/llvm-project/commit/3055e86c719c6cc72e50bb74a0e3b9cffebb41b5
  Author: Teresa Johnson <tejohnson at google.com>
  Date:   2025-01-09 (Thu, 09 Jan 2025)

  Changed paths:
    M llvm/lib/Transforms/IPO/MemProfContextDisambiguation.cpp
    M llvm/test/ThinLTO/X86/memprof-recursive.ll
    M llvm/test/Transforms/MemProfContextDisambiguation/recursive.ll

  Log Message:
  -----------
  [MemProf] Disable cloning of callsites in recursive cycles by default (#122354)

This disables the support added in PR121985 by default while we
investigate a compile time crash.


  Commit: 218f15cd1eee22933e505d7093ec2fe38a36ef3b
      https://github.com/llvm/llvm-project/commit/218f15cd1eee22933e505d7093ec2fe38a36ef3b
  Author: Chris B <chris.bieneman at me.com>
  Date:   2025-01-09 (Thu, 09 Jan 2025)

  Changed paths:
    A .github/workflows/hlsl-matrix.yaml
    A .github/workflows/hlsl-test-all.yaml

  Log Message:
  -----------
  Add pre-merge workflow for HLSL testing (#122184)

This adds a workflow for running HLSL tests on PRs that modify HLSL and
DirectX code.

The tests enabled here are the LLVM & Clang tests and the Offload
execution tests: https://github.com/llvm-beanz/offload-test-suite/


  Commit: 9d5299eb61a64cd4df5fefa0299b0cf8d917978f
      https://github.com/llvm/llvm-project/commit/9d5299eb61a64cd4df5fefa0299b0cf8d917978f
  Author: Ramkumar Ramachandra <ramkumar.ramachandra at codasip.com>
  Date:   2025-01-09 (Thu, 09 Jan 2025)

  Changed paths:
    A llvm/test/Analysis/ValueTracking/implied-condition-samesign.ll

  Log Message:
  -----------
  VT/test: pre-commit tests to enable samesign optz (#120257)

Pre-commit some tests in preparation to teach ValueTracking's
implied-cond about samesign.


  Commit: f791a4f19f6c99feccfe59e0724d9215bee985cf
      https://github.com/llvm/llvm-project/commit/f791a4f19f6c99feccfe59e0724d9215bee985cf
  Author: Benjamin Kramer <benny.kra at googlemail.com>
  Date:   2025-01-09 (Thu, 09 Jan 2025)

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

  Log Message:
  -----------
  [bazel] Add missing dependency for cbcb7ad32e6faca1f4c0f2f436e6076774104e17


  Commit: d797d94185cfb3eadaef6103b0d2b2f312e4f432
      https://github.com/llvm/llvm-project/commit/d797d94185cfb3eadaef6103b0d2b2f312e4f432
  Author: Benjamin Kramer <benny.kra at googlemail.com>
  Date:   2025-01-09 (Thu, 09 Jan 2025)

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

  Log Message:
  -----------
  [bazel] Port 0aa831e0edb1c1deabb96ce2435667cc82bac79b


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

  Changed paths:
    M clang/include/clang/AST/ASTContext.h
    M clang/include/clang/Basic/Attr.td
    M clang/include/clang/Basic/AttrDocs.td
    M clang/include/clang/Basic/DiagnosticGroups.td
    M clang/include/clang/Basic/DiagnosticSemaKinds.td
    M clang/include/clang/Sema/SemaSYCL.h
    M clang/lib/AST/ASTContext.cpp
    M clang/lib/Sema/SemaDecl.cpp
    M clang/lib/Sema/SemaLambda.cpp
    M clang/lib/Sema/SemaSYCL.cpp
    M clang/lib/Serialization/ASTReaderDecl.cpp
    M clang/test/ASTSYCL/ast-dump-sycl-kernel-entry-point.cpp
    A clang/test/SemaSYCL/sycl-kernel-entry-point-attr-appertainment.cpp
    M clang/test/SemaSYCL/sycl-kernel-entry-point-attr-grammar.cpp
    A clang/test/SemaSYCL/sycl-kernel-entry-point-attr-kernel-name-module.cpp
    A clang/test/SemaSYCL/sycl-kernel-entry-point-attr-kernel-name-pch.cpp
    A clang/test/SemaSYCL/sycl-kernel-entry-point-attr-kernel-name.cpp
    A clang/test/SemaSYCL/sycl-kernel-entry-point-attr-sfinae.cpp

  Log Message:
  -----------
  [SYCL] Basic diagnostics for the sycl_kernel_entry_point attribute. (#120327)

The `sycl_kernel_entry_point` attribute is used to declare a function that
defines a pattern for an offload kernel entry point. The attribute requires
a single type argument that specifies a class type that meets the requirements
for a SYCL kernel name as described in section 5.2, "Naming of kernels", of
the SYCL 2020 specification. A unique kernel name type is required for each
function declared with the attribute. The attribute may not first appear on a
declaration that follows a definition of the function. The function is
required to have a non-deduced `void` return type. The function must not be
a non-static member function, be deleted or defaulted, be declared with the
`constexpr` or `consteval` specifiers, be declared with the `[[noreturn]]`
attribute, be a coroutine, or accept variadic arguments.

Diagnostics are not yet provided for the following:
- Use of a type as a kernel name that does not satisfy the forward
  declarability requirements specified in section 5.2, "Naming of kernels",
  of the SYCL 2020 specification.
- Use of a type as a parameter of the attributed function that does not
  satisfy the kernel parameter requirements specified in section 4.12.4,
  "Rules for parameter passing to kernels", of the SYCL 2020 specification
  (each such function parameter constitutes a kernel parameter).
- Use of language features that are not permitted in device functions as
  specified in section 5.4, "Language restrictions for device functions",
  of the SYCL 2020 specification.

There are several issues noted by various FIXME comments.
- The diagnostic generated for kernel name conflicts needs additional work
  to better detail the relevant source locations; such as the location of
  each declaration as well as the original source of each kernel name.
- A number of the tests illustrate spurious errors being produced due to
  attributes that appertain to function templates being instantiated too
  early (during overload resolution as opposed to after an overload is
  selected).

Included changes allow the `SYCLKernelEntryPointAttr` attribute to be
marked as invalid if a `sycl_kernel_entry_point` attribute is used incorrectly.
This is intended to prevent trying to emit an offload kernel entry point
without having to mark the associated function as invalid since doing so
would affect overload resolution; which this attribute should not do.
Unfortunately, Clang eagerly instantiates attributes that appertain to
functions with the result that errors might be issued for function
declarations that are never selected by overload resolution. Tests have
been added to demonstrate this. Further work will be needed to address
these issues (for this and other attributes).


  Commit: 0acdba83ae5098c5c8f09f53aba4df37d97f3cf0
      https://github.com/llvm/llvm-project/commit/0acdba83ae5098c5c8f09f53aba4df37d97f3cf0
  Author: Joseph Huber <huberjn at outlook.com>
  Date:   2025-01-09 (Thu, 09 Jan 2025)

  Changed paths:
    M libc/src/CMakeLists.txt
    R libc/src/gpu/CMakeLists.txt
    R libc/src/gpu/rpc_host_call.cpp
    R libc/src/gpu/rpc_host_call.h

  Log Message:
  -----------
  [libc] Remove leftover 'gpu/' source directory (#122368)

Summary:
This isn't used anymore, I moved the GPU extensions into `offload/`.


  Commit: 84087226fa38b212325c651f1bc3caa79491bc80
      https://github.com/llvm/llvm-project/commit/84087226fa38b212325c651f1bc3caa79491bc80
  Author: Jacek Caban <jacek at codeweavers.com>
  Date:   2025-01-09 (Thu, 09 Jan 2025)

  Changed paths:
    M lld/COFF/Chunks.cpp
    M lld/test/COFF/arm64x-loadconfig.s

  Log Message:
  -----------
  [LLD][COFF] Emit base relocation for native CHPE metadata pointer on ARM64X (#121500)


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

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

  Log Message:
  -----------
  [TySan] Intercept malloc_size on Apple platforms. (#122133)

After https://github.com/llvm/llvm-project/pull/120563 malloc_size also
needs intercepting on Apple platforms, otherwise all type-sanitized
binaries crash on startup with an objc error:
realized class 0x12345 has corrupt data pointer: malloc_size(0x567) = 0

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


  Commit: d01ae567742c4d83b67483e15eb74c0ecd2e8270
      https://github.com/llvm/llvm-project/commit/d01ae567742c4d83b67483e15eb74c0ecd2e8270
  Author: Min-Yih Hsu <min.hsu at sifive.com>
  Date:   2025-01-09 (Thu, 09 Jan 2025)

  Changed paths:
    M llvm/docs/CommandGuide/llvm-exegesis.rst
    R llvm/test/tools/llvm-exegesis/dry-run-measurement.test
    M llvm/tools/llvm-exegesis/lib/BenchmarkResult.h
    M llvm/tools/llvm-exegesis/lib/BenchmarkRunner.cpp
    M llvm/tools/llvm-exegesis/lib/Target.cpp
    M llvm/tools/llvm-exegesis/llvm-exegesis.cpp

  Log Message:
  -----------
  Revert "[Exegesis] Add the ability to dry-run the measurement phase (… (#122371)

…#121991)"

This reverts commit f8f8598fd886cddfd374fa43eb6d7d37d301b576.

This breaks ARMv7 and s390x buildbot with the following message:
```
llvm-exegesis error: No available targets are compatible with triple "armv8l-unknown-linux-gnueabihf"
FileCheck error: '<stdin>' is empty.
FileCheck command line:  /home/tcwg-buildbot/worker/clang-armv7-2stage/stage2/bin/FileCheck /home/tcwg-buildbot/worker/clang-armv7-2stage/llvm/llvm/test/tools/llvm-exegesis/dry-run-measurement.test
```


  Commit: f764e71b7017e7264fffc410f5e10ef959e49294
      https://github.com/llvm/llvm-project/commit/f764e71b7017e7264fffc410f5e10ef959e49294
  Author: Victor Mustya <victor.mustya at intel.com>
  Date:   2025-01-09 (Thu, 09 Jan 2025)

  Changed paths:
    M clang/test/TableGen/target-builtins-prototype-parser.td

  Log Message:
  -----------
  [Clang][TableGen] Add missing __bf16 type to the builtins parser (#120662)

The Clang tablegen built-in function prototype parser has the `__bf16`
type missing. This patch adds the missing type to the parser.


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

  Changed paths:
    M libcxx/include/__algorithm/radix_sort.h

  Log Message:
  -----------
  [libc++] Add missing _LIBCPP_NODEBUG on internal aliases


  Commit: 328c3a843f886f3768e536a508e1e3723d834b3e
      https://github.com/llvm/llvm-project/commit/328c3a843f886f3768e536a508e1e3723d834b3e
  Author: Michael Maitland <michaeltmaitland at gmail.com>
  Date:   2025-01-09 (Thu, 09 Jan 2025)

  Changed paths:
    M llvm/lib/Target/RISCV/RISCVVLOptimizer.cpp
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-int-buildvec.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-int.ll
    M llvm/test/CodeGen/RISCV/rvv/narrow-shift-extend.ll
    M llvm/test/CodeGen/RISCV/rvv/vl-opt-instrs.ll

  Log Message:
  -----------
  [RISCV][VLOPT] Add vmerge to isSupportedInstr (#122340)


  Commit: 03eb786f75e36e9e203e0092ec3c6c589fd53c4f
      https://github.com/llvm/llvm-project/commit/03eb786f75e36e9e203e0092ec3c6c589fd53c4f
  Author: Tom Honermann <tom.honermann at intel.com>
  Date:   2025-01-09 (Thu, 09 Jan 2025)

  Changed paths:
    M clang/test/SemaSYCL/sycl-kernel-entry-point-attr-appertainment.cpp

  Log Message:
  -----------
  [SYCL] Correct misplaced sycl_kernel_entry_point attribute in a namespace declaration of a negative test. (#122375)

Commit 1a73654b3212b623ac21b9deb3aeaadc6906b7e4 added a missing
diagnostic for incorrect placement of an attribute in a namespace
declaration. This change corrects a SYCL test that inadvertently
exercised the `sycl_kernel_entry_point` attribute in the wrong
declaration location.


  Commit: 0efb376c20b220cddbbcf57f0c82ae048170ffd9
      https://github.com/llvm/llvm-project/commit/0efb376c20b220cddbbcf57f0c82ae048170ffd9
  Author: Nick Desaulniers <nickdesaulniers at users.noreply.github.com>
  Date:   2025-01-09 (Thu, 09 Jan 2025)

  Changed paths:
    M libc/test/UnitTest/ExecuteFunctionUnix.cpp
    M libc/test/UnitTest/FPExceptMatcher.cpp
    M libc/test/UnitTest/LibcDeathTestExecutors.cpp

  Log Message:
  -----------
  [libc][test] remove C++ stdlib includes (#122369)

These make cross compiling the test suite more difficult, as you need
the
sysroot to contain these headers and libraries cross compiled for your
target.
It's straightforward to stick with the corresponding C headers.


  Commit: 4f42e165164ba2bfca7b87be2a533ef09e8777e0
      https://github.com/llvm/llvm-project/commit/4f42e165164ba2bfca7b87be2a533ef09e8777e0
  Author: Thurston Dang <thurston at google.com>
  Date:   2025-01-09 (Thu, 09 Jan 2025)

  Changed paths:
    M llvm/lib/Target/AArch64/AArch64AsmPrinter.cpp
    M llvm/lib/Transforms/Instrumentation/HWAddressSanitizer.cpp
    M llvm/test/CodeGen/AArch64/hwasan-zero-ptr.ll
    M llvm/test/Instrumentation/HWAddressSanitizer/zero-ptr.ll

  Log Message:
  -----------
  [hwasan] Omit tag check for null pointers (#122206)

If the pointer to be checked is statically known to be zero, the tag
check will always pass since:
1) the tag is zero
2) shadow memory for address 0 is initialized to 0 and never updated.
We can therefore elide the tag check.

We perform the elision in two places:
1) the HWASan pass
2) when lowering the CHECK_MEMACCESS intrinsic. Conceivably, the HWASan
pass may encounter a "cannot currently statically prove to be null"
pointer (and is therefore unable to omit the intrinsic) that later
optimization passes convert into a statically known-null pointer. As a
last line of defense, we perform elision here too.

This also updates the tests from
https://github.com/llvm/llvm-project/pull/122186


  Commit: 7ffb691595a3108f72023ae0051487df25a85fc3
      https://github.com/llvm/llvm-project/commit/7ffb691595a3108f72023ae0051487df25a85fc3
  Author: Florian Hahn <flo at fhahn.com>
  Date:   2025-01-09 (Thu, 09 Jan 2025)

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

  Log Message:
  -----------
  [VPlan] Remove dead ToRemove (NFC).


  Commit: 156e6051630d136b48090c0d1cb79a4457564e9d
      https://github.com/llvm/llvm-project/commit/156e6051630d136b48090c0d1cb79a4457564e9d
  Author: alx32 <103613512+alx32 at users.noreply.github.com>
  Date:   2025-01-09 (Thu, 09 Jan 2025)

  Changed paths:
    M lld/MachO/ConcatOutputSection.cpp

  Log Message:
  -----------
  [lld-macho] Fix branch extension thunk estimation logic (#120529)

This patch improves the linker’s ability to estimate stub reachability
in the `TextOutputSection::estimateStubsInRangeVA` function. It does so
by including thunks that have already been placed ahead of the current
call site address when calculating the threshold for direct stub calls.

Before this fix, the estimation process overlooked existing forward
thunks. This could result in some thunks not being inserted where
needed. In rare situations, particularly with large and specially
arranged codebases, this might lead to branch instructions being out of
range, causing linking errors.

Although this patch successfully addresses the problem, it is not
feasible to create a test for this issue. The specific layout and order
of thunk creation required to reproduce the corner case are too complex,
making test creation impractical.

Example error messages the issue could generate:
```
ld64.lld: error: banana.o:(symbol OUTLINED_FUNCTION_24949_3875): relocation BRANCH26 is out of range: 134547892 is not in [-134217728, 134217727]; references objc_autoreleaseReturnValue
ld64.lld: error: main.o:(symbol _main+0xc): relocation BRANCH26 is out of range: 134544132 is not in [-134217728, 134217727]; references objc_release
```


  Commit: 3caa68a021c2f795de3df7f6ad7953556e825fab
      https://github.com/llvm/llvm-project/commit/3caa68a021c2f795de3df7f6ad7953556e825fab
  Author: Nick Desaulniers <nickdesaulniers at users.noreply.github.com>
  Date:   2025-01-09 (Thu, 09 Jan 2025)

  Changed paths:
    M libc/test/UnitTest/ExecuteFunctionUnix.cpp
    M libc/test/UnitTest/FPExceptMatcher.cpp

  Log Message:
  -----------
  [libc][test] fix memory leak (#122378)

Looks like the smart pointer I removed was being used to free the underlying
object.

Fixes: #122369


  Commit: e6d061ad49ce11193bddfff8a7920b798fb7d214
      https://github.com/llvm/llvm-project/commit/e6d061ad49ce11193bddfff8a7920b798fb7d214
  Author: Eli Friedman <efriedma at quicinc.com>
  Date:   2025-01-09 (Thu, 09 Jan 2025)

  Changed paths:
    M clang/bindings/python/clang/cindex.py
    M clang/bindings/python/tests/cindex/test_cursor.py
    M clang/docs/ReleaseNotes.rst

  Log Message:
  -----------
  [libclang/python] Add python bindings for PrintingPolicy (#120494)

This allows changing the way pretty-printed code is formatted.


  Commit: 9426fdd4cbd6812b69c218b865f184cb25342be4
      https://github.com/llvm/llvm-project/commit/9426fdd4cbd6812b69c218b865f184cb25342be4
  Author: Nick Desaulniers <nickdesaulniers at users.noreply.github.com>
  Date:   2025-01-09 (Thu, 09 Jan 2025)

  Changed paths:
    M libc/test/UnitTest/ExecuteFunctionUnix.cpp
    M libc/test/UnitTest/FPExceptMatcher.cpp

  Log Message:
  -----------
  [libc][test] fix memory leak pt.2 (#122384)

These were created with operator new (see `Test::createCallable`), so operator
delete should be used instead of free().

Fixes: #122369
Fixes: #122378


  Commit: ba704d59569151f1b8b6552ed22a7b840f5e6256
      https://github.com/llvm/llvm-project/commit/ba704d59569151f1b8b6552ed22a7b840f5e6256
  Author: alx32 <103613512+alx32 at users.noreply.github.com>
  Date:   2025-01-09 (Thu, 09 Jan 2025)

  Changed paths:
    M llvm/test/tools/llvm-gsymutil/ARM_AArch64/macho-gsym-callsite-info-dsym.yaml
    M llvm/test/tools/llvm-gsymutil/ARM_AArch64/macho-gsym-callsite-info-exe.yaml
    M llvm/test/tools/llvm-gsymutil/ARM_AArch64/macho-gsym-callsite-info-obj.test
    M llvm/test/tools/llvm-gsymutil/ARM_AArch64/macho-gsym-merged-callsites-dsym.yaml
    M llvm/test/tools/llvm-gsymutil/ARM_AArch64/macho-merged-funcs-dwarf.yaml

  Log Message:
  -----------
  [llvm-gsymutil] Address merged-funcs test non-determinism (#122308)

When creating a gSYM, `llvm-gsymutil` operates by default in
multi-threaded mode. If merged functions are present, determinism cannot
be guaranteed if parallel processing is enabled.

So, for our merged functions tests, we disable multi-threading during
gSYM creation.


  Commit: c1c50c7a3ef9ced4a9b01e0afd83b83d7060fff9
      https://github.com/llvm/llvm-project/commit/c1c50c7a3ef9ced4a9b01e0afd83b83d7060fff9
  Author: Thor Preimesberger <111035711+cheezeburglar at users.noreply.github.com>
  Date:   2025-01-09 (Thu, 09 Jan 2025)

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

  Log Message:
  -----------
  [SDPatternMatch] Add matchers m_ExtractSubvector and m_InsertSubvector (#120212)

Fixes #118846


  Commit: 504f6ce0c25b5cd721622cd444e9c428f400fd73
      https://github.com/llvm/llvm-project/commit/504f6ce0c25b5cd721622cd444e9c428f400fd73
  Author: Congcong Cai <congcongcai0907 at 163.com>
  Date:   2025-01-10 (Fri, 10 Jan 2025)

  Changed paths:
    M clang-tools-extra/clang-tidy/readability/UseStdMinMaxCheck.cpp

  Log Message:
  -----------
  [clang-tidy][NFC] clean readability-use-std-min-max (#122288)

1. add `static` for internal linkage functions
2. remove `clang` prefix for `QualType`


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

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

  Log Message:
  -----------
  [NFC][AsmPrinter] Pass MJTI by const reference instead of const pointer (#122365)

The caller `AsmPrinter::emitJumpTableInfo` checks [1] `MJTI` is not a
null pointer before calling `emitJumpTableEntry` or
`emitJumpTableSizesSection`.

This patch updates callee function's signature to accept const
reference, this way it's explicit `MJTI` won't be nullptr inside the
callee.

[1]
https://github.com/llvm/llvm-project/blob/9d5299eb61a64cd4df5fefa0299b0cf8d917978f/llvm/lib/CodeGen/AsmPrinter/AsmPrinter.cpp#L2857


  Commit: 5d88a84ecddab3471693e44b57a1c1f21ce14f3f
      https://github.com/llvm/llvm-project/commit/5d88a84ecddab3471693e44b57a1c1f21ce14f3f
  Author: Craig Topper <craig.topper at sifive.com>
  Date:   2025-01-09 (Thu, 09 Jan 2025)

  Changed paths:
    M llvm/lib/Target/RISCV/RISCVInstrInfoC.td
    M llvm/lib/Target/RISCV/RISCVInstrInfoZc.td

  Log Message:
  -----------
  [RISCV] Simplify some RISCVInstrInfoC classes by removing arguments that never change. NFC


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

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

  Log Message:
  -----------
  [libc++] Disable _LIBCPP_NODEBUG temporarily (#122393)

This should be reverted once the crash reported in #118710 has been
analyzed.


  Commit: 04e54cc19f13af26e453c06b6a9e2bc3187e52c2
      https://github.com/llvm/llvm-project/commit/04e54cc19f13af26e453c06b6a9e2bc3187e52c2
  Author: Michael Maitland <michaeltmaitland at gmail.com>
  Date:   2025-01-09 (Thu, 09 Jan 2025)

  Changed paths:
    M llvm/lib/Target/RISCV/RISCVVLOptimizer.cpp
    M llvm/test/CodeGen/RISCV/rvv/vl-opt-instrs.ll

  Log Message:
  -----------
  [RISCV][VLOPT] Add Vector Single-Width Averaging Add and Subtract to isSupportedInstr (#122351)


  Commit: d0373dbe7c8ca8e7cd9c84e1d93c43c81a085f0c
      https://github.com/llvm/llvm-project/commit/d0373dbe7c8ca8e7cd9c84e1d93c43c81a085f0c
  Author: Michael Maitland <michaeltmaitland at gmail.com>
  Date:   2025-01-09 (Thu, 09 Jan 2025)

  Changed paths:
    M llvm/lib/Target/RISCV/RISCVVLOptimizer.cpp
    M llvm/test/CodeGen/RISCV/rvv/vl-opt-instrs.ll

  Log Message:
  -----------
  [RISCV][VLOPT] Add vadc to isSupportedInstr (#122345)


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

  Changed paths:
    M llvm/include/llvm/ExecutionEngine/Orc/JITLinkReentryTrampolines.h
    M llvm/include/llvm/ExecutionEngine/Orc/LazyReexports.h
    M llvm/include/llvm/ExecutionEngine/Orc/TaskDispatch.h
    M llvm/lib/ExecutionEngine/Orc/JITLinkReentryTrampolines.cpp
    M llvm/lib/ExecutionEngine/Orc/LazyReexports.cpp
    M llvm/lib/ExecutionEngine/Orc/TaskDispatch.cpp
    M llvm/tools/llvm-jitlink/llvm-jitlink.cpp
    M llvm/tools/llvm-jitlink/llvm-jitlink.h

  Log Message:
  -----------
  [ORC][llvm-jitlink] Add SimpleLazyReexportsSpeculator, use in llvm-jitlink.

Also adds a new IdleTask type and updates DynamicThreadPoolTaskDispatcher to
schedule IdleTasks whenever the total number of threads running is less than
the maximum number of MaterializationThreads.

A SimpleLazyReexportsSpeculator instance maintains a list of speculation
suggestions ((JITDylib, Function) pairs) and registered lazy reexports. When
speculation opportunities are available (having been added via
addSpeculationSuggestions or when lazy reexports were created) it schedules
an IdleTask that triggers the next speculative lookup as soon as resources
are available. Speculation suggestions are processed first, followed by
lookups for lazy reexport bodies. A callback can be registered at object
construction time to record lazy reexport executions as they happen, and these
executions can be fed back into the speculator as suggestions on subsequent
executions.

The llvm-jitlink tool is updated to support speculation when lazy linking is
used via three new arguments:

 -speculate=[none|simple] : When the 'simple' value is specified a
                            SimpleLazyReexportsSpeculator instances is used
                            for speculation.

 -speculate-order <path> : Specifies a path to a CSV containing
                           (jit dylib name, function name) triples to use
                           as speculative suggestions in the current run.

 -record-lazy-execs <path> : Specifies a path in which to record lazy function
                             executions as a CSV of (jit dylib name, function
                             name) pairs, suitable for use with
                             -speculate-order.

The same path can be passed to -speculate-order and -record-lazy-execs, in
which case the file will be overwritten at the end of the execution.

No testcase yet: Speculative linking is difficult to test (since by definition
execution behavior should be unaffected by speculation) and this is an new
prototype of the concept*. Tests will be added in the future once the interface
and behavior settle down.

* An earlier implementation of the speculation concept can be found in
  llvm/include/llvm/ExecutionEngine/Orc/Speculation.h. Both systems have the
  same goal (hiding compilation latency) but different mechanisms. This patch
  relies entirely on information available in the controller, where the old
  system could receive additional information from the JIT'd runtime via
  callbacks. I aim to combine the two in the future, but want to gain more
  practical experience with speculation first.


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

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

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

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: 36b423e0f85cb35eb8b211662a0fab70d476f501
      https://github.com/llvm/llvm-project/commit/36b423e0f85cb35eb8b211662a0fab70d476f501
  Author: Han-Kuan Chen <hankuan.chen at sifive.com>
  Date:   2025-01-10 (Fri, 10 Jan 2025)

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

  Log Message:
  -----------
  [SLP] NFC. Refactor getSameOpcode and reduce for loop iterations. (#122241)

Replace Cnt and AltIndex with MainOp and AltOp.
Reduce the number of iterations in the for loop.


  Commit: 57447d3ddfb0b1c44618e97081906d19a387ff00
      https://github.com/llvm/llvm-project/commit/57447d3ddfb0b1c44618e97081906d19a387ff00
  Author: Lang Hames <lhames at gmail.com>
  Date:   2025-01-10 (Fri, 10 Jan 2025)

  Changed paths:
    M llvm/include/llvm/ExecutionEngine/Orc/JITLinkReentryTrampolines.h
    M llvm/include/llvm/ExecutionEngine/Orc/LazyReexports.h
    M llvm/include/llvm/ExecutionEngine/Orc/TaskDispatch.h
    M llvm/lib/ExecutionEngine/Orc/JITLinkReentryTrampolines.cpp
    M llvm/lib/ExecutionEngine/Orc/LazyReexports.cpp
    M llvm/lib/ExecutionEngine/Orc/TaskDispatch.cpp
    M llvm/tools/llvm-jitlink/llvm-jitlink.cpp
    M llvm/tools/llvm-jitlink/llvm-jitlink.h

  Log Message:
  -----------
  Revert "[ORC][llvm-jitlink] Add SimpleLazyReexportsSpeculator, use in llvm-jitlink."

This reverts commit 6d72bf47606c2a288b911d682fd96129c9c1466d while I fix bot failures.


  Commit: 2d10b7b750f97b42055d5b9b08a88c18ff811cd2
      https://github.com/llvm/llvm-project/commit/2d10b7b750f97b42055d5b9b08a88c18ff811cd2
  Author: Lang Hames <lhames at gmail.com>
  Date:   2025-01-10 (Fri, 10 Jan 2025)

  Changed paths:
    M llvm/include/llvm/ExecutionEngine/Orc/JITLinkReentryTrampolines.h
    M llvm/include/llvm/ExecutionEngine/Orc/LazyReexports.h
    M llvm/include/llvm/ExecutionEngine/Orc/TaskDispatch.h
    M llvm/lib/ExecutionEngine/Orc/JITLinkReentryTrampolines.cpp
    M llvm/lib/ExecutionEngine/Orc/LazyReexports.cpp
    M llvm/lib/ExecutionEngine/Orc/TaskDispatch.cpp
    M llvm/tools/llvm-jitlink/llvm-jitlink.cpp
    M llvm/tools/llvm-jitlink/llvm-jitlink.h

  Log Message:
  -----------
  Reapply "[ORC][llvm-jitlink] Add SimpleLazyReexportsSpeculator..." with fixes.

This reapplies 6d72bf47606, which was reverted in 57447d3ddf to investigate
build failures, e.g. https://lab.llvm.org/buildbot/#/builders/3/builds/10114.

The original patch contained an invalid unused friend declaration of
std::make_shared. This has been removed.


  Commit: 9190e1c0ef628b9cc432b507390dc6eec416f6ab
      https://github.com/llvm/llvm-project/commit/9190e1c0ef628b9cc432b507390dc6eec416f6ab
  Author: Longsheng Mou <longshengmou at gmail.com>
  Date:   2025-01-10 (Fri, 10 Jan 2025)

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

  Log Message:
  -----------
  [mlir][linalg] Handle reassociationIndices correctly for 0D tensor (#121683)

This PR fixes a bug where a value is assigned to a 0-sized
reassociationIndices, preventing a crash. Fixes #116043.


  Commit: b1893caeb6b6079a66ba146e73d68d6255d255ce
      https://github.com/llvm/llvm-project/commit/b1893caeb6b6079a66ba146e73d68d6255d255ce
  Author: Lakshmi-Surekha <Lakshmi.Kovvuri at ibm.com>
  Date:   2025-01-10 (Fri, 10 Jan 2025)

  Changed paths:
    M lldb/include/lldb/Host/HostInfo.h

  Log Message:
  -----------
  [lldb][AIX] Added support for AIX in HostInfo section (#122301)

This PR is in reference to porting LLDB on AIX.

Link to discussions on llvm discourse and github:

1. https://discourse.llvm.org/t/port-lldb-to-ibm-aix/80640
https://github.com/llvm/llvm-project/issues/101657
2. The complete changes for porting are present in this draft PR:
https://github.com/llvm/llvm-project/pull/102601
Added support for AIX in HostInfo section

Review Request : @DavidSpickett @labath @DhruvSrivastavaX


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

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

  Log Message:
  -----------
  [RISCV] Correct the cost model for the i1 reduce.add and reduce.or. (#122349)

reduce.add uses the same sequence as reduce.xor. reduce.or should use
vmor not vmxor.


  Commit: 41e4018f9c858af15c4fe0ea0d1de8ff4602071e
      https://github.com/llvm/llvm-project/commit/41e4018f9c858af15c4fe0ea0d1de8ff4602071e
  Author: Craig Topper <craig.topper at sifive.com>
  Date:   2025-01-09 (Thu, 09 Jan 2025)

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

  Log Message:
  -----------
  [RISCV][VLOPT] Simplify code by removing extra temporary variables. NFC (#122333)

Just do the conditional operator in the return statement.


  Commit: 369c61744a435c52e3564398d9972fa556db022b
      https://github.com/llvm/llvm-project/commit/369c61744a435c52e3564398d9972fa556db022b
  Author: Shao-Ce SUN <sunshaoce at outlook.com>
  Date:   2025-01-10 (Fri, 10 Jan 2025)

  Changed paths:
    M llvm/lib/Target/RISCV/RISCVTargetTransformInfo.cpp
    A llvm/test/Analysis/CostModel/RISCV/reduce-and-i1.ll
    M llvm/test/Analysis/CostModel/RISCV/reduce-and.ll
    M llvm/test/Analysis/CostModel/RISCV/reduce-max.ll
    M llvm/test/Analysis/CostModel/RISCV/reduce-min.ll

  Log Message:
  -----------
  [RISCV] Fix the cost of `llvm.vector.reduce.and` (#119160)

I added some CodeGen test cases related to reduce. To maintain
consistency, I also added cases for instructions like
`vector.reduce.or`.

For cases where `v1i1` type generates `VFIRST`, please refer to:
https://reviews.llvm.org/D139512.


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

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

  Log Message:
  -----------
  Revert "[SLP] NFC. Replace MainOp and AltOp in TreeEntry with InstructionsState. (#120198)"

This reverts commit 760f550de25792db83cd39c88ef57ab6d80a41a0.


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

  Changed paths:
    M clang/docs/ClangFormatStyleOptions.rst
    M clang/include/clang/Format/Format.h

  Log Message:
  -----------
  [clang-format][doc] Fix the description of BreakBinaryOperations


  Commit: 2ea34cdf2ba86cd129633f2a01fb695c79c0fe11
      https://github.com/llvm/llvm-project/commit/2ea34cdf2ba86cd129633f2a01fb695c79c0fe11
  Author: Owen Pan <owenpiano at gmail.com>
  Date:   2025-01-09 (Thu, 09 Jan 2025)

  Changed paths:
    M clang/lib/Format/UnwrappedLineFormatter.cpp
    M clang/unittests/Format/FormatTestSelective.cpp

  Log Message:
  -----------
  [clang-format] Stop fixing indentation on namespace closing brace (#122234)

Fixes #119790.


  Commit: 211bcf67aadb1175af382f55403ae759177281c7
      https://github.com/llvm/llvm-project/commit/211bcf67aadb1175af382f55403ae759177281c7
  Author: Chinmay Deshpande <chdeshpa at amd.com>
  Date:   2025-01-10 (Fri, 10 Jan 2025)

  Changed paths:
    M llvm/lib/Target/AMDGPU/SIISelLowering.cpp
    M llvm/lib/Target/AMDGPU/SIISelLowering.h
    M llvm/test/CodeGen/AMDGPU/prevent-fmul-hoist-ir.ll

  Log Message:
  -----------
  [AMDGPU] Implement IR variant of isFMAFasterThanFMulAndFAdd (#121465)


  Commit: 9c2de994a18b8eb50634e620af762ed28ec5dcc2
      https://github.com/llvm/llvm-project/commit/9c2de994a18b8eb50634e620af762ed28ec5dcc2
  Author: Vitaly Buka <vitalybuka at google.com>
  Date:   2025-01-09 (Thu, 09 Jan 2025)

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

  Log Message:
  -----------
  [nfc][BoundsChecking] Refactor BoundsCheckingOptions (#122346)

Remove ReportingMode and ReportingOpts.


  Commit: 4c8fdc29549f9c7c3c710e3ada2cb00a70af609e
      https://github.com/llvm/llvm-project/commit/4c8fdc29549f9c7c3c710e3ada2cb00a70af609e
  Author: Vitaly Buka <vitalybuka at google.com>
  Date:   2025-01-09 (Thu, 09 Jan 2025)

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

  Log Message:
  -----------
  [nfc][BoundsChecking] Rename BoundsCheckingOptions into Options (#122359)


  Commit: 73dd730fb9403ca648a46b489bf04e27b2a93840
      https://github.com/llvm/llvm-project/commit/73dd730fb9403ca648a46b489bf04e27b2a93840
  Author: Schrodinger ZHU Yifan <yifanzhu at rochester.edu>
  Date:   2025-01-10 (Fri, 10 Jan 2025)

  Changed paths:
    M libc/config/linux/aarch64/entrypoints.txt
    M libc/config/linux/x86_64/entrypoints.txt
    M libc/hdr/types/CMakeLists.txt
    A libc/hdr/types/struct_iovec.h
    M libc/include/CMakeLists.txt
    A libc/include/sys/uio.h.def
    A libc/include/sys/uio.yaml
    M libc/src/sys/CMakeLists.txt
    A libc/src/sys/uio/CMakeLists.txt
    A libc/src/sys/uio/linux/CMakeLists.txt
    A libc/src/sys/uio/linux/writev.cpp
    A libc/src/sys/uio/writev.h
    M libc/test/src/sys/CMakeLists.txt
    A libc/test/src/sys/uio/CMakeLists.txt
    A libc/test/src/sys/uio/writev_test.cpp

  Log Message:
  -----------
  [libc] implement sys/uio/writev (#122233)

implement sys/uio/writev according to POSIX standard. This vectorized IO
API is needed by many logging libraries to achieve atomic logging
multiple strings.


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

  Changed paths:
    M clang/test/CodeGen/allow-ubsan-check.c

  Log Message:
  -----------
  [NFC][ubsan] Rename prefixes in test

Looks like update_cc_test_checks is being confused if
it creates vars with the name matching prefix.

Issue triggered with #122415


  Commit: 48d0eb5181065a3d086de2e30f5c619fe407e4ce
      https://github.com/llvm/llvm-project/commit/48d0eb5181065a3d086de2e30f5c619fe407e4ce
  Author: Fangrui Song <i at maskray.me>
  Date:   2025-01-09 (Thu, 09 Jan 2025)

  Changed paths:
    M clang/include/clang/CodeGen/BackendUtil.h
    M clang/lib/CodeGen/BackendConsumer.h
    M clang/lib/CodeGen/BackendUtil.cpp
    M clang/lib/CodeGen/CodeGenAction.cpp
    M clang/lib/CodeGen/ObjectFilePCHContainerWriter.cpp

  Log Message:
  -----------
  [CodeGen] Simplify EmitAssemblyHelper and emitBackendOutput

Prepare for -ftime-report change (#122225).


  Commit: 186bd8e4cd8d239be67172448c53e92be396359a
      https://github.com/llvm/llvm-project/commit/186bd8e4cd8d239be67172448c53e92be396359a
  Author: Fangrui Song <i at maskray.me>
  Date:   2025-01-09 (Thu, 09 Jan 2025)

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

  Log Message:
  -----------
  [CodeGen] Restore CodeGenerationTime

Fixes 48d0eb5181065a3d086de2e30f5c619fe407e4ce


  Commit: 76fac9c01736b1254e42427f8e0910c0f1d01fba
      https://github.com/llvm/llvm-project/commit/76fac9c01736b1254e42427f8e0910c0f1d01fba
  Author: Thurston Dang <thurston at google.com>
  Date:   2025-01-09 (Thu, 09 Jan 2025)

  Changed paths:
    M clang/include/clang/Basic/CodeGenOptions.h
    M clang/include/clang/Basic/Sanitizers.h
    M clang/include/clang/Driver/Options.td
    M clang/include/clang/Driver/SanitizerArgs.h
    M clang/lib/Basic/Sanitizers.cpp
    M clang/lib/Driver/SanitizerArgs.cpp
    M clang/lib/Frontend/CompilerInvocation.cpp
    M clang/test/Driver/fsanitize.c

  Log Message:
  -----------
  [sanitizer] Parse weighted sanitizer args and -fsanitize-skip-hot-cutoff (#121619)

This adds a function to parse weighted sanitizer flags (e.g.,
`-fsanitize-blah=undefined=0.5,null=0.3`) and adds the plumbing to apply
that to a new flag, `-fsanitize-skip-hot-cutoff`.

`-fsanitize-skip-hot-cutoff` currently has no effect; future work will
use it to generalize ubsan-guard-checks (originally introduced in
5f9ed2ff8364ff3e4fac410472f421299dafa793).

---------

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


  Commit: a4472c7dac7dc69ef6e76ad7f92a1865f199e046
      https://github.com/llvm/llvm-project/commit/a4472c7dac7dc69ef6e76ad7f92a1865f199e046
  Author: ssijaric-nv <ssijaric at nvidia.com>
  Date:   2025-01-09 (Thu, 09 Jan 2025)

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

  Log Message:
  -----------
  [AArch64] Fix the size passed to __trampoline_setup (#118234)

The trampoline size is 36 bytes on AArch64. The runtime function
__trampoline_setup aborts as it expects the trampoline size of at least 36 
bytes, and the size passed is 20 bytes. Fix the inconsistency in
AArch64TargetLowering::LowerINIT_TRAMPOLINE.


  Commit: 6829f30883fa7e71e3b7af022916003a82f0216d
      https://github.com/llvm/llvm-project/commit/6829f30883fa7e71e3b7af022916003a82f0216d
  Author: Craig Topper <craig.topper at sifive.com>
  Date:   2025-01-09 (Thu, 09 Jan 2025)

  Changed paths:
    M llvm/lib/Target/RISCV/RISCVInstrFormatsC.td
    M llvm/lib/Target/RISCV/RISCVInstrInfoC.td

  Log Message:
  -----------
  [RISCV] Add a default common assignment of Inst{6-2} to the RVInst16CI base class. NFC (#122377)

Many instructions assign all or a subset of Inst{6-2} to Imm{4-0}. Make
this the default. Subsets of Inst{6-2} can be overridden as needed by
derived classes/records which we already do with Inst{12} in a few
places.


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

  Changed paths:
    M llvm/include/llvm/CodeGen/Spiller.h
    M llvm/lib/CodeGen/InlineSpiller.cpp
    M llvm/lib/CodeGen/RegAllocBasic.cpp
    M llvm/lib/CodeGen/RegAllocGreedy.cpp
    M llvm/lib/CodeGen/RegAllocPBQP.cpp

  Log Message:
  -----------
  Spiller: Detach legacy pass and supply analyses instead (#119181)

Makes Inline Spiller amenable to the new PM.


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

  Changed paths:
    M llvm/docs/ReleaseNotes.md
    M llvm/lib/Target/WebAssembly/MCTargetDesc/WebAssemblyMCTargetDesc.cpp
    M llvm/lib/Target/WebAssembly/MCTargetDesc/WebAssemblyMCTargetDesc.h
    M llvm/lib/Target/WebAssembly/WebAssemblyCFGStackify.cpp
    M llvm/lib/Target/WebAssembly/WebAssemblyISelDAGToDAG.cpp
    M llvm/lib/Target/WebAssembly/WebAssemblyLateEHPrepare.cpp
    M llvm/lib/Target/WebAssembly/WebAssemblyTargetMachine.cpp
    M llvm/test/CodeGen/WebAssembly/cfg-stackify-eh-legacy.ll
    M llvm/test/CodeGen/WebAssembly/cfg-stackify-eh-legacy.mir
    M llvm/test/CodeGen/WebAssembly/cfg-stackify-eh.ll
    M llvm/test/CodeGen/WebAssembly/eh-option-errors.ll
    M llvm/test/CodeGen/WebAssembly/exception-legacy.ll
    M llvm/test/CodeGen/WebAssembly/exception-legacy.mir
    M llvm/test/CodeGen/WebAssembly/exception.ll

  Log Message:
  -----------
  [WebAssembly] Add -wasm-use-legacy-eh option (#122158)

This replaces the existing `-wasm-enable-exnref` with
`-wasm-use-legacy-eh` option, in an effort to make the new standardized
exnref proposal the 'default' state and the legacy proposal needs to be
separately enabled an option. But given that most users haven't switched
to the new proposal and major web browsers haven't turned it on by
default, this `-wasm-use-legacy-eh` is turned on by default, so nothing
will change for now for the functionality perspective.

This also removes the restriction that `-wasm-enable-exnref` be only
used with `-wasm-enable-eh` because this option is enabled by default.
This option does not have any effect when `-wasm-enable-eh` is not used.


  Commit: 4c0a0f72418b21161b5c1fb9225462bd039121e3
      https://github.com/llvm/llvm-project/commit/4c0a0f72418b21161b5c1fb9225462bd039121e3
  Author: Tyler Lanphear <tylanphear at gmail.com>
  Date:   2025-01-09 (Thu, 09 Jan 2025)

  Changed paths:
    M llvm/include/llvm/SandboxIR/Context.h
    M llvm/lib/SandboxIR/Context.cpp

  Log Message:
  -----------
  [SandboxVectorizer][NFCI] Fix use of possibly-uninitialized scalar. (#122201)

The `EraseCallbackID` field is not always initialized in the ctor for
SeedCollector; if not, it will be used uninitialized by its dtor. This
could potentially lead to the erasure of a random callback, leading to a
bug.

Fixed by making `CallbackID` an opaque type, which is always
default-initialized to an invalid ID.


  Commit: 01a7d4e26b9bac27e282b113209f53c4c1d290b2
      https://github.com/llvm/llvm-project/commit/01a7d4e26b9bac27e282b113209f53c4c1d290b2
  Author: Jakub Chlanda <jakub at codeplay.com>
  Date:   2025-01-10 (Fri, 10 Jan 2025)

  Changed paths:
    M llvm/lib/Target/AMDGPU/AMDGPUInstructionSelector.cpp
    M llvm/test/CodeGen/AMDGPU/bitop3.ll

  Log Message:
  -----------
  [AMDGPU] Allow selection of BITOP3 for some 2 opcodes and B32 cases (#122267)

This came up in downstream static analysis - as a dead code.

Admittedly, it depends on what the intention was when checking for [`if
(NumOpcodes == 2 &&
IsB32)`](https://github.com/llvm/llvm-project/blob/main/llvm/lib/Target/AMDGPU/AMDGPUInstructionSelector.cpp#L3792C3-L3792C32)
and I took a guess that for certain cases the selection should take
place.

If that's incorrect, that whole if statement can be removed, as it is
after a check for: [`if (NumOpcodes <
4)`](https://github.com/llvm/llvm-project/blob/main/llvm/lib/Target/AMDGPU/AMDGPUInstructionSelector.cpp#L3788)


  Commit: 089555095b91d693ab68d039cb5fda4b7b8e45bc
      https://github.com/llvm/llvm-project/commit/089555095b91d693ab68d039cb5fda4b7b8e45bc
  Author: Akshat Oke <Akshat.Oke at amd.com>
  Date:   2025-01-10 (Fri, 10 Jan 2025)

  Changed paths:
    M llvm/include/llvm/CodeGen/Spiller.h
    M llvm/lib/CodeGen/InlineSpiller.cpp
    M llvm/lib/CodeGen/RegAllocBasic.cpp
    M llvm/lib/CodeGen/RegAllocGreedy.cpp
    M llvm/lib/CodeGen/RegAllocPBQP.cpp

  Log Message:
  -----------
  Revert "Spiller: Detach legacy pass and supply analyses instead (#119… (#122426)

…181)"

This reverts commit a531800344dc54e9c197a13b22e013f919f3f5e1.


  Commit: 99d2ff54abb89b0aabe085c87c8064a7ab0f2872
      https://github.com/llvm/llvm-project/commit/99d2ff54abb89b0aabe085c87c8064a7ab0f2872
  Author: Lang Hames <lhames at gmail.com>
  Date:   2025-01-10 (Fri, 10 Jan 2025)

  Changed paths:
    M compiler-rt/test/orc/TestCases/Darwin/arm64/objc-imageinfo.S
    M compiler-rt/test/orc/TestCases/Darwin/x86-64/objc-imageinfo.S

  Log Message:
  -----------
  [ORC-RT] Use llvm-jitlink -num-threads=0 for objc-imageinfo.S tests.

These testcases depend on debugging output, which isn't stable under concurrent
linking.


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

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

  Log Message:
  -----------
  [ORC][MachO] Fix deferred action handling during MachOPlatform bootstrap.

DeferredAAs should only capture bootstrap actions, but after 30b73ed7bd it was
capturing all actions, including those from other plugins. This is problematic
as other plugins may introduce actions that need to run before the platform
actions (e.g. on arm64e we need pointer signing to run before we access any
global pointers in the graph).

Note that this effectively undoes 30b73ed7bd, which was a buggy attempt to
synchronize writes to the DeferredAAs vector. This patch fixes that issue the
obvious way by locking the bootstrap mutex while accessing the DeferredAAs
vector.

No testcase yet: So far I've only seen this fail during bootstrap of arm64e
JIT'd programs.


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

  Changed paths:
    M clang/include/clang/StaticAnalyzer/Core/PathSensitive/SymbolManager.h
    M clang/lib/StaticAnalyzer/Core/MemRegion.cpp
    M clang/lib/StaticAnalyzer/Core/RangeConstraintManager.cpp
    M clang/lib/StaticAnalyzer/Core/RangedConstraintManager.cpp
    M clang/lib/StaticAnalyzer/Core/SValBuilder.cpp
    M clang/lib/StaticAnalyzer/Core/SimpleSValBuilder.cpp
    M clang/lib/StaticAnalyzer/Core/SymbolManager.cpp

  Log Message:
  -----------
  [analyzer][NFC] Factor out SymbolManager::get<*> (#121781)

Replace the family of `SymbolManager::get*Symbol(...)` member functions
with a single generic `SymbolManager::get<*>` member function.


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

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

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

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: 5e92e8ca98dba21c9d8131e611f7158fe9ab3968
      https://github.com/llvm/llvm-project/commit/5e92e8ca98dba21c9d8131e611f7158fe9ab3968
  Author: Phoebe Wang <phoebe.wang at intel.com>
  Date:   2025-01-10 (Fri, 10 Jan 2025)

  Changed paths:
    M clang/lib/Headers/intrin.h

  Log Message:
  -----------
  [X86] Fix the implementation of __readcr[4,8]/__writecr[4,8] to work in 64-bit mode (#122238)

According to MSVC, __readcr4/__writecr4 return/use `unsigned __int64`,
and are supported on both x86 and x64. While __readcr8/__writecr8 are
only supported on x64. So we use __INTPTR_TYPE__ and __int64
respectively.

Following:
https://github.com/llvm/llvm-project/commit/3cec2a17de744900401c83aedb442e2acc1f23f8

Ref.:
https://learn.microsoft.com/en-us/cpp/intrinsics/readcr3?view=msvc-170
https://learn.microsoft.com/en-us/cpp/intrinsics/readcr8?view=msvc-170


  Commit: e0f14e11c7d1a5e82297b1dc9590d79f84c15163
      https://github.com/llvm/llvm-project/commit/e0f14e11c7d1a5e82297b1dc9590d79f84c15163
  Author: Mel Chen <mel.chen at sifive.com>
  Date:   2025-01-10 (Fri, 10 Jan 2025)

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

  Log Message:
  -----------
  [SLPVectorizer] Refine the scope of RdxOpcode in HorizontalReduction::createOp (NFC) (#122239)

This patch is one part of unifying IAnyOf and FAnyOf reduction. #118393
The related patch is #118777.


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

  Changed paths:
    M llvm/lib/CodeGen/MachineLICM.cpp
    M llvm/test/CodeGen/AMDGPU/GlobalISel/atomicrmw_fmax.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/atomicrmw_fmin.ll
    M llvm/test/CodeGen/AMDGPU/agpr-copy-no-free-registers.ll
    M llvm/test/CodeGen/AMDGPU/buffer-fat-pointer-atomicrmw-fadd.ll
    M llvm/test/CodeGen/AMDGPU/buffer-fat-pointer-atomicrmw-fmax.ll
    M llvm/test/CodeGen/AMDGPU/buffer-fat-pointer-atomicrmw-fmin.ll
    M llvm/test/CodeGen/AMDGPU/codegen-prepare-addrspacecast-non-null.ll
    M llvm/test/CodeGen/AMDGPU/exec-mask-opt-cannot-create-empty-or-backward-segment.ll
    M llvm/test/CodeGen/AMDGPU/flat-atomicrmw-fadd.ll
    M llvm/test/CodeGen/AMDGPU/flat-atomicrmw-fmax.ll
    M llvm/test/CodeGen/AMDGPU/flat-atomicrmw-fmin.ll
    M llvm/test/CodeGen/AMDGPU/flat-atomicrmw-fsub.ll
    M llvm/test/CodeGen/AMDGPU/flat_atomics_i32_system.ll
    M llvm/test/CodeGen/AMDGPU/flat_atomics_i64_system.ll
    M llvm/test/CodeGen/AMDGPU/flat_atomics_i64_system_noprivate.ll
    M llvm/test/CodeGen/AMDGPU/fp64-atomics-gfx90a.ll
    M llvm/test/CodeGen/AMDGPU/global-atomicrmw-fadd.ll
    M llvm/test/CodeGen/AMDGPU/global-atomicrmw-fmax.ll
    M llvm/test/CodeGen/AMDGPU/global-atomicrmw-fmin.ll
    M llvm/test/CodeGen/AMDGPU/global-atomicrmw-fsub.ll
    M llvm/test/CodeGen/AMDGPU/global-load-saddr-to-vaddr.ll
    M llvm/test/CodeGen/AMDGPU/global_atomics_i32_system.ll
    M llvm/test/CodeGen/AMDGPU/global_atomics_i64_system.ll
    M llvm/test/CodeGen/AMDGPU/global_atomics_scan_fmax.ll
    M llvm/test/CodeGen/AMDGPU/global_atomics_scan_fmin.ll
    M llvm/test/CodeGen/AMDGPU/insert-delay-alu-bug.ll
    M llvm/test/CodeGen/AMDGPU/licm-regpressure.mir
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.struct.atomic.buffer.load.ll
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.struct.ptr.atomic.buffer.load.ll
    M llvm/test/CodeGen/AMDGPU/local-atomicrmw-fadd.ll
    M llvm/test/CodeGen/AMDGPU/local-atomicrmw-fmax.ll
    M llvm/test/CodeGen/AMDGPU/local-atomicrmw-fmin.ll
    M llvm/test/CodeGen/AMDGPU/local-atomicrmw-fsub.ll
    M llvm/test/CodeGen/AMDGPU/memcpy-crash-issue63986.ll
    M llvm/test/CodeGen/AMDGPU/no-fold-accvgpr-mov.ll
    M llvm/test/CodeGen/AMDGPU/optimize-negated-cond.ll
    M llvm/test/CodeGen/AMDGPU/sdiv64.ll
    M llvm/test/CodeGen/AMDGPU/srem64.ll
    M llvm/test/CodeGen/AMDGPU/tuple-allocation-failure.ll
    M llvm/test/CodeGen/AMDGPU/udiv64.ll
    M llvm/test/CodeGen/AMDGPU/undefined-subreg-liverange.ll
    M llvm/test/CodeGen/AMDGPU/urem64.ll
    M llvm/test/CodeGen/AMDGPU/vgpr-descriptor-waterfall-loop-idom-update.ll
    M llvm/test/CodeGen/LoongArch/jr-without-ra.ll
    M llvm/test/CodeGen/RISCV/rvv/vxrm-insert-out-of-loop.ll
    M llvm/test/CodeGen/Thumb2/mve-blockplacement.ll
    M llvm/test/CodeGen/Thumb2/mve-gather-increment.ll
    M llvm/test/CodeGen/Thumb2/mve-gather-scatter-optimisation.ll
    M llvm/test/Transforms/InferAddressSpaces/AMDGPU/flat_atomic.ll

  Log Message:
  -----------
  Revert "[MachineLICM] Use `RegisterClassInfo::getRegPressureSetLimit` (#119826)"

This reverts commit b4e17d4a314ed87ff6b40b4b05397d4b25b6636a.

This causes a large compile-time regression.


  Commit: 75a4563fc164e268d2a7af5735d5e84ceee865e7
      https://github.com/llvm/llvm-project/commit/75a4563fc164e268d2a7af5735d5e84ceee865e7
  Author: Nikita Popov <npopov at redhat.com>
  Date:   2025-01-10 (Fri, 10 Jan 2025)

  Changed paths:
    M llvm/Maintainers.md

  Log Message:
  -----------
  [LLVM] Update windows codegen maintainer (#119576)

I think that nowadays the go-to contact for Windows codegen is rnk.


  Commit: 4adeb6cf556df10da668916b22eb39d3f1313e8a
      https://github.com/llvm/llvm-project/commit/4adeb6cf556df10da668916b22eb39d3f1313e8a
  Author: Lukas Sommer <lukas.sommer at codeplay.com>
  Date:   2025-01-10 (Fri, 10 Jan 2025)

  Changed paths:
    M mlir/lib/Conversion/SPIRVToLLVM/SPIRVToLLVM.cpp
    M mlir/test/Conversion/SPIRVToLLVM/non-uniform-ops-to-llvm.mlir

  Log Message:
  -----------
  [mlir][spirv] Add convergent attribute to builtin (#122131)

Add the `convergent` attribute to builtin functions and builtin function
calls when lowering SPIR-V non-uniform group functions to LLVM dialect.

---------

Signed-off-by: Lukas Sommer <lukas.sommer at codeplay.com>


  Commit: 05dfbc146d87866f0ef22dc88f729b5b9fdfe1a0
      https://github.com/llvm/llvm-project/commit/05dfbc146d87866f0ef22dc88f729b5b9fdfe1a0
  Author: Pavel Labath <pavel at labath.sk>
  Date:   2025-01-10 (Fri, 10 Jan 2025)

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

  Log Message:
  -----------
  [lldb] Regularize DWARFDIE::Get{TypeLookup,Decl}Context names (#122273)

The functions call GetName for everything except variables, where they
call GetPubname instead. The difference is that the latter prefers to
return the linkage name, if it is available.

This doesn't seem particularly useful given that the linkage name
already kind of contains the context of the variable, and I doubt that
anything depends on it as these functions are currently called on type
and subprogram DIEs -- not variables.

This makes it easier to simplify/deduplicate these functions later.


  Commit: 6504546abcd38159256c3030286b1c02b401c4f8
      https://github.com/llvm/llvm-project/commit/6504546abcd38159256c3030286b1c02b401c4f8
  Author: maflcko <6399679+maflcko at users.noreply.github.com>
  Date:   2025-01-10 (Fri, 10 Jan 2025)

  Changed paths:
    M clang-tools-extra/clang-tidy/misc/UseInternalLinkageCheck.cpp
    M clang-tools-extra/docs/ReleaseNotes.rst
    A clang-tools-extra/test/clang-tidy/checkers/misc/use-internal-linkage-consteval.cpp

  Log Message:
  -----------
  [clang-tidy][use-internal-linkage] fix false positive for consteval function (#122141)

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

---------

Co-authored-by: MarcoFalke <*~=`'#}+{/-|&$^_ at 721217.xyz>


  Commit: 86b1b0671cafd462c0aa681e2d320ce597300f69
      https://github.com/llvm/llvm-project/commit/86b1b0671cafd462c0aa681e2d320ce597300f69
  Author: Guy David <49722543+guy-david at users.noreply.github.com>
  Date:   2025-01-10 (Fri, 10 Jan 2025)

  Changed paths:
    M llvm/lib/CodeGen/MachineVerifier.cpp
    A llvm/test/MachineVerifier/stack-protector-offset.mir

  Log Message:
  -----------
  MachineVerifier: Check stack protector is top-most in frame (#121481)

Somewhat paranoid, but mitigates potential bugs in the future that might
place it elsewhere and render the mechanism useless.


  Commit: 66a88f62cd56e55b5fa0ddb1bdffa549f7565f8f
      https://github.com/llvm/llvm-project/commit/66a88f62cd56e55b5fa0ddb1bdffa549f7565f8f
  Author: Pavel Labath <pavel at labath.sk>
  Date:   2025-01-10 (Fri, 10 Jan 2025)

  Changed paths:
    M lldb/include/lldb/Symbol/Function.h
    M lldb/source/API/SBBlock.cpp
    M lldb/source/API/SBFunction.cpp
    M lldb/source/Breakpoint/BreakpointResolver.cpp
    M lldb/source/Breakpoint/BreakpointResolverName.cpp
    M lldb/source/Core/SearchFilter.cpp
    M lldb/source/Expression/DWARFExpressionList.cpp
    M lldb/source/Expression/IRExecutionUnit.cpp
    M lldb/source/Plugins/Architecture/Mips/ArchitectureMips.cpp
    M lldb/source/Plugins/DynamicLoader/MacOSX-DYLD/DynamicLoaderDarwin.cpp
    M lldb/source/Plugins/DynamicLoader/POSIX-DYLD/DynamicLoaderPOSIXDYLD.cpp
    M lldb/source/Plugins/ExpressionParser/Clang/ClangExpressionDeclMap.cpp
    M lldb/source/Plugins/SymbolFile/Breakpad/SymbolFileBreakpad.cpp
    M lldb/source/Plugins/SymbolFile/DWARF/SymbolFileDWARFDebugMap.cpp
    M lldb/source/Plugins/SymbolFile/NativePDB/SymbolFileNativePDB.cpp
    M lldb/source/Symbol/Block.cpp
    M lldb/source/Symbol/Function.cpp
    M lldb/source/Symbol/SymbolContext.cpp
    M lldb/source/Symbol/Variable.cpp
    M lldb/source/Target/StackFrame.cpp
    M lldb/source/Target/ThreadPlanStepInRange.cpp
    M lldb/source/ValueObject/ValueObjectVariable.cpp

  Log Message:
  -----------
  [lldb] Add Function::GetAddress and redirect some uses (#115836)

Many calls to Function::GetAddressRange() were not interested in the
range itself. Instead they wanted to find the address of the function
(its entry point) or the base address for relocation of function-scoped
entities (technically, the two don't need to be the same, but there's
isn't good reason for them not to be). This PR creates a separate
function for retrieving this, and changes the existing
(non-controversial) uses to call that instead.


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

  Changed paths:
    M llvm/include/llvm/CodeGen/TargetLowering.h
    M llvm/lib/Target/AMDGPU/SIISelLowering.cpp
    M llvm/lib/Target/AMDGPU/SIISelLowering.h

  Log Message:
  -----------
  [CodeGen] Add const to getAddrModeArguments argument. NFC. (#122335)


  Commit: 46ca6dfb5f0783d68cd738501a26a1a9455ff74e
      https://github.com/llvm/llvm-project/commit/46ca6dfb5f0783d68cd738501a26a1a9455ff74e
  Author: Matt Arsenault <Matthew.Arsenault at amd.com>
  Date:   2025-01-10 (Fri, 10 Jan 2025)

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

  Log Message:
  -----------
  AMDGPU: Add disjoint to or produced from lowering vector ops (#122424)


  Commit: 98e5962b7c9fee60b81164025dc17ab31f49f5b7
      https://github.com/llvm/llvm-project/commit/98e5962b7c9fee60b81164025dc17ab31f49f5b7
  Author: LiqinWeng <liqin.weng at spacemit.com>
  Date:   2025-01-10 (Fri, 10 Jan 2025)

  Changed paths:
    M llvm/lib/Target/RISCV/RISCVTargetTransformInfo.cpp
    M llvm/test/Analysis/CostModel/RISCV/fp-min-max-abs.ll
    M llvm/test/Analysis/CostModel/RISCV/fp-sqrt-pow.ll

  Log Message:
  -----------
  [RISCV][CostModel] Add cost for fabs/fsqrt of type bf16/f16 (#118608)


  Commit: 66e41a1a20f2190a800669028a0e80bd86e735ce
      https://github.com/llvm/llvm-project/commit/66e41a1a20f2190a800669028a0e80bd86e735ce
  Author: Guray Ozen <guray.ozen at gmail.com>
  Date:   2025-01-10 (Fri, 10 Jan 2025)

  Changed paths:
    M mlir/include/mlir/Dialect/LLVMIR/NVVMDialect.h
    M mlir/include/mlir/Dialect/LLVMIR/NVVMOps.td
    M mlir/lib/Dialect/LLVMIR/IR/NVVMDialect.cpp
    A mlir/test/Dialect/LLVMIR/nvvm-test-range.mlir

  Log Message:
  -----------
  [MLIR][NVVM] Declare InferIntRangeInterface for RangeableRegisterOp (#122263)


  Commit: eb63cd62a4a1907dbd58f12660efd8244e7d81e9
      https://github.com/llvm/llvm-project/commit/eb63cd62a4a1907dbd58f12660efd8244e7d81e9
  Author: Momchil Velikov <momchil.velikov at arm.com>
  Date:   2025-01-10 (Fri, 10 Jan 2025)

  Changed paths:
    M llvm/include/llvm/Transforms/Scalar/GVN.h
    M llvm/lib/Passes/PassBuilder.cpp
    M llvm/lib/Passes/PassRegistry.def
    M llvm/lib/Transforms/Scalar/GVN.cpp
    M llvm/test/Other/new-pm-print-pipeline.ll

  Log Message:
  -----------
  [GVN] MemorySSA for GVN: add optional `AllowMemorySSA`

Preparatory work to migrate from MemoryDependenceAnalysis
towards MemorySSA in GVN.

Co-authored-by: Antonio Frighetto <me at antoniofrighetto.com>


  Commit: 4c853be6673fd95b4b900a6c0e1804bf33a0629c
      https://github.com/llvm/llvm-project/commit/4c853be6673fd95b4b900a6c0e1804bf33a0629c
  Author: Usha Gupta <usha.gupta at arm.com>
  Date:   2025-01-10 (Fri, 10 Jan 2025)

  Changed paths:
    M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
    M llvm/test/CodeGen/AArch64/arm64-popcnt.ll
    M llvm/test/CodeGen/AArch64/dp1.ll
    M llvm/test/CodeGen/AArch64/parity.ll
    M llvm/test/CodeGen/AArch64/popcount.ll

  Log Message:
  -----------
  [AArch64] Replace uaddlv with addv for popcount operation (#121934)

Replace `uaddlv` with `addv` for popcount operation as it is simpler
operation.

On certain platforms like Cortex-A510, `addv` has a latency of 3 cycles
whereas `uaddlv` has a latency of 4 cycles

GCC generates `addv` as well:
https://godbolt.org/z/MnYG9jcEo


  Commit: 4e32271e8b304eb018c69f74c16edd1668fcdaf3
      https://github.com/llvm/llvm-project/commit/4e32271e8b304eb018c69f74c16edd1668fcdaf3
  Author: Kerry McLaughlin <kerry.mclaughlin at arm.com>
  Date:   2025-01-10 (Fri, 10 Jan 2025)

  Changed paths:
    M clang/include/clang/Sema/SemaARM.h
    M clang/lib/Sema/SemaARM.cpp
    M clang/lib/Sema/SemaDecl.cpp
    M clang/lib/Sema/SemaLambda.cpp
    M clang/test/Sema/aarch64-sme-func-attrs-without-target-feature.cpp

  Log Message:
  -----------
  [AArch64][SME] Add diagnostics for SME attributes on lambda functions (#121777)

CheckFunctionDeclaration emits diagnostics if any SME attributes are used
by a function definition without the required +sme or +sme2 target features.
This patch moves these diagnostics to a new function in SemaARM and
also adds a call to this from ActOnStartOfLambdaDefinition.


  Commit: 854cbbf4a8e7e98b7461eae2c2a37cfa767f791c
      https://github.com/llvm/llvm-project/commit/854cbbf4a8e7e98b7461eae2c2a37cfa767f791c
  Author: Balázs Kéri <balazs.keri at ericsson.com>
  Date:   2025-01-10 (Fri, 10 Jan 2025)

  Changed paths:
    M clang/include/clang/StaticAnalyzer/Checkers/Checkers.td
    M clang/lib/StaticAnalyzer/Checkers/DereferenceChecker.cpp
    M clang/test/Analysis/analyzer-enabled-checkers.c
    M clang/test/Analysis/std-c-library-functions-arg-enabled-checkers.c

  Log Message:
  -----------
  [clang][analyzer] Split NullDereferenceChecker into modeling and reporting (#122139)

The checker currently reports beneath the null dereference dereferences
of undefined value and of label addresses. If we want to add more kinds
of invalid dereferences (or split the existing functionality) it is more
useful to make it separate checkers.
To make this possible the existing checker is split into a
DereferenceModeling part and a NullDereference checker that actually
only switches on the check of null dereference. This is similar
architecture as in MallocChecker and CStringChecker.

The change is almost NFC but a new (modeling) checker is added. If the
NullDereference checker is turned off the found invalid dereferences
will still stop the analysis without emitted warning (this is different
compared to the old behavior).


  Commit: 1ef258097293fb008bdf3a8955feae0f08fdd9ae
      https://github.com/llvm/llvm-project/commit/1ef258097293fb008bdf3a8955feae0f08fdd9ae
  Author: Guray Ozen <gozen at nvidia.com>
  Date:   2025-01-10 (Fri, 10 Jan 2025)

  Changed paths:
    M mlir/lib/Dialect/LLVMIR/CMakeLists.txt

  Log Message:
  -----------
  [MLIR][NVVM] Add missing cmake dependency

NVVMdialect uses InferIntRangeInterface, but its dependence was missing in cmake. This PR adds that.


  Commit: 3def49cb64ec1298290724081bd37dbdeb2ea5f8
      https://github.com/llvm/llvm-project/commit/3def49cb64ec1298290724081bd37dbdeb2ea5f8
  Author: Mirko Brkušanin <Mirko.Brkusanin at amd.com>
  Date:   2025-01-10 (Fri, 10 Jan 2025)

  Changed paths:
    M clang/include/clang/Basic/BuiltinsAMDGPU.def
    M clang/test/CodeGenOpenCL/builtins-amdgcn-gfx12.cl
    M llvm/include/llvm/IR/IntrinsicsAMDGPU.td
    M llvm/lib/Target/AMDGPU/AMDGPUInstructionSelector.cpp
    M llvm/lib/Target/AMDGPU/AMDGPUMemoryUtils.cpp
    M llvm/lib/Target/AMDGPU/AMDGPURegisterBankInfo.cpp
    M llvm/lib/Target/AMDGPU/SIISelLowering.cpp
    M llvm/lib/Target/AMDGPU/SOPInstructions.td
    M llvm/test/CodeGen/AMDGPU/s-barrier.ll
    M llvm/test/MC/AMDGPU/gfx12_asm_sop1.s
    M llvm/test/MC/Disassembler/AMDGPU/gfx12_dasm_sop1.txt

  Log Message:
  -----------
  [AMDGPU] Remove s_wakeup_barrier instruction (#122277)


  Commit: 2e6030ef6a1792bea40aa6b0421f9a5fc9243214
      https://github.com/llvm/llvm-project/commit/2e6030ef6a1792bea40aa6b0421f9a5fc9243214
  Author: Guray Ozen <gozen at nvidia.com>
  Date:   2025-01-10 (Fri, 10 Jan 2025)

  Changed paths:
    M mlir/lib/Dialect/LLVMIR/CMakeLists.txt

  Log Message:
  -----------
  [MLIR][NVVM] Add missing cmake dependency

Another fix


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

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

  Log Message:
  -----------
  [SDAG] Set IsPostTypeLegalization flag in LegalizeDAG (#122278)

This runs after type legalization and as such should set
IsPostTypeLegalization when creating libcalls. I don't think this makes
any observable difference right now, but I ran into this issue in an
upcoming patch.


  Commit: 4f69f4579132900949a7886fe3ba92d693430da0
      https://github.com/llvm/llvm-project/commit/4f69f4579132900949a7886fe3ba92d693430da0
  Author: Maksim Ivanov <emaxx at google.com>
  Date:   2025-01-10 (Fri, 10 Jan 2025)

  Changed paths:
    M clang/docs/ReleaseNotes.rst
    M clang/lib/Sema/SemaType.cpp
    M clang/test/SemaCXX/attr-lifetimebound.cpp

  Log Message:
  -----------
  (reland) [clang] Warn [[clang::lifetimebound]] misusages on types (#118501)

This relands #118281 as-is, after it got reverted in commit
356df2dd72e8299b5de58e9390283110c19f7c76. The reland can go in after we
fixed some downstream codebases that had incorrectly placed attributes.

Original commit description:

> Emit the "cannot be applied to types" warning instead of silently
ignoring the attribute when it's attempted to be used on a type (instead
of a function argument or the function definition).
>
> Before this commit, the warning has been printed when the attribute
was (mis)used on a decl-specifier, but not in other places in a
declarator.
>
> Examples where the warning starts being emitted with this commit:
>
> ```
>   int * [[clang::lifetimebound]] x;
>
>   void f(int * [[clang::lifetimebound]] x);
>
>   void g(int * [[clang::lifetimebound]]);
> ```
>
> Note that the last example is the case of an unnamed function
parameter. While in theory Clang could've supported the
`[[clang::lifetimebound]]` analysis for unnamed parameters, it doesn't
currently, so the commit at least makes the situation better by
highlighting this as a warning instead of a silent ignore - which was
reported at #96034.


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

  Changed paths:
    M llvm/Maintainers.md

  Log Message:
  -----------
  [LLVM][Maintainers] Remove disclaimer

This list is mostly up to date now, so remove the disclaimer.


  Commit: 5a069eac5fbb7752e7602b783ee0102e8269c47a
      https://github.com/llvm/llvm-project/commit/5a069eac5fbb7752e7602b783ee0102e8269c47a
  Author: David Green <david.green at arm.com>
  Date:   2025-01-10 (Fri, 10 Jan 2025)

  Changed paths:
    M llvm/lib/Target/AArch64/AArch64TargetTransformInfo.cpp
    M llvm/test/CodeGen/AArch64/aarch64-dup-ext-crash.ll

  Log Message:
  -----------
  [AArch64] Don't try to sink and(load) (#122274)

If we sink the and in and(load), CGP can hoist is back again to the
load, getting into an infinite loop. This prevents sinking the and in
this case.

Fixes #122074


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

  Changed paths:
    M llvm/include/llvm/Transforms/Scalar/GVN.h
    M llvm/lib/Passes/PassBuilder.cpp
    M llvm/lib/Passes/PassRegistry.def
    M llvm/lib/Transforms/Scalar/GVN.cpp
    M llvm/test/Other/new-pm-print-pipeline.ll

  Log Message:
  -----------
  Revert "[GVN] MemorySSA for GVN: add optional `AllowMemorySSA`"

This reverts commit eb63cd62a4a1907dbd58f12660efd8244e7d81e9.

This changes the preservation behavior for MSSA when the new flag
is not enabled.


  Commit: b53e79422adb83870f44c55d977989da3e5c8c69
      https://github.com/llvm/llvm-project/commit/b53e79422adb83870f44c55d977989da3e5c8c69
  Author: Ramkumar Ramachandra <ramkumar.ramachandra at codasip.com>
  Date:   2025-01-10 (Fri, 10 Jan 2025)

  Changed paths:
    M llvm/lib/Analysis/ValueTracking.cpp
    M llvm/test/Analysis/ValueTracking/implied-condition-samesign.ll

  Log Message:
  -----------
  VT: teach isImpliedCondOperands about samesign (#120263)

isImpliedCondICmps() and its callers in ValueTracking can greatly
benefit from being taught about samesign. As a first step, teach one
caller, namely isImpliedCondOperands(). Very minimal changes are
required for this, as CmpPredicate::getMatching() does most of the work.


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

  Changed paths:
    M llvm/lib/CodeGen/MachineVerifier.cpp
    R llvm/test/MachineVerifier/stack-protector-offset.mir

  Log Message:
  -----------
  Revert 86b1b0671cafd "MachineVerifier: Check stack protector is top-most in frame" (#122444)

Reverts llvm/llvm-project#121481

This is causing build failures on EXPENSIVE_CHECKS builds:
https://lab.llvm.org/buildbot/#/builders/187/builds/3653
https://lab.llvm.org/buildbot/#/builders/16/builds/11758


  Commit: f44ed64864642b008f0c757a5ff37c150ce47d48
      https://github.com/llvm/llvm-project/commit/f44ed64864642b008f0c757a5ff37c150ce47d48
  Author: Pavel Labath <pavel at labath.sk>
  Date:   2025-01-10 (Fri, 10 Jan 2025)

  Changed paths:
    M lldb/source/Plugins/Process/Linux/NativeProcessLinux.cpp

  Log Message:
  -----------
  [lldb] Fix some log messages in NativeProcessLinux


  Commit: 85ca5517633e06d7cf58688c9b246bf14f61e5bd
      https://github.com/llvm/llvm-project/commit/85ca5517633e06d7cf58688c9b246bf14f61e5bd
  Author: A. Jiang <de34 at live.cn>
  Date:   2025-01-10 (Fri, 10 Jan 2025)

  Changed paths:
    M libcxx/docs/ReleaseNotes/20.rst
    M libcxx/include/__chrono/weekday.h
    M libcxx/include/__cxx03/__chrono/weekday.h

  Log Message:
  -----------
  [libc++][chrono] Entirely remove relational operators for `std::chrono::weekday` (#122428)

Follows-up #98730.


  Commit: 6b12272353b45def33bf5814cdf9e8587f32d40e
      https://github.com/llvm/llvm-project/commit/6b12272353b45def33bf5814cdf9e8587f32d40e
  Author: Maksim Ivanov <emaxx at google.com>
  Date:   2025-01-10 (Fri, 10 Jan 2025)

  Changed paths:
    M clang/lib/Parse/ParseDecl.cpp
    M clang/test/SemaCXX/attr-lifetimebound.cpp

  Log Message:
  -----------
  [clang] Informative error for lifetimebound in decl-spec (#118567)

Emit a bit more informative error when the `[[clang::lifetimebound]]`
attribute is wrongly appearing on a decl-spec:

```
'lifetimebound' attribute only applies to parameters and implicit
object parameters
```

instead of:

```
'lifetimebound' attribute cannot be applied to types
```

The new error is also consistent with the diagnostic emitted when the
attribute is misplaced in other parts of a declarator.


  Commit: 799e9883eaf7c7bdebfb8ddb3366d9137527b29d
      https://github.com/llvm/llvm-project/commit/799e9883eaf7c7bdebfb8ddb3366d9137527b29d
  Author: Jacek Caban <jacek at codeweavers.com>
  Date:   2025-01-10 (Fri, 10 Jan 2025)

  Changed paths:
    M lld/COFF/Chunks.cpp

  Log Message:
  -----------
  [LLD][COFF] Silence GCC warning in Arm64XDynamicRelocEntry::getSize (NFC) (#122382)

Fixes 71bbafba31699bdabe289654d157ae961432e52a.


  Commit: 7b0536794349734c8862fc140808e4e5a2ab8f8d
      https://github.com/llvm/llvm-project/commit/7b0536794349734c8862fc140808e4e5a2ab8f8d
  Author: Sergei Barannikov <barannikov88 at gmail.com>
  Date:   2025-01-10 (Fri, 10 Jan 2025)

  Changed paths:
    M llvm/include/llvm/Support/Casting.h
    M llvm/lib/CodeGen/RegisterBankInfo.cpp
    M llvm/lib/Target/AMDGPU/SIRegisterInfo.cpp
    M llvm/unittests/ADT/PointerUnionTest.cpp

  Log Message:
  -----------
  [ADT] Fix specialization of ValueIsPresent for PointerUnion (#121847)

Two instances of `PointerUnion` with different active members and null
value compare unequal. Currently, this results in counterintuitive
behavior when using functions from `Casting.h`, e.g.:

```C++
  PointerUnion<int *, float *> U;
  // U = (int *)nullptr;
  dyn_cast<int *>(U); // Aborts
  dyn_cast<float *>(U); // Aborts
  U = (float *)nullptr;
  dyn_cast<int *>(U); // OK
  dyn_cast<float *>(U); // OK
```

`dyn_cast` should abort in all cases because the argument is null.
Currently, it aborts only if the first member is active. This happens
because the partial template specialization of `ValueIsPresent` for
nullable types compares the union with a union constructed from nullptr,
and the two unions compare equal only if their active members are the
same.

This patch changed the specialization of `ValueIsPresent` for nullable
types to make `isPresent()` return false for all possible null values of
a PointerUnion, and fixes two places where the old behavior was
exploited.

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


  Commit: cfee344dda7394631f2177a15e56cfeee1d61fc4
      https://github.com/llvm/llvm-project/commit/cfee344dda7394631f2177a15e56cfeee1d61fc4
  Author: Ramkumar Ramachandra <ramkumar.ramachandra at codasip.com>
  Date:   2025-01-10 (Fri, 10 Jan 2025)

  Changed paths:
    M llvm/lib/Analysis/ValueTracking.cpp
    M llvm/test/Analysis/ValueTracking/implied-condition-samesign.ll

  Log Message:
  -----------
  VT: teach implied-cond-cr about samesign (#122447)

Teach isImpliedCondCommonOperandWithCR about samesign, noting that the
only case we need to handle is when exactly one of the icmps have
samesign.


  Commit: c575a7d1e9b732432bf95c7905067b779f43d1a4
      https://github.com/llvm/llvm-project/commit/c575a7d1e9b732432bf95c7905067b779f43d1a4
  Author: Jakub Chlanda <jakub at codeplay.com>
  Date:   2025-01-10 (Fri, 10 Jan 2025)

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

  Log Message:
  -----------
  [AMDGPU] Provide default value in get intrinsic param type (#122448)

Make sure that a default value (nullptr) is returned from
`getIntrinsicParamType`, also validate uses of this helper function.


  Commit: a2995cb4bb21ba2fe6277bbcd24b8ab1b357e12d
      https://github.com/llvm/llvm-project/commit/a2995cb4bb21ba2fe6277bbcd24b8ab1b357e12d
  Author: Ayokunle Amodu <ayokunle321 at gmail.com>
  Date:   2025-01-10 (Fri, 10 Jan 2025)

  Changed paths:
    M llvm/docs/LangRef.rst

  Log Message:
  -----------
  [LangRef] Fix code segment and numbering issue in the 'call' instruction section (#122294)

Fixes issue #122084.

Under "Arguments" in the 'call' instruction section, there was some text
included in the code segment so I edited it out. Also fixed the
numbering issue in that section.


  Commit: 9c85cdec4ad29389c27cc2372d45f73d1ca8053a
      https://github.com/llvm/llvm-project/commit/9c85cdec4ad29389c27cc2372d45f73d1ca8053a
  Author: Brox Chen <guochen2 at amd.com>
  Date:   2025-01-10 (Fri, 10 Jan 2025)

  Changed paths:
    M llvm/test/MC/Disassembler/AMDGPU/gfx11_dasm_vop3_dpp16_from_vopc.txt
    M llvm/test/MC/Disassembler/AMDGPU/gfx11_dasm_vop3_dpp16_from_vopcx.txt
    M llvm/test/MC/Disassembler/AMDGPU/gfx11_dasm_vop3_dpp8_from_vopc.txt
    M llvm/test/MC/Disassembler/AMDGPU/gfx11_dasm_vop3_dpp8_from_vopcx.txt
    M llvm/test/MC/Disassembler/AMDGPU/gfx11_dasm_vop3_from_vopc.txt
    M llvm/test/MC/Disassembler/AMDGPU/gfx11_dasm_vop3_from_vopcx.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/gfx11_dasm_vopcx.txt
    M llvm/test/MC/Disassembler/AMDGPU/gfx11_dasm_vopcx_dpp16.txt
    M llvm/test/MC/Disassembler/AMDGPU/gfx11_dasm_vopcx_dpp8.txt
    M llvm/test/MC/Disassembler/AMDGPU/gfx12_dasm_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_vop3cx.txt
    M llvm/test/MC/Disassembler/AMDGPU/gfx12_dasm_vop3cx_dpp16.txt
    M llvm/test/MC/Disassembler/AMDGPU/gfx12_dasm_vop3cx_dpp8.txt
    M llvm/test/MC/Disassembler/AMDGPU/gfx12_dasm_vopc.txt
    M llvm/test/MC/Disassembler/AMDGPU/gfx12_dasm_vopc_dpp16.txt
    M llvm/test/MC/Disassembler/AMDGPU/gfx12_dasm_vopc_dpp8.txt
    M llvm/test/MC/Disassembler/AMDGPU/gfx12_dasm_vopcx.txt
    M llvm/test/MC/Disassembler/AMDGPU/gfx12_dasm_vopcx_dpp16.txt
    M llvm/test/MC/Disassembler/AMDGPU/gfx12_dasm_vopcx_dpp8.txt

  Log Message:
  -----------
  [AMDGPU][True16][MC][NFC]update vopc dasm test with latest update script (#122360)

This is a NFC. 

Update VOPC dasm test with +real-true16 and run latest update script.


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

  Changed paths:
    M llvm/include/llvm/Analysis/VectorUtils.h
    M llvm/lib/Analysis/VectorUtils.cpp
    M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
    M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-int-shuffles.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-interleaved-access.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-shuffle-reverse.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-shuffle-rotate.ll

  Log Message:
  -----------
  [RISCV] Attempt to widen SEW before generic shuffle lowering (#122311)

This takes inspiration from AArch64 which does the same thing to assist
with zip/trn/etc.. Doing this recursion unconditionally when the mask
allows is slightly questionable, but seems to work out okay in practice.

As a bit of context, it's helpful to realize that we have existing logic
in both DAGCombine and InstCombine which mutates the element width of in
an analogous manner. However, that code has two restriction which
prevent it from handling the motivating cases here. First, it only
triggers if there is a bitcast involving a different element type.
Second, the matcher used considers a partially undef wide element to be
a non-match. I considered trying to relax those assumptions, but the
information loss for undef in mid-level opt seemed more likely to open a
can of worms than I wanted.


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

  Changed paths:
    M llvm/lib/Target/X86/X86ISelLowering.cpp
    M llvm/test/CodeGen/X86/shuffle-vs-trunc-512.ll
    M llvm/test/CodeGen/X86/vector-shuffle-combining-avx.ll

  Log Message:
  -----------
  [X86] widenSubVector - widen from smaller build vector if the upper elements are already the same padding elements (#122445)

Further simplifies some shuffle masks to help additional combines


  Commit: d6b6598e8075a5ba0271ee06a20c5a5609c0ec37
      https://github.com/llvm/llvm-project/commit/d6b6598e8075a5ba0271ee06a20c5a5609c0ec37
  Author: thebrandre <andre.brand at mailbox.org>
  Date:   2025-01-10 (Fri, 10 Jan 2025)

  Changed paths:
    M clang/docs/ReleaseNotes.rst
    M clang/lib/Sema/SemaTemplateInstantiateDecl.cpp
    A clang/test/SemaCXX/opaque-enum-declaration-in-class-template.cpp

  Log Message:
  -----------
  [clang] Fix implicit integer conversion for opaque enums declared in class templates (#121039)

This commit fixes issues with enumeration types instantiated from an
opaque-enum-declarations
(see [dcl.enum]) in class templates broke basic assumptions during
parsing of arithmetic
expressions due to absent (NULL TYPE) promotion types of instances of
EnumDecl.

To this end, we repeat the simple steps in `Sema::ActOnTag` to evaluate
the promotion type
of a fixed enumeration based on its underlying type (see C++11
[conv.prom] p4).

Note that if, instead, a full *enum-specifier* (subsequent curly braces)
is provided,
`Sema::ActOnEnumBody` is re-invoked on template instantiation anyway
overriding the
promotion type and hiding the issue. This is analog to how enumerations
declarations
outside of template declarations are handled.
Note that, in contrast to `Sema::ActOnEnumBody`, `Sema::ActOnTag` is
*not* called again
for the instantiated enumeration type.

Fixes #117960.

---------

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


  Commit: aee51b4d75089b4e7d9eb20877e2adbf6adea999
      https://github.com/llvm/llvm-project/commit/aee51b4d75089b4e7d9eb20877e2adbf6adea999
  Author: Congcong Cai <congcongcai0907 at 163.com>
  Date:   2025-01-10 (Fri, 10 Jan 2025)

  Changed paths:
    M clang-tools-extra/clang-tidy/ClangTidyOptions.cpp
    M clang-tools-extra/clang-tidy/ClangTidyOptions.h

  Log Message:
  -----------
  [clang-tidy][NFC] optimize cache for config option (#121406)

Current implement will cache `OptionsSource` for each path, it will
create lots of copy of `OptionsSource` when project has deep nested
folder structure.
New implement use vector to store `OptionsSource` and only cache the
index. It can reduce memory usage and avoid meaningless copy.


  Commit: bbb53d1a8cd37cbb31ec5ec7938a0f24f628c821
      https://github.com/llvm/llvm-project/commit/bbb53d1a8cd37cbb31ec5ec7938a0f24f628c821
  Author: Paul Bowen-Huggett <paulhuggett at mac.com>
  Date:   2025-01-10 (Fri, 10 Jan 2025)

  Changed paths:
    M llvm/lib/Target/AMDGPU/AMDGPUCombinerHelper.cpp
    M llvm/lib/Target/AMDGPU/AMDGPUCombinerHelper.h
    M llvm/lib/Target/AMDGPU/AMDGPUPreLegalizerCombiner.cpp

  Log Message:
  -----------
  [NFC] Make AMDGPUCombinerHelper methods const (#121903)

(This replaces #121740. Sorry for wasting your time.)

This is a follow-up to a previous commit (ee7ca0d) which eliminated
several "TODO: make CombinerHelper methods const" remarks. As promised
in that ealier commit, this change completes the set by also making the
methods of AMDGPUCombinerHelper const so that the Helper member of
AMDGPUPreLegalizerCombinerImpl can be const rather than explicitly
mutable.


  Commit: 9d7df23f4d6537752854d54b0c4c583512b930d0
      https://github.com/llvm/llvm-project/commit/9d7df23f4d6537752854d54b0c4c583512b930d0
  Author: Santanu Das <quic_santdas at quicinc.com>
  Date:   2025-01-10 (Fri, 10 Jan 2025)

  Changed paths:
    M llvm/lib/Target/Hexagon/HexagonPatterns.td
    A llvm/test/CodeGen/Hexagon/isel/isel-tfrrp.ll

  Log Message:
  -----------
  [Hexagon] Add missing pattern for v8i1 type (#120703)

HexagonISD::PFALSE and PTRUE patterns do not form independently in
general as they are treated like operands of all 0s or all 1s. Eg: i32 =
transfer HEXAGONISD::PFALSE.
In this case, v8i1 = HEXAGONISD::PFALSE is formed independently without
accompanying opcode.

This patch adds a pattern to transfer all 0s or all 1s to a scalar
register and then use that register and this PFALSE/PTRUE opcode to
transfer to a predicate register like v8i1.


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

  Changed paths:
    M libcxx/include/CMakeLists.txt
    M libcxx/include/__config
    M libcxx/include/__locale_dir/locale_base_api.h
    R libcxx/include/__locale_dir/locale_base_api/bsd_locale_defaults.h
    M libcxx/include/locale
    M libcxx/include/module.modulemap

  Log Message:
  -----------
  [libc++] Remove obsolete bsd_locale_defaults.h (#122276)

Supported platforms who used to need this header now go through the new
locale base API instead, so that header is not required anymore.


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

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

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


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

  Changed paths:
    A llvm/test/Transforms/SLPVectorizer/X86/bv-shuffle-mask.ll

  Log Message:
  -----------
  [SLP][NFC]Add a test with the mask translate after buildvector shuffle cost estimation


  Commit: 7ebf0df409c8e2045b7725da5a912854c58e0f6a
      https://github.com/llvm/llvm-project/commit/7ebf0df409c8e2045b7725da5a912854c58e0f6a
  Author: Matt Arsenault <Matthew.Arsenault at amd.com>
  Date:   2025-01-10 (Fri, 10 Jan 2025)

  Changed paths:
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.mfma.gfx940.ll
    A llvm/test/CodeGen/AMDGPU/llvm.amdgcn.mfma.xf32.gfx940.ll

  Log Message:
  -----------
  AMDGPU: Test gfx940 mfma intrinsics on gfx950

This requires splitting the xf32 cases into a separate file


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

  Changed paths:
    M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
    M llvm/test/Transforms/SLPVectorizer/X86/bv-shuffle-mask.ll

  Log Message:
  -----------
  [SLP]Fix mask generation after cost estimation

When estimating the cost of entries shuffles for buildvectors, need to
rebuild original mask, not a generated submask, used for subregisters
analysis.

Fixes #122430


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

  Changed paths:
    M mlir/include/mlir/Dialect/Affine/IR/AffineOps.td
    M mlir/include/mlir/Interfaces/ViewLikeInterface.h

  Log Message:
  -----------
  [mlir][Interfaces] `ViewLikeOpInterface`: Remove parser/printer overloads (#122436)

#115808 adds additional `custom<>` parser/printer variants. The overall
list of overloads/variants is getting larger.

This commit removes overloads that are not needed, to keep the
parser/printer simple.


  Commit: dab6463e748aed1223487da536075cbff192940b
      https://github.com/llvm/llvm-project/commit/dab6463e748aed1223487da536075cbff192940b
  Author: LoS <kaffedesk at gmail.com>
  Date:   2025-01-10 (Fri, 10 Jan 2025)

  Changed paths:
    M libcxx/include/__cxx03/__functional/function.h
    M libcxx/include/__cxx03/future
    M libcxx/include/__cxx03/regex
    M libcxx/include/__functional/function.h
    M libcxx/include/future
    M libcxx/include/regex

  Log Message:
  -----------
  [libc++] Remove duplicated _LIBCPP_HIDE_FROM_ABI from a few declarations (#122323)


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

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

  Log Message:
  -----------
  [flang][cuda] Fix resolution of overloaded operator (#122402)


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

  Changed paths:
    M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
    M llvm/test/Transforms/SLPVectorizer/X86/bv-shuffle-mask.ll

  Log Message:
  -----------
  Revert "[SLP]Fix mask generation after cost estimation"

This reverts commit 547ba9730bf05df3383150f730a689f2c8336206 to fix
buildbots reported in
https://lab.llvm.org/buildbot/#/builders/123/builds/11370, https://lab.llvm.org/buildbot/#/builders/133/builds/9492


  Commit: b43c97c2ddfe9e922bb044de01312adb81591a48
      https://github.com/llvm/llvm-project/commit/b43c97c2ddfe9e922bb044de01312adb81591a48
  Author: Evgenii Kudriashov <evgenii.kudriashov at intel.com>
  Date:   2025-01-10 (Fri, 10 Jan 2025)

  Changed paths:
    M clang/lib/Headers/amxintrin.h
    M clang/test/CodeGen/X86/amx_api.c
    A clang/test/CodeGen/X86/amx_tile.c

  Log Message:
  -----------
  [Headers][X86] amxintrin.h - fix attributes according to Intel SDM (#122204)

`tileloadd`, `tileloaddt1` and `tilestored` are part of `amx-tile`
feature.

The problem is observed if `__tile_loadd` intrinsic is invoked,
`_tile_loadd_internal` requiring `amx-int8` is inlined into
`__tile_loadd` that has only `amx-tile`.


  Commit: 953beb9fe969bf8ab1857924ea0d3dd6ea506ab1
      https://github.com/llvm/llvm-project/commit/953beb9fe969bf8ab1857924ea0d3dd6ea506ab1
  Author: Joseph Huber <huberjn at outlook.com>
  Date:   2025-01-10 (Fri, 10 Jan 2025)

  Changed paths:
    M clang/docs/ReleaseNotes.rst
    M clang/lib/Driver/Driver.cpp
    M clang/lib/Driver/ToolChains/Clang.cpp
    M clang/lib/Driver/ToolChains/Cuda.cpp
    M clang/test/Driver/cuda-arch-translation.cu
    M clang/test/Driver/cuda-bindings.cu
    M clang/test/Driver/cuda-options.cu
    M clang/test/Driver/cuda-output-asm.cu

  Log Message:
  -----------
  [CUDA] Move CUDA to new driver by default (#122312)

Summary:
This patch updates the --offload-new-driver flag to be default for CUDA.
This mostly just required updating a lot of tests to use the old format.
I tried to update them where possible, but some were directly checking
the old format.


https://discourse.llvm.org/t/rfc-use-the-new-offloding-driver-for-cuda-and-hip-compilation-by-default/77468/18


  Commit: 372044ee09d39942925824f8f335aef40bfe92f0
      https://github.com/llvm/llvm-project/commit/372044ee09d39942925824f8f335aef40bfe92f0
  Author: Durgadoss R <durgadossr at nvidia.com>
  Date:   2025-01-10 (Fri, 10 Jan 2025)

  Changed paths:
    M llvm/docs/NVPTXUsage.rst
    M llvm/include/llvm/IR/IntrinsicsNVVM.td
    M llvm/lib/Target/NVPTX/NVPTXISelDAGToDAG.cpp
    M llvm/lib/Target/NVPTX/NVPTXISelDAGToDAG.h
    M llvm/lib/Target/NVPTX/NVPTXIntrinsics.td
    A llvm/test/CodeGen/NVPTX/cp-async-bulk.ll

  Log Message:
  -----------
  [NVPTX] Add TMA Bulk Copy intrinsics (#122344)

PR #96083 added intrinsics for async copy of 'tensor' data
using TMA. Following a similar design, this PR adds intrinsics
for async copy of bulk data (non-tensor variants) through TMA.

* These intrinsics optionally support multicast and cache_hints,
   as indicated by the boolean arguments at the end of the intrinsics.
* The backend looks through these flag arguments and lowers to the
   appropriate PTX instructions.
* Lit tests are added for all combinations of these intrinsics in
   cp-async-bulk.ll.
* The generated PTX is verified with a 12.3 ptxas executable.
* Added docs for these intrinsics in NVPTXUsage.rst file.

PTX Spec reference:
https://docs.nvidia.com/cuda/parallel-thread-execution/#data-movement-and-conversion-instructions-cp-async-bulk

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


  Commit: 70e96dc3fb895e95dc659f87c2ed188507831801
      https://github.com/llvm/llvm-project/commit/70e96dc3fb895e95dc659f87c2ed188507831801
  Author: Krzysztof Parzyszek <Krzysztof.Parzyszek at amd.com>
  Date:   2025-01-10 (Fri, 10 Jan 2025)

  Changed paths:
    M flang/docs/ParserCombinators.md
    M flang/include/flang/Parser/characters.h
    M flang/include/flang/Parser/dump-parse-tree.h
    M flang/include/flang/Parser/parse-tree.h
    M flang/lib/Parser/basic-parsers.h
    M flang/lib/Parser/openmp-parsers.cpp
    M flang/lib/Parser/token-parsers.h
    M flang/lib/Parser/unparse.cpp

  Log Message:
  -----------
  [flang][OpenMP] Parsing context selectors for METADIRECTIVE (#121815)

This is just adding parsers for context selectors. There are no tests
because there is no way to execute these parsers yet.


  Commit: 59ced72bc211f150518cf31606b58b11cb6ff310
      https://github.com/llvm/llvm-project/commit/59ced72bc211f150518cf31606b58b11cb6ff310
  Author: Alex MacLean <amaclean at nvidia.com>
  Date:   2025-01-10 (Fri, 10 Jan 2025)

  Changed paths:
    M llvm/lib/Analysis/ValueTracking.cpp
    M llvm/test/Transforms/InstCombine/rotate.ll

  Log Message:
  -----------
  [ValueTracking] Add rotate idiom to haveNoCommonBitsSet special cases (#122165)

An occasional idiom for rotation is "(A << B) + (A >> (BitWidth - B))".
Currently this is not well handled on targets with native
funnel-shift/rotate support. Add a special case to haveNoCommonBitsSet
to ensure that the addition is converted to a disjoint or in InstCombine
so during instruction selection the idiom can be converted to an
efficient rotation implementation.

Proof: https://alive2.llvm.org/ce/z/WdCZsN


  Commit: 986f2ac48f369bc025a3f1830e2d5bba235be0fd
      https://github.com/llvm/llvm-project/commit/986f2ac48f369bc025a3f1830e2d5bba235be0fd
  Author: Alex MacLean <amaclean at nvidia.com>
  Date:   2025-01-10 (Fri, 10 Jan 2025)

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

  Log Message:
  -----------
  [SLPVectorizer] minor tweaks around lambdas for compatibility with older compilers (#122348)

Older version of msvc do not have great lambda support and are not able
to handle uses of class data or lambdas with implicit return types in
some cases. These minor changes improve the sources compatibility with
older msvc and don't hurt readability either.


  Commit: ac2d529be31d7a670326298036a4b9b3eaed59d3
      https://github.com/llvm/llvm-project/commit/ac2d529be31d7a670326298036a4b9b3eaed59d3
  Author: Shilei Tian <i at tianshilei.me>
  Date:   2025-01-10 (Fri, 10 Jan 2025)

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

  Log Message:
  -----------
  [NFC][Clang] Auto generate check lines for `preserve_vec3.cl`


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

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

  Log Message:
  -----------
  [docs][libc] Add AIO documentation refering POSIX and include in build (#122219)

With reference to #122006 , add a new header reference (aio.yaml) to doc


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

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

  Log Message:
  -----------
  [libc][docs] Add netinet/in header documentation by referring to POSIX standards (#122411)

This pull request introduces the following changes to the project with
reference to ( #122006 ):

1. **Documentation Update**:
- Added a new YAML file `in.yaml` to document network protocol and
address macros.
   - The `in.yaml` file includes the following macros:
     - `IPPROTO_IP`
     - `IPPROTO_IPV6`
     - `IPPROTO_ICMP`
     - `IPPROTO_RAW`
     - `IPPROTO_TCP`
     - `IPPROTO_UDP`
     - `INADDR_ANY`
     - `INADDR_BROADCAST`
     - `INET_ADDRSTRLEN`
     - `IPV6_JOIN_GROUP`
     - `IPV6_LEAVE_GROUP`
     - `IPV6_MULTICAST_HOPS`
     - `IPV6_MULTICAST_IF`
     - `IPV6_MULTICAST_LOOP`
     - `IPV6_UNICAST_HOPS`
     - `IPV6_V6ONLY`
     - `IN6_IS_ADDR_UNSPECIFIED`
     - `IN6_IS_ADDR_LOOPBACK`
     - `IN6_IS_ADDR_MULTICAST`
     - `IN6_IS_ADDR_LINKLOCAL`
     - `IN6_IS_ADDR_SITELOCAL`
     - `IN6_IS_ADDR_V4MAPPED`
     - `IN6_IS_ADDR_V4COMPAT`
     - `IN6_IS_ADDR_MC_NODELOCAL`
     - `IN6_IS_ADDR_MC_LINKLOCAL`
     - `IN6_IS_ADDR_MC_SITELOCAL`
     - `IN6_IS_ADDR_MC_ORGLOCAL`
     - `IN6_IS_ADDR_MC_GLOBAL`

_I believe, all these macros are necessary and should be documented._

2. **CMake Configuration Update**:
- Updated the `CMakeLists.txt` file to create the necessary directory
for the `netinet` headers.
- Included the `netinet/in` documentation in the Sphinx build
configuration.

3. **Index Update**:
- Updated the `index.rst` file to include a reference to the newly added
`netinet/in` documentation.

**Purpose**:
- This pull request adds documentation for network protocol and address
macros in the `netinet/in` header.
- Updates the CMake configuration to support the new documentation.

**Testing**:
- Verified that the new YAML file is correctly referenced in the
`index.rst`.
- Ensured that the documentation builds without errors and includes the
new network interface documentation.

This pull request ensures that the `netinet/in` header macros are
documented and included in the project's documentation, and updates the
CMake configuration to support these changes.


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

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

  Log Message:
  -----------
  [libc][docs] Add net/if.h documentation by referring to POSIX standards (#122406)

This pull request introduces the following changes to the project with
reference to issue ( #122006 ):

1. **Documentation Update**:
- Added a new YAML file `if.yaml` under `net` to document network
interface functions and macros.
   - The `if.yaml` file includes the following functions and macros:
     - Functions:
       - `if_freenameindex`
       - `if_indextoname`
       - `if_nameindex`
       - `if_nametoindex`
     - Macros:
       - `IF_NAMESIZE`

2. **CMake Configuration Update**:
- Updated the `CMakeLists.txt` file to create the necessary directory
for the `net` headers.
- Included the `net/if` documentation in the Sphinx build configuration.

3. **Index Update**:
- Updated the `index.rst` file to include a reference to the newly added
`net/if` documentation.

**Purpose**:
- This pull request adds documentation for network interface functions
and macros, ensuring they are included in the project's documentation.
- Updates the CMake configuration to support the new documentation.

**Testing**:
- Verified that the new YAML file is correctly referenced in the
`index.rst`.
- Ensured that the documentation builds without errors and includes the
new network interface documentation.

Co-authored-by: Nick Desaulniers <ndesaulniers at google.com>


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

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

  Log Message:
  -----------
  [flang][NFC] Removed unneeded engineering option. (#122305)


  Commit: cc88a5e61578e58afdd8ef4e9f1b7cd10d77fba3
      https://github.com/llvm/llvm-project/commit/cc88a5e61578e58afdd8ef4e9f1b7cd10d77fba3
  Author: Fangrui Song <i at maskray.me>
  Date:   2025-01-10 (Fri, 10 Jan 2025)

  Changed paths:
    M lld/Common/BPSectionOrdererBase.cpp
    M lld/MachO/BPSectionOrderer.cpp
    M lld/MachO/BPSectionOrderer.h
    M lld/MachO/SectionPriorities.cpp
    M lld/MachO/SectionPriorities.h
    M lld/MachO/Writer.cpp
    M lld/include/lld/Common/BPSectionOrdererBase.h

  Log Message:
  -----------
  [lld-macho,NFC] Switch to increasing priorities

--order_file, call graph profile, and BalancedPartitioning currently
build the section order vector by decreasing priority (from SIZE_MAX to
0). However, it's conventional to use an increasing key (see
OutputSection::inputOrder).

Switch to increasing priorities, remove the global variable
highestAvailablePriority, and remove the highestAvailablePriority
parameter from BPSectionOrderer. Change size_t to int.

This improves consistenty with the ELF and COFF ports. The ELF port
utilizes negative priorities for --symbol-ordering-file and call graph
profile, and non-negative priorities for --shuffle-sections (no Mach-O
counterpart yet).

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


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

  Changed paths:
    M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
    M llvm/test/Transforms/SLPVectorizer/X86/bv-shuffle-mask.ll

  Log Message:
  -----------
  [SLP]Fix mask generation after cost estimation

When estimating the cost of entries shuffles for buildvectors, need to
rebuild original mask, not a generated submask, used for subregisters
analysis.

Fixes #122430


  Commit: 6f53886a9a5e65136619ada7713f31942a1cc1fa
      https://github.com/llvm/llvm-project/commit/6f53886a9a5e65136619ada7713f31942a1cc1fa
  Author: Raphael Moreira Zinsly <rzinsly at ventanamicro.com>
  Date:   2025-01-10 (Fri, 10 Jan 2025)

  Changed paths:
    M llvm/lib/Target/RISCV/RISCVFrameLowering.cpp
    M llvm/lib/Target/RISCV/RISCVFrameLowering.h
    M llvm/lib/Target/RISCV/RISCVInstrInfo.td
    M llvm/test/CodeGen/RISCV/rvv/access-fixed-objects-by-rvv.ll
    A llvm/test/CodeGen/RISCV/rvv/stack-probing-rvv.ll
    M llvm/test/CodeGen/RISCV/stack-clash-prologue.ll

  Log Message:
  -----------
  [RISCV] Add stack clash vector support (#119458)

Use the probe loop structure to allocate vector code in the stack as
well. We add the pseudo instruction RISCV::PROBED_STACKALLOC_RVV to
differentiate from the normal loop.


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

  Changed paths:
    M clang/lib/CodeGen/CodeGenModule.cpp
    M clang/test/CodeGen/AArch64/fmv-features.c
    M clang/test/CodeGen/AArch64/fmv-priority.c
    M clang/test/CodeGen/AArch64/fmv-streaming.c
    M clang/test/CodeGen/attr-target-clones-aarch64.c
    M clang/test/CodeGen/attr-target-version.c

  Log Message:
  -----------
  [FMV][AArch64] Changes in fmv-features metadata. (#122192)

* We want the default version to have this attribute too otherwise it
becomes indistinguishable from non-versioned functions.

* We don't need the '+' unlike target-features which can negate. This
will allow using the parsing API of target_version/clones for the
metadata too.


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

  Changed paths:
    M flang/CMakeLists.txt

  Log Message:
  -----------
  Revert "[flang] Fix finding system install of LLVM/Clang/MLIR in standalone builds (#120914)"

This reverts commit 8e12037d38e2a9a1cfc6402be2b33283e3220bcc.

It broke the flang-aarch64-out-of-tree buildbot.


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

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

  Log Message:
  -----------
  Revert "[SLP] NFC. Replace MainOp and AltOp in TreeEntry with InstructionsState. (#120198)"

This reverts commit f3d6cdc5aebafac3961d4fccbd2ca0e302c6082c.


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

  Changed paths:
    A llvm/test/Transforms/LoopVectorize/X86/transform-narrow-interleave-to-widen-memory.ll
    A llvm/test/Transforms/LoopVectorize/transform-narrow-interleave-to-widen-memory.ll

  Log Message:
  -----------
  [LV] Precommit tests for #106441.

Tests for https://github.com/llvm/llvm-project/pull/106441
from https://github.com/llvm/llvm-project/issues/82936.


  Commit: c3910823c741eb3ad6f977bda82d7b55101499ef
      https://github.com/llvm/llvm-project/commit/c3910823c741eb3ad6f977bda82d7b55101499ef
  Author: Nick Sarnie <nick.sarnie at intel.com>
  Date:   2025-01-10 (Fri, 10 Jan 2025)

  Changed paths:
    M clang/lib/Driver/ToolChains/SPIRV.h
    M clang/test/Driver/spirv-openmp-toolchain.c
    M clang/test/Driver/spirv-toolchain.cl

  Log Message:
  -----------
  [clang][Driver][SPIR-V] Make tool names consistent (#122343)

Some use `SPIRV` and some use `SPIR-V`, just use `SPIR-V` which is what
we use normally.

I noticed this when fixing the test in
https://github.com/llvm/llvm-project/pull/122310.

Signed-off-by: Sarnie, Nick <nick.sarnie at intel.com>


  Commit: c91d805e6627987bec8ec34ea67c1e8240940039
      https://github.com/llvm/llvm-project/commit/c91d805e6627987bec8ec34ea67c1e8240940039
  Author: Jakub Mazurkiewicz <mazkuba3 at gmail.com>
  Date:   2025-01-10 (Fri, 10 Jan 2025)

  Changed paths:
    M libcxx/docs/FeatureTestMacroTable.rst
    M libcxx/docs/Status/Cxx2cPapers.csv
    M libcxx/include/__functional/not_fn.h
    M libcxx/include/functional
    M libcxx/include/version
    A libcxx/test/libcxx/utilities/function.objects/func.not.fn/not_fn.nttp.compile.pass.cpp
    A libcxx/test/libcxx/utilities/function.objects/func.not.fn/not_fn.nttp.nodiscard.verify.cpp
    M libcxx/test/std/language.support/support.limits/support.limits.general/functional.version.compile.pass.cpp
    M libcxx/test/std/language.support/support.limits/support.limits.general/version.version.compile.pass.cpp
    A libcxx/test/std/utilities/function.objects/func.not_fn/not_fn.nttp.pass.cpp
    A libcxx/test/std/utilities/function.objects/func.not_fn/not_fn.nttp.verify.cpp
    M libcxx/utils/generate_feature_test_macro_components.py

  Log Message:
  -----------
  [libc++] Implement std::not_fn<NTTP> (#86133)

Implement `std::not_fn<NTTP>` from "P2714R1 Bind front and back to NTTP callables".


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

  Changed paths:
    M clang/include/clang/Basic/Builtins.td
    M clang/lib/CodeGen/CGBuiltin.cpp
    M clang/lib/CodeGen/CGHLSLRuntime.h
    M clang/lib/Headers/hlsl/hlsl_detail.h
    M clang/lib/Headers/hlsl/hlsl_intrinsics.h
    M clang/lib/Sema/SemaHLSL.cpp
    M clang/test/CodeGenHLSL/builtins/length.hlsl
    M clang/test/SemaHLSL/BuiltIns/length-errors.hlsl
    M llvm/include/llvm/IR/IntrinsicsDirectX.td
    M llvm/lib/Target/DirectX/DXILIntrinsicExpansion.cpp
    R llvm/test/CodeGen/DirectX/length.ll
    R llvm/test/CodeGen/DirectX/length_error.ll
    R llvm/test/CodeGen/DirectX/length_invalid_intrinsic_error.ll
    R llvm/test/CodeGen/DirectX/length_invalid_intrinsic_error_scalar.ll

  Log Message:
  -----------
  [HLSL]  Reapply Move length support out of the DirectX Backend (#121611) (#122337)

## Changes
- Delete DirectX length intrinsic
- Delete HLSL length lang builtin
- Implement length algorithm entirely in the header.

## History
- In the past if an HLSL intrinsic lowered to either a spirv op code or
a DXIL opcode we represented it with intrinsics

## Why we are moving away?
- To make HLSL apis more portable the team decided that it makes sense
for some intrinsics to be defined only in the header.
- Since there tends to be more SPIRV opcodes than DXIL opcodes the plan
is to support SPIRV opcodes either with target specific builtins or via
pattern matching.


  Commit: 2e5c2982819625d84e0b61aea0ec00de859f0e95
      https://github.com/llvm/llvm-project/commit/2e5c2982819625d84e0b61aea0ec00de859f0e95
  Author: Austin Kerbow <Austin.Kerbow at amd.com>
  Date:   2025-01-10 (Fri, 10 Jan 2025)

  Changed paths:
    M llvm/docs/AMDGPUUsage.rst
    M llvm/lib/Target/AMDGPU/AMDGPU.h
    M llvm/lib/Target/AMDGPU/AMDGPUArgumentUsageInfo.h
    M llvm/lib/Target/AMDGPU/AMDGPUAsmPrinter.cpp
    A llvm/lib/Target/AMDGPU/AMDGPUPreloadKernArgProlog.cpp
    A llvm/lib/Target/AMDGPU/AMDGPUPreloadKernArgProlog.h
    M llvm/lib/Target/AMDGPU/AMDGPUTargetMachine.cpp
    M llvm/lib/Target/AMDGPU/CMakeLists.txt
    M llvm/lib/Target/AMDGPU/MCTargetDesc/AMDGPUTargetStreamer.cpp
    M llvm/lib/Target/AMDGPU/MCTargetDesc/AMDGPUTargetStreamer.h
    M llvm/lib/Target/AMDGPU/SIMachineFunctionInfo.cpp
    M llvm/test/CodeGen/AMDGPU/llc-pipeline.ll
    M llvm/test/CodeGen/AMDGPU/preload-implicit-kernargs.ll
    M llvm/test/CodeGen/AMDGPU/preload-kernarg-header.ll
    M llvm/test/CodeGen/AMDGPU/preload-kernargs.ll

  Log Message:
  -----------
  [AMDGPU] Add backward compatibility layer for kernarg preloading (#119167)

Add a prologue to the kernel entry to handle cases where code designed
for kernarg preloading is executed on hardware equipped with
incompatible firmware. If hardware has compatible firmware the 256 bytes
at the start of the kernel entry will be skipped. This skipping is done
automatically by hardware that supports the feature.

A pass is added which is intended to be run at the very end of the
pipeline to avoid any optimizations that would assume the prologue is a
real predecessor block to the actual code start. In reality we have two
possible entry points for the function. 1. The optimized path that
supports kernarg preloading which begins at an offset of 256 bytes. 2.
The backwards compatible entry point which starts at offset 0.


  Commit: 833a17489dd96f35df3a17ad231ada82acf38ef9
      https://github.com/llvm/llvm-project/commit/833a17489dd96f35df3a17ad231ada82acf38ef9
  Author: Med Ismail Bennani <ismail at bennani.ma>
  Date:   2025-01-10 (Fri, 10 Jan 2025)

  Changed paths:
    M lldb/examples/python/crashlog.py

  Log Message:
  -----------
  [lldb/crashlog] Fix typo in error message when creating a target (#122514)

This fixes a typo when creating a target from the crashlog script and
that we were not able to find a valid architecture from the crash
report.

rdar://137344016

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


  Commit: 5912de9ede81407f93162e930ae9bc97e561d017
      https://github.com/llvm/llvm-project/commit/5912de9ede81407f93162e930ae9bc97e561d017
  Author: Brad Smith <brad at comstyle.com>
  Date:   2025-01-10 (Fri, 10 Jan 2025)

  Changed paths:
    M clang/lib/Driver/ToolChains/NetBSD.cpp
    M clang/test/Driver/netbsd.c

  Log Message:
  -----------
  [Driver][NetBSD] Remove support for NetBSD 8.x (#122513)


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

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

  Log Message:
  -----------
  [gn build] Port 2e5c29828196


  Commit: d2498afccb04c0f09b05827b6b9c1c6c181a4f2b
      https://github.com/llvm/llvm-project/commit/d2498afccb04c0f09b05827b6b9c1c6c181a4f2b
  Author: Brad Smith <brad at comstyle.com>
  Date:   2025-01-10 (Fri, 10 Jan 2025)

  Changed paths:
    M clang/lib/Basic/Targets.cpp

  Log Message:
  -----------
  [Driver][NFC] Formatting fixes (#122519)


  Commit: 749bdc87f5d0646be93bb90dd843ffa07924205e
      https://github.com/llvm/llvm-project/commit/749bdc87f5d0646be93bb90dd843ffa07924205e
  Author: Jan Voung <jvoung at google.com>
  Date:   2025-01-10 (Fri, 10 Jan 2025)

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

  Log Message:
  -----------
  [clang-tidy] sort / reorder a part of release notes (#122475)

and remove a trailing space


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

  Changed paths:
    M libcxx/include/__locale
    M libcxx/src/locale.cpp

  Log Message:
  -----------
  [libc++] Implement a libc++ private version of isascii (#122361)

The isascii() function is not standard, so we should avoid relying on
the platform providing it, especially since it's easy to implement in
libc++ portably.


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

  Changed paths:
    M libcxx/include/__support/xlocale/__posix_l_fallback.h

  Log Message:
  -----------
  [libc++] Add missing iswctype_l in posix_l_fallbacks (#122484)


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

  Changed paths:
    M lldb/source/Plugins/ObjectFile/ELF/ObjectFileELF.cpp

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

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

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


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

  Changed paths:
    M clang/lib/Headers/hlsl/hlsl_detail.h
    M clang/lib/Headers/hlsl/hlsl_intrinsics.h
    A clang/test/CodeGenHLSL/builtins/distance.hlsl
    A clang/test/SemaHLSL/BuiltIns/distance-errors.hlsl

  Log Message:
  -----------
  [HLSL] Implement the HLSL distance intrinsic (#122357)

- Hook of SPIRV builtin
- Implement Distance as length(X - Y)


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

  Changed paths:
    M clang/include/clang/Basic/Sanitizers.h
    M clang/lib/CodeGen/CGBuiltin.cpp
    M clang/lib/CodeGen/CGCall.cpp
    M clang/lib/CodeGen/CGClass.cpp
    M clang/lib/CodeGen/CGDecl.cpp
    M clang/lib/CodeGen/CGExpr.cpp
    M clang/lib/CodeGen/CGExprScalar.cpp
    M clang/lib/CodeGen/CGObjC.cpp
    M clang/lib/CodeGen/CodeGenFunction.cpp
    M clang/lib/CodeGen/CodeGenFunction.h
    M clang/lib/CodeGen/ItaniumCXXABI.cpp

  Log Message:
  -----------
  [ubsan][NFCI] Use SanitizerOrdinal instead of SanitizerMask for EmitCheck (exactly one sanitizer is required) (#122511)

The `Checked` parameter of `CodeGenFunction::EmitCheck` is of type
`ArrayRef<std::pair<llvm::Value *, SanitizerMask>>`, which is overly
generalized: SanitizerMask can denote that zero or more sanitizers are
enabled, but `EmitCheck` requires that exactly one sanitizer is
specified in the SanitizerMask (e.g.,
`SanitizeTrap.has(Checked[i].second)` enforces that).

This patch replaces SanitizerMask with SanitizerOrdinal in the `Checked`
parameter of `EmitCheck` and code that transitively relies on it. This
should not affect the behavior of UBSan, but it has the advantages that:
- the code is clearer: it avoids ambiguity in EmitCheck about what to do
if multiple bits are set
- specifying the wrong number of sanitizers in `Checked[i].second` will
be detected as a compile-time error, rather than a runtime assertion
failure

Suggested by Vitaly in https://github.com/llvm/llvm-project/pull/122392
as an alternative to adding an explicit runtime assertion that the
SanitizerMask contains exactly one sanitizer.


  Commit: 3b0dafff87adf10480376a81f5c554857ea73ec7
      https://github.com/llvm/llvm-project/commit/3b0dafff87adf10480376a81f5c554857ea73ec7
  Author: Jacek Caban <jacek at codeweavers.com>
  Date:   2025-01-10 (Fri, 10 Jan 2025)

  Changed paths:
    M lld/COFF/Chunks.cpp
    M lld/COFF/Chunks.h
    M lld/COFF/Writer.cpp
    M lld/test/COFF/arm64x-loadconfig.s

  Log Message:
  -----------
  [LLD][COFF] Use EC load config for ARM64X relocations of load config directory (#121337)

This change ensures the load config in the hybrid image view is handled
correctly. It introduces a new Arm64XRelocVal class to abstract
relocation values, allowing them to be relative to a symbol. This class
will also be useful for managing ARM64X relocation offsets in the
future.


  Commit: 29e5c1c92782ff7d455878747fb1dc1967ff607f
      https://github.com/llvm/llvm-project/commit/29e5c1c92782ff7d455878747fb1dc1967ff607f
  Author: Alina Sbirlea <asbirlea at google.com>
  Date:   2025-01-10 (Fri, 10 Jan 2025)

  Changed paths:
    M llvm/test/CodeGen/Hexagon/isel/isel-tfrrp.ll

  Log Message:
  -----------
  [Hexagon] Fix test after 9d7df23f4d6537752854d54b0c4c583512b930d0


  Commit: 3fbc344b49800bb0f70fd5af46c0a47f6d55bbd1
      https://github.com/llvm/llvm-project/commit/3fbc344b49800bb0f70fd5af46c0a47f6d55bbd1
  Author: Heejin Ahn <aheejin at gmail.com>
  Date:   2025-01-10 (Fri, 10 Jan 2025)

  Changed paths:
    M clang/lib/Driver/ToolChains/WebAssembly.cpp
    M clang/test/Driver/wasm-toolchain.c

  Log Message:
  -----------
  [WebAssembly] Refactor Wasm EH/SjLj error checking (#122466)

There were many overlaps between error checking and feature enabling
routines for Wasm EH and Wasm SjLj. This tries to factor out those
common routines in separate lambda functions.

This is not NFC because this ends up disallowing a few new combinations
(e.g. `-fwasm-exceptions` and `-emscripten-cxx-exceptions-allowed`), and
also deletes `-mllvm` from the error messages to share the same lambda
function between options with `-mllvm` and those without it.

This adds a few more tests but does not try to cover every single
possible disallowed combination.


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

  Changed paths:
    M clang/docs/UsersManual.rst
    M clang/include/clang/Driver/Options.td
    M clang/lib/Driver/ToolChains/Clang.cpp
    M clang/test/Driver/clang_f_opts.c
    A clang/test/Driver/fprofile-generate-temporal.c

  Log Message:
  -----------
  [InstrProf] Add frontend temporal profiling flag (#122385)

As discussed in https://github.com/llvm/llvm-project/pull/121514 add the
frontend flag `-ftemporal-profile` to enable temporal profiling
(https://discourse.llvm.org/t/rfc-temporal-profiling-extension-for-irpgo/68068)
as a replacement for `-forder-file-instrumentation`
(https://discourse.llvm.org/t/deprecate-forder-file-instrumentation-in-favor-of-temporal-profiling/83903)


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

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

  Log Message:
  -----------
  [SandboxVec][DAG][NFC] Refactor setNextNode() and setPrevNode() (#122363)

This patch updates DAG's `setNextNode()` and `setPrevNode()` to update
both nodes of the link.


  Commit: 19557a4c8fab0dbfe9d9c53b99b7960ef211684e
      https://github.com/llvm/llvm-project/commit/19557a4c8fab0dbfe9d9c53b99b7960ef211684e
  Author: Damien L-G <dalg24 at gmail.com>
  Date:   2025-01-10 (Fri, 10 Jan 2025)

  Changed paths:
    M libcxx/test/std/atomics/atomics.ref/increment_decrement.pass.cpp

  Log Message:
  -----------
  [libc++] Fix bug in tests for std::atomic_ref<T*> increment and decrement operators (#122271)

The implementation is fine and has the proper increment/decrement
operators defined, but the tests were wrong:
- a typo (`T` instead of `std::atomic_ref<T>`) when ensuring that increment/decrement
  operators are not defined in the primary template and specialization for floating point
  types, and
- the specialization for pointer types was miscategorized.


  Commit: fb1d6f0d7d834067d36959ec4b54550cee72da95
      https://github.com/llvm/llvm-project/commit/fb1d6f0d7d834067d36959ec4b54550cee72da95
  Author: Brad Smith <brad at comstyle.com>
  Date:   2025-01-10 (Fri, 10 Jan 2025)

  Changed paths:
    M clang/lib/Basic/Targets/OSTargets.h

  Log Message:
  -----------
  [Driver][OpenBSD] Remove riscv32 bit (#122525)

Someone added riscv32 here. OpenBSD does not support riscv32.


  Commit: 0d9c027ad7fa36a607386e24d4928c9046f6ff56
      https://github.com/llvm/llvm-project/commit/0d9c027ad7fa36a607386e24d4928c9046f6ff56
  Author: Noah Goldstein <goldstein.w.n at gmail.com>
  Date:   2025-01-10 (Fri, 10 Jan 2025)

  Changed paths:
    M llvm/lib/Transforms/InstCombine/InstCombineInternal.h
    M llvm/lib/Transforms/InstCombine/InstCombineMulDivRem.cpp

  Log Message:
  -----------
  [InstCombine] Make `takeLog2` visible in all of InstCombine; NFC

Also add `tryGetLog2` helper that encapsulates the common pattern:

```
if (takeLog2(..., /*DoFold=*/false)) {
    Value * Log2 = takeLog2(..., /*DoFold=*/true);
    ...
}
```

Closes #122498


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

  Changed paths:
    M llvm/lib/Target/RISCV/RISCVInstrFormatsC.td
    M llvm/lib/Target/RISCV/RISCVInstrInfoC.td

  Log Message:
  -----------
  [RISCV] Add a default assignment of Inst{12-7} to RVInst16CSS. NFC

Some bits need to be overwritten by child classes, but at
least a few of the upper bits are common to all child classes.


  Commit: 85711bdda31a34a16c6458b0e824a3dd5f753929
      https://github.com/llvm/llvm-project/commit/85711bdda31a34a16c6458b0e824a3dd5f753929
  Author: Nick Desaulniers <nickdesaulniers at users.noreply.github.com>
  Date:   2025-01-10 (Fri, 10 Jan 2025)

  Changed paths:
    M libc/docs/full_host_build.rst

  Log Message:
  -----------
  [libc][docs] update docs on how to build linux kernel headers from src (#122381)

It's simpler than the directions we have; which are very very Debian specific.


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

  Changed paths:
    M llvm/lib/Transforms/Vectorize/SandboxVectorizer/SeedCollector.cpp

  Log Message:
  -----------
  [SandboxVec][SeedCollector][NFC] Remove redundant 'else' and move the assertion within the 'if'


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

  Changed paths:
    M mlir/lib/Conversion/MemRefToSPIRV/MemRefToSPIRV.cpp
    M mlir/lib/Conversion/MeshToMPI/MeshToMPI.cpp
    M mlir/lib/Conversion/VectorToLLVM/ConvertVectorToLLVM.cpp

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

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

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

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


  Commit: b302633bc5b93118b8a0bcaabfe0957294b9e894
      https://github.com/llvm/llvm-project/commit/b302633bc5b93118b8a0bcaabfe0957294b9e894
  Author: Eli Friedman <efriedma at quicinc.com>
  Date:   2025-01-10 (Fri, 10 Jan 2025)

  Changed paths:
    M clang/bindings/python/clang/cindex.py
    M clang/bindings/python/tests/cindex/test_type.py
    M clang/docs/ReleaseNotes.rst
    M clang/include/clang-c/Index.h
    M clang/tools/libclang/CXType.cpp
    M clang/tools/libclang/libclang.map

  Log Message:
  -----------
  [libclang] Allow using PrintingPolicy with types (#122386)

This allows controlling pretty-printing of types the same way it works
with cursors.


  Commit: 37f42cfb9a138409f19d31deeaa867ce2165d08f
      https://github.com/llvm/llvm-project/commit/37f42cfb9a138409f19d31deeaa867ce2165d08f
  Author: Mircea Trofin <mtrofin at google.com>
  Date:   2025-01-10 (Fri, 10 Jan 2025)

  Changed paths:
    M llvm/tools/llvm-ctxprof-util/llvm-ctxprof-util.cpp

  Log Message:
  -----------
  [nfc] Update header in llvm-ctxprof-utils (#122544)


  Commit: 8a1174f06cb69c92290a2231ede0e2a8e8460e0c
      https://github.com/llvm/llvm-project/commit/8a1174f06cb69c92290a2231ede0e2a8e8460e0c
  Author: Ian Anderson <iana at apple.com>
  Date:   2025-01-10 (Fri, 10 Jan 2025)

  Changed paths:
    M clang/lib/Basic/Targets.cpp
    M clang/lib/Basic/Targets/AArch64.cpp
    M clang/lib/Basic/Targets/AArch64.h
    M clang/lib/Basic/Targets/ARM.cpp
    M clang/lib/Basic/Targets/ARM.h
    M clang/lib/Basic/Targets/OSTargets.cpp
    M clang/lib/Basic/Targets/OSTargets.h
    M clang/lib/Basic/Targets/X86.h
    M clang/lib/Frontend/InitPreprocessor.cpp
    A clang/test/Preprocessor/darwin-predefines.c
    M clang/test/Preprocessor/macho-embedded-predefines.c

  Log Message:
  -----------
  [Darwin][Driver][clang] arm64-apple-none-macho is missing the Apple macros from arm-apple-none-macho (#122427)

arm-apple-none-macho uses DarwinTargetInfo which provides several Apple
specific macros. arm64-apple-none-macho however just uses the generic
AArch64leTargetInfo and doesn't get any of those macros. It's not clear
if everything from DarwinTargetInfo is desirable for
arm64-apple-none-macho, so make an AppleMachOTargetInfo to hold the
generic Apple macros and a few other basic things.


  Commit: a475ae05fba7368055071c29a1fc9408346ebd6a
      https://github.com/llvm/llvm-project/commit/a475ae05fba7368055071c29a1fc9408346ebd6a
  Author: Sergei Barannikov <barannikov88 at gmail.com>
  Date:   2025-01-11 (Sat, 11 Jan 2025)

  Changed paths:
    M llvm/include/llvm/Support/Casting.h
    M llvm/lib/CodeGen/RegisterBankInfo.cpp
    M llvm/lib/Target/AMDGPU/SIRegisterInfo.cpp
    M llvm/unittests/ADT/PointerUnionTest.cpp

  Log Message:
  -----------
  Revert "[ADT] Fix specialization of ValueIsPresent for PointerUnion" (#122557)

Reverts llvm/llvm-project#121847

Causes compile time regressions and allegedly miscompilation.


  Commit: 834d65eb2ecea04382630579007a88c30129c734
      https://github.com/llvm/llvm-project/commit/834d65eb2ecea04382630579007a88c30129c734
  Author: Vitaly Buka <vitalybuka at google.com>
  Date:   2025-01-10 (Fri, 10 Jan 2025)

  Changed paths:
    M clang/test/CodeGen/allow-ubsan-check.c

  Log Message:
  -----------
  [nfc][ubsan] Use O1 in test to remove more unrelated stuff (#122408)


  Commit: 515946b2907e6d909ef133902c8c9395056ebd2d
      https://github.com/llvm/llvm-project/commit/515946b2907e6d909ef133902c8c9395056ebd2d
  Author: Kevin McAfee <kmcafee at nvidia.com>
  Date:   2025-01-10 (Fri, 10 Jan 2025)

  Changed paths:
    M llvm/lib/Target/NVPTX/NVPTXISelDAGToDAG.cpp
    M llvm/lib/Target/NVPTX/NVPTXISelDAGToDAG.h

  Log Message:
  -----------
  [NFC][NVPTX] Small style cleanup for NVPTXISelDAGToDAG.* (#122538)


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

  Changed paths:
    M clang/docs/UsersManual.rst

  Log Message:
  -----------
  [InstrProf] Fix format issue in user manual (#122559)

Fix a small formatting issue in the user manual after #122385.

https://clang.llvm.org/docs/UsersManual.html#cmdoption-ftemporal-profile


  Commit: 58508ee1974d2aff52504bb1bd2271ac7b1763c0
      https://github.com/llvm/llvm-project/commit/58508ee1974d2aff52504bb1bd2271ac7b1763c0
  Author: Heejin Ahn <aheejin at gmail.com>
  Date:   2025-01-10 (Fri, 10 Jan 2025)

  Changed paths:
    M clang/lib/Driver/ToolChains/WebAssembly.cpp
    M clang/test/Driver/wasm-toolchain.c

  Log Message:
  -----------
  [WebAssembly] Add error checking for -wasm-use-legacy-ch (#122526)

This adds checks for `-wasm-use-legacy-eh`. While this option is true by
default in the backend, it is not supposed to be given to the Clang when
Wasm EH is not used.


  Commit: 74d5373f49fab0943a45a9214dc7a134f9f112f1
      https://github.com/llvm/llvm-project/commit/74d5373f49fab0943a45a9214dc7a134f9f112f1
  Author: Joseph Huber <huberjn at outlook.com>
  Date:   2025-01-10 (Fri, 10 Jan 2025)

  Changed paths:
    M offload/DeviceRTL/include/DeviceUtils.h

  Log Message:
  -----------
  [OpenMP] Fix missing type getter for SFINAE helper

Summary:
This didn't get the type, which made using this always return false.


  Commit: 99d0780f050c830c046c6f8790821880ab7c71f5
      https://github.com/llvm/llvm-project/commit/99d0780f050c830c046c6f8790821880ab7c71f5
  Author: Vitaly Buka <vitalybuka at google.com>
  Date:   2025-01-10 (Fri, 10 Jan 2025)

  Changed paths:
    M clang/test/CodeGen/allow-ubsan-check.c

  Log Message:
  -----------
  [nfc][ubsan] Add local-bounds test (#122415)

Show that @llvm.allow.ubsan.check is not used yet.


  Commit: af4d76d909b0df79494ca19b7c289c2a5b18c816
      https://github.com/llvm/llvm-project/commit/af4d76d909b0df79494ca19b7c289c2a5b18c816
  Author: Fangrui Song <i at maskray.me>
  Date:   2025-01-10 (Fri, 10 Jan 2025)

  Changed paths:
    M clang/tools/driver/driver.cpp
    M llvm/include/llvm/Support/Timer.h
    M llvm/lib/Support/Timer.cpp

  Log Message:
  -----------
  [Support] Reduce globaal variable overhead after #121663

* Construct frequently-accessed TimerLock/DefaultTimerGroup early to
  reduce overhead.
* Rename `aquireDefaultGroup` to `acquireTimerGlobals` and restore
  ManagedStatic::claim. https://reviews.llvm.org/D76099

* Drop mtg::. We use internal linkage, so mtg:: is unneeded and might
  mislead users. In addition, llvm/ code almost never introduces a named
  namespace not in llvm::. Drop mtg::.
* Replace some unique_ptr with optional to reduce overhead.
* Switch to `functionName()`.
* Simplify `llvm::initTimerOptions` and `TimerGroup::constructForStatistics()`

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


  Commit: 6329355860e9b66bc7ed68b46c166763e408d4cc
      https://github.com/llvm/llvm-project/commit/6329355860e9b66bc7ed68b46c166763e408d4cc
  Author: Mircea Trofin <mtrofin at google.com>
  Date:   2025-01-10 (Fri, 10 Jan 2025)

  Changed paths:
    M llvm/include/llvm/ProfileData/PGOCtxProfWriter.h
    M llvm/lib/ProfileData/PGOCtxProfWriter.cpp
    M llvm/test/Analysis/CtxProfAnalysis/flatten-and-annotate.ll
    M llvm/test/Analysis/CtxProfAnalysis/flatten-check-path.ll
    M llvm/test/Analysis/CtxProfAnalysis/flatten-icp.ll
    M llvm/test/Analysis/CtxProfAnalysis/flatten-zero-path.ll
    M llvm/test/Analysis/CtxProfAnalysis/full-cycle.ll
    M llvm/test/Analysis/CtxProfAnalysis/handle-select.ll
    M llvm/test/Analysis/CtxProfAnalysis/inline.ll
    M llvm/test/Analysis/CtxProfAnalysis/load-unapplicable.ll
    M llvm/test/Analysis/CtxProfAnalysis/load.ll
    M llvm/test/ThinLTO/X86/ctxprof.ll
    M llvm/test/Transforms/EliminateAvailableExternally/transform-to-local.ll
    R llvm/test/tools/llvm-ctxprof-util/Inputs/bad.json
    A llvm/test/tools/llvm-ctxprof-util/Inputs/bad.yaml
    R llvm/test/tools/llvm-ctxprof-util/Inputs/empty.json
    A llvm/test/tools/llvm-ctxprof-util/Inputs/empty.yaml
    R llvm/test/tools/llvm-ctxprof-util/Inputs/invalid-bad-subctx.json
    A llvm/test/tools/llvm-ctxprof-util/Inputs/invalid-bad-subctx.yaml
    R llvm/test/tools/llvm-ctxprof-util/Inputs/invalid-no-counters.json
    A llvm/test/tools/llvm-ctxprof-util/Inputs/invalid-no-counters.yaml
    R llvm/test/tools/llvm-ctxprof-util/Inputs/invalid-no-ctx.json
    A llvm/test/tools/llvm-ctxprof-util/Inputs/invalid-no-ctx.yaml
    R llvm/test/tools/llvm-ctxprof-util/Inputs/invalid-no-vector.json
    A llvm/test/tools/llvm-ctxprof-util/Inputs/invalid-no-vector.yaml
    R llvm/test/tools/llvm-ctxprof-util/Inputs/valid.json
    A llvm/test/tools/llvm-ctxprof-util/Inputs/valid.yaml
    M llvm/test/tools/llvm-ctxprof-util/llvm-ctxprof-util-negative.test
    M llvm/test/tools/llvm-ctxprof-util/llvm-ctxprof-util.test
    M llvm/tools/llvm-ctxprof-util/llvm-ctxprof-util.cpp
    M llvm/unittests/Transforms/Utils/CallPromotionUtilsTest.cpp

  Log Message:
  -----------
  [ctxprof] Move test serialization to yaml (#122545)

We have a textual representation of contextual profiles for test scenarios, mainly. This patch moves that to YAML instead of JSON. YAML is more succinct and readable (some of the .ll tests should be illustrative). In addition, JSON is parse-able by the YAML reader.

A subsequent patch will address deserialization.

(thanks, @kazutakahirata, for showing me how to use the llvm YAML reader/writer APIs, which I incorrectly thought to be more low-level than the JSON ones!)


  Commit: 8af4d206e0f979f68925a08f9dffd60a98ce97e2
      https://github.com/llvm/llvm-project/commit/8af4d206e0f979f68925a08f9dffd60a98ce97e2
  Author: Vitaly Buka <vitalybuka at google.com>
  Date:   2025-01-10 (Fri, 10 Jan 2025)

  Changed paths:
    M clang/test/CodeGen/allow-ubsan-check.c
    M llvm/lib/Transforms/Instrumentation/BoundsChecking.cpp
    M llvm/test/Instrumentation/BoundsChecking/runtimes.ll

  Log Message:
  -----------
  [NFCI][BoundsChecking] Apply nosanitize on local-bounds instrumentation (#122416)

Should be NFCI as we run sanitizer, like msan, before local-bounds.


  Commit: 9b528ed38038e39c441927b1fd0220654c253a3c
      https://github.com/llvm/llvm-project/commit/9b528ed38038e39c441927b1fd0220654c253a3c
  Author: GeorgeHuyubo <113479859+GeorgeHuyubo at users.noreply.github.com>
  Date:   2025-01-10 (Fri, 10 Jan 2025)

  Changed paths:
    M lldb/source/Plugins/SymbolLocator/Debuginfod/SymbolLocatorDebuginfod.cpp
    M llvm/include/llvm/Debuginfod/Debuginfod.h
    M llvm/lib/Debuginfod/Debuginfod.cpp
    M llvm/unittests/Debuginfod/DebuginfodTests.cpp

  Log Message:
  -----------
  Debuginfod cache use index cache settings and include real file name (#120814)

This PR include two changes:
1. Change debuginfod cache file name to include origin file name, the
new file name would be something like:

llvmcache-13267c5f5d2e3df472c133c8efa45fb3331ef1ea-liblzma.so.5.2.2.debuginfo.dwp
So it will provide more information in image list instead of a plain
llvmcache-123
2. Switch debuginfod cache to use lldb index cache settings. Currently
we don't have proper settings for setting the cache path or the cache
expiration time for debuginfod cache. We want to use the lldb index
cache settings, as they make sense to be in the same place and have the
same TTL.

---------

Co-authored-by: George Hu <georgehuyubo at gmail.com>


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

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

  Log Message:
  -----------
  [bazel] Remove obsolete exclusion from glob.

lib/Tooling/NodeIntrospection.cpp was deleted in commit
371eccd5dfed88c8e76449233d8388c12be3464b so excluding it from the glob
does nothing.


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

  Changed paths:
    M flang/module/cudadevice.f90
    A flang/test/Lower/CUDA/cuda-intrinsic.cuf

  Log Message:
  -----------
  [flang][cuda] Add bind(c) interfaces for __fadd_rd and __fadd_ru (#122535)

Function like `__fadd_rd ` and `__fadd_ru ` need to be converted to the
cuda equivalent.


  Commit: 0de18e72c607c1b52be2c60d45cf2f9fc3af4542
      https://github.com/llvm/llvm-project/commit/0de18e72c607c1b52be2c60d45cf2f9fc3af4542
  Author: Fangrui Song <i at maskray.me>
  Date:   2025-01-10 (Fri, 10 Jan 2025)

  Changed paths:
    M clang/docs/ReleaseNotes.rst
    M clang/include/clang/Frontend/CompilerInstance.h
    M clang/lib/CodeGen/BackendUtil.cpp
    M clang/lib/CodeGen/CodeGenAction.cpp
    M clang/lib/Frontend/CompilerInstance.cpp
    M clang/test/Frontend/ftime-report-template-decl.cpp
    M llvm/include/llvm/Support/Timer.h
    M llvm/lib/Support/Timer.cpp

  Log Message:
  -----------
  -ftime-report: reorganize timers

The code generation time is unclear in the -ftime-report output:

* The two clang timers "Code Generation Time" and "LLVM IR Generation
  Time" are in the default group "Miscellaneous Ungrouped Timers".
* There is also a "Clang front-end time" group, which actually includes
  code generation time.

```
===-------------------------------------------------------------------------===
                         Miscellaneous Ungrouped Timers
===-------------------------------------------------------------------------===

   ---User Time---   --System Time--   --User+System--   ---Wall Time---  --- Name ---
   0.0611 (  1.7%)   0.0099 (  4.4%)   0.0710 (  1.9%)   0.0713 (  1.9%)  LLVM IR Generation Time
   3.5140 ( 98.3%)   0.2165 ( 95.6%)   3.7306 ( 98.1%)   3.7342 ( 98.1%)  Code Generation Time
   3.5751 (100.0%)   0.2265 (100.0%)   3.8016 (100.0%)   3.8055 (100.0%)  Total
...
===-------------------------------------------------------------------------===
                          Clang front-end time report
===-------------------------------------------------------------------------===
  Total Execution Time: 3.9108 seconds (3.9146 wall clock)

   ---User Time---   --System Time--   --User+System--   ---Wall Time---  --- Name ---
   3.6802 (100.0%)   0.2306 (100.0%)   3.9108 (100.0%)   3.9146 (100.0%)  Clang front-end timer
   3.6802 (100.0%)   0.2306 (100.0%)   3.9108 (100.0%)   3.9146 (100.0%)  Total
```

This patch

* renames "Clang front-end time report" (FrontendAction time) to "Clang
  time report",
* renames "Clang front-end" to "Front end",
* moves "LLVM IR Generation" into the group,
* replaces "Code Generation time" with "Optimizer" (middle end) and
  "Machine code generation" (back end).

```
% clang -c sqlite3.i -w -ftime-report -mllvm -sort-timers=0
...
===-------------------------------------------------------------------------===
                               Clang time report
===-------------------------------------------------------------------------===
  Total Execution Time: 1.5922 seconds (1.5972 wall clock)

   ---User Time---   --System Time--   --User+System--   ---Wall Time---  --- Name ---
   0.5107 ( 35.9%)   0.0105 (  6.2%)   0.5211 ( 32.7%)   0.5222 ( 32.7%)  Front end
   0.2464 ( 17.3%)   0.0340 ( 20.0%)   0.2804 ( 17.6%)   0.2814 ( 17.6%)  LLVM IR generation
   0.6240 ( 43.9%)   0.1235 ( 72.7%)   0.7475 ( 47.0%)   0.7503 ( 47.0%)  Machine code generation
   0.0413 (  2.9%)   0.0018 (  1.0%)   0.0431 (  2.7%)   0.0433 (  2.7%)  Optimizer
   1.4224 (100.0%)   0.1698 (100.0%)   1.5922 (100.0%)   1.5972 (100.0%)  Total
```

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


  Commit: 18078605046c50f01f31e826ea3591f99019de38
      https://github.com/llvm/llvm-project/commit/18078605046c50f01f31e826ea3591f99019de38
  Author: amosher-nvidia <amosher at nvidia.com>
  Date:   2025-01-10 (Fri, 10 Jan 2025)

  Changed paths:
    M lld/ELF/LinkerScript.cpp
    M lld/ELF/LinkerScript.h
    M lld/test/ELF/linkerscript/filename-spec.s

  Log Message:
  -----------
  [lld][ELF] Handle archive special casing in Input Sections (#119293)

According to the binutils spec:
https://sourceware.org/binutils/docs/ld/Input-Section-Basics.html

You should be able to specify all files in an archive using this syntax
`archivename:` , however, lld currently will only accept `archivename:*`
to match all files within an archive.

This patch will, only when necessary, create a copy of the file
specification and add an implicit wildcard `*` to the end. It also
updates the filename-spec linkerscript test to check for this behavior.

---------

Co-authored-by: Peter Smith <peter.smith at arm.com>


  Commit: 90eca3f3f43048f055e70e3edd4e2d8ea2a26783
      https://github.com/llvm/llvm-project/commit/90eca3f3f43048f055e70e3edd4e2d8ea2a26783
  Author: Adam Yang <hanbyang at microsoft.com>
  Date:   2025-01-10 (Fri, 10 Jan 2025)

  Changed paths:
    M .github/workflows/spirv-tests.yml

  Log Message:
  -----------
  [Github] Explicitly requesting Ubuntu 22.04 for SPIRV test (#122395)

For the same reason as
[#122221](https://github.com/llvm/llvm-project/pull/122221), this fixes
build failure from missing python3.


  Commit: 799955eb176042999b4d12a901b1c33b42035014
      https://github.com/llvm/llvm-project/commit/799955eb176042999b4d12a901b1c33b42035014
  Author: Teresa Johnson <tejohnson at google.com>
  Date:   2025-01-10 (Fri, 10 Jan 2025)

  Changed paths:
    M lld/test/ELF/lto/new-pass-manager.ll
    M llvm/lib/LTO/LTOBackend.cpp
    M llvm/test/Feature/load_plugin_error.ll
    M llvm/test/Other/X86/lto-hot-cold-split.ll

  Log Message:
  -----------
  [ThinLTO] Skip opt pipeline and summary wrapper pass on empty modules (#120143)

Follow up to PR118508, to avoid unnecessary compile time for an empty
combind regular LTO module if all modules end up being ThinLTO only.

This required minor changes to a few tests to ensure they weren't empty.


  Commit: 24bd9bc0b59d51c82e9a4d84c21d86d58d0ef6ce
      https://github.com/llvm/llvm-project/commit/24bd9bc0b59d51c82e9a4d84c21d86d58d0ef6ce
  Author: Fangrui Song <i at maskray.me>
  Date:   2025-01-10 (Fri, 10 Jan 2025)

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

  Log Message:
  -----------
  [Timer] Remove signpots overhead on unsupported systems

startTimer/stopTimer are frequently called. It's important to reduce
overhead.


  Commit: 2d5f07c82836bde6f5ae16518931a78783a22ec8
      https://github.com/llvm/llvm-project/commit/2d5f07c82836bde6f5ae16518931a78783a22ec8
  Author: Veera <32646674+veera-sivarajan at users.noreply.github.com>
  Date:   2025-01-11 (Sat, 11 Jan 2025)

  Changed paths:
    M llvm/lib/Transforms/InstCombine/InstCombineMulDivRem.cpp
    M llvm/test/Transforms/IndVarSimplify/rewrite-loop-exit-value.ll
    M llvm/test/Transforms/InstCombine/div-shift.ll

  Log Message:
  -----------
  [InstCombine] Fold `X udiv Y` to `X lshr cttz(Y)` if Y is a power of 2 (#121386)

Fixes #115767

This PR folds `X udiv Y` to `X lshr cttz(Y)` if Y is a power of two
since bitwise operations are faster than division.

Proof: https://alive2.llvm.org/ce/z/qHmLta


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

  Changed paths:
    M llvm/lib/Target/ARM/ARMSystemRegister.td

  Log Message:
  -----------
  [ARM] Use GenericTable PrimaryKey to remove one of the SearchIndexes for BankedRegsList. NFC


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

  Changed paths:
    M clang-tools-extra/clang-tidy/bugprone/NarrowingConversionsCheck.cpp
    M clang-tools-extra/clang-tidy/bugprone/TooSmallLoopVariableCheck.cpp
    M clang-tools-extra/clang-tidy/hicpp/MultiwayPathsCoveredCheck.cpp
    M clang-tools-extra/clangd/Hover.cpp
    M clang/include/clang/AST/Decl.h
    M clang/include/clang/ASTMatchers/ASTMatchers.h
    M clang/lib/AST/ASTContext.cpp
    M clang/lib/AST/ByteCode/Interp.h
    M clang/lib/AST/ByteCode/InterpBuiltinBitCast.cpp
    M clang/lib/AST/Decl.cpp
    M clang/lib/AST/DeclCXX.cpp
    M clang/lib/AST/Expr.cpp
    M clang/lib/AST/ExprConstant.cpp
    M clang/lib/AST/Randstruct.cpp
    M clang/lib/AST/RecordLayoutBuilder.cpp
    M clang/lib/CodeGen/ABIInfo.cpp
    M clang/lib/CodeGen/ABIInfoImpl.cpp
    M clang/lib/CodeGen/CGCall.cpp
    M clang/lib/CodeGen/CGClass.cpp
    M clang/lib/CodeGen/CGDebugInfo.cpp
    M clang/lib/CodeGen/CGNonTrivialStruct.cpp
    M clang/lib/CodeGen/CGObjCMac.cpp
    M clang/lib/CodeGen/CGObjCRuntime.cpp
    M clang/lib/CodeGen/CGRecordLayoutBuilder.cpp
    M clang/lib/CodeGen/SwiftCallingConv.cpp
    M clang/lib/CodeGen/Targets/LoongArch.cpp
    M clang/lib/CodeGen/Targets/RISCV.cpp
    M clang/lib/CodeGen/Targets/X86.cpp
    M clang/lib/CodeGen/Targets/XCore.cpp
    M clang/lib/Frontend/Rewrite/RewriteModernObjC.cpp
    M clang/lib/Sema/SemaChecking.cpp
    M clang/lib/Sema/SemaDecl.cpp
    M clang/lib/Sema/SemaDeclCXX.cpp
    M clang/lib/Sema/SemaDeclObjC.cpp
    M clang/lib/Sema/SemaOverload.cpp
    M clang/lib/StaticAnalyzer/Core/RegionStore.cpp
    M clang/tools/libclang/CXType.cpp
    M clang/unittests/AST/ASTImporterTest.cpp
    M lldb/source/Plugins/TypeSystem/Clang/TypeSystemClang.cpp
    M lldb/test/Shell/SymbolFile/DWARF/x86/no_unique_address-with-bitfields.cpp

  Log Message:
  -----------
  Reapply "[clang] Avoid re-evaluating field bitwidth" (#122289)


  Commit: 7c886d5d9265177e5dadb7ac5704cccffc3b95e0
      https://github.com/llvm/llvm-project/commit/7c886d5d9265177e5dadb7ac5704cccffc3b95e0
  Author: Fangrui Song <i at maskray.me>
  Date:   2025-01-10 (Fri, 10 Jan 2025)

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

  Log Message:
  -----------
  PassTimingInfo: test TheTimeInfo first. NFC

TheTimeInfo is a member variable and is often non-null, allowing the
caller `getPassTimer` to skip one check.


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

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

  Log Message:
  -----------
  [AArch64] Use GenericTable PrimaryKey to remove some SearchIndexes. NFC


  Commit: f3d3ec86d1a40a2c86d743384d272ebcd0a1cbd8
      https://github.com/llvm/llvm-project/commit/f3d3ec86d1a40a2c86d743384d272ebcd0a1cbd8
  Author: khaki3 <47756807+khaki3 at users.noreply.github.com>
  Date:   2025-01-10 (Fri, 10 Jan 2025)

  Changed paths:
    M flang/lib/Lower/OpenACC.cpp
    M flang/test/Lower/OpenACC/acc-data-operands.f90
    M flang/test/Lower/OpenACC/acc-data.f90
    M flang/test/Lower/OpenACC/acc-declare-globals.f90
    M flang/test/Lower/OpenACC/acc-declare.f90
    M flang/test/Lower/OpenACC/acc-kernels-loop.f90
    M flang/test/Lower/OpenACC/acc-kernels.f90
    M flang/test/Lower/OpenACC/acc-parallel-loop.f90
    M flang/test/Lower/OpenACC/acc-parallel.f90
    M flang/test/Lower/OpenACC/acc-serial-loop.f90
    M flang/test/Lower/OpenACC/acc-serial.f90

  Log Message:
  -----------
  [flang][acc] Add a missing acc.delete generation for the copyin clause (#122539)

We are missing the deletion part of the copyin clause after a region or
in a destructor. This PR completes its implementation for data regions,
compute regions, and global declarations.

Example:
```f90
subroutine sub()
  real :: x(1:10)
  !$acc data copyin(x)
  !$acc end data
end subroutine sub
```
We are getting the following:
```mlir
    %5 = acc.copyin varPtr(%2#0 : !fir.ref<!fir.array<10xf32>>) bounds(%4) -> !fir.ref<!fir.array<10xf32>> {name = "x"}
    acc.data dataOperands(%5 : !fir.ref<!fir.array<10xf32>>) {
      acc.terminator
    }
    return
```
With this PR, we'll get:
```mlir
    %5 = acc.copyin varPtr(%2#0 : !fir.ref<!fir.array<10xf32>>) bounds(%4) -> !fir.ref<!fir.array<10xf32>> {name = "x"}
    acc.data dataOperands(%5 : !fir.ref<!fir.array<10xf32>>) {
      acc.terminator
    }
    acc.delete accPtr(%5 : !fir.ref<!fir.array<10xf32>>) bounds(%4) {dataClause = #acc<data_clause acc_copyin>, name = "x"}
    return
```


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

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

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

This patch fixes:

  clang/unittests/AST/ASTImporterTest.cpp:3397:9: error: unused
  variable 'ToTU' [-Werror,-Wunused-variable]


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

  Changed paths:
    M mlir/lib/TableGen/Operator.cpp
    M mlir/lib/TableGen/Pattern.cpp

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

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

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


  Commit: 212cba0ef37dd3b2a253c063240370de42fc67c1
      https://github.com/llvm/llvm-project/commit/212cba0ef37dd3b2a253c063240370de42fc67c1
  Author: Michael Clark <michaeljclark at mac.com>
  Date:   2025-01-11 (Sat, 11 Jan 2025)

  Changed paths:
    M llvm/lib/Target/X86/X86InstrAVX512.td
    M llvm/test/MC/X86/avx512pf-64-att.s

  Log Message:
  -----------
  [X86] Correct the cdisp8 encoding for VSCATTER/VGATHER prefetch (#122051)

during differential fuzzing, I found 8 more instructions with disp8
offset multiplier differences to binutils. somewhat sure there is a bug
in the X86 LLVM disp8 offset multipliers for this subset of vector
scatter and gather prefetch instructions. please check and refer to the
previous pull request: https://github.com/llvm/llvm-project/pull/120340

these vector scatter and gather prefetch instructions also have an
unusual k mask operand position but I have not addressed this with this
patch as I am unsure how to change the Intel format in the tablegen
file.

```
hex:	62 f2 fd 49 c6 4c 51 01
llvm:	vgatherpf0dpd	{k1}, zmmword ptr [rcx + 2*ymm2 + 4]
ours:	vgatherpf0dpd	qword ptr * 8 [rcx + 2*ymm2 + 8] {k1}
gnu:	vgatherpf0dpd 	QWORD PTR [rcx+ymm2*2+0x8]{k1}

hex:	62 f2 7d 49 c7 4c 51 01
llvm:	vgatherpf0qps	{k1}, ymmword ptr [rcx + 2*zmm2 + 8]
ours:	vgatherpf0qps	dword ptr * 8 [rcx + 2*zmm2 + 4] {k1}
gnu:	vgatherpf0qps	DWORD PTR [rcx+zmm2*2+0x4]{k1}

hex:	62 f2 fd 49 c6 54 51 01
llvm:	vgatherpf1dpd	{k1}, zmmword ptr [rcx + 2*ymm2 + 4]
ours:	vgatherpf1dpd	qword ptr * 8 [rcx + 2*ymm2 + 8] {k1}
gnu:	vgatherpf1dpd	QWORD PTR [rcx+ymm2*2+0x8]{k1}

hex:	62 f2 7d 49 c7 54 51 01
llvm:	vgatherpf1qps	{k1}, ymmword ptr [rcx + 2*zmm2 + 8]
ours:	vgatherpf1qps	dword ptr * 8 [rcx + 2*zmm2 + 4] {k1}
gnu:	vgatherpf1qps	DWORD PTR [rcx+zmm2*2+0x4]{k1}

hex:	62 f2 fd 49 c6 6c 51 01
llvm:	vscatterpf0dpd	{k1}, zmmword ptr [rcx + 2*ymm2 + 4]
ours:	vscatterpf0dpd	qword ptr * 8 [rcx + 2*ymm2 + 8] {k1}
gnu:	vscatterpf0dpd	QWORD PTR [rcx+ymm2*2+0x8]{k1}

hex:	62 f2 7d 49 c7 6c 51 01
llvm:	vscatterpf0qps	{k1}, ymmword ptr [rcx + 2*zmm2 + 8]
ours:	vscatterpf0qps	dword ptr * 8 [rcx + 2*zmm2 + 4] {k1}
gnu:	vscatterpf0qps	DWORD PTR [rcx+zmm2*2+0x4]{k1}

hex:	62 f2 fd 49 c6 74 51 01
llvm:	vscatterpf1dpd	{k1}, zmmword ptr [rcx + 2*ymm2 + 4]
ours:	vscatterpf1dpd	qword ptr * 8 [rcx + 2*ymm2 + 8] {k1}
gnu:	vscatterpf1dpd QWORD PTR [rcx+ymm2*2+0x8]{k1}

hex:	62 f2 7d 49 c7 74 51 01
llvm:	vscatterpf1qps	{k1}, ymmword ptr [rcx + 2*zmm2 + 8]
ours:	vscatterpf1qps	dword ptr * 8 [rcx + 2*zmm2 + 4] {k1}
gnu:	vscatterpf1qps DWORD PTR [rcx+zmm2*2+0x4]{k1}
```


  Commit: f38c40bff399fda9cbed522816f7ddd18f6c0918
      https://github.com/llvm/llvm-project/commit/f38c40bff399fda9cbed522816f7ddd18f6c0918
  Author: Ramkumar Ramachandra <ramkumar.ramachandra at codasip.com>
  Date:   2025-01-11 (Sat, 11 Jan 2025)

  Changed paths:
    M llvm/include/llvm/IR/InstrTypes.h
    M llvm/include/llvm/IR/Instructions.h
    M llvm/include/llvm/SandboxIR/Instruction.h
    M llvm/lib/Analysis/ValueTracking.cpp
    M llvm/lib/IR/Instructions.cpp
    M llvm/lib/Transforms/Scalar/NewGVN.cpp
    M llvm/test/Analysis/ValueTracking/implied-condition-samesign.ll

  Log Message:
  -----------
  VT: teach isImpliedCondMatchingOperands about samesign (#122474)

Move isImplied{True,False}ByMatchingCmp from CmpInst to ICmpInst, so
that it can operate on CmpPredicate instead of CmpInst::Predicate, and
teach it about samesign. There are two callers of this function, and we
choose to migrate the one in ValueTracking, namely
isImpliedCondMatchingOperands to CmpPredicate, hence teaching it about
samesign, with visible test impact.


  Commit: 30bb1863892a235fe1d90eb6b496bd24b0c177d8
      https://github.com/llvm/llvm-project/commit/30bb1863892a235fe1d90eb6b496bd24b0c177d8
  Author: Niels Dekker <N.Dekker at lumc.nl>
  Date:   2025-01-11 (Sat, 11 Jan 2025)

  Changed paths:
    M clang-tools-extra/clang-tidy/readability/ContainerSizeEmptyCheck.h
    M clang-tools-extra/docs/clang-tidy/checks/readability/container-size-empty.rst

  Log Message:
  -----------
  [clang-tidy] Mention std::forward_list in container-size-empty doc (#120701)

Mentioned `std::forward_list` as example of a container without
`size()`.


  Commit: dc2963c8d77229ca1b20663beddef2323cc69a88
      https://github.com/llvm/llvm-project/commit/dc2963c8d77229ca1b20663beddef2323cc69a88
  Author: Tommy Chen <tmd279936 at gmail.com>
  Date:   2025-01-11 (Sat, 11 Jan 2025)

  Changed paths:
    M clang-tools-extra/clang-tidy/readability/RedundantCastingCheck.cpp
    M clang-tools-extra/docs/ReleaseNotes.rst
    M clang-tools-extra/test/clang-tidy/checkers/readability/redundant-casting.cpp

  Log Message:
  -----------
  [clang-tidy] exclude CXXParenListInitExpr from RedundantCastingCheck (#109741)

Exclude CXXParenListInitExpr from RedundantCastingCheck because there
are false positive cases. Currently, we can't think of positive cases
for CXXParenListInitExpr. This can be improved by following the
initListExpr method if we can come up with some positive cases.

Fixes #108846


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

  Changed paths:
    M mlir/include/mlir/Dialect/Async/IR/AsyncOps.td
    M mlir/include/mlir/Dialect/EmitC/IR/EmitC.td
    M mlir/include/mlir/Dialect/Func/IR/FuncOps.td
    M mlir/include/mlir/Dialect/LLVMIR/LLVMOps.td
    M mlir/include/mlir/Dialect/Transform/IR/TransformOps.td
    M mlir/lib/Dialect/Affine/IR/AffineOps.cpp
    M mlir/test/lib/Dialect/Affine/TestReifyValueBounds.cpp
    M mlir/test/lib/Dialect/Test/TestOpDefs.cpp
    M mlir/test/lib/Dialect/Test/TestOps.td
    M mlir/test/lib/Dialect/Test/TestTypes.cpp

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

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

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


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

  Changed paths:
    M flang/include/flang/Optimizer/Dialect/CUF/CUFOps.td
    M flang/include/flang/Optimizer/Dialect/FIROps.td

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

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

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


  Commit: 642e493d4dc6d8f18900a22ed2ca6f638b69a2f8
      https://github.com/llvm/llvm-project/commit/642e493d4dc6d8f18900a22ed2ca6f638b69a2f8
  Author: Amr Hesham <amr96 at programmer.net>
  Date:   2025-01-11 (Sat, 11 Jan 2025)

  Changed paths:
    M llvm/lib/Transforms/InstCombine/InstCombineCalls.cpp
    M llvm/test/Transforms/InstCombine/fsh.ll

  Log Message:
  -----------
  [InstCombine] Convert fshl(x, 0, y) to shl(x, and(y, BitWidth - 1)) when BitWidth is pow2 (#122362)

Convert `fshl(x, 0, y)` to `shl(x, and(y, BitWidth - 1))` when BitWidth
is pow2

Alive2 proof: https://alive2.llvm.org/ce/z/3oTEop
Fixes: #122235


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

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

  Log Message:
  -----------
  [clang-tidy] use correct template type in ``std::min`` and ``std::max`` when operand is integer literal for readability-use-std-min-max (#122296)

When comparing with integer literal, integer promote will happen to
promote type which has less bit width than int to int or unsigned int.
It will let auto-fix provide correct but out of expected fix.

e.g.
```c++
short a;
if ( a > 10 )
  a = 10;
```
will be
```c++
short a;
if ( (int)a > 10 )
  a = (short)10;
```

which will be fixed as
```c++
short a;
a = std::max<int>(a, 10);
```

but actually it can be
```c++
short a;
a = std::max<short>(a, 10);
```

Fixed: #121676


  Commit: 77ef5a601ad3827316e412788f609e9141b51e83
      https://github.com/llvm/llvm-project/commit/77ef5a601ad3827316e412788f609e9141b51e83
  Author: Younan Zhang <zyn7109 at gmail.com>
  Date:   2025-01-11 (Sat, 11 Jan 2025)

  Changed paths:
    M clang/test/LibClang/symbols.test

  Log Message:
  -----------
  [Clang][NFC] Fix a test failure with mold linker (#122587)

Mold prefers the suffix '$' for symbols like PLT and GOT entries, so
exclude these symbols as well. Otherwise, this test will fail for
developers using mold-linked Clang.

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


  Commit: 876fa60f081ed66ad9645f955790198c3a96882c
      https://github.com/llvm/llvm-project/commit/876fa60f081ed66ad9645f955790198c3a96882c
  Author: Mingjie Xu <xumingjie.enna1 at bytedance.com>
  Date:   2025-01-11 (Sat, 11 Jan 2025)

  Changed paths:
    M llvm/lib/Transforms/Instrumentation/TypeSanitizer.cpp
    M llvm/test/Instrumentation/TypeSanitizer/basic.ll

  Log Message:
  -----------
  [TySan] Skip instrumentation for function declarations (#122488)

Skip function declarations for instrumentation.

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


  Commit: 1d58699f5ce1a79634ea81f576cd4975cb04f046
      https://github.com/llvm/llvm-project/commit/1d58699f5ce1a79634ea81f576cd4975cb04f046
  Author: Amr Hesham <amr96 at programmer.net>
  Date:   2025-01-11 (Sat, 11 Jan 2025)

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

  Log Message:
  -----------
  [SDPatternMatch] Add Matcher m_Undef (#122521)

Add Matcher `m_Undef`

Fixes: #122439


  Commit: d291e459093be6df542c1770b26ff2e1bf1e6949
      https://github.com/llvm/llvm-project/commit/d291e459093be6df542c1770b26ff2e1bf1e6949
  Author: macurtis-amd <macurtis at amd.com>
  Date:   2025-01-11 (Sat, 11 Jan 2025)

  Changed paths:
    M flang/lib/Optimizer/OpenMP/MapInfoFinalization.cpp
    M flang/test/Transforms/omp-map-info-finalization.fir

  Log Message:
  -----------
  [flang] Teach omp-map-info-finalization to reuse descriptor allocas (#122507)

Internal testing shows improvements in some SPEC HPC benchmarks with
this change.


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

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

  Log Message:
  -----------
  [X86] LowerCTPOP - check if the operand is a constant when collecting KnownBits

Under certain circumstances, lowering of other instructions can result in computeKnownBits being able to detect a constant that it couldn't previously.

Fixes #122580


  Commit: b306eff56f950285e01c7accdb36f09d17506dcc
      https://github.com/llvm/llvm-project/commit/b306eff56f950285e01c7accdb36f09d17506dcc
  Author: William Moses <gh at wsmoses.com>
  Date:   2025-01-11 (Sat, 11 Jan 2025)

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

  Log Message:
  -----------
  [MLIR] Enable inlining for private symbols (#122572)

The inlining code for llvm funcs seems to have needlessly forbidden
inlining of private (e.g. non-cloning) symbols.


  Commit: 38fcf62483907aa48325e60d1f685805e846c6ea
      https://github.com/llvm/llvm-project/commit/38fcf62483907aa48325e60d1f685805e846c6ea
  Author: William Moses <gh at wsmoses.com>
  Date:   2025-01-11 (Sat, 11 Jan 2025)

  Changed paths:
    M mlir/include/mlir/Target/LLVMIR/Import.h
    M mlir/lib/Target/LLVMIR/ModuleImport.cpp

  Log Message:
  -----------
  [MLIR] Import LLVM add flag to disable loadalldialects (#122574)

Co-authored-by: Oleksandr "Alex" Zinenko <ftynse at gmail.com>


  Commit: ba58d35019ae40641ae454472a43965a7bee5696
      https://github.com/llvm/llvm-project/commit/ba58d35019ae40641ae454472a43965a7bee5696
  Author: Janis Heims <technoelf at undertheprinter.com>
  Date:   2025-01-11 (Sat, 11 Jan 2025)

  Changed paths:
    M llvm/test/MC/M68k/Data/Classes/MxMoveSR.s

  Log Message:
  -----------
  [M68k] Use M68010 cpu as target for SR move test (#122452)

Fixes the test introduced in #111145.

It would also make sense to throw an error when the user attempts to use
a move-from-sr on an unsupported architecture. Currently the encoder
generates garbage instructions for a 68000 because the AsmMatcher is
able to match the move against a MOV16rr


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

  Changed paths:
    M clang-tools-extra/clang-tidy/ClangTidyCheck.cpp
    M clang-tools-extra/clang-tidy/ClangTidyCheck.h
    M clang-tools-extra/unittests/clang-tidy/ClangTidyOptionsTest.cpp

  Log Message:
  -----------
  [clang-tidy] remove never used IgnoreCase in option (#122573)


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

  Changed paths:
    M clang-tools-extra/clang-tidy/ClangTidyOptions.cpp
    M clang-tools-extra/clang-tidy/ClangTidyOptions.h
    M clang-tools-extra/docs/ReleaseNotes.rst
    A clang-tools-extra/test/clang-tidy/infrastructure/Inputs/normalized-path/code.cpp
    A clang-tools-extra/test/clang-tidy/infrastructure/Inputs/normalized-path/error-config/.clang-tidy
    A clang-tools-extra/test/clang-tidy/infrastructure/normalized-path.test

  Log Message:
  -----------
  [clang-tidy] fix incorrect configuration file path resolving when file paths contain `..` (#121323)

`makeAbsolute` will not normalize path. When getting parent folder, `..`
will go into the subfolder instead of the parent folder.


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

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

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


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

  Changed paths:
    M llvm/test/CodeGen/X86/vselect-avx.ll

  Log Message:
  -----------
  [X86] vselect-avx.ll - regenerate VPTERNLOG comments


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

  Changed paths:
    M llvm/test/CodeGen/X86/avx512-mask-op.ll

  Log Message:
  -----------
  [X86] avx512-mask-op.ll - regenerate VPTERNLOG comments


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

  Changed paths:
    M llvm/test/CodeGen/X86/avx512-build-vector.ll

  Log Message:
  -----------
  [X86] avx512-build-vector.ll - regenerate VPTERNLOG comments


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

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

  Log Message:
  -----------
  [clang-tidy][doc] fix incorrectly code snippet in release note (#122595)


  Commit: 1eed46960c217f9480865702f06fb730c7521e61
      https://github.com/llvm/llvm-project/commit/1eed46960c217f9480865702f06fb730c7521e61
  Author: Marius Kamp <msk at posteo.org>
  Date:   2025-01-11 (Sat, 11 Jan 2025)

  Changed paths:
    M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
    A llvm/test/CodeGen/AArch64/csel-cmp-cse.ll

  Log Message:
  -----------
  [AArch64] Eliminate Common Subexpression of CSEL by Reassociation (#121350)

If we have a CSEL instruction that depends on the flags set by a
(SUBS x c) instruction and the true and/or false expression is
(add (add x y) -c), we can reassociate the latter expression to
(add (SUBS x c) y) and save one instruction.

Proof for the basic transformation: https://alive2.llvm.org/ce/z/-337Pb

We can extend this transformation for slightly different constants. For
example, if we have (add (add x y) -(c-1)) and a the comparison x <u c,
we can transform the comparison to x <=u c-1 to eliminate the comparison
instruction, too. Similarly, we can transform (x == 0) to (x <u 1).

Proofs for the transformations that alter the constants:
https://alive2.llvm.org/ce/z/3nVqgR

Fixes #119606.


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

  Changed paths:
    M llvm/lib/CodeGen/SelectionDAG/LegalizeTypes.h
    M llvm/lib/CodeGen/SelectionDAG/LegalizeVectorTypes.cpp
    A llvm/test/CodeGen/ARM/scalarize-assert-zext.ll

  Log Message:
  -----------
  [DAG] Allow AssertZExt to scalarize. (#122463)

With range and undef metadata on a call we can have vector AssertZExt
generated on a target with no vector operations. The AssertZExt needs to
scalarize to a normal `AssertZext tin, ValueType`. I have added
AssertSext too, although I do not have a test case.

Fixes #110374


  Commit: 9a9e41ca89f0d78705b60497ece9071b0a5a83f0
      https://github.com/llvm/llvm-project/commit/9a9e41ca89f0d78705b60497ece9071b0a5a83f0
  Author: bernhardu <bernhardu at mailbox.org>
  Date:   2025-01-11 (Sat, 11 Jan 2025)

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

  Log Message:
  -----------
  [win/asan] GetInstructionSize: Add test for `8D A4 24 ...`. (#119794)

This adds a test line and updates a comment.


  Commit: 657fb4433e027722e8c9a5002d0c194ecd3f2956
      https://github.com/llvm/llvm-project/commit/657fb4433e027722e8c9a5002d0c194ecd3f2956
  Author: Austin Kerbow <Austin.Kerbow at amd.com>
  Date:   2025-01-11 (Sat, 11 Jan 2025)

  Changed paths:
    M llvm/include/llvm/CodeGen/TargetInstrInfo.h
    M llvm/lib/CodeGen/ScheduleDAGInstrs.cpp
    M llvm/lib/CodeGen/TargetInstrInfo.cpp
    M llvm/lib/Target/AMDGPU/AMDGPUIGroupLP.cpp
    M llvm/lib/Target/AMDGPU/GCNSchedStrategy.cpp
    M llvm/lib/Target/AMDGPU/SIInstrInfo.cpp
    M llvm/lib/Target/AMDGPU/SIInstrInfo.h
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.iglp.opt.exp.small.mir
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.iglp.opt.ll
    M llvm/test/CodeGen/AMDGPU/sched-barrier-pre-RA.mir

  Log Message:
  -----------
  [AMDGPU] Add target hook to isGlobalMemoryObject (#112781)

We want special handing for IGLP instructions in the scheduler but they
should still be treated like they have side effects by other passes. Add
a target hook to the ScheduleDAGInstrs DAG builder so that we have more
control over this.


  Commit: 2914ba1c01fdc496082197abf7cd35e2af526634
      https://github.com/llvm/llvm-project/commit/2914ba1c01fdc496082197abf7cd35e2af526634
  Author: Louis Dionne <ldionne.2 at gmail.com>
  Date:   2025-01-11 (Sat, 11 Jan 2025)

  Changed paths:
    M libcxx/src/experimental/tzdb.cpp
    M libcxx/test/libcxx/time/time.zone/time.zone.db/rules.pass.cpp
    M libcxx/test/libcxx/time/time.zone/time.zone.db/version.pass.cpp

  Log Message:
  -----------
  [libc++] Improve diagnostic when failing to parse the tzdb (#122125)

Providing the character that we failed on is helpful for figuring out
what's going wrong in the tzdb.


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

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

  Log Message:
  -----------
  [VPlan] Skip non-induction phi recipes in legalizeAndOptimizeInductions.

The body of the loop only applies to wide induction recipes, skip any other
header phi recipes up-frond


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

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

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

This patch fixes:

  llvm/lib/Target/AMDGPU/AMDGPUIGroupLP.cpp:255:18: error: private
  field 'DAG' is not used [-Werror,-Wunused-private-field]


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

  Changed paths:
    M llvm/lib/Analysis/InstructionSimplify.cpp
    A llvm/test/Transforms/InstSimplify/subnuw-with-xor.ll

  Log Message:
  -----------
  [InstSimpify] Simplifying `(xor (sub C_Mask, X), C_Mask)` -> `X` (#122552)

- **[InstSimpify] Add tests for simplifying `(xor (sub C_Mask, X),
C_Mask)`; NFC**
- **[InstSimpify] Simplifying `(xor (sub C_Mask, X), C_Mask)` -> `X`**

Helps address regressions with folding `clz(Pow2)`.

Proof: https://alive2.llvm.org/ce/z/zGwUBp


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

  Changed paths:
    M llvm/lib/Analysis/ValueTracking.cpp
    M llvm/test/Transforms/InstSimplify/call.ll

  Log Message:
  -----------
  [ValueTracking] Take into account whether zero is poison when computing CR for `ct{t,l}z` (#122548)


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

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

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


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

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

  Log Message:
  -----------
  [Sema] Avoid repeated hash lookups (NFC) (#122588)


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

  Changed paths:
    M mlir/examples/transform-opt/mlir-transform-opt.cpp
    M mlir/include/mlir/Analysis/DataFlow/SparseAnalysis.h
    M mlir/include/mlir/IR/Matchers.h
    M mlir/include/mlir/IR/OpDefinition.h
    M mlir/include/mlir/Interfaces/DataLayoutInterfaces.td
    M mlir/include/mlir/Pass/AnalysisManager.h
    M mlir/lib/Analysis/DataFlowFramework.cpp
    M mlir/lib/AsmParser/Parser.cpp
    M mlir/lib/Bytecode/Writer/IRNumbering.h
    M mlir/lib/Tools/mlir-pdll-lsp-server/PDLLServer.cpp
    M mlir/lib/Tools/tblgen-lsp-server/TableGenServer.cpp
    M mlir/lib/Transforms/Utils/FoldUtils.cpp
    M mlir/lib/Transforms/Utils/GreedyPatternRewriteDriver.cpp

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

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

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

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


  Commit: eabf9313d47b8e25b2a2e4ee62dd70f79eacf1df
      https://github.com/llvm/llvm-project/commit/eabf9313d47b8e25b2a2e4ee62dd70f79eacf1df
  Author: Aiden Grossman <aidengrossman at google.com>
  Date:   2025-01-11 (Sat, 11 Jan 2025)

  Changed paths:
    M .ci/metrics/metrics.py

  Log Message:
  -----------
  [CI] Detect step failures in metrics job (#122564)

This patch makes the metrics job also detect failures in individual
steps. This is necessary now that we are setting continue-on-error in
the premerge jobs to prevent sending out unnecessary email to detect
what jobs actually fail.


  Commit: 2c7829e676dfd6a33f7c9955ea930f51aca37e20
      https://github.com/llvm/llvm-project/commit/2c7829e676dfd6a33f7c9955ea930f51aca37e20
  Author: Congcong Cai <congcongcai0907 at 163.com>
  Date:   2025-01-12 (Sun, 12 Jan 2025)

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

  Log Message:
  -----------
  [clang-tidy][doc] combine the clang-tidy itself's change together in release note (#122594)

<img width="1137" alt="image"
src="https://github.com/user-attachments/assets/25433743-2c19-422a-93c5-3edfc1bb7a3f"
/>


  Commit: 5e4b41c1d534c90a4591b840a4f1b2f7bf59279f
      https://github.com/llvm/llvm-project/commit/5e4b41c1d534c90a4591b840a4f1b2f7bf59279f
  Author: Roland McGrath <mcgrathr at google.com>
  Date:   2025-01-11 (Sat, 11 Jan 2025)

  Changed paths:
    M libc/cmake/modules/LLVMLibCHeaderRules.cmake
    M libc/test/include/CMakeLists.txt
    A libc/test/include/header-test-template.c

  Log Message:
  -----------
  [libc] Add compile tests for each public header (#122527)

This adds a test that consists of compiling `#include <...>`,
pretty much alone, for each public header file in each different
language mode (`-std=...` compiler switch) with -Werror and many
warnings enabled.

There are several headers that have bugs when used alone, and
many more headers that have bugs in certain language modes.  So
for now, compiling the new tests is gated on the cmake switch
-DLLVM_LIBC_BUILD_HEADER_TESTS=ON.  When all the bugs are fixed,
the switch will be removed so future regressions don't land.


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

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

  Log Message:
  -----------
  [Driver] Avoid repeated map lookups (NFC) (#122625)


  Commit: 5ee0a71df919a328c714e25f0935c21e586cc18b
      https://github.com/llvm/llvm-project/commit/5ee0a71df919a328c714e25f0935c21e586cc18b
  Author: Daniel Paoliello <danpao at microsoft.com>
  Date:   2025-01-11 (Sat, 11 Jan 2025)

  Changed paths:
    M llvm/include/llvm/CodeGen/MIRYamlMapping.h
    M llvm/include/llvm/CodeGen/MachineFunction.h
    M llvm/include/llvm/CodeGen/SelectionDAG.h
    M llvm/include/llvm/MC/MCObjectFileInfo.h
    M llvm/include/llvm/MC/MCStreamer.h
    M llvm/include/llvm/MC/MCWinCOFFObjectWriter.h
    M llvm/include/llvm/MC/MCWinCOFFStreamer.h
    M llvm/lib/CodeGen/MIRParser/MIRParser.cpp
    M llvm/lib/CodeGen/MIRPrinter.cpp
    M llvm/lib/CodeGen/SelectionDAG/ScheduleDAGSDNodes.cpp
    M llvm/lib/MC/MCAsmStreamer.cpp
    M llvm/lib/MC/MCObjectFileInfo.cpp
    M llvm/lib/MC/MCParser/COFFAsmParser.cpp
    M llvm/lib/MC/MCStreamer.cpp
    M llvm/lib/MC/MCWinCOFFStreamer.cpp
    M llvm/lib/MC/WinCOFFObjectWriter.cpp
    M llvm/lib/Target/AArch64/AArch64AsmPrinter.cpp
    M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
    A llvm/test/CodeGen/AArch64/win-import-call-optimization-nocalls.ll
    A llvm/test/CodeGen/AArch64/win-import-call-optimization.ll
    A llvm/test/CodeGen/MIR/AArch64/called-globals.mir
    M llvm/test/CodeGen/MIR/X86/call-site-info-error1.mir
    M llvm/test/CodeGen/MIR/X86/call-site-info-error2.mir
    A llvm/test/MC/AArch64/win-import-call-optimization.s
    A llvm/test/MC/COFF/bad-parse.s

  Log Message:
  -----------
  [aarch64][win] Add support for import call optimization (equivalent to MSVC /d2ImportCallOptimization) (#121516)

This change implements import call optimization for AArch64 Windows
(equivalent to the undocumented MSVC `/d2ImportCallOptimization` flag).

Import call optimization adds additional data to the binary which can be
used by the Windows kernel loader to rewrite indirect calls to imported
functions as direct calls. It uses the same [Dynamic Value Relocation
Table mechanism that was leveraged on x64 to implement
`/d2GuardRetpoline`](https://techcommunity.microsoft.com/blog/windowsosplatform/mitigating-spectre-variant-2-with-retpoline-on-windows/295618).

The change to the obj file is to add a new `.impcall` section with the
following layout:
```cpp
  // Per section that contains calls to imported functions:
  //  uint32_t SectionSize: Size in bytes for information in this section.
  //  uint32_t Section Number
  //  Per call to imported function in section:
  //    uint32_t Kind: the kind of imported function.
  //    uint32_t BranchOffset: the offset of the branch instruction in its
  //                            parent section.
  //    uint32_t TargetSymbolId: the symbol id of the called function.
```

NOTE: If the import call optimization feature is enabled, then the
`.impcall` section must be emitted, even if there are no calls to
imported functions.

The implementation is split across a few parts of LLVM:
* During AArch64 instruction selection, the `GlobalValue` for each call
to a global is recorded into the Extra Information for that node.
* During lowering to machine instructions, the called global value for
each call is noted in its containing `MachineFunction`.
* During AArch64 asm printing, if the import call optimization feature
is enabled:
- A (new) `.impcall` directive is emitted for each call to an imported
function.
- The `.impcall` section is emitted with its magic header (but is not
filled in).
* During COFF object writing, the `.impcall` section is filled in based
on each `.impcall` directive that were encountered.

The `.impcall` section can only be filled in when we are writing the
COFF object as it requires the actual section numbers, which are only
assigned at that point (i.e., they don't exist during asm printing).

I had tried to avoid using the Extra Information during instruction
selection and instead implement this either purely during asm printing
or in a `MachineFunctionPass` (as suggested in [on the
forums](https://discourse.llvm.org/t/design-gathering-locations-of-instructions-to-emit-into-a-section/83729/3))
but this was not possible due to how loading and calling an imported
function works on AArch64. Specifically, they are emitted as `ADRP` +
`LDR` (to load the symbol) then a `BR` (to do the call), so at the point
when we have machine instructions, we would have to work backwards
through the instructions to discover what is being called. An initial
prototype did work by inspecting instructions; however, it didn't
correctly handle the case where the same function was called twice in a
row, which caused LLVM to elide the `ADRP` + `LDR` and reuse the
previously loaded address. Worse than that, sometimes for the
double-call case LLVM decided to spill the loaded address to the stack
and then reload it before making the second call. So, instead of trying
to implement logic to discover where the value in a register came from,
I instead recorded the symbol being called at the last place where it
was easy to do: instruction selection.


  Commit: d997a722c194feec5f3a94dec5acdce59ac5e55b
      https://github.com/llvm/llvm-project/commit/d997a722c194feec5f3a94dec5acdce59ac5e55b
  Author: Daniel Paoliello <danpao at microsoft.com>
  Date:   2025-01-11 (Sat, 11 Jan 2025)

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

  Log Message:
  -----------
  Fix build break in MIRPrinter (#122630)


  Commit: 42da12063f49e8d52e63dcb36d25b55ed3688a26
      https://github.com/llvm/llvm-project/commit/42da12063f49e8d52e63dcb36d25b55ed3688a26
  Author: Kareem Ergawy <kareem.ergawy at amd.com>
  Date:   2025-01-12 (Sun, 12 Jan 2025)

  Changed paths:
    M flang/lib/Lower/OpenMP/OpenMP.cpp
    M flang/test/Lower/OpenMP/order-clause.f90
    M flang/test/Lower/OpenMP/parallel-private-clause.f90
    M flang/test/Lower/OpenMP/simd.f90
    M llvm/lib/Frontend/OpenMP/OMPIRBuilder.cpp
    M mlir/lib/Dialect/OpenMP/IR/OpenMPDialect.cpp
    M mlir/lib/Target/LLVMIR/Dialect/OpenMP/OpenMPToLLVMIRTranslation.cpp
    A mlir/test/Target/LLVMIR/openmp-simd-private.mlir
    M mlir/test/Target/LLVMIR/openmp-todo.mlir

  Log Message:
  -----------
  [flang][OpenMP] Extend delayed privatization for `omp.simd` (#122156)

Adds support for delayed privatization for `simd` directives. This PR
includes PFT down to LLVM IR lowering.


  Commit: a5364444bd0dbbd60e83ee6cf11adabd72f4df54
      https://github.com/llvm/llvm-project/commit/a5364444bd0dbbd60e83ee6cf11adabd72f4df54
  Author: Barnabás Pőcze <pobrn at protonmail.com>
  Date:   2025-01-12 (Sun, 12 Jan 2025)

  Changed paths:
    M clang-tools-extra/clang-tidy/performance/UnnecessaryCopyInitialization.cpp
    M clang-tools-extra/docs/ReleaseNotes.rst
    M clang-tools-extra/test/clang-tidy/checkers/performance/unnecessary-copy-initialization.cpp

  Log Message:
  -----------
  [clang-tidy] performance-unnecessary-copy-initialization: Consider static functions (#119974)

Static member functions can be considered the same way as free functions
are, so do that.


  Commit: fdfe7e7fabc85ed7293ca6f5f234d41812644584
      https://github.com/llvm/llvm-project/commit/fdfe7e7fabc85ed7293ca6f5f234d41812644584
  Author: Sharjeel Khan <sharjeel.khan4754 at gmail.com>
  Date:   2025-01-12 (Sun, 12 Jan 2025)

  Changed paths:
    M clang/lib/Driver/ToolChains/Linux.cpp
    M clang/test/Driver/fsanitize.c

  Log Message:
  -----------
  [Driver] Error when using msan on Android (#122540)

Msan is not supported on Android as mentioned in google/sanitizers#1381.
We proactively give the warning saying it is unsupported to fix
android/ndk#1958.


  Commit: 8ebc35f8d041f097a2b973b455dc3533420af6bf
      https://github.com/llvm/llvm-project/commit/8ebc35f8d041f097a2b973b455dc3533420af6bf
  Author: MichelleCDjunaidi <michellechrisalyn at gmail.com>
  Date:   2025-01-12 (Sun, 12 Jan 2025)

  Changed paths:
    M clang-tools-extra/clang-tidy/bugprone/BugproneTidyModule.cpp
    M clang-tools-extra/clang-tidy/bugprone/CMakeLists.txt
    A clang-tools-extra/clang-tidy/bugprone/IncorrectEnableSharedFromThisCheck.cpp
    A clang-tools-extra/clang-tidy/bugprone/IncorrectEnableSharedFromThisCheck.h
    M clang-tools-extra/docs/ReleaseNotes.rst
    A clang-tools-extra/docs/clang-tidy/checks/bugprone/incorrect-enable-shared-from-this.rst
    M clang-tools-extra/docs/clang-tidy/checks/list.rst
    A clang-tools-extra/test/clang-tidy/checkers/bugprone/incorrect-enable-shared-from-this.cpp

  Log Message:
  -----------
  [clang-tidy] Create bugprone-incorrect-enable-shared-from-this check (#102299)

This checks that classes/structs inheriting from
``std::enable_shared_from_this`` does so with public inheritance, so it
prevents crashes due to ``std::make_shared`` and ``shared_from_this()``
getting called when the internal weak pointer was not initialized (e.g.
due to private inheritance).


  Commit: 753295835544f16b4e180576aa020680231c4318
      https://github.com/llvm/llvm-project/commit/753295835544f16b4e180576aa020680231c4318
  Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
  Date:   2025-01-12 (Sun, 12 Jan 2025)

  Changed paths:
    M llvm/utils/gn/secondary/clang-tools-extra/clang-tidy/bugprone/BUILD.gn

  Log Message:
  -----------
  [gn build] Port 8ebc35f8d041


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

  Changed paths:
    M mlir/lib/Conversion/LLVMCommon/TypeConverter.cpp
    M mlir/test/Conversion/ArithToLLVM/arith-to-llvm.mlir
    M mlir/test/Conversion/FuncToLLVM/func-to-llvm.mlir

  Log Message:
  -----------
  [mlir][LLVM] Fix conversion of non-standard MLIR float types (#122634)

Certain non-standard float types were directly passed through in the
LLVM type converter, resulting in invalid IR or failed assertions:

```
mlir-opt: mlir/lib/Conversion/LLVMCommon/TypeConverter.cpp:638: FailureOr<Type> mlir::LLVMTypeConverter::convertVectorType(VectorType) const: Assertion `LLVM::isCompatibleVectorType(vectorType) && "expected vector type compatible with the LLVM dialect"' failed.
```

The LLVM type converter should not define invalid type conversion rules
for such types. If there is no type conversion rule, conversion patterns
will not apply to ops with such operand types.


  Commit: d080f78772acf9de4961b89062c02fdd5f82186a
      https://github.com/llvm/llvm-project/commit/d080f78772acf9de4961b89062c02fdd5f82186a
  Author: TilakChad <49703944+TilakChad at users.noreply.github.com>
  Date:   2025-01-12 (Sun, 12 Jan 2025)

  Changed paths:
    M clang/docs/ReleaseNotes.rst
    M clang/lib/AST/Expr.cpp
    A clang/test/SemaCXX/crash-GH121274.cpp

  Log Message:
  -----------
  [Clang] Fixed a crash when __PRETTY_FUNCTION__ or __FUNCSIG__ (clang-cl) appears in the trailing return type of the lambda  (#122611)

The (function) type of the lambda function is null while parsing
trailing return type. The type is filled-in when the lambda body is
entered. So, resolving `__PRETTY_FUNCTION__` before the lambda body is
entered causes the crash.

Fixes #121274.


  Commit: 26b4a0ac7ed3f04f10bd1c043e2cf9c52da7fc47
      https://github.com/llvm/llvm-project/commit/26b4a0ac7ed3f04f10bd1c043e2cf9c52da7fc47
  Author: eleviant <56861949+eleviant at users.noreply.github.com>
  Date:   2025-01-12 (Sun, 12 Jan 2025)

  Changed paths:
    A llvm/test/tools/gold/X86/Inputs/unified-lto-foo.ll
    A llvm/test/tools/gold/X86/unified-lto.ll
    M llvm/tools/gold/gold-plugin.cpp

  Log Message:
  -----------
  Add 'unifiedlto' option to gold plugin (#121336)

Option allows using full LTO when linking bitcode files compiled with
unified LTO pipeline.


  Commit: 66badf224ade6e78d5da005f6a9819092fd8767b
      https://github.com/llvm/llvm-project/commit/66badf224ade6e78d5da005f6a9819092fd8767b
  Author: Ramkumar Ramachandra <ramkumar.ramachandra at codasip.com>
  Date:   2025-01-12 (Sun, 12 Jan 2025)

  Changed paths:
    M llvm/lib/Analysis/ValueTracking.cpp
    M llvm/test/Analysis/ValueTracking/implied-condition-samesign.ll

  Log Message:
  -----------
  VT: teach a special-case optz about samesign (#122590)

There is a narrow special-case in isImpliedCondICmps that can benefit
from being taught about samesign. Since it costs us nothing to implement
it, teach it about samesign, for completeness. This patch marks the
completion of the effort to teach ValueTracking about samesign.


  Commit: 0d352b2ea767e043b47d78bfdbd6820356628314
      https://github.com/llvm/llvm-project/commit/0d352b2ea767e043b47d78bfdbd6820356628314
  Author: Shilei Tian <i at tianshilei.me>
  Date:   2025-01-12 (Sun, 12 Jan 2025)

  Changed paths:
    M clang/lib/Driver/ToolChains/HIPUtility.cpp
    M clang/test/Driver/cuda-arch-translation.cu
    M clang/test/Driver/hip-code-object-version.hip
    M clang/test/Driver/hip-target-id.hip
    M clang/test/Driver/hipspv-toolchain.hip
    M clang/test/Driver/linker-wrapper.c
    M clang/tools/clang-linker-wrapper/ClangLinkerWrapper.cpp

  Log Message:
  -----------
  [Clang] Use `-targets=host-x86_64-unknown-linux-gnu` as bundler target (#122627)

This a prime patch to support generic target when using `--offload-compress`.


  Commit: 4f7dc1b55ae5b8ed1a36dd941ef4f9920bfdac8d
      https://github.com/llvm/llvm-project/commit/4f7dc1b55ae5b8ed1a36dd941ef4f9920bfdac8d
  Author: Ruhung <143302514+Ruhung at users.noreply.github.com>
  Date:   2025-01-12 (Sun, 12 Jan 2025)

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

  Log Message:
  -----------
  [InstCombine] Fold (add (add A, 1), (sext (icmp ne A, 0))) to call umax(A, 1) (#122491)

Transform (add (add A, 1), (sext (icmp ne A, 0))) into call umax(A, 1).

Fixes #121853.

Alive2: https://alive2.llvm.org/ce/z/TweTan


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

  Changed paths:
    M llvm/lib/Target/X86/X86FixupVectorConstants.cpp
    M llvm/test/CodeGen/X86/avx512-build-vector.ll
    M llvm/test/CodeGen/X86/avx512-mask-op.ll
    M llvm/test/CodeGen/X86/avx512-shuffles/partial_permute.ll
    M llvm/test/CodeGen/X86/avx512-shuffles/permute.ll
    M llvm/test/CodeGen/X86/avx512vl-intrinsics.ll
    M llvm/test/CodeGen/X86/combine-or.ll
    M llvm/test/CodeGen/X86/combine-sub-usat.ll
    M llvm/test/CodeGen/X86/expand-vp-cast-intrinsics.ll
    M llvm/test/CodeGen/X86/extract-concat.ll
    M llvm/test/CodeGen/X86/insert-into-constant-vector.ll
    M llvm/test/CodeGen/X86/isel-buildvector-avx.ll
    M llvm/test/CodeGen/X86/matrix-multiply.ll
    M llvm/test/CodeGen/X86/nontemporal-4.ll
    M llvm/test/CodeGen/X86/pr29112.ll
    M llvm/test/CodeGen/X86/pr46532.ll
    M llvm/test/CodeGen/X86/pr78109.ll
    M llvm/test/CodeGen/X86/pr97968.ll
    M llvm/test/CodeGen/X86/sse41-intrinsics-x86.ll
    M llvm/test/CodeGen/X86/vec_fp_to_int.ll
    M llvm/test/CodeGen/X86/vec_minmax_sint.ll
    M llvm/test/CodeGen/X86/vec_minmax_uint.ll
    M llvm/test/CodeGen/X86/vector-compress.ll
    M llvm/test/CodeGen/X86/vector-half-conversions.ll
    M llvm/test/CodeGen/X86/vector-interleaved-load-i32-stride-6.ll
    M llvm/test/CodeGen/X86/vector-interleaved-load-i64-stride-3.ll
    M llvm/test/CodeGen/X86/vector-interleaved-load-i64-stride-4.ll
    M llvm/test/CodeGen/X86/vector-interleaved-store-i32-stride-2.ll
    M llvm/test/CodeGen/X86/vector-interleaved-store-i32-stride-3.ll
    M llvm/test/CodeGen/X86/vector-interleaved-store-i32-stride-4.ll
    M llvm/test/CodeGen/X86/vector-interleaved-store-i32-stride-5.ll
    M llvm/test/CodeGen/X86/vector-interleaved-store-i32-stride-6.ll
    M llvm/test/CodeGen/X86/vector-interleaved-store-i64-stride-2.ll
    M llvm/test/CodeGen/X86/vector-interleaved-store-i64-stride-3.ll
    M llvm/test/CodeGen/X86/vector-lzcnt-128.ll
    M llvm/test/CodeGen/X86/vector-lzcnt-256.ll
    M llvm/test/CodeGen/X86/vector-popcnt-128.ll
    M llvm/test/CodeGen/X86/vector-popcnt-256.ll
    M llvm/test/CodeGen/X86/vector-shuffle-128-v4.ll
    M llvm/test/CodeGen/X86/vector-shuffle-256-v4.ll
    M llvm/test/CodeGen/X86/vector-shuffle-256-v8.ll
    M llvm/test/CodeGen/X86/vector-shuffle-512-v16.ll
    M llvm/test/CodeGen/X86/vector-shuffle-512-v64.ll
    M llvm/test/CodeGen/X86/vector-shuffle-512-v8.ll
    M llvm/test/CodeGen/X86/vector-shuffle-avx512.ll
    M llvm/test/CodeGen/X86/vector-shuffle-combining-avx.ll
    M llvm/test/CodeGen/X86/vector-shuffle-combining-avx2.ll
    M llvm/test/CodeGen/X86/vector-shuffle-combining-avx512f.ll
    M llvm/test/CodeGen/X86/vector-tzcnt-128.ll
    M llvm/test/CodeGen/X86/vector-tzcnt-256.ll
    M llvm/test/CodeGen/X86/vselect-avx.ll
    M llvm/test/CodeGen/X86/widen_fadd.ll
    M llvm/test/CodeGen/X86/widen_fdiv.ll
    M llvm/test/CodeGen/X86/widen_fmul.ll
    M llvm/test/CodeGen/X86/widen_fsub.ll
    M llvm/test/CodeGen/X86/x86-interleaved-access.ll

  Log Message:
  -----------
  [X86] X86FixupVectorConstantsPass - use VPMOVSX/ZX extensions for PS/PD domain moves (#122601)

For targets with free domain moves, or AVX512 support, allow the use of VPMOVSX/ZX extension loads to reduce the load sizes.

I've limited this to extension to i32/i64 types as we're mostly interested in shuffle mask loading here, but we could include i16 types as well just as easily.

Inspired by a regression on #122485


  Commit: b91d5af1ac3ad2c18b1dfde2061a6ac1d638e6e4
      https://github.com/llvm/llvm-project/commit/b91d5af1ac3ad2c18b1dfde2061a6ac1d638e6e4
  Author: Twice <twice at apache.org>
  Date:   2025-01-12 (Sun, 12 Jan 2025)

  Changed paths:
    M mlir/lib/Dialect/Vector/Transforms/LowerVectorGather.cpp
    M mlir/test/Dialect/Vector/vector-gather-lowering.mlir

  Log Message:
  -----------
  [MLIR][Vector] Allow any strided memref for one-element vector.load in lowering vector.gather (#122437)

In `Gather1DToConditionalLoads`, currently we will check if the stride
of the most minor dim of the input memref is 1. And if not, the
rewriting pattern will not be applied. However, according to the
verification of `vector.load` here:

https://github.com/llvm/llvm-project/blob/4e32271e8b304eb018c69f74c16edd1668fcdaf3/mlir/lib/Dialect/Vector/IR/VectorOps.cpp#L4971-L4975

.. if the output vector type of `vector.load` contains only one element,
we can ignore the requirement of the stride of the input memref, i.e.
the input memref can be with any stride layout attribute in such case.

So here we can allow more cases in lowering `vector.gather` by relaxing
such check.

As shown in the test case attached in this patch
[here](https://github.com/llvm/llvm-project/blob/1933fbad58302814ccce5991a9320c0967f3571b/mlir/test/Dialect/Vector/vector-gather-lowering.mlir#L151),
now `vector.gather` of memref with non-trivial stride can be lowered
successfully if the result vector contains only one element.

---------

Signed-off-by: PragmaTwice <twice at apache.org>
Co-authored-by: Andrzej Warzyński <andrzej.warzynski at gmail.com>


  Commit: d047dbd95ed3ef4ace54eaa7c32fe3954317f926
      https://github.com/llvm/llvm-project/commit/d047dbd95ed3ef4ace54eaa7c32fe3954317f926
  Author: eleviant <56861949+eleviant at users.noreply.github.com>
  Date:   2025-01-12 (Sun, 12 Jan 2025)

  Changed paths:
    A llvm/test/tools/gold/X86/Inputs/merge-functions-foo.ll
    A llvm/test/tools/gold/X86/merge-functions.ll
    M llvm/tools/gold/gold-plugin.cpp

  Log Message:
  -----------
  Add function merger to be run during LTO link with gold plugin (#121343)

Patch adds 'merge-functions' plugin option for this purpose.


  Commit: 9dee7c44491635ec9037b90050bcdbd3d5291e38
      https://github.com/llvm/llvm-project/commit/9dee7c44491635ec9037b90050bcdbd3d5291e38
  Author: vfdev <vfdev.5 at gmail.com>
  Date:   2025-01-12 (Sun, 12 Jan 2025)

  Changed paths:
    M mlir/cmake/modules/AddMLIRPython.cmake
    M mlir/docs/Bindings/Python.md
    M mlir/lib/Bindings/Python/Globals.h
    M mlir/lib/Bindings/Python/IRCore.cpp
    M mlir/lib/Bindings/Python/IRModule.cpp
    M mlir/lib/Bindings/Python/IRModule.h
    M mlir/lib/Bindings/Python/MainModule.cpp
    M mlir/python/requirements.txt
    A mlir/test/python/multithreaded_tests.py

  Log Message:
  -----------
  Added free-threading CPython mode support in MLIR Python bindings (#107103)

Related to https://github.com/llvm/llvm-project/issues/105522

Description:

This PR is a joint work with Peter Hawkins (@hawkinsp) originally done
by myself for pybind11 and then reworked to nanobind based on Peter's
branch: https://github.com/hawkinsp/llvm-project/tree/nbdev .

- Added free-threading CPython mode support for MLIR Python bindings
- Added a test which can reveal data races when cpython and LLVM/MLIR
compiled with TSAN

Context:
- Related to https://github.com/google/jax/issues/23073

Co-authored-by: Peter Hawkins <phawkins at google.com>


  Commit: 1d2eea962ac9724350f025f4c70808d42a435289
      https://github.com/llvm/llvm-project/commit/1d2eea962ac9724350f025f4c70808d42a435289
  Author: CHANDRA GHALE <chandra.nitdgp at gmail.com>
  Date:   2025-01-12 (Sun, 12 Jan 2025)

  Changed paths:
    M clang/lib/CodeGen/CGStmt.cpp
    M clang/lib/CodeGen/CGStmtOpenMP.cpp
    M clang/lib/CodeGen/CodeGenFunction.h
    A clang/test/OpenMP/masked_taskloop_simd_codegen.c

  Log Message:
  -----------
  [OpenMP] codegen support for masked combined construct masked taskloop simd (#121916)

Added codegen support for combined masked constructs `masked taskloop
simd`.
Added implementation for `EmitOMPMaskedTaskLoopSimdDirective`.

Co-authored-by: Chandra Ghale <ghale at pe31.hpc.amslabs.hpecorp.net>


  Commit: 3f1486f08e0dd64136fb7f50e38cd618dd0255d2
      https://github.com/llvm/llvm-project/commit/3f1486f08e0dd64136fb7f50e38cd618dd0255d2
  Author: Jacques Pienaar <jpienaar at google.com>
  Date:   2025-01-12 (Sun, 12 Jan 2025)

  Changed paths:
    M mlir/cmake/modules/AddMLIRPython.cmake
    M mlir/docs/Bindings/Python.md
    M mlir/lib/Bindings/Python/Globals.h
    M mlir/lib/Bindings/Python/IRCore.cpp
    M mlir/lib/Bindings/Python/IRModule.cpp
    M mlir/lib/Bindings/Python/IRModule.h
    M mlir/lib/Bindings/Python/MainModule.cpp
    M mlir/python/requirements.txt
    R mlir/test/python/multithreaded_tests.py

  Log Message:
  -----------
  Revert "Added free-threading CPython mode support in MLIR Python bindings (#107103)"

Breaks on 3.8, rolling back to avoid breakage while fixing.

This reverts commit 9dee7c44491635ec9037b90050bcdbd3d5291e38.


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

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

  Log Message:
  -----------
  [memprof] Migrate away from PointerUnion::is (NFC) (#122622)

Note that PointerUnion::is have been soft deprecated in
PointerUnion.h:

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

In this patch, I'm calling call().getBase() for an instance of
PointerUnion.  call() alone would return an instance of IndexCall,
which wraps PointerUnion.  Note that isa<> cannot directly accept an
instance of IndexCall, at least without defining CastInfo.

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


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

  Changed paths:
    M lld/wasm/SymbolTable.cpp

  Log Message:
  -----------
  [wasm] Avoid repeated hash lookups (NFC) (#122626)


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

  Changed paths:
    M lld/ELF/Arch/ARM.cpp

  Log Message:
  -----------
  [ELF] Avoid repeated hash lookups (NFC) (#122628)


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

  Changed paths:
    M llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
    M llvm/test/Transforms/LoopVectorize/AArch64/divs-with-scalable-vfs.ll
    M llvm/test/Transforms/LoopVectorize/X86/gep-use-outside-loop.ll
    M llvm/test/Transforms/LoopVectorize/scalable-assume.ll

  Log Message:
  -----------
  [VPlan] Try to narrow wide and replicating recipes to uniform recipes.

Use the existing VPlan-based analysis to identify recipes that only have
their first lane demanded and transform them to uniform recpliate
recipes. This simplifies the generated code in some places and prepares
for fixing https://github.com/llvm/llvm-project/issues/122496.


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

  Changed paths:
    M llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
    M llvm/test/Transforms/LoopVectorize/AArch64/divs-with-scalable-vfs.ll
    M llvm/test/Transforms/LoopVectorize/X86/gep-use-outside-loop.ll
    M llvm/test/Transforms/LoopVectorize/scalable-assume.ll

  Log Message:
  -----------
  Revert "[VPlan] Try to narrow wide and replicating recipes to uniform recipes."

This reverts commit 1afba19913253dda865a8e57b37b9f4dabead1ac.

Typo breaking the build


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

  Changed paths:
    M llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
    M llvm/test/Transforms/LoopVectorize/AArch64/divs-with-scalable-vfs.ll
    M llvm/test/Transforms/LoopVectorize/X86/gep-use-outside-loop.ll
    M llvm/test/Transforms/LoopVectorize/scalable-assume.ll

  Log Message:
  -----------
  Recommit "[VPlan] Try to narrow wide and replicating recipes to uniform recipes."

This reverts commit 0ebb3ac7c92c4c1c44e7f3d17832d75ec5a42a67.

Re-applies commit with typos fixed.


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

  Changed paths:
    M llvm/test/Transforms/LoopVectorize/iv_outside_user.ll

  Log Message:
  -----------
  [LV] Add test cases with incorrect IV live-outs.

Add test cases for https://github.com/llvm/llvm-project/issues/122496
and https://github.com/llvm/llvm-project/issues/122602.


  Commit: 5c0aa31c3cb448065f12ede53e4dd54a9a98f650
      https://github.com/llvm/llvm-project/commit/5c0aa31c3cb448065f12ede53e4dd54a9a98f650
  Author: Fangrui Song <i at maskray.me>
  Date:   2025-01-12 (Sun, 12 Jan 2025)

  Changed paths:
    M clang/include/clang/Frontend/CompilerInstance.h
    M clang/lib/Frontend/CompilerInstance.cpp
    M clang/lib/Frontend/FrontendAction.cpp
    M clang/tools/driver/cc1_main.cpp

  Log Message:
  -----------
  -ftime-report: Move FrontendTimer closer to TimeTraceScope

... to improve consistency and make "Clang time report" cover
`FrontendAction::BeginSourceFile` and `FrontendAction::EndSourceFile`.


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

  Changed paths:
    M clang/include/clang/AST/Type.h
    M clang/include/clang/Basic/Attr.td
    M clang/include/clang/Basic/AttrDocs.td
    M clang/include/clang/Basic/DiagnosticSemaKinds.td
    M clang/lib/AST/ItaniumMangle.cpp
    M clang/lib/AST/TypePrinter.cpp
    M clang/lib/CodeGen/CGCall.cpp
    M clang/lib/Sema/SemaARM.cpp
    M clang/lib/Sema/SemaType.cpp
    M clang/test/CodeGen/AArch64/sme-intrinsics/aarch64-sme-attrs.cpp
    M clang/test/CodeGenCXX/aarch64-mangle-sme-atts.cpp
    M clang/test/Sema/aarch64-sme-func-attrs.c

  Log Message:
  -----------
  [AArch64][Clang] Add support for __arm_agnostic("sme_za_state") (#121788)

This adds support for parsing the attribute and codegen to map it to
"aarch64_za_state_agnostic" LLVM IR attribute.

This attribute is described in the Arm C Language Extensions (ACLE)
document:

  https://github.com/ARM-software/acle/blob/main/main/acle.md#__arm_agnostic


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

  Changed paths:
    M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
    M llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
    M llvm/test/Transforms/LoopVectorize/X86/uniform-phi.ll
    M llvm/test/Transforms/LoopVectorize/iv_outside_user.ll
    A llvm/test/Transforms/LoopVectorize/scalable-iv-outside-user.ll

  Log Message:
  -----------
  [LV] Don't consider IV increments uniform if exit value is used outside.

In some cases, there might be a chain of uniform instructions producing
the exit value. To generate correct code in all cases, consider the IV
increment not uniform, if there are users outside the loop.

Instead, let VPlan narrow the IV, if possible using the logic from
3ff1d01985752.

Test case from #122602 verified with Alive2:
    https://alive2.llvm.org/ce/z/bA4EGj

Fixes https://github.com/llvm/llvm-project/issues/122496.
Fixes https://github.com/llvm/llvm-project/issues/122602.


  Commit: 08028d68a90bbc47464562a745e33fa10256a7d3
      https://github.com/llvm/llvm-project/commit/08028d68a90bbc47464562a745e33fa10256a7d3
  Author: Sander de Smalen <sander.desmalen at arm.com>
  Date:   2025-01-12 (Sun, 12 Jan 2025)

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

  Log Message:
  -----------
  [Clang] Fix buildbot failure introduced by #121788

Silences 'enumeration not handled in switch' warning,
which causes buildbot failures with -Werror.


  Commit: 0e51b54b7ac02b0920e20b8ccae26b32bd6b6982
      https://github.com/llvm/llvm-project/commit/0e51b54b7ac02b0920e20b8ccae26b32bd6b6982
  Author: Justin Bogner <mail at justinbogner.com>
  Date:   2025-01-12 (Sun, 12 Jan 2025)

  Changed paths:
    M llvm/docs/DirectX/DXILResources.rst
    M llvm/include/llvm/IR/IntrinsicsDirectX.td
    M llvm/lib/Target/DirectX/DXIL.td
    M llvm/lib/Target/DirectX/DXILOpLowering.cpp
    A llvm/test/CodeGen/DirectX/BufferStore-sm61.ll
    A llvm/test/CodeGen/DirectX/RawBufferStore-error64.ll
    A llvm/test/CodeGen/DirectX/RawBufferStore.ll

  Log Message:
  -----------
  [DirectX] Implement the resource.store.rawbuffer intrinsic (#121282)

This introduces `@llvm.dx.resource.store.rawbuffer` and generalizes the
buffer store docs under DirectX/DXILResources.

Fixes #106188


  Commit: acbd822879f7727127926c25e1b47f5017f962c5
      https://github.com/llvm/llvm-project/commit/acbd822879f7727127926c25e1b47f5017f962c5
  Author: Bill Hoffman <bill.hoffman at kitware.com>
  Date:   2025-01-13 (Mon, 13 Jan 2025)

  Changed paths:
    M clang/lib/Driver/Driver.cpp
    M clang/test/Driver/modules-print-library-module-manifest-path.cpp

  Log Message:
  -----------
  Fix print module manifest file for macos (#122370)

This commit fixes -print-library-module-manifest-path on macos.
Currently, this only works on linux systems. This is because on macos
systems the library and header files are installed in a different
location. The module manifest is next to the libraries and the search
function was not looking in both places. There is also a test included.


  Commit: 59bba39a692fd371d0dd0e6baba49a414bf7d855
      https://github.com/llvm/llvm-project/commit/59bba39a692fd371d0dd0e6baba49a414bf7d855
  Author: Pengcheng Wang <wangpengcheng.pp at bytedance.com>
  Date:   2025-01-13 (Mon, 13 Jan 2025)

  Changed paths:
    M llvm/test/CodeGen/RISCV/memcpy.ll

  Log Message:
  -----------
  [RISCV] Rework memcpy test (#120364)

Use descriptive names and add more cases.


  Commit: 4637c777463248d42fbdc383f324310522ce85d2
      https://github.com/llvm/llvm-project/commit/4637c777463248d42fbdc383f324310522ce85d2
  Author: Pengcheng Wang <wangpengcheng.pp at bytedance.com>
  Date:   2025-01-13 (Mon, 13 Jan 2025)

  Changed paths:
    M llvm/test/CodeGen/RISCV/memcpy.ll

  Log Message:
  -----------
  Revert "[RISCV] Rework memcpy test" (#122662)

Reverts llvm/llvm-project#120364

The test should be updated due to some recent changes.


  Commit: 681c4a2068702f7483608b89e7a7e9235faf6bd9
      https://github.com/llvm/llvm-project/commit/681c4a2068702f7483608b89e7a7e9235faf6bd9
  Author: Pengcheng Wang <wangpengcheng.pp at bytedance.com>
  Date:   2025-01-13 (Mon, 13 Jan 2025)

  Changed paths:
    M llvm/test/CodeGen/RISCV/memcpy.ll

  Log Message:
  -----------
  Reapply "[RISCV] Rework memcpy test (#120364)"

Use descriptive names and add more cases.

This recommits 59bba39 which was reverted in 4637c77.


  Commit: 77e6f434ec79db025aa9c7d193179727f1d63714
      https://github.com/llvm/llvm-project/commit/77e6f434ec79db025aa9c7d193179727f1d63714
  Author: Sameer Sahasrabuddhe <sameer.sahasrabuddhe at amd.com>
  Date:   2025-01-13 (Mon, 13 Jan 2025)

  Changed paths:
    M llvm/include/llvm/IR/IntrinsicInst.h
    M llvm/lib/Target/SPIRV/Analysis/SPIRVConvergenceRegionAnalysis.cpp

  Log Message:
  -----------
  [SPIRV] convergence anchor intrinsic does not have a parent token (#122230)


  Commit: f15da5fb7845979889b73f3f47bb126617e823cf
      https://github.com/llvm/llvm-project/commit/f15da5fb7845979889b73f3f47bb126617e823cf
  Author: Shilei Tian <i at tianshilei.me>
  Date:   2025-01-12 (Sun, 12 Jan 2025)

  Changed paths:
    M llvm/lib/Target/AMDGPU/AMDGPULateCodeGenPrepare.cpp
    A llvm/test/CodeGen/AMDGPU/invalid-cast-load-i1.ll

  Log Message:
  -----------
  [AMDGPU] Fix an invalid cast in `AMDGPULateCodeGenPrepare::visitLoadInst` (#122494)

Fixes: SWDEV-507695


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

  Changed paths:
    M llvm/lib/Target/AMDGPU/AMDGPU.h
    M llvm/lib/Target/AMDGPU/AMDGPUPassRegistry.def
    M llvm/lib/Target/AMDGPU/AMDGPURemoveIncompatibleFunctions.cpp
    A llvm/lib/Target/AMDGPU/AMDGPURemoveIncompatibleFunctions.h
    M llvm/lib/Target/AMDGPU/AMDGPUTargetMachine.cpp
    M llvm/test/CodeGen/AMDGPU/remove-incompatible-functions.ll
    M llvm/test/CodeGen/AMDGPU/remove-incompatible-s-time.ll
    M llvm/test/CodeGen/AMDGPU/remove-incompatible-wave32-feature.ll

  Log Message:
  -----------
  [AMDGPU][NewPM] Port AMDGPURemoveIncompatibleFunctions to NPM (#122261)


  Commit: ecf4f95c4f55eea0830659654fa264189773a423
      https://github.com/llvm/llvm-project/commit/ecf4f95c4f55eea0830659654fa264189773a423
  Author: wldfngrs <wldfngrs at gmail.com>
  Date:   2025-01-12 (Sun, 12 Jan 2025)

  Changed paths:
    M libc/config/linux/x86_64/entrypoints.txt
    M libc/docs/headers/math/index.rst
    M libc/include/math.yaml
    M libc/src/math/CMakeLists.txt
    M libc/src/math/generic/CMakeLists.txt
    M libc/src/math/generic/sincosf16_utils.h
    A libc/src/math/generic/tanf16.cpp
    M libc/src/math/generic/tanpif16.cpp
    A libc/src/math/tanf16.h
    M libc/test/src/math/CMakeLists.txt
    M libc/test/src/math/cosf16_test.cpp
    M libc/test/src/math/smoke/CMakeLists.txt
    A libc/test/src/math/smoke/tanf16_test.cpp
    A libc/test/src/math/tanf16_test.cpp

  Log Message:
  -----------
  [libc][math][c23] Add tanf16 function (#121018)

- Implementation of tan for 16-bit floating point inputs.
- Exhaustive tests across the 16-bit input range


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

  Changed paths:
    M llvm/include/llvm/Passes/MachinePassRegistry.def
    M llvm/lib/Target/AMDGPU/AMDGPUTargetMachine.cpp

  Log Message:
  -----------
  [CodeGen][NewPM] Use proper NPM AtomicExpandPass in AMDGPU (#122086)

`PassRegistry.def` already has this entry, but the dummy definition was
being pulled instead.

I couldn't reproduce the build failures that FIXME referenced, maybe the
Dummy pass getting in the way was part of the cause.


  Commit: b86153919652302982356990d93fda4ad9ddae30
      https://github.com/llvm/llvm-project/commit/b86153919652302982356990d93fda4ad9ddae30
  Author: Shourya Goel <shouryagoel10000 at gmail.com>
  Date:   2025-01-13 (Mon, 13 Jan 2025)

  Changed paths:
    M libc/include/llvm-libc-types/cfloat128.h

  Log Message:
  -----------
  [libc][complex] fix compiler support matrix for cfloat128 (#122593)

Before this patch, [godbolt](https://godbolt.org/z/6PPsvv9qd) failed to
compile `cfloat128` with `-ffreestanding` but with the patch, the
compilation succeeds, [godbolt](https://godbolt.org/z/4M8zzejss).

Fixes: #122500

cc: @nickdesaulniers


  Commit: 6f558e0e124012fd00927d6d42545649bd7e0dcd
      https://github.com/llvm/llvm-project/commit/6f558e0e124012fd00927d6d42545649bd7e0dcd
  Author: CHANDRA GHALE <chandra.nitdgp at gmail.com>
  Date:   2025-01-13 (Mon, 13 Jan 2025)

  Changed paths:
    M clang/lib/CodeGen/CGStmt.cpp
    M clang/lib/CodeGen/CGStmtOpenMP.cpp
    M clang/lib/CodeGen/CodeGenFunction.h
    A clang/test/OpenMP/masked_taskloop_codegen.c

  Log Message:
  -----------
  [OpenMP] codegen support for masked combined construct masked taskloop (#121914)

Added codegen support for combined masked constructs `masked taskloop.`
Added implementation for `EmitOMPMaskedTaskLoopDirective`.

---------

Co-authored-by: Chandra Ghale <ghale at pe31.hpc.amslabs.hpecorp.net>


  Commit: 36c3466aef6c8bfde0ddc736b8403e2c45f5e1c6
      https://github.com/llvm/llvm-project/commit/36c3466aef6c8bfde0ddc736b8403e2c45f5e1c6
  Author: Clément Fournier <clement.fournier at tu-dresden.de>
  Date:   2025-01-13 (Mon, 13 Jan 2025)

  Changed paths:
    M mlir/lib/Dialect/Linalg/IR/LinalgOps.cpp
    M mlir/test/Dialect/Linalg/transform-op-decompose.mlir

  Log Message:
  -----------
  [mlir][linalg] Fix neutral elt for softmax (#118952)

The decomposition of `linalg.softmax` uses `maxnumf`, but the identity
element that is used in the generated code is the one for `maximumf`.
They are not the same, as the identity for `maxnumf` is `NaN`, while the
one of `maximumf` is `-Infty`. This is wrong and prevents the maxnumf
from being folded.

Related to #114595, which fixed the folder for maxnumf.


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

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

  Log Message:
  -----------
  Partially revert "[TableGen] Avoid repeated hash lookups (NFC) (#122586)"

This partially reverts commit 07ff786e39e2190449998d3af1000454dee501be.

The hunk being reverted in this patch seems to break:

  tools/llvm-gsymutil/ARM_AArch64/macho-merged-funcs-dwarf.yaml

under LLVM_ENABLE_EXPENSIVE_CHECKS.


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

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

  Log Message:
  -----------
  [SLPVectorizer] Refactor HorizontalReduction::createOp (NFC) (#121549)

This patch simplifies select-based integer min/max reductions by
utilizing `llvm::getMinMaxReductionPredicate`, and generates
intrinsic-based min/max reductions by utilizing
`llvm::getMinMaxReductionIntrinsicOp`.


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

  Changed paths:
    M llvm/include/llvm/CodeGen/Spiller.h
    M llvm/lib/CodeGen/InlineSpiller.cpp
    M llvm/lib/CodeGen/RegAllocBasic.cpp
    M llvm/lib/CodeGen/RegAllocGreedy.cpp
    M llvm/lib/CodeGen/RegAllocPBQP.cpp

  Log Message:
  -----------
  Reapply "Spiller: Detach legacy pass and supply analyses instead (#119181)" (#122665)

Makes Inline Spiller amenable to the new PM.

This reapplies commit a531800344dc54e9c197a13b22e013f919f3f5e1 reverted
because of two unused private members reported on sanitizer bots.


  Commit: b270525f730be6e7196667925f5a9bfa153262e9
      https://github.com/llvm/llvm-project/commit/b270525f730be6e7196667925f5a9bfa153262e9
  Author: Balázs Kéri <balazs.keri at ericsson.com>
  Date:   2025-01-13 (Mon, 13 Jan 2025)

  Changed paths:
    M clang/lib/AST/ASTImporter.cpp
    M clang/lib/AST/ASTImporterLookupTable.cpp
    M clang/unittests/AST/ASTImporterTest.cpp

  Log Message:
  -----------
  [clang][ASTImporter] Not using primary context in lookup table (#118466)

`ASTImporterLookupTable` did use the `getPrimaryContext` function to get
the declaration context of the inserted items. This is problematic
because the primary context can change during import of AST items, most
likely if a definition of a previously not defined class is imported.
(For any record the primary context is the definition if there is one.)
The use of primary context is really not important, only for namespaces
because these can be re-opened and lookup in one namespace block is not
enough. This special search is now moved into ASTImporter instead of
relying on the lookup table.


  Commit: 1b199d19902a752433c397377567ff381261e94a
      https://github.com/llvm/llvm-project/commit/1b199d19902a752433c397377567ff381261e94a
  Author: David Spickett <david.spickett at linaro.org>
  Date:   2025-01-13 (Mon, 13 Jan 2025)

  Changed paths:
    M .ci/generate_test_report.py
    M .ci/monolithic-linux.sh
    M .ci/monolithic-windows.sh

  Log Message:
  -----------
  [ci] Handle the case where all reported tests pass but the build is still a failure (#120264)

In this build:
https://buildkite.com/llvm-project/github-pull-requests/builds/126961

The builds actually failed, probably because prerequisite of a test
suite failed to build.

However they still ran other tests and all those passed. This meant that
the test reports were green even though the build was red. On some level
this is technically correct, but it is very misleading in practice.

So I've also passed the build script's return code, as it was when we
entered the on exit handler, to the generator, so that when this happens
again, the report will draw the viewer's attention to the overall
failure. There will be a link in the report to the build's log file, so
the next step to investigate is clear.

It would be nice to say "tests failed and there was some other build
error", but we cannot tell what the non-zero return code was caused by.
Could be either.

The script handles the following situations now:
| Have Result Files? | Tests reported failed? | Return code | Report |

|--------------------|------------------------|-------------|-----------------------------------------------------------------------------|
| Yes | No | 0 | Success style report. |
| Yes | Yes | 0 | Shouldn't happen, but if it did, failure style report
showing the failures. |
| Yes | No | 1 | Failure style report, showing no failures but noting
that the build failed. |
| Yes | Yes | 1 | Failure style report, showing the test failures. |
| No | ? | 0 | No test report, success shown in the normal build
display. |
| No | ? | 1 | No test report, failure shown in the normal build
display. |


  Commit: d03f35f9b6d031d6a9375d90ccf7cc285f8e4b79
      https://github.com/llvm/llvm-project/commit/d03f35f9b6d031d6a9375d90ccf7cc285f8e4b79
  Author: xiaoleis-nv <99947620+xiaoleis-nv at users.noreply.github.com>
  Date:   2025-01-13 (Mon, 13 Jan 2025)

  Changed paths:
    M mlir/include/mlir/Dialect/LLVMIR/NVVMOps.td
    M mlir/lib/Dialect/LLVMIR/IR/NVVMDialect.cpp
    M mlir/test/Dialect/LLVMIR/nvvm.mlir
    M mlir/test/Target/LLVMIR/nvvmir.mlir

  Log Message:
  -----------
  [MLIR][NVVM] Fix the datatype error for nvvm.mma.sync when the operand is bf16 (#122664)

The PR fixes the datatype error for `nvvm.mma.sync` when the operand is
`bf16`. This operation originally requires the A/B type to be `f16x2`
for the `bf16` MMA. However, it violates the NVVM intrinsic
[[here](https://github.com/xiaoleis-nv/llvm-project/blob/372044ee09d39942925824f8f335aef40bfe92f0/llvm/include/llvm/IR/IntrinsicsNVVM.td#L119)],
where the A/B operand type should be `i32`. This is a bug, and there are
no tests in MLIR that cover this datatype.

```
    // mma bf16 -> s32 @ m16n8k16/m16n8k8
    !eq(gft,"m16n8k16:a:bf16") : !listsplat(llvm_i32_ty, 4),
    !eq(gft,"m16n8k16:b:bf16") : !listsplat(llvm_i32_ty, 2),
    !eq(gft,"m16n8k8:a:bf16") : !listsplat(llvm_i32_ty, 2),
    !eq(gft,"m16n8k8:b:bf16") : [llvm_i32_ty],
```

This PR addresses this bug and adds tests to guarantee correctness.

Co-authored-by: Xiaolei Shi <xiaoleis at nvidia.com>


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

  Changed paths:
    M llvm/lib/CodeGen/MachineCopyPropagation.cpp
    M llvm/test/CodeGen/AArch64/machine-cp-sub-reg.mir

  Log Message:
  -----------
  [MachineCP] Correctly handle register masks and sub-registers (#122472)

When passing an instruction with a register mask, the machine copy
propagation pass was dropping the information about some copy
instructions which define a register which is preserved by the mask,
because that register overlaps a register which is partially clobbered
by it. This resulted in a miscompilation for AArch64, because this
caused a live copy to be considered dead.

The fix is to clobber register masks by finding the set of reg units
which is preserved by the mask, and clobbering all units not in that
set.


  Commit: 16923da241377b05cf485dcca07f2b00df6bf500
      https://github.com/llvm/llvm-project/commit/16923da241377b05cf485dcca07f2b00df6bf500
  Author: xtex <xtex at envs.net>
  Date:   2025-01-13 (Mon, 13 Jan 2025)

  Changed paths:
    M clang/include/clang/Frontend/Utils.h
    M clang/lib/Frontend/DependencyFile.cpp
    M clang/test/Frontend/dependency-gen-symlink.c
    M clang/test/Frontend/dependency-gen-windows-duplicates.c
    M clang/test/VFS/external-names.c

  Log Message:
  -----------
  Revert "[clang] Canonicalize absolute paths in dependency file" (#121638)

Reverts llvm/llvm-project#117458

https://github.com/llvm/llvm-project/pull/117458#issuecomment-2568804774

https://github.com/ninja-build/ninja/issues/2528


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

  Changed paths:
    M clang/docs/ReleaseNotes.rst

  Log Message:
  -----------
  [Clang] Add release note for pointer overflow optimization change (#122462)

Add a release note for optimization change related to pointer overflow
checks. I've put this in the breaking changes section to give it the
best chance of being seen.


  Commit: b5987157e86b3ef87b8ed95f737e0a016974c793
      https://github.com/llvm/llvm-project/commit/b5987157e86b3ef87b8ed95f737e0a016974c793
  Author: Kareem Ergawy <kareem.ergawy at amd.com>
  Date:   2025-01-13 (Mon, 13 Jan 2025)

  Changed paths:
    M flang/test/Lower/OpenMP/Todo/omp-declarative-allocate-align.f90

  Log Message:
  -----------
  [flang][OpenMP] Fix `omp-declarative-allocate-align.f90` expectations (#122675)

The test was effectively a no-op since we used `//` instead of `!` for
`RUN` and `CHECK` lines. Also, we have to specify the proper OpenMP
version.


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

  Changed paths:
    M llvm/lib/TableGen/TGLexer.cpp
    M llvm/lib/TableGen/TGLexer.h

  Log Message:
  -----------
  [TableGen] Use assert instead of PrintFatalError in TGLexer. NFC. (#122303)

Do not use the PrintFatalError diagnostic machinery for conditions that
can never happen with any input.


  Commit: 7e01a322f850e86be9eefde8ae5a30e532d22cfa
      https://github.com/llvm/llvm-project/commit/7e01a322f850e86be9eefde8ae5a30e532d22cfa
  Author: Balázs Kéri <balazs.keri at ericsson.com>
  Date:   2025-01-13 (Mon, 13 Jan 2025)

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

  Log Message:
  -----------
  [clang][ASTImporter] Fix unused variable warning (NFC) (#122686)


  Commit: 7e2eb0f83e1cf6861c8fd1f038a88a8ddd851c34
      https://github.com/llvm/llvm-project/commit/7e2eb0f83e1cf6861c8fd1f038a88a8ddd851c34
  Author: Durgadoss R <durgadossr at nvidia.com>
  Date:   2025-01-13 (Mon, 13 Jan 2025)

  Changed paths:
    M llvm/include/llvm/IR/IntrinsicsNVVM.td
    M llvm/lib/Target/NVPTX/NVPTXInstrInfo.td
    M llvm/lib/Target/NVPTX/NVPTXIntrinsics.td
    M llvm/test/CodeGen/NVPTX/convert-sm89.ll
    A llvm/test/CodeGen/NVPTX/convert-sm90.ll

  Log Message:
  -----------
  [NVPTX] Add float to tf32 conversion intrinsics (#121507)

This patch adds the missing variants of float to tf32 conversion
intrinsics, with their corresponding lit tests.

PTX Spec link:

https://docs.nvidia.com/cuda/parallel-thread-execution/#data-movement-and-conversion-instructions-cvt

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


  Commit: f136c800b60dbfacdbb645e7e92acba52e2f279f
      https://github.com/llvm/llvm-project/commit/f136c800b60dbfacdbb645e7e92acba52e2f279f
  Author: vfdev <vfdev.5 at gmail.com>
  Date:   2025-01-13 (Mon, 13 Jan 2025)

  Changed paths:
    M mlir/cmake/modules/AddMLIRPython.cmake
    M mlir/docs/Bindings/Python.md
    M mlir/examples/standalone/python/StandaloneExtensionPybind11.cpp
    M mlir/lib/Bindings/Python/Globals.h
    M mlir/lib/Bindings/Python/IRCore.cpp
    M mlir/lib/Bindings/Python/IRModule.cpp
    M mlir/lib/Bindings/Python/IRModule.h
    M mlir/lib/Bindings/Python/MainModule.cpp
    M mlir/python/requirements.txt
    A mlir/test/python/multithreaded_tests.py

  Log Message:
  -----------
  Enabled freethreading support in MLIR python bindings (#122684)

Reland reverted https://github.com/llvm/llvm-project/pull/107103 with
the fixes for Python 3.8

cc @jpienaar

Co-authored-by: Peter Hawkins <phawkins at google.com>


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

  Changed paths:
    M llvm/lib/TableGen/TGLexer.cpp

  Log Message:
  -----------
  Fix an unused-variable warning in release build.


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

  Changed paths:
    M clang/docs/Modules.rst

  Log Message:
  -----------
  Remove an extra trailing `` in Modules.rst, NFC


  Commit: 171d3edd0507422f64cc11b33dac7b7f2b703f76
      https://github.com/llvm/llvm-project/commit/171d3edd0507422f64cc11b33dac7b7f2b703f76
  Author: quic_hchandel <165007698+hchandel at users.noreply.github.com>
  Date:   2025-01-13 (Mon, 13 Jan 2025)

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

  Log Message:
  -----------
  [RISCV] Add Qualcomm uC Xqciint (Interrupts) extension (#122256)

This extension adds eleven instructions to accelerate interrupt
servicing.

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

This patch adds assembler only support.

---------

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


  Commit: 795e35a653b977bf637d1d049423adc8a63cd20d
      https://github.com/llvm/llvm-project/commit/795e35a653b977bf637d1d049423adc8a63cd20d
  Author: Sam Tebbs <samuel.tebbs at arm.com>
  Date:   2025-01-13 (Mon, 13 Jan 2025)

  Changed paths:
    M llvm/include/llvm/Analysis/TargetTransformInfo.h
    M llvm/include/llvm/Analysis/TargetTransformInfoImpl.h
    M llvm/lib/Analysis/TargetTransformInfo.cpp
    M llvm/lib/Target/AArch64/AArch64TargetTransformInfo.h
    M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
    M llvm/lib/Transforms/Vectorize/VPRecipeBuilder.h
    M llvm/lib/Transforms/Vectorize/VPlan.h
    M llvm/lib/Transforms/Vectorize/VPlanAnalysis.cpp
    M llvm/lib/Transforms/Vectorize/VPlanRecipes.cpp
    M llvm/lib/Transforms/Vectorize/VPlanValue.h
    M llvm/test/Transforms/LoopVectorize/AArch64/fully-unrolled-cost.ll
    A llvm/test/Transforms/LoopVectorize/AArch64/partial-reduce-dot-product-epilogue.ll
    A llvm/test/Transforms/LoopVectorize/AArch64/partial-reduce-dot-product-mixed.ll
    A llvm/test/Transforms/LoopVectorize/AArch64/partial-reduce-dot-product-neon.ll
    A llvm/test/Transforms/LoopVectorize/AArch64/partial-reduce-dot-product.ll
    A llvm/test/Transforms/LoopVectorize/AArch64/partial-reduce-no-dotprod.ll
    A llvm/test/Transforms/LoopVectorize/AArch64/vplan-printing.ll

  Log Message:
  -----------
  Reland "[LoopVectorizer] Add support for partial reductions" with non-phi operand fix. (#121744)

This relands the reverted #120721 with a fix for cases where neither
reduction operand are the reduction phi. Only
63114239cc8d26225a0ef9920baacfc7cc00fc58 and
63114239cc8d26225a0ef9920baacfc7cc00fc58 are new on top of the reverted
PR.

---------

Co-authored-by: Nicholas Guy <nicholas.guy at arm.com>


  Commit: 5315f3f8cb8f562ec39f57f2fce79c8e017595f9
      https://github.com/llvm/llvm-project/commit/5315f3f8cb8f562ec39f57f2fce79c8e017595f9
  Author: Momchil Velikov <momchil.velikov at arm.com>
  Date:   2025-01-13 (Mon, 13 Jan 2025)

  Changed paths:
    M clang/test/utils/update_cc_test_checks/Inputs/c-symbol-mangling.c
    M clang/test/utils/update_cc_test_checks/Inputs/c-symbol-mangling.c.expected
    M llvm/utils/UpdateTestChecks/common.py
    M llvm/utils/update_cc_test_checks.py

  Log Message:
  -----------
  Handle leading underscores in update_cc_test_checks.py (#121800)

For some ABIs `update_cc_test_checks.py` is unable to generate tests
because of the mismatch between the mangled function names reported by
clang's `-asd-dump` and the function names in LLVM IR.

This patch fixes it by striping the leading underscore from the mangled
name for global functions if the data layout string says they have one.


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

  Changed paths:
    M llvm/test/CodeGen/X86/subvectorwise-store-of-vector-splat.ll

  Log Message:
  -----------
  [X86] subvectorwise-store-of-vector-splat.ll - regenerate VPTERNLOG comments


  Commit: b605dab7a8352158ee0d399b8c3433f9a8b495a3
      https://github.com/llvm/llvm-project/commit/b605dab7a8352158ee0d399b8c3433f9a8b495a3
  Author: Eisuke Kawashima <e.kawaschima+github at gmail.com>
  Date:   2025-01-13 (Mon, 13 Jan 2025)

  Changed paths:
    M polly/lib/External/isl/interface/python.cc
    M polly/lib/External/isl/libisl-gdb.py
    M polly/lib/External/isl/python/isl.py.top
    M polly/test/lit.site.cfg.in
    M polly/utils/pyscop/isl.py

  Log Message:
  -----------
  [Polly] Use "is" instead of "==" to check for None (#94021)

>From PEP8
(https://peps.python.org/pep-0008/#programming-recommendations):

> Comparisons to singletons like None should always be done with is or
is not, never the equality operators.


  Commit: ca92bdfa3ef8f9a1cc97167fc96601f8bd7b436b
      https://github.com/llvm/llvm-project/commit/ca92bdfa3ef8f9a1cc97167fc96601f8bd7b436b
  Author: Eisuke Kawashima <e.kawaschima+github at gmail.com>
  Date:   2025-01-13 (Mon, 13 Jan 2025)

  Changed paths:
    M cross-project-tests/debuginfo-tests/dexter/dex/command/ParseCommand.py
    M cross-project-tests/debuginfo-tests/dexter/dex/debugger/DebuggerControllers/ConditionalController.py
    M cross-project-tests/debuginfo-tests/dexter/dex/debugger/DebuggerControllers/ControllerHelpers.py
    M cross-project-tests/debuginfo-tests/dexter/dex/debugger/Debuggers.py
    M cross-project-tests/debuginfo-tests/dexter/dex/debugger/visualstudio/VisualStudio.py
    M cross-project-tests/debuginfo-tests/dexter/dex/tools/test/Tool.py
    M cross-project-tests/lit.cfg.py

  Log Message:
  -----------
  [cross-project-tests] Use "is" instead of "==" to check for None (#94016)

>From PEP8
(https://peps.python.org/pep-0008/#programming-recommendations):

> Comparisons to singletons like None should always be done with is or
is not, never the equality operators.


  Commit: 5609724c2e5b59130c6fcfc128120777282c8d9a
      https://github.com/llvm/llvm-project/commit/5609724c2e5b59130c6fcfc128120777282c8d9a
  Author: Eisuke Kawashima <e.kawaschima+github at gmail.com>
  Date:   2025-01-13 (Mon, 13 Jan 2025)

  Changed paths:
    M polly/test/update_check.py

  Log Message:
  -----------
  [Polly] Fix invalid escape sequences (#94037)

These generate a SyntaxWarning since Python 3.12.


  Commit: 3efe83291f07dcf2423065e63b826407d1ec2609
      https://github.com/llvm/llvm-project/commit/3efe83291f07dcf2423065e63b826407d1ec2609
  Author: Sander de Smalen <sander.desmalen at arm.com>
  Date:   2025-01-13 (Mon, 13 Jan 2025)

  Changed paths:
    M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
    M llvm/test/CodeGen/AArch64/sme-agnostic-za.ll

  Log Message:
  -----------
  [AArch64] Fix chain for calls from agnostic-ZA functions.

The lowering code was using the wrong chain value, which meant that
the 'smstart' after the call from streaming agnostic-ZA functions ->
non-streaming private-ZA functions was incorrectly removed from the DAG.


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

  Changed paths:
    M polly/lib/External/isl/interface/python.cc
    M polly/lib/External/isl/libisl-gdb.py
    M polly/lib/External/isl/python/isl.py.top

  Log Message:
  -----------
  [Polly] Revert changes to isl Python code

This partially reverts b605dab7a8352158ee0d399b8c3433f9a8b495a3,
dropping the changes to isl. This is an external library, so
we shouldn't modify it unless strictly necessary.


  Commit: a1a3e019d7adbacaa848bee12020e4d9a8401c02
      https://github.com/llvm/llvm-project/commit/a1a3e019d7adbacaa848bee12020e4d9a8401c02
  Author: Eisuke Kawashima <e.kawaschima+github at gmail.com>
  Date:   2025-01-13 (Mon, 13 Jan 2025)

  Changed paths:
    M cross-project-tests/debuginfo-tests/dexter/dex/command/ParseCommand.py
    M cross-project-tests/lit.cfg.py

  Log Message:
  -----------
  [cross-project-tests] Fix invalid escape sequences (#94031)

These generate a SyntaxWarning with Python 3.12.


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

  Changed paths:
    M llvm/lib/Target/AMDGPU/AMDGPU.h
    M llvm/lib/Target/AMDGPU/AMDGPUOpenCLEnqueuedBlockLowering.cpp
    A llvm/lib/Target/AMDGPU/AMDGPUOpenCLEnqueuedBlockLowering.h
    M llvm/lib/Target/AMDGPU/AMDGPUPassRegistry.def
    M llvm/lib/Target/AMDGPU/AMDGPUTargetMachine.cpp
    M llvm/test/CodeGen/AMDGPU/enqueue-kernel.ll

  Log Message:
  -----------
  [AMDGPU][NewPM] Port AMDGPUOpenCLEnqueuedBlockLowering to NPM (#122434)


  Commit: 82b9eb1086d45caf74ff3d5dfa519631c247eb14
      https://github.com/llvm/llvm-project/commit/82b9eb1086d45caf74ff3d5dfa519631c247eb14
  Author: Sergio Afonso <safonsof at amd.com>
  Date:   2025-01-13 (Mon, 13 Jan 2025)

  Changed paths:
    M flang/lib/Lower/OpenMP/OpenMP.cpp
    R flang/test/Lower/OpenMP/Todo/reduction-teams.f90
    A flang/test/Lower/OpenMP/reduction-teams.f90

  Log Message:
  -----------
  [Flang][OpenMP] Support teams reductions lowering (#122683)

This patch adds PFT to MLIR lowering of teams reductions. Since there is
still no MLIR to LLVM IR translation implemented, compilation of
programs including these constructs will still trigger
not-yet-implemented errors.


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

  Changed paths:
    M llvm/test/CodeGen/AMDGPU/scalar_to_vector.ll

  Log Message:
  -----------
  AMDGPU: Add gfx9 run line to scalar_to_vector test (#122659)


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

  Changed paths:
    M llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
    M llvm/test/CodeGen/AMDGPU/scalar_to_vector.ll

  Log Message:
  -----------
  DAG: Fold bitcast of scalar_to_vector to anyext (#122660)

scalar_to_vector is difficult to make appear and test,
but I found one case where this makes an observable difference.
It fires more often than this in the test suite, but most of them
have no net result in the final code. This helps reduce regressions
in a future commit.


  Commit: 41a94de75caacb979070ec7a010dfe3c4e9f116f
      https://github.com/llvm/llvm-project/commit/41a94de75caacb979070ec7a010dfe3c4e9f116f
  Author: Maksim Ivanov <emaxx at google.com>
  Date:   2025-01-13 (Mon, 13 Jan 2025)

  Changed paths:
    M clang/examples/Attribute/Attribute.cpp
    M clang/examples/CallSuperAttribute/CallSuperAttrInfo.cpp
    M clang/include/clang/Basic/DiagnosticSemaKinds.td
    M clang/include/clang/Sema/ParsedAttr.h
    M clang/lib/Parse/ParseDecl.cpp
    M clang/lib/Sema/SemaDeclAttr.cpp
    M clang/lib/Sema/SemaSwift.cpp
    M clang/lib/Sema/SemaType.cpp

  Log Message:
  -----------
  [clang] Refactor attr diagnostics to use %select (#122473)

A cleanup follow-up to #118501 and #118567.


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

  Changed paths:
    M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
    M llvm/test/Transforms/LoopVectorize/epilog-iv-select-cmp.ll

  Log Message:
  -----------
  [LV] Fix FindLastIV reduction for epilogue vectorization. (#120395)

Following 0e528ac404e13ed2d952a2d83aaf8383293c851e, this patch adjusts
the resume value of VPReductionPHIRecipe for FindLastIV reductions.
Replacing the resume value with:

  ResumeValue = ResumeValue == StartValue ? SentinelValue : ResumeValue;

This addressed the correctness issue when the start value might not be
less than the minimum value of a monotonically increasing induction
variable.

Thanks Florian Hahn for the help.

---------

Co-authored-by: Florian Hahn <flo at fhahn.com>


  Commit: 21e58ee9f7de60a7e9202ad3f424ec3ad5a6fce5
      https://github.com/llvm/llvm-project/commit/21e58ee9f7de60a7e9202ad3f424ec3ad5a6fce5
  Author: Donát Nagy <donat.nagy at ericsson.com>
  Date:   2025-01-13 (Mon, 13 Jan 2025)

  Changed paths:
    M clang/docs/LanguageExtensions.rst
    M clang/docs/UsersManual.rst
    A clang/docs/analyzer/images/example_attribute_nonnull.png
    A clang/docs/analyzer/images/example_cf_returns_retained.png
    A clang/docs/analyzer/images/example_ns_returns_retained.png
    M clang/docs/analyzer/user-docs.rst
    A clang/docs/analyzer/user-docs/Annotations.rst
    M clang/docs/analyzer/user-docs/FAQ.rst
    M clang/include/clang/Basic/AttrDocs.td
    M clang/www/analyzer/annotations.html
    R clang/www/analyzer/images/example_attribute_nonnull.png
    R clang/www/analyzer/images/example_cf_returns_retained.png
    R clang/www/analyzer/images/example_ns_returns_retained.png

  Log Message:
  -----------
  [NFC][analyzer][docs] Migrate 'annotations.html' to RST (#122246)

This commit migrates the contents of 'annotations.html' in the old
HTML-based documentation of the Clang static analyzer to the new
RST-based documentation.

During this conversion I reordered the sections of this documentation
file by placing the section "Custom Assertion Handlers" as a subsection
of "Annotations to Enhance Generic Checks". (The primary motivation was
that Sphinx complained about inconsistent section levels; with this
change I preserved that sections describing individual annotations are
all on the same level.)

Apart from this change and the format conversion, I didn't review,
validate or edit the contents of this documentation file because I think
it would be better to place any additional changes in separate commits.


  Commit: 8b4561467e828c3755ad2942715fac00de2be4a7
      https://github.com/llvm/llvm-project/commit/8b4561467e828c3755ad2942715fac00de2be4a7
  Author: Ramkumar Ramachandra <ramkumar.ramachandra at codasip.com>
  Date:   2025-01-13 (Mon, 13 Jan 2025)

  Changed paths:
    M llvm/lib/Analysis/LoopAccessAnalysis.cpp
    M llvm/test/Analysis/LoopAccessAnalysis/depend_diff_types.ll

  Log Message:
  -----------
  LAA: add missed swap when inverting src, sink (#122254)

When inverting source and sink on a negative induction step, the types
of the source and sink should also be swapped. This fixes a bug in the
code that follows, that computes properties based on these types. With
234cc40 ([LAA] Limit no-overlap check to at least one loop-invariant
accesses.), that code is guarded by a loop-invariant condition: however,
the commit did not add any new tests exercising the guarded code, and
hence the bugfix in this patch requires additional tests to exercise
that guarded codepath.


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

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

  Log Message:
  -----------
  [LV][EVL] Pre-commit test case for fixed-order recurrence with EVL tail folding. (NFC) (#122456)

This test case is from
SingleSource/UnitTests/Vectorizer/recurrences.test.
Pre-commit for #122458


  Commit: ed80d0c2ae41888d8d0be90e73026bc126d82161
      https://github.com/llvm/llvm-project/commit/ed80d0c2ae41888d8d0be90e73026bc126d82161
  Author: Donát Nagy <donat.nagy at ericsson.com>
  Date:   2025-01-13 (Mon, 13 Jan 2025)

  Changed paths:
    A clang/docs/analyzer/images/example_custom_assert.png
    A clang/docs/analyzer/images/example_null_pointer.png
    A clang/docs/analyzer/images/example_use_assert.png
    M clang/docs/analyzer/user-docs/FAQ.rst
    R clang/www/analyzer/images/example_custom_assert.png
    R clang/www/analyzer/images/example_null_pointer.png
    R clang/www/analyzer/images/example_use_assert.png
    R clang/www/analyzer/images/scan_build_cmd.png

  Log Message:
  -----------
  [NFC][analyzer][docs] Restore/remove orphaned images (#122481)

When commit 61a76f58ebf1 converted the static analyzer FAQ from HTML to
RST, it accidentally left out three images (`example_*.png`) that were
previously present in that document. This commit re-adds those three
images to the FAQ (and moves them to the directory for the image assets
of the RST documentation).

Moreover commit 093aaca2b0ad _copied_ the file `scan_build_cmd.png` to
the RST documentation directory instead of just moving it; so this
commit removes its "old" copy which is no longer used (because the old
HTML-based documentation file was replaced by a stub that redirects to
the RST docs).


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

  Changed paths:
    M llvm/lib/CodeGen/MachineCopyPropagation.cpp
    M llvm/test/CodeGen/AArch64/machine-cp-sub-reg.mir

  Log Message:
  -----------
  Revert "[MachineCP] Correctly handle register masks and sub-registers (#122472)"

This reverts commit e2a071ece58790f8dd4886e998033cab82e906fb.

This causes a large compile-time regression.


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

  Changed paths:
    M llvm/docs/LangRef.rst
    M llvm/include/llvm/AsmParser/LLParser.h
    M llvm/include/llvm/AsmParser/LLToken.h
    M llvm/include/llvm/Bitcode/LLVMBitCodes.h
    M llvm/include/llvm/IR/Attributes.h
    M llvm/include/llvm/IR/Attributes.td
    M llvm/include/llvm/Support/ModRef.h
    M llvm/lib/AsmParser/LLLexer.cpp
    M llvm/lib/AsmParser/LLParser.cpp
    M llvm/lib/Bitcode/Reader/BitcodeReader.cpp
    M llvm/lib/Bitcode/Writer/BitcodeWriter.cpp
    M llvm/lib/IR/AttributeImpl.h
    M llvm/lib/IR/Attributes.cpp
    M llvm/lib/Support/ModRef.cpp
    M llvm/lib/Transforms/Utils/CodeExtractor.cpp
    A llvm/test/Assembler/captures-errors.ll
    A llvm/test/Assembler/captures.ll
    M llvm/test/Bitcode/attributes.ll
    M llvm/unittests/IR/AttributesTest.cpp

  Log Message:
  -----------
  [IR] Introduce captures attribute (#116990)

This introduces the `captures` attribute as described in:
https://discourse.llvm.org/t/rfc-improvements-to-capture-tracking/81420

This initial patch only introduces the IR/bitcode support for the
attribute and its in-memory representation as `CaptureInfo`. This will
be followed by a patch to upgrade and remove the `nocapture` attribute,
and then by actual inference/analysis support.

Based on the RFC feedback, I've used a syntax similar to the `memory`
attribute, though the only "location" that can be specified is `ret`.

I've added some pretty extensive documentation to LangRef on the
semantics. One non-obvious bit here is that using ptrtoint will not
result in a "return-only" capture, even if the ptrtoint result is only
used in the return value. Without this requirement we wouldn't be able
to continue ordinary capture analysis on the return value.


  Commit: 7ed451a3f3f777966b05c51af920aa23fa1cd73e
      https://github.com/llvm/llvm-project/commit/7ed451a3f3f777966b05c51af920aa23fa1cd73e
  Author: Lukacma <Marian.Lukac at arm.com>
  Date:   2025-01-13 (Mon, 13 Jan 2025)

  Changed paths:
    M clang/test/CodeGen/AArch64/fp8-intrinsics/acle_sve2_fp8_fdot.c
    M clang/test/CodeGen/AArch64/sme2-intrinsics/acle_sme2_fp8_fdot.c
    M clang/test/CodeGen/AArch64/sme2-intrinsics/acle_sme2_fp8_fvdot.c
    M clang/test/Sema/aarch64-fp8-intrinsics/acle_sme2_fp8_imm.c
    M llvm/lib/Target/AArch64/AArch64Features.td
    M llvm/test/CodeGen/AArch64/fp8-sve-fdot.ll
    M llvm/unittests/TargetParser/TargetParserTest.cpp

  Log Message:
  -----------
  [AArch64] Change feature dependencies of fp8 features (#122280)

This patch simplifies feature dependencies of FP8 features and also adds
new tests to check these.


  Commit: ad38e24eb74e97148faec97c4f843b87768b6e9b
      https://github.com/llvm/llvm-project/commit/ad38e24eb74e97148faec97c4f843b87768b6e9b
  Author: David Pagan <dave.pagan at amd.com>
  Date:   2025-01-13 (Mon, 13 Jan 2025)

  Changed paths:
    M clang/docs/OpenMPSupport.rst
    M clang/docs/ReleaseNotes.rst
    M clang/include/clang/AST/OpenMPClause.h
    M clang/include/clang/Basic/DiagnosticParseKinds.td
    M clang/include/clang/Basic/OpenMPKinds.def
    M clang/include/clang/Basic/OpenMPKinds.h
    M clang/include/clang/Sema/SemaOpenMP.h
    M clang/lib/AST/OpenMPClause.cpp
    M clang/lib/Parse/ParseOpenMP.cpp
    M clang/lib/Sema/SemaOpenMP.cpp
    M clang/lib/Sema/TreeTransform.h
    M clang/lib/Serialization/ASTReader.cpp
    M clang/lib/Serialization/ASTWriter.cpp
    R clang/test/OpenMP/allocate_allocator_modifier_ast_print.cpp
    R clang/test/OpenMP/allocate_allocator_modifier_codegen.cpp
    R clang/test/OpenMP/allocate_allocator_modifier_messages.cpp
    A clang/test/OpenMP/allocate_modifiers_ast_print.cpp
    A clang/test/OpenMP/allocate_modifiers_codegen.cpp
    A clang/test/OpenMP/allocate_modifiers_messages.cpp

  Log Message:
  -----------
  [clang][OpenMP] Add 'align' modifier for 'allocate' clause (#121814)

The 'align' modifier is now accepted in the 'allocate' clause. Added LIT
tests covering codegen, PCH, template handling, and serialization for
'align' modifier.

Added support for align-modifier to release notes.

Testing
- New allocate modifier LIT tests.
- OpenMP LIT tests.
- check-all


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

  Changed paths:
    M clang/include/clang/Driver/Multilib.h
    M clang/lib/Driver/Multilib.cpp
    A clang/test/Driver/baremetal-multilib-custom-flags-parsing.yaml

  Log Message:
  -----------
  [Multilib] Custom flags YAML parsing (#110657)

This patch is the first step to extend the current multilib system to
support the selection of library variants which do not correspond to
existing command-line options.

Proposal can be found in
https://discourse.llvm.org/t/rfc-multilib-custom-flags/81058

The multilib mechanism supports libraries that target code generation or
language options such as `--target`, `-mcpu`, `-mfpu`,
`-mbranch-protection`. However, some library variants are particular to
features that do not correspond to any command-line options. Examples
include variants for multithreading and semihosting.

This work introduces a way to instruct the multilib system to consider
these features in library selection. This particular patch comprises a
new section in `multilib.yaml` to declare flags for which no option
exists. Henceforth this sort of flag will be called `custom flag` for
clarity.

The `multilib.yaml` file will have a new section called Flags which
contains the declarations of the target’s custom flags:

```yaml
Flags:
- Name: multithreaded
  Values:
  - Name: no-multithreaded
    MacroDefines: [__SINGLE_THREAD__]
  - Name: multithreaded
  Default: no-multithreaded

- Name: io
  Values:
    - Name: io-none
    - Name: io-semihosting
      MacroDefines: [SEMIHOSTING]
    - Name: io-linux-syscalls
      MacroDefines: [LINUX_SYSCALLS, HOSTED=1]
   Default: io-none
```
- Name: the name to categorize a flag.
- Values: a list of possible values.
- Default: it specifies which value this flag should take if not
specified in the command-line invocation. It must be one value from the
Values field.

Each flag Value follows this description:
- Name (required): the name of the custom flag value (string). This is
the string to be used in `-fmultilib-flag=<string>`.
- MacroDefines (optional): a list of strings to be used as macro
definitions. Each string
  is fed into the driver as ``-D<string>``.

A Default value is useful to save users from specifying custom flags
that have a most commonly used value.

The namespace of flag values is common across all flags. This means that
flag values must be unique.


  Commit: 2a551ab3002897ba52a27961b766f3741695c816
      https://github.com/llvm/llvm-project/commit/2a551ab3002897ba52a27961b766f3741695c816
  Author: Victor Campos <victor.campos at arm.com>
  Date:   2025-01-13 (Mon, 13 Jan 2025)

  Changed paths:
    M clang/include/clang/Driver/Options.td
    M clang/lib/Driver/ToolChain.cpp
    M clang/test/Driver/print-multi-selection-flags.c

  Log Message:
  -----------
  [Multilib] Add -fmultilib-flag command-line option (#110658)

This patch is the second step to extend the current multilib system to
support the selection of library variants which do not correspond to
existing command-line options.

Proposal can be found in
https://discourse.llvm.org/t/rfc-multilib-custom-flags/81058

The multilib mechanism supports libraries that target code generation or
language options such as --target, -mcpu, -mfpu, -mbranch-protection.
However, some library variants are particular to features that do not
correspond to any command-line options. Examples include variants for
multithreading and semihosting.

This work introduces a way to instruct the multilib system to consider
these features in library selection.

The driver must be informed about the multilib custom flags with a new
command-line option.
```
-fmultilib-flag=C
```
Where the grammar for C is:
```
C -> option
option -> multithreaded | no-multithreaded | io-none | io-semihosting | io-linux-syscalls | ...
```
There must be one option instance for each flag specified:
```
-fmultilib-flag=multithreaded -fmultilib-flag=io-semihosting
```
Contradictory options are untied by *last one wins*.

These options are to be used exclusively by the multilib mechanism in
the Clang driver. Hence they are not forwarded to the compiler frontend.


  Commit: 162397f98d04415eebe115cdcb01558932e5c802
      https://github.com/llvm/llvm-project/commit/162397f98d04415eebe115cdcb01558932e5c802
  Author: Hui <hui.xie1990 at gmail.com>
  Date:   2025-01-13 (Mon, 13 Jan 2025)

  Changed paths:
    M libcxx/include/__flat_map/flat_map.h
    M libcxx/include/module.modulemap
    R libcxx/test/libcxx/containers/containers.adaptors/flat.map/container_stability.pass.cpp
    R libcxx/test/std/containers/container.adaptors/flat.map/flat.map.cons/iter_iter_stability.pass.cpp
    R libcxx/test/std/containers/container.adaptors/flat.map/flat.map.modifiers/insert_range_stability.pass.cpp

  Log Message:
  -----------
  [libc++] Replace stable_sort with sort in flat_map (#121431)

Fixes #120788


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

  Changed paths:
    M libcxx/include/CMakeLists.txt
    M libcxx/include/__functional/function.h
    M libcxx/include/__memory/allocator.h
    R libcxx/include/__memory/builtin_new_allocator.h
    M libcxx/include/__memory/unique_temporary_buffer.h
    M libcxx/include/__new/allocate.h
    M libcxx/include/__string/constexpr_c_functions.h
    A libcxx/include/__utility/element_count.h
    M libcxx/include/__utility/small_buffer.h
    M libcxx/include/module.modulemap
    M libcxx/src/memory_resource.cpp
    M libcxx/test/libcxx/language.support/support.dynamic/libcpp_deallocate.sh.cpp

  Log Message:
  -----------
  [libc++] Pass type information down to __libcpp_allocate (#118837)

Currently, places where we call __libcpp_allocate must drop type
information on the ground even when they actually have such information
available. That is unfortunate since some toolchains and system
allocators are able to provide improved security when they know what
type is being allocated.

This is the purpose of http://wg21.link/p2719, where we introduce a new
variant of `operator new` which takes a type in its interface. A
different but related issue is that `std::allocator` does not honor any
in-class `T::operator new` since it is specified to call the global
`::operator new` instead.

This patch closes the gap to make it trivial for implementations that
provide typed memory allocators to actually benefit from that
information in more contexts, and also makes libc++ forward-compatible
with future proposals that would fix the existing defects in
`std::allocator`. It also makes the internal allocation API higher level
by operating on objects instead of operating on bytes of memory.

Since this is a widely-used function and making this a template could
have an impact on debug info sizes, I tried minimizing the number of
templated layers by removing `__do_deallocate_handle_size`, which was
easy to replace with a macro (and IMO this leads to cleaner code).


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

  Changed paths:
    M libcxx/include/__locale

  Log Message:
  -----------
  [libc++][NFC] Use uint32_t instead of __uint32_t on Apple (#122356)

We had a 15 year old occurence of __uint32_t, likely from a time when
uint32_t was not available everywhere.


  Commit: 019a902ac644c59dfa8e6091f96846b516444ca5
      https://github.com/llvm/llvm-project/commit/019a902ac644c59dfa8e6091f96846b516444ca5
  Author: A. Jiang <de34 at live.cn>
  Date:   2025-01-13 (Mon, 13 Jan 2025)

  Changed paths:
    M libcxx/docs/ReleaseNotes/20.rst
    M libcxx/include/future
    A libcxx/test/libcxx/thread/futures/futures.task/type.depr.verify.cpp
    M libcxx/test/libcxx/thread/futures/futures.task/types.pass.cpp

  Log Message:
  -----------
  [libc++] Deprecate extension `packaged_task::result_type` (#122600)

This extension is questionable and non-conforming. Perhaps we should
deprecate and then remove it.

Towards #112856.


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

  Changed paths:
    M llvm/lib/Target/X86/X86ISelLowering.cpp
    M llvm/test/CodeGen/X86/any_extend_vector_inreg_of_broadcast_from_memory.ll
    M llvm/test/CodeGen/X86/avx512-shuffles/partial_permute.ll
    M llvm/test/CodeGen/X86/pr97968.ll
    M llvm/test/CodeGen/X86/shuffle-strided-with-offset-512.ll
    M llvm/test/CodeGen/X86/shuffle-vs-trunc-512.ll
    M llvm/test/CodeGen/X86/vector-interleaved-load-i16-stride-3.ll
    M llvm/test/CodeGen/X86/vector-interleaved-load-i16-stride-5.ll
    M llvm/test/CodeGen/X86/vector-interleaved-load-i16-stride-6.ll
    M llvm/test/CodeGen/X86/vector-interleaved-load-i16-stride-7.ll
    M llvm/test/CodeGen/X86/vector-interleaved-load-i16-stride-8.ll
    M llvm/test/CodeGen/X86/vector-interleaved-load-i32-stride-2.ll
    M llvm/test/CodeGen/X86/vector-interleaved-load-i32-stride-3.ll
    M llvm/test/CodeGen/X86/vector-interleaved-load-i32-stride-4.ll
    M llvm/test/CodeGen/X86/vector-interleaved-load-i32-stride-5.ll
    M llvm/test/CodeGen/X86/vector-interleaved-load-i32-stride-6.ll
    M llvm/test/CodeGen/X86/vector-interleaved-load-i32-stride-7.ll
    M llvm/test/CodeGen/X86/vector-interleaved-load-i32-stride-8.ll
    M llvm/test/CodeGen/X86/vector-interleaved-load-i64-stride-2.ll
    M llvm/test/CodeGen/X86/vector-interleaved-load-i64-stride-6.ll
    M llvm/test/CodeGen/X86/vector-interleaved-load-i64-stride-7.ll
    M llvm/test/CodeGen/X86/zero_extend_vector_inreg_of_broadcast_from_memory.ll

  Log Message:
  -----------
  [X86] Fold VPERMV3(X,M,Y) -> VPERMV(CONCAT(X,Y),WIDEN(M)) iff the CONCAT is free (#122485)

This extends the existing fold which concatenates X and Y if they are sequential subvectors extracted from the same source.

By using combineConcatVectorOps we can recognise other patterns where X and Y can be concatenated for free (e.g. sequential loads, concatenating repeated instructions etc.), which allows the VPERMV3 fold to be a lot more aggressive.

This required combineConcatVectorOps to be extended to fold the additional case of "concat(extract_subvector(x,lo), extract_subvector(x,hi)) -> extract_subvector(x)", similar to the original VPERMV3 fold where "x" was larger than the concat result type.

This also exposes more cases where we have repeated vector/subvector loads if they have multiple uses - e.g. where we're loading a ymm and the lo/hi xmm pairs independently - in the past we've always considered this to be relatively benign, but I'm not certain if we should now do more to keep these from splitting?


  Commit: 65566281edac2b5f75a99302e7200c957db90143
      https://github.com/llvm/llvm-project/commit/65566281edac2b5f75a99302e7200c957db90143
  Author: Ryan Mansfield <ryan_mansfield at apple.com>
  Date:   2025-01-13 (Mon, 13 Jan 2025)

  Changed paths:
    M llvm/test/tools/llvm-objdump/ELF/pt-gnu-property.test
    M llvm/tools/llvm-objdump/ELFDump.cpp

  Log Message:
  -----------
  [llvm-objdump] Remove leading whitespace for PT_GNU_PROPERTY. (#121591)

This fixes the misaligned display of addresses for this p_type.

Previous:

```
   STACK off    0x0000000000000000 vaddr 0x0000000000000000 paddr 0x0000000000000000 align 2**64
         filesz 0x0000000000000000 memsz 0x0000000000000000 flags rw-
   PROPERTY off    0x0000000000000358 vaddr 0x0000000000000358 paddr 0x0000000000000358 align 2**3
         filesz 0x0000000000000020 memsz 0x0000000000000020 flags r--
    NOTE off    0x0000000000000334 vaddr 0x0000000000000334 paddr 0x0000000000000334 align 2**2
         filesz 0x0000000000000020 memsz 0x0000000000000020 flags r--
```

After:


```
   STACK off    0x0000000000000000 vaddr 0x0000000000000000 paddr 0x0000000000000000 align 2**64
         filesz 0x0000000000000000 memsz 0x0000000000000000 flags rw-
PROPERTY off    0x0000000000000358 vaddr 0x0000000000000358 paddr 0x0000000000000358 align 2**3
         filesz 0x0000000000000020 memsz 0x0000000000000020 flags r--
    NOTE off    0x0000000000000334 vaddr 0x0000000000000334 paddr 0x0000000000000334 align 2**2
         filesz 0x0000000000000020 memsz 0x0000000000000020 flags r--
```


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

  Changed paths:
    M libcxx/include/CMakeLists.txt
    M libcxx/include/__locale_dir/locale_base_api.h
    R libcxx/include/__locale_dir/locale_base_api/fuchsia.h
    A libcxx/include/__locale_dir/support/fuchsia.h
    A libcxx/include/__locale_dir/support/no_locale/characters.h
    A libcxx/include/__locale_dir/support/no_locale/strtonum.h
    M libcxx/include/module.modulemap

  Log Message:
  -----------
  [libc++] Redefine Fuchsia locale base support on top of the new API (#122489)

This follows the same path we've been doing for all platforms so far,
moving away from the old definition of the locale base API.

Co-authored-by: Daniel Thornburgh <mysterymath at gmail.com>


  Commit: ce8c64fc8e067608be0dd44ca5399f85bab9e20d
      https://github.com/llvm/llvm-project/commit/ce8c64fc8e067608be0dd44ca5399f85bab9e20d
  Author: vfdev <vfdev.5 at gmail.com>
  Date:   2025-01-13 (Mon, 13 Jan 2025)

  Changed paths:
    M mlir/examples/standalone/python/StandaloneExtensionPybind11.cpp

  Log Message:
  -----------
  Remove StandaloneExtensionPybind11.cpp FT update as does not work with python 3.8 and old pybind11 (#122697)

Description:
- Remove StandaloneExtensionPybind11.cpp FT update as does not work with
python 3.8 and old pybind11

This should also fix the failing toy.test:
https://github.com/llvm/llvm-project/pull/122684#issuecomment-2586802692

cc @jpienaar


  Commit: 99612a3a18e0c40aac9c52b68e67b106f97ed4fa
      https://github.com/llvm/llvm-project/commit/99612a3a18e0c40aac9c52b68e67b106f97ed4fa
  Author: bernhardu <bernhardu at mailbox.org>
  Date:   2025-01-13 (Mon, 13 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 2 byte instructions. (#120235)

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
```

CC: @zmodem


  Commit: 5e7d7fb1f0cefbb6f00bcd71867014ce8b71a11e
      https://github.com/llvm/llvm-project/commit/5e7d7fb1f0cefbb6f00bcd71867014ce8b71a11e
  Author: Lukacma <Marian.Lukac at arm.com>
  Date:   2025-01-13 (Mon, 13 Jan 2025)

  Changed paths:
    M clang/test/Driver/print-enabled-extensions/aarch64-fujitsu-monaka.c

  Log Message:
  -----------
  [AArch64] Fix aarch64-fujitsu-monaka.c test (#122716)


  Commit: 7378afd167860083eaaf0d8e411c91a28a6605d6
      https://github.com/llvm/llvm-project/commit/7378afd167860083eaaf0d8e411c91a28a6605d6
  Author: Victor Campos <victor.campos at arm.com>
  Date:   2025-01-13 (Mon, 13 Jan 2025)

  Changed paths:
    M clang/include/clang/Driver/Multilib.h
    M clang/lib/Driver/Multilib.cpp
    R clang/test/Driver/baremetal-multilib-custom-flags-parsing.yaml

  Log Message:
  -----------
  Revert "[Multilib] Custom flags YAML parsing" (#122722)

Reverts llvm/llvm-project#110657

It seems that this patch is causing the sanitizer bot to fail. Reverting
while I investigate


  Commit: ab6c89c220192159a66c1a91ad3dd892bad1c3b2
      https://github.com/llvm/llvm-project/commit/ab6c89c220192159a66c1a91ad3dd892bad1c3b2
  Author: Brotcrunsher <brotcrunsher at hotmail.de>
  Date:   2025-01-13 (Mon, 13 Jan 2025)

  Changed paths:
    M libcxx/src/shared_mutex.cpp

  Log Message:
  -----------
  [libcxx] Don't hold the lock when calling notify_* on gates in std::shared_mutex (#107876)

Holding the associated lock while calling notify_* on a
condition_variable is generally considered a pessimization, as the
notified thread might "instantly" wake up, notice that it can't acquire
the lock, and then goes back to sleep.


  Commit: 34ba84fe90b3e369c03e695a395ec632ef60e23d
      https://github.com/llvm/llvm-project/commit/34ba84fe90b3e369c03e695a395ec632ef60e23d
  Author: Steven Perron <stevenperron at google.com>
  Date:   2025-01-13 (Mon, 13 Jan 2025)

  Changed paths:
    M llvm/lib/Target/SPIRV/SPIRVInstructionSelector.cpp

  Log Message:
  -----------
  [SPIRV] Return success when selecting reads and writes. (#122162)

The function `selectImageWriteIntrinsic` and `selectReadImageIntrinsic`
are void functions. The should return true if they succeed, and false
otherwise. This commit updates the code to do this.


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

  Changed paths:
    M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
    M llvm/test/Transforms/SLPVectorizer/AArch64/vectorizable-selects-uniform-cmps.ll
    A llvm/test/Transforms/SLPVectorizer/X86/full-matched-bv-with-subvectors.ll

  Log Message:
  -----------
  [SLP]Do not include subvectors for fully matched buildvectors

If the buildvector node fully matched another node, need to exclude
subvectors, when building final shuffle, just a shuffle of the original
node must be emitted.

Fixes #122584


  Commit: 09a8b7cbc29d8704c343197d4b33b6972366c682
      https://github.com/llvm/llvm-project/commit/09a8b7cbc29d8704c343197d4b33b6972366c682
  Author: gbMattN <146744444+gbMattN at users.noreply.github.com>
  Date:   2025-01-13 (Mon, 13 Jan 2025)

  Changed paths:
    M compiler-rt/lib/tysan/tysan.cpp
    A compiler-rt/test/tysan/struct-offset-different-base.cpp

  Log Message:
  -----------
  [TySan] Fix struct access with different bases (#120412)

Original pull request
[here](https://github.com/llvm/llvm-project/pull/108385)
Fixes issue https://github.com/llvm/llvm-project/issues/105960

If a member in a struct is also a struct, accessing a member partway
through this inner struct currently causes a false positive. This is
because when checking aliasing, the access offset is seen as greater
than the starting offset of the inner struct, so the loop continues one
iteration, and believes we are accessing the member after the inner
struct.

The next member's offset is greater than the offset we are looking for,
so when we subtract the next member's offset from what we are looking
for, the offset underflows.

To fix this, we check if the member we think we are accessing has a
greater offset than the offset we are looking for. If so, we take a step
back. We cannot do this in the loop, since the loop does not check the
final member. This means the penultimate member would still cause false
positives.


  Commit: 3318a7248ae464af0abd0bea5515fa58c962b890
      https://github.com/llvm/llvm-project/commit/3318a7248ae464af0abd0bea5515fa58c962b890
  Author: goldsteinn <35538541+goldsteinn at users.noreply.github.com>
  Date:   2025-01-13 (Mon, 13 Jan 2025)

  Changed paths:
    M llvm/lib/Transforms/InstCombine/InstCombineCalls.cpp
    M llvm/test/Transforms/InstCombine/cttz.ll

  Log Message:
  -----------
  [InstCombine] Fold `(ct{t,l}z Pow2)` -> `Log2(Pow2)` (#122620)

- **[InstCombine] Add tests for folding `(ct{t,l}z Pow2)`; NFC**
- **[InstCombine] Fold `(ct{t,l}z Pow2)` -> `Log2(Pow2)`**

Do so we can find `Log2(Pow2)` for "free" with `takeLog2`

https://alive2.llvm.org/ce/z/CL77fo


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

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

  Log Message:
  -----------
  [mlir python] Add locking around PyMlirContext::liveOperations. (#122720)

In JAX, I observed a race between two PyOperation destructors from
different threads updating the same `liveOperations` map, despite not
intentionally sharing the context between different threads. Since I
don't think we can be completely sure when GC happens and on which
thread, it seems safest simply to add locking here.

We may also want to explicitly support sharing a context between threads
in the future, which would require this change or something similar.


  Commit: 79e788d02eefdacb08af365389b9055518f3fad6
      https://github.com/llvm/llvm-project/commit/79e788d02eefdacb08af365389b9055518f3fad6
  Author: Kelvin Li <kkwli at users.noreply.github.com>
  Date:   2025-01-13 (Mon, 13 Jan 2025)

  Changed paths:
    M flang/include/flang/Optimizer/CodeGen/TypeConverter.h
    M flang/include/flang/Optimizer/Dialect/FIRTypes.td
    M flang/lib/Lower/ConvertType.cpp
    M flang/lib/Optimizer/CodeGen/BoxedProcedure.cpp
    M flang/lib/Optimizer/CodeGen/TypeConverter.cpp
    M flang/lib/Optimizer/Dialect/FIRType.cpp
    M flang/lib/Semantics/compute-offsets.cpp
    M flang/test/Lower/CUDA/cuda-devptr.cuf
    M flang/test/Lower/HLFIR/bindc-value-derived.f90
    M flang/test/Lower/OpenMP/copyin.f90
    A flang/test/Lower/derived-types-bindc.f90
    M flang/test/Lower/intentout-deallocate.f90
    A flang/test/Semantics/offsets04.f90

  Log Message:
  -----------
  [flang][AIX] BIND(C) derived type alignment for AIX (#121505)

This patch is to handle the alignment requirement for the `bind(c)`
derived type component that is real type and larger than 4 bytes. The
alignment of such component is 4-byte.


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

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

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


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

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

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


  Commit: 7aebacbee965a83c5cc69f6a723605436651672c
      https://github.com/llvm/llvm-project/commit/7aebacbee965a83c5cc69f6a723605436651672c
  Author: Philipp Schilk <schilk.philipp at gmail.com>
  Date:   2025-01-13 (Mon, 13 Jan 2025)

  Changed paths:
    M mlir/lib/TableGen/Operator.cpp
    M mlir/test/mlir-tblgen/op-result.td

  Log Message:
  -----------
  [MLIR][TableGen] Use arg index in InferredResultType constructor. (#122717)

Trying to constrain two results to be of the same type using
`AllTypesMatch` would cause `mlir-tablgen` to crash on this
assertion[1].

Example:

```tblgen
def OpL5 : NS_Op<"op_with_same_but_unconstraint_results",
    [AllTypesMatch<["result_a", "result_b"]>]> {
  let results = (outs AnyType:$result_a, AnyType:$result_b);
}
```

This is because there was a small bug when constructing the `inferences`
graph from these constraints: The sources should be specified by the
combined arg/result index (in other words, with results negative) not
with the result index.


[1]
https://github.com/llvm/llvm-project/blob/99612a3a18e0c40aac9c52b68e67b106f97ed4fa/mlir/lib/TableGen/Operator.cpp#L526


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

  Changed paths:
    M clang/test/CXX/drs/cwg1xx.cpp
    M clang/www/cxx_dr_status.html

  Log Message:
  -----------
  [clang] Add test for CWG170 "Pointer-to-member conversions" (#121667)

This patch adds test for
[CWG170](https://cplusplus.github.io/CWG/issues/170.html). The
resolution adds explicit undefined behavior, so I think the best we can
do is to put the test into constexpr evaluator. Change to
[expr.static.cast] is not tested, because it was a drive-by fix that
removed an impossible case (I confirmed it using minutes). Minutes
mention several times a comprehensive paper in this design space which
no one seem to remember. I believe it's
[P0149R0](https://wg21.link/p0149r0) "Generalised member pointers".


  Commit: f1632d25db47629221b8a25d79b7993b397f6886
      https://github.com/llvm/llvm-project/commit/f1632d25db47629221b8a25d79b7993b397f6886
  Author: Ramkumar Ramachandra <ramkumar.ramachandra at codasip.com>
  Date:   2025-01-13 (Mon, 13 Jan 2025)

  Changed paths:
    M llvm/include/llvm/IR/Instructions.h
    M llvm/include/llvm/SandboxIR/Instruction.h
    M llvm/lib/Analysis/ValueTracking.cpp
    M llvm/lib/IR/Instructions.cpp
    M llvm/lib/Transforms/Scalar/NewGVN.cpp
    M llvm/test/Analysis/ValueTracking/implied-condition-samesign.ll

  Log Message:
  -----------
  IR: introduce ICmpInst::isImpliedByMatchingCmp (#122597)

Create an abstraction over isImplied{True,False}ByMatchingCmp to
faithfully communicate the result of both functions, cleaning up code in
callsites. While at it, fix a bug in the implied-false version of the
function, which was inadvertedenly dropping samesign information.


  Commit: 3d507a890540082f5c7fc15a0f9b1dd85be02174
      https://github.com/llvm/llvm-project/commit/3d507a890540082f5c7fc15a0f9b1dd85be02174
  Author: David Spickett <david.spickett at linaro.org>
  Date:   2025-01-13 (Mon, 13 Jan 2025)

  Changed paths:
    M llvm/docs/ReleaseNotes.md

  Log Message:
  -----------
  [llvm][Docs] Add new LLDB Python guidance to release notes (#122719)

As decided in
https://discourse.llvm.org/t/rfc-lets-document-and-enforce-a-minimum-python-version-for-lldb/82731
and implemented by https://github.com/llvm/llvm-project/pull/114807.


  Commit: 9256485043fe5cc3a24dba649deef8ae69e6d702
      https://github.com/llvm/llvm-project/commit/9256485043fe5cc3a24dba649deef8ae69e6d702
  Author: CarolineConcatto <caroline.concatto at arm.com>
  Date:   2025-01-13 (Mon, 13 Jan 2025)

  Changed paths:
    M clang/include/clang/Basic/arm_sve.td
    M clang/lib/Basic/Targets/AArch64.cpp
    M clang/lib/Basic/Targets/AArch64.h
    M clang/test/CodeGen/AArch64/fmv-dependencies.c
    M clang/test/CodeGen/AArch64/sve2-intrinsics/acle_sve2_bdep.c
    M clang/test/CodeGen/AArch64/sve2-intrinsics/acle_sve2_bext.c
    M clang/test/CodeGen/AArch64/sve2-intrinsics/acle_sve2_bgrp.c
    M clang/test/CodeGen/AArch64/targetattr.c
    M clang/test/Driver/aarch64-implied-sme-features.c
    M clang/test/Driver/aarch64-implied-sve-features.c
    M clang/test/Driver/print-supported-extensions-aarch64.c
    M clang/test/Preprocessor/aarch64-target-features.c
    M clang/test/Sema/aarch64-sve2-intrinsics/acle_sve2_aes_bitperm_sha3_sm4.cpp
    M llvm/lib/Target/AArch64/AArch64.td
    M llvm/lib/Target/AArch64/AArch64Features.td
    M llvm/lib/Target/AArch64/AArch64InstrInfo.td
    M llvm/lib/Target/AArch64/AArch64Processors.td
    M llvm/lib/Target/AArch64/AArch64SVEInstrInfo.td
    M llvm/lib/Target/AArch64/AsmParser/AArch64AsmParser.cpp
    M llvm/lib/TargetParser/AArch64TargetParser.cpp
    M llvm/test/MC/AArch64/SVE2/bdep-diagnostics.s
    M llvm/test/MC/AArch64/SVE2/bdep.s
    M llvm/test/MC/AArch64/SVE2/bext.s
    M llvm/test/MC/AArch64/SVE2/bgrp.s
    M llvm/test/MC/AArch64/SVE2/directive-arch-negative.s
    M llvm/test/MC/AArch64/SVE2/directive-arch.s
    M llvm/test/MC/AArch64/SVE2/directive-arch_extension-negative.s
    M llvm/test/MC/AArch64/SVE2/directive-arch_extension.s
    M llvm/test/MC/AArch64/SVE2/directive-cpu-negative.s
    M llvm/test/MC/AArch64/SVE2/directive-cpu.s
    M llvm/unittests/TargetParser/TargetParserTest.cpp

  Log Message:
  -----------
  [Clang][LLVM][AArch64]Add new feature SSVE-BitPerm (#121947)

The 20204-12 ISA update release adds a new feature: FEAT_SSVE_BitPerm,
which allows the sve-bitperm instructions to run in streaming mode.

It also removes the requirement of FEAT_SVE2 for FEAT_SVE_BitPerm. The
sve2-bitperm feature is now an alias for sve-bitperm and sve2.

A new feature flag sve-bitperm is added to reflect the change that the
instructions under FEAT_SVE_BitPerm are supported if:
 on non streaming mode with FEAT_SVE2 and FEAT_SVE_BitPerm or
 in streaming mode with FEAT_SME and FEAT_SSVE_BitPerm


  Commit: 8d306ccdef6b70881f5d79b09c03df720351e5f8
      https://github.com/llvm/llvm-project/commit/8d306ccdef6b70881f5d79b09c03df720351e5f8
  Author: William Moses <gh at wsmoses.com>
  Date:   2025-01-13 (Mon, 13 Jan 2025)

  Changed paths:
    M mlir/include/mlir/Dialect/LLVMIR/Transforms/InlinerInterfaceImpl.h
    M mlir/include/mlir/InitAllDialects.h
    M mlir/lib/Dialect/LLVMIR/Transforms/InlinerInterfaceImpl.cpp
    A mlir/test/Dialect/LLVMIR/inlining-nvvm.mlir

  Log Message:
  -----------
  [MLIR][NVVM] Enable inlining of func's calling nvvm intrinsics (#122650)


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

  Changed paths:
    M flang/CMakeLists.txt

  Log Message:
  -----------
  [flang] Support discovering LLVM/Clang/MLIR without explicit *_DIR (#122639)

Support discovering LLVM, Clang and MLIR via the standard CMake logic in
addition to explicitly specified `LLVM_DIR`, etc. To prevent breaking
anyone's workflow the way #120914 did, this change explicitly introduces
two possible code paths based on variables provided:

1. If `LLVM_DIR`, etc. are defined, the current logic is used as-is.

2. If they are not defined, `find_package()` is called normally to
discover the packages using the standard CMake logic, and the discovered
paths are added

---------

Co-authored-by: Slava Zakharin <szakharin at nvidia.com>


  Commit: 26e13091ea5ac3a53d11b50265a506f88129d6ff
      https://github.com/llvm/llvm-project/commit/26e13091ea5ac3a53d11b50265a506f88129d6ff
  Author: Brox Chen <guochen2 at amd.com>
  Date:   2025-01-13 (Mon, 13 Jan 2025)

  Changed paths:
    M llvm/lib/Target/AMDGPU/SIInstructions.td
    M llvm/test/CodeGen/AMDGPU/llvm.ceil.f16.ll
    M llvm/test/CodeGen/AMDGPU/llvm.floor.f16.ll
    M llvm/test/CodeGen/AMDGPU/llvm.ldexp.ll
    M llvm/test/CodeGen/AMDGPU/sitofp.f16.ll
    M llvm/test/CodeGen/AMDGPU/uitofp.f16.ll
    M llvm/test/CodeGen/AMDGPU/v_pack.ll

  Log Message:
  -----------
  [AMDGPU][True16][CodeGen] true16 codegen pattern for v_pack_b32_f16 (#121988)

true16 codegen pattern for v_pack_b32_f16


  Commit: 092d6283838dea79670750b9415955c5f0cb5178
      https://github.com/llvm/llvm-project/commit/092d6283838dea79670750b9415955c5f0cb5178
  Author: Alexey Bataev <a.bataev at outlook.com>
  Date:   2025-01-13 (Mon, 13 Jan 2025)

  Changed paths:
    M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
    A llvm/test/Transforms/SLPVectorizer/X86/div-possibly-extended-with-poisons.ll

  Log Message:
  -----------
  [SLP]Check for div/rem instructions before extending with poisons

Need to check if the instructions can be safely extended with poison
before actually doing this to avoid incorrect transformations.

Fixes #122691


  Commit: 1a7d46fac8aa5ff4a96db01937cdb3b106253ac6
      https://github.com/llvm/llvm-project/commit/1a7d46fac8aa5ff4a96db01937cdb3b106253ac6
  Author: Vitaly Buka <vitalybuka at google.com>
  Date:   2025-01-13 (Mon, 13 Jan 2025)

  Changed paths:
    M llvm/include/llvm/Transforms/Instrumentation/BoundsChecking.h
    M llvm/lib/Passes/PassBuilder.cpp
    M llvm/lib/Transforms/Instrumentation/BoundsChecking.cpp
    M llvm/test/Instrumentation/BoundsChecking/runtimes.ll

  Log Message:
  -----------
  [BoundsChecking]  Add guard= pass parameter (#122575)

And use that as an argument for
allow_ubsan_check when needed.

Other ubsan checks use SanitizerKind,
but those are known to the clang only.

So make it a parameter in LLVM.


  Commit: 2d2fc4eb6820dfaebb5225c9f5c7275d0f1d0e86
      https://github.com/llvm/llvm-project/commit/2d2fc4eb6820dfaebb5225c9f5c7275d0f1d0e86
  Author: Andreas Jonson <andjo403 at hotmail.com>
  Date:   2025-01-13 (Mon, 13 Jan 2025)

  Changed paths:
    M llvm/test/Transforms/InstCombine/assume.ll

  Log Message:
  -----------
  [InstCombine] Test for trunc in align assume (NFC)


  Commit: 409ca49feb6659e279358f77b393f7955fb1bbda
      https://github.com/llvm/llvm-project/commit/409ca49feb6659e279358f77b393f7955fb1bbda
  Author: Vitaly Buka <vitalybuka at google.com>
  Date:   2025-01-13 (Mon, 13 Jan 2025)

  Changed paths:
    M clang/lib/CodeGen/BackendUtil.cpp
    M clang/lib/CodeGen/CGExpr.cpp
    M clang/test/CodeGen/allow-ubsan-check.c

  Log Message:
  -----------
  [ubsan] Pass fsanitize-skip-hot-cutoff into -fsanitize=bounds (#122576)


  Commit: 7c165f7fccfd40ae3bc2823d0ccd50257c21ab3e
      https://github.com/llvm/llvm-project/commit/7c165f7fccfd40ae3bc2823d0ccd50257c21ab3e
  Author: jimingham <jingham at apple.com>
  Date:   2025-01-13 (Mon, 13 Jan 2025)

  Changed paths:
    M lldb/source/Plugins/Language/ObjC/NSError.cpp
    M lldb/test/API/functionalities/data-formatter/data-formatter-objc/TestDataFormatterObjCNSError.py
    M lldb/test/API/functionalities/data-formatter/data-formatter-objc/main.m

  Log Message:
  -----------
  The _code field in an NSError is signed, not unsigned. (#119764)

The NSError summary provider was fetching and printing the `_code` field
as an unsigned integer, but it's defined to be an NSInteger, which is
signed.


  Commit: 380bb51b70b6d9f3da07a87f56fc3fe44bc78691
      https://github.com/llvm/llvm-project/commit/380bb51b70b6d9f3da07a87f56fc3fe44bc78691
  Author: joaosaffran <126493771+joaosaffran at users.noreply.github.com>
  Date:   2025-01-13 (Mon, 13 Jan 2025)

  Changed paths:
    M clang/include/clang/Basic/Attr.td
    M clang/lib/CodeGen/CGStmt.cpp
    M clang/lib/CodeGen/CodeGenFunction.cpp
    M clang/lib/CodeGen/CodeGenFunction.h
    M clang/lib/Sema/SemaStmtAttr.cpp
    A clang/test/AST/HLSL/HLSLControlFlowHint.hlsl
    A clang/test/CodeGenHLSL/HLSLControlFlowHint.hlsl
    M llvm/include/llvm/IR/IntrinsicsSPIRV.td
    M llvm/lib/Target/DirectX/DXILTranslateMetadata.cpp
    M llvm/lib/Target/SPIRV/SPIRVInstructionSelector.cpp
    M llvm/lib/Target/SPIRV/SPIRVStructurizer.cpp
    A llvm/test/CodeGen/DirectX/HLSLControlFlowHint.ll
    A llvm/test/CodeGen/SPIRV/structurizer/HLSLControlFlowHint-pass-check.ll
    A llvm/test/CodeGen/SPIRV/structurizer/HLSLControlFlowHint.ll

  Log Message:
  -----------
  [HLSL] Adding Flatten and Branch if attributes with test fixes (#122157)

- Adding the changes from PRs: 
  - #116331 
  - #121852 
- Fixes test `tools/dxil-dis/debug-info.ll`
- Address some missed comments in the previous PR

---------

Co-authored-by: joaosaffran <joao.saffran at microsoft.com>


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

  Changed paths:
    A llvm/test/Transforms/SLPVectorizer/X86/extractelemets-extended-by-poison.ll

  Log Message:
  -----------
  [SLP][NFC]Add a test with incorrect extractelement parameter after extending with poison


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

  Changed paths:
    M llvm/lib/Target/X86/AsmParser/X86Operand.h
    M llvm/lib/Target/X86/X86InstrAVX512.td
    M llvm/lib/Target/X86/X86InstrOperands.td
    M llvm/lib/Target/X86/X86InstrSSE.td
    M llvm/test/MC/Disassembler/X86/apx/evex-format.txt
    M llvm/test/MC/Disassembler/X86/intel-syntax.txt
    M llvm/test/MC/X86/avx-64-intel.s
    M llvm/test/MC/X86/avx512-intel.s
    M llvm/test/MC/X86/avx512f_vl-intel.s
    M llvm/test/MC/X86/intel-syntax.s
    M llvm/utils/TableGen/X86RecognizableInstr.cpp

  Log Message:
  -----------
  [X86] Use loaded/stored element size when parsing/printing gather/scatter pointer size in Intel syntax. (#122530)

This matches binutils.


  Commit: b39c5cb6977f35ad727d86b2dd6232099734ffd3
      https://github.com/llvm/llvm-project/commit/b39c5cb6977f35ad727d86b2dd6232099734ffd3
  Author: William Moses <gh at wsmoses.com>
  Date:   2025-01-13 (Mon, 13 Jan 2025)

  Changed paths:
    M mlir/include/mlir/Transforms/InliningUtils.h
    M mlir/lib/Dialect/LLVMIR/Transforms/InlinerInterfaceImpl.cpp
    M mlir/lib/Transforms/Utils/InliningUtils.cpp
    M mlir/test/Dialect/LLVMIR/inlining.mlir

  Log Message:
  -----------
  [MLIR][LLVM] Fix inlining of a single block ending with unreachable (#122646)

alternate option to https://github.com/llvm/llvm-project/pull/122615


  Commit: 16e45b8fac797c6d4ba161228b54665492204a9d
      https://github.com/llvm/llvm-project/commit/16e45b8fac797c6d4ba161228b54665492204a9d
  Author: Momchil Velikov <momchil.velikov at arm.com>
  Date:   2025-01-13 (Mon, 13 Jan 2025)

  Changed paths:
    A clang/test/CodeGen/AArch64/fp8-intrinsics/acle_sve2_fp8_reinterpret.c
    M clang/utils/TableGen/SveEmitter.cpp

  Log Message:
  -----------
  [AArch64] Implement FP8 SVE/SME reinterpret intrinsics (#121063)


  Commit: 066b88879ab5c195e7e14609e546cc238c2f3bf3
      https://github.com/llvm/llvm-project/commit/066b88879ab5c195e7e14609e546cc238c2f3bf3
  Author: Alexey Bataev <a.bataev at outlook.com>
  Date:   2025-01-13 (Mon, 13 Jan 2025)

  Changed paths:
    M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
    M llvm/test/Transforms/SLPVectorizer/X86/extractelemets-extended-by-poison.ll

  Log Message:
  -----------
  [SLP]Correctly set vector operand for extracts with poisons

When extracts are vectorized and it has some poison values instead of
instructions, need to correctly set the vectorized operand not as
poison, but as a main vector operand of the main extract instruction.

Fixes #122583


  Commit: b3ad84b534bf17311b92fbfe142c0542c6e95332
      https://github.com/llvm/llvm-project/commit/b3ad84b534bf17311b92fbfe142c0542c6e95332
  Author: Sean Perry <perry at ca.ibm.com>
  Date:   2025-01-13 (Mon, 13 Jan 2025)

  Changed paths:
    M libcxx/include/__cxx03/__config

  Log Message:
  -----------
  [libc++][z/OS] __cxx03 subdir was added by mistake (#122763)

The header <features.h> is a system header. It's not part of the headers
in __cxx03.


  Commit: 2f7ade4b5e399962e18f5f9a0ab0b7335deece51
      https://github.com/llvm/llvm-project/commit/2f7ade4b5e399962e18f5f9a0ab0b7335deece51
  Author: Kirill Stoimenov <kstoimenov at google.com>
  Date:   2025-01-13 (Mon, 13 Jan 2025)

  Changed paths:
    M llvm/include/llvm/CodeGen/MIRYamlMapping.h
    M llvm/include/llvm/CodeGen/MachineFunction.h
    M llvm/include/llvm/CodeGen/SelectionDAG.h
    M llvm/include/llvm/MC/MCObjectFileInfo.h
    M llvm/include/llvm/MC/MCStreamer.h
    M llvm/include/llvm/MC/MCWinCOFFObjectWriter.h
    M llvm/include/llvm/MC/MCWinCOFFStreamer.h
    M llvm/lib/CodeGen/MIRParser/MIRParser.cpp
    M llvm/lib/CodeGen/MIRPrinter.cpp
    M llvm/lib/CodeGen/SelectionDAG/ScheduleDAGSDNodes.cpp
    M llvm/lib/MC/MCAsmStreamer.cpp
    M llvm/lib/MC/MCObjectFileInfo.cpp
    M llvm/lib/MC/MCParser/COFFAsmParser.cpp
    M llvm/lib/MC/MCStreamer.cpp
    M llvm/lib/MC/MCWinCOFFStreamer.cpp
    M llvm/lib/MC/WinCOFFObjectWriter.cpp
    M llvm/lib/Target/AArch64/AArch64AsmPrinter.cpp
    M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
    R llvm/test/CodeGen/AArch64/win-import-call-optimization-nocalls.ll
    R llvm/test/CodeGen/AArch64/win-import-call-optimization.ll
    R llvm/test/CodeGen/MIR/AArch64/called-globals.mir
    M llvm/test/CodeGen/MIR/X86/call-site-info-error1.mir
    M llvm/test/CodeGen/MIR/X86/call-site-info-error2.mir
    R llvm/test/MC/AArch64/win-import-call-optimization.s
    R llvm/test/MC/COFF/bad-parse.s

  Log Message:
  -----------
  Revert "[aarch64][win] Add support for import call optimization (equivalent to MSVC /d2ImportCallOptimization) (#121516)"

Breaks sanitizer build: https://lab.llvm.org/buildbot/#/builders/52/builds/5179

This reverts commits:
5ee0a71df919a328c714e25f0935c21e586cc18b
d997a722c194feec5f3a94dec5acdce59ac5e55b


  Commit: de252e7777c1c6b45626a58aa34ea99dee58cc40
      https://github.com/llvm/llvm-project/commit/de252e7777c1c6b45626a58aa34ea99dee58cc40
  Author: Brad Smith <brad at comstyle.com>
  Date:   2025-01-13 (Mon, 13 Jan 2025)

  Changed paths:
    M lldb/include/lldb/Utility/ArchSpec.h
    M lldb/source/Utility/ArchSpec.cpp
    M lldb/unittests/Utility/ArchSpecTest.cpp

  Log Message:
  -----------
  [lldb] Add amd64 ArchSpec (#122533)

amd64 is used on OpenBSD.


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

  Changed paths:
    M llvm/include/llvm/ADT/PointerUnion.h

  Log Message:
  -----------
  [ADT] Deprecate PointerUnion::{is,get} (NFC) (#122623)

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

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

This patch actually deprecates them with [[deprecated]].

I'm not touching PointerUnion::dyn_cast for now because we have not
migrated away from it yet.


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

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

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

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 Ptr to be nonnull.


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

  Changed paths:
    M clang/lib/Analysis/ThreadSafetyCommon.cpp

  Log Message:
  -----------
  [Analysis] Migrate away from PointerUnion::dyn_cast (NFC) (#122652)

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 Ctx->FunArgs to be nonnull.


  Commit: 01ee66ea62b2db4d20a9596a450466751aa82624
      https://github.com/llvm/llvm-project/commit/01ee66ea62b2db4d20a9596a450466751aa82624
  Author: Kelvin Li <kkwli at users.noreply.github.com>
  Date:   2025-01-13 (Mon, 13 Jan 2025)

  Changed paths:
    M openmp/runtime/test/worksharing/for/collapse_test.inc

  Log Message:
  -----------
  [flang][OMP] change malloc.h to stdlib.h in collapse_test.inc (NFC) (#122711)


  Commit: e3cd88a7be1dfd912bb6e7c7e888e7b442ffb5de
      https://github.com/llvm/llvm-project/commit/e3cd88a7be1dfd912bb6e7c7e888e7b442ffb5de
  Author: Slava Zakharin <szakharin at nvidia.com>
  Date:   2025-01-13 (Mon, 13 Jan 2025)

  Changed paths:
    M flang/lib/Optimizer/Transforms/StackArrays.cpp
    M flang/test/Transforms/stack-arrays.fir

  Log Message:
  -----------
  [flang] Fixed StackArrays assertion after #121919. (#122550)

`findAllocaLoopInsertionPoint()` hit assertion not being able
to find the `fir.freemem` because of the `fir.convert`.
I think it is better to look for `fir.freemem` same way
with the look-through walk.


  Commit: 22a280d3924abf2cd2587dcff247bba884303c57
      https://github.com/llvm/llvm-project/commit/22a280d3924abf2cd2587dcff247bba884303c57
  Author: Ramkumar Ramachandra <ramkumar.ramachandra at codasip.com>
  Date:   2025-01-13 (Mon, 13 Jan 2025)

  Changed paths:
    M llvm/lib/Transforms/Scalar/LICM.cpp
    M llvm/test/Transforms/LICM/min_max.ll

  Log Message:
  -----------
  LICM: teach hoistMinMax about samesign (#122730)

Follow up on 4a0d53a (PatternMatch: migrate to CmpPredicate) to get rid
of one of the FIXMEs it introduced by replacing a predicate comparison
with CmpPredicate::getMatching.


  Commit: c6c864da3fdfbe98f6302f209056fe3069d071ae
      https://github.com/llvm/llvm-project/commit/c6c864da3fdfbe98f6302f209056fe3069d071ae
  Author: Alex MacLean <amaclean at nvidia.com>
  Date:   2025-01-13 (Mon, 13 Jan 2025)

  Changed paths:
    M llvm/include/llvm/IR/InstrTypes.h
    M llvm/lib/Analysis/AliasAnalysis.cpp
    M llvm/lib/Transforms/IPO/FunctionAttrs.cpp
    M llvm/test/Transforms/FunctionAttrs/readattrs.ll
    M llvm/test/Transforms/MemCpyOpt/memcpy-byval-forwarding-clobbers.ll

  Log Message:
  -----------
  [FunctionAttrs] Treat byval calls as only reading ptrs (#122618)

Since byval arguments are passed via a hidden copy of the pointee, they
do not have the same semantics as normal pointer arguments. The callee
cannot capture or write to the pointer and the copy is a read of the
pointer.


  Commit: 83be69cf9ade7e1f78df297518b1490d54794edc
      https://github.com/llvm/llvm-project/commit/83be69cf9ade7e1f78df297518b1490d54794edc
  Author: offsake <sergey.i.zverev at intel.com>
  Date:   2025-01-13 (Mon, 13 Jan 2025)

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

  Log Message:
  -----------
  [VPlan][Coverity] Fix coverity CID1579964. (#121805)

Fix for the Coverity hit with CID1579964 in VPlan.cpp.

Coverity message with some context follows.

[Cov] var_compare_op: Comparing TermBr to null implies that TermBr might
be null.
434    } else if (TermBr && !TermBr->isConditional()) {
435      TermBr->setSuccessor(0, NewBB);
436    } else {
437 // Set each forward successor here when it is created, excluding
438 // backedges. A backward successor is set when the branch is
created.
439      unsigned idx = PredVPSuccessors.front() == this ? 0 : 1;
     	
[Cov] CID 1579964: (#1 of 1): Dereference after null check
(FORWARD_NULL)
[Cov] var_deref_model: Passing null pointer TermBr to getSuccessor,
which dereferences it.


  Commit: 550d32f205202b73f21903b29df04fe2e89ae648
      https://github.com/llvm/llvm-project/commit/550d32f205202b73f21903b29df04fe2e89ae648
  Author: Peng Liu <winner245 at hotmail.com>
  Date:   2025-01-13 (Mon, 13 Jan 2025)

  Changed paths:
    M libcxx/test/std/containers/sequences/vector/common.h
    M libcxx/test/std/containers/sequences/vector/vector.capacity/reserve.pass.cpp
    A libcxx/test/std/containers/sequences/vector/vector.capacity/reserve_exceptions.pass.cpp
    A libcxx/test/std/containers/sequences/vector/vector.capacity/resize_size_exceptions.pass.cpp
    A libcxx/test/std/containers/sequences/vector/vector.capacity/resize_size_value_exceptions.pass.cpp
    A libcxx/test/std/containers/sequences/vector/vector.capacity/shrink_to_fit_exceptions.pass.cpp

  Log Message:
  -----------
  [libc++][test] Add exception tests for vector capacity operations (#118141)

As a follow-up to #117662, this PR provides a comprehensive set of
exception tests for the following capacity-related functions in
`std::vector`. Specifically, it includes tests for the following
functions:
- `reserve(size_type)`
- `resize(size_type)` and `resize(size_type, const_reference)`
- `shrink_to_fit()`

Previously, the exception safety tests for these functions were either
missing or inadequate. We need a thorough coverage of exception tests to
validate that these operations provide strong exception guarantees under
various exceptional scenarios.


  Commit: e44f03dd4ea84d3c12c916fdf02d63503c2872e2
      https://github.com/llvm/llvm-project/commit/e44f03dd4ea84d3c12c916fdf02d63503c2872e2
  Author: Michael Maitland <michaeltmaitland at gmail.com>
  Date:   2025-01-13 (Mon, 13 Jan 2025)

  Changed paths:
    M llvm/lib/Target/RISCV/RISCVVLOptimizer.cpp
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-fp.ll
    M llvm/test/CodeGen/RISCV/rvv/fmaximum-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/fminimum-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/setcc-fp-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/vfadd-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/vfdiv-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/vfmax-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/vfmin-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/vfptosi-vp-mask.ll
    M llvm/test/CodeGen/RISCV/rvv/vfptosi-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/vfptoui-vp-mask.ll
    M llvm/test/CodeGen/RISCV/rvv/vfptoui-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/vfsqrt-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/vfsub-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/vl-opt.mir

  Log Message:
  -----------
  [RISCV][VLOPT] Add floating point widening and narrowing bf16 convert support (#122353)

We already have getOperandInfo tests that cover this instruction.


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

  Changed paths:
    M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
    M llvm/test/CodeGen/AArch64/arm64-neon-3vdiff.ll
    M llvm/test/CodeGen/AArch64/shuffle-select.ll

  Log Message:
  -----------
  [AArch64] Generate BSP instead of TBL for select shuffles. (#121474)

In using BIF/BIT/BSL the constant mask has a larger chance of being
regular, being able to be materialized with a movi. On some cpus the
BIF/BIT/BSL is slightly quicker too.


  Commit: 137974002d0f395e9e6e7cb54403c2ed760433a6
      https://github.com/llvm/llvm-project/commit/137974002d0f395e9e6e7cb54403c2ed760433a6
  Author: Valery Chernov <vchernov at nvidia.com>
  Date:   2025-01-13 (Mon, 13 Jan 2025)

  Changed paths:
    M llvm/lib/Target/NVPTX/NVPTXISelLowering.cpp
    A llvm/test/CodeGen/NVPTX/i128-array.ll

  Log Message:
  -----------
  [NVPTX] Fix segfault with i128 types in arrays (#120562)

- Process i128 array with custom ComputePTXValueVTs. The i128 elements
should be handled and split into i64 types in the recursion.
- Add corresponding tests


  Commit: 98e2328451193885e532ae930491f59ac742e938
      https://github.com/llvm/llvm-project/commit/98e2328451193885e532ae930491f59ac742e938
  Author: Alexey Bataev <a.bataev at outlook.com>
  Date:   2025-01-13 (Mon, 13 Jan 2025)

  Changed paths:
    A llvm/test/Transforms/SLPVectorizer/X86/gather-loads-non-power-of-2.ll

  Log Message:
  -----------
  [SLP][NFC]Add a test with non-power-of-2 gathered consecutive loads, NFC


  Commit: ec3525f7844878767b70b78753affbe44acfa9ed
      https://github.com/llvm/llvm-project/commit/ec3525f7844878767b70b78753affbe44acfa9ed
  Author: Kevin McAfee <kmcafee at nvidia.com>
  Date:   2025-01-13 (Mon, 13 Jan 2025)

  Changed paths:
    M llvm/lib/Target/NVPTX/NVPTXISelDAGToDAG.cpp
    A llvm/test/CodeGen/NVPTX/param-add.ll

  Log Message:
  -----------
  [NVPTX] Attempt to load params using symbol addition node directly (#119935)

During instruction selection on load instructions, transform loads of
[register+offset] into [symbol+offset] if the register value is the
result of an ADD instruction(s) of a symbol and constant(s). This
enables the removal of any ADD(s) of the symbol that are not combined
with the load to create a ld.param. This is normally not an issue when
DAG combines are enabled as any extra ADDs would be folded. However,
when DAG combines are disabled, there may be cases where an ADD of a
symbol is consumed by multiple other nodes and is retained in generated
code as a PTX `add` instruction that uses the symbol as an operand -
this is illegal PTX.


  Commit: 0c1c49f0ff8003aee22c3f26fca03c2f5385f355
      https://github.com/llvm/llvm-project/commit/0c1c49f0ff8003aee22c3f26fca03c2f5385f355
  Author: Fabian Mora <fmora.dev at gmail.com>
  Date:   2025-01-13 (Mon, 13 Jan 2025)

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

  Log Message:
  -----------
  [mlir][AMDGPU] Fix raw buffer ptr ops lowering (#122293)

This patch fixes several bugs in the lowering of AMDGPU raw buffer
operations. These bugs include:
- Incorrectly handling the offset of the memref, causing errors when
using subviews.
- Using the MaximumOp (float specific op) to calculate the number of
records.
 - The number of records in the static shape case.
 - The lowering when index bitwidth=i64.

Furthermore this patch also switches to use MLIR's data layout to get
the type size.

---------

Co-authored-by: Jakub Kuderski <kubakuderski at gmail.com>


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

  Changed paths:
    M libcxxabi/src/demangle/ItaniumDemangle.h
    M libcxxabi/test/test_demangle.pass.cpp
    M llvm/include/llvm/Demangle/ItaniumDemangle.h

  Log Message:
  -----------
  [libc++abi][ItaniumDemangle] Demangle DF16b as std::bfloat16_t (#120109)

This mangling is official in the Itanium C++ ABI specification and is
already supported by clang.


  Commit: 1907a29dedfb9625772a332bb6d6c31d89fb36d3
      https://github.com/llvm/llvm-project/commit/1907a29dedfb9625772a332bb6d6c31d89fb36d3
  Author: Tom Honermann <tom.honermann at intel.com>
  Date:   2025-01-13 (Mon, 13 Jan 2025)

  Changed paths:
    M clang/lib/Frontend/CompilerInvocation.cpp
    M clang/lib/Serialization/ASTReaderDecl.cpp

  Log Message:
  -----------
  [Clang][NFC] Indentation fixes and unneeded semicolon removal. (#122794)


  Commit: 7e191038957cf5e22da55ba577ce6e033236b05f
      https://github.com/llvm/llvm-project/commit/7e191038957cf5e22da55ba577ce6e033236b05f
  Author: Pedro Lobo <pedro.lobo at tecnico.ulisboa.pt>
  Date:   2025-01-13 (Mon, 13 Jan 2025)

  Changed paths:
    M llvm/lib/Transforms/Utils/ValueMapper.cpp
    M llvm/unittests/Transforms/Utils/ValueMapperTest.cpp

  Log Message:
  -----------
  [DebugInfo] Map VAM args to `poison` instead of `undef` [NFC] (#122756)

If an argument cannot be mapped in `Mapper::mapValue`, it can be mapped
to `poison` instead of `undef`.


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

  Changed paths:
    M llvm/lib/Target/ARM/ARMInstrFormats.td
    M llvm/lib/Target/ARM/ARMInstrInfo.td
    M llvm/lib/Target/ARM/ARMInstrNEON.td
    M llvm/lib/Target/ARM/ARMInstrThumb2.td
    M llvm/test/tools/llvm-mca/ARM/cortex-a57-memory-instructions.s
    M llvm/test/tools/llvm-mca/ARM/cortex-a57-thumb.s
    M llvm/test/tools/llvm-mca/ARM/m4-int.s
    M llvm/test/tools/llvm-mca/ARM/m55-int.s
    M llvm/test/tools/llvm-mca/ARM/m7-int.s
    M llvm/test/tools/llvm-mca/ARM/m85-int.s

  Log Message:
  -----------
  [ARM] Add mayStore to more store instructions

As in #121565 we need to mark all stores as mayStore, hasSideEffects is not
enough to prevent moving loads past the instructions. And marking the
instructions as mayStore is a sensible thing to do on its own.


  Commit: a39aaf35d3858a5542f532e399482c2bb0259dac
      https://github.com/llvm/llvm-project/commit/a39aaf35d3858a5542f532e399482c2bb0259dac
  Author: Min-Yih Hsu <min.hsu at sifive.com>
  Date:   2025-01-13 (Mon, 13 Jan 2025)

  Changed paths:
    M llvm/docs/CommandGuide/llvm-exegesis.rst
    A llvm/test/tools/llvm-exegesis/dry-run-measurement.test
    M llvm/test/tools/llvm-exegesis/lit.local.cfg
    M llvm/tools/llvm-exegesis/lib/BenchmarkResult.h
    M llvm/tools/llvm-exegesis/lib/BenchmarkRunner.cpp
    M llvm/tools/llvm-exegesis/lib/Target.cpp
    M llvm/tools/llvm-exegesis/llvm-exegesis.cpp

  Log Message:
  -----------
  Reland: "[Exegesis] Add the ability to dry-run the measurement phase (#121991)" (#122775)

This relands f8f8598fd886cddfd374fa43eb6d7d37d301b576

Follow up on #122371:
The problem here is a little subtle: when we dry-run the measurement
phase, we create a LLJIT instance without actually executing the
snippets. The key is, LLJIT has its own TargetMachine which uses triple
designated by LLVM_TARGET_ARCH (which is default to host). On a machine
that does not support Exegesis, the LLJIT would fail to create its
TargetMachine because llvm-exegesis don't even register the host's
target!

Putting this test into any of the target-specific folder won't help,
because it's about the host. And personally I don't really want to use
`exegesis-can-execute-<arch>` for generic tests like this -- it's too
strict as we don't actually need to execute the snippet.

My solution here is creating another test feature which is added only
when LLVM_TARGET_ARCH is supported by llvm-exegesis. This feature is
something in between `<arch>-registered-target` and
`exegesis-can-execute-<arch>`.


  Commit: 0f3aeca16fc1de8d172fd14c908ebbd0fe61eeb4
      https://github.com/llvm/llvm-project/commit/0f3aeca16fc1de8d172fd14c908ebbd0fe61eeb4
  Author: Brox Chen <guochen2 at amd.com>
  Date:   2025-01-13 (Mon, 13 Jan 2025)

  Changed paths:
    M llvm/lib/Target/AMDGPU/VOP2Instructions.td
    M llvm/test/CodeGen/AMDGPU/uaddsat.ll
    M llvm/test/CodeGen/AMDGPU/usubsat.ll

  Log Message:
  -----------
  [AMDGPU][True16][CodeGen] Update and/or/xor codegen pattern for i16 (#121835)

In true16 flow, remove and/or/xor 32bit patterns for i16


  Commit: 283dca56f8dddbf2f144730a01675c94b04f57cb
      https://github.com/llvm/llvm-project/commit/283dca56f8dddbf2f144730a01675c94b04f57cb
  Author: Daniel Paoliello <danpao at microsoft.com>
  Date:   2025-01-13 (Mon, 13 Jan 2025)

  Changed paths:
    M llvm/include/llvm/CodeGen/MIRYamlMapping.h
    M llvm/include/llvm/CodeGen/MachineFunction.h
    M llvm/include/llvm/CodeGen/SelectionDAG.h
    M llvm/include/llvm/MC/MCObjectFileInfo.h
    M llvm/include/llvm/MC/MCStreamer.h
    M llvm/include/llvm/MC/MCWinCOFFObjectWriter.h
    M llvm/include/llvm/MC/MCWinCOFFStreamer.h
    M llvm/lib/CodeGen/MIRParser/MIRParser.cpp
    M llvm/lib/CodeGen/MIRPrinter.cpp
    M llvm/lib/CodeGen/SelectionDAG/ScheduleDAGSDNodes.cpp
    M llvm/lib/MC/MCAsmStreamer.cpp
    M llvm/lib/MC/MCObjectFileInfo.cpp
    M llvm/lib/MC/MCParser/COFFAsmParser.cpp
    M llvm/lib/MC/MCStreamer.cpp
    M llvm/lib/MC/MCWinCOFFStreamer.cpp
    M llvm/lib/MC/WinCOFFObjectWriter.cpp
    M llvm/lib/Target/AArch64/AArch64AsmPrinter.cpp
    M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
    A llvm/test/CodeGen/AArch64/win-import-call-optimization-nocalls.ll
    A llvm/test/CodeGen/AArch64/win-import-call-optimization.ll
    A llvm/test/CodeGen/MIR/AArch64/called-globals.mir
    M llvm/test/CodeGen/MIR/X86/call-site-info-error1.mir
    M llvm/test/CodeGen/MIR/X86/call-site-info-error2.mir
    A llvm/test/MC/AArch64/win-import-call-optimization.s
    A llvm/test/MC/COFF/bad-parse.s

  Log Message:
  -----------
  Reapply "[aarch64][win] Add support for import call optimization (equivalent to MSVC /d2ImportCallOptimization) (#121516)" (#122777)

This reverts commit 2f7ade4b5e399962e18f5f9a0ab0b7335deece51.

Fix is available in #122762


  Commit: 19032bfe87fa0f4a3a7b3e68daafc93331b71e0d
      https://github.com/llvm/llvm-project/commit/19032bfe87fa0f4a3a7b3e68daafc93331b71e0d
  Author: Daniel Paoliello <danpao at microsoft.com>
  Date:   2025-01-13 (Mon, 13 Jan 2025)

  Changed paths:
    M llvm/include/llvm/CodeGen/MachineFunction.h
    M llvm/include/llvm/CodeGen/MachineInstr.h
    M llvm/include/llvm/CodeGen/SelectionDAG.h
    M llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
    M llvm/lib/CodeGen/BranchFolding.cpp
    M llvm/lib/CodeGen/IfConversion.cpp
    M llvm/lib/CodeGen/InlineSpiller.cpp
    M llvm/lib/CodeGen/LiveRangeEdit.cpp
    M llvm/lib/CodeGen/MIRPrinter.cpp
    M llvm/lib/CodeGen/MachineFunction.cpp
    M llvm/lib/CodeGen/MachineInstr.cpp
    M llvm/lib/CodeGen/MachineLICM.cpp
    M llvm/lib/CodeGen/MachineOutliner.cpp
    M llvm/lib/CodeGen/PeepholeOptimizer.cpp
    M llvm/lib/CodeGen/SelectionDAG/ScheduleDAGSDNodes.cpp
    M llvm/lib/CodeGen/TailDuplicator.cpp
    M llvm/lib/CodeGen/TargetInstrInfo.cpp
    M llvm/lib/CodeGen/UnreachableBlockElim.cpp
    M llvm/lib/CodeGen/XRayInstrumentation.cpp
    M llvm/lib/Target/AArch64/AArch64CleanupLocalDynamicTLSPass.cpp
    M llvm/lib/Target/AArch64/AArch64ExpandPseudoInsts.cpp
    M llvm/lib/Target/AArch64/AArch64SLSHardening.cpp
    M llvm/lib/Target/ARM/ARMExpandPseudoInsts.cpp
    M llvm/lib/Target/ARM/ARMSLSHardening.cpp
    M llvm/lib/Target/Mips/MipsDelaySlotFiller.cpp
    M llvm/lib/Target/X86/X86ExpandPseudo.cpp
    M llvm/lib/Target/X86/X86ISelLowering.cpp
    M llvm/lib/Target/X86/X86SpeculativeLoadHardening.cpp

  Log Message:
  -----------
  [aarch64][win] Update Called Globals info when updating Call Site info (#122762)

Fixes the "use after poison" issue introduced by #121516 (see
<https://github.com/llvm/llvm-project/pull/121516#issuecomment-2585912395>).

The root cause of this issue is that #121516 introduced "Called Global"
information for call instructions modeling how "Call Site" info is
stored in the machine function, HOWEVER it didn't copy the
copy/move/erase operations for call site information.

The fix is to rename and update the existing copy/move/erase functions
so they also take care of Called Global info.


  Commit: 61e2841d8b83319e90cd44cf77770d2e41080cc2
      https://github.com/llvm/llvm-project/commit/61e2841d8b83319e90cd44cf77770d2e41080cc2
  Author: Vladislav Dzhidzhoev <vdzhidzhoev at accesssoftek.com>
  Date:   2025-01-13 (Mon, 13 Jan 2025)

  Changed paths:
    M lldb/test/API/commands/expression/import-std-module/array/TestArrayFromStdModule.py
    M lldb/test/API/commands/expression/import-std-module/array/main.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-dbg-info-content/main.cpp
    M lldb/test/API/commands/expression/import-std-module/vector-of-vectors/TestVectorOfVectorsFromStdModule.py
    M lldb/test/API/commands/expression/import-std-module/vector-of-vectors/main.cpp

  Log Message:
  -----------
  [lldb][test] Fix some 'import-std-module' tests (#122358)

Some tests from 'import-std-module' used to fail on the builder
https://lab.llvm.org/staging/#/builders/195/builds/4470,
since libcxx is set up to be linked statically with test binaries
on it.

Thus, they were temporarily disabled in #112530. Here, this commit
is reverted.

Jitted expressions from the tests try to call __libcpp_verbose_abort
function that is not present in the process image, which causes
the failure.

Here, this symbol is explicitly referenced from the test source files.


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

  Changed paths:
    M llvm/include/llvm/Analysis/VectorUtils.h
    M llvm/lib/Analysis/VectorUtils.cpp
    M llvm/lib/CodeGen/SelectionDAG/LegalizeVectorTypes.cpp
    M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
    M llvm/lib/Target/X86/X86TargetTransformInfo.cpp
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-shuffle-exact-vlen.ll

  Log Message:
  -----------
  [RISCV][CG]Use processShuffleMasks for per-register shuffles

Patch adds usage of processShuffleMasks in in codegen
in lowerShuffleViaVRegSplitting. This function is already used for X86
shuffles estimations and in DAGTypeLegalizer::SplitVecRes_VECTOR_SHUFFLE
functions, unifies the code.

Reviewers: topperc, wangpc-pp, lukel97, preames

Reviewed By: preames

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


  Commit: ad56f6267f6b208c46074d9f58464f171418d619
      https://github.com/llvm/llvm-project/commit/ad56f6267f6b208c46074d9f58464f171418d619
  Author: Congcong Cai <congcongcai0907 at 163.com>
  Date:   2025-01-14 (Tue, 14 Jan 2025)

  Changed paths:
    M llvm/include/llvm/ADT/APFloat.h
    M llvm/lib/Support/APFloat.cpp

  Log Message:
  -----------
  [APFloat][NFC]extract `fltSemantics::isRepresentableBy` to header (#122636)

isRepresentableBy is useful to check float point type compatibility


  Commit: ab023199d595187d248abe67aa2fd8635be51fdb
      https://github.com/llvm/llvm-project/commit/ab023199d595187d248abe67aa2fd8635be51fdb
  Author: Congcong Cai <congcongcai0907 at 163.com>
  Date:   2025-01-14 (Tue, 14 Jan 2025)

  Changed paths:
    M clang-tools-extra/clang-tidy/bugprone/NarrowingConversionsCheck.cpp
    M clang-tools-extra/docs/ReleaseNotes.rst
    M clang-tools-extra/test/clang-tidy/checkers/bugprone/narrowing-conversions-narrowingfloatingpoint-option.cpp

  Log Message:
  -----------
  [clang-tidy] fix wrong float to float conversion check when floating point type is not standard type (#122637)

compare type kind is the wrong way to compare floating point type compatibility.
more generic compatibility check is needed.


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

  Changed paths:
    M lld/COFF/Driver.cpp
    M lld/COFF/Driver.h
    M lld/COFF/SymbolTable.cpp
    M lld/COFF/SymbolTable.h
    A lld/test/COFF/arm64x-incl.s

  Log Message:
  -----------
  [LLD][COFF] Use appropriate symbol table for -include argument on ARM64X (#122554)

Move `LinkerDriver::addUndefined` to` SymbolTable` to allow its use with
both symbol tables on ARM64X and rename it to `addGCRoot` to clarify its
distinct role compared to the existing `SymbolTable::addUndefined`.

Command-line `-include` arguments now apply to the EC symbol table, with
`mainSymtab` introduced in `linkerMain`. There will be more similar
cases. For `.drectve` sections, the corresponding symbol table is used
based on the context.


  Commit: a8d2aeec8732c8d158f5b194a5191c0805bcd961
      https://github.com/llvm/llvm-project/commit/a8d2aeec8732c8d158f5b194a5191c0805bcd961
  Author: ChiaHungDuan <chiahungduan at google.com>
  Date:   2025-01-13 (Mon, 13 Jan 2025)

  Changed paths:
    M compiler-rt/lib/scudo/standalone/primary64.h

  Log Message:
  -----------
  [scudo] Fix the format of getStats() (#121608)

This is a quick fix for b71c44b9be17dc6295eb733d685b38e797f3c846

"last released" was removed by accident in primary64.h and the update of
"NumReleasesAttempted" was missing.


  Commit: 386dec2be9ff979a9ca522debd9387d2d3c83e76
      https://github.com/llvm/llvm-project/commit/386dec2be9ff979a9ca522debd9387d2d3c83e76
  Author: jimingham <jingham at apple.com>
  Date:   2025-01-13 (Mon, 13 Jan 2025)

  Changed paths:
    M llvm/docs/ReleaseNotes.md

  Log Message:
  -----------
  Update ReleaseNotes.md

Mentioned native command definitions and support for breaking on inlined call-sites.


  Commit: cd264f09a4d2f25d75436abdeeb757c412c3a75c
      https://github.com/llvm/llvm-project/commit/cd264f09a4d2f25d75436abdeeb757c412c3a75c
  Author: Andreas Jonson <andjo403 at hotmail.com>
  Date:   2025-01-13 (Mon, 13 Jan 2025)

  Changed paths:
    M llvm/test/Transforms/InstSimplify/select.ll

  Log Message:
  -----------
  [InstSimplify] Test select bit test with trunc to i1 (NFC)


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

  Changed paths:
    M llvm/lib/CodeGen/SelectionDAG/LegalizeVectorOps.cpp
    M llvm/test/CodeGen/RISCV/rvv/ceil-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-ceil-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-floor-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-fmaximum-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-fminimum-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-round-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-roundeven-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-roundtozero-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vfadd-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vfdiv-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vfma-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vfmax-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vfmin-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vfmul-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vfsqrt-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vfsub-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/floor-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/fmaximum-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/fminimum-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/nearbyint-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/rint-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/round-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/roundeven-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/roundtozero-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/vfadd-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/vfdiv-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/vfma-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/vfmax-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/vfmin-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/vfmul-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/vfsqrt-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/vfsub-vp.ll

  Log Message:
  -----------
  [LegalizeVectorOps][RISCV] Use VP_FP_EXTEND/ROUND when promoting VP_FP* operations. (#122784)

This preserves the original VL leading to more reuse of VL for vsetvli.
The VLOptimizer can also clean up a lot of this, but I'm not sure if it
gets all of it.

There are some regressions in here from propagating the mask too, but
I'm not sure if that's a concern.


  Commit: 051612c0180e4e5a9ba750a994a91d2c1b05b00c
      https://github.com/llvm/llvm-project/commit/051612c0180e4e5a9ba750a994a91d2c1b05b00c
  Author: Krzysztof Drewniak <Krzysztof.Drewniak at amd.com>
  Date:   2025-01-13 (Mon, 13 Jan 2025)

  Changed paths:
    M mlir/lib/Dialect/MemRef/IR/ValueBoundsOpInterfaceImpl.cpp
    M mlir/lib/Dialect/Tensor/IR/ValueBoundsOpInterfaceImpl.cpp
    M mlir/test/Dialect/MemRef/value-bounds-op-interface-impl.mlir
    M mlir/test/Dialect/Tensor/value-bounds-op-interface-impl.mlir

  Log Message:
  -----------
  [mlir][ValueBounds] memref.dim and tensor.dim are always positive (#122804)

Add the constraint that the length of a memref or tensor dimension is
always non-negative (at least 0) even if we don't know which dimension
we're querying the length of.


  Commit: 7d8b4eb0ead277f41ff69525ed807f9f6e227f37
      https://github.com/llvm/llvm-project/commit/7d8b4eb0ead277f41ff69525ed807f9f6e227f37
  Author: Thurston Dang <thurston at google.com>
  Date:   2025-01-13 (Mon, 13 Jan 2025)

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

  Log Message:
  -----------
  [sanitizer][NFCI] Add Options parameter to LowerAllowCheckPass (#122765)

This is glue code to convert LowerAllowCheckPass from a FUNCTION_PASS to
FUNCTION_PASS_WITH_PARAMS. The parameters are currently unused.

Future work will plumb `-fsanitize-skip-hot-cutoff` (introduced in
https://github.com/llvm/llvm-project/pull/121619) to
LowerAllowCheckOptions.


  Commit: 1515caf7a59dc20cb932b724b2ef5c1d1a593427
      https://github.com/llvm/llvm-project/commit/1515caf7a59dc20cb932b724b2ef5c1d1a593427
  Author: Thurston Dang <thurston at google.com>
  Date:   2025-01-13 (Mon, 13 Jan 2025)

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

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

Reverts llvm/llvm-project#122765

Reason: buildbot breakage
(https://lab.llvm.org/buildbot/#/builders/46/builds/10393)

```
z:\b\llvm-clang-x86_64-sie-win\build\bin\clang.exe -cc1 -internal-isystem Z:\b\llvm-clang-x86_64-sie-win\build\lib\clang\20\include -nostdsysteminc -triple x86_64-pc-linux-gnu -emit-llvm -o - Z:\b\llvm-clang-x86_64-sie-win\llvm-project\clang\test\CodeGen\allow-ubsan-check-inline.c -fsanitize=signed-integer-overflow -mllvm -ubsan-guard-checks -O3 -mllvm -lower-allow-check-random-rate=1 -Rpass=lower-allow-check -Rpass-missed=lower-allow-check -fno-inline 2>&1 | z:\b\llvm-clang-x86_64-sie-win\build\bin\filecheck.exe Z:\b\llvm-clang-x86_64-sie-win\llvm-project\clang\test\CodeGen\allow-ubsan-check-inline.c --check-prefixes=NOINL --implicit-check-not="remark:"
# executed command: 'z:\b\llvm-clang-x86_64-sie-win\build\bin\clang.exe' -cc1 -internal-isystem 'Z:\b\llvm-clang-x86_64-sie-win\build\lib\clang\20\include' -nostdsysteminc -triple x86_64-pc-linux-gnu -emit-llvm -o - 'Z:\b\llvm-clang-x86_64-sie-win\llvm-project\clang\test\CodeGen\allow-ubsan-check-inline.c' -fsanitize=signed-integer-overflow -mllvm -ubsan-guard-checks -O3 -mllvm -lower-allow-check-random-rate=1 -Rpass=lower-allow-check -Rpass-missed=lower-allow-check -fno-inline
# note: command had no output on stdout or stderr
# error: command failed with exit status: 0xc0000409
# executed command: 'z:\b\llvm-clang-x86_64-sie-win\build\bin\filecheck.exe' 'Z:\b\llvm-clang-x86_64-sie-win\llvm-project\clang\test\CodeGen\allow-ubsan-check-inline.c' --check-prefixes=NOINL --implicit-check-not=remark:
# .---command stderr------------
# | FileCheck error: '<stdin>' is empty.
# | FileCheck command line:  z:\b\llvm-clang-x86_64-sie-win\build\bin\filecheck.exe Z:\b\llvm-clang-x86_64-sie-win\llvm-project\clang\test\CodeGen\allow-ubsan-check-inline.c --check-prefixes=NOINL --implicit-check-not=remark:
# `-----------------------------
# error: command failed with exit status: 2
```


  Commit: 2201164477982c2bd20fa2e925f567585c390805
      https://github.com/llvm/llvm-project/commit/2201164477982c2bd20fa2e925f567585c390805
  Author: Daniel Paoliello <danpao at microsoft.com>
  Date:   2025-01-13 (Mon, 13 Jan 2025)

  Changed paths:
    M llvm/include/llvm/Support/Win64EH.h
    A llvm/test/tools/llvm-objdump/COFF/win64-unwindv2.yaml
    M llvm/test/tools/llvm-readobj/COFF/unwind-x86_64-image.yaml
    M llvm/tools/llvm-objdump/COFFDump.cpp
    M llvm/tools/llvm-readobj/Win64EHDumper.cpp
    M llvm/tools/llvm-readobj/Win64EHDumper.h

  Log Message:
  -----------
  [llvm] Win x64 Unwind V2 2/n: Support dumping UOP_Epilog (#110338)

Adds support to objdump and readobj for reading the `UOP_Epilog` entries
of Windows x64 unwind v2.

`UOP_Epilog` has a weird format:

The first `UOP_Epilog` in the unwind data is the "header":
* The least-significant bit of `OpInfo` is the "At End" flag, which
signifies that there is an epilog at the very end of the associated
function.
* `CodeOffset` is the length each epilog described by the current unwind
information (all epilogs have the same length).

Any subsequent `UOP_Epilog` represents another epilog for the current
function, where `OpInfo` and `CodeOffset` are combined to a 12-bit value
which is the offset of the beginning of the epilog from the end of the
current function. If the offset is 0, then this entry is actually
padding and can be ignored.


  Commit: 1908c41259dbd43567bb8fd32ee69862411305ef
      https://github.com/llvm/llvm-project/commit/1908c41259dbd43567bb8fd32ee69862411305ef
  Author: GeorgeHuyubo <113479859+GeorgeHuyubo at users.noreply.github.com>
  Date:   2025-01-13 (Mon, 13 Jan 2025)

  Changed paths:
    M lldb/source/Plugins/SymbolLocator/Debuginfod/SymbolLocatorDebuginfod.cpp
    M llvm/include/llvm/Debuginfod/Debuginfod.h
    M llvm/lib/Debuginfod/Debuginfod.cpp
    M llvm/unittests/Debuginfod/DebuginfodTests.cpp

  Log Message:
  -----------
  Revert "[lldb] Switch debuginfod cache to use lldb index cache settings" (#122816)

This reverts commit 7b808e73aa0193c8a42eae8f2420a803f424bee1.

Previous commit which change default debuginfod cache path and pruning
policy settings is problematic. It broke multiple tests across lldb and
llvm. Reverting for now.

Co-authored-by: George Hu <georgehuyubo at gmail.com>


  Commit: 5ea1c873647c02c80556594b9738de6768d98bf1
      https://github.com/llvm/llvm-project/commit/5ea1c873647c02c80556594b9738de6768d98bf1
  Author: wanglei <wanglei at loongson.cn>
  Date:   2025-01-14 (Tue, 14 Jan 2025)

  Changed paths:
    M lldb/packages/Python/lldbsuite/test/lldbtest.py
    M lldb/packages/Python/lldbsuite/test/make/Makefile.rules
    M lldb/source/Plugins/Process/Linux/NativeRegisterContextLinux_loongarch64.cpp
    M lldb/source/Plugins/Process/Linux/NativeRegisterContextLinux_loongarch64.h
    M lldb/source/Plugins/Process/Utility/RegisterContextPOSIX_loongarch64.cpp
    M lldb/source/Plugins/Process/Utility/RegisterContextPOSIX_loongarch64.h
    M lldb/source/Plugins/Process/Utility/RegisterInfoPOSIX_loongarch64.cpp
    M lldb/source/Plugins/Process/Utility/RegisterInfoPOSIX_loongarch64.h
    M lldb/source/Plugins/Process/Utility/RegisterInfos_loongarch64.h
    M lldb/source/Plugins/Process/Utility/lldb-loongarch-register-enums.h
    M lldb/source/Utility/LoongArch_DWARF_Registers.h
    A lldb/test/API/linux/loongarch64/simd_registers/Makefile
    A lldb/test/API/linux/loongarch64/simd_registers/TestLoongArch64LinuxSIMDRegisters.py
    A lldb/test/API/linux/loongarch64/simd_registers/main.c

  Log Message:
  -----------
  [LLDB][LoongArch] Add LSX and LASX register definitions and operations

With this patch, vector registers can be read and written when debugging a live process.

Note: We currently assume that all LoongArch64 processors include the
LSX and LASX extensions.

To add test cases, the following modifications were also made:
lldb/packages/Python/lldbsuite/test/lldbtest.py
lldb/packages/Python/lldbsuite/test/make/Makefile.rules

Reviewed By: DavidSpickett, SixWeining

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


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

  Changed paths:
    M flang/lib/Optimizer/Transforms/CUFOpConversion.cpp
    M flang/test/Fir/CUDA/cuda-launch.fir

  Log Message:
  -----------
  [flang][cuda] Pass the device address for global descriptor (#122802)


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

  Changed paths:
    M flang/lib/Semantics/resolve-names.cpp
    A flang/module/__cuda_device.f90
    M flang/module/cudadevice.f90
    M flang/tools/f18/CMakeLists.txt

  Log Message:
  -----------
  [flang][cuda] Move interface to __cuda_device (#122771)


  Commit: 3a9977efaa24089c1cbd987d8fafa9831cbb780d
      https://github.com/llvm/llvm-project/commit/3a9977efaa24089c1cbd987d8fafa9831cbb780d
  Author: Longsheng Mou <longshengmou at gmail.com>
  Date:   2025-01-14 (Tue, 14 Jan 2025)

  Changed paths:
    M mlir/lib/Dialect/Linalg/TransformOps/LinalgTransformOps.cpp

  Log Message:
  -----------
  [mlir][linalg] Fix no-null pointer check (#122727)

This PR fixes
[Bug19](https://pvs-studio.com/en/blog/posts/cpp/1188/#ID6222F3BAF3)
mentioned in https://pvs-studio.com/en/blog/posts/cpp/1188/.


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

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

  Log Message:
  -----------
  [RISCV] Remove loads from fixed-vectors-extract.ll. NFC (#122796)

These test cases weren't trying to test load+extract. I believe they
only used loads because fixed vector arguments weren't supported when
they were written or they weren't copied from the structure of other
tests that pre-date fixed vector argument support.

Reduces diff from #122671.


  Commit: 58708151ecaab8786c58b20eefc548dbdb23c8cc
      https://github.com/llvm/llvm-project/commit/58708151ecaab8786c58b20eefc548dbdb23c8cc
  Author: Hongren Zheng <i at zenithal.me>
  Date:   2025-01-14 (Tue, 14 Jan 2025)

  Changed paths:
    A mlir/docs/DefiningDialects/Assembly.md

  Log Message:
  -----------
  [mlir][docs] Guide on generating alias for type/attribute (#121698)

This is part of
https://discourse.llvm.org/t/rfc-introduce-opasm-type-attr-interface-for-pretty-print-in-asmprinter/83792.

Verbose printing of commonly used type/attribute that is long could
severely reduce the readablity of the resulting assembly, and it has
been asked several times in the LLVM discourse how to generate alias.

Cc @ftynse

### Discussion

* I am not sure where to put the markdown, so I put it in `mlir/docs/`.
* Documentation on `OpAsmOpInterface` (controlling
`AsmResultName`/`BlockArgName`/etc) could also be added in this
markdown, so I used the title `Customizing AsmPrinter Behavior` and let
further PR to update the content.


  Commit: 7c51c310ad9a50e721e5f17f2f27f066a0d77b80
      https://github.com/llvm/llvm-project/commit/7c51c310ad9a50e721e5f17f2f27f066a0d77b80
  Author: vporpo <vporpodas at google.com>
  Date:   2025-01-13 (Mon, 13 Jan 2025)

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

  Log Message:
  -----------
  [SandboxVec][BottomUpVec] Clean up dead address instrs (#122536)

When we vectorize loads or stores we only keep the address of the first
lane. The rest may become dead. This patch adds the address operands of
vectorized loads or stores to the dead candidates set, such that they
get erased if dead.


  Commit: 64c2156d8802b0d7724f65ce854844670e4ec457
      https://github.com/llvm/llvm-project/commit/64c2156d8802b0d7724f65ce854844670e4ec457
  Author: Malavika Samak <malavika.samak at gmail.com>
  Date:   2025-01-14 (Tue, 14 Jan 2025)

  Changed paths:
    M clang/lib/Analysis/UnsafeBufferUsage.cpp
    M clang/test/SemaCXX/warn-unsafe-buffer-usage-array.cpp

  Log Message:
  -----------
  [Wunsafe-buffer-usage] Fix false positive when const sized array is indexed by const evaluatable expressions (#119340)

Do not warn when constant sized array is indexed by expressions that
evaluate to a const value. For instance, sizeof(T) expression value can
be evaluated at compile time and if an array is indexed by such an
expression, it's bounds can be validated.

(rdar://140320289)

Co-authored-by: MalavikaSamak <malavika2 at apple.com>


  Commit: 717230c959bcb01343ca9e43b053fb62e736b4ec
      https://github.com/llvm/llvm-project/commit/717230c959bcb01343ca9e43b053fb62e736b4ec
  Author: Lang Hames <lhames at gmail.com>
  Date:   2025-01-14 (Tue, 14 Jan 2025)

  Changed paths:
    M llvm/include/llvm/ExecutionEngine/JITLink/JITLink.h

  Log Message:
  -----------
  [JITLink] Fix empty comment on LinkGraph::intern method.


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

  Changed paths:
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-reduction-fp.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-reduction-int.ll

  Log Message:
  -----------
  [RISCV] Remove loads from single element fixed vector reduction tests. NFC (#122808)

These tests weren't interested in the loads. Removing them reduces the
diffs from #122671.


  Commit: 9f114afe092483983a82a73c82704f11bb28bf8c
      https://github.com/llvm/llvm-project/commit/9f114afe092483983a82a73c82704f11bb28bf8c
  Author: lialan <me at alanli.org>
  Date:   2025-01-13 (Mon, 13 Jan 2025)

  Changed paths:
    M mlir/lib/Conversion/GPUCommon/OpToFuncCallLowering.h
    M mlir/lib/Conversion/MathToROCDL/MathToROCDL.cpp
    M mlir/test/Conversion/MathToROCDL/math-to-rocdl.mlir

  Log Message:
  -----------
  [MLIR][ROCDL] Convert `math::fpowi` to ROCDL call (#122640)

* Have to relax static assert to allow reuse of existing template
patterns for conversion.


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

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

  Log Message:
  -----------
  [VPlan] Verify plan before optimizations. NFC (#122678)

I've been exploring verifying the VPlan before and after the EVL
transformation steps, and noticed that the VPlan comes out in an invalid
state between construction and optimisation.

In adjustRecipesForReductions, we leave behind some dead recipes which
are invalid:

1) When we replace a link with a reduction recipe, the old link ends up
becoming a use-before-def:

    WIDEN ir<%l7> = add ir<%sum.02>, ir<%indvars.iv>.1
    WIDEN ir<%l8> = add ir<%l7>.1, ir<%l3>
    WIDEN ir<%l9> = add ir<%l8>.1, ir<%l5>
    ...
    REDUCE ir<%l7>.1 = ir<%sum.02> + reduce.add (ir<%indvars.iv>.1)
    REDUCE ir<%l8>.1 = ir<%l7>.1 + reduce.add (ir<%l3>)
    REDUCE ir<%l9>.1 = ir<%l8>.1 + reduce.add (ir<%l5>)

2) When transforming an AnyOf reduction phi to a boolean, we leave
behind a select with mismatching operand types, which will trigger the
assertions in VTypeAnalysis after #122679

This adds an extra verification step and deletes the dead recipes
eagerly to keep the plan valid.


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

  Changed paths:
    M llvm/lib/Target/RISCV/RISCVGatherScatterLowering.cpp
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-strided-load-store.ll
    M llvm/test/CodeGen/RISCV/rvv/strided-load-store.ll

  Log Message:
  -----------
  [RISCV] Support vp.{gather,scatter} in RISCVGatherScatterLowering (#122232)

This adds support for lowering llvm.vp.{gather,scatter}s to
experimental.vp.strided.{load,store}.

This will help us handle strided accesses with EVL tail folding that are
emitted from the loop vectorizer, but note that it's still not enough.
We will also need to handle the vector step not being loop-invariant
(i.e. produced by @llvm.experimental.vector.length) in a future patch.


  Commit: 35f9d2ac49eb3344f528c5b0c3b75330ade93982
      https://github.com/llvm/llvm-project/commit/35f9d2ac49eb3344f528c5b0c3b75330ade93982
  Author: Kazu Hirata <kazu at google.com>
  Date:   2025-01-13 (Mon, 13 Jan 2025)

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

  Log Message:
  -----------
  [CodeGen] Migrate away from PointerUnion::dyn_cast (NFC) (#122778)

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 Prototype.P to be nonnull.


  Commit: 1ac52ec40acfcc039ab830404e7f7ac72dfe8480
      https://github.com/llvm/llvm-project/commit/1ac52ec40acfcc039ab830404e7f7ac72dfe8480
  Author: Mingming Liu <mingmingl at google.com>
  Date:   2025-01-13 (Mon, 13 Jan 2025)

  Changed paths:
    M clang/include/clang/Driver/Options.td

  Log Message:
  -----------
  [NFC]Update -fsplit-machine-functions now aarch64 function splitting is supported (#122860)

With https://reviews.llvm.org/D157157, mfs is supported on aarch64.


  Commit: 9b5857a68381652dbea2a0c9efa734b6c4cf38c9
      https://github.com/llvm/llvm-project/commit/9b5857a68381652dbea2a0c9efa734b6c4cf38c9
  Author: soumyaGhoshh <soumya_ghosh.mail at icloud.com>
  Date:   2025-01-14 (Tue, 14 Jan 2025)

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

  Log Message:
  -----------
  [X86] Fix parentheses for clarity in X86ISelLowering.cpp (#121954)

fixes #121908

This pull request resolves issue #121908 by adding proper parentheses in
X86ISelLowering.cpp to follow operator precedence rules. This change
ensures better code clarity and avoids ambiguity.


  Commit: 4eaff6c58ae2f130ac8d63cf2c87bbb483114876
      https://github.com/llvm/llvm-project/commit/4eaff6c58ae2f130ac8d63cf2c87bbb483114876
  Author: Lang Hames <lhames at gmail.com>
  Date:   2025-01-14 (Tue, 14 Jan 2025)

  Changed paths:
    M llvm/include/llvm/ExecutionEngine/JITLink/JITLink.h
    M llvm/include/llvm/ExecutionEngine/JITLink/JITLinkMemoryManager.h
    M llvm/lib/ExecutionEngine/JITLink/COFFLinkGraphBuilder.cpp
    M llvm/lib/ExecutionEngine/JITLink/ELFLinkGraphBuilder.h
    M llvm/lib/ExecutionEngine/JITLink/JITLink.cpp
    M llvm/lib/ExecutionEngine/JITLink/JITLinkMemoryManager.cpp
    M llvm/lib/ExecutionEngine/JITLink/MachOLinkGraphBuilder.cpp
    M llvm/lib/ExecutionEngine/Orc/COFFPlatform.cpp
    M llvm/lib/ExecutionEngine/Orc/DebugObjectManagerPlugin.cpp
    M llvm/lib/ExecutionEngine/Orc/ELFNixPlatform.cpp
    M llvm/lib/ExecutionEngine/Orc/EPCIndirectionUtils.cpp
    M llvm/lib/ExecutionEngine/Orc/ExecutionUtils.cpp
    M llvm/lib/ExecutionEngine/Orc/JITLinkRedirectableSymbolManager.cpp
    M llvm/lib/ExecutionEngine/Orc/JITLinkReentryTrampolines.cpp
    M llvm/lib/ExecutionEngine/Orc/MachOPlatform.cpp
    M llvm/lib/ExecutionEngine/Orc/SectCreate.cpp
    M llvm/unittests/ExecutionEngine/JITLink/AArch32ErrorTests.cpp
    M llvm/unittests/ExecutionEngine/JITLink/JITLinkTestUtils.cpp
    M llvm/unittests/ExecutionEngine/JITLink/LinkGraphTests.cpp
    M llvm/unittests/ExecutionEngine/JITLink/MachOLinkGraphTests.cpp
    M llvm/unittests/ExecutionEngine/JITLink/MemoryManagerErrorTests.cpp
    M llvm/unittests/ExecutionEngine/JITLink/StubsTests.cpp
    M llvm/unittests/ExecutionEngine/Orc/EPCGenericJITLinkMemoryManagerTest.cpp
    M llvm/unittests/ExecutionEngine/Orc/MapperJITLinkMemoryManagerTest.cpp
    M llvm/unittests/ExecutionEngine/Orc/ObjectLinkingLayerTest.cpp

  Log Message:
  -----------
  [JITLink] Use target triple for LinkGraph pointer size and endianness.

Removes LinkGraph's PointerSize and Endianness members and uses the triple to
find these values instead.

Also removes some redundant Triple copies.


  Commit: 87d7aebdd43102160d93d8e5859228d860ea072d
      https://github.com/llvm/llvm-project/commit/87d7aebdd43102160d93d8e5859228d860ea072d
  Author: Piotr Fusik <p.fusik at samsung.com>
  Date:   2025-01-14 (Tue, 14 Jan 2025)

  Changed paths:
    M llvm/test/CodeGen/RISCV/zbb-logic-neg-imm.ll

  Log Message:
  -----------
  [RISCV][test] Add more 64-bit tests in zbb-logic-neg-imm.ll


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

  Changed paths:
    M llvm/test/TableGen/AsmPredicateCombiningRISCV.td
    M llvm/utils/TableGen/CompressInstEmitter.cpp

  Log Message:
  -----------
  [RISCV] Don't convert virtual register Register to MCRegister in isCompressibleInst. (#122843)

Calling MCRegisterClass::contains with a Register does an implicit
conversion from Register to MCRegister. I think MCRegister is only
intended to be used for physical registers. We should protect this
implicit conversion by checking for physical registers first.

While I was here I removed some unnecessary parentheses from the output.


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

  Changed paths:
    M llvm/unittests/ExecutionEngine/JITLink/MachOLinkGraphTests.cpp

  Log Message:
  -----------
  [JITLink] Fix incorrect file name in unit test file comment.


  Commit: 99fc649c5f9a0592f4aaed7945a0ffa79a191c33
      https://github.com/llvm/llvm-project/commit/99fc649c5f9a0592f4aaed7945a0ffa79a191c33
  Author: Ben Shi <2283975856 at qq.com>
  Date:   2025-01-14 (Tue, 14 Jan 2025)

  Changed paths:
    M llvm/lib/Target/AVR/AVRInstrInfo.td

  Log Message:
  -----------
  [AVR][NFC] Improve format of target description files (#122845)


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

  Changed paths:
    M llvm/lib/Target/RISCV/RISCVISelDAGToDAG.cpp
    M llvm/test/CodeGen/RISCV/zbb-logic-neg-imm.ll

  Log Message:
  -----------
  [RISCV] Enable Zbb ANDN/ORN/XNOR for more 64-bit constants (#122698)

This extends PR #120221 to 64-bit constants that don't match
the 12-low-bits-set pattern.


  Commit: 1a935d7a17519e9b75d12c3caf9a54a3405a0af3
      https://github.com/llvm/llvm-project/commit/1a935d7a17519e9b75d12c3caf9a54a3405a0af3
  Author: Guy David <49722543+guy-david at users.noreply.github.com>
  Date:   2025-01-14 (Tue, 14 Jan 2025)

  Changed paths:
    M llvm/lib/Target/AArch64/AArch64FrameLowering.cpp
    M llvm/lib/Target/AMDGPU/SIFrameLowering.cpp
    M llvm/lib/Target/ARC/ARCFrameLowering.cpp
    M llvm/lib/Target/ARM/ARMFrameLowering.cpp
    M llvm/lib/Target/CSKY/CSKYFrameLowering.cpp
    M llvm/lib/Target/LoongArch/LoongArchFrameLowering.cpp
    M llvm/lib/Target/Mips/MipsSEFrameLowering.cpp
    M llvm/lib/Target/PowerPC/PPCFrameLowering.cpp
    M llvm/lib/Target/RISCV/RISCVFrameLowering.cpp
    M llvm/lib/Target/SystemZ/SystemZFrameLowering.cpp
    M llvm/lib/Target/XCore/XCoreFrameLowering.cpp
    M llvm/lib/Target/Xtensa/XtensaFrameLowering.cpp
    M llvm/test/CodeGen/PowerPC/alloca-crspill.ll
    M llvm/test/CodeGen/RISCV/rvv/addi-rvv-stack-object.mir

  Log Message:
  -----------
  [llvm] Mark scavenging spill-slots as *spilled* stack objects. (#122673)

This seems like an oversight when copying code from other backends.


  Commit: 95f7c2f88dc5b2fd851c3181b03300538151133e
      https://github.com/llvm/llvm-project/commit/95f7c2f88dc5b2fd851c3181b03300538151133e
  Author: Pavel Labath <pavel at labath.sk>
  Date:   2025-01-14 (Tue, 14 Jan 2025)

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

  Log Message:
  -----------
  [lldb] Reduce duplication in two of DWARFDIE context functions (#122712)

This doesn't make much of a difference now, but it makes it easier to
add -gsimple-template-names support to these functions (the idea is to
add an argument to say whether you want the name as spelled in the debug
info, or the one embellished with template arguments -- we have use
cases for both).


  Commit: 53c7fe50d869386459226aeac5ec72ee918737c9
      https://github.com/llvm/llvm-project/commit/53c7fe50d869386459226aeac5ec72ee918737c9
  Author: lonely eagle <2020382038 at qq.com>
  Date:   2025-01-14 (Tue, 14 Jan 2025)

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

  Log Message:
  -----------
  [mlir][nvgpu]add dim check test to nvgpu.mma op. (#122864)

add shape checks of matrixA, matrixB, and matrixC to the nvgpu.mma's verify.


  Commit: e4e85e04c33bbb9ab298ab18d56e2d6de89f80c2
      https://github.com/llvm/llvm-project/commit/e4e85e04c33bbb9ab298ab18d56e2d6de89f80c2
  Author: Jonathan Thackray <jonathan.thackray at arm.com>
  Date:   2025-01-14 (Tue, 14 Jan 2025)

  Changed paths:
    M clang/docs/ReleaseNotes.rst

  Log Message:
  -----------
  [NFC][AArch64] Add relnote saying SVE2.1 and SME2.1 now fully implemented by ACLE (#122705)


  Commit: 19c516c8d5716c3ab7ceb5c01705c9dc9a7e6c0a
      https://github.com/llvm/llvm-project/commit/19c516c8d5716c3ab7ceb5c01705c9dc9a7e6c0a
  Author: Jonathan Thackray <jonathan.thackray at arm.com>
  Date:   2025-01-14 (Tue, 14 Jan 2025)

  Changed paths:
    M llvm/lib/Target/AArch64/AArch64SystemOperands.td
    M llvm/test/MC/AArch64/armv9.1a-rme.s
    M llvm/test/MC/Disassembler/AArch64/armv9a-rme.txt

  Log Message:
  -----------
  [AArch64] Add DC CIGDPAPA and DC CIPAPA instructions (#122718)

Add `DC CIGDPAPA` and `DC CIPAPA` instructions, for the RME extension,
which was added as part of Armv9.1-A, but these instructions were
missed.


  Commit: 42595bdaefb6b066896c20b69ab66ff2a7fe8477
      https://github.com/llvm/llvm-project/commit/42595bdaefb6b066896c20b69ab66ff2a7fe8477
  Author: Lang Hames <lhames at gmail.com>
  Date:   2025-01-14 (Tue, 14 Jan 2025)

  Changed paths:
    M llvm/include/llvm/ExecutionEngine/JITLink/aarch64.h
    M llvm/lib/ExecutionEngine/JITLink/ELF_aarch64.cpp
    M llvm/lib/ExecutionEngine/JITLink/MachO_arm64.cpp
    M llvm/lib/ExecutionEngine/JITLink/aarch64.cpp
    A llvm/unittests/ExecutionEngine/JITLink/AArch64Tests.cpp
    M llvm/unittests/ExecutionEngine/JITLink/CMakeLists.txt

  Log Message:
  -----------
  [JITLink] Teach aarch64 GOT & PLT table managers to discover existing entries.

aarch64::GOTTableManager and aarch64::PLTTableManager will now look for
existing GOT and PLT sections and re-use existing entries if they're present.

This will be used for an upcoming MachO patch to enable compact unwind support.


  Commit: 40fa7f5e8b315159d45aa280c771af5998bdc75e
      https://github.com/llvm/llvm-project/commit/40fa7f5e8b315159d45aa280c771af5998bdc75e
  Author: Piotr Sobczak <piotr.sobczak at amd.com>
  Date:   2025-01-14 (Tue, 14 Jan 2025)

  Changed paths:
    M llvm/lib/Target/AMDGPU/SIWholeQuadMode.cpp
    M llvm/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.wqm.demote.ll
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.kill.ll
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.wqm.demote.ll
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.wqm.vote.ll
    M llvm/test/CodeGen/AMDGPU/si-annotate-cf-kill.ll
    M llvm/test/CodeGen/AMDGPU/skip-if-dead.ll
    M llvm/test/CodeGen/AMDGPU/wave32.ll
    M llvm/test/CodeGen/AMDGPU/wqm.ll

  Log Message:
  -----------
  [AMDGPU] Fix computed kill mask (#122736)

Replace S_XOR with S_ANDN2 when computing the kill mask in demote/kill
lowering. This has the effect of AND'ing demote/kill condition with exec
which is needed for proper live mask update.

The S_XOR is inadequate because it may return true for lane with exec=0.

This patch fixes an image corruption in game.

I think the issue went unnoticed because demote/kill condition is often
naturally dependent on exec, so AND'ing with exec is usually not
required.


  Commit: a94f08174c0312bca0ff6405640eb8a3ff986084
      https://github.com/llvm/llvm-project/commit/a94f08174c0312bca0ff6405640eb8a3ff986084
  Author: Ramkumar Ramachandra <ramkumar.ramachandra at codasip.com>
  Date:   2025-01-14 (Tue, 14 Jan 2025)

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

  Log Message:
  -----------
  LAA: regen a test with UTC (NFC) (#122748)


  Commit: 7a0f75c7385e971b84f05da2e48c138dc40f2b3b
      https://github.com/llvm/llvm-project/commit/7a0f75c7385e971b84f05da2e48c138dc40f2b3b
  Author: Antonio Frighetto <me at antoniofrighetto.com>
  Date:   2025-01-14 (Tue, 14 Jan 2025)

  Changed paths:
    M llvm/include/llvm/Transforms/Scalar/GVN.h
    M llvm/lib/Passes/PassBuilder.cpp
    M llvm/lib/Passes/PassRegistry.def
    M llvm/lib/Transforms/Scalar/GVN.cpp
    M llvm/test/Other/new-pm-print-pipeline.ll

  Log Message:
  -----------
  Reapply "[GVN] MemorySSA for GVN: add optional `AllowMemorySSA`"

Original commit: eb63cd62a4a1907dbd58f12660efd8244e7d81e9

Previously reverted due to non-negligible compile-time impact in
stage1-ReleaseLTO-g scenario. The issue has been addressed by
always reusing previously computed MemorySSA results, and request
new ones only when `isMemorySSAEnabled` is set.

Co-authored-by: Momchil Velikov <momchil.velikov at arm.com>


  Commit: 6d2534546582721b8d7f10963c329de0a04f0bfe
      https://github.com/llvm/llvm-project/commit/6d2534546582721b8d7f10963c329de0a04f0bfe
  Author: Chandler Carruth <chandlerc at gmail.com>
  Date:   2025-01-14 (Tue, 14 Jan 2025)

  Changed paths:
    M clang/include/clang/Basic/Builtins.td
    M clang/include/clang/Basic/BuiltinsBase.td
    M clang/utils/TableGen/ClangBuiltinsEmitter.cpp

  Log Message:
  -----------
  Remove the `CustomEntry` escape hatch from builtin TableGen (#120861)

This was an especially challenging escape hatch because it directly
forced the use of a specific X-macro structure and prevented any other
form of TableGen emission.

The problematic feature that motivated this is a case where a builtin's
prototype can't be represented in the mini-language used by TableGen.
Instead of adding a complete custom entry for this, this PR just teaches
the prototype handling to do the same thing the X-macros did in this
case: emit an empty string and let the Clang builtin handling respond
appropriately.

This should produce identical results while preserving all the rest of
the structured representation in the builtin TableGen code.


  Commit: 4cc9bf149f07edec5ea910af8b3ead17ae8b29b7
      https://github.com/llvm/llvm-project/commit/4cc9bf149f07edec5ea910af8b3ead17ae8b29b7
  Author: higher-performance <higher.performance.github at gmail.com>
  Date:   2025-01-14 (Tue, 14 Jan 2025)

  Changed paths:
    M clang/lib/Sema/CheckExprLifetime.cpp
    M clang/lib/Sema/SemaDecl.cpp
    M clang/test/SemaCXX/attr-lifetimebound.cpp

  Log Message:
  -----------
  Propagate lifetimebound from formal parameters to those in the canonical declaration and use that for analysis (#107627)

This partially fixes #62072 by making sure that re-declarations of a
function do not have the effect of removing lifetimebound from the
canonical declaration.

It doesn't handle the implicit 'this' parameter, but that can be
addressed in a separate fix.


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

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

  Log Message:
  -----------
  [gn build] Port 42595bdaefb6


  Commit: 0209739597b42f3f617db89043a9c1efe7825c0d
      https://github.com/llvm/llvm-project/commit/0209739597b42f3f617db89043a9c1efe7825c0d
  Author: Hassnaa Hamdi <hassnaa.hamdi at arm.com>
  Date:   2025-01-14 (Tue, 14 Jan 2025)

  Changed paths:
    M llvm/lib/CodeGen/InterleavedAccessPass.cpp
    M llvm/test/Transforms/InterleavedAccess/AArch64/sve-interleave4.ll

  Log Message:
  -----------
  [InterleavedAccessPass]: Ensure that dead nodes get erased only once (#122643)

Use SmallSetVector instead of SmallVector to avoid duplication,
so that dead nodes get erased/deleted only once.


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

  Changed paths:
    M llvm/docs/ReleaseNotes.md

  Log Message:
  -----------
  [llvm][Docs] Add Minidump related LLDB release notes (#122759)

Add some release notes for the Minidump work I did over the last few
months.


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

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

  Log Message:
  -----------
  [clang][bytecode] Change the way we do init chains (#122871)

See the comment in Compiler<>::VisitCXXThisExpr.
We need to mark the InitList explicitly, so we later know what to refer
to when the init chain is active.


  Commit: 04733fac1009fdf7cd89fb24997b1f8866a518fc
      https://github.com/llvm/llvm-project/commit/04733fac1009fdf7cd89fb24997b1f8866a518fc
  Author: David Spickett <david.spickett at linaro.org>
  Date:   2025-01-14 (Tue, 14 Jan 2025)

  Changed paths:
    M llvm/docs/ReleaseNotes.md

  Log Message:
  -----------
  [llvm][Docs] Formatting changes to LLDB release notes


  Commit: cfd7e024c6a97b0083f2e25a9d03d7dd516a0452
      https://github.com/llvm/llvm-project/commit/cfd7e024c6a97b0083f2e25a9d03d7dd516a0452
  Author: David Spickett <david.spickett at linaro.org>
  Date:   2025-01-14 (Tue, 14 Jan 2025)

  Changed paths:
    M llvm/docs/ReleaseNotes.md

  Log Message:
  -----------
  [llvm][Docs] Add release note for lldb-server port mapping changes


  Commit: 05f9cdd58de0a11819c392f6b09beddb809bf395
      https://github.com/llvm/llvm-project/commit/05f9cdd58de0a11819c392f6b09beddb809bf395
  Author: Nathan Gauër <brioche at google.com>
  Date:   2025-01-14 (Tue, 14 Jan 2025)

  Changed paths:
    M .ci/metrics/metrics.py

  Log Message:
  -----------
  [CI] Remove Check Clang Format from watched workflows (#122740)

This was useful to test metrics before we had an actual workflow, now it
generates noise.

Signed-off-by: Nathan Gauër <brioche at google.com>


  Commit: 89063433792699c5913ba116cab09b534c549e56
      https://github.com/llvm/llvm-project/commit/89063433792699c5913ba116cab09b534c549e56
  Author: Sergio Afonso <safonsof at amd.com>
  Date:   2025-01-14 (Tue, 14 Jan 2025)

  Changed paths:
    M mlir/docs/Dialects/OpenMPDialect/_index.md
    M mlir/include/mlir/Dialect/OpenMP/OpenMPClauses.td
    M mlir/include/mlir/Dialect/OpenMP/OpenMPOpsInterfaces.td
    M mlir/lib/Dialect/OpenMP/IR/OpenMPDialect.cpp

  Log Message:
  -----------
  [MLIR][OpenMP] Add the host_eval clause (#116048)

This patch adds the definition of a new entry block argument-defining
`host_eval` clause. This is intended to implement the passthrough
approach discussed in [this
RFC](https://discourse.llvm.org/t/rfc-openmp-dialect-representation-of-num-teams-thread-limit-and-target-spmd/81106),
for supporting host-evaluated clauses that apply to operations nested
inside of `omp.target`.


  Commit: 9d7d8d2c87b3503681b362f6391d97227c62c2e8
      https://github.com/llvm/llvm-project/commit/9d7d8d2c87b3503681b362f6391d97227c62c2e8
  Author: Sergio Afonso <safonsof at amd.com>
  Date:   2025-01-14 (Tue, 14 Jan 2025)

  Changed paths:
    M mlir/docs/Dialects/OpenMPDialect/_index.md
    M mlir/include/mlir/Dialect/OpenMP/OpenMPDialect.h
    M mlir/include/mlir/Dialect/OpenMP/OpenMPOps.td
    M mlir/lib/Dialect/OpenMP/IR/OpenMPDialect.cpp
    M mlir/lib/Target/LLVMIR/Dialect/OpenMP/OpenMPToLLVMIRTranslation.cpp
    M mlir/test/Dialect/OpenMP/invalid.mlir
    M mlir/test/Dialect/OpenMP/ops.mlir
    M mlir/test/Target/LLVMIR/openmp-todo.mlir

  Log Message:
  -----------
  [MLIR][OpenMP] Add host_eval clause to omp.target (#116049)

This patch adds the `host_eval` clause to the `omp.target` operation.
Additionally, it updates its op verifier to make sure all uses of block
arguments defined by this clause fall within one of the few cases where
they are allowed.

MLIR to LLVM IR translation fails on translation of this clause with a
not-yet-implemented error.


  Commit: cc3aab580b680e8566e9f7a1ff9feff895ecfc49
      https://github.com/llvm/llvm-project/commit/cc3aab580b680e8566e9f7a1ff9feff895ecfc49
  Author: Acim Maravic <Acim.Maravic at amd.com>
  Date:   2025-01-14 (Tue, 14 Jan 2025)

  Changed paths:
    M llvm/lib/Target/AMDGPU/AMDGPULowerBufferFatPointers.cpp
    M llvm/lib/Target/AMDGPU/SIISelLowering.cpp
    A llvm/test/CodeGen/AMDGPU/lower-buffer-fat-pointers-lastuse-metadata.ll
    M llvm/test/CodeGen/AMDGPU/lower-buffer-fat-pointers-memops.ll
    A llvm/test/CodeGen/AMDGPU/lower-buffer-fat-pointers-nontemporal-metadata.ll

  Log Message:
  -----------
  [AMDGPU] Handle nontemporal and amdgpu.last.use metadata in amdgpu-lower-buffer-fat-pointers (#120139)


  Commit: 9988309d5537e2954376005b07e9750cb62574a3
      https://github.com/llvm/llvm-project/commit/9988309d5537e2954376005b07e9750cb62574a3
  Author: Dan Klishch <30951924+DanShaders at users.noreply.github.com>
  Date:   2025-01-14 (Tue, 14 Jan 2025)

  Changed paths:
    M clang/lib/Sema/SemaDecl.cpp
    M clang/lib/Sema/SemaDeclAttr.cpp
    M clang/test/Sema/attr-target-clones.c
    M clang/test/Sema/attr-target-mv.c
    M clang/test/Sema/attr-target.c

  Log Message:
  -----------
  [clang] Do not allow unorderable features in [[gnu::target{,_clones}]] (#98426)

This partially addresses #98244.


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

  Changed paths:
    M llvm/lib/Transforms/Vectorize/VectorCombine.cpp
    M llvm/test/Transforms/PhaseOrdering/X86/hadd.ll
    M llvm/test/Transforms/PhaseOrdering/X86/hsub.ll
    M llvm/test/Transforms/VectorCombine/AArch64/shuffletoidentity.ll
    M llvm/test/Transforms/VectorCombine/X86/permute-of-binops.ll

  Log Message:
  -----------
  [VectorCombine] foldPermuteOfBinops - fold "shuffle (binop (shuffle, other)), undef" --> "binop (shuffle), (shuffle)". (#122118)

foldPermuteOfBinops currently requires both binop operands to be oneuse shuffles to fold the shuffles across the binop, but there will be cases where its still profitable to fold across the binop with only one foldable shuffle.


  Commit: 27bc6bdaba1138d611e256e890023eefee677edc
      https://github.com/llvm/llvm-project/commit/27bc6bdaba1138d611e256e890023eefee677edc
  Author: Sergio Afonso <safonsof at amd.com>
  Date:   2025-01-14 (Tue, 14 Jan 2025)

  Changed paths:
    M clang/lib/CodeGen/CGOpenMPRuntime.cpp
    M clang/lib/CodeGen/CGOpenMPRuntime.h
    M clang/lib/CodeGen/CGOpenMPRuntimeGPU.cpp
    M llvm/include/llvm/Frontend/OpenMP/OMPIRBuilder.h
    M llvm/lib/Frontend/OpenMP/OMPIRBuilder.cpp
    M llvm/unittests/Frontend/OpenMPIRBuilderTest.cpp
    M mlir/lib/Target/LLVMIR/Dialect/OpenMP/OpenMPToLLVMIRTranslation.cpp
    M mlir/test/Target/LLVMIR/omptarget-region-device-llvm.mlir

  Log Message:
  -----------
  [OMPIRBuilder] Introduce struct to hold default kernel teams/threads (#116050)

This patch introduces the `OpenMPIRBuilder::TargetKernelDefaultAttrs`
structure used to simplify passing default and constant values for
number of teams and threads, and possibly other target kernel-related
information in the future.

This is used to forward values passed to `createTarget` to
`createTargetInit`, which previously used a default unrelated set of
values.


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

  Changed paths:
    M llvm/lib/Target/AArch64/AArch64InstrFormats.td
    M llvm/lib/Target/AArch64/AArch64InstrInfo.td
    M llvm/test/tools/llvm-mca/AArch64/Ampere/Ampere1B/mte-instructions.s
    M llvm/test/tools/llvm-mca/AArch64/Neoverse/N2-mte-instructions.s
    M llvm/test/tools/llvm-mca/AArch64/Neoverse/N3-mte-instructions.s

  Log Message:
  -----------
  [AArch64] Add mayStore to more store instructions

As in #121565 we need to mark all stores as mayStore, hasSideEffects is not
enough to prevent moving loads past the instructions. And marking the
instructions as mayStore is a sensible thing to do on its own.


  Commit: 0fe8469e08cfe5bbd4cd7ee42a8b931560ca041c
      https://github.com/llvm/llvm-project/commit/0fe8469e08cfe5bbd4cd7ee42a8b931560ca041c
  Author: Ramkumar Ramachandra <ramkumar.ramachandra at codasip.com>
  Date:   2025-01-14 (Tue, 14 Jan 2025)

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

  Log Message:
  -----------
  SLPVectorizer: strip bad FIXME (NFC) (#122888)

Follow up on 4a0d53a (PatternMatch: migrate to CmpPredicate) to get rid
of the FIXME it introduced in SLPVectorizer: the FIXME is bad, and we'd
get no testable impact by using CmpPredicate::getMatching here.


  Commit: b87fdd9ce612d53b0e0b73d7c062b39a042e8629
      https://github.com/llvm/llvm-project/commit/b87fdd9ce612d53b0e0b73d7c062b39a042e8629
  Author: Martin Storsjö <martin at martin.st>
  Date:   2025-01-14 (Tue, 14 Jan 2025)

  Changed paths:
    M libcxx/src/CMakeLists.txt

  Log Message:
  -----------
  [libcxx] Reindent a section of a CMake file. NFC. (#122800)

This was missed in 43ba97e7079525a9686e15a6963508dfbd493f81 (#111821)
when reindenting after
917ada35cd937ad4104dff89c48398bd796ba6b7 (#80007).


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

  Changed paths:
    M clang-tools-extra/clang-tidy/modernize/UseAutoCheck.cpp
    M clang/lib/Basic/SourceManager.cpp
    M flang/test/HLFIR/associate-codegen.fir
    M libc/test/src/unistd/getopt_test.cpp
    M lldb/source/Commands/CommandObjectMemory.cpp
    M lldb/source/Target/StructuredDataPlugin.cpp
    M lldb/unittests/Target/RegisterFlagsTest.cpp
    M llvm/include/llvm/IR/DebugInfoMetadata.h
    M llvm/lib/Target/X86/X86LowerAMXType.cpp
    M llvm/test/CodeGen/AArch64/eon.ll
    M llvm/test/DebugInfo/X86/multiple-at-const-val.ll
    M llvm/test/Transforms/EarlyCSE/guards.ll
    M llvm/test/Transforms/InstCombine/matrix-multiplication-negation.ll
    M llvm/test/Transforms/LoopVectorize/RISCV/blend-any-of-reduction-cost.ll
    M mlir/test/Dialect/Bufferization/Transforms/one-shot-bufferize-empty-tensor-elimination.mlir
    M mlir/test/Transforms/mem2reg.mlir
    M mlir/test/Transforms/sroa.mlir

  Log Message:
  -----------
  [llvm-project] Fix typos mutli and mutliple. NFC. (#122880)


  Commit: e409204a89c7fb1d1c040c18fac2fa8db9dfe893
      https://github.com/llvm/llvm-project/commit/e409204a89c7fb1d1c040c18fac2fa8db9dfe893
  Author: Ramkumar Ramachandra <ramkumar.ramachandra at codasip.com>
  Date:   2025-01-14 (Tue, 14 Jan 2025)

  Changed paths:
    M llvm/lib/Transforms/Vectorize/VectorCombine.cpp
    M llvm/test/Transforms/VectorCombine/X86/extract-cmp-binop.ll

  Log Message:
  -----------
  VectorCombine: teach foldExtractedCmps about samesign (#122883)

Follow up on 4a0d53a (PatternMatch: migrate to CmpPredicate) to get rid
of one of the FIXMEs it introduced by replacing a predicate comparison
with CmpPredicate::getMatching.


  Commit: aae259208a2dae815112638eab52023a8526c338
      https://github.com/llvm/llvm-project/commit/aae259208a2dae815112638eab52023a8526c338
  Author: Ramkumar Ramachandra <ramkumar.ramachandra at codasip.com>
  Date:   2025-01-14 (Tue, 14 Jan 2025)

  Changed paths:
    M llvm/test/Transforms/LoopVersioning/incorrect-phi.ll

  Log Message:
  -----------
  LoopVersioning: improve a test, regen with UTC (#122876)

Improve a test by replacing undef with poison, and regenerate it using
UpdateTestChecks.


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

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

  Log Message:
  -----------
  [VectorCombine] foldPermuteOfBinops - ensure potential identity mask isn't length changing.


  Commit: fabc443e9394e460d328984d75570d9f017fe709
      https://github.com/llvm/llvm-project/commit/fabc443e9394e460d328984d75570d9f017fe709
  Author: Sergio Afonso <safonsof at amd.com>
  Date:   2025-01-14 (Tue, 14 Jan 2025)

  Changed paths:
    M clang/lib/CodeGen/CGOpenMPRuntimeGPU.cpp
    M llvm/include/llvm/Frontend/OpenMP/OMPIRBuilder.h
    M llvm/lib/Frontend/OpenMP/OMPIRBuilder.cpp
    M llvm/unittests/Frontend/OpenMPIRBuilderTest.cpp
    M mlir/lib/Target/LLVMIR/Dialect/OpenMP/OpenMPToLLVMIRTranslation.cpp

  Log Message:
  -----------
  [OMPIRBuilder] Support runtime number of teams and threads, and SPMD mode (#116051)

This patch introduces a `TargetKernelRuntimeAttrs` structure to hold
host-evaluated `num_teams`, `thread_limit`, `num_threads` and trip count
values passed to the runtime kernel offloading call.

Additionally, kernel type information is used to influence target device
code generation and the `IsSPMD` flag is replaced by `ExecFlags`, which
provides more granularity.


  Commit: d0b641b7e2a9b4120c11fc60b111a657b0420176
      https://github.com/llvm/llvm-project/commit/d0b641b7e2a9b4120c11fc60b111a657b0420176
  Author: Sergio Afonso <safonsof at amd.com>
  Date:   2025-01-14 (Tue, 14 Jan 2025)

  Changed paths:
    M llvm/lib/Frontend/OpenMP/OMPIRBuilder.cpp
    M llvm/unittests/Frontend/OpenMPIRBuilderTest.cpp

  Log Message:
  -----------
  [OMPIRBuilder] Propagate attributes to outlined target regions (#117875)

This patch copies the target-cpu and target-features attributes of
functions containing target regions into the corresponding outlined
function holding the target region.

This mirrors what is currently being done for all other outlined
functions through the `CodeExtractor` in `OpenMPIRBuilder::finalize()`.


  Commit: be96bd74f8eae5637033e4e05fcbf2a693ce8334
      https://github.com/llvm/llvm-project/commit/be96bd74f8eae5637033e4e05fcbf2a693ce8334
  Author: Kirill Chibisov <contact at kchibisov.com>
  Date:   2025-01-14 (Tue, 14 Jan 2025)

  Changed paths:
    M mlir/lib/Target/Cpp/TranslateToCpp.cpp
    M mlir/test/Target/Cpp/declare_func.mlir
    M mlir/test/Target/Cpp/for.mlir
    M mlir/test/Target/Cpp/if.mlir
    A mlir/test/Target/Cpp/no_extra_semicolon.mlir
    M mlir/test/Target/Cpp/switch.mlir

  Log Message:
  -----------
  [mlir][emitc] Don't emit extra semicolon after bracket (#122464)

Extra semicolons were emitted for operations that should never have
them, since not every place was checking whether semicolon would be
actually needed.

Thus change the emitOperation to ignore trailingSemicolon field for such
operations.


  Commit: f879da799b4e112d79243dde6d299259d8359eeb
      https://github.com/llvm/llvm-project/commit/f879da799b4e112d79243dde6d299259d8359eeb
  Author: Andrea Faulds <andrea.faulds at amd.com>
  Date:   2025-01-14 (Tue, 14 Jan 2025)

  Changed paths:
    M mlir/tools/mlir-cpu-runner/CMakeLists.txt

  Log Message:
  -----------
  [mlir-cpu-runner] Pass --exclude-libs to linker when building runner (#122329)

This fixes a conflict between the version of LLVM linked against by the
runner and the unrelated version of LLVM that may be dynamically loaded
by a graphics driver. (Relevant to #73457: fixes loading certain Vulkan
drivers.)


  Commit: 30f9a4f75412850d603fde29b59d27dd9d31f380
      https://github.com/llvm/llvm-project/commit/30f9a4f75412850d603fde29b59d27dd9d31f380
  Author: CHANDRA GHALE <chandra.nitdgp at gmail.com>
  Date:   2025-01-14 (Tue, 14 Jan 2025)

  Changed paths:
    M clang/lib/CodeGen/CGStmt.cpp
    M clang/lib/CodeGen/CGStmtOpenMP.cpp
    M clang/lib/CodeGen/CodeGenFunction.h
    A clang/test/OpenMP/parallel_masked_taskloop_simd_codegen.c

  Log Message:
  -----------
  [OpenMP] codegen support for masked combined construct parallel masked taskloop simd. (#121746)

Added codegen support for combined masked constructs `Parallel masked
taskloop simd`.
Added implementation for `EmitOMPParallelMaskedTaskLoopSimdDirective`.

Co-authored-by: Chandra Ghale <ghale at pe31.hpc.amslabs.hpecorp.net>


  Commit: 0d71b3e4031e7b18a5947bdea076839e5a56d202
      https://github.com/llvm/llvm-project/commit/0d71b3e4031e7b18a5947bdea076839e5a56d202
  Author: Jay Foad <jay.foad at amd.com>
  Date:   2025-01-14 (Tue, 14 Jan 2025)

  Changed paths:
    M llvm/include/llvm/CodeGen/TargetRegisterInfo.h
    M llvm/lib/CodeGen/InitUndef.cpp
    M llvm/lib/CodeGen/SplitKit.cpp
    M llvm/lib/CodeGen/TargetRegisterInfo.cpp
    M llvm/lib/CodeGen/VirtRegMap.cpp
    M llvm/lib/Target/AMDGPU/SIFormMemoryClauses.cpp

  Log Message:
  -----------
  [CodeGen] Remove unused argument from getCoveringSubRegIndexes. NFC. (#122884)


  Commit: d2d4c3bd598453a1d871096466953ec25483034f
      https://github.com/llvm/llvm-project/commit/d2d4c3bd598453a1d871096466953ec25483034f
  Author: Sergio Afonso <safonsof at amd.com>
  Date:   2025-01-14 (Tue, 14 Jan 2025)

  Changed paths:
    M flang/test/Integration/OpenMP/target-filtering.f90
    M flang/test/Lower/OpenMP/function-filtering-2.f90
    M flang/test/Lower/OpenMP/function-filtering-3.f90
    M flang/test/Lower/OpenMP/function-filtering.f90
    M mlir/lib/Target/LLVMIR/Dialect/OpenMP/OpenMPToLLVMIRTranslation.cpp
    M mlir/test/Target/LLVMIR/omptarget-byref-bycopy-generation-device.mlir
    M mlir/test/Target/LLVMIR/omptarget-constant-alloca-raise.mlir
    M mlir/test/Target/LLVMIR/omptarget-constant-indexing-device-region.mlir
    M mlir/test/Target/LLVMIR/omptarget-debug.mlir
    M mlir/test/Target/LLVMIR/omptarget-declare-target-llvm-device.mlir
    M mlir/test/Target/LLVMIR/omptarget-parallel-llvm.mlir
    M mlir/test/Target/LLVMIR/omptarget-region-device-llvm.mlir
    M mlir/test/Target/LLVMIR/omptarget-target-inside-task.mlir
    M mlir/test/Target/LLVMIR/omptarget-threadprivate-device-lowering.mlir
    A mlir/test/Target/LLVMIR/openmp-target-launch-device.mlir
    A mlir/test/Target/LLVMIR/openmp-target-launch-host.mlir
    M mlir/test/Target/LLVMIR/openmp-target-use-device-nested.mlir
    M mlir/test/Target/LLVMIR/openmp-task-target-device.mlir
    M mlir/test/Target/LLVMIR/openmp-todo.mlir

  Log Message:
  -----------
  [MLIR][OpenMP] LLVM IR translation of host_eval (#116052)

This patch adds support for processing the `host_eval` clause of
`omp.target` to populate default and runtime kernel launch attributes.
Specifically, these related to the `num_teams`, `thread_limit` and
`num_threads` clauses attached to operations nested inside of
`omp.target`. As a result, the `thread_limit` clause of `omp.target` is
also supported.

The implementation of `initTargetDefaultAttrs()` is intended to reflect
clang's own processing of multiple constructs and clauses in order to
define a default number of teams and threads to be used as kernel
attributes and to populate global variables in the target device module.

One side effect of this change is that it is no longer possible to
translate to LLVM IR target device MLIR modules unless they have a
supported target triple. This is because the local `getGridValue()`
function in the `OpenMPIRBuilder` only works for certain architectures,
and it is called whenever the maximum number of threads has not been
explicitly defined. This limitation also matches clang.

Evaluating the collapsed loop trip count of SPMD and Generic-SPMD
kernels remains unsupported.


  Commit: 6c7a53b78fd695ee58ea42d21362f6fa861eb37e
      https://github.com/llvm/llvm-project/commit/6c7a53b78fd695ee58ea42d21362f6fa861eb37e
  Author: Utkarsh Saxena <usx at google.com>
  Date:   2025-01-14 (Tue, 14 Jan 2025)

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

  Log Message:
  -----------
  [llvm] Add lifetimebound to llvm::sys::path::filename, etc. (#122890)


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

  Changed paths:
    M llvm/lib/Target/X86/X86ISelLowering.cpp
    M llvm/test/CodeGen/X86/shuffle-vs-trunc-512.ll
    M llvm/test/CodeGen/X86/vector-interleaved-store-i64-stride-4.ll

  Log Message:
  -----------
  [X86] Fold VPERMV3(WIDEN(X),M,WIDEN(Y)) -> VPERMV(CONCAT(X,Y),M') iff the CONCAT is free (#122750)

Minor followup to #122485 - if the source operands were widened half-size subvectors, then attempt to concatenate the subvectors directly, and then adjust the shuffle mask so references to the second operand now refer to the upper half of the concat result.


  Commit: 1393f4e69f92f31e6a7ffd63676ef8fd62d1f882
      https://github.com/llvm/llvm-project/commit/1393f4e69f92f31e6a7ffd63676ef8fd62d1f882
  Author: Nikita Popov <npopov at redhat.com>
  Date:   2025-01-14 (Tue, 14 Jan 2025)

  Changed paths:
    M llvm/lib/Transforms/Scalar/MemCpyOptimizer.cpp

  Log Message:
  -----------
  [MemCpyOpt] Use doesNotCapture() helper (NFC)

No difference in semantics here as byval is already handled
separately. This simplifies migration to the captures attribute.


  Commit: 428c8767ae997b0f726c0b40160ea8172551babf
      https://github.com/llvm/llvm-project/commit/428c8767ae997b0f726c0b40160ea8172551babf
  Author: Alexander Richardson <alexrichardson at google.com>
  Date:   2025-01-14 (Tue, 14 Jan 2025)

  Changed paths:
    M libcxx/CMakeLists.txt
    M libcxxabi/CMakeLists.txt
    M libcxxabi/include/CMakeLists.txt
    M lldb/test/CMakeLists.txt
    M lldb/utils/lldb-dotest/CMakeLists.txt

  Log Message:
  -----------
  [libc++] Stop copying headers to the build directory (#115380)

This was needed before https://github.com/llvm/llvm-project/pull/115077
since the compiler-rt test build made assumptions about the build
layout of libc++ and libc++abi, but now they link against a local
installation of these libraries so we no longer need this workaround.


  Commit: d8d30a96031bfdad3e2c424e14a4247c14980cb5
      https://github.com/llvm/llvm-project/commit/d8d30a96031bfdad3e2c424e14a4247c14980cb5
  Author: Andrea Faulds <andrea.faulds at amd.com>
  Date:   2025-01-14 (Tue, 14 Jan 2025)

  Changed paths:
    M mlir/tools/mlir-cpu-runner/CMakeLists.txt

  Log Message:
  -----------
  Revert "[mlir-cpu-runner] Pass --exclude-libs to linker when building runner (#122329)"

This reverts commit f879da799b4e112d79243dde6d299259d8359eeb. The change
to not export certain symbols apparently broke the UBsan/Asan buildbot,
because the DSO for the sanitizer wants to link to them.


  Commit: 8fe11a26ae8f12622ddec83a7b80637080843a8b
      https://github.com/llvm/llvm-project/commit/8fe11a26ae8f12622ddec83a7b80637080843a8b
  Author: Sergio Afonso <safonsof at amd.com>
  Date:   2025-01-14 (Tue, 14 Jan 2025)

  Changed paths:
    M flang/include/flang/Common/OpenMP-utils.h
    M flang/lib/Common/OpenMP-utils.cpp
    M flang/lib/Lower/OpenMP/OpenMP.cpp
    A flang/test/Lower/OpenMP/host-eval.f90
    A flang/test/Lower/OpenMP/target-spmd.f90
    M mlir/include/mlir/Dialect/OpenMP/OpenMPClauseOperands.h

  Log Message:
  -----------
  [Flang][OpenMP] Lowering of host-evaluated clauses (#116219)

This patch adds support for lowering OpenMP clauses and expressions
attached to constructs nested inside of a target region that need to be
evaluated in the host device. This is done through the use of the
`OpenMP_HostEvalClause` `omp.target` set of operands and entry block
arguments.

When lowering clauses for a target construct, a more involved
`processHostEvalClauses()` function is called, which looks at the
current and potentially other nested constructs in order to find and
lower clauses that need to be processed outside of the `omp.target`
operation under construction. This populates an instance of a global
structure with the resulting MLIR values.

The resulting list of host-evaluated values is used to initialize the
`host_eval` operands when constructing the `omp.target` operation, and
then replaced with the corresponding block arguments after creating that
operation's region.

Afterwards, while lowering nested operations, those that might
potentially be evaluated on the host (i.e. `num_teams`, `thread_limit`,
`num_threads` and `collapse`) check first whether there is an active
global host-evaluated information structure and whether it holds values
referring to these clauses. If that is the case, the stored values
(`omp.target` entry block arguments at that stage) are used instead of
lowering these clauses again.


  Commit: 310c281b020b169e760ca75f878f5873ffbb2a9f
      https://github.com/llvm/llvm-project/commit/310c281b020b169e760ca75f878f5873ffbb2a9f
  Author: macurtis-amd <macurtis at amd.com>
  Date:   2025-01-14 (Tue, 14 Jan 2025)

  Changed paths:
    M clang/include/clang/Driver/Options.td
    M clang/lib/Driver/ToolChains/Flang.cpp
    M flang/include/flang/Frontend/CompilerInstance.h
    M flang/include/flang/Frontend/CompilerInvocation.h
    A flang/include/flang/Support/StringOstream.h
    A flang/include/flang/Support/Timing.h
    M flang/lib/CMakeLists.txt
    M flang/lib/Frontend/CMakeLists.txt
    M flang/lib/Frontend/CompilerInstance.cpp
    M flang/lib/Frontend/CompilerInvocation.cpp
    M flang/lib/Frontend/FrontendActions.cpp
    A flang/lib/Support/CMakeLists.txt
    A flang/lib/Support/Timing.cpp
    A flang/test/Driver/time-report.f90

  Log Message:
  -----------
  [flang][Driver] Preliminary support for -ftime-report (#122894)

The behavior is not entirely consistent with that of clang for the
moment since detailed timing information on the LLVM IR optimization and
code generation passes is not provided. The -ftime-report= option is
also not enabled since that is only relevant for information about the
LLVM IR passes. However, some code to handle that option has been
included, to make it easier to support the option when the issues
blocking it are resolved. A FortranSupport library has been created that
is intended to mirror the LLVM and MLIR support libraries.

Based on @tarunprabhu's PR
https://github.com/llvm/llvm-project/pull/107270 with minor changes
addressing latest review feedback. He's busy and we'd like to get this
support in ASAP.

Co-authored-by: Tarun Prabhu <tarun.prabhu at gmail.com>


  Commit: 8f6867c9c6247b394749729757a1ab9acbfa78e6
      https://github.com/llvm/llvm-project/commit/8f6867c9c6247b394749729757a1ab9acbfa78e6
  Author: Sergio Afonso <safonsof at amd.com>
  Date:   2025-01-14 (Tue, 14 Jan 2025)

  Changed paths:
    M flang/test/Integration/OpenMP/target-filtering.f90
    M flang/test/Lower/OpenMP/function-filtering-2.f90
    M flang/test/Lower/OpenMP/function-filtering-3.f90
    M flang/test/Lower/OpenMP/function-filtering.f90

  Log Message:
  -----------
  [Flang] Add triple requirement for failing tests, NFC (#122898)

Fix Fortran test failures caused by the introduction of the
amdgcn-amd-amdhsa target triple in #116052.


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

  Changed paths:
    M clang/lib/AST/ByteCode/EvalEmitter.cpp
    M clang/test/AST/ByteCode/arrays.cpp
    M clang/test/AST/ByteCode/cxx23.cpp

  Log Message:
  -----------
  [clang][bytecode] Mark global decls with diagnostics invalid (#122895)

Even if their evaluation succeeds, mark them as invalid. This fixes some
long standing differences to the ast walker interpeter.


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

  Changed paths:
    M llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
    M llvm/test/Transforms/LoopVectorize/RISCV/vectorize-force-tail-with-evl-reverse-load-store.ll

  Log Message:
  -----------
  [VPlan] Fix mutating whilst iterating over users in EVL transform (#122885)

This fixes a miscompilation extracted from 525.x264_r, where we were
failing to update the runtime VF of a VPReverseVectorPointerRecipe.

We were removing a use of VF whilst iterating over the users() iterator,
which messed up the iterator in-flight and caused us to miss some
recipes. This fixes it by copying the users into a SmallVector first.

Fixes #122681
Fixes #122682


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

  Changed paths:
    M llvm/lib/CodeGen/MachineVerifier.cpp
    A llvm/test/MachineVerifier/stack-protector-offset.mir

  Log Message:
  -----------
  MachineVerifier: Check stack protector is top-most in frame (#122635)

Mitigate against potential bugs that might place it elsewhere and render
the mechanism useless.


  Commit: 5ec7ecd2f2d213f1777af3ff3a2e7910d00ea774
      https://github.com/llvm/llvm-project/commit/5ec7ecd2f2d213f1777af3ff3a2e7910d00ea774
  Author: CarolineConcatto <caroline.concatto at arm.com>
  Date:   2025-01-14 (Tue, 14 Jan 2025)

  Changed paths:
    M clang/test/Driver/aarch64-implied-sme-features.c
    M clang/test/Driver/print-supported-extensions-aarch64.c
    M llvm/lib/Target/AArch64/AArch64.td
    M llvm/lib/Target/AArch64/AArch64Features.td
    M llvm/lib/Target/AArch64/AArch64InstrInfo.td
    M llvm/lib/Target/AArch64/AArch64SMEInstrInfo.td
    M llvm/lib/Target/AArch64/AsmParser/AArch64AsmParser.cpp
    M llvm/test/MC/AArch64/SME2p2/bfmop4as-non-widening-diagnostics.s
    M llvm/test/MC/AArch64/SME2p2/bfmop4as-non-widening.s
    M llvm/test/MC/AArch64/SME2p2/bfmop4as-widening-diagnostics.s
    M llvm/test/MC/AArch64/SME2p2/bfmop4as-widening.s
    M llvm/test/MC/AArch64/SME2p2/bftmopa-diagnostics.s
    M llvm/test/MC/AArch64/SME2p2/bftmopa.s
    M llvm/test/MC/AArch64/SME2p2/directive-arch-negative.s
    M llvm/test/MC/AArch64/SME2p2/directive-arch.s
    M llvm/test/MC/AArch64/SME2p2/directive-arch_extension-negative.s
    M llvm/test/MC/AArch64/SME2p2/directive-arch_extension.s
    M llvm/test/MC/AArch64/SME2p2/directive-cpu-negative.s
    M llvm/test/MC/AArch64/SME2p2/directive-cpu.s
    M llvm/test/MC/AArch64/SME2p2/fmop4a-fp8-fp16-widening-diagnostics.s
    M llvm/test/MC/AArch64/SME2p2/fmop4a-fp8-fp16-widening.s
    M llvm/test/MC/AArch64/SME2p2/fmop4a-fp8-fp32-widening-diagnostics.s
    M llvm/test/MC/AArch64/SME2p2/fmop4a-fp8-fp32-widening.s
    M llvm/test/MC/AArch64/SME2p2/fmop4as-fp16-fp32-widening-diagnostics.s
    M llvm/test/MC/AArch64/SME2p2/fmop4as-fp16-fp32-widening.s
    M llvm/test/MC/AArch64/SME2p2/fmop4as-fp16-non-widening-diagnostics.s
    M llvm/test/MC/AArch64/SME2p2/fmop4as-fp16-non-widening.s
    M llvm/test/MC/AArch64/SME2p2/fmop4as-fp32-non-widening-diagnostics.s
    M llvm/test/MC/AArch64/SME2p2/fmop4as-fp32-non-widening.s
    M llvm/test/MC/AArch64/SME2p2/fmop4as-fp64-non-widening-diagnostics.s
    M llvm/test/MC/AArch64/SME2p2/fmop4as-fp64-non-widening.s
    M llvm/test/MC/AArch64/SME2p2/ftmopa-diagnostics.s
    M llvm/test/MC/AArch64/SME2p2/ftmopa.s
    M llvm/test/MC/AArch64/SME2p2/smop4a-16to32.s
    M llvm/test/MC/AArch64/SME2p2/smop4a-64.s
    M llvm/test/MC/AArch64/SME2p2/smop4a-8to32.s
    M llvm/test/MC/AArch64/SME2p2/smop4a-diagnostics.s
    M llvm/test/MC/AArch64/SME2p2/smop4s-16to32.s
    M llvm/test/MC/AArch64/SME2p2/smop4s-64.s
    M llvm/test/MC/AArch64/SME2p2/smop4s-8to32.s
    M llvm/test/MC/AArch64/SME2p2/smop4s-diagnostics.s
    M llvm/test/MC/AArch64/SME2p2/stmopa-diagnostics.s
    M llvm/test/MC/AArch64/SME2p2/stmopa.s
    M llvm/test/MC/AArch64/SME2p2/sumop4a-32.s
    M llvm/test/MC/AArch64/SME2p2/sumop4a-64.s
    M llvm/test/MC/AArch64/SME2p2/sumop4a-diagnostics.s
    M llvm/test/MC/AArch64/SME2p2/sumop4s-32.s
    M llvm/test/MC/AArch64/SME2p2/sumop4s-64.s
    M llvm/test/MC/AArch64/SME2p2/sumop4s-diagnostics.s
    M llvm/test/MC/AArch64/SME2p2/sutmopa-diagnostics.s
    M llvm/test/MC/AArch64/SME2p2/sutmopa.s
    M llvm/test/MC/AArch64/SME2p2/umop4a-16to32.s
    M llvm/test/MC/AArch64/SME2p2/umop4a-64.s
    M llvm/test/MC/AArch64/SME2p2/umop4a-8to32.s
    M llvm/test/MC/AArch64/SME2p2/umop4a-diagnostics.s
    M llvm/test/MC/AArch64/SME2p2/umop4s-16to32.s
    M llvm/test/MC/AArch64/SME2p2/umop4s-64.s
    M llvm/test/MC/AArch64/SME2p2/umop4s-8to32.s
    M llvm/test/MC/AArch64/SME2p2/umop4s-diagnostics.s
    M llvm/test/MC/AArch64/SME2p2/usmop4a-32.s
    M llvm/test/MC/AArch64/SME2p2/usmop4a-64.s
    M llvm/test/MC/AArch64/SME2p2/usmop4a-diagnostics.s
    M llvm/test/MC/AArch64/SME2p2/usmop4s-32.s
    M llvm/test/MC/AArch64/SME2p2/usmop4s-64.s
    M llvm/test/MC/AArch64/SME2p2/usmop4s-diagnostics.s
    M llvm/test/MC/AArch64/SME2p2/ustmopa-diagnostics.s
    M llvm/test/MC/AArch64/SME2p2/ustmopa.s
    M llvm/test/MC/AArch64/SME2p2/utmopa-diagnostics.s
    M llvm/test/MC/AArch64/SME2p2/utmopa.s
    M llvm/unittests/TargetParser/TargetParserTest.cpp

  Log Message:
  -----------
  [LLVM][AArch64] Add new feature +sme-mop4 and +sme-tmop (#121935)

The 2024-12 ISA spec release[1] add these features:
FEAT_SME_MOP4(sme-mop4) to enable SME Quarter-tile outer product
instructions
and
FEAT_SME_TMOP(sme-tmop) to enable SME Structured sparsity outer product
instructions
to allow these instructions to be available outside Armv9.6/sme2p2

[1]
https://developer.arm.com/Architectures/A-Profile%20Architecture#Downloads


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

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

  Log Message:
  -----------
  [FunctionAttrs] Add test for initializes + byval (NFC)


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

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

  Log Message:
  -----------
  [FunctionAttrs] Use doesNotCapture()

To be conservative, explicitly exclude byval arguments, which
doesNotCapture() would otherwise allow. Even if byval has an
initializes attribute, it would only apply to the implicit
copy.


  Commit: a53fa78e7b14e57f0acd5a0981e4c63a1c217a11
      https://github.com/llvm/llvm-project/commit/a53fa78e7b14e57f0acd5a0981e4c63a1c217a11
  Author: Congcong Cai <congcongcai0907 at 163.com>
  Date:   2025-01-14 (Tue, 14 Jan 2025)

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

  Log Message:
  -----------
  [clang-tidy][doc] fix incorrectly performance-unnecessary-copy-initialization link in release note (#122910)


  Commit: 7900769985ee4994870f7dfb2a505b8c41b38740
      https://github.com/llvm/llvm-project/commit/7900769985ee4994870f7dfb2a505b8c41b38740
  Author: Pavel Labath <pavel at labath.sk>
  Date:   2025-01-14 (Tue, 14 Jan 2025)

  Changed paths:
    M llvm/docs/ReleaseNotes.md

  Log Message:
  -----------
  [llvm][Docs] Add a release note about the lldb DWARF indexing speedup (#122870)

The figure includes works that's already committed. In does not include
the WIP/RFC proposal in
https://discourse.llvm.org/t/rfc-speeding-up-dwarf-indexing-again/83979.


  Commit: 5e26ff35c14778a728cd3ee7e70d61529bf49661
      https://github.com/llvm/llvm-project/commit/5e26ff35c14778a728cd3ee7e70d61529bf49661
  Author: Brox Chen <guochen2 at amd.com>
  Date:   2025-01-14 (Tue, 14 Jan 2025)

  Changed paths:
    M llvm/lib/Target/AMDGPU/Disassembler/AMDGPUDisassembler.cpp
    M llvm/lib/Target/AMDGPU/Disassembler/AMDGPUDisassembler.h
    M llvm/lib/Target/AMDGPU/VOPCInstructions.td
    M llvm/lib/Target/AMDGPU/VOPInstructions.td
    M llvm/test/CodeGen/AMDGPU/fix-sgpr-copies-f16-true16.mir
    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_lt_f16 (#122499)

True16 format for v_cmp_lt_f16. Update VOPC t16 and fake16 pseudo.


  Commit: b1751faada35e3456b2a3f6b6c9559b5d74d559b
      https://github.com/llvm/llvm-project/commit/b1751faada35e3456b2a3f6b6c9559b5d74d559b
  Author: David Spickett <david.spickett at linaro.org>
  Date:   2025-01-14 (Tue, 14 Jan 2025)

  Changed paths:
    M lldb/include/lldb/Target/MemoryRegionInfo.h
    M lldb/packages/Python/lldbsuite/test/lldbtest.py
    M lldb/source/Commands/CommandObjectMemory.cpp
    M lldb/source/Plugins/Process/Utility/LinuxProcMaps.cpp
    M lldb/source/Plugins/Process/gdb-remote/GDBRemoteCommunicationClient.cpp
    M lldb/source/Plugins/Process/gdb-remote/GDBRemoteCommunicationServerLLGS.cpp
    M lldb/source/Target/MemoryRegionInfo.cpp
    A lldb/test/API/linux/aarch64/gcs/Makefile
    A lldb/test/API/linux/aarch64/gcs/TestAArch64LinuxGCS.py
    A lldb/test/API/linux/aarch64/gcs/main.c
    M lldb/unittests/Process/Utility/LinuxProcMapsTest.cpp
    M lldb/unittests/Process/Utility/MemoryTagManagerAArch64MTETest.cpp
    M lldb/unittests/Process/gdb-remote/GDBRemoteCommunicationClientTest.cpp
    M lldb/unittests/Process/minidump/MinidumpParserTest.cpp

  Log Message:
  -----------
  [lldb][Linux] Mark memory regions used for shadow stacks (#117861)

This is intended for use with Arm's Guarded Control Stack extension
(GCS). Which reuses some existing shadow stack support in Linux. It
should also work with the x86 equivalent.

A "ss" flag is added to the "VmFlags" line of shadow stack memory
regions in `/proc/<pid>/smaps`. To keep the naming generic I've called
it shadow stack instead of guarded control stack.

Also the wording is "shadow stack: yes" because the shadow stack region
is just where it's stored. It's enabled for the whole process or it
isn't. As opposed to memory tagging which can be enabled per region, so
"memory tagging: enabled" fits better for that.

I've added a test case that is also intended to be the start of a set of
tests for GCS. This should help me avoid duplicating the inline assembly
needed.

Note that no special compiler support is needed for the test. However,
for the intial enabling of GCS (assuming the libc isn't doing it) we do
need to use an inline assembly version of prctl.

This is because as soon as you enable GCS, all returns are checked
against the GCS. If the GCS is empty, the program will fault. In other
words, you can never return from the function that enabled GCS, unless
you push values onto it (which is possible but not needed here).

So you cannot use the libc's prctl wrapper for this reason. You can use
that wrapper for anything else, as we do to check if GCS is enabled.


  Commit: 438e2ccd4ad18d23fc800d0ad9f4f667a547f868
      https://github.com/llvm/llvm-project/commit/438e2ccd4ad18d23fc800d0ad9f4f667a547f868
  Author: PaulXiCao <paulxicao7 at gmail.com>
  Date:   2025-01-14 (Tue, 14 Jan 2025)

  Changed paths:
    M libcxx/docs/Status/Cxx2cPapers.csv
    M libcxx/include/__algorithm/inplace_merge.h
    M libcxx/include/__algorithm/sort.h
    M libcxx/include/__algorithm/stable_sort.h
    M libcxx/include/__memory/destruct_n.h
    M libcxx/include/algorithm
    M libcxx/include/module.modulemap
    M libcxx/test/std/algorithms/alg.sorting/alg.sort/stable.sort/stable_sort.pass.cpp
    M libcxx/test/std/algorithms/alg.sorting/alg.sort/stable.sort/stable_sort_comp.pass.cpp

  Log Message:
  -----------
  [libc++] Make std::stable_sort constexpr friendly (#110320)

Implementing `constexpr std::stable_sort`. This is part of P2562R1,
tracked via issue #105360.

Closes #119394

Co-authored-by: A. Jiang <de34 at live.cn>
Co-authored-by: Louis Dionne <ldionne.2 at gmail.com>


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

  Changed paths:
    M libcxx/include/tuple
    M libcxx/test/std/utilities/tuple/tuple.tuple/tuple.creation/tuple_cat.pass.cpp

  Log Message:
  -----------
  [libc++] Fix `tuple_cat` for element with unconstrained constructor (#122433)

Currently, when the result type is 1-`tuple`, `tuple_cat` possibly tests
an undesired constructor of the element, due to conversion from the
reference tuple to the result type. If the element type has an
unconstrained constructor template, there can be extraneous hard error
which shouldn't happen.

This patch introduces a helper function template to select the element-wise
constructor template of `tuple`, which can avoid such error.

Fixes #41034.


  Commit: f4aec22e4776218d2d94f5357e19897bc2e726d4
      https://github.com/llvm/llvm-project/commit/f4aec22e4776218d2d94f5357e19897bc2e726d4
  Author: Razvan Lupusoru <razvan.lupusoru at gmail.com>
  Date:   2025-01-14 (Tue, 14 Jan 2025)

  Changed paths:
    M mlir/include/mlir/Dialect/OpenACC/OpenACCOps.td
    M mlir/unittests/Dialect/OpenACC/OpenACCOpsTest.cpp

  Log Message:
  -----------
  [mlir][acc] Fix async only api on data entry operations (#122818)

Data entry operations which are created from constructs with async
clause that has no value (aka `acc data copyin(var) async`) end up
holding an attribute array named to keep track of this information.
However, in cases where `async` clause is not used, calling
`hasAsyncOnly` ends up crashing since this attribute is not set.

Thus, to fix this issue, ensure that we check for this attribute before
trying to walk the attribute array.


  Commit: 493c066a3dd8cbd665cf4065abf15e9f3c63741f
      https://github.com/llvm/llvm-project/commit/493c066a3dd8cbd665cf4065abf15e9f3c63741f
  Author: Peng Liu <winner245 at hotmail.com>
  Date:   2025-01-14 (Tue, 14 Jan 2025)

  Changed paths:
    M libcxx/include/__algorithm/count.h
    M libcxx/include/__algorithm/fill_n.h
    M libcxx/include/__algorithm/find.h
    M libcxx/include/__bit_reference
    M libcxx/include/__fwd/bit_reference.h
    M libcxx/include/bitset
    M libcxx/test/std/utilities/template.bitset/bitset.members/nonstdmem.uglified.compile.pass.cpp

  Log Message:
  -----------
  [libc++] Fix ambiguity due to non-uglified member typedefs (#121664)

This PR fixes the ambiguities in name lookup caused by non-standard
member typedefs `size_type` and `difference_type` in `std::bitset`.

Follows up #121620.
Closes #121618.


  Commit: fbef1f835f0381a71362199840bee9ec491e3918
      https://github.com/llvm/llvm-project/commit/fbef1f835f0381a71362199840bee9ec491e3918
  Author: sstwcw <su3e8a96kzlver at posteo.net>
  Date:   2025-01-14 (Tue, 14 Jan 2025)

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

  Log Message:
  -----------
  [clang-format][NFC] Make formatting Verilog faster (#121139)

A regular expression was used in the lexing process. It made the program
take more than linear time with regards to the length of the input. It
looked like the entire buffer could be scanned for every token lexed.
Now the regular expression is replaced with code. Previously it took 20
minutes for the program to format 125 000 lines of code on my computer.
Now it takes 315 milliseconds.


  Commit: df40b056f1e956a25b8121174d0b42bf1b5c7732
      https://github.com/llvm/llvm-project/commit/df40b056f1e956a25b8121174d0b42bf1b5c7732
  Author: Andrzej Warzyński <andrzej.warzynski at arm.com>
  Date:   2025-01-14 (Tue, 14 Jan 2025)

  Changed paths:
    M mlir/test/Dialect/Linalg/vectorization-pad-patterns.mlir

  Log Message:
  -----------
  [mlir][nfc] Update 2 tests for PadOpVectorizationWithTransferWritePattern (#122721)

* Relocates two tests for `PadOpVectorizationWithTransferWritePattern`
  in "vectorization-pad-patterns.mlir" to group them with other tests
  for the same pattern.
* Adds a note clarifying that these are negative tests and explains the
  reasoning behind them.
* Removes `transform.apply_patterns.linalg.decompose_pad` from the TD
  sequences as it's no longer needed (*).

This is essentially a small clean-up in preparation for upcoming
changes.

(*) `transform.apply_patterns.linalg.decompose_pad` was split off from
`transform.apply_patterns.linalg.pad_vectorization` in #117329.
"vectorization-pad-patterns.mlir" is meant to test the latter, not the
former.


  Commit: d305fd0b09b1bd7c29640e072c58567ecf2f5026
      https://github.com/llvm/llvm-project/commit/d305fd0b09b1bd7c29640e072c58567ecf2f5026
  Author: Kelvin Li <kkwli at users.noreply.github.com>
  Date:   2025-01-14 (Tue, 14 Jan 2025)

  Changed paths:
    M flang/lib/Lower/ConvertType.cpp

  Log Message:
  -----------
  [flang][AIX] filter out __builtin_c_devptr for generating packed type (#122812)


  Commit: 2f7807ed52ff41b7cd92b635c21e7c1da4ea8bb5
      https://github.com/llvm/llvm-project/commit/2f7807ed52ff41b7cd92b635c21e7c1da4ea8bb5
  Author: Jan Leyonberg <jan_sjodin at yahoo.com>
  Date:   2025-01-14 (Tue, 14 Jan 2025)

  Changed paths:
    M flang/lib/Optimizer/Builder/IntrinsicCall.cpp
    M flang/test/Lower/math-lowering/cosh.f90
    M flang/test/Lower/trigonometric-intrinsics.f90

  Log Message:
  -----------
  [Flang] Generate math.cosh op for non-precise cosh intrinsic calls (#122292)

This patch changes the codgegn for non-precise cosh calls to generate
math.cosh ops. This wasn't done before because the math dialect did not
have a cosh operation at the time.


  Commit: 4f614a8f7c8b92f0348109521833dc3ef7ea8a4a
      https://github.com/llvm/llvm-project/commit/4f614a8f7c8b92f0348109521833dc3ef7ea8a4a
  Author: Nikita Popov <npopov at redhat.com>
  Date:   2025-01-14 (Tue, 14 Jan 2025)

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

  Log Message:
  -----------
  [AMDGPULowerBufferFatPointers] Use typeIncompatible() (#122902)

Use typeIncompatible() to drop attributes incompatible with the new
argument/return type, instead of keeping a custom list.


  Commit: f1b1c7f3c18c1b75b620a968746346b1a1d94ce3
      https://github.com/llvm/llvm-project/commit/f1b1c7f3c18c1b75b620a968746346b1a1d94ce3
  Author: Brox Chen <guochen2 at amd.com>
  Date:   2025-01-14 (Tue, 14 Jan 2025)

  Changed paths:
    M llvm/lib/Target/AMDGPU/VOP3Instructions.td
    M llvm/test/CodeGen/AMDGPU/shrink-add-sub-constant.ll

  Log Message:
  -----------
  [AMDGPU][True16][CodeGen] Undo sub(x,c) to add in true16 flow (#118854)

Undo sub x, c -> add x, -c canonicalization in true16 fow.

This duplicating the pattern from fake16 and implemement the same
pattern in true16 format


  Commit: 0fb0ac708a581e795c78b7838e10305d80a25c67
      https://github.com/llvm/llvm-project/commit/0fb0ac708a581e795c78b7838e10305d80a25c67
  Author: Sergio Afonso <safonsof at amd.com>
  Date:   2025-01-14 (Tue, 14 Jan 2025)

  Changed paths:
    M llvm/lib/Frontend/OpenMP/OMPIRBuilder.cpp

  Log Message:
  -----------
  [OMPIRBuilder] Simplify error handling while emitting target calls, NFC (#122477)

The OMPIRBuilder uses `llvm::Error`s to allow callbacks passed to it to
signal errors and prevent OMPIRBuilder functions to continue after one
has been triggered. This means that OMPIRBuilder functions taking
callbacks needs to be able to forward these errors, which must always be
checked.

However, in cases where these functions are called from within the
OMPIRBuilder with callbacks also defined inside of it, it can be known
in advance that no errors will be produced. This is the case of those
defined in `emitTargetCall`.

This patch introduces calls to the `cantFail` function instead of the
previous superfluous checks that still assumed calls wouldn't fail,
making these assumptions more obvious and simplifying their
implementation.


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

  Changed paths:
    M llvm/lib/Transforms/Vectorize/VectorCombine.cpp
    M llvm/test/Transforms/VectorCombine/X86/permute-of-binops.ll

  Log Message:
  -----------
  [VectorCombine] foldPermuteOfBinops - match identity shuffles only if they match the destination type

Fixes regression identified after #122118


  Commit: 193ea83dd7e879ddd4e3dfb1fa74a676b528e4a6
      https://github.com/llvm/llvm-project/commit/193ea83dd7e879ddd4e3dfb1fa74a676b528e4a6
  Author: Nikita Popov <npopov at redhat.com>
  Date:   2025-01-14 (Tue, 14 Jan 2025)

  Changed paths:
    M llvm/lib/Transforms/Utils/SimplifyLibCalls.cpp
    M llvm/test/Transforms/InstCombine/str-int-2.ll
    M llvm/test/Transforms/InstCombine/str-int-3.ll
    M llvm/test/Transforms/InstCombine/str-int.ll
    M llvm/test/Transforms/InstCombine/strcall-no-nul.ll

  Log Message:
  -----------
  [SimplifyLibCalls] Don't infer call-site nocapture on atoi

This is already inferred on the function declaration by BLC, there
is no need to also do it at the call-site.


  Commit: 58fa55c04baaaa645a0bf9e265154b7ea7caf0d8
      https://github.com/llvm/llvm-project/commit/58fa55c04baaaa645a0bf9e265154b7ea7caf0d8
  Author: Timm Baeder <tbaeder at redhat.com>
  Date:   2025-01-14 (Tue, 14 Jan 2025)

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

  Log Message:
  -----------
  [clang][bytecode] Add init link for the RVO ptr (#122904)


  Commit: 97cf5aa1b2459b91ce402f2e4f64af3587824fcf
      https://github.com/llvm/llvm-project/commit/97cf5aa1b2459b91ce402f2e4f64af3587824fcf
  Author: Sander de Smalen <sander.desmalen at arm.com>
  Date:   2025-01-14 (Tue, 14 Jan 2025)

  Changed paths:
    M clang/docs/ReleaseNotes.rst

  Log Message:
  -----------
  [Clang] Add AArch64 SME changes to release notes (NFC) (#122899)


  Commit: 616007d88f06f0c523239151d5e52bd4ec61db96
      https://github.com/llvm/llvm-project/commit/616007d88f06f0c523239151d5e52bd4ec61db96
  Author: Jacek Caban <jacek at codeweavers.com>
  Date:   2025-01-14 (Tue, 14 Jan 2025)

  Changed paths:
    M lld/COFF/InputFiles.cpp
    A lld/test/COFF/info-sec.s

  Log Message:
  -----------
  [LLD][COFF] Skip sections marked as IMAGE_SCN_LNK_INFO in the output image (#122752)

Fixes #106275.


  Commit: 091adb8807decb4fa1b4e58eba141a06058eb804
      https://github.com/llvm/llvm-project/commit/091adb8807decb4fa1b4e58eba141a06058eb804
  Author: Nick Desaulniers <nickdesaulniers at users.noreply.github.com>
  Date:   2025-01-14 (Tue, 14 Jan 2025)

  Changed paths:
    M libc/cmake/modules/LLVMLibCCompileOptionRules.cmake
    M libc/cmake/modules/LLVMLibCTestRules.cmake

  Log Message:
  -----------
  [libc][cmake] move _get_{common|hermetic}_test_compile_options to LLVMLibCTestRules.cmake (#122549)

They're only used in that file, which is more appropriate than
LLVMLibCCompileOptionRules.cmake since they're strictly related to tests.

Remove unused flags param from _get_hermetic_test_compile_options, and flags
that were already set by a prior call to _get_common_test_compile_options.


  Commit: 0298e58c7dd1fa76b98ff270cdb9e0eba4949185
      https://github.com/llvm/llvm-project/commit/0298e58c7dd1fa76b98ff270cdb9e0eba4949185
  Author: Peng Liu <winner245 at hotmail.com>
  Date:   2025-01-14 (Tue, 14 Jan 2025)

  Changed paths:
    M libcxx/docs/ReleaseNotes/20.rst
    M libcxx/include/__vector/vector.h
    M libcxx/test/benchmarks/GenerateInput.h
    M libcxx/test/benchmarks/containers/ContainerBenchmarks.h
    M libcxx/test/benchmarks/containers/vector_operations.bench.cpp
    M libcxx/test/std/containers/sequences/vector/vector.modifiers/insert_iter_iter_iter.pass.cpp

  Log Message:
  -----------
  [libc++] Optimize input_iterator-pair `insert` for std::vector (#113768)

As a follow-up to #113852, this PR optimizes the performance of the
`insert(const_iterator pos, InputIt first, InputIt last)` function for
`input_iterator`-pair inputs in `std::vector` for cases where
reallocation occurs during insertion. Additionally, this optimization
enhances exception safety by replacing the traditional `try-catch`
mechanism with a modern exception guard for the `insert` function.

The optimization targets cases where insertion trigger reallocation. In
scenarios without reallocation, the implementation remains unchanged.

Previous implementation
-----------------------
The previous implementation of `insert` is inefficient in reallocation
scenarios because it performs the following steps separately:
- `reserve()`: This leads to the first round of relocating old
elements to new memory;
- `rotate()`: This leads to the second round of reorganizing the
existing elements;
- Move-forward: Moves the elements after the insertion position to
their final positions.
- Insert: performs the actual insertion.

This approach results in a lot of redundant operations, requiring the
elements to undergo three rounds of relocations/reorganizations to be
placed in their final positions.

Proposed implementation
-----------------------
The proposed implementation jointly optimize the above 4 steps in the
previous implementation such that each element is placed in its final
position in just one round of relocation. Specifically, this
optimization reduces the total cost from 2 relocations + 1 std::rotate
call to just 1 relocation, without needing to call `std::rotate`,
thereby significantly improving overall performance.


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

  Changed paths:
    M llvm/test/CodeGen/SPIRV/pointers/type-deduce-sycl-stub.ll
    M llvm/test/CodeGen/SPIRV/transcoding/OpGroupBroadcast.ll
    M llvm/test/CodeGen/SPIRV/validate/sycl-hier-par-basic.ll
    M llvm/test/CodeGen/SPIRV/validate/sycl-tangle-group-algorithms.ll

  Log Message:
  -----------
  [SPIR-V] Specify target environment in tests referring to the BuiltIn WorkgroupSize variable (#122755)

https://github.com/KhronosGroup/SPIRV-Tools/pull/5407 introduces a check
for WorkgroupSize variable to be a 3-component 32-bit int vector, and
indeed, we see this requirement in
https://registry.khronos.org/vulkan/specs/latest/man/html/WorkgroupSize.html#VUID-WorkgroupSize-WorkgroupSize-04427

However, OpenCL imposes different requirements, documented here:
https://registry.khronos.org/OpenCL/specs/3.0-unified/html/OpenCL_Env.html#_built_in_variables
OpenCL environment requires WorkgroupSize variable to have components of
size_t size that will be 32 or 64 depending on a target. This is the way
how the SPIR-V Backend implements this, by querying pointer size of the
current platform/target.

To allow spirv-val to account target environments difference, this PR
adds `--target-env <env>` to test cases referring to the BuiltIn
WorkgroupSize variable.


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

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

  Log Message:
  -----------
  [libc][docs] Add sys/resource header's implementation status (#122563)

### Add sys/resource header's implementation status ( #122006 )

#### Changes:
1. **CMakeLists.txt**: Added `sys/resource` to the list of documentation
directories.
2. **index.rst**: Included `sys/resource` in the documentation index.
3. **resource.yaml**: Created a new YAML file for `sys/resource` with
functions and macros which manages system resources.

This PR adds documentation support for the `sys/resource` header,
including functions and macros as per the latest POSIX standards.


  Commit: 9ba27ca5c76a18c2b29cbac132b5b8d340b8f237
      https://github.com/llvm/llvm-project/commit/9ba27ca5c76a18c2b29cbac132b5b8d340b8f237
  Author: Vyacheslav Levytskyy <vyacheslav.levytskyy at intel.com>
  Date:   2025-01-14 (Tue, 14 Jan 2025)

  Changed paths:
    M llvm/lib/Target/SPIRV/SPIRVAsmPrinter.cpp
    A llvm/test/CodeGen/SPIRV/global-var-intrinsic.ll

  Log Message:
  -----------
  [SPIR-V] Ensure no uses of intrinsic global variables after module translation (#122729)

Ensure that the backend satisfies the requirement of the verifier that
disallows uses of intrinsic global variables. This PR fixes
https://github.com/llvm/llvm-project/issues/110495


  Commit: 539b15b41a6a01017c0a555e89b7d2b62ba194d2
      https://github.com/llvm/llvm-project/commit/539b15b41a6a01017c0a555e89b7d2b62ba194d2
  Author: Nick Desaulniers <nickdesaulniers at users.noreply.github.com>
  Date:   2025-01-14 (Tue, 14 Jan 2025)

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

  Log Message:
  -----------
  [libc][docs] stub out pthread.h support (#122497)

Link: #122006


  Commit: c33486954bd1404495581e42ed62428fb7abeae9
      https://github.com/llvm/llvm-project/commit/c33486954bd1404495581e42ed62428fb7abeae9
  Author: Zack Johnson <zacklj89 at gmail.com>
  Date:   2025-01-14 (Tue, 14 Jan 2025)

  Changed paths:
    M compiler-rt/lib/asan/asan_interceptors.cpp
    A compiler-rt/test/asan/TestCases/Windows/msvc/strdup_null_input.cpp

  Log Message:
  -----------
  [ASan] Change strdup interceptor to allow null input on Windows (#122803)

[These are the MS
Docs](https://learn.microsoft.com/en-us/cpp/c-runtime-library/reference/strdup-wcsdup-mbsdup?view=msvc-170)
regarding `strdup`, but they don't explicitly mention this. The SAL
annotations on `strdup` do, though, with the input parameter being
marked `_In_opt_z_`.


  Commit: 8d9dcd111e5ced8135387917859dd64d67886be0
      https://github.com/llvm/llvm-project/commit/8d9dcd111e5ced8135387917859dd64d67886be0
  Author: David CARLIER <devnexen at gmail.com>
  Date:   2025-01-14 (Tue, 14 Jan 2025)

  Changed paths:
    M compiler-rt/lib/sanitizer_common/sanitizer_platform_interceptors.h
    M compiler-rt/lib/sanitizer_common/sanitizer_platform_limits_freebsd.cpp
    M compiler-rt/lib/sanitizer_common/sanitizer_platform_limits_freebsd.h
    M compiler-rt/lib/sanitizer_common/sanitizer_platform_limits_netbsd.cpp
    M compiler-rt/lib/sanitizer_common/sanitizer_platform_limits_netbsd.h
    M compiler-rt/lib/sanitizer_common/sanitizer_platform_limits_posix.cpp
    M compiler-rt/lib/sanitizer_common/sanitizer_platform_limits_posix.h

  Log Message:
  -----------
  [compiler-rt] fseek interception update. (#122795)

fseek api is POSIX.

to also address #122163


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

  Changed paths:
    M libcxx/include/barrier
    M libcxx/src/barrier.cpp
    M libcxx/test/tools/clang_tidy_checks/internal_ftm_use.cpp

  Log Message:
  -----------
  [libc++] Remove unused _LIBCPP_HAS_NO_TREE_BARRIER macro and associated dead code (#122769)

That macro was present in the original implementation of the
synchronization library, but it was never defined and so it's
effectively unused.


  Commit: 06c6baeb521e321ffcb60fc0a411451e987cd98b
      https://github.com/llvm/llvm-project/commit/06c6baeb521e321ffcb60fc0a411451e987cd98b
  Author: Deric Cheung <cheung.deric at gmail.com>
  Date:   2025-01-14 (Tue, 14 Jan 2025)

  Changed paths:
    M clang/lib/Headers/hlsl/hlsl_detail.h
    M clang/lib/Headers/hlsl/hlsl_intrinsics.h
    A clang/test/CodeGenHLSL/builtins/D3DCOLORtoUBYTE4.hlsl
    A clang/test/SemaHLSL/BuiltIns/D3DCOLORtoUBYTE4-errors.hlsl

  Log Message:
  -----------
  [HLSL] Implement D3DCOLORtoUBYTE4 intrinsic (#122202)

Fixes #99092.

1. Defines the function `D3DCOLORtoUBYTE4` in
`clang/lib/Headers/hlsl/hlsl_intrinsics.h`.
2. Implements the function `D3DCOLORtoUBYTE4` as `d3d_color_to_ubyte4`
in `clang/lib/Headers/hlsl/hlsl_detail.h`
3. Adds a HLSL codegen test to
`clang/test/CodeGenHLSL/builtins/D3DCOLORtoUBYTE4.hlsl`
4. Adds sema tests to
`clang/test/SemaHLSL/BuiltIns/D3DCOLORtoUBYTE4-errors.hlsl`


  Commit: a0bd40e5a3df94229ec06243f2958289071ca75c
      https://github.com/llvm/llvm-project/commit/a0bd40e5a3df94229ec06243f2958289071ca75c
  Author: Timm Bäder <tbaeder at redhat.com>
  Date:   2025-01-14 (Tue, 14 Jan 2025)

  Changed paths:
    M clang/lib/AST/ByteCode/EvalEmitter.cpp
    M clang/test/AST/ByteCode/arrays.cpp
    M clang/test/AST/ByteCode/cxx23.cpp

  Log Message:
  -----------
  Revert "[clang][bytecode] Mark global decls with diagnostics invalid (#122895)"

This reverts commit c1de9b920935e7d2fcc8dd7b39c1b7285783e948.

It looks like this breaks the memory-sanitizer builder:
https://lab.llvm.org/buildbot/#/builders/94/builds/3745


  Commit: 692c77f2af133874f18942fe8c32f0f072bfc02b
      https://github.com/llvm/llvm-project/commit/692c77f2af133874f18942fe8c32f0f072bfc02b
  Author: Nick Desaulniers <nickdesaulniers at users.noreply.github.com>
  Date:   2025-01-14 (Tue, 14 Jan 2025)

  Changed paths:
    M libc/docs/build_and_test.rst
    R libc/docs/c23.rst
    R libc/docs/fullbuild_mode.rst
    A libc/docs/getting_started.rst
    M libc/docs/index.rst
    M libc/docs/porting.rst
    R libc/docs/usage_modes.rst

  Log Message:
  -----------
  [libc][docs] reorder docs to be more beginner friendly (#122376)

This commit does a few things, with the intent to make it more straightforward
to potential future users how to get started with llvm-libc. Answers to "What's
the status and how do I use it?" are front and center, "above the fold."

This commit does a few things:
* reorganize the landing page's toctree: start with implementation status, arch
* support, platform support, and
    compiler support.
  * Then a (new) simple getting started page using full host builds. Then more
  * Advanced topics such as host vs cross builds, overlay mode,
    gpu builds and additional configuration options.
* Remove c23 status, the old fullbuild_mode landing page, and
  usage_modes landing pages. c23 status isn't as interesting as I originally
  thought it might.

We should point people at full host builds to start, then link to more info on
cross compilation, or overlay mode as more advanced topics. I assert most users
starting out won't care about those.


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

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

  Log Message:
  -----------
  [SelectionDAG] Prevent converting a virtual register to an MCRegister. (#122857)

I believe the goal is that MCRegister is only for physical registers.


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

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

  Log Message:
  -----------
  [ARM] Prevent converting virtual register to MCRegister. (#122862)

MCRegister should only be used for physical reigsters.


  Commit: fed817a8b25e178cd701fefcdfe80c447d2ab212
      https://github.com/llvm/llvm-project/commit/fed817a8b25e178cd701fefcdfe80c447d2ab212
  Author: Haopeng Liu <153236845+haopliu at users.noreply.github.com>
  Date:   2025-01-14 (Tue, 14 Jan 2025)

  Changed paths:
    M llvm/lib/Transforms/Scalar/DeadStoreElimination.cpp
    M llvm/test/Transforms/DeadStoreElimination/inter-procedural.ll

  Log Message:
  -----------
  [DSE] Consider the aliasing through global variable while checking clobber (#120044)

While update the read clobber check for the "initializes" attr, we
checked the aliasing among arguments, but didn't consider the aliasing
through global variable. It causes problems in this example:

```
int g_var = 123;

void update(int* ptr) {
  *ptr = g_var;

void foo() {
  g_var = 0;
  bar(&g_var);
}
```
We mistakenly removed `g_var = 0;` as a dead store.

Fix the issue by requiring the CallBase only access argmem or
inaccessiblemem.


  Commit: 5187482fd0065b52fc483774799df082c2a35a4d
      https://github.com/llvm/llvm-project/commit/5187482fd0065b52fc483774799df082c2a35a4d
  Author: Ramkumar Ramachandra <ramkumar.ramachandra at codasip.com>
  Date:   2025-01-14 (Tue, 14 Jan 2025)

  Changed paths:
    M llvm/lib/IR/Instructions.cpp
    M llvm/test/Transforms/VectorCombine/X86/extract-cmp-binop.ll
    M llvm/unittests/IR/InstructionsTest.cpp

  Log Message:
  -----------
  IR: handle FP predicates in CmpPredicate::getMatching (#122924)

CmpPredicate::getMatching implicitly assumes that both predicates are
integer-predicates, and this has led to a crash being reported in
VectorCombine after e409204 (VectorCombine: teach foldExtractedCmps
about samesign). FP predicates are simple enough to handle as there is
never any samesign information associated with them: hence handle them
in CmpPredicate::getMatching, fixing the VectorCombine crash and
guarding against future incorrect usages.


  Commit: a4b7a2d021ca7371752f0e8180200ffd7b48ca70
      https://github.com/llvm/llvm-project/commit/a4b7a2d021ca7371752f0e8180200ffd7b48ca70
  Author: S. Bharadwaj Yadavalli <Bharadwaj.Yadavalli at microsoft.com>
  Date:   2025-01-14 (Tue, 14 Jan 2025)

  Changed paths:
    M llvm/lib/Target/DirectX/DXILShaderFlags.cpp
    M llvm/lib/Target/DirectX/DXILShaderFlags.h
    M llvm/test/CodeGen/DirectX/ShaderFlags/double-extensions.ll
    A llvm/test/CodeGen/DirectX/ShaderFlags/propagate-function-flags-test.ll

  Log Message:
  -----------
  [DirectX] Propagate shader flags mask of callees to callers (#118306)

Propagate shader flags mask of callees to callers.

Add tests to verify propagation of shader flags


  Commit: 5a3b5ca058f36c9dd647f0ea6702d3509bee6c27
      https://github.com/llvm/llvm-project/commit/5a3b5ca058f36c9dd647f0ea6702d3509bee6c27
  Author: Jorge Gorbe Moya <jgorbe at google.com>
  Date:   2025-01-14 (Tue, 14 Jan 2025)

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

  Log Message:
  -----------
  [bazel] Add targets for some testing utility binaries/libraries. (#122834)


  Commit: 71f238a221ff307a1c079678b85ef3abe43c71ab
      https://github.com/llvm/llvm-project/commit/71f238a221ff307a1c079678b85ef3abe43c71ab
  Author: Ikhlas Ajbar <iajbar at quicinc.com>
  Date:   2025-01-14 (Tue, 14 Jan 2025)

  Changed paths:
    M clang/include/clang/Basic/BuiltinsHexagonDep.def
    M llvm/lib/Target/Hexagon/HexagonDepInstrInfo.td
    M llvm/lib/Target/Hexagon/HexagonDepMapAsm2Intrin.td
    M llvm/lib/Target/Hexagon/HexagonSubtarget.h

  Log Message:
  -----------
  [Hexagon] Add missing builtins for V79 (#122916)

This patch adds new builtins that were added in V79 architecture.


  Commit: 576b53801fc3d721602ae0d8377af9950f356000
      https://github.com/llvm/llvm-project/commit/576b53801fc3d721602ae0d8377af9950f356000
  Author: Kirill Stoimenov <kstoimenov at google.com>
  Date:   2025-01-14 (Tue, 14 Jan 2025)

  Changed paths:
    M libcxx/CMakeLists.txt
    M libcxxabi/CMakeLists.txt
    M libcxxabi/include/CMakeLists.txt
    M lldb/test/CMakeLists.txt
    M lldb/utils/lldb-dotest/CMakeLists.txt

  Log Message:
  -----------
  Revert "[libc++] Stop copying headers to the build directory (#115380)"

This reverts commit 428c8767ae997b0f726c0b40160ea8172551babf.

Breaks sanitizer build: https://lab.llvm.org/buildbot/#/builders/51/builds/9056


  Commit: 1594413d5edf6a47d4100cb6a2bc613cfbb92beb
      https://github.com/llvm/llvm-project/commit/1594413d5edf6a47d4100cb6a2bc613cfbb92beb
  Author: higher-performance <higher.performance.github at gmail.com>
  Date:   2025-01-14 (Tue, 14 Jan 2025)

  Changed paths:
    M clang/include/clang/AST/Decl.h
    M clang/include/clang/AST/DeclBase.h
    M clang/include/clang/Basic/Attr.td
    M clang/include/clang/Basic/AttrDocs.td
    M clang/include/clang/Basic/DiagnosticASTKinds.td
    M clang/include/clang/Basic/DiagnosticGroups.td
    M clang/include/clang/Basic/DiagnosticSemaKinds.td
    M clang/lib/AST/Decl.cpp
    M clang/lib/AST/DeclCXX.cpp
    M clang/lib/Sema/SemaDecl.cpp
    M clang/lib/Sema/SemaInit.cpp
    M clang/lib/Serialization/ASTReaderDecl.cpp
    M clang/lib/Serialization/ASTWriterDecl.cpp
    M clang/test/Misc/pragma-attribute-supported-attributes-list.test
    M clang/test/Sema/uninit-variables.c
    M clang/test/SemaCXX/uninitialized.cpp

  Log Message:
  -----------
  Add Clang attribute to ensure that fields are initialized explicitly (#102040)

This is a new Clang-specific attribute to ensure that field
initializations are performed explicitly.

For example, if we have
```
struct B {
  [[clang::explicit]] int f1;
};
```
then the diagnostic would trigger if we do `B b{};`:
```
field 'f1' is left uninitialized, but was marked as requiring initialization
```

This prevents callers from accidentally forgetting to initialize fields,
particularly when new fields are added to the class.


  Commit: dcc141bc0bb471ba209c89aca4288dc5cd2ef8bc
      https://github.com/llvm/llvm-project/commit/dcc141bc0bb471ba209c89aca4288dc5cd2ef8bc
  Author: Cyndy Ishida <cyndy_ishida at apple.com>
  Date:   2025-01-14 (Tue, 14 Jan 2025)

  Changed paths:
    M llvm/include/module.modulemap

  Log Message:
  -----------
  [TargetParser] Add missing include to modulemap (#122768)

Resolves warning when building with `LLVM_ENABLE_MODULES`

```
AArch64TargetParser.h:39:2: warning: missing submodule 'LLVM_Utils.TargetParser.AArch64FeatPriorities' [-Wincomplete-umbrella]
   39 | #include "llvm/TargetParser/AArch64FeatPriorities.inc"
      |  ^       ~~~~~~~
```


  Commit: bf23ae6d38cfdda3284e8ddb3a296ad44c001a8a
      https://github.com/llvm/llvm-project/commit/bf23ae6d38cfdda3284e8ddb3a296ad44c001a8a
  Author: Peter Klausler <pklausler at nvidia.com>
  Date:   2025-01-14 (Tue, 14 Jan 2025)

  Changed paths:
    M flang/lib/Evaluate/shape.cpp
    A flang/test/Semantics/bug121971.f90

  Log Message:
  -----------
  [flang] Fix crash in fuzzed input program (#122193)

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


  Commit: c8202db43ad0cafdc59903dadc4ea9f95a73de9b
      https://github.com/llvm/llvm-project/commit/c8202db43ad0cafdc59903dadc4ea9f95a73de9b
  Author: Peter Klausler <pklausler at nvidia.com>
  Date:   2025-01-14 (Tue, 14 Jan 2025)

  Changed paths:
    M flang/lib/Evaluate/tools.cpp
    A flang/test/Semantics/bug121972.f90

  Log Message:
  -----------
  [flang] Fix crash in fuzzing test (#122189)

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


  Commit: 6f55c8068f42f391dd38d7c711ed7c639b01d72c
      https://github.com/llvm/llvm-project/commit/6f55c8068f42f391dd38d7c711ed7c639b01d72c
  Author: Peter Klausler <pklausler at nvidia.com>
  Date:   2025-01-14 (Tue, 14 Jan 2025)

  Changed paths:
    M flang/lib/Semantics/resolve-names.cpp
    A flang/test/Semantics/bug121973.f90

  Log Message:
  -----------
  [flang] Fix crash in fuzzer-generated error test. (#122199)

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


  Commit: 9405a81ee7a16d8a30584f612234b4e27bd3d2dd
      https://github.com/llvm/llvm-project/commit/9405a81ee7a16d8a30584f612234b4e27bd3d2dd
  Author: Peter Klausler <pklausler at nvidia.com>
  Date:   2025-01-14 (Tue, 14 Jan 2025)

  Changed paths:
    M flang/lib/Evaluate/intrinsics.cpp
    M flang/test/Semantics/reshape.f90

  Log Message:
  -----------
  [flang] Fix crash exposed by fuzzing (#122187)

An integer overflowed in an erroneous test. Fix, and improve the error
messages a bit.

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


  Commit: 01a0d212a64919205734706d929db37e503c35ce
      https://github.com/llvm/llvm-project/commit/01a0d212a64919205734706d929db37e503c35ce
  Author: Razvan Lupusoru <razvan.lupusoru at gmail.com>
  Date:   2025-01-14 (Tue, 14 Jan 2025)

  Changed paths:
    A flang/include/flang/Optimizer/OpenACC/FIROpenACCTypeInterfaces.h
    A flang/include/flang/Optimizer/OpenACC/RegisterOpenACCExtensions.h
    M flang/include/flang/Optimizer/Support/InitFIR.h
    M flang/lib/Frontend/CMakeLists.txt
    M flang/lib/Optimizer/CMakeLists.txt
    M flang/lib/Optimizer/Dialect/CMakeLists.txt
    A flang/lib/Optimizer/OpenACC/CMakeLists.txt
    A flang/lib/Optimizer/OpenACC/FIROpenACCTypeInterfaces.cpp
    A flang/lib/Optimizer/OpenACC/RegisterOpenACCExtensions.cpp
    A flang/test/Fir/OpenACC/openacc-mappable.fir
    M flang/test/lib/CMakeLists.txt
    A flang/test/lib/OpenACC/CMakeLists.txt
    A flang/test/lib/OpenACC/TestOpenACCInterfaces.cpp
    M flang/tools/fir-lsp-server/CMakeLists.txt
    M flang/tools/fir-opt/CMakeLists.txt
    M flang/tools/fir-opt/fir-opt.cpp
    M flang/tools/tco/CMakeLists.txt

  Log Message:
  -----------
  [flang][acc] Implement MappableType interfaces for fir.box and fir.array (#122495)

The newly introduced MappableType interface in `acc` dialect was
primarily intended to allow variables with non-materialized storage to
be used in acc data clauses (previously everything was required to be
`pointer-like`). One motivator for this was `fir.box` since it is
possible to be passed to functions without a wrapping `fir.ref` and also
it can be generated directly via operations like `fir.embox` - and
unlike other variable representations in FIR, the underlying storage for
it does not get materialized until LLVM codegen.

The new interface is being attached to both `fir.box` and `fir.array`.
Strictly speaking, attaching to the latter is primarily for consistency
since the MappableType interface requires implementation of utilities to
compute byte size - and it made sense that a
`fir.box<fir.array<10xi32>>` and `fir.array<10xi32>` would have a
consistently computable size. This decision may be revisited as
MappableType interface evolves.

The new interface attachments are made in a new library named
`FIROpenACCSupport`. The reason for this is to avoid circular
dependencies since the implementation of this library is reusing code
from lowering of OpenACC. More specifically, the types are defined in
`FIRDialect` and `FortranLower` depends on it. Thus we cannot attach
these interfaces in `FIRDialect`.


  Commit: 63d3bd6d0caf8185aba49540fe2f67512fdf3a98
      https://github.com/llvm/llvm-project/commit/63d3bd6d0caf8185aba49540fe2f67512fdf3a98
  Author: Min Hsu <min.hsu at sifive.com>
  Date:   2025-01-14 (Tue, 14 Jan 2025)

  Changed paths:
    A llvm/test/tools/llvm-exegesis/X86/dry-run-measurement.test
    R llvm/test/tools/llvm-exegesis/dry-run-measurement.test

  Log Message:
  -----------
  [Exegesis] Fix test failures from #122775 on MacOSX and Fuchsia

I'm making this test to run only when exegesis-can-execute-x86_64.


  Commit: d1a6eaa47884a44a122bdd1e8a22af1dff3dbcfe
      https://github.com/llvm/llvm-project/commit/d1a6eaa47884a44a122bdd1e8a22af1dff3dbcfe
  Author: macurtis-amd <macurtis at amd.com>
  Date:   2025-01-14 (Tue, 14 Jan 2025)

  Changed paths:
    M llvm/include/llvm/Transforms/IPO/Attributor.h
    M llvm/lib/Transforms/IPO/Attributor.cpp
    M llvm/lib/Transforms/IPO/AttributorAttributes.cpp

  Log Message:
  -----------
  [Attributor][NFC] Performance improvements (#122923)

` forallInterferingAccesses` is a hotspot and for large modules these
changes make a measurable improvement in compilation time.

For LTO kernel compilation of 519.clvleaf (SPEChpc 2021) I measured the
following:
```
                    |   Measured times (s)   | Average | speedup
--------------------+------------------------+---------+---------
Baseline            | 33.268  33.332  33.275 |  33.292 |      0%
Cache "kernel"      | 30.543  30.339  30.607 |  30.496 |    9.2%
templatize callback | 30.981  30.97   30.964 |  30.972 |    7.5%
Both changes        | 29.284  29.201  29.053 |  29.179 |   14.1%
```


  Commit: 1dbc98294adc06e409b1e0d44252826857ac2ec6
      https://github.com/llvm/llvm-project/commit/1dbc98294adc06e409b1e0d44252826857ac2ec6
  Author: Roland McGrath <mcgrathr at google.com>
  Date:   2025-01-14 (Tue, 14 Jan 2025)

  Changed paths:
    M libc/test/include/assert_test.cpp
    M libc/test/include/complex_test.cpp
    M libc/test/include/fpclassify_test.c
    M libc/test/include/fpclassify_test.cpp
    M libc/test/include/fpclassifyf_test.cpp
    M libc/test/include/fpclassifyl_test.cpp
    M libc/test/include/header-test-template.c
    M libc/test/include/iscanonical_test.c
    M libc/test/include/isfinite_test.c
    M libc/test/include/isfinite_test.cpp
    M libc/test/include/isfinitef_test.cpp
    M libc/test/include/isfinitel_test.cpp
    M libc/test/include/isinf_test.c
    M libc/test/include/isinf_test.cpp
    M libc/test/include/isinff_test.cpp
    M libc/test/include/isinfl_test.cpp
    M libc/test/include/isnan_test.c
    M libc/test/include/isnan_test.cpp
    M libc/test/include/isnanf_test.cpp
    M libc/test/include/isnanl_test.cpp
    M libc/test/include/isnormal_test.c
    M libc/test/include/isnormal_test.cpp
    M libc/test/include/isnormalf_test.cpp
    M libc/test/include/isnormall_test.cpp
    M libc/test/include/issignaling_test.c
    M libc/test/include/issubnormal_test.c
    M libc/test/include/issubnormal_test.cpp
    M libc/test/include/issubnormalf_test.cpp
    M libc/test/include/issubnormall_test.cpp
    M libc/test/include/iszero_test.c
    M libc/test/include/iszero_test.cpp
    M libc/test/include/iszerof_test.cpp
    M libc/test/include/iszerol_test.cpp
    M libc/test/include/signbit_test.c
    M libc/test/include/signbit_test.cpp
    M libc/test/include/signbitf_test.cpp
    M libc/test/include/signbitl_test.cpp
    M libc/test/include/stdbit_stub.h
    M libc/test/include/stdbit_test.c
    M libc/test/include/stdbit_test.cpp
    M libc/test/include/stdckdint_test.cpp
    M libc/test/include/sys/queue_test.cpp

  Log Message:
  -----------
  [libc] Fix SPDX-License-Identifier file header comment typos (#122776)


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

  Changed paths:
    M flang/lib/Lower/OpenMP/OpenMP.cpp

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

This patch fixes:

  flang/lib/Lower/OpenMP/OpenMP.cpp:599:15: error: unused variable
  'ompEval' [-Werror,-Wunused-variable]


  Commit: e511b3e24a67b2040d38288427a12c7e8f1c5828
      https://github.com/llvm/llvm-project/commit/e511b3e24a67b2040d38288427a12c7e8f1c5828
  Author: Steven Perron <stevenperron at google.com>
  Date:   2025-01-14 (Tue, 14 Jan 2025)

  Changed paths:
    M llvm/test/CodeGen/SPIRV/hlsl-intrinsics/WaveReadLaneAt.ll

  Log Message:
  -----------
  [SPIRV] Fix graphic test to use correct triple. (#122738)


  Commit: 5dcf5cc0e0b462be99d1ae3d993ec11b039097b8
      https://github.com/llvm/llvm-project/commit/5dcf5cc0e0b462be99d1ae3d993ec11b039097b8
  Author: Felipe de Azevedo Piovezan <fpiovezan at apple.com>
  Date:   2025-01-14 (Tue, 14 Jan 2025)

  Changed paths:
    M lldb/source/Plugins/Process/Utility/StopInfoMachException.cpp
    M lldb/test/API/functionalities/plugins/python_os_plugin/TestPythonOSPlugin.py
    M lldb/test/API/functionalities/plugins/python_os_plugin/main.c

  Log Message:
  -----------
  [lldb] Remove unfiltered stop reason propagation from StopInfoMachException (#122817)

In the presence of OS plugins, StopInfoMachException currently
propagates breakpoint stop reasons even if those breakpoints were not
intended for a specific thread, effectively removing our ability to set
thread-specific breakpoints.

This was originally added in [1], but the motivation provided in the
comment does not seem strong enough to remove the ability to set
thread-specific breakpoints. The only way to break thread specific
breakpoints would be if a user set such a breakpoint and _then_ loaded
an OS plugin, a scenario which we would likely not want to support.

[1]:
https://github.com/swiftlang/llvm-project/commit/ab745c2ad865c07f3905482fd071ef36c024713a#diff-8ec6e41b1dffa7ac4b5841aae24d66442ef7ebc62c8618f89354d84594f91050R501


  Commit: dac06e76e0c12a89b750440b4c9a04c68f6baa48
      https://github.com/llvm/llvm-project/commit/dac06e76e0c12a89b750440b4c9a04c68f6baa48
  Author: Razvan Lupusoru <razvan.lupusoru at gmail.com>
  Date:   2025-01-14 (Tue, 14 Jan 2025)

  Changed paths:
    M flang/test/lib/OpenACC/CMakeLists.txt

  Log Message:
  -----------
  [flang][acc] Fix FIRTestOpenACCInterfaces dependency (#122953)

According to one of the LLVM builds:

https://github.com/llvm/llvm-project/pull/122495#issuecomment-2590897971
The linking to various "mlir::Pass::" methods is failing. Ensure
dependency is properly setup.


  Commit: 5deabab06087e5bb7292e75347baacd63f3d4bde
      https://github.com/llvm/llvm-project/commit/5deabab06087e5bb7292e75347baacd63f3d4bde
  Author: higher-performance <higher.performance.github at gmail.com>
  Date:   2025-01-14 (Tue, 14 Jan 2025)

  Changed paths:
    M clang/include/clang/AST/DeclBase.h
    M clang/include/clang/Basic/Attr.td
    M clang/include/clang/Basic/AttrDocs.td
    M clang/test/Sema/uninit-variables.c
    M clang/test/SemaCXX/uninitialized.cpp

  Log Message:
  -----------
  Rename [[clang::requires_explicit_initialization]] to [[clang::require_explicit_initialization]] (#122947)

This makes it consistent with
`[[clang::require_constant_initialization]]`.

(The attribute was just added to Clang a few minutes ago, so there are
no users yet.)


  Commit: 31e9d390c015bc628dce947d532d10f5d4436190
      https://github.com/llvm/llvm-project/commit/31e9d390c015bc628dce947d532d10f5d4436190
  Author: Jorge Gorbe Moya <jgorbe at google.com>
  Date:   2025-01-14 (Tue, 14 Jan 2025)

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

  Log Message:
  -----------
  [bazel] remove unneeded copts (#122958)


  Commit: 44d9beef7d28f4a4d73acb12ea030bb642eff1d2
      https://github.com/llvm/llvm-project/commit/44d9beef7d28f4a4d73acb12ea030bb642eff1d2
  Author: Paul Kirth <paulkirth at google.com>
  Date:   2025-01-14 (Tue, 14 Jan 2025)

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

  Log Message:
  -----------
  [rtsan][test] Prevent test check from being optimized out in LTO builds (#122524)

In LTO builds, some test checks can be optimized away, since the
compiler can
see through the memory accesses after inlining across TUs. This causes
the existing death tests to fail, since the functions are completely
optimized out and things like copying a lambda will no longer occur and
trigger the sanitizer.

To prevent that, we can use an empty inline assembly block to tell the
compiler that memory is modified, and prevent it from doing that.


  Commit: 0e7b754ecc2ccb1d88fd929c6a198ba0f693d098
      https://github.com/llvm/llvm-project/commit/0e7b754ecc2ccb1d88fd929c6a198ba0f693d098
  Author: Ramkumar Ramachandra <ramkumar.ramachandra at codasip.com>
  Date:   2025-01-14 (Tue, 14 Jan 2025)

  Changed paths:
    M llvm/include/llvm/IR/CmpPredicate.h
    M llvm/lib/Analysis/ValueTracking.cpp
    M llvm/lib/IR/Instructions.cpp

  Log Message:
  -----------
  [ValueTracking] Squash compile-time regression from 66badf2 (#122700)

66badf2 (VT: teach a special-case optz about samesign) introduced a
compile-time regression due to the use of CmpPredicate::getMatching,
which is unnecessarily inefficient. Introduce
CmpPredicate::getPreferredSignedPredicate, which alleviates the
inefficiency problem and squashes the compile-time regression.


  Commit: 48757e02ba2c1651c268351d062f80923baceda4
      https://github.com/llvm/llvm-project/commit/48757e02ba2c1651c268351d062f80923baceda4
  Author: Ramkumar Ramachandra <ramkumar.ramachandra at codasip.com>
  Date:   2025-01-14 (Tue, 14 Jan 2025)

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

  Log Message:
  -----------
  [InstCombine] Teach foldSelectOpOp about samesign (#122723)

Follow up on 4a0d53a (PatternMatch: migrate to CmpPredicate) to get rid
of one of the FIXMEs it introduced by replacing a predicate comparison
with CmpPredicate::getMatching.


  Commit: 60dc450078eb362579f1184cb22c25d0b64cfc95
      https://github.com/llvm/llvm-project/commit/60dc450078eb362579f1184cb22c25d0b64cfc95
  Author: Ramkumar Ramachandra <ramkumar.ramachandra at codasip.com>
  Date:   2025-01-14 (Tue, 14 Jan 2025)

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

  Log Message:
  -----------
  SCEV: migrate to CmpPredicate (NFC) (#122907)

In preparation to teach implied-cond functions about samesign, migrate
integer-compare predicates that flow through to the functions from
CmpInst::Predicate to CmpPredicate.


  Commit: 11758f9cebf4a81242c731bd441e76c72fc7d558
      https://github.com/llvm/llvm-project/commit/11758f9cebf4a81242c731bd441e76c72fc7d558
  Author: Razvan Lupusoru <razvan.lupusoru at gmail.com>
  Date:   2025-01-14 (Tue, 14 Jan 2025)

  Changed paths:
    M flang/tools/bbc/CMakeLists.txt

  Log Message:
  -----------
  [flang][acc] Add missing dependency to bbc tool (#122960)

The LLVM build here:

https://lab.llvm.org/buildbot/#/builders/89/builds/14359/steps/5/logs/stdio
is failing with error:
/usr/bin/ld: tools/flang/tools/bbc/CMakeFiles/bbc.dir/bbc.cpp.o:
undefined reference to symbol
'_ZN3fir3acc25registerOpenACCExtensionsERN4mlir15DialectRegistryE

Add missing dependency.


  Commit: 68c9826534a763f783156813675783c97afa9226
      https://github.com/llvm/llvm-project/commit/68c9826534a763f783156813675783c97afa9226
  Author: Jorge Gorbe Moya <jgorbe at google.com>
  Date:   2025-01-14 (Tue, 14 Jan 2025)

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

  Log Message:
  -----------
  [bazel] add missing dep to //clang:static_analyzer_core_options


  Commit: 43491f0e9594b55a79ba775daed598cd37fc3cad
      https://github.com/llvm/llvm-project/commit/43491f0e9594b55a79ba775daed598cd37fc3cad
  Author: Eliud de León <tgmm.1000 at gmail.com>
  Date:   2025-01-14 (Tue, 14 Jan 2025)

  Changed paths:
    M mlir/include/mlir-c/Dialect/EmitC.h
    M mlir/lib/CAPI/Dialect/EmitC.cpp

  Log Message:
  -----------
  [mlir][emitc] Expose emitc dialect types (#119645)

Added C API functions for the EmitC dialect types.


  Commit: 8d1d67ec4dc957ce15a06f782c6746281e66e559
      https://github.com/llvm/llvm-project/commit/8d1d67ec4dc957ce15a06f782c6746281e66e559
  Author: Jinsong Ji <jinsong.ji at intel.com>
  Date:   2025-01-14 (Tue, 14 Jan 2025)

  Changed paths:
    M offload/plugins-nextgen/common/src/GlobalHandler.cpp
    M offload/test/offloading/pgo1.c

  Log Message:
  -----------
  [Offload][PGO] Fix dump of array in ProfData (#122039)

Exposed by -Warray-bounds:

In file included from
../../../../../../../llvm/offload/plugins-nextgen/common/src/GlobalHandler.cpp:252:

../../../../../../../llvm/llvm/include/llvm/ProfileData/InstrProfData.inc:109:1:
error: array index 4 is past the end of the array (that has type 'const
std::remove_const<const uint16_t>::type[4]' (aka 'const unsigned
short[4]')) [-Werror,-Warray-bounds]
109 | INSTR_PROF_DATA(const uint16_t, Int16ArrayTy,
NumValueSites[IPVK_Last+1], \
| ^ ~~~~~~~~~~~

../../../../../../../llvm/offload/plugins-nextgen/common/src/GlobalHandler.cpp:250:15:
note: expanded from macro 'INSTR_PROF_DATA'
250 | outs() << ProfData.Name << " "; \
      |               ^        ~~~~

../../../../../../../llvm/llvm/include/llvm/ProfileData/InstrProfData.inc:109:1:
note: array 'NumValueSites' declared here
109 | INSTR_PROF_DATA(const uint16_t, Int16ArrayTy,
NumValueSites[IPVK_Last+1], \
      | ^

../../../../../../../llvm/offload/plugins-nextgen/common/include/GlobalHandler.h:62:3:
note: expanded from macro 'INSTR_PROF_DATA'
   62 |   std::remove_const<Type>::type Name;

Avoid accessing out-of-bound data, but skip printing array data for now.
As there is no simple way to do this without hardcoding the
NumValueSites field.

---------

Co-authored-by: Ethan Luis McDonough <ethanluismcdonough at gmail.com>


  Commit: b720b6cbe95eda383121a4579de556202b1ffc02
      https://github.com/llvm/llvm-project/commit/b720b6cbe95eda383121a4579de556202b1ffc02
  Author: Peter Klausler <pklausler at nvidia.com>
  Date:   2025-01-14 (Tue, 14 Jan 2025)

  Changed paths:
    M flang/include/flang/Evaluate/shape.h
    M flang/lib/Evaluate/fold-implementation.h
    M flang/lib/Evaluate/shape.cpp
    A flang/test/Semantics/bug122002a.f90
    A flang/test/Semantics/bug122002b.f90

  Log Message:
  -----------
  [flang] Fix crash from fuzzy test. (#122364)

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


  Commit: ebec4d6369cbf9bbd64236b02d90e8f3597ad103
      https://github.com/llvm/llvm-project/commit/ebec4d6369cbf9bbd64236b02d90e8f3597ad103
  Author: Peter Klausler <pklausler at nvidia.com>
  Date:   2025-01-14 (Tue, 14 Jan 2025)

  Changed paths:
    M flang/include/flang/Evaluate/traverse.h
    M flang/include/flang/Evaluate/variable.h

  Log Message:
  -----------
  [flang] Fix use-after-free cases found by valgrind (#122394)

The expression traversal library needs to use interfaces into triplets
(and substrings) that return pointers to nested expressions, rather than
optional copies of them, since at least one semantic analysis collects a
set of references to some subexpression representation class instances,
and those references obviously can't point to local copies of objects.

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


  Commit: 89bbaf3cf2e5706acf46e30ac19e23a58db2e9f9
      https://github.com/llvm/llvm-project/commit/89bbaf3cf2e5706acf46e30ac19e23a58db2e9f9
  Author: Peter Klausler <pklausler at nvidia.com>
  Date:   2025-01-14 (Tue, 14 Jan 2025)

  Changed paths:
    A flang/test/Semantics/bug122045.f90

  Log Message:
  -----------
  [flang] Fix another crash from another fuzzer test. (#122562)

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


  Commit: 9696355484152eda5684e0ec6249f4c423f08e42
      https://github.com/llvm/llvm-project/commit/9696355484152eda5684e0ec6249f4c423f08e42
  Author: Peter Klausler <pklausler at nvidia.com>
  Date:   2025-01-14 (Tue, 14 Jan 2025)

  Changed paths:
    M flang/include/flang/Evaluate/shape.h
    M flang/include/flang/Evaluate/tools.h
    M flang/lib/Evaluate/check-expression.cpp
    M flang/lib/Evaluate/fold-designator.cpp
    M flang/lib/Evaluate/fold-implementation.h
    M flang/lib/Semantics/tools.cpp
    A flang/test/Semantics/bug122060.f90
    M flang/test/Semantics/reshape.f90

  Log Message:
  -----------
  [flang] Better messages and error recovery for a bad RESHAPE (#122604)

Add tests for negative array extents where necessary, motivated by a
compiler crash exposed by yet another fuzzer test, and improve overall
error message quality for RESHAPE().

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


  Commit: bf95854e9ab1209901603d8f9edba4328eed6689
      https://github.com/llvm/llvm-project/commit/bf95854e9ab1209901603d8f9edba4328eed6689
  Author: Peter Klausler <pklausler at nvidia.com>
  Date:   2025-01-14 (Tue, 14 Jan 2025)

  Changed paths:
    M flang/runtime/io-api.cpp
    M flang/runtime/io-error.cpp
    M flang/runtime/io-error.h

  Log Message:
  -----------
  [flang] EOF goes to ERR= in READ(..., REC=) (#122608)

A direct access READ that tries to read past the end of the file must
recover the error via an ERR= label, not an END= label (which is not
allowed to be present).

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


  Commit: 874a3ba868e3738d6ee21bfe032c89c6c8be3969
      https://github.com/llvm/llvm-project/commit/874a3ba868e3738d6ee21bfe032c89c6c8be3969
  Author: Peter Klausler <pklausler at nvidia.com>
  Date:   2025-01-14 (Tue, 14 Jan 2025)

  Changed paths:
    M flang/runtime/file.cpp

  Log Message:
  -----------
  [flang][runtime] Don't buffer unit 0 (#122614)

Always assume that predefined unit 0 is a terminal, so that output to it
is never buffered.


  Commit: 9f0f54a6290ead2e1581d75582759822a19fd885
      https://github.com/llvm/llvm-project/commit/9f0f54a6290ead2e1581d75582759822a19fd885
  Author: Peter Klausler <pklausler at nvidia.com>
  Date:   2025-01-14 (Tue, 14 Jan 2025)

  Changed paths:
    M flang/include/flang/Semantics/tools.h
    M flang/lib/Semantics/resolve-names.cpp
    M flang/lib/Semantics/tools.cpp
    A flang/test/Semantics/self-use.f90

  Log Message:
  -----------
  [flang] Improve error messages for module self-USE (#122747)

A module can't USE itself, either directly within the top-level module
or from one of its submodules. Add a test for this case (which we
already caught), and improve the diagnostic for the more confusing case
involving a submodule.


  Commit: 4a3e4b99b9ab3016afe8b02c4f83f24635964f4e
      https://github.com/llvm/llvm-project/commit/4a3e4b99b9ab3016afe8b02c4f83f24635964f4e
  Author: Peter Klausler <pklausler at nvidia.com>
  Date:   2025-01-14 (Tue, 14 Jan 2025)

  Changed paths:
    M flang/lib/Parser/prescan.cpp
    M flang/test/Preprocessing/bug129131.F

  Log Message:
  -----------
  [flang] Adjust prescanner fix for preprocessing (#122779)

Commas being optional in FORMAT statements, the tokenization of things
like 3I9HHOLLERITH is tricky. After tokenizing the initial '3', we don't
want to then take apparent identifier "I9HHOLLERITH" as the next token.
So the prescanner just consumes the letter ("I") as its own token in
this context.

A recent bug report complained that this can lead to incorrect results
when (in this case) the letter is a defined preprocessing macro. I
updated the prescanner to check that the letter is actually followed by
an instance of a problematic Hollerith literal.

And this broke two tests in the Fujitsu Fortran test suite that Linaro
runs, as it couldn't detect a following Hollerith literal that wasn't on
the same source line. We can't do look-ahead line continuation
processing in NextToken(), either.

So here's a second attempt at fixing the original problem: namely, the
letter that follows a decimal integer token is checked to see whether
it's the name of a defined macro.


  Commit: 9629f2c4ca6a514abe27f537c1cb4af35ef0aa10
      https://github.com/llvm/llvm-project/commit/9629f2c4ca6a514abe27f537c1cb4af35ef0aa10
  Author: Peter Klausler <pklausler at nvidia.com>
  Date:   2025-01-14 (Tue, 14 Jan 2025)

  Changed paths:
    M flang/lib/Semantics/mod-file.cpp
    M flang/lib/Semantics/mod-file.h
    M flang/test/Driver/intrinsic-module-path.f90
    M flang/test/Driver/use-module.f90
    M flang/test/Semantics/modfile43.f90
    M flang/test/Semantics/modfile63.f90
    M flang/test/Semantics/modfile70.f90
    M flang/test/Semantics/resolve12.f90
    M flang/test/Semantics/resolve26.f90

  Log Message:
  -----------
  [flang] Improve module file error message wording (#122787)

Instead of "Cannot read ...", distinguish true errors in finding and
parsing module files from problems with unexpected hash codes by using
"Cannot parse" or "Cannot use" wording as appropriate.


  Commit: ecf264d3b4eebcfcc3bd89ceac090b82fd5e75c7
      https://github.com/llvm/llvm-project/commit/ecf264d3b4eebcfcc3bd89ceac090b82fd5e75c7
  Author: Peter Klausler <pklausler at nvidia.com>
  Date:   2025-01-14 (Tue, 14 Jan 2025)

  Changed paths:
    M flang/include/flang/Semantics/tools.h
    M flang/lib/Semantics/check-declarations.cpp
    M flang/lib/Semantics/tools.cpp
    A flang/test/Semantics/generic12.f90

  Log Message:
  -----------
  [flang] Fix spurious error message due to inaccessible generic binding (#122810)

Generic operator/assignment checks for distinguishable specific
procedures must ignore inaccessible generic bindings.

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


  Commit: 93fd72cbb1a3c340add27fc380c4450406313d68
      https://github.com/llvm/llvm-project/commit/93fd72cbb1a3c340add27fc380c4450406313d68
  Author: alx32 <103613512+alx32 at users.noreply.github.com>
  Date:   2025-01-14 (Tue, 14 Jan 2025)

  Changed paths:
    M llvm/lib/DebugInfo/GSYM/GsymCreator.cpp

  Log Message:
  -----------
  [llvm-gsymutil] Ensure gSYM creation determinism with merged functions (#122921)

We were seeing occasional test failures with expensive checks enabled.
The issue was tracked down to a `sort` which should instead be a
`stable_sort` to ensure determinism. Checked locally and the
non-determinism went away.


  Commit: 3d24c77f14d42721226b31d7e5d08f853cfc92f1
      https://github.com/llvm/llvm-project/commit/3d24c77f14d42721226b31d7e5d08f853cfc92f1
  Author: Michael Buch <michaelbuch12 at gmail.com>
  Date:   2025-01-14 (Tue, 14 Jan 2025)

  Changed paths:
    M clang/lib/CodeGen/CGDebugInfo.cpp
    A clang/test/CodeGenCXX/debug-info-object-pointer.cpp

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

We currently don't emit `DW_AT_object_pointer` on function declarations
or definitions. GCC suffers from the same issue:
https://godbolt.org/z/h4jeT54G5

Fixing this will help LLDB in identifying static vs. non-static member
functions (see https://github.com/llvm/llvm-project/issues/120856).

If I interpreted the DWARFv5 spec correctly, it doesn't mandate this
attribute be present *only* for implicit object parameters:
```
If the member function entry describes a non-static member function,
then that entry has a DW_AT_object_pointer attribute whose value is a reference to
the formal parameter entry that corresponds to the object for which the
function is called.

That parameter also has a DW_AT_artificial attribute whose value is true.
```

This patch attaches the `DW_AT_object_pointer` for function
*defintions*. The declarations will be handled in a separate patch.

The part about `DW_AT_artificial` seems overly restrictive, and not true
for explicit object parameters. We probably should relax this part of
the DWARF spec.

Partially fixes https://github.com/llvm/llvm-project/issues/120974


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

  Changed paths:
    M libcxx/include/__new/global_new_delete.h
    M libcxxabi/src/CMakeLists.txt

  Log Message:
  -----------
  [libc++] Simplify when the sized global deallocations overloads are available (#114667)

There doesn't seem to be much benefit in always providing declarations
for the sized deallocations from C++14 onwards if the user explicitly
passed `-fno-sized-deallocation` to disable them. This patch simplifies
the declarations to be available exactly when the compiler expects sized
deallocation functions to be available.


  Commit: 6e14f9b40e15600ae7832826b47a7f0c0503a1d7
      https://github.com/llvm/llvm-project/commit/6e14f9b40e15600ae7832826b47a7f0c0503a1d7
  Author: Jorge Gorbe Moya <jgorbe at google.com>
  Date:   2025-01-14 (Tue, 14 Jan 2025)

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

  Log Message:
  -----------
  [bazel] minor formatting fixes (#122964)

Added `# keep sorted` to a couple of long-ish lists of files that
buildifier didn't automatically sort by default.

Changed a couple of one-element `toolchains` attributes to the
single-line format.


  Commit: 31249e27f0f8be16e80b2b574c1f2ce70853ed31
      https://github.com/llvm/llvm-project/commit/31249e27f0f8be16e80b2b574c1f2ce70853ed31
  Author: Justin Bogner <mail at justinbogner.com>
  Date:   2025-01-14 (Tue, 14 Jan 2025)

  Changed paths:
    M llvm/lib/Target/DirectX/DXILWriter/DXILBitcodeWriter.cpp

  Log Message:
  -----------
  [DirectX] Avoid deprecated PointerUnion methods (#122972)

PointerUnion's `is`, `get`, and `dyn_cast` have been deprecated in
favour of using `isa`, `cast`, and `dyn_cast` directly. Migrate these
uses over.


  Commit: f09db6a3af971ab7d9bbc7ba574a8dc0c10b2940
      https://github.com/llvm/llvm-project/commit/f09db6a3af971ab7d9bbc7ba574a8dc0c10b2940
  Author: Jerry-Ge <jerry.ge at arm.com>
  Date:   2025-01-14 (Tue, 14 Jan 2025)

  Changed paths:
    M mlir/include/mlir/Dialect/Tosa/IR/CMakeLists.txt
    M mlir/include/mlir/Dialect/Tosa/IR/TosaOpBase.td
    M mlir/include/mlir/Dialect/Tosa/IR/TosaOps.h
    M mlir/include/mlir/Dialect/Tosa/IR/TosaOps.td
    A mlir/include/mlir/Dialect/Tosa/IR/TosaShapeOps.td
    M mlir/include/mlir/Dialect/Tosa/IR/TosaTypesBase.td
    M mlir/lib/Conversion/TosaToLinalg/TosaToLinalg.cpp
    M mlir/lib/Conversion/TosaToLinalg/TosaToLinalgPass.cpp
    M mlir/lib/Dialect/Tosa/IR/TosaCanonicalizations.cpp
    M mlir/lib/Dialect/Tosa/IR/TosaOps.cpp
    M mlir/lib/Dialect/Tosa/Transforms/TosaValidation.cpp
    M mlir/test/Conversion/TosaToLinalg/tosa-to-linalg.mlir
    M mlir/test/Dialect/Tosa/canonicalize.mlir
    M mlir/test/Dialect/Tosa/invalid.mlir
    M mlir/test/Dialect/Tosa/level_check.mlir
    M mlir/test/Dialect/Tosa/ops.mlir
    M mlir/test/Dialect/Tosa/tosa-infer-shapes.mlir
    M utils/bazel/llvm-project-overlay/mlir/BUILD.bazel

  Log Message:
  -----------
  [TOSA] Add Tosa_Shape type and ConstShapeOp (#122547)

Adds:
1. tosa shape type to Tosa dialect e.g., !tosa.shape<4> is a type for
rank-4 shape values (size-4 array of index values)
 2. const_shape operator
3. trait TosaShapeOperator, added to tosa shape operators, and a
verifier that all operands and results of operator are tosa shapes
4. trait TosaResolvableShapeOperands, added to all tosa operators, and a
verifier that every tosa shape operand is produced by a tosa shape
operator (indicated by trait TosaShapeOperator)
5. trait TosaShapeOperatorWithSameRanks, added to
Tosa_ElementwiseShapeOp and a verifier that all operands and result
shapes have same ranks
5. changed TileOp's multiples from attribute to input, of !tosa.shape
type.
 6. add folder for tosa ConstShape operator

This patch was originally authored by Tai Ly <tai.ly at arm.com>

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


  Commit: 6a214ec1eeef6b404bf111edeca13c6e0d958103
      https://github.com/llvm/llvm-project/commit/6a214ec1eeef6b404bf111edeca13c6e0d958103
  Author: Teresa Johnson <tejohnson at google.com>
  Date:   2025-01-14 (Tue, 14 Jan 2025)

  Changed paths:
    M llvm/lib/Bitcode/Writer/BitcodeWriter.cpp
    M llvm/test/ThinLTO/X86/memprof_direct_recursion.ll

  Log Message:
  -----------
  [MemProf] Fix an assertion when writing distributed index for aliasee (#122946)

The ThinLTO index bitcode writer uses a helper forEachSummary to manage
preparation and writing of summaries needed for each distributed index
file. For alias summaries, it invokes the provided callback for the
aliasee as well, as we at least need to produce a value id for the
alias's summary. However, all summary generation for the aliasee itself
should be skipped on calls when IsAliasee is true. We invoke the
callback again if that value's summary is to be written as well.

We were asserting in debug mode when invoking collectMemProfCallStacks,
because a given stack id index was not in the StackIdIndicesToIndex
map. It was not added because the forEachSummary invocation that records
these ids in the map (invoked from the IndexBitcodeWriter constructor)
was correctly skipping this handling when invoked for aliasees. We need
the same guard in the invocation that calls collectMemProfCallStacks.

Note that this doesn't cause any real problems in a non-asserts build
as the missing map lookup will return the default 0 value from the map,
which isn't used since we don't actually write the corresponding
summary.


  Commit: 1682deed0fd02c6aca98154e8e9cf6c573ff6d45
      https://github.com/llvm/llvm-project/commit/1682deed0fd02c6aca98154e8e9cf6c573ff6d45
  Author: Eli Friedman <efriedma at quicinc.com>
  Date:   2025-01-14 (Tue, 14 Jan 2025)

  Changed paths:
    M clang/bindings/python/clang/cindex.py
    M clang/bindings/python/tests/cindex/test_type.py
    M clang/docs/ReleaseNotes.rst
    M clang/include/clang-c/Index.h
    M clang/tools/libclang/CIndexCXX.cpp
    M clang/tools/libclang/CXType.cpp
    M clang/tools/libclang/libclang.map

  Log Message:
  -----------
  [libclang] Add API to query more information about base classes. (#120300)

The first API is clang_visitCXXBaseClasses: this allows visiting the
base classes without going through the generic child visitor (which is
awkward, and doesn't work for template instantiations).

The second API is clang_getOffsetOfBase; this allows computing the
offset of a base in the class layout, the same way
clang_Cursor_getOffsetOfField computes the offset of a field.

Also, add a Python binding for the existing function
clang_isVirtualBase.


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

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

  Log Message:
  -----------
  [flang][cuda][NFC] Fix file header


  Commit: 1de3dc7d23dd6b856efad3a3a04f2396328726d7
      https://github.com/llvm/llvm-project/commit/1de3dc7d23dd6b856efad3a3a04f2396328726d7
  Author: Florian Hahn <flo at fhahn.com>
  Date:   2025-01-14 (Tue, 14 Jan 2025)

  Changed paths:
    M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
    M llvm/test/Transforms/LoopVectorize/AArch64/loopvectorize_pr33804_double.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/partial-reduce-dot-product-epilogue.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/partial-reduce-dot-product-mixed.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/partial-reduce-dot-product-neon.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/partial-reduce-dot-product.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/partial-reduce-no-dotprod.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/store-costs-sve.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/strict-fadd.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/sve-widen-extractvalue.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/vplan-printing.ll
    M llvm/test/Transforms/LoopVectorize/Hexagon/maximum-vf-crash.ll
    M llvm/test/Transforms/LoopVectorize/X86/cost-constant-known-via-scev.ll
    M llvm/test/Transforms/LoopVectorize/X86/cost-model.ll
    M llvm/test/Transforms/LoopVectorize/X86/drop-poison-generating-flags.ll
    M llvm/test/Transforms/LoopVectorize/X86/interleave-cost.ll
    M llvm/test/Transforms/LoopVectorize/X86/replicate-uniform-call.ll
    A llvm/test/Transforms/LoopVectorize/epilog-vectorization-vector-trip-count-zero.ll
    M llvm/test/Transforms/LoopVectorize/first-order-recurrence-chains.ll
    M llvm/test/Transforms/LoopVectorize/if-pred-stores.ll
    M llvm/test/Transforms/LoopVectorize/induction.ll
    M llvm/test/Transforms/LoopVectorize/interleave-and-scalarize-only.ll
    M llvm/test/Transforms/LoopVectorize/is_fpclass.ll
    M llvm/test/Transforms/LoopVectorize/optimal-epilog-vectorization.ll
    M llvm/test/Transforms/LoopVectorize/runtime-checks-hoist.ll
    M llvm/test/Transforms/LoopVectorize/scev-predicate-reasoning.ll
    M llvm/test/Transforms/LoopVectorize/vplan-sink-scalars-and-merge-vf1.ll

  Log Message:
  -----------
  [LV] Bail out early if BTC+1 wraps.

Currently we fail to detect the case where BTC + 1 wraps, i.e. the
vector trip count is 0, In those cases, the minimum iteration count
check will fail, and the vector code will never be executed.

Explicitly check for this condition in computeMaxVF and avoid trying to
vectorize alltogether.

Note that a number of tests needed to be updated, because the vector
loop would never be executed given the input IR.

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


  Commit: 43f203da8986bfeb071b5dc381491abbc1126e52
      https://github.com/llvm/llvm-project/commit/43f203da8986bfeb071b5dc381491abbc1126e52
  Author: Jorge Gorbe Moya <jgorbe at google.com>
  Date:   2025-01-14 (Tue, 14 Jan 2025)

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

  Log Message:
  -----------
  [bazel] add missing dep


  Commit: a829ebadd4211bec24e99f4395ef855eff456eb1
      https://github.com/llvm/llvm-project/commit/a829ebadd4211bec24e99f4395ef855eff456eb1
  Author: Martin Storsjö <martin at martin.st>
  Date:   2025-01-15 (Wed, 15 Jan 2025)

  Changed paths:
    M llvm/lib/TargetParser/Triple.cpp
    M llvm/unittests/TargetParser/TripleTest.cpp

  Log Message:
  -----------
  [Triple] Ignore the vendor field for MinGW, wrt LTO/IR compatibility (#122801)

For MinGW environments, the regular C/C++ toolchains usually use "w64"
for the vendor field in triples, while Rust toolchains usually use "pc"
in the vendor field.

The differences in the vendor field have no bearing on whether the IR is
compatible on this platform. (This probably goes for most other OSes as
well, but limiting the scope of the change to the specific case.)

Add a unit test for the isCompatibleWith, including some existing test
cases found in existing tests.


  Commit: 72225ca27f561b74da292433400f250592d73b13
      https://github.com/llvm/llvm-project/commit/72225ca27f561b74da292433400f250592d73b13
  Author: Min Hsu <min.hsu at sifive.com>
  Date:   2025-01-14 (Tue, 14 Jan 2025)

  Changed paths:
    M llvm/docs/CommandGuide/llvm-exegesis.rst
    R llvm/test/tools/llvm-exegesis/X86/dry-run-measurement.test
    M llvm/test/tools/llvm-exegesis/lit.local.cfg
    M llvm/tools/llvm-exegesis/lib/BenchmarkResult.h
    M llvm/tools/llvm-exegesis/lib/BenchmarkRunner.cpp
    M llvm/tools/llvm-exegesis/lib/Target.cpp
    M llvm/tools/llvm-exegesis/llvm-exegesis.cpp

  Log Message:
  -----------
  Revert "Reland: "[Exegesis] Add the ability to dry-run the measurement phase (#121991)" (#122775)"

This reverts commit a39aaf35d3858a5542f532e399482c2bb0259dac and
63d3bd6d0caf8185aba49540fe2f67512fdf3a98.

Due to test failures on MacOSX.


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

  Changed paths:
    M llvm/test/CodeGen/ARM/loopvectorize_pr33804.ll

  Log Message:
  -----------
  [ARM] Update LV test in test/Codegen/ARM after 1de3dc7d23.


  Commit: 7aec7caca30f800811b76ba94291645494788a4f
      https://github.com/llvm/llvm-project/commit/7aec7caca30f800811b76ba94291645494788a4f
  Author: Eli Friedman <efriedma at quicinc.com>
  Date:   2025-01-14 (Tue, 14 Jan 2025)

  Changed paths:
    M clang/bindings/python/tests/cindex/test_type.py

  Log Message:
  -----------
  Add explicit triple to test_type.py.

Fixes on 32-bit hosts.


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

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

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

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: e673f9d00de8a860d98ca7f0ea580ca0fa6a5ac8
      https://github.com/llvm/llvm-project/commit/e673f9d00de8a860d98ca7f0ea580ca0fa6a5ac8
  Author: Kazu Hirata <kazu at google.com>
  Date:   2025-01-14 (Tue, 14 Jan 2025)

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

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

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 DeclOrVector to be nonnull.


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

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

  Log Message:
  -----------
  [StaticAnalyzer] Migrate away from PointerUnion::dyn_cast (NFC) (#122856)

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 Storage to be nonnull.


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

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

  Log Message:
  -----------
  [AST] Avoid repeated map lookups (NFC) (#122858)


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

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

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


  Commit: bc74625f50e216edd16f436c4fc81ff585b6c4c7
      https://github.com/llvm/llvm-project/commit/bc74625f50e216edd16f436c4fc81ff585b6c4c7
  Author: zotnhucucbot <thaiphd at gmail.com>
  Date:   2025-01-15 (Wed, 15 Jan 2025)

  Changed paths:
    M clang-tools-extra/clang-tidy/tool/clang-tidy-diff.py
    M clang-tools-extra/docs/ReleaseNotes.rst

  Log Message:
  -----------
  [clang-tidy] Add an option to exclude files not present in the compile database (#120348)

A change list may include files that are not part of the compile
database, which can cause clang-tidy to fail (e.g., due to missing
included headers). To prevent false negatives, we should allow to skip
processing these files.


  Commit: b665dddd7070837b11714e28d841c9962a15601a
      https://github.com/llvm/llvm-project/commit/b665dddd7070837b11714e28d841c9962a15601a
  Author: Shoreshen <372660931 at qq.com>
  Date:   2025-01-14 (Tue, 14 Jan 2025)

  Changed paths:
    M llvm/test/CodeGen/AMDGPU/v_sat_pk_u8_i16.ll

  Log Message:
  -----------
  [AMDGPU] Add tests for v_sat_pk_u8_i16 codegen (#122438)

Preparation for #121124 

This PR provides tests added into
[PR](https://github.com/llvm/llvm-project/pull/121124) that add
selection patterns for instruction `v_sat_pk`, in order to specify the
change of the tests before and after the commit.

Pre-commit tests PR for #121124 : Add selection patterns for instruction
`v_sat_pk`


  Commit: ebef44067bd0a2cd776b8baea39cffa7f602ce7b
      https://github.com/llvm/llvm-project/commit/ebef44067bd0a2cd776b8baea39cffa7f602ce7b
  Author: Shilei Tian <i at tianshilei.me>
  Date:   2025-01-14 (Tue, 14 Jan 2025)

  Changed paths:
    M llvm/include/llvm/TargetParser/Triple.h
    M llvm/lib/TargetParser/Triple.cpp
    M llvm/unittests/TargetParser/TripleTest.cpp

  Log Message:
  -----------
  [LLVM][Triple] Add an argument to specify canonical form to `Triple::normalize` (#122935)

Currently, the output of `Triple::normalize` can vary depending on how the
`Triple` object is constructed, producing a 3-field, 4-field, or even 5-field
string. However, there is no way to control the format of the output, as all
forms are considered canonical according to the LangRef.

This lack of control can be inconvenient when a specific format is required. To
address this, this PR introduces an argument to specify the desired format (3,
4, or 5 identifiers), with the default set to none to maintain the current
behavior. If the requested format requires more components than are available in
the actual `Data`, `"unknown"` is appended as needed.


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

  Changed paths:
    M flang/include/flang/Optimizer/Dialect/CUF/CUFOps.td
    M flang/lib/Optimizer/Transforms/CUFOpConversion.cpp
    M flang/test/Fir/CUDA/cuda-data-transfer.fir
    M flang/test/Fir/CUDA/cuda-global-addr.mlir
    M flang/test/Fir/CUDA/cuda-launch.fir

  Log Message:
  -----------
  [flang][cuda] Add cuf.device_address operation (#122975)

Introduce a new op to get the device address from a host symbol. This
simplify the current conversion and this is also in preparation for some
legalization work that need to be done in cuf kernel and cuf kernel
launch similar to
https://github.com/llvm/llvm-project/pull/122802


  Commit: 565f3bd641dfdfefd9cf932cf94cc3fbd0b30d33
      https://github.com/llvm/llvm-project/commit/565f3bd641dfdfefd9cf932cf94cc3fbd0b30d33
  Author: Longsheng Mou <longshengmou at gmail.com>
  Date:   2025-01-15 (Wed, 15 Jan 2025)

  Changed paths:
    M mlir/lib/Dialect/Linalg/TransformOps/LinalgTransformOps.cpp

  Log Message:
  -----------
  [mlir][linalg] Remove redundant checks for variable(NFC) (#122731)

This PR removes the redundant checks for the `supported` variable, as
it's guaranteed to be true.


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

  Changed paths:
    M mlir/include/mlir/Interfaces/ViewLikeInterface.h
    M mlir/lib/Interfaces/ViewLikeInterface.cpp

  Log Message:
  -----------
  [mlir][Interfaces][NFC] Update doc of ViewLikeOpInterface parser/printer handlers (#122555)

This PR addresses part of the feedback provided in #115808.


  Commit: 0294dab79e24cc4fc41e2d9fc77ad02730e412bc
      https://github.com/llvm/llvm-project/commit/0294dab79e24cc4fc41e2d9fc77ad02730e412bc
  Author: LiqinWeng <liqin.weng at spacemit.com>
  Date:   2025-01-15 (Wed, 15 Jan 2025)

  Changed paths:
    M llvm/lib/Transforms/Vectorize/VPlan.h
    M llvm/lib/Transforms/Vectorize/VPlanRecipes.cpp
    M llvm/test/Transforms/LoopVectorize/X86/reduction-fastmath.ll
    M llvm/test/Transforms/LoopVectorize/epilog-vectorization-reductions.ll
    A llvm/test/Transforms/LoopVectorize/select-with-fastflags.ll
    M llvm/test/Transforms/LoopVectorize/vplan-printing.ll

  Log Message:
  -----------
  [LV][VPlan] Add fast flags for selectRecipe (#121023)

Change the inheritance of class VPWidenSelectRecipe to class
VPRecipeWithIRFlags, which allows recipe of the select to pass the
fastmath flags.The patch of #119847 will add the fastmath flag to for
recipe


  Commit: 2a5281d0e0000c04606ef86a2cf9c458d9adafef
      https://github.com/llvm/llvm-project/commit/2a5281d0e0000c04606ef86a2cf9c458d9adafef
  Author: Lang Hames <lhames at gmail.com>
  Date:   2025-01-15 (Wed, 15 Jan 2025)

  Changed paths:
    M compiler-rt/test/orc/TestCases/Darwin/x86-64/objc-imageinfo.S

  Log Message:
  -----------
  [ORC-RT] Fix missing '\' line continuations in objc-imageinfo.S test.

These missing continuations were causing commands in this testcase to fail.


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

  Changed paths:
    M clang/lib/CodeGen/BackendUtil.cpp
    M llvm/lib/Passes/PassBuilder.cpp

  Log Message:
  -----------
  [NFC][BoundsChecking] Address #122576 review comments (#122773)


  Commit: 21ade5ae2978b7b809b59b70d63099c87b36dc61
      https://github.com/llvm/llvm-project/commit/21ade5ae2978b7b809b59b70d63099c87b36dc61
  Author: Lang Hames <lhames at gmail.com>
  Date:   2025-01-15 (Wed, 15 Jan 2025)

  Changed paths:
    M llvm/lib/ExecutionEngine/JITLink/EHFrameSupport.cpp

  Log Message:
  -----------
  [JITLink] Fix indentation in debugging output.


  Commit: 9c5001e45491ae8b1b2967d2fa48f445799c88ae
      https://github.com/llvm/llvm-project/commit/9c5001e45491ae8b1b2967d2fa48f445799c88ae
  Author: Lang Hames <lhames at gmail.com>
  Date:   2025-01-15 (Wed, 15 Jan 2025)

  Changed paths:
    M llvm/include/llvm/ExecutionEngine/JITLink/JITLink.h
    M llvm/lib/ExecutionEngine/JITLink/COFFLinkGraphBuilder.cpp
    M llvm/lib/ExecutionEngine/Orc/MachOPlatform.cpp
    M llvm/unittests/ExecutionEngine/JITLink/LinkGraphTests.cpp

  Log Message:
  -----------
  [JITLink] Add convenience methods to LinkGraph to find symbols by name.

Adds new convenience methods findDefinedSymbolByName, findExternalSymbolByName
and findAbsoluteSymbolByName to the LinkGraph class. These should be used to
find symbols of the given types by name.

COFFLinkGraphBuilder and MachOPlatform are updated to take advantage of the
new methods.


  Commit: 9f48bb637eeb40e40bb9e2927ea97b58684ece3a
      https://github.com/llvm/llvm-project/commit/9f48bb637eeb40e40bb9e2927ea97b58684ece3a
  Author: Lang Hames <lhames at gmail.com>
  Date:   2025-01-15 (Wed, 15 Jan 2025)

  Changed paths:
    M llvm/lib/ExecutionEngine/JITLink/EHFrameSupportImpl.h

  Log Message:
  -----------
  [JITLink] Document EHFrameEdgeFixer's handling of implicit relocations. NFC.

On platfarms where some relocations for eh-frame sections are implicit (e.g.
MachO/x86-64) EHFrameEdgeFixer is responsible for adding edges for the
implicit relocations.


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

  Changed paths:
    M llvm/tools/llvm-exegesis/lib/RISCV/Target.cpp

  Log Message:
  -----------
  [RISCV][llvm-exegesis] Simplify copying a SmallVector to a std::vector. NFC (#122988)


  Commit: 9ac6a55ec54fe4cd4a99c69ef1a4ddaea49e6688
      https://github.com/llvm/llvm-project/commit/9ac6a55ec54fe4cd4a99c69ef1a4ddaea49e6688
  Author: Nathan Ridge <zeratul976 at hotmail.com>
  Date:   2025-01-14 (Tue, 14 Jan 2025)

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

  Log Message:
  -----------
  [clang][AST] Assert that DependentNameType's Name and NNS are not null (#122418)

Also clarify the comment above DependentNameType::getIdentifier()


  Commit: c4fb7180cbbe977f1ab1ce945a691550f8fdd1fb
      https://github.com/llvm/llvm-project/commit/c4fb7180cbbe977f1ab1ce945a691550f8fdd1fb
  Author: Greg Clayton <gclayton at fb.com>
  Date:   2025-01-14 (Tue, 14 Jan 2025)

  Changed paths:
    M lldb/include/lldb/Target/SectionLoadHistory.h
    M lldb/include/lldb/Target/Target.h
    M lldb/source/API/SBBreakpoint.cpp
    M lldb/source/Breakpoint/BreakpointLocationList.cpp
    M lldb/source/Commands/CommandObjectDisassemble.cpp
    M lldb/source/Commands/CommandObjectRegister.cpp
    M lldb/source/Commands/CommandObjectSource.cpp
    M lldb/source/Commands/CommandObjectTarget.cpp
    M lldb/source/Core/Address.cpp
    M lldb/source/Core/Disassembler.cpp
    M lldb/source/Core/DumpDataExtractor.cpp
    M lldb/source/Core/FormatEntity.cpp
    M lldb/source/Core/Section.cpp
    M lldb/source/Core/Value.cpp
    M lldb/source/DataFormatters/CXXFunctionPointer.cpp
    M lldb/source/Expression/ObjectFileJIT.cpp
    M lldb/source/Plugins/Architecture/Mips/ArchitectureMips.cpp
    M lldb/source/Plugins/Disassembler/LLVMC/DisassemblerLLVMC.cpp
    M lldb/source/Plugins/DynamicLoader/MacOSX-DYLD/DynamicLoaderMacOS.cpp
    M lldb/source/Plugins/DynamicLoader/Static/DynamicLoaderStatic.cpp
    M lldb/source/Plugins/InstrumentationRuntime/TSan/InstrumentationRuntimeTSan.cpp
    M lldb/source/Plugins/JITLoader/GDB/JITLoaderGDB.cpp
    M lldb/source/Plugins/LanguageRuntime/CPlusPlus/CPPLanguageRuntime.cpp
    M lldb/source/Plugins/ObjectFile/ELF/ObjectFileELF.cpp
    M lldb/source/Plugins/ObjectFile/Mach-O/ObjectFileMachO.cpp
    M lldb/source/Plugins/ObjectFile/PECOFF/ObjectFilePECOFF.cpp
    M lldb/source/Plugins/ObjectFile/Placeholder/ObjectFilePlaceholder.cpp
    M lldb/source/Plugins/Process/minidump/ProcessMinidump.cpp
    M lldb/source/Plugins/Trace/intel-pt/TraceIntelPTBundleSaver.cpp
    M lldb/source/Symbol/ObjectFile.cpp
    M lldb/source/Target/ProcessTrace.cpp
    M lldb/source/Target/SectionLoadHistory.cpp
    M lldb/source/Target/Target.cpp
    M lldb/source/Target/ThreadPlanStepInRange.cpp
    M lldb/source/Target/ThreadPlanTracer.cpp

  Log Message:
  -----------
  [lldb][NFC] Make the target's SectionLoadList private. (#113278)

Lots of code around LLDB was directly accessing the target's section
load list. This NFC patch makes the section load list private so the
Target class can access it, but everyone else now uses accessor
functions. This allows us to control the resolving of addresses and will
allow for functionality in LLDB which can lazily resolve addresses in
JIT plug-ins with a future patch.


  Commit: 273a94b3d5a78cd9122c7b3bbb5d5a87147735d2
      https://github.com/llvm/llvm-project/commit/273a94b3d5a78cd9122c7b3bbb5d5a87147735d2
  Author: Alex MacLean <amaclean at nvidia.com>
  Date:   2025-01-14 (Tue, 14 Jan 2025)

  Changed paths:
    M llvm/lib/Target/NVPTX/NVPTXInstrInfo.td
    M llvm/lib/Target/NVPTX/NVPTXIntrinsics.td
    M llvm/test/CodeGen/NVPTX/arithmetic-int.ll
    M llvm/test/CodeGen/NVPTX/fma.ll
    M llvm/test/CodeGen/NVPTX/i128.ll
    M llvm/test/CodeGen/NVPTX/shift-parts.ll

  Log Message:
  -----------
  [NVPTX] Add some more immediate instruction variants (#122746)

While this likely won't impact the final SASS, it makes for more compact
PTX.


  Commit: 02403f4e450b86d93197dd34045ff40a34b21494
      https://github.com/llvm/llvm-project/commit/02403f4e450b86d93197dd34045ff40a34b21494
  Author: Luke Lau <luke at igalia.com>
  Date:   2025-01-15 (Wed, 15 Jan 2025)

  Changed paths:
    M llvm/test/CodeGen/RISCV/rvv/strided-load-store.ll

  Log Message:
  -----------
  [RISCV] Split strided-load-store.ll tests into EVL and VP. NFC

None of the changes in #122232 or the upcoming #122244 are specific to
the EVL, so split out the EVL tail-folded loops into separate
"integration tests" that reflect the output of the loop vectorizer.


  Commit: 030d48b7db9845f42bf3ef365193bfdbb23f5440
      https://github.com/llvm/llvm-project/commit/030d48b7db9845f42bf3ef365193bfdbb23f5440
  Author: Bevin Hansson <bevin.hansson at ericsson.com>
  Date:   2025-01-15 (Wed, 15 Jan 2025)

  Changed paths:
    M clang-tools-extra/clangd/CodeComplete.cpp
    M clang-tools-extra/clangd/unittests/CodeCompleteTests.cpp

  Log Message:
  -----------
  [clangd] Augment code completion results with documentation from the index. (#120099)

When looking up code completions from Sema, there is no associated
documentation. This is due to crash issues with stale preambles.
However, this also means that code completion results from other
than the main file do not have documentation in certain cases,
which is a bad user experience.

This patch performs a lookup into the index using the code
completion result declarations to find documentation, and
attaches it to the results.

Fixes clangd/clangd#2252
Fixes clangd/clangd#564


  Commit: 2504693d75c6ed1047955dd6e65ce9d4c1a164c8
      https://github.com/llvm/llvm-project/commit/2504693d75c6ed1047955dd6e65ce9d4c1a164c8
  Author: Longsheng Mou <longshengmou at gmail.com>
  Date:   2025-01-15 (Wed, 15 Jan 2025)

  Changed paths:
    M llvm/lib/Target/ARM/AsmParser/ARMAsmParser.cpp

  Log Message:
  -----------
  [ARM][NFC] Remove redundant sub-expressions (#122911)

This PR removes redundant sub-expressions `Mnemonic != "vqmovnt"`, which
is mentioned in https://pvs-studio.com/en/blog/posts/cpp/1188/.


  Commit: 135f39c780ac106ac93ef0838a62d7ebf947c2a0
      https://github.com/llvm/llvm-project/commit/135f39c780ac106ac93ef0838a62d7ebf947c2a0
  Author: Michael Liao <michael.hliao at gmail.com>
  Date:   2025-01-15 (Wed, 15 Jan 2025)

  Changed paths:
    M llvm/tools/spirv-tools/CMakeLists.txt

  Log Message:
  -----------
  [SPIR-V] Fix a typo in cmake. NFC

- It should be '${SPIRV_AS}' that is linked or copied to 'spirv-as',
  instead of '${SPIRV_VAL}'


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

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

  Log Message:
  -----------
  [NFC][LoopVectorize] Add more loop early exit asserts (#122732)

This patch is split off #120567, adding asserts in
addScalarResumePhis and addExitUsersForFirstOrderRecurrences
that the loop does not contain an uncountable early exit,
since the code cannot yet handle them correctly.


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

  Changed paths:
    M clang/docs/ReleaseNotes.rst
    M clang/include/clang/AST/DeclBase.h
    M clang/include/clang/AST/ExternalASTMerger.h
    M clang/include/clang/AST/ExternalASTSource.h
    M clang/include/clang/Sema/MultiplexExternalSemaSource.h
    M clang/include/clang/Serialization/ASTBitCodes.h
    M clang/include/clang/Serialization/ASTReader.h
    M clang/include/clang/Serialization/ASTWriter.h
    M clang/lib/AST/DeclBase.cpp
    M clang/lib/AST/ExternalASTMerger.cpp
    M clang/lib/AST/ExternalASTSource.cpp
    M clang/lib/Interpreter/CodeCompletion.cpp
    M clang/lib/Sema/MultiplexExternalSemaSource.cpp
    M clang/lib/Serialization/ASTReader.cpp
    M clang/lib/Serialization/ASTReaderDecl.cpp
    M clang/lib/Serialization/ASTReaderInternals.h
    M clang/lib/Serialization/ASTWriter.cpp
    M clang/lib/Serialization/ASTWriterDecl.cpp
    M clang/test/CXX/basic/basic.scope/basic.scope.namespace/p2.cpp
    M clang/test/CXX/module/basic/basic.link/p2.cppm
    M clang/test/CXX/module/module.import/p2.cpp
    M clang/test/CXX/module/module.interface/p7.cpp
    M clang/test/CXX/module/module.reach/p5.cpp
    M clang/test/Modules/Reachability-template-default-arg.cpp
    M clang/test/Modules/cxx20-10-1-ex2.cpp
    M clang/test/Modules/deduction-guide3.cppm
    A clang/test/Modules/module-local-with-templates.cppm
    A clang/test/Modules/pr90154.cppm
    M clang/unittests/AST/ExternalASTSourceTest.cpp
    M lldb/source/Plugins/ExpressionParser/Clang/ASTUtils.h
    M lldb/source/Plugins/ExpressionParser/Clang/ClangASTSource.cpp
    M lldb/source/Plugins/ExpressionParser/Clang/ClangASTSource.h
    M lldb/source/Plugins/ExpressionParser/Clang/ClangExternalASTSourceCallbacks.cpp
    M lldb/source/Plugins/ExpressionParser/Clang/ClangExternalASTSourceCallbacks.h
    M lldb/source/Plugins/LanguageRuntime/ObjC/AppleObjCRuntime/AppleObjCDeclVendor.cpp

  Log Message:
  -----------
  [C++20] [Modules] Support module level lookup (#122887)

Close https://github.com/llvm/llvm-project/issues/90154

This patch is also an optimization to the lookup process to utilize the
information provided by `export` keyword.

Previously, in the lookup process, the `export` keyword only takes part
in the check part, it doesn't get involved in the lookup process. That
said, previously, in a name lookup for 'name', we would load all of
declarations with the name 'name' and check if these declarations are
valid or not. It works well. But it is inefficient since it may load
declarations that may not be wanted.

Note that this patch actually did a trick in the lookup process instead
of bring module information to DeclarationName or considering module
information when deciding if two declarations are the same. So it may
not be a surprise to me if there are missing cases. But it is not a
regression. It should be already the case. Issue reports are welcomed.

In this patch, I tried to split the big lookup table into a lookup table
as before and a module local lookup table, which takes a combination of
the ID of the DeclContext and hash value of the primary module name as
the key. And refactored `DeclContext::lookup()` method to take the
module information. So that a lookup in a DeclContext won't load
declarations that are local to **other** modules.

And also I think it is already beneficial to split the big lookup table
since it may reduce the conflicts during lookups in the hash table.

BTW, this patch introduced a **regression** for a reachability rule in
C++20 but it was false-negative. See
'clang/test/CXX/module/module.interface/p7.cpp' for details.

This patch is not expected to introduce any other
regressions for non-c++20-modules users since the module local lookup
table should be empty for them.

---

On the API side, this patch unfortunately add a maybe-confusing argument
`Module *NamedModule` to
`ExternalASTSource::FindExternalVisibleDeclsByName()`. People may think
we can get the information from the first argument `const DeclContext
*DC`. But sadly there are declarations (e.g., namespace) can appear in
multiple different modules as a single declaration. So we have to add
additional information to indicate this.


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

  Changed paths:
    M clang/lib/AST/ByteCode/Compiler.cpp
    M clang/test/SemaCXX/ptrauth-type-discriminator.cpp

  Log Message:
  -----------
  [clang][bytecode] Handle UETT_PtrAuthTypeDiscriminator (#122941)


  Commit: 929eb500d4c9b3fff0693c49fd55c8093dc1ad62
      https://github.com/llvm/llvm-project/commit/929eb500d4c9b3fff0693c49fd55c8093dc1ad62
  Author: ziereis <44057120+ziereis at users.noreply.github.com>
  Date:   2025-01-15 (Wed, 15 Jan 2025)

  Changed paths:
    M mlir/lib/Dialect/Vector/Transforms/VectorEmulateNarrowType.cpp
    M mlir/test/Dialect/Vector/vector-rewrite-narrow-types.mlir

  Log Message:
  -----------
  [mlir] Rewrites for I2 to I8 signed and unsigned extension (#121298)

Adds rewrites for i2 to i8 signed and unsigned extension, similar to the
ones that already exist for i4 to i8 conversion.

I use this for i6 quantized models, and this gives me roughly a 2x
speedup for an i6 4096x4096 dequantization-matmul on an AMD 5950x.

I didn't add the rewrite for i8 to i2 truncation because I currently
don't use it, but if this is needed, I can add it as well.

---------

Co-authored-by: Andrzej Warzyński <andrzej.warzynski at gmail.com>


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

  Changed paths:
    M llvm/lib/Target/X86/X86ISelLowering.cpp
    M llvm/test/CodeGen/X86/shuffle-vs-trunc-128.ll
    M llvm/test/CodeGen/X86/shuffle-vs-trunc-512.ll
    M llvm/test/CodeGen/X86/trunc-vector-width.ll
    M llvm/test/CodeGen/X86/vector-interleaved-load-i8-stride-4.ll
    M llvm/test/CodeGen/X86/vector-interleaved-load-i8-stride-5.ll
    M llvm/test/CodeGen/X86/vector-interleaved-load-i8-stride-6.ll
    M llvm/test/CodeGen/X86/vector-interleaved-load-i8-stride-7.ll
    M llvm/test/CodeGen/X86/vector-interleaved-load-i8-stride-8.ll
    M llvm/test/CodeGen/X86/vector-interleaved-store-i8-stride-5.ll
    M llvm/test/CodeGen/X86/vector-interleaved-store-i8-stride-7.ll
    M llvm/test/CodeGen/X86/vector-shuffle-combining-avx2.ll
    M llvm/test/CodeGen/X86/x86-interleaved-access.ll

  Log Message:
  -----------
  [X86] lowerShuffleWithUndefHalf - don't split vXi8 unary shuffles if the 128-bit source lanes are already in place (#122919)

Allows us to use PSHUFB to shuffle the lanes, and then perform a sub-lane permutation down to the lower half

Fixes #116815


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

  Changed paths:
    M llvm/tools/llvm-exegesis/lib/RISCV/Target.cpp

  Log Message:
  -----------
  [RISCV][llvm-exegesis] Disable pseudo instructions in allowAsBackToBack. (#122986)

Prevents crashes trying to encode pseudo instuctions. Tested on HiFive
Premier P550.

Fixes #122974


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

  Changed paths:
    M mlir/include/mlir/IR/BuiltinTypeInterfaces.h
    M mlir/include/mlir/IR/BuiltinTypeInterfaces.td
    M mlir/include/mlir/IR/BuiltinTypes.h
    M mlir/include/mlir/IR/BuiltinTypes.td
    M mlir/lib/IR/BuiltinTypeInterfaces.cpp
    M mlir/lib/IR/BuiltinTypes.cpp
    M mlir/unittests/IR/InterfaceAttachmentTest.cpp

  Log Message:
  -----------
  [mlir][IR] Turn `FloatType` into a type interface (#118891)

This makes it possible to add new MLIR floating point types in
downstream projects. (Adding new APFloat semantics in downstream
projects is not possible yet, so parsing/printing/converting float
literals of newly added types is not supported.)

Also removes two functions where we had to hard-code all existing
floating point types (`FloatType::classof`). See discussion here:
https://discourse.llvm.org/t/rethink-on-approach-to-low-precision-fp-types/82361

No measurable compilation time changes for these lit tests:
```
Benchmark 1: mlir-opt ./mlir/test/Conversion/VectorToLLVM/vector-to-llvm.mlir -split-input-file -convert-vector-to-llvm -o /dev/null
  BEFORE
  Time (mean ± σ):     248.4 ms ±   3.2 ms    [User: 237.0 ms, System: 20.1 ms]
  Range (min … max):   243.3 ms … 255.9 ms    30 runs

  AFTER
  Time (mean ± σ):     246.8 ms ±   3.2 ms    [User: 233.2 ms, System: 21.8 ms]
  Range (min … max):   240.2 ms … 252.1 ms    30 runs


Benchmark 2: mlir-opt- ./mlir/test/Dialect/Arith/canonicalize.mlir -split-input-file -canonicalize -o /dev/null
  BEFORE
  Time (mean ± σ):      37.3 ms ±   1.8 ms    [User: 31.6 ms, System: 30.4 ms]
  Range (min … max):    34.6 ms …  42.0 ms    200 runs

  AFTER
  Time (mean ± σ):      37.5 ms ±   2.0 ms    [User: 31.5 ms, System: 29.2 ms]
  Range (min … max):    34.5 ms …  43.0 ms    200 runs


Benchmark 3: mlir-opt ./mlir/test/Dialect/Tensor/canonicalize.mlir -split-input-file -canonicalize -allow-unregistered-dialect -o /dev/null
  BEFORE
  Time (mean ± σ):     152.2 ms ±   2.5 ms    [User: 140.1 ms, System: 12.2 ms]
  Range (min … max):   147.6 ms … 161.8 ms    200 runs

  AFTER
  Time (mean ± σ):     151.9 ms ±   2.7 ms    [User: 140.5 ms, System: 11.5 ms]
  Range (min … max):   147.2 ms … 159.1 ms    200 runs
```

A micro benchmark that parses + prints 32768 floats with random
floating-point type shows a slowdown from 55.1 ms -> 48.3 ms.


  Commit: af656a8d4245069f70f5b5e1f654ec9291d3b0a3
      https://github.com/llvm/llvm-project/commit/af656a8d4245069f70f5b5e1f654ec9291d3b0a3
  Author: Stephen Senran Zhang <zsrkmyn at gmail.com>
  Date:   2025-01-15 (Wed, 15 Jan 2025)

  Changed paths:
    M llvm/lib/Analysis/LazyValueInfo.cpp
    A llvm/test/Transforms/CorrelatedValuePropagation/ctpop-range.ll

  Log Message:
  -----------
  [LVI] Learn value ranges from ctpop results (#121945)

Fixes #115751.


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

  Changed paths:
    M clang/lib/Driver/Driver.cpp
    M clang/test/Driver/modules-print-library-module-manifest-path.cpp

  Log Message:
  -----------
  [C++20] [Modules] [Driver] Support -print-library-module-manifest-path for libstdc++

Given libstdc++ has landed std module, the build systems may need clang
to find the configuration file to understand how to build the std
module. This patch did this. Tested with locally installed GCC-trunk.


  Commit: 4cec0ba92955c353c52efe728b2cfef3fbdf60f8
      https://github.com/llvm/llvm-project/commit/4cec0ba92955c353c52efe728b2cfef3fbdf60f8
  Author: Timm Baeder <tbaeder at redhat.com>
  Date:   2025-01-15 (Wed, 15 Jan 2025)

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

  Log Message:
  -----------
  [clang][bytecode][NFC] Simplify VisitCXXDefaultArgExpr (#123024)

We have `discard()` these days.


  Commit: 04b002bbb838bc502bd6d5f602af95efd6cc96b3
      https://github.com/llvm/llvm-project/commit/04b002bbb838bc502bd6d5f602af95efd6cc96b3
  Author: Sergey Kachkov <109674256+skachkov-sc at users.noreply.github.com>
  Date:   2025-01-15 (Wed, 15 Jan 2025)

  Changed paths:
    M llvm/include/llvm/IR/IRBuilder.h
    M llvm/lib/IR/IRBuilder.cpp
    M llvm/lib/Transforms/Instrumentation/MemorySanitizer.cpp

  Log Message:
  -----------
  [IRBuilder] Add Align argument for CreateMaskedExpandLoad and CreateMaskedCompressStore (#122878)

This patch adds possibility to specify alignment for
llvm.masked.expandload/llvm.masked.compressstore intrinsics in IRBuilder
(this is mostly NFC for now since it's only used in MemorySanitizer, but
there is an intention to generate these intrinsics in the compiler
passes, e.g. in LoopVectorizer)


  Commit: b3924cb9ecc95aa428d48e58ef5f2629f5166e02
      https://github.com/llvm/llvm-project/commit/b3924cb9ecc95aa428d48e58ef5f2629f5166e02
  Author: Mariusz Sikora <mariusz.sikora at amd.com>
  Date:   2025-01-15 (Wed, 15 Jan 2025)

  Changed paths:
    M llvm/include/llvm/IR/IntrinsicsAMDGPU.td
    M llvm/test/CodeGen/AMDGPU/sink-image-sample.ll

  Log Message:
  -----------
  [AMDGPU] Set Convergent property for image.(getlod/sample*) intrinsics which uses WQM (#122908)

This change adds IntrConvergent property to image.getlod intrinsic and
to several image.sample intrinsics. All image.sample intrinsics apart
from LOD(_L), Level 0(_LZ), Derivative(_D) will be marked as Convergent.


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

  Changed paths:
    M lldb/include/lldb/Core/Disassembler.h
    M lldb/source/API/SBFunction.cpp
    M lldb/source/API/SBInstructionList.cpp
    M lldb/source/Core/Disassembler.cpp
    M lldb/source/Symbol/Function.cpp
    M lldb/test/Shell/ScriptInterpreter/Python/sb_function_ranges.s

  Log Message:
  -----------
  [lldb] Implement (SB)Function::GetInstructions for discontinuous functions (#122933)

The main change is to permit the disassembler class to process/store
multiple (discontinuous) ranges of addresses. The result is not
ambiguous because each instruction knows its size (in addition to its
address), so we can check for discontinuity by looking at whether the
next instruction begins where the previous ends.

This patch doesn't handle the "disassemble" CLI command, which uses a
more elaborate mechanism for disassembling and printing instructions.


  Commit: e4708260c7e9eeb817cafa6db9eee2569f00b5d2
      https://github.com/llvm/llvm-project/commit/e4708260c7e9eeb817cafa6db9eee2569f00b5d2
  Author: Jack Frankland <jack.frankland at arm.com>
  Date:   2025-01-15 (Wed, 15 Jan 2025)

  Changed paths:
    M mlir/utils/vim/ftplugin/mlir.vim

  Log Message:
  -----------
  [vim] Improve `iskeyword` for MLIR (#121750)

Define keywords for the MLIR syntax. This allows better recognition of
semantic constructs such as SSA value identification e.g. `%foo` which
gives improved motion handling when using 'word based' such as `w, e`.

This is based on the work done for the LLVM IR in
8c46413f343d0a5b8db48d958890b9038f03b70d.

Signed-off-by: Jack Frankland <jack.frankland at arm.com>


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

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

  Log Message:
  -----------
  [DAG] replaceShuffleOfInsert - convert INSERT_VECTOR_ELT matching to use SDPatternMatch helpers. NFC.


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

  Changed paths:
    M clang/include/clang/Driver/Multilib.h
    M clang/lib/Driver/Multilib.cpp
    A clang/test/Driver/baremetal-multilib-custom-flags-parsing.yaml

  Log Message:
  -----------
  [Multilib] Custom flags YAML parsing (#122903)

This patch is the first step to extend the current multilib system to
support the selection of library variants which do not correspond to
existing command-line options.

Proposal can be found in
https://discourse.llvm.org/t/rfc-multilib-custom-flags/81058

The multilib mechanism supports libraries that target code generation or
language options such as `--target`, `-mcpu`, `-mfpu`,
`-mbranch-protection`. However, some library variants are particular to
features that do not correspond to any command-line options. Examples
include variants for multithreading and semihosting.

This work introduces a way to instruct the multilib system to consider
these features in library selection. This particular patch comprises a
new section in `multilib.yaml` to declare flags for which no option
exists. Henceforth this sort of flag will be called `custom flag` for
clarity.

The `multilib.yaml` file will have a new section called Flags which
contains the declarations of the target’s custom flags:

```yaml
Flags:
- Name: multithreaded
  Values:
  - Name: no-multithreaded
    MacroDefines: [__SINGLE_THREAD__]
  - Name: multithreaded
  Default: no-multithreaded

- Name: io
  Values:
    - Name: io-none
    - Name: io-semihosting
      MacroDefines: [SEMIHOSTING]
    - Name: io-linux-syscalls
      MacroDefines: [LINUX_SYSCALLS, HOSTED=1]
   Default: io-none
```
- Name: the name to categorize a flag.
- Values: a list of possible values.
- Default: it specifies which value this flag should take if not
specified in the command-line invocation. It must be one value from the
Values field.

Each flag Value follows this description:
- Name (required): the name of the custom flag value (string). This is
the string to be used in `-fmultilib-flag=<string>`.
- MacroDefines (optional): a list of strings to be used as macro
definitions. Each string
  is fed into the driver as ``-D<string>``.

A Default value is useful to save users from specifying custom flags
that have a most commonly used value.

The namespace of flag values is common across all flags. This means that
flag values must be unique.


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

  Changed paths:
    A libclc/clc/include/clc/geometric/floatn.inc
    M libclc/clc/include/clc/integer/gentype.inc
    M libclc/clc/include/clc/math/gentype.inc
    M libclc/clc/include/clc/math/unary_intrin.inc
    M libclc/clc/include/clc/relational/clc_all.h
    M libclc/clc/include/clc/relational/clc_any.h
    M libclc/clc/include/clc/relational/clc_isequal.h
    M libclc/clc/include/clc/relational/clc_isinf.h
    M libclc/clc/include/clc/relational/clc_isnan.h
    M libclc/clc/include/clc/relational/floatn.inc
    M libclc/clc/include/clc/shared/clc_clamp.h
    R libclc/generic/include/clc/geometric/floatn.inc

  Log Message:
  -----------
  [libclc] Add missing includes to CLC headers (#118654)

There's no automatic way of checking these headers are self-contained.

Instead of including these common files many times across the whole
codebase, we can include them in the generic `gentype.inc` and
`floatn.inc` files which are included by most CLC headers.


  Commit: 9bc88280931e3b08adfab6951047191dfe12392b
      https://github.com/llvm/llvm-project/commit/9bc88280931e3b08adfab6951047191dfe12392b
  Author: Sergio Afonso <safonsof at amd.com>
  Date:   2025-01-15 (Wed, 15 Jan 2025)

  Changed paths:
    M llvm/include/llvm/Frontend/OpenMP/OMPIRBuilder.h
    M llvm/lib/Frontend/OpenMP/OMPIRBuilder.cpp
    M llvm/unittests/Frontend/OpenMPIRBuilderTest.cpp
    M mlir/lib/Target/LLVMIR/Dialect/OpenMP/OpenMPToLLVMIRTranslation.cpp
    A mlir/test/Target/LLVMIR/omptarget-if.mlir
    M mlir/test/Target/LLVMIR/openmp-todo.mlir

  Log Message:
  -----------
  [OMPIRBuilder][MLIR] Add support for target 'if' clause (#122478)

This patch implements support for handling the 'if' clause of OpenMP
'target' constructs in the OMPIRBuilder and updates MLIR to LLVM IR
translation of the `omp.target` MLIR operation to make use of this new
feature.


  Commit: 2a044f8a092efb27fa1837f953bce8237d41e59b
      https://github.com/llvm/llvm-project/commit/2a044f8a092efb27fa1837f953bce8237d41e59b
  Author: Will Froom <will.froom at gmail.com>
  Date:   2025-01-15 (Wed, 15 Jan 2025)

  Changed paths:
    M mlir/lib/Dialect/Vector/Transforms/VectorEmulateNarrowType.cpp

  Log Message:
  -----------
  [MLIR] Add [[maybe_unused]] to variables on used in assert (#123037)

Add [[maybe_unused]] to suppresses warnings when  `-NDEBUG` is enabled


  Commit: defd0d966d5ebae37787e76b86f2f2ff2a5cfd59
      https://github.com/llvm/llvm-project/commit/defd0d966d5ebae37787e76b86f2f2ff2a5cfd59
  Author: Schrodinger ZHU Yifan <yifanzhu at rochester.edu>
  Date:   2025-01-15 (Wed, 15 Jan 2025)

  Changed paths:
    M libc/config/linux/aarch64/entrypoints.txt
    M libc/config/linux/x86_64/entrypoints.txt
    M libc/config/windows/entrypoints.txt
    M libc/config/windows/headers.txt
    M libc/include/sys/random.yaml
    M libc/include/unistd.yaml
    M libc/src/CMakeLists.txt
    M libc/src/unistd/CMakeLists.txt
    A libc/src/unistd/getentropy.h
    M libc/src/unistd/linux/CMakeLists.txt
    A libc/src/unistd/linux/getentropy.cpp
    A libc/src/unistd/windows/CMakeLists.txt
    A libc/src/unistd/windows/getentropy.cpp
    M libc/test/src/CMakeLists.txt
    M libc/test/src/unistd/CMakeLists.txt
    A libc/test/src/unistd/getentropy_test.cpp

  Log Message:
  -----------
  [libc] implement unistd/getentropy (#122692)

Implement GNU extension getentropy. This function is used by many
programs to acquire entropy without handling the loop of getrandom.


  Commit: 9025c269aa0b394ea755978348f882f85013ed12
      https://github.com/llvm/llvm-project/commit/9025c269aa0b394ea755978348f882f85013ed12
  Author: David Green <david.green at arm.com>
  Date:   2025-01-15 (Wed, 15 Jan 2025)

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

  Log Message:
  -----------
  [AArch64] Add an extra test case for adds and subs combines. NFC


  Commit: e33f456ae591559883e89a1f18b2dec21225e90f
      https://github.com/llvm/llvm-project/commit/e33f456ae591559883e89a1f18b2dec21225e90f
  Author: LoS <kaffedesk at gmail.com>
  Date:   2025-01-15 (Wed, 15 Jan 2025)

  Changed paths:
    R clang/test/SemaCXX/warn-inconsistent-missing-destructor-override
    A clang/test/SemaCXX/warn-inconsistent-missing-destructor-override.cpp
    R clang/test/SemaCXX/warn-suggest-destructor-override
    A clang/test/SemaCXX/warn-suggest-destructor-override.cpp
    R clang/test/SemaCXX/warn-suggest-override
    A clang/test/SemaCXX/warn-suggest-override.cpp

  Log Message:
  -----------
  Fixed some warn-override tests in SemaCXX (#122680)

The `.cpp` extension have been added to test files, so that they can be
runned. Besides, the `warn-suggest-override.cpp` tests have been fixed.

---------

Co-authored-by: LoS <aurumpuro at gmail.com>


  Commit: c8bbbaa5c70a32f31a072740c87708be8f15f831
      https://github.com/llvm/llvm-project/commit/c8bbbaa5c70a32f31a072740c87708be8f15f831
  Author: jofrn <jofernau at amd.com>
  Date:   2025-01-15 (Wed, 15 Jan 2025)

  Changed paths:
    M llvm/lib/Target/AMDGPU/AMDGPUISelDAGToDAG.cpp
    M llvm/test/CodeGen/AMDGPU/flat-scratch-svs.ll

  Log Message:
  -----------
  [SelectionDAG][AMDGPU] Negative offset when selecting scratch sv offsets (#122251)

APInt will fail when given a negative offset. SelectScratchSVAddr
utilizes this function and can be given a negative offset as well, so
this change modifies it to use APSInt instead.


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

  Changed paths:
    M clang-tools-extra/clang-reorder-fields/ReorderFieldsAction.cpp
    A clang-tools-extra/test/clang-reorder-fields/Comments.cpp

  Log Message:
  -----------
  [clang-reorder-fields] Move trailing comments. (#122918)

Currently, trailing comments get mixed up:

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

becomes:

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

This should be:

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


  Commit: f9350c9325bccb95e94583685bbb9322a15da610
      https://github.com/llvm/llvm-project/commit/f9350c9325bccb95e94583685bbb9322a15da610
  Author: Vlad Serebrennikov <serebrennikov.vladislav at gmail.com>
  Date:   2025-01-15 (Wed, 15 Jan 2025)

  Changed paths:
    M .github/CODEOWNERS

  Log Message:
  -----------
  [clang][NFC] Update CODEOWNERS


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

  Changed paths:
    M llvm/include/llvm/Analysis/LoopAccessAnalysis.h
    M llvm/lib/Analysis/Loads.cpp
    M llvm/lib/Analysis/LoopAccessAnalysis.cpp
    M llvm/test/Transforms/LoopVectorize/X86/load-deref-pred.ll
    M llvm/test/Transforms/LoopVectorize/load-deref-pred-align.ll

  Log Message:
  -----------
  [LoopVectorize] Add support for reverse loops in isDereferenceableAndAlignedInLoop (#96752)

Currently when we encounter a negative step in the induction
variable isDereferenceableAndAlignedInLoop bails out because
the element size is signed greater than the step. This patch
adds support for negative steps in cases where we detect the
start address for the load is of the form base + offset. In
this case the address decrements in each iteration so we need
to calculate the access size differently. I have done this by
caling getStartAndEndForAccess from LoopAccessAnalysis.cpp.

The motivation for this patch comes from PR #88385 where a
reviewer requested reusing isDereferenceableAndAlignedInLoop,
but that PR itself does support reverse loops.

The changed test in LoopVectorize/X86/load-deref-pred.ll now
passes because previously we were calculating the total access
size incorrectly, whereas now it is 412 bytes and fits
perfectly into the alloca.


  Commit: b92e97bdd598f1d4676945c3e87d40404a367327
      https://github.com/llvm/llvm-project/commit/b92e97bdd598f1d4676945c3e87d40404a367327
  Author: Alex Bradbury <asb at igalia.com>
  Date:   2025-01-15 (Wed, 15 Jan 2025)

  Changed paths:
    A llvm/test/Analysis/BasicAA/memset-pattern.ll
    M llvm/test/Transforms/DeadStoreElimination/memory-intrinsics-sizes.ll

  Log Message:
  -----------
  [test] Pre-commit llvm.experimental.memset.pattern tests prior to MemoryLocation improvements

Reviewed as part of <https://github.com/llvm/llvm-project/pull/120421>.


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

  Changed paths:
    M compiler-rt/lib/sanitizer_common/sanitizer_platform_limits_freebsd.cpp
    M compiler-rt/lib/sanitizer_common/sanitizer_platform_limits_freebsd.h
    M compiler-rt/lib/sanitizer_common/sanitizer_platform_limits_netbsd.cpp
    M compiler-rt/lib/sanitizer_common/sanitizer_platform_limits_netbsd.h
    M compiler-rt/lib/sanitizer_common/sanitizer_platform_limits_solaris.cpp
    M compiler-rt/lib/sanitizer_common/sanitizer_platform_limits_solaris.h

  Log Message:
  -----------
  [compiler-rt][sanitizer_common] Fix for solaris and *BSD platforms proposal. (#122956)

To fix llvm#122795 build failures for these.


  Commit: e00d1dd6eaf46cf17080cdf506348ab8f037f6f2
      https://github.com/llvm/llvm-project/commit/e00d1dd6eaf46cf17080cdf506348ab8f037f6f2
  Author: Un1q32 <joey.t.reinhart at gmail.com>
  Date:   2025-01-15 (Wed, 15 Jan 2025)

  Changed paths:
    M clang/lib/Basic/Targets/ARM.cpp
    M clang/test/Preprocessor/arm-acle-6.4.c

  Log Message:
  -----------
  [ARM] Fix armv6kz LDREX definition (#122965)

Fixes #37901

This behavior is consistent with GCC


  Commit: d1314d0152f242c618caafce264fccbc47273d84
      https://github.com/llvm/llvm-project/commit/d1314d0152f242c618caafce264fccbc47273d84
  Author: Alex Bradbury <asb at igalia.com>
  Date:   2025-01-15 (Wed, 15 Jan 2025)

  Changed paths:
    M llvm/lib/Analysis/MemoryLocation.cpp
    M llvm/test/Analysis/BasicAA/memset-pattern.ll
    M llvm/test/Transforms/DeadStoreElimination/memory-intrinsics-sizes.ll

  Log Message:
  -----------
  [MemoryLocation] Teach MemoryLocation about llvm.experimental.memset.pattern (#120421)

Relates to (but isn't dependent on) #120420.

This allows alias analysis o the intrinsic of the same quality as for
the libcall, which we want in order to move LoopIdiomRecognize over to
selecting the intrinsic.


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

  Changed paths:
    M mlir/lib/Target/LLVMIR/Dialect/OpenMP/OpenMPToLLVMIRTranslation.cpp
    A mlir/test/Target/LLVMIR/openmp-target-simd-on_device.mlir

  Log Message:
  -----------
  [flang][OpenMP] Generalize fixing `alloca` IP pre-condition for `private` ops (#122866)

This PR generalizes a fix that we implemented previously for
`omp.wsloop`s. The fix makes sure the pre-condtion that the `alloca`
block has a single successor whenever we inline delayed privatizers is
respected. I simply moved the fix to `allocatePrivateVars` so that it
kicks in for any op not just `omp.wsloop`.

This handles a bug uncovered by [a
test](https://github.com/OpenMP-Validation-and-Verification/OpenMP_VV/blob/master/tests/4.5/target_simd/test_target_simd_safelen.F90)
in the OpenMP_VV test suite.


  Commit: 6ca560a9092e29c9f9817db6d6da09edd5f0ded7
      https://github.com/llvm/llvm-project/commit/6ca560a9092e29c9f9817db6d6da09edd5f0ded7
  Author: Boaz Brickner <brickner at google.com>
  Date:   2025-01-15 (Wed, 15 Jan 2025)

  Changed paths:
    M clang/include/clang/Tooling/Tooling.h
    M clang/lib/Tooling/Tooling.cpp
    M clang/unittests/Tooling/ToolingTest.cpp

  Log Message:
  -----------
  [clang] Add support for passing FileSystem to buildASTFromCodeWithArgs() (#123042)

This would allow tools that don't use the real file system to use this
function.


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

  Changed paths:
    M llvm/include/llvm/Analysis/LoopAccessAnalysis.h
    M llvm/lib/Analysis/Loads.cpp
    M llvm/lib/Analysis/LoopAccessAnalysis.cpp
    M llvm/test/Transforms/LoopVectorize/X86/load-deref-pred.ll
    M llvm/test/Transforms/LoopVectorize/load-deref-pred-align.ll

  Log Message:
  -----------
  Revert "[LoopVectorize] Add support for reverse loops in isDereferenceableAndAlignedInLoop (#96752)" (#123057)

This reverts commit bfedf6460c2cad6e6f966b457d8d27084579dcd8.


  Commit: cf2e828925dc8c9656e800387820b49be03109d6
      https://github.com/llvm/llvm-project/commit/cf2e828925dc8c9656e800387820b49be03109d6
  Author: Ramkumar Ramachandra <ramkumar.ramachandra at codasip.com>
  Date:   2025-01-15 (Wed, 15 Jan 2025)

  Changed paths:
    M llvm/test/Analysis/ScalarEvolution/2007-08-06-Unsigned.ll
    R llvm/test/Analysis/ScalarEvolution/implied-via-addition.ll
    M llvm/test/Analysis/ScalarEvolution/implied-via-division.ll
    M llvm/test/Analysis/ScalarEvolution/infer-prestart-no-wrap.ll
    A llvm/test/Transforms/IndVarSimplify/implied-via-addition.ll

  Log Message:
  -----------
  SCEV: regen some tests with UTC (#123050)

While at it, move a test that calls the IndVarSimplify pass into the
IndVarSimplify directory.


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

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

  Log Message:
  -----------
  [LLD][COFF] Move symbol mangling and lookup helpers to SymbolTable class (NFC) (#122836)

This refactor prepares for further ARM64X hybrid support, where these
helpers will need to work with either the native or EC symbol table
based on context.


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

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

  Log Message:
  -----------
  [AMDGPU] Use correct vector elt type when shrinking mfma scale (#123043)

This might be a copy/paste error. I don't think this an issue in
practice as the builtins/intrinsics are only legal with identical vector
element types.


  Commit: e9504c52edd796a22a879b381f17bd8ed235bfd4
      https://github.com/llvm/llvm-project/commit/e9504c52edd796a22a879b381f17bd8ed235bfd4
  Author: Andrzej Warzyński <andrzej.warzynski at arm.com>
  Date:   2025-01-15 (Wed, 15 Jan 2025)

  Changed paths:
    M mlir/test/Dialect/Vector/vector-sink.mlir

  Log Message:
  -----------
  [mlir][vector] Add tests for populateSinkVectorOpsPatterns (2/N) (#122338)

Adds tests for scalable vectors in:

  * "vector-sink.mlir".

This test file exercises patterns included in
`populateSinkVectorOpsPatterns`:

  * `ReorderElementwiseOpsOnBroadcast`,
  * `ReorderCastOpsOnBroadcast`,
  * `ReorderElementwiseOpsOnTranspose`.

This PR focuses on adding tests for the latter two patterns
(`ReorderCastOpsOnBroadcast` and `ReorderElementwiseOpsOnTranspose`).

Tests for `ReorderElementwiseOpsOnBroadcast` were added in #102286. Please
note that in PR #102856, I renamed:

  * `populateSinkVectorBroadcastPatterns`, to
  * `populateSinkVectorOpsPatterns`.


  Commit: c593e3d0f77509ce65a6f5bd744f2d1ea9935c47
      https://github.com/llvm/llvm-project/commit/c593e3d0f77509ce65a6f5bd744f2d1ea9935c47
  Author: Kiran Chandramohan <kiran.chandramohan at arm.com>
  Date:   2025-01-15 (Wed, 15 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

  Log Message:
  -----------
  [Flang][Driver] Add a flag to control zero initialization of global v… (#122144)

…ariables

Patch adds a flag to control zero initialization of global variables
without default initialization. The default is to zero initialize.


  Commit: 44ba43aa2b740878d83a9d6f1d52a333c0d48c22
      https://github.com/llvm/llvm-project/commit/44ba43aa2b740878d83a9d6f1d52a333c0d48c22
  Author: Kiran Chandramohan <kiran.chandramohan at arm.com>
  Date:   2025-01-15 (Wed, 15 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
    R flang/test/Driver/fno-zero-init.f90
    R flang/test/Lower/zero_init.f90
    R flang/test/Lower/zero_init_default_init.f90

  Log Message:
  -----------
  Revert "[Flang][Driver] Add a flag to control zero initialization of global v…" (#123067)

Reverts llvm/llvm-project#122144

Reverting due to CI failure
https://lab.llvm.org/buildbot/#/builders/89/builds/14422


  Commit: ff862d6de92f478253a332ec48cfc2c2add76bb3
      https://github.com/llvm/llvm-project/commit/ff862d6de92f478253a332ec48cfc2c2add76bb3
  Author: vdonaldson <37090318+vdonaldson at users.noreply.github.com>
  Date:   2025-01-15 (Wed, 15 Jan 2025)

  Changed paths:
    M flang/include/flang/Evaluate/target.h
    M flang/include/flang/Optimizer/Builder/IntrinsicCall.h
    M flang/include/flang/Optimizer/Builder/Runtime/Exceptions.h
    M flang/include/flang/Runtime/exceptions.h
    M flang/include/flang/Runtime/magic-numbers.h
    M flang/include/flang/Tools/TargetSetup.h
    M flang/lib/Evaluate/target.cpp
    M flang/lib/Optimizer/Builder/IntrinsicCall.cpp
    M flang/lib/Optimizer/Builder/Runtime/Exceptions.cpp
    M flang/module/__fortran_ieee_exceptions.f90
    M flang/runtime/exceptions.cpp
    R flang/test/Lower/Intrinsics/ieee_femodes.f90
    R flang/test/Lower/Intrinsics/ieee_festatus.f90

  Log Message:
  -----------
  [flang] Modifications to ieee floating point environment procedures (#121949)

Intrinsic module procedures ieee_get_modes, ieee_set_modes,
ieee_get_status, and ieee_set_status store and retrieve opaque data
values whose size varies by machine and OS environment. These data
values are usually, but not always small. Their sizes are not directly
known in a cross compilation environment. Address this issue by
implementing two mechanisms for processing these data values.
Environments that use typical small data sizes can access storage
defined at compile time. When this is not valid, data storage of any
size can be allocated at runtime.


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

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

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

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

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

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


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

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

  Log Message:
  -----------
  [CodeGen] Migrate away from PointerUnion::dyn_cast (NFC) (#123013)

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 Data to be nonnull.


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

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

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

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 EnumUnderlying to be nonnull.


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

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

  Log Message:
  -----------
  [AsmParser] Avoid repeated map lookups (NFC) (#123015)


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

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

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


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

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

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


  Commit: 8ac35bda18229e28e1638756a5187aa2608a4b50
      https://github.com/llvm/llvm-project/commit/8ac35bda18229e28e1638756a5187aa2608a4b50
  Author: Yaxun (Sam) Liu <yaxun.liu at amd.com>
  Date:   2025-01-15 (Wed, 15 Jan 2025)

  Changed paths:
    M clang/include/clang/Driver/Driver.h
    M clang/lib/Driver/Driver.cpp
    M clang/test/Driver/hip-cuid.hip

  Log Message:
  -----------
  [CUDA][HIP] Support CUID in new driver (#122859)

CUID is needed by CUDA/HIP for supporting accessing static device
variables in host function.

Currently CUID is only supported by the old driver for CUDA/HIP. The new
driver does not support it, which causes CUDA/HIP programs using static
device variables in host functions to fail with the new driver for
CUDA/HIP.

This patch refactors the CUID support in the old driver so that CUID is
supported by both the old and the new drivers for CUDA/HIP.


  Commit: 3986cffe81128061b774c06d0ba42ff7340f2d76
      https://github.com/llvm/llvm-project/commit/3986cffe81128061b774c06d0ba42ff7340f2d76
  Author: Brad Smith <brad at comstyle.com>
  Date:   2025-01-15 (Wed, 15 Jan 2025)

  Changed paths:
    M lldb/source/Plugins/Process/Utility/CMakeLists.txt
    A lldb/source/Plugins/Process/Utility/OpenBSDSignals.cpp
    A lldb/source/Plugins/Process/Utility/OpenBSDSignals.h
    M lldb/source/Target/UnixSignals.cpp

  Log Message:
  -----------
  [lldb] Add OpenBSD signals (#123005)

Signals 1-32 are matching the default UNIX platform.

There are platform specific ones above 32.


  Commit: 740252164ed830502ff966628bc07be07e10159b
      https://github.com/llvm/llvm-project/commit/740252164ed830502ff966628bc07be07e10159b
  Author: Andrea Faulds <andrea.faulds at amd.com>
  Date:   2025-01-15 (Wed, 15 Jan 2025)

  Changed paths:
    M mlir/tools/mlir-cpu-runner/CMakeLists.txt

  Log Message:
  -----------
  [mlir-cpu-runner] Pass --exclude-libs to linker when building runner (#122920)

This fixes a conflict between the version of LLVM linked against by the
runner and the unrelated version of LLVM that may be dynamically loaded
by a graphics driver. (Relevant to #73457: fixes loading certain Vulkan
drivers.)

Recommit of f879da799b4e112d79243dde6d299259d8359eeb, which had been
reverted by d8d30a96031bfdad3e2c424e14a4247c14980cb5 due to it causing
UBSan/ASan/HWASan/MSan build failures.


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

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

  Log Message:
  -----------
  [gn build] Port 3986cffe8112


  Commit: 34d50721dbc62fc08e39ee68d12e41ccf9c88b44
      https://github.com/llvm/llvm-project/commit/34d50721dbc62fc08e39ee68d12e41ccf9c88b44
  Author: Konrad Kleine <kkleine at redhat.com>
  Date:   2025-01-15 (Wed, 15 Jan 2025)

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

  Log Message:
  -----------
  [MLIR][test] Check for ml_dtypes before running tests (#123061)

We noticed that `mlir/python/requirements.txt` lists `ml_dtypes` as a requirement but when looking at the code in `mlir/python`, the only `import` is guarded:

```python
try:
    import ml_dtypes
except ModuleNotFoundError:
    # The third-party ml_dtypes provides some optional low precision data-types for NumPy.
    ml_dtypes = None
```

This makes `ml_dtypes` an optional dependency.

Some python tests however partially depend on `ml_dtypes` and should not run if that module is unavailable. That is what this change does.

This is a replacement for #123051 which was excluding tests too broadly.


  Commit: 2570e354f15724fd2c731ef92d01f60e1444c8a9
      https://github.com/llvm/llvm-project/commit/2570e354f15724fd2c731ef92d01f60e1444c8a9
  Author: Andreas Jonson <andjo403 at hotmail.com>
  Date:   2025-01-15 (Wed, 15 Jan 2025)

  Changed paths:
    M llvm/lib/Transforms/InstCombine/InstCombineCalls.cpp
    M llvm/test/Transforms/InstCombine/assume.ll

  Log Message:
  -----------
  [InstCombine] Handle trunc to i1 in align assume. (#122949)

proof: https://alive2.llvm.org/ce/z/EyAUA4


  Commit: 07a184768cb8df4b43fcf0a9c45b1aa996888160
      https://github.com/llvm/llvm-project/commit/07a184768cb8df4b43fcf0a9c45b1aa996888160
  Author: Sarah Spall <sarahspall at microsoft.com>
  Date:   2025-01-15 (Wed, 15 Jan 2025)

  Changed paths:
    M clang/lib/Basic/TargetInfo.cpp
    A clang/test/CodeGenHLSL/Bool.hlsl
    M clang/test/SemaHLSL/BuiltIns/asfloat-errors.hlsl

  Log Message:
  -----------
  [HLSL] Make bool in hlsl i32 (#122977)

make a bool's memory representation i32 in hlsl
add new test
fix broken test
Closes #122932


  Commit: 2bfa7bc570d530d2f8aec02ada6f11d1a2459805
      https://github.com/llvm/llvm-project/commit/2bfa7bc570d530d2f8aec02ada6f11d1a2459805
  Author: Slava Zakharin <szakharin at nvidia.com>
  Date:   2025-01-15 (Wed, 15 Jan 2025)

  Changed paths:
    M flang/lib/Optimizer/HLFIR/IR/HLFIROps.cpp
    M flang/test/HLFIR/mul_transpose.f90

  Log Message:
  -----------
  [flang] Propagate fastmath flags to matmul_transpose. (#122842)


  Commit: 3bb969f3ebb25037e8eb69c30a5a0dfb5d9d0f51
      https://github.com/llvm/llvm-project/commit/3bb969f3ebb25037e8eb69c30a5a0dfb5d9d0f51
  Author: Slava Zakharin <szakharin at nvidia.com>
  Date:   2025-01-15 (Wed, 15 Jan 2025)

  Changed paths:
    M flang/include/flang/Optimizer/Builder/FIRBuilder.h
    M flang/include/flang/Optimizer/Builder/HLFIRTools.h
    M flang/include/flang/Optimizer/HLFIR/Passes.td
    M flang/lib/Optimizer/Builder/FIRBuilder.cpp
    M flang/lib/Optimizer/Builder/HLFIRTools.cpp
    M flang/lib/Optimizer/HLFIR/Transforms/SimplifyHLFIRIntrinsics.cpp
    M flang/lib/Optimizer/Passes/Pipelines.cpp
    M flang/test/Driver/mlir-pass-pipeline.f90
    M flang/test/Fir/basic-program.fir
    A flang/test/HLFIR/simplify-hlfir-intrinsics-matmul.fir

  Log Message:
  -----------
  [flang] Inline hlfir.matmul[_transpose]. (#122821)

Inlining `hlfir.matmul` as `hlfir.eval_in_mem` does not allow
to get rid of a temporary array in many cases, but it may still be
much better allowing to:
  * Get rid of any overhead related to calling runtime MATMUL
    (such as descriptors creation).
  * Use CPU-specific vectorization cost model for matmul loops,
    which Fortran runtime cannot currently do.
  * Optimize matmul of known-size arrays by complete unrolling.

One of the drawbacks of `hlfir.eval_in_mem` inlining is that
the ops inside it with store memory effects block the current
MLIR CSE, so I decided to run this inlining late in the pipeline.
There is a source commen explaining the CSE issue in more detail.

Straightforward inlining of `hlfir.matmul` as an `hlfir.elemental`
is not good for performance, and I got performance regressions
with it comparing to Fortran runtime implementation. I put it
under an enigneering option for experiments.

At the same time, inlining `hlfir.matmul_transpose` as `hlfir.elemental`
seems to be a good approach, e.g. it allows getting rid of a temporay
array in cases like: `A(:)=B(:)+MATMUL(TRANSPOSE(C(:,:)),D(:))`.

This patch improves performance of galgel and tonto a little bit.


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

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

  Log Message:
  -----------
  [LLD][COFF] Pull _load_config_used symbol from both symbol tables on ARM64X (#122837)


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

  Changed paths:
    M lld/COFF/Driver.cpp
    A lld/test/COFF/subsystem-arm64x.test

  Log Message:
  -----------
  [LLD][COFF] Infer subsystem from EC symbol table for ARM64X (#122838)


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

  Changed paths:
    M clang/include/clang/Driver/Driver.h

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

This patch fixes:

  clang/include/clang/Driver/Driver.h:82:3: error: definition of
  implicit copy assignment operator for 'CUIDOptions' is deprecated
  because it has a user-declared copy constructor
  [-Werror,-Wdeprecated-copy]


  Commit: 06499f3672afc371b653bf54422c2e80e1e27c90
      https://github.com/llvm/llvm-project/commit/06499f3672afc371b653bf54422c2e80e1e27c90
  Author: Andreas Jonson <andjo403 at hotmail.com>
  Date:   2025-01-15 (Wed, 15 Jan 2025)

  Changed paths:
    M llvm/include/llvm/Analysis/CmpInstAnalysis.h
    M llvm/lib/Analysis/CmpInstAnalysis.cpp
    M llvm/lib/Transforms/InstCombine/InstCombineAndOrXor.cpp

  Log Message:
  -----------
  [InstCombine] Prepare foldLogOpOfMaskedICmps to handle trunc to i1. (NFC) (#122179)


  Commit: 943b212d56795064248a13adb13253d64ac51a8c
      https://github.com/llvm/llvm-project/commit/943b212d56795064248a13adb13253d64ac51a8c
  Author: abhishek-kaushik22 <abhishek.kaushik at intel.com>
  Date:   2025-01-15 (Wed, 15 Jan 2025)

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

  Log Message:
  -----------
  [TableGen] Use `std::move` to avoid copy (#123088)


  Commit: ac2165fe7bb4626c85a9c8938dbe2448220217a5
      https://github.com/llvm/llvm-project/commit/ac2165fe7bb4626c85a9c8938dbe2448220217a5
  Author: Daniel Paoliello <danpao at microsoft.com>
  Date:   2025-01-15 (Wed, 15 Jan 2025)

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

  Log Message:
  -----------
  [coff] Don't try to write the obj if the assembler has errors (#123007)

The ASAN and MSAN tests have been failing after #122777 because some
fields are now set in `executePostLayoutBinding` which is skipped by the
assembler if it had errors but read in `writeObject`

Since the compilation has failed anyway, skip `writeObject` if the
assembler had errors.


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

  Changed paths:
    M llvm/cmake/config-ix.cmake
    M llvm/include/llvm/Config/config.h.cmake
    M llvm/include/llvm/Support/FileSystem.h
    M llvm/lib/Analysis/ConstantFolding.cpp
    M llvm/lib/ExecutionEngine/RuntimeDyld/RTDyldMemoryManager.cpp
    M llvm/lib/Support/Errno.cpp
    M llvm/lib/Support/Unix/Path.inc
    M llvm/lib/Support/Unix/Process.inc
    M llvm/lib/Support/Unix/Program.inc
    M llvm/lib/Support/Unix/Signals.inc
    M llvm/lib/Support/Unix/Unix.h
    M llvm/lib/Support/raw_ostream.cpp
    M llvm/utils/gn/secondary/llvm/include/llvm/Config/BUILD.gn
    M utils/bazel/llvm-project-overlay/llvm/include/llvm/Config/config.h
    M utils/bazel/llvm_configs/config.h.cmake

  Log Message:
  -----------
  [CMake] Remove some always-true HAVE_XXX_H

These are unneeded even on AIX, PURE_WINDOWS, and ZOS (per #104706)

* HAVE_ERRNO_H: introduced by 1a93330ffa2ae2aa0b49461f05e6f0d51e8443f8 (2009) but unneeded.
  The guarded ABI is unconditionally used by lldb.
* HAVE_FCNTL_H
* HAVE_FENV_H
* HAVE_SYS_STAT_H

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


  Commit: ab6e63a0df9b67fb6ead026ce4ecdfd666991591
      https://github.com/llvm/llvm-project/commit/ab6e63a0df9b67fb6ead026ce4ecdfd666991591
  Author: Markus Böck <markus.boeck02 at gmail.com>
  Date:   2025-01-15 (Wed, 15 Jan 2025)

  Changed paths:
    M mlir/include/mlir/IR/TypeRange.h
    M mlir/include/mlir/IR/ValueRange.h
    M mlir/lib/IR/OperationSupport.cpp
    M mlir/lib/IR/TypeRange.cpp
    M mlir/unittests/IR/OperationSupportTest.cpp

  Log Message:
  -----------
  [mlir] Make single value `ValueRange`s memory safer (#121996)

A very common mistake users (and yours truly) make when using
`ValueRange`s is assigning a temporary `Value` to it. Example:
```cpp
ValueRange values = op.getOperand();
apiThatUsesValueRange(values);
```

The issue is caused by the implicit `const Value&` constructor: As per
C++ rules a const reference can be constructed from a temporary and the
address of it taken. After the statement, the temporary goes out of
scope and `stack-use-after-free` error occurs.

This PR fixes that issue by making `ValueRange` capable of owning a
single `Value` instance for that case specifically. While technically a
departure from the other owner types that are non-owning, I'd argue that
this behavior is more intuitive for the majority of users that usually
don't need to care about the lifetime of `Value` instances.

`TypeRange` has similarly been adopted to accept a single `Type`
instance to implement `getTypes`.


  Commit: 18650480cb2ea46c9e8236c83593216af80fa25c
      https://github.com/llvm/llvm-project/commit/18650480cb2ea46c9e8236c83593216af80fa25c
  Author: Steven Wu <stevenwu at apple.com>
  Date:   2025-01-15 (Wed, 15 Jan 2025)

  Changed paths:
    M clang/lib/Serialization/ASTWriter.cpp

  Log Message:
  -----------
  [clang][Serialization] Add the missing block info (#122976)

HEADER_SEARCH_ENTRY_USAGE and VFS_USAGE were missing from the block info
block. Add the missing info so `llvm-bcanalyzer` can read them
correctly.


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

  Changed paths:
    M llvm/test/CodeGen/RISCV/rvv/splat-vectors.ll

  Log Message:
  -----------
  [RISCV] Precommit test coverage for pr118873


  Commit: 1a56360cc61a3576ab0ad621f72d4299bd5dd0fb
      https://github.com/llvm/llvm-project/commit/1a56360cc61a3576ab0ad621f72d4299bd5dd0fb
  Author: Alex MacLean <amaclean at nvidia.com>
  Date:   2025-01-15 (Wed, 15 Jan 2025)

  Changed paths:
    M llvm/include/llvm/IR/InstrTypes.h
    M llvm/lib/Transforms/IPO/FunctionAttrs.cpp
    M llvm/lib/Transforms/InstCombine/InstCombineLoadStoreAlloca.cpp
    M llvm/test/Analysis/BasicAA/call-attrs.ll
    M llvm/test/Analysis/BasicAA/tail-byval.ll
    M llvm/test/Transforms/SROA/readonlynocapture.ll

  Log Message:
  -----------
  [IR] Treat calls with byval ptrs as read-only (#122961)


  Commit: 2bc422dfa7bb01e7b679ec9f78189ac466dfa55d
      https://github.com/llvm/llvm-project/commit/2bc422dfa7bb01e7b679ec9f78189ac466dfa55d
  Author: Jorge Gorbe Moya <jgorbe at google.com>
  Date:   2025-01-15 (Wed, 15 Jan 2025)

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

  Log Message:
  -----------
  [bazel] Remove internal headers from `hdrs` in //clang:format (#122987)

They are already included in `srcs`, as they should be.


  Commit: c4443a1be4e4e68fff894ba659bc157bf30c8d26
      https://github.com/llvm/llvm-project/commit/c4443a1be4e4e68fff894ba659bc157bf30c8d26
  Author: David CARLIER <devnexen at gmail.com>
  Date:   2025-01-15 (Wed, 15 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] fseek api interception. (#122163)


  Commit: feb787244e54fe5abe5a96fefc4c74019f21a0ff
      https://github.com/llvm/llvm-project/commit/feb787244e54fe5abe5a96fefc4c74019f21a0ff
  Author: Egor Zhdan <e_zhdan at apple.com>
  Date:   2025-01-15 (Wed, 15 Jan 2025)

  Changed paths:
    M clang/lib/Sema/SemaTemplate.cpp
    M clang/test/APINotes/Inputs/Headers/Templates.h
    M clang/test/APINotes/templates.cpp

  Log Message:
  -----------
  [APINotes] Avoid duplicated attributes for class template instantiations

If a C++ class template is annotated via API Notes, the instantiations
had the attributes repeated twice. This is because Clang was adding the
attribute twice while processing the same class template. This change
makes sure we don't try to add attributes from API Notes twice.

There is currently no way to annotate specific instantiations using API
Notes.

rdar://142539959


  Commit: f325e4b2d836d6e65a4d0cf3efc6b0996ccf3765
      https://github.com/llvm/llvm-project/commit/f325e4b2d836d6e65a4d0cf3efc6b0996ccf3765
  Author: Brian Cain <brian.cain at oss.qualcomm.com>
  Date:   2025-01-15 (Wed, 15 Jan 2025)

  Changed paths:
    M clang/cmake/caches/hexagon-unknown-linux-musl-clang-cross.cmake

  Log Message:
  -----------
  [Hexagon] Add default clang symlinks to CLANG_LINKS_TO_CREATE (#123011)

Since this cache value overrides the defaults, we end up with `clang`
linked to `clang-20`, and some `${triple}-clang*` links, but we're
missing `clang++`. This makes for a toolchain with inconsistent behavior
when used in someone's `$PATH`.

We'll add the default symlinks to our list so that C and C++ programs
are both built as expected when `clang` and `clang++` are invoked.


  Commit: 6ffc4451037bbae26cce51fb80418f8e9ed2ac84
      https://github.com/llvm/llvm-project/commit/6ffc4451037bbae26cce51fb80418f8e9ed2ac84
  Author: Wael Yehia <wyehia at ca.ibm.com>
  Date:   2025-01-15 (Wed, 15 Jan 2025)

  Changed paths:
    M compiler-rt/test/profile/ContinuousSyncMode/online-merging.c

  Log Message:
  -----------
  [PGO][AIX] Disable multi-process continuous mode test in 32-bit

In PGO continuous mode, we mmap the profile file into shared memory, which
allows multiple processes to be updating the same memory.

The -fprofile-update=atomic option forces the counter increments to be atomic,
but the counter size is always 64-bit (in -m32 and -m64), so in 32-bit mode the
atomic operations are function calls to libatomic.a and these function calls use
locks.

The lock based libatomic.a functions are per-process, so two processes will race
on the same shared memory because each will acquire their own lock.


  Commit: 6655c53ff02f0ffca0fcaa3261e14c2a6417d3da
      https://github.com/llvm/llvm-project/commit/6655c53ff02f0ffca0fcaa3261e14c2a6417d3da
  Author: arthurqiu <arthurq at nvidia.com>
  Date:   2025-01-15 (Wed, 15 Jan 2025)

  Changed paths:
    M llvm/cmake/modules/CrossCompile.cmake
    A llvm/cmake/modules/FileLock.cmake
    M llvm/cmake/modules/LLVMExternalProjectUtils.cmake

  Log Message:
  -----------
  [cmake] Serialize native builds for Make generator (#121021)

The build system is fragile by allowing multiple invocation of
subprocess builds in the native folder for Make generator.

For example, during sub-invocation of the native llvm-config,
llvm-min-tblgen is also built. If there is another sub-invocation of the
native llvm-min-tblgen build running in parallel, they may overwrite
each other's build results, and may lead to errors like "Text file
busy".

This patch adds a cmake script that uses file lock to serialize all
native builds for Make generator.


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

  Changed paths:
    M llvm/lib/Analysis/ValueTracking.cpp
    A llvm/test/Transforms/FunctionAttrs/phi_cycle.ll

  Log Message:
  -----------
  [ValueTracking] Provide getUnderlyingObjectAggressive fallback (#123019)

This callsite assumes `getUnderlyingObjectAggressive` returns a non-null
pointer:

https://github.com/llvm/llvm-project/blob/273a94b3d5a78cd9122c7b3bbb5d5a87147735d2/llvm/lib/Transforms/IPO/FunctionAttrs.cpp#L124

But it can return null when there are cycles in the value chain so there
is no more `Worklist` item anymore to explore, in which case it just
returns `Object` at the end of the function without ever setting it:
https://github.com/llvm/llvm-project/blob/9b5857a68381652dbea2a0c9efa734b6c4cf38c9/llvm/lib/Analysis/ValueTracking.cpp#L6866-L6867
https://github.com/llvm/llvm-project/blob/9b5857a68381652dbea2a0c9efa734b6c4cf38c9/llvm/lib/Analysis/ValueTracking.cpp#L6889

`getUnderlyingObject` does not seem to return null either judging by
looking at its code and its callsites, so I think it is not likely to be
the author's intention that `getUnderlyingObjectAggressive` returns
null.

So this checks whether `Object` is null at the end, and if so, falls
back to the original first value.

---

The test case here was reduced by bugpoint and further reduced manually,
but I find it hard to reduce it further.

To trigger this bug, the memory operation should not be reachable from
the entry BB, because the `phi`s should form a cycle without introducing
another value from the entry. I tried a minimal `phi` cycle with three
BBs (entry BB + two BBs in a cycle), but it was skipped here:
https://github.com/llvm/llvm-project/blob/273a94b3d5a78cd9122c7b3bbb5d5a87147735d2/llvm/lib/Transforms/IPO/FunctionAttrs.cpp#L121-L122
To get the result that's not `ModRefInfo::NoModRef`, the length of `phi`
chain needed to be greater than the `MaxLookup` value set in this
function:

https://github.com/llvm/llvm-project/blob/02403f4e450b86d93197dd34045ff40a34b21494/llvm/lib/Analysis/BasicAliasAnalysis.cpp#L744

But just lengthening the `phi` chain to 8 didn't trigger the same error
in `getUnderlyingObjectAggressive` because `getUnderlyingObject` here
passes through a single-chain `phi`s so not all `phi`s end up in
`Visited`:

https://github.com/llvm/llvm-project/blob/9b5857a68381652dbea2a0c9efa734b6c4cf38c9/llvm/lib/Analysis/ValueTracking.cpp#L6863

So I just submit here the smallest test case I managed to create.

---

Fixes #117308 and fixes #122166.


  Commit: 0068078dca60b41ad1c7bdd4448e7de718b82a5d
      https://github.com/llvm/llvm-project/commit/0068078dca60b41ad1c7bdd4448e7de718b82a5d
  Author: peterbell10 <peterbell10 at openai.com>
  Date:   2025-01-15 (Wed, 15 Jan 2025)

  Changed paths:
    M llvm/lib/Target/NVPTX/NVPTXISelLowering.cpp
    M llvm/lib/Target/NVPTX/NVPTXISelLowering.h
    M llvm/lib/Target/NVPTX/NVPTXInstrInfo.td
    M llvm/test/CodeGen/NVPTX/combine-mad.ll
    M llvm/test/CodeGen/NVPTX/dynamic_stackalloc.ll
    M llvm/test/CodeGen/NVPTX/i128.ll

  Log Message:
  -----------
  [NVPTX] Remove `NVPTX::IMAD` opcode, and rely on intruction selection only (#121724)

I noticed that NVPTX will sometimes emit `mad.lo` to multiply by 1, e.g.
in https://gcc.godbolt.org/z/4j47Y9W4c.

This happens when DAGCombiner operates on the add before the mul, so the
imad contraction happens regardless of whether the mul could have been
simplified.

To fix this, I remove `NVPTXISD::IMAD` and only combine to mad during
selection. This allows the default DAGCombiner patterns to simplify
the graph without any NVPTX-specific intervention.


  Commit: d8a68fe68093366a0218474b476fa4e795bef2f8
      https://github.com/llvm/llvm-project/commit/d8a68fe68093366a0218474b476fa4e795bef2f8
  Author: Brian Cain <brian.cain at oss.qualcomm.com>
  Date:   2025-01-15 (Wed, 15 Jan 2025)

  Changed paths:
    M llvm/lib/Target/Hexagon/HexagonISelLowering.cpp
    A llvm/test/CodeGen/Hexagon/i128-fpconv-strict.ll

  Log Message:
  -----------
  [Hexagon] Omit calls to specialized {float,fix} routines (#117423)

These were introduced in 1213a7a57fdc (Hexagon backend support,
2011-12-12) but they aren't present in libclangrt.builtins-hexagon. The
generic versions of these functions are present in the builtins, though.
So it should suffice to call those instead.


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

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

  Log Message:
  -----------
  [compiler-rt][rtsan] Fix fseek test build (unused variable warning). (#123116)


  Commit: bf17016a92bc8a23d2cdd2b51355dd4eb5019c68
      https://github.com/llvm/llvm-project/commit/bf17016a92bc8a23d2cdd2b51355dd4eb5019c68
  Author: Erich Keane <ekeane at nvidia.com>
  Date:   2025-01-15 (Wed, 15 Jan 2025)

  Changed paths:
    M clang/docs/InternalsManual.rst
    M clang/include/clang/Basic/CMakeLists.txt
    M clang/include/clang/Basic/DiagnosticAST.h
    M clang/include/clang/Basic/DiagnosticAnalysis.h
    M clang/include/clang/Basic/DiagnosticComment.h
    M clang/include/clang/Basic/DiagnosticCrossTU.h
    M clang/include/clang/Basic/DiagnosticDriver.h
    M clang/include/clang/Basic/DiagnosticFrontend.h
    M clang/include/clang/Basic/DiagnosticInstallAPI.h
    M clang/include/clang/Basic/DiagnosticLex.h
    M clang/include/clang/Basic/DiagnosticParse.h
    M clang/include/clang/Basic/DiagnosticRefactoring.h
    M clang/include/clang/Basic/DiagnosticSema.h
    M clang/include/clang/Basic/DiagnosticSemaKinds.td
    M clang/include/clang/Basic/DiagnosticSerialization.h
    M clang/lib/Sema/SemaDeclCXX.cpp
    A clang/test/TableGen/select-enum-errors.td
    A clang/test/TableGen/select-enum.td
    M clang/utils/TableGen/ClangDiagnosticsEmitter.cpp
    M clang/utils/TableGen/TableGen.cpp
    M clang/utils/TableGen/TableGenBackends.h

  Log Message:
  -----------
  Add 'enum_select' diagnostic selection to clang. (#122505)

This causes us to generate an enum to go along with the select
diagnostic, which allows for clearer diagnostic error emit lines.

The syntax for this is:

%enum_select<EnumerationName>{%OptionalEnumeratorName{Text}|{Text2}}0

Where the curley brackets around the select-text are only required if an
Enumerator name is provided.

The TableGen here emits this as a normal 'select' to the frontend, which
permits us to reuse all of the existing 'select' infrastructure.
Documentation is the same as well.

---------

Co-authored-by: Aaron Ballman <aaron at aaronballman.com>


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

  Changed paths:
    M lldb/include/lldb/Target/Thread.h
    M lldb/source/Target/Thread.cpp
    M lldb/source/Target/ThreadList.cpp

  Log Message:
  -----------
  Refactor `ThreadList::WillResume()` to prepare to support reverse execution (#120817)

These changes are designed to not change any behavior, but to make it
easy to add code to choose the direction of execution after we've
identified which thread(s) to run but before we add any
`ThreadPlanStepOverBreakpoint`s. And honestly I think they make the
existing code a bit clearer.


  Commit: e9255dda236e6e418abe81a10b3f7c0d16c0d083
      https://github.com/llvm/llvm-project/commit/e9255dda236e6e418abe81a10b3f7c0d16c0d083
  Author: Sharjeel Khan <sharjeelkhan at google.com>
  Date:   2025-01-15 (Wed, 15 Jan 2025)

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

  Log Message:
  -----------
  [Driver][ARM] Change Android's NEON FPU hardcoding to "== 7" as it pessimizes future ArmV8 code (#122969)

Android hardcoded NEON FPU for ARM version ">=" 7. This hardcoding was
pessimizing ARMv8 code as it was locking it to NEON FPU instead of
something more powerful.


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

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

  Log Message:
  -----------
  [VPlan] Make VPBlock constructors private (NFC).

16d19aaed moved to manage block creation via VPlan directly, with VPlan
owning the created blocks. Follow up to make the VPBlock constructors
private, to require creation via VPlan helpers and thus preventing
issues due to manually constructing blocks.


  Commit: 1c3df5308a86aaed4c91869982d365cc20f2b511
      https://github.com/llvm/llvm-project/commit/1c3df5308a86aaed4c91869982d365cc20f2b511
  Author: Hubert Tong <hubert.reinterpretcast at gmail.com>
  Date:   2025-01-15 (Wed, 15 Jan 2025)

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

  Log Message:
  -----------
  [NFC] Explicitly use `clang::Module` in test file

https://github.com/llvm/llvm-project/pull/122887 uses `Module` to refer
to `clang::Module` in a test that has `using namespace llvm;`.

This causes lookup ambiguity with `llvm::Module` if the headers involved
expose that name (e.g., for downstream codebases).


  Commit: 2c75bda42605b620f8450e44a7b6f2db3adc21cb
      https://github.com/llvm/llvm-project/commit/2c75bda42605b620f8450e44a7b6f2db3adc21cb
  Author: erichkeane <ekeane at nvidia.com>
  Date:   2025-01-15 (Wed, 15 Jan 2025)

  Changed paths:
    M clang/lib/Sema/CMakeLists.txt
    M clang/lib/Sema/SemaOpenACC.cpp
    A clang/lib/Sema/SemaOpenACCClause.cpp

  Log Message:
  -----------
  [OpenACC] Split up SemaOpenACC.cpp

This file is getting quite large, so this patch splits the 'clause'
specific parts off into its own file to keep them better organized.


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

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

  Log Message:
  -----------
  [libcxx] [test] Add a test for the range of file offsets (#122798)

This adds a test for an issue reported downstream at
https://github.com/mstorsjo/llvm-mingw/issues/462; this is known to fail
on Windows right now, where the fseek/ftell calls end up truncated to 32
bits.

The test for this, unfortunately, requires temporarily creating a 4 GB
file.


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

  Changed paths:
    M flang/module/cudadevice.f90

  Log Message:
  -----------
  Preparing cudadevice.mod to be the same upstream and downstream. (#123099)


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

  Changed paths:
    M flang/lib/Optimizer/Transforms/CUFOpConversion.cpp
    M flang/test/Fir/CUDA/cuda-global-addr.mlir

  Log Message:
  -----------
  [flang][cuda] Add gpu.launch to device context (#123105)

`gpu.launch` should also be considered device context.


  Commit: cea41e9f4c0280093815f941a0ff51e47bc7f249
      https://github.com/llvm/llvm-project/commit/cea41e9f4c0280093815f941a0ff51e47bc7f249
  Author: Benjamin Kramer <benny.kra at googlemail.com>
  Date:   2025-01-15 (Wed, 15 Jan 2025)

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

  Log Message:
  -----------
  [bazel] Port bf17016a92bc8a23d2cdd2b51355dd4eb5019c68


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

  Changed paths:
    M lld/COFF/InputFiles.cpp
    A lld/test/COFF/empty-section-decl.yaml
    A lld/test/COFF/wholearchive-implib.s
    M llvm/include/llvm/Object/COFF.h

  Log Message:
  -----------
  [LLD] [COFF] Fix linking import libraries with -wholearchive: (#122806)

When LLD links against an import library (for the regular, short import
libraries), it doesn't actually link in the header/trailer object files
at all, but synthesizes new corresponding data structures into the right
sections.

If the whole of such an import library is forced to be linked, e.g. with
the -wholearchive: option, we actually end up linking in those
header/trailer objects. The header objects contain a construct which LLD
fails to handle; previously we'd error out with the error ".idata$4
should not refer to special section 0".

Within the import library header object, in the import directory we have
relocations towards the IAT (.idata$4 and .idata$5), but the header
object itself doesn't contain any data for those sections.

In the case of GNU generated import libraries, the header objects
contain zero length sections .idata$4 and .idata$5, with relocations
against them. However in the case of LLVM generated import libraries,
the sections .idata$4 and .idata$5 are not included in the list of
sections. The symbol table does contain section symbols for these
sections, but without any actual associated section. This can probably
be seen as a declaration of an empty section.

If the header/trailer objects of a short import library are linked
forcibly and we also reference other functions in the library, we end up
with two import directory entries for this DLL, one that gets
synthesized by LLD, and one from the actual header object file. This is
inelegant, but should be acceptable.

While it would seem unusual to link import libraries with the
-wholearchive: option, this can happen in certain scenarios.

Rust builds libraries that contain relevant import libraries bundled
along with compiled Rust code as regular object files, all within one
single archive. Such an archive can then end up linked with the
-wholarchive: option, if build systems decide to use such an option for
including static libraries.

This should fix https://github.com/msys2/MINGW-packages/issues/21017.

This works for the header/trailer object files in import libraries
generated by LLVM; import libraries generated by MSVC are vaguely
different. ecb5ea6a266d5cc4e05252f6db4c73613b73cc3b did an attempt at
fixing the issue for MSVC generated libraries, but it's not entirely
correct, and isn't enough for making things work for that case.


  Commit: 4f48abff0fb90ea0a05470755b799cdb1ff79d89
      https://github.com/llvm/llvm-project/commit/4f48abff0fb90ea0a05470755b799cdb1ff79d89
  Author: Ashley Coleman <ascoleman at microsoft.com>
  Date:   2025-01-15 (Wed, 15 Jan 2025)

  Changed paths:
    M clang/include/clang/Basic/Builtins.td
    M clang/lib/CodeGen/CGBuiltin.cpp
    M clang/lib/CodeGen/CGHLSLRuntime.h
    M clang/lib/Headers/hlsl/hlsl_intrinsics.h
    M clang/lib/Sema/SemaHLSL.cpp
    A clang/test/CodeGenHLSL/builtins/firstbitlow.hlsl
    M clang/test/SemaHLSL/BuiltIns/firstbithigh-errors.hlsl
    A clang/test/SemaHLSL/BuiltIns/firstbitlow-errors.hlsl
    M llvm/include/llvm/IR/IntrinsicsDirectX.td
    M llvm/include/llvm/IR/IntrinsicsSPIRV.td
    M llvm/lib/Target/DirectX/DXIL.td
    M llvm/lib/Target/DirectX/DirectXTargetTransformInfo.cpp
    M llvm/lib/Target/SPIRV/SPIRVInstructionSelector.cpp
    A llvm/test/CodeGen/DirectX/firstbitlow.ll
    A llvm/test/CodeGen/DirectX/firstbitlow_error.ll
    M llvm/test/CodeGen/SPIRV/hlsl-intrinsics/firstbithigh.ll
    A llvm/test/CodeGen/SPIRV/hlsl-intrinsics/firstbitlow.ll

  Log Message:
  -----------
  [HLSL] Implement elementwise firstbitlow builtin (#116858)

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

Implements `firstbitlow` by extracting common functionality from
`firstbithigh` into a shared function while also fixing a bug for an edge
case where `u64x3` and larger vectors will attempt to create vectors
larger than the SPRIV max of 4.
---------

Co-authored-by: Steven Perron <stevenperron at google.com>


  Commit: bbac3493419be7e3c4383edf013b15a880ff9ee0
      https://github.com/llvm/llvm-project/commit/bbac3493419be7e3c4383edf013b15a880ff9ee0
  Author: Alexander Richardson <alexrichardson at google.com>
  Date:   2025-01-15 (Wed, 15 Jan 2025)

  Changed paths:
    M compiler-rt/lib/sanitizer_common/symbolizer/scripts/build_symbolizer.sh

  Log Message:
  -----------
  [compiler-rt] Install libc++ and libc++abi in build_symbolizer.sh (#123104)

This ensures that the directory layout of the libc++/libc++abi matches
exactly what we would get on a real installation. Currently the build
directory happens to match the install directory layout, but this will
no longer be true in the future.


  Commit: 3241d915b1b8257fd6234461b04e4775fc7ed9fb
      https://github.com/llvm/llvm-project/commit/3241d915b1b8257fd6234461b04e4775fc7ed9fb
  Author: Augusto Noronha <anoronha at apple.com>
  Date:   2025-01-15 (Wed, 15 Jan 2025)

  Changed paths:
    M lldb/source/Core/Mangled.cpp

  Log Message:
  -----------
  [lldb] Recognize embedded Swift mangling in Mangled::GetManglingScheme

rdar://142329765


  Commit: 504dd577675e8c85cdc8525990a7c8b517a38a89
      https://github.com/llvm/llvm-project/commit/504dd577675e8c85cdc8525990a7c8b517a38a89
  Author: David Blaikie <dblaikie at gmail.com>
  Date:   2025-01-15 (Wed, 15 Jan 2025)

  Changed paths:
    M clang/lib/CodeGen/CGDebugInfo.cpp
    A clang/test/CodeGenCXX/debug-info-codeview-nodebug.cpp

  Log Message:
  -----------
  DebugInfo: Avoid emitting null members for nodebug nested typedefs

Only comes up for CodeView, since it forcibly emits even unused nested
typedefs.

Part of issue #122350


  Commit: 24c603505f91b2979d13e0b963fbd3c0174a005f
      https://github.com/llvm/llvm-project/commit/24c603505f91b2979d13e0b963fbd3c0174a005f
  Author: Vasileios Porpodas <vporpodas at google.com>
  Date:   2025-01-15 (Wed, 15 Jan 2025)

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

  Log Message:
  -----------
  [SandboxVec][Interval][NFC] Move a few definitions from header to .cpp


  Commit: 069fbeb82f56f0ce7c0382dfd5d4fa4dc1983a13
      https://github.com/llvm/llvm-project/commit/069fbeb82f56f0ce7c0382dfd5d4fa4dc1983a13
  Author: Vasileios Porpodas <vporpodas at google.com>
  Date:   2025-01-15 (Wed, 15 Jan 2025)

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

  Log Message:
  -----------
  Revert "[SandboxVec][Interval][NFC] Move a few definitions from header to .cpp"

This reverts commit 24c603505f91b2979d13e0b963fbd3c0174a005f.


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

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

  Log Message:
  -----------
  [libc][docs] add sys/wait to documentation and include related functi… (#122598)

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

**Changes:**
1. **wait.yaml**: Created a new YAML file for `sys/wait` with functions
(`wait`, `waitid`, `waitpid`) and related macros.
2. **CMakeLists.txt**: Added `sys/wait` to the documentation
directories.
3. **index.rst**: Included `sys/wait` in the documentation index.


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

  Changed paths:
    M lld/Common/Strings.cpp

  Log Message:
  -----------
  [lld] Initialize SingleStringMatcher::ExactMatch (#123138)

It was not set false in all branches.


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

  Changed paths:
    M llvm/lib/ObjectYAML/ELFYAML.cpp

  Log Message:
  -----------
  [YAML] Init local var not set by some branches (#123137)

It will not be set if:

1. `(TypeStr.starts_with("SHT_") || isInteger(TypeStr)) == false`: here
we want go to switch default.
2. `IO.mapRequired("Type", Type);` fail parsing. It sets error
internally, so probably not important what happen next, so it's go to
the switch


  Commit: b7722fbcab4d769be54ae3001f311b2955ef6134
      https://github.com/llvm/llvm-project/commit/b7722fbcab4d769be54ae3001f311b2955ef6134
  Author: Greg Clayton <gclayton at fb.com>
  Date:   2025-01-15 (Wed, 15 Jan 2025)

  Changed paths:
    M lldb/examples/synthetic/gnu_libstdcpp.py
    M lldb/source/Plugins/Language/CPlusPlus/LibCxxUnorderedMap.cpp
    M lldb/test/API/functionalities/data-formatter/data-formatter-stl/generic/unordered/TestDataFormatterGenericUnordered.py
    M lldb/test/API/functionalities/data-formatter/data-formatter-stl/generic/unordered/main.cpp

  Log Message:
  -----------
  [lldb] Fix std::unordered_* synthetic children when typedefs are used. (#123125)

There was a bug in both the GNU and libc++ library synthetic child
providers when a typedef was used in the type of the variable. Previous
code was looking at the top level typename to try and determine if
std::unordered_ was a map or set and this failed when typedefs were
being used. This patch fixes both C++ library synthetic child providers
with updated tests.


  Commit: acf6072fae00123e78e362f74f0dc2d830837d10
      https://github.com/llvm/llvm-project/commit/acf6072fae00123e78e362f74f0dc2d830837d10
  Author: Vasileios Porpodas <vporpodas at google.com>
  Date:   2025-01-15 (Wed, 15 Jan 2025)

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

  Log Message:
  -----------
  Reapply "[SandboxVec][Interval][NFC] Move a few definitions from header to .cpp"

This reverts commit 069fbeb82f56f0ce7c0382dfd5d4fa4dc1983a13.


  Commit: b15845c0059b06f406e33f278127d7eb41ff5ab6
      https://github.com/llvm/llvm-project/commit/b15845c0059b06f406e33f278127d7eb41ff5ab6
  Author: Mircea Trofin <mtrofin at google.com>
  Date:   2025-01-15 (Wed, 15 Jan 2025)

  Changed paths:
    M llvm/include/llvm/Analysis/CtxProfAnalysis.h
    M llvm/include/llvm/ProfileData/PGOCtxProfReader.h
    M llvm/include/llvm/ProfileData/PGOCtxProfWriter.h
    M llvm/lib/Analysis/CtxProfAnalysis.cpp
    M llvm/lib/ProfileData/PGOCtxProfReader.cpp
    M llvm/lib/ProfileData/PGOCtxProfWriter.cpp
    M llvm/test/Analysis/CtxProfAnalysis/full-cycle.ll
    M llvm/test/Analysis/CtxProfAnalysis/inline.ll
    R llvm/test/Analysis/CtxProfAnalysis/json_equals.py
    M llvm/test/Analysis/CtxProfAnalysis/load.ll
    M llvm/unittests/Transforms/Utils/CallPromotionUtilsTest.cpp

  Log Message:
  -----------
  [ctxprof] dump profiles using yaml (for testing)  (#123108)

This is a follow-up from PR #122545, which enabled converting yaml to contextual profiles.

This change uses the lower level yaml APIs because:
- the mapping APIs `llvm::yaml` offers don't work with `const` values, because they (the APIs) want to enable both serialization and deserialization
- building a helper data structure would be an alternative, but it'd be either memory-consuming or overly-complex design, given the recursive nature of the contextual profiles.


  Commit: c70f246251fb62b8ecf94f2365688cd361adec97
      https://github.com/llvm/llvm-project/commit/c70f246251fb62b8ecf94f2365688cd361adec97
  Author: Mircea Trofin <mtrofin at google.com>
  Date:   2025-01-15 (Wed, 15 Jan 2025)

  Changed paths:
    M llvm/test/tools/llvm-ctxprof-util/Inputs/valid.yaml
    M llvm/test/tools/llvm-ctxprof-util/llvm-ctxprof-util.test
    M llvm/tools/llvm-ctxprof-util/llvm-ctxprof-util.cpp

  Log Message:
  -----------
  [ctxprof] add `toYAML` conversion to llvm-ctxprof-utils (#123131)

Also modified test file to match "toYaml" formatting.


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

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

  Log Message:
  -----------
  [NFC][clang][HIP] Remove flag from SPIR-V Translator invocation (#122995)

Remove spurious `--spirv-allow-extra-diexpressions` flag from the
translator invocation, as it's already implied by using
`nonsemantic-shader-200`.


  Commit: d2484127cd27184b373b6be71da87579b8659143
      https://github.com/llvm/llvm-project/commit/d2484127cd27184b373b6be71da87579b8659143
  Author: LiqinWeng <liqin.weng at spacemit.com>
  Date:   2025-01-16 (Thu, 16 Jan 2025)

  Changed paths:
    M llvm/lib/CodeGen/ExpandVectorPredication.cpp
    M llvm/test/CodeGen/X86/expand-vp-int-intrinsics.ll

  Log Message:
  -----------
  [VP] IR expansion to Int Func Call (#122867)

Add basic handling for VP ops that can expand to Int intrinsics, which
includes: ctpop/cttz/ctlz/sadd.sat/uadd.sat/ssub.sat/usub.sat/fshl/fshr


  Commit: 29e63328a79af9501bf8d6b7e5a07303427ded73
      https://github.com/llvm/llvm-project/commit/29e63328a79af9501bf8d6b7e5a07303427ded73
  Author: Lang Hames <lhames at gmail.com>
  Date:   2025-01-16 (Thu, 16 Jan 2025)

  Changed paths:
    M llvm/include/llvm/ExecutionEngine/JITLink/JITLink.h
    M llvm/unittests/ExecutionEngine/JITLink/LinkGraphTests.cpp

  Log Message:
  -----------
  [JITLink] Add Block::edges_at(Edge::OffsetT): iterate over edges at offset.

Block::edges_at is a convenience method for iterating over edges at a given
offset within a jitlink::Block.

This method will be used in an upcoming patch for compact unwind info support.


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

  Changed paths:
    M clang/docs/ReleaseNotes.rst
    M clang/include/clang/AST/DeclBase.h
    M clang/include/clang/AST/ExternalASTMerger.h
    M clang/include/clang/AST/ExternalASTSource.h
    M clang/include/clang/Sema/MultiplexExternalSemaSource.h
    M clang/include/clang/Serialization/ASTBitCodes.h
    M clang/include/clang/Serialization/ASTReader.h
    M clang/include/clang/Serialization/ASTWriter.h
    M clang/lib/AST/DeclBase.cpp
    M clang/lib/AST/ExternalASTMerger.cpp
    M clang/lib/AST/ExternalASTSource.cpp
    M clang/lib/Interpreter/CodeCompletion.cpp
    M clang/lib/Sema/MultiplexExternalSemaSource.cpp
    M clang/lib/Serialization/ASTReader.cpp
    M clang/lib/Serialization/ASTReaderDecl.cpp
    M clang/lib/Serialization/ASTReaderInternals.h
    M clang/lib/Serialization/ASTWriter.cpp
    M clang/lib/Serialization/ASTWriterDecl.cpp
    M clang/test/CXX/basic/basic.scope/basic.scope.namespace/p2.cpp
    M clang/test/CXX/module/basic/basic.link/p2.cppm
    M clang/test/CXX/module/module.import/p2.cpp
    M clang/test/CXX/module/module.interface/p7.cpp
    M clang/test/CXX/module/module.reach/p5.cpp
    M clang/test/Modules/Reachability-template-default-arg.cpp
    M clang/test/Modules/cxx20-10-1-ex2.cpp
    M clang/test/Modules/deduction-guide3.cppm
    R clang/test/Modules/module-local-with-templates.cppm
    R clang/test/Modules/pr90154.cppm
    M clang/unittests/AST/ExternalASTSourceTest.cpp
    M lldb/source/Plugins/ExpressionParser/Clang/ASTUtils.h
    M lldb/source/Plugins/ExpressionParser/Clang/ClangASTSource.cpp
    M lldb/source/Plugins/ExpressionParser/Clang/ClangASTSource.h
    M lldb/source/Plugins/ExpressionParser/Clang/ClangExternalASTSourceCallbacks.cpp
    M lldb/source/Plugins/ExpressionParser/Clang/ClangExternalASTSourceCallbacks.h
    M lldb/source/Plugins/LanguageRuntime/ObjC/AppleObjCRuntime/AppleObjCDeclVendor.cpp

  Log Message:
  -----------
  Revert "[C++20] [Modules] Support module level lookup (#122887)"

This reverts commit 7201cae106260aeb3e9bbbb7d5291ff30f05076a.


  Commit: f79bacb485bfb2d12bc0a223cc35d2e5fb75fbf7
      https://github.com/llvm/llvm-project/commit/f79bacb485bfb2d12bc0a223cc35d2e5fb75fbf7
  Author: Luohao Wang <luohaothu at live.com>
  Date:   2025-01-16 (Thu, 16 Jan 2025)

  Changed paths:
    M mlir/test/lit.cfg.py

  Log Message:
  -----------
  [mlir] [Python] Fix misused `lldb_build_directory` in MLIR's test script (#122596)

Related to #121288 

This PR fixes the miscopied `config.lldb_build_directory` variable in
`lit.cfg.py` inside MLIR's test suit. `config.mlir_obj_root` is used as
a replacement for the copied python executable's directory.

**PS**: Since this is a common work-around on macOS, should we promote
it as a utility across projects?

Co-authored-by: Luohao Wang <Luohaothu at users.noreply.github.com>
Co-authored-by: Kai Sasaki <lewuathe at gmail.com>


  Commit: ef77188fa85728b07059b5f42b92236998d25b19
      https://github.com/llvm/llvm-project/commit/ef77188fa85728b07059b5f42b92236998d25b19
  Author: LiqinWeng <liqin.weng at spacemit.com>
  Date:   2025-01-16 (Thu, 16 Jan 2025)

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

  Log Message:
  -----------
  [VP] Remove createStepVector implementation and use IRBuilderBase::CreateStepVector instead. NFC (#122868)


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

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

  Log Message:
  -----------
  [MC] Unhide the target-abi option. (#123135)

This option is very important for RISC-V as it controls calling
convention and a field in the ELF header. It is used in a large number
of RISC-V lit tests.

Expose the option to -help.

Fixes one issue raised in #123077


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

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

  Log Message:
  -----------
  [RISCV] Explicitly check for passthru in doPeepholeMaskedRVV. NFC

We were previously checking a combination of the vector policy op and
the opcode to determine if we needed to skip copying the passthru from
a masked pseudo to an unmasked pseudo.

However we can just do this by checking
RISCVII::isFirstDefTiedToFirstUse, which is a proxy for whether or not
a pseudo has a passthru operand.

This should hopefully remove the need for the changes in #123106


  Commit: 1d890b06eedf0cc6746873a5c69b761a0a43cc35
      https://github.com/llvm/llvm-project/commit/1d890b06eedf0cc6746873a5c69b761a0a43cc35
  Author: Thirumalai Shaktivel <74826228+Thirumalai-Shaktivel at users.noreply.github.com>
  Date:   2025-01-16 (Thu, 16 Jan 2025)

  Changed paths:
    M llvm/include/llvm/Frontend/OpenMP/OMPIRBuilder.h
    M llvm/lib/Frontend/OpenMP/OMPIRBuilder.cpp
    M mlir/lib/Target/LLVMIR/Dialect/OpenMP/OpenMPToLLVMIRTranslation.cpp
    M mlir/test/Target/LLVMIR/openmp-llvm.mlir
    M mlir/test/Target/LLVMIR/openmp-todo.mlir

  Log Message:
  -----------
  [Flang, OpenMP] Add LLVM lowering support for PRIORITY in TASK (#120710)

Implementation details:
The PRIORITY clause is recognized by setting the flags = 32 to the 
`__kmpc_omp_task_alloc` runtime call. Also, store the priority-value 
to the `kmp_task_t` struct member


  Commit: 3e3a4d8caa0eb8fa40f09390ebc622c374fc96aa
      https://github.com/llvm/llvm-project/commit/3e3a4d8caa0eb8fa40f09390ebc622c374fc96aa
  Author: Christudasan Devadasan <christudasan.devadasan at amd.com>
  Date:   2025-01-16 (Thu, 16 Jan 2025)

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

  Log Message:
  -----------
  [AMDGPU] Use LV wrapperPass in getAnalysisUsage. (#123044)


  Commit: 1797fb6b233c548817008b9c39c6af06d12cae99
      https://github.com/llvm/llvm-project/commit/1797fb6b233c548817008b9c39c6af06d12cae99
  Author: Christudasan Devadasan <christudasan.devadasan at amd.com>
  Date:   2025-01-16 (Thu, 16 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/SILowerControlFlow.cpp
    A llvm/lib/Target/AMDGPU/SILowerControlFlow.h
    M llvm/test/CodeGen/AMDGPU/collapse-endcf.mir
    M llvm/test/CodeGen/AMDGPU/lower-control-flow-live-intervals.mir
    M llvm/test/CodeGen/AMDGPU/lower-control-flow-other-terminators.mir

  Log Message:
  -----------
  [AMDGPU][NewPM] Port SILowerControlFlow pass into NPM. (#123045)


  Commit: 0195ec452e16a0ff4b4f4ff2e2ea5a1dd5a20563
      https://github.com/llvm/llvm-project/commit/0195ec452e16a0ff4b4f4ff2e2ea5a1dd5a20563
  Author: David Truby <david.truby at arm.com>
  Date:   2025-01-16 (Thu, 16 Jan 2025)

  Changed paths:
    M clang/include/clang/Driver/Options.td
    M clang/lib/Driver/ToolChains/Flang.cpp
    M flang/include/flang/Frontend/CodeGenOptions.def
    M flang/lib/Frontend/CompilerInvocation.cpp
    M flang/lib/Frontend/FrontendActions.cpp
    A flang/test/Driver/funroll-loops.f90
    A flang/test/HLFIR/unroll-loops.fir
    A flang/test/Integration/unroll-loops.f90

  Log Message:
  -----------
  [flang] Add -f[no-]unroll-loops flag (#122906)


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

  Changed paths:
    M mlir/lib/Conversion/ArithToEmitC/ArithToEmitC.cpp
    M mlir/test/Conversion/ArithToEmitC/arith-to-emitc-unsupported.mlir
    M mlir/test/Conversion/ArithToEmitC/arith-to-emitc.mlir

  Log Message:
  -----------
  [mlir][emitc] Support convert arith.extf and arith.truncf to emitc (#121184)


  Commit: 95d21f6015241f1fbf36e495f101080bdcee8cd4
      https://github.com/llvm/llvm-project/commit/95d21f6015241f1fbf36e495f101080bdcee8cd4
  Author: alx32 <103613512+alx32 at users.noreply.github.com>
  Date:   2025-01-15 (Wed, 15 Jan 2025)

  Changed paths:
    M lld/MachO/MapFile.cpp
    M lld/test/MachO/arm64-thunks.s

  Log Message:
  -----------
  [lld-macho] Reduce memory usage of printing thunks in map file (#122785)

This commit improves the memory efficiency of the lld-macho linker by
optimizing how thunks are printed in the map file. Previously, merging
vectors of input sections required creating a temporary vector, which
increased memory usage and in some cases caused the linker to run out of
memory as reported in comments on
https://github.com/llvm/llvm-project/pull/120496. The new approach
interleaves the printing of two arrays of ConcatInputSection in sorted
order without allocating additional memory for a merged array.


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

  Changed paths:
    M llvm/utils/TableGen/Common/GlobalISel/GlobalISelMatchTable.cpp

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


  Commit: 990774ab8e1facda0c55214d1510b42135b18deb
      https://github.com/llvm/llvm-project/commit/990774ab8e1facda0c55214d1510b42135b18deb
  Author: Thirumalai Shaktivel <74826228+Thirumalai-Shaktivel at users.noreply.github.com>
  Date:   2025-01-16 (Thu, 16 Jan 2025)

  Changed paths:
    M flang/lib/Semantics/check-omp-structure.cpp
    M flang/lib/Semantics/check-omp-structure.h
    M flang/lib/Semantics/resolve-directives.cpp
    A flang/test/Semantics/OpenMP/cray-pointer-usage.f90

  Log Message:
  -----------
  [Flang] Add semantic checks for cray pointer usage in DSA list (#121028)

Problems:
- Cray pointee cannot be used in the DSA list (If used results in
segmentation fault)
- Cray pointer has to be in the DSA list when Cray pointee is used in
the default (none) region

Fix: Added required semantic checks along the tests

Reference from the documentation (OpenMP 5.0: 2.19.1):
- Cray pointees have the same data-sharing attribute as the storage with
   which their Cray pointers are associated.


  Commit: f711aa9e5ddb885143e2abe614b5cfb3b0d396bf
      https://github.com/llvm/llvm-project/commit/f711aa9e5ddb885143e2abe614b5cfb3b0d396bf
  Author: Pavel Labath <pavel at labath.sk>
  Date:   2025-01-16 (Thu, 16 Jan 2025)

  Changed paths:
    M llvm/docs/ReleaseNotes.md

  Log Message:
  -----------
  [llvm][Docs] Add release note about LLDB core file improvements (#123062)


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

  Changed paths:
    M flang/include/flang/Optimizer/Builder/Runtime/RTBuilder.h
    M flang/lib/Lower/ConvertType.cpp
    M flang/lib/Optimizer/Builder/FIRBuilder.cpp
    M flang/lib/Optimizer/Builder/IntrinsicCall.cpp
    M flang/lib/Optimizer/Builder/PPCIntrinsicCall.cpp
    M flang/lib/Optimizer/Builder/Runtime/Numeric.cpp
    M flang/lib/Optimizer/Builder/Runtime/Reduction.cpp
    M flang/lib/Optimizer/Builder/Runtime/Transformational.cpp
    M flang/lib/Optimizer/CodeGen/Target.cpp
    M flang/lib/Optimizer/Dialect/FIRType.cpp
    M flang/unittests/Optimizer/Builder/ComplexTest.cpp
    M flang/unittests/Optimizer/Builder/FIRBuilderTest.cpp
    M flang/unittests/Optimizer/Builder/HLFIRToolsTest.cpp
    M flang/unittests/Optimizer/FIRTypesTest.cpp
    M flang/unittests/Optimizer/FortranVariableTest.cpp
    M flang/unittests/Optimizer/RTBuilder.cpp
    M mlir/include/mlir/IR/BuiltinTypeInterfaces.td
    M mlir/include/mlir/IR/BuiltinTypes.h
    M mlir/lib/CAPI/IR/BuiltinTypes.cpp
    M mlir/lib/IR/Builders.cpp
    M mlir/lib/IR/BuiltinTypes.cpp
    M mlir/lib/Target/LLVMIR/DataLayoutImporter.cpp
    M mlir/lib/Target/LLVMIR/ModuleImport.cpp
    M mlir/test/lib/Dialect/Affine/TestVectorizationUtils.cpp
    M mlir/test/lib/Dialect/Test/TestPatterns.cpp
    M mlir/test/lib/Transforms/TestDialectConversion.cpp
    M mlir/tools/tblgen-to-irdl/OpDefinitionsGen.cpp
    M mlir/unittests/IR/AttributeTest.cpp
    M mlir/unittests/IR/ShapedTypeTest.cpp

  Log Message:
  -----------
  [mlir][IR] Remove factory methods from `FloatType` (#123026)

This commit removes convenience methods from `FloatType` to make it
independent of concrete interface implementations.

See discussion here:
https://discourse.llvm.org/t/rethink-on-approach-to-low-precision-fp-types/82361

Note for LLVM integration: Replace `FloatType::getF32(` with
`Float32Type::get(` etc.


  Commit: c23f2417dc5f6dc371afb07af5627ec2a9d373a0
      https://github.com/llvm/llvm-project/commit/c23f2417dc5f6dc371afb07af5627ec2a9d373a0
  Author: Pedro Lobo <pedro.lobo at tecnico.ulisboa.pt>
  Date:   2025-01-16 (Thu, 16 Jan 2025)

  Changed paths:
    M llvm/lib/CodeGen/CodeGenPrepare.cpp
    M llvm/test/CodeGen/ARM/vector-promotion.ll

  Log Message:
  -----------
  [CodeGenPrepare] Replace `undef` use with `poison` [NFC] (#123111)

When generating a constant vector, if `UseSplat` is false, the indices
different from the index of the extract can be filled with `poison`
instead of `undef`.


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

  Changed paths:
    M clang/docs/ReleaseNotes.rst
    M clang/lib/Sema/SemaTemplateDeductionGuide.cpp
    M clang/test/SemaTemplate/deduction-guide.cpp

  Log Message:
  -----------
  [Clang] Correct the order of substituted arguments in CTAD alias guides (#123022)

We missed a case of type constraints referencing deduced template
parameters when constructing a deduction guide for the type alias. This
patch fixes the issue by swapping the order of constructing 'template
arguments not appearing in the type alias parameters' and 'template
arguments that are not yet deduced'.

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


  Commit: 8fb29ba287d72392bd7900c33d2a8d2149126dbe
      https://github.com/llvm/llvm-project/commit/8fb29ba287d72392bd7900c33d2a8d2149126dbe
  Author: Lang Hames <lhames at gmail.com>
  Date:   2025-01-16 (Thu, 16 Jan 2025)

  Changed paths:
    M llvm/include/llvm/ExecutionEngine/JITLink/x86_64.h
    M llvm/lib/ExecutionEngine/JITLink/ELF_x86_64.cpp
    M llvm/lib/ExecutionEngine/JITLink/MachO_x86_64.cpp
    M llvm/lib/ExecutionEngine/JITLink/x86_64.cpp
    M llvm/unittests/ExecutionEngine/JITLink/CMakeLists.txt
    A llvm/unittests/ExecutionEngine/JITLink/X86_64Tests.cpp

  Log Message:
  -----------
  [JITLink] Teach x86_64 GOT & PLT table managers to discover existing entries.

x86_64::GOTTableManager and x86_64::PLTTableManager will now look for existing
GOT and PLT sections and re-use existing entries if they're present.

This will be used for an upcoming MachO patch to enable compact unwind support.

This patch is the x86-64 counterpart 42595bdaefb, which added the same
functionality to the GOT and PLT managers for aarch64.


  Commit: d89751240206dafcbc138829d9d7aad137aa2e04
      https://github.com/llvm/llvm-project/commit/d89751240206dafcbc138829d9d7aad137aa2e04
  Author: Pedro Lobo <pedro.lobo at tecnico.ulisboa.pt>
  Date:   2025-01-16 (Thu, 16 Jan 2025)

  Changed paths:
    M llvm/lib/Analysis/ValueTracking.cpp
    M llvm/test/Transforms/MemCpyOpt/store-to-memset-is-nonzero-type.ll
    M llvm/unittests/Analysis/ValueTrackingTest.cpp

  Log Message:
  -----------
  [ValueTracking] Return `poison` for zero-sized types (#122647)

Return `poison` for zero-sized types in `isBitwiseValue`.


  Commit: ec9aa4ac2f5a1b8e91938b47081eadc1a9d3bf85
      https://github.com/llvm/llvm-project/commit/ec9aa4ac2f5a1b8e91938b47081eadc1a9d3bf85
  Author: Vlad Serebrennikov <serebrennikov.vladislav at gmail.com>
  Date:   2025-01-16 (Thu, 16 Jan 2025)

  Changed paths:
    M llvm/cmake/config-ix.cmake

  Log Message:
  -----------
  [cmake] Hardcode some `check_include_file` checks (#104706)

This patch removes 11 `check_include_file` invocations from
configuration phase of LLVM subproject on most of the platforms,
hardcoding the results. Fallback is left for platforms that we don't
document as supported or that are not detectable via
`CMAKE_SYSTEM_NAME`, e.g. z/OS.

This patch reduces configuration time on Linux by 10%, going from 44.7
seconds down to 40.6 seconds on my Debian machine (ramdisk, `cmake
-DLLVM_ENABLE_PROJECTS="clang;lldb;clang-tools-extra"
-DLLVM_ENABLE_RUNTIMES="libunwind;libcxx;libcxxabi"
-DCMAKE_BUILD_TYPE=RelWithDebInfo -DLLVM_OPTIMIZED_TABLEGEN=ON
-DLLVM_TARGETS_TO_BUILD="X86" -DLLVM_ENABLE_DOXYGEN=ON
-DLLVM_ENABLE_LIBCXX=ON -DBUILD_SHARED_LIBS=ON -DLLDB_ENABLE_PYTHON=ON
~/endill/llvm-project/llvm`).

In order to determine the values to hardcode, I prepared the following
header:
```cpp
#include <dlfcn.h>
#include <errno.h>
#include <fcntl.h>
#include <fenv.h>
#include <mach/mach.h>
#include <malloc/malloc.h>
#include <pthread.h>
#include <signal.h>
#include <sys/ioctl.h>
#include <sys/mman.h>
#include <sys/param.h>
#include <sys/resource.h>
#include <sys/stat.h>
#include <sys/time.h>
#include <sys/types.h>
#include <sysexits.h>
#include <termios.h>
#include <unistd.h>

int main() {}
```
and tried to compile it on the oldest versions of platforms that are
still supported (which was problematic to determine sometimes): macOS
12, Cygwin, DragonFly BSD 6.4.0, FreeBSD 13.3, Haiku R1 beta 4, RHEL
8.10 as a glibc-based Linux, Alpine 3.17 as musl-based Linux, NetBSD 9,
OpenBSD 7.4, Solaris 11.4, Windows SDK 10.0.17763.0, which corresponds
to Windows 10 1809 and is the oldest Windows 10 SDK in Visual Studio
Installer.

For platforms I don't have access to, which are AIX 7.2 TL5 and z/OS
2.4.0, I had to rely on the official documentation. I suspect that AIX
offers a better set of headers than what this PR claims, so I'm open to
input from people who have access to a live system to test it.

Similarly to AIX, I have values for z/OS compiled from the official
documentation that are not included in this patch, because apparently
upstream CMake doesn't even support z/OS, so I don't even know how to
make a place to hold those values. I see `if (ZOS)` in several places
across our CMake files, but it's a mystery to me where this variable
comes from. Input from people who have access to live z/OS instance is
welcome.


  Commit: aa990069cf4ddd8546dbb36a7d2f157b7984c3b5
      https://github.com/llvm/llvm-project/commit/aa990069cf4ddd8546dbb36a7d2f157b7984c3b5
  Author: Daniel Kiss <daniel.kiss at arm.com>
  Date:   2025-01-16 (Thu, 16 Jan 2025)

  Changed paths:
    M llvm/cmake/modules/GetHostTriple.cmake

  Log Message:
  -----------
  Simplify MSVC compatible compiler detection. (#122914)

CMAKE_CXX_SIMULATE_ID indicates the MSVC abi is usable.


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

  Changed paths:
    M llvm/test/Transforms/LoopVectorize/no_outside_user.ll

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

Add a prefix to avoid conflicts, otherwise the test becomes
invalid on regeneration.


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

  Changed paths:
    M llvm/test/CodeGen/AArch64/double_reduct.ll

  Log Message:
  -----------
  [AArch64][GlobalISel] Add gisel coverage for double-reductions. NFC

The extra tests are simpler for GISel to detect.


  Commit: 3a9380f21d05eb8ced03349c8c503dc911f22621
      https://github.com/llvm/llvm-project/commit/3a9380f21d05eb8ced03349c8c503dc911f22621
  Author: Victor Campos <victor.campos at arm.com>
  Date:   2025-01-16 (Thu, 16 Jan 2025)

  Changed paths:
    M clang/include/clang/Driver/Driver.h
    M clang/include/clang/Driver/Multilib.h
    M clang/include/clang/Driver/ToolChain.h
    M clang/lib/Driver/Driver.cpp
    M clang/lib/Driver/Multilib.cpp
    M clang/lib/Driver/ToolChains/BareMetal.cpp
    M clang/lib/Driver/ToolChains/BareMetal.h
    A clang/test/Driver/baremetal-multilib-custom-flags.yaml

  Log Message:
  -----------
  [Multilib] Custom flags processing for library selection (#110659)

This patch is the third step to extend the current multilib system to
support the selection of library variants which do not correspond to
existing command-line options.

Proposal can be found in
https://discourse.llvm.org/t/rfc-multilib-custom-flags/81058

The multilib mechanism supports libraries that target code generation or
language options such as --target, -mcpu, -mfpu, -mbranch-protection.
However, some library variants are particular to features that do not
correspond to any command-line options. Examples include variants for
multithreading and semihosting.

This work introduces a way to instruct the multilib system to consider
these features in library selection. This particular patch is comprised
of the core processing of these flags.

- Custom flags in the command-line are read and forwarded to the
multilib system. If multiple flag values are present for the same flag
declaration, the last one wins. Default flag values are inserted for
flag declarations for which no value was given.
- Feed `MacroDefines` back into the driver. Each item `<string>` in the
`MacroDefines` list is formatted as `-D<string>`.

Library variants should list their requirement on one or more custom
flags like they do for any other flag. The new command-line option is
passed as-is to the multilib system, therefore it should be listed in
the format `-fmultilib-flag=<str>`.

Moreover, a variant that does not specify a requirement on any
particular flag can be matched against any value of that flag.

If the user specifies `-fmultilib-flag=<name>` with a name that is
invalid, but close enough to any valid flag value name in terms of edit
distance, a suggesting error is shown:
```
error: unsupported option '-fmultilib-flag=invalidname'; did you mean '-fmultilib-flag=validname'?
```
The candidate with the smallest edit distance is chosen for the
suggestion, up to a certain maximum value (implementation detail), after
which a non-suggesting error is shown instead:
```
error: unsupported option '-fmultilib-flag=invalidname'
```


  Commit: 9e436c2daa446da05e9219f0e6a22f932ba8e3cb
      https://github.com/llvm/llvm-project/commit/9e436c2daa446da05e9219f0e6a22f932ba8e3cb
  Author: Oliver Stannard <oliver.stannard at arm.com>
  Date:   2025-01-16 (Thu, 16 Jan 2025)

  Changed paths:
    M llvm/lib/CodeGen/MachineCopyPropagation.cpp
    M llvm/test/CodeGen/AArch64/machine-cp-sub-reg.mir

  Log Message:
  -----------
  [MachineCP] Correctly handle register masks and sub-registers (#122734)

When passing an instruction with a register mask, the machine copy
propagation pass was dropping the information about some copy
instructions which define a register which is preserved by the mask,
because that register overlaps a register which is partially clobbered
by it. This resulted in a miscompilation for AArch64, because this
caused a live copy to be considered dead.

The fix is to clobber register masks by finding the set of reg units
which is preserved by the mask, and clobbering all units not in that
set.

This is based on #122472, and fixes the compile time performance
regressions which were caused by that.


  Commit: 0d6b4cb94f2c3610e0ed5da80f5afa84581f3ea6
      https://github.com/llvm/llvm-project/commit/0d6b4cb94f2c3610e0ed5da80f5afa84581f3ea6
  Author: Jay Foad <jay.foad at amd.com>
  Date:   2025-01-16 (Thu, 16 Jan 2025)

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

  Log Message:
  -----------
  [MathExtras] Fix typos in hex fp constant values. NFC. (#123047)


  Commit: 7e00e3ae6dd4ba215dad27d1729df533cbb37795
      https://github.com/llvm/llvm-project/commit/7e00e3ae6dd4ba215dad27d1729df533cbb37795
  Author: Pavel Labath <pavel at labath.sk>
  Date:   2025-01-16 (Thu, 16 Jan 2025)

  Changed paths:
    M lldb/source/Plugins/SymbolFile/DWARF/DWARFDIE.cpp
    M lldb/source/Plugins/SymbolFile/DWARF/DWARFDIE.h
    M lldb/source/Plugins/SymbolFile/DWARF/SymbolFileDWARF.cpp
    M lldb/test/API/lang/cpp/nested-template/TestNestedTemplate.py
    M lldb/test/API/lang/cpp/nested-template/main.cpp

  Log Message:
  -----------
  [lldb] Fix lookup of types in anonymous namespaces with -gsimple-template-names (#123054)

Anonymous namespaces are supposed to be optional when looking up types.
This was not working in combination with -gsimple-template-names,
because the way it was constructing the complete (with template args)
name scope (i.e., by generating thescope as a string and then reparsing
it) did not preserve the information about the scope kinds.

Essentially what the code wants here is to call `GetTypeLookupContext`
(that's the function used to get the context in the "regular" code
path), but to embelish each name with the template arguments (if they
don't have them already). This PR implements exactly that by adding an
argument to control which kind of names are we interested in. This
should also make the lookup faster as it avoids parsing of the long
string, but I haven't attempted to benchmark that.

I believe this function can also be used in some other places where
we're manually appending template names, but I'm leaving that for
another patch.


  Commit: 226a9d73eee1d36526428806c1204f82b2c1f6cd
      https://github.com/llvm/llvm-project/commit/226a9d73eee1d36526428806c1204f82b2c1f6cd
  Author: Victor Campos <victor.campos at arm.com>
  Date:   2025-01-16 (Thu, 16 Jan 2025)

  Changed paths:
    M clang/docs/Multilib.rst

  Log Message:
  -----------
  Add documentation for Multilib custom flags (#114998)

This patch is the fourth step to extend the current multilib system to
support the selection of library variants which do not correspond to
existing command-line options.

Proposal can be found in
https://discourse.llvm.org/t/rfc-multilib-custom-flags/81058

The multilib mechanism supports libraries that target code generation or
language options such as --target, -mcpu, -mfpu, -mbranch-protection.
However, some library variants are particular to features that do not
correspond to any command-line options. Examples include variants for
multithreading and semihosting.

This work introduces a way to instruct the multilib system to consider
these features in library selection. This particular patch updates the
documentation.


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

  Changed paths:
    M llvm/test/CodeGen/X86/vector-compress.ll

  Log Message:
  -----------
  [X86] vector-compress.ll - add nounwind attoribute to remove cfi noise


  Commit: 13b44283e90f357ea31c553445527953facccdbf
      https://github.com/llvm/llvm-project/commit/13b44283e90f357ea31c553445527953facccdbf
  Author: Nathan Gauër <brioche at google.com>
  Date:   2025-01-16 (Thu, 16 Jan 2025)

  Changed paths:
    M .ci/metrics/metrics.py

  Log Message:
  -----------
  [CI] Add queue size, running count metrics (#122714)

This commits allows the container to report 3 additional metrics at
every sampling event:
- a heartbeat
- the size of the workflow queue (filtered)
- the number of running workflows (filtered)

The heartbeat is a simple metric allowing us to monitor the metrics
health. Before this commit, a new metrics was pushed only when a
workflow was completed. This meant we had to wait a few hours
before noticing if the metrics container was unable to push metrics.

In addition to this, this commits adds a sampling of the workflow
queue size and running count. This should allow us to better understand
the load, and improve the autoscale values we pick for the cluster.

---------

Signed-off-by: Nathan Gauër <brioche at google.com>


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

  Changed paths:
    M llvm/lib/Transforms/Vectorize/VPlan.h
    M llvm/lib/Transforms/Vectorize/VPlanAnalysis.cpp
    M llvm/lib/Transforms/Vectorize/VPlanVerifier.cpp
    M llvm/unittests/Transforms/Vectorize/VPlanVerifierTest.cpp

  Log Message:
  -----------
  [VPlan] Verify scalar types in VPlanVerifier. NFCI (#122679)

VTypeAnalysis contains some assertions which can be useful for reasoning
that the types of various operands match.

This patch teaches VPlanVerifier to invoke VTypeAnalysis to check them,
and catches some issues with VPInstruction types that are also fixed
here:

* Handles the missing cases for CalculateTripCountMinusVF,
CanonicalIVIncrementForPart and AnyOf
* Fixes ICmp and ActiveLaneMask to return i1 (to align with `icmp` and
`@llvm.get.active.lane.mask` in the LangRef)

The VPlanVerifier unit tests also need to be fleshed out a bit more to
satisfy the stricter assertions


  Commit: 7881ac95d7f1edf3e49f39a5e5e0386401138489
      https://github.com/llvm/llvm-project/commit/7881ac95d7f1edf3e49f39a5e5e0386401138489
  Author: Florian Hahn <flo at fhahn.com>
  Date:   2025-01-16 (Thu, 16 Jan 2025)

  Changed paths:
    M llvm/test/Transforms/InstCombine/loadstore-metadata.ll

  Log Message:
  -----------
  [InstCombine] Add extra metadata kinds to test.

Also clarify the FIXME, only none-UB metadata should be preserved.

Extra tests for https://github.com/llvm/llvm-project/pull/115605.


  Commit: c25bd6e35134f591ee7dfeb4494df02987106f7e
      https://github.com/llvm/llvm-project/commit/c25bd6e35134f591ee7dfeb4494df02987106f7e
  Author: macurtis-amd <macurtis at amd.com>
  Date:   2025-01-16 (Thu, 16 Jan 2025)

  Changed paths:
    M flang/runtime/tools.h
    M flang/unittests/Runtime/Support.cpp

  Log Message:
  -----------
  [flang][runtime] Teach ApplyType to handle TypeCategory::Unsigned (#123058)


  Commit: 628976c8345e235d4f71a0715f1990ad8b5bbcf7
      https://github.com/llvm/llvm-project/commit/628976c8345e235d4f71a0715f1990ad8b5bbcf7
  Author: Emilio Cota <ecg at google.com>
  Date:   2025-01-16 (Thu, 16 Jan 2025)

  Changed paths:
    M mlir/include/mlir/IR/TypeRange.h
    M mlir/include/mlir/IR/ValueRange.h
    M mlir/lib/IR/OperationSupport.cpp
    M mlir/lib/IR/TypeRange.cpp
    M mlir/unittests/IR/OperationSupportTest.cpp

  Log Message:
  -----------
  Revert "[mlir] Make single value `ValueRange`s memory safer" (#123187)

Reverts llvm/llvm-project#121996 because it broke an emscripten build
with `--target=wasm32-unknown-emscripten`:

```
llvm/llvm-project/llvm/include/llvm/ADT/PointerIntPair.h:172:17: error: static assertion failed due to requirement '3U <= PointerUnionUIntTraits<const mlir::Value *, const mlir::Type *, mlir::OpOperand *, mlir::detail::OpResultImpl *, mlir::Type>::NumLowBitsAvailable': PointerIntPair with integer size too large for pointer
  172 |   static_assert(IntBits <= PtrTraits::NumLowBitsAvailable,
      |                 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
llvm/llvm-project/llvm/include/llvm/ADT/PointerIntPair.h:111:13: note: in instantiation of template class 'llvm::PointerIntPairInfo<void *, 3, llvm::pointer_union_detail::PointerUnionUIntTraits<const mlir::Value *, const mlir::Type *, mlir::OpOperand *, mlir::detail::OpResultImpl *, mlir::Type>>' requested here
  111 |     Value = Info::updateInt(Info::updatePointer(0, PtrVal),
      |             ^
llvm/llvm-project/llvm/include/llvm/ADT/PointerIntPair.h:89:5: note: in instantiation of member function 'llvm::PointerIntPair<void *, 3, int, llvm::pointer_union_detail::PointerUnionUIntTraits<const mlir::Value *, const mlir::Type *, mlir::OpOperand *, mlir::detail::OpResultImpl *, mlir::Type>>::setPointerAndInt' requested here
   89 |     setPointerAndInt(PtrVal, IntVal);
      |     ^
llvm/llvm-project/llvm/include/llvm/ADT/PointerUnion.h:77:16: note: in instantiation of member function 'llvm::PointerIntPair<void *, 3, int, llvm::pointer_union_detail::PointerUnionUIntTraits<const mlir::Value *, const mlir::Type *, mlir::OpOperand *, mlir::detail::OpResultImpl *, mlir::Type>>::PointerIntPair' requested here
   77 |         : Base(ValTy(const_cast<void *>(
      |                ^
llvm/llvm-project/mlir/include/mlir/IR/TypeRange.h:49:36: note: in instantiation of member function 'llvm::pointer_union_detail::PointerUnionMembers<llvm::PointerUnion<const mlir::Value *, const mlir::Type *, mlir::OpOperand *, mlir::detail::OpResultImpl *, mlir::Type>, llvm::PointerIntPair<void *, 3, int, llvm::pointer_union_detail::PointerUnionUIntTraits<const mlir::Value *, const mlir::Type *, mlir::OpOperand *, mlir::detail::OpResultImpl *, mlir::Type>>, 4, mlir::Type>::PointerUnionMembers' requested here
   49 |   TypeRange(Type type) : TypeRange(type, /*count=*/1) {}
      |                                    ^
llvm/llvm-project/llvm/include/llvm/ADT/PointerIntPair.h:172:25: note: expression evaluates to '3 <= 2'
  172 |   static_assert(IntBits <= PtrTraits::NumLowBitsAvailable,
      |                 ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
1 error generated.
```


  Commit: b7e20147ad7c29f9624d2a071bd348a7acd63461
      https://github.com/llvm/llvm-project/commit/b7e20147ad7c29f9624d2a071bd348a7acd63461
  Author: Fraser Cormack <fraser at codeplay.com>
  Date:   2025-01-16 (Thu, 16 Jan 2025)

  Changed paths:
    M libclc/clc/include/clc/clcmacro.h
    A libclc/clc/include/clc/common/clc_smoothstep.h
    A libclc/clc/include/clc/common/clc_smoothstep.inc
    M libclc/clc/include/clc/shared/clc_clamp.h
    M libclc/clc/lib/clspv/SOURCES
    M libclc/clc/lib/generic/SOURCES
    A libclc/clc/lib/generic/common/clc_smoothstep.cl
    M libclc/clc/lib/spirv/SOURCES
    M libclc/clc/lib/spirv64/SOURCES
    M libclc/generic/lib/common/smoothstep.cl

  Log Message:
  -----------
  [libclc] Move smoothstep to CLC and optimize its codegen (#123183)

This commit moves the implementation of the smoothstep function to the
CLC library, whilst optimizing the codegen.

This commit also adds support for 'half' versions of smoothstep, which
were previously missing.

The CLC smoothstep implementation now keeps everything in vectors,
rather than recursively splitting vectors by half down to the scalar
base form. This should result in more optimal codegen across the board.

This commit also removes some non-standard overloads of smoothstep with
mixed types, such as 'double smoothstep(float, float, float)'. There
aren't any mixed-(element )type versions of smoothstep as far as I can
see:

    gentype smoothstep(gentype edge0, gentype edge1, gentype x)
    gentypef smoothstep(float edge0, float edge1, gentypef x)
    gentyped smoothstep(double edge0, double edge1, gentyped x)
    gentypeh smoothstep(half edge0, half edge1, gentypeh x)

The CLC library only defines the first type, for simplicity; the OpenCL
layer is responsible for handling the scalar/scalar/vector forms. Note
that the scalar/scalar/vector forms now splat the scalars to the vector
type, rather than recursively split vectors as before. The macro that
used to 'vectorize' smoothstep in this way has been moved out of the
shared clcmacro.h header as it was only used for the smoothstep builtin.

Note that the CLC clamp function is now built for both SPIR-V targets.
This is to help build the CLC smoothstep function for the Mesa SPIR-V
target.


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

  Changed paths:
    M lld/COFF/Config.h
    M lld/COFF/Driver.cpp
    M lld/COFF/MapFile.cpp
    M lld/COFF/SymbolTable.h
    M lld/COFF/Writer.cpp
    A lld/test/COFF/arm64x-entry.test

  Log Message:
  -----------
  [LLD][COFF] Add support for hybrid ARM64X entry points (#123096)

Store the entry symbol in SymbolTable instead of Configuration, as it
differs between symbol tables.


  Commit: 1bd5f34d76b788de48e95d2f9c1179cf2685fbe5
      https://github.com/llvm/llvm-project/commit/1bd5f34d76b788de48e95d2f9c1179cf2685fbe5
  Author: Jacek Caban <jacek at codeweavers.com>
  Date:   2025-01-16 (Thu, 16 Jan 2025)

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

  Log Message:
  -----------
  [LLD][COFF] Move getChunk to LinkerDriver (NFC) (#123103)

The `getChunk` function returns all chunks, not just those specific to a
symbol table. Move it out of the `SymbolTable` class to clarify its
scope.


  Commit: 4481030a0388a98d1d426d86bed0ac012dfe3b6b
      https://github.com/llvm/llvm-project/commit/4481030a0388a98d1d426d86bed0ac012dfe3b6b
  Author: Florian Hahn <flo at fhahn.com>
  Date:   2025-01-16 (Thu, 16 Jan 2025)

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

  Log Message:
  -----------
  [Loads] Use use-dereferenceable-at-point-semantics=1 in test.

Update the test to use use-dereferenceable-at-point-semantics=1.
Existing tests are updated with the nofree attribute and a new one has
been added showing that the dereferenceable assumption is used after the
pointer may be freed.


  Commit: 4e8c9d28132039a98feb97cec2759cddeb37d934
      https://github.com/llvm/llvm-project/commit/4e8c9d28132039a98feb97cec2759cddeb37d934
  Author: Jay Foad <jay.foad at amd.com>
  Date:   2025-01-16 (Thu, 16 Jan 2025)

  Changed paths:
    M llvm/include/llvm/TableGen/Record.h
    M llvm/lib/TableGen/Record.cpp
    M llvm/lib/TableGen/TGLexer.h
    M llvm/lib/TableGen/TGParser.cpp
    M llvm/lib/TableGen/TGParser.h
    M llvm/utils/TableGen/AsmMatcherEmitter.cpp
    M llvm/utils/TableGen/AsmWriterEmitter.cpp
    M llvm/utils/TableGen/Basic/DirectiveEmitter.cpp
    M llvm/utils/TableGen/Basic/RISCVTargetDefEmitter.cpp
    M llvm/utils/TableGen/Basic/SequenceToOffsetTable.h
    M llvm/utils/TableGen/CodeEmitterGen.cpp
    M llvm/utils/TableGen/Common/CodeGenDAGPatterns.cpp
    M llvm/utils/TableGen/Common/CodeGenHwModes.cpp
    M llvm/utils/TableGen/Common/CodeGenInstAlias.cpp
    M llvm/utils/TableGen/Common/CodeGenInstruction.cpp
    M llvm/utils/TableGen/Common/CodeGenInstruction.h
    M llvm/utils/TableGen/Common/CodeGenRegisters.cpp
    M llvm/utils/TableGen/Common/CodeGenRegisters.h
    M llvm/utils/TableGen/Common/CodeGenSchedule.cpp
    M llvm/utils/TableGen/Common/GlobalISel/GlobalISelMatchTable.cpp
    M llvm/utils/TableGen/Common/GlobalISel/GlobalISelMatchTable.h
    M llvm/utils/TableGen/Common/InfoByHwMode.cpp
    M llvm/utils/TableGen/Common/InfoByHwMode.h
    M llvm/utils/TableGen/DAGISelMatcherGen.cpp
    M llvm/utils/TableGen/DAGISelMatcherOpt.cpp
    M llvm/utils/TableGen/DFAEmitter.cpp
    M llvm/utils/TableGen/DecoderEmitter.cpp
    M llvm/utils/TableGen/FastISelEmitter.cpp
    M llvm/utils/TableGen/GlobalISelCombinerEmitter.cpp
    M llvm/utils/TableGen/InstrInfoEmitter.cpp
    M llvm/utils/TableGen/OptionParserEmitter.cpp
    M llvm/utils/TableGen/RegisterInfoEmitter.cpp
    M llvm/utils/TableGen/SearchableTableEmitter.cpp
    M llvm/utils/TableGen/WebAssemblyDisassemblerEmitter.cpp
    M llvm/utils/TableGen/X86DisassemblerTables.cpp
    M llvm/utils/TableGen/X86InstrMappingEmitter.cpp

  Log Message:
  -----------
  [TableGen] Use std::pair instead of std::make_pair. NFC. (#123174)

Also use brace initialization and emplace to avoid explicitly 
constructing std::pair, and the same for std::tuple.


  Commit: 9ed075595e14cd1f71fc5e75512ab476547b5362
      https://github.com/llvm/llvm-project/commit/9ed075595e14cd1f71fc5e75512ab476547b5362
  Author: Leandro Lupori <leandro.lupori at linaro.org>
  Date:   2025-01-16 (Thu, 16 Jan 2025)

  Changed paths:
    M flang/test/Preprocessing/bug129131.F

  Log Message:
  -----------
  [flang] Fix Preprocessing/bug129131.F test on Darwin (#123094)

On Darwin, the --isysroot flag must also be specified. This
happens when either %flang or %flang_fc1 is expanded. As -fc1 must
be the first argument, %flang_fc1 must be used in tests, instead of
%flang -fc1.


  Commit: 6ada0022ce5703c0c4abbdb25d4cef038b6eef37
      https://github.com/llvm/llvm-project/commit/6ada0022ce5703c0c4abbdb25d4cef038b6eef37
  Author: Vyacheslav Levytskyy <vyacheslav.levytskyy at intel.com>
  Date:   2025-01-16 (Thu, 16 Jan 2025)

  Changed paths:
    M llvm/test/CodeGen/SPIRV/validate/sycl-tangle-group-algorithms.ll

  Log Message:
  -----------
  [SPIR-V] Fix --target-env version value in the test case (#123191)

This PR fixes `--target-env` version value in the test case
`llvm/test/CodeGen/SPIRV/validate/sycl-tangle-group-algorithms.ll`: the
issue was introduced in https://github.com/llvm/llvm-project/pull/122755


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

  Changed paths:
    M flang/cmake/modules/AddFlang.cmake
    M flang/lib/Common/CMakeLists.txt
    M flang/lib/Frontend/CMakeLists.txt
    M flang/lib/FrontendTool/CMakeLists.txt
    M flang/lib/Lower/CMakeLists.txt
    M flang/lib/Optimizer/Analysis/CMakeLists.txt
    M flang/lib/Optimizer/Builder/CMakeLists.txt
    M flang/lib/Optimizer/CodeGen/CMakeLists.txt
    M flang/lib/Optimizer/Dialect/CMakeLists.txt
    M flang/lib/Optimizer/Dialect/CUF/Attributes/CMakeLists.txt
    M flang/lib/Optimizer/Dialect/CUF/CMakeLists.txt
    M flang/lib/Optimizer/Dialect/Support/CMakeLists.txt
    M flang/lib/Optimizer/HLFIR/IR/CMakeLists.txt
    M flang/lib/Optimizer/HLFIR/Transforms/CMakeLists.txt
    M flang/lib/Optimizer/OpenACC/CMakeLists.txt
    M flang/lib/Optimizer/OpenMP/CMakeLists.txt
    M flang/lib/Optimizer/Passes/CMakeLists.txt
    M flang/lib/Optimizer/Support/CMakeLists.txt
    M flang/lib/Optimizer/Transforms/CMakeLists.txt
    M flang/lib/Support/CMakeLists.txt
    M flang/test/lib/Analysis/AliasAnalysis/CMakeLists.txt
    M flang/test/lib/OpenACC/CMakeLists.txt
    M flang/tools/bbc/CMakeLists.txt
    M flang/tools/fir-lsp-server/CMakeLists.txt
    M flang/tools/fir-opt/CMakeLists.txt
    M flang/tools/tco/CMakeLists.txt
    M flang/unittests/Frontend/CMakeLists.txt

  Log Message:
  -----------
  [flang] Support linking to MLIR dylib (#120966)

Introduce a new `MLIR_LIBS` argument to `add_flang_library`, that uses
`mlir_target_link_libraries` to link the MLIR dylib alterantively to the
component libraries. Use it, along with a few inline
`mlir_target_link_libraries` in tools, to support linking Flang to MLIR
dylib rather than the static libraries.

With these changes, the vast majority of Flang can be linked
dynamically. The only parts still using static libraries are these
requiring MLIR test libraries, that are not included in the dylib.


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

  Changed paths:
    M flang/cmake/modules/AddFlang.cmake

  Log Message:
  -----------
  [flang] [cmake] Call mlir_target_link_libraries() only with MLIR_LIBS

Do not call `mlir_target_link_libraries()` when there are no `MLIR_LIBS`
specified.  This fixes a failure when `flang/runtime` is being built
standalone, as it does not use MLIR and therefore the function
is not defined:

https://lab.llvm.org/buildbot/#/builders/152/builds/932

Fixes 6a2cc122296b04a4f09768a714a74ffc82b7be87


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

  Changed paths:
    M llvm/lib/IR/Value.cpp
    M llvm/test/Analysis/BasicAA/dereferenceable.ll
    M llvm/test/Analysis/ValueTracking/deref-abstract-gc.ll
    M llvm/test/Analysis/ValueTracking/memory-dereferenceable.ll
    M llvm/test/Transforms/LICM/hoist-alloc.ll

  Log Message:
  -----------
  [Options] Use UseDerefAtPointSemantics cl::opt<bool>. (#123192)

It is used as boolean option, use cl::opt<bool> instead of
vl::opt<unsigned>.

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


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

  Changed paths:
    M llvm/test/CodeGen/X86/vector-compress.ll

  Log Message:
  -----------
  [X86] vector-compress.ll - regenerate with missing AVX2 test coverage

Shows some really poor codegen for the maskbit extraction that we should address.


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

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

  Log Message:
  -----------
  [gn] port bf17016a92bc (-gen-clang-diags-enums)


  Commit: 7dd34baf5505d689161c3a8678322a394d7a2929
      https://github.com/llvm/llvm-project/commit/7dd34baf5505d689161c3a8678322a394d7a2929
  Author: Nico Weber <thakis at chromium.org>
  Date:   2025-01-16 (Thu, 16 Jan 2025)

  Changed paths:
    M clang/lib/Analysis/UnsafeBufferUsage.cpp
    M clang/test/SemaCXX/warn-unsafe-buffer-usage-array.cpp

  Log Message:
  -----------
  Revert "[Wunsafe-buffer-usage] Fix false positive when const sized array is indexed by const evaluatable expressions (#119340)"

This reverts commit 64c2156d8802b0d7724f65ce854844670e4ec457.
Causes asserts, see
https://github.com/llvm/llvm-project/pull/119340#issuecomment-2595858729


  Commit: cea92446ac289dc013e6253cb84445981010d08a
      https://github.com/llvm/llvm-project/commit/cea92446ac289dc013e6253cb84445981010d08a
  Author: Lewis Crawford <lcrawford at nvidia.com>
  Date:   2025-01-16 (Thu, 16 Jan 2025)

  Changed paths:
    M llvm/include/llvm/IR/NVVMIntrinsicUtils.h
    M llvm/lib/Analysis/ConstantFolding.cpp
    A llvm/test/Transforms/InstSimplify/const-fold-nvvm-fmin-fmax.ll

  Log Message:
  -----------
  [NVPTX] Constant fold NVVM fmin and fmax (#121966)

Add constant-folding for nvvm float/double fmin + fmax intrinsics,
including all combinations of xorsign.abs, nan-propagation, and ftz.


  Commit: 6f82408bb53f57a859953d8f1114f1634a5d3ee9
      https://github.com/llvm/llvm-project/commit/6f82408bb53f57a859953d8f1114f1634a5d3ee9
  Author: Kareem Ergawy <kareem.ergawy at amd.com>
  Date:   2025-01-16 (Thu, 16 Jan 2025)

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

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

This enable delayed privatization by default for `omp.wsloop` ops, with
one caveat! I had to workaround the "impure" alloc region issue that
being resolved at the moment. The workaround detects whether the alloc
region's argument is used in the region and at the same time defined in
block that does not dominate the chosen alloca insertion point. If so,
we move the alloca insertion point below the defining instruction of the
alloc region argument. This basically reverts to the
non-delayed-privatizaiton behavior.


  Commit: 9033e0c2d22c9f247eccea50ae8c975eb3468ac1
      https://github.com/llvm/llvm-project/commit/9033e0c2d22c9f247eccea50ae8c975eb3468ac1
  Author: Alexandros Lamprineas <alexandros.lamprineas at arm.com>
  Date:   2025-01-16 (Thu, 16 Jan 2025)

  Changed paths:
    M clang/lib/Basic/Targets/AArch64.cpp
    M clang/test/Preprocessor/init-aarch64.c

  Log Message:
  -----------
  [FMV][AArch64][clang] Advance __FUNCTION_MULTI_VERSIONING_SUPPORT_LEVEL to ACLE Q3 (#123056)


  Commit: 5e5fd0e6fc50cc1198750308c11433a5b3acfd0f
      https://github.com/llvm/llvm-project/commit/5e5fd0e6fc50cc1198750308c11433a5b3acfd0f
  Author: peterbell10 <peterbell10 at openai.com>
  Date:   2025-01-16 (Thu, 16 Jan 2025)

  Changed paths:
    M llvm/lib/Target/NVPTX/NVPTXISelDAGToDAG.cpp
    M llvm/lib/Target/NVPTX/NVPTXISelDAGToDAG.h
    M llvm/lib/Target/NVPTX/NVPTXISelLowering.cpp
    M llvm/lib/Target/NVPTX/NVPTXISelLowering.h
    M llvm/lib/Target/NVPTX/NVPTXSubtarget.cpp
    M llvm/lib/Target/NVPTX/NVPTXSubtarget.h
    M llvm/test/CodeGen/NVPTX/atomics-sm90.ll
    M llvm/test/CodeGen/NVPTX/bf16-instructions.ll
    M llvm/test/CodeGen/NVPTX/bf16x2-instructions.ll
    M llvm/test/CodeGen/NVPTX/fma-relu-contract.ll
    M llvm/test/CodeGen/NVPTX/fma-relu-fma-intrinsic.ll
    M llvm/test/CodeGen/NVPTX/fma-relu-instruction-flag.ll

  Log Message:
  -----------
  [NVPTX] Select bfloat16 add/mul/sub as fma on SM80 (#121065)

SM80 has fma for bfloat16 but not add/mul/sub. Currently these ops incur
a promotion to f32, but we can avoid this by writing them in terms of
the fma:
```
FADD(a, b) -> FMA(a, 1.0, b)
FMUL(a, b) -> FMA(a, b, -0.0)
FSUB(a, b) -> FMA(b, -1.0, a)
```

Unfortunately there is no `fma.ftz` so when ftz is enabled, we still
fall back to promotion.


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

  Changed paths:
    M llvm/lib/Target/RISCV/RISCVVLOptimizer.cpp
    M llvm/test/CodeGen/RISCV/rvv/vl-opt-op-info.mir
    M llvm/test/CodeGen/RISCV/rvv/vl-opt.mir

  Log Message:
  -----------
  [RISCV][VLOPT] Handle tied pseudos in getOperandInfo (#123170)

For .wv widening instructions when checking if the opperand is vs1 or
vs2, we take into account whether or not it has a passthru. For tied
pseudos though their passthru is the vs2, and we weren't taking this
into account.


  Commit: 383eb0ba1ead7397dc633cbfa328eab254780784
      https://github.com/llvm/llvm-project/commit/383eb0ba1ead7397dc633cbfa328eab254780784
  Author: Craig Topper <craig.topper at sifive.com>
  Date:   2025-01-16 (Thu, 16 Jan 2025)

  Changed paths:
    M llvm/lib/Target/AArch64/GISel/AArch64CallLowering.cpp

  Log Message:
  -----------
  [AArch64][GISel] Use Register instead of MCRegister for markPhysRegUsed in CallLowering. (#122853)

For "returned" attribute arguments, the physical register is really a
virtual register which shouldn't be stored in an MCRegister. This
patch moves the conversion from Register to MCRegister into the derived
classes of IncomingArgHandler. The derived class
ReturnedArgCallReturnHandler
does not use the register so no MCRegister is created in that case.
The function and argument have been renamed to remove "Phys".


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

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

  Log Message:
  -----------
  [gn build] Port 2c75bda42605


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

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

  Log Message:
  -----------
  [gn build] Port 8fb29ba287d7


  Commit: 77803e461ce653793d4c13daea9bb43e99cd26f7
      https://github.com/llvm/llvm-project/commit/77803e461ce653793d4c13daea9bb43e99cd26f7
  Author: Sjoerd Meijer <smeijer at nvidia.com>
  Date:   2025-01-16 (Thu, 16 Jan 2025)

  Changed paths:
    M llvm/test/Transforms/LoopInterchange/gh54176-scalar-deps.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/outer-header-jump-to-inner-latch.ll
    M llvm/test/Transforms/LoopInterchange/pr43797-lcssa-for-multiple-outer-loop-blocks.ll
    M llvm/test/Transforms/LoopInterchange/vector-gep-operand.ll

  Log Message:
  -----------
  [loop-interchange] Move tests over to use remarks (#123053)

Checking the remark message if interchange did or didn't happen is more
straight forward than the full IR for these cases. This comment was also
made when I moved some tests away from relying on debug builds in change
#116780, and this is a prep step for #119345 that is going to change
these test cases.


  Commit: 9e863cd44945345f22a28cdd3ea12aaa7963345e
      https://github.com/llvm/llvm-project/commit/9e863cd44945345f22a28cdd3ea12aaa7963345e
  Author: erwei-xilinx <erwei.wang at amd.com>
  Date:   2025-01-16 (Thu, 16 Jan 2025)

  Changed paths:
    M mlir/CMakeLists.txt
    M mlir/cmake/modules/AddMLIRPython.cmake

  Log Message:
  -----------
  [mlir][python][cmake] Allows for specifying `NB_DOMAIN` in `add_mlir_python_extension` (#122865)

This PR allows the users to specify the `NB_DOMAIN` for
`add_mlir_python_extension`. This allows users to avoid nanobind domain
conflicts, when python bindings from multiple `mlir` projects were
imported.
(https://nanobind.readthedocs.io/en/latest/faq.html#how-can-i-avoid-conflicts-with-other-projects-using-nanobind)


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

  Changed paths:
    M libcxx/docs/ReleaseNotes/20.rst

  Log Message:
  -----------
  [libc++] Clarify the release note for uncaught_exception removal and deprecation (#123118)

The release note did not clearly mention that std::uncaught_exception
had been removed in C++20.


  Commit: c281b127ab5656eec289cf0b39bf1f473cf71757
      https://github.com/llvm/llvm-project/commit/c281b127ab5656eec289cf0b39bf1f473cf71757
  Author: Ryan Prichard <rprichard at google.com>
  Date:   2025-01-16 (Thu, 16 Jan 2025)

  Changed paths:
    M libcxx/test/std/depr/depr.c.headers/stdlib_h.pass.cpp
    M libcxx/test/std/depr/depr.c.headers/wctype_h.compile.pass.cpp
    M libcxx/test/std/language.support/support.runtime/cstdlib.pass.cpp
    M libcxx/test/std/strings/c.strings/cwctype.pass.cpp

  Log Message:
  -----------
  [libc++][Android] XFAIL some tests for mblen/towctrans/wctrans (#116147)

These functions weren't added until API 26 (Android 8.0), but libc++ is
supported for API 21 and up.

These APIs are undeclared as of r.android.com/3216959.


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

  Changed paths:
    M libcxx/include/__flat_map/key_value_iterator.h
    M libcxx/include/__vector/vector.h

  Log Message:
  -----------
  [libc++] Add assumption for align of begin and end pointers of vector. (#108961)

Missing information about begin and end pointers of std::vector can lead
to missed optimizations in LLVM.

This patch adds alignment assumptions at the point where the begin and
end pointers are loaded. If the pointers would not have the same
alignment, end might never get hit when incrementing begin.

See https://github.com/llvm/llvm-project/issues/101372 for a discussion
of missed range check optimizations in hardened mode.

Once https://github.com/llvm/llvm-project/pull/108958 lands, the created
`llvm.assume` calls for the alignment should be folded into the `load`
instructions, resulting in no extra instructions after InstCombine.

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


  Commit: f6b0555a433cea1d32a6904c120516cd94b8f3db
      https://github.com/llvm/llvm-project/commit/f6b0555a433cea1d32a6904c120516cd94b8f3db
  Author: Jameson Nash <vtjnash at gmail.com>
  Date:   2025-01-16 (Thu, 16 Jan 2025)

  Changed paths:
    M llvm/include/llvm/CodeGen/AsmPrinter.h
    M llvm/include/llvm/CodeGen/AsmPrinterHandler.h
    M llvm/include/llvm/CodeGen/DebugHandlerBase.h
    M llvm/lib/CodeGen/AsmPrinter/AsmPrinter.cpp
    M llvm/lib/CodeGen/AsmPrinter/PseudoProbePrinter.h
    M llvm/lib/Target/BPF/BPFAsmPrinter.cpp
    M llvm/unittests/CodeGen/AsmPrinterDwarfTest.cpp

  Log Message:
  -----------
  [AsmPrinter] Reintroduce full AsmPrinterHandler API (#122297)

This restores the functionality of AsmPrinterHandlers to what it was
prior to https://github.com/llvm/llvm-project/pull/96785. The attempted
hack there of adding a duplicate DebugHandlerBase handling added a lot
of hidden state and assumptions, which just segfaulted when we tried to
continuing using this API. Instead, this just goes back to the old
design, but adds a separate array for the basic EH handles. The
duplicate array is identical to the other array of handler, but which
doesn't get their begin/endInstruction callbacks called. This still
saves the negligible but measurable amount of virtual function calls as
was the goal of #96785, while restoring the API to the pre-LLVM-19
status quo.


  Commit: 18196466238ff25d5c76906645ba1d92f08bd0f7
      https://github.com/llvm/llvm-project/commit/18196466238ff25d5c76906645ba1d92f08bd0f7
  Author: Clement Courbet <courbet at google.com>
  Date:   2025-01-16 (Thu, 16 Jan 2025)

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

  Log Message:
  -----------
  [clang][refactor] Refactor `findNextTokenIncludingComments` (#123060)

We have two copies of the same code in clang-tidy and
clang-reorder-fields, and those are extremenly similar to
`Lexer::findNextToken`, so just add an extra agument to the latter.

---------

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


  Commit: a242880371936a8a424b9d80d47eff1be051429c
      https://github.com/llvm/llvm-project/commit/a242880371936a8a424b9d80d47eff1be051429c
  Author: Evgenii Kudriashov <evgenii.kudriashov at intel.com>
  Date:   2025-01-16 (Thu, 16 Jan 2025)

  Changed paths:
    M llvm/test/TableGen/GlobalISelEmitter/GlobalISelEmitter.td
    M llvm/test/TableGen/GlobalISelEmitter/HwModes.td
    M llvm/test/TableGen/GlobalISelEmitter/MatchTableOptimizer.td
    M llvm/test/TableGen/GlobalISelEmitter/OverloadedPtr.td
    M llvm/test/TableGen/GlobalISelEmitter/atomic-store.td
    A llvm/test/TableGen/GlobalISelEmitter/predicated-pattern-order.td
    M llvm/test/TableGen/GlobalISelEmitter/zero-reg.td
    M llvm/test/TableGen/address-space-patfrags.td
    M llvm/utils/TableGen/GlobalISelEmitter.cpp

  Log Message:
  -----------
  [TableGen][GlobalISel] Reorder atomic predicate to preserve the order (#121806)

Since there are no opcodes for atomic loads and stores comparing to
SelectionDAG, we add `CheckMMOIsNonAtomic` predicate immediately after
the opcode predicate to make a logical combination of them. Otherwise
when `IPM_AtomicOrderingMMO` is inserted after `IPM_GenericPredicate`,
the patterns without predicates get a higher priority as
`IPM_AtomicOrderingMMO` has higher priority than `IPM_GenericPredicate`.

This is important to preserve an order of aligned/unaligned patterns on
X86 because aligned memory operations have an additional alignment
predicate and should be checked first according to their placement in td
file.

Closes #121446


  Commit: 66d347b46fe7643c2721738d61cbdadb7edbcb8b
      https://github.com/llvm/llvm-project/commit/66d347b46fe7643c2721738d61cbdadb7edbcb8b
  Author: CarolineConcatto <caroline.concatto at arm.com>
  Date:   2025-01-16 (Thu, 16 Jan 2025)

  Changed paths:
    M clang/include/clang/Basic/arm_sve.td
    M clang/test/CodeGen/AArch64/sve2-intrinsics/acle_sve2_luti.c
    M clang/test/Sema/aarch64-sve2-intrinsics/acle_sve2_imm_lane.cpp

  Log Message:
  -----------
  [Clang][AArch64]Make Tuple Size Optional for svluti4_lane Intrinsics (#123197)

The svluti4_lane intrinsic currently requires the tuple size to be
specified in the intrinsic name when using a tuple type input.

According to the ACLE specification, the svluti4_lane intrinsic with a
tuple type input, such as:

svint16_t svluti4_lane[_s16_x2(svint16x2_t table, svuint8_t indices,
uint64_t imm_idx);

should allow the tuple size of the input type to be optional.


  Commit: a082cc145f98a2075e53d7cbc1058288781154ac
      https://github.com/llvm/llvm-project/commit/a082cc145f98a2075e53d7cbc1058288781154ac
  Author: Mads Marquart <mads at marquart.dk>
  Date:   2025-01-16 (Thu, 16 Jan 2025)

  Changed paths:
    M llvm/lib/TargetParser/Host.cpp

  Log Message:
  -----------
  Add Apple M4 host detection (#117530)

Add Apple M4 host detection, which fixes
https://github.com/rust-lang/rust/issues/133414.

Also add support for older ARM families (this is likely never going to
get used, since only macOS is officially supported as host OS, but nice
to have for completeness sake). Error handling (checking
`CPUFAMILY_UNKNOWN`) is also included here.

Finally, add links to extra documentation to make it easier for others
to update this in the future.

NOTE: These values are taken from `mach/machine.h` the Xcode 16.2 SDK,
and has been confirmed on an M4 Max in
https://github.com/rust-lang/rust/issues/133414#issuecomment-2499123337.


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

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

  Log Message:
  -----------
  [RISCV] Fold vp.reverse(vp.load(ADDR, MASK)) -> vp.strided.load(ADDR, -1, MASK). (#123115)

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


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

  Changed paths:
    M llvm/tools/llvm-exegesis/lib/AArch64/Target.cpp
    M llvm/tools/llvm-exegesis/lib/Assembler.cpp
    M llvm/tools/llvm-exegesis/lib/Assembler.h
    M llvm/tools/llvm-exegesis/lib/BenchmarkCode.h
    M llvm/tools/llvm-exegesis/lib/BenchmarkResult.cpp
    M llvm/tools/llvm-exegesis/lib/BenchmarkResult.h
    M llvm/tools/llvm-exegesis/lib/CodeTemplate.h
    M llvm/tools/llvm-exegesis/lib/LlvmState.cpp
    M llvm/tools/llvm-exegesis/lib/MCInstrDescView.cpp
    M llvm/tools/llvm-exegesis/lib/MCInstrDescView.h
    M llvm/tools/llvm-exegesis/lib/Mips/Target.cpp
    M llvm/tools/llvm-exegesis/lib/ParallelSnippetGenerator.cpp
    M llvm/tools/llvm-exegesis/lib/ParallelSnippetGenerator.h
    M llvm/tools/llvm-exegesis/lib/PowerPC/Target.cpp
    M llvm/tools/llvm-exegesis/lib/RISCV/Target.cpp
    M llvm/tools/llvm-exegesis/lib/RegisterAliasing.cpp
    M llvm/tools/llvm-exegesis/lib/RegisterAliasing.h
    M llvm/tools/llvm-exegesis/lib/RegisterValue.h
    M llvm/tools/llvm-exegesis/lib/SnippetFile.cpp
    M llvm/tools/llvm-exegesis/lib/SnippetGenerator.cpp
    M llvm/tools/llvm-exegesis/lib/SnippetRepetitor.cpp
    M llvm/tools/llvm-exegesis/lib/SnippetRepetitor.h
    M llvm/tools/llvm-exegesis/lib/Target.cpp
    M llvm/tools/llvm-exegesis/lib/Target.h
    M llvm/tools/llvm-exegesis/lib/X86/Target.cpp
    M llvm/tools/llvm-exegesis/llvm-exegesis.cpp

  Log Message:
  -----------
  [llvm-exegesis] Begin replacing unsigned with MCRegister. NFC (#123109)

Some of this was needed to fix implicit conversions from MCRegister to
unsigned when calling getReg() on MCOperand for example.

The majority was done by reviewing parts of the code that dealt with
registers, converting them to MCRegister and then seeing what new
implicit conversions were created and fixing those.

There were a few places where I used MCPhysReg instead of MCRegiser for
static arrays since its uint16_t instead of unsigned.


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

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

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

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 IntegerType to be nonnull.


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

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

  Log Message:
  -----------
  [CodeGen] Migrate away from PointerUnion::dyn_cast (NFC) (#123157)

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 Data to be nonnull.


  Commit: 286f8423c5e26df0743e47931d840b6226ae6a8c
      https://github.com/llvm/llvm-project/commit/286f8423c5e26df0743e47931d840b6226ae6a8c
  Author: Kazu Hirata <kazu at google.com>
  Date:   2025-01-16 (Thu, 16 Jan 2025)

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

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

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 AP to be nonnull.


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

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

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


  Commit: 09bf5b0d3560992553b593b774c2d3dfff1cd683
      https://github.com/llvm/llvm-project/commit/09bf5b0d3560992553b593b774c2d3dfff1cd683
  Author: Kazu Hirata <kazu at google.com>
  Date:   2025-01-16 (Thu, 16 Jan 2025)

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

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


  Commit: b311ab0f89980105a11f7bff5c6e7dd95d5c86fa
      https://github.com/llvm/llvm-project/commit/b311ab0f89980105a11f7bff5c6e7dd95d5c86fa
  Author: cor3ntin <corentinjabot at gmail.com>
  Date:   2025-01-16 (Thu, 16 Jan 2025)

  Changed paths:
    M clang/docs/ReleaseNotes.rst
    M clang/lib/AST/ASTContext.cpp
    M clang/test/SemaCXX/cxx2c-pack-indexing.cpp

  Log Message:
  -----------
  [Clang] Fix canonicalization of pack indexing types (#123209)

A canonicalized pack indexing should refer to a canonicalized pattern

Fixes #123033


  Commit: ebc7efbab5c58b46f7215d63be6d0208cb588192
      https://github.com/llvm/llvm-project/commit/ebc7efbab5c58b46f7215d63be6d0208cb588192
  Author: Kiran Chandramohan <kiran.chandramohan at arm.com>
  Date:   2025-01-16 (Thu, 16 Jan 2025)

  Changed paths:
    M flang/lib/Semantics/check-omp-structure.cpp
    M flang/lib/Semantics/check-omp-structure.h
    M flang/lib/Semantics/resolve-directives.cpp
    R flang/test/Semantics/OpenMP/cray-pointer-usage.f90

  Log Message:
  -----------
  Revert "[Flang OpenMP] Add semantics checks for cray pointer usage in DSA list" (#123220)

Reverts llvm/llvm-project#121028

Reverting due to CI failure
(https://lab.llvm.org/buildbot/#/builders/89/builds/14474)


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

  Changed paths:
    M llvm/include/llvm/FileCheck/FileCheck.h
    M llvm/lib/FileCheck/FileCheck.cpp

  Log Message:
  -----------
  [FileCheck] Remove unneeded unique_ptr. NFC. (#123216)


  Commit: 94fee13d425094e11d0b3799e827dec2451f017b
      https://github.com/llvm/llvm-project/commit/94fee13d425094e11d0b3799e827dec2451f017b
  Author: Yingwei Zheng <dtcxzyw2333 at gmail.com>
  Date:   2025-01-17 (Fri, 17 Jan 2025)

  Changed paths:
    M llvm/lib/Transforms/InstCombine/InstCombineAndOrXor.cpp
    M llvm/lib/Transforms/InstCombine/InstCombineCalls.cpp

  Log Message:
  -----------
  [InstCombine] Simplify FMF propagation. NFC. (#121899)

This patch uses new FMF interfaces introduced by
https://github.com/llvm/llvm-project/pull/121657 to simplify existing
code with `andIRFlags` and `copyFastMathFlags`.


  Commit: 60e4d24963ebc256dd68f2f9d969ca8e52cd9649
      https://github.com/llvm/llvm-project/commit/60e4d24963ebc256dd68f2f9d969ca8e52cd9649
  Author: Fangrui Song <i at maskray.me>
  Date:   2025-01-16 (Thu, 16 Jan 2025)

  Changed paths:
    M lld/MachO/BPSectionOrderer.h
    M lld/include/lld/Common/BPSectionOrdererBase.h

  Log Message:
  -----------
  [lld-macho,BalancedPartition] Simplify relocation hash and avoid xxHash

xxHash, inferior to xxh3, is discouraged. We try not to use xxhash in
lld.

Switch to read32le for content hash and xxh3/stable_hash_combine for
relocation hash. Remove the intermediate std::string for relocation
hash.

Change the tail hashing scheme to consider individual bytes instead.
This helps group 0102 and 0201 together. The benefit is negligible,
though.

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


  Commit: 8965dd40c63cf00610fcf550017b46dae736d94b
      https://github.com/llvm/llvm-project/commit/8965dd40c63cf00610fcf550017b46dae736d94b
  Author: Jonas Devlieghere <jonas at devlieghere.com>
  Date:   2025-01-16 (Thu, 16 Jan 2025)

  Changed paths:
    M lldb/source/Symbol/CompilerType.cpp

  Log Message:
  -----------
  [lldb] Handle a byte size of zero in CompilerType::GetValueAsScalar (#123107)

A bit or byte size of 0 is not a bug. It can legitimately (and
frequently) happen in Swift and C, just not in C++. However, it doesn't
make sense to read a scalar of zero bytes.

Currently, when this happens, we trigger an `lldb_assert` in the data
extractor and return 0, which isn't accurate. I have a bunch of reports
of the assert triggering, but nobody has been able to provide me with a
reproducer that I can turn into a test and I wasn't able to concoct a
test case by reverse-engineering the code.

rdar://141630334


  Commit: 6b3ba6677d64e394b9c929ea0d1f7c54e3146fda
      https://github.com/llvm/llvm-project/commit/6b3ba6677d64e394b9c929ea0d1f7c54e3146fda
  Author: Kareem Ergawy <kareem.ergawy at amd.com>
  Date:   2025-01-16 (Thu, 16 Jan 2025)

  Changed paths:
    M flang/test/Integration/OpenMP/parallel-private-reduction-worstcase.f90
    M mlir/lib/Target/LLVMIR/Dialect/OpenMP/OpenMPToLLVMIRTranslation.cpp
    M mlir/test/Target/LLVMIR/openmp-llvm.mlir
    M mlir/test/Target/LLVMIR/openmp-parallel-reduction-multiblock.mlir
    M mlir/test/Target/LLVMIR/openmp-reduction-array-sections.mlir
    M mlir/test/Target/LLVMIR/openmp-reduction-init-arg.mlir
    M mlir/test/Target/LLVMIR/openmp-reduction-sections.mlir
    M mlir/test/Target/LLVMIR/openmp-simd-private.mlir
    M mlir/test/Target/LLVMIR/openmp-target-use-device-nested.mlir
    A mlir/test/Target/LLVMIR/openmp-wsloop-test-block-structure.mlir

  Log Message:
  -----------
  [flang][OpenMP] Unconditionally create `after_alloca` block in `allocatePrivateVars` (#123168)

While https://github.com/llvm/llvm-project/pull/122866 fixed some
issues, it introduced a regression in worksharing loops. The new bug
comes from the fact that we now conditionally created the `after_alloca`
block based on the number of sucessors of the alloca insertion point.
This is unneccessary, we can just alway create the block. If we do this,
we respect the post condtions expected after calling
`allocatePrivateVars` (i.e. that the `afterAlloca` block has a single
predecessor.


  Commit: a0406ce823e8f1c1993b565d08b045c0104c3a5a
      https://github.com/llvm/llvm-project/commit/a0406ce823e8f1c1993b565d08b045c0104c3a5a
  Author: Kareem Ergawy <kareem.ergawy at amd.com>
  Date:   2025-01-16 (Thu, 16 Jan 2025)

  Changed paths:
    M flang/include/flang/Lower/AbstractConverter.h
    M flang/lib/Lower/Bridge.cpp
    M flang/lib/Lower/OpenMP/DataSharingProcessor.cpp
    M flang/lib/Lower/OpenMP/OpenMP.cpp
    A flang/test/Lower/OpenMP/same_var_first_lastprivate.f90

  Log Message:
  -----------
  [flang][OpenMP] Add `hostIsSource` paramemter to `copyHostAssociateVar` (#123162)

This fixes a bug when the same variable is used in `firstprivate` and
`lastprivate` clauses on the same construct. The issue boils down to the
fact that `copyHostAssociateVar` was deciding the direction of the copy
assignment (i.e. the `lhs` and `rhs`) based on whether the
`copyAssignIP`
parameter is set. This is not the best way to do it since it is not
related to whether we doing a copy from host to localized copy or the
other way around. When we set the insertion for `firstprivate` in
delayed privatization, this resulted in switching the direction of the
copy assignment. Instead, this PR adds a new paramter to explicitely
tell
the function the direction of the assignment.

This is a follow up PR for
https://github.com/llvm/llvm-project/pull/122471, only the latest commit
is relevant.


  Commit: d2d531e0974e845df6cdff4b50da1e9d2ff61431
      https://github.com/llvm/llvm-project/commit/d2d531e0974e845df6cdff4b50da1e9d2ff61431
  Author: Jorge Gorbe Moya <jgorbe at google.com>
  Date:   2025-01-16 (Thu, 16 Jan 2025)

  Changed paths:
    M clang/lib/Serialization/GeneratePCH.cpp
    M utils/bazel/llvm-project-overlay/clang/BUILD.bazel

  Log Message:
  -----------
  [clang][Serialization] Stop including Frontend headers from Serialization (NFC) (#123140)

The Frontend library depends on Serialization. This is an explicit
dependency encoded in the CMake target. However, Serialization currently
has an implicit dependency on Frontend, as it includes one of its
headers. This is not reflected in the CMake build rules, but Bazel is
stricter so, in order to avoid a dependency cycle, it hackily declares
the Frontend headers as source files for Serialization.

Fortunately, the only Frontend header used by Serialization is
clang/Frontend/FrontendDiagnostic.h, which is a legacy header that just
includes clang/Basic/DiagnosticFrontend since
d076608d58d1ec55016eb747a995511e3a3f72aa, back in 2018.

This commit changes Serialization to use the underlying header from
Basic instead. Both Serialization and Frontend depend on Basic, so this
breaks the dependency cycle.


  Commit: 0e417a700f3604fcff163e95c31202541868e08b
      https://github.com/llvm/llvm-project/commit/0e417a700f3604fcff163e95c31202541868e08b
  Author: Jorge Gorbe Moya <jgorbe at google.com>
  Date:   2025-01-16 (Thu, 16 Jan 2025)

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

  Log Message:
  -----------
  [bazel] Add rules for clang-fuzzer protobuf-related libraries (#123126)

Also bumped up bazel_skylib to the latest version because the proto
rules were complaining about a missing feature.


  Commit: a32e36faf84bd7da3df0c7d50bb9020568128417
      https://github.com/llvm/llvm-project/commit/a32e36faf84bd7da3df0c7d50bb9020568128417
  Author: Brian Favela <brianfavela at microsoft.com>
  Date:   2025-01-16 (Thu, 16 Jan 2025)

  Changed paths:
    M llvm/tools/dxil-dis/CMakeLists.txt

  Log Message:
  -----------
  Update cloning of the DirectXShaderCompiler repo to not include DXC tests (#122178)

This prevents any unnecessary dependency on TAEF when building as it's
not used for dxil-dis testing


  Commit: 4446a9849aaa7e33e0d544fa6501d3d851b25fd6
      https://github.com/llvm/llvm-project/commit/4446a9849aaa7e33e0d544fa6501d3d851b25fd6
  Author: Adam Yang <hanbyang at microsoft.com>
  Date:   2025-01-16 (Thu, 16 Jan 2025)

  Changed paths:
    M clang/include/clang/Basic/Builtins.td
    M clang/include/clang/Basic/DiagnosticSemaKinds.td
    M clang/lib/CodeGen/CGBuiltin.cpp
    M clang/lib/Headers/hlsl/hlsl_intrinsics.h
    M clang/lib/Sema/SemaHLSL.cpp
    A clang/test/CodeGenHLSL/builtins/WaveActiveSum.hlsl
    A clang/test/SemaHLSL/BuiltIns/WaveActiveSum-errors.hlsl
    M llvm/include/llvm/IR/IntrinsicsDirectX.td
    M llvm/include/llvm/IR/IntrinsicsSPIRV.td
    M llvm/lib/Target/DirectX/DXIL.td
    M llvm/lib/Target/DirectX/DirectXTargetTransformInfo.cpp
    M llvm/lib/Target/SPIRV/SPIRVInstructionSelector.cpp
    M llvm/lib/Target/SPIRV/SPIRVModuleAnalysis.cpp
    A llvm/test/CodeGen/DirectX/WaveActiveSum.ll
    A llvm/test/CodeGen/SPIRV/hlsl-intrinsics/WaveActiveSum.ll

  Log Message:
  -----------
  [HLSL][SPIRV][DXIL] Implement `WaveActiveSum` intrinsic (#118580)

```    - add clang builtin to Builtins.td
      - link builtin in hlsl_intrinsics
      - add codegen for spirv intrinsic and two directx intrinsics to retain
        signedness information of the operands in CGBuiltin.cpp
      - add semantic analysis in SemaHLSL.cpp
      - add lowering of spirv intrinsic to spirv backend in
        SPIRVInstructionSelector.cpp
      - add lowering of directx intrinsics to WaveActiveOp dxil op in
    DXIL.td

      - add test cases to illustrate passespendent pr merges.
```
Resolves #70106

---------

Co-authored-by: Finn Plummer <canadienfinn at gmail.com>


  Commit: 4b06b01e62ab0cfd059f47dceeb6cd0fb96304c9
      https://github.com/llvm/llvm-project/commit/4b06b01e62ab0cfd059f47dceeb6cd0fb96304c9
  Author: Jorge Gorbe Moya <jgorbe at google.com>
  Date:   2025-01-16 (Thu, 16 Jan 2025)

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

  Log Message:
  -----------
  [bazel] Add missing file to textual_hdrs in //clang:basic (NFC)


  Commit: d951becf8867437fb4b1e1bfb59a7507a228d866
      https://github.com/llvm/llvm-project/commit/d951becf8867437fb4b1e1bfb59a7507a228d866
  Author: Jonathan Thackray <jonathan.thackray at arm.com>
  Date:   2025-01-16 (Thu, 16 Jan 2025)

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

  Log Message:
  -----------
  [NFC][AArch64] Adjust predicate names to be more consistent (#123172)

Some of the predicate names use `_or_`, some use plain `or`,
some used `HasXXorHasXX`, some used `HasXX_or_XX`. Make these
as consistent as possible.


  Commit: 842ce4efddf7bf6155a5da99270748d9b23ddef0
      https://github.com/llvm/llvm-project/commit/842ce4efddf7bf6155a5da99270748d9b23ddef0
  Author: Jorge Gorbe Moya <jgorbe at google.com>
  Date:   2025-01-16 (Thu, 16 Jan 2025)

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

  Log Message:
  -----------
  [bazel] Remove useless exclusion from glob (NFC)

The excluded file doesn't match the glob pattern to begin with, so it's
unnecessary.


  Commit: 06edefac10f4481bdd458c0362d9a305f6a1ce6a
      https://github.com/llvm/llvm-project/commit/06edefac10f4481bdd458c0362d9a305f6a1ce6a
  Author: Jacob Lalonde <jalalonde at fb.com>
  Date:   2025-01-16 (Thu, 16 Jan 2025)

  Changed paths:
    M lldb/include/lldb/API/SBSaveCoreOptions.h
    M lldb/include/lldb/API/SBThreadCollection.h
    M lldb/include/lldb/Symbol/SaveCoreOptions.h
    M lldb/source/API/SBSaveCoreOptions.cpp
    M lldb/source/Symbol/SaveCoreOptions.cpp
    M lldb/test/API/python_api/sbsavecoreoptions/TestSBSaveCoreOptions.py
    M lldb/test/API/python_api/sbsavecoreoptions/basic_minidump.yaml

  Log Message:
  -----------
  [LLDB] Make the thread list for SBSaveCoreOptions iterable (#122541)

This patch adds the ability to get a thread at a give index, based on
insertion order, for SBSaveCore Options. This is primarily to benefit
scripts using SBSaveCore, and remove the need to have both options and a
second collection if your script is tracking what threads need to be
saved. Such as if you want to collect the source of all the threads to
be saved after the Core is generated.


  Commit: acba822a45a71ad5b2dc02927e6ac904675f9bd6
      https://github.com/llvm/llvm-project/commit/acba822a45a71ad5b2dc02927e6ac904675f9bd6
  Author: Renaud Kauffmann <rkauffmann at nvidia.com>
  Date:   2025-01-16 (Thu, 16 Jan 2025)

  Changed paths:
    M flang/module/__cuda_device.f90
    M flang/module/cudadevice.f90

  Log Message:
  -----------
  [CUF] Moving __fadd_rd and __fadd_ru to cudadevice.f90 as they are symbol already known upstream. (#123127)

They are defined under `__clang_cuda_device_functions.h`

---------

Co-authored-by: Valentin Clement (バレンタイン クレメン) <clementval at gmail.com>


  Commit: 60de7dc886b9d83b0e2b6c9d7b73173d5d870388
      https://github.com/llvm/llvm-project/commit/60de7dc886b9d83b0e2b6c9d7b73173d5d870388
  Author: Daniel Thornburgh <dthorn at google.com>
  Date:   2025-01-16 (Thu, 16 Jan 2025)

  Changed paths:
    M libc/src/__support/CMakeLists.txt
    M libc/src/__support/block.h
    M libc/src/__support/freelist_heap.h
    M libc/test/src/__support/block_test.cpp
    M libc/test/src/__support/freelist_heap_test.cpp

  Log Message:
  -----------
  [libc] Fix malloc Block alignment issue on riscv32 (#117815)

Aligning blocks to max_align_t is neither necessary nor sufficient to
ensure that the usable_space() is so aligned. Instead, we make this an
invariant of Block and maintain it in init() and split().

This allows targets like riscv32 with small pointers and large
max_align_t to maintain the property that all available blocks are
aligned for malloc(). This change adjusts the tests to match and also
updates them closer to llvm-libc style.


  Commit: 01d7f434d21a70158094a9c7da971ce9e0d0915c
      https://github.com/llvm/llvm-project/commit/01d7f434d21a70158094a9c7da971ce9e0d0915c
  Author: Raphael Moreira Zinsly <rzinsly at ventanamicro.com>
  Date:   2025-01-16 (Thu, 16 Jan 2025)

  Changed paths:
    M llvm/lib/Target/RISCV/RISCVFrameLowering.cpp
    M llvm/lib/Target/RISCV/RISCVFrameLowering.h
    M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
    M llvm/lib/Target/RISCV/RISCVISelLowering.h
    M llvm/lib/Target/RISCV/RISCVInstrInfo.td
    M llvm/lib/Target/RISCV/RISCVMachineFunctionInfo.h
    A llvm/test/CodeGen/RISCV/rvv/stack-probing-dynamic.ll
    M llvm/test/CodeGen/RISCV/stack-clash-prologue.ll

  Log Message:
  -----------
  [RISCV] Stack clash protection for dynamic alloca (#122508)

Create a probe loop for dynamic allocation and add the corresponding
SelectionDAG support in order to use it.


  Commit: 3173a4fc3aca3b8b21e9064cc38383be3539b3a4
      https://github.com/llvm/llvm-project/commit/3173a4fc3aca3b8b21e9064cc38383be3539b3a4
  Author: Craig Topper <craig.topper at sifive.com>
  Date:   2025-01-16 (Thu, 16 Jan 2025)

  Changed paths:
    M llvm/unittests/tools/llvm-exegesis/X86/SnippetGeneratorTest.cpp

  Log Message:
  -----------
  [llvm-exegesis] Remove implicit conversions of MCRegister to unsigned. NFC (#123223)

-Use MCRegister::id() for BitVector index.
-Replace std::unordered_set<unsigned> with std::set<MCRegister.
There are other std::sets for Register. None for MCRegister before this.
 I'm assuming we can have operator<(MCRegister, MCRegister). This avoids
 needing to add std::hash<MCRegister>.
-Use MCRegister::isValid() to avoid comparing to 0.


  Commit: 99d40fe8f028efa32d31754be774a0d3a0d20fc7
      https://github.com/llvm/llvm-project/commit/99d40fe8f028efa32d31754be774a0d3a0d20fc7
  Author: Daniel Thornburgh <dthorn at google.com>
  Date:   2025-01-16 (Thu, 16 Jan 2025)

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

  Log Message:
  -----------
  [libc] Fix freelist_heap_test.cpp warnings


  Commit: 3ba339b5e70231985b2e3f966dd80aa65cfeee1b
      https://github.com/llvm/llvm-project/commit/3ba339b5e70231985b2e3f966dd80aa65cfeee1b
  Author: Princeton Ferro <pferro at nvidia.com>
  Date:   2025-01-16 (Thu, 16 Jan 2025)

  Changed paths:
    M llvm/lib/Target/NVPTX/NVPTXISelLowering.cpp
    M llvm/lib/Target/NVPTX/NVPTXInstrInfo.td
    M llvm/lib/Target/NVPTX/NVPTXIntrinsics.td
    M llvm/test/CodeGen/NVPTX/f16-ex2.ll
    A llvm/test/CodeGen/NVPTX/f32-ex2.ll
    A llvm/test/CodeGen/NVPTX/f32-lg2.ll
    A llvm/test/CodeGen/NVPTX/fexp2.ll
    A llvm/test/CodeGen/NVPTX/flog2.ll

  Log Message:
  -----------
  [NVPTX] Improve support for {ex2,lg2}.approx (#120519)

- Add support for `@llvm.exp2()`:
  - LLVM: `float`        -> PTX: `ex2.approx{.ftz}.f32`
  - LLVM: `half`         -> PTX: `ex2.approx.f16`
  - LLVM: `<2 x half>`   -> PTX: `ex2.approx.f16x2`
  - LLVM: `bfloat`       -> PTX: `ex2.approx.ftz.bf16`
  - LLVM: `<2 x bfloat>` -> PTX: `ex2.approx.ftz.bf16x2`
  - Any operations with non-native vector widths are expanded. On
    targets not supporting f16/bf16, values are promoted to f32.

- Add *CONDITIONAL* support for `@llvm.log2()` [^1]:
  - LLVM: `float` -> PTX: `lg2.approx{.ftz}.f32`
  - Support for f16/bf16 is emulated by promoting values to f32.

[1]: CUDA implements `exp2()` with `ex2.approx` but `log2()` is
implemented differently, so this is off by default. To enable, use the
flag `-nvptx-approx-log2f32`.


  Commit: 51f64380c9392b4cd01b2353b4ebbbf6f6e0f13b
      https://github.com/llvm/llvm-project/commit/51f64380c9392b4cd01b2353b4ebbbf6f6e0f13b
  Author: Vitaly Buka <vitalybuka at google.com>
  Date:   2025-01-16 (Thu, 16 Jan 2025)

  Changed paths:
    M llvm/lib/ObjectYAML/ELFYAML.cpp

  Log Message:
  -----------
  Revert "[YAML] Init local var not set by some branches" (#123238)

Reverts llvm/llvm-project#123137

It's a bug according to
https://github.com/llvm/llvm-project/pull/123137#pullrequestreview-2555328813


  Commit: cc61929dc8e1010191451fca74a8e6b13b2b77eb
      https://github.com/llvm/llvm-project/commit/cc61929dc8e1010191451fca74a8e6b13b2b77eb
  Author: Vasileios Porpodas <vporpodas at google.com>
  Date:   2025-01-16 (Thu, 16 Jan 2025)

  Changed paths:
    M llvm/include/llvm/Transforms/Vectorize/SandboxVectorizer/Scheduler.h

  Log Message:
  -----------
  [SandboxVec][Scheduler][NFC] Add comments


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

  Changed paths:
    M flang/docs/OpenACC-descriptor-management.md
    M flang/docs/ParameterizedDerivedTypes.md
    M flang/docs/PolymorphicEntities.md
    M flang/include/flang/Optimizer/Builder/Runtime/RTBuilder.h
    M flang/include/flang/Optimizer/Dialect/FIRType.h
    M flang/lib/Lower/Runtime.cpp
    M flang/lib/Optimizer/Builder/Runtime/Inquiry.cpp
    M flang/lib/Optimizer/Builder/Runtime/Intrinsics.cpp
    M flang/lib/Optimizer/Builder/Runtime/Reduction.cpp
    M flang/lib/Optimizer/Builder/Runtime/Transformational.cpp
    M flang/test/Analysis/AliasAnalysis/ptr-component.fir
    M flang/test/Fir/CUDA/cuda-alloc-free.fir
    M flang/test/Fir/CUDA/cuda-allocate.fir
    M flang/test/Fir/CUDA/cuda-code-gen.mlir
    M flang/test/Fir/CUDA/cuda-constructor-2.f90
    M flang/test/Fir/CUDA/cuda-data-transfer.fir
    M flang/test/Fir/CUDA/cuda-global-addr.mlir
    M flang/test/Fir/abstract-result-2.fir
    M flang/test/Fir/array-value-copy-3.fir
    M flang/test/Fir/array-value-copy-4.fir
    M flang/test/Fir/boxproc-openmp.fir
    M flang/test/Fir/polymorphic.fir
    M flang/test/Fir/rebox_assumed_rank_codegen.fir
    M flang/test/Fir/tbaa-codegen2.fir
    M flang/test/HLFIR/all-lowering.fir
    M flang/test/HLFIR/any-elemental.fir
    M flang/test/HLFIR/any-lowering.fir
    M flang/test/HLFIR/assign-codegen.fir
    M flang/test/HLFIR/assumed_shape_with_value_keyword.f90
    M flang/test/HLFIR/boxchar_emboxing.f90
    M flang/test/HLFIR/bufferize-destroy-for-derived.fir
    M flang/test/HLFIR/bufferize-end-associate-for-derived.fir
    M flang/test/HLFIR/bufferize-poly-expr.fir
    M flang/test/HLFIR/bufferize01.fir
    M flang/test/HLFIR/copy-in-out-codegen.fir
    M flang/test/HLFIR/count-lowering-default-int-kinds.fir
    M flang/test/HLFIR/count-lowering.fir
    M flang/test/HLFIR/cshift-lowering.fir
    M flang/test/HLFIR/elemental-codegen.fir
    M flang/test/HLFIR/matmul-lowering.fir
    M flang/test/HLFIR/maxloc-lowering.fir
    M flang/test/HLFIR/maxval-lowering.fir
    M flang/test/HLFIR/minloc-lowering.fir
    M flang/test/HLFIR/minval-lowering.fir
    M flang/test/HLFIR/optional_dummy.f90
    M flang/test/HLFIR/order_assignments/lhs-conflicts-codegen.fir
    M flang/test/HLFIR/order_assignments/runtime-stack-temp.fir
    M flang/test/HLFIR/order_assignments/user-defined-assignment-finalization.fir
    M flang/test/HLFIR/product-lowering.fir
    M flang/test/HLFIR/sum-lowering.fir
    M flang/test/HLFIR/transpose-lowering.fir
    M flang/test/Integration/OpenMP/parallel-private-reduction-worstcase.f90
    M flang/test/Integration/OpenMP/private-global.f90
    M flang/test/Lower/CUDA/cuda-allocatable.cuf
    M flang/test/Lower/HLFIR/array-ctor-as-runtime-temp.f90
    M flang/test/Lower/HLFIR/array-ctor-character.f90
    M flang/test/Lower/HLFIR/array-ctor-derived.f90
    M flang/test/Lower/HLFIR/assumed-rank-inquiries-3.f90
    M flang/test/Lower/HLFIR/assumed-rank-inquiries.f90
    M flang/test/Lower/HLFIR/cray-pointers.f90
    M flang/test/Lower/HLFIR/function-return-as-expr.f90
    M flang/test/Lower/HLFIR/ignore-rank-unlimited-polymorphic.f90
    M flang/test/Lower/HLFIR/intentout-allocatable-components.f90
    M flang/test/Lower/HLFIR/internal-procedures-polymorphic.f90
    M flang/test/Lower/HLFIR/intrinsic-subroutines.f90
    M flang/test/Lower/HLFIR/local-end-of-scope-component-dealloc.f90
    M flang/test/Lower/HLFIR/structure-constructor.f90
    M flang/test/Lower/Intrinsics/abort.f90
    M flang/test/Lower/Intrinsics/adjustl.f90
    M flang/test/Lower/Intrinsics/adjustr.f90
    M flang/test/Lower/Intrinsics/all.f90
    M flang/test/Lower/Intrinsics/any.f90
    M flang/test/Lower/Intrinsics/bessel_jn.f90
    M flang/test/Lower/Intrinsics/bessel_yn.f90
    M flang/test/Lower/Intrinsics/count.f90
    M flang/test/Lower/Intrinsics/date_and_time.f90
    M flang/test/Lower/Intrinsics/dot_product.f90
    M flang/test/Lower/Intrinsics/eoshift.f90
    M flang/test/Lower/Intrinsics/etime-function.f90
    M flang/test/Lower/Intrinsics/etime.f90
    M flang/test/Lower/Intrinsics/execute_command_line-optional.f90
    M flang/test/Lower/Intrinsics/execute_command_line.f90
    M flang/test/Lower/Intrinsics/exit-2.f90
    M flang/test/Lower/Intrinsics/exit.f90
    M flang/test/Lower/Intrinsics/findloc.f90
    M flang/test/Lower/Intrinsics/free.f90
    M flang/test/Lower/Intrinsics/iall.f90
    M flang/test/Lower/Intrinsics/iand.f90
    M flang/test/Lower/Intrinsics/iany.f90
    M flang/test/Lower/Intrinsics/index.f90
    M flang/test/Lower/Intrinsics/iparity.f90
    M flang/test/Lower/Intrinsics/matmul.f90
    M flang/test/Lower/Intrinsics/maxloc.f90
    M flang/test/Lower/Intrinsics/maxval.f90
    M flang/test/Lower/Intrinsics/minloc.f90
    M flang/test/Lower/Intrinsics/minval.f90
    M flang/test/Lower/Intrinsics/norm2.f90
    M flang/test/Lower/Intrinsics/pack.f90
    M flang/test/Lower/Intrinsics/parity.f90
    M flang/test/Lower/Intrinsics/product.f90
    M flang/test/Lower/Intrinsics/random.f90
    M flang/test/Lower/Intrinsics/random_number_real16.f90
    M flang/test/Lower/Intrinsics/rename.f90
    M flang/test/Lower/Intrinsics/repeat.f90
    M flang/test/Lower/Intrinsics/reshape.f90
    M flang/test/Lower/Intrinsics/scan.f90
    M flang/test/Lower/Intrinsics/sleep.f90
    M flang/test/Lower/Intrinsics/spread.f90
    M flang/test/Lower/Intrinsics/storage_size.f90
    M flang/test/Lower/Intrinsics/sum.f90
    M flang/test/Lower/Intrinsics/system-optional.f90
    M flang/test/Lower/Intrinsics/system.f90
    M flang/test/Lower/Intrinsics/transfer.f90
    M flang/test/Lower/Intrinsics/transpose.f90
    M flang/test/Lower/Intrinsics/trim.f90
    M flang/test/Lower/Intrinsics/ubound01.f90
    M flang/test/Lower/Intrinsics/verify.f90
    M flang/test/Lower/OpenACC/stop-stmt-in-region.f90
    M flang/test/Lower/OpenMP/delayed-privatization-default-init.f90
    M flang/test/Lower/OpenMP/parallel-reduction-pointer-array.f90
    M flang/test/Lower/OpenMP/parallel-reduction3.f90
    M flang/test/Lower/OpenMP/private-derived-type.f90
    M flang/test/Lower/OpenMP/stop-stmt-in-region.f90
    M flang/test/Lower/allocatable-assignment.f90
    M flang/test/Lower/allocatable-polymorphic.f90
    M flang/test/Lower/allocatable-runtime.f90
    M flang/test/Lower/allocate-mold.f90
    M flang/test/Lower/allocate-source-allocatables-2.f90
    M flang/test/Lower/allocate-source-allocatables.f90
    M flang/test/Lower/allocate-source-pointers.f90
    M flang/test/Lower/array-derived-assignments.f90
    M flang/test/Lower/basic-function.f90
    M flang/test/Lower/call-by-value-attr.f90
    M flang/test/Lower/call-copy-in-out.f90
    M flang/test/Lower/default-initialization.f90
    M flang/test/Lower/derived-assignments.f90
    M flang/test/Lower/derived-type-finalization.f90
    M flang/test/Lower/derived-type-temp.f90
    M flang/test/Lower/do_concurrent_local_default_init.f90
    M flang/test/Lower/fail_image.f90
    M flang/test/Lower/forall/forall-allocatable-2.f90
    M flang/test/Lower/forall/forall-where.f90
    M flang/test/Lower/goto-statement.f90
    M flang/test/Lower/io-statement-big-unit-checks.f90
    M flang/test/Lower/nested-where.f90
    M flang/test/Lower/nullify-polymorphic.f90
    M flang/test/Lower/optional-value-caller.f90
    M flang/test/Lower/parent-component.f90
    M flang/test/Lower/pointer-association-polymorphic.f90
    M flang/test/Lower/pointer-disassociate.f90
    M flang/test/Lower/polymorphic-temp.f90
    M flang/test/Lower/polymorphic.f90
    M flang/test/Lower/select-type-2.fir
    M flang/test/Lower/stop-statement.f90
    M flang/test/Lower/structure-constructors-alloc-comp.f90
    M flang/test/Lower/structure-constructors.f90
    M flang/test/Lower/transformational-intrinsics.f90
    M flang/test/Lower/vector-subscript-io.f90
    M flang/test/Transforms/omp-reduction-cfg-conversion.fir
    M flang/test/Transforms/simplifyintrinsics.fir
    M flang/test/Transforms/stack-arrays.fir

  Log Message:
  -----------
  [flang] Do not produce result for void runtime call (#123155)

Runtime function call to a void function are producing a ssa value
because the FunctionType result is set to NoneType with is later
translated to a empty struct. This is not an issue when going to LLVM IR
but it breaks when lowering a gpu module to PTX. This patch update the
RTModel to correctly set the FunctionType result type to nothing.

This is one runtime call before this patch at the LLVM IR dialect step.
```
%45 = llvm.call @_FortranAAssign(%arg0, %1, %44, %4) : (!llvm.ptr, !llvm.ptr, !llvm.ptr, i32) -> !llvm.struct<()>
```

After the patch the call would be correctly formed
```
llvm.call @_FortranAAssign(%arg0, %1, %44, %4) : (!llvm.ptr, !llvm.ptr, !llvm.ptr, i32) -> ()
```

Without the patch it would lead to error like:
```
ptxas /tmp/mlir-cuda_device_mod-nvptx64-nvidia-cuda-sm_60-e804b6.ptx, line 10; error   : Output parameter cannot be an incomplete array.
ptxas /tmp/mlir-cuda_device_mod-nvptx64-nvidia-cuda-sm_60-e804b6.ptx, line 125; error   : Call has wrong number of parameters
```

The change is pretty much mechanical.


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

  Changed paths:
    M llvm/include/llvm/IR/Metadata.h
    M llvm/lib/IR/Instruction.cpp
    M llvm/lib/Transforms/IPO/ArgumentPromotion.cpp

  Log Message:
  -----------
  [IR] Provide array with poison-generating metadata IDs. (#123188)

Add Metadata::PoisonGeneratingIDs containing IDs of poison-generating
metadata to allow easier re-use.

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


  Commit: 99a562b3cb17e89273ba0fe77129f2fb17a19381
      https://github.com/llvm/llvm-project/commit/99a562b3cb17e89273ba0fe77129f2fb17a19381
  Author: Andrea Faulds <andrea.faulds at amd.com>
  Date:   2025-01-16 (Thu, 16 Jan 2025)

  Changed paths:
    M mlir/include/mlir/Conversion/GPUCommon/GPUCommonPass.h
    M mlir/include/mlir/Conversion/Passes.td
    M mlir/lib/Conversion/GPUCommon/GPUToLLVMConversion.cpp
    M mlir/test/lib/Pass/TestVulkanRunnerPipeline.cpp
    M mlir/test/mlir-vulkan-runner/addf.mlir
    M mlir/test/mlir-vulkan-runner/addf_if.mlir
    M mlir/test/mlir-vulkan-runner/addui_extended.mlir
    M mlir/test/mlir-vulkan-runner/smul_extended.mlir
    M mlir/test/mlir-vulkan-runner/time.mlir
    M mlir/test/mlir-vulkan-runner/umul_extended.mlir
    M mlir/test/mlir-vulkan-runner/vector-deinterleave.mlir
    M mlir/test/mlir-vulkan-runner/vector-interleave.mlir
    M mlir/test/mlir-vulkan-runner/vector-shuffle.mlir
    M mlir/tools/mlir-vulkan-runner/vulkan-runtime-wrappers.cpp

  Log Message:
  -----------
  [mlir][spirv] Add mgpu* wrappers for Vulkan runtime, migrate some tests (#123114)

This commit adds new wrappers around the MLIR Vulkan runtime which
implement the mgpu* APIs (as generated by GPUToLLVMConversionPass), adds
an optional LLVM lowering to the Vulkan runner mlir-opt pipeline based
on GPUToLLVMConversionPass, and migrates several of the
mlir-vulkan-runner tests to use mlir-cpu-runner instead, together with
the new pipeline and wrappers.

This is a further incremental step towards eliminating
mlir-vulkan-runner and its associated pipeline, passes and wrappers
(#73457). This commit does not migrate all of the tests to the new
system, because changes to the mgpuLaunchKernel ABI will be necessary to
support the tests that use multi-dimensional memref arguments.


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

  Changed paths:
    M llvm/include/llvm/Support/FileSystem.h
    M llvm/lib/Support/ErrorHandling.cpp

  Log Message:
  -----------
  [Support] Remove an unnecessary include (#123182)

In 1e53f9523d3d5fcb2993b4b6540f1ed8d743380b, the FileSystem.h header was
changed to always include <sys/stat.h>, while it previously only was
included if HAVE_SYS_STAT_H was defined.

HAVE_SYS_STAT_H was defined in llvm/Config/config.h, while FileSystem.h
only included llvm/Config/llvm-config.h. Thus, <sys/stat.h> was only
being included in some but not all cases.

The change to always include <sys/stat.h> broke compiling LLDB for MinGW
targets, because the MinGW <sys/stat.h> header adds an "#define fstat
_fstat64" define, which breaks LLDBs use of a struct with a member named
"fstat".

Remove the include of <sys/stat.h> in FileSystem.h, as it seems to not
be necessary in practice, fixing compilation of LLDB for MinGW targets.

Change one instance of defined(_MSC_VER) into defined(_WIN32) in
ErrorHandling.cpp to get <io.h> included; this source file did include
config.h before transitively including FileSystem.h. The include of
<sys/stat.h> in FileSystem.h would bring in <io.h> (needed for
::write()), explaining why this ifdef didn't need to cover MinGW before.


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

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

  Log Message:
  -----------
  [clang] [ARM] Explicitly enable NEON for Windows/Darwin targets (#122095)

Upstream LLVM implicitly enables NEON for any ARMv7 target.

Many platform ABIs with an ARMv7 baseline also include NEON in that,
this is the case on e.g. Windows and iOS. On Linux, however, things are
not quite as clearly defined. Some distributions target an ARMv7
baseline without NEON available (this is the case for e.g. Debian/Ubuntu
for the "armhf" architecture).

To achieve this, Debian/Ubuntu patch LLVM downstream to make ARMv7 only
implicitly enable VPFv3-D16, not NEON - see [1].

That patch has the (unintended) effect that NEON no longer is available
by default for Windows/ARMv7 and iOS/ARMv7.

In practice, when compiling C for Windows/ARMv7 with Debian patched
Clang, NEON actually still is available, but not when compiling assembly
files. This is due to ARM::getARMCPUForArch (in
llvm/lib/TargetParser/ARMTargetParser.cpp) returning "cortex-a9" for
Windows. This difference, between C and assembly, is due to how
getARMTargetCPU is called in getARMTargetFeatures (in
clang/lib/Driver/ToolChains/Arch/ARM.cpp) to get defaults, only when
ForAS is not set - see [2].

There is an existing case in getARMTargetFeatures, for Android, which
explicitly enables NEON when targeting ARM >= v7. As Windows and iOS
have NEON as part of their ABI baseline just like Android does these
days (see [3] for where this default was added for Android), add the
implicit default in a similar way.

However, first do the general lookup of getARMTargetCPU (unless ForAS);
this makes sure that we get the same default CPU as before ("cortex-a9"
for Windows and "swift" for the "armv7s" architecture on Darwin).

[1] https://salsa.debian.org/pkg-llvm-team/llvm-toolchain/-/blob/19/debian/patches/clang-arm-default-vfp3-on-armv7a.patch?ref_type=heads
[2] https://github.com/llvm/llvm-project/commit/b8baa2a9132498ea286dbb0d03f005760ecc6fdb
[3] https://github.com/llvm/llvm-project/commit/d0fbef9c753a78aa20d5a462b682bfaf83cc6e6e


  Commit: 9a6433f0ff1b8e294ac785ea3b992304574e0d8f
      https://github.com/llvm/llvm-project/commit/9a6433f0ff1b8e294ac785ea3b992304574e0d8f
  Author: Slava Zakharin <szakharin at nvidia.com>
  Date:   2025-01-16 (Thu, 16 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:
  -----------
  [flang] Inline hlfir.dot_product. (#123143)

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: d49a2d2bc9c65c787bfa04ac8ece614da48a8cd5
      https://github.com/llvm/llvm-project/commit/d49a2d2bc9c65c787bfa04ac8ece614da48a8cd5
  Author: Oleksandr T. <oleksandr.tarasiuk at outlook.com>
  Date:   2025-01-16 (Thu, 16 Jan 2025)

  Changed paths:
    M clang/docs/ReleaseNotes.rst
    M clang/include/clang/Basic/DiagnosticSemaKinds.td
    M clang/lib/Sema/SemaDeclCXX.cpp
    M clang/test/SemaCXX/constructor.cpp
    M clang/test/SemaCXX/conversion-function.cpp
    M clang/test/SemaCXX/destructor.cpp

  Log Message:
  -----------
  [Clang] disallow the use of asterisks preceding constructor and destructor names (#122621)

Fixes #121706


  Commit: 1c00d0d7768f959d80393012e93a53c3bad3c138
      https://github.com/llvm/llvm-project/commit/1c00d0d7768f959d80393012e93a53c3bad3c138
  Author: Joseph Huber <huberjn at outlook.com>
  Date:   2025-01-16 (Thu, 16 Jan 2025)

  Changed paths:
    M offload/DeviceRTL/include/Synchronization.h

  Log Message:
  -----------
  [OpenMP] Remove hack around missing atomic load (#122781)

Summary:
We used to do a fetch add of zero to approximate a load. This is because
the NVPTX backend didn't handle this properly. It's not an issue anymore
so simply use the proper atomic builtin.


  Commit: 7ea5f195039ba357285076043ad381ed22e3842e
      https://github.com/llvm/llvm-project/commit/7ea5f195039ba357285076043ad381ed22e3842e
  Author: Jonas Devlieghere <jonas at devlieghere.com>
  Date:   2025-01-16 (Thu, 16 Jan 2025)

  Changed paths:
    M lldb/include/lldb/Utility/LLDBAssert.h
    M lldb/source/Utility/LLDBAssert.cpp

  Log Message:
  -----------
  [lldb] Rename lldb_assert -> _lldb_assert (NFC) (#123225)

Rename `lldb_assert` to `_lldb_assert` to make it more obvious that you
shouldn't be using this function directly. Instead, you should use the
`lldbassert` macro which becomes a regular assert in a debug/asserts
build.


  Commit: 92f1f99d2ee9ff0f928741fef4fcb58e994302df
      https://github.com/llvm/llvm-project/commit/92f1f99d2ee9ff0f928741fef4fcb58e994302df
  Author: Paul Kirth <paulkirth at google.com>
  Date:   2025-01-16 (Thu, 16 Jan 2025)

  Changed paths:
    M libunwind/src/CMakeLists.txt

  Log Message:
  -----------
  [libunwind][cmake] Compile _Unwind* routines with -fexceptions (#121819)

When building libunwind with LTO, we found that routines, like
_Unwind_RaiseException were marked `nounwind`. This causes problems when
libunwind is then used with exception throwing code, since many of the
routines are marked `nounwind` and the compiler infers that something
like a try/catch block cannot throw resulting in a miscompile
(see #120657). Similarly, in #56825, it was pointed out that marking
_Unwind_Resume as `nounwind` causes bad exception table generation.

This patch adds the `-fexceptions` flag to the build of the C files that
define these routines, as proposed in #56825.

Fixes #56825 #120657

---------

Co-authored-by: Petr Hosek <phosek at google.com>


  Commit: 96ef428953ed0f2a6c973709005fd17fd18318a1
      https://github.com/llvm/llvm-project/commit/96ef428953ed0f2a6c973709005fd17fd18318a1
  Author: Jonas Devlieghere <jonas at devlieghere.com>
  Date:   2025-01-16 (Thu, 16 Jan 2025)

  Changed paths:
    M lldb/source/Utility/LLDBAssert.cpp

  Log Message:
  -----------
  [lldb] Avoid calling raw_string_ostream::str() in LLDBAssert.cpp (NFC)

Revert to the state after d7796855b879 and use the underlying buffer
directly. I was still under the impression that was unsafe, so I did a
drive-by fix, which this commit reverts.


  Commit: a87215bc88f857b380e3b1b1182da4b46fba9540
      https://github.com/llvm/llvm-project/commit/a87215bc88f857b380e3b1b1182da4b46fba9540
  Author: Yijia Gu <yijiagu at google.com>
  Date:   2025-01-16 (Thu, 16 Jan 2025)

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

  Log Message:
  -----------
  [mlir][test][bazel] add missing deps for TestPass


  Commit: 840b94dda39375ee6b3eb898d8db4ea10a5150d1
      https://github.com/llvm/llvm-project/commit/840b94dda39375ee6b3eb898d8db4ea10a5150d1
  Author: Louis Dionne <ldionne.2 at gmail.com>
  Date:   2025-01-16 (Thu, 16 Jan 2025)

  Changed paths:
    M libcxx/test/configs/stdlib-libstdc++.cfg.in

  Log Message:
  -----------
  [libc++] Rename libstdc++ test parameters to allow setting them in LIBCXX_TEST_PARAMS


  Commit: 9be358f82e90317a28754248038f0abd5aef38fd
      https://github.com/llvm/llvm-project/commit/9be358f82e90317a28754248038f0abd5aef38fd
  Author: Ashley Hauck <953151+khyperia at users.noreply.github.com>
  Date:   2025-01-16 (Thu, 16 Jan 2025)

  Changed paths:
    M clang/include/clang/Driver/Options.td
    M clang/lib/Driver/ToolChains/Darwin.cpp
    A clang/test/Driver/fuse-lipo.c

  Log Message:
  -----------
  [clang][Driver] Add -fuse-lipo option (#121231)

Partially fixes https://github.com/llvm/llvm-project/issues/59552 by
adding a new option `-fuse-lipo` that can specify the tool name to be
used by clang-driver for the lipo action. For example, pass
`-fuse-lipo=llvm-lipo` to use `llvm-lipo` instead of the default `lipo`.


  Commit: a98df676140c9b3e44f6e094df40d49f53e9a89c
      https://github.com/llvm/llvm-project/commit/a98df676140c9b3e44f6e094df40d49f53e9a89c
  Author: Florian Mayer <fmayer at google.com>
  Date:   2025-01-16 (Thu, 16 Jan 2025)

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

  Log Message:
  -----------
  [NFC] [BoundsSan] use structured bindings (#123228)

This slightly simplifies the code.


  Commit: 8a0c2e75678a4d1d479676217db622d1981c18d3
      https://github.com/llvm/llvm-project/commit/8a0c2e75678a4d1d479676217db622d1981c18d3
  Author: Brox Chen <guochen2 at amd.com>
  Date:   2025-01-16 (Thu, 16 Jan 2025)

  Changed paths:
    M llvm/lib/Target/AMDGPU/GCNHazardRecognizer.cpp
    M llvm/lib/Target/AMDGPU/SIInstructions.td
    M llvm/lib/Target/AMDGPU/VOP2Instructions.td
    M llvm/test/CodeGen/AMDGPU/bf16.ll
    M llvm/test/CodeGen/AMDGPU/v_cndmask.ll
    M llvm/test/CodeGen/AMDGPU/valu-mask-write-hazard.mir
    M llvm/test/MC/AMDGPU/gfx11_asm_vop3.s
    M llvm/test/MC/AMDGPU/gfx11_asm_vop3_dpp16.s
    M llvm/test/MC/AMDGPU/gfx11_asm_vop3_dpp8.s
    M llvm/test/MC/AMDGPU/gfx12_asm_vop3.s
    M llvm/test/MC/AMDGPU/gfx12_asm_vop3_dpp16.s
    M llvm/test/MC/AMDGPU/gfx12_asm_vop3_dpp8.s
    M llvm/test/MC/Disassembler/AMDGPU/gfx11_dasm_vop3.txt
    M llvm/test/MC/Disassembler/AMDGPU/gfx11_dasm_vop3_dpp16.txt
    M llvm/test/MC/Disassembler/AMDGPU/gfx11_dasm_vop3_dpp8.txt
    M llvm/test/MC/Disassembler/AMDGPU/gfx12_dasm_vop3.txt
    M llvm/test/MC/Disassembler/AMDGPU/gfx12_dasm_vop3_dpp16.txt
    M llvm/test/MC/Disassembler/AMDGPU/gfx12_dasm_vop3_dpp8.txt

  Log Message:
  -----------
  [AMDGPU][True16][MC][CodeGen] true16 for v_cndmask_b16 (#119736)

Support true16 format for v_cndmask_b16 in MC and CodeGen in true16 and
fake16 flow.

Since we are replacing `v_cndmask_b16` to `v_cndmask_b16_t16/fake16`, we
have to at least update the fake16 codeGen to get codeGen test passing.
For this case, we have to update the true16 and with fake16 together,
otherwise some of the true16 tests will fail


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

  Changed paths:
    M libc/src/__support/block.h
    M libc/src/__support/freestore.h
    M libc/test/src/__support/block_test.cpp

  Log Message:
  -----------
  [NFC][libc] Remove Block::ALIGNMENT and Block::BLOCK_OVERHEAD


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

  Changed paths:
    M llvm/lib/Transforms/InstCombine/InstCombineLoadStoreAlloca.cpp
    M llvm/test/Transforms/InstCombine/loadstore-metadata.ll

  Log Message:
  -----------
  [InstCombine] Preserve metadata from orig load in select fold. (#115605)

When replacing load with a select on the address with a select and 2
loads of the values, copy poison-generating metadata from the original
load to the newly created loads, which are placed at the same place as
the original loads. We cannot copy metadata that may trigger UB.

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


  Commit: 65dc0d44473481d67d34dcffd1037d2f9f0e574b
      https://github.com/llvm/llvm-project/commit/65dc0d44473481d67d34dcffd1037d2f9f0e574b
  Author: Louis Dionne <ldionne.2 at gmail.com>
  Date:   2025-01-16 (Thu, 16 Jan 2025)

  Changed paths:
    M libcxx/test/benchmarks/containers/string.bench.cpp

  Log Message:
  -----------
  [libc++] Remove string benchmark for internal function

We strive to keep our benchmarks portable, so we should only
benchmark standard APIs.


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

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

  Log Message:
  -----------
  [RISCV] Custom legalize <N x i128>, <4 x i256>, etc.. shuffles (#122352)

I have a particular user downstream who likes to write shuffles in terms
of unions involving _BitInt(128) types. This isn't completely crazy
because there's a bunch of code in the wild which was written with SSE
in mind, so 128 bits is a common data fragment size.

The problem is that generic lowering scalarizes this to ELEN, and we end
up with really terrible extract/insert sequences if the i128 shuffle is
between other (non-i128) operations.

I explored trying to do this via generic lowering infrastructure, and
frankly got lost. Doing this a target specific DAG is a bit ugly -
really, there's nothing hugely target specific here - but oh well. If
reviewers prefer, I could probably phrase this as a generic DAG combine,
but I'm not sure that's hugely better. If reviewers have a strong
preference on how to handle this, let me know, but I may need a bit of
help.

A couple notes:

* The argument passing weirdness is due to a missing combine to turn a
build_vector of adjacent i64 loads back into a vector load. I'm a bit
surprised we don't get that, but the isel output clearly has the
build_vector at i64.
* The splat case I plan to revisit in another patch. That's a relatively
common pattern, and the fact I have to scalarize that to avoid an
infinite loop is non-ideal.


  Commit: cb82771c96d7055d89ca67f383e6fb3c9aced178
      https://github.com/llvm/llvm-project/commit/cb82771c96d7055d89ca67f383e6fb3c9aced178
  Author: Felipe de Azevedo Piovezan <fpiovezan at apple.com>
  Date:   2025-01-16 (Thu, 16 Jan 2025)

  Changed paths:
    M lldb/include/lldb/Interpreter/Interfaces/OperatingSystemInterface.h
    M lldb/include/lldb/Target/OperatingSystem.h
    M lldb/source/Plugins/OperatingSystem/Python/OperatingSystemPython.cpp
    M lldb/source/Plugins/OperatingSystem/Python/OperatingSystemPython.h
    M lldb/source/Plugins/ScriptInterpreter/Python/Interfaces/OperatingSystemPythonInterface.cpp
    M lldb/source/Plugins/ScriptInterpreter/Python/Interfaces/OperatingSystemPythonInterface.h
    M lldb/source/Target/Process.cpp
    M lldb/source/Target/TargetProperties.td
    M lldb/test/API/functionalities/plugins/python_os_plugin/stepping_plugin_threads/TestOSPluginStepping.py
    M lldb/test/API/functionalities/plugins/python_os_plugin/stepping_plugin_threads/operating_system.py

  Log Message:
  -----------
  [lldb] Add OS plugin property for reporting all threads (#123145)

Currently, an LLDB target option controls whether plugins report all
threads. However, it seems natural for this knowledge could come from
the plugin itself. To support this, this commits adds a virtual method
to the plugin base class, making the Python OS query the target option
to preserve existing behavior.


  Commit: 63f5b80fcd94ca30a29677ad9431c4f743b61d74
      https://github.com/llvm/llvm-project/commit/63f5b80fcd94ca30a29677ad9431c4f743b61d74
  Author: Javed Absar <106147771+javedabsar1 at users.noreply.github.com>
  Date:   2025-01-16 (Thu, 16 Jan 2025)

  Changed paths:
    M mlir/lib/Dialect/Linalg/Transforms/Split.cpp

  Log Message:
  -----------
  [mlir][linalg][NFC] fix typo in split tiling (#123202)


  Commit: 859b4f193861d837f382a7e27d37dc167d4cc07d
      https://github.com/llvm/llvm-project/commit/859b4f193861d837f382a7e27d37dc167d4cc07d
  Author: Daniel Thornburgh <dthorn at google.com>
  Date:   2025-01-16 (Thu, 16 Jan 2025)

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

  Log Message:
  -----------
  [NFC][libc] Add Block::PREV_FIELD_SIZE for use in tests


  Commit: 305639526af3041accebf9da1d9fb916b2e3ff87
      https://github.com/llvm/llvm-project/commit/305639526af3041accebf9da1d9fb916b2e3ff87
  Author: Daniel Thornburgh <dthorn at google.com>
  Date:   2025-01-16 (Thu, 16 Jan 2025)

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

  Log Message:
  -----------
  [NFC][libc] Delete dead BlockStatus enum type


  Commit: 4e9f04c5fa399afd8baa20213c344a0b55caf1cd
      https://github.com/llvm/llvm-project/commit/4e9f04c5fa399afd8baa20213c344a0b55caf1cd
  Author: Jorge Gorbe Moya <jgorbe at google.com>
  Date:   2025-01-16 (Thu, 16 Jan 2025)

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

  Log Message:
  -----------
  [bazel] Remove a couple of unused dependencies


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

  Changed paths:
    A llvm/include/llvm/Transforms/Vectorize/SandboxVectorizer/InstrMaps.h
    M llvm/include/llvm/Transforms/Vectorize/SandboxVectorizer/Legality.h
    M llvm/include/llvm/Transforms/Vectorize/SandboxVectorizer/Passes/BottomUpVec.h
    M llvm/lib/Transforms/Vectorize/CMakeLists.txt
    A llvm/lib/Transforms/Vectorize/SandboxVectorizer/InstrMaps.cpp
    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/CMakeLists.txt
    A llvm/unittests/Transforms/Vectorize/SandboxVectorizer/InstrMapsTest.cpp
    M llvm/unittests/Transforms/Vectorize/SandboxVectorizer/LegalityTest.cpp

  Log Message:
  -----------
  [SandboxVec][BottomUpVec] Implement InstrMaps (#122848)

InstrMaps is a helper data structure that maps scalars to vectors and
the reverse. This is used by the vectorizer to figure out which vectors
it can extract scalar values from.


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

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

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


  Commit: 13c761789753862a7cc31a2a26f23010afa668b9
      https://github.com/llvm/llvm-project/commit/13c761789753862a7cc31a2a26f23010afa668b9
  Author: Kazu Hirata <kazu at google.com>
  Date:   2025-01-16 (Thu, 16 Jan 2025)

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

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

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]

  llvm/include/llvm/Transforms/Vectorize/SandboxVectorizer/InstrMaps.h:57:12:
  error: unused variable 'Pair' [-Werror,-Wunused-variable]


  Commit: 8ac0aaaebbbb38d3dc863c5c5b331c8ec3238e27
      https://github.com/llvm/llvm-project/commit/8ac0aaaebbbb38d3dc863c5c5b331c8ec3238e27
  Author: Jonas Devlieghere <jonas at devlieghere.com>
  Date:   2025-01-16 (Thu, 16 Jan 2025)

  Changed paths:
    M lldb/source/Expression/LLVMUserExpression.cpp
    M lldb/test/API/commands/expression/call-function/TestCallStopAndContinue.py
    M lldb/test/API/commands/expression/unwind_expression/TestUnwindExpression.py

  Log Message:
  -----------
  [lldb] Improve user expression diagnostics (#123242)

This patch rewords some of the user expression diagnostics.

 - Differentiate between being interrupted and hitting a breakpoint.
- Use "expression execution" to make it more obvious that the diagnostic
is associated with the user expression.
 - Consistently use a colon instead of semicolons and commas.

rdar://143059974


  Commit: a5bd01e889d0839596c06059e8d312d04095cc21
      https://github.com/llvm/llvm-project/commit/a5bd01e889d0839596c06059e8d312d04095cc21
  Author: Jorge Gorbe Moya <jgorbe at google.com>
  Date:   2025-01-16 (Thu, 16 Jan 2025)

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

  Log Message:
  -----------
  [bazel] Exclude lib/Interpreter/Wasm.h from //clang:interpreter

We're currently excluding Wasm.cpp, because it requires emscripten. When
using header modules, Wasm.h gets compiled on its own and it also
requires emscripten, so we need to exclude both.


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

  Changed paths:
    M llvm/lib/Target/RISCV/RISCVGatherScatterLowering.cpp
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-strided-load-store.ll
    M llvm/test/CodeGen/RISCV/rvv/strided-load-store.ll

  Log Message:
  -----------
  [RISCV] Allow non-loop invariant steps in RISCVGatherScatterLowering (#122244)

The motivation for this is to allow us to match strided accesses that
are emitted from the loop vectorizer with EVL tail folding (see #122232)

In these loops the step isn't loop invariant and is based off of
@llvm.experimental.get.vector.length.

We can relax this as long as we make sure to construct the updates after
the definition inside the loop, instead of the preheader.

I presume the restriction was previously added so that the step would
dominate the insertion point in the preheader. I can't think of why it
wouldn't be safe to calculate it in the loop otherwise.


  Commit: 44311066303726dab2597b5860f8173b6c54b37a
      https://github.com/llvm/llvm-project/commit/44311066303726dab2597b5860f8173b6c54b37a
  Author: Matt Arsenault <Matthew.Arsenault at amd.com>
  Date:   2025-01-17 (Fri, 17 Jan 2025)

  Changed paths:
    M llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
    M llvm/test/CodeGen/AMDGPU/trunc-combine.ll

  Log Message:
  -----------
  DAG: Fix vector bin op scalarize defining a partially undef vector (#122459)

This avoids some of the pending regressions after AMDGPU implements
isExtractVecEltCheap.

In a case like shl <value, undef>, splat k, because the second operand
was fully defined, we would fall through and use the splat value for the
first operand, losing the undef high bits. This would result in an additional
instruction to handle the high bits. Add some reduced testcases for different
opcodes for one of the regressions.


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

  Changed paths:
    M llvm/lib/Target/AMDGPU/SIISelLowering.cpp
    M llvm/lib/Target/AMDGPU/SIISelLowering.h
    M llvm/test/CodeGen/AMDGPU/mad-mix.ll
    M llvm/test/CodeGen/AMDGPU/packed-fp32.ll
    M llvm/test/CodeGen/AMDGPU/trunc-combine.ll

  Log Message:
  -----------
  AMDGPU: Implement isExtractVecEltCheap (#122460)

Once again we have excessive TLI hooks with bad defaults. Permit this
for 32-bit element vectors, which are just use-different-register.
We should permit 16-bit vectors as cheap with legal packed instructions,
but I see some mixed improvements and regressions that need investigation.


  Commit: afc43a7b626ae07f56e6534320e0b46d26070750
      https://github.com/llvm/llvm-project/commit/afc43a7b626ae07f56e6534320e0b46d26070750
  Author: Philip Reames <preames at rivosinc.com>
  Date:   2025-01-16 (Thu, 16 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
    R flang/test/HLFIR/simplify-hlfir-intrinsics-dotproduct.fir

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

This reverts commit 9a6433f0ff1b8e294ac785ea3b992304574e0d8f.  ninja check-flang on x86 host fails to compile.


  Commit: 7475f0a3454ce2b09c211779a33c41b6d34c8758
      https://github.com/llvm/llvm-project/commit/7475f0a3454ce2b09c211779a33c41b6d34c8758
  Author: Matt Arsenault <Matthew.Arsenault at amd.com>
  Date:   2025-01-17 (Fri, 17 Jan 2025)

  Changed paths:
    M llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
    M llvm/test/CodeGen/AMDGPU/insert_vector_dynelt.ll

  Log Message:
  -----------
  DAG: Avoid forming shufflevector from a single extract_vector_elt (#122672)

This avoids regressions in a future AMDGPU commit. Previously we
would have a build_vector (extract_vector_elt x), undef with free
access to the elements bloated into a shuffle of one element + undef,
which has much worse combine support than the extract.

Alternatively could check aggressivelyPreferBuildVectorSources, but
I'm not sure it's really different than isExtractVecEltCheap.


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

  Changed paths:
    M llvm/test/Transforms/LoopVectorize/AArch64/mul-simplification.ll

  Log Message:
  -----------
  [LV] Add test case for #119173. NFC

This showcases a miscompile involving a widened reduction-phi.


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

  Changed paths:
    M bolt/include/bolt/Core/BinaryContext.h
    M bolt/include/bolt/Core/MCPlusBuilder.h
    M bolt/lib/Target/AArch64/AArch64MCPlusBuilder.cpp

  Log Message:
  -----------
  [BOLT][AArch64]  Speedup `computeInstructionSize` (#121106)

AArch64 instructions have a fixed size 4 bytes, no need to compute.


  Commit: 906cbbbd3cbb404b61bac762116af606b4d5ae1d
      https://github.com/llvm/llvm-project/commit/906cbbbd3cbb404b61bac762116af606b4d5ae1d
  Author: Roland McGrath <mcgrathr at google.com>
  Date:   2025-01-16 (Thu, 16 Jan 2025)

  Changed paths:
    M libc/utils/hdrgen/function.py
    M libc/utils/hdrgen/tests/expected_output/test_header.h

  Log Message:
  -----------
  [libc] Fix hdrgen output for no-argument functions (#123245)

The hdrgen output is C, not C++.


  Commit: 421fc0474867411c1da0f5ba086dc0c7305b04e2
      https://github.com/llvm/llvm-project/commit/421fc0474867411c1da0f5ba086dc0c7305b04e2
  Author: Roland McGrath <mcgrathr at google.com>
  Date:   2025-01-16 (Thu, 16 Jan 2025)

  Changed paths:
    M libc/test/src/unistd/getopt_test.cpp

  Log Message:
  -----------
  [libc] Fix deprecated operator"" syntax (#123259)


  Commit: a4e87da963a67aed33b672582406d576553b2399
      https://github.com/llvm/llvm-project/commit/a4e87da963a67aed33b672582406d576553b2399
  Author: Roland McGrath <mcgrathr at google.com>
  Date:   2025-01-16 (Thu, 16 Jan 2025)

  Changed paths:
    M libc/include/__llvm-libc-common.h

  Log Message:
  -----------
  [libc] Make headers compatible with C++ < 11 (#123260)

C++11 introduced `noexcept`, but `throw()` can be used in older
versions of the language.


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

  Changed paths:
    M clang/include/clang/AST/DeclBase.h
    M clang/include/clang/AST/ExternalASTMerger.h
    M clang/include/clang/AST/ExternalASTSource.h
    M clang/include/clang/Sema/MultiplexExternalSemaSource.h
    M clang/include/clang/Serialization/ASTReader.h
    M clang/lib/AST/DeclBase.cpp
    M clang/lib/AST/ExternalASTMerger.cpp
    M clang/lib/AST/ExternalASTSource.cpp
    M clang/lib/Interpreter/CodeCompletion.cpp
    M clang/lib/Sema/MultiplexExternalSemaSource.cpp
    M clang/lib/Serialization/ASTReader.cpp
    M clang/unittests/AST/ExternalASTSourceTest.cpp
    M lldb/source/Plugins/ExpressionParser/Clang/ASTUtils.h
    M lldb/source/Plugins/ExpressionParser/Clang/ClangASTSource.cpp
    M lldb/source/Plugins/ExpressionParser/Clang/ClangASTSource.h
    M lldb/source/Plugins/ExpressionParser/Clang/ClangExternalASTSourceCallbacks.cpp
    M lldb/source/Plugins/ExpressionParser/Clang/ClangExternalASTSourceCallbacks.h
    M lldb/source/Plugins/LanguageRuntime/ObjC/AppleObjCRuntime/AppleObjCDeclVendor.cpp

  Log Message:
  -----------
  [AST] Add OriginalDC argument to ExternalASTSource::FindExternalVisibleDeclsByName (#123152)

Part for relanding https://github.com/llvm/llvm-project/pull/122887.

I split this to test where the performance regession comes from if
modules are not used.


  Commit: 7253c6fde498c4c9470b681df47d46e6930d6a02
      https://github.com/llvm/llvm-project/commit/7253c6fde498c4c9470b681df47d46e6930d6a02
  Author: Sushant Gokhale <sgokhale at nvidia.com>
  Date:   2025-01-16 (Thu, 16 Jan 2025)

  Changed paths:
    M llvm/lib/Transforms/InstCombine/InstCombineMulDivRem.cpp
    A llvm/test/Transforms/InstCombine/fsqrtdiv-transform.ll

  Log Message:
  -----------
  [InstCombine] Transform high latency, dependent FSQRT/FDIV into FMUL (#87474)

The proposed patch, in general, tries to transform the below code
sequence:
x = 1.0 / sqrt (a);
r1 = x * x;  // same as 1.0 / a
r2 = a / sqrt(a); // same as sqrt (a)

TO

(If x, r1 and r2 are all used further in the code) 
r1 = 1.0 / a
r2 = sqrt (a)
x = r1 * r2

The transform tries to make high latency sqrt and div operations
independent and also saves on one multiplication.

The patch was tested with SPEC17 suite with cpu=neoverse-v2. The
performance uplift achieved was:
544.nab_r   ~4%

No other regressions were observed. Also, no compile time differences
were observed with the patch.

Closes #54652


  Commit: f999b11e68c6377f718d0f05988af9852ca386ba
      https://github.com/llvm/llvm-project/commit/f999b11e68c6377f718d0f05988af9852ca386ba
  Author: Fangrui Song <i at maskray.me>
  Date:   2025-01-16 (Thu, 16 Jan 2025)

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

  Log Message:
  -----------
  [CMake] Remove some unneeded HAVE_*_H

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


  Commit: 225fc4f3562002cc77e68340c7077442ca6d4d20
      https://github.com/llvm/llvm-project/commit/225fc4f3562002cc77e68340c7077442ca6d4d20
  Author: Vikram Hegde <115221833+vikramRH at users.noreply.github.com>
  Date:   2025-01-17 (Fri, 17 Jan 2025)

  Changed paths:
    M llvm/lib/Target/AMDGPU/SIISelLowering.cpp
    M llvm/test/CodeGen/AMDGPU/mad_64_32.ll

  Log Message:
  -----------
  [AMDGPU][SDAG] Try folding "lshr i64 + mad" to "mad_u64_u32" (#119218)

The intention is to use a "copy" instead of a "sub" to handle the high
parts of 64-bit multiply for this specific case.

This unlocks copy prop use cases where the copy can be reused by later
multiply+add sequences if possible.

Fixes: SWDEV-487672, SWDEV-487669


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

  Changed paths:
    M clang/docs/ReleaseNotes.rst
    M clang/include/clang/AST/DeclBase.h
    M clang/include/clang/Serialization/ASTBitCodes.h
    M clang/include/clang/Serialization/ASTReader.h
    M clang/include/clang/Serialization/ASTWriter.h
    M clang/lib/AST/DeclBase.cpp
    M clang/lib/Serialization/ASTReader.cpp
    M clang/lib/Serialization/ASTReaderDecl.cpp
    M clang/lib/Serialization/ASTReaderInternals.h
    M clang/lib/Serialization/ASTWriter.cpp
    M clang/lib/Serialization/ASTWriterDecl.cpp
    M clang/test/CXX/basic/basic.scope/basic.scope.namespace/p2.cpp
    M clang/test/CXX/module/basic/basic.link/p2.cppm
    M clang/test/CXX/module/module.import/p2.cpp
    M clang/test/CXX/module/module.interface/p7.cpp
    M clang/test/CXX/module/module.reach/p5.cpp
    M clang/test/Modules/Reachability-template-default-arg.cpp
    M clang/test/Modules/cxx20-10-1-ex2.cpp
    M clang/test/Modules/deduction-guide3.cppm
    A clang/test/Modules/module-local-with-templates.cppm
    A clang/test/Modules/pr90154.cppm

  Log Message:
  -----------
  [C++20] [Modules] Support module level lookup (#122887) (#123281)

Close https://github.com/llvm/llvm-project/issues/90154

This patch is also an optimization to the lookup process to utilize the
information provided by `export` keyword.

Previously, in the lookup process, the `export` keyword only takes part
in the check part, it doesn't get involved in the lookup process. That
said, previously, in a name lookup for 'name', we would load all of
declarations with the name 'name' and check if these declarations are
valid or not. It works well. But it is inefficient since it may load
declarations that may not be wanted.

Note that this patch actually did a trick in the lookup process instead
of bring module information to DeclarationName or considering module
information when deciding if two declarations are the same. So it may
not be a surprise to me if there are missing cases. But it is not a
regression. It should be already the case. Issue reports are welcomed.

In this patch, I tried to split the big lookup table into a lookup table
as before and a module local lookup table, which takes a combination of
the ID of the DeclContext and hash value of the primary module name as
the key. And refactored `DeclContext::lookup()` method to take the
module information. So that a lookup in a DeclContext won't load
declarations that are local to **other** modules.

And also I think it is already beneficial to split the big lookup table
since it may reduce the conflicts during lookups in the hash table.

BTW, this patch introduced a **regression** for a reachability rule in
C++20 but it was false-negative. See
'clang/test/CXX/module/module.interface/p7.cpp' for details.

This patch is not expected to introduce any other
regressions for non-c++20-modules users since the module local lookup
table should be empty for them.


  Commit: 86a81d424c3a73cbee7539acd31926d3af8c68c3
      https://github.com/llvm/llvm-project/commit/86a81d424c3a73cbee7539acd31926d3af8c68c3
  Author: Fangrui Song <i at maskray.me>
  Date:   2025-01-16 (Thu, 16 Jan 2025)

  Changed paths:
    M llvm/cmake/config-ix.cmake
    M llvm/include/llvm/Config/config.h.cmake
    M llvm/lib/Support/Unix/Process.inc
    M llvm/utils/gn/secondary/llvm/include/llvm/Config/BUILD.gn
    M utils/bazel/llvm-project-overlay/llvm/include/llvm/Config/config.h
    M utils/bazel/llvm_configs/config.h.cmake

  Log Message:
  -----------
  [CMake] Remove HAVE_TERMIOS_H

The code path has been dead since 2019.
See a3eb3d3d92d037fe3c9deaad87f6fc42fe9ea766


  Commit: 219beb7aca6ee9888072fdb28522e1fb64fdbaa8
      https://github.com/llvm/llvm-project/commit/219beb7aca6ee9888072fdb28522e1fb64fdbaa8
  Author: Fangrui Song <i at maskray.me>
  Date:   2025-01-16 (Thu, 16 Jan 2025)

  Changed paths:
    M llvm/cmake/config-ix.cmake
    M llvm/include/llvm/Config/config.h.cmake
    M llvm/lib/Support/Unix/Process.inc
    M llvm/utils/gn/secondary/llvm/include/llvm/Config/BUILD.gn
    M utils/bazel/llvm-project-overlay/llvm/include/llvm/Config/config.h
    M utils/bazel/llvm_configs/config.h.cmake

  Log Message:
  -----------
  [CMake] Remove HAVE_SYS_IOCTL_H


  Commit: 771045377b2c4aa29e128a467dfc7a91c6a2fee6
      https://github.com/llvm/llvm-project/commit/771045377b2c4aa29e128a467dfc7a91c6a2fee6
  Author: Roland McGrath <mcgrathr at google.com>
  Date:   2025-01-16 (Thu, 16 Jan 2025)

  Changed paths:
    M libc/include/llvm-libc-types/sigset_t.h
    M libc/include/llvm-libc-types/struct_sigaction.h

  Log Message:
  -----------
  [libc] Fix sigset_t type definition (#123277)

The libc headers are C, not C++.


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

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

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

This patch fixes:

  llvm/lib/Target/AMDGPU/SIISelLowering.cpp:13908:46: error:
  comparison of integers of different signs: 'uint32_t' (aka 'unsigned
  int') and 'int' [-Werror,-Wsign-compare]


  Commit: 414980d061284c465d78ec8d7c0b81ade5a7537b
      https://github.com/llvm/llvm-project/commit/414980d061284c465d78ec8d7c0b81ade5a7537b
  Author: Fangrui Song <i at maskray.me>
  Date:   2025-01-16 (Thu, 16 Jan 2025)

  Changed paths:
    M llvm/cmake/config-ix.cmake
    M llvm/include/llvm/Config/config.h.cmake
    M llvm/lib/Support/Unix/Process.inc
    M llvm/lib/Support/Unix/Program.inc
    M llvm/utils/gn/secondary/llvm/include/llvm/Config/BUILD.gn
    M utils/bazel/llvm-project-overlay/llvm/include/llvm/Config/config.h
    M utils/bazel/llvm_configs/config.h.cmake

  Log Message:
  -----------
  [CMake] Remove HAVE_SYS_RESOURCE_H/HAVE_SETRLIMIT/HAVE_GETRLIMIT

Only used by Unix/Program.inc and seem always available.

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


  Commit: 606d0a7cdc0c551df754eb4494a2c16861b6a9b9
      https://github.com/llvm/llvm-project/commit/606d0a7cdc0c551df754eb4494a2c16861b6a9b9
  Author: Sushant Gokhale <sgokhale at nvidia.com>
  Date:   2025-01-16 (Thu, 16 Jan 2025)

  Changed paths:
    M llvm/lib/Transforms/InstCombine/InstCombineMulDivRem.cpp
    R llvm/test/Transforms/InstCombine/fsqrtdiv-transform.ll

  Log Message:
  -----------
  Revert "[InstCombine] Transform high latency, dependent FSQRT/FDIV into FMUL" (#123289)

Reverts llvm/llvm-project#87474


  Commit: e8999309f16a248cb14ac09bc1f256cbf202f475
      https://github.com/llvm/llvm-project/commit/e8999309f16a248cb14ac09bc1f256cbf202f475
  Author: Mike Hommey <mh at glandium.org>
  Date:   2025-01-17 (Fri, 17 Jan 2025)

  Changed paths:
    M llvm/include/llvm/ProfileData/Coverage/CoverageMapping.h
    M llvm/lib/ProfileData/Coverage/CoverageMapping.cpp

  Log Message:
  -----------
  [Coverage] Speed up function record iteration (#122050)

When iterating over function records, filtered by file name, currently,
the iteration goes over all the function records, repeatedly for each
source file, essentially giving quadratic behavior.

413647d730972eac9675f695c2ea63fb393a5531 sped up some cases by keeping
track of the indices of the function records corresponding to each file
name. This change expands the use of that map to FunctionRecordIterator.

On a test case with Firefox's libxul.so and a 2.5MB profile, this brings
down the runtime of `llvm-cov export $lib --instr-profile $prof -t lcov`
from 12 minutes with 90% spent in skipOtherFiles to 19 seconds with no
samples in skipOtherFiles at all under a sampling profiler (with a
sampling interval of 1ms).

Fixes #62079


  Commit: 118192148273bfe1faf02403a301baeebda59d19
      https://github.com/llvm/llvm-project/commit/118192148273bfe1faf02403a301baeebda59d19
  Author: Pavel Labath <pavel at labath.sk>
  Date:   2025-01-17 (Fri, 17 Jan 2025)

  Changed paths:
    M lldb/include/lldb/Symbol/SymbolContext.h
    M lldb/source/Symbol/SymbolContext.cpp

  Log Message:
  -----------
  [lldb] Remove (unused) SymbolContext::Dump (#123211)

We still have GetDescription and DumpStopContext which serve a similar
purpose.

(The main reason this is bothering me is because I'm working through the
uses of (deprecated) Function::GetAddressRange.)


  Commit: 0bd07652524ebacdee166eb609fef48c50769b09
      https://github.com/llvm/llvm-project/commit/0bd07652524ebacdee166eb609fef48c50769b09
  Author: Matthias Gehre <matthias.gehre at amd.com>
  Date:   2025-01-17 (Fri, 17 Jan 2025)

  Changed paths:
    M mlir/docs/Dialects/emitc.md
    M mlir/lib/Dialect/EmitC/IR/EmitC.cpp
    M mlir/test/Dialect/EmitC/invalid_types.mlir
    M mlir/test/Dialect/EmitC/types.mlir

  Log Message:
  -----------
  EmitC: Allow arrays of size zero (#123292)

This is allowed as a GCC extension, see
https://gcc.gnu.org/onlinedocs/gcc/Zero-Length.html.


  Commit: 1274bca2ad5befe56d82ef76100e2c294ca57ce2
      https://github.com/llvm/llvm-project/commit/1274bca2ad5befe56d82ef76100e2c294ca57ce2
  Author: Phoebe Wang <phoebe.wang at intel.com>
  Date:   2025-01-17 (Fri, 17 Jan 2025)

  Changed paths:
    M llvm/lib/Target/X86/X86InstrAVX10.td
    M llvm/lib/Target/X86/X86InstrMisc.td
    M llvm/test/CodeGen/X86/movrs-builtins.ll
    M llvm/test/MC/Disassembler/X86/movrs.txt
    M llvm/test/MC/X86/movrs-att-64.s
    M llvm/test/MC/X86/movrs-intel-64.s
    M llvm/test/TableGen/x86-instr-mapping.inc

  Log Message:
  -----------
  [X86][APX] Support APX + MOVRS (#123264)

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


  Commit: c3ba6f378ef80d750e2278560c6f95a300114412
      https://github.com/llvm/llvm-project/commit/c3ba6f378ef80d750e2278560c6f95a300114412
  Author: Viktoriia Bakalova <115406782+VitaNuo at users.noreply.github.com>
  Date:   2025-01-17 (Fri, 17 Jan 2025)

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

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

…ecord level.

This fixes the incorrect diagnostic emitted when compiling the following
snippet

```
// string_view.h
template<class _CharT>
class basic_string_view;

typedef basic_string_view<char> string_view;

template<class _CharT>
class
__attribute__((__preferred_name__(string_view)))
basic_string_view {
public:
    basic_string_view() 
    {
    }
};

inline basic_string_view<char> foo()
{
  return basic_string_view<char>();
}
// A.cppm
module;
#include "string_view.h"
export module A;

// Use.cppm
module;
#include "string_view.h"
export module Use;
import A;
```

The diagnostic is 
```
string_view.h:11:5: error: 'basic_string_view<char>::basic_string_view' from module 'A.<global>' is not present in definition of 'string_view' provided earlier
```

The underlying issue is that deserialization of the `preferred_name`
attribute triggers deserialization of `basic_string_view<char>`, which
triggers the deserialization of the `preferred_name` attribute again
(since it's attached to the `basic_string_view` template).
The deserialization logic is implemented in a way that prevents it from
going on a loop in a literal sense (it detects early on that it has
already seen the `string_view` typedef when trying to start its
deserialization for the second time), but leaves the typedef
deserialization in an unfinished state. Subsequently, the `string_view`
typedef from the deserialized module cannot be merged with the same
typedef from `string_view.h`, resulting in the above diagnostic.

This PR resolves the problem by delaying the deserialization of the
`preferred_name` attribute until the deserialization of the
`basic_string_view` template is completed. As a result of deferring, the
deserialization of the `preferred_name` attribute doesn't need to go on
a loop since the type of the `string_view` typedef is already known when
it's deserialized.


  Commit: 90a05f32166c4a45224a5eedbec9c5c7e21d2dbf
      https://github.com/llvm/llvm-project/commit/90a05f32166c4a45224a5eedbec9c5c7e21d2dbf
  Author: Nikita Popov <npopov at redhat.com>
  Date:   2025-01-17 (Fri, 17 Jan 2025)

  Changed paths:
    M openmp/runtime/src/z_Linux_asm.S

  Log Message:
  -----------
  [openmp] Support CET in z_Linux_asm.S (#123213)

When libomp is built with -cf-protection, add endbr instructions to the
start of functions for Intel CET support.


  Commit: 3c42a774569ee06fb02ce00e2d2d2ce517c894f3
      https://github.com/llvm/llvm-project/commit/3c42a774569ee06fb02ce00e2d2d2ce517c894f3
  Author: Nikita Popov <npopov at redhat.com>
  Date:   2025-01-17 (Fri, 17 Jan 2025)

  Changed paths:
    M bolt/CMakeLists.txt
    M bolt/runtime/CMakeLists.txt

  Log Message:
  -----------
  [BOLT] Fix handling of LLVM_LIBDIR_SUFFIX (#122874)

This fixes a number of issues introduced in #97130 when
LLVM_LIBDIR_SUFFIX is a non-empty string. Make sure that the libdir is
always referenced as `lib${LLVM_LIBDIR_SUFFIX}`, not as just `lib` or
`${CMAKE_INSTALL_LIBDIR}${LLVM_LIBDIR_SUFFIX}`.

This is the standard libdir convention for all LLVM subprojects. Using
`${CMAKE_INSTALL_LIBDIR}${LLVM_LIBDIR_SUFFIX}` would result in a
duplicate suffix.


  Commit: c8ba551da17c48e00c0eeb572e7667ffa5109f6f
      https://github.com/llvm/llvm-project/commit/c8ba551da17c48e00c0eeb572e7667ffa5109f6f
  Author: Will Froom <willfroom at google.com>
  Date:   2025-01-17 (Fri, 17 Jan 2025)

  Changed paths:
    M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
    A llvm/test/CodeGen/AArch64/half-precision-signof-no-assert.ll

  Log Message:
  -----------
  [AArch64] Return early rather than asserting when Size of value passed to targetShrinkDemandedConstant is not 32 or 64 (#123084)

See https://github.com/llvm/llvm-project/issues/123029 for details.


  Commit: 9720be95d63ce797437015d0f0edd10b02e80b7a
      https://github.com/llvm/llvm-project/commit/9720be95d63ce797437015d0f0edd10b02e80b7a
  Author: Mel Chen <mel.chen at sifive.com>
  Date:   2025-01-17 (Fri, 17 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] Disable fixed-order recurrence idiom with EVL tail folding. (#122458)

The currently llvm.splice may occurs unexpected behavior if the evl of
the second-to-last iteration is not VF*UF.

Issue #122461


  Commit: 0e13ce770bfbee7cfbc8086a038a950fe12c03d5
      https://github.com/llvm/llvm-project/commit/0e13ce770bfbee7cfbc8086a038a950fe12c03d5
  Author: Yingwei Zheng <dtcxzyw2333 at gmail.com>
  Date:   2025-01-17 (Fri, 17 Jan 2025)

  Changed paths:
    M llvm/lib/Transforms/InstCombine/InstructionCombining.cpp
    M llvm/test/Transforms/InstCombine/nsw.ll

  Log Message:
  -----------
  [InstCombine] Handle mul in `maintainNoSignedWrap` (#123299)

Alive2: https://alive2.llvm.org/ce/z/Kgamks
Closes https://github.com/llvm/llvm-project/issues/123175.

For `@foo1`, the nsw flag is propagated because we first convert it into
`mul nsw nuw (shl nsw nuw X, 1), 3`.


  Commit: 320c2ee6c253f1bc0afe9c3d96cefb39195608f7
      https://github.com/llvm/llvm-project/commit/320c2ee6c253f1bc0afe9c3d96cefb39195608f7
  Author: Nikita Popov <npopov at redhat.com>
  Date:   2025-01-17 (Fri, 17 Jan 2025)

  Changed paths:
    M bolt/test/lit.local.cfg

  Log Message:
  -----------
  [BOLT] Pass -Wl,--build-id=none to linker in tests (#122886)

This fixes the following tests:

    BOLT :: AArch64/check-init-not-moved.s
    BOLT :: X86/dwarf5-dwarf4-types-backward-forward-cross-reference.test
    BOLT :: X86/dwarf5-locexpr-referrence.test

When clang is compiled with `-DENABLE_LINKER_BUILD_ID=ON`.


  Commit: 58903c9b71ccb167ed1be4be9d9eddf1b2f07845
      https://github.com/llvm/llvm-project/commit/58903c9b71ccb167ed1be4be9d9eddf1b2f07845
  Author: Nikita Popov <npopov at redhat.com>
  Date:   2025-01-17 (Fri, 17 Jan 2025)

  Changed paths:
    M llvm/Maintainers.md

  Log Message:
  -----------
  [LLVM] Update AArch64 maintainers (#120440)

This merges the maintainer lists for the ARM and AArch64 backends,
as many people work on both to some degree. The list includes
focus areas where possible.


  Commit: 73478708839fad8b02b3cfc84959d64a15ba93ca
      https://github.com/llvm/llvm-project/commit/73478708839fad8b02b3cfc84959d64a15ba93ca
  Author: Karl-Johan Karlsson <karl-johan.karlsson at ericsson.com>
  Date:   2025-01-17 (Fri, 17 Jan 2025)

  Changed paths:
    A clang/include/clang/Basic/AllDiagnosticKinds.inc
    M clang/lib/Basic/DiagnosticIDs.cpp
    M clang/tools/diagtool/DiagnosticNames.cpp

  Log Message:
  -----------
  [diagtool] Make the BuiltinDiagnosticsByID table sorted (#120321)

When building with -DLLVM_ENABLE_EXPENSIVE_CHECKS=ON with a recent
libstdc++ (e.g. from gcc 13.3.0) the testcase
clang/test/Misc/warning-flags-tree.c fail with the message:
```
+ diagtool tree --internal
 .../include/c++/13.3.0/bits/stl_algo.h:2013:
In function:
    _ForwardIterator std::lower_bound(_ForwardIterator, _ForwardIterator,
    const _Tp &, _Compare) [_ForwardIterator = const
    diagtool::DiagnosticRecord *, _Tp = diagtool::DiagnosticRecord, _Compare
    = bool (*)(const diagtool::DiagnosticRecord &, const
    diagtool::DiagnosticRecord &)]

Error: elements in iterator range [first, last) are not partitioned by the predicate __comp and value __val.

Objects involved in the operation:
    iterator "first" @ 0x7ffea8ef2fd8 {
    }
    iterator "last" @ 0x7ffea8ef2fd0 {
    }
```
The reason for this error is that std::lower_bound is called on
BuiltinDiagnosticsByID without it being entirely sorted. Calling
std::lower_bound If the range is not sorted, the behavior of this
function is undefined. This is detected when building with expensive
checks.

To make BuiltinDiagnosticsByID sorted we need to slightly change the
order the inc-files are included. The include of
DiagnosticCrossTUKinds.inc in DiagnosticNames.cpp is included too early
and should be moved down directly after DiagnosticCommentKinds.inc.

As a part of pull request the includes that build up
BuiltinDiagnosticsByID table are extracted into a common wrapper header
file AllDiagnosticKinds.inc that is used by both clang and diagtool.


  Commit: 89e3a649f207021c0884ed5f8e56321c51854ac3
      https://github.com/llvm/llvm-project/commit/89e3a649f207021c0884ed5f8e56321c51854ac3
  Author: ZhaoQi <zhaoqi01 at loongson.cn>
  Date:   2025-01-17 (Fri, 17 Jan 2025)

  Changed paths:
    M llvm/lib/Target/LoongArch/AsmParser/LoongArchAsmParser.cpp
    M llvm/test/MC/LoongArch/Macros/aliases-la.s
    M llvm/test/MC/LoongArch/Macros/macros-call.s
    M llvm/test/MC/LoongArch/Macros/macros-la.s

  Log Message:
  -----------
  [LoongArch] Emit R_LARCH_RELAX when expanding some macros (#120067)

Emit `R_LARCH_RELAX` relocations when expanding some macros, including:

- `la.tls.ie`, `la.tls.ld`, `la.tls.gd`, `la.tls.desc`,
- `call36`, `tail36`.

Other macros that need to emit `R_LARCH_RELAX` relocations was
implemented in https://github.com/llvm/llvm-project/pull/72961, including:

- `la.local`, `la.pcrel`, `la.pcrel` expanded as `la.abs`, `la`,
`la.global`, `la/la.global` expanded as `la.pcrel`, `la.got`.

Note: `la.tls.le` macro can be relaxed when expanded with
`R_LARCH_TLS_LE_{HI20/ADD/LO12}_R` relocations. But if we do so,
previously handwritten assembly code will occur error due to the
redundant `add.{w/d}` followed by `la.tls.le`. So `la.tls.le` keeps to
expands with `R_LARCH_TLS_LE_{HI20/LO12}`.


  Commit: 31b62e2d3df86487e7443608b5a84df754b571fd
      https://github.com/llvm/llvm-project/commit/31b62e2d3df86487e7443608b5a84df754b571fd
  Author: ZhaoQi <zhaoqi01 at loongson.cn>
  Date:   2025-01-17 (Fri, 17 Jan 2025)

  Changed paths:
    M llvm/lib/Target/LoongArch/MCTargetDesc/LoongArchMCCodeEmitter.cpp
    A llvm/test/MC/LoongArch/Relocations/relax-tls-le.s

  Log Message:
  -----------
  [LoongArch] Add relax relocations for tls_le code sequence (#121329)

This commit add relax relocations for `tls_le` code sequence.
Handwritten assembly and generating source code by clang are both
affected.

Scheduled `tls_le` code sequence can be relaxed normally and we can add
relax relocs when code emitting according to their relocs. Other
relaxable macros' code sequence cannot simply add relax relocs according
to their relocs, such as `PCALA_{HI20/LO12}`, we do not want to add
relax relocs when code model is large. This will be implemented in later
commit.


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

  Changed paths:
    M clang/lib/CodeGen/ObjectFilePCHContainerWriter.cpp
    A clang/test/Modules/gmodules-nodebug.cpp

  Log Message:
  -----------
  [clang][PCH] Don't try to create standalone debug-info for types marked nodebug (#123253)

Fixes one of the crashes uncovered by
https://github.com/llvm/llvm-project/pull/118710

`getOrCreateStandaloneType` asserts that a `DIType` was created for the
requested type. If the `Decl` was marked `nodebug`, however, we can't
generate debug-info for it, so we would previously trigger the assert.
For now keep the assertion around and check the `nodebug` at the
callsite.


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

  Changed paths:
    M llvm/lib/Frontend/OpenMP/OMPIRBuilder.cpp
    M mlir/test/Target/LLVMIR/openmp-llvm.mlir

  Log Message:
  -----------
  [llvm][OpenMP] Add implicit cast to omp.atomic.read (#114659)

Should the operands of `omp.atomic.read` differ, emit an implicit cast.
In case of `struct` arguments, extract the 0-th index, emit an implicit
cast if required, and store at the destination.

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


  Commit: fbb9d49506baa05a613ab88f983d31e0f838dbae
      https://github.com/llvm/llvm-project/commit/fbb9d49506baa05a613ab88f983d31e0f838dbae
  Author: Phoebe Wang <phoebe.wang at intel.com>
  Date:   2025-01-17 (Fri, 17 Jan 2025)

  Changed paths:
    M llvm/lib/Target/X86/X86ExpandPseudo.cpp
    M llvm/lib/Target/X86/X86ISelLowering.cpp
    M llvm/lib/Target/X86/X86InstrAMX.td
    M llvm/test/CodeGen/X86/amx_movrs_intrinsics.ll
    M llvm/test/CodeGen/X86/amx_movrs_transpose_intrinsics.ll
    M llvm/test/CodeGen/X86/amx_transpose_intrinsics.ll
    M llvm/test/MC/Disassembler/X86/AMX/x86-64-amx-movrs.txt
    M llvm/test/MC/Disassembler/X86/amx-transpose-att.txt
    M llvm/test/MC/X86/AMX/x86-64-amx-movrs-att.s
    M llvm/test/MC/X86/AMX/x86-64-amx-movrs-intel.s
    M llvm/test/MC/X86/amx-transpose-att.s
    M llvm/test/MC/X86/amx-transpose-intel.s
    M llvm/test/TableGen/x86-instr-mapping.inc

  Log Message:
  -----------
  [X86][APX] Support APX + AMX-MOVRS/AMX-TRANSPOSE (#123267)

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


  Commit: 31f913683d7b9f34273ad68c39ccf2c969e3a112
      https://github.com/llvm/llvm-project/commit/31f913683d7b9f34273ad68c39ccf2c969e3a112
  Author: ZhaoQi <zhaoqi01 at loongson.cn>
  Date:   2025-01-17 (Fri, 17 Jan 2025)

  Changed paths:
    M .ci/generate_test_report.py
    M .ci/metrics/metrics.py
    M .ci/monolithic-linux.sh
    M .ci/monolithic-windows.sh
    M .github/CODEOWNERS
    M .github/new-prs-labeler.yml
    M .github/workflows/build-ci-container.yml
    M .github/workflows/commit-access-review.py
    M .github/workflows/containers/github-action-ci/Dockerfile
    A .github/workflows/hlsl-matrix.yaml
    A .github/workflows/hlsl-test-all.yaml
    M .github/workflows/libclang-python-tests.yml
    M .github/workflows/llvm-project-tests.yml
    M .github/workflows/new-issues.yml
    M .github/workflows/pr-code-format.yml
    M .github/workflows/premerge.yaml
    M .github/workflows/release-binaries.yml
    M .github/workflows/spirv-tests.yml
    M bolt/CMakeLists.txt
    M bolt/include/bolt/Core/BinaryContext.h
    M bolt/include/bolt/Core/MCPlusBuilder.h
    M bolt/lib/Core/BinaryEmitter.cpp
    M bolt/lib/Core/CMakeLists.txt
    M bolt/lib/Passes/CMakeLists.txt
    M bolt/lib/Passes/ReorderFunctions.cpp
    M bolt/lib/Profile/CMakeLists.txt
    M bolt/lib/Rewrite/CMakeLists.txt
    M bolt/lib/RuntimeLibs/CMakeLists.txt
    M bolt/lib/Target/AArch64/AArch64MCPlusBuilder.cpp
    M bolt/lib/Target/AArch64/CMakeLists.txt
    M bolt/lib/Target/RISCV/CMakeLists.txt
    M bolt/lib/Target/X86/CMakeLists.txt
    M bolt/lib/Utils/CMakeLists.txt
    M bolt/runtime/CMakeLists.txt
    M bolt/test/AArch64/pad-before-funcs.s
    M bolt/test/lit.local.cfg
    M clang-tools-extra/clang-reorder-fields/ReorderFieldsAction.cpp
    M clang-tools-extra/clang-tidy/ClangTidyCheck.cpp
    M clang-tools-extra/clang-tidy/ClangTidyCheck.h
    M clang-tools-extra/clang-tidy/ClangTidyOptions.cpp
    M clang-tools-extra/clang-tidy/ClangTidyOptions.h
    M clang-tools-extra/clang-tidy/bugprone/BugproneTidyModule.cpp
    M clang-tools-extra/clang-tidy/bugprone/CMakeLists.txt
    A clang-tools-extra/clang-tidy/bugprone/IncorrectEnableSharedFromThisCheck.cpp
    A clang-tools-extra/clang-tidy/bugprone/IncorrectEnableSharedFromThisCheck.h
    M clang-tools-extra/clang-tidy/bugprone/NarrowingConversionsCheck.cpp
    M clang-tools-extra/clang-tidy/bugprone/TooSmallLoopVariableCheck.cpp
    M clang-tools-extra/clang-tidy/bugprone/UnhandledSelfAssignmentCheck.cpp
    M clang-tools-extra/clang-tidy/bugprone/UnusedLocalNonTrivialVariableCheck.cpp
    M clang-tools-extra/clang-tidy/hicpp/MultiwayPathsCoveredCheck.cpp
    M clang-tools-extra/clang-tidy/misc/UnusedParametersCheck.cpp
    M clang-tools-extra/clang-tidy/misc/UseInternalLinkageCheck.cpp
    M clang-tools-extra/clang-tidy/modernize/UseAutoCheck.cpp
    M clang-tools-extra/clang-tidy/performance/UnnecessaryCopyInitialization.cpp
    M clang-tools-extra/clang-tidy/readability/ContainerSizeEmptyCheck.h
    M clang-tools-extra/clang-tidy/readability/RedundantCastingCheck.cpp
    M clang-tools-extra/clang-tidy/readability/UseStdMinMaxCheck.cpp
    M clang-tools-extra/clang-tidy/tool/clang-tidy-diff.py
    M clang-tools-extra/clang-tidy/utils/LexerUtils.cpp
    M clang-tools-extra/clang-tidy/utils/LexerUtils.h
    M clang-tools-extra/clangd/CodeComplete.cpp
    M clang-tools-extra/clangd/HeuristicResolver.h
    M clang-tools-extra/clangd/Hover.cpp
    M clang-tools-extra/clangd/tool/ClangdMain.cpp
    M clang-tools-extra/clangd/unittests/CMakeLists.txt
    M clang-tools-extra/clangd/unittests/ClangdLSPServerTests.cpp
    M clang-tools-extra/clangd/unittests/CodeCompleteTests.cpp
    A clang-tools-extra/clangd/unittests/HeuristicResolverTests.cpp
    M clang-tools-extra/clangd/unittests/Matchers.h
    M clang-tools-extra/clangd/unittests/TypeHierarchyTests.cpp
    M clang-tools-extra/docs/ReleaseNotes.rst
    A clang-tools-extra/docs/clang-tidy/checks/bugprone/incorrect-enable-shared-from-this.rst
    M clang-tools-extra/docs/clang-tidy/checks/bugprone/unhandled-self-assignment.rst
    M clang-tools-extra/docs/clang-tidy/checks/bugprone/unused-local-non-trivial-variable.rst
    M clang-tools-extra/docs/clang-tidy/checks/list.rst
    M clang-tools-extra/docs/clang-tidy/checks/readability/container-size-empty.rst
    M clang-tools-extra/include-cleaner/lib/Analysis.cpp
    A clang-tools-extra/test/clang-reorder-fields/Comments.cpp
    A clang-tools-extra/test/clang-tidy/checkers/bugprone/incorrect-enable-shared-from-this.cpp
    M clang-tools-extra/test/clang-tidy/checkers/bugprone/narrowing-conversions-narrowingfloatingpoint-option.cpp
    M clang-tools-extra/test/clang-tidy/checkers/bugprone/unhandled-self-assignment.cpp
    A clang-tools-extra/test/clang-tidy/checkers/bugprone/unused-local-non-trivial-variable-name-independence.cpp
    M clang-tools-extra/test/clang-tidy/checkers/misc/unused-parameters.cpp
    A clang-tools-extra/test/clang-tidy/checkers/misc/use-internal-linkage-consteval.cpp
    M clang-tools-extra/test/clang-tidy/checkers/modernize/use-std-format-fmt.cpp
    M clang-tools-extra/test/clang-tidy/checkers/performance/unnecessary-copy-initialization.cpp
    M clang-tools-extra/test/clang-tidy/checkers/readability/redundant-casting.cpp
    M clang-tools-extra/test/clang-tidy/checkers/readability/use-std-min-max.cpp
    A clang-tools-extra/test/clang-tidy/infrastructure/Inputs/normalized-path/code.cpp
    A clang-tools-extra/test/clang-tidy/infrastructure/Inputs/normalized-path/error-config/.clang-tidy
    A clang-tools-extra/test/clang-tidy/infrastructure/deprecation-global-option.cpp
    A clang-tools-extra/test/clang-tidy/infrastructure/normalized-path.test
    M clang-tools-extra/unittests/clang-tidy/ClangTidyOptionsTest.cpp
    M clang/bindings/python/clang/cindex.py
    M clang/bindings/python/tests/cindex/test_cursor.py
    M clang/bindings/python/tests/cindex/test_type.py
    M clang/cmake/caches/hexagon-unknown-linux-musl-clang-cross.cmake
    M clang/cmake/modules/AddClang.cmake
    M clang/docs/ClangFormat.rst
    M clang/docs/ClangFormatStyleOptions.rst
    M clang/docs/InternalsManual.rst
    M clang/docs/LanguageExtensions.rst
    M clang/docs/LibASTMatchersReference.html
    M clang/docs/Modules.rst
    M clang/docs/Multilib.rst
    M clang/docs/OpenMPSupport.rst
    M clang/docs/ReleaseNotes.rst
    M clang/docs/UndefinedBehaviorSanitizer.rst
    M clang/docs/UsersManual.rst
    M clang/docs/analyzer/checkers.rst
    A clang/docs/analyzer/images/example_attribute_nonnull.png
    A clang/docs/analyzer/images/example_cf_returns_retained.png
    A clang/docs/analyzer/images/example_custom_assert.png
    A clang/docs/analyzer/images/example_ns_returns_retained.png
    A clang/docs/analyzer/images/example_null_pointer.png
    A clang/docs/analyzer/images/example_use_assert.png
    M clang/docs/analyzer/user-docs.rst
    A clang/docs/analyzer/user-docs/Annotations.rst
    M clang/docs/analyzer/user-docs/FAQ.rst
    M clang/examples/Attribute/Attribute.cpp
    M clang/examples/CallSuperAttribute/CallSuperAttrInfo.cpp
    M clang/include/clang-c/Index.h
    M clang/include/clang/AST/ASTContext.h
    M clang/include/clang/AST/Attr.h
    M clang/include/clang/AST/Decl.h
    M clang/include/clang/AST/DeclBase.h
    M clang/include/clang/AST/DeclCXX.h
    M clang/include/clang/AST/ExternalASTMerger.h
    M clang/include/clang/AST/ExternalASTSource.h
    M clang/include/clang/AST/OpenACCClause.h
    M clang/include/clang/AST/OpenMPClause.h
    M clang/include/clang/AST/RecursiveASTVisitor.h
    M clang/include/clang/AST/StmtOpenACC.h
    M clang/include/clang/AST/TextNodeDumper.h
    M clang/include/clang/AST/Type.h
    M clang/include/clang/ASTMatchers/ASTMatchers.h
    M clang/include/clang/ASTMatchers/ASTMatchersInternal.h
    M clang/include/clang/Analysis/FlowSensitive/CachedConstAccessorsLattice.h
    M clang/include/clang/Analysis/FlowSensitive/Models/UncheckedOptionalAccessModel.h
    M clang/include/clang/Analysis/FlowSensitive/SmartPointerAccessorCaching.h
    A clang/include/clang/Basic/AllDiagnosticKinds.inc
    M clang/include/clang/Basic/Attr.td
    M clang/include/clang/Basic/AttrDocs.td
    M clang/include/clang/Basic/Builtins.h
    M clang/include/clang/Basic/Builtins.td
    M clang/include/clang/Basic/BuiltinsAMDGPU.def
    M clang/include/clang/Basic/BuiltinsBase.td
    M clang/include/clang/Basic/BuiltinsHexagonDep.def
    A clang/include/clang/Basic/BuiltinsSPIRV.td
    R clang/include/clang/Basic/BuiltinsX86.def
    M clang/include/clang/Basic/BuiltinsX86.td
    A clang/include/clang/Basic/BuiltinsX86Base.td
    R clang/include/clang/Basic/BuiltinsX86_64.def
    A clang/include/clang/Basic/BuiltinsX86_64.td
    M clang/include/clang/Basic/CMakeLists.txt
    M clang/include/clang/Basic/CodeGenOptions.h
    M clang/include/clang/Basic/DiagnosticAST.h
    M clang/include/clang/Basic/DiagnosticASTKinds.td
    M clang/include/clang/Basic/DiagnosticAnalysis.h
    M clang/include/clang/Basic/DiagnosticComment.h
    M clang/include/clang/Basic/DiagnosticCrossTU.h
    M clang/include/clang/Basic/DiagnosticDriver.h
    M clang/include/clang/Basic/DiagnosticDriverKinds.td
    M clang/include/clang/Basic/DiagnosticFrontend.h
    M clang/include/clang/Basic/DiagnosticFrontendKinds.td
    M clang/include/clang/Basic/DiagnosticGroups.td
    M clang/include/clang/Basic/DiagnosticInstallAPI.h
    M clang/include/clang/Basic/DiagnosticLex.h
    M clang/include/clang/Basic/DiagnosticParse.h
    M clang/include/clang/Basic/DiagnosticParseKinds.td
    M clang/include/clang/Basic/DiagnosticRefactoring.h
    M clang/include/clang/Basic/DiagnosticSema.h
    M clang/include/clang/Basic/DiagnosticSemaKinds.td
    M clang/include/clang/Basic/DiagnosticSerialization.h
    M clang/include/clang/Basic/OpenACCClauses.def
    M clang/include/clang/Basic/OpenMPKinds.def
    M clang/include/clang/Basic/OpenMPKinds.h
    M clang/include/clang/Basic/Sanitizers.h
    M clang/include/clang/Basic/StmtNodes.td
    M clang/include/clang/Basic/TargetBuiltins.h
    M clang/include/clang/Basic/TargetInfo.h
    M clang/include/clang/Basic/arm_immcheck_incl.td
    M clang/include/clang/Basic/arm_sme.td
    M clang/include/clang/Basic/arm_sve.td
    M clang/include/clang/CodeGen/BackendUtil.h
    M clang/include/clang/Driver/Action.h
    M clang/include/clang/Driver/Driver.h
    M clang/include/clang/Driver/Multilib.h
    M clang/include/clang/Driver/Options.td
    M clang/include/clang/Driver/SanitizerArgs.h
    M clang/include/clang/Driver/ToolChain.h
    M clang/include/clang/Format/Format.h
    M clang/include/clang/Frontend/CompilerInstance.h
    M clang/include/clang/Lex/Lexer.h
    M clang/include/clang/Sema/MultiplexExternalSemaSource.h
    M clang/include/clang/Sema/ParsedAttr.h
    M clang/include/clang/Sema/Sema.h
    M clang/include/clang/Sema/SemaARM.h
    M clang/include/clang/Sema/SemaOpenACC.h
    M clang/include/clang/Sema/SemaOpenMP.h
    A clang/include/clang/Sema/SemaSPIRV.h
    M clang/include/clang/Sema/SemaSYCL.h
    M clang/include/clang/Serialization/ASTBitCodes.h
    M clang/include/clang/Serialization/ASTReader.h
    M clang/include/clang/Serialization/ASTRecordReader.h
    M clang/include/clang/Serialization/ASTWriter.h
    M clang/include/clang/StaticAnalyzer/Checkers/Checkers.td
    M clang/include/clang/StaticAnalyzer/Core/AnalyzerOptions.def
    M clang/include/clang/StaticAnalyzer/Core/AnalyzerOptions.h
    M clang/include/clang/StaticAnalyzer/Core/PathSensitive/CoreEngine.h
    M clang/include/clang/StaticAnalyzer/Core/PathSensitive/ExprEngine.h
    M clang/include/clang/StaticAnalyzer/Core/PathSensitive/SymExpr.h
    M clang/include/clang/StaticAnalyzer/Core/PathSensitive/SymbolManager.h
    M clang/include/clang/Tooling/DependencyScanning/DependencyScanningTool.h
    M clang/include/clang/Tooling/Tooling.h
    M clang/include/module.modulemap
    M clang/lib/AST/ASTContext.cpp
    M clang/lib/AST/ASTImporter.cpp
    M clang/lib/AST/ASTImporterLookupTable.cpp
    M clang/lib/AST/ByteCode/Compiler.cpp
    M clang/lib/AST/ByteCode/Compiler.h
    M clang/lib/AST/ByteCode/Disasm.cpp
    M clang/lib/AST/ByteCode/Interp.h
    M clang/lib/AST/ByteCode/InterpBuiltin.cpp
    M clang/lib/AST/ByteCode/InterpBuiltinBitCast.cpp
    M clang/lib/AST/Decl.cpp
    M clang/lib/AST/DeclBase.cpp
    M clang/lib/AST/DeclCXX.cpp
    M clang/lib/AST/Expr.cpp
    M clang/lib/AST/ExprCXX.cpp
    M clang/lib/AST/ExprConstant.cpp
    M clang/lib/AST/ExternalASTMerger.cpp
    M clang/lib/AST/ExternalASTSource.cpp
    M clang/lib/AST/ItaniumMangle.cpp
    M clang/lib/AST/OpenACCClause.cpp
    M clang/lib/AST/OpenMPClause.cpp
    M clang/lib/AST/ParentMap.cpp
    M clang/lib/AST/Randstruct.cpp
    M clang/lib/AST/RecordLayoutBuilder.cpp
    M clang/lib/AST/StmtOpenACC.cpp
    M clang/lib/AST/StmtPrinter.cpp
    M clang/lib/AST/StmtProfile.cpp
    M clang/lib/AST/TextNodeDumper.cpp
    M clang/lib/AST/TypePrinter.cpp
    M clang/lib/ASTMatchers/ASTMatchersInternal.cpp
    M clang/lib/ASTMatchers/Dynamic/Registry.cpp
    M clang/lib/Analysis/FlowSensitive/Models/UncheckedOptionalAccessModel.cpp
    M clang/lib/Analysis/FlowSensitive/SmartPointerAccessorCaching.cpp
    M clang/lib/Analysis/ThreadSafetyCommon.cpp
    M clang/lib/Basic/Builtins.cpp
    M clang/lib/Basic/CodeGenOptions.cpp
    M clang/lib/Basic/DiagnosticIDs.cpp
    M clang/lib/Basic/Sanitizers.cpp
    M clang/lib/Basic/SourceManager.cpp
    M clang/lib/Basic/TargetInfo.cpp
    M clang/lib/Basic/Targets.cpp
    M clang/lib/Basic/Targets/AArch64.cpp
    M clang/lib/Basic/Targets/AArch64.h
    M clang/lib/Basic/Targets/ARM.cpp
    M clang/lib/Basic/Targets/ARM.h
    M clang/lib/Basic/Targets/OSTargets.cpp
    M clang/lib/Basic/Targets/OSTargets.h
    M clang/lib/Basic/Targets/RISCV.cpp
    M clang/lib/Basic/Targets/RISCV.h
    M clang/lib/Basic/Targets/SPIR.cpp
    M clang/lib/Basic/Targets/SPIR.h
    M clang/lib/Basic/Targets/X86.cpp
    M clang/lib/Basic/Targets/X86.h
    M clang/lib/CodeGen/ABIInfo.cpp
    M clang/lib/CodeGen/ABIInfoImpl.cpp
    M clang/lib/CodeGen/BackendConsumer.h
    M clang/lib/CodeGen/BackendUtil.cpp
    M clang/lib/CodeGen/CGBuiltin.cpp
    M clang/lib/CodeGen/CGCall.cpp
    M clang/lib/CodeGen/CGClass.cpp
    M clang/lib/CodeGen/CGDebugInfo.cpp
    M clang/lib/CodeGen/CGDebugInfo.h
    M clang/lib/CodeGen/CGDecl.cpp
    M clang/lib/CodeGen/CGExpr.cpp
    M clang/lib/CodeGen/CGExprScalar.cpp
    M clang/lib/CodeGen/CGHLSLRuntime.cpp
    M clang/lib/CodeGen/CGHLSLRuntime.h
    M clang/lib/CodeGen/CGNonTrivialStruct.cpp
    M clang/lib/CodeGen/CGObjC.cpp
    M clang/lib/CodeGen/CGObjCMac.cpp
    M clang/lib/CodeGen/CGObjCRuntime.cpp
    M clang/lib/CodeGen/CGOpenMPRuntime.cpp
    M clang/lib/CodeGen/CGOpenMPRuntime.h
    M clang/lib/CodeGen/CGOpenMPRuntimeGPU.cpp
    M clang/lib/CodeGen/CGRecordLayoutBuilder.cpp
    M clang/lib/CodeGen/CGStmt.cpp
    M clang/lib/CodeGen/CGStmtOpenMP.cpp
    M clang/lib/CodeGen/CodeGenAction.cpp
    M clang/lib/CodeGen/CodeGenFunction.cpp
    M clang/lib/CodeGen/CodeGenFunction.h
    M clang/lib/CodeGen/CodeGenModule.cpp
    M clang/lib/CodeGen/CodeGenModule.h
    M clang/lib/CodeGen/CodeGenPGO.cpp
    M clang/lib/CodeGen/CodeGenPGO.h
    M clang/lib/CodeGen/ConstantInitBuilder.cpp
    M clang/lib/CodeGen/CoverageMappingGen.cpp
    M clang/lib/CodeGen/CoverageMappingGen.h
    M clang/lib/CodeGen/ItaniumCXXABI.cpp
    M clang/lib/CodeGen/ObjectFilePCHContainerWriter.cpp
    M clang/lib/CodeGen/SanitizerMetadata.cpp
    M clang/lib/CodeGen/SwiftCallingConv.cpp
    M clang/lib/CodeGen/Targets/AArch64.cpp
    M clang/lib/CodeGen/Targets/AMDGPU.cpp
    M clang/lib/CodeGen/Targets/LoongArch.cpp
    M clang/lib/CodeGen/Targets/NVPTX.cpp
    M clang/lib/CodeGen/Targets/RISCV.cpp
    M clang/lib/CodeGen/Targets/SPIR.cpp
    M clang/lib/CodeGen/Targets/X86.cpp
    M clang/lib/CodeGen/Targets/XCore.cpp
    M clang/lib/Driver/Action.cpp
    M clang/lib/Driver/CMakeLists.txt
    M clang/lib/Driver/Compilation.cpp
    M clang/lib/Driver/Driver.cpp
    M clang/lib/Driver/Multilib.cpp
    M clang/lib/Driver/OffloadBundler.cpp
    M clang/lib/Driver/SanitizerArgs.cpp
    M clang/lib/Driver/ToolChain.cpp
    M clang/lib/Driver/ToolChains/Arch/ARM.cpp
    M clang/lib/Driver/ToolChains/BareMetal.cpp
    M clang/lib/Driver/ToolChains/BareMetal.h
    M clang/lib/Driver/ToolChains/Clang.cpp
    M clang/lib/Driver/ToolChains/CommonArgs.cpp
    M clang/lib/Driver/ToolChains/Cuda.cpp
    M clang/lib/Driver/ToolChains/Darwin.cpp
    M clang/lib/Driver/ToolChains/Darwin.h
    M clang/lib/Driver/ToolChains/Flang.cpp
    M clang/lib/Driver/ToolChains/Gnu.cpp
    M clang/lib/Driver/ToolChains/Gnu.h
    M clang/lib/Driver/ToolChains/HIPAMD.cpp
    M clang/lib/Driver/ToolChains/HIPUtility.cpp
    M clang/lib/Driver/ToolChains/Linux.cpp
    M clang/lib/Driver/ToolChains/Linux.h
    M clang/lib/Driver/ToolChains/MSVC.cpp
    M clang/lib/Driver/ToolChains/MSVC.h
    M clang/lib/Driver/ToolChains/MinGW.cpp
    M clang/lib/Driver/ToolChains/NetBSD.cpp
    M clang/lib/Driver/ToolChains/SPIRV.cpp
    M clang/lib/Driver/ToolChains/SPIRV.h
    A clang/lib/Driver/ToolChains/SPIRVOpenMP.cpp
    A clang/lib/Driver/ToolChains/SPIRVOpenMP.h
    A clang/lib/Driver/ToolChains/SYCL.cpp
    A clang/lib/Driver/ToolChains/SYCL.h
    M clang/lib/Driver/ToolChains/WebAssembly.cpp
    M clang/lib/Format/AffectedRangeManager.cpp
    M clang/lib/Format/AffectedRangeManager.h
    M clang/lib/Format/Format.cpp
    M clang/lib/Format/FormatToken.h
    M clang/lib/Format/FormatTokenLexer.cpp
    M clang/lib/Format/FormatTokenLexer.h
    M clang/lib/Format/MatchFilePath.cpp
    M clang/lib/Format/TokenAnnotator.cpp
    M clang/lib/Format/TokenAnnotator.h
    M clang/lib/Format/UnwrappedLineFormatter.cpp
    M clang/lib/Format/UnwrappedLineParser.cpp
    M clang/lib/Format/UnwrappedLineParser.h
    M clang/lib/Frontend/CompilerInstance.cpp
    M clang/lib/Frontend/CompilerInvocation.cpp
    M clang/lib/Frontend/DependencyFile.cpp
    M clang/lib/Frontend/FrontendAction.cpp
    M clang/lib/Frontend/FrontendActions.cpp
    M clang/lib/Frontend/Rewrite/RewriteModernObjC.cpp
    M clang/lib/Headers/amxintrin.h
    M clang/lib/Headers/cuda_wrappers/cmath
    M clang/lib/Headers/hlsl/hlsl_detail.h
    M clang/lib/Headers/hlsl/hlsl_intrinsics.h
    M clang/lib/Headers/intrin.h
    M clang/lib/Interpreter/CodeCompletion.cpp
    M clang/lib/Lex/InitHeaderSearch.cpp
    M clang/lib/Lex/Lexer.cpp
    M clang/lib/Parse/ParseDecl.cpp
    M clang/lib/Parse/ParseDeclCXX.cpp
    M clang/lib/Parse/ParseOpenACC.cpp
    M clang/lib/Parse/ParseOpenMP.cpp
    M clang/lib/Sema/CMakeLists.txt
    M clang/lib/Sema/CheckExprLifetime.cpp
    M clang/lib/Sema/CheckExprLifetime.h
    M clang/lib/Sema/MultiplexExternalSemaSource.cpp
    M clang/lib/Sema/Sema.cpp
    M clang/lib/Sema/SemaARM.cpp
    M clang/lib/Sema/SemaAttr.cpp
    M clang/lib/Sema/SemaChecking.cpp
    M clang/lib/Sema/SemaCodeComplete.cpp
    M clang/lib/Sema/SemaDecl.cpp
    M clang/lib/Sema/SemaDeclAttr.cpp
    M clang/lib/Sema/SemaDeclCXX.cpp
    M clang/lib/Sema/SemaDeclObjC.cpp
    M clang/lib/Sema/SemaExceptionSpec.cpp
    M clang/lib/Sema/SemaExpr.cpp
    M clang/lib/Sema/SemaExprCXX.cpp
    M clang/lib/Sema/SemaFunctionEffects.cpp
    M clang/lib/Sema/SemaHLSL.cpp
    M clang/lib/Sema/SemaInit.cpp
    M clang/lib/Sema/SemaLambda.cpp
    M clang/lib/Sema/SemaOpenACC.cpp
    A clang/lib/Sema/SemaOpenACCClause.cpp
    M clang/lib/Sema/SemaOpenMP.cpp
    M clang/lib/Sema/SemaOverload.cpp
    A clang/lib/Sema/SemaSPIRV.cpp
    M clang/lib/Sema/SemaSYCL.cpp
    M clang/lib/Sema/SemaStmt.cpp
    M clang/lib/Sema/SemaStmtAttr.cpp
    M clang/lib/Sema/SemaSwift.cpp
    M clang/lib/Sema/SemaTemplate.cpp
    M clang/lib/Sema/SemaTemplateDeduction.cpp
    M clang/lib/Sema/SemaTemplateDeductionGuide.cpp
    M clang/lib/Sema/SemaTemplateInstantiateDecl.cpp
    M clang/lib/Sema/SemaType.cpp
    M clang/lib/Sema/TreeTransform.h
    M clang/lib/Serialization/ASTReader.cpp
    M clang/lib/Serialization/ASTReaderDecl.cpp
    M clang/lib/Serialization/ASTReaderInternals.h
    M clang/lib/Serialization/ASTReaderStmt.cpp
    M clang/lib/Serialization/ASTWriter.cpp
    M clang/lib/Serialization/ASTWriterDecl.cpp
    M clang/lib/Serialization/ASTWriterStmt.cpp
    M clang/lib/Serialization/GeneratePCH.cpp
    M clang/lib/StaticAnalyzer/Checkers/DereferenceChecker.cpp
    M clang/lib/StaticAnalyzer/Core/CoreEngine.cpp
    M clang/lib/StaticAnalyzer/Core/ExplodedGraph.cpp
    M clang/lib/StaticAnalyzer/Core/ExprEngine.cpp
    M clang/lib/StaticAnalyzer/Core/MemRegion.cpp
    M clang/lib/StaticAnalyzer/Core/RangeConstraintManager.cpp
    M clang/lib/StaticAnalyzer/Core/RangedConstraintManager.cpp
    M clang/lib/StaticAnalyzer/Core/RegionStore.cpp
    M clang/lib/StaticAnalyzer/Core/SValBuilder.cpp
    M clang/lib/StaticAnalyzer/Core/SimpleSValBuilder.cpp
    M clang/lib/StaticAnalyzer/Core/SymbolManager.cpp
    M clang/lib/StaticAnalyzer/Core/Z3CrosscheckVisitor.cpp
    M clang/lib/Tooling/Tooling.cpp
    A clang/test/APINotes/Inputs/Headers/SwiftReturnOwnershipForObjC.apinotes
    A clang/test/APINotes/Inputs/Headers/SwiftReturnOwnershipForObjC.h
    M clang/test/APINotes/Inputs/Headers/Templates.h
    M clang/test/APINotes/Inputs/Headers/module.modulemap
    A clang/test/APINotes/swift-return-ownership.m
    M clang/test/APINotes/templates.cpp
    M clang/test/AST/ByteCode/builtin-constant-p.cpp
    M clang/test/AST/ByteCode/builtin-functions.cpp
    M clang/test/AST/ByteCode/cxx11.cpp
    M clang/test/AST/ByteCode/cxx20.cpp
    M clang/test/AST/ByteCode/functions.cpp
    M clang/test/AST/ByteCode/literals.cpp
    M clang/test/AST/ByteCode/records.cpp
    M clang/test/AST/ByteCode/unions.cpp
    A clang/test/AST/HLSL/HLSLControlFlowHint.hlsl
    A clang/test/AST/ast-print-openacc-set-construct.cpp
    A clang/test/AST/ast-print-openacc-update-construct.cpp
    M clang/test/AST/attr-lifetime-capture-by.cpp
    M clang/test/ASTSYCL/ast-dump-sycl-kernel-entry-point.cpp
    M clang/test/Analysis/analyzer-config.c
    M clang/test/Analysis/analyzer-enabled-checkers.c
    M clang/test/Analysis/dump_egraph.cpp
    M clang/test/Analysis/embed.c
    M clang/test/Analysis/expr-inspection-printState-diseq-info.c
    M clang/test/Analysis/expr-inspection-printState-eq-classes.c
    A clang/test/Analysis/loop-assumptions.c
    M clang/test/Analysis/loop-unrolling.cpp
    M clang/test/Analysis/misc-ps-region-store.m
    M clang/test/Analysis/ptr-arith.cpp
    M clang/test/Analysis/std-c-library-functions-arg-enabled-checkers.c
    M clang/test/Analysis/symbol-simplification-disequality-info.cpp
    M clang/test/Analysis/symbol-simplification-fixpoint-one-iteration.cpp
    M clang/test/Analysis/symbol-simplification-fixpoint-two-iterations.cpp
    M clang/test/Analysis/unary-sym-expr.c
    A clang/test/Analysis/z3-crosscheck-max-attempts.cpp
    M clang/test/Analysis/z3/D83660.c
    R clang/test/Analysis/z3/Inputs/MockZ3_solver_check.c
    A clang/test/Analysis/z3/Inputs/MockZ3_solver_check.cpp
    M clang/test/Analysis/z3/crosscheck-statistics.c
    M clang/test/CXX/basic/basic.scope/basic.scope.namespace/p2.cpp
    M clang/test/CXX/drs/cwg0xx.cpp
    M clang/test/CXX/drs/cwg10xx.cpp
    M clang/test/CXX/drs/cwg118.cpp
    M clang/test/CXX/drs/cwg11xx.cpp
    M clang/test/CXX/drs/cwg12xx.cpp
    M clang/test/CXX/drs/cwg13xx.cpp
    M clang/test/CXX/drs/cwg14xx.cpp
    M clang/test/CXX/drs/cwg158.cpp
    M clang/test/CXX/drs/cwg15xx.cpp
    M clang/test/CXX/drs/cwg16xx.cpp
    M clang/test/CXX/drs/cwg1748.cpp
    M clang/test/CXX/drs/cwg177x.cpp
    M clang/test/CXX/drs/cwg17xx.cpp
    M clang/test/CXX/drs/cwg1807.cpp
    M clang/test/CXX/drs/cwg18xx.cpp
    M clang/test/CXX/drs/cwg19xx.cpp
    M clang/test/CXX/drs/cwg1xx.cpp
    M clang/test/CXX/drs/cwg20xx.cpp
    M clang/test/CXX/drs/cwg21xx.cpp
    M clang/test/CXX/drs/cwg22xx.cpp
    M clang/test/CXX/drs/cwg2335.cpp
    A clang/test/CXX/drs/cwg2353.cpp
    M clang/test/CXX/drs/cwg23xx.cpp
    M clang/test/CXX/drs/cwg24xx.cpp
    M clang/test/CXX/drs/cwg2504.cpp
    M clang/test/CXX/drs/cwg25xx.cpp
    M clang/test/CXX/drs/cwg26xx.cpp
    A clang/test/CXX/drs/cwg273.cpp
    M clang/test/CXX/drs/cwg2771.cpp
    M clang/test/CXX/drs/cwg27xx.cpp
    M clang/test/CXX/drs/cwg28xx.cpp
    M clang/test/CXX/drs/cwg29xx.cpp
    M clang/test/CXX/drs/cwg2xx.cpp
    M clang/test/CXX/drs/cwg3xx.cpp
    M clang/test/CXX/drs/cwg492.cpp
    M clang/test/CXX/drs/cwg4xx.cpp
    M clang/test/CXX/drs/cwg571.cpp
    A clang/test/CXX/drs/cwg593.cpp
    M clang/test/CXX/drs/cwg5xx.cpp
    M clang/test/CXX/drs/cwg6xx.cpp
    M clang/test/CXX/drs/cwg722.cpp
    M clang/test/CXX/drs/cwg7xx.cpp
    M clang/test/CXX/drs/cwg8xx.cpp
    M clang/test/CXX/drs/cwg9xx.cpp
    R clang/test/CXX/drs/cwgr593.cpp
    M clang/test/CXX/expr/expr.const/p2-0x.cpp
    M clang/test/CXX/expr/expr.unary/expr.delete/p10.cpp
    M clang/test/CXX/module/basic/basic.link/p2.cppm
    M clang/test/CXX/module/module.import/p2.cpp
    M clang/test/CXX/module/module.interface/p7.cpp
    M clang/test/CXX/module/module.reach/p5.cpp
    M clang/test/CodeGen/AArch64/fmv-dependencies.c
    A clang/test/CodeGen/AArch64/fmv-features.c
    A clang/test/CodeGen/AArch64/fmv-priority.c
    M clang/test/CodeGen/AArch64/fp8-intrinsics/acle_sve2_fp8_fdot.c
    A clang/test/CodeGen/AArch64/fp8-intrinsics/acle_sve2_fp8_reinterpret.c
    M clang/test/CodeGen/AArch64/fpm-helpers.c
    M clang/test/CodeGen/AArch64/neon-vcmla.c
    A clang/test/CodeGen/AArch64/sincos.c
    M clang/test/CodeGen/AArch64/sme-inline-callees-streaming-attrs.c
    M clang/test/CodeGen/AArch64/sme-inline-streaming-attrs.c
    M clang/test/CodeGen/AArch64/sme-intrinsics/aarch64-sme-attrs.cpp
    M clang/test/CodeGen/AArch64/sme-intrinsics/acle_sme_state_funs.c
    M clang/test/CodeGen/AArch64/sme2-intrinsics/acle_sme2_fp8_fdot.c
    M clang/test/CodeGen/AArch64/sme2-intrinsics/acle_sme2_fp8_fvdot.c
    M clang/test/CodeGen/AArch64/sve2-intrinsics/acle_sve2_bdep.c
    M clang/test/CodeGen/AArch64/sve2-intrinsics/acle_sve2_bext.c
    M clang/test/CodeGen/AArch64/sve2-intrinsics/acle_sve2_bgrp.c
    M clang/test/CodeGen/AArch64/sve2-intrinsics/acle_sve2_luti.c
    M clang/test/CodeGen/AArch64/targetattr.c
    M clang/test/CodeGen/X86/amx_api.c
    A clang/test/CodeGen/X86/amx_tile.c
    M clang/test/CodeGen/X86/math-builtins.c
    M clang/test/CodeGen/allow-ubsan-check.c
    M clang/test/CodeGen/attr-target-clones-aarch64.c
    M clang/test/CodeGen/attr-target-version.c
    M clang/test/CodeGen/builtin-memfns.c
    M clang/test/CodeGen/catch-nullptr-and-nonzero-offset-when-nullptr-is-defined.c
    M clang/test/CodeGen/catch-nullptr-and-nonzero-offset.c
    M clang/test/CodeGen/catch-pointer-overflow-volatile.c
    M clang/test/CodeGen/catch-pointer-overflow.c
    M clang/test/CodeGen/code-coverage.c
    M clang/test/CodeGen/nvptx_attributes.c
    M clang/test/CodeGen/sanitize-type-globals.cpp
    M clang/test/CodeGen/scoped-atomic-ops.c
    M clang/test/CodeGen/scoped-fence-ops.c
    M clang/test/CodeGen/tbaa-pointers.c
    M clang/test/CodeGen/ubsan-pointer-overflow.c
    M clang/test/CodeGen/xcore-abi.c
    M clang/test/CodeGenCUDA/amdgpu-atomic-ops.cu
    M clang/test/CodeGenCUDA/amdgpu-kernel-arg-pointer-type.cu
    M clang/test/CodeGenCUDA/amdgpu-kernel-attrs.cu
    M clang/test/CodeGenCUDA/atomic-ops.cu
    M clang/test/CodeGenCUDA/device-fun-linkage.cu
    M clang/test/CodeGenCUDA/grid-constant.cu
    M clang/test/CodeGenCUDA/offload_via_llvm.cu
    M clang/test/CodeGenCUDA/ptx-kernels.cu
    M clang/test/CodeGenCUDA/usual-deallocators.cu
    M clang/test/CodeGenCXX/aarch64-mangle-sme-atts.cpp
    A clang/test/CodeGenCXX/debug-info-codeview-nodebug.cpp
    A clang/test/CodeGenCXX/debug-info-object-pointer.cpp
    M clang/test/CodeGenHLSL/ArrayTemporary.hlsl
    M clang/test/CodeGenHLSL/BasicFeatures/OutputArguments.hlsl
    M clang/test/CodeGenHLSL/BasicFeatures/standard_conversion_sequences.hlsl
    A clang/test/CodeGenHLSL/Bool.hlsl
    A clang/test/CodeGenHLSL/HLSLControlFlowHint.hlsl
    A clang/test/CodeGenHLSL/builtins/D3DCOLORtoUBYTE4.hlsl
    M clang/test/CodeGenHLSL/builtins/RWBuffer-subscript.hlsl
    M clang/test/CodeGenHLSL/builtins/ScalarSwizzles.hlsl
    M clang/test/CodeGenHLSL/builtins/StructuredBuffers-methods-lib.hlsl
    M clang/test/CodeGenHLSL/builtins/StructuredBuffers-methods-ps.hlsl
    A clang/test/CodeGenHLSL/builtins/WaveActiveSum.hlsl
    M clang/test/CodeGenHLSL/builtins/WaveReadLaneAt.hlsl
    M clang/test/CodeGenHLSL/builtins/abs.hlsl
    M clang/test/CodeGenHLSL/builtins/acos.hlsl
    M clang/test/CodeGenHLSL/builtins/asdouble.hlsl
    M clang/test/CodeGenHLSL/builtins/asin.hlsl
    M clang/test/CodeGenHLSL/builtins/atan.hlsl
    M clang/test/CodeGenHLSL/builtins/atan2.hlsl
    M clang/test/CodeGenHLSL/builtins/ceil.hlsl
    M clang/test/CodeGenHLSL/builtins/clamp.hlsl
    M clang/test/CodeGenHLSL/builtins/clip.hlsl
    M clang/test/CodeGenHLSL/builtins/cos.hlsl
    M clang/test/CodeGenHLSL/builtins/cosh.hlsl
    M clang/test/CodeGenHLSL/builtins/cross.hlsl
    M clang/test/CodeGenHLSL/builtins/degrees.hlsl
    A clang/test/CodeGenHLSL/builtins/distance.hlsl
    M clang/test/CodeGenHLSL/builtins/dot-builtin.hlsl
    M clang/test/CodeGenHLSL/builtins/dot.hlsl
    M clang/test/CodeGenHLSL/builtins/exp.hlsl
    M clang/test/CodeGenHLSL/builtins/exp2.hlsl
    A clang/test/CodeGenHLSL/builtins/firstbitlow.hlsl
    M clang/test/CodeGenHLSL/builtins/floor.hlsl
    M clang/test/CodeGenHLSL/builtins/fmod.hlsl
    M clang/test/CodeGenHLSL/builtins/frac.hlsl
    M clang/test/CodeGenHLSL/builtins/length.hlsl
    M clang/test/CodeGenHLSL/builtins/lerp-builtin.hlsl
    M clang/test/CodeGenHLSL/builtins/lerp.hlsl
    M clang/test/CodeGenHLSL/builtins/log.hlsl
    M clang/test/CodeGenHLSL/builtins/log10.hlsl
    M clang/test/CodeGenHLSL/builtins/log2.hlsl
    M clang/test/CodeGenHLSL/builtins/mad.hlsl
    M clang/test/CodeGenHLSL/builtins/max.hlsl
    M clang/test/CodeGenHLSL/builtins/min.hlsl
    M clang/test/CodeGenHLSL/builtins/normalize.hlsl
    M clang/test/CodeGenHLSL/builtins/pow.hlsl
    M clang/test/CodeGenHLSL/builtins/radians.hlsl
    M clang/test/CodeGenHLSL/builtins/rcp.hlsl
    M clang/test/CodeGenHLSL/builtins/round.hlsl
    M clang/test/CodeGenHLSL/builtins/rsqrt.hlsl
    M clang/test/CodeGenHLSL/builtins/saturate.hlsl
    M clang/test/CodeGenHLSL/builtins/sin.hlsl
    M clang/test/CodeGenHLSL/builtins/sinh.hlsl
    M clang/test/CodeGenHLSL/builtins/sqrt.hlsl
    M clang/test/CodeGenHLSL/builtins/step.hlsl
    M clang/test/CodeGenHLSL/builtins/tan.hlsl
    M clang/test/CodeGenHLSL/builtins/tanh.hlsl
    M clang/test/CodeGenHLSL/builtins/trunc.hlsl
    A clang/test/CodeGenHLSL/debug/rwbuffer_debug_info.hlsl
    M clang/test/CodeGenHLSL/float3.hlsl
    M clang/test/CodeGenHLSL/semantics/SV_GroupID.hlsl
    M clang/test/CodeGenHLSL/this-reference.hlsl
    M clang/test/CodeGenOpenCL/builtins-amdgcn-gfx12.cl
    M clang/test/CodeGenOpenCL/preserve_vec3.cl
    M clang/test/CodeGenOpenCL/ptx-calls.cl
    M clang/test/CodeGenOpenCL/ptx-kernels.cl
    M clang/test/CodeGenOpenCL/reflect.cl
    A clang/test/CodeGenSPIRV/Builtins/distance.c
    A clang/test/Driver/Inputs/MacOSX15.1.sdk/embedded/usr/include/.keep
    A clang/test/Driver/Inputs/MacOSX15.1.sdk/embedded/usr/local/include/.keep
    A clang/test/Driver/Inputs/MacOSX15.1.sdk/usr/include/c++/v1/.keep
    A clang/test/Driver/Inputs/MacOSX15.1.sdk/usr/local/include/.keep
    A clang/test/Driver/Inputs/config-zos/clang.cfg
    A clang/test/Driver/Inputs/config-zos/def.cfg
    A clang/test/Driver/Inputs/config-zos/tst/def.cfg
    A clang/test/Driver/Inputs/spirv-openmp/lib/libomptarget-spirv64.bc
    M clang/test/Driver/aarch64-implied-sme-features.c
    M clang/test/Driver/aarch64-implied-sve-features.c
    M clang/test/Driver/amdgpu-openmp-toolchain.c
    M clang/test/Driver/arm-mfpu.c
    A clang/test/Driver/baremetal-multilib-custom-flags-parsing.yaml
    A clang/test/Driver/baremetal-multilib-custom-flags.yaml
    M clang/test/Driver/cl-options.c
    M clang/test/Driver/clang_f_opts.c
    A clang/test/Driver/config-zos.c
    A clang/test/Driver/config-zos1.c
    M clang/test/Driver/cuda-arch-translation.cu
    M clang/test/Driver/cuda-bindings.cu
    M clang/test/Driver/cuda-options.cu
    M clang/test/Driver/cuda-output-asm.cu
    A clang/test/Driver/darwin-embedded-search-paths-libcxx.c
    A clang/test/Driver/darwin-embedded-search-paths.c
    M clang/test/Driver/dxc_spirv.hlsl
    A clang/test/Driver/fprofile-generate-temporal.c
    M clang/test/Driver/fsanitize.c
    A clang/test/Driver/fuse-lipo.c
    M clang/test/Driver/hip-code-object-version.hip
    M clang/test/Driver/hip-cuid.hip
    M clang/test/Driver/hip-device-libs.hip
    M clang/test/Driver/hip-target-id.hip
    M clang/test/Driver/hipspv-toolchain.hip
    M clang/test/Driver/linker-wrapper.c
    M clang/test/Driver/lto.c
    M clang/test/Driver/mingw.cpp
    M clang/test/Driver/modules-print-library-module-manifest-path.cpp
    M clang/test/Driver/netbsd.c
    M clang/test/Driver/print-enabled-extensions/aarch64-fujitsu-monaka.c
    M clang/test/Driver/print-multi-selection-flags.c
    M clang/test/Driver/print-supported-extensions-aarch64.c
    M clang/test/Driver/print-supported-extensions-riscv.c
    M clang/test/Driver/riscv-cpus.c
    M clang/test/Driver/sanitizer-ld.c
    A clang/test/Driver/spirv-openmp-toolchain.c
    M clang/test/Driver/spirv-toolchain.cl
    A clang/test/Driver/sycl-offload-jit.cpp
    M clang/test/Driver/uefi-constructed-args.c
    M clang/test/Driver/wasm-toolchain.c
    M clang/test/Frontend/ftime-report-template-decl.cpp
    M clang/test/Headers/gpuintrin.c
    M clang/test/LibClang/symbols.test
    M clang/test/Misc/pragma-attribute-supported-attributes-list.test
    M clang/test/Misc/target-invalid-cpu-note/riscv.c
    M clang/test/Modules/Reachability-template-default-arg.cpp
    M clang/test/Modules/cxx20-10-1-ex2.cpp
    M clang/test/Modules/deduction-guide3.cppm
    A clang/test/Modules/expose-static-inline-from-gmf-1.cppm
    A clang/test/Modules/expose-static-inline-from-gmf-2.cppm
    A clang/test/Modules/expose-static-inline-from-gmf-3.cppm
    A clang/test/Modules/expose-static-inline-from-gmf-4.cppm
    A clang/test/Modules/expose-static-inline-from-gmf-5.cppm
    A clang/test/Modules/gmodules-nodebug.cpp
    A clang/test/Modules/missing-body-in-import.cpp
    A clang/test/Modules/module-local-with-templates.cppm
    A clang/test/Modules/pcm-with-errors.cpp
    A clang/test/Modules/pr90154.cppm
    M clang/test/Modules/preferred_name.cppm
    R clang/test/OpenMP/allocate_allocator_modifier_ast_print.cpp
    R clang/test/OpenMP/allocate_allocator_modifier_codegen.cpp
    R clang/test/OpenMP/allocate_allocator_modifier_messages.cpp
    A clang/test/OpenMP/allocate_modifiers_ast_print.cpp
    A clang/test/OpenMP/allocate_modifiers_codegen.cpp
    A clang/test/OpenMP/allocate_modifiers_messages.cpp
    M clang/test/OpenMP/declare_simd_aarch64.c
    M clang/test/OpenMP/irbuilder_simd_aligned.cpp
    A clang/test/OpenMP/masked_taskloop_codegen.c
    A clang/test/OpenMP/masked_taskloop_simd_codegen.c
    A clang/test/OpenMP/parallel_masked_taskloop_codegen.c
    A clang/test/OpenMP/parallel_masked_taskloop_simd_codegen.c
    M clang/test/Parser/namespace-attributes.cpp
    M clang/test/ParserOpenACC/parse-clauses.c
    M clang/test/ParserOpenACC/parse-constructs.c
    M clang/test/Preprocessor/aarch64-target-features.c
    M clang/test/Preprocessor/arm-acle-6.4.c
    M clang/test/Preprocessor/arm-target-features.c
    A clang/test/Preprocessor/darwin-predefines.c
    M clang/test/Preprocessor/init-aarch64.c
    M clang/test/Preprocessor/macho-embedded-predefines.c
    M clang/test/Preprocessor/riscv-target-features.c
    M clang/test/Sema/aarch64-fp8-intrinsics/acle_sme2_fp8_imm.c
    M clang/test/Sema/aarch64-sme-func-attrs-without-target-feature.cpp
    M clang/test/Sema/aarch64-sme-func-attrs.c
    M clang/test/Sema/aarch64-sve2-intrinsics/acle_sve2_aes_bitperm_sha3_sm4.cpp
    M clang/test/Sema/aarch64-sve2-intrinsics/acle_sve2_imm_lane.cpp
    M clang/test/Sema/attr-target-clones.c
    M clang/test/Sema/attr-target-mv.c
    M clang/test/Sema/attr-target.c
    M clang/test/Sema/uninit-variables.c
    M clang/test/Sema/varargs.c
    M clang/test/Sema/warn-lifetime-analysis-capture-by.cpp
    A clang/test/SemaCUDA/constexpr-virtual-func.cu
    M clang/test/SemaCXX/attr-lifetimebound.cpp
    M clang/test/SemaCXX/constant-expression-cxx11.cpp
    M clang/test/SemaCXX/constant-expression-cxx14.cpp
    M clang/test/SemaCXX/constructor.cpp
    M clang/test/SemaCXX/conversion-function.cpp
    A clang/test/SemaCXX/crash-GH121274.cpp
    M clang/test/SemaCXX/cxx2a-destroying-delete.cpp
    M clang/test/SemaCXX/cxx2c-fold-exprs.cpp
    M clang/test/SemaCXX/cxx2c-pack-indexing.cpp
    M clang/test/SemaCXX/destructor.cpp
    M clang/test/SemaCXX/noexcept-destroying-delete.cpp
    A clang/test/SemaCXX/opaque-enum-declaration-in-class-template.cpp
    M clang/test/SemaCXX/ptrauth-type-discriminator.cpp
    M clang/test/SemaCXX/type-traits.cpp
    M clang/test/SemaCXX/uninitialized.cpp
    R clang/test/SemaCXX/warn-inconsistent-missing-destructor-override
    A clang/test/SemaCXX/warn-inconsistent-missing-destructor-override.cpp
    R clang/test/SemaCXX/warn-suggest-destructor-override
    A clang/test/SemaCXX/warn-suggest-destructor-override.cpp
    R clang/test/SemaCXX/warn-suggest-override
    A clang/test/SemaCXX/warn-suggest-override.cpp
    M clang/test/SemaCXX/warn-unused-result.cpp
    A clang/test/SemaHLSL/BuiltIns/D3DCOLORtoUBYTE4-errors.hlsl
    A clang/test/SemaHLSL/BuiltIns/WaveActiveSum-errors.hlsl
    M clang/test/SemaHLSL/BuiltIns/asfloat-errors.hlsl
    A clang/test/SemaHLSL/BuiltIns/distance-errors.hlsl
    M clang/test/SemaHLSL/BuiltIns/firstbithigh-errors.hlsl
    A clang/test/SemaHLSL/BuiltIns/firstbitlow-errors.hlsl
    M clang/test/SemaHLSL/BuiltIns/length-errors.hlsl
    M clang/test/SemaOpenACC/combined-construct-auto_seq_independent-clauses.c
    M clang/test/SemaOpenACC/combined-construct-device_type-clause.c
    M clang/test/SemaOpenACC/combined-construct-self-ast.cpp
    M clang/test/SemaOpenACC/compute-construct-clause-ast.cpp
    M clang/test/SemaOpenACC/compute-construct-device_type-clause.c
    M clang/test/SemaOpenACC/loop-construct-auto_seq_independent-clauses.c
    M clang/test/SemaOpenACC/loop-construct-device_type-clause.c
    A clang/test/SemaOpenACC/set-construct-ast.cpp
    A clang/test/SemaOpenACC/set-construct.cpp
    M clang/test/SemaOpenACC/unimplemented-construct.c
    A clang/test/SemaOpenACC/update-construct-ast.cpp
    A clang/test/SemaOpenACC/update-construct.cpp
    A clang/test/SemaSPIRV/BuiltIns/distance-errors.c
    A clang/test/SemaSYCL/sycl-kernel-entry-point-attr-appertainment.cpp
    M clang/test/SemaSYCL/sycl-kernel-entry-point-attr-grammar.cpp
    A clang/test/SemaSYCL/sycl-kernel-entry-point-attr-kernel-name-module.cpp
    A clang/test/SemaSYCL/sycl-kernel-entry-point-attr-kernel-name-pch.cpp
    A clang/test/SemaSYCL/sycl-kernel-entry-point-attr-kernel-name.cpp
    A clang/test/SemaSYCL/sycl-kernel-entry-point-attr-sfinae.cpp
    M clang/test/SemaTemplate/concepts.cpp
    M clang/test/SemaTemplate/deduction-guide.cpp
    A clang/test/TableGen/select-enum-errors.td
    A clang/test/TableGen/select-enum.td
    M clang/test/TableGen/target-builtins-prototype-parser.td
    M clang/test/utils/update_cc_test_checks/Inputs/basic-cplusplus.cpp
    M clang/test/utils/update_cc_test_checks/Inputs/basic-cplusplus.cpp.expected
    A clang/test/utils/update_cc_test_checks/Inputs/c-symbol-mangling.c
    A clang/test/utils/update_cc_test_checks/Inputs/c-symbol-mangling.c.expected
    A clang/test/utils/update_cc_test_checks/c-symbol-mangling.test
    M clang/tools/clang-linker-wrapper/ClangLinkerWrapper.cpp
    M clang/tools/clang-scan-deps/ClangScanDeps.cpp
    M clang/tools/diagtool/DiagnosticNames.cpp
    M clang/tools/driver/cc1_main.cpp
    M clang/tools/driver/driver.cpp
    M clang/tools/include-mapping/cppreference_parser.py
    M clang/tools/libclang/CIndex.cpp
    M clang/tools/libclang/CIndexCXX.cpp
    M clang/tools/libclang/CXCursor.cpp
    M clang/tools/libclang/CXType.cpp
    M clang/tools/libclang/libclang.map
    M clang/unittests/AST/ASTImporterTest.cpp
    M clang/unittests/AST/ExternalASTSourceTest.cpp
    M clang/unittests/ASTMatchers/ASTMatchersNarrowingTest.cpp
    M clang/unittests/ASTMatchers/ASTMatchersNodeTest.cpp
    M clang/unittests/Analysis/FlowSensitive/CachedConstAccessorsLatticeTest.cpp
    M clang/unittests/Analysis/FlowSensitive/UncheckedOptionalAccessModelTest.cpp
    M clang/unittests/Format/ConfigParseTest.cpp
    M clang/unittests/Format/FormatTest.cpp
    M clang/unittests/Format/FormatTestSelective.cpp
    M clang/unittests/Format/MatchFilePathTest.cpp
    M clang/unittests/Format/TokenAnnotatorTest.cpp
    M clang/unittests/Lex/LexerTest.cpp
    M clang/unittests/Tooling/ToolingTest.cpp
    M clang/utils/TableGen/ClangAttrEmitter.cpp
    M clang/utils/TableGen/ClangBuiltinsEmitter.cpp
    M clang/utils/TableGen/ClangDiagnosticsEmitter.cpp
    M clang/utils/TableGen/SveEmitter.cpp
    M clang/utils/TableGen/TableGen.cpp
    M clang/utils/TableGen/TableGenBackends.h
    M clang/www/analyzer/annotations.html
    R clang/www/analyzer/images/example_attribute_nonnull.png
    R clang/www/analyzer/images/example_cf_returns_retained.png
    R clang/www/analyzer/images/example_custom_assert.png
    R clang/www/analyzer/images/example_ns_returns_retained.png
    R clang/www/analyzer/images/example_null_pointer.png
    R clang/www/analyzer/images/example_use_assert.png
    R clang/www/analyzer/images/scan_build_cmd.png
    M clang/www/cxx_dr_status.html
    M clang/www/make_cxx_dr_status
    M compiler-rt/cmake/Modules/AddCompilerRT.cmake
    M compiler-rt/cmake/base-config-ix.cmake
    M compiler-rt/cmake/builtin-config-ix.cmake
    M compiler-rt/lib/asan/asan_interceptors.cpp
    M compiler-rt/lib/builtins/CMakeLists.txt
    A compiler-rt/lib/builtins/aarch64/arm_apple_sme_abi.s
    A compiler-rt/lib/builtins/truncxfhf2.c
    M compiler-rt/lib/gwp_asan/tests/harness.h
    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_functional.cpp
    M compiler-rt/lib/rtsan/tests/rtsan_test_interceptors_posix.cpp
    M compiler-rt/lib/sanitizer_common/sanitizer_allocator_dlsym.h
    M compiler-rt/lib/sanitizer_common/sanitizer_common_interceptors.inc
    M compiler-rt/lib/sanitizer_common/sanitizer_platform_interceptors.h
    M compiler-rt/lib/sanitizer_common/sanitizer_platform_limits_netbsd.cpp
    M compiler-rt/lib/sanitizer_common/sanitizer_platform_limits_netbsd.h
    M compiler-rt/lib/sanitizer_common/sanitizer_platform_limits_posix.cpp
    M compiler-rt/lib/sanitizer_common/sanitizer_platform_limits_posix.h
    M compiler-rt/lib/sanitizer_common/sanitizer_platform_limits_solaris.cpp
    M compiler-rt/lib/sanitizer_common/sanitizer_platform_limits_solaris.h
    M compiler-rt/lib/sanitizer_common/symbolizer/scripts/build_symbolizer.sh
    M compiler-rt/lib/scudo/standalone/primary64.h
    M compiler-rt/lib/tysan/CMakeLists.txt
    M compiler-rt/lib/tysan/tysan.cpp
    M compiler-rt/lib/tysan/tysan_flags.inc
    M compiler-rt/lib/tysan/tysan_interceptors.cpp
    M compiler-rt/lib/ubsan/ubsan_value.h
    A compiler-rt/test/asan/TestCases/Windows/msvc/strdup_null_input.cpp
    A compiler-rt/test/builtins/Unit/truncxfhf2_test.c
    M compiler-rt/test/fuzzer/noasan-strcmp.test
    M compiler-rt/test/orc/TestCases/Darwin/arm64/objc-imageinfo.S
    M compiler-rt/test/orc/TestCases/Darwin/x86-64/objc-imageinfo.S
    M compiler-rt/test/profile/ContinuousSyncMode/online-merging.c
    M compiler-rt/test/profile/Inputs/instrprof-gcov-exceptions.cpp.gcov
    M compiler-rt/test/profile/Inputs/instrprof-gcov-multiple-bbs-single-line.c.gcov
    M compiler-rt/test/profile/Inputs/instrprof-gcov-one-line-function.c.gcov
    M compiler-rt/test/profile/Inputs/instrprof-gcov-switch1.c.gcov
    M compiler-rt/test/profile/Inputs/instrprof-gcov-switch2.c.gcov
    M compiler-rt/test/profile/Inputs/instrprof-shared-lib_in-loop.c.gcov
    M compiler-rt/test/profile/Inputs/instrprof-shared-main.c.gcov
    M compiler-rt/test/profile/gcov-__gcov_flush-terminate.c
    A compiler-rt/test/tysan/print_stacktrace.c
    A compiler-rt/test/tysan/struct-offset-different-base.cpp
    M compiler-rt/test/ubsan/TestCases/Pointer/nullptr-and-nonzero-offset-constants.cpp
    M compiler-rt/test/ubsan/TestCases/Pointer/nullptr-and-nonzero-offset-summary.cpp
    M compiler-rt/test/ubsan/TestCases/Pointer/nullptr-and-nonzero-offset-variable.cpp
    M compiler-rt/test/ubsan_minimal/TestCases/nullptr-and-nonzero-offset.c
    M cross-project-tests/debuginfo-tests/dexter/dex/command/ParseCommand.py
    M cross-project-tests/debuginfo-tests/dexter/dex/debugger/DebuggerControllers/ConditionalController.py
    M cross-project-tests/debuginfo-tests/dexter/dex/debugger/DebuggerControllers/ControllerHelpers.py
    M cross-project-tests/debuginfo-tests/dexter/dex/debugger/Debuggers.py
    M cross-project-tests/debuginfo-tests/dexter/dex/debugger/visualstudio/VisualStudio.py
    M cross-project-tests/debuginfo-tests/dexter/dex/tools/test/Tool.py
    M cross-project-tests/lit.cfg.py
    M flang/CMakeLists.txt
    M flang/cmake/modules/AddFlang.cmake
    M flang/docs/Extensions.md
    M flang/docs/OpenACC-descriptor-management.md
    M flang/docs/ParameterizedDerivedTypes.md
    M flang/docs/ParserCombinators.md
    M flang/docs/PolymorphicEntities.md
    M flang/examples/FlangOmpReport/FlangOmpReportVisitor.cpp
    M flang/include/flang/Common/OpenMP-utils.h
    M flang/include/flang/Common/format.h
    M flang/include/flang/Evaluate/call.h
    M flang/include/flang/Evaluate/characteristics.h
    M flang/include/flang/Evaluate/constant.h
    M flang/include/flang/Evaluate/expression.h
    M flang/include/flang/Evaluate/shape.h
    M flang/include/flang/Evaluate/target.h
    M flang/include/flang/Evaluate/tools.h
    M flang/include/flang/Evaluate/traverse.h
    M flang/include/flang/Evaluate/variable.h
    M flang/include/flang/Frontend/CodeGenOptions.def
    M flang/include/flang/Frontend/CompilerInstance.h
    M flang/include/flang/Frontend/CompilerInvocation.h
    M flang/include/flang/Lower/AbstractConverter.h
    A flang/include/flang/Optimizer/Builder/CUFCommon.h
    M flang/include/flang/Optimizer/Builder/FIRBuilder.h
    M flang/include/flang/Optimizer/Builder/HLFIRTools.h
    M flang/include/flang/Optimizer/Builder/IntrinsicCall.h
    M flang/include/flang/Optimizer/Builder/Runtime/Exceptions.h
    M flang/include/flang/Optimizer/Builder/Runtime/RTBuilder.h
    M flang/include/flang/Optimizer/CodeGen/TypeConverter.h
    M flang/include/flang/Optimizer/Dialect/CUF/CUFOps.td
    M flang/include/flang/Optimizer/Dialect/CanonicalizationPatterns.td
    M flang/include/flang/Optimizer/Dialect/FIROps.td
    M flang/include/flang/Optimizer/Dialect/FIRType.h
    M flang/include/flang/Optimizer/Dialect/FIRTypes.td
    M flang/include/flang/Optimizer/HLFIR/Passes.td
    A flang/include/flang/Optimizer/OpenACC/FIROpenACCTypeInterfaces.h
    A flang/include/flang/Optimizer/OpenACC/RegisterOpenACCExtensions.h
    M flang/include/flang/Optimizer/Support/InitFIR.h
    R flang/include/flang/Optimizer/Transforms/CUFCommon.h
    M flang/include/flang/Parser/characters.h
    M flang/include/flang/Parser/dump-parse-tree.h
    M flang/include/flang/Parser/parse-tree.h
    M flang/include/flang/Runtime/CUDA/descriptor.h
    M flang/include/flang/Runtime/exceptions.h
    M flang/include/flang/Runtime/magic-numbers.h
    M flang/include/flang/Semantics/symbol.h
    M flang/include/flang/Semantics/tools.h
    A flang/include/flang/Support/StringOstream.h
    A flang/include/flang/Support/Timing.h
    M flang/include/flang/Tools/TargetSetup.h
    M flang/lib/CMakeLists.txt
    M flang/lib/Common/CMakeLists.txt
    M flang/lib/Common/Fortran.cpp
    M flang/lib/Common/OpenMP-utils.cpp
    M flang/lib/Evaluate/characteristics.cpp
    M flang/lib/Evaluate/check-expression.cpp
    M flang/lib/Evaluate/expression.cpp
    M flang/lib/Evaluate/fold-designator.cpp
    M flang/lib/Evaluate/fold-implementation.h
    M flang/lib/Evaluate/fold-integer.cpp
    M flang/lib/Evaluate/intrinsics.cpp
    M flang/lib/Evaluate/shape.cpp
    M flang/lib/Evaluate/target.cpp
    M flang/lib/Evaluate/tools.cpp
    M flang/lib/Evaluate/variable.cpp
    M flang/lib/Frontend/CMakeLists.txt
    M flang/lib/Frontend/CompilerInstance.cpp
    M flang/lib/Frontend/CompilerInvocation.cpp
    M flang/lib/Frontend/FrontendAction.cpp
    M flang/lib/Frontend/FrontendActions.cpp
    M flang/lib/FrontendTool/CMakeLists.txt
    M flang/lib/Lower/Allocatable.cpp
    M flang/lib/Lower/Bridge.cpp
    M flang/lib/Lower/CMakeLists.txt
    M flang/lib/Lower/ConvertType.cpp
    M flang/lib/Lower/OpenACC.cpp
    M flang/lib/Lower/OpenMP/ClauseProcessor.cpp
    M flang/lib/Lower/OpenMP/DataSharingProcessor.cpp
    M flang/lib/Lower/OpenMP/OpenMP.cpp
    A flang/lib/Lower/OpenMP/PrivateReductionUtils.cpp
    A flang/lib/Lower/OpenMP/PrivateReductionUtils.h
    M flang/lib/Lower/OpenMP/ReductionProcessor.cpp
    M flang/lib/Lower/Runtime.cpp
    M flang/lib/Optimizer/Analysis/AliasAnalysis.cpp
    M flang/lib/Optimizer/Analysis/CMakeLists.txt
    M flang/lib/Optimizer/Builder/CMakeLists.txt
    A flang/lib/Optimizer/Builder/CUFCommon.cpp
    M flang/lib/Optimizer/Builder/FIRBuilder.cpp
    M flang/lib/Optimizer/Builder/HLFIRTools.cpp
    M flang/lib/Optimizer/Builder/IntrinsicCall.cpp
    M flang/lib/Optimizer/Builder/PPCIntrinsicCall.cpp
    M flang/lib/Optimizer/Builder/Runtime/Exceptions.cpp
    M flang/lib/Optimizer/Builder/Runtime/Inquiry.cpp
    M flang/lib/Optimizer/Builder/Runtime/Intrinsics.cpp
    M flang/lib/Optimizer/Builder/Runtime/Numeric.cpp
    M flang/lib/Optimizer/Builder/Runtime/Reduction.cpp
    M flang/lib/Optimizer/Builder/Runtime/Transformational.cpp
    M flang/lib/Optimizer/CMakeLists.txt
    M flang/lib/Optimizer/CodeGen/BoxedProcedure.cpp
    M flang/lib/Optimizer/CodeGen/CMakeLists.txt
    M flang/lib/Optimizer/CodeGen/CodeGen.cpp
    M flang/lib/Optimizer/CodeGen/Target.cpp
    M flang/lib/Optimizer/CodeGen/TypeConverter.cpp
    M flang/lib/Optimizer/Dialect/CMakeLists.txt
    M flang/lib/Optimizer/Dialect/CUF/Attributes/CMakeLists.txt
    M flang/lib/Optimizer/Dialect/CUF/CMakeLists.txt
    M flang/lib/Optimizer/Dialect/FIROps.cpp
    M flang/lib/Optimizer/Dialect/FIRType.cpp
    M flang/lib/Optimizer/Dialect/Support/CMakeLists.txt
    M flang/lib/Optimizer/HLFIR/IR/CMakeLists.txt
    M flang/lib/Optimizer/HLFIR/IR/HLFIROps.cpp
    M flang/lib/Optimizer/HLFIR/Transforms/CMakeLists.txt
    A flang/lib/Optimizer/HLFIR/Transforms/InlineHLFIRAssign.cpp
    M flang/lib/Optimizer/HLFIR/Transforms/OptimizedBufferization.cpp
    M flang/lib/Optimizer/HLFIR/Transforms/SimplifyHLFIRIntrinsics.cpp
    A flang/lib/Optimizer/OpenACC/CMakeLists.txt
    A flang/lib/Optimizer/OpenACC/FIROpenACCTypeInterfaces.cpp
    A flang/lib/Optimizer/OpenACC/RegisterOpenACCExtensions.cpp
    M flang/lib/Optimizer/OpenMP/CMakeLists.txt
    M flang/lib/Optimizer/OpenMP/MapInfoFinalization.cpp
    M flang/lib/Optimizer/Passes/CMakeLists.txt
    M flang/lib/Optimizer/Passes/Pipelines.cpp
    M flang/lib/Optimizer/Support/CMakeLists.txt
    M flang/lib/Optimizer/Transforms/AddDebugInfo.cpp
    M flang/lib/Optimizer/Transforms/CMakeLists.txt
    M flang/lib/Optimizer/Transforms/CUFAddConstructor.cpp
    R flang/lib/Optimizer/Transforms/CUFCommon.cpp
    M flang/lib/Optimizer/Transforms/CUFDeviceGlobal.cpp
    M flang/lib/Optimizer/Transforms/CUFOpConversion.cpp
    M flang/lib/Optimizer/Transforms/DebugTypeGenerator.cpp
    M flang/lib/Optimizer/Transforms/SimplifyIntrinsics.cpp
    M flang/lib/Optimizer/Transforms/StackArrays.cpp
    M flang/lib/Parser/basic-parsers.h
    M flang/lib/Parser/openmp-parsers.cpp
    M flang/lib/Parser/prescan.cpp
    M flang/lib/Parser/token-parsers.h
    M flang/lib/Parser/unparse.cpp
    M flang/lib/Semantics/assignment.cpp
    M flang/lib/Semantics/canonicalize-omp.cpp
    M flang/lib/Semantics/check-allocate.cpp
    M flang/lib/Semantics/check-call.cpp
    M flang/lib/Semantics/check-cuda.cpp
    M flang/lib/Semantics/check-declarations.cpp
    M flang/lib/Semantics/check-omp-structure.cpp
    M flang/lib/Semantics/check-omp-structure.h
    M flang/lib/Semantics/compute-offsets.cpp
    M flang/lib/Semantics/definable.cpp
    M flang/lib/Semantics/definable.h
    M flang/lib/Semantics/expression.cpp
    M flang/lib/Semantics/mod-file.cpp
    M flang/lib/Semantics/mod-file.h
    M flang/lib/Semantics/pointer-assignment.cpp
    M flang/lib/Semantics/resolve-names.cpp
    M flang/lib/Semantics/tools.cpp
    A flang/lib/Support/CMakeLists.txt
    A flang/lib/Support/Timing.cpp
    A flang/module/__cuda_device.f90
    M flang/module/__fortran_builtins.f90
    M flang/module/__fortran_ieee_exceptions.f90
    M flang/module/__fortran_type_info.f90
    M flang/module/cudadevice.f90
    M flang/runtime/CUDA/descriptor.cpp
    M flang/runtime/derived.cpp
    M flang/runtime/edit-input.cpp
    M flang/runtime/exceptions.cpp
    M flang/runtime/file.cpp
    M flang/runtime/io-api.cpp
    M flang/runtime/io-error.cpp
    M flang/runtime/io-error.h
    M flang/runtime/stop.cpp
    M flang/runtime/tools.h
    A flang/test/Analysis/AliasAnalysis/alias-analysis-omp-private-allocatable.mlir
    M flang/test/Analysis/AliasAnalysis/ptr-component.fir
    A flang/test/Driver/fsave-main-program.f90
    A flang/test/Driver/funroll-loops.f90
    M flang/test/Driver/intrinsic-module-path.f90
    M flang/test/Driver/mlir-pass-pipeline.f90
    M flang/test/Driver/parse-error.ll
    A flang/test/Driver/time-report.f90
    M flang/test/Driver/use-module.f90
    M flang/test/Fir/CUDA/cuda-alloc-free.fir
    M flang/test/Fir/CUDA/cuda-allocate.fir
    M flang/test/Fir/CUDA/cuda-code-gen.mlir
    M flang/test/Fir/CUDA/cuda-constructor-2.f90
    M flang/test/Fir/CUDA/cuda-data-transfer.fir
    M flang/test/Fir/CUDA/cuda-global-addr.mlir
    M flang/test/Fir/CUDA/cuda-launch.fir
    A flang/test/Fir/CUDA/cuda-sync-desc.mlir
    A flang/test/Fir/OpenACC/openacc-mappable.fir
    M flang/test/Fir/abstract-result-2.fir
    M flang/test/Fir/array-value-copy-3.fir
    M flang/test/Fir/array-value-copy-4.fir
    M flang/test/Fir/basic-program.fir
    M flang/test/Fir/boxproc-openmp.fir
    M flang/test/Fir/convert-fold.fir
    M flang/test/Fir/polymorphic.fir
    M flang/test/Fir/rebox_assumed_rank_codegen.fir
    M flang/test/Fir/tbaa-codegen2.fir
    M flang/test/HLFIR/all-lowering.fir
    M flang/test/HLFIR/any-elemental.fir
    M flang/test/HLFIR/any-lowering.fir
    M flang/test/HLFIR/assign-codegen.fir
    M flang/test/HLFIR/associate-codegen.fir
    M flang/test/HLFIR/assumed_shape_with_value_keyword.f90
    M flang/test/HLFIR/boxchar_emboxing.f90
    M flang/test/HLFIR/bufferize-destroy-for-derived.fir
    M flang/test/HLFIR/bufferize-end-associate-for-derived.fir
    M flang/test/HLFIR/bufferize-poly-expr.fir
    M flang/test/HLFIR/bufferize01.fir
    M flang/test/HLFIR/copy-in-out-codegen.fir
    M flang/test/HLFIR/count-lowering-default-int-kinds.fir
    M flang/test/HLFIR/count-lowering.fir
    M flang/test/HLFIR/cshift-lowering.fir
    M flang/test/HLFIR/elemental-codegen.fir
    A flang/test/HLFIR/inline-hlfir-assign.fir
    M flang/test/HLFIR/matmul-lowering.fir
    M flang/test/HLFIR/maxloc-elemental.fir
    M flang/test/HLFIR/maxloc-lowering.fir
    M flang/test/HLFIR/maxval-lowering.fir
    M flang/test/HLFIR/minloc-elemental.fir
    M flang/test/HLFIR/minloc-lowering.fir
    M flang/test/HLFIR/minval-lowering.fir
    M flang/test/HLFIR/mul_transpose.f90
    M flang/test/HLFIR/opt-bufferization-eval_in_mem.fir
    A flang/test/HLFIR/opt-bufferization-same-ptr-elemental.fir
    M flang/test/HLFIR/opt-bufferization.fir
    R flang/test/HLFIR/opt-variable-assign.fir
    M flang/test/HLFIR/optional_dummy.f90
    M flang/test/HLFIR/order_assignments/lhs-conflicts-codegen.fir
    M flang/test/HLFIR/order_assignments/runtime-stack-temp.fir
    M flang/test/HLFIR/order_assignments/user-defined-assignment-finalization.fir
    M flang/test/HLFIR/product-lowering.fir
    A flang/test/HLFIR/simplify-hlfir-intrinsics-matmul.fir
    M flang/test/HLFIR/simplify-hlfir-intrinsics-sum.fir
    M flang/test/HLFIR/sum-lowering.fir
    M flang/test/HLFIR/transpose-lowering.fir
    A flang/test/HLFIR/unroll-loops.fir
    M flang/test/Integration/OpenMP/parallel-private-reduction-worstcase.f90
    M flang/test/Integration/OpenMP/private-global.f90
    M flang/test/Integration/OpenMP/target-filtering.f90
    A flang/test/Integration/debug-116525.f90
    M flang/test/Integration/debug-local-var-2.f90
    A flang/test/Integration/unroll-loops.f90
    M flang/test/Lower/CUDA/cuda-allocatable.cuf
    A flang/test/Lower/CUDA/cuda-cdevloc.cuf
    M flang/test/Lower/CUDA/cuda-devptr.cuf
    A flang/test/Lower/CUDA/cuda-intrinsic.cuf
    A flang/test/Lower/CUDA/cuda-pointer-sync.cuf
    M flang/test/Lower/HLFIR/array-ctor-as-runtime-temp.f90
    M flang/test/Lower/HLFIR/array-ctor-character.f90
    M flang/test/Lower/HLFIR/array-ctor-derived.f90
    M flang/test/Lower/HLFIR/assumed-rank-inquiries-3.f90
    M flang/test/Lower/HLFIR/assumed-rank-inquiries.f90
    M flang/test/Lower/HLFIR/bindc-value-derived.f90
    M flang/test/Lower/HLFIR/cray-pointers.f90
    M flang/test/Lower/HLFIR/function-return-as-expr.f90
    M flang/test/Lower/HLFIR/ignore-rank-unlimited-polymorphic.f90
    M flang/test/Lower/HLFIR/intentout-allocatable-components.f90
    M flang/test/Lower/HLFIR/internal-procedures-polymorphic.f90
    M flang/test/Lower/HLFIR/intrinsic-subroutines.f90
    M flang/test/Lower/HLFIR/local-end-of-scope-component-dealloc.f90
    M flang/test/Lower/HLFIR/structure-constructor.f90
    M flang/test/Lower/Intrinsics/abort.f90
    M flang/test/Lower/Intrinsics/adjustl.f90
    M flang/test/Lower/Intrinsics/adjustr.f90
    M flang/test/Lower/Intrinsics/all.f90
    M flang/test/Lower/Intrinsics/any.f90
    M flang/test/Lower/Intrinsics/bessel_jn.f90
    M flang/test/Lower/Intrinsics/bessel_yn.f90
    M flang/test/Lower/Intrinsics/count.f90
    M flang/test/Lower/Intrinsics/date_and_time.f90
    M flang/test/Lower/Intrinsics/dot_product.f90
    M flang/test/Lower/Intrinsics/eoshift.f90
    M flang/test/Lower/Intrinsics/etime-function.f90
    M flang/test/Lower/Intrinsics/etime.f90
    M flang/test/Lower/Intrinsics/execute_command_line-optional.f90
    M flang/test/Lower/Intrinsics/execute_command_line.f90
    M flang/test/Lower/Intrinsics/exit-2.f90
    M flang/test/Lower/Intrinsics/exit.f90
    M flang/test/Lower/Intrinsics/findloc.f90
    M flang/test/Lower/Intrinsics/free.f90
    M flang/test/Lower/Intrinsics/iall.f90
    M flang/test/Lower/Intrinsics/iand.f90
    M flang/test/Lower/Intrinsics/iany.f90
    R flang/test/Lower/Intrinsics/ieee_femodes.f90
    R flang/test/Lower/Intrinsics/ieee_festatus.f90
    M flang/test/Lower/Intrinsics/index.f90
    M flang/test/Lower/Intrinsics/iparity.f90
    M flang/test/Lower/Intrinsics/matmul.f90
    M flang/test/Lower/Intrinsics/maxloc.f90
    M flang/test/Lower/Intrinsics/maxval.f90
    M flang/test/Lower/Intrinsics/minloc.f90
    M flang/test/Lower/Intrinsics/minval.f90
    M flang/test/Lower/Intrinsics/norm2.f90
    M flang/test/Lower/Intrinsics/pack.f90
    M flang/test/Lower/Intrinsics/parity.f90
    M flang/test/Lower/Intrinsics/product.f90
    M flang/test/Lower/Intrinsics/random.f90
    M flang/test/Lower/Intrinsics/random_number_real16.f90
    M flang/test/Lower/Intrinsics/rename.f90
    M flang/test/Lower/Intrinsics/repeat.f90
    M flang/test/Lower/Intrinsics/reshape.f90
    M flang/test/Lower/Intrinsics/scan.f90
    M flang/test/Lower/Intrinsics/sleep.f90
    M flang/test/Lower/Intrinsics/spread.f90
    M flang/test/Lower/Intrinsics/storage_size.f90
    M flang/test/Lower/Intrinsics/sum.f90
    M flang/test/Lower/Intrinsics/system-optional.f90
    M flang/test/Lower/Intrinsics/system.f90
    M flang/test/Lower/Intrinsics/transfer.f90
    M flang/test/Lower/Intrinsics/transpose.f90
    M flang/test/Lower/Intrinsics/trim.f90
    M flang/test/Lower/Intrinsics/ubound01.f90
    M flang/test/Lower/Intrinsics/verify.f90
    M flang/test/Lower/OpenACC/acc-data-operands.f90
    M flang/test/Lower/OpenACC/acc-data.f90
    M flang/test/Lower/OpenACC/acc-declare-globals.f90
    M flang/test/Lower/OpenACC/acc-declare.f90
    M flang/test/Lower/OpenACC/acc-kernels-loop.f90
    M flang/test/Lower/OpenACC/acc-kernels.f90
    M flang/test/Lower/OpenACC/acc-parallel-loop.f90
    M flang/test/Lower/OpenACC/acc-parallel.f90
    M flang/test/Lower/OpenACC/acc-serial-loop.f90
    M flang/test/Lower/OpenACC/acc-serial.f90
    M flang/test/Lower/OpenACC/stop-stmt-in-region.f90
    M flang/test/Lower/OpenMP/DelayedPrivatization/wsloop.f90
    M flang/test/Lower/OpenMP/Todo/error.f90
    A flang/test/Lower/OpenMP/Todo/omp-declarative-allocate-align.f90
    M flang/test/Lower/OpenMP/Todo/omp-default-clause-inner-loop.f90
    R flang/test/Lower/OpenMP/Todo/reduction-teams.f90
    M flang/test/Lower/OpenMP/allocatable-array-bounds.f90
    M flang/test/Lower/OpenMP/array-bounds.f90
    M flang/test/Lower/OpenMP/associate.f90
    M flang/test/Lower/OpenMP/copyin.f90
    M flang/test/Lower/OpenMP/critical.f90
    M flang/test/Lower/OpenMP/default-clause-byref.f90
    M flang/test/Lower/OpenMP/default-clause.f90
    M flang/test/Lower/OpenMP/delayed-privatization-default-init.f90
    M flang/test/Lower/OpenMP/derived-type-allocatable-map.f90
    M flang/test/Lower/OpenMP/derived-type-allocatable.f90
    A flang/test/Lower/OpenMP/firstprivate-alloc-comp.f90
    M flang/test/Lower/OpenMP/function-filtering-2.f90
    M flang/test/Lower/OpenMP/function-filtering-3.f90
    M flang/test/Lower/OpenMP/function-filtering.f90
    M flang/test/Lower/OpenMP/hlfir-wsloop.f90
    A flang/test/Lower/OpenMP/host-eval.f90
    M flang/test/Lower/OpenMP/lastprivate-allocatable.f90
    M flang/test/Lower/OpenMP/lastprivate-commonblock.f90
    M flang/test/Lower/OpenMP/lastprivate-iv.f90
    A flang/test/Lower/OpenMP/local-intrinsic-sized-array-map.f90
    M flang/test/Lower/OpenMP/location.f90
    M flang/test/Lower/OpenMP/order-clause.f90
    M flang/test/Lower/OpenMP/parallel-lastprivate-clause-scalar.f90
    M flang/test/Lower/OpenMP/parallel-private-clause-fixes.f90
    M flang/test/Lower/OpenMP/parallel-private-clause.f90
    M flang/test/Lower/OpenMP/parallel-reduction-allocatable-array.f90
    M flang/test/Lower/OpenMP/parallel-reduction-mixed.f90
    M flang/test/Lower/OpenMP/parallel-reduction-pointer-array.f90
    M flang/test/Lower/OpenMP/parallel-reduction3.f90
    M flang/test/Lower/OpenMP/parallel-wsloop-firstpriv.f90
    M flang/test/Lower/OpenMP/parallel-wsloop-lastpriv.f90
    M flang/test/Lower/OpenMP/parallel-wsloop-reduction-byref.f90
    M flang/test/Lower/OpenMP/parallel-wsloop-reduction.f90
    M flang/test/Lower/OpenMP/parallel-wsloop.f90
    M flang/test/Lower/OpenMP/private-derived-type.f90
    A flang/test/Lower/OpenMP/reduction-teams.f90
    A flang/test/Lower/OpenMP/same_var_first_lastprivate.f90
    M flang/test/Lower/OpenMP/simd.f90
    M flang/test/Lower/OpenMP/stop-stmt-in-region.f90
    A flang/test/Lower/OpenMP/target-spmd.f90
    M flang/test/Lower/OpenMP/target.f90
    M flang/test/Lower/OpenMP/unstructured.f90
    M flang/test/Lower/OpenMP/wsloop-chunks.f90
    M flang/test/Lower/OpenMP/wsloop-collapse.f90
    M flang/test/Lower/OpenMP/wsloop-monotonic.f90
    M flang/test/Lower/OpenMP/wsloop-nonmonotonic.f90
    M flang/test/Lower/OpenMP/wsloop-ordered.f90
    M flang/test/Lower/OpenMP/wsloop-reduction-add-byref.f90
    M flang/test/Lower/OpenMP/wsloop-reduction-add.f90
    M flang/test/Lower/OpenMP/wsloop-reduction-allocatable-array-minmax.f90
    M flang/test/Lower/OpenMP/wsloop-reduction-allocatable.f90
    M flang/test/Lower/OpenMP/wsloop-reduction-array-assumed-shape.f90
    M flang/test/Lower/OpenMP/wsloop-reduction-array.f90
    M flang/test/Lower/OpenMP/wsloop-reduction-array2.f90
    M flang/test/Lower/OpenMP/wsloop-reduction-iand-byref.f90
    M flang/test/Lower/OpenMP/wsloop-reduction-iand.f90
    M flang/test/Lower/OpenMP/wsloop-reduction-ieor-byref.f90
    M flang/test/Lower/OpenMP/wsloop-reduction-ieor.f90
    M flang/test/Lower/OpenMP/wsloop-reduction-ior-byref.f90
    M flang/test/Lower/OpenMP/wsloop-reduction-ior.f90
    M flang/test/Lower/OpenMP/wsloop-reduction-logical-and-byref.f90
    M flang/test/Lower/OpenMP/wsloop-reduction-logical-and.f90
    M flang/test/Lower/OpenMP/wsloop-reduction-logical-eqv-byref.f90
    M flang/test/Lower/OpenMP/wsloop-reduction-logical-eqv.f90
    M flang/test/Lower/OpenMP/wsloop-reduction-logical-neqv-byref.f90
    M flang/test/Lower/OpenMP/wsloop-reduction-logical-neqv.f90
    M flang/test/Lower/OpenMP/wsloop-reduction-logical-or-byref.f90
    M flang/test/Lower/OpenMP/wsloop-reduction-logical-or.f90
    M flang/test/Lower/OpenMP/wsloop-reduction-max-2-byref.f90
    M flang/test/Lower/OpenMP/wsloop-reduction-max-2.f90
    M flang/test/Lower/OpenMP/wsloop-reduction-max-byref.f90
    M flang/test/Lower/OpenMP/wsloop-reduction-max.f90
    M flang/test/Lower/OpenMP/wsloop-reduction-min-byref.f90
    M flang/test/Lower/OpenMP/wsloop-reduction-min.f90
    M flang/test/Lower/OpenMP/wsloop-reduction-min2.f90
    M flang/test/Lower/OpenMP/wsloop-reduction-mul-byref.f90
    M flang/test/Lower/OpenMP/wsloop-reduction-mul.f90
    M flang/test/Lower/OpenMP/wsloop-reduction-multi.f90
    M flang/test/Lower/OpenMP/wsloop-reduction-multiple-clauses.f90
    M flang/test/Lower/OpenMP/wsloop-reduction-pointer.f90
    M flang/test/Lower/OpenMP/wsloop-schedule.f90
    M flang/test/Lower/OpenMP/wsloop-unstructured.f90
    M flang/test/Lower/OpenMP/wsloop-variable.f90
    M flang/test/Lower/OpenMP/wsloop.f90
    M flang/test/Lower/allocatable-assignment.f90
    M flang/test/Lower/allocatable-polymorphic.f90
    M flang/test/Lower/allocatable-runtime.f90
    M flang/test/Lower/allocate-mold.f90
    M flang/test/Lower/allocate-source-allocatables-2.f90
    M flang/test/Lower/allocate-source-allocatables.f90
    M flang/test/Lower/allocate-source-pointers.f90
    M flang/test/Lower/array-derived-assignments.f90
    M flang/test/Lower/array-substring.f90
    M flang/test/Lower/basic-function.f90
    M flang/test/Lower/call-by-value-attr.f90
    M flang/test/Lower/call-copy-in-out.f90
    M flang/test/Lower/default-initialization.f90
    M flang/test/Lower/derived-assignments.f90
    M flang/test/Lower/derived-type-finalization.f90
    M flang/test/Lower/derived-type-temp.f90
    A flang/test/Lower/derived-types-bindc.f90
    M flang/test/Lower/do_concurrent_local_default_init.f90
    M flang/test/Lower/fail_image.f90
    M flang/test/Lower/forall/forall-allocatable-2.f90
    M flang/test/Lower/forall/forall-where.f90
    A flang/test/Lower/fsave-main-program.f90
    M flang/test/Lower/goto-statement.f90
    M flang/test/Lower/intentout-deallocate.f90
    M flang/test/Lower/io-statement-big-unit-checks.f90
    M flang/test/Lower/math-lowering/cosh.f90
    M flang/test/Lower/nested-where.f90
    M flang/test/Lower/nullify-polymorphic.f90
    M flang/test/Lower/optional-value-caller.f90
    M flang/test/Lower/parent-component.f90
    M flang/test/Lower/pointer-association-polymorphic.f90
    M flang/test/Lower/pointer-disassociate.f90
    M flang/test/Lower/polymorphic-temp.f90
    M flang/test/Lower/polymorphic.f90
    M flang/test/Lower/select-type-2.fir
    M flang/test/Lower/stop-statement.f90
    M flang/test/Lower/structure-constructors-alloc-comp.f90
    M flang/test/Lower/structure-constructors.f90
    M flang/test/Lower/transformational-intrinsics.f90
    M flang/test/Lower/trigonometric-intrinsics.f90
    M flang/test/Lower/vector-subscript-io.f90
    A flang/test/Parser/OpenMP/allocate-align-tree.f90
    M flang/test/Parser/OpenMP/allocate-unparse.f90
    A flang/test/Parser/OpenMP/compiler-directive-continuation.f90
    M flang/test/Parser/OpenMP/error-unparse.f90
    A flang/test/Parser/OpenMP/nothing.f90
    M flang/test/Parser/at-process.f
    A flang/test/Parser/unparseable.f90
    A flang/test/Preprocessing/bug129131.F
    A flang/test/Semantics/OpenMP/allocate-align01.f90
    A flang/test/Semantics/OpenMP/error.f90
    A flang/test/Semantics/assign16.f90
    A flang/test/Semantics/bug121718.f90
    A flang/test/Semantics/bug121971.f90
    A flang/test/Semantics/bug121972.f90
    A flang/test/Semantics/bug121973.f90
    A flang/test/Semantics/bug122002a.f90
    A flang/test/Semantics/bug122002b.f90
    A flang/test/Semantics/bug122045.f90
    A flang/test/Semantics/bug122060.f90
    M flang/test/Semantics/call04.f90
    M flang/test/Semantics/cuf07.cuf
    M flang/test/Semantics/cuf09.cuf
    M flang/test/Semantics/cuf10.cuf
    M flang/test/Semantics/definable01.f90
    A flang/test/Semantics/generic12.f90
    M flang/test/Semantics/get_team.f90
    M flang/test/Semantics/io07.f90
    M flang/test/Semantics/io08.f90
    M flang/test/Semantics/lcobound.f90
    M flang/test/Semantics/modfile43.f90
    M flang/test/Semantics/modfile63.f90
    M flang/test/Semantics/modfile70.f90
    A flang/test/Semantics/offsets04.f90
    M flang/test/Semantics/reshape.f90
    M flang/test/Semantics/resolve12.f90
    M flang/test/Semantics/resolve26.f90
    M flang/test/Semantics/resolve94.f90
    A flang/test/Semantics/self-use.f90
    M flang/test/Semantics/this_image01.f90
    M flang/test/Semantics/ucobound.f90
    M flang/test/Transforms/omp-map-info-finalization.fir
    M flang/test/Transforms/omp-reduction-cfg-conversion.fir
    M flang/test/Transforms/simplifyintrinsics.fir
    M flang/test/Transforms/stack-arrays.fir
    M flang/test/lib/Analysis/AliasAnalysis/CMakeLists.txt
    M flang/test/lib/CMakeLists.txt
    A flang/test/lib/OpenACC/CMakeLists.txt
    A flang/test/lib/OpenACC/TestOpenACCInterfaces.cpp
    M flang/tools/bbc/CMakeLists.txt
    M flang/tools/f18/CMakeLists.txt
    M flang/tools/fir-lsp-server/CMakeLists.txt
    M flang/tools/fir-opt/CMakeLists.txt
    M flang/tools/fir-opt/fir-opt.cpp
    M flang/tools/tco/CMakeLists.txt
    M flang/unittests/Frontend/CMakeLists.txt
    M flang/unittests/Optimizer/Builder/ComplexTest.cpp
    M flang/unittests/Optimizer/Builder/FIRBuilderTest.cpp
    M flang/unittests/Optimizer/Builder/HLFIRToolsTest.cpp
    M flang/unittests/Optimizer/FIRTypesTest.cpp
    M flang/unittests/Optimizer/FortranVariableTest.cpp
    M flang/unittests/Optimizer/RTBuilder.cpp
    M flang/unittests/Runtime/LogicalFormatTest.cpp
    M flang/unittests/Runtime/Support.cpp
    M libc/CMakeLists.txt
    M libc/cmake/modules/LLVMLibCCompileOptionRules.cmake
    M libc/cmake/modules/LLVMLibCHeaderRules.cmake
    M libc/cmake/modules/LLVMLibCTestRules.cmake
    M libc/config/baremetal/config.json
    A libc/config/gpu/amdgpu/config.json
    A libc/config/gpu/amdgpu/entrypoints.txt
    A libc/config/gpu/amdgpu/headers.txt
    R libc/config/gpu/config.json
    R libc/config/gpu/entrypoints.txt
    R libc/config/gpu/headers.txt
    A libc/config/gpu/nvptx/config.json
    A libc/config/gpu/nvptx/entrypoints.txt
    A libc/config/gpu/nvptx/headers.txt
    M libc/config/linux/aarch64/entrypoints.txt
    M libc/config/linux/x86_64/entrypoints.txt
    M libc/config/windows/entrypoints.txt
    M libc/config/windows/headers.txt
    M libc/docs/CMakeLists.txt
    M libc/docs/build_and_test.rst
    R libc/docs/c23.rst
    M libc/docs/dev/header_generation.rst
    M libc/docs/dev/source_tree_layout.rst
    M libc/docs/full_cross_build.rst
    M libc/docs/full_host_build.rst
    R libc/docs/fullbuild_mode.rst
    A libc/docs/getting_started.rst
    R libc/docs/headers/arpa/inet.rst
    R libc/docs/headers/assert.rst
    R libc/docs/headers/ctype.rst
    R libc/docs/headers/errno.rst
    R libc/docs/headers/fenv.rst
    R libc/docs/headers/float.rst
    M libc/docs/headers/index.rst
    R libc/docs/headers/inttypes.rst
    R libc/docs/headers/locale.rst
    M libc/docs/headers/math/index.rst
    R libc/docs/headers/setjmp.rst
    R libc/docs/headers/signal.rst
    R libc/docs/headers/stdbit.rst
    R libc/docs/headers/stdio.rst
    R libc/docs/headers/stdlib.rst
    R libc/docs/headers/string.rst
    R libc/docs/headers/strings.rst
    R libc/docs/headers/sys/mman.rst
    R libc/docs/headers/threads.rst
    R libc/docs/headers/uchar.rst
    R libc/docs/headers/wchar.rst
    R libc/docs/headers/wctype.rst
    M libc/docs/index.rst
    M libc/docs/porting.rst
    R libc/docs/usage_modes.rst
    M libc/fuzzing/stdlib/CMakeLists.txt
    M libc/fuzzing/stdlib/heap_sort_fuzz.cpp
    R libc/fuzzing/stdlib/qsort_fuzz.cpp
    A libc/fuzzing/stdlib/quick_sort_fuzz.cpp
    M libc/hdr/types/CMakeLists.txt
    A libc/hdr/types/struct_iovec.h
    A libc/hdr/types/struct_tm.h
    R libc/hdrgen/CMakeLists.txt
    R libc/hdrgen/class_implementation/classes/enumeration.py
    R libc/hdrgen/class_implementation/classes/function.py
    R libc/hdrgen/class_implementation/classes/macro.py
    R libc/hdrgen/class_implementation/classes/object.py
    R libc/hdrgen/class_implementation/classes/type.py
    R libc/hdrgen/gpu_headers.py
    R libc/hdrgen/header.py
    R libc/hdrgen/tests/expected_output/test_header.h
    R libc/hdrgen/tests/input/test_small.h.def
    R libc/hdrgen/tests/input/test_small.yaml
    R libc/hdrgen/tests/test_integration.py
    R libc/hdrgen/yaml/arpa/inet.yaml
    R libc/hdrgen/yaml/assert.yaml
    R libc/hdrgen/yaml/complex.yaml
    R libc/hdrgen/yaml/ctype.yaml
    R libc/hdrgen/yaml/dirent.yaml
    R libc/hdrgen/yaml/dlfcn.yaml
    R libc/hdrgen/yaml/elf.yaml
    R libc/hdrgen/yaml/errno.yaml
    R libc/hdrgen/yaml/fcntl.yaml
    R libc/hdrgen/yaml/features.yaml
    R libc/hdrgen/yaml/fenv.yaml
    R libc/hdrgen/yaml/float.yaml
    R libc/hdrgen/yaml/inttypes.yaml
    R libc/hdrgen/yaml/limits.yaml
    R libc/hdrgen/yaml/link.yaml
    R libc/hdrgen/yaml/locale.yaml
    R libc/hdrgen/yaml/malloc.yaml
    R libc/hdrgen/yaml/math.yaml
    R libc/hdrgen/yaml/pthread.yaml
    R libc/hdrgen/yaml/sched.yaml
    R libc/hdrgen/yaml/search.yaml
    R libc/hdrgen/yaml/setjmp.yaml
    R libc/hdrgen/yaml/signal.yaml
    R libc/hdrgen/yaml/spawn.yaml
    R libc/hdrgen/yaml/stdbit.yaml
    R libc/hdrgen/yaml/stdckdint.yaml
    R libc/hdrgen/yaml/stdfix.yaml
    R libc/hdrgen/yaml/stdint.yaml
    R libc/hdrgen/yaml/stdio.yaml
    R libc/hdrgen/yaml/stdlib.yaml
    R libc/hdrgen/yaml/string.yaml
    R libc/hdrgen/yaml/strings.yaml
    R libc/hdrgen/yaml/sys/auxv.yaml
    R libc/hdrgen/yaml/sys/epoll.yaml
    R libc/hdrgen/yaml/sys/ioctl.yaml
    R libc/hdrgen/yaml/sys/mman.yaml
    R libc/hdrgen/yaml/sys/prctl.yaml
    R libc/hdrgen/yaml/sys/random.yaml
    R libc/hdrgen/yaml/sys/resource.yaml
    R libc/hdrgen/yaml/sys/select.yaml
    R libc/hdrgen/yaml/sys/sendfile.yaml
    R libc/hdrgen/yaml/sys/socket.yaml
    R libc/hdrgen/yaml/sys/stat.yaml
    R libc/hdrgen/yaml/sys/statvfs.yaml
    R libc/hdrgen/yaml/sys/syscall.yaml
    R libc/hdrgen/yaml/sys/time.yaml
    R libc/hdrgen/yaml/sys/types.yaml
    R libc/hdrgen/yaml/sys/utsname.yaml
    R libc/hdrgen/yaml/sys/wait.yaml
    R libc/hdrgen/yaml/termios.yaml
    R libc/hdrgen/yaml/threads.yaml
    R libc/hdrgen/yaml/time.yaml
    R libc/hdrgen/yaml/uchar.yaml
    R libc/hdrgen/yaml/unistd.yaml
    R libc/hdrgen/yaml/wchar.yaml
    R libc/hdrgen/yaml_functions_sorted.py
    R libc/hdrgen/yaml_to_classes.py
    M libc/include/CMakeLists.txt
    M libc/include/__llvm-libc-common.h
    A libc/include/arpa/inet.yaml
    A libc/include/assert.yaml
    A libc/include/complex.yaml
    A libc/include/ctype.yaml
    A libc/include/dirent.yaml
    A libc/include/dlfcn.yaml
    A libc/include/elf.yaml
    A libc/include/errno.yaml
    A libc/include/fcntl.yaml
    A libc/include/features.yaml
    A libc/include/fenv.yaml
    A libc/include/float.yaml
    A libc/include/inttypes.yaml
    A libc/include/limits.yaml
    A libc/include/link.yaml
    M libc/include/llvm-libc-types/cfloat128.h
    M libc/include/llvm-libc-types/sigset_t.h
    M libc/include/llvm-libc-types/struct_sigaction.h
    A libc/include/locale.yaml
    A libc/include/malloc.yaml
    A libc/include/math.yaml
    A libc/include/pthread.yaml
    A libc/include/sched.yaml
    A libc/include/search.yaml
    A libc/include/setjmp.yaml
    A libc/include/signal.yaml
    A libc/include/spawn.yaml
    A libc/include/stdbit.yaml
    A libc/include/stdckdint.yaml
    A libc/include/stdfix.yaml
    A libc/include/stdint.yaml
    A libc/include/stdio.yaml
    A libc/include/stdlib.yaml
    A libc/include/string.yaml
    A libc/include/strings.yaml
    A libc/include/sys/auxv.yaml
    A libc/include/sys/epoll.yaml
    A libc/include/sys/ioctl.yaml
    A libc/include/sys/mman.yaml
    A libc/include/sys/prctl.yaml
    A libc/include/sys/random.yaml
    A libc/include/sys/resource.yaml
    A libc/include/sys/select.yaml
    A libc/include/sys/sendfile.yaml
    A libc/include/sys/socket.yaml
    A libc/include/sys/stat.yaml
    A libc/include/sys/statvfs.yaml
    A libc/include/sys/syscall.yaml
    A libc/include/sys/time.yaml
    A libc/include/sys/types.yaml
    A libc/include/sys/uio.h.def
    A libc/include/sys/uio.yaml
    A libc/include/sys/utsname.yaml
    A libc/include/sys/wait.yaml
    A libc/include/termios.yaml
    A libc/include/threads.yaml
    A libc/include/time.yaml
    A libc/include/uchar.yaml
    A libc/include/unistd.yaml
    A libc/include/wchar.yaml
    M libc/shared/rpc_util.h
    M libc/src/CMakeLists.txt
    M libc/src/__support/CMakeLists.txt
    M libc/src/__support/File/file.cpp
    M libc/src/__support/File/file.h
    M libc/src/__support/GPU/CMakeLists.txt
    R libc/src/__support/GPU/amdgpu/CMakeLists.txt
    R libc/src/__support/GPU/amdgpu/utils.h
    R libc/src/__support/GPU/generic/CMakeLists.txt
    R libc/src/__support/GPU/generic/utils.h
    R libc/src/__support/GPU/nvptx/CMakeLists.txt
    R libc/src/__support/GPU/nvptx/utils.h
    M libc/src/__support/GPU/utils.h
    M libc/src/__support/block.h
    M libc/src/__support/fixedvector.h
    M libc/src/__support/freelist_heap.h
    M libc/src/__support/freestore.h
    M libc/src/__support/threads/thread.cpp
    M libc/src/compiler/generic/__stack_chk_fail.cpp
    R libc/src/gpu/CMakeLists.txt
    R libc/src/gpu/rpc_host_call.cpp
    R libc/src/gpu/rpc_host_call.h
    M libc/src/math/CMakeLists.txt
    M libc/src/math/docs/add_math_function.md
    M libc/src/math/generic/CMakeLists.txt
    M libc/src/math/generic/exp10f_impl.h
    M libc/src/math/generic/range_reduction_double_common.h
    M libc/src/math/generic/sincosf16_utils.h
    A libc/src/math/generic/tanf16.cpp
    M libc/src/math/generic/tanpif16.cpp
    A libc/src/math/tanf16.h
    M libc/src/pthread/pthread_condattr_init.cpp
    M libc/src/pthread/pthread_condattr_setclock.cpp
    M libc/src/stdlib/exit_handler.h
    M libc/src/stdlib/heap_sort.h
    M libc/src/stdlib/qsort.cpp
    M libc/src/stdlib/qsort_data.h
    A libc/src/stdlib/qsort_pivot.h
    M libc/src/stdlib/qsort_r.cpp
    M libc/src/stdlib/qsort_util.h
    M libc/src/stdlib/quick_sort.h
    M libc/src/sys/CMakeLists.txt
    A libc/src/sys/uio/CMakeLists.txt
    A libc/src/sys/uio/linux/CMakeLists.txt
    A libc/src/sys/uio/linux/writev.cpp
    A libc/src/sys/uio/writev.h
    M libc/src/time/CMakeLists.txt
    M libc/src/time/asctime.cpp
    M libc/src/time/asctime.h
    M libc/src/time/asctime_r.cpp
    M libc/src/time/asctime_r.h
    M libc/src/time/ctime.cpp
    M libc/src/time/ctime_r.cpp
    M libc/src/time/difftime.h
    M libc/src/time/gmtime.h
    M libc/src/time/gmtime_r.h
    M libc/src/time/gpu/clock.cpp
    M libc/src/time/gpu/nanosleep.cpp
    M libc/src/time/mktime.cpp
    M libc/src/time/mktime.h
    M libc/src/time/time.cpp
    A libc/src/time/time_constants.h
    M libc/src/time/time_utils.cpp
    M libc/src/time/time_utils.h
    M libc/src/unistd/CMakeLists.txt
    A libc/src/unistd/getentropy.h
    M libc/src/unistd/linux/CMakeLists.txt
    M libc/src/unistd/linux/dup2.cpp
    A libc/src/unistd/linux/getentropy.cpp
    A libc/src/unistd/windows/CMakeLists.txt
    A libc/src/unistd/windows/getentropy.cpp
    M libc/test/UnitTest/ExecuteFunctionUnix.cpp
    M libc/test/UnitTest/FPExceptMatcher.cpp
    M libc/test/UnitTest/FPMatcher.h
    M libc/test/UnitTest/LibcDeathTestExecutors.cpp
    M libc/test/include/CMakeLists.txt
    M libc/test/include/assert_test.cpp
    M libc/test/include/complex_test.cpp
    M libc/test/include/fpclassify_test.c
    M libc/test/include/fpclassify_test.cpp
    M libc/test/include/fpclassifyf_test.cpp
    M libc/test/include/fpclassifyl_test.cpp
    A libc/test/include/header-test-template.c
    M libc/test/include/iscanonical_test.c
    M libc/test/include/isfinite_test.c
    M libc/test/include/isfinite_test.cpp
    M libc/test/include/isfinitef_test.cpp
    M libc/test/include/isfinitel_test.cpp
    M libc/test/include/isinf_test.c
    M libc/test/include/isinf_test.cpp
    M libc/test/include/isinff_test.cpp
    M libc/test/include/isinfl_test.cpp
    M libc/test/include/isnan_test.c
    M libc/test/include/isnan_test.cpp
    M libc/test/include/isnanf_test.cpp
    M libc/test/include/isnanl_test.cpp
    M libc/test/include/isnormal_test.c
    M libc/test/include/isnormal_test.cpp
    M libc/test/include/isnormalf_test.cpp
    M libc/test/include/isnormall_test.cpp
    M libc/test/include/issignaling_test.c
    M libc/test/include/issubnormal_test.c
    M libc/test/include/issubnormal_test.cpp
    M libc/test/include/issubnormalf_test.cpp
    M libc/test/include/issubnormall_test.cpp
    M libc/test/include/iszero_test.c
    M libc/test/include/iszero_test.cpp
    M libc/test/include/iszerof_test.cpp
    M libc/test/include/iszerol_test.cpp
    M libc/test/include/signbit_test.c
    M libc/test/include/signbit_test.cpp
    M libc/test/include/signbitf_test.cpp
    M libc/test/include/signbitl_test.cpp
    M libc/test/include/stdbit_stub.h
    M libc/test/include/stdbit_test.c
    M libc/test/include/stdbit_test.cpp
    M libc/test/include/stdckdint_test.cpp
    M libc/test/include/sys/queue_test.cpp
    M libc/test/src/CMakeLists.txt
    M libc/test/src/__support/block_test.cpp
    M libc/test/src/__support/freelist_heap_test.cpp
    M libc/test/src/__support/freestore_test.cpp
    M libc/test/src/math/CMakeLists.txt
    M libc/test/src/math/cosf16_test.cpp
    M libc/test/src/math/smoke/CMakeLists.txt
    A libc/test/src/math/smoke/tanf16_test.cpp
    A libc/test/src/math/tanf16_test.cpp
    M libc/test/src/stdlib/CMakeLists.txt
    M libc/test/src/stdlib/SortingTest.h
    M libc/test/src/stdlib/heap_sort_test.cpp
    M libc/test/src/stdlib/qsort_r_test.cpp
    R libc/test/src/stdlib/qsort_test.cpp
    M libc/test/src/stdlib/quick_sort_test.cpp
    M libc/test/src/sys/CMakeLists.txt
    A libc/test/src/sys/uio/CMakeLists.txt
    A libc/test/src/sys/uio/writev_test.cpp
    M libc/test/src/time/CMakeLists.txt
    M libc/test/src/time/TmHelper.h
    M libc/test/src/time/TmMatcher.h
    M libc/test/src/time/asctime_r_test.cpp
    M libc/test/src/time/clock_gettime_test.cpp
    M libc/test/src/time/clock_test.cpp
    M libc/test/src/time/ctime_r_test.cpp
    M libc/test/src/time/difftime_test.cpp
    M libc/test/src/time/gettimeofday_test.cpp
    M libc/test/src/time/gmtime_r_test.cpp
    M libc/test/src/time/gmtime_test.cpp
    M libc/test/src/time/mktime_test.cpp
    M libc/test/src/time/nanosleep_test.cpp
    M libc/test/src/unistd/CMakeLists.txt
    A libc/test/src/unistd/getentropy_test.cpp
    M libc/test/src/unistd/getopt_test.cpp
    M libc/utils/CMakeLists.txt
    A libc/utils/docgen/aio.yaml
    M libc/utils/docgen/arpa/inet.yaml
    A libc/utils/docgen/net/if.yaml
    A libc/utils/docgen/netinet/in.yaml
    A libc/utils/docgen/pthread.yaml
    A libc/utils/docgen/strings.yaml
    M libc/utils/docgen/sys/mman.yaml
    A libc/utils/docgen/sys/resource.yaml
    A libc/utils/docgen/sys/wait.yaml
    A libc/utils/hdrgen/CMakeLists.txt
    A libc/utils/hdrgen/README.rst
    A libc/utils/hdrgen/enumeration.py
    A libc/utils/hdrgen/function.py
    A libc/utils/hdrgen/gpu_headers.py
    A libc/utils/hdrgen/header.py
    A libc/utils/hdrgen/macro.py
    A libc/utils/hdrgen/main.py
    A libc/utils/hdrgen/object.py
    A libc/utils/hdrgen/tests/expected_output/test_header.h
    A libc/utils/hdrgen/tests/input/test_small.h.def
    A libc/utils/hdrgen/tests/input/test_small.yaml
    A libc/utils/hdrgen/tests/test_integration.py
    A libc/utils/hdrgen/type.py
    A libc/utils/hdrgen/yaml_functions_sorted.py
    A libc/utils/hdrgen/yaml_to_classes.py
    A libclc/Maintainers.md
    M libclc/clc/include/clc/clcmacro.h
    A libclc/clc/include/clc/common/clc_smoothstep.h
    A libclc/clc/include/clc/common/clc_smoothstep.inc
    A libclc/clc/include/clc/geometric/floatn.inc
    M libclc/clc/include/clc/integer/gentype.inc
    M libclc/clc/include/clc/math/gentype.inc
    M libclc/clc/include/clc/math/unary_intrin.inc
    M libclc/clc/include/clc/relational/clc_all.h
    M libclc/clc/include/clc/relational/clc_any.h
    M libclc/clc/include/clc/relational/clc_isequal.h
    M libclc/clc/include/clc/relational/clc_isinf.h
    M libclc/clc/include/clc/relational/clc_isnan.h
    M libclc/clc/include/clc/relational/floatn.inc
    M libclc/clc/include/clc/shared/clc_clamp.h
    M libclc/clc/lib/clspv/SOURCES
    M libclc/clc/lib/generic/SOURCES
    A libclc/clc/lib/generic/common/clc_smoothstep.cl
    M libclc/clc/lib/spirv/SOURCES
    M libclc/clc/lib/spirv64/SOURCES
    R libclc/generic/include/clc/geometric/floatn.inc
    M libclc/generic/lib/common/smoothstep.cl
    M libcxx/.clang-tidy
    M libcxx/docs/FeatureTestMacroTable.rst
    M libcxx/docs/Hardening.rst
    M libcxx/docs/ReleaseNotes/19.rst
    M libcxx/docs/ReleaseNotes/20.rst
    M libcxx/docs/Status/Cxx2cPapers.csv
    M libcxx/docs/TestingLibcxx.rst
    M libcxx/include/CMakeLists.txt
    M libcxx/include/__algorithm/comp_ref_type.h
    M libcxx/include/__algorithm/copy.h
    M libcxx/include/__algorithm/count.h
    M libcxx/include/__algorithm/fill_n.h
    M libcxx/include/__algorithm/find.h
    M libcxx/include/__algorithm/inplace_merge.h
    M libcxx/include/__algorithm/iterator_operations.h
    M libcxx/include/__algorithm/move.h
    A libcxx/include/__algorithm/radix_sort.h
    M libcxx/include/__algorithm/ranges_iterator_concept.h
    M libcxx/include/__algorithm/ranges_unique_copy.h
    M libcxx/include/__algorithm/simd_utils.h
    M libcxx/include/__algorithm/sort.h
    M libcxx/include/__algorithm/stable_sort.h
    M libcxx/include/__algorithm/three_way_comp_ref_type.h
    M libcxx/include/__algorithm/unwrap_iter.h
    M libcxx/include/__atomic/aliases.h
    M libcxx/include/__atomic/atomic.h
    M libcxx/include/__atomic/atomic_ref.h
    M libcxx/include/__atomic/atomic_sync.h
    M libcxx/include/__atomic/contention_t.h
    M libcxx/include/__atomic/memory_order.h
    M libcxx/include/__bit/bit_log2.h
    M libcxx/include/__bit_reference
    M libcxx/include/__chrono/formatter.h
    M libcxx/include/__chrono/hh_mm_ss.h
    M libcxx/include/__chrono/parser_std_format_spec.h
    M libcxx/include/__chrono/weekday.h
    M libcxx/include/__chrono/zoned_time.h
    M libcxx/include/__compare/ordering.h
    M libcxx/include/__compare/synth_three_way.h
    M libcxx/include/__config
    M libcxx/include/__cxx03/__chrono/weekday.h
    M libcxx/include/__cxx03/__config
    M libcxx/include/__cxx03/__functional/function.h
    M libcxx/include/__cxx03/future
    M libcxx/include/__cxx03/regex
    M libcxx/include/__exception/exception_ptr.h
    M libcxx/include/__expected/expected.h
    M libcxx/include/__expected/unexpected.h
    M libcxx/include/__filesystem/directory_entry.h
    M libcxx/include/__filesystem/path.h
    M libcxx/include/__flat_map/flat_map.h
    M libcxx/include/__flat_map/key_value_iterator.h
    M libcxx/include/__format/buffer.h
    M libcxx/include/__format/concepts.h
    M libcxx/include/__format/container_adaptor.h
    M libcxx/include/__format/format_arg.h
    M libcxx/include/__format/format_arg_store.h
    M libcxx/include/__format/format_functions.h
    M libcxx/include/__format/formatter_floating_point.h
    M libcxx/include/__format/formatter_string.h
    M libcxx/include/__format/range_default_formatter.h
    M libcxx/include/__format/unicode.h
    M libcxx/include/__functional/binary_function.h
    M libcxx/include/__functional/bind.h
    M libcxx/include/__functional/boyer_moore_searcher.h
    M libcxx/include/__functional/function.h
    M libcxx/include/__functional/not_fn.h
    M libcxx/include/__functional/perfect_forward.h
    M libcxx/include/__functional/unary_function.h
    M libcxx/include/__fwd/bit_reference.h
    M libcxx/include/__hash_table
    M libcxx/include/__iterator/aliasing_iterator.h
    M libcxx/include/__iterator/concepts.h
    M libcxx/include/__iterator/insert_iterator.h
    M libcxx/include/__iterator/iterator_traits.h
    M libcxx/include/__iterator/projected.h
    M libcxx/include/__iterator/ranges_iterator_traits.h
    M libcxx/include/__iterator/reverse_iterator.h
    M libcxx/include/__iterator/segmented_iterator.h
    M libcxx/include/__locale
    M libcxx/include/__locale_dir/locale_base_api.h
    R libcxx/include/__locale_dir/locale_base_api/bsd_locale_defaults.h
    M libcxx/include/__locale_dir/support/bsd_like.h
    A libcxx/include/__locale_dir/support/fuchsia.h
    A libcxx/include/__locale_dir/support/no_locale/characters.h
    A libcxx/include/__locale_dir/support/no_locale/strtonum.h
    M libcxx/include/__locale_dir/support/windows.h
    M libcxx/include/__mdspan/extents.h
    M libcxx/include/__memory/allocation_guard.h
    M libcxx/include/__memory/allocator.h
    R libcxx/include/__memory/builtin_new_allocator.h
    M libcxx/include/__memory/destruct_n.h
    M libcxx/include/__memory/pointer_traits.h
    M libcxx/include/__memory/shared_ptr.h
    M libcxx/include/__memory/unique_ptr.h
    M libcxx/include/__memory/unique_temporary_buffer.h
    M libcxx/include/__new/allocate.h
    M libcxx/include/__new/global_new_delete.h
    M libcxx/include/__node_handle
    M libcxx/include/__ostream/basic_ostream.h
    M libcxx/include/__pstl/backend_fwd.h
    M libcxx/include/__pstl/dispatch.h
    M libcxx/include/__ranges/chunk_by_view.h
    M libcxx/include/__ranges/drop_view.h
    M libcxx/include/__ranges/drop_while_view.h
    M libcxx/include/__ranges/elements_view.h
    M libcxx/include/__ranges/filter_view.h
    M libcxx/include/__ranges/iota_view.h
    M libcxx/include/__ranges/join_view.h
    M libcxx/include/__ranges/lazy_split_view.h
    M libcxx/include/__ranges/repeat_view.h
    M libcxx/include/__ranges/reverse_view.h
    M libcxx/include/__ranges/split_view.h
    M libcxx/include/__ranges/subrange.h
    M libcxx/include/__ranges/take_view.h
    M libcxx/include/__ranges/take_while_view.h
    M libcxx/include/__ranges/transform_view.h
    M libcxx/include/__split_buffer
    M libcxx/include/__stop_token/stop_state.h
    M libcxx/include/__string/constexpr_c_functions.h
    M libcxx/include/__support/xlocale/__posix_l_fallback.h
    M libcxx/include/__system_error/system_error.h
    M libcxx/include/__thread/support/pthread.h
    M libcxx/include/__tuple/make_tuple_types.h
    M libcxx/include/__tuple/sfinae_helpers.h
    M libcxx/include/__tuple/tuple_size.h
    M libcxx/include/__type_traits/add_lvalue_reference.h
    M libcxx/include/__type_traits/add_pointer.h
    M libcxx/include/__type_traits/add_rvalue_reference.h
    M libcxx/include/__type_traits/aligned_storage.h
    M libcxx/include/__type_traits/common_reference.h
    M libcxx/include/__type_traits/common_type.h
    M libcxx/include/__type_traits/conjunction.h
    M libcxx/include/__type_traits/copy_cv.h
    M libcxx/include/__type_traits/copy_cvref.h
    M libcxx/include/__type_traits/disjunction.h
    M libcxx/include/__type_traits/invoke.h
    M libcxx/include/__type_traits/is_always_bitcastable.h
    M libcxx/include/__type_traits/is_char_like_type.h
    M libcxx/include/__type_traits/is_equality_comparable.h
    M libcxx/include/__type_traits/is_execution_policy.h
    M libcxx/include/__type_traits/is_primary_template.h
    M libcxx/include/__type_traits/is_same.h
    M libcxx/include/__type_traits/is_swappable.h
    M libcxx/include/__type_traits/make_32_64_or_128_bit.h
    M libcxx/include/__type_traits/make_const_lvalue_ref.h
    M libcxx/include/__type_traits/make_signed.h
    M libcxx/include/__type_traits/make_unsigned.h
    M libcxx/include/__type_traits/maybe_const.h
    M libcxx/include/__type_traits/remove_all_extents.h
    M libcxx/include/__type_traits/remove_const.h
    M libcxx/include/__type_traits/remove_const_ref.h
    M libcxx/include/__type_traits/remove_cv.h
    M libcxx/include/__type_traits/remove_cvref.h
    M libcxx/include/__type_traits/remove_extent.h
    M libcxx/include/__type_traits/remove_pointer.h
    M libcxx/include/__type_traits/remove_reference.h
    M libcxx/include/__type_traits/remove_volatile.h
    M libcxx/include/__type_traits/type_list.h
    M libcxx/include/__type_traits/unwrap_ref.h
    M libcxx/include/__type_traits/void_t.h
    A libcxx/include/__utility/element_count.h
    M libcxx/include/__utility/exception_guard.h
    M libcxx/include/__utility/forward_like.h
    M libcxx/include/__utility/in_place.h
    M libcxx/include/__utility/integer_sequence.h
    M libcxx/include/__utility/move.h
    M libcxx/include/__utility/pair.h
    M libcxx/include/__utility/small_buffer.h
    M libcxx/include/__utility/swap.h
    M libcxx/include/__vector/vector.h
    M libcxx/include/__vector/vector_bool.h
    M libcxx/include/algorithm
    M libcxx/include/any
    M libcxx/include/array
    M libcxx/include/barrier
    M libcxx/include/bitset
    M libcxx/include/ccomplex
    M libcxx/include/ciso646
    M libcxx/include/complex
    M libcxx/include/cstdalign
    M libcxx/include/cstdbool
    M libcxx/include/ctgmath
    M libcxx/include/deque
    M libcxx/include/experimental/__simd/scalar.h
    M libcxx/include/experimental/__simd/simd.h
    M libcxx/include/experimental/__simd/simd_mask.h
    M libcxx/include/experimental/__simd/vec_ext.h
    M libcxx/include/forward_list
    M libcxx/include/functional
    M libcxx/include/future
    M libcxx/include/ios
    M libcxx/include/locale
    M libcxx/include/module.modulemap
    M libcxx/include/optional
    M libcxx/include/ratio
    M libcxx/include/regex
    M libcxx/include/source_location
    M libcxx/include/string
    M libcxx/include/tuple
    M libcxx/include/variant
    M libcxx/include/version
    M libcxx/src/CMakeLists.txt
    M libcxx/src/barrier.cpp
    M libcxx/src/experimental/tzdb.cpp
    M libcxx/src/filesystem/directory_iterator.cpp
    M libcxx/src/filesystem/error.h
    M libcxx/src/filesystem/file_descriptor.h
    M libcxx/src/filesystem/operations.cpp
    M libcxx/src/filesystem/posix_compat.h
    M libcxx/src/include/overridable_function.h
    M libcxx/src/locale.cpp
    M libcxx/src/memory_resource.cpp
    M libcxx/src/new.cpp
    M libcxx/src/print.cpp
    M libcxx/src/shared_mutex.cpp
    M libcxx/src/system_error.cpp
    M libcxx/test/benchmarks/GenerateInput.h
    M libcxx/test/benchmarks/containers/ContainerBenchmarks.h
    M libcxx/test/benchmarks/containers/string.bench.cpp
    M libcxx/test/benchmarks/containers/vector_operations.bench.cpp
    M libcxx/test/benchmarks/numeric/gcd.bench.cpp
    M libcxx/test/configs/stdlib-libstdc++.cfg.in
    M libcxx/test/libcxx/clang_tidy.gen.py
    R libcxx/test/libcxx/containers/containers.adaptors/flat.map/container_stability.pass.cpp
    A libcxx/test/libcxx/containers/sequences/forwardlist/assert.pass.cpp
    A libcxx/test/libcxx/containers/sequences/vector.bool/assert.pass.cpp
    A libcxx/test/libcxx/diagnostics/system_error_win_codes.pass.cpp
    M libcxx/test/libcxx/gdb/gdb_pretty_printer_test.py
    M libcxx/test/libcxx/gdb/gdb_pretty_printer_test.sh.cpp
    M libcxx/test/libcxx/language.support/support.dynamic/libcpp_deallocate.sh.cpp
    A libcxx/test/libcxx/thread/futures/futures.task/type.depr.verify.cpp
    M libcxx/test/libcxx/thread/futures/futures.task/types.pass.cpp
    M libcxx/test/libcxx/time/time.zone/time.zone.db/rules.pass.cpp
    M libcxx/test/libcxx/time/time.zone/time.zone.db/version.pass.cpp
    A libcxx/test/libcxx/utilities/function.objects/func.not.fn/not_fn.nttp.compile.pass.cpp
    A libcxx/test/libcxx/utilities/function.objects/func.not.fn/not_fn.nttp.nodiscard.verify.cpp
    M libcxx/test/std/algorithms/alg.sorting/alg.sort/stable.sort/stable_sort.pass.cpp
    M libcxx/test/std/algorithms/alg.sorting/alg.sort/stable.sort/stable_sort_comp.pass.cpp
    M libcxx/test/std/atomics/atomics.ref/exchange.pass.cpp
    M libcxx/test/std/atomics/atomics.ref/increment_decrement.pass.cpp
    R libcxx/test/std/containers/container.adaptors/flat.map/flat.map.cons/iter_iter_stability.pass.cpp
    R libcxx/test/std/containers/container.adaptors/flat.map/flat.map.modifiers/insert_range_stability.pass.cpp
    A libcxx/test/std/containers/sequences/vector.bool/at.pass.cpp
    A libcxx/test/std/containers/sequences/vector.bool/at_const.pass.cpp
    M libcxx/test/std/containers/sequences/vector.bool/flip.pass.cpp
    M libcxx/test/std/containers/sequences/vector/common.h
    M libcxx/test/std/containers/sequences/vector/vector.capacity/reserve.pass.cpp
    A libcxx/test/std/containers/sequences/vector/vector.capacity/reserve_exceptions.pass.cpp
    A libcxx/test/std/containers/sequences/vector/vector.capacity/resize_size_exceptions.pass.cpp
    A libcxx/test/std/containers/sequences/vector/vector.capacity/resize_size_value_exceptions.pass.cpp
    A libcxx/test/std/containers/sequences/vector/vector.capacity/shrink_to_fit_exceptions.pass.cpp
    M libcxx/test/std/containers/sequences/vector/vector.data/data_const.pass.cpp
    M libcxx/test/std/containers/sequences/vector/vector.modifiers/insert_iter_iter_iter.pass.cpp
    M libcxx/test/std/depr/depr.c.headers/stdlib_h.pass.cpp
    M libcxx/test/std/depr/depr.c.headers/wctype_h.compile.pass.cpp
    M libcxx/test/std/diagnostics/syserr/syserr.compare/eq_error_code_error_code.pass.cpp
    M libcxx/test/std/diagnostics/syserr/syserr.errcat/syserr.errcat.derived/message.pass.cpp
    M libcxx/test/std/diagnostics/syserr/syserr.errcat/syserr.errcat.objects/system_category.pass.cpp
    A libcxx/test/std/input.output/file.streams/fstreams/ifstream.members/offset_range.pass.cpp
    M libcxx/test/std/input.output/filesystems/class.directory_entry/directory_entry.obs/file_type_obs.pass.cpp
    M libcxx/test/std/input.output/filesystems/class.directory_entry/directory_entry.obs/status.pass.cpp
    M libcxx/test/std/input.output/filesystems/class.directory_entry/directory_entry.obs/symlink_status.pass.cpp
    A libcxx/test/std/input.output/filesystems/fs.op.funcs/fs.op.copy_file/copy_file_procfs.pass.cpp
    M libcxx/test/std/language.support/support.limits/support.limits.general/functional.version.compile.pass.cpp
    M libcxx/test/std/language.support/support.limits/support.limits.general/version.version.compile.pass.cpp
    M libcxx/test/std/language.support/support.runtime/cstdlib.pass.cpp
    M libcxx/test/std/strings/c.strings/cwctype.pass.cpp
    A libcxx/test/std/utilities/function.objects/func.not_fn/not_fn.nttp.pass.cpp
    A libcxx/test/std/utilities/function.objects/func.not_fn/not_fn.nttp.verify.cpp
    M libcxx/test/std/utilities/template.bitset/bitset.members/index_const.pass.cpp
    M libcxx/test/std/utilities/template.bitset/bitset.members/nonstdmem.uglified.compile.pass.cpp
    M libcxx/test/std/utilities/tuple/tuple.tuple/tuple.creation/tuple_cat.pass.cpp
    M libcxx/test/support/filesystem_test_helper.h
    M libcxx/test/tools/clang_tidy_checks/CMakeLists.txt
    M libcxx/test/tools/clang_tidy_checks/internal_ftm_use.cpp
    M libcxx/test/tools/clang_tidy_checks/libcpp_module.cpp
    A libcxx/test/tools/clang_tidy_checks/nodebug_on_aliases.cpp
    A libcxx/test/tools/clang_tidy_checks/nodebug_on_aliases.hpp
    M libcxx/test/tools/clang_tidy_checks/uglify_attributes.cpp
    A libcxx/test/tools/clang_tidy_checks/utilities.hpp
    M libcxx/utils/gdb/libcxx/printers.py
    M libcxx/utils/generate_feature_test_macro_components.py
    A libcxx/utils/libcxx-benchmark-json
    A libcxx/utils/libcxx-compare-benchmarks
    M libcxxabi/src/CMakeLists.txt
    M libcxxabi/src/demangle/ItaniumDemangle.h
    M libcxxabi/src/stdlib_new_delete.cpp
    M libcxxabi/test/test_demangle.pass.cpp
    M libunwind/src/CMakeLists.txt
    M lld/COFF/Chunks.cpp
    M lld/COFF/Chunks.h
    M lld/COFF/Config.h
    M lld/COFF/Driver.cpp
    M lld/COFF/Driver.h
    M lld/COFF/ICF.cpp
    M lld/COFF/InputFiles.cpp
    M lld/COFF/MapFile.cpp
    M lld/COFF/MarkLive.cpp
    M lld/COFF/SymbolTable.cpp
    M lld/COFF/SymbolTable.h
    M lld/COFF/Writer.cpp
    M lld/Common/BPSectionOrdererBase.cpp
    M lld/Common/Strings.cpp
    M lld/ELF/Arch/ARM.cpp
    M lld/ELF/CallGraphSort.cpp
    M lld/ELF/CallGraphSort.h
    M lld/ELF/Driver.cpp
    M lld/ELF/InputSection.h
    M lld/ELF/LinkerScript.cpp
    M lld/ELF/LinkerScript.h
    M lld/ELF/SymbolTable.cpp
    M lld/ELF/SyntheticSections.cpp
    M lld/ELF/Writer.cpp
    M lld/MachO/BPSectionOrderer.cpp
    M lld/MachO/BPSectionOrderer.h
    M lld/MachO/ConcatOutputSection.cpp
    M lld/MachO/ConcatOutputSection.h
    M lld/MachO/Driver.cpp
    M lld/MachO/MapFile.cpp
    M lld/MachO/Options.td
    M lld/MachO/OutputSection.h
    M lld/MachO/SectionPriorities.cpp
    M lld/MachO/SectionPriorities.h
    M lld/MachO/SyntheticSections.cpp
    M lld/MachO/Writer.cpp
    M lld/include/lld/Common/BPSectionOrdererBase.h
    A lld/test/COFF/arm64x-entry.test
    A lld/test/COFF/arm64x-incl.s
    M lld/test/COFF/arm64x-loadconfig.s
    A lld/test/COFF/baserel-sort.yaml
    M lld/test/COFF/cgprofile-obj.s
    A lld/test/COFF/empty-section-decl.yaml
    A lld/test/COFF/info-sec.s
    A lld/test/COFF/linkrepro-thin-archives.s
    A lld/test/COFF/subsystem-arm64x.test
    A lld/test/COFF/wholearchive-implib.s
    M lld/test/ELF/cgprofile-obj.s
    A lld/test/ELF/cgprofile-orderfile.s
    M lld/test/ELF/linkerscript/discard-section-dynsym.s
    M lld/test/ELF/linkerscript/filename-spec.s
    M lld/test/ELF/lto/new-pass-manager.ll
    M lld/test/MachO/arm64-thunks.s
    M lld/test/MachO/bp-section-orderer-errs.s
    M lld/test/MachO/bp-section-orderer.s
    A lld/test/wasm/dylink-non-pie.s
    M lld/wasm/Config.h
    M lld/wasm/Driver.cpp
    M lld/wasm/InputChunks.cpp
    M lld/wasm/InputChunks.h
    M lld/wasm/InputElement.h
    M lld/wasm/InputFiles.cpp
    M lld/wasm/InputFiles.h
    M lld/wasm/LTO.cpp
    M lld/wasm/MapFile.cpp
    M lld/wasm/MarkLive.cpp
    M lld/wasm/OutputSections.cpp
    M lld/wasm/Relocations.cpp
    M lld/wasm/SymbolTable.cpp
    M lld/wasm/Symbols.cpp
    M lld/wasm/Symbols.h
    M lld/wasm/SyntheticSections.cpp
    M lld/wasm/SyntheticSections.h
    M lld/wasm/Writer.cpp
    M lldb/bindings/python/python-swigsafecast.swig
    M lldb/docs/resources/formatterbytecode.rst
    M lldb/docs/use/map.rst
    M lldb/examples/python/crashlog.py
    M lldb/examples/python/formatter_bytecode.py
    M lldb/examples/synthetic/gnu_libstdcpp.py
    M lldb/include/lldb/API/SBModule.h
    M lldb/include/lldb/API/SBSaveCoreOptions.h
    M lldb/include/lldb/API/SBThreadCollection.h
    M lldb/include/lldb/Core/Disassembler.h
    M lldb/include/lldb/Core/Progress.h
    M lldb/include/lldb/Host/HostInfo.h
    A lldb/include/lldb/Host/aix/HostInfoAIX.h
    M lldb/include/lldb/Interpreter/Interfaces/OperatingSystemInterface.h
    M lldb/include/lldb/Symbol/Block.h
    M lldb/include/lldb/Symbol/Function.h
    M lldb/include/lldb/Symbol/SaveCoreOptions.h
    M lldb/include/lldb/Symbol/SymbolContext.h
    M lldb/include/lldb/Target/MemoryRegionInfo.h
    M lldb/include/lldb/Target/OperatingSystem.h
    M lldb/include/lldb/Target/SectionLoadHistory.h
    M lldb/include/lldb/Target/Target.h
    M lldb/include/lldb/Target/Thread.h
    M lldb/include/lldb/Utility/ArchSpec.h
    M lldb/include/lldb/Utility/LLDBAssert.h
    M lldb/include/lldb/lldb-enumerations.h
    M lldb/packages/Python/lldbsuite/test/lldbtest.py
    M lldb/packages/Python/lldbsuite/test/make/Makefile.rules
    M lldb/packages/Python/lldbsuite/test/tools/lldb-server/gdbremote_testcase.py
    M lldb/source/API/SBBlock.cpp
    M lldb/source/API/SBBreakpoint.cpp
    M lldb/source/API/SBFunction.cpp
    M lldb/source/API/SBInstructionList.cpp
    M lldb/source/API/SBSaveCoreOptions.cpp
    M lldb/source/Breakpoint/BreakpointLocationList.cpp
    M lldb/source/Breakpoint/BreakpointResolver.cpp
    M lldb/source/Breakpoint/BreakpointResolverName.cpp
    M lldb/source/Commands/CommandObjectDisassemble.cpp
    M lldb/source/Commands/CommandObjectMemory.cpp
    M lldb/source/Commands/CommandObjectRegister.cpp
    M lldb/source/Commands/CommandObjectSource.cpp
    M lldb/source/Commands/CommandObjectTarget.cpp
    M lldb/source/Core/Address.cpp
    M lldb/source/Core/Disassembler.cpp
    M lldb/source/Core/DumpDataExtractor.cpp
    M lldb/source/Core/FormatEntity.cpp
    M lldb/source/Core/Mangled.cpp
    M lldb/source/Core/Progress.cpp
    M lldb/source/Core/SearchFilter.cpp
    M lldb/source/Core/Section.cpp
    M lldb/source/Core/Value.cpp
    M lldb/source/DataFormatters/CXXFunctionPointer.cpp
    M lldb/source/DataFormatters/FormatterBytecode.cpp
    M lldb/source/DataFormatters/FormatterBytecode.def
    M lldb/source/Expression/DWARFExpressionList.cpp
    M lldb/source/Expression/IRExecutionUnit.cpp
    M lldb/source/Expression/LLVMUserExpression.cpp
    M lldb/source/Expression/ObjectFileJIT.cpp
    M lldb/source/Host/CMakeLists.txt
    A lldb/source/Host/aix/HostInfoAIX.cpp
    M lldb/source/Host/common/Host.cpp
    M lldb/source/Host/freebsd/Host.cpp
    M lldb/source/Host/linux/Host.cpp
    M lldb/source/Host/netbsd/HostNetBSD.cpp
    M lldb/source/Host/openbsd/Host.cpp
    M lldb/source/Host/posix/ConnectionFileDescriptorPosix.cpp
    M lldb/source/Host/posix/DomainSocket.cpp
    M lldb/source/Host/posix/FileSystemPosix.cpp
    M lldb/source/Plugins/Architecture/Mips/ArchitectureMips.cpp
    M lldb/source/Plugins/Disassembler/LLVMC/DisassemblerLLVMC.cpp
    M lldb/source/Plugins/DynamicLoader/MacOSX-DYLD/DynamicLoaderDarwin.cpp
    M lldb/source/Plugins/DynamicLoader/MacOSX-DYLD/DynamicLoaderMacOS.cpp
    M lldb/source/Plugins/DynamicLoader/POSIX-DYLD/DynamicLoaderPOSIXDYLD.cpp
    M lldb/source/Plugins/DynamicLoader/Static/DynamicLoaderStatic.cpp
    M lldb/source/Plugins/ExpressionParser/Clang/ASTUtils.h
    M lldb/source/Plugins/ExpressionParser/Clang/ClangASTSource.cpp
    M lldb/source/Plugins/ExpressionParser/Clang/ClangASTSource.h
    M lldb/source/Plugins/ExpressionParser/Clang/ClangExpressionDeclMap.cpp
    M lldb/source/Plugins/ExpressionParser/Clang/ClangExternalASTSourceCallbacks.cpp
    M lldb/source/Plugins/ExpressionParser/Clang/ClangExternalASTSourceCallbacks.h
    M lldb/source/Plugins/InstrumentationRuntime/ASanLibsanitizers/InstrumentationRuntimeASanLibsanitizers.cpp
    M lldb/source/Plugins/InstrumentationRuntime/TSan/InstrumentationRuntimeTSan.cpp
    M lldb/source/Plugins/InstrumentationRuntime/Utility/ReportRetriever.cpp
    M lldb/source/Plugins/JITLoader/GDB/JITLoaderGDB.cpp
    M lldb/source/Plugins/Language/CPlusPlus/LibCxxUnorderedMap.cpp
    M lldb/source/Plugins/Language/ObjC/Cocoa.cpp
    M lldb/source/Plugins/Language/ObjC/NSError.cpp
    M lldb/source/Plugins/LanguageRuntime/CPlusPlus/CPPLanguageRuntime.cpp
    M lldb/source/Plugins/LanguageRuntime/ObjC/AppleObjCRuntime/AppleObjCDeclVendor.cpp
    M lldb/source/Plugins/ObjectContainer/BSD-Archive/ObjectContainerBSDArchive.cpp
    M lldb/source/Plugins/ObjectFile/ELF/ObjectFileELF.cpp
    M lldb/source/Plugins/ObjectFile/Mach-O/ObjectFileMachO.cpp
    M lldb/source/Plugins/ObjectFile/Minidump/MinidumpFileBuilder.cpp
    M lldb/source/Plugins/ObjectFile/Minidump/MinidumpFileBuilder.h
    M lldb/source/Plugins/ObjectFile/PECOFF/ObjectFilePECOFF.cpp
    M lldb/source/Plugins/ObjectFile/Placeholder/ObjectFilePlaceholder.cpp
    M lldb/source/Plugins/OperatingSystem/Python/OperatingSystemPython.cpp
    M lldb/source/Plugins/OperatingSystem/Python/OperatingSystemPython.h
    M lldb/source/Plugins/Platform/Android/PlatformAndroidRemoteGDBServer.cpp
    M lldb/source/Plugins/Process/Linux/NativeProcessLinux.cpp
    M lldb/source/Plugins/Process/Linux/NativeRegisterContextLinux_loongarch64.cpp
    M lldb/source/Plugins/Process/Linux/NativeRegisterContextLinux_loongarch64.h
    M lldb/source/Plugins/Process/Utility/CMakeLists.txt
    M lldb/source/Plugins/Process/Utility/LinuxProcMaps.cpp
    A lldb/source/Plugins/Process/Utility/OpenBSDSignals.cpp
    A lldb/source/Plugins/Process/Utility/OpenBSDSignals.h
    M lldb/source/Plugins/Process/Utility/RegisterContextPOSIX_loongarch64.cpp
    M lldb/source/Plugins/Process/Utility/RegisterContextPOSIX_loongarch64.h
    M lldb/source/Plugins/Process/Utility/RegisterInfoPOSIX_loongarch64.cpp
    M lldb/source/Plugins/Process/Utility/RegisterInfoPOSIX_loongarch64.h
    M lldb/source/Plugins/Process/Utility/RegisterInfos_loongarch64.h
    M lldb/source/Plugins/Process/Utility/StopInfoMachException.cpp
    M lldb/source/Plugins/Process/Utility/lldb-loongarch-register-enums.h
    M lldb/source/Plugins/Process/elf-core/ProcessElfCore.cpp
    M lldb/source/Plugins/Process/gdb-remote/GDBRemoteCommunicationClient.cpp
    M lldb/source/Plugins/Process/gdb-remote/GDBRemoteCommunicationServerLLGS.cpp
    M lldb/source/Plugins/Process/minidump/MinidumpParser.cpp
    M lldb/source/Plugins/Process/minidump/MinidumpParser.h
    M lldb/source/Plugins/Process/minidump/ProcessMinidump.cpp
    M lldb/source/Plugins/Process/minidump/ProcessMinidump.h
    M lldb/source/Plugins/ScriptInterpreter/Python/Interfaces/OperatingSystemPythonInterface.cpp
    M lldb/source/Plugins/ScriptInterpreter/Python/Interfaces/OperatingSystemPythonInterface.h
    M lldb/source/Plugins/ScriptInterpreter/Python/SWIGPythonBridge.h
    M lldb/source/Plugins/SymbolFile/Breakpad/SymbolFileBreakpad.cpp
    M lldb/source/Plugins/SymbolFile/DWARF/DWARFASTParserClang.cpp
    M lldb/source/Plugins/SymbolFile/DWARF/DWARFASTParserClang.h
    M lldb/source/Plugins/SymbolFile/DWARF/DWARFDIE.cpp
    M lldb/source/Plugins/SymbolFile/DWARF/DWARFDIE.h
    M lldb/source/Plugins/SymbolFile/DWARF/SymbolFileDWARF.cpp
    M lldb/source/Plugins/SymbolFile/DWARF/SymbolFileDWARFDebugMap.cpp
    M lldb/source/Plugins/SymbolFile/NativePDB/SymbolFileNativePDB.cpp
    M lldb/source/Plugins/SymbolLocator/Debuginfod/SymbolLocatorDebuginfod.cpp
    M lldb/source/Plugins/Trace/intel-pt/TraceIntelPTBundleSaver.cpp
    M lldb/source/Plugins/TypeSystem/Clang/TypeSystemClang.cpp
    M lldb/source/Symbol/Block.cpp
    M lldb/source/Symbol/CompilerType.cpp
    M lldb/source/Symbol/Function.cpp
    M lldb/source/Symbol/ObjectFile.cpp
    M lldb/source/Symbol/SaveCoreOptions.cpp
    M lldb/source/Symbol/SymbolContext.cpp
    M lldb/source/Symbol/Variable.cpp
    M lldb/source/Target/MemoryRegionInfo.cpp
    M lldb/source/Target/Process.cpp
    M lldb/source/Target/ProcessTrace.cpp
    M lldb/source/Target/SectionLoadHistory.cpp
    M lldb/source/Target/StackFrame.cpp
    M lldb/source/Target/StructuredDataPlugin.cpp
    M lldb/source/Target/Target.cpp
    M lldb/source/Target/TargetProperties.td
    M lldb/source/Target/Thread.cpp
    M lldb/source/Target/ThreadList.cpp
    M lldb/source/Target/ThreadPlanStepInRange.cpp
    M lldb/source/Target/ThreadPlanTracer.cpp
    M lldb/source/Target/UnixSignals.cpp
    M lldb/source/Utility/ArchSpec.cpp
    M lldb/source/Utility/LLDBAssert.cpp
    M lldb/source/Utility/LoongArch_DWARF_Registers.h
    M lldb/source/ValueObject/ValueObjectVariable.cpp
    M lldb/test/API/commands/expression/call-function/TestCallStopAndContinue.py
    M lldb/test/API/commands/expression/import-std-module/array/TestArrayFromStdModule.py
    M lldb/test/API/commands/expression/import-std-module/array/main.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-dbg-info-content/main.cpp
    M lldb/test/API/commands/expression/import-std-module/vector-of-vectors/TestVectorOfVectorsFromStdModule.py
    M lldb/test/API/commands/expression/import-std-module/vector-of-vectors/main.cpp
    M lldb/test/API/commands/expression/unwind_expression/TestUnwindExpression.py
    M lldb/test/API/commands/register/register/register_command/TestRegisters.py
    M lldb/test/API/functionalities/data-formatter/data-formatter-objc/TestDataFormatterObjCNSError.py
    M lldb/test/API/functionalities/data-formatter/data-formatter-objc/main.m
    M lldb/test/API/functionalities/data-formatter/data-formatter-stl/generic/unordered/TestDataFormatterGenericUnordered.py
    M lldb/test/API/functionalities/data-formatter/data-formatter-stl/generic/unordered/main.cpp
    M lldb/test/API/functionalities/plugins/python_os_plugin/TestPythonOSPlugin.py
    M lldb/test/API/functionalities/plugins/python_os_plugin/main.c
    M lldb/test/API/functionalities/plugins/python_os_plugin/stepping_plugin_threads/TestOSPluginStepping.py
    M lldb/test/API/functionalities/plugins/python_os_plugin/stepping_plugin_threads/operating_system.py
    M lldb/test/API/lang/cpp/nested-template/TestNestedTemplate.py
    M lldb/test/API/lang/cpp/nested-template/main.cpp
    A lldb/test/API/linux/aarch64/gcs/Makefile
    A lldb/test/API/linux/aarch64/gcs/TestAArch64LinuxGCS.py
    A lldb/test/API/linux/aarch64/gcs/main.c
    A lldb/test/API/linux/loongarch64/simd_registers/Makefile
    A lldb/test/API/linux/loongarch64/simd_registers/TestLoongArch64LinuxSIMDRegisters.py
    A lldb/test/API/linux/loongarch64/simd_registers/main.c
    M lldb/test/API/python_api/sbsavecoreoptions/TestSBSaveCoreOptions.py
    M lldb/test/API/python_api/sbsavecoreoptions/basic_minidump.yaml
    M lldb/test/Shell/ScriptInterpreter/Python/sb_function_ranges.s
    M lldb/test/Shell/SymbolFile/DWARF/x86/no_unique_address-with-bitfields.cpp
    M lldb/unittests/Core/ProgressReportTest.cpp
    M lldb/unittests/DataFormatter/FormatterBytecodeTest.cpp
    M lldb/unittests/Process/Utility/LinuxProcMapsTest.cpp
    M lldb/unittests/Process/Utility/MemoryTagManagerAArch64MTETest.cpp
    M lldb/unittests/Process/gdb-remote/GDBRemoteCommunicationClientTest.cpp
    M lldb/unittests/Process/minidump/MinidumpParserTest.cpp
    M lldb/unittests/Target/RegisterFlagsTest.cpp
    M lldb/unittests/Utility/ArchSpecTest.cpp
    M lldb/unittests/Utility/RangeMapTest.cpp
    M llvm/Maintainers.md
    M llvm/cmake/config-ix.cmake
    M llvm/cmake/modules/AddLLVM.cmake
    M llvm/cmake/modules/CrossCompile.cmake
    A llvm/cmake/modules/FileLock.cmake
    M llvm/cmake/modules/Findzstd.cmake
    M llvm/cmake/modules/GetHostTriple.cmake
    M llvm/cmake/modules/LLVMExternalProjectUtils.cmake
    M llvm/docs/AMDGPUUsage.rst
    M llvm/docs/DirectX/DXILResources.rst
    M llvm/docs/GettingInvolved.rst
    M llvm/docs/GettingStarted.rst
    M llvm/docs/LangRef.rst
    M llvm/docs/NVPTXUsage.rst
    M llvm/docs/ProgrammersManual.rst
    M llvm/docs/RISCVUsage.rst
    M llvm/docs/ReleaseNotes.md
    M llvm/docs/TableGen/BackEnds.rst
    M llvm/include/llvm/ADT/APFloat.h
    M llvm/include/llvm/ADT/PointerUnion.h
    M llvm/include/llvm/ADT/STLFunctionalExtras.h
    M llvm/include/llvm/Analysis/CmpInstAnalysis.h
    M llvm/include/llvm/Analysis/CtxProfAnalysis.h
    M llvm/include/llvm/Analysis/LoopAccessAnalysis.h
    M llvm/include/llvm/Analysis/ScalarEvolution.h
    M llvm/include/llvm/Analysis/TargetTransformInfo.h
    M llvm/include/llvm/Analysis/TargetTransformInfoImpl.h
    M llvm/include/llvm/Analysis/ValueTracking.h
    M llvm/include/llvm/Analysis/VectorUtils.h
    M llvm/include/llvm/AsmParser/LLParser.h
    M llvm/include/llvm/AsmParser/LLToken.h
    M llvm/include/llvm/BinaryFormat/ELF.h
    A llvm/include/llvm/BinaryFormat/ELFRelocs/RISCV_nonstandard.def
    M llvm/include/llvm/BinaryFormat/MinidumpConstants.def
    M llvm/include/llvm/Bitcode/LLVMBitCodes.h
    M llvm/include/llvm/CodeGen/AsmPrinter.h
    M llvm/include/llvm/CodeGen/AsmPrinterHandler.h
    M llvm/include/llvm/CodeGen/ComplexDeinterleavingPass.h
    M llvm/include/llvm/CodeGen/DebugHandlerBase.h
    M llvm/include/llvm/CodeGen/GlobalISel/CombinerHelper.h
    M llvm/include/llvm/CodeGen/GlobalISel/LegalizerHelper.h
    M llvm/include/llvm/CodeGen/GlobalISel/MIPatternMatch.h
    M llvm/include/llvm/CodeGen/GlobalISel/Utils.h
    M llvm/include/llvm/CodeGen/ISDOpcodes.h
    M llvm/include/llvm/CodeGen/LiveRegMatrix.h
    M llvm/include/llvm/CodeGen/MIRYamlMapping.h
    M llvm/include/llvm/CodeGen/MachineFunction.h
    M llvm/include/llvm/CodeGen/MachineInstr.h
    M llvm/include/llvm/CodeGen/MachineMemOperand.h
    M llvm/include/llvm/CodeGen/MachineRegisterInfo.h
    M llvm/include/llvm/CodeGen/ModuloSchedule.h
    M llvm/include/llvm/CodeGen/ReachingDefAnalysis.h
    M llvm/include/llvm/CodeGen/SDPatternMatch.h
    M llvm/include/llvm/CodeGen/SelectionDAG.h
    M llvm/include/llvm/CodeGen/Spiller.h
    M llvm/include/llvm/CodeGen/TargetInstrInfo.h
    M llvm/include/llvm/CodeGen/TargetLowering.h
    M llvm/include/llvm/CodeGen/TargetRegisterInfo.h
    M llvm/include/llvm/Config/config.h.cmake
    M llvm/include/llvm/DebugInfo/GSYM/FunctionInfo.h
    M llvm/include/llvm/DebugInfo/GSYM/GsymReader.h
    M llvm/include/llvm/DebugInfo/GSYM/MergedFunctionsInfo.h
    M llvm/include/llvm/Demangle/ItaniumDemangle.h
    M llvm/include/llvm/ExecutionEngine/JITLink/JITLink.h
    M llvm/include/llvm/ExecutionEngine/JITLink/JITLinkMemoryManager.h
    M llvm/include/llvm/ExecutionEngine/JITLink/aarch64.h
    M llvm/include/llvm/ExecutionEngine/JITLink/loongarch.h
    M llvm/include/llvm/ExecutionEngine/JITLink/x86_64.h
    M llvm/include/llvm/ExecutionEngine/Orc/Core.h
    M llvm/include/llvm/ExecutionEngine/Orc/ELFNixPlatform.h
    M llvm/include/llvm/ExecutionEngine/Orc/JITLinkReentryTrampolines.h
    M llvm/include/llvm/ExecutionEngine/Orc/LazyReexports.h
    M llvm/include/llvm/ExecutionEngine/Orc/MachOBuilder.h
    M llvm/include/llvm/ExecutionEngine/Orc/MachOPlatform.h
    M llvm/include/llvm/ExecutionEngine/Orc/TaskDispatch.h
    M llvm/include/llvm/FileCheck/FileCheck.h
    M llvm/include/llvm/Frontend/OpenMP/OMP.td
    M llvm/include/llvm/Frontend/OpenMP/OMPIRBuilder.h
    M llvm/include/llvm/IR/Attributes.h
    M llvm/include/llvm/IR/Attributes.td
    M llvm/include/llvm/IR/CmpPredicate.h
    M llvm/include/llvm/IR/DebugInfoMetadata.h
    M llvm/include/llvm/IR/IRBuilder.h
    M llvm/include/llvm/IR/InstrTypes.h
    M llvm/include/llvm/IR/Instructions.h
    M llvm/include/llvm/IR/IntrinsicInst.h
    M llvm/include/llvm/IR/IntrinsicsAArch64.td
    M llvm/include/llvm/IR/IntrinsicsAMDGPU.td
    M llvm/include/llvm/IR/IntrinsicsDirectX.td
    M llvm/include/llvm/IR/IntrinsicsNVVM.td
    M llvm/include/llvm/IR/IntrinsicsSPIRV.td
    M llvm/include/llvm/IR/Metadata.h
    R llvm/include/llvm/IR/NVVMIntrinsicFlags.h
    A llvm/include/llvm/IR/NVVMIntrinsicUtils.h
    M llvm/include/llvm/IR/PassManager.h
    M llvm/include/llvm/IR/PatternMatch.h
    M llvm/include/llvm/IR/VectorTypeUtils.h
    M llvm/include/llvm/MC/MCObjectFileInfo.h
    M llvm/include/llvm/MC/MCStreamer.h
    M llvm/include/llvm/MC/MCWinCOFFObjectWriter.h
    M llvm/include/llvm/MC/MCWinCOFFStreamer.h
    M llvm/include/llvm/Object/COFF.h
    M llvm/include/llvm/Option/OptTable.h
    M llvm/include/llvm/Passes/MachinePassRegistry.def
    M llvm/include/llvm/ProfileData/Coverage/CoverageMapping.h
    M llvm/include/llvm/ProfileData/PGOCtxProfReader.h
    M llvm/include/llvm/ProfileData/PGOCtxProfWriter.h
    M llvm/include/llvm/SandboxIR/Context.h
    M llvm/include/llvm/SandboxIR/Instruction.h
    M llvm/include/llvm/SandboxIR/Pass.h
    M llvm/include/llvm/SandboxIR/Utils.h
    M llvm/include/llvm/Support/FileSystem.h
    M llvm/include/llvm/Support/MathExtras.h
    M llvm/include/llvm/Support/ModRef.h
    M llvm/include/llvm/Support/Path.h
    M llvm/include/llvm/Support/Recycler.h
    M llvm/include/llvm/Support/Timer.h
    M llvm/include/llvm/Support/Win64EH.h
    M llvm/include/llvm/TableGen/Record.h
    M llvm/include/llvm/Target/GlobalISel/Combine.td
    A llvm/include/llvm/TargetParser/AArch64FeatPriorities.inc
    M llvm/include/llvm/TargetParser/AArch64TargetParser.h
    M llvm/include/llvm/TargetParser/Triple.h
    M llvm/include/llvm/Transforms/IPO/Attributor.h
    M llvm/include/llvm/Transforms/InstCombine/InstCombiner.h
    M llvm/include/llvm/Transforms/Instrumentation/BoundsChecking.h
    M llvm/include/llvm/Transforms/Instrumentation/TypeSanitizer.h
    M llvm/include/llvm/Transforms/Scalar/GVN.h
    M llvm/include/llvm/Transforms/Utils/FunctionImportUtils.h
    M llvm/include/llvm/Transforms/Utils/Local.h
    M llvm/include/llvm/Transforms/Vectorize/LoopVectorizationLegality.h
    M llvm/include/llvm/Transforms/Vectorize/SandboxVectorizer/DependencyGraph.h
    A llvm/include/llvm/Transforms/Vectorize/SandboxVectorizer/InstrMaps.h
    M llvm/include/llvm/Transforms/Vectorize/SandboxVectorizer/Interval.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/Scheduler.h
    M llvm/include/llvm/Transforms/Vectorize/SandboxVectorizer/SeedCollector.h
    M llvm/include/llvm/Transforms/Vectorize/SandboxVectorizer/VecUtils.h
    M llvm/include/module.modulemap
    M llvm/lib/Analysis/AliasAnalysis.cpp
    M llvm/lib/Analysis/CmpInstAnalysis.cpp
    M llvm/lib/Analysis/ConstantFolding.cpp
    M llvm/lib/Analysis/CtxProfAnalysis.cpp
    M llvm/lib/Analysis/InstructionPrecedenceTracking.cpp
    M llvm/lib/Analysis/InstructionSimplify.cpp
    M llvm/lib/Analysis/LazyValueInfo.cpp
    M llvm/lib/Analysis/Lint.cpp
    M llvm/lib/Analysis/Loads.cpp
    M llvm/lib/Analysis/LoopAccessAnalysis.cpp
    M llvm/lib/Analysis/MemoryLocation.cpp
    M llvm/lib/Analysis/MemoryProfileInfo.cpp
    M llvm/lib/Analysis/ScalarEvolution.cpp
    M llvm/lib/Analysis/TargetTransformInfo.cpp
    M llvm/lib/Analysis/ValueTracking.cpp
    M llvm/lib/Analysis/VectorUtils.cpp
    M llvm/lib/AsmParser/LLLexer.cpp
    M llvm/lib/AsmParser/LLParser.cpp
    M llvm/lib/Bitcode/Reader/BitcodeReader.cpp
    M llvm/lib/Bitcode/Writer/BitcodeWriter.cpp
    M llvm/lib/CodeGen/AsmPrinter/AsmPrinter.cpp
    M llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
    M llvm/lib/CodeGen/AsmPrinter/DwarfUnit.h
    M llvm/lib/CodeGen/AsmPrinter/PseudoProbePrinter.h
    M llvm/lib/CodeGen/BranchFolding.cpp
    M llvm/lib/CodeGen/CodeGenPrepare.cpp
    M llvm/lib/CodeGen/ComplexDeinterleavingPass.cpp
    M llvm/lib/CodeGen/ExpandMemCmp.cpp
    M llvm/lib/CodeGen/ExpandVectorPredication.cpp
    M llvm/lib/CodeGen/GlobalISel/CombinerHelper.cpp
    M llvm/lib/CodeGen/GlobalISel/LegalizerHelper.cpp
    M llvm/lib/CodeGen/GlobalISel/Utils.cpp
    M llvm/lib/CodeGen/IfConversion.cpp
    M llvm/lib/CodeGen/InitUndef.cpp
    M llvm/lib/CodeGen/InlineSpiller.cpp
    M llvm/lib/CodeGen/InterleavedAccessPass.cpp
    M llvm/lib/CodeGen/LiveRangeEdit.cpp
    M llvm/lib/CodeGen/LiveRegMatrix.cpp
    M llvm/lib/CodeGen/MIRParser/MIRParser.cpp
    M llvm/lib/CodeGen/MIRPrinter.cpp
    M llvm/lib/CodeGen/MIRSampleProfile.cpp
    M llvm/lib/CodeGen/MachineBlockPlacement.cpp
    M llvm/lib/CodeGen/MachineBranchProbabilityInfo.cpp
    M llvm/lib/CodeGen/MachineCSE.cpp
    M llvm/lib/CodeGen/MachineCopyPropagation.cpp
    M llvm/lib/CodeGen/MachineFunction.cpp
    M llvm/lib/CodeGen/MachineInstr.cpp
    M llvm/lib/CodeGen/MachineLICM.cpp
    M llvm/lib/CodeGen/MachineOperand.cpp
    M llvm/lib/CodeGen/MachineOutliner.cpp
    M llvm/lib/CodeGen/MachineRegisterInfo.cpp
    M llvm/lib/CodeGen/MachineTraceMetrics.cpp
    M llvm/lib/CodeGen/MachineVerifier.cpp
    M llvm/lib/CodeGen/PeepholeOptimizer.cpp
    M llvm/lib/CodeGen/ReachingDefAnalysis.cpp
    M llvm/lib/CodeGen/RegAllocBasic.cpp
    M llvm/lib/CodeGen/RegAllocGreedy.cpp
    M llvm/lib/CodeGen/RegAllocPBQP.cpp
    M llvm/lib/CodeGen/RegAllocPriorityAdvisor.cpp
    M llvm/lib/CodeGen/RegAllocPriorityAdvisor.h
    M llvm/lib/CodeGen/RegisterCoalescer.cpp
    M llvm/lib/CodeGen/ScheduleDAGInstrs.cpp
    M llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
    M llvm/lib/CodeGen/SelectionDAG/LegalizeDAG.cpp
    M llvm/lib/CodeGen/SelectionDAG/LegalizeTypes.h
    M llvm/lib/CodeGen/SelectionDAG/LegalizeVectorOps.cpp
    M llvm/lib/CodeGen/SelectionDAG/LegalizeVectorTypes.cpp
    M llvm/lib/CodeGen/SelectionDAG/ScheduleDAGRRList.cpp
    M llvm/lib/CodeGen/SelectionDAG/ScheduleDAGSDNodes.cpp
    M llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp
    M llvm/lib/CodeGen/SelectionDAG/SelectionDAGISel.cpp
    M llvm/lib/CodeGen/SelectionDAG/TargetLowering.cpp
    M llvm/lib/CodeGen/SplitKit.cpp
    M llvm/lib/CodeGen/SwiftErrorValueTracking.cpp
    M llvm/lib/CodeGen/TailDuplicator.cpp
    M llvm/lib/CodeGen/TargetInstrInfo.cpp
    M llvm/lib/CodeGen/TargetRegisterInfo.cpp
    M llvm/lib/CodeGen/UnreachableBlockElim.cpp
    M llvm/lib/CodeGen/VirtRegMap.cpp
    M llvm/lib/CodeGen/XRayInstrumentation.cpp
    M llvm/lib/DebugInfo/GSYM/CallSiteInfo.cpp
    M llvm/lib/DebugInfo/GSYM/FunctionInfo.cpp
    M llvm/lib/DebugInfo/GSYM/GsymCreator.cpp
    M llvm/lib/DebugInfo/GSYM/GsymReader.cpp
    M llvm/lib/DebugInfo/GSYM/MergedFunctionsInfo.cpp
    M llvm/lib/ExecutionEngine/JITLink/COFFLinkGraphBuilder.cpp
    M llvm/lib/ExecutionEngine/JITLink/EHFrameSupport.cpp
    M llvm/lib/ExecutionEngine/JITLink/EHFrameSupportImpl.h
    M llvm/lib/ExecutionEngine/JITLink/ELFLinkGraphBuilder.h
    M llvm/lib/ExecutionEngine/JITLink/ELF_aarch64.cpp
    M llvm/lib/ExecutionEngine/JITLink/ELF_loongarch.cpp
    M llvm/lib/ExecutionEngine/JITLink/ELF_x86_64.cpp
    M llvm/lib/ExecutionEngine/JITLink/JITLink.cpp
    M llvm/lib/ExecutionEngine/JITLink/JITLinkMemoryManager.cpp
    M llvm/lib/ExecutionEngine/JITLink/MachOLinkGraphBuilder.cpp
    M llvm/lib/ExecutionEngine/JITLink/MachO_arm64.cpp
    M llvm/lib/ExecutionEngine/JITLink/MachO_x86_64.cpp
    M llvm/lib/ExecutionEngine/JITLink/aarch64.cpp
    M llvm/lib/ExecutionEngine/JITLink/loongarch.cpp
    M llvm/lib/ExecutionEngine/JITLink/x86_64.cpp
    M llvm/lib/ExecutionEngine/Orc/COFFPlatform.cpp
    M llvm/lib/ExecutionEngine/Orc/Core.cpp
    M llvm/lib/ExecutionEngine/Orc/DebugObjectManagerPlugin.cpp
    M llvm/lib/ExecutionEngine/Orc/Debugging/DebuggerSupportPlugin.cpp
    M llvm/lib/ExecutionEngine/Orc/ELFNixPlatform.cpp
    M llvm/lib/ExecutionEngine/Orc/EPCIndirectionUtils.cpp
    M llvm/lib/ExecutionEngine/Orc/ExecutionUtils.cpp
    M llvm/lib/ExecutionEngine/Orc/JITLinkRedirectableSymbolManager.cpp
    M llvm/lib/ExecutionEngine/Orc/JITLinkReentryTrampolines.cpp
    M llvm/lib/ExecutionEngine/Orc/LazyReexports.cpp
    M llvm/lib/ExecutionEngine/Orc/MachOPlatform.cpp
    M llvm/lib/ExecutionEngine/Orc/ObjectLinkingLayer.cpp
    M llvm/lib/ExecutionEngine/Orc/SectCreate.cpp
    M llvm/lib/ExecutionEngine/Orc/TaskDispatch.cpp
    M llvm/lib/ExecutionEngine/RuntimeDyld/RTDyldMemoryManager.cpp
    M llvm/lib/FileCheck/FileCheck.cpp
    M llvm/lib/Frontend/OpenMP/OMPIRBuilder.cpp
    M llvm/lib/IR/AttributeImpl.h
    M llvm/lib/IR/Attributes.cpp
    M llvm/lib/IR/ConstantRange.cpp
    M llvm/lib/IR/ConstantsContext.h
    M llvm/lib/IR/IRBuilder.cpp
    M llvm/lib/IR/Instruction.cpp
    M llvm/lib/IR/Instructions.cpp
    M llvm/lib/IR/PassTimingInfo.cpp
    M llvm/lib/IR/SafepointIRVerifier.cpp
    M llvm/lib/IR/Value.cpp
    M llvm/lib/IR/VectorTypeUtils.cpp
    M llvm/lib/LTO/LTOBackend.cpp
    M llvm/lib/LTO/ThinLTOCodeGenerator.cpp
    M llvm/lib/Linker/IRMover.cpp
    M llvm/lib/MC/MCAsmStreamer.cpp
    M llvm/lib/MC/MCObjectFileInfo.cpp
    M llvm/lib/MC/MCParser/COFFAsmParser.cpp
    M llvm/lib/MC/MCStreamer.cpp
    M llvm/lib/MC/MCTargetOptionsCommandFlags.cpp
    M llvm/lib/MC/MCWinCOFFStreamer.cpp
    M llvm/lib/MC/WinCOFFObjectWriter.cpp
    M llvm/lib/ObjCopy/COFF/COFFObjcopy.cpp
    M llvm/lib/ObjCopy/MachO/MachOLayoutBuilder.cpp
    M llvm/lib/ObjCopy/MachO/MachOObject.cpp
    M llvm/lib/ObjCopy/MachO/MachOObject.h
    M llvm/lib/ObjCopy/MachO/MachOReader.cpp
    M llvm/lib/Object/WindowsMachineFlag.cpp
    M llvm/lib/Passes/PassBuilder.cpp
    M llvm/lib/Passes/PassBuilderPipelines.cpp
    M llvm/lib/Passes/PassRegistry.def
    M llvm/lib/ProfileData/Coverage/CoverageMapping.cpp
    M llvm/lib/ProfileData/MemProfReader.cpp
    M llvm/lib/ProfileData/PGOCtxProfReader.cpp
    M llvm/lib/ProfileData/PGOCtxProfWriter.cpp
    M llvm/lib/SandboxIR/Context.cpp
    M llvm/lib/Support/APFloat.cpp
    M llvm/lib/Support/Errno.cpp
    M llvm/lib/Support/ErrorHandling.cpp
    M llvm/lib/Support/ModRef.cpp
    M llvm/lib/Support/Timer.cpp
    M llvm/lib/Support/Unix/Path.inc
    M llvm/lib/Support/Unix/Process.inc
    M llvm/lib/Support/Unix/Program.inc
    M llvm/lib/Support/Unix/Signals.inc
    M llvm/lib/Support/Unix/Unix.h
    M llvm/lib/Support/Windows/Path.inc
    M llvm/lib/Support/raw_ostream.cpp
    M llvm/lib/TableGen/Record.cpp
    M llvm/lib/TableGen/TGLexer.cpp
    M llvm/lib/TableGen/TGLexer.h
    M llvm/lib/TableGen/TGParser.cpp
    M llvm/lib/TableGen/TGParser.h
    M llvm/lib/Target/AArch64/AArch64.td
    M llvm/lib/Target/AArch64/AArch64AsmPrinter.cpp
    M llvm/lib/Target/AArch64/AArch64CleanupLocalDynamicTLSPass.cpp
    M llvm/lib/Target/AArch64/AArch64ExpandPseudoInsts.cpp
    M llvm/lib/Target/AArch64/AArch64FMV.td
    M llvm/lib/Target/AArch64/AArch64Features.td
    M llvm/lib/Target/AArch64/AArch64FrameLowering.cpp
    M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
    M llvm/lib/Target/AArch64/AArch64InstrFormats.td
    M llvm/lib/Target/AArch64/AArch64InstrInfo.td
    M llvm/lib/Target/AArch64/AArch64PointerAuth.cpp
    M llvm/lib/Target/AArch64/AArch64Processors.td
    M llvm/lib/Target/AArch64/AArch64SLSHardening.cpp
    M llvm/lib/Target/AArch64/AArch64SMEInstrInfo.td
    M llvm/lib/Target/AArch64/AArch64SVEInstrInfo.td
    M llvm/lib/Target/AArch64/AArch64SchedNeoverseN2.td
    M llvm/lib/Target/AArch64/AArch64SystemOperands.td
    M llvm/lib/Target/AArch64/AArch64TargetTransformInfo.cpp
    M llvm/lib/Target/AArch64/AArch64TargetTransformInfo.h
    M llvm/lib/Target/AArch64/AsmParser/AArch64AsmParser.cpp
    M llvm/lib/Target/AArch64/GISel/AArch64CallLowering.cpp
    M llvm/lib/Target/AArch64/GISel/AArch64LegalizerInfo.cpp
    M llvm/lib/Target/AArch64/GISel/AArch64LegalizerInfo.h
    M llvm/lib/Target/AArch64/MCTargetDesc/AArch64InstPrinter.cpp
    M llvm/lib/Target/AArch64/SVEInstrFormats.td
    M llvm/lib/Target/AArch64/Utils/AArch64BaseInfo.cpp
    M llvm/lib/Target/AArch64/Utils/AArch64BaseInfo.h
    M llvm/lib/Target/AMDGPU/AMDGPU.h
    M llvm/lib/Target/AMDGPU/AMDGPUArgumentUsageInfo.h
    M llvm/lib/Target/AMDGPU/AMDGPUAsmPrinter.cpp
    M llvm/lib/Target/AMDGPU/AMDGPUCodeGenPrepare.cpp
    M llvm/lib/Target/AMDGPU/AMDGPUCombine.td
    M llvm/lib/Target/AMDGPU/AMDGPUCombinerHelper.cpp
    M llvm/lib/Target/AMDGPU/AMDGPUCombinerHelper.h
    M llvm/lib/Target/AMDGPU/AMDGPUIGroupLP.cpp
    M llvm/lib/Target/AMDGPU/AMDGPUISelDAGToDAG.cpp
    M llvm/lib/Target/AMDGPU/AMDGPUInstCombineIntrinsic.cpp
    M llvm/lib/Target/AMDGPU/AMDGPUInstructionSelector.cpp
    M llvm/lib/Target/AMDGPU/AMDGPULateCodeGenPrepare.cpp
    M llvm/lib/Target/AMDGPU/AMDGPULibFunc.cpp
    M llvm/lib/Target/AMDGPU/AMDGPULowerBufferFatPointers.cpp
    M llvm/lib/Target/AMDGPU/AMDGPUMemoryUtils.cpp
    M llvm/lib/Target/AMDGPU/AMDGPUOpenCLEnqueuedBlockLowering.cpp
    A llvm/lib/Target/AMDGPU/AMDGPUOpenCLEnqueuedBlockLowering.h
    M llvm/lib/Target/AMDGPU/AMDGPUPassRegistry.def
    M llvm/lib/Target/AMDGPU/AMDGPUPostLegalizerCombiner.cpp
    M llvm/lib/Target/AMDGPU/AMDGPUPreLegalizerCombiner.cpp
    A llvm/lib/Target/AMDGPU/AMDGPUPreloadKernArgProlog.cpp
    A llvm/lib/Target/AMDGPU/AMDGPUPreloadKernArgProlog.h
    M llvm/lib/Target/AMDGPU/AMDGPURegisterBankInfo.cpp
    M llvm/lib/Target/AMDGPU/AMDGPURemoveIncompatibleFunctions.cpp
    A llvm/lib/Target/AMDGPU/AMDGPURemoveIncompatibleFunctions.h
    M llvm/lib/Target/AMDGPU/AMDGPUTargetMachine.cpp
    M llvm/lib/Target/AMDGPU/AsmParser/AMDGPUAsmParser.cpp
    M llvm/lib/Target/AMDGPU/BUFInstructions.td
    M llvm/lib/Target/AMDGPU/CMakeLists.txt
    M llvm/lib/Target/AMDGPU/Disassembler/AMDGPUDisassembler.cpp
    M llvm/lib/Target/AMDGPU/Disassembler/AMDGPUDisassembler.h
    M llvm/lib/Target/AMDGPU/GCNHazardRecognizer.cpp
    M llvm/lib/Target/AMDGPU/GCNSchedStrategy.cpp
    M llvm/lib/Target/AMDGPU/MCTargetDesc/AMDGPUTargetStreamer.cpp
    M llvm/lib/Target/AMDGPU/MCTargetDesc/AMDGPUTargetStreamer.h
    M llvm/lib/Target/AMDGPU/MIMGInstructions.td
    M llvm/lib/Target/AMDGPU/SIFoldOperands.cpp
    M llvm/lib/Target/AMDGPU/SIFormMemoryClauses.cpp
    M llvm/lib/Target/AMDGPU/SIFrameLowering.cpp
    M llvm/lib/Target/AMDGPU/SIISelLowering.cpp
    M llvm/lib/Target/AMDGPU/SIISelLowering.h
    M llvm/lib/Target/AMDGPU/SIInstrInfo.cpp
    M llvm/lib/Target/AMDGPU/SIInstrInfo.h
    M llvm/lib/Target/AMDGPU/SIInstructions.td
    M llvm/lib/Target/AMDGPU/SILowerControlFlow.cpp
    A llvm/lib/Target/AMDGPU/SILowerControlFlow.h
    M llvm/lib/Target/AMDGPU/SIMachineFunctionInfo.cpp
    M llvm/lib/Target/AMDGPU/SIRegisterInfo.td
    M llvm/lib/Target/AMDGPU/SIShrinkInstructions.cpp
    M llvm/lib/Target/AMDGPU/SIWholeQuadMode.cpp
    M llvm/lib/Target/AMDGPU/SMInstructions.td
    M llvm/lib/Target/AMDGPU/SOPInstructions.td
    M llvm/lib/Target/AMDGPU/VOP1Instructions.td
    M llvm/lib/Target/AMDGPU/VOP2Instructions.td
    M llvm/lib/Target/AMDGPU/VOP3Instructions.td
    M llvm/lib/Target/AMDGPU/VOPCInstructions.td
    M llvm/lib/Target/AMDGPU/VOPInstructions.td
    M llvm/lib/Target/ARC/ARCFrameLowering.cpp
    M llvm/lib/Target/ARM/ARMExpandPseudoInsts.cpp
    M llvm/lib/Target/ARM/ARMFrameLowering.cpp
    M llvm/lib/Target/ARM/ARMISelLowering.cpp
    M llvm/lib/Target/ARM/ARMInstrFormats.td
    M llvm/lib/Target/ARM/ARMInstrInfo.td
    M llvm/lib/Target/ARM/ARMInstrNEON.td
    M llvm/lib/Target/ARM/ARMInstrThumb2.td
    M llvm/lib/Target/ARM/ARMSLSHardening.cpp
    M llvm/lib/Target/ARM/ARMSystemRegister.td
    M llvm/lib/Target/ARM/AsmParser/ARMAsmParser.cpp
    M llvm/lib/Target/ARM/ThumbRegisterInfo.cpp
    M llvm/lib/Target/ARM/Utils/ARMBaseInfo.cpp
    M llvm/lib/Target/ARM/Utils/ARMBaseInfo.h
    M llvm/lib/Target/AVR/AVRInstrInfo.td
    M llvm/lib/Target/BPF/BPFAsmPrinter.cpp
    M llvm/lib/Target/CSKY/CSKYFrameLowering.cpp
    M llvm/lib/Target/DirectX/DXIL.td
    M llvm/lib/Target/DirectX/DXILIntrinsicExpansion.cpp
    M llvm/lib/Target/DirectX/DXILOpBuilder.cpp
    M llvm/lib/Target/DirectX/DXILOpLowering.cpp
    M llvm/lib/Target/DirectX/DXILResourceAccess.cpp
    M llvm/lib/Target/DirectX/DXILShaderFlags.cpp
    M llvm/lib/Target/DirectX/DXILShaderFlags.h
    M llvm/lib/Target/DirectX/DXILTranslateMetadata.cpp
    M llvm/lib/Target/DirectX/DXILWriter/DXILBitcodeWriter.cpp
    M llvm/lib/Target/DirectX/DirectXTargetTransformInfo.cpp
    M llvm/lib/Target/Hexagon/HexagonDepInstrInfo.td
    M llvm/lib/Target/Hexagon/HexagonDepMapAsm2Intrin.td
    M llvm/lib/Target/Hexagon/HexagonISelLowering.cpp
    M llvm/lib/Target/Hexagon/HexagonLoopIdiomRecognition.cpp
    M llvm/lib/Target/Hexagon/HexagonPatterns.td
    M llvm/lib/Target/Hexagon/HexagonSubtarget.h
    M llvm/lib/Target/LoongArch/AsmParser/LoongArchAsmParser.cpp
    M llvm/lib/Target/LoongArch/LoongArchFrameLowering.cpp
    M llvm/lib/Target/LoongArch/LoongArchInstrInfo.cpp
    M llvm/lib/Target/LoongArch/MCTargetDesc/LoongArchMCCodeEmitter.cpp
    M llvm/lib/Target/M68k/AsmParser/M68kAsmParser.cpp
    M llvm/lib/Target/M68k/Disassembler/M68kDisassembler.cpp
    M llvm/lib/Target/M68k/M68kInstrData.td
    M llvm/lib/Target/Mips/MipsDelaySlotFiller.cpp
    M llvm/lib/Target/Mips/MipsSEFrameLowering.cpp
    M llvm/lib/Target/NVPTX/MCTargetDesc/NVPTXInstPrinter.cpp
    M llvm/lib/Target/NVPTX/NVPTXCtorDtorLowering.cpp
    M llvm/lib/Target/NVPTX/NVPTXISelDAGToDAG.cpp
    M llvm/lib/Target/NVPTX/NVPTXISelDAGToDAG.h
    M llvm/lib/Target/NVPTX/NVPTXISelLowering.cpp
    M llvm/lib/Target/NVPTX/NVPTXISelLowering.h
    M llvm/lib/Target/NVPTX/NVPTXInstrInfo.td
    M llvm/lib/Target/NVPTX/NVPTXIntrinsics.td
    M llvm/lib/Target/NVPTX/NVPTXSubtarget.cpp
    M llvm/lib/Target/NVPTX/NVPTXSubtarget.h
    M llvm/lib/Target/NVPTX/NVPTXTargetMachine.cpp
    M llvm/lib/Target/NVPTX/NVPTXUtilities.cpp
    M llvm/lib/Target/NVPTX/NVVMReflect.cpp
    M llvm/lib/Target/PowerPC/PPCFrameLowering.cpp
    M llvm/lib/Target/PowerPC/PPCISelDAGToDAG.cpp
    M llvm/lib/Target/PowerPC/PPCInstrInfo.cpp
    M llvm/lib/Target/RISCV/AsmParser/RISCVAsmParser.cpp
    M llvm/lib/Target/RISCV/CMakeLists.txt
    M llvm/lib/Target/RISCV/Disassembler/RISCVDisassembler.cpp
    M llvm/lib/Target/RISCV/GISel/RISCVInstructionSelector.cpp
    M llvm/lib/Target/RISCV/GISel/RISCVLegalizerInfo.cpp
    M llvm/lib/Target/RISCV/MCTargetDesc/RISCVAsmBackend.cpp
    M llvm/lib/Target/RISCV/MCTargetDesc/RISCVBaseInfo.h
    M llvm/lib/Target/RISCV/MCTargetDesc/RISCVInstPrinter.cpp
    M llvm/lib/Target/RISCV/RISCV.td
    M llvm/lib/Target/RISCV/RISCVCombine.td
    M llvm/lib/Target/RISCV/RISCVFeatures.td
    M llvm/lib/Target/RISCV/RISCVFrameLowering.cpp
    M llvm/lib/Target/RISCV/RISCVFrameLowering.h
    M llvm/lib/Target/RISCV/RISCVGatherScatterLowering.cpp
    M llvm/lib/Target/RISCV/RISCVISelDAGToDAG.cpp
    M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
    M llvm/lib/Target/RISCV/RISCVISelLowering.h
    M llvm/lib/Target/RISCV/RISCVInsertVSETVLI.cpp
    M llvm/lib/Target/RISCV/RISCVInstrFormatsC.td
    M llvm/lib/Target/RISCV/RISCVInstrInfo.cpp
    M llvm/lib/Target/RISCV/RISCVInstrInfo.td
    M llvm/lib/Target/RISCV/RISCVInstrInfoC.td
    M llvm/lib/Target/RISCV/RISCVInstrInfoD.td
    M llvm/lib/Target/RISCV/RISCVInstrInfoXqci.td
    M llvm/lib/Target/RISCV/RISCVInstrInfoZc.td
    M llvm/lib/Target/RISCV/RISCVMachineFunctionInfo.h
    A llvm/lib/Target/RISCV/RISCVPfmCounters.td
    M llvm/lib/Target/RISCV/RISCVProcessors.td
    M llvm/lib/Target/RISCV/RISCVSchedSiFiveP400.td
    M llvm/lib/Target/RISCV/RISCVSchedule.td
    M llvm/lib/Target/RISCV/RISCVSystemOperands.td
    M llvm/lib/Target/RISCV/RISCVTargetTransformInfo.cpp
    M llvm/lib/Target/RISCV/RISCVTargetTransformInfo.h
    M llvm/lib/Target/RISCV/RISCVVLOptimizer.cpp
    M llvm/lib/Target/RISCV/RISCVVectorPeephole.cpp
    M llvm/lib/Target/SPIRV/Analysis/SPIRVConvergenceRegionAnalysis.cpp
    M llvm/lib/Target/SPIRV/CMakeLists.txt
    M llvm/lib/Target/SPIRV/SPIRVAsmPrinter.cpp
    M llvm/lib/Target/SPIRV/SPIRVCallLowering.cpp
    R llvm/lib/Target/SPIRV/SPIRVDuplicatesTracker.cpp
    M llvm/lib/Target/SPIRV/SPIRVDuplicatesTracker.h
    M llvm/lib/Target/SPIRV/SPIRVEmitIntrinsics.cpp
    M llvm/lib/Target/SPIRV/SPIRVGlobalRegistry.cpp
    M llvm/lib/Target/SPIRV/SPIRVGlobalRegistry.h
    M llvm/lib/Target/SPIRV/SPIRVInstrInfo.cpp
    M llvm/lib/Target/SPIRV/SPIRVInstrInfo.h
    M llvm/lib/Target/SPIRV/SPIRVInstructionSelector.cpp
    M llvm/lib/Target/SPIRV/SPIRVModuleAnalysis.cpp
    M llvm/lib/Target/SPIRV/SPIRVModuleAnalysis.h
    M llvm/lib/Target/SPIRV/SPIRVPreLegalizer.cpp
    M llvm/lib/Target/SPIRV/SPIRVStructurizer.cpp
    M llvm/lib/Target/SPIRV/SPIRVUtils.h
    M llvm/lib/Target/SystemZ/SystemZFrameLowering.cpp
    M llvm/lib/Target/TargetMachine.cpp
    M llvm/lib/Target/WebAssembly/MCTargetDesc/WebAssemblyMCTargetDesc.cpp
    M llvm/lib/Target/WebAssembly/MCTargetDesc/WebAssemblyMCTargetDesc.h
    M llvm/lib/Target/WebAssembly/WebAssemblyCFGStackify.cpp
    M llvm/lib/Target/WebAssembly/WebAssemblyISelDAGToDAG.cpp
    M llvm/lib/Target/WebAssembly/WebAssemblyLateEHPrepare.cpp
    M llvm/lib/Target/WebAssembly/WebAssemblyTargetMachine.cpp
    M llvm/lib/Target/X86/AsmParser/X86Operand.h
    M llvm/lib/Target/X86/MCTargetDesc/X86ATTInstPrinter.cpp
    M llvm/lib/Target/X86/MCTargetDesc/X86InstComments.cpp
    M llvm/lib/Target/X86/MCTargetDesc/X86InstPrinterCommon.cpp
    M llvm/lib/Target/X86/MCTargetDesc/X86IntelInstPrinter.cpp
    M llvm/lib/Target/X86/X86ExpandPseudo.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/X86InstrAMX.td
    M llvm/lib/Target/X86/X86InstrAVX10.td
    M llvm/lib/Target/X86/X86InstrAVX512.td
    M llvm/lib/Target/X86/X86InstrFMA3Info.cpp
    M llvm/lib/Target/X86/X86InstrFragmentsSIMD.td
    M llvm/lib/Target/X86/X86InstrInfo.cpp
    M llvm/lib/Target/X86/X86InstrMisc.td
    M llvm/lib/Target/X86/X86InstrOperands.td
    M llvm/lib/Target/X86/X86InstrSSE.td
    M llvm/lib/Target/X86/X86LowerAMXType.cpp
    M llvm/lib/Target/X86/X86SchedSapphireRapids.td
    M llvm/lib/Target/X86/X86ScheduleZnver4.td
    M llvm/lib/Target/X86/X86SpeculativeLoadHardening.cpp
    M llvm/lib/Target/X86/X86TargetTransformInfo.cpp
    M llvm/lib/Target/XCore/XCoreFrameLowering.cpp
    M llvm/lib/Target/Xtensa/XtensaFrameLowering.cpp
    M llvm/lib/TargetParser/AArch64TargetParser.cpp
    M llvm/lib/TargetParser/Host.cpp
    M llvm/lib/TargetParser/RISCVISAInfo.cpp
    M llvm/lib/TargetParser/Triple.cpp
    M llvm/lib/ToolDrivers/llvm-lib/LibDriver.cpp
    M llvm/lib/Transforms/AggressiveInstCombine/AggressiveInstCombine.cpp
    M llvm/lib/Transforms/Coroutines/Coroutines.cpp
    M llvm/lib/Transforms/IPO/ArgumentPromotion.cpp
    M llvm/lib/Transforms/IPO/Attributor.cpp
    M llvm/lib/Transforms/IPO/AttributorAttributes.cpp
    M llvm/lib/Transforms/IPO/FunctionAttrs.cpp
    M llvm/lib/Transforms/IPO/FunctionImport.cpp
    M llvm/lib/Transforms/IPO/FunctionSpecialization.cpp
    M llvm/lib/Transforms/IPO/GlobalOpt.cpp
    M llvm/lib/Transforms/IPO/MemProfContextDisambiguation.cpp
    M llvm/lib/Transforms/IPO/OpenMPOpt.cpp
    M llvm/lib/Transforms/IPO/SampleProfile.cpp
    M llvm/lib/Transforms/InstCombine/InstCombineAddSub.cpp
    M llvm/lib/Transforms/InstCombine/InstCombineAndOrXor.cpp
    M llvm/lib/Transforms/InstCombine/InstCombineCalls.cpp
    M llvm/lib/Transforms/InstCombine/InstCombineCasts.cpp
    M llvm/lib/Transforms/InstCombine/InstCombineCompares.cpp
    M llvm/lib/Transforms/InstCombine/InstCombineInternal.h
    M llvm/lib/Transforms/InstCombine/InstCombineLoadStoreAlloca.cpp
    M llvm/lib/Transforms/InstCombine/InstCombineMulDivRem.cpp
    M llvm/lib/Transforms/InstCombine/InstCombinePHI.cpp
    M llvm/lib/Transforms/InstCombine/InstCombineSelect.cpp
    M llvm/lib/Transforms/InstCombine/InstructionCombining.cpp
    M llvm/lib/Transforms/Instrumentation/BoundsChecking.cpp
    M llvm/lib/Transforms/Instrumentation/GCOVProfiling.cpp
    M llvm/lib/Transforms/Instrumentation/HWAddressSanitizer.cpp
    M llvm/lib/Transforms/Instrumentation/LowerAllowCheckPass.cpp
    M llvm/lib/Transforms/Instrumentation/MemorySanitizer.cpp
    M llvm/lib/Transforms/Instrumentation/PGOInstrumentation.cpp
    M llvm/lib/Transforms/Instrumentation/TypeSanitizer.cpp
    M llvm/lib/Transforms/Scalar/ConstraintElimination.cpp
    M llvm/lib/Transforms/Scalar/DeadStoreElimination.cpp
    M llvm/lib/Transforms/Scalar/GVN.cpp
    M llvm/lib/Transforms/Scalar/LICM.cpp
    M llvm/lib/Transforms/Scalar/LoopIdiomRecognize.cpp
    M llvm/lib/Transforms/Scalar/LoopUnrollPass.cpp
    M llvm/lib/Transforms/Scalar/LoopVersioningLICM.cpp
    M llvm/lib/Transforms/Scalar/MemCpyOptimizer.cpp
    M llvm/lib/Transforms/Scalar/NewGVN.cpp
    M llvm/lib/Transforms/Utils/AssumeBundleBuilder.cpp
    M llvm/lib/Transforms/Utils/CodeExtractor.cpp
    M llvm/lib/Transforms/Utils/EntryExitInstrumenter.cpp
    M llvm/lib/Transforms/Utils/FunctionImportUtils.cpp
    M llvm/lib/Transforms/Utils/Local.cpp
    M llvm/lib/Transforms/Utils/LoopSimplify.cpp
    M llvm/lib/Transforms/Utils/SimplifyCFG.cpp
    M llvm/lib/Transforms/Utils/SimplifyLibCalls.cpp
    M llvm/lib/Transforms/Utils/ValueMapper.cpp
    M llvm/lib/Transforms/Vectorize/CMakeLists.txt
    M llvm/lib/Transforms/Vectorize/LoadStoreVectorizer.cpp
    M llvm/lib/Transforms/Vectorize/LoopVectorizationLegality.cpp
    M llvm/lib/Transforms/Vectorize/LoopVectorizationPlanner.h
    M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
    M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
    M llvm/lib/Transforms/Vectorize/SandboxVectorizer/DependencyGraph.cpp
    A llvm/lib/Transforms/Vectorize/SandboxVectorizer/InstrMaps.cpp
    M llvm/lib/Transforms/Vectorize/SandboxVectorizer/Interval.cpp
    M llvm/lib/Transforms/Vectorize/SandboxVectorizer/Legality.cpp
    M llvm/lib/Transforms/Vectorize/SandboxVectorizer/Passes/BottomUpVec.cpp
    M llvm/lib/Transforms/Vectorize/SandboxVectorizer/SandboxVectorizer.cpp
    M llvm/lib/Transforms/Vectorize/SandboxVectorizer/SeedCollector.cpp
    M llvm/lib/Transforms/Vectorize/VPRecipeBuilder.h
    M llvm/lib/Transforms/Vectorize/VPlan.cpp
    M llvm/lib/Transforms/Vectorize/VPlan.h
    M llvm/lib/Transforms/Vectorize/VPlanAnalysis.cpp
    M llvm/lib/Transforms/Vectorize/VPlanHCFGBuilder.cpp
    M llvm/lib/Transforms/Vectorize/VPlanPatternMatch.h
    M llvm/lib/Transforms/Vectorize/VPlanRecipes.cpp
    M llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
    M llvm/lib/Transforms/Vectorize/VPlanUtils.h
    M llvm/lib/Transforms/Vectorize/VPlanValue.h
    M llvm/lib/Transforms/Vectorize/VPlanVerifier.cpp
    M llvm/lib/Transforms/Vectorize/VectorCombine.cpp
    M llvm/test/Analysis/BasicAA/call-attrs.ll
    M llvm/test/Analysis/BasicAA/dereferenceable.ll
    A llvm/test/Analysis/BasicAA/memset-pattern.ll
    M llvm/test/Analysis/BasicAA/tail-byval.ll
    M llvm/test/Analysis/CostModel/AArch64/cast.ll
    M llvm/test/Analysis/CostModel/AArch64/div.ll
    M llvm/test/Analysis/CostModel/AArch64/rem.ll
    A llvm/test/Analysis/CostModel/AArch64/shuffle-extract.ll
    M llvm/test/Analysis/CostModel/AArch64/shuffle-select.ll
    A llvm/test/Analysis/CostModel/AArch64/sve-div.ll
    A llvm/test/Analysis/CostModel/AArch64/sve-rem.ll
    M llvm/test/Analysis/CostModel/RISCV/fp-min-max-abs.ll
    M llvm/test/Analysis/CostModel/RISCV/fp-sqrt-pow.ll
    A llvm/test/Analysis/CostModel/RISCV/reduce-and-i1.ll
    M llvm/test/Analysis/CostModel/RISCV/reduce-and.ll
    M llvm/test/Analysis/CostModel/RISCV/reduce-max.ll
    M llvm/test/Analysis/CostModel/RISCV/reduce-min.ll
    M llvm/test/Analysis/CostModel/RISCV/rvv-cmp.ll
    A llvm/test/Analysis/CostModel/RISCV/rvv-fcmp-f16.ll
    M llvm/test/Analysis/CostModel/X86/alternate-shuffle-cost.ll
    M llvm/test/Analysis/CostModel/X86/reduction.ll
    M llvm/test/Analysis/CostModel/X86/shuffle-insert_subvector-codesize.ll
    M llvm/test/Analysis/CostModel/X86/shuffle-insert_subvector-latency.ll
    M llvm/test/Analysis/CostModel/X86/shuffle-insert_subvector-sizelatency.ll
    M llvm/test/Analysis/CostModel/X86/shuffle-insert_subvector.ll
    M llvm/test/Analysis/CostModel/X86/shuffle-select-codesize.ll
    M llvm/test/Analysis/CostModel/X86/shuffle-select-latency.ll
    M llvm/test/Analysis/CostModel/X86/shuffle-select-sizelatency.ll
    M llvm/test/Analysis/CostModel/X86/shuffle-select.ll
    M llvm/test/Analysis/CostModel/X86/shuffle-splice-codesize.ll
    M llvm/test/Analysis/CostModel/X86/shuffle-splice-latency.ll
    M llvm/test/Analysis/CostModel/X86/shuffle-splice-sizelatency.ll
    M llvm/test/Analysis/CostModel/X86/shuffle-splice.ll
    M llvm/test/Analysis/CostModel/X86/shuffle-two-src-codesize.ll
    M llvm/test/Analysis/CostModel/X86/shuffle-two-src-latency.ll
    M llvm/test/Analysis/CostModel/X86/shuffle-two-src-sizelatency.ll
    M llvm/test/Analysis/CostModel/X86/shuffle-two-src.ll
    M llvm/test/Analysis/CostModel/X86/vector-insert-value.ll
    M llvm/test/Analysis/CtxProfAnalysis/flatten-and-annotate.ll
    M llvm/test/Analysis/CtxProfAnalysis/flatten-check-path.ll
    M llvm/test/Analysis/CtxProfAnalysis/flatten-icp.ll
    M llvm/test/Analysis/CtxProfAnalysis/flatten-zero-path.ll
    M llvm/test/Analysis/CtxProfAnalysis/full-cycle.ll
    M llvm/test/Analysis/CtxProfAnalysis/handle-select.ll
    M llvm/test/Analysis/CtxProfAnalysis/inline.ll
    R llvm/test/Analysis/CtxProfAnalysis/json_equals.py
    M llvm/test/Analysis/CtxProfAnalysis/load-unapplicable.ll
    M llvm/test/Analysis/CtxProfAnalysis/load.ll
    A llvm/test/Analysis/Lint/abi-attrs.ll
    M llvm/test/Analysis/LoopAccessAnalysis/depend_diff_types.ll
    M llvm/test/Analysis/LoopAccessAnalysis/wrapping-pointer-versioning.ll
    M llvm/test/Analysis/ScalarEvolution/2007-08-06-Unsigned.ll
    M llvm/test/Analysis/ScalarEvolution/backedge-taken-count-guard-info-with-multiple-predecessors.ll
    R llvm/test/Analysis/ScalarEvolution/implied-via-addition.ll
    M llvm/test/Analysis/ScalarEvolution/implied-via-division.ll
    M llvm/test/Analysis/ScalarEvolution/infer-prestart-no-wrap.ll
    M llvm/test/Analysis/UniformityAnalysis/NVPTX/daorder.ll
    M llvm/test/Analysis/UniformityAnalysis/NVPTX/diverge.ll
    M llvm/test/Analysis/UniformityAnalysis/NVPTX/hidden_diverge.ll
    M llvm/test/Analysis/UniformityAnalysis/NVPTX/irreducible.ll
    M llvm/test/Analysis/ValueTracking/deref-abstract-gc.ll
    A llvm/test/Analysis/ValueTracking/implied-condition-samesign.ll
    M llvm/test/Analysis/ValueTracking/memory-dereferenceable.ll
    A llvm/test/Assembler/captures-errors.ll
    A llvm/test/Assembler/captures.ll
    M llvm/test/Bitcode/attributes.ll
    M llvm/test/CodeGen/AArch64/GlobalISel/combine-select.mir
    M llvm/test/CodeGen/AArch64/GlobalISel/legalize-bitcast.mir
    A llvm/test/CodeGen/AArch64/GlobalISel/legalize-shuffle-1x.ll
    M llvm/test/CodeGen/AArch64/GlobalISel/legalize-shuffle-vector.mir
    A llvm/test/CodeGen/AArch64/GlobalISel/legalize-store-vector-bools.mir
    M llvm/test/CodeGen/AArch64/aarch64-dup-ext-crash.ll
    A llvm/test/CodeGen/AArch64/adds_cmn.ll
    M llvm/test/CodeGen/AArch64/arm64-fast-isel-conversion-fallback.ll
    M llvm/test/CodeGen/AArch64/arm64-neon-3vdiff.ll
    M llvm/test/CodeGen/AArch64/arm64-popcnt.ll
    M llvm/test/CodeGen/AArch64/atomicrmw-fadd.ll
    M llvm/test/CodeGen/AArch64/atomicrmw-fmax.ll
    M llvm/test/CodeGen/AArch64/atomicrmw-fmin.ll
    M llvm/test/CodeGen/AArch64/atomicrmw-fsub.ll
    M llvm/test/CodeGen/AArch64/bf16-instructions.ll
    M llvm/test/CodeGen/AArch64/bf16-v8-instructions.ll
    A llvm/test/CodeGen/AArch64/complex-deinterleaving-cdot.ll
    M llvm/test/CodeGen/AArch64/complex-deinterleaving-crash.ll
    A llvm/test/CodeGen/AArch64/complex-deinterleaving-opt-crash.ll
    M llvm/test/CodeGen/AArch64/const-shift-of-constmasked.ll
    A llvm/test/CodeGen/AArch64/csel-cmp-cse.ll
    A llvm/test/CodeGen/AArch64/csel-subs-swapped.ll
    M llvm/test/CodeGen/AArch64/cvt-fp-int-fp.ll
    M llvm/test/CodeGen/AArch64/double_reduct.ll
    M llvm/test/CodeGen/AArch64/dp1.ll
    M llvm/test/CodeGen/AArch64/eon.ll
    M llvm/test/CodeGen/AArch64/extract-bits.ll
    M llvm/test/CodeGen/AArch64/fp8-sve-fdot.ll
    M llvm/test/CodeGen/AArch64/fpenv.ll
    A llvm/test/CodeGen/AArch64/half-precision-signof-no-assert.ll
    A llvm/test/CodeGen/AArch64/hwasan-zero-ptr.ll
    M llvm/test/CodeGen/AArch64/machine-combiner.ll
    M llvm/test/CodeGen/AArch64/machine-cp-sub-reg.mir
    M llvm/test/CodeGen/AArch64/machine-licm-hoist-load.ll
    M llvm/test/CodeGen/AArch64/machine-outliner-retaddr-sign-cfi.ll
    M llvm/test/CodeGen/AArch64/machine-outliner-retaddr-sign-diff-scope-same-key.ll
    M llvm/test/CodeGen/AArch64/machine-outliner-retaddr-sign-non-leaf.ll
    M llvm/test/CodeGen/AArch64/machine-outliner-retaddr-sign-regsave.mir
    M llvm/test/CodeGen/AArch64/machine-outliner-retaddr-sign-same-scope-diff-key.ll
    M llvm/test/CodeGen/AArch64/machine-outliner-retaddr-sign-sp-mod.mir
    M llvm/test/CodeGen/AArch64/machine-outliner-retaddr-sign-subtarget.ll
    M llvm/test/CodeGen/AArch64/machine-outliner-retaddr-sign-thunk.ll

  Log Message:
  -----------
  Merge branch 'main' into users/zhaoqi5/avoid-scheduling-and-attach-relax


Compare: https://github.com/llvm/llvm-project/compare/9a6079520909...31f913683d7b

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