[all-commits] [llvm/llvm-project] e3ff64: [lldb] Fix comment in ~Thread (NFC) (#116850)

Alexey Bataev via All-commits all-commits at lists.llvm.org
Thu Nov 21 10:21:05 PST 2024


  Branch: refs/heads/users/alexey-bataev/spr/slpmodel-reduction_addextn-x-i1-as-extctpopbitcast-n-x-i1-to-int-n
  Home:   https://github.com/llvm/llvm-project
  Commit: e3ff649abe975c04aa179622c6f4757e7aa66aaf
      https://github.com/llvm/llvm-project/commit/e3ff649abe975c04aa179622c6f4757e7aa66aaf
  Author: Dave Lee <davelee.com at gmail.com>
  Date:   2024-11-19 (Tue, 19 Nov 2024)

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

  Log Message:
  -----------
  [lldb] Fix comment in ~Thread (NFC) (#116850)


  Commit: 1073e9049bb2483a6ff554cbc5da1c2fd0b9d75d
      https://github.com/llvm/llvm-project/commit/1073e9049bb2483a6ff554cbc5da1c2fd0b9d75d
  Author: Matt Arsenault <Matthew.Arsenault at amd.com>
  Date:   2024-11-19 (Tue, 19 Nov 2024)

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

  Log Message:
  -----------
  AMDGPU: Clean up more real instruction predicate overrides (#116868)

In general real instructions should not have manually specified
predicates.


  Commit: 1c1fbf51b5ec9657e5da7fa94ee892273255544a
      https://github.com/llvm/llvm-project/commit/1c1fbf51b5ec9657e5da7fa94ee892273255544a
  Author: Sam Clegg <sbc at chromium.org>
  Date:   2024-11-19 (Tue, 19 Nov 2024)

  Changed paths:
    M lld/test/wasm/tls-non-shared-memory.s
    M lld/wasm/Symbols.cpp
    M lld/wasm/Symbols.h
    M lld/wasm/SyntheticSections.cpp

  Log Message:
  -----------
  [lld][WebAssembly] Fix TLS-relative relocations when linking without shared memory (#116136)

TLS-relative relocations always need to be relative the TLS section
since they get added to `__tls_base` at runtime.

Without this change the tls base address was effectively being added to
the final value twice in this case.

This only effects code the is built with `-pthread` but linked without
shared memory (i.e. without threads).

Fixes: https://github.com/emscripten-core/emscripten/issues/22880


  Commit: 076513646cfd922b42ea0e87e2f07397a3ff41a4
      https://github.com/llvm/llvm-project/commit/076513646cfd922b42ea0e87e2f07397a3ff41a4
  Author: Florian Hahn <flo at fhahn.com>
  Date:   2024-11-19 (Tue, 19 Nov 2024)

  Changed paths:
    M llvm/lib/Transforms/Utils/Local.cpp
    M llvm/test/Transforms/InstCombine/intersect-accessgroup.ll
    M llvm/test/Transforms/InstCombine/loadstore-metadata.ll
    M llvm/test/Transforms/PhaseOrdering/X86/preserve-access-group.ll

  Log Message:
  -----------
  [Local] Only intersect llvm.access.group metadata if instr moves. (#115868)

Preserve llvm.access.group metadata on the replacement instruction, if
it does not move. In that case, the program would be UB, if the parallel
property encoded in the metadata does not hold.

This matches the LangRef recently updated in #116220

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


  Commit: 4d7df40c084d9c551761027f873a59ac83cb398d
      https://github.com/llvm/llvm-project/commit/4d7df40c084d9c551761027f873a59ac83cb398d
  Author: Valentin Clement (バレンタイン クレメン) <clementval at gmail.com>
  Date:   2024-11-19 (Tue, 19 Nov 2024)

  Changed paths:
    M flang/lib/Optimizer/Transforms/CUFOpConversion.cpp
    M flang/test/Fir/CUDA/cuda-data-transfer.fir

  Log Message:
  -----------
  [flang][cuda] Materialize constant src in memory (#116851)

When the src of the data transfer is a constant, it needs to be
materialized in memory to be able to perform a data transfer.

```
subroutine sub1()
  real, device :: a(10)
  integer :: I

  do i = 5, 10
    a(i) = -4.0
  end do
end
```


  Commit: 41c86ca714a68eea8c73cf57fba28718d466660b
      https://github.com/llvm/llvm-project/commit/41c86ca714a68eea8c73cf57fba28718d466660b
  Author: Petr Penzin <penzin.dev at gmail.com>
  Date:   2024-11-19 (Tue, 19 Nov 2024)

  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 TT-Ascalon-d8 processor (#115100)

Ascalon is an out-of-order CPU core from Tenstorrent. Overview:
https://tenstorrent.com/ip/tt-ascalon

Adding 8-wide version, -mcpu=tt-ascalon-d8. Scheduling model will be
added in a separate PR.

---------

Co-authored-by: Anton Blanchard <antonb at tenstorrent.com>


  Commit: 012dd8be4b5a4c00deb22345c630990f160b3aa3
      https://github.com/llvm/llvm-project/commit/012dd8be4b5a4c00deb22345c630990f160b3aa3
  Author: Petr Hosek <phosek at google.com>
  Date:   2024-11-19 (Tue, 19 Nov 2024)

  Changed paths:
    M libcxx/test/benchmarks/CMakeLists.txt

  Log Message:
  -----------
  [libcxx] Passthrough the necessary CMake variables to benchmarks (#116644)

This addresses the issue uncovered by #115361. Previously, we weren't
building benchmarks in many cases due to the following block:

https://github.com/llvm/llvm-project/blob/e58949632e91477af58d983f3b66369e6a2c8233/libcxx/CMakeLists.txt#L162-L172

We need to passthrough the necessary variables into the benchmarks
subbuild and use correct syntax.


  Commit: 7c41b5ccdcf0f5de1b9b254693635283faff3658
      https://github.com/llvm/llvm-project/commit/7c41b5ccdcf0f5de1b9b254693635283faff3658
  Author: Chris Apple <cja-private at pm.me>
  Date:   2024-11-19 (Tue, 19 Nov 2024)

  Changed paths:
    M compiler-rt/lib/rtsan/rtsan.cpp
    M compiler-rt/lib/rtsan/rtsan_diagnostics.cpp
    M compiler-rt/lib/rtsan/rtsan_diagnostics.h
    A compiler-rt/test/rtsan/report_error_summary.cpp

  Log Message:
  -----------
  [rtsan] Add support for ReportErrorSummary (#116424)

Adding support for the extra SUMMARY line that is output by most
compilers. This also adds the ability for end-users to specify their own
handlers for reporting these errors (see the test).


  Commit: 3c8818cf2deaa050817ecec1c99cf939295feced
      https://github.com/llvm/llvm-project/commit/3c8818cf2deaa050817ecec1c99cf939295feced
  Author: Chris Apple <cja-private at pm.me>
  Date:   2024-11-19 (Tue, 19 Nov 2024)

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

  Log Message:
  -----------
  [rtsan] Add more file descriptor interceptors - dup*, lseek (#116853)

# Why we think these are real-time unsafe

They correspond directly to system calls in linux and OSX, they are
manipulating a shared resource, which likely takes some operating-system
synchronization.


  Commit: 944478dd62a78f6bb43d4da210643affcc4584b6
      https://github.com/llvm/llvm-project/commit/944478dd62a78f6bb43d4da210643affcc4584b6
  Author: Aaron Puchert <aaronpuchert at alice-dsl.net>
  Date:   2024-11-19 (Tue, 19 Nov 2024)

  Changed paths:
    M clang/tools/clang-shlib/CMakeLists.txt
    A clang/tools/clang-shlib/simple_version_script.map.in
    M llvm/CMakeLists.txt

  Log Message:
  -----------
  Introduce symbol versioning for clang-cpp (#116556)

The situation that required symbol versions on the LLVM shared library
can also happen for clang-cpp, although it is less common: different
tools require different versions of the library, and through transitive
dependencies a process ends up with multiple copies of clang-cpp. This
causes havoc with ELF, because calls meant to go one version of the
library end up with another.

I've also considered introducing a symbol version globally, but for
example the clang (C) library and other targets outside of LLVM/Clang,
e.g. libc++, would not want that. So it's probably best if we keep it to
those libraries.


  Commit: 3a63407686313f46f9abc664fd10b01f4359ee27
      https://github.com/llvm/llvm-project/commit/3a63407686313f46f9abc664fd10b01f4359ee27
  Author: Louis Dionne <ldionne.2 at gmail.com>
  Date:   2024-11-20 (Wed, 20 Nov 2024)

  Changed paths:
    M libcxx/include/CMakeLists.txt
    M libcxx/include/__atomic/atomic.h
    R libcxx/include/__atomic/atomic_base.h
    M libcxx/include/atomic
    M libcxx/include/barrier
    M libcxx/include/latch
    M libcxx/include/module.modulemap
    M libcxx/include/semaphore
    M libcxx/src/barrier.cpp

  Log Message:
  -----------
  [libc++] Make __atomic_base into an implementation detail of std::atomic (#115764)

The __atomic_base base class is only useful to conditionalize the
operations we provide inside std::atomic. It shouldn't be used directly
from other places in the library which can use std::atomic directly
instead.

Since we've granularized our includes, using std::atomic directly should
not make much of a difference compile-time wise.

This patch starts using std::atomic directly from other classes like
std::barrier and std::latch. Changing this shouldn't be an ABI break
since both classes have the same size and layout.

The benefits of this patch are isolating other parts of the code base
from implementation details of std::atomic and simplifying the mental
model for std::atomic's layers of implementation by making it clear that
__atomic_base is only an implementation detail of std::atomic.


  Commit: d8bd7f11c8c781646406e76731dd8d76ed5425dd
      https://github.com/llvm/llvm-project/commit/d8bd7f11c8c781646406e76731dd8d76ed5425dd
  Author: Kyle Wang <ec1wng at gmail.com>
  Date:   2024-11-19 (Tue, 19 Nov 2024)

  Changed paths:
    M mlir/include/mlir/Dialect/LLVMIR/ROCDLOps.td
    M mlir/test/Dialect/LLVMIR/rocdl.mlir
    M mlir/test/Target/LLVMIR/rocdl.mlir

  Log Message:
  -----------
  [mlir] Support ROCDL::ReadlaneOp (#116593)

Support ROCDL::ReadlaneOp to solve
https://github.com/ROCm/triton-internal/issues/411.


  Commit: 581f755a2a22910da8a9a160c4ea5efeb43a40b4
      https://github.com/llvm/llvm-project/commit/581f755a2a22910da8a9a160c4ea5efeb43a40b4
  Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
  Date:   2024-11-19 (Tue, 19 Nov 2024)

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

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


  Commit: 21df32511b558b2c1e24fe23f677fffaad4da333
      https://github.com/llvm/llvm-project/commit/21df32511b558b2c1e24fe23f677fffaad4da333
  Author: Perry Gibson <Wheest at users.noreply.github.com>
  Date:   2024-11-19 (Tue, 19 Nov 2024)

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

  Log Message:
  -----------
  [mlir,python] Expose replaceAllUsesExcept to Python bindings (#115850)

Problem originally described in [the forums
here](https://discourse.llvm.org/t/mlir-python-expose-replaceallusesexcept/83068/1).

Using the MLIR Python bindings, the method
[`replaceAllUsesWith`](https://mlir.llvm.org/doxygen/classmlir_1_1Value.html#ac56b0fdb6246bcf7fa1805ba0eb71aa2)
for `Value` is exposed, e.g.,

```python
orig_value.replace_all_uses_with(
    new_value               
)
```

However, in my use-case I am separating a block into multiple blocks, so
thus want to exclude certain Operations from having their Values
replaced (since I want them to diverge).

Within Value, we have
[`replaceAllUsesExcept`](https://mlir.llvm.org/doxygen/classmlir_1_1Value.html#a9ec8d5c61f8a6aada4062f609372cce4),
where we can pass the Operations which should be skipped.

This is not currently exposed in the Python bindings: this PR fixes
this. Adds `replace_all_uses_except`, which works with individual
Operations, and lists of Operations.


  Commit: d29a50f358e71a695b23e456d66ed2924617deb9
      https://github.com/llvm/llvm-project/commit/d29a50f358e71a695b23e456d66ed2924617deb9
  Author: Jason Molenda <jmolenda at apple.com>
  Date:   2024-11-19 (Tue, 19 Nov 2024)

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

  Log Message:
  -----------
  Revert "[lldb] Allow fetching of RA register when above fault handler (#98566)"

This reverts commit fd424179dcb3417fc0675f77d2bf06c750dd1c33.

This patch has two problems.  First, it is unnecessary, Pavel landed
a fix a week or so before mine which solves this problem in
bbd54e08b08f5ccd38c4665178e65c58f7b14459 .  Second, the fix is
incorrect; for a function above a trap handler, where all registers
are available, this patch would have lldb fetch the return address
register from frame 0.  This might be 10 frames up in the stack;
the frame 0 return address register is incorrect.  The change would
have been correct a short bit later than this, but Pavel's fix is
executed earlier in the function and none of this is needed.


  Commit: e72209db3586ee03f433fe30c3bfac6c9c4d9d6f
      https://github.com/llvm/llvm-project/commit/e72209db3586ee03f433fe30c3bfac6c9c4d9d6f
  Author: Ellis Hoag <ellis.sparky.hoag at gmail.com>
  Date:   2024-11-19 (Tue, 19 Nov 2024)

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

  Log Message:
  -----------
  [MachineSink] Fix stable sort comparator (#116705)

Fix the comparator in `stable_sort()` to satisfy the strict weak
ordering requirement.

In https://github.com/llvm/llvm-project/pull/115367 this comparator was
changed to use `getCycleDepth()` when `shouldOptimizeForSize()` is true.
However, I mistakenly changed to logic so that we use `LHSFreq <
RHSFreq` if **either** of them are zero. This causes us to fail the last
requirment (https://en.cppreference.com/w/cpp/named_req/Compare).

> if comp(a, b) == true and comp(b, c) == true then comp(a, c) == true


  Commit: 73216cd71229fc7ccd380c334d45f809787f41b1
      https://github.com/llvm/llvm-project/commit/73216cd71229fc7ccd380c334d45f809787f41b1
  Author: Peter Klausler <pklausler at nvidia.com>
  Date:   2024-11-19 (Tue, 19 Nov 2024)

  Changed paths:
    M flang/lib/Semantics/check-cuda.cpp

  Log Message:
  -----------
  [flang] Rework CUDA kernel DO host array check (#116301)

Don't worry about derived type components unless they are pointers or
allocatables.


  Commit: 300370c27b31ced572b957b6efdbb2bcee277392
      https://github.com/llvm/llvm-project/commit/300370c27b31ced572b957b6efdbb2bcee277392
  Author: Peter Klausler <pklausler at nvidia.com>
  Date:   2024-11-19 (Tue, 19 Nov 2024)

  Changed paths:
    M flang/lib/Semantics/check-io.cpp
    M flang/test/Semantics/io03.f90
    M flang/test/Semantics/io04.f90
    M flang/test/Semantics/undef-result01.f90

  Log Message:
  -----------
  [flang] Catch I/O statement error (#116647)

Fortran doesn't have unformatted internal I/O, so catch attempts to use
internal units without a format or namelist specifier.

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


  Commit: d20f55fbd5786f056ff8417bddc7c47df6c7f90b
      https://github.com/llvm/llvm-project/commit/d20f55fbd5786f056ff8417bddc7c47df6c7f90b
  Author: Peter Klausler <pklausler at nvidia.com>
  Date:   2024-11-19 (Tue, 19 Nov 2024)

  Changed paths:
    M flang/lib/Semantics/check-declarations.cpp
    A flang/test/Semantics/pointer02.f90

  Log Message:
  -----------
  [flang] Silence bogus error on local proc pointer initializer (#116663)

A procedure pointer is allowed to be initialized with the subprogram in
which it is local, assuming that other requirements are satisfied.

Add a good test for local procedure pointer initialization, as no test
existed for the error message in question.

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


  Commit: a54e8b2cc45f079881ee8013143494e9a1315929
      https://github.com/llvm/llvm-project/commit/a54e8b2cc45f079881ee8013143494e9a1315929
  Author: Peter Klausler <pklausler at nvidia.com>
  Date:   2024-11-19 (Tue, 19 Nov 2024)

  Changed paths:
    M flang/include/flang/Evaluate/tools.h
    M flang/lib/Evaluate/characteristics.cpp
    M flang/lib/Evaluate/tools.cpp
    A flang/test/Semantics/smp-def02.f90

  Log Message:
  -----------
  [flang] Silence bogus error about insufficiently defined interfaces (#116694)

The interfaces of separate module procedures are sufficiently well
defined in a submodule to be used in a local generic interface; the
compiler just needed to work a little harder to find them.

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


  Commit: 6e4821487fcab23bf9ca7f7c667826956bee4d1b
      https://github.com/llvm/llvm-project/commit/6e4821487fcab23bf9ca7f7c667826956bee4d1b
  Author: vporpo <vporpodas at google.com>
  Date:   2024-11-19 (Tue, 19 Nov 2024)

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

  Log Message:
  -----------
  [SandboxVec][DAG] Register callback for erase instr (#116742)

This patch adds the callback registration logic in the DAG's constructor
and the corresponding deregistration logic in the destructor. It also
implements the code that makes sure that SchedBundle and DGNodes can be
safely destroyed in any order.


  Commit: e394fecd5b351e9108d0600c872759d8dea88a42
      https://github.com/llvm/llvm-project/commit/e394fecd5b351e9108d0600c872759d8dea88a42
  Author: Matthias Springer <me at m-sp.org>
  Date:   2024-11-20 (Wed, 20 Nov 2024)

  Changed paths:
    M mlir/docs/Bufferization.md
    M mlir/include/mlir/Dialect/Func/Transforms/Passes.h
    M mlir/include/mlir/Dialect/Func/Transforms/Passes.td
    M mlir/lib/Dialect/Func/Transforms/CMakeLists.txt
    R mlir/lib/Dialect/Func/Transforms/FuncBufferize.cpp
    R mlir/test/Dialect/Func/func-bufferize.mlir
    M mlir/test/Dialect/Transform/test-pass-application.mlir
    M mlir/test/Integration/Dialect/MemRef/verify-memref.mlir

  Log Message:
  -----------
  [mlir][func] Remove `func-bufferize` pass (#114152)

The dialect conversion-based bufferization passes have been migrated to
One-Shot Bufferize about two years ago. To clean up the code base, this
commit removes the `func-bufferize` pass, one of the few remaining parts
of the old infrastructure. Most bufferization passes have already been
removed.

Note for LLVM integration: If you depend on this pass, migrate to
One-Shot Bufferize or copy the pass to your codebase.


  Commit: 066dd91ad8c5d80bf7a301cd9d77aa8267cd4dcd
      https://github.com/llvm/llvm-project/commit/066dd91ad8c5d80bf7a301cd9d77aa8267cd4dcd
  Author: Maksim Panchenko <maks at fb.com>
  Date:   2024-11-19 (Tue, 19 Nov 2024)

  Changed paths:
    M bolt/lib/Core/BinaryEmitter.cpp

  Log Message:
  -----------
  [BOLT] Offset LPStart to avoid unnecessary instructions (#116713)

For C++ exception handling, when we write a call site table, we must
avoid emitting 0-value offsets for landing pads unless the call site has
no landing pad. However, 0 can be a real offset from the start of the
FDE if the FDE corresponds to a function fragment that starts with a
landing pad. In such cases, we used to emit a trap instruction at the
start of the fragment to guarantee non-zero LP offset.

To avoid emitting unnecessary trap instructions, we can instead set
LPStart to an offset from the FDE. If we emit it as [FDEStart - 1], then
all real offsets from LPStart in FDE become non-negative.


  Commit: f981ee7efc3e0be0d91d2163c0e04e01a134b4a6
      https://github.com/llvm/llvm-project/commit/f981ee7efc3e0be0d91d2163c0e04e01a134b4a6
  Author: lialan <me at alanli.org>
  Date:   2024-11-19 (Tue, 19 Nov 2024)

  Changed paths:
    M mlir/lib/Dialect/Vector/Transforms/VectorEmulateNarrowType.cpp
    M mlir/test/Dialect/Vector/vector-emulate-narrow-type-unaligned.mlir
    M mlir/test/Dialect/Vector/vector-emulate-narrow-type.mlir

  Log Message:
  -----------
  [MLIR] extend `getCompressedMaskOp` support in `VectorEmulateNarrowType` (#116122)

Previously when `numFrontPadElems` is not zero, `getCompressedMaskOp`
produces wrong result if the mask generator op is a
`vector.create_mask`.

This patch resolves the issue by including `numFrontPadElems` into the
mask generation.

Signed-off-by: Alan Li <me at alanli.org>


  Commit: 673b5dd380e8457c887d5b321195d81ea90f134d
      https://github.com/llvm/llvm-project/commit/673b5dd380e8457c887d5b321195d81ea90f134d
  Author: Shubham Sandeep Rastogi <srastogi22 at apple.com>
  Date:   2024-11-19 (Tue, 19 Nov 2024)

  Changed paths:
    M clang/tools/clang-shlib/CMakeLists.txt
    R clang/tools/clang-shlib/simple_version_script.map.in
    M llvm/CMakeLists.txt

  Log Message:
  -----------
  Revert "Introduce symbol versioning for clang-cpp (#116556)"

This reverts commit 944478dd62a78f6bb43d4da210643affcc4584b6.

Reverted because of following error on greendragon

ld: unknown options: --version-script
clang: error: linker command failed with exit code 1 (use -v to see invocation)


  Commit: 2187738508478372409132ee636393086b46746f
      https://github.com/llvm/llvm-project/commit/2187738508478372409132ee636393086b46746f
  Author: Craig Topper <craig.topper at sifive.com>
  Date:   2024-11-19 (Tue, 19 Nov 2024)

  Changed paths:
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-strided-load-store-asm.ll

  Log Message:
  -----------
  [RISCV] Add additional CHECK prefixes to fixed-vectors-strided-load-store-asm.ll. NFC

We had 2 RUN lines with conflicting output sharing prefixes. The
script unfortunately did not report the error.


  Commit: 01cd7ad2ba222b0fc400a820a9ef176131a82a06
      https://github.com/llvm/llvm-project/commit/01cd7ad2ba222b0fc400a820a9ef176131a82a06
  Author: Valentin Clement (バレンタイン クレメン) <clementval at gmail.com>
  Date:   2024-11-19 (Tue, 19 Nov 2024)

  Changed paths:
    M flang/lib/Optimizer/Transforms/CUFCommon.cpp
    M flang/test/Fir/CUDA/cuda-alloc-free.fir
    M flang/test/Fir/CUDA/cuda-constructor-2.f90
    M flang/test/Fir/CUDA/cuda-device-global.f90
    M flang/test/Fir/CUDA/cuda-implicit-device-global.f90

  Log Message:
  -----------
  [flang][cuda] Do not generate NVVM target attribute when creating the module (#116882)

Leave it to the `NVVMAttachTargetPass` so we can set compute capability
and features.


  Commit: 46389ebc4f4185700ed3322db533fdbd5de7f9a3
      https://github.com/llvm/llvm-project/commit/46389ebc4f4185700ed3322db533fdbd5de7f9a3
  Author: Matthias Springer <me at m-sp.org>
  Date:   2024-11-20 (Wed, 20 Nov 2024)

  Changed paths:
    M mlir/test/Integration/Dialect/MemRef/verify-memref.mlir

  Log Message:
  -----------
  [mlir][memref] Fix broken test after #114152 (#116898)


  Commit: 58280c0e97ee8f843db0fc2719c7e599831d6626
      https://github.com/llvm/llvm-project/commit/58280c0e97ee8f843db0fc2719c7e599831d6626
  Author: Valentin Clement <clementval at gmail.com>
  Date:   2024-11-19 (Tue, 19 Nov 2024)

  Changed paths:
    M flang/test/Fir/CUDA/cuda-implicit-device-global.f90

  Log Message:
  -----------
  [flang][cuda] Update test after #116882


  Commit: 04de524c7e5d4dfe3ec6cdd83dcb6dfed46f3e8b
      https://github.com/llvm/llvm-project/commit/04de524c7e5d4dfe3ec6cdd83dcb6dfed46f3e8b
  Author: Matthias Springer <me at m-sp.org>
  Date:   2024-11-20 (Wed, 20 Nov 2024)

  Changed paths:
    M mlir/lib/Dialect/Arith/Transforms/CMakeLists.txt

  Log Message:
  -----------
  [mlir][arith] Fix build after #114152 (part 2) (#116901)

Since #114152, `MLIRFuncTransforms` no longer depends on
`MLIRBufferizationDialect`. This commit adds a missing dependency that
is no longer transitively included.


  Commit: 1df199812296d6f4d1698ac228f3e85d29e96e29
      https://github.com/llvm/llvm-project/commit/1df199812296d6f4d1698ac228f3e85d29e96e29
  Author: Matthias Springer <me at m-sp.org>
  Date:   2024-11-20 (Wed, 20 Nov 2024)

  Changed paths:
    M mlir/lib/Dialect/Arith/Transforms/CMakeLists.txt

  Log Message:
  -----------
  [mlir][arith] Fix build after #114152 (part 3) (#116903)

Since https://github.com/llvm/llvm-project/pull/114152,
`MLIRFuncTransforms` no longer depends on `MLIRBufferizationTransforms`.
This commit adds a missing dependency that is no longer transitively
included.


  Commit: 50e38cc85663de27cfed59b8f09edf3437fbf164
      https://github.com/llvm/llvm-project/commit/50e38cc85663de27cfed59b8f09edf3437fbf164
  Author: Vladimir Vereschaka <vvereschaka at accesssoftek.com>
  Date:   2024-11-19 (Tue, 19 Nov 2024)

  Changed paths:
    M clang/cmake/caches/CrossWinToARMLinux.cmake

  Log Message:
  -----------
  [CMake] Update CMake cache file for the ARM/Aarch64 cross toolchain builds. NFC. (#116744)

Forcely disable the libc++ benchmarks on Windows build hosts. The
benchmark configuration currently does not support the cross builds on
Windows hosts.

Also removed unnecessary `CMAKE_CROSSCOMPILING` CMake option.


  Commit: 40c8938ff8447fc46bd2aa1605e3147cc38ffb8d
      https://github.com/llvm/llvm-project/commit/40c8938ff8447fc46bd2aa1605e3147cc38ffb8d
  Author: Ivan R. Ivanov <ivanov.i.aa at m.titech.ac.jp>
  Date:   2024-11-20 (Wed, 20 Nov 2024)

  Changed paths:
    M flang/lib/Optimizer/HLFIR/Transforms/BufferizeHLFIR.cpp
    M flang/lib/Optimizer/HLFIR/Transforms/OptimizedBufferization.cpp
    A flang/test/HLFIR/bufferize-workshare.fir
    A flang/test/Integration/OpenMP/workshare-array-array-assign.f90
    A flang/test/Integration/OpenMP/workshare-axpy.f90
    A flang/test/Integration/OpenMP/workshare-scalar-array-assign.f90
    A flang/test/Integration/OpenMP/workshare-scalar-array-mul.f90
    A flang/test/Transforms/OpenMP/should-use-workshare-lowering.mlir

  Log Message:
  -----------
  [flang] Introduce hlfir.elemental lowerings to omp.workshare_loop_nest (#104748)

This patch adds parallelization support for the following expression in OpenMP
workshare constructs:

* Elemental procedures in array expressions


  Commit: fa22100d57631bbb0a507dd27e3ebb24b1354623
      https://github.com/llvm/llvm-project/commit/fa22100d57631bbb0a507dd27e3ebb24b1354623
  Author: Ivan Radanov Ivanov <ivanov.i.aa at m.titech.ac.jp>
  Date:   2024-11-20 (Wed, 20 Nov 2024)

  Changed paths:
    M flang/lib/Optimizer/HLFIR/Transforms/BufferizeHLFIR.cpp
    M flang/lib/Optimizer/HLFIR/Transforms/OptimizedBufferization.cpp
    R flang/test/HLFIR/bufferize-workshare.fir
    R flang/test/Integration/OpenMP/workshare-array-array-assign.f90
    R flang/test/Integration/OpenMP/workshare-axpy.f90
    R flang/test/Integration/OpenMP/workshare-scalar-array-assign.f90
    R flang/test/Integration/OpenMP/workshare-scalar-array-mul.f90
    R flang/test/Transforms/OpenMP/should-use-workshare-lowering.mlir

  Log Message:
  -----------
  Revert "[flang] Introduce hlfir.elemental lowerings to omp.workshare_loop_nest (#104748)"

This reverts commit 40c8938ff8447fc46bd2aa1605e3147cc38ffb8d.

Linking errors in buildbot build


  Commit: 461e58e75dc3e2a0d6e0448c1ebcb8bd14e3d65c
      https://github.com/llvm/llvm-project/commit/461e58e75dc3e2a0d6e0448c1ebcb8bd14e3d65c
  Author: Aaron Puchert <aaronpuchert at alice-dsl.net>
  Date:   2024-11-20 (Wed, 20 Nov 2024)

  Changed paths:
    M clang/tools/clang-shlib/CMakeLists.txt
    A clang/tools/clang-shlib/simple_version_script.map.in
    M llvm/CMakeLists.txt

  Log Message:
  -----------
  Introduce symbol versioning for clang-cpp (#116556)

The situation that required symbol versions on the LLVM shared library
can also happen for clang-cpp, although it is less common: different
tools require different versions of the library, and through transitive
dependencies a process ends up with multiple copies of clang-cpp. This
causes havoc with ELF, because calls meant to go one version of the
library end up with another.

I've also considered introducing a symbol version globally, but for
example the clang (C) library and other targets outside of LLVM/Clang,
e.g. libc++, would not want that. So it's probably best if we keep it to
those libraries.


  Commit: 8234c612eda1cdff702f5ede1d7db7baf3bf0e47
      https://github.com/llvm/llvm-project/commit/8234c612eda1cdff702f5ede1d7db7baf3bf0e47
  Author: WÁNG Xuěruì <git at xen0n.name>
  Date:   2024-11-20 (Wed, 20 Nov 2024)

  Changed paths:
    M llvm/lib/Target/LoongArch/AsmParser/LoongArchAsmParser.cpp
    M llvm/lib/Target/LoongArch/LoongArchInstrFormats.td
    M llvm/lib/Target/LoongArch/LoongArchInstrInfo.td
    M llvm/lib/Target/LoongArch/MCTargetDesc/LoongArchBaseInfo.h
    M llvm/test/MC/LoongArch/Basic/Integer/invalid64.s

  Log Message:
  -----------
  [LoongArch] Record the special AMO operand constraint with TableGen (#114398)

Depends on #114508

The LoongArch Reference Manual says that the 3-register atomic memory
operations cannot have their rd equal to either rj or rk [^1], and both
GNU as and LLVM IAS enforce the constraint for non-zero rd. However,
currently LoongArch AsmParser is checking for the opcode with a direct
numerical comparison on the opcode, which is enum-typed: the fact that
all AMO insns have adjacent numerical values is merely a coincidence,
and it is better to not rely on the current TableGen implementation
behavior.

Instead, start to leverage the target-specific flags field of
MCInstrDesc, and record the constraint with TableGen, so we can stop
treating the opcode value as number. In doing so, we also have to mark
whether the instruction is AMCAS, because the operand index of rj and rk
for the AMCAS instructions is different.

While documenting the new flag, it was found that v1.10 of the Manual
did not specify the similar constraint for the AMCAS instructions.
Experiments were done on a Loongson 3A6000 (LA664 uarch) and it turned
out that at least AMCAS will still signal INE with `rd == rj`. The `rd
== rk` case should be a no-op according to the semantics, but as it is
meaningless to perform CAS with the "old value" same as the "new value",
it is not worth special-casing. So the current behavior of also
enforcing the constraint for AMCAS is kept.

[^1]: if `rd == rj` an INE would be signaled; if `rd == rk` it is UB.


  Commit: b246d5f0556114d9a454bf2471f9c0577f1dce2f
      https://github.com/llvm/llvm-project/commit/b246d5f0556114d9a454bf2471f9c0577f1dce2f
  Author: Aaron Puchert <aaronpuchert at alice-dsl.net>
  Date:   2024-11-20 (Wed, 20 Nov 2024)

  Changed paths:
    M clang/tools/clang-shlib/CMakeLists.txt

  Log Message:
  -----------
  Disable symbol versions for clang-cpp also with MSVC

It seems we can get there with MSVC if LLVM_BUILD_LLVM_DYLIB_VIS is set.
Slightly surprising because I didn't know that MSVC supports the flag
-Bsymbolic-functions, but let's play it safe.


  Commit: 314e9b1cffbda767e9f4ac088a3caea80a9212bb
      https://github.com/llvm/llvm-project/commit/314e9b1cffbda767e9f4ac088a3caea80a9212bb
  Author: lifengxiang1025 <lifengxiang at kuaishou.com>
  Date:   2024-11-20 (Wed, 20 Nov 2024)

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

  Log Message:
  -----------
  [llvm-profdata] fix typo (#116754)


  Commit: a2e266b3463844b92b082698aaf201fdd8757c32
      https://github.com/llvm/llvm-project/commit/a2e266b3463844b92b082698aaf201fdd8757c32
  Author: Kazu Hirata <kazu at google.com>
  Date:   2024-11-19 (Tue, 19 Nov 2024)

  Changed paths:
    M llvm/include/llvm/Transforms/Instrumentation/MemProfiler.h
    M llvm/lib/Transforms/Instrumentation/MemProfiler.cpp
    M llvm/unittests/Transforms/Instrumentation/MemProfUseTest.cpp

  Log Message:
  -----------
  [memprof] Add computeUndriftMap (#116478)

This patch adds computeUndriftMap, a function to compute mappings from
source locations in the MemProf profile to source locations in the IR.


  Commit: f97c610d1f824bcd3e078560c836aaaffaaf69b0
      https://github.com/llvm/llvm-project/commit/f97c610d1f824bcd3e078560c836aaaffaaf69b0
  Author: Kazu Hirata <kazu at google.com>
  Date:   2024-11-19 (Tue, 19 Nov 2024)

  Changed paths:
    M llvm/include/llvm/ProfileData/MemProfReader.h
    M llvm/lib/ProfileData/InstrProfWriter.cpp
    M llvm/tools/llvm-profdata/llvm-profdata.cpp

  Log Message:
  -----------
  [memprof] Add MemProfReader::takeMemProfData (#116769)

This patch adds MemProfReader::takeMemProfData, a function to return
the complete MemProf profile from the reader.  We can directly pass
its return value to InstrProfWriter::addMemProfData without having to
deal with the indivual components of the MemProf profile.  The new
function is named "take", but it doesn't do std::move yet because of
type differences (DenseMap v.s. MapVector).

The end state I'm trying to get to is roughly as follows:

- MemProfReader accepts IndexedMemProfData as a parameter as opposed
  to the three individual components (frames, call stacks, and
  records).

- MemProfReader keeps IndexedMemProfData as a class member without
  decomposing it into its individual components.

- MemProfReader returns IndexedMemProfData like:

  IndexedMemProfData takeMemProfData() {
    return std::move(MemProfData);
  }


  Commit: 1f4d91ecb8529678a3d3919d7523743bd21942ca
      https://github.com/llvm/llvm-project/commit/1f4d91ecb8529678a3d3919d7523743bd21942ca
  Author: Kazu Hirata <kazu at google.com>
  Date:   2024-11-19 (Tue, 19 Nov 2024)

  Changed paths:
    M llvm/lib/ExecutionEngine/ExecutionEngine.cpp
    M llvm/lib/ExecutionEngine/ExecutionEngineBindings.cpp
    M llvm/lib/ExecutionEngine/GDBRegistrationListener.cpp
    M llvm/lib/ExecutionEngine/JITLink/COFF.cpp
    M llvm/lib/ExecutionEngine/JITLink/EHFrameSupport.cpp
    M llvm/lib/ExecutionEngine/JITLink/ELF.cpp
    M llvm/lib/ExecutionEngine/JITLink/JITLink.cpp
    M llvm/lib/ExecutionEngine/JITLink/JITLinkGeneric.cpp
    M llvm/lib/ExecutionEngine/JITLink/MachO.cpp
    M llvm/lib/ExecutionEngine/JITLink/aarch32.cpp
    M llvm/lib/ExecutionEngine/MCJIT/MCJIT.cpp
    M llvm/lib/ExecutionEngine/Orc/CompileOnDemandLayer.cpp
    M llvm/lib/ExecutionEngine/Orc/CompileUtils.cpp
    M llvm/lib/ExecutionEngine/Orc/DebugObjectManagerPlugin.cpp
    M llvm/lib/ExecutionEngine/Orc/DebugUtils.cpp
    M llvm/lib/ExecutionEngine/Orc/Debugging/PerfSupportPlugin.cpp
    M llvm/lib/ExecutionEngine/Orc/ELFNixPlatform.cpp
    M llvm/lib/ExecutionEngine/Orc/EPCDebugObjectRegistrar.cpp
    M llvm/lib/ExecutionEngine/Orc/EPCGenericJITLinkMemoryManager.cpp
    M llvm/lib/ExecutionEngine/Orc/EPCGenericRTDyldMemoryManager.cpp
    M llvm/lib/ExecutionEngine/Orc/ExecutionUtils.cpp
    M llvm/lib/ExecutionEngine/Orc/ExecutorProcessControl.cpp
    M llvm/lib/ExecutionEngine/Orc/IRTransformLayer.cpp
    M llvm/lib/ExecutionEngine/Orc/IndirectionUtils.cpp
    M llvm/lib/ExecutionEngine/Orc/JITLinkRedirectableSymbolManager.cpp
    M llvm/lib/ExecutionEngine/Orc/JITTargetMachineBuilder.cpp
    M llvm/lib/ExecutionEngine/Orc/LLJIT.cpp
    M llvm/lib/ExecutionEngine/Orc/MachOPlatform.cpp
    M llvm/lib/ExecutionEngine/Orc/Mangling.cpp
    M llvm/lib/ExecutionEngine/Orc/MapperJITLinkMemoryManager.cpp
    M llvm/lib/ExecutionEngine/Orc/MemoryMapper.cpp
    M llvm/lib/ExecutionEngine/Orc/ObjectFileInterface.cpp
    M llvm/lib/ExecutionEngine/Orc/ObjectLinkingLayer.cpp
    M llvm/lib/ExecutionEngine/Orc/OrcABISupport.cpp
    M llvm/lib/ExecutionEngine/Orc/Shared/SimpleRemoteEPCUtils.cpp
    M llvm/lib/ExecutionEngine/Orc/SimpleRemoteEPC.cpp
    M llvm/lib/ExecutionEngine/Orc/SpeculateAnalyses.cpp
    M llvm/lib/ExecutionEngine/Orc/TargetProcess/JITLoaderGDB.cpp
    M llvm/lib/ExecutionEngine/Orc/TargetProcess/JITLoaderPerf.cpp
    M llvm/lib/ExecutionEngine/Orc/TargetProcess/JITLoaderVTune.cpp
    M llvm/lib/ExecutionEngine/Orc/TargetProcess/RegisterEHFrames.cpp
    M llvm/lib/ExecutionEngine/Orc/TargetProcess/SimpleExecutorDylibManager.cpp
    M llvm/lib/ExecutionEngine/Orc/TargetProcess/SimpleRemoteEPCServer.cpp
    M llvm/lib/ExecutionEngine/RuntimeDyld/RuntimeDyldCOFF.cpp
    M llvm/lib/ExecutionEngine/RuntimeDyld/RuntimeDyldChecker.cpp
    M llvm/lib/ExecutionEngine/RuntimeDyld/RuntimeDyldELF.cpp
    M llvm/lib/ExecutionEngine/RuntimeDyld/RuntimeDyldMachO.cpp
    M llvm/lib/ExecutionEngine/SectionMemoryManager.cpp

  Log Message:
  -----------
  [ExecutionEngine] Remove unused includes (NFC) (#116749)

Identified with misc-include-cleaner.


  Commit: e9c8106a90d49e75bac87341ade57c6049357a97
      https://github.com/llvm/llvm-project/commit/e9c8106a90d49e75bac87341ade57c6049357a97
  Author: Kazu Hirata <kazu at google.com>
  Date:   2024-11-19 (Tue, 19 Nov 2024)

  Changed paths:
    M llvm/lib/Object/Archive.cpp
    M llvm/lib/Object/ELFObjectFile.cpp
    M llvm/lib/Object/MachOUniversal.cpp
    M llvm/lib/Object/Minidump.cpp
    M llvm/lib/Object/ModuleSymbolTable.cpp
    M llvm/lib/Object/OffloadBinary.cpp
    M llvm/lib/Object/RelocationResolver.cpp
    M llvm/lib/Object/TapiFile.cpp
    M llvm/lib/Object/TapiUniversal.cpp
    M llvm/lib/Object/WasmObjectFile.cpp

  Log Message:
  -----------
  [Object] Remove unused includes (NFC) (#116750)

Identified with misc-include-cleaner.


  Commit: 4f1b20f023626a2ae9aab627e918974ce81199fe
      https://github.com/llvm/llvm-project/commit/4f1b20f023626a2ae9aab627e918974ce81199fe
  Author: Kazu Hirata <kazu at google.com>
  Date:   2024-11-19 (Tue, 19 Nov 2024)

  Changed paths:
    M llvm/lib/ProfileData/Coverage/CoverageMappingReader.cpp
    M llvm/lib/ProfileData/Coverage/CoverageMappingWriter.cpp
    M llvm/lib/ProfileData/InstrProfReader.cpp
    M llvm/lib/ProfileData/InstrProfWriter.cpp
    M llvm/lib/ProfileData/MemProfReader.cpp
    M llvm/lib/ProfileData/PGOCtxProfReader.cpp
    M llvm/lib/ProfileData/SampleProfWriter.cpp

  Log Message:
  -----------
  [ProfileData] Remove unused includes (NFC) (#116751)

Identified with misc-include-cleaner.


  Commit: 27d25d1c12a34d0cfd47416e77cd83b7b768f1e7
      https://github.com/llvm/llvm-project/commit/27d25d1c12a34d0cfd47416e77cd83b7b768f1e7
  Author: Joseph Huber <huberjn at outlook.com>
  Date:   2024-11-19 (Tue, 19 Nov 2024)

  Changed paths:
    M libc/docs/gpu/rpc.rst
    M libc/include/llvm-libc-types/rpc_opcodes_t.h
    M libc/src/__support/RPC/rpc.h
    M libc/src/stdio/gpu/file.h
    M libc/src/stdio/gpu/vfprintf_utils.h
    M libc/utils/gpu/server/llvmlibc_rpc_server.h
    M libc/utils/gpu/server/rpc_server.cpp

  Log Message:
  -----------
  [libc] Increase RPC opcode to 32-bit and use a class byte (#116905)

Summary:
Currently, the RPC interface uses a basic opcode to communicate with the
server. This currently is 16 bits. There's no reason for this to be 16
bits, because on the GPU a 32-bit write is the same as a 16-bit write
performance wise.

Additionally, I am now making all the `libc` based opcodes qualified
with the 'c' type, mimiciing how Linux handles `ioctls` all coming from
the same driver. This will make it easier to extend the interface when
it's exported directly.


  Commit: 0ff8b79160509b25fd913ffa320b9dab5b87b55e
      https://github.com/llvm/llvm-project/commit/0ff8b79160509b25fd913ffa320b9dab5b87b55e
  Author: sstwcw <su3e8a96kzlver at posteo.net>
  Date:   2024-11-20 (Wed, 20 Nov 2024)

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

  Log Message:
  -----------
  [clang-format] Stop crashing on slightly off Verilog module headers (#116000)

This piece of code made the program crash.

```Verilog
function pkg::t get
    (int t = 2,
     int f = 2);
```

The way the code is supposed to be parsed is that UnwrappedLineParser
should identify the function header, and then TokenAnnotator should
recognize the result.  But the code in UnwrappedLineParser would
mistakenly not recognize it due to the `::`.  Then TokenAnnotator would
recognize the comma both as TT_VerilogInstancePortComma and
TT_VerilogTypeComma.  The code for annotating the instance port comma
used `setFinalizedType`.  The program would crash when it tried to set
it to another type.

The code in UnwrappedLineParser now recognizes the `::` token.

The are other cases in which TokenAnnotator would recognize the comma as
both of those types, for example if the `function` keyword is removed.
The type is now set using `setType` instead so that the program does not
crash.  The developer no longer knows why he used `setFinalizedType`
back then.


  Commit: 2bf6751522e8683d719d5651a4555147dd7d6acd
      https://github.com/llvm/llvm-project/commit/2bf6751522e8683d719d5651a4555147dd7d6acd
  Author: Craig Topper <craig.topper at sifive.com>
  Date:   2024-11-19 (Tue, 19 Nov 2024)

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

  Log Message:
  -----------
  [RISCV] Add IsRV32 some patterns in RISCVInstrInfoXTHead.td.

This restores the code to its original state before I experimented
with making i32 a legal type.


  Commit: c6bce68f9a357d13b4ad85a1a0b74ce4ee768885
      https://github.com/llvm/llvm-project/commit/c6bce68f9a357d13b4ad85a1a0b74ce4ee768885
  Author: abhishek-kaushik22 <abhishek.kaushik at intel.com>
  Date:   2024-11-20 (Wed, 20 Nov 2024)

  Changed paths:
    M llvm/include/llvm/Transforms/Coroutines/ABI.h

  Log Message:
  -----------
  [NFC] [Coroutines] Use std::move to avoid copying (#116776)


  Commit: fa4d1860d20a5afa6f96673ba02a99f09f69869c
      https://github.com/llvm/llvm-project/commit/fa4d1860d20a5afa6f96673ba02a99f09f69869c
  Author: Fangrui Song <i at maskray.me>
  Date:   2024-11-19 (Tue, 19 Nov 2024)

  Changed paths:
    M lld/ELF/OutputSections.cpp
    M lld/ELF/OutputSections.h
    M lld/ELF/SyntheticSections.h
    M lld/ELF/Writer.h

  Log Message:
  -----------
  [ELF] Move PhdrEntry to SyntheticSections

The next change will change Partition::phdrs to a unique_ptr vector,
which requires PhdrEntry to be a complete type.

And make OutputSection::getLMA out-of-line, since it should not include
either SyntheticSections.h or Writer.h.


  Commit: a52032448efb5d24af9c57418580206f17931401
      https://github.com/llvm/llvm-project/commit/a52032448efb5d24af9c57418580206f17931401
  Author: Fangrui Song <i at maskray.me>
  Date:   2024-11-19 (Tue, 19 Nov 2024)

  Changed paths:
    M lld/ELF/LinkerScript.cpp
    M lld/ELF/LinkerScript.h
    M lld/ELF/SyntheticSections.cpp
    M lld/ELF/SyntheticSections.h
    M lld/ELF/Writer.cpp

  Log Message:
  -----------
  [ELF] Avoid make<PhdrEntry>

Store them in Partition::phdrs instead.


  Commit: 37e39667ccdbf96645515ff6ad8f86d499f472e8
      https://github.com/llvm/llvm-project/commit/37e39667ccdbf96645515ff6ad8f86d499f472e8
  Author: Fangrui Song <i at maskray.me>
  Date:   2024-11-19 (Tue, 19 Nov 2024)

  Changed paths:
    M lld/ELF/Relocations.cpp
    M lld/ELF/Relocations.h
    M lld/ELF/Thunks.cpp
    M lld/ELF/Thunks.h
    M lld/ELF/Writer.cpp

  Log Message:
  -----------
  [ELF] Make ThunkCreator take ownership of thunks

This removes many SpecificAlloc instantiations and makes my lld (x86-64
Release+Assertions) smaller by ~36k.


  Commit: 1ff22f8a71b8557018b4a877aff08c194970a909
      https://github.com/llvm/llvm-project/commit/1ff22f8a71b8557018b4a877aff08c194970a909
  Author: Andrzej Warzyński <andrzej.warzynski at arm.com>
  Date:   2024-11-20 (Wed, 20 Nov 2024)

  Changed paths:
    M mlir/test/Conversion/VectorToLLVM/vector-to-llvm.mlir

  Log Message:
  -----------
  [mlir][vector] Add more tests for ConvertVectorToLLVM (9/n) (#116795)

Adds tests with scalable vectors for the Vector-To-LLVM conversion pass.
Covers the following Ops:

  * `vector.load`,
  * `vector.store`.

In addition:
* For consistency with other tests, renamed test function names
  (e.g. `@vector_load_op_nontemporal` -> `vector_load_nontemporal`)
* Moved `@vector_load_0d` near other test for `vector.load` (as opposed
  to next to `@vector_store_0d`).


  Commit: 560dd940f5731fc255b67dde076427cabcddb149
      https://github.com/llvm/llvm-project/commit/560dd940f5731fc255b67dde076427cabcddb149
  Author: Boaz Brickner <brickner at google.com>
  Date:   2024-11-20 (Wed, 20 Nov 2024)

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

  Log Message:
  -----------
  [clang] [NFC] In GetDiagForGotoScopeDecl(), limit Init to inside the if condition (#116080)


  Commit: d33673ab05e5027b78a21eb3ecd9c0ae9a0ace9f
      https://github.com/llvm/llvm-project/commit/d33673ab05e5027b78a21eb3ecd9c0ae9a0ace9f
  Author: Andrzej Warzyński <andrzej.warzynski at arm.com>
  Date:   2024-11-20 (Wed, 20 Nov 2024)

  Changed paths:
    M mlir/test/Dialect/Vector/eliminate-masks.mlir

  Log Message:
  -----------
  [mlir][vector][nfc] Update test for mask elimination (#112130)

Updates one example so that:
  * it uses `vector.mask`,
  * upper loop bound is a multiple of the loop step,
  * use `vector.outerproduct` instead of "test.some_computation".

This makes this example a bit closer to realistic cases, which has
always been the goal for this test.


  Commit: 0394e08bfbb110d606ace49bd10d951eb904e5d6
      https://github.com/llvm/llvm-project/commit/0394e08bfbb110d606ace49bd10d951eb904e5d6
  Author: Pavel Labath <pavel at labath.sk>
  Date:   2024-11-20 (Wed, 20 Nov 2024)

  Changed paths:
    M lldb/source/Target/StackFrame.cpp
    M lldb/test/API/source-manager/TestSourceManager.py

  Log Message:
  -----------
  [lldb] Reword the "line 0" warning (#116827)

We got a bug report that this message is confusing. In this particular
case, the line zero was due to compiler tail merging (in optimized
code). The main issue was the "no source code" part: in this case it's
kind of incorrect because -- even though we can't really know that --
the address is arguably associated with *multiple* lines of source code.

I've tried to make the new wording more neutral, and added a wink
towards compiler optimizations. I left out the "compiler generated" part
of the message because I couldn't find a way to squeeze that in nicely.
I'm also not entirely sure what it was referring to -- if this was
(just) function prologue/epilogue, then maybe leaving it out is fine, as
we're not likely to stop there anyway (?)

I also left out the function name, because:
- for template functions it gets rather long
- it's already present in the message, potentially twice (once in the
"frame summary" line and once in the snippet of code we show for the
function declaration)

---------

Co-authored-by: Jonas Devlieghere <jonas at devlieghere.com>


  Commit: 3a5cf6d99b9988a013da3a87ab8f117e5c541f4b
      https://github.com/llvm/llvm-project/commit/3a5cf6d99b9988a013da3a87ab8f117e5c541f4b
  Author: Simon Pilgrim <llvm-dev at redking.me.uk>
  Date:   2024-11-20 (Wed, 20 Nov 2024)

  Changed paths:
    M llvm/lib/Target/X86/GISel/X86InstructionSelector.cpp
    M llvm/lib/Target/X86/X86InstrAVX512.td
    M llvm/lib/Target/X86/X86InstrInfo.cpp
    M llvm/lib/Target/X86/X86ReplaceableInstrs.def
    M llvm/lib/Target/X86/X86SchedIceLake.td
    M llvm/lib/Target/X86/X86SchedSapphireRapids.td
    M llvm/lib/Target/X86/X86SchedSkylakeServer.td
    M llvm/test/CodeGen/X86/GlobalISel/select-extract-vec256.mir
    M llvm/test/CodeGen/X86/GlobalISel/select-extract-vec512.mir
    M llvm/test/CodeGen/X86/GlobalISel/select-insert-vec256.mir
    M llvm/test/CodeGen/X86/GlobalISel/select-insert-vec512.mir
    M llvm/test/CodeGen/X86/GlobalISel/select-merge-vec256.mir
    M llvm/test/CodeGen/X86/GlobalISel/select-merge-vec512.mir
    M llvm/test/CodeGen/X86/GlobalISel/select-unmerge-vec256.mir
    M llvm/test/CodeGen/X86/GlobalISel/select-unmerge-vec512.mir
    M llvm/test/TableGen/x86-fold-tables.inc
    M llvm/test/TableGen/x86-instr-mapping.inc
    M llvm/utils/TableGen/X86ManualFoldTables.def
    M llvm/utils/TableGen/X86ManualInstrMapping.def

  Log Message:
  -----------
  [X86] Rename AVX512 VEXTRACT/INSERT??x? to VEXTRACT/INSERT??X? (#116826)

Use uppercase in the subvector description ("32x2" -> "32X4" etc.) - matches what we already do in VBROADCAST??X?, and we try to use uppercase for all x86 instruction mnemonics anyway (and lowercase just for the arg description suffix).


  Commit: 67a1fdb014790a38a205d28e1748634de34471dd
      https://github.com/llvm/llvm-project/commit/67a1fdb014790a38a205d28e1748634de34471dd
  Author: Matthias Springer <me at m-sp.org>
  Date:   2024-11-20 (Wed, 20 Nov 2024)

  Changed paths:
    M mlir/lib/IR/BuiltinTypes.cpp
    M mlir/test/IR/attribute.mlir

  Log Message:
  -----------
  [mlir][IR] Treat `tf32` as 19-bit float (#116738)

TF32 is a variant of F32 that is truncated to 19 bits. There used to be
special handling in `FloatType::getWidth()` so that TF32 was treated as
a 32-bit float in some places. (Some places use `FloatType::getWidth`,
others directly query the `APFloat` semantics.) This caused problems
because `FloatType::getWidth` did not agree with the underlying
`APFloat` semantics.

In particular, creating an elements attr / array attr with `tf32`
element type crashed. E.g.:
```
"foo"() {attr = dense<4.0> : tensor<tf32>} : () -> ()

mlir-opt: llvm-project/llvm/lib/Support/APFloat.cpp:4108: void llvm::detail::IEEEFloat::initFromAPInt(const fltSemantics *, const APInt &): Assertion `api.getBitWidth() == Sem->sizeInBits' failed.
PLEASE submit a bug report to https://github.com/llvm/llvm-project/issues/ and include the crash backtrace.
```

```
"foo"() {f32attr = array<tf32: 1024.>} : () -> ()

mlir-opt: llvm-project/mlir/lib/AsmParser/AttributeParser.cpp:847: void (anonymous namespace)::DenseArrayElementParser::append(const APInt &): Assertion `data.getBitWidth() % 8 == 0' failed.
PLEASE submit a bug report to https://github.com/llvm/llvm-project/issues/ and include the crash backtrace.
```

It is unclear why the special handling for TF32 is needed. For
reference: #107372


  Commit: 1e32a7d42c8cec56246c124bdc4292ae294f8884
      https://github.com/llvm/llvm-project/commit/1e32a7d42c8cec56246c124bdc4292ae294f8884
  Author: Nikita Popov <npopov at redhat.com>
  Date:   2024-11-20 (Wed, 20 Nov 2024)

  Changed paths:
    M llvm/include/llvm/Analysis/AliasAnalysis.h
    M llvm/include/llvm/Analysis/MemoryDependenceAnalysis.h
    M llvm/include/llvm/Transforms/Scalar/MemCpyOptimizer.h
    M llvm/lib/Analysis/BasicAliasAnalysis.cpp
    M llvm/lib/Analysis/MemoryDependenceAnalysis.cpp
    M llvm/lib/Transforms/Scalar/DeadStoreElimination.cpp
    M llvm/lib/Transforms/Scalar/MemCpyOptimizer.cpp

  Log Message:
  -----------
  [AA] Rename CaptureInfo -> CaptureAnalysis (NFC) (#116842)

I'd like to use the name CaptureInfo to represent the new attribute
proposed at
https://discourse.llvm.org/t/rfc-improvements-to-capture-tracking/81420,
but it's already taken by AA, and I can't think of great alternatives
(CaptureEffects would be something of a stretch).

As such, I'd like to rename CaptureInfo -> CaptureAnalysis in AA, which
also seems like the more accurate terminology.


  Commit: 596bfb804ba70241ce2ac7d387505c9562e09632
      https://github.com/llvm/llvm-project/commit/596bfb804ba70241ce2ac7d387505c9562e09632
  Author: Dragan Mladjenovic <Dragan.Mladjenovic at syrmia.com>
  Date:   2024-11-20 (Wed, 20 Nov 2024)

  Changed paths:
    M mlir/lib/Conversion/GPUToROCDL/LowerGpuOpsToROCDLOps.cpp
    M mlir/test/Conversion/GPUToROCDL/gpu-to-rocdl.mlir

  Log Message:
  -----------
  [MLIR][AMDGPU] Support gpu::ShuffleMode::DOWN lowering in ROCDL (#106237)


  Commit: d49ee7d54fe2142976494c1c9b930820f0f62259
      https://github.com/llvm/llvm-project/commit/d49ee7d54fe2142976494c1c9b930820f0f62259
  Author: Nikita Popov <npopov at redhat.com>
  Date:   2024-11-20 (Wed, 20 Nov 2024)

  Changed paths:
    M llvm/Maintainers.md

  Log Message:
  -----------
  [LLVM] Update SelectionDAG maintainers (#116408)

bogner is listed as the current SDAG maintainer, but mostly works on
DirectX nowadays and isn't directly involved with SDAG work anymore.

Add RKSimon and topperc as new SelectionDAG maintainers.


  Commit: ac38ab594f1b7c9a9f67007f7684e4d46b2588be
      https://github.com/llvm/llvm-project/commit/ac38ab594f1b7c9a9f67007f7684e4d46b2588be
  Author: Fangrui Song <i at maskray.me>
  Date:   2024-11-20 (Wed, 20 Nov 2024)

  Changed paths:
    M compiler-rt/lib/lsan/lsan_common.cpp

  Log Message:
  -----------
  [lsan] Use VReport if not REGISTERS_AVAILABLE (#116555)

Certain tests (many are from lld/test) run `... '2>&1 | count 0` to
ensure that there is no stderr message.

GetRegistersAndSP may rarely fail, leading to
a spurious failure like (with a local hack to make `count` dump the
input):

```
+ /home/ray/llvm/out/asan/bin/ld.lld func1-gcs.o func2-gcs.o func3-gcs.o -o /dev/null -z gcs-report=warning -z gcs=never
+ /home/ray/llvm/out/asan/bin/count 0
Expected 0 lines, got 1.
==2403039==Unable to get registers from thread 2403018.
```

The failure can reliably be reproduced by running `ninja check-lld` a
few times under asan+lsan (see the bot
sanitizer-x86_64-linux-bootstrap-asan).


  Commit: ddc0c5c7a3bb39067f11c87ab7ca0ed934ad27e7
      https://github.com/llvm/llvm-project/commit/ddc0c5c7a3bb39067f11c87ab7ca0ed934ad27e7
  Author: Raul Tambre <raul at tambre.ee>
  Date:   2024-11-20 (Wed, 20 Nov 2024)

  Changed paths:
    M llvm/cmake/config-ix.cmake

  Log Message:
  -----------
  [CMake] Do all availability checks with -D_GNU_SOURCE (#116640)

When compiling LLVM with -std=c++ instead of -std=gnu we'd fail to detect many newer POSIX functions.
We define it for the whole of LLVM anyway so moving the definition to the top fixes detection of a bunch of these on such setups.
Keeping it at the top also avoids accidentally introducing new dependent checks before it being defined.


  Commit: aeb88f6778756ea889918308241a2b34bd7f64e2
      https://github.com/llvm/llvm-project/commit/aeb88f6778756ea889918308241a2b34bd7f64e2
  Author: David Sherwood <david.sherwood at arm.com>
  Date:   2024-11-20 (Wed, 20 Nov 2024)

  Changed paths:
    M llvm/test/Transforms/LoopVectorize/AArch64/scalable-vectorization-cost-tuning.ll
    M llvm/test/Transforms/LoopVectorize/ARM/mve-icmpcost.ll
    M llvm/test/Transforms/LoopVectorize/X86/redundant-vf2-cost.ll

  Log Message:
  -----------
  Fix test failures introduced by PR #113697 (#116941)

Don't match the entire floating point debug output since it's prone to
rounding errors depending upon the target.


  Commit: bca846d462e989a6e7a2ef085dbf367aeca106bd
      https://github.com/llvm/llvm-project/commit/bca846d462e989a6e7a2ef085dbf367aeca106bd
  Author: David Green <david.green at arm.com>
  Date:   2024-11-20 (Wed, 20 Nov 2024)

  Changed paths:
    M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
    M llvm/test/CodeGen/AArch64/aarch64-smull.ll

  Log Message:
  -----------
  [AArch64] Improve mull generation (#114997)

This attempts to clean up and improve where we generate smull/umull
using known-bits. For v2i64 types (where no mul is present), we try to
create mull more aggressively to avoid scalarization.


  Commit: 34881138ed94709d09f690a27cd457d6a830f123
      https://github.com/llvm/llvm-project/commit/34881138ed94709d09f690a27cd457d6a830f123
  Author: JaydeepChauhan14 <167076022+JaydeepChauhan14 at users.noreply.github.com>
  Date:   2024-11-20 (Wed, 20 Nov 2024)

  Changed paths:
    M llvm/lib/Target/X86/X86InstrAVX512.td

  Log Message:
  -----------
  [NFC] Fixed indentation issue (#116942)


  Commit: 5310855316a8356d5862714a21e1e6344f84225e
      https://github.com/llvm/llvm-project/commit/5310855316a8356d5862714a21e1e6344f84225e
  Author: Christian Kandeler <christian.kandeler at qt.io>
  Date:   2024-11-20 (Wed, 20 Nov 2024)

  Changed paths:
    M clang-tools-extra/clangd/refactor/tweaks/DefineOutline.cpp
    M clang-tools-extra/clangd/unittests/tweaks/DefineOutlineTests.cpp

  Log Message:
  -----------
  [clangd] Fix erroneous qualification of template type parameters (#116821)

...in DefineOutline tweak.
E.g. moving the following definition:
  `template<typename T> struct S { T f^oo() const { return T(); } };`
would result in:
 `template<typename T> S<T>::T S::foo() const { return T(); }`
instead of:
  `template<typename T> T S::foo() const { return T(); }`


  Commit: 9111d531d85a743986ebc51b68fc1734086531ea
      https://github.com/llvm/llvm-project/commit/9111d531d85a743986ebc51b68fc1734086531ea
  Author: David Spickett <david.spickett at linaro.org>
  Date:   2024-11-20 (Wed, 20 Nov 2024)

  Changed paths:
    R flang/CODE_OWNERS.TXT
    A flang/Maintainers.txt

  Log Message:
  -----------
  [flang] Rename Code Owners to Maintainers (#116009)

https://llvm.org/docs/DeveloperPolicy.html#maintainers


  Commit: 92604d7c8061615dfb77568cc9cb2169f648290a
      https://github.com/llvm/llvm-project/commit/92604d7c8061615dfb77568cc9cb2169f648290a
  Author: Mats Petersson <mats.petersson at arm.com>
  Date:   2024-11-20 (Wed, 20 Nov 2024)

  Changed paths:
    M flang/include/flang/Parser/dump-parse-tree.h
    M flang/include/flang/Parser/parse-tree.h
    M flang/lib/Lower/OpenMP/Clauses.cpp
    M flang/lib/Parser/openmp-parsers.cpp
    M flang/lib/Parser/unparse.cpp
    M flang/lib/Semantics/resolve-names.cpp
    A flang/test/Lower/OpenMP/Todo/map-mapper.f90
    M flang/test/Parser/OpenMP/map-modifiers.f90
    A flang/test/Semantics/OpenMP/map-clause-symbols.f90
    M flang/test/Semantics/OpenMP/map-clause.f90

  Log Message:
  -----------
  [flang][OpenMP]Add parsing support for MAP(MAPPER(name) ...) (#116274)

This prepares for using the DECLARE MAPPER construct.

A check in lowering will say "Not implemented" when trying to use a
mapper as some code is required to tie the mapper to the declared one.

Senantics check for the symbol generated.


  Commit: b7ddb97ac2cfb57f17c7f68815606cbd57918417
      https://github.com/llvm/llvm-project/commit/b7ddb97ac2cfb57f17c7f68815606cbd57918417
  Author: Mats Petersson <mats.petersson at arm.com>
  Date:   2024-11-20 (Wed, 20 Nov 2024)

  Changed paths:
    A flang/test/Lower/OpenMP/Todo/scope-allocate.f90
    A flang/test/Lower/OpenMP/Todo/scope-firstprivate.f90

  Log Message:
  -----------
  [flang][OpenMP]Add TODO checking for scope allocate and firstprivate (#116801)

For the situation where scope is implemented to 5.1 standard, check that
the 5.2 are still "not yet implemented" (or some other partial
implementation).


  Commit: 288f05f63e5f3246657aca9561d75b2aa02cb6f5
      https://github.com/llvm/llvm-project/commit/288f05f63e5f3246657aca9561d75b2aa02cb6f5
  Author: Md Asghar Ahmad Shahid <md.asghar.ahmad.shahid at intel.com>
  Date:   2024-11-20 (Wed, 20 Nov 2024)

  Changed paths:
    M mlir/include/mlir/Dialect/Linalg/IR/LinalgStructuredOps.td
    M mlir/lib/Dialect/Linalg/IR/LinalgOps.cpp

  Log Message:
  -----------
  [NFC][MLIR][Linalg] Refactor linalg.matmul tablegen ODS and related C++ code. (#116377)

This commit refactors part of the code in preparation for the migration
of other *matmul* variants from OpDSL to ODS.
Moves getDefaultIndexingmaps() helper into the MatmulOp class.


  Commit: 2b5214b9e16cdc784def1d521ce38074a2e8c90f
      https://github.com/llvm/llvm-project/commit/2b5214b9e16cdc784def1d521ce38074a2e8c90f
  Author: Ramkumar Ramachandra <ramkumar.ramachandra at codasip.com>
  Date:   2024-11-20 (Wed, 20 Nov 2024)

  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/ScalarEvolution.cpp
    M llvm/lib/CodeGen/ExpandMemCmp.cpp
    M llvm/lib/IR/ConstantRange.cpp
    M llvm/lib/IR/Instructions.cpp
    M llvm/lib/Transforms/Scalar/ConstraintElimination.cpp

  Log Message:
  -----------
  IR: de-duplicate two CmpInst routines (NFC) (#116866)

De-duplicate the functions getSignedPredicate and getUnsignedPredicate,
nearly identical versions of which were present in CmpInst and ICmpInst,
creating less confusion.


  Commit: 9bccf61f5fd20a52f997b23a56c13ada72c46eae
      https://github.com/llvm/llvm-project/commit/9bccf61f5fd20a52f997b23a56c13ada72c46eae
  Author: Sjoerd Meijer <smeijer at nvidia.com>
  Date:   2024-11-20 (Wed, 20 Nov 2024)

  Changed paths:
    M llvm/include/llvm/Analysis/TargetTransformInfo.h
    M llvm/include/llvm/Analysis/TargetTransformInfoImpl.h
    M llvm/include/llvm/CodeGen/BasicTTIImpl.h
    M llvm/lib/Analysis/TargetTransformInfo.cpp
    M llvm/lib/Target/AArch64/AArch64Subtarget.cpp
    M llvm/lib/Target/AArch64/AArch64Subtarget.h
    M llvm/lib/Target/AArch64/AArch64TargetTransformInfo.cpp
    M llvm/lib/Target/AArch64/AArch64TargetTransformInfo.h
    M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
    M llvm/test/Transforms/LoopVectorize/AArch64/interleaving-load-store.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/interleaving-reduction.ll
    A llvm/test/Transforms/LoopVectorize/AArch64/neoverse-epilogue-vect.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/sve-epilog-vect-vscale-tune.ll

  Log Message:
  -----------
  [AArch64][LV] Set MaxInterleaving to 4 for Neoverse V2 and V3 (#100385)

Set the maximum interleaving factor to 4, aligning with the number of available
SIMD pipelines. This increases the number of vector instructions in the vectorised
loop body, enhancing performance during its execution. However, for very low
iteration counts, the vectorised body might not execute at all, leaving only the
epilogue loop to run. This issue affects e.g. cam4_r from SPEC FP, which
experienced a performance regression. To address this, the patch reduces the
minimum epilogue vectorisation factor from 16 to 8, enabling the epilogue to be
vectorised and largely mitigating the regression.


  Commit: 09c41246ed58344892a1a82f7256a4ad6e1c49d7
      https://github.com/llvm/llvm-project/commit/09c41246ed58344892a1a82f7256a4ad6e1c49d7
  Author: Diana Picus <Diana-Magda.Picus at amd.com>
  Date:   2024-11-20 (Wed, 20 Nov 2024)

  Changed paths:
    M llvm/lib/Target/AMDGPU/SIFrameLowering.cpp
    M llvm/test/CodeGen/AMDGPU/pei-amdgpu-cs-chain-preserve.mir
    M llvm/test/CodeGen/AMDGPU/pei-amdgpu-cs-chain.mir

  Log Message:
  -----------
  [AMDGPU] Fix restores in chain functions (#116193)

When spilling a VGPR in `emitPrologue`, chain functions prefer to use
offsets to access the stack instead of the SP.

This patch fixes `emitEpilogue` to do the same. It also brings back some
test coverage that was lost in #93526, when WWM registers started being
shifted to the lowest available range (which meant that tests that were
originally spilling v8 would shift to spill v0, which is a scratch
register for chain functions and didn't get spilled).

Change-Id: Icb07fccd859b563cd45f74c25ae578ecb38bdeeb


  Commit: 9568f88b7f05015a438ed8beb4f4d07782c34dc2
      https://github.com/llvm/llvm-project/commit/9568f88b7f05015a438ed8beb4f4d07782c34dc2
  Author: Ramkumar Ramachandra <ramkumar.ramachandra at codasip.com>
  Date:   2024-11-20 (Wed, 20 Nov 2024)

  Changed paths:
    M llvm/lib/Transforms/InstCombine/InstCombineInternal.h
    M llvm/lib/Transforms/InstCombine/InstCombineSelect.cpp
    M llvm/test/Transforms/InstCombine/select-binop-cmp.ll
    M llvm/test/Transforms/InstCombine/select-value-equivalence.ll

  Log Message:
  -----------
  InstCombine: support floating-point equivalences (#114975)

Since cd16b07 (IR: introduce CmpInst::isEquivalence), there is now an
isEquivalence routine in CmpInst that we can use to determine
equivalence in foldSelectValueEquivalence. Implement this, extending it
to include floating-point equivalences as well.


  Commit: 62bf5840a63fbe0856c47df3f9ed6b8f1202b385
      https://github.com/llvm/llvm-project/commit/62bf5840a63fbe0856c47df3f9ed6b8f1202b385
  Author: Xi Ruoyao <xry111 at xry111.site>
  Date:   2024-11-20 (Wed, 20 Nov 2024)

  Changed paths:
    M clang/include/clang/Basic/BuiltinsLoongArchLASX.def
    M clang/include/clang/Basic/BuiltinsLoongArchLSX.def
    M clang/lib/Headers/lasxintrin.h
    M clang/lib/Headers/lsxintrin.h

  Log Message:
  -----------
  [LoongArch][Clang] Make the parameters and return value of {x,}vorn.v builti ns `unsigned char` vectors (#114514)

All other bitwise vector builtins use `unsigned char` vector operands,
so it does not make too much sense to use `signed char` for the orn
operation alone.
    
The same change has been also proposed for GCC:
https://gcc.gnu.org/pipermail/gcc-patches/2024-October/667065.html.

Depends on #114513.


  Commit: 77bf34c3154408eb49eda171fbf4d50e3d66f019
      https://github.com/llvm/llvm-project/commit/77bf34c3154408eb49eda171fbf4d50e3d66f019
  Author: Daniel Kiss <daniel.kiss at arm.com>
  Date:   2024-11-20 (Wed, 20 Nov 2024)

  Changed paths:
    M compiler-rt/lib/builtins/cpu_model/aarch64.c
    A compiler-rt/lib/builtins/cpu_model/aarch64/lse_atomics/windows.inc

  Log Message:
  -----------
  [AArch64][compiler-rt] Add LSE support for Windows. (#116706)


  Commit: 408659c5b5c7d745042ae71db344d1ed10601512
      https://github.com/llvm/llvm-project/commit/408659c5b5c7d745042ae71db344d1ed10601512
  Author: Sam Elliott <quic_aelliott at quicinc.com>
  Date:   2024-11-20 (Wed, 20 Nov 2024)

  Changed paths:
    M llvm/lib/Target/RISCV/AsmParser/RISCVAsmParser.cpp
    M llvm/lib/Target/RISCV/RISCVISelDAGToDAG.cpp
    M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
    M llvm/lib/Target/RISCV/RISCVInstrInfoD.td
    M llvm/lib/Target/RISCV/RISCVRegisterInfo.td
    M llvm/test/CodeGen/RISCV/zdinx-asm-constraint.ll

  Log Message:
  -----------
  [RISCV] Merge GPRPair and GPRF64Pair (#116094)

As suggested by Craig, this tries to merge the two sets of register
classes created in #112983, GPRPair* and GPRF64Pair*.

- I added some explicit annotations to `RISCVInstrInfoD.td` which fixed
the type inference issues I was seeing from tablegen for select
patterns.
- I've had to make the behaviour of `splitValueIntoRegisterParts` and
`joinRegisterPartsIntoValue` cover more cases, because you cannot
bitcast to/from untyped (the bitcast would otherwise have been inserted
automatically by TargetLowering code).
- I apparently didn't need to change `getNumRegisters` again, which
continues to tell me there's a bug in the code for tied inputs. I added
some more test coverage of this case but it didn't seem to help find the
asserts I was finding before - I think the difference is between the
default behaviour for integers which doesn't apply to floats.
- There's still a difference between BuildGPRPair and BuildPairF64 (and
the same for SplitGPRPair and SplitF64). I'm not happy with this, I
think it's quite confusing, as they're very similar, just differing in
whether they give a `untyped` or a `f64`. I haven't really worked out
how the DAGCombiner copes if one meets the other, I know we have some of
this for the f64 variants already, but they're a lot more complex than
the GPRPair variants anyway.


  Commit: 1b792252e3d52dc60ddadac1ba8f1ad7b40d60c9
      https://github.com/llvm/llvm-project/commit/1b792252e3d52dc60ddadac1ba8f1ad7b40d60c9
  Author: Jay Foad <jay.foad at amd.com>
  Date:   2024-11-20 (Wed, 20 Nov 2024)

  Changed paths:
    M llvm/lib/Target/AMDGPU/BUFInstructions.td
    M llvm/lib/Target/AMDGPU/DSInstructions.td
    M llvm/lib/Target/AMDGPU/FLATInstructions.td

  Log Message:
  -----------
  [AMDGPU] Remove hasPostISelHook for atomics. NFC. (#116791)

This is not required since 2147b6c89d44 changed that way that no-ret
atomic ops are selected.


  Commit: 5f1a7f274969728801f20a0239848f5f93a39baa
      https://github.com/llvm/llvm-project/commit/5f1a7f274969728801f20a0239848f5f93a39baa
  Author: Simon Pilgrim <llvm-dev at redking.me.uk>
  Date:   2024-11-20 (Wed, 20 Nov 2024)

  Changed paths:
    M llvm/lib/Target/X86/X86InstrAVX512.td
    M llvm/lib/Target/X86/X86SchedIceLake.td
    M llvm/lib/Target/X86/X86SchedSkylakeClient.td
    M llvm/lib/Target/X86/X86SchedSkylakeServer.td
    M llvm/test/tools/llvm-mca/X86/IceLakeServer/resources-avx1.s
    M llvm/test/tools/llvm-mca/X86/IceLakeServer/resources-avx2.s
    M llvm/test/tools/llvm-mca/X86/IceLakeServer/resources-avx512.s
    M llvm/test/tools/llvm-mca/X86/IceLakeServer/resources-sse41.s
    M llvm/test/tools/llvm-mca/X86/SkylakeClient/resources-avx1.s
    M llvm/test/tools/llvm-mca/X86/SkylakeClient/resources-avx2.s
    M llvm/test/tools/llvm-mca/X86/SkylakeClient/resources-sse41.s
    M llvm/test/tools/llvm-mca/X86/SkylakeServer/resources-avx1.s
    M llvm/test/tools/llvm-mca/X86/SkylakeServer/resources-avx2.s
    M llvm/test/tools/llvm-mca/X86/SkylakeServer/resources-avx512.s
    M llvm/test/tools/llvm-mca/X86/SkylakeServer/resources-sse41.s

  Log Message:
  -----------
  [X86] Fix scheduler class for EVEX VMOVNTDQA variants and cleanup Skylake/Icelake resource usage (#116946)

Ensure we use the SchedWriteVecMoveLSNT class for all (V)MOVNTDQA instructions, remove unnecessary scheduler overrides and adjust resource pipe usage to match uops.info/Agner numbers


  Commit: 0a1795f781163a8e7b72fee492f87ab27d5e3995
      https://github.com/llvm/llvm-project/commit/0a1795f781163a8e7b72fee492f87ab27d5e3995
  Author: Benjamin Maxwell <benjamin.maxwell at arm.com>
  Date:   2024-11-20 (Wed, 20 Nov 2024)

  Changed paths:
    M llvm/lib/CodeGen/SelectionDAG/LegalizeFloatTypes.cpp
    M llvm/lib/CodeGen/SelectionDAG/LegalizeTypes.h

  Log Message:
  -----------
  [SDAG] Generalize FSINCOS type legalization (NFC) (#116848)

There's nothing that specific to FSINCOS about these; they could be used
for similar nodes in the future.


  Commit: 18b02bbf441660683df7f3925946984203d49bab
      https://github.com/llvm/llvm-project/commit/18b02bbf441660683df7f3925946984203d49bab
  Author: DianQK <dianqk at dianqk.net>
  Date:   2024-11-20 (Wed, 20 Nov 2024)

  Changed paths:
    M llvm/include/llvm/Analysis/MemorySSAUpdater.h
    M llvm/lib/Analysis/MemorySSAUpdater.cpp
    M llvm/lib/Transforms/Scalar/LICM.cpp
    A llvm/test/Transforms/LICM/PR116813-memoryssa-outdated.ll

  Log Message:
  -----------
  [LICM] allow MemoryAccess creation failure (#116813)

Fixes #116809.

After running some passes (SimpleLoopUnswitch, LoopInstSimplify, etc.),
MemorySSA might be outdated, and the instruction `I` may have become a
non-memory touching instruction.

LICM has already handled this, but it does not pass
`CreationMustSucceed=false` to `createDefinedAccess`.


  Commit: af0e0ded7be29a7007c08105a0329e85cd937499
      https://github.com/llvm/llvm-project/commit/af0e0ded7be29a7007c08105a0329e85cd937499
  Author: c8ef <c8ef at outlook.com>
  Date:   2024-11-20 (Wed, 20 Nov 2024)

  Changed paths:
    M clang/docs/ReleaseNotes.rst
    M clang/include/clang/Basic/Builtins.td
    M clang/lib/AST/ExprConstant.cpp
    M clang/test/Sema/constant_builtins_vector.cpp

  Log Message:
  -----------
  [clang] constexpr built-in reduce and function.  (#116822)

Part of #51787.
Follow up of #116626.

This patch adds constexpr support for the built-in reduce and function.


  Commit: d0522f4a9af84a3b402586f71cacd3c14269711a
      https://github.com/llvm/llvm-project/commit/d0522f4a9af84a3b402586f71cacd3c14269711a
  Author: Simon Pilgrim <llvm-dev at redking.me.uk>
  Date:   2024-11-20 (Wed, 20 Nov 2024)

  Changed paths:
    M llvm/lib/Target/X86/X86SchedIceLake.td
    M llvm/lib/Target/X86/X86SchedSkylakeClient.td
    M llvm/lib/Target/X86/X86SchedSkylakeServer.td
    M llvm/test/tools/llvm-mca/X86/IceLakeServer/resources-ssse3.s
    M llvm/test/tools/llvm-mca/X86/SkylakeClient/resources-ssse3.s
    M llvm/test/tools/llvm-mca/X86/SkylakeServer/resources-ssse3.s

  Log Message:
  -----------
  [X86] Fix PSHUFB port usage on Skylake/Icelake

MMX PSHUFB has an additional Port0 dependency (as do most MMX instructions) - confirmed with uops.info


  Commit: 33fcd6acc75535c8b5e27b00eb99d35abf52954d
      https://github.com/llvm/llvm-project/commit/33fcd6acc75535c8b5e27b00eb99d35abf52954d
  Author: Paul Walker <paul.walker at arm.com>
  Date:   2024-11-20 (Wed, 20 Nov 2024)

  Changed paths:
    M llvm/test/Transforms/InstCombine/AArch64/sve-intrinsic-fmul-idempotency.ll
    M llvm/test/Transforms/InstCombine/AArch64/sve-intrinsic-fmul_u-idempotency.ll
    M llvm/test/Transforms/InstCombine/AArch64/sve-intrinsic-mul-idempotency.ll
    M llvm/test/Transforms/InstCombine/AArch64/sve-intrinsic-mul_u-idempotency.ll
    M llvm/test/Transforms/InstCombine/scalable-const-fp-splat.ll
    M llvm/test/Transforms/InstSimplify/ConstProp/extractelement-vscale.ll
    M llvm/test/Transforms/InstSimplify/ConstProp/vscale-shufflevector-inseltpoison.ll
    M llvm/test/Transforms/InstSimplify/ConstProp/vscale-shufflevector.ll

  Log Message:
  -----------
  [NFC][LLVM] Migrate tests to use update_test_checks.py.

  Transforms/InstCombine/AArch64/sve-intrinsic-fmul-idempotency.ll
  Transforms/InstCombine/AArch64/sve-intrinsic-fmul_u-idempotency.ll
  Transforms/InstCombine/AArch64/sve-intrinsic-mul-idempotency.ll
  Transforms/InstCombine/AArch64/sve-intrinsic-mul_u-idempotency.ll
  Transforms/InstCombine/scalable-const-fp-splat.ll
  Transforms/InstSimplify/ConstProp/extractelement-vscale.ll
  Transforms/InstSimplify/ConstProp/vscale-shufflevector-inseltpoison.ll
  Transforms/InstSimplify/ConstProp/vscale-shufflevector.ll


  Commit: 08e7609692af3cb84da510deac70eeb02cbceb6d
      https://github.com/llvm/llvm-project/commit/08e7609692af3cb84da510deac70eeb02cbceb6d
  Author: Zichen Lu <mikaovo2000 at gmail.com>
  Date:   2024-11-20 (Wed, 20 Nov 2024)

  Changed paths:
    M mlir/include/mlir/Dialect/GPU/IR/CompilationInterfaces.h
    M mlir/include/mlir/Target/LLVM/ModuleToObject.h
    M mlir/lib/Dialect/GPU/IR/GPUDialect.cpp
    M mlir/lib/Target/LLVM/ModuleToObject.cpp
    M mlir/lib/Target/LLVM/NVVM/Target.cpp
    M mlir/unittests/Target/LLVM/SerializeNVVMTarget.cpp
    M mlir/unittests/Target/LLVM/SerializeToLLVMBitcode.cpp

  Log Message:
  -----------
  [mlir][fix] Add callback functions for ModuleToObject (#116916)

Here is the [merged
MR](https://github.com/llvm/llvm-project/pull/116007) which caused a
failure and [was
reverted](https://github.com/llvm/llvm-project/pull/116811).

Thanks to @joker-eph for the help, I fix it (miss constructing
`ModuleObject` with callback functions in
`mlir/lib/Target/LLVM/NVVM/Target.cpp`) and split unit tests from origin
test which don't need `ptxas` to make the test runs more widely.


  Commit: 05bcf83c5c25625df1caf86ef4070644907947b6
      https://github.com/llvm/llvm-project/commit/05bcf83c5c25625df1caf86ef4070644907947b6
  Author: Christian Oliveros <christianol_01 at hotmail.com>
  Date:   2024-11-20 (Wed, 20 Nov 2024)

  Changed paths:
    M openmp/runtime/src/CMakeLists.txt
    M openmp/runtime/tools/message-converter.py

  Log Message:
  -----------
  [OpenMP][Build][Wasm][116552] Fixed build problem when compiling with Emscripten on Windows (#116874)


  Commit: a160e51500ea625b97618d882b97b06367978ea4
      https://github.com/llvm/llvm-project/commit/a160e51500ea625b97618d882b97b06367978ea4
  Author: Sergei Barannikov <barannikov88 at gmail.com>
  Date:   2024-11-20 (Wed, 20 Nov 2024)

  Changed paths:
    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/AArch64SVEInstrInfo.td
    M llvm/lib/Target/AArch64/SVEInstrFormats.td

  Log Message:
  -----------
  [AArch64] Fix SDNode type mismatches between *.td files and ISel (#116523)

* `MRS`, `PTEST` and FP comparisons were missing "flags" result, and
were sometimes created with invalid types (f32, Glue, Other).
* `REV16`, `REV32`, `REV64`, and `CMGEz` were sometimes created with an
extra operand.
* `TLSDESC_CALLSEQ` had `SDNPInGlue` property, but the node was never
created with a glue operand.


  Commit: 1ca853b2ee1b68daaec6fdc23a085755146d102d
      https://github.com/llvm/llvm-project/commit/1ca853b2ee1b68daaec6fdc23a085755146d102d
  Author: Feng Zou <feng.zou at intel.com>
  Date:   2024-11-20 (Wed, 20 Nov 2024)

  Changed paths:
    M clang/test/Driver/relax.s
    M lld/ELF/Arch/X86_64.cpp
    M lld/test/ELF/x86-64-gotpc-no-relax-err.s
    M lld/test/ELF/x86-64-gotpc-relax-nopic.s
    M lld/test/ELF/x86-64-gotpc-relax.s
    M llvm/include/llvm/BinaryFormat/ELFRelocs/x86_64.def
    M llvm/lib/MC/MCTargetOptionsCommandFlags.cpp
    M llvm/lib/Target/X86/MCTargetDesc/X86ELFObjectWriter.cpp
    M llvm/lib/Target/X86/MCTargetDesc/X86MCCodeEmitter.cpp
    M llvm/test/MC/ELF/relocation-alias.s
    M llvm/test/MC/X86/gotpcrelx.s
    M llvm/test/MC/X86/reloc-directive-elf-64.s

  Log Message:
  -----------
  [X86][MC,LLD][NFC] Rename R_X86_64_REX2_GOTPCRELX (#116737)

Rename R_X86_64_REX2_GOTPCRELX to R_X86_64_CODE_4_GOTPCRELX, to align
with GCC/binutils and ABI.

GCC/binutils:
https://github.com/bminor/binutils-gdb/commit/3d5a60de52556f6a53d71d7e607c6696450ae3e4
and
https://github.com/bminor/binutils-gdb/commit/4a54cb06585f568031dfd291d0fe45979ad75e98
ABI:
https://gitlab.com/x86-psABIs/x86-64-ABI/-/commit/357de358ba68eb779822dfcbb45f7ee2d9d09193


  Commit: 8c56dd3040f295874e3d5742b5dfc109adf1f728
      https://github.com/llvm/llvm-project/commit/8c56dd3040f295874e3d5742b5dfc109adf1f728
  Author: Sergei Barannikov <barannikov88 at gmail.com>
  Date:   2024-11-20 (Wed, 20 Nov 2024)

  Changed paths:
    M llvm/lib/Target/ARM/ARMISelLowering.cpp
    M llvm/lib/Target/ARM/ARMInstrVFP.td
    M llvm/lib/Target/ARM/ARMRegisterInfo.td
    M llvm/test/CodeGen/ARM/fcmp-xo.ll
    M llvm/test/CodeGen/ARM/fp16-instructions.ll
    M llvm/test/CodeGen/ARM/fp16-vminmaxnm-safe.ll
    M llvm/test/CodeGen/ARM/fptosi-sat-scalar.ll
    M llvm/test/CodeGen/ARM/fptoui-sat-scalar.ll
    M llvm/test/CodeGen/ARM/minnum-maxnum-intrinsics.ll
    M llvm/test/CodeGen/ARM/select.ll
    M llvm/test/CodeGen/Thumb2/mve-fmas.ll
    M llvm/test/CodeGen/Thumb2/mve-fptosi-sat-vector.ll
    M llvm/test/CodeGen/Thumb2/mve-fptoui-sat-vector.ll
    M llvm/test/CodeGen/Thumb2/mve-pred-ext.ll
    M llvm/test/CodeGen/Thumb2/mve-vcmpf.ll
    M llvm/test/CodeGen/Thumb2/mve-vcmpfr.ll
    M llvm/test/CodeGen/Thumb2/mve-vcmpfz.ll

  Log Message:
  -----------
  [ARM] Stop gluing FP comparisons to FMSTAT (#116676)

Following #116547, this changes the result of `ARMISD::CMPFP*` and the
operand of `ARMISD::FMSTAT` from a special `Glue` type to a normal type.

This change allows comparisons to be CSEd and scheduled around as can be
seen in the test changes.

Note that `ARMISD::FMSTAT` is still glued to its consumer nodes; this is
going to be changed in a separate patch.

This patch also sets `CopyCost` of `cl_FPSCR_NZCV` register class to a
negative value. The reason is the same as for CCR register class: it
makes DAG scheduler and InstrEmitter try to avoid copies of `FPCSR_NZCV`
register to / from virtual registers. Previously, this was not
necessary, since no attempt was made to create copies in the first
place.

There might be a case when a copy can't be avoided (although not found
in existing tests). If a copy is necessary, the virtual register will be
created with `cl_FPSCR_NZCV` register class. If this register class is
inappropriate, `TRI::getCrossCopyRegClass` should be modified to return
the correct class.

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


  Commit: 2c094ac761912eea0d7e8ccb140bc647b5378bdf
      https://github.com/llvm/llvm-project/commit/2c094ac761912eea0d7e8ccb140bc647b5378bdf
  Author: Yingwei Zheng <dtcxzyw2333 at gmail.com>
  Date:   2024-11-20 (Wed, 20 Nov 2024)

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

  Log Message:
  -----------
  [InstCombine] Drop range attributes in `foldBitCeil` (#116641)

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


  Commit: fe697efe0c4ac34f30e28b77bb155c4fa996dab0
      https://github.com/llvm/llvm-project/commit/fe697efe0c4ac34f30e28b77bb155c4fa996dab0
  Author: Oleksandr T. <oleksandr.tarasiuk at outlook.com>
  Date:   2024-11-20 (Wed, 20 Nov 2024)

  Changed paths:
    M clang/docs/ReleaseNotes.rst
    M clang/lib/Analysis/CFG.cpp
    M clang/test/SemaCXX/constexpr-return-non-void-cxx2b.cpp

  Log Message:
  -----------
  [Clang] avoid adding consteval condition as the last statement to preserve valid CFG (#116513)

Fixes #116485


  Commit: f710e4c0219c97d4726742b294446b833e604819
      https://github.com/llvm/llvm-project/commit/f710e4c0219c97d4726742b294446b833e604819
  Author: Aaron Ballman <aaron at aaronballman.com>
  Date:   2024-11-20 (Wed, 20 Nov 2024)

  Changed paths:
    M clang/docs/InternalsManual.rst

  Log Message:
  -----------
  Clarify use of contractions in diagnostic messages (#116803)

This dissuades contributors from using contractions when writing
diagnostic wording for Clang. Contractions should be avoided because of
the potential for visual confusion with single quoting syntactic
constructs and because they can be harder to understand for non-native
English speakers.


  Commit: ddc2e364aace37ce614106dcfaf4cffd2ec85f70
      https://github.com/llvm/llvm-project/commit/ddc2e364aace37ce614106dcfaf4cffd2ec85f70
  Author: Simon Pilgrim <llvm-dev at redking.me.uk>
  Date:   2024-11-20 (Wed, 20 Nov 2024)

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

  Log Message:
  -----------
  [X86] getSHUFPDImm - allow general shuffle mask size

#116419 assumed that getSHUFPDImm incorrectly hardcoded the mask size to 4 (cut+pasta typo from getV4X86ShuffleImm).

Waiting on reduced test case from @metaflow


  Commit: c0fdedfedf16317253619aa65b7c60102aa36fee
      https://github.com/llvm/llvm-project/commit/c0fdedfedf16317253619aa65b7c60102aa36fee
  Author: Congcong Cai <congcongcai0907 at 163.com>
  Date:   2024-11-20 (Wed, 20 Nov 2024)

  Changed paths:
    M clang-tools-extra/test/CMakeLists.txt

  Log Message:
  -----------
  [clang-tidy][NFC]remove deps of clang in clang tidy test (#116588)

It is introduced in https://reviews.llvm.org/D59528, but I don't find
any usage of clang in clang tidy test.


  Commit: d0d726e56da39bfbc583769a673842c0f05e72cb
      https://github.com/llvm/llvm-project/commit/d0d726e56da39bfbc583769a673842c0f05e72cb
  Author: Md Asghar Ahmad Shahid <md.asghar.ahmad.shahid at intel.com>
  Date:   2024-11-20 (Wed, 20 Nov 2024)

  Changed paths:
    M mlir/lib/Dialect/Linalg/IR/LinalgOps.cpp

  Log Message:
  -----------
  Fix GCC build problem with 288f05f related to SmallVector. (#116958)

Below is the error message for reference.

/llvm-project/mlir/lib/Dialect/Linalg/IR/LinalgOps.cpp: In static member
function 'static llvm::SmallVector<mlir::AffineMap>
mlir::linalg::MatmulOp::getDefaultIndexingMaps(mlir::MLIRContext*)':
/llvm-project/mlir/lib/Dialect/Linalg/IR/LinalgOps.cpp:3468:10: error:
could not convert 'indexingMaps' from 'SmallVector<[...],3>' to
'SmallVector<[...],6>'
 3468 |   return indexingMaps;
      |          ^~~~~~~~~~~~
      |          |
      |          SmallVector<[...],3>

Here is the link to the failure.
https://lab.llvm.org/buildbot/#/builders/117/builds/3919
...


  Commit: b17f6077036296cb0f475f16adcdce4af6aea3e9
      https://github.com/llvm/llvm-project/commit/b17f6077036296cb0f475f16adcdce4af6aea3e9
  Author: Alexey Bataev <a.bataev at outlook.com>
  Date:   2024-11-20 (Wed, 20 Nov 2024)

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

  Log Message:
  -----------
  [SLP][NFC]Remove unnecessary std::optional around Factor value


  Commit: 71b87d12678cbdb900c3a8fb673dcaf14d0433be
      https://github.com/llvm/llvm-project/commit/71b87d12678cbdb900c3a8fb673dcaf14d0433be
  Author: Paul Walker <paul.walker at arm.com>
  Date:   2024-11-20 (Wed, 20 Nov 2024)

  Changed paths:
    M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
    M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-masked-load.ll

  Log Message:
  -----------
  [LLVM][SVE] Ensure all fixed length mask bits are defined. (#116819)

convertFixedMaskToScalableVector expects the mask input to honour the
BoolContents scheme employed by the target. For AArch64 this means a
mask should be zero or all ones, and thus when promoting a mask we must
use a sign extend.


  Commit: 3e15bce9e1e144c0e568eed10010fa0e359e8ec2
      https://github.com/llvm/llvm-project/commit/3e15bce9e1e144c0e568eed10010fa0e359e8ec2
  Author: Nuno Lopes <nuno.lopes at tecnico.ulisboa.pt>
  Date:   2024-11-20 (Wed, 20 Nov 2024)

  Changed paths:
    M llvm/include/llvm/FuzzMutate/OpDescriptor.h
    M llvm/lib/FuzzMutate/Operations.cpp
    M llvm/lib/FuzzMutate/RandomIRBuilder.cpp
    M llvm/unittests/FuzzMutate/OperationsTest.cpp

  Log Message:
  -----------
  [FuzzMutate] replace undef placeholders with poison


  Commit: c22bb6f5b1b43484b47dd896a147bf54f8f44c9a
      https://github.com/llvm/llvm-project/commit/c22bb6f5b1b43484b47dd896a147bf54f8f44c9a
  Author: Utkarsh Saxena <usx at google.com>
  Date:   2024-11-20 (Wed, 20 Nov 2024)

  Changed paths:
    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/Sema.h
    M clang/lib/Sema/CheckExprLifetime.cpp
    M clang/lib/Sema/CheckExprLifetime.h
    M clang/lib/Sema/SemaChecking.cpp
    M clang/lib/Sema/SemaExpr.cpp
    M clang/lib/Sema/SemaInit.cpp
    M clang/lib/Sema/SemaOverload.cpp
    A clang/test/Sema/Inputs/lifetime-analysis.h
    A clang/test/Sema/warn-lifetime-analysis-capture-by.cpp
    M clang/test/Sema/warn-lifetime-analysis-nocfg.cpp
    M clang/test/SemaCXX/attr-lifetimebound.cpp

  Log Message:
  -----------
  [clang] Implement lifetime analysis for lifetime_capture_by(X) (#115921)

This PR uses the existing lifetime analysis for the `capture_by`
attribute.

The analysis is behind `-Wdangling-capture` warning and is disabled by
default for now. Once it is found to be stable, it will be default
enabled.

Planned followup:
- add implicit inference of this attribute on STL container methods like
`std::vector::push_back`.
- (consider) warning if capturing `X` cannot capture anything. It should
be a reference, pointer or a view type.
- refactoring temporary visitors and other related handlers.
- start discussing `__global` vs `global` in the annotation in a
separate PR.

---------

Co-authored-by: Boaz Brickner <brickner at google.com>


  Commit: b49c4af186a6de8f201ed6a4c326ebf822d4fd84
      https://github.com/llvm/llvm-project/commit/b49c4af186a6de8f201ed6a4c326ebf822d4fd84
  Author: Simon Pilgrim <llvm-dev at redking.me.uk>
  Date:   2024-11-20 (Wed, 20 Nov 2024)

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

  Log Message:
  -----------
  Fix GCC signed/unsigned comparison warning.


  Commit: cfd67c214938a1f4ab3eff45a79a5a3da543d4b6
      https://github.com/llvm/llvm-project/commit/cfd67c214938a1f4ab3eff45a79a5a3da543d4b6
  Author: Krzysztof Parzyszek <Krzysztof.Parzyszek at amd.com>
  Date:   2024-11-20 (Wed, 20 Nov 2024)

  Changed paths:
    M flang/examples/FeatureList/FeatureList.cpp
    M flang/examples/FlangOmpReport/FlangOmpReportVisitor.cpp
    M flang/examples/FlangOmpReport/FlangOmpReportVisitor.h
    M flang/include/flang/Parser/dump-parse-tree.h
    M flang/include/flang/Parser/parse-tree.h
    M flang/lib/Lower/OpenMP/Clauses.cpp
    M flang/lib/Parser/openmp-parsers.cpp
    M flang/lib/Parser/parse-tree.cpp
    M flang/lib/Parser/unparse.cpp
    M flang/lib/Semantics/check-omp-structure.cpp
    M flang/lib/Semantics/check-omp-structure.h
    M flang/lib/Semantics/resolve-directives.cpp
    M flang/test/Parser/OpenMP/affinity-clause.f90
    M flang/test/Parser/OpenMP/depobj-construct.f90
    M flang/test/Parser/OpenMP/from-clause.f90
    M flang/test/Parser/OpenMP/in-reduction-clause.f90
    M flang/test/Parser/OpenMP/map-modifiers.f90
    M flang/test/Parser/OpenMP/reduction-modifier.f90
    M flang/test/Parser/OpenMP/target-update-to-clause.f90

  Log Message:
  -----------
  [flang][OpenMP] Normalize clause modifiers that exist on their own (#116655)

This is the first part of the effort to make parsing of clause modifiers
more uniform and robust. Currently, when multiple modifiers are allowed,
the parser will expect them to appear in a hard-coded order.
Additionally, modifier properties (such as "ultimate") are checked
separately for each case.

The overall plan is
1. Extract all modifiers into their own top-level classes, and then
equip them with sets of common properties that will allow performing the
property checks generically, without refering to the specific kind of
the modifier.
2. Define a parser (as a separate class) for each modifier.
3. For each clause define a union (std::variant) of all allowable
modifiers, and parse the modifiers as a list of these unions.

The intent is also to isolate parts of the code that could eventually be
auto-generated.

OpenMP modifier overhaul: #1/3


  Commit: 12cfa414a343dc86623d049083752184bf494dee
      https://github.com/llvm/llvm-project/commit/12cfa414a343dc86623d049083752184bf494dee
  Author: Haojian Wu <hokein.wu at gmail.com>
  Date:   2024-11-20 (Wed, 20 Nov 2024)

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

  Log Message:
  -----------
  [bazel] Port for 08e7609692af3cb84da510deac70eeb02cbceb6d


  Commit: d44ea7186befe38eb2b3804b15cd1ee1777458ed
      https://github.com/llvm/llvm-project/commit/d44ea7186befe38eb2b3804b15cd1ee1777458ed
  Author: Kazu Hirata <kazu at google.com>
  Date:   2024-11-20 (Wed, 20 Nov 2024)

  Changed paths:
    M llvm/lib/Support/ARMBuildAttrs.cpp
    M llvm/lib/Support/ConvertUTFWrapper.cpp
    M llvm/lib/Support/DAGDeltaAlgorithm.cpp
    M llvm/lib/Support/InitLLVM.cpp
    M llvm/lib/Support/LockFileManager.cpp
    M llvm/lib/Support/MSP430AttributeParser.cpp
    M llvm/lib/Support/MemoryBuffer.cpp
    M llvm/lib/Support/NativeFormatting.cpp
    M llvm/lib/Support/Path.cpp
    M llvm/lib/Support/Process.cpp
    M llvm/lib/Support/RWMutex.cpp
    M llvm/lib/Support/SuffixTreeNode.cpp
    M llvm/lib/Support/Threading.cpp
    M llvm/lib/Support/VirtualFileSystem.cpp
    M llvm/lib/Support/YAMLTraits.cpp
    M llvm/lib/Support/raw_ostream.cpp
    M llvm/lib/Support/raw_socket_stream.cpp

  Log Message:
  -----------
  [Support] Remove unused includes (NFC) (#116752)

Identified with misc-include-cleaner.


  Commit: 36ada1b9b26eeff34a9427214672cf1540c01667
      https://github.com/llvm/llvm-project/commit/36ada1b9b26eeff34a9427214672cf1540c01667
  Author: Kazu Hirata <kazu at google.com>
  Date:   2024-11-20 (Wed, 20 Nov 2024)

  Changed paths:
    M llvm/lib/Frontend/Atomic/Atomic.cpp
    M llvm/lib/Frontend/HLSL/HLSLResource.cpp
    M llvm/lib/Frontend/Offloading/Utility.cpp
    M llvm/lib/Frontend/OpenACC/ACC.cpp
    M llvm/lib/Frontend/OpenMP/OMP.cpp
    M llvm/lib/Frontend/OpenMP/OMPIRBuilder.cpp

  Log Message:
  -----------
  [Frontend] Remove unused includes (NFC) (#116927)

Identified with misc-include-cleaner.


  Commit: 4d6d56315d4ea2ae2b8059b99e45bdfee764861a
      https://github.com/llvm/llvm-project/commit/4d6d56315d4ea2ae2b8059b99e45bdfee764861a
  Author: Kazu Hirata <kazu at google.com>
  Date:   2024-11-20 (Wed, 20 Nov 2024)

  Changed paths:
    M llvm/lib/TargetParser/RISCVTargetParser.cpp
    M llvm/lib/TargetParser/SubtargetFeature.cpp

  Log Message:
  -----------
  [TargetParser] Remove unused includes (NFC) (#116929)

Identified with misc-include-cleaner.


  Commit: 84d853a708b267ed937e101e72d7cb93dbb7c70a
      https://github.com/llvm/llvm-project/commit/84d853a708b267ed937e101e72d7cb93dbb7c70a
  Author: Schrodinger ZHU Yifan <yifanzhu at rochester.edu>
  Date:   2024-11-20 (Wed, 20 Nov 2024)

  Changed paths:
    M libc/test/integration/scudo/CMakeLists.txt

  Log Message:
  -----------
  [libc] fix scudo integration build (#116979)


  Commit: 5174d00365b619b5dcd2a451aaf7d844c36ce04d
      https://github.com/llvm/llvm-project/commit/5174d00365b619b5dcd2a451aaf7d844c36ce04d
  Author: Florian Hahn <flo at fhahn.com>
  Date:   2024-11-20 (Wed, 20 Nov 2024)

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

  Log Message:
  -----------
  [llvm] Add back Allocator.h include to RWMutex.cpp.

This unbreaks the build on macOS.

Without the include, the build fails with

llvm/lib/Support/RWMutex.cpp:47:36: error: use of undeclared identifier 'safe_malloc'
   47 |
   static_cast<pthread_rwlock_t*>(safe_malloc(sizeof(pthread_rwlock_t)));
         |                                    ^


  Commit: a9b3ec154d7ab2d0896ac5c9f1e9a1266a37be80
      https://github.com/llvm/llvm-project/commit/a9b3ec154d7ab2d0896ac5c9f1e9a1266a37be80
  Author: Florian Hahn <flo at fhahn.com>
  Date:   2024-11-20 (Wed, 20 Nov 2024)

  Changed paths:
    M llvm/test/CodeGen/AArch64/machine-licm-hoist-load.ll

  Log Message:
  -----------
  [MachineLICM] Add test case showing load hoisted across memory barrier.


  Commit: c97478cfaf5610fabbe3c2e298d846c585d0f32c
      https://github.com/llvm/llvm-project/commit/c97478cfaf5610fabbe3c2e298d846c585d0f32c
  Author: Jacek Caban <jacek at codeweavers.com>
  Date:   2024-11-20 (Wed, 20 Nov 2024)

  Changed paths:
    M lld/COFF/DLL.cpp
    M lld/test/COFF/arm64ec-delayimport.test

  Log Message:
  -----------
  [LLD][COFF] Emit tail merge pdata for delay load thunks on ARM64EC (#116810)


  Commit: d2a22367a6b3ae5b2b63c09021a18d9f7da434ed
      https://github.com/llvm/llvm-project/commit/d2a22367a6b3ae5b2b63c09021a18d9f7da434ed
  Author: Joseph Huber <huberjn at outlook.com>
  Date:   2024-11-20 (Wed, 20 Nov 2024)

  Changed paths:
    M libc/src/__support/RPC/rpc.h

  Log Message:
  -----------
  [libc][NFC] Remove redundant [[convergent]] attributes from RPC


  Commit: acc32667b051d84b1660460344dabdc64b9244c1
      https://github.com/llvm/llvm-project/commit/acc32667b051d84b1660460344dabdc64b9244c1
  Author: 7mile <i at 7li.moe>
  Date:   2024-11-20 (Wed, 20 Nov 2024)

  Changed paths:
    M clang/include/clang/Basic/TargetInfo.h
    A clang/lib/Basic/TargetDefines.h
    M clang/lib/Basic/Targets.h

  Log Message:
  -----------
  [Clang][NFC] Refactor `Targets.h` to make it publicly accessible (#116090)

This PR is motivated by the requirements of ClangIR, which includes
compilation pipelines that do not always start from the Clang driver. In
these cases, accessing some target-specific information, such as
obtaining a data layout string for a given target triple or querying
other target details, requires foundational infrastructure like
`clang::TargetInfo`. Since ClangIR is actively being upstreamed, sharing
this logic across components has become essential, which leads to this
PR.

The function `clang::targets::AllocateTarget` serves as the factory for
Clang's `TargetInfo`. To enable sharing, this PR moves `AllocateTarget`
to a public header.

The existing header `clang/lib/Basic/Targets.h` previously contained two
parts: the `AllocateTarget` function and target-specific macro helpers.
With `AllocateTarget` moved, only the macro stuff remain in `Targets.h`.
To better organize the code, the macro helpers have been relocated to a
new file, `clang/lib/Basic/TargetDefines.h` (essentially a rename). The
original `Targets.h` now serves as a proxy header that includes both
headers to maintain compatibility.


  Commit: fce917d39d97b8697e04fc52b1727307fc341212
      https://github.com/llvm/llvm-project/commit/fce917d39d97b8697e04fc52b1727307fc341212
  Author: Chris Apple <cja-private at pm.me>
  Date:   2024-11-20 (Wed, 20 Nov 2024)

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

  Log Message:
  -----------
  [rtsan] Add pipe, mkfifo interceptors (#116915)

## Why we think this are unsafe

Again, these correspond directly to system calls on linux and OSX. They
are two ways to do interprocess communication so it would make sense
that they take some synchronization by the OS.


  Commit: a62c5497c90eb0960860dbc6352e53833d3c407d
      https://github.com/llvm/llvm-project/commit/a62c5497c90eb0960860dbc6352e53833d3c407d
  Author: Han-Kuan Chen <hankuan.chen at sifive.com>
  Date:   2024-11-20 (Wed, 20 Nov 2024)

  Changed paths:
    M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
    M llvm/test/Transforms/SLPVectorizer/revec-shufflevector.ll

  Log Message:
  -----------
  [SLP][REVEC] The vectorized result for ShuffleVector may not be ShuffleVectorInst. (#116940)


  Commit: 9d5b3c80175da59728d13c779051eaf5311c64f7
      https://github.com/llvm/llvm-project/commit/9d5b3c80175da59728d13c779051eaf5311c64f7
  Author: Nikita Popov <npopov at redhat.com>
  Date:   2024-11-20 (Wed, 20 Nov 2024)

  Changed paths:
    M llvm/Maintainers.md

  Log Message:
  -----------
  [LLVM] Fix Maintainers.md formatting (NFC)

In the inactive maintainers section, don't render everything on
one line. Also order alphabetically by last name.


  Commit: b8e1d4dbea8905e48d51a70bf75cb8fababa4a60
      https://github.com/llvm/llvm-project/commit/b8e1d4dbea8905e48d51a70bf75cb8fababa4a60
  Author: choikwa <5455710+choikwa at users.noreply.github.com>
  Date:   2024-11-20 (Wed, 20 Nov 2024)

  Changed paths:
    M llvm/lib/Target/AMDGPU/AMDGPUCodeGenPrepare.cpp
    M llvm/test/CodeGen/AMDGPU/amdgpu-codegenprepare-idiv.ll
    M llvm/test/CodeGen/AMDGPU/bypass-div.ll
    M llvm/test/CodeGen/AMDGPU/udiv64.ll
    M llvm/test/CodeGen/AMDGPU/urem64.ll

  Log Message:
  -----------
  [AMDGPU] prevent shrinking udiv/urem if either operand is in (SignedMax,UnsignedMax] (#116733)

Do this by using ComputeKnownBits and checking for !isNonNegative and
isUnsigned. This rejects shrinking unsigned div/rem if operands exceed
smax_bitwidth since we know NumSignBits will be always 0.


  Commit: 934140a3353f6d480a01a1f68d42899c926ee056
      https://github.com/llvm/llvm-project/commit/934140a3353f6d480a01a1f68d42899c926ee056
  Author: Chris Apple <cja-private at pm.me>
  Date:   2024-11-20 (Wed, 20 Nov 2024)

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

  Log Message:
  -----------
  [rtsan] Remove mkfifoat interceptor (#116997)

This partially reverts #116915
[fce917d](https://github.com/llvm/llvm-project/commit/fce917d39d97b8697e04fc52b1727307fc341212)

mkfifoat was improperly guarded against in MacOS systems


  Commit: 9fb01fcd9fd5ccffa2421096e5e058156b86aa84
      https://github.com/llvm/llvm-project/commit/9fb01fcd9fd5ccffa2421096e5e058156b86aa84
  Author: Brox Chen <guochen2 at amd.com>
  Date:   2024-11-20 (Wed, 20 Nov 2024)

  Changed paths:
    M llvm/lib/Target/AMDGPU/Disassembler/AMDGPUDisassembler.cpp
    M llvm/lib/Target/AMDGPU/SIRegisterInfo.td
    M llvm/lib/Target/AMDGPU/VOP2Instructions.td
    M llvm/test/MC/AMDGPU/gfx11_asm_vop2.s
    M llvm/test/MC/AMDGPU/gfx11_asm_vop2_dpp16.s
    M llvm/test/MC/AMDGPU/gfx11_asm_vop2_dpp8.s
    M llvm/test/MC/AMDGPU/gfx11_asm_vop2_t16_err.s
    M llvm/test/MC/AMDGPU/gfx12_asm_vop2.s
    M llvm/test/MC/AMDGPU/gfx12_asm_vop2_dpp16.s
    M llvm/test/MC/AMDGPU/gfx12_asm_vop2_dpp8.s
    M llvm/test/MC/AMDGPU/gfx12_asm_vop2_t16_err.s
    M llvm/test/MC/Disassembler/AMDGPU/gfx11_dasm_vop2.txt
    M llvm/test/MC/Disassembler/AMDGPU/gfx11_dasm_vop2_dpp16.txt
    M llvm/test/MC/Disassembler/AMDGPU/gfx11_dasm_vop2_dpp8.txt
    M llvm/test/MC/Disassembler/AMDGPU/gfx12_dasm_vop2.txt
    M llvm/test/MC/Disassembler/AMDGPU/gfx12_dasm_vop2_dpp16.txt
    M llvm/test/MC/Disassembler/AMDGPU/gfx12_dasm_vop2_dpp8.txt

  Log Message:
  -----------
  [AMDGPU][MC][True16] Support VOP2 instructions with true16 format (#115233)

Support true16 format for VOP2 instructions in MC

This patch updates the true16 and fake16 vop_profile for the following
instructions and update the asm/dasm tests:
v_fmac_f16
v_fmamk_f16
v_fmaak_f16

It seems vop2_t16_promote.s files are not yet updated with true16 flag
in the previous batch update. It will be updated seperately


  Commit: 1b7f690a0b345f63020ef12e059f86240e6346b9
      https://github.com/llvm/llvm-project/commit/1b7f690a0b345f63020ef12e059f86240e6346b9
  Author: Nikita Popov <npopov at redhat.com>
  Date:   2024-11-20 (Wed, 20 Nov 2024)

  Changed paths:
    M llvm/Maintainers.md

  Log Message:
  -----------
  [LLVM][Maintainers] Add Github account for SundeepKushwaha (NFC)


  Commit: 5bf017ca0c158316d9b060154a1e80304de970f3
      https://github.com/llvm/llvm-project/commit/5bf017ca0c158316d9b060154a1e80304de970f3
  Author: Kazu Hirata <kazu at google.com>
  Date:   2024-11-20 (Wed, 20 Nov 2024)

  Changed paths:
    M llvm/unittests/Transforms/Instrumentation/MemProfUseTest.cpp

  Log Message:
  -----------
  [memprof] Use LineLocation in a unit test (NFC) (#116917)

This patch uses LineLocation in preference to FieldsAre to improve the
readability.  The change makes the unit test a little more consistent
because we already use LineLocation in other tests in the same file.


  Commit: f88c913f8aa1c2bb8e8636ccd9defcb7755a8a40
      https://github.com/llvm/llvm-project/commit/f88c913f8aa1c2bb8e8636ccd9defcb7755a8a40
  Author: Kazu Hirata <kazu at google.com>
  Date:   2024-11-20 (Wed, 20 Nov 2024)

  Changed paths:
    M llvm/include/llvm/ProfileData/MemProfReader.h
    M llvm/unittests/ProfileData/MemProfTest.cpp

  Log Message:
  -----------
  [memprof] Add a new constructor to MemProfReader (NFC) (#116918)

This patch adds a new constructor to MemProfReader that takes
IndexedMemProfData, a complete package of MemProf profile.  To
showcase its usage, I'm updating one of the unit tests to use the new
constructor.

Because of type mismatches between DenseMap and MapVector, I'm copying
Frames and CallStacks for now.  Once we remove the methods and old
constructors that take or return individual components (frames, call
stacks, and records), we will drop the copying, and the new
constructor will collapse down to:

  MemProfReader(IndexedMemProfData MemProfData)
    : MemProfData(std::move(MemProfData)) {}

Since nobody in the LLVM codebase uses the constructor that takes the
three indivdual components, I'm deprecating the old constructor.


  Commit: ab7201a8a39a94bf446f247c6be2602976fbbb5b
      https://github.com/llvm/llvm-project/commit/ab7201a8a39a94bf446f247c6be2602976fbbb5b
  Author: Kazu Hirata <kazu at google.com>
  Date:   2024-11-20 (Wed, 20 Nov 2024)

  Changed paths:
    M llvm/include/llvm/ProfileData/MemProfReader.h

  Log Message:
  -----------
  [memprof] Deprecate MemProfReader::getFrameMapping and its friends (NFC) (#116919)

All the consumers of the data from MemProfReader have switched to
MemProfReader::takeMemProfData.  This patch deprecates
MemProfReader::getFrameMapping and its friends.


  Commit: 4acba0697e7d8068927753f3bdabad478df91dc4
      https://github.com/llvm/llvm-project/commit/4acba0697e7d8068927753f3bdabad478df91dc4
  Author: Kazu Hirata <kazu at google.com>
  Date:   2024-11-20 (Wed, 20 Nov 2024)

  Changed paths:
    M llvm/unittests/Transforms/Instrumentation/MemProfUseTest.cpp

  Log Message:
  -----------
  [memprof] Use a new constructor of IndexedAllocationInfo (NFC) (#116920)

IndexedAllocationInfo now has a new constructor that allows us to omit
the inline call stack, which is going away soon.  This patch migrates
away from the old constructor.


  Commit: 4b3b74dffa0aa76169cb67c3cb7ccf152c2c03aa
      https://github.com/llvm/llvm-project/commit/4b3b74dffa0aa76169cb67c3cb7ccf152c2c03aa
  Author: Kazu Hirata <kazu at google.com>
  Date:   2024-11-20 (Wed, 20 Nov 2024)

  Changed paths:
    M llvm/unittests/Transforms/Instrumentation/MemProfUseTest.cpp

  Log Message:
  -----------
  [memprof] Use InstrProfWriter::addMemProfData in a unit test (NFC) (#116921)

This patch uses InstrProfWriter::addMemProfData to add the complete
MemProf profile to the writer context.


  Commit: fb4ecada815ceee37536a26b4ff5ce231226b23e
      https://github.com/llvm/llvm-project/commit/fb4ecada815ceee37536a26b4ff5ce231226b23e
  Author: Krzysztof Parzyszek <Krzysztof.Parzyszek at amd.com>
  Date:   2024-11-20 (Wed, 20 Nov 2024)

  Changed paths:
    A flang/include/flang/Semantics/openmp-modifiers.h
    M flang/lib/Semantics/CMakeLists.txt
    A flang/lib/Semantics/openmp-modifiers.cpp
    M llvm/include/llvm/Frontend/OpenMP/OMP.h
    M llvm/lib/Frontend/OpenMP/OMP.cpp

  Log Message:
  -----------
  [flang][OpenMP] Change clause modifier representation in parser (#116656)

The main issue to solve is that OpenMP modifiers can be specified in any
order, so the parser cannot expect any specific modifier at a given
position. To solve that, define modifier to be a union of all allowable
specific modifiers for a given clause.

Additionally, implement modifier descriptors: for each modifier the
corresponding descriptor contains a set of properties of the modifier
that allow a common set of semantic checks. Start with the syntactic
properties defined in the spec: Required, Unique, Exclusive, Ultimate,
and implement common checks to verify each of them.

OpenMP modifier overhaul: #2/3


  Commit: e660e6503ba14684bd460b7baaf3da7336d0f46e
      https://github.com/llvm/llvm-project/commit/e660e6503ba14684bd460b7baaf3da7336d0f46e
  Author: Adrian Prantl <aprantl at apple.com>
  Date:   2024-11-20 (Wed, 20 Nov 2024)

  Changed paths:
    M lldb/include/lldb/API/SBFrame.h
    M lldb/include/lldb/API/SBStructuredData.h
    M lldb/include/lldb/Target/LanguageRuntime.h
    M lldb/include/lldb/Target/StackFrame.h
    M lldb/source/API/SBFrame.cpp
    M lldb/source/Plugins/LanguageRuntime/ObjC/AppleObjCRuntime/AppleObjCRuntimeV2.cpp
    M lldb/source/Plugins/LanguageRuntime/ObjC/AppleObjCRuntime/AppleObjCRuntimeV2.h
    M lldb/source/Target/LanguageRuntime.cpp
    M lldb/source/Target/StackFrame.cpp
    A lldb/test/API/lang/objc/languageinfo/Makefile
    A lldb/test/API/lang/objc/languageinfo/TestObjCLanguageInfo.py
    A lldb/test/API/lang/objc/languageinfo/main.m

  Log Message:
  -----------
  [lldb] Add an API to derive language-specific runtime information (#116904)

This is motivated by exposing some Swift language-specific flags through
the API, in the example here it is used to communicate the Objective-C
runtime version. This could also be a meaningful extension point to get
information about "embedded: languages, such as extracting the C++
version in an Objective-C++ frame or something along those lines.


  Commit: e2368afbd0d9b7e8fb900f54c8d71787e44d5774
      https://github.com/llvm/llvm-project/commit/e2368afbd0d9b7e8fb900f54c8d71787e44d5774
  Author: Simon Pilgrim <llvm-dev at redking.me.uk>
  Date:   2024-11-20 (Wed, 20 Nov 2024)

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

  Log Message:
  -----------
  Fix GCC Wparentheses warning in assert condition / message. NFC.


  Commit: fa9bcb4d9f47beaea0898d00f77971549603e25e
      https://github.com/llvm/llvm-project/commit/fa9bcb4d9f47beaea0898d00f77971549603e25e
  Author: Nikita Popov <npopov at redhat.com>
  Date:   2024-11-20 (Wed, 20 Nov 2024)

  Changed paths:
    M llvm/Maintainers.md

  Log Message:
  -----------
  [LLVM][Maintainers] Update links to subproject maintainer lists

Some of these have been migrated to Maintainers.rst/Maintainers.txt
in the meantime.


  Commit: ae023f3499dda3975e6379bc4c0a8d097ac18f60
      https://github.com/llvm/llvm-project/commit/ae023f3499dda3975e6379bc4c0a8d097ac18f60
  Author: Kazu Hirata <kazu at google.com>
  Date:   2024-11-20 (Wed, 20 Nov 2024)

  Changed paths:
    M flang/include/flang/Semantics/openmp-modifiers.h

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

This patch fixes:

  flang/include/flang/Semantics/openmp-modifiers.h:45:69: error: extra
  ';' outside of a function is incompatible with C++98
  [-Werror,-Wc++98-compat-extra-semi]


  Commit: ba7cc955662cfebb614c6a37a7341ba6072a0b70
      https://github.com/llvm/llvm-project/commit/ba7cc955662cfebb614c6a37a7341ba6072a0b70
  Author: Fangrui Song <i at maskray.me>
  Date:   2024-11-20 (Wed, 20 Nov 2024)

  Changed paths:
    M clang/include/clang/Driver/Options.td
    M clang/lib/Driver/ToolChains/CommonArgs.cpp
    M clang/test/Driver/clang_f_opts.c
    A clang/test/Driver/fprofile-sample-use.c

  Log Message:
  -----------
  [Driver] Remove ignored Flag form of -fauto-profile/-fprofile-sample-use

The Flag form options are accepted and silently ignored, which can be
surprising. The Eq form is supposed to be used instead, e.g.
-fprofile-sample-use=a.afdo.

Since we does not intend to support GCC's "fbaata.afdo" filename, just
remove the two options. While here, clean up code as -fauto-profile= is
an alias.

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


  Commit: 81c2024311ab1f0a30c73df8d0957b86c5dac282
      https://github.com/llvm/llvm-project/commit/81c2024311ab1f0a30c73df8d0957b86c5dac282
  Author: Kazu Hirata <kazu at google.com>
  Date:   2024-11-20 (Wed, 20 Nov 2024)

  Changed paths:
    M llvm/unittests/Transforms/Instrumentation/MemProfUseTest.cpp

  Log Message:
  -----------
  [memprof] Remove an unused using directive (#117004)

We've switched to LineLocation from FieldsAre, so we don't need this
"using" directive anymore.


  Commit: 0733f384142b02558b80b3e9a4633dc4d202a14b
      https://github.com/llvm/llvm-project/commit/0733f384142b02558b80b3e9a4633dc4d202a14b
  Author: Ivan Butygin <ivan.butygin at gmail.com>
  Date:   2024-11-20 (Wed, 20 Nov 2024)

  Changed paths:
    M mlir/lib/Interfaces/Utils/InferIntRangeCommon.cpp
    M mlir/test/Dialect/Arith/int-range-interface.mlir

  Log Message:
  -----------
  [mlir][int-range] Limit xor int range inference to i1 (#116968)

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

`intrange::inferXor` was incorrectly handling ranges for widths > i1
(see example in code). Limit it to i1 for now. For bigger widths it will
return maxRange.


  Commit: 81055ff070e128bff78c8fa2d8ffe4c92ae692a6
      https://github.com/llvm/llvm-project/commit/81055ff070e128bff78c8fa2d8ffe4c92ae692a6
  Author: arthurqiu <arthurq at nvidia.com>
  Date:   2024-11-20 (Wed, 20 Nov 2024)

  Changed paths:
    M mlir/include/mlir/Dialect/LLVMIR/NVVMOps.td
    M mlir/lib/Dialect/LLVMIR/IR/NVVMDialect.cpp
    M mlir/lib/Target/LLVMIR/Dialect/NVVM/NVVMToLLVMIRTranslation.cpp
    M mlir/test/Target/LLVMIR/nvvmir.mlir

  Log Message:
  -----------
  [mlir][nvvm] Add attributes for cluster dimension PTX directives (#116973)

PTX programming models provides cluster dimension directives, which are
leveraged by the downstream `ptxas` compiler. See
https://docs.nvidia.com/cuda/nvvm-ir-spec/#supported-properties and
https://docs.nvidia.com/cuda/parallel-thread-execution/index.html#cluster-dimension-directives

This PR introduces the cluster dimension directives to MLIR's NVVM
dialect as listed below:
```
cluster_dim_{x,y,z}    ->    exact number of CTAs per cluster
cluster_max_blocks     ->    max number of CTAs per cluster
```


  Commit: 74046855981bad2847c8f03114efd731da4d216c
      https://github.com/llvm/llvm-project/commit/74046855981bad2847c8f03114efd731da4d216c
  Author: alx32 <103613512+alx32 at users.noreply.github.com>
  Date:   2024-11-20 (Wed, 20 Nov 2024)

  Changed paths:
    M lld/MachO/Arch/ARM64.cpp
    M lld/MachO/ICF.cpp
    M lld/MachO/ICF.h
    M lld/MachO/SyntheticSections.cpp
    M lld/MachO/SyntheticSections.h
    M lld/MachO/Target.h
    M lld/test/MachO/icf-safe-thunks-dwarf.ll

  Log Message:
  -----------
  [lld-macho] Fix compatibility between --icf=safe_thunks and --keep-icf-stabs (#116687)

Currently when `--icf=safe_thunks` is used, `STABS` entries cannot be
generated for ICF'ed functions. This is because if ICF converts a full
function into a thunk and then we generate a `STABS` entry for the
thunk, `dsymutil` will expect to find the entire function body at the
location of the thunk. Because just a thunk will be present at the
location of the `STABS` entry - dsymutil will generate invalid debug
info for such scenarios.

With this change, if `--icf=safe_thunks` is used and `--keep-icf-stabs`
is also specified, STABS entries will be created for all functions, even
merged ones. However, the STABS entries will point at the actual (full)
function body while having the name of the thunk. This way we still get
program correctness as well as correct DWARF data. When doing this, the
debug data will be identical to the scenario where we're using
`--icf=all` and `--keep-icf-stabs`, but the actual program will also
contain thunks, which won't show up in the DWARF data.


  Commit: 8f8dcedb007c21412956208e524ff245c0ba5f58
      https://github.com/llvm/llvm-project/commit/8f8dcedb007c21412956208e524ff245c0ba5f58
  Author: Adrian Prantl <aprantl at apple.com>
  Date:   2024-11-20 (Wed, 20 Nov 2024)

  Changed paths:
    M lldb/include/lldb/API/SBFrame.h
    M lldb/include/lldb/Target/LanguageRuntime.h
    M lldb/include/lldb/Target/StackFrame.h
    M lldb/source/API/SBFrame.cpp
    M lldb/source/Plugins/LanguageRuntime/ObjC/AppleObjCRuntime/AppleObjCRuntimeV2.cpp
    M lldb/source/Plugins/LanguageRuntime/ObjC/AppleObjCRuntime/AppleObjCRuntimeV2.h
    M lldb/source/Target/LanguageRuntime.cpp
    M lldb/source/Target/StackFrame.cpp
    R lldb/test/API/lang/objc/languageinfo/TestObjCLanguageInfo.py
    A lldb/test/API/lang/objc/languageinfo/TestObjCLanguageSpecificData.py

  Log Message:
  -----------
  Rename GetLanguageInfo to GetLanguageSpecificData (#117012)

Unbeknownst to me the Swift LLDB branch already had an almost identical
API with this name, so it makes sense to merge the two.


  Commit: 1f342f94b258bbf31efa2a6dc458229832fb5c6f
      https://github.com/llvm/llvm-project/commit/1f342f94b258bbf31efa2a6dc458229832fb5c6f
  Author: Philip Reames <preames at rivosinc.com>
  Date:   2024-11-20 (Wed, 20 Nov 2024)

  Changed paths:
    A llvm/test/CodeGen/RISCV/rvv/intrinsic-vector-match.ll
    A llvm/test/CodeGen/RISCV/rvv/vector-extract-last-active.ll

  Log Message:
  -----------
  [RISCV] Add coverage for recently added vectorization intrinsics

vector.match was added in e52238.
extract.last.active was added in ed5aad.

We have oppurtunities for better codegen in both, but neither are
terrible out of the box.


  Commit: 6473a36edc571cf0734a2e8d4354e332efb170e9
      https://github.com/llvm/llvm-project/commit/6473a36edc571cf0734a2e8d4354e332efb170e9
  Author: Adrian Prantl <aprantl at apple.com>
  Date:   2024-11-20 (Wed, 20 Nov 2024)

  Changed paths:
    M lldb/include/lldb/API/SBFrame.h
    M lldb/source/API/SBFrame.cpp

  Log Message:
  -----------
  Make SBFrame::GetLanguageSpecificData() const (#117019)

One last diff I missed between Swift and LLVM.


  Commit: e14827f0828d14ef17ab76316e8449d1b76e2617
      https://github.com/llvm/llvm-project/commit/e14827f0828d14ef17ab76316e8449d1b76e2617
  Author: Teresa Johnson <tejohnson at google.com>
  Date:   2024-11-20 (Wed, 20 Nov 2024)

  Changed paths:
    M llvm/include/llvm/ProfileData/MemProf.h
    M llvm/lib/ProfileData/InstrProfWriter.cpp
    M llvm/lib/ProfileData/MemProf.cpp
    M llvm/unittests/ProfileData/MemProfTest.cpp

  Log Message:
  -----------
  [MemProf] Templatize CallStackRadixTreeBuilder (NFC) (#117014)

Prepare for usage in the bitcode reader/writer where we already have a
LinearFrameId:
- templatize input frame id type in CallStackRadixTreeBuilder
- templatize input frame id type in computeFrameHistogram
- make the map from FrameId to LinearFrameId optional

We plan to use the same radix format in the ThinLTO summary records,
where we already have a LinearFrameId.


  Commit: 2c63e6d94261d6c9d045523f37f350f9e60ed35b
      https://github.com/llvm/llvm-project/commit/2c63e6d94261d6c9d045523f37f350f9e60ed35b
  Author: Jonas Devlieghere <jonas at devlieghere.com>
  Date:   2024-11-20 (Wed, 20 Nov 2024)

  Changed paths:
    M lldb/source/Host/common/Editline.cpp

  Log Message:
  -----------
  [lldb] Fix double newline typo in PrintCompletion

While addressing code review feedback I accidentally introduced a
spurious second newline.


  Commit: d5032b9f4b6aa415e7fd39701f29edb93028d8b3
      https://github.com/llvm/llvm-project/commit/d5032b9f4b6aa415e7fd39701f29edb93028d8b3
  Author: Tyler Nowicki <tyler.nowicki at amd.com>
  Date:   2024-11-20 (Wed, 20 Nov 2024)

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

  Log Message:
  -----------
  [NFC][Coroutines] Use structured binding with llvm::enumerate in CoroSplit (#116879)

Avoid repeated calls to value() and index() using structured binding
with llvm::enumerate.


  Commit: b170ab21c3cd16c1fc1917d91092b221b4163442
      https://github.com/llvm/llvm-project/commit/b170ab21c3cd16c1fc1917d91092b221b4163442
  Author: Kazu Hirata <kazu at google.com>
  Date:   2024-11-20 (Wed, 20 Nov 2024)

  Changed paths:
    M llvm/include/llvm/ProfileData/MemProfReader.h
    M llvm/unittests/ProfileData/MemProfTest.cpp

  Log Message:
  -----------
  [memprof] Construct MemProfReader with IndexedMemProfData (#117022)

This patch updates a unit test to construct MemProfReader with
IndexedMemProfData, a complete package of MemProf profile.

With this change, nobody in the LLVM codebase is using the
MemProfReader constructor that takes individual components of the
MemProf profile, so this patch deprecates the constructor.


  Commit: 201f4f6bcccf3f0ac0c9d3e8c484fb2c53bfb016
      https://github.com/llvm/llvm-project/commit/201f4f6bcccf3f0ac0c9d3e8c484fb2c53bfb016
  Author: Matt Arsenault <Matthew.Arsenault at amd.com>
  Date:   2024-11-20 (Wed, 20 Nov 2024)

  Changed paths:
    M llvm/lib/Target/AMDGPU/SIInstrInfo.td
    M llvm/lib/Target/AMDGPU/VOP3PInstructions.td
    M llvm/lib/Target/AMDGPU/VOPInstructions.td
    A llvm/test/MC/AMDGPU/mai-gfx950-err.s
    M llvm/test/MC/AMDGPU/mai-gfx950.s
    M llvm/test/MC/Disassembler/AMDGPU/gfx950_mai.txt
    M llvm/test/tools/llvm-mca/AMDGPU/gfx950.s

  Log Message:
  -----------
  AMDGPU: Add v_mfma_ld_scale_b32 for gfx950 (#116722)


  Commit: c0efcc08e67325dc813d9acb7cc3560fd444fc8f
      https://github.com/llvm/llvm-project/commit/c0efcc08e67325dc813d9acb7cc3560fd444fc8f
  Author: Schrodinger ZHU Yifan <yifanzhu at rochester.edu>
  Date:   2024-11-20 (Wed, 20 Nov 2024)

  Changed paths:
    M libc/CMakeLists.txt
    M libc/newhdrgen/yaml_to_classes.py

  Log Message:
  -----------
  [libc] support fully OOT build (#101287)

Fully OOT build along with SCUDO:
```
mkdir oot
cp -r cmake libc compiler-rt oot
cp ./llvm/cmake/modules/* ./oot/cmake/Modules/
cd oot
mkdir build
cd build
cmake ../libc -DLIBC_USE_NEW_HEADER_GEN=On -DLLVM_LIBC_FULL_BUILD=On -DLLVM_LIBC_FULL_BUILD=On -DLLVM_LIBC_INCLUDE_SCUDO=On -DCOMPILER_RT_BUILD_SCUDO_STANDALONE_WITH_LLVM_LIBC=On -DCOMPILER_RT_SCUDO_STANDALONE_BUILD_SHARED=Off -DCMAKE_CXX_COMPILER=clang++ -DCMAKE_C_COMPILER=clang -DLLVM_LIBC_COMPILER_RT_PATH=../compiler-rt/ -DCOMPILER_RT_STANDALONE_BUILD=On -GNinja -DLLVM_COMPILER_IS_GCC_COMPATIBLE=On -DLLVM_RUNTIMES_BUILD=On
```


  Commit: 0bb1b683302e41bb1bdbcec1cbe724f54add0fa3
      https://github.com/llvm/llvm-project/commit/0bb1b683302e41bb1bdbcec1cbe724f54add0fa3
  Author: Florian Hahn <flo at fhahn.com>
  Date:   2024-11-20 (Wed, 20 Nov 2024)

  Changed paths:
    M llvm/lib/Transforms/Utils/Local.cpp
    M llvm/test/Transforms/GVN/tbaa.ll
    M llvm/test/Transforms/InstCombine/loadstore-metadata.ll
    M llvm/test/Transforms/JumpThreading/thread-loads.ll
    M llvm/test/Transforms/NewGVN/tbaa.ll
    M llvm/test/Transforms/PhaseOrdering/X86/preserve-access-group.ll

  Log Message:
  -----------
  [Local] Only intersect tbaa metadata if instr moves. (#116682)

Preserve tbaa metadata on the replacement instruction, if it does not
move. In that case, the program would be UB, if the aliasing property
encoded in the metadata does not hold.

This makes use of the clarification re tbaa metadata implying UB if the
property does not hold: https://github.com/llvm/llvm-project/pull/116220

Same as https://github.com/llvm/llvm-project/pull/115868, but for !tbaa

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


  Commit: 77ee94e78a52cf65e66c67804bf5b9bb5fe29b07
      https://github.com/llvm/llvm-project/commit/77ee94e78a52cf65e66c67804bf5b9bb5fe29b07
  Author: bahareh-farhadi <53280095+bahareh-farhadi at users.noreply.github.com>
  Date:   2024-11-20 (Wed, 20 Nov 2024)

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

  Log Message:
  -----------
  Add IsText parameter to open yaml file (#116992)

Add IsText parameter to open yaml file
this fixes `FAIL: LLVM :: Transforms/LowerTypeTests/cfi-icall-alias.ll`

Co-authored-by: Abhina Sreeskantharajan <Abhina.Sreeskantharajan at ibm.com>


  Commit: c0ee8e22f4093ea1fda42cc037d50cb4619e1445
      https://github.com/llvm/llvm-project/commit/c0ee8e22f4093ea1fda42cc037d50cb4619e1445
  Author: Sterling-Augustine <56981066+Sterling-Augustine at users.noreply.github.com>
  Date:   2024-11-20 (Wed, 20 Nov 2024)

  Changed paths:
    M llvm/lib/Transforms/Vectorize/SandboxVectorizer/SeedCollector.cpp
    M llvm/unittests/Transforms/Vectorize/SandboxVectorizer/SeedCollectorTest.cpp

  Log Message:
  -----------
  [SandboxVec][SeedCollector] Reject non-simple memory ops for memory seeds (#116891)

Load/Store isSimple is a necessary condition for VectorSeeds, but not
sufficient, so reverse the condition and return value, and continue the
check. Add relevant tests.


  Commit: 81d93af7d65aea9ca665d73e77290ea36301720c
      https://github.com/llvm/llvm-project/commit/81d93af7d65aea9ca665d73e77290ea36301720c
  Author: Kazu Hirata <kazu at google.com>
  Date:   2024-11-20 (Wed, 20 Nov 2024)

  Changed paths:
    M llvm/include/llvm/Transforms/Instrumentation/MemProfiler.h

  Log Message:
  -----------
  [memprof] Fix arm-polly-linux builds

arm-polly-linux seems to be failing because we don't include
<unordered_map>.

https://lab.llvm.org/buildbot/#/builders/90/builds/3090


  Commit: 86734c857724b382665c6f1c2244a22edee97f84
      https://github.com/llvm/llvm-project/commit/86734c857724b382665c6f1c2244a22edee97f84
  Author: Shilei Tian <i at tianshilei.me>
  Date:   2024-11-20 (Wed, 20 Nov 2024)

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

  Log Message:
  -----------
  [NFC][AMDGPU] Remove redundant code in `AMDGPUAsmPrinter.cpp`


  Commit: 3282be1f8d278836135cc1bda130abb031155701
      https://github.com/llvm/llvm-project/commit/3282be1f8d278836135cc1bda130abb031155701
  Author: Maksim Panchenko <maks at fb.com>
  Date:   2024-11-20 (Wed, 20 Nov 2024)

  Changed paths:
    M bolt/lib/Core/BinaryEmitter.cpp

  Log Message:
  -----------
  [BOLT] Use ULEB128 encoding for PIE/DSO exception tables (#116911)

Use ULEB128 encoding for call sites in PIE/DSO binaries. The encoding
reduces the size of the tables compared to sdata4 and is the default
format used by Clang.

Note that for fixed-address executables we still use absolute addressing
to cover cases where landing pads can reside in different function
fragments.

For testing, we rely on runtime EH tests.


  Commit: aee3f5b2951edb6791802fcc53e93795e3f16140
      https://github.com/llvm/llvm-project/commit/aee3f5b2951edb6791802fcc53e93795e3f16140
  Author: Amara Emerson <amara at apple.com>
  Date:   2024-11-20 (Wed, 20 Nov 2024)

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

  Log Message:
  -----------
  [AArch64][SME] Fix naming of FMLA_VG2_M2Z4Z_H -> FMLA_VG2_M2Z2Z_H instruction. NFC.

Looks like this one is the odd one out. Doesn't affect any functionality and
now matches the naming convention of the other type variants.


  Commit: 19f58e3cbe92d8bcf281a6fb95e6ed62722f2a13
      https://github.com/llvm/llvm-project/commit/19f58e3cbe92d8bcf281a6fb95e6ed62722f2a13
  Author: Brox Chen <guochen2 at amd.com>
  Date:   2024-11-20 (Wed, 20 Nov 2024)

  Changed paths:
    M llvm/test/MC/AMDGPU/gfx11_asm_vop3_from_vopc-fake16.s
    M llvm/test/MC/AMDGPU/gfx12_asm_vop3c-fake16.s

  Log Message:
  -----------
  [AMDGPU][True16][MC] fix a typo in fake16 test (#117033)

This is a NFC change to fix a typo in dasm test of VOPC instructions.

Fake16 test should use "-real-true16" attribute. Test are passing
previously because the true16 of VOPC instructions are not yet
implemented


  Commit: e468653ee77cd8e0268e5e8d83d5430114f1f4c8
      https://github.com/llvm/llvm-project/commit/e468653ee77cd8e0268e5e8d83d5430114f1f4c8
  Author: Kazu Hirata <kazu at google.com>
  Date:   2024-11-20 (Wed, 20 Nov 2024)

  Changed paths:
    M llvm/unittests/ProfileData/InstrProfTest.cpp

  Log Message:
  -----------
  [memprof] Use LineLocation in a unit test (NFC) (#117031)

We've switched to LineLocation from FieldsAre in MemProfUseTest.cpp.
This patch does the same thing in InstrProfTest.cpp.

llvm/unittests/Transforms/Instrumentation/MemProfUseTest.cpp


  Commit: a3f2e01c95df67126ab5a75eca1b47e207486bee
      https://github.com/llvm/llvm-project/commit/a3f2e01c95df67126ab5a75eca1b47e207486bee
  Author: peterbell10 <peterbell10 at openai.com>
  Date:   2024-11-20 (Wed, 20 Nov 2024)

  Changed paths:
    M llvm/lib/Transforms/InstCombine/InstCombineVectorOps.cpp
    M llvm/test/Transforms/InstCombine/extractelement.ll
    M llvm/test/Transforms/InstCombine/vector_insertelt_shuffle.ll

  Log Message:
  -----------
  [InstCombine] Only fold extract element to trunc if vector `hasOneUse` (#115627)

This fixes a missed optimization caused by the `foldBitcastExtElt`
pattern interfering with other combine patterns. In the case I was
hitting, we have IR that combines two vectors into a new larger vector
by extracting elements and inserting them into the new vector.

```llvm
define <4 x half> @bitcast_extract_insert_to_shuffle(i32 %a, i32 %b) {
  %avec = bitcast i32 %a to <2 x half>
  %a0 = extractelement <2 x half> %avec, i32 0
  %a1 = extractelement <2 x half> %avec, i32 1
  %bvec = bitcast i32 %b to <2 x half>
  %b0 = extractelement <2 x half> %bvec, i32 0
  %b1 = extractelement <2 x half> %bvec, i32 1
  %ins0 = insertelement <4 x half> undef, half %a0, i32 0
  %ins1 = insertelement <4 x half> %ins0, half %a1, i32 1
  %ins2 = insertelement <4 x half> %ins1, half %b0, i32 2
  %ins3 = insertelement <4 x half> %ins2, half %b1, i32 3
  ret <4 x half> %ins3
}
```

With the current behavior, `InstCombine` converts each vector extract
sequence to

```llvm
  %tmp = trunc i32 %a to i16
  %a0 = bitcast i16 %tmp to half
  %a1 = extractelement <2 x half> %avec, i32 1
```

where the extraction of `%a0` is now done by truncating the original
integer. While on it's own this is fairly reasonable, in this case it
also blocks the pattern which converts `extractelement` -
`insertelement` into shuffles which gives the overall simpler result:

```llvm
define <4 x half> @bitcast_extract_insert_to_shuffle(i32 %a, i32 %b) {
  %avec = bitcast i32 %a to <2 x half>
  %bvec = bitcast i32 %b to <2 x half>
  %ins3 = shufflevector <2 x half> %avec, <2 x half> %bvec, <4 x i32> <i32 0, i32 1, i32 2, i32 3>
  ret <4 x half> %ins3
}
```

In this PR I fix the conflict by obeying the `hasOneUse` check even if
there is no shift instruction required. In these cases we can't remove
the vector completely, so the pattern has less benefit anyway.

Also fwiw, I think dropping the `hasOneUse` check for the 0th element
might have been a mistake in the first place. Looking at
https://github.com/llvm/llvm-project/commit/535c5d56a7bc9966036a11362d8984983a4bf090
the commit message only mentions loosening the `isDesirableIntType`
requirement and doesn't mention changing the `hasOneUse` check at all.


  Commit: 4acf935b95778d8625898730edbfe296005b4b49
      https://github.com/llvm/llvm-project/commit/4acf935b95778d8625898730edbfe296005b4b49
  Author: Jonas Devlieghere <jonas at devlieghere.com>
  Date:   2024-11-20 (Wed, 20 Nov 2024)

  Changed paths:
    M llvm/docs/ReleaseNotes.md

  Log Message:
  -----------
  Add release note for parallel module creation in LLDB (#116857)

Release note #110646 and #114507.


  Commit: 4087b871c5aa80ae2f5425533eb83d909231caa7
      https://github.com/llvm/llvm-project/commit/4087b871c5aa80ae2f5425533eb83d909231caa7
  Author: Craig Topper <craig.topper at sifive.com>
  Date:   2024-11-20 (Wed, 20 Nov 2024)

  Changed paths:
    M llvm/lib/Target/RISCV/GISel/RISCVInstructionSelector.cpp
    M llvm/lib/Target/RISCV/GISel/RISCVLegalizerInfo.cpp
    M llvm/lib/Target/RISCV/GISel/RISCVLegalizerInfo.h
    R llvm/test/CodeGen/RISCV/GlobalISel/instruction-select/jump-table-brjt-medium-rv64.mir
    R llvm/test/CodeGen/RISCV/GlobalISel/instruction-select/jump-table-brjt-pic-rv32.mir
    R llvm/test/CodeGen/RISCV/GlobalISel/instruction-select/jump-table-brjt-pic-rv64.mir
    R llvm/test/CodeGen/RISCV/GlobalISel/instruction-select/jump-table-brjt-rv32.mir
    R llvm/test/CodeGen/RISCV/GlobalISel/instruction-select/jump-table-brjt-small-rv64.mir
    M llvm/test/CodeGen/RISCV/GlobalISel/jumptable.ll
    A llvm/test/CodeGen/RISCV/GlobalISel/legalizer/legalize-jump-table-brjt-medium-rv64.mir
    A llvm/test/CodeGen/RISCV/GlobalISel/legalizer/legalize-jump-table-brjt-pic-rv32.mir
    A llvm/test/CodeGen/RISCV/GlobalISel/legalizer/legalize-jump-table-brjt-pic-rv64.mir
    M llvm/test/CodeGen/RISCV/GlobalISel/legalizer/legalize-jump-table-brjt-rv32.mir
    R llvm/test/CodeGen/RISCV/GlobalISel/legalizer/legalize-jump-table-brjt-rv64.mir
    A llvm/test/CodeGen/RISCV/GlobalISel/legalizer/legalize-jump-table-brjt-small-rv64.mir

  Log Message:
  -----------
  [RISCV][GISel] Move G_BRJT expansion to legalization (#73711)

Instead of custom selecting a bunch of instructions, we can expand to
generic MIR during legalization.


  Commit: c3207c31fce8afa4e5ae728804f18b4e863197e7
      https://github.com/llvm/llvm-project/commit/c3207c31fce8afa4e5ae728804f18b4e863197e7
  Author: Daniel Thornburgh <dthorn at google.com>
  Date:   2024-11-20 (Wed, 20 Nov 2024)

  Changed paths:
    M libc/fuzzing/__support/CMakeLists.txt
    A libc/fuzzing/__support/freelist_heap_fuzz.cpp
    M libc/src/__support/CMakeLists.txt
    M libc/src/__support/block.h
    A libc/src/__support/freelist.cpp
    M libc/src/__support/freelist.h
    M libc/src/__support/freelist_heap.h
    A libc/src/__support/freestore.h
    A libc/src/__support/freetrie.cpp
    A libc/src/__support/freetrie.h
    M libc/src/stdlib/freelist_malloc.cpp
    M libc/test/src/__support/CMakeLists.txt
    M libc/test/src/__support/block_test.cpp
    M libc/test/src/__support/freelist_heap_test.cpp
    M libc/test/src/__support/freelist_malloc_test.cpp
    M libc/test/src/__support/freelist_test.cpp
    A libc/test/src/__support/freestore_test.cpp
    A libc/test/src/__support/freetrie_test.cpp

  Log Message:
  -----------
  [libc] Use best-fit binary trie to make malloc logarithmic (#106259)

This reworks the free store implementation in libc's malloc to use a
dlmalloc-style binary trie of circularly linked FIFO free lists. This
data structure can be maintained in logarithmic time, but it still
permits a relatively small implementation compared to other
logarithmic-time ordered maps.

The implementation doesn't do the various bitwise tricks or
optimizations used in actual dlmalloc; it instead optimizes for
(relative) readability and minimum code size. Specific optimization can
be added as necessary given future profiling.


  Commit: 9be475af81ee36f1d360ad1d70b695c4b26c98fa
      https://github.com/llvm/llvm-project/commit/9be475af81ee36f1d360ad1d70b695c4b26c98fa
  Author: Daniel Thornburgh <dthorn at google.com>
  Date:   2024-11-20 (Wed, 20 Nov 2024)

  Changed paths:
    M libc/fuzzing/__support/CMakeLists.txt
    R libc/fuzzing/__support/freelist_heap_fuzz.cpp
    M libc/src/__support/CMakeLists.txt
    M libc/src/__support/block.h
    R libc/src/__support/freelist.cpp
    M libc/src/__support/freelist.h
    M libc/src/__support/freelist_heap.h
    R libc/src/__support/freestore.h
    R libc/src/__support/freetrie.cpp
    R libc/src/__support/freetrie.h
    M libc/src/stdlib/freelist_malloc.cpp
    M libc/test/src/__support/CMakeLists.txt
    M libc/test/src/__support/block_test.cpp
    M libc/test/src/__support/freelist_heap_test.cpp
    M libc/test/src/__support/freelist_malloc_test.cpp
    M libc/test/src/__support/freelist_test.cpp
    R libc/test/src/__support/freestore_test.cpp
    R libc/test/src/__support/freetrie_test.cpp

  Log Message:
  -----------
  Revert "[libc] Use best-fit binary trie to make malloc logarithmic" (#117065)

Reverts llvm/llvm-project#106259

Unit tests break on AArch64.


  Commit: ec5b729e651c48dfff67487e6bb24c218c35cda9
      https://github.com/llvm/llvm-project/commit/ec5b729e651c48dfff67487e6bb24c218c35cda9
  Author: Kazu Hirata <kazu at google.com>
  Date:   2024-11-20 (Wed, 20 Nov 2024)

  Changed paths:
    M llvm/unittests/ProfileData/InstrProfTest.cpp

  Log Message:
  -----------
  [memprof] Upgrade a unit test to MemProf Version 3 (#117063)

This patch upgrades a unit test to MemProf Version 3 while removing
those bits that cannot be upgraded to Version 3.

The bits being removed expect instrprof_error::hash_mismatch from a
broken MemProf profile that references a frame that doesn't actually
exist.  Now, Version 3 no longer issues
instrprof_error::hash_mismatch.  Even if it still issued
instrprof_error::hash_mismatch, we would have a couple of hurdles:

- InstrProfWriter::addMemProfData will soon require all (or none) of
  the fields (frames, call stacks, and records) be populated.  That
  is, it won't accept an instance of IndexedMemProfData with frames
  missing.

- writeMemProfV3 asserts that every frame occurs at least once:

  assert(MemProfData.Frames.size() == FrameHistogram.size());

This patch gives up on instrprof_error::hash_mismatch and tries to
trigger instrprof_error::unknown_function with the empty profile.


  Commit: 8f53a67bb8fa157d1767b0299ef2a19328cf26e9
      https://github.com/llvm/llvm-project/commit/8f53a67bb8fa157d1767b0299ef2a19328cf26e9
  Author: Ryan Prichard <rprichard at google.com>
  Date:   2024-11-20 (Wed, 20 Nov 2024)

  Changed paths:
    M libcxx/test/std/language.support/support.dynamic/new.delete/new.delete.array/sized_delete_array14.pass.cpp
    M libcxx/test/std/language.support/support.dynamic/new.delete/new.delete.single/sized_delete14.pass.cpp
    M libcxx/test/std/utilities/meta/meta.unary/meta.unary.cat/is_array.pass.cpp

  Log Message:
  -----------
  [libc++][Android] Allow testing libc++ with clang-r536225 (#116149)

The Android clang-r536225 compiler identifies as Clang 19, but it is
based on commit fc57f88f007497a4ead0ec8607ac66e1847b02d6, which predates
the official LLVM 19.0.0 release.

Some tests need fixes:

* The sized delete tests fail because clang-r536225 leaves sized
deallocation off by default.

* std::array<T[0]> is true when this Android Clang version is used with
a trunk libc++, but we expect it to be false in the test. In practice,
Clang and libc++ usually come from the same commit on Android.


  Commit: 9ebc6f5d6d333ec38d9a8231414bbd4d58fa83e9
      https://github.com/llvm/llvm-project/commit/9ebc6f5d6d333ec38d9a8231414bbd4d58fa83e9
  Author: Nikolas Klauser <nikolasklauser at berlin.de>
  Date:   2024-11-20 (Wed, 20 Nov 2024)

  Changed paths:
    M libcxx/include/thread
    M libcxx/test/benchmarks/atomic_wait.bench.cpp
    M libcxx/test/benchmarks/atomic_wait_vs_mutex_lock.bench.cpp
    M libcxx/test/benchmarks/stop_token.bench.cpp
    M libcxx/test/libcxx/thread/thread.stoptoken/atomic_unique_lock.pass.cpp
    M libcxx/test/std/thread/thread.semaphore/max.pass.cpp

  Log Message:
  -----------
  [libc++] Include headers in <thread> conditionally (#116539)


  Commit: 1c8ac4c620fa1532cd597aa5c478c8faf7ea14e4
      https://github.com/llvm/llvm-project/commit/1c8ac4c620fa1532cd597aa5c478c8faf7ea14e4
  Author: Ryan Prichard <rprichard at google.com>
  Date:   2024-11-20 (Wed, 20 Nov 2024)

  Changed paths:
    M libcxx/utils/ci/docker-compose.yml

  Log Message:
  -----------
  [libc++][Android] BuildKite CI: update Clang and sysroot versions (#116151)

Android clang-r536225 identifies as Clang 19 but it predates LLVM
19.0.0. It is based off of fc57f88f007497a4ead0ec8607ac66e1847b02d6.


  Commit: f06c187799d910fd3ac3e9106397e5eecff9f265
      https://github.com/llvm/llvm-project/commit/f06c187799d910fd3ac3e9106397e5eecff9f265
  Author: Zequan Wu <zequanwu at google.com>
  Date:   2024-11-20 (Wed, 20 Nov 2024)

  Changed paths:
    M lldb/source/Plugins/SymbolFile/DWARF/DWARFASTParserClang.cpp
    M lldb/source/Plugins/SymbolFile/DWARF/DWARFBaseDIE.h
    M lldb/source/Plugins/SymbolFile/DWARF/DWARFDIE.cpp
    M lldb/source/Plugins/SymbolFile/DWARF/DWARFDIE.h
    M lldb/source/Plugins/SymbolFile/DWARF/DWARFFormValue.cpp
    M lldb/source/Plugins/SymbolFile/DWARF/DWARFFormValue.h
    M lldb/source/Plugins/SymbolFile/DWARF/SymbolFileDWARF.cpp
    M lldb/source/Plugins/TypeSystem/Clang/TypeSystemClang.cpp
    M lldb/source/Plugins/TypeSystem/Clang/TypeSystemClang.h
    A lldb/test/Shell/SymbolFile/DWARF/x86/simplified-template-names.cpp
    M lldb/unittests/SymbolFile/DWARF/DWARFDIETest.cpp
    M llvm/include/llvm/DebugInfo/DWARF/DWARFDie.h
    M llvm/include/llvm/DebugInfo/DWARF/DWARFTypePrinter.h
    M llvm/lib/DebugInfo/DWARF/DWARFDie.cpp

  Log Message:
  -----------
   [lldb][dwarf] Compute fully qualified names on simplified template names with DWARFTypePrinter (#117071)

This is a reland of https://github.com/llvm/llvm-project/pull/112811.
Fixed the bot breakage by running ld.lld explicitly.


  Commit: a44d60f06fe1381e261e3da5c47ddab1c428a67a
      https://github.com/llvm/llvm-project/commit/a44d60f06fe1381e261e3da5c47ddab1c428a67a
  Author: Florian Mayer <fmayer at google.com>
  Date:   2024-11-20 (Wed, 20 Nov 2024)

  Changed paths:
    M llvm/include/llvm/IR/Value.h
    M llvm/lib/Analysis/MemoryBuiltins.cpp
    R llvm/test/Transforms/LowerConstantIntrinsics/builtin-object-size-range.ll

  Log Message:
  -----------
  Revert "[llvm] Improve llvm.objectsize computation by computing GEP, alloca and malloc parameters bound" (#117020)

Reverts llvm/llvm-project#115522

This caused UBSan errors in multi-stage clang build:

https://lab.llvm.org/buildbot/#/builders/25/builds/4241/steps/10/logs/stdio


  Commit: c58c22638e17a659fbda94d364bda08e0db1fd53
      https://github.com/llvm/llvm-project/commit/c58c22638e17a659fbda94d364bda08e0db1fd53
  Author: Amara Emerson <amara at apple.com>
  Date:   2024-11-20 (Wed, 20 Nov 2024)

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

  Log Message:
  -----------
  [AArch64][SME] Fix naming of FMLS_VG4_M4Z2Z_H -> FMLS_VG4_M4Z4Z_H. NFC.

Similar to the FMLA_VG2_M2Z2Z_H one.


  Commit: 07137ce3e1d7b9f18f579a9a2a4f47ec4270f156
      https://github.com/llvm/llvm-project/commit/07137ce3e1d7b9f18f579a9a2a4f47ec4270f156
  Author: Daniel Hoekwater <hoekwater at google.com>
  Date:   2024-11-20 (Wed, 20 Nov 2024)

  Changed paths:
    M llvm/lib/CodeGen/CFIFixup.cpp
    A llvm/test/CodeGen/AArch64/cfi-fixup-multi-section.mir

  Log Message:
  -----------
  [CFIFixup] Add frame info to the first block of each section (#113626)

Now that `-fbasic-block-sections=list` is enabled for Arm, functions may
be split aross multiple sections, and CFI information must be handled
independently for each section.

On x86, this is handled in `llvm/lib/CodeGen/CFIInstrInserter.cpp`.
However, this pass does not run on Arm, so we must add logic for it
to `llvm/lib/CodeGen/CFIFixup.cpp`.


  Commit: 14667119bcc78fe7d8a2d8f6c31407f2b6a6f8a5
      https://github.com/llvm/llvm-project/commit/14667119bcc78fe7d8a2d8f6c31407f2b6a6f8a5
  Author: lntue <lntue at google.com>
  Date:   2024-11-20 (Wed, 20 Nov 2024)

  Changed paths:
    M libc/src/__support/common.h
    M utils/bazel/llvm-project-overlay/libc/libc_build_rules.bzl

  Log Message:
  -----------
  [libc] Allow each function can have extra attributes by defining LLVM_LIBC_FUNCTION_ATTR_func macro. (#116160)


  Commit: 668f2c7fab288db90d474a7f6f72b11e5a120328
      https://github.com/llvm/llvm-project/commit/668f2c7fab288db90d474a7f6f72b11e5a120328
  Author: Axel Lundberg <19574357+Zonotora at users.noreply.github.com>
  Date:   2024-11-20 (Wed, 20 Nov 2024)

  Changed paths:
    M clang/lib/Driver/SanitizerArgs.cpp
    M clang/test/Driver/fsanitize.c

  Log Message:
  -----------
  [clang][UBSan] Make sure that the implicit-conversion group is compatible with minimal runtime (#114865)

We are currently getting:

`clang: error: invalid argument '-fsanitize-minimal-runtime' not allowed
with '-fsanitize=implicit-conversion'`

when running

`-fsanitize=implicit-conversion -fsanitize-minimal-runtime`

because `implicit-conversion` now includes
`implicit-bitfield-conversion` which is not included in the `integer`
check. The `integer` check includes the `implicit-integer-conversion`
checks and is supported by the trapping option and because of that
compatible with the minimal runtime. It is thus reasonable to make
`implicit-bitfield-conversion` compatible with the minimal runtime.


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

  Changed paths:
    M flang/lib/Optimizer/Transforms/ExternalNameConversion.cpp
    A flang/test/Fir/CUDA/cuda-extranal-mangling.mlir

  Log Message:
  -----------
  [flang][cuda] Adapt ExternalNameConversion to work in gpu module (#117039)


  Commit: f5002a0faee76609a6b054d579e1e09312ab9ac9
      https://github.com/llvm/llvm-project/commit/f5002a0faee76609a6b054d579e1e09312ab9ac9
  Author: Artem Pianykh <artem.pyanykh at gmail.com>
  Date:   2024-11-20 (Wed, 20 Nov 2024)

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

  Log Message:
  -----------
  [Utils] Extract CollectDebugInfoForCloning from CloneFunctionInto (#114537)

Summary:
Consolidate the logic in a single function. We do an extra pass over
Instructions but this is necessary to untangle things and extract
metadata cloning in a future diff.

Test Plan:
```
$ ninja check-llvm-unit check-llvm
[211/213] Running the LLVM regression tests

Testing Time: 106.06s

Total Discovered Tests: 62601
  Skipped          :    17 (0.03%)
  Unsupported      :  2518 (4.02%)
  Passed           : 59911 (95.70%)
  Expectedly Failed:   155 (0.25%)
[212/213] Running lit suite 

Testing Time: 12.47s

Total Discovered Tests: 8474
  Skipped:   17 (0.20%)
  Passed : 8457 (99.80%)
```

Extracted from #109032 (commit 3) (there are more refactors and cleanups
in subsequent commits)


  Commit: 53a6a11e0d51229d341b8906252645cd8a5de796
      https://github.com/llvm/llvm-project/commit/53a6a11e0d51229d341b8906252645cd8a5de796
  Author: Alex Voicu <alexandru.voicu at amd.com>
  Date:   2024-11-20 (Wed, 20 Nov 2024)

  Changed paths:
    A clang/test/CodeGen/embed-bitcode-marker-with-nonzero-as.c
    M llvm/lib/Bitcode/Writer/BitcodeWriter.cpp

  Log Message:
  -----------
  [LLVM][NFC] Use `used`'s element type if available (#116804)

When embedding, if `compiler.used` exists, we should re-use it's element
type instead of blindly assuming it's an unqualified pointer.


  Commit: 97e3f62fc5cecbda3cc0337aceb6ee3178f62934
      https://github.com/llvm/llvm-project/commit/97e3f62fc5cecbda3cc0337aceb6ee3178f62934
  Author: Joseph Huber <huberjn at outlook.com>
  Date:   2024-11-20 (Wed, 20 Nov 2024)

  Changed paths:
    M libc/CMakeLists.txt
    M libc/newhdrgen/yaml_to_classes.py

  Log Message:
  -----------
  Revert "[libc] support fully OOT build (#101287)"

This reverts commit c0efcc08e67325dc813d9acb7cc3560fd444fc8f.


  Commit: 905e831f8c8341e53e7e3adc57fd20b8e08eb999
      https://github.com/llvm/llvm-project/commit/905e831f8c8341e53e7e3adc57fd20b8e08eb999
  Author: Joseph Huber <huberjn at outlook.com>
  Date:   2024-11-20 (Wed, 20 Nov 2024)

  Changed paths:
    M llvm/lib/Target/AMDGPU/AMDGPUCodeGenPrepare.cpp
    M llvm/test/CodeGen/AMDGPU/amdgpu-codegenprepare-idiv.ll
    M llvm/test/CodeGen/AMDGPU/bypass-div.ll
    M llvm/test/CodeGen/AMDGPU/udiv64.ll
    M llvm/test/CodeGen/AMDGPU/urem64.ll

  Log Message:
  -----------
  Revert "[AMDGPU] prevent shrinking udiv/urem if either operand is in (SignedMax,UnsignedMax] (#116733)"

This reverts commit b8e1d4dbea8905e48d51a70bf75cb8fababa4a60.

Causes failures on the `libc` test suite https://lab.llvm.org/buildbot/#/builders/73/builds/8871


  Commit: c86899d2d218e19f5a69d9f97f6ff43abc6c897c
      https://github.com/llvm/llvm-project/commit/c86899d2d218e19f5a69d9f97f6ff43abc6c897c
  Author: Daniel Paoliello <danpao at microsoft.com>
  Date:   2024-11-20 (Wed, 20 Nov 2024)

  Changed paths:
    M clang/include/clang/Basic/Attr.td
    M clang/include/clang/Basic/AttrDocs.td
    M clang/lib/CodeGen/CGDecl.cpp
    A clang/test/CodeGenCXX/auto-var-init-attr.cpp

  Log Message:
  -----------
  [clang] Add support for `__declspec(no_init_all)` (#116847)

In MSVC, when `/d1initall` is enabled, `__declspec(no_init_all)` can be
applied to a type to suppress auto-initialization for all instances of
that type or to a function to suppress auto-initialization for all
locals within that function.

This change does the same for Clang, except that it applies to the
`-ftrivial-auto-var-init` flag instead.

NOTE: I did not add a Clang-specific spelling for this but would be
happy to make a followup PR if folks are interested in that.


  Commit: fe33bd0617ef4905ad144566bb26b1e177875e1a
      https://github.com/llvm/llvm-project/commit/fe33bd0617ef4905ad144566bb26b1e177875e1a
  Author: Arthur Eubanks <aeubanks at google.com>
  Date:   2024-11-21 (Thu, 21 Nov 2024)

  Changed paths:
    A llvm/test/Analysis/MemoryDependenceAnalysis/load-size-cache.ll

  Log Message:
  -----------
  [test] Precommit test for #116936


  Commit: 1de9bc1a27137a7559a247b73c14cfab3be81b54
      https://github.com/llvm/llvm-project/commit/1de9bc1a27137a7559a247b73c14cfab3be81b54
  Author: Carlo Cabrera <github at carlo.cab>
  Date:   2024-11-20 (Wed, 20 Nov 2024)

  Changed paths:
    M lld/MachO/Config.h
    M lld/MachO/Driver.cpp
    M lld/MachO/DriverUtils.cpp
    M lld/MachO/InputFiles.cpp
    M lld/MachO/InputFiles.h
    M lld/MachO/Options.td
    A lld/test/MachO/Inputs/liballowable_client.dylib
    A lld/test/MachO/allowable-client.s

  Log Message:
  -----------
  [lld][MachO] Respect dylibs linked with `-allowable_client` (#114638)

ld64.lld would previously allow you to link against dylibs linked with
`-allowable_client`, even if the client's name does not match any
allowed client.

This change fixes that. See #114146 for related discussion. 

The test binary `liballowable_client.dylib` was created on macOS with:

echo | clang -xc - -dynamiclib -mmacosx-version-min=10.11 -arch x86_64
-Wl,-allowable_client,allowed -o lib/liballowable_client.dylib


  Commit: 7b5b01980c3b14a0260e9c15ab505cf14abd0753
      https://github.com/llvm/llvm-project/commit/7b5b01980c3b14a0260e9c15ab505cf14abd0753
  Author: Phoebe Wang <phoebe.wang at intel.com>
  Date:   2024-11-21 (Thu, 21 Nov 2024)

  Changed paths:
    M llvm/lib/Target/X86/X86InstrInfo.cpp
    M llvm/lib/Target/X86/X86MachineFunctionInfo.cpp
    M llvm/lib/Target/X86/X86MachineFunctionInfo.h
    R llvm/test/CodeGen/X86/pr114265.mir

  Log Message:
  -----------
  Revert "[X86] Recognize POP/ADD/SUB modifying rsp in getSPAdjust. (#114265) (#117089)

This reverts commit 6fb7cdff3d90c565b87a253ff7dbd36319879111.


  Commit: aa65473c9ddcf3cbb80e63c38af842d05346374b
      https://github.com/llvm/llvm-project/commit/aa65473c9ddcf3cbb80e63c38af842d05346374b
  Author: Matthias Springer <me at m-sp.org>
  Date:   2024-11-21 (Thu, 21 Nov 2024)

  Changed paths:
    M mlir/lib/Transforms/Utils/DialectConversion.cpp

  Log Message:
  -----------
  [mlir][Transforms][NFC] Dialect conversion: Remove "finalize" phase (#116934)

The dialect conversion driver has three phases:
- **Create** `IRRewrite` objects as the IR is traversed.
- **Finalize** `IRRewrite` objects. During this phase, source
materializations for mismatching value types are created. (E.g., when
`Value` is replaced with a `Value` of different type, but there is a
user of the original value that was not modified because it is already
legal.)
- **Commit** `IRRewrite` objects. During this phase, all remaining IR
modifications are materialized. In particular, SSA values are actually
being replaced during this phase.

This commit removes the "finalize" phase. This simplifies the code base
a bit and avoids one traversal over the `IRRewrite` stack. Source
materializations are now built during the "commit" phase, right before
an SSA value is being replaced.

This commit also removes the "inverse mapping" of the conversion value
mapping, which was used to predict if an SSA value will be dead at the
end of the conversion. This check is replaced with an approximate check
that does not require an inverse mapping. (A false positive for `v` can
occur if another value `v2` is mapped to `v` and `v2` turns out to be
dead at the end of the conversion. This case is not expected to happen
very often.) This reduces the complexity of the driver a bit and removes
one potential source of bugs. (There have been bugs in the usage of the
inverse mapping in the past.)

`BlockTypeConversionRewrite` no longer stores a pointer to the type
converter. This pointer is now stored in `ReplaceBlockArgRewrite`.

This commit is in preparation of merging the 1:1 and 1:N dialect
conversion driver. It simplifies the upcoming changes around the
conversion value mapping. (API surface of the conversion value mapping
is reduced.)


  Commit: 4056d93be5a9ac7228f9022af40c199419b706cc
      https://github.com/llvm/llvm-project/commit/4056d93be5a9ac7228f9022af40c199419b706cc
  Author: Matthias Springer <me at m-sp.org>
  Date:   2024-11-21 (Thu, 21 Nov 2024)

  Changed paths:
    M mlir/lib/Transforms/Utils/DialectConversion.cpp

  Log Message:
  -----------
  Revert "[mlir][Transforms][NFC] Dialect conversion: Remove "finalize" phase" (#117094)

Reverts llvm/llvm-project#116934

This commit broke the build.


  Commit: 258a5d499e87dc85109d97d1708abef61893a5a0
      https://github.com/llvm/llvm-project/commit/258a5d499e87dc85109d97d1708abef61893a5a0
  Author: Lang Hames <lhames at gmail.com>
  Date:   2024-11-21 (Thu, 21 Nov 2024)

  Changed paths:
    M llvm/include/llvm/ExecutionEngine/Orc/Shared/ExecutorAddress.h

  Log Message:
  -----------
  [ORC][arm64e] Add PAC signing/stripping support to ExecutorAddr toPtr/fromPtr.

On arm64e, uses the "wrap" and "unwrap" operations introduced in f14cb494a34d to
sign and strip pointers by default. Signing / striping can be overriden at the
toPtr / fromPtr callside by passing an explicit wrap / unwrap operation.


  Commit: cbc780223374740fcc6771a6d5f53070a7bed2e7
      https://github.com/llvm/llvm-project/commit/cbc780223374740fcc6771a6d5f53070a7bed2e7
  Author: Matthias Springer <me at m-sp.org>
  Date:   2024-11-21 (Thu, 21 Nov 2024)

  Changed paths:
    M mlir/include/mlir/Dialect/Bufferization/Transforms/Bufferize.h
    M mlir/include/mlir/Dialect/Bufferization/Transforms/Passes.h
    M mlir/include/mlir/Dialect/Bufferization/Transforms/Passes.td
    M mlir/lib/Dialect/Bufferization/Transforms/Bufferize.cpp
    M mlir/lib/Dialect/SparseTensor/Pipelines/SparseTensorPipelines.cpp
    R mlir/test/Dialect/Bufferization/Transforms/finalizing-bufferize.mlir

  Log Message:
  -----------
  [mlir][bufferization] Remove `finalizing-bufferize` pass (#114154)

The dialect conversion-based bufferization passes have been migrated to
One-Shot Bufferize about two years ago. To clean up the code base, this
commit removes the `finalizing-bufferize` pass, one of the few remaining
parts of the old infrastructure. Most bufferization passes have already
been removed.

Note for LLVM integration: If you depend on this pass, migrate to
One-Shot Bufferize or copy the pass to your codebase.

Depends on #114152.


  Commit: 5d38e6e42a90f5d469b5ff9e25e5e8865606776a
      https://github.com/llvm/llvm-project/commit/5d38e6e42a90f5d469b5ff9e25e5e8865606776a
  Author: Ivan R. Ivanov <ivanov.i.aa at m.titech.ac.jp>
  Date:   2024-11-21 (Thu, 21 Nov 2024)

  Changed paths:
    M flang/lib/Optimizer/HLFIR/Transforms/BufferizeHLFIR.cpp
    M flang/lib/Optimizer/HLFIR/Transforms/CMakeLists.txt
    M flang/lib/Optimizer/HLFIR/Transforms/OptimizedBufferization.cpp
    A flang/test/HLFIR/bufferize-workshare.fir
    A flang/test/Integration/OpenMP/workshare-array-array-assign.f90
    A flang/test/Integration/OpenMP/workshare-axpy.f90
    A flang/test/Integration/OpenMP/workshare-scalar-array-assign.f90
    A flang/test/Integration/OpenMP/workshare-scalar-array-mul.f90
    A flang/test/Transforms/OpenMP/should-use-workshare-lowering.mlir

  Log Message:
  -----------
  [flang] Introduce hlfir.elemental lowerings to omp.workshare_loop_nest (#104748)

This patch adds parallelization support for the following expression in OpenMP
workshare constructs:

* Elemental procedures in array expressions

(reapplied with linking fix)


  Commit: 036cd27da250de7fab37d25ea5836b52ae2e7783
      https://github.com/llvm/llvm-project/commit/036cd27da250de7fab37d25ea5836b52ae2e7783
  Author: Jim Tsung-Chun Lin <jim at andestech.com>
  Date:   2024-11-21 (Thu, 21 Nov 2024)

  Changed paths:
    M llvm/unittests/TargetParser/RISCVISAInfoTest.cpp

  Log Message:
  -----------
  [RISCV] Fix typo in RISCVISAInfoTest.cpp. NFC.

ExtsRV32G -> ExtsRV64G.


  Commit: 69cc3f096ccbdef526bbd5a065a25c95122e87ee
      https://github.com/llvm/llvm-project/commit/69cc3f096ccbdef526bbd5a065a25c95122e87ee
  Author: Jeremy Kun <jkun at google.com>
  Date:   2024-11-20 (Wed, 20 Nov 2024)

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

  Log Message:
  -----------
  Add mlir-query bazel rules (#116063)

I noticed there's no bazel query for `mlir-query`, unlike the other MLIR
tools, so adding one.


  Commit: 4d6e69143dc449814884ac649583d3b35bc4ae91
      https://github.com/llvm/llvm-project/commit/4d6e69143dc449814884ac649583d3b35bc4ae91
  Author: Haopeng Liu <153236845+haopliu at users.noreply.github.com>
  Date:   2024-11-20 (Wed, 20 Nov 2024)

  Changed paths:
    M clang/test/CodeGen/AArch64/pure-scalable-args.c
    M clang/test/CodeGen/AArch64/sve-acle-__ARM_FEATURE_SVE_VECTOR_OPERATORS.c
    M clang/test/CodeGen/SystemZ/systemz-inline-asm.c
    M clang/test/CodeGen/SystemZ/zos-mixed-ptr-sizes.c
    M clang/test/CodeGen/X86/ms-x86-intrinsics.c
    M clang/test/CodeGen/arm-vfp16-arguments.c
    M clang/test/CodeGen/arm-vfp16-arguments2.cpp
    M clang/test/CodeGen/isfpclass.c
    M clang/test/CodeGen/math-libcalls-tbaa-indirect-args.c
    M clang/test/CodeGen/ms-mixed-ptr-sizes.c
    M clang/test/CodeGen/tbaa-struct-bitfield-endianness.cpp
    M clang/test/CodeGen/union-tbaa1.c
    M clang/test/CodeGenCUDA/amdgpu-kernel-arg-pointer-type.cu
    M clang/test/CodeGenCXX/inline-then-fold-variadics.cpp
    M clang/test/CodeGenCXX/wasm-args-returns.cpp
    M clang/test/CodeGenOpenCL/amdgpu-abi-struct-coerce.cl
    M clang/test/CodeGenOpenCL/amdgpu-call-kernel.cl
    M clang/test/CodeGenOpenCL/kernels-have-spir-cc-by-default.cl
    M clang/test/CodeGenOpenCLCXX/array-type-infinite-loop.clcpp
    M llvm/lib/Transforms/IPO/FunctionAttrs.cpp
    M llvm/test/Analysis/TypeBasedAliasAnalysis/functionattrs.ll
    M llvm/test/CodeGen/AMDGPU/amdgpu-libcall-sincos-pass-ordering.ll
    M llvm/test/CodeGen/AMDGPU/amdgpu-simplify-libcall-sincos.ll
    M llvm/test/CodeGen/BPF/preserve-static-offset/store-zero.ll
    M llvm/test/Other/optimize-inrange-gep.ll
    M llvm/test/Transforms/Coroutines/coro-async.ll
    M llvm/test/Transforms/FunctionAttrs/argmemonly.ll
    A llvm/test/Transforms/FunctionAttrs/initializes.ll
    M llvm/test/Transforms/FunctionAttrs/readattrs.ll
    M llvm/test/Transforms/FunctionAttrs/writeonly.ll
    M llvm/test/Transforms/PhaseOrdering/X86/unroll-vectorizer.ll
    M llvm/test/Transforms/PhaseOrdering/memcpy-offset.ll
    M llvm/test/Transforms/PhaseOrdering/pr95152.ll

  Log Message:
  -----------
  Add the initializes attribute inference (#117104)

reland https://github.com/llvm/llvm-project/pull/97373 after fixing
clang tests.

Confirmed with "ninja check-llvm" and "ninja check-clang"


  Commit: a432f11a52dd5ec21a3438bdaa8f623e32a3234c
      https://github.com/llvm/llvm-project/commit/a432f11a52dd5ec21a3438bdaa8f623e32a3234c
  Author: Lang Hames <lhames at gmail.com>
  Date:   2024-11-21 (Thu, 21 Nov 2024)

  Changed paths:
    M llvm/include/llvm/ExecutionEngine/JITLink/aarch64.h
    M llvm/lib/ExecutionEngine/JITLink/MachO_arm64.cpp
    M llvm/lib/ExecutionEngine/JITLink/aarch64.cpp
    A llvm/test/ExecutionEngine/JITLink/AArch64/MachO_ptrauth-globals.s

  Log Message:
  -----------
  [JITLink][arm64] Support arm64e JIT'd code (initially enabled for MachO only).

Adds two new JITLink passes to create and populate a pointer-signing function
that can be called via an allocation-action attached to the LinkGraph:

* createEmptyPointerSigningFunction creates a pointer signing function in a
custome section, reserving sufficient space for the signing code. It should
be run as a post-prune pass (to ensure that memory is reserved prior to
allocation).
* lowerPointer64AuthEdgesToSigningFunction pass populates the signing function
by walking the graph, decoding the ptrauth info (encoded in the edge addend) and
writing an instruction sequence to sign all ptrauth fixup locations.

rdar://61956998


  Commit: 922282eacfc054ddadbec04825d6573179e66200
      https://github.com/llvm/llvm-project/commit/922282eacfc054ddadbec04825d6573179e66200
  Author: Piyou Chen <piyou.chen at sifive.com>
  Date:   2024-11-21 (Thu, 21 Nov 2024)

  Changed paths:
    M clang/docs/ReleaseNotes.rst
    M clang/include/clang/Basic/Attr.td
    A clang/test/Sema/attr-target-version-unsupported.c

  Log Message:
  -----------
  [TargetVersion] Only enable on RISC-V and AArch64 (#115991)

Address https://github.com/llvm/llvm-project/issues/115000. 

This patch constrains the target_version feature to work only on RISC-V
and AArch64 to prevent crashes in Clang.

---------

Co-authored-by: Aaron Ballman <aaron at aaronballman.com>


  Commit: 75b8f98ef69cc43289af4bddfa04e1cf90cc3d86
      https://github.com/llvm/llvm-project/commit/75b8f98ef69cc43289af4bddfa04e1cf90cc3d86
  Author: Han-Kuan Chen <hankuan.chen at sifive.com>
  Date:   2024-11-21 (Thu, 21 Nov 2024)

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

  Log Message:
  -----------
  [SLP] NFC. Change the comment to match the code execution. (#116022)

Make code execute like the comment will modify many tests and affect the
performance. As a result, we change the comment instead of the code.


  Commit: c4be13cb9c81469060e2018f4e4673440772db03
      https://github.com/llvm/llvm-project/commit/c4be13cb9c81469060e2018f4e4673440772db03
  Author: Piyou Chen <piyou.chen at sifive.com>
  Date:   2024-11-21 (Thu, 21 Nov 2024)

  Changed paths:
    M clang/docs/ReleaseNotes.rst
    M clang/include/clang/Basic/Attr.td
    R clang/test/Sema/attr-target-version-unsupported.c

  Log Message:
  -----------
  Revert "[TargetVersion] Only enable on RISC-V and AArch64" (#117110)

Reverts llvm/llvm-project#115991

Due to build fail
https://lab.llvm.org/buildbot/#/builders/66/builds/6511


  Commit: 197fb270cc2f947bdde047d9aac65b653f4f6f26
      https://github.com/llvm/llvm-project/commit/197fb270cc2f947bdde047d9aac65b653f4f6f26
  Author: Sushant Gokhale <sgokhale at nvidia.com>
  Date:   2024-11-21 (Thu, 21 Nov 2024)

  Changed paths:
    A llvm/test/Transforms/SLPVectorizer/materialize-vector-of-consts.ll

  Log Message:
  -----------
  [AArch64][NFC] NFC for const vector as Instruction operand (#116790)

Current cost-modelling does not take into account cost of materializing
const vector. This results in some cases, as the test shows, being
vectorized but this may not always be profitable. Future patch will try
to address this issue.


  Commit: 32913724acf9e02beed46999fee1424086b8c884
      https://github.com/llvm/llvm-project/commit/32913724acf9e02beed46999fee1424086b8c884
  Author: Diego Caballero <dieg0ca6aller0 at gmail.com>
  Date:   2024-11-20 (Wed, 20 Nov 2024)

  Changed paths:
    M mlir/include/mlir/Dialect/Vector/IR/VectorOps.td
    M mlir/lib/Dialect/Vector/IR/VectorOps.cpp
    M mlir/test/Dialect/Vector/invalid.mlir
    M mlir/test/Dialect/Vector/ops.mlir

  Log Message:
  -----------
  [mlir][vector] Fix 0-d vector transfer mask inference (#116526)

When inferring the mask of a transfer operation that results in a single `i1` element, 
we could represent it using either `vector<i1>` or vector<1xi1>. To avoid type mismatches,
this PR updates the mask inference logic to consistently generate `vector<1xi1>` for
these cases. We can enable 0-D masks if they are needed in the future.

See: https://github.com/llvm/llvm-project/issues/116197


  Commit: 42775a44c9a6ba8dc03ad4c88fa9321e78ebd434
      https://github.com/llvm/llvm-project/commit/42775a44c9a6ba8dc03ad4c88fa9321e78ebd434
  Author: Wu Yingcong <yingcong.wu at intel.com>
  Date:   2024-11-21 (Thu, 21 Nov 2024)

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

  Log Message:
  -----------
  [ControlHeightReduction] Add assert to avoid underflow (#116339)

`NumCHRedBranches - 1` is used later, we should add an assertion to make
sure it will not underflow.


  Commit: dbe159b3f74ea41e16782fe5708756507d4a014f
      https://github.com/llvm/llvm-project/commit/dbe159b3f74ea41e16782fe5708756507d4a014f
  Author: donald chen <chenxunyu1993 at gmail.com>
  Date:   2024-11-21 (Thu, 21 Nov 2024)

  Changed paths:
    M mlir/lib/IR/BuiltinAttributes.cpp
    M mlir/lib/IR/BuiltinTypes.cpp
    M mlir/test/Dialect/Affine/memref-stride-calculation.mlir
    M mlir/test/Dialect/MemRef/invalid.mlir
    M mlir/test/IR/invalid-builtin-types.mlir

  Log Message:
  -----------
  [mlir] [IR] Allow zero strides in StridedLayoutAttr (#116463)

Disabling memrefs with a stride of 0 was intended to prevent internal
aliasing, but this does not address all cases : internal aliasing can
still occur when the stride is less than the shape.

On the other hand, a stride of 0 can be very useful in certain
scenarios. For example, in architectures that support multi-dimensional
DMA, we can use memref::copy with a stride of 0 to achieve a broadcast
effect.

This commit removes the restriction that strides in memrefs cannot be 0.


  Commit: e9c561e93434a5d0cbc274b7efd73d6e252b6ba4
      https://github.com/llvm/llvm-project/commit/e9c561e93434a5d0cbc274b7efd73d6e252b6ba4
  Author: Craig Topper <craig.topper at sifive.com>
  Date:   2024-11-20 (Wed, 20 Nov 2024)

  Changed paths:
    M llvm/lib/Target/RISCV/RISCVGISel.td
    A llvm/test/CodeGen/RISCV/GlobalISel/atomic-load-store.ll

  Log Message:
  -----------
  [RISCV][GISel] Add atomic load/store test. Add additional atomic load/store isel patterns."


  Commit: 476b208e0115e766605e9f850982996a1d51c287
      https://github.com/llvm/llvm-project/commit/476b208e0115e766605e9f850982996a1d51c287
  Author: Timm Baeder <tbaeder at redhat.com>
  Date:   2024-11-21 (Thu, 21 Nov 2024)

  Changed paths:
    M clang/lib/AST/ByteCode/InterpBuiltinBitCast.cpp
    M clang/test/AST/ByteCode/builtin-bit-cast.cpp

  Log Message:
  -----------
  [clang][bytecode] Fix ToType/FromType diagnostic ordering (#116988)

We need to check the ToType first, then the FromType. Additionally,
remove qualifiers from the parent type of the field we're emitting a
note for.


  Commit: 7c0786363e6b14e05a868cfe7614074cf742e7cc
      https://github.com/llvm/llvm-project/commit/7c0786363e6b14e05a868cfe7614074cf742e7cc
  Author: Lang Hames <lhames at gmail.com>
  Date:   2024-11-21 (Thu, 21 Nov 2024)

  Changed paths:
    A compiler-rt/test/orc/TestCases/Darwin/Generic/trivial-cxx-constructor.cpp

  Log Message:
  -----------
  [ORC-RT] Test basic C++ static initialization support in the ORC runtime.

This tests that a simple C++ static initializer works as expected.

Compared to the architecture specific, assembly level regression tests for the
ORC runtime; this test is expected to catch cases where the compiler adopts
some new MachO feature that the ORC runtime does not yet support (e.g. a new
initializer section).


  Commit: a6fefc82450e054336a52a5d2d915b780b8c3ef7
      https://github.com/llvm/llvm-project/commit/a6fefc82450e054336a52a5d2d915b780b8c3ef7
  Author: Yingwei Zheng <dtcxzyw2333 at gmail.com>
  Date:   2024-11-21 (Thu, 21 Nov 2024)

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

  Log Message:
  -----------
  [InstCombine] Convert logical and/or with `icmp samesign` into bitwise ops (#116983)

See the following case:
```
define i1 @test_logical_and_icmp_samesign(i8 %x) {
  %cmp1 = icmp ne i8 %x, 9
  %cmp2 = icmp samesign ult i8 %x, 11
  %and = select i1 %cmp1, i1 %cmp2, i1 false
  ret i1 %and
}
```
Currently we cannot convert this logical and into a bitwise and due to
the `samesign` flag. But if `%cmp2` evaluates to `poison`, we can infer
that `%cmp1` is either `poison` or `true` (`samesign` violation
indicates that X is negative). Therefore, `%and` still evaluates to
`poison`.

This patch converts a logical and into a bitwise and iff TV is poison
implies that Cond is either poison or true. Likewise, we convert a
logical or into a bitwise or iff FV is poison implies that Cond is
either poison or false.

Note:
1. This logic is implemented in InstCombine. Not sure whether it is
profitable to move it into ValueTracking and call `impliesPoison(TV/FV,
Sel)` instead.
2. We only handle the case that `ValAssumedPoison` is `icmp samesign
pred X, C1` and `V` is `icmp pred X, C2`. There are no suitable variants
for `isImpliedCondition` to pass the fact that X is [non-]negative.

Alive2: https://alive2.llvm.org/ce/z/eorFfa
Motivation: fix [a major
regression](https://github.com/dtcxzyw/llvm-opt-benchmark/pull/1724#discussion_r1849663863)
to unblock https://github.com/llvm/llvm-project/pull/112742.


  Commit: 97b2903455fbe2de0c88cf07b92a09dc8cb7e699
      https://github.com/llvm/llvm-project/commit/97b2903455fbe2de0c88cf07b92a09dc8cb7e699
  Author: Mingming Liu <mingmingl at google.com>
  Date:   2024-11-20 (Wed, 20 Nov 2024)

  Changed paths:
    M llvm/include/llvm/IR/ModuleSummaryIndex.h
    M llvm/include/llvm/IR/ModuleSummaryIndexYAML.h
    M llvm/lib/Bitcode/Writer/BitcodeWriter.cpp

  Log Message:
  -----------
  [NFCI][WPD]Use unique string saver to store type id (#106932)

Currently, both
[TypeIdMap](https://github.com/llvm/llvm-project/blob/67a1fdb014790a38a205d28e1748634de34471dd/llvm/include/llvm/IR/ModuleSummaryIndex.h#L1356)
and
[TypeIdCompatibleVtableMap](https://github.com/llvm/llvm-project/blob/67a1fdb014790a38a205d28e1748634de34471dd/llvm/include/llvm/IR/ModuleSummaryIndex.h#L1363)
keep type-id as `std::string` in the combined index for LTO indexing
analysis.

With this change, index uses a unique-string-saver to own the string
copies and two maps above can use string references to save some memory.

This shows a 3% memory reduction (from 8.2GiB to 7.9GiB) in an internal
binary with high indexing memory usage.


  Commit: abb9f9fa06ef22be2b0287b9047d5cfed71d91d4
      https://github.com/llvm/llvm-project/commit/abb9f9fa06ef22be2b0287b9047d5cfed71d91d4
  Author: Lee Wei <lee10202013 at gmail.com>
  Date:   2024-11-21 (Thu, 21 Nov 2024)

  Changed paths:
    M llvm/test/Transforms/LoopInterchange/lcssa.ll
    M llvm/test/Transforms/LoopInterchange/pr43176-move-to-new-latch.ll
    M llvm/test/Transforms/LoopInterchange/pr43473-invalid-lcssa-phis-in-inner-exit.ll
    M llvm/test/Transforms/LoopInterchange/pr43797-lcssa-for-multiple-outer-loop-blocks.ll
    M llvm/test/Transforms/LoopInterchange/pr57148.ll
    M llvm/test/Transforms/LoopLoadElim/pr-48150.ll
    M llvm/test/Transforms/LoopLoadElim/pr47457.ll
    M llvm/test/Transforms/LoopPredication/predicate-exits.ll
    M llvm/test/Transforms/LoopRotate/crash.ll
    M llvm/test/Transforms/LoopRotate/multiple-exits.ll
    M llvm/test/Transforms/LoopRotate/pr22337.ll
    M llvm/test/Transforms/LoopRotate/pr33701.ll
    M llvm/test/Transforms/LoopRotate/pr37205.ll
    M llvm/test/Transforms/LoopRotate/preserve-loop-simplify.ll
    M llvm/test/Transforms/LoopRotate/preserve-mssa.ll
    M llvm/test/Transforms/LoopSimplify/2010-07-15-IncorrectDomFrontierUpdate.ll
    M llvm/test/Transforms/LoopSimplify/2010-12-26-PHIInfiniteLoop.ll
    M llvm/test/Transforms/LoopSimplify/dup-preds.ll
    M llvm/test/Transforms/LoopSimplify/indirectbr.ll
    M llvm/test/Transforms/LoopSimplify/notify-scev.ll
    M llvm/test/Transforms/LoopSimplify/pr28272.ll
    M llvm/test/Transforms/LoopSimplify/pr30454.ll
    M llvm/test/Transforms/LoopSimplify/unreachable-loop-pred.ll
    M llvm/test/Transforms/LoopSimplifyCFG/constant-fold-branch.ll
    M llvm/test/Transforms/LoopSimplifyCFG/update_parents.ll
    M llvm/test/Transforms/LoopStrengthReduce/2011-10-14-IntPtr.ll
    M llvm/test/Transforms/LoopStrengthReduce/2011-12-19-PostincQuadratic.ll
    M llvm/test/Transforms/LoopStrengthReduce/2013-01-14-ReuseCast.ll
    M llvm/test/Transforms/LoopStrengthReduce/AArch64/pr47329.ll
    M llvm/test/Transforms/LoopStrengthReduce/AMDGPU/lsr-invalid-ptr-extend.ll
    M llvm/test/Transforms/LoopStrengthReduce/AMDGPU/lsr-void-inseltpoison.ll
    M llvm/test/Transforms/LoopStrengthReduce/AMDGPU/lsr-void.ll
    M llvm/test/Transforms/LoopStrengthReduce/AMDGPU/preserve-addrspace-assert.ll
    M llvm/test/Transforms/LoopStrengthReduce/ARM/addrec-is-loop-invariant.ll
    M llvm/test/Transforms/LoopStrengthReduce/Power/incomplete-phi.ll
    M llvm/test/Transforms/LoopStrengthReduce/X86/2009-11-10-LSRCrash.ll
    M llvm/test/Transforms/LoopStrengthReduce/X86/2011-07-20-DoubleIV.ll
    M llvm/test/Transforms/LoopStrengthReduce/X86/2012-01-13-phielim.ll
    M llvm/test/Transforms/LoopStrengthReduce/X86/no_superflous_induction_vars.ll
    M llvm/test/Transforms/LoopStrengthReduce/X86/pr40514.ll
    M llvm/test/Transforms/LoopStrengthReduce/callbr-critical-edge-splitting.ll
    M llvm/test/Transforms/LoopStrengthReduce/dominate-assert.ll
    M llvm/test/Transforms/LoopStrengthReduce/funclet.ll
    M llvm/test/Transforms/LoopStrengthReduce/hoist-parent-preheader.ll
    M llvm/test/Transforms/LoopStrengthReduce/ivchain.ll
    M llvm/test/Transforms/LoopStrengthReduce/nonintegral.ll
    M llvm/test/Transforms/LoopStrengthReduce/pr12048.ll
    M llvm/test/Transforms/LoopStrengthReduce/pr50765.ll
    M llvm/test/Transforms/LoopStrengthReduce/scaling-factor-incompat-type.ll
    M llvm/test/Transforms/LoopStrengthReduce/scaling_factor_cost_crash.ll
    M llvm/test/Transforms/LoopStrengthReduce/scev-after-loopinstsimplify.ll
    M llvm/test/Transforms/LoopStrengthReduce/scev-expander-lcssa.ll
    M llvm/test/Transforms/LoopStrengthReduce/uglygep-address-space.ll
    M llvm/test/Transforms/LoopStrengthReduce/uglygep.ll
    M llvm/test/Transforms/LoopUnroll/2011-08-08-PhiUpdate.ll
    M llvm/test/Transforms/LoopUnroll/full-unroll-crashers.ll
    M llvm/test/Transforms/LoopUnroll/pr10813.ll
    M llvm/test/Transforms/LoopUnroll/pr14167.ll
    M llvm/test/Transforms/LoopUnroll/pr27157.ll
    M llvm/test/Transforms/LoopUnroll/pr28132.ll
    M llvm/test/Transforms/LoopUnroll/rebuild_lcssa.ll
    M llvm/test/Transforms/LoopUnroll/runtime-loop-multiple-exits.ll
    M llvm/test/Transforms/LoopUnroll/unloop.ll
    M llvm/test/Transforms/LoopVectorize/2012-10-20-infloop.ll
    M llvm/test/Transforms/LoopVectorize/X86/consecutive-ptr-cg-bug.ll
    M llvm/test/Transforms/LoopVectorize/X86/pr39160.ll
    M llvm/test/Transforms/LoopVectorize/X86/rauw-bug.ll
    M llvm/test/Transforms/LoopVectorize/X86/reduction-crash.ll
    M llvm/test/Transforms/LoopVectorize/if-conv-crash.ll
    M llvm/test/Transforms/LoopVectorize/incorrect-dom-info.ll
    M llvm/test/Transforms/LoopVectorize/nsw-crash.ll
    M llvm/test/Transforms/LoopVectorize/pr36311.ll
    M llvm/test/Transforms/LoopVectorize/reduction-order.ll
    M llvm/test/Transforms/LowerConstantIntrinsics/stale-worklist-phi.ll
    M llvm/test/Transforms/LowerSwitch/condition-phi-unreachable-default.ll
    M llvm/test/Transforms/LowerSwitch/do-not-handle-impossible-values.ll
    M llvm/test/Transforms/LowerSwitch/phi-in-dead-block.ll

  Log Message:
  -----------
  [llvm] Remove `br i1 undef` from  some regression tests [NFC] (#117112)

This PR removes tests with `br i1 undef` under
`llvm/tests/Transforms/Loop*, Lower*`.


  Commit: 46f43b6d92e49b80df13e8a537a95767ffbaac9f
      https://github.com/llvm/llvm-project/commit/46f43b6d92e49b80df13e8a537a95767ffbaac9f
  Author: abhishek-kaushik22 <abhishek.kaushik at intel.com>
  Date:   2024-11-21 (Thu, 21 Nov 2024)

  Changed paths:
    M llvm/lib/CodeGen/GlobalISel/GISelKnownBits.cpp
    M llvm/lib/CodeGen/LiveDebugValues/InstrRefBasedImpl.cpp
    M llvm/lib/CodeGen/MIRPrinter.cpp
    M llvm/lib/CodeGen/MachineLICM.cpp

  Log Message:
  -----------
  [DebugInfo][InstrRef][MIR][GlobalIsel][MachineLICM] NFC Use std::move to avoid copying (#116935)


  Commit: 6f76b2a3c010cd25acf4efb56cbde2a678b6242c
      https://github.com/llvm/llvm-project/commit/6f76b2a3c010cd25acf4efb56cbde2a678b6242c
  Author: Feng Zou <feng.zou at intel.com>
  Date:   2024-11-21 (Thu, 21 Nov 2024)

  Changed paths:
    M llvm/include/llvm/BinaryFormat/ELFRelocs/x86_64.def
    M llvm/lib/Target/X86/MCTargetDesc/X86ELFObjectWriter.cpp
    M llvm/test/MC/ELF/relocation.s

  Log Message:
  -----------
  [X86][MC] Add R_X86_64_CODE_4_GOTTPOFF (#116633)

For

  mov name at GOTTPOFF(%rip), %reg
  add name at GOTTPOFF(%rip), %reg

add

  `R_X86_64_CODE_4_GOTTPOFF` = 44

if the instruction starts at 4 bytes before the relocation offset. It's
similar to R_X86_64_GOTTPOFF.

Linker can treat `R_X86_64_CODE_4_GOTTPOFF` as `R_X86_64_GOTTPOFF` or
convert the instructions above to

  mov $name at tpoff, %reg
  add $name at tpoff, %reg

if the first byte of the instruction at the relocation `offset - 4` is
`0xd5` (namely, encoded w/REX2 prefix) when possible.

Binutils patch:
https://github.com/bminor/binutils-gdb/commit/a533c8df598b5ef99c54a13e2b137c98b34b043c
Binutils mailthread:
https://sourceware.org/pipermail/binutils/2023-December/131463.html
ABI discussion:
https://groups.google.com/g/x86-64-abi/c/ACwD-UQXVDs/m/vrgTenKyFwAJ
Blog: https://kanrobert.github.io/rfc/All-about-APX-relocation


  Commit: ade0750e3529ee251cbfb60ce66904a8553381e4
      https://github.com/llvm/llvm-project/commit/ade0750e3529ee251cbfb60ce66904a8553381e4
  Author: Jay Foad <jay.foad at amd.com>
  Date:   2024-11-21 (Thu, 21 Nov 2024)

  Changed paths:
    M llvm/lib/Target/AMDGPU/AMDGPUInstructionSelector.cpp
    M llvm/lib/Target/AMDGPU/MCTargetDesc/AMDGPUInstPrinter.cpp
    M llvm/lib/Target/AMDGPU/SIISelLowering.cpp
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.raw.buffer.load.ll
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.raw.buffer.store.ll

  Log Message:
  -----------
  [AMDGPU] Fix some cache policy checks for GFX12+ (#116396)

Fix coding errors found by inspection and check that the swz bit still
serves to prevent merging of buffer loads/stores on GFX12+.


  Commit: bc7f24cd8d6180ba297ea33ef5b4631a1bd26aea
      https://github.com/llvm/llvm-project/commit/bc7f24cd8d6180ba297ea33ef5b4631a1bd26aea
  Author: Boaz Brickner <brickner at google.com>
  Date:   2024-11-21 (Thu, 21 Nov 2024)

  Changed paths:
    M clang/lib/Basic/SourceManager.cpp

  Log Message:
  -----------
  [clang] [NFC] Remove SourceLocation() parameter from Diag.Report() calls in SourceManager, and use the equivalent Report() overload instead (#116937)


  Commit: 6377ae46a83e52fe1850a42ce8e1ee3e840243ba
      https://github.com/llvm/llvm-project/commit/6377ae46a83e52fe1850a42ce8e1ee3e840243ba
  Author: wanglei <wanglei at loongson.cn>
  Date:   2024-11-21 (Thu, 21 Nov 2024)

  Changed paths:
    M llvm/lib/Target/LoongArch/LoongArchExpandPseudoInsts.cpp
    M llvm/test/CodeGen/LoongArch/code-models.ll
    M llvm/test/CodeGen/LoongArch/expand-adjacency.ll
    M llvm/test/CodeGen/LoongArch/machinelicm-address-pseudos.ll
    M llvm/test/CodeGen/LoongArch/psabi-restricted-scheduling.ll
    M llvm/test/CodeGen/LoongArch/tls-models.ll

  Log Message:
  -----------
  [LoongArch] Fix GOT usage for `non-dso_local` function calls in large code model

This commit fixes an issue in the large code model where non-dso_local
function calls did not use the GOT as expected in PIC mode. Instead,
direct PC-relative access was incorrectly applied, leading to linker
errors when building shared libraries.

For `ExternalSymbol`, it is not possible to determine whether it is
dso_local during pseudo-instruction expansion. We use target flags to
differentiate whether GOT should be used.

Reviewed By: heiher, SixWeining

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


  Commit: 458dfbd855806461b4508bf8845cafe0411dbfd4
      https://github.com/llvm/llvm-project/commit/458dfbd855806461b4508bf8845cafe0411dbfd4
  Author: Yingwei Zheng <dtcxzyw2333 at gmail.com>
  Date:   2024-11-21 (Thu, 21 Nov 2024)

  Changed paths:
    M llvm/lib/Analysis/ScalarEvolution.cpp
    A llvm/test/Analysis/ScalarEvolution/pr116483.ll
    A llvm/test/Transforms/IndVarSimplify/pr116483.ll

  Log Message:
  -----------
  [SCEV] Fix sext handling for `getConstantMultiple` (#117093)

Counterexample: 219 is a multiple of 73. But `sext i8 219 to i16 =
65499` is not.
Fixes https://github.com/llvm/llvm-project/issues/116483.


  Commit: 4086ead63c7e0b56b3b07873117bb7ad7a02d41c
      https://github.com/llvm/llvm-project/commit/4086ead63c7e0b56b3b07873117bb7ad7a02d41c
  Author: Andrzej Warzyński <andrzej.warzynski at arm.com>
  Date:   2024-11-21 (Thu, 21 Nov 2024)

  Changed paths:
    M mlir/test/Conversion/VectorToLLVM/vector-to-llvm.mlir

  Log Message:
  -----------
  [mlir][vector] Add more tests for ConvertVectorToLLVM (10/n) (#117041)

Adds tests with scalable vectors for the Vector-To-LLVM conversion pass.
Covers the following Ops:

  * `vector.maskedload`,
  * `vector.maskedstore`,
  * `vector.gather`,
  * `vector.scatter`.

In addition:
* For consistency with other tests, renamed test function names
  (e.g. `@masked_load_op` -> `@masked_load_op`)
* Made some test names more descriptive, e.g `@gather_op_2d` ->
  `@gather_1d_from_2d`.


  Commit: bbafe590880e6efb9e6b9e587d7dea7c19e7809b
      https://github.com/llvm/llvm-project/commit/bbafe590880e6efb9e6b9e587d7dea7c19e7809b
  Author: Ami-zhang <zhanglimin at loongson.cn>
  Date:   2024-11-21 (Thu, 21 Nov 2024)

  Changed paths:
    M clang/lib/Headers/larchintrin.h
    M clang/lib/Headers/lasxintrin.h
    M clang/lib/Headers/lsxintrin.h

  Log Message:
  -----------
  [LoongArch] Add conditional compilation for FP approximation intrinsics (#117132)

Introduce a check for `__loongarch_frecipe` macro around the FP
approximation intrinsic implementation. This ensures that these
intrinsics are only included when this macro is defined, providing
better flexibility and control over the usage of FP approximation
instructions.


  Commit: a23260087db14032094d62dcf8be9be6f4e3d788
      https://github.com/llvm/llvm-project/commit/a23260087db14032094d62dcf8be9be6f4e3d788
  Author: abhishek-kaushik22 <abhishek.kaushik at intel.com>
  Date:   2024-11-21 (Thu, 21 Nov 2024)

  Changed paths:
    M llvm/lib/CodeGen/SelectionDAG/LegalizeVectorTypes.cpp
    M llvm/test/CodeGen/X86/vec-strict-cmp-512-skx.ll

  Log Message:
  -----------
  [SDAG] [X86] Extend SplitVecOp_VSETCC for STRICT_FSETCCS (#116768)

Closes #116767


  Commit: 00d383ee9d6fe66799bf9b242b59753d175d51cb
      https://github.com/llvm/llvm-project/commit/00d383ee9d6fe66799bf9b242b59753d175d51cb
  Author: Jonathan Cohen <jcohen22 at apple.com>
  Date:   2024-11-21 (Thu, 21 Nov 2024)

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

  Log Message:
  -----------
  [DAGCombiner] Limit steps in shouldCombineToPostInc (#116030)

Currently the function will walk the entire DAG to find other candidates
to perform a post-inc store. This leads to very long compilation times
on large functions. Added a MaxSteps limit to avoid this, which is also
aligned to how hasPredecessorHelper is used elsewhere in the code.


  Commit: eb48e1100a1f9dc26c6f2e56301c0a55394465c5
      https://github.com/llvm/llvm-project/commit/eb48e1100a1f9dc26c6f2e56301c0a55394465c5
  Author: Oliver Stannard <oliver.stannard at arm.com>
  Date:   2024-11-21 (Thu, 21 Nov 2024)

  Changed paths:
    M clang/include/clang/Basic/arm_neon.td
    M clang/test/CodeGen/arm-bf16-convert-intrinsics.c

  Log Message:
  -----------
  [ARM] Fix undefined behaviour in bf16->float conversion (#116985)

This was implementing the bf16->float conversion function using a
left-shift of a signed integer, so for negative floating-point values a
1 was being shifted into the sign bit of the signed integer intermediate
value. This is undefined behaviour, and was caught by UBSan.

The vector versions are code-generated via Neon builtin functions, so
probably don't have the same UB problem, but I've updated them anyway to
be consistent.

Fixes #61983.


  Commit: ef102b4a6333a304e36dc623d5381257a7ef1ed6
      https://github.com/llvm/llvm-project/commit/ef102b4a6333a304e36dc623d5381257a7ef1ed6
  Author: Florian Hahn <flo at fhahn.com>
  Date:   2024-11-21 (Thu, 21 Nov 2024)

  Changed paths:
    M llvm/lib/CodeGen/MachineLICM.cpp
    M llvm/test/CodeGen/AArch64/machine-licm-hoist-load.ll
    M llvm/test/CodeGen/Mips/lcb5.ll

  Log Message:
  -----------
  [MachineLICM] Don't allow hoisting invariant loads across mem barrier. (#116987)

The improvements in 63917e1 / #70796 do not check for memory
barriers/unmodelled sideeffects, which means we may incorrectly hoist
loads across memory barriers.

Fix this by checking any machine instruction in the loop is a load-fold
barrier.

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


  Commit: aaba8406c52f369898c7b43fbc7c782f939d38d5
      https://github.com/llvm/llvm-project/commit/aaba8406c52f369898c7b43fbc7c782f939d38d5
  Author: CarolineConcatto <caroline.concatto at arm.com>
  Date:   2024-11-21 (Thu, 21 Nov 2024)

  Changed paths:
    M clang/include/clang/Basic/arm_neon_incl.td
    M clang/utils/TableGen/NeonEmitter.cpp

  Log Message:
  -----------
  [NFC][Clang][AArch64]Refactor implementation of Neon vectors  MFloat8… (#114804)

…x8 and MFloat8x16

This patch adds MFloat8 as a TypeFlag and Kind on Neon to generate the
typedefs using emitNeonTypeDefs.
It does not need any change in Clang, because SEMA and CodeGen use the
Builtins defined in AArch64SVEACLETypes.def


  Commit: a7427410dd71072cbd1d44a6f78a08268b19a73b
      https://github.com/llvm/llvm-project/commit/a7427410dd71072cbd1d44a6f78a08268b19a73b
  Author: Oleksandr T. <oleksandr.tarasiuk at outlook.com>
  Date:   2024-11-21 (Thu, 21 Nov 2024)

  Changed paths:
    M clang/docs/ReleaseNotes.rst
    M clang/lib/Analysis/CFG.cpp
    M clang/test/CXX/dcl.dcl/dcl.attr/dcl.attr.noreturn/p1.cpp
    M clang/test/SemaCXX/warn-missing-noreturn.cpp

  Log Message:
  -----------
  [Clang] Handle `[[noreturn]]` constructors in CFG (#115558)

Fixes #63009.


  Commit: 97ac84846a724809d28e167651b81355696d0d0b
      https://github.com/llvm/llvm-project/commit/97ac84846a724809d28e167651b81355696d0d0b
  Author: Simon Pilgrim <llvm-dev at redking.me.uk>
  Date:   2024-11-21 (Thu, 21 Nov 2024)

  Changed paths:
    M llvm/test/CodeGen/X86/vector-compare-all_of.ll

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


  Commit: 600a83bf9ba2bee5ed1e9867e201f7707b1d8102
      https://github.com/llvm/llvm-project/commit/600a83bf9ba2bee5ed1e9867e201f7707b1d8102
  Author: Simon Pilgrim <llvm-dev at redking.me.uk>
  Date:   2024-11-21 (Thu, 21 Nov 2024)

  Changed paths:
    M llvm/lib/Target/X86/X86ISelLowering.cpp
    M llvm/test/CodeGen/X86/vector-compare-all_of.ll

  Log Message:
  -----------
  [X86] IsNOT - match or(not(X),not(Y)) -> and(X,Y)

Fixes #116977


  Commit: 5bdee35544eb21762857390014598748c64ad485
      https://github.com/llvm/llvm-project/commit/5bdee35544eb21762857390014598748c64ad485
  Author: Mikhail Goncharov <goncharov.mikhail at gmail.com>
  Date:   2024-11-21 (Thu, 21 Nov 2024)

  Changed paths:
    M utils/bazel/llvm-project-overlay/libc/libc_build_rules.bzl

  Log Message:
  -----------
  [bazel] format utils/bazel/llvm-project-overlay/libc/libc_build_rules.bzl


  Commit: 83c7784c35918ce037823f29d29918c5542cdf9c
      https://github.com/llvm/llvm-project/commit/83c7784c35918ce037823f29d29918c5542cdf9c
  Author: Benjamin Maxwell <benjamin.maxwell at arm.com>
  Date:   2024-11-21 (Thu, 21 Nov 2024)

  Changed paths:
    M llvm/lib/Target/AArch64/AArch64FrameLowering.cpp
    M llvm/lib/Target/AArch64/AArch64InstrInfo.cpp
    M llvm/test/CodeGen/AArch64/zero-call-used-regs.ll

  Log Message:
  -----------
  [AArch64] Don't emit Neon in streaming[-compatible] functions with -fzero-call-used-regs (#116995)

Previously, with `-fzero-call-used-regs` clang/LLVM would incorrectly
emit Neon instructions in streaming functions, and streaming-compatible
functions without SVE.

With this change:

* In streaming functions, Z/p registers will be zeroed
* In streaming compatible functions w/o SVE, D registers will be zeroed
  - (As Neon vector instructions are illegal including `movi v..`)


  Commit: bdd10d9d249bd1c2a45e3de56a5accd97e953458
      https://github.com/llvm/llvm-project/commit/bdd10d9d249bd1c2a45e3de56a5accd97e953458
  Author: kadir çetinkaya <kadircet at google.com>
  Date:   2024-11-21 (Thu, 21 Nov 2024)

  Changed paths:
    M clang-tools-extra/clang-include-fixer/IncludeFixer.cpp
    M clang-tools-extra/clangd/Compiler.cpp
    M clang-tools-extra/clangd/ModulesBuilder.cpp
    M clang-tools-extra/clangd/Preamble.cpp
    M clang-tools-extra/include-cleaner/unittests/RecordTest.cpp
    M clang/include/clang/Frontend/CompilerInstance.h
    M clang/lib/Frontend/CompilerInstance.cpp
    M clang/lib/Frontend/CreateInvocationFromCommandLine.cpp
    M clang/lib/Frontend/Rewrite/FrontendActions.cpp
    M clang/lib/Interpreter/Interpreter.cpp
    M clang/lib/StaticAnalyzer/Frontend/ModelInjector.cpp
    M clang/lib/Testing/TestAST.cpp
    M clang/lib/Tooling/DependencyScanning/DependencyScanningWorker.cpp
    M clang/lib/Tooling/Tooling.cpp
    M clang/tools/c-index-test/core_main.cpp
    M clang/tools/clang-import-test/clang-import-test.cpp
    M clang/tools/clang-installapi/ClangInstallAPI.cpp
    M clang/tools/clang-scan-deps/ClangScanDeps.cpp
    M clang/tools/diagtool/ShowEnabledWarnings.cpp
    M clang/tools/driver/cc1_main.cpp
    M clang/tools/libclang/CIndex.cpp
    M clang/tools/libclang/Indexing.cpp
    M clang/unittests/AST/ExternalASTSourceTest.cpp
    M clang/unittests/CodeGen/TestCompiler.h
    M clang/unittests/Driver/DXCModeTest.cpp
    M clang/unittests/Driver/ToolChainTest.cpp
    M clang/unittests/Frontend/ASTUnitTest.cpp
    M clang/unittests/Frontend/CodeGenActionTest.cpp
    M clang/unittests/Frontend/CompilerInstanceTest.cpp
    M clang/unittests/Frontend/CompilerInvocationTest.cpp
    M clang/unittests/Frontend/FrontendActionTest.cpp
    M clang/unittests/Frontend/OutputStreamTest.cpp
    M clang/unittests/Frontend/PCHPreambleTest.cpp
    M clang/unittests/Frontend/ReparseWorkingDirTest.cpp
    M clang/unittests/Frontend/UtilsTest.cpp
    M clang/unittests/Sema/SemaNoloadLookupTest.cpp
    M clang/unittests/Serialization/ForceCheckFileInputTest.cpp
    M clang/unittests/Serialization/ModuleCacheTest.cpp
    M clang/unittests/Serialization/NoCommentsTest.cpp
    M clang/unittests/Serialization/PreambleInNamedModulesTest.cpp
    M clang/unittests/Serialization/VarDeclConstantInitTest.cpp
    M clang/unittests/Support/TimeProfilerTest.cpp
    M clang/unittests/Tooling/DependencyScanning/DependencyScannerTest.cpp
    M clang/unittests/Tooling/ToolingTest.cpp

  Log Message:
  -----------
  [NFC] Explicitly pass a VFS when creating DiagnosticsEngine (#115852)

Starting with 41e3919ded78d8870f7c95e9181c7f7e29aa3cc4 DiagnosticsEngine
creation might perform IO. It was implicitly defaulting to
getRealFileSystem. This patch makes it explicit by pushing the decision
making to callers.

It uses ambient VFS if one is available, and keeps using
`getRealFileSystem` if there aren't any VFS.


  Commit: 56c091ea7106507b36015297ee9005c9d5fab0bf
      https://github.com/llvm/llvm-project/commit/56c091ea7106507b36015297ee9005c9d5fab0bf
  Author: Paul Walker <paul.walker at arm.com>
  Date:   2024-11-21 (Thu, 21 Nov 2024)

  Changed paths:
    M clang/test/CodeGen/AArch64/sve-vector-bitwise-ops.c
    M clang/test/CodeGenCXX/aarch64-sve-vector-conditional-op.cpp
    M llvm/lib/IR/AsmWriter.cpp
    M llvm/test/Assembler/constant-splat.ll
    M llvm/test/Bitcode/vscale-shuffle.ll
    M llvm/test/CodeGen/AArch64/replace-with-veclib-armpl.ll
    M llvm/test/CodeGen/AArch64/replace-with-veclib-sleef-scalable.ll
    M llvm/test/CodeGen/RISCV/rvv/strided-load-store.ll
    M llvm/test/Instrumentation/AddressSanitizer/asan-masked-load-store.ll
    M llvm/test/Transforms/AggressiveInstCombine/vector-or-load.ll
    M llvm/test/Transforms/Attributor/nofpclass.ll
    M llvm/test/Transforms/ConstantHoisting/AArch64/large-immediate.ll
    M llvm/test/Transforms/ConstraintElimination/geps-ptrvector.ll
    M llvm/test/Transforms/CorrelatedValuePropagation/vectors.ll
    M llvm/test/Transforms/InstCombine/AArch64/sve-intrinsic-abs-srshl.ll
    M llvm/test/Transforms/InstCombine/AArch64/sve-intrinsic-fmul-idempotency.ll
    M llvm/test/Transforms/InstCombine/AArch64/sve-intrinsic-fmul_u-idempotency.ll
    M llvm/test/Transforms/InstCombine/AArch64/sve-intrinsic-insr.ll
    M llvm/test/Transforms/InstCombine/AArch64/sve-intrinsic-mul-idempotency.ll
    M llvm/test/Transforms/InstCombine/AArch64/sve-intrinsic-mul_u-idempotency.ll
    M llvm/test/Transforms/InstCombine/AArch64/sve-intrinsic-sdiv.ll
    M llvm/test/Transforms/InstCombine/add.ll
    M llvm/test/Transforms/InstCombine/div.ll
    M llvm/test/Transforms/InstCombine/exp2-to-ldexp.ll
    M llvm/test/Transforms/InstCombine/fdiv.ll
    M llvm/test/Transforms/InstCombine/fmul.ll
    M llvm/test/Transforms/InstCombine/fneg.ll
    M llvm/test/Transforms/InstCombine/getelementptr.ll
    M llvm/test/Transforms/InstCombine/icmp-vec.ll
    M llvm/test/Transforms/InstCombine/known-bits.ll
    M llvm/test/Transforms/InstCombine/load-store-forward.ll
    M llvm/test/Transforms/InstCombine/pow-to-ldexp.ll
    M llvm/test/Transforms/InstCombine/pr83931.ll
    M llvm/test/Transforms/InstCombine/scalable-const-fp-splat.ll
    M llvm/test/Transforms/InstCombine/scalable-select.ll
    M llvm/test/Transforms/InstCombine/select-masked_gather.ll
    M llvm/test/Transforms/InstCombine/select.ll
    M llvm/test/Transforms/InstCombine/shift.ll
    M llvm/test/Transforms/InstCombine/sub.ll
    M llvm/test/Transforms/InstCombine/udiv-simplify.ll
    M llvm/test/Transforms/InstCombine/vec_shuffle-inseltpoison.ll
    M llvm/test/Transforms/InstCombine/vec_shuffle.ll
    M llvm/test/Transforms/InstCombine/vscale_cmp.ll
    M llvm/test/Transforms/InstCombine/zext-ctlz-trunc-to-ctlz-add.ll
    M llvm/test/Transforms/InstSimplify/ConstProp/extractelement-vscale.ll
    M llvm/test/Transforms/InstSimplify/ConstProp/vscale-inseltpoison.ll
    M llvm/test/Transforms/InstSimplify/ConstProp/vscale-shufflevector-inseltpoison.ll
    M llvm/test/Transforms/InstSimplify/ConstProp/vscale-shufflevector.ll
    M llvm/test/Transforms/InstSimplify/ConstProp/vscale.ll
    M llvm/test/Transforms/InstSimplify/cmp-vec-fast-path.ll
    M llvm/test/Transforms/InstSimplify/fp-nan.ll
    M llvm/test/Transforms/InstSimplify/gep.ll
    M llvm/test/Transforms/InstSimplify/vscale-inseltpoison.ll
    M llvm/test/Transforms/InstSimplify/vscale.ll
    M llvm/test/Transforms/InterleavedAccess/AArch64/scalable-deinterleave-intrinsics.ll
    M llvm/test/Transforms/InterleavedAccess/AArch64/sve-deinterleave4.ll
    M llvm/test/Transforms/InterleavedAccess/AArch64/sve-interleave4.ll
    M llvm/test/Transforms/InterleavedAccess/AArch64/sve-interleaved-accesses.ll
    M llvm/test/Transforms/LoopIdiom/RISCV/byte-compare-index.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/clamped-trip-count.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/conditional-branches-cost.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/divs-with-scalable-vfs.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/eliminate-tail-predication.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/first-order-recurrence.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/gather-do-not-vectorize-addressing.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/induction-costs-sve.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/low_trip_count_predicates.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/masked-call.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/outer_loop_prefer_scalable.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/pr60831-sve-inv-store-crash.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/reduction-recurrence-costs-sve.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/scalable-avoid-scalarization.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/scalable-call.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/scalable-reduction-inloop-cond.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/scalable-strict-fadd.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/store-costs-sve.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/sve-basic-vec.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/sve-cond-inv-loads.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/sve-epilog-vect.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/sve-gather-scatter.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/sve-inductions-unusual-types.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/sve-interleaved-accesses.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/sve-interleaved-masked-accesses.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/sve-large-strides.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/sve-low-trip-count.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/sve-select-cmp.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/sve-tail-folding-forced.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/sve-tail-folding-optsize.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/sve-tail-folding-overflow-checks.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/sve-tail-folding-reductions.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/sve-tail-folding-unroll.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/sve-tail-folding.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/sve-vector-reverse.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/sve-widen-gep.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/sve-widen-phi.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/sve2-histcnt-epilogue.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/sve2-histcnt-too-many-deps.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/sve2-histcnt.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/tail-folding-styles.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/type-shrinkage-zext-costs.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/veclib-function-calls.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/wider-VF-for-callinst.ll
    M llvm/test/Transforms/LoopVectorize/RISCV/blend-any-of-reduction-cost.ll
    M llvm/test/Transforms/LoopVectorize/RISCV/blocks-with-dead-instructions.ll
    M llvm/test/Transforms/LoopVectorize/RISCV/dead-ops-cost.ll
    M llvm/test/Transforms/LoopVectorize/RISCV/divrem.ll
    M llvm/test/Transforms/LoopVectorize/RISCV/induction-costs.ll
    M llvm/test/Transforms/LoopVectorize/RISCV/inloop-reduction.ll
    M llvm/test/Transforms/LoopVectorize/RISCV/interleaved-accesses.ll
    M llvm/test/Transforms/LoopVectorize/RISCV/lmul.ll
    M llvm/test/Transforms/LoopVectorize/RISCV/low-trip-count.ll
    M llvm/test/Transforms/LoopVectorize/RISCV/mask-index-type.ll
    M llvm/test/Transforms/LoopVectorize/RISCV/masked_gather_scatter.ll
    M llvm/test/Transforms/LoopVectorize/RISCV/pr87378-vpinstruction-or-drop-poison-generating-flags.ll
    M llvm/test/Transforms/LoopVectorize/RISCV/scalable-basics.ll
    M llvm/test/Transforms/LoopVectorize/RISCV/select-cmp-reduction.ll
    M llvm/test/Transforms/LoopVectorize/RISCV/short-trip-count.ll
    M llvm/test/Transforms/LoopVectorize/RISCV/strided-accesses.ll
    M llvm/test/Transforms/LoopVectorize/RISCV/uniform-load-store.ll
    M llvm/test/Transforms/LoopVectorize/RISCV/vectorize-force-tail-with-evl-bin-unary-ops-args.ll
    M llvm/test/Transforms/LoopVectorize/RISCV/vectorize-force-tail-with-evl-cond-reduction.ll
    M llvm/test/Transforms/LoopVectorize/RISCV/vectorize-force-tail-with-evl-inloop-reduction.ll
    M llvm/test/Transforms/LoopVectorize/RISCV/vectorize-force-tail-with-evl-interleave.ll
    M llvm/test/Transforms/LoopVectorize/RISCV/vectorize-force-tail-with-evl-intermediate-store.ll
    M llvm/test/Transforms/LoopVectorize/RISCV/vectorize-force-tail-with-evl-iv32.ll
    M llvm/test/Transforms/LoopVectorize/RISCV/vectorize-force-tail-with-evl-known-no-overflow.ll
    M llvm/test/Transforms/LoopVectorize/RISCV/vectorize-force-tail-with-evl-masked-loadstore.ll
    M llvm/test/Transforms/LoopVectorize/RISCV/vectorize-force-tail-with-evl-ordered-reduction.ll
    M llvm/test/Transforms/LoopVectorize/RISCV/vectorize-force-tail-with-evl-reduction.ll
    M llvm/test/Transforms/LoopVectorize/RISCV/vectorize-force-tail-with-evl-reverse-load-store.ll
    M llvm/test/Transforms/LoopVectorize/RISCV/vectorize-force-tail-with-evl-safe-dep-distance.ll
    M llvm/test/Transforms/LoopVectorize/RISCV/vectorize-force-tail-with-evl-uniform-store.ll
    M llvm/test/Transforms/LoopVectorize/RISCV/vectorize-vp-intrinsics.ll
    M llvm/test/Transforms/LoopVectorize/outer_loop_scalable.ll
    M llvm/test/Transforms/LoopVectorize/scalable-first-order-recurrence.ll
    M llvm/test/Transforms/LoopVectorize/scalable-inductions.ll
    M llvm/test/Transforms/LoopVectorize/scalable-lifetime.ll
    M llvm/test/Transforms/LoopVectorize/scalable-loop-unpredicated-body-scalar-tail.ll
    M llvm/test/Transforms/LoopVectorize/scalable-reduction-inloop.ll
    M llvm/test/Transforms/MemCpyOpt/vscale-crashes.ll
    M llvm/test/Transforms/PreISelIntrinsicLowering/expand-vp-load-store.ll
    M llvm/test/Transforms/SCCP/no-fold-fcmp-dynamic-denormal-mode-issue114947.ll
    M llvm/test/Transforms/VectorCombine/RISCV/vpintrin-scalarization.ll
    M llvm/test/Transforms/VectorCombine/pr88796.ll
    M mlir/test/Target/LLVMIR/llvmir.mlir

  Log Message:
  -----------
  [LLVM][IR] Use splat syntax when printing ConstantExpr based splats. (#116856)

This brings the printing of scalable vector constant splats inline with
their fixed length counterparts.


  Commit: 0b06301a1d839eb5f73559f6c3daf9049c34f3af
      https://github.com/llvm/llvm-project/commit/0b06301a1d839eb5f73559f6c3daf9049c34f3af
  Author: Nabeel Omer <nabeel.omer at sony.com>
  Date:   2024-11-21 (Thu, 21 Nov 2024)

  Changed paths:
    M llvm/lib/Target/X86/MCTargetDesc/X86InstComments.cpp
    M llvm/lib/Target/X86/MCTargetDesc/X86ShuffleDecode.cpp
    M llvm/lib/Target/X86/MCTargetDesc/X86ShuffleDecode.h
    M llvm/lib/Target/X86/X86ISelLowering.cpp
    A llvm/test/MC/X86/vinsertps_decode.s

  Log Message:
  -----------
  [X86] Fix shuffle comment decoding for vinsertps immediate operand (#117009)

The relevant bit from the Intel SDM for vinsertps semantics:
```
IF (SRC = REG) THEN COUNT_S := imm8[7:6] ELSE COUNT_S := 0
```

This is now taken into account.


  Commit: a1153cd6fedd4c906a9840987934ca4712e34cb2
      https://github.com/llvm/llvm-project/commit/a1153cd6fedd4c906a9840987934ca4712e34cb2
  Author: Sylvestre Ledru <sylvestre at debian.org>
  Date:   2024-11-21 (Thu, 21 Nov 2024)

  Changed paths:
    M clang-tools-extra/clang-include-fixer/IncludeFixer.cpp
    M clang-tools-extra/clangd/Compiler.cpp
    M clang-tools-extra/clangd/ModulesBuilder.cpp
    M clang-tools-extra/clangd/Preamble.cpp
    M clang-tools-extra/include-cleaner/unittests/RecordTest.cpp
    M clang/include/clang/Frontend/CompilerInstance.h
    M clang/lib/Frontend/CompilerInstance.cpp
    M clang/lib/Frontend/CreateInvocationFromCommandLine.cpp
    M clang/lib/Frontend/Rewrite/FrontendActions.cpp
    M clang/lib/Interpreter/Interpreter.cpp
    M clang/lib/StaticAnalyzer/Frontend/ModelInjector.cpp
    M clang/lib/Testing/TestAST.cpp
    M clang/lib/Tooling/DependencyScanning/DependencyScanningWorker.cpp
    M clang/lib/Tooling/Tooling.cpp
    M clang/tools/c-index-test/core_main.cpp
    M clang/tools/clang-import-test/clang-import-test.cpp
    M clang/tools/clang-installapi/ClangInstallAPI.cpp
    M clang/tools/clang-scan-deps/ClangScanDeps.cpp
    M clang/tools/diagtool/ShowEnabledWarnings.cpp
    M clang/tools/driver/cc1_main.cpp
    M clang/tools/libclang/CIndex.cpp
    M clang/tools/libclang/Indexing.cpp
    M clang/unittests/AST/ExternalASTSourceTest.cpp
    M clang/unittests/CodeGen/TestCompiler.h
    M clang/unittests/Driver/DXCModeTest.cpp
    M clang/unittests/Driver/ToolChainTest.cpp
    M clang/unittests/Frontend/ASTUnitTest.cpp
    M clang/unittests/Frontend/CodeGenActionTest.cpp
    M clang/unittests/Frontend/CompilerInstanceTest.cpp
    M clang/unittests/Frontend/CompilerInvocationTest.cpp
    M clang/unittests/Frontend/FrontendActionTest.cpp
    M clang/unittests/Frontend/OutputStreamTest.cpp
    M clang/unittests/Frontend/PCHPreambleTest.cpp
    M clang/unittests/Frontend/ReparseWorkingDirTest.cpp
    M clang/unittests/Frontend/UtilsTest.cpp
    M clang/unittests/Sema/SemaNoloadLookupTest.cpp
    M clang/unittests/Serialization/ForceCheckFileInputTest.cpp
    M clang/unittests/Serialization/ModuleCacheTest.cpp
    M clang/unittests/Serialization/NoCommentsTest.cpp
    M clang/unittests/Serialization/PreambleInNamedModulesTest.cpp
    M clang/unittests/Serialization/VarDeclConstantInitTest.cpp
    M clang/unittests/Support/TimeProfilerTest.cpp
    M clang/unittests/Tooling/DependencyScanning/DependencyScannerTest.cpp
    M clang/unittests/Tooling/ToolingTest.cpp

  Log Message:
  -----------
  Revert "[NFC] Explicitly pass a VFS when creating DiagnosticsEngine (#115852)"

Reverted for causing:
https://github.com/llvm/llvm-project/issues/117145

This reverts commit bdd10d9d249bd1c2a45e3de56a5accd97e953458.


  Commit: af641ff260f01d6cf9f668e6edbe6a14646d059d
      https://github.com/llvm/llvm-project/commit/af641ff260f01d6cf9f668e6edbe6a14646d059d
  Author: Paul Walker <paul.walker at arm.com>
  Date:   2024-11-21 (Thu, 21 Nov 2024)

  Changed paths:
    M llvm/lib/IR/ConstantFold.cpp
    M llvm/test/Transforms/InstCombine/bitcast.ll
    M llvm/test/Transforms/InstSimplify/bitcast-vector-fold.ll

  Log Message:
  -----------
  [LLVM][IR] Refactor ConstantFold:FoldBitCast to fully support vector ConstantInt/FP. (#116787)

This fixes the code quality issue reported in
https://github.com/llvm/llvm-project/pull/111149.


  Commit: 1425fa915dd4815e10b97373380e049db3a01cd3
      https://github.com/llvm/llvm-project/commit/1425fa915dd4815e10b97373380e049db3a01cd3
  Author: Timm Baeder <tbaeder at redhat.com>
  Date:   2024-11-21 (Thu, 21 Nov 2024)

  Changed paths:
    M clang/lib/AST/ByteCode/Interp.h
    M clang/test/AST/ByteCode/builtin-bit-cast.cpp

  Log Message:
  -----------
  [clang][bytecode] Check FromPtr in BitCastPtr (#117142)


  Commit: d7d6fb1804415b0f3e7f1cc9290bfb3d711cb707
      https://github.com/llvm/llvm-project/commit/d7d6fb1804415b0f3e7f1cc9290bfb3d711cb707
  Author: Andrzej Warzyński <andrzej.warzynski at arm.com>
  Date:   2024-11-21 (Thu, 21 Nov 2024)

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

  Log Message:
  -----------
  [mlir][linalg][nfc] Update pack-dynamic-inner-tile.mlir (#116788)

Following on from #116373, updates "pack-dynamic-inner-tile.mlir" to use
TD Ops for all transformations except for lowering to LLVM.

This is an intermediate step before introducing vectorization.


  Commit: 4872ecf1cc3cb9c4939a9e6210a9b9e9a9032e9f
      https://github.com/llvm/llvm-project/commit/4872ecf1cc3cb9c4939a9e6210a9b9e9a9032e9f
  Author: Paul Walker <paul.walker at arm.com>
  Date:   2024-11-21 (Thu, 21 Nov 2024)

  Changed paths:
    M llvm/lib/IR/Constants.cpp
    M llvm/lib/IR/Instructions.cpp
    M llvm/test/Transforms/InstCombine/extractelement.ll
    M llvm/test/Transforms/InstSimplify/extract-element.ll

  Log Message:
  -----------
  [LLVM][IR] Teach extractelement folds about constant ConstantInt/FP. (#116793)


  Commit: 2e60048641e86b7a414aec51d920bc4e1e3fbeb6
      https://github.com/llvm/llvm-project/commit/2e60048641e86b7a414aec51d920bc4e1e3fbeb6
  Author: Yingwei Zheng <dtcxzyw2333 at gmail.com>
  Date:   2024-11-21 (Thu, 21 Nov 2024)

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

  Log Message:
  -----------
  [InstCombine] Fold zext(X) + C2 pred C -> X + C3 pred C4 (#110511)

Motivating case from
https://github.com/torvalds/linux/blob/9852d85ec9d492ebef56dc5f229416c925758edc/drivers/gpu/drm/drm_edid.c#L5238-L5240:
```
define i1 @src(i8 noundef %v13) {
entry:
  %conv1 = zext i8 %v13 to i32
  %add = add nsw i32 %conv1, -4
  %cmp = icmp ult i32 %add, 3
  %cmp4 = icmp slt i8 %v13, 4
  %cond = select i1 %cmp4, i1 true, i1 %cmp
  ret i1 %cond
}

define i1 @tgt(i8 noundef %v13) {
entry:
  %cmp4 = icmp slt i8 %v13, 7
  ret i1 %cmp4
}
```


  Commit: ddb62d26cb988b6dfee545dcbd7412d297d9b99b
      https://github.com/llvm/llvm-project/commit/ddb62d26cb988b6dfee545dcbd7412d297d9b99b
  Author: c8ef <c8ef at outlook.com>
  Date:   2024-11-21 (Thu, 21 Nov 2024)

  Changed paths:
    M clang/docs/LanguageExtensions.rst
    M clang/docs/ReleaseNotes.rst
    M clang/include/clang/Basic/Builtins.td
    M clang/lib/AST/ExprConstant.cpp
    M clang/test/Sema/constant_builtins_vector.cpp

  Log Message:
  -----------
  [clang] constexpr built-in reduce `or` and `xor` function. (#116976)

Part of #51787.
Follow up of #116822.

This patch adds constexpr support for the built-in reduce `or` and `xor`
functions.


  Commit: aa746495affb3ab94daafcbe09bfb229dd27429f
      https://github.com/llvm/llvm-project/commit/aa746495affb3ab94daafcbe09bfb229dd27429f
  Author: Jie Fu <jiefu at tencent.com>
  Date:   2024-11-21 (Thu, 21 Nov 2024)

  Changed paths:
    M llvm/lib/Transforms/InstCombine/InstCombineCompares.cpp

  Log Message:
  -----------
  [InstCombine] Remove unused variable in InstCombineCompares.cpp (NFC)

/llvm-project/llvm/lib/Transforms/InstCombine/InstCombineCompares.cpp:3190:14:
 error: unused variable 'CmpBW' [-Werror,-Wunused-variable]
    unsigned CmpBW = Ty->getScalarSizeInBits();
             ^
1 error generated.


  Commit: 9cada109115ec67b573b988b5408b2caaaa2abf7
      https://github.com/llvm/llvm-project/commit/9cada109115ec67b573b988b5408b2caaaa2abf7
  Author: Abhina Sreeskantharajan <Abhina.Sreeskantharajan at ibm.com>
  Date:   2024-11-21 (Thu, 21 Nov 2024)

  Changed paths:
    M llvm/lib/Support/InitLLVM.cpp
    M llvm/lib/Support/raw_ostream.cpp

  Log Message:
  -----------
  [SystemZ][z/OS] Add back removed AutoConvert.h headers that were incorrectly identified as unused to fix a build error on z/OS


  Commit: d23449d99c816b2d5b507f8d44f6e324e658e8bc
      https://github.com/llvm/llvm-project/commit/d23449d99c816b2d5b507f8d44f6e324e658e8bc
  Author: Oleksandr T. <oleksandr.tarasiuk at outlook.com>
  Date:   2024-11-21 (Thu, 21 Nov 2024)

  Changed paths:
    M clang/docs/ReleaseNotes.rst
    M clang/lib/Sema/SemaDecl.cpp
    A clang/test/SemaCXX/cxx2b-warn-shadow.cpp

  Log Message:
  -----------
  [Clang] Eliminate shadowing warnings for parameters of explicit object member functions (#114813)

Fixes #95707.


  Commit: d800ea7cb12245f65f886e18545ba83355825246
      https://github.com/llvm/llvm-project/commit/d800ea7cb12245f65f886e18545ba83355825246
  Author: Simon Pilgrim <llvm-dev at redking.me.uk>
  Date:   2024-11-21 (Thu, 21 Nov 2024)

  Changed paths:
    M clang/lib/AST/ByteCode/Interp.cpp
    M llvm/lib/Target/AArch64/AArch64ISelDAGToDAG.cpp

  Log Message:
  -----------
  Adjust MSVC disabled optimization pragmas to be _MSC_VER only (#116704)

Alter the #ifdef values from #110986 and #115292 to use _MSC_VER instead of _WIN32 to stop the pragmas being used on gcc/mingw builds

Noticed by @mstorsjo


  Commit: df9a14d7bbf1180e4f1474254c9d7ed6bcb4ce55
      https://github.com/llvm/llvm-project/commit/df9a14d7bbf1180e4f1474254c9d7ed6bcb4ce55
  Author: Kadir Cetinkaya <kadircet at google.com>
  Date:   2024-11-21 (Thu, 21 Nov 2024)

  Changed paths:
    M clang-tools-extra/clang-include-fixer/IncludeFixer.cpp
    M clang-tools-extra/clangd/Compiler.cpp
    M clang-tools-extra/clangd/ModulesBuilder.cpp
    M clang-tools-extra/clangd/Preamble.cpp
    M clang-tools-extra/include-cleaner/unittests/RecordTest.cpp
    M clang/include/clang/Frontend/CompilerInstance.h
    M clang/lib/Frontend/CompilerInstance.cpp
    M clang/lib/Frontend/CreateInvocationFromCommandLine.cpp
    M clang/lib/Frontend/Rewrite/FrontendActions.cpp
    M clang/lib/Interpreter/Interpreter.cpp
    M clang/lib/StaticAnalyzer/Frontend/ModelInjector.cpp
    M clang/lib/Testing/TestAST.cpp
    M clang/lib/Tooling/DependencyScanning/DependencyScanningWorker.cpp
    M clang/lib/Tooling/Tooling.cpp
    M clang/tools/c-index-test/core_main.cpp
    M clang/tools/clang-import-test/clang-import-test.cpp
    M clang/tools/clang-installapi/ClangInstallAPI.cpp
    M clang/tools/clang-scan-deps/ClangScanDeps.cpp
    M clang/tools/diagtool/ShowEnabledWarnings.cpp
    M clang/tools/driver/cc1_main.cpp
    M clang/tools/libclang/CIndex.cpp
    M clang/tools/libclang/Indexing.cpp
    M clang/unittests/AST/ExternalASTSourceTest.cpp
    M clang/unittests/CodeGen/TestCompiler.h
    M clang/unittests/Driver/DXCModeTest.cpp
    M clang/unittests/Driver/ToolChainTest.cpp
    M clang/unittests/Frontend/ASTUnitTest.cpp
    M clang/unittests/Frontend/CodeGenActionTest.cpp
    M clang/unittests/Frontend/CompilerInstanceTest.cpp
    M clang/unittests/Frontend/CompilerInvocationTest.cpp
    M clang/unittests/Frontend/FrontendActionTest.cpp
    M clang/unittests/Frontend/OutputStreamTest.cpp
    M clang/unittests/Frontend/PCHPreambleTest.cpp
    M clang/unittests/Frontend/ReparseWorkingDirTest.cpp
    M clang/unittests/Frontend/UtilsTest.cpp
    M clang/unittests/Sema/SemaNoloadLookupTest.cpp
    M clang/unittests/Serialization/ForceCheckFileInputTest.cpp
    M clang/unittests/Serialization/ModuleCacheTest.cpp
    M clang/unittests/Serialization/NoCommentsTest.cpp
    M clang/unittests/Serialization/PreambleInNamedModulesTest.cpp
    M clang/unittests/Serialization/VarDeclConstantInitTest.cpp
    M clang/unittests/Support/TimeProfilerTest.cpp
    M clang/unittests/Tooling/DependencyScanning/DependencyScannerTest.cpp
    M clang/unittests/Tooling/ToolingTest.cpp
    M lldb/source/Commands/CommandObjectTarget.cpp
    M lldb/source/Plugins/ExpressionParser/Clang/ClangExpressionParser.cpp
    M lldb/source/Plugins/ExpressionParser/Clang/ClangModulesDeclVendor.cpp

  Log Message:
  -----------
  Reapply "[NFC] Explicitly pass a VFS when creating DiagnosticsEngine (#115852)"

This reverts commit a1153cd6fedd4c906a9840987934ca4712e34cb2 with fixes
to lldb breakages.

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


  Commit: cc70e12ebdacd09d5e4e124df81af6e9626be7d7
      https://github.com/llvm/llvm-project/commit/cc70e12ebdacd09d5e4e124df81af6e9626be7d7
  Author: Nikita Popov <npopov at redhat.com>
  Date:   2024-11-21 (Thu, 21 Nov 2024)

  Changed paths:
    M llvm/lib/IR/Operator.cpp
    M llvm/test/Transforms/InstCombine/gep-custom-dl.ll

  Log Message:
  -----------
  [Operator] Truncate large type sizes in GEP calculations

If the size is larger than the index width, truncate it instead
of asserting.

Longer-term we should consider rejecting types larger than the
index size in the verifier, though this is probably tricky in
practice (it's address space dependent, and types are owned by
the context, not the module).

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


  Commit: 86fd4d4b5b95d58844e521cf7319965eea7d8d0b
      https://github.com/llvm/llvm-project/commit/86fd4d4b5b95d58844e521cf7319965eea7d8d0b
  Author: Yuxuan Chen <ych at fb.com>
  Date:   2024-11-21 (Thu, 21 Nov 2024)

  Changed paths:
    M llvm/lib/Transforms/Coroutines/CoroAnnotationElide.cpp
    A llvm/test/Transforms/Coroutines/gh114487-crash-in-cgscc-2.ll

  Log Message:
  -----------
  [Coroutines] Fix another crash related to CallGraph update (#116756)

The previous fix
https://github.com/llvm/llvm-project/commit/c6414970d76ad79168fe7ec3c4400c5a5ca89d2d
failed to consider the fact that the call graph update doesn't make any
sense if the caller node hasn't been populated in the LazyCallGraph yet.
This patch changes to skip this CG update step when that happens.


  Commit: 27923f7e1ab6fd2239835722f3cc2b6c7a46027c
      https://github.com/llvm/llvm-project/commit/27923f7e1ab6fd2239835722f3cc2b6c7a46027c
  Author: Peter Smith <peter.smith at arm.com>
  Date:   2024-11-21 (Thu, 21 Nov 2024)

  Changed paths:
    M lld/ELF/Thunks.cpp
    M lld/test/ELF/aarch64-thunk-bti-multipass.s

  Log Message:
  -----------
  [LLD][AArch64][ARM] Delay adding long thunk mapping symbols (#116975)

When we create a thunk we don't know whether it will be short or long.
Move the emission of the long thunk mapping symbol to when we transition
to a long thunk. This improves disassembly and binary analysis as tools
like BOLT identify thunks by disassembly.

This removes a FIXME added in #108989 aarch64-thunk-bti-multipass.s
which had a corrupt disassembly due to missing mapping symbols.


  Commit: 963b8e36bb3443ab858b83b65ec9c9723b263bd0
      https://github.com/llvm/llvm-project/commit/963b8e36bb3443ab858b83b65ec9c9723b263bd0
  Author: Chris Apple <cja-private at pm.me>
  Date:   2024-11-21 (Thu, 21 Nov 2024)

  Changed paths:
    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

  Log Message:
  -----------
  [rtsan] Add sched_yield interceptor (#117084)

This calls the system calls switch_pri and sys_ulock_wait. It also is
one of the more straightforwardly rt-unsafe, in that it gives up this
thread's timeslice.


  Commit: 595e484c0808f2410fa7f1ac4d630c1871c447fb
      https://github.com/llvm/llvm-project/commit/595e484c0808f2410fa7f1ac4d630c1871c447fb
  Author: Chris Apple <cja-private at pm.me>
  Date:   2024-11-21 (Thu, 21 Nov 2024)

  Changed paths:
    M compiler-rt/lib/rtsan/rtsan.cpp
    M compiler-rt/lib/rtsan/rtsan_flags.inc
    M compiler-rt/test/rtsan/deduplicate_errors.cpp

  Log Message:
  -----------
  [rtsan] Add option to allow printing of duplicate stacks (suppress_equal_stacks) (#117069)

Following the example of tsan, where we took the name

This would allow users to determine if they want to see ALL output from
rtsan.

Additionally, remove the UNLIKELY hint, as it is now up to the flag whether or
not it is likely that we go through this conditional.


  Commit: a12e79a85fc18d535c58f2c82d2b2e80586e43d7
      https://github.com/llvm/llvm-project/commit/a12e79a85fc18d535c58f2c82d2b2e80586e43d7
  Author: Chris Apple <cja-private at pm.me>
  Date:   2024-11-21 (Thu, 21 Nov 2024)

  Changed paths:
    M clang/docs/RealtimeSanitizer.rst

  Log Message:
  -----------
  [rtsan] NFC: Update docs with customizable functions (#117086)


  Commit: 95f4aa44ae660c649560fd32868fef14d7925551
      https://github.com/llvm/llvm-project/commit/95f4aa44ae660c649560fd32868fef14d7925551
  Author: smanna12 <soumi.manna at intel.com>
  Date:   2024-11-21 (Thu, 21 Nov 2024)

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

  Log Message:
  -----------
   [clang][bytecode] Add assert to ensure correct state restoration in CallBI function (#115496)

This commit adds an assert statement to the CallBI function to ensure
that the interpreter state (S.Current) is correctly reset to the
previous frame (FrameBefore) after InterpretBuiltin returns true. This
helps catch any potential issues during development and debugging.


  Commit: d6fc7d3ab186fee1c95c00992206e0914cb25f42
      https://github.com/llvm/llvm-project/commit/d6fc7d3ab186fee1c95c00992206e0914cb25f42
  Author: Jay Foad <jay.foad at amd.com>
  Date:   2024-11-21 (Thu, 21 Nov 2024)

  Changed paths:
    M libc/src/string/string_utils.h
    M libcxx/include/__chrono/formatter.h
    M libcxx/include/__cxx03/__chrono/formatter.h
    M llvm/include/llvm/CodeGen/MachineFunction.h
    M llvm/lib/Frontend/Offloading/OffloadWrapper.cpp
    M llvm/lib/Target/AArch64/AArch64MIPeepholeOpt.cpp
    M llvm/lib/Transforms/Utils/Local.cpp
    M llvm/test/tools/llvm-objcopy/ELF/Inputs/ihex-elf-segments.yaml

  Log Message:
  -----------
  Fix typo "intead"


  Commit: 685e41e7774386b78c9527ebf70d3552aef383d7
      https://github.com/llvm/llvm-project/commit/685e41e7774386b78c9527ebf70d3552aef383d7
  Author: Timm Baeder <tbaeder at redhat.com>
  Date:   2024-11-21 (Thu, 21 Nov 2024)

  Changed paths:
    M clang/docs/ReleaseNotes.rst
    M clang/lib/AST/ExprConstant.cpp
    M clang/test/CXX/expr/expr.const/p2-0x.cpp

  Log Message:
  -----------
  [clang][ExprConst] Reject field access with nullptr base (#113885)

Reject them if the base is null, not only if the entire pointer is null.

Fixes #113821


  Commit: 8bfa87cadffd0e2148fa6bb500dd48777cc631f2
      https://github.com/llvm/llvm-project/commit/8bfa87cadffd0e2148fa6bb500dd48777cc631f2
  Author: Jonas Devlieghere <jonas at devlieghere.com>
  Date:   2024-11-21 (Thu, 21 Nov 2024)

  Changed paths:
    M llvm/docs/ReleaseNotes.md

  Log Message:
  -----------
  Release note lldb completion improvements (#117058)


  Commit: e8b5c009b68715434bcd4942bab08ca4b0a5abbb
      https://github.com/llvm/llvm-project/commit/e8b5c009b68715434bcd4942bab08ca4b0a5abbb
  Author: Christopher McGirr <7071833+chrsmcgrr at users.noreply.github.com>
  Date:   2024-11-21 (Thu, 21 Nov 2024)

  Changed paths:
    M mlir/include/mlir/Dialect/SPIRV/IR/SPIRVBase.td

  Log Message:
  -----------
  [mlir][spirv]: Add Broadcom Vendor (#116600)

This PR is simply adding the Broadcom vendor ID to the SPIRV list. In
order to enable the use of this vendor ID in a SPIRV pipeline for the
Videocore GPUs.


  Commit: 7b61ff2c263b7122c23783385662f6ff67764352
      https://github.com/llvm/llvm-project/commit/7b61ff2c263b7122c23783385662f6ff67764352
  Author: smanna12 <soumi.manna at intel.com>
  Date:   2024-11-21 (Thu, 21 Nov 2024)

  Changed paths:
    M clang/lib/CodeGen/CGBuiltin.cpp
    M clang/lib/CodeGen/CGExpr.cpp
    M clang/lib/Sema/AnalysisBasedWarnings.cpp
    M clang/lib/Sema/SemaExprMember.cpp

  Log Message:
  -----------
  [Clang] Prevent null dereferences (#115502)

This commit addresses several Static Analyzer issues related to
potential null dereference by replacing dyn_cast<> with cast<> and
getAs<> with castAs<> in various parts of the codes.

The cast function asserts that the cast is valid, ensuring that the
pointer is not null and preventing null dereference errors.

The changes are made in the following files:
CGBuiltin.cpp: Ensure vector types have exactly 3 elements.
CGExpr.cpp: Ensure member declarations are field declarations.
AnalysisBasedWarnings.cpp: Ensure operations are member expressions.
SemaExprMember.cpp: Ensure base types are extended vector types.

These changes ensure that the types are correctly cast and prevent
potential null dereference issues, improving the robustness and safety
of the code.


  Commit: 0cb1cca055596f87a101c488b3aeb26797296851
      https://github.com/llvm/llvm-project/commit/0cb1cca055596f87a101c488b3aeb26797296851
  Author: Nikita Popov <npopov at redhat.com>
  Date:   2024-11-21 (Thu, 21 Nov 2024)

  Changed paths:
    M llvm/lib/Target/XCore/XCoreISelLowering.cpp

  Log Message:
  -----------
  [XCore] Use getSignedConstant()


  Commit: 5d32a1409df0df39357557df0363196eba08f0fc
      https://github.com/llvm/llvm-project/commit/5d32a1409df0df39357557df0363196eba08f0fc
  Author: Sergei Barannikov <barannikov88 at gmail.com>
  Date:   2024-11-21 (Thu, 21 Nov 2024)

  Changed paths:
    M llvm/lib/Target/ARM/ARMISelLowering.cpp
    M llvm/lib/Target/ARM/ARMInstrVFP.td
    M llvm/lib/Target/ARM/ARMRegisterInfo.td
    M llvm/test/CodeGen/ARM/fcmp-xo.ll
    M llvm/test/CodeGen/ARM/fp16-instructions.ll
    M llvm/test/CodeGen/ARM/fp16-vminmaxnm-safe.ll
    M llvm/test/CodeGen/ARM/fptosi-sat-scalar.ll
    M llvm/test/CodeGen/ARM/fptoui-sat-scalar.ll
    M llvm/test/CodeGen/ARM/minnum-maxnum-intrinsics.ll
    M llvm/test/CodeGen/ARM/select.ll
    M llvm/test/CodeGen/Thumb2/mve-fmas.ll
    M llvm/test/CodeGen/Thumb2/mve-fptosi-sat-vector.ll
    M llvm/test/CodeGen/Thumb2/mve-fptoui-sat-vector.ll
    M llvm/test/CodeGen/Thumb2/mve-pred-ext.ll
    M llvm/test/CodeGen/Thumb2/mve-vcmpf.ll
    M llvm/test/CodeGen/Thumb2/mve-vcmpfr.ll
    M llvm/test/CodeGen/Thumb2/mve-vcmpfz.ll

  Log Message:
  -----------
  Revert "[ARM] Stop gluing FP comparisons to FMSTAT" (#117175)

Reverts llvm/llvm-project#116676

Reverting per post-commit feedback (causes miscompilation errors and/or
assertion failures).


  Commit: 5889f6845d181348b83a5c18e517192ffdbd6fd0
      https://github.com/llvm/llvm-project/commit/5889f6845d181348b83a5c18e517192ffdbd6fd0
  Author: Ashley Coleman <ascoleman at microsoft.com>
  Date:   2024-11-21 (Thu, 21 Nov 2024)

  Changed paths:
    M llvm/lib/Target/SPIRV/SPIRVInstructionSelector.cpp

  Log Message:
  -----------
  [NFC][SPIRV] Cleanup selectOpWithSrc functions (#117077)

As a follow up request from
https://github.com/llvm/llvm-project/pull/111082#discussion_r1811132876
the following non functional changes have been make
- `selectNAryOpWithSrcs` has been renamed to `selectOpWithSrcs`
- Calls to `selectUnOpWithSrc` have been replaced with
`selectOpWithSrcs`
- `selectUnOpWithSrc`  has been deleted


  Commit: 4b5a8d6835897477873242ef1ee529d00dedd9a1
      https://github.com/llvm/llvm-project/commit/4b5a8d6835897477873242ef1ee529d00dedd9a1
  Author: Jonas Devlieghere <jonas at devlieghere.com>
  Date:   2024-11-21 (Thu, 21 Nov 2024)

  Changed paths:
    M lldb/include/lldb/Utility/CompletionRequest.h

  Log Message:
  -----------
  [lldb] Make sure completions don't end with newlines (#117054)

The logic that prints completions and their descriptions assumes neither
the completion itself nor the description ends with a newline. I
considered making this an assert, but decided against it as completions
can indirectly come from user input (e.g. oddly crafted names). Instead,
avoid the potential for mistakes by defensively stripping them.


  Commit: 32da1fd8c7d45d5209c6c781910c51940779ec52
      https://github.com/llvm/llvm-project/commit/32da1fd8c7d45d5209c6c781910c51940779ec52
  Author: Brox Chen <guochen2 at amd.com>
  Date:   2024-11-21 (Thu, 21 Nov 2024)

  Changed paths:
    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

  Log Message:
  -----------
  [AMDGPU][True16][MC] update vop3 mc test with update script (#116859)

This is a NFC change. Update gfx11/gfx12 vop3 test file with the latest
update_mc_test_script.py.

This is also preparing for the up-coming true16 change


  Commit: 915d588b1a4762685b788020beadcd7aad5f50a0
      https://github.com/llvm/llvm-project/commit/915d588b1a4762685b788020beadcd7aad5f50a0
  Author: Ilia Kuklin <ikuklin at accesssoftek.com>
  Date:   2024-11-21 (Thu, 21 Nov 2024)

  Changed paths:
    M lldb/source/Expression/DWARFExpression.cpp
    A lldb/test/Shell/SymbolFile/DWARF/DW_OP_piece-O3.c

  Log Message:
  -----------
  Reapply "[lldb] Convert file address to load address when reading memory for DW_OP_piece" (#117168)

This commit fixes the test so that the breakpoint is triggered correctly
after `array` usage on AArch64.

Reapplies #116411 with a fix.


  Commit: 9424f3dcc5a3f1dada99831b87b0b502a7667d48
      https://github.com/llvm/llvm-project/commit/9424f3dcc5a3f1dada99831b87b0b502a7667d48
  Author: weiguozhi <57237827+weiguozhi at users.noreply.github.com>
  Date:   2024-11-21 (Thu, 21 Nov 2024)

  Changed paths:
    M llvm/lib/Transforms/InstCombine/InstCombineVectorOps.cpp
    A llvm/test/Transforms/InstCombine/fold-aggregate-reconstruction.ll
    M llvm/test/Transforms/InstCombine/merging-multiple-stores-into-successor.ll
    M llvm/test/Transforms/InstCombine/phi-aware-aggregate-reconstruction.ll

  Log Message:
  -----------
  [InstCombine] Extend folding of aggregate construction to cases when source aggregates are partially available (#100828)

Function foldAggregateConstructionIntoAggregateReuse can fold
  insertvalue(phi(extractvalue(src1), extractvalue(src2)))
into
  phi(src1, src2)
when we can find source aggregates in all predecessors.

This patch extends it to handle following case
  insertvalue(phi(extractvalue(src1), elm2))
into
  phi(src1, insertvalue(elm2))
with the condition that the predecessor without source aggregate has
only one successor.


  Commit: d936c0cef0bddc577c9615ac46537413b92b19ee
      https://github.com/llvm/llvm-project/commit/d936c0cef0bddc577c9615ac46537413b92b19ee
  Author: smanna12 <soumi.manna at intel.com>
  Date:   2024-11-21 (Thu, 21 Nov 2024)

  Changed paths:
    M llvm/lib/Frontend/OpenMP/OMPIRBuilder.cpp

  Log Message:
  -----------
  [Clang] [OMPIRBuilder] Prevent Null Pointer Dereference in OpenMP IR Builder (#115506)

This commit addresses Static Analyzer issues related to potential null
dereference by replacing dyn_cast<> with cast<> in OMPIRBuilder.cpp to
ensure that ArgStructType is not null before it is used, improving the
stability and reliability of the code.


  Commit: 3535ea0ba6c6fda69acaf215d7e9e93045466b50
      https://github.com/llvm/llvm-project/commit/3535ea0ba6c6fda69acaf215d7e9e93045466b50
  Author: Nikolas Klauser <nikolasklauser at berlin.de>
  Date:   2024-11-21 (Thu, 21 Nov 2024)

  Changed paths:
    M libcxx/test/configs/cmake-bridge.cfg.in

  Log Message:
  -----------
  [libc++] Fix linking benchmarks (#116495)

On my system the library path ends with `lib64` instead of `lib`.


  Commit: 68ca2ae81be374c4c40a5e502222f4e99cc3cc9f
      https://github.com/llvm/llvm-project/commit/68ca2ae81be374c4c40a5e502222f4e99cc3cc9f
  Author: Brox Chen <guochen2 at amd.com>
  Date:   2024-11-21 (Thu, 21 Nov 2024)

  Changed paths:
    M llvm/test/MC/AMDGPU/gfx11_asm_vop2.s
    M llvm/test/MC/AMDGPU/gfx11_asm_vop2_dpp16.s
    M llvm/test/MC/AMDGPU/gfx11_asm_vop2_dpp8.s
    M llvm/test/MC/AMDGPU/gfx11_asm_vop3_dpp16_from_vop2.s
    M llvm/test/MC/AMDGPU/gfx11_asm_vop3_dpp8_from_vop2.s
    M llvm/test/MC/AMDGPU/gfx11_asm_vop3_from_vop2.s
    M llvm/test/MC/AMDGPU/gfx12_asm_vop2.s
    M llvm/test/MC/AMDGPU/gfx12_asm_vop2_dpp16.s
    M llvm/test/MC/AMDGPU/gfx12_asm_vop2_dpp8.s
    M llvm/test/MC/AMDGPU/gfx12_asm_vop3_from_vop2.s
    M llvm/test/MC/AMDGPU/gfx12_asm_vop3_from_vop2_dpp16.s
    M llvm/test/MC/AMDGPU/gfx12_asm_vop3_from_vop2_dpp8.s

  Log Message:
  -----------
  [AMDGPU][True16][MC] update vop2 mc test with update script (#116860)

This is a NFC change. Update gfx11/gfx12 vop2 test file with the latest
update_mc_test_script.py.

This is also preparing for the up-coming true16 change


  Commit: 002adfa46ec8b2379884c6bc113fd5d742a5cc7a
      https://github.com/llvm/llvm-project/commit/002adfa46ec8b2379884c6bc113fd5d742a5cc7a
  Author: Brox Chen <guochen2 at amd.com>
  Date:   2024-11-21 (Thu, 21 Nov 2024)

  Changed paths:
    M llvm/test/MC/AMDGPU/gfx11_asm_vop3_dpp16_from_vopc.s
    M llvm/test/MC/AMDGPU/gfx11_asm_vop3_dpp16_from_vopcx.s
    M llvm/test/MC/AMDGPU/gfx11_asm_vop3_dpp8_from_vopc.s
    M llvm/test/MC/AMDGPU/gfx11_asm_vop3_dpp8_from_vopcx.s
    M llvm/test/MC/AMDGPU/gfx11_asm_vop3_from_vopc.s
    M llvm/test/MC/AMDGPU/gfx11_asm_vop3_from_vopcx.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_vopcx.s
    M llvm/test/MC/AMDGPU/gfx11_asm_vopcx_dpp16.s
    M llvm/test/MC/AMDGPU/gfx11_asm_vopcx_dpp8.s
    M llvm/test/MC/AMDGPU/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_vop3cx.s
    M llvm/test/MC/AMDGPU/gfx12_asm_vop3cx_dpp16.s
    M llvm/test/MC/AMDGPU/gfx12_asm_vop3cx_dpp8.s
    M llvm/test/MC/AMDGPU/gfx12_asm_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_vopcx.s
    M llvm/test/MC/AMDGPU/gfx12_asm_vopcx_dpp16.s
    M llvm/test/MC/AMDGPU/gfx12_asm_vopcx_dpp8.s

  Log Message:
  -----------
  [AMDGPU][True16][MC] update vopc mc test with update script (#116873)

This is a NFC change. Update gfx11/gfx12 vopc test file with the latest
update_mc_test_script.py.

This is also preparing for the up-coming true16 change


  Commit: 01c9a14ccf98dba257bb36d9e9242b0bf5cdcaf2
      https://github.com/llvm/llvm-project/commit/01c9a14ccf98dba257bb36d9e9242b0bf5cdcaf2
  Author: Matt Arsenault <Matthew.Arsenault at amd.com>
  Date:   2024-11-21 (Thu, 21 Nov 2024)

  Changed paths:
    M clang/include/clang/Basic/BuiltinsAMDGPU.def
    M clang/lib/CodeGen/CGBuiltin.cpp
    M clang/test/CodeGenOpenCL/builtins-amdgcn-mfma.cl
    M clang/test/SemaOpenCL/builtins-amdgcn-error-gfx950-param.cl
    M clang/test/SemaOpenCL/builtins-amdgcn-error-gfx950.cl
    M llvm/docs/AMDGPUUsage.rst
    M llvm/include/llvm/IR/IntrinsicsAMDGPU.td
    M llvm/lib/Target/AMDGPU/AMDGPUGISel.td
    M llvm/lib/Target/AMDGPU/AMDGPUInstCombineIntrinsic.cpp
    M llvm/lib/Target/AMDGPU/AMDGPUInstructionSelector.cpp
    M llvm/lib/Target/AMDGPU/AMDGPUInstructionSelector.h
    M llvm/lib/Target/AMDGPU/AMDGPUInstructions.td
    M llvm/lib/Target/AMDGPU/AMDGPURegisterBankInfo.cpp
    M llvm/lib/Target/AMDGPU/Disassembler/AMDGPUDisassembler.cpp
    M llvm/lib/Target/AMDGPU/Disassembler/AMDGPUDisassembler.h
    M llvm/lib/Target/AMDGPU/MCTargetDesc/AMDGPUMCAsmInfo.cpp
    M llvm/lib/Target/AMDGPU/SIDefines.h
    M llvm/lib/Target/AMDGPU/SIISelLowering.cpp
    M llvm/lib/Target/AMDGPU/SIInstrFormats.td
    M llvm/lib/Target/AMDGPU/SIInstrInfo.h
    M llvm/lib/Target/AMDGPU/SIInstrInfo.td
    M llvm/lib/Target/AMDGPU/SIRegisterInfo.td
    M llvm/lib/Target/AMDGPU/Utils/AMDGPUBaseInfo.cpp
    M llvm/lib/Target/AMDGPU/Utils/AMDGPUBaseInfo.h
    M llvm/lib/Target/AMDGPU/VOP3PInstructions.td
    M llvm/lib/Target/AMDGPU/VOPInstructions.td
    M llvm/test/Analysis/UniformityAnalysis/AMDGPU/intrinsics.ll
    A llvm/test/CodeGen/AMDGPU/llvm.amdgcn.mfma.scale.f32.16x16x128.f8f6f4.ll
    A llvm/test/CodeGen/AMDGPU/llvm.amdgcn.mfma.scale.f32.32x32x64.f8f6f4.ll
    M llvm/test/MC/AMDGPU/mai-gfx950.s
    M llvm/test/MC/Disassembler/AMDGPU/gfx950_mai.txt
    A llvm/test/MC/Disassembler/AMDGPU/gfx950_vop3px2.txt
    M llvm/test/tools/llvm-mca/AMDGPU/gfx950.s

  Log Message:
  -----------
  AMDGPU: Define v_mfma_f32_{16x16x128|32x32x64}_f8f6f4 instructions (#116723)

These use a new VOP3PX encoding for the v_mfma_scale_* instructions,
which bundles the pre-scale v_mfma_ld_scale_b32. None of the modifiers
are supported yet (op_sel, neg or clamp).

I'm not sure the intrinsic should really expose op_sel (or any of the
others). If I'm reading the documentation correctly, we should be able
to just have the raw scale operands and auto-match op_sel to byte
extract patterns.

The op_sel syntax also seems extra horrible in this usage, especially with the
usual assumed op_sel_hi=-1 behavior.


  Commit: a4f835c520fcf8c6df8be96fad931fc6f4a2b1e4
      https://github.com/llvm/llvm-project/commit/a4f835c520fcf8c6df8be96fad931fc6f4a2b1e4
  Author: Zahira Ammarguellat <zahira.ammarguellat at intel.com>
  Date:   2024-11-21 (Thu, 21 Nov 2024)

  Changed paths:
    M clang-tools-extra/clang-tidy/modernize/UseStdPrintCheck.cpp

  Log Message:
  -----------
  [clang-tidy][NFC] Fix uninitialized pointer field. (#117173)

Non-static class member `PP` is not initialized in this constructor nor
in any functions that it calls.


  Commit: 8f1d1e3cd3fd8cb13512a94af6b2a56dfd807f1e
      https://github.com/llvm/llvm-project/commit/8f1d1e3cd3fd8cb13512a94af6b2a56dfd807f1e
  Author: Matt Arsenault <Matthew.Arsenault at amd.com>
  Date:   2024-11-21 (Thu, 21 Nov 2024)

  Changed paths:
    M llvm/lib/Target/AMDGPU/SIInstrInfo.td
    M llvm/lib/Target/AMDGPU/VOP3PInstructions.td
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.mfma.scale.f32.16x16x128.f8f6f4.ll
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.mfma.scale.f32.32x32x64.f8f6f4.ll

  Log Message:
  -----------
  AMDGPU: Optimize mfma_scale intrinsics with 0 inputs (#116724)

We can use the unscaled form of the instruction if we know the scale
factors are both 0.


  Commit: 76b24640e5dc5716f6fac8ef80dac18757753113
      https://github.com/llvm/llvm-project/commit/76b24640e5dc5716f6fac8ef80dac18757753113
  Author: Matt Arsenault <Matthew.Arsenault at amd.com>
  Date:   2024-11-21 (Thu, 21 Nov 2024)

  Changed paths:
    M clang/include/clang/Basic/BuiltinsAMDGPU.def
    M clang/test/CodeGenOpenCL/builtins-amdgcn-mfma.cl
    M clang/test/SemaOpenCL/builtins-amdgcn-error-gfx950-param.cl
    M clang/test/SemaOpenCL/builtins-amdgcn-error-gfx950.cl
    M llvm/include/llvm/IR/IntrinsicsAMDGPU.td
    M llvm/lib/Target/AMDGPU/AMDGPURegisterBankInfo.cpp
    M llvm/lib/Target/AMDGPU/VOP3PInstructions.td
    M llvm/test/Analysis/UniformityAnalysis/AMDGPU/intrinsics.ll
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.mfma.gfx950.ll
    M llvm/test/MC/AMDGPU/mai-gfx950.s
    M llvm/test/MC/Disassembler/AMDGPU/gfx950_mai.txt
    M llvm/test/tools/llvm-mca/AMDGPU/gfx950.s

  Log Message:
  -----------
  AMDGPU: Add v_mfma_i32_16x16x64_i8 for gfx950 (#116728)


  Commit: 0a6e8741ddb4ed8cfb4bf92df863665197be2ccc
      https://github.com/llvm/llvm-project/commit/0a6e8741ddb4ed8cfb4bf92df863665197be2ccc
  Author: Matt Arsenault <Matthew.Arsenault at amd.com>
  Date:   2024-11-21 (Thu, 21 Nov 2024)

  Changed paths:
    M clang/test/CodeGenOpenCL/builtins-amdgcn-mfma.cl
    M llvm/lib/Target/AMDGPU/AMDGPUInstCombineIntrinsic.cpp
    A llvm/test/Transforms/InstCombine/AMDGPU/mfma-scale.ll

  Log Message:
  -----------
  AMDGPU: Shrink used number of registers for mfma scale based on format (#117047)

Currently the builtins assume you are using an 8-bit format that requires
an 8 element vector. We can shrink the number of registers if the format
requires 4 or 6.


  Commit: f4ed79b160cbd2ec537304f095a62750078a0254
      https://github.com/llvm/llvm-project/commit/f4ed79b160cbd2ec537304f095a62750078a0254
  Author: Matt Arsenault <Matthew.Arsenault at amd.com>
  Date:   2024-11-21 (Thu, 21 Nov 2024)

  Changed paths:
    M clang/include/clang/Basic/BuiltinsAMDGPU.def
    M clang/test/CodeGenOpenCL/builtins-amdgcn-mfma.cl
    M clang/test/SemaOpenCL/builtins-amdgcn-error-gfx950-param.cl
    M clang/test/SemaOpenCL/builtins-amdgcn-error-gfx950.cl
    M llvm/include/llvm/IR/IntrinsicsAMDGPU.td
    M llvm/lib/Target/AMDGPU/AMDGPURegisterBankInfo.cpp
    M llvm/lib/Target/AMDGPU/VOP3PInstructions.td
    M llvm/test/Analysis/UniformityAnalysis/AMDGPU/intrinsics.ll
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.mfma.gfx950.ll
    M llvm/test/MC/AMDGPU/mai-gfx950.s
    M llvm/test/MC/Disassembler/AMDGPU/gfx950_mai.txt
    M llvm/test/tools/llvm-mca/AMDGPU/gfx950.s

  Log Message:
  -----------
  AMDGPU: Add v_mfma_i32_32x32x32_i8 for gfx950 (#117052)


  Commit: 7f19b1e49c172772390a3c2e71631115da80af4b
      https://github.com/llvm/llvm-project/commit/7f19b1e49c172772390a3c2e71631115da80af4b
  Author: Florian Hahn <flo at fhahn.com>
  Date:   2024-11-21 (Thu, 21 Nov 2024)

  Changed paths:
    M llvm/test/Transforms/LICM/hoist-metadata.ll

  Log Message:
  -----------
  [LICM] Add test showing incorrectly setting alasing metadata.

The new test illustrates a case where LICM introduces UB-implying
metadata on speculated loads that may not execute in the original
version.

The aliasing metadata behavior has been clarified in
 https://github.com/llvm/llvm-project/pull/116220.


  Commit: 6f68d039a5bdf11f6d7c84bed8d5a0da5950daef
      https://github.com/llvm/llvm-project/commit/6f68d039a5bdf11f6d7c84bed8d5a0da5950daef
  Author: Arthur Eubanks <aeubanks at google.com>
  Date:   2024-11-21 (Thu, 21 Nov 2024)

  Changed paths:
    M llvm/lib/Analysis/MemoryDependenceAnalysis.cpp
    M llvm/test/Analysis/MemoryDependenceAnalysis/load-size-cache.ll
    M llvm/test/Transforms/GVN/PRE/rle.ll

  Log Message:
  -----------
  [MemDepAnalysis] Don't reuse NonLocalPointerDeps cache if memory location size differs (#116936)

As seen in #111585, we can end up using a previous cache entry where the
size was too large and was UB.

Compile time impact:
https://llvm-compile-time-tracker.com/compare.php?from=6a863f7e2679a60f2f38ae6a920d0b6e1a2c1690&to=faccf4e1f47fcd5360a438de2a56d02b770ad498&stat=instructions:u.

Fixes #111585.


  Commit: 0ac889b6b0bd467cf1ecbc26e80959badcdd5b55
      https://github.com/llvm/llvm-project/commit/0ac889b6b0bd467cf1ecbc26e80959badcdd5b55
  Author: Krzysztof Drewniak <Krzysztof.Drewniak at amd.com>
  Date:   2024-11-21 (Thu, 21 Nov 2024)

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

  Log Message:
  -----------
  [mlir][Affine] Extend linearize/delinearize cancelation to partial tails (#116872)

xisting patterns would cancel out the linearize_index /
delinearize_index pairs that had the exact same basis, like

    %0 = affine.linearize_index [%w, %x, %y, %z] by (X, Y, Z) : index
    %1:4 = affine.delinearize_index %0 into (W, X, Y, Z) : index, ...

This commit extends the canonicalization to handle instances where the
entire basis doesn't match, as in

    %0 = affine.linearize_index [%w, %x, %y, %z] by (X, Y, Z) : index
    %1:3 = affine.delinearize_index %0 into (XY, Y, Z) : index, ...

where we can replace the last two results of the delinearize_index
operation with the last two inputs of the linearize_index, creating a
more canonical (fewer total computations to perform) result.


  Commit: 9e8200c7184431e0dd0e235b70cabfbe8bfe351d
      https://github.com/llvm/llvm-project/commit/9e8200c7184431e0dd0e235b70cabfbe8bfe351d
  Author: Krzysztof Drewniak <Krzysztof.Drewniak at amd.com>
  Date:   2024-11-21 (Thu, 21 Nov 2024)

  Changed paths:
    M mlir/include/mlir/Dialect/Affine/LoopUtils.h
    M mlir/include/mlir/Dialect/Affine/Passes.h
    M mlir/include/mlir/Dialect/Affine/Passes.td
    M mlir/include/mlir/Dialect/Affine/Transforms/Transforms.h
    M mlir/lib/Dialect/Affine/Transforms/AffineExpandIndexOps.cpp
    A mlir/lib/Dialect/Affine/Transforms/AffineExpandIndexOpsAsAffine.cpp
    M mlir/lib/Dialect/Affine/Transforms/CMakeLists.txt
    M mlir/lib/Dialect/Affine/Utils/LoopUtils.cpp
    M mlir/test/Conversion/AffineToStandard/lower-affine.mlir
    A mlir/test/Dialect/Affine/affine-expand-index-ops-as-affine.mlir
    M mlir/test/Dialect/Affine/affine-expand-index-ops.mlir

  Log Message:
  -----------
  [mlir][Affine] Expand affine.[de]linearize_index without affine maps (#116703)

As the documentation for -affine-expand-index-ops says,
affine.delinearize_index and affine.linearize_index don't need to be
expanded into the affine dialect.

Expanding these operations into affine.apply operations can introduce
unwanted "simplifications", mainly translations of `(dN mod C + ...)` to
`(dN + ... - (dN floordiv C) * C)` and similar, which create worse
generated code. This commit resolves this issue by expanding out
affine.delanierize_index directly.

In addition, the lowering of affine.linearize_index now sorts the
operands by loop-independence, allowing an increased amount of
loop-invariant code motion after lowering.

The old behavior is preserved as -expand-affine-index-ops-as-affine but
is no longer the default


  Commit: cdd1e27124b7b0d768a4d68a098f4660e289dc65
      https://github.com/llvm/llvm-project/commit/cdd1e27124b7b0d768a4d68a098f4660e289dc65
  Author: Craig Topper <craig.topper at sifive.com>
  Date:   2024-11-21 (Thu, 21 Nov 2024)

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

  Log Message:
  -----------
  [X86][RISCV] Don't emit JumpTableDebugInfo unless triple is OSBinFormatCOFF. (#117083)

This makes the override in RISCV and X86 consistent with the base class
implementation of expandIndirectJTBranch.


  Commit: 6735c5ebd414b4f0a28dfc6549187c06c67c1e32
      https://github.com/llvm/llvm-project/commit/6735c5ebd414b4f0a28dfc6549187c06c67c1e32
  Author: Ashley Coleman <ascoleman at microsoft.com>
  Date:   2024-11-21 (Thu, 21 Nov 2024)

  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
    A clang/test/CodeGenHLSL/builtins/WaveActiveAnyTrue.hlsl
    A clang/test/SemaHLSL/BuiltIns/WaveActiveAnyTrue-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/SPIRV/SPIRVInstructionSelector.cpp
    M llvm/lib/Target/SPIRV/SPIRVModuleAnalysis.cpp
    A llvm/test/CodeGen/DirectX/WaveActiveAnyTrue.ll
    A llvm/test/CodeGen/SPIRV/hlsl-intrinsics/WaveActiveAnyTrue.ll

  Log Message:
  -----------
  [HLSL] Implement WaveActiveAnyTrue intrinsic (#115902)

Resolves https://github.com/llvm/llvm-project/issues/99160

- [x]  Implement `WaveActiveAnyTrue` clang builtin,
- [x]  Link `WaveActiveAnyTrue` clang builtin with `hlsl_intrinsics.h`
- [x] Add sema checks for `WaveActiveAnyTrue` to
`CheckHLSLBuiltinFunctionCall` in `SemaChecking.cpp`
- [x] Add codegen for `WaveActiveAnyTrue` to `EmitHLSLBuiltinExpr` in
`CGBuiltin.cpp`
- [x] Add codegen tests to
`clang/test/CodeGenHLSL/builtins/WaveActiveAnyTrue.hlsl`
- [x] Add sema tests to
`clang/test/SemaHLSL/BuiltIns/WaveActiveAnyTrue-errors.hlsl`
- [x] Create the `int_dx_WaveActiveAnyTrue` intrinsic in
`IntrinsicsDirectX.td`
- [x] Create the `DXILOpMapping` of `int_dx_WaveActiveAnyTrue` to `113`
in `DXIL.td`
- [x] Create the `WaveActiveAnyTrue.ll` and
`WaveActiveAnyTrue_errors.ll` tests in `llvm/test/CodeGen/DirectX/`
- [x] Create the `int_spv_WaveActiveAnyTrue` intrinsic in
`IntrinsicsSPIRV.td`
- [x] In SPIRVInstructionSelector.cpp create the `WaveActiveAnyTrue`
lowering and map it to `int_spv_WaveActiveAnyTrue` in
`SPIRVInstructionSelector::selectIntrinsic`.
- [x] Create SPIR-V backend test case in
`llvm/test/CodeGen/SPIRV/hlsl-intrinsics/WaveActiveAnyTrue.ll`

---------

Co-authored-by: Finn Plummer <50529406+inbelic at users.noreply.github.com>
Co-authored-by: Greg Roth <grroth at microsoft.com>


  Commit: 9b43078e4c4da6b17b25c18945639c9232ef68c0
      https://github.com/llvm/llvm-project/commit/9b43078e4c4da6b17b25c18945639c9232ef68c0
  Author: Vyacheslav Levytskyy <vyacheslav.levytskyy at intel.com>
  Date:   2024-11-21 (Thu, 21 Nov 2024)

  Changed paths:
    M llvm/lib/Target/SPIRV/SPIRVBuiltins.cpp
    M llvm/lib/Target/SPIRV/SPIRVBuiltins.td
    M llvm/test/CodeGen/SPIRV/instructions/integer-casts.ll

  Log Message:
  -----------
  [SPIR-V] Extend support for __spirv_ builtins (#117190)

This PR extends support for `__spirv_` builtins by adding missed
builtins (`GroupNonUniformBroadcast*`) and supporting more "_R<type>"
builtins.


  Commit: 58c8d73172a13d750c80ca0ef6849e52a0993e8d
      https://github.com/llvm/llvm-project/commit/58c8d73172a13d750c80ca0ef6849e52a0993e8d
  Author: Alexey Bataev <a.bataev at outlook.com>
  Date:   2024-11-21 (Thu, 21 Nov 2024)

  Changed paths:
    A llvm/test/Transforms/SLPVectorizer/RISCV/horizontal-list.ll

  Log Message:
  -----------
  [SLP][NFC]Add a test with multi reductions, NFC


  Commit: cec52960fdc8eeecab340ffe4cd12f8a8c43bd3b
      https://github.com/llvm/llvm-project/commit/cec52960fdc8eeecab340ffe4cd12f8a8c43bd3b
  Author: abhishek-kaushik22 <abhishek.kaushik at intel.com>
  Date:   2024-11-21 (Thu, 21 Nov 2024)

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

  Log Message:
  -----------
  [TableGen] Use `const auto&` instead of `auto` to avoid copy (#113053)


  Commit: b22c3c1e88ad5be4ef9ee70ac6517620e1441336
      https://github.com/llvm/llvm-project/commit/b22c3c1e88ad5be4ef9ee70ac6517620e1441336
  Author: Jorge Gorbe Moya <jgorbe at google.com>
  Date:   2024-11-21 (Thu, 21 Nov 2024)

  Changed paths:
    M llvm/include/llvm/SandboxIR/Region.h
    M llvm/lib/SandboxIR/Region.cpp
    M llvm/unittests/SandboxIR/RegionTest.cpp

  Log Message:
  -----------
  Register callbacks in Region for instruction creation/deletion. (#117088)

This will keep the current Region updated when region passes add/delete
instructions.


  Commit: 391bf068f2c124e98e18bbc027f4cfc6f0b413d6
      https://github.com/llvm/llvm-project/commit/391bf068f2c124e98e18bbc027f4cfc6f0b413d6
  Author: AdityaK <hiraditya at msn.com>
  Date:   2024-11-21 (Thu, 21 Nov 2024)

  Changed paths:
    M llvm/lib/Linker/IRMover.cpp
    M llvm/test/LTO/X86/codemodel-3.ll
    M llvm/test/LTO/X86/largedatathreshold-3.ll
    M llvm/test/Linker/module-flags-6-a.ll
    M llvm/test/Transforms/FunctionImport/module-flags.ll

  Log Message:
  -----------
  [LTO] Print conflicting operands between Src and Dest modules (#115104)

The current error message doesn't give sufficient details to help with
debugging. This patch will log the operand values that are conflicting.

After this patch the output is of the form:
```
'Large Data Threshold': IDs have conflicting values: 'i32 101' from /usr/local/home/llvm-project/build/test/LTO/X86/Output/largedatathreshold-3.ll.tmp1.o, and 'i32 100' from ld-temp.o
```


  Commit: 667e1fadcf4376ce41f5cae7cabab9f5ccc77b15
      https://github.com/llvm/llvm-project/commit/667e1fadcf4376ce41f5cae7cabab9f5ccc77b15
  Author: Josh Stone <jistone at redhat.com>
  Date:   2024-11-21 (Thu, 21 Nov 2024)

  Changed paths:
    M compiler-rt/lib/profile/InstrProfilingPlatformLinux.c
    A compiler-rt/test/profile/Linux/binary-id-offset.c

  Log Message:
  -----------
  [profile] Use base+vaddr for `__llvm_write_binary_ids` note pointers (#114907)

This function is always examining its own ELF headers in memory, but it
was trying to use conditions between examining files or memory, and it
wasn't accounting for LOAD offsets at runtime. This is especially bad if
a loaded segment has additional padding that's not in the file offsets.

Now we do a first scan of the program headers to figure out the runtime
base address based on `PT_PHDR` and/or `PT_DYNAMIC` (else assume zero),
similar to libc's `do_start`. Then each `PT_NOTE` pointer is simply the
base plus the segments's `pt_vaddr`, which includes LOAD offsets.

Fixes #114605


  Commit: 5776f7d708477a0ea1dbab874ffdc68d07da5a1b
      https://github.com/llvm/llvm-project/commit/5776f7d708477a0ea1dbab874ffdc68d07da5a1b
  Author: Alexey Bataev <a.bataev at outlook.com>
  Date:   2024-11-21 (Thu, 21 Nov 2024)

  Changed paths:
    M bolt/lib/Core/BinaryEmitter.cpp
    M clang-tools-extra/clang-include-fixer/IncludeFixer.cpp
    M clang-tools-extra/clang-tidy/modernize/UseStdPrintCheck.cpp
    M clang-tools-extra/clangd/Compiler.cpp
    M clang-tools-extra/clangd/ModulesBuilder.cpp
    M clang-tools-extra/clangd/Preamble.cpp
    M clang-tools-extra/clangd/refactor/tweaks/DefineOutline.cpp
    M clang-tools-extra/clangd/unittests/tweaks/DefineOutlineTests.cpp
    M clang-tools-extra/include-cleaner/unittests/RecordTest.cpp
    M clang-tools-extra/test/CMakeLists.txt
    M clang/cmake/caches/CrossWinToARMLinux.cmake
    M clang/docs/InternalsManual.rst
    M clang/docs/LanguageExtensions.rst
    M clang/docs/RealtimeSanitizer.rst
    M clang/docs/ReleaseNotes.rst
    M clang/include/clang/Basic/Attr.td
    M clang/include/clang/Basic/AttrDocs.td
    M clang/include/clang/Basic/Builtins.td
    M clang/include/clang/Basic/BuiltinsAMDGPU.def
    M clang/include/clang/Basic/BuiltinsLoongArchLASX.def
    M clang/include/clang/Basic/BuiltinsLoongArchLSX.def
    M clang/include/clang/Basic/DiagnosticGroups.td
    M clang/include/clang/Basic/DiagnosticSemaKinds.td
    M clang/include/clang/Basic/TargetInfo.h
    M clang/include/clang/Basic/arm_neon.td
    M clang/include/clang/Basic/arm_neon_incl.td
    M clang/include/clang/Driver/Options.td
    M clang/include/clang/Frontend/CompilerInstance.h
    M clang/include/clang/Sema/Sema.h
    M clang/lib/AST/ByteCode/Interp.cpp
    M clang/lib/AST/ByteCode/Interp.h
    M clang/lib/AST/ByteCode/InterpBuiltinBitCast.cpp
    M clang/lib/AST/ExprConstant.cpp
    M clang/lib/Analysis/CFG.cpp
    M clang/lib/Basic/SourceManager.cpp
    A clang/lib/Basic/TargetDefines.h
    M clang/lib/Basic/Targets.h
    M clang/lib/CodeGen/CGBuiltin.cpp
    M clang/lib/CodeGen/CGDecl.cpp
    M clang/lib/CodeGen/CGExpr.cpp
    M clang/lib/CodeGen/CGHLSLRuntime.h
    M clang/lib/Driver/SanitizerArgs.cpp
    M clang/lib/Driver/ToolChains/CommonArgs.cpp
    M clang/lib/Format/TokenAnnotator.cpp
    M clang/lib/Format/UnwrappedLineParser.cpp
    M clang/lib/Frontend/CompilerInstance.cpp
    M clang/lib/Frontend/CreateInvocationFromCommandLine.cpp
    M clang/lib/Frontend/Rewrite/FrontendActions.cpp
    M clang/lib/Headers/hlsl/hlsl_intrinsics.h
    M clang/lib/Headers/larchintrin.h
    M clang/lib/Headers/lasxintrin.h
    M clang/lib/Headers/lsxintrin.h
    M clang/lib/Interpreter/Interpreter.cpp
    M clang/lib/Sema/AnalysisBasedWarnings.cpp
    M clang/lib/Sema/CheckExprLifetime.cpp
    M clang/lib/Sema/CheckExprLifetime.h
    M clang/lib/Sema/JumpDiagnostics.cpp
    M clang/lib/Sema/SemaChecking.cpp
    M clang/lib/Sema/SemaDecl.cpp
    M clang/lib/Sema/SemaExpr.cpp
    M clang/lib/Sema/SemaExprMember.cpp
    M clang/lib/Sema/SemaInit.cpp
    M clang/lib/Sema/SemaOverload.cpp
    M clang/lib/StaticAnalyzer/Frontend/ModelInjector.cpp
    M clang/lib/Testing/TestAST.cpp
    M clang/lib/Tooling/DependencyScanning/DependencyScanningWorker.cpp
    M clang/lib/Tooling/Tooling.cpp
    M clang/test/AST/ByteCode/builtin-bit-cast.cpp
    M clang/test/CXX/dcl.dcl/dcl.attr/dcl.attr.noreturn/p1.cpp
    M clang/test/CXX/expr/expr.const/p2-0x.cpp
    M clang/test/CodeGen/AArch64/pure-scalable-args.c
    M clang/test/CodeGen/AArch64/sve-acle-__ARM_FEATURE_SVE_VECTOR_OPERATORS.c
    M clang/test/CodeGen/AArch64/sve-vector-bitwise-ops.c
    M clang/test/CodeGen/SystemZ/systemz-inline-asm.c
    M clang/test/CodeGen/SystemZ/zos-mixed-ptr-sizes.c
    M clang/test/CodeGen/X86/ms-x86-intrinsics.c
    M clang/test/CodeGen/arm-bf16-convert-intrinsics.c
    M clang/test/CodeGen/arm-vfp16-arguments.c
    M clang/test/CodeGen/arm-vfp16-arguments2.cpp
    A clang/test/CodeGen/embed-bitcode-marker-with-nonzero-as.c
    M clang/test/CodeGen/isfpclass.c
    M clang/test/CodeGen/math-libcalls-tbaa-indirect-args.c
    M clang/test/CodeGen/ms-mixed-ptr-sizes.c
    M clang/test/CodeGen/tbaa-struct-bitfield-endianness.cpp
    M clang/test/CodeGen/union-tbaa1.c
    M clang/test/CodeGenCUDA/amdgpu-kernel-arg-pointer-type.cu
    M clang/test/CodeGenCXX/aarch64-sve-vector-conditional-op.cpp
    A clang/test/CodeGenCXX/auto-var-init-attr.cpp
    M clang/test/CodeGenCXX/inline-then-fold-variadics.cpp
    M clang/test/CodeGenCXX/wasm-args-returns.cpp
    A clang/test/CodeGenHLSL/builtins/WaveActiveAnyTrue.hlsl
    M clang/test/CodeGenOpenCL/amdgpu-abi-struct-coerce.cl
    M clang/test/CodeGenOpenCL/amdgpu-call-kernel.cl
    M clang/test/CodeGenOpenCL/builtins-amdgcn-mfma.cl
    M clang/test/CodeGenOpenCL/kernels-have-spir-cc-by-default.cl
    M clang/test/CodeGenOpenCLCXX/array-type-infinite-loop.clcpp
    M clang/test/Driver/clang_f_opts.c
    A clang/test/Driver/fprofile-sample-use.c
    M clang/test/Driver/fsanitize.c
    M clang/test/Driver/relax.s
    M clang/test/Driver/riscv-cpus.c
    M clang/test/Misc/target-invalid-cpu-note/riscv.c
    A clang/test/Sema/Inputs/lifetime-analysis.h
    M clang/test/Sema/constant_builtins_vector.cpp
    A clang/test/Sema/warn-lifetime-analysis-capture-by.cpp
    M clang/test/Sema/warn-lifetime-analysis-nocfg.cpp
    M clang/test/SemaCXX/attr-lifetimebound.cpp
    M clang/test/SemaCXX/constexpr-return-non-void-cxx2b.cpp
    A clang/test/SemaCXX/cxx2b-warn-shadow.cpp
    M clang/test/SemaCXX/warn-missing-noreturn.cpp
    A clang/test/SemaHLSL/BuiltIns/WaveActiveAnyTrue-errors.hlsl
    M clang/test/SemaOpenCL/builtins-amdgcn-error-gfx950-param.cl
    M clang/test/SemaOpenCL/builtins-amdgcn-error-gfx950.cl
    M clang/tools/c-index-test/core_main.cpp
    M clang/tools/clang-import-test/clang-import-test.cpp
    M clang/tools/clang-installapi/ClangInstallAPI.cpp
    M clang/tools/clang-scan-deps/ClangScanDeps.cpp
    M clang/tools/clang-shlib/CMakeLists.txt
    A clang/tools/clang-shlib/simple_version_script.map.in
    M clang/tools/diagtool/ShowEnabledWarnings.cpp
    M clang/tools/driver/cc1_main.cpp
    M clang/tools/libclang/CIndex.cpp
    M clang/tools/libclang/Indexing.cpp
    M clang/unittests/AST/ExternalASTSourceTest.cpp
    M clang/unittests/CodeGen/TestCompiler.h
    M clang/unittests/Driver/DXCModeTest.cpp
    M clang/unittests/Driver/ToolChainTest.cpp
    M clang/unittests/Format/FormatTestVerilog.cpp
    M clang/unittests/Format/TokenAnnotatorTest.cpp
    M clang/unittests/Frontend/ASTUnitTest.cpp
    M clang/unittests/Frontend/CodeGenActionTest.cpp
    M clang/unittests/Frontend/CompilerInstanceTest.cpp
    M clang/unittests/Frontend/CompilerInvocationTest.cpp
    M clang/unittests/Frontend/FrontendActionTest.cpp
    M clang/unittests/Frontend/OutputStreamTest.cpp
    M clang/unittests/Frontend/PCHPreambleTest.cpp
    M clang/unittests/Frontend/ReparseWorkingDirTest.cpp
    M clang/unittests/Frontend/UtilsTest.cpp
    M clang/unittests/Sema/SemaNoloadLookupTest.cpp
    M clang/unittests/Serialization/ForceCheckFileInputTest.cpp
    M clang/unittests/Serialization/ModuleCacheTest.cpp
    M clang/unittests/Serialization/NoCommentsTest.cpp
    M clang/unittests/Serialization/PreambleInNamedModulesTest.cpp
    M clang/unittests/Serialization/VarDeclConstantInitTest.cpp
    M clang/unittests/Support/TimeProfilerTest.cpp
    M clang/unittests/Tooling/DependencyScanning/DependencyScannerTest.cpp
    M clang/unittests/Tooling/ToolingTest.cpp
    M clang/utils/TableGen/NeonEmitter.cpp
    M compiler-rt/lib/builtins/cpu_model/aarch64.c
    A compiler-rt/lib/builtins/cpu_model/aarch64/lse_atomics/windows.inc
    M compiler-rt/lib/lsan/lsan_common.cpp
    M compiler-rt/lib/profile/InstrProfilingPlatformLinux.c
    M compiler-rt/lib/rtsan/rtsan.cpp
    M compiler-rt/lib/rtsan/rtsan_diagnostics.cpp
    M compiler-rt/lib/rtsan/rtsan_diagnostics.h
    M compiler-rt/lib/rtsan/rtsan_flags.inc
    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_platform_interceptors.h
    A compiler-rt/test/orc/TestCases/Darwin/Generic/trivial-cxx-constructor.cpp
    A compiler-rt/test/profile/Linux/binary-id-offset.c
    M compiler-rt/test/rtsan/deduplicate_errors.cpp
    A compiler-rt/test/rtsan/report_error_summary.cpp
    R flang/CODE_OWNERS.TXT
    A flang/Maintainers.txt
    M flang/examples/FeatureList/FeatureList.cpp
    M flang/examples/FlangOmpReport/FlangOmpReportVisitor.cpp
    M flang/examples/FlangOmpReport/FlangOmpReportVisitor.h
    M flang/include/flang/Evaluate/tools.h
    M flang/include/flang/Parser/dump-parse-tree.h
    M flang/include/flang/Parser/parse-tree.h
    A flang/include/flang/Semantics/openmp-modifiers.h
    M flang/lib/Evaluate/characteristics.cpp
    M flang/lib/Evaluate/tools.cpp
    M flang/lib/Lower/OpenMP/Clauses.cpp
    M flang/lib/Optimizer/HLFIR/Transforms/BufferizeHLFIR.cpp
    M flang/lib/Optimizer/HLFIR/Transforms/CMakeLists.txt
    M flang/lib/Optimizer/HLFIR/Transforms/OptimizedBufferization.cpp
    M flang/lib/Optimizer/Transforms/CUFCommon.cpp
    M flang/lib/Optimizer/Transforms/CUFOpConversion.cpp
    M flang/lib/Optimizer/Transforms/ExternalNameConversion.cpp
    M flang/lib/Parser/openmp-parsers.cpp
    M flang/lib/Parser/parse-tree.cpp
    M flang/lib/Parser/unparse.cpp
    M flang/lib/Semantics/CMakeLists.txt
    M flang/lib/Semantics/check-cuda.cpp
    M flang/lib/Semantics/check-declarations.cpp
    M flang/lib/Semantics/check-io.cpp
    M flang/lib/Semantics/check-omp-structure.cpp
    M flang/lib/Semantics/check-omp-structure.h
    A flang/lib/Semantics/openmp-modifiers.cpp
    M flang/lib/Semantics/resolve-directives.cpp
    M flang/lib/Semantics/resolve-names.cpp
    M flang/test/Fir/CUDA/cuda-alloc-free.fir
    M flang/test/Fir/CUDA/cuda-constructor-2.f90
    M flang/test/Fir/CUDA/cuda-data-transfer.fir
    M flang/test/Fir/CUDA/cuda-device-global.f90
    A flang/test/Fir/CUDA/cuda-extranal-mangling.mlir
    M flang/test/Fir/CUDA/cuda-implicit-device-global.f90
    A flang/test/HLFIR/bufferize-workshare.fir
    A flang/test/Integration/OpenMP/workshare-array-array-assign.f90
    A flang/test/Integration/OpenMP/workshare-axpy.f90
    A flang/test/Integration/OpenMP/workshare-scalar-array-assign.f90
    A flang/test/Integration/OpenMP/workshare-scalar-array-mul.f90
    A flang/test/Lower/OpenMP/Todo/map-mapper.f90
    A flang/test/Lower/OpenMP/Todo/scope-allocate.f90
    A flang/test/Lower/OpenMP/Todo/scope-firstprivate.f90
    M flang/test/Parser/OpenMP/affinity-clause.f90
    M flang/test/Parser/OpenMP/depobj-construct.f90
    M flang/test/Parser/OpenMP/from-clause.f90
    M flang/test/Parser/OpenMP/in-reduction-clause.f90
    M flang/test/Parser/OpenMP/map-modifiers.f90
    M flang/test/Parser/OpenMP/reduction-modifier.f90
    M flang/test/Parser/OpenMP/target-update-to-clause.f90
    A flang/test/Semantics/OpenMP/map-clause-symbols.f90
    M flang/test/Semantics/OpenMP/map-clause.f90
    M flang/test/Semantics/io03.f90
    M flang/test/Semantics/io04.f90
    A flang/test/Semantics/pointer02.f90
    A flang/test/Semantics/smp-def02.f90
    M flang/test/Semantics/undef-result01.f90
    A flang/test/Transforms/OpenMP/should-use-workshare-lowering.mlir
    M libc/docs/gpu/rpc.rst
    M libc/include/llvm-libc-types/rpc_opcodes_t.h
    M libc/src/__support/RPC/rpc.h
    M libc/src/__support/common.h
    M libc/src/stdio/gpu/file.h
    M libc/src/stdio/gpu/vfprintf_utils.h
    M libc/src/string/string_utils.h
    M libc/test/integration/scudo/CMakeLists.txt
    M libc/utils/gpu/server/llvmlibc_rpc_server.h
    M libc/utils/gpu/server/rpc_server.cpp
    M libcxx/include/CMakeLists.txt
    M libcxx/include/__atomic/atomic.h
    R libcxx/include/__atomic/atomic_base.h
    M libcxx/include/__chrono/formatter.h
    M libcxx/include/__cxx03/__chrono/formatter.h
    M libcxx/include/atomic
    M libcxx/include/barrier
    M libcxx/include/latch
    M libcxx/include/module.modulemap
    M libcxx/include/semaphore
    M libcxx/include/thread
    M libcxx/src/barrier.cpp
    M libcxx/test/benchmarks/CMakeLists.txt
    M libcxx/test/benchmarks/atomic_wait.bench.cpp
    M libcxx/test/benchmarks/atomic_wait_vs_mutex_lock.bench.cpp
    M libcxx/test/benchmarks/stop_token.bench.cpp
    M libcxx/test/configs/cmake-bridge.cfg.in
    M libcxx/test/libcxx/thread/thread.stoptoken/atomic_unique_lock.pass.cpp
    M libcxx/test/std/language.support/support.dynamic/new.delete/new.delete.array/sized_delete_array14.pass.cpp
    M libcxx/test/std/language.support/support.dynamic/new.delete/new.delete.single/sized_delete14.pass.cpp
    M libcxx/test/std/thread/thread.semaphore/max.pass.cpp
    M libcxx/test/std/utilities/meta/meta.unary/meta.unary.cat/is_array.pass.cpp
    M libcxx/utils/ci/docker-compose.yml
    M lld/COFF/DLL.cpp
    M lld/ELF/Arch/X86_64.cpp
    M lld/ELF/LinkerScript.cpp
    M lld/ELF/LinkerScript.h
    M lld/ELF/OutputSections.cpp
    M lld/ELF/OutputSections.h
    M lld/ELF/Relocations.cpp
    M lld/ELF/Relocations.h
    M lld/ELF/SyntheticSections.cpp
    M lld/ELF/SyntheticSections.h
    M lld/ELF/Thunks.cpp
    M lld/ELF/Thunks.h
    M lld/ELF/Writer.cpp
    M lld/ELF/Writer.h
    M lld/MachO/Arch/ARM64.cpp
    M lld/MachO/Config.h
    M lld/MachO/Driver.cpp
    M lld/MachO/DriverUtils.cpp
    M lld/MachO/ICF.cpp
    M lld/MachO/ICF.h
    M lld/MachO/InputFiles.cpp
    M lld/MachO/InputFiles.h
    M lld/MachO/Options.td
    M lld/MachO/SyntheticSections.cpp
    M lld/MachO/SyntheticSections.h
    M lld/MachO/Target.h
    M lld/test/COFF/arm64ec-delayimport.test
    M lld/test/ELF/aarch64-thunk-bti-multipass.s
    M lld/test/ELF/x86-64-gotpc-no-relax-err.s
    M lld/test/ELF/x86-64-gotpc-relax-nopic.s
    M lld/test/ELF/x86-64-gotpc-relax.s
    A lld/test/MachO/Inputs/liballowable_client.dylib
    A lld/test/MachO/allowable-client.s
    M lld/test/MachO/icf-safe-thunks-dwarf.ll
    M lld/test/wasm/tls-non-shared-memory.s
    M lld/wasm/Symbols.cpp
    M lld/wasm/Symbols.h
    M lld/wasm/SyntheticSections.cpp
    M lldb/include/lldb/API/SBFrame.h
    M lldb/include/lldb/API/SBStructuredData.h
    M lldb/include/lldb/Target/LanguageRuntime.h
    M lldb/include/lldb/Target/StackFrame.h
    M lldb/include/lldb/Utility/CompletionRequest.h
    M lldb/source/API/SBFrame.cpp
    M lldb/source/Commands/CommandObjectTarget.cpp
    M lldb/source/Expression/DWARFExpression.cpp
    M lldb/source/Host/common/Editline.cpp
    M lldb/source/Plugins/ExpressionParser/Clang/ClangExpressionParser.cpp
    M lldb/source/Plugins/ExpressionParser/Clang/ClangModulesDeclVendor.cpp
    M lldb/source/Plugins/LanguageRuntime/ObjC/AppleObjCRuntime/AppleObjCRuntimeV2.cpp
    M lldb/source/Plugins/LanguageRuntime/ObjC/AppleObjCRuntime/AppleObjCRuntimeV2.h
    M lldb/source/Plugins/SymbolFile/DWARF/DWARFASTParserClang.cpp
    M lldb/source/Plugins/SymbolFile/DWARF/DWARFBaseDIE.h
    M lldb/source/Plugins/SymbolFile/DWARF/DWARFDIE.cpp
    M lldb/source/Plugins/SymbolFile/DWARF/DWARFDIE.h
    M lldb/source/Plugins/SymbolFile/DWARF/DWARFFormValue.cpp
    M lldb/source/Plugins/SymbolFile/DWARF/DWARFFormValue.h
    M lldb/source/Plugins/SymbolFile/DWARF/SymbolFileDWARF.cpp
    M lldb/source/Plugins/TypeSystem/Clang/TypeSystemClang.cpp
    M lldb/source/Plugins/TypeSystem/Clang/TypeSystemClang.h
    M lldb/source/Target/LanguageRuntime.cpp
    M lldb/source/Target/RegisterContextUnwind.cpp
    M lldb/source/Target/StackFrame.cpp
    M lldb/source/Target/Thread.cpp
    A lldb/test/API/lang/objc/languageinfo/Makefile
    A lldb/test/API/lang/objc/languageinfo/TestObjCLanguageSpecificData.py
    A lldb/test/API/lang/objc/languageinfo/main.m
    M lldb/test/API/source-manager/TestSourceManager.py
    A lldb/test/Shell/SymbolFile/DWARF/DW_OP_piece-O3.c
    A lldb/test/Shell/SymbolFile/DWARF/x86/simplified-template-names.cpp
    M lldb/unittests/SymbolFile/DWARF/DWARFDIETest.cpp
    M llvm/CMakeLists.txt
    M llvm/Maintainers.md
    M llvm/cmake/config-ix.cmake
    M llvm/docs/AMDGPUUsage.rst
    M llvm/docs/ReleaseNotes.md
    M llvm/include/llvm/Analysis/AliasAnalysis.h
    M llvm/include/llvm/Analysis/MemoryDependenceAnalysis.h
    M llvm/include/llvm/Analysis/MemorySSAUpdater.h
    M llvm/include/llvm/Analysis/TargetTransformInfo.h
    M llvm/include/llvm/Analysis/TargetTransformInfoImpl.h
    M llvm/include/llvm/BinaryFormat/ELFRelocs/x86_64.def
    M llvm/include/llvm/CodeGen/BasicTTIImpl.h
    M llvm/include/llvm/CodeGen/MachineFunction.h
    M llvm/include/llvm/DebugInfo/DWARF/DWARFDie.h
    M llvm/include/llvm/DebugInfo/DWARF/DWARFTypePrinter.h
    M llvm/include/llvm/ExecutionEngine/JITLink/aarch64.h
    M llvm/include/llvm/ExecutionEngine/Orc/Shared/ExecutorAddress.h
    M llvm/include/llvm/Frontend/OpenMP/OMP.h
    M llvm/include/llvm/FuzzMutate/OpDescriptor.h
    M llvm/include/llvm/IR/InstrTypes.h
    M llvm/include/llvm/IR/Instructions.h
    M llvm/include/llvm/IR/IntrinsicsAMDGPU.td
    M llvm/include/llvm/IR/IntrinsicsDirectX.td
    M llvm/include/llvm/IR/IntrinsicsSPIRV.td
    M llvm/include/llvm/IR/ModuleSummaryIndex.h
    M llvm/include/llvm/IR/ModuleSummaryIndexYAML.h
    M llvm/include/llvm/IR/Value.h
    M llvm/include/llvm/ProfileData/MemProf.h
    M llvm/include/llvm/ProfileData/MemProfReader.h
    M llvm/include/llvm/SandboxIR/Instruction.h
    M llvm/include/llvm/SandboxIR/Region.h
    M llvm/include/llvm/Transforms/Coroutines/ABI.h
    M llvm/include/llvm/Transforms/Instrumentation/MemProfiler.h
    M llvm/include/llvm/Transforms/Scalar/MemCpyOptimizer.h
    M llvm/include/llvm/Transforms/Utils/Cloning.h
    M llvm/include/llvm/Transforms/Vectorize/SandboxVectorizer/DependencyGraph.h
    M llvm/include/llvm/Transforms/Vectorize/SandboxVectorizer/Scheduler.h
    M llvm/lib/Analysis/BasicAliasAnalysis.cpp
    M llvm/lib/Analysis/MemoryBuiltins.cpp
    M llvm/lib/Analysis/MemoryDependenceAnalysis.cpp
    M llvm/lib/Analysis/MemorySSAUpdater.cpp
    M llvm/lib/Analysis/ScalarEvolution.cpp
    M llvm/lib/Analysis/TargetTransformInfo.cpp
    M llvm/lib/Bitcode/Writer/BitcodeWriter.cpp
    M llvm/lib/CodeGen/AsmPrinter/AsmPrinter.cpp
    M llvm/lib/CodeGen/CFIFixup.cpp
    M llvm/lib/CodeGen/ExpandMemCmp.cpp
    M llvm/lib/CodeGen/GlobalISel/GISelKnownBits.cpp
    M llvm/lib/CodeGen/LiveDebugValues/InstrRefBasedImpl.cpp
    M llvm/lib/CodeGen/MIRPrinter.cpp
    M llvm/lib/CodeGen/MachineLICM.cpp
    M llvm/lib/CodeGen/MachineSink.cpp
    M llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
    M llvm/lib/CodeGen/SelectionDAG/LegalizeFloatTypes.cpp
    M llvm/lib/CodeGen/SelectionDAG/LegalizeTypes.h
    M llvm/lib/CodeGen/SelectionDAG/LegalizeVectorTypes.cpp
    M llvm/lib/DebugInfo/DWARF/DWARFDie.cpp
    M llvm/lib/ExecutionEngine/ExecutionEngine.cpp
    M llvm/lib/ExecutionEngine/ExecutionEngineBindings.cpp
    M llvm/lib/ExecutionEngine/GDBRegistrationListener.cpp
    M llvm/lib/ExecutionEngine/JITLink/COFF.cpp
    M llvm/lib/ExecutionEngine/JITLink/EHFrameSupport.cpp
    M llvm/lib/ExecutionEngine/JITLink/ELF.cpp
    M llvm/lib/ExecutionEngine/JITLink/JITLink.cpp
    M llvm/lib/ExecutionEngine/JITLink/JITLinkGeneric.cpp
    M llvm/lib/ExecutionEngine/JITLink/MachO.cpp
    M llvm/lib/ExecutionEngine/JITLink/MachO_arm64.cpp
    M llvm/lib/ExecutionEngine/JITLink/aarch32.cpp
    M llvm/lib/ExecutionEngine/JITLink/aarch64.cpp
    M llvm/lib/ExecutionEngine/MCJIT/MCJIT.cpp
    M llvm/lib/ExecutionEngine/Orc/CompileOnDemandLayer.cpp
    M llvm/lib/ExecutionEngine/Orc/CompileUtils.cpp
    M llvm/lib/ExecutionEngine/Orc/DebugObjectManagerPlugin.cpp
    M llvm/lib/ExecutionEngine/Orc/DebugUtils.cpp
    M llvm/lib/ExecutionEngine/Orc/Debugging/PerfSupportPlugin.cpp
    M llvm/lib/ExecutionEngine/Orc/ELFNixPlatform.cpp
    M llvm/lib/ExecutionEngine/Orc/EPCDebugObjectRegistrar.cpp
    M llvm/lib/ExecutionEngine/Orc/EPCGenericJITLinkMemoryManager.cpp
    M llvm/lib/ExecutionEngine/Orc/EPCGenericRTDyldMemoryManager.cpp
    M llvm/lib/ExecutionEngine/Orc/ExecutionUtils.cpp
    M llvm/lib/ExecutionEngine/Orc/ExecutorProcessControl.cpp
    M llvm/lib/ExecutionEngine/Orc/IRTransformLayer.cpp
    M llvm/lib/ExecutionEngine/Orc/IndirectionUtils.cpp
    M llvm/lib/ExecutionEngine/Orc/JITLinkRedirectableSymbolManager.cpp
    M llvm/lib/ExecutionEngine/Orc/JITTargetMachineBuilder.cpp
    M llvm/lib/ExecutionEngine/Orc/LLJIT.cpp
    M llvm/lib/ExecutionEngine/Orc/MachOPlatform.cpp
    M llvm/lib/ExecutionEngine/Orc/Mangling.cpp
    M llvm/lib/ExecutionEngine/Orc/MapperJITLinkMemoryManager.cpp
    M llvm/lib/ExecutionEngine/Orc/MemoryMapper.cpp
    M llvm/lib/ExecutionEngine/Orc/ObjectFileInterface.cpp
    M llvm/lib/ExecutionEngine/Orc/ObjectLinkingLayer.cpp
    M llvm/lib/ExecutionEngine/Orc/OrcABISupport.cpp
    M llvm/lib/ExecutionEngine/Orc/Shared/SimpleRemoteEPCUtils.cpp
    M llvm/lib/ExecutionEngine/Orc/SimpleRemoteEPC.cpp
    M llvm/lib/ExecutionEngine/Orc/SpeculateAnalyses.cpp
    M llvm/lib/ExecutionEngine/Orc/TargetProcess/JITLoaderGDB.cpp
    M llvm/lib/ExecutionEngine/Orc/TargetProcess/JITLoaderPerf.cpp
    M llvm/lib/ExecutionEngine/Orc/TargetProcess/JITLoaderVTune.cpp
    M llvm/lib/ExecutionEngine/Orc/TargetProcess/RegisterEHFrames.cpp
    M llvm/lib/ExecutionEngine/Orc/TargetProcess/SimpleExecutorDylibManager.cpp
    M llvm/lib/ExecutionEngine/Orc/TargetProcess/SimpleRemoteEPCServer.cpp
    M llvm/lib/ExecutionEngine/RuntimeDyld/RuntimeDyldCOFF.cpp
    M llvm/lib/ExecutionEngine/RuntimeDyld/RuntimeDyldChecker.cpp
    M llvm/lib/ExecutionEngine/RuntimeDyld/RuntimeDyldELF.cpp
    M llvm/lib/ExecutionEngine/RuntimeDyld/RuntimeDyldMachO.cpp
    M llvm/lib/ExecutionEngine/SectionMemoryManager.cpp
    M llvm/lib/Frontend/Atomic/Atomic.cpp
    M llvm/lib/Frontend/HLSL/HLSLResource.cpp
    M llvm/lib/Frontend/Offloading/OffloadWrapper.cpp
    M llvm/lib/Frontend/Offloading/Utility.cpp
    M llvm/lib/Frontend/OpenACC/ACC.cpp
    M llvm/lib/Frontend/OpenMP/OMP.cpp
    M llvm/lib/Frontend/OpenMP/OMPIRBuilder.cpp
    M llvm/lib/FuzzMutate/Operations.cpp
    M llvm/lib/FuzzMutate/RandomIRBuilder.cpp
    M llvm/lib/IR/AsmWriter.cpp
    M llvm/lib/IR/ConstantFold.cpp
    M llvm/lib/IR/ConstantRange.cpp
    M llvm/lib/IR/Constants.cpp
    M llvm/lib/IR/Instructions.cpp
    M llvm/lib/IR/Operator.cpp
    M llvm/lib/Linker/IRMover.cpp
    M llvm/lib/MC/MCTargetOptionsCommandFlags.cpp
    M llvm/lib/Object/Archive.cpp
    M llvm/lib/Object/ELFObjectFile.cpp
    M llvm/lib/Object/MachOUniversal.cpp
    M llvm/lib/Object/Minidump.cpp
    M llvm/lib/Object/ModuleSymbolTable.cpp
    M llvm/lib/Object/OffloadBinary.cpp
    M llvm/lib/Object/RelocationResolver.cpp
    M llvm/lib/Object/TapiFile.cpp
    M llvm/lib/Object/TapiUniversal.cpp
    M llvm/lib/Object/WasmObjectFile.cpp
    M llvm/lib/ProfileData/Coverage/CoverageMappingReader.cpp
    M llvm/lib/ProfileData/Coverage/CoverageMappingWriter.cpp
    M llvm/lib/ProfileData/InstrProfReader.cpp
    M llvm/lib/ProfileData/InstrProfWriter.cpp
    M llvm/lib/ProfileData/MemProf.cpp
    M llvm/lib/ProfileData/MemProfReader.cpp
    M llvm/lib/ProfileData/PGOCtxProfReader.cpp
    M llvm/lib/ProfileData/SampleProfWriter.cpp
    M llvm/lib/SandboxIR/Region.cpp
    M llvm/lib/Support/ARMBuildAttrs.cpp
    M llvm/lib/Support/ConvertUTFWrapper.cpp
    M llvm/lib/Support/DAGDeltaAlgorithm.cpp
    M llvm/lib/Support/InitLLVM.cpp
    M llvm/lib/Support/LockFileManager.cpp
    M llvm/lib/Support/MSP430AttributeParser.cpp
    M llvm/lib/Support/MemoryBuffer.cpp
    M llvm/lib/Support/NativeFormatting.cpp
    M llvm/lib/Support/Path.cpp
    M llvm/lib/Support/Process.cpp
    M llvm/lib/Support/SuffixTreeNode.cpp
    M llvm/lib/Support/Threading.cpp
    M llvm/lib/Support/VirtualFileSystem.cpp
    M llvm/lib/Support/YAMLTraits.cpp
    M llvm/lib/Support/raw_socket_stream.cpp
    M llvm/lib/Target/AArch64/AArch64FrameLowering.cpp
    M llvm/lib/Target/AArch64/AArch64ISelDAGToDAG.cpp
    M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
    M llvm/lib/Target/AArch64/AArch64InstrFormats.td
    M llvm/lib/Target/AArch64/AArch64InstrInfo.cpp
    M llvm/lib/Target/AArch64/AArch64InstrInfo.td
    M llvm/lib/Target/AArch64/AArch64MIPeepholeOpt.cpp
    M llvm/lib/Target/AArch64/AArch64SMEInstrInfo.td
    M llvm/lib/Target/AArch64/AArch64SVEInstrInfo.td
    M llvm/lib/Target/AArch64/AArch64Subtarget.cpp
    M llvm/lib/Target/AArch64/AArch64Subtarget.h
    M llvm/lib/Target/AArch64/AArch64TargetTransformInfo.cpp
    M llvm/lib/Target/AArch64/AArch64TargetTransformInfo.h
    M llvm/lib/Target/AArch64/SVEInstrFormats.td
    M llvm/lib/Target/AMDGPU/AMDGPUAsmPrinter.cpp
    M llvm/lib/Target/AMDGPU/AMDGPUGISel.td
    M llvm/lib/Target/AMDGPU/AMDGPUInstCombineIntrinsic.cpp
    M llvm/lib/Target/AMDGPU/AMDGPUInstructionSelector.cpp
    M llvm/lib/Target/AMDGPU/AMDGPUInstructionSelector.h
    M llvm/lib/Target/AMDGPU/AMDGPUInstructions.td
    M llvm/lib/Target/AMDGPU/AMDGPURegisterBankInfo.cpp
    M llvm/lib/Target/AMDGPU/BUFInstructions.td
    M llvm/lib/Target/AMDGPU/DSInstructions.td
    M llvm/lib/Target/AMDGPU/Disassembler/AMDGPUDisassembler.cpp
    M llvm/lib/Target/AMDGPU/Disassembler/AMDGPUDisassembler.h
    M llvm/lib/Target/AMDGPU/FLATInstructions.td
    M llvm/lib/Target/AMDGPU/MCTargetDesc/AMDGPUInstPrinter.cpp
    M llvm/lib/Target/AMDGPU/MCTargetDesc/AMDGPUMCAsmInfo.cpp
    M llvm/lib/Target/AMDGPU/SIDefines.h
    M llvm/lib/Target/AMDGPU/SIFrameLowering.cpp
    M llvm/lib/Target/AMDGPU/SIISelLowering.cpp
    M llvm/lib/Target/AMDGPU/SIInstrFormats.td
    M llvm/lib/Target/AMDGPU/SIInstrInfo.h
    M llvm/lib/Target/AMDGPU/SIInstrInfo.td
    M llvm/lib/Target/AMDGPU/SIRegisterInfo.td
    M llvm/lib/Target/AMDGPU/Utils/AMDGPUBaseInfo.cpp
    M llvm/lib/Target/AMDGPU/Utils/AMDGPUBaseInfo.h
    M llvm/lib/Target/AMDGPU/VOP2Instructions.td
    M llvm/lib/Target/AMDGPU/VOP3PInstructions.td
    M llvm/lib/Target/AMDGPU/VOPInstructions.td
    M llvm/lib/Target/DirectX/DXIL.td
    M llvm/lib/Target/LoongArch/AsmParser/LoongArchAsmParser.cpp
    M llvm/lib/Target/LoongArch/LoongArchExpandPseudoInsts.cpp
    M llvm/lib/Target/LoongArch/LoongArchInstrFormats.td
    M llvm/lib/Target/LoongArch/LoongArchInstrInfo.td
    M llvm/lib/Target/LoongArch/MCTargetDesc/LoongArchBaseInfo.h
    M llvm/lib/Target/RISCV/AsmParser/RISCVAsmParser.cpp
    M llvm/lib/Target/RISCV/GISel/RISCVInstructionSelector.cpp
    M llvm/lib/Target/RISCV/GISel/RISCVLegalizerInfo.cpp
    M llvm/lib/Target/RISCV/GISel/RISCVLegalizerInfo.h
    M llvm/lib/Target/RISCV/RISCVGISel.td
    M llvm/lib/Target/RISCV/RISCVISelDAGToDAG.cpp
    M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
    M llvm/lib/Target/RISCV/RISCVInstrInfoD.td
    M llvm/lib/Target/RISCV/RISCVInstrInfoXTHead.td
    M llvm/lib/Target/RISCV/RISCVProcessors.td
    M llvm/lib/Target/RISCV/RISCVRegisterInfo.td
    M llvm/lib/Target/SPIRV/SPIRVBuiltins.cpp
    M llvm/lib/Target/SPIRV/SPIRVBuiltins.td
    M llvm/lib/Target/SPIRV/SPIRVInstructionSelector.cpp
    M llvm/lib/Target/SPIRV/SPIRVModuleAnalysis.cpp
    M llvm/lib/Target/X86/GISel/X86InstructionSelector.cpp
    M llvm/lib/Target/X86/MCTargetDesc/X86ELFObjectWriter.cpp
    M llvm/lib/Target/X86/MCTargetDesc/X86InstComments.cpp
    M llvm/lib/Target/X86/MCTargetDesc/X86MCCodeEmitter.cpp
    M llvm/lib/Target/X86/MCTargetDesc/X86ShuffleDecode.cpp
    M llvm/lib/Target/X86/MCTargetDesc/X86ShuffleDecode.h
    M llvm/lib/Target/X86/X86ISelLowering.cpp
    M llvm/lib/Target/X86/X86InstrAVX512.td
    M llvm/lib/Target/X86/X86InstrInfo.cpp
    M llvm/lib/Target/X86/X86MachineFunctionInfo.cpp
    M llvm/lib/Target/X86/X86MachineFunctionInfo.h
    M llvm/lib/Target/X86/X86ReplaceableInstrs.def
    M llvm/lib/Target/X86/X86SchedIceLake.td
    M llvm/lib/Target/X86/X86SchedSapphireRapids.td
    M llvm/lib/Target/X86/X86SchedSkylakeClient.td
    M llvm/lib/Target/X86/X86SchedSkylakeServer.td
    M llvm/lib/Target/XCore/XCoreISelLowering.cpp
    M llvm/lib/TargetParser/RISCVTargetParser.cpp
    M llvm/lib/TargetParser/SubtargetFeature.cpp
    M llvm/lib/Transforms/Coroutines/CoroAnnotationElide.cpp
    M llvm/lib/Transforms/Coroutines/CoroSplit.cpp
    M llvm/lib/Transforms/IPO/FunctionAttrs.cpp
    M llvm/lib/Transforms/IPO/LowerTypeTests.cpp
    M llvm/lib/Transforms/InstCombine/InstCombineCompares.cpp
    M llvm/lib/Transforms/InstCombine/InstCombineInternal.h
    M llvm/lib/Transforms/InstCombine/InstCombineSelect.cpp
    M llvm/lib/Transforms/InstCombine/InstCombineVectorOps.cpp
    M llvm/lib/Transforms/Instrumentation/ControlHeightReduction.cpp
    M llvm/lib/Transforms/Instrumentation/MemProfiler.cpp
    M llvm/lib/Transforms/Scalar/ConstraintElimination.cpp
    M llvm/lib/Transforms/Scalar/DeadStoreElimination.cpp
    M llvm/lib/Transforms/Scalar/LICM.cpp
    M llvm/lib/Transforms/Scalar/MemCpyOptimizer.cpp
    M llvm/lib/Transforms/Utils/CloneFunction.cpp
    M llvm/lib/Transforms/Utils/Local.cpp
    M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
    M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
    M llvm/lib/Transforms/Vectorize/SandboxVectorizer/DependencyGraph.cpp
    M llvm/lib/Transforms/Vectorize/SandboxVectorizer/SeedCollector.cpp
    A llvm/test/Analysis/MemoryDependenceAnalysis/load-size-cache.ll
    A llvm/test/Analysis/ScalarEvolution/pr116483.ll
    M llvm/test/Analysis/TypeBasedAliasAnalysis/functionattrs.ll
    M llvm/test/Analysis/UniformityAnalysis/AMDGPU/intrinsics.ll
    M llvm/test/Assembler/constant-splat.ll
    M llvm/test/Bitcode/vscale-shuffle.ll
    M llvm/test/CodeGen/AArch64/aarch64-smull.ll
    A llvm/test/CodeGen/AArch64/cfi-fixup-multi-section.mir
    M llvm/test/CodeGen/AArch64/machine-licm-hoist-load.ll
    M llvm/test/CodeGen/AArch64/replace-with-veclib-armpl.ll
    M llvm/test/CodeGen/AArch64/replace-with-veclib-sleef-scalable.ll
    M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-masked-load.ll
    M llvm/test/CodeGen/AArch64/zero-call-used-regs.ll
    M llvm/test/CodeGen/AMDGPU/amdgpu-libcall-sincos-pass-ordering.ll
    M llvm/test/CodeGen/AMDGPU/amdgpu-simplify-libcall-sincos.ll
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.mfma.gfx950.ll
    A llvm/test/CodeGen/AMDGPU/llvm.amdgcn.mfma.scale.f32.16x16x128.f8f6f4.ll
    A llvm/test/CodeGen/AMDGPU/llvm.amdgcn.mfma.scale.f32.32x32x64.f8f6f4.ll
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.raw.buffer.load.ll
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.raw.buffer.store.ll
    M llvm/test/CodeGen/AMDGPU/pei-amdgpu-cs-chain-preserve.mir
    M llvm/test/CodeGen/AMDGPU/pei-amdgpu-cs-chain.mir
    M llvm/test/CodeGen/BPF/preserve-static-offset/store-zero.ll
    A llvm/test/CodeGen/DirectX/WaveActiveAnyTrue.ll
    M llvm/test/CodeGen/LoongArch/code-models.ll
    M llvm/test/CodeGen/LoongArch/expand-adjacency.ll
    M llvm/test/CodeGen/LoongArch/machinelicm-address-pseudos.ll
    M llvm/test/CodeGen/LoongArch/psabi-restricted-scheduling.ll
    M llvm/test/CodeGen/LoongArch/tls-models.ll
    M llvm/test/CodeGen/Mips/lcb5.ll
    A llvm/test/CodeGen/RISCV/GlobalISel/atomic-load-store.ll
    R llvm/test/CodeGen/RISCV/GlobalISel/instruction-select/jump-table-brjt-medium-rv64.mir
    R llvm/test/CodeGen/RISCV/GlobalISel/instruction-select/jump-table-brjt-pic-rv32.mir
    R llvm/test/CodeGen/RISCV/GlobalISel/instruction-select/jump-table-brjt-pic-rv64.mir
    R llvm/test/CodeGen/RISCV/GlobalISel/instruction-select/jump-table-brjt-rv32.mir
    R llvm/test/CodeGen/RISCV/GlobalISel/instruction-select/jump-table-brjt-small-rv64.mir
    M llvm/test/CodeGen/RISCV/GlobalISel/jumptable.ll
    A llvm/test/CodeGen/RISCV/GlobalISel/legalizer/legalize-jump-table-brjt-medium-rv64.mir
    A llvm/test/CodeGen/RISCV/GlobalISel/legalizer/legalize-jump-table-brjt-pic-rv32.mir
    A llvm/test/CodeGen/RISCV/GlobalISel/legalizer/legalize-jump-table-brjt-pic-rv64.mir
    M llvm/test/CodeGen/RISCV/GlobalISel/legalizer/legalize-jump-table-brjt-rv32.mir
    R llvm/test/CodeGen/RISCV/GlobalISel/legalizer/legalize-jump-table-brjt-rv64.mir
    A llvm/test/CodeGen/RISCV/GlobalISel/legalizer/legalize-jump-table-brjt-small-rv64.mir
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-strided-load-store-asm.ll
    A llvm/test/CodeGen/RISCV/rvv/intrinsic-vector-match.ll
    M llvm/test/CodeGen/RISCV/rvv/strided-load-store.ll
    A llvm/test/CodeGen/RISCV/rvv/vector-extract-last-active.ll
    M llvm/test/CodeGen/RISCV/zdinx-asm-constraint.ll
    A llvm/test/CodeGen/SPIRV/hlsl-intrinsics/WaveActiveAnyTrue.ll
    M llvm/test/CodeGen/SPIRV/instructions/integer-casts.ll
    M llvm/test/CodeGen/X86/GlobalISel/select-extract-vec256.mir
    M llvm/test/CodeGen/X86/GlobalISel/select-extract-vec512.mir
    M llvm/test/CodeGen/X86/GlobalISel/select-insert-vec256.mir
    M llvm/test/CodeGen/X86/GlobalISel/select-insert-vec512.mir
    M llvm/test/CodeGen/X86/GlobalISel/select-merge-vec256.mir
    M llvm/test/CodeGen/X86/GlobalISel/select-merge-vec512.mir
    M llvm/test/CodeGen/X86/GlobalISel/select-unmerge-vec256.mir
    M llvm/test/CodeGen/X86/GlobalISel/select-unmerge-vec512.mir
    R llvm/test/CodeGen/X86/pr114265.mir
    M llvm/test/CodeGen/X86/vec-strict-cmp-512-skx.ll
    M llvm/test/CodeGen/X86/vector-compare-all_of.ll
    A llvm/test/ExecutionEngine/JITLink/AArch64/MachO_ptrauth-globals.s
    M llvm/test/Instrumentation/AddressSanitizer/asan-masked-load-store.ll
    M llvm/test/LTO/X86/codemodel-3.ll
    M llvm/test/LTO/X86/largedatathreshold-3.ll
    M llvm/test/Linker/module-flags-6-a.ll
    M llvm/test/MC/AMDGPU/gfx11_asm_vop2.s
    M llvm/test/MC/AMDGPU/gfx11_asm_vop2_dpp16.s
    M llvm/test/MC/AMDGPU/gfx11_asm_vop2_dpp8.s
    M llvm/test/MC/AMDGPU/gfx11_asm_vop2_t16_err.s
    M llvm/test/MC/AMDGPU/gfx11_asm_vop3.s
    M llvm/test/MC/AMDGPU/gfx11_asm_vop3_dpp16.s
    M llvm/test/MC/AMDGPU/gfx11_asm_vop3_dpp16_from_vop2.s
    M llvm/test/MC/AMDGPU/gfx11_asm_vop3_dpp16_from_vopc.s
    M llvm/test/MC/AMDGPU/gfx11_asm_vop3_dpp16_from_vopcx.s
    M llvm/test/MC/AMDGPU/gfx11_asm_vop3_dpp8.s
    M llvm/test/MC/AMDGPU/gfx11_asm_vop3_dpp8_from_vop2.s
    M llvm/test/MC/AMDGPU/gfx11_asm_vop3_dpp8_from_vopc.s
    M llvm/test/MC/AMDGPU/gfx11_asm_vop3_dpp8_from_vopcx.s
    M llvm/test/MC/AMDGPU/gfx11_asm_vop3_from_vop2.s
    M llvm/test/MC/AMDGPU/gfx11_asm_vop3_from_vopc-fake16.s
    M llvm/test/MC/AMDGPU/gfx11_asm_vop3_from_vopc.s
    M llvm/test/MC/AMDGPU/gfx11_asm_vop3_from_vopcx.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_vopcx.s
    M llvm/test/MC/AMDGPU/gfx11_asm_vopcx_dpp16.s
    M llvm/test/MC/AMDGPU/gfx11_asm_vopcx_dpp8.s
    M llvm/test/MC/AMDGPU/gfx12_asm_vop2.s
    M llvm/test/MC/AMDGPU/gfx12_asm_vop2_dpp16.s
    M llvm/test/MC/AMDGPU/gfx12_asm_vop2_dpp8.s
    M llvm/test/MC/AMDGPU/gfx12_asm_vop2_t16_err.s
    M llvm/test/MC/AMDGPU/gfx12_asm_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/AMDGPU/gfx12_asm_vop3_from_vop2.s
    M llvm/test/MC/AMDGPU/gfx12_asm_vop3_from_vop2_dpp16.s
    M llvm/test/MC/AMDGPU/gfx12_asm_vop3_from_vop2_dpp8.s
    M llvm/test/MC/AMDGPU/gfx12_asm_vop3c-fake16.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_vop3cx.s
    M llvm/test/MC/AMDGPU/gfx12_asm_vop3cx_dpp16.s
    M llvm/test/MC/AMDGPU/gfx12_asm_vop3cx_dpp8.s
    M llvm/test/MC/AMDGPU/gfx12_asm_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_vopcx.s
    M llvm/test/MC/AMDGPU/gfx12_asm_vopcx_dpp16.s
    M llvm/test/MC/AMDGPU/gfx12_asm_vopcx_dpp8.s
    A llvm/test/MC/AMDGPU/mai-gfx950-err.s
    M llvm/test/MC/AMDGPU/mai-gfx950.s
    M llvm/test/MC/Disassembler/AMDGPU/gfx11_dasm_vop2.txt
    M llvm/test/MC/Disassembler/AMDGPU/gfx11_dasm_vop2_dpp16.txt
    M llvm/test/MC/Disassembler/AMDGPU/gfx11_dasm_vop2_dpp8.txt
    M llvm/test/MC/Disassembler/AMDGPU/gfx12_dasm_vop2.txt
    M llvm/test/MC/Disassembler/AMDGPU/gfx12_dasm_vop2_dpp16.txt
    M llvm/test/MC/Disassembler/AMDGPU/gfx12_dasm_vop2_dpp8.txt
    M llvm/test/MC/Disassembler/AMDGPU/gfx950_mai.txt
    A llvm/test/MC/Disassembler/AMDGPU/gfx950_vop3px2.txt
    M llvm/test/MC/ELF/relocation-alias.s
    M llvm/test/MC/ELF/relocation.s
    M llvm/test/MC/LoongArch/Basic/Integer/invalid64.s
    M llvm/test/MC/X86/gotpcrelx.s
    M llvm/test/MC/X86/reloc-directive-elf-64.s
    A llvm/test/MC/X86/vinsertps_decode.s
    M llvm/test/Other/optimize-inrange-gep.ll
    M llvm/test/TableGen/x86-fold-tables.inc
    M llvm/test/TableGen/x86-instr-mapping.inc
    M llvm/test/Transforms/AggressiveInstCombine/vector-or-load.ll
    M llvm/test/Transforms/Attributor/nofpclass.ll
    M llvm/test/Transforms/ConstantHoisting/AArch64/large-immediate.ll
    M llvm/test/Transforms/ConstraintElimination/geps-ptrvector.ll
    M llvm/test/Transforms/Coroutines/coro-async.ll
    A llvm/test/Transforms/Coroutines/gh114487-crash-in-cgscc-2.ll
    M llvm/test/Transforms/CorrelatedValuePropagation/vectors.ll
    M llvm/test/Transforms/FunctionAttrs/argmemonly.ll
    A llvm/test/Transforms/FunctionAttrs/initializes.ll
    M llvm/test/Transforms/FunctionAttrs/readattrs.ll
    M llvm/test/Transforms/FunctionAttrs/writeonly.ll
    M llvm/test/Transforms/FunctionImport/module-flags.ll
    M llvm/test/Transforms/GVN/PRE/rle.ll
    M llvm/test/Transforms/GVN/tbaa.ll
    A llvm/test/Transforms/IndVarSimplify/pr116483.ll
    M llvm/test/Transforms/InstCombine/AArch64/sve-intrinsic-abs-srshl.ll
    M llvm/test/Transforms/InstCombine/AArch64/sve-intrinsic-fmul-idempotency.ll
    M llvm/test/Transforms/InstCombine/AArch64/sve-intrinsic-fmul_u-idempotency.ll
    M llvm/test/Transforms/InstCombine/AArch64/sve-intrinsic-insr.ll
    M llvm/test/Transforms/InstCombine/AArch64/sve-intrinsic-mul-idempotency.ll
    M llvm/test/Transforms/InstCombine/AArch64/sve-intrinsic-mul_u-idempotency.ll
    M llvm/test/Transforms/InstCombine/AArch64/sve-intrinsic-sdiv.ll
    A llvm/test/Transforms/InstCombine/AMDGPU/mfma-scale.ll
    M llvm/test/Transforms/InstCombine/add.ll
    M llvm/test/Transforms/InstCombine/bit_ceil.ll
    M llvm/test/Transforms/InstCombine/bitcast.ll
    M llvm/test/Transforms/InstCombine/div.ll
    M llvm/test/Transforms/InstCombine/exp2-to-ldexp.ll
    M llvm/test/Transforms/InstCombine/extractelement.ll
    M llvm/test/Transforms/InstCombine/fdiv.ll
    M llvm/test/Transforms/InstCombine/fmul.ll
    M llvm/test/Transforms/InstCombine/fneg.ll
    A llvm/test/Transforms/InstCombine/fold-aggregate-reconstruction.ll
    M llvm/test/Transforms/InstCombine/gep-custom-dl.ll
    M llvm/test/Transforms/InstCombine/getelementptr.ll
    M llvm/test/Transforms/InstCombine/icmp-add.ll
    M llvm/test/Transforms/InstCombine/icmp-vec.ll
    M llvm/test/Transforms/InstCombine/intersect-accessgroup.ll
    M llvm/test/Transforms/InstCombine/known-bits.ll
    M llvm/test/Transforms/InstCombine/load-store-forward.ll
    M llvm/test/Transforms/InstCombine/loadstore-metadata.ll
    M llvm/test/Transforms/InstCombine/logical-select.ll
    M llvm/test/Transforms/InstCombine/merging-multiple-stores-into-successor.ll
    M llvm/test/Transforms/InstCombine/phi-aware-aggregate-reconstruction.ll
    M llvm/test/Transforms/InstCombine/pow-to-ldexp.ll
    M llvm/test/Transforms/InstCombine/pr83931.ll
    M llvm/test/Transforms/InstCombine/scalable-const-fp-splat.ll
    M llvm/test/Transforms/InstCombine/scalable-select.ll
    M llvm/test/Transforms/InstCombine/select-binop-cmp.ll
    M llvm/test/Transforms/InstCombine/select-masked_gather.ll
    M llvm/test/Transforms/InstCombine/select-value-equivalence.ll
    M llvm/test/Transforms/InstCombine/select.ll
    M llvm/test/Transforms/InstCombine/shift.ll
    M llvm/test/Transforms/InstCombine/sub.ll
    M llvm/test/Transforms/InstCombine/udiv-simplify.ll
    M llvm/test/Transforms/InstCombine/vec_shuffle-inseltpoison.ll
    M llvm/test/Transforms/InstCombine/vec_shuffle.ll
    M llvm/test/Transforms/InstCombine/vector_insertelt_shuffle.ll
    M llvm/test/Transforms/InstCombine/vscale_cmp.ll
    M llvm/test/Transforms/InstCombine/zext-ctlz-trunc-to-ctlz-add.ll
    M llvm/test/Transforms/InstSimplify/ConstProp/extractelement-vscale.ll
    M llvm/test/Transforms/InstSimplify/ConstProp/vscale-inseltpoison.ll
    M llvm/test/Transforms/InstSimplify/ConstProp/vscale-shufflevector-inseltpoison.ll
    M llvm/test/Transforms/InstSimplify/ConstProp/vscale-shufflevector.ll
    M llvm/test/Transforms/InstSimplify/ConstProp/vscale.ll
    M llvm/test/Transforms/InstSimplify/bitcast-vector-fold.ll
    M llvm/test/Transforms/InstSimplify/cmp-vec-fast-path.ll
    M llvm/test/Transforms/InstSimplify/extract-element.ll
    M llvm/test/Transforms/InstSimplify/fp-nan.ll
    M llvm/test/Transforms/InstSimplify/gep.ll
    M llvm/test/Transforms/InstSimplify/vscale-inseltpoison.ll
    M llvm/test/Transforms/InstSimplify/vscale.ll
    M llvm/test/Transforms/InterleavedAccess/AArch64/scalable-deinterleave-intrinsics.ll
    M llvm/test/Transforms/InterleavedAccess/AArch64/sve-deinterleave4.ll
    M llvm/test/Transforms/InterleavedAccess/AArch64/sve-interleave4.ll
    M llvm/test/Transforms/InterleavedAccess/AArch64/sve-interleaved-accesses.ll
    M llvm/test/Transforms/JumpThreading/thread-loads.ll
    A llvm/test/Transforms/LICM/PR116813-memoryssa-outdated.ll
    M llvm/test/Transforms/LICM/hoist-metadata.ll
    M llvm/test/Transforms/LoopIdiom/RISCV/byte-compare-index.ll
    M llvm/test/Transforms/LoopInterchange/lcssa.ll
    M llvm/test/Transforms/LoopInterchange/pr43176-move-to-new-latch.ll
    M llvm/test/Transforms/LoopInterchange/pr43473-invalid-lcssa-phis-in-inner-exit.ll
    M llvm/test/Transforms/LoopInterchange/pr43797-lcssa-for-multiple-outer-loop-blocks.ll
    M llvm/test/Transforms/LoopInterchange/pr57148.ll
    M llvm/test/Transforms/LoopLoadElim/pr-48150.ll
    M llvm/test/Transforms/LoopLoadElim/pr47457.ll
    M llvm/test/Transforms/LoopPredication/predicate-exits.ll
    M llvm/test/Transforms/LoopRotate/crash.ll
    M llvm/test/Transforms/LoopRotate/multiple-exits.ll
    M llvm/test/Transforms/LoopRotate/pr22337.ll
    M llvm/test/Transforms/LoopRotate/pr33701.ll
    M llvm/test/Transforms/LoopRotate/pr37205.ll
    M llvm/test/Transforms/LoopRotate/preserve-loop-simplify.ll
    M llvm/test/Transforms/LoopRotate/preserve-mssa.ll
    M llvm/test/Transforms/LoopSimplify/2010-07-15-IncorrectDomFrontierUpdate.ll
    M llvm/test/Transforms/LoopSimplify/2010-12-26-PHIInfiniteLoop.ll
    M llvm/test/Transforms/LoopSimplify/dup-preds.ll
    M llvm/test/Transforms/LoopSimplify/indirectbr.ll
    M llvm/test/Transforms/LoopSimplify/notify-scev.ll
    M llvm/test/Transforms/LoopSimplify/pr28272.ll
    M llvm/test/Transforms/LoopSimplify/pr30454.ll
    M llvm/test/Transforms/LoopSimplify/unreachable-loop-pred.ll
    M llvm/test/Transforms/LoopSimplifyCFG/constant-fold-branch.ll
    M llvm/test/Transforms/LoopSimplifyCFG/update_parents.ll
    M llvm/test/Transforms/LoopStrengthReduce/2011-10-14-IntPtr.ll
    M llvm/test/Transforms/LoopStrengthReduce/2011-12-19-PostincQuadratic.ll
    M llvm/test/Transforms/LoopStrengthReduce/2013-01-14-ReuseCast.ll
    M llvm/test/Transforms/LoopStrengthReduce/AArch64/pr47329.ll
    M llvm/test/Transforms/LoopStrengthReduce/AMDGPU/lsr-invalid-ptr-extend.ll
    M llvm/test/Transforms/LoopStrengthReduce/AMDGPU/lsr-void-inseltpoison.ll
    M llvm/test/Transforms/LoopStrengthReduce/AMDGPU/lsr-void.ll
    M llvm/test/Transforms/LoopStrengthReduce/AMDGPU/preserve-addrspace-assert.ll
    M llvm/test/Transforms/LoopStrengthReduce/ARM/addrec-is-loop-invariant.ll
    M llvm/test/Transforms/LoopStrengthReduce/Power/incomplete-phi.ll
    M llvm/test/Transforms/LoopStrengthReduce/X86/2009-11-10-LSRCrash.ll
    M llvm/test/Transforms/LoopStrengthReduce/X86/2011-07-20-DoubleIV.ll
    M llvm/test/Transforms/LoopStrengthReduce/X86/2012-01-13-phielim.ll
    M llvm/test/Transforms/LoopStrengthReduce/X86/no_superflous_induction_vars.ll
    M llvm/test/Transforms/LoopStrengthReduce/X86/pr40514.ll
    M llvm/test/Transforms/LoopStrengthReduce/callbr-critical-edge-splitting.ll
    M llvm/test/Transforms/LoopStrengthReduce/dominate-assert.ll
    M llvm/test/Transforms/LoopStrengthReduce/funclet.ll
    M llvm/test/Transforms/LoopStrengthReduce/hoist-parent-preheader.ll
    M llvm/test/Transforms/LoopStrengthReduce/ivchain.ll
    M llvm/test/Transforms/LoopStrengthReduce/nonintegral.ll
    M llvm/test/Transforms/LoopStrengthReduce/pr12048.ll
    M llvm/test/Transforms/LoopStrengthReduce/pr50765.ll
    M llvm/test/Transforms/LoopStrengthReduce/scaling-factor-incompat-type.ll
    M llvm/test/Transforms/LoopStrengthReduce/scaling_factor_cost_crash.ll
    M llvm/test/Transforms/LoopStrengthReduce/scev-after-loopinstsimplify.ll
    M llvm/test/Transforms/LoopStrengthReduce/scev-expander-lcssa.ll
    M llvm/test/Transforms/LoopStrengthReduce/uglygep-address-space.ll
    M llvm/test/Transforms/LoopStrengthReduce/uglygep.ll
    M llvm/test/Transforms/LoopUnroll/2011-08-08-PhiUpdate.ll
    M llvm/test/Transforms/LoopUnroll/full-unroll-crashers.ll
    M llvm/test/Transforms/LoopUnroll/pr10813.ll
    M llvm/test/Transforms/LoopUnroll/pr14167.ll
    M llvm/test/Transforms/LoopUnroll/pr27157.ll
    M llvm/test/Transforms/LoopUnroll/pr28132.ll
    M llvm/test/Transforms/LoopUnroll/rebuild_lcssa.ll
    M llvm/test/Transforms/LoopUnroll/runtime-loop-multiple-exits.ll
    M llvm/test/Transforms/LoopUnroll/unloop.ll
    M llvm/test/Transforms/LoopVectorize/2012-10-20-infloop.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/clamped-trip-count.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/conditional-branches-cost.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/divs-with-scalable-vfs.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/eliminate-tail-predication.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/first-order-recurrence.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/gather-do-not-vectorize-addressing.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/induction-costs-sve.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/interleaving-load-store.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/interleaving-reduction.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/low_trip_count_predicates.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/masked-call.ll
    A llvm/test/Transforms/LoopVectorize/AArch64/neoverse-epilogue-vect.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/outer_loop_prefer_scalable.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/pr60831-sve-inv-store-crash.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/reduction-recurrence-costs-sve.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/scalable-avoid-scalarization.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/scalable-call.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/scalable-reduction-inloop-cond.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/scalable-strict-fadd.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/scalable-vectorization-cost-tuning.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/store-costs-sve.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/sve-basic-vec.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/sve-cond-inv-loads.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/sve-epilog-vect-vscale-tune.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/sve-epilog-vect.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/sve-gather-scatter.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/sve-inductions-unusual-types.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/sve-interleaved-accesses.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/sve-interleaved-masked-accesses.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/sve-large-strides.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/sve-low-trip-count.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/sve-select-cmp.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/sve-tail-folding-forced.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/sve-tail-folding-optsize.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/sve-tail-folding-overflow-checks.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/sve-tail-folding-reductions.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/sve-tail-folding-unroll.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/sve-tail-folding.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/sve-vector-reverse.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/sve-widen-gep.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/sve-widen-phi.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/sve2-histcnt-epilogue.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/sve2-histcnt-too-many-deps.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/sve2-histcnt.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/tail-folding-styles.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/type-shrinkage-zext-costs.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/veclib-function-calls.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/wider-VF-for-callinst.ll
    M llvm/test/Transforms/LoopVectorize/ARM/mve-icmpcost.ll
    M llvm/test/Transforms/LoopVectorize/RISCV/blend-any-of-reduction-cost.ll
    M llvm/test/Transforms/LoopVectorize/RISCV/blocks-with-dead-instructions.ll
    M llvm/test/Transforms/LoopVectorize/RISCV/dead-ops-cost.ll
    M llvm/test/Transforms/LoopVectorize/RISCV/divrem.ll
    M llvm/test/Transforms/LoopVectorize/RISCV/induction-costs.ll
    M llvm/test/Transforms/LoopVectorize/RISCV/inloop-reduction.ll
    M llvm/test/Transforms/LoopVectorize/RISCV/interleaved-accesses.ll
    M llvm/test/Transforms/LoopVectorize/RISCV/lmul.ll
    M llvm/test/Transforms/LoopVectorize/RISCV/low-trip-count.ll
    M llvm/test/Transforms/LoopVectorize/RISCV/mask-index-type.ll
    M llvm/test/Transforms/LoopVectorize/RISCV/masked_gather_scatter.ll
    M llvm/test/Transforms/LoopVectorize/RISCV/pr87378-vpinstruction-or-drop-poison-generating-flags.ll
    M llvm/test/Transforms/LoopVectorize/RISCV/scalable-basics.ll
    M llvm/test/Transforms/LoopVectorize/RISCV/select-cmp-reduction.ll
    M llvm/test/Transforms/LoopVectorize/RISCV/short-trip-count.ll
    M llvm/test/Transforms/LoopVectorize/RISCV/strided-accesses.ll
    M llvm/test/Transforms/LoopVectorize/RISCV/uniform-load-store.ll
    M llvm/test/Transforms/LoopVectorize/RISCV/vectorize-force-tail-with-evl-bin-unary-ops-args.ll
    M llvm/test/Transforms/LoopVectorize/RISCV/vectorize-force-tail-with-evl-cond-reduction.ll
    M llvm/test/Transforms/LoopVectorize/RISCV/vectorize-force-tail-with-evl-inloop-reduction.ll
    M llvm/test/Transforms/LoopVectorize/RISCV/vectorize-force-tail-with-evl-interleave.ll
    M llvm/test/Transforms/LoopVectorize/RISCV/vectorize-force-tail-with-evl-intermediate-store.ll
    M llvm/test/Transforms/LoopVectorize/RISCV/vectorize-force-tail-with-evl-iv32.ll
    M llvm/test/Transforms/LoopVectorize/RISCV/vectorize-force-tail-with-evl-known-no-overflow.ll
    M llvm/test/Transforms/LoopVectorize/RISCV/vectorize-force-tail-with-evl-masked-loadstore.ll
    M llvm/test/Transforms/LoopVectorize/RISCV/vectorize-force-tail-with-evl-ordered-reduction.ll
    M llvm/test/Transforms/LoopVectorize/RISCV/vectorize-force-tail-with-evl-reduction.ll
    M llvm/test/Transforms/LoopVectorize/RISCV/vectorize-force-tail-with-evl-reverse-load-store.ll
    M llvm/test/Transforms/LoopVectorize/RISCV/vectorize-force-tail-with-evl-safe-dep-distance.ll
    M llvm/test/Transforms/LoopVectorize/RISCV/vectorize-force-tail-with-evl-uniform-store.ll
    M llvm/test/Transforms/LoopVectorize/RISCV/vectorize-vp-intrinsics.ll
    M llvm/test/Transforms/LoopVectorize/X86/consecutive-ptr-cg-bug.ll
    M llvm/test/Transforms/LoopVectorize/X86/pr39160.ll
    M llvm/test/Transforms/LoopVectorize/X86/rauw-bug.ll
    M llvm/test/Transforms/LoopVectorize/X86/reduction-crash.ll
    M llvm/test/Transforms/LoopVectorize/X86/redundant-vf2-cost.ll
    M llvm/test/Transforms/LoopVectorize/if-conv-crash.ll
    M llvm/test/Transforms/LoopVectorize/incorrect-dom-info.ll
    M llvm/test/Transforms/LoopVectorize/nsw-crash.ll
    M llvm/test/Transforms/LoopVectorize/outer_loop_scalable.ll
    M llvm/test/Transforms/LoopVectorize/pr36311.ll
    M llvm/test/Transforms/LoopVectorize/reduction-order.ll
    M llvm/test/Transforms/LoopVectorize/scalable-first-order-recurrence.ll
    M llvm/test/Transforms/LoopVectorize/scalable-inductions.ll
    M llvm/test/Transforms/LoopVectorize/scalable-lifetime.ll
    M llvm/test/Transforms/LoopVectorize/scalable-loop-unpredicated-body-scalar-tail.ll
    M llvm/test/Transforms/LoopVectorize/scalable-reduction-inloop.ll
    R llvm/test/Transforms/LowerConstantIntrinsics/builtin-object-size-range.ll
    M llvm/test/Transforms/LowerConstantIntrinsics/stale-worklist-phi.ll
    M llvm/test/Transforms/LowerSwitch/condition-phi-unreachable-default.ll
    M llvm/test/Transforms/LowerSwitch/do-not-handle-impossible-values.ll
    M llvm/test/Transforms/LowerSwitch/phi-in-dead-block.ll
    M llvm/test/Transforms/MemCpyOpt/vscale-crashes.ll
    M llvm/test/Transforms/NewGVN/tbaa.ll
    M llvm/test/Transforms/PhaseOrdering/X86/preserve-access-group.ll
    M llvm/test/Transforms/PhaseOrdering/X86/unroll-vectorizer.ll
    M llvm/test/Transforms/PhaseOrdering/memcpy-offset.ll
    M llvm/test/Transforms/PhaseOrdering/pr95152.ll
    M llvm/test/Transforms/PreISelIntrinsicLowering/expand-vp-load-store.ll
    M llvm/test/Transforms/SCCP/no-fold-fcmp-dynamic-denormal-mode-issue114947.ll
    A llvm/test/Transforms/SLPVectorizer/RISCV/horizontal-list.ll
    A llvm/test/Transforms/SLPVectorizer/materialize-vector-of-consts.ll
    M llvm/test/Transforms/SLPVectorizer/revec-shufflevector.ll
    M llvm/test/Transforms/VectorCombine/RISCV/vpintrin-scalarization.ll
    M llvm/test/Transforms/VectorCombine/pr88796.ll
    M llvm/test/tools/llvm-mca/AMDGPU/gfx950.s
    M llvm/test/tools/llvm-mca/X86/IceLakeServer/resources-avx1.s
    M llvm/test/tools/llvm-mca/X86/IceLakeServer/resources-avx2.s
    M llvm/test/tools/llvm-mca/X86/IceLakeServer/resources-avx512.s
    M llvm/test/tools/llvm-mca/X86/IceLakeServer/resources-sse41.s
    M llvm/test/tools/llvm-mca/X86/IceLakeServer/resources-ssse3.s
    M llvm/test/tools/llvm-mca/X86/SkylakeClient/resources-avx1.s
    M llvm/test/tools/llvm-mca/X86/SkylakeClient/resources-avx2.s
    M llvm/test/tools/llvm-mca/X86/SkylakeClient/resources-sse41.s
    M llvm/test/tools/llvm-mca/X86/SkylakeClient/resources-ssse3.s
    M llvm/test/tools/llvm-mca/X86/SkylakeServer/resources-avx1.s
    M llvm/test/tools/llvm-mca/X86/SkylakeServer/resources-avx2.s
    M llvm/test/tools/llvm-mca/X86/SkylakeServer/resources-avx512.s
    M llvm/test/tools/llvm-mca/X86/SkylakeServer/resources-sse41.s
    M llvm/test/tools/llvm-mca/X86/SkylakeServer/resources-ssse3.s
    M llvm/test/tools/llvm-objcopy/ELF/Inputs/ihex-elf-segments.yaml
    M llvm/tools/llvm-profdata/llvm-profdata.cpp
    M llvm/unittests/FuzzMutate/OperationsTest.cpp
    M llvm/unittests/ProfileData/InstrProfTest.cpp
    M llvm/unittests/ProfileData/MemProfTest.cpp
    M llvm/unittests/SandboxIR/RegionTest.cpp
    M llvm/unittests/TargetParser/RISCVISAInfoTest.cpp
    M llvm/unittests/Transforms/Instrumentation/MemProfUseTest.cpp
    M llvm/unittests/Transforms/Vectorize/SandboxVectorizer/DependencyGraphTest.cpp
    M llvm/unittests/Transforms/Vectorize/SandboxVectorizer/SeedCollectorTest.cpp
    M llvm/utils/TableGen/InstrDocsEmitter.cpp
    M llvm/utils/TableGen/X86ManualFoldTables.def
    M llvm/utils/TableGen/X86ManualInstrMapping.def
    M llvm/utils/gn/secondary/libcxx/include/BUILD.gn
    M mlir/docs/Bufferization.md
    M mlir/include/mlir-c/IR.h
    M mlir/include/mlir/Dialect/Affine/LoopUtils.h
    M mlir/include/mlir/Dialect/Affine/Passes.h
    M mlir/include/mlir/Dialect/Affine/Passes.td
    M mlir/include/mlir/Dialect/Affine/Transforms/Transforms.h
    M mlir/include/mlir/Dialect/Bufferization/Transforms/Bufferize.h
    M mlir/include/mlir/Dialect/Bufferization/Transforms/Passes.h
    M mlir/include/mlir/Dialect/Bufferization/Transforms/Passes.td
    M mlir/include/mlir/Dialect/Func/Transforms/Passes.h
    M mlir/include/mlir/Dialect/Func/Transforms/Passes.td
    M mlir/include/mlir/Dialect/GPU/IR/CompilationInterfaces.h
    M mlir/include/mlir/Dialect/LLVMIR/NVVMOps.td
    M mlir/include/mlir/Dialect/LLVMIR/ROCDLOps.td
    M mlir/include/mlir/Dialect/Linalg/IR/LinalgStructuredOps.td
    M mlir/include/mlir/Dialect/SPIRV/IR/SPIRVBase.td
    M mlir/include/mlir/Dialect/Vector/IR/VectorOps.td
    M mlir/include/mlir/Target/LLVM/ModuleToObject.h
    M mlir/lib/Bindings/Python/IRCore.cpp
    M mlir/lib/CAPI/IR/IR.cpp
    M mlir/lib/Conversion/GPUToROCDL/LowerGpuOpsToROCDLOps.cpp
    M mlir/lib/Dialect/Affine/IR/AffineOps.cpp
    M mlir/lib/Dialect/Affine/Transforms/AffineExpandIndexOps.cpp
    A mlir/lib/Dialect/Affine/Transforms/AffineExpandIndexOpsAsAffine.cpp
    M mlir/lib/Dialect/Affine/Transforms/CMakeLists.txt
    M mlir/lib/Dialect/Affine/Utils/LoopUtils.cpp
    M mlir/lib/Dialect/Arith/Transforms/CMakeLists.txt
    M mlir/lib/Dialect/Bufferization/Transforms/Bufferize.cpp
    M mlir/lib/Dialect/Func/Transforms/CMakeLists.txt
    R mlir/lib/Dialect/Func/Transforms/FuncBufferize.cpp
    M mlir/lib/Dialect/GPU/IR/GPUDialect.cpp
    M mlir/lib/Dialect/LLVMIR/IR/NVVMDialect.cpp
    M mlir/lib/Dialect/Linalg/IR/LinalgOps.cpp
    M mlir/lib/Dialect/SparseTensor/Pipelines/SparseTensorPipelines.cpp
    M mlir/lib/Dialect/Vector/IR/VectorOps.cpp
    M mlir/lib/Dialect/Vector/Transforms/VectorEmulateNarrowType.cpp
    M mlir/lib/IR/BuiltinAttributes.cpp
    M mlir/lib/IR/BuiltinTypes.cpp
    M mlir/lib/Interfaces/Utils/InferIntRangeCommon.cpp
    M mlir/lib/Target/LLVM/ModuleToObject.cpp
    M mlir/lib/Target/LLVM/NVVM/Target.cpp
    M mlir/lib/Target/LLVMIR/Dialect/NVVM/NVVMToLLVMIRTranslation.cpp
    M mlir/test/Conversion/AffineToStandard/lower-affine.mlir
    M mlir/test/Conversion/GPUToROCDL/gpu-to-rocdl.mlir
    M mlir/test/Conversion/VectorToLLVM/vector-to-llvm.mlir
    A mlir/test/Dialect/Affine/affine-expand-index-ops-as-affine.mlir
    M mlir/test/Dialect/Affine/affine-expand-index-ops.mlir
    M mlir/test/Dialect/Affine/canonicalize.mlir
    M mlir/test/Dialect/Affine/memref-stride-calculation.mlir
    M mlir/test/Dialect/Arith/int-range-interface.mlir
    R mlir/test/Dialect/Bufferization/Transforms/finalizing-bufferize.mlir
    R mlir/test/Dialect/Func/func-bufferize.mlir
    M mlir/test/Dialect/LLVMIR/rocdl.mlir
    M mlir/test/Dialect/MemRef/invalid.mlir
    M mlir/test/Dialect/Transform/test-pass-application.mlir
    M mlir/test/Dialect/Vector/eliminate-masks.mlir
    M mlir/test/Dialect/Vector/invalid.mlir
    M mlir/test/Dialect/Vector/ops.mlir
    M mlir/test/Dialect/Vector/vector-emulate-narrow-type-unaligned.mlir
    M mlir/test/Dialect/Vector/vector-emulate-narrow-type.mlir
    M mlir/test/IR/attribute.mlir
    M mlir/test/IR/invalid-builtin-types.mlir
    M mlir/test/Integration/Dialect/Linalg/CPU/pack-dynamic-inner-tile.mlir
    M mlir/test/Integration/Dialect/MemRef/verify-memref.mlir
    M mlir/test/Target/LLVMIR/llvmir.mlir
    M mlir/test/Target/LLVMIR/nvvmir.mlir
    M mlir/test/Target/LLVMIR/rocdl.mlir
    M mlir/test/python/ir/value.py
    M mlir/unittests/Target/LLVM/SerializeNVVMTarget.cpp
    M mlir/unittests/Target/LLVM/SerializeToLLVMBitcode.cpp
    M openmp/runtime/src/CMakeLists.txt
    M openmp/runtime/tools/message-converter.py
    M utils/bazel/llvm-project-overlay/libc/libc_build_rules.bzl
    M utils/bazel/llvm-project-overlay/mlir/BUILD.bazel

  Log Message:
  -----------
  Address comments

Created using spr 1.3.5


Compare: https://github.com/llvm/llvm-project/compare/fc5c15b467dc...5776f7d70847

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